From ef8fa0f352de807a3e4b68cafa0311fd9d698846 Mon Sep 17 00:00:00 2001
From: Boris Baldassari <boris@chrysalice.org>
Date: Tue, 9 Feb 2021 22:12:13 +0100
Subject: [PATCH] #5 Refactor: delete datasets directory.

Signed-off-by: Boris Baldassari <boris@chrysalice.org>
---
 .../aeri_stacktraces/aeri_stacktraces.html    | 382 -------
 datasets/aeri_stacktraces/aeri_stacktraces.md | 101 --
 .../aeri_stacktraces/incidents_analysis.pdf   | Bin 286793 -> 0 bytes
 .../aeri_stacktraces/incidents_analysis.rmd   | 581 -----------
 .../aeri_stacktraces/problems_analysis.html   | 632 ------------
 .../aeri_stacktraces/problems_analysis.pdf    | Bin 1135404 -> 0 bytes
 .../aeri_stacktraces/problems_analysis.rmd    | 571 -----------
 .../aeri_stacktraces/scava_aeri_readme.html   | 289 ------
 .../aeri_stacktraces/scava_aeri_readme.md     |  22 -
 datasets/eclipse_mls/eclipse_mls.html         | 714 -------------
 datasets/eclipse_mls/eclipse_mls.md           | 440 --------
 datasets/eclipse_mls/mbox_csv_analysis.html   | 828 ----------------
 datasets/eclipse_mls/mbox_csv_analysis.rmd    | 310 ------
 datasets/projects/eclipse_projects.html       | 938 ------------------
 datasets/projects/eclipse_projects.md         | 592 -----------
 15 files changed, 6400 deletions(-)
 delete mode 100644 datasets/aeri_stacktraces/aeri_stacktraces.html
 delete mode 100644 datasets/aeri_stacktraces/aeri_stacktraces.md
 delete mode 100644 datasets/aeri_stacktraces/incidents_analysis.pdf
 delete mode 100644 datasets/aeri_stacktraces/incidents_analysis.rmd
 delete mode 100755 datasets/aeri_stacktraces/problems_analysis.html
 delete mode 100644 datasets/aeri_stacktraces/problems_analysis.pdf
 delete mode 100644 datasets/aeri_stacktraces/problems_analysis.rmd
 delete mode 100644 datasets/aeri_stacktraces/scava_aeri_readme.html
 delete mode 100644 datasets/aeri_stacktraces/scava_aeri_readme.md
 delete mode 100644 datasets/eclipse_mls/eclipse_mls.html
 delete mode 100644 datasets/eclipse_mls/eclipse_mls.md
 delete mode 100644 datasets/eclipse_mls/mbox_csv_analysis.html
 delete mode 100644 datasets/eclipse_mls/mbox_csv_analysis.rmd
 delete mode 100644 datasets/projects/eclipse_projects.html
 delete mode 100644 datasets/projects/eclipse_projects.md

diff --git a/datasets/aeri_stacktraces/aeri_stacktraces.html b/datasets/aeri_stacktraces/aeri_stacktraces.html
deleted file mode 100644
index 44fb46b..0000000
--- a/datasets/aeri_stacktraces/aeri_stacktraces.html
+++ /dev/null
@@ -1,382 +0,0 @@
-<!DOCTYPE html><html><head>
-      <title>aeri_stacktraces</title>
-      <meta charset="utf-8">
-      <meta name="viewport" content="width=device-width, initial-scale=1.0">
-      
-      <link rel="stylesheet" href="file:////home/boris/.atom/packages/markdown-preview-enhanced/node_modules/@shd101wyy/mume/dependencies/katex/katex.min.css">
-      
-      
-      
-      
-      
-      
-      
-      
-      
-
-      <style> 
-      /**
- * prism.js Github theme based on GitHub's theme.
- * @author Sam Clarke
- */
-code[class*="language-"],
-pre[class*="language-"] {
-  color: #333;
-  background: none;
-  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
-  text-align: left;
-  white-space: pre;
-  word-spacing: normal;
-  word-break: normal;
-  word-wrap: normal;
-  line-height: 1.4;
-
-  -moz-tab-size: 8;
-  -o-tab-size: 8;
-  tab-size: 8;
-
-  -webkit-hyphens: none;
-  -moz-hyphens: none;
-  -ms-hyphens: none;
-  hyphens: none;
-}
-
-/* Code blocks */
-pre[class*="language-"] {
-  padding: .8em;
-  overflow: auto;
-  /* border: 1px solid #ddd; */
-  border-radius: 3px;
-  /* background: #fff; */
-  background: #f5f5f5;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
-  padding: .1em;
-  border-radius: .3em;
-  white-space: normal;
-  background: #f5f5f5;
-}
-
-.token.comment,
-.token.blockquote {
-  color: #969896;
-}
-
-.token.cdata {
-  color: #183691;
-}
-
-.token.doctype,
-.token.punctuation,
-.token.variable,
-.token.macro.property {
-  color: #333;
-}
-
-.token.operator,
-.token.important,
-.token.keyword,
-.token.rule,
-.token.builtin {
-  color: #a71d5d;
-}
-
-.token.string,
-.token.url,
-.token.regex,
-.token.attr-value {
-  color: #183691;
-}
-
-.token.property,
-.token.number,
-.token.boolean,
-.token.entity,
-.token.atrule,
-.token.constant,
-.token.symbol,
-.token.command,
-.token.code {
-  color: #0086b3;
-}
-
-.token.tag,
-.token.selector,
-.token.prolog {
-  color: #63a35c;
-}
-
-.token.function,
-.token.namespace,
-.token.pseudo-element,
-.token.class,
-.token.class-name,
-.token.pseudo-class,
-.token.id,
-.token.url-reference .token.variable,
-.token.attr-name {
-  color: #795da3;
-}
-
-.token.entity {
-  cursor: help;
-}
-
-.token.title,
-.token.title .token.punctuation {
-  font-weight: bold;
-  color: #1d3e81;
-}
-
-.token.list {
-  color: #ed6a43;
-}
-
-.token.inserted {
-  background-color: #eaffea;
-  color: #55a532;
-}
-
-.token.deleted {
-  background-color: #ffecec;
-  color: #bd2c00;
-}
-
-.token.bold {
-  font-weight: bold;
-}
-
-.token.italic {
-  font-style: italic;
-}
-
-
-/* JSON */
-.language-json .token.property {
-  color: #183691;
-}
-
-.language-markup .token.tag .token.punctuation {
-  color: #333;
-}
-
-/* CSS */
-code.language-css,
-.language-css .token.function {
-  color: #0086b3;
-}
-
-/* YAML */
-.language-yaml .token.atrule {
-  color: #63a35c;
-}
-
-code.language-yaml {
-  color: #183691;
-}
-
-/* Ruby */
-.language-ruby .token.function {
-  color: #333;
-}
-
-/* Markdown */
-.language-markdown .token.url {
-  color: #795da3;
-}
-
-/* Makefile */
-.language-makefile .token.symbol {
-  color: #795da3;
-}
-
-.language-makefile .token.variable {
-  color: #183691;
-}
-
-.language-makefile .token.builtin {
-  color: #0086b3;
-}
-
-/* Bash */
-.language-bash .token.keyword {
-  color: #0086b3;
-}
-
-/* highlight */
-pre[data-line] {
-  position: relative;
-  padding: 1em 0 1em 3em;
-}
-pre[data-line] .line-highlight-wrapper {
-  position: absolute;
-  top: 0;
-  left: 0;
-  background-color: transparent;
-  display: block;
-  width: 100%;
-}
-
-pre[data-line] .line-highlight {
-  position: absolute;
-  left: 0;
-  right: 0;
-  padding: inherit 0;
-  margin-top: 1em;
-  background: hsla(24, 20%, 50%,.08);
-  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
-  pointer-events: none;
-  line-height: inherit;
-  white-space: pre;
-}
-
-pre[data-line] .line-highlight:before, 
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-start);
-  position: absolute;
-  top: .4em;
-  left: .6em;
-  min-width: 1em;
-  padding: 0 .5em;
-  background-color: hsla(24, 20%, 50%,.4);
-  color: hsl(24, 20%, 95%);
-  font: bold 65%/1.5 sans-serif;
-  text-align: center;
-  vertical-align: .3em;
-  border-radius: 999px;
-  text-shadow: none;
-  box-shadow: 0 1px white;
-}
-
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-end);
-  top: auto;
-  bottom: .4em;
-}html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
-/* Please visit the URL below for more information: */
-/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
- 
-      </style>
-    </head>
-    <body for="html-export">
-      <div class="mume markdown-preview   ">
-      <h1 class="mume-header" id="the-aeri-stacktraces-dataset">The AERI Stacktraces dataset</h1>
-
-<h2 class="mume-header" id="presentation">Presentation</h2>
-
-<p>The <a href="https://wiki.eclipse.org/EPP/Logging">Automated Error Reporting</a> (AERI) system retrieves <a href="https://www.codetrails.com/error-analytics/manual/">information about exceptions</a>. It is installed by default in the <a href="http://www.eclipse.org/ide/">Eclipse IDE</a> and has helped hundreds of projects better support their users and resolve bugs.</p>
-<p>This dataset is a dump of all records over a couple of years, with useful information about the exceptions and environment. It is composed of:</p>
-<ul>
-<li><strong>Incidents</strong> When an exception occurs and is trapped by the AERI system, it constitutes an incident (or error report). An incident can be reported by several different people, can be reported multiple times, and can be linked to different environments.</li>
-<li><strong>Problems</strong> As soon as an error report arrives on the server, it will be analyzed and subsequently assigned to one or more problems. A problem thus represents a set of (similar) error reports which usually have the same root cause &#x2013; for example a bug in your software. (Extract from the <a href="https://www.codetrails.com/error-analytics/manual/concepts/error-reports-problems-bugs-projects.html">AERI system documentation</a>)</li>
-</ul>
-<p>This dataset is published under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-Attribution-Share Alike 4.0 (International) licence</a>.</p>
-<h2 class="mume-header" id="downloads">Downloads</h2>
-
-<ul>
-<li><strong>Problems full</strong> [ <a href="problems_full.tar.bz2">Download JSON</a> ] -- A list of all problems, exported as JSON (one problem per file).
-<ul>
-<li>Content: 125250 entries, 22 attributes</li>
-<li>Size: 38M compressed, 904M raw</li>
-</ul>
-</li>
-<li><strong>Problems extract</strong> [ <a href="problems_extract.csv.bz2">Download CSV</a> ] -- A list of all problems, exported as CSV (one big file).
-<ul>
-<li>Content: 125250 entries, 22 attributes</li>
-<li>Size: 1.5M compressed, 14M raw</li>
-</ul>
-</li>
-<li><strong>Incidents full</strong> [ <a href="incidents_full.tar.bz2">Download JSON</a> ] -- A list of all incidents, exported as JSON (one incident per file).
-<ul>
-<li>Content: 2084363 entries, 22 attributes</li>
-<li>Size: 820M compressed, 19G raw</li>
-</ul>
-</li>
-<li><strong>Incidents extract</strong> [ <a href="incidents_extract.csv.bz2">Download CSV</a> ] -- A list of all incidents, exported as CSV (one big file).
-<ul>
-<li>Content: 2084045 entries, 20 attributes</li>
-<li>Size: 141M compressed, 778M raw</li>
-</ul>
-</li>
-<li><strong>Incidents Bundles</strong> [ <a href="incidents_bundles_extract.csv.bz2">Download CSV</a> ] -- A list of all bundles found in incidents, exported as CSV. Attributes are bundle_name, bundle_version, and number of occurrences.
-<ul>
-<li>Content: 29709 entries, 3 attributes</li>
-<li>Size: 220K compressed, 1.5M raw</li>
-</ul>
-</li>
-</ul>
-<p><strong>Documentation</strong></p>
-<ul>
-<li><strong>Stacktraces Problems analysis document</strong> [ <a href="problems_analysis.pdf">Download PDF</a> | <a href="problems_analysis.rmd">Download Rmd</a> ] -- A R Markdown document to analyse the Stacktraces problem dataset, with description of the actual content and examples of usage.</li>
-<li><strong>Stacktraces Incidents analysis document</strong> [ <a href="incidents_analysis.pdf">Download PDF</a> | <a href="incidents_analysis.rmd">Download Rmd</a> ] -- A R Markdown document to analyse the Stacktraces incidents dataset, with description of the actual content and examples of usage.</li>
-</ul>
-<p>More information about the AERI system can be found on the <a href="https://www.codetrails.com/error-analytics/manual/">Code Trails website</a>.</p>
-<h2 class="mume-header" id="privacy-concerns">Privacy concerns</h2>
-
-<p>The result contains no email address, user id or machine id. Rather than removing the information (we are not sure that we remove all required information) we decided to simply pick relevant information from the file and push it into the output.</p>
-<p>End users have an option to keep their own class names private. We have presently no simple means to know what stacktraces in the database extraction should be kept private, so we decided to play it safe and hide class names whose packages don&apos;t start with known prefixes [1]. All private classnames have been replaced by the HIDDEN keyword.</p>
-<p>[1] <code>&quot;ch.qos.*&quot;, &quot;com.cforcoding.*&quot;, &quot;com.google.*&quot;, &quot;com.gradleware.tooling.*&quot;, &quot;com.mountainminds.eclemma.*&quot;, &quot;com.naef.*&quot;, &quot;com.sun.*&quot;, &quot;java.*&quot;, &quot;javafx.*&quot;, &quot;javax.*&quot;, &quot;org.apache.*&quot;, &quot;org.eclipse.*&quot;, &quot;org.fordiac.*&quot;, &quot;org.gradle.*&quot;, &quot;org.jacoco.*&quot;, &quot;org.osgi.*&quot;, &quot;org.slf4j.*&quot;, &quot;sun.*&quot;</code></p>
-<h2 class="mume-header" id="format-problems">Format: problems</h2>
-
-<pre class="language-text">{
-  &quot;summary&quot;: &quot;&quot;,
-  &quot;osgiArch&quot;: &quot;&quot;,
-  &quot;osgiOs&quot;: &quot;&quot;,
-  &quot;osgiOsVersion&quot;: &quot;&quot;,
-  &quot;osgiWs&quot;: &quot;&quot;,
-  &quot;eclipseBuildId&quot;: &quot;&quot;,
-  &quot;eclipseProduct&quot;: &quot;&quot;,
-  &quot;javaRuntimeVersion&quot;: &quot;&quot;,
-  &quot;numberOfIncidents&quot;: 0,
-  &quot;numberOfReporters&quot;: 74,
-  &quot;stacktraces&quot;: [
-    [ &quot;stacktrace for incident&quot; ],
-    [ &quot;stacktrace for cause&quot; ],
-    [ &quot;stacktrace for exception&quot; ]
-  ]
-}
-</pre>
-<h2 class="mume-header" id="format-incidents">Format: incidents</h2>
-
-<pre class="language-text">{
-  &quot;eclipseBuildId&quot;:&quot;4.6.1.M20160907-1200&quot;,
-  &quot;eclipseProduct&quot;:&quot;org.eclipse.epp.package.jee.product&quot;,
-  &quot;javaRuntimeVersion&quot;:&quot;1.8.0_112-b15&quot;,
-  &quot;osgiArch&quot;:&quot;x86_64&quot;,
-  &quot;osgiOs&quot;:&quot;Windows7&quot;,
-  &quot;osgiOsVersion&quot;:&quot;6.1.0&quot;,
-  &quot;osgiWs&quot;:&quot;win32&quot;,
-  &quot;stacktraces&quot;:[
-    [ &quot;stacktrace&quot; ]
-  ],
-  &quot;summary&quot;: &quot;Failed to retrieve default libraries for jre1.8.0_111&quot;
-}
-</pre>
-<h2 class="mume-header" id="format-stacktraces">Format: Stacktraces</h2>
-
-<p>The structure used in the mongodb for stacktraces has been kept as is: it is composed of fields with all information relevant to each line of the stacktrace. Each stacktrace is an array of objects as shown below:</p>
-<pre class="language-text">[
-  {
-    &quot;cN&quot;: &quot;sun.net.www.http.HttpClient&quot;,
-    &quot;mN&quot;: &quot;parseHTTPHeader&quot;,
-    &quot;fN&quot;: &quot;HttpClient.java&quot;,
-    &quot;lN&quot;: 786,
-  }
-]
-</pre>
-
-      </div>
-      
-      
-    
-    
-    
-    
-    
-    
-    
-    
-  
-    </body></html>
\ No newline at end of file
diff --git a/datasets/aeri_stacktraces/aeri_stacktraces.md b/datasets/aeri_stacktraces/aeri_stacktraces.md
deleted file mode 100644
index 261a15f..0000000
--- a/datasets/aeri_stacktraces/aeri_stacktraces.md
+++ /dev/null
@@ -1,101 +0,0 @@
-
-# The AERI Stacktraces dataset
-
-## Presentation
-
-The [Automated Error Reporting](https://wiki.eclipse.org/EPP/Logging) (AERI) system retrieves [information about exceptions](https://www.codetrails.com/error-analytics/manual/). It is installed by default in the [Eclipse IDE](http://www.eclipse.org/ide/) and has helped hundreds of projects better support their users and resolve bugs.  
-
-This dataset is a dump of all records over a couple of years, with useful information about the exceptions and environment. It is composed of:
-
-* **Incidents** When an exception occurs and is trapped by the AERI system, it constitutes an incident (or error report). An incident can be reported by several different people, can be reported multiple times, and can be linked to different environments.
-* **Problems** As soon as an error report arrives on the server, it will be analyzed and subsequently assigned to one or more problems. A problem thus represents a set of (similar) error reports which usually have the same root cause – for example a bug in your software. (Extract from the [AERI system documentation](https://www.codetrails.com/error-analytics/manual/concepts/error-reports-problems-bugs-projects.html))
-
-This dataset is published under the [Creative Commons BY-Attribution-Share Alike 4.0 (International) licence](https://creativecommons.org/licenses/by-sa/4.0/).
-
-
-## Downloads
-
-* **Problems full** [ [Download JSON](problems_full.tar.bz2) ] -- A list of all problems, exported as JSON (one problem per file).
-    * Content: 125250 entries, 22 attributes
-    * Size: 38M compressed, 904M raw
-* **Problems extract** [ [Download CSV](problems_extract.csv.bz2) ] -- A list of all problems, exported as CSV (one big file).
-    * Content: 125250 entries, 22 attributes
-    * Size: 1.5M compressed, 14M raw
-* **Incidents full** [ [Download JSON](incidents_full.tar.bz2) ] -- A list of all incidents, exported as JSON (one incident per file).
-    * Content: 2084363 entries, 22 attributes
-    * Size: 820M compressed, 19G raw
-* **Incidents extract** [ [Download CSV](incidents_extract.csv.bz2) ] -- A list of all incidents, exported as CSV (one big file).
-    * Content: 2084045 entries, 20 attributes
-    * Size: 141M compressed, 778M raw
-* **Incidents Bundles** [ [Download CSV](incidents_bundles_extract.csv.bz2) ] -- A list of all bundles found in incidents, exported as CSV. Attributes are bundle_name, bundle_version, and number of occurrences.
-    * Content: 29709 entries, 3 attributes
-    * Size: 220K compressed, 1.5M raw
-
-**Documentation**
-
-* **Stacktraces Problems analysis document** [ [Download PDF](problems_analysis.pdf) | [Download Rmd](problems_analysis.rmd) ] -- A R Markdown document to analyse the Stacktraces problem dataset, with description of the actual content and examples of usage.
-* **Stacktraces Incidents analysis document** [ [Download PDF](incidents_analysis.pdf) | [Download Rmd](incidents_analysis.rmd) ] -- A R Markdown document to analyse the Stacktraces incidents dataset, with description of the actual content and examples of usage.
-
-More information about the AERI system can be found on the [Code Trails website](https://www.codetrails.com/error-analytics/manual/).
-
-
-
-## Privacy concerns
-
-The result contains no email address, user id or machine id. Rather than removing the information (we are not sure that we remove all required information) we decided to simply pick relevant information from the file and push it into the output.
-
-End users have an option to keep their own class names private. We have presently no simple means to know what stacktraces in the database extraction should be kept private, so we decided to play it safe and hide class names whose packages don't start with known prefixes [1]. All private classnames have been replaced by the HIDDEN keyword.
-
-[1] `"ch.qos.*", "com.cforcoding.*", "com.google.*", "com.gradleware.tooling.*", "com.mountainminds.eclemma.*", "com.naef.*", "com.sun.*", "java.*", "javafx.*", "javax.*", "org.apache.*", "org.eclipse.*", "org.fordiac.*", "org.gradle.*", "org.jacoco.*", "org.osgi.*", "org.slf4j.*", "sun.*" `
-
-
-## Format: problems
-
-    {
-      "summary": "",
-      "osgiArch": "",
-      "osgiOs": "",
-      "osgiOsVersion": "",
-      "osgiWs": "",
-      "eclipseBuildId": "",
-      "eclipseProduct": "",
-      "javaRuntimeVersion": "",
-      "numberOfIncidents": 0,
-      "numberOfReporters": 74,
-      "stacktraces": [
-        [ "stacktrace for incident" ],
-        [ "stacktrace for cause" ],
-        [ "stacktrace for exception" ]
-      ]
-    }
-
-
-## Format: incidents
-
-    {
-      "eclipseBuildId":"4.6.1.M20160907-1200",
-      "eclipseProduct":"org.eclipse.epp.package.jee.product",
-      "javaRuntimeVersion":"1.8.0_112-b15",
-      "osgiArch":"x86_64",
-      "osgiOs":"Windows7",
-      "osgiOsVersion":"6.1.0",
-      "osgiWs":"win32",
-      "stacktraces":[
-        [ "stacktrace" ]
-      ],
-      "summary": "Failed to retrieve default libraries for jre1.8.0_111"
-    }
-
-
-## Format: Stacktraces
-
-The structure used in the mongodb for stacktraces has been kept as is: it is composed of fields with all information relevant to each line of the stacktrace. Each stacktrace is an array of objects as shown below:
-
-    [
-      {
-        "cN": "sun.net.www.http.HttpClient",
-        "mN": "parseHTTPHeader",
-        "fN": "HttpClient.java",
-        "lN": 786,
-      }
-    ]
diff --git a/datasets/aeri_stacktraces/incidents_analysis.pdf b/datasets/aeri_stacktraces/incidents_analysis.pdf
deleted file mode 100644
index bea9ad3fbe30bca218c62c3426b7f162e7b890ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 286793
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%0Dwg@3PZQ5CC`$8=mu^DY!4%rmweQ;I?h1s*Mw{
zDgC)dJcEi3yjaN6D~=|zqAbymbq_%TRrjk6e7^QEP7y1g%gAu;_FrXti!wD_Lt5~<
z9?#hl<d}#G%c?_cUv_dm)WZjs_lDmxSR$#gk`W!Jy<^Y^7v>sur|$uqG-J{!7e=E0
zmcDd|I6xHdBx5B`=)1i{>Di<4D|3vKnK;%SM@8bxv$myh;K7$zDjRB^+T0lR#LX4f
zPZ;E0Tz-{~<tpvssWZ#A6nd_mKAi;#G;*HKN)H@Zoz@l^8|-z)@aq>t`E@*n`z{E9
zuX45FhoHg~CS{odsL1G5SmC%2v(keP?<?IF&i48Kp~3tnhp+NxE@62){S3MR9s#u*
zEltl1W$e&}3^xXw{WVMvJbL8DuD_N2Hzr4n71$y9Yq(#CXT#{evIwabNu#G@2p$t$
zH|fZuRTf9%1&%$TD@}X5?XWPRwYP_M{WH&uePDv7uz?h~gGKLx4sDgRdhi3JF%VAv
z=U9rrXXU^C7!Obb7E)5&_*Eq~o&YEMM|<O0;~-!ooI9+^a+0CDo`ds3q^WTG^H$~=
zl?}o27`Wg>jECLi)mu9f0Jg6;=E;GI_E~&$5R@wm!I%MKJJ`FyCrr`<^&RJx&`dPz
zJ66JPp_?;yFr`1>58;@jTdByg2*Q(t&Av`Ol~0x@<!F+>EQUPE5>`OM$r5WpJQ+su
z(a1a=j<Sh1OIdUx5d(SH9ELje5Gq@v_V?-c-;#Y;th}b`=t+)RQe(({ek}#m@F#G*
z=wWhOgfhyZtayXruB3_L-PCC;*_5!Wy9+E9<qtvsvN06fxh<(+P7q=DVY*&W-L<U9
zd%34=ti{@e_#^E;OfhRF_?ppm+2DTRDPS|_eBqlg%oYvBg4Ik94-;wob6QQ0bD`U;
zOg74a?<NoG@#?(9NF+yCVPLujw5eip7euC`y~~4L{)DQ*h4$rAM@TK%bv_KEXOg^<
z<wD(dF4@jpOLBr~${-<`R>3Azu%0DeH-5KbGiQJriZF2RdY35OF8P-Novx+Rt;mex
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%0AO*t#|=LIw+OL8V}p
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

diff --git a/datasets/aeri_stacktraces/incidents_analysis.rmd b/datasets/aeri_stacktraces/incidents_analysis.rmd
deleted file mode 100644
index c08e3fc..0000000
--- a/datasets/aeri_stacktraces/incidents_analysis.rmd
+++ /dev/null
@@ -1,581 +0,0 @@
----
-title: "StackTraces -- Incidents"
-subtitle: "R Analysis document"
-author: "Boris Baldassari -- Castalia Solutions"
-output:
-  pdf_document:
-    toc: yes
-    toc_depth: 3
-    keep_tex: true
-    extra_dependencies:
-      - grffile
-  html_document:
-    toc: yes
-    toc_depth: 2
-  word_document:
-    toc: yes
-    toc_depth: '2'
----
-
-```{r init, message=FALSE, echo=FALSE, cache=FALSE}
-library(ggplot2)
-library(ggthemes)
-library(knitr)
-
-library(kableExtra)
-options(knitr.table.format = "latex")
-
-library(parsedate)
-library(magrittr)
-
-require(xts)
-```
-
-```{r init.read, message=FALSE, echo=FALSE, cache=TRUE}
-# Read csv file
-file.in <- "incidents_extract.csv"
-myincidents <- read.csv(file.in, header=T, quote='"')
-file.in.bundles <- "incidents_bundles_extract.csv"
-mybundles <- read.csv(file.in.bundles, header=T, quote='"')
-
-# Create xts object
-myincidents <- myincidents[myincidents$timestamp != '',]
-myincidents <- myincidents[myincidents$savedOn != '',]
-myp.xts <- xts(x = myincidents, order.by = parse_iso_8601(myincidents$timestamp))
-```
-
-# Introduction
-
-## About this dataset
-
-The [Automated Error Reporting](https://wiki.eclipse.org/EPP/Logging) (AERI) system retrieves [information about exceptions](https://www.codetrails.com/error-analytics/manual/). It is installed by default in the [Eclipse IDE](http://www.eclipse.org/ide/) and has helped hundreds of projects better support their users and resolve bugs.  
-
-This dataset is a dump of all records over a couple of years, with useful information about the exceptions and environment.
-
-* **Generated date**: `r date()`
-* **First date**: `r first(index(myp.xts))`
-* **Last date**: `r last(index(myp.xts))`
-* **Number of incidents**: `r nrow(myp.xts)`
-* **Number of attributes**: `r ncol(myp.xts)`
-
-## Terminology
-
-* **Incidents** When an exception occurs and is trapped by the AERI system, it constitutes an incident (or error report). An incident can be reported by several different people, can be reported multiple times, and can be linked to different environments.
-* **Problems** As soon as an error report arrives on the server, it will be analyzed and subsequently assigned to one or more problems. A problem thus represents a set of (similar) error reports which usually have the same root cause – for example a bug in your software. (Extract from the [AERI system documentation](https://www.codetrails.com/error-analytics/manual/concepts/error-reports-problems-bugs-projects.html))
-
-This dataset targets only the Incidents of the AERI dataset. There is another dedicated document for the Problems.
-
-## Privacy concerns
-
-We value privacy and intend to make everything we can to prevent misuse of the dataset. If you think we failed somewhere in the process, please [let us know](https://www.crossminer.org/contact) so we can do better.
-
-The AERI system itself doesn't gather much private information, and takes a great care of it. Ths dataset goes a step further and removes all identifiable information. 
-
-* There is **no email address** in this dataset, **nor any UUID**. 
-* People not willing to share their traces to the AERI system can tick the private option. This choice has been respected, and all classes that do not belong to public hierarchy have been hidden thanks to an anonymisation mechanism.
-
-The anonymisation technique used basically encrypts information and then throws away the private key. Please refer to the [documentation published on github](https://github.com/borisbaldassari/data-anonymiser) for more details.
-
-
-## About this document
-
-This document is a [R Markdown document](http://rmarkdown.rstudio.com) and is composed of both text (like this one) and dynamically computed information (mostly in the Anaysis section below) executed on the data itself. This ensures that the information is always synchronised with the data, and serves as a test suite for the dataset.
-
-
-# Structure of data
-
-The plugin collects a [lot of useful information](https://www.codetrails.com/error-analytics/manual/misc/sent-data.html). We only use a subset of it, as required by research interest and privacy protection concerns. 
-
-The Incidents dataset comes in two flavours: `All incidents`, in JSON format, and `incidents extract`, in CSV format. There is also a list of bundles discovered in the data dump with their version and number of attached incidents.
-
-
-## All incidents (JSON)
-
-**All incidents** is the most complete dataset, with all attributes, stacktraces and bundles. Since the stacktraces and bundles structures are too complex for CSV, only the JSON export contains them. The dataset comes as a quite large compressed archive, with one JSON file per incident This represents a total of `r nrow(myincidents)` files (incidents).
-
-
-The structure of an incident file is examplified below: 
-
-    {
-      "eclipseBuildId": "4.6.1.M20160907-1200",
-      "eclipseProduct": "org.eclipse.epp.package.jee.product",
-      "fingerprint": "cd03d068798d141412b1d1605892fbec",
-      "fingerprint2": "12166d864efb7adcccc187034deb7dbf",
-      "javaRuntimeVersion": "1.8.0_112-b15",
-      "kind": "NORMAL",
-      "osgiArch": "x86_64",
-      "osgiOs": "Windows7",
-      "osgiOsVersion": "6.1.0",
-      "osgiWs": "win32",
-      "presentBundles": [
-        [ "bundle" ]
-      ],
-      "savedOn": "2016-11-08T10:23:01.914Z",
-      "severity": "UNKNOWN",
-      "stacktraces": [
-        [ "stacktrace" ]
-      ],
-      "status": {
-        "code": 0,
-        "fingerprint": "98631af2ddb2d197ebdca532f19d082b",
-        "message": "Failed to retrieve default libraries for C:\\Program Files\\Java\\jre1.8.0_111",
-        "pluginId": "org.eclipse.jdt.launching",
-        "pluginVersion": "3.8.100.v20160505-0636",
-        "severity": 4
-      },
-      "timestamp": "2016-11-08T10:22:59.204Z"
-    }
-    
-The structure used in the mongodb for stacktraces has been kept as is: it is composed of fields with all information relevant to each line of the stacktrace. Each stacktrace is an array of objects as shown below:
-
-    [
-      {
-        "cN": "sun.net.www.http.HttpClient",
-        "mN": "parseHTTPHeader",
-        "fN": "HttpClient.java",
-        "lN": 786,
-      }
-    ]
-
-Bundles have the following format:
-
-    {
-      "name": "org.eclipse.egit.core",
-      "version": "4.1.1.201511131810-r"
-    }
-
-
-## Incidents extract (CSV)
-
-The **Incidents extract** CSV dataset provides the same information as the full JSON dataset, excluding complex structures that cannot be easily formatted in CSV: stacktraces, bundles, products.
-
-Attributes are: ``r names(myincidents)``.
-
-Examples are provided at the end of this file to demonstrate how to use it in R.
-
-
-## Bundles extract (CSV)
-
-The **Bundles extract** CSV dataset lists the Eclipse bundles and versions associated to incidents, with the number of incidents for each pair. 
-
-```{r bundles.table, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-#library(DT)
-#datatable(mybundles[seq(1,10),], options=list(paging=F))
-kable(mybundles[seq(1,30),])
-```
-
-# Attributes
-
-## Message
-
-* Description: A short text summarising the error.
-* Type: String
-
-## Code
-
-* Description: The numeric status code logged with the error.
-* Type: Integer
-
-```{r attr.code.init, warning=FALSE, echo=FALSE, cache=TRUE}
-mysum <- summary(myincidents$code)
-```
-
-Statistical summary:
-
-* Range [ `r format(mysum[[1]], scientific = FALSE)` : `r format(mysum[[6]], scientific = FALSE)` ]
-* 1st Quartile `r mysum[[2]]`
-* Median `r mysum[[3]]`
-* Mean `r format(mysum[[4]], scientific = FALSE)`
-* 3rd Quartile `r format(mysum[[5]], scientific = FALSE)`
-
-## Severity
-
-* Description: An estimate by the user reporting the error about its perceived severity.
-* Type: Factors
-
-```{r attr.severity.init, warning=FALSE, echo=FALSE, cache=TRUE}
-mysum <- summary(myincidents$severity)
-```
-
-Distribution:
-
-* CRITICAL `r mysum[[c('CRITICAL')]]`
-* MAJOR `r mysum[[c('MAJOR')]]`
-* MINOR `r mysum[[c('MINOR')]]`
-* NO_BUG `r mysum[[c('NO_BUG')]]`
-* TRIVIAL `r mysum[[c('TRIVIAL')]]`
-* UNKNOWN `r mysum[[c('UNKNOWN')]]`
-
-
-## Kind {#attr_kind}
-
-* Description: The type of error recorded, as identified by the AERI system.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.kind, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-kinds <- table(myincidents$kind)
-kinds <- kinds[kinds != 0]
-kinds <- kinds[order(kinds, decreasing = TRUE)]
-t <- lapply(names(kinds), function(x) paste('* ', x, ' (count: ', kinds[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-**Notes**
-
-There are different kinds of incidents described in the [official documentation](https://www.codetrails.com/error-analytics/manual/concepts/incident-kinds.html):
-
-* Normal Error: Normal errors are all exceptions that were reported by a client but that are not of kind defined below. Common examples of a normal error are a `NullPointerException` or `IllegalArgumentException`.
-  - An `OutOfMemoryError` is a special kind of exception. Unlike for normal errors, the stack frame (implicitly) throwing the exception is only sometimes indicative of the root cause of the problem.
-  - A `StackOverflowError` is a special kind of exception, whose unique characteristic is a repeating pattern of stack frames near the top of the stack trace.
-* UI Freeze: A UI freeze is caused by a long-running operation or even a deadlock on the UI thread. 
-* Third-Party Error: Third-party errors are reports that were received by the Codetrails Error Analytics Server, which deemed neither the configured projects nor their dependencies at fault. 
-* Third-Party UI Freeze: Third-Party UI Freezes are UI freezes that were received by the Codetrails Error Analytics Server, which deemed neither the configured projects nor their dependencies at fault. 
-
-## Plugin ID {#attr_plugin_id}
-
-* Description: The ID of the Eclipse plugin that threw the exception.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.plugin.id, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-occurences.max.pi <- 500
-pis <- data.frame(table(myincidents$pluginId))
-pis <- pis[order(-pis$Freq),]
-pis.top <- pis[pis[,c('Freq')] >= occurences.max.pi,]
-t <- lapply(pis.top$Var1, function(x) paste('* ', x, ' (count: ', pis.top[pis.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the most used Eclipse Build IDs in the dataset:
-
-```{r attr.plugin.id.plot, echo=FALSE, cache=TRUE}
-ggplot(pis.top[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("Plugin IDs") + ggtitle("Repartition of most impacted plugin IDs in dataset")
-```
-
-
-## Plugin version {#attr_plugin_version}
-
-* Description: The ID of the Eclipse plugin that threw the exception.
-* Type: Factors
-
-```{r attr.pluginversion.init, echo=F, cache=TRUE}
-occurences.max.pv <- 500
-mypvs <- data.frame(table(myincidents$pluginVersion))
-mypvs <- mypvs[order(-mypvs$Freq),]
-mypvs.top <- mypvs[mypvs[,c('Freq')] >= occurences.max.pv,]
-```
-
-There are `r nrow(mypvs)` different values found in the dataset for this attribute. The following bar plot only displays the values with more than `r occurences.max.pv` occurrences:
-
-```{r attr.pluginversion.plot, echo=FALSE, message=FALSE, cache=TRUE}
-mypvs.df <- as.data.frame(mypvs.top)
-ggplot(mypvs.df[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("Plugin version") + ggtitle("Repartition of top Eclipse plugin versions in dataset")
-```
-
-
-
-## Status fingerprint {#attr_status_fingerprint}
-
-* Description: An identifier for the status of the incident. Used for [duplicates detection](https://www.codetrails.com/error-analytics/manual/features/server/duplicate-detection.html).
-* Type: String
-
-
-## Incident fingerprint {#attr_fingerprint}
-
-* Description: An identifier for the incident. Used for [duplicates detection](https://www.codetrails.com/error-analytics/manual/features/server/duplicate-detection.html).
-* Type: String
-
-
-## Incident fingerprint2 {#attr_fingerprint2}
-
-* Description: An identifier for the incident. Used for [duplicates detection](https://www.codetrails.com/error-analytics/manual/features/server/duplicate-detection.html).
-* Type: String
-
-
-## Timestamp {#timestamp}
-
-* Description: The time of creation of the incident.
-* Type: Date (ISO8601)
-
-```{r attr.ts, echo=FALSE, cache=TRUE}
-myp.xts.ts <- xts(x = data.frame(c <- rep.int(1,nrow(myincidents))), order.by = parse_iso_8601(myincidents$timestamp))
-```
-
-Dates range from `r first(index(myp.xts.ts))` to `r last(index(myp.xts.ts))`.
-
-```{r attr.ts.plot, echo=FALSE, cache=TRUE}
-#xts.ts <- as.xts(apply.weekly(myp.xts.ts, sum))
-xts.ts <- apply.weekly(myp.xts.ts, sum)
-autoplot(xts.ts, geom='line') + 
-  theme_bw() + ylab("Incidents Timestamp") + ggtitle("Weekly number of Incidents timestamp")
-```
-
-
-## Saved On {#attr_saved_on}
-
-* Description: The time of last save of the problem.
-* Type: Date (ISO8601)
-
-```{r attr.savedOn, echo=FALSE, cache=TRUE}
-myp.xts.savedOn <- xts(x = data.frame(c <- rep.int(1,nrow(myincidents))), order.by = parse_iso_8601(myincidents$savedOn))
-```
-
-Dates range from `r first(index(myp.xts.savedOn))` to `r last(index(myp.xts.savedOn))`.
-
-```{r attr.savedOn.plot, echo=FALSE, cache=TRUE}
-xts.savedOn <- as.xts(apply.weekly(myp.xts.savedOn, sum))
-autoplot(xts.savedOn, geom='line') + 
-  theme_bw() + ylab("Problems SavedOn") + ggtitle("Weekly number of Problems SavedOn")
-```
-
-
-## OSGi Architecture {#attr_osgi_arch}
-
-* Description: The architecture of the host, as specified in the OSGi bundle definition.
-* Type: Factors
-
-Possible values found in the dataset for this attribute are:
-  
-```{r attr.osgi.arch, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-archs <- table(myincidents$osgiArch)
-archs <- archs[order(archs, decreasing = TRUE)]
-t <- lapply(names(archs), function(x) paste('* ', x, ' (count: ', archs[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Repartition of architectures:
-
-```{r osgiArch, echo=FALSE, message=FALSE, cache=TRUE}
-archs.df <- as.data.frame(archs)
-ggplot(archs.df[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("OSGi Architecture") + ggtitle("Repartition of OSGi Architectures in dataset")
-```
-
-
-## OSGi OS {#attr_osgi_os}
-
-* Description: The host operating system, as reported in OSGi.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.osgi.os, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-oses <- table(myincidents$osgiOs)
-oses <- oses[order(oses, decreasing = TRUE)]
-t <- lapply(names(oses), function(x) paste('* ', x, ' (count: ', oses[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the various operating systems used in the dataset:
-
-```{r attr.osgi.os.plot, echo=FALSE, cache=TRUE}
-oses.df <- as.data.frame(oses)
-ggplot(oses.df[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("OSGi Operating System") + ggtitle("Repartition of OSGi OS in dataset")
-```
-
-
-## OSGi OS Version {#attr_osgi_os_version}
-
-* Description: The host operating system version, as reported in OSGi.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.osgi.os.version, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-occurences.max.osv <- 500
-oses <- data.frame(table(myincidents$osgiOsVersion))
-oses <- oses[order(-oses$Freq),]
-oses.top <- oses[oses[,c('Freq')] >= occurences.max.osv,]
-t <- lapply(oses.top$Var1, function(x) paste('* ', x, ' (count: ', oses.top[oses.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the various operating system versions used in the dataset:
-
-```{r attr.osgi.os.version.plot, echo=FALSE, cache=TRUE}
-ggplot(oses.top[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("OSGi Operating System Version") + ggtitle("Repartition of most used OSGi OS versions in dataset")
-```
-
-
-## OSGi Window Manager {#attr_osgi_ws}
-
-* Description: The Window Manager used by the host, as reported in OSGi.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.osgi.ws, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-oses <- table(myincidents$osgiWs)
-
-# We don't want an empty col name.
-names(oses)[names(oses) == ''] <- 'UNKNOWN'
-
-oses <- oses[order(oses, decreasing = TRUE)]
-t <- lapply(names(oses), function(x) paste('* ', x, ' (count: ', oses[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the various Window managers used in the dataset:
-
-```{r attr.osgi.ws.plot, echo=FALSE, cache=TRUE}
-oses.df <- as.data.frame(oses)
-ggplot(oses.df[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("OSGi Window Managers") + ggtitle("Repartition of OSGi Window managers in dataset")
-```
-
-## Eclipse Build ID {#attr_eclipse_build_id}
-
-* Description: The Build ID of the Eclipse instance running when the exception occurred.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.eb.id, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-occurences.max.ebi <- 500
-ebis <- data.frame(table(myincidents$eclipseBuildId))
-ebis <- ebis[order(-ebis$Freq),]
-ebis.top <- ebis[ebis[,c('Freq')] >= occurences.max.ebi,]
-t <- lapply(ebis.top$Var1, function(x) paste('* ', x, ' (count: ', ebis.top[ebis.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the most used Eclipse Build IDs in the dataset:
-
-```{r attr.eb.id.plot, echo=FALSE, cache=TRUE}
-ggplot(ebis.top[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("Eclipse Builds") + ggtitle("Repartition of most used Eclipse Build IDs in dataset")
-```
-
-## Eclipse Product {#attr_eclipse_product}
-
-* Description: The Eclipse product impacted by the exception.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.ep, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-occurences.max.eps <- 500
-eps <- data.frame(table(myincidents$eclipseBuildId))
-eps <- eps[order(-eps$Freq),]
-```
-
-There are `r nrow(eps)` different values found in the dataset for this attribute. The following table and bar plot only display the values with more than `r occurences.max.eps` occurrences:
-
-```{r attr.ep.table, message=FALSE, echo=FALSE, warning=FALSE, results='asis', cache=TRUE}
-eps.top <- eps[eps[,c('Freq')] >= occurences.max.eps,]
-t <- lapply(eps.top$Var1, function(x) paste('* ', x, ' (count: ', eps.top[eps.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the most used Eclipse Build IDs in the dataset:
-
-```{r attr.ep.plot, echo=FALSE, cache=TRUE}
-ggplot(eps.top[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("Eclipse Products") + ggtitle("Repartition of most used Eclipse Products in dataset")
-```
-
-
-
-## Java runtime version {#attr_javaruntime}
-
-* Description: The Java runtime of the host.
-* Type: Factors
-
-```{r jrv.kable.init, echo=F, cache=TRUE}
-occurences.max.jrv <- 500
-myjrvs <- data.frame(table(myincidents$javaRuntimeVersion))
-myjrvs <- myjrvs[order(-myjrvs$Freq),]
-myjrvs.top <- myjrvs[myjrvs[,c('Freq')] >= occurences.max.jrv,]
-```
-
-There are `r nrow(myjrvs)` different values found in the dataset for this attribute. The following bar plot only displays the values with more than `r occurences.max.jrv` occurrences:
-
-```{r jrv.kable, eval=FALSE, include=FALSE, results='asis', cache=TRUE}
-kable(data.frame(myjrvs.top), row.names = F) %>% 
-  kable_styling(full_width = T, latex_options = c("striped", "hold_position"))
-```
-
-```{r jrv.plot, echo=FALSE, message=FALSE, cache=TRUE}
-myjrvs.df <- as.data.frame(myjrvs.top)
-ggplot(myjrvs.df[seq(1,30),], aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_tufte() + xlab("Java runtime version") + ggtitle("Repartition of top Java runtime versions in dataset")
-```
-
-## Comment Quality
-
-* Description: An estimate of the user comment's quality (throughfulness). User comments help people better understand the context of the exception.
-* Type: Factors
-
-```{r attr.cq.init, warning=FALSE, echo=FALSE, cache=TRUE}
-mysum <- summary(myincidents$commentQuality)
-```
-
-Distribution:
-
-* HIGH `r mysum[[c('HIGH')]]`
-* MEDIUM `r mysum[[c('MEDIUM')]]`
-* LOW `r mysum[[c('LOW')]]`
-* UNKNOWN `r mysum[[c('UNKNOWN')]]`
-
-
-# Using the dataset
-
-## Reading CSV file
-
-Reading file from `r file.in`. 
-
-```
-myincidents <- read.csv(file.in, header=T)
-myincidents[,c("bug", "status")] <- NULL
-```
-
-There are ``r ncol(myincidents)`` columns and ``r nrow(myincidents)`` entries in this dataset:
-
-```{r examples.ncol, echo=T}
-ncol(myincidents)
-```
-
-```{r examples.nrow, echo=T}
-nrow(myincidents)
-```
-
-Names of columns: 
-
-```{r examples.names, echo=T}
-names(myincidents)
-```
-
-
-## Using time series (xts)
-
-The dataset needs to be converted to a `xts` object. We can use one of the 2 dates: `timestamp` or `savedOn`.
-
-```
-require(xts)
-myp.xts <- xts(x = myincidents, order.by = parse_iso_8601(myincidents$savedOn))
-```
-
-## Plot time series
-
-Plot the number of weekly saves (attribute savedOn).
-
-```{r use.ts.plot, echo=FALSE, cache=TRUE}
-autoplot(xts.ts, geom='line') + 
-  theme_bw() + ylab("Incidents Timestamp") + ggtitle("Weekly number of Incidents timestamp")
-```
-
diff --git a/datasets/aeri_stacktraces/problems_analysis.html b/datasets/aeri_stacktraces/problems_analysis.html
deleted file mode 100755
index 93db465..0000000
--- a/datasets/aeri_stacktraces/problems_analysis.html
+++ /dev/null
@@ -1,632 +0,0 @@
-<!DOCTYPE html>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-
-<meta charset="utf-8" />
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="pandoc" />
-
-
-<meta name="author" content="Boris Baldassari – Castalia Solutions" />
-
-
-<title>StackTraces – Problems</title>
-
-<script src="data:application/x-javascript;base64,LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo="></script>
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<link href="data:text/css;charset=utf-8,html%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsize%2Dadjust%3A100%25%7Dbody%7Bmargin%3A0%7Darticle%2Caside%2Cdetails%2Cfigcaption%2Cfigure%2Cfooter%2Cheader%2Chgroup%2Cmain%2Cmenu%2Cnav%2Csection%2Csummary%7Bdisplay%3Ablock%7Daudio%2Ccanvas%2Cprogress%2Cvideo%7Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Abaseline%7Daudio%3Anot%28%5Bcontrols%5D%29%7Bdisplay%3Anone%3Bheight%3A0%7D%5Bhidden%5D%2Ctemplate%7Bdisplay%3Anone%7Da%7Bbackground%2Dcolor%3Atransparent%7Da%3Aactive%2Ca%3Ahover%7Boutline%3A0%7Dabbr%5Btitle%5D%7Bborder%2Dbottom%3A1px%20dotted%7Db%2Cstrong%7Bfont%2Dweight%3A700%7Ddfn%7Bfont%2Dstyle%3Aitalic%7Dh1%7Bmargin%3A%2E67em%200%3Bfont%2Dsize%3A2em%7Dmark%7Bcolor%3A%23000%3Bbackground%3A%23ff0%7Dsmall%7Bfont%2Dsize%3A80%25%7Dsub%2Csup%7Bposition%3Arelative%3Bfont%2Dsize%3A75%25%3Bline%2Dheight%3A0%3Bvertical%2Dalign%3Abaseline%7Dsup%7Btop%3A%2D%2E5em%7Dsub%7Bbottom%3A%2D%2E25em%7Dimg%7Bborder%3A0%7Dsvg%3Anot%28%3Aroot%29%7Boverflow%3Ahidden%7Dfigure%7Bmargin%3A1em%2040px%7Dhr%7Bheight%3A0%3B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7Dpre%7Boverflow%3Aauto%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%2Cmonospace%3Bfont%2Dsize%3A1em%7Dbutton%2Cinput%2Coptgroup%2Cselect%2Ctextarea%7Bmargin%3A0%3Bfont%3Ainherit%3Bcolor%3Ainherit%7Dbutton%7Boverflow%3Avisible%7Dbutton%2Cselect%7Btext%2Dtransform%3Anone%7Dbutton%2Chtml%20input%5Btype%3Dbutton%5D%2Cinput%5Btype%3Dreset%5D%2Cinput%5Btype%3Dsubmit%5D%7B%2Dwebkit%2Dappearance%3Abutton%3Bcursor%3Apointer%7Dbutton%5Bdisabled%5D%2Chtml%20input%5Bdisabled%5D%7Bcursor%3Adefault%7Dbutton%3A%3A%2Dmoz%2Dfocus%2Dinner%2Cinput%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Dinput%7Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bpadding%3A0%7Dinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Dinner%2Dspin%2Dbutton%2Cinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Douter%2Dspin%2Dbutton%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%3B%2Dwebkit%2Dappearance%3Atextfield%7Dinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Dcancel%2Dbutton%2Cinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Ddecoration%7B%2Dwebkit%2Dappearance%3Anone%7Dfieldset%7Bpadding%3A%2E35em%20%2E625em%20%2E75em%3Bmargin%3A0%202px%3Bborder%3A1px%20solid%20silver%7Dlegend%7Bpadding%3A0%3Bborder%3A0%7Dtextarea%7Boverflow%3Aauto%7Doptgroup%7Bfont%2Dweight%3A700%7Dtable%7Bborder%2Dspacing%3A0%3Bborder%2Dcollapse%3Acollapse%7Dtd%2Cth%7Bpadding%3A0%7D%40media%20print%7B%2A%2C%3Aafter%2C%3Abefore%7Bcolor%3A%23000%21important%3Btext%2Dshadow%3Anone%21important%3Bbackground%3A0%200%21important%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Da%2Ca%3Avisited%7Btext%2Ddecoration%3Aunderline%7Da%5Bhref%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28href%29%20%22%29%22%7Dabbr%5Btitle%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28title%29%20%22%29%22%7Da%5Bhref%5E%3D%22javascript%3A%22%5D%3Aafter%2Ca%5Bhref%5E%3D%22%23%22%5D%3Aafter%7Bcontent%3A%22%22%7Dblockquote%2Cpre%7Bborder%3A1px%20solid%20%23999%3Bpage%2Dbreak%2Dinside%3Aavoid%7Dthead%7Bdisplay%3Atable%2Dheader%2Dgroup%7Dimg%2Ctr%7Bpage%2Dbreak%2Dinside%3Aavoid%7Dimg%7Bmax%2Dwidth%3A100%25%21important%7Dh2%2Ch3%2Cp%7Borphans%3A3%3Bwidows%3A3%7Dh2%2Ch3%7Bpage%2Dbreak%2Dafter%3Aavoid%7D%2Enavbar%7Bdisplay%3Anone%7D%2Ebtn%3E%2Ecaret%2C%2Edropup%3E%2Ebtn%3E%2Ecaret%7Bborder%2Dtop%2Dcolor%3A%23000%21important%7D%2Elabel%7Bborder%3A1px%20solid%20%23000%7D%2Etable%7Bborder%2Dcollapse%3Acollapse%21important%7D%2Etable%20td%2C%2Etable%20th%7Bbackground%2Dcolor%3A%23fff%21important%7D%2Etable%2Dbordered%20td%2C%2Etable%2Dbordered%20th%7Bborder%3A1px%20solid%20%23ddd%21important%7D%7D%40font%2Dface%7Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%20format%28%27embedded%2Dopentype%27%29%2Curl%28data%3Aapplication%2Ffont%2Dwoff%3Bbase64%2Cd09GRgABAAAAAFuAAA8AAAAAsVwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcbSqX3EdERUYAAAF0AAAAHwAAACABRAAET1MvMgAAAZQAAABFAAAAYGe5a4ljbWFwAAAB3AAAAsAAAAZy2q3jgWN2dCAAAAScAAAABAAAAAQAKAL4Z2FzcAAABKAAAAAIAAAACP%2F%2FAANnbHlmAAAEqAAATRcAAJSkfV3Cb2hlYWQAAFHAAAAANAAAADYFTS%2FYaGhlYQAAUfQAAAAcAAAAJApEBBFobXR4AABSEAAAAU8AAAN00scgYGxvY2EAAFNgAAACJwAAAjBv%2B5XObWF4cAAAVYgAAAAgAAAAIAFqANhuYW1lAABVqAAAAZ4AAAOisyygm3Bvc3QAAFdIAAAELQAACtG6o%2BU1d2ViZgAAW3gAAAAGAAAABsMYVFAAAAABAAAAAMw9os8AAAAA0HaBdQAAAADQdnOXeNpjYGRgYOADYgkGEGBiYGRgZBQDkixgHgMABUgASgB42mNgZulmnMDAysDCzMN0gYGBIQpCMy5hMGLaAeQDpRCACYkd6h3ux%2BDAoPD%2FP%2FOB%2FwJAdSIM1UBhRiQlCgyMADGWCwwAAAB42u2UP2hTQRzHf5ekaVPExv6JjW3fvTQ0sa3QLA5xylBLgyBx0gzSWEUaXbIoBBQyCQGHLqXUqYNdtIIgIg5FHJxEtwqtpbnfaV1E1KFaSvX5vVwGEbW6OPngk8%2FvvXfv7pt3v4SImojIDw6BViKxRgIVBaZwVdSv%2BxvXA%2BIuzqcog2cOkkvDNE8Lbqs74k64i%2B5Sf3u8Z2AnIRLbyVCyTflVSEXVoEqrrMqrgiqqsqqqWQ5xlAc5zWOc5TwXucxVnuE5HdQhHdFRHdNJndZZndeFLc%2FzsKJLQ%2FWV6BcrCdWkwspVKZVROaw0qUqqoqZZcJhdTnGGxznHBS5xhad5VhNWCuturBTXKZ3RObuS98pb9c57k6ql9rp2v1as5deb1r6s9q1GV2IrHSt73T631424YXzjgPwqt%2BRn%2BVG%2BlRvyirwsS%2FKCPCfPytPypDwhj8mjctRZd9acF86y89x55jxxHjkPnXstXfbt%2FpNjj%2FnwXW%2BcHa6%2FSYvZ7yEwbDYazDcIgoUGzY3h2HtqgUcs1AFPWKgTXrRQF7xkoQhRf7uF9hPFeyzUTTSwY6EoUUJY6AC8bSGMS4Ys1Au3WaiPSGGsMtkdGH2rzJgYHAaYjxIwQqtB1CnYkEZ9BM6ALOpROAfyqI%2FDBQudgidBETXuqRIooz4DV0AV9UV4GsyivkTEyMMmw1UYGdhkuAYjA5sMGMvIwCbDDRgZeAz1TXgcmDy3YeRhk%2BcOjCxsMjyAkYFNhscwMrDJ8BQ2886gXoaRhedQvyTSkDZ7uA6HLLQBI5vGntAbGHugTc53cMxC7%2BE4SKL%2BACOzNpk3YWTWJid%2BiRo5NXIKM3fBItAPW55FdJLY3FeHBDr90606JCIU9Jk%2BMs3%2FY%2F8L8jUq3y79bJ%2F0%2F%2BROoP4v9v%2F4%2Fmj%2Bi7HBXUd0%2FelU6IHfHt8Aj9EPGAAoAvgAAAAB%2F%2F8AAnjaxb0JfBvVtTA%2BdxaN1hltI1m2ZVuSJVneLVlSHCdy9oTEWchqtrBEJRAgCYEsQNhC2EsbWmpI2dqkQBoSYgKlpaQthVL0yusrpW77aEubfq%2Fly%2BujvJampSTW5Dvnzmi1E%2Bjr%2F%2F3%2BXmbu3Llz77nnbuece865DMu0MAy5jGtiOEZkOp8lTNeUwyLP%2FDH%2Br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iD0bReM9yjTxnQxCRj3c5kFzGJmGbNKmwGw39IJDJcXJZGMkaAB4jyJAKw0jt5IAuIE%2BA%2BU3cVAZZrq9zhDyBrU8oosuxcGNTzCKJfla7JjNVmuSb%2F%2BtuzN2H%2BX4vlB%2BPpdfMXXmuVsNiub1T34SFbjYw5itEvVi0K0Nt9pNJUMI7SLGRhf2xipfCYf8z5OdlGKayOucFeVPeS%2Fdbo3lBrbSMmwUiQN5%2Fed7g0Ds1s17IuZC5kNzM3MZ6EWCa0DtekdJfAxz%2BR%2FOX28sND7yRMTBcf%2B%2Bs8mQCQWHya4qBv%2FufeMoWyslPA9DtMxUknxkH%2FyfTnm2CMYzs%2BCq3r7PxY%2FMXomrvTEsRpfEGHa%2BWN8E1AHjElb7d06ddA7oK%2F%2B5Mdsv9EtPms0jv0Z5kf1FqPxWdFtfFr0kHfgDX0Y%2B5PRSG7RUj0tQr7rmfX8DH4G5W28kKeJLtmQsQkuwMP1pk16EV4sl7vrMJATfyUWo%2FGwEco4rh4XFQgaiUX9qxZHrMQqKnz%2Fc2d8b9TysYrAuXpP%2FRf%2FGr8b1qwwc5a%2BeuLa6S6sneNXToG2XrEJi4R5SGs8Sq2S3d97bsfCRaTdaLwKClRHt37mkudvXbjwVrLhuYeGhh56bvfQkHpk2CwvwClqgWwuBfndC3c8dwmstj81KkagcUgbfPY8Zje0W%2F82VPWJHmSq6pP8hPWpotc%2FEexDOK3qU%2BwngPhOCiO9MJRm8TJefjelrzoKnG2Bn%2B1NCUmPE4gHFmBN9jrTigRIpsACrc9Gstg58ULkp9467%2BGf%2FeFnD5%2F31lNrt2967dhrm7bzI%2BVT5m%2BfzKhvf2MzpICEm79Bopkn07lt1762adNr127LwVqQLdJ5%2BlpQDcvHPQtVY5knhYrK6q8%2FJsiP6EuhGZdFdaNszjvpqvc%2BPI0CdjN0AXsFOC3ZfALDJwr4q2Xq%2BGF%2BGNbsxUg5NLLIEXi8otcDQcUts0D8eQ1iVDRAMBTsYiNdRIxE09EIBJO9A2xqgERTaW86BUFn0OD2xFO97FAgFhF6OoQ7prYt4XwSeUgQHiJyDbeke9IdQntciLQ1FlJMaYcUNvZBg%2BFB1ubjlnRNvl3o6IEU2w7fdNPhm%2Fhh%2BFLysUu6%2B%2BDLHkOkrSHYEjH0tEPe7WdD3uyDgvAgK%2Fm4szFFR7ch0toUgBTdWHr7EpaWru6%2B6dmbbnqWEbV2EtxAsXiZAPTtGPSbHsotI2leoM8TePEqgSQprs7AGFf8kuOkPdZPXGb55POAW1d%2FjLST9v5YflasP6v%2FCO7%2BGNAPC2BMZWmsOjp2NNbfHwMCJD%2BLPVL%2BD%2FOYlWEEI%2F9jpPddOFkB5d1GSuKZYggmCCd7JUxD7EXAzxyirYnNDLdDZoFdx14kivkvGc3579Jm36reTTvDgBnaO6vzyQ6chQmlsMoIkIQ2%2BbBDWBud1Va4pcCn8CPqxlh%2FfgtG8IPaPH8C5wk6%2FnZDv69jurV5QhtwE0x2iqOsj9Mx8B9%2F0EaUdiPfOYYDCi%2Fq9jhWRuupMDEU0%2BCtX0sDFxv07T%2FK5niBPqN9%2BtQjgEc31NGCXFeMcCEuQBIc%2FBK4CO78u7EPYvl3yaEfK3vcb6qP1R2tI7vUjVDDUdKubsSrNjYKY1qBEa2P50SJoaXiksIoLiCwnxS6EBuBde87botNfdEWwYvF%2FR0%2Fu5yCqhGeEOR2ynSeyXjt6ka7neyye8kryBSWE52y%2BRBgogrXPZ8E1yIHoHIFUM%2BAbJhE7lbMtt8ApL%2BxmZW7PwbjAO0fAVoXQOuiSP%2FksIVdFZ0aulsamKUzwPZ%2FNYDMJRBPCxsBqLzqHyneXF6Ej9HlIFo7%2Bpg%2BjUb3unRmGpstGkm6etOuDBGA5wCMefp1gTHcdZlvPBXlOslvYTp1cd8UjYLVd%2FJ5awNrIOKLnIt9MD9qdrKrWCvA6ALm3QV9VrsPm60Q7%2BRHJHP%2B2hqfugo%2FMvI2H%2Fmqr4b9tFnKSRY1Y5Ek80Nm%2FWIhr1ikKnxGz9TWXrokf9xwujfvcOTtNTWnxd0F37Y2W79tteBqZ4G5qLCuomw%2BnSr28QESCRVLTyYKILGJOPfcnaIFOsewhRdvv%2BrWa%2FWih0vlbX6Zb75T5C0qNKVFvH1QL%2FvazSWgC2s6oWXXIuUxQelKiJbowuJDQViatLmLijg9CQBMg8WiPgiw3LEeYRmm5f%2BXdnvkDnxLLjMLxtvX74C3OlwPQqx4xwIdpPx38LrlDphiyWUWHWKAzzxurS%2FxTo%2BP5wGFak62ap1PVFFN4v%2Fy%2BxuR39WnIO7lsWfwgVsK17wxrs9K8ltIKuhkw7f%2F6dhK6gQokFKhWX3urrjk%2FrnI0pgfpGMeuQIUaEM7%2BGF5q2iMkCaMQwxxOzcvU0eXbsnS9XknXvP7Gtw5dwPXlFu2ecvSHEZgNDsU6x%2FGdXBYXyOQjzZReSedeEPY6nEv9gJR4oBQJtFO6Kd0fwC6BO4LNHDeBujB6dSNcUQC9zIv2LnAzGk99bUDrdFY%2B9yGFQtEo0GQPNv6vS2drj4%2B1jHbv3aJSMUWP%2BQTZrmbNTjU8wyG%2FiXNNpskybLcJ3CiTF5Ir%2BJYzmJwE0mSVhlxbtbmvweB3ulB6Til5UuUZydpgiFVeobhU0WaBqpJ198d%2B%2FXeNRTZ9%2F1OPfG7%2B2hwzd5W3D%2BhmyjsRcUg%2F%2BCavb%2B%2BVh2ls3L7zT%2FetOnHNxeerv313vzLVqPai4nJv%2BK1FC6040%2F4udw7sAb3laSg0XCkAAs0npBO6VJabS4Elk%2FU%2BD4gTXW%2Bj0wnrMlqNamq4tMIYB87tE10i0FR3LZNhJsb7%2FR561btmes8YBCRkhYNByRtKd55mqTas9FYhJnbRGHuOh3M4QTdgQSqmgRxuzGdSvZGcbMxNQGk5C3ebLjoXIOFM4l%2BWKHmLTJwRv9E8GWJ6dYvf%2FFmEyEGr%2Bgyrr1p5zrgkz0Cw2j94Hv8Jdx7dIVegBSNtgsqGsRQEYiIBoXwD0LNvQ5d7s5Z00QzwNhqZA0b%2BtMG1tQq5nd84uq8R0zPvX35G8uRaze4jcOHzz0w1%2BQ2BIRvf6J6Kgatnrbiem%2BCFvAxfkrndzD9MFPP1GWTUHclpASUkCNAQkpCCcCgDSUDAhDZ%2BCuEkgn8J7i9nMA7pA4lISappxILKfAeSAbIcSDuN2bJcfZILqeO5rLs0MnngSHYRdrHjmaz7JEsEPw51ZqDJDmUIOZIe34WaQeegNsJn1qz8AIpT3yCjyEih%2FxELkuJ0lEMYTLVCiWpo5oYMleMH6USyYJcD%2BuOe%2BkWKpn1Qns34iyYDjkSLvgnZXcgVQNeqINXr48m3iS7cjm8tedyY0f1QvTnHHdsrKby%2F%2BSSbPY8%2FNH6vpl%2FEsq3Ae4ZU1HC44KFiI9o7CEgab%2FRqHbj7s5KAg06s39ZP%2FzxI%2FmVuF%2FTbTSy%2B3Fb8If9%2Fcv7%2Bwt91yy8RfP1QXtW5RzQn7qIiZyuFM5QfJ5E9uVnqT85TanFx0lkP3ukBAMprvsRyi%2FC8NAJL1xbIIirSvnSj4O5netb4JxmNANHPssHAcHMHsFRgEug816gDBeMbdfiuRcghqYcm0%2BXxx%2F5IAEtN3fqFF3LzAXqwoT0PN0OVTNqxo8sxMkd5Ig6k79Zk7VxxX6gMLOZFQgvpW2RrMW1D0BDihaXQ9wVRoBxPLfpknmkeMtoB%2FqM9cRc9IqmMD2XUmdZ7GSRKPUZvChf8BoykriM2MnKYbOHX8R7cLdNCxSFFVQqoYswnlWtlFS2mNkhswVpZiQW1J%2FUKFfipHGlUkM6UKBhMz1istELIHJLMSctu3ugzfaVSOjKvUgc%2FTHK4Sdg2Wscz69leKIkkrwuuWiOe9yGYKQXRumkC3qbRcMwrvhjNXgdZk3RxAUEhuSPvn3nnd%2B%2BU%2F3vlVOmrJzCD8JLxV1OHRjrZifbcFDOuRNTGqdgQm1tSNJ2OcQ04YiEXuxtII1ECSQRoQGYioEsgCfchB4ghAtw7FfJre4WZ9hkVi9MtjuWqtdNDlpMrfEG9fOT6q21okg%2Be4As38MfGquNt7oUws6Ysarj1%2FefE%2Byst86YUVNvDdts3Pv5c8m%2FaP0C%2Bf8%2FQb%2BIMnGq09BgwN01oIOAnAdagI8mBSrqk1gxTDUBOtk2ousEtBH2z4Ir2d3f6k8PXXVlt2qN9RODxRuoJT%2Fv27wm09jRYVc%2Fe%2B%2Biyx2tyzJb%2Fn3J0htXP87eSsQaf2Ly0s6Zmxela88REy1cf4273mI3iXNJ7KxrZibOm9xm6rl4fqy%2Ft27smU8tOfdW2ucBzg2UfmOIVyLIl3kpYlwphDISTXJXsctmiDtN7fNV6zelgxwnWxsVr83Aj%2FS5ki1jL%2Fa0GC6%2B2L6Um%2BaoddlNFuj%2BbJ8mH%2FiaLh8I0%2FU51NspIEfq0dohwyFXKgm4NggwQ4rRhCOUFtxxo8XnitT4cnGfT93IS8FaT85XE3H5LMY4zIEPL1hw443wz%2B1UmhTJyJGxZzw%2BwsKkKZgUiVtKOKMEb2AKHTv61FNc01PQFwKnvsZ%2F9pPA4RKTASWahmh%2B8MxwzHxKy74IRn5LGRjsPUUwTu64UYNY38caqd7HKucZ%2FtHnODtENw%2F2UfHRMaq1UUPDJQ0OKkWCeet5fYOhII1VRz8%2B%2FElg5j4Gxur3J8o2PJ4rg%2B2d08T%2FfwEzSVbyZ9XPro95T477lRKqUSRXQnauHNsISAl27oWi6Fv9z48JMv8r%2FaMMj8onCP%2FDuDZOuN%2BGPPr%2F%2Bp7bx%2B7JlbYdppcNhzKU%2F1Px5aiaGDn%2Fs1iGMaBcleKUo%2Fv9rcxkZj7DBEKOfrayytXNLYiUdBY%2BpleQXdnscKlQcpzuWluxsieeyuXIK6SdxozitWyGOV3vOHHjguyCQ6fpIYy2JwvrQEF%2FQa9Pdf%2FQqOSqCiE%2FEE1%2FXIVKTc2tzWbHnimrEd%2BVyz311Ml3P0GVTj7PD5aDnsvCvH36alEaPMePcMegXs7x8igTu4B9v7G9vTHvhCu%2FkzIdx%2BBxC0ay9zRSvoS0F2lIxI%2BX7klU63I40gLQ3w5ep5na%2BSFnba3z5D64zv%2BQtM4n4ffG3tq4aNHGRfxgrXPMim%2B5487abL7xhdseIRn1KDl%2B7aINixdv0OD%2BJSPwKf5%2BxoP6aiTeQIDVlIhMcL1H5R9PYXvprs3fv2bO7MOplCmweuiq2JRZ1zz%2B9a%2Fv2PH1Hfz9236w%2BZrPXvWfAxlj4NLLHpq3c%2FPQ3uvmvbrjG7fe%2Bo2y%2FcLdtE6VUlXi0ASb1VLUBVSUWSU4HdvAraTyS8xzM8NxvxFkXV6pUVRiJwcgC5zEeht4rwcp7ki0k41G0qlQhG1Vzlq8alEmnFi58caB5Q9vn988MLhqyVlHvLEWjtQFeupdiocF%2FtkkOGPW2ibWaBTkeZ%2FdvPWazXfOnnvL6jkRXpi85sFzZt%2B55ZptW3bl1cCCHZPD06MhySha7UFzjcjbp8fOecFCirzAG%2FyVjBX6OFIaadSjQq1nNhyIe8tVbaaSdHlXIWKacMeuZA1uxS95zILhyrxAdsXTL6m7kNQlx2P9uZf2qhufePFFbpI6%2FOU0WcP99RrCsrwseVot5mtytpf6Y0gm9sdeyKnPQ7onyK4nXlR%2Frg7H95M1upzu89DH6pgUcikoiihJ6NJKmRxV1x%2BMJiOA3YwhDRQrWU0u%2F0rvq0VYXnyCwsLeTJYBq3dAtJDavuzyoVpzZ99Z0%2Ba0uoiFH%2FxcqgDR7rUFeOrUn6Cywb8ZeNMbhLV5ugP9l0zv9UN5b5mFkjzxUcpPJCn3V402pRxtJd2GrnLdhtVk9ZSZh9W91fCSH5B7ofxPiWL%2Bj3D%2FuwhBRdyAyozeZwvQzs79soi%2BBKSnafLviZCcfrpBpLyimfLfTyJtbyruIQKD01tUwJyKEo%2FybaxkSNFUMdMkhQoJyRBQFhnUkDQSXhTM%2B3NmY0EDM7ffLIjqWEGt8lCO6mLia3PukFnghosJD5p5SIho%2FVDkzQfLE%2BIrYoJXkD19pdP7OwG%2FvoIUtagiWiZ4PAFTHHlTVhRZ7dYmPar%2BNJ%2B8JhmR6DFK5DV1foHoLNO%2FpHrvZfmWZ15RQlwvoVDKhCWNK3CCch9lfFBuAqUgpFSShmNaPj%2Bi5%2B%2BWZfKeViJfW5HnUakVL4UCNVkA4%2BETfIqx4B5xSaP2L1yn0zn2ltPn4%2BOqZGmwwEVCaCSqG53ldtL1oLGAhdMLd09MpCCF6tD6ZnAZBY9hDaYsP0jzZ0j5ZjKsF4i1UmLuhbJMCnYJPt5VwFNvmZawXjEvLJqIH8STonZjq7BZ8gKgR20C9MDFqJAX1H64QW2NEup6qgzLP8cvppL%2FNNTOBTCJABOHeWoXzLhw4Wuy7gaBtjKr9kgKq8ZlRYBS32Lpxc8vIhpNDTfyNXWybMJbn2RyQ5EmWc2QF9wmSZ0KYCE%2BcPuYO6b15Uotj2Kd4MItLS7gtFbkTdrFND6pvEZqv5Yv7jXAus7Pg7avo7KDot50NX3CPkP%2BKps8J9%2F3mGQIteY%2FLGPC%2BL7872SPR2br5fy8MtKBMHedGuM28%2FMZmPJMrGgi3Gb1S%2BSi1%2FL%2FzrZwO9XH1ce%2Fz7ZQ1WSoY%2F%2BpMb5FT4ua0Wm%2BJf%2F298nFmChEQ%2BTi71est4mq9VYI6RsymoRJKYidElT2FGnDTZvqtfhGAFTbeqEw68GqtfmbVa%2F1IFO1%2FjdWr%2F8BDRRtQh9XNjubEm4aWVpVonpTGR7PVGc%2BKJNoBIWF7kYi4gUV3r1U6723i6TxUl3n3%2FtM27aZfKb7THiHW9VzFSwHJ05VfK6Ar7kaB0XgPPE0BSkSFKsBUpaLihEWoA9wBt8qirh2VSOkZwXEwyrxZ5jyt2rJmSo9gX7cg6jsEUGJU9z9xJPOEM3uQQxKgkh35DNATnVyrmJ3mbCNyIB%2Fyox4wH1bg2DwN7q9kov4pFqny8oSm3RQbGgJ1QQTs6ZMLilOVYJ9v6Wha3HcJ9jddsXp9YhGUXLXt%2FqMDnvLpPNTXfNa60z5%2FyjXQOMq%2BlNmwh5egpYrdfZQZV9rI47xlRkuyTjpzsmCBSWNkAXVoK8sgYWqQJWbo1RLo6QH0YW6pxqfCnRgkd%2BRiFjUQUQ7poIaYoakgXxwFd9BuuI38H1xBxXSFb%2FpBDIKQFn7YB3dB36l7sG1FLaKiBdp1KxLvfswap%2F30lnVESgNnvjbUoT6w9N%2BXoio0qcYOIM%2Bheg940YimsucQVvli9NEcft2UZwGQwLuilj1fFr1i3NP94X%2BPE7Hpvtj6lBJfJ4R6NvWiaL6MgzWHxiN66DExa%2BdAdAbMYX6HVF8A%2B7rjEZIXAVbDe7PVI9rmN69JOLV1DOSvRPxWNPZBZf%2FNf%2BNy65BhYxxxV%2B77XJ2wfQ389%2FIQPgajXbwMsuAz%2F0IaQcXJavKbRqR2IqyZruXjVC2%2Bhdee%2F5vdnYOedpmVtR3NGXldxSzDSIiBVpkGb9by89UpEPKrSLZmyFDzMab%2FwXl2CNe7s%2FqCtTvWgG5kpBmCBlSzDS%2Fr8N4uwBwohRW63JTS1y32f0TQsPfXVGEHQrV8%2FNCfiOUVirYcBbIeA2%2BiF68rQIo3B%2FS628vYESr79ehzS7Q9LEL9UXmik9XVHb1yBO3Ngvt5935%2Bk1efkV51mzzrM0LL3%2F20avnwMeKuWyOUZg2TasSqZ%2BKcZQiOn1Iu2Vh497ALUVZiCKt%2Fgh6IvTIj1ZLRjWAkpHKOKovNwp00eqPROiAbiNEKieXwMLcXhVJ1%2FuzmLP4tfxaHR59cBdJVG1kTAgl9ze9QKUEQ946Hkb%2BokJ5JRDyf54Axur1D%2BWS49cLr0tTPEu7UmXrxcSr3XNvumv4yXzInXKH4F7Tc7p17Zt%2Bt%2FqW2%2B93k063X7VW6lALxTY7i1nBXMxcxmzQbabxz%2BtJo%2BwijYaIGMNS8AoSMgAPt84DdHOoMPfjXhF%2BkuH1tZvuFQrRCN07xGcXRX9MYxYchDe5BcHj%2BZ4i%2B42WyPc8Xofi7bbZJN5nJLJ5qr6IqRtzqNlM17SpFsnkEyTWoABEjz4JXOQvzWYuwdnV5LNGOwTM5v9r4RpQ8ZXsYodks3o31JBlzbYtNotisnm22MxiwGFXam5oN1n0TA%2FhRvshvTSDwHff4nNzRo9Dum6PaJbMXzDz%2Bx%2BFkj4L4bFNBb1asqsgH7Dyh4DvbkPtf5yMDKzEwyoaESMSNS9P9gJVA3%2FRTlwoMwZvxECFWxIPNw9gi01nOHjP32esZTtmXHnxvZd8ZtakqQ7ekajbXetpNa6ocTVxJtY%2BuSe69OLz77zh5bDR3xjZMzUz6fxrz1nqrZGcHQHfPVefN%2BfiK86LeXj%2BSc5lPKy%2Bk%2FvCUI%2FDaLFYCWHr6nbXuILTIsb5imNKY%2FrCm28fSMxPhkN1XbNMNZGuqwOBhtTSxWuTk6bw0ZaG86b1hKddePOKuBvmiguYBn4T%2FyOqOyGRBt7bKUI1GjioBC8aUKwF7Q319UgcmtFGIzCJGBqwQij0ynDsfdFGc3TS3BlNfJ25xmzniMkpXXTPvCaD3ZaZvyzjmZdudBostmhb0ORZNN2sJBeed1HXkrUsywueQH%2BL0eCPxmsa5ZpgRJSDZ11yDv%2Bjmbd86vxZfc1WcZJ3UkMq1BOOOVtvu%2F%2BpB%2Ben186d3GTwWAw2jheaJs09%2F%2BLNfZft37DALyrNj1wABMuUKbODyTVnT%2FKYbJ3Tpq8IrNh92dkxOj5P%2FYpZx4%2FycyiVcDYdn4JbEoKdQi9054iBKsygLW46FRGxAb0NPNCm8BSNCPjoKcj6EAus4SuP3rB%2BcV99%2FeTF6294dA8%2BTK6v74MHVpYNRt%2FI30e8QGTOOdfGWzzxcy%2B87a7bLjw37rHw1nPzp0KyyRSeZO%2BQQhInt3dYgvycjrPOv%2BT8s1rptaP84VeywdWX2T4ysr0%2F7TLIs6%2Bx9zib56ye1dM9e%2FXsZmePY3NDs9zlnNVt4%2BWgHJbbz3Livg4P9WWgviOMm4kCRT6I8vw0NbUUEnFvOuFKoxQW1gTsvFirsF5pb7qTUCx4i7VmtToveaDxvK9uOaedVvPRpVOnNz0Q6bry7uiSdQ8t7Vy4JQKVS%2BXPplV2ts4bvCwZu%2BKzgITtxepaPRzWdpv74muvv6RO0SorX6cu%2FdqKn%2FXWnrtp%2FZragz13DUCl5myiFW2Ycvb0PtsXnU%2Btx8pvLFbUspLX68mdegwmOif%2FNPDONajTGoUh6tU56HBJCTBASVvNUB5VIiKpc9kd7kludodSFz7xQbiOmMk5dOYk56gzL6uaf7N8a6MQOHm0ae6snZpFDfuT3%2FjdYzjzwkXXIVHoXNuCfQslQZqBZjTsoHMqrkE4jaYdgkGz2ATOgB3cPkSukD01DnV3ttb1wx%2B6arPqbkcNAHoFPzKUUQ%2BqL0k97pjbZv1I%2FegC9zTFbrrlFpNdmea%2BgIgfWW3wqkcis8ky5FAcRd1If5nNZrl2FFpungc8wpoCl1BpQV%2FScS%2BzjlASyUTVv%2FAJ46gkJI4bHX4lTnloctxPZE1ckS3%2BjG2fKIjkQFyzuo8jvYQG1OrGvJPSTu%2FnSp9PHNTl4z5hK%2F8gtXVKF6gEKiglgcKiRlCESsQCV5QIlKWKpr34lt%2FwkSx%2FJCmP5%2FcBKQfl%2F5gd%2BrOS%2F%2Bp91%2F%2BYCg5CXK2W4M9fu%2B%2F6xxX%2BvnelVuldIDCG0VQTpU9Dw4pRfei%2B6zWx0MLie0gPbyrkmRU7OwT16JGeyXLHqOLqAfVN1GPlBzWtFNzj0TRTCjogtP1NjIvu5habN5Aoa1k66wGpqriVetJgiGdwDZtKhnN0y4n9sXYnsqGmZfDSR15%2B5NLBlhoDaedEm7sxmpqRija6ZEEg2EAnTiAC8IrmFbGz1q08P9PSkjl%2F5bqzYqT9hMmptEXDgTqP3Wiye%2BsD4Wir4jCeoHbbp5hRfpB7BakUIppIlPCD30dR1GtslDz8OsqbXmejFC%2Fv8wu5X2myq7SJ8Avzv9DFUJySf5uNvq4%2BTi7W9D%2FOZrLChdwxmPNiBRqVjnpK%2FaGxRCDspVYKAW9AN1JANoo8wP4BJUlGqdgw6m1qPQ2QW3%2BOfU5%2FieLS%2FNuKpDU3uf8bcAXyBal5jMR2NEAbPAZt0K3hvxHBEDlUxfIGcD%2BN2gNSNx36nfqlAYow0puatNpRz0e4W2oahKzQHsjf2c16ad%2F3t2KTtPobnX6D8C8pd0MDP%2BKx7wnXqGGlLQcvikMErm6TmfsuxJXbSAxqNjOogJLQBLiKEHAE%2BJGTS3JoEhTrz8%2FCB%2B5YlupJ58aOat8Kv4JvregxwcU5Cp8GFAFm1FyOfto6GS2m1NGTS6CPNKkbsTdCBlnN9onMho55BX8IJZtEQ35lk%2BhtwN5A0V3RCPoD%2FyXAcv6pAtbZczRUA64JmcUf4q7Q89ZHLeJVZ5D1Ps%2Ft%2B0iCT3AHVtZC7JDCXfR7OSb%2FXja5H3zQbZL1B%2BULX1BMTEk3AseSpmnKEK4T9ekMIidUCRQFfcbj7z8gNLvzF7mbhQN8h6ZbRset%2BnQWdS%2FZX3k7WpS8P9sfo0iGS64wV516pOhjI6TZ2dApgI5%2BLhxywYoWxKUrykKJsIoDsR4mSrCTg0egMPnLW%2F3Q5Nn8BZEuzqEI7HK3n0%2BzFmuO3TtWQ5WJoG9YqCD6Gc32SxnbnVPfsxvrFXK2dILl7bLthDp6glhcsfp4bYvbSmj%2FmQ94uBTw0E73x2jbNRCvC6VL6GCFDwU7eWQDcC5FY5s0slieRDwtAbRsbLXbaXAuu14e2OJw1dc6jQ3ZdY8v7rv2%2FBWZLqvFWVvvcmwZkK9f5jS4muO9yR5res4kfkRxhV03L1RfPOiPtYi8pd7jNEsOpyTwxpaY%2FyCZu%2FAmd5Or9uS3DYaeqVOhH7gZN%2F8I%2Fwi1fEuLXvyNivibjuKvN%2B1Nc01HF%2F3h%2Bef%2FsOhox8MPd5SFucPjorQwXT%2BytA8EmA5mamHNFDVhBI5pjZbQpugBNkO8MvRub8KVDKST1Wag7D3xlin1ZF7LFP%2F79nbvCXFOY%2BPUjrT7%2FotsPXXZ4exdPzuhZuL5LUXVAn7k7PbhG89uz3b41X01gbjP1xwlu5rrvvf9%2Bpbs6E%2FVu7Nk642%2FPYRaAiUBdrmO6CDTBLPQFA1ur0uXoBR1INDMkypKpoTqnSMx5GiEdTEaSHLs0Alvu%2F19%2F5QW9Rv1U1ridT22i%2B53pzumbs%2BXFFXYC%2B%2BCGsTj5JUT%2FGCgRt3n78i2n71FHG4%2Fu6X%2B%2B9%2Braya7os3ZbDmgWfXun44e%2Bu2NZKuGZ0HiF8M4TlMPR%2BEU6rPKRJ8wOU2RFUFLex3egEsz3YqEAq0cqhAAW19dBZIlVzR61tuIdTnpXH7l%2BuXrbjPUyep%2B8cl6aXKWhPHpDcXl9KiTWDNr4mBQc8Tq%2BNzK%2FOKSbsfl79o9G20R%2BbrBXYvUg0rLHhtrc4TN81TTOWSZ0gL1ZVlOYH2ery%2F7XVUjFMbzYpg7UswcqJPQwBd0LKLabJ8IaCr2otcjSkIrGwootKECaUd4XH1%2BSdazRrfddkBU98t1htvWrbjqSqjaCguxrffM%2F5zDCpBALUycmajhd%2BR6ww4SWafuZ5eU%2BtPid4lgd3gt%2Bb%2FY9rQoZNmiXYPXyRHbRs8zX%2Ff4WIFjWZJtUdSD55AP3xtXH%2BZipC0EqdBGDA4CoYEU6gRLGPU11QhkLTBiEYPiqOeQgwTCl9aok1Qr5pFf71qEeNxjy%2F8F0GoqYPv75Yh9j3x4DuJ%2BuEzHRpAq2lMqb%2BqfTdiq6kGtzfOWsv0c7lSeMXDHBDe1MT%2BLUgx0Pg%2Fp87u2UicdIvqQi8DkxhcUwUXCedMpb4NQjwY3npTmgsURJavLwCRyEcN2HfWsDVGfv%2Fu9ZUWUx%2BPYFueUKwaNvbtu%2BXps3eVWbN1GcgVrdMnWJ7WmJz9SD66EBidag0NF1Ukep0t5A7sFCWdhzvYwHv6L%2FBehXuHqfaBwBEU7hfVLcXvS4VQv%2BT%2FvaSIl7cbeMc7ekv9i8S3e1L5xxpvMGcu1EYPbKyCiijjGXcDKckm43PqU2qNWlXusZMiqF82cuVzolUHN9NNR0HZPxFPV9V0wLtvq%2Bk4DqOwVWDlzuQLVdqFiP08cRX7aRlBVfR8cb55bWe5LExnlcsDp1vAP8Q9BucPMk1Ulh4GnN0SAdxcNHv3q9ohx1Ati4S%2FtkWjIDe3hQdkUGrGRaFBiUdiTSkI41UkMuuQHP%2BEaSQYlPQTFWJF03BNPpTu5KFAdkWgDukzsZKMG0Q1TAQQglScOaP%2FdsZ8%2BfP75D%2F9Uu5Gs3FY%2F2SxPld0DHOciXI9gqjcEidXjE%2B3BLosy0OcX3T7O5g65ROGyzQ2BZs7WbZVnO5ydLe32hMwTQ4wnnKXW6XW5LAa7oaXOIHoUl0FgLQLH2by8wSTWeAx2Y5PDazK3BqZbeJZwXGPaYhX87ZNszoDdaRxotXO1nNlpdvAPFWHDm8PqEE0sZxDEqGzxisFNnuCWetPcGrObN0p23tTZwMuRVodSV8%2BLTrOV3eRvzjQZiSjaLYS1WEJe0kNsJlZu9LFun7%2B%2BwW4gRDRbaxw2nrOGm%2BxOj9cmtbp9ZqeTM1m8UXfQQCSTVSQox6pvtjot%2FFpHvIUjJovFEoYvHYV9C5Y%2FxN9OfcalvII37UEhTbTg%2FAQIaPb4Vz6j5u8%2FaViycMod%2FfkDcpu8QZbZoeBi%2FvbzP3XPsZvOubMtaPHkD9jt6%2BU2O7vqU%2F9C9SMvgrXpQNG%2FE0oJxun%2BCiElUa0IKQSUwERxOntKSV7ekcuh9VBZBBo3VUcB58ofKBHCwLyf9qFosz9Ibf8dGqwaBMjRig4SGOZ2UkWI7UiO9OfUPdxOYFApUZyfpY7mgEc5rtNGGk2H1lPhAk1Hp%2FVAMqQEHEUfEYkkUQq1JMdzsX7kklRrTrUi1wMcDjmu1YYfATj7Y%2BpGpPEBXuoQIj8rR9mgCl4C9yqmF7xnVWxGVniNqtpVmXBvQ6iwni5YQ8a1jYrXtc2J13HvgkvqWxuva1sbr%2BP2S5ceKGyBwDv2DbrToe1u6BkAJV7xnVLUaq0sJB8pFqcUIPi3yuwxi4JuLr%2BP30f3OkPQ72aO0xYo3%2FEsmO3QO5qEF8S0qQH0UsKXv0brnl9%2B8M7jF174%2BDsfvPOl1au%2FRL5%2F9DsbNnwHL2pHR1NTRxMZhJtHktOOxLxErPF6YlLvpC9YP73x%2B4ofw%2B3xVdrHcDE0dQQCmCRgvt9b35xINDf1CDcRSfJ%2BpYl%2BSf8YcurfmXP5F%2Fkj6J82jNsrkWiEuhVlgFfyNkB3S5MUzLhoNiwSCYcxQ7Ui4J0Xh7fmqRbaPa1tzujxkBRlsEHy0%2FOM4pYLPb7g9O6BQJN6l9zQ0OGyCaZz0vMTbHOzXfQ7a2tsterTcqxeInODoemdktw%2B1SbVhKwtW9ffe8VKadK0OVuC3bWzyKm5LeddsWTeorWyY9IMtUFutdu5g%2BRn533qkocdvLs2HmhU75br%2FMmWtD8zA3OP2t1ea636jEzqYxJZGAwFiDEd61oTsrRuW3%2F3pYNi3bS%2BRd%2BGjOfVpAPNd6y64Gsz1GaZleWIPoYL%2Fv9mTeQBENVEguiF1aC4YeXxFETw6QyPfn0m9g8IrMFAvKM1EI11DARnbqibHk%2FIojy5rSdgCyZi06y8sS024PeuO4MfwQ5Y9yKRZCqyYaF30vzeHlmUprR21tR0t0yz8KZY66zWuGvxVQB%2F36kP%2BK38t2Hu6NQ9SFJfw0AdpqPEK2qTMpf2VCqJwqPoJezTL824b8akoL%2Bx03nhh%2BoNo5e77psxg9Q5LzebIKD%2BfsY34f2MtB9fk9v5b8PT6tYrgv4kRPwd0q9z3gdJSJ0653KjCYPwCaR5aUY63eW48O%2Fkdo33yxX9wCiMv2QTrk8eGSI6Ag6moG9t2P%2FF7GRNlDjl0gw7pJ5aOXXqyqn8SENnXBmbSwUYLyqJjv3UmY1nKr4t80no0faXsaIEiF%2FBRaIBnItSce4OUif7W6Vm9T9H1X9Vj71BEm%2BRdmIJQST%2FZfVdudUvh9S%2FqqNvqT98g9SQ3lHibZY0mRVHooyDN%2FFHmTgzjdozKw28NwQ0hwN6BCoPKaEk3YtKwNhwRLXuk076CGoZNXDQcRwZvreTZY9EZi%2Bd0s4%2Bztv8iei04JQl6ZbDD2eHV7X4uHuFVfPrOmcs6m6Kr7hssr%2B1VZFcEZ%2FPdJkn1hOs8SXS%2FNFFgqt94PIZzZ3tdaL6Q5vo6piSzdy737pwsX1VyxUrF15iJ4uNkq%2Brbyg1Z%2BO8VsNC1UmcvORPRfxtPrfRwL2p%2FoA1eZp6Z%2FaGffoewaXcA%2FxBlKlQLfhQL%2FoPgBGP3qsA7IQS8qDVNswHKRSheDUvA3Q7MZoRcJMxlEygujn1QdyzfPfq3dEp%2FbXh5e5YXW2Ngfvza0ZF6UgFL%2FE0fTq4LBlvTE2qb%2FKuuzYSXVnjTfM1osvqMHVbm9950quIZlbqaL6YP7jk3kUtA0GnX2nvq53f3WoSsvEdDRnULgo2fN7lNZJgI8%2FVWi33c3bBZnGY05%2Bdm%2B3qc7fNmj4YGKLj2nfqFP%2Bg7jdDlxEV5XsJQZP6hYrS1l0VQr4c69Xueixp90gnZPmE5OF22j%2BSYEWHlZ0K%2FHgsh%2FZtsbh6h2DNRlvv6jJh9XaJaHCZDiUDKNTMkvb8vsqCyf3ZNdSmO0fa0Y4baJTtpbKzuVzeeSI7fCKr2Z0WypapnXJ4gnoWy3PoUIlIQ1TXdqhQJIXp9Wx5fYdpeWh2TY5D%2BYVyKd0jw3iumwi%2FBC3cEy4o83QlZnW79MrCgCjbhWXBlRZVVZZv4rIKpXC01HFlHdHLoeWVl6UVc%2FJ5uGm6CViW5mulYMk%2BHqNYr0AyUPivLg2oMs2MPqtuhHyRyiwvNJej1Br%2BfcLyoAyu8D9B7bgmzUqfFobF5nKnK4%2Bt8MPJkI%2FxHUNWk117jugWF%2BxazTAALQn6%2BUE9lhoI5ApGA%2FiuJOsrlNP28SVVuBVajXmircLel46w2bJS1Q0Ft0KDuikDFL%2F3pYrid1Q4FvofwRIo4R9h2ftSwc6jHAMqLcCql8YPHtlzGoByNXYN6v8hXnRaOhUvx0sVLCexwupGDR4NOYC7PePa5keIPACnuAdD7dEadRuTIiS6Lb7uskb381My5yjzF8lGCjBRqdwrWJCagfB3yCy7XT1i92hbcZ5Ci1FJkgYMDf6n%2BjspIsHFjJrTOdzSMuOa9DbDcj%2FnH9N9bIoGVgzHPWIQuFuYtaMRaq8eCKI0gEF6lPOZjBz3EEvaaxwSUT9U%2F8JbJZPJJLBLolH1La%2FRbF9AbC8JJjv%2FmMnssKjLRBJyqj9QXxNko0Ux%2FX79epfiXkm6fmKwF%2Fen1HLc6LxloXWKvGa5rVCVL83VuiPcDEX%2FK5pTXOxHfx6HHB0t2FI0qI2rCZFTrvPWU67zVuS%2FkTsLnc7IKhFg30e4FOkqNSfH5PtkmUy6Cpiv%2F36k2sbqCeCFNa%2BURpoY0sZoYmCgCr3qgZz6s8I0gP1bYiR%2BD79H56NOz0EVWCTy2%2FfffvSCCx59W7uRV9995eqrX8GLesOXNm360iZ%2BT%2FEl3uZqL%2BFyzSZ8XxpTiI%2FG0nkT4zznFZ0t4ipMz5v4q9ssqbdKUZt6u82knPCrt6PZwsnn0XySVnyPR1ZXAn72yx48bWJsu7apnI3Hy8bygUK5Js32qcytapqgmn95uexccj205vGgJ%2BeuOeG2SORmKZr%2FqKzcx9SFctMJdwMUFZDJITs7dnOp1EKZCxg304Cevyfya%2BvlKqv6aXK1qIj3imL%2BL6hL%2ByvUlFfE0VKZ7E8gBY3M%2F8VoJCFgizH1W6VyC76nH6b7jiibYVxUmVIEspry%2FLgZIlCeP11Z4zs%2FAwvVwtGFEut5S1JY4lfyT0N%2FevOLo%2BrUEgjcqc9IkGpQbv3iW7Co5b%2BKgjvpzYdH85PLcc4X21ouwEGl%2FS4qnUAvoSlXUUhR1eKr2VWFTB%2BGMl6FsiQsVD1R3urlAAIoSn7JQkmiVVCHSpCwDH%2FqPepXQ0Db77CJOAImohB%2BRPWr31ev5g%2FkE%2BzTa4lbvZo8xdWPffQu9yJTPCNB66s%2BzXoJt%2F0L6hSoCuBIoK8fnBGG87OoRckJpLqyWe4YbpGi50g0%2B3I3UD85Oa0fzubfoXxPLbW3FDWzigmyJeM0tQkax7PqTy80%2BUxfUHPlBZIRVNQ%2Bv0xRm8REKPoLmNr0%2BUo48v9GFbXPKylqQ2IKm00QddgyWGMROCTxdLB9nCY8P7j2DjlsV%2F%2Bmfr0C0r%2FNkeXbbpPlOTBBwT0mVz1zx9S%2FwJecBF9Wgv3p032iP2v4VSgfgW2G%2BHUEdEXU6iq4CtpLJfIN9XQG8dwa1VoO8XC2SrPDDyCOQptXgbcPvlAgBfxBoGwftQKeKFrNTASPt3pGGqDt%2FQRasn2kri%2BH6L80MJRsmVYJrAKyDItpJUy3%2F15WYIJqcJ9Q5N%2FLFJ4c3dc1URpWl9hW6mu50MUIelg4ucTPf15zs5DFo1c0VSp1tKB9jkwIyuM45kb%2BIP8gHed%2B6jO3v0KbIknzLy636E8KPTdCuUpB0wLo9JKnAO6pv0vS31EtBha%2FfJemkgLVVnd8KCk4qBTpQ5m7FbifBKrPJcq0pZAFVG%2FXbOFz%2BTcq2MLrcmV28Nmi%2FOHskh82bau0k8eWCaPijQPWQ5lUvslwVCfHkXBMIehqUgtDNLeauH1huvZTbYmw%2BluPjyWoNGEuxRLR7LK5fSyXFUyK7PURQv2v8D3XOt2NJ6liBbmPGOsakw1kbeOs%2B31Wm5qpH%2BiJWSzqdPr2O7zc2TmtnrzCig6bBd%2FvgQmzOlz0STWIlmZEQfupogOZFHUZ7EkUnMn0RrpIMqAgHRJAOjIJ3yGw1I%2FMAp9q9S3Q%2FclADNm1wEeO%2Bxbwg5OIYHZLY3ehG5lJk2xhco%2B6JWybpEVz2wrR6hZyD0QXZbeDVB%2BonmlimpkWprdAs4WEZDSQppsDlcdCBJJESIYFuAtUnC4GIF2C3Uu2Kv7L1bdz6FxtqxpG4TqQOqOUNAJ2HLvPWA2GgDy4O4vaDrtyl6P%2B1fAll%2BSyFcQ28GHqh7fvvf37udylf0fNwhzgz87Y%2Bcf5x9GnF6ygHu18sAbipWeF0YPBgp2GaKeQduxxdEr3SgbH1kvH7tvqSLhedomOvZyts2dw8acu3dY%2Ff%2BucuMtCuP%2Fe4zC4XnH3OLZ8ZuxTWxy8dJfU5dhDeKPSlJy5pn%2F%2B7u3XrJhmr9C5CuleGflGQocKnlAUaRKp0BAHV0ZwUt9VCqk6zYOgRIuMfePJzdmBdpPJ7%2F6B23%2Bf%2Bsp9NMDZevovvfYHG5dGPISQq1DojqNckchVrCcCYz%2FQ0hI0m3NKDRfkgsrnamo%2Bp0CAq1FyvC3a3Nak%2Fs5VX282x9Ufy3E39VAx6o7LpCvO2wK%2Bch9jNqpJCutcIOooKnYWtDK8gTRVYygRQfwgzKM5%2BjP2jOZdx3r32Py7rQUPOzAnoRs95NvRAR0qLGU11Taqu1bUYSzMcWjMEir067JQQHfIrLBHsrgv00%2FWavd8HRLMEEYFSW3HCSNQehnrHztKqHcDyo4VfZ6gPKCR%2BgufwA8GegxUEo4A%2Bgd0BASHiH6jYMLIsUdQJTs%2FC641KN4oCHWolCMLlMfIdtWKScjx7SM5LD9HnfmhrGI0S139UWfUnxgOXdJFW%2BAMcGjKr6eHAttHF5sUoeArYKDcxMSYcKA%2FxUDhPiEOEAPafSIUFArN0r24ynI91EPARDXvIDYyvqZaWeroBOUABQA%2FE%2BDXC7PWafDLQY2oiwpUEyj4RQtVlUp1GrM7In2p2A7VuiOW6otMiGOo5Mrp05ejVuTy6dNX%2Fk%2F7mybZQ0nUmfrbx3U4KueDnlHm5wdh8FFeKnoaKKh%2FTK18StOPhwG9Xo5mqXAxvw%2F79YQwwDR%2BnAKQQ4izVXioB84qcppWB7IqjU45z4CE17OvF1Dw%2BoTFqxtz8dxwtogBnF9MjIl%2Fin%2BK8s3hM9laIn0TiCbTAXL0T798bPXqx36p3chrv0O%2BGC9Xaj48Ecv8U8UEeBvUEsDlTepiU5OvlpeNGvpnKF0RvUooWhIjnx6GeBapXCQYTw9DNg6%2FOC3gZjp76oNTj9Kz6Jqobxb9NDqc08vcKReOpcsQV2K8InXFaXW3aI6Ofr1k48rp7CX7rx%2Bv1UKPsfvzQU0Kc83i2VdILmd2%2FyX55zT9luN2%2BCu4nKfwPcK%2FCvDVU%2BpHh8%2BLaldIf1fA5h3ndT6Fln9%2FW%2F9Ce1vndfvJtnPVO2xhm3qbafHVCN1X363UXHq9xuVD8OSD29Z8pZ5cZrern9cAdGW%2Fuib%2Fud%2BVK0L9a42r6C90kL8KzxwLQw9NkIQJL0ASU8M%2BVG0KsUdgdvpgP%2F6NqqP0%2FgHZFUfGEijZLHpiIgvV5%2FBltrj8Qd7XQd5p4P%2B7tJo30NMO6VGBwahSPMYiaaBYoLY6uEnciyhhh1Z%2FvvacG%2Frjpsvnpzs0B1Id6fmX8119l88XnOxe%2FuGrzzHcdu7UtY3%2B2vmXN5zUyj3ZcPl8p1sZSs6%2FnGXtwrV7Ka0XZdz83fwjjINpZWYw85lL8BRK4nGyIir2RiOsEyipuEcIakpGjWgBjLiHWOgj0Yi34gW1kKPxHt2Na5q%2Blwg1RdRSpFDNzosb44YJXnAfoEOpZW%2F%2F6u1lhYA6leevezbI26zNHO811M2dc5HFxpk4i1jPC0s21%2FBWW5DnPQbn2X1WK43%2FaM2n18DfSoybbNHijFpamzXI31eRibGUOxSu%2FlT96YZlq1Yt20DaSBuG6knw2eusHs5EPBfNmVvHKdaQzcDfz9ZsXmLDWGXy2U5OsYSsIn8CS12jQIyD12KKqZrLPy7mSPdICmd6WGHG8NDZkkHuE4h9TU8FpmUO%2FVjC%2FEinToFyoNDz2p9XD6g78WgQdPG7Z3R0T%2FZ5dTM9lsL8Ktek7szl2L%2BgQwGgwkZHc2g5Su7NvVqwGy2Ua4KSXUwt1X4PaM5paaEu6jQ5zVFyNabxvUksVt2T%2F4VeamYPlLtffdQsk%2B2sUTY%2FzDXl%2F05W53%2FBz9UK3p7LjapZ2ZxOm%2BUlZXrL3HHGqO8%2BwVroDaCTTnTxitMxmiAAYQzVJQH%2Bnj3oIHnPaN6Zq6sNSLjBl8tKgVr2mj%2F9CWi9dnKca8rBQBsd5R1tzVlgrl5pbnPw6kZclCr2CHxMnHohLz%2B3KRQokzALyeIKFU1TNCiayJdoHvDYe7K6mZLm8S3uJ9dojuaJ62%2FqN%2FtjQxnSnhnKPw%2BLNrLi8ZKyJ3x1YhiI1aNAtP6NzCGzYv3DmaGh%2FLvQZnt0evgIhTFV0kE%2FPYxAnOHhCQUZdCWY5JWJwMzlAGl1mpNbDU7yyGnhRMILsYhH3VRAijrPcBU8%2FCj1Y9NY6cnGVW0CjTLaz7E3epvaT%2FLtTV72Rs%2B0WVVmd0dz%2FMGTI5F0OsIviaqDlbbO5X6xT3PeXbXHRtf%2Fz%2Bfdka%2BeKPr8KF7IF4vBsT9MFPuPJMBTBMq9hQxXelQ%2Bbewnf18ap4Ib%2BmSMrtDU5zqlD8QANa5MBGh%2FOwOvSDfcV2d66mfEWsbGWmIz6nsyZDWQSmqmxDneYyvjHPmRXHZxeueyRGLZzvRioKnGto9nIPkibAJA16adcOZRQr1iAP3bUyBR7T4RgAWTKxhkCYFwshq%2B7iV9r0whk50cmRcTg4fy5x4OmmNkHndIA2%2BYuMbmE9dwGYB4KFTsvnDE6Ah47r%2FfE3AYI%2BoXADpkdlENcZ8OZEEf8FFGZNxMs6ZLpG3SUFLL7Q2kcFU%2FA%2FJsw%2BvWDa%2F7emewLaoeibaF1B9qUNnuqWK3%2BUfXYVL1v%2FomD15xxeDkPnXTOKSVcCbDGtOu0YQNpGAP7U1HU58UrqGu8xIbHtkQ3LVhb7Dx46ET3Ffcm1q0YcOizNmf3bC3VjWfAcpSv3MyTlgJ23FHQgmgvk%2Bgk8pL0mcCDOn08MDAQlf%2B%2FSlTZ1z12fnqntOhbOTL9%2FZdevbAPN%2Byby1f%2FuUtC%2Fixm8ZBo59LTXEW060hGrTDplNprWd58fwB%2Fb%2FE27BdS%2Fs7U%2BrGVCeQ46nzaw9QccnmZerGZZs3Yw9aVHt%2BKh6HN4ti6lxIhT%2FwahnZtWwzlY9QHQ2c79C%2BdxzvVDKy8GqKWQERO9YAKbpsDUTLdWV5dE8PVPjvj9pqw7ah%2FPFVtkit7aj6G5xY9mfJrCz1j1e0BcnPol4UjtrCdbahIVtd2HaURujnFJR8CuOuUUfhrGhgKKgjCYNSvCc1WKlEp8wHUaAYynFNyzZn%2B2MnYv36dbMDBTonl%2FT%2Fma5IKAyEGz%2B4eRnVtaX6tss2o34u8mWorFtuFgm4A6qK%2Fyp%2FgLEBVat5WnPDdKA574ubuFJ%2FIUfZ%2FY2Nt6mN%2BZNNTSTaeI56gKwkXerTe9DDHUw8%2FH35FY3nNN7GGuBKWhrV9ep%2B0k1WjNWVaHkW1yA%2BQHWNu8rtBw2a5YXuE40rs7%2FGA%2Bj09V3hA98yRnFPOGr8ltGlsFdD%2F7tRce3LH6Trcneuiy7K7J3khKu%2B3qUaXPWaX7T6%2FKfj9BX2eZq2XAcZT79u1ClJzUtHUqfqSMWBcZS43Ena0cUGLgpkKxB1QM%2B0Fxz10wgg6r5rltnFpH05pepUq3Y2HfYqeKRntmUFNz%2BXmcOs1H31U6cC6RTVLfCg7RNBF1UF2%2FwBgu0fFQtPEU1sSg3VcNsR7dWq3af87tUFn1l3ltXpaJxpNvtcZkH2WmMst3JqRpxUH%2BWC0E1qOGtP66s1MYv%2BVLu8%2FXFXvV%2FZbunYYBeVN64ls0ur6NzpV9xzlmQwB5qC4Tq70WC0tk8dWJXeHvkD0h9zJOM0vD86%2F1NJMaIAolctvlByferCsqOKDKceOfUu1PsmoFCamV5mCrMUOCi6V6FJosMF22AcrKJgQDVhfYh6tepp%2FlYgvnCEAbJQ1L0rOpajEmRcasMiPfxhgGoVo4rwreQpV6fUJHH2e8fa1s2c13Apl1b89a58ozdoap2sjgLN9uISl7P1DrulyeIkt0zr6JjWocoPOZsaXPb6jtqBblsgsaRre2xHi4nELm0MhG1%2Bx1SXwLpFi53b%2BaHRYo%2FIrbZtuWAKu5cSEXfybnnmUCaXGTpQr0xK2O2WWY76f%2BnAjNVf7nCZHU5XqIkTnpt6VtvsFlPXg1031g%2FVRdpkkyVpD7jnmax88QwDvg%2F66NnMRdRXTcGTmQc3cuINwN5IQqi0yzb%2BYFVHuVqI5s4ADfg5oE4ybDLd28mFSFmYvRoomsWXEdLU2Wl3GJy93ZNb%2Fd5gqmNaqJZSO1l6PVRy0nZIj%2F45EetjLguh1rLqR%2BSK0hO6NrsqcNX8zoUdjQYDJ7tb4os6%2Bi%2BY0qpY2AWlnLRDWdGFTfGY1gV0zNAtJ7pdo24se0D88AwLY%2FgZmE9iuP4V5v7CSR%2FRThaHLh%2BUeBkXwU6BC7lGOevK65udTv%2BtS%2FPfW7qj3ljTcj3b9OkbV85t8xsMj7Ddj7DGpthZKwKPvso%2Fc%2F1K9aLE12fMWLV1y1D9ua8lyJdWXr%2FbG%2BnoCFutf%2FmLILe39ITUV4igr3876fpX5g2zeB52sWnIL4fXHlgeUzOx5QfIvJQyrKQE9wHUqVq%2BPEaOrz0wVvNbJZVSfsuMzxN4l9PkedFzw9V5Dj%2BnzpgoT4ZxCxJfC5RWLc74YVHxKlExCYt0JAOMatREhHBSCAtSfod6x6Ls8HCWECLwXZ9nd5Dz1T24JUdWs6fU3%2B%2BfcnT49Qe%2BkBs%2BwdsMZgPXMp3U5S958snPP%2FEE7bvkOPCuTUDTUQ%2FUzirLhML9yPahoe1D5Fj5jWsaoveyP00PehdUAHk%2FseDVWsvDWXXXsyn%2F4wfpXc2V3%2FQxli3jl%2F5hj%2F83avSCfpTNxOEKLmTjxOEKuxgNlsQn0xgct724mhynupNW1Ph6o3RYS3%2F%2B2TJrzLlkFz%2Bip3qCHKf6eqW02QJLjBYuuj4sobhCWqa%2FYHGEHpcnumuWSOhxeaL7sOakNR6vvmo%2BYcfFA8UFXEPZf9UjyudIOyNwx%2Fi90DdsujS%2FFX2UAwvWSVK4NxaMhAGw3oowp%2Fuc8CTi7D2rBgZWwb%2F60faR7SPsEbjkXy4G0XaqhXPwe2cePjxjxuHD6ssQuR1fq6PF0E%2Bo2t1nePTn8TUmxz%2FA3crMoCc7egESuoTHYc7mYdg6etORoOhR7BBGD%2BqJopELrl4S6cJNRtEAsLP%2FOdvnJq0Wo0GolY2Et9VFB2Kf%2B4bZvVyxfOMz3WdFfSIryj6DwWghre7aQbdiDrkTL3A3vNDuDpk93HqXwam%2BbWmUJZfNn5ozKV5Pmmq8PF%2FjVY%2B2Tlk2M2RzSXKjmbQ4RZcQavEYrN%2F9rlXwtIQqzxQNMzPPfHYLvuPoO9TbT8bpGw5CQPGd%2BSyX%2FCyf0Vxjd2R9NmsunnXYa8xGHzn%2BsSfM5J0y0DZEXWWxkXjcR75KBLNLHi7XvX2G8VOrf4Ykg0AMdBESIpo7MgAfyakA6rkqpI6UjNs0px7cMV%2BD5BF49Tez1VGnYmq0WIijp985m4Sn2gJR9b07riPPFo97OYbUZbxJCpot7H%2FlpZBicglCPN7WOfJkcHqc3ElWqvvz%2F1E6bIQrG%2Btz6WkM1SM9FBTR7FSs8KyBBytSmNEoquJNFN5EQyTiCrnKDx1h58yxCepPHU5nxGoxEQeeOZi2m80DxNxncVhr6BmEfUarxejw%2BWSiHhWk19bSY7aKR5MsteblJpfTLtjimBouXsm3d3djjYM%2BwEW0El9dM%2FueVRWIsXwe43R7SgbVZqrnqoJ1X%2FkuF7pcgf8duv4q6vayV5U9zMV91GxO59UUjW8rHV6u799WzKMT7umRCXbYUKM%2BfoaCcwgaoqZUtmodV3p%2BX7akb4dnU9B9La38RPFUG2SCC90tVA4XwEFhyOpZZrUCsgWYHsczLFBBVGNtstoN1bw0Z%2BO4fYIbvZVt4EUcJEKOhHeincWqONw%2Bq6w5Go%2BWGOSR7LhKV%2BKBqbBPpfUvOf9QqkpDyVhBeyyZQGMsdA5FBUqvFMtUyGq9vjnsAJU4UcrxldP1CCaofyDkSAifoP5QwWx%2BSyUGxp75BzGAvtG7uQ38LehlyEQMeh0TeE6Bm7tYdXqdkt0uOb3kfYlNwmOdDyacOq%2FqlFo1v%2BPTmTi3E%2FglC9W11b34A22zmLzvb231Q0L2Bgg60OTW4YdstO%2BYOJnO38TtpH7zy9ymokWyA79qlVSn38HtpFlImFnhu3b4boNWXklOXV0Iwo7lQ1hrZyPFcwtjwFP7iEKSHSSJw509kh8kj6pr%2BH1jR7km9vcvqN9657vffefkv%2BfKxge1X%2B7RdjYUPIESN7gTvRkB%2FRMYtEkaVkdHApmdBPpnKmz0n1xSWFOyVIuLrinZwpoCRe6kyiVZoHX088F%2BUX4%2BWKS4iBTP0IWxGtZgOdMaV4KTayqHQF%2FVihBwTbgDXTCmKoOBJeNhwJMzEVjtjIFLuU38fPR7hqNG1JS7g%2FqRCuy3vmQ3W9Vu8qbVbP%2BSzazGRJH83MzP90Ck2m31mMjP8TiLn5uwD2Ugr2PFvPQjB5BnSJvQxGQZZEB%2BLopqzGzDbMmbkAPkZVJjeO5FzOSBKCgJze2ZS4Gemc9twrwY6u9H61iUQTcRvtdT9RW3tRxAWwFs2tcuJRnI6xjmBdWjbgFNRHMHiF1uHYBfUR%2Fut5Ug2jXAaT96%2B9RH%2FFToRwIzGbKmVJ1AZQnoabSB1yyIg7ByAridHApPMjyw0OiV6RjSbCuzwLAvFizBliWJua1tsuAgvNPbmljYbpt8lkWam7b3XZiOiKJskMOtmfScnsbPW208knwjuXrXK4Q1iKIgNyYXXDVT9C2Ye%2F78GQ5BEEXfFdde2RwauOysdJNL5AzCy84ard%2FnGAVN8alecnFdgu5Gbd5DJTL%2BhHZK0vApVy3OfU8XTSJg1TlssivsPYUlIqvn66PzrVTymCc4wgF6SDNR0pDf%2B9Gp%2BVnsUH5WtpHYsuhOaey8zdwLN47V8MTbm78g687%2BP3cx6tcAeNpjYGRgYGBk8s0%2FzBIfz2%2FzlUGeZQNQhOFCWfF0GP0%2F8P8c1jusIkAuBwMTSBQAYwQM6HjaY2BkYGAV%2Bd8KJgP%2FXWG9wwAUQQGLAYqPBl942n1TvUoDQRCe1VM8kWARjNrZGIurBAsRBIuA2vkAFsJiKTYW4guIjT5ARMgTxCLoA1hcb5OgDyGHrY7f7M65e8fpLF%2B%2B2W%2FnZ2eTmGfaIJi5I0qGDlZZcD51QzTTJirZPAI9JIwVA%2BwT8L5nOdMaV0AuMJ%2BicRHq8of6LSD18fzq8ds7xjpwBnQiSI9V5QVl6NwPvgM15NXn%2FAtWZyj3W0HjEXitOc%2FdIdbetPdFTZ%2BP6t%2BX7xU0%2Fk6GJtOe1%2FB3arN0%2Fpmz1J4UZc%2BD6ExwjD7vioeGd5HvhvU%2BR%2BDZcGZ6YBPNfAi0G97iBPwFXqph2cW8%2BD7kjMfwtinHb6kLb6Wygk3cZytSEoptGrlScdHtLPeri1JKueACMZfU1ViJG1Sq5E43dIt7SZZFl1zuRhb%2FGOs44xFVDbrJzB5tYs35OmaXTrEmkv0DajnMWQB42mNgYNCCwk0MLxheMPrhgUuY2JiUmOqY2pjWMD1hdmPOY%2B5hPsLCwWLEksSyiOUOawzrLrYiti%2FsCuxJ7Kc45DiSOPZxmnG2cG7jvMelweXDNYXrEbcBdxf3KR4OngheLd443g18fHwZfFv4NfiX8T8TEBIIEZggsEpQS7BMcJsQl5CFUI3QAWEp4RLhCyJaIldEbURXiJ4RYxEzE0sQ2yD2TzxIfJkEk4SeRJbENIkNEg8k%2FklqSGZITpE8InlL8p2UmVSG1A6pb9Jx0ltkjGSmyDySlZF1kc2RnSK7R%2FaZnJ5cmdwB%2BST5SwpuCvsUjRTLFHcoOShNU9qhzKespGyhXKV8SPmBCpOKgUqcyjSVR6omqgmqe9RE1OrUnqkHqO9R%2F6FholGgsUZzgeYZLTUtL60WbS7tKh0OnQydXTpvdGV0O3S%2F6Gnopekt0ruhz6fvpl%2Bnv0n%2Fh4GdQYvBJUMhwwTDdYYvjFSM4oxmGd0zVjK2M84w3mYiYZJgssLkkqmO6TzTF2Z2ZjVmd8ylzP3MJ5lfsRCwcLJoszhhyWXpZdlhecZKxirHapbVPesF1ndsJGwCbBbZ%2FLA1sn1jZ2XXY3fFXsM%2Bz36V%2FS8HD4cGh2OOTI51ThJOK5zeOUs4OzmXOS9wPuUi4JLgss7lm2uU6zY3NrcSty1u39zN3Mvct7l%2F8xDzMPLw88jyaPM44ynkaeEZ59niucqLyUvPKwgAn3OqOQAAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAHjarZK9TgJBEMf%2Fd6CRaAyRhMLqCgsbL4ciglTGRPEjSiSKlnLycXJ86CEniU%2FhM9jYWPgIFkYfwd6nsDD%2Bd1mBIIUx3mZnfzs3MzszuwDCeIYG8UUwQxmAFgxxPeeuyxrmcaNYxzTuFAewi0fFQSTxqXgM11pC8TgS2oPiCUS1d8Uh8ofiSczpYcVT5LjiCPlY8Qui%2BncOr7D02y6%2FBTCrP%2Fm%2Bb5bdTrPi2I26Z9qNGtbRQBMdXMJBGRW0YOCecxEWYoiTCvxrYBunqHPdoX2bLOyrMKlZg8thDETw5K7Itci1TXlGy0124QRZZLDFU%2FexhxztMozlosTpMH6ZPge0L%2BOKGnFKjJ4WRwppHPL0PP3SI2P9jLQwFOu3GRhDfkeyDo%2F%2FG7IHgzllZQxLdquvrdCyBVvat3seJlYo06gxapUxhU2JWnFygR03sSxnEkvcpf5Y5eibGq315TDp7fKWm8zbUVl71Aqq%2FZtNnlkWmLnQtno9ycvXYbA6W2pF3aKfCayyC0Ja7Fr%2FPW70%2FHO4YM0OKxFvzf0C1MyPjwAAeNpt1VWUU2cYRuHsgxenQt1d8%2F3JOUnqAyR1d%2FcCLQV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oAClIAogLyBfIKwgvSISIxsl%2FCYBJvonCScP4APgCeAZ4CngOeBJ4FngYOBp4HngieCX4QnhGeEp4TnhRuFJ4VnhaeF54YnhleGZ4gbiCeIW4hniIeIn4jniSeJZ4mD4%2F%2F%2F%2FAAAAIAAqAKAApSAAIC8gXyCsIL0iEiMbJfwmASb6JwknD%2BAB4AXgEOAg4DDgQOBQ4GDgYuBw4IDgkOEB4RDhIOEw4UDhSOFQ4WDhcOGA4ZDhl%2BIA4gniEOIY4iHiI%2BIw4kDiUOJg%2BP%2F%2F%2F%2F%2Fj%2F9r%2FZv9i4Ajf5N%2B132nfWd4F3P3aHdoZ2SHZE9kOIB0gHCAWIBAgCiAEH%2F4f%2BB%2F3H%2FEf6x%2FlH3wfdh9wH2ofZB9jH10fVx9RH0sfRR9EHt4e3B7WHtUezh7NHsUevx65HrMIFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACjAAAAAAAAAA1AAAAIAAAACAAAAADAAAAKgAAACsAAAAEAAAAoAAAAKAAAAAGAAAApQAAAKUAAAAHAAAgAAAAIAoAAAAIAAAgLwAAIC8AAAATAAAgXwAAIF8AAAAUAAAgrAAAIKwAAAAVAAAgvQAAIL0AAAAWAAAiEgAAIhIAAAAXAAAjGwAAIxsAAAAYAAAl%2FAAAJfwAAAAZAAAmAQAAJgEAAAAaAAAm%2BgAAJvoAAAAbAAAnCQAAJwkAAAAcAAAnDwAAJw8AAAAdAADgAQAA4AMAAAAeAADgBQAA4AkAAAAhAADgEAAA4BkAAAAmAADgIAAA4CkAAAAwAADgMAAA4DkAAAA6AADgQAAA4EkAAABEAADgUAAA4FkAAABOAADgYAAA4GAAAABYAADgYgAA4GkAAABZAADgcAAA4HkAAABhAADggAAA4IkAAABrAADgkAAA4JcAAAB1AADhAQAA4QkAAAB9AADhEAAA4RkAAACGAADhIAAA4SkAAACQAADhMAAA4TkAAACaAADhQAAA4UYAAACkAADhSAAA4UkAAACrAADhUAAA4VkAAACtAADhYAAA4WkAAAC3AADhcAAA4XkAAADBAADhgAAA4YkAAADLAADhkAAA4ZUAAADVAADhlwAA4ZkAAADbAADiAAAA4gYAAADeAADiCQAA4gkAAADlAADiEAAA4hYAAADmAADiGAAA4hkAAADtAADiIQAA4iEAAADvAADiIwAA4icAAADwAADiMAAA4jkAAAD1AADiQAAA4kkAAAD%2FAADiUAAA4lkAAAEJAADiYAAA4mAAAAETAAD4%2FwAA%2BP8AAAEUAAH1EQAB9REAAAEVAAH2qgAB9qoAAAEWAAYCCgAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAL4AAAAAf%2F%2FAAIAAgAoAAABaAMgAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIRElMxEjKAFA%2Fujw8AMg%2FOAoAtAAAQBkAGQETARMAFsAAAEyFh8BHgEdATc%2BAR8BFgYPATMyFhcWFRQGDwEOASsBFx4BDwEGJi8BFRQGBwYjIiYvAS4BPQEHDgEvASY2PwEjIiYnJjU0Nj8BPgE7AScuAT8BNhYfATU0Njc2AlgPJgsLCg%2BeBxYIagcCB57gChECBgMCAQIRCuCeBwIHaggWB54PCikiDyYLCwoPngcWCGoHAgee4AoRAgYDAgECEQrgngcCB2oIFgeeDwopBEwDAgECEQrgngcCB2oIFgeeDwopIg8mCwsKD54HFghqBwIHnuAKEQIGAwIBAhEK4J4HAgdqCBYHng8KKSIPJgsLCg%2BeBxYIagcCB57gChECBgAAAAABAAAAAARMBEwAIwAAATMyFhURITIWHQEUBiMhERQGKwEiJjURISImPQE0NjMhETQ2AcLIFR0BXhUdHRX%2Boh0VyBUd%2FqIVHR0VAV4dBEwdFf6iHRXIFR3%2BohUdHRUBXh0VyBUdAV4VHQAAAAABAHAAAARABEwARQAAATMyFgcBBgchMhYPAQ4BKwEVITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ASYnASY2OwEyHwEWMj8BNgM5%2BgoFCP6UBgUBDAoGBngGGAp9ARMKBgZ4BhgKfQ8LlAsP%2Fu0KBgZ4BhgKff7tCgYGeAYYCnYFBv6UCAUK%2BhkSpAgUCKQSBEwKCP6UBgwMCKAIDGQMCKAIDK4LDw8LrgwIoAgMZAwIoAgMDAYBbAgKEqQICKQSAAABAGQABQSMBK4AOwAAATIXFhcjNC4DIyIOAwchByEGFSEHIR4EMzI%2BAzUzBgcGIyInLgEnIzczNjcjNzM%2BATc2AujycDwGtSM0QDkXEys4MjAPAXtk%2FtQGAZZk%2FtQJMDlCNBUWOUA0I64eYmunznYkQgzZZHABBdpkhhQ%2BH3UErr1oaS1LMCEPCx4uTzJkMjJkSnRCKw8PIjBKK6trdZ4wqndkLzVkV4UljQAAAgB7AAAETASwAD4ARwAAASEyHgUVHAEVFA4FKwEHITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ARE0NhcRMzI2NTQmIwGsAV5DakIwFgwBAQwWMEJqQ7ICASAKBgZ4BhgKigsKlQoP%2FvUKBgZ4BhgKdf71CgYGeAYYCnUPtstALS1ABLAaJD8yTyokCwsLJCpQMkAlGmQMCKAIDK8LDg8KrwwIoAgMZAwIoAgMAdsKD8j%2B1EJWVEAAAAEAyAGQBEwCvAAPAAATITIWHQEUBiMhIiY9ATQ2%2BgMgFR0dFfzgFR0dArwdFcgVHR0VyBUdAAAAAgDIAAAD6ASwACUAQQAAARUUBisBFRQGBx4BHQEzMhYdASE1NDY7ATU0NjcuAT0BIyImPQEXFRQWFx4BFAYHDgEdASE1NCYnLgE0Njc%2BAT0BA%2BgdFTJjUVFjMhUd%2FOAdFTJjUVFjMhUdyEE3HCAgHDdBAZBBNxwgIBw3QQSwlhUdZFuVIyOVW5YdFZaWFR2WW5UjI5VbZB0VlshkPGMYDDI8MgwYYzyWljxjGAwyPDIMGGM8ZAAAAAEAAAAAAAAAAAAAAAAxAAAB%2F%2FIBLATCBEEAFgAAATIWFzYzMhYVFAYjISImNTQ2NyY1NDYB9261LCwueKqqeP0ST3FVQgLYBEF3YQ6teHmtclBFaw4MGZnXAAAAAgAAAGQEsASvABoAHgAAAB4BDwEBMzIWHQEhNTQ2OwEBJyY%2BARYfATc2AyEnAwL2IAkKiAHTHhQe%2B1AeFB4B1IcKCSAkCm9wCXoBebbDBLMTIxC7%2FRYlFSoqFSUC6rcQJBQJEJSWEPwecAIWAAAAAAQAAABkBLAETAALABcAIwA3AAATITIWBwEGIicBJjYXARYUBwEGJjURNDYJATYWFREUBicBJjQHARYGIyEiJjcBNjIfARYyPwE2MhkEfgoFCP3MCBQI%2FcwIBQMBCAgI%2FvgICgoDjAEICAoKCP74CFwBbAgFCvuCCgUIAWwIFAikCBQIpAgUBEwKCP3JCAgCNwgK2v74CBQI%2FvgIBQoCJgoF%2FvABCAgFCv3aCgUIAQgIFID%2BlAgKCggBbAgIpAgIpAgAAAAD%2F%2FD%2F8AS6BLoACQANABAAAAAyHwEWFA8BJzcTAScJAQUTA%2BAmDpkNDWPWXyL9mdYCZv4f%2FrNuBLoNmQ4mDlzWYP50%2FZrWAmb8anABTwAAAAEAAAAABLAEsAAPAAABETMyFh0BITU0NjsBEQEhArz6FR384B0V%2Bv4MBLACiv3aHRUyMhUdAiYCJgAAAAEADgAIBEwEnAAfAAABJTYWFREUBgcGLgE2NzYXEQURFAYHBi4BNjc2FxE0NgFwAoUnMFNGT4gkV09IQv2oWEFPiCRXT0hCHQP5ow8eIvzBN1EXGSltchkYEAIJm%2F2iKmAVGilucRoYEQJ%2FJioAAAACAAn%2F%2BAS7BKcAHQApAAAAMh4CFQcXFAcBFgYPAQYiJwEGIycHIi4CND4BBCIOARQeATI%2BATQmAZDItoNOAQFOARMXARY7GikT%2Fu13jgUCZLaDTk6DAXKwlFZWlLCUVlYEp06DtmQCBY15%2Fu4aJRg6FBQBEk0BAU6Dtsi2g1tWlLCUVlaUsJQAAQBkAFgErwREABkAAAE%2BAh4CFRQOAwcuBDU0PgIeAQKJMHt4dVg2Q3mEqD4%2Bp4V4Qzhadnh5A7VESAUtU3ZAOXmAf7JVVbJ%2FgHk5QHZTLQVIAAAAAf%2FTAF4EewSUABgAAAETNjIXEyEyFgcFExYGJyUFBiY3EyUmNjMBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAyABYRMT%2Fp8RDPn%2BbxQLDPb3DAsUAZD7DBEAAv%2FTAF4EewSUABgAIgAAARM2MhcTITIWBwUTFgYnJQUGJjcTJSY2MwUjFwc3Fyc3IycBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAfPwxUrBw0rA6k4DIAFhExP%2BnxEM%2Bf5vFAsM9vcMCxQBkPsMEWSO4ouM5YzTAAABAAAAAASwBLAAJgAAATIWHQEUBiMVFBYXBR4BHQEUBiMhIiY9ATQ2NyU%2BAT0BIiY9ATQ2Alh8sD4mDAkBZgkMDwr7ggoPDAkBZgkMJj6wBLCwfPouaEsKFwbmBRcKXQoPDwpdChcF5gYXCktoLvp8sAAAAA0AAAAABLAETAAPABMAIwAnACsALwAzADcARwBLAE8AUwBXAAATITIWFREUBiMhIiY1ETQ2FxUzNSkBIgYVERQWMyEyNjURNCYzFTM1BRUzNSEVMzUFFTM1IRUzNQchIgYVERQWMyEyNjURNCYFFTM1IRUzNQUVMzUhFTM1GQR%2BCg8PCvuCCg8PVWQCo%2F3aCg8PCgImCg8Pc2T8GGQDIGT8GGQDIGTh%2FdoKDw8KAiYKDw%2F872QDIGT8GGQDIGQETA8K%2B%2BYKDw8KBBoKD2RkZA8K%2FqIKDw8KAV4KD2RkyGRkZGTIZGRkZGQPCv6iCg8PCgFeCg9kZGRkZMhkZGRkAAAEAAAAAARMBEwADwAfAC8APwAAEyEyFhURFAYjISImNRE0NikBMhYVERQGIyEiJjURNDYBITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NjIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR39vQGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHQRMHRX%2BcBUdHRUBkBUdHRX%2BcBUdHRUBkBUd%2FagdFf5wFR0dFQGQFR0dFf5wFR0dFQGQFR0AAAkAAAAABEwETAAPAB8ALwA%2FAE8AXwBvAH8AjwAAEzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2MsgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR0ETB0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHf5wHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0ABgAAAAAEsARMAA8AHwAvAD8ATwBfAAATMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYyyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHQRMHRXIFR0dFcgVHR0VyBUdHRXIFR3%2BcB0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHQAAAAABACYALAToBCAAFwAACQE2Mh8BFhQHAQYiJwEmND8BNjIfARYyAdECOwgUB7EICPzxBxUH%2FoAICLEHFAirBxYB3QI7CAixBxQI%2FPAICAGACBQHsQgIqwcAAQBuAG4EQgRCACMAAAEXFhQHCQEWFA8BBiInCQEGIi8BJjQ3CQEmND8BNjIXCQE2MgOIsggI%2FvUBCwgIsggVB%2F70%2FvQHFQiyCAgBC%2F71CAiyCBUHAQwBDAcVBDuzCBUH%2FvT%2B9AcVCLIICAEL%2FvUICLIIFQcBDAEMBxUIsggI%2FvUBDAcAAwAX%2F%2BsExQSZABkAJQBJAAAAMh4CFRQHARYUDwEGIicBBiMiLgI0PgEEIg4BFB4BMj4BNCYFMzIWHQEzMhYdARQGKwEVFAYrASImPQEjIiY9ATQ2OwE1NDYBmcSzgk1OASwICG0HFQj%2B1HeOYrSBTU2BAW%2BzmFhYmLOZWFj%2BvJYKD0sKDw8KSw8KlgoPSwoPDwpLDwSZTYKzYo15%2FtUIFQhsCAgBK01NgbTEs4JNWJmzmFhYmLOZIw8KSw8KlgoPSwoPDwpLDwqWCg9LCg8AAAMAF%2F%2FrBMUEmQAZACUANQAAADIeAhUUBwEWFA8BBiInAQYjIi4CND4BBCIOARQeATI%2BATQmBSEyFh0BFAYjISImPQE0NgGZxLOCTU4BLAgIbQcVCP7Ud45itIFNTYEBb7OYWFiYs5lYWP5YAV4KDw8K%2FqIKDw8EmU2Cs2KNef7VCBUIbAgIAStNTYG0xLOCTViZs5hYWJizmYcPCpYKDw8KlgoPAAAAAAIAFwAXBJkEsAAPAC0AAAEzMhYVERQGKwEiJjURNDYFNRYSFRQOAiIuAjU0EjcVDgEVFB4BMj4BNTQmAiZkFR0dFWQVHR0BD6fSW5vW6tabW9KnZ3xyxejFcnwEsB0V%2FnAVHR0VAZAVHeGmPv7ZuHXWm1tbm9Z1uAEnPqY3yHh0xXJyxXR4yAAEAGQAAASwBLAADwAfAC8APwAAATMyFhURFAYrASImNRE0NgEzMhYVERQGKwEiJjURNDYBMzIWFREUBisBIiY1ETQ2BTMyFh0BFAYrASImPQE0NgQBlgoPDwqWCg8P%2Ft6WCg8PCpYKDw%2F%2B3pYKDw8KlgoPD%2F7elgoPDwqWCg8PBLAPCvuCCg8PCgR%2BCg%2F%2BcA8K%2FRIKDw8KAu4KD%2F7UDwr%2BPgoPDwoBwgoPyA8K%2BgoPDwr6Cg8AAAAAAgAaABsElgSWAEcATwAAATIfAhYfATcWFwcXFh8CFhUUDwIGDwEXBgcnBwYPAgYjIi8CJi8BByYnNycmLwImNTQ%2FAjY%2FASc2Nxc3Nj8CNhIiBhQWMjY0AlghKSYFMS0Fhj0rUAMZDgGYBQWYAQ8YA1AwOIYFLDIFJisfISkmBTEtBYY8LFADGQ0ClwYGlwINGQNQLzqFBS0xBSYreLJ%2BfrJ%2BBJYFmAEOGQJQMDmGBSwxBiYrHiIoJgYxLAWGPSxRAxkOApcFBZcCDhkDUTA5hgUtMAYmKiAhKCYGMC0Fhj0sUAIZDgGYBf6ZfrF%2BfrEABwBkAAAEsAUUABMAFwAhACUAKQAtADEAAAEhMhYdASEyFh0BITU0NjMhNTQ2FxUhNQERFAYjISImNREXETMRMxEzETMRMxEzETMRAfQBLCk7ARMKD%2Fu0DwoBEzspASwBLDsp%2FUQpO2RkZGRkZGRkBRQ7KWQPCktLCg9kKTtkZGT%2B1PzgKTs7KQMgZP1EArz9RAK8%2FUQCvP1EArwAAQAMAAAFCATRAB8AABMBNjIXARYGKwERFAYrASImNREhERQGKwEiJjURIyImEgJsCBUHAmAIBQqvDwr6Cg%2F%2B1A8K%2BgoPrwoFAmoCYAcH%2FaAICv3BCg8PCgF3%2FokKDw8KAj8KAAIAZAAAA%2BgEsAARABcAAAERFBYzIREUBiMhIiY1ETQ2MwEjIiY9AQJYOykBLB0V%2FOAVHR0VA1L6FR0EsP5wKTv9dhUdHRUETBUd%2FnAdFfoAAwAXABcEmQSZAA8AGwAwAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBTMyFhURMzIWHQEUBisBIiY1ETQ2AePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnL%2BfDIKD68KDw8K%2BgoPDwSZW5vW6tabW1ub1urWmztyxejFcnLF6MUNDwr%2B7Q8KMgoPDwoBXgoPAAAAAAL%2FnAAABRQEsAALAA8AACkBAyMDIQEzAzMDMwEDMwMFFP3mKfIp%2FeYBr9EVohTQ%2Fp4b4BsBkP5wBLD%2B1AEs%2FnD%2B1AEsAAAAAAIAZAAABLAEsAAVAC8AAAEzMhYVETMyFgcBBiInASY2OwERNDYBMzIWFREUBiMhIiY1ETQ2OwEyFh0BITU0NgImyBUdvxQLDf65DSYN%2FrkNCxS%2FHQJUMgoPDwr75goPDwoyCg8DhA8EsB0V%2Fj4XEP5wEBABkBAXAcIVHfzgDwr%2BogoPDwoBXgoPDwqvrwoPAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUzMhYVETMyFgcDBiInAyY2OwERNDYB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv58lgoPiRUKDd8NJg3fDQoViQ8EmVub1urWm1tbm9bq1ps7csXoxXJyxejFDQ8K%2Fu0XEP7tEBABExAXARMKDwAAAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiUTFgYrAREUBisBIiY1ESMiJjcTNjIB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv7n3w0KFYkPCpYKD4kVCg3fDSYEmVub1urWm1tbm9bq1ps7csXoxXJyxejFAf7tEBf%2B7QoPDwoBExcQARMQAAAAAAIAAAAABLAEsAAZADkAABMhMhYXExYVERQGBwYjISImJyY1EzQ3Ez4BBSEiBgcDBhY7ATIWHwEeATsBMjY%2FAT4BOwEyNicDLgHhAu4KEwO6BwgFDBn7tAweAgYBB7kDEwKX%2FdQKEgJXAgwKlgoTAiYCEwr6ChMCJgITCpYKDAJXAhIEsA4K%2FXQYGf5XDB4CBggEDRkBqRkYAowKDsgOC%2F4%2BCw4OCpgKDg4KmAoODgsBwgsOAAMAFwAXBJkEmQAPABsAJwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUXFhQPAQYmNRE0NgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJy%2Fov9ERH9EBgYBJlbm9bq1ptbW5vW6tabO3LF6MVycsXoxV2%2BDCQMvgwLFQGQFQsAAQAXABcEmQSwACgAAAE3NhYVERQGIyEiJj8BJiMiDgEUHgEyPgE1MxQOAiIuAjQ%2BAjMyA7OHBwsPCv6WCwQHhW2BdMVycsXoxXKWW5vW6tabW1ub1nXABCSHBwQL%2FpYKDwsHhUxyxejFcnLFdHXWm1tbm9bq1ptbAAAAAAIAFwABBJkEsAAaADUAAAE3NhYVERQGIyEiJj8BJiMiDgEVIzQ%2BAjMyEzMUDgIjIicHBiY1ETQ2MyEyFg8BFjMyPgEDs4cHCw8L%2FpcLBAeGboF0xXKWW5vWdcDrllub1nXAnIYHCw8LAWgKBQiFboJ0xXIEJIcHBAv%2BlwsPCweGS3LFdHXWm1v9v3XWm1t2hggFCgFoCw8LB4VMcsUAAAAKAGQAAASwBLAADwAfAC8APwBPAF8AbwB%2FAI8AnwAAEyEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0NgczMhYdARQGKwEiJj0BNDYzITIWHQEUBiMhIiY9ATQ2BzMyFh0BFAYrASImPQE0NjMhMhYdARQGIyEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0Nn0EGgoPDwr75goPDwPA%2FK4KDw8KA1IKDw%2F9CDIKDw8KMgoPD9IBwgoPDwr%2BPgoPD74yCg8PCjIKDw%2FSAcIKDw8K%2Fj4KDw%2B%2BMgoPDwoyCg8P0gHCCg8PCv4%2BCg8PvjIKDw8KMgoPD9IBwgoPDwr%2BPgoPDwSwDwr7ggoPDwoEfgoPyA8K%2FK4KDw8KA1IKD2QPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKDwAAAAACAAAAAARMBLAAGQAjAAABNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmIyE1NDY7ATIWHQEDhHVT%2FtRSdmQpOzspA4QpOzsp%2FageFMgUHgMgyFN1dlLIOyn9qCk7OykCWCk7lhUdHRWWAAIAZAAABEwETAAJADcAABMzMhYVESMRNDYFMhcWFREUBw4DIyIuAScuAiMiBwYjIicmNRE%2BATc2HgMXHgIzMjc2fTIKD2QPA8AEBRADIUNAMRwaPyonKSxHHlVLBwgGBQ4WeDsXKC4TOQQpLUUdZ1AHBEwPCvvNBDMKDzACBhH%2BWwYGO1AkDQ0ODg8PDzkFAwcPAbY3VwMCAwsGFAEODg5XCAAAAwAAAAAEsASXACEAMQBBAAAAMh4CFREUBisBIiY1ETQuASAOARURFAYrASImNRE0PgEDMzIWFREUBisBIiY1ETQ2ITMyFhURFAYrASImNRE0NgHk6N6jYw8KMgoPjeT%2B%2BuSNDwoyCg9joyqgCAwMCKAIDAwCYKAIDAwIoAgMDASXY6PedP7UCg8PCgEsf9FyctF%2F%2FtQKDw8KASx03qP9wAwI%2FjQIDAwIAcwIDAwI%2FjQIDAwIAcwIDAAAAAACAAAA0wRHA90AFQA5AAABJTYWFREUBiclJisBIiY1ETQ2OwEyBTc2Mh8BFhQPARcWFA8BBiIvAQcGIi8BJjQ%2FAScmND8BNjIXAUEBAgkMDAn%2B%2FhUZ%2BgoPDwr6GQJYeAcUByIHB3h4BwciBxQHeHgHFAciBwd3dwcHIgcUBwMurAYHCv0SCgcGrA4PCgFeCg%2BEeAcHIgcUB3h4BxQHIgcHd3cHByIHFAd4eAcUByIICAAAAAACAAAA0wNyA90AFQAvAAABJTYWFREUBiclJisBIiY1ETQ2OwEyJTMWFxYVFAcGDwEiLwEuATc2NTQnJjY%2FATYBQQECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcDLqwGBwr9EgoHBqwODwoBXgoPZAEJgaGafwkBAQYXBxMIZ36EaggUBxYFAAAAAAMAAADEBGID7AAbADEASwAAATMWFxYVFAYHBgcjIi8BLgE3NjU0JicmNj8BNgUlNhYVERQGJyUmKwEiJjURNDY7ATIlMxYXFhUUBwYPASIvAS4BNzY1NCcmNj8BNgPHAwsGh0RABwoDCQcqCAIGbzs3BgIJKgf9ggECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcD7AEJs9lpy1QJAQYiBhQIlrJarEcJFAYhBb6sBgcK%2FRIKBwasDg8KAV4KD2QBCYGhmn8JAQEGFwcTCGd%2BhGoIFQYWBQAAAAANAAAAAASwBLAACQAVABkAHQAhACUALQA7AD8AQwBHAEsATwAAATMVIxUhFSMRIQEjFTMVIREjESM1IQURIREhESERBSM1MwUjNTMBMxEhETM1MwEzFSMVIzUjNTM1IzUhBREhEQcjNTMFIzUzASM1MwUhNSEB9GRk%2FnBkAfQCvMjI%2FtTIZAJY%2B7QBLAGQASz84GRkArxkZP1EyP4MyGQB9MhkyGRkyAEs%2FUQBLGRkZAOEZGT%2BDGRkAfT%2B1AEsA4RkZGQCWP4MZMgBLAEsyGT%2B1AEs%2FtQBLMhkZGT%2BDP4MAfRk%2FtRkZGRkyGTI%2FtQBLMhkZGT%2B1GRkZAAAAAAJAAAAAASwBLAAAwAHAAsADwATABcAGwAfACMAADcjETMTIxEzASMRMxMjETMBIxEzASE1IRcjNTMXIzUzBSM1M2RkZMhkZAGQyMjIZGQBLMjI%2FOD%2B1AEsyGRkyGRkASzIyMgD6PwYA%2Bj8GAPo%2FBgD6PwYA%2Bj7UGRkW1tbW1sAAAIAAAAKBKYEsAANABUAAAkBFhQHAQYiJwETNDYzBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAUM7Uzs7UzsEsP1WCBQI%2FjAICAKqAdsKD807O1Q7OwAAAAADAAAACgXSBLAADQAZACEAAAkBFhQHAQYiJwETNDYzIQEWFAcBBiIvAQkBBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAwYCqggI%2FjAIFAg4Aaj9RP7TO1M7O1M7BLD9VggUCP4wCAgCqgHbCg%2F9VggUCP4wCAg4AaoCvM07O1Q7OwAAAAABAGQAAASwBLAAJgAAASEyFREUDwEGJjURNCYjISIPAQYWMyEyFhURFAYjISImNRE0PwE2ASwDOUsSQAgKDwr9RBkSQAgFCgK8Cg8PCvyuCg8SixIEsEv8fBkSQAgFCgO2Cg8SQAgKDwr8SgoPDwoDzxkSixIAAAABAMj%2F%2FwRMBLAACgAAEyEyFhURCQERNDb6AyAVHf4%2B%2Fj4dBLAdFfuCAbz%2BQwR%2FFR0AAAAAAwAAAAAEsASwABUARQBVAAABISIGBwMGHwEeATMhMjY%2FATYnAy4BASMiBg8BDgEjISImLwEuASsBIgYVERQWOwEyNj0BNDYzITIWHQEUFjsBMjY1ETQmASEiBg8BBhYzITI2LwEuAQM2%2FkQLEAFOBw45BhcKAcIKFwY%2BDgdTARABVpYKFgROBBYK%2FdoKFgROBBYKlgoPDwqWCg8PCgLuCg8PCpYKDw%2F%2Bsf4MChMCJgILCgJYCgsCJgITBLAPCv7TGBVsCQwMCWwVGAEtCg%2F%2BcA0JnAkNDQmcCQ0PCv12Cg8PCpYKDw8KlgoPDwoCigoP%2FagOCpgKDg4KmAoOAAAAAAQAAABkBLAETAAdACEAKQAxAAABMzIeAh8BMzIWFREUBiMhIiY1ETQ2OwE%2BBAEVMzUEIgYUFjI2NCQyFhQGIiY0AfTIOF00JAcGlik7Oyn8GCk7OymWAgknM10ByGT%2Bz76Hh76H%2Fu9WPDxWPARMKTs7FRQ7Kf2oKTs7KQJYKTsIG0U1K%2F7UZGRGh76Hh74IPFY8PFYAAAAAAgA1AAAEsASvACAAIwAACQEWFx4BHwEVITUyNi8BIQYHBh4CMxUhNTY3PgE%2FAQEDIQMCqQGBFCgSJQkK%2Fl81LBFS%2Fnk6IgsJKjIe%2FpM4HAwaBwcBj6wBVKIEr%2FwaMioTFQECQkJXLd6RWSIuHAxCQhgcDCUNDQPu%2FVoByQAAAAADAGQAAAPwBLAAJwAyADsAAAEeBhUUDgMjITU%2BATURNC4EJzUFMh4CFRQOAgclMzI2NTQuAisBETMyNjU0JisBAvEFEzUwOyodN1htbDD%2BDCk7AQYLFyEaAdc5dWM%2BHy0tEP6Pi05pESpTPnbYUFJ9Xp8CgQEHGB0zOlIuQ3VONxpZBzMoAzsYFBwLEAkHRwEpSXNDM1s6KwkxYUopOzQb%2FK5lUFqBAAABAMgAAANvBLAAGQAAARcOAQcDBhYXFSE1NjcTNjQuBCcmJzUDbQJTQgeECSxK%2Fgy6Dq0DAw8MHxUXDQYEsDkTNSj8uTEoBmFhEFIDQBEaExAJCwYHAwI5AAAAAAL%2FtQAABRQEsAAlAC8AAAEjNC4FKwERFBYfARUhNTI%2BAzURIyIOBRUjESEFIxEzByczESM3BRQyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj7m0tLfX1LS30DhBUgFQ4IAwH8rhYZAQJkZAEFCRUOA1IBAwgOFSAVASzI%2FOCnpwMgpwACACH%2FtQSPBLAAJQAvAAABIzQuBSsBERQWHwEVITUyPgM1ESMiDgUVIxEhEwc1IRUnNxUhNQRMMggLGRMmGBnIMhkZ%2FnAEDiIaFsgZGCYTGQsIMgPoQ6f84KenAyADhBUgFQ4IAwH9dhYZAQJkZAEFCRUOAooBAwgOFSAVASz7gn1LS319S0sABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyAlgVHR0V%2FagVHR0VA%2BgVHR0V%2FBgVHR0VAyAVHR0V%2FOAVHR0VBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYDITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NgMhMhYdARQGIyEiJj0BNDb6ArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR3dArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AAAE1NDYzITIWHQEUBiMhIiYBNTQ2MyEyFh0BFAYjISImEzU0NjMhMhYdARQGIyEiJgE1NDYzITIWHQEUBiMhIiYB9B0VAlgVHR0V%2FagVHf5wHRUD6BUdHRX8GBUdyB0VAyAVHR0V%2FOAVHf7UHRUETBUdHRX7tBUdA7ZkFR0dFWQVHR3%2B6WQVHR0VZBUdHf7pZBUdHRVkFR0d%2FulkFR0dFWQVHR0AAAQAAAAABLAETAAPAB8ALwA%2FAAATITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2MgRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dBEwdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAgAAAAABLAETAAPAB8ALwA%2FAE8AXwBvAH8AABMzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2MmQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR0ETB0VZBUdHRVkFR0dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdHRVkFR0dFWQVHf7UHRVkFR0dFWQVHR0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0dFWQVHR0VZBUdAAAG%2F5wAAASwBEwAAwATACMAKgA6AEoAACEjETsCMhYdARQGKwEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2BQc1IzUzNQUhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2AZBkZJZkFR0dFWQVHR0VAfQVHR0V%2FgwVHR3%2B%2BqfIyAHCASwVHR0V%2FtQVHR0VAlgVHR0V%2FagVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR36fUtkS68dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAAABgAAAAAFFARMAA8AEwAjACoAOgBKAAATMzIWHQEUBisBIiY9ATQ2ASMRMwEhMhYdARQGIyEiJj0BNDYFMxUjFSc3BSEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyZBUdHRVkFR0dA2dkZPyuAfQVHR0V%2FgwVHR0EL8jIp6f75gEsFR0dFf7UFR0dFQJYFR0dFf2oFR0dBEwdFWQVHR0VZBUd%2B7QETP7UHRVkFR0dFWQVHchkS319rx0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0AAAAAAgAAAMgEsAPoAA8AEgAAEyEyFhURFAYjISImNRE0NgkCSwLuHywsH%2F0SHywsBIT%2B1AEsA%2BgsH%2F12HywsHwKKHyz9RAEsASwAAwAAAAAEsARMAA8AFwAfAAATITIWFREUBiMhIiY1ETQ2FxE3BScBExEEMhYUBiImNCwEWBIaGhL7qBIaGkr3ASpKASXs%2FNJwTk5wTgRMGhL8DBIaGhID9BIaZP0ftoOcAT7%2B4AH0dE5vT09vAAAAAAIA2wAFBDYEkQAWAB4AAAEyHgEVFAcOAQ8BLgQnJjU0PgIWIgYUFjI2NAKIdcZzRkWyNjYJIV5YbSk8RHOft7eCgreCBJF4ynVzj23pPz4IIWZomEiEdVijeUjDgriBgbgAAAACABcAFwSZBJkADwAXAAAAMh4CFA4CIi4CND4BAREiDgEUHgEB4%2BrWm1tbm9bq1ptbW5sBS3TFcnLFBJlbm9bq1ptbW5vW6tab%2FG8DVnLF6MVyAAACAHUAAwPfBQ8AGgA1AAABHgYVFA4DBy4DNTQ%2BBQMOAhceBBcWNj8BNiYnLgInJjc2IyYCKhVJT1dOPiUzVnB9P1SbfEokP0xXUEm8FykoAwEbITEcExUWAgYCCQkFEikMGiACCAgFD0iPdXdzdYdFR4BeRiYEBTpjl1lFh3ZzeHaQ%2Ff4hS4I6JUEnIw4IBwwQIgoYBwQQQSlZtgsBAAAAAwAAAAAEywRsAAwAKgAvAAABNz4CHgEXHgEPAiUhMhcHISIGFREUFjMhMjY9ATcRFAYjISImNRE0NgkBBzcBA%2BhsAgYUFR0OFgoFBmz9BQGQMje7%2FpApOzspAfQpO8i7o%2F5wpbm5Azj%2BlqE3AWMD9XMBAgIEDw4WKgsKc8gNuzsp%2FgwpOzsptsj%2BtKW5uaUBkKW5%2Ftf%2BljKqAWMAAgAAAAAEkwRMABsANgAAASEGByMiBhURFBYzITI2NTcVFAYjISImNRE0NgUBFhQHAQYmJzUmDgMHPgY3NT4BAV4BaaQ0wyk7OykB9Ck7yLml%2FnClubkCfwFTCAj%2BrAcLARo5ZFRYGgouOUlARioTAQsETJI2Oyn%2BDCk7OymZZ6W5uaUBkKW5G%2F7TBxUH%2Fs4GBAnLAQINFjAhO2JBNB0UBwHSCgUAAAAAAgAAAAAEnQRMAB0ANQAAASEyFwchIgYVERQWMyEyNj0BNxUUBiMhIiY1ETQ2CQE2Mh8BFhQHAQYiLwEmND8BNjIfARYyAV4BXjxDsv6jKTs7KQH0KTvIuaX%2BcKW5uQHKAYsHFQdlBwf97QcVB%2FgHB2UHFQdvCBQETBexOyn%2BDCk7OylFyNulubmlAZCluf4zAYsHB2UHFQf97AcH%2BAcVB2UHB28HAAAAAQAKAAoEpgSmADsAAAkBNjIXARYGKwEVMzU0NhcBFhQHAQYmPQEjFTMyFgcBBiInASY2OwE1IxUUBicBJjQ3ATYWHQEzNSMiJgE%2BAQgIFAgBBAcFCqrICggBCAgI%2FvgICsiqCgUH%2FvwIFAj%2B%2BAgFCq%2FICgj%2B%2BAgIAQgICsivCgUDlgEICAj%2B%2BAgKyK0KBAf%2B%2FAcVB%2F73BwQKrcgKCP74CAgBCAgKyK0KBAcBCQcVBwEEBwQKrcgKAAEAyAAAA4QETAAZAAATMzIWFREBNhYVERQGJwERFAYrASImNRE0NvpkFR0B0A8VFQ%2F%2BMB0VZBUdHQRMHRX%2BSgHFDggV%2FBgVCA4Bxf5KFR0dFQPoFR0AAAABAAAAAASwBEwAIwAAEzMyFhURATYWFREBNhYVERQGJwERFAYnAREUBisBIiY1ETQ2MmQVHQHQDxUB0A8VFQ%2F%2BMBUP%2FjAdFWQVHR0ETB0V%2FkoBxQ4IFf5KAcUOCBX8GBUIDgHF%2FkoVCA4Bxf5KFR0dFQPoFR0AAAABAJ0AGQSwBDMAFQAAAREUBicBERQGJwEmNDcBNhYVEQE2FgSwFQ%2F%2BMBUP%2FhQPDwHsDxUB0A8VBBr8GBUIDgHF%2FkoVCA4B4A4qDgHgDggV%2FkoBxQ4IAAAAAQDIABYEMwQ2AAsAABMBFhQHAQYmNRE0NvMDLhIS%2FNISGRkEMv4OCx4L%2Fg4LDhUD6BUOAAIAyABkA4QD6AAPAB8AABMzMhYVERQGKwEiJjURNDYhMzIWFREUBisBIiY1ETQ2%2BsgVHR0VyBUdHQGlyBUdHRXIFR0dA%2BgdFfzgFR0dFQMgFR0dFfzgFR0dFQMgFR0AAAEAyABkBEwD6AAPAAABERQGIyEiJjURNDYzITIWBEwdFfzgFR0dFQMgFR0DtvzgFR0dFQMgFR0dAAAAAAEAAAAZBBMEMwAVAAABETQ2FwEWFAcBBiY1EQEGJjURNDYXAfQVDwHsDw%2F%2BFA8V%2FjAPFRUPAmQBthUIDv4gDioO%2FiAOCBUBtv47DggVA%2BgVCA4AAAH%2F%2FgACBLMETwAjAAABNzIWFRMUBiMHIiY1AwEGJjUDAQYmNQM0NhcBAzQ2FwEDNDYEGGQUHgUdFWQVHQL%2BMQ4VAv4yDxUFFQ8B0gIVDwHSAh0ETgEdFfwYFR0BHRUBtf46DwkVAbX%2BOQ4JFAPoFQkP%2Fj4BthQJDv49AbYVHQAAAQEsAAAD6ARMABkAAAEzMhYVERQGKwEiJjURAQYmNRE0NhcBETQ2A1JkFR0dFWQVHf4wDxUVDwHQHQRMHRX8GBUdHRUBtv47DggVA%2BgVCA7%2BOwG2FR0AAAIAZADIBLAESAALABsAAAkBFgYjISImNwE2MgEhMhYdARQGIyEiJj0BNDYCrgH1DwkW%2B%2B4WCQ8B9Q8q%2FfcD6BUdHRX8GBUdHQQ5%2FeQPFhYPAhwP%2FUgdFWQVHR0VZBUdAAEAiP%2F8A3UESgAFAAAJAgcJAQN1%2FqABYMX92AIoA4T%2Bn%2F6fxgIoAiYAAAAAAQE7%2F%2FwEKARKAAUAAAkBJwkBNwQo%2FdnGAWH%2Bn8YCI%2F3ZxgFhAWHGAAIAFwAXBJkEmQAPADMAAAAyHgIUDgIiLgI0PgEFIyIGHQEjIgYdARQWOwEVFBY7ATI2PQEzMjY9ATQmKwE1NCYB4%2BrWm1tbm9bq1ptbW5sBfWQVHZYVHR0Vlh0VZBUdlhUdHRWWHQSZW5vW6tabW1ub1urWm7odFZYdFWQVHZYVHR0Vlh0VZBUdlhUdAAAAAAIAFwAXBJkEmQAPAB8AAAAyHgIUDgIiLgI0PgEBISIGHQEUFjMhMjY9ATQmAePq1ptbW5vW6tabW1ubAkX%2BDBUdHRUB9BUdHQSZW5vW6tabW1ub1urWm%2F5%2BHRVkFR0dFWQVHQACABcAFwSZBJkADwAzAAAAMh4CFA4CIi4CND4BBCIPAScmIg8BBhQfAQcGFB8BFjI%2FARcWMj8BNjQvATc2NC8BAePq1ptbW5vW6tabW1ubAeUZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0JCXh4CQmNBJlbm9bq1ptbW5vW6tabrQl4eAkJjQkZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0AAgAXABcEmQSZAA8AJAAAADIeAhQOAiIuAjQ%2BAQEnJiIPAQYUHwEWMjcBNjQvASYiBwHj6tabW1ub1urWm1tbmwEVVAcVCIsHB%2FIHFQcBdwcHiwcVBwSZW5vW6tabW1ub1urWm%2F4xVQcHiwgUCPEICAF3BxUIiwcHAAAAAAMAFwAXBJkEmQAPADsASwAAADIeAhQOAiIuAjQ%2BAQUiDgMVFDsBFjc%2BATMyFhUUBgciDgUHBhY7ATI%2BAzU0LgMTIyIGHQEUFjsBMjY9ATQmAePq1ptbW5vW6tabW1ubAT8dPEIyIRSDHgUGHR8UFw4TARkOGhITDAIBDQ6tBx4oIxgiM0Q8OpYKDw8KlgoPDwSZW5vW6tabW1ub1urWm5ELHi9PMhkFEBQQFRIXFgcIBw4UHCoZCBEQKDhcNi9IKhsJ%2FeMPCpYKDw8KlgoPAAADABcAFwSZBJkADwAfAD4AAAAyHgIUDgIiLgI0PgEFIyIGHQEUFjsBMjY9ATQmAyMiBh0BFBY7ARUjIgYdARQWMyEyNj0BNCYrARE0JgHj6tabW1ub1urWm1tbmwGWlgoPDwqWCg8PCvoKDw8KS0sKDw8KAV4KDw8KSw8EmVub1urWm1tbm9bq1ptWDwqWCg8PCpYKD%2F7UDwoyCg%2FIDwoyCg8PCjIKDwETCg8AAgAAAAAEsASwAC8AXwAAATMyFh0BHgEXMzIWHQEUBisBDgEHFRQGKwEiJj0BLgEnIyImPQE0NjsBPgE3NTQ2ExUUBisBIiY9AQ4BBzMyFh0BFAYrAR4BFzU0NjsBMhYdAT4BNyMiJj0BNDY7AS4BAg2WCg9nlxvCCg8PCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw%2B5DwqWCg9EZheoCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmBLAPCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw8KlgoPZ5cbwgoP%2Fs2oCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmRA8KlgoPRGYAAwAXABcEmQSZAA8AGwA%2FAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBxcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyAePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnKaQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwdABxUHfHwHFQSZW5vW6tabW1ub1urWmztyxejFcnLF6MVaQAcVB3x8BxUHQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwAAAAMAFwAXBJkEmQAPABsAMAAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcXFhQHAQYiLwEmND8BNjIfATc2MgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJyg2oHB%2F7ACBQIyggIagcVB0%2FFBxUEmVub1urWm1tbm9bq1ps7csXoxXJyxejFfWoHFQf%2BvwcHywcVB2oICE%2FFBwAAAAMAFwAXBJkEmQAPABgAIQAAADIeAhQOAiIuAjQ%2BAQUiDgEVFBcBJhcBFjMyPgE1NAHj6tabW1ub1urWm1tbmwFLdMVyQQJLafX9uGhzdMVyBJlbm9bq1ptbW5vW6tabO3LFdHhpAktB0P24PnLFdHMAAAAAAQAXAFMEsAP5ABUAABMBNhYVESEyFh0BFAYjIREUBicBJjQnAgoQFwImFR0dFf3aFxD99hACRgGrDQoV%2Ft0dFcgVHf7dFQoNAasNJgAAAAABAAAAUwSZA%2FkAFQAACQEWFAcBBiY1ESEiJj0BNDYzIRE0NgJ%2FAgoQEP32EBf92hUdHRUCJhcD8f5VDSYN%2FlUNChUBIx0VyBUdASMVCgAAAAEAtwAABF0EmQAVAAAJARYGIyERFAYrASImNREhIiY3ATYyAqoBqw0KFf7dHRXIFR3%2B3RUKDQGrDSYEif32EBf92hUdHRUCJhcQAgoQAAAAAQC3ABcEXQSwABUAAAEzMhYVESEyFgcBBiInASY2MyERNDYCJsgVHQEjFQoN%2FlUNJg3%2BVQ0KFQEjHQSwHRX92hcQ%2FfYQEAIKEBcCJhUdAAABAAAAtwSZBF0AFwAACQEWFAcBBiY1EQ4DBz4ENxE0NgJ%2FAgoQEP32EBdesKWBJAUsW4fHfhcEVf5VDSYN%2FlUNChUBIwIkRHVNabGdcUYHAQYVCgACAAAAAASwBLAAFQArAAABITIWFREUBi8BBwYiLwEmND8BJyY2ASEiJjURNDYfATc2Mh8BFhQPARcWBgNSASwVHRUOXvkIFAhqBwf5Xg4I%2FiH%2B1BUdFQ5e%2BQgUCGoHB%2FleDggEsB0V%2FtQVCA5e%2BQcHaggUCPleDhX7UB0VASwVCA5e%2BQcHaggUCPleDhUAAAACAEkASQRnBGcAFQArAAABFxYUDwEXFgYjISImNRE0Nh8BNzYyASEyFhURFAYvAQcGIi8BJjQ%2FAScmNgP2agcH%2BV4OCBX%2B1BUdFQ5e%2BQgU%2FQwBLBUdFQ5e%2BQgUCGoHB%2FleDggEYGoIFAj5Xg4VHRUBLBUIDl75B%2F3xHRX%2B1BUIDl75BwdqCBQI%2BV4OFQAAAAADABcAFwSZBJkADwAfAC8AAAAyHgIUDgIiLgI0PgEFIyIGFxMeATsBMjY3EzYmAyMiBh0BFBY7ATI2PQE0JgHj6tabW1ub1urWm1tbmwGz0BQYBDoEIxQ2FCMEOgQYMZYKDw8KlgoPDwSZW5vW6tabW1ub1urWm7odFP7SFB0dFAEuFB3%2BDA8KlgoPDwqWCg8AAAAABQAAAAAEsASwAEkAVQBhAGgAbwAAATIWHwEWHwEWFxY3Nj8BNjc2MzIWHwEWHwIeATsBMhYdARQGKwEiBh0BIREjESE1NCYrASImPQE0NjsBMjY1ND8BNjc%2BBAUHBhY7ATI2LwEuAQUnJgYPAQYWOwEyNhMhIiY1ESkBERQGIyERAQQJFAUFFhbEFQ8dCAsmxBYXERUXMA0NDgQZCAEPCj0KDw8KMgoP%2FnDI%2FnAPCjIKDw8KPQsOCRkFDgIGFRYfAp2mBwQK2woKAzMDEP41sQgQAzMDCgrnCwMe%2FokKDwGQAlgPCv6JBLAEAgIKDXYNCxUJDRZ2DQoHIREQFRh7LAkLDwoyCg8PCq8BLP7UrwoPDwoyCg8GBQQwgBkUAwgWEQ55ogcKDgqVCgSqnQcECo8KDgr8cg8KAXf%2BiQoPAZAAAAAAAgAAAAwErwSmACsASQAAATYWFQYCDgQuAScmByYOAQ8BBiY1NDc%2BATc%2BAScuAT4BNz4GFyYGBw4BDwEOBAcOARY2Nz4CNz4DNz4BBI0IGgItQmxhi2KORDg9EQQRMxuZGhYqCFUYEyADCQIQOjEnUmFch3vAJQgdHyaiPT44XHRZUhcYDhItIRmKcVtGYWtbKRYEBKYDEwiy%2Ft3IlVgxEQgLCwwBAQIbG5kYEyJAJghKFRE8Hzdff4U%2FM0o1JSMbL0QJGCYvcSEhHjZST2c1ODwEJygeW0AxJUBff1UyFAABAF0AHgRyBM8ATwAAAQ4BHgQXLgc%2BATceAwYHDgQHBicmNzY3PgQuAScWDgMmJy4BJyY%2BBDcGHgM3PgEuAicmPgMCjScfCic4R0IgBBsKGAoQAwEJEg5gikggBhANPkpTPhZINx8SBgsNJysiCRZOQQoVNU1bYC9QZwICBAUWITsoCAYdJzIYHw8YIiYHDyJJYlkEz0OAZVxEOSQMBzgXOB42IzElKRIqg5Gnl0o3Z0c6IAYWCwYNAwQFIDhHXGF1OWiqb0sdBxUknF0XNTQ8PEUiNWNROBYJDS5AQVUhVZloUSkAAAAAA%2F%2FcAGoE1ARGABsAPwBRAAAAMh4FFA4FIi4FND4EBSYGFxYVFAYiJjU0NzYmBwYHDgEXHgQyPgM3NiYnJgUHDgEXFhcWNj8BNiYnJicuAQIGpJ17bk85HBw6T257naKde25POhwcOU9uewIPDwYIGbD4sBcIBw5GWg0ECxYyWl%2BDiINfWjIWCwQMWv3%2FIw8JCSU4EC0OIw4DDywtCyIERi1JXGJcSSpJXGJcSS0tSVxiXEkqSVxiXEncDwYTOT58sLB8OzcTBg9FcxAxEiRGXkQxMEVeRSQSMRF1HiQPLxJEMA0EDyIPJQ8sSRIEAAAABP%2FcAAAE1ASwABQAJwA7AEwAACEjNy4ENTQ%2BBTMyFzczEzceARUUDgMHNz4BNzYmJyYlBgcOARceBBc3LgE1NDc2JhcHDgEXFhcWNj8CJyYnLgECUJQfW6l2WSwcOU9ue51SPUEglCYvbIknUGqYUi5NdiYLBAw2%2FVFGWg0ECxIqSExoNSlrjxcIB3wjDwkJJTgQLQ4MFgMsLQsieBRhdHpiGxVJXGJcSS0Pef5StVXWNBpacm5jGq0xiD8SMRFGckVzEDESHjxRQTkNmhKnbjs3EwZwJA8vEkQwDQQPC1YELEkSBAAAAAP%2FngAABRIEqwALABgAKAAAJwE2FhcBFgYjISImJSE1NDY7ATIWHQEhAQczMhYPAQ4BKwEiJi8BJjZaAoIUOBQCghUbJfryJRsBCgFZDwqWCg8BWf5DaNAUGAQ6BCMUNhQjBDoEGGQEKh8FIfvgIEdEhEsKDw8KSwLT3x0U%2FBQdHRT8FB0AAAABAGQAFQSwBLAAKAAAADIWFREBHgEdARQGJyURFh0BFAYvAQcGJj0BNDcRBQYmPQE0NjcBETQCTHxYAWsPFhgR%2FplkGhPNzRMaZP6ZERgWDwFrBLBYPv6t%2FrsOMRQpFA0M%2Bf75XRRAFRAJgIAJEBVAFF0BB%2FkMDRQpFDEOAUUBUz4AAAARAAAAAARMBLAAHQAnACsALwAzADcAOwA%2FAEMARwBLAE8AUwBXAFsAXwBjAAABMzIWHQEzMhYdASE1NDY7ATU0NjsBMhYdASE1NDYBERQGIyEiJjURFxUzNTMVMzUzFTM1MxUzNTMVMzUFFTM1MxUzNTMVMzUzFTM1MxUzNQUVMzUzFTM1MxUzNTMVMzUzFTM1A1JkFR0yFR37tB0VMh0VZBUdAfQdAQ8dFfwYFR1kZGRkZGRkZGRk%2FHxkZGRkZGRkZGT8fGRkZGRkZGRkZASwHRUyHRWWlhUdMhUdHRUyMhUd%2FnD9EhUdHRUC7shkZGRkZGRkZGRkyGRkZGRkZGRkZGTIZGRkZGRkZGRkZAAAAAMAAAAZBXcElwAZACUANwAAARcWFA8BBiY9ASMBISImPQE0NjsBATM1NDYBBycjIiY9ATQ2MyEBFxYUDwEGJj0BIyc3FzM1NDYEb%2FkPD%2FkOFZ%2F9qP7dFR0dFdECWPEV%2FamNetEVHR0VASMDGvkPD%2FkOFfG1jXqfFQSN5g4qDuYOCBWW%2FagdFWQVHQJYlhUI%2FpiNeh0VZBUd%2Fk3mDioO5g4IFZa1jXqWFQgAAAABAAAAAASwBEwAEgAAEyEyFhURFAYjIQERIyImNRE0NmQD6Ck7Oyn9rP7QZCk7OwRMOyn9qCk7%2FtQBLDspAlgpOwAAAAMAZAAABEwEsAAJABMAPwAAEzMyFh0BITU0NiEzMhYdASE1NDYBERQOBSIuBTURIRUUFRwBHgYyPgYmNTQ9AZbIFR3%2B1B0C0cgVHf7UHQEPBhgoTGacwJxmTCgYBgEsAwcNFB8nNkI2Jx8TDwUFAQSwHRX6%2BhUdHRX6%2BhUd%2FnD%2B1ClJalZcPigoPlxWakkpASz6CRIVKyclIRsWEAgJEBccISUnKhURCPoAAAAB%2F%2F8A1ARMA8IABQAAAQcJAScBBEzG%2Fp%2F%2Bn8UCJwGbxwFh%2Fp%2FHAicAAQAAAO4ETQPcAAUAAAkCNwkBBE392v3ZxgFhAWEDFf3ZAifH%2Fp8BYQAAAAAC%2F1EAZAVfA%2BgAFAApAAABITIWFREzMhYPAQYiLwEmNjsBESElFxYGKwERIRchIiY1ESMiJj8BNjIBlALqFR2WFQgO5g4qDuYOCBWW%2FoP%2BHOYOCBWWAYHX%2FRIVHZYVCA7mDioD6B0V%2FdkVDvkPD%2FkOFQGRuPkOFf5wyB0VAiYVDvkPAAABAAYAAASeBLAAMAAAEzMyFh8BITIWBwMOASMhFyEyFhQGKwEVFAYiJj0BIRUUBiImPQEjIiYvAQMjIiY0NjheERwEJgOAGB4FZAUsIf2HMAIXFR0dFTIdKh3%2B1B0qHR8SHQYFyTYUHh4EsBYQoiUY%2FiUVK8gdKh0yFR0dFTIyFR0dFTIUCQoDwR0qHQAAAAACAAAAAASwBEwACwAPAAABFSE1MzQ2MyEyFhUFIREhBLD7UMg7KQEsKTv9RASw%2B1AD6GRkKTs7Kcj84AACAAAAAAXcBEwADAAQAAATAxEzNDYzITIWFSEVBQEhAcjIyDspASwqOgH0ASz%2B1PtQASwDIP5wAlgpOzspyGT9RAK8AAEBRQAAA2sErwAbAAABFxYGKwERMzIWDwEGIi8BJjY7AREjIiY%2FATYyAnvmDggVlpYVCA7mDioO5g4IFZaWFQgO5g4qBKD5DhX9pxUO%2BQ8P%2BQ4VAlkVDvkPAAAAAQABAUQErwNrABsAAAEXFhQPAQYmPQEhFRQGLwEmND8BNhYdASE1NDYDqPkODvkPFf2oFQ%2F5Dg75DxUCWBUDYOUPKQ%2FlDwkUl5cUCQ%2FlDykP5Q8JFZWVFQkAAAAEAAAAAASwBLAACQAZAB0AIQAAAQMuASMhIgYHAwUhIgYdARQWMyEyNj0BNCYFNTMVMzUzFQSRrAUkFP1gFCQFrAQt%2FBgpOzspA%2BgpOzv%2Bq2RkZAGQAtwXLSgV%2FR1kOylkKTs7KWQpO8hkZGRkAAAAA%2F%2BcAGQEsARMAAsAIwAxAAAAMhYVERQGIiY1ETQDJSMTFgYjIisBIiYnAj0BNDU0PgE7ASUBFSIuAz0BND4CNwRpKh0dKh1k%2FV0mLwMRFQUCVBQdBDcCCwzIAqP8GAQOIhoWFR0dCwRMHRX8rhUdHRUDUhX8mcj%2B7BAIHBUBUQ76AgQQDw36%2FtT6AQsTKRwyGigUDAEAAAACAEoAAARmBLAALAA1AAABMzIWDwEeARcTFzMyFhQGBw4EIyIuBC8BLgE0NjsBNxM%2BATcnJjYDFjMyNw4BIiYCKV4UEgYSU3oPP3YRExwaEggeZGqfTzl0XFU%2BLwwLEhocExF2Pw96UxIGEyQyNDUxDDdGOASwFRMlE39N%2FrmtHSkoBwQLHBYSCg4REg4FBAgoKR2tAUdNfhQgExr7vgYGMT09AAEAFAAUBJwEnAAXAAABNwcXBxcHFycHJwcnBzcnNyc3Jxc3FzcDIOBO6rS06k7gLZubLeBO6rS06k7gLZubA7JO4C2bmy3gTuq0tOpO4C2bmy3gTuq0tAADAAAAZASwBLAAIQAtAD0AAAEzMhYdAQchMhYdARQHAw4BKwEiJi8BIyImNRE0PwI%2BARcPAREzFzMTNSE3NQEzMhYVERQGKwEiJjURNDYCijIoPBwBSCg8He4QLBf6B0YfHz0tNxSRYA0xG2SWZIjW%2Bv4%2BMv12ZBUdHRVkFR0dBLBRLJZ9USxkLR3%2BqBghMhkZJCcBkCQbxMYcKGTU1f6JZAF3feGv%2FtQdFf4MFR0dFQH0FR0AAAAAAwAAAAAEsARMACAAMAA8AAABMzIWFxMWHQEUBiMhFh0BFAYrASImLwImNRE0NjsBNgUzMhYVERQGKwEiJjURNDYhByMRHwEzNSchNQMCWPoXLBDuHTwo%2FrgcPCgyGzENYJEUNy09fP3pZBUdHRVkFR0dAl%2BIZJZkMjIBwvoETCEY%2FqgdLWQsUXYHlixRKBzGxBskAZAnJGRkHRX%2BDBUdHRUB9BUdZP6J1dSv4X0BdwADAAAAZAUOBE8AGwA3AEcAAAElNh8BHgEPASEyFhQGKwEDDgEjISImNRE0NjcXERchEz4BOwEyNiYjISoDLgQnJj8BJwUzMhYVERQGKwEiJjURNDYBZAFrHxZuDQEMVAEuVGxuVGqDBhsP%2FqoHphwOOmQBJYMGGw%2FLFRMSFv44AgoCCQMHAwUDAQwRklb9T2QVHR0VZBUdHQNp5hAWcA0mD3lMkE7%2BrRUoog0CDRElCkj%2BCVkBUxUoMjIBAgIDBQIZFrdT5B0V%2FgwVHR0VAfQVHQAAAAP%2FnABkBLAETwAdADYARgAAAQUeBBURFAYjISImJwMjIiY0NjMhJyY2PwE2BxcWBw4FKgIjIRUzMhYXEyE3ESUFMzIWFREUBisBIiY1ETQ2AdsBbgIIFBANrAf%2Bqg8bBoNqVW1sVAEuVQsBDW4WSpIRDAIDBQMHAwkDCgH%2BJd0PHAaCASZq%2FqoCUGQVHR0VZBUdHQRP5gEFEBEXC%2F3zDaIoFQFTTpBMeQ8mDXAWrrcWGQIFAwICAWQoFf6tWQH37OQdFf4MFR0dFQH0FR0AAAADAGEAAARMBQ4AGwA3AEcAAAAyFh0BBR4BFREUBiMhIiYvAQMmPwE%2BAR8BETQXNTQmBhURHAMOBAcGLwEHEyE3ESUuAQMhMhYdARQGIyEiJj0BNDYB3pBOAVMVKKIN%2FfMRJQoJ5hAWcA0mD3nGMjIBAgIDBQIZFrdT7AH3Wf6tFSiWAfQVHR0V%2FgwVHR0FDm5UaoMGGw%2F%2BqgemHA4OAWsfFm4NAQxUAS5U1ssVExIW%2FjgCCgIJAwcDBQMBDBGSVv6tZAElgwYb%2FQsdFWQVHR0VZBUdAAP%2F%2FQAGA%2BgFFAAPAC0ASQAAASEyNj0BNCYjISIGHQEUFgEVFAYiJjURBwYmLwEmNxM%2BBDMhMhYVERQGBwEDFzc2Fx4FHAIVERQWNj0BNDY3JREnAV4B9BUdHRX%2BDBUdHQEPTpBMeQ8mDXAWEOYBBRARFwsCDQ2iKBX9iexTtxYZAgUDAgIBMjIoFQFTWQRMHRVkFR0dFWQVHfzmalRubFQBLlQMAQ1uFh8BawIIEw8Mpgf%2Bqg8bBgHP%2Fq1WkhEMAQMFAwcDCQIKAv44FhITFcsPGwaDASVkAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBJSYGHQEhIgYdARQWMyEVFBY3JTY0AeLs1ptbW5vW7NabW1ubAob%2B7RAX%2Fu0KDw8KARMXEAETEASaW5vW7NabW1ub1uzWm%2F453w0KFYkPCpYKD4kVCg3fDSYAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgENAQYUFwUWNj0BITI2PQE0JiMhNTQmAeLs1ptbW5vW7NabW1ubASX%2B7RAQARMQFwETCg8PCv7tFwSaW5vW7NabW1ub1uzWm%2BjfDSYN3w0KFYkPCpYKD4kVCgAAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBAyYiBwMGFjsBERQWOwEyNjURMzI2AeLs1ptbW5vW7NabW1ubAkvfDSYN3w0KFYkPCpYKD4kVCgSaW5vW7NabW1ub1uzWm%2F5AARMQEP7tEBf%2B7QoPDwoBExcAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEFIyIGFREjIgYXExYyNxM2JisBETQmAeLs1ptbW5vW7NabW1ubAZeWCg%2BJFQoN3w0mDd8NChWJDwSaW5vW7NabW1ub1uzWm7sPCv7tFxD%2B7RAQARMQFwETCg8AAAMAGAAYBJgEmAAPAJYApgAAADIeAhQOAiIuAjQ%2BASUOAwcGJgcOAQcGFgcOAQcGFgcUFgcyHgEXHgIXHgI3Fg4BFx4CFxQGFBcWNz4CNy4BJy4BJyIOAgcGJyY2NS4BJzYuAQYHBicmNzY3HgIXHgMfAT4CJyY%2BATc%2BAzcmNzIWMjY3LgMnND4CJiceAT8BNi4CJwYHFB4BFS4CJz4BNxYyPgEB5OjVm1xcm9Xo1ZtcXJsBZA8rHDoKDz0PFD8DAxMBAzEFCRwGIgEMFhkHECIvCxU%2FOR0HFBkDDRQjEwcFaHUeISQDDTAMD0UREi4oLBAzDwQBBikEAQMLGhIXExMLBhAGKBsGBxYVEwYFAgsFAwMNFwQGCQcYFgYQCCARFwkKKiFBCwQCAQMDHzcLDAUdLDgNEiEQEgg%2FKhADGgMKEgoRBJhcm9Xo1ZtcXJvV6NWbEQwRBwkCAwYFBycPCxcHInIWInYcCUcYChQECA4QBAkuHgQPJioRFRscBAcSCgwCch0kPiAIAQcHEAsBAgsLIxcBMQENCQIPHxkCFBkdHB4QBgEBBwoMGBENBAMMJSAQEhYXDQ4qFBkKEhIDCQsXJxQiBgEOCQwHAQ0DBAUcJAwSCwRnETIoAwEJCwsLJQcKDBEAAAAAAQAAAAIErwSFABYAAAE2FwUXNxYGBw4BJwEGIi8BJjQ3ASY2AvSkjv79kfsGUE08hjv9rA8rD28PDwJYIk8EhVxliuh%2BWYcrIgsW%2FawQEG4PKxACV2XJAAYAAABgBLAErAAPABMAIwAnADcAOwAAEyEyFh0BFAYjISImPQE0NgUjFTMFITIWHQEUBiMhIiY9ATQ2BSEVIQUhMhYdARQGIyEiJj0BNDYFIRUhZAPoKTs7KfwYKTs7BBHIyPwYA%2BgpOzsp%2FBgpOzsEEf4MAfT8GAPoKTs7KfwYKTs7BBH%2B1AEsBKw7KWQpOzspZCk7ZGTIOylkKTs7KWQpO2RkyDspZCk7OylkKTtkZAAAAAIAZAAABEwEsAALABEAABMhMhYUBiMhIiY0NgERBxEBIZYDhBUdHRX8fBUdHQI7yP6iA4QEsB0qHR0qHf1E%2FtTIAfQB9AAAAAMAAABkBLAEsAAXABsAJQAAATMyFh0BITIWFREhNSMVIRE0NjMhNTQ2FxUzNQEVFAYjISImPQEB9MgpOwEsKTv%2BDMj%2BDDspASw7KcgB9Dsp%2FBgpOwSwOylkOyn%2BcGRkAZApO2QpO2RkZP1EyCk7OynIAAAABAAAAAAEsASwABUAKwBBAFcAABMhMhYPARcWFA8BBiIvAQcGJjURNDYpATIWFREUBi8BBwYiLwEmND8BJyY2ARcWFA8BFxYGIyEiJjURNDYfATc2MgU3NhYVERQGIyEiJj8BJyY0PwE2MhcyASwVCA5exwcHaggUCMdeDhUdAzUBLBUdFQ5exwgUCGoHB8deDgj%2BL2oHB8deDggV%2FtQVHRUOXscIFALLXg4VHRX%2B1BUIDl7HBwdqCBQIBLAVDl7HCBQIagcHx14OCBUBLBUdHRX%2B1BUIDl7HBwdqCBQIx14OFf0maggUCMdeDhUdFQEsFQgOXscHzl4OCBX%2B1BUdFQ5exwgUCGoHBwAAAAYAAAAABKgEqAAPABsAIwA7AEMASwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiQyFhQGIiY0JDIWFAYjIicHFhUUBiImNTQ2PwImNTQEMhYUBiImNCQyFhQGIiY0Advy3Z9fX5%2Fd8t2gXl6gAcbgv29vv%2BC%2Fb2%2F%2BLS0gIC0gAUwtICAWDg83ETNIMykfegEJ%2FoctICAtIAIdLSAgLSAEqF%2Bf3fLdoF5eoN3y3Z9Xb7%2Fgv29vv%2BC%2FBiAtISEtICAtIQqRFxwkMzMkIDEFfgEODhekIC0gIC0gIC0gIC0AAf%2FYAFoEuQS8AFsAACUBNjc2JicmIyIOAwcABw4EFx4BMzI3ATYnLgEjIgcGBwEOASY0NwA3PgEzMhceARcWBgcOBgcGIyImJyY2NwE2NzYzMhceARcWBgcBDgEnLgECIgHVWwgHdl8WGSJBMD8hIP6IDx4eLRMNBQlZN0ozAiQkEAcdEhoYDRr%2Bqw8pHA4BRyIjQS4ODyw9DQ4YIwwod26La1YOOEBGdiIwGkQB%2F0coW2tQSE5nDxE4Qv4eDyoQEAOtAdZbZWKbEQQUGjIhH%2F6JDxsdNSg3HT5CMwIkJCcQFBcMGv6uDwEcKQ4BTSIjIQEINykvYyMLKnhuiWZMBxtAOU6%2BRAH%2FSBg3ISSGV121Qv4kDwIPDyYAAAACAGQAWASvBEQAGQBEAAABPgIeAhUUDgMHLgQ1ND4CHgEFIg4DIi4DIyIGFRQeAhcWFx4EMj4DNzY3PgQ1NCYCiTB7eHVYNkN5hKg%2BPqeFeEM4WnZ4eQEjIT8yLSohJyktPyJDbxtBMjMPBw86KzEhDSIzKUAMBAgrKT8dF2oDtURIBS1TdkA5eYB%2FslVVsn%2BAeTlAdlMtBUgtJjY1JiY1NiZvTRc4SjQxDwcOPCouGBgwKEALBAkpKkQqMhNPbQACADn%2F8gR3BL4AFwAuAAAAMh8BFhUUBg8BJi8BNycBFwcvASY0NwEDNxYfARYUBwEGIi8BJjQ%2FARYfAQcXAQKru0KNQjgiHR8uEl%2F3%2FnvUaRONQkIBGxJpCgmNQkL%2B5UK6Qo1CQjcdLhJf9wGFBL5CjUJeKmsiHTUuEl%2F4%2FnvUahKNQrpCARv%2BRmkICY1CukL%2B5UJCjUK7Qjc3LxFf%2BAGFAAAAAAMAyAAAA%2BgEsAARABUAHQAAADIeAhURFAYjISImNRE0PgEHESERACIGFBYyNjQCBqqaZDo7Kf2oKTs8Zj4CWP7%2FVj09Vj0EsB4uMhX8Ryk7OykDuRUzLar9RAK8%2FRY9Vj09VgABAAAAAASwBLAAFgAACQEWFAYiLwEBEScBBRMBJyEBJyY0NjIDhgEbDx0qDiT%2B6dT%2BzP7oywEz0gEsAQsjDx0qBKH%2B5g8qHQ8j%2FvX%2B1NL%2BzcsBGAE01AEXJA4qHQAAAAADAScAEQQJBOAAMgBAAEsAAAEVHgQXIy4DJxEXHgQVFAYHFSM1JicuASczHgEXEScuBDU0PgI3NRkBDgMVFB4DFxYXET4ENC4CArwmRVI8LAKfBA0dMydAIjxQNyiym2SWVygZA4sFV0obLkJOMCAyVWg6HSoqFQ4TJhkZCWgWKTEiGBkzNwTgTgUTLD9pQiQuLBsH%2Fs0NBxMtPGQ%2Bi6oMTU8QVyhrVk1iEAFPCA4ZLzlYNkZwSCoGTf4SARIEDh02Jh0rGRQIBgPQ%2FsoCCRYgNEM0JRkAAAABAGQAZgOUBK0ASgAAATIeARUjNC4CIyIGBwYVFB4BFxYXMxUjFgYHBgc%2BATM2FjMyNxcOAyMiLgEHDgEPASc%2BBTc%2BAScjNTMmJy4CPgE3NgIxVJlemSc8OxolVBQpGxoYBgPxxQgVFS02ImIWIIwiUzUyHzY4HCAXanQmJ1YYFzcEGAcTDBEJMAwk3aYXFQcKAg4tJGEErVCLTig%2FIhIdFSw5GkowKgkFZDKCHj4yCg8BIh6TExcIASIfBAMaDAuRAxAFDQsRCjePR2QvORQrREFMIVgAAAACABn%2F%2FwSXBLAADwAfAAABMzIWDwEGIi8BJjY7AREzBRcWBisBESMRIyImPwE2MgGQlhUIDuYOKg7mDggVlsgCF%2BYOCBWWyJYVCA7mDioBLBYO%2Bg8P%2Bg4WA4QQ%2BQ4V%2FHwDhBUO%2BQ8AAAQAGf%2F%2FA%2BgEsAAHABcAGwAlAAABIzUjFSMRIQEzMhYPAQYiLwEmNjsBETMFFTM1EwczFSE1NyM1IQPoZGRkASz9qJYVCA7mDioO5g4IFZbIAZFkY8jI%2FtTIyAEsArxkZAH0%2FHwWDvoPD%2FoOFgOEZMjI%2FRL6ZJb6ZAAAAAAEABn%2F%2FwPoBLAADwAZACEAJQAAATMyFg8BBiIvASY2OwERMwUHMxUhNTcjNSERIzUjFSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAljIyP7UyMgBLGRkZAEsx2QBLBYO%2Bg8P%2Bg4WA4SW%2BmSW%2BmT7UGRkAfRkyMgAAAAEABn%2F%2FwRMBLAADwAVABsAHwAAATMyFg8BBiIvASY2OwERMwEjESM1MxMjNSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAlhkZMhkZMgBLMdkASwWDvoPD%2FoOFgOE%2FgwBkGT7UGQBkGTIyAAAAAAEABn%2F%2FwRMBLAADwAVABkAHwAAATMyFg8BBiIvASY2OwERMwEjNSMRIQcVMzUDIxEjNTMBkJYVCA7mDioO5g4IFZbIArxkyAEsx2QBZGTIASwWDvoPD%2FoOFgOE%2FgxkAZBkyMj7tAGQZAAAAAAFABn%2F%2FwSwBLAADwATABcAGwAfAAABMzIWDwEGIi8BJjY7AREzBSM1MxMhNSETITUhEyE1IQGQlhUIDuYOKg7mDggVlsgB9MjIZP7UASxk%2FnABkGT%2BDAH0ASwWDvoPD%2FoOFgOEyMj%2BDMj%2BDMj%2BDMgABQAZ%2F%2F8EsASwAA8AEwAXABsAHwAAATMyFg8BBiIvASY2OwERMwUhNSEDITUhAyE1IQMjNTMBkJYVCA7mDioO5g4IFZbIAyD%2BDAH0ZP5wAZBk%2FtQBLGTIyAEsFg76Dw%2F6DhYDhMjI%2FgzI%2FgzI%2FgzIAAIAAAAABEwETAAPAB8AAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmAV4BkKK8u6P%2BcKW5uQJn%2FgwpOzspAfQpOzsETLuj%2FnClubmlAZClucg7Kf4MKTs7KQH0KTsAAAAAAwAAAAAETARMAA8AHwArAAABITIWFREUBiMhIiY1ETQ2BSEiBhURFBYzITI2NRE0JgUXFhQPAQYmNRE0NgFeAZClubml%2FnCju7wCZP4MKTs7KQH0KTs7%2Fm%2F9ERH9EBgYBEy5pf5wpbm5pQGQo7vIOyn%2BDCk7OykB9Ck7gr4MJAy%2BDAsVAZAVCwAAAAADAAAAAARMBEwADwAfACsAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFg8BBiIvASY2AV4BkKO7uaX%2BcKW5uQJn%2FgwpOzspAfQpOzv%2BFQGQFQsMvgwkDL4MCwRMvKL%2BcKW5uaUBkKO7yDsp%2FgwpOzspAfQpO8gYEP0REf0QGAAAAAMAAAAABEwETAAPAB8AKwAAASEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFFxYGIyEiJj8BNjIBXgGQpbm5pf5wo7u5Amf%2BDCk7OykB9Ck7O%2F77vgwLFf5wFQsMvgwkBEy5pf5wo7u8ogGQpbnIOyn%2BDCk7OykB9Ck7z%2F0QGBgQ%2FREAAAAAAgAAAAAFFARMAB8ANQAAASEyFhURFAYjISImPQE0NjMhMjY1ETQmIyEiJj0BNDYHARYUBwEGJj0BIyImPQE0NjsBNTQ2AiYBkKW5uaX%2BcBUdHRUBwik7Oyn%2BPhUdHb8BRBAQ%2FrwQFvoVHR0V%2BhYETLml%2FnCluR0VZBUdOykB9Ck7HRVkFR3p%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgAAAQDZAAID1wSeACMAAAEXFgcGAgclMhYHIggBBwYrAScmNz4BPwEhIicmNzYANjc2MwMZCQgDA5gCASwYEQ4B%2Fvf%2B8wQMDgkJCQUCUCcn%2FtIXCAoQSwENuwUJEASeCQoRC%2F5TBwEjEv7K%2FsUFDwgLFQnlbm4TFRRWAS%2FTBhAAAAACAAAAAAT%2BBEwAHwA1AAABITIWHQEUBiMhIgYVERQWMyEyFh0BFAYjISImNRE0NgUBFhQHAQYmPQEjIiY9ATQ2OwE1NDYBXgGQFR0dFf4%2BKTs7KQHCFR0dFf5wpbm5AvEBRBAQ%2FrwQFvoVHR0V%2BhYETB0VZBUdOyn%2BDCk7HRVkFR25pQGQpbnp%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgACAAAAAASwBLAAFQAxAAABITIWFREUBi8BAQYiLwEmNDcBJyY2ASMiBhURFBYzITI2PQE3ERQGIyEiJjURNDYzIQLuAZAVHRUObf7IDykPjQ8PAThtDgj%2B75wpOzspAfQpO8i7o%2F5wpbm5pQEsBLAdFf5wFQgObf7IDw%2BNDykPAThtDhX%2B1Dsp%2FgwpOzsplMj%2B1qW5uaUBkKW5AAADAA4ADgSiBKIADwAbACMAAAAyHgIUDgIiLgI0PgEEIg4BFB4BMj4BNCYEMhYUBiImNAHh7tmdXV2d2e7ZnV1dnQHD5sJxccLmwnFx%2FnugcnKgcgSiXZ3Z7tmdXV2d2e7ZnUdxwubCcXHC5sJzcqBycqAAAAMAAAAABEwEsAAVAB8AIwAAATMyFhURMzIWBwEGIicBJjY7ARE0NgEhMhYdASE1NDYFFTM1AcLIFR31FAoO%2FoEOJw3%2BhQ0JFfod%2FoUD6BUd%2B7QdA2dkBLAdFf6iFg%2F%2BVg8PAaoPFgFeFR38fB0V%2BvoVHWQyMgAAAAMAAAAABEwErAAVAB8AIwAACQEWBisBFRQGKwEiJj0BIyImNwE%2BAQEhMhYdASE1NDYFFTM1AkcBeg4KFfQiFsgUGPoUCw4Bfw4n%2FfkD6BUd%2B7QdA2dkBJ7%2BTQ8g%2BhQeHRX6IQ8BrxAC%2FH8dFfr6FR1kMjIAAwAAAAAETARLABQAHgAiAAAJATYyHwEWFAcBBiInASY0PwE2MhcDITIWHQEhNTQ2BRUzNQGMAXEHFQeLBwf98wcVB%2F7cBweLCBUH1APoFR37tB0DZ2QC0wFxBweLCBUH%2FfMICAEjCBQIiwcH%2FdIdFfr6FR1kMjIABAAAAAAETASbAAkAGQAjACcAABM3NjIfAQcnJjQFNzYWFQMOASMFIiY%2FASc3ASEyFh0BITU0NgUVMzWHjg4qDk3UTQ4CFtIOFQIBHRX9qxUIDtCa1P49A%2BgVHfu0HQNnZAP%2Fjg4OTdRMDyqa0g4IFf2pFB4BFQ7Qm9T9Oh0V%2BvoVHWQyMgAAAAQAAAAABEwEsAAPABkAIwAnAAABBR4BFRMUBi8BByc3JyY2EwcGIi8BJjQ%2FAQEhMhYdASE1NDYFFTM1AV4CVxQeARUO0JvUm9IOCMNMDyoOjg4OTf76A%2BgVHfu0HQNnZASwAgEdFf2rFQgO0JrUmtIOFf1QTQ4Ojg4qDk3%2BWB0V%2BvoVHWQyMgACAAT%2F7ASwBK8ABQAIAAAlCQERIQkBFQEEsP4d%2Fsb%2BcQSs%2FTMCq2cBFP5xAacDHPz55gO5AAAAAAIAAABkBEwEsAAVABkAAAERFAYrAREhESMiJjURNDY7AREhETMHIzUzBEwdFZb9RJYVHR0V%2BgH0ZMhkZAPo%2FK4VHQGQ%2FnAdFQPoFB7%2B1AEsyMgAAAMAAABFBN0EsAAWABoALwAAAQcBJyYiDwEhESMiJjURNDY7AREhETMHIzUzARcWFAcBBiIvASY0PwE2Mh8BATYyBEwC%2FtVfCRkJlf7IlhUdHRX6AfRkyGRkAbBqBwf%2BXAgUCMoICGoHFQdPASkHFQPolf7VXwkJk%2F5wHRUD6BQe%2FtQBLMjI%2Fc5qBxUH%2FlsHB8sHFQdqCAhPASkHAAMAAAANBQcEsAAWABoAPgAAAREHJy4BBwEhESMiJjURNDY7AREhETMHIzUzARcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyBExnhg8lEP72%2FreWFR0dFfoB9GTIZGQB9kYPD4ODDw9GDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykD6P7zZ4YPAw7%2B9v5wHRUD6BQe%2FtQBLMjI%2FYxGDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykPRg8Pg4MPAAADAAAAFQSXBLAAFQAZAC8AAAERISIGHQEhESMiJjURNDY7AREhETMHIzUzEzMyFh0BMzIWDwEGIi8BJjY7ATU0NgRM%2FqIVHf4MlhUdHRX6AfRkyGRklmQVHZYVCA7mDioO5g4IFZYdA%2Bj%2B1B0Vlv5wHRUD6BQe%2FtQBLMjI%2FagdFfoVDuYODuYOFfoVHQAAAAADAAAAAASXBLAAFQAZAC8AAAERJyYiBwEhESMiJjURNDY7AREhETMHIzUzExcWBisBFRQGKwEiJj0BIyImPwE2MgRMpQ4qDv75%2Fm6WFR0dFfoB9GTIZGTr5g4IFZYdFWQVHZYVCA7mDioD6P5wpQ8P%2Fvf%2BcB0VA%2BgUHv7UASzIyP2F5Q8V%2BhQeHhT6FQ%2FlDwADAAAAyASwBEwACQATABcAABMhMhYdASE1NDYBERQGIyEiJjURExUhNTIETBUd%2B1AdBJMdFfu0FR1kAZAETB0VlpYVHf7U%2FdoVHR0VAib%2B1MjIAAAGAAMAfQStBJcADwAZAB0ALQAxADsAAAEXFhQPAQYmPQEhNSE1NDYBIyImPQE0NjsBFyM1MwE3NhYdASEVIRUUBi8BJjQFIzU7AjIWHQEUBisBA6f4Dg74DhX%2BcAGQFf0vMhUdHRUyyGRk%2FoL3DhUBkP5wFQ73DwOBZGRkMxQdHRQzBI3mDioO5g4IFZbIlhUI%2FoUdFWQVHcjI%2FcvmDggVlsiWFQgO5g4qecgdFWQVHQAAAAACAGQAAASwBLAAFgBRAAABJTYWFREUBisBIiY1ES4ENRE0NiUyFh8BERQOAg8BERQGKwEiJjURLgQ1ETQ%2BAzMyFh8BETMRPAE%2BAjMyFh8BETMRND4DA14BFBklHRXIFR0EDiIaFiX%2B4RYZAgEVHR0LCh0VyBUdBA4iGhYBBwoTDRQZAgNkBQkVDxcZAQFkAQUJFQQxdBIUH%2FuuFR0dFQGNAQgbHzUeAWcfRJEZDA3%2BPhw%2FMSkLC%2F5BFR0dFQG%2FBA8uLkAcAcICBxENCxkMDf6iAV4CBxENCxkMDf6iAV4CBxENCwABAGQAAASwBEwAMwAAARUiDgMVERQWHwEVITUyNjURIREUFjMVITUyPgM1ETQmLwE1IRUiBhURIRE0JiM1BLAEDiIaFjIZGf5wSxn%2BDBlL%2FnAEDiIaFjIZGQGQSxkB9BlLBEw4AQUKFA78iBYZAQI4OA0lAYr%2BdiUNODgBBQoUDgN4FhkBAjg4DSX%2BdgGKJQ04AAAABgAAAAAETARMAAwAHAAgACQAKAA0AAABITIWHQEjBTUnITchBSEyFhURFAYjISImNRE0NhcVITUBBTUlBRUhNQUVFAYjIQchJyE3MwKjAXcVHWn%2B2cj%2BcGQBd%2F4lASwpOzsp%2FtQpOzspASwCvP5wAZD8GAEsArwdFf6JZP6JZAGQyGkD6B0VlmJiyGTIOyn%2BDCk7OykB9Ck7ZMjI%2FveFo4XGyMhm%2BBUdZGTIAAEAEAAQBJ8EnwAmAAATNzYWHwEWBg8BHgEXNz4BHwEeAQ8BBiIuBicuBTcRohEuDosOBhF3ZvyNdxEzE8ATBxGjAw0uMUxPZWZ4O0p3RjITCwED76IRBhPCFDERdo78ZXYRBA6IDi8RogEECBUgNUNjO0qZfHNVQBAAAAACAAAAAASwBEwAIwBBAAAAMh4EHwEVFAYvAS4BPQEmIAcVFAYPAQYmPQE%2BBRIyHgIfARUBHgEdARQGIyEiJj0BNDY3ATU0PgIB%2FLimdWQ%2FLAkJHRTKFB2N%2FsKNHRTKFB0DDTE7ZnTKcFImFgEBAW0OFR0V%2B7QVHRUOAW0CFiYETBUhKCgiCgrIFRgDIgMiFZIYGJIVIgMiAxgVyAQNJyQrIP7kExwcCgoy%2FtEPMhTUFR0dFdQUMg8BLzIEDSEZAAADAAAAAASwBLAADQAdACcAAAEHIScRMxUzNTMVMzUzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYETMj9qMjIyMjIyPyuArwVHR0VDIn8SokMFR0dswRMFR37UB0CvMjIAfTIyMjI%2FOAdKh1kZB0qHf7UHRUyMhUdAAAAAwBkAAAEsARMAAkAEwAdAAABIyIGFREhETQmASMiBhURIRE0JgEhETQ2OwEyFhUCvGQpOwEsOwFnZCk7ASw7%2FRv%2B1DspZCk7BEw7KfwYA%2BgpO%2F7UOyn9RAK8KTv84AGQKTs7KQAAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQURByMRMwcRMxHIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkyMhkZARMsHz%2BDHywsHwB9HywyP1EArzIZP7UZGQBLGT%2B1GQB9GT%2B1AEsAAAABf%2BcAAAEsARMAA8AEwAfACUAKQAAEyEyFhURFAYjISImNRE0NhcRIREBIzUjFSMRMxUzNTMFEQcjETMHETMRyAK8fLCwfP1EfLCwGAOE%2FgxkZGRkZGQBkGTIyGRkBEywfP4MfLCwfAH0fLDI%2FUQCvP2oyMgB9MjIZP7UZAH0ZP7UASwABP%2BcAAAEsARMAA8AEwAbACMAABMhMhYVERQGIyEiJjURNDYXESERBSMRMxUhESEFIxEzFSERIcgCvHywsHz9RHywsBgDhP4MyMj%2B1AEsAZDIyP7UASwETLB8%2Fgx8sLB8AfR8sMj9RAK8yP7UZAH0ZP7UZAH0AAAABP%2BcAAAEsARMAA8AEwAWABkAABMhMhYVERQGIyEiJjURNDYXESERAS0BDQERyAK8fLCwfP1EfLCwGAOE%2Fgz%2B1AEsAZD%2B1ARMsHz%2BDHywsHwB9HywyP1EArz%2BDJaWlpYBLAAAAAX%2FnAAABLAETAAPABMAFwAgACkAABMhMhYVERQGIyEiJjURNDYXESERAyERIQcjIgYVFBY7AQERMzI2NTQmI8gCvHywsHz9RHywsBgDhGT9RAK8ZIImOTYpgv4Mgik2OSYETLB8%2Fgx8sLB8AfR8sMj9RAK8%2FagB9GRWQUFUASz%2B1FRBQVYAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkZMjIZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yGT%2B1GRkASz%2BDAGQZP4MZAAG%2F5wAAASwBEwADwATABkAHwAjACcAABMhMhYVERQGIyEiJjURNDYXESERBTMRIREzASMRIzUzBRUzNQEjNTPIArx8sLB8%2FUR8sLAYA4T9RMj%2B1GQCWGRkyP2oZAEsZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yP5wAfT%2BDAGQZMjIyP7UZAAF%2F5wAAASwBEwADwATABwAIgAmAAATITIWFREUBiMhIiY1ETQ2FxEhEQEHIzU3NSM1IQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMdkx8gBLAGQZGTIx2RkBEywfP4MfLCwfAH0fLDI%2FUQCvP5wyDLIlmT%2BDAGQZP4MZAAAAAMACQAJBKcEpwAPABsAJQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgchFSEVISc1NyEB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWz%2B1AEs%2FtRkZAEsBKdentvw255eXp7b8NueTHHC5MJxccLkwtDIZGTIZAAAAAAEAAkACQSnBKcADwAbACcAKwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcVBxcVIycjFSMRIQcVMzUB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWwyZGRklmQBLMjIBKdentvw255eXp7b8NueTHHC5MJxccLkwtBkMmQyZGQBkGRkZAAAAv%2Fy%2F50EwgRBACAANgAAATIWFzYzMhYUBisBNTQmIyEiBh0BIyImNTQ2NyY1ND4BEzMyFhURMzIWDwEGIi8BJjY7ARE0NgH3brUsLC54qqp4gB0V%2FtQVHd5QcFZBAmKqepYKD4kVCg3fDSYN3w0KFYkPBEF3YQ6t8a36FR0dFfpzT0VrDhMSZKpi%2FbMPCv7tFxD0EBD0EBcBEwoPAAAAAAL%2F8v%2BcBMMEQQAcADMAAAEyFhc2MzIWFxQGBwEmIgcBIyImNTQ2NyY1ND4BExcWBisBERQGKwEiJjURIyImNzY3NjIB9m62LCsueaoBeFr%2Bhg0lDf6DCU9xVkECYqnm3w0KFYkPCpYKD4kVCg3HGBMZBEF3YQ%2BteGOkHAFoEBD%2Bk3NPRWsOExNkqWP9kuQQF%2F7tCg8PCgETFxDMGBMAAAABAGQAAARMBG0AGAAAJTUhATMBMwkBMwEzASEVIyIGHQEhNTQmIwK8AZD%2B8qr%2B8qr%2B1P7Uqv7yqv7yAZAyFR0BkB0VZGQBLAEsAU3%2Bs%2F7U%2FtRkHRUyMhUdAAAAAAEAeQAABDcEmwAvAAABMhYXHgEVFAYHFhUUBiMiJxUyFh0BITU0NjM1BiMiJjU0Ny4BNTQ2MzIXNCY1NDYCWF6TGll7OzIJaUo3LRUd%2FtQdFS03SmkELzlpSgUSAqMEm3FZBoNaPWcfHRpKaR77HRUyMhUd%2Bx5pShIUFVg1SmkCAhAFdKMAAAAGACcAFASJBJwAEQAqAEIASgBiAHsAAAEWEgIHDgEiJicmAhI3PgEyFgUiBw4BBwYWHwEWMzI3Njc2Nz4BLwEmJyYXIgcOAQcGFh8BFjMyNz4BNz4BLwEmJyYWJiIGFBYyNjciBw4BBw4BHwEWFxYzMjc%2BATc2Ji8BJhciBwYHBgcOAR8BFhcWMzI3PgE3NiYvASYD8m9PT29T2dzZU29PT29T2dzZ%2Fj0EBHmxIgQNDCQDBBcGG0dGYAsNAwkDCwccBAVQdRgEDA0iBAQWBhJROQwMAwkDCwf5Y4xjY4xjVhYGElE6CwwDCQMLBwgEBVB1GAQNDCIEjRcGG0dGYAsNAwkDCwcIBAR5sSIEDQwkAwPyb%2F7V%2FtVvU1dXU28BKwErb1NXVxwBIrF5DBYDCQEWYEZHGwMVDCMNBgSRAhh1UA0WAwkBFTpREgMVCyMMBwT6Y2OMY2MVFTpREQQVCyMMBwQCGHVQDRYDCQEkFmBGRxsDFQwjDQYEASKxeQwWAwkBAAAABQBkAAAD6ASwAAwADwAWABwAIgAAASERIzUhFSERNDYzIQEjNQMzByczNTMDISImNREFFRQGKwECvAEstP6s%2FoQPCgI%2FASzIZKLU1KJktP51Cg8DhA8KwwMg%2FoTIyALzCg%2F%2B1Mj84NTUyP4MDwoBi8jDCg8AAAAABQBkAAAD6ASwAAkADAATABoAIQAAASERCQERNDYzIQEjNRMjFSM1IzcDISImPQEpARUUBisBNQK8ASz%2Bov3aDwoCPwEsyD6iZKLUqv6dCg8BfAIIDwqbAyD9%2BAFe%2FdoERwoP%2FtTI%2FHzIyNT%2BZA8KNzcKD1AAAAAAAwAAAAAEsAP0AAgAGQAfAAABIxUzFyERIzcFMzIeAhUhFSEDETM0PgIBMwMhASEEiqJkZP7UotT9EsgbGiEOASz9qMhkDiEaAnPw8PzgASwB9AMgyGQBLNTUBBErJGT%2BogHCJCsRBP5w%2FnAB9AAAAAMAAAAABEwETAAZADIAOQAAATMyFh0BMzIWHQEUBiMhIiY9ATQ2OwE1NDYFNTIWFREUBiMhIic3ARE0NjMVFBYzITI2AQc1IzUzNQKKZBUdMhUdHRX%2B1BUdHRUyHQFzKTs7Kf2oARP2%2Fro7KVg%2BASw%2BWP201MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7KfzgKTsE9gFGAUQpO5Y%2BWFj95tSiZKIAAwBkAAAEvARMABkANgA9AAABMzIWHQEzMhYdARQGIyEiJj0BNDY7ATU0NgU1MhYVESMRMxQOAiMhIiY1ETQ2MxUUFjMhMjYBBzUjNTM1AcJkFR0yFR0dFf7UFR0dFTIdAXMpO8jIDiEaG%2F2oKTs7KVg%2BASw%2BWAGc1MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7Kf4M%2FtQkKxEEOykDICk7lj5YWP3m1KJkogAAAAP%2FogAABRYE1AALABsAHwAACQEWBiMhIiY3ATYyEyMiBhcTHgE7ATI2NxM2JgMVMzUCkgJ9FyAs%2BwQsIBcCfRZARNAUGAQ6BCMUNhQjBDoEGODIBK37sCY3NyYEUCf%2BTB0U%2FtIUHR0UAS4UHf4MZGQAAAAACQAAAAAETARMAA8AHwAvAD8ATwBfAG8AfwCPAAABMzIWHQEUBisBIiY9ATQ2EzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBqfoKDw8K%2BgoPDwr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPDwRMDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg%2F%2B1A8KlgoPDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKDw8KlgoPAAAAAwAAAAAEsAUUABkAKQAzAAABMxUjFSEyFg8BBgchJi8BJjYzITUjNTM1MwEhMhYUBisBFyE3IyImNDYDITIWHQEhNTQ2ArxkZAFePjEcQiko%2FPwoKUIcMT4BXmRkyP4%2BArwVHR0VDIn8SooNFR0dswRMFR37UB0EsMhkTzeEUzMzU4Q3T2TIZPx8HSodZGQdKh3%2B1B0VMjIVHQAABAAAAAAEsAUUAAUAGQArADUAAAAyFhUjNAchFhUUByEyFg8BIScmNjMhJjU0AyEyFhQGKwEVBSElNSMiJjQ2AyEyFh0BITU0NgIwUDnCPAE6EgMBSCkHIq%2F9WrIiCikBSAOvArwVHR0VlgET%2FEoBE5YVHR2zBEwVHftQHQUUOykpjSUmCBEhFpGRFiERCCb%2BlR0qHcjIyMgdKh39qB0VMjIVHQAEAAAAAASwBJ0ABwAUACQALgAAADIWFAYiJjQTMzIWFRQXITY1NDYzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYCDZZqapZqty4iKyf%2BvCcrI%2F7NArwVHR0VDYr8SokMFR0dswRMFR37UB0EnWqWamqW%2Fus5Okxra0w6Of5yHSodZGQdKh3%2B1B0VMjIVHQAEAAAAAASwBRQADwAcACwANgAAATIeARUUBiImNTQ3FzcnNhMzMhYVFBchNjU0NjMBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYL1szb5xvIpBvoyIfLiIrJ%2F68Jysj%2Fs0CvBUdHRUNivxKiQwVHR2zBEwVHftQHQUUa4s2Tm9vTj5Rj2%2BjGv4KOTpMa2tMOjn%2Bch0qHWRkHSod%2FtQdFTIyFR0AAAADAAAAAASwBRIAEgAiACwAAAEFFSEUHgMXIS4BNTQ%2BAjcBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYASz%2B1CU%2FP00T%2Fe48PUJtj0r%2BogK8FR0dFQ2K%2FEqJDBUdHbMETBUd%2B1AdBLChizlmUT9IGVO9VFShdksE%2FH4dKh1kZB0qHf7UHRUyMhUdAAIAyAAAA%2BgFFAAPACkAAAAyFh0BHgEdASE1NDY3NTQDITIWFyMVMxUjFTMVIxUzFAYjISImNRE0NgIvUjsuNv5wNi5kAZA2XBqsyMjIyMh1U%2F5wU3V1BRQ7KU4aXDYyMjZcGk4p%2Fkc2LmRkZGRkU3V1UwGQU3UAAAMAZP%2F%2FBEwETAAPAC8AMwAAEyEyFhURFAYjISImNRE0NgMhMhYdARQGIyEXFhQGIi8BIQcGIiY0PwEhIiY9ATQ2BQchJ5YDhBUdHRX8fBUdHQQDtgoPDwr%2B5eANGiUNWP30Vw0mGg3g%2Ft8KDw8BqmQBRGQETB0V%2FgwVHR0VAfQVHf1EDwoyCg%2FgDSUbDVhYDRslDeAPCjIKD2RkZAAAAAAEAAAAAASwBEwAGQAjAC0ANwAAEyEyFh0BIzQmKwEiBhUjNCYrASIGFSM1NDYDITIWFREhETQ2ExUUBisBIiY9ASEVFAYrASImPQHIAyBTdWQ7KfopO2Q7KfopO2R1EQPoKTv7UDvxHRVkFR0D6B0VZBUdBEx1U8gpOzspKTs7KchTdf4MOyn%2B1AEsKTv%2BDDIVHR0VMjIVHR0VMgADAAEAAASpBKwADQARABsAAAkBFhQPASEBJjQ3ATYyCQMDITIWHQEhNTQ2AeACqh8fg%2F4f%2FfsgIAEnH1n%2BrAFWAS%2F%2Bq6IDIBUd%2FHwdBI39VR9ZH4MCBh9ZHwEoH%2F5u%2FqoBMAFV%2FBsdFTIyFR0AAAAAAgCPAAAEIQSwABcALwAAAQMuASMhIgYHAwYWMyEVFBYyNj0BMzI2AyE1NDY7ATU0NjsBETMRMzIWHQEzMhYVBCG9CCcV%2FnAVJwi9CBMVAnEdKh19FROo%2Fa0dFTIdFTDILxUdMhUdAocB%2BhMcHBP%2BBhMclhUdHRWWHP2MMhUdMhUdASz%2B1B0VMh0VAAAEAAAAAASwBLAADQAQAB8AIgAAASERFAYjIREBNTQ2MyEBIzUBIREUBiMhIiY1ETQ2MyEBIzUDhAEsDwr%2Bif7UDwoBdwEsyP2oASwPCv12Cg8PCgF3ASzIAyD9wQoPAk8BLFQKD%2F7UyP4M%2FcEKDw8KA7YKD%2F7UyAAC%2F5wAZAUUBEcARgBWAAABMzIeAhcWFxY2NzYnJjc%2BARYXFgcOASsBDgEPAQ4BKwEiJj8BBisBIicHDgErASImPwEmLwEuAT0BNDY7ATY3JyY2OwE2BSMiBh0BFBY7ATI2PQE0JgHkw0uOakkMEhEfQwoKGRMKBQ8XDCkCA1Y9Pgc4HCcDIhVkFRgDDDEqwxgpCwMiFWQVGAMaVCyfExwdFXwLLW8QBxXLdAFF%2BgoPDwr6Cg8PBEdBa4pJDgYKISAiJRsQCAYIDCw9P1c3fCbqFB0dFEYOCEAUHR0UnUplNQcmFTIVHVdPXw4TZV8PCjIKDw8KMgoPAAb%2FnP%2FmBRQEfgAJACQANAA8AFIAYgAAASU2Fh8BFgYPASUzMhYfASEyFh0BFAYHBQYmJyYjISImPQE0NhcjIgYdARQ7ATI2NTQmJyYEIgYUFjI2NAE3PgEeARceAT8BFxYGDwEGJi8BJjYlBwYfAR4BPwE2Jy4BJy4BAoEBpxMuDiAOAxCL%2FCtqQ0geZgM3FR0cE%2F0fFyIJKjr%2B1D5YWLlQExIqhhALIAsSAYBALS1ALf4PmBIgHhMQHC0aPzANITNQL3wpgigJASlmHyElDR0RPRMFAhQHCxADhPcICxAmDyoNeMgiNtQdFTIVJgeEBBQPQ1g%2ByD5YrBwVODMQEAtEERzJLUAtLUD%2B24ITChESEyMgAwWzPUkrRSgJL5cvfRxYGyYrDwkLNRAhFEgJDAQAAAAAAwBkAAAEOQSwAFEAYABvAAABMzIWHQEeARcWDgIPATIeBRUUDgUjFRQGKwEiJj0BIxUUBisBIiY9ASMiJj0BNDY7AREjIiY9ATQ2OwE1NDY7ATIWHQEzNTQ2AxUhMj4CNTc0LgMjARUhMj4CNTc0LgMjAnGWCg9PaAEBIC4uEBEGEjQwOiodFyI2LUAjGg8KlgoPZA8KlgoPrwoPDwpLSwoPDwqvDwqWCg9kD9cBBxwpEwsBAQsTKRz%2B%2BQFrHCkTCwEBCxMpHASwDwptIW1KLk0tHwYGAw8UKDJOLTtdPCoVCwJLCg8PCktLCg8PCksPCpYKDwJYDwqWCg9LCg8PCktLCg%2F%2B1MgVHR0LCgQOIhoW%2FnDIFR0dCwoEDiIaFgAAAwAEAAIEsASuABcAKQAsAAATITIWFREUBg8BDgEjISImJy4CNRE0NgQiDgQPARchNy4FAyMT1AMMVnokEhIdgVL9xFKCHAgYKHoCIIx9VkcrHQYGnAIwnAIIIClJVSGdwwSuelb%2BYDO3QkJXd3ZYHFrFMwGgVnqZFyYtLSUMDPPzBQ8sKDEj%2FsIBBQACAMgAAAOEBRQADwAZAAABMzIWFREUBiMhIiY1ETQ2ARUUBisBIiY9AQHblmesVCn%2BPilUrAFINhWWFTYFFKxn%2FgwpVFQpAfRnrPwY4RU2NhXhAAACAMgAAAOEBRQADwAZAAABMxQWMxEUBiMhIiY1ETQ2ARUUBisBIiY9AQHbYLOWVCn%2BPilUrAFINhWWFTYFFJaz%2FkIpVFQpAfRnrPwY4RU2NhXhAAACAAAAFAUOBBoAFAAaAAAJASUHFRcVJwc1NzU0Jj4CPwEnCQEFJTUFJQUO%2FYL%2Bhk5klpZkAQEBBQQvkwKCAVz%2Bov6iAV4BXgL%2F%2FuWqPOCWx5SVyJb6BA0GCgYDKEEBG%2F1ipqaTpaUAAAMAZAH0BLADIAAHAA8AFwAAEjIWFAYiJjQkMhYUBiImNCQyFhQGIiY0vHxYWHxYAeh8WFh8WAHofFhYfFgDIFh8WFh8WFh8WFh8WFh8WFh8AAAAAAMBkAAAArwETAAHAA8AFwAAADIWFAYiJjQSMhYUBiImNBIyFhQGIiY0Aeh8WFh8WFh8WFh8WFh8WFh8WARMWHxYWHz%2ByFh8WFh8%2FshYfFhYfAAAAAMAZABkBEwETAAPAB8ALwAAEyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2fQO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PBEwPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoPAAAABAAAAAAEsASwAA8AHwAvADMAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFhURFAYjISImNRE0NhcVITUBXgH0ory7o%2F4Mpbm5Asv9qCk7OykCWCk7O%2F2xAfQVHR0V%2FgwVHR1HAZAEsLuj%2FgylubmlAfSlucg7Kf2oKTs7KQJYKTtkHRX%2B1BUdHRUBLBUdZMjIAAAAAAEAZABkBLAETAA7AAATITIWFAYrARUzMhYUBisBFTMyFhQGKwEVMzIWFAYjISImNDY7ATUjIiY0NjsBNSMiJjQ2OwE1IyImNDaWA%2BgVHR0VMjIVHR0VMjIVHR0VMjIVHR0V%2FBgVHR0VMjIVHR0VMjIVHR0VMjIVHR0ETB0qHcgdKh3IHSodyB0qHR0qHcgdKh3IHSodyB0qHQAAAAYBLAAFA%2BgEowAHAA0AEwAZAB8AKgAAAR4BBgcuATYBMhYVIiYlFAYjNDYBMhYVIiYlFAYjNDYDFRQGIiY9ARYzMgKKVz8%2FV1c%2FP%2F75fLB8sAK8sHyw%2FcB8sHywArywfLCwHSodKAMRBKNDsrJCQrKy%2FsCwfLB8fLB8sP7UsHywfHywfLD%2B05AVHR0VjgQAAAH%2FtQDIBJQDgQBCAAABNzYXAR4BBw4BKwEyFRQOBCsBIhE0NyYiBxYVECsBIi4DNTQzIyImJyY2NwE2HwEeAQ4BLwEHIScHBi4BNgLpRRkUASoLCAYFGg8IAQQNGyc%2FKZK4ChRUFQu4jjBJJxkHAgcPGQYGCAsBKhQaTBQVCiMUM7YDe7YsFCMKFgNuEwYS%2FtkLHw8OEw0dNkY4MhwBIBgXBAQYF%2F7gKjxTQyMNEw4PHwoBKBIHEwUjKBYGDMHBDAUWKCMAAAAAAgAAAAAEsASwACUAQwAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjNC4DKwERFBYXMxUjNTI1ESMiDgMVIzUhBLAyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj9RBkIChgQEWQZDQzIMmQREBgKCBkB9AOEFSAVDggDAfyuFhkBAmRkAQUJFQ4DUgEDCA4VIBUBLP0SDxMKBQH%2BVwsNATIyGQGpAQUKEw%2BWAAAAAAMAAAAABEwErgAdACAAMAAAATUiJy4BLwEBIwEGBw4BDwEVITUiJj8BIRcWBiMVARsBARUUBiMhIiY9ATQ2MyEyFgPoGR4OFgUE%2Ft9F%2FtQSFQkfCwsBETE7EkUBJT0NISf%2B7IZ5AbEdFfwYFR0dFQPoFR0BLDIgDiIKCwLr%2FQ4jFQkTBQUyMisusKYiQTIBhwFW%2Fqr942QVHR0VZBUdHQADAAAAAASwBLAADwBHAEoAABMhMhYVERQGIyEiJjURNDYFIyIHAQYHBgcGHQEUFjMhMjY9ATQmIyInJj8BIRcWBwYjIgYdARQWMyEyNj0BNCYnIicmJyMBJhMjEzIETBUdHRX7tBUdHQJGRg0F%2FtUREhImDAsJAREIDAwINxAKCj8BCjkLEQwYCAwMCAE5CAwLCBEZGQ8B%2FuAFDsVnBLAdFfu0FR0dFQRMFR1SDP0PIBMSEAUNMggMDAgyCAwXDhmjmR8YEQwIMggMDAgyBwwBGRskAuwM%2FgUBCAAABAAAAAAEsASwAAMAEwAjACcAAAEhNSEFITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NhcRIREEsPtQBLD7ggGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHUcBLARMZMgdFfx8FR0dFQOEFR0dFf5wFR0dFQGQFR1k%2FtQBLAAEAAAAAASwBLAADwAfACMAJwAAEyEyFhURFAYjISImNRE0NgEhMhYVERQGIyEiJjURNDYXESEREyE1ITIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR1HASzI%2B1AEsASwHRX8fBUdHRUDhBUd%2FgwdFf5wFR0dFQGQFR1k%2FtQBLP2oZAAAAAACAAAAZASwA%2BgAJwArAAATITIWFREzNTQ2MyEyFh0BMxUjFRQGIyEiJj0BIxEUBiMhIiY1ETQ2AREhETIBkBUdZB0VAZAVHWRkHRX%2BcBUdZB0V%2FnAVHR0CnwEsA%2BgdFf6ilhUdHRWWZJYVHR0Vlv6iFR0dFQMgFR3%2B1P7UASwAAAQAAAAABLAEsAADABMAFwAnAAAzIxEzFyEyFhURFAYjISImNRE0NhcRIREBITIWFREUBiMhIiY1ETQ2ZGRklgGQFR0dFf5wFR0dRwEs%2FqIDhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAAAAgBkAAAETASwACcAKwAAATMyFhURFAYrARUhMhYVERQGIyEiJjURNDYzITUjIiY1ETQ2OwE1MwcRIRECWJYVHR0VlgHCFR0dFfx8FR0dFQFelhUdHRWWZMgBLARMHRX%2BcBUdZB0V%2FnAVHR0VAZAVHWQdFQGQFR1kyP7UASwAAAAEAAAAAASwBLAAAwATABcAJwAAISMRMwUhMhYVERQGIyEiJjURNDYXESERASEyFhURFAYjISImNRE0NgSwZGT9dgGQFR0dFf5wFR0dRwEs%2FK4DhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAEBLAAwA28EgAAPAAAJAQYjIiY1ETQ2MzIXARYUA2H%2BEhcSDhAQDhIXAe4OAjX%2BEhcbGQPoGRsX%2FhIOKgAAAAABAUEAMgOEBH4ACwAACQE2FhURFAYnASY0AU8B7h0qKh3%2BEg4CewHuHREp%2FBgpER0B7g4qAAAAAAEAMgFBBH4DhAALAAATITIWBwEGIicBJjZkA%2BgpER3%2BEg4qDv4SHREDhCod%2FhIODgHuHSoAAAAAAQAyASwEfgNvAAsAAAkBFgYjISImNwE2MgJ7Ae4dESn8GCkRHQHuDioDYf4SHSoqHQHuDgAAAAACAAgAAASwBCgABgAKAAABFQE1LQE1ASE1IQK8%2FUwBnf5jBKj84AMgAuW2%2Fr3dwcHd%2B9jIAAAAAAIAAABkBLAEsAALADEAAAEjFTMVIREzNSM1IQEzND4FOwERFAYPARUhNSIuAzURMzIeBRUzESEEsMjI%2FtTIyAEs%2B1AyCAsZEyYYGWQyGRkBkAQOIhoWZBkYJhMZCwgy%2FOADhGRkASxkZP4MFSAVDggDAf3aFhkBAmRkAQUJFQ4CJgEDCA4VIBUBLAAAAgAAAAAETAPoACUAMQAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjFTMVIREzNSM1IQMgMggLGRMmGBlkMhkZ%2FnAEDiIaFmQZGCYTGQsIMgMgASzIyP7UyMgBLAK8FSAVDggDAf3aFhkCAWRkAQUJFQ4CJgEDCA4VIBUBLPzgZGQBLGRkAAABAMgAZgNyBEoAEgAAATMyFgcJARYGKwEiJwEmNDcBNgK9oBAKDP4wAdAMChCgDQr%2BKQcHAdcKBEoWDP4w%2FjAMFgkB1wgUCAHXCQAAAQE%2BAGYD6ARKABIAAAEzMhcBFhQHAQYrASImNwkBJjYBU6ANCgHXBwf%2BKQoNoBAKDAHQ%2FjAMCgRKCf4pCBQI%2FikJFgwB0AHQDBYAAAEAZgDIBEoDcgASAAAAFh0BFAcBBiInASY9ATQ2FwkBBDQWCf4pCBQI%2FikJFgwB0AHQA3cKEKANCv4pBwcB1woNoBAKDP4wAdAAAAABAGYBPgRKA%2BgAEgAACQEWHQEUBicJAQYmPQE0NwE2MgJqAdcJFgz%2BMP4wDBYJAdcIFAPh%2FikKDaAQCgwB0P4wDAoQoA0KAdcHAAAAAgDZ%2F%2FkEPQSwAAUAOgAAARQGIzQ2BTMyFh8BNjc%2BAh4EBgcOBgcGIiYjIgYiJy4DLwEuAT4EHgEXJyY2A%2BiwfLD%2BVmQVJgdPBQsiKFAzRyorDwURAQQSFyozTSwNOkkLDkc3EDlfNyYHBw8GDyUqPjdGMR%2BTDA0EsHywfLDIHBPCAQIGBwcFDx81S21DBxlLR1xKQhEFBQcHGWt0bCQjP2hJNyATBwMGBcASGAAAAAACAMgAFQOEBLAAFgAaAAATITIWFREUBisBEQcGJjURIyImNRE0NhcVITX6AlgVHR0Vlv8TGpYVHR2rASwEsB0V%2FnAVHf4MsgkQFQKKHRUBkBUdZGRkAAAAAgDIABkETASwAA4AEgAAEyEyFhURBRElIREjETQ2ARU3NfoC7ic9%2FUQCWP1EZB8BDWQEsFEs%2FFt1A7Z9%2FBgEARc0%2FV1kFGQAAQAAAAECTW%2FDBF9fDzz1AB8EsAAAAADQdnOXAAAAANB2c5f%2FUf%2BcBdwFFAAAAAgAAgAAAAAAAAABAAAFFP%2BFAAAFFP9R%2FtQF3AABAAAAAAAAAAAAAAAAAAAAowG4ACgAAAAAAZAAAASwAAAEsABkBLAAAASwAAAEsABwAooAAAUUAAACigAABRQAAAGxAAABRQAAANgAAADYAAAAogAAAQQAAABIAAABBAAAAUUAAASwAGQEsAB7BLAAyASwAMgB9AAABLD%2F8gSwAAAEsAAABLD%2F8ASwAAAEsAAOBLAACQSwAGQEsP%2FTBLD%2F0wSwAAAEsAAABLAAAASwAAAEsAAABLAAJgSwAG4EsAAXBLAAFwSwABcEsABkBLAAGgSwAGQEsAAMBLAAZASwABcEsP%2BcBLAAZASwABcEsAAXBLAAAASwABcEsAAXBLAAFwSwAGQEsAAABLAAZASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAZASwAMgEsAAABLAAAASwADUEsABkBLAAyASw%2F7UEsAAhBLAAAASwAAAEsAAABLAAAASwAAAEsP%2BcBLAAAASwAAAEsAAABLAA2wSwABcEsAB1BLAAAASwAAAEsAAABLAACgSwAMgEsAAABLAAnQSwAMgEsADIBLAAyASwAAAEsP%2F%2BBLABLASwAGQEsACIBLABOwSwABcEsAAXBLAAFwSwABcEsAAXBLAAFwSwAAAEsAAXBLAAFwSwABcEsAAXBLAAAASwALcEsAC3BLAAAASwAAAEsABJBLAAFwSwAAAEsAAABLAAXQSw%2F9wEsP%2FcBLD%2FnwSwAGQEsAAABLAAAASwAAAEsABkBLD%2F%2FwSwAAAEsP9RBLAABgSwAAAEsAAABLABRQSwAAEEsAAABLD%2FnASwAEoEsAAUBLAAAASwAAAEsAAABLD%2FnASwAGEEsP%2F9BLAAFgSwABYEsAAWBLAAFgSwABgEsAAABMQAAASwAGQAAAAAAAD%2F2ABkADkAyAAAAScAZAAZABkAGQAZABkAGQAZAAAAAAAAAAAAAADZAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAMAZABkAAAAEAAAAAAAZP%2Bc%2F5z%2FnP%2Bc%2F5z%2FnP%2Bc%2F5wACQAJ%2F%2FL%2F8gBkAHkAJwBkAGQAAAAAAGT%2FogAAAAAAAAAAAAAAAADIAGQAAAABAI8AAP%2Bc%2F5wAZAAEAMgAyAAAAGQBkABkAAAAZAEs%2F7UAAAAAAAAAAAAAAAAAAABkAAABLAFBADIAMgAIAAAAAADIAT4AZgBmANkAyADIAAAAKgAqACoAKgCyAOgA6AFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BpAIGAiICfgKGAqwC5ANGA24DjAPEBAgEMgRiBKIE3AVcBboGcgb0ByAHYgfKCB4IYgi%2BCTYJhAm2Cd4KKApMCpQK4gswC4oLygwIDFgNKg1eDbAODg5oDrQPKA%2BmD%2BYQEhBUEJAQqhEqEXYRthIKEjgSfBLAExoTdBPQFCoU1BU8FagVzBYEFjYWYBawFv4XUhemGAIYLhhqGJYYsBjgGP4ZKBloGZQZxBnaGe4aNhpoGrga9hteG7QcMhyUHOIdHB1EHWwdlB28HeYeLh52HsAfYh%2FSIEYgviEyIXYhuCJAIpYiuCMOIyIjOCN6I8Ij4CQCJDAkXiSWJOIlNCVgJbwmFCZ%2BJuYnUCe8J%2FgoNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi%2F4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8%2BD0yPew%2BOj6MPtQ%2FKD9uP6o%2F%2BkBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA%2FgADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB%2BgADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD%2FtQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE%2BAT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG%2FAcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB%2BgH7AfwB%2FQH%2BAf8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA%3D%29%20format%28%27truetype%27%29%2Curl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE%2BPC9tZXRhZGF0YT4KPGRlZnM%2BCjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA%2BCjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ%2BCjwvZGVmcz48L3N2Zz4g%29%20format%28%27svg%27%29%7D%2Eglyphicon%7Bposition%3Arelative%3Btop%3A1px%3Bdisplay%3Ainline%2Dblock%3Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3B%2Dwebkit%2Dfont%2Dsmoothing%3Aantialiased%3B%2Dmoz%2Dosx%2Dfont%2Dsmoothing%3Agrayscale%7D%2Eglyphicon%2Dasterisk%3Abefore%7Bcontent%3A%22%5C2a%22%7D%2Eglyphicon%2Dplus%3Abefore%7Bcontent%3A%22%5C2b%22%7D%2Eglyphicon%2Deur%3Abefore%2C%2Eglyphicon%2Deuro%3Abefore%7Bcontent%3A%22%5C20ac%22%7D%2Eglyphicon%2Dminus%3Abefore%7Bcontent%3A%22%5C2212%22%7D%2Eglyphicon%2Dcloud%3Abefore%7Bcontent%3A%22%5C2601%22%7D%2Eglyphicon%2Denvelope%3Abefore%7Bcontent%3A%22%5C2709%22%7D%2Eglyphicon%2Dpencil%3Abefore%7Bcontent%3A%22%5C270f%22%7D%2Eglyphicon%2Dglass%3Abefore%7Bcontent%3A%22%5Ce001%22%7D%2Eglyphicon%2Dmusic%3Abefore%7Bcontent%3A%22%5Ce002%22%7D%2Eglyphicon%2Dsearch%3Abefore%7Bcontent%3A%22%5Ce003%22%7D%2Eglyphicon%2Dheart%3Abefore%7Bcontent%3A%22%5Ce005%22%7D%2Eglyphicon%2Dstar%3Abefore%7Bcontent%3A%22%5Ce006%22%7D%2Eglyphicon%2Dstar%2Dempty%3Abefore%7Bcontent%3A%22%5Ce007%22%7D%2Eglyphicon%2Duser%3Abefore%7Bcontent%3A%22%5Ce008%22%7D%2Eglyphicon%2Dfilm%3Abefore%7Bcontent%3A%22%5Ce009%22%7D%2Eglyphicon%2Dth%2Dlarge%3Abefore%7Bcontent%3A%22%5Ce010%22%7D%2Eglyphicon%2Dth%3Abefore%7Bcontent%3A%22%5Ce011%22%7D%2Eglyphicon%2Dth%2Dlist%3Abefore%7Bcontent%3A%22%5Ce012%22%7D%2Eglyphicon%2Dok%3Abefore%7Bcontent%3A%22%5Ce013%22%7D%2Eglyphicon%2Dremove%3Abefore%7Bcontent%3A%22%5Ce014%22%7D%2Eglyphicon%2Dzoom%2Din%3Abefore%7Bcontent%3A%22%5Ce015%22%7D%2Eglyphicon%2Dzoom%2Dout%3Abefore%7Bcontent%3A%22%5Ce016%22%7D%2Eglyphicon%2Doff%3Abefore%7Bcontent%3A%22%5Ce017%22%7D%2Eglyphicon%2Dsignal%3Abefore%7Bcontent%3A%22%5Ce018%22%7D%2Eglyphicon%2Dcog%3Abefore%7Bcontent%3A%22%5Ce019%22%7D%2Eglyphicon%2Dtrash%3Abefore%7Bcontent%3A%22%5Ce020%22%7D%2Eglyphicon%2Dhome%3Abefore%7Bcontent%3A%22%5Ce021%22%7D%2Eglyphicon%2Dfile%3Abefore%7Bcontent%3A%22%5Ce022%22%7D%2Eglyphicon%2Dtime%3Abefore%7Bcontent%3A%22%5Ce023%22%7D%2Eglyphicon%2Droad%3Abefore%7Bcontent%3A%22%5Ce024%22%7D%2Eglyphicon%2Ddownload%2Dalt%3Abefore%7Bcontent%3A%22%5Ce025%22%7D%2Eglyphicon%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce026%22%7D%2Eglyphicon%2Dupload%3Abefore%7Bcontent%3A%22%5Ce027%22%7D%2Eglyphicon%2Dinbox%3Abefore%7Bcontent%3A%22%5Ce028%22%7D%2Eglyphicon%2Dplay%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce029%22%7D%2Eglyphicon%2Drepeat%3Abefore%7Bcontent%3A%22%5Ce030%22%7D%2Eglyphicon%2Drefresh%3Abefore%7Bcontent%3A%22%5Ce031%22%7D%2Eglyphicon%2Dlist%2Dalt%3Abefore%7Bcontent%3A%22%5Ce032%22%7D%2Eglyphicon%2Dlock%3Abefore%7Bcontent%3A%22%5Ce033%22%7D%2Eglyphicon%2Dflag%3Abefore%7Bcontent%3A%22%5Ce034%22%7D%2Eglyphicon%2Dheadphones%3Abefore%7Bcontent%3A%22%5Ce035%22%7D%2Eglyphicon%2Dvolume%2Doff%3Abefore%7Bcontent%3A%22%5Ce036%22%7D%2Eglyphicon%2Dvolume%2Ddown%3Abefore%7Bcontent%3A%22%5Ce037%22%7D%2Eglyphicon%2Dvolume%2Dup%3Abefore%7Bcontent%3A%22%5Ce038%22%7D%2Eglyphicon%2Dqrcode%3Abefore%7Bcontent%3A%22%5Ce039%22%7D%2Eglyphicon%2Dbarcode%3Abefore%7Bcontent%3A%22%5Ce040%22%7D%2Eglyphicon%2Dtag%3Abefore%7Bcontent%3A%22%5Ce041%22%7D%2Eglyphicon%2Dtags%3Abefore%7Bcontent%3A%22%5Ce042%22%7D%2Eglyphicon%2Dbook%3Abefore%7Bcontent%3A%22%5Ce043%22%7D%2Eglyphicon%2Dbookmark%3Abefore%7Bcontent%3A%22%5Ce044%22%7D%2Eglyphicon%2Dprint%3Abefore%7Bcontent%3A%22%5Ce045%22%7D%2Eglyphicon%2Dcamera%3Abefore%7Bcontent%3A%22%5Ce046%22%7D%2Eglyphicon%2Dfont%3Abefore%7Bcontent%3A%22%5Ce047%22%7D%2Eglyphicon%2Dbold%3Abefore%7Bcontent%3A%22%5Ce048%22%7D%2Eglyphicon%2Ditalic%3Abefore%7Bcontent%3A%22%5Ce049%22%7D%2Eglyphicon%2Dtext%2Dheight%3Abefore%7Bcontent%3A%22%5Ce050%22%7D%2Eglyphicon%2Dtext%2Dwidth%3Abefore%7Bcontent%3A%22%5Ce051%22%7D%2Eglyphicon%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce052%22%7D%2Eglyphicon%2Dalign%2Dcenter%3Abefore%7Bcontent%3A%22%5Ce053%22%7D%2Eglyphicon%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce054%22%7D%2Eglyphicon%2Dalign%2Djustify%3Abefore%7Bcontent%3A%22%5Ce055%22%7D%2Eglyphicon%2Dlist%3Abefore%7Bcontent%3A%22%5Ce056%22%7D%2Eglyphicon%2Dindent%2Dleft%3Abefore%7Bcontent%3A%22%5Ce057%22%7D%2Eglyphicon%2Dindent%2Dright%3Abefore%7Bcontent%3A%22%5Ce058%22%7D%2Eglyphicon%2Dfacetime%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce059%22%7D%2Eglyphicon%2Dpicture%3Abefore%7Bcontent%3A%22%5Ce060%22%7D%2Eglyphicon%2Dmap%2Dmarker%3Abefore%7Bcontent%3A%22%5Ce062%22%7D%2Eglyphicon%2Dadjust%3Abefore%7Bcontent%3A%22%5Ce063%22%7D%2Eglyphicon%2Dtint%3Abefore%7Bcontent%3A%22%5Ce064%22%7D%2Eglyphicon%2Dedit%3Abefore%7Bcontent%3A%22%5Ce065%22%7D%2Eglyphicon%2Dshare%3Abefore%7Bcontent%3A%22%5Ce066%22%7D%2Eglyphicon%2Dcheck%3Abefore%7Bcontent%3A%22%5Ce067%22%7D%2Eglyphicon%2Dmove%3Abefore%7Bcontent%3A%22%5Ce068%22%7D%2Eglyphicon%2Dstep%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce069%22%7D%2Eglyphicon%2Dfast%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce070%22%7D%2Eglyphicon%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce071%22%7D%2Eglyphicon%2Dplay%3Abefore%7Bcontent%3A%22%5Ce072%22%7D%2Eglyphicon%2Dpause%3Abefore%7Bcontent%3A%22%5Ce073%22%7D%2Eglyphicon%2Dstop%3Abefore%7Bcontent%3A%22%5Ce074%22%7D%2Eglyphicon%2Dforward%3Abefore%7Bcontent%3A%22%5Ce075%22%7D%2Eglyphicon%2Dfast%2Dforward%3Abefore%7Bcontent%3A%22%5Ce076%22%7D%2Eglyphicon%2Dstep%2Dforward%3Abefore%7Bcontent%3A%22%5Ce077%22%7D%2Eglyphicon%2Deject%3Abefore%7Bcontent%3A%22%5Ce078%22%7D%2Eglyphicon%2Dchevron%2Dleft%3Abefore%7Bcontent%3A%22%5Ce079%22%7D%2Eglyphicon%2Dchevron%2Dright%3Abefore%7Bcontent%3A%22%5Ce080%22%7D%2Eglyphicon%2Dplus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce081%22%7D%2Eglyphicon%2Dminus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce082%22%7D%2Eglyphicon%2Dremove%2Dsign%3Abefore%7Bcontent%3A%22%5Ce083%22%7D%2Eglyphicon%2Dok%2Dsign%3Abefore%7Bcontent%3A%22%5Ce084%22%7D%2Eglyphicon%2Dquestion%2Dsign%3Abefore%7Bcontent%3A%22%5Ce085%22%7D%2Eglyphicon%2Dinfo%2Dsign%3Abefore%7Bcontent%3A%22%5Ce086%22%7D%2Eglyphicon%2Dscreenshot%3Abefore%7Bcontent%3A%22%5Ce087%22%7D%2Eglyphicon%2Dremove%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce088%22%7D%2Eglyphicon%2Dok%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce089%22%7D%2Eglyphicon%2Dban%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce090%22%7D%2Eglyphicon%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce091%22%7D%2Eglyphicon%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce092%22%7D%2Eglyphicon%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce093%22%7D%2Eglyphicon%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce094%22%7D%2Eglyphicon%2Dshare%2Dalt%3Abefore%7Bcontent%3A%22%5Ce095%22%7D%2Eglyphicon%2Dresize%2Dfull%3Abefore%7Bcontent%3A%22%5Ce096%22%7D%2Eglyphicon%2Dresize%2Dsmall%3Abefore%7Bcontent%3A%22%5Ce097%22%7D%2Eglyphicon%2Dexclamation%2Dsign%3Abefore%7Bcontent%3A%22%5Ce101%22%7D%2Eglyphicon%2Dgift%3Abefore%7Bcontent%3A%22%5Ce102%22%7D%2Eglyphicon%2Dleaf%3Abefore%7Bcontent%3A%22%5Ce103%22%7D%2Eglyphicon%2Dfire%3Abefore%7Bcontent%3A%22%5Ce104%22%7D%2Eglyphicon%2Deye%2Dopen%3Abefore%7Bcontent%3A%22%5Ce105%22%7D%2Eglyphicon%2Deye%2Dclose%3Abefore%7Bcontent%3A%22%5Ce106%22%7D%2Eglyphicon%2Dwarning%2Dsign%3Abefore%7Bcontent%3A%22%5Ce107%22%7D%2Eglyphicon%2Dplane%3Abefore%7Bcontent%3A%22%5Ce108%22%7D%2Eglyphicon%2Dcalendar%3Abefore%7Bcontent%3A%22%5Ce109%22%7D%2Eglyphicon%2Drandom%3Abefore%7Bcontent%3A%22%5Ce110%22%7D%2Eglyphicon%2Dcomment%3Abefore%7Bcontent%3A%22%5Ce111%22%7D%2Eglyphicon%2Dmagnet%3Abefore%7Bcontent%3A%22%5Ce112%22%7D%2Eglyphicon%2Dchevron%2Dup%3Abefore%7Bcontent%3A%22%5Ce113%22%7D%2Eglyphicon%2Dchevron%2Ddown%3Abefore%7Bcontent%3A%22%5Ce114%22%7D%2Eglyphicon%2Dretweet%3Abefore%7Bcontent%3A%22%5Ce115%22%7D%2Eglyphicon%2Dshopping%2Dcart%3Abefore%7Bcontent%3A%22%5Ce116%22%7D%2Eglyphicon%2Dfolder%2Dclose%3Abefore%7Bcontent%3A%22%5Ce117%22%7D%2Eglyphicon%2Dfolder%2Dopen%3Abefore%7Bcontent%3A%22%5Ce118%22%7D%2Eglyphicon%2Dresize%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce119%22%7D%2Eglyphicon%2Dresize%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce120%22%7D%2Eglyphicon%2Dhdd%3Abefore%7Bcontent%3A%22%5Ce121%22%7D%2Eglyphicon%2Dbullhorn%3Abefore%7Bcontent%3A%22%5Ce122%22%7D%2Eglyphicon%2Dbell%3Abefore%7Bcontent%3A%22%5Ce123%22%7D%2Eglyphicon%2Dcertificate%3Abefore%7Bcontent%3A%22%5Ce124%22%7D%2Eglyphicon%2Dthumbs%2Dup%3Abefore%7Bcontent%3A%22%5Ce125%22%7D%2Eglyphicon%2Dthumbs%2Ddown%3Abefore%7Bcontent%3A%22%5Ce126%22%7D%2Eglyphicon%2Dhand%2Dright%3Abefore%7Bcontent%3A%22%5Ce127%22%7D%2Eglyphicon%2Dhand%2Dleft%3Abefore%7Bcontent%3A%22%5Ce128%22%7D%2Eglyphicon%2Dhand%2Dup%3Abefore%7Bcontent%3A%22%5Ce129%22%7D%2Eglyphicon%2Dhand%2Ddown%3Abefore%7Bcontent%3A%22%5Ce130%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce131%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce132%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce133%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce134%22%7D%2Eglyphicon%2Dglobe%3Abefore%7Bcontent%3A%22%5Ce135%22%7D%2Eglyphicon%2Dwrench%3Abefore%7Bcontent%3A%22%5Ce136%22%7D%2Eglyphicon%2Dtasks%3Abefore%7Bcontent%3A%22%5Ce137%22%7D%2Eglyphicon%2Dfilter%3Abefore%7Bcontent%3A%22%5Ce138%22%7D%2Eglyphicon%2Dbriefcase%3Abefore%7Bcontent%3A%22%5Ce139%22%7D%2Eglyphicon%2Dfullscreen%3Abefore%7Bcontent%3A%22%5Ce140%22%7D%2Eglyphicon%2Ddashboard%3Abefore%7Bcontent%3A%22%5Ce141%22%7D%2Eglyphicon%2Dpaperclip%3Abefore%7Bcontent%3A%22%5Ce142%22%7D%2Eglyphicon%2Dheart%2Dempty%3Abefore%7Bcontent%3A%22%5Ce143%22%7D%2Eglyphicon%2Dlink%3Abefore%7Bcontent%3A%22%5Ce144%22%7D%2Eglyphicon%2Dphone%3Abefore%7Bcontent%3A%22%5Ce145%22%7D%2Eglyphicon%2Dpushpin%3Abefore%7Bcontent%3A%22%5Ce146%22%7D%2Eglyphicon%2Dusd%3Abefore%7Bcontent%3A%22%5Ce148%22%7D%2Eglyphicon%2Dgbp%3Abefore%7Bcontent%3A%22%5Ce149%22%7D%2Eglyphicon%2Dsort%3Abefore%7Bcontent%3A%22%5Ce150%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%3Abefore%7Bcontent%3A%22%5Ce151%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%2Dalt%3Abefore%7Bcontent%3A%22%5Ce152%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%3Abefore%7Bcontent%3A%22%5Ce153%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%2Dalt%3Abefore%7Bcontent%3A%22%5Ce154%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%3Abefore%7Bcontent%3A%22%5Ce155%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%2Dalt%3Abefore%7Bcontent%3A%22%5Ce156%22%7D%2Eglyphicon%2Dunchecked%3Abefore%7Bcontent%3A%22%5Ce157%22%7D%2Eglyphicon%2Dexpand%3Abefore%7Bcontent%3A%22%5Ce158%22%7D%2Eglyphicon%2Dcollapse%2Ddown%3Abefore%7Bcontent%3A%22%5Ce159%22%7D%2Eglyphicon%2Dcollapse%2Dup%3Abefore%7Bcontent%3A%22%5Ce160%22%7D%2Eglyphicon%2Dlog%2Din%3Abefore%7Bcontent%3A%22%5Ce161%22%7D%2Eglyphicon%2Dflash%3Abefore%7Bcontent%3A%22%5Ce162%22%7D%2Eglyphicon%2Dlog%2Dout%3Abefore%7Bcontent%3A%22%5Ce163%22%7D%2Eglyphicon%2Dnew%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce164%22%7D%2Eglyphicon%2Drecord%3Abefore%7Bcontent%3A%22%5Ce165%22%7D%2Eglyphicon%2Dsave%3Abefore%7Bcontent%3A%22%5Ce166%22%7D%2Eglyphicon%2Dopen%3Abefore%7Bcontent%3A%22%5Ce167%22%7D%2Eglyphicon%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce168%22%7D%2Eglyphicon%2Dimport%3Abefore%7Bcontent%3A%22%5Ce169%22%7D%2Eglyphicon%2Dexport%3Abefore%7Bcontent%3A%22%5Ce170%22%7D%2Eglyphicon%2Dsend%3Abefore%7Bcontent%3A%22%5Ce171%22%7D%2Eglyphicon%2Dfloppy%2Ddisk%3Abefore%7Bcontent%3A%22%5Ce172%22%7D%2Eglyphicon%2Dfloppy%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce173%22%7D%2Eglyphicon%2Dfloppy%2Dremove%3Abefore%7Bcontent%3A%22%5Ce174%22%7D%2Eglyphicon%2Dfloppy%2Dsave%3Abefore%7Bcontent%3A%22%5Ce175%22%7D%2Eglyphicon%2Dfloppy%2Dopen%3Abefore%7Bcontent%3A%22%5Ce176%22%7D%2Eglyphicon%2Dcredit%2Dcard%3Abefore%7Bcontent%3A%22%5Ce177%22%7D%2Eglyphicon%2Dtransfer%3Abefore%7Bcontent%3A%22%5Ce178%22%7D%2Eglyphicon%2Dcutlery%3Abefore%7Bcontent%3A%22%5Ce179%22%7D%2Eglyphicon%2Dheader%3Abefore%7Bcontent%3A%22%5Ce180%22%7D%2Eglyphicon%2Dcompressed%3Abefore%7Bcontent%3A%22%5Ce181%22%7D%2Eglyphicon%2Dearphone%3Abefore%7Bcontent%3A%22%5Ce182%22%7D%2Eglyphicon%2Dphone%2Dalt%3Abefore%7Bcontent%3A%22%5Ce183%22%7D%2Eglyphicon%2Dtower%3Abefore%7Bcontent%3A%22%5Ce184%22%7D%2Eglyphicon%2Dstats%3Abefore%7Bcontent%3A%22%5Ce185%22%7D%2Eglyphicon%2Dsd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce186%22%7D%2Eglyphicon%2Dhd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce187%22%7D%2Eglyphicon%2Dsubtitles%3Abefore%7Bcontent%3A%22%5Ce188%22%7D%2Eglyphicon%2Dsound%2Dstereo%3Abefore%7Bcontent%3A%22%5Ce189%22%7D%2Eglyphicon%2Dsound%2Ddolby%3Abefore%7Bcontent%3A%22%5Ce190%22%7D%2Eglyphicon%2Dsound%2D5%2D1%3Abefore%7Bcontent%3A%22%5Ce191%22%7D%2Eglyphicon%2Dsound%2D6%2D1%3Abefore%7Bcontent%3A%22%5Ce192%22%7D%2Eglyphicon%2Dsound%2D7%2D1%3Abefore%7Bcontent%3A%22%5Ce193%22%7D%2Eglyphicon%2Dcopyright%2Dmark%3Abefore%7Bcontent%3A%22%5Ce194%22%7D%2Eglyphicon%2Dregistration%2Dmark%3Abefore%7Bcontent%3A%22%5Ce195%22%7D%2Eglyphicon%2Dcloud%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce197%22%7D%2Eglyphicon%2Dcloud%2Dupload%3Abefore%7Bcontent%3A%22%5Ce198%22%7D%2Eglyphicon%2Dtree%2Dconifer%3Abefore%7Bcontent%3A%22%5Ce199%22%7D%2Eglyphicon%2Dtree%2Ddeciduous%3Abefore%7Bcontent%3A%22%5Ce200%22%7D%2Eglyphicon%2Dcd%3Abefore%7Bcontent%3A%22%5Ce201%22%7D%2Eglyphicon%2Dsave%2Dfile%3Abefore%7Bcontent%3A%22%5Ce202%22%7D%2Eglyphicon%2Dopen%2Dfile%3Abefore%7Bcontent%3A%22%5Ce203%22%7D%2Eglyphicon%2Dlevel%2Dup%3Abefore%7Bcontent%3A%22%5Ce204%22%7D%2Eglyphicon%2Dcopy%3Abefore%7Bcontent%3A%22%5Ce205%22%7D%2Eglyphicon%2Dpaste%3Abefore%7Bcontent%3A%22%5Ce206%22%7D%2Eglyphicon%2Dalert%3Abefore%7Bcontent%3A%22%5Ce209%22%7D%2Eglyphicon%2Dequalizer%3Abefore%7Bcontent%3A%22%5Ce210%22%7D%2Eglyphicon%2Dking%3Abefore%7Bcontent%3A%22%5Ce211%22%7D%2Eglyphicon%2Dqueen%3Abefore%7Bcontent%3A%22%5Ce212%22%7D%2Eglyphicon%2Dpawn%3Abefore%7Bcontent%3A%22%5Ce213%22%7D%2Eglyphicon%2Dbishop%3Abefore%7Bcontent%3A%22%5Ce214%22%7D%2Eglyphicon%2Dknight%3Abefore%7Bcontent%3A%22%5Ce215%22%7D%2Eglyphicon%2Dbaby%2Dformula%3Abefore%7Bcontent%3A%22%5Ce216%22%7D%2Eglyphicon%2Dtent%3Abefore%7Bcontent%3A%22%5C26fa%22%7D%2Eglyphicon%2Dblackboard%3Abefore%7Bcontent%3A%22%5Ce218%22%7D%2Eglyphicon%2Dbed%3Abefore%7Bcontent%3A%22%5Ce219%22%7D%2Eglyphicon%2Dapple%3Abefore%7Bcontent%3A%22%5Cf8ff%22%7D%2Eglyphicon%2Derase%3Abefore%7Bcontent%3A%22%5Ce221%22%7D%2Eglyphicon%2Dhourglass%3Abefore%7Bcontent%3A%22%5C231b%22%7D%2Eglyphicon%2Dlamp%3Abefore%7Bcontent%3A%22%5Ce223%22%7D%2Eglyphicon%2Dduplicate%3Abefore%7Bcontent%3A%22%5Ce224%22%7D%2Eglyphicon%2Dpiggy%2Dbank%3Abefore%7Bcontent%3A%22%5Ce225%22%7D%2Eglyphicon%2Dscissors%3Abefore%7Bcontent%3A%22%5Ce226%22%7D%2Eglyphicon%2Dbitcoin%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dbtc%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dxbt%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dyen%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Djpy%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Druble%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Drub%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Dscale%3Abefore%7Bcontent%3A%22%5Ce230%22%7D%2Eglyphicon%2Dice%2Dlolly%3Abefore%7Bcontent%3A%22%5Ce231%22%7D%2Eglyphicon%2Dice%2Dlolly%2Dtasted%3Abefore%7Bcontent%3A%22%5Ce232%22%7D%2Eglyphicon%2Deducation%3Abefore%7Bcontent%3A%22%5Ce233%22%7D%2Eglyphicon%2Doption%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce234%22%7D%2Eglyphicon%2Doption%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce235%22%7D%2Eglyphicon%2Dmenu%2Dhamburger%3Abefore%7Bcontent%3A%22%5Ce236%22%7D%2Eglyphicon%2Dmodal%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce237%22%7D%2Eglyphicon%2Doil%3Abefore%7Bcontent%3A%22%5Ce238%22%7D%2Eglyphicon%2Dgrain%3Abefore%7Bcontent%3A%22%5Ce239%22%7D%2Eglyphicon%2Dsunglasses%3Abefore%7Bcontent%3A%22%5Ce240%22%7D%2Eglyphicon%2Dtext%2Dsize%3Abefore%7Bcontent%3A%22%5Ce241%22%7D%2Eglyphicon%2Dtext%2Dcolor%3Abefore%7Bcontent%3A%22%5Ce242%22%7D%2Eglyphicon%2Dtext%2Dbackground%3Abefore%7Bcontent%3A%22%5Ce243%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dtop%3Abefore%7Bcontent%3A%22%5Ce244%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce245%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce246%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce247%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce248%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce249%22%7D%2Eglyphicon%2Dtriangle%2Dright%3Abefore%7Bcontent%3A%22%5Ce250%22%7D%2Eglyphicon%2Dtriangle%2Dleft%3Abefore%7Bcontent%3A%22%5Ce251%22%7D%2Eglyphicon%2Dtriangle%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce252%22%7D%2Eglyphicon%2Dtriangle%2Dtop%3Abefore%7Bcontent%3A%22%5Ce253%22%7D%2Eglyphicon%2Dconsole%3Abefore%7Bcontent%3A%22%5Ce254%22%7D%2Eglyphicon%2Dsuperscript%3Abefore%7Bcontent%3A%22%5Ce255%22%7D%2Eglyphicon%2Dsubscript%3Abefore%7Bcontent%3A%22%5Ce256%22%7D%2Eglyphicon%2Dmenu%2Dleft%3Abefore%7Bcontent%3A%22%5Ce257%22%7D%2Eglyphicon%2Dmenu%2Dright%3Abefore%7Bcontent%3A%22%5Ce258%22%7D%2Eglyphicon%2Dmenu%2Ddown%3Abefore%7Bcontent%3A%22%5Ce259%22%7D%2Eglyphicon%2Dmenu%2Dup%3Abefore%7Bcontent%3A%22%5Ce260%22%7D%2A%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7D%3Aafter%2C%3Abefore%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dhtml%7Bfont%2Dsize%3A10px%3B%2Dwebkit%2Dtap%2Dhighlight%2Dcolor%3Argba%280%2C0%2C0%2C0%29%7Dbody%7Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%7Dbutton%2Cinput%2Cselect%2Ctextarea%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dsize%3Ainherit%3Bline%2Dheight%3Ainherit%7Da%7Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%7Da%3Afocus%2Ca%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%7Da%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Dfigure%7Bmargin%3A0%7Dimg%7Bvertical%2Dalign%3Amiddle%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%2C%2Eimg%2Dresponsive%2C%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bdisplay%3Ablock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%7D%2Eimg%2Drounded%7Bborder%2Dradius%3A6px%7D%2Eimg%2Dthumbnail%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%3Bpadding%3A4px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aall%20%2E2s%20ease%2Din%2Dout%7D%2Eimg%2Dcircle%7Bborder%2Dradius%3A50%25%7Dhr%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A20px%3Bborder%3A0%3Bborder%2Dtop%3A1px%20solid%20%23eee%7D%2Esr%2Donly%7Bposition%3Aabsolute%3Bwidth%3A1px%3Bheight%3A1px%3Bpadding%3A0%3Bmargin%3A%2D1px%3Boverflow%3Ahidden%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bborder%3A0%7D%2Esr%2Donly%2Dfocusable%3Aactive%2C%2Esr%2Donly%2Dfocusable%3Afocus%7Bposition%3Astatic%3Bwidth%3Aauto%3Bheight%3Aauto%3Bmargin%3A0%3Boverflow%3Avisible%3Bclip%3Aauto%7D%5Brole%3Dbutton%5D%7Bcursor%3Apointer%7D%2Eh1%2C%2Eh2%2C%2Eh3%2C%2Eh4%2C%2Eh5%2C%2Eh6%2Ch1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dweight%3A500%3Bline%2Dheight%3A1%2E1%3Bcolor%3Ainherit%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2C%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23777%7D%2Eh1%2C%2Eh2%2C%2Eh3%2Ch1%2Ch2%2Ch3%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A10px%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%7Bfont%2Dsize%3A65%25%7D%2Eh4%2C%2Eh5%2C%2Eh6%2Ch4%2Ch5%2Ch6%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dsize%3A75%25%7D%2Eh1%2Ch1%7Bfont%2Dsize%3A36px%7D%2Eh2%2Ch2%7Bfont%2Dsize%3A30px%7D%2Eh3%2Ch3%7Bfont%2Dsize%3A24px%7D%2Eh4%2Ch4%7Bfont%2Dsize%3A18px%7D%2Eh5%2Ch5%7Bfont%2Dsize%3A14px%7D%2Eh6%2Ch6%7Bfont%2Dsize%3A12px%7Dp%7Bmargin%3A0%200%2010px%7D%2Elead%7Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A16px%3Bfont%2Dweight%3A300%3Bline%2Dheight%3A1%2E4%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Elead%7Bfont%2Dsize%3A21px%7D%7D%2Esmall%2Csmall%7Bfont%2Dsize%3A85%25%7D%2Emark%2Cmark%7Bpadding%3A%2E2em%3Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etext%2Dleft%7Btext%2Dalign%3Aleft%7D%2Etext%2Dright%7Btext%2Dalign%3Aright%7D%2Etext%2Dcenter%7Btext%2Dalign%3Acenter%7D%2Etext%2Djustify%7Btext%2Dalign%3Ajustify%7D%2Etext%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7D%2Etext%2Dlowercase%7Btext%2Dtransform%3Alowercase%7D%2Etext%2Duppercase%7Btext%2Dtransform%3Auppercase%7D%2Etext%2Dcapitalize%7Btext%2Dtransform%3Acapitalize%7D%2Etext%2Dmuted%7Bcolor%3A%23777%7D%2Etext%2Dprimary%7Bcolor%3A%23337ab7%7Da%2Etext%2Dprimary%3Afocus%2Ca%2Etext%2Dprimary%3Ahover%7Bcolor%3A%23286090%7D%2Etext%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Etext%2Dsuccess%3Afocus%2Ca%2Etext%2Dsuccess%3Ahover%7Bcolor%3A%232b542c%7D%2Etext%2Dinfo%7Bcolor%3A%2331708f%7Da%2Etext%2Dinfo%3Afocus%2Ca%2Etext%2Dinfo%3Ahover%7Bcolor%3A%23245269%7D%2Etext%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Etext%2Dwarning%3Afocus%2Ca%2Etext%2Dwarning%3Ahover%7Bcolor%3A%2366512c%7D%2Etext%2Ddanger%7Bcolor%3A%23a94442%7Da%2Etext%2Ddanger%3Afocus%2Ca%2Etext%2Ddanger%3Ahover%7Bcolor%3A%23843534%7D%2Ebg%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7Da%2Ebg%2Dprimary%3Afocus%2Ca%2Ebg%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Ebg%2Dsuccess%7Bbackground%2Dcolor%3A%23dff0d8%7Da%2Ebg%2Dsuccess%3Afocus%2Ca%2Ebg%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%23c1e2b3%7D%2Ebg%2Dinfo%7Bbackground%2Dcolor%3A%23d9edf7%7Da%2Ebg%2Dinfo%3Afocus%2Ca%2Ebg%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%23afd9ee%7D%2Ebg%2Dwarning%7Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Ebg%2Dwarning%3Afocus%2Ca%2Ebg%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f7ecb5%7D%2Ebg%2Ddanger%7Bbackground%2Dcolor%3A%23f2dede%7Da%2Ebg%2Ddanger%3Afocus%2Ca%2Ebg%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23e4b9b9%7D%2Epage%2Dheader%7Bpadding%2Dbottom%3A9px%3Bmargin%3A40px%200%2020px%3Bborder%2Dbottom%3A1px%20solid%20%23eee%7Dol%2Cul%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A10px%7Dol%20ol%2Col%20ul%2Cul%20ol%2Cul%20ul%7Bmargin%2Dbottom%3A0%7D%2Elist%2Dunstyled%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%7Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D5px%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%3Eli%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dright%3A5px%3Bpadding%2Dleft%3A5px%7Ddl%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A20px%7Ddd%2Cdt%7Bline%2Dheight%3A1%2E42857143%7Ddt%7Bfont%2Dweight%3A700%7Ddd%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Edl%2Dhorizontal%20dt%7Bfloat%3Aleft%3Bwidth%3A160px%3Boverflow%3Ahidden%3Bclear%3Aleft%3Btext%2Dalign%3Aright%3Btext%2Doverflow%3Aellipsis%3Bwhite%2Dspace%3Anowrap%7D%2Edl%2Dhorizontal%20dd%7Bmargin%2Dleft%3A180px%7D%7Dabbr%5Bdata%2Doriginal%2Dtitle%5D%2Cabbr%5Btitle%5D%7Bcursor%3Ahelp%3Bborder%2Dbottom%3A1px%20dotted%20%23777%7D%2Einitialism%7Bfont%2Dsize%3A90%25%3Btext%2Dtransform%3Auppercase%7Dblockquote%7Bpadding%3A10px%2020px%3Bmargin%3A0%200%2020px%3Bfont%2Dsize%3A17%2E5px%3Bborder%2Dleft%3A5px%20solid%20%23eee%7Dblockquote%20ol%3Alast%2Dchild%2Cblockquote%20p%3Alast%2Dchild%2Cblockquote%20ul%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7Dblockquote%20%2Esmall%2Cblockquote%20footer%2Cblockquote%20small%7Bdisplay%3Ablock%3Bfont%2Dsize%3A80%25%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%7Dblockquote%20%2Esmall%3Abefore%2Cblockquote%20footer%3Abefore%2Cblockquote%20small%3Abefore%7Bcontent%3A%27%5C2014%20%5C00A0%27%7D%2Eblockquote%2Dreverse%2Cblockquote%2Epull%2Dright%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A0%3Btext%2Dalign%3Aright%3Bborder%2Dright%3A5px%20solid%20%23eee%3Bborder%2Dleft%3A0%7D%2Eblockquote%2Dreverse%20%2Esmall%3Abefore%2C%2Eblockquote%2Dreverse%20footer%3Abefore%2C%2Eblockquote%2Dreverse%20small%3Abefore%2Cblockquote%2Epull%2Dright%20%2Esmall%3Abefore%2Cblockquote%2Epull%2Dright%20footer%3Abefore%2Cblockquote%2Epull%2Dright%20small%3Abefore%7Bcontent%3A%27%27%7D%2Eblockquote%2Dreverse%20%2Esmall%3Aafter%2C%2Eblockquote%2Dreverse%20footer%3Aafter%2C%2Eblockquote%2Dreverse%20small%3Aafter%2Cblockquote%2Epull%2Dright%20%2Esmall%3Aafter%2Cblockquote%2Epull%2Dright%20footer%3Aafter%2Cblockquote%2Epull%2Dright%20small%3Aafter%7Bcontent%3A%27%5C00A0%20%5C2014%27%7Daddress%7Bmargin%2Dbottom%3A20px%3Bfont%2Dstyle%3Anormal%3Bline%2Dheight%3A1%2E42857143%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%7Dcode%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23c7254e%3Bbackground%2Dcolor%3A%23f9f2f4%3Bborder%2Dradius%3A4px%7Dkbd%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%3Bborder%2Dradius%3A3px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%7Dkbd%20kbd%7Bpadding%3A0%3Bfont%2Dsize%3A100%25%3Bfont%2Dweight%3A700%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7Dpre%7Bdisplay%3Ablock%3Bpadding%3A9%2E5px%3Bmargin%3A0%200%2010px%3Bfont%2Dsize%3A13px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bword%2Dbreak%3Abreak%2Dall%3Bword%2Dwrap%3Abreak%2Dword%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7Dpre%20code%7Bpadding%3A0%3Bfont%2Dsize%3Ainherit%3Bcolor%3Ainherit%3Bwhite%2Dspace%3Apre%2Dwrap%3Bbackground%2Dcolor%3Atransparent%3Bborder%2Dradius%3A0%7D%2Epre%2Dscrollable%7Bmax%2Dheight%3A340px%3Boverflow%2Dy%3Ascroll%7D%2Econtainer%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%7Bwidth%3A750px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Econtainer%7Bwidth%3A970px%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Econtainer%7Bwidth%3A1170px%7D%7D%2Econtainer%2Dfluid%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Erow%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%2C%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%2C%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%2C%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bposition%3Arelative%3Bmin%2Dheight%3A1px%3Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dxs%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dxs%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dxs%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dxs%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dxs%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dxs%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dxs%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dxs%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dxs%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dxs%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dxs%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dxs%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dxs%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dxs%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dxs%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dxs%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dxs%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dxs%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dxs%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dxs%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dxs%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dxs%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dxs%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dxs%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dxs%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dxs%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dsm%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dsm%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dsm%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dsm%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dsm%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dsm%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dsm%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dsm%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dsm%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dsm%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dsm%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dsm%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dsm%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dsm%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dsm%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dsm%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dsm%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dsm%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dsm%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dsm%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dsm%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dsm%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dsm%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dsm%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dsm%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dsm%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dmd%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dmd%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dmd%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dmd%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dmd%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dmd%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dmd%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dmd%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dmd%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dmd%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dmd%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dmd%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dmd%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dmd%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dmd%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dmd%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dmd%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dmd%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dmd%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dmd%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dmd%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dmd%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dmd%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dmd%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dmd%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dmd%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dlg%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dlg%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dlg%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dlg%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dlg%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dlg%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dlg%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dlg%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dlg%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dlg%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dlg%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dlg%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dlg%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dlg%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dlg%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dlg%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dlg%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dlg%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dlg%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dlg%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dlg%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dlg%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dlg%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dlg%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dlg%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dlg%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7Dtable%7Bbackground%2Dcolor%3Atransparent%7Dcaption%7Bpadding%2Dtop%3A8px%3Bpadding%2Dbottom%3A8px%3Bcolor%3A%23777%3Btext%2Dalign%3Aleft%7Dth%7B%7D%2Etable%7Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A20px%7D%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%3Ethead%3Etr%3Eth%7Bpadding%3A8px%3Bline%2Dheight%3A1%2E42857143%3Bvertical%2Dalign%3Atop%3Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Etable%3Ethead%3Etr%3Eth%7Bvertical%2Dalign%3Abottom%3Bborder%2Dbottom%3A2px%20solid%20%23ddd%7D%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dtop%3A0%7D%2Etable%3Etbody%2Btbody%7Bborder%2Dtop%3A2px%20solid%20%23ddd%7D%2Etable%20%2Etable%7Bbackground%2Dcolor%3A%23fff%7D%2Etable%2Dcondensed%3Etbody%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etbody%3Etr%3Eth%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Eth%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Etd%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Eth%7Bpadding%3A5px%7D%2Etable%2Dbordered%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Etbody%3Etr%3Etd%2C%2Etable%2Dbordered%3Etbody%3Etr%3Eth%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%2C%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%2Dbottom%2Dwidth%3A2px%7D%2Etable%2Dstriped%3Etbody%3Etr%3Anth%2Dof%2Dtype%28odd%29%7Bbackground%2Dcolor%3A%23f9f9f9%7D%2Etable%2Dhover%3Etbody%3Etr%3Ahover%7Bbackground%2Dcolor%3A%23f5f5f5%7Dtable%20col%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcolumn%3Bfloat%3Anone%7Dtable%20td%5Bclass%2A%3Dcol%2D%5D%2Ctable%20th%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%7D%2Etable%3Etbody%3Etr%2Eactive%3Etd%2C%2Etable%3Etbody%3Etr%2Eactive%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Eactive%2C%2Etable%3Etbody%3Etr%3Eth%2Eactive%2C%2Etable%3Etfoot%3Etr%2Eactive%3Etd%2C%2Etable%3Etfoot%3Etr%2Eactive%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Eactive%2C%2Etable%3Etfoot%3Etr%3Eth%2Eactive%2C%2Etable%3Ethead%3Etr%2Eactive%3Etd%2C%2Etable%3Ethead%3Etr%2Eactive%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Eactive%2C%2Etable%3Ethead%3Etr%3Eth%2Eactive%7Bbackground%2Dcolor%3A%23f5f5f5%7D%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Eactive%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Eactive%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Eactive%3Ahover%7Bbackground%2Dcolor%3A%23e8e8e8%7D%2Etable%3Etbody%3Etr%2Esuccess%3Etd%2C%2Etable%3Etbody%3Etr%2Esuccess%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Esuccess%2C%2Etable%3Etbody%3Etr%3Eth%2Esuccess%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Etd%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Esuccess%2C%2Etable%3Etfoot%3Etr%3Eth%2Esuccess%2C%2Etable%3Ethead%3Etr%2Esuccess%3Etd%2C%2Etable%3Ethead%3Etr%2Esuccess%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Esuccess%2C%2Etable%3Ethead%3Etr%3Eth%2Esuccess%7Bbackground%2Dcolor%3A%23dff0d8%7D%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Esuccess%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Esuccess%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Esuccess%3Ahover%7Bbackground%2Dcolor%3A%23d0e9c6%7D%2Etable%3Etbody%3Etr%2Einfo%3Etd%2C%2Etable%3Etbody%3Etr%2Einfo%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Einfo%2C%2Etable%3Etbody%3Etr%3Eth%2Einfo%2C%2Etable%3Etfoot%3Etr%2Einfo%3Etd%2C%2Etable%3Etfoot%3Etr%2Einfo%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Einfo%2C%2Etable%3Etfoot%3Etr%3Eth%2Einfo%2C%2Etable%3Ethead%3Etr%2Einfo%3Etd%2C%2Etable%3Ethead%3Etr%2Einfo%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Einfo%2C%2Etable%3Ethead%3Etr%3Eth%2Einfo%7Bbackground%2Dcolor%3A%23d9edf7%7D%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Einfo%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Einfo%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Einfo%3Ahover%7Bbackground%2Dcolor%3A%23c4e3f3%7D%2Etable%3Etbody%3Etr%2Ewarning%3Etd%2C%2Etable%3Etbody%3Etr%2Ewarning%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Ewarning%2C%2Etable%3Etbody%3Etr%3Eth%2Ewarning%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Etd%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Ewarning%2C%2Etable%3Etfoot%3Etr%3Eth%2Ewarning%2C%2Etable%3Ethead%3Etr%2Ewarning%3Etd%2C%2Etable%3Ethead%3Etr%2Ewarning%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Ewarning%2C%2Etable%3Ethead%3Etr%3Eth%2Ewarning%7Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Ewarning%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Ewarning%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Ewarning%3Ahover%7Bbackground%2Dcolor%3A%23faf2cc%7D%2Etable%3Etbody%3Etr%2Edanger%3Etd%2C%2Etable%3Etbody%3Etr%2Edanger%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Edanger%2C%2Etable%3Etbody%3Etr%3Eth%2Edanger%2C%2Etable%3Etfoot%3Etr%2Edanger%3Etd%2C%2Etable%3Etfoot%3Etr%2Edanger%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Edanger%2C%2Etable%3Etfoot%3Etr%3Eth%2Edanger%2C%2Etable%3Ethead%3Etr%2Edanger%3Etd%2C%2Etable%3Ethead%3Etr%2Edanger%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Edanger%2C%2Etable%3Ethead%3Etr%3Eth%2Edanger%7Bbackground%2Dcolor%3A%23f2dede%7D%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Edanger%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Edanger%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Edanger%3Ahover%7Bbackground%2Dcolor%3A%23ebcccc%7D%2Etable%2Dresponsive%7Bmin%2Dheight%3A%2E01%25%3Boverflow%2Dx%3Aauto%7D%40media%20screen%20and%20%28max%2Dwidth%3A767px%29%7B%2Etable%2Dresponsive%7Bwidth%3A100%25%3Bmargin%2Dbottom%3A15px%3Boverflow%2Dy%3Ahidden%3B%2Dms%2Doverflow%2Dstyle%3A%2Dms%2Dautohiding%2Dscrollbar%3Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Eth%7Bwhite%2Dspace%3Anowrap%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%7Dfieldset%7Bmin%2Dwidth%3A0%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3A0%7Dlegend%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bpadding%3A0%3Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A21px%3Bline%2Dheight%3Ainherit%3Bcolor%3A%23333%3Bborder%3A0%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7Dlabel%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A5px%3Bfont%2Dweight%3A700%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7Bmargin%3A4px%200%200%3Bmargin%2Dtop%3A1px%5C9%3Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dfile%5D%7Bdisplay%3Ablock%7Dinput%5Btype%3Drange%5D%7Bdisplay%3Ablock%3Bwidth%3A100%25%7Dselect%5Bmultiple%5D%2Cselect%5Bsize%5D%7Bheight%3Aauto%7Dinput%5Btype%3Dfile%5D%3Afocus%2Cinput%5Btype%3Dcheckbox%5D%3Afocus%2Cinput%5Btype%3Dradio%5D%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Doutput%7Bdisplay%3Ablock%3Bpadding%2Dtop%3A7px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%7D%2Eform%2Dcontrol%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bheight%3A34px%3Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23fff%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3B%2Dwebkit%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2C%2Dwebkit%2Dbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3B%2Do%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3Btransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%7D%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366afe9%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%7D%2Eform%2Dcontrol%3A%3A%2Dmoz%2Dplaceholder%7Bcolor%3A%23999%3Bopacity%3A1%7D%2Eform%2Dcontrol%3A%2Dms%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%3A%3A%2Dwebkit%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%5Bdisabled%5D%2C%2Eform%2Dcontrol%5Breadonly%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bbackground%2Dcolor%3A%23eee%3Bopacity%3A1%7D%2Eform%2Dcontrol%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bcursor%3Anot%2Dallowed%7Dtextarea%2Eform%2Dcontrol%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dappearance%3Anone%7D%40media%20screen%20and%20%28%2Dwebkit%2Dmin%2Ddevice%2Dpixel%2Dratio%3A0%29%7Binput%5Btype%3Ddate%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dtime%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dmonth%5D%2Eform%2Dcontrol%7Bline%2Dheight%3A34px%7D%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dsm%2Cinput%5Btype%3Dtime%5D%2Einput%2Dsm%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dsm%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dsm%7Bline%2Dheight%3A30px%7D%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dlg%2Cinput%5Btype%3Dtime%5D%2Einput%2Dlg%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dlg%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dlg%7Bline%2Dheight%3A46px%7D%7D%2Eform%2Dgroup%7Bmargin%2Dbottom%3A15px%7D%2Echeckbox%2C%2Eradio%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Echeckbox%20label%2C%2Eradio%20label%7Bmin%2Dheight%3A20px%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bcursor%3Apointer%7D%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Echeckbox%2Dinline%20input%5Btype%3Dcheckbox%5D%2C%2Eradio%20input%5Btype%3Dradio%5D%2C%2Eradio%2Dinline%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bmargin%2Dtop%3A4px%5C9%3Bmargin%2Dleft%3A%2D20px%7D%2Echeckbox%2B%2Echeckbox%2C%2Eradio%2B%2Eradio%7Bmargin%2Dtop%3A%2D5px%7D%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bvertical%2Dalign%3Amiddle%3Bcursor%3Apointer%7D%2Echeckbox%2Dinline%2B%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%2B%2Eradio%2Dinline%7Bmargin%2Dtop%3A0%3Bmargin%2Dleft%3A10px%7Dfieldset%5Bdisabled%5D%20input%5Btype%3Dcheckbox%5D%2Cfieldset%5Bdisabled%5D%20input%5Btype%3Dradio%5D%2Cinput%5Btype%3Dcheckbox%5D%2Edisabled%2Cinput%5Btype%3Dcheckbox%5D%5Bdisabled%5D%2Cinput%5Btype%3Dradio%5D%2Edisabled%2Cinput%5Btype%3Dradio%5D%5Bdisabled%5D%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Dinline%2Edisabled%2C%2Eradio%2Dinline%2Edisabled%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%2Dinline%2Cfieldset%5Bdisabled%5D%20%2Eradio%2Dinline%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Edisabled%20label%2C%2Eradio%2Edisabled%20label%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%20label%2Cfieldset%5Bdisabled%5D%20%2Eradio%20label%7Bcursor%3Anot%2Dallowed%7D%2Eform%2Dcontrol%2Dstatic%7Bmin%2Dheight%3A34px%3Bpadding%2Dtop%3A7px%3Bpadding%2Dbottom%3A7px%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dcontrol%2Dstatic%2Einput%2Dlg%2C%2Eform%2Dcontrol%2Dstatic%2Einput%2Dsm%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dsm%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dsm%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dsm%2Ctextarea%2Einput%2Dsm%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Eform%2Dgroup%2Dsm%20select%2Eform%2Dcontrol%7Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Eform%2Dgroup%2Dsm%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dsm%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A30px%3Bmin%2Dheight%3A32px%3Bpadding%3A6px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Einput%2Dlg%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dlg%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dlg%2Ctextarea%2Einput%2Dlg%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Eform%2Dgroup%2Dlg%20select%2Eform%2Dcontrol%7Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dlg%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dlg%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A46px%3Bmin%2Dheight%3A38px%3Bpadding%3A11px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Ehas%2Dfeedback%7Bposition%3Arelative%7D%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%7Bpadding%2Dright%3A42%2E5px%7D%2Eform%2Dcontrol%2Dfeedback%7Bposition%3Aabsolute%3Btop%3A0%3Bright%3A0%3Bz%2Dindex%3A2%3Bdisplay%3Ablock%3Bwidth%3A34px%3Bheight%3A34px%3Bline%2Dheight%3A34px%3Btext%2Dalign%3Acenter%3Bpointer%2Devents%3Anone%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A46px%3Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A30px%3Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Ehas%2Dsuccess%20%2Echeckbox%2C%2Ehas%2Dsuccess%20%2Echeckbox%2Dinline%2C%2Ehas%2Dsuccess%20%2Econtrol%2Dlabel%2C%2Ehas%2Dsuccess%20%2Ehelp%2Dblock%2C%2Ehas%2Dsuccess%20%2Eradio%2C%2Ehas%2Dsuccess%20%2Eradio%2Dinline%2C%2Ehas%2Dsuccess%2Echeckbox%20label%2C%2Ehas%2Dsuccess%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dsuccess%2Eradio%20label%2C%2Ehas%2Dsuccess%2Eradio%2Dinline%20label%7Bcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%233c763d%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%232b542c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%7D%2Ehas%2Dsuccess%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%233c763d%7D%2Ehas%2Dwarning%20%2Echeckbox%2C%2Ehas%2Dwarning%20%2Echeckbox%2Dinline%2C%2Ehas%2Dwarning%20%2Econtrol%2Dlabel%2C%2Ehas%2Dwarning%20%2Ehelp%2Dblock%2C%2Ehas%2Dwarning%20%2Eradio%2C%2Ehas%2Dwarning%20%2Eradio%2Dinline%2C%2Ehas%2Dwarning%2Echeckbox%20label%2C%2Ehas%2Dwarning%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dwarning%2Eradio%20label%2C%2Ehas%2Dwarning%2Eradio%2Dinline%20label%7Bcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%238a6d3b%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366512c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%7D%2Ehas%2Dwarning%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%238a6d3b%7D%2Ehas%2Derror%20%2Echeckbox%2C%2Ehas%2Derror%20%2Echeckbox%2Dinline%2C%2Ehas%2Derror%20%2Econtrol%2Dlabel%2C%2Ehas%2Derror%20%2Ehelp%2Dblock%2C%2Ehas%2Derror%20%2Eradio%2C%2Ehas%2Derror%20%2Eradio%2Dinline%2C%2Ehas%2Derror%2Echeckbox%20label%2C%2Ehas%2Derror%2Echeckbox%2Dinline%20label%2C%2Ehas%2Derror%2Eradio%20label%2C%2Ehas%2Derror%2Eradio%2Dinline%20label%7Bcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%23a94442%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%23843534%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%7D%2Ehas%2Derror%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%23a94442%7D%2Ehas%2Dfeedback%20label%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A25px%7D%2Ehas%2Dfeedback%20label%2Esr%2Donly%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%2Ehelp%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dtop%3A5px%3Bmargin%2Dbottom%3A10px%3Bcolor%3A%23737373%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dinline%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Eform%2Dinline%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Eform%2Dinline%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Eform%2Dinline%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%2C%2Eform%2Dinline%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%20label%2C%2Eform%2Dinline%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Eform%2Dinline%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Eform%2Dinline%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Eform%2Dinline%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Echeckbox%2Dinline%2C%2Eform%2Dhorizontal%20%2Eradio%2C%2Eform%2Dhorizontal%20%2Eradio%2Dinline%7Bpadding%2Dtop%3A7px%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Eradio%7Bmin%2Dheight%3A27px%7D%2Eform%2Dhorizontal%20%2Eform%2Dgroup%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A7px%3Bmargin%2Dbottom%3A0%3Btext%2Dalign%3Aright%7D%7D%2Eform%2Dhorizontal%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Bright%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dlg%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A14%2E33px%3Bfont%2Dsize%3A18px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dsm%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A6px%3Bfont%2Dsize%3A12px%7D%7D%2Ebtn%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A6px%2012px%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3B%2Dms%2Dtouch%2Daction%3Amanipulation%3Btouch%2Daction%3Amanipulation%3Bcursor%3Apointer%3B%2Dwebkit%2Duser%2Dselect%3Anone%3B%2Dmoz%2Duser%2Dselect%3Anone%3B%2Dms%2Duser%2Dselect%3Anone%3Buser%2Dselect%3Anone%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ebtn%2Eactive%2Efocus%2C%2Ebtn%2Eactive%3Afocus%2C%2Ebtn%2Efocus%2C%2Ebtn%3Aactive%2Efocus%2C%2Ebtn%3Aactive%3Afocus%2C%2Ebtn%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7D%2Ebtn%2Efocus%2C%2Ebtn%3Afocus%2C%2Ebtn%3Ahover%7Bcolor%3A%23333%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Eactive%2C%2Ebtn%3Aactive%7Bbackground%2Dimage%3Anone%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Edisabled%2C%2Ebtn%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%7Bcursor%3Anot%2Dallowed%3Bfilter%3Aalpha%28opacity%3D65%29%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%3Bopacity%3A%2E65%7Da%2Ebtn%2Edisabled%2Cfieldset%5Bdisabled%5D%20a%2Ebtn%7Bpointer%2Devents%3Anone%7D%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%2Efocus%2C%2Ebtn%2Ddefault%3Afocus%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2Efocus%2C%2Ebtn%2Ddefault%2Eactive%3Afocus%2C%2Ebtn%2Ddefault%2Eactive%3Ahover%2C%2Ebtn%2Ddefault%3Aactive%2Efocus%2C%2Ebtn%2Ddefault%3Aactive%3Afocus%2C%2Ebtn%2Ddefault%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23d4d4d4%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddefault%2Edisabled%2C%2Ebtn%2Ddefault%2Edisabled%2Eactive%2C%2Ebtn%2Ddefault%2Edisabled%2Efocus%2C%2Ebtn%2Ddefault%2Edisabled%3Aactive%2C%2Ebtn%2Ddefault%2Edisabled%3Afocus%2C%2Ebtn%2Ddefault%2Edisabled%3Ahover%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Ahover%7Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%20%2Ebadge%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%7D%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%2Efocus%2C%2Ebtn%2Dprimary%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2Efocus%2C%2Ebtn%2Dprimary%2Eactive%3Afocus%2C%2Ebtn%2Dprimary%2Eactive%3Ahover%2C%2Ebtn%2Dprimary%3Aactive%2Efocus%2C%2Ebtn%2Dprimary%3Aactive%3Afocus%2C%2Ebtn%2Dprimary%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23204d74%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dprimary%2Edisabled%2C%2Ebtn%2Dprimary%2Edisabled%2Eactive%2C%2Ebtn%2Dprimary%2Edisabled%2Efocus%2C%2Ebtn%2Dprimary%2Edisabled%3Aactive%2C%2Ebtn%2Dprimary%2Edisabled%3Afocus%2C%2Ebtn%2Dprimary%2Edisabled%3Ahover%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%2Efocus%2C%2Ebtn%2Dsuccess%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2Efocus%2C%2Ebtn%2Dsuccess%2Eactive%3Afocus%2C%2Ebtn%2Dsuccess%2Eactive%3Ahover%2C%2Ebtn%2Dsuccess%3Aactive%2Efocus%2C%2Ebtn%2Dsuccess%3Aactive%3Afocus%2C%2Ebtn%2Dsuccess%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23398439%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dsuccess%2Edisabled%2C%2Ebtn%2Dsuccess%2Edisabled%2Eactive%2C%2Ebtn%2Dsuccess%2Edisabled%2Efocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Aactive%2C%2Ebtn%2Dsuccess%2Edisabled%3Afocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Ahover%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%20%2Ebadge%7Bcolor%3A%235cb85c%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%2Efocus%2C%2Ebtn%2Dinfo%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2Efocus%2C%2Ebtn%2Dinfo%2Eactive%3Afocus%2C%2Ebtn%2Dinfo%2Eactive%3Ahover%2C%2Ebtn%2Dinfo%3Aactive%2Efocus%2C%2Ebtn%2Dinfo%3Aactive%3Afocus%2C%2Ebtn%2Dinfo%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23269abc%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dinfo%2Edisabled%2C%2Ebtn%2Dinfo%2Edisabled%2Eactive%2C%2Ebtn%2Dinfo%2Edisabled%2Efocus%2C%2Ebtn%2Dinfo%2Edisabled%3Aactive%2C%2Ebtn%2Dinfo%2Edisabled%3Afocus%2C%2Ebtn%2Dinfo%2Edisabled%3Ahover%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%20%2Ebadge%7Bcolor%3A%235bc0de%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%2Efocus%2C%2Ebtn%2Dwarning%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2Efocus%2C%2Ebtn%2Dwarning%2Eactive%3Afocus%2C%2Ebtn%2Dwarning%2Eactive%3Ahover%2C%2Ebtn%2Dwarning%3Aactive%2Efocus%2C%2Ebtn%2Dwarning%3Aactive%3Afocus%2C%2Ebtn%2Dwarning%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d58512%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dwarning%2Edisabled%2C%2Ebtn%2Dwarning%2Edisabled%2Eactive%2C%2Ebtn%2Dwarning%2Edisabled%2Efocus%2C%2Ebtn%2Dwarning%2Edisabled%3Aactive%2C%2Ebtn%2Dwarning%2Edisabled%3Afocus%2C%2Ebtn%2Dwarning%2Edisabled%3Ahover%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%20%2Ebadge%7Bcolor%3A%23f0ad4e%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%2Efocus%2C%2Ebtn%2Ddanger%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2Efocus%2C%2Ebtn%2Ddanger%2Eactive%3Afocus%2C%2Ebtn%2Ddanger%2Eactive%3Ahover%2C%2Ebtn%2Ddanger%3Aactive%2Efocus%2C%2Ebtn%2Ddanger%3Aactive%3Afocus%2C%2Ebtn%2Ddanger%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ac2925%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddanger%2Edisabled%2C%2Ebtn%2Ddanger%2Edisabled%2Eactive%2C%2Ebtn%2Ddanger%2Edisabled%2Efocus%2C%2Ebtn%2Ddanger%2Edisabled%3Aactive%2C%2Ebtn%2Ddanger%2Edisabled%3Afocus%2C%2Ebtn%2Ddanger%2Edisabled%3Ahover%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%20%2Ebadge%7Bcolor%3A%23d9534f%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dlink%7Bfont%2Dweight%3A400%3Bcolor%3A%23337ab7%3Bborder%2Dradius%3A0%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%2Eactive%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%7Bbackground%2Dcolor%3Atransparent%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bborder%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%3Bbackground%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Dgroup%2Dlg%3E%2Ebtn%2C%2Ebtn%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Ebtn%2Dgroup%2Dsm%3E%2Ebtn%2C%2Ebtn%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%2C%2Ebtn%2Dxs%7Bpadding%3A1px%205px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dblock%7Bdisplay%3Ablock%3Bwidth%3A100%25%7D%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dtop%3A5px%7Dinput%5Btype%3Dbutton%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dreset%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dsubmit%5D%2Ebtn%2Dblock%7Bwidth%3A100%25%7D%2Efade%7Bopacity%3A0%3B%2Dwebkit%2Dtransition%3Aopacity%20%2E15s%20linear%3B%2Do%2Dtransition%3Aopacity%20%2E15s%20linear%3Btransition%3Aopacity%20%2E15s%20linear%7D%2Efade%2Ein%7Bopacity%3A1%7D%2Ecollapse%7Bdisplay%3Anone%7D%2Ecollapse%2Ein%7Bdisplay%3Ablock%7Dtr%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%7Dtbody%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%2Dgroup%7D%2Ecollapsing%7Bposition%3Arelative%3Bheight%3A0%3Boverflow%3Ahidden%3B%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3Aease%3B%2Do%2Dtransition%2Dtiming%2Dfunction%3Aease%3Btransition%2Dtiming%2Dfunction%3Aease%3B%2Dwebkit%2Dtransition%2Dduration%3A%2E35s%3B%2Do%2Dtransition%2Dduration%3A%2E35s%3Btransition%2Dduration%3A%2E35s%3B%2Dwebkit%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3B%2Do%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3Btransition%2Dproperty%3Aheight%2Cvisibility%7D%2Ecaret%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A0%3Bheight%3A0%3Bmargin%2Dleft%3A2px%3Bvertical%2Dalign%3Amiddle%3Bborder%2Dtop%3A4px%20dashed%3Bborder%2Dtop%3A4px%20solid%5C9%3Bborder%2Dright%3A4px%20solid%20transparent%3Bborder%2Dleft%3A4px%20solid%20transparent%7D%2Edropdown%2C%2Edropup%7Bposition%3Arelative%7D%2Edropdown%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Edropdown%2Dmenu%7Bposition%3Aabsolute%3Btop%3A100%25%3Bleft%3A0%3Bz%2Dindex%3A1000%3Bdisplay%3Anone%3Bfloat%3Aleft%3Bmin%2Dwidth%3A160px%3Bpadding%3A5px%200%3Bmargin%3A2px%200%200%3Bfont%2Dsize%3A14px%3Btext%2Dalign%3Aleft%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E15%29%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%3Bbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%7D%2Edropdown%2Dmenu%2Epull%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%20%2Edivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Edropdown%2Dmenu%3Eli%3Ea%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bclear%3Aboth%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23262626%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7D%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23337ab7%3Boutline%3A0%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28enabled%3Dfalse%29%7D%2Eopen%3E%2Edropdown%2Dmenu%7Bdisplay%3Ablock%7D%2Eopen%3Ea%7Boutline%3A0%7D%2Edropdown%2Dmenu%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%2Edropdown%2Dheader%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A990%7D%2Epull%2Dright%3E%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Edropup%20%2Ecaret%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Ecaret%7Bcontent%3A%22%22%3Bborder%2Dtop%3A0%3Bborder%2Dbottom%3A4px%20dashed%3Bborder%2Dbottom%3A4px%20solid%5C9%7D%2Edropup%20%2Edropdown%2Dmenu%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bbottom%3A100%25%3Bmargin%2Dbottom%3A2px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dright%20%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Enavbar%2Dright%20%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%7D%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Amiddle%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%3E%2Ebtn%7Bposition%3Arelative%3Bfloat%3Aleft%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Ahover%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dleft%3A%2D1px%7D%2Ebtn%2Dtoolbar%7Bmargin%2Dleft%3A%2D5px%7D%2Ebtn%2Dtoolbar%20%2Ebtn%2C%2Ebtn%2Dtoolbar%20%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%20%2Einput%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dtoolbar%3E%2Ebtn%2C%2Ebtn%2Dtoolbar%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%3E%2Einput%2Dgroup%7Bmargin%2Dleft%3A5px%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%2C%2Ebtn%2Dgroup%3E%2Edropdown%2Dtoggle%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%20%2Edropdown%2Dtoggle%3Aactive%2C%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7Boutline%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A8px%3Bpadding%2Dleft%3A8px%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dlg%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A12px%3Bpadding%2Dleft%3A12px%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%2Ebtn%2Dlink%7B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%20%2Ecaret%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Edropup%20%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A0%205px%205px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bdisplay%3Ablock%3Bfloat%3Anone%3Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bfloat%3Anone%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dtop%3A%2D1px%3Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Djustified%7Bdisplay%3Atable%3Bwidth%3A100%25%3Btable%2Dlayout%3Afixed%3Bborder%2Dcollapse%3Aseparate%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%7Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%3Bwidth%3A1%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Ebtn%7Bwidth%3A100%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Edropdown%2Dmenu%7Bleft%3Aauto%7D%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dradio%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bpointer%2Devents%3Anone%7D%2Einput%2Dgroup%7Bposition%3Arelative%3Bdisplay%3Atable%3Bborder%2Dcollapse%3Aseparate%7D%2Einput%2Dgroup%5Bclass%2A%3Dcol%2D%5D%7Bfloat%3Anone%3Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%7Bposition%3Arelative%3Bz%2Dindex%3A2%3Bfloat%3Aleft%3Bwidth%3A100%25%3Bmargin%2Dbottom%3A0%7D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bdisplay%3Atable%2Dcell%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Daddon%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bwidth%3A1%25%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%7D%2Einput%2Dgroup%2Daddon%7Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23555%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23eee%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bborder%2Dradius%3A3px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bborder%2Dradius%3A6px%7D%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dcheckbox%5D%2C%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dradio%5D%7Bmargin%2Dtop%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Edropdown%2Dtoggle%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%7Bborder%2Dright%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Alast%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%7Bborder%2Dleft%3A0%7D%2Einput%2Dgroup%2Dbtn%7Bposition%3Arelative%3Bfont%2Dsize%3A0%3Bwhite%2Dspace%3Anowrap%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bposition%3Arelative%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Aactive%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Afocus%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%7Bmargin%2Dright%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%7Bz%2Dindex%3A2%3Bmargin%2Dleft%3A%2D1px%7D%2Enav%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A0%3Blist%2Dstyle%3Anone%7D%2Enav%3Eli%7Bposition%3Arelative%3Bdisplay%3Ablock%7D%2Enav%3Eli%3Ea%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%7D%2Enav%3Eli%3Ea%3Afocus%2C%2Enav%3Eli%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Enav%3Eli%2Edisabled%3Ea%7Bcolor%3A%23777%7D%2Enav%3Eli%2Edisabled%3Ea%3Afocus%2C%2Enav%3Eli%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%7D%2Enav%20%2Eopen%3Ea%2C%2Enav%20%2Eopen%3Ea%3Afocus%2C%2Enav%20%2Eopen%3Ea%3Ahover%7Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23337ab7%7D%2Enav%20%2Enav%2Ddivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Enav%3Eli%3Ea%3Eimg%7Bmax%2Dwidth%3Anone%7D%2Enav%2Dtabs%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Enav%2Dtabs%3Eli%7Bfloat%3Aleft%3Bmargin%2Dbottom%3A%2D1px%7D%2Enav%2Dtabs%3Eli%3Ea%7Bmargin%2Dright%3A2px%3Bline%2Dheight%3A1%2E42857143%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%3Eli%3Ea%3Ahover%7Bborder%2Dcolor%3A%23eee%20%23eee%20%23ddd%7D%2Enav%2Dtabs%3Eli%2Eactive%3Ea%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dcolor%3Atransparent%7D%2Enav%2Dtabs%2Enav%2Djustified%7Bwidth%3A100%25%3Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Enav%2Dpills%3Eli%7Bfloat%3Aleft%7D%2Enav%2Dpills%3Eli%3Ea%7Bborder%2Dradius%3A4px%7D%2Enav%2Dpills%3Eli%2Bli%7Bmargin%2Dleft%3A2px%7D%2Enav%2Dpills%3Eli%2Eactive%3Ea%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7D%2Enav%2Dstacked%3Eli%7Bfloat%3Anone%7D%2Enav%2Dstacked%3Eli%2Bli%7Bmargin%2Dtop%3A2px%3Bmargin%2Dleft%3A0%7D%2Enav%2Djustified%7Bwidth%3A100%25%7D%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Djustified%7Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Etab%2Dcontent%3E%2Etab%2Dpane%7Bdisplay%3Anone%7D%2Etab%2Dcontent%3E%2Eactive%7Bdisplay%3Ablock%7D%2Enav%2Dtabs%20%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A%2D1px%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%7Bposition%3Arelative%3Bmin%2Dheight%3A50px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%7Bborder%2Dradius%3A4px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dheader%7Bfloat%3Aleft%7D%7D%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Boverflow%2Dx%3Avisible%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Bborder%2Dtop%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dcollapse%7Bwidth%3Aauto%3Bborder%2Dtop%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dcollapse%2Ecollapse%7Bdisplay%3Ablock%21important%3Bheight%3Aauto%21important%3Bpadding%2Dbottom%3A0%3Boverflow%3Avisible%21important%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Avisible%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dstatic%2Dtop%20%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A340px%7D%40media%20%28max%2Ddevice%2Dwidth%3A480px%29%20and%20%28orientation%3Alandscape%29%7B%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A200px%7D%7D%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%7D%7D%2Enavbar%2Dstatic%2Dtop%7Bz%2Dindex%3A1000%3Bborder%2Dwidth%3A0%200%201px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dstatic%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bposition%3Afixed%3Bright%3A0%3Bleft%3A0%3Bz%2Dindex%3A1030%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dtop%7Btop%3A0%3Bborder%2Dwidth%3A0%200%201px%7D%2Enavbar%2Dfixed%2Dbottom%7Bbottom%3A0%3Bmargin%2Dbottom%3A0%3Bborder%2Dwidth%3A1px%200%200%7D%2Enavbar%2Dbrand%7Bfloat%3Aleft%3Bheight%3A50px%3Bpadding%3A15px%2015px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A20px%7D%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dbrand%3Ahover%7Btext%2Ddecoration%3Anone%7D%2Enavbar%2Dbrand%3Eimg%7Bdisplay%3Ablock%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%3E%2Econtainer%20%2Enavbar%2Dbrand%2C%2Enavbar%3E%2Econtainer%2Dfluid%20%2Enavbar%2Dbrand%7Bmargin%2Dleft%3A%2D15px%7D%7D%2Enavbar%2Dtoggle%7Bposition%3Arelative%3Bfloat%3Aright%3Bpadding%3A9px%2010px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A15px%3Bmargin%2Dbottom%3A8px%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Enavbar%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bdisplay%3Ablock%3Bwidth%3A22px%3Bheight%3A2px%3Bborder%2Dradius%3A1px%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%2B%2Eicon%2Dbar%7Bmargin%2Dtop%3A4px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtoggle%7Bdisplay%3Anone%7D%7D%2Enavbar%2Dnav%7Bmargin%3A7%2E5px%20%2D15px%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A10px%3Bpadding%2Dbottom%3A10px%3Bline%2Dheight%3A20px%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%7Bposition%3Astatic%3Bfloat%3Anone%3Bwidth%3Aauto%3Bmargin%2Dtop%3A0%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edropdown%2Dheader%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bpadding%3A5px%2015px%205px%2025px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bline%2Dheight%3A20px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bbackground%2Dimage%3Anone%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dnav%7Bfloat%3Aleft%3Bmargin%3A0%7D%2Enavbar%2Dnav%3Eli%7Bfloat%3Aleft%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A15px%3Bpadding%2Dbottom%3A15px%7D%7D%2Enavbar%2Dform%7Bpadding%3A10px%2015px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A%2D15px%3Bmargin%2Dbottom%3A8px%3Bmargin%2Dleft%3A%2D15px%3Bborder%2Dtop%3A1px%20solid%20transparent%3Bborder%2Dbottom%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Enavbar%2Dform%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%2C%2Enavbar%2Dform%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%20label%2C%2Enavbar%2Dform%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Enavbar%2Dform%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bmargin%2Dbottom%3A5px%7D%2Enavbar%2Dform%20%2Eform%2Dgroup%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%7Bwidth%3Aauto%3Bpadding%2Dtop%3A0%3Bpadding%2Dbottom%3A0%3Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%7D%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dbottom%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Enavbar%2Dbtn%7Bmargin%2Dtop%3A8px%3Bmargin%2Dbottom%3A8px%7D%2Enavbar%2Dbtn%2Ebtn%2Dsm%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Enavbar%2Dbtn%2Ebtn%2Dxs%7Bmargin%2Dtop%3A14px%3Bmargin%2Dbottom%3A14px%7D%2Enavbar%2Dtext%7Bmargin%2Dtop%3A15px%3Bmargin%2Dbottom%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtext%7Bfloat%3Aleft%3Bmargin%2Dright%3A15px%3Bmargin%2Dleft%3A15px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dleft%7Bfloat%3Aleft%21important%7D%2Enavbar%2Dright%7Bfloat%3Aright%21important%3Bmargin%2Dright%3A%2D15px%7D%2Enavbar%2Dright%7E%2Enavbar%2Dright%7Bmargin%2Dright%3A0%7D%7D%2Enavbar%2Ddefault%7Bbackground%2Dcolor%3A%23f8f8f8%3Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%235e5e5e%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtext%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23888%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23ccc%7D%2Enavbar%2Dinverse%7Bbackground%2Dcolor%3A%23222%3Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtext%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23101010%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edropdown%2Dheader%7Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edivider%7Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23444%7D%2Ebreadcrumb%7Bpadding%3A8px%2015px%3Bmargin%2Dbottom%3A20px%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%7D%2Ebreadcrumb%3Eli%7Bdisplay%3Ainline%2Dblock%7D%2Ebreadcrumb%3Eli%2Bli%3Abefore%7Bpadding%3A0%205px%3Bcolor%3A%23ccc%3Bcontent%3A%22%2F%5C00a0%22%7D%2Ebreadcrumb%3E%2Eactive%7Bcolor%3A%23777%7D%2Epagination%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Bborder%2Dradius%3A4px%7D%2Epagination%3Eli%7Bdisplay%3Ainline%7D%2Epagination%3Eli%3Ea%2C%2Epagination%3Eli%3Espan%7Bposition%3Arelative%3Bfloat%3Aleft%3Bpadding%3A6px%2012px%3Bmargin%2Dleft%3A%2D1px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Epagination%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%3Eli%3Afirst%2Dchild%3Espan%7Bmargin%2Dleft%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Epagination%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%7D%2Epagination%3Eli%3Ea%3Afocus%2C%2Epagination%3Eli%3Ea%3Ahover%2C%2Epagination%3Eli%3Espan%3Afocus%2C%2Epagination%3Eli%3Espan%3Ahover%7Bz%2Dindex%3A3%3Bcolor%3A%2323527c%3Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%3E%2Eactive%3Ea%2C%2Epagination%3E%2Eactive%3Ea%3Afocus%2C%2Epagination%3E%2Eactive%3Ea%3Ahover%2C%2Epagination%3E%2Eactive%3Espan%2C%2Epagination%3E%2Eactive%3Espan%3Afocus%2C%2Epagination%3E%2Eactive%3Espan%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epagination%3E%2Edisabled%3Ea%2C%2Epagination%3E%2Edisabled%3Ea%3Afocus%2C%2Epagination%3E%2Edisabled%3Ea%3Ahover%2C%2Epagination%3E%2Edisabled%3Espan%2C%2Epagination%3E%2Edisabled%3Espan%3Afocus%2C%2Epagination%3E%2Edisabled%3Espan%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%2Dlg%3Eli%3Ea%2C%2Epagination%2Dlg%3Eli%3Espan%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A6px%3Bborder%2Dbottom%2Dleft%2Dradius%3A6px%7D%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A6px%3Bborder%2Dbottom%2Dright%2Dradius%3A6px%7D%2Epagination%2Dsm%3Eli%3Ea%2C%2Epagination%2Dsm%3Eli%3Espan%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epager%7Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Epager%20li%7Bdisplay%3Ainline%7D%2Epager%20li%3Ea%2C%2Epager%20li%3Espan%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A5px%2014px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A15px%7D%2Epager%20li%3Ea%3Afocus%2C%2Epager%20li%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Epager%20%2Enext%3Ea%2C%2Epager%20%2Enext%3Espan%7Bfloat%3Aright%7D%2Epager%20%2Eprevious%3Ea%2C%2Epager%20%2Eprevious%3Espan%7Bfloat%3Aleft%7D%2Epager%20%2Edisabled%3Ea%2C%2Epager%20%2Edisabled%3Ea%3Afocus%2C%2Epager%20%2Edisabled%3Ea%3Ahover%2C%2Epager%20%2Edisabled%3Espan%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%7D%2Elabel%7Bdisplay%3Ainline%3Bpadding%3A%2E2em%20%2E6em%20%2E3em%3Bfont%2Dsize%3A75%25%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Abaseline%3Bborder%2Dradius%3A%2E25em%7Da%2Elabel%3Afocus%2Ca%2Elabel%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elabel%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Elabel%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Elabel%2Ddefault%7Bbackground%2Dcolor%3A%23777%7D%2Elabel%2Ddefault%5Bhref%5D%3Afocus%2C%2Elabel%2Ddefault%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%235e5e5e%7D%2Elabel%2Dprimary%7Bbackground%2Dcolor%3A%23337ab7%7D%2Elabel%2Dprimary%5Bhref%5D%3Afocus%2C%2Elabel%2Dprimary%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Elabel%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Elabel%2Dsuccess%5Bhref%5D%3Afocus%2C%2Elabel%2Dsuccess%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23449d44%7D%2Elabel%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Elabel%2Dinfo%5Bhref%5D%3Afocus%2C%2Elabel%2Dinfo%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%2331b0d5%7D%2Elabel%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Elabel%2Dwarning%5Bhref%5D%3Afocus%2C%2Elabel%2Dwarning%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23ec971f%7D%2Elabel%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Elabel%2Ddanger%5Bhref%5D%3Afocus%2C%2Elabel%2Ddanger%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23c9302c%7D%2Ebadge%7Bdisplay%3Ainline%2Dblock%3Bmin%2Dwidth%3A10px%3Bpadding%3A3px%207px%3Bfont%2Dsize%3A12px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3Bbackground%2Dcolor%3A%23777%3Bborder%2Dradius%3A10px%7D%2Ebadge%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Ebadge%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%20%2Ebadge%2C%2Ebtn%2Dxs%20%2Ebadge%7Btop%3A0%3Bpadding%3A1px%205px%7Da%2Ebadge%3Afocus%2Ca%2Ebadge%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elist%2Dgroup%2Ditem%2Eactive%3E%2Ebadge%2C%2Enav%2Dpills%3E%2Eactive%3Ea%3E%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%7Bfloat%3Aright%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%2B%2Ebadge%7Bmargin%2Dright%3A5px%7D%2Enav%2Dpills%3Eli%3Ea%3E%2Ebadge%7Bmargin%2Dleft%3A3px%7D%2Ejumbotron%7Bpadding%2Dtop%3A30px%3Bpadding%2Dbottom%3A30px%3Bmargin%2Dbottom%3A30px%3Bcolor%3Ainherit%3Bbackground%2Dcolor%3A%23eee%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bcolor%3Ainherit%7D%2Ejumbotron%20p%7Bmargin%2Dbottom%3A15px%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A200%7D%2Ejumbotron%3Ehr%7Bborder%2Dtop%2Dcolor%3A%23d5d5d5%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bborder%2Dradius%3A6px%7D%2Ejumbotron%20%2Econtainer%7Bmax%2Dwidth%3A100%25%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ejumbotron%7Bpadding%2Dtop%3A48px%3Bpadding%2Dbottom%3A48px%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bpadding%2Dright%3A60px%3Bpadding%2Dleft%3A60px%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bfont%2Dsize%3A63px%7D%7D%2Ethumbnail%7Bdisplay%3Ablock%3Bpadding%3A4px%3Bmargin%2Dbottom%3A20px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aborder%20%2E2s%20ease%2Din%2Dout%7D%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7Da%2Ethumbnail%2Eactive%2Ca%2Ethumbnail%3Afocus%2Ca%2Ethumbnail%3Ahover%7Bborder%2Dcolor%3A%23337ab7%7D%2Ethumbnail%20%2Ecaption%7Bpadding%3A9px%3Bcolor%3A%23333%7D%2Ealert%7Bpadding%3A15px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ealert%20h4%7Bmargin%2Dtop%3A0%3Bcolor%3Ainherit%7D%2Ealert%20%2Ealert%2Dlink%7Bfont%2Dweight%3A700%7D%2Ealert%3Ep%2C%2Ealert%3Eul%7Bmargin%2Dbottom%3A0%7D%2Ealert%3Ep%2Bp%7Bmargin%2Dtop%3A5px%7D%2Ealert%2Ddismissable%2C%2Ealert%2Ddismissible%7Bpadding%2Dright%3A35px%7D%2Ealert%2Ddismissable%20%2Eclose%2C%2Ealert%2Ddismissible%20%2Eclose%7Bposition%3Arelative%3Btop%3A%2D2px%3Bright%3A%2D21px%3Bcolor%3Ainherit%7D%2Ealert%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Ealert%2Dsuccess%20hr%7Bborder%2Dtop%2Dcolor%3A%23c9e2b3%7D%2Ealert%2Dsuccess%20%2Ealert%2Dlink%7Bcolor%3A%232b542c%7D%2Ealert%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Ealert%2Dinfo%20hr%7Bborder%2Dtop%2Dcolor%3A%23a6e1ec%7D%2Ealert%2Dinfo%20%2Ealert%2Dlink%7Bcolor%3A%23245269%7D%2Ealert%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Ealert%2Dwarning%20hr%7Bborder%2Dtop%2Dcolor%3A%23f7e1b5%7D%2Ealert%2Dwarning%20%2Ealert%2Dlink%7Bcolor%3A%2366512c%7D%2Ealert%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Ealert%2Ddanger%20hr%7Bborder%2Dtop%2Dcolor%3A%23e4b9c0%7D%2Ealert%2Ddanger%20%2Ealert%2Dlink%7Bcolor%3A%23843534%7D%40%2Dwebkit%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40%2Do%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40keyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%2Eprogress%7Bheight%3A20px%3Bmargin%2Dbottom%3A20px%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%7D%2Eprogress%2Dbar%7Bfloat%3Aleft%3Bwidth%3A0%3Bheight%3A100%25%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23337ab7%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3B%2Dwebkit%2Dtransition%3Awidth%20%2E6s%20ease%3B%2Do%2Dtransition%3Awidth%20%2E6s%20ease%3Btransition%3Awidth%20%2E6s%20ease%7D%2Eprogress%2Dbar%2Dstriped%2C%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3B%2Dwebkit%2Dbackground%2Dsize%3A40px%2040px%3Bbackground%2Dsize%3A40px%2040px%7D%2Eprogress%2Dbar%2Eactive%2C%2Eprogress%2Eactive%20%2Eprogress%2Dbar%7B%2Dwebkit%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3B%2Do%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3Banimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%7D%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Emedia%7Bmargin%2Dtop%3A15px%7D%2Emedia%3Afirst%2Dchild%7Bmargin%2Dtop%3A0%7D%2Emedia%2C%2Emedia%2Dbody%7Boverflow%3Ahidden%3Bzoom%3A1%7D%2Emedia%2Dbody%7Bwidth%3A10000px%7D%2Emedia%2Dobject%7Bdisplay%3Ablock%7D%2Emedia%2Dobject%2Eimg%2Dthumbnail%7Bmax%2Dwidth%3Anone%7D%2Emedia%2Dright%2C%2Emedia%3E%2Epull%2Dright%7Bpadding%2Dleft%3A10px%7D%2Emedia%2Dleft%2C%2Emedia%3E%2Epull%2Dleft%7Bpadding%2Dright%3A10px%7D%2Emedia%2Dbody%2C%2Emedia%2Dleft%2C%2Emedia%2Dright%7Bdisplay%3Atable%2Dcell%3Bvertical%2Dalign%3Atop%7D%2Emedia%2Dmiddle%7Bvertical%2Dalign%3Amiddle%7D%2Emedia%2Dbottom%7Bvertical%2Dalign%3Abottom%7D%2Emedia%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Emedia%2Dlist%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dgroup%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A20px%7D%2Elist%2Dgroup%2Ditem%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%3Bmargin%2Dbottom%3A%2D1px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%7D%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7Da%2Elist%2Dgroup%2Ditem%2Cbutton%2Elist%2Dgroup%2Ditem%7Bcolor%3A%23555%7Da%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3A%23333%7Da%2Elist%2Dgroup%2Ditem%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%3Ahover%7Bcolor%3A%23555%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7Dbutton%2Elist%2Dgroup%2Ditem%7Bwidth%3A100%25%3Btext%2Dalign%3Aleft%7D%2Elist%2Dgroup%2Ditem%2Edisabled%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23eee%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23777%7D%2Elist%2Dgroup%2Ditem%2Eactive%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23c7ddef%7D%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23d0e9c6%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%233c763d%3Bborder%2Dcolor%3A%233c763d%7D%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23c4e3f3%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331708f%3Bborder%2Dcolor%3A%2331708f%7D%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23faf2cc%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%238a6d3b%3Bborder%2Dcolor%3A%238a6d3b%7D%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23ebcccc%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23a94442%3Bborder%2Dcolor%3A%23a94442%7D%2Elist%2Dgroup%2Ditem%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Elist%2Dgroup%2Ditem%2Dtext%7Bmargin%2Dbottom%3A0%3Bline%2Dheight%3A1%2E3%7D%2Epanel%7Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Epanel%2Dbody%7Bpadding%3A15px%7D%2Epanel%2Dheading%7Bpadding%3A10px%2015px%3Bborder%2Dbottom%3A1px%20solid%20transparent%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%2Dheading%3E%2Edropdown%20%2Edropdown%2Dtoggle%7Bcolor%3Ainherit%7D%2Epanel%2Dtitle%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A16px%3Bcolor%3Ainherit%7D%2Epanel%2Dtitle%3E%2Esmall%2C%2Epanel%2Dtitle%3E%2Esmall%3Ea%2C%2Epanel%2Dtitle%3Ea%2C%2Epanel%2Dtitle%3Esmall%2C%2Epanel%2Dtitle%3Esmall%3Ea%7Bcolor%3Ainherit%7D%2Epanel%2Dfooter%7Bpadding%3A10px%2015px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dtop%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%7Bborder%2Dwidth%3A1px%200%3Bborder%2Dradius%3A0%7D%2Epanel%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bborder%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Epanel%2Dheading%2B%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dwidth%3A0%7D%2Elist%2Dgroup%2B%2Epanel%2Dfooter%7Bborder%2Dtop%2Dwidth%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%2C%2Epanel%3E%2Etable%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%20caption%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2C%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2Dresponsive%2C%2Epanel%3E%2Etable%2B%2Epanel%2Dbody%2C%2Epanel%3E%2Etable%2Dresponsive%2B%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%2C%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%7Bborder%2Dtop%3A0%7D%2Epanel%3E%2Etable%2Dbordered%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dresponsive%7Bmargin%2Dbottom%3A0%3Bborder%3A0%7D%2Epanel%2Dgroup%7Bmargin%2Dbottom%3A20px%7D%2Epanel%2Dgroup%20%2Epanel%7Bmargin%2Dbottom%3A0%3Bborder%2Dradius%3A4px%7D%2Epanel%2Dgroup%20%2Epanel%2B%2Epanel%7Bmargin%2Dtop%3A5px%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%7Bborder%2Dbottom%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%2C%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%7Bborder%2Dtop%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%20%2Epanel%2Dbody%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Epanel%2Ddefault%7Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f5f5f5%3Bbackground%2Dcolor%3A%23333%7D%2Epanel%2Ddefault%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ddd%7D%2Epanel%2Dprimary%7Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Epanel%2Dprimary%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23337ab7%7D%2Epanel%2Dsuccess%7Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23dff0d8%3Bbackground%2Dcolor%3A%233c763d%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dinfo%7Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23d9edf7%3Bbackground%2Dcolor%3A%2331708f%7D%2Epanel%2Dinfo%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dwarning%7Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23fcf8e3%3Bbackground%2Dcolor%3A%238a6d3b%7D%2Epanel%2Dwarning%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23faebcc%7D%2Epanel%2Ddanger%7Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f2dede%3Bbackground%2Dcolor%3A%23a94442%7D%2Epanel%2Ddanger%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ebccd1%7D%2Eembed%2Dresponsive%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bheight%3A0%3Bpadding%3A0%3Boverflow%3Ahidden%7D%2Eembed%2Dresponsive%20%2Eembed%2Dresponsive%2Ditem%2C%2Eembed%2Dresponsive%20embed%2C%2Eembed%2Dresponsive%20iframe%2C%2Eembed%2Dresponsive%20object%2C%2Eembed%2Dresponsive%20video%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A100%25%3Bheight%3A100%25%3Bborder%3A0%7D%2Eembed%2Dresponsive%2D16by9%7Bpadding%2Dbottom%3A56%2E25%25%7D%2Eembed%2Dresponsive%2D4by3%7Bpadding%2Dbottom%3A75%25%7D%2Ewell%7Bmin%2Dheight%3A20px%3Bpadding%3A19px%3Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23e3e3e3%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Ewell%20blockquote%7Bborder%2Dcolor%3A%23ddd%3Bborder%2Dcolor%3Argba%280%2C0%2C0%2C%2E15%29%7D%2Ewell%2Dlg%7Bpadding%3A24px%3Bborder%2Dradius%3A6px%7D%2Ewell%2Dsm%7Bpadding%3A9px%3Bborder%2Dradius%3A3px%7D%2Eclose%7Bfloat%3Aright%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23000%3Btext%2Dshadow%3A0%201px%200%20%23fff%3Bfilter%3Aalpha%28opacity%3D20%29%3Bopacity%3A%2E2%7D%2Eclose%3Afocus%2C%2Eclose%3Ahover%7Bcolor%3A%23000%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7Dbutton%2Eclose%7B%2Dwebkit%2Dappearance%3Anone%3Bpadding%3A0%3Bcursor%3Apointer%3Bbackground%3A0%200%3Bborder%3A0%7D%2Emodal%2Dopen%7Boverflow%3Ahidden%7D%2Emodal%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1050%3Bdisplay%3Anone%3Boverflow%3Ahidden%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Boutline%3A0%7D%2Emodal%2Efade%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E3s%20ease%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E3s%20ease%2Dout%3Btransition%3Atransform%20%2E3s%20ease%2Dout%3B%2Dwebkit%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Dms%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Do%2Dtransform%3Atranslate%280%2C%2D25%25%29%3Btransform%3Atranslate%280%2C%2D25%25%29%7D%2Emodal%2Ein%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransform%3Atranslate%280%2C0%29%3B%2Dms%2Dtransform%3Atranslate%280%2C0%29%3B%2Do%2Dtransform%3Atranslate%280%2C0%29%3Btransform%3Atranslate%280%2C0%29%7D%2Emodal%2Dopen%20%2Emodal%7Boverflow%2Dx%3Ahidden%3Boverflow%2Dy%3Aauto%7D%2Emodal%2Ddialog%7Bposition%3Arelative%3Bwidth%3Aauto%3Bmargin%3A10px%7D%2Emodal%2Dcontent%7Bposition%3Arelative%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23999%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1040%3Bbackground%2Dcolor%3A%23000%7D%2Emodal%2Dbackdrop%2Efade%7Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%7D%2Emodal%2Dbackdrop%2Ein%7Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Emodal%2Dheader%7Bmin%2Dheight%3A16%2E43px%3Bpadding%3A15px%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dheader%20%2Eclose%7Bmargin%2Dtop%3A%2D2px%7D%2Emodal%2Dtitle%7Bmargin%3A0%3Bline%2Dheight%3A1%2E42857143%7D%2Emodal%2Dbody%7Bposition%3Arelative%3Bpadding%3A15px%7D%2Emodal%2Dfooter%7Bpadding%3A15px%3Btext%2Dalign%3Aright%3Bborder%2Dtop%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dfooter%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dbottom%3A0%3Bmargin%2Dleft%3A5px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dleft%3A0%7D%2Emodal%2Dscrollbar%2Dmeasure%7Bposition%3Aabsolute%3Btop%3A%2D9999px%3Bwidth%3A50px%3Bheight%3A50px%3Boverflow%3Ascroll%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Emodal%2Ddialog%7Bwidth%3A600px%3Bmargin%3A30px%20auto%7D%2Emodal%2Dcontent%7B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dsm%7Bwidth%3A300px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Emodal%2Dlg%7Bwidth%3A900px%7D%7D%2Etooltip%7Bposition%3Aabsolute%3Bz%2Dindex%3A1070%3Bdisplay%3Ablock%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A12px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%3Bline%2Dbreak%3Aauto%7D%2Etooltip%2Ein%7Bfilter%3Aalpha%28opacity%3D90%29%3Bopacity%3A%2E9%7D%2Etooltip%2Etop%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A%2D3px%7D%2Etooltip%2Eright%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A3px%7D%2Etooltip%2Ebottom%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A3px%7D%2Etooltip%2Eleft%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A%2D3px%7D%2Etooltip%2Dinner%7Bmax%2Dwidth%3A200px%3Bpadding%3A3px%208px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23000%3Bborder%2Dradius%3A4px%7D%2Etooltip%2Darrow%7Bposition%3Aabsolute%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Etooltip%2Etop%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dleft%20%2Etooltip%2Darrow%7Bright%3A5px%3Bbottom%3A0%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dright%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A5px%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Eright%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bleft%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%205px%200%3Bborder%2Dright%2Dcolor%3A%23000%7D%2Etooltip%2Eleft%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bright%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%200%205px%205px%3Bborder%2Dleft%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dleft%20%2Etooltip%2Darrow%7Btop%3A0%3Bright%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dright%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Epopover%7Bposition%3Aabsolute%3Btop%3A0%3Bleft%3A0%3Bz%2Dindex%3A1060%3Bdisplay%3Anone%3Bmax%2Dwidth%3A276px%3Bpadding%3A1px%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bline%2Dbreak%3Aauto%7D%2Epopover%2Etop%7Bmargin%2Dtop%3A%2D10px%7D%2Epopover%2Eright%7Bmargin%2Dleft%3A10px%7D%2Epopover%2Ebottom%7Bmargin%2Dtop%3A10px%7D%2Epopover%2Eleft%7Bmargin%2Dleft%3A%2D10px%7D%2Epopover%2Dtitle%7Bpadding%3A8px%2014px%3Bmargin%3A0%3Bfont%2Dsize%3A14px%3Bbackground%2Dcolor%3A%23f7f7f7%3Bborder%2Dbottom%3A1px%20solid%20%23ebebeb%3Bborder%2Dradius%3A5px%205px%200%200%7D%2Epopover%2Dcontent%7Bpadding%3A9px%2014px%7D%2Epopover%3E%2Earrow%2C%2Epopover%3E%2Earrow%3Aafter%7Bposition%3Aabsolute%3Bdisplay%3Ablock%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Epopover%3E%2Earrow%7Bborder%2Dwidth%3A11px%7D%2Epopover%3E%2Earrow%3Aafter%7Bcontent%3A%22%22%3Bborder%2Dwidth%3A10px%7D%2Epopover%2Etop%3E%2Earrow%7Bbottom%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dcolor%3A%23999%3Bborder%2Dtop%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Etop%3E%2Earrow%3Aafter%7Bbottom%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dcolor%3A%23fff%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%7Btop%3A50%25%3Bleft%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dcolor%3A%23999%3Bborder%2Dright%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%3Aafter%7Bbottom%3A%2D10px%3Bleft%3A1px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dcolor%3A%23fff%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Ebottom%3E%2Earrow%7Btop%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23999%3Bborder%2Dbottom%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Ebottom%3E%2Earrow%3Aafter%7Btop%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23fff%7D%2Epopover%2Eleft%3E%2Earrow%7Btop%3A50%25%3Bright%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23999%3Bborder%2Dleft%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Eleft%3E%2Earrow%3Aafter%7Bright%3A1px%3Bbottom%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23fff%7D%2Ecarousel%7Bposition%3Arelative%7D%2Ecarousel%2Dinner%7Bposition%3Arelative%3Bwidth%3A100%25%3Boverflow%3Ahidden%7D%2Ecarousel%2Dinner%3E%2Eitem%7Bposition%3Arelative%3Bdisplay%3Anone%3B%2Dwebkit%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3B%2Do%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3Btransition%3A%2E6s%20ease%2Din%2Dout%20left%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%7Bline%2Dheight%3A1%7D%40media%20all%20and%20%28transform%2D3d%29%2C%28%2Dwebkit%2Dtransform%2D3d%29%7B%2Ecarousel%2Dinner%3E%2Eitem%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E6s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E6s%20ease%2Din%2Dout%3Btransition%3Atransform%20%2E6s%20ease%2Din%2Dout%3B%2Dwebkit%2Dbackface%2Dvisibility%3Ahidden%3Bbackface%2Dvisibility%3Ahidden%3B%2Dwebkit%2Dperspective%3A1000px%3Bperspective%3A1000px%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eright%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%2Eright%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%280%2C0%2C0%29%3Btransform%3Atranslate3d%280%2C0%2C0%29%7D%7D%2Ecarousel%2Dinner%3E%2Eactive%2C%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bdisplay%3Ablock%7D%2Ecarousel%2Dinner%3E%2Eactive%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bposition%3Aabsolute%3Btop%3A0%3Bwidth%3A100%25%7D%2Ecarousel%2Dinner%3E%2Enext%7Bleft%3A100%25%7D%2Ecarousel%2Dinner%3E%2Eprev%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eprev%2Eright%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eleft%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eright%7Bleft%3A100%25%7D%2Ecarousel%2Dcontrol%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A15%25%3Bfont%2Dsize%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Ecarousel%2Dcontrol%2Eleft%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E5%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E0001%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2380000000%27%2C%20endColorstr%3D%27%2300000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%2Eright%7Bright%3A0%3Bleft%3Aauto%3Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E0001%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E5%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2300000000%27%2C%20endColorstr%3D%27%2380000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%3Afocus%2C%2Ecarousel%2Dcontrol%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bfilter%3Aalpha%28opacity%3D90%29%3Boutline%3A0%3Bopacity%3A%2E9%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bposition%3Aabsolute%3Btop%3A50%25%3Bz%2Dindex%3A5%3Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bleft%3A50%25%3Bmargin%2Dleft%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bright%3A50%25%3Bmargin%2Dright%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A20px%3Bheight%3A20px%3Bfont%2Dfamily%3Aserif%3Bline%2Dheight%3A1%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%3Abefore%7Bcontent%3A%27%5C2039%27%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%3Abefore%7Bcontent%3A%27%5C203a%27%7D%2Ecarousel%2Dindicators%7Bposition%3Aabsolute%3Bbottom%3A10px%3Bleft%3A50%25%3Bz%2Dindex%3A15%3Bwidth%3A60%25%3Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D30%25%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Ecarousel%2Dindicators%20li%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A10px%3Bheight%3A10px%3Bmargin%3A1px%3Btext%2Dindent%3A%2D999px%3Bcursor%3Apointer%3Bbackground%2Dcolor%3A%23000%5C9%3Bbackground%2Dcolor%3Argba%280%2C0%2C0%2C0%29%3Bborder%3A1px%20solid%20%23fff%3Bborder%2Dradius%3A10px%7D%2Ecarousel%2Dindicators%20%2Eactive%7Bwidth%3A12px%3Bheight%3A12px%3Bmargin%3A0%3Bbackground%2Dcolor%3A%23fff%7D%2Ecarousel%2Dcaption%7Bposition%3Aabsolute%3Bright%3A15%25%3Bbottom%3A20px%3Bleft%3A15%25%3Bz%2Dindex%3A10%3Bpadding%2Dtop%3A20px%3Bpadding%2Dbottom%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%7D%2Ecarousel%2Dcaption%20%2Ebtn%7Btext%2Dshadow%3Anone%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A30px%3Bheight%3A30px%3Bmargin%2Dtop%3A%2D15px%3Bfont%2Dsize%3A30px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bmargin%2Dleft%3A%2D15px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bmargin%2Dright%3A%2D15px%7D%2Ecarousel%2Dcaption%7Bright%3A20%25%3Bleft%3A20%25%3Bpadding%2Dbottom%3A30px%7D%2Ecarousel%2Dindicators%7Bbottom%3A20px%7D%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Abefore%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Ebtn%2Dtoolbar%3Abefore%2C%2Eclearfix%3Aafter%2C%2Eclearfix%3Abefore%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%2Dfluid%3Abefore%2C%2Econtainer%3Aafter%2C%2Econtainer%3Abefore%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Abefore%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Abefore%2C%2Emodal%2Dfooter%3Aafter%2C%2Emodal%2Dfooter%3Abefore%2C%2Enav%3Aafter%2C%2Enav%3Abefore%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dcollapse%3Abefore%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%2Dheader%3Abefore%2C%2Enavbar%3Aafter%2C%2Enavbar%3Abefore%2C%2Epager%3Aafter%2C%2Epager%3Abefore%2C%2Epanel%2Dbody%3Aafter%2C%2Epanel%2Dbody%3Abefore%2C%2Erow%3Aafter%2C%2Erow%3Abefore%7Bdisplay%3Atable%3Bcontent%3A%22%20%22%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Eclearfix%3Aafter%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Emodal%2Dfooter%3Aafter%2C%2Enav%3Aafter%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%3Aafter%2C%2Epager%3Aafter%2C%2Epanel%2Dbody%3Aafter%2C%2Erow%3Aafter%7Bclear%3Aboth%7D%2Ecenter%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Epull%2Dright%7Bfloat%3Aright%21important%7D%2Epull%2Dleft%7Bfloat%3Aleft%21important%7D%2Ehide%7Bdisplay%3Anone%21important%7D%2Eshow%7Bdisplay%3Ablock%21important%7D%2Einvisible%7Bvisibility%3Ahidden%7D%2Etext%2Dhide%7Bfont%3A0%2F0%20a%3Bcolor%3Atransparent%3Btext%2Dshadow%3Anone%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%7D%2Ehidden%7Bdisplay%3Anone%21important%7D%2Eaffix%7Bposition%3Afixed%7D%40%2Dms%2Dviewport%7Bwidth%3Adevice%2Dwidth%7D%2Evisible%2Dlg%2C%2Evisible%2Dmd%2C%2Evisible%2Dsm%2C%2Evisible%2Dxs%7Bdisplay%3Anone%21important%7D%2Evisible%2Dlg%2Dblock%2C%2Evisible%2Dlg%2Dinline%2C%2Evisible%2Dlg%2Dinline%2Dblock%2C%2Evisible%2Dmd%2Dblock%2C%2Evisible%2Dmd%2Dinline%2C%2Evisible%2Dmd%2Dinline%2Dblock%2C%2Evisible%2Dsm%2Dblock%2C%2Evisible%2Dsm%2Dinline%2C%2Evisible%2Dsm%2Dinline%2Dblock%2C%2Evisible%2Dxs%2Dblock%2C%2Evisible%2Dxs%2Dinline%2C%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dxs%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dxs%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dxs%2Cth%2Evisible%2Dxs%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dsm%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dsm%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dsm%2Cth%2Evisible%2Dsm%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dmd%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dmd%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dmd%2Cth%2Evisible%2Dmd%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dlg%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dlg%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dlg%2Cth%2Evisible%2Dlg%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Ehidden%2Dxs%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Ehidden%2Dsm%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Ehidden%2Dmd%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ehidden%2Dlg%7Bdisplay%3Anone%21important%7D%7D%2Evisible%2Dprint%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dprint%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dprint%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dprint%2Cth%2Evisible%2Dprint%7Bdisplay%3Atable%2Dcell%21important%7D%7D%2Evisible%2Dprint%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%2Evisible%2Dprint%2Dinline%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20print%7B%2Ehidden%2Dprint%7Bdisplay%3Anone%21important%7D%7D%0A" rel="stylesheet" />
-<script src="data:application/x-javascript;base64,LyohCiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyIil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksYj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBjIGluIGIpaWYodm9pZCAwIT09YS5zdHlsZVtjXSlyZXR1cm57ZW5kOmJbY119O3JldHVybiExfWEuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYil7dmFyIGM9ITEsZD10aGlzO2EodGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Yz0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7Y3x8YShkKS50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsYiksdGhpc30sYShmdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uPWIoKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGEuZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbihiKXtyZXR1cm4gYShiLnRhcmdldCkuaXModGhpcyk/Yi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjUiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YShmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjUiLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKSk6dGhpcy5pc0xvYWRpbmcmJih0aGlzLmlzTG9hZGluZz0hMSxkLnJlbW92ZUNsYXNzKGMpLnJlbW92ZUF0dHIoYykpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiYWN0aXZlIikpOiJjaGVja2JveCI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikhPT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSYmKGE9ITEpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpKSxjLnByb3AoImNoZWNrZWQiLHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnRyaWdnZXIoImNoYW5nZSIpfWVsc2UgdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uYnV0dG9uO2EuZm4uYnV0dG9uPWIsYS5mbi5idXR0b24uQ29uc3RydWN0b3I9YyxhLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYnV0dG9uPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKGMudGFyZ2V0KTtkLmhhc0NsYXNzKCJidG4iKXx8KGQ9ZC5jbG9zZXN0KCIuYnRuIikpLGIuY2FsbChkLCJ0b2dnbGUiKSxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0icmFkaW8iXScpfHxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpfHxjLnByZXZlbnREZWZhdWx0KCl9KS5vbigiZm9jdXMuYnMuYnV0dG9uLmRhdGEtYXBpIGJsdXIuYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNsb3Nlc3QoIi5idG4iKS50b2dnbGVDbGFzcygiZm9jdXMiLC9eZm9jdXMoaW4pPyQvLnRlc3QoYi50eXBlKSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmNhcm91c2VsIiksZj1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYiksZz0ic3RyaW5nIj09dHlwZW9mIGI/YjpmLnNsaWRlO2V8fGQuZGF0YSgiYnMuY2Fyb3VzZWwiLGU9bmV3IGModGhpcyxmKSksIm51bWJlciI9PXR5cGVvZiBiP2UudG8oYik6Zz9lW2ddKCk6Zi5pbnRlcnZhbCYmZS5wYXVzZSgpLmN5Y2xlKCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRpbmRpY2F0b3JzPXRoaXMuJGVsZW1lbnQuZmluZCgiLmNhcm91c2VsLWluZGljYXRvcnMiKSx0aGlzLm9wdGlvbnM9Yyx0aGlzLnBhdXNlZD1udWxsLHRoaXMuc2xpZGluZz1udWxsLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLiRhY3RpdmU9bnVsbCx0aGlzLiRpdGVtcz1udWxsLHRoaXMub3B0aW9ucy5rZXlib2FyZCYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLCJob3ZlciI9PXRoaXMub3B0aW9ucy5wYXVzZSYmISgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJnRoaXMuJGVsZW1lbnQub24oIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5wYXVzZSx0aGlzKSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5jeWNsZSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj02MDAsYy5ERUZBVUxUUz17aW50ZXJ2YWw6NWUzLHBhdXNlOiJob3ZlciIsd3JhcDohMCxrZXlib2FyZDohMH0sYy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihhKXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdChhLnRhcmdldC50YWdOYW1lKSl7c3dpdGNoKGEud2hpY2gpe2Nhc2UgMzc6dGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0aGlzLm5leHQoKTticmVhaztkZWZhdWx0OnJldHVybn1hLnByZXZlbnREZWZhdWx0KCl9fSxjLnByb3RvdHlwZS5jeWNsZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSExKSx0aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCYmIXRoaXMucGF1c2VkJiYodGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMubmV4dCx0aGlzKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwpKSx0aGlzfSxjLnByb3RvdHlwZS5nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuJGl0ZW1zPWEucGFyZW50KCkuY2hpbGRyZW4oIi5pdGVtIiksdGhpcy4kaXRlbXMuaW5kZXgoYXx8dGhpcy4kYWN0aXZlKX0sYy5wcm90b3R5cGUuZ2V0SXRlbUZvckRpcmVjdGlvbj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0SXRlbUluZGV4KGIpLGQ9InByZXYiPT1hJiYwPT09Y3x8Im5leHQiPT1hJiZjPT10aGlzLiRpdGVtcy5sZW5ndGgtMTtpZihkJiYhdGhpcy5vcHRpb25zLndyYXApcmV0dXJuIGI7dmFyIGU9InByZXYiPT1hPy0xOjEsZj0oYytlKSV0aGlzLiRpdGVtcy5sZW5ndGg7cmV0dXJuIHRoaXMuJGl0ZW1zLmVxKGYpfSxjLnByb3RvdHlwZS50bz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5nZXRJdGVtSW5kZXgodGhpcy4kYWN0aXZlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIikpO3JldHVybiBhPnRoaXMuJGl0ZW1zLmxlbmd0aC0xfHwwPmE/dm9pZCAwOnRoaXMuc2xpZGluZz90aGlzLiRlbGVtZW50Lm9uZSgic2xpZC5icy5jYXJvdXNlbCIsZnVuY3Rpb24oKXtiLnRvKGEpfSk6Yz09YT90aGlzLnBhdXNlKCkuY3ljbGUoKTp0aGlzLnNsaWRlKGE+Yz8ibmV4dCI6InByZXYiLHRoaXMuJGl0ZW1zLmVxKGEpKX0sYy5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMCksdGhpcy4kZWxlbWVudC5maW5kKCIubmV4dCwgLnByZXYiKS5sZW5ndGgmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCksdGhpcy5jeWNsZSghMCkpLHRoaXMuaW50ZXJ2YWw9Y2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzfSxjLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgibmV4dCIpfSxjLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgicHJldiIpfSxjLnByb3RvdHlwZS5zbGlkZT1mdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIiksZj1kfHx0aGlzLmdldEl0ZW1Gb3JEaXJlY3Rpb24oYixlKSxnPXRoaXMuaW50ZXJ2YWwsaD0ibmV4dCI9PWI/ImxlZnQiOiJyaWdodCIsaT10aGlzO2lmKGYuaGFzQ2xhc3MoImFjdGl2ZSIpKXJldHVybiB0aGlzLnNsaWRpbmc9ITE7dmFyIGo9ZlswXSxrPWEuRXZlbnQoInNsaWRlLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGspLCFrLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0aGlzLnNsaWRpbmc9ITAsZyYmdGhpcy5wYXVzZSgpLHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKXt0aGlzLiRpbmRpY2F0b3JzLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIGw9YSh0aGlzLiRpbmRpY2F0b3JzLmNoaWxkcmVuKClbdGhpcy5nZXRJdGVtSW5kZXgoZildKTtsJiZsLmFkZENsYXNzKCJhY3RpdmUiKX12YXIgbT1hLkV2ZW50KCJzbGlkLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJzbGlkZSIpPyhmLmFkZENsYXNzKGIpLGZbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcyhoKSxmLmFkZENsYXNzKGgpLGUub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Zi5yZW1vdmVDbGFzcyhbYixoXS5qb2luKCIgIikpLmFkZENsYXNzKCJhY3RpdmUiKSxlLnJlbW92ZUNsYXNzKFsiYWN0aXZlIixoXS5qb2luKCIgIikpLGkuc2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS4kZWxlbWVudC50cmlnZ2VyKG0pfSwwKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTikpOihlLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxmLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLnNsaWRpbmc9ITEsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG0pKSxnJiZ0aGlzLmN5Y2xlKCksdGhpc319O3ZhciBkPWEuZm4uY2Fyb3VzZWw7YS5mbi5jYXJvdXNlbD1iLGEuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3I9YyxhLmZuLmNhcm91c2VsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jYXJvdXNlbD1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe3ZhciBkLGU9YSh0aGlzKSxmPWEoZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoZD1lLmF0dHIoImhyZWYiKSkmJmQucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSk7aWYoZi5oYXNDbGFzcygiY2Fyb3VzZWwiKSl7dmFyIGc9YS5leHRlbmQoe30sZi5kYXRhKCksZS5kYXRhKCkpLGg9ZS5hdHRyKCJkYXRhLXNsaWRlLXRvIik7aCYmKGcuaW50ZXJ2YWw9ITEpLGIuY2FsbChmLGcpLGgmJmYuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhoKSxjLnByZXZlbnREZWZhdWx0KCl9fTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0iLGUpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlLXRvXSIsZSksYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtiLmNhbGwoYyxjLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYyxkPWIuYXR0cigiZGF0YS10YXJnZXQiKXx8KGM9Yi5hdHRyKCJocmVmIikpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik7cmV0dXJuIGEoZCl9ZnVuY3Rpb24gYyhiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuY29sbGFwc2UiKSxmPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTshZSYmZi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoYikmJihmLnRvZ2dsZT0hMSksZXx8Yy5kYXRhKCJicy5jb2xsYXBzZSIsZT1uZXcgZCh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBkPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMpLHRoaXMuJHRyaWdnZXI9YSgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK2IuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrYi5pZCsnIl0nKSx0aGlzLnRyYW5zaXRpb25pbmc9bnVsbCx0aGlzLm9wdGlvbnMucGFyZW50P3RoaXMuJHBhcmVudD10aGlzLmdldFBhcmVudCgpOnRoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuJGVsZW1lbnQsdGhpcy4kdHJpZ2dlciksdGhpcy5vcHRpb25zLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX07ZC5WRVJTSU9OPSIzLjMuNSIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTM1MCxkLkRFRkFVTFRTPXt0b2dnbGU6ITB9LGQucHJvdG90eXBlLmRpbWVuc2lvbj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoIndpZHRoIik7cmV0dXJuIGE/IndpZHRoIjoiaGVpZ2h0In0sZC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJiF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYixlPXRoaXMuJHBhcmVudCYmdGhpcy4kcGFyZW50LmNoaWxkcmVuKCIucGFuZWwiKS5jaGlsZHJlbigiLmluLCAuY29sbGFwc2luZyIpO2lmKCEoZSYmZS5sZW5ndGgmJihiPWUuZGF0YSgiYnMuY29sbGFwc2UiKSxiJiZiLnRyYW5zaXRpb25pbmcpKSl7dmFyIGY9YS5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihmKSwhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmZS5sZW5ndGgmJihjLmNhbGwoZSwiaGlkZSIpLGJ8fGUuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgZz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKVtnXSgwKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy4kdHJpZ2dlci5yZW1vdmVDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBoPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSBpbiIpW2ddKCIiKSx0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLmNvbGxhcHNlIil9O2lmKCFhLnN1cHBvcnQudHJhbnNpdGlvbilyZXR1cm4gaC5jYWxsKHRoaXMpO3ZhciBpPWEuY2FtZWxDYXNlKFsic2Nyb2xsIixnXS5qb2luKCItIikpO3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoaCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKVtnXSh0aGlzLiRlbGVtZW50WzBdW2ldKX19fX0sZC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiPWEuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksIWIuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBjPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudFtjXSh0aGlzLiRlbGVtZW50W2NdKCkpWzBdLm9mZnNldEhlaWdodCx0aGlzLiRlbGVtZW50LmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIGluIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMuJHRyaWdnZXIuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgZT1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UiKS50cmlnZ2VyKCJoaWRkZW4uYnMuY29sbGFwc2UiKX07cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uP3ZvaWQgdGhpcy4kZWxlbWVudFtjXSgwKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShlLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmUuY2FsbCh0aGlzKX19fSxkLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX0sZC5wcm90b3R5cGUuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcy5vcHRpb25zLnBhcmVudCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMub3B0aW9ucy5wYXJlbnQrJyJdJykuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGU9YShkKTt0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhiKGUpLGUpfSx0aGlzKSkuZW5kKCl9LGQucHJvdG90eXBlLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuaGFzQ2xhc3MoImluIik7YS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKSxiLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFjKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKX07dmFyIGU9YS5mbi5jb2xsYXBzZTthLmZuLmNvbGxhcHNlPWMsYS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj1kLGEuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNvbGxhcHNlPWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmNvbGxhcHNlLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxmdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2UuYXR0cigiZGF0YS10YXJnZXQiKXx8ZC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBmPWIoZSksZz1mLmRhdGEoImJzLmNvbGxhcHNlIiksaD1nPyJ0b2dnbGUiOmUuZGF0YSgpO2MuY2FsbChmLGgpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjPWIuYXR0cigiZGF0YS10YXJnZXQiKTtjfHwoYz1iLmF0dHIoImhyZWYiKSxjPWMmJi8jW0EtWmEtel0vLnRlc3QoYykmJmMucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGQ9YyYmYShjKTtyZXR1cm4gZCYmZC5sZW5ndGg/ZDpiLnBhcmVudCgpfWZ1bmN0aW9uIGMoYyl7YyYmMz09PWMud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1iKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoYyYmImNsaWNrIj09Yy50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpJiZhLmNvbnRhaW5zKGVbMF0sYy50YXJnZXQpfHwoZS50cmlnZ2VyKGM9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpfSkpfWZ1bmN0aW9uIGQoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoImJzLmRyb3Bkb3duIik7ZHx8Yy5kYXRhKCJicy5kcm9wZG93biIsZD1uZXcgZyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZkW2JdLmNhbGwoYyl9KX12YXIgZT0iLmRyb3Bkb3duLWJhY2tkcm9wIixmPSdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nLGc9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2suYnMuZHJvcGRvd24iLHRoaXMudG9nZ2xlKX07Zy5WRVJTSU9OPSIzLjMuNSIsZy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7aWYoIWUuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBmPWIoZSksZz1mLmhhc0NsYXNzKCJvcGVuIik7aWYoYygpLCFnKXsib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWYuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGgmJmEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJkcm9wZG93bi1iYWNrZHJvcCIpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYyk7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJzaG93bi5icy5kcm9wZG93biIsaCl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGMpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGMud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YihkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWMud2hpY2h8fGcmJjI3PT1jLndoaWNoKXJldHVybiAyNz09Yy53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgiLmRyb3Bkb3duLW1lbnUiK2gpO2lmKGkubGVuZ3RoKXt2YXIgaj1pLmluZGV4KGMudGFyZ2V0KTszOD09Yy53aGljaCYmaj4wJiZqLS0sNDA9PWMud2hpY2gmJmo8aS5sZW5ndGgtMSYmaisrLH5qfHwoaj0wKSxpLmVxKGopLnRyaWdnZXIoImZvY3VzIil9fX19O3ZhciBoPWEuZm4uZHJvcGRvd247YS5mbi5kcm9wZG93bj1kLGEuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9ZyxhLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5kcm9wZG93bj1oLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsYykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUudG9nZ2xlKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93bi1tZW51IixnLnByb3RvdHlwZS5rZXlkb3duKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYixkKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxmPWUuZGF0YSgiYnMubW9kYWwiKSxnPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTtmfHxlLmRhdGEoImJzLm1vZGFsIixmPW5ldyBjKHRoaXMsZykpLCJzdHJpbmciPT10eXBlb2YgYj9mW2JdKGQpOmcuc2hvdyYmZi5zaG93KGQpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yyx0aGlzLiRib2R5PWEoZG9jdW1lbnQuYm9keSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGRpYWxvZz10aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1kaWFsb2ciKSx0aGlzLiRiYWNrZHJvcD1udWxsLHRoaXMuaXNTaG93bj1udWxsLHRoaXMub3JpZ2luYWxCb2R5UGFkPW51bGwsdGhpcy5zY3JvbGxiYXJXaWR0aD0wLHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1jb250ZW50IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoImxvYWRlZC5icy5tb2RhbCIpfSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0zMDAsYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3coYSl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPWEuRXZlbnQoInNob3cuYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTt0aGlzLiRlbGVtZW50LnRyaWdnZXIoZSksdGhpcy5pc1Nob3dufHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuY2hlY2tTY3JvbGxiYXIoKSx0aGlzLnNldFNjcm9sbGJhcigpLHRoaXMuJGJvZHkuYWRkQ2xhc3MoIm1vZGFsLW9wZW4iKSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLGEucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLiRkaWFsb2cub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuJGVsZW1lbnQub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmlzKGQuJGVsZW1lbnQpJiYoZC5pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBlPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZkLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7ZC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fGQuJGVsZW1lbnQuYXBwZW5kVG8oZC4kYm9keSksZC4kZWxlbWVudC5zaG93KCkuc2Nyb2xsVG9wKDApLGQuYWRqdXN0RGlhbG9nKCksZSYmZC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxkLiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLGQuZW5mb3JjZUZvY3VzKCk7dmFyIGY9YS5FdmVudCgic2hvd24uYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTtlP2QuJGRpYWxvZy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KSl9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGI9YS5FdmVudCgiaGlkZS5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSx0aGlzLmlzU2hvd24mJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSxhKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJpbiIpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygibW9kYWwtYmFja2Ryb3AgIitlKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pblN0YXRlPW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy41IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMudmlld3BvcnQpP3RoaXMub3B0aW9ucy52aWV3cG9ydC5jYWxsKHRoaXMsdGhpcy4kZWxlbWVudCk6dGhpcy5vcHRpb25zLnZpZXdwb3J0LnNlbGVjdG9yfHx0aGlzLm9wdGlvbnMudmlld3BvcnQpLHRoaXMuaW5TdGF0ZT17Y2xpY2s6ITEsaG92ZXI6ITEsZm9jdXM6ITF9LHRoaXMuJGVsZW1lbnRbMF1pbnN0YW5jZW9mIGRvY3VtZW50LmNvbnN0cnVjdG9yJiYhdGhpcy5vcHRpb25zLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiYHNlbGVjdG9yYCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbml0aWFsaXppbmcgIit0aGlzLnR5cGUrIiBvbiB0aGUgd2luZG93LmRvY3VtZW50IG9iamVjdCEiKTtmb3IodmFyIGU9dGhpcy5vcHRpb25zLnRyaWdnZXIuc3BsaXQoIiAiKSxmPWUubGVuZ3RoO2YtLTspe3ZhciBnPWVbZl07aWYoImNsaWNrIj09Zyl0aGlzLiRlbGVtZW50Lm9uKCJjbGljay4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLnRvZ2dsZSx0aGlzKSk7ZWxzZSBpZigibWFudWFsIiE9Zyl7dmFyIGg9ImhvdmVyIj09Zz8ibW91c2VlbnRlciI6ImZvY3VzaW4iLGk9ImhvdmVyIj09Zz8ibW91c2VsZWF2ZSI6ImZvY3Vzb3V0Ijt0aGlzLiRlbGVtZW50Lm9uKGgrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKX19dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKGIpe3JldHVybiBiPWEuZXh0ZW5kKHt9LHRoaXMuZ2V0RGVmYXVsdHMoKSx0aGlzLiRlbGVtZW50LmRhdGEoKSxiKSxiLmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIGIuZGVsYXkmJihiLmRlbGF5PXtzaG93OmIuZGVsYXksaGlkZTpiLmRlbGF5fSksYn0sYy5wcm90b3R5cGUuZ2V0RGVsZWdhdGVPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGI9e30sYz10aGlzLmdldERlZmF1bHRzKCk7cmV0dXJuIHRoaXMuX29wdGlvbnMmJmEuZWFjaCh0aGlzLl9vcHRpb25zLGZ1bmN0aW9uKGEsZCl7Y1thXSE9ZCYmKGJbYV09ZCl9KSxifSxjLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXt2YXIgYz1iIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9iOmEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSk7cmV0dXJuIGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c2luIj09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGMudGlwKCkuaGFzQ2xhc3MoImluIil8fCJpbiI9PWMuaG92ZXJTdGF0ZT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmlzSW5TdGF0ZVRydWU9ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5pblN0YXRlKWlmKHRoaXMuaW5TdGF0ZVthXSlyZXR1cm4hMDtyZXR1cm4hMX0sYy5wcm90b3R5cGUubGVhdmU9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNvdXQiPT1iLnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksYy5pc0luU3RhdGVUcnVlKCk/dm9pZCAwOihjbGVhclRpbWVvdXQoYy50aW1lb3V0KSxjLmhvdmVyU3RhdGU9Im91dCIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuaGlkZT92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Im91dCI9PWMuaG92ZXJTdGF0ZSYmYy5oaWRlKCl9LGMub3B0aW9ucy5kZWxheS5oaWRlKSk6Yy5oaWRlKCkpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9YS5FdmVudCgic2hvdy5icy4iK3RoaXMudHlwZSk7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpO3ZhciBkPWEuY29udGFpbnModGhpcy4kZWxlbWVudFswXS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLiRlbGVtZW50WzBdKTtpZihiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhZClyZXR1cm47dmFyIGU9dGhpcyxmPXRoaXMudGlwKCksZz10aGlzLmdldFVJRCh0aGlzLnR5cGUpO3RoaXMuc2V0Q29udGVudCgpLGYuYXR0cigiaWQiLGcpLHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZyksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmZi5hZGRDbGFzcygiZmFkZSIpO3ZhciBoPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMucGxhY2VtZW50P3RoaXMub3B0aW9ucy5wbGFjZW1lbnQuY2FsbCh0aGlzLGZbMF0sdGhpcy4kZWxlbWVudFswXSk6dGhpcy5vcHRpb25zLnBsYWNlbWVudCxpPS9ccz9hdXRvP1xzPy9pLGo9aS50ZXN0KGgpO2omJihoPWgucmVwbGFjZShpLCIiKXx8InRvcCIpLGYuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSkuYWRkQ2xhc3MoaCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsdGhpcyksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj9mLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOmYuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJpbnNlcnRlZC5icy4iK3RoaXMudHlwZSk7dmFyIGs9dGhpcy5nZXRQb3NpdGlvbigpLGw9ZlswXS5vZmZzZXRXaWR0aCxtPWZbMF0ub2Zmc2V0SGVpZ2h0O2lmKGope3ZhciBuPWgsbz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtoPSJib3R0b20iPT1oJiZrLmJvdHRvbSttPm8uYm90dG9tPyJ0b3AiOiJ0b3AiPT1oJiZrLnRvcC1tPG8udG9wPyJib3R0b20iOiJyaWdodCI9PWgmJmsucmlnaHQrbD5vLndpZHRoPyJsZWZ0IjoibGVmdCI9PWgmJmsubGVmdC1sPG8ubGVmdD8icmlnaHQiOmgsZi5yZW1vdmVDbGFzcyhuKS5hZGRDbGFzcyhoKX12YXIgcD10aGlzLmdldENhbGN1bGF0ZWRPZmZzZXQoaCxrLGwsbSk7dGhpcy5hcHBseVBsYWNlbWVudChwLGgpO3ZhciBxPWZ1bmN0aW9uKCl7dmFyIGE9ZS5ob3ZlclN0YXRlO2UuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuIitlLnR5cGUpLGUuaG92ZXJTdGF0ZT1udWxsLCJvdXQiPT1hJiZlLmxlYXZlKGUpfTthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kdGlwLmhhc0NsYXNzKCJmYWRlIik/Zi5vbmUoImJzVHJhbnNpdGlvbkVuZCIscSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpxKCl9fSxjLnByb3RvdHlwZS5hcHBseVBsYWNlbWVudD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudGlwKCksZT1kWzBdLm9mZnNldFdpZHRoLGY9ZFswXS5vZmZzZXRIZWlnaHQsZz1wYXJzZUludChkLmNzcygibWFyZ2luLXRvcCIpLDEwKSxoPXBhcnNlSW50KGQuY3NzKCJtYXJnaW4tbGVmdCIpLDEwKTtpc05hTihnKSYmKGc9MCksaXNOYU4oaCkmJihoPTApLGIudG9wKz1nLGIubGVmdCs9aCxhLm9mZnNldC5zZXRPZmZzZXQoZFswXSxhLmV4dGVuZCh7dXNpbmc6ZnVuY3Rpb24oYSl7ZC5jc3Moe3RvcDpNYXRoLnJvdW5kKGEudG9wKSxsZWZ0Ok1hdGgucm91bmQoYS5sZWZ0KX0pfX0sYiksMCksZC5hZGRDbGFzcygiaW4iKTt2YXIgaT1kWzBdLm9mZnNldFdpZHRoLGo9ZFswXS5vZmZzZXRIZWlnaHQ7InRvcCI9PWMmJmohPWYmJihiLnRvcD1iLnRvcCtmLWopO3ZhciBrPXRoaXMuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhKGMsYixpLGopO2subGVmdD9iLmxlZnQrPWsubGVmdDpiLnRvcCs9ay50b3A7dmFyIGw9L3RvcHxib3R0b20vLnRlc3QoYyksbT1sPzIqay5sZWZ0LWUraToyKmsudG9wLWYraixuPWw/Im9mZnNldFdpZHRoIjoib2Zmc2V0SGVpZ2h0IjtkLm9mZnNldChiKSx0aGlzLnJlcGxhY2VBcnJvdyhtLGRbMF1bbl0sbCl9LGMucHJvdG90eXBlLnJlcGxhY2VBcnJvdz1mdW5jdGlvbihhLGIsYyl7dGhpcy5hcnJvdygpLmNzcyhjPyJsZWZ0IjoidG9wIiw1MCooMS1hL2IpKyIlIikuY3NzKGM/InRvcCI6ImxlZnQiLCIiKX0sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCk7YS5maW5kKCIudG9vbHRpcC1pbm5lciIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKGIpLGEucmVtb3ZlQ2xhc3MoImZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0Iil9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpeyJpbiIhPWUuaG92ZXJTdGF0ZSYmZi5kZXRhY2goKSxlLiRlbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKS50cmlnZ2VyKCJoaWRkZW4uYnMuIitlLnR5cGUpLGImJmIoKX12YXIgZT10aGlzLGY9YSh0aGlzLiR0aXApLGc9YS5FdmVudCgiaGlkZS5icy4iK3RoaXMudHlwZSk7cmV0dXJuIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSxnLmlzRGVmYXVsdFByZXZlbnRlZCgpP3ZvaWQgMDooZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXMpfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj1kP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCksZz17c2Nyb2xsOmQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6Yi5zY3JvbGxUb3AoKX0saD1kP3t3aWR0aDphKHdpbmRvdykud2lkdGgoKSxoZWlnaHQ6YSh3aW5kb3cpLmhlaWdodCgpfTpudWxsO3JldHVybiBhLmV4dGVuZCh7fSxlLGcsaCxmKX0sYy5wcm90b3R5cGUuZ2V0Q2FsY3VsYXRlZE9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4iYm90dG9tIj09YT97dG9wOmIudG9wK2IuaGVpZ2h0LGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJ0b3AiPT1hP3t0b3A6Yi50b3AtZCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToibGVmdCI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdC1jfTp7dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0K2Iud2lkdGh9fSxjLnByb3RvdHlwZS5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e3RvcDowLGxlZnQ6MH07aWYoIXRoaXMuJHZpZXdwb3J0KXJldHVybiBlO3ZhciBmPXRoaXMub3B0aW9ucy52aWV3cG9ydCYmdGhpcy5vcHRpb25zLnZpZXdwb3J0LnBhZGRpbmd8fDAsZz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtpZigvcmlnaHR8bGVmdC8udGVzdChhKSl7dmFyIGg9Yi50b3AtZi1nLnNjcm9sbCxpPWIudG9wK2YtZy5zY3JvbGwrZDtoPGcudG9wP2UudG9wPWcudG9wLWg6aT5nLnRvcCtnLmhlaWdodCYmKGUudG9wPWcudG9wK2cuaGVpZ2h0LWkpfWVsc2V7dmFyIGo9Yi5sZWZ0LWYsaz1iLmxlZnQrZitjO2o8Zy5sZWZ0P2UubGVmdD1nLmxlZnQtajprPmcucmlnaHQmJihlLmxlZnQ9Zy5sZWZ0K2cud2lkdGgtayl9cmV0dXJuIGV9LGMucHJvdG90eXBlLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLiRlbGVtZW50LGM9dGhpcy5vcHRpb25zO3JldHVybiBhPWIuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGMudGl0bGU/Yy50aXRsZS5jYWxsKGJbMF0pOmMudGl0bGUpfSxjLnByb3RvdHlwZS5nZXRVSUQ9ZnVuY3Rpb24oYSl7ZG8gYSs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpO3doaWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKTtyZXR1cm4gYX0sYy5wcm90b3R5cGUudGlwPWZ1bmN0aW9uKCl7aWYoIXRoaXMuJHRpcCYmKHRoaXMuJHRpcD1hKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSksMSE9dGhpcy4kdGlwLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiIGB0ZW1wbGF0ZWAgb3B0aW9uIG11c3QgY29uc2lzdCBvZiBleGFjdGx5IDEgdG9wLWxldmVsIGVsZW1lbnQhIik7cmV0dXJuIHRoaXMuJHRpcH0sYy5wcm90b3R5cGUuYXJyb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kYXJyb3c9dGhpcy4kYXJyb3d8fHRoaXMudGlwKCkuZmluZCgiLnRvb2x0aXAtYXJyb3ciKX0sYy5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxjLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSxjLnByb3RvdHlwZS50b2dnbGVFbmFibGVkPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzO2ImJihjPWEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSksY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSkpLGI/KGMuaW5TdGF0ZS5jbGljaz0hYy5pblN0YXRlLmNsaWNrLGMuaXNJblN0YXRlVHJ1ZSgpP2MuZW50ZXIoYyk6Yy5sZWF2ZShjKSk6Yy50aXAoKS5oYXNDbGFzcygiaW4iKT9jLmxlYXZlKGMpOmMuZW50ZXIoYyl9LGMucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHRoaXMuaGlkZShmdW5jdGlvbigpe2EuJGVsZW1lbnQub2ZmKCIuIithLnR5cGUpLnJlbW92ZURhdGEoImJzLiIrYS50eXBlKSxhLiR0aXAmJmEuJHRpcC5kZXRhY2goKSxhLiR0aXA9bnVsbCxhLiRhcnJvdz1udWxsLGEuJHZpZXdwb3J0PW51bGx9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy41IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNSIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpe3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSwKZC50cmlnZ2VyKCJhY3RpdmF0ZS5icy5zY3JvbGxzcHkiKX0sYi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXthKHRoaXMuc2VsZWN0b3IpLnBhcmVudHNVbnRpbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLnNjcm9sbHNweTthLmZuLnNjcm9sbHNweT1jLGEuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPWIsYS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnNjcm9sbHNweT1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZC5icy5zY3JvbGxzcHkuZGF0YS1hcGkiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2MuY2FsbChiLGIuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50YWIiKTtlfHxkLmRhdGEoImJzLnRhYiIsZT1uZXcgYyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQ9YShiKX07Yy5WRVJTSU9OPSIzLjMuNSIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LGM9Yi5jbG9zZXN0KCJ1bDpub3QoLmRyb3Bkb3duLW1lbnUpIiksZD1iLmRhdGEoInRhcmdldCIpO2lmKGR8fChkPWIuYXR0cigiaHJlZiIpLGQ9ZCYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSwhYi5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpKXt2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gYz5lPyJ0b3AiOiExO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/ZSt0aGlzLnVucGluPD1mLnRvcD8hMToiYm90dG9tIjphLWQ+PWUrZz8hMToiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmYz49ZT8idG9wIjpudWxsIT1kJiZpK2o+PWEtZD8iYm90dG9tIjohMX0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9TWF0aC5tYXgoYShkb2N1bWVudCkuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSk7Im9iamVjdCIhPXR5cGVvZiBkJiYoZj1lPWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1kLnRvcCh0aGlzLiRlbGVtZW50KSksImZ1bmN0aW9uIj09dHlwZW9mIGYmJihmPWQuYm90dG9tKHRoaXMuJGVsZW1lbnQpKTt2YXIgaD10aGlzLmdldFN0YXRlKGcsYixlLGYpO2lmKHRoaXMuYWZmaXhlZCE9aCl7bnVsbCE9dGhpcy51bnBpbiYmdGhpcy4kZWxlbWVudC5jc3MoInRvcCIsIiIpO3ZhciBpPSJhZmZpeCIrKGg/Ii0iK2g6IiIpLGo9YS5FdmVudChpKyIuYnMuYWZmaXgiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksai5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47dGhpcy5hZmZpeGVkPWgsdGhpcy51bnBpbj0iYm90dG9tIj09aD90aGlzLmdldFBpbm5lZE9mZnNldCgpOm51bGwsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhjLlJFU0VUKS5hZGRDbGFzcyhpKS50cmlnZ2VyKGkucmVwbGFjZSgiYWZmaXgiLCJhZmZpeGVkIikrIi5icy5hZmZpeCIpfSJib3R0b20iPT1oJiZ0aGlzLiRlbGVtZW50Lm9mZnNldCh7dG9wOmctYi1mfSl9fTt2YXIgZD1hLmZuLmFmZml4O2EuZm4uYWZmaXg9YixhLmZuLmFmZml4LkNvbnN0cnVjdG9yPWMsYS5mbi5hZmZpeC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWZmaXg9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoKTtkLm9mZnNldD1kLm9mZnNldHx8e30sbnVsbCE9ZC5vZmZzZXRCb3R0b20mJihkLm9mZnNldC5ib3R0b209ZC5vZmZzZXRCb3R0b20pLG51bGwhPWQub2Zmc2V0VG9wJiYoZC5vZmZzZXQudG9wPWQub2Zmc2V0VG9wKSxiLmNhbGwoYyxkKX0pfSl9KGpRdWVyeSk7"></script>
-<script src="data:application/x-javascript;base64,LyoqCiogQHByZXNlcnZlIEhUTUw1IFNoaXYgMy43LjIgfCBAYWZhcmthcyBAamRhbHRvbiBAam9uX25lYWwgQHJlbSB8IE1JVC9HUEwyIExpY2Vuc2VkCiovCi8vIE9ubHkgcnVuIHRoaXMgY29kZSBpbiBJRSA4CmlmICghIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJNU0lFIDgiKSkgewohZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGM9YS5jcmVhdGVFbGVtZW50KCJwIiksZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGEuZG9jdW1lbnRFbGVtZW50O3JldHVybiBjLmlubmVySFRNTD0ieDxzdHlsZT4iK2IrIjwvc3R5bGU+IixkLmluc2VydEJlZm9yZShjLmxhc3RDaGlsZCxkLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIGQoKXt2YXIgYT10LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgYT9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBlKGEsYil7dmFyIGM9dC5lbGVtZW50czsic3RyaW5nIiE9dHlwZW9mIGMmJihjPWMuam9pbigiICIpKSwic3RyaW5nIiE9dHlwZW9mIGEmJihhPWEuam9pbigiICIpKSx0LmVsZW1lbnRzPWMrIiAiK2EsaihiKX1mdW5jdGlvbiBmKGEpe3ZhciBiPXNbYVtxXV07cmV0dXJuIGJ8fChiPXt9LHIrKyxhW3FdPXIsc1tyXT1iKSxifWZ1bmN0aW9uIGcoYSxjLGQpe2lmKGN8fChjPWIpLGwpcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1mKGMpKTt2YXIgZTtyZXR1cm4gZT1kLmNhY2hlW2FdP2QuY2FjaGVbYV0uY2xvbmVOb2RlKCk6cC50ZXN0KGEpPyhkLmNhY2hlW2FdPWQuY3JlYXRlRWxlbShhKSkuY2xvbmVOb2RlKCk6ZC5jcmVhdGVFbGVtKGEpLCFlLmNhbkhhdmVDaGlsZHJlbnx8by50ZXN0KGEpfHxlLnRhZ1Vybj9lOmQuZnJhZy5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBoKGEsYyl7aWYoYXx8KGE9YiksbClyZXR1cm4gYS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1jfHxmKGEpO2Zvcih2YXIgZT1jLmZyYWcuY2xvbmVOb2RlKCksZz0wLGg9ZCgpLGk9aC5sZW5ndGg7aT5nO2crKyllLmNyZWF0ZUVsZW1lbnQoaFtnXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gdC5zaGl2TWV0aG9kcz9nKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIitkKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtOl0rL2csZnVuY3Rpb24oYSl7cmV0dXJuIGIuY3JlYXRlRWxlbShhKSxiLmZyYWcuY3JlYXRlRWxlbWVudChhKSwnYygiJythKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh0LGIuZnJhZyl9ZnVuY3Rpb24gaihhKXthfHwoYT1iKTt2YXIgZD1mKGEpO3JldHVybiF0LnNoaXZDU1N8fGt8fGQuaGFzQ1NTfHwoZC5oYXNDU1M9ISFjKGEsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8aShhLGQpLGF9dmFyIGssbCxtPSIzLjcuMiIsbj1hLmh0bWw1fHx7fSxvPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLHE9Il9odG1sNXNoaXYiLHI9MCxzPXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImEiKTthLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLGs9ImhpZGRlbiJpbiBhLGw9MT09YS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXtiLmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgYT1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2goYyl7az0hMCxsPSEwfX0oKTt2YXIgdD17ZWxlbWVudHM6bi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcGljdHVyZSBwcm9ncmVzcyBzZWN0aW9uIHN1bW1hcnkgdGVtcGxhdGUgdGltZSB2aWRlbyIsdmVyc2lvbjptLHNoaXZDU1M6bi5zaGl2Q1NTIT09ITEsc3VwcG9ydHNVbmtub3duRWxlbWVudHM6bCxzaGl2TWV0aG9kczpuLnNoaXZNZXRob2RzIT09ITEsdHlwZToiZGVmYXVsdCIsc2hpdkRvY3VtZW50OmosY3JlYXRlRWxlbWVudDpnLGNyZWF0ZURvY3VtZW50RnJhZ21lbnQ6aCxhZGRFbGVtZW50czplfTthLmh0bWw1PXQsaihiKX0odGhpcyxkb2N1bWVudCk7Cn07Cg=="></script>
-<script src="data:application/x-javascript;base64,LyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsICogQ29weXJpZ2h0IDIwMTMgU2NvdHQgSmVobAogKiBMaWNlbnNlZCB1bmRlciBodHRwczovL2dpdGh1Yi5jb20vc2NvdHRqZWhsL1Jlc3BvbmQvYmxvYi9tYXN0ZXIvTElDRU5TRS1NSVQKICogICovCgovLyBPbmx5IHJ1biB0aGlzIGNvZGUgaW4gSUUgOAppZiAoISF3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiTVNJRSA4IikpIHsKIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLm1hdGNoTWVkaWE9YS5tYXRjaE1lZGlhfHxmdW5jdGlvbihhKXt2YXIgYixjPWEuZG9jdW1lbnRFbGVtZW50LGQ9Yy5maXJzdEVsZW1lbnRDaGlsZHx8Yy5maXJzdENoaWxkLGU9YS5jcmVhdGVFbGVtZW50KCJib2R5IiksZj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBmLmlkPSJtcS10ZXN0LTEiLGYuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBlbSIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIixlLmFwcGVuZENoaWxkKGYpLGZ1bmN0aW9uKGEpe3JldHVybiBmLmlubmVySFRNTD0nJnNoeTs8c3R5bGUgbWVkaWE9IicrYSsnIj4gI21xLXRlc3QtMSB7IHdpZHRoOiA0MnB4OyB9PC9zdHlsZT4nLGMuaW5zZXJ0QmVmb3JlKGUsZCksYj00Mj09PWYub2Zmc2V0V2lkdGgsYy5yZW1vdmVDaGlsZChlKSx7bWF0Y2hlczpiLG1lZGlhOmF9fX0oYS5kb2N1bWVudCl9KHRoaXMpLGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dSghMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSgpLGY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1lKCk7YyYmKGMub3BlbigiR0VUIixhLCEwKSxjLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQhPT1jLnJlYWR5U3RhdGV8fDIwMCE9PWMuc3RhdHVzJiYzMDQhPT1jLnN0YXR1c3x8YihjLnJlc3BvbnNlVGV4dCl9LDQhPT1jLnJlYWR5U3RhdGUmJmMuc2VuZChudWxsKSl9O2lmKGMuYWpheD1mLGMucXVldWU9ZCxjLnJlZ2V4PXttZWRpYTovQG1lZGlhW15ce10rXHsoW15ce1x9XSpce1teXH1ce10qXH0pKy9naSxrZXlmcmFtZXM6L0AoPzpcLSg/Om98bW96fHdlYmtpdClcLSk/a2V5ZnJhbWVzW15ce10rXHsoPzpbXlx7XH1dKlx7W15cfVx7XSpcfSkrW15cfV0qXH0vZ2ksdXJsczovKHVybFwoKVsnIl0/KFteXC9cKSciXVteOlwpJyJdKylbJyJdPyhcKSkvZyxmaW5kU3R5bGVzOi9AbWVkaWEgKihbXlx7XSspXHsoW1xTXHNdKz8pJC8sb25seTovKG9ubHlccyspPyhbYS16QS1aXSspXHM/LyxtaW53Oi9cKFtcc10qbWluXC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpLyxtYXh3Oi9cKFtcc10qbWF4XC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpL30sYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQ9YS5tYXRjaE1lZGlhJiZudWxsIT09YS5tYXRjaE1lZGlhKCJvbmx5IGFsbCIpJiZhLm1hdGNoTWVkaWEoIm9ubHkgYWxsIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBnLGgsaSxqPWEuZG9jdW1lbnQsaz1qLmRvY3VtZW50RWxlbWVudCxsPVtdLG09W10sbj1bXSxvPXt9LHA9MzAscT1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGsscj1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIilbMF0scz1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksdD1mdW5jdGlvbigpe3ZhciBhLGI9ai5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWouYm9keSxkPWsuc3R5bGUuZm9udFNpemUsZT1jJiZjLnN0eWxlLmZvbnRTaXplLGY9ITE7cmV0dXJuIGIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW0iLGN8fChjPWY9ai5jcmVhdGVFbGVtZW50KCJib2R5IiksYy5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIiksay5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5hcHBlbmRDaGlsZChiKSxmJiZrLmluc2VydEJlZm9yZShjLGsuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/ay5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGsuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWk9cGFyc2VGbG9hdChhKX0sdT1mdW5jdGlvbihiKXt2YXIgYz0iY2xpZW50V2lkdGgiLGQ9a1tjXSxlPSJDU1MxQ29tcGF0Ij09PWouY29tcGF0TW9kZSYmZHx8ai5ib2R5W2NdfHxkLGY9e30sbz1zW3MubGVuZ3RoLTFdLHI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYoYiYmZyYmcD5yLWcpcmV0dXJuIGEuY2xlYXJUaW1lb3V0KGgpLGg9YS5zZXRUaW1lb3V0KHUscCksdm9pZCAwO2c9cjtmb3IodmFyIHYgaW4gbClpZihsLmhhc093blByb3BlcnR5KHYpKXt2YXIgdz1sW3ZdLHg9dy5taW53LHk9dy5tYXh3LHo9bnVsbD09PXgsQT1udWxsPT09eSxCPSJlbSI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChtW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShDKSYmbltDXSYmbltDXS5wYXJlbnROb2RlPT09cSYmcS5yZW1vdmVDaGlsZChuW0NdKTtuLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWouY3JlYXRlRWxlbWVudCgic3R5bGUiKSxGPWZbRF0uam9pbigiXG4iKTtFLnR5cGU9InRleHQvY3NzIixFLm1lZGlhPUQscS5pbnNlcnRCZWZvcmUoRSxvLm5leHRTaWJsaW5nKSxFLnN0eWxlU2hlZXQ/RS5zdHlsZVNoZWV0LmNzc1RleHQ9RjpFLmFwcGVuZENoaWxkKGouY3JlYXRlVGV4dE5vZGUoRikpLG4ucHVzaChFKX19LHY9ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucmVwbGFjZShjLnJlZ2V4LmtleWZyYW1lcywiIikubWF0Y2goYy5yZWdleC5tZWRpYSksZj1lJiZlLmxlbmd0aHx8MDtiPWIuc3Vic3RyaW5nKDAsYi5sYXN0SW5kZXhPZigiLyIpKTt2YXIgZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscywiJDEiK2IrIiQyJDMiKX0saD0hZiYmZDtiLmxlbmd0aCYmKGIrPSIvIiksaCYmKGY9MSk7Zm9yKHZhciBpPTA7Zj5pO2krKyl7dmFyIGosayxuLG87aD8oaj1kLG0ucHVzaChnKGEpKSk6KGo9ZVtpXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbS5wdXNoKFJlZ0V4cC4kMiYmZyhSZWdFeHAuJDIpKSksbj1qLnNwbGl0KCIsIiksbz1uLmxlbmd0aDtmb3IodmFyIHA9MDtvPnA7cCsrKWs9bltwXSxsLnB1c2goe21lZGlhOmsuc3BsaXQoIigiKVswXS5tYXRjaChjLnJlZ2V4Lm9ubHkpJiZSZWdFeHAuJDJ8fCJhbGwiLHJ1bGVzOm0ubGVuZ3RoLTEsaGFzcXVlcnk6ay5pbmRleE9mKCIoIik+LTEsbWludzprLm1hdGNoKGMucmVnZXgubWludykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIiksbWF4dzprLm1hdGNoKGMucmVnZXgubWF4dykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIil9KX11KCl9LHc9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3YoYyxiLmhyZWYsYi5tZWRpYSksb1tiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3coKX0sMCl9KX19LHg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHMubGVuZ3RoO2IrKyl7dmFyIGM9c1tiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmInN0eWxlc2hlZXQiPT09Yy5yZWwudG9Mb3dlckNhc2UoKTtlJiZnJiYhb1tlXSYmKGMuc3R5bGVTaGVldCYmYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQ/KHYoYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQsZSxmKSxvW2VdPSEwKTooIS9eKFthLXpBLVo6XSpcL1wvKS8udGVzdChlKSYmIXJ8fGUucmVwbGFjZShSZWdFeHAuJDEsIiIpLnNwbGl0KCIvIilbMF09PT1hLmxvY2F0aW9uLmhvc3QpJiYoIi8vIj09PWUuc3Vic3RyaW5nKDAsMikmJihlPWEubG9jYXRpb24ucHJvdG9jb2wrZSksZC5wdXNoKHtocmVmOmUsbWVkaWE6Zn0pKSl9dygpfTt4KCksYy51cGRhdGU9eCxjLmdldEVtVmFsdWU9dCxhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9ucmVzaXplIixiKX19KHRoaXMpOwp9Owo="></script>
-<script src="data:application/x-javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK"></script>
-<link href="data:text/css;charset=utf-8,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" />
-<script src="data:application/x-javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7"></script>
-
-<style type="text/css">code{white-space: pre;}</style>
-<style type="text/css">
-  pre:not([class]) {
-    background-color: white;
-  }
-</style>
-<script type="text/javascript">
-if (window.hljs) {
-  hljs.configure({languages: []});
-  hljs.initHighlightingOnLoad();
-  if (document.readyState && document.readyState === "complete") {
-    window.setTimeout(function() { hljs.initHighlighting(); }, 0);
-  }
-}
-</script>
-
-
-
-<style type="text/css">
-h1 {
-  font-size: 34px;
-}
-h1.title {
-  font-size: 38px;
-}
-h2 {
-  font-size: 30px;
-}
-h3 {
-  font-size: 24px;
-}
-h4 {
-  font-size: 18px;
-}
-h5 {
-  font-size: 16px;
-}
-h6 {
-  font-size: 12px;
-}
-.table th:not([align]) {
-  text-align: left;
-}
-</style>
-
-
-</head>
-
-<body>
-
-<style type="text/css">
-.main-container {
-  max-width: 940px;
-  margin-left: auto;
-  margin-right: auto;
-}
-code {
-  color: inherit;
-  background-color: rgba(0, 0, 0, 0.04);
-}
-img {
-  max-width:100%;
-  height: auto;
-}
-.tabbed-pane {
-  padding-top: 12px;
-}
-button.code-folding-btn:focus {
-  outline: none;
-}
-</style>
-
-
-
-<div class="container-fluid main-container">
-
-<!-- tabsets -->
-<script>
-$(document).ready(function () {
-  window.buildTabsets("TOC");
-});
-</script>
-
-<!-- code folding -->
-
-
-
-
-
-
-<div class="fluid-row" id="header">
-
-
-
-<h1 class="title toc-ignore">StackTraces – Problems</h1>
-<h3 class="subtitle"><em>R Analysis document</em></h3>
-<h4 class="author"><em>Boris Baldassari – Castalia Solutions</em></h4>
-
-</div>
-
-<div id="TOC">
-<ul>
-<li><a href="#introduction">Introduction</a><ul>
-<li><a href="#about-this-dataset">About this dataset</a></li>
-<li><a href="#terminology">Terminology</a></li>
-<li><a href="#privacy-concerns">Privacy concerns</a></li>
-<li><a href="#about-this-document">About this document</a></li>
-</ul></li>
-<li><a href="#structure-of-data">Structure of data</a><ul>
-<li><a href="#all-problems-json">All problems (JSON)</a></li>
-<li><a href="#problems-extract-csv">Problems extract (CSV)</a></li>
-</ul></li>
-<li><a href="#attributes">Attributes</a><ul>
-<li><a href="#summary">Summary</a></li>
-<li><a href="#attr_number_of_reporters">Number of reporters</a></li>
-<li><a href="#attr_number_of_incidents">Number of incidents</a></li>
-<li><a href="#attr_status">V1 Status</a></li>
-<li><a href="#attr_kind">Kind</a></li>
-<li><a href="#attr_created_on">Created On</a></li>
-<li><a href="#attr_modified_on">Modified On</a></li>
-<li><a href="#attr_saved_on">Saved On</a></li>
-<li><a href="#attr_osgi_arch">OSGi Architecture</a></li>
-<li><a href="#attr_osgi_os">OSGi OS</a></li>
-<li><a href="#attr_osgi_os_version">OSGi OS Version</a></li>
-<li><a href="#attr_osgi_ws">OSGi Window Manager</a></li>
-<li><a href="#attr_eclipse_product">Eclipse Product</a></li>
-<li><a href="#attr_eclipse_build_id">Eclipse Build ID</a></li>
-<li><a href="#attr_javaruntime">Java runtime version</a></li>
-</ul></li>
-<li><a href="#using-the-dataset">Using the dataset</a><ul>
-<li><a href="#reading-csv-file">Reading CSV file</a></li>
-<li><a href="#examples">Examples</a></li>
-</ul></li>
-</ul>
-</div>
-
-<div id="introduction" class="section level1">
-<h1>Introduction</h1>
-<div id="about-this-dataset" class="section level2">
-<h2>About this dataset</h2>
-<p>The <a href="https://wiki.eclipse.org/EPP/Logging">Automated Error Reporting</a> (AERI) system retrieves <a href="https://www.codetrails.com/error-analytics/manual/">information about exceptions</a>. It is installed by default in the <a href="http://www.eclipse.org/ide/">Eclipse IDE</a> and has helped hundreds of projects better support their users and resolve bugs.</p>
-<p>This dataset is a dump of all records over a couple of years, with useful information about the exceptions and environment.</p>
-<ul>
-<li><strong>Generated date</strong>: Mon Feb 5 10:30:35 2018</li>
-<li><strong>First date</strong>: 2014-09-12 08:47:00</li>
-<li><strong>Last date</strong>: 2016-12-13 14:55:09</li>
-<li><strong>Number of problems</strong>: 50872</li>
-<li><strong>Number of attributes</strong>: 15</li>
-</ul>
-</div>
-<div id="terminology" class="section level2">
-<h2>Terminology</h2>
-<ul>
-<li><strong>Incidents</strong> When an exception occurs and is trapped by the AERI system, it constitutes an incident (or error report). An incident can be reported by several different people, can be reported multiple times, and can be linked to different environments.</li>
-<li><strong>Problems</strong> As soon as an error report arrives on the server, it will be analyzed and subsequently assigned to one or more problems. A problem thus represents a set of (similar) error reports which usually have the same root cause – for example a bug in your software. (Extract from the <a href="https://www.codetrails.com/error-analytics/manual/concepts/error-reports-problems-bugs-projects.html">AERI system documentation</a>)</li>
-</ul>
-<p>This dataset targets only the Problems of the AERI dataset. There is another dedicated document for the Incidents.</p>
-</div>
-<div id="privacy-concerns" class="section level2">
-<h2>Privacy concerns</h2>
-<p>We value privacy and intend to make everything we can to prevent misuse of the dataset. If you think we failed somewhere in the process, please <a href="https://www.crossminer.org/contact">let us know</a> so we can do better.</p>
-<p>The AERI system itself doesn’t gather much private information, and takes a great care of it. Ths dataset goes a step further and removes all identifiable information.</p>
-<ul>
-<li>There is <strong>no email address</strong> in this dataset, <strong>nor any UUID</strong>.</li>
-<li>People not willing to share their traces to the AERI system can tick the private option. This choice has been respected, and all classes that do not belong to public hierarchy have been hidden thanks to a smart mechanism.</li>
-</ul>
-<p>TODO add info about anonymisation “smart” mechanism. :-)</p>
-</div>
-<div id="about-this-document" class="section level2">
-<h2>About this document</h2>
-<p>This document is a <a href="http://rmarkdown.rstudio.com">R Markdown document</a> and is composed of both text (like this one) and dynamically computed information (mostly in the Anaysis section below) executed on the data itself. This ensures that the documentation is always synchronised with the data, and serves as a test suite for the dataset.</p>
-</div>
-</div>
-<div id="structure-of-data" class="section level1">
-<h1>Structure of data</h1>
-<p>The plugin collects a <a href="https://www.codetrails.com/error-analytics/manual/misc/sent-data.html">lot of useful information</a>. We only use a subset of it, as required by research interest and privacy protection concerns.</p>
-<p>The Problems dataset comes in two flavours: <code>All problems</code>, in JSON format, and <code>Problems extract</code>, in CSV format.</p>
-<div id="all-problems-json" class="section level2">
-<h2>All problems (JSON)</h2>
-<p><strong>All problems</strong> is the most complete dataset, with all attributes, stacktraces and bundles. Since the stacktraces and bundles structures are too complex for CSV, only the JSON export contains them. The dataset comes as a quite large compressed archive, with one JSON file per problem. This represents a total of 50872 files (problems).</p>
-<p>The structure of a problem file is examplified below:</p>
-<pre><code>{
-  &quot;summary&quot;: &quot;NoStackTrace in RedeliveryErrorHandler.logFailedDelivery&quot;,
-  &quot;kind&quot;: &quot;NORMAL&quot;,
-  &quot;v1status&quot;,
-  &quot;osgiArch&quot;: &quot;x86_64&quot;,
-  &quot;osgiOs&quot;: &quot;MacOSX&quot;,
-  &quot;osgiOsVersion&quot;: &quot;10.9.4&quot;,
-  &quot;osgiWs&quot;: &quot;cocoa&quot;,
-  &quot;createdOn&quot;: &quot;2014-09-14T05:39:21.554Z&quot;,
-  &quot;modifiedOn&quot;: &quot;2014-09-14T05:39:21.554Z&quot;,
-  &quot;savedOn&quot;: &quot;2016-05-23T07:22:10.479Z&quot;,
-  &quot;eclipseBuildId&quot;: &quot;4.4.0.I20140606-1215&quot;,
-  &quot;eclipseProduct&quot;: &quot;org.eclipse.epp.package.standard.product&quot;,
-  &quot;javaRuntimeVersion&quot;: &quot;1.8.0-b132&quot;,
-  &quot;numberOfIncidents&quot;: 0,
-  &quot;numberOfReporters&quot;: 74,
-  &quot;products&quot;: [
-    { product },
-    { product }
-  ],
-  &quot;bundles&quot;: [
-    { bundle },
-    { bundle }
-  ],
-  &quot;stacktraces&quot;: [
-    [ &quot;stacktrace for incident&quot; ],
-    [ &quot;stacktrace for cause&quot; ],
-    [ &quot;stacktrace for exception&quot; ]
-  ]
-}</code></pre>
-<p>The structure used in the mongodb for stacktraces has been kept as is: it is composed of fields with all information relevant to each line of the stacktrace. Each stacktrace is an array of objects as shown below:</p>
-<pre><code>[
-  {
-    &quot;cN&quot;: &quot;sun.net.www.http.HttpClient&quot;,
-    &quot;mN&quot;: &quot;parseHTTPHeader&quot;,
-    &quot;fN&quot;: &quot;HttpClient.java&quot;,
-    &quot;lN&quot;: 786,
-  }
-]</code></pre>
-<p>Bundles have the following format:</p>
-<pre><code>{
-  &quot;bundleFrequency&quot;: 1,
-  &quot;bundleName&quot;: &quot;org.eclipse.egit.core&quot;,
-  &quot;bundleVersion&quot;: &quot;4.1.1.201511131810-r&quot;
-},</code></pre>
-<p>Products have the following format:</p>
-<pre><code>{
-  &quot;buildId&quot;: &quot;4.5.2.M20160212-1500&quot;,
-  &quot;frequency&quot;: 3,
-  &quot;productId&quot;: &quot;org.eclipse.epp.package.jee.product&quot;
-}</code></pre>
-</div>
-<div id="problems-extract-csv" class="section level2">
-<h2>Problems extract (CSV)</h2>
-<p>The <strong>Problems extract</strong> CSV dataset provides the same information as the full JSON dataset, excluding complex structures that cannot be easily formatted in CSV: stacktraces, bundles, products.</p>
-<p>Attributes are: <code>summary, numberOfReporters, numberOfIncidents, v1status, kind, createdOn, modifiedOn, savedOn, osgiArch, osgiOs, osgiOsVersion, osgiWs, eclipseBuildId, eclipseProduct, javaRuntimeVersion</code>.</p>
-<p>Examples are provided at the end of this file to demonstrate how to use it in R.</p>
-</div>
-</div>
-<div id="attributes" class="section level1">
-<h1>Attributes</h1>
-<div id="summary" class="section level2">
-<h2>Summary</h2>
-<ul>
-<li>Description: A short text summarising the error.</li>
-<li>Type: String</li>
-</ul>
-</div>
-<div id="attr_number_of_reporters" class="section level2">
-<h2>Number of reporters</h2>
-<ul>
-<li>Description: The number of people who reported this incident or problem.</li>
-<li>Type: integer</li>
-</ul>
-<p>Statistical summary:</p>
-<ul>
-<li>Range [ 0 : 57748 ]</li>
-<li>1st Quartile 1</li>
-<li>Median 2</li>
-<li>Mean 25.87223</li>
-<li>3rd Quartile 6</li>
-</ul>
-</div>
-<div id="attr_number_of_incidents" class="section level2">
-<h2>Number of incidents</h2>
-<ul>
-<li>Description: The number of times this problem was identified in incidents.</li>
-<li>Type: Integer</li>
-</ul>
-<p>Statistical summary:</p>
-<ul>
-<li>Range [ 0 : 24934 ]</li>
-<li>1st Quartile 0</li>
-<li>Median 0</li>
-<li>Mean 11.32645</li>
-<li>3rd Quartile 3</li>
-<li>NAs 1</li>
-</ul>
-</div>
-<div id="attr_status" class="section level2">
-<h2>V1 Status</h2>
-<ul>
-<li>Description: The status of the problem attached to the error report.</li>
-<li>Type: Factors</li>
-</ul>
-<p>The possible values found in the dataset for this attributes are:</p>
-<ul>
-<li>CONFIRMED (count: 522)</li>
-<li>DUPLICATE (count: 380)</li>
-<li>FIXED (count: 1048)</li>
-<li>INVALID (count: 585)</li>
-<li>NEEDINFO (count: 110)</li>
-<li>UNCONFIRMED (count: 48227)</li>
-</ul>
-<p>Note: The name of this attribute in the original file is <code>v1status</code>.</p>
-</div>
-<div id="attr_kind" class="section level2">
-<h2>Kind</h2>
-<ul>
-<li>Description: The type of error recorded, as identified by the AERI system.</li>
-<li>Type: Factors</li>
-</ul>
-<p>The possible values found in the dataset for this attributes are:</p>
-<ul>
-<li>FREEZE (count: 4198)</li>
-<li>NORMAL (count: 29305)</li>
-<li>OOME (count: 2472)</li>
-<li>SOE (count: 1205)</li>
-<li>THIRD (count: 13293)</li>
-<li>THIRD_FREEZE (count: 399)</li>
-</ul>
-<p><strong>Notes</strong></p>
-<p>There are different kinds of incidents described in the <a href="https://www.codetrails.com/error-analytics/manual/concepts/incident-kinds.html">official documentation</a>:</p>
-<ul>
-<li>Normal Error: Normal errors are all exceptions that were reported by a client but that are not of kind defined below. Common examples of a normal error are a <code>NullPointerException</code> or <code>IllegalArgumentException</code>.</li>
-<li>An <code>OutOfMemoryError</code> is a special kind of exception. Unlike for normal errors, the stack frame (implicitly) throwing the exception is only sometimes indicative of the root cause of the problem.</li>
-<li>A <code>StackOverflowError</code> is a special kind of exception, whose unique characteristic is a repeating pattern of stack frames near the top of the stack trace.</li>
-<li>UI Freeze: A UI freeze is caused by a long-running operation or even a deadlock on the UI thread.</li>
-<li>Third-Party Error: Third-party errors are reports that were received by the Codetrails Error Analytics Server, which deemed neither the configured projects nor their dependencies at fault.</li>
-<li>Third-Party UI Freeze: Third-Party UI Freezes are UI freezes that were received by the Codetrails Error Analytics Server, which deemed neither the configured projects nor their dependencies at fault.</li>
-</ul>
-</div>
-<div id="attr_created_on" class="section level2">
-<h2>Created On</h2>
-<ul>
-<li>Description: The time of first appearance of the problem in an incident.</li>
-<li>Type: Date (ISO8601)</li>
-</ul>
-<p>Dates range from 2014-09-12 08:47:00 to 2016-12-13 14:55:09.</p>
-<pre class="r"><code>xts.createdOn &lt;- as.xts(apply.weekly(myp.xts.createdOn, sum))
-autoplot(xts.createdOn, geom='line') + 
-  theme_bw() + ylab(&quot;Problems CreatedOn&quot;) + ggtitle(&quot;Weekly number of Problems CreatedOn&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_modified_on" class="section level2">
-<h2>Modified On</h2>
-<ul>
-<li>Description: The time of last update of the problem in an incident.</li>
-<li>Type: Date (ISO8601)</li>
-</ul>
-<p>Dates range from 2014-09-12 17:41:11 to 2016-12-13 15:17:45.</p>
-<pre class="r"><code>xts.modifiedOn &lt;- as.xts(apply.weekly(myp.xts.modifiedOn, sum))
-autoplot(xts.modifiedOn, geom='line') + 
-  theme_bw() + ylab(&quot;Problems ModifiedOn&quot;) + ggtitle(&quot;Weekly number of Problems ModifiedOn&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_saved_on" class="section level2">
-<h2>Saved On</h2>
-<ul>
-<li>Description: The time of last save of the problem.</li>
-<li>Type: Date (ISO8601)</li>
-</ul>
-<p>Dates range from 2016-05-23 07:22:10 to 2016-12-13 15:17:45.</p>
-<pre class="r"><code>xts.savedOn &lt;- as.xts(apply.weekly(myp.xts.savedOn, sum))
-autoplot(xts.savedOn, geom='line') + 
-  theme_bw() + ylab(&quot;Problems SavedOn&quot;) + ggtitle(&quot;Weekly number of Problems SavedOn&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_osgi_arch" class="section level2">
-<h2>OSGi Architecture</h2>
-<ul>
-<li>Description: The architecture of the host, as specified in the OSGi bundle definition.</li>
-<li>Type: Factors</li>
-</ul>
-<p>Possible values found in the dataset for this attribute are:</p>
-<ul>
-<li>sparc (count: 2)</li>
-<li>x86 (count: 5413)</li>
-<li>x86_64 (count: 45457)</li>
-</ul>
-<p>Repartition of architectures:</p>
-<p><img src="data:image/png;base64,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qoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg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qMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6iKgCgiowlQCKo6AugioAgKqMJWAiiOgLgKqgIAqTCWg4gioi4AqIKAKUwmoOALqIqAKCKjCVAIqjoC6CKgCAqowlYCKI6AuAqqAgCpMJaDiCKiLgCogoApTCag4AuoioAoIqMJUAiqOgLoIqAICqjCVgIojoC4CqoCAKkwloOIIqIuAKiCgClMJqDgC6so0Na2oxdyVtZna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" width="672" /></p>
-</div>
-<div id="attr_osgi_os" class="section level2">
-<h2>OSGi OS</h2>
-<ul>
-<li>Description: The host operating system, as reported in OSGi.</li>
-<li>Type: Factors</li>
-</ul>
-<p>The possible values found in the dataset for this attributes are:</p>
-<ul>
-<li>Windows7 (count: 18060)</li>
-<li>Linux (count: 11360)</li>
-<li>Windows10 (count: 7420)</li>
-<li>Windows8 (count: 6788)</li>
-<li>MacOSX (count: 6562)</li>
-<li>WindowsXP (count: 236)</li>
-<li>WindowsServer2008R2 (count: 183)</li>
-<li>WindowsServer2012R2 (count: 77)</li>
-<li>WindowsVista (count: 62)</li>
-<li>Windows NT (unknown) (count: 42)</li>
-<li>WindowsServer2012 (count: 32)</li>
-<li>Windows Server 2008 (count: 14)</li>
-<li>Windows 10 (count: 10)</li>
-<li>SunOS (count: 6)</li>
-<li>windows 8.1 (count: 5)</li>
-<li>Windows 8.1 (count: 4)</li>
-<li>Windows 10 Pro (count: 2)</li>
-<li>Windows2003 (count: 2)</li>
-<li>Windows 7 (count: 2)</li>
-<li>win32 (count: 1)</li>
-<li>windows 10 (count: 1)</li>
-<li>windows 8 (count: 1)</li>
-<li>Windows 8 (count: 1)</li>
-<li>Windows Server 2012 R2 (count: 1)</li>
-</ul>
-<p>Visualisation of the various operating systems used in the dataset:</p>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_osgi_os_version" class="section level2">
-<h2>OSGi OS Version</h2>
-<ul>
-<li>Description: The host operating system version, as reported in OSGi.</li>
-<li>Type: Factors</li>
-</ul>
-<p>The possible values found in the dataset for this attributes are:</p>
-<ul>
-<li>6.1.0 (count: 18246)</li>
-<li>10.0.0 (count: 7437)</li>
-<li>6.2.0 (count: 3623)</li>
-<li>6.3.0 (count: 3325)</li>
-<li>3.13.0 (count: 2219)</li>
-<li>4.4.0 (count: 1728)</li>
-<li>3.19.0 (count: 1388)</li>
-<li>3.16.0 (count: 1316)</li>
-<li>10.10.5 (count: 1035)</li>
-<li>4.2.0 (count: 948)</li>
-<li>10.11.5 (count: 850)</li>
-<li>10.11.6 (count: 690)</li>
-</ul>
-<p>Visualisation of the various operating system versions used in the dataset:</p>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_osgi_ws" class="section level2">
-<h2>OSGi Window Manager</h2>
-<ul>
-<li>Description: The Window Manager used by the host, as reported in OSGi.</li>
-<li>Type: Factors</li>
-</ul>
-<p>The possible values found in the dataset for this attributes are:</p>
-<ul>
-<li>win32 (count: 32944)</li>
-<li>gtk (count: 11366)</li>
-<li>cocoa (count: 6562)</li>
-</ul>
-<p>Visualisation of the various Window managers used in the dataset:</p>
-<p><img src="data:image/png;base64,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Jo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISAqhDQ5BFQFQIqQkBVCGjyCKgKARUhoCoENHkEVIWAihBQFQKaPAKqQkBFCKgKAU0eAVUhoCIEVIWAJo+AqhBQEQKqQkCTR0BVCKgIAVUhoMkjoCoEVISA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" width="672" /></p>
-</div>
-<div id="attr_eclipse_product" class="section level2">
-<h2>Eclipse Product</h2>
-<ul>
-<li>Description: The Eclipse product impacted by the exception.</li>
-<li>Type: Factors</li>
-</ul>
-<p>There are 31 different values found in the dataset for this attribute. The following table and bar plot only display the values with more than 500 occurrences:</p>
-<ul>
-<li>org.eclipse.epp.package.jee.product (count: 23078)</li>
-<li>org.eclipse.epp.package.java.product (count: 9374)</li>
-<li>org.eclipse.epp.package.cpp.product (count: 4343)</li>
-<li>org.eclipse.epp.package.committers.product (count: 3792)</li>
-<li>org.eclipse.epp.package.php.product (count: 2570)</li>
-<li>org.eclipse.epp.package.rcp.product (count: 1947)</li>
-<li>org.eclipse.epp.package.modeling.product (count: 1635)</li>
-<li>org.eclipse.platform.ide (count: 1124)</li>
-<li>org.eclipse.epp.package.dsl.product (count: 592)</li>
-</ul>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_eclipse_build_id" class="section level2">
-<h2>Eclipse Build ID</h2>
-<ul>
-<li>Description: The Build ID of the Eclipse instance running when the exception occurred.</li>
-<li>Type: Factors</li>
-</ul>
-<p>There are 146 different values found in the dataset for this attribute. The following table and bar plot only display the values with more than 500 occurrences:</p>
-<ul>
-<li>4.5.1.M20150904-0015 (count: 13406)</li>
-<li>4.5.2.M20160212-1500 (count: 12831)</li>
-<li>4.5.0.I20150603-2000 (count: 9001)</li>
-<li>4.6.0.I20160606-1100 (count: 6390)</li>
-<li>4.6.1.M20160907-1200 (count: 2479)</li>
-<li>4.5.0.I20150203-1300 (count: 1100)</li>
-<li>4.4.1.M20140925-0400 (count: 610)</li>
-<li>4.5.0.I20150320-0800 (count: 521)</li>
-</ul>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="attr_javaruntime" class="section level2">
-<h2>Java runtime version</h2>
-<ul>
-<li>Description: The Java runtime of the host.</li>
-<li>Type: Factors</li>
-</ul>
-<pre class="r"><code>occurences.max.jrv &lt;- 500
-myjrvs &lt;- data.frame(table(myproblems$javaRuntimeVersion))
-myjrvs &lt;- myjrvs[order(-myjrvs$Freq),]
-myjrvs.top &lt;- myjrvs[myjrvs[,c('Freq')] &gt;= occurences.max.jrv,]</code></pre>
-<p>There are 452 different values found in the dataset for this attribute. The following bar plot only displays the values with more than 500 occurrences:</p>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-</div>
-<div id="using-the-dataset" class="section level1">
-<h1>Using the dataset</h1>
-<div id="reading-csv-file" class="section level2">
-<h2>Reading CSV file</h2>
-<p>Reading file from ../problems_extract.csv.</p>
-<pre class="r"><code>myproblems &lt;- read.csv(file.in, header=T)
-myproblems[,c(&quot;bug&quot;, &quot;status&quot;)] &lt;- NULL</code></pre>
-<p>There are <code>15</code> columns and <code>50872</code> entries in this dataset:</p>
-<pre class="r"><code>ncol(myproblems)</code></pre>
-<pre><code>## [1] 15</code></pre>
-<pre class="r"><code>nrow(myproblems)</code></pre>
-<pre><code>## [1] 50872</code></pre>
-<p>Names of columns:</p>
-<pre class="r"><code>names(myproblems)</code></pre>
-<pre><code>##  [1] &quot;summary&quot;            &quot;numberOfReporters&quot;  &quot;numberOfIncidents&quot; 
-##  [4] &quot;v1status&quot;           &quot;kind&quot;               &quot;createdOn&quot;         
-##  [7] &quot;modifiedOn&quot;         &quot;savedOn&quot;            &quot;osgiArch&quot;          
-## [10] &quot;osgiOs&quot;             &quot;osgiOsVersion&quot;      &quot;osgiWs&quot;            
-## [13] &quot;eclipseBuildId&quot;     &quot;eclipseProduct&quot;     &quot;javaRuntimeVersion&quot;</code></pre>
-</div>
-<div id="examples" class="section level2">
-<h2>Examples</h2>
-<div id="using-time-series-xts" class="section level3">
-<h3>Using time series (xts)</h3>
-<p>The dataset needs to be converted to a <code>xts</code> object. We can use one of the 3 dates</p>
-<pre><code>require(xts)
-myp.xts &lt;- xts(x = myproblems, order.by = parse_iso_8601(myproblems$createdOn))</code></pre>
-</div>
-<div id="raw-reporters" class="section level3">
-<h3>Raw Reporters</h3>
-<p>Let’s plot the number of reporters for each error report on a timeline.</p>
-<pre class="r"><code>xts.reporters &lt;- xts(as.integer(myp.xts[,c(&quot;numberOfReporters&quot;)]), order.by = index(myp.xts))
-autoplot(xts.reporters, geom='line') + 
-  theme_minimal() + ylab(&quot;Number of Reporters&quot;) + xlab(&quot;Time&quot;) + ggtitle(&quot;Raw number of distinct reporters&quot;)</code></pre>
-<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAADAFBMVEUAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////isF19AAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO3dCZhbZbnA8bc7baHslF12EGSTTWVVr16Xe8pI2fdSRKBeqlJ2FCtQVgEptCwCoiwCeqvsUBYFARUVBZSl1BYQKqadTjvdlzn3LMk3SSYzk8m8eb850//veWDOSU5yvu9k8m8yyWQkBADURHwPAACyioACQI0IKADUiIACQI0IKADUiIACQI0IKADUiIACQI0IKADUiIACQI0IKADUiIACQI0IKADUiIACQI16UkD/W1oNHH7Q99/3PaBZIjupX2nj6TsM2rSxvXMvEpmovksA9dFTAxrrP6HF74DqEdDmLeKp5do7uxDQTUT27eyqqtkGQB31sIAO3SS1QZrQi/wOqB4BjQrZ7ysnze/g7M4CKrJuutDFgLrL1ZvZjgDfelhAzywsL/77af2i1Lzpczx1CehBIj/v4GwCCmRITw1o5LboIeg4b4OJ1SOgm4m0+/AzbA3oaUcc8b12NnF96mCbDi9XbwQUq4weHNCVO4ns420wsXoEdLjI8g7OruJFpFr7REABbT04oOGxIpv7GkuCgPbsHQG+9eSAniWyZX7x/ad+ctmNv/pLl1+VX/rojVf84u+db/fhXVdc99CSeGnFszdOuCe/ozSgLb+/9dLJTy8t3rzltTsuv+GR8rdZ/fPWy2aUX/GSp2669IZfz209oZ2AvnPn5T96cEHFgC760/1X3Pzke269nT61nWrzgxOv+MXf3MDb7VrruCvOq+VPt11683MrOpxVyfUU76iTI1U+NyBbenJAjxA5IFl46YD8G5s+Pim+Hx8nclq6xS3RaVemi+eJfKb4wueIvNYyeb3kYl/4q9vBy4Xzh8qg5GtUrNfmn9gv3my9h8PwoU2TS/zX2/F5SUB/u21yylqXLSlctOXn6Ul9G15q3dm0lh8MEHmodEZzzxmabNnv8HeS9Z8V3qFV9jamlz6VnDr0gqWFgEbXeGtyVvMV6yfn9TnqrfxwE2sWbVNpqmGYO3VQcsqG160su1zJQSoad5t5zRUZHb60a3LiBpNcQstnVXI9JTvq5EiVzQ3InB4c0OXbiIyPF6b0b31v6PHR+n0i26SbHB2d8qV0cW+Ry4qvLK7K2MKl1ppR2EGlgP5ul/xmfZ6dWLjETvEDtzig9/UtnPTZ/Is/y45tfafqLW5n086PTygN6D+3dVuuPjU+oZ2A3u728fnzygL64fbuKob8Pmw/oOVTDd/Y1F3w0BUdBdSNu+284oD+3B38Q5e2M6uS6yneUSdHqnxuQOb04IBeET0kmxV9nb129ODwvF8+/+BlW0d3td9G9+voPj0j3qJl4+iEocn9em7UoNeLryy6p54pg7779PvPnRRt9OXCDioFdHvZ5efT//Ld6GHRWiLHPvHes1+MLnFzmAR07cGy9Y9eeP667aKTjkwveWocuuuevP/8+DHfXYWd3RA9ztri838uHsLCOBCH3fv8g2MHiwyOH2S9NXnyGtGmkycvKt7u6WizgaPveXTiXiJrlAU0EBlwwr3PTflO9KBvx+ih5MuTJ0e5mTz5trAkoG2mOjfq5+pnPfLMTdF1yhWllys5SK3jbjuvKKB7rybrnverX39/s+i0se3MquR6infUyZEqnxuQOT00oMtmPv216GHL4/FydIfcKP0p2YI9Rc6Pvn5WJHlA83by6OV38eKvRLYs+QlpdE+VDf+ULF4ctWRlfgeVAiojFsdLP4qvbFK81PJpkVPDJKDRI9yF8UmLj4wWn4yXpkbj+nmyqzmHiKw/J7+zwX3HzyubT/RoctCjydK0zaMHsOmJbX8GunxLkU2TH16uvDDeYXFAZ0br6VX8tm9h8O5HjEUBbTPVr4tsNj25zm+KDFtUcrmSg+TGXWFec+PhfPKj+LTm6Obo80p7syqdf2FHnRypSnMDsqWHBbTE9s8nJ48SuTS/RdTSk6MvPxQ5PF69WeSQ/NP8M0TOKLmyuCo/SxeXDsw/Ym0noMNmJUtL+kUP39II3yXyX2Ea0DXyv7a+9GMiQbzwX+7HruHCHUWuK+xscvl0Fq6dH1vkyWiDV5OltgH9RXReOtOw5YtlAX1IZOf8ZruL/DRZqBjQsql+FH19JH/SViIPllyu9CAVxl1hXnFAB7ybnrZk0/TYV5xV6fwLO+rkSFWaG5AtPTigfSanL1u8NGXKrPwWD8SvakTPhKO7aPw46ygZ8BeRA+NzdhKZWnJl0T11+8LTwl1EpuV3UCmgR+RPikrzQLr0x/Ra44CeW7jAj6NHXkvTp/Xu5ZQ7RA7O72yLNs9BH43SXHihuiV67Pz9ZKltQI8W+WJh+bmygD4lslX+ihfMnZu+jFUpoOVTnSTyicID8jNFLi65XMlBKoy70rzigI4unBZd5Vor25lV6fzzO+rsSFWaG5AtPSyghd+F32RwnNADFpdu0DIqf4feViR6ytqykezXsqkMXJjcWdcoeaNRfE89obC8T8cBLTy+jSKcfzX4tdaA/qNwgaX9Rf6YNPwQt5M3RDbO7+z4NtOJno8f5VauLfxwsm1AtxC5361sVxrQeATH/6d0+0oBLZ/qMSITCictzuWaSy7XqmjcleYVB9S9urO4b3J4Ks6qdP75HXV2pCrNDciWHhZQ9yLSyne/Fd1h/9ed1zLrd3eM+0ThEdG3k5fcoweiF4YnJg897xY5rPTKonvqJYXlTgJaeONlFND8Q92igLY2fBuR/0t+ylhiaH5nF7SZzjHFJ06JHiUmC20C2tJP5BW39pWyF5HiV9cHffmHf1jWeoFKAS2f6h4i95SPp3JAC0OsNK84oHPcxh8TebidWZXOP7+jTo9UhbkB2dJTAxom97X10qeAr5yzx9DC3TAJ6NMin0t+BPp0/M6g88LwpDY/RDsn/0JTrBsB3bhkeLcl7S61PN3ZDW2m89XCWzmTKYhskCy0CWhTdB2tLz+NKQvo4rPStxEN/uqPZ+c3qRTQ8qlu5X6s2qpyQAvjrjSvKKDDWl+Z+1zyk9aKsyqdf35HnR6pCnMDsqUHB7Qx/xLF0tHxvazftl/91t135AO6dJgMWhQeGT97/1Bk7/hpcN+y++A5RXf0SgEdUl1AN2m9xs8lb8X5X5EvTS62tGxnTklqXhdZJ1loE9BFJQEdW/5G+vDt7+2W9mftm9OYVQpo+VQ3rfCyduWAFi5ZaV5zC9VPfCn5B6TirErnn99RFUeqzdyAbOnBAQ03FHkmTH7xaJ3zXkreiTOl8KLGYSJPtGwo+4dx9vo2TZdksVgnAZ0v1QW0T+tT+M2Td91E2x/bZuQVA1ryZPehwpv/2z6FH1j8FH5Em4BG/nXvmB3jzNyZrFUT0J1Fflk+no4DWmle8VP4hW5tG5Ep7cyqYkCrO1KlcwOypScH9JPJq+Lxo5zCrwzeXwjonSLj3hSJP83tDJEHb2l9w0xBJwH9S5UBFffb5c19RGaG4e0ie7QZecWAXlD8cst1yQ8dwkovIu1U/CLSTpUCGvvH5wo/T6gmoNHjxKvdwF966bWSy1Ucd6V5xQF1v52wLHq+/ed2ZlUxoNUfqda5AdnSkwO6h8jtydtnjimc8t1CQP/TR3a9KX2A+qDIt44QeaPsytoJ6HP5kyZVG1D3iaRXRXfyluSVq0HuhZX7Pv/5W8p35jwssqZ7w8/e8QtesbYBHV30NqY/SWlAJ5555h/zZzX1zf8GaDUBnSCyX+FJ8S35V8M7DmilecUBvbBw2m0iQ5e3M6uKAe3sSFWaG5AtPTmgu4ncGIaX5d81H3l9Hfe+xE9Hj31kYPy8fl4/2Xl92ab8Z2iVAvpV9ybuxZtVG9AhH6UnzV9P5Jzoa0u01Vn5CyzbOv82n4oBXbBW61vOH5HkjVdhpYA+Jq1dP7gsoCPSd68nVzcgP7zCT1M7Cugbkv7rEg/48/mH5+5yFQ9SpXnFAV0j38Alm6e/y1pxVuUBXae9ayzestLcgGzpyQHdP/mjSA+JrJ58xNCKB6L4yIj0vEvjn5uln9X06Xjx2+VXVimgZ4lslbwlcskoqTagsn/yeKsxepY5eGa8FD0z7XN58u6A5UeKbN9SvrNWZ4us9liy9I+NRQ5KT2wb0JXbF36Vs+UKKQto9Ehy9b8kW7VEj743Tt53LtJ/YckUK031K9FUk+GGE6Pt3yu5XOWDVGFeya9yfiH5DJUFh0g+gZVmVR7QdEedHKlKcwOypScH9GsiXw3Dj6JHJ/0PPueCo7YQiR7H9Gm4MT7vb/F9+6Jks+9K68OtVpWqEj39lO3ufuNvt+0hw/euLqA7imx40YO/vjBud/K7iOHK+Bem9rn8kUeu3iYazdQ2O2u1IP7YosPu+c2U0wZFT3/fTk9sG9Dw+T4iA0++97HJ+0ZXXBrQ91aLnjF/65e/eeSG6Lz4Q0Eiw0T2+PpxYccBnblmlKdv3PbUT6JH3XJ26eUqH6QK84oCGh38Tcbe9eD4+MNExrQ7q9L5F3bUyZGqNDcgW3pyQC+I7na/Sx6p5H1uXnxXSz4kviW+Rz+bbPbbaGnNNm/GrlSVluMK1zTs9yOrC+iZ493ez8r/lGDuge6kAT9pu7Mi72ztthxWKHyFgIY/dR9nt//LZS8i3Vz0Psoj0gseEy+XfZxdm6mGL6zlLtdQdrnKB6nCvKKAbu0+4E8OWdLurErn73bUyZGqMDcgW3pyQF+I7libRtm7Z6vkPrbZTSvD/xw1bKMTkjNPi56Dp28xWjrEfdJckYpVWfT91ZOrOvCdsNqAhvdtklxkmynup6xLrx2enNTnuBkVdlZszneGJFv2O2p64aRKAQ1//5lks9XGLX2t/FX4R3bOJ+aAB/NPcud9a/OBGx4QdhLQcOZRyadEy8Y/Kr9c5YNUYV5xQMPH016uN9ENu+2sSq+ndUedHKm2cwOypScFtF1LX/zZhFteVLmPzZk6+bKfdO3zz1c8PenSW/9U8iLVit/fOuGW33xUxYUXPznpkuunlP/xi7am33nFD+9vqnROy7Qnfjzh1ienVzqvY42/vO6SyS925Rcly+aVBDRc+eLkSyY9W1L9amfV2ZGqfW5Aj5CJgMKPNKAA2kNA0S4CCnSMgKJdBBToGAFFuwgo0DECinYRUKBjBBTtIqBAxwgo2kVAgY4RUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoUfcC2vL0uMOPv3hmutI0edTXTr5tYZdWACC7uhXQlmuC4KiGoOHP8crsUUFwWBCc1tyFlTpaWPGPrNdbS2PjfB/7XdnYlT//rmZBY+Pyzreqh+Z6f/+0Y3lj4wIvO14wz8tuFzc2LvGy43CRlztwchfuyqHuVkAfCg5/LVx6U3BC/HhyfDD2vZZ3RgfXhdWv1FFzY513UFFLLufldl+RW+pjt825nKeAzvPTk3B5Lucn3c1zvex2US632MuOwwVz/Ow3ugt35VB3J6BLjg3+FH1ZOTZ4PgxnBiP/Ha1MDxrmVL1STwTUAAE1Q0CNGAb0pWBM8nXq2VPC8L5gfLIyNpha9Uo9EVADBNQMATViGNCbgrtbVyYEDyZf7wwmVb1STwTUAAE1Q0CNGAb04uCF1pWzkqfzYfhkMKHqlXoioAYIqBkCasQwoN8JXn/urMNOGJ+8CH9K8EZy4ovBOVWvFFuxXNe8OcpXWJVl0dH3sd+luUU+djsvl1viY7/Llzc1+dnvklxunpcdz2v0stsFudxCLztePt/LHTi5C3d4qFfqBXRUcHkQHDUiCG6PVo4I3k9OfDU4teqVYtGDGQDo2coekHcnoCOD4OrZ4ZIpBwd/DcPDXRlHV71CQAFkimJAjwvObYm/3hJ8L35u/mZy4ovBuKpXii2er6txtvIVVieXm+Njt/NyTT522xg9ofWx3/nz53g5zPGBzjV62XGjnwnPzeXmetmxrztwfBfucM9lv7HSnYCeETyZfH0jOD4Mzw6SH4WGU4NLq16pJ15EMsCLSGZ4EcmI4YtIF+Vj+FEwYkU4IXg4WbkruDGsdqWeCKgBAmqGgBoxDOjNwUPJ11eD0+N3yKcPKccFj1e9Uk8E1AABNUNAjRgG9JXg9BXx1yuDa+Lf0Tw8TsesEQ2NVa/UEwE1QEDNEFAjhgFtGRuM/yhceEcwclYYf0rIhQvDprHBxLD6lToioAYIqBkCasQwoOH7RwfBUUEw8pl4ZfaJQcOYEcGYhV1YqSMCaoCAmiGgRiwDGuZuGHXI6df8K11pmnRiw+g7FnVppX4IqAECaoaAGjENaA9GQA0QUDME1AgBTRFQAwTUDAE1QkBTBNQAATVDQI0Q0BQBNUBAzRBQIwQ0RUANEFAzBNQIAU0RUAME1AwBNUJAUwTUAAE1Q0CNENAUATVAQM0QUCMENEVADRBQMwTUCAFNEVADBNQMATVCQFME1AABNUNAjRDQFAE1QEDNEFAjBDRFQA0QUDME1AgBTRFQAwTUDAE1QkBTBNQAATVDQI0Q0BQBNUBAzRBQIwQ0RUANEFAzBNQIAU0RUAME1AwBNUJAUwTUAAHV9sGj7dyQBNQIAU0RUAMEVPvqN5ZvVj6HgBohoCkCaoCAKpslcmDlcwioEQKaIqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQ0K5Z3KyrcbbyFVYnl5vjY7fzc00+dtuYy833sd/m5jmNfvY7P5er557fEdmv8jmNXr6vmufm/HxnebsDd3oXXlbarR4T0AWNumbnlK+wOrncbB+7nZOb42e3fo5ydPN6OcyN8Q1czyP9psi+lc+Z42fCc+o73w54ugPHt3CHe15S2q0eE1BtPIU3wFN4ZTyFd3gK7xcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlX1IQAsIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdVaZgH4w8sJ0oWnyqK+dfNvCLq3UDwE1QECVEVBnVQloy7lBGtDZo4LgsCA4rbkLK3VEQA0QUGUE1FlVAvpokA/o+GDsey3vjA6u68JKHRFQAwRUGQF1VpGA5g7PB3RmMPLf0ZfpQcOcqlfqiYAaIKDKCKizagS0ZXxwXRrQ+4LxySljg6lVr9QTATVAQJURUGfVCOizwVW/SwM6IXgwOeXOYFLVK/VEQA0QUGUE1FklAtp09NFN+YCeFfwpOenJYELVK/VEQA0QUGUE1FklAnpl8GyYD+gpwRvJSS8G51S9UmzZYl1Nc5SvsDq5XKOP3S7MNfvYbVMut9DHfhcvnjvXz34XRv9C1vHqZ4jsX/kcT9/P83O5+V52vLhptp/9Rv9kdHioVygG9A/BRS2FgB4RvJ+c9mpwatUrxaIHM8Aq7nWRz/geAzpU9oC8OwFdcMJhH4WFgB7uyji66hUCChQjoD2eYkAnJi8IuafwbyYnvhiMq3ql2NJFuprmKF9hdaKn8D52uyDX7GO30VP4BT72u2jR3Ll+9rsgegpfx6v/Z/QUvvI5nr6f50VP4b3seFHTbD/7XRg9he/o/LIf+ncjoG8FZ65sDejZwZ+TU6cGl1a9Uk+8iGSAF5GU8SKS0/tfRHouaDUtnBA8nJx6V3BjWO1KPRFQAwRUGQF1en9AXzoucUTQcNxx08P78g8pxwWPh9Wu1BMBNUBAlRFQp/cHNO93hV/lPDxOx6wRDY1Vr9QTATVAQJURUGdVC2g4PrhwYdg0NpjYhZU6IqAGCKgyAur0joA2/uK6Rzq5axYCOvvEoGHMiGDMwi6s1BEBNUBAlRFQJ+MBfeiks6P/v7yRiGz3RofXUAho2DTpxIbRdyzq0kr9EFADBFQZAXWyHdBviRwchkt3lNg2nu4k3UJADRBQZQTUyXRAfysy4Fth+KDID974nsh9OkMzRUANEFBlBNTJdEAPlg3eir6Mks1WhOF/y/+ojMwWATVAQJURUCfTAd1eLoq/bCbxjzdvkB27PyxzBNQAAVVGQJ1MB3Sw/Dz6/7siz0RfpshQjYEZI+v+SBEAACAASURBVKAGCKgyAupkOqAbyR3R/2+WAfGbje6WtRXGZY2AGiCgygiok+mA7isnR//fW/47XhknuyqMyxoBNUBAlRFQJ9MB/Z4M/OXy+0UmR8svryVHqIzMFgE1QECVEVAn0wGdM0ykn8jwprD5oOjrSzpDM0VADRBQZQTUyXRAw9+uJxI9Cg3DXPT1eJWBGSOgBgioMgLqZDug4Ye3ffMHr0dfc5v8z60r2tmmRyOgBgioMgLqZDygmUdADRBQZQTUyXRAJ058VGc0/hBQAwRUGQF1Mh3QfrKvzmj8IaAGCKgyAupkOqA7y3Cd0fhDQA0QUGUE1Ml0QB8QeU5nON4QUAMEVBkBdTId0PCGfps93aIyHl8IqAECqoyAOpkO6GOPjR8gnzzh3IvzdIZmioAaIKDKCKiT6YBKGZ2hmSKgBgioMgLqZDqgQ8voDM0UATVAQJURUCfTAe0FCKgBAqqMgDoE1C8CaoCAKiOgTm8I6LIMvxBPQA0QUGUE1Ml6QB8+ZrPBsjx84lYvIeo+AmqAgCojoE62A7r40OTV9+XhRFntpyrjskZADRBQZQTUyXRAW44VGX5EHNC7o4xerjMyWwTUAAFVRkCdTAf0OZGG+WEc0PAfe8vAf+oMzRQBNUBAlRFQJ9MBPVo2ag7TgIbNm8mpKiOzRUANEFBlBNTJdEC3k/PDQkDDS2RvhXFZI6AGCKgyAupkOqCryV2hC+gDMkxhXNYIqAECqoyAOpkO6JpyU+gCej0BrRoBNUJAbRDQTlQO6B5ycugC2iC7KozLGgE1QECVEVAn0wH9gQx4uxDQe0XOVRmZLQJqgIAqI6BOpgM6dz3Z+KmVUUBbZny9nwz5UGdopgioAQKqjIA6mQ5o+NxgkfVE9lhTRPo8oDIwYwTUAAFVRkCdbAc0fG3vwocpb/WMxrDMEVADBFQZAXUyHtCw5YULvrzX7p8/46EVCoPygIAaIKDKCKiT9YBmHQE1QECVEVAn0wG96qqVrSvvXvWT7g3JCwJqgIAqI6BOpgOafwdo6s+ySfeG5AUBNUBAlRFQp9cEdMU1MrCbY/KBgBogoMoIqJPZgK4bEVln3YIhIlvqDc8MATVAQJURUCezAS3/m/CRH+oNzwwBNUBAlRFQJ7MBvSgi8t2LnEue1BudHQJqgIAqI6BOZgOanCqe7hd6CKgBAqqMgDqZDug3vpHRt8+3IqAGCKgyAupkOqC9AAE1QECVEVAn0wGdOPFRndH4Q0ANEFBlBNTJdED7yb46o/GHgBogoMoIqJPpgO4sw3VG4w8BNUBAlRFQJ9MBfUDkOZ3heENADRBQZQTUyXRAwxv6bfZ0i8p4fCGgBgioMgLqZDqgjz02foB88oRzL87TGZopAmqAgCojoE6mA1r+u5w6QzNFQA0QUGUE1Ml0QIeW0RmaKQJqgIAqI6BOpgPaCxBQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQJ+sBbbrx0O03WGebg6/3c8N1GwE1QECVEVAn2wFtuXn1wivwq9+SyTeEElADBFQZAXWyHdAJUTmH7XnokfusGS1crTIwYwTUAAFVRkCdTAf01b6y7o8WxkuLfrSu9HtTY2DGCKgBAqqMgDqZDugpMuCFwvLz/eX07g7KAwJqgIAqI6BOpgO6rZzUujJatuvekLwgoAYIqDIC6mQ6oEPk5taVW2VI94bkBQE1QECVEVAn0wEdLDe1rvyYgFaNgBohoDYIaCcqB3QbGdW6cjJP4atGQI0QUBsEtBPt/FVO6f/bwvLvBsip3R2UBwTUAAFVRkCdTAf0731l7WsWxEsLr1tX+v5dY2DGCKgBAqqMgDqZDmh4lYissefIkXuuES1coTIwYwTUAAFVRkCdbAc0vH2Nwq9yrnErv8pZNQJqhIDaIKCdaPfDROZNOnSH4cN3OPRGL0HoPgJqgIAqI6BO1gOadQTUAAFVRkCd7Ad03gsP/vI3/+n2gDwhoAYIqDIC6mQ8oCvu2KdP8iPQXW7ydBfpJgJqgIAqI6BOtgOa27f1T3Lu/ZHKwIwRUAMEVBkBdTId0OV7ifQ76kcPPnbD8f1F9sziY1ACaoCAKiOgTqYDepPIXtPSxel7S/Eni2QGATVAQJURUCfTAd1fNvywsPzBcDmgu4PygIAaIKDKCKiT6YCuLWe0rnxT1u3ekLwgoAYIqDIC6mQ6oIPkjtaV22VQt0bkBwE1QECVEVAn0wHdVr7XuvJ92aZ7Q/KCgBogoMoIqJPpgJ4juywpLC/fS8Z2d1AeEFADBFQZAXUyHdD/bCxH5o/b8v+VtWd1f1jmCKgBAqqMgDqZDmj4ysdkwwnPzPjwhcnbytAnm1Mq47NCQA0QUGUE1Ml0QLfffiNpS2eARgioAQKqjIA6mQ5ohXoS0GoQUCME1AYB7UTlKt5akc4AjRBQAwRUGQF1Mh3QXoCAGiCgygio0xsCuiyTf8wjRUANEFBlBNTJekAfPmazwbI8fOJWLyHqPgJqgIAqI6BOtgO6+NDkZaPl4URZ7acq47JGQA0QUGUE1Ml0QFuOFRl+RBzQu6OMXq4zMlsE1AABVUZAnUwH9DmRhvlhHNDwH3vLwH/qDM0UATVAQJURUCfTAT1aNmoO04CGzZvJqSojs0VADRBQZQTUyXRAt5Pzw0JAw0tkb4VxWSOgBgioMgLqZDqgq8ldoQvoAzJMYVzWCKgBAqqMgDqZDuiaclPoAno9Aa0aATVCQG0Q0E5UDugecnLoAtoguyqMyxoBNUBAlRFQJ9MB/YEMeLsQ0HtFzlUZmS0CaoCAKiOgTqYDOnc92fiplVFAW2Z8vZ8M+bDiRj0bATVAQJURUCfTAQ2fGyyynsgea4pInwdUBmaMgBogoMoIqJPtgIav7V34FNCtntEYljkCaoCAKiOgTsYDGra8cMGX99r982c8tEJhUB4QUAMEVBkBdbIe0KwjoAYIqDIC6hBQvwioAQKqjIA6GQ5oy9wlJet/2LpbI/KDgBogoMoIqJPZgL4UDBX52PcXRVf1+rVnn9zwma0y9ufkUgTUAAFVRkCdrAb0jr7pi+/7Ny85Lpt/jzNFQA0QUGUE1MloQKcNEum3zSeHiZxxcb6ea+96puYAjRBQAwRUGQF1MhrQM0WCD6NruW21PqvJno/9e2XLSs3R2SGgBgioMgLqZDSgn5X102/Nc0U29nOb6SCgBgioMgLqZDSgm8uJ6cLfRE7XGpMPBNQAAVVGQJ2MBrSPfD9daBK5UmtMPhBQAwRUGQF1MhpQkWvbLGUSATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLaNYuadM2ZrXyF1cnl5vjY7dxco4/dzom+2XzsN9qzl8McH+i63sBviuxb+RxP38+NOT/fWfH3lp/9RnfhDg912SOVHhPQxfN1Nc5WvsLqRPcvH7udl2vysdvo7jXPx37nz5/j5TDHBzrXWMerf1tkv8rnePp+jv7BmOtlx9H3lp/9RnfhDg/1srJglnVMJLgq1bp01VVmGdXDU3gDPIVXxlN4J7NP4SvRHKARAmqAgCojoA4B9YuAGiCgygiok9GATq1Ic4BGCKgBAqqMgDoZDWivQUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1MhrQi8b+K/r/2LErFIfkBQE1QECVfUBACzIa0NUk/sV3EU/3Cz0E1AABVUZAnYwGdCM5ct7y5SKLlxfTHKARAmqAgCojoE5GA3o0H2fXHQTUCAG1QUA7Ud7G93YkoN1AQI0QUBsEtBNt2rj4yUkTJ4pcN7GY4visEFADBFQZAXWyGtD0VF5Eqg0BNUJAbRDQTlQO6GWXrdQZjT8E1AABVUZAnUwHtBcgoAYIqDIC6mQ9oE03Hrr9Butsc/D1fm64biOgBgioMgLqZDugLTevXngFfvVbWlQGZoyAGiCgygiok+2ATojKOWzPQ4/cZ81o4WqVgRkjoAYIqDIC6mQ6oK/2lXV/tDBeWvSjdaXfmxoDM0ZADRBQZQTUyXRAT5EBLxSWn+8vp3d3UB4QUAMEVBkBdTId0G3lpNaV0bJd94bkBQE1QECVEVAn0wEdIje3rtwqQ7o3JC8IqAECqoyAOpkO6GC5qXXlxwS0agTUCAG1QUA7UTmg28io1pWTeQpfNQJqhIDaIKCdqBzQb0j/3xaWfzdATu3uoDwgoAYIqDIC6mQ6oH/vK2tfsyBeWnjdutL37xoDM0ZADRBQZQTUyXRAw6tEZI09R47cc41o4QqVgRkjoAYIqDIC6mQ7oOHtaxR+lXONW/lVzqoRUCME1AYB7US7HyYyb9KhOwwfvsOhN3oJQvcRUAMEVBkBdbIe0KwjoAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqZDqgEyc+qjMafwioAQKqjIA6mQ5oP9lXZzT+EFADBFQZAXUyHdCdZbjOaPwhoAYIqDIC6mQ6oA+IPKczHG8IqAECqoyAOpkOaHhDv82ezuSn2DkE1AABVUZAnUwH9LHHxg+QT55w7sV5OkMzRUANEFBlBNTJdECljM7QTBFQAwRUGQF1Mh3QoWV0hmaKgBogoMoIqJPpgPYCBNQAAVVGQB0C6hcBNUBAlRFQpzcEdFmGX4gnoAYIqDIC6mQ9oA8fs9lgWR4+cauXEHUfATVAQJURUCfbAV18aPLq+/Jwoqz2U5VxWSOgBgioMgLqZDqgLceKDD8iDujdUUYv1xmZLQJqgIAqI6BOpgP6nEjD/DAOaPiPvWXgP3WGZoqAGiCgygiok+mAHi0bNYdpQMPmzeRUlZHZIqAGCKgyAupkOqDbyflhIaDhJbK3wrisEVADBFQZAXUyHdDV5K7QBfQBGaYwLmsE1AABVUZAnUwHdE25KXQBvZ6AVo2AGiGgNghoJyoHdA85OXQBbZBdFcZljYAaIKDKCKiT6YD+QAa8XQjovSLnqozMFgE1QECVEVAn0wGdu55s/NTKKKAtM77eT4Z8qDM0UwTUAAFVRkCdTAc0fG6wyHoie6wpIn0eUBmYMQJqgIAqI6BOtgMavrZ34cOUt3pGY1jmCKgBAqqMgDoZD2jY8sIFX95r98+f8dAKhUF5QEANEFBlBNTJekCzjoAaIKDKCKiT/YB++MwvH/79wm4PyBMCaoCAKiOgTsYDuvjq7ZKfgPb/r4ey+anKBNQAAVVGQJ1sB/TdHVv/JOfIRSoDM0ZADRBQZQTUyXRAF+8QPfY8buKjD107so/I/2TxMSgBNUBAlRFQJ9MBvVZkn+np4uufELm/+8MyR0ANEFBlBNTJdEA/LZv8u7D8z3XkS90dlAcE1AABVUZAnUwHdC05u3XlVNmge0PygoAaIKDKCKiT6YAOKn7WfpsM7N6QvCCgBgioMgLqZDqgW8vVrSsXyRbdG5IXBNQAAVVGQJ1MB/Rbsp/7Dc5lu/M3kapGQI0QUBsEtBOVA/rvDWRM/p6xbJSs8U73h2WOgBogoMoIqJPRgC5P/Xkz2fqGP/wn98eJW8iwJzTHZ4WAGiCgygiok9GASlub7rOP5gCNEFADBFQZAXV6T0AjmgM0QkANEFBlBNTJaEAnVqQ5QCME1AABVUZAnYwGtNcgoAYIqDIC6hBQvwioAQKqjIA6GQ/oktcfeaiVxsCMEVADBFQZAXWyHdCb1+JFpFoQUCME1AYB7UTlNj7Cq/C1IaBGCKgNAtqJym08QOSUp9+a5ugMzRQBNUBAlRFQJ9MB3UDG6IzGHwJqgIAqI6BOpgO6mjyjMxp/CKgBAqqMgDqZDuh28rDOaPwhoAYIqDIC6mQ6oOfJiTqj8YeAGiCgygiok+mAzttSrl2pMx5fCKgBAqqMgDqZDmg4c2PZ/ewbJxeojMwWATVAQJURUCfTAW05m/eB1oSAGiGgNghoJyq38VbeSF8bAmqEgNogoJ2o3Mbdpf/Fby1c7OgMzRQBNUBAlRFQJ9MBHSIX6IzGHwJqgIAqI6BOpgO6ujynMxp/CKgBAqqMgDqZDuheMkVnNP4QUAMEVBkBdTId0FtkZIvOcLwhoAYIqDIC6mQ6oCu/Judk8ZWjIgTUAAFVRkCdTAd0ygM7ymZHn3dBgc7QTBFQAwRUGQF1Mh1Q/qxxjQioEQJqg4B2onIb1y2jMzRTBNQAAVVGQJ1MB7QXIKAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6BOpgM6rYzO0EwRUAMEVBkBdTIdUF6FrxEBNUJAbRDQThBQVQTUCAG1QUA7UbmND+VNuX7MOvLVWX5uu+4hoAYIqDIC6mQ6oEXmnSxfzuKfRyKgBgioMgLq9JaAhssPlFvbO2/6tWccduqVM9KVpsmjvnbybQu7tFI/BNQAAVVGQJ1eE9DwDvlMO+f84WtBcOyIoCH5I/KzRwXBYUFwWnMXVuqIgBogoMoIqNN7AvpHWafyGQuPDC6bFy68I2iYEa2ND8a+1/LO6OC6sPqVOiKgBgioMgLq9J6A3i9DK5/xRDBqWfz1h8GVYTgzGPnvaHl60DCn6pV6IqAGCKgyAur0moAu3lN2r3zOzcFdyde/BqeG4X3B+GRlbDC16pV6IqAGCKgyAupkOqD3Ovdc/nGRsypf9ntB+peTokeVYTgheDBZuTOYVPVKPRFQAwRUGQF1Mh3Q0rfRb9DOVGa8mb6WPjU4PQzPCv6UrDwZTKh6pZ4IqAECqoyAOr0moKsH/+r4Kpq/HtwdhqcEbyRrLwbnVL1SbHGzrsbZyldYnVxujo/dzs/N87Hbxlxuvo/9NjfP8XKY4wOda6zj1b8tsl/lcxr9THhu9IjAy46b5/q5A3d6F15WTUBntfp3Z++i/2BscEL0cOCI4P1k9dX4B6JVrpRkOAes6l4T+YzvMaBDZQ/Iu/tr7svuGxkcPT1aONyVcXTVKwQUKEZAezzdgM4cEwTn5+KlU4I3k1NeDMZVvVJsxTJd8xqVr7AqS3O5uT72uyS3yMdu50XfTz72u2xZU5Of/S7O5ebV8erfFTmg8jl+vp+XRY9rFnjZ8bL5c/zsN7oLd3ioy56Rdy+gjx8SHP9s+hfkzw7+nHydGlxa9Uo98SKSAV5EUsaLSE5GX0QaWlE7F/5NEEwo/FL7hCD5hc7wruDGqlfqiYAaIKDKCKiT0YCWfxJoR58H+uEhwV0thZX78g8pxwWPV71STwTUAAFVRkCdjAb0mHIHtB/QO4p/oX1mcHicjlkjGhqrXqknAmqAgCojoE5GA1pm+bVDRYZcVfnM0cFLjak4GuODCxeGTWODiWH1K3VEQA0QUGUE1OkVAf3j7tHDzxHvVj5zWeDEb0mafWLQMGZEMCb5oWiVK3VEQA0QUGUE1OkFAW36Zh+RTae0d/YHpQENmyad2DD6jkX5y1a3Uj8E1AABVUZAncwHtOX+jUT6fafeH3xcLwTUAAFVRkCdrAf0n1+Onr3v84rCiPwgoAYIqDIC6mQ7oEsvGyyy5qQs/jW5PAJqgIAqI6BOpgP6/E7Rw8+jZumMyA8CaoCAKiOgToYDOufkKJ/bPKk1Ij8IqAECqoyAOpkNaMtP1xcZ+F1Ph00NATVAQJURUCerAX3zs9HDz8++qTgiPwioAQKqjIA6GQ3oRQNF1ruzpeK2mUJADRBQZQTUyWhA4998/9iu5TQHaISAGiCgygiok+GAVvtpTD0aATVAQJURUCejAd23Is0BGiGgBgioMgLqZDSgvQYBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFV9i8CWkBA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgiosiigey+qeA4BNUJAUwTUAAFVFgVUNny30jkE1AgBTRFQAwRUWRxQ+WmlcwioEQKaIqAGCKiyJKB3VDqHgBohoCkCaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hDQrmmerSuXU77CHr3b2b5262m/vuZb7xm/Fgd0YuUd13O/7ct5+4729q3V8Z6XlHarxwR06SJdc+coX2F1crlGH7tdkGv2sdumXG6Bj/0uWtTo5TDHBzrXVMerfycO6M2Vzmny8/08L5eb72XHi5pm+9nvwlyuw0Nd9pSrxwRUG0/hDfAUXhlP4R2ewvtFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFQZAXUIqF8E1AABVUZAHQLqFwE1QECVEVCHgPpFQA0QUGUE1CGgfhFQAwRUGQF1CKhfBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVBkBdQioXwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFRZEtD/XVLhHAJqhICmCKgBAqosCaicU+EcAmqEgKYIqAECqiwN6MEVziGgRghoioAaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaIKDKCKhDQP0ioAYIqDIC6hBQvwioAQKqjIA6BNQvAmqAgCojoA4B9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBlaNgM6/7GG3TECtEFC/CKiBVSOg50q/9wvLBNQKAfWLgBpYNQJ6rMgfC8sE1AoB9YuAGiCgygioQ0D9IqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgiosvoG9LkDr+zqRQhoJwioKgJqhIDW4AvSZ34XL0JAO0FAVRFQIwS0BvuJ/KeLFyGgnSCgqgioEQJaAwJaBQKaIqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqI6AOAfWLgBogoMoIqENA/SKgBgioMgLqEFC/CKgBAqqMgDoE1C8CaoCAKiOgDgH1i4AaWHUC+ug110+LlwmoFQLqFwE1sMoE9PY+IsNXhATUDgH1i4AaWGUCekHctfg7ioBaIaB+EVADBFQZAXUIqF8E1AABVaYf0Fc+d4NbJqBVIKApAmqAgCrTD+hXpa+7JAGtAgFNEVADBFSZfkAPEvmwsExAq0BAUwTUAAFVRkAdAuoXATVAQJURUIeA+kVADRBQZQTUIaB+EVADBFSZfkAPJKBdQ0BTBNQAAVVGQB0C6hcBNUBAlRFQh4D6RUANEFBlBNQhoH4RUAMEVFldAvpB5ceBfAAAGRVJREFUYZmAVoGApgioAQKqTD+gBxDQriGgKQJqgIAqI6AOAfWLgBogoMoIqENA/SKgBnwHdPnF5y6s/74IqA8E1C8CasB3QB8Uuan++8p0QPcnoF1DQFME1IDvgN4hMqH++yKgPhBQvwioAQKqjIA6BNQvAmpg1QpofI/OYkD/VVgmoFUgoCkCaoCAKiOgDgH1i4AaIKDK9AO6HwHtGgKaIqAGCKgyAuoQUL8IqAECqoyAOgTULwJqgIAqSwP6he9c0OawElAjBDRFQA0QUGVpQPuKTCk/p1sBfaThD/llAtoZApoioAZ6a0B/ek7xd08U0PNMAxq5rfycWgO6bxzQdWSPeJmAVoGApgiogV4a0LdExhWtRgE9t2cHdMVL7X23L9hZ5P2wv2wTrxDQKhDQFAE10AMCemkdrvxFkVFFq1FAz+nZAT1XtllR8YyVUT8JaJcQ0BQBNUBAlbUGdPbu284oPqfDgB4k8u+KZ+SEgHYRAU0RUAMEVFlrQO8W2eXMZa3ndBjQA0VmVTzjPwS0qwhoioAa6PUBnRv/QTYvAf1J/P/7W8/pMKAH1BzQt8e/2uGACGgnCKgqAmrEJqDvrTvoeZ8BvbX1nDoFdB/ZqsMBEdBOEFBVBNSIdkD/euns1hUX0PtFLspCQPevOaAfk8EdDoiAdoKAqiKgRpQDunwdObR1zQX05yLfy25AWy47/U0C2lUENEVADfSagDaJ7NO6lsWAftj21BdETouv5T0C2gUENEVADRBQZTUGdL+KAX1UZHsC2lUENEVADRBQZdoB/RgB7SoCmiKgBnpAQC9pb4v5R4ys/lsgCugOrWs9IKBfubYrAd2XgKohoCkCaqAnB/ROkclVX10UUGl9Q2RxQL+bBPQbcYji1+mtAipbqgR0AAHtKgKaIqAGenJAJ4tcU/XVxQF9ya25gN5bCOiJ5gFdpysB/Ux7AU1MJ6BdQEBTBNQAAVVWe0A/aHtqIaC/IqBdQEBTBNQAAVVWl4DeT0C7gICmCKiBHhTQe86aXbpFxgM6LP7fqa3ndBjQT3cY0J/7Dui0rfbq+sdBE1C/CKiBnhPQmX3l26VbRAH9YdVXFwd096cKaz0hoKnX3DndCOidnxMX0OsO/E3JNqUBnTuj/DpUAnq+yANdvhAB9YuAGug5AX1Z5JjSLbocUNmrsFYc0AuTgB7sKaC/c+d0GNBPdRjQ+OP0CwHtm/5xj8j7r8T/Lwno++v2KQ+dSkCjo3dPly9EQP0ioAZ6ckAndTmgOxbWXEDvKQR0qO+AvvVRhXv1osM+936y0HFAv1EUUPd+1/dXl7vDsoBeJfK/5bvQCOg2BDR7CKiBVSOgh4sM9BzQq2XLCh85/+vCn4Tap+hvFzsv35e/kjUqBfRxkbFhWUAvEflm2ZVoBHRRPwKaPQTUQM8J6B9Fji7dIgro1VVfXYcB3cwuoO+VBXT7fL3+R+QvbbdO3+cfVg7oZbJa0RW1BnRw+g36WJuAXvjJL9cnoH8RApo9BNRADwjoxel6FQH9xebtvuWpOKD3jfuoENBXrkoCOjz/Gz31D+g/NysLaOHFl6+W/6X4pvgpuwvo3hUC+qWS62kNqLyZnN0moMlHh9YloD8joJqaJo/62sm3Laz3bgiogToHdPFJR81v56z2Avr2pMLxbxPQPaRf5T9dGRYH9L2+cmo+oHfGJ6YBlToHtOWpt+MvN5T3s/BziSig3w/DJ096O3xnn0OXheEH6w94JnmNa+vkraKVAvrfXQxo+uB3TNm1lAT06W+/2c74X36jg8mdVxzQWRc/H177jcp/Aq+EQkCXfP3Qrv4NqJ4f0NmjguCwIDitnk+EYgTUQJ0CuiI/megZ9KR2NqkQ0KPiS64vR+a3iAJ6VclFdhJZ0t4eWwP6hMhhUUA/vygMx9gFdKIMjgs4vk1AvxC+86lDFsd/NW7EX5evHq1GNXoq+enneUlApV800CoCusaDYWlAH60c0LIfJJcEdOXa0f4rerTPoL+3P7kRxQE9XIZGt9WZnR+SLgR0xQPTK54eHaUrq76Sgp4e0PHB2Pda3hkdXFfn/RBQA/UJ6L83X+P3ycLk8jvAT/b/VX6pPKB/SAM6V2Tv/BZtArqjSLvPRlsD+kgaUDkjH9ALTAJ6ikj8/syxbQK6VXiByOHTN4oWV/unyCfDMyT+J2KKyLnJPzDpZ0TtlQT0jYvfLbrK0oDKemH7Af1L/DsEaUD7l2WrOKCLRXatPPzvd/gcfevigO4v8guR0W02euviGaUndCGg35O151U6/Z7kL7J0UQ8P6MxgZPzwfXrQUOcfcRBQAxoBXfGPZWWn/F/hR3vXtwZ06dz4frxuErmXv/NmFNBZR1/tAtr0xY+LbPp8EtDCuzlvLA/oDiKL2u7+9eTFmZKAHhoHNOgooC1Pub+g0XR34Rt56Tlnt/sIt1zLWf9T8r6jfECPqxDQcdH/d10rGZ/Ix177elzRfEDvjk/94PxLV+4V/92OKFT7Fl1lWUAHhm0CGv0bkQT0j33l4TB8N93uqeJhvbTh/v+qJqDfleQ9UZUt7Fsc0GgM94uc1Gar7Ys/kDXWhYAeIlLxAXBvDOh9wfjk69hgan13REANaAT0JPli9P/FYeMuG76SnvJAkq0Pd9/zHJEr0pOe3aL/oDvCcJBsHq1sKp+KAho9Wnu9ENAfJ/f9bT+KA1p4o3gS0Gd2a/056HYibX/y/nK/Pvvc4wL6UfLCzIAzkoCuOLwsoM+HHx30xelxQCfIhgvyV/BZd8f/mcid1U769yJnFa/HAX3zkKu+2iagw/4+rvSEPtF/Xzrp3taAHiPy6z2TgA6SLX53vAtgm4C++uC+yVL8490FC+LPuhufBjQ6ipe7gD4atlx9VvPYho/i6/imyMNpQB/9zoxwUbsBjR4l3/WP7/+j8pl/luKARmP4ufur0UWGyqalJ3QtoK9VOr03BnRC8GDy9c6gvZ9uKSGgBjQCumX84Oi2gSN+lfy8MVx56DoniJy/rDF6Cr5VEtAlTeHKuGH/FYb9k3vZgOhx2bx5o6Ki5QPaPCK983/2kheTx2fTRv0szF0eP3w9QPouCq/adkic0W1EFpTuevmc8LboYkMLAR0VPauNXwcfEu/toxMkDehDQ/MNOn/pxKh7H0QBbRD5x7+bH10c5lZGT66/Ej2EvnH1s6Izf9TpbP8+KvlVyqdETis+OQroaYHIJm0CKlt/ou1pyQiH33ZWoZG37yEybV4U0CHry6Ytv37w5kXh4/d/sSy8hwxI4iuy9pvh62uvc020tNaCJKC3i/zABbRhxOkiByXleWK3LUSmJAFdOEgaSgK6/LvfLjqY50YB/YTsvOKjSlP+aXy17gHqZ6KYipzYZqvWgOaO/fb4IWd1MaB/iwc57octJaeXBHTx1c/kl64c8q0OrqyHB/Ss4E/J1yeDCfXdEQFVN6/1R4iL0lfHNQK6ifS/7kcHikT3202u/9UeByZ3429uPejzEr+RcXz42PqDf/pMfNqBv7+3j2y0YtmKAbLR86M3ip7VPhvd9Y/4z6RddiwuxXq7j1hN+n+lX7S4286rizQtHxg9vf/j499fX6R5+WMN0RP98G+X/vHZu+Yu2G7gry6PL9Ky4v/iLwP6y6Bvukds+a+f3qWfu+px0SMt+WLzh3dvKTIiGt3B1/fbd4PopF98uHJH6b9/NIHPffTcweM+8d8NI7e5ffvPzgijh7RLfnL9Hl9wPzZduYsMPWJ+8gT6uGuSR2W/eeNfi8Jle+YrVymWnTt26yiLa/w6ea/V4KPivn4x/86rivrevlt0NOOlz1wXTfOknaPZnvmNA0o32v6XD20cf93r4cWLFy99Idp21k3RcZw+4+fHPx3OPu4LItudF8bPHGJni/xsHVlrD7kw+XZ4M32k/8H/vTn18RlNJ8dXE/zmqkUzFoUtsz4tEv1Lc0J09tvj/xJf/mejpkUrF/eRTfLH6NJ4+2H/+M1fXw0/+vWdU7/T+gLR+z+PvstX/OTR8m+hKKDxk5cfRt8RS+KENuffu3F3cUAvkP7vpUvbdfgBKj08oKcE6RseXgzOKT1jUVMtHj6oPQceWFjad7/4/we0nlNY2PUz6ddP7bbb7vGX9Iydt81v8skh+xUusfM+7e3mgPh6P1W82wPLN2lzQrtD3vGTHZy7X/569tm1+JRP7ZJccr8DivYSj2nf8r1G6/np7r/nQcWHIzkr3nr/vSuOO77Up+PVT6823J23/rB0T59q3c3+yWXy13vgpw7Yf/+D9t83HmVhSPvld7rfQcX2T+/TZfdx9x7wITsPKSymIes7dJjLTJ9qgrPJBq3L/aPrXWOnLbZL6jg0WhmQZGbgGlVcj9vpoNZlN+zVCwtrFs1kUN++sl6ytMtBe0TfYXt8fLdd47UdD/p4ulV0ePaKL3NAm7d/9iSD+g1areSEvlvk47zxFlv07b/hDpt8bE2RzdObZ+1tdt5tB+m3+YYbxA9f49tncHJ6dKA37bP+7pvHh6y/yLq77bbbOiIb7dR36/4yPFqJtuq7ww47rLfdDrsNdztKl4btsMO2O3xip21322Et2fgTu20bHcDddttj9x2iS+224y7x/6Pdbxl9iTZfb7XVNt3140MH75b4WHTT7pxst+VO8e62ixd3322Q9EnO/lvlpuRysztKTtkjFeuAHhGkv737anBq6RnRg5kaXFv3bx8AvdILNSWn7J0c1gE93AW07J0MtQX0B75vhFVWjc82/ek/pPNt5NjvrF/3gcRWL1tfpz67GXjRsPpccdd8tiuP8M30yWRATwnSd1G8GIwrPaOlJovmtOf9f7Z7Vh3NnjZtpo/9/mfaLB+7fX/atI8UrqY5+q8x+m9BU0tzckLTirlzFhRtMHfOnJaljfGX5L/Iu+/OaZq3NFlsnLNwYdGGrRrTUxqTr3NWLk5Pa2xqcVvMT7eJdpy/eEvL0o6H+tG0ae+nQ6x2cpXMXVm63rS8sDC3zbZ578+oYT8Liu4gK+fXcAVzPpg27cNaLlessYO7afv+Nb27++3M8opJWZnLze2wOaXdsg7o2cGfk69TA50/6N0uXkQy4Pt34e3V+cNE2tfh54HWD3/SoxP2b2N6OPl6V3BjfXdEQA0QUDME1EgPD+h9+Uee44LH67sjAmqAgJohoEZ6eEBnBofHhZk1oqHOgSOgBgioGQJqpIcHNBwfXLgwbBobTKzzfgioAQJqhoAa6ekBnX1i0DBmRDCm3h8ISkANEFAzBNRITw9o2DTpxIbRd1T4XBxdBNQAATVDQI30+IAaIaAGCKgZAmqEgKYIqAECaoaAGiGgKQJqgICaIaBGCGiKgBogoGYIqBECmiKgBgioGQJqhICmCKgBAmqGgBohoCkCaoCAmiGgRghoioAaIKBmCKgRApoioAYIqBkCaoSApgioAQJqhoAaIaApAmqAgJohoEYIaIqAGiCgZgioEQKaIqAGCKgZAmqEgKYIqAECaoaAGiGgKQJqgICaIaBGCGiKgBogoGYIqBECmiKgBgioGQJqhICmCKgBAmqGgBohoCkCaoCAmiGgRghoioAaIKBmCKgRApoioAYIqBkCaoSApgioAQJqhoAaIaApAmqAgJohoEYIaIqAGiCgZgioEQKaIqAGCKgZAmqEgKYIqAECaoaAGiGgKQJqgICaIaBGCGhqyUIfe21pbl7kY78rm1f42O2SZj/7DcPFXg5z9C9Vc7OfoCz28v0cLmtuXuZlx+HSBX7228W7cK8NKADUGwEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQEFgBoRUACoEQGt0vRrzzjs1CtnpCtNk0d97eTbWj8fZ2rwYbqwKJdX8iFF7W7ec2lONxuqm3HY8vS4w4+/eGbpZTN4A6vONxuqnHFF7W5OQKvzh68FwbEjgoaH45XZo4LgsCA4rfDJkC0XFg7nXUFe8Xdc+5v3WFrTPTpwpplOoMuqnHHLNUFwVEPQ8Ofiy2bwBlabb2+7hSvPp/0DRECrsvDI4LJ54cI7goYZ0dr4YOx7Le+MDq5Lz1w5JSgczisrFaX9zXsqtekWfTtOt51CF1U744eCw18Ll94UnFD88Ct7N7DefHvbLVx5Pu0fIAJalSeCUcnnyv4wuDIMZwYj/x0tTw8a4g/Nfvna0YE7nN8OZra5bAeb91Rq052Tf4r/QjC+xW74NahyxkuODf4UfVk5Nni+9bIZvIH15tvbbuGK8+ngFiagVbk5uCv5+tfg1DC8LxifrIwNpkb/vz751yo9nC1Hjmj7+d3tb95j6U03tfTUY7z8hZXqVTnjl4IxydepZ09pvWwGb2DF+aZ6zS2cVzqfDjYnoFX5XvBc8jX6pygMJwQPJit3BpOi//9n+vTpR+QP5/zglLaXbX/zHktvuqnbgj/Ud8DdVuWMbwrubnvZDN7AivNN9ZpbOK90Ph1sTkCrMuPN9GdAU4PTw/Cs5GlNGD4ZTMiffXT+cL4V/OD5H5x+0U9K/h5W+5v3WLrTDd8acWXdh9xNVc744uCFtpfN4A2sPN9edAunyubTweYEtCuavx7/i3xK8Eay9mJwTv70wuF8NmhIHt4f9VLRhdrfvKdTmm7LuQd/YDPgbutsxt8JXn/urMNOGF/yonR2b2Ct+faiWzhRPp8ONiegXfDB2OCEeWF4RPB+svpq/NOUROFw3hMEt89Y+PrZwWGzWy/V/uY9nNZ0/xTcYDTi7up0xqOCy6N/L0ZE8y66VGZvYLX59qJbOFE+nw42J6BVW3bfyODo+K0Nh7vDOTp/VuFwPnblE/GXFd8MJrZerv3NezS16baMPSRnMuLuqmLGI4Pg6tnhkikHB39tvVxGb2C9+famWzjWZj4dbE5AqzVzTBCcnxzXU4I3k1NeDMblzyu/wzwbfDMMJ1wYuaeazXsivem+HPzQZsjdVM2MjwvOTd7cckvwvazfwIrz7U23cMzNp4pbmIBW6fFDguOfTd8ZdnaQ/khoanBp/szyO8zMoGFF+pbcy6rZvAdSnO4lwSsmQ+6mqmZ8RvBk8vWN4Pgw2zew5nx70y0cc/Op4hYmoNX5TRBMKPwyxoQg+W2w8K7gxvwp5XeYWcGRre/C7Xzznkdxuo0Hj1pZ17HqqG7GF+XvSR8FI1p//T+LN7DmfHvVLRxWmk8HmxPQqnx4SHCXa8R9+X+HxgWP50/JH87FY8akt9DLwVmtl213855Lc7r3B3fWfbzdV92Mw5uDh5Kvr8bvhel8855Lc7696hYOK82ng80JaFXuKPwWbGxmcHhT9GXWiIbCLysUDueFQfoLGxflf+uhk817LM3pjg1er/+Au63KGb8SnJ48ErsyuKaazXsuzfn2qls4rDSfDjYnoFUZHbzUmIoP5PjgwoVh09jW154Lh/OF4GtTV4SN1wcnLi66cLub91iK050bNCy1HHqNqpxxy9hg/EfxJ1KMnFV04ezdwJrz7V23cOX5tL85Aa3GstaPaInfxzD7xKBhzIhgjPuEGnc4bwmChqOD4ISSf8La37yH0pzus8GZdgOvWdUzfj+a7lFBMPKZ4ktn7gZWnW8vu4Urzqf9zQloNT4oPfph06QTG0bfscid7w5nyx8uOPGwM2+dX3rxdjfvoTSne21wm8mYu6fqGYe5G0Ydcvo1/yq9eNZuYNX59rZbuOJ82t2cgAJAjQgoANSIgAJAjQgoANSIgAJAjQgoANSIgAJAjQgoANSIgAJAjQgoANSIgAJAjQgoANSIgAJAjQgoANSIgCKzbpUyt/oeEVY1BBSZVSGgz4vs6ntYWIUQUGTWa9cmjhM5Kl16jYDCFgFF1t0rckdhmYDCFAFF1hUHdOmsWTmPQ8GqhoAi64oDCpgioMi6koAOlYvjL+vKlJYf7z1s6B4/bgnnnbfdasMPeiy/QdMle689+OPHPt/iYaTodQgosq5yQB8Ymb4yf87MLdOFW5Lzn18//4r98YsrXhnQFQQUWVc5oDvKIf/32/P6i2wixz/09Gkiay2JTn99sAw4afLPzt1Q5DBPw0VvQkCRdZUDKufET9Ivjh5rXhuf8HWR18OwZR/Z+O14tblB5GEPY0UvQ0CRdZUDulnyFP0tkd1XxgtPizwShi+ITE23mz9cjrEeKHofAoqsqxzQo5PVhSJnJwtRSR8KwwtlvZX5DY+QzU1HiV6JgCLrKgf0vGR1sciNycK0JKBfLv7Fz8H2Q0VvQ0CRdZUDekGyGgV0crKQBnSvkl+dX2Y/VvQyBBRZ14WA7i57Lm/FW0HRXQQUWdeFgH5e1qKaUERAkXVdCOgZIjPzG9498QnTUaJXIqDIui4E9EGRU9Lt3uDjl6GAgCLruhDQ5VtIv/vi1QX7yKBG64Gi9yGgyLouBDR8qo/IIRN/MWFzkZ+YDxS9DwFF1nUloOH9g9O3MA2cYD1M9EYEFFnXpYCG/zp75zXW2OuU6caDRO9EQAGgRgQUAGpEQAGgRgQUAGpEQAGgRgQUAGpEQAGgRgQUAGpEQAGgRgQUAGpEQAGgRgQUAGpEQAGgRgQUAGpEQAGgRv8PcpXN6xSg2r4AAAAASUVORK5CYII=" width="672" /></p>
-</div>
-<div id="weekly-reporters" class="section level3">
-<h3>Weekly reporters</h3>
-<p>The previous plots used the <code>xts</code> object as it is, which is there is one point for each error report. When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We’ll use the <code>apply.weekly</code> function from <code>xts</code> to normalise the total number of weekly submissions.</p>
-<p>Applied to the <code>numberOfReporters</code> attribute summed up with a week range, we get the following plot:</p>
-<pre class="r"><code>xts.reporters.weekly &lt;- as.xts(apply.weekly(xts.reporters, sum))
-autoplot(xts.reporters.weekly, geom='line') + 
-  theme_minimal() + ylab(&quot;Number of Reporters&quot;) + xlab(&quot;Time&quot;) + ggtitle(&quot;Weekly number of distinct reporters&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="raw-number-of-incidents" class="section level3">
-<h3>Raw Number of Incidents</h3>
-<p>Let’s plot the number of incidents for each error report on a timeline.</p>
-<pre class="r"><code>xts.incidents &lt;- xts(as.integer(myp.xts[,c(&quot;numberOfIncidents&quot;)]), order.by = index(myp.xts))
-autoplot(xts.incidents, geom='line') + 
-  theme_minimal() + ylab(&quot;Number of Incidents&quot;) + xlab(&quot;Time&quot;) + ggtitle(&quot;Raw number of reported incidents&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="weelky-number-of-incidents" class="section level3">
-<h3>Weelky Number of Incidents</h3>
-<p>The previous plots used the <code>xts</code> object as it is, which is there is one point for each error report. When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We’ll use the <code>apply.weekly</code> function from <code>xts</code> to normalise the total number of weekly submissions.</p>
-<p>Applied to the <code>numberOfIncidents</code> attribute summed up with a week range, we get the following plot:</p>
-<pre class="r"><code>xts.incidents.weekly &lt;- as.xts(apply.weekly(xts.incidents, sum))
-autoplot(xts.incidents.weekly, geom='line') + 
-  theme_minimal() + ylab(&quot;Number of Incidents&quot;) + xlab(&quot;Time&quot;) + ggtitle(&quot;Weekly number of reported incidents&quot;)</code></pre>
-<pre><code>## Warning: Removed 1 rows containing missing values (geom_path).</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="scatter-plot" class="section level3">
-<h3>Scatter plot</h3>
-<p>A scatter plot that compares the number of incidents reported and the number of distinct reporters.</p>
-<pre class="r"><code>qplot(myproblems$numberOfReporters, myproblems$numberOfIncidents) + 
-  theme_minimal() + ylab(&quot;Number of Incidents&quot;) + 
-  xlab(&quot;Number of Reporters&quot;) + ggtitle(&quot;Number of Reporters vs. Number of Incidents reported to AERI&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-</div>
-</div>
-
-
-
-
-</div>
-
-<script>
-
-// add bootstrap table styles to pandoc tables
-function bootstrapStylePandocTables() {
-  $('tr.header').parent('thead').parent('table').addClass('table table-condensed');
-}
-$(document).ready(function () {
-  bootstrapStylePandocTables();
-});
-
-
-</script>
-
-<!-- dynamically load mathjax for compatibility with self-contained -->
-<script>
-  (function () {
-    var script = document.createElement("script");
-    script.type = "text/javascript";
-    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
-    document.getElementsByTagName("head")[0].appendChild(script);
-  })();
-</script>
-
-</body>
-</html>
diff --git a/datasets/aeri_stacktraces/problems_analysis.pdf b/datasets/aeri_stacktraces/problems_analysis.pdf
deleted file mode 100644
index 76aedb436fbcfca6fbdbbc96736927e18aa15315..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1135404
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%0AR}3^wm2~DXyv8RZ8ldD}&N<GTz6z
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%0A)(<1f|;Nak0FUwUcRs?X#wxvMI~M_gT}ETK8Ee
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%0A0iS<=-{7Teg#1?+QQUdAEU^)Vl
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

diff --git a/datasets/aeri_stacktraces/problems_analysis.rmd b/datasets/aeri_stacktraces/problems_analysis.rmd
deleted file mode 100644
index 987aee1..0000000
--- a/datasets/aeri_stacktraces/problems_analysis.rmd
+++ /dev/null
@@ -1,571 +0,0 @@
----
-title: "StackTraces -- Problems"
-subtitle: "R Analysis document"
-author: "Boris Baldassari -- Castalia Solutions"
-output:
-  pdf_document:
-    toc: yes
-    toc_depth: 3
-    keep_tex: true
-    extra_dependencies:
-      - grffile
-  html_document:
-    toc: yes
-    toc_depth: 2
-  word_document:
-    toc: yes
-    toc_depth: '2'
----
-
-```{r init, message=FALSE, echo=FALSE}
-library(ggplot2)
-library(ggthemes)
-library(knitr)
-library(kableExtra)
-library(parsedate)
-library(magrittr)
-
-# Read csv file
-file.in <- "../problems_extract.csv"
-myproblems <- read.csv(file.in, header=T)
-
-# Create xts object
-require(xts)
-myp.xts <- xts(x = myproblems, order.by = parse_iso_8601(myproblems$createdOn))
-```
-
-# Introduction
-
-## About this dataset
-
-The [Automated Error Reporting](https://wiki.eclipse.org/EPP/Logging) (AERI) system retrieves [information about exceptions](https://www.codetrails.com/error-analytics/manual/). It is installed by default in the [Eclipse IDE](http://www.eclipse.org/ide/) and has helped hundreds of projects better support their users and resolve bugs.  
-
-This dataset is a dump of all records over a couple of years, with useful information about the exceptions and environment.
-
-* **Generated date**: `r date()`
-* **First date**: `r first(index(myp.xts))`
-* **Last date**: `r last(index(myp.xts))`
-* **Number of problems**: `r nrow(myp.xts)`
-* **Number of attributes**: `r ncol(myp.xts)`
-
-## Terminology
-
-* **Incidents** When an exception occurs and is trapped by the AERI system, it constitutes an incident (or error report). An incident can be reported by several different people, can be reported multiple times, and can be linked to different environments.
-* **Problems** As soon as an error report arrives on the server, it will be analyzed and subsequently assigned to one or more problems. A problem thus represents a set of (similar) error reports which usually have the same root cause – for example a bug in your software. (Extract from the [AERI system documentation](https://www.codetrails.com/error-analytics/manual/concepts/error-reports-problems-bugs-projects.html))
-
-This dataset targets only the Problems of the AERI dataset. There is another dedicated document for the Incidents.
-
-## Privacy concerns
-
-We value privacy and intend to make everything we can to prevent misuse of the dataset. If you think we failed somewhere in the process, please [let us know](https://www.crossminer.org/contact) so we can do better.
-
-The AERI system itself doesn't gather much private information, and takes a great care of it. Ths dataset goes a step further and removes all identifiable information. 
-
-* There is **no email address** in this dataset, **nor any UUID**. 
-* People not willing to share their traces to the AERI system can tick the private option. This choice has been respected, and all classes that do not belong to public hierarchy have been hidden thanks to an anonymisation mechanism.
-
-The anonymisation technique used basically encrypts information and then throws away the private key. Please refer to the [documentation published on github](https://github.com/borisbaldassari/data-anonymiser) for more details.
-
-
-## About this document
-
-This document is a [R Markdown document](http://rmarkdown.rstudio.com) and is composed of both text (like this one) and dynamically computed information (mostly in the Anaysis section below) executed on the data itself. This ensures that the documentation is always synchronised with the data, and serves as a test suite for the dataset.
-
-
-# Structure of data
-
-The plugin collects a [lot of useful information](https://www.codetrails.com/error-analytics/manual/misc/sent-data.html). We only use a subset of it, as required by research interest and privacy protection concerns. 
-
-The Problems dataset comes in two flavours: `All problems`, in JSON format, and `Problems extract`, in CSV format.
-
-## All problems (JSON)
-
-**All problems** is the most complete dataset, with all attributes, stacktraces and bundles. Since the stacktraces and bundles structures are too complex for CSV, only the JSON export contains them. The dataset comes as a quite large compressed archive, with one JSON file per problem. This represents a total of `r nrow(myproblems)` files (problems).
-
-The structure of a problem file is examplified below:
-
-    {
-      "summary": "NoStackTrace in RedeliveryErrorHandler.logFailedDelivery",
-      "kind": "NORMAL",
-      "v1status",
-      "osgiArch": "x86_64",
-      "osgiOs": "MacOSX",
-      "osgiOsVersion": "10.9.4",
-      "osgiWs": "cocoa",
-      "createdOn": "2014-09-14T05:39:21.554Z",
-      "modifiedOn": "2014-09-14T05:39:21.554Z",
-      "savedOn": "2016-05-23T07:22:10.479Z",
-      "eclipseBuildId": "4.4.0.I20140606-1215",
-      "eclipseProduct": "org.eclipse.epp.package.standard.product",
-      "javaRuntimeVersion": "1.8.0-b132",
-      "numberOfIncidents": 0,
-      "numberOfReporters": 74,
-      "products": [
-        { product },
-        { product }
-      ],
-      "bundles": [
-        { bundle },
-        { bundle }
-      ],
-      "stacktraces": [
-        [ "stacktrace for incident" ],
-        [ "stacktrace for cause" ],
-        [ "stacktrace for exception" ]
-      ]
-    }
-
-The structure used in the mongodb for stacktraces has been kept as is: it is composed of fields with all information relevant to each line of the stacktrace. Each stacktrace is an array of objects as shown below:
-
-    [
-      {
-        "cN": "sun.net.www.http.HttpClient",
-        "mN": "parseHTTPHeader",
-        "fN": "HttpClient.java",
-        "lN": 786,
-      }
-    ]
-
-Bundles have the following format:
-
-    {
-      "bundleFrequency": 1,
-      "bundleName": "org.eclipse.egit.core",
-      "bundleVersion": "4.1.1.201511131810-r"
-    },
-
-Products have the following format:
-
-    {
-      "buildId": "4.5.2.M20160212-1500",
-      "frequency": 3,
-      "productId": "org.eclipse.epp.package.jee.product"
-    }
-
-
-## Problems extract (CSV)
-
-The **Problems extract** CSV dataset provides the same information as the full JSON dataset, excluding complex structures that cannot be easily formatted in CSV: stacktraces, bundles, products.
-
-Attributes are: ``r names(myproblems)``.
-
-Examples are provided at the end of this file to demonstrate how to use it in R.
-
-
-# Attributes
-
-## Summary
-
-* Description: A short text summarising the error.
-* Type: String
-
-## Number of reporters {#attr_number_of_reporters}
-
-* Description: The number of people who reported this incident or problem.
-* Type: integer
-
-```{r numberRep.init, warning=FALSE, echo=FALSE}
-mysum <- summary(myproblems$numberOfReporters)
-```
-
-Statistical summary:
-
-* Range [ `r mysum[[1]]` : `r format(mysum[[6]], scientific = FALSE)` ]
-* 1st Quartile `r mysum[[2]]`
-* Median `r mysum[[3]]`
-* Mean `r format(mysum[[4]], scientific = FALSE)`
-* 3rd Quartile `r format(mysum[[5]], scientific = FALSE)`
-
-
-## Number of incidents {#attr_number_of_incidents}
-
-* Description: The number of times this problem was identified in incidents.
-* Type: Integer
-
-```{r numberInc.init, warning=FALSE, echo=FALSE}
-mysum <- summary(myproblems$numberOfIncidents)
-```
-
-Statistical summary:
-
-* Range [ `r mysum[[1]]` : `r format(mysum[[6]], scientific = FALSE)` ]
-* 1st Quartile `r mysum[[2]]`
-* Median `r mysum[[3]]`
-* Mean `r format(mysum[[4]], scientific = FALSE)`
-* 3rd Quartile `r format(mysum[[5]], scientific = FALSE)`
-* NAs `r mysum[[7]]`
-
-## V1 Status {#attr_status}
-
-* Description: The status of the problem attached to the error report.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.status, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-statuses <- table(myproblems$v1status)
-t <- lapply(names(statuses), function(x) paste('* ', x, ' (count: ', statuses[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Note: The name of this attribute in the original file is `v1status`.
-
-## Kind {#attr_kind}
-
-* Description: The type of error recorded, as identified by the AERI system.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.kind, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-kinds <- table(myproblems$kind)
-t <- lapply(names(kinds), function(x) paste('* ', x, ' (count: ', kinds[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-**Notes**
-
-There are different kinds of incidents described in the [official documentation](https://www.codetrails.com/error-analytics/manual/concepts/incident-kinds.html):
-
-* Normal Error: Normal errors are all exceptions that were reported by a client but that are not of kind defined below. Common examples of a normal error are a `NullPointerException` or `IllegalArgumentException`.
-  - An `OutOfMemoryError` is a special kind of exception. Unlike for normal errors, the stack frame (implicitly) throwing the exception is only sometimes indicative of the root cause of the problem.
-  - A `StackOverflowError` is a special kind of exception, whose unique characteristic is a repeating pattern of stack frames near the top of the stack trace.
-* UI Freeze: A UI freeze is caused by a long-running operation or even a deadlock on the UI thread. 
-* Third-Party Error: Third-party errors are reports that were received by the Codetrails Error Analytics Server, which deemed neither the configured projects nor their dependencies at fault. 
-* Third-Party UI Freeze: Third-Party UI Freezes are UI freezes that were received by the Codetrails Error Analytics Server, which deemed neither the configured projects nor their dependencies at fault. 
-
-
-## Created On {#attr_created_on}
-
-* Description: The time of first appearance of the problem in an incident.
-* Type: Date (ISO8601)
-
-```{r attr.createdOn, echo=FALSE}
-myp.xts.createdOn <- xts(x = data.frame(c <- rep.int(1,nrow(myproblems))), order.by = parse_iso_8601(myproblems$createdOn))
-```
-
-Dates range from `r first(index(myp.xts.createdOn))` to `r last(index(myp.xts.createdOn))`.
-
-```{r attr.createdOn.plot}
-xts.createdOn <- as.xts(apply.weekly(myp.xts.createdOn, sum))
-autoplot(xts.createdOn, geom='line') + 
-  theme_bw() + ylab("Problems CreatedOn") + ggtitle("Weekly number of Problems CreatedOn")
-```
-
-
-## Modified On {#attr_modified_on}
-
-* Description: The time of last update of the problem in an incident.
-* Type: Date (ISO8601)
-
-```{r attr.modifiedOn, echo=FALSE}
-myp.xts.modifiedOn <- xts(x = data.frame(c <- rep.int(1,nrow(myproblems))), order.by = parse_iso_8601(myproblems$modifiedOn))
-```
-
-Dates range from `r first(index(myp.xts.modifiedOn))` to `r last(index(myp.xts.modifiedOn))`.
-
-```{r attr.modifiedOn.plot}
-xts.modifiedOn <- as.xts(apply.weekly(myp.xts.modifiedOn, sum))
-autoplot(xts.modifiedOn, geom='line') + 
-  theme_bw() + ylab("Problems ModifiedOn") + ggtitle("Weekly number of Problems ModifiedOn")
-```
-
-
-## Saved On {#attr_saved_on}
-
-* Description: The time of last save of the problem.
-* Type: Date (ISO8601)
-
-```{r attr.savedOn, echo=FALSE}
-myp.xts.savedOn <- xts(x = data.frame(c <- rep.int(1,nrow(myproblems))), order.by = parse_iso_8601(myproblems$savedOn))
-```
-
-Dates range from `r first(index(myp.xts.savedOn))` to `r last(index(myp.xts.savedOn))`.
-
-```{r attr.savedOn.plot}
-xts.savedOn <- as.xts(apply.weekly(myp.xts.savedOn, sum))
-autoplot(xts.savedOn, geom='line') + 
-  theme_bw() + ylab("Problems SavedOn") + ggtitle("Weekly number of Problems SavedOn")
-```
-
-
-## OSGi Architecture {#attr_osgi_arch}
-
-* Description: The architecture of the host, as specified in the OSGi bundle definition.
-* Type: Factors
-
-Possible values found in the dataset for this attribute are:
-  
-```{r attr.osgi.arch, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-archs <- table(myproblems$osgiArch)
-t <- lapply(names(archs), function(x) paste('* ', x, ' (count: ', archs[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Repartition of architectures:
-
-```{r osgiArch, echo=FALSE, message=FALSE}
-archs.df <- as.data.frame(archs)
-ggplot(archs.df, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("OSGi Architecture") + ggtitle("Repartition of OSGi Architectures in dataset")
-```
-
-
-## OSGi OS {#attr_osgi_os}
-
-* Description: The host operating system, as reported in OSGi.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.osgi.os, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-oses <- table(myproblems$osgiOs)
-oses <- oses[order(oses, decreasing = TRUE)]
-t <- lapply(names(oses), function(x) paste('* ', x, ' (count: ', oses[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the various operating systems used in the dataset:
-
-```{r attr.osgi.os.plot, echo=FALSE}
-oses.df <- as.data.frame(oses)
-ggplot(oses.df, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("OSGi Operating System") + ggtitle("Repartition of OSGi OS in dataset")
-```
-
-
-## OSGi OS Version {#attr_osgi_os_version}
-
-* Description: The host operating system version, as reported in OSGi.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.osgi.os.version, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-occurences.max.osv <- 500
-oses <- data.frame(table(myproblems$osgiOsVersion))
-oses <- oses[order(-oses$Freq),]
-oses.top <- oses[oses[,c('Freq')] >= occurences.max.osv,]
-t <- lapply(oses.top$Var1, function(x) paste('* ', x, ' (count: ', oses.top[oses.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the various operating system versions used in the dataset:
-
-```{r attr.osgi.os.version.plot, echo=FALSE}
-ggplot(oses.top, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("OSGi Operating System Version") + ggtitle("Repartition of most used OSGi OS versions in dataset")
-```
-
-
-## OSGi Window Manager {#attr_osgi_ws}
-
-* Description: The Window Manager used by the host, as reported in OSGi.
-* Type: Factors
-
-The possible values found in the dataset for this attributes are:
-
-```{r attr.osgi.ws, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-oses <- table(myproblems$osgiWs)
-oses <- oses[order(oses, decreasing = TRUE)]
-t <- lapply(names(oses), function(x) paste('* ', x, ' (count: ', oses[[x]], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-Visualisation of the various Window managers used in the dataset:
-
-```{r attr.osgi.ws.plot, echo=FALSE}
-oses.df <- as.data.frame(oses)
-ggplot(oses.df, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("OSGi Window Managers") + ggtitle("Repartition of OSGi Window managers in dataset")
-```
-
-
-## Eclipse Product {#attr_eclipse_product}
-
-* Description: The Eclipse product impacted by the exception.
-* Type: Factors
-
-```{r attr.ep.init, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-occurences.max.ep <- 500
-eps <- data.frame(table(myproblems$eclipseProduct))
-eps <- eps[order(-eps$Freq),]
-```
-
-There are `r nrow(eps)` different values found in the dataset for this attribute. The following table and bar plot only display the values with more than `r occurences.max.ep` occurrences:
-
-```{r attr.ep, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-eps.top <- eps[eps[,c('Freq')] >= occurences.max.osv,]
-t <- lapply(eps.top$Var1, function(x) paste('* ', x, ' (count: ', eps.top[eps.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-```{r attr.ep.plot, echo=FALSE}
-ggplot(eps.top, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("Eclipse Products") + ggtitle("Repartition of most used Eclipse Products in dataset")
-```
-
-
-## Eclipse Build ID {#attr_eclipse_build_id}
-
-* Description: The Build ID of the Eclipse instance running when the exception occurred.
-* Type: Factors
-
-```{r attr.eb.id.init, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-occurences.max.ebi <- 500
-ebis <- data.frame(table(myproblems$eclipseBuildId))
-ebis <- ebis[order(-ebis$Freq),]
-```
-
-There are `r nrow(ebis)` different values found in the dataset for this attribute. The following table and bar plot only display the values with more than `r occurences.max.ebi` occurrences:
-
-```{r attr.eb.id, message=FALSE, echo=FALSE, warning=FALSE, results='asis'}
-ebis.top <- ebis[ebis[,c('Freq')] >= occurences.max.osv,]
-t <- lapply(ebis.top$Var1, function(x) paste('* ', x, ' (count: ', ebis.top[ebis.top$Var1 == x,c("Freq")], ")", sep=''))
-t <- paste(t, collapse="\n")
-cat(t)
-```
-
-```{r attr.eb.id.plot, echo=FALSE}
-ggplot(ebis.top, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("Eclipse Builds") + ggtitle("Repartition of most used Eclipse Build IDs in dataset")
-```
-
-
-## Java runtime version {#attr_javaruntime}
-
-* Description: The Java runtime of the host.
-* Type: Factors
-
-```{r jrv.kable.init}
-occurences.max.jrv <- 500
-myjrvs <- data.frame(table(myproblems$javaRuntimeVersion))
-myjrvs <- myjrvs[order(-myjrvs$Freq),]
-myjrvs.top <- myjrvs[myjrvs[,c('Freq')] >= occurences.max.jrv,]
-```
-
-There are `r nrow(myjrvs)` different values found in the dataset for this attribute. The following bar plot only displays the values with more than `r occurences.max.jrv` occurrences:
-
-```{r jrv.kable, eval=FALSE, include=FALSE, results='asis'}
-kable(data.frame(myjrvs.top), row.names = F) %>% 
-  kable_styling(full_width = T, latex_options = c("striped", "hold_position"))
-```
-
-```{r jrv.plot, echo=FALSE, message=FALSE}
-myjrvs.df <- as.data.frame(myjrvs.top)
-ggplot(myjrvs.df, aes(x=reorder(Var1, Freq), y=Freq)) + geom_bar(stat='identity') + coord_flip() + 
-  theme_minimal() + xlab("Java runtime version") + ggtitle("Repartition of top Java runtime versions in dataset")
-```
-
-
-# Using the dataset
-
-## Reading CSV file
-
-Reading file from `r file.in`. 
-
-```{r examples.init, echo=T}
-myproblems <- read.csv(file.in, header=T)
-myproblems[,c("bug", "status")] <- NULL
-```
-
-There are ``r ncol(myproblems)`` columns and ``r nrow(myproblems)`` entries in this dataset:
-
-```{r examples.ncol, echo=T}
-ncol(myproblems)
-```
-
-```{r examples.nrow, echo=T}
-nrow(myproblems)
-```
-
-Names of columns: 
-
-```{r examples.names, echo=T}
-names(myproblems)
-```
-
-
-## Using time series (xts)
-
-The dataset needs to be converted to a `xts` object. We can use one of the 3 dates
-
-```
-require(xts)
-myp.xts <- xts(x = myproblems, order.by = parse_iso_8601(myproblems$createdOn))
-```
-
-
-## Raw Reporters
-
-Let's plot the number of reporters for each error report on a timeline.
-
-```{r xts.plot.reporters}
-xts.reporters <- xts(as.integer(myp.xts[,c("numberOfReporters")]), order.by = index(myp.xts))
-autoplot(xts.reporters, geom='line') + 
-  theme_minimal() + ylab("Number of Reporters") + xlab("Time") + ggtitle("Raw number of distinct reporters")
-```
-
-## Weekly reporters
-
-The previous plots used the `xts` object as it is, which is there is one point for each error report. When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We'll use the `apply.weekly` function from `xts` to normalise the total number of weekly submissions.
-
-Applied to the `numberOfReporters` attribute summed up with a week range, we get the following plot:
-
-```{r xts.weekly.reporters}
-xts.reporters.weekly <- as.xts(apply.weekly(xts.reporters, sum))
-autoplot(xts.reporters.weekly, geom='line') + 
-  theme_minimal() + ylab("Number of Reporters") + xlab("Time") + ggtitle("Weekly number of distinct reporters")
-```
-
-## Raw Number of Incidents
-
-Let's plot the number of incidents for each error report on a timeline.
-
-```{r xts.plot.incidents}
-xts.incidents <- xts(as.integer(myp.xts[,c("numberOfIncidents")]), order.by = index(myp.xts))
-autoplot(xts.incidents, geom='line') + 
-  theme_minimal() + ylab("Number of Incidents") + xlab("Time") + ggtitle("Raw number of reported incidents")
-```
-
-
-## Weelky Number of Incidents
-
-The previous plots used the `xts` object as it is, which is there is one point for each error report. When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We'll use the `apply.weekly` function from `xts` to normalise the total number of weekly submissions.
-
-Applied to the `numberOfIncidents` attribute summed up with a week range, we get the following plot:
-
-```{r xts.weekly.incidents}
-xts.incidents.weekly <- as.xts(apply.weekly(xts.incidents, sum))
-autoplot(xts.incidents.weekly, geom='line') + 
-  theme_minimal() + ylab("Number of Incidents") + xlab("Time") + ggtitle("Weekly number of reported incidents")
-```
-
-
-## Scatter plot 
-
-A scatter plot that compares the number of incidents reported and the number of distinct reporters.
-
-```{r numberInc.qplot, warning=FALSE}
-qplot(myproblems$numberOfReporters, myproblems$numberOfIncidents) + 
-  theme_minimal() + ylab("Number of Incidents") + 
-  xlab("Number of Reporters") + ggtitle("Number of Reporters vs. Number of Incidents reported to AERI")
-```
-
-
-
-
-
-
-
-
-
-
-
diff --git a/datasets/aeri_stacktraces/scava_aeri_readme.html b/datasets/aeri_stacktraces/scava_aeri_readme.html
deleted file mode 100644
index 62e0232..0000000
--- a/datasets/aeri_stacktraces/scava_aeri_readme.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<!DOCTYPE html><html><head>
-      <title>scava_aeri_readme</title>
-      <meta charset="utf-8">
-      <meta name="viewport" content="width=device-width, initial-scale=1.0">
-      
-      <link rel="stylesheet" href="file:////home/boris/.atom/packages/markdown-preview-enhanced/node_modules/@shd101wyy/mume/dependencies/katex/katex.min.css">
-      
-      
-      
-      
-      
-      
-      
-      
-      
-
-      <style> 
-      /**
- * prism.js Github theme based on GitHub's theme.
- * @author Sam Clarke
- */
-code[class*="language-"],
-pre[class*="language-"] {
-  color: #333;
-  background: none;
-  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
-  text-align: left;
-  white-space: pre;
-  word-spacing: normal;
-  word-break: normal;
-  word-wrap: normal;
-  line-height: 1.4;
-
-  -moz-tab-size: 8;
-  -o-tab-size: 8;
-  tab-size: 8;
-
-  -webkit-hyphens: none;
-  -moz-hyphens: none;
-  -ms-hyphens: none;
-  hyphens: none;
-}
-
-/* Code blocks */
-pre[class*="language-"] {
-  padding: .8em;
-  overflow: auto;
-  /* border: 1px solid #ddd; */
-  border-radius: 3px;
-  /* background: #fff; */
-  background: #f5f5f5;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
-  padding: .1em;
-  border-radius: .3em;
-  white-space: normal;
-  background: #f5f5f5;
-}
-
-.token.comment,
-.token.blockquote {
-  color: #969896;
-}
-
-.token.cdata {
-  color: #183691;
-}
-
-.token.doctype,
-.token.punctuation,
-.token.variable,
-.token.macro.property {
-  color: #333;
-}
-
-.token.operator,
-.token.important,
-.token.keyword,
-.token.rule,
-.token.builtin {
-  color: #a71d5d;
-}
-
-.token.string,
-.token.url,
-.token.regex,
-.token.attr-value {
-  color: #183691;
-}
-
-.token.property,
-.token.number,
-.token.boolean,
-.token.entity,
-.token.atrule,
-.token.constant,
-.token.symbol,
-.token.command,
-.token.code {
-  color: #0086b3;
-}
-
-.token.tag,
-.token.selector,
-.token.prolog {
-  color: #63a35c;
-}
-
-.token.function,
-.token.namespace,
-.token.pseudo-element,
-.token.class,
-.token.class-name,
-.token.pseudo-class,
-.token.id,
-.token.url-reference .token.variable,
-.token.attr-name {
-  color: #795da3;
-}
-
-.token.entity {
-  cursor: help;
-}
-
-.token.title,
-.token.title .token.punctuation {
-  font-weight: bold;
-  color: #1d3e81;
-}
-
-.token.list {
-  color: #ed6a43;
-}
-
-.token.inserted {
-  background-color: #eaffea;
-  color: #55a532;
-}
-
-.token.deleted {
-  background-color: #ffecec;
-  color: #bd2c00;
-}
-
-.token.bold {
-  font-weight: bold;
-}
-
-.token.italic {
-  font-style: italic;
-}
-
-
-/* JSON */
-.language-json .token.property {
-  color: #183691;
-}
-
-.language-markup .token.tag .token.punctuation {
-  color: #333;
-}
-
-/* CSS */
-code.language-css,
-.language-css .token.function {
-  color: #0086b3;
-}
-
-/* YAML */
-.language-yaml .token.atrule {
-  color: #63a35c;
-}
-
-code.language-yaml {
-  color: #183691;
-}
-
-/* Ruby */
-.language-ruby .token.function {
-  color: #333;
-}
-
-/* Markdown */
-.language-markdown .token.url {
-  color: #795da3;
-}
-
-/* Makefile */
-.language-makefile .token.symbol {
-  color: #795da3;
-}
-
-.language-makefile .token.variable {
-  color: #183691;
-}
-
-.language-makefile .token.builtin {
-  color: #0086b3;
-}
-
-/* Bash */
-.language-bash .token.keyword {
-  color: #0086b3;
-}
-
-/* highlight */
-pre[data-line] {
-  position: relative;
-  padding: 1em 0 1em 3em;
-}
-pre[data-line] .line-highlight-wrapper {
-  position: absolute;
-  top: 0;
-  left: 0;
-  background-color: transparent;
-  display: block;
-  width: 100%;
-}
-
-pre[data-line] .line-highlight {
-  position: absolute;
-  left: 0;
-  right: 0;
-  padding: inherit 0;
-  margin-top: 1em;
-  background: hsla(24, 20%, 50%,.08);
-  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
-  pointer-events: none;
-  line-height: inherit;
-  white-space: pre;
-}
-
-pre[data-line] .line-highlight:before, 
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-start);
-  position: absolute;
-  top: .4em;
-  left: .6em;
-  min-width: 1em;
-  padding: 0 .5em;
-  background-color: hsla(24, 20%, 50%,.4);
-  color: hsl(24, 20%, 95%);
-  font: bold 65%/1.5 sans-serif;
-  text-align: center;
-  vertical-align: .3em;
-  border-radius: 999px;
-  text-shadow: none;
-  box-shadow: 0 1px white;
-}
-
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-end);
-  top: auto;
-  bottom: .4em;
-}html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
-/* Please visit the URL below for more information: */
-/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
- 
-      </style>
-    </head>
-    <body for="html-export">
-      <div class="mume markdown-preview   ">
-      <h1 class="mume-header" id="release-notes-for-the-aeri-dataset">Release notes for the AERI dataset</h1>
-
-<p>The database dump contains information about errors encountered by people when using Eclipse. It is composed of several mongodb tables and uses the bson format. Only two tables contain stack traces: <code>problems</code> and <code>incidents</code>.</p>
-<p>The bson files can be read using the bsondump utility, provided with the mongodb client package (mongodb-clients on Debian).</p>
-<pre data-role="codeBlock" data-info class="language-"><code>bsondump problems.bson --type json &gt; problems.json
-</code></pre><p>After conversion the two files are quite big: 37GB for incidents and 2.1 GB for problems.</p>
-<p>Unfortunately the utility adds some progress information in the UI that needs to be removed from the output:</p>
-<pre data-role="codeBlock" data-info class="language-"><code>grep -v &apos;Progress: &apos; problems.json &gt; problems_clean.json
-</code></pre><p>We also had to remove a few (approx. a dozen of) lines because they embed unparseable source code, characters or asian/binary/utf8/16/256 text. The script tries to JSON-decode all lines one by one, and on failure simply goes to the next line.</p>
-<p>For <code>problems</code> (the file is reasonably small) the script generates for each line a separate JSON file with only information related to that line. The script for problems extraction is <code>parse_json_problems.pl</code>. Output is 820MB and processing time is roughly 45mn.</p>
-<p>For <code>incidents</code> (file is 37GB) the script generates for each line a separate JSON file with only information related to that line. For the records, trying to generate a single file requires at least twice the size of the file in RAM/SWAP (i.e. roughly 74GB). There are 2084328 files in the output for 17GB. The script for incidents extraction is <code>parse_json_incidents.pl</code>. To get an idea of the resources required to process that, the final incidents extraction took roughly 16h on a quite powerful box.</p>
-
-      </div>
-      
-      
-    
-    
-    
-    
-    
-    
-    
-    
-  
-    </body></html>
\ No newline at end of file
diff --git a/datasets/aeri_stacktraces/scava_aeri_readme.md b/datasets/aeri_stacktraces/scava_aeri_readme.md
deleted file mode 100644
index ff801de..0000000
--- a/datasets/aeri_stacktraces/scava_aeri_readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-# Release notes for the AERI dataset
-
-The database dump contains information about errors encountered by people when using Eclipse. It is composed of several mongodb tables and uses the bson format. Only two tables contain stack traces: `problems` and `incidents`.
-
-The bson files can be read using the bsondump utility, provided with the mongodb client package (mongodb-clients on Debian).
-```
-bsondump problems.bson --type json > problems.json
-```
-
-After conversion the two files are quite big: 37GB for incidents and 2.1 GB for problems.
-
-Unfortunately the utility adds some progress information in the UI that needs to be removed from the output:
-```
-grep -v 'Progress: ' problems.json > problems_clean.json
-```
-
-We also had to remove a few (approx. a dozen of) lines because they embed unparseable source code, characters or asian/binary/utf8/16/256 text. The script tries to JSON-decode all lines one by one, and on failure simply goes to the next line.
-
-For `problems` (the file is reasonably small) the script generates for each line a separate JSON file with only information related to that line. The script for problems extraction is `parse_json_problems.pl`. Output is 820MB and processing time is roughly 45mn.
-
-For `incidents` (file is 37GB) the script generates for each line a separate JSON file with only information related to that line. For the records, trying to generate a single file requires at least twice the size of the file in RAM/SWAP (i.e. roughly 74GB). There are 2084328 files in the output for 17GB. The script for incidents extraction is `parse_json_incidents.pl`. To get an idea of the resources required to process that, the final incidents extraction took roughly 16h on a quite powerful box.
diff --git a/datasets/eclipse_mls/eclipse_mls.html b/datasets/eclipse_mls/eclipse_mls.html
deleted file mode 100644
index af46da5..0000000
--- a/datasets/eclipse_mls/eclipse_mls.html
+++ /dev/null
@@ -1,714 +0,0 @@
-<!DOCTYPE html><html><head>
-      <title>eclipse_mls</title>
-      <meta charset="utf-8">
-      <meta name="viewport" content="width=device-width, initial-scale=1.0">
-      
-      <link rel="stylesheet" href="file:////home/boris/.atom/packages/markdown-preview-enhanced/node_modules/@shd101wyy/mume/dependencies/katex/katex.min.css">
-      
-      
-      
-      
-      
-      
-      
-      
-      
-
-      <style> 
-      /**
- * prism.js Github theme based on GitHub's theme.
- * @author Sam Clarke
- */
-code[class*="language-"],
-pre[class*="language-"] {
-  color: #333;
-  background: none;
-  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
-  text-align: left;
-  white-space: pre;
-  word-spacing: normal;
-  word-break: normal;
-  word-wrap: normal;
-  line-height: 1.4;
-
-  -moz-tab-size: 8;
-  -o-tab-size: 8;
-  tab-size: 8;
-
-  -webkit-hyphens: none;
-  -moz-hyphens: none;
-  -ms-hyphens: none;
-  hyphens: none;
-}
-
-/* Code blocks */
-pre[class*="language-"] {
-  padding: .8em;
-  overflow: auto;
-  /* border: 1px solid #ddd; */
-  border-radius: 3px;
-  /* background: #fff; */
-  background: #f5f5f5;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
-  padding: .1em;
-  border-radius: .3em;
-  white-space: normal;
-  background: #f5f5f5;
-}
-
-.token.comment,
-.token.blockquote {
-  color: #969896;
-}
-
-.token.cdata {
-  color: #183691;
-}
-
-.token.doctype,
-.token.punctuation,
-.token.variable,
-.token.macro.property {
-  color: #333;
-}
-
-.token.operator,
-.token.important,
-.token.keyword,
-.token.rule,
-.token.builtin {
-  color: #a71d5d;
-}
-
-.token.string,
-.token.url,
-.token.regex,
-.token.attr-value {
-  color: #183691;
-}
-
-.token.property,
-.token.number,
-.token.boolean,
-.token.entity,
-.token.atrule,
-.token.constant,
-.token.symbol,
-.token.command,
-.token.code {
-  color: #0086b3;
-}
-
-.token.tag,
-.token.selector,
-.token.prolog {
-  color: #63a35c;
-}
-
-.token.function,
-.token.namespace,
-.token.pseudo-element,
-.token.class,
-.token.class-name,
-.token.pseudo-class,
-.token.id,
-.token.url-reference .token.variable,
-.token.attr-name {
-  color: #795da3;
-}
-
-.token.entity {
-  cursor: help;
-}
-
-.token.title,
-.token.title .token.punctuation {
-  font-weight: bold;
-  color: #1d3e81;
-}
-
-.token.list {
-  color: #ed6a43;
-}
-
-.token.inserted {
-  background-color: #eaffea;
-  color: #55a532;
-}
-
-.token.deleted {
-  background-color: #ffecec;
-  color: #bd2c00;
-}
-
-.token.bold {
-  font-weight: bold;
-}
-
-.token.italic {
-  font-style: italic;
-}
-
-
-/* JSON */
-.language-json .token.property {
-  color: #183691;
-}
-
-.language-markup .token.tag .token.punctuation {
-  color: #333;
-}
-
-/* CSS */
-code.language-css,
-.language-css .token.function {
-  color: #0086b3;
-}
-
-/* YAML */
-.language-yaml .token.atrule {
-  color: #63a35c;
-}
-
-code.language-yaml {
-  color: #183691;
-}
-
-/* Ruby */
-.language-ruby .token.function {
-  color: #333;
-}
-
-/* Markdown */
-.language-markdown .token.url {
-  color: #795da3;
-}
-
-/* Makefile */
-.language-makefile .token.symbol {
-  color: #795da3;
-}
-
-.language-makefile .token.variable {
-  color: #183691;
-}
-
-.language-makefile .token.builtin {
-  color: #0086b3;
-}
-
-/* Bash */
-.language-bash .token.keyword {
-  color: #0086b3;
-}
-
-/* highlight */
-pre[data-line] {
-  position: relative;
-  padding: 1em 0 1em 3em;
-}
-pre[data-line] .line-highlight-wrapper {
-  position: absolute;
-  top: 0;
-  left: 0;
-  background-color: transparent;
-  display: block;
-  width: 100%;
-}
-
-pre[data-line] .line-highlight {
-  position: absolute;
-  left: 0;
-  right: 0;
-  padding: inherit 0;
-  margin-top: 1em;
-  background: hsla(24, 20%, 50%,.08);
-  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
-  pointer-events: none;
-  line-height: inherit;
-  white-space: pre;
-}
-
-pre[data-line] .line-highlight:before, 
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-start);
-  position: absolute;
-  top: .4em;
-  left: .6em;
-  min-width: 1em;
-  padding: 0 .5em;
-  background-color: hsla(24, 20%, 50%,.4);
-  color: hsl(24, 20%, 95%);
-  font: bold 65%/1.5 sans-serif;
-  text-align: center;
-  vertical-align: .3em;
-  border-radius: 999px;
-  text-shadow: none;
-  box-shadow: 0 1px white;
-}
-
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-end);
-  top: auto;
-  bottom: .4em;
-}html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
-/* Please visit the URL below for more information: */
-/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
- 
-      </style>
-    </head>
-    <body for="html-export">
-      <div class="mume markdown-preview   ">
-      <h1 class="mume-header" id="the-eclipse-mailing-lists-datasets">The Eclipse mailing lists datasets</h1>
-
-<h2 class="mume-header" id="about-this-datasets">About this datasets</h2>
-
-<p>The <a href="https://eclipse.org">Eclipse Foundation</a> provides individuals and organizations with a commercially focused environment for open source software innovation. It includes git repositories, reviews, issues management, continuous integration, forums and mailing lists among other services. Many well-known and widely used projects are hosted on the forge, including the Eclipse IDE itself, several projects about IoT, modeling, and the new Java working group.</p>
-<p>This dataset is published under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-Attribution-Share Alike 4.0 (International) licence</a>.</p>
-<h2 class="mume-header" id="the-csv-extract">The CSV extract</h2>
-
-<p>This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. It only includes the list name, post ID, sent date, author name and address, and post subject. the body of messages is dismissed.</p>
-<p>Although this is public data (the mailing lists can be browsed on the <a href="https://accounts.eclipse.org/mailing-list">official mailman page</a>) all data has been anonymised to prevent any misuse.<br>
-The privacy issues identified, along with the anonymisation process, have been covered in a <a href="../../docs/datasets_privacy.html">dedicated document</a>.</p>
-<p><strong>Downloads</strong></p>
-<ul>
-<li><strong>Download the Eclipse mailing lists dataset</strong> <a href="eclipse_mls.gz">here</a>.
-<ul>
-<li>Content: roughly 400K entries, 6 attributes</li>
-<li>Size: 12M compressed, 63M raw</li>
-</ul>
-</li>
-<li>Check the <strong>documentation</strong> for the dataset <a href="mbox_csv_analysis.html">here</a>. For reproducibility we also provide the <a href="mbox_csv_analysis.rmd">R Markdown document</a> for the dataset analysis and documentation.</li>
-</ul>
-<h2 class="mume-header" id="project-mboxes">Project mboxes</h2>
-
-<p>This dataset provides all Eclipse mailing lists as mboxes, compressed using gzip. Exhaustive list of downloads is as follows:</p>
-<ul>
-<li><a href="mboxes/4diac-dev.mbox.gz">4diac-dev</a> (size: 6,0M)</li>
-<li><a href="mboxes/acceleo-dev.mbox.gz">acceleo-dev</a> (size: 340K)</li>
-<li><a href="mboxes/actf-dev.mbox.gz">actf-dev</a> (size: 9,8M)</li>
-<li><a href="mboxes/acute-dev.mbox.gz">acute-dev</a> (size: 20K)</li>
-<li><a href="mboxes/aether-build.mbox.gz">aether-build</a> (size: 100K)</li>
-<li><a href="mboxes/aether-dev.mbox.gz">aether-dev</a> (size: 152K)</li>
-<li><a href="mboxes/aether-users.mbox.gz">aether-users</a> (size: 652K)</li>
-<li><a href="mboxes/agail-dev.mbox.gz">agail-dev</a> (size: 124K)</li>
-<li><a href="mboxes/ajdt-dev.mbox.gz">ajdt-dev</a> (size: 5,0M)</li>
-<li><a href="mboxes/albireo-dev.mbox.gz">albireo-dev</a> (size: 884K)</li>
-<li><a href="mboxes/alf-dev.mbox.gz">alf-dev</a> (size: 3,5M)</li>
-<li><a href="mboxes/alf-events.mbox.gz">alf-events</a> (size: 148K)</li>
-<li><a href="mboxes/alf-req.mbox.gz">alf-req</a> (size: 192K)</li>
-<li><a href="mboxes/amalgam-dev.mbox.gz">amalgam-dev</a> (size: 200K)</li>
-<li><a href="mboxes/amalgam-releng.mbox.gz">amalgam-releng</a> (size: 4,0K)</li>
-<li><a href="mboxes/amp-dev.mbox.gz">amp-dev</a> (size: 344K)</li>
-<li><a href="mboxes/andmore-dev.mbox.gz">andmore-dev</a> (size: 1,8M)</li>
-<li><a href="mboxes/antenna-dev.mbox.gz">antenna-dev</a> (size: 76K)</li>
-<li><a href="mboxes/aperi-dev.mbox.gz">aperi-dev</a> (size: 22M)</li>
-<li><a href="mboxes/aperi-news.mbox.gz">aperi-news</a> (size: 184K)</li>
-<li><a href="mboxes/aperi-survey.mbox.gz">aperi-survey</a> (size: 8,0K)</li>
-<li><a href="mboxes/apogee-dev.mbox.gz">apogee-dev</a> (size: 16K)</li>
-<li><a href="mboxes/apogy-dev.mbox.gz">apogy-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/app4mc-dev.mbox.gz">app4mc-dev</a> (size: 36K)</li>
-<li><a href="mboxes/apricot-dev.mbox.gz">apricot-dev</a> (size: 16K)</li>
-<li><a href="mboxes/apricot-users.mbox.gz">apricot-users</a> (size: 8,0K)</li>
-<li><a href="mboxes/articles_editor.mbox.gz">articles_editor</a> (size: 4,0K)</li>
-<li><a href="mboxes/aspectj-announce.mbox.gz">aspectj-announce</a> (size: 428K)</li>
-<li><a href="mboxes/aspectj-dev.mbox.gz">aspectj-dev</a> (size: 11M)</li>
-<li><a href="mboxes/aspectj-users.mbox.gz">aspectj-users</a> (size: 53M)</li>
-<li><a href="mboxes/atf-dev.mbox.gz">atf-dev</a> (size: 1,9M)</li>
-<li><a href="mboxes/athena-dev.mbox.gz">athena-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/austin-ec.mbox.gz">austin-ec</a> (size: 28K)</li>
-<li><a href="mboxes/auto-iwg.mbox.gz">auto-iwg</a> (size: 35M)</li>
-<li><a href="mboxes/avsys-dev.mbox.gz">avsys-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/b3-dev.mbox.gz">b3-dev</a> (size: 60K)</li>
-<li><a href="mboxes/b3.mbox.gz">b3</a> (size: 16K)</li>
-<li><a href="mboxes/babel-dev.mbox.gz">babel-dev</a> (size: 5,6M)</li>
-<li><a href="mboxes/basyx-dev.mbox.gz">basyx-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/bayarea-ec.mbox.gz">bayarea-ec</a> (size: 36K)</li>
-<li><a href="mboxes/belgium-ec.mbox.gz">belgium-ec</a> (size: 16K)</li>
-<li><a href="mboxes/birt-charting-dev.mbox.gz">birt-charting-dev</a> (size: 13M)</li>
-<li><a href="mboxes/birt-dev.mbox.gz">birt-dev</a> (size: 23M)</li>
-<li><a href="mboxes/birt-news.mbox.gz">birt-news</a> (size: 1,1M)</li>
-<li><a href="mboxes/birt-pmc.mbox.gz">birt-pmc</a> (size: 6,0M)</li>
-<li><a href="mboxes/birt-proposal.mbox.gz">birt-proposal</a> (size: 16K)</li>
-<li><a href="mboxes/birt-report-designer-dev.mbox.gz">birt-report-designer-dev</a> (size: 444K)</li>
-<li><a href="mboxes/birt-report-engine-dev.mbox.gz">birt-report-engine-dev</a> (size: 380K)</li>
-<li><a href="mboxes/blinki-dev.mbox.gz">blinki-dev</a> (size: 12K)</li>
-<li><a href="mboxes/bpel-dev.mbox.gz">bpel-dev</a> (size: 12M)</li>
-<li><a href="mboxes/bpmn2-modeler-dev.mbox.gz">bpmn2-modeler-dev</a> (size: 1,6M)</li>
-<li><a href="mboxes/bpmn-dev.mbox.gz">bpmn-dev</a> (size: 88K)</li>
-<li><a href="mboxes/bpmn-user.mbox.gz">bpmn-user</a> (size: 6,6M)</li>
-<li><a href="mboxes/brazil-ec.mbox.gz">brazil-ec</a> (size: 8,0K)</li>
-<li><a href="mboxes/bridgeiot-dev.mbox.gz">bridgeiot-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/buckminster-dev.mbox.gz">buckminster-dev</a> (size: 7,8M)</li>
-<li><a href="mboxes/budapest-ec.mbox.gz">budapest-ec</a> (size: 12K)</li>
-<li><a href="mboxes/buildship-dev.mbox.gz">buildship-dev</a> (size: 296K)</li>
-<li><a href="mboxes/bulgaria-ec.mbox.gz">bulgaria-ec</a> (size: 12K)</li>
-<li><a href="mboxes/bulgaria-ec-news.mbox.gz">bulgaria-ec-news</a> (size: 32K)</li>
-<li><a href="mboxes/ca-dev.mbox.gz">ca-dev</a> (size: 12K)</li>
-<li><a href="mboxes/camf-dev.mbox.gz">camf-dev</a> (size: 1,1M)</li>
-<li><a href="mboxes/camf-users.mbox.gz">camf-users</a> (size: 8,0K)</li>
-<li><a href="mboxes/capra-dev.mbox.gz">capra-dev</a> (size: 92K)</li>
-<li><a href="mboxes/cbi-dev.mbox.gz">cbi-dev</a> (size: 6,0M)</li>
-<li><a href="mboxes/cdt-build-inbox.mbox.gz">cdt-build-inbox</a> (size: 4,0K)</li>
-<li><a href="mboxes/cdt-contrib-dev.mbox.gz">cdt-contrib-dev</a> (size: 60K)</li>
-<li><a href="mboxes/cdt-core-dev.mbox.gz">cdt-core-dev</a> (size: 1,2M)</li>
-<li><a href="mboxes/cdt-cpp-extensions-dev.mbox.gz">cdt-cpp-extensions-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/cdt-cppunit-inbox.mbox.gz">cdt-cppunit-inbox</a> (size: 104K)</li>
-<li><a href="mboxes/cdt-cvs.mbox.gz">cdt-cvs</a> (size: 108K)</li>
-<li><a href="mboxes/cdt-debug-dev.mbox.gz">cdt-debug-dev</a> (size: 2,7M)</li>
-<li><a href="mboxes/cdt-dev.mbox.gz">cdt-dev</a> (size: 124M)</li>
-<li><a href="mboxes/cdt-doc-dev.mbox.gz">cdt-doc-dev</a> (size: 260K)</li>
-<li><a href="mboxes/cdt-doc-inbox.mbox.gz">cdt-doc-inbox</a> (size: 2,6M)</li>
-<li><a href="mboxes/cdt-generic-extensions-dev.mbox.gz">cdt-generic-extensions-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/cdtk-dev.mbox.gz">cdtk-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/cdt-launch-inbox.mbox.gz">cdt-launch-inbox</a> (size: 136K)</li>
-<li><a href="mboxes/cdt-lpex-dev.mbox.gz">cdt-lpex-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/cdt-patch.mbox.gz">cdt-patch</a> (size: 26M)</li>
-<li><a href="mboxes/cdt-releng-inbox.mbox.gz">cdt-releng-inbox</a> (size: 168K)</li>
-<li><a href="mboxes/cdt-test-dev.mbox.gz">cdt-test-dev</a> (size: 1,6M)</li>
-<li><a href="mboxes/cdt-ui-dev.mbox.gz">cdt-ui-dev</a> (size: 320K)</li>
-<li><a href="mboxes/ceylon-dev.mbox.gz">ceylon-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/cf-dev.mbox.gz">cf-dev</a> (size: 5,6M)</li>
-<li><a href="mboxes/cft-dev.mbox.gz">cft-dev</a> (size: 220K)</li>
-<li><a href="mboxes/che-dev.mbox.gz">che-dev</a> (size: 26M)</li>
-<li><a href="mboxes/chemclipse-dev.mbox.gz">chemclipse-dev</a> (size: 14M)</li>
-<li><a href="mboxes/chicago-ec.mbox.gz">chicago-ec</a> (size: 8,0K)</li>
-<li><a href="mboxes/cloud-dev.mbox.gz">cloud-dev</a> (size: 3,7M)</li>
-<li><a href="mboxes/cloudfree-dev.mbox.gz">cloudfree-dev</a> (size: 188K)</li>
-<li><a href="mboxes/cme-dev.mbox.gz">cme-dev</a> (size: 184K)</li>
-<li><a href="mboxes/cme-users.mbox.gz">cme-users</a> (size: 236K)</li>
-<li><a href="mboxes/cobol-dev.mbox.gz">cobol-dev</a> (size: 1,1M)</li>
-<li><a href="mboxes/cognicrypt-dev.mbox.gz">cognicrypt-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/collections-dev.mbox.gz">collections-dev</a> (size: 176K)</li>
-<li><a href="mboxes/community-outreach.mbox.gz">community-outreach</a> (size: 16K)</li>
-<li><a href="mboxes/concierge-dev.mbox.gz">concierge-dev</a> (size: 768K)</li>
-<li><a href="mboxes/configjsr-discuss.mbox.gz">configjsr-discuss</a> (size: 44K)</li>
-<li><a href="mboxes/configjsr-experts.mbox.gz">configjsr-experts</a> (size: 356K)</li>
-<li><a href="mboxes/context-dev.mbox.gz">context-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/corona-dev.mbox.gz">corona-dev</a> (size: 3,8M)</li>
-<li><a href="mboxes/corona-req.mbox.gz">corona-req</a> (size: 4,0K)</li>
-<li><a href="mboxes/corrosion-dev.mbox.gz">corrosion-dev</a> (size: 28K)</li>
-<li><a href="mboxes/cosmos-dev.mbox.gz">cosmos-dev</a> (size: 17M)</li>
-<li><a href="mboxes/cosmos-mgmt.mbox.gz">cosmos-mgmt</a> (size: 128K)</li>
-<li><a href="mboxes/cosmos-pmc.mbox.gz">cosmos-pmc</a> (size: 16K)</li>
-<li><a href="mboxes/crossmeter-dev.mbox.gz">crossmeter-dev</a> (size: 28K)</li>
-<li><a href="mboxes/cross-project-issues-dev.mbox.gz">cross-project-issues-dev</a> (size: 87M)</li>
-<li><a href="mboxes/cu-dev.mbox.gz">cu-dev</a> (size: 16K)</li>
-<li><a href="mboxes/cyclonedds-dev.mbox.gz">cyclonedds-dev</a> (size: 116K)</li>
-<li><a href="mboxes/dali-dev.mbox.gz">dali-dev</a> (size: 3,2M)</li>
-<li><a href="mboxes/damos-dev.mbox.gz">damos-dev</a> (size: 20K)</li>
-<li><a href="mboxes/dash-dev.mbox.gz">dash-dev</a> (size: 2,5M)</li>
-<li><a href="mboxes/dawnsci-dev.mbox.gz">dawnsci-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/deeplearning4j-dev.mbox.gz">deeplearning4j-dev</a> (size: 12K)</li>
-<li><a href="mboxes/detroit-ec.mbox.gz">detroit-ec</a> (size: 4,0K)</li>
-<li><a href="mboxes/diffmerge-dev.mbox.gz">diffmerge-dev</a> (size: 44K)</li>
-<li><a href="mboxes/dirigible-dev.mbox.gz">dirigible-dev</a> (size: 1,1M)</li>
-<li><a href="mboxes/distro-program.mbox.gz">distro-program</a> (size: 4,0K)</li>
-<li><a href="mboxes/ditto-dev.mbox.gz">ditto-dev</a> (size: 72K)</li>
-<li><a href="mboxes/dltk-dev.mbox.gz">dltk-dev</a> (size: 4,6M)</li>
-<li><a href="mboxes/doc2model-dev.mbox.gz">doc2model-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/dsdp-dd-dev.mbox.gz">dsdp-dd-dev</a> (size: 3,8M)</li>
-<li><a href="mboxes/dsdp-dev.mbox.gz">dsdp-dev</a> (size: 2,5M)</li>
-<li><a href="mboxes/dsdp-ercp-dev.mbox.gz">dsdp-ercp-dev</a> (size: 8,7M)</li>
-<li><a href="mboxes/dsdp-japan-wg.mbox.gz">dsdp-japan-wg</a> (size: 8,0K)</li>
-<li><a href="mboxes/dsdp-mtj-dev.mbox.gz">dsdp-mtj-dev</a> (size: 6,7M)</li>
-<li><a href="mboxes/dsdp-nab-dev-jp.mbox.gz">dsdp-nab-dev-jp</a> (size: 8,0K)</li>
-<li><a href="mboxes/dsdp-nab-dev.mbox.gz">dsdp-nab-dev</a> (size: 36K)</li>
-<li><a href="mboxes/dsdp-pmc.mbox.gz">dsdp-pmc</a> (size: 18M)</li>
-<li><a href="mboxes/dsdp-rtsc-dev.mbox.gz">dsdp-rtsc-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/dsdp-sequoyah-dev.mbox.gz">dsdp-sequoyah-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/dsdp-tcf-dev.mbox.gz">dsdp-tcf-dev</a> (size: 452K)</li>
-<li><a href="mboxes/dsdp-tm-dev.mbox.gz">dsdp-tm-dev</a> (size: 8,7M)</li>
-<li><a href="mboxes/dsdp-tml-dev.mbox.gz">dsdp-tml-dev</a> (size: 392K)</li>
-<li><a href="mboxes/dtp-arch.mbox.gz">dtp-arch</a> (size: 4,0K)</li>
-<li><a href="mboxes/dtp-connect-dev.mbox.gz">dtp-connect-dev</a> (size: 492K)</li>
-<li><a href="mboxes/dtp-dev.mbox.gz">dtp-dev</a> (size: 14M)</li>
-<li><a href="mboxes/dtp-incubator-dev.mbox.gz">dtp-incubator-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/dtp-models-dev.mbox.gz">dtp-models-dev</a> (size: 20K)</li>
-<li><a href="mboxes/dtp-plan.mbox.gz">dtp-plan</a> (size: 4,0K)</li>
-<li><a href="mboxes/dtp-pmc.mbox.gz">dtp-pmc</a> (size: 2,9M)</li>
-<li><a href="mboxes/dtp-reqs.mbox.gz">dtp-reqs</a> (size: 4,0K)</li>
-<li><a href="mboxes/dtp-sqldevtools-dev.mbox.gz">dtp-sqldevtools-dev</a> (size: 1,7M)</li>
-<li><a href="mboxes/duttile-dev.mbox.gz">duttile-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/e4-dev.mbox.gz">e4-dev</a> (size: 31M)</li>
-<li><a href="mboxes/ease-dev.mbox.gz">ease-dev</a> (size: 3,3M)</li>
-<li><a href="mboxes/eatop-dev.mbox.gz">eatop-dev</a> (size: 92K)</li>
-<li><a href="mboxes/eavp-dev.mbox.gz">eavp-dev</a> (size: 3,5M)</li>
-<li><a href="mboxes/ebam-dev.mbox.gz">ebam-dev</a> (size: 24K)</li>
-<li><a href="mboxes/ebam-user.mbox.gz">ebam-user</a> (size: 228K)</li>
-<li><a href="mboxes/ebpm-dev.mbox.gz">ebpm-dev</a> (size: 32K)</li>
-<li><a href="mboxes/ebpm-user.mbox.gz">ebpm-user</a> (size: 24K)</li>
-<li><a href="mboxes/ebr-dev.mbox.gz">ebr-dev</a> (size: 172K)</li>
-<li><a href="mboxes/ecd-pmc.mbox.gz">ecd-pmc</a> (size: 948K)</li>
-<li><a href="mboxes/ecd-tools-wg.mbox.gz">ecd-tools-wg</a> (size: 8,0K)</li>
-<li><a href="mboxes/ecesis-dev.mbox.gz">ecesis-dev</a> (size: 24K)</li>
-<li><a href="mboxes/ecf-build.mbox.gz">ecf-build</a> (size: 3,6M)</li>
-<li><a href="mboxes/ecf-def.mbox.gz">ecf-def</a> (size: 4,0K)</li>
-<li><a href="mboxes/ecf-dev.mbox.gz">ecf-dev</a> (size: 23M)</li>
-<li><a href="mboxes/eclemma-dev.mbox.gz">eclemma-dev</a> (size: 580K)</li>
-<li><a href="mboxes/eclipse-announce-europe.mbox.gz">eclipse-announce-europe</a> (size: 88K)</li>
-<li><a href="mboxes/eclipsecon2011announce.mbox.gz">eclipsecon2011announce</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse-dev.mbox.gz">eclipse-dev</a> (size: 19M)</li>
-<li><a href="mboxes/eclipse-ide-dev.mbox.gz">eclipse-ide-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse-incubator-e4-dev.mbox.gz">eclipse-incubator-e4-dev</a> (size: 5,5M)</li>
-<li><a href="mboxes/eclipselink-dev.mbox.gz">eclipselink-dev</a> (size: 20M)</li>
-<li><a href="mboxes/eclipselink-users.mbox.gz">eclipselink-users</a> (size: 31M)</li>
-<li><a href="mboxes/eclipse-live.mbox.gz">eclipse-live</a> (size: 76K)</li>
-<li><a href="mboxes/eclipse-mirrors.mbox.gz">eclipse-mirrors</a> (size: 1,3M)</li>
-<li><a href="mboxes/eclipse.org-architecture-council.mbox.gz">eclipse.org-architecture-council</a> (size: 22M)</li>
-<li><a href="mboxes/eclipse.org-committers.mbox.gz">eclipse.org-committers</a> (size: 9,0M)</li>
-<li><a href="mboxes/eclipse.org-feep-stakeholders.mbox.gz">eclipse.org-feep-stakeholders</a> (size: 128K)</li>
-<li><a href="mboxes/eclipse.org-member-marketing.mbox.gz">eclipse.org-member-marketing</a> (size: 28M)</li>
-<li><a href="mboxes/eclipse.org-members-committers.mbox.gz">eclipse.org-members-committers</a> (size: 5,3M)</li>
-<li><a href="mboxes/eclipse.org-migration.mbox.gz">eclipse.org-migration</a> (size: 1,5M)</li>
-<li><a href="mboxes/eclipse.org-planning-council.mbox.gz">eclipse.org-planning-council</a> (size: 14M)</li>
-<li><a href="mboxes/eclipse.org-prc.mbox.gz">eclipse.org-prc</a> (size: 3,7M)</li>
-<li><a href="mboxes/eclipse.org-project-leadership.mbox.gz">eclipse.org-project-leadership</a> (size: 788K)</li>
-<li><a href="mboxes/eclipse.org-project-leads.mbox.gz">eclipse.org-project-leads</a> (size: 92K)</li>
-<li><a href="mboxes/eclipse.org-requirements-council.mbox.gz">eclipse.org-requirements-council</a> (size: 3,8M)</li>
-<li><a href="mboxes/eclipse.org-strategic-consumer.mbox.gz">eclipse.org-strategic-consumer</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse.org-strategic-developer.mbox.gz">eclipse.org-strategic-developer</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse.org-sustaining-members.mbox.gz">eclipse.org-sustaining-members</a> (size: 8,0K)</li>
-<li><a href="mboxes/eclipse.org-test.mbox.gz">eclipse.org-test</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse.org-unaffiliated-committer.mbox.gz">eclipse.org-unaffiliated-committer</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse-pmc.mbox.gz">eclipse-pmc</a> (size: 9,8M)</li>
-<li><a href="mboxes/eclipse-scripting-dev.mbox.gz">eclipse-scripting-dev</a> (size: 928K)</li>
-<li><a href="mboxes/eclipse-soc.mbox.gz">eclipse-soc</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipse-tools-announce.mbox.gz">eclipse-tools-announce</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipsezilla-business.mbox.gz">eclipsezilla-business</a> (size: 8,0K)</li>
-<li><a href="mboxes/eclipsezilla-developer.mbox.gz">eclipsezilla-developer</a> (size: 112K)</li>
-<li><a href="mboxes/eclipsezilla-special.mbox.gz">eclipsezilla-special</a> (size: 4,0K)</li>
-<li><a href="mboxes/eclipsezilla-user.mbox.gz">eclipsezilla-user</a> (size: 12K)</li>
-<li><a href="mboxes/edapt-dev.mbox.gz">edapt-dev</a> (size: 64K)</li>
-<li><a href="mboxes/edje-dev.mbox.gz">edje-dev</a> (size: 32K)</li>
-<li><a href="mboxes/edt-dev.mbox.gz">edt-dev</a> (size: 460K)</li>
-<li><a href="mboxes/ee4j-build.mbox.gz">ee4j-build</a> (size: 4,7M)</li>
-<li><a href="mboxes/ee4j-community.mbox.gz">ee4j-community</a> (size: 14M)</li>
-<li><a href="mboxes/ee4j-dev.mbox.gz">ee4j-dev</a> (size: 20K)</li>
-<li><a href="mboxes/ee4j-pmc.mbox.gz">ee4j-pmc</a> (size: 5,9M)</li>
-<li><a href="mboxes/ee.next-wg.mbox.gz">ee.next-wg</a> (size: 28K)</li>
-<li><a href="mboxes/efm-dev.mbox.gz">efm-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/efxclipse-dev.mbox.gz">efxclipse-dev</a> (size: 20K)</li>
-<li><a href="mboxes/egerrit-dev.mbox.gz">egerrit-dev</a> (size: 304K)</li>
-<li><a href="mboxes/egf-dev.mbox.gz">egf-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/egit-build.mbox.gz">egit-build</a> (size: 3,4M)</li>
-<li><a href="mboxes/egit-dev.mbox.gz">egit-dev</a> (size: 16M)</li>
-<li><a href="mboxes/ejb-dev.mbox.gz">ejb-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/el-dev.mbox.gz">el-dev</a> (size: 20K)</li>
-<li><a href="mboxes/elk-dev.mbox.gz">elk-dev</a> (size: 408K)</li>
-<li><a href="mboxes/elogbook-dev.mbox.gz">elogbook-dev</a> (size: 12K)</li>
-<li><a href="mboxes/emfcompare-build.mbox.gz">emfcompare-build</a> (size: 6,8M)</li>
-<li><a href="mboxes/emf-compare-dev.mbox.gz">emf-compare-dev</a> (size: 68K)</li>
-<li><a href="mboxes/emfcp-dev.mbox.gz">emfcp-dev</a> (size: 484K)</li>
-<li><a href="mboxes/emf-dev.mbox.gz">emf-dev</a> (size: 6,0M)</li>
-<li><a href="mboxes/emf.index-dev.mbox.gz">emf.index-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/emfindex-dev.mbox.gz">emfindex-dev</a> (size: 92K)</li>
-<li><a href="mboxes/emfparsley-dev.mbox.gz">emfparsley-dev</a> (size: 24K)</li>
-<li><a href="mboxes/emfrefactor-dev.mbox.gz">emfrefactor-dev</a> (size: 48K)</li>
-<li><a href="mboxes/emfstore-dev.mbox.gz">emfstore-dev</a> (size: 1,2M)</li>
-<li><a href="mboxes/emft-dev.mbox.gz">emft-dev</a> (size: 2,8M)</li>
-<li><a href="mboxes/epf-dev.mbox.gz">epf-dev</a> (size: 96M)</li>
-<li><a href="mboxes/epf-dev-pt.mbox.gz">epf-dev-pt</a> (size: 108K)</li>
-<li><a href="mboxes/epl-discuss.mbox.gz">epl-discuss</a> (size: 4,5M)</li>
-<li><a href="mboxes/epp-dev.mbox.gz">epp-dev</a> (size: 19M)</li>
-<li><a href="mboxes/epsilon-dev.mbox.gz">epsilon-dev</a> (size: 748K)</li>
-<li><a href="mboxes/equinox-dev.mbox.gz">equinox-dev</a> (size: 31M)</li>
-<li><a href="mboxes/ercp-dev.mbox.gz">ercp-dev</a> (size: 336K)</li>
-<li><a href="mboxes/es-dev.mbox.gz">es-dev</a> (size: 256K)</li>
-<li><a href="mboxes/esl-dev.mbox.gz">esl-dev</a> (size: 12K)</li>
-<li><a href="mboxes/etrice-dev.mbox.gz">etrice-dev</a> (size: 840K)</li>
-<li><a href="mboxes/etrice-users.mbox.gz">etrice-users</a> (size: 76K)</li>
-<li><a href="mboxes/europa-build-workshop.mbox.gz">europa-build-workshop</a> (size: 1,2M)</li>
-<li><a href="mboxes/evangelists.mbox.gz">evangelists</a> (size: 12K)</li>
-<li><a href="mboxes/examples-dev.mbox.gz">examples-dev</a> (size: 36K)</li>
-<li><a href="mboxes/facet-dev.mbox.gz">facet-dev</a> (size: 16K)</li>
-<li><a href="mboxes/fairfax-ec.mbox.gz">fairfax-ec</a> (size: 4,0K)</li>
-<li><a href="mboxes/featuremodel-dev.mbox.gz">featuremodel-dev</a> (size: 40K)</li>
-<li><a href="mboxes/flux-dev.mbox.gz">flux-dev</a> (size: 972K)</li>
-<li><a href="mboxes/flux-releng.mbox.gz">flux-releng</a> (size: 4,0K)</li>
-<li><a href="mboxes/fmc-dev.mbox.gz">fmc-dev</a> (size: 28K)</li>
-<li><a href="mboxes/fog05-dev.mbox.gz">fog05-dev</a> (size: 28K)</li>
-<li><a href="mboxes/forum-admins.mbox.gz">forum-admins</a> (size: 12K)</li>
-<li><a href="mboxes/forums-admin.mbox.gz">forums-admin</a> (size: 4,0K)</li>
-<li><a href="mboxes/fproj-dev.mbox.gz">fproj-dev</a> (size: 16K)</li>
-<li><a href="mboxes/franca-dev.mbox.gz">franca-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/france-ec.mbox.gz">france-ec</a> (size: 364K)</li>
-<li><a href="mboxes/france-southwest-ec.mbox.gz">france-southwest-ec</a> (size: 4,0K)</li>
-<li><a href="mboxes/geclipse-dev.mbox.gz">geclipse-dev</a> (size: 8,5M)</li>
-<li><a href="mboxes/geclipse-user.mbox.gz">geclipse-user</a> (size: 344K)</li>
-<li><a href="mboxes/gef3d-dev.mbox.gz">gef3d-dev</a> (size: 476K)</li>
-<li><a href="mboxes/gef-dev.mbox.gz">gef-dev</a> (size: 4,8M)</li>
-<li><a href="mboxes/gemini-dev.mbox.gz">gemini-dev</a> (size: 7,0M)</li>
-<li><a href="mboxes/gemoc-dev.mbox.gz">gemoc-dev</a> (size: 468K)</li>
-<li><a href="mboxes/gemoc-rc.mbox.gz">gemoc-rc</a> (size: 8,0K)</li>
-<li><a href="mboxes/gemoc-users.mbox.gz">gemoc-users</a> (size: 8,0K)</li>
-<li><a href="mboxes/gendoc-dev.mbox.gz">gendoc-dev</a> (size: 116K)</li>
-<li><a href="mboxes/gendoc-users.mbox.gz">gendoc-users</a> (size: 20K)</li>
-<li><a href="mboxes/geoperil-dev.mbox.gz">geoperil-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/germany-north-ec.mbox.gz">germany-north-ec</a> (size: 8,0K)</li>
-<li><a href="mboxes/germany-south-ec.mbox.gz">germany-south-ec</a> (size: 8,0K)</li>
-<li><a href="mboxes/git.mbox.gz">git</a> (size: 124K)</li>
-<li><a href="mboxes/glassfish-dev.mbox.gz">glassfish-dev</a> (size: 72K)</li>
-<li><a href="mboxes/glassfish-tools-dev.mbox.gz">glassfish-tools-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/glimmer-dev.mbox.gz">glimmer-dev</a> (size: 20K)</li>
-<li><a href="mboxes/gmf-dev.mbox.gz">gmf-dev</a> (size: 8,5M)</li>
-<li><a href="mboxes/gmf-releng.mbox.gz">gmf-releng</a> (size: 108M)</li>
-<li><a href="mboxes/gmt-dev.mbox.gz">gmt-dev</a> (size: 1,3M)</li>
-<li><a href="mboxes/golo-dev.mbox.gz">golo-dev</a> (size: 436K)</li>
-<li><a href="mboxes/graphiti-dev.mbox.gz">graphiti-dev</a> (size: 656K)</li>
-<li><a href="mboxes/handly-dev.mbox.gz">handly-dev</a> (size: 740K)</li>
-<li><a href="mboxes/henshin-user.mbox.gz">henshin-user</a> (size: 1,7M)</li>
-<li><a href="mboxes/hono-dev.mbox.gz">hono-dev</a> (size: 6,2M)</li>
-<li><a href="mboxes/ice-build.mbox.gz">ice-build</a> (size: 11M)</li>
-<li><a href="mboxes/ide-dev.mbox.gz">ide-dev</a> (size: 20M)</li>
-<li><a href="mboxes/iot-kapua-sp.mbox.gz">iot-kapua-sp</a> (size: 8,0K)</li>
-<li><a href="mboxes/iot-pmc.mbox.gz">iot-pmc</a> (size: 37M)</li>
-<li><a href="mboxes/iot-sc.mbox.gz">iot-sc</a> (size: 7,2M)</li>
-<li><a href="mboxes/iot-wg-integration.mbox.gz">iot-wg-integration</a> (size: 492K)</li>
-<li><a href="mboxes/iot-wg.mbox.gz">iot-wg</a> (size: 88M)</li>
-<li><a href="mboxes/jakarta.ee-community.mbox.gz">jakarta.ee-community</a> (size: 17M)</li>
-<li><a href="mboxes/jakartaee-tck-dev.mbox.gz">jakartaee-tck-dev</a> (size: 1,2M)</li>
-<li><a href="mboxes/jakarta.ee-wg.mbox.gz">jakarta.ee-wg</a> (size: 9,5M)</li>
-<li><a href="mboxes/javamail-dev.mbox.gz">javamail-dev</a> (size: 40K)</li>
-<li><a href="mboxes/jaxrs-dev.mbox.gz">jaxrs-dev</a> (size: 3,1M)</li>
-<li><a href="mboxes/jdt-core-dev.mbox.gz">jdt-core-dev</a> (size: 3,8M)</li>
-<li><a href="mboxes/jdt-dev.mbox.gz">jdt-dev</a> (size: 4,7M)</li>
-<li><a href="mboxes/jemo-dev.mbox.gz">jemo-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/jersey-dev.mbox.gz">jersey-dev</a> (size: 264K)</li>
-<li><a href="mboxes/jetty-announce.mbox.gz">jetty-announce</a> (size: 5,4M)</li>
-<li><a href="mboxes/jetty-dev.mbox.gz">jetty-dev</a> (size: 23M)</li>
-<li><a href="mboxes/jetty-users.mbox.gz">jetty-users</a> (size: 33M)</li>
-<li><a href="mboxes/jgit-build.mbox.gz">jgit-build</a> (size: 2,0M)</li>
-<li><a href="mboxes/jgit-dev.mbox.gz">jgit-dev</a> (size: 8,0M)</li>
-<li><a href="mboxes/jms-dev.mbox.gz">jms-dev</a> (size: 128K)</li>
-<li><a href="mboxes/jnosql-dev.mbox.gz">jnosql-dev</a> (size: 5,5M)</li>
-<li><a href="mboxes/jsonp-dev.mbox.gz">jsonp-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/kapua-dev.mbox.gz">kapua-dev</a> (size: 14M)</li>
-<li><a href="mboxes/kura-commit.mbox.gz">kura-commit</a> (size: 2,2M)</li>
-<li><a href="mboxes/kura-dev.mbox.gz">kura-dev</a> (size: 26M)</li>
-<li><a href="mboxes/ldt-dev.mbox.gz">ldt-dev</a> (size: 300K)</li>
-<li><a href="mboxes/leshan-commit.mbox.gz">leshan-commit</a> (size: 448K)</li>
-<li><a href="mboxes/leshan-dev.mbox.gz">leshan-dev</a> (size: 6,6M)</li>
-<li><a href="mboxes/linuxtools-dev.mbox.gz">linuxtools-dev</a> (size: 11M)</li>
-<li><a href="mboxes/lsp4e-dev.mbox.gz">lsp4e-dev</a> (size: 732K)</li>
-<li><a href="mboxes/lsp4j-dev.mbox.gz">lsp4j-dev</a> (size: 64K)</li>
-<li><a href="mboxes/lsphub-dev.mbox.gz">lsphub-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/lts-iwg.mbox.gz">lts-iwg</a> (size: 6,0M)</li>
-<li><a href="mboxes/lyo-dev.mbox.gz">lyo-dev</a> (size: 13M)</li>
-<li><a href="mboxes/m2e-dev.mbox.gz">m2e-dev</a> (size: 6,5M)</li>
-<li><a href="mboxes/m2e-users.mbox.gz">m2e-users</a> (size: 23M)</li>
-<li><a href="mboxes/m2t-dev.mbox.gz">m2t-dev</a> (size: 2,1M)</li>
-<li><a href="mboxes/mat-dev.mbox.gz">mat-dev</a> (size: 3,0M)</li>
-<li><a href="mboxes/mdmbl-dev.mbox.gz">mdmbl-dev</a> (size: 1,3M)</li>
-<li><a href="mboxes/mdt-ocl.dev.mbox.gz">mdt-ocl.dev</a> (size: 5,0M)</li>
-<li><a href="mboxes/mdt-papyrus.dev.mbox.gz">mdt-papyrus.dev</a> (size: 58M)</li>
-<li><a href="mboxes/microprofile-dev.mbox.gz">microprofile-dev</a> (size: 1,6M)</li>
-<li><a href="mboxes/milo-dev.mbox.gz">milo-dev</a> (size: 2,2M)</li>
-<li><a href="mboxes/modeling-pmc.mbox.gz">modeling-pmc</a> (size: 29M)</li>
-<li><a href="mboxes/modisco-dev.mbox.gz">modisco-dev</a> (size: 76K)</li>
-<li><a href="mboxes/mojarra-dev.mbox.gz">mojarra-dev</a> (size: 48K)</li>
-<li><a href="mboxes/mosquitto-dev.mbox.gz">mosquitto-dev</a> (size: 8,0M)</li>
-<li><a href="mboxes/mylyn-dev.mbox.gz">mylyn-dev</a> (size: 7,8M)</li>
-<li><a href="mboxes/mylyn-docs-dev.mbox.gz">mylyn-docs-dev</a> (size: 940K)</li>
-<li><a href="mboxes/mylyn-pmc.mbox.gz">mylyn-pmc</a> (size: 1,4M)</li>
-<li><a href="mboxes/nattable-dev.mbox.gz">nattable-dev</a> (size: 624K)</li>
-<li><a href="mboxes/nebula-dev.mbox.gz">nebula-dev</a> (size: 17M)</li>
-<li><a href="mboxes/omr-dev.mbox.gz">omr-dev</a> (size: 284K)</li>
-<li><a href="mboxes/oomph-dev.mbox.gz">oomph-dev</a> (size: 668K)</li>
-<li><a href="mboxes/openadx.mbox.gz">openadx</a> (size: 1,4M)</li>
-<li><a href="mboxes/opengenesis-wg.mbox.gz">opengenesis-wg</a> (size: 72K)</li>
-<li><a href="mboxes/openmdm-wg-members.mbox.gz">openmdm-wg-members</a> (size: 1,9M)</li>
-<li><a href="mboxes/open-measured-data-wg.mbox.gz">open-measured-data-wg</a> (size: 62M)</li>
-<li><a href="mboxes/openmobility.mbox.gz">openmobility</a> (size: 1,5M)</li>
-<li><a href="mboxes/openpass-wg.mbox.gz">openpass-wg</a> (size: 1,1M)</li>
-<li><a href="mboxes/orb-dev.mbox.gz">orb-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/orbit-dev.mbox.gz">orbit-dev</a> (size: 7,4M)</li>
-<li><a href="mboxes/orion-releng.mbox.gz">orion-releng</a> (size: 315M)</li>
-<li><a href="mboxes/osbea-wg.mbox.gz">osbea-wg</a> (size: 16K)</li>
-<li><a href="mboxes/p2-dev.mbox.gz">p2-dev</a> (size: 19M)</li>
-<li><a href="mboxes/paho-dev.mbox.gz">paho-dev</a> (size: 36M)</li>
-<li><a href="mboxes/papyrus-ic.mbox.gz">papyrus-ic</a> (size: 11M)</li>
-<li><a href="mboxes/passage-dev.mbox.gz">passage-dev</a> (size: 44K)</li>
-<li><a href="mboxes/pde-dev.mbox.gz">pde-dev</a> (size: 8,5M)</li>
-<li><a href="mboxes/photran.mbox.gz">photran</a> (size: 11M)</li>
-<li><a href="mboxes/platform-dev.mbox.gz">platform-dev</a> (size: 3,2M)</li>
-<li><a href="mboxes/platform-releng-dev.mbox.gz">platform-releng-dev</a> (size: 30M)</li>
-<li><a href="mboxes/platform-swt-dev.mbox.gz">platform-swt-dev</a> (size: 31M)</li>
-<li><a href="mboxes/platform-ui-dev.mbox.gz">platform-ui-dev</a> (size: 27M)</li>
-<li><a href="mboxes/ptp-dev.mbox.gz">ptp-dev</a> (size: 44M)</li>
-<li><a href="mboxes/ptp-user.mbox.gz">ptp-user</a> (size: 36M)</li>
-<li><a href="mboxes/qvto-dev.mbox.gz">qvto-dev</a> (size: 9,1M)</li>
-<li><a href="mboxes/rap-dev.mbox.gz">rap-dev</a> (size: 6,6M)</li>
-<li><a href="mboxes/rdf4j-dev.mbox.gz">rdf4j-dev</a> (size: 9,4M)</li>
-<li><a href="mboxes/recommenders-dev.mbox.gz">recommenders-dev</a> (size: 38M)</li>
-<li><a href="mboxes/reddeer-dev.mbox.gz">reddeer-dev</a> (size: 28K)</li>
-<li><a href="mboxes/scada-dev.mbox.gz">scada-dev</a> (size: 508K)</li>
-<li><a href="mboxes/scava-dev.mbox.gz">scava-dev</a> (size: 352K)</li>
-<li><a href="mboxes/science-iwg.mbox.gz">science-iwg</a> (size: 58M)</li>
-<li><a href="mboxes/science-pmc.mbox.gz">science-pmc</a> (size: 1,3M)</li>
-<li><a href="mboxes/scout-dev.mbox.gz">scout-dev</a> (size: 464K)</li>
-<li><a href="mboxes/simopenpass-dev.mbox.gz">simopenpass-dev</a> (size: 4,0K)</li>
-<li><a href="mboxes/sirius-dev.mbox.gz">sirius-dev</a> (size: 332K)</li>
-<li><a href="mboxes/smarthome-dev.mbox.gz">smarthome-dev</a> (size: 192K)</li>
-<li><a href="mboxes/soa-pmc.mbox.gz">soa-pmc</a> (size: 58M)</li>
-<li><a href="mboxes/soc-dev.mbox.gz">soc-dev</a> (size: 9,2M)</li>
-<li><a href="mboxes/sparkplug-wg.mbox.gz">sparkplug-wg</a> (size: 4,0K)</li>
-<li><a href="mboxes/sphinx-dev.mbox.gz">sphinx-dev</a> (size: 20K)</li>
-<li><a href="mboxes/sprotty-dev.mbox.gz">sprotty-dev</a> (size: 8,0K)</li>
-<li><a href="mboxes/statet-dev.mbox.gz">statet-dev</a> (size: 12K)</li>
-<li><a href="mboxes/statet-users.mbox.gz">statet-users</a> (size: 36K)</li>
-<li><a href="mboxes/stem-dev.mbox.gz">stem-dev</a> (size: 19M)</li>
-<li><a href="mboxes/sumo-announce.mbox.gz">sumo-announce</a> (size: 28K)</li>
-<li><a href="mboxes/sumo-dev.mbox.gz">sumo-dev</a> (size: 3,8M)</li>
-<li><a href="mboxes/sumo-user.mbox.gz">sumo-user</a> (size: 118M)</li>
-<li><a href="mboxes/sw360-dev.mbox.gz">sw360-dev</a> (size: 14M)</li>
-<li><a href="mboxes/sw360-users.mbox.gz">sw360-users</a> (size: 8,0K)</li>
-<li><a href="mboxes/swtchart-dev.mbox.gz">swtchart-dev</a> (size: 140K)</li>
-<li><a href="mboxes/tcf-dev.mbox.gz">tcf-dev</a> (size: 5,3M)</li>
-<li><a href="mboxes/technology-pmc.mbox.gz">technology-pmc</a> (size: 24M)</li>
-<li><a href="mboxes/thingweb-dev.mbox.gz">thingweb-dev</a> (size: 20K)</li>
-<li><a href="mboxes/tinydtls-dev.mbox.gz">tinydtls-dev</a> (size: 784K)</li>
-<li><a href="mboxes/tm4e-dev.mbox.gz">tm4e-dev</a> (size: 84K)</li>
-<li><a href="mboxes/tm-dev.mbox.gz">tm-dev</a> (size: 5,1M)</li>
-<li><a href="mboxes/tools-pmc.mbox.gz">tools-pmc</a> (size: 16M)</li>
-<li><a href="mboxes/tracecompass-dev.mbox.gz">tracecompass-dev</a> (size: 12M)</li>
-<li><a href="mboxes/tycho-dev.mbox.gz">tycho-dev</a> (size: 2,1M)</li>
-<li><a href="mboxes/tycho-user.mbox.gz">tycho-user</a> (size: 34M)</li>
-<li><a href="mboxes/unide-dev.mbox.gz">unide-dev</a> (size: 1,6M)</li>
-<li><a href="mboxes/usssdk-dev.mbox.gz">usssdk-dev</a> (size: 20K)</li>
-<li><a href="mboxes/viatra-dev.mbox.gz">viatra-dev</a> (size: 2,3M)</li>
-<li><a href="mboxes/wakaama-dev.mbox.gz">wakaama-dev</a> (size: 4,9M)</li>
-<li><a href="mboxes/websocket-dev.mbox.gz">websocket-dev</a> (size: 24K)</li>
-<li><a href="mboxes/wildwebdeveloper-dev.mbox.gz">wildwebdeveloper-dev</a> (size: 16K)</li>
-<li><a href="mboxes/winery-dev.mbox.gz">winery-dev</a> (size: 468K)</li>
-<li><a href="mboxes/wtp-dev.mbox.gz">wtp-dev</a> (size: 48M)</li>
-<li><a href="mboxes/wtp-pmc.mbox.gz">wtp-pmc</a> (size: 19M)</li>
-<li><a href="mboxes/wtp-releng.mbox.gz">wtp-releng</a> (size: 19M)</li>
-<li><a href="mboxes/xacc-dev.mbox.gz">xacc-dev</a> (size: 140K)</li>
-<li><a href="mboxes/xtext-dev.mbox.gz">xtext-dev</a> (size: 3,8M)</li>
-<li><a href="mboxes/yasson-dev.mbox.gz">yasson-dev</a> (size: 32K)</li>
-</ul>
-<hr>
-<p>Note: list obtained through the following command:</p>
-<pre class="language-text">for i in `ls`; do
-     s=`du -sh $i | cut -f1`;
-     echo &quot;* [${i%%.mbox.gz}]($i) (size: $s)&quot; &gt;&gt; list.txt;
-done
-</pre>
-
-      </div>
-      
-      
-    
-    
-    
-    
-    
-    
-    
-    
-  
-    </body></html>
\ No newline at end of file
diff --git a/datasets/eclipse_mls/eclipse_mls.md b/datasets/eclipse_mls/eclipse_mls.md
deleted file mode 100644
index f10dc40..0000000
--- a/datasets/eclipse_mls/eclipse_mls.md
+++ /dev/null
@@ -1,440 +0,0 @@
-
-# The Eclipse mailing lists datasets
-
-## About this datasets
-
-The [Eclipse Foundation](https://eclipse.org) provides individuals and organizations with a commercially focused environment for open source software innovation. It includes git repositories, reviews, issues management, continuous integration, forums and mailing lists among other services. Many well-known and widely used projects are hosted on the forge, including the Eclipse IDE itself, several projects about IoT, modeling, and the new Java working group.
-
-This dataset is published under the [Creative Commons BY-Attribution-Share Alike 4.0 (International) licence](https://creativecommons.org/licenses/by-sa/4.0/).
-
-## The CSV extract
-
-This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. It only includes the list name, post ID, sent date, author name and address, and post subject. the body of messages is dismissed.
-
-Although this is public data (the mailing lists can be browsed on the [official mailman page](https://accounts.eclipse.org/mailing-list)) all data has been anonymised to prevent any misuse.
-The privacy issues identified, along with the anonymisation process, have been covered in a [dedicated document](../../docs/datasets_privacy.html).
-
-**Downloads**
-
-* **Download the Eclipse mailing lists dataset** [here](eclipse_mls.gz).
-    * Content: roughly 400K entries, 6 attributes
-    * Size: 12M compressed, 63M raw
-* Check the **documentation** for the dataset [here](mbox_csv_analysis.html). For reproducibility we also provide the [R Markdown document](mbox_csv_analysis.rmd) for the dataset analysis and documentation.
-
-
-## Project mboxes
-
-This dataset provides all Eclipse mailing lists as mboxes, compressed using gzip. Exhaustive list of downloads is as follows:
-
-* [4diac-dev](mboxes/4diac-dev.mbox.gz) (size: 6,0M)
-* [acceleo-dev](mboxes/acceleo-dev.mbox.gz) (size: 340K)
-* [actf-dev](mboxes/actf-dev.mbox.gz) (size: 9,8M)
-* [acute-dev](mboxes/acute-dev.mbox.gz) (size: 20K)
-* [aether-build](mboxes/aether-build.mbox.gz) (size: 100K)
-* [aether-dev](mboxes/aether-dev.mbox.gz) (size: 152K)
-* [aether-users](mboxes/aether-users.mbox.gz) (size: 652K)
-* [agail-dev](mboxes/agail-dev.mbox.gz) (size: 124K)
-* [ajdt-dev](mboxes/ajdt-dev.mbox.gz) (size: 5,0M)
-* [albireo-dev](mboxes/albireo-dev.mbox.gz) (size: 884K)
-* [alf-dev](mboxes/alf-dev.mbox.gz) (size: 3,5M)
-* [alf-events](mboxes/alf-events.mbox.gz) (size: 148K)
-* [alf-req](mboxes/alf-req.mbox.gz) (size: 192K)
-* [amalgam-dev](mboxes/amalgam-dev.mbox.gz) (size: 200K)
-* [amalgam-releng](mboxes/amalgam-releng.mbox.gz) (size: 4,0K)
-* [amp-dev](mboxes/amp-dev.mbox.gz) (size: 344K)
-* [andmore-dev](mboxes/andmore-dev.mbox.gz) (size: 1,8M)
-* [antenna-dev](mboxes/antenna-dev.mbox.gz) (size: 76K)
-* [aperi-dev](mboxes/aperi-dev.mbox.gz) (size: 22M)
-* [aperi-news](mboxes/aperi-news.mbox.gz) (size: 184K)
-* [aperi-survey](mboxes/aperi-survey.mbox.gz) (size: 8,0K)
-* [apogee-dev](mboxes/apogee-dev.mbox.gz) (size: 16K)
-* [apogy-dev](mboxes/apogy-dev.mbox.gz) (size: 8,0K)
-* [app4mc-dev](mboxes/app4mc-dev.mbox.gz) (size: 36K)
-* [apricot-dev](mboxes/apricot-dev.mbox.gz) (size: 16K)
-* [apricot-users](mboxes/apricot-users.mbox.gz) (size: 8,0K)
-* [articles_editor](mboxes/articles_editor.mbox.gz) (size: 4,0K)
-* [aspectj-announce](mboxes/aspectj-announce.mbox.gz) (size: 428K)
-* [aspectj-dev](mboxes/aspectj-dev.mbox.gz) (size: 11M)
-* [aspectj-users](mboxes/aspectj-users.mbox.gz) (size: 53M)
-* [atf-dev](mboxes/atf-dev.mbox.gz) (size: 1,9M)
-* [athena-dev](mboxes/athena-dev.mbox.gz) (size: 4,0K)
-* [austin-ec](mboxes/austin-ec.mbox.gz) (size: 28K)
-* [auto-iwg](mboxes/auto-iwg.mbox.gz) (size: 35M)
-* [avsys-dev](mboxes/avsys-dev.mbox.gz) (size: 4,0K)
-* [b3-dev](mboxes/b3-dev.mbox.gz) (size: 60K)
-* [b3](mboxes/b3.mbox.gz) (size: 16K)
-* [babel-dev](mboxes/babel-dev.mbox.gz) (size: 5,6M)
-* [basyx-dev](mboxes/basyx-dev.mbox.gz) (size: 8,0K)
-* [bayarea-ec](mboxes/bayarea-ec.mbox.gz) (size: 36K)
-* [belgium-ec](mboxes/belgium-ec.mbox.gz) (size: 16K)
-* [birt-charting-dev](mboxes/birt-charting-dev.mbox.gz) (size: 13M)
-* [birt-dev](mboxes/birt-dev.mbox.gz) (size: 23M)
-* [birt-news](mboxes/birt-news.mbox.gz) (size: 1,1M)
-* [birt-pmc](mboxes/birt-pmc.mbox.gz) (size: 6,0M)
-* [birt-proposal](mboxes/birt-proposal.mbox.gz) (size: 16K)
-* [birt-report-designer-dev](mboxes/birt-report-designer-dev.mbox.gz) (size: 444K)
-* [birt-report-engine-dev](mboxes/birt-report-engine-dev.mbox.gz) (size: 380K)
-* [blinki-dev](mboxes/blinki-dev.mbox.gz) (size: 12K)
-* [bpel-dev](mboxes/bpel-dev.mbox.gz) (size: 12M)
-* [bpmn2-modeler-dev](mboxes/bpmn2-modeler-dev.mbox.gz) (size: 1,6M)
-* [bpmn-dev](mboxes/bpmn-dev.mbox.gz) (size: 88K)
-* [bpmn-user](mboxes/bpmn-user.mbox.gz) (size: 6,6M)
-* [brazil-ec](mboxes/brazil-ec.mbox.gz) (size: 8,0K)
-* [bridgeiot-dev](mboxes/bridgeiot-dev.mbox.gz) (size: 4,0K)
-* [buckminster-dev](mboxes/buckminster-dev.mbox.gz) (size: 7,8M)
-* [budapest-ec](mboxes/budapest-ec.mbox.gz) (size: 12K)
-* [buildship-dev](mboxes/buildship-dev.mbox.gz) (size: 296K)
-* [bulgaria-ec](mboxes/bulgaria-ec.mbox.gz) (size: 12K)
-* [bulgaria-ec-news](mboxes/bulgaria-ec-news.mbox.gz) (size: 32K)
-* [ca-dev](mboxes/ca-dev.mbox.gz) (size: 12K)
-* [camf-dev](mboxes/camf-dev.mbox.gz) (size: 1,1M)
-* [camf-users](mboxes/camf-users.mbox.gz) (size: 8,0K)
-* [capra-dev](mboxes/capra-dev.mbox.gz) (size: 92K)
-* [cbi-dev](mboxes/cbi-dev.mbox.gz) (size: 6,0M)
-* [cdt-build-inbox](mboxes/cdt-build-inbox.mbox.gz) (size: 4,0K)
-* [cdt-contrib-dev](mboxes/cdt-contrib-dev.mbox.gz) (size: 60K)
-* [cdt-core-dev](mboxes/cdt-core-dev.mbox.gz) (size: 1,2M)
-* [cdt-cpp-extensions-dev](mboxes/cdt-cpp-extensions-dev.mbox.gz) (size: 8,0K)
-* [cdt-cppunit-inbox](mboxes/cdt-cppunit-inbox.mbox.gz) (size: 104K)
-* [cdt-cvs](mboxes/cdt-cvs.mbox.gz) (size: 108K)
-* [cdt-debug-dev](mboxes/cdt-debug-dev.mbox.gz) (size: 2,7M)
-* [cdt-dev](mboxes/cdt-dev.mbox.gz) (size: 124M)
-* [cdt-doc-dev](mboxes/cdt-doc-dev.mbox.gz) (size: 260K)
-* [cdt-doc-inbox](mboxes/cdt-doc-inbox.mbox.gz) (size: 2,6M)
-* [cdt-generic-extensions-dev](mboxes/cdt-generic-extensions-dev.mbox.gz) (size: 8,0K)
-* [cdtk-dev](mboxes/cdtk-dev.mbox.gz) (size: 8,0K)
-* [cdt-launch-inbox](mboxes/cdt-launch-inbox.mbox.gz) (size: 136K)
-* [cdt-lpex-dev](mboxes/cdt-lpex-dev.mbox.gz) (size: 8,0K)
-* [cdt-patch](mboxes/cdt-patch.mbox.gz) (size: 26M)
-* [cdt-releng-inbox](mboxes/cdt-releng-inbox.mbox.gz) (size: 168K)
-* [cdt-test-dev](mboxes/cdt-test-dev.mbox.gz) (size: 1,6M)
-* [cdt-ui-dev](mboxes/cdt-ui-dev.mbox.gz) (size: 320K)
-* [ceylon-dev](mboxes/ceylon-dev.mbox.gz) (size: 4,0K)
-* [cf-dev](mboxes/cf-dev.mbox.gz) (size: 5,6M)
-* [cft-dev](mboxes/cft-dev.mbox.gz) (size: 220K)
-* [che-dev](mboxes/che-dev.mbox.gz) (size: 26M)
-* [chemclipse-dev](mboxes/chemclipse-dev.mbox.gz) (size: 14M)
-* [chicago-ec](mboxes/chicago-ec.mbox.gz) (size: 8,0K)
-* [cloud-dev](mboxes/cloud-dev.mbox.gz) (size: 3,7M)
-* [cloudfree-dev](mboxes/cloudfree-dev.mbox.gz) (size: 188K)
-* [cme-dev](mboxes/cme-dev.mbox.gz) (size: 184K)
-* [cme-users](mboxes/cme-users.mbox.gz) (size: 236K)
-* [cobol-dev](mboxes/cobol-dev.mbox.gz) (size: 1,1M)
-* [cognicrypt-dev](mboxes/cognicrypt-dev.mbox.gz) (size: 8,0K)
-* [collections-dev](mboxes/collections-dev.mbox.gz) (size: 176K)
-* [community-outreach](mboxes/community-outreach.mbox.gz) (size: 16K)
-* [concierge-dev](mboxes/concierge-dev.mbox.gz) (size: 768K)
-* [configjsr-discuss](mboxes/configjsr-discuss.mbox.gz) (size: 44K)
-* [configjsr-experts](mboxes/configjsr-experts.mbox.gz) (size: 356K)
-* [context-dev](mboxes/context-dev.mbox.gz) (size: 4,0K)
-* [corona-dev](mboxes/corona-dev.mbox.gz) (size: 3,8M)
-* [corona-req](mboxes/corona-req.mbox.gz) (size: 4,0K)
-* [corrosion-dev](mboxes/corrosion-dev.mbox.gz) (size: 28K)
-* [cosmos-dev](mboxes/cosmos-dev.mbox.gz) (size: 17M)
-* [cosmos-mgmt](mboxes/cosmos-mgmt.mbox.gz) (size: 128K)
-* [cosmos-pmc](mboxes/cosmos-pmc.mbox.gz) (size: 16K)
-* [crossmeter-dev](mboxes/crossmeter-dev.mbox.gz) (size: 28K)
-* [cross-project-issues-dev](mboxes/cross-project-issues-dev.mbox.gz) (size: 87M)
-* [cu-dev](mboxes/cu-dev.mbox.gz) (size: 16K)
-* [cyclonedds-dev](mboxes/cyclonedds-dev.mbox.gz) (size: 116K)
-* [dali-dev](mboxes/dali-dev.mbox.gz) (size: 3,2M)
-* [damos-dev](mboxes/damos-dev.mbox.gz) (size: 20K)
-* [dash-dev](mboxes/dash-dev.mbox.gz) (size: 2,5M)
-* [dawnsci-dev](mboxes/dawnsci-dev.mbox.gz) (size: 8,0K)
-* [deeplearning4j-dev](mboxes/deeplearning4j-dev.mbox.gz) (size: 12K)
-* [detroit-ec](mboxes/detroit-ec.mbox.gz) (size: 4,0K)
-* [diffmerge-dev](mboxes/diffmerge-dev.mbox.gz) (size: 44K)
-* [dirigible-dev](mboxes/dirigible-dev.mbox.gz) (size: 1,1M)
-* [distro-program](mboxes/distro-program.mbox.gz) (size: 4,0K)
-* [ditto-dev](mboxes/ditto-dev.mbox.gz) (size: 72K)
-* [dltk-dev](mboxes/dltk-dev.mbox.gz) (size: 4,6M)
-* [doc2model-dev](mboxes/doc2model-dev.mbox.gz) (size: 8,0K)
-* [dsdp-dd-dev](mboxes/dsdp-dd-dev.mbox.gz) (size: 3,8M)
-* [dsdp-dev](mboxes/dsdp-dev.mbox.gz) (size: 2,5M)
-* [dsdp-ercp-dev](mboxes/dsdp-ercp-dev.mbox.gz) (size: 8,7M)
-* [dsdp-japan-wg](mboxes/dsdp-japan-wg.mbox.gz) (size: 8,0K)
-* [dsdp-mtj-dev](mboxes/dsdp-mtj-dev.mbox.gz) (size: 6,7M)
-* [dsdp-nab-dev-jp](mboxes/dsdp-nab-dev-jp.mbox.gz) (size: 8,0K)
-* [dsdp-nab-dev](mboxes/dsdp-nab-dev.mbox.gz) (size: 36K)
-* [dsdp-pmc](mboxes/dsdp-pmc.mbox.gz) (size: 18M)
-* [dsdp-rtsc-dev](mboxes/dsdp-rtsc-dev.mbox.gz) (size: 4,0K)
-* [dsdp-sequoyah-dev](mboxes/dsdp-sequoyah-dev.mbox.gz) (size: 4,0K)
-* [dsdp-tcf-dev](mboxes/dsdp-tcf-dev.mbox.gz) (size: 452K)
-* [dsdp-tm-dev](mboxes/dsdp-tm-dev.mbox.gz) (size: 8,7M)
-* [dsdp-tml-dev](mboxes/dsdp-tml-dev.mbox.gz) (size: 392K)
-* [dtp-arch](mboxes/dtp-arch.mbox.gz) (size: 4,0K)
-* [dtp-connect-dev](mboxes/dtp-connect-dev.mbox.gz) (size: 492K)
-* [dtp-dev](mboxes/dtp-dev.mbox.gz) (size: 14M)
-* [dtp-incubator-dev](mboxes/dtp-incubator-dev.mbox.gz) (size: 4,0K)
-* [dtp-models-dev](mboxes/dtp-models-dev.mbox.gz) (size: 20K)
-* [dtp-plan](mboxes/dtp-plan.mbox.gz) (size: 4,0K)
-* [dtp-pmc](mboxes/dtp-pmc.mbox.gz) (size: 2,9M)
-* [dtp-reqs](mboxes/dtp-reqs.mbox.gz) (size: 4,0K)
-* [dtp-sqldevtools-dev](mboxes/dtp-sqldevtools-dev.mbox.gz) (size: 1,7M)
-* [duttile-dev](mboxes/duttile-dev.mbox.gz) (size: 4,0K)
-* [e4-dev](mboxes/e4-dev.mbox.gz) (size: 31M)
-* [ease-dev](mboxes/ease-dev.mbox.gz) (size: 3,3M)
-* [eatop-dev](mboxes/eatop-dev.mbox.gz) (size: 92K)
-* [eavp-dev](mboxes/eavp-dev.mbox.gz) (size: 3,5M)
-* [ebam-dev](mboxes/ebam-dev.mbox.gz) (size: 24K)
-* [ebam-user](mboxes/ebam-user.mbox.gz) (size: 228K)
-* [ebpm-dev](mboxes/ebpm-dev.mbox.gz) (size: 32K)
-* [ebpm-user](mboxes/ebpm-user.mbox.gz) (size: 24K)
-* [ebr-dev](mboxes/ebr-dev.mbox.gz) (size: 172K)
-* [ecd-pmc](mboxes/ecd-pmc.mbox.gz) (size: 948K)
-* [ecd-tools-wg](mboxes/ecd-tools-wg.mbox.gz) (size: 8,0K)
-* [ecesis-dev](mboxes/ecesis-dev.mbox.gz) (size: 24K)
-* [ecf-build](mboxes/ecf-build.mbox.gz) (size: 3,6M)
-* [ecf-def](mboxes/ecf-def.mbox.gz) (size: 4,0K)
-* [ecf-dev](mboxes/ecf-dev.mbox.gz) (size: 23M)
-* [eclemma-dev](mboxes/eclemma-dev.mbox.gz) (size: 580K)
-* [eclipse-announce-europe](mboxes/eclipse-announce-europe.mbox.gz) (size: 88K)
-* [eclipsecon2011announce](mboxes/eclipsecon2011announce.mbox.gz) (size: 4,0K)
-* [eclipse-dev](mboxes/eclipse-dev.mbox.gz) (size: 19M)
-* [eclipse-ide-dev](mboxes/eclipse-ide-dev.mbox.gz) (size: 4,0K)
-* [eclipse-incubator-e4-dev](mboxes/eclipse-incubator-e4-dev.mbox.gz) (size: 5,5M)
-* [eclipselink-dev](mboxes/eclipselink-dev.mbox.gz) (size: 20M)
-* [eclipselink-users](mboxes/eclipselink-users.mbox.gz) (size: 31M)
-* [eclipse-live](mboxes/eclipse-live.mbox.gz) (size: 76K)
-* [eclipse-mirrors](mboxes/eclipse-mirrors.mbox.gz) (size: 1,3M)
-* [eclipse.org-architecture-council](mboxes/eclipse.org-architecture-council.mbox.gz) (size: 22M)
-* [eclipse.org-committers](mboxes/eclipse.org-committers.mbox.gz) (size: 9,0M)
-* [eclipse.org-feep-stakeholders](mboxes/eclipse.org-feep-stakeholders.mbox.gz) (size: 128K)
-* [eclipse.org-member-marketing](mboxes/eclipse.org-member-marketing.mbox.gz) (size: 28M)
-* [eclipse.org-members-committers](mboxes/eclipse.org-members-committers.mbox.gz) (size: 5,3M)
-* [eclipse.org-migration](mboxes/eclipse.org-migration.mbox.gz) (size: 1,5M)
-* [eclipse.org-planning-council](mboxes/eclipse.org-planning-council.mbox.gz) (size: 14M)
-* [eclipse.org-prc](mboxes/eclipse.org-prc.mbox.gz) (size: 3,7M)
-* [eclipse.org-project-leadership](mboxes/eclipse.org-project-leadership.mbox.gz) (size: 788K)
-* [eclipse.org-project-leads](mboxes/eclipse.org-project-leads.mbox.gz) (size: 92K)
-* [eclipse.org-requirements-council](mboxes/eclipse.org-requirements-council.mbox.gz) (size: 3,8M)
-* [eclipse.org-strategic-consumer](mboxes/eclipse.org-strategic-consumer.mbox.gz) (size: 4,0K)
-* [eclipse.org-strategic-developer](mboxes/eclipse.org-strategic-developer.mbox.gz) (size: 4,0K)
-* [eclipse.org-sustaining-members](mboxes/eclipse.org-sustaining-members.mbox.gz) (size: 8,0K)
-* [eclipse.org-test](mboxes/eclipse.org-test.mbox.gz) (size: 4,0K)
-* [eclipse.org-unaffiliated-committer](mboxes/eclipse.org-unaffiliated-committer.mbox.gz) (size: 4,0K)
-* [eclipse-pmc](mboxes/eclipse-pmc.mbox.gz) (size: 9,8M)
-* [eclipse-scripting-dev](mboxes/eclipse-scripting-dev.mbox.gz) (size: 928K)
-* [eclipse-soc](mboxes/eclipse-soc.mbox.gz) (size: 4,0K)
-* [eclipse-tools-announce](mboxes/eclipse-tools-announce.mbox.gz) (size: 4,0K)
-* [eclipsezilla-business](mboxes/eclipsezilla-business.mbox.gz) (size: 8,0K)
-* [eclipsezilla-developer](mboxes/eclipsezilla-developer.mbox.gz) (size: 112K)
-* [eclipsezilla-special](mboxes/eclipsezilla-special.mbox.gz) (size: 4,0K)
-* [eclipsezilla-user](mboxes/eclipsezilla-user.mbox.gz) (size: 12K)
-* [edapt-dev](mboxes/edapt-dev.mbox.gz) (size: 64K)
-* [edje-dev](mboxes/edje-dev.mbox.gz) (size: 32K)
-* [edt-dev](mboxes/edt-dev.mbox.gz) (size: 460K)
-* [ee4j-build](mboxes/ee4j-build.mbox.gz) (size: 4,7M)
-* [ee4j-community](mboxes/ee4j-community.mbox.gz) (size: 14M)
-* [ee4j-dev](mboxes/ee4j-dev.mbox.gz) (size: 20K)
-* [ee4j-pmc](mboxes/ee4j-pmc.mbox.gz) (size: 5,9M)
-* [ee.next-wg](mboxes/ee.next-wg.mbox.gz) (size: 28K)
-* [efm-dev](mboxes/efm-dev.mbox.gz) (size: 4,0K)
-* [efxclipse-dev](mboxes/efxclipse-dev.mbox.gz) (size: 20K)
-* [egerrit-dev](mboxes/egerrit-dev.mbox.gz) (size: 304K)
-* [egf-dev](mboxes/egf-dev.mbox.gz) (size: 8,0K)
-* [egit-build](mboxes/egit-build.mbox.gz) (size: 3,4M)
-* [egit-dev](mboxes/egit-dev.mbox.gz) (size: 16M)
-* [ejb-dev](mboxes/ejb-dev.mbox.gz) (size: 8,0K)
-* [el-dev](mboxes/el-dev.mbox.gz) (size: 20K)
-* [elk-dev](mboxes/elk-dev.mbox.gz) (size: 408K)
-* [elogbook-dev](mboxes/elogbook-dev.mbox.gz) (size: 12K)
-* [emfcompare-build](mboxes/emfcompare-build.mbox.gz) (size: 6,8M)
-* [emf-compare-dev](mboxes/emf-compare-dev.mbox.gz) (size: 68K)
-* [emfcp-dev](mboxes/emfcp-dev.mbox.gz) (size: 484K)
-* [emf-dev](mboxes/emf-dev.mbox.gz) (size: 6,0M)
-* [emf.index-dev](mboxes/emf.index-dev.mbox.gz) (size: 4,0K)
-* [emfindex-dev](mboxes/emfindex-dev.mbox.gz) (size: 92K)
-* [emfparsley-dev](mboxes/emfparsley-dev.mbox.gz) (size: 24K)
-* [emfrefactor-dev](mboxes/emfrefactor-dev.mbox.gz) (size: 48K)
-* [emfstore-dev](mboxes/emfstore-dev.mbox.gz) (size: 1,2M)
-* [emft-dev](mboxes/emft-dev.mbox.gz) (size: 2,8M)
-* [epf-dev](mboxes/epf-dev.mbox.gz) (size: 96M)
-* [epf-dev-pt](mboxes/epf-dev-pt.mbox.gz) (size: 108K)
-* [epl-discuss](mboxes/epl-discuss.mbox.gz) (size: 4,5M)
-* [epp-dev](mboxes/epp-dev.mbox.gz) (size: 19M)
-* [epsilon-dev](mboxes/epsilon-dev.mbox.gz) (size: 748K)
-* [equinox-dev](mboxes/equinox-dev.mbox.gz) (size: 31M)
-* [ercp-dev](mboxes/ercp-dev.mbox.gz) (size: 336K)
-* [es-dev](mboxes/es-dev.mbox.gz) (size: 256K)
-* [esl-dev](mboxes/esl-dev.mbox.gz) (size: 12K)
-* [etrice-dev](mboxes/etrice-dev.mbox.gz) (size: 840K)
-* [etrice-users](mboxes/etrice-users.mbox.gz) (size: 76K)
-* [europa-build-workshop](mboxes/europa-build-workshop.mbox.gz) (size: 1,2M)
-* [evangelists](mboxes/evangelists.mbox.gz) (size: 12K)
-* [examples-dev](mboxes/examples-dev.mbox.gz) (size: 36K)
-* [facet-dev](mboxes/facet-dev.mbox.gz) (size: 16K)
-* [fairfax-ec](mboxes/fairfax-ec.mbox.gz) (size: 4,0K)
-* [featuremodel-dev](mboxes/featuremodel-dev.mbox.gz) (size: 40K)
-* [flux-dev](mboxes/flux-dev.mbox.gz) (size: 972K)
-* [flux-releng](mboxes/flux-releng.mbox.gz) (size: 4,0K)
-* [fmc-dev](mboxes/fmc-dev.mbox.gz) (size: 28K)
-* [fog05-dev](mboxes/fog05-dev.mbox.gz) (size: 28K)
-* [forum-admins](mboxes/forum-admins.mbox.gz) (size: 12K)
-* [forums-admin](mboxes/forums-admin.mbox.gz) (size: 4,0K)
-* [fproj-dev](mboxes/fproj-dev.mbox.gz) (size: 16K)
-* [franca-dev](mboxes/franca-dev.mbox.gz) (size: 4,0K)
-* [france-ec](mboxes/france-ec.mbox.gz) (size: 364K)
-* [france-southwest-ec](mboxes/france-southwest-ec.mbox.gz) (size: 4,0K)
-* [geclipse-dev](mboxes/geclipse-dev.mbox.gz) (size: 8,5M)
-* [geclipse-user](mboxes/geclipse-user.mbox.gz) (size: 344K)
-* [gef3d-dev](mboxes/gef3d-dev.mbox.gz) (size: 476K)
-* [gef-dev](mboxes/gef-dev.mbox.gz) (size: 4,8M)
-* [gemini-dev](mboxes/gemini-dev.mbox.gz) (size: 7,0M)
-* [gemoc-dev](mboxes/gemoc-dev.mbox.gz) (size: 468K)
-* [gemoc-rc](mboxes/gemoc-rc.mbox.gz) (size: 8,0K)
-* [gemoc-users](mboxes/gemoc-users.mbox.gz) (size: 8,0K)
-* [gendoc-dev](mboxes/gendoc-dev.mbox.gz) (size: 116K)
-* [gendoc-users](mboxes/gendoc-users.mbox.gz) (size: 20K)
-* [geoperil-dev](mboxes/geoperil-dev.mbox.gz) (size: 4,0K)
-* [germany-north-ec](mboxes/germany-north-ec.mbox.gz) (size: 8,0K)
-* [germany-south-ec](mboxes/germany-south-ec.mbox.gz) (size: 8,0K)
-* [git](mboxes/git.mbox.gz) (size: 124K)
-* [glassfish-dev](mboxes/glassfish-dev.mbox.gz) (size: 72K)
-* [glassfish-tools-dev](mboxes/glassfish-tools-dev.mbox.gz) (size: 4,0K)
-* [glimmer-dev](mboxes/glimmer-dev.mbox.gz) (size: 20K)
-* [gmf-dev](mboxes/gmf-dev.mbox.gz) (size: 8,5M)
-* [gmf-releng](mboxes/gmf-releng.mbox.gz) (size: 108M)
-* [gmt-dev](mboxes/gmt-dev.mbox.gz) (size: 1,3M)
-* [golo-dev](mboxes/golo-dev.mbox.gz) (size: 436K)
-* [graphiti-dev](mboxes/graphiti-dev.mbox.gz) (size: 656K)
-* [handly-dev](mboxes/handly-dev.mbox.gz) (size: 740K)
-* [henshin-user](mboxes/henshin-user.mbox.gz) (size: 1,7M)
-* [hono-dev](mboxes/hono-dev.mbox.gz) (size: 6,2M)
-* [ice-build](mboxes/ice-build.mbox.gz) (size: 11M)
-* [ide-dev](mboxes/ide-dev.mbox.gz) (size: 20M)
-* [iot-kapua-sp](mboxes/iot-kapua-sp.mbox.gz) (size: 8,0K)
-* [iot-pmc](mboxes/iot-pmc.mbox.gz) (size: 37M)
-* [iot-sc](mboxes/iot-sc.mbox.gz) (size: 7,2M)
-* [iot-wg-integration](mboxes/iot-wg-integration.mbox.gz) (size: 492K)
-* [iot-wg](mboxes/iot-wg.mbox.gz) (size: 88M)
-* [jakarta.ee-community](mboxes/jakarta.ee-community.mbox.gz) (size: 17M)
-* [jakartaee-tck-dev](mboxes/jakartaee-tck-dev.mbox.gz) (size: 1,2M)
-* [jakarta.ee-wg](mboxes/jakarta.ee-wg.mbox.gz) (size: 9,5M)
-* [javamail-dev](mboxes/javamail-dev.mbox.gz) (size: 40K)
-* [jaxrs-dev](mboxes/jaxrs-dev.mbox.gz) (size: 3,1M)
-* [jdt-core-dev](mboxes/jdt-core-dev.mbox.gz) (size: 3,8M)
-* [jdt-dev](mboxes/jdt-dev.mbox.gz) (size: 4,7M)
-* [jemo-dev](mboxes/jemo-dev.mbox.gz) (size: 4,0K)
-* [jersey-dev](mboxes/jersey-dev.mbox.gz) (size: 264K)
-* [jetty-announce](mboxes/jetty-announce.mbox.gz) (size: 5,4M)
-* [jetty-dev](mboxes/jetty-dev.mbox.gz) (size: 23M)
-* [jetty-users](mboxes/jetty-users.mbox.gz) (size: 33M)
-* [jgit-build](mboxes/jgit-build.mbox.gz) (size: 2,0M)
-* [jgit-dev](mboxes/jgit-dev.mbox.gz) (size: 8,0M)
-* [jms-dev](mboxes/jms-dev.mbox.gz) (size: 128K)
-* [jnosql-dev](mboxes/jnosql-dev.mbox.gz) (size: 5,5M)
-* [jsonp-dev](mboxes/jsonp-dev.mbox.gz) (size: 4,0K)
-* [kapua-dev](mboxes/kapua-dev.mbox.gz) (size: 14M)
-* [kura-commit](mboxes/kura-commit.mbox.gz) (size: 2,2M)
-* [kura-dev](mboxes/kura-dev.mbox.gz) (size: 26M)
-* [ldt-dev](mboxes/ldt-dev.mbox.gz) (size: 300K)
-* [leshan-commit](mboxes/leshan-commit.mbox.gz) (size: 448K)
-* [leshan-dev](mboxes/leshan-dev.mbox.gz) (size: 6,6M)
-* [linuxtools-dev](mboxes/linuxtools-dev.mbox.gz) (size: 11M)
-* [lsp4e-dev](mboxes/lsp4e-dev.mbox.gz) (size: 732K)
-* [lsp4j-dev](mboxes/lsp4j-dev.mbox.gz) (size: 64K)
-* [lsphub-dev](mboxes/lsphub-dev.mbox.gz) (size: 8,0K)
-* [lts-iwg](mboxes/lts-iwg.mbox.gz) (size: 6,0M)
-* [lyo-dev](mboxes/lyo-dev.mbox.gz) (size: 13M)
-* [m2e-dev](mboxes/m2e-dev.mbox.gz) (size: 6,5M)
-* [m2e-users](mboxes/m2e-users.mbox.gz) (size: 23M)
-* [m2t-dev](mboxes/m2t-dev.mbox.gz) (size: 2,1M)
-* [mat-dev](mboxes/mat-dev.mbox.gz) (size: 3,0M)
-* [mdmbl-dev](mboxes/mdmbl-dev.mbox.gz) (size: 1,3M)
-* [mdt-ocl.dev](mboxes/mdt-ocl.dev.mbox.gz) (size: 5,0M)
-* [mdt-papyrus.dev](mboxes/mdt-papyrus.dev.mbox.gz) (size: 58M)
-* [microprofile-dev](mboxes/microprofile-dev.mbox.gz) (size: 1,6M)
-* [milo-dev](mboxes/milo-dev.mbox.gz) (size: 2,2M)
-* [modeling-pmc](mboxes/modeling-pmc.mbox.gz) (size: 29M)
-* [modisco-dev](mboxes/modisco-dev.mbox.gz) (size: 76K)
-* [mojarra-dev](mboxes/mojarra-dev.mbox.gz) (size: 48K)
-* [mosquitto-dev](mboxes/mosquitto-dev.mbox.gz) (size: 8,0M)
-* [mylyn-dev](mboxes/mylyn-dev.mbox.gz) (size: 7,8M)
-* [mylyn-docs-dev](mboxes/mylyn-docs-dev.mbox.gz) (size: 940K)
-* [mylyn-pmc](mboxes/mylyn-pmc.mbox.gz) (size: 1,4M)
-* [nattable-dev](mboxes/nattable-dev.mbox.gz) (size: 624K)
-* [nebula-dev](mboxes/nebula-dev.mbox.gz) (size: 17M)
-* [omr-dev](mboxes/omr-dev.mbox.gz) (size: 284K)
-* [oomph-dev](mboxes/oomph-dev.mbox.gz) (size: 668K)
-* [openadx](mboxes/openadx.mbox.gz) (size: 1,4M)
-* [opengenesis-wg](mboxes/opengenesis-wg.mbox.gz) (size: 72K)
-* [openmdm-wg-members](mboxes/openmdm-wg-members.mbox.gz) (size: 1,9M)
-* [open-measured-data-wg](mboxes/open-measured-data-wg.mbox.gz) (size: 62M)
-* [openmobility](mboxes/openmobility.mbox.gz) (size: 1,5M)
-* [openpass-wg](mboxes/openpass-wg.mbox.gz) (size: 1,1M)
-* [orb-dev](mboxes/orb-dev.mbox.gz) (size: 8,0K)
-* [orbit-dev](mboxes/orbit-dev.mbox.gz) (size: 7,4M)
-* [orion-releng](mboxes/orion-releng.mbox.gz) (size: 315M)
-* [osbea-wg](mboxes/osbea-wg.mbox.gz) (size: 16K)
-* [p2-dev](mboxes/p2-dev.mbox.gz) (size: 19M)
-* [paho-dev](mboxes/paho-dev.mbox.gz) (size: 36M)
-* [papyrus-ic](mboxes/papyrus-ic.mbox.gz) (size: 11M)
-* [passage-dev](mboxes/passage-dev.mbox.gz) (size: 44K)
-* [pde-dev](mboxes/pde-dev.mbox.gz) (size: 8,5M)
-* [photran](mboxes/photran.mbox.gz) (size: 11M)
-* [platform-dev](mboxes/platform-dev.mbox.gz) (size: 3,2M)
-* [platform-releng-dev](mboxes/platform-releng-dev.mbox.gz) (size: 30M)
-* [platform-swt-dev](mboxes/platform-swt-dev.mbox.gz) (size: 31M)
-* [platform-ui-dev](mboxes/platform-ui-dev.mbox.gz) (size: 27M)
-* [ptp-dev](mboxes/ptp-dev.mbox.gz) (size: 44M)
-* [ptp-user](mboxes/ptp-user.mbox.gz) (size: 36M)
-* [qvto-dev](mboxes/qvto-dev.mbox.gz) (size: 9,1M)
-* [rap-dev](mboxes/rap-dev.mbox.gz) (size: 6,6M)
-* [rdf4j-dev](mboxes/rdf4j-dev.mbox.gz) (size: 9,4M)
-* [recommenders-dev](mboxes/recommenders-dev.mbox.gz) (size: 38M)
-* [reddeer-dev](mboxes/reddeer-dev.mbox.gz) (size: 28K)
-* [scada-dev](mboxes/scada-dev.mbox.gz) (size: 508K)
-* [scava-dev](mboxes/scava-dev.mbox.gz) (size: 352K)
-* [science-iwg](mboxes/science-iwg.mbox.gz) (size: 58M)
-* [science-pmc](mboxes/science-pmc.mbox.gz) (size: 1,3M)
-* [scout-dev](mboxes/scout-dev.mbox.gz) (size: 464K)
-* [simopenpass-dev](mboxes/simopenpass-dev.mbox.gz) (size: 4,0K)
-* [sirius-dev](mboxes/sirius-dev.mbox.gz) (size: 332K)
-* [smarthome-dev](mboxes/smarthome-dev.mbox.gz) (size: 192K)
-* [soa-pmc](mboxes/soa-pmc.mbox.gz) (size: 58M)
-* [soc-dev](mboxes/soc-dev.mbox.gz) (size: 9,2M)
-* [sparkplug-wg](mboxes/sparkplug-wg.mbox.gz) (size: 4,0K)
-* [sphinx-dev](mboxes/sphinx-dev.mbox.gz) (size: 20K)
-* [sprotty-dev](mboxes/sprotty-dev.mbox.gz) (size: 8,0K)
-* [statet-dev](mboxes/statet-dev.mbox.gz) (size: 12K)
-* [statet-users](mboxes/statet-users.mbox.gz) (size: 36K)
-* [stem-dev](mboxes/stem-dev.mbox.gz) (size: 19M)
-* [sumo-announce](mboxes/sumo-announce.mbox.gz) (size: 28K)
-* [sumo-dev](mboxes/sumo-dev.mbox.gz) (size: 3,8M)
-* [sumo-user](mboxes/sumo-user.mbox.gz) (size: 118M)
-* [sw360-dev](mboxes/sw360-dev.mbox.gz) (size: 14M)
-* [sw360-users](mboxes/sw360-users.mbox.gz) (size: 8,0K)
-* [swtchart-dev](mboxes/swtchart-dev.mbox.gz) (size: 140K)
-* [tcf-dev](mboxes/tcf-dev.mbox.gz) (size: 5,3M)
-* [technology-pmc](mboxes/technology-pmc.mbox.gz) (size: 24M)
-* [thingweb-dev](mboxes/thingweb-dev.mbox.gz) (size: 20K)
-* [tinydtls-dev](mboxes/tinydtls-dev.mbox.gz) (size: 784K)
-* [tm4e-dev](mboxes/tm4e-dev.mbox.gz) (size: 84K)
-* [tm-dev](mboxes/tm-dev.mbox.gz) (size: 5,1M)
-* [tools-pmc](mboxes/tools-pmc.mbox.gz) (size: 16M)
-* [tracecompass-dev](mboxes/tracecompass-dev.mbox.gz) (size: 12M)
-* [tycho-dev](mboxes/tycho-dev.mbox.gz) (size: 2,1M)
-* [tycho-user](mboxes/tycho-user.mbox.gz) (size: 34M)
-* [unide-dev](mboxes/unide-dev.mbox.gz) (size: 1,6M)
-* [usssdk-dev](mboxes/usssdk-dev.mbox.gz) (size: 20K)
-* [viatra-dev](mboxes/viatra-dev.mbox.gz) (size: 2,3M)
-* [wakaama-dev](mboxes/wakaama-dev.mbox.gz) (size: 4,9M)
-* [websocket-dev](mboxes/websocket-dev.mbox.gz) (size: 24K)
-* [wildwebdeveloper-dev](mboxes/wildwebdeveloper-dev.mbox.gz) (size: 16K)
-* [winery-dev](mboxes/winery-dev.mbox.gz) (size: 468K)
-* [wtp-dev](mboxes/wtp-dev.mbox.gz) (size: 48M)
-* [wtp-pmc](mboxes/wtp-pmc.mbox.gz) (size: 19M)
-* [wtp-releng](mboxes/wtp-releng.mbox.gz) (size: 19M)
-* [xacc-dev](mboxes/xacc-dev.mbox.gz) (size: 140K)
-* [xtext-dev](mboxes/xtext-dev.mbox.gz) (size: 3,8M)
-* [yasson-dev](mboxes/yasson-dev.mbox.gz) (size: 32K)
-
-----
-
-Note: list obtained through the following command:
-
-    for i in `ls`; do
-         s=`du -sh $i | cut -f1`;
-         echo "* [${i%%.mbox.gz}]($i) (size: $s)" >> list.txt;
-    done
diff --git a/datasets/eclipse_mls/mbox_csv_analysis.html b/datasets/eclipse_mls/mbox_csv_analysis.html
deleted file mode 100644
index 89808d2..0000000
--- a/datasets/eclipse_mls/mbox_csv_analysis.html
+++ /dev/null
@@ -1,828 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-
-<head>
-
-<meta charset="utf-8" />
-<meta name="generator" content="pandoc" />
-<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
-
-
-<meta name="author" content="Boris Baldassari -- Castalia Solutions" />
-
-
-<title>Eclipse mailing lists</title>
-
-<script src="data:application/x-javascript;base64,LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo="></script>
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<link href="data:text/css;charset=utf-8,html%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsize%2Dadjust%3A100%25%7Dbody%7Bmargin%3A0%7Darticle%2Caside%2Cdetails%2Cfigcaption%2Cfigure%2Cfooter%2Cheader%2Chgroup%2Cmain%2Cmenu%2Cnav%2Csection%2Csummary%7Bdisplay%3Ablock%7Daudio%2Ccanvas%2Cprogress%2Cvideo%7Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Abaseline%7Daudio%3Anot%28%5Bcontrols%5D%29%7Bdisplay%3Anone%3Bheight%3A0%7D%5Bhidden%5D%2Ctemplate%7Bdisplay%3Anone%7Da%7Bbackground%2Dcolor%3Atransparent%7Da%3Aactive%2Ca%3Ahover%7Boutline%3A0%7Dabbr%5Btitle%5D%7Bborder%2Dbottom%3A1px%20dotted%7Db%2Cstrong%7Bfont%2Dweight%3A700%7Ddfn%7Bfont%2Dstyle%3Aitalic%7Dh1%7Bmargin%3A%2E67em%200%3Bfont%2Dsize%3A2em%7Dmark%7Bcolor%3A%23000%3Bbackground%3A%23ff0%7Dsmall%7Bfont%2Dsize%3A80%25%7Dsub%2Csup%7Bposition%3Arelative%3Bfont%2Dsize%3A75%25%3Bline%2Dheight%3A0%3Bvertical%2Dalign%3Abaseline%7Dsup%7Btop%3A%2D%2E5em%7Dsub%7Bbottom%3A%2D%2E25em%7Dimg%7Bborder%3A0%7Dsvg%3Anot%28%3Aroot%29%7Boverflow%3Ahidden%7Dfigure%7Bmargin%3A1em%2040px%7Dhr%7Bheight%3A0%3B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7Dpre%7Boverflow%3Aauto%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%2Cmonospace%3Bfont%2Dsize%3A1em%7Dbutton%2Cinput%2Coptgroup%2Cselect%2Ctextarea%7Bmargin%3A0%3Bfont%3Ainherit%3Bcolor%3Ainherit%7Dbutton%7Boverflow%3Avisible%7Dbutton%2Cselect%7Btext%2Dtransform%3Anone%7Dbutton%2Chtml%20input%5Btype%3Dbutton%5D%2Cinput%5Btype%3Dreset%5D%2Cinput%5Btype%3Dsubmit%5D%7B%2Dwebkit%2Dappearance%3Abutton%3Bcursor%3Apointer%7Dbutton%5Bdisabled%5D%2Chtml%20input%5Bdisabled%5D%7Bcursor%3Adefault%7Dbutton%3A%3A%2Dmoz%2Dfocus%2Dinner%2Cinput%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Dinput%7Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bpadding%3A0%7Dinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Dinner%2Dspin%2Dbutton%2Cinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Douter%2Dspin%2Dbutton%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%3B%2Dwebkit%2Dappearance%3Atextfield%7Dinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Dcancel%2Dbutton%2Cinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Ddecoration%7B%2Dwebkit%2Dappearance%3Anone%7Dfieldset%7Bpadding%3A%2E35em%20%2E625em%20%2E75em%3Bmargin%3A0%202px%3Bborder%3A1px%20solid%20silver%7Dlegend%7Bpadding%3A0%3Bborder%3A0%7Dtextarea%7Boverflow%3Aauto%7Doptgroup%7Bfont%2Dweight%3A700%7Dtable%7Bborder%2Dspacing%3A0%3Bborder%2Dcollapse%3Acollapse%7Dtd%2Cth%7Bpadding%3A0%7D%40media%20print%7B%2A%2C%3Aafter%2C%3Abefore%7Bcolor%3A%23000%21important%3Btext%2Dshadow%3Anone%21important%3Bbackground%3A0%200%21important%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Da%2Ca%3Avisited%7Btext%2Ddecoration%3Aunderline%7Da%5Bhref%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28href%29%20%22%29%22%7Dabbr%5Btitle%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28title%29%20%22%29%22%7Da%5Bhref%5E%3D%22javascript%3A%22%5D%3Aafter%2Ca%5Bhref%5E%3D%22%23%22%5D%3Aafter%7Bcontent%3A%22%22%7Dblockquote%2Cpre%7Bborder%3A1px%20solid%20%23999%3Bpage%2Dbreak%2Dinside%3Aavoid%7Dthead%7Bdisplay%3Atable%2Dheader%2Dgroup%7Dimg%2Ctr%7Bpage%2Dbreak%2Dinside%3Aavoid%7Dimg%7Bmax%2Dwidth%3A100%25%21important%7Dh2%2Ch3%2Cp%7Borphans%3A3%3Bwidows%3A3%7Dh2%2Ch3%7Bpage%2Dbreak%2Dafter%3Aavoid%7D%2Enavbar%7Bdisplay%3Anone%7D%2Ebtn%3E%2Ecaret%2C%2Edropup%3E%2Ebtn%3E%2Ecaret%7Bborder%2Dtop%2Dcolor%3A%23000%21important%7D%2Elabel%7Bborder%3A1px%20solid%20%23000%7D%2Etable%7Bborder%2Dcollapse%3Acollapse%21important%7D%2Etable%20td%2C%2Etable%20th%7Bbackground%2Dcolor%3A%23fff%21important%7D%2Etable%2Dbordered%20td%2C%2Etable%2Dbordered%20th%7Bborder%3A1px%20solid%20%23ddd%21important%7D%7D%40font%2Dface%7Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%20format%28%27embedded%2Dopentype%27%29%2Curl%28data%3Aapplication%2Fx%2Dfont%2Dwoff%3Bbase64%2Cd09GRgABAAAAAFuAAA8AAAAAsVwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcbSqX3EdERUYAAAF0AAAAHwAAACABRAAET1MvMgAAAZQAAABFAAAAYGe5a4ljbWFwAAAB3AAAAsAAAAZy2q3jgWN2dCAAAAScAAAABAAAAAQAKAL4Z2FzcAAABKAAAAAIAAAACP%2F%2FAANnbHlmAAAEqAAATRcAAJSkfV3Cb2hlYWQAAFHAAAAANAAAADYFTS%2FYaGhlYQAAUfQAAAAcAAAAJApEBBFobXR4AABSEAAAAU8AAAN00scgYGxvY2EAAFNgAAACJwAAAjBv%2B5XObWF4cAAAVYgAAAAgAAAAIAFqANhuYW1lAABVqAAAAZ4AAAOisyygm3Bvc3QAAFdIAAAELQAACtG6o%2BU1d2ViZgAAW3gAAAAGAAAABsMYVFAAAAABAAAAAMw9os8AAAAA0HaBdQAAAADQdnOXeNpjYGRgYOADYgkGEGBiYGRgZBQDkixgHgMABUgASgB42mNgZulmnMDAysDCzMN0gYGBIQpCMy5hMGLaAeQDpRCACYkd6h3ux%2BDAoPD%2FP%2FOB%2FwJAdSIM1UBhRiQlCgyMADGWCwwAAAB42u2UP2hTQRzHf5ekaVPExv6JjW3fvTQ0sa3QLA5xylBLgyBx0gzSWEUaXbIoBBQyCQGHLqXUqYNdtIIgIg5FHJxEtwqtpbnfaV1E1KFaSvX5vVwGEbW6OPngk8%2FvvXfv7pt3v4SImojIDw6BViKxRgIVBaZwVdSv%2BxvXA%2BIuzqcog2cOkkvDNE8Lbqs74k64i%2B5Sf3u8Z2AnIRLbyVCyTflVSEXVoEqrrMqrgiqqsqqqWQ5xlAc5zWOc5TwXucxVnuE5HdQhHdFRHdNJndZZndeFLc%2FzsKJLQ%2FWV6BcrCdWkwspVKZVROaw0qUqqoqZZcJhdTnGGxznHBS5xhad5VhNWCuturBTXKZ3RObuS98pb9c57k6ql9rp2v1as5deb1r6s9q1GV2IrHSt73T631424YXzjgPwqt%2BRn%2BVG%2BlRvyirwsS%2FKCPCfPytPypDwhj8mjctRZd9acF86y89x55jxxHjkPnXstXfbt%2FpNjj%2FnwXW%2BcHa6%2FSYvZ7yEwbDYazDcIgoUGzY3h2HtqgUcs1AFPWKgTXrRQF7xkoQhRf7uF9hPFeyzUTTSwY6EoUUJY6AC8bSGMS4Ys1Au3WaiPSGGsMtkdGH2rzJgYHAaYjxIwQqtB1CnYkEZ9BM6ALOpROAfyqI%2FDBQudgidBETXuqRIooz4DV0AV9UV4GsyivkTEyMMmw1UYGdhkuAYjA5sMGMvIwCbDDRgZeAz1TXgcmDy3YeRhk%2BcOjCxsMjyAkYFNhscwMrDJ8BQ2886gXoaRhedQvyTSkDZ7uA6HLLQBI5vGntAbGHugTc53cMxC7%2BE4SKL%2BACOzNpk3YWTWJid%2BiRo5NXIKM3fBItAPW55FdJLY3FeHBDr90606JCIU9Jk%2BMs3%2FY%2F8L8jUq3y79bJ%2F0%2F%2BROoP4v9v%2F4%2Fmj%2Bi7HBXUd0%2FelU6IHfHt8Aj9EPGAAoAvgAAAAB%2F%2F8AAnjaxb0JfBvVtTA%2BdxaN1hltI1m2ZVuSJVneLVlSHCdy9oTEWchqtrBEJRAgCYEsQNhC2EsbWmpI2dqkQBoSYgKlpaQthVL0yusrpW77aEubfq%2Fly%2BujvJampSTW5Dvnzmi1E%2Bjr%2F%2F3%2BXmbu3Llz77nnbuece865DMu0MAy5jGtiOEZkOp8lTNeUwyLP%2FDH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Jte5iD0bReM9yjTxnQxCRj3c5kFzGJmGbNKmwGw39IJDJcXJZGMkaAB4jyJAKw0jt5IAuIE%2BA%2BU3cVAZZrq9zhDyBrU8oosuxcGNTzCKJfla7JjNVmuSb%2F%2BtuzN2H%2BX4vlB%2BPpdfMXXmuVsNiub1T34SFbjYw5itEvVi0K0Nt9pNJUMI7SLGRhf2xipfCYf8z5OdlGKayOucFeVPeS%2Fdbo3lBrbSMmwUiQN5%2Fed7g0Ds1s17IuZC5kNzM3MZ6EWCa0DtekdJfAxz%2BR%2FOX28sND7yRMTBcf%2B%2Bs8mQCQWHya4qBv%2FufeMoWyslPA9DtMxUknxkH%2FyfTnm2CMYzs%2BCq3r7PxY%2FMXomrvTEsRpfEGHa%2BWN8E1AHjElb7d06ddA7oK%2F%2B5Mdsv9EtPms0jv0Z5kf1FqPxWdFtfFr0kHfgDX0Y%2B5PRSG7RUj0tQr7rmfX8DH4G5W28kKeJLtmQsQkuwMP1pk16EV4sl7vrMJATfyUWo%2FGwEco4rh4XFQgaiUX9qxZHrMQqKnz%2Fc2d8b9TysYrAuXpP%2FRf%2FGr8b1qwwc5a%2BeuLa6S6sneNXToG2XrEJi4R5SGs8Sq2S3d97bsfCRaTdaLwKClRHt37mkudvXbjwVrLhuYeGhh56bvfQkHpk2CwvwClqgWwuBfndC3c8dwmstj81KkagcUgbfPY8Zje0W%2F82VPWJHmSq6pP8hPWpotc%2FEexDOK3qU%2BwngPhOCiO9MJRm8TJefjelrzoKnG2Bn%2B1NCUmPE4gHFmBN9jrTigRIpsACrc9Gstg58ULkp9467%2BGf%2FeFnD5%2F31lNrt2967dhrm7bzI%2BVT5m%2BfzKhvf2MzpICEm79Bopkn07lt1762adNr127LwVqQLdJ5%2BlpQDcvHPQtVY5knhYrK6q8%2FJsiP6EuhGZdFdaNszjvpqvc%2BPI0CdjN0AXsFOC3ZfALDJwr4q2Xq%2BGF%2BGNbsxUg5NLLIEXi8otcDQcUts0D8eQ1iVDRAMBTsYiNdRIxE09EIBJO9A2xqgERTaW86BUFn0OD2xFO97FAgFhF6OoQ7prYt4XwSeUgQHiJyDbeke9IdQntciLQ1FlJMaYcUNvZBg%2BFB1ubjlnRNvl3o6IEU2w7fdNPhm%2Fhh%2BFLysUu6%2B%2BDLHkOkrSHYEjH0tEPe7WdD3uyDgvAgK%2Fm4szFFR7ch0toUgBTdWHr7EpaWru6%2B6dmbbnqWEbV2EtxAsXiZAPTtGPSbHsotI2leoM8TePEqgSQprs7AGFf8kuOkPdZPXGb55POAW1d%2FjLST9v5YflasP6v%2FCO7%2BGNAPC2BMZWmsOjp2NNbfHwMCJD%2BLPVL%2BD%2FOYlWEEI%2F9jpPddOFkB5d1GSuKZYggmCCd7JUxD7EXAzxyirYnNDLdDZoFdx14kivkvGc3579Jm36reTTvDgBnaO6vzyQ6chQmlsMoIkIQ2%2BbBDWBud1Va4pcCn8CPqxlh%2FfgtG8IPaPH8C5wk6%2FnZDv69jurV5QhtwE0x2iqOsj9Mx8B9%2F0EaUdiPfOYYDCi%2Fq9jhWRuupMDEU0%2BCtX0sDFxv07T%2FK5niBPqN9%2BtQjgEc31NGCXFeMcCEuQBIc%2FBK4CO78u7EPYvl3yaEfK3vcb6qP1R2tI7vUjVDDUdKubsSrNjYKY1qBEa2P50SJoaXiksIoLiCwnxS6EBuBde87botNfdEWwYvF%2FR0%2Fu5yCqhGeEOR2ynSeyXjt6ka7neyye8kryBSWE52y%2BRBgogrXPZ8E1yIHoHIFUM%2BAbJhE7lbMtt8ApL%2BxmZW7PwbjAO0fAVoXQOuiSP%2FksIVdFZ0aulsamKUzwPZ%2FNYDMJRBPCxsBqLzqHyneXF6Ej9HlIFo7%2Bpg%2BjUb3unRmGpstGkm6etOuDBGA5wCMefp1gTHcdZlvPBXlOslvYTp1cd8UjYLVd%2FJ5awNrIOKLnIt9MD9qdrKrWCvA6ALm3QV9VrsPm60Q7%2BRHJHP%2B2hqfugo%2FMvI2H%2Fmqr4b9tFnKSRY1Y5Ek80Nm%2FWIhr1ikKnxGz9TWXrokf9xwujfvcOTtNTWnxd0F37Y2W79tteBqZ4G5qLCuomw%2BnSr28QESCRVLTyYKILGJOPfcnaIFOsewhRdvv%2BrWa%2FWih0vlbX6Zb75T5C0qNKVFvH1QL%2FvazSWgC2s6oWXXIuUxQelKiJbowuJDQViatLmLijg9CQBMg8WiPgiw3LEeYRmm5f%2BXdnvkDnxLLjMLxtvX74C3OlwPQqx4xwIdpPx38LrlDphiyWUWHWKAzzxurS%2FxTo%2BP5wGFak62ap1PVFFN4v%2Fy%2BxuR39WnIO7lsWfwgVsK17wxrs9K8ltIKuhkw7f%2F6dhK6gQokFKhWX3urrjk%2FrnI0pgfpGMeuQIUaEM7%2BGF5q2iMkCaMQwxxOzcvU0eXbsnS9XknXvP7Gtw5dwPXlFu2ecvSHEZgNDsU6x%2FGdXBYXyOQjzZReSedeEPY6nEv9gJR4oBQJtFO6Kd0fwC6BO4LNHDeBujB6dSNcUQC9zIv2LnAzGk99bUDrdFY%2B9yGFQtEo0GQPNv6vS2drj4%2B1jHbv3aJSMUWP%2BQTZrmbNTjU8wyG%2FiXNNpskybLcJ3CiTF5Ir%2BJYzmJwE0mSVhlxbtbmvweB3ulB6Til5UuUZydpgiFVeobhU0WaBqpJ198d%2B%2FXeNRTZ9%2F1OPfG7%2B2hwzd5W3D%2BhmyjsRcUg%2F%2BCavb%2B%2BVh2ls3L7zT%2FetOnHNxeerv313vzLVqPai4nJv%2BK1FC6040%2F4udw7sAb3laSg0XCkAAs0npBO6VJabS4Elk%2FU%2BD4gTXW%2Bj0wnrMlqNamq4tMIYB87tE10i0FR3LZNhJsb7%2FR561btmes8YBCRkhYNByRtKd55mqTas9FYhJnbRGHuOh3M4QTdgQSqmgRxuzGdSvZGcbMxNQGk5C3ebLjoXIOFM4l%2BWKHmLTJwRv9E8GWJ6dYvf%2FFmEyEGr%2Bgyrr1p5zrgkz0Cw2j94Hv8Jdx7dIVegBSNtgsqGsRQEYiIBoXwD0LNvQ5d7s5Z00QzwNhqZA0b%2BtMG1tQq5nd84uq8R0zPvX35G8uRaze4jcOHzz0w1%2BQ2BIRvf6J6Kgatnrbiem%2BCFvAxfkrndzD9MFPP1GWTUHclpASUkCNAQkpCCcCgDSUDAhDZ%2BCuEkgn8J7i9nMA7pA4lISappxILKfAeSAbIcSDuN2bJcfZILqeO5rLs0MnngSHYRdrHjmaz7JEsEPw51ZqDJDmUIOZIe34WaQeegNsJn1qz8AIpT3yCjyEih%2FxELkuJ0lEMYTLVCiWpo5oYMleMH6USyYJcD%2BuOe%2BkWKpn1Qns34iyYDjkSLvgnZXcgVQNeqINXr48m3iS7cjm8tedyY0f1QvTnHHdsrKby%2F%2BSSbPY8%2FNH6vpl%2FEsq3Ae4ZU1HC44KFiI9o7CEgab%2FRqHbj7s5KAg06s39ZP%2FzxI%2FmVuF%2FTbTSy%2B3Fb8If9%2Fcv7%2Bwt91yy8RfP1QXtW5RzQn7qIiZyuFM5QfJ5E9uVnqT85TanFx0lkP3ukBAMprvsRyi%2FC8NAJL1xbIIirSvnSj4O5netb4JxmNANHPssHAcHMHsFRgEug816gDBeMbdfiuRcghqYcm0%2BXxx%2F5IAEtN3fqFF3LzAXqwoT0PN0OVTNqxo8sxMkd5Ig6k79Zk7VxxX6gMLOZFQgvpW2RrMW1D0BDihaXQ9wVRoBxPLfpknmkeMtoB%2FqM9cRc9IqmMD2XUmdZ7GSRKPUZvChf8BoykriM2MnKYbOHX8R7cLdNCxSFFVQqoYswnlWtlFS2mNkhswVpZiQW1J%2FUKFfipHGlUkM6UKBhMz1istELIHJLMSctu3ugzfaVSOjKvUgc%2FTHK4Sdg2Wscz69leKIkkrwuuWiOe9yGYKQXRumkC3qbRcMwrvhjNXgdZk3RxAUEhuSPvn3nnd%2B%2BU%2F3vlVOmrJzCD8JLxV1OHRjrZifbcFDOuRNTGqdgQm1tSNJ2OcQ04YiEXuxtII1ECSQRoQGYioEsgCfchB4ghAtw7FfJre4WZ9hkVi9MtjuWqtdNDlpMrfEG9fOT6q21okg%2Be4As38MfGquNt7oUws6Ysarj1%2FefE%2Byst86YUVNvDdts3Pv5c8m%2FaP0C%2Bf8%2FQb%2BIMnGq09BgwN01oIOAnAdagI8mBSrqk1gxTDUBOtk2ousEtBH2z4Ir2d3f6k8PXXVlt2qN9RODxRuoJT%2Fv27wm09jRYVc%2Fe%2B%2Biyx2tyzJb%2Fn3J0htXP87eSsQaf2Ly0s6Zmxela88REy1cf4273mI3iXNJ7KxrZibOm9xm6rl4fqy%2Ft27smU8tOfdW2ucBzg2UfmOIVyLIl3kpYlwphDISTXJXsctmiDtN7fNV6zelgxwnWxsVr83Aj%2FS5ki1jL%2Fa0GC6%2B2L6Um%2BaoddlNFuj%2BbJ8mH%2FiaLh8I0%2FU51NspIEfq0dohwyFXKgm4NggwQ4rRhCOUFtxxo8XnitT4cnGfT93IS8FaT85XE3H5LMY4zIEPL1hw443wz%2B1UmhTJyJGxZzw%2BwsKkKZgUiVtKOKMEb2AKHTv61FNc01PQFwKnvsZ%2F9pPA4RKTASWahmh%2B8MxwzHxKy74IRn5LGRjsPUUwTu64UYNY38caqd7HKucZ%2FtHnODtENw%2F2UfHRMaq1UUPDJQ0OKkWCeet5fYOhII1VRz8%2B%2FElg5j4Gxur3J8o2PJ4rg%2B2d08T%2FfwEzSVbyZ9XPro95T477lRKqUSRXQnauHNsISAl27oWi6Fv9z48JMv8r%2FaMMj8onCP%2FDuDZOuN%2BGPPr%2F%2Bp7bx%2B7JlbYdppcNhzKU%2F1Px5aiaGDn%2Fs1iGMaBcleKUo%2Fv9rcxkZj7DBEKOfrayytXNLYiUdBY%2BpleQXdnscKlQcpzuWluxsieeyuXIK6SdxozitWyGOV3vOHHjguyCQ6fpIYy2JwvrQEF%2FQa9Pdf%2FQqOSqCiE%2FEE1%2FXIVKTc2tzWbHnimrEd%2BVyz311Ml3P0GVTj7PD5aDnsvCvH36alEaPMePcMegXs7x8igTu4B9v7G9vTHvhCu%2FkzIdx%2BBxC0ay9zRSvoS0F2lIxI%2BX7klU63I40gLQ3w5ep5na%2BSFnba3z5D64zv%2BQtM4n4ffG3tq4aNHGRfxgrXPMim%2B5487abL7xhdseIRn1KDl%2B7aINixdv0OD%2BJSPwKf5%2BxoP6aiTeQIDVlIhMcL1H5R9PYXvprs3fv2bO7MOplCmweuiq2JRZ1zz%2B9a%2Fv2PH1Hfz9236w%2BZrPXvWfAxlj4NLLHpq3c%2FPQ3uvmvbrjG7fe%2Bo2y%2FcLdtE6VUlXi0ASb1VLUBVSUWSU4HdvAraTyS8xzM8NxvxFkXV6pUVRiJwcgC5zEeht4rwcp7ki0k41G0qlQhG1Vzlq8alEmnFi58caB5Q9vn988MLhqyVlHvLEWjtQFeupdiocF%2FtkkOGPW2ibWaBTkeZ%2FdvPWazXfOnnvL6jkRXpi85sFzZt%2B55ZptW3bl1cCCHZPD06MhySha7UFzjcjbp8fOecFCirzAG%2FyVjBX6OFIaadSjQq1nNhyIe8tVbaaSdHlXIWKacMeuZA1uxS95zILhyrxAdsXTL6m7kNQlx2P9uZf2qhufePFFbpI6%2FOU0WcP99RrCsrwseVot5mtytpf6Y0gm9sdeyKnPQ7onyK4nXlR%2Frg7H95M1upzu89DH6pgUcikoiihJ6NJKmRxV1x%2BMJiOA3YwhDRQrWU0u%2F0rvq0VYXnyCwsLeTJYBq3dAtJDavuzyoVpzZ99Z0%2Ba0uoiFH%2FxcqgDR7rUFeOrUn6Cywb8ZeNMbhLV5ugP9l0zv9UN5b5mFkjzxUcpPJCn3V402pRxtJd2GrnLdhtVk9ZSZh9W91fCSH5B7ofxPiWL%2Bj3D%2FuwhBRdyAyozeZwvQzs79soi%2BBKSnafLviZCcfrpBpLyimfLfTyJtbyruIQKD01tUwJyKEo%2FybaxkSNFUMdMkhQoJyRBQFhnUkDQSXhTM%2B3NmY0EDM7ffLIjqWEGt8lCO6mLia3PukFnghosJD5p5SIho%2FVDkzQfLE%2BIrYoJXkD19pdP7OwG%2FvoIUtagiWiZ4PAFTHHlTVhRZ7dYmPar%2BNJ%2B8JhmR6DFK5DV1foHoLNO%2FpHrvZfmWZ15RQlwvoVDKhCWNK3CCch9lfFBuAqUgpFSShmNaPj%2Bi5%2B%2BWZfKeViJfW5HnUakVL4UCNVkA4%2BETfIqx4B5xSaP2L1yn0zn2ltPn4%2BOqZGmwwEVCaCSqG53ldtL1oLGAhdMLd09MpCCF6tD6ZnAZBY9hDaYsP0jzZ0j5ZjKsF4i1UmLuhbJMCnYJPt5VwFNvmZawXjEvLJqIH8STonZjq7BZ8gKgR20C9MDFqJAX1H64QW2NEup6qgzLP8cvppL%2FNNTOBTCJABOHeWoXzLhw4Wuy7gaBtjKr9kgKq8ZlRYBS32Lpxc8vIhpNDTfyNXWybMJbn2RyQ5EmWc2QF9wmSZ0KYCE%2BcPuYO6b15Uotj2Kd4MItLS7gtFbkTdrFND6pvEZqv5Yv7jXAus7Pg7avo7KDot50NX3CPkP%2BKps8J9%2F3mGQIteY%2FLGPC%2BL7872SPR2br5fy8MtKBMHedGuM28%2FMZmPJMrGgi3Gb1S%2BSi1%2FL%2FzrZwO9XH1ce%2Fz7ZQ1WSoY%2F%2BpMb5FT4ua0Wm%2BJf%2F298nFmChEQ%2BTi71est4mq9VYI6RsymoRJKYidElT2FGnDTZvqtfhGAFTbeqEw68GqtfmbVa%2F1IFO1%2FjdWr%2F8BDRRtQh9XNjubEm4aWVpVonpTGR7PVGc%2BKJNoBIWF7kYi4gUV3r1U6723i6TxUl3n3%2FtM27aZfKb7THiHW9VzFSwHJ05VfK6Ar7kaB0XgPPE0BSkSFKsBUpaLihEWoA9wBt8qirh2VSOkZwXEwyrxZ5jyt2rJmSo9gX7cg6jsEUGJU9z9xJPOEM3uQQxKgkh35DNATnVyrmJ3mbCNyIB%2Fyox4wH1bg2DwN7q9kov4pFqny8oSm3RQbGgJ1QQTs6ZMLilOVYJ9v6Wha3HcJ9jddsXp9YhGUXLXt%2FqMDnvLpPNTXfNa60z5%2FyjXQOMq%2BlNmwh5egpYrdfZQZV9rI47xlRkuyTjpzsmCBSWNkAXVoK8sgYWqQJWbo1RLo6QH0YW6pxqfCnRgkd%2BRiFjUQUQ7poIaYoakgXxwFd9BuuI38H1xBxXSFb%2FpBDIKQFn7YB3dB36l7sG1FLaKiBdp1KxLvfswap%2F30lnVESgNnvjbUoT6w9N%2BXoio0qcYOIM%2Bheg940YimsucQVvli9NEcft2UZwGQwLuilj1fFr1i3NP94X%2BPE7Hpvtj6lBJfJ4R6NvWiaL6MgzWHxiN66DExa%2BdAdAbMYX6HVF8A%2B7rjEZIXAVbDe7PVI9rmN69JOLV1DOSvRPxWNPZBZf%2FNf%2BNy65BhYxxxV%2B77XJ2wfQ389%2FIQPgajXbwMsuAz%2F0IaQcXJavKbRqR2IqyZruXjVC2%2Bhdee%2F5vdnYOedpmVtR3NGXldxSzDSIiBVpkGb9by89UpEPKrSLZmyFDzMab%2FwXl2CNe7s%2FqCtTvWgG5kpBmCBlSzDS%2Fr8N4uwBwohRW63JTS1y32f0TQsPfXVGEHQrV8%2FNCfiOUVirYcBbIeA2%2BiF68rQIo3B%2FS628vYESr79ehzS7Q9LEL9UXmik9XVHb1yBO3Ngvt5935%2Bk1efkV51mzzrM0LL3%2F20avnwMeKuWyOUZg2TasSqZ%2BKcZQiOn1Iu2Vh497ALUVZiCKt%2Fgh6IvTIj1ZLRjWAkpHKOKovNwp00eqPROiAbiNEKieXwMLcXhVJ1%2FuzmLP4tfxaHR59cBdJVG1kTAgl9ze9QKUEQ946Hkb%2BokJ5JRDyf54Axur1D%2BWS49cLr0tTPEu7UmXrxcSr3XNvumv4yXzInXKH4F7Tc7p17Zt%2Bt%2FqW2%2B93k063X7VW6lALxTY7i1nBXMxcxmzQbabxz%2BtJo%2BwijYaIGMNS8AoSMgAPt84DdHOoMPfjXhF%2BkuH1tZvuFQrRCN07xGcXRX9MYxYchDe5BcHj%2BZ4i%2B42WyPc8Xofi7bbZJN5nJLJ5qr6IqRtzqNlM17SpFsnkEyTWoABEjz4JXOQvzWYuwdnV5LNGOwTM5v9r4RpQ8ZXsYodks3o31JBlzbYtNotisnm22MxiwGFXam5oN1n0TA%2FhRvshvTSDwHff4nNzRo9Dum6PaJbMXzDz%2Bx%2BFkj4L4bFNBb1asqsgH7Dyh4DvbkPtf5yMDKzEwyoaESMSNS9P9gJVA3%2FRTlwoMwZvxECFWxIPNw9gi01nOHjP32esZTtmXHnxvZd8ZtakqQ7ekajbXetpNa6ocTVxJtY%2BuSe69OLz77zh5bDR3xjZMzUz6fxrz1nqrZGcHQHfPVefN%2BfiK86LeXj%2BSc5lPKy%2Bk%2FvCUI%2FDaLFYCWHr6nbXuILTIsb5imNKY%2FrCm28fSMxPhkN1XbNMNZGuqwOBhtTSxWuTk6bw0ZaG86b1hKddePOKuBvmiguYBn4T%2FyOqOyGRBt7bKUI1GjioBC8aUKwF7Q319UgcmtFGIzCJGBqwQij0ynDsfdFGc3TS3BlNfJ25xmzniMkpXXTPvCaD3ZaZvyzjmZdudBostmhb0ORZNN2sJBeed1HXkrUsywueQH%2BL0eCPxmsa5ZpgRJSDZ11yDv%2Bjmbd86vxZfc1WcZJ3UkMq1BOOOVtvu%2F%2BpB%2Ben186d3GTwWAw2jheaJs09%2F%2BLNfZft37DALyrNj1wABMuUKbODyTVnT%2FKYbJ3Tpq8IrNh92dkxOj5P%2FYpZx4%2FycyiVcDYdn4JbEoKdQi9054iBKsygLW46FRGxAb0NPNCm8BSNCPjoKcj6EAus4SuP3rB%2BcV99%2FeTF6294dA8%2BTK6v74MHVpYNRt%2FI30e8QGTOOdfGWzzxcy%2B87a7bLjw37rHw1nPzp0KyyRSeZO%2BQQhInt3dYgvycjrPOv%2BT8s1rptaP84VeywdWX2T4ysr0%2F7TLIs6%2Bx9zib56ye1dM9e%2FXsZmePY3NDs9zlnNVt4%2BWgHJbbz3Livg4P9WWgviOMm4kCRT6I8vw0NbUUEnFvOuFKoxQW1gTsvFirsF5pb7qTUCx4i7VmtToveaDxvK9uOaedVvPRpVOnNz0Q6bry7uiSdQ8t7Vy4JQKVS%2BXPplV2ts4bvCwZu%2BKzgITtxepaPRzWdpv74muvv6RO0SorX6cu%2FdqKn%2FXWnrtp%2FZragz13DUCl5myiFW2Ycvb0PtsXnU%2Btx8pvLFbUspLX68mdegwmOif%2FNPDONajTGoUh6tU56HBJCTBASVvNUB5VIiKpc9kd7kludodSFz7xQbiOmMk5dOYk56gzL6uaf7N8a6MQOHm0ae6snZpFDfuT3%2FjdYzjzwkXXIVHoXNuCfQslQZqBZjTsoHMqrkE4jaYdgkGz2ATOgB3cPkSukD01DnV3ttb1wx%2B6arPqbkcNAHoFPzKUUQ%2BqL0k97pjbZv1I%2FegC9zTFbrrlFpNdmea%2BgIgfWW3wqkcis8ky5FAcRd1If5nNZrl2FFpungc8wpoCl1BpQV%2FScS%2BzjlASyUTVv%2FAJ46gkJI4bHX4lTnloctxPZE1ckS3%2BjG2fKIjkQFyzuo8jvYQG1OrGvJPSTu%2FnSp9PHNTl4z5hK%2F8gtXVKF6gEKiglgcKiRlCESsQCV5QIlKWKpr34lt%2FwkSx%2FJCmP5%2FcBKQfl%2F5gd%2BrOS%2F%2Bp91%2F%2BYCg5CXK2W4M9fu%2B%2F6xxX%2BvnelVuldIDCG0VQTpU9Dw4pRfei%2B6zWx0MLie0gPbyrkmRU7OwT16JGeyXLHqOLqAfVN1GPlBzWtFNzj0TRTCjogtP1NjIvu5habN5Aoa1k66wGpqriVetJgiGdwDZtKhnN0y4n9sXYnsqGmZfDSR15%2B5NLBlhoDaedEm7sxmpqRija6ZEEg2EAnTiAC8IrmFbGz1q08P9PSkjl%2F5bqzYqT9hMmptEXDgTqP3Wiye%2BsD4Wir4jCeoHbbp5hRfpB7BakUIppIlPCD30dR1GtslDz8OsqbXmejFC%2Fv8wu5X2myq7SJ8Avzv9DFUJySf5uNvq4%2BTi7W9D%2FOZrLChdwxmPNiBRqVjnpK%2FaGxRCDspVYKAW9AN1JANoo8wP4BJUlGqdgw6m1qPQ2QW3%2BOfU5%2FieLS%2FNuKpDU3uf8bcAXyBal5jMR2NEAbPAZt0K3hvxHBEDlUxfIGcD%2BN2gNSNx36nfqlAYow0puatNpRz0e4W2oahKzQHsjf2c16ad%2F3t2KTtPobnX6D8C8pd0MDP%2BKx7wnXqGGlLQcvikMErm6TmfsuxJXbSAxqNjOogJLQBLiKEHAE%2BJGTS3JoEhTrz8%2FCB%2B5YlupJ58aOat8Kv4JvregxwcU5Cp8GFAFm1FyOfto6GS2m1NGTS6CPNKkbsTdCBlnN9onMho55BX8IJZtEQ35lk%2BhtwN5A0V3RCPoD%2FyXAcv6pAtbZczRUA64JmcUf4q7Q89ZHLeJVZ5D1Ps%2Ft%2B0iCT3AHVtZC7JDCXfR7OSb%2FXja5H3zQbZL1B%2BULX1BMTEk3AseSpmnKEK4T9ekMIidUCRQFfcbj7z8gNLvzF7mbhQN8h6ZbRset%2BnQWdS%2FZX3k7WpS8P9sfo0iGS64wV516pOhjI6TZ2dApgI5%2BLhxywYoWxKUrykKJsIoDsR4mSrCTg0egMPnLW%2F3Q5Nn8BZEuzqEI7HK3n0%2BzFmuO3TtWQ5WJoG9YqCD6Gc32SxnbnVPfsxvrFXK2dILl7bLthDp6glhcsfp4bYvbSmj%2FmQ94uBTw0E73x2jbNRCvC6VL6GCFDwU7eWQDcC5FY5s0slieRDwtAbRsbLXbaXAuu14e2OJw1dc6jQ3ZdY8v7rv2%2FBWZLqvFWVvvcmwZkK9f5jS4muO9yR5res4kfkRxhV03L1RfPOiPtYi8pd7jNEsOpyTwxpaY%2FyCZu%2FAmd5Or9uS3DYaeqVOhH7gZN%2F8I%2Fwi1fEuLXvyNivibjuKvN%2B1Nc01HF%2F3h%2Bef%2FsOhox8MPd5SFucPjorQwXT%2BytA8EmA5mamHNFDVhBI5pjZbQpugBNkO8MvRub8KVDKST1Wag7D3xlin1ZF7LFP%2F79nbvCXFOY%2BPUjrT7%2FotsPXXZ4exdPzuhZuL5LUXVAn7k7PbhG89uz3b41X01gbjP1xwlu5rrvvf9%2Bpbs6E%2FVu7Nk642%2FPYRaAiUBdrmO6CDTBLPQFA1ur0uXoBR1INDMkypKpoTqnSMx5GiEdTEaSHLs0Alvu%2F19%2F5QW9Rv1U1ridT22i%2B53pzumbs%2BXFFXYC%2B%2BCGsTj5JUT%2FGCgRt3n78i2n71FHG4%2Fu6X%2B%2B9%2Braya7os3ZbDmgWfXun44e%2Bu2NZKuGZ0HiF8M4TlMPR%2BEU6rPKRJ8wOU2RFUFLex3egEsz3YqEAq0cqhAAW19dBZIlVzR61tuIdTnpXH7l%2BuXrbjPUyep%2B8cl6aXKWhPHpDcXl9KiTWDNr4mBQc8Tq%2BNzK%2FOKSbsfl79o9G20R%2BbrBXYvUg0rLHhtrc4TN81TTOWSZ0gL1ZVlOYH2ery%2F7XVUjFMbzYpg7UswcqJPQwBd0LKLabJ8IaCr2otcjSkIrGwootKECaUd4XH1%2BSdazRrfddkBU98t1htvWrbjqSqjaCguxrffM%2F5zDCpBALUycmajhd%2BR6ww4SWafuZ5eU%2BtPid4lgd3gt%2Bb%2FY9rQoZNmiXYPXyRHbRs8zX%2Ff4WIFjWZJtUdSD55AP3xtXH%2BZipC0EqdBGDA4CoYEU6gRLGPU11QhkLTBiEYPiqOeQgwTCl9aok1Qr5pFf71qEeNxjy%2F8F0GoqYPv75Yh9j3x4DuJ%2BuEzHRpAq2lMqb%2BqfTdiq6kGtzfOWsv0c7lSeMXDHBDe1MT%2BLUgx0Pg%2Fp87u2UicdIvqQi8DkxhcUwUXCedMpb4NQjwY3npTmgsURJavLwCRyEcN2HfWsDVGfv%2Fu9ZUWUx%2BPYFueUKwaNvbtu%2BXps3eVWbN1GcgVrdMnWJ7WmJz9SD66EBidag0NF1Ukep0t5A7sFCWdhzvYwHv6L%2FBehXuHqfaBwBEU7hfVLcXvS4VQv%2BT%2FvaSIl7cbeMc7ekv9i8S3e1L5xxpvMGcu1EYPbKyCiijjGXcDKckm43PqU2qNWlXusZMiqF82cuVzolUHN9NNR0HZPxFPV9V0wLtvq%2Bk4DqOwVWDlzuQLVdqFiP08cRX7aRlBVfR8cb55bWe5LExnlcsDp1vAP8Q9BucPMk1Ulh4GnN0SAdxcNHv3q9ohx1Ati4S%2FtkWjIDe3hQdkUGrGRaFBiUdiTSkI41UkMuuQHP%2BEaSQYlPQTFWJF03BNPpTu5KFAdkWgDukzsZKMG0Q1TAQQglScOaP%2FdsZ8%2BfP75D%2F9Uu5Gs3FY%2F2SxPld0DHOciXI9gqjcEidXjE%2B3BLosy0OcX3T7O5g65ROGyzQ2BZs7WbZVnO5ydLe32hMwTQ4wnnKXW6XW5LAa7oaXOIHoUl0FgLQLH2by8wSTWeAx2Y5PDazK3BqZbeJZwXGPaYhX87ZNszoDdaRxotXO1nNlpdvAPFWHDm8PqEE0sZxDEqGzxisFNnuCWetPcGrObN0p23tTZwMuRVodSV8%2BLTrOV3eRvzjQZiSjaLYS1WEJe0kNsJlZu9LFun7%2B%2BwW4gRDRbaxw2nrOGm%2BxOj9cmtbp9ZqeTM1m8UXfQQCSTVSQox6pvtjot%2FFpHvIUjJovFEoYvHYV9C5Y%2FxN9OfcalvII37UEhTbTg%2FAQIaPb4Vz6j5u8%2FaViycMod%2FfkDcpu8QZbZoeBi%2FvbzP3XPsZvOubMtaPHkD9jt6%2BU2O7vqU%2F9C9SMvgrXpQNG%2FE0oJxun%2BCiElUa0IKQSUwERxOntKSV7ekcuh9VBZBBo3VUcB58ofKBHCwLyf9qFosz9Ibf8dGqwaBMjRig4SGOZ2UkWI7UiO9OfUPdxOYFApUZyfpY7mgEc5rtNGGk2H1lPhAk1Hp%2FVAMqQEHEUfEYkkUQq1JMdzsX7kklRrTrUi1wMcDjmu1YYfATj7Y%2BpGpPEBXuoQIj8rR9mgCl4C9yqmF7xnVWxGVniNqtpVmXBvQ6iwni5YQ8a1jYrXtc2J13HvgkvqWxuva1sbr%2BP2S5ceKGyBwDv2DbrToe1u6BkAJV7xnVLUaq0sJB8pFqcUIPi3yuwxi4JuLr%2BP30f3OkPQ72aO0xYo3%2FEsmO3QO5qEF8S0qQH0UsKXv0brnl9%2B8M7jF174%2BDsfvPOl1au%2FRL5%2F9DsbNnwHL2pHR1NTRxMZhJtHktOOxLxErPF6YlLvpC9YP73x%2B4ofw%2B3xVdrHcDE0dQQCmCRgvt9b35xINDf1CDcRSfJ%2BpYl%2BSf8YcurfmXP5F%2Fkj6J82jNsrkWiEuhVlgFfyNkB3S5MUzLhoNiwSCYcxQ7Ui4J0Xh7fmqRbaPa1tzujxkBRlsEHy0%2FOM4pYLPb7g9O6BQJN6l9zQ0OGyCaZz0vMTbHOzXfQ7a2tsterTcqxeInODoemdktw%2B1SbVhKwtW9ffe8VKadK0OVuC3bWzyKm5LeddsWTeorWyY9IMtUFutdu5g%2BRn533qkocdvLs2HmhU75br%2FMmWtD8zA3OP2t1ea636jEzqYxJZGAwFiDEd61oTsrRuW3%2F3pYNi3bS%2BRd%2BGjOfVpAPNd6y64Gsz1GaZleWIPoYL%2Fv9mTeQBENVEguiF1aC4YeXxFETw6QyPfn0m9g8IrMFAvKM1EI11DARnbqibHk%2FIojy5rSdgCyZi06y8sS024PeuO4MfwQ5Y9yKRZCqyYaF30vzeHlmUprR21tR0t0yz8KZY66zWuGvxVQB%2F36kP%2BK38t2Hu6NQ9SFJfw0AdpqPEK2qTMpf2VCqJwqPoJezTL824b8akoL%2Bx03nhh%2BoNo5e77psxg9Q5LzebIKD%2BfsY34f2MtB9fk9v5b8PT6tYrgv4kRPwd0q9z3gdJSJ0653KjCYPwCaR5aUY63eW48O%2Fkdo33yxX9wCiMv2QTrk8eGSI6Ag6moG9t2P%2FF7GRNlDjl0gw7pJ5aOXXqyqn8SENnXBmbSwUYLyqJjv3UmY1nKr4t80no0faXsaIEiF%2FBRaIBnItSce4OUif7W6Vm9T9H1X9Vj71BEm%2BRdmIJQST%2FZfVdudUvh9S%2FqqNvqT98g9SQ3lHibZY0mRVHooyDN%2FFHmTgzjdozKw28NwQ0hwN6BCoPKaEk3YtKwNhwRLXuk076CGoZNXDQcRwZvreTZY9EZi%2Bd0s4%2Bztv8iei04JQl6ZbDD2eHV7X4uHuFVfPrOmcs6m6Kr7hssr%2B1VZFcEZ%2FPdJkn1hOs8SXS%2FNFFgqt94PIZzZ3tdaL6Q5vo6piSzdy737pwsX1VyxUrF15iJ4uNkq%2Brbyg1Z%2BO8VsNC1UmcvORPRfxtPrfRwL2p%2FoA1eZp6Z%2FaGffoewaXcA%2FxBlKlQLfhQL%2FoPgBGP3qsA7IQS8qDVNswHKRSheDUvA3Q7MZoRcJMxlEygujn1QdyzfPfq3dEp%2FbXh5e5YXW2Ngfvza0ZF6UgFL%2FE0fTq4LBlvTE2qb%2FKuuzYSXVnjTfM1osvqMHVbm9950quIZlbqaL6YP7jk3kUtA0GnX2nvq53f3WoSsvEdDRnULgo2fN7lNZJgI8%2FVWi33c3bBZnGY05%2Bdm%2B3qc7fNmj4YGKLj2nfqFP%2Bg7jdDlxEV5XsJQZP6hYrS1l0VQr4c69Xueixp90gnZPmE5OF22j%2BSYEWHlZ0K%2FHgsh%2FZtsbh6h2DNRlvv6jJh9XaJaHCZDiUDKNTMkvb8vsqCyf3ZNdSmO0fa0Y4baJTtpbKzuVzeeSI7fCKr2Z0WypapnXJ4gnoWy3PoUIlIQ1TXdqhQJIXp9Wx5fYdpeWh2TY5D%2BYVyKd0jw3iumwi%2FBC3cEy4o83QlZnW79MrCgCjbhWXBlRZVVZZv4rIKpXC01HFlHdHLoeWVl6UVc%2FJ5uGm6CViW5mulYMk%2BHqNYr0AyUPivLg2oMs2MPqtuhHyRyiwvNJej1Br%2BfcLyoAyu8D9B7bgmzUqfFobF5nKnK4%2Bt8MPJkI%2FxHUNWk117jugWF%2BxazTAALQn6%2BUE9lhoI5ApGA%2FiuJOsrlNP28SVVuBVajXmircLel46w2bJS1Q0Ft0KDuikDFL%2F3pYrid1Q4FvofwRIo4R9h2ftSwc6jHAMqLcCql8YPHtlzGoByNXYN6v8hXnRaOhUvx0sVLCexwupGDR4NOYC7PePa5keIPACnuAdD7dEadRuTIiS6Lb7uskb381My5yjzF8lGCjBRqdwrWJCagfB3yCy7XT1i92hbcZ5Ci1FJkgYMDf6n%2BjspIsHFjJrTOdzSMuOa9DbDcj%2FnH9N9bIoGVgzHPWIQuFuYtaMRaq8eCKI0gEF6lPOZjBz3EEvaaxwSUT9U%2F8JbJZPJJLBLolH1La%2FRbF9AbC8JJjv%2FmMnssKjLRBJyqj9QXxNko0Ux%2FX79epfiXkm6fmKwF%2Fen1HLc6LxloXWKvGa5rVCVL83VuiPcDEX%2FK5pTXOxHfx6HHB0t2FI0qI2rCZFTrvPWU67zVuS%2FkTsLnc7IKhFg30e4FOkqNSfH5PtkmUy6Cpiv%2F36k2sbqCeCFNa%2BURpoY0sZoYmCgCr3qgZz6s8I0gP1bYiR%2BD79H56NOz0EVWCTy2%2FfffvSCCx59W7uRV9995eqrX8GLesOXNm360iZ%2BT%2FEl3uZqL%2BFyzSZ8XxpTiI%2FG0nkT4zznFZ0t4ipMz5v4q9ssqbdKUZt6u82knPCrt6PZwsnn0XySVnyPR1ZXAn72yx48bWJsu7apnI3Hy8bygUK5Js32qcytapqgmn95uexccj205vGgJ%2BeuOeG2SORmKZr%2FqKzcx9SFctMJdwMUFZDJITs7dnOp1EKZCxg304Cevyfya%2BvlKqv6aXK1qIj3imL%2BL6hL%2ByvUlFfE0VKZ7E8gBY3M%2F8VoJCFgizH1W6VyC76nH6b7jiibYVxUmVIEspry%2FLgZIlCeP11Z4zs%2FAwvVwtGFEut5S1JY4lfyT0N%2FevOLo%2BrUEgjcqc9IkGpQbv3iW7Co5b%2BKgjvpzYdH85PLcc4X21ouwEGl%2FS4qnUAvoSlXUUhR1eKr2VWFTB%2BGMl6FsiQsVD1R3urlAAIoSn7JQkmiVVCHSpCwDH%2FqPepXQ0Db77CJOAImohB%2BRPWr31ev5g%2FkE%2BzTa4lbvZo8xdWPffQu9yJTPCNB66s%2BzXoJt%2F0L6hSoCuBIoK8fnBGG87OoRckJpLqyWe4YbpGi50g0%2B3I3UD85Oa0fzubfoXxPLbW3FDWzigmyJeM0tQkax7PqTy80%2BUxfUHPlBZIRVNQ%2Bv0xRm8REKPoLmNr0%2BUo48v9GFbXPKylqQ2IKm00QddgyWGMROCTxdLB9nCY8P7j2DjlsV%2F%2Bmfr0C0r%2FNkeXbbpPlOTBBwT0mVz1zx9S%2FwJecBF9Wgv3p032iP2v4VSgfgW2G%2BHUEdEXU6iq4CtpLJfIN9XQG8dwa1VoO8XC2SrPDDyCOQptXgbcPvlAgBfxBoGwftQKeKFrNTASPt3pGGqDt%2FQRasn2kri%2BH6L80MJRsmVYJrAKyDItpJUy3%2F15WYIJqcJ9Q5N%2FLFJ4c3dc1URpWl9hW6mu50MUIelg4ucTPf15zs5DFo1c0VSp1tKB9jkwIyuM45kb%2BIP8gHed%2B6jO3v0KbIknzLy636E8KPTdCuUpB0wLo9JKnAO6pv0vS31EtBha%2FfJemkgLVVnd8KCk4qBTpQ5m7FbifBKrPJcq0pZAFVG%2FXbOFz%2BTcq2MLrcmV28Nmi%2FOHskh82bau0k8eWCaPijQPWQ5lUvslwVCfHkXBMIehqUgtDNLeauH1huvZTbYmw%2BluPjyWoNGEuxRLR7LK5fSyXFUyK7PURQv2v8D3XOt2NJ6liBbmPGOsakw1kbeOs%2B31Wm5qpH%2BiJWSzqdPr2O7zc2TmtnrzCig6bBd%2FvgQmzOlz0STWIlmZEQfupogOZFHUZ7EkUnMn0RrpIMqAgHRJAOjIJ3yGw1I%2FMAp9q9S3Q%2FclADNm1wEeO%2Bxbwg5OIYHZLY3ehG5lJk2xhco%2B6JWybpEVz2wrR6hZyD0QXZbeDVB%2BonmlimpkWprdAs4WEZDSQppsDlcdCBJJESIYFuAtUnC4GIF2C3Uu2Kv7L1bdz6FxtqxpG4TqQOqOUNAJ2HLvPWA2GgDy4O4vaDrtyl6P%2B1fAll%2BSyFcQ28GHqh7fvvf37udylf0fNwhzgz87Y%2Bcf5x9GnF6ygHu18sAbipWeF0YPBgp2GaKeQduxxdEr3SgbH1kvH7tvqSLhedomOvZyts2dw8acu3dY%2Ff%2BucuMtCuP%2Fe4zC4XnH3OLZ8ZuxTWxy8dJfU5dhDeKPSlJy5pn%2F%2B7u3XrJhmr9C5CuleGflGQocKnlAUaRKp0BAHV0ZwUt9VCqk6zYOgRIuMfePJzdmBdpPJ7%2F6B23%2Bf%2Bsp9NMDZevovvfYHG5dGPISQq1DojqNckchVrCcCYz%2FQ0hI0m3NKDRfkgsrnamo%2Bp0CAq1FyvC3a3Nak%2Fs5VX282x9Ufy3E39VAx6o7LpCvO2wK%2Bch9jNqpJCutcIOooKnYWtDK8gTRVYygRQfwgzKM5%2BjP2jOZdx3r32Py7rQUPOzAnoRs95NvRAR0qLGU11Taqu1bUYSzMcWjMEir067JQQHfIrLBHsrgv00%2FWavd8HRLMEEYFSW3HCSNQehnrHztKqHcDyo4VfZ6gPKCR%2BgufwA8GegxUEo4A%2Bgd0BASHiH6jYMLIsUdQJTs%2FC641KN4oCHWolCMLlMfIdtWKScjx7SM5LD9HnfmhrGI0S139UWfUnxgOXdJFW%2BAMcGjKr6eHAttHF5sUoeArYKDcxMSYcKA%2FxUDhPiEOEAPafSIUFArN0r24ynI91EPARDXvIDYyvqZaWeroBOUABQA%2FE%2BDXC7PWafDLQY2oiwpUEyj4RQtVlUp1GrM7In2p2A7VuiOW6otMiGOo5Mrp05ejVuTy6dNX%2Fk%2F7mybZQ0nUmfrbx3U4KueDnlHm5wdh8FFeKnoaKKh%2FTK18StOPhwG9Xo5mqXAxvw%2F79YQwwDR%2BnAKQQ4izVXioB84qcppWB7IqjU45z4CE17OvF1Dw%2BoTFqxtz8dxwtogBnF9MjIl%2Fin%2BK8s3hM9laIn0TiCbTAXL0T798bPXqx36p3chrv0O%2BGC9Xaj48Ecv8U8UEeBvUEsDlTepiU5OvlpeNGvpnKF0RvUooWhIjnx6GeBapXCQYTw9DNg6%2FOC3gZjp76oNTj9Kz6Jqobxb9NDqc08vcKReOpcsQV2K8InXFaXW3aI6Ofr1k48rp7CX7rx%2Bv1UKPsfvzQU0Kc83i2VdILmd2%2FyX55zT9luN2%2BCu4nKfwPcK%2FCvDVU%2BpHh8%2BLaldIf1fA5h3ndT6Fln9%2FW%2F9Ce1vndfvJtnPVO2xhm3qbafHVCN1X363UXHq9xuVD8OSD29Z8pZ5cZrern9cAdGW%2Fuib%2Fud%2BVK0L9a42r6C90kL8KzxwLQw9NkIQJL0ASU8M%2BVG0KsUdgdvpgP%2F6NqqP0%2FgHZFUfGEijZLHpiIgvV5%2FBltrj8Qd7XQd5p4P%2B7tJo30NMO6VGBwahSPMYiaaBYoLY6uEnciyhhh1Z%2FvvacG%2Frjpsvnpzs0B1Id6fmX8119l88XnOxe%2FuGrzzHcdu7UtY3%2B2vmXN5zUyj3ZcPl8p1sZSs6%2FnGXtwrV7Ka0XZdz83fwjjINpZWYw85lL8BRK4nGyIir2RiOsEyipuEcIakpGjWgBjLiHWOgj0Yi34gW1kKPxHt2Na5q%2Blwg1RdRSpFDNzosb44YJXnAfoEOpZW%2F%2F6u1lhYA6leevezbI26zNHO811M2dc5HFxpk4i1jPC0s21%2FBWW5DnPQbn2X1WK43%2FaM2n18DfSoybbNHijFpamzXI31eRibGUOxSu%2FlT96YZlq1Yt20DaSBuG6knw2eusHs5EPBfNmVvHKdaQzcDfz9ZsXmLDWGXy2U5OsYSsIn8CS12jQIyD12KKqZrLPy7mSPdICmd6WGHG8NDZkkHuE4h9TU8FpmUO%2FVjC%2FEinToFyoNDz2p9XD6g78WgQdPG7Z3R0T%2FZ5dTM9lsL8Ktek7szl2L%2BgQwGgwkZHc2g5Su7NvVqwGy2Ua4KSXUwt1X4PaM5paaEu6jQ5zVFyNabxvUksVt2T%2F4VeamYPlLtffdQsk%2B2sUTY%2FzDXl%2F05W53%2FBz9UK3p7LjapZ2ZxOm%2BUlZXrL3HHGqO8%2BwVroDaCTTnTxitMxmiAAYQzVJQH%2Bnj3oIHnPaN6Zq6sNSLjBl8tKgVr2mj%2F9CWi9dnKca8rBQBsd5R1tzVlgrl5pbnPw6kZclCr2CHxMnHohLz%2B3KRQokzALyeIKFU1TNCiayJdoHvDYe7K6mZLm8S3uJ9dojuaJ62%2FqN%2FtjQxnSnhnKPw%2BLNrLi8ZKyJ3x1YhiI1aNAtP6NzCGzYv3DmaGh%2FLvQZnt0evgIhTFV0kE%2FPYxAnOHhCQUZdCWY5JWJwMzlAGl1mpNbDU7yyGnhRMILsYhH3VRAijrPcBU8%2FCj1Y9NY6cnGVW0CjTLaz7E3epvaT%2FLtTV72Rs%2B0WVVmd0dz%2FMGTI5F0OsIviaqDlbbO5X6xT3PeXbXHRtf%2Fz%2Bfdka%2BeKPr8KF7IF4vBsT9MFPuPJMBTBMq9hQxXelQ%2Bbewnf18ap4Ib%2BmSMrtDU5zqlD8QANa5MBGh%2FOwOvSDfcV2d66mfEWsbGWmIz6nsyZDWQSmqmxDneYyvjHPmRXHZxeueyRGLZzvRioKnGto9nIPkibAJA16adcOZRQr1iAP3bUyBR7T4RgAWTKxhkCYFwshq%2B7iV9r0whk50cmRcTg4fy5x4OmmNkHndIA2%2BYuMbmE9dwGYB4KFTsvnDE6Ah47r%2FfE3AYI%2BoXADpkdlENcZ8OZEEf8FFGZNxMs6ZLpG3SUFLL7Q2kcFU%2FA%2FJsw%2BvWDa%2F7emewLaoeibaF1B9qUNnuqWK3%2BUfXYVL1v%2FomD15xxeDkPnXTOKSVcCbDGtOu0YQNpGAP7U1HU58UrqGu8xIbHtkQ3LVhb7Dx46ET3Ffcm1q0YcOizNmf3bC3VjWfAcpSv3MyTlgJ23FHQgmgvk%2Bgk8pL0mcCDOn08MDAQlf%2B%2FSlTZ1z12fnqntOhbOTL9%2FZdevbAPN%2Byby1f%2FuUtC%2Fixm8ZBo59LTXEW060hGrTDplNprWd58fwB%2Fb%2FE27BdS%2Fs7U%2BrGVCeQ46nzaw9QccnmZerGZZs3Yw9aVHt%2BKh6HN4ti6lxIhT%2FwahnZtWwzlY9QHQ2c79C%2BdxzvVDKy8GqKWQERO9YAKbpsDUTLdWV5dE8PVPjvj9pqw7ah%2FPFVtkit7aj6G5xY9mfJrCz1j1e0BcnPol4UjtrCdbahIVtd2HaURujnFJR8CuOuUUfhrGhgKKgjCYNSvCc1WKlEp8wHUaAYynFNyzZn%2B2MnYv36dbMDBTonl%2FT%2Fma5IKAyEGz%2B4eRnVtaX6tss2o34u8mWorFtuFgm4A6qK%2Fyp%2FgLEBVat5WnPDdKA574ubuFJ%2FIUfZ%2FY2Nt6mN%2BZNNTSTaeI56gKwkXerTe9DDHUw8%2FH35FY3nNN7GGuBKWhrV9ep%2B0k1WjNWVaHkW1yA%2BQHWNu8rtBw2a5YXuE40rs7%2FGA%2Bj09V3hA98yRnFPOGr8ltGlsFdD%2F7tRce3LH6Trcneuiy7K7J3khKu%2B3qUaXPWaX7T6%2FKfj9BX2eZq2XAcZT79u1ClJzUtHUqfqSMWBcZS43Ena0cUGLgpkKxB1QM%2B0Fxz10wgg6r5rltnFpH05pepUq3Y2HfYqeKRntmUFNz%2BXmcOs1H31U6cC6RTVLfCg7RNBF1UF2%2FwBgu0fFQtPEU1sSg3VcNsR7dWq3af87tUFn1l3ltXpaJxpNvtcZkH2WmMst3JqRpxUH%2BWC0E1qOGtP66s1MYv%2BVLu8%2FXFXvV%2FZbunYYBeVN64ls0ur6NzpV9xzlmQwB5qC4Tq70WC0tk8dWJXeHvkD0h9zJOM0vD86%2F1NJMaIAolctvlByferCsqOKDKceOfUu1PsmoFCamV5mCrMUOCi6V6FJosMF22AcrKJgQDVhfYh6tepp%2FlYgvnCEAbJQ1L0rOpajEmRcasMiPfxhgGoVo4rwreQpV6fUJHH2e8fa1s2c13Apl1b89a58ozdoap2sjgLN9uISl7P1DrulyeIkt0zr6JjWocoPOZsaXPb6jtqBblsgsaRre2xHi4nELm0MhG1%2Bx1SXwLpFi53b%2BaHRYo%2FIrbZtuWAKu5cSEXfybnnmUCaXGTpQr0xK2O2WWY76f%2BnAjNVf7nCZHU5XqIkTnpt6VtvsFlPXg1031g%2FVRdpkkyVpD7jnmax88QwDvg%2F66NnMRdRXTcGTmQc3cuINwN5IQqi0yzb%2BYFVHuVqI5s4ADfg5oE4ybDLd28mFSFmYvRoomsWXEdLU2Wl3GJy93ZNb%2Fd5gqmNaqJZSO1l6PVRy0nZIj%2F45EetjLguh1rLqR%2BSK0hO6NrsqcNX8zoUdjQYDJ7tb4os6%2Bi%2BY0qpY2AWlnLRDWdGFTfGY1gV0zNAtJ7pdo24se0D88AwLY%2FgZmE9iuP4V5v7CSR%2FRThaHLh%2BUeBkXwU6BC7lGOevK65udTv%2BtS%2FPfW7qj3ljTcj3b9OkbV85t8xsMj7Ddj7DGpthZKwKPvso%2Fc%2F1K9aLE12fMWLV1y1D9ua8lyJdWXr%2FbG%2BnoCFutf%2FmLILe39ITUV4igr3876fpX5g2zeB52sWnIL4fXHlgeUzOx5QfIvJQyrKQE9wHUqVq%2BPEaOrz0wVvNbJZVSfsuMzxN4l9PkedFzw9V5Dj%2BnzpgoT4ZxCxJfC5RWLc74YVHxKlExCYt0JAOMatREhHBSCAtSfod6x6Ls8HCWECLwXZ9nd5Dz1T24JUdWs6fU3%2B%2BfcnT49Qe%2BkBs%2BwdsMZgPXMp3U5S958snPP%2FEE7bvkOPCuTUDTUQ%2FUzirLhML9yPahoe1D5Fj5jWsaoveyP00PehdUAHk%2FseDVWsvDWXXXsyn%2F4wfpXc2V3%2FQxli3jl%2F5hj%2F83avSCfpTNxOEKLmTjxOEKuxgNlsQn0xgct724mhynupNW1Ph6o3RYS3%2F%2B2TJrzLlkFz%2Bip3qCHKf6eqW02QJLjBYuuj4sobhCWqa%2FYHGEHpcnumuWSOhxeaL7sOakNR6vvmo%2BYcfFA8UFXEPZf9UjyudIOyNwx%2Fi90DdsujS%2FFX2UAwvWSVK4NxaMhAGw3oowp%2Fuc8CTi7D2rBgZWwb%2F60faR7SPsEbjkXy4G0XaqhXPwe2cePjxjxuHD6ssQuR1fq6PF0E%2Bo2t1nePTn8TUmxz%2FA3crMoCc7egESuoTHYc7mYdg6etORoOhR7BBGD%2BqJopELrl4S6cJNRtEAsLP%2FOdvnJq0Wo0GolY2Et9VFB2Kf%2B4bZvVyxfOMz3WdFfSIryj6DwWghre7aQbdiDrkTL3A3vNDuDpk93HqXwam%2BbWmUJZfNn5ozKV5Pmmq8PF%2FjVY%2B2Tlk2M2RzSXKjmbQ4RZcQavEYrN%2F9rlXwtIQqzxQNMzPPfHYLvuPoO9TbT8bpGw5CQPGd%2BSyX%2FCyf0Vxjd2R9NmsunnXYa8xGHzn%2BsSfM5J0y0DZEXWWxkXjcR75KBLNLHi7XvX2G8VOrf4Ykg0AMdBESIpo7MgAfyakA6rkqpI6UjNs0px7cMV%2BD5BF49Tez1VGnYmq0WIijp985m4Sn2gJR9b07riPPFo97OYbUZbxJCpot7H%2FlpZBicglCPN7WOfJkcHqc3ElWqvvz%2F1E6bIQrG%2Btz6WkM1SM9FBTR7FSs8KyBBytSmNEoquJNFN5EQyTiCrnKDx1h58yxCepPHU5nxGoxEQeeOZi2m80DxNxncVhr6BmEfUarxejw%2BWSiHhWk19bSY7aKR5MsteblJpfTLtjimBouXsm3d3djjYM%2BwEW0El9dM%2FueVRWIsXwe43R7SgbVZqrnqoJ1X%2FkuF7pcgf8duv4q6vayV5U9zMV91GxO59UUjW8rHV6u799WzKMT7umRCXbYUKM%2BfoaCcwgaoqZUtmodV3p%2BX7akb4dnU9B9La38RPFUG2SCC90tVA4XwEFhyOpZZrUCsgWYHsczLFBBVGNtstoN1bw0Z%2BO4fYIbvZVt4EUcJEKOhHeincWqONw%2Bq6w5Go%2BWGOSR7LhKV%2BKBqbBPpfUvOf9QqkpDyVhBeyyZQGMsdA5FBUqvFMtUyGq9vjnsAJU4UcrxldP1CCaofyDkSAifoP5QwWx%2BSyUGxp75BzGAvtG7uQ38LehlyEQMeh0TeE6Bm7tYdXqdkt0uOb3kfYlNwmOdDyacOq%2FqlFo1v%2BPTmTi3E%2FglC9W11b34A22zmLzvb231Q0L2Bgg60OTW4YdstO%2BYOJnO38TtpH7zy9ymokWyA79qlVSn38HtpFlImFnhu3b4boNWXklOXV0Iwo7lQ1hrZyPFcwtjwFP7iEKSHSSJw509kh8kj6pr%2BH1jR7km9vcvqN9657vffefkv%2BfKxge1X%2B7RdjYUPIESN7gTvRkB%2FRMYtEkaVkdHApmdBPpnKmz0n1xSWFOyVIuLrinZwpoCRe6kyiVZoHX088F%2BUX4%2BWKS4iBTP0IWxGtZgOdMaV4KTayqHQF%2FVihBwTbgDXTCmKoOBJeNhwJMzEVjtjIFLuU38fPR7hqNG1JS7g%2FqRCuy3vmQ3W9Vu8qbVbP%2BSzazGRJH83MzP90Ck2m31mMjP8TiLn5uwD2Ugr2PFvPQjB5BnSJvQxGQZZEB%2BLopqzGzDbMmbkAPkZVJjeO5FzOSBKCgJze2ZS4Gemc9twrwY6u9H61iUQTcRvtdT9RW3tRxAWwFs2tcuJRnI6xjmBdWjbgFNRHMHiF1uHYBfUR%2Fut5Ug2jXAaT96%2B9RH%2FFToRwIzGbKmVJ1AZQnoabSB1yyIg7ByAridHApPMjyw0OiV6RjSbCuzwLAvFizBliWJua1tsuAgvNPbmljYbpt8lkWam7b3XZiOiKJskMOtmfScnsbPW208knwjuXrXK4Q1iKIgNyYXXDVT9C2Ye%2F78GQ5BEEXfFdde2RwauOysdJNL5AzCy84ard%2FnGAVN8alecnFdgu5Gbd5DJTL%2BhHZK0vApVy3OfU8XTSJg1TlssivsPYUlIqvn66PzrVTymCc4wgF6SDNR0pDf%2B9Gp%2BVnsUH5WtpHYsuhOaey8zdwLN47V8MTbm78g687%2BP3cx6tcAeNpjYGRgYGBk8s0%2FzBIfz2%2FzlUGeZQNQhOFCWfF0GP0%2F8P8c1jusIkAuBwMTSBQAYwQM6HjaY2BkYGAV%2Bd8KJgP%2FXWG9wwAUQQGLAYqPBl942n1TvUoDQRCe1VM8kWARjNrZGIurBAsRBIuA2vkAFsJiKTYW4guIjT5ARMgTxCLoA1hcb5OgDyGHrY7f7M65e8fpLF%2B%2B2W%2FnZ2eTmGfaIJi5I0qGDlZZcD51QzTTJirZPAI9JIwVA%2BwT8L5nOdMaV0AuMJ%2BicRHq8of6LSD18fzq8ds7xjpwBnQiSI9V5QVl6NwPvgM15NXn%2FAtWZyj3W0HjEXitOc%2FdIdbetPdFTZ%2BP6t%2BX7xU0%2Fk6GJtOe1%2FB3arN0%2Fpmz1J4UZc%2BD6ExwjD7vioeGd5HvhvU%2BR%2BDZcGZ6YBPNfAi0G97iBPwFXqph2cW8%2BD7kjMfwtinHb6kLb6Wygk3cZytSEoptGrlScdHtLPeri1JKueACMZfU1ViJG1Sq5E43dIt7SZZFl1zuRhb%2FGOs44xFVDbrJzB5tYs35OmaXTrEmkv0DajnMWQB42mNgYNCCwk0MLxheMPrhgUuY2JiUmOqY2pjWMD1hdmPOY%2B5hPsLCwWLEksSyiOUOawzrLrYiti%2FsCuxJ7Kc45DiSOPZxmnG2cG7jvMelweXDNYXrEbcBdxf3KR4OngheLd443g18fHwZfFv4NfiX8T8TEBIIEZggsEpQS7BMcJsQl5CFUI3QAWEp4RLhCyJaIldEbURXiJ4RYxEzE0sQ2yD2TzxIfJkEk4SeRJbENIkNEg8k%2FklqSGZITpE8InlL8p2UmVSG1A6pb9Jx0ltkjGSmyDySlZF1kc2RnSK7R%2FaZnJ5cmdwB%2BST5SwpuCvsUjRTLFHcoOShNU9qhzKespGyhXKV8SPmBCpOKgUqcyjSVR6omqgmqe9RE1OrUnqkHqO9R%2F6FholGgsUZzgeYZLTUtL60WbS7tKh0OnQydXTpvdGV0O3S%2F6Gnopekt0ruhz6fvpl%2Bnv0n%2Fh4GdQYvBJUMhwwTDdYYvjFSM4oxmGd0zVjK2M84w3mYiYZJgssLkkqmO6TzTF2Z2ZjVmd8ylzP3MJ5lfsRCwcLJoszhhyWXpZdlhecZKxirHapbVPesF1ndsJGwCbBbZ%2FLA1sn1jZ2XXY3fFXsM%2Bz36V%2FS8HD4cGh2OOTI51ThJOK5zeOUs4OzmXOS9wPuUi4JLgss7lm2uU6zY3NrcSty1u39zN3Mvct7l%2F8xDzMPLw88jyaPM44ynkaeEZ59niucqLyUvPKwgAn3OqOQAAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAHjarZK9TgJBEMf%2Fd6CRaAyRhMLqCgsbL4ciglTGRPEjSiSKlnLycXJ86CEniU%2FhM9jYWPgIFkYfwd6nsDD%2Bd1mBIIUx3mZnfzs3MzszuwDCeIYG8UUwQxmAFgxxPeeuyxrmcaNYxzTuFAewi0fFQSTxqXgM11pC8TgS2oPiCUS1d8Uh8ofiSczpYcVT5LjiCPlY8Qui%2BncOr7D02y6%2FBTCrP%2Fm%2Bb5bdTrPi2I26Z9qNGtbRQBMdXMJBGRW0YOCecxEWYoiTCvxrYBunqHPdoX2bLOyrMKlZg8thDETw5K7Itci1TXlGy0124QRZZLDFU%2FexhxztMozlosTpMH6ZPge0L%2BOKGnFKjJ4WRwppHPL0PP3SI2P9jLQwFOu3GRhDfkeyDo%2F%2FG7IHgzllZQxLdquvrdCyBVvat3seJlYo06gxapUxhU2JWnFygR03sSxnEkvcpf5Y5eibGq315TDp7fKWm8zbUVl71Aqq%2FZtNnlkWmLnQtno9ycvXYbA6W2pF3aKfCayyC0Ja7Fr%2FPW70%2FHO4YM0OKxFvzf0C1MyPjwAAeNpt1VWUU2cYRuHsgxenQt1d8%2F3JOUnqAyR1d%2Fc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ACsAoAClIAogLyBfIKwgvSISIxsl%2FCYBJvonCScP4APgCeAZ4CngOeBJ4FngYOBp4HngieCX4QnhGeEp4TnhRuFJ4VnhaeF54YnhleGZ4gbiCeIW4hniIeIn4jniSeJZ4mD4%2F%2F%2F%2FAAAAIAAqAKAApSAAIC8gXyCsIL0iEiMbJfwmASb6JwknD%2BAB4AXgEOAg4DDgQOBQ4GDgYuBw4IDgkOEB4RDhIOEw4UDhSOFQ4WDhcOGA4ZDhl%2BIA4gniEOIY4iHiI%2BIw4kDiUOJg%2BP%2F%2F%2F%2F%2Fj%2F9r%2FZv9i4Ajf5N%2B132nfWd4F3P3aHdoZ2SHZE9kOIB0gHCAWIBAgCiAEH%2F4f%2BB%2F3H%2FEf6x%2FlH3wfdh9wH2ofZB9jH10fVx9RH0sfRR9EHt4e3B7WHtUezh7NHsUevx65HrMIFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACjAAAAAAAAAA1AAAAIAAAACAAAAADAAAAKgAAACsAAAAEAAAAoAAAAKAAAAAGAAAApQAAAKUAAAAHAAAgAAAAIAoAAAAIAAAgLwAAIC8AAAATAAAgXwAAIF8AAAAUAAAgrAAAIKwAAAAVAAAgvQAAIL0AAAAWAAAiEgAAIhIAAAAXAAAjGwAAIxsAAAAYAAAl%2FAAAJfwAAAAZAAAmAQAAJgEAAAAaAAAm%2BgAAJvoAAAAbAAAnCQAAJwkAAAAcAAAnDwAAJw8AAAAdAADgAQAA4AMAAAAeAADgBQAA4AkAAAAhAADgEAAA4BkAAAAmAADgIAAA4CkAAAAwAADgMAAA4DkAAAA6AADgQAAA4EkAAABEAADgUAAA4FkAAABOAADgYAAA4GAAAABYAADgYgAA4GkAAABZAADgcAAA4HkAAABhAADggAAA4IkAAABrAADgkAAA4JcAAAB1AADhAQAA4QkAAAB9AADhEAAA4RkAAACGAADhIAAA4SkAAACQAADhMAAA4TkAAACaAADhQAAA4UYAAACkAADhSAAA4UkAAACrAADhUAAA4VkAAACtAADhYAAA4WkAAAC3AADhcAAA4XkAAADBAADhgAAA4YkAAADLAADhkAAA4ZUAAADVAADhlwAA4ZkAAADbAADiAAAA4gYAAADeAADiCQAA4gkAAADlAADiEAAA4hYAAADmAADiGAAA4hkAAADtAADiIQAA4iEAAADvAADiIwAA4icAAADwAADiMAAA4jkAAAD1AADiQAAA4kkAAAD%2FAADiUAAA4lkAAAEJAADiYAAA4mAAAAETAAD4%2FwAA%2BP8AAAEUAAH1EQAB9REAAAEVAAH2qgAB9qoAAAEWAAYCCgAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAL4AAAAAf%2F%2FAAIAAgAoAAABaAMgAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIRElMxEjKAFA%2Fujw8AMg%2FOAoAtAAAQBkAGQETARMAFsAAAEyFh8BHgEdATc%2BAR8BFgYPATMyFhcWFRQGDwEOASsBFx4BDwEGJi8BFRQGBwYjIiYvAS4BPQEHDgEvASY2PwEjIiYnJjU0Nj8BPgE7AScuAT8BNhYfATU0Njc2AlgPJgsLCg%2BeBxYIagcCB57gChECBgMCAQIRCuCeBwIHaggWB54PCikiDyYLCwoPngcWCGoHAgee4AoRAgYDAgECEQrgngcCB2oIFgeeDwopBEwDAgECEQrgngcCB2oIFgeeDwopIg8mCwsKD54HFghqBwIHnuAKEQIGAwIBAhEK4J4HAgdqCBYHng8KKSIPJgsLCg%2BeBxYIagcCB57gChECBgAAAAABAAAAAARMBEwAIwAAATMyFhURITIWHQEUBiMhERQGKwEiJjURISImPQE0NjMhETQ2AcLIFR0BXhUdHRX%2Boh0VyBUd%2FqIVHR0VAV4dBEwdFf6iHRXIFR3%2BohUdHRUBXh0VyBUdAV4VHQAAAAABAHAAAARABEwARQAAATMyFgcBBgchMhYPAQ4BKwEVITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ASYnASY2OwEyHwEWMj8BNgM5%2BgoFCP6UBgUBDAoGBngGGAp9ARMKBgZ4BhgKfQ8LlAsP%2Fu0KBgZ4BhgKff7tCgYGeAYYCnYFBv6UCAUK%2BhkSpAgUCKQSBEwKCP6UBgwMCKAIDGQMCKAIDK4LDw8LrgwIoAgMZAwIoAgMDAYBbAgKEqQICKQSAAABAGQABQSMBK4AOwAAATIXFhcjNC4DIyIOAwchByEGFSEHIR4EMzI%2BAzUzBgcGIyInLgEnIzczNjcjNzM%2BATc2AujycDwGtSM0QDkXEys4MjAPAXtk%2FtQGAZZk%2FtQJMDlCNBUWOUA0I64eYmunznYkQgzZZHABBdpkhhQ%2BH3UErr1oaS1LMCEPCx4uTzJkMjJkSnRCKw8PIjBKK6trdZ4wqndkLzVkV4UljQAAAgB7AAAETASwAD4ARwAAASEyHgUVHAEVFA4FKwEHITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ARE0NhcRMzI2NTQmIwGsAV5DakIwFgwBAQwWMEJqQ7ICASAKBgZ4BhgKigsKlQoP%2FvUKBgZ4BhgKdf71CgYGeAYYCnUPtstALS1ABLAaJD8yTyokCwsLJCpQMkAlGmQMCKAIDK8LDg8KrwwIoAgMZAwIoAgMAdsKD8j%2B1EJWVEAAAAEAyAGQBEwCvAAPAAATITIWHQEUBiMhIiY9ATQ2%2BgMgFR0dFfzgFR0dArwdFcgVHR0VyBUdAAAAAgDIAAAD6ASwACUAQQAAARUUBisBFRQGBx4BHQEzMhYdASE1NDY7ATU0NjcuAT0BIyImPQEXFRQWFx4BFAYHDgEdASE1NCYnLgE0Njc%2BAT0BA%2BgdFTJjUVFjMhUd%2FOAdFTJjUVFjMhUdyEE3HCAgHDdBAZBBNxwgIBw3QQSwlhUdZFuVIyOVW5YdFZaWFR2WW5UjI5VbZB0VlshkPGMYDDI8MgwYYzyWljxjGAwyPDIMGGM8ZAAAAAEAAAAAAAAAAAAAAAAxAAAB%2F%2FIBLATCBEEAFgAAATIWFzYzMhYVFAYjISImNTQ2NyY1NDYB9261LCwueKqqeP0ST3FVQgLYBEF3YQ6teHmtclBFaw4MGZnXAAAAAgAAAGQEsASvABoAHgAAAB4BDwEBMzIWHQEhNTQ2OwEBJyY%2BARYfATc2AyEnAwL2IAkKiAHTHhQe%2B1AeFB4B1IcKCSAkCm9wCXoBebbDBLMTIxC7%2FRYlFSoqFSUC6rcQJBQJEJSWEPwecAIWAAAAAAQAAABkBLAETAALABcAIwA3AAATITIWBwEGIicBJjYXARYUBwEGJjURNDYJATYWFREUBicBJjQHARYGIyEiJjcBNjIfARYyPwE2MhkEfgoFCP3MCBQI%2FcwIBQMBCAgI%2FvgICgoDjAEICAoKCP74CFwBbAgFCvuCCgUIAWwIFAikCBQIpAgUBEwKCP3JCAgCNwgK2v74CBQI%2FvgIBQoCJgoF%2FvABCAgFCv3aCgUIAQgIFID%2BlAgKCggBbAgIpAgIpAgAAAAD%2F%2FD%2F8AS6BLoACQANABAAAAAyHwEWFA8BJzcTAScJAQUTA%2BAmDpkNDWPWXyL9mdYCZv4f%2FrNuBLoNmQ4mDlzWYP50%2FZrWAmb8anABTwAAAAEAAAAABLAEsAAPAAABETMyFh0BITU0NjsBEQEhArz6FR384B0V%2Bv4MBLACiv3aHRUyMhUdAiYCJgAAAAEADgAIBEwEnAAfAAABJTYWFREUBgcGLgE2NzYXEQURFAYHBi4BNjc2FxE0NgFwAoUnMFNGT4gkV09IQv2oWEFPiCRXT0hCHQP5ow8eIvzBN1EXGSltchkYEAIJm%2F2iKmAVGilucRoYEQJ%2FJioAAAACAAn%2F%2BAS7BKcAHQApAAAAMh4CFQcXFAcBFgYPAQYiJwEGIycHIi4CND4BBCIOARQeATI%2BATQmAZDItoNOAQFOARMXARY7GikT%2Fu13jgUCZLaDTk6DAXKwlFZWlLCUVlYEp06DtmQCBY15%2Fu4aJRg6FBQBEk0BAU6Dtsi2g1tWlLCUVlaUsJQAAQBkAFgErwREABkAAAE%2BAh4CFRQOAwcuBDU0PgIeAQKJMHt4dVg2Q3mEqD4%2Bp4V4Qzhadnh5A7VESAUtU3ZAOXmAf7JVVbJ%2FgHk5QHZTLQVIAAAAAf%2FTAF4EewSUABgAAAETNjIXEyEyFgcFExYGJyUFBiY3EyUmNjMBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAyABYRMT%2Fp8RDPn%2BbxQLDPb3DAsUAZD7DBEAAv%2FTAF4EewSUABgAIgAAARM2MhcTITIWBwUTFgYnJQUGJjcTJSY2MwUjFwc3Fyc3IycBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAfPwxUrBw0rA6k4DIAFhExP%2BnxEM%2Bf5vFAsM9vcMCxQBkPsMEWSO4ouM5YzTAAABAAAAAASwBLAAJgAAATIWHQEUBiMVFBYXBR4BHQEUBiMhIiY9ATQ2NyU%2BAT0BIiY9ATQ2Alh8sD4mDAkBZgkMDwr7ggoPDAkBZgkMJj6wBLCwfPouaEsKFwbmBRcKXQoPDwpdChcF5gYXCktoLvp8sAAAAA0AAAAABLAETAAPABMAIwAnACsALwAzADcARwBLAE8AUwBXAAATITIWFREUBiMhIiY1ETQ2FxUzNSkBIgYVERQWMyEyNjURNCYzFTM1BRUzNSEVMzUFFTM1IRUzNQchIgYVERQWMyEyNjURNCYFFTM1IRUzNQUVMzUhFTM1GQR%2BCg8PCvuCCg8PVWQCo%2F3aCg8PCgImCg8Pc2T8GGQDIGT8GGQDIGTh%2FdoKDw8KAiYKDw%2F872QDIGT8GGQDIGQETA8K%2B%2BYKDw8KBBoKD2RkZA8K%2FqIKDw8KAV4KD2RkyGRkZGTIZGRkZGQPCv6iCg8PCgFeCg9kZGRkZMhkZGRkAAAEAAAAAARMBEwADwAfAC8APwAAEyEyFhURFAYjISImNRE0NikBMhYVERQGIyEiJjURNDYBITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NjIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR39vQGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHQRMHRX%2BcBUdHRUBkBUdHRX%2BcBUdHRUBkBUd%2FagdFf5wFR0dFQGQFR0dFf5wFR0dFQGQFR0AAAkAAAAABEwETAAPAB8ALwA%2FAE8AXwBvAH8AjwAAEzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2MsgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR0ETB0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHf5wHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0ABgAAAAAEsARMAA8AHwAvAD8ATwBfAAATMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYyyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHQRMHRXIFR0dFcgVHR0VyBUdHRXIFR3%2BcB0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHQAAAAABACYALAToBCAAFwAACQE2Mh8BFhQHAQYiJwEmND8BNjIfARYyAdECOwgUB7EICPzxBxUH%2FoAICLEHFAirBxYB3QI7CAixBxQI%2FPAICAGACBQHsQgIqwcAAQBuAG4EQgRCACMAAAEXFhQHCQEWFA8BBiInCQEGIi8BJjQ3CQEmND8BNjIXCQE2MgOIsggI%2FvUBCwgIsggVB%2F70%2FvQHFQiyCAgBC%2F71CAiyCBUHAQwBDAcVBDuzCBUH%2FvT%2B9AcVCLIICAEL%2FvUICLIIFQcBDAEMBxUIsggI%2FvUBDAcAAwAX%2F%2BsExQSZABkAJQBJAAAAMh4CFRQHARYUDwEGIicBBiMiLgI0PgEEIg4BFB4BMj4BNCYFMzIWHQEzMhYdARQGKwEVFAYrASImPQEjIiY9ATQ2OwE1NDYBmcSzgk1OASwICG0HFQj%2B1HeOYrSBTU2BAW%2BzmFhYmLOZWFj%2BvJYKD0sKDw8KSw8KlgoPSwoPDwpLDwSZTYKzYo15%2FtUIFQhsCAgBK01NgbTEs4JNWJmzmFhYmLOZIw8KSw8KlgoPSwoPDwpLDwqWCg9LCg8AAAMAF%2F%2FrBMUEmQAZACUANQAAADIeAhUUBwEWFA8BBiInAQYjIi4CND4BBCIOARQeATI%2BATQmBSEyFh0BFAYjISImPQE0NgGZxLOCTU4BLAgIbQcVCP7Ud45itIFNTYEBb7OYWFiYs5lYWP5YAV4KDw8K%2FqIKDw8EmU2Cs2KNef7VCBUIbAgIAStNTYG0xLOCTViZs5hYWJizmYcPCpYKDw8KlgoPAAAAAAIAFwAXBJkEsAAPAC0AAAEzMhYVERQGKwEiJjURNDYFNRYSFRQOAiIuAjU0EjcVDgEVFB4BMj4BNTQmAiZkFR0dFWQVHR0BD6fSW5vW6tabW9KnZ3xyxejFcnwEsB0V%2FnAVHR0VAZAVHeGmPv7ZuHXWm1tbm9Z1uAEnPqY3yHh0xXJyxXR4yAAEAGQAAASwBLAADwAfAC8APwAAATMyFhURFAYrASImNRE0NgEzMhYVERQGKwEiJjURNDYBMzIWFREUBisBIiY1ETQ2BTMyFh0BFAYrASImPQE0NgQBlgoPDwqWCg8P%2Ft6WCg8PCpYKDw%2F%2B3pYKDw8KlgoPD%2F7elgoPDwqWCg8PBLAPCvuCCg8PCgR%2BCg%2F%2BcA8K%2FRIKDw8KAu4KD%2F7UDwr%2BPgoPDwoBwgoPyA8K%2BgoPDwr6Cg8AAAAAAgAaABsElgSWAEcATwAAATIfAhYfATcWFwcXFh8CFhUUDwIGDwEXBgcnBwYPAgYjIi8CJi8BByYnNycmLwImNTQ%2FAjY%2FASc2Nxc3Nj8CNhIiBhQWMjY0AlghKSYFMS0Fhj0rUAMZDgGYBQWYAQ8YA1AwOIYFLDIFJisfISkmBTEtBYY8LFADGQ0ClwYGlwINGQNQLzqFBS0xBSYreLJ%2BfrJ%2BBJYFmAEOGQJQMDmGBSwxBiYrHiIoJgYxLAWGPSxRAxkOApcFBZcCDhkDUTA5hgUtMAYmKiAhKCYGMC0Fhj0sUAIZDgGYBf6ZfrF%2BfrEABwBkAAAEsAUUABMAFwAhACUAKQAtADEAAAEhMhYdASEyFh0BITU0NjMhNTQ2FxUhNQERFAYjISImNREXETMRMxEzETMRMxEzETMRAfQBLCk7ARMKD%2Fu0DwoBEzspASwBLDsp%2FUQpO2RkZGRkZGRkBRQ7KWQPCktLCg9kKTtkZGT%2B1PzgKTs7KQMgZP1EArz9RAK8%2FUQCvP1EArwAAQAMAAAFCATRAB8AABMBNjIXARYGKwERFAYrASImNREhERQGKwEiJjURIyImEgJsCBUHAmAIBQqvDwr6Cg%2F%2B1A8K%2BgoPrwoFAmoCYAcH%2FaAICv3BCg8PCgF3%2FokKDw8KAj8KAAIAZAAAA%2BgEsAARABcAAAERFBYzIREUBiMhIiY1ETQ2MwEjIiY9AQJYOykBLB0V%2FOAVHR0VA1L6FR0EsP5wKTv9dhUdHRUETBUd%2FnAdFfoAAwAXABcEmQSZAA8AGwAwAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBTMyFhURMzIWHQEUBisBIiY1ETQ2AePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnL%2BfDIKD68KDw8K%2BgoPDwSZW5vW6tabW1ub1urWmztyxejFcnLF6MUNDwr%2B7Q8KMgoPDwoBXgoPAAAAAAL%2FnAAABRQEsAALAA8AACkBAyMDIQEzAzMDMwEDMwMFFP3mKfIp%2FeYBr9EVohTQ%2Fp4b4BsBkP5wBLD%2B1AEs%2FnD%2B1AEsAAAAAAIAZAAABLAEsAAVAC8AAAEzMhYVETMyFgcBBiInASY2OwERNDYBMzIWFREUBiMhIiY1ETQ2OwEyFh0BITU0NgImyBUdvxQLDf65DSYN%2FrkNCxS%2FHQJUMgoPDwr75goPDwoyCg8DhA8EsB0V%2Fj4XEP5wEBABkBAXAcIVHfzgDwr%2BogoPDwoBXgoPDwqvrwoPAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUzMhYVETMyFgcDBiInAyY2OwERNDYB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv58lgoPiRUKDd8NJg3fDQoViQ8EmVub1urWm1tbm9bq1ps7csXoxXJyxejFDQ8K%2Fu0XEP7tEBABExAXARMKDwAAAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiUTFgYrAREUBisBIiY1ESMiJjcTNjIB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv7n3w0KFYkPCpYKD4kVCg3fDSYEmVub1urWm1tbm9bq1ps7csXoxXJyxejFAf7tEBf%2B7QoPDwoBExcQARMQAAAAAAIAAAAABLAEsAAZADkAABMhMhYXExYVERQGBwYjISImJyY1EzQ3Ez4BBSEiBgcDBhY7ATIWHwEeATsBMjY%2FAT4BOwEyNicDLgHhAu4KEwO6BwgFDBn7tAweAgYBB7kDEwKX%2FdQKEgJXAgwKlgoTAiYCEwr6ChMCJgITCpYKDAJXAhIEsA4K%2FXQYGf5XDB4CBggEDRkBqRkYAowKDsgOC%2F4%2BCw4OCpgKDg4KmAoODgsBwgsOAAMAFwAXBJkEmQAPABsAJwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUXFhQPAQYmNRE0NgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJy%2Fov9ERH9EBgYBJlbm9bq1ptbW5vW6tabO3LF6MVycsXoxV2%2BDCQMvgwLFQGQFQsAAQAXABcEmQSwACgAAAE3NhYVERQGIyEiJj8BJiMiDgEUHgEyPgE1MxQOAiIuAjQ%2BAjMyA7OHBwsPCv6WCwQHhW2BdMVycsXoxXKWW5vW6tabW1ub1nXABCSHBwQL%2FpYKDwsHhUxyxejFcnLFdHXWm1tbm9bq1ptbAAAAAAIAFwABBJkEsAAaADUAAAE3NhYVERQGIyEiJj8BJiMiDgEVIzQ%2BAjMyEzMUDgIjIicHBiY1ETQ2MyEyFg8BFjMyPgEDs4cHCw8L%2FpcLBAeGboF0xXKWW5vWdcDrllub1nXAnIYHCw8LAWgKBQiFboJ0xXIEJIcHBAv%2BlwsPCweGS3LFdHXWm1v9v3XWm1t2hggFCgFoCw8LB4VMcsUAAAAKAGQAAASwBLAADwAfAC8APwBPAF8AbwB%2FAI8AnwAAEyEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0NgczMhYdARQGKwEiJj0BNDYzITIWHQEUBiMhIiY9ATQ2BzMyFh0BFAYrASImPQE0NjMhMhYdARQGIyEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0Nn0EGgoPDwr75goPDwPA%2FK4KDw8KA1IKDw%2F9CDIKDw8KMgoPD9IBwgoPDwr%2BPgoPD74yCg8PCjIKDw%2FSAcIKDw8K%2Fj4KDw%2B%2BMgoPDwoyCg8P0gHCCg8PCv4%2BCg8PvjIKDw8KMgoPD9IBwgoPDwr%2BPgoPDwSwDwr7ggoPDwoEfgoPyA8K%2FK4KDw8KA1IKD2QPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKDwAAAAACAAAAAARMBLAAGQAjAAABNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmIyE1NDY7ATIWHQEDhHVT%2FtRSdmQpOzspA4QpOzsp%2FageFMgUHgMgyFN1dlLIOyn9qCk7OykCWCk7lhUdHRWWAAIAZAAABEwETAAJADcAABMzMhYVESMRNDYFMhcWFREUBw4DIyIuAScuAiMiBwYjIicmNRE%2BATc2HgMXHgIzMjc2fTIKD2QPA8AEBRADIUNAMRwaPyonKSxHHlVLBwgGBQ4WeDsXKC4TOQQpLUUdZ1AHBEwPCvvNBDMKDzACBhH%2BWwYGO1AkDQ0ODg8PDzkFAwcPAbY3VwMCAwsGFAEODg5XCAAAAwAAAAAEsASXACEAMQBBAAAAMh4CFREUBisBIiY1ETQuASAOARURFAYrASImNRE0PgEDMzIWFREUBisBIiY1ETQ2ITMyFhURFAYrASImNRE0NgHk6N6jYw8KMgoPjeT%2B%2BuSNDwoyCg9joyqgCAwMCKAIDAwCYKAIDAwIoAgMDASXY6PedP7UCg8PCgEsf9FyctF%2F%2FtQKDw8KASx03qP9wAwI%2FjQIDAwIAcwIDAwI%2FjQIDAwIAcwIDAAAAAACAAAA0wRHA90AFQA5AAABJTYWFREUBiclJisBIiY1ETQ2OwEyBTc2Mh8BFhQPARcWFA8BBiIvAQcGIi8BJjQ%2FAScmND8BNjIXAUEBAgkMDAn%2B%2FhUZ%2BgoPDwr6GQJYeAcUByIHB3h4BwciBxQHeHgHFAciBwd3dwcHIgcUBwMurAYHCv0SCgcGrA4PCgFeCg%2BEeAcHIgcUB3h4BxQHIgcHd3cHByIHFAd4eAcUByIICAAAAAACAAAA0wNyA90AFQAvAAABJTYWFREUBiclJisBIiY1ETQ2OwEyJTMWFxYVFAcGDwEiLwEuATc2NTQnJjY%2FATYBQQECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcDLqwGBwr9EgoHBqwODwoBXgoPZAEJgaGafwkBAQYXBxMIZ36EaggUBxYFAAAAAAMAAADEBGID7AAbADEASwAAATMWFxYVFAYHBgcjIi8BLgE3NjU0JicmNj8BNgUlNhYVERQGJyUmKwEiJjURNDY7ATIlMxYXFhUUBwYPASIvAS4BNzY1NCcmNj8BNgPHAwsGh0RABwoDCQcqCAIGbzs3BgIJKgf9ggECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcD7AEJs9lpy1QJAQYiBhQIlrJarEcJFAYhBb6sBgcK%2FRIKBwasDg8KAV4KD2QBCYGhmn8JAQEGFwcTCGd%2BhGoIFQYWBQAAAAANAAAAAASwBLAACQAVABkAHQAhACUALQA7AD8AQwBHAEsATwAAATMVIxUhFSMRIQEjFTMVIREjESM1IQURIREhESERBSM1MwUjNTMBMxEhETM1MwEzFSMVIzUjNTM1IzUhBREhEQcjNTMFIzUzASM1MwUhNSEB9GRk%2FnBkAfQCvMjI%2FtTIZAJY%2B7QBLAGQASz84GRkArxkZP1EyP4MyGQB9MhkyGRkyAEs%2FUQBLGRkZAOEZGT%2BDGRkAfT%2B1AEsA4RkZGQCWP4MZMgBLAEsyGT%2B1AEs%2FtQBLMhkZGT%2BDP4MAfRk%2FtRkZGRkyGTI%2FtQBLMhkZGT%2B1GRkZAAAAAAJAAAAAASwBLAAAwAHAAsADwATABcAGwAfACMAADcjETMTIxEzASMRMxMjETMBIxEzASE1IRcjNTMXIzUzBSM1M2RkZMhkZAGQyMjIZGQBLMjI%2FOD%2B1AEsyGRkyGRkASzIyMgD6PwYA%2Bj8GAPo%2FBgD6PwYA%2Bj7UGRkW1tbW1sAAAIAAAAKBKYEsAANABUAAAkBFhQHAQYiJwETNDYzBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAUM7Uzs7UzsEsP1WCBQI%2FjAICAKqAdsKD807O1Q7OwAAAAADAAAACgXSBLAADQAZACEAAAkBFhQHAQYiJwETNDYzIQEWFAcBBiIvAQkBBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAwYCqggI%2FjAIFAg4Aaj9RP7TO1M7O1M7BLD9VggUCP4wCAgCqgHbCg%2F9VggUCP4wCAg4AaoCvM07O1Q7OwAAAAABAGQAAASwBLAAJgAAASEyFREUDwEGJjURNCYjISIPAQYWMyEyFhURFAYjISImNRE0PwE2ASwDOUsSQAgKDwr9RBkSQAgFCgK8Cg8PCvyuCg8SixIEsEv8fBkSQAgFCgO2Cg8SQAgKDwr8SgoPDwoDzxkSixIAAAABAMj%2F%2FwRMBLAACgAAEyEyFhURCQERNDb6AyAVHf4%2B%2Fj4dBLAdFfuCAbz%2BQwR%2FFR0AAAAAAwAAAAAEsASwABUARQBVAAABISIGBwMGHwEeATMhMjY%2FATYnAy4BASMiBg8BDgEjISImLwEuASsBIgYVERQWOwEyNj0BNDYzITIWHQEUFjsBMjY1ETQmASEiBg8BBhYzITI2LwEuAQM2%2FkQLEAFOBw45BhcKAcIKFwY%2BDgdTARABVpYKFgROBBYK%2FdoKFgROBBYKlgoPDwqWCg8PCgLuCg8PCpYKDw%2F%2Bsf4MChMCJgILCgJYCgsCJgITBLAPCv7TGBVsCQwMCWwVGAEtCg%2F%2BcA0JnAkNDQmcCQ0PCv12Cg8PCpYKDw8KlgoPDwoCigoP%2FagOCpgKDg4KmAoOAAAAAAQAAABkBLAETAAdACEAKQAxAAABMzIeAh8BMzIWFREUBiMhIiY1ETQ2OwE%2BBAEVMzUEIgYUFjI2NCQyFhQGIiY0AfTIOF00JAcGlik7Oyn8GCk7OymWAgknM10ByGT%2Bz76Hh76H%2Fu9WPDxWPARMKTs7FRQ7Kf2oKTs7KQJYKTsIG0U1K%2F7UZGRGh76Hh74IPFY8PFYAAAAAAgA1AAAEsASvACAAIwAACQEWFx4BHwEVITUyNi8BIQYHBh4CMxUhNTY3PgE%2FAQEDIQMCqQGBFCgSJQkK%2Fl81LBFS%2Fnk6IgsJKjIe%2FpM4HAwaBwcBj6wBVKIEr%2FwaMioTFQECQkJXLd6RWSIuHAxCQhgcDCUNDQPu%2FVoByQAAAAADAGQAAAPwBLAAJwAyADsAAAEeBhUUDgMjITU%2BATURNC4EJzUFMh4CFRQOAgclMzI2NTQuAisBETMyNjU0JisBAvEFEzUwOyodN1htbDD%2BDCk7AQYLFyEaAdc5dWM%2BHy0tEP6Pi05pESpTPnbYUFJ9Xp8CgQEHGB0zOlIuQ3VONxpZBzMoAzsYFBwLEAkHRwEpSXNDM1s6KwkxYUopOzQb%2FK5lUFqBAAABAMgAAANvBLAAGQAAARcOAQcDBhYXFSE1NjcTNjQuBCcmJzUDbQJTQgeECSxK%2Fgy6Dq0DAw8MHxUXDQYEsDkTNSj8uTEoBmFhEFIDQBEaExAJCwYHAwI5AAAAAAL%2FtQAABRQEsAAlAC8AAAEjNC4FKwERFBYfARUhNTI%2BAzURIyIOBRUjESEFIxEzByczESM3BRQyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj7m0tLfX1LS30DhBUgFQ4IAwH8rhYZAQJkZAEFCRUOA1IBAwgOFSAVASzI%2FOCnpwMgpwACACH%2FtQSPBLAAJQAvAAABIzQuBSsBERQWHwEVITUyPgM1ESMiDgUVIxEhEwc1IRUnNxUhNQRMMggLGRMmGBnIMhkZ%2FnAEDiIaFsgZGCYTGQsIMgPoQ6f84KenAyADhBUgFQ4IAwH9dhYZAQJkZAEFCRUOAooBAwgOFSAVASz7gn1LS319S0sABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyAlgVHR0V%2FagVHR0VA%2BgVHR0V%2FBgVHR0VAyAVHR0V%2FOAVHR0VBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYDITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NgMhMhYdARQGIyEiJj0BNDb6ArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR3dArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AAAE1NDYzITIWHQEUBiMhIiYBNTQ2MyEyFh0BFAYjISImEzU0NjMhMhYdARQGIyEiJgE1NDYzITIWHQEUBiMhIiYB9B0VAlgVHR0V%2FagVHf5wHRUD6BUdHRX8GBUdyB0VAyAVHR0V%2FOAVHf7UHRUETBUdHRX7tBUdA7ZkFR0dFWQVHR3%2B6WQVHR0VZBUdHf7pZBUdHRVkFR0d%2FulkFR0dFWQVHR0AAAQAAAAABLAETAAPAB8ALwA%2FAAATITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2MgRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dBEwdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAgAAAAABLAETAAPAB8ALwA%2FAE8AXwBvAH8AABMzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2MmQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR0ETB0VZBUdHRVkFR0dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdHRVkFR0dFWQVHf7UHRVkFR0dFWQVHR0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0dFWQVHR0VZBUdAAAG%2F5wAAASwBEwAAwATACMAKgA6AEoAACEjETsCMhYdARQGKwEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2BQc1IzUzNQUhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2AZBkZJZkFR0dFWQVHR0VAfQVHR0V%2FgwVHR3%2B%2BqfIyAHCASwVHR0V%2FtQVHR0VAlgVHR0V%2FagVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR36fUtkS68dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAAABgAAAAAFFARMAA8AEwAjACoAOgBKAAATMzIWHQEUBisBIiY9ATQ2ASMRMwEhMhYdARQGIyEiJj0BNDYFMxUjFSc3BSEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyZBUdHRVkFR0dA2dkZPyuAfQVHR0V%2FgwVHR0EL8jIp6f75gEsFR0dFf7UFR0dFQJYFR0dFf2oFR0dBEwdFWQVHR0VZBUd%2B7QETP7UHRVkFR0dFWQVHchkS319rx0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0AAAAAAgAAAMgEsAPoAA8AEgAAEyEyFhURFAYjISImNRE0NgkCSwLuHywsH%2F0SHywsBIT%2B1AEsA%2BgsH%2F12HywsHwKKHyz9RAEsASwAAwAAAAAEsARMAA8AFwAfAAATITIWFREUBiMhIiY1ETQ2FxE3BScBExEEMhYUBiImNCwEWBIaGhL7qBIaGkr3ASpKASXs%2FNJwTk5wTgRMGhL8DBIaGhID9BIaZP0ftoOcAT7%2B4AH0dE5vT09vAAAAAAIA2wAFBDYEkQAWAB4AAAEyHgEVFAcOAQ8BLgQnJjU0PgIWIgYUFjI2NAKIdcZzRkWyNjYJIV5YbSk8RHOft7eCgreCBJF4ynVzj23pPz4IIWZomEiEdVijeUjDgriBgbgAAAACABcAFwSZBJkADwAXAAAAMh4CFA4CIi4CND4BAREiDgEUHgEB4%2BrWm1tbm9bq1ptbW5sBS3TFcnLFBJlbm9bq1ptbW5vW6tab%2FG8DVnLF6MVyAAACAHUAAwPfBQ8AGgA1AAABHgYVFA4DBy4DNTQ%2BBQMOAhceBBcWNj8BNiYnLgInJjc2IyYCKhVJT1dOPiUzVnB9P1SbfEokP0xXUEm8FykoAwEbITEcExUWAgYCCQkFEikMGiACCAgFD0iPdXdzdYdFR4BeRiYEBTpjl1lFh3ZzeHaQ%2Ff4hS4I6JUEnIw4IBwwQIgoYBwQQQSlZtgsBAAAAAwAAAAAEywRsAAwAKgAvAAABNz4CHgEXHgEPAiUhMhcHISIGFREUFjMhMjY9ATcRFAYjISImNRE0NgkBBzcBA%2BhsAgYUFR0OFgoFBmz9BQGQMje7%2FpApOzspAfQpO8i7o%2F5wpbm5Azj%2BlqE3AWMD9XMBAgIEDw4WKgsKc8gNuzsp%2FgwpOzsptsj%2BtKW5uaUBkKW5%2Ftf%2BljKqAWMAAgAAAAAEkwRMABsANgAAASEGByMiBhURFBYzITI2NTcVFAYjISImNRE0NgUBFhQHAQYmJzUmDgMHPgY3NT4BAV4BaaQ0wyk7OykB9Ck7yLml%2FnClubkCfwFTCAj%2BrAcLARo5ZFRYGgouOUlARioTAQsETJI2Oyn%2BDCk7OymZZ6W5uaUBkKW5G%2F7TBxUH%2Fs4GBAnLAQINFjAhO2JBNB0UBwHSCgUAAAAAAgAAAAAEnQRMAB0ANQAAASEyFwchIgYVERQWMyEyNj0BNxUUBiMhIiY1ETQ2CQE2Mh8BFhQHAQYiLwEmND8BNjIfARYyAV4BXjxDsv6jKTs7KQH0KTvIuaX%2BcKW5uQHKAYsHFQdlBwf97QcVB%2FgHB2UHFQdvCBQETBexOyn%2BDCk7OylFyNulubmlAZCluf4zAYsHB2UHFQf97AcH%2BAcVB2UHB28HAAAAAQAKAAoEpgSmADsAAAkBNjIXARYGKwEVMzU0NhcBFhQHAQYmPQEjFTMyFgcBBiInASY2OwE1IxUUBicBJjQ3ATYWHQEzNSMiJgE%2BAQgIFAgBBAcFCqrICggBCAgI%2FvgICsiqCgUH%2FvwIFAj%2B%2BAgFCq%2FICgj%2B%2BAgIAQgICsivCgUDlgEICAj%2B%2BAgKyK0KBAf%2B%2FAcVB%2F73BwQKrcgKCP74CAgBCAgKyK0KBAcBCQcVBwEEBwQKrcgKAAEAyAAAA4QETAAZAAATMzIWFREBNhYVERQGJwERFAYrASImNRE0NvpkFR0B0A8VFQ%2F%2BMB0VZBUdHQRMHRX%2BSgHFDggV%2FBgVCA4Bxf5KFR0dFQPoFR0AAAABAAAAAASwBEwAIwAAEzMyFhURATYWFREBNhYVERQGJwERFAYnAREUBisBIiY1ETQ2MmQVHQHQDxUB0A8VFQ%2F%2BMBUP%2FjAdFWQVHR0ETB0V%2FkoBxQ4IFf5KAcUOCBX8GBUIDgHF%2FkoVCA4Bxf5KFR0dFQPoFR0AAAABAJ0AGQSwBDMAFQAAAREUBicBERQGJwEmNDcBNhYVEQE2FgSwFQ%2F%2BMBUP%2FhQPDwHsDxUB0A8VBBr8GBUIDgHF%2FkoVCA4B4A4qDgHgDggV%2FkoBxQ4IAAAAAQDIABYEMwQ2AAsAABMBFhQHAQYmNRE0NvMDLhIS%2FNISGRkEMv4OCx4L%2Fg4LDhUD6BUOAAIAyABkA4QD6AAPAB8AABMzMhYVERQGKwEiJjURNDYhMzIWFREUBisBIiY1ETQ2%2BsgVHR0VyBUdHQGlyBUdHRXIFR0dA%2BgdFfzgFR0dFQMgFR0dFfzgFR0dFQMgFR0AAAEAyABkBEwD6AAPAAABERQGIyEiJjURNDYzITIWBEwdFfzgFR0dFQMgFR0DtvzgFR0dFQMgFR0dAAAAAAEAAAAZBBMEMwAVAAABETQ2FwEWFAcBBiY1EQEGJjURNDYXAfQVDwHsDw%2F%2BFA8V%2FjAPFRUPAmQBthUIDv4gDioO%2FiAOCBUBtv47DggVA%2BgVCA4AAAH%2F%2FgACBLMETwAjAAABNzIWFRMUBiMHIiY1AwEGJjUDAQYmNQM0NhcBAzQ2FwEDNDYEGGQUHgUdFWQVHQL%2BMQ4VAv4yDxUFFQ8B0gIVDwHSAh0ETgEdFfwYFR0BHRUBtf46DwkVAbX%2BOQ4JFAPoFQkP%2Fj4BthQJDv49AbYVHQAAAQEsAAAD6ARMABkAAAEzMhYVERQGKwEiJjURAQYmNRE0NhcBETQ2A1JkFR0dFWQVHf4wDxUVDwHQHQRMHRX8GBUdHRUBtv47DggVA%2BgVCA7%2BOwG2FR0AAAIAZADIBLAESAALABsAAAkBFgYjISImNwE2MgEhMhYdARQGIyEiJj0BNDYCrgH1DwkW%2B%2B4WCQ8B9Q8q%2FfcD6BUdHRX8GBUdHQQ5%2FeQPFhYPAhwP%2FUgdFWQVHR0VZBUdAAEAiP%2F8A3UESgAFAAAJAgcJAQN1%2FqABYMX92AIoA4T%2Bn%2F6fxgIoAiYAAAAAAQE7%2F%2FwEKARKAAUAAAkBJwkBNwQo%2FdnGAWH%2Bn8YCI%2F3ZxgFhAWHGAAIAFwAXBJkEmQAPADMAAAAyHgIUDgIiLgI0PgEFIyIGHQEjIgYdARQWOwEVFBY7ATI2PQEzMjY9ATQmKwE1NCYB4%2BrWm1tbm9bq1ptbW5sBfWQVHZYVHR0Vlh0VZBUdlhUdHRWWHQSZW5vW6tabW1ub1urWm7odFZYdFWQVHZYVHR0Vlh0VZBUdlhUdAAAAAAIAFwAXBJkEmQAPAB8AAAAyHgIUDgIiLgI0PgEBISIGHQEUFjMhMjY9ATQmAePq1ptbW5vW6tabW1ubAkX%2BDBUdHRUB9BUdHQSZW5vW6tabW1ub1urWm%2F5%2BHRVkFR0dFWQVHQACABcAFwSZBJkADwAzAAAAMh4CFA4CIi4CND4BBCIPAScmIg8BBhQfAQcGFB8BFjI%2FARcWMj8BNjQvATc2NC8BAePq1ptbW5vW6tabW1ubAeUZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0JCXh4CQmNBJlbm9bq1ptbW5vW6tabrQl4eAkJjQkZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0AAgAXABcEmQSZAA8AJAAAADIeAhQOAiIuAjQ%2BAQEnJiIPAQYUHwEWMjcBNjQvASYiBwHj6tabW1ub1urWm1tbmwEVVAcVCIsHB%2FIHFQcBdwcHiwcVBwSZW5vW6tabW1ub1urWm%2F4xVQcHiwgUCPEICAF3BxUIiwcHAAAAAAMAFwAXBJkEmQAPADsASwAAADIeAhQOAiIuAjQ%2BAQUiDgMVFDsBFjc%2BATMyFhUUBgciDgUHBhY7ATI%2BAzU0LgMTIyIGHQEUFjsBMjY9ATQmAePq1ptbW5vW6tabW1ubAT8dPEIyIRSDHgUGHR8UFw4TARkOGhITDAIBDQ6tBx4oIxgiM0Q8OpYKDw8KlgoPDwSZW5vW6tabW1ub1urWm5ELHi9PMhkFEBQQFRIXFgcIBw4UHCoZCBEQKDhcNi9IKhsJ%2FeMPCpYKDw8KlgoPAAADABcAFwSZBJkADwAfAD4AAAAyHgIUDgIiLgI0PgEFIyIGHQEUFjsBMjY9ATQmAyMiBh0BFBY7ARUjIgYdARQWMyEyNj0BNCYrARE0JgHj6tabW1ub1urWm1tbmwGWlgoPDwqWCg8PCvoKDw8KS0sKDw8KAV4KDw8KSw8EmVub1urWm1tbm9bq1ptWDwqWCg8PCpYKD%2F7UDwoyCg%2FIDwoyCg8PCjIKDwETCg8AAgAAAAAEsASwAC8AXwAAATMyFh0BHgEXMzIWHQEUBisBDgEHFRQGKwEiJj0BLgEnIyImPQE0NjsBPgE3NTQ2ExUUBisBIiY9AQ4BBzMyFh0BFAYrAR4BFzU0NjsBMhYdAT4BNyMiJj0BNDY7AS4BAg2WCg9nlxvCCg8PCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw%2B5DwqWCg9EZheoCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmBLAPCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw8KlgoPZ5cbwgoP%2Fs2oCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmRA8KlgoPRGYAAwAXABcEmQSZAA8AGwA%2FAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBxcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyAePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnKaQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwdABxUHfHwHFQSZW5vW6tabW1ub1urWmztyxejFcnLF6MVaQAcVB3x8BxUHQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwAAAAMAFwAXBJkEmQAPABsAMAAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcXFhQHAQYiLwEmND8BNjIfATc2MgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJyg2oHB%2F7ACBQIyggIagcVB0%2FFBxUEmVub1urWm1tbm9bq1ps7csXoxXJyxejFfWoHFQf%2BvwcHywcVB2oICE%2FFBwAAAAMAFwAXBJkEmQAPABgAIQAAADIeAhQOAiIuAjQ%2BAQUiDgEVFBcBJhcBFjMyPgE1NAHj6tabW1ub1urWm1tbmwFLdMVyQQJLafX9uGhzdMVyBJlbm9bq1ptbW5vW6tabO3LFdHhpAktB0P24PnLFdHMAAAAAAQAXAFMEsAP5ABUAABMBNhYVESEyFh0BFAYjIREUBicBJjQnAgoQFwImFR0dFf3aFxD99hACRgGrDQoV%2Ft0dFcgVHf7dFQoNAasNJgAAAAABAAAAUwSZA%2FkAFQAACQEWFAcBBiY1ESEiJj0BNDYzIRE0NgJ%2FAgoQEP32EBf92hUdHRUCJhcD8f5VDSYN%2FlUNChUBIx0VyBUdASMVCgAAAAEAtwAABF0EmQAVAAAJARYGIyERFAYrASImNREhIiY3ATYyAqoBqw0KFf7dHRXIFR3%2B3RUKDQGrDSYEif32EBf92hUdHRUCJhcQAgoQAAAAAQC3ABcEXQSwABUAAAEzMhYVESEyFgcBBiInASY2MyERNDYCJsgVHQEjFQoN%2FlUNJg3%2BVQ0KFQEjHQSwHRX92hcQ%2FfYQEAIKEBcCJhUdAAABAAAAtwSZBF0AFwAACQEWFAcBBiY1EQ4DBz4ENxE0NgJ%2FAgoQEP32EBdesKWBJAUsW4fHfhcEVf5VDSYN%2FlUNChUBIwIkRHVNabGdcUYHAQYVCgACAAAAAASwBLAAFQArAAABITIWFREUBi8BBwYiLwEmND8BJyY2ASEiJjURNDYfATc2Mh8BFhQPARcWBgNSASwVHRUOXvkIFAhqBwf5Xg4I%2FiH%2B1BUdFQ5e%2BQgUCGoHB%2FleDggEsB0V%2FtQVCA5e%2BQcHaggUCPleDhX7UB0VASwVCA5e%2BQcHaggUCPleDhUAAAACAEkASQRnBGcAFQArAAABFxYUDwEXFgYjISImNRE0Nh8BNzYyASEyFhURFAYvAQcGIi8BJjQ%2FAScmNgP2agcH%2BV4OCBX%2B1BUdFQ5e%2BQgU%2FQwBLBUdFQ5e%2BQgUCGoHB%2FleDggEYGoIFAj5Xg4VHRUBLBUIDl75B%2F3xHRX%2B1BUIDl75BwdqCBQI%2BV4OFQAAAAADABcAFwSZBJkADwAfAC8AAAAyHgIUDgIiLgI0PgEFIyIGFxMeATsBMjY3EzYmAyMiBh0BFBY7ATI2PQE0JgHj6tabW1ub1urWm1tbmwGz0BQYBDoEIxQ2FCMEOgQYMZYKDw8KlgoPDwSZW5vW6tabW1ub1urWm7odFP7SFB0dFAEuFB3%2BDA8KlgoPDwqWCg8AAAAABQAAAAAEsASwAEkAVQBhAGgAbwAAATIWHwEWHwEWFxY3Nj8BNjc2MzIWHwEWHwIeATsBMhYdARQGKwEiBh0BIREjESE1NCYrASImPQE0NjsBMjY1ND8BNjc%2BBAUHBhY7ATI2LwEuAQUnJgYPAQYWOwEyNhMhIiY1ESkBERQGIyERAQQJFAUFFhbEFQ8dCAsmxBYXERUXMA0NDgQZCAEPCj0KDw8KMgoP%2FnDI%2FnAPCjIKDw8KPQsOCRkFDgIGFRYfAp2mBwQK2woKAzMDEP41sQgQAzMDCgrnCwMe%2FokKDwGQAlgPCv6JBLAEAgIKDXYNCxUJDRZ2DQoHIREQFRh7LAkLDwoyCg8PCq8BLP7UrwoPDwoyCg8GBQQwgBkUAwgWEQ55ogcKDgqVCgSqnQcECo8KDgr8cg8KAXf%2BiQoPAZAAAAAAAgAAAAwErwSmACsASQAAATYWFQYCDgQuAScmByYOAQ8BBiY1NDc%2BATc%2BAScuAT4BNz4GFyYGBw4BDwEOBAcOARY2Nz4CNz4DNz4BBI0IGgItQmxhi2KORDg9EQQRMxuZGhYqCFUYEyADCQIQOjEnUmFch3vAJQgdHyaiPT44XHRZUhcYDhItIRmKcVtGYWtbKRYEBKYDEwiy%2Ft3IlVgxEQgLCwwBAQIbG5kYEyJAJghKFRE8Hzdff4U%2FM0o1JSMbL0QJGCYvcSEhHjZST2c1ODwEJygeW0AxJUBff1UyFAABAF0AHgRyBM8ATwAAAQ4BHgQXLgc%2BATceAwYHDgQHBicmNzY3PgQuAScWDgMmJy4BJyY%2BBDcGHgM3PgEuAicmPgMCjScfCic4R0IgBBsKGAoQAwEJEg5gikggBhANPkpTPhZINx8SBgsNJysiCRZOQQoVNU1bYC9QZwICBAUWITsoCAYdJzIYHw8YIiYHDyJJYlkEz0OAZVxEOSQMBzgXOB42IzElKRIqg5Gnl0o3Z0c6IAYWCwYNAwQFIDhHXGF1OWiqb0sdBxUknF0XNTQ8PEUiNWNROBYJDS5AQVUhVZloUSkAAAAAA%2F%2FcAGoE1ARGABsAPwBRAAAAMh4FFA4FIi4FND4EBSYGFxYVFAYiJjU0NzYmBwYHDgEXHgQyPgM3NiYnJgUHDgEXFhcWNj8BNiYnJicuAQIGpJ17bk85HBw6T257naKde25POhwcOU9uewIPDwYIGbD4sBcIBw5GWg0ECxYyWl%2BDiINfWjIWCwQMWv3%2FIw8JCSU4EC0OIw4DDywtCyIERi1JXGJcSSpJXGJcSS0tSVxiXEkqSVxiXEncDwYTOT58sLB8OzcTBg9FcxAxEiRGXkQxMEVeRSQSMRF1HiQPLxJEMA0EDyIPJQ8sSRIEAAAABP%2FcAAAE1ASwABQAJwA7AEwAACEjNy4ENTQ%2BBTMyFzczEzceARUUDgMHNz4BNzYmJyYlBgcOARceBBc3LgE1NDc2JhcHDgEXFhcWNj8CJyYnLgECUJQfW6l2WSwcOU9ue51SPUEglCYvbIknUGqYUi5NdiYLBAw2%2FVFGWg0ECxIqSExoNSlrjxcIB3wjDwkJJTgQLQ4MFgMsLQsieBRhdHpiGxVJXGJcSS0Pef5StVXWNBpacm5jGq0xiD8SMRFGckVzEDESHjxRQTkNmhKnbjs3EwZwJA8vEkQwDQQPC1YELEkSBAAAAAP%2FngAABRIEqwALABgAKAAAJwE2FhcBFgYjISImJSE1NDY7ATIWHQEhAQczMhYPAQ4BKwEiJi8BJjZaAoIUOBQCghUbJfryJRsBCgFZDwqWCg8BWf5DaNAUGAQ6BCMUNhQjBDoEGGQEKh8FIfvgIEdEhEsKDw8KSwLT3x0U%2FBQdHRT8FB0AAAABAGQAFQSwBLAAKAAAADIWFREBHgEdARQGJyURFh0BFAYvAQcGJj0BNDcRBQYmPQE0NjcBETQCTHxYAWsPFhgR%2FplkGhPNzRMaZP6ZERgWDwFrBLBYPv6t%2FrsOMRQpFA0M%2Bf75XRRAFRAJgIAJEBVAFF0BB%2FkMDRQpFDEOAUUBUz4AAAARAAAAAARMBLAAHQAnACsALwAzADcAOwA%2FAEMARwBLAE8AUwBXAFsAXwBjAAABMzIWHQEzMhYdASE1NDY7ATU0NjsBMhYdASE1NDYBERQGIyEiJjURFxUzNTMVMzUzFTM1MxUzNTMVMzUFFTM1MxUzNTMVMzUzFTM1MxUzNQUVMzUzFTM1MxUzNTMVMzUzFTM1A1JkFR0yFR37tB0VMh0VZBUdAfQdAQ8dFfwYFR1kZGRkZGRkZGRk%2FHxkZGRkZGRkZGT8fGRkZGRkZGRkZASwHRUyHRWWlhUdMhUdHRUyMhUd%2FnD9EhUdHRUC7shkZGRkZGRkZGRkyGRkZGRkZGRkZGTIZGRkZGRkZGRkZAAAAAMAAAAZBXcElwAZACUANwAAARcWFA8BBiY9ASMBISImPQE0NjsBATM1NDYBBycjIiY9ATQ2MyEBFxYUDwEGJj0BIyc3FzM1NDYEb%2FkPD%2FkOFZ%2F9qP7dFR0dFdECWPEV%2FamNetEVHR0VASMDGvkPD%2FkOFfG1jXqfFQSN5g4qDuYOCBWW%2FagdFWQVHQJYlhUI%2FpiNeh0VZBUd%2Fk3mDioO5g4IFZa1jXqWFQgAAAABAAAAAASwBEwAEgAAEyEyFhURFAYjIQERIyImNRE0NmQD6Ck7Oyn9rP7QZCk7OwRMOyn9qCk7%2FtQBLDspAlgpOwAAAAMAZAAABEwEsAAJABMAPwAAEzMyFh0BITU0NiEzMhYdASE1NDYBERQOBSIuBTURIRUUFRwBHgYyPgYmNTQ9AZbIFR3%2B1B0C0cgVHf7UHQEPBhgoTGacwJxmTCgYBgEsAwcNFB8nNkI2Jx8TDwUFAQSwHRX6%2BhUdHRX6%2BhUd%2FnD%2B1ClJalZcPigoPlxWakkpASz6CRIVKyclIRsWEAgJEBccISUnKhURCPoAAAAB%2F%2F8A1ARMA8IABQAAAQcJAScBBEzG%2Fp%2F%2Bn8UCJwGbxwFh%2Fp%2FHAicAAQAAAO4ETQPcAAUAAAkCNwkBBE392v3ZxgFhAWEDFf3ZAifH%2Fp8BYQAAAAAC%2F1EAZAVfA%2BgAFAApAAABITIWFREzMhYPAQYiLwEmNjsBESElFxYGKwERIRchIiY1ESMiJj8BNjIBlALqFR2WFQgO5g4qDuYOCBWW%2FoP%2BHOYOCBWWAYHX%2FRIVHZYVCA7mDioD6B0V%2FdkVDvkPD%2FkOFQGRuPkOFf5wyB0VAiYVDvkPAAABAAYAAASeBLAAMAAAEzMyFh8BITIWBwMOASMhFyEyFhQGKwEVFAYiJj0BIRUUBiImPQEjIiYvAQMjIiY0NjheERwEJgOAGB4FZAUsIf2HMAIXFR0dFTIdKh3%2B1B0qHR8SHQYFyTYUHh4EsBYQoiUY%2FiUVK8gdKh0yFR0dFTIyFR0dFTIUCQoDwR0qHQAAAAACAAAAAASwBEwACwAPAAABFSE1MzQ2MyEyFhUFIREhBLD7UMg7KQEsKTv9RASw%2B1AD6GRkKTs7Kcj84AACAAAAAAXcBEwADAAQAAATAxEzNDYzITIWFSEVBQEhAcjIyDspASwqOgH0ASz%2B1PtQASwDIP5wAlgpOzspyGT9RAK8AAEBRQAAA2sErwAbAAABFxYGKwERMzIWDwEGIi8BJjY7AREjIiY%2FATYyAnvmDggVlpYVCA7mDioO5g4IFZaWFQgO5g4qBKD5DhX9pxUO%2BQ8P%2BQ4VAlkVDvkPAAAAAQABAUQErwNrABsAAAEXFhQPAQYmPQEhFRQGLwEmND8BNhYdASE1NDYDqPkODvkPFf2oFQ%2F5Dg75DxUCWBUDYOUPKQ%2FlDwkUl5cUCQ%2FlDykP5Q8JFZWVFQkAAAAEAAAAAASwBLAACQAZAB0AIQAAAQMuASMhIgYHAwUhIgYdARQWMyEyNj0BNCYFNTMVMzUzFQSRrAUkFP1gFCQFrAQt%2FBgpOzspA%2BgpOzv%2Bq2RkZAGQAtwXLSgV%2FR1kOylkKTs7KWQpO8hkZGRkAAAAA%2F%2BcAGQEsARMAAsAIwAxAAAAMhYVERQGIiY1ETQDJSMTFgYjIisBIiYnAj0BNDU0PgE7ASUBFSIuAz0BND4CNwRpKh0dKh1k%2FV0mLwMRFQUCVBQdBDcCCwzIAqP8GAQOIhoWFR0dCwRMHRX8rhUdHRUDUhX8mcj%2B7BAIHBUBUQ76AgQQDw36%2FtT6AQsTKRwyGigUDAEAAAACAEoAAARmBLAALAA1AAABMzIWDwEeARcTFzMyFhQGBw4EIyIuBC8BLgE0NjsBNxM%2BATcnJjYDFjMyNw4BIiYCKV4UEgYSU3oPP3YRExwaEggeZGqfTzl0XFU%2BLwwLEhocExF2Pw96UxIGEyQyNDUxDDdGOASwFRMlE39N%2FrmtHSkoBwQLHBYSCg4REg4FBAgoKR2tAUdNfhQgExr7vgYGMT09AAEAFAAUBJwEnAAXAAABNwcXBxcHFycHJwcnBzcnNyc3Jxc3FzcDIOBO6rS06k7gLZubLeBO6rS06k7gLZubA7JO4C2bmy3gTuq0tOpO4C2bmy3gTuq0tAADAAAAZASwBLAAIQAtAD0AAAEzMhYdAQchMhYdARQHAw4BKwEiJi8BIyImNRE0PwI%2BARcPAREzFzMTNSE3NQEzMhYVERQGKwEiJjURNDYCijIoPBwBSCg8He4QLBf6B0YfHz0tNxSRYA0xG2SWZIjW%2Bv4%2BMv12ZBUdHRVkFR0dBLBRLJZ9USxkLR3%2BqBghMhkZJCcBkCQbxMYcKGTU1f6JZAF3feGv%2FtQdFf4MFR0dFQH0FR0AAAAAAwAAAAAEsARMACAAMAA8AAABMzIWFxMWHQEUBiMhFh0BFAYrASImLwImNRE0NjsBNgUzMhYVERQGKwEiJjURNDYhByMRHwEzNSchNQMCWPoXLBDuHTwo%2FrgcPCgyGzENYJEUNy09fP3pZBUdHRVkFR0dAl%2BIZJZkMjIBwvoETCEY%2FqgdLWQsUXYHlixRKBzGxBskAZAnJGRkHRX%2BDBUdHRUB9BUdZP6J1dSv4X0BdwADAAAAZAUOBE8AGwA3AEcAAAElNh8BHgEPASEyFhQGKwEDDgEjISImNRE0NjcXERchEz4BOwEyNiYjISoDLgQnJj8BJwUzMhYVERQGKwEiJjURNDYBZAFrHxZuDQEMVAEuVGxuVGqDBhsP%2FqoHphwOOmQBJYMGGw%2FLFRMSFv44AgoCCQMHAwUDAQwRklb9T2QVHR0VZBUdHQNp5hAWcA0mD3lMkE7%2BrRUoog0CDRElCkj%2BCVkBUxUoMjIBAgIDBQIZFrdT5B0V%2FgwVHR0VAfQVHQAAAAP%2FnABkBLAETwAdADYARgAAAQUeBBURFAYjISImJwMjIiY0NjMhJyY2PwE2BxcWBw4FKgIjIRUzMhYXEyE3ESUFMzIWFREUBisBIiY1ETQ2AdsBbgIIFBANrAf%2Bqg8bBoNqVW1sVAEuVQsBDW4WSpIRDAIDBQMHAwkDCgH%2BJd0PHAaCASZq%2FqoCUGQVHR0VZBUdHQRP5gEFEBEXC%2F3zDaIoFQFTTpBMeQ8mDXAWrrcWGQIFAwICAWQoFf6tWQH37OQdFf4MFR0dFQH0FR0AAAADAGEAAARMBQ4AGwA3AEcAAAAyFh0BBR4BFREUBiMhIiYvAQMmPwE%2BAR8BETQXNTQmBhURHAMOBAcGLwEHEyE3ESUuAQMhMhYdARQGIyEiJj0BNDYB3pBOAVMVKKIN%2FfMRJQoJ5hAWcA0mD3nGMjIBAgIDBQIZFrdT7AH3Wf6tFSiWAfQVHR0V%2FgwVHR0FDm5UaoMGGw%2F%2BqgemHA4OAWsfFm4NAQxUAS5U1ssVExIW%2FjgCCgIJAwcDBQMBDBGSVv6tZAElgwYb%2FQsdFWQVHR0VZBUdAAP%2F%2FQAGA%2BgFFAAPAC0ASQAAASEyNj0BNCYjISIGHQEUFgEVFAYiJjURBwYmLwEmNxM%2BBDMhMhYVERQGBwEDFzc2Fx4FHAIVERQWNj0BNDY3JREnAV4B9BUdHRX%2BDBUdHQEPTpBMeQ8mDXAWEOYBBRARFwsCDQ2iKBX9iexTtxYZAgUDAgIBMjIoFQFTWQRMHRVkFR0dFWQVHfzmalRubFQBLlQMAQ1uFh8BawIIEw8Mpgf%2Bqg8bBgHP%2Fq1WkhEMAQMFAwcDCQIKAv44FhITFcsPGwaDASVkAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBJSYGHQEhIgYdARQWMyEVFBY3JTY0AeLs1ptbW5vW7NabW1ubAob%2B7RAX%2Fu0KDw8KARMXEAETEASaW5vW7NabW1ub1uzWm%2F453w0KFYkPCpYKD4kVCg3fDSYAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgENAQYUFwUWNj0BITI2PQE0JiMhNTQmAeLs1ptbW5vW7NabW1ubASX%2B7RAQARMQFwETCg8PCv7tFwSaW5vW7NabW1ub1uzWm%2BjfDSYN3w0KFYkPCpYKD4kVCgAAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBAyYiBwMGFjsBERQWOwEyNjURMzI2AeLs1ptbW5vW7NabW1ubAkvfDSYN3w0KFYkPCpYKD4kVCgSaW5vW7NabW1ub1uzWm%2F5AARMQEP7tEBf%2B7QoPDwoBExcAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEFIyIGFREjIgYXExYyNxM2JisBETQmAeLs1ptbW5vW7NabW1ubAZeWCg%2BJFQoN3w0mDd8NChWJDwSaW5vW7NabW1ub1uzWm7sPCv7tFxD%2B7RAQARMQFwETCg8AAAMAGAAYBJgEmAAPAJYApgAAADIeAhQOAiIuAjQ%2BASUOAwcGJgcOAQcGFgcOAQcGFgcUFgcyHgEXHgIXHgI3Fg4BFx4CFxQGFBcWNz4CNy4BJy4BJyIOAgcGJyY2NS4BJzYuAQYHBicmNzY3HgIXHgMfAT4CJyY%2BATc%2BAzcmNzIWMjY3LgMnND4CJiceAT8BNi4CJwYHFB4BFS4CJz4BNxYyPgEB5OjVm1xcm9Xo1ZtcXJsBZA8rHDoKDz0PFD8DAxMBAzEFCRwGIgEMFhkHECIvCxU%2FOR0HFBkDDRQjEwcFaHUeISQDDTAMD0UREi4oLBAzDwQBBikEAQMLGhIXExMLBhAGKBsGBxYVEwYFAgsFAwMNFwQGCQcYFgYQCCARFwkKKiFBCwQCAQMDHzcLDAUdLDgNEiEQEgg%2FKhADGgMKEgoRBJhcm9Xo1ZtcXJvV6NWbEQwRBwkCAwYFBycPCxcHInIWInYcCUcYChQECA4QBAkuHgQPJioRFRscBAcSCgwCch0kPiAIAQcHEAsBAgsLIxcBMQENCQIPHxkCFBkdHB4QBgEBBwoMGBENBAMMJSAQEhYXDQ4qFBkKEhIDCQsXJxQiBgEOCQwHAQ0DBAUcJAwSCwRnETIoAwEJCwsLJQcKDBEAAAAAAQAAAAIErwSFABYAAAE2FwUXNxYGBw4BJwEGIi8BJjQ3ASY2AvSkjv79kfsGUE08hjv9rA8rD28PDwJYIk8EhVxliuh%2BWYcrIgsW%2FawQEG4PKxACV2XJAAYAAABgBLAErAAPABMAIwAnADcAOwAAEyEyFh0BFAYjISImPQE0NgUjFTMFITIWHQEUBiMhIiY9ATQ2BSEVIQUhMhYdARQGIyEiJj0BNDYFIRUhZAPoKTs7KfwYKTs7BBHIyPwYA%2BgpOzsp%2FBgpOzsEEf4MAfT8GAPoKTs7KfwYKTs7BBH%2B1AEsBKw7KWQpOzspZCk7ZGTIOylkKTs7KWQpO2RkyDspZCk7OylkKTtkZAAAAAIAZAAABEwEsAALABEAABMhMhYUBiMhIiY0NgERBxEBIZYDhBUdHRX8fBUdHQI7yP6iA4QEsB0qHR0qHf1E%2FtTIAfQB9AAAAAMAAABkBLAEsAAXABsAJQAAATMyFh0BITIWFREhNSMVIRE0NjMhNTQ2FxUzNQEVFAYjISImPQEB9MgpOwEsKTv%2BDMj%2BDDspASw7KcgB9Dsp%2FBgpOwSwOylkOyn%2BcGRkAZApO2QpO2RkZP1EyCk7OynIAAAABAAAAAAEsASwABUAKwBBAFcAABMhMhYPARcWFA8BBiIvAQcGJjURNDYpATIWFREUBi8BBwYiLwEmND8BJyY2ARcWFA8BFxYGIyEiJjURNDYfATc2MgU3NhYVERQGIyEiJj8BJyY0PwE2MhcyASwVCA5exwcHaggUCMdeDhUdAzUBLBUdFQ5exwgUCGoHB8deDgj%2BL2oHB8deDggV%2FtQVHRUOXscIFALLXg4VHRX%2B1BUIDl7HBwdqCBQIBLAVDl7HCBQIagcHx14OCBUBLBUdHRX%2B1BUIDl7HBwdqCBQIx14OFf0maggUCMdeDhUdFQEsFQgOXscHzl4OCBX%2B1BUdFQ5exwgUCGoHBwAAAAYAAAAABKgEqAAPABsAIwA7AEMASwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiQyFhQGIiY0JDIWFAYjIicHFhUUBiImNTQ2PwImNTQEMhYUBiImNCQyFhQGIiY0Advy3Z9fX5%2Fd8t2gXl6gAcbgv29vv%2BC%2Fb2%2F%2BLS0gIC0gAUwtICAWDg83ETNIMykfegEJ%2FoctICAtIAIdLSAgLSAEqF%2Bf3fLdoF5eoN3y3Z9Xb7%2Fgv29vv%2BC%2FBiAtISEtICAtIQqRFxwkMzMkIDEFfgEODhekIC0gIC0gIC0gIC0AAf%2FYAFoEuQS8AFsAACUBNjc2JicmIyIOAwcABw4EFx4BMzI3ATYnLgEjIgcGBwEOASY0NwA3PgEzMhceARcWBgcOBgcGIyImJyY2NwE2NzYzMhceARcWBgcBDgEnLgECIgHVWwgHdl8WGSJBMD8hIP6IDx4eLRMNBQlZN0ozAiQkEAcdEhoYDRr%2Bqw8pHA4BRyIjQS4ODyw9DQ4YIwwod26La1YOOEBGdiIwGkQB%2F0coW2tQSE5nDxE4Qv4eDyoQEAOtAdZbZWKbEQQUGjIhH%2F6JDxsdNSg3HT5CMwIkJCcQFBcMGv6uDwEcKQ4BTSIjIQEINykvYyMLKnhuiWZMBxtAOU6%2BRAH%2FSBg3ISSGV121Qv4kDwIPDyYAAAACAGQAWASvBEQAGQBEAAABPgIeAhUUDgMHLgQ1ND4CHgEFIg4DIi4DIyIGFRQeAhcWFx4EMj4DNzY3PgQ1NCYCiTB7eHVYNkN5hKg%2BPqeFeEM4WnZ4eQEjIT8yLSohJyktPyJDbxtBMjMPBw86KzEhDSIzKUAMBAgrKT8dF2oDtURIBS1TdkA5eYB%2FslVVsn%2BAeTlAdlMtBUgtJjY1JiY1NiZvTRc4SjQxDwcOPCouGBgwKEALBAkpKkQqMhNPbQACADn%2F8gR3BL4AFwAuAAAAMh8BFhUUBg8BJi8BNycBFwcvASY0NwEDNxYfARYUBwEGIi8BJjQ%2FARYfAQcXAQKru0KNQjgiHR8uEl%2F3%2FnvUaRONQkIBGxJpCgmNQkL%2B5UK6Qo1CQjcdLhJf9wGFBL5CjUJeKmsiHTUuEl%2F4%2FnvUahKNQrpCARv%2BRmkICY1CukL%2B5UJCjUK7Qjc3LxFf%2BAGFAAAAAAMAyAAAA%2BgEsAARABUAHQAAADIeAhURFAYjISImNRE0PgEHESERACIGFBYyNjQCBqqaZDo7Kf2oKTs8Zj4CWP7%2FVj09Vj0EsB4uMhX8Ryk7OykDuRUzLar9RAK8%2FRY9Vj09VgABAAAAAASwBLAAFgAACQEWFAYiLwEBEScBBRMBJyEBJyY0NjIDhgEbDx0qDiT%2B6dT%2BzP7oywEz0gEsAQsjDx0qBKH%2B5g8qHQ8j%2FvX%2B1NL%2BzcsBGAE01AEXJA4qHQAAAAADAScAEQQJBOAAMgBAAEsAAAEVHgQXIy4DJxEXHgQVFAYHFSM1JicuASczHgEXEScuBDU0PgI3NRkBDgMVFB4DFxYXET4ENC4CArwmRVI8LAKfBA0dMydAIjxQNyiym2SWVygZA4sFV0obLkJOMCAyVWg6HSoqFQ4TJhkZCWgWKTEiGBkzNwTgTgUTLD9pQiQuLBsH%2Fs0NBxMtPGQ%2Bi6oMTU8QVyhrVk1iEAFPCA4ZLzlYNkZwSCoGTf4SARIEDh02Jh0rGRQIBgPQ%2FsoCCRYgNEM0JRkAAAABAGQAZgOUBK0ASgAAATIeARUjNC4CIyIGBwYVFB4BFxYXMxUjFgYHBgc%2BATM2FjMyNxcOAyMiLgEHDgEPASc%2BBTc%2BAScjNTMmJy4CPgE3NgIxVJlemSc8OxolVBQpGxoYBgPxxQgVFS02ImIWIIwiUzUyHzY4HCAXanQmJ1YYFzcEGAcTDBEJMAwk3aYXFQcKAg4tJGEErVCLTig%2FIhIdFSw5GkowKgkFZDKCHj4yCg8BIh6TExcIASIfBAMaDAuRAxAFDQsRCjePR2QvORQrREFMIVgAAAACABn%2F%2FwSXBLAADwAfAAABMzIWDwEGIi8BJjY7AREzBRcWBisBESMRIyImPwE2MgGQlhUIDuYOKg7mDggVlsgCF%2BYOCBWWyJYVCA7mDioBLBYO%2Bg8P%2Bg4WA4QQ%2BQ4V%2FHwDhBUO%2BQ8AAAQAGf%2F%2FA%2BgEsAAHABcAGwAlAAABIzUjFSMRIQEzMhYPAQYiLwEmNjsBETMFFTM1EwczFSE1NyM1IQPoZGRkASz9qJYVCA7mDioO5g4IFZbIAZFkY8jI%2FtTIyAEsArxkZAH0%2FHwWDvoPD%2FoOFgOEZMjI%2FRL6ZJb6ZAAAAAAEABn%2F%2FwPoBLAADwAZACEAJQAAATMyFg8BBiIvASY2OwERMwUHMxUhNTcjNSERIzUjFSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAljIyP7UyMgBLGRkZAEsx2QBLBYO%2Bg8P%2Bg4WA4SW%2BmSW%2BmT7UGRkAfRkyMgAAAAEABn%2F%2FwRMBLAADwAVABsAHwAAATMyFg8BBiIvASY2OwERMwEjESM1MxMjNSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAlhkZMhkZMgBLMdkASwWDvoPD%2FoOFgOE%2FgwBkGT7UGQBkGTIyAAAAAAEABn%2F%2FwRMBLAADwAVABkAHwAAATMyFg8BBiIvASY2OwERMwEjNSMRIQcVMzUDIxEjNTMBkJYVCA7mDioO5g4IFZbIArxkyAEsx2QBZGTIASwWDvoPD%2FoOFgOE%2FgxkAZBkyMj7tAGQZAAAAAAFABn%2F%2FwSwBLAADwATABcAGwAfAAABMzIWDwEGIi8BJjY7AREzBSM1MxMhNSETITUhEyE1IQGQlhUIDuYOKg7mDggVlsgB9MjIZP7UASxk%2FnABkGT%2BDAH0ASwWDvoPD%2FoOFgOEyMj%2BDMj%2BDMj%2BDMgABQAZ%2F%2F8EsASwAA8AEwAXABsAHwAAATMyFg8BBiIvASY2OwERMwUhNSEDITUhAyE1IQMjNTMBkJYVCA7mDioO5g4IFZbIAyD%2BDAH0ZP5wAZBk%2FtQBLGTIyAEsFg76Dw%2F6DhYDhMjI%2FgzI%2FgzI%2FgzIAAIAAAAABEwETAAPAB8AAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmAV4BkKK8u6P%2BcKW5uQJn%2FgwpOzspAfQpOzsETLuj%2FnClubmlAZClucg7Kf4MKTs7KQH0KTsAAAAAAwAAAAAETARMAA8AHwArAAABITIWFREUBiMhIiY1ETQ2BSEiBhURFBYzITI2NRE0JgUXFhQPAQYmNRE0NgFeAZClubml%2FnCju7wCZP4MKTs7KQH0KTs7%2Fm%2F9ERH9EBgYBEy5pf5wpbm5pQGQo7vIOyn%2BDCk7OykB9Ck7gr4MJAy%2BDAsVAZAVCwAAAAADAAAAAARMBEwADwAfACsAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFg8BBiIvASY2AV4BkKO7uaX%2BcKW5uQJn%2FgwpOzspAfQpOzv%2BFQGQFQsMvgwkDL4MCwRMvKL%2BcKW5uaUBkKO7yDsp%2FgwpOzspAfQpO8gYEP0REf0QGAAAAAMAAAAABEwETAAPAB8AKwAAASEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFFxYGIyEiJj8BNjIBXgGQpbm5pf5wo7u5Amf%2BDCk7OykB9Ck7O%2F77vgwLFf5wFQsMvgwkBEy5pf5wo7u8ogGQpbnIOyn%2BDCk7OykB9Ck7z%2F0QGBgQ%2FREAAAAAAgAAAAAFFARMAB8ANQAAASEyFhURFAYjISImPQE0NjMhMjY1ETQmIyEiJj0BNDYHARYUBwEGJj0BIyImPQE0NjsBNTQ2AiYBkKW5uaX%2BcBUdHRUBwik7Oyn%2BPhUdHb8BRBAQ%2FrwQFvoVHR0V%2BhYETLml%2FnCluR0VZBUdOykB9Ck7HRVkFR3p%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgAAAQDZAAID1wSeACMAAAEXFgcGAgclMhYHIggBBwYrAScmNz4BPwEhIicmNzYANjc2MwMZCQgDA5gCASwYEQ4B%2Fvf%2B8wQMDgkJCQUCUCcn%2FtIXCAoQSwENuwUJEASeCQoRC%2F5TBwEjEv7K%2FsUFDwgLFQnlbm4TFRRWAS%2FTBhAAAAACAAAAAAT%2BBEwAHwA1AAABITIWHQEUBiMhIgYVERQWMyEyFh0BFAYjISImNRE0NgUBFhQHAQYmPQEjIiY9ATQ2OwE1NDYBXgGQFR0dFf4%2BKTs7KQHCFR0dFf5wpbm5AvEBRBAQ%2FrwQFvoVHR0V%2BhYETB0VZBUdOyn%2BDCk7HRVkFR25pQGQpbnp%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgACAAAAAASwBLAAFQAxAAABITIWFREUBi8BAQYiLwEmNDcBJyY2ASMiBhURFBYzITI2PQE3ERQGIyEiJjURNDYzIQLuAZAVHRUObf7IDykPjQ8PAThtDgj%2B75wpOzspAfQpO8i7o%2F5wpbm5pQEsBLAdFf5wFQgObf7IDw%2BNDykPAThtDhX%2B1Dsp%2FgwpOzsplMj%2B1qW5uaUBkKW5AAADAA4ADgSiBKIADwAbACMAAAAyHgIUDgIiLgI0PgEEIg4BFB4BMj4BNCYEMhYUBiImNAHh7tmdXV2d2e7ZnV1dnQHD5sJxccLmwnFx%2FnugcnKgcgSiXZ3Z7tmdXV2d2e7ZnUdxwubCcXHC5sJzcqBycqAAAAMAAAAABEwEsAAVAB8AIwAAATMyFhURMzIWBwEGIicBJjY7ARE0NgEhMhYdASE1NDYFFTM1AcLIFR31FAoO%2FoEOJw3%2BhQ0JFfod%2FoUD6BUd%2B7QdA2dkBLAdFf6iFg%2F%2BVg8PAaoPFgFeFR38fB0V%2BvoVHWQyMgAAAAMAAAAABEwErAAVAB8AIwAACQEWBisBFRQGKwEiJj0BIyImNwE%2BAQEhMhYdASE1NDYFFTM1AkcBeg4KFfQiFsgUGPoUCw4Bfw4n%2FfkD6BUd%2B7QdA2dkBJ7%2BTQ8g%2BhQeHRX6IQ8BrxAC%2FH8dFfr6FR1kMjIAAwAAAAAETARLABQAHgAiAAAJATYyHwEWFAcBBiInASY0PwE2MhcDITIWHQEhNTQ2BRUzNQGMAXEHFQeLBwf98wcVB%2F7cBweLCBUH1APoFR37tB0DZ2QC0wFxBweLCBUH%2FfMICAEjCBQIiwcH%2FdIdFfr6FR1kMjIABAAAAAAETASbAAkAGQAjACcAABM3NjIfAQcnJjQFNzYWFQMOASMFIiY%2FASc3ASEyFh0BITU0NgUVMzWHjg4qDk3UTQ4CFtIOFQIBHRX9qxUIDtCa1P49A%2BgVHfu0HQNnZAP%2Fjg4OTdRMDyqa0g4IFf2pFB4BFQ7Qm9T9Oh0V%2BvoVHWQyMgAAAAQAAAAABEwEsAAPABkAIwAnAAABBR4BFRMUBi8BByc3JyY2EwcGIi8BJjQ%2FAQEhMhYdASE1NDYFFTM1AV4CVxQeARUO0JvUm9IOCMNMDyoOjg4OTf76A%2BgVHfu0HQNnZASwAgEdFf2rFQgO0JrUmtIOFf1QTQ4Ojg4qDk3%2BWB0V%2BvoVHWQyMgACAAT%2F7ASwBK8ABQAIAAAlCQERIQkBFQEEsP4d%2Fsb%2BcQSs%2FTMCq2cBFP5xAacDHPz55gO5AAAAAAIAAABkBEwEsAAVABkAAAERFAYrAREhESMiJjURNDY7AREhETMHIzUzBEwdFZb9RJYVHR0V%2BgH0ZMhkZAPo%2FK4VHQGQ%2FnAdFQPoFB7%2B1AEsyMgAAAMAAABFBN0EsAAWABoALwAAAQcBJyYiDwEhESMiJjURNDY7AREhETMHIzUzARcWFAcBBiIvASY0PwE2Mh8BATYyBEwC%2FtVfCRkJlf7IlhUdHRX6AfRkyGRkAbBqBwf%2BXAgUCMoICGoHFQdPASkHFQPolf7VXwkJk%2F5wHRUD6BQe%2FtQBLMjI%2Fc5qBxUH%2FlsHB8sHFQdqCAhPASkHAAMAAAANBQcEsAAWABoAPgAAAREHJy4BBwEhESMiJjURNDY7AREhETMHIzUzARcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyBExnhg8lEP72%2FreWFR0dFfoB9GTIZGQB9kYPD4ODDw9GDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykD6P7zZ4YPAw7%2B9v5wHRUD6BQe%2FtQBLMjI%2FYxGDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykPRg8Pg4MPAAADAAAAFQSXBLAAFQAZAC8AAAERISIGHQEhESMiJjURNDY7AREhETMHIzUzEzMyFh0BMzIWDwEGIi8BJjY7ATU0NgRM%2FqIVHf4MlhUdHRX6AfRkyGRklmQVHZYVCA7mDioO5g4IFZYdA%2Bj%2B1B0Vlv5wHRUD6BQe%2FtQBLMjI%2FagdFfoVDuYODuYOFfoVHQAAAAADAAAAAASXBLAAFQAZAC8AAAERJyYiBwEhESMiJjURNDY7AREhETMHIzUzExcWBisBFRQGKwEiJj0BIyImPwE2MgRMpQ4qDv75%2Fm6WFR0dFfoB9GTIZGTr5g4IFZYdFWQVHZYVCA7mDioD6P5wpQ8P%2Fvf%2BcB0VA%2BgUHv7UASzIyP2F5Q8V%2BhQeHhT6FQ%2FlDwADAAAAyASwBEwACQATABcAABMhMhYdASE1NDYBERQGIyEiJjURExUhNTIETBUd%2B1AdBJMdFfu0FR1kAZAETB0VlpYVHf7U%2FdoVHR0VAib%2B1MjIAAAGAAMAfQStBJcADwAZAB0ALQAxADsAAAEXFhQPAQYmPQEhNSE1NDYBIyImPQE0NjsBFyM1MwE3NhYdASEVIRUUBi8BJjQFIzU7AjIWHQEUBisBA6f4Dg74DhX%2BcAGQFf0vMhUdHRUyyGRk%2FoL3DhUBkP5wFQ73DwOBZGRkMxQdHRQzBI3mDioO5g4IFZbIlhUI%2FoUdFWQVHcjI%2FcvmDggVlsiWFQgO5g4qecgdFWQVHQAAAAACAGQAAASwBLAAFgBRAAABJTYWFREUBisBIiY1ES4ENRE0NiUyFh8BERQOAg8BERQGKwEiJjURLgQ1ETQ%2BAzMyFh8BETMRPAE%2BAjMyFh8BETMRND4DA14BFBklHRXIFR0EDiIaFiX%2B4RYZAgEVHR0LCh0VyBUdBA4iGhYBBwoTDRQZAgNkBQkVDxcZAQFkAQUJFQQxdBIUH%2FuuFR0dFQGNAQgbHzUeAWcfRJEZDA3%2BPhw%2FMSkLC%2F5BFR0dFQG%2FBA8uLkAcAcICBxENCxkMDf6iAV4CBxENCxkMDf6iAV4CBxENCwABAGQAAASwBEwAMwAAARUiDgMVERQWHwEVITUyNjURIREUFjMVITUyPgM1ETQmLwE1IRUiBhURIRE0JiM1BLAEDiIaFjIZGf5wSxn%2BDBlL%2FnAEDiIaFjIZGQGQSxkB9BlLBEw4AQUKFA78iBYZAQI4OA0lAYr%2BdiUNODgBBQoUDgN4FhkBAjg4DSX%2BdgGKJQ04AAAABgAAAAAETARMAAwAHAAgACQAKAA0AAABITIWHQEjBTUnITchBSEyFhURFAYjISImNRE0NhcVITUBBTUlBRUhNQUVFAYjIQchJyE3MwKjAXcVHWn%2B2cj%2BcGQBd%2F4lASwpOzsp%2FtQpOzspASwCvP5wAZD8GAEsArwdFf6JZP6JZAGQyGkD6B0VlmJiyGTIOyn%2BDCk7OykB9Ck7ZMjI%2FveFo4XGyMhm%2BBUdZGTIAAEAEAAQBJ8EnwAmAAATNzYWHwEWBg8BHgEXNz4BHwEeAQ8BBiIuBicuBTcRohEuDosOBhF3ZvyNdxEzE8ATBxGjAw0uMUxPZWZ4O0p3RjITCwED76IRBhPCFDERdo78ZXYRBA6IDi8RogEECBUgNUNjO0qZfHNVQBAAAAACAAAAAASwBEwAIwBBAAAAMh4EHwEVFAYvAS4BPQEmIAcVFAYPAQYmPQE%2BBRIyHgIfARUBHgEdARQGIyEiJj0BNDY3ATU0PgIB%2FLimdWQ%2FLAkJHRTKFB2N%2FsKNHRTKFB0DDTE7ZnTKcFImFgEBAW0OFR0V%2B7QVHRUOAW0CFiYETBUhKCgiCgrIFRgDIgMiFZIYGJIVIgMiAxgVyAQNJyQrIP7kExwcCgoy%2FtEPMhTUFR0dFdQUMg8BLzIEDSEZAAADAAAAAASwBLAADQAdACcAAAEHIScRMxUzNTMVMzUzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYETMj9qMjIyMjIyPyuArwVHR0VDIn8SokMFR0dswRMFR37UB0CvMjIAfTIyMjI%2FOAdKh1kZB0qHf7UHRUyMhUdAAAAAwBkAAAEsARMAAkAEwAdAAABIyIGFREhETQmASMiBhURIRE0JgEhETQ2OwEyFhUCvGQpOwEsOwFnZCk7ASw7%2FRv%2B1DspZCk7BEw7KfwYA%2BgpO%2F7UOyn9RAK8KTv84AGQKTs7KQAAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQURByMRMwcRMxHIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkyMhkZARMsHz%2BDHywsHwB9HywyP1EArzIZP7UZGQBLGT%2B1GQB9GT%2B1AEsAAAABf%2BcAAAEsARMAA8AEwAfACUAKQAAEyEyFhURFAYjISImNRE0NhcRIREBIzUjFSMRMxUzNTMFEQcjETMHETMRyAK8fLCwfP1EfLCwGAOE%2FgxkZGRkZGQBkGTIyGRkBEywfP4MfLCwfAH0fLDI%2FUQCvP2oyMgB9MjIZP7UZAH0ZP7UASwABP%2BcAAAEsARMAA8AEwAbACMAABMhMhYVERQGIyEiJjURNDYXESERBSMRMxUhESEFIxEzFSERIcgCvHywsHz9RHywsBgDhP4MyMj%2B1AEsAZDIyP7UASwETLB8%2Fgx8sLB8AfR8sMj9RAK8yP7UZAH0ZP7UZAH0AAAABP%2BcAAAEsARMAA8AEwAWABkAABMhMhYVERQGIyEiJjURNDYXESERAS0BDQERyAK8fLCwfP1EfLCwGAOE%2Fgz%2B1AEsAZD%2B1ARMsHz%2BDHywsHwB9HywyP1EArz%2BDJaWlpYBLAAAAAX%2FnAAABLAETAAPABMAFwAgACkAABMhMhYVERQGIyEiJjURNDYXESERAyERIQcjIgYVFBY7AQERMzI2NTQmI8gCvHywsHz9RHywsBgDhGT9RAK8ZIImOTYpgv4Mgik2OSYETLB8%2Fgx8sLB8AfR8sMj9RAK8%2FagB9GRWQUFUASz%2B1FRBQVYAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkZMjIZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yGT%2B1GRkASz%2BDAGQZP4MZAAG%2F5wAAASwBEwADwATABkAHwAjACcAABMhMhYVERQGIyEiJjURNDYXESERBTMRIREzASMRIzUzBRUzNQEjNTPIArx8sLB8%2FUR8sLAYA4T9RMj%2B1GQCWGRkyP2oZAEsZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yP5wAfT%2BDAGQZMjIyP7UZAAF%2F5wAAASwBEwADwATABwAIgAmAAATITIWFREUBiMhIiY1ETQ2FxEhEQEHIzU3NSM1IQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMdkx8gBLAGQZGTIx2RkBEywfP4MfLCwfAH0fLDI%2FUQCvP5wyDLIlmT%2BDAGQZP4MZAAAAAMACQAJBKcEpwAPABsAJQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgchFSEVISc1NyEB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWz%2B1AEs%2FtRkZAEsBKdentvw255eXp7b8NueTHHC5MJxccLkwtDIZGTIZAAAAAAEAAkACQSnBKcADwAbACcAKwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcVBxcVIycjFSMRIQcVMzUB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWwyZGRklmQBLMjIBKdentvw255eXp7b8NueTHHC5MJxccLkwtBkMmQyZGQBkGRkZAAAAv%2Fy%2F50EwgRBACAANgAAATIWFzYzMhYUBisBNTQmIyEiBh0BIyImNTQ2NyY1ND4BEzMyFhURMzIWDwEGIi8BJjY7ARE0NgH3brUsLC54qqp4gB0V%2FtQVHd5QcFZBAmKqepYKD4kVCg3fDSYN3w0KFYkPBEF3YQ6t8a36FR0dFfpzT0VrDhMSZKpi%2FbMPCv7tFxD0EBD0EBcBEwoPAAAAAAL%2F8v%2BcBMMEQQAcADMAAAEyFhc2MzIWFxQGBwEmIgcBIyImNTQ2NyY1ND4BExcWBisBERQGKwEiJjURIyImNzY3NjIB9m62LCsueaoBeFr%2Bhg0lDf6DCU9xVkECYqnm3w0KFYkPCpYKD4kVCg3HGBMZBEF3YQ%2BteGOkHAFoEBD%2Bk3NPRWsOExNkqWP9kuQQF%2F7tCg8PCgETFxDMGBMAAAABAGQAAARMBG0AGAAAJTUhATMBMwkBMwEzASEVIyIGHQEhNTQmIwK8AZD%2B8qr%2B8qr%2B1P7Uqv7yqv7yAZAyFR0BkB0VZGQBLAEsAU3%2Bs%2F7U%2FtRkHRUyMhUdAAAAAAEAeQAABDcEmwAvAAABMhYXHgEVFAYHFhUUBiMiJxUyFh0BITU0NjM1BiMiJjU0Ny4BNTQ2MzIXNCY1NDYCWF6TGll7OzIJaUo3LRUd%2FtQdFS03SmkELzlpSgUSAqMEm3FZBoNaPWcfHRpKaR77HRUyMhUd%2Bx5pShIUFVg1SmkCAhAFdKMAAAAGACcAFASJBJwAEQAqAEIASgBiAHsAAAEWEgIHDgEiJicmAhI3PgEyFgUiBw4BBwYWHwEWMzI3Njc2Nz4BLwEmJyYXIgcOAQcGFh8BFjMyNz4BNz4BLwEmJyYWJiIGFBYyNjciBw4BBw4BHwEWFxYzMjc%2BATc2Ji8BJhciBwYHBgcOAR8BFhcWMzI3PgE3NiYvASYD8m9PT29T2dzZU29PT29T2dzZ%2Fj0EBHmxIgQNDCQDBBcGG0dGYAsNAwkDCwccBAVQdRgEDA0iBAQWBhJROQwMAwkDCwf5Y4xjY4xjVhYGElE6CwwDCQMLBwgEBVB1GAQNDCIEjRcGG0dGYAsNAwkDCwcIBAR5sSIEDQwkAwPyb%2F7V%2FtVvU1dXU28BKwErb1NXVxwBIrF5DBYDCQEWYEZHGwMVDCMNBgSRAhh1UA0WAwkBFTpREgMVCyMMBwT6Y2OMY2MVFTpREQQVCyMMBwQCGHVQDRYDCQEkFmBGRxsDFQwjDQYEASKxeQwWAwkBAAAABQBkAAAD6ASwAAwADwAWABwAIgAAASERIzUhFSERNDYzIQEjNQMzByczNTMDISImNREFFRQGKwECvAEstP6s%2FoQPCgI%2FASzIZKLU1KJktP51Cg8DhA8KwwMg%2FoTIyALzCg%2F%2B1Mj84NTUyP4MDwoBi8jDCg8AAAAABQBkAAAD6ASwAAkADAATABoAIQAAASERCQERNDYzIQEjNRMjFSM1IzcDISImPQEpARUUBisBNQK8ASz%2Bov3aDwoCPwEsyD6iZKLUqv6dCg8BfAIIDwqbAyD9%2BAFe%2FdoERwoP%2FtTI%2FHzIyNT%2BZA8KNzcKD1AAAAAAAwAAAAAEsAP0AAgAGQAfAAABIxUzFyERIzcFMzIeAhUhFSEDETM0PgIBMwMhASEEiqJkZP7UotT9EsgbGiEOASz9qMhkDiEaAnPw8PzgASwB9AMgyGQBLNTUBBErJGT%2BogHCJCsRBP5w%2FnAB9AAAAAMAAAAABEwETAAZADIAOQAAATMyFh0BMzIWHQEUBiMhIiY9ATQ2OwE1NDYFNTIWFREUBiMhIic3ARE0NjMVFBYzITI2AQc1IzUzNQKKZBUdMhUdHRX%2B1BUdHRUyHQFzKTs7Kf2oARP2%2Fro7KVg%2BASw%2BWP201MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7KfzgKTsE9gFGAUQpO5Y%2BWFj95tSiZKIAAwBkAAAEvARMABkANgA9AAABMzIWHQEzMhYdARQGIyEiJj0BNDY7ATU0NgU1MhYVESMRMxQOAiMhIiY1ETQ2MxUUFjMhMjYBBzUjNTM1AcJkFR0yFR0dFf7UFR0dFTIdAXMpO8jIDiEaG%2F2oKTs7KVg%2BASw%2BWAGc1MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7Kf4M%2FtQkKxEEOykDICk7lj5YWP3m1KJkogAAAAP%2FogAABRYE1AALABsAHwAACQEWBiMhIiY3ATYyEyMiBhcTHgE7ATI2NxM2JgMVMzUCkgJ9FyAs%2BwQsIBcCfRZARNAUGAQ6BCMUNhQjBDoEGODIBK37sCY3NyYEUCf%2BTB0U%2FtIUHR0UAS4UHf4MZGQAAAAACQAAAAAETARMAA8AHwAvAD8ATwBfAG8AfwCPAAABMzIWHQEUBisBIiY9ATQ2EzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBqfoKDw8K%2BgoPDwr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPDwRMDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg%2F%2B1A8KlgoPDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKDw8KlgoPAAAAAwAAAAAEsAUUABkAKQAzAAABMxUjFSEyFg8BBgchJi8BJjYzITUjNTM1MwEhMhYUBisBFyE3IyImNDYDITIWHQEhNTQ2ArxkZAFePjEcQiko%2FPwoKUIcMT4BXmRkyP4%2BArwVHR0VDIn8SooNFR0dswRMFR37UB0EsMhkTzeEUzMzU4Q3T2TIZPx8HSodZGQdKh3%2B1B0VMjIVHQAABAAAAAAEsAUUAAUAGQArADUAAAAyFhUjNAchFhUUByEyFg8BIScmNjMhJjU0AyEyFhQGKwEVBSElNSMiJjQ2AyEyFh0BITU0NgIwUDnCPAE6EgMBSCkHIq%2F9WrIiCikBSAOvArwVHR0VlgET%2FEoBE5YVHR2zBEwVHftQHQUUOykpjSUmCBEhFpGRFiERCCb%2BlR0qHcjIyMgdKh39qB0VMjIVHQAEAAAAAASwBJ0ABwAUACQALgAAADIWFAYiJjQTMzIWFRQXITY1NDYzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYCDZZqapZqty4iKyf%2BvCcrI%2F7NArwVHR0VDYr8SokMFR0dswRMFR37UB0EnWqWamqW%2Fus5Okxra0w6Of5yHSodZGQdKh3%2B1B0VMjIVHQAEAAAAAASwBRQADwAcACwANgAAATIeARUUBiImNTQ3FzcnNhMzMhYVFBchNjU0NjMBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYL1szb5xvIpBvoyIfLiIrJ%2F68Jysj%2Fs0CvBUdHRUNivxKiQwVHR2zBEwVHftQHQUUa4s2Tm9vTj5Rj2%2BjGv4KOTpMa2tMOjn%2Bch0qHWRkHSod%2FtQdFTIyFR0AAAADAAAAAASwBRIAEgAiACwAAAEFFSEUHgMXIS4BNTQ%2BAjcBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYASz%2B1CU%2FP00T%2Fe48PUJtj0r%2BogK8FR0dFQ2K%2FEqJDBUdHbMETBUd%2B1AdBLChizlmUT9IGVO9VFShdksE%2FH4dKh1kZB0qHf7UHRUyMhUdAAIAyAAAA%2BgFFAAPACkAAAAyFh0BHgEdASE1NDY3NTQDITIWFyMVMxUjFTMVIxUzFAYjISImNRE0NgIvUjsuNv5wNi5kAZA2XBqsyMjIyMh1U%2F5wU3V1BRQ7KU4aXDYyMjZcGk4p%2Fkc2LmRkZGRkU3V1UwGQU3UAAAMAZP%2F%2FBEwETAAPAC8AMwAAEyEyFhURFAYjISImNRE0NgMhMhYdARQGIyEXFhQGIi8BIQcGIiY0PwEhIiY9ATQ2BQchJ5YDhBUdHRX8fBUdHQQDtgoPDwr%2B5eANGiUNWP30Vw0mGg3g%2Ft8KDw8BqmQBRGQETB0V%2FgwVHR0VAfQVHf1EDwoyCg%2FgDSUbDVhYDRslDeAPCjIKD2RkZAAAAAAEAAAAAASwBEwAGQAjAC0ANwAAEyEyFh0BIzQmKwEiBhUjNCYrASIGFSM1NDYDITIWFREhETQ2ExUUBisBIiY9ASEVFAYrASImPQHIAyBTdWQ7KfopO2Q7KfopO2R1EQPoKTv7UDvxHRVkFR0D6B0VZBUdBEx1U8gpOzspKTs7KchTdf4MOyn%2B1AEsKTv%2BDDIVHR0VMjIVHR0VMgADAAEAAASpBKwADQARABsAAAkBFhQPASEBJjQ3ATYyCQMDITIWHQEhNTQ2AeACqh8fg%2F4f%2FfsgIAEnH1n%2BrAFWAS%2F%2Bq6IDIBUd%2FHwdBI39VR9ZH4MCBh9ZHwEoH%2F5u%2FqoBMAFV%2FBsdFTIyFR0AAAAAAgCPAAAEIQSwABcALwAAAQMuASMhIgYHAwYWMyEVFBYyNj0BMzI2AyE1NDY7ATU0NjsBETMRMzIWHQEzMhYVBCG9CCcV%2FnAVJwi9CBMVAnEdKh19FROo%2Fa0dFTIdFTDILxUdMhUdAocB%2BhMcHBP%2BBhMclhUdHRWWHP2MMhUdMhUdASz%2B1B0VMh0VAAAEAAAAAASwBLAADQAQAB8AIgAAASERFAYjIREBNTQ2MyEBIzUBIREUBiMhIiY1ETQ2MyEBIzUDhAEsDwr%2Bif7UDwoBdwEsyP2oASwPCv12Cg8PCgF3ASzIAyD9wQoPAk8BLFQKD%2F7UyP4M%2FcEKDw8KA7YKD%2F7UyAAC%2F5wAZAUUBEcARgBWAAABMzIeAhcWFxY2NzYnJjc%2BARYXFgcOASsBDgEPAQ4BKwEiJj8BBisBIicHDgErASImPwEmLwEuAT0BNDY7ATY3JyY2OwE2BSMiBh0BFBY7ATI2PQE0JgHkw0uOakkMEhEfQwoKGRMKBQ8XDCkCA1Y9Pgc4HCcDIhVkFRgDDDEqwxgpCwMiFWQVGAMaVCyfExwdFXwLLW8QBxXLdAFF%2BgoPDwr6Cg8PBEdBa4pJDgYKISAiJRsQCAYIDCw9P1c3fCbqFB0dFEYOCEAUHR0UnUplNQcmFTIVHVdPXw4TZV8PCjIKDw8KMgoPAAb%2FnP%2FmBRQEfgAJACQANAA8AFIAYgAAASU2Fh8BFgYPASUzMhYfASEyFh0BFAYHBQYmJyYjISImPQE0NhcjIgYdARQ7ATI2NTQmJyYEIgYUFjI2NAE3PgEeARceAT8BFxYGDwEGJi8BJjYlBwYfAR4BPwE2Jy4BJy4BAoEBpxMuDiAOAxCL%2FCtqQ0geZgM3FR0cE%2F0fFyIJKjr%2B1D5YWLlQExIqhhALIAsSAYBALS1ALf4PmBIgHhMQHC0aPzANITNQL3wpgigJASlmHyElDR0RPRMFAhQHCxADhPcICxAmDyoNeMgiNtQdFTIVJgeEBBQPQ1g%2ByD5YrBwVODMQEAtEERzJLUAtLUD%2B24ITChESEyMgAwWzPUkrRSgJL5cvfRxYGyYrDwkLNRAhFEgJDAQAAAAAAwBkAAAEOQSwAFEAYABvAAABMzIWHQEeARcWDgIPATIeBRUUDgUjFRQGKwEiJj0BIxUUBisBIiY9ASMiJj0BNDY7AREjIiY9ATQ2OwE1NDY7ATIWHQEzNTQ2AxUhMj4CNTc0LgMjARUhMj4CNTc0LgMjAnGWCg9PaAEBIC4uEBEGEjQwOiodFyI2LUAjGg8KlgoPZA8KlgoPrwoPDwpLSwoPDwqvDwqWCg9kD9cBBxwpEwsBAQsTKRz%2B%2BQFrHCkTCwEBCxMpHASwDwptIW1KLk0tHwYGAw8UKDJOLTtdPCoVCwJLCg8PCktLCg8PCksPCpYKDwJYDwqWCg9LCg8PCktLCg%2F%2B1MgVHR0LCgQOIhoW%2FnDIFR0dCwoEDiIaFgAAAwAEAAIEsASuABcAKQAsAAATITIWFREUBg8BDgEjISImJy4CNRE0NgQiDgQPARchNy4FAyMT1AMMVnokEhIdgVL9xFKCHAgYKHoCIIx9VkcrHQYGnAIwnAIIIClJVSGdwwSuelb%2BYDO3QkJXd3ZYHFrFMwGgVnqZFyYtLSUMDPPzBQ8sKDEj%2FsIBBQACAMgAAAOEBRQADwAZAAABMzIWFREUBiMhIiY1ETQ2ARUUBisBIiY9AQHblmesVCn%2BPilUrAFINhWWFTYFFKxn%2FgwpVFQpAfRnrPwY4RU2NhXhAAACAMgAAAOEBRQADwAZAAABMxQWMxEUBiMhIiY1ETQ2ARUUBisBIiY9AQHbYLOWVCn%2BPilUrAFINhWWFTYFFJaz%2FkIpVFQpAfRnrPwY4RU2NhXhAAACAAAAFAUOBBoAFAAaAAAJASUHFRcVJwc1NzU0Jj4CPwEnCQEFJTUFJQUO%2FYL%2Bhk5klpZkAQEBBQQvkwKCAVz%2Bov6iAV4BXgL%2F%2FuWqPOCWx5SVyJb6BA0GCgYDKEEBG%2F1ipqaTpaUAAAMAZAH0BLADIAAHAA8AFwAAEjIWFAYiJjQkMhYUBiImNCQyFhQGIiY0vHxYWHxYAeh8WFh8WAHofFhYfFgDIFh8WFh8WFh8WFh8WFh8WFh8AAAAAAMBkAAAArwETAAHAA8AFwAAADIWFAYiJjQSMhYUBiImNBIyFhQGIiY0Aeh8WFh8WFh8WFh8WFh8WFh8WARMWHxYWHz%2ByFh8WFh8%2FshYfFhYfAAAAAMAZABkBEwETAAPAB8ALwAAEyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2fQO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PBEwPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoPAAAABAAAAAAEsASwAA8AHwAvADMAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFhURFAYjISImNRE0NhcVITUBXgH0ory7o%2F4Mpbm5Asv9qCk7OykCWCk7O%2F2xAfQVHR0V%2FgwVHR1HAZAEsLuj%2FgylubmlAfSlucg7Kf2oKTs7KQJYKTtkHRX%2B1BUdHRUBLBUdZMjIAAAAAAEAZABkBLAETAA7AAATITIWFAYrARUzMhYUBisBFTMyFhQGKwEVMzIWFAYjISImNDY7ATUjIiY0NjsBNSMiJjQ2OwE1IyImNDaWA%2BgVHR0VMjIVHR0VMjIVHR0VMjIVHR0V%2FBgVHR0VMjIVHR0VMjIVHR0VMjIVHR0ETB0qHcgdKh3IHSodyB0qHR0qHcgdKh3IHSodyB0qHQAAAAYBLAAFA%2BgEowAHAA0AEwAZAB8AKgAAAR4BBgcuATYBMhYVIiYlFAYjNDYBMhYVIiYlFAYjNDYDFRQGIiY9ARYzMgKKVz8%2FV1c%2FP%2F75fLB8sAK8sHyw%2FcB8sHywArywfLCwHSodKAMRBKNDsrJCQrKy%2FsCwfLB8fLB8sP7UsHywfHywfLD%2B05AVHR0VjgQAAAH%2FtQDIBJQDgQBCAAABNzYXAR4BBw4BKwEyFRQOBCsBIhE0NyYiBxYVECsBIi4DNTQzIyImJyY2NwE2HwEeAQ4BLwEHIScHBi4BNgLpRRkUASoLCAYFGg8IAQQNGyc%2FKZK4ChRUFQu4jjBJJxkHAgcPGQYGCAsBKhQaTBQVCiMUM7YDe7YsFCMKFgNuEwYS%2FtkLHw8OEw0dNkY4MhwBIBgXBAQYF%2F7gKjxTQyMNEw4PHwoBKBIHEwUjKBYGDMHBDAUWKCMAAAAAAgAAAAAEsASwACUAQwAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjNC4DKwERFBYXMxUjNTI1ESMiDgMVIzUhBLAyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj9RBkIChgQEWQZDQzIMmQREBgKCBkB9AOEFSAVDggDAfyuFhkBAmRkAQUJFQ4DUgEDCA4VIBUBLP0SDxMKBQH%2BVwsNATIyGQGpAQUKEw%2BWAAAAAAMAAAAABEwErgAdACAAMAAAATUiJy4BLwEBIwEGBw4BDwEVITUiJj8BIRcWBiMVARsBARUUBiMhIiY9ATQ2MyEyFgPoGR4OFgUE%2Ft9F%2FtQSFQkfCwsBETE7EkUBJT0NISf%2B7IZ5AbEdFfwYFR0dFQPoFR0BLDIgDiIKCwLr%2FQ4jFQkTBQUyMisusKYiQTIBhwFW%2Fqr942QVHR0VZBUdHQADAAAAAASwBLAADwBHAEoAABMhMhYVERQGIyEiJjURNDYFIyIHAQYHBgcGHQEUFjMhMjY9ATQmIyInJj8BIRcWBwYjIgYdARQWMyEyNj0BNCYnIicmJyMBJhMjEzIETBUdHRX7tBUdHQJGRg0F%2FtUREhImDAsJAREIDAwINxAKCj8BCjkLEQwYCAwMCAE5CAwLCBEZGQ8B%2FuAFDsVnBLAdFfu0FR0dFQRMFR1SDP0PIBMSEAUNMggMDAgyCAwXDhmjmR8YEQwIMggMDAgyBwwBGRskAuwM%2FgUBCAAABAAAAAAEsASwAAMAEwAjACcAAAEhNSEFITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NhcRIREEsPtQBLD7ggGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHUcBLARMZMgdFfx8FR0dFQOEFR0dFf5wFR0dFQGQFR1k%2FtQBLAAEAAAAAASwBLAADwAfACMAJwAAEyEyFhURFAYjISImNRE0NgEhMhYVERQGIyEiJjURNDYXESEREyE1ITIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR1HASzI%2B1AEsASwHRX8fBUdHRUDhBUd%2FgwdFf5wFR0dFQGQFR1k%2FtQBLP2oZAAAAAACAAAAZASwA%2BgAJwArAAATITIWFREzNTQ2MyEyFh0BMxUjFRQGIyEiJj0BIxEUBiMhIiY1ETQ2AREhETIBkBUdZB0VAZAVHWRkHRX%2BcBUdZB0V%2FnAVHR0CnwEsA%2BgdFf6ilhUdHRWWZJYVHR0Vlv6iFR0dFQMgFR3%2B1P7UASwAAAQAAAAABLAEsAADABMAFwAnAAAzIxEzFyEyFhURFAYjISImNRE0NhcRIREBITIWFREUBiMhIiY1ETQ2ZGRklgGQFR0dFf5wFR0dRwEs%2FqIDhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAAAAgBkAAAETASwACcAKwAAATMyFhURFAYrARUhMhYVERQGIyEiJjURNDYzITUjIiY1ETQ2OwE1MwcRIRECWJYVHR0VlgHCFR0dFfx8FR0dFQFelhUdHRWWZMgBLARMHRX%2BcBUdZB0V%2FnAVHR0VAZAVHWQdFQGQFR1kyP7UASwAAAAEAAAAAASwBLAAAwATABcAJwAAISMRMwUhMhYVERQGIyEiJjURNDYXESERASEyFhURFAYjISImNRE0NgSwZGT9dgGQFR0dFf5wFR0dRwEs%2FK4DhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAEBLAAwA28EgAAPAAAJAQYjIiY1ETQ2MzIXARYUA2H%2BEhcSDhAQDhIXAe4OAjX%2BEhcbGQPoGRsX%2FhIOKgAAAAABAUEAMgOEBH4ACwAACQE2FhURFAYnASY0AU8B7h0qKh3%2BEg4CewHuHREp%2FBgpER0B7g4qAAAAAAEAMgFBBH4DhAALAAATITIWBwEGIicBJjZkA%2BgpER3%2BEg4qDv4SHREDhCod%2FhIODgHuHSoAAAAAAQAyASwEfgNvAAsAAAkBFgYjISImNwE2MgJ7Ae4dESn8GCkRHQHuDioDYf4SHSoqHQHuDgAAAAACAAgAAASwBCgABgAKAAABFQE1LQE1ASE1IQK8%2FUwBnf5jBKj84AMgAuW2%2Fr3dwcHd%2B9jIAAAAAAIAAABkBLAEsAALADEAAAEjFTMVIREzNSM1IQEzND4FOwERFAYPARUhNSIuAzURMzIeBRUzESEEsMjI%2FtTIyAEs%2B1AyCAsZEyYYGWQyGRkBkAQOIhoWZBkYJhMZCwgy%2FOADhGRkASxkZP4MFSAVDggDAf3aFhkBAmRkAQUJFQ4CJgEDCA4VIBUBLAAAAgAAAAAETAPoACUAMQAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjFTMVIREzNSM1IQMgMggLGRMmGBlkMhkZ%2FnAEDiIaFmQZGCYTGQsIMgMgASzIyP7UyMgBLAK8FSAVDggDAf3aFhkCAWRkAQUJFQ4CJgEDCA4VIBUBLPzgZGQBLGRkAAABAMgAZgNyBEoAEgAAATMyFgcJARYGKwEiJwEmNDcBNgK9oBAKDP4wAdAMChCgDQr%2BKQcHAdcKBEoWDP4w%2FjAMFgkB1wgUCAHXCQAAAQE%2BAGYD6ARKABIAAAEzMhcBFhQHAQYrASImNwkBJjYBU6ANCgHXBwf%2BKQoNoBAKDAHQ%2FjAMCgRKCf4pCBQI%2FikJFgwB0AHQDBYAAAEAZgDIBEoDcgASAAAAFh0BFAcBBiInASY9ATQ2FwkBBDQWCf4pCBQI%2FikJFgwB0AHQA3cKEKANCv4pBwcB1woNoBAKDP4wAdAAAAABAGYBPgRKA%2BgAEgAACQEWHQEUBicJAQYmPQE0NwE2MgJqAdcJFgz%2BMP4wDBYJAdcIFAPh%2FikKDaAQCgwB0P4wDAoQoA0KAdcHAAAAAgDZ%2F%2FkEPQSwAAUAOgAAARQGIzQ2BTMyFh8BNjc%2BAh4EBgcOBgcGIiYjIgYiJy4DLwEuAT4EHgEXJyY2A%2BiwfLD%2BVmQVJgdPBQsiKFAzRyorDwURAQQSFyozTSwNOkkLDkc3EDlfNyYHBw8GDyUqPjdGMR%2BTDA0EsHywfLDIHBPCAQIGBwcFDx81S21DBxlLR1xKQhEFBQcHGWt0bCQjP2hJNyATBwMGBcASGAAAAAACAMgAFQOEBLAAFgAaAAATITIWFREUBisBEQcGJjURIyImNRE0NhcVITX6AlgVHR0Vlv8TGpYVHR2rASwEsB0V%2FnAVHf4MsgkQFQKKHRUBkBUdZGRkAAAAAgDIABkETASwAA4AEgAAEyEyFhURBRElIREjETQ2ARU3NfoC7ic9%2FUQCWP1EZB8BDWQEsFEs%2FFt1A7Z9%2FBgEARc0%2FV1kFGQAAQAAAAECTW%2FDBF9fDzz1AB8EsAAAAADQdnOXAAAAANB2c5f%2FUf%2BcBdwFFAAAAAgAAgAAAAAAAAABAAAFFP%2BFAAAFFP9R%2FtQF3AABAAAAAAAAAAAAAAAAAAAAowG4ACgAAAAAAZAAAASwAAAEsABkBLAAAASwAAAEsABwAooAAAUUAAACigAABRQAAAGxAAABRQAAANgAAADYAAAAogAAAQQAAABIAAABBAAAAUUAAASwAGQEsAB7BLAAyASwAMgB9AAABLD%2F8gSwAAAEsAAABLD%2F8ASwAAAEsAAOBLAACQSwAGQEsP%2FTBLD%2F0wSwAAAEsAAABLAAAASwAAAEsAAABLAAJgSwAG4EsAAXBLAAFwSwABcEsABkBLAAGgSwAGQEsAAMBLAAZASwABcEsP%2BcBLAAZASwABcEsAAXBLAAAASwABcEsAAXBLAAFwSwAGQEsAAABLAAZASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAZASwAMgEsAAABLAAAASwADUEsABkBLAAyASw%2F7UEsAAhBLAAAASwAAAEsAAABLAAAASwAAAEsP%2BcBLAAAASwAAAEsAAABLAA2wSwABcEsAB1BLAAAASwAAAEsAAABLAACgSwAMgEsAAABLAAnQSwAMgEsADIBLAAyASwAAAEsP%2F%2BBLABLASwAGQEsACIBLABOwSwABcEsAAXBLAAFwSwABcEsAAXBLAAFwSwAAAEsAAXBLAAFwSwABcEsAAXBLAAAASwALcEsAC3BLAAAASwAAAEsABJBLAAFwSwAAAEsAAABLAAXQSw%2F9wEsP%2FcBLD%2FnwSwAGQEsAAABLAAAASwAAAEsABkBLD%2F%2FwSwAAAEsP9RBLAABgSwAAAEsAAABLABRQSwAAEEsAAABLD%2FnASwAEoEsAAUBLAAAASwAAAEsAAABLD%2FnASwAGEEsP%2F9BLAAFgSwABYEsAAWBLAAFgSwABgEsAAABMQAAASwAGQAAAAAAAD%2F2ABkADkAyAAAAScAZAAZABkAGQAZABkAGQAZAAAAAAAAAAAAAADZAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAMAZABkAAAAEAAAAAAAZP%2Bc%2F5z%2FnP%2Bc%2F5z%2FnP%2Bc%2F5wACQAJ%2F%2FL%2F8gBkAHkAJwBkAGQAAAAAAGT%2FogAAAAAAAAAAAAAAAADIAGQAAAABAI8AAP%2Bc%2F5wAZAAEAMgAyAAAAGQBkABkAAAAZAEs%2F7UAAAAAAAAAAAAAAAAAAABkAAABLAFBADIAMgAIAAAAAADIAT4AZgBmANkAyADIAAAAKgAqACoAKgCyAOgA6AFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BpAIGAiICfgKGAqwC5ANGA24DjAPEBAgEMgRiBKIE3AVcBboGcgb0ByAHYgfKCB4IYgi%2BCTYJhAm2Cd4KKApMCpQK4gswC4oLygwIDFgNKg1eDbAODg5oDrQPKA%2BmD%2BYQEhBUEJAQqhEqEXYRthIKEjgSfBLAExoTdBPQFCoU1BU8FagVzBYEFjYWYBawFv4XUhemGAIYLhhqGJYYsBjgGP4ZKBloGZQZxBnaGe4aNhpoGrga9hteG7QcMhyUHOIdHB1EHWwdlB28HeYeLh52HsAfYh%2FSIEYgviEyIXYhuCJAIpYiuCMOIyIjOCN6I8Ij4CQCJDAkXiSWJOIlNCVgJbwmFCZ%2BJuYnUCe8J%2FgoNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi%2F4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8%2BD0yPew%2BOj6MPtQ%2FKD9uP6o%2F%2BkBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA%2FgADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB%2BgADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD%2FtQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE%2BAT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG%2FAcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB%2BgH7AfwB%2FQH%2BAf8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA%3D%29%20format%28%27truetype%27%29%2Curl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE%2BPC9tZXRhZGF0YT4KPGRlZnM%2BCjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA%2BCjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ%2BCjwvZGVmcz48L3N2Zz4g%29%20format%28%27svg%27%29%7D%2Eglyphicon%7Bposition%3Arelative%3Btop%3A1px%3Bdisplay%3Ainline%2Dblock%3Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3B%2Dwebkit%2Dfont%2Dsmoothing%3Aantialiased%3B%2Dmoz%2Dosx%2Dfont%2Dsmoothing%3Agrayscale%7D%2Eglyphicon%2Dasterisk%3Abefore%7Bcontent%3A%22%5C2a%22%7D%2Eglyphicon%2Dplus%3Abefore%7Bcontent%3A%22%5C2b%22%7D%2Eglyphicon%2Deur%3Abefore%2C%2Eglyphicon%2Deuro%3Abefore%7Bcontent%3A%22%5C20ac%22%7D%2Eglyphicon%2Dminus%3Abefore%7Bcontent%3A%22%5C2212%22%7D%2Eglyphicon%2Dcloud%3Abefore%7Bcontent%3A%22%5C2601%22%7D%2Eglyphicon%2Denvelope%3Abefore%7Bcontent%3A%22%5C2709%22%7D%2Eglyphicon%2Dpencil%3Abefore%7Bcontent%3A%22%5C270f%22%7D%2Eglyphicon%2Dglass%3Abefore%7Bcontent%3A%22%5Ce001%22%7D%2Eglyphicon%2Dmusic%3Abefore%7Bcontent%3A%22%5Ce002%22%7D%2Eglyphicon%2Dsearch%3Abefore%7Bcontent%3A%22%5Ce003%22%7D%2Eglyphicon%2Dheart%3Abefore%7Bcontent%3A%22%5Ce005%22%7D%2Eglyphicon%2Dstar%3Abefore%7Bcontent%3A%22%5Ce006%22%7D%2Eglyphicon%2Dstar%2Dempty%3Abefore%7Bcontent%3A%22%5Ce007%22%7D%2Eglyphicon%2Duser%3Abefore%7Bcontent%3A%22%5Ce008%22%7D%2Eglyphicon%2Dfilm%3Abefore%7Bcontent%3A%22%5Ce009%22%7D%2Eglyphicon%2Dth%2Dlarge%3Abefore%7Bcontent%3A%22%5Ce010%22%7D%2Eglyphicon%2Dth%3Abefore%7Bcontent%3A%22%5Ce011%22%7D%2Eglyphicon%2Dth%2Dlist%3Abefore%7Bcontent%3A%22%5Ce012%22%7D%2Eglyphicon%2Dok%3Abefore%7Bcontent%3A%22%5Ce013%22%7D%2Eglyphicon%2Dremove%3Abefore%7Bcontent%3A%22%5Ce014%22%7D%2Eglyphicon%2Dzoom%2Din%3Abefore%7Bcontent%3A%22%5Ce015%22%7D%2Eglyphicon%2Dzoom%2Dout%3Abefore%7Bcontent%3A%22%5Ce016%22%7D%2Eglyphicon%2Doff%3Abefore%7Bcontent%3A%22%5Ce017%22%7D%2Eglyphicon%2Dsignal%3Abefore%7Bcontent%3A%22%5Ce018%22%7D%2Eglyphicon%2Dcog%3Abefore%7Bcontent%3A%22%5Ce019%22%7D%2Eglyphicon%2Dtrash%3Abefore%7Bcontent%3A%22%5Ce020%22%7D%2Eglyphicon%2Dhome%3Abefore%7Bcontent%3A%22%5Ce021%22%7D%2Eglyphicon%2Dfile%3Abefore%7Bcontent%3A%22%5Ce022%22%7D%2Eglyphicon%2Dtime%3Abefore%7Bcontent%3A%22%5Ce023%22%7D%2Eglyphicon%2Droad%3Abefore%7Bcontent%3A%22%5Ce024%22%7D%2Eglyphicon%2Ddownload%2Dalt%3Abefore%7Bcontent%3A%22%5Ce025%22%7D%2Eglyphicon%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce026%22%7D%2Eglyphicon%2Dupload%3Abefore%7Bcontent%3A%22%5Ce027%22%7D%2Eglyphicon%2Dinbox%3Abefore%7Bcontent%3A%22%5Ce028%22%7D%2Eglyphicon%2Dplay%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce029%22%7D%2Eglyphicon%2Drepeat%3Abefore%7Bcontent%3A%22%5Ce030%22%7D%2Eglyphicon%2Drefresh%3Abefore%7Bcontent%3A%22%5Ce031%22%7D%2Eglyphicon%2Dlist%2Dalt%3Abefore%7Bcontent%3A%22%5Ce032%22%7D%2Eglyphicon%2Dlock%3Abefore%7Bcontent%3A%22%5Ce033%22%7D%2Eglyphicon%2Dflag%3Abefore%7Bcontent%3A%22%5Ce034%22%7D%2Eglyphicon%2Dheadphones%3Abefore%7Bcontent%3A%22%5Ce035%22%7D%2Eglyphicon%2Dvolume%2Doff%3Abefore%7Bcontent%3A%22%5Ce036%22%7D%2Eglyphicon%2Dvolume%2Ddown%3Abefore%7Bcontent%3A%22%5Ce037%22%7D%2Eglyphicon%2Dvolume%2Dup%3Abefore%7Bcontent%3A%22%5Ce038%22%7D%2Eglyphicon%2Dqrcode%3Abefore%7Bcontent%3A%22%5Ce039%22%7D%2Eglyphicon%2Dbarcode%3Abefore%7Bcontent%3A%22%5Ce040%22%7D%2Eglyphicon%2Dtag%3Abefore%7Bcontent%3A%22%5Ce041%22%7D%2Eglyphicon%2Dtags%3Abefore%7Bcontent%3A%22%5Ce042%22%7D%2Eglyphicon%2Dbook%3Abefore%7Bcontent%3A%22%5Ce043%22%7D%2Eglyphicon%2Dbookmark%3Abefore%7Bcontent%3A%22%5Ce044%22%7D%2Eglyphicon%2Dprint%3Abefore%7Bcontent%3A%22%5Ce045%22%7D%2Eglyphicon%2Dcamera%3Abefore%7Bcontent%3A%22%5Ce046%22%7D%2Eglyphicon%2Dfont%3Abefore%7Bcontent%3A%22%5Ce047%22%7D%2Eglyphicon%2Dbold%3Abefore%7Bcontent%3A%22%5Ce048%22%7D%2Eglyphicon%2Ditalic%3Abefore%7Bcontent%3A%22%5Ce049%22%7D%2Eglyphicon%2Dtext%2Dheight%3Abefore%7Bcontent%3A%22%5Ce050%22%7D%2Eglyphicon%2Dtext%2Dwidth%3Abefore%7Bcontent%3A%22%5Ce051%22%7D%2Eglyphicon%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce052%22%7D%2Eglyphicon%2Dalign%2Dcenter%3Abefore%7Bcontent%3A%22%5Ce053%22%7D%2Eglyphicon%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce054%22%7D%2Eglyphicon%2Dalign%2Djustify%3Abefore%7Bcontent%3A%22%5Ce055%22%7D%2Eglyphicon%2Dlist%3Abefore%7Bcontent%3A%22%5Ce056%22%7D%2Eglyphicon%2Dindent%2Dleft%3Abefore%7Bcontent%3A%22%5Ce057%22%7D%2Eglyphicon%2Dindent%2Dright%3Abefore%7Bcontent%3A%22%5Ce058%22%7D%2Eglyphicon%2Dfacetime%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce059%22%7D%2Eglyphicon%2Dpicture%3Abefore%7Bcontent%3A%22%5Ce060%22%7D%2Eglyphicon%2Dmap%2Dmarker%3Abefore%7Bcontent%3A%22%5Ce062%22%7D%2Eglyphicon%2Dadjust%3Abefore%7Bcontent%3A%22%5Ce063%22%7D%2Eglyphicon%2Dtint%3Abefore%7Bcontent%3A%22%5Ce064%22%7D%2Eglyphicon%2Dedit%3Abefore%7Bcontent%3A%22%5Ce065%22%7D%2Eglyphicon%2Dshare%3Abefore%7Bcontent%3A%22%5Ce066%22%7D%2Eglyphicon%2Dcheck%3Abefore%7Bcontent%3A%22%5Ce067%22%7D%2Eglyphicon%2Dmove%3Abefore%7Bcontent%3A%22%5Ce068%22%7D%2Eglyphicon%2Dstep%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce069%22%7D%2Eglyphicon%2Dfast%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce070%22%7D%2Eglyphicon%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce071%22%7D%2Eglyphicon%2Dplay%3Abefore%7Bcontent%3A%22%5Ce072%22%7D%2Eglyphicon%2Dpause%3Abefore%7Bcontent%3A%22%5Ce073%22%7D%2Eglyphicon%2Dstop%3Abefore%7Bcontent%3A%22%5Ce074%22%7D%2Eglyphicon%2Dforward%3Abefore%7Bcontent%3A%22%5Ce075%22%7D%2Eglyphicon%2Dfast%2Dforward%3Abefore%7Bcontent%3A%22%5Ce076%22%7D%2Eglyphicon%2Dstep%2Dforward%3Abefore%7Bcontent%3A%22%5Ce077%22%7D%2Eglyphicon%2Deject%3Abefore%7Bcontent%3A%22%5Ce078%22%7D%2Eglyphicon%2Dchevron%2Dleft%3Abefore%7Bcontent%3A%22%5Ce079%22%7D%2Eglyphicon%2Dchevron%2Dright%3Abefore%7Bcontent%3A%22%5Ce080%22%7D%2Eglyphicon%2Dplus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce081%22%7D%2Eglyphicon%2Dminus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce082%22%7D%2Eglyphicon%2Dremove%2Dsign%3Abefore%7Bcontent%3A%22%5Ce083%22%7D%2Eglyphicon%2Dok%2Dsign%3Abefore%7Bcontent%3A%22%5Ce084%22%7D%2Eglyphicon%2Dquestion%2Dsign%3Abefore%7Bcontent%3A%22%5Ce085%22%7D%2Eglyphicon%2Dinfo%2Dsign%3Abefore%7Bcontent%3A%22%5Ce086%22%7D%2Eglyphicon%2Dscreenshot%3Abefore%7Bcontent%3A%22%5Ce087%22%7D%2Eglyphicon%2Dremove%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce088%22%7D%2Eglyphicon%2Dok%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce089%22%7D%2Eglyphicon%2Dban%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce090%22%7D%2Eglyphicon%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce091%22%7D%2Eglyphicon%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce092%22%7D%2Eglyphicon%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce093%22%7D%2Eglyphicon%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce094%22%7D%2Eglyphicon%2Dshare%2Dalt%3Abefore%7Bcontent%3A%22%5Ce095%22%7D%2Eglyphicon%2Dresize%2Dfull%3Abefore%7Bcontent%3A%22%5Ce096%22%7D%2Eglyphicon%2Dresize%2Dsmall%3Abefore%7Bcontent%3A%22%5Ce097%22%7D%2Eglyphicon%2Dexclamation%2Dsign%3Abefore%7Bcontent%3A%22%5Ce101%22%7D%2Eglyphicon%2Dgift%3Abefore%7Bcontent%3A%22%5Ce102%22%7D%2Eglyphicon%2Dleaf%3Abefore%7Bcontent%3A%22%5Ce103%22%7D%2Eglyphicon%2Dfire%3Abefore%7Bcontent%3A%22%5Ce104%22%7D%2Eglyphicon%2Deye%2Dopen%3Abefore%7Bcontent%3A%22%5Ce105%22%7D%2Eglyphicon%2Deye%2Dclose%3Abefore%7Bcontent%3A%22%5Ce106%22%7D%2Eglyphicon%2Dwarning%2Dsign%3Abefore%7Bcontent%3A%22%5Ce107%22%7D%2Eglyphicon%2Dplane%3Abefore%7Bcontent%3A%22%5Ce108%22%7D%2Eglyphicon%2Dcalendar%3Abefore%7Bcontent%3A%22%5Ce109%22%7D%2Eglyphicon%2Drandom%3Abefore%7Bcontent%3A%22%5Ce110%22%7D%2Eglyphicon%2Dcomment%3Abefore%7Bcontent%3A%22%5Ce111%22%7D%2Eglyphicon%2Dmagnet%3Abefore%7Bcontent%3A%22%5Ce112%22%7D%2Eglyphicon%2Dchevron%2Dup%3Abefore%7Bcontent%3A%22%5Ce113%22%7D%2Eglyphicon%2Dchevron%2Ddown%3Abefore%7Bcontent%3A%22%5Ce114%22%7D%2Eglyphicon%2Dretweet%3Abefore%7Bcontent%3A%22%5Ce115%22%7D%2Eglyphicon%2Dshopping%2Dcart%3Abefore%7Bcontent%3A%22%5Ce116%22%7D%2Eglyphicon%2Dfolder%2Dclose%3Abefore%7Bcontent%3A%22%5Ce117%22%7D%2Eglyphicon%2Dfolder%2Dopen%3Abefore%7Bcontent%3A%22%5Ce118%22%7D%2Eglyphicon%2Dresize%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce119%22%7D%2Eglyphicon%2Dresize%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce120%22%7D%2Eglyphicon%2Dhdd%3Abefore%7Bcontent%3A%22%5Ce121%22%7D%2Eglyphicon%2Dbullhorn%3Abefore%7Bcontent%3A%22%5Ce122%22%7D%2Eglyphicon%2Dbell%3Abefore%7Bcontent%3A%22%5Ce123%22%7D%2Eglyphicon%2Dcertificate%3Abefore%7Bcontent%3A%22%5Ce124%22%7D%2Eglyphicon%2Dthumbs%2Dup%3Abefore%7Bcontent%3A%22%5Ce125%22%7D%2Eglyphicon%2Dthumbs%2Ddown%3Abefore%7Bcontent%3A%22%5Ce126%22%7D%2Eglyphicon%2Dhand%2Dright%3Abefore%7Bcontent%3A%22%5Ce127%22%7D%2Eglyphicon%2Dhand%2Dleft%3Abefore%7Bcontent%3A%22%5Ce128%22%7D%2Eglyphicon%2Dhand%2Dup%3Abefore%7Bcontent%3A%22%5Ce129%22%7D%2Eglyphicon%2Dhand%2Ddown%3Abefore%7Bcontent%3A%22%5Ce130%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce131%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce132%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce133%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce134%22%7D%2Eglyphicon%2Dglobe%3Abefore%7Bcontent%3A%22%5Ce135%22%7D%2Eglyphicon%2Dwrench%3Abefore%7Bcontent%3A%22%5Ce136%22%7D%2Eglyphicon%2Dtasks%3Abefore%7Bcontent%3A%22%5Ce137%22%7D%2Eglyphicon%2Dfilter%3Abefore%7Bcontent%3A%22%5Ce138%22%7D%2Eglyphicon%2Dbriefcase%3Abefore%7Bcontent%3A%22%5Ce139%22%7D%2Eglyphicon%2Dfullscreen%3Abefore%7Bcontent%3A%22%5Ce140%22%7D%2Eglyphicon%2Ddashboard%3Abefore%7Bcontent%3A%22%5Ce141%22%7D%2Eglyphicon%2Dpaperclip%3Abefore%7Bcontent%3A%22%5Ce142%22%7D%2Eglyphicon%2Dheart%2Dempty%3Abefore%7Bcontent%3A%22%5Ce143%22%7D%2Eglyphicon%2Dlink%3Abefore%7Bcontent%3A%22%5Ce144%22%7D%2Eglyphicon%2Dphone%3Abefore%7Bcontent%3A%22%5Ce145%22%7D%2Eglyphicon%2Dpushpin%3Abefore%7Bcontent%3A%22%5Ce146%22%7D%2Eglyphicon%2Dusd%3Abefore%7Bcontent%3A%22%5Ce148%22%7D%2Eglyphicon%2Dgbp%3Abefore%7Bcontent%3A%22%5Ce149%22%7D%2Eglyphicon%2Dsort%3Abefore%7Bcontent%3A%22%5Ce150%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%3Abefore%7Bcontent%3A%22%5Ce151%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%2Dalt%3Abefore%7Bcontent%3A%22%5Ce152%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%3Abefore%7Bcontent%3A%22%5Ce153%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%2Dalt%3Abefore%7Bcontent%3A%22%5Ce154%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%3Abefore%7Bcontent%3A%22%5Ce155%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%2Dalt%3Abefore%7Bcontent%3A%22%5Ce156%22%7D%2Eglyphicon%2Dunchecked%3Abefore%7Bcontent%3A%22%5Ce157%22%7D%2Eglyphicon%2Dexpand%3Abefore%7Bcontent%3A%22%5Ce158%22%7D%2Eglyphicon%2Dcollapse%2Ddown%3Abefore%7Bcontent%3A%22%5Ce159%22%7D%2Eglyphicon%2Dcollapse%2Dup%3Abefore%7Bcontent%3A%22%5Ce160%22%7D%2Eglyphicon%2Dlog%2Din%3Abefore%7Bcontent%3A%22%5Ce161%22%7D%2Eglyphicon%2Dflash%3Abefore%7Bcontent%3A%22%5Ce162%22%7D%2Eglyphicon%2Dlog%2Dout%3Abefore%7Bcontent%3A%22%5Ce163%22%7D%2Eglyphicon%2Dnew%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce164%22%7D%2Eglyphicon%2Drecord%3Abefore%7Bcontent%3A%22%5Ce165%22%7D%2Eglyphicon%2Dsave%3Abefore%7Bcontent%3A%22%5Ce166%22%7D%2Eglyphicon%2Dopen%3Abefore%7Bcontent%3A%22%5Ce167%22%7D%2Eglyphicon%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce168%22%7D%2Eglyphicon%2Dimport%3Abefore%7Bcontent%3A%22%5Ce169%22%7D%2Eglyphicon%2Dexport%3Abefore%7Bcontent%3A%22%5Ce170%22%7D%2Eglyphicon%2Dsend%3Abefore%7Bcontent%3A%22%5Ce171%22%7D%2Eglyphicon%2Dfloppy%2Ddisk%3Abefore%7Bcontent%3A%22%5Ce172%22%7D%2Eglyphicon%2Dfloppy%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce173%22%7D%2Eglyphicon%2Dfloppy%2Dremove%3Abefore%7Bcontent%3A%22%5Ce174%22%7D%2Eglyphicon%2Dfloppy%2Dsave%3Abefore%7Bcontent%3A%22%5Ce175%22%7D%2Eglyphicon%2Dfloppy%2Dopen%3Abefore%7Bcontent%3A%22%5Ce176%22%7D%2Eglyphicon%2Dcredit%2Dcard%3Abefore%7Bcontent%3A%22%5Ce177%22%7D%2Eglyphicon%2Dtransfer%3Abefore%7Bcontent%3A%22%5Ce178%22%7D%2Eglyphicon%2Dcutlery%3Abefore%7Bcontent%3A%22%5Ce179%22%7D%2Eglyphicon%2Dheader%3Abefore%7Bcontent%3A%22%5Ce180%22%7D%2Eglyphicon%2Dcompressed%3Abefore%7Bcontent%3A%22%5Ce181%22%7D%2Eglyphicon%2Dearphone%3Abefore%7Bcontent%3A%22%5Ce182%22%7D%2Eglyphicon%2Dphone%2Dalt%3Abefore%7Bcontent%3A%22%5Ce183%22%7D%2Eglyphicon%2Dtower%3Abefore%7Bcontent%3A%22%5Ce184%22%7D%2Eglyphicon%2Dstats%3Abefore%7Bcontent%3A%22%5Ce185%22%7D%2Eglyphicon%2Dsd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce186%22%7D%2Eglyphicon%2Dhd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce187%22%7D%2Eglyphicon%2Dsubtitles%3Abefore%7Bcontent%3A%22%5Ce188%22%7D%2Eglyphicon%2Dsound%2Dstereo%3Abefore%7Bcontent%3A%22%5Ce189%22%7D%2Eglyphicon%2Dsound%2Ddolby%3Abefore%7Bcontent%3A%22%5Ce190%22%7D%2Eglyphicon%2Dsound%2D5%2D1%3Abefore%7Bcontent%3A%22%5Ce191%22%7D%2Eglyphicon%2Dsound%2D6%2D1%3Abefore%7Bcontent%3A%22%5Ce192%22%7D%2Eglyphicon%2Dsound%2D7%2D1%3Abefore%7Bcontent%3A%22%5Ce193%22%7D%2Eglyphicon%2Dcopyright%2Dmark%3Abefore%7Bcontent%3A%22%5Ce194%22%7D%2Eglyphicon%2Dregistration%2Dmark%3Abefore%7Bcontent%3A%22%5Ce195%22%7D%2Eglyphicon%2Dcloud%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce197%22%7D%2Eglyphicon%2Dcloud%2Dupload%3Abefore%7Bcontent%3A%22%5Ce198%22%7D%2Eglyphicon%2Dtree%2Dconifer%3Abefore%7Bcontent%3A%22%5Ce199%22%7D%2Eglyphicon%2Dtree%2Ddeciduous%3Abefore%7Bcontent%3A%22%5Ce200%22%7D%2Eglyphicon%2Dcd%3Abefore%7Bcontent%3A%22%5Ce201%22%7D%2Eglyphicon%2Dsave%2Dfile%3Abefore%7Bcontent%3A%22%5Ce202%22%7D%2Eglyphicon%2Dopen%2Dfile%3Abefore%7Bcontent%3A%22%5Ce203%22%7D%2Eglyphicon%2Dlevel%2Dup%3Abefore%7Bcontent%3A%22%5Ce204%22%7D%2Eglyphicon%2Dcopy%3Abefore%7Bcontent%3A%22%5Ce205%22%7D%2Eglyphicon%2Dpaste%3Abefore%7Bcontent%3A%22%5Ce206%22%7D%2Eglyphicon%2Dalert%3Abefore%7Bcontent%3A%22%5Ce209%22%7D%2Eglyphicon%2Dequalizer%3Abefore%7Bcontent%3A%22%5Ce210%22%7D%2Eglyphicon%2Dking%3Abefore%7Bcontent%3A%22%5Ce211%22%7D%2Eglyphicon%2Dqueen%3Abefore%7Bcontent%3A%22%5Ce212%22%7D%2Eglyphicon%2Dpawn%3Abefore%7Bcontent%3A%22%5Ce213%22%7D%2Eglyphicon%2Dbishop%3Abefore%7Bcontent%3A%22%5Ce214%22%7D%2Eglyphicon%2Dknight%3Abefore%7Bcontent%3A%22%5Ce215%22%7D%2Eglyphicon%2Dbaby%2Dformula%3Abefore%7Bcontent%3A%22%5Ce216%22%7D%2Eglyphicon%2Dtent%3Abefore%7Bcontent%3A%22%5C26fa%22%7D%2Eglyphicon%2Dblackboard%3Abefore%7Bcontent%3A%22%5Ce218%22%7D%2Eglyphicon%2Dbed%3Abefore%7Bcontent%3A%22%5Ce219%22%7D%2Eglyphicon%2Dapple%3Abefore%7Bcontent%3A%22%5Cf8ff%22%7D%2Eglyphicon%2Derase%3Abefore%7Bcontent%3A%22%5Ce221%22%7D%2Eglyphicon%2Dhourglass%3Abefore%7Bcontent%3A%22%5C231b%22%7D%2Eglyphicon%2Dlamp%3Abefore%7Bcontent%3A%22%5Ce223%22%7D%2Eglyphicon%2Dduplicate%3Abefore%7Bcontent%3A%22%5Ce224%22%7D%2Eglyphicon%2Dpiggy%2Dbank%3Abefore%7Bcontent%3A%22%5Ce225%22%7D%2Eglyphicon%2Dscissors%3Abefore%7Bcontent%3A%22%5Ce226%22%7D%2Eglyphicon%2Dbitcoin%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dbtc%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dxbt%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dyen%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Djpy%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Druble%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Drub%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Dscale%3Abefore%7Bcontent%3A%22%5Ce230%22%7D%2Eglyphicon%2Dice%2Dlolly%3Abefore%7Bcontent%3A%22%5Ce231%22%7D%2Eglyphicon%2Dice%2Dlolly%2Dtasted%3Abefore%7Bcontent%3A%22%5Ce232%22%7D%2Eglyphicon%2Deducation%3Abefore%7Bcontent%3A%22%5Ce233%22%7D%2Eglyphicon%2Doption%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce234%22%7D%2Eglyphicon%2Doption%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce235%22%7D%2Eglyphicon%2Dmenu%2Dhamburger%3Abefore%7Bcontent%3A%22%5Ce236%22%7D%2Eglyphicon%2Dmodal%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce237%22%7D%2Eglyphicon%2Doil%3Abefore%7Bcontent%3A%22%5Ce238%22%7D%2Eglyphicon%2Dgrain%3Abefore%7Bcontent%3A%22%5Ce239%22%7D%2Eglyphicon%2Dsunglasses%3Abefore%7Bcontent%3A%22%5Ce240%22%7D%2Eglyphicon%2Dtext%2Dsize%3Abefore%7Bcontent%3A%22%5Ce241%22%7D%2Eglyphicon%2Dtext%2Dcolor%3Abefore%7Bcontent%3A%22%5Ce242%22%7D%2Eglyphicon%2Dtext%2Dbackground%3Abefore%7Bcontent%3A%22%5Ce243%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dtop%3Abefore%7Bcontent%3A%22%5Ce244%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce245%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce246%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce247%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce248%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce249%22%7D%2Eglyphicon%2Dtriangle%2Dright%3Abefore%7Bcontent%3A%22%5Ce250%22%7D%2Eglyphicon%2Dtriangle%2Dleft%3Abefore%7Bcontent%3A%22%5Ce251%22%7D%2Eglyphicon%2Dtriangle%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce252%22%7D%2Eglyphicon%2Dtriangle%2Dtop%3Abefore%7Bcontent%3A%22%5Ce253%22%7D%2Eglyphicon%2Dconsole%3Abefore%7Bcontent%3A%22%5Ce254%22%7D%2Eglyphicon%2Dsuperscript%3Abefore%7Bcontent%3A%22%5Ce255%22%7D%2Eglyphicon%2Dsubscript%3Abefore%7Bcontent%3A%22%5Ce256%22%7D%2Eglyphicon%2Dmenu%2Dleft%3Abefore%7Bcontent%3A%22%5Ce257%22%7D%2Eglyphicon%2Dmenu%2Dright%3Abefore%7Bcontent%3A%22%5Ce258%22%7D%2Eglyphicon%2Dmenu%2Ddown%3Abefore%7Bcontent%3A%22%5Ce259%22%7D%2Eglyphicon%2Dmenu%2Dup%3Abefore%7Bcontent%3A%22%5Ce260%22%7D%2A%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7D%3Aafter%2C%3Abefore%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dhtml%7Bfont%2Dsize%3A10px%3B%2Dwebkit%2Dtap%2Dhighlight%2Dcolor%3Argba%280%2C0%2C0%2C0%29%7Dbody%7Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%7Dbutton%2Cinput%2Cselect%2Ctextarea%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dsize%3Ainherit%3Bline%2Dheight%3Ainherit%7Da%7Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%7Da%3Afocus%2Ca%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%7Da%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Dfigure%7Bmargin%3A0%7Dimg%7Bvertical%2Dalign%3Amiddle%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%2C%2Eimg%2Dresponsive%2C%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bdisplay%3Ablock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%7D%2Eimg%2Drounded%7Bborder%2Dradius%3A6px%7D%2Eimg%2Dthumbnail%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%3Bpadding%3A4px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aall%20%2E2s%20ease%2Din%2Dout%7D%2Eimg%2Dcircle%7Bborder%2Dradius%3A50%25%7Dhr%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A20px%3Bborder%3A0%3Bborder%2Dtop%3A1px%20solid%20%23eee%7D%2Esr%2Donly%7Bposition%3Aabsolute%3Bwidth%3A1px%3Bheight%3A1px%3Bpadding%3A0%3Bmargin%3A%2D1px%3Boverflow%3Ahidden%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bborder%3A0%7D%2Esr%2Donly%2Dfocusable%3Aactive%2C%2Esr%2Donly%2Dfocusable%3Afocus%7Bposition%3Astatic%3Bwidth%3Aauto%3Bheight%3Aauto%3Bmargin%3A0%3Boverflow%3Avisible%3Bclip%3Aauto%7D%5Brole%3Dbutton%5D%7Bcursor%3Apointer%7D%2Eh1%2C%2Eh2%2C%2Eh3%2C%2Eh4%2C%2Eh5%2C%2Eh6%2Ch1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dweight%3A500%3Bline%2Dheight%3A1%2E1%3Bcolor%3Ainherit%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2C%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23777%7D%2Eh1%2C%2Eh2%2C%2Eh3%2Ch1%2Ch2%2Ch3%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A10px%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%7Bfont%2Dsize%3A65%25%7D%2Eh4%2C%2Eh5%2C%2Eh6%2Ch4%2Ch5%2Ch6%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dsize%3A75%25%7D%2Eh1%2Ch1%7Bfont%2Dsize%3A36px%7D%2Eh2%2Ch2%7Bfont%2Dsize%3A30px%7D%2Eh3%2Ch3%7Bfont%2Dsize%3A24px%7D%2Eh4%2Ch4%7Bfont%2Dsize%3A18px%7D%2Eh5%2Ch5%7Bfont%2Dsize%3A14px%7D%2Eh6%2Ch6%7Bfont%2Dsize%3A12px%7Dp%7Bmargin%3A0%200%2010px%7D%2Elead%7Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A16px%3Bfont%2Dweight%3A300%3Bline%2Dheight%3A1%2E4%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Elead%7Bfont%2Dsize%3A21px%7D%7D%2Esmall%2Csmall%7Bfont%2Dsize%3A85%25%7D%2Emark%2Cmark%7Bpadding%3A%2E2em%3Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etext%2Dleft%7Btext%2Dalign%3Aleft%7D%2Etext%2Dright%7Btext%2Dalign%3Aright%7D%2Etext%2Dcenter%7Btext%2Dalign%3Acenter%7D%2Etext%2Djustify%7Btext%2Dalign%3Ajustify%7D%2Etext%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7D%2Etext%2Dlowercase%7Btext%2Dtransform%3Alowercase%7D%2Etext%2Duppercase%7Btext%2Dtransform%3Auppercase%7D%2Etext%2Dcapitalize%7Btext%2Dtransform%3Acapitalize%7D%2Etext%2Dmuted%7Bcolor%3A%23777%7D%2Etext%2Dprimary%7Bcolor%3A%23337ab7%7Da%2Etext%2Dprimary%3Afocus%2Ca%2Etext%2Dprimary%3Ahover%7Bcolor%3A%23286090%7D%2Etext%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Etext%2Dsuccess%3Afocus%2Ca%2Etext%2Dsuccess%3Ahover%7Bcolor%3A%232b542c%7D%2Etext%2Dinfo%7Bcolor%3A%2331708f%7Da%2Etext%2Dinfo%3Afocus%2Ca%2Etext%2Dinfo%3Ahover%7Bcolor%3A%23245269%7D%2Etext%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Etext%2Dwarning%3Afocus%2Ca%2Etext%2Dwarning%3Ahover%7Bcolor%3A%2366512c%7D%2Etext%2Ddanger%7Bcolor%3A%23a94442%7Da%2Etext%2Ddanger%3Afocus%2Ca%2Etext%2Ddanger%3Ahover%7Bcolor%3A%23843534%7D%2Ebg%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7Da%2Ebg%2Dprimary%3Afocus%2Ca%2Ebg%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Ebg%2Dsuccess%7Bbackground%2Dcolor%3A%23dff0d8%7Da%2Ebg%2Dsuccess%3Afocus%2Ca%2Ebg%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%23c1e2b3%7D%2Ebg%2Dinfo%7Bbackground%2Dcolor%3A%23d9edf7%7Da%2Ebg%2Dinfo%3Afocus%2Ca%2Ebg%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%23afd9ee%7D%2Ebg%2Dwarning%7Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Ebg%2Dwarning%3Afocus%2Ca%2Ebg%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f7ecb5%7D%2Ebg%2Ddanger%7Bbackground%2Dcolor%3A%23f2dede%7Da%2Ebg%2Ddanger%3Afocus%2Ca%2Ebg%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23e4b9b9%7D%2Epage%2Dheader%7Bpadding%2Dbottom%3A9px%3Bmargin%3A40px%200%2020px%3Bborder%2Dbottom%3A1px%20solid%20%23eee%7Dol%2Cul%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A10px%7Dol%20ol%2Col%20ul%2Cul%20ol%2Cul%20ul%7Bmargin%2Dbottom%3A0%7D%2Elist%2Dunstyled%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%7Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D5px%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%3Eli%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dright%3A5px%3Bpadding%2Dleft%3A5px%7Ddl%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A20px%7Ddd%2Cdt%7Bline%2Dheight%3A1%2E42857143%7Ddt%7Bfont%2Dweight%3A700%7Ddd%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Edl%2Dhorizontal%20dt%7Bfloat%3Aleft%3Bwidth%3A160px%3Boverflow%3Ahidden%3Bclear%3Aleft%3Btext%2Dalign%3Aright%3Btext%2Doverflow%3Aellipsis%3Bwhite%2Dspace%3Anowrap%7D%2Edl%2Dhorizontal%20dd%7Bmargin%2Dleft%3A180px%7D%7Dabbr%5Bdata%2Doriginal%2Dtitle%5D%2Cabbr%5Btitle%5D%7Bcursor%3Ahelp%3Bborder%2Dbottom%3A1px%20dotted%20%23777%7D%2Einitialism%7Bfont%2Dsize%3A90%25%3Btext%2Dtransform%3Auppercase%7Dblockquote%7Bpadding%3A10px%2020px%3Bmargin%3A0%200%2020px%3Bfont%2Dsize%3A17%2E5px%3Bborder%2Dleft%3A5px%20solid%20%23eee%7Dblockquote%20ol%3Alast%2Dchild%2Cblockquote%20p%3Alast%2Dchild%2Cblockquote%20ul%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7Dblockquote%20%2Esmall%2Cblockquote%20footer%2Cblockquote%20small%7Bdisplay%3Ablock%3Bfont%2Dsize%3A80%25%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%7Dblockquote%20%2Esmall%3Abefore%2Cblockquote%20footer%3Abefore%2Cblockquote%20small%3Abefore%7Bcontent%3A%27%5C2014%20%5C00A0%27%7D%2Eblockquote%2Dreverse%2Cblockquote%2Epull%2Dright%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A0%3Btext%2Dalign%3Aright%3Bborder%2Dright%3A5px%20solid%20%23eee%3Bborder%2Dleft%3A0%7D%2Eblockquote%2Dreverse%20%2Esmall%3Abefore%2C%2Eblockquote%2Dreverse%20footer%3Abefore%2C%2Eblockquote%2Dreverse%20small%3Abefore%2Cblockquote%2Epull%2Dright%20%2Esmall%3Abefore%2Cblockquote%2Epull%2Dright%20footer%3Abefore%2Cblockquote%2Epull%2Dright%20small%3Abefore%7Bcontent%3A%27%27%7D%2Eblockquote%2Dreverse%20%2Esmall%3Aafter%2C%2Eblockquote%2Dreverse%20footer%3Aafter%2C%2Eblockquote%2Dreverse%20small%3Aafter%2Cblockquote%2Epull%2Dright%20%2Esmall%3Aafter%2Cblockquote%2Epull%2Dright%20footer%3Aafter%2Cblockquote%2Epull%2Dright%20small%3Aafter%7Bcontent%3A%27%5C00A0%20%5C2014%27%7Daddress%7Bmargin%2Dbottom%3A20px%3Bfont%2Dstyle%3Anormal%3Bline%2Dheight%3A1%2E42857143%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%7Dcode%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23c7254e%3Bbackground%2Dcolor%3A%23f9f2f4%3Bborder%2Dradius%3A4px%7Dkbd%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%3Bborder%2Dradius%3A3px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%7Dkbd%20kbd%7Bpadding%3A0%3Bfont%2Dsize%3A100%25%3Bfont%2Dweight%3A700%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7Dpre%7Bdisplay%3Ablock%3Bpadding%3A9%2E5px%3Bmargin%3A0%200%2010px%3Bfont%2Dsize%3A13px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bword%2Dbreak%3Abreak%2Dall%3Bword%2Dwrap%3Abreak%2Dword%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7Dpre%20code%7Bpadding%3A0%3Bfont%2Dsize%3Ainherit%3Bcolor%3Ainherit%3Bwhite%2Dspace%3Apre%2Dwrap%3Bbackground%2Dcolor%3Atransparent%3Bborder%2Dradius%3A0%7D%2Epre%2Dscrollable%7Bmax%2Dheight%3A340px%3Boverflow%2Dy%3Ascroll%7D%2Econtainer%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%7Bwidth%3A750px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Econtainer%7Bwidth%3A970px%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Econtainer%7Bwidth%3A1170px%7D%7D%2Econtainer%2Dfluid%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Erow%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%2C%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%2C%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%2C%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bposition%3Arelative%3Bmin%2Dheight%3A1px%3Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dxs%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dxs%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dxs%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dxs%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dxs%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dxs%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dxs%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dxs%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dxs%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dxs%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dxs%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dxs%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dxs%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dxs%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dxs%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dxs%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dxs%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dxs%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dxs%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dxs%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dxs%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dxs%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dxs%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dxs%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dxs%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dxs%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dsm%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dsm%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dsm%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dsm%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dsm%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dsm%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dsm%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dsm%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dsm%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dsm%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dsm%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dsm%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dsm%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dsm%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dsm%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dsm%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dsm%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dsm%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dsm%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dsm%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dsm%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dsm%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dsm%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dsm%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dsm%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dsm%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dmd%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dmd%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dmd%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dmd%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dmd%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dmd%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dmd%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dmd%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dmd%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dmd%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dmd%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dmd%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dmd%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dmd%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dmd%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dmd%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dmd%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dmd%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dmd%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dmd%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dmd%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dmd%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dmd%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dmd%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dmd%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dmd%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dlg%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dlg%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dlg%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dlg%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dlg%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dlg%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dlg%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dlg%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dlg%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dlg%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dlg%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dlg%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dlg%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dlg%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dlg%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dlg%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dlg%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dlg%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dlg%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dlg%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dlg%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dlg%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dlg%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dlg%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dlg%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dlg%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7Dtable%7Bbackground%2Dcolor%3Atransparent%7Dcaption%7Bpadding%2Dtop%3A8px%3Bpadding%2Dbottom%3A8px%3Bcolor%3A%23777%3Btext%2Dalign%3Aleft%7Dth%7B%7D%2Etable%7Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A20px%7D%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%3Ethead%3Etr%3Eth%7Bpadding%3A8px%3Bline%2Dheight%3A1%2E42857143%3Bvertical%2Dalign%3Atop%3Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Etable%3Ethead%3Etr%3Eth%7Bvertical%2Dalign%3Abottom%3Bborder%2Dbottom%3A2px%20solid%20%23ddd%7D%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dtop%3A0%7D%2Etable%3Etbody%2Btbody%7Bborder%2Dtop%3A2px%20solid%20%23ddd%7D%2Etable%20%2Etable%7Bbackground%2Dcolor%3A%23fff%7D%2Etable%2Dcondensed%3Etbody%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etbody%3Etr%3Eth%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Eth%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Etd%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Eth%7Bpadding%3A5px%7D%2Etable%2Dbordered%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Etbody%3Etr%3Etd%2C%2Etable%2Dbordered%3Etbody%3Etr%3Eth%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%2C%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%2Dbottom%2Dwidth%3A2px%7D%2Etable%2Dstriped%3Etbody%3Etr%3Anth%2Dof%2Dtype%28odd%29%7Bbackground%2Dcolor%3A%23f9f9f9%7D%2Etable%2Dhover%3Etbody%3Etr%3Ahover%7Bbackground%2Dcolor%3A%23f5f5f5%7Dtable%20col%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcolumn%3Bfloat%3Anone%7Dtable%20td%5Bclass%2A%3Dcol%2D%5D%2Ctable%20th%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%7D%2Etable%3Etbody%3Etr%2Eactive%3Etd%2C%2Etable%3Etbody%3Etr%2Eactive%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Eactive%2C%2Etable%3Etbody%3Etr%3Eth%2Eactive%2C%2Etable%3Etfoot%3Etr%2Eactive%3Etd%2C%2Etable%3Etfoot%3Etr%2Eactive%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Eactive%2C%2Etable%3Etfoot%3Etr%3Eth%2Eactive%2C%2Etable%3Ethead%3Etr%2Eactive%3Etd%2C%2Etable%3Ethead%3Etr%2Eactive%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Eactive%2C%2Etable%3Ethead%3Etr%3Eth%2Eactive%7Bbackground%2Dcolor%3A%23f5f5f5%7D%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Eactive%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Eactive%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Eactive%3Ahover%7Bbackground%2Dcolor%3A%23e8e8e8%7D%2Etable%3Etbody%3Etr%2Esuccess%3Etd%2C%2Etable%3Etbody%3Etr%2Esuccess%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Esuccess%2C%2Etable%3Etbody%3Etr%3Eth%2Esuccess%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Etd%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Esuccess%2C%2Etable%3Etfoot%3Etr%3Eth%2Esuccess%2C%2Etable%3Ethead%3Etr%2Esuccess%3Etd%2C%2Etable%3Ethead%3Etr%2Esuccess%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Esuccess%2C%2Etable%3Ethead%3Etr%3Eth%2Esuccess%7Bbackground%2Dcolor%3A%23dff0d8%7D%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Esuccess%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Esuccess%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Esuccess%3Ahover%7Bbackground%2Dcolor%3A%23d0e9c6%7D%2Etable%3Etbody%3Etr%2Einfo%3Etd%2C%2Etable%3Etbody%3Etr%2Einfo%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Einfo%2C%2Etable%3Etbody%3Etr%3Eth%2Einfo%2C%2Etable%3Etfoot%3Etr%2Einfo%3Etd%2C%2Etable%3Etfoot%3Etr%2Einfo%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Einfo%2C%2Etable%3Etfoot%3Etr%3Eth%2Einfo%2C%2Etable%3Ethead%3Etr%2Einfo%3Etd%2C%2Etable%3Ethead%3Etr%2Einfo%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Einfo%2C%2Etable%3Ethead%3Etr%3Eth%2Einfo%7Bbackground%2Dcolor%3A%23d9edf7%7D%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Einfo%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Einfo%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Einfo%3Ahover%7Bbackground%2Dcolor%3A%23c4e3f3%7D%2Etable%3Etbody%3Etr%2Ewarning%3Etd%2C%2Etable%3Etbody%3Etr%2Ewarning%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Ewarning%2C%2Etable%3Etbody%3Etr%3Eth%2Ewarning%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Etd%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Ewarning%2C%2Etable%3Etfoot%3Etr%3Eth%2Ewarning%2C%2Etable%3Ethead%3Etr%2Ewarning%3Etd%2C%2Etable%3Ethead%3Etr%2Ewarning%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Ewarning%2C%2Etable%3Ethead%3Etr%3Eth%2Ewarning%7Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Ewarning%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Ewarning%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Ewarning%3Ahover%7Bbackground%2Dcolor%3A%23faf2cc%7D%2Etable%3Etbody%3Etr%2Edanger%3Etd%2C%2Etable%3Etbody%3Etr%2Edanger%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Edanger%2C%2Etable%3Etbody%3Etr%3Eth%2Edanger%2C%2Etable%3Etfoot%3Etr%2Edanger%3Etd%2C%2Etable%3Etfoot%3Etr%2Edanger%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Edanger%2C%2Etable%3Etfoot%3Etr%3Eth%2Edanger%2C%2Etable%3Ethead%3Etr%2Edanger%3Etd%2C%2Etable%3Ethead%3Etr%2Edanger%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Edanger%2C%2Etable%3Ethead%3Etr%3Eth%2Edanger%7Bbackground%2Dcolor%3A%23f2dede%7D%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Edanger%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Edanger%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Edanger%3Ahover%7Bbackground%2Dcolor%3A%23ebcccc%7D%2Etable%2Dresponsive%7Bmin%2Dheight%3A%2E01%25%3Boverflow%2Dx%3Aauto%7D%40media%20screen%20and%20%28max%2Dwidth%3A767px%29%7B%2Etable%2Dresponsive%7Bwidth%3A100%25%3Bmargin%2Dbottom%3A15px%3Boverflow%2Dy%3Ahidden%3B%2Dms%2Doverflow%2Dstyle%3A%2Dms%2Dautohiding%2Dscrollbar%3Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Eth%7Bwhite%2Dspace%3Anowrap%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%7Dfieldset%7Bmin%2Dwidth%3A0%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3A0%7Dlegend%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bpadding%3A0%3Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A21px%3Bline%2Dheight%3Ainherit%3Bcolor%3A%23333%3Bborder%3A0%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7Dlabel%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A5px%3Bfont%2Dweight%3A700%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7Bmargin%3A4px%200%200%3Bmargin%2Dtop%3A1px%5C9%3Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dfile%5D%7Bdisplay%3Ablock%7Dinput%5Btype%3Drange%5D%7Bdisplay%3Ablock%3Bwidth%3A100%25%7Dselect%5Bmultiple%5D%2Cselect%5Bsize%5D%7Bheight%3Aauto%7Dinput%5Btype%3Dfile%5D%3Afocus%2Cinput%5Btype%3Dcheckbox%5D%3Afocus%2Cinput%5Btype%3Dradio%5D%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Doutput%7Bdisplay%3Ablock%3Bpadding%2Dtop%3A7px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%7D%2Eform%2Dcontrol%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bheight%3A34px%3Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23fff%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3B%2Dwebkit%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2C%2Dwebkit%2Dbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3B%2Do%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3Btransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%7D%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366afe9%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%7D%2Eform%2Dcontrol%3A%3A%2Dmoz%2Dplaceholder%7Bcolor%3A%23999%3Bopacity%3A1%7D%2Eform%2Dcontrol%3A%2Dms%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%3A%3A%2Dwebkit%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%5Bdisabled%5D%2C%2Eform%2Dcontrol%5Breadonly%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bbackground%2Dcolor%3A%23eee%3Bopacity%3A1%7D%2Eform%2Dcontrol%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bcursor%3Anot%2Dallowed%7Dtextarea%2Eform%2Dcontrol%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dappearance%3Anone%7D%40media%20screen%20and%20%28%2Dwebkit%2Dmin%2Ddevice%2Dpixel%2Dratio%3A0%29%7Binput%5Btype%3Ddate%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dtime%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dmonth%5D%2Eform%2Dcontrol%7Bline%2Dheight%3A34px%7D%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dsm%2Cinput%5Btype%3Dtime%5D%2Einput%2Dsm%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dsm%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dsm%7Bline%2Dheight%3A30px%7D%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dlg%2Cinput%5Btype%3Dtime%5D%2Einput%2Dlg%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dlg%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dlg%7Bline%2Dheight%3A46px%7D%7D%2Eform%2Dgroup%7Bmargin%2Dbottom%3A15px%7D%2Echeckbox%2C%2Eradio%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Echeckbox%20label%2C%2Eradio%20label%7Bmin%2Dheight%3A20px%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bcursor%3Apointer%7D%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Echeckbox%2Dinline%20input%5Btype%3Dcheckbox%5D%2C%2Eradio%20input%5Btype%3Dradio%5D%2C%2Eradio%2Dinline%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bmargin%2Dtop%3A4px%5C9%3Bmargin%2Dleft%3A%2D20px%7D%2Echeckbox%2B%2Echeckbox%2C%2Eradio%2B%2Eradio%7Bmargin%2Dtop%3A%2D5px%7D%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bvertical%2Dalign%3Amiddle%3Bcursor%3Apointer%7D%2Echeckbox%2Dinline%2B%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%2B%2Eradio%2Dinline%7Bmargin%2Dtop%3A0%3Bmargin%2Dleft%3A10px%7Dfieldset%5Bdisabled%5D%20input%5Btype%3Dcheckbox%5D%2Cfieldset%5Bdisabled%5D%20input%5Btype%3Dradio%5D%2Cinput%5Btype%3Dcheckbox%5D%2Edisabled%2Cinput%5Btype%3Dcheckbox%5D%5Bdisabled%5D%2Cinput%5Btype%3Dradio%5D%2Edisabled%2Cinput%5Btype%3Dradio%5D%5Bdisabled%5D%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Dinline%2Edisabled%2C%2Eradio%2Dinline%2Edisabled%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%2Dinline%2Cfieldset%5Bdisabled%5D%20%2Eradio%2Dinline%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Edisabled%20label%2C%2Eradio%2Edisabled%20label%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%20label%2Cfieldset%5Bdisabled%5D%20%2Eradio%20label%7Bcursor%3Anot%2Dallowed%7D%2Eform%2Dcontrol%2Dstatic%7Bmin%2Dheight%3A34px%3Bpadding%2Dtop%3A7px%3Bpadding%2Dbottom%3A7px%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dcontrol%2Dstatic%2Einput%2Dlg%2C%2Eform%2Dcontrol%2Dstatic%2Einput%2Dsm%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dsm%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dsm%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dsm%2Ctextarea%2Einput%2Dsm%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Eform%2Dgroup%2Dsm%20select%2Eform%2Dcontrol%7Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Eform%2Dgroup%2Dsm%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dsm%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A30px%3Bmin%2Dheight%3A32px%3Bpadding%3A6px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Einput%2Dlg%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dlg%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dlg%2Ctextarea%2Einput%2Dlg%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Eform%2Dgroup%2Dlg%20select%2Eform%2Dcontrol%7Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dlg%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dlg%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A46px%3Bmin%2Dheight%3A38px%3Bpadding%3A11px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Ehas%2Dfeedback%7Bposition%3Arelative%7D%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%7Bpadding%2Dright%3A42%2E5px%7D%2Eform%2Dcontrol%2Dfeedback%7Bposition%3Aabsolute%3Btop%3A0%3Bright%3A0%3Bz%2Dindex%3A2%3Bdisplay%3Ablock%3Bwidth%3A34px%3Bheight%3A34px%3Bline%2Dheight%3A34px%3Btext%2Dalign%3Acenter%3Bpointer%2Devents%3Anone%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A46px%3Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A30px%3Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Ehas%2Dsuccess%20%2Echeckbox%2C%2Ehas%2Dsuccess%20%2Echeckbox%2Dinline%2C%2Ehas%2Dsuccess%20%2Econtrol%2Dlabel%2C%2Ehas%2Dsuccess%20%2Ehelp%2Dblock%2C%2Ehas%2Dsuccess%20%2Eradio%2C%2Ehas%2Dsuccess%20%2Eradio%2Dinline%2C%2Ehas%2Dsuccess%2Echeckbox%20label%2C%2Ehas%2Dsuccess%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dsuccess%2Eradio%20label%2C%2Ehas%2Dsuccess%2Eradio%2Dinline%20label%7Bcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%233c763d%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%232b542c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%7D%2Ehas%2Dsuccess%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%233c763d%7D%2Ehas%2Dwarning%20%2Echeckbox%2C%2Ehas%2Dwarning%20%2Echeckbox%2Dinline%2C%2Ehas%2Dwarning%20%2Econtrol%2Dlabel%2C%2Ehas%2Dwarning%20%2Ehelp%2Dblock%2C%2Ehas%2Dwarning%20%2Eradio%2C%2Ehas%2Dwarning%20%2Eradio%2Dinline%2C%2Ehas%2Dwarning%2Echeckbox%20label%2C%2Ehas%2Dwarning%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dwarning%2Eradio%20label%2C%2Ehas%2Dwarning%2Eradio%2Dinline%20label%7Bcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%238a6d3b%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366512c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%7D%2Ehas%2Dwarning%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%238a6d3b%7D%2Ehas%2Derror%20%2Echeckbox%2C%2Ehas%2Derror%20%2Echeckbox%2Dinline%2C%2Ehas%2Derror%20%2Econtrol%2Dlabel%2C%2Ehas%2Derror%20%2Ehelp%2Dblock%2C%2Ehas%2Derror%20%2Eradio%2C%2Ehas%2Derror%20%2Eradio%2Dinline%2C%2Ehas%2Derror%2Echeckbox%20label%2C%2Ehas%2Derror%2Echeckbox%2Dinline%20label%2C%2Ehas%2Derror%2Eradio%20label%2C%2Ehas%2Derror%2Eradio%2Dinline%20label%7Bcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%23a94442%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%23843534%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%7D%2Ehas%2Derror%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%23a94442%7D%2Ehas%2Dfeedback%20label%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A25px%7D%2Ehas%2Dfeedback%20label%2Esr%2Donly%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%2Ehelp%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dtop%3A5px%3Bmargin%2Dbottom%3A10px%3Bcolor%3A%23737373%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dinline%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Eform%2Dinline%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Eform%2Dinline%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Eform%2Dinline%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%2C%2Eform%2Dinline%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%20label%2C%2Eform%2Dinline%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Eform%2Dinline%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Eform%2Dinline%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Eform%2Dinline%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Echeckbox%2Dinline%2C%2Eform%2Dhorizontal%20%2Eradio%2C%2Eform%2Dhorizontal%20%2Eradio%2Dinline%7Bpadding%2Dtop%3A7px%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Eradio%7Bmin%2Dheight%3A27px%7D%2Eform%2Dhorizontal%20%2Eform%2Dgroup%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A7px%3Bmargin%2Dbottom%3A0%3Btext%2Dalign%3Aright%7D%7D%2Eform%2Dhorizontal%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Bright%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dlg%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A14%2E33px%3Bfont%2Dsize%3A18px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dsm%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A6px%3Bfont%2Dsize%3A12px%7D%7D%2Ebtn%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A6px%2012px%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3B%2Dms%2Dtouch%2Daction%3Amanipulation%3Btouch%2Daction%3Amanipulation%3Bcursor%3Apointer%3B%2Dwebkit%2Duser%2Dselect%3Anone%3B%2Dmoz%2Duser%2Dselect%3Anone%3B%2Dms%2Duser%2Dselect%3Anone%3Buser%2Dselect%3Anone%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ebtn%2Eactive%2Efocus%2C%2Ebtn%2Eactive%3Afocus%2C%2Ebtn%2Efocus%2C%2Ebtn%3Aactive%2Efocus%2C%2Ebtn%3Aactive%3Afocus%2C%2Ebtn%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7D%2Ebtn%2Efocus%2C%2Ebtn%3Afocus%2C%2Ebtn%3Ahover%7Bcolor%3A%23333%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Eactive%2C%2Ebtn%3Aactive%7Bbackground%2Dimage%3Anone%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Edisabled%2C%2Ebtn%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%7Bcursor%3Anot%2Dallowed%3Bfilter%3Aalpha%28opacity%3D65%29%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%3Bopacity%3A%2E65%7Da%2Ebtn%2Edisabled%2Cfieldset%5Bdisabled%5D%20a%2Ebtn%7Bpointer%2Devents%3Anone%7D%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%2Efocus%2C%2Ebtn%2Ddefault%3Afocus%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2Efocus%2C%2Ebtn%2Ddefault%2Eactive%3Afocus%2C%2Ebtn%2Ddefault%2Eactive%3Ahover%2C%2Ebtn%2Ddefault%3Aactive%2Efocus%2C%2Ebtn%2Ddefault%3Aactive%3Afocus%2C%2Ebtn%2Ddefault%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23d4d4d4%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddefault%2Edisabled%2C%2Ebtn%2Ddefault%2Edisabled%2Eactive%2C%2Ebtn%2Ddefault%2Edisabled%2Efocus%2C%2Ebtn%2Ddefault%2Edisabled%3Aactive%2C%2Ebtn%2Ddefault%2Edisabled%3Afocus%2C%2Ebtn%2Ddefault%2Edisabled%3Ahover%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Ahover%7Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%20%2Ebadge%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%7D%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%2Efocus%2C%2Ebtn%2Dprimary%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2Efocus%2C%2Ebtn%2Dprimary%2Eactive%3Afocus%2C%2Ebtn%2Dprimary%2Eactive%3Ahover%2C%2Ebtn%2Dprimary%3Aactive%2Efocus%2C%2Ebtn%2Dprimary%3Aactive%3Afocus%2C%2Ebtn%2Dprimary%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23204d74%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dprimary%2Edisabled%2C%2Ebtn%2Dprimary%2Edisabled%2Eactive%2C%2Ebtn%2Dprimary%2Edisabled%2Efocus%2C%2Ebtn%2Dprimary%2Edisabled%3Aactive%2C%2Ebtn%2Dprimary%2Edisabled%3Afocus%2C%2Ebtn%2Dprimary%2Edisabled%3Ahover%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%2Efocus%2C%2Ebtn%2Dsuccess%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2Efocus%2C%2Ebtn%2Dsuccess%2Eactive%3Afocus%2C%2Ebtn%2Dsuccess%2Eactive%3Ahover%2C%2Ebtn%2Dsuccess%3Aactive%2Efocus%2C%2Ebtn%2Dsuccess%3Aactive%3Afocus%2C%2Ebtn%2Dsuccess%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23398439%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dsuccess%2Edisabled%2C%2Ebtn%2Dsuccess%2Edisabled%2Eactive%2C%2Ebtn%2Dsuccess%2Edisabled%2Efocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Aactive%2C%2Ebtn%2Dsuccess%2Edisabled%3Afocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Ahover%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%20%2Ebadge%7Bcolor%3A%235cb85c%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%2Efocus%2C%2Ebtn%2Dinfo%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2Efocus%2C%2Ebtn%2Dinfo%2Eactive%3Afocus%2C%2Ebtn%2Dinfo%2Eactive%3Ahover%2C%2Ebtn%2Dinfo%3Aactive%2Efocus%2C%2Ebtn%2Dinfo%3Aactive%3Afocus%2C%2Ebtn%2Dinfo%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23269abc%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dinfo%2Edisabled%2C%2Ebtn%2Dinfo%2Edisabled%2Eactive%2C%2Ebtn%2Dinfo%2Edisabled%2Efocus%2C%2Ebtn%2Dinfo%2Edisabled%3Aactive%2C%2Ebtn%2Dinfo%2Edisabled%3Afocus%2C%2Ebtn%2Dinfo%2Edisabled%3Ahover%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%20%2Ebadge%7Bcolor%3A%235bc0de%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%2Efocus%2C%2Ebtn%2Dwarning%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2Efocus%2C%2Ebtn%2Dwarning%2Eactive%3Afocus%2C%2Ebtn%2Dwarning%2Eactive%3Ahover%2C%2Ebtn%2Dwarning%3Aactive%2Efocus%2C%2Ebtn%2Dwarning%3Aactive%3Afocus%2C%2Ebtn%2Dwarning%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d58512%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dwarning%2Edisabled%2C%2Ebtn%2Dwarning%2Edisabled%2Eactive%2C%2Ebtn%2Dwarning%2Edisabled%2Efocus%2C%2Ebtn%2Dwarning%2Edisabled%3Aactive%2C%2Ebtn%2Dwarning%2Edisabled%3Afocus%2C%2Ebtn%2Dwarning%2Edisabled%3Ahover%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%20%2Ebadge%7Bcolor%3A%23f0ad4e%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%2Efocus%2C%2Ebtn%2Ddanger%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2Efocus%2C%2Ebtn%2Ddanger%2Eactive%3Afocus%2C%2Ebtn%2Ddanger%2Eactive%3Ahover%2C%2Ebtn%2Ddanger%3Aactive%2Efocus%2C%2Ebtn%2Ddanger%3Aactive%3Afocus%2C%2Ebtn%2Ddanger%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ac2925%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddanger%2Edisabled%2C%2Ebtn%2Ddanger%2Edisabled%2Eactive%2C%2Ebtn%2Ddanger%2Edisabled%2Efocus%2C%2Ebtn%2Ddanger%2Edisabled%3Aactive%2C%2Ebtn%2Ddanger%2Edisabled%3Afocus%2C%2Ebtn%2Ddanger%2Edisabled%3Ahover%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%20%2Ebadge%7Bcolor%3A%23d9534f%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dlink%7Bfont%2Dweight%3A400%3Bcolor%3A%23337ab7%3Bborder%2Dradius%3A0%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%2Eactive%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%7Bbackground%2Dcolor%3Atransparent%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bborder%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%3Bbackground%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Dgroup%2Dlg%3E%2Ebtn%2C%2Ebtn%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Ebtn%2Dgroup%2Dsm%3E%2Ebtn%2C%2Ebtn%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%2C%2Ebtn%2Dxs%7Bpadding%3A1px%205px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dblock%7Bdisplay%3Ablock%3Bwidth%3A100%25%7D%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dtop%3A5px%7Dinput%5Btype%3Dbutton%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dreset%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dsubmit%5D%2Ebtn%2Dblock%7Bwidth%3A100%25%7D%2Efade%7Bopacity%3A0%3B%2Dwebkit%2Dtransition%3Aopacity%20%2E15s%20linear%3B%2Do%2Dtransition%3Aopacity%20%2E15s%20linear%3Btransition%3Aopacity%20%2E15s%20linear%7D%2Efade%2Ein%7Bopacity%3A1%7D%2Ecollapse%7Bdisplay%3Anone%7D%2Ecollapse%2Ein%7Bdisplay%3Ablock%7Dtr%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%7Dtbody%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%2Dgroup%7D%2Ecollapsing%7Bposition%3Arelative%3Bheight%3A0%3Boverflow%3Ahidden%3B%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3Aease%3B%2Do%2Dtransition%2Dtiming%2Dfunction%3Aease%3Btransition%2Dtiming%2Dfunction%3Aease%3B%2Dwebkit%2Dtransition%2Dduration%3A%2E35s%3B%2Do%2Dtransition%2Dduration%3A%2E35s%3Btransition%2Dduration%3A%2E35s%3B%2Dwebkit%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3B%2Do%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3Btransition%2Dproperty%3Aheight%2Cvisibility%7D%2Ecaret%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A0%3Bheight%3A0%3Bmargin%2Dleft%3A2px%3Bvertical%2Dalign%3Amiddle%3Bborder%2Dtop%3A4px%20dashed%3Bborder%2Dtop%3A4px%20solid%5C9%3Bborder%2Dright%3A4px%20solid%20transparent%3Bborder%2Dleft%3A4px%20solid%20transparent%7D%2Edropdown%2C%2Edropup%7Bposition%3Arelative%7D%2Edropdown%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Edropdown%2Dmenu%7Bposition%3Aabsolute%3Btop%3A100%25%3Bleft%3A0%3Bz%2Dindex%3A1000%3Bdisplay%3Anone%3Bfloat%3Aleft%3Bmin%2Dwidth%3A160px%3Bpadding%3A5px%200%3Bmargin%3A2px%200%200%3Bfont%2Dsize%3A14px%3Btext%2Dalign%3Aleft%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E15%29%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%3Bbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%7D%2Edropdown%2Dmenu%2Epull%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%20%2Edivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Edropdown%2Dmenu%3Eli%3Ea%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bclear%3Aboth%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23262626%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7D%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23337ab7%3Boutline%3A0%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28enabled%3Dfalse%29%7D%2Eopen%3E%2Edropdown%2Dmenu%7Bdisplay%3Ablock%7D%2Eopen%3Ea%7Boutline%3A0%7D%2Edropdown%2Dmenu%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%2Edropdown%2Dheader%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A990%7D%2Epull%2Dright%3E%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Edropup%20%2Ecaret%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Ecaret%7Bcontent%3A%22%22%3Bborder%2Dtop%3A0%3Bborder%2Dbottom%3A4px%20dashed%3Bborder%2Dbottom%3A4px%20solid%5C9%7D%2Edropup%20%2Edropdown%2Dmenu%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bbottom%3A100%25%3Bmargin%2Dbottom%3A2px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dright%20%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Enavbar%2Dright%20%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%7D%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Amiddle%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%3E%2Ebtn%7Bposition%3Arelative%3Bfloat%3Aleft%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Ahover%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dleft%3A%2D1px%7D%2Ebtn%2Dtoolbar%7Bmargin%2Dleft%3A%2D5px%7D%2Ebtn%2Dtoolbar%20%2Ebtn%2C%2Ebtn%2Dtoolbar%20%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%20%2Einput%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dtoolbar%3E%2Ebtn%2C%2Ebtn%2Dtoolbar%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%3E%2Einput%2Dgroup%7Bmargin%2Dleft%3A5px%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%2C%2Ebtn%2Dgroup%3E%2Edropdown%2Dtoggle%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%20%2Edropdown%2Dtoggle%3Aactive%2C%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7Boutline%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A8px%3Bpadding%2Dleft%3A8px%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dlg%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A12px%3Bpadding%2Dleft%3A12px%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%2Ebtn%2Dlink%7B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%20%2Ecaret%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Edropup%20%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A0%205px%205px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bdisplay%3Ablock%3Bfloat%3Anone%3Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bfloat%3Anone%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dtop%3A%2D1px%3Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Djustified%7Bdisplay%3Atable%3Bwidth%3A100%25%3Btable%2Dlayout%3Afixed%3Bborder%2Dcollapse%3Aseparate%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%7Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%3Bwidth%3A1%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Ebtn%7Bwidth%3A100%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Edropdown%2Dmenu%7Bleft%3Aauto%7D%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dradio%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bpointer%2Devents%3Anone%7D%2Einput%2Dgroup%7Bposition%3Arelative%3Bdisplay%3Atable%3Bborder%2Dcollapse%3Aseparate%7D%2Einput%2Dgroup%5Bclass%2A%3Dcol%2D%5D%7Bfloat%3Anone%3Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%7Bposition%3Arelative%3Bz%2Dindex%3A2%3Bfloat%3Aleft%3Bwidth%3A100%25%3Bmargin%2Dbottom%3A0%7D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bdisplay%3Atable%2Dcell%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Daddon%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bwidth%3A1%25%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%7D%2Einput%2Dgroup%2Daddon%7Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23555%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23eee%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bborder%2Dradius%3A3px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bborder%2Dradius%3A6px%7D%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dcheckbox%5D%2C%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dradio%5D%7Bmargin%2Dtop%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Edropdown%2Dtoggle%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%7Bborder%2Dright%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Alast%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%7Bborder%2Dleft%3A0%7D%2Einput%2Dgroup%2Dbtn%7Bposition%3Arelative%3Bfont%2Dsize%3A0%3Bwhite%2Dspace%3Anowrap%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bposition%3Arelative%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Aactive%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Afocus%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%7Bmargin%2Dright%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%7Bz%2Dindex%3A2%3Bmargin%2Dleft%3A%2D1px%7D%2Enav%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A0%3Blist%2Dstyle%3Anone%7D%2Enav%3Eli%7Bposition%3Arelative%3Bdisplay%3Ablock%7D%2Enav%3Eli%3Ea%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%7D%2Enav%3Eli%3Ea%3Afocus%2C%2Enav%3Eli%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Enav%3Eli%2Edisabled%3Ea%7Bcolor%3A%23777%7D%2Enav%3Eli%2Edisabled%3Ea%3Afocus%2C%2Enav%3Eli%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%7D%2Enav%20%2Eopen%3Ea%2C%2Enav%20%2Eopen%3Ea%3Afocus%2C%2Enav%20%2Eopen%3Ea%3Ahover%7Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23337ab7%7D%2Enav%20%2Enav%2Ddivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Enav%3Eli%3Ea%3Eimg%7Bmax%2Dwidth%3Anone%7D%2Enav%2Dtabs%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Enav%2Dtabs%3Eli%7Bfloat%3Aleft%3Bmargin%2Dbottom%3A%2D1px%7D%2Enav%2Dtabs%3Eli%3Ea%7Bmargin%2Dright%3A2px%3Bline%2Dheight%3A1%2E42857143%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%3Eli%3Ea%3Ahover%7Bborder%2Dcolor%3A%23eee%20%23eee%20%23ddd%7D%2Enav%2Dtabs%3Eli%2Eactive%3Ea%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dcolor%3Atransparent%7D%2Enav%2Dtabs%2Enav%2Djustified%7Bwidth%3A100%25%3Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Enav%2Dpills%3Eli%7Bfloat%3Aleft%7D%2Enav%2Dpills%3Eli%3Ea%7Bborder%2Dradius%3A4px%7D%2Enav%2Dpills%3Eli%2Bli%7Bmargin%2Dleft%3A2px%7D%2Enav%2Dpills%3Eli%2Eactive%3Ea%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7D%2Enav%2Dstacked%3Eli%7Bfloat%3Anone%7D%2Enav%2Dstacked%3Eli%2Bli%7Bmargin%2Dtop%3A2px%3Bmargin%2Dleft%3A0%7D%2Enav%2Djustified%7Bwidth%3A100%25%7D%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Djustified%7Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Etab%2Dcontent%3E%2Etab%2Dpane%7Bdisplay%3Anone%7D%2Etab%2Dcontent%3E%2Eactive%7Bdisplay%3Ablock%7D%2Enav%2Dtabs%20%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A%2D1px%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%7Bposition%3Arelative%3Bmin%2Dheight%3A50px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%7Bborder%2Dradius%3A4px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dheader%7Bfloat%3Aleft%7D%7D%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Boverflow%2Dx%3Avisible%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Bborder%2Dtop%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dcollapse%7Bwidth%3Aauto%3Bborder%2Dtop%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dcollapse%2Ecollapse%7Bdisplay%3Ablock%21important%3Bheight%3Aauto%21important%3Bpadding%2Dbottom%3A0%3Boverflow%3Avisible%21important%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Avisible%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dstatic%2Dtop%20%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A340px%7D%40media%20%28max%2Ddevice%2Dwidth%3A480px%29%20and%20%28orientation%3Alandscape%29%7B%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A200px%7D%7D%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%7D%7D%2Enavbar%2Dstatic%2Dtop%7Bz%2Dindex%3A1000%3Bborder%2Dwidth%3A0%200%201px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dstatic%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bposition%3Afixed%3Bright%3A0%3Bleft%3A0%3Bz%2Dindex%3A1030%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dtop%7Btop%3A0%3Bborder%2Dwidth%3A0%200%201px%7D%2Enavbar%2Dfixed%2Dbottom%7Bbottom%3A0%3Bmargin%2Dbottom%3A0%3Bborder%2Dwidth%3A1px%200%200%7D%2Enavbar%2Dbrand%7Bfloat%3Aleft%3Bheight%3A50px%3Bpadding%3A15px%2015px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A20px%7D%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dbrand%3Ahover%7Btext%2Ddecoration%3Anone%7D%2Enavbar%2Dbrand%3Eimg%7Bdisplay%3Ablock%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%3E%2Econtainer%20%2Enavbar%2Dbrand%2C%2Enavbar%3E%2Econtainer%2Dfluid%20%2Enavbar%2Dbrand%7Bmargin%2Dleft%3A%2D15px%7D%7D%2Enavbar%2Dtoggle%7Bposition%3Arelative%3Bfloat%3Aright%3Bpadding%3A9px%2010px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A15px%3Bmargin%2Dbottom%3A8px%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Enavbar%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bdisplay%3Ablock%3Bwidth%3A22px%3Bheight%3A2px%3Bborder%2Dradius%3A1px%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%2B%2Eicon%2Dbar%7Bmargin%2Dtop%3A4px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtoggle%7Bdisplay%3Anone%7D%7D%2Enavbar%2Dnav%7Bmargin%3A7%2E5px%20%2D15px%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A10px%3Bpadding%2Dbottom%3A10px%3Bline%2Dheight%3A20px%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%7Bposition%3Astatic%3Bfloat%3Anone%3Bwidth%3Aauto%3Bmargin%2Dtop%3A0%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edropdown%2Dheader%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bpadding%3A5px%2015px%205px%2025px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bline%2Dheight%3A20px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bbackground%2Dimage%3Anone%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dnav%7Bfloat%3Aleft%3Bmargin%3A0%7D%2Enavbar%2Dnav%3Eli%7Bfloat%3Aleft%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A15px%3Bpadding%2Dbottom%3A15px%7D%7D%2Enavbar%2Dform%7Bpadding%3A10px%2015px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A%2D15px%3Bmargin%2Dbottom%3A8px%3Bmargin%2Dleft%3A%2D15px%3Bborder%2Dtop%3A1px%20solid%20transparent%3Bborder%2Dbottom%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Enavbar%2Dform%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%2C%2Enavbar%2Dform%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%20label%2C%2Enavbar%2Dform%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Enavbar%2Dform%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bmargin%2Dbottom%3A5px%7D%2Enavbar%2Dform%20%2Eform%2Dgroup%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%7Bwidth%3Aauto%3Bpadding%2Dtop%3A0%3Bpadding%2Dbottom%3A0%3Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%7D%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dbottom%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Enavbar%2Dbtn%7Bmargin%2Dtop%3A8px%3Bmargin%2Dbottom%3A8px%7D%2Enavbar%2Dbtn%2Ebtn%2Dsm%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Enavbar%2Dbtn%2Ebtn%2Dxs%7Bmargin%2Dtop%3A14px%3Bmargin%2Dbottom%3A14px%7D%2Enavbar%2Dtext%7Bmargin%2Dtop%3A15px%3Bmargin%2Dbottom%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtext%7Bfloat%3Aleft%3Bmargin%2Dright%3A15px%3Bmargin%2Dleft%3A15px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dleft%7Bfloat%3Aleft%21important%7D%2Enavbar%2Dright%7Bfloat%3Aright%21important%3Bmargin%2Dright%3A%2D15px%7D%2Enavbar%2Dright%7E%2Enavbar%2Dright%7Bmargin%2Dright%3A0%7D%7D%2Enavbar%2Ddefault%7Bbackground%2Dcolor%3A%23f8f8f8%3Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%235e5e5e%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtext%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23888%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23ccc%7D%2Enavbar%2Dinverse%7Bbackground%2Dcolor%3A%23222%3Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtext%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23101010%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edropdown%2Dheader%7Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edivider%7Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23444%7D%2Ebreadcrumb%7Bpadding%3A8px%2015px%3Bmargin%2Dbottom%3A20px%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%7D%2Ebreadcrumb%3Eli%7Bdisplay%3Ainline%2Dblock%7D%2Ebreadcrumb%3Eli%2Bli%3Abefore%7Bpadding%3A0%205px%3Bcolor%3A%23ccc%3Bcontent%3A%22%2F%5C00a0%22%7D%2Ebreadcrumb%3E%2Eactive%7Bcolor%3A%23777%7D%2Epagination%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Bborder%2Dradius%3A4px%7D%2Epagination%3Eli%7Bdisplay%3Ainline%7D%2Epagination%3Eli%3Ea%2C%2Epagination%3Eli%3Espan%7Bposition%3Arelative%3Bfloat%3Aleft%3Bpadding%3A6px%2012px%3Bmargin%2Dleft%3A%2D1px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Epagination%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%3Eli%3Afirst%2Dchild%3Espan%7Bmargin%2Dleft%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Epagination%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%7D%2Epagination%3Eli%3Ea%3Afocus%2C%2Epagination%3Eli%3Ea%3Ahover%2C%2Epagination%3Eli%3Espan%3Afocus%2C%2Epagination%3Eli%3Espan%3Ahover%7Bz%2Dindex%3A3%3Bcolor%3A%2323527c%3Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%3E%2Eactive%3Ea%2C%2Epagination%3E%2Eactive%3Ea%3Afocus%2C%2Epagination%3E%2Eactive%3Ea%3Ahover%2C%2Epagination%3E%2Eactive%3Espan%2C%2Epagination%3E%2Eactive%3Espan%3Afocus%2C%2Epagination%3E%2Eactive%3Espan%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epagination%3E%2Edisabled%3Ea%2C%2Epagination%3E%2Edisabled%3Ea%3Afocus%2C%2Epagination%3E%2Edisabled%3Ea%3Ahover%2C%2Epagination%3E%2Edisabled%3Espan%2C%2Epagination%3E%2Edisabled%3Espan%3Afocus%2C%2Epagination%3E%2Edisabled%3Espan%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%2Dlg%3Eli%3Ea%2C%2Epagination%2Dlg%3Eli%3Espan%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A6px%3Bborder%2Dbottom%2Dleft%2Dradius%3A6px%7D%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A6px%3Bborder%2Dbottom%2Dright%2Dradius%3A6px%7D%2Epagination%2Dsm%3Eli%3Ea%2C%2Epagination%2Dsm%3Eli%3Espan%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epager%7Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Epager%20li%7Bdisplay%3Ainline%7D%2Epager%20li%3Ea%2C%2Epager%20li%3Espan%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A5px%2014px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A15px%7D%2Epager%20li%3Ea%3Afocus%2C%2Epager%20li%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Epager%20%2Enext%3Ea%2C%2Epager%20%2Enext%3Espan%7Bfloat%3Aright%7D%2Epager%20%2Eprevious%3Ea%2C%2Epager%20%2Eprevious%3Espan%7Bfloat%3Aleft%7D%2Epager%20%2Edisabled%3Ea%2C%2Epager%20%2Edisabled%3Ea%3Afocus%2C%2Epager%20%2Edisabled%3Ea%3Ahover%2C%2Epager%20%2Edisabled%3Espan%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%7D%2Elabel%7Bdisplay%3Ainline%3Bpadding%3A%2E2em%20%2E6em%20%2E3em%3Bfont%2Dsize%3A75%25%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Abaseline%3Bborder%2Dradius%3A%2E25em%7Da%2Elabel%3Afocus%2Ca%2Elabel%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elabel%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Elabel%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Elabel%2Ddefault%7Bbackground%2Dcolor%3A%23777%7D%2Elabel%2Ddefault%5Bhref%5D%3Afocus%2C%2Elabel%2Ddefault%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%235e5e5e%7D%2Elabel%2Dprimary%7Bbackground%2Dcolor%3A%23337ab7%7D%2Elabel%2Dprimary%5Bhref%5D%3Afocus%2C%2Elabel%2Dprimary%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Elabel%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Elabel%2Dsuccess%5Bhref%5D%3Afocus%2C%2Elabel%2Dsuccess%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23449d44%7D%2Elabel%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Elabel%2Dinfo%5Bhref%5D%3Afocus%2C%2Elabel%2Dinfo%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%2331b0d5%7D%2Elabel%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Elabel%2Dwarning%5Bhref%5D%3Afocus%2C%2Elabel%2Dwarning%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23ec971f%7D%2Elabel%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Elabel%2Ddanger%5Bhref%5D%3Afocus%2C%2Elabel%2Ddanger%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23c9302c%7D%2Ebadge%7Bdisplay%3Ainline%2Dblock%3Bmin%2Dwidth%3A10px%3Bpadding%3A3px%207px%3Bfont%2Dsize%3A12px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3Bbackground%2Dcolor%3A%23777%3Bborder%2Dradius%3A10px%7D%2Ebadge%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Ebadge%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%20%2Ebadge%2C%2Ebtn%2Dxs%20%2Ebadge%7Btop%3A0%3Bpadding%3A1px%205px%7Da%2Ebadge%3Afocus%2Ca%2Ebadge%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elist%2Dgroup%2Ditem%2Eactive%3E%2Ebadge%2C%2Enav%2Dpills%3E%2Eactive%3Ea%3E%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%7Bfloat%3Aright%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%2B%2Ebadge%7Bmargin%2Dright%3A5px%7D%2Enav%2Dpills%3Eli%3Ea%3E%2Ebadge%7Bmargin%2Dleft%3A3px%7D%2Ejumbotron%7Bpadding%2Dtop%3A30px%3Bpadding%2Dbottom%3A30px%3Bmargin%2Dbottom%3A30px%3Bcolor%3Ainherit%3Bbackground%2Dcolor%3A%23eee%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bcolor%3Ainherit%7D%2Ejumbotron%20p%7Bmargin%2Dbottom%3A15px%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A200%7D%2Ejumbotron%3Ehr%7Bborder%2Dtop%2Dcolor%3A%23d5d5d5%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bborder%2Dradius%3A6px%7D%2Ejumbotron%20%2Econtainer%7Bmax%2Dwidth%3A100%25%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ejumbotron%7Bpadding%2Dtop%3A48px%3Bpadding%2Dbottom%3A48px%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bpadding%2Dright%3A60px%3Bpadding%2Dleft%3A60px%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bfont%2Dsize%3A63px%7D%7D%2Ethumbnail%7Bdisplay%3Ablock%3Bpadding%3A4px%3Bmargin%2Dbottom%3A20px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aborder%20%2E2s%20ease%2Din%2Dout%7D%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7Da%2Ethumbnail%2Eactive%2Ca%2Ethumbnail%3Afocus%2Ca%2Ethumbnail%3Ahover%7Bborder%2Dcolor%3A%23337ab7%7D%2Ethumbnail%20%2Ecaption%7Bpadding%3A9px%3Bcolor%3A%23333%7D%2Ealert%7Bpadding%3A15px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ealert%20h4%7Bmargin%2Dtop%3A0%3Bcolor%3Ainherit%7D%2Ealert%20%2Ealert%2Dlink%7Bfont%2Dweight%3A700%7D%2Ealert%3Ep%2C%2Ealert%3Eul%7Bmargin%2Dbottom%3A0%7D%2Ealert%3Ep%2Bp%7Bmargin%2Dtop%3A5px%7D%2Ealert%2Ddismissable%2C%2Ealert%2Ddismissible%7Bpadding%2Dright%3A35px%7D%2Ealert%2Ddismissable%20%2Eclose%2C%2Ealert%2Ddismissible%20%2Eclose%7Bposition%3Arelative%3Btop%3A%2D2px%3Bright%3A%2D21px%3Bcolor%3Ainherit%7D%2Ealert%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Ealert%2Dsuccess%20hr%7Bborder%2Dtop%2Dcolor%3A%23c9e2b3%7D%2Ealert%2Dsuccess%20%2Ealert%2Dlink%7Bcolor%3A%232b542c%7D%2Ealert%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Ealert%2Dinfo%20hr%7Bborder%2Dtop%2Dcolor%3A%23a6e1ec%7D%2Ealert%2Dinfo%20%2Ealert%2Dlink%7Bcolor%3A%23245269%7D%2Ealert%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Ealert%2Dwarning%20hr%7Bborder%2Dtop%2Dcolor%3A%23f7e1b5%7D%2Ealert%2Dwarning%20%2Ealert%2Dlink%7Bcolor%3A%2366512c%7D%2Ealert%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Ealert%2Ddanger%20hr%7Bborder%2Dtop%2Dcolor%3A%23e4b9c0%7D%2Ealert%2Ddanger%20%2Ealert%2Dlink%7Bcolor%3A%23843534%7D%40%2Dwebkit%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40%2Do%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40keyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%2Eprogress%7Bheight%3A20px%3Bmargin%2Dbottom%3A20px%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%7D%2Eprogress%2Dbar%7Bfloat%3Aleft%3Bwidth%3A0%3Bheight%3A100%25%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23337ab7%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3B%2Dwebkit%2Dtransition%3Awidth%20%2E6s%20ease%3B%2Do%2Dtransition%3Awidth%20%2E6s%20ease%3Btransition%3Awidth%20%2E6s%20ease%7D%2Eprogress%2Dbar%2Dstriped%2C%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3B%2Dwebkit%2Dbackground%2Dsize%3A40px%2040px%3Bbackground%2Dsize%3A40px%2040px%7D%2Eprogress%2Dbar%2Eactive%2C%2Eprogress%2Eactive%20%2Eprogress%2Dbar%7B%2Dwebkit%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3B%2Do%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3Banimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%7D%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Emedia%7Bmargin%2Dtop%3A15px%7D%2Emedia%3Afirst%2Dchild%7Bmargin%2Dtop%3A0%7D%2Emedia%2C%2Emedia%2Dbody%7Boverflow%3Ahidden%3Bzoom%3A1%7D%2Emedia%2Dbody%7Bwidth%3A10000px%7D%2Emedia%2Dobject%7Bdisplay%3Ablock%7D%2Emedia%2Dobject%2Eimg%2Dthumbnail%7Bmax%2Dwidth%3Anone%7D%2Emedia%2Dright%2C%2Emedia%3E%2Epull%2Dright%7Bpadding%2Dleft%3A10px%7D%2Emedia%2Dleft%2C%2Emedia%3E%2Epull%2Dleft%7Bpadding%2Dright%3A10px%7D%2Emedia%2Dbody%2C%2Emedia%2Dleft%2C%2Emedia%2Dright%7Bdisplay%3Atable%2Dcell%3Bvertical%2Dalign%3Atop%7D%2Emedia%2Dmiddle%7Bvertical%2Dalign%3Amiddle%7D%2Emedia%2Dbottom%7Bvertical%2Dalign%3Abottom%7D%2Emedia%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Emedia%2Dlist%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dgroup%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A20px%7D%2Elist%2Dgroup%2Ditem%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%3Bmargin%2Dbottom%3A%2D1px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%7D%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7Da%2Elist%2Dgroup%2Ditem%2Cbutton%2Elist%2Dgroup%2Ditem%7Bcolor%3A%23555%7Da%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3A%23333%7Da%2Elist%2Dgroup%2Ditem%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%3Ahover%7Bcolor%3A%23555%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7Dbutton%2Elist%2Dgroup%2Ditem%7Bwidth%3A100%25%3Btext%2Dalign%3Aleft%7D%2Elist%2Dgroup%2Ditem%2Edisabled%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23eee%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23777%7D%2Elist%2Dgroup%2Ditem%2Eactive%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23c7ddef%7D%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23d0e9c6%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%233c763d%3Bborder%2Dcolor%3A%233c763d%7D%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23c4e3f3%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331708f%3Bborder%2Dcolor%3A%2331708f%7D%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23faf2cc%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%238a6d3b%3Bborder%2Dcolor%3A%238a6d3b%7D%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23ebcccc%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23a94442%3Bborder%2Dcolor%3A%23a94442%7D%2Elist%2Dgroup%2Ditem%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Elist%2Dgroup%2Ditem%2Dtext%7Bmargin%2Dbottom%3A0%3Bline%2Dheight%3A1%2E3%7D%2Epanel%7Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Epanel%2Dbody%7Bpadding%3A15px%7D%2Epanel%2Dheading%7Bpadding%3A10px%2015px%3Bborder%2Dbottom%3A1px%20solid%20transparent%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%2Dheading%3E%2Edropdown%20%2Edropdown%2Dtoggle%7Bcolor%3Ainherit%7D%2Epanel%2Dtitle%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A16px%3Bcolor%3Ainherit%7D%2Epanel%2Dtitle%3E%2Esmall%2C%2Epanel%2Dtitle%3E%2Esmall%3Ea%2C%2Epanel%2Dtitle%3Ea%2C%2Epanel%2Dtitle%3Esmall%2C%2Epanel%2Dtitle%3Esmall%3Ea%7Bcolor%3Ainherit%7D%2Epanel%2Dfooter%7Bpadding%3A10px%2015px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dtop%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%7Bborder%2Dwidth%3A1px%200%3Bborder%2Dradius%3A0%7D%2Epanel%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bborder%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Epanel%2Dheading%2B%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dwidth%3A0%7D%2Elist%2Dgroup%2B%2Epanel%2Dfooter%7Bborder%2Dtop%2Dwidth%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%2C%2Epanel%3E%2Etable%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%20caption%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2C%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2Dresponsive%2C%2Epanel%3E%2Etable%2B%2Epanel%2Dbody%2C%2Epanel%3E%2Etable%2Dresponsive%2B%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%2C%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%7Bborder%2Dtop%3A0%7D%2Epanel%3E%2Etable%2Dbordered%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dresponsive%7Bmargin%2Dbottom%3A0%3Bborder%3A0%7D%2Epanel%2Dgroup%7Bmargin%2Dbottom%3A20px%7D%2Epanel%2Dgroup%20%2Epanel%7Bmargin%2Dbottom%3A0%3Bborder%2Dradius%3A4px%7D%2Epanel%2Dgroup%20%2Epanel%2B%2Epanel%7Bmargin%2Dtop%3A5px%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%7Bborder%2Dbottom%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%2C%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%7Bborder%2Dtop%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%20%2Epanel%2Dbody%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Epanel%2Ddefault%7Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f5f5f5%3Bbackground%2Dcolor%3A%23333%7D%2Epanel%2Ddefault%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ddd%7D%2Epanel%2Dprimary%7Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Epanel%2Dprimary%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23337ab7%7D%2Epanel%2Dsuccess%7Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23dff0d8%3Bbackground%2Dcolor%3A%233c763d%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dinfo%7Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23d9edf7%3Bbackground%2Dcolor%3A%2331708f%7D%2Epanel%2Dinfo%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dwarning%7Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23fcf8e3%3Bbackground%2Dcolor%3A%238a6d3b%7D%2Epanel%2Dwarning%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23faebcc%7D%2Epanel%2Ddanger%7Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f2dede%3Bbackground%2Dcolor%3A%23a94442%7D%2Epanel%2Ddanger%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ebccd1%7D%2Eembed%2Dresponsive%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bheight%3A0%3Bpadding%3A0%3Boverflow%3Ahidden%7D%2Eembed%2Dresponsive%20%2Eembed%2Dresponsive%2Ditem%2C%2Eembed%2Dresponsive%20embed%2C%2Eembed%2Dresponsive%20iframe%2C%2Eembed%2Dresponsive%20object%2C%2Eembed%2Dresponsive%20video%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A100%25%3Bheight%3A100%25%3Bborder%3A0%7D%2Eembed%2Dresponsive%2D16by9%7Bpadding%2Dbottom%3A56%2E25%25%7D%2Eembed%2Dresponsive%2D4by3%7Bpadding%2Dbottom%3A75%25%7D%2Ewell%7Bmin%2Dheight%3A20px%3Bpadding%3A19px%3Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23e3e3e3%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Ewell%20blockquote%7Bborder%2Dcolor%3A%23ddd%3Bborder%2Dcolor%3Argba%280%2C0%2C0%2C%2E15%29%7D%2Ewell%2Dlg%7Bpadding%3A24px%3Bborder%2Dradius%3A6px%7D%2Ewell%2Dsm%7Bpadding%3A9px%3Bborder%2Dradius%3A3px%7D%2Eclose%7Bfloat%3Aright%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23000%3Btext%2Dshadow%3A0%201px%200%20%23fff%3Bfilter%3Aalpha%28opacity%3D20%29%3Bopacity%3A%2E2%7D%2Eclose%3Afocus%2C%2Eclose%3Ahover%7Bcolor%3A%23000%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7Dbutton%2Eclose%7B%2Dwebkit%2Dappearance%3Anone%3Bpadding%3A0%3Bcursor%3Apointer%3Bbackground%3A0%200%3Bborder%3A0%7D%2Emodal%2Dopen%7Boverflow%3Ahidden%7D%2Emodal%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1050%3Bdisplay%3Anone%3Boverflow%3Ahidden%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Boutline%3A0%7D%2Emodal%2Efade%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E3s%20ease%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E3s%20ease%2Dout%3Btransition%3Atransform%20%2E3s%20ease%2Dout%3B%2Dwebkit%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Dms%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Do%2Dtransform%3Atranslate%280%2C%2D25%25%29%3Btransform%3Atranslate%280%2C%2D25%25%29%7D%2Emodal%2Ein%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransform%3Atranslate%280%2C0%29%3B%2Dms%2Dtransform%3Atranslate%280%2C0%29%3B%2Do%2Dtransform%3Atranslate%280%2C0%29%3Btransform%3Atranslate%280%2C0%29%7D%2Emodal%2Dopen%20%2Emodal%7Boverflow%2Dx%3Ahidden%3Boverflow%2Dy%3Aauto%7D%2Emodal%2Ddialog%7Bposition%3Arelative%3Bwidth%3Aauto%3Bmargin%3A10px%7D%2Emodal%2Dcontent%7Bposition%3Arelative%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23999%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1040%3Bbackground%2Dcolor%3A%23000%7D%2Emodal%2Dbackdrop%2Efade%7Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%7D%2Emodal%2Dbackdrop%2Ein%7Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Emodal%2Dheader%7Bmin%2Dheight%3A16%2E43px%3Bpadding%3A15px%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dheader%20%2Eclose%7Bmargin%2Dtop%3A%2D2px%7D%2Emodal%2Dtitle%7Bmargin%3A0%3Bline%2Dheight%3A1%2E42857143%7D%2Emodal%2Dbody%7Bposition%3Arelative%3Bpadding%3A15px%7D%2Emodal%2Dfooter%7Bpadding%3A15px%3Btext%2Dalign%3Aright%3Bborder%2Dtop%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dfooter%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dbottom%3A0%3Bmargin%2Dleft%3A5px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dleft%3A0%7D%2Emodal%2Dscrollbar%2Dmeasure%7Bposition%3Aabsolute%3Btop%3A%2D9999px%3Bwidth%3A50px%3Bheight%3A50px%3Boverflow%3Ascroll%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Emodal%2Ddialog%7Bwidth%3A600px%3Bmargin%3A30px%20auto%7D%2Emodal%2Dcontent%7B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dsm%7Bwidth%3A300px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Emodal%2Dlg%7Bwidth%3A900px%7D%7D%2Etooltip%7Bposition%3Aabsolute%3Bz%2Dindex%3A1070%3Bdisplay%3Ablock%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A12px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%3Bline%2Dbreak%3Aauto%7D%2Etooltip%2Ein%7Bfilter%3Aalpha%28opacity%3D90%29%3Bopacity%3A%2E9%7D%2Etooltip%2Etop%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A%2D3px%7D%2Etooltip%2Eright%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A3px%7D%2Etooltip%2Ebottom%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A3px%7D%2Etooltip%2Eleft%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A%2D3px%7D%2Etooltip%2Dinner%7Bmax%2Dwidth%3A200px%3Bpadding%3A3px%208px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23000%3Bborder%2Dradius%3A4px%7D%2Etooltip%2Darrow%7Bposition%3Aabsolute%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Etooltip%2Etop%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dleft%20%2Etooltip%2Darrow%7Bright%3A5px%3Bbottom%3A0%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dright%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A5px%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Eright%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bleft%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%205px%200%3Bborder%2Dright%2Dcolor%3A%23000%7D%2Etooltip%2Eleft%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bright%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%200%205px%205px%3Bborder%2Dleft%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dleft%20%2Etooltip%2Darrow%7Btop%3A0%3Bright%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dright%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Epopover%7Bposition%3Aabsolute%3Btop%3A0%3Bleft%3A0%3Bz%2Dindex%3A1060%3Bdisplay%3Anone%3Bmax%2Dwidth%3A276px%3Bpadding%3A1px%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bline%2Dbreak%3Aauto%7D%2Epopover%2Etop%7Bmargin%2Dtop%3A%2D10px%7D%2Epopover%2Eright%7Bmargin%2Dleft%3A10px%7D%2Epopover%2Ebottom%7Bmargin%2Dtop%3A10px%7D%2Epopover%2Eleft%7Bmargin%2Dleft%3A%2D10px%7D%2Epopover%2Dtitle%7Bpadding%3A8px%2014px%3Bmargin%3A0%3Bfont%2Dsize%3A14px%3Bbackground%2Dcolor%3A%23f7f7f7%3Bborder%2Dbottom%3A1px%20solid%20%23ebebeb%3Bborder%2Dradius%3A5px%205px%200%200%7D%2Epopover%2Dcontent%7Bpadding%3A9px%2014px%7D%2Epopover%3E%2Earrow%2C%2Epopover%3E%2Earrow%3Aafter%7Bposition%3Aabsolute%3Bdisplay%3Ablock%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Epopover%3E%2Earrow%7Bborder%2Dwidth%3A11px%7D%2Epopover%3E%2Earrow%3Aafter%7Bcontent%3A%22%22%3Bborder%2Dwidth%3A10px%7D%2Epopover%2Etop%3E%2Earrow%7Bbottom%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dcolor%3A%23999%3Bborder%2Dtop%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Etop%3E%2Earrow%3Aafter%7Bbottom%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dcolor%3A%23fff%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%7Btop%3A50%25%3Bleft%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dcolor%3A%23999%3Bborder%2Dright%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%3Aafter%7Bbottom%3A%2D10px%3Bleft%3A1px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dcolor%3A%23fff%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Ebottom%3E%2Earrow%7Btop%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23999%3Bborder%2Dbottom%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Ebottom%3E%2Earrow%3Aafter%7Btop%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23fff%7D%2Epopover%2Eleft%3E%2Earrow%7Btop%3A50%25%3Bright%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23999%3Bborder%2Dleft%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Eleft%3E%2Earrow%3Aafter%7Bright%3A1px%3Bbottom%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23fff%7D%2Ecarousel%7Bposition%3Arelative%7D%2Ecarousel%2Dinner%7Bposition%3Arelative%3Bwidth%3A100%25%3Boverflow%3Ahidden%7D%2Ecarousel%2Dinner%3E%2Eitem%7Bposition%3Arelative%3Bdisplay%3Anone%3B%2Dwebkit%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3B%2Do%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3Btransition%3A%2E6s%20ease%2Din%2Dout%20left%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%7Bline%2Dheight%3A1%7D%40media%20all%20and%20%28transform%2D3d%29%2C%28%2Dwebkit%2Dtransform%2D3d%29%7B%2Ecarousel%2Dinner%3E%2Eitem%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E6s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E6s%20ease%2Din%2Dout%3Btransition%3Atransform%20%2E6s%20ease%2Din%2Dout%3B%2Dwebkit%2Dbackface%2Dvisibility%3Ahidden%3Bbackface%2Dvisibility%3Ahidden%3B%2Dwebkit%2Dperspective%3A1000px%3Bperspective%3A1000px%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eright%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%2Eright%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%280%2C0%2C0%29%3Btransform%3Atranslate3d%280%2C0%2C0%29%7D%7D%2Ecarousel%2Dinner%3E%2Eactive%2C%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bdisplay%3Ablock%7D%2Ecarousel%2Dinner%3E%2Eactive%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bposition%3Aabsolute%3Btop%3A0%3Bwidth%3A100%25%7D%2Ecarousel%2Dinner%3E%2Enext%7Bleft%3A100%25%7D%2Ecarousel%2Dinner%3E%2Eprev%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eprev%2Eright%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eleft%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eright%7Bleft%3A100%25%7D%2Ecarousel%2Dcontrol%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A15%25%3Bfont%2Dsize%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Ecarousel%2Dcontrol%2Eleft%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E5%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E0001%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2380000000%27%2C%20endColorstr%3D%27%2300000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%2Eright%7Bright%3A0%3Bleft%3Aauto%3Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E0001%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E5%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2300000000%27%2C%20endColorstr%3D%27%2380000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%3Afocus%2C%2Ecarousel%2Dcontrol%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bfilter%3Aalpha%28opacity%3D90%29%3Boutline%3A0%3Bopacity%3A%2E9%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bposition%3Aabsolute%3Btop%3A50%25%3Bz%2Dindex%3A5%3Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bleft%3A50%25%3Bmargin%2Dleft%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bright%3A50%25%3Bmargin%2Dright%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A20px%3Bheight%3A20px%3Bfont%2Dfamily%3Aserif%3Bline%2Dheight%3A1%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%3Abefore%7Bcontent%3A%27%5C2039%27%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%3Abefore%7Bcontent%3A%27%5C203a%27%7D%2Ecarousel%2Dindicators%7Bposition%3Aabsolute%3Bbottom%3A10px%3Bleft%3A50%25%3Bz%2Dindex%3A15%3Bwidth%3A60%25%3Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D30%25%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Ecarousel%2Dindicators%20li%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A10px%3Bheight%3A10px%3Bmargin%3A1px%3Btext%2Dindent%3A%2D999px%3Bcursor%3Apointer%3Bbackground%2Dcolor%3A%23000%5C9%3Bbackground%2Dcolor%3Argba%280%2C0%2C0%2C0%29%3Bborder%3A1px%20solid%20%23fff%3Bborder%2Dradius%3A10px%7D%2Ecarousel%2Dindicators%20%2Eactive%7Bwidth%3A12px%3Bheight%3A12px%3Bmargin%3A0%3Bbackground%2Dcolor%3A%23fff%7D%2Ecarousel%2Dcaption%7Bposition%3Aabsolute%3Bright%3A15%25%3Bbottom%3A20px%3Bleft%3A15%25%3Bz%2Dindex%3A10%3Bpadding%2Dtop%3A20px%3Bpadding%2Dbottom%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%7D%2Ecarousel%2Dcaption%20%2Ebtn%7Btext%2Dshadow%3Anone%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A30px%3Bheight%3A30px%3Bmargin%2Dtop%3A%2D15px%3Bfont%2Dsize%3A30px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bmargin%2Dleft%3A%2D15px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bmargin%2Dright%3A%2D15px%7D%2Ecarousel%2Dcaption%7Bright%3A20%25%3Bleft%3A20%25%3Bpadding%2Dbottom%3A30px%7D%2Ecarousel%2Dindicators%7Bbottom%3A20px%7D%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Abefore%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Ebtn%2Dtoolbar%3Abefore%2C%2Eclearfix%3Aafter%2C%2Eclearfix%3Abefore%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%2Dfluid%3Abefore%2C%2Econtainer%3Aafter%2C%2Econtainer%3Abefore%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Abefore%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Abefore%2C%2Emodal%2Dfooter%3Aafter%2C%2Emodal%2Dfooter%3Abefore%2C%2Enav%3Aafter%2C%2Enav%3Abefore%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dcollapse%3Abefore%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%2Dheader%3Abefore%2C%2Enavbar%3Aafter%2C%2Enavbar%3Abefore%2C%2Epager%3Aafter%2C%2Epager%3Abefore%2C%2Epanel%2Dbody%3Aafter%2C%2Epanel%2Dbody%3Abefore%2C%2Erow%3Aafter%2C%2Erow%3Abefore%7Bdisplay%3Atable%3Bcontent%3A%22%20%22%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Eclearfix%3Aafter%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Emodal%2Dfooter%3Aafter%2C%2Enav%3Aafter%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%3Aafter%2C%2Epager%3Aafter%2C%2Epanel%2Dbody%3Aafter%2C%2Erow%3Aafter%7Bclear%3Aboth%7D%2Ecenter%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Epull%2Dright%7Bfloat%3Aright%21important%7D%2Epull%2Dleft%7Bfloat%3Aleft%21important%7D%2Ehide%7Bdisplay%3Anone%21important%7D%2Eshow%7Bdisplay%3Ablock%21important%7D%2Einvisible%7Bvisibility%3Ahidden%7D%2Etext%2Dhide%7Bfont%3A0%2F0%20a%3Bcolor%3Atransparent%3Btext%2Dshadow%3Anone%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%7D%2Ehidden%7Bdisplay%3Anone%21important%7D%2Eaffix%7Bposition%3Afixed%7D%40%2Dms%2Dviewport%7Bwidth%3Adevice%2Dwidth%7D%2Evisible%2Dlg%2C%2Evisible%2Dmd%2C%2Evisible%2Dsm%2C%2Evisible%2Dxs%7Bdisplay%3Anone%21important%7D%2Evisible%2Dlg%2Dblock%2C%2Evisible%2Dlg%2Dinline%2C%2Evisible%2Dlg%2Dinline%2Dblock%2C%2Evisible%2Dmd%2Dblock%2C%2Evisible%2Dmd%2Dinline%2C%2Evisible%2Dmd%2Dinline%2Dblock%2C%2Evisible%2Dsm%2Dblock%2C%2Evisible%2Dsm%2Dinline%2C%2Evisible%2Dsm%2Dinline%2Dblock%2C%2Evisible%2Dxs%2Dblock%2C%2Evisible%2Dxs%2Dinline%2C%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dxs%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dxs%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dxs%2Cth%2Evisible%2Dxs%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dsm%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dsm%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dsm%2Cth%2Evisible%2Dsm%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dmd%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dmd%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dmd%2Cth%2Evisible%2Dmd%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dlg%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dlg%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dlg%2Cth%2Evisible%2Dlg%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Ehidden%2Dxs%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Ehidden%2Dsm%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Ehidden%2Dmd%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ehidden%2Dlg%7Bdisplay%3Anone%21important%7D%7D%2Evisible%2Dprint%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dprint%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dprint%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dprint%2Cth%2Evisible%2Dprint%7Bdisplay%3Atable%2Dcell%21important%7D%7D%2Evisible%2Dprint%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%2Evisible%2Dprint%2Dinline%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20print%7B%2Ehidden%2Dprint%7Bdisplay%3Anone%21important%7D%7D%0A" rel="stylesheet" />
-<script src="data:application/x-javascript;base64,LyohCiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyIil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksYj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBjIGluIGIpaWYodm9pZCAwIT09YS5zdHlsZVtjXSlyZXR1cm57ZW5kOmJbY119O3JldHVybiExfWEuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYil7dmFyIGM9ITEsZD10aGlzO2EodGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Yz0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7Y3x8YShkKS50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsYiksdGhpc30sYShmdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uPWIoKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGEuZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbihiKXtyZXR1cm4gYShiLnRhcmdldCkuaXModGhpcyk/Yi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjUiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YShmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjUiLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKSk6dGhpcy5pc0xvYWRpbmcmJih0aGlzLmlzTG9hZGluZz0hMSxkLnJlbW92ZUNsYXNzKGMpLnJlbW92ZUF0dHIoYykpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiYWN0aXZlIikpOiJjaGVja2JveCI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikhPT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSYmKGE9ITEpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpKSxjLnByb3AoImNoZWNrZWQiLHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnRyaWdnZXIoImNoYW5nZSIpfWVsc2UgdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uYnV0dG9uO2EuZm4uYnV0dG9uPWIsYS5mbi5idXR0b24uQ29uc3RydWN0b3I9YyxhLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYnV0dG9uPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKGMudGFyZ2V0KTtkLmhhc0NsYXNzKCJidG4iKXx8KGQ9ZC5jbG9zZXN0KCIuYnRuIikpLGIuY2FsbChkLCJ0b2dnbGUiKSxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0icmFkaW8iXScpfHxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpfHxjLnByZXZlbnREZWZhdWx0KCl9KS5vbigiZm9jdXMuYnMuYnV0dG9uLmRhdGEtYXBpIGJsdXIuYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNsb3Nlc3QoIi5idG4iKS50b2dnbGVDbGFzcygiZm9jdXMiLC9eZm9jdXMoaW4pPyQvLnRlc3QoYi50eXBlKSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmNhcm91c2VsIiksZj1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYiksZz0ic3RyaW5nIj09dHlwZW9mIGI/YjpmLnNsaWRlO2V8fGQuZGF0YSgiYnMuY2Fyb3VzZWwiLGU9bmV3IGModGhpcyxmKSksIm51bWJlciI9PXR5cGVvZiBiP2UudG8oYik6Zz9lW2ddKCk6Zi5pbnRlcnZhbCYmZS5wYXVzZSgpLmN5Y2xlKCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRpbmRpY2F0b3JzPXRoaXMuJGVsZW1lbnQuZmluZCgiLmNhcm91c2VsLWluZGljYXRvcnMiKSx0aGlzLm9wdGlvbnM9Yyx0aGlzLnBhdXNlZD1udWxsLHRoaXMuc2xpZGluZz1udWxsLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLiRhY3RpdmU9bnVsbCx0aGlzLiRpdGVtcz1udWxsLHRoaXMub3B0aW9ucy5rZXlib2FyZCYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLCJob3ZlciI9PXRoaXMub3B0aW9ucy5wYXVzZSYmISgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJnRoaXMuJGVsZW1lbnQub24oIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5wYXVzZSx0aGlzKSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5jeWNsZSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj02MDAsYy5ERUZBVUxUUz17aW50ZXJ2YWw6NWUzLHBhdXNlOiJob3ZlciIsd3JhcDohMCxrZXlib2FyZDohMH0sYy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihhKXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdChhLnRhcmdldC50YWdOYW1lKSl7c3dpdGNoKGEud2hpY2gpe2Nhc2UgMzc6dGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0aGlzLm5leHQoKTticmVhaztkZWZhdWx0OnJldHVybn1hLnByZXZlbnREZWZhdWx0KCl9fSxjLnByb3RvdHlwZS5jeWNsZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSExKSx0aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCYmIXRoaXMucGF1c2VkJiYodGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMubmV4dCx0aGlzKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwpKSx0aGlzfSxjLnByb3RvdHlwZS5nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuJGl0ZW1zPWEucGFyZW50KCkuY2hpbGRyZW4oIi5pdGVtIiksdGhpcy4kaXRlbXMuaW5kZXgoYXx8dGhpcy4kYWN0aXZlKX0sYy5wcm90b3R5cGUuZ2V0SXRlbUZvckRpcmVjdGlvbj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0SXRlbUluZGV4KGIpLGQ9InByZXYiPT1hJiYwPT09Y3x8Im5leHQiPT1hJiZjPT10aGlzLiRpdGVtcy5sZW5ndGgtMTtpZihkJiYhdGhpcy5vcHRpb25zLndyYXApcmV0dXJuIGI7dmFyIGU9InByZXYiPT1hPy0xOjEsZj0oYytlKSV0aGlzLiRpdGVtcy5sZW5ndGg7cmV0dXJuIHRoaXMuJGl0ZW1zLmVxKGYpfSxjLnByb3RvdHlwZS50bz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5nZXRJdGVtSW5kZXgodGhpcy4kYWN0aXZlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIikpO3JldHVybiBhPnRoaXMuJGl0ZW1zLmxlbmd0aC0xfHwwPmE/dm9pZCAwOnRoaXMuc2xpZGluZz90aGlzLiRlbGVtZW50Lm9uZSgic2xpZC5icy5jYXJvdXNlbCIsZnVuY3Rpb24oKXtiLnRvKGEpfSk6Yz09YT90aGlzLnBhdXNlKCkuY3ljbGUoKTp0aGlzLnNsaWRlKGE+Yz8ibmV4dCI6InByZXYiLHRoaXMuJGl0ZW1zLmVxKGEpKX0sYy5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMCksdGhpcy4kZWxlbWVudC5maW5kKCIubmV4dCwgLnByZXYiKS5sZW5ndGgmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCksdGhpcy5jeWNsZSghMCkpLHRoaXMuaW50ZXJ2YWw9Y2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzfSxjLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgibmV4dCIpfSxjLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgicHJldiIpfSxjLnByb3RvdHlwZS5zbGlkZT1mdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIiksZj1kfHx0aGlzLmdldEl0ZW1Gb3JEaXJlY3Rpb24oYixlKSxnPXRoaXMuaW50ZXJ2YWwsaD0ibmV4dCI9PWI/ImxlZnQiOiJyaWdodCIsaT10aGlzO2lmKGYuaGFzQ2xhc3MoImFjdGl2ZSIpKXJldHVybiB0aGlzLnNsaWRpbmc9ITE7dmFyIGo9ZlswXSxrPWEuRXZlbnQoInNsaWRlLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGspLCFrLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0aGlzLnNsaWRpbmc9ITAsZyYmdGhpcy5wYXVzZSgpLHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKXt0aGlzLiRpbmRpY2F0b3JzLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIGw9YSh0aGlzLiRpbmRpY2F0b3JzLmNoaWxkcmVuKClbdGhpcy5nZXRJdGVtSW5kZXgoZildKTtsJiZsLmFkZENsYXNzKCJhY3RpdmUiKX12YXIgbT1hLkV2ZW50KCJzbGlkLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJzbGlkZSIpPyhmLmFkZENsYXNzKGIpLGZbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcyhoKSxmLmFkZENsYXNzKGgpLGUub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Zi5yZW1vdmVDbGFzcyhbYixoXS5qb2luKCIgIikpLmFkZENsYXNzKCJhY3RpdmUiKSxlLnJlbW92ZUNsYXNzKFsiYWN0aXZlIixoXS5qb2luKCIgIikpLGkuc2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS4kZWxlbWVudC50cmlnZ2VyKG0pfSwwKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTikpOihlLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxmLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLnNsaWRpbmc9ITEsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG0pKSxnJiZ0aGlzLmN5Y2xlKCksdGhpc319O3ZhciBkPWEuZm4uY2Fyb3VzZWw7YS5mbi5jYXJvdXNlbD1iLGEuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3I9YyxhLmZuLmNhcm91c2VsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jYXJvdXNlbD1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe3ZhciBkLGU9YSh0aGlzKSxmPWEoZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoZD1lLmF0dHIoImhyZWYiKSkmJmQucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSk7aWYoZi5oYXNDbGFzcygiY2Fyb3VzZWwiKSl7dmFyIGc9YS5leHRlbmQoe30sZi5kYXRhKCksZS5kYXRhKCkpLGg9ZS5hdHRyKCJkYXRhLXNsaWRlLXRvIik7aCYmKGcuaW50ZXJ2YWw9ITEpLGIuY2FsbChmLGcpLGgmJmYuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhoKSxjLnByZXZlbnREZWZhdWx0KCl9fTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0iLGUpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlLXRvXSIsZSksYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtiLmNhbGwoYyxjLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYyxkPWIuYXR0cigiZGF0YS10YXJnZXQiKXx8KGM9Yi5hdHRyKCJocmVmIikpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik7cmV0dXJuIGEoZCl9ZnVuY3Rpb24gYyhiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuY29sbGFwc2UiKSxmPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTshZSYmZi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoYikmJihmLnRvZ2dsZT0hMSksZXx8Yy5kYXRhKCJicy5jb2xsYXBzZSIsZT1uZXcgZCh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBkPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMpLHRoaXMuJHRyaWdnZXI9YSgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK2IuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrYi5pZCsnIl0nKSx0aGlzLnRyYW5zaXRpb25pbmc9bnVsbCx0aGlzLm9wdGlvbnMucGFyZW50P3RoaXMuJHBhcmVudD10aGlzLmdldFBhcmVudCgpOnRoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuJGVsZW1lbnQsdGhpcy4kdHJpZ2dlciksdGhpcy5vcHRpb25zLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX07ZC5WRVJTSU9OPSIzLjMuNSIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTM1MCxkLkRFRkFVTFRTPXt0b2dnbGU6ITB9LGQucHJvdG90eXBlLmRpbWVuc2lvbj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoIndpZHRoIik7cmV0dXJuIGE/IndpZHRoIjoiaGVpZ2h0In0sZC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJiF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYixlPXRoaXMuJHBhcmVudCYmdGhpcy4kcGFyZW50LmNoaWxkcmVuKCIucGFuZWwiKS5jaGlsZHJlbigiLmluLCAuY29sbGFwc2luZyIpO2lmKCEoZSYmZS5sZW5ndGgmJihiPWUuZGF0YSgiYnMuY29sbGFwc2UiKSxiJiZiLnRyYW5zaXRpb25pbmcpKSl7dmFyIGY9YS5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihmKSwhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmZS5sZW5ndGgmJihjLmNhbGwoZSwiaGlkZSIpLGJ8fGUuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgZz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKVtnXSgwKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy4kdHJpZ2dlci5yZW1vdmVDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBoPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSBpbiIpW2ddKCIiKSx0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLmNvbGxhcHNlIil9O2lmKCFhLnN1cHBvcnQudHJhbnNpdGlvbilyZXR1cm4gaC5jYWxsKHRoaXMpO3ZhciBpPWEuY2FtZWxDYXNlKFsic2Nyb2xsIixnXS5qb2luKCItIikpO3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoaCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKVtnXSh0aGlzLiRlbGVtZW50WzBdW2ldKX19fX0sZC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiPWEuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksIWIuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBjPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudFtjXSh0aGlzLiRlbGVtZW50W2NdKCkpWzBdLm9mZnNldEhlaWdodCx0aGlzLiRlbGVtZW50LmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIGluIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMuJHRyaWdnZXIuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgZT1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UiKS50cmlnZ2VyKCJoaWRkZW4uYnMuY29sbGFwc2UiKX07cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uP3ZvaWQgdGhpcy4kZWxlbWVudFtjXSgwKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShlLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmUuY2FsbCh0aGlzKX19fSxkLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX0sZC5wcm90b3R5cGUuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcy5vcHRpb25zLnBhcmVudCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMub3B0aW9ucy5wYXJlbnQrJyJdJykuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGU9YShkKTt0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhiKGUpLGUpfSx0aGlzKSkuZW5kKCl9LGQucHJvdG90eXBlLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuaGFzQ2xhc3MoImluIik7YS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKSxiLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFjKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKX07dmFyIGU9YS5mbi5jb2xsYXBzZTthLmZuLmNvbGxhcHNlPWMsYS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj1kLGEuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNvbGxhcHNlPWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmNvbGxhcHNlLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxmdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2UuYXR0cigiZGF0YS10YXJnZXQiKXx8ZC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBmPWIoZSksZz1mLmRhdGEoImJzLmNvbGxhcHNlIiksaD1nPyJ0b2dnbGUiOmUuZGF0YSgpO2MuY2FsbChmLGgpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjPWIuYXR0cigiZGF0YS10YXJnZXQiKTtjfHwoYz1iLmF0dHIoImhyZWYiKSxjPWMmJi8jW0EtWmEtel0vLnRlc3QoYykmJmMucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGQ9YyYmYShjKTtyZXR1cm4gZCYmZC5sZW5ndGg/ZDpiLnBhcmVudCgpfWZ1bmN0aW9uIGMoYyl7YyYmMz09PWMud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1iKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoYyYmImNsaWNrIj09Yy50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpJiZhLmNvbnRhaW5zKGVbMF0sYy50YXJnZXQpfHwoZS50cmlnZ2VyKGM9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpfSkpfWZ1bmN0aW9uIGQoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoImJzLmRyb3Bkb3duIik7ZHx8Yy5kYXRhKCJicy5kcm9wZG93biIsZD1uZXcgZyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZkW2JdLmNhbGwoYyl9KX12YXIgZT0iLmRyb3Bkb3duLWJhY2tkcm9wIixmPSdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nLGc9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2suYnMuZHJvcGRvd24iLHRoaXMudG9nZ2xlKX07Zy5WRVJTSU9OPSIzLjMuNSIsZy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7aWYoIWUuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBmPWIoZSksZz1mLmhhc0NsYXNzKCJvcGVuIik7aWYoYygpLCFnKXsib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWYuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGgmJmEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJkcm9wZG93bi1iYWNrZHJvcCIpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYyk7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJzaG93bi5icy5kcm9wZG93biIsaCl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGMpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGMud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YihkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWMud2hpY2h8fGcmJjI3PT1jLndoaWNoKXJldHVybiAyNz09Yy53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgiLmRyb3Bkb3duLW1lbnUiK2gpO2lmKGkubGVuZ3RoKXt2YXIgaj1pLmluZGV4KGMudGFyZ2V0KTszOD09Yy53aGljaCYmaj4wJiZqLS0sNDA9PWMud2hpY2gmJmo8aS5sZW5ndGgtMSYmaisrLH5qfHwoaj0wKSxpLmVxKGopLnRyaWdnZXIoImZvY3VzIil9fX19O3ZhciBoPWEuZm4uZHJvcGRvd247YS5mbi5kcm9wZG93bj1kLGEuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9ZyxhLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5kcm9wZG93bj1oLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsYykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUudG9nZ2xlKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93bi1tZW51IixnLnByb3RvdHlwZS5rZXlkb3duKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYixkKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxmPWUuZGF0YSgiYnMubW9kYWwiKSxnPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTtmfHxlLmRhdGEoImJzLm1vZGFsIixmPW5ldyBjKHRoaXMsZykpLCJzdHJpbmciPT10eXBlb2YgYj9mW2JdKGQpOmcuc2hvdyYmZi5zaG93KGQpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yyx0aGlzLiRib2R5PWEoZG9jdW1lbnQuYm9keSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGRpYWxvZz10aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1kaWFsb2ciKSx0aGlzLiRiYWNrZHJvcD1udWxsLHRoaXMuaXNTaG93bj1udWxsLHRoaXMub3JpZ2luYWxCb2R5UGFkPW51bGwsdGhpcy5zY3JvbGxiYXJXaWR0aD0wLHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1jb250ZW50IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoImxvYWRlZC5icy5tb2RhbCIpfSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0zMDAsYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3coYSl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPWEuRXZlbnQoInNob3cuYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTt0aGlzLiRlbGVtZW50LnRyaWdnZXIoZSksdGhpcy5pc1Nob3dufHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuY2hlY2tTY3JvbGxiYXIoKSx0aGlzLnNldFNjcm9sbGJhcigpLHRoaXMuJGJvZHkuYWRkQ2xhc3MoIm1vZGFsLW9wZW4iKSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLGEucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLiRkaWFsb2cub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuJGVsZW1lbnQub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmlzKGQuJGVsZW1lbnQpJiYoZC5pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBlPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZkLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7ZC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fGQuJGVsZW1lbnQuYXBwZW5kVG8oZC4kYm9keSksZC4kZWxlbWVudC5zaG93KCkuc2Nyb2xsVG9wKDApLGQuYWRqdXN0RGlhbG9nKCksZSYmZC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxkLiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLGQuZW5mb3JjZUZvY3VzKCk7dmFyIGY9YS5FdmVudCgic2hvd24uYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTtlP2QuJGRpYWxvZy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KSl9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGI9YS5FdmVudCgiaGlkZS5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSx0aGlzLmlzU2hvd24mJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSxhKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJpbiIpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygibW9kYWwtYmFja2Ryb3AgIitlKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pblN0YXRlPW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy41IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMudmlld3BvcnQpP3RoaXMub3B0aW9ucy52aWV3cG9ydC5jYWxsKHRoaXMsdGhpcy4kZWxlbWVudCk6dGhpcy5vcHRpb25zLnZpZXdwb3J0LnNlbGVjdG9yfHx0aGlzLm9wdGlvbnMudmlld3BvcnQpLHRoaXMuaW5TdGF0ZT17Y2xpY2s6ITEsaG92ZXI6ITEsZm9jdXM6ITF9LHRoaXMuJGVsZW1lbnRbMF1pbnN0YW5jZW9mIGRvY3VtZW50LmNvbnN0cnVjdG9yJiYhdGhpcy5vcHRpb25zLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiYHNlbGVjdG9yYCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbml0aWFsaXppbmcgIit0aGlzLnR5cGUrIiBvbiB0aGUgd2luZG93LmRvY3VtZW50IG9iamVjdCEiKTtmb3IodmFyIGU9dGhpcy5vcHRpb25zLnRyaWdnZXIuc3BsaXQoIiAiKSxmPWUubGVuZ3RoO2YtLTspe3ZhciBnPWVbZl07aWYoImNsaWNrIj09Zyl0aGlzLiRlbGVtZW50Lm9uKCJjbGljay4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLnRvZ2dsZSx0aGlzKSk7ZWxzZSBpZigibWFudWFsIiE9Zyl7dmFyIGg9ImhvdmVyIj09Zz8ibW91c2VlbnRlciI6ImZvY3VzaW4iLGk9ImhvdmVyIj09Zz8ibW91c2VsZWF2ZSI6ImZvY3Vzb3V0Ijt0aGlzLiRlbGVtZW50Lm9uKGgrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKX19dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKGIpe3JldHVybiBiPWEuZXh0ZW5kKHt9LHRoaXMuZ2V0RGVmYXVsdHMoKSx0aGlzLiRlbGVtZW50LmRhdGEoKSxiKSxiLmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIGIuZGVsYXkmJihiLmRlbGF5PXtzaG93OmIuZGVsYXksaGlkZTpiLmRlbGF5fSksYn0sYy5wcm90b3R5cGUuZ2V0RGVsZWdhdGVPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGI9e30sYz10aGlzLmdldERlZmF1bHRzKCk7cmV0dXJuIHRoaXMuX29wdGlvbnMmJmEuZWFjaCh0aGlzLl9vcHRpb25zLGZ1bmN0aW9uKGEsZCl7Y1thXSE9ZCYmKGJbYV09ZCl9KSxifSxjLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXt2YXIgYz1iIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9iOmEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSk7cmV0dXJuIGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c2luIj09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGMudGlwKCkuaGFzQ2xhc3MoImluIil8fCJpbiI9PWMuaG92ZXJTdGF0ZT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmlzSW5TdGF0ZVRydWU9ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5pblN0YXRlKWlmKHRoaXMuaW5TdGF0ZVthXSlyZXR1cm4hMDtyZXR1cm4hMX0sYy5wcm90b3R5cGUubGVhdmU9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNvdXQiPT1iLnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksYy5pc0luU3RhdGVUcnVlKCk/dm9pZCAwOihjbGVhclRpbWVvdXQoYy50aW1lb3V0KSxjLmhvdmVyU3RhdGU9Im91dCIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuaGlkZT92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Im91dCI9PWMuaG92ZXJTdGF0ZSYmYy5oaWRlKCl9LGMub3B0aW9ucy5kZWxheS5oaWRlKSk6Yy5oaWRlKCkpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9YS5FdmVudCgic2hvdy5icy4iK3RoaXMudHlwZSk7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpO3ZhciBkPWEuY29udGFpbnModGhpcy4kZWxlbWVudFswXS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLiRlbGVtZW50WzBdKTtpZihiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhZClyZXR1cm47dmFyIGU9dGhpcyxmPXRoaXMudGlwKCksZz10aGlzLmdldFVJRCh0aGlzLnR5cGUpO3RoaXMuc2V0Q29udGVudCgpLGYuYXR0cigiaWQiLGcpLHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZyksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmZi5hZGRDbGFzcygiZmFkZSIpO3ZhciBoPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMucGxhY2VtZW50P3RoaXMub3B0aW9ucy5wbGFjZW1lbnQuY2FsbCh0aGlzLGZbMF0sdGhpcy4kZWxlbWVudFswXSk6dGhpcy5vcHRpb25zLnBsYWNlbWVudCxpPS9ccz9hdXRvP1xzPy9pLGo9aS50ZXN0KGgpO2omJihoPWgucmVwbGFjZShpLCIiKXx8InRvcCIpLGYuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSkuYWRkQ2xhc3MoaCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsdGhpcyksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj9mLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOmYuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJpbnNlcnRlZC5icy4iK3RoaXMudHlwZSk7dmFyIGs9dGhpcy5nZXRQb3NpdGlvbigpLGw9ZlswXS5vZmZzZXRXaWR0aCxtPWZbMF0ub2Zmc2V0SGVpZ2h0O2lmKGope3ZhciBuPWgsbz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtoPSJib3R0b20iPT1oJiZrLmJvdHRvbSttPm8uYm90dG9tPyJ0b3AiOiJ0b3AiPT1oJiZrLnRvcC1tPG8udG9wPyJib3R0b20iOiJyaWdodCI9PWgmJmsucmlnaHQrbD5vLndpZHRoPyJsZWZ0IjoibGVmdCI9PWgmJmsubGVmdC1sPG8ubGVmdD8icmlnaHQiOmgsZi5yZW1vdmVDbGFzcyhuKS5hZGRDbGFzcyhoKX12YXIgcD10aGlzLmdldENhbGN1bGF0ZWRPZmZzZXQoaCxrLGwsbSk7dGhpcy5hcHBseVBsYWNlbWVudChwLGgpO3ZhciBxPWZ1bmN0aW9uKCl7dmFyIGE9ZS5ob3ZlclN0YXRlO2UuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuIitlLnR5cGUpLGUuaG92ZXJTdGF0ZT1udWxsLCJvdXQiPT1hJiZlLmxlYXZlKGUpfTthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kdGlwLmhhc0NsYXNzKCJmYWRlIik/Zi5vbmUoImJzVHJhbnNpdGlvbkVuZCIscSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpxKCl9fSxjLnByb3RvdHlwZS5hcHBseVBsYWNlbWVudD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudGlwKCksZT1kWzBdLm9mZnNldFdpZHRoLGY9ZFswXS5vZmZzZXRIZWlnaHQsZz1wYXJzZUludChkLmNzcygibWFyZ2luLXRvcCIpLDEwKSxoPXBhcnNlSW50KGQuY3NzKCJtYXJnaW4tbGVmdCIpLDEwKTtpc05hTihnKSYmKGc9MCksaXNOYU4oaCkmJihoPTApLGIudG9wKz1nLGIubGVmdCs9aCxhLm9mZnNldC5zZXRPZmZzZXQoZFswXSxhLmV4dGVuZCh7dXNpbmc6ZnVuY3Rpb24oYSl7ZC5jc3Moe3RvcDpNYXRoLnJvdW5kKGEudG9wKSxsZWZ0Ok1hdGgucm91bmQoYS5sZWZ0KX0pfX0sYiksMCksZC5hZGRDbGFzcygiaW4iKTt2YXIgaT1kWzBdLm9mZnNldFdpZHRoLGo9ZFswXS5vZmZzZXRIZWlnaHQ7InRvcCI9PWMmJmohPWYmJihiLnRvcD1iLnRvcCtmLWopO3ZhciBrPXRoaXMuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhKGMsYixpLGopO2subGVmdD9iLmxlZnQrPWsubGVmdDpiLnRvcCs9ay50b3A7dmFyIGw9L3RvcHxib3R0b20vLnRlc3QoYyksbT1sPzIqay5sZWZ0LWUraToyKmsudG9wLWYraixuPWw/Im9mZnNldFdpZHRoIjoib2Zmc2V0SGVpZ2h0IjtkLm9mZnNldChiKSx0aGlzLnJlcGxhY2VBcnJvdyhtLGRbMF1bbl0sbCl9LGMucHJvdG90eXBlLnJlcGxhY2VBcnJvdz1mdW5jdGlvbihhLGIsYyl7dGhpcy5hcnJvdygpLmNzcyhjPyJsZWZ0IjoidG9wIiw1MCooMS1hL2IpKyIlIikuY3NzKGM/InRvcCI6ImxlZnQiLCIiKX0sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCk7YS5maW5kKCIudG9vbHRpcC1pbm5lciIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKGIpLGEucmVtb3ZlQ2xhc3MoImZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0Iil9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpeyJpbiIhPWUuaG92ZXJTdGF0ZSYmZi5kZXRhY2goKSxlLiRlbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKS50cmlnZ2VyKCJoaWRkZW4uYnMuIitlLnR5cGUpLGImJmIoKX12YXIgZT10aGlzLGY9YSh0aGlzLiR0aXApLGc9YS5FdmVudCgiaGlkZS5icy4iK3RoaXMudHlwZSk7cmV0dXJuIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSxnLmlzRGVmYXVsdFByZXZlbnRlZCgpP3ZvaWQgMDooZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXMpfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj1kP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCksZz17c2Nyb2xsOmQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6Yi5zY3JvbGxUb3AoKX0saD1kP3t3aWR0aDphKHdpbmRvdykud2lkdGgoKSxoZWlnaHQ6YSh3aW5kb3cpLmhlaWdodCgpfTpudWxsO3JldHVybiBhLmV4dGVuZCh7fSxlLGcsaCxmKX0sYy5wcm90b3R5cGUuZ2V0Q2FsY3VsYXRlZE9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4iYm90dG9tIj09YT97dG9wOmIudG9wK2IuaGVpZ2h0LGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJ0b3AiPT1hP3t0b3A6Yi50b3AtZCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToibGVmdCI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdC1jfTp7dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0K2Iud2lkdGh9fSxjLnByb3RvdHlwZS5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e3RvcDowLGxlZnQ6MH07aWYoIXRoaXMuJHZpZXdwb3J0KXJldHVybiBlO3ZhciBmPXRoaXMub3B0aW9ucy52aWV3cG9ydCYmdGhpcy5vcHRpb25zLnZpZXdwb3J0LnBhZGRpbmd8fDAsZz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtpZigvcmlnaHR8bGVmdC8udGVzdChhKSl7dmFyIGg9Yi50b3AtZi1nLnNjcm9sbCxpPWIudG9wK2YtZy5zY3JvbGwrZDtoPGcudG9wP2UudG9wPWcudG9wLWg6aT5nLnRvcCtnLmhlaWdodCYmKGUudG9wPWcudG9wK2cuaGVpZ2h0LWkpfWVsc2V7dmFyIGo9Yi5sZWZ0LWYsaz1iLmxlZnQrZitjO2o8Zy5sZWZ0P2UubGVmdD1nLmxlZnQtajprPmcucmlnaHQmJihlLmxlZnQ9Zy5sZWZ0K2cud2lkdGgtayl9cmV0dXJuIGV9LGMucHJvdG90eXBlLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLiRlbGVtZW50LGM9dGhpcy5vcHRpb25zO3JldHVybiBhPWIuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGMudGl0bGU/Yy50aXRsZS5jYWxsKGJbMF0pOmMudGl0bGUpfSxjLnByb3RvdHlwZS5nZXRVSUQ9ZnVuY3Rpb24oYSl7ZG8gYSs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpO3doaWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKTtyZXR1cm4gYX0sYy5wcm90b3R5cGUudGlwPWZ1bmN0aW9uKCl7aWYoIXRoaXMuJHRpcCYmKHRoaXMuJHRpcD1hKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSksMSE9dGhpcy4kdGlwLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiIGB0ZW1wbGF0ZWAgb3B0aW9uIG11c3QgY29uc2lzdCBvZiBleGFjdGx5IDEgdG9wLWxldmVsIGVsZW1lbnQhIik7cmV0dXJuIHRoaXMuJHRpcH0sYy5wcm90b3R5cGUuYXJyb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kYXJyb3c9dGhpcy4kYXJyb3d8fHRoaXMudGlwKCkuZmluZCgiLnRvb2x0aXAtYXJyb3ciKX0sYy5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxjLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSxjLnByb3RvdHlwZS50b2dnbGVFbmFibGVkPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzO2ImJihjPWEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSksY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSkpLGI/KGMuaW5TdGF0ZS5jbGljaz0hYy5pblN0YXRlLmNsaWNrLGMuaXNJblN0YXRlVHJ1ZSgpP2MuZW50ZXIoYyk6Yy5sZWF2ZShjKSk6Yy50aXAoKS5oYXNDbGFzcygiaW4iKT9jLmxlYXZlKGMpOmMuZW50ZXIoYyl9LGMucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHRoaXMuaGlkZShmdW5jdGlvbigpe2EuJGVsZW1lbnQub2ZmKCIuIithLnR5cGUpLnJlbW92ZURhdGEoImJzLiIrYS50eXBlKSxhLiR0aXAmJmEuJHRpcC5kZXRhY2goKSxhLiR0aXA9bnVsbCxhLiRhcnJvdz1udWxsLGEuJHZpZXdwb3J0PW51bGx9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy41IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNSIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpe3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSwKZC50cmlnZ2VyKCJhY3RpdmF0ZS5icy5zY3JvbGxzcHkiKX0sYi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXthKHRoaXMuc2VsZWN0b3IpLnBhcmVudHNVbnRpbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLnNjcm9sbHNweTthLmZuLnNjcm9sbHNweT1jLGEuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPWIsYS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnNjcm9sbHNweT1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZC5icy5zY3JvbGxzcHkuZGF0YS1hcGkiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2MuY2FsbChiLGIuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50YWIiKTtlfHxkLmRhdGEoImJzLnRhYiIsZT1uZXcgYyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQ9YShiKX07Yy5WRVJTSU9OPSIzLjMuNSIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LGM9Yi5jbG9zZXN0KCJ1bDpub3QoLmRyb3Bkb3duLW1lbnUpIiksZD1iLmRhdGEoInRhcmdldCIpO2lmKGR8fChkPWIuYXR0cigiaHJlZiIpLGQ9ZCYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSwhYi5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpKXt2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gYz5lPyJ0b3AiOiExO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/ZSt0aGlzLnVucGluPD1mLnRvcD8hMToiYm90dG9tIjphLWQ+PWUrZz8hMToiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmYz49ZT8idG9wIjpudWxsIT1kJiZpK2o+PWEtZD8iYm90dG9tIjohMX0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9TWF0aC5tYXgoYShkb2N1bWVudCkuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSk7Im9iamVjdCIhPXR5cGVvZiBkJiYoZj1lPWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1kLnRvcCh0aGlzLiRlbGVtZW50KSksImZ1bmN0aW9uIj09dHlwZW9mIGYmJihmPWQuYm90dG9tKHRoaXMuJGVsZW1lbnQpKTt2YXIgaD10aGlzLmdldFN0YXRlKGcsYixlLGYpO2lmKHRoaXMuYWZmaXhlZCE9aCl7bnVsbCE9dGhpcy51bnBpbiYmdGhpcy4kZWxlbWVudC5jc3MoInRvcCIsIiIpO3ZhciBpPSJhZmZpeCIrKGg/Ii0iK2g6IiIpLGo9YS5FdmVudChpKyIuYnMuYWZmaXgiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksai5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47dGhpcy5hZmZpeGVkPWgsdGhpcy51bnBpbj0iYm90dG9tIj09aD90aGlzLmdldFBpbm5lZE9mZnNldCgpOm51bGwsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhjLlJFU0VUKS5hZGRDbGFzcyhpKS50cmlnZ2VyKGkucmVwbGFjZSgiYWZmaXgiLCJhZmZpeGVkIikrIi5icy5hZmZpeCIpfSJib3R0b20iPT1oJiZ0aGlzLiRlbGVtZW50Lm9mZnNldCh7dG9wOmctYi1mfSl9fTt2YXIgZD1hLmZuLmFmZml4O2EuZm4uYWZmaXg9YixhLmZuLmFmZml4LkNvbnN0cnVjdG9yPWMsYS5mbi5hZmZpeC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWZmaXg9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoKTtkLm9mZnNldD1kLm9mZnNldHx8e30sbnVsbCE9ZC5vZmZzZXRCb3R0b20mJihkLm9mZnNldC5ib3R0b209ZC5vZmZzZXRCb3R0b20pLG51bGwhPWQub2Zmc2V0VG9wJiYoZC5vZmZzZXQudG9wPWQub2Zmc2V0VG9wKSxiLmNhbGwoYyxkKX0pfSl9KGpRdWVyeSk7"></script>
-<script src="data:application/x-javascript;base64,LyoqCiogQHByZXNlcnZlIEhUTUw1IFNoaXYgMy43LjIgfCBAYWZhcmthcyBAamRhbHRvbiBAam9uX25lYWwgQHJlbSB8IE1JVC9HUEwyIExpY2Vuc2VkCiovCi8vIE9ubHkgcnVuIHRoaXMgY29kZSBpbiBJRSA4CmlmICghIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJNU0lFIDgiKSkgewohZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGM9YS5jcmVhdGVFbGVtZW50KCJwIiksZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGEuZG9jdW1lbnRFbGVtZW50O3JldHVybiBjLmlubmVySFRNTD0ieDxzdHlsZT4iK2IrIjwvc3R5bGU+IixkLmluc2VydEJlZm9yZShjLmxhc3RDaGlsZCxkLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIGQoKXt2YXIgYT10LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgYT9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBlKGEsYil7dmFyIGM9dC5lbGVtZW50czsic3RyaW5nIiE9dHlwZW9mIGMmJihjPWMuam9pbigiICIpKSwic3RyaW5nIiE9dHlwZW9mIGEmJihhPWEuam9pbigiICIpKSx0LmVsZW1lbnRzPWMrIiAiK2EsaihiKX1mdW5jdGlvbiBmKGEpe3ZhciBiPXNbYVtxXV07cmV0dXJuIGJ8fChiPXt9LHIrKyxhW3FdPXIsc1tyXT1iKSxifWZ1bmN0aW9uIGcoYSxjLGQpe2lmKGN8fChjPWIpLGwpcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1mKGMpKTt2YXIgZTtyZXR1cm4gZT1kLmNhY2hlW2FdP2QuY2FjaGVbYV0uY2xvbmVOb2RlKCk6cC50ZXN0KGEpPyhkLmNhY2hlW2FdPWQuY3JlYXRlRWxlbShhKSkuY2xvbmVOb2RlKCk6ZC5jcmVhdGVFbGVtKGEpLCFlLmNhbkhhdmVDaGlsZHJlbnx8by50ZXN0KGEpfHxlLnRhZ1Vybj9lOmQuZnJhZy5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBoKGEsYyl7aWYoYXx8KGE9YiksbClyZXR1cm4gYS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1jfHxmKGEpO2Zvcih2YXIgZT1jLmZyYWcuY2xvbmVOb2RlKCksZz0wLGg9ZCgpLGk9aC5sZW5ndGg7aT5nO2crKyllLmNyZWF0ZUVsZW1lbnQoaFtnXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gdC5zaGl2TWV0aG9kcz9nKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIitkKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtOl0rL2csZnVuY3Rpb24oYSl7cmV0dXJuIGIuY3JlYXRlRWxlbShhKSxiLmZyYWcuY3JlYXRlRWxlbWVudChhKSwnYygiJythKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh0LGIuZnJhZyl9ZnVuY3Rpb24gaihhKXthfHwoYT1iKTt2YXIgZD1mKGEpO3JldHVybiF0LnNoaXZDU1N8fGt8fGQuaGFzQ1NTfHwoZC5oYXNDU1M9ISFjKGEsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8aShhLGQpLGF9dmFyIGssbCxtPSIzLjcuMiIsbj1hLmh0bWw1fHx7fSxvPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLHE9Il9odG1sNXNoaXYiLHI9MCxzPXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImEiKTthLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLGs9ImhpZGRlbiJpbiBhLGw9MT09YS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXtiLmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgYT1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2goYyl7az0hMCxsPSEwfX0oKTt2YXIgdD17ZWxlbWVudHM6bi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcGljdHVyZSBwcm9ncmVzcyBzZWN0aW9uIHN1bW1hcnkgdGVtcGxhdGUgdGltZSB2aWRlbyIsdmVyc2lvbjptLHNoaXZDU1M6bi5zaGl2Q1NTIT09ITEsc3VwcG9ydHNVbmtub3duRWxlbWVudHM6bCxzaGl2TWV0aG9kczpuLnNoaXZNZXRob2RzIT09ITEsdHlwZToiZGVmYXVsdCIsc2hpdkRvY3VtZW50OmosY3JlYXRlRWxlbWVudDpnLGNyZWF0ZURvY3VtZW50RnJhZ21lbnQ6aCxhZGRFbGVtZW50czplfTthLmh0bWw1PXQsaihiKX0odGhpcyxkb2N1bWVudCk7Cn07Cg=="></script>
-<script src="data:application/x-javascript;base64,LyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsICogQ29weXJpZ2h0IDIwMTMgU2NvdHQgSmVobAogKiBMaWNlbnNlZCB1bmRlciBodHRwczovL2dpdGh1Yi5jb20vc2NvdHRqZWhsL1Jlc3BvbmQvYmxvYi9tYXN0ZXIvTElDRU5TRS1NSVQKICogICovCgovLyBPbmx5IHJ1biB0aGlzIGNvZGUgaW4gSUUgOAppZiAoISF3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiTVNJRSA4IikpIHsKIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLm1hdGNoTWVkaWE9YS5tYXRjaE1lZGlhfHxmdW5jdGlvbihhKXt2YXIgYixjPWEuZG9jdW1lbnRFbGVtZW50LGQ9Yy5maXJzdEVsZW1lbnRDaGlsZHx8Yy5maXJzdENoaWxkLGU9YS5jcmVhdGVFbGVtZW50KCJib2R5IiksZj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBmLmlkPSJtcS10ZXN0LTEiLGYuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBlbSIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIixlLmFwcGVuZENoaWxkKGYpLGZ1bmN0aW9uKGEpe3JldHVybiBmLmlubmVySFRNTD0nJnNoeTs8c3R5bGUgbWVkaWE9IicrYSsnIj4gI21xLXRlc3QtMSB7IHdpZHRoOiA0MnB4OyB9PC9zdHlsZT4nLGMuaW5zZXJ0QmVmb3JlKGUsZCksYj00Mj09PWYub2Zmc2V0V2lkdGgsYy5yZW1vdmVDaGlsZChlKSx7bWF0Y2hlczpiLG1lZGlhOmF9fX0oYS5kb2N1bWVudCl9KHRoaXMpLGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dSghMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSgpLGY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1lKCk7YyYmKGMub3BlbigiR0VUIixhLCEwKSxjLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQhPT1jLnJlYWR5U3RhdGV8fDIwMCE9PWMuc3RhdHVzJiYzMDQhPT1jLnN0YXR1c3x8YihjLnJlc3BvbnNlVGV4dCl9LDQhPT1jLnJlYWR5U3RhdGUmJmMuc2VuZChudWxsKSl9O2lmKGMuYWpheD1mLGMucXVldWU9ZCxjLnJlZ2V4PXttZWRpYTovQG1lZGlhW15ce10rXHsoW15ce1x9XSpce1teXH1ce10qXH0pKy9naSxrZXlmcmFtZXM6L0AoPzpcLSg/Om98bW96fHdlYmtpdClcLSk/a2V5ZnJhbWVzW15ce10rXHsoPzpbXlx7XH1dKlx7W15cfVx7XSpcfSkrW15cfV0qXH0vZ2ksdXJsczovKHVybFwoKVsnIl0/KFteXC9cKSciXVteOlwpJyJdKylbJyJdPyhcKSkvZyxmaW5kU3R5bGVzOi9AbWVkaWEgKihbXlx7XSspXHsoW1xTXHNdKz8pJC8sb25seTovKG9ubHlccyspPyhbYS16QS1aXSspXHM/LyxtaW53Oi9cKFtcc10qbWluXC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpLyxtYXh3Oi9cKFtcc10qbWF4XC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpL30sYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQ9YS5tYXRjaE1lZGlhJiZudWxsIT09YS5tYXRjaE1lZGlhKCJvbmx5IGFsbCIpJiZhLm1hdGNoTWVkaWEoIm9ubHkgYWxsIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBnLGgsaSxqPWEuZG9jdW1lbnQsaz1qLmRvY3VtZW50RWxlbWVudCxsPVtdLG09W10sbj1bXSxvPXt9LHA9MzAscT1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGsscj1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIilbMF0scz1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksdD1mdW5jdGlvbigpe3ZhciBhLGI9ai5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWouYm9keSxkPWsuc3R5bGUuZm9udFNpemUsZT1jJiZjLnN0eWxlLmZvbnRTaXplLGY9ITE7cmV0dXJuIGIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW0iLGN8fChjPWY9ai5jcmVhdGVFbGVtZW50KCJib2R5IiksYy5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIiksay5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5hcHBlbmRDaGlsZChiKSxmJiZrLmluc2VydEJlZm9yZShjLGsuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/ay5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGsuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWk9cGFyc2VGbG9hdChhKX0sdT1mdW5jdGlvbihiKXt2YXIgYz0iY2xpZW50V2lkdGgiLGQ9a1tjXSxlPSJDU1MxQ29tcGF0Ij09PWouY29tcGF0TW9kZSYmZHx8ai5ib2R5W2NdfHxkLGY9e30sbz1zW3MubGVuZ3RoLTFdLHI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYoYiYmZyYmcD5yLWcpcmV0dXJuIGEuY2xlYXJUaW1lb3V0KGgpLGg9YS5zZXRUaW1lb3V0KHUscCksdm9pZCAwO2c9cjtmb3IodmFyIHYgaW4gbClpZihsLmhhc093blByb3BlcnR5KHYpKXt2YXIgdz1sW3ZdLHg9dy5taW53LHk9dy5tYXh3LHo9bnVsbD09PXgsQT1udWxsPT09eSxCPSJlbSI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChtW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShDKSYmbltDXSYmbltDXS5wYXJlbnROb2RlPT09cSYmcS5yZW1vdmVDaGlsZChuW0NdKTtuLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWouY3JlYXRlRWxlbWVudCgic3R5bGUiKSxGPWZbRF0uam9pbigiXG4iKTtFLnR5cGU9InRleHQvY3NzIixFLm1lZGlhPUQscS5pbnNlcnRCZWZvcmUoRSxvLm5leHRTaWJsaW5nKSxFLnN0eWxlU2hlZXQ/RS5zdHlsZVNoZWV0LmNzc1RleHQ9RjpFLmFwcGVuZENoaWxkKGouY3JlYXRlVGV4dE5vZGUoRikpLG4ucHVzaChFKX19LHY9ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucmVwbGFjZShjLnJlZ2V4LmtleWZyYW1lcywiIikubWF0Y2goYy5yZWdleC5tZWRpYSksZj1lJiZlLmxlbmd0aHx8MDtiPWIuc3Vic3RyaW5nKDAsYi5sYXN0SW5kZXhPZigiLyIpKTt2YXIgZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscywiJDEiK2IrIiQyJDMiKX0saD0hZiYmZDtiLmxlbmd0aCYmKGIrPSIvIiksaCYmKGY9MSk7Zm9yKHZhciBpPTA7Zj5pO2krKyl7dmFyIGosayxuLG87aD8oaj1kLG0ucHVzaChnKGEpKSk6KGo9ZVtpXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbS5wdXNoKFJlZ0V4cC4kMiYmZyhSZWdFeHAuJDIpKSksbj1qLnNwbGl0KCIsIiksbz1uLmxlbmd0aDtmb3IodmFyIHA9MDtvPnA7cCsrKWs9bltwXSxsLnB1c2goe21lZGlhOmsuc3BsaXQoIigiKVswXS5tYXRjaChjLnJlZ2V4Lm9ubHkpJiZSZWdFeHAuJDJ8fCJhbGwiLHJ1bGVzOm0ubGVuZ3RoLTEsaGFzcXVlcnk6ay5pbmRleE9mKCIoIik+LTEsbWludzprLm1hdGNoKGMucmVnZXgubWludykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIiksbWF4dzprLm1hdGNoKGMucmVnZXgubWF4dykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIil9KX11KCl9LHc9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3YoYyxiLmhyZWYsYi5tZWRpYSksb1tiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3coKX0sMCl9KX19LHg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHMubGVuZ3RoO2IrKyl7dmFyIGM9c1tiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmInN0eWxlc2hlZXQiPT09Yy5yZWwudG9Mb3dlckNhc2UoKTtlJiZnJiYhb1tlXSYmKGMuc3R5bGVTaGVldCYmYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQ/KHYoYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQsZSxmKSxvW2VdPSEwKTooIS9eKFthLXpBLVo6XSpcL1wvKS8udGVzdChlKSYmIXJ8fGUucmVwbGFjZShSZWdFeHAuJDEsIiIpLnNwbGl0KCIvIilbMF09PT1hLmxvY2F0aW9uLmhvc3QpJiYoIi8vIj09PWUuc3Vic3RyaW5nKDAsMikmJihlPWEubG9jYXRpb24ucHJvdG9jb2wrZSksZC5wdXNoKHtocmVmOmUsbWVkaWE6Zn0pKSl9dygpfTt4KCksYy51cGRhdGU9eCxjLmdldEVtVmFsdWU9dCxhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9ucmVzaXplIixiKX19KHRoaXMpOwp9Owo="></script>
-<script src="data:application/x-javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK"></script>
-<link href="data:text/css;charset=utf-8,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" />
-<script src="data:application/x-javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7"></script>
-<script src="data:application/x-javascript;base64,KGZ1bmN0aW9uKCkgewogIC8vIElmIHdpbmRvdy5IVE1MV2lkZ2V0cyBpcyBhbHJlYWR5IGRlZmluZWQsIHRoZW4gdXNlIGl0OyBvdGhlcndpc2UgY3JlYXRlIGEKICAvLyBuZXcgb2JqZWN0LiBUaGlzIGFsbG93cyBwcmVjZWRpbmcgY29kZSB0byBzZXQgb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUKICAvLyBpbml0aWFsaXphdGlvbiBwcm9jZXNzICh0aG91Z2ggbm9uZSBjdXJyZW50bHkgZXhpc3QpLgogIHdpbmRvdy5IVE1MV2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cyB8fCB7fTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSB2aWV3ZXIgcGFuZS4gSWYgbm90LCB3ZSdyZSBpbiBhIHdlYiBicm93c2VyLgogIHZhciB2aWV3ZXJNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnZpZXdlck1vZGUgPQogICAgICAvXGJ2aWV3ZXJfcGFuZT0xXGIvLnRlc3Qod2luZG93LmxvY2F0aW9uKTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gU2hpbnkgbW9kZS4gSWYgbm90LCBpdCdzIGEgc3RhdGljIGRvY3VtZW50LgogIC8vIE5vdGUgdGhhdCBzdGF0aWMgd2lkZ2V0cyBjYW4gYXBwZWFyIGluIGJvdGggU2hpbnkgYW5kIHN0YXRpYyBtb2RlcywgYnV0CiAgLy8gb2J2aW91c2x5LCBTaGlueSB3aWRnZXRzIGNhbiBvbmx5IGFwcGVhciBpbiBTaGlueSBhcHBzL2RvY3VtZW50cy4KICB2YXIgc2hpbnlNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnNoaW55TW9kZSA9CiAgICAgIHR5cGVvZih3aW5kb3cuU2hpbnkpICE9PSAidW5kZWZpbmVkIiAmJiAhIXdpbmRvdy5TaGlueS5vdXRwdXRCaW5kaW5nczsKCiAgLy8gV2UgY2FuJ3QgY291bnQgb24galF1ZXJ5IGJlaW5nIGF2YWlsYWJsZSwgc28gd2UgaW1wbGVtZW50IG91ciBvd24KICAvLyB2ZXJzaW9uIGlmIG5lY2Vzc2FyeS4KICBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKHR5cGVvZihqUXVlcnkpICE9PSAidW5kZWZpbmVkIiAmJiBzY29wZSBpbnN0YW5jZW9mIGpRdWVyeSkgewogICAgICByZXR1cm4gc2NvcGUuZmluZChzZWxlY3Rvcik7CiAgICB9CiAgICBpZiAoc2NvcGUucXVlcnlTZWxlY3RvckFsbCkgewogICAgICByZXR1cm4gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBhc0FycmF5KHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwpCiAgICAgIHJldHVybiBbXTsKICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKQogICAgICByZXR1cm4gdmFsdWU7CiAgICByZXR1cm4gW3ZhbHVlXTsKICB9CgogIC8vIEltcGxlbWVudCBqUXVlcnkncyBleHRlbmQKICBmdW5jdGlvbiBleHRlbmQodGFyZ2V0IC8qLCAuLi4gKi8pIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgcmV0dXJuIHRhcmdldDsKICAgIH0KICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAgIGZvciAodmFyIHByb3AgaW4gc291cmNlKSB7CiAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgdGFyZ2V0W3Byb3BdID0gc291cmNlW3Byb3BdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhcmdldDsKICB9CgogIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgQXJyYXkuZm9yRWFjaC4KICBmdW5jdGlvbiBmb3JFYWNoKHZhbHVlcywgY2FsbGJhY2ssIHRoaXNBcmcpIHsKICAgIGlmICh2YWx1ZXMuZm9yRWFjaCkgewogICAgICB2YWx1ZXMuZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZyk7CiAgICB9IGVsc2UgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdmFsdWVzW2ldLCBpLCB2YWx1ZXMpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZXBsYWNlcyB0aGUgc3BlY2lmaWVkIG1ldGhvZCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY1NvdXJjZS4KICAvLwogIC8vIE5vdGUgdGhhdCBmdW5jU291cmNlIHNob3VsZCBub3QgQkUgdGhlIG5ldyBtZXRob2QsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uCiAgLy8gdGhhdCBSRVRVUk5TIHRoZSBuZXcgbWV0aG9kLiBmdW5jU291cmNlIHJlY2VpdmVzIGEgc2luZ2xlIGFyZ3VtZW50IHRoYXQgaXMKICAvLyB0aGUgb3ZlcnJpZGRlbiBtZXRob2QsIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbmV3IG1ldGhvZC4gVGhlIG92ZXJyaWRkZW4KICAvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBsaWtlIGEgcmVndWxhciBmdW5jdGlvbiwgaXQgaGFzIHRoZSB0YXJnZXQgcGVybWFuZW50bHkKICAvLyBib3VuZCB0byBpdCBzbyAidGhpcyIgd2lsbCB3b3JrIGNvcnJlY3RseS4KICBmdW5jdGlvbiBvdmVycmlkZU1ldGhvZCh0YXJnZXQsIG1ldGhvZE5hbWUsIGZ1bmNTb3VyY2UpIHsKICAgIHZhciBzdXBlckZ1bmMgPSB0YXJnZXRbbWV0aG9kTmFtZV0gfHwgZnVuY3Rpb24oKSB7fTsKICAgIHZhciBzdXBlckZ1bmNCb3VuZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gc3VwZXJGdW5jLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTsKICAgIH07CiAgICB0YXJnZXRbbWV0aG9kTmFtZV0gPSBmdW5jU291cmNlKHN1cGVyRnVuY0JvdW5kKTsKICB9CgogIC8vIEFkZCBhIG1ldGhvZCB0byBkZWxlZ2F0b3IgdGhhdCwgd2hlbiBpbnZva2VkLCBjYWxscwogIC8vIGRlbGVnYXRlZS5tZXRob2ROYW1lLiBJZiB0aGVyZSBpcyBubyBzdWNoIG1ldGhvZCBvbgogIC8vIHRoZSBkZWxlZ2F0ZWUsIGJ1dCB0aGVyZSB3YXMgb25lIG9uIGRlbGVnYXRvciBiZWZvcmUKICAvLyBkZWxlZ2F0ZU1ldGhvZCB3YXMgY2FsbGVkLCB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJzaW9uCiAgLy8gaXMgaW52b2tlZCBpbnN0ZWFkLgogIC8vIEZvciBleGFtcGxlOgogIC8vCiAgLy8gdmFyIGEgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2ExJyk7IH0KICAvLyAgIG1ldGhvZDI6IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZygnYTInKTsgfQogIC8vIH07CiAgLy8gdmFyIGIgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2IxJyk7IH0KICAvLyB9OwogIC8vIGRlbGVnYXRlTWV0aG9kKGEsIGIsICJtZXRob2QxIik7CiAgLy8gZGVsZWdhdGVNZXRob2QoYSwgYiwgIm1ldGhvZDIiKTsKICAvLyBhLm1ldGhvZDEoKTsKICAvLyBhLm1ldGhvZDIoKTsKICAvLwogIC8vIFRoZSBvdXRwdXQgd291bGQgYmUgImIxIiwgImEyIi4KICBmdW5jdGlvbiBkZWxlZ2F0ZU1ldGhvZChkZWxlZ2F0b3IsIGRlbGVnYXRlZSwgbWV0aG9kTmFtZSkgewogICAgdmFyIGluaGVyaXRlZCA9IGRlbGVnYXRvclttZXRob2ROYW1lXTsKICAgIGRlbGVnYXRvclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdGFyZ2V0ID0gZGVsZWdhdGVlOwogICAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGVlW21ldGhvZE5hbWVdOwoKICAgICAgLy8gVGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSBkZWxlZ2F0ZWUuIEluc3RlYWQsCiAgICAgIC8vIGNhbGwgdGhlIG1ldGhvZCBvbiB0aGUgZGVsZWdhdG9yLCBpZiBpdCBleGlzdHMuCiAgICAgIGlmICghbWV0aG9kKSB7CiAgICAgICAgdGFyZ2V0ID0gZGVsZWdhdG9yOwogICAgICAgIG1ldGhvZCA9IGluaGVyaXRlZDsKICAgICAgfQoKICAgICAgaWYgKG1ldGhvZCkgewogICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkodGFyZ2V0LCBhcmd1bWVudHMpOwogICAgICB9CiAgICB9OwogIH0KCiAgLy8gSW1wbGVtZW50IGEgdmFndWUgZmFjc2ltaWxpZSBvZiBqUXVlcnkncyBkYXRhIG1ldGhvZAogIGZ1bmN0aW9uIGVsZW1lbnREYXRhKGVsLCBuYW1lLCB2YWx1ZSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICByZXR1cm4gZWxbImh0bWx3aWRnZXRfZGF0YV8iICsgbmFtZV07CiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMykgewogICAgICBlbFsiaHRtbHdpZGdldF9kYXRhXyIgKyBuYW1lXSA9IHZhbHVlOwogICAgICByZXR1cm4gZWw7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGVsZW1lbnREYXRhOiAiICsKICAgICAgICBhcmd1bWVudHMubGVuZ3RoKTsKICAgIH0KICB9CgogIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ0NjE3MC9lc2NhcGUtc3RyaW5nLWZvci11c2UtaW4tamF2YXNjcmlwdC1yZWdleAogIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHIpIHsKICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9nLCAiXFwkJiIpOwogIH0KCiAgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNsYXNzTmFtZSkgewogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgiXFxiIiArIGVzY2FwZVJlZ0V4cChjbGFzc05hbWUpICsgIlxcYiIpOwogICAgcmV0dXJuIHJlLnRlc3QoZWwuY2xhc3NOYW1lKTsKICB9CgogIC8vIGVsZW1lbnRzIC0gYXJyYXkgKG9yIGFycmF5LWxpa2Ugb2JqZWN0KSBvZiBIVE1MIGVsZW1lbnRzCiAgLy8gY2xhc3NOYW1lIC0gY2xhc3MgbmFtZSB0byB0ZXN0IGZvcgogIC8vIGluY2x1ZGUgLSBpZiB0cnVlLCBvbmx5IHJldHVybiBlbGVtZW50cyB3aXRoIGdpdmVuIGNsYXNzTmFtZTsKICAvLyAgIGlmIGZhbHNlLCBvbmx5IHJldHVybiBlbGVtZW50cyAqd2l0aG91dCogZ2l2ZW4gY2xhc3NOYW1lCiAgZnVuY3Rpb24gZmlsdGVyQnlDbGFzcyhlbGVtZW50cywgY2xhc3NOYW1lLCBpbmNsdWRlKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoaGFzQ2xhc3MoZWxlbWVudHNbaV0sIGNsYXNzTmFtZSkgPT0gaW5jbHVkZSkKICAgICAgICByZXN1bHRzLnB1c2goZWxlbWVudHNbaV0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfQoKICBmdW5jdGlvbiBvbihvYmosIGV2ZW50TmFtZSwgZnVuYykgewogICAgaWYgKG9iai5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuYywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChvYmouYXR0YWNoRXZlbnQpIHsKICAgICAgb2JqLmF0dGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBvZmYob2JqLCBldmVudE5hbWUsIGZ1bmMpIHsKICAgIGlmIChvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcikKICAgICAgb2JqLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jLCBmYWxzZSk7CiAgICBlbHNlIGlmIChvYmouZGV0YWNoRXZlbnQpIHsKICAgICAgb2JqLmRldGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICAvLyBUcmFuc2xhdGUgYXJyYXkgb2YgdmFsdWVzIHRvIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgYXMgdXN1YWwgd2l0aAogIC8vIHRoZSAicGFkZGluZyIgQ1NTIHByb3BlcnR5CiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3BhZGRpbmcKICBmdW5jdGlvbiB1bnBhY2tQYWRkaW5nKHZhbHVlKSB7CiAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIpCiAgICAgIHZhbHVlID0gW3ZhbHVlXTsKICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMF0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzBdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDIpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDMpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDQpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzNdfTsKICAgIH0KICB9CgogIC8vIENvbnZlcnQgYW4gdW5wYWNrZWQgcGFkZGluZyBvYmplY3QgdG8gYSBDU1MgdmFsdWUKICBmdW5jdGlvbiBwYWRkaW5nVG9Dc3MocGFkZGluZ09iaikgewogICAgcmV0dXJuIHBhZGRpbmdPYmoudG9wICsgInB4ICIgKyBwYWRkaW5nT2JqLnJpZ2h0ICsgInB4ICIgKyBwYWRkaW5nT2JqLmJvdHRvbSArICJweCAiICsgcGFkZGluZ09iai5sZWZ0ICsgInB4IjsKICB9CgogIC8vIE1ha2VzIGEgbnVtYmVyIHN1aXRhYmxlIGZvciBDU1MKICBmdW5jdGlvbiBweCh4KSB7CiAgICBpZiAodHlwZW9mKHgpID09PSAibnVtYmVyIikKICAgICAgcmV0dXJuIHggKyAicHgiOwogICAgZWxzZQogICAgICByZXR1cm4geDsKICB9CgogIC8vIFJldHJpZXZlcyBydW50aW1lIHdpZGdldCBzaXppbmcgaW5mb3JtYXRpb24gZm9yIGFuIGVsZW1lbnQuCiAgLy8gVGhlIHJldHVybiB2YWx1ZSBpcyBlaXRoZXIgbnVsbCwgb3IgYW4gb2JqZWN0IHdpdGggZmlsbCwgcGFkZGluZywKICAvLyBkZWZhdWx0V2lkdGgsIGRlZmF1bHRIZWlnaHQgZmllbGRzLgogIGZ1bmN0aW9uIHNpemluZ1BvbGljeShlbCkgewogICAgdmFyIHNpemluZ0VsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZT0nYXBwbGljYXRpb24vaHRtbHdpZGdldC1zaXppbmcnXSIpOwogICAgaWYgKCFzaXppbmdFbCkKICAgICAgcmV0dXJuIG51bGw7CiAgICB2YXIgc3AgPSBKU09OLnBhcnNlKHNpemluZ0VsLnRleHRDb250ZW50IHx8IHNpemluZ0VsLnRleHQgfHwgInt9Iik7CiAgICBpZiAodmlld2VyTW9kZSkgewogICAgICByZXR1cm4gc3Audmlld2VyOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHNwLmJyb3dzZXI7CiAgICB9CiAgfQoKICAvLyBAcGFyYW0gdGFza3MgQXJyYXkgb2Ygc3RyaW5ncyAob3IgZmFsc3kgdmFsdWUsIGluIHdoaWNoIGNhc2Ugbm8tb3ApLgogIC8vICAgRWFjaCBlbGVtZW50IG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24gdGhhdCB5aWVsZHMgYQogIC8vICAgZnVuY3Rpb24uIE9yLCBjYW4gYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cyB3aXRoICJjb2RlIiBhbmQgImRhdGEiCiAgLy8gICBwcm9wZXJ0aWVzOyBpbiB0aGlzIGNhc2UsIHRoZSAiY29kZSIgcHJvcGVydHkgc2hvdWxkIGJlIGEgc3RyaW5nCiAgLy8gICBvZiBKUyB0aGF0J3MgYW4gZXhwciB0aGF0IHlpZWxkcyBhIGZ1bmN0aW9uLCBhbmQgImRhdGEiIHNob3VsZCBiZQogIC8vICAgYW4gb2JqZWN0IHRoYXQgd2lsbCBiZSBhZGRlZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50IHdoZW4gdGhhdAogIC8vICAgZnVuY3Rpb24gaXMgY2FsbGVkLgogIC8vIEBwYXJhbSB0YXJnZXQgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgInRoaXMiIGZvciBlYWNoIGZ1bmN0aW9uCiAgLy8gICBleGVjdXRpb24uCiAgLy8gQHBhcmFtIGFyZ3MgQXJyYXkgb2YgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb25zLiAoVGhlCiAgLy8gICBzYW1lIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBhbGwgZnVuY3Rpb25zLikKICBmdW5jdGlvbiBldmFsQW5kUnVuKHRhc2tzLCB0YXJnZXQsIGFyZ3MpIHsKICAgIGlmICh0YXNrcykgewogICAgICBmb3JFYWNoKHRhc2tzLCBmdW5jdGlvbih0YXNrKSB7CiAgICAgICAgdmFyIHRoZXNlQXJncyA9IGFyZ3M7CiAgICAgICAgaWYgKHR5cGVvZih0YXNrKSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgIHRoZXNlQXJncyA9IHRoZXNlQXJncy5jb25jYXQoW3Rhc2suZGF0YV0pOwogICAgICAgICAgdGFzayA9IHRhc2suY29kZTsKICAgICAgICB9CiAgICAgICAgdmFyIHRhc2tGdW5jID0gdHJ5RXZhbCh0YXNrKTsKICAgICAgICBpZiAodHlwZW9mKHRhc2tGdW5jKSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUYXNrIG11c3QgYmUgYSBmdW5jdGlvbiEgU291cmNlOlxuIiArIHRhc2spOwogICAgICAgIH0KICAgICAgICB0YXNrRnVuYy5hcHBseSh0YXJnZXQsIHRoZXNlQXJncyk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgLy8gQXR0ZW1wdCBldmFsKCkgYm90aCB3aXRoIGFuZCB3aXRob3V0IGVuY2xvc2luZyBpbiBwYXJlbnRoZXNlcy4KICAvLyBOb3RlIHRoYXQgZW5jbG9zaW5nIGNvZXJjZXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpbnRvCiAgLy8gYW4gZXhwcmVzc2lvbiB0aGF0IGV2YWwoKSBjYW4gcGFyc2UKICAvLyAob3RoZXJ3aXNlLCBhIFN5bnRheEVycm9yIGlzIHRocm93bikKICBmdW5jdGlvbiB0cnlFdmFsKGNvZGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdHJ5IHsKICAgICAgcmVzdWx0ID0gZXZhbChjb2RlKTsKICAgIH0gY2F0Y2goZXJyb3IpIHsKICAgICAgaWYgKCFlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgdGhyb3cgZXJyb3I7CiAgICAgIH0KICAgICAgdHJ5IHsKICAgICAgICByZXN1bHQgPSBldmFsKCIoIiArIGNvZGUgKyAiKSIpOwogICAgICB9IGNhdGNoKGUpIHsKICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBpbml0U2l6aW5nKGVsKSB7CiAgICB2YXIgc2l6aW5nID0gc2l6aW5nUG9saWN5KGVsKTsKICAgIGlmICghc2l6aW5nKQogICAgICByZXR1cm47CgogICAgdmFyIGNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJodG1sd2lkZ2V0X2NvbnRhaW5lciIpOwogICAgaWYgKCFjZWwpCiAgICAgIHJldHVybjsKCiAgICBpZiAodHlwZW9mKHNpemluZy5wYWRkaW5nKSAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5tYXJnaW4gPSAiMCI7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZyA9IHBhZGRpbmdUb0Nzcyh1bnBhY2tQYWRkaW5nKHNpemluZy5wYWRkaW5nKSk7CiAgICB9CgogICAgaWYgKHNpemluZy5maWxsKSB7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9ICIxMDAlIjsKICAgICAgaWYgKGNlbCkgewogICAgICAgIGNlbC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgdmFyIHBhZCA9IHVucGFja1BhZGRpbmcoc2l6aW5nLnBhZGRpbmcpOwogICAgICAgIGNlbC5zdHlsZS50b3AgPSBwYWQudG9wICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUucmlnaHQgPSBwYWQucmlnaHQgKyAicHgiOwogICAgICAgIGNlbC5zdHlsZS5ib3R0b20gPSBwYWQuYm90dG9tICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUubGVmdCA9IHBhZC5sZWZ0ICsgInB4IjsKICAgICAgICBlbC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY2VsLm9mZnNldFdpZHRoOyB9LAogICAgICAgIGdldEhlaWdodDogZnVuY3Rpb24oKSB7IHJldHVybiBjZWwub2Zmc2V0SGVpZ2h0OyB9CiAgICAgIH07CgogICAgfSBlbHNlIHsKICAgICAgZWwuc3R5bGUud2lkdGggPSBweChzaXppbmcud2lkdGgpOwogICAgICBlbC5zdHlsZS5oZWlnaHQgPSBweChzaXppbmcuaGVpZ2h0KTsKCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkgeyByZXR1cm4gZWwub2Zmc2V0V2lkdGg7IH0sCiAgICAgICAgZ2V0SGVpZ2h0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGVsLm9mZnNldEhlaWdodDsgfQogICAgICB9OwogICAgfQogIH0KCiAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgZm9yIG1ldGhvZHMKICB2YXIgZGVmYXVsdHMgPSB7CiAgICBmaW5kOiBmdW5jdGlvbihzY29wZSkgewogICAgICByZXR1cm4gcXVlcnlTZWxlY3RvckFsbChzY29wZSwgIi4iICsgdGhpcy5uYW1lKTsKICAgIH0sCiAgICByZW5kZXJFcnJvcjogZnVuY3Rpb24oZWwsIGVycikgewogICAgICB2YXIgJGVsID0gJChlbCk7CgogICAgICB0aGlzLmNsZWFyRXJyb3IoZWwpOwoKICAgICAgLy8gQWRkIGFsbCB0aGVzZSBlcnJvciBjbGFzc2VzLCBhcyBTaGlueSBkb2VzCiAgICAgIHZhciBlcnJDbGFzcyA9ICJzaGlueS1vdXRwdXQtZXJyb3IiOwogICAgICBpZiAoZXJyLnR5cGUgIT09IG51bGwpIHsKICAgICAgICAvLyB1c2UgdGhlIGNsYXNzZXMgb2YgdGhlIGVycm9yIGNvbmRpdGlvbiBhcyBDU1MgY2xhc3MgbmFtZXMKICAgICAgICBlcnJDbGFzcyA9IGVyckNsYXNzICsgIiAiICsgJC5tYXAoYXNBcnJheShlcnIudHlwZSksIGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgICAgIHJldHVybiBlcnJDbGFzcyArICItIiArIHR5cGU7CiAgICAgICAgfSkuam9pbigiICIpOwogICAgICB9CiAgICAgIGVyckNsYXNzID0gZXJyQ2xhc3MgKyAiIGh0bWx3aWRnZXRzLWVycm9yIjsKCiAgICAgIC8vIElzIGVsIGlubGluZSBvciBibG9jaz8gSWYgaW5saW5lIG9yIGlubGluZS1ibG9jaywganVzdCBkaXNwbGF5Om5vbmUgaXQKICAgICAgLy8gYW5kIGFkZCBhbiBpbmxpbmUgZXJyb3IuCiAgICAgIHZhciBkaXNwbGF5ID0gJGVsLmNzcygiZGlzcGxheSIpOwogICAgICAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBkaXNwbGF5KTsKCiAgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikgewogICAgICAgICRlbC5oaWRlKCk7CiAgICAgICAgaWYgKGVyci5tZXNzYWdlICE9PSAiIikgewogICAgICAgICAgdmFyIGVycm9yU3BhbiA9ICQoIjxzcGFuPiIpLmFkZENsYXNzKGVyckNsYXNzKTsKICAgICAgICAgIGVycm9yU3Bhbi50ZXh0KGVyci5tZXNzYWdlKTsKICAgICAgICAgICRlbC5hZnRlcihlcnJvclNwYW4pOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChkaXNwbGF5ID09PSAiYmxvY2siKSB7CiAgICAgICAgLy8gSWYgYmxvY2ssIGFkZCBhbiBlcnJvciBqdXN0IGFmdGVyIHRoZSBlbCwgc2V0IHZpc2liaWxpdHk6bm9uZSBvbiB0aGUKICAgICAgICAvLyBlbCwgYW5kIHBvc2l0aW9uIHRoZSBlcnJvciB0byBiZSBvbiB0b3Agb2YgdGhlIGVsLgogICAgICAgIC8vIE1hcmsgaXQgd2l0aCBhIHVuaXF1ZSBJRCBhbmQgQ1NTIGNsYXNzIHNvIHdlIGNhbiByZW1vdmUgaXQgbGF0ZXIuCiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKTsKICAgICAgICBpZiAoZXJyLm1lc3NhZ2UgIT09ICIiKSB7CiAgICAgICAgICB2YXIgZXJyb3JEaXYgPSAkKCI8ZGl2PiIpLmFkZENsYXNzKGVyckNsYXNzKS5jc3MoInBvc2l0aW9uIiwgImFic29sdXRlIikKICAgICAgICAgICAgLmNzcygidG9wIiwgZWwub2Zmc2V0VG9wKQogICAgICAgICAgICAuY3NzKCJsZWZ0IiwgZWwub2Zmc2V0TGVmdCkKICAgICAgICAgICAgLy8gc2V0dGluZyB3aWR0aCBjYW4gcHVzaCBvdXQgdGhlIHBhZ2Ugc2l6ZSwgZm9yY2luZyBvdGhlcndpc2UKICAgICAgICAgICAgLy8gdW5uZWNlc3Nhcnkgc2Nyb2xsYmFycyB0byBhcHBlYXIgYW5kIG1ha2luZyBpdCBpbXBvc3NpYmxlIGZvcgogICAgICAgICAgICAvLyB0aGUgZWxlbWVudCB0byBzaHJpbms7IHNvIHVzZSBtYXgtd2lkdGggaW5zdGVhZAogICAgICAgICAgICAuY3NzKCJtYXhXaWR0aCIsIGVsLm9mZnNldFdpZHRoKQogICAgICAgICAgICAuY3NzKCJoZWlnaHQiLCBlbC5vZmZzZXRIZWlnaHQpOwogICAgICAgICAgZXJyb3JEaXYudGV4dChlcnIubWVzc2FnZSk7CiAgICAgICAgICAkZWwuYWZ0ZXIoZXJyb3JEaXYpOwoKICAgICAgICAgIC8vIFJlYWxseSBkdW1iIHdheSB0byBrZWVwIHRoZSBzaXplL3Bvc2l0aW9uIG9mIHRoZSBlcnJvciBpbiBzeW5jIHdpdGgKICAgICAgICAgIC8vIHRoZSBwYXJlbnQgZWxlbWVudCBhcyB0aGUgd2luZG93IGlzIHJlc2l6ZWQgb3Igd2hhdGV2ZXIuCiAgICAgICAgICB2YXIgaW50SWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCFlcnJvckRpdlswXS5wYXJlbnRFbGVtZW50KSB7CiAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRJZCk7CiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVycm9yRGl2CiAgICAgICAgICAgICAgLmNzcygidG9wIiwgZWwub2Zmc2V0VG9wKQogICAgICAgICAgICAgIC5jc3MoImxlZnQiLCBlbC5vZmZzZXRMZWZ0KQogICAgICAgICAgICAgIC5jc3MoIm1heFdpZHRoIiwgZWwub2Zmc2V0V2lkdGgpCiAgICAgICAgICAgICAgLmNzcygiaGVpZ2h0IiwgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgY2xlYXJFcnJvcjogZnVuY3Rpb24oZWwpIHsKICAgICAgdmFyICRlbCA9ICQoZWwpOwogICAgICB2YXIgZGlzcGxheSA9ICRlbC5kYXRhKCJyZXN0b3JlLWRpc3BsYXktbW9kZSIpOwogICAgICAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBudWxsKTsKCiAgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikgewogICAgICAgIGlmIChkaXNwbGF5KQogICAgICAgICAgJGVsLmNzcygiZGlzcGxheSIsIGRpc3BsYXkpOwogICAgICAgICQoZWwubmV4dFNpYmxpbmcpLmZpbHRlcigiLmh0bWx3aWRnZXRzLWVycm9yIikucmVtb3ZlKCk7CiAgICAgIH0gZWxzZSBpZiAoZGlzcGxheSA9PT0gImJsb2NrIil7CiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJpbmhlcml0Iik7CiAgICAgICAgJChlbC5uZXh0U2libGluZykuZmlsdGVyKCIuaHRtbHdpZGdldHMtZXJyb3IiKS5yZW1vdmUoKTsKICAgICAgfQogICAgfSwKICAgIHNpemluZzoge30KICB9OwoKICAvLyBDYWxsZWQgYnkgd2lkZ2V0IGJpbmRpbmdzIHRvIHJlZ2lzdGVyIGEgbmV3IHR5cGUgb2Ygd2lkZ2V0LiBUaGUgZGVmaW5pdGlvbgogIC8vIG9iamVjdCBjYW4gY29udGFpbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6CiAgLy8gLSBuYW1lIChyZXF1aXJlZCkgLSBBIHN0cmluZyBpbmRpY2F0aW5nIHRoZSBiaW5kaW5nIG5hbWUsIHdoaWNoIHdpbGwgYmUKICAvLyAgIHVzZWQgYnkgZGVmYXVsdCBhcyB0aGUgQ1NTIGNsYXNzbmFtZSB0byBsb29rIGZvci4KICAvLyAtIGluaXRpYWxpemUgKG9wdGlvbmFsKSAtIEEgZnVuY3Rpb24oZWwpIHRoYXQgd2lsbCBiZSBjYWxsZWQgb25jZSBwZXIKICAvLyAgIHdpZGdldCBlbGVtZW50OyBpZiBhIHZhbHVlIGlzIHJldHVybmVkLCBpdCB3aWxsIGJlIHBhc3NlZCBhcyB0aGUgdGhpcmQKICAvLyAgIHZhbHVlIHRvIHJlbmRlclZhbHVlLgogIC8vIC0gcmVuZGVyVmFsdWUgKHJlcXVpcmVkKSAtIEEgZnVuY3Rpb24oZWwsIGRhdGEsIGluaXRWYWx1ZSkgdGhhdCB3aWxsIGJlCiAgLy8gICBjYWxsZWQgd2l0aCBkYXRhLiBTdGF0aWMgY29udGV4dHMgd2lsbCBjYXVzZSB0aGlzIHRvIGJlIGNhbGxlZCBvbmNlIHBlcgogIC8vICAgZWxlbWVudDsgU2hpbnkgYXBwcyB3aWxsIGNhdXNlIHRoaXMgdG8gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHBlcgogIC8vICAgZWxlbWVudCwgYXMgdGhlIGRhdGEgY2hhbmdlcy4KICB3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0ID0gZnVuY3Rpb24oZGVmaW5pdGlvbikgewogICAgaWYgKCFkZWZpbml0aW9uLm5hbWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgfQogICAgaWYgKCFkZWZpbml0aW9uLnR5cGUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgdHlwZSIpOwogICAgfQogICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9ydCBvdXRwdXQgd2lkZ2V0cwogICAgaWYgKGRlZmluaXRpb24udHlwZSAhPT0gIm91dHB1dCIpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgd2lkZ2V0IHR5cGUgJyIgKyBkZWZpbml0aW9uLnR5cGUgKyAiJyIpOwogICAgfQogICAgLy8gVE9ETzogVmVyaWZ5IHRoYXQgLm5hbWUgaXMgYSB2YWxpZCBDU1MgY2xhc3NuYW1lCgogICAgLy8gU3VwcG9ydCBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbnMuIE9sZC1zdHlsZSBjbGFzcy1ib3VuZAogICAgLy8gZGVmaW5pdGlvbnMgaGF2ZSBvbmUgd2lkZ2V0ICJvYmplY3QiIHBlciB3aWRnZXQgcGVyIHR5cGUvY2xhc3Mgb2YKICAgIC8vIHdpZGdldDsgdGhlIHJlbmRlclZhbHVlIGFuZCByZXNpemUgbWV0aG9kcyBvbiBzdWNoIHdpZGdldCBvYmplY3RzCiAgICAvLyB0YWtlIGVsIGFuZCBpbnN0YW5jZSBhcmd1bWVudHMsIGJlY2F1c2UgdGhlIHdpZGdldCBvYmplY3QgY2FuJ3QKICAgIC8vIHN0b3JlIHRoZW0uIE5ldy1zdHlsZSBpbnN0YW5jZS1ib3VuZCBkZWZpbml0aW9ucyBoYXZlIG9uZSB3aWRnZXQKICAgIC8vIG9iamVjdCBwZXIgd2lkZ2V0IGluc3RhbmNlOyB0aGUgZGVmaW5pdGlvbiB0aGF0J3MgcGFzc2VkIGluIGRvZXNuJ3QKICAgIC8vIHByb3ZpZGUgcmVuZGVyVmFsdWUgb3IgcmVzaXplIG1ldGhvZHMgYXQgYWxsLCBqdXN0IHRoZSBzaW5nbGUgbWV0aG9kCiAgICAvLyAgIGZhY3RvcnkoZWwsIHdpZHRoLCBoZWlnaHQpCiAgICAvLyB3aGljaCByZXR1cm5zIGFuIG9iamVjdCB0aGF0IGhhcyByZW5kZXJWYWx1ZSh4KSBhbmQgcmVzaXplKHcsIGgpLgogICAgLy8gVGhpcyBlbmFibGVzIGEgZmFyIG1vcmUgbmF0dXJhbCBwcm9ncmFtbWluZyBzdHlsZSBmb3IgdGhlIHdpZGdldAogICAgLy8gYXV0aG9yLCB3aG8gY2FuIHN0b3JlIHBlci1pbnN0YW5jZSBzdGF0ZSB1c2luZyBlaXRoZXIgT08tc3R5bGUKICAgIC8vIGluc3RhbmNlIGZpZWxkcyBvciBmdW5jdGlvbmFsLXN0eWxlIGNsb3N1cmUgdmFyaWFibGVzIChJIGd1ZXNzIHRoaXMKICAgIC8vIGlzIGluIGNvbnRyYXN0IHRvIHdoYXQgY2FuIG9ubHkgYmUgY2FsbGVkIEMtc3R5bGUgcHNldWRvLU9PIHdoaWNoIGlzCiAgICAvLyB3aGF0IHdlIHJlcXVpcmVkIGJlZm9yZSkuCiAgICBpZiAoZGVmaW5pdGlvbi5mYWN0b3J5KSB7CiAgICAgIGRlZmluaXRpb24gPSBjcmVhdGVMZWdhY3lEZWZpbml0aW9uQWRhcHRlcihkZWZpbml0aW9uKTsKICAgIH0KCiAgICBpZiAoIWRlZmluaXRpb24ucmVuZGVyVmFsdWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgcmVuZGVyVmFsdWUgZnVuY3Rpb24iKTsKICAgIH0KCiAgICAvLyBGb3Igc3RhdGljIHJlbmRlcmluZyAobm9uLVNoaW55KSwgdXNlIGEgc2ltcGxlIHdpZGdldCByZWdpc3RyYXRpb24KICAgIC8vIHNjaGVtZS4gV2UgYWxzbyB1c2UgdGhpcyBzY2hlbWUgZm9yIFNoaW55IGFwcHMvZG9jdW1lbnRzIHRoYXQgYWxzbwogICAgLy8gY29udGFpbiBzdGF0aWMgd2lkZ2V0cy4KICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzID0gd2luZG93LkhUTUxXaWRnZXRzLndpZGdldHMgfHwgW107CiAgICAvLyBNZXJnZSBkZWZhdWx0cyBpbnRvIHRoZSBkZWZpbml0aW9uOyBkb24ndCBtdXRhdGUgdGhlIG9yaWdpbmFsIGRlZmluaXRpb24uCiAgICB2YXIgc3RhdGljQmluZGluZyA9IGV4dGVuZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwogICAgb3ZlcnJpZGVNZXRob2Qoc3RhdGljQmluZGluZywgImZpbmQiLCBmdW5jdGlvbihzdXBlcmZ1bmMpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKHNjb3BlKSB7CiAgICAgICAgdmFyIHJlc3VsdHMgPSBzdXBlcmZ1bmMoc2NvcGUpOwogICAgICAgIC8vIEZpbHRlciBvdXQgU2hpbnkgb3V0cHV0cywgd2Ugb25seSB3YW50IHRoZSBzdGF0aWMga2luZAogICAgICAgIHJldHVybiBmaWx0ZXJCeUNsYXNzKHJlc3VsdHMsICJodG1sLXdpZGdldC1vdXRwdXQiLCBmYWxzZSk7CiAgICAgIH07CiAgICB9KTsKICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzLnB1c2goc3RhdGljQmluZGluZyk7CgogICAgaWYgKHNoaW55TW9kZSkgewogICAgICAvLyBTaGlueSBpcyBydW5uaW5nLiBSZWdpc3RlciB0aGUgZGVmaW5pdGlvbiB3aXRoIGFuIG91dHB1dCBiaW5kaW5nLgogICAgICAvLyBUaGUgZGVmaW5pdGlvbiBpdHNlbGYgd2lsbCBub3QgYmUgdGhlIG91dHB1dCBiaW5kaW5nLCBpbnN0ZWFkCiAgICAgIC8vIHdlIHdpbGwgbWFrZSBhbiBvdXRwdXQgYmluZGluZyBvYmplY3QgdGhhdCBkZWxlZ2F0ZXMgdG8gdGhlCiAgICAgIC8vIGRlZmluaXRpb24uIFRoaXMgaXMgYmVjYXVzZSB3ZSBmb29saXNobHkgdXNlZCB0aGUgc2FtZSBtZXRob2QKICAgICAgLy8gbmFtZSAocmVuZGVyVmFsdWUpIGZvciBodG1sd2lkZ2V0cyBkZWZpbml0aW9uIGFuZCBTaGlueSBiaW5kaW5ncwogICAgICAvLyBidXQgdGhleSBhY3R1YWxseSBoYXZlIHF1aXRlIGRpZmZlcmVudCBzZW1hbnRpY3MgKHRoZSBTaGlueQogICAgICAvLyBiaW5kaW5ncyByZWNlaXZlIGRhdGEgdGhhdCBpbmNsdWRlcyBsb3RzIG9mIG1ldGFkYXRhIHRoYXQgaXQKICAgICAgLy8gc3RyaXBzIG9mZiBiZWZvcmUgY2FsbGluZyBodG1sd2lkZ2V0cyByZW5kZXJWYWx1ZSkuIFdlIGNhbid0CiAgICAgIC8vIGp1c3QgaWdub3JlIHRoZSBkaWZmZXJlbmNlIGJlY2F1c2UgaW4gc29tZSB3aWRnZXRzIGl0J3MgaGVscGZ1bAogICAgICAvLyB0byBjYWxsIHRoaXMucmVuZGVyVmFsdWUoKSBmcm9tIGluc2lkZSBvZiByZXNpemUoKSwgYW5kIGlmCiAgICAgIC8vIHdlJ3JlIG5vdCBkZWxlZ2F0aW5nLCB0aGVuIHRoYXQgY2FsbCB3aWxsIGdvIHRvIHRoZSBTaGlueQogICAgICAvLyB2ZXJzaW9uIGluc3RlYWQgb2YgdGhlIGh0bWx3aWRnZXRzIHZlcnNpb24uCgogICAgICAvLyBNZXJnZSBkZWZhdWx0cyB3aXRoIGRlZmluaXRpb24sIHdpdGhvdXQgbXV0YXRpbmcgZWl0aGVyLgogICAgICB2YXIgYmluZGluZ0RlZiA9IGV4dGVuZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwoKICAgICAgLy8gVGhpcyBvYmplY3Qgd2lsbCBiZSBvdXIgYWN0dWFsIFNoaW55IGJpbmRpbmcuCiAgICAgIHZhciBzaGlueUJpbmRpbmcgPSBuZXcgU2hpbnkuT3V0cHV0QmluZGluZygpOwoKICAgICAgLy8gV2l0aCBhIGZldyBleGNlcHRpb25zLCB3ZSdsbCB3YW50IHRvIHNpbXBseSB1c2UgdGhlIGJpbmRpbmdEZWYncwogICAgICAvLyB2ZXJzaW9uIG9mIG1ldGhvZHMgaWYgdGhleSBhcmUgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvCiAgICAgIC8vIFNoaW55J3MgZGVmYXVsdHMuIE5PVEU6IElmIFNoaW55J3Mgb3V0cHV0IGJpbmRpbmdzIGdhaW4gYWRkaXRpb25hbAogICAgICAvLyBtZXRob2RzIGluIHRoZSBmdXR1cmUsIGFuZCB3ZSB3YW50IHRoZW0gdG8gYmUgb3ZlcnJpZGVhYmxlIGJ5CiAgICAgIC8vIEhUTUxXaWRnZXQgYmluZGluZyBkZWZpbml0aW9ucywgdGhlbiB3ZSdsbCBuZWVkIHRvIGFkZCB0aGVtIHRvIHRoaXMKICAgICAgLy8gbGlzdC4KICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAiZ2V0SWQiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAib25WYWx1ZUNoYW5nZSIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYsICJvblZhbHVlRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAicmVuZGVyRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAiY2xlYXJFcnJvciIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYsICJzaG93UHJvZ3Jlc3MiKTsKCiAgICAgIC8vIFRoZSBmaW5kLCByZW5kZXJWYWx1ZSwgYW5kIHJlc2l6ZSBhcmUgaGFuZGxlZCBkaWZmZXJlbnRseSwgYmVjYXVzZSB3ZQogICAgICAvLyB3YW50IHRvIGFjdHVhbGx5IGRlY29yYXRlIHRoZSBiZWhhdmlvciBvZiB0aGUgYmluZGluZ0RlZiBtZXRob2RzLgoKICAgICAgc2hpbnlCaW5kaW5nLmZpbmQgPSBmdW5jdGlvbihzY29wZSkgewogICAgICAgIHZhciByZXN1bHRzID0gYmluZGluZ0RlZi5maW5kKHNjb3BlKTsKCiAgICAgICAgLy8gT25seSByZXR1cm4gZWxlbWVudHMgdGhhdCBhcmUgU2hpbnkgb3V0cHV0cywgbm90IHN0YXRpYyBvbmVzCiAgICAgICAgdmFyIGR5bmFtaWNSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoIi5odG1sLXdpZGdldC1vdXRwdXQiKTsKCiAgICAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHdoYXRldmVyIGNhdXNlZCBTaGlueSB0byB0aGluayB0aGVyZSBtaWdodCBiZQogICAgICAgIC8vIG5ldyBkeW5hbWljIG91dHB1dHMsIGFsc28gY2F1c2VkIHRoZXJlIHRvIGJlIG5ldyBzdGF0aWMgb3V0cHV0cy4KICAgICAgICAvLyBTaW5jZSB0aGVyZSBtaWdodCBiZSBsb3RzIG9mIGRpZmZlcmVudCBodG1sd2lkZ2V0cyBiaW5kaW5ncywgd2UKICAgICAgICAvLyBzY2hlZHVsZSBleGVjdXRpb24gZm9yIGxhdGVyLS1ubyBuZWVkIHRvIHN0YXRpY1JlbmRlciBtdWx0aXBsZQogICAgICAgIC8vIHRpbWVzLgogICAgICAgIGlmIChyZXN1bHRzLmxlbmd0aCAhPT0gZHluYW1pY1Jlc3VsdHMubGVuZ3RoKQogICAgICAgICAgc2NoZWR1bGVTdGF0aWNSZW5kZXIoKTsKCiAgICAgICAgcmV0dXJuIGR5bmFtaWNSZXN1bHRzOwogICAgICB9OwoKICAgICAgLy8gV3JhcCByZW5kZXJWYWx1ZSB0byBoYW5kbGUgaW5pdGlhbGl6YXRpb24sIHdoaWNoIHVuZm9ydHVuYXRlbHkgaXNuJ3QKICAgICAgLy8gc3VwcG9ydGVkIG5hdGl2ZWx5IGJ5IFNoaW55IGF0IHRoZSB0aW1lIG9mIHRoaXMgd3JpdGluZy4KCiAgICAgIHNoaW55QmluZGluZy5yZW5kZXJWYWx1ZSA9IGZ1bmN0aW9uKGVsLCBkYXRhKSB7CiAgICAgICAgU2hpbnkucmVuZGVyRGVwZW5kZW5jaWVzKGRhdGEuZGVwcyk7CiAgICAgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKICAgICAgICBpZiAoIShkYXRhLmV2YWxzIGluc3RhbmNlb2YgQXJyYXkpKSBkYXRhLmV2YWxzID0gW2RhdGEuZXZhbHNdOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBkYXRhLmV2YWxzICYmIGkgPCBkYXRhLmV2YWxzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2ldKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFiaW5kaW5nRGVmLnJlbmRlck9uTnVsbFZhbHVlKSB7CiAgICAgICAgICBpZiAoZGF0YS54ID09PSBudWxsKSB7CiAgICAgICAgICAgIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICJpbmhlcml0IjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIikpIHsKICAgICAgICAgIGluaXRTaXppbmcoZWwpOwoKICAgICAgICAgIGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiLCB0cnVlKTsKICAgICAgICAgIGlmIChiaW5kaW5nRGVmLmluaXRpYWxpemUpIHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGJpbmRpbmdEZWYuaW5pdGlhbGl6ZShlbCwgZWwub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgICAgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgICAgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIsIHJlc3VsdCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJpbmRpbmdEZWYucmVuZGVyVmFsdWUoZWwsIGRhdGEueCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICBldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKSwgW2VsLCBkYXRhLnhdKTsKICAgICAgfTsKCiAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgcmVzaXplIGlmIGJpbmRpbmdEZWYgaW1wbGVtZW50cyBpdAogICAgICBpZiAoYmluZGluZ0RlZi5yZXNpemUpIHsKICAgICAgICBzaGlueUJpbmRpbmcucmVzaXplID0gZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICAgIC8vIFNoaW55IGNhbiBjYWxsIHJlc2l6ZSBiZWZvcmUgaW5pdGlhbGl6ZS9yZW5kZXJWYWx1ZSBoYXZlIGJlZW4KICAgICAgICAgIC8vIGNhbGxlZCwgd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlIGZvciB3aWRnZXRzLgogICAgICAgICAgaWYgKGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiKSkgewogICAgICAgICAgICBiaW5kaW5nRGVmLnJlc2l6ZShlbCwgd2lkdGgsIGhlaWdodCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICB9CgogICAgICBTaGlueS5vdXRwdXRCaW5kaW5ncy5yZWdpc3RlcihzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYubmFtZSk7CiAgICB9CiAgfTsKCiAgdmFyIHNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgZnVuY3Rpb24gc2NoZWR1bGVTdGF0aWNSZW5kZXIoKSB7CiAgICBpZiAoIXNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCkgewogICAgICBzY2hlZHVsZVN0YXRpY1JlbmRlclRpbWVySWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlcigpOwogICAgICB9LCAxKTsKICAgIH0KICB9CgogIC8vIFJlbmRlciBzdGF0aWMgd2lkZ2V0cyBhZnRlciB0aGUgZG9jdW1lbnQgZmluaXNoZXMgbG9hZGluZwogIC8vIFN0YXRpY2FsbHkgcmVuZGVyIGFsbCBlbGVtZW50cyB0aGF0IGFyZSBvZiB0aGlzIHdpZGdldCdzIGNsYXNzCiAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGJpbmRpbmdzID0gd2luZG93LkhUTUxXaWRnZXRzLndpZGdldHMgfHwgW107CiAgICBmb3JFYWNoKGJpbmRpbmdzLCBmdW5jdGlvbihiaW5kaW5nKSB7CiAgICAgIHZhciBtYXRjaGVzID0gYmluZGluZy5maW5kKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7CiAgICAgIGZvckVhY2gobWF0Y2hlcywgZnVuY3Rpb24oZWwpIHsKICAgICAgICB2YXIgc2l6ZU9iaiA9IGluaXRTaXppbmcoZWwsIGJpbmRpbmcpOwoKICAgICAgICBpZiAoaGFzQ2xhc3MoZWwsICJodG1sLXdpZGdldC1zdGF0aWMtYm91bmQiKSkKICAgICAgICAgIHJldHVybjsKICAgICAgICBlbC5jbGFzc05hbWUgPSBlbC5jbGFzc05hbWUgKyAiIGh0bWwtd2lkZ2V0LXN0YXRpYy1ib3VuZCI7CgogICAgICAgIHZhciBpbml0UmVzdWx0OwogICAgICAgIGlmIChiaW5kaW5nLmluaXRpYWxpemUpIHsKICAgICAgICAgIGluaXRSZXN1bHQgPSBiaW5kaW5nLmluaXRpYWxpemUoZWwsCiAgICAgICAgICAgIHNpemVPYmogPyBzaXplT2JqLmdldFdpZHRoKCkgOiBlbC5vZmZzZXRXaWR0aCwKICAgICAgICAgICAgc2l6ZU9iaiA/IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICk7CiAgICAgICAgICBlbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiwgaW5pdFJlc3VsdCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoYmluZGluZy5yZXNpemUpIHsKICAgICAgICAgIHZhciBsYXN0U2l6ZSA9IHsKICAgICAgICAgICAgdzogc2l6ZU9iaiA/IHNpemVPYmouZ2V0V2lkdGgoKSA6IGVsLm9mZnNldFdpZHRoLAogICAgICAgICAgICBoOiBzaXplT2JqID8gc2l6ZU9iai5nZXRIZWlnaHQoKSA6IGVsLm9mZnNldEhlaWdodAogICAgICAgICAgfTsKICAgICAgICAgIHZhciByZXNpemVIYW5kbGVyID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgc2l6ZSA9IHsKICAgICAgICAgICAgICB3OiBzaXplT2JqID8gc2l6ZU9iai5nZXRXaWR0aCgpIDogZWwub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgICAgaDogc2l6ZU9iaiA/IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKHNpemUudyA9PT0gMCAmJiBzaXplLmggPT09IDApCiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICBpZiAoc2l6ZS53ID09PSBsYXN0U2l6ZS53ICYmIHNpemUuaCA9PT0gbGFzdFNpemUuaCkKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIGxhc3RTaXplID0gc2l6ZTsKICAgICAgICAgICAgYmluZGluZy5yZXNpemUoZWwsIHNpemUudywgc2l6ZS5oLCBpbml0UmVzdWx0KTsKICAgICAgICAgIH07CgogICAgICAgICAgb24od2luZG93LCAicmVzaXplIiwgcmVzaXplSGFuZGxlcik7CgogICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGNhc2VzIHdoZXJlIHdlJ3JlIHJ1bm5pbmcgaW4gYSBTaGlueQogICAgICAgICAgLy8gYXBwLCBidXQgdGhlIHdpZGdldCBpdHNlbGYgaXMgbm90IGEgU2hpbnkgb3V0cHV0LCBidXQKICAgICAgICAgIC8vIHJhdGhlciBhIHNpbXBsZSBzdGF0aWMgd2lkZ2V0LiBPbmUgZXhhbXBsZSBvZiB0aGlzIGlzCiAgICAgICAgICAvLyBhbiBybWFya2Rvd24gZG9jdW1lbnQgdGhhdCBoYXMgcnVudGltZTpzaGlueSBhbmQgd2lkZ2V0CiAgICAgICAgICAvLyB0aGF0IGlzbid0IGluIGEgcmVuZGVyIGZ1bmN0aW9uLiBTaGlueSBvbmx5IGtub3dzIHRvCiAgICAgICAgICAvLyBjYWxsIHJlc2l6ZSBoYW5kbGVycyBmb3IgU2hpbnkgb3V0cHV0cywgbm90IGZvciBzdGF0aWMKICAgICAgICAgIC8vIHdpZGdldHMsIHNvIHdlIGRvIGl0IG91cnNlbHZlcy4KICAgICAgICAgIGlmICh3aW5kb3cualF1ZXJ5KSB7CiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnkoZG9jdW1lbnQpLm9uKAogICAgICAgICAgICAgICJzaG93bi5odG1sd2lkZ2V0cyBzaG93bi5icy50YWIuaHRtbHdpZGdldHMgc2hvd24uYnMuY29sbGFwc2UuaHRtbHdpZGdldHMiLAogICAgICAgICAgICAgIHJlc2l6ZUhhbmRsZXIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgd2luZG93LmpRdWVyeShkb2N1bWVudCkub24oCiAgICAgICAgICAgICAgImhpZGRlbi5odG1sd2lkZ2V0cyBoaWRkZW4uYnMudGFiLmh0bWx3aWRnZXRzIGhpZGRlbi5icy5jb2xsYXBzZS5odG1sd2lkZ2V0cyIsCiAgICAgICAgICAgICAgcmVzaXplSGFuZGxlcgogICAgICAgICAgICApOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSBvZiBpb3NsaWRlcywgd2hpY2gKICAgICAgICAgIC8vIGZsaXBzIHNsaWRlcyBiZXR3ZWVuIGRpc3BsYXk6bm9uZSBhbmQgZGlzcGxheTpibG9jay4KICAgICAgICAgIC8vIElkZWFsbHkgd2Ugd291bGQgbm90IGhhdmUgdG8gaGF2ZSBpb3NsaWRlLXNwZWNpZmljIGNvZGUKICAgICAgICAgIC8vIGhlcmUsIGJ1dCByYXRoZXIgaGF2ZSBpb3NsaWRlcyByYWlzZSBhIGdlbmVyaWMgZXZlbnQsCiAgICAgICAgICAvLyBidXQgdGhlIHJtYXJrZG93biBwYWNrYWdlIGp1c3Qgd2VudCB0byBDUkFOIHNvIHRoZQogICAgICAgICAgLy8gd2luZG93IHRvIGdldHRpbmcgdGhhdCBmaXhlZCBtYXkgYmUgbG9uZy4KICAgICAgICAgIGlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewogICAgICAgICAgICAvLyBJdCdzIE9LIHRvIGxpbWl0IHRoaXMgdG8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIKICAgICAgICAgICAgLy8gYnJvd3NlcnMgYmVjYXVzZSBpb3NsaWRlcyBpdHNlbGYgb25seSBzdXBwb3J0cwogICAgICAgICAgICAvLyBzdWNoIGJyb3dzZXJzLgogICAgICAgICAgICBvbihkb2N1bWVudCwgInNsaWRlZW50ZXIiLCByZXNpemVIYW5kbGVyKTsKICAgICAgICAgICAgb24oZG9jdW1lbnQsICJzbGlkZWxlYXZlIiwgcmVzaXplSGFuZGxlcik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgc2NyaXB0RGF0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNjcmlwdFtkYXRhLWZvcj0nIiArIGVsLmlkICsgIiddW3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXSIpOwogICAgICAgIGlmIChzY3JpcHREYXRhKSB7CiAgICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2Uoc2NyaXB0RGF0YS50ZXh0Q29udGVudCB8fCBzY3JpcHREYXRhLnRleHQpOwogICAgICAgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKICAgICAgICAgIGlmICghKGRhdGEuZXZhbHMgaW5zdGFuY2VvZiBBcnJheSkpIGRhdGEuZXZhbHMgPSBbZGF0YS5ldmFsc107CiAgICAgICAgICBmb3IgKHZhciBrID0gMDsgZGF0YS5ldmFscyAmJiBrIDwgZGF0YS5ldmFscy5sZW5ndGg7IGsrKykgewogICAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2tdKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpbmRpbmcucmVuZGVyVmFsdWUoZWwsIGRhdGEueCwgaW5pdFJlc3VsdCk7CiAgICAgICAgICBldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGluaXRSZXN1bHQsIFtlbCwgZGF0YS54XSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0pOwoKICAgIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpOwogIH0KCgogIGZ1bmN0aW9uIGhhc19qUXVlcnkzKCkgewogICAgaWYgKCF3aW5kb3cualF1ZXJ5KSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHZhciAkdmVyc2lvbiA9IHdpbmRvdy5qUXVlcnkuZm4uanF1ZXJ5OwogICAgdmFyICRtYWpvcl92ZXJzaW9uID0gcGFyc2VJbnQoJHZlcnNpb24uc3BsaXQoIi4iKVswXSk7CiAgICByZXR1cm4gJG1ham9yX3ZlcnNpb24gPj0gMzsKICB9CgogIC8qCiAgLyBTaGlueSAxLjQgYnVtcGVkIGpRdWVyeSBmcm9tIDEueCB0byAzLnggd2hpY2ggbWVhbnMgalF1ZXJ5J3MKICAvIG9uLXJlYWR5IGhhbmRsZXIgKGkuZS4sICQoZm4pKSBpcyBub3cgYXN5bmNyb25vdXMgKGkuZS4sIGl0IG5vdwogIC8gcmVhbGx5IG1lYW5zICQoc2V0VGltZW91dChmbikpLgogIC8gaHR0cHM6Ly9qcXVlcnkuY29tL3VwZ3JhZGUtZ3VpZGUvMy4wLyNicmVha2luZy1jaGFuZ2UtZG9jdW1lbnQtcmVhZHktaGFuZGxlcnMtYXJlLW5vdy1hc3luY2hyb25vdXMKICAvCiAgLyBTaW5jZSBTaGlueSB1c2VzICQoKSB0byBzY2hlZHVsZSBpbml0U2hpbnksIHNoaW55Pj0xLjQgY2FsbHMgaW5pdFNoaW55CiAgLyBvbmUgdGljayBsYXRlciB0aGFuIGl0IGRpZCBiZWZvcmUsIHdoaWNoIG1lYW5zIHN0YXRpY1JlbmRlcigpIGlzCiAgLyBjYWxsZWQgcmVuZGVyVmFsdWUoKSBlYXJsaWVyIHRoYW4gKGFkdmFuY2VkKSB3aWRnZXQgYXV0aG9ycyBtaWdodCBiZSBleHBlY3RpbmcuCiAgLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9zaGlueS9pc3N1ZXMvMjYzMAogIC8KICAvIEZvciBhIGNvbmNyZXRlIGV4YW1wbGUsIGxlYWZsZXQgaGFzIHNvbWUgbWV0aG9kcyAoZS5nLiwgdXBkYXRlQm91bmRzKQogIC8gd2hpY2ggcmVmZXJlbmNlIFNoaW55IG1ldGhvZHMgcmVnaXN0ZXJlZCBpbiBpbml0U2hpbnkgKGUuZy4sIHNldElucHV0VmFsdWUpLgogIC8gU2luY2UgbGVhZmxldCBpcyBwcml2eSB0byB0aGlzIGxpZmUtY3ljbGUsIGl0IGtub3dzIHRvIHVzZSBzZXRUaW1lb3V0KCkgdG8KICAvIGRlbGF5IGV4ZWN1dGlvbiBvZiB0aG9zZSBtZXRob2RzICh1bnRpbCBTaGlueSBtZXRob2RzIGFyZSByZWFkeSkKICAvIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL2xlYWZsZXQvYmxvYi8xOGVjOTgxL2phdmFzY3JpcHQvc3JjL2luZGV4LmpzI0wyNjYtTDI2OAogIC8KICAvIElkZWFsbHkgd2lkZ2V0IGF1dGhvcnMgd291bGRuJ3QgbmVlZCB0byB1c2UgdGhpcyBzZXRUaW1lb3V0KCkgaGFjayB0aGF0CiAgLyBsZWFmbGV0IHVzZXMgdG8gY2FsbCBTaGlueSBtZXRob2RzIG9uIGEgc3RhdGljUmVuZGVyKCkuIEluIHRoZSBsb25nIHJ1biwKICAvIHRoZSBsb2dpYyBpbml0U2hpbnkgc2hvdWxkIGJlIGJyb2tlbiB1cCBzbyB0aGF0IG1ldGhvZCByZWdpc3RyYXRpb24gaGFwcGVucwogIC8gcmlnaHQgYXdheSwgYnV0IGJpbmRpbmcgaGFwcGVucyBsYXRlci4KICAqLwogIGZ1bmN0aW9uIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKSB7CiAgICBpZiAoc2hpbnlNb2RlICYmIGhhc19qUXVlcnkzKCkpIHsKICAgICAgd2luZG93LmpRdWVyeSh3aW5kb3cuSFRNTFdpZGdldHMuc3RhdGljUmVuZGVyKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy5zdGF0aWNSZW5kZXIoKTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7CiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBhcmd1bWVudHMuY2FsbGVlLCBmYWxzZSk7CiAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgIH0sIGZhbHNlKTsKICB9IGVsc2UgaWYgKGRvY3VtZW50LmF0dGFjaEV2ZW50KSB7CiAgICBkb2N1bWVudC5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAiY29tcGxldGUiKSB7CiAgICAgICAgZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsIGFyZ3VtZW50cy5jYWxsZWUpOwogICAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgICAgfQogICAgfSk7CiAgfQoKCiAgd2luZG93LkhUTUxXaWRnZXRzLmdldEF0dGFjaG1lbnRVcmwgPSBmdW5jdGlvbihkZXBuYW1lLCBrZXkpIHsKICAgIC8vIElmIG5vIGtleSwgZGVmYXVsdCB0byB0aGUgZmlyc3QgaXRlbQogICAgaWYgKHR5cGVvZihrZXkpID09PSAidW5kZWZpbmVkIikKICAgICAga2V5ID0gMTsKCiAgICB2YXIgbGluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRlcG5hbWUgKyAiLSIgKyBrZXkgKyAiLWF0dGFjaG1lbnQiKTsKICAgIGlmICghbGluaykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0dGFjaG1lbnQgIiArIGRlcG5hbWUgKyAiLyIgKyBrZXkgKyAiIG5vdCBmb3VuZCBpbiBkb2N1bWVudCIpOwogICAgfQogICAgcmV0dXJuIGxpbmsuZ2V0QXR0cmlidXRlKCJocmVmIik7CiAgfTsKCiAgd2luZG93LkhUTUxXaWRnZXRzLmRhdGFmcmFtZVRvRDMgPSBmdW5jdGlvbihkZikgewogICAgdmFyIG5hbWVzID0gW107CiAgICB2YXIgbGVuZ3RoOwogICAgZm9yICh2YXIgbmFtZSBpbiBkZikgewogICAgICAgIGlmIChkZi5oYXNPd25Qcm9wZXJ0eShuYW1lKSkKICAgICAgICAgICAgbmFtZXMucHVzaChuYW1lKTsKICAgICAgICBpZiAodHlwZW9mKGRmW25hbWVdKSAhPT0gIm9iamVjdCIgfHwgdHlwZW9mKGRmW25hbWVdLmxlbmd0aCkgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycmF5cyIpOwogICAgICAgIH0gZWxzZSBpZiAodHlwZW9mKGxlbmd0aCkgIT09ICJ1bmRlZmluZWQiICYmIGxlbmd0aCAhPT0gZGZbbmFtZV0ubGVuZ3RoKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycmF5cyBvZiB0aGUgc2FtZSBsZW5ndGgiKTsKICAgICAgICB9CiAgICAgICAgbGVuZ3RoID0gZGZbbmFtZV0ubGVuZ3RoOwogICAgfQogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHZhciBpdGVtOwogICAgZm9yICh2YXIgcm93ID0gMDsgcm93IDwgbGVuZ3RoOyByb3crKykgewogICAgICAgIGl0ZW0gPSB7fTsKICAgICAgICBmb3IgKHZhciBjb2wgPSAwOyBjb2wgPCBuYW1lcy5sZW5ndGg7IGNvbCsrKSB7CiAgICAgICAgICAgIGl0ZW1bbmFtZXNbY29sXV0gPSBkZltuYW1lc1tjb2xdXVtyb3ddOwogICAgICAgIH0KICAgICAgICByZXN1bHRzLnB1c2goaXRlbSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9OwoKICB3aW5kb3cuSFRNTFdpZGdldHMudHJhbnNwb3NlQXJyYXkyRCA9IGZ1bmN0aW9uKGFycmF5KSB7CiAgICAgIGlmIChhcnJheS5sZW5ndGggPT09IDApIHJldHVybiBhcnJheTsKICAgICAgdmFyIG5ld0FycmF5ID0gYXJyYXlbMF0ubWFwKGZ1bmN0aW9uKGNvbCwgaSkgewogICAgICAgICAgcmV0dXJuIGFycmF5Lm1hcChmdW5jdGlvbihyb3cpIHsKICAgICAgICAgICAgICByZXR1cm4gcm93W2ldCiAgICAgICAgICB9KQogICAgICB9KTsKICAgICAgcmV0dXJuIG5ld0FycmF5OwogIH07CiAgLy8gU3BsaXQgdmFsdWUgYXQgc3BsaXRDaGFyLCBidXQgYWxsb3cgc3BsaXRDaGFyIHRvIGJlIGVzY2FwZWQKICAvLyB1c2luZyBlc2NhcGVDaGFyLiBBbnkgb3RoZXIgY2hhcmFjdGVycyBlc2NhcGVkIGJ5IGVzY2FwZUNoYXIKICAvLyB3aWxsIGJlIGluY2x1ZGVkIGFzIHVzdWFsIChpbmNsdWRpbmcgZXNjYXBlQ2hhciBpdHNlbGYpLgogIGZ1bmN0aW9uIHNwbGl0V2l0aEVzY2FwZSh2YWx1ZSwgc3BsaXRDaGFyLCBlc2NhcGVDaGFyKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgdmFyIGVzY2FwZU1vZGUgPSBmYWxzZTsKICAgIHZhciBjdXJyZW50UmVzdWx0ID0gIiI7CiAgICBmb3IgKHZhciBwb3MgPSAwOyBwb3MgPCB2YWx1ZS5sZW5ndGg7IHBvcysrKSB7CiAgICAgIGlmICghZXNjYXBlTW9kZSkgewogICAgICAgIGlmICh2YWx1ZVtwb3NdID09PSBzcGxpdENoYXIpIHsKICAgICAgICAgIHJlc3VsdHMucHVzaChjdXJyZW50UmVzdWx0KTsKICAgICAgICAgIGN1cnJlbnRSZXN1bHQgPSAiIjsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlW3Bvc10gPT09IGVzY2FwZUNoYXIpIHsKICAgICAgICAgIGVzY2FwZU1vZGUgPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjdXJyZW50UmVzdWx0ICs9IHZhbHVlW3Bvc107CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGN1cnJlbnRSZXN1bHQgKz0gdmFsdWVbcG9zXTsKICAgICAgICBlc2NhcGVNb2RlID0gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIGlmIChjdXJyZW50UmVzdWx0ICE9PSAiIikgewogICAgICByZXN1bHRzLnB1c2goY3VycmVudFJlc3VsdCk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9CiAgLy8gRnVuY3Rpb24gYXV0aG9yZWQgYnkgWWlodWkvSkogQWxsYWlyZQogIHdpbmRvdy5IVE1MV2lkZ2V0cy5ldmFsdWF0ZVN0cmluZ01lbWJlciA9IGZ1bmN0aW9uKG8sIG1lbWJlcikgewogICAgdmFyIHBhcnRzID0gc3BsaXRXaXRoRXNjYXBlKG1lbWJlciwgJy4nLCAnXFwnKTsKICAgIGZvciAodmFyIGkgPSAwLCBsID0gcGFydHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CiAgICAgIHZhciBwYXJ0ID0gcGFydHNbaV07CiAgICAgIC8vIHBhcnQgbWF5IGJlIGEgY2hhcmFjdGVyIG9yICdudW1lcmljJyBtZW1iZXIgbmFtZQogICAgICBpZiAobyAhPT0gbnVsbCAmJiB0eXBlb2YgbyA9PT0gIm9iamVjdCIgJiYgcGFydCBpbiBvKSB7CiAgICAgICAgaWYgKGkgPT0gKGwgLSAxKSkgeyAvLyBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSB0aGVuIGV2YWx1bGF0ZQogICAgICAgICAgaWYgKHR5cGVvZiBvW3BhcnRdID09PSAic3RyaW5nIikKICAgICAgICAgICAgb1twYXJ0XSA9IHRyeUV2YWwob1twYXJ0XSk7CiAgICAgICAgfSBlbHNlIHsgLy8gb3RoZXJ3aXNlIGNvbnRpbnVlIHRvIG5leHQgZW1iZWRkZWQgb2JqZWN0CiAgICAgICAgICBvID0gb1twYXJ0XTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9OwoKICAvLyBSZXRyaWV2ZSB0aGUgSFRNTFdpZGdldCBpbnN0YW5jZSAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlIG9mIGFuCiAgLy8gSFRNTFdpZGdldCBiaW5kaW5nJ3MgaW5pdGlhbGl6ZSgpIG9yIGZhY3RvcnkoKSBmdW5jdGlvbikKICAvLyBhc3NvY2lhdGVkIHdpdGggYW4gZWxlbWVudCwgb3IgbnVsbCBpZiBub25lLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uKGVsKSB7CiAgICByZXR1cm4gZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpOwogIH07CgogIC8vIEZpbmRzIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBzY29wZSB0aGF0IG1hdGNoZXMgdGhlIHNlbGVjdG9yLAogIC8vIGFuZCByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlIChpLmUuIHRoZSByZXR1cm4gdmFsdWUgb2YKICAvLyBhbiBIVE1MV2lkZ2V0IGJpbmRpbmcncyBpbml0aWFsaXplKCkgb3IgZmFjdG9yeSgpIGZ1bmN0aW9uKQogIC8vIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGVsZW1lbnQsIGlmIGFueS4gSWYgbm8gZWxlbWVudCBtYXRjaGVzIHRoZQogIC8vIHNlbGVjdG9yLCBvciB0aGUgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCBoYXMgbm8gSFRNTFdpZGdldAogIC8vIGluc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBpdCwgdGhlbiBudWxsIGlzIHJldHVybmVkLgogIC8vCiAgLy8gVGhlIHNjb3BlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCBhbmQgZGVmYXVsdHMgdG8gd2luZG93LmRvY3VtZW50LgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5maW5kID0gZnVuY3Rpb24oc2NvcGUsIHNlbGVjdG9yKSB7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgIHNlbGVjdG9yID0gc2NvcGU7CiAgICAgIHNjb3BlID0gZG9jdW1lbnQ7CiAgICB9CgogICAgdmFyIGVsID0gc2NvcGUucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7CiAgICBpZiAoZWwgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd2luZG93LkhUTUxXaWRnZXRzLmdldEluc3RhbmNlKGVsKTsKICAgIH0KICB9OwoKICAvLyBGaW5kcyBhbGwgZWxlbWVudHMgaW4gdGhlIHNjb3BlIHRoYXQgbWF0Y2ggdGhlIHNlbGVjdG9yLCBhbmQKICAvLyByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlcyAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlcyBvZgogIC8vIGFuIEhUTUxXaWRnZXQgYmluZGluZydzIGluaXRpYWxpemUoKSBvciBmYWN0b3J5KCkgZnVuY3Rpb24pCiAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoZSBlbGVtZW50cywgaW4gYW4gYXJyYXkuIElmIGVsZW1lbnRzIHRoYXQKICAvLyBtYXRjaCB0aGUgc2VsZWN0b3IgZG9uJ3QgaGF2ZSBhbiBhc3NvY2lhdGVkIEhUTUxXaWRnZXQKICAvLyBpbnN0YW5jZSwgdGhlIHJldHVybmVkIGFycmF5IHdpbGwgY29udGFpbiBudWxscy4KICAvLwogIC8vIFRoZSBzY29wZSBhcmd1bWVudCBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIHdpbmRvdy5kb2N1bWVudC4KICB3aW5kb3cuSFRNTFdpZGdldHMuZmluZEFsbCA9IGZ1bmN0aW9uKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkgewogICAgICBzZWxlY3RvciA9IHNjb3BlOwogICAgICBzY29wZSA9IGRvY3VtZW50OwogICAgfQoKICAgIHZhciBub2RlcyA9IHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOwogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgcmVzdWx0cy5wdXNoKHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZShub2Rlc1tpXSkpOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfTsKCiAgdmFyIHBvc3RSZW5kZXJIYW5kbGVycyA9IFtdOwogIGZ1bmN0aW9uIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpIHsKICAgIHdoaWxlIChwb3N0UmVuZGVySGFuZGxlcnMubGVuZ3RoKSB7CiAgICAgIHZhciBoYW5kbGVyID0gcG9zdFJlbmRlckhhbmRsZXJzLnNoaWZ0KCk7CiAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgaGFuZGxlcigpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZWdpc3RlciB0aGUgZ2l2ZW4gY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUKICAvLyBuZXh0IHRpbWUgc3RhdGljIHdpZGdldHMgYXJlIHJlbmRlcmVkLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5hZGRQb3N0UmVuZGVySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICBwb3N0UmVuZGVySGFuZGxlcnMucHVzaChjYWxsYmFjayk7CiAgfTsKCiAgLy8gVGFrZXMgYSBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbiwgYW5kIHJldHVybnMgYW4KICAvLyBvbGQtc3R5bGUgY2xhc3MtYm91bmQgZGVmaW5pdGlvbi4gVGhpcyBzYXZlcyB1cyBmcm9tIGhhdmluZwogIC8vIHRvIHJld3JpdGUgYWxsIHRoZSBsb2dpYyBpbiB0aGlzIGZpbGUgdG8gYWNjb21vZGF0ZSBib3RoCiAgLy8gdHlwZXMgb2YgZGVmaW5pdGlvbnMuCiAgZnVuY3Rpb24gY3JlYXRlTGVnYWN5RGVmaW5pdGlvbkFkYXB0ZXIoZGVmbikgewogICAgdmFyIHJlc3VsdCA9IHsKICAgICAgbmFtZTogZGVmbi5uYW1lLAogICAgICB0eXBlOiBkZWZuLnR5cGUsCiAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgcmV0dXJuIGRlZm4uZmFjdG9yeShlbCwgd2lkdGgsIGhlaWdodCk7CiAgICAgIH0sCiAgICAgIHJlbmRlclZhbHVlOiBmdW5jdGlvbihlbCwgeCwgaW5zdGFuY2UpIHsKICAgICAgICByZXR1cm4gaW5zdGFuY2UucmVuZGVyVmFsdWUoeCk7CiAgICAgIH0sCiAgICAgIHJlc2l6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQsIGluc3RhbmNlKSB7CiAgICAgICAgcmV0dXJuIGluc3RhbmNlLnJlc2l6ZSh3aWR0aCwgaGVpZ2h0KTsKICAgICAgfQogICAgfTsKCiAgICBpZiAoZGVmbi5maW5kKQogICAgICByZXN1bHQuZmluZCA9IGRlZm4uZmluZDsKICAgIGlmIChkZWZuLnJlbmRlckVycm9yKQogICAgICByZXN1bHQucmVuZGVyRXJyb3IgPSBkZWZuLnJlbmRlckVycm9yOwogICAgaWYgKGRlZm4uY2xlYXJFcnJvcikKICAgICAgcmVzdWx0LmNsZWFyRXJyb3IgPSBkZWZuLmNsZWFyRXJyb3I7CgogICAgcmV0dXJuIHJlc3VsdDsKICB9Cn0pKCk7Cgo="></script>
-<script src="data:application/x-javascript;base64,CkhUTUxXaWRnZXRzLndpZGdldCh7CiAgbmFtZTogInBsb3RseSIsCiAgdHlwZTogIm91dHB1dCIsCgogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICByZXR1cm4ge307CiAgfSwKCiAgcmVzaXplOiBmdW5jdGlvbihlbCwgd2lkdGgsIGhlaWdodCwgaW5zdGFuY2UpIHsKICAgIGlmIChpbnN0YW5jZS5hdXRvc2l6ZSkgewogICAgICB2YXIgd2lkdGggPSBpbnN0YW5jZS53aWR0aCB8fCB3aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGluc3RhbmNlLmhlaWdodCB8fCBoZWlnaHQ7CiAgICAgIFBsb3RseS5yZWxheW91dChlbC5pZCwge3dpZHRoOiB3aWR0aCwgaGVpZ2h0OiBoZWlnaHR9KTsKICAgIH0KICB9LCAgCiAgCiAgcmVuZGVyVmFsdWU6IGZ1bmN0aW9uKGVsLCB4LCBpbnN0YW5jZSkgewogICAgCiAgICAvLyBQbG90bHkucmVsYXlvdXQoKSBtdXRhdGVzIHRoZSBwbG90IGlucHV0IG9iamVjdCwgc28gbWFrZSBzdXJlIHRvIAogICAgLy8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgdXNlci1zdXBwbGllZCB3aWR0aC9oZWlnaHQgKmJlZm9yZSoKICAgIC8vIHdlIGNhbGwgUGxvdGx5LnBsb3QoKTsKICAgIHZhciBsYXkgPSB4LmxheW91dCB8fCB7fTsKICAgIGluc3RhbmNlLndpZHRoID0gbGF5LndpZHRoOwogICAgaW5zdGFuY2UuaGVpZ2h0ID0gbGF5LmhlaWdodDsKICAgIGluc3RhbmNlLmF1dG9zaXplID0gbGF5LmF1dG9zaXplIHx8IHRydWU7CiAgICAKICAgIC8qIAogICAgLyAnaW5mb3JtIHRoZSB3b3JsZCcgYWJvdXQgaGlnaGxpZ2h0aW5nIG9wdGlvbnMgdGhpcyBpcyBzbyBvdGhlcgogICAgLyBjcm9zc3RhbGsgbGlicmFyaWVzIGhhdmUgYSBjaGFuY2UgdG8gcmVzcG9uZCB0byBzcGVjaWFsIHNldHRpbmdzIAogICAgLyBzdWNoIGFzIHBlcnNpc3RlbnQgc2VsZWN0aW9uLiAKICAgIC8gQUZBSUssIGxlYWZsZXQgaXMgdGhlIG9ubHkgbGlicmFyeSB3aXRoIHN1Y2ggaW50ZXJncmF0aW9uCiAgICAvIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL2xlYWZsZXQvcHVsbC8zNDYvZmlsZXMjZGlmZi1hZDBjMmQ1MWNlNWZkZjhjOTBjNzM5NWIxMDJmNDI2NVIxNTQKICAgICovCiAgICB2YXIgY3RDb25maWcgPSBjcm9zc3RhbGsudmFyKCdwbG90bHlDcm9zc3RhbGtPcHRzJykuc2V0KHguaGlnaGxpZ2h0KTsKICAgICAgCiAgICBpZiAodHlwZW9mKHdpbmRvdykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgIC8vIG1ha2Ugc3VyZSBwbG90cyBkb24ndCBnZXQgY3JlYXRlZCBvdXRzaWRlIHRoZSBuZXR3b3JrIChmb3Igb24tcHJlbSkKICAgICAgd2luZG93LlBMT1RMWUVOViA9IHdpbmRvdy5QTE9UTFlFTlYgfHwge307CiAgICAgIHdpbmRvdy5QTE9UTFlFTlYuQkFTRV9VUkwgPSB4LmJhc2VfdXJsOwogICAgICAKICAgICAgLy8gRW5hYmxlIHBlcnNpc3RlbnQgc2VsZWN0aW9uIHdoZW4gc2hpZnQga2V5IGlzIGRvd24KICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTgyODYxMy9jaGVjay1pZi1hLWtleS1pcy1kb3duCiAgICAgIHZhciBwZXJzaXN0T25TaGlmdCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICBpZiAoIWUpIHdpbmRvdy5ldmVudDsKICAgICAgICBpZiAoZS5zaGlmdEtleSkgeyAKICAgICAgICAgIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnQgPSB0cnVlOyAKICAgICAgICAgIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnRTaGlmdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnQgPSBmYWxzZTsgCiAgICAgICAgICB4LmhpZ2hsaWdodC5wZXJzaXN0ZW50U2hpZnQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgIH07CiAgICAgIAogICAgICAvLyBPbmx5IHJlbGV2YW50IGlmIHdlIGhhdmVuJ3QgZm9yY2VkIHBlcnNpc3RlbnQgbW9kZSBhdCBjb21tYW5kIGxpbmUKICAgICAgaWYgKCF4LmhpZ2hsaWdodC5wZXJzaXN0ZW50KSB7CiAgICAgICAgd2luZG93Lm9ubW91c2Vtb3ZlID0gcGVyc2lzdE9uU2hpZnQ7CiAgICAgIH0KICAgIH0KCiAgICB2YXIgZ3JhcGhEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbC5pZCk7CiAgICAKICAgIC8vIFRPRE86IG1vdmUgdGhlIGNvbnRyb2wgcGFuZWwgaW5qZWN0aW9uIHN0cmF0ZWd5IGluc2lkZSBoZXJlLi4uCiAgICBIVE1MV2lkZ2V0cy5hZGRQb3N0UmVuZGVySGFuZGxlcihmdW5jdGlvbigpIHsKICAgICAgCiAgICAgIC8vIGxvd2VyIHRoZSB6LWluZGV4IG9mIHRoZSBtb2RlYmFyIHRvIHByZXZlbnQgaXQgZnJvbSBoaWdoamFja2luZyBob3ZlcgogICAgICAvLyAoVE9ETzogZG8gdGhpcyB2aWEgQ1NTPykKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvcGVuc2NpL3Bsb3RseS9pc3N1ZXMvOTU2CiAgICAgIC8vIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vanNyZWYvcHJvcF9zdHlsZV96aW5kZXguYXNwCiAgICAgIHZhciBtb2RlYmFycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy1wbG90bHktcGxvdCAucGxvdGx5IC5tb2RlYmFyIik7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbW9kZWJhcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBtb2RlYmFyc1tpXS5zdHlsZS56SW5kZXggPSAxOwogICAgICB9CiAgICB9KTsKICAgICAgCiAgICAgIC8vIGluamVjdCBhICJjb250cm9sIHBhbmVsIiBob2xkaW5nIHNlbGVjdGl6ZS9keW5hbWljIGNvbG9yIHdpZGdldChzKQogICAgaWYgKHguc2VsZWN0aXplIHx8IHguaGlnaGxpZ2h0LmR5bmFtaWMgJiYgIWluc3RhbmNlLnBsb3RseSkgewogICAgICB2YXIgZmxleCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICBmbGV4LmNsYXNzID0gInBsb3RseS1jcm9zc3RhbGstY29udHJvbC1wYW5lbCI7CiAgICAgIGZsZXguc3R5bGUgPSAiZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwIjsKICAgICAgCiAgICAgIC8vIGluamVjdCB0aGUgY29sb3VycGlja2VyIEhUTUwgY29udGFpbmVyIGludG8gdGhlIGZsZXhib3gKICAgICAgaWYgKHguaGlnaGxpZ2h0LmR5bmFtaWMpIHsKICAgICAgICB2YXIgcGlja2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgCiAgICAgICAgdmFyIHBpY2tlcklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgICAgICBwaWNrZXJJbnB1dC5pZCA9IGVsLmlkICsgIi1jb2xvdXJwaWNrZXIiOwogICAgICAgIHBpY2tlcklucHV0LnBsYWNlaG9sZGVyID0gImFzZGFzZCI7CiAgICAgICAgCiAgICAgICAgdmFyIHBpY2tlckxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKICAgICAgICBwaWNrZXJMYWJlbC5mb3IgPSBwaWNrZXJJbnB1dC5pZDsKICAgICAgICBwaWNrZXJMYWJlbC5pbm5lckhUTUwgPSAiQnJ1c2ggY29sb3ImbmJzcDsmbmJzcDsiOwogICAgICAgIAogICAgICAgIHBpY2tlckRpdi5hcHBlbmRDaGlsZChwaWNrZXJMYWJlbCk7CiAgICAgICAgcGlja2VyRGl2LmFwcGVuZENoaWxkKHBpY2tlcklucHV0KTsKICAgICAgICBmbGV4LmFwcGVuZENoaWxkKHBpY2tlckRpdik7CiAgICAgIH0KICAgICAgCiAgICAgIC8vIGluamVjdCBzZWxlY3RpemUgSFRNTCBjb250YWluZXJzIChvbmUgZm9yIGV2ZXJ5IGNyb3NzdGFsayBncm91cCkKICAgICAgaWYgKHguc2VsZWN0aXplKSB7CiAgICAgICAgdmFyIGlkcyA9IE9iamVjdC5rZXlzKHguc2VsZWN0aXplKTsKICAgICAgICAKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgY29udGFpbmVyLmlkID0gaWRzW2ldOwogICAgICAgICAgY29udGFpbmVyLnN0eWxlID0gIndpZHRoOiA4MCU7IGhlaWdodDogMTAlIjsKICAgICAgICAgIGNvbnRhaW5lci5jbGFzcyA9ICJmb3JtLWdyb3VwIGNyb3NzdGFsay1pbnB1dC1wbG90bHktaGlnaGxpZ2h0IjsKICAgICAgICAgIAogICAgICAgICAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKICAgICAgICAgIGxhYmVsLmZvciA9IGlkc1tpXTsKICAgICAgICAgIGxhYmVsLmlubmVySFRNTCA9IHguc2VsZWN0aXplW2lkc1tpXV0uZ3JvdXA7CiAgICAgICAgICBsYWJlbC5jbGFzcyA9ICJjb250cm9sLWxhYmVsIjsKICAgICAgICAgIAogICAgICAgICAgdmFyIHNlbGVjdERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgdmFyIHNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOwogICAgICAgICAgc2VsZWN0Lm11bHRpcGxlID0gdHJ1ZTsKICAgICAgICAgIAogICAgICAgICAgc2VsZWN0RGl2LmFwcGVuZENoaWxkKHNlbGVjdCk7CiAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGFiZWwpOwogICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHNlbGVjdERpdik7CiAgICAgICAgICBmbGV4LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAvLyBmaW5hbGx5LCBpbnNlcnQgdGhlIGZsZXhib3ggaW5zaWRlIHRoZSBodG1sd2lkZ2V0IGNvbnRhaW5lciwKICAgICAgLy8gYnV0IGJlZm9yZSB0aGUgcGxvdGx5IGdyYXBoIGRpdgogICAgICBncmFwaERpdi5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShmbGV4LCBncmFwaERpdik7CiAgICAgIAogICAgICBpZiAoeC5oaWdobGlnaHQuZHluYW1pYykgewogICAgICAgIHZhciBwaWNrZXIgPSAkKCIjIiArIHBpY2tlcklucHV0LmlkKTsKICAgICAgICB2YXIgY29sb3JzID0geC5oaWdobGlnaHQuY29sb3IgfHwgW107CiAgICAgICAgLy8gVE9ETzogbGV0IHVzZXJzIHNwZWNpZnkgb3B0aW9ucz8KICAgICAgICB2YXIgb3B0cyA9IHsKICAgICAgICAgIHZhbHVlOiBjb2xvcnNbMF0sCiAgICAgICAgICBzaG93Q29sb3VyOiAiYm90aCIsCiAgICAgICAgICBwYWxldHRlOiAibGltaXRlZCIsCiAgICAgICAgICBhbGxvd2VkQ29sczogY29sb3JzLmpvaW4oIiAiKSwKICAgICAgICAgIHdpZHRoOiAiMjAlIiwKICAgICAgICAgIGhlaWdodDogIjEwJSIKICAgICAgICB9OwogICAgICAgIHBpY2tlci5jb2xvdXJwaWNrZXIoe2NoYW5nZURlbGF5OiAwfSk7CiAgICAgICAgcGlja2VyLmNvbG91cnBpY2tlcigic2V0dGluZ3MiLCBvcHRzKTsKICAgICAgICBwaWNrZXIuY29sb3VycGlja2VyKCJ2YWx1ZSIsIG9wdHMudmFsdWUpOwogICAgICAgIC8vIGluZm9ybSBjcm9zc3RhbGsgYWJvdXQgYSBjaGFuZ2UgaW4gdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGNvbG91cgogICAgICAgIHZhciBncnBzID0geC5oaWdobGlnaHQuY3RHcm91cHMgfHwgW107CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncnBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBjcm9zc3RhbGsuZ3JvdXAoZ3Jwc1tpXSkudmFyKCdwbG90bHlTZWxlY3Rpb25Db2xvdXInKQogICAgICAgICAgICAuc2V0KHBpY2tlci5jb2xvdXJwaWNrZXIoJ3ZhbHVlJykpOwogICAgICAgIH0KICAgICAgICBwaWNrZXIub24oImNoYW5nZSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncnBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGNyb3NzdGFsay5ncm91cChncnBzW2ldKS52YXIoJ3Bsb3RseVNlbGVjdGlvbkNvbG91cicpCiAgICAgICAgICAgICAgLnNldChwaWNrZXIuY29sb3VycGlja2VyKCd2YWx1ZScpKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgfQogICAgCiAgICAvLyBpZiBubyBwbG90IGV4aXN0cyB5ZXQsIGNyZWF0ZSBvbmUgd2l0aCBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbgogICAgaWYgKCFpbnN0YW5jZS5wbG90bHkpIHsKICAgICAgCiAgICAgIHZhciBwbG90ID0gUGxvdGx5LnBsb3QoZ3JhcGhEaXYsIHgpOwogICAgICBpbnN0YW5jZS5wbG90bHkgPSB0cnVlOwogICAgICAKICAgIH0gZWxzZSB7CiAgICAgIAogICAgICAvLyB0aGlzIGlzIGVzc2VudGlhbGx5IGVxdWl2YWxlbnQgdG8gUGxvdGx5Lm5ld1Bsb3QoKSwgYnV0IGF2b2lkcyBjcmVhdGluZyAKICAgICAgLy8gYSBuZXcgd2ViZ2wgY29udGV4dAogICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGxvdGx5L3Bsb3RseS5qcy9ibG9iLzJiMjRmOWRlZjkwMTgzMWU2MTI4MjA3NmNmM2Y4MzU1OThkNTZmMGUvc3JjL3Bsb3RfYXBpL3Bsb3RfYXBpLmpzI0w1MzEtTDUzMgoKICAgICAgLy8gVE9ETzogcmVzdG9yZSBjcm9zc3RhbGsgc2VsZWN0aW9ucz8KICAgICAgUGxvdGx5LnB1cmdlKGdyYXBoRGl2KTsKICAgICAgLy8gVE9ETzogd2h5IGlzIHRoaXMgbmVjZXNzYXJ5IHRvIGdldCBjcm9zc3RhbGsgd29ya2luZz8KICAgICAgZ3JhcGhEaXYuZGF0YSA9IHVuZGVmaW5lZDsKICAgICAgZ3JhcGhEaXYubGF5b3V0ID0gdW5kZWZpbmVkOwogICAgICB2YXIgcGxvdCA9IFBsb3RseS5wbG90KGdyYXBoRGl2LCB4KTsKICAgIH0KICAgIAogICAgLy8gVHJpZ2dlciBwbG90bHkuanMgY2FsbHMgZGVmaW5lZCB2aWEgYHBsb3RseVByb3h5KClgCiAgICBwbG90LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgIGlmIChIVE1MV2lkZ2V0cy5zaGlueU1vZGUpIHsKICAgICAgICBTaGlueS5hZGRDdXN0b21NZXNzYWdlSGFuZGxlcigicGxvdGx5LWNhbGxzIiwgZnVuY3Rpb24obXNnKSB7CiAgICAgICAgICB2YXIgZ2QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtc2cuaWQpOwogICAgICAgICAgaWYgKCFnZCkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGZpbmQgcGxvdGx5IGdyYXBoIHdpdGggaWQ6ICIgKyBtc2cuaWQpOwogICAgICAgICAgfQogICAgICAgICAgLy8gVGhpcyBpc24ndCBhbiBvZmZpY2lhbCBwbG90bHkuanMgbWV0aG9kLCBidXQgaXQncyB0aGUgb25seSBjdXJyZW50IHdheSB0byAKICAgICAgICAgIC8vIGNoYW5nZSBqdXN0IHRoZSBjb25maWd1cmF0aW9uIG9mIGEgcGxvdCAKICAgICAgICAgIC8vIGh0dHBzOi8vY29tbXVuaXR5LnBsb3QubHkvdC91cGRhdGUtY29uZmlnLWZ1bmN0aW9uLzkwNTcKICAgICAgICAgIGlmIChtc2cubWV0aG9kID09ICJyZWNvbmZpZyIpIHsKICAgICAgICAgICAgUGxvdGx5LnJlYWN0KGdkLCBnZC5kYXRhLCBnZC5sYXlvdXQsIG1zZy5hcmdzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgaWYgKCFQbG90bHlbbXNnLm1ldGhvZF0pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG1ldGhvZCAiICsgbXNnLm1ldGhvZCk7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgYXJncyA9IFtnZF0uY29uY2F0KG1zZy5hcmdzKTsKICAgICAgICAgIFBsb3RseVttc2cubWV0aG9kXS5hcHBseShudWxsLCBhcmdzKTsKICAgICAgICB9KTsKICAgICAgfQogICAgICAKICAgICAgLy8gcGxvdGx5J3MgbWFwYm94IEFQSSBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0IHNldHRpbmcgYm91bmRpbmcgYm94ZXMKICAgICAgLy8gaHR0cHM6Ly93d3cubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvZXhhbXBsZS9maXRib3VuZHMvCiAgICAgIC8vIHNvIHdlIGRvIHRoaXMgbWFudWFsbHkuLi4KICAgICAgLy8gVE9ETzogbWFrZSBzdXJlIHRoaXMgdHJpZ2dlcnMgb24gYSByZWRyYXcgYW5kIHJlbGF5b3V0IGFzIHdlbGwgYXMgb24gaW5pdGlhbCBkcmF3CiAgICAgIHZhciBtYXBib3hJRHMgPSBncmFwaERpdi5fZnVsbExheW91dC5fc3VicGxvdHMubWFwYm94IHx8IFtdOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hcGJveElEcy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBpZCA9IG1hcGJveElEc1tpXTsKICAgICAgICB2YXIgbWFwT3B0cyA9IHgubGF5b3V0W2lkXSB8fCB7fTsKICAgICAgICB2YXIgYXJncyA9IG1hcE9wdHMuX2ZpdEJvdW5kcyB8fCB7fTsKICAgICAgICBpZiAoIWFyZ3MpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgbWFwT2JqID0gZ3JhcGhEaXYuX2Z1bGxMYXlvdXRbaWRdLl9zdWJwbG90Lm1hcDsKICAgICAgICBtYXBPYmouZml0Qm91bmRzKGFyZ3MuYm91bmRzLCBhcmdzLm9wdGlvbnMpOwogICAgICB9CiAgICAgIAogICAgfSk7CiAgICAKICAgIC8vIEF0dGFjaCBhdHRyaWJ1dGVzIChlLmcuLCAia2V5IiwgInoiKSB0byBwbG90bHkgZXZlbnQgZGF0YQogICAgZnVuY3Rpb24gZXZlbnREYXRhV2l0aEtleShldmVudERhdGEpIHsKICAgICAgaWYgKGV2ZW50RGF0YSA9PT0gdW5kZWZpbmVkIHx8ICFldmVudERhdGEuaGFzT3duUHJvcGVydHkoInBvaW50cyIpKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIGV2ZW50RGF0YS5wb2ludHMubWFwKGZ1bmN0aW9uKHB0KSB7CiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgIGN1cnZlTnVtYmVyOiBwdC5jdXJ2ZU51bWJlciwgCiAgICAgICAgICBwb2ludE51bWJlcjogcHQucG9pbnROdW1iZXIsIAogICAgICAgICAgeDogcHQueCwKICAgICAgICAgIHk6IHB0LnkKICAgICAgICB9OwogICAgICAgIAogICAgICAgIC8vIElmICd6JyBpcyByZXBvcnRlZCB3aXRoIHRoZSBldmVudCBkYXRhLCB0aGVuIHVzZSBpdCEKICAgICAgICBpZiAocHQuaGFzT3duUHJvcGVydHkoInoiKSkgewogICAgICAgICAgb2JqLnogPSBwdC56OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAocHQuaGFzT3duUHJvcGVydHkoImN1c3RvbWRhdGEiKSkgewogICAgICAgICAgb2JqLmN1c3RvbWRhdGEgPSBwdC5jdXN0b21kYXRhOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiAKICAgICAgICAgIFRMO0RSOiAoSSB0aGluaykgd2UgaGF2ZSB0byBzZWxlY3QgdGhlIGdyYXBoIGRpdiAoYWdhaW4pIHRvIGF0dGFjaCBrZXlzLi4uCiAgICAgICAgICAKICAgICAgICAgIFdoeT8gUmVtZW1iZXIgdGhhdCBjcm9zc3RhbGsgd2lsbCBkeW5hbWljYWxseSBhZGQvZGVsZXRlIHRyYWNlcyAKICAgICAgICAgIChzZWUgdHJhY2VNYW5hZ2VyLnByb3RvdHlwZS51cGRhdGVTZWxlY3Rpb24oKSBiZWxvdykKICAgICAgICAgIEZvciB0aGlzIHJlYXNvbiwgd2UgY2FuJ3Qgc2ltcGx5IGdyYWIga2V5cyBmcm9tIHguZGF0YSAobGlrZSB3ZSBkaWQgcHJldmlvdXNseSkKICAgICAgICAgIE1vcmVvdmVyLCB3ZSBjYW4ndCB1c2UgX2Z1bGxEYXRhLCBzaW5jZSB0aGF0IGRvZXNuJ3QgaW5jbHVkZSAKICAgICAgICAgIHVub2ZmaWNpYWwgYXR0cmlidXRlcy4gSXQncyB0cnVlIHRoYXQgY2xpY2svaG92ZXIgZXZlbnRzIGZpcmUgd2l0aCAKICAgICAgICAgIHB0LmRhdGEsIGJ1dCBkcmFnIGV2ZW50cyBkb24ndC4uLgogICAgICAgICovCiAgICAgICAgdmFyIGdkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWwuaWQpOwogICAgICAgIHZhciB0cmFjZSA9IGdkLmRhdGFbcHQuY3VydmVOdW1iZXJdOwogICAgICAgIAogICAgICAgIGlmICghdHJhY2UuX2lzU2ltcGxlS2V5KSB7CiAgICAgICAgICB2YXIgYXR0cnNUb0F0dGFjaCA9IFsia2V5Il07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIHNpbXBsZSBrZXlzIGZpcmUgdGhlIHdob2xlIGtleQogICAgICAgICAgb2JqLmtleSA9IHRyYWNlLmtleTsKICAgICAgICAgIHZhciBhdHRyc1RvQXR0YWNoID0gW107CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cnNUb0F0dGFjaC5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGF0dHIgPSB0cmFjZVthdHRyc1RvQXR0YWNoW2ldXTsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGF0dHIpKSB7CiAgICAgICAgICAgIGlmICh0eXBlb2YgcHQucG9pbnROdW1iZXIgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgb2JqW2F0dHJzVG9BdHRhY2hbaV1dID0gYXR0cltwdC5wb2ludE51bWJlcl07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwdC5wb2ludE51bWJlcikpIHsKICAgICAgICAgICAgICBvYmpbYXR0cnNUb0F0dGFjaFtpXV0gPSBhdHRyW3B0LnBvaW50TnVtYmVyWzBdXVtwdC5wb2ludE51bWJlclsxXV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwdC5wb2ludE51bWJlcnMpKSB7CiAgICAgICAgICAgICAgb2JqW2F0dHJzVG9BdHRhY2hbaV1dID0gcHQucG9pbnROdW1iZXJzLm1hcChmdW5jdGlvbihpZHgpIHsgcmV0dXJuIGF0dHJbaWR4XTsgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG9iajsKICAgICAgfSk7CiAgICB9CiAgICAKICAgIAogICAgdmFyIGxlZ2VuZEV2ZW50RGF0YSA9IGZ1bmN0aW9uKGQpIHsKICAgICAgLy8gaWYgbGVnZW5kZ3JvdXAgaXMgbm90IHJlbGV2YW50IGp1c3QgcmV0dXJuIHRoZSB0cmFjZQogICAgICB2YXIgdHJhY2UgPSBkLmRhdGFbZC5jdXJ2ZU51bWJlcl07CiAgICAgIGlmICghdHJhY2UubGVnZW5kZ3JvdXApIHJldHVybiB0cmFjZTsKICAgICAgCiAgICAgIC8vIGlmIGxlZ2VuZGdyb3VwIHdhcyBzcGVjaWZpZWQsIHJldHVybiBhbGwgdHJhY2VzIHRoYXQgbWF0Y2ggdGhlIGdyb3VwCiAgICAgIHZhciBsZWdlbmRncnBzID0gZC5kYXRhLm1hcChmdW5jdGlvbih0cmFjZSl7IHJldHVybiB0cmFjZS5sZWdlbmRncm91cDsgfSk7CiAgICAgIHZhciB0cmFjZXMgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IGxlZ2VuZGdycHMubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAobGVnZW5kZ3Jwc1tpXSA9PSB0cmFjZS5sZWdlbmRncm91cCkgewogICAgICAgICAgdHJhY2VzLnB1c2goZC5kYXRhW2ldKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIHJldHVybiB0cmFjZXM7CiAgICB9OwoKICAgIAogICAgLy8gc2VuZCB1c2VyIGlucHV0IGV2ZW50IGRhdGEgdG8gc2hpbnkKICAgIGlmIChIVE1MV2lkZ2V0cy5zaGlueU1vZGUgJiYgU2hpbnkuc2V0SW5wdXRWYWx1ZSkgewogICAgICAKICAgICAgLy8gU29tZSBldmVudHMgY2xlYXIgb3RoZXIgaW5wdXQgdmFsdWVzCiAgICAgIC8vIFRPRE86IGFsd2F5cyByZWdpc3RlciB0aGVzZT8KICAgICAgdmFyIGV2ZW50Q2xlYXJNYXAgPSB7CiAgICAgICAgcGxvdGx5X2Rlc2VsZWN0OiBbInBsb3RseV9zZWxlY3RlZCIsICJwbG90bHlfc2VsZWN0aW5nIiwgInBsb3RseV9icnVzaGVkIiwgInBsb3RseV9icnVzaGluZyIsICJwbG90bHlfY2xpY2siXSwKICAgICAgICBwbG90bHlfdW5ob3ZlcjogWyJwbG90bHlfaG92ZXIiXSwKICAgICAgICBwbG90bHlfZG91YmxlY2xpY2s6IFsicGxvdGx5X2NsaWNrIl0KICAgICAgfTsKICAgIAogICAgICBPYmplY3Qua2V5cyhldmVudENsZWFyTWFwKS5tYXAoZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgZ3JhcGhEaXYub24oZXZ0LCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciBpbnB1dHNUb0NsZWFyID0gZXZlbnRDbGVhck1hcFtldnRdOwogICAgICAgICAgaW5wdXRzVG9DbGVhci5tYXAoZnVuY3Rpb24oaW5wdXQpIHsKICAgICAgICAgICAgU2hpbnkuc2V0SW5wdXRWYWx1ZShpbnB1dCArICItIiArIHguc291cmNlLCBudWxsLCB7cHJpb3JpdHk6ICJldmVudCJ9KTsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKICAgICAgCiAgICAgIHZhciBldmVudERhdGFGdW5jdGlvbk1hcCA9IHsKICAgICAgICBwbG90bHlfY2xpY2s6IGV2ZW50RGF0YVdpdGhLZXksCiAgICAgICAgcGxvdGx5X3N1bmJ1cnN0Y2xpY2s6IGV2ZW50RGF0YVdpdGhLZXksCiAgICAgICAgcGxvdGx5X2hvdmVyOiBldmVudERhdGFXaXRoS2V5LAogICAgICAgIHBsb3RseV91bmhvdmVyOiBldmVudERhdGFXaXRoS2V5LAogICAgICAgIC8vIElmICdwbG90bHlfc2VsZWN0ZWQnIGhhcyBhbHJlYWR5IGJlZW4gZmlyZWQsIGFuZCB5b3UgY2xpY2sKICAgICAgICAvLyBvbiB0aGUgcGxvdCBhZnRlcndhcmRzLCB0aGlzIGV2ZW50IGZpcmVzIGB1bmRlZmluZWRgPyE/CiAgICAgICAgLy8gVGhhdCBtaWdodCBiZSBjb25zaWRlcmVkIGEgcGxvdGx5LmpzIGJ1ZywgYnV0IGl0IGRvZXNuJ3QgbWFrZSAKICAgICAgICAvLyBzZW5zZSBmb3IgdGhpcyBpbnB1dCBjaGFuZ2UgdG8gb2NjdXIgaWYgYGRgIGlzIGZhbHN5IGJlY2F1c2UsCiAgICAgICAgLy8gZXZlbiBpbiB0aGUgZW1wdHkgc2VsZWN0aW9uIGNhc2UsIGBkYCBpcyB0cnV0aHkgKGFuIG9iamVjdCksCiAgICAgICAgLy8gYW5kIHRoZSAncGxvdGx5X2Rlc2VsZWN0JyBldmVudCB3aWxsIHJlc2V0IHRoaXMgaW5wdXQKICAgICAgICBwbG90bHlfc2VsZWN0ZWQ6IGZ1bmN0aW9uKGQpIHsgaWYgKGQpIHsgcmV0dXJuIGV2ZW50RGF0YVdpdGhLZXkoZCk7IH0gfSwKICAgICAgICBwbG90bHlfc2VsZWN0aW5nOiBmdW5jdGlvbihkKSB7IGlmIChkKSB7IHJldHVybiBldmVudERhdGFXaXRoS2V5KGQpOyB9IH0sCiAgICAgICAgcGxvdGx5X2JydXNoZWQ6IGZ1bmN0aW9uKGQpIHsKICAgICAgICAgIGlmIChkKSB7IHJldHVybiBkLnJhbmdlID8gZC5yYW5nZSA6IGQubGFzc29Qb2ludHM7IH0KICAgICAgICB9LAogICAgICAgIHBsb3RseV9icnVzaGluZzogZnVuY3Rpb24oZCkgewogICAgICAgICAgaWYgKGQpIHsgcmV0dXJuIGQucmFuZ2UgPyBkLnJhbmdlIDogZC5sYXNzb1BvaW50czsgfQogICAgICAgIH0sCiAgICAgICAgcGxvdGx5X2xlZ2VuZGNsaWNrOiBsZWdlbmRFdmVudERhdGEsCiAgICAgICAgcGxvdGx5X2xlZ2VuZGRvdWJsZWNsaWNrOiBsZWdlbmRFdmVudERhdGEsCiAgICAgICAgcGxvdGx5X2NsaWNrYW5ub3RhdGlvbjogZnVuY3Rpb24oZCkgeyByZXR1cm4gZC5mdWxsQW5ub3RhdGlvbiB9CiAgICAgIH07CiAgICAgIAogICAgICB2YXIgcmVnaXN0ZXJTaGlueVZhbHVlID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICB2YXIgZXZlbnREYXRhUHJlUHJvY2Vzc29yID0gZXZlbnREYXRhRnVuY3Rpb25NYXBbZXZlbnRdIHx8IGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQgPyBkIDogZWwuaWQgfTsKICAgICAgICAvLyBzb21lIGV2ZW50cyBhcmUgdW5pcXVlIHRvIHRoZSBSIHBhY2thZ2UKICAgICAgICB2YXIgcGxvdGx5SlNldmVudCA9IChldmVudCA9PSAicGxvdGx5X2JydXNoZWQiKSA/ICJwbG90bHlfc2VsZWN0ZWQiIDogKGV2ZW50ID09ICJwbG90bHlfYnJ1c2hpbmciKSA/ICJwbG90bHlfc2VsZWN0aW5nIiA6IGV2ZW50OwogICAgICAgIC8vIHJlZ2lzdGVyIHRoZSBldmVudAogICAgICAgIGdyYXBoRGl2Lm9uKHBsb3RseUpTZXZlbnQsIGZ1bmN0aW9uKGQpIHsKICAgICAgICAgIFNoaW55LnNldElucHV0VmFsdWUoCiAgICAgICAgICAgIGV2ZW50ICsgIi0iICsgeC5zb3VyY2UsCiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGV2ZW50RGF0YVByZVByb2Nlc3NvcihkKSksCiAgICAgICAgICAgIHtwcmlvcml0eTogImV2ZW50In0KICAgICAgICAgICk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIAogICAgICB2YXIgc2hpbnlFdmVudHMgPSB4LnNoaW55RXZlbnRzIHx8IFtdOwogICAgICBzaGlueUV2ZW50cy5tYXAocmVnaXN0ZXJTaGlueVZhbHVlKTsKICAgIH0KICAgIAogICAgLy8gR2l2ZW4gYW4gYXJyYXkgb2Yge2N1cnZlTnVtYmVyOiB4LCBwb2ludE51bWJlcjogeX0gb2JqZWN0cywKICAgIC8vIHJldHVybiBhIGhhc2ggb2YgewogICAgLy8gICBzZXQxOiB7dmFsdWU6IFtrZXkxLCBrZXkyLCAuLi5dLCBfaXNTaW1wbGVLZXk6IGZhbHNlfSwgCiAgICAvLyAgIHNldDI6IHt2YWx1ZTogW2tleTMsIGtleTQsIC4uLl0sIF9pc1NpbXBsZUtleTogZmFsc2V9CiAgICAvLyB9CiAgICBmdW5jdGlvbiBwb2ludHNUb0tleXMocG9pbnRzKSB7CiAgICAgIHZhciBrZXlzQnlTZXQgPSB7fTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAKICAgICAgICB2YXIgdHJhY2UgPSBncmFwaERpdi5kYXRhW3BvaW50c1tpXS5jdXJ2ZU51bWJlcl07CiAgICAgICAgaWYgKCF0cmFjZS5rZXkgfHwgIXRyYWNlLnNldCkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIHNldCBkZWZhdWx0cyBmb3IgdGhpcyBrZXlTZXQKICAgICAgICAvLyBub3RlIHRoYXQgd2UgZG9uJ3QgdHJhY2sgdGhlIG5lc3RlZCBwcm9wZXJ0eSAoeWV0KSBzaW5jZSB3ZSBhbHdheXMgCiAgICAgICAgLy8gZW1pdCB0aGUgdW5pb24gLS0gaHR0cDovL2Nwc2lldmVydC5naXRodWIuaW8vdGFsa3MvMjAxNjEyMTJiLyMyMQogICAgICAgIGtleXNCeVNldFt0cmFjZS5zZXRdID0ga2V5c0J5U2V0W3RyYWNlLnNldF0gfHwgewogICAgICAgICAgdmFsdWU6IFtdLAogICAgICAgICAgX2lzU2ltcGxlS2V5OiB0cmFjZS5faXNTaW1wbGVLZXkKICAgICAgICB9OwogICAgICAgIAogICAgICAgIC8vIFVzZSBwb2ludE51bWJlciBieSBkZWZhdWx0LCBidXQgYWdncmVnYXRlZCB0cmFjZXMgc2hvdWxkIGVtaXQgcG9pbnROdW1iZXJzCiAgICAgICAgdmFyIHB0TnVtID0gcG9pbnRzW2ldLnBvaW50TnVtYmVyOwogICAgICAgIHZhciBoYXNQdE51bSA9IHR5cGVvZiBwdE51bSA9PT0gIm51bWJlciI7CiAgICAgICAgdmFyIHB0TnVtID0gaGFzUHROdW0gPyBwdE51bSA6IHBvaW50c1tpXS5wb2ludE51bWJlcnM7CiAgICAgICAgCiAgICAgICAgLy8gc2VsZWN0aW5nIGEgcG9pbnQgb2YgYSAic2ltcGxlIiB0cmFjZSBtZWFuczogc2VsZWN0IHRoZSAKICAgICAgICAvLyBlbnRpcmUga2V5IGF0dGFjaGVkIHRvIHRoaXMgdHJhY2UsIHdoaWNoIGlzIHVzZWZ1bCBmb3IsCiAgICAgICAgLy8gc2F5IGNsaWNraW5nIG9uIGEgZml0dGVkIGxpbmUgdG8gc2VsZWN0IGNvcnJlc3BvbmRpbmcgb2JzZXJ2YXRpb25zIAogICAgICAgIHZhciBrZXkgPSB0cmFjZS5faXNTaW1wbGVLZXkgPyB0cmFjZS5rZXkgOiBBcnJheS5pc0FycmF5KHB0TnVtKSA/IHB0TnVtLm1hcChmdW5jdGlvbihpZHgpIHsgcmV0dXJuIHRyYWNlLmtleVtpZHhdOyB9KSA6IHRyYWNlLmtleVtwdE51bV07CiAgICAgICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDg2NTAyNS9tZXJnZS1mbGF0dGVuLWFuLWFycmF5LW9mLWFycmF5cy1pbi1qYXZhc2NyaXB0CiAgICAgICAgdmFyIGtleUZsYXQgPSB0cmFjZS5faXNOZXN0ZWRLZXkgPyBbXS5jb25jYXQuYXBwbHkoW10sIGtleSkgOiBrZXk7CiAgICAgICAgCiAgICAgICAgLy8gVE9ETzogYmV0dGVyIHRvIG9ubHkgYWRkIG5ldyB2YWx1ZXM/CiAgICAgICAga2V5c0J5U2V0W3RyYWNlLnNldF0udmFsdWUgPSBrZXlzQnlTZXRbdHJhY2Uuc2V0XS52YWx1ZS5jb25jYXQoa2V5RmxhdCk7CiAgICAgIH0KICAgICAgCiAgICAgIHJldHVybiBrZXlzQnlTZXQ7CiAgICB9CiAgICAKICAgIAogICAgeC5oaWdobGlnaHQuY29sb3IgPSB4LmhpZ2hsaWdodC5jb2xvciB8fCBbXTsKICAgIC8vIG1ha2Ugc3VyZSBoaWdobGlnaHQgY29sb3IgaXMgYW4gYXJyYXkKICAgIGlmICghQXJyYXkuaXNBcnJheSh4LmhpZ2hsaWdodC5jb2xvcikpIHsKICAgICAgeC5oaWdobGlnaHQuY29sb3IgPSBbeC5oaWdobGlnaHQuY29sb3JdOwogICAgfQoKICAgIHZhciB0cmFjZU1hbmFnZXIgPSBuZXcgVHJhY2VNYW5hZ2VyKGdyYXBoRGl2LCB4LmhpZ2hsaWdodCk7CgogICAgLy8gR2F0aGVyIGFsbCAqdW5pcXVlKiBzZXRzLgogICAgdmFyIGFsbFNldHMgPSBbXTsKICAgIGZvciAodmFyIGN1cnZlSWR4ID0gMDsgY3VydmVJZHggPCB4LmRhdGEubGVuZ3RoOyBjdXJ2ZUlkeCsrKSB7CiAgICAgIHZhciBuZXdTZXQgPSB4LmRhdGFbY3VydmVJZHhdLnNldDsKICAgICAgaWYgKG5ld1NldCkgewogICAgICAgIGlmIChhbGxTZXRzLmluZGV4T2YobmV3U2V0KSA9PT0gLTEpIHsKICAgICAgICAgIGFsbFNldHMucHVzaChuZXdTZXQpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIC8vIHJlZ2lzdGVyIGV2ZW50IGxpc3RlbmVycyBmb3IgYWxsIHNldHMKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsU2V0cy5sZW5ndGg7IGkrKykgewogICAgICAKICAgICAgdmFyIHNldCA9IGFsbFNldHNbaV07CiAgICAgIHZhciBzZWxlY3Rpb24gPSBuZXcgY3Jvc3N0YWxrLlNlbGVjdGlvbkhhbmRsZShzZXQpOwogICAgICB2YXIgZmlsdGVyID0gbmV3IGNyb3NzdGFsay5GaWx0ZXJIYW5kbGUoc2V0KTsKICAgICAgCiAgICAgIHZhciBmaWx0ZXJDaGFuZ2UgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgcmVtb3ZlQnJ1c2goZWwpOwogICAgICAgIHRyYWNlTWFuYWdlci51cGRhdGVGaWx0ZXIoc2V0LCBlLnZhbHVlKTsKICAgICAgfTsKICAgICAgZmlsdGVyLm9uKCJjaGFuZ2UiLCBmaWx0ZXJDaGFuZ2UpOwogICAgICAKICAgICAgCiAgICAgIHZhciBzZWxlY3Rpb25DaGFuZ2UgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgCiAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgJ3Bsb3RseV9zZWxlY3RlZCcgbm93IGZpcmluZyBwcmV2aW91c2x5IHNlbGVjdGVkCiAgICAgICAgLy8gcG9pbnRzIChpbiBhZGRpdGlvbiB0byBuZXcgb25lcykgd2hlbiBob2xkaW5nIHNoaWZ0IGtleS4gSW4gb3VyIGNhc2UsCiAgICAgICAgLy8gd2UganVzdCB3YW50IHRoZSBuZXcga2V5cyAKICAgICAgICBpZiAoeC5oaWdobGlnaHQub24gPT09ICJwbG90bHlfc2VsZWN0ZWQiICYmIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnRTaGlmdCkgewogICAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTE4NzUxOC9ob3ctdG8tZ2V0LXRoZS1kaWZmZXJlbmNlLWJldHdlZW4tdHdvLWFycmF5cy1pbi1qYXZhc2NyaXB0CiAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZGlmZiA9IGZ1bmN0aW9uKGEpIHsKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oaSkge3JldHVybiBhLmluZGV4T2YoaSkgPCAwO30pOwogICAgICAgICAgfTsKICAgICAgICAgIGUudmFsdWUgPSBlLnZhbHVlLmRpZmYoZS5vbGRWYWx1ZSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIGFycmF5IG9mICJldmVudCBvYmplY3RzIiB0cmFja2luZyB0aGUgc2VsZWN0aW9uIGhpc3RvcnkKICAgICAgICAvLyB0aGlzIGlzIHVzZWQgdG8gYXZvaWQgYWRkaW5nIHJlZHVuZGFudCBzZWxlY3Rpb25zCiAgICAgICAgdmFyIHNlbGVjdGlvbkhpc3RvcnkgPSBjcm9zc3RhbGsudmFyKCJwbG90bHlTZWxlY3Rpb25IaXN0b3J5IikuZ2V0KCkgfHwgW107CiAgICAgICAgCiAgICAgICAgLy8gQ29uc3RydWN0IGFuIGV2ZW50IG9iamVjdCAiZGVmaW5pbmciIHRoZSBjdXJyZW50IGV2ZW50LiAKICAgICAgICB2YXIgZXZlbnQgPSB7CiAgICAgICAgICByZWNlaXZlcklEOiB0cmFjZU1hbmFnZXIuZ2QuaWQsCiAgICAgICAgICBwbG90bHlTZWxlY3Rpb25Db2xvdXI6IGNyb3NzdGFsay5ncm91cChzZXQpLnZhcigicGxvdGx5U2VsZWN0aW9uQ29sb3VyIikuZ2V0KCkKICAgICAgICB9OwogICAgICAgIGV2ZW50W3NldF0gPSBlLnZhbHVlOwogICAgICAgIC8vIFRPRE86IGlzIHRoZXJlIGEgc21hcnRlciB3YXkgdG8gY2hlY2sgb2JqZWN0IGVxdWFsaXR5PwogICAgICAgIGlmIChzZWxlY3Rpb25IaXN0b3J5Lmxlbmd0aCA+IDApIHsKICAgICAgICAgIHZhciBldiA9IEpTT04uc3RyaW5naWZ5KGV2ZW50KTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0aW9uSGlzdG9yeS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgc2VsID0gSlNPTi5zdHJpbmdpZnkoc2VsZWN0aW9uSGlzdG9yeVtpXSk7CiAgICAgICAgICAgIGlmIChzZWwgPT0gZXYpIHsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gYWNjdW11bGF0ZSBoaXN0b3J5IGZvciBwZXJzaXN0ZW50IHNlbGVjdGlvbgogICAgICAgIGlmICgheC5oaWdobGlnaHQucGVyc2lzdGVudCkgewogICAgICAgICAgc2VsZWN0aW9uSGlzdG9yeSA9IFtldmVudF07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHNlbGVjdGlvbkhpc3RvcnkucHVzaChldmVudCk7CiAgICAgICAgfQogICAgICAgIGNyb3NzdGFsay52YXIoInBsb3RseVNlbGVjdGlvbkhpc3RvcnkiKS5zZXQoc2VsZWN0aW9uSGlzdG9yeSk7CiAgICAgICAgCiAgICAgICAgLy8gZG8gdGhlIGFjdHVhbCB1cGRhdGluZyBvZiB0cmFjZXMsIGZyYW1lcywgYW5kIHRoZSBzZWxlY3RpemUgd2lkZ2V0CiAgICAgICAgdHJhY2VNYW5hZ2VyLnVwZGF0ZVNlbGVjdGlvbihzZXQsIGUudmFsdWUpOwogICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWxlY3RpemUvc2VsZWN0aXplLmpzL2Jsb2IvbWFzdGVyL2RvY3MvYXBpLm1kI21ldGhvZHNfaXRlbXMKICAgICAgICBpZiAoeC5zZWxlY3RpemUpIHsKICAgICAgICAgIGlmICgheC5oaWdobGlnaHQucGVyc2lzdGVudCB8fCBlLnZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgIHNlbGVjdGl6ZS5jbGVhcih0cnVlKTsKICAgICAgICAgIH0KICAgICAgICAgIHNlbGVjdGl6ZS5hZGRJdGVtcyhlLnZhbHVlLCB0cnVlKTsKICAgICAgICAgIHNlbGVjdGl6ZS5jbG9zZSgpOwogICAgICAgIH0KICAgICAgfQogICAgICBzZWxlY3Rpb24ub24oImNoYW5nZSIsIHNlbGVjdGlvbkNoYW5nZSk7CiAgICAgIAogICAgICAvLyBTZXQgYSBjcm9zc3RhbGsgdmFyaWFibGUgc2VsZWN0aW9uIHZhbHVlLCB0cmlnZ2VyaW5nIGFuIHVwZGF0ZQogICAgICB2YXIgdHVybk9uID0gZnVuY3Rpb24oZSkgewogICAgICAgIGlmIChlKSB7CiAgICAgICAgICB2YXIgc2VsZWN0ZWRLZXlzID0gcG9pbnRzVG9LZXlzKGUucG9pbnRzKTsKICAgICAgICAgIC8vIEtleXMgYXJlIGdyb3VwIG5hbWVzLCB2YWx1ZXMgYXJlIGFycmF5IG9mIHNlbGVjdGVkIGtleXMgZnJvbSBncm91cC4KICAgICAgICAgIGZvciAodmFyIHNldCBpbiBzZWxlY3RlZEtleXMpIHsKICAgICAgICAgICAgaWYgKHNlbGVjdGVkS2V5cy5oYXNPd25Qcm9wZXJ0eShzZXQpKSB7CiAgICAgICAgICAgICAgc2VsZWN0aW9uLnNldChzZWxlY3RlZEtleXNbc2V0XS52YWx1ZSwge3NlbmRlcjogZWx9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfTsKICAgICAgaWYgKHguaGlnaGxpZ2h0LmRlYm91bmNlID4gMCkgewogICAgICAgIHR1cm5PbiA9IGRlYm91bmNlKHR1cm5PbiwgeC5oaWdobGlnaHQuZGVib3VuY2UpOwogICAgICB9CiAgICAgIGdyYXBoRGl2Lm9uKHguaGlnaGxpZ2h0Lm9uLCB0dXJuT24pOwogICAgICAKICAgICAgZ3JhcGhEaXYub24oeC5oaWdobGlnaHQub2ZmLCBmdW5jdGlvbiB0dXJuT2ZmKGUpIHsKICAgICAgICAvLyByZW1vdmUgYW55IHZpc3VhbCBjbHVlcwogICAgICAgIHJlbW92ZUJydXNoKGVsKTsKICAgICAgICAvLyByZW1vdmUgYW55IHNlbGVjdGlvbiBoaXN0b3J5CiAgICAgICAgY3Jvc3N0YWxrLnZhcigicGxvdGx5U2VsZWN0aW9uSGlzdG9yeSIpLnNldChudWxsKTsKICAgICAgICAvLyB0cmlnZ2VyIHRoZSBhY3R1YWwgcmVtb3ZhbCBvZiBzZWxlY3Rpb24gdHJhY2VzCiAgICAgICAgc2VsZWN0aW9uLnNldChudWxsLCB7c2VuZGVyOiBlbH0pOwogICAgICB9KTsKICAgICAgICAgIAogICAgICAvLyByZWdpc3RlciBhIGNhbGxiYWNrIGZvciBzZWxlY3RpemUgc28gdGhhdCB0aGVyZSBpcyBiaS1kaXJlY3Rpb25hbAogICAgICAvLyBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIHdpZGdldCBhbmQgZGlyZWN0IG1hbmlwdWxhdGlvbiBldmVudHMKICAgICAgaWYgKHguc2VsZWN0aXplKSB7CiAgICAgICAgdmFyIHNlbGVjdGl6ZUlEID0gT2JqZWN0LmtleXMoeC5zZWxlY3RpemUpW2ldOwogICAgICAgIHZhciBpdGVtcyA9IHguc2VsZWN0aXplW3NlbGVjdGl6ZUlEXS5pdGVtczsKICAgICAgICB2YXIgZmlyc3QgPSBbe3ZhbHVlOiAiIiwgbGFiZWw6ICIoQWxsKSJ9XTsKICAgICAgICB2YXIgb3B0cyA9IHsKICAgICAgICAgIG9wdGlvbnM6IGZpcnN0LmNvbmNhdChpdGVtcyksCiAgICAgICAgICBzZWFyY2hGaWVsZDogImxhYmVsIiwKICAgICAgICAgIHZhbHVlRmllbGQ6ICJ2YWx1ZSIsCiAgICAgICAgICBsYWJlbEZpZWxkOiAibGFiZWwiLAogICAgICAgICAgbWF4SXRlbXM6IDUwCiAgICAgICAgfTsKICAgICAgICB2YXIgc2VsZWN0ID0gJCgiIyIgKyBzZWxlY3RpemVJRCkuZmluZCgic2VsZWN0IilbMF07CiAgICAgICAgdmFyIHNlbGVjdGl6ZSA9ICQoc2VsZWN0KS5zZWxlY3RpemUob3B0cylbMF0uc2VsZWN0aXplOwogICAgICAgIC8vIE5PVEU6IHRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIHdoZW4gKmRpcmVjdGx5KiBhbHRlcmluZyAKICAgICAgICAvLyBkcm9wZG93biBpdGVtcwogICAgICAgIHNlbGVjdGl6ZS5vbigiY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgY3VycmVudEl0ZW1zID0gdHJhY2VNYW5hZ2VyLmdyb3VwU2VsZWN0aW9uc1tzZXRdIHx8IFtdOwogICAgICAgICAgaWYgKCF4LmhpZ2hsaWdodC5wZXJzaXN0ZW50KSB7CiAgICAgICAgICAgIHJlbW92ZUJydXNoKGVsKTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjdXJyZW50SXRlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBzZWxlY3RpemUucmVtb3ZlSXRlbShjdXJyZW50SXRlbXNbaV0sIHRydWUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgbmV3SXRlbXMgPSBzZWxlY3RpemUuaXRlbXMuZmlsdGVyKGZ1bmN0aW9uKGlkeCkgeyAKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJdGVtcy5pbmRleE9mKGlkeCkgPCAwOwogICAgICAgICAgfSk7CiAgICAgICAgICBpZiAobmV3SXRlbXMubGVuZ3RoID4gMCkgewogICAgICAgICAgICB0cmFjZU1hbmFnZXIudXBkYXRlU2VsZWN0aW9uKHNldCwgbmV3SXRlbXMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gSXRlbSBoYXMgYmVlbiByZW1vdmVkLi4uCiAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgbG9naWMgd29uJ3Qgd29yayBmb3IgZHluYW1pY2FsbHkgY2hhbmdpbmcgcGFsZXR0ZSAKICAgICAgICAgICAgdHJhY2VNYW5hZ2VyLnVwZGF0ZVNlbGVjdGlvbihzZXQsIG51bGwpOwogICAgICAgICAgICB0cmFjZU1hbmFnZXIudXBkYXRlU2VsZWN0aW9uKHNldCwgc2VsZWN0aXplLml0ZW1zKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgfSAvLyBlbmQgb2Ygc2VsZWN0aW9uQ2hhbmdlCiAgICAKICB9IC8vIGVuZCBvZiByZW5kZXJWYWx1ZQp9KTsgLy8gZW5kIG9mIHdpZGdldCBkZWZpbml0aW9uCgovKioKICogQHBhcmFtIGdyYXBoRGl2IFRoZSBQbG90bHkgZ3JhcGggZGl2CiAqIEBwYXJhbSBoaWdobGlnaHQgQW4gb2JqZWN0IHdpdGggb3B0aW9ucyBmb3IgdXBkYXRpbmcgc2VsZWN0aW9uKHMpCiAqLwpmdW5jdGlvbiBUcmFjZU1hbmFnZXIoZ3JhcGhEaXYsIGhpZ2hsaWdodCkgewogIC8vIFRoZSBQbG90bHkgZ3JhcGggZGl2CiAgdGhpcy5nZCA9IGdyYXBoRGl2OwoKICAvLyBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWwgZGF0YS4KICAvLyBUT0RPOiB0cnkgdXNpbmcgTGliLmV4dGVuZEZsYXQoKSBhcyBkb25lIGluICAKICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGxvdGx5L3Bsb3RseS5qcy9wdWxsLzExMzYgCiAgdGhpcy5vcmlnRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZ3JhcGhEaXYuZGF0YSkpOwogIAogIC8vIGF2b2lkIGRvaW5nIHRoaXMgb3ZlciBhbmQgb3ZlcgogIHRoaXMub3JpZ09wYWNpdHkgPSBbXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3JpZ0RhdGEubGVuZ3RoOyBpKyspIHsKICAgIHRoaXMub3JpZ09wYWNpdHlbaV0gPSB0aGlzLm9yaWdEYXRhW2ldLm9wYWNpdHkgPT09IDAgPyAwIDogKHRoaXMub3JpZ0RhdGFbaV0ub3BhY2l0eSB8fCAxKTsKICB9CgogIC8vIGtleTogZ3JvdXAgbmFtZSwgdmFsdWU6IG51bGwgb3IgYXJyYXkgb2Yga2V5cyByZXByZXNlbnRpbmcgdGhlCiAgLy8gbW9zdCByZWNlbnRseSByZWNlaXZlZCBzZWxlY3Rpb24gZm9yIHRoYXQgZ3JvdXAuCiAgdGhpcy5ncm91cFNlbGVjdGlvbnMgPSB7fTsKICAKICAvLyBzZWxlY3Rpb24gcGFyYW1ldGVycyAoZS5nLiwgdHJhbnNpZW50IHZlcnN1cyBwZXJzaXN0ZW50IHNlbGVjdGlvbikKICB0aGlzLmhpZ2hsaWdodCA9IGhpZ2hsaWdodDsKfQoKVHJhY2VNYW5hZ2VyLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewogIC8vIFRPRE86IFVuaG9vayBhbGwgZXZlbnQgaGFuZGxlcnMKfTsKClRyYWNlTWFuYWdlci5wcm90b3R5cGUudXBkYXRlRmlsdGVyID0gZnVuY3Rpb24oZ3JvdXAsIGtleXMpIHsKCiAgaWYgKHR5cGVvZihrZXlzKSA9PT0gInVuZGVmaW5lZCIgfHwga2V5cyA9PT0gbnVsbCkgewogICAgCiAgICB0aGlzLmdkLmRhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMub3JpZ0RhdGEpKTsKICAgIAogIH0gZWxzZSB7CiAgCiAgICB2YXIgdHJhY2VzID0gW107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3JpZ0RhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgdmFyIHRyYWNlID0gdGhpcy5vcmlnRGF0YVtpXTsKICAgICAgaWYgKCF0cmFjZS5rZXkgfHwgdHJhY2Uuc2V0ICE9PSBncm91cCkgewogICAgICAgIGNvbnRpbnVlOwogICAgICB9CiAgICAgIHZhciBtYXRjaEZ1bmMgPSBnZXRNYXRjaEZ1bmModHJhY2UpOwogICAgICB2YXIgbWF0Y2hlcyA9IG1hdGNoRnVuYyh0cmFjZS5rZXksIGtleXMpOwogICAgICAKICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID4gMCkgewogICAgICAgIGlmICghdHJhY2UuX2lzU2ltcGxlS2V5KSB7CiAgICAgICAgICAvLyBzdWJzZXRBcnJheUF0dHJzIGRvZXNuJ3QgbXV0YXRlIHRyYWNlIChpdCBtYWtlcyBhIG1vZGlmaWVkIGNsb25lKQogICAgICAgICAgdHJhY2UgPSBzdWJzZXRBcnJheUF0dHJzKHRyYWNlLCBtYXRjaGVzKTsKICAgICAgICB9CiAgICAgICAgdHJhY2VzLnB1c2godHJhY2UpOwogICAgICB9CiAgICB9CiAgfQogIAogIHRoaXMuZ2QuZGF0YSA9IHRyYWNlczsKICBQbG90bHkucmVkcmF3KHRoaXMuZ2QpOwogIAogIC8vIE5PVEU6IHdlIHB1cnBvc2VseSBkbyBfbm90XyByZXN0b3JlIHNlbGVjdGlvbihzKSwgc2luY2Ugb24gZmlsdGVyLAogIC8vIGF4aXMgbGlrZWx5IHdpbGwgdXBkYXRlLCBjaGFuZ2luZyB0aGUgcGl4ZWwgLT4gZGF0YSBtYXBwaW5nLCBsZWFkaW5nIAogIC8vIHRvIGEgbGlrZWx5IG1pc21hdGNoIGluIHRoZSBicnVzaCBvdXRsaW5lIGFuZCBoaWdobGlnaHRlZCBtYXJrcwogIAp9OwoKVHJhY2VNYW5hZ2VyLnByb3RvdHlwZS51cGRhdGVTZWxlY3Rpb24gPSBmdW5jdGlvbihncm91cCwga2V5cykgewogIAogIGlmIChrZXlzICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KGtleXMpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQga2V5cyBhcmd1bWVudDsgbnVsbCBvciBhcnJheSBleHBlY3RlZCIpOwogIH0KICAKICAvLyBpZiBzZWxlY3Rpb24gaGFzIGJlZW4gY2xlYXJlZCwgb3IgaWYgdGhpcyBpcyB0cmFuc2llbnQKICAvLyBzZWxlY3Rpb24sIGRlbGV0ZSB0aGUgInNlbGVjdGlvbiB0cmFjZXMiCiAgdmFyIG5OZXdUcmFjZXMgPSB0aGlzLmdkLmRhdGEubGVuZ3RoIC0gdGhpcy5vcmlnRGF0YS5sZW5ndGg7CiAgaWYgKGtleXMgPT09IG51bGwgfHwgIXRoaXMuaGlnaGxpZ2h0LnBlcnNpc3RlbnQgJiYgbk5ld1RyYWNlcyA+IDApIHsKICAgIHZhciB0cmFjZXNUb1JlbW92ZSA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmdkLmRhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgaWYgKHRoaXMuZ2QuZGF0YVtpXS5faXNDcm9zc3RhbGtUcmFjZSkgdHJhY2VzVG9SZW1vdmUucHVzaChpKTsKICAgIH0KICAgIFBsb3RseS5kZWxldGVUcmFjZXModGhpcy5nZCwgdHJhY2VzVG9SZW1vdmUpOwogICAgdGhpcy5ncm91cFNlbGVjdGlvbnNbZ3JvdXBdID0ga2V5czsKICB9IGVsc2UgewogICAgLy8gYWRkIHRvIHRoZSBncm91cFNlbGVjdGlvbiwgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgaXQKICAgIC8vIFRPRE86IGNhbiB0aGlzIGJlIHJlbW92ZWQ/CiAgICB0aGlzLmdyb3VwU2VsZWN0aW9uc1tncm91cF0gPSB0aGlzLmdyb3VwU2VsZWN0aW9uc1tncm91cF0gfHwgW107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHsKICAgICAgdmFyIGsgPSBrZXlzW2ldOwogICAgICBpZiAodGhpcy5ncm91cFNlbGVjdGlvbnNbZ3JvdXBdLmluZGV4T2YoaykgPCAwKSB7CiAgICAgICAgdGhpcy5ncm91cFNlbGVjdGlvbnNbZ3JvdXBdLnB1c2goayk7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgaWYgKGtleXMgPT09IG51bGwpIHsKICAgIAogICAgUGxvdGx5LnJlc3R5bGUodGhpcy5nZCwgeyJvcGFjaXR5IjogdGhpcy5vcmlnT3BhY2l0eX0pOwogICAgCiAgfSBlbHNlIGlmIChrZXlzLmxlbmd0aCA+PSAxKSB7CiAgICAKICAgIC8vIHBsYWNlaG9sZGVyIGZvciBuZXcgInNlbGVjdGlvbiB0cmFjZXMiCiAgICB2YXIgdHJhY2VzID0gW107CiAgICAvLyB0aGlzIHZhcmlhYmxlIGlzIHNldCBpbiBSL2hpZ2hsaWdodC5SCiAgICB2YXIgc2VsZWN0aW9uQ29sb3VyID0gY3Jvc3N0YWxrLmdyb3VwKGdyb3VwKS52YXIoInBsb3RseVNlbGVjdGlvbkNvbG91ciIpLmdldCgpIHx8IAogICAgICB0aGlzLmhpZ2hsaWdodC5jb2xvclswXTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3JpZ0RhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgLy8gVE9ETzogdHJ5IHVzaW5nIExpYi5leHRlbmRGbGF0KCkgYXMgZG9uZSBpbiAgCiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvcGxvdGx5LmpzL3B1bGwvMTEzNiAKICAgICAgdmFyIHRyYWNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmdkLmRhdGFbaV0pKTsKICAgICAgaWYgKCF0cmFjZS5rZXkgfHwgdHJhY2Uuc2V0ICE9PSBncm91cCkgewogICAgICAgIGNvbnRpbnVlOwogICAgICB9CiAgICAgIC8vIEdldCBzb3J0ZWQgYXJyYXkgb2YgbWF0Y2hpbmcgaW5kaWNlcyBpbiB0cmFjZS5rZXkKICAgICAgdmFyIG1hdGNoRnVuYyA9IGdldE1hdGNoRnVuYyh0cmFjZSk7CiAgICAgIHZhciBtYXRjaGVzID0gbWF0Y2hGdW5jKHRyYWNlLmtleSwga2V5cyk7CiAgICAgIAogICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgLy8gSWYgdGhpcyBpcyBhICJzaW1wbGUiIGtleSwgdGhhdCBtZWFucyBzZWxlY3QgdGhlIGVudGlyZSB0cmFjZQogICAgICAgIGlmICghdHJhY2UuX2lzU2ltcGxlS2V5KSB7CiAgICAgICAgICB0cmFjZSA9IHN1YnNldEFycmF5QXR0cnModHJhY2UsIG1hdGNoZXMpOwogICAgICAgIH0KICAgICAgICAvLyByZWFjaCBpbnRvIHRoZSBmdWxsIHRyYWNlIG9iamVjdCBzbyB3ZSBjYW4gcHJvcGVybHkgcmVmbGVjdCB0aGUgCiAgICAgICAgLy8gc2VsZWN0aW9uIGF0dHJpYnV0ZXMgaW4gZXZlcnkgdmlldwogICAgICAgIHZhciBkID0gdGhpcy5nZC5fZnVsbERhdGFbaV07CiAgICAgICAgCiAgICAgICAgLyogCiAgICAgICAgLyBSZWN1cnNpdmVseSBpbmhlcml0IHNlbGVjdGlvbiBhdHRyaWJ1dGVzIGZyb20gdmFyaW91cyBzb3VyY2VzLCAKICAgICAgICAvIGluIG9yZGVyIG9mIHByZWZlcmVuY2U6CiAgICAgICAgLyAgKDEpIG9mZmljaWFsIHBsb3RseS5qcyBzZWxlY3RlZCBhdHRyaWJ1dGUKICAgICAgICAvICAoMikgaGlnaGxpZ2h0KHNlbGVjdGVkID0gYXR0cnNfc2VsZWN0ZWQoLi4uKSkKICAgICAgICAqLwogICAgICAgIC8vIFRPRE86IGl0IHdvdWxkIGJlIG5lYXQgdG8gaGF2ZSBhIGRyb3Bkb3duIHRvIGR5bmFtaWNhbGx5IHNwZWNpZnkgdGhlc2UhCiAgICAgICAgJC5leHRlbmQodHJ1ZSwgdHJhY2UsIHRoaXMuaGlnaGxpZ2h0LnNlbGVjdGVkKTsKICAgICAgICAKICAgICAgICAvLyBpZiBpdCBpcyBkZWZpbmVkLCBvdmVycmlkZSBjb2xvciB3aXRoIHRoZSAiZHluYW1pYyBicnVzaCBjb2xvciIiCiAgICAgICAgaWYgKGQubWFya2VyKSB7CiAgICAgICAgICB0cmFjZS5tYXJrZXIgPSB0cmFjZS5tYXJrZXIgfHwge307CiAgICAgICAgICB0cmFjZS5tYXJrZXIuY29sb3IgPSAgc2VsZWN0aW9uQ29sb3VyIHx8IHRyYWNlLm1hcmtlci5jb2xvciB8fCBkLm1hcmtlci5jb2xvcjsKICAgICAgICB9CiAgICAgICAgaWYgKGQubGluZSkgewogICAgICAgICAgdHJhY2UubGluZSA9IHRyYWNlLmxpbmUgfHwge307CiAgICAgICAgICB0cmFjZS5saW5lLmNvbG9yID0gIHNlbGVjdGlvbkNvbG91ciB8fCB0cmFjZS5saW5lLmNvbG9yIHx8IGQubGluZS5jb2xvcjsKICAgICAgICB9CiAgICAgICAgaWYgKGQudGV4dGZvbnQpIHsKICAgICAgICAgIHRyYWNlLnRleHRmb250ID0gdHJhY2UudGV4dGZvbnQgfHwge307CiAgICAgICAgICB0cmFjZS50ZXh0Zm9udC5jb2xvciA9ICBzZWxlY3Rpb25Db2xvdXIgfHwgdHJhY2UudGV4dGZvbnQuY29sb3IgfHwgZC50ZXh0Zm9udC5jb2xvcjsKICAgICAgICB9CiAgICAgICAgaWYgKGQuZmlsbGNvbG9yKSB7CiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgc2VsZWN0aW9uQ29sb3VyIGluaGVyaXQgYWxwaGEgZnJvbSB0aGUgZXhpc3RpbmcgZmlsbGNvbG9yPwogICAgICAgICAgdHJhY2UuZmlsbGNvbG9yID0gc2VsZWN0aW9uQ29sb3VyIHx8IHRyYWNlLmZpbGxjb2xvciB8fCBkLmZpbGxjb2xvcjsKICAgICAgICB9CiAgICAgICAgLy8gYXR0YWNoIGEgc2Vuc2libGUgbmFtZS9sZWdlbmRncm91cAogICAgICAgIHRyYWNlLm5hbWUgPSB0cmFjZS5uYW1lIHx8IGtleXMuam9pbigiPGJyIC8+Iik7CiAgICAgICAgdHJhY2UubGVnZW5kZ3JvdXAgPSB0cmFjZS5sZWdlbmRncm91cCB8fCBrZXlzLmpvaW4oIjxiciAvPiIpOwogICAgICAgIAogICAgICAgIC8vIGtlZXAgdHJhY2sgb2YgbWFwcGluZyBiZXR3ZWVuIHRoaXMgbmV3IHRyYWNlIGFuZCB0aGUgdHJhY2UgaXQgdGFyZ2V0cwogICAgICAgIC8vIChuZWNlc3NhcnkgZm9yIHVwZGF0aW5nIGZyYW1lcyB0byByZWZsZWN0IHRoZSBzZWxlY3Rpb24gdHJhY2VzKQogICAgICAgIHRyYWNlLl9vcmlnaW5hbEluZGV4ID0gaTsKICAgICAgICB0cmFjZS5fbmV3SW5kZXggPSB0aGlzLmdkLl9mdWxsRGF0YS5sZW5ndGggKyB0cmFjZXMubGVuZ3RoOwogICAgICAgIHRyYWNlLl9pc0Nyb3NzdGFsa1RyYWNlID0gdHJ1ZTsKICAgICAgICB0cmFjZXMucHVzaCh0cmFjZSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgaWYgKHRyYWNlcy5sZW5ndGggPiAwKSB7CiAgICAgIAogICAgICBQbG90bHkuYWRkVHJhY2VzKHRoaXMuZ2QsIHRyYWNlcykudGhlbihmdW5jdGlvbihnZCkgewogICAgICAgIC8vIGluY3JlbWVudGFsbHkgYWRkIHNlbGVjdGlvbiB0cmFjZXMgdG8gZnJhbWVzCiAgICAgICAgLy8gKHRoaXMgaXMgaGVhdmlseSBpbnNwaXJlZCBieSBQbG90bHkuUGxvdHMubW9kaWZ5RnJhbWVzKCkgCiAgICAgICAgLy8gaW4gc3JjL3Bsb3RzL3Bsb3RzLmpzKQogICAgICAgIHZhciBfaGFzaCA9IGdkLl90cmFuc2l0aW9uRGF0YS5fZnJhbWVIYXNoOwogICAgICAgIHZhciBfZnJhbWVzID0gZ2QuX3RyYW5zaXRpb25EYXRhLl9mcmFtZXMgfHwgW107CiAgICAgICAgCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfZnJhbWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAKICAgICAgICAgIC8vIGFkZCB0byBfZnJhbWVzW2ldLnRyYWNlcyAqaWYqIHRoaXMgZnJhbWUgcmVmZXJlbmNlcyBzZWxlY3RlZCB0cmFjZShzKQogICAgICAgICAgdmFyIG5ld0luZGljZXMgPSBbXTsKICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdHJhY2VzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgIHZhciB0ciA9IHRyYWNlc1tqXTsKICAgICAgICAgICAgaWYgKF9mcmFtZXNbaV0udHJhY2VzLmluZGV4T2YodHIuX29yaWdpbmFsSW5kZXgpID4gLTEpIHsKICAgICAgICAgICAgICBuZXdJbmRpY2VzLnB1c2godHIuX25ld0luZGV4KTsKICAgICAgICAgICAgICBfZnJhbWVzW2ldLnRyYWNlcy5wdXNoKHRyLl9uZXdJbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgLy8gbm90aGluZyB0byBkby4uLgogICAgICAgICAgaWYgKG5ld0luZGljZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICB2YXIgY3RyID0gMDsKICAgICAgICAgIHZhciBuRnJhbWVUcmFjZXMgPSBfZnJhbWVzW2ldLmRhdGEubGVuZ3RoOwogICAgICAgICAgCiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG5GcmFtZVRyYWNlczsgaisrKSB7CiAgICAgICAgICAgIHZhciBmcmFtZVRyYWNlID0gX2ZyYW1lc1tpXS5kYXRhW2pdOwogICAgICAgICAgICBpZiAoIWZyYW1lVHJhY2Uua2V5IHx8IGZyYW1lVHJhY2Uuc2V0ICE9PSBncm91cCkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgbWF0Y2hGdW5jID0gZ2V0TWF0Y2hGdW5jKGZyYW1lVHJhY2UpOwogICAgICAgICAgICB2YXIgbWF0Y2hlcyA9IG1hdGNoRnVuYyhmcmFtZVRyYWNlLmtleSwga2V5cyk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgaWYgKCF0cmFjZS5faXNTaW1wbGVLZXkpIHsKICAgICAgICAgICAgICAgIGZyYW1lVHJhY2UgPSBzdWJzZXRBcnJheUF0dHJzKGZyYW1lVHJhY2UsIG1hdGNoZXMpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgZCA9IGdkLl9mdWxsRGF0YVtuZXdJbmRpY2VzW2N0cl1dOwogICAgICAgICAgICAgIGlmIChkLm1hcmtlcikgewogICAgICAgICAgICAgICAgZnJhbWVUcmFjZS5tYXJrZXIgPSBkLm1hcmtlcjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGQubGluZSkgewogICAgICAgICAgICAgICAgZnJhbWVUcmFjZS5saW5lID0gZC5saW5lOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoZC50ZXh0Zm9udCkgewogICAgICAgICAgICAgICAgZnJhbWVUcmFjZS50ZXh0Zm9udCA9IGQudGV4dGZvbnQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGN0ciA9IGN0ciArIDE7CiAgICAgICAgICAgICAgX2ZyYW1lc1tpXS5kYXRhLnB1c2goZnJhbWVUcmFjZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgLy8gdXBkYXRlIGdkLl90cmFuc2l0aW9uRGF0YS5fZnJhbWVIYXNoCiAgICAgICAgICBfaGFzaFtfZnJhbWVzW2ldLm5hbWVdID0gX2ZyYW1lc1tpXTsKICAgICAgICB9CiAgICAgIAogICAgICB9KTsKICAgICAgCiAgICAgIC8vIGRpbSB0cmFjZXMgdGhhdCBoYXZlIGEgc2V0IG1hdGNoaW5nIHRoZSBzZXQgb2Ygc2VsZWN0aW9uIHNldHMKICAgICAgdmFyIHRyYWNlc1RvRGltID0gW10sCiAgICAgICAgICBvcGFjaXRpZXMgPSBbXSwKICAgICAgICAgIHNldHMgPSBPYmplY3Qua2V5cyh0aGlzLmdyb3VwU2VsZWN0aW9ucyksCiAgICAgICAgICBuID0gdGhpcy5vcmlnRGF0YS5sZW5ndGg7CiAgICAgICAgICAKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICB2YXIgb3BhY2l0eSA9IHRoaXMub3JpZ09wYWNpdHlbaV0gfHwgMTsKICAgICAgICAvLyBoYXZlIHdlIGFscmVhZHkgZGltbWVkIHRoaXMgdHJhY2U/IE9yIGlzIHRoaXMgZXZlbiB3b3J0aCBkb2luZz8KICAgICAgICBpZiAob3BhY2l0eSAhPT0gdGhpcy5nZC5fZnVsbERhdGFbaV0ub3BhY2l0eSB8fCB0aGlzLmhpZ2hsaWdodC5vcGFjaXR5RGltID09PSAxKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgLy8gaXMgdGhpcyBzZXQgYW4gZWxlbWVudCBvZiB0aGUgc2V0IG9mIHNlbGVjdGlvbiBzZXRzPwogICAgICAgIHZhciBtYXRjaGVzID0gZmluZE1hdGNoZXMoc2V0cywgW3RoaXMuZ2QuZGF0YVtpXS5zZXRdKTsKICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGgpIHsKICAgICAgICAgIHRyYWNlc1RvRGltLnB1c2goaSk7CiAgICAgICAgICBvcGFjaXRpZXMucHVzaChvcGFjaXR5ICogdGhpcy5oaWdobGlnaHQub3BhY2l0eURpbSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBpZiAodHJhY2VzVG9EaW0ubGVuZ3RoID4gMCkgewogICAgICAgIFBsb3RseS5yZXN0eWxlKHRoaXMuZ2QsIHsib3BhY2l0eSI6IG9wYWNpdGllc30sIHRyYWNlc1RvRGltKTsKICAgICAgICAvLyB0dXJuIG9mZiB0aGUgc2VsZWN0ZWQvdW5zZWxlY3RlZCBBUEkKICAgICAgICBQbG90bHkucmVzdHlsZSh0aGlzLmdkLCB7InNlbGVjdGVkcG9pbnRzIjogbnVsbH0pOwogICAgICB9CiAgICAgIAogICAgfQogICAgCiAgfQp9OwoKLyogCk5vdGU6IGluIGFsbCBvZiB0aGVzZSBtYXRjaCBmdW5jdGlvbnMsIHdlIGFzc3VtZSBuZWVkbGVTZXQgKGkuZS4gdGhlIHNlbGVjdGVkIGtleXMpCmlzIGEgMUQgKG9yIGZsYXQpIGFycmF5LiBUaGUgcmVhbCBkaWZmZXJlbmNlIGlzIHRoZSBtZWFuaW5nIG9mIGhheXN0YWNrLgpmaW5kTWF0Y2hlcygpIGRvZXMgdGhlIHVzdWFsIHRoaW5nIHlvdSdkIGV4cGVjdCBmb3IgCmxpbmtlZCBicnVzaGluZyBvbiBhIHNjYXR0ZXJwbG90IG1hdHJpeC4gZmluZFNpbXBsZU1hdGNoZXMoKSByZXR1cm5zIGEgbWF0Y2ggaWZmIApoYXlzdGFjayBpcyBhIHN1YnNldCBvZiB0aGUgbmVlZGxlU2V0LiBmaW5kTmVzdGVkTWF0Y2hlcygpIHJldHVybnMgCiovCgpmdW5jdGlvbiBnZXRNYXRjaEZ1bmModHJhY2UpIHsKICByZXR1cm4gKHRyYWNlLl9pc05lc3RlZEtleSkgPyBmaW5kTmVzdGVkTWF0Y2hlcyA6IAogICAgKHRyYWNlLl9pc1NpbXBsZUtleSkgPyBmaW5kU2ltcGxlTWF0Y2hlcyA6IGZpbmRNYXRjaGVzOwp9CgovLyBmaW5kIG1hdGNoZXMgZm9yICJmbGF0IiBrZXlzCmZ1bmN0aW9uIGZpbmRNYXRjaGVzKGhheXN0YWNrLCBuZWVkbGVTZXQpIHsKICB2YXIgbWF0Y2hlcyA9IFtdOwogIGhheXN0YWNrLmZvckVhY2goZnVuY3Rpb24ob2JqLCBpKSB7CiAgICBpZiAob2JqID09PSBudWxsIHx8IG5lZWRsZVNldC5pbmRleE9mKG9iaikgPj0gMCkgewogICAgICBtYXRjaGVzLnB1c2goaSk7CiAgICB9CiAgfSk7CiAgcmV0dXJuIG1hdGNoZXM7Cn0KCi8vIGZpbmQgbWF0Y2hlcyBmb3IgInNpbXBsZSIga2V5cwpmdW5jdGlvbiBmaW5kU2ltcGxlTWF0Y2hlcyhoYXlzdGFjaywgbmVlZGxlU2V0KSB7CiAgdmFyIG1hdGNoID0gaGF5c3RhY2suZXZlcnkoZnVuY3Rpb24odmFsKSB7CiAgICByZXR1cm4gdmFsID09PSBudWxsIHx8IG5lZWRsZVNldC5pbmRleE9mKHZhbCkgPj0gMDsKICB9KTsKICAvLyB5ZXMsIHRoaXMgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2Ugb3RoZXIgdGhhbiBjb25mb3JtaW5nIAogIC8vIHRvIHRoZSBvdXRwdXQgdHlwZSBvZiB0aGUgb3RoZXIgbWF0Y2ggZnVuY3Rpb25zCiAgcmV0dXJuIChtYXRjaCkgPyBbMF0gOiBbXQp9CgovLyBmaW5kIG1hdGNoZXMgZm9yIGEgIm5lc3RlZCIgaGF5c3RhY2sgKDJEIGFycmF5cykKZnVuY3Rpb24gZmluZE5lc3RlZE1hdGNoZXMoaGF5c3RhY2ssIG5lZWRsZVNldCkgewogIHZhciBtYXRjaGVzID0gW107CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBoYXlzdGFjay5sZW5ndGg7IGkrKykgewogICAgdmFyIGhheSA9IGhheXN0YWNrW2ldOwogICAgdmFyIG1hdGNoID0gaGF5LmV2ZXJ5KGZ1bmN0aW9uKHZhbCkgeyAKICAgICAgcmV0dXJuIHZhbCA9PT0gbnVsbCB8fCBuZWVkbGVTZXQuaW5kZXhPZih2YWwpID49IDA7IAogICAgfSk7CiAgICBpZiAobWF0Y2gpIHsKICAgICAgbWF0Y2hlcy5wdXNoKGkpOwogICAgfQogIH0KICByZXR1cm4gbWF0Y2hlczsKfQoKZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHsKICByZXR1cm4gKAogICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nICYmCiAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gT2JqZWN0LnByb3RvdHlwZQogICk7Cn0KCmZ1bmN0aW9uIHN1YnNldEFycmF5QXR0cnMob2JqLCBpbmRpY2VzKSB7CiAgdmFyIG5ld09iaiA9IHt9OwogIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICB2YXIgdmFsID0gb2JqW2tdOwoKICAgIGlmIChrLmNoYXJBdCgwKSA9PT0gIl8iKSB7CiAgICAgIG5ld09ialtrXSA9IHZhbDsKICAgIH0gZWxzZSBpZiAoayA9PT0gInRyYW5zZm9ybXMiICYmIEFycmF5LmlzQXJyYXkodmFsKSkgewogICAgICBuZXdPYmpba10gPSB2YWwubWFwKGZ1bmN0aW9uKHRyYW5zZm9ybSkgewogICAgICAgIHJldHVybiBzdWJzZXRBcnJheUF0dHJzKHRyYW5zZm9ybSwgaW5kaWNlcyk7CiAgICAgIH0pOwogICAgfSBlbHNlIGlmIChrID09PSAiY29sb3JzY2FsZSIgJiYgQXJyYXkuaXNBcnJheSh2YWwpKSB7CiAgICAgIG5ld09ialtrXSA9IHZhbDsKICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdCh2YWwpKSB7CiAgICAgIG5ld09ialtrXSA9IHN1YnNldEFycmF5QXR0cnModmFsLCBpbmRpY2VzKTsKICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7CiAgICAgIG5ld09ialtrXSA9IHN1YnNldEFycmF5KHZhbCwgaW5kaWNlcyk7CiAgICB9IGVsc2UgewogICAgICBuZXdPYmpba10gPSB2YWw7CiAgICB9CiAgfSk7CiAgcmV0dXJuIG5ld09iajsKfQoKZnVuY3Rpb24gc3Vic2V0QXJyYXkoYXJyLCBpbmRpY2VzKSB7CiAgdmFyIHJlc3VsdCA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kaWNlcy5sZW5ndGg7IGkrKykgewogICAgcmVzdWx0LnB1c2goYXJyW2luZGljZXNbaV1dKTsKICB9CiAgcmV0dXJuIHJlc3VsdDsKfQoKLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHJlbW92aW5nIHBsb3RseSdzIGJydXNoIApmdW5jdGlvbiByZW1vdmVCcnVzaChlbCkgewogIHZhciBvdXRsaW5lcyA9IGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZWxlY3Qtb3V0bGluZSIpOwogIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0bGluZXMubGVuZ3RoOyBpKyspIHsKICAgIG91dGxpbmVzW2ldLnJlbW92ZSgpOwogIH0KfQoKCi8vIGh0dHBzOi8vZGF2aWR3YWxzaC5uYW1lL2phdmFzY3JpcHQtZGVib3VuY2UtZnVuY3Rpb24KCi8vIFJldHVybnMgYSBmdW5jdGlvbiwgdGhhdCwgYXMgbG9uZyBhcyBpdCBjb250aW51ZXMgdG8gYmUgaW52b2tlZCwgd2lsbCBub3QKLy8gYmUgdHJpZ2dlcmVkLiBUaGUgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgaXQgc3RvcHMgYmVpbmcgY2FsbGVkIGZvcgovLyBOIG1pbGxpc2Vjb25kcy4gSWYgYGltbWVkaWF0ZWAgaXMgcGFzc2VkLCB0cmlnZ2VyIHRoZSBmdW5jdGlvbiBvbiB0aGUKLy8gbGVhZGluZyBlZGdlLCBpbnN0ZWFkIG9mIHRoZSB0cmFpbGluZy4KZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7Cgl2YXIgdGltZW91dDsKCXJldHVybiBmdW5jdGlvbigpIHsKCQl2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7CgkJdmFyIGxhdGVyID0gZnVuY3Rpb24oKSB7CgkJCXRpbWVvdXQgPSBudWxsOwoJCQlpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTsKCQl9OwoJCXZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OwoJCWNsZWFyVGltZW91dCh0aW1lb3V0KTsKCQl0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7CgkJaWYgKGNhbGxOb3cpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7Cgl9Owp9Owo="></script>
-<script src="data:application/x-javascript;base64,KGZ1bmN0aW9uKGdsb2JhbCl7InVzZSBzdHJpY3QiO3ZhciB1bmRlZmluZWQ9dm9pZCAwO3ZhciBNQVhfQVJSQVlfTEVOR1RIPTFlNTtmdW5jdGlvbiBUeXBlKHYpe3N3aXRjaCh0eXBlb2Ygdil7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiJ1bmRlZmluZWQiO2Nhc2UiYm9vbGVhbiI6cmV0dXJuImJvb2xlYW4iO2Nhc2UibnVtYmVyIjpyZXR1cm4ibnVtYmVyIjtjYXNlInN0cmluZyI6cmV0dXJuInN0cmluZyI7ZGVmYXVsdDpyZXR1cm4gdj09PW51bGw/Im51bGwiOiJvYmplY3QifX1mdW5jdGlvbiBDbGFzcyh2KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHYpLnJlcGxhY2UoL15cW29iamVjdCAqfFxdJC9nLCIiKX1mdW5jdGlvbiBJc0NhbGxhYmxlKG8pe3JldHVybiB0eXBlb2Ygbz09PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gVG9PYmplY3Qodil7aWYodj09PW51bGx8fHY9PT11bmRlZmluZWQpdGhyb3cgVHlwZUVycm9yKCk7cmV0dXJuIE9iamVjdCh2KX1mdW5jdGlvbiBUb0ludDMyKHYpe3JldHVybiB2Pj4wfWZ1bmN0aW9uIFRvVWludDMyKHYpe3JldHVybiB2Pj4+MH12YXIgTE4yPU1hdGguTE4yLGFicz1NYXRoLmFicyxmbG9vcj1NYXRoLmZsb29yLGxvZz1NYXRoLmxvZyxtYXg9TWF0aC5tYXgsbWluPU1hdGgubWluLHBvdz1NYXRoLnBvdyxyb3VuZD1NYXRoLnJvdW5kOyhmdW5jdGlvbigpe3ZhciBvcmlnPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZG9tX29ubHk9IWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sIngiLHt9KX1jYXRjaChfKXtyZXR1cm4gZmFsc2V9fSgpO2lmKCFvcmlnfHxkb21fb25seSl7T2JqZWN0LmRlZmluZVByb3BlcnR5PWZ1bmN0aW9uKG8scHJvcCxkZXNjKXtpZihvcmlnKXRyeXtyZXR1cm4gb3JpZyhvLHByb3AsZGVzYyl9Y2F0Y2goXyl7fWlmKG8hPT1PYmplY3QobykpdGhyb3cgVHlwZUVycm9yKCJPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbGVkIG9uIG5vbi1vYmplY3QiKTtpZihPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18mJiJnZXQiaW4gZGVzYylPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18uY2FsbChvLHByb3AsZGVzYy5nZXQpO2lmKE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXyYmInNldCJpbiBkZXNjKU9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXy5jYWxsKG8scHJvcCxkZXNjLnNldCk7aWYoInZhbHVlImluIGRlc2Mpb1twcm9wXT1kZXNjLnZhbHVlO3JldHVybiBvfX19KSgpO2Z1bmN0aW9uIG1ha2VBcnJheUFjY2Vzc29ycyhvYmope2lmKG9iai5sZW5ndGg+TUFYX0FSUkFZX0xFTkdUSCl0aHJvdyBSYW5nZUVycm9yKCJBcnJheSB0b28gbGFyZ2UgZm9yIHBvbHlmaWxsIik7ZnVuY3Rpb24gbWFrZUFycmF5QWNjZXNzb3IoaW5kZXgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosaW5kZXgse2dldDpmdW5jdGlvbigpe3JldHVybiBvYmouX2dldHRlcihpbmRleCl9LHNldDpmdW5jdGlvbih2KXtvYmouX3NldHRlcihpbmRleCx2KX0sZW51bWVyYWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTpmYWxzZX0pfXZhciBpO2ZvcihpPTA7aTxvYmoubGVuZ3RoO2krPTEpe21ha2VBcnJheUFjY2Vzc29yKGkpfX1mdW5jdGlvbiBhc19zaWduZWQodmFsdWUsYml0cyl7dmFyIHM9MzItYml0cztyZXR1cm4gdmFsdWU8PHM+PnN9ZnVuY3Rpb24gYXNfdW5zaWduZWQodmFsdWUsYml0cyl7dmFyIHM9MzItYml0cztyZXR1cm4gdmFsdWU8PHM+Pj5zfWZ1bmN0aW9uIHBhY2tJOChuKXtyZXR1cm5bbiYyNTVdfWZ1bmN0aW9uIHVucGFja0k4KGJ5dGVzKXtyZXR1cm4gYXNfc2lnbmVkKGJ5dGVzWzBdLDgpfWZ1bmN0aW9uIHBhY2tVOChuKXtyZXR1cm5bbiYyNTVdfWZ1bmN0aW9uIHVucGFja1U4KGJ5dGVzKXtyZXR1cm4gYXNfdW5zaWduZWQoYnl0ZXNbMF0sOCl9ZnVuY3Rpb24gcGFja1U4Q2xhbXBlZChuKXtuPXJvdW5kKE51bWJlcihuKSk7cmV0dXJuW248MD8wOm4+MjU1PzI1NTpuJjI1NV19ZnVuY3Rpb24gcGFja0kxNihuKXtyZXR1cm5bbj4+OCYyNTUsbiYyNTVdfWZ1bmN0aW9uIHVucGFja0kxNihieXRlcyl7cmV0dXJuIGFzX3NpZ25lZChieXRlc1swXTw8OHxieXRlc1sxXSwxNil9ZnVuY3Rpb24gcGFja1UxNihuKXtyZXR1cm5bbj4+OCYyNTUsbiYyNTVdfWZ1bmN0aW9uIHVucGFja1UxNihieXRlcyl7cmV0dXJuIGFzX3Vuc2lnbmVkKGJ5dGVzWzBdPDw4fGJ5dGVzWzFdLDE2KX1mdW5jdGlvbiBwYWNrSTMyKG4pe3JldHVybltuPj4yNCYyNTUsbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XX1mdW5jdGlvbiB1bnBhY2tJMzIoYnl0ZXMpe3JldHVybiBhc19zaWduZWQoYnl0ZXNbMF08PDI0fGJ5dGVzWzFdPDwxNnxieXRlc1syXTw8OHxieXRlc1szXSwzMil9ZnVuY3Rpb24gcGFja1UzMihuKXtyZXR1cm5bbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV19ZnVuY3Rpb24gdW5wYWNrVTMyKGJ5dGVzKXtyZXR1cm4gYXNfdW5zaWduZWQoYnl0ZXNbMF08PDI0fGJ5dGVzWzFdPDwxNnxieXRlc1syXTw8OHxieXRlc1szXSwzMil9ZnVuY3Rpb24gcGFja0lFRUU3NTQodixlYml0cyxmYml0cyl7dmFyIGJpYXM9KDE8PGViaXRzLTEpLTEscyxlLGYsbG4saSxiaXRzLHN0cixieXRlcztmdW5jdGlvbiByb3VuZFRvRXZlbihuKXt2YXIgdz1mbG9vcihuKSxmPW4tdztpZihmPC41KXJldHVybiB3O2lmKGY+LjUpcmV0dXJuIHcrMTtyZXR1cm4gdyUyP3crMTp3fWlmKHYhPT12KXtlPSgxPDxlYml0cyktMTtmPXBvdygyLGZiaXRzLTEpO3M9MH1lbHNlIGlmKHY9PT1JbmZpbml0eXx8dj09PS1JbmZpbml0eSl7ZT0oMTw8ZWJpdHMpLTE7Zj0wO3M9djwwPzE6MH1lbHNlIGlmKHY9PT0wKXtlPTA7Zj0wO3M9MS92PT09LUluZmluaXR5PzE6MH1lbHNle3M9djwwO3Y9YWJzKHYpO2lmKHY+PXBvdygyLDEtYmlhcykpe2U9bWluKGZsb29yKGxvZyh2KS9MTjIpLDEwMjMpO2Y9cm91bmRUb0V2ZW4odi9wb3coMixlKSpwb3coMixmYml0cykpO2lmKGYvcG93KDIsZmJpdHMpPj0yKXtlPWUrMTtmPTF9aWYoZT5iaWFzKXtlPSgxPDxlYml0cyktMTtmPTB9ZWxzZXtlPWUrYmlhcztmPWYtcG93KDIsZmJpdHMpfX1lbHNle2U9MDtmPXJvdW5kVG9FdmVuKHYvcG93KDIsMS1iaWFzLWZiaXRzKSl9fWJpdHM9W107Zm9yKGk9ZmJpdHM7aTtpLT0xKXtiaXRzLnB1c2goZiUyPzE6MCk7Zj1mbG9vcihmLzIpfWZvcihpPWViaXRzO2k7aS09MSl7Yml0cy5wdXNoKGUlMj8xOjApO2U9Zmxvb3IoZS8yKX1iaXRzLnB1c2gocz8xOjApO2JpdHMucmV2ZXJzZSgpO3N0cj1iaXRzLmpvaW4oIiIpO2J5dGVzPVtdO3doaWxlKHN0ci5sZW5ndGgpe2J5dGVzLnB1c2gocGFyc2VJbnQoc3RyLnN1YnN0cmluZygwLDgpLDIpKTtzdHI9c3RyLnN1YnN0cmluZyg4KX1yZXR1cm4gYnl0ZXN9ZnVuY3Rpb24gdW5wYWNrSUVFRTc1NChieXRlcyxlYml0cyxmYml0cyl7dmFyIGJpdHM9W10saSxqLGIsc3RyLGJpYXMscyxlLGY7Zm9yKGk9Ynl0ZXMubGVuZ3RoO2k7aS09MSl7Yj1ieXRlc1tpLTFdO2ZvcihqPTg7ajtqLT0xKXtiaXRzLnB1c2goYiUyPzE6MCk7Yj1iPj4xfX1iaXRzLnJldmVyc2UoKTtzdHI9Yml0cy5qb2luKCIiKTtiaWFzPSgxPDxlYml0cy0xKS0xO3M9cGFyc2VJbnQoc3RyLnN1YnN0cmluZygwLDEpLDIpPy0xOjE7ZT1wYXJzZUludChzdHIuc3Vic3RyaW5nKDEsMStlYml0cyksMik7Zj1wYXJzZUludChzdHIuc3Vic3RyaW5nKDErZWJpdHMpLDIpO2lmKGU9PT0oMTw8ZWJpdHMpLTEpe3JldHVybiBmIT09MD9OYU46cypJbmZpbml0eX1lbHNlIGlmKGU+MCl7cmV0dXJuIHMqcG93KDIsZS1iaWFzKSooMStmL3BvdygyLGZiaXRzKSl9ZWxzZSBpZihmIT09MCl7cmV0dXJuIHMqcG93KDIsLShiaWFzLTEpKSooZi9wb3coMixmYml0cykpfWVsc2V7cmV0dXJuIHM8MD8tMDowfX1mdW5jdGlvbiB1bnBhY2tGNjQoYil7cmV0dXJuIHVucGFja0lFRUU3NTQoYiwxMSw1Mil9ZnVuY3Rpb24gcGFja0Y2NCh2KXtyZXR1cm4gcGFja0lFRUU3NTQodiwxMSw1Mil9ZnVuY3Rpb24gdW5wYWNrRjMyKGIpe3JldHVybiB1bnBhY2tJRUVFNzU0KGIsOCwyMyl9ZnVuY3Rpb24gcGFja0YzMih2KXtyZXR1cm4gcGFja0lFRUU3NTQodiw4LDIzKX0oZnVuY3Rpb24oKXtmdW5jdGlvbiBBcnJheUJ1ZmZlcihsZW5ndGgpe2xlbmd0aD1Ub0ludDMyKGxlbmd0aCk7aWYobGVuZ3RoPDApdGhyb3cgUmFuZ2VFcnJvcigiQXJyYXlCdWZmZXIgc2l6ZSBpcyBub3QgYSBzbWFsbCBlbm91Z2ggcG9zaXRpdmUgaW50ZWdlci4iKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmxlbmd0aH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJfYnl0ZXMiLHt2YWx1ZTpBcnJheShsZW5ndGgpfSk7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSs9MSl0aGlzLl9ieXRlc1tpXT0wfWdsb2JhbC5BcnJheUJ1ZmZlcj1nbG9iYWwuQXJyYXlCdWZmZXJ8fEFycmF5QnVmZmVyO2Z1bmN0aW9uICRUeXBlZEFycmF5JCgpe2lmKCFhcmd1bWVudHMubGVuZ3RofHx0eXBlb2YgYXJndW1lbnRzWzBdIT09Im9iamVjdCIpe3JldHVybiBmdW5jdGlvbihsZW5ndGgpe2xlbmd0aD1Ub0ludDMyKGxlbmd0aCk7aWYobGVuZ3RoPDApdGhyb3cgUmFuZ2VFcnJvcigibGVuZ3RoIGlzIG5vdCBhIHNtYWxsIGVub3VnaCBwb3NpdGl2ZSBpbnRlZ2VyLiIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJsZW5ndGgiLHt2YWx1ZTpsZW5ndGh9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmxlbmd0aCp0aGlzLkJZVEVTX1BFUl9FTEVNRU5UfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ1ZmZlciIse3ZhbHVlOm5ldyBBcnJheUJ1ZmZlcih0aGlzLmJ5dGVMZW5ndGgpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ5dGVPZmZzZXQiLHt2YWx1ZTowfSl9LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1pZihhcmd1bWVudHMubGVuZ3RoPj0xJiZUeXBlKGFyZ3VtZW50c1swXSk9PT0ib2JqZWN0IiYmYXJndW1lbnRzWzBdaW5zdGFuY2VvZiAkVHlwZWRBcnJheSQpe3JldHVybiBmdW5jdGlvbih0eXBlZEFycmF5KXtpZih0aGlzLmNvbnN0cnVjdG9yIT09dHlwZWRBcnJheS5jb25zdHJ1Y3Rvcil0aHJvdyBUeXBlRXJyb3IoKTt2YXIgYnl0ZUxlbmd0aD10eXBlZEFycmF5Lmxlbmd0aCp0aGlzLkJZVEVTX1BFUl9FTEVNRU5UO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJidWZmZXIiLHt2YWx1ZTpuZXcgQXJyYXlCdWZmZXIoYnl0ZUxlbmd0aCl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmJ5dGVMZW5ndGh9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZU9mZnNldCIse3ZhbHVlOjB9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibGVuZ3RoIix7dmFsdWU6dHlwZWRBcnJheS5sZW5ndGh9KTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krPTEpdGhpcy5fc2V0dGVyKGksdHlwZWRBcnJheS5fZ2V0dGVyKGkpKX0uYXBwbHkodGhpcyxhcmd1bWVudHMpfWlmKGFyZ3VtZW50cy5sZW5ndGg+PTEmJlR5cGUoYXJndW1lbnRzWzBdKT09PSJvYmplY3QiJiYhKGFyZ3VtZW50c1swXWluc3RhbmNlb2YgJFR5cGVkQXJyYXkkKSYmIShhcmd1bWVudHNbMF1pbnN0YW5jZW9mIEFycmF5QnVmZmVyfHxDbGFzcyhhcmd1bWVudHNbMF0pPT09IkFycmF5QnVmZmVyIikpe3JldHVybiBmdW5jdGlvbihhcnJheSl7dmFyIGJ5dGVMZW5ndGg9YXJyYXkubGVuZ3RoKnRoaXMuQllURVNfUEVSX0VMRU1FTlQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ1ZmZlciIse3ZhbHVlOm5ldyBBcnJheUJ1ZmZlcihieXRlTGVuZ3RoKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlTGVuZ3RoIix7dmFsdWU6Ynl0ZUxlbmd0aH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlT2Zmc2V0Iix7dmFsdWU6MH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJsZW5ndGgiLHt2YWx1ZTphcnJheS5sZW5ndGh9KTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krPTEpe3ZhciBzPWFycmF5W2ldO3RoaXMuX3NldHRlcihpLE51bWJlcihzKSl9fS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9aWYoYXJndW1lbnRzLmxlbmd0aD49MSYmVHlwZShhcmd1bWVudHNbMF0pPT09Im9iamVjdCImJihhcmd1bWVudHNbMF1pbnN0YW5jZW9mIEFycmF5QnVmZmVyfHxDbGFzcyhhcmd1bWVudHNbMF0pPT09IkFycmF5QnVmZmVyIikpe3JldHVybiBmdW5jdGlvbihidWZmZXIsYnl0ZU9mZnNldCxsZW5ndGgpe2J5dGVPZmZzZXQ9VG9VaW50MzIoYnl0ZU9mZnNldCk7aWYoYnl0ZU9mZnNldD5idWZmZXIuYnl0ZUxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJieXRlT2Zmc2V0IG91dCBvZiByYW5nZSIpO2lmKGJ5dGVPZmZzZXQldGhpcy5CWVRFU19QRVJfRUxFTUVOVCl0aHJvdyBSYW5nZUVycm9yKCJidWZmZXIgbGVuZ3RoIG1pbnVzIHRoZSBieXRlT2Zmc2V0IGlzIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBlbGVtZW50IHNpemUuIik7aWYobGVuZ3RoPT09dW5kZWZpbmVkKXt2YXIgYnl0ZUxlbmd0aD1idWZmZXIuYnl0ZUxlbmd0aC1ieXRlT2Zmc2V0O2lmKGJ5dGVMZW5ndGgldGhpcy5CWVRFU19QRVJfRUxFTUVOVCl0aHJvdyBSYW5nZUVycm9yKCJsZW5ndGggb2YgYnVmZmVyIG1pbnVzIGJ5dGVPZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGVsZW1lbnQgc2l6ZSIpO2xlbmd0aD1ieXRlTGVuZ3RoL3RoaXMuQllURVNfUEVSX0VMRU1FTlR9ZWxzZXtsZW5ndGg9VG9VaW50MzIobGVuZ3RoKTtieXRlTGVuZ3RoPWxlbmd0aCp0aGlzLkJZVEVTX1BFUl9FTEVNRU5UfWlmKGJ5dGVPZmZzZXQrYnl0ZUxlbmd0aD5idWZmZXIuYnl0ZUxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJieXRlT2Zmc2V0IGFuZCBsZW5ndGggcmVmZXJlbmNlIGFuIGFyZWEgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJidWZmZXIiLHt2YWx1ZTpidWZmZXJ9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmJ5dGVMZW5ndGh9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZU9mZnNldCIse3ZhbHVlOmJ5dGVPZmZzZXR9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibGVuZ3RoIix7dmFsdWU6bGVuZ3RofSl9LmFwcGx5KHRoaXMsYXJndW1lbnRzKX10aHJvdyBUeXBlRXJyb3IoKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLCJmcm9tIix7dmFsdWU6ZnVuY3Rpb24oaXRlcmFibGUpe3JldHVybiBuZXcgdGhpcyhpdGVyYWJsZSl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JCwib2YiLHt2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcyhhcmd1bWVudHMpfX0pO3ZhciAkVHlwZWRBcnJheVByb3RvdHlwZSQ9e307JFR5cGVkQXJyYXkkLnByb3RvdHlwZT0kVHlwZWRBcnJheVByb3RvdHlwZSQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsIl9nZXR0ZXIiLHt2YWx1ZTpmdW5jdGlvbihpbmRleCl7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXRocm93IFN5bnRheEVycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpO2luZGV4PVRvVWludDMyKGluZGV4KTtpZihpbmRleD49dGhpcy5sZW5ndGgpcmV0dXJuIHVuZGVmaW5lZDt2YXIgYnl0ZXM9W10saSxvO2ZvcihpPTAsbz10aGlzLmJ5dGVPZmZzZXQraW5kZXgqdGhpcy5CWVRFU19QRVJfRUxFTUVOVDtpPHRoaXMuQllURVNfUEVSX0VMRU1FTlQ7aSs9MSxvKz0xKXtieXRlcy5wdXNoKHRoaXMuYnVmZmVyLl9ieXRlc1tvXSl9cmV0dXJuIHRoaXMuX3VucGFjayhieXRlcyl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImdldCIse3ZhbHVlOiRUeXBlZEFycmF5JC5wcm90b3R5cGUuX2dldHRlcn0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJfc2V0dGVyIix7dmFsdWU6ZnVuY3Rpb24oaW5kZXgsdmFsdWUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil0aHJvdyBTeW50YXhFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiKTtpbmRleD1Ub1VpbnQzMihpbmRleCk7aWYoaW5kZXg+PXRoaXMubGVuZ3RoKXJldHVybjt2YXIgYnl0ZXM9dGhpcy5fcGFjayh2YWx1ZSksaSxvO2ZvcihpPTAsbz10aGlzLmJ5dGVPZmZzZXQraW5kZXgqdGhpcy5CWVRFU19QRVJfRUxFTUVOVDtpPHRoaXMuQllURVNfUEVSX0VMRU1FTlQ7aSs9MSxvKz0xKXt0aGlzLmJ1ZmZlci5fYnl0ZXNbb109Ynl0ZXNbaV19fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJjb25zdHJ1Y3RvciIse3ZhbHVlOiRUeXBlZEFycmF5JH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJjb3B5V2l0aGluIix7dmFsdWU6ZnVuY3Rpb24odGFyZ2V0LHN0YXJ0KXt2YXIgZW5kPWFyZ3VtZW50c1syXTt2YXIgbz1Ub09iamVjdCh0aGlzKTt2YXIgbGVuVmFsPW8ubGVuZ3RoO3ZhciBsZW49VG9VaW50MzIobGVuVmFsKTtsZW49bWF4KGxlbiwwKTt2YXIgcmVsYXRpdmVUYXJnZXQ9VG9JbnQzMih0YXJnZXQpO3ZhciB0bztpZihyZWxhdGl2ZVRhcmdldDwwKXRvPW1heChsZW4rcmVsYXRpdmVUYXJnZXQsMCk7ZWxzZSB0bz1taW4ocmVsYXRpdmVUYXJnZXQsbGVuKTt2YXIgcmVsYXRpdmVTdGFydD1Ub0ludDMyKHN0YXJ0KTt2YXIgZnJvbTtpZihyZWxhdGl2ZVN0YXJ0PDApZnJvbT1tYXgobGVuK3JlbGF0aXZlU3RhcnQsMCk7ZWxzZSBmcm9tPW1pbihyZWxhdGl2ZVN0YXJ0LGxlbik7dmFyIHJlbGF0aXZlRW5kO2lmKGVuZD09PXVuZGVmaW5lZClyZWxhdGl2ZUVuZD1sZW47ZWxzZSByZWxhdGl2ZUVuZD1Ub0ludDMyKGVuZCk7dmFyIGZpbmFsO2lmKHJlbGF0aXZlRW5kPDApZmluYWw9bWF4KGxlbityZWxhdGl2ZUVuZCwwKTtlbHNlIGZpbmFsPW1pbihyZWxhdGl2ZUVuZCxsZW4pO3ZhciBjb3VudD1taW4oZmluYWwtZnJvbSxsZW4tdG8pO3ZhciBkaXJlY3Rpb247aWYoZnJvbTx0byYmdG88ZnJvbStjb3VudCl7ZGlyZWN0aW9uPS0xO2Zyb209ZnJvbStjb3VudC0xO3RvPXRvK2NvdW50LTF9ZWxzZXtkaXJlY3Rpb249MX13aGlsZShjb3VudD4wKXtvLl9zZXR0ZXIodG8sby5fZ2V0dGVyKGZyb20pKTtmcm9tPWZyb20rZGlyZWN0aW9uO3RvPXRvK2RpcmVjdGlvbjtjb3VudD1jb3VudC0xfXJldHVybiBvfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJldmVyeSIse3ZhbHVlOmZ1bmN0aW9uKGNhbGxiYWNrZm4pe2lmKHRoaXM9PT11bmRlZmluZWR8fHRoaXM9PT1udWxsKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PU9iamVjdCh0aGlzKTt2YXIgbGVuPVRvVWludDMyKHQubGVuZ3RoKTtpZighSXNDYWxsYWJsZShjYWxsYmFja2ZuKSl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdGhpc0FyZz1hcmd1bWVudHNbMV07Zm9yKHZhciBpPTA7aTxsZW47aSsrKXtpZighY2FsbGJhY2tmbi5jYWxsKHRoaXNBcmcsdC5fZ2V0dGVyKGkpLGksdCkpcmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJmaWxsIix7dmFsdWU6ZnVuY3Rpb24odmFsdWUpe3ZhciBzdGFydD1hcmd1bWVudHNbMV0sZW5kPWFyZ3VtZW50c1syXTt2YXIgbz1Ub09iamVjdCh0aGlzKTt2YXIgbGVuVmFsPW8ubGVuZ3RoO3ZhciBsZW49VG9VaW50MzIobGVuVmFsKTtsZW49bWF4KGxlbiwwKTt2YXIgcmVsYXRpdmVTdGFydD1Ub0ludDMyKHN0YXJ0KTt2YXIgaztpZihyZWxhdGl2ZVN0YXJ0PDApaz1tYXgobGVuK3JlbGF0aXZlU3RhcnQsMCk7ZWxzZSBrPW1pbihyZWxhdGl2ZVN0YXJ0LGxlbik7dmFyIHJlbGF0aXZlRW5kO2lmKGVuZD09PXVuZGVmaW5lZClyZWxhdGl2ZUVuZD1sZW47ZWxzZSByZWxhdGl2ZUVuZD1Ub0ludDMyKGVuZCk7dmFyIGZpbmFsO2lmKHJlbGF0aXZlRW5kPDApZmluYWw9bWF4KGxlbityZWxhdGl2ZUVuZCwwKTtlbHNlIGZpbmFsPW1pbihyZWxhdGl2ZUVuZCxsZW4pO3doaWxlKGs8ZmluYWwpe28uX3NldHRlcihrLHZhbHVlKTtrKz0xfXJldHVybiBvfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJmaWx0ZXIiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHJlcz1bXTt2YXIgdGhpc3A9YXJndW1lbnRzWzFdO2Zvcih2YXIgaT0wO2k8bGVuO2krKyl7dmFyIHZhbD10Ll9nZXR0ZXIoaSk7aWYoY2FsbGJhY2tmbi5jYWxsKHRoaXNwLHZhbCxpLHQpKXJlcy5wdXNoKHZhbCl9cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHJlcyl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImZpbmQiLHt2YWx1ZTpmdW5jdGlvbihwcmVkaWNhdGUpe3ZhciBvPVRvT2JqZWN0KHRoaXMpO3ZhciBsZW5WYWx1ZT1vLmxlbmd0aDt2YXIgbGVuPVRvVWludDMyKGxlblZhbHVlKTtpZighSXNDYWxsYWJsZShwcmVkaWNhdGUpKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dW5kZWZpbmVkO3ZhciBrPTA7d2hpbGUoazxsZW4pe3ZhciBrVmFsdWU9by5fZ2V0dGVyKGspO3ZhciB0ZXN0UmVzdWx0PXByZWRpY2F0ZS5jYWxsKHQsa1ZhbHVlLGssbyk7aWYoQm9vbGVhbih0ZXN0UmVzdWx0KSlyZXR1cm4ga1ZhbHVlOysra31yZXR1cm4gdW5kZWZpbmVkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJmaW5kSW5kZXgiLHt2YWx1ZTpmdW5jdGlvbihwcmVkaWNhdGUpe3ZhciBvPVRvT2JqZWN0KHRoaXMpO3ZhciBsZW5WYWx1ZT1vLmxlbmd0aDt2YXIgbGVuPVRvVWludDMyKGxlblZhbHVlKTtpZighSXNDYWxsYWJsZShwcmVkaWNhdGUpKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dW5kZWZpbmVkO3ZhciBrPTA7d2hpbGUoazxsZW4pe3ZhciBrVmFsdWU9by5fZ2V0dGVyKGspO3ZhciB0ZXN0UmVzdWx0PXByZWRpY2F0ZS5jYWxsKHQsa1ZhbHVlLGssbyk7aWYoQm9vbGVhbih0ZXN0UmVzdWx0KSlyZXR1cm4gazsrK2t9cmV0dXJuLTF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImZvckVhY2giLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHRoaXNwPWFyZ3VtZW50c1sxXTtmb3IodmFyIGk9MDtpPGxlbjtpKyspY2FsbGJhY2tmbi5jYWxsKHRoaXNwLHQuX2dldHRlcihpKSxpLHQpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJpbmRleE9mIix7dmFsdWU6ZnVuY3Rpb24oc2VhcmNoRWxlbWVudCl7aWYodGhpcz09PXVuZGVmaW5lZHx8dGhpcz09PW51bGwpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHQ9T2JqZWN0KHRoaXMpO3ZhciBsZW49VG9VaW50MzIodC5sZW5ndGgpO2lmKGxlbj09PTApcmV0dXJuLTE7dmFyIG49MDtpZihhcmd1bWVudHMubGVuZ3RoPjApe249TnVtYmVyKGFyZ3VtZW50c1sxXSk7aWYobiE9PW4pe249MH1lbHNlIGlmKG4hPT0wJiZuIT09MS8wJiZuIT09LSgxLzApKXtuPShuPjB8fC0xKSpmbG9vcihhYnMobikpfX1pZihuPj1sZW4pcmV0dXJuLTE7dmFyIGs9bj49MD9uOm1heChsZW4tYWJzKG4pLDApO2Zvcig7azxsZW47aysrKXtpZih0Ll9nZXR0ZXIoayk9PT1zZWFyY2hFbGVtZW50KXtyZXR1cm4ga319cmV0dXJuLTF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImpvaW4iLHt2YWx1ZTpmdW5jdGlvbihzZXBhcmF0b3Ipe2lmKHRoaXM9PT11bmRlZmluZWR8fHRoaXM9PT1udWxsKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PU9iamVjdCh0aGlzKTt2YXIgbGVuPVRvVWludDMyKHQubGVuZ3RoKTt2YXIgdG1wPUFycmF5KGxlbik7Zm9yKHZhciBpPTA7aTxsZW47KytpKXRtcFtpXT10Ll9nZXR0ZXIoaSk7cmV0dXJuIHRtcC5qb2luKHNlcGFyYXRvcj09PXVuZGVmaW5lZD8iLCI6c2VwYXJhdG9yKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwibGFzdEluZGV4T2YiLHt2YWx1ZTpmdW5jdGlvbihzZWFyY2hFbGVtZW50KXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYobGVuPT09MClyZXR1cm4tMTt2YXIgbj1sZW47aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtuPU51bWJlcihhcmd1bWVudHNbMV0pO2lmKG4hPT1uKXtuPTB9ZWxzZSBpZihuIT09MCYmbiE9PTEvMCYmbiE9PS0oMS8wKSl7bj0obj4wfHwtMSkqZmxvb3IoYWJzKG4pKX19dmFyIGs9bj49MD9taW4obixsZW4tMSk6bGVuLWFicyhuKTtmb3IoO2s+PTA7ay0tKXtpZih0Ll9nZXR0ZXIoayk9PT1zZWFyY2hFbGVtZW50KXJldHVybiBrfXJldHVybi0xfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJtYXAiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHJlcz1bXTtyZXMubGVuZ3RoPWxlbjt2YXIgdGhpc3A9YXJndW1lbnRzWzFdO2Zvcih2YXIgaT0wO2k8bGVuO2krKylyZXNbaV09Y2FsbGJhY2tmbi5jYWxsKHRoaXNwLHQuX2dldHRlcihpKSxpLHQpO3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3RvcihyZXMpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJyZWR1Y2UiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7aWYobGVuPT09MCYmYXJndW1lbnRzLmxlbmd0aD09PTEpdGhyb3cgVHlwZUVycm9yKCk7dmFyIGs9MDt2YXIgYWNjdW11bGF0b3I7aWYoYXJndW1lbnRzLmxlbmd0aD49Mil7YWNjdW11bGF0b3I9YXJndW1lbnRzWzFdfWVsc2V7YWNjdW11bGF0b3I9dC5fZ2V0dGVyKGsrKyl9d2hpbGUoazxsZW4pe2FjY3VtdWxhdG9yPWNhbGxiYWNrZm4uY2FsbCh1bmRlZmluZWQsYWNjdW11bGF0b3IsdC5fZ2V0dGVyKGspLGssdCk7aysrfXJldHVybiBhY2N1bXVsYXRvcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwicmVkdWNlUmlnaHQiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7aWYobGVuPT09MCYmYXJndW1lbnRzLmxlbmd0aD09PTEpdGhyb3cgVHlwZUVycm9yKCk7dmFyIGs9bGVuLTE7dmFyIGFjY3VtdWxhdG9yO2lmKGFyZ3VtZW50cy5sZW5ndGg+PTIpe2FjY3VtdWxhdG9yPWFyZ3VtZW50c1sxXX1lbHNle2FjY3VtdWxhdG9yPXQuX2dldHRlcihrLS0pfXdoaWxlKGs+PTApe2FjY3VtdWxhdG9yPWNhbGxiYWNrZm4uY2FsbCh1bmRlZmluZWQsYWNjdW11bGF0b3IsdC5fZ2V0dGVyKGspLGssdCk7ay0tfXJldHVybiBhY2N1bXVsYXRvcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwicmV2ZXJzZSIse3ZhbHVlOmZ1bmN0aW9uKCl7aWYodGhpcz09PXVuZGVmaW5lZHx8dGhpcz09PW51bGwpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHQ9T2JqZWN0KHRoaXMpO3ZhciBsZW49VG9VaW50MzIodC5sZW5ndGgpO3ZhciBoYWxmPWZsb29yKGxlbi8yKTtmb3IodmFyIGk9MCxqPWxlbi0xO2k8aGFsZjsrK2ksLS1qKXt2YXIgdG1wPXQuX2dldHRlcihpKTt0Ll9zZXR0ZXIoaSx0Ll9nZXR0ZXIoaikpO3QuX3NldHRlcihqLHRtcCl9cmV0dXJuIHR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsInNldCIse3ZhbHVlOmZ1bmN0aW9uKGluZGV4LHZhbHVlKXtpZihhcmd1bWVudHMubGVuZ3RoPDEpdGhyb3cgU3ludGF4RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIik7dmFyIGFycmF5LHNlcXVlbmNlLG9mZnNldCxsZW4saSxzLGQsYnl0ZU9mZnNldCxieXRlTGVuZ3RoLHRtcDtpZih0eXBlb2YgYXJndW1lbnRzWzBdPT09Im9iamVjdCImJmFyZ3VtZW50c1swXS5jb25zdHJ1Y3Rvcj09PXRoaXMuY29uc3RydWN0b3Ipe2FycmF5PWFyZ3VtZW50c1swXTtvZmZzZXQ9VG9VaW50MzIoYXJndW1lbnRzWzFdKTtpZihvZmZzZXQrYXJyYXkubGVuZ3RoPnRoaXMubGVuZ3RoKXt0aHJvdyBSYW5nZUVycm9yKCJPZmZzZXQgcGx1cyBsZW5ndGggb2YgYXJyYXkgaXMgb3V0IG9mIHJhbmdlIil9Ynl0ZU9mZnNldD10aGlzLmJ5dGVPZmZzZXQrb2Zmc2V0KnRoaXMuQllURVNfUEVSX0VMRU1FTlQ7Ynl0ZUxlbmd0aD1hcnJheS5sZW5ndGgqdGhpcy5CWVRFU19QRVJfRUxFTUVOVDtpZihhcnJheS5idWZmZXI9PT10aGlzLmJ1ZmZlcil7dG1wPVtdO2ZvcihpPTAscz1hcnJheS5ieXRlT2Zmc2V0O2k8Ynl0ZUxlbmd0aDtpKz0xLHMrPTEpe3RtcFtpXT1hcnJheS5idWZmZXIuX2J5dGVzW3NdfWZvcihpPTAsZD1ieXRlT2Zmc2V0O2k8Ynl0ZUxlbmd0aDtpKz0xLGQrPTEpe3RoaXMuYnVmZmVyLl9ieXRlc1tkXT10bXBbaV19fWVsc2V7Zm9yKGk9MCxzPWFycmF5LmJ5dGVPZmZzZXQsZD1ieXRlT2Zmc2V0O2k8Ynl0ZUxlbmd0aDtpKz0xLHMrPTEsZCs9MSl7dGhpcy5idWZmZXIuX2J5dGVzW2RdPWFycmF5LmJ1ZmZlci5fYnl0ZXNbc119fX1lbHNlIGlmKHR5cGVvZiBhcmd1bWVudHNbMF09PT0ib2JqZWN0IiYmdHlwZW9mIGFyZ3VtZW50c1swXS5sZW5ndGghPT0idW5kZWZpbmVkIil7c2VxdWVuY2U9YXJndW1lbnRzWzBdO2xlbj1Ub1VpbnQzMihzZXF1ZW5jZS5sZW5ndGgpO29mZnNldD1Ub1VpbnQzMihhcmd1bWVudHNbMV0pO2lmKG9mZnNldCtsZW4+dGhpcy5sZW5ndGgpe3Rocm93IFJhbmdlRXJyb3IoIk9mZnNldCBwbHVzIGxlbmd0aCBvZiBhcnJheSBpcyBvdXQgb2YgcmFuZ2UiKX1mb3IoaT0wO2k8bGVuO2krPTEpe3M9c2VxdWVuY2VbaV07dGhpcy5fc2V0dGVyKG9mZnNldCtpLE51bWJlcihzKSl9fWVsc2V7dGhyb3cgVHlwZUVycm9yKCJVbmV4cGVjdGVkIGFyZ3VtZW50IHR5cGUocykiKX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsInNsaWNlIix7dmFsdWU6ZnVuY3Rpb24oc3RhcnQsZW5kKXt2YXIgbz1Ub09iamVjdCh0aGlzKTt2YXIgbGVuVmFsPW8ubGVuZ3RoO3ZhciBsZW49VG9VaW50MzIobGVuVmFsKTt2YXIgcmVsYXRpdmVTdGFydD1Ub0ludDMyKHN0YXJ0KTt2YXIgaz1yZWxhdGl2ZVN0YXJ0PDA/bWF4KGxlbityZWxhdGl2ZVN0YXJ0LDApOm1pbihyZWxhdGl2ZVN0YXJ0LGxlbik7dmFyIHJlbGF0aXZlRW5kPWVuZD09PXVuZGVmaW5lZD9sZW46VG9JbnQzMihlbmQpO3ZhciBmaW5hbD1yZWxhdGl2ZUVuZDwwP21heChsZW4rcmVsYXRpdmVFbmQsMCk6bWluKHJlbGF0aXZlRW5kLGxlbik7dmFyIGNvdW50PWZpbmFsLWs7dmFyIGM9by5jb25zdHJ1Y3Rvcjt2YXIgYT1uZXcgYyhjb3VudCk7dmFyIG49MDt3aGlsZShrPGZpbmFsKXt2YXIga1ZhbHVlPW8uX2dldHRlcihrKTthLl9zZXR0ZXIobixrVmFsdWUpOysrazsrK259cmV0dXJuIGF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsInNvbWUiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHRoaXNwPWFyZ3VtZW50c1sxXTtmb3IodmFyIGk9MDtpPGxlbjtpKyspe2lmKGNhbGxiYWNrZm4uY2FsbCh0aGlzcCx0Ll9nZXR0ZXIoaSksaSx0KSl7cmV0dXJuIHRydWV9fXJldHVybiBmYWxzZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwic29ydCIse3ZhbHVlOmZ1bmN0aW9uKGNvbXBhcmVmbil7aWYodGhpcz09PXVuZGVmaW5lZHx8dGhpcz09PW51bGwpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHQ9T2JqZWN0KHRoaXMpO3ZhciBsZW49VG9VaW50MzIodC5sZW5ndGgpO3ZhciB0bXA9QXJyYXkobGVuKTtmb3IodmFyIGk9MDtpPGxlbjsrK2kpdG1wW2ldPXQuX2dldHRlcihpKTtpZihjb21wYXJlZm4pdG1wLnNvcnQoY29tcGFyZWZuKTtlbHNlIHRtcC5zb3J0KCk7Zm9yKGk9MDtpPGxlbjsrK2kpdC5fc2V0dGVyKGksdG1wW2ldKTtyZXR1cm4gdH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwic3ViYXJyYXkiLHt2YWx1ZTpmdW5jdGlvbihzdGFydCxlbmQpe2Z1bmN0aW9uIGNsYW1wKHYsbWluLG1heCl7cmV0dXJuIHY8bWluP21pbjp2Pm1heD9tYXg6dn1zdGFydD1Ub0ludDMyKHN0YXJ0KTtlbmQ9VG9JbnQzMihlbmQpO2lmKGFyZ3VtZW50cy5sZW5ndGg8MSl7c3RhcnQ9MH1pZihhcmd1bWVudHMubGVuZ3RoPDIpe2VuZD10aGlzLmxlbmd0aH1pZihzdGFydDwwKXtzdGFydD10aGlzLmxlbmd0aCtzdGFydH1pZihlbmQ8MCl7ZW5kPXRoaXMubGVuZ3RoK2VuZH1zdGFydD1jbGFtcChzdGFydCwwLHRoaXMubGVuZ3RoKTtlbmQ9Y2xhbXAoZW5kLDAsdGhpcy5sZW5ndGgpO3ZhciBsZW49ZW5kLXN0YXJ0O2lmKGxlbjwwKXtsZW49MH1yZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3N0YXJ0KnRoaXMuQllURVNfUEVSX0VMRU1FTlQsbGVuKX19KTtmdW5jdGlvbiBtYWtlVHlwZWRBcnJheShlbGVtZW50U2l6ZSxwYWNrLHVucGFjayl7dmFyIFR5cGVkQXJyYXk9ZnVuY3Rpb24oKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiY29uc3RydWN0b3IiLHt2YWx1ZTpUeXBlZEFycmF5fSk7JFR5cGVkQXJyYXkkLmFwcGx5KHRoaXMsYXJndW1lbnRzKTttYWtlQXJyYXlBY2Nlc3NvcnModGhpcyl9O2lmKCJfX3Byb3RvX18iaW4gVHlwZWRBcnJheSl7VHlwZWRBcnJheS5fX3Byb3RvX189JFR5cGVkQXJyYXkkfWVsc2V7VHlwZWRBcnJheS5mcm9tPSRUeXBlZEFycmF5JC5mcm9tO1R5cGVkQXJyYXkub2Y9JFR5cGVkQXJyYXkkLm9mfVR5cGVkQXJyYXkuQllURVNfUEVSX0VMRU1FTlQ9ZWxlbWVudFNpemU7dmFyIFR5cGVkQXJyYXlQcm90b3R5cGU9ZnVuY3Rpb24oKXt9O1R5cGVkQXJyYXlQcm90b3R5cGUucHJvdG90eXBlPSRUeXBlZEFycmF5UHJvdG90eXBlJDtUeXBlZEFycmF5LnByb3RvdHlwZT1uZXcgVHlwZWRBcnJheVByb3RvdHlwZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVHlwZWRBcnJheS5wcm90b3R5cGUsIkJZVEVTX1BFUl9FTEVNRU5UIix7dmFsdWU6ZWxlbWVudFNpemV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVHlwZWRBcnJheS5wcm90b3R5cGUsIl9wYWNrIix7dmFsdWU6cGFja30pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShUeXBlZEFycmF5LnByb3RvdHlwZSwiX3VucGFjayIse3ZhbHVlOnVucGFja30pO3JldHVybiBUeXBlZEFycmF5fXZhciBJbnQ4QXJyYXk9bWFrZVR5cGVkQXJyYXkoMSxwYWNrSTgsdW5wYWNrSTgpO3ZhciBVaW50OEFycmF5PW1ha2VUeXBlZEFycmF5KDEscGFja1U4LHVucGFja1U4KTt2YXIgVWludDhDbGFtcGVkQXJyYXk9bWFrZVR5cGVkQXJyYXkoMSxwYWNrVThDbGFtcGVkLHVucGFja1U4KTt2YXIgSW50MTZBcnJheT1tYWtlVHlwZWRBcnJheSgyLHBhY2tJMTYsdW5wYWNrSTE2KTt2YXIgVWludDE2QXJyYXk9bWFrZVR5cGVkQXJyYXkoMixwYWNrVTE2LHVucGFja1UxNik7dmFyIEludDMyQXJyYXk9bWFrZVR5cGVkQXJyYXkoNCxwYWNrSTMyLHVucGFja0kzMik7dmFyIFVpbnQzMkFycmF5PW1ha2VUeXBlZEFycmF5KDQscGFja1UzMix1bnBhY2tVMzIpO3ZhciBGbG9hdDMyQXJyYXk9bWFrZVR5cGVkQXJyYXkoNCxwYWNrRjMyLHVucGFja0YzMik7dmFyIEZsb2F0NjRBcnJheT1tYWtlVHlwZWRBcnJheSg4LHBhY2tGNjQsdW5wYWNrRjY0KTtnbG9iYWwuSW50OEFycmF5PWdsb2JhbC5JbnQ4QXJyYXl8fEludDhBcnJheTtnbG9iYWwuVWludDhBcnJheT1nbG9iYWwuVWludDhBcnJheXx8VWludDhBcnJheTtnbG9iYWwuVWludDhDbGFtcGVkQXJyYXk9Z2xvYmFsLlVpbnQ4Q2xhbXBlZEFycmF5fHxVaW50OENsYW1wZWRBcnJheTtnbG9iYWwuSW50MTZBcnJheT1nbG9iYWwuSW50MTZBcnJheXx8SW50MTZBcnJheTtnbG9iYWwuVWludDE2QXJyYXk9Z2xvYmFsLlVpbnQxNkFycmF5fHxVaW50MTZBcnJheTtnbG9iYWwuSW50MzJBcnJheT1nbG9iYWwuSW50MzJBcnJheXx8SW50MzJBcnJheTtnbG9iYWwuVWludDMyQXJyYXk9Z2xvYmFsLlVpbnQzMkFycmF5fHxVaW50MzJBcnJheTtnbG9iYWwuRmxvYXQzMkFycmF5PWdsb2JhbC5GbG9hdDMyQXJyYXl8fEZsb2F0MzJBcnJheTtnbG9iYWwuRmxvYXQ2NEFycmF5PWdsb2JhbC5GbG9hdDY0QXJyYXl8fEZsb2F0NjRBcnJheX0pKCk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihhcnJheSxpbmRleCl7cmV0dXJuIElzQ2FsbGFibGUoYXJyYXkuZ2V0KT9hcnJheS5nZXQoaW5kZXgpOmFycmF5W2luZGV4XX12YXIgSVNfQklHX0VORElBTj1mdW5jdGlvbigpe3ZhciB1MTZhcnJheT1uZXcgVWludDE2QXJyYXkoWzQ2NjBdKSx1OGFycmF5PW5ldyBVaW50OEFycmF5KHUxNmFycmF5LmJ1ZmZlcik7cmV0dXJuIHIodThhcnJheSwwKT09PTE4fSgpO2Z1bmN0aW9uIERhdGFWaWV3KGJ1ZmZlcixieXRlT2Zmc2V0LGJ5dGVMZW5ndGgpe2lmKCEoYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fENsYXNzKGJ1ZmZlcik9PT0iQXJyYXlCdWZmZXIiKSl0aHJvdyBUeXBlRXJyb3IoKTtieXRlT2Zmc2V0PVRvVWludDMyKGJ5dGVPZmZzZXQpO2lmKGJ5dGVPZmZzZXQ+YnVmZmVyLmJ5dGVMZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcigiYnl0ZU9mZnNldCBvdXQgb2YgcmFuZ2UiKTtpZihieXRlTGVuZ3RoPT09dW5kZWZpbmVkKWJ5dGVMZW5ndGg9YnVmZmVyLmJ5dGVMZW5ndGgtYnl0ZU9mZnNldDtlbHNlIGJ5dGVMZW5ndGg9VG9VaW50MzIoYnl0ZUxlbmd0aCk7aWYoYnl0ZU9mZnNldCtieXRlTGVuZ3RoPmJ1ZmZlci5ieXRlTGVuZ3RoKXRocm93IFJhbmdlRXJyb3IoImJ5dGVPZmZzZXQgYW5kIGxlbmd0aCByZWZlcmVuY2UgYW4gYXJlYSBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ1ZmZlciIse3ZhbHVlOmJ1ZmZlcn0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlTGVuZ3RoIix7dmFsdWU6Ynl0ZUxlbmd0aH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlT2Zmc2V0Iix7dmFsdWU6Ynl0ZU9mZnNldH0pfWZ1bmN0aW9uIG1ha2VHZXR0ZXIoYXJyYXlUeXBlKXtyZXR1cm4gZnVuY3Rpb24gR2V0Vmlld1ZhbHVlKGJ5dGVPZmZzZXQsbGl0dGxlRW5kaWFuKXtieXRlT2Zmc2V0PVRvVWludDMyKGJ5dGVPZmZzZXQpO2lmKGJ5dGVPZmZzZXQrYXJyYXlUeXBlLkJZVEVTX1BFUl9FTEVNRU5UPnRoaXMuYnl0ZUxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJBcnJheSBpbmRleCBvdXQgb2YgcmFuZ2UiKTtieXRlT2Zmc2V0Kz10aGlzLmJ5dGVPZmZzZXQ7dmFyIHVpbnQ4QXJyYXk9bmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIsYnl0ZU9mZnNldCxhcnJheVR5cGUuQllURVNfUEVSX0VMRU1FTlQpLGJ5dGVzPVtdO2Zvcih2YXIgaT0wO2k8YXJyYXlUeXBlLkJZVEVTX1BFUl9FTEVNRU5UO2krPTEpYnl0ZXMucHVzaChyKHVpbnQ4QXJyYXksaSkpO2lmKEJvb2xlYW4obGl0dGxlRW5kaWFuKT09PUJvb2xlYW4oSVNfQklHX0VORElBTikpYnl0ZXMucmV2ZXJzZSgpO3JldHVybiByKG5ldyBhcnJheVR5cGUobmV3IFVpbnQ4QXJyYXkoYnl0ZXMpLmJ1ZmZlciksMCl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldFVpbnQ4Iix7dmFsdWU6bWFrZUdldHRlcihVaW50OEFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldEludDgiLHt2YWx1ZTptYWtlR2V0dGVyKEludDhBcnJheSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0YVZpZXcucHJvdG90eXBlLCJnZXRVaW50MTYiLHt2YWx1ZTptYWtlR2V0dGVyKFVpbnQxNkFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldEludDE2Iix7dmFsdWU6bWFrZUdldHRlcihJbnQxNkFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldFVpbnQzMiIse3ZhbHVlOm1ha2VHZXR0ZXIoVWludDMyQXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwiZ2V0SW50MzIiLHt2YWx1ZTptYWtlR2V0dGVyKEludDMyQXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwiZ2V0RmxvYXQzMiIse3ZhbHVlOm1ha2VHZXR0ZXIoRmxvYXQzMkFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldEZsb2F0NjQiLHt2YWx1ZTptYWtlR2V0dGVyKEZsb2F0NjRBcnJheSl9KTtmdW5jdGlvbiBtYWtlU2V0dGVyKGFycmF5VHlwZSl7cmV0dXJuIGZ1bmN0aW9uIFNldFZpZXdWYWx1ZShieXRlT2Zmc2V0LHZhbHVlLGxpdHRsZUVuZGlhbil7Ynl0ZU9mZnNldD1Ub1VpbnQzMihieXRlT2Zmc2V0KTtpZihieXRlT2Zmc2V0K2FycmF5VHlwZS5CWVRFU19QRVJfRUxFTUVOVD50aGlzLmJ5dGVMZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcigiQXJyYXkgaW5kZXggb3V0IG9mIHJhbmdlIik7dmFyIHR5cGVBcnJheT1uZXcgYXJyYXlUeXBlKFt2YWx1ZV0pLGJ5dGVBcnJheT1uZXcgVWludDhBcnJheSh0eXBlQXJyYXkuYnVmZmVyKSxieXRlcz1bXSxpLGJ5dGVWaWV3O2ZvcihpPTA7aTxhcnJheVR5cGUuQllURVNfUEVSX0VMRU1FTlQ7aSs9MSlieXRlcy5wdXNoKHIoYnl0ZUFycmF5LGkpKTtpZihCb29sZWFuKGxpdHRsZUVuZGlhbik9PT1Cb29sZWFuKElTX0JJR19FTkRJQU4pKWJ5dGVzLnJldmVyc2UoKTtieXRlVmlldz1uZXcgVWludDhBcnJheSh0aGlzLmJ1ZmZlcixieXRlT2Zmc2V0LGFycmF5VHlwZS5CWVRFU19QRVJfRUxFTUVOVCk7Ynl0ZVZpZXcuc2V0KGJ5dGVzKX19T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0VWludDgiLHt2YWx1ZTptYWtlU2V0dGVyKFVpbnQ4QXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0SW50OCIse3ZhbHVlOm1ha2VTZXR0ZXIoSW50OEFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsInNldFVpbnQxNiIse3ZhbHVlOm1ha2VTZXR0ZXIoVWludDE2QXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0SW50MTYiLHt2YWx1ZTptYWtlU2V0dGVyKEludDE2QXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0VWludDMyIix7dmFsdWU6bWFrZVNldHRlcihVaW50MzJBcnJheSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0YVZpZXcucHJvdG90eXBlLCJzZXRJbnQzMiIse3ZhbHVlOm1ha2VTZXR0ZXIoSW50MzJBcnJheSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0YVZpZXcucHJvdG90eXBlLCJzZXRGbG9hdDMyIix7dmFsdWU6bWFrZVNldHRlcihGbG9hdDMyQXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0RmxvYXQ2NCIse3ZhbHVlOm1ha2VTZXR0ZXIoRmxvYXQ2NEFycmF5KX0pO2dsb2JhbC5EYXRhVmlldz1nbG9iYWwuRGF0YVZpZXd8fERhdGFWaWV3fSkoKX0pKHRoaXMpOw=="></script>
-<link href="data:text/css;charset=utf-8,%0A%2Econtainer%2Dfluid%2Ecrosstalk%2Dbscols%20%7B%0Amargin%2Dleft%3A%20%2D30px%3B%0Amargin%2Dright%3A%20%2D30px%3B%0Awhite%2Dspace%3A%20normal%3B%0A%7D%0A%0Abody%20%3E%20%2Econtainer%2Dfluid%2Ecrosstalk%2Dbscols%20%7B%0Amargin%2Dleft%3A%20auto%3B%0Amargin%2Dright%3A%20auto%3B%0A%7D%0A%2Ecrosstalk%2Dinput%2Dcheckboxgroup%20%2Ecrosstalk%2Doptions%2Dgroup%20%2Ecrosstalk%2Doptions%2Dcolumn%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Apadding%2Dright%3A%2012px%3B%0Avertical%2Dalign%3A%20top%3B%0A%7D%0A%40media%20only%20screen%20and%20%28max%2Dwidth%3A480px%29%20%7B%0A%2Ecrosstalk%2Dinput%2Dcheckboxgroup%20%2Ecrosstalk%2Doptions%2Dgroup%20%2Ecrosstalk%2Doptions%2Dcolumn%20%7B%0Adisplay%3A%20block%3B%0Apadding%2Dright%3A%20inherit%3B%0A%7D%0A%7D%0A" rel="stylesheet" />
-<script src="data:application/x-javascript;base64,IWZ1bmN0aW9uIG8odSxhLGwpe2Z1bmN0aW9uIHMobixlKXtpZighYVtuXSl7aWYoIXVbbl0pe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFlJiZ0KXJldHVybiB0KG4sITApO2lmKGYpcmV0dXJuIGYobiwhMCk7dmFyIHI9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbisiJyIpO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn12YXIgaT1hW25dPXtleHBvcnRzOnt9fTt1W25dWzBdLmNhbGwoaS5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciB0PXVbbl1bMV1bZV07cmV0dXJuIHModHx8ZSl9LGksaS5leHBvcnRzLG8sdSxhLGwpfXJldHVybiBhW25dLmV4cG9ydHN9Zm9yKHZhciBmPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGU9MDtlPGwubGVuZ3RoO2UrKylzKGxbZV0pO3JldHVybiBzfSh7MTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxuJiZyKGUsbiksZX19KCk7dmFyIGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsZSksdGhpcy5fdHlwZXM9e30sdGhpcy5fc2VxPTB9cmV0dXJuIHIoZSxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fdHlwZXNbZV07bnx8KG49dGhpcy5fdHlwZXNbZV09e30pO3ZhciByPSJzdWIiK3RoaXMuX3NlcSsrO3JldHVybiBuW3JdPXQscn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl90eXBlc1tlXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7Zm9yKHZhciByIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSYmbltyXT09PXQpcmV0dXJuIGRlbGV0ZSBuW3JdLHI7cmV0dXJuITF9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiEoIW58fCFuW3RdKSYmKGRlbGV0ZSBuW3RdLHQpO3Rocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCB0eXBlIGZvciBsaXN0ZW5lciIpfX0se2tleToidHJpZ2dlciIsdmFsdWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuX3R5cGVzW2VdO2Zvcih2YXIgaSBpbiByKXIuaGFzT3duUHJvcGVydHkoaSkmJnJbaV0uY2FsbChuLHQpfX1dKSxlfSgpO24uZGVmYXVsdD1pfSx7fV0sMjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5GaWx0ZXJIYW5kbGU9dm9pZCAwO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnIoZS5wcm90b3R5cGUsdCksbiYmcihlLG4pLGV9fSgpLGk9bChlKCIuL2V2ZW50cyIpKSxvPWwoZSgiLi9maWx0ZXJzZXQiKSksdT1sKGUoIi4vZ3JvdXAiKSksYT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZSgiLi91dGlsIikpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fXZhciBzPTE7bi5GaWx0ZXJIYW5kbGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUsdCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaXMuX2VtaXR0ZXI9bmV3IGEuU3Vic2NyaXB0aW9uVHJhY2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9ncm91cD1udWxsLHRoaXMuX2ZpbHRlclNldD1udWxsLHRoaXMuX2ZpbHRlclZhcj1udWxsLHRoaXMuX3Zhck9uQ2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPWEuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGhpcy5faWQ9ImZpbHRlciIrcysrLHRoaXMuc2V0R3JvdXAoZSl9cmV0dXJuIHIobixbe2tleToic2V0R3JvdXAiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzO2lmKHRoaXMuX2dyb3VwIT09ZSYmKCh0aGlzLl9ncm91cHx8ZSkmJih0aGlzLl9maWx0ZXJWYXImJih0aGlzLl9maWx0ZXJWYXIub2ZmKCJjaGFuZ2UiLHRoaXMuX3Zhck9uQ2hhbmdlU3ViKSx0aGlzLmNsZWFyKCksdGhpcy5fdmFyT25DaGFuZ2VTdWI9bnVsbCx0aGlzLl9maWx0ZXJWYXI9bnVsbCx0aGlzLl9maWx0ZXJTZXQ9bnVsbCksdGhpcy5fZ3JvdXA9ZSkpKXtlPSgwLHUuZGVmYXVsdCkoZSksdGhpcy5fZmlsdGVyU2V0PSh0PWUudmFyKCJmaWx0ZXJzZXQiKSwobj10LmdldCgpKXx8KG49bmV3IG8uZGVmYXVsdCx0LnNldChuKSksbiksdGhpcy5fZmlsdGVyVmFyPSgwLHUuZGVmYXVsdCkoZSkudmFyKCJmaWx0ZXIiKTt2YXIgaT10aGlzLl9maWx0ZXJWYXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7ci5fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUscil9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1pfX19LHtrZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGEuZXh0ZW5kKHt9LHRoaXMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6ImNsb3NlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5jbGVhcigpLHRoaXMuc2V0R3JvdXAobnVsbCl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fZmlsdGVyU2V0JiYodGhpcy5fZmlsdGVyU2V0LmNsZWFyKHRoaXMuX2lkKSx0aGlzLl9vbkNoYW5nZShlKSl9fSx7a2V5OiJzZXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dGhpcy5fZmlsdGVyU2V0JiYodGhpcy5fZmlsdGVyU2V0LnVwZGF0ZSh0aGlzLl9pZCxlKSx0aGlzLl9vbkNoYW5nZSh0KSl9fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vbihlLHQpfX0se2tleToib2ZmIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9lbWl0dGVyLm9mZihlLHQpfX0se2tleToiX29uQ2hhbmdlIix2YWx1ZTpmdW5jdGlvbihlKXt0aGlzLl9maWx0ZXJTZXQmJnRoaXMuX2ZpbHRlclZhci5zZXQodGhpcy5fZmlsdGVyU2V0LnZhbHVlLHRoaXMuX21lcmdlRXh0cmFJbmZvKGUpKX19LHtrZXk6ImZpbHRlcmVkS2V5cyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpbHRlclNldD90aGlzLl9maWx0ZXJTZXQudmFsdWU6bnVsbH19XSksbn0oKX0seyIuL2V2ZW50cyI6MSwiLi9maWx0ZXJzZXQiOjMsIi4vZ3JvdXAiOjQsIi4vdXRpbCI6MTF9XSwzOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxhPWUoIi4vdXRpbCIpO2Z1bmN0aW9uIGwoZSx0KXtyZXR1cm4gZT09PXQ/MDplPHQ/LTE6dDxlPzE6dm9pZCAwfXZhciBpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpeyFmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGUpLHRoaXMucmVzZXQoKX1yZXR1cm4gcihlLFt7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9oYW5kbGVzPXt9LHRoaXMuX2tleXM9e30sdGhpcy5fdmFsdWU9bnVsbCx0aGlzLl9hY3RpdmVIYW5kbGVzPTB9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7bnVsbCE9PXQmJih0PXQuc2xpY2UoMCkpLnNvcnQobCk7dmFyIG49KDAsYS5kaWZmU29ydGVkTGlzdHMpKHRoaXMuX2hhbmRsZXNbZV0sdCkscj1uLmFkZGVkLGk9bi5yZW1vdmVkO3RoaXMuX2hhbmRsZXNbZV09dDtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKyl0aGlzLl9rZXlzW3Jbb11dPSh0aGlzLl9rZXlzW3Jbb11dfHwwKSsxO2Zvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKXRoaXMuX2tleXNbaVt1XV0tLTt0aGlzLl91cGRhdGVWYWx1ZSh0KX19LHtrZXk6Il91cGRhdGVWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT0wPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dGhpcy5fYWxsS2V5cyx0PU9iamVjdC5rZXlzKHRoaXMuX2hhbmRsZXMpLmxlbmd0aDtpZigwPT09dCl0aGlzLl92YWx1ZT1udWxsO2Vsc2V7dGhpcy5fdmFsdWU9W107Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3RoaXMuX2tleXNbZVtuXV09PT10JiZ0aGlzLl92YWx1ZS5wdXNoKGVbbl0pfX19fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYodm9pZCAwIT09dGhpcy5faGFuZGxlc1tlXSl7dmFyIHQ9dGhpcy5faGFuZGxlc1tlXTt0fHwodD1bXSk7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspdGhpcy5fa2V5c1t0W25dXS0tO2RlbGV0ZSB0aGlzLl9oYW5kbGVzW2VdLHRoaXMuX3VwZGF0ZVZhbHVlKCl9fX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92YWx1ZX19LHtrZXk6Il9hbGxLZXlzIixnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3Qua2V5cyh0aGlzLl9rZXlzKTtyZXR1cm4gZS5zb3J0KGwpLGV9fV0pLGV9KCk7bi5kZWZhdWx0PWl9LHsiLi91dGlsIjoxMX1dLDQ6W2Z1bmN0aW9uKGwsZSxzKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxyPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfTtzLmRlZmF1bHQ9ZnVuY3Rpb24gZSh0KXt7aWYodCYmInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB1Lmhhc093blByb3BlcnR5KHQpfHwodVt0XT1uZXcgYSh0KSksdVt0XTtpZigib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOnIodCkpJiZ0Ll92YXJzJiZ0LnZhcilyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpJiYxPT10Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiB0WzBdKXJldHVybiBlKHRbMF0pO3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBncm91cE5hbWUgYXJndW1lbnQiKX19O3ZhciB0LGk9bCgiLi92YXIiKSxvPSh0PWkpJiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fTtlLl9fY3Jvc3N0YWxrX2dyb3Vwcz1lLl9fY3Jvc3N0YWxrX2dyb3Vwc3x8e307dmFyIHU9ZS5fX2Nyb3NzdGFsa19ncm91cHM7dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeyFmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMubmFtZT1lLHRoaXMuX3ZhcnM9e319cmV0dXJuIG4odCxbe2tleToidmFyIix2YWx1ZTpmdW5jdGlvbihlKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB2YXIgbmFtZSIpO3JldHVybiB0aGlzLl92YXJzLmhhc093blByb3BlcnR5KGUpfHwodGhpcy5fdmFyc1tlXT1uZXcgby5kZWZhdWx0KHRoaXMsZSkpLHRoaXMuX3ZhcnNbZV19fSx7a2V5OiJoYXMiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhciBuYW1lIik7cmV0dXJuIHRoaXMuX3ZhcnMuaGFzT3duUHJvcGVydHkoZSl9fV0pLHR9KCl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi92YXIiOjEyfV0sNTpbZnVuY3Rpb24oZixlLGMpeyhmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0LG49ZigiLi9ncm91cCIpLHI9KHQ9bikmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9LGk9ZigiLi9zZWxlY3Rpb24iKSxvPWYoIi4vZmlsdGVyIiksdT1mKCIuL2lucHV0Iik7ZigiLi9pbnB1dF9zZWxlY3RpemUiKSxmKCIuL2lucHV0X2NoZWNrYm94Z3JvdXAiKSxmKCIuL2lucHV0X3NsaWRlciIpO3ZhciBhPSgwLHIuZGVmYXVsdCkoImRlZmF1bHQiKTtmdW5jdGlvbiBsKGUpe3JldHVybiBhLnZhcihlKX1lLlNoaW55JiZlLlNoaW55LmFkZEN1c3RvbU1lc3NhZ2VIYW5kbGVyKCJ1cGRhdGUtY2xpZW50LXZhbHVlIixmdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUuZ3JvdXA/KDAsci5kZWZhdWx0KShlLmdyb3VwKS52YXIoZS5uYW1lKS5zZXQoZS52YWx1ZSk6bChlLm5hbWUpLnNldChlLnZhbHVlKX0pO3ZhciBzPXtncm91cDpyLmRlZmF1bHQsdmFyOmwsaGFzOmZ1bmN0aW9uKGUpe3JldHVybiBhLmhhcyhlKX0sU2VsZWN0aW9uSGFuZGxlOmkuU2VsZWN0aW9uSGFuZGxlLEZpbHRlckhhbmRsZTpvLkZpbHRlckhhbmRsZSxiaW5kOnUuYmluZH07Yy5kZWZhdWx0PXMsZS5jcm9zc3RhbGs9c30pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyIuL2ZpbHRlciI6MiwiLi9ncm91cCI6NCwiLi9pbnB1dCI6NiwiLi9pbnB1dF9jaGVja2JveGdyb3VwIjo3LCIuL2lucHV0X3NlbGVjdGl6ZSI6OCwiLi9pbnB1dF9zbGlkZXIiOjksIi4vc2VsZWN0aW9uIjoxMH1dLDY6W2Z1bmN0aW9uKGUsdCxhKXsoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLnJlZ2lzdGVyPWZ1bmN0aW9uKGUpe3JbZS5jbGFzc05hbWVdPWUsdC5kb2N1bWVudCYmImNvbXBsZXRlIiE9PXQuZG9jdW1lbnQucmVhZHlTdGF0ZT9vKGZ1bmN0aW9uKCl7bigpfSk6dC5kb2N1bWVudCYmc2V0VGltZW91dChuLDEwMCl9LGEuYmluZD1uO3ZhciBvPXQualF1ZXJ5LHI9e307ZnVuY3Rpb24gbigpe09iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49cltlXTtvKCIuIituLmNsYXNzTmFtZSkubm90KCIuY3Jvc3N0YWxrLWlucHV0LWJvdW5kIikuZWFjaChmdW5jdGlvbihlLHQpe2kobix0KX0pfSl9ZnVuY3Rpb24gaShlLHQpe3ZhciBuPW8odCkuZmluZCgic2NyaXB0W3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXVtkYXRhLWZvcj0nIit0LmlkLnJlcGxhY2UoLyhbISIjJCUmJygpKissLi86Ozw9Pj9AW1xcXF1eYHt8fX5dKS9nLCJcXCQxIikrIiddIikscj1KU09OLnBhcnNlKG5bMF0uaW5uZXJUZXh0KSxpPWUuZmFjdG9yeSh0LHIpO28odCkuZGF0YSgiY3Jvc3N0YWxrLWluc3RhbmNlIixpKSxvKHQpLmFkZENsYXNzKCJjcm9zc3RhbGstaW5wdXQtYm91bmQiKX1pZih0LlNoaW55KXt2YXIgZT1uZXcgdC5TaGlueS5JbnB1dEJpbmRpbmcsdT10LmpRdWVyeTt1LmV4dGVuZChlLHtmaW5kOmZ1bmN0aW9uKGUpe3JldHVybiB1KGUpLmZpbmQoIi5jcm9zc3RhbGstaW5wdXQiKX0saW5pdGlhbGl6ZTpmdW5jdGlvbihlKXt2YXIgdCxuO3UoZSkuaGFzQ2xhc3MoImNyb3NzdGFsay1pbnB1dC1ib3VuZCIpfHwobj1vKHQ9ZSksT2JqZWN0LmtleXMocikuZm9yRWFjaChmdW5jdGlvbihlKXtuLmhhc0NsYXNzKGUpJiYhbi5oYXNDbGFzcygiY3Jvc3N0YWxrLWlucHV0LWJvdW5kIikmJmkocltlXSx0KX0pKX0sZ2V0SWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaWR9LGdldFZhbHVlOmZ1bmN0aW9uKGUpe30sc2V0VmFsdWU6ZnVuY3Rpb24oZSx0KXt9LHJlY2VpdmVNZXNzYWdlOmZ1bmN0aW9uKGUsdCl7fSxzdWJzY3JpYmU6ZnVuY3Rpb24oZSx0KXt1KGUpLmRhdGEoImNyb3NzdGFsay1pbnN0YW5jZSIpLnJlc3VtZSgpfSx1bnN1YnNjcmliZTpmdW5jdGlvbihlKXt1KGUpLmRhdGEoImNyb3NzdGFsay1pbnN0YW5jZSIpLnN1c3BlbmQoKX19KSx0LlNoaW55LmlucHV0QmluZGluZ3MucmVnaXN0ZXIoZSwiY3Jvc3N0YWxrLmlucHV0QmluZGluZyIpfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDc6W2Z1bmN0aW9uKHIsZSx0KXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShyKCIuL2lucHV0IikpLG49cigiLi9maWx0ZXIiKTt2YXIgYT1lLmpRdWVyeTt0LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3NzdGFsay1pbnB1dC1jaGVja2JveGdyb3VwIixmYWN0b3J5OmZ1bmN0aW9uKGUscil7dmFyIGk9bmV3IG4uRmlsdGVySGFuZGxlKHIuZ3JvdXApLG89dm9pZCAwLHU9YShlKTtyZXR1cm4gdS5vbigiY2hhbmdlIiwiaW5wdXRbdHlwZT0nY2hlY2tib3gnXSIsZnVuY3Rpb24oKXt2YXIgZT11LmZpbmQoImlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCIpO2lmKDA9PT1lLmxlbmd0aClvPW51bGwsaS5jbGVhcigpO2Vsc2V7dmFyIHQ9e307ZS5lYWNoKGZ1bmN0aW9uKCl7ci5tYXBbdGhpcy52YWx1ZV0uZm9yRWFjaChmdW5jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgbj1PYmplY3Qua2V5cyh0KTtuLnNvcnQoKSxvPW4saS5zZXQobil9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXtpLmNsZWFyKCl9LHJlc3VtZTpmdW5jdGlvbigpe28mJmkuc2V0KG8pfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjZ9XSw4OltmdW5jdGlvbihyLGUsdCl7KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1uKHIoIi4vaW5wdXQiKSksbD1uKHIoIi4vdXRpbCIpKSxzPXIoIi4vZmlsdGVyIik7ZnVuY3Rpb24gbihlKXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9dmFyIGY9ZS5qUXVlcnk7dC5yZWdpc3Rlcih7Y2xhc3NOYW1lOiJjcm9zc3RhbGstaW5wdXQtc2VsZWN0IixmYWN0b3J5OmZ1bmN0aW9uKGUsbil7dmFyIHQ9bC5kYXRhZnJhbWVUb0QzKG4uaXRlbXMpLHI9e29wdGlvbnM6W3t2YWx1ZToiIixsYWJlbDoiKEFsbCkifV0uY29uY2F0KHQpLHZhbHVlRmllbGQ6InZhbHVlIixsYWJlbEZpZWxkOiJsYWJlbCIsc2VhcmNoRmllbGQ6ImxhYmVsIn0saT1mKGUpLmZpbmQoInNlbGVjdCIpWzBdLG89ZihpKS5zZWxlY3RpemUocilbMF0uc2VsZWN0aXplLHU9bmV3IHMuRmlsdGVySGFuZGxlKG4uZ3JvdXApLGE9dm9pZCAwO3JldHVybiBvLm9uKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoMD09PW8uaXRlbXMubGVuZ3RoKWE9bnVsbCx1LmNsZWFyKCk7ZWxzZXt2YXIgdD17fTtvLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oZSl7bi5tYXBbZV0uZm9yRWFjaChmdW5jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgZT1PYmplY3Qua2V5cyh0KTtlLnNvcnQoKSxhPWUsdS5zZXQoZSl9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXt1LmNsZWFyKCl9LHJlc3VtZTpmdW5jdGlvbigpe2EmJnUuc2V0KGEpfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjYsIi4vdXRpbCI6MTF9XSw5OltmdW5jdGlvbihuLGUsdCl7KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgZD1mdW5jdGlvbihlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGU7aWYoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPSEwLGk9ITEsbz12b2lkIDA7dHJ5e2Zvcih2YXIgdSxhPWVbU3ltYm9sLml0ZXJhdG9yXSgpOyEocj0odT1hLm5leHQoKSkuZG9uZSkmJihuLnB1c2godS52YWx1ZSksIXR8fG4ubGVuZ3RoIT09dCk7cj0hMCk7fWNhdGNoKGUpe2k9ITAsbz1lfWZpbmFsbHl7dHJ5eyFyJiZhLnJldHVybiYmYS5yZXR1cm4oKX1maW5hbGx5e2lmKGkpdGhyb3cgb319cmV0dXJuIG59KGUsdCk7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZSIpfSx0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShuKCIuL2lucHV0IikpLGE9bigiLi9maWx0ZXIiKTt2YXIgdj1lLmpRdWVyeSxwPWUuc3RyZnRpbWU7ZnVuY3Rpb24geShlLHQpe2Zvcih2YXIgbj1lLnRvU3RyaW5nKCk7bi5sZW5ndGg8dDspbj0iMCIrbjtyZXR1cm4gbn10LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3NzdGFsay1pbnB1dC1zbGlkZXIiLGZhY3Rvcnk6ZnVuY3Rpb24oZSxsKXt2YXIgcz1uZXcgYS5GaWx0ZXJIYW5kbGUobC5ncm91cCksdD17fSxmPXYoZSkuZmluZCgiaW5wdXQiKSxuPWYuZGF0YSgiZGF0YS10eXBlIikscj1mLmRhdGEoInRpbWUtZm9ybWF0IiksaT1mLmRhdGEoInJvdW5kIiksbz12b2lkIDA7aWYoImRhdGUiPT09bilvPXAudXRjKCksdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX07ZWxzZSBpZigiZGF0ZXRpbWUiPT09bil7dmFyIHU9Zi5kYXRhKCJ0aW1lem9uZSIpO289dT9wLnRpbWV6b25lKHUpOnAsdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX19ZWxzZSJudW1iZXIiPT09biYmdm9pZCAwIT09aSYmKHQucHJldHRpZnk9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5wb3coMTAsaSk7cmV0dXJuIE1hdGgucm91bmQoZSp0KS90fSk7ZnVuY3Rpb24gYygpe3ZhciBlPWYuZGF0YSgiaW9uUmFuZ2VTbGlkZXIiKS5yZXN1bHQsdD12b2lkIDAsbj1mLmRhdGEoImRhdGEtdHlwZSIpO3JldHVybiB0PSJkYXRlIj09PW4/ZnVuY3Rpb24oZSl7cmV0dXJuKHQ9bmV3IERhdGUoK2UpKWluc3RhbmNlb2YgRGF0ZT90LmdldFVUQ0Z1bGxZZWFyKCkrIi0iK3kodC5nZXRVVENNb250aCgpKzEsMikrIi0iK3kodC5nZXRVVENEYXRlKCksMik6bnVsbDt2YXIgdH06ImRhdGV0aW1lIj09PW4/ZnVuY3Rpb24oZSl7cmV0dXJuK2UvMWUzfTpmdW5jdGlvbihlKXtyZXR1cm4rZX0sImRvdWJsZSI9PT1mLmRhdGEoImlvblJhbmdlU2xpZGVyIikub3B0aW9ucy50eXBlP1t0KGUuZnJvbSksdChlLnRvKV06dChlLmZyb20pfWYuaW9uUmFuZ2VTbGlkZXIodCk7dmFyIGg9bnVsbDtyZXR1cm4gZi5vbigiY2hhbmdlLmNyb3NzdGFsa1NsaWRlcklucHV0IixmdW5jdGlvbihlKXtpZighZi5kYXRhKCJ1cGRhdGluZyIpJiYhZi5kYXRhKCJhbmltYXRpbmciKSl7Zm9yKHZhciB0PWMoKSxuPWQodCwyKSxyPW5bMF0saT1uWzFdLG89W10sdT0wO3U8bC52YWx1ZXMubGVuZ3RoO3UrKyl7dmFyIGE9bC52YWx1ZXNbdV07cjw9YSYmYTw9aSYmby5wdXNoKGwua2V5c1t1XSl9by5zb3J0KCkscy5zZXQobyksaD1vfX0pLHtzdXNwZW5kOmZ1bmN0aW9uKCl7cy5jbGVhcigpfSxyZXN1bWU6ZnVuY3Rpb24oKXtoJiZzLnNldChoKX19fX0pfSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vZmlsdGVyIjoyLCIuL2lucHV0Ijo2fV0sMTA6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uU2VsZWN0aW9uSGFuZGxlPXZvaWQgMDt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxpPWEoZSgiLi9ldmVudHMiKSksbz1hKGUoIi4vZ3JvdXAiKSksdT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZSgiLi91dGlsIikpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fW4uU2VsZWN0aW9uSGFuZGxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZhciBlPTA8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpudWxsLHQ9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOm51bGw7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaXMuX2VtaXR0ZXI9bmV3IHUuU3Vic2NyaXB0aW9uVHJhY2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9ncm91cD1udWxsLHRoaXMuX3Zhcj1udWxsLHRoaXMuX3Zhck9uQ2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPXUuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGhpcy5zZXRHcm91cChlKX1yZXR1cm4gcihuLFt7a2V5OiJzZXRHcm91cCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZih0aGlzLl9ncm91cCE9PWUmJih0aGlzLl9ncm91cHx8ZSkmJih0aGlzLl92YXImJih0aGlzLl92YXIub2ZmKCJjaGFuZ2UiLHRoaXMuX3Zhck9uQ2hhbmdlU3ViKSx0aGlzLl92YXI9bnVsbCx0aGlzLl92YXJPbkNoYW5nZVN1Yj1udWxsKSx0aGlzLl9ncm91cD1lKSl7dGhpcy5fdmFyPSgwLG8uZGVmYXVsdCkoZSkudmFyKCJzZWxlY3Rpb24iKTt2YXIgbj10aGlzLl92YXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7dC5fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUsdCl9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1ufX19LHtrZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHUuZXh0ZW5kKHt9LHRoaXMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6InNldCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt0aGlzLl92YXImJnRoaXMuX3Zhci5zZXQoZSx0aGlzLl9tZXJnZUV4dHJhSW5mbyh0KSl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fdmFyJiZ0aGlzLnNldCh2b2lkIDAsdGhpcy5fbWVyZ2VFeHRyYUluZm8oZSkpfX0se2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2VtaXR0ZXIub24oZSx0KX19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vZmYoZSx0KX19LHtrZXk6ImNsb3NlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zZXRHcm91cChudWxsKX19LHtrZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFyP3RoaXMuX3Zhci5nZXQoKTpudWxsfX1dKSxufSgpfSx7Ii4vZXZlbnRzIjoxLCIuL2dyb3VwIjo0LCIuL3V0aWwiOjExfV0sMTE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnIoZS5wcm90b3R5cGUsdCksbiYmcihlLG4pLGV9fSgpLGw9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9O2Z1bmN0aW9uIHUoZSl7Zm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspaWYoZVt0XTw9ZVt0LTFdKXRocm93IG5ldyBFcnJvcigiTGlzdCBpcyBub3Qgc29ydGVkIG9yIGNvbnRhaW5zIGR1cGxpY2F0ZSIpfW4uZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkoMTx0P3QtMTowKSxyPTE7cjx0O3IrKyluW3ItMV09YXJndW1lbnRzW3JdO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO2lmKG51bGwhPW8pZm9yKHZhciB1IGluIG8pby5oYXNPd25Qcm9wZXJ0eSh1KSYmKGVbdV09b1t1XSl9cmV0dXJuIGV9LG4uY2hlY2tTb3J0ZWQ9dSxuLmRpZmZTb3J0ZWRMaXN0cz1mdW5jdGlvbihlLHQpe3ZhciBuPTAscj0wO2V8fChlPVtdKTt0fHwodD1bXSk7dmFyIGk9W10sbz1bXTt1KGUpLHUodCk7Zm9yKDtuPGUubGVuZ3RoJiZyPHQubGVuZ3RoOyllW25dPT09dFtyXT8obisrLHIrKyk6ZVtuXTx0W3JdP2kucHVzaChlW24rK10pOm8ucHVzaCh0W3IrK10pO248ZS5sZW5ndGgmJihpPWkuY29uY2F0KGUuc2xpY2UobikpKTtyPHQubGVuZ3RoJiYobz1vLmNvbmNhdCh0LnNsaWNlKHIpKSk7cmV0dXJue3JlbW92ZWQ6aSxhZGRlZDpvfX0sbi5kYXRhZnJhbWVUb0QzPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49dm9pZCAwO2Zvcih2YXIgciBpbiBlKXtpZihlLmhhc093blByb3BlcnR5KHIpJiZ0LnB1c2gociksIm9iamVjdCIhPT1sKGVbcl0pfHx2b2lkIDA9PT1lW3JdLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkFsbCBmaWVsZHMgbXVzdCBiZSBhcnJheXMiKTtpZih2b2lkIDAhPT1uJiZuIT09ZVtyXS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBbGwgZmllbGRzIG11c3QgYmUgYXJyYXlzIG9mIHRoZSBzYW1lIGxlbmd0aCIpO249ZVtyXS5sZW5ndGh9Zm9yKHZhciBpPVtdLG89dm9pZCAwLHU9MDt1PG47dSsrKXtvPXt9O2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKW9bdFthXV09ZVt0W2FdXVt1XTtpLnB1c2gobyl9cmV0dXJuIGl9O24uU3Vic2NyaXB0aW9uVHJhY2tlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsdCksdGhpcy5fZW1pdHRlcj1lLHRoaXMuX3N1YnM9e319cmV0dXJuIHIodCxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fZW1pdHRlci5vbihlLHQpO3JldHVybiB0aGlzLl9zdWJzW25dPWUsbn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9lbWl0dGVyLm9mZihlLHQpO3JldHVybiBuJiZkZWxldGUgdGhpcy5fc3Vic1tuXSxufX0se2tleToicmVtb3ZlQWxsTGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj10aGlzLl9zdWJzO3RoaXMuX3N1YnM9e30sT2JqZWN0LmtleXMobikuZm9yRWFjaChmdW5jdGlvbihlKXt0Ll9lbWl0dGVyLm9mZihuW2VdLGUpfSl9fV0pLHR9KCl9LHt9XSwxMjpbZnVuY3Rpb24oYSxlLGwpeyhmdW5jdGlvbihvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGwsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlLHU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9LHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxuJiZyKGUsbiksZX19KCksbj1hKCIuL2V2ZW50cyIpLGk9KGU9bikmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9O3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsciksdGhpcy5fZ3JvdXA9ZSx0aGlzLl9uYW1lPXQsdGhpcy5fdmFsdWU9bix0aGlzLl9ldmVudHM9bmV3IGkuZGVmYXVsdH1yZXR1cm4gdChyLFt7a2V5OiJnZXQiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZhbHVlfX0se2tleToic2V0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe2lmKHRoaXMuX3ZhbHVlIT09ZSl7dmFyIG49dGhpcy5fdmFsdWU7dGhpcy5fdmFsdWU9ZTt2YXIgcj17fTtpZih0JiYib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOnUodCkpKWZvcih2YXIgaSBpbiB0KXQuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPXRbaV0pO3Iub2xkVmFsdWU9bixyLnZhbHVlPWUsdGhpcy5fZXZlbnRzLnRyaWdnZXIoImNoYW5nZSIscix0aGlzKSxvLlNoaW55JiZvLlNoaW55Lm9uSW5wdXRDaGFuZ2UmJm8uU2hpbnkub25JbnB1dENoYW5nZSgiLmNsaWVudFZhbHVlLSIrKG51bGwhPT10aGlzLl9ncm91cC5uYW1lP3RoaXMuX2dyb3VwLm5hbWUrIi0iOiIiKSt0aGlzLl9uYW1lLHZvaWQgMD09PWU/bnVsbDplKX19fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZXZlbnRzLm9uKGUsdCl9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2V2ZW50cy5vZmYoZSx0KX19XSkscn0oKTtsLmRlZmF1bHQ9cn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyIuL2V2ZW50cyI6MX1dfSx7fSxbNV0pOwovLyMgc291cmNlTWFwcGluZ1VSTD1jcm9zc3RhbGsubWluLmpzLm1hcA=="></script>
-<link href="data:text/css;charset=utf-8,%0Aslide%3Anot%28%2Ecurrent%29%20%2Eplotly%2Ehtml%2Dwidget%7B%0Adisplay%3A%20none%3B%0A%7D%0A" rel="stylesheet" />
-<script src="data:application/x-javascript;base64,LyoqCiogcGxvdGx5LmpzIHYxLjUyLjIKKiBDb3B5cmlnaHQgMjAxMi0yMDIwLCBQbG90bHksIEluYy4KKiBBbGwgcmlnaHRzIHJlc2VydmVkLgoqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQoqLwohZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSltb2R1bGUuZXhwb3J0cz10KCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSx0KTtlbHNleygidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLlBsb3RseT10KCl9fShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuKXtmdW5jdGlvbiBhKG8scyl7aWYoIXJbb10pe2lmKCFlW29dKXt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighcyYmbClyZXR1cm4gbChvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBjPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBjLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGN9dmFyIHU9cltvXT17ZXhwb3J0czp7fX07ZVtvXVswXS5jYWxsKHUuZXhwb3J0cyxmdW5jdGlvbih0KXtyZXR1cm4gYShlW29dWzFdW3RdfHx0KX0sdSx1LmV4cG9ydHMsdCxlLHIsbil9cmV0dXJuIHJbb10uZXhwb3J0c31mb3IodmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsbz0wO288bi5sZW5ndGg7bysrKWEobltvXSk7cmV0dXJuIGF9fSgpKHsxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NyYy9saWIiKSxhPXsiWCxYIGRpdiI6ImRpcmVjdGlvbjpsdHI7Zm9udC1mYW1pbHk6J09wZW4gU2FucycsIHZlcmRhbmEsIGFyaWFsLCBzYW5zLXNlcmlmO21hcmdpbjowO3BhZGRpbmc6MDsiLCJYIGlucHV0LFggYnV0dG9uIjoiZm9udC1mYW1pbHk6J09wZW4gU2FucycsIHZlcmRhbmEsIGFyaWFsLCBzYW5zLXNlcmlmOyIsIlggaW5wdXQ6Zm9jdXMsWCBidXR0b246Zm9jdXMiOiJvdXRsaW5lOm5vbmU7IiwiWCBhIjoidGV4dC1kZWNvcmF0aW9uOm5vbmU7IiwiWCBhOmhvdmVyIjoidGV4dC1kZWNvcmF0aW9uOm5vbmU7IiwiWCAuY3Jpc3AiOiJzaGFwZS1yZW5kZXJpbmc6Y3Jpc3BFZGdlczsiLCJYIC51c2VyLXNlbGVjdC1ub25lIjoiLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7IiwiWCBzdmciOiJvdmVyZmxvdzpoaWRkZW47IiwiWCBzdmcgYSI6ImZpbGw6IzQ0N2FkYjsiLCJYIHN2ZyBhOmhvdmVyIjoiZmlsbDojM2M2ZGM1OyIsIlggLm1haW4tc3ZnIjoicG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7IiwiWCAubWFpbi1zdmcgLmRyYWdsYXllciI6InBvaW50ZXItZXZlbnRzOmFsbDsiLCJYIC5jdXJzb3ItZGVmYXVsdCI6ImN1cnNvcjpkZWZhdWx0OyIsIlggLmN1cnNvci1wb2ludGVyIjoiY3Vyc29yOnBvaW50ZXI7IiwiWCAuY3Vyc29yLWNyb3NzaGFpciI6ImN1cnNvcjpjcm9zc2hhaXI7IiwiWCAuY3Vyc29yLW1vdmUiOiJjdXJzb3I6bW92ZTsiLCJYIC5jdXJzb3ItY29sLXJlc2l6ZSI6ImN1cnNvcjpjb2wtcmVzaXplOyIsIlggLmN1cnNvci1yb3ctcmVzaXplIjoiY3Vyc29yOnJvdy1yZXNpemU7IiwiWCAuY3Vyc29yLW5zLXJlc2l6ZSI6ImN1cnNvcjpucy1yZXNpemU7IiwiWCAuY3Vyc29yLWV3LXJlc2l6ZSI6ImN1cnNvcjpldy1yZXNpemU7IiwiWCAuY3Vyc29yLXN3LXJlc2l6ZSI6ImN1cnNvcjpzdy1yZXNpemU7IiwiWCAuY3Vyc29yLXMtcmVzaXplIjoiY3Vyc29yOnMtcmVzaXplOyIsIlggLmN1cnNvci1zZS1yZXNpemUiOiJjdXJzb3I6c2UtcmVzaXplOyIsIlggLmN1cnNvci13LXJlc2l6ZSI6ImN1cnNvcjp3LXJlc2l6ZTsiLCJYIC5jdXJzb3ItZS1yZXNpemUiOiJjdXJzb3I6ZS1yZXNpemU7IiwiWCAuY3Vyc29yLW53LXJlc2l6ZSI6ImN1cnNvcjpudy1yZXNpemU7IiwiWCAuY3Vyc29yLW4tcmVzaXplIjoiY3Vyc29yOm4tcmVzaXplOyIsIlggLmN1cnNvci1uZS1yZXNpemUiOiJjdXJzb3I6bmUtcmVzaXplOyIsIlggLmN1cnNvci1ncmFiIjoiY3Vyc29yOi13ZWJraXQtZ3JhYjtjdXJzb3I6Z3JhYjsiLCJYIC5tb2RlYmFyIjoicG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDoycHg7IiwiWCAuZWFzZS1iZyI6Ii13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwczstbW96LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgMHM7LW1zLXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgMHM7LW8tdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwczt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlIDBzOyIsIlggLm1vZGViYXItLWhvdmVyPjpub3QoLndhdGVybWFyaykiOiJvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlIDBzOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSAwczstbXMtdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSAwczstby10cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UgMHM7IiwiWDpob3ZlciAubW9kZWJhci0taG92ZXIgLm1vZGViYXItZ3JvdXAiOiJvcGFjaXR5OjE7IiwiWCAubW9kZWJhci1ncm91cCI6ImZsb2F0OmxlZnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDo4cHg7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDsiLCJYIC5tb2RlYmFyLWJ0biI6InBvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6M3B4IDRweDtoZWlnaHQ6MjJweDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDpub3JtYWw7Ym94LXNpemluZzpib3JkZXItYm94OyIsIlggLm1vZGViYXItYnRuIHN2ZyI6InBvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7IiwiWCAubW9kZWJhci52ZXJ0aWNhbCI6ImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC13cmFwOndyYXA7YWxpZ24tY29udGVudDpmbGV4LWVuZDttYXgtaGVpZ2h0OjEwMCU7IiwiWCAubW9kZWJhci52ZXJ0aWNhbCBzdmciOiJ0b3A6LTFweDsiLCJYIC5tb2RlYmFyLnZlcnRpY2FsIC5tb2RlYmFyLWdyb3VwIjoiZGlzcGxheTpibG9jaztmbG9hdDpub25lO3BhZGRpbmctbGVmdDowcHg7cGFkZGluZy1ib3R0b206OHB4OyIsIlggLm1vZGViYXIudmVydGljYWwgLm1vZGViYXItZ3JvdXAgLm1vZGViYXItYnRuIjoiZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjsiLCJYIFtkYXRhLXRpdGxlXTpiZWZvcmUsWCBbZGF0YS10aXRsZV06YWZ0ZXIiOiJwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7ZGlzcGxheTpub25lO29wYWNpdHk6MDt6LWluZGV4OjEwMDE7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MTEwJTtyaWdodDo1MCU7IiwiWCBbZGF0YS10aXRsZV06aG92ZXI6YmVmb3JlLFggW2RhdGEtdGl0bGVdOmhvdmVyOmFmdGVyIjoiZGlzcGxheTpibG9jaztvcGFjaXR5OjE7IiwiWCBbZGF0YS10aXRsZV06YmVmb3JlIjoiY29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjo2cHggc29saWQgdHJhbnNwYXJlbnQ7ei1pbmRleDoxMDAyO21hcmdpbi10b3A6LTEycHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNjk3MzhhO21hcmdpbi1yaWdodDotNnB4OyIsIlggW2RhdGEtdGl0bGVdOmFmdGVyIjoiY29udGVudDphdHRyKGRhdGEtdGl0bGUpO2JhY2tncm91bmQ6IzY5NzM4YTtjb2xvcjp3aGl0ZTtwYWRkaW5nOjhweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1yaWdodDotMThweDtib3JkZXItcmFkaXVzOjJweDsiLCJYIC52ZXJ0aWNhbCBbZGF0YS10aXRsZV06YmVmb3JlLFggLnZlcnRpY2FsIFtkYXRhLXRpdGxlXTphZnRlciI6InRvcDowJTtyaWdodDoyMDAlOyIsIlggLnZlcnRpY2FsIFtkYXRhLXRpdGxlXTpiZWZvcmUiOiJib3JkZXI6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0LWNvbG9yOiM2OTczOGE7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLXJpZ2h0Oi0zMHB4OyIsIlggLnNlbGVjdC1vdXRsaW5lIjoiZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3NoYXBlLXJlbmRlcmluZzpjcmlzcEVkZ2VzOyIsIlggLnNlbGVjdC1vdXRsaW5lLTEiOiJzdHJva2U6d2hpdGU7IiwiWCAuc2VsZWN0LW91dGxpbmUtMiI6InN0cm9rZTpibGFjaztzdHJva2UtZGFzaGFycmF5OjJweCAycHg7IixZOiJmb250LWZhbWlseTonT3BlbiBTYW5zJztwb3NpdGlvbjpmaXhlZDt0b3A6NTBweDtyaWdodDoyMHB4O3otaW5kZXg6MTAwMDA7Zm9udC1zaXplOjEwcHQ7bWF4LXdpZHRoOjE4MHB4OyIsIlkgcCI6Im1hcmdpbjowOyIsIlkgLm5vdGlmaWVyLW5vdGUiOiJtaW4td2lkdGg6MTgwcHg7bWF4LXdpZHRoOjI1MHB4O2JvcmRlcjoxcHggc29saWQgI2ZmZjt6LWluZGV4OjMwMDA7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojOGM5N2FmO2JhY2tncm91bmQtY29sb3I6cmdiYSgxNDAsMTUxLDE3NSwwLjkpO2NvbG9yOiNmZmY7cGFkZGluZzoxMHB4O292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLXdyYXA6YnJlYWstd29yZDstbXMtaHlwaGVuczphdXRvOy13ZWJraXQtaHlwaGVuczphdXRvO2h5cGhlbnM6YXV0bzsiLCJZIC5ub3RpZmllci1jbG9zZSI6ImNvbG9yOiNmZmY7b3BhY2l0eTowLjg7ZmxvYXQ6cmlnaHQ7cGFkZGluZzowIDVweDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDoyMHB4OyIsIlkgLm5vdGlmaWVyLWNsb3NlOmhvdmVyIjoiY29sb3I6IzQ0NDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjsifTtmb3IodmFyIGkgaW4gYSl7dmFyIG89aS5yZXBsYWNlKC9eLC8sIiAsIikucmVwbGFjZSgvWC9nLCIuanMtcGxvdGx5LXBsb3QgLnBsb3RseSIpLnJlcGxhY2UoL1kvZywiLnBsb3RseS1ub3RpZmllciIpO24uYWRkU3R5bGVSdWxlKG8sYVtpXSl9fSx7Ii4uL3NyYy9saWIiOjcxN31dLDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFuc2Zvcm1zL2FnZ3JlZ2F0ZSIpfSx7Ii4uL3NyYy90cmFuc2Zvcm1zL2FnZ3JlZ2F0ZSI6MTI5N31dLDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvYmFyIil9LHsiLi4vc3JjL3RyYWNlcy9iYXIiOjg2NH1dLDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvYmFycG9sYXIiKX0seyIuLi9zcmMvdHJhY2VzL2JhcnBvbGFyIjo4Nzd9XSw1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2JveCIpfSx7Ii4uL3NyYy90cmFjZXMvYm94Ijo4ODd9XSw2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvY29tcG9uZW50cy9jYWxlbmRhcnMiKX0seyIuLi9zcmMvY29tcG9uZW50cy9jYWxlbmRhcnMiOjU5MH1dLDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvY2FuZGxlc3RpY2siKX0seyIuLi9zcmMvdHJhY2VzL2NhbmRsZXN0aWNrIjo4OTZ9XSw4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NhcnBldCIpfSx7Ii4uL3NyYy90cmFjZXMvY2FycGV0Ijo5MTV9XSw5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGgiKX0seyIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGgiOjkyOX1dLDEwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGhtYXBib3giKX0seyIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGhtYXBib3giOjkzNn1dLDExOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NvbmUiKX0seyIuLi9zcmMvdHJhY2VzL2NvbmUiOjk0Mn1dLDEyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NvbnRvdXIiKX0seyIuLi9zcmMvdHJhY2VzL2NvbnRvdXIiOjk1N31dLDEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NvbnRvdXJjYXJwZXQiKX0seyIuLi9zcmMvdHJhY2VzL2NvbnRvdXJjYXJwZXQiOjk2OH1dLDE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvY29yZSIpfSx7Ii4uL3NyYy9jb3JlIjo2OTV9XSwxNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9kZW5zaXR5bWFwYm94Iil9LHsiLi4vc3JjL3RyYWNlcy9kZW5zaXR5bWFwYm94Ijo5NzZ9XSwxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYW5zZm9ybXMvZmlsdGVyIil9LHsiLi4vc3JjL3RyYW5zZm9ybXMvZmlsdGVyIjoxMjk4fV0sMTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvZnVubmVsIil9LHsiLi4vc3JjL3RyYWNlcy9mdW5uZWwiOjk4Nn1dLDE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2Z1bm5lbGFyZWEiKX0seyIuLi9zcmMvdHJhY2VzL2Z1bm5lbGFyZWEiOjk5NX1dLDE5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhbnNmb3Jtcy9ncm91cGJ5Iil9LHsiLi4vc3JjL3RyYW5zZm9ybXMvZ3JvdXBieSI6MTI5OX1dLDIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2hlYXRtYXAiKX0seyIuLi9zcmMvdHJhY2VzL2hlYXRtYXAiOjEwMDh9XSwyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9oZWF0bWFwZ2wiKX0seyIuLi9zcmMvdHJhY2VzL2hlYXRtYXBnbCI6MTAxN31dLDIyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2hpc3RvZ3JhbSIpfSx7Ii4uL3NyYy90cmFjZXMvaGlzdG9ncmFtIjoxMDI5fV0sMjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvaGlzdG9ncmFtMmQiKX0seyIuLi9zcmMvdHJhY2VzL2hpc3RvZ3JhbTJkIjoxMDM1fV0sMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvaGlzdG9ncmFtMmRjb250b3VyIil9LHsiLi4vc3JjL3RyYWNlcy9oaXN0b2dyYW0yZGNvbnRvdXIiOjEwMzl9XSwyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9pbWFnZSIpfSx7Ii4uL3NyYy90cmFjZXMvaW1hZ2UiOjEwNDZ9XSwyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvcmUiKTtuLnJlZ2lzdGVyKFt0KCIuL2JhciIpLHQoIi4vYm94IiksdCgiLi9oZWF0bWFwIiksdCgiLi9oaXN0b2dyYW0iKSx0KCIuL2hpc3RvZ3JhbTJkIiksdCgiLi9oaXN0b2dyYW0yZGNvbnRvdXIiKSx0KCIuL2NvbnRvdXIiKSx0KCIuL3NjYXR0ZXJ0ZXJuYXJ5IiksdCgiLi92aW9saW4iKSx0KCIuL2Z1bm5lbCIpLHQoIi4vd2F0ZXJmYWxsIiksdCgiLi9pbWFnZSIpLHQoIi4vcGllIiksdCgiLi9zdW5idXJzdCIpLHQoIi4vdHJlZW1hcCIpLHQoIi4vZnVubmVsYXJlYSIpLHQoIi4vc2NhdHRlcjNkIiksdCgiLi9zdXJmYWNlIiksdCgiLi9pc29zdXJmYWNlIiksdCgiLi92b2x1bWUiKSx0KCIuL21lc2gzZCIpLHQoIi4vY29uZSIpLHQoIi4vc3RyZWFtdHViZSIpLHQoIi4vc2NhdHRlcmdlbyIpLHQoIi4vY2hvcm9wbGV0aCIpLHQoIi4vc2NhdHRlcmdsIiksdCgiLi9zcGxvbSIpLHQoIi4vcG9pbnRjbG91ZCIpLHQoIi4vaGVhdG1hcGdsIiksdCgiLi9wYXJjb29yZHMiKSx0KCIuL3BhcmNhdHMiKSx0KCIuL3NjYXR0ZXJtYXBib3giKSx0KCIuL2Nob3JvcGxldGhtYXBib3giKSx0KCIuL2RlbnNpdHltYXBib3giKSx0KCIuL3NhbmtleSIpLHQoIi4vaW5kaWNhdG9yIiksdCgiLi90YWJsZSIpLHQoIi4vY2FycGV0IiksdCgiLi9zY2F0dGVyY2FycGV0IiksdCgiLi9jb250b3VyY2FycGV0IiksdCgiLi9vaGxjIiksdCgiLi9jYW5kbGVzdGljayIpLHQoIi4vc2NhdHRlcnBvbGFyIiksdCgiLi9zY2F0dGVycG9sYXJnbCIpLHQoIi4vYmFycG9sYXIiKV0pLG4ucmVnaXN0ZXIoW3QoIi4vYWdncmVnYXRlIiksdCgiLi9maWx0ZXIiKSx0KCIuL2dyb3VwYnkiKSx0KCIuL3NvcnQiKV0pLG4ucmVnaXN0ZXIoW3QoIi4vY2FsZW5kYXJzIildKSxlLmV4cG9ydHM9bn0seyIuL2FnZ3JlZ2F0ZSI6MiwiLi9iYXIiOjMsIi4vYmFycG9sYXIiOjQsIi4vYm94Ijo1LCIuL2NhbGVuZGFycyI6NiwiLi9jYW5kbGVzdGljayI6NywiLi9jYXJwZXQiOjgsIi4vY2hvcm9wbGV0aCI6OSwiLi9jaG9yb3BsZXRobWFwYm94IjoxMCwiLi9jb25lIjoxMSwiLi9jb250b3VyIjoxMiwiLi9jb250b3VyY2FycGV0IjoxMywiLi9jb3JlIjoxNCwiLi9kZW5zaXR5bWFwYm94IjoxNSwiLi9maWx0ZXIiOjE2LCIuL2Z1bm5lbCI6MTcsIi4vZnVubmVsYXJlYSI6MTgsIi4vZ3JvdXBieSI6MTksIi4vaGVhdG1hcCI6MjAsIi4vaGVhdG1hcGdsIjoyMSwiLi9oaXN0b2dyYW0iOjIyLCIuL2hpc3RvZ3JhbTJkIjoyMywiLi9oaXN0b2dyYW0yZGNvbnRvdXIiOjI0LCIuL2ltYWdlIjoyNSwiLi9pbmRpY2F0b3IiOjI3LCIuL2lzb3N1cmZhY2UiOjI4LCIuL21lc2gzZCI6MjksIi4vb2hsYyI6MzAsIi4vcGFyY2F0cyI6MzEsIi4vcGFyY29vcmRzIjozMiwiLi9waWUiOjMzLCIuL3BvaW50Y2xvdWQiOjM0LCIuL3NhbmtleSI6MzUsIi4vc2NhdHRlcjNkIjozNiwiLi9zY2F0dGVyY2FycGV0IjozNywiLi9zY2F0dGVyZ2VvIjozOCwiLi9zY2F0dGVyZ2wiOjM5LCIuL3NjYXR0ZXJtYXBib3giOjQwLCIuL3NjYXR0ZXJwb2xhciI6NDEsIi4vc2NhdHRlcnBvbGFyZ2wiOjQyLCIuL3NjYXR0ZXJ0ZXJuYXJ5Ijo0MywiLi9zb3J0Ijo0NCwiLi9zcGxvbSI6NDUsIi4vc3RyZWFtdHViZSI6NDYsIi4vc3VuYnVyc3QiOjQ3LCIuL3N1cmZhY2UiOjQ4LCIuL3RhYmxlIjo0OSwiLi90cmVlbWFwIjo1MCwiLi92aW9saW4iOjUxLCIuL3ZvbHVtZSI6NTIsIi4vd2F0ZXJmYWxsIjo1M31dLDI3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2luZGljYXRvciIpfSx7Ii4uL3NyYy90cmFjZXMvaW5kaWNhdG9yIjoxMDU0fV0sMjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvaXNvc3VyZmFjZSIpfSx7Ii4uL3NyYy90cmFjZXMvaXNvc3VyZmFjZSI6MTA2MH1dLDI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL21lc2gzZCIpfSx7Ii4uL3NyYy90cmFjZXMvbWVzaDNkIjoxMDY1fV0sMzA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvb2hsYyIpfSx7Ii4uL3NyYy90cmFjZXMvb2hsYyI6MTA3MH1dLDMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3BhcmNhdHMiKX0seyIuLi9zcmMvdHJhY2VzL3BhcmNhdHMiOjEwNzl9XSwzMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9wYXJjb29yZHMiKX0seyIuLi9zcmMvdHJhY2VzL3BhcmNvb3JkcyI6MTA4OX1dLDMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3BpZSIpfSx7Ii4uL3NyYy90cmFjZXMvcGllIjoxMTAwfV0sMzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvcG9pbnRjbG91ZCIpfSx7Ii4uL3NyYy90cmFjZXMvcG9pbnRjbG91ZCI6MTEwOX1dLDM1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3NhbmtleSIpfSx7Ii4uL3NyYy90cmFjZXMvc2Fua2V5IjoxMTE1fV0sMzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcjNkIil9LHsiLi4vc3JjL3RyYWNlcy9zY2F0dGVyM2QiOjExNTJ9XSwzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9zY2F0dGVyY2FycGV0Iil9LHsiLi4vc3JjL3RyYWNlcy9zY2F0dGVyY2FycGV0IjoxMTU5fV0sMzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcmdlbyIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcmdlbyI6MTE2N31dLDM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJnbCIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcmdsIjoxMTgwfV0sNDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcm1hcGJveCIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcm1hcGJveCI6MTE5MH1dLDQxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJwb2xhciIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcnBvbGFyIjoxMTk4fV0sNDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcnBvbGFyZ2wiKX0seyIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJwb2xhcmdsIjoxMjA1fV0sNDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcnRlcm5hcnkiKX0seyIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJ0ZXJuYXJ5IjoxMjEzfV0sNDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFuc2Zvcm1zL3NvcnQiKX0seyIuLi9zcmMvdHJhbnNmb3Jtcy9zb3J0IjoxMzAxfV0sNDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc3Bsb20iKX0seyIuLi9zcmMvdHJhY2VzL3NwbG9tIjoxMjIyfV0sNDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc3RyZWFtdHViZSIpfSx7Ii4uL3NyYy90cmFjZXMvc3RyZWFtdHViZSI6MTIzMH1dLDQ3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3N1bmJ1cnN0Iil9LHsiLi4vc3JjL3RyYWNlcy9zdW5idXJzdCI6MTIzOH1dLDQ4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3N1cmZhY2UiKX0seyIuLi9zcmMvdHJhY2VzL3N1cmZhY2UiOjEyNDd9XSw0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy90YWJsZSIpfSx7Ii4uL3NyYy90cmFjZXMvdGFibGUiOjEyNTV9XSw1MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy90cmVlbWFwIil9LHsiLi4vc3JjL3RyYWNlcy90cmVlbWFwIjoxMjY0fV0sNTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvdmlvbGluIil9LHsiLi4vc3JjL3RyYWNlcy92aW9saW4iOjEyNzZ9XSw1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy92b2x1bWUiKX0seyIuLi9zcmMvdHJhY2VzL3ZvbHVtZSI6MTI4NH1dLDUzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3dhdGVyZmFsbCIpfSx7Ii4uL3NyYy90cmFjZXMvd2F0ZXJmYWxsIjoxMjkyfV0sNTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPSh0PXR8fHt9KS5leWV8fFswLDAsMV0scj10LmNlbnRlcnx8WzAsMCwwXSxzPXQudXB8fFswLDEsMF0sbD10LmRpc3RhbmNlTGltaXRzfHxbMCwxLzBdLGM9dC5tb2RlfHwidHVybnRhYmxlIix1PW4oKSxoPWEoKSxmPWkoKTtyZXR1cm4gdS5zZXREaXN0YW5jZUxpbWl0cyhsWzBdLGxbMV0pLHUubG9va0F0KDAsZSxyLHMpLGguc2V0RGlzdGFuY2VMaW1pdHMobFswXSxsWzFdKSxoLmxvb2tBdCgwLGUscixzKSxmLnNldERpc3RhbmNlTGltaXRzKGxbMF0sbFsxXSksZi5sb29rQXQoMCxlLHIscyksbmV3IG8oe3R1cm50YWJsZTp1LG9yYml0OmgsbWF0cml4OmZ9LGMpfTt2YXIgbj10KCJ0dXJudGFibGUtY2FtZXJhLWNvbnRyb2xsZXIiKSxhPXQoIm9yYml0LWNhbWVyYS1jb250cm9sbGVyIiksaT10KCJtYXRyaXgtY2FtZXJhLWNvbnRyb2xsZXIiKTtmdW5jdGlvbiBvKHQsZSl7dGhpcy5fY29udHJvbGxlck5hbWVzPU9iamVjdC5rZXlzKHQpLHRoaXMuX2NvbnRyb2xsZXJMaXN0PXRoaXMuX2NvbnRyb2xsZXJOYW1lcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSx0aGlzLl9tb2RlPWUsdGhpcy5fYWN0aXZlPXRbZV0sdGhpcy5fYWN0aXZlfHwodGhpcy5fbW9kZT0idHVybnRhYmxlIix0aGlzLl9hY3RpdmU9dC50dXJudGFibGUpLHRoaXMubW9kZXM9dGhpcy5fY29udHJvbGxlck5hbWVzLHRoaXMuY29tcHV0ZWRNYXRyaXg9dGhpcy5fYWN0aXZlLmNvbXB1dGVkTWF0cml4LHRoaXMuY29tcHV0ZWRFeWU9dGhpcy5fYWN0aXZlLmNvbXB1dGVkRXllLHRoaXMuY29tcHV0ZWRVcD10aGlzLl9hY3RpdmUuY29tcHV0ZWRVcCx0aGlzLmNvbXB1dGVkQ2VudGVyPXRoaXMuX2FjdGl2ZS5jb21wdXRlZENlbnRlcix0aGlzLmNvbXB1dGVkUmFkaXVzPXRoaXMuX2FjdGl2ZS5jb21wdXRlZFJhZGl1c312YXIgcz1vLnByb3RvdHlwZTtbWyJmbHVzaCIsMV0sWyJpZGxlIiwxXSxbImxvb2tBdCIsNF0sWyJyb3RhdGUiLDRdLFsicGFuIiw0XSxbInRyYW5zbGF0ZSIsNF0sWyJzZXRNYXRyaXgiLDJdLFsic2V0RGlzdGFuY2VMaW1pdHMiLDJdLFsic2V0RGlzdGFuY2UiLDJdXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10WzBdLHI9W10sbj0wO248dFsxXTsrK24pci5wdXNoKCJhIituKTt2YXIgYT0idmFyIGNjPXRoaXMuX2NvbnRyb2xsZXJMaXN0O2Zvcih2YXIgaT0wO2k8Y2MubGVuZ3RoOysraSl7Y2NbaV0uIit0WzBdKyIoIityLmpvaW4oKSsiKX0iO3NbZV09RnVuY3Rpb24uYXBwbHkobnVsbCxyLmNvbmNhdChhKSl9KSxzLnJlY2FsY01hdHJpeD1mdW5jdGlvbih0KXt0aGlzLl9hY3RpdmUucmVjYWxjTWF0cml4KHQpfSxzLmdldERpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hY3RpdmUuZ2V0RGlzdGFuY2UodCl9LHMuZ2V0RGlzdGFuY2VMaW1pdHM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2FjdGl2ZS5nZXREaXN0YW5jZUxpbWl0cyh0KX0scy5sYXN0VD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hY3RpdmUubGFzdFQoKX0scy5zZXRNb2RlPWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLl9tb2RlKXt2YXIgZT10aGlzLl9jb250cm9sbGVyTmFtZXMuaW5kZXhPZih0KTtpZighKGU8MCkpe3ZhciByPXRoaXMuX2FjdGl2ZSxuPXRoaXMuX2NvbnRyb2xsZXJMaXN0W2VdLGE9TWF0aC5tYXgoci5sYXN0VCgpLG4ubGFzdFQoKSk7ci5yZWNhbGNNYXRyaXgoYSksbi5zZXRNYXRyaXgoYSxyLmNvbXB1dGVkTWF0cml4KSx0aGlzLl9hY3RpdmU9bix0aGlzLl9tb2RlPXQsdGhpcy5jb21wdXRlZE1hdHJpeD10aGlzLl9hY3RpdmUuY29tcHV0ZWRNYXRyaXgsdGhpcy5jb21wdXRlZEV5ZT10aGlzLl9hY3RpdmUuY29tcHV0ZWRFeWUsdGhpcy5jb21wdXRlZFVwPXRoaXMuX2FjdGl2ZS5jb21wdXRlZFVwLHRoaXMuY29tcHV0ZWRDZW50ZXI9dGhpcy5fYWN0aXZlLmNvbXB1dGVkQ2VudGVyLHRoaXMuY29tcHV0ZWRSYWRpdXM9dGhpcy5fYWN0aXZlLmNvbXB1dGVkUmFkaXVzfX19LHMuZ2V0TW9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb2RlfX0seyJtYXRyaXgtY2FtZXJhLWNvbnRyb2xsZXIiOjQzNSwib3JiaXQtY2FtZXJhLWNvbnRyb2xsZXIiOjQ1OCwidHVybnRhYmxlLWNhbWVyYS1jb250cm9sbGVyIjo1NDF9XSw1NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuLGE7bj10aGlzLGE9ZnVuY3Rpb24odCxlLHIsbixhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC50YXJnZXQuZGVwdGh9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0LnNvdXJjZUxpbmtzLmxlbmd0aD90LmRlcHRoOmUtMX1mdW5jdGlvbiBzKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1hPWEmJmEuaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9hLmRlZmF1bHQ6YTt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH07ZnVuY3Rpb24gYyh0LGUpe3JldHVybiBoKHQuc291cmNlLGUuc291cmNlKXx8dC5pbmRleC1lLmluZGV4fWZ1bmN0aW9uIHUodCxlKXtyZXR1cm4gaCh0LnRhcmdldCxlLnRhcmdldCl8fHQuaW5kZXgtZS5pbmRleH1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIHQucGFydE9mQ3ljbGU9PT1lLnBhcnRPZkN5Y2xlP3QueTAtZS55MDoidG9wIj09PXQuY2lyY3VsYXJMaW5rVHlwZXx8ImJvdHRvbSI9PT1lLmNpcmN1bGFyTGlua1R5cGU/LTE6MX1mdW5jdGlvbiBmKHQpe3JldHVybiB0LnZhbHVlfWZ1bmN0aW9uIHAodCl7cmV0dXJuKHQueTArdC55MSkvMn1mdW5jdGlvbiBkKHQpe3JldHVybiBwKHQuc291cmNlKX1mdW5jdGlvbiBnKHQpe3JldHVybiBwKHQudGFyZ2V0KX1mdW5jdGlvbiB2KHQpe3JldHVybiB0LmluZGV4fWZ1bmN0aW9uIG0odCl7cmV0dXJuIHQubm9kZXN9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5saW5rc31mdW5jdGlvbiB4KHQsZSl7dmFyIHI9dC5nZXQoZSk7aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAiK2UpO3JldHVybiByfWZ1bmN0aW9uIGIodCxlKXtyZXR1cm4gZSh0KX12YXIgXz0yNSx3PTEwLGs9LjM7ZnVuY3Rpb24gVCh0LGUpe3ZhciByPTAsbj0wO3QubGlua3MuZm9yRWFjaChmdW5jdGlvbihhKXthLmNpcmN1bGFyJiYoYS5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZXx8YS50YXJnZXQuY2lyY3VsYXJMaW5rVHlwZT9hLmNpcmN1bGFyTGlua1R5cGU9YS5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZT9hLnNvdXJjZS5jaXJjdWxhckxpbmtUeXBlOmEudGFyZ2V0LmNpcmN1bGFyTGlua1R5cGU6YS5jaXJjdWxhckxpbmtUeXBlPXI8bj8idG9wIjoiYm90dG9tIiwidG9wIj09YS5jaXJjdWxhckxpbmtUeXBlP3IrPTE6bis9MSx0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7Yih0LGUpIT1iKGEuc291cmNlLGUpJiZiKHQsZSkhPWIoYS50YXJnZXQsZSl8fCh0LmNpcmN1bGFyTGlua1R5cGU9YS5jaXJjdWxhckxpbmtUeXBlKX0pKX0pLHQubGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNpcmN1bGFyJiYodC5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZT09dC50YXJnZXQuY2lyY3VsYXJMaW5rVHlwZSYmKHQuY2lyY3VsYXJMaW5rVHlwZT10LnNvdXJjZS5jaXJjdWxhckxpbmtUeXBlKSxZKHQsZSkmJih0LmNpcmN1bGFyTGlua1R5cGU9dC5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZSkpfSl9ZnVuY3Rpb24gTSh0KXt2YXIgZT1NYXRoLmFicyh0LnkxLXQueTApLHI9TWF0aC5hYnModC50YXJnZXQueDAtdC5zb3VyY2UueDEpO3JldHVybiBNYXRoLmF0YW4oci9lKX1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9MDt0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7cj10LmNpcmN1bGFyJiYhWSh0LGUpP3IrMTpyfSk7dmFyIG49MDtyZXR1cm4gdC50YXJnZXRMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe249dC5jaXJjdWxhciYmIVkodCxlKT9uKzE6bn0pLHIrbn1mdW5jdGlvbiBTKHQpe3ZhciBlPXQuc291cmNlLnNvdXJjZUxpbmtzLHI9MDtlLmZvckVhY2goZnVuY3Rpb24odCl7cj10LmNpcmN1bGFyP3IrMTpyfSk7dmFyIG49dC50YXJnZXQudGFyZ2V0TGlua3MsYT0wO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24odCl7YT10LmNpcmN1bGFyP2ErMTphfSksIShyPjF8fGE+MSl9ZnVuY3Rpb24gRSh0LGUscil7cmV0dXJuIHQuc29ydChDKSx0LmZvckVhY2goZnVuY3Rpb24obixhKXt2YXIgaSxvLHM9MDtpZihZKG4scikmJlMobikpbi5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsQnVmZmVyPXMrbi53aWR0aC8yO2Vsc2V7Zm9yKHZhciBsPTA7bDxhO2wrKylpZihpPXRbYV0sbz10W2xdLCEoaS5zb3VyY2UuY29sdW1uPG8udGFyZ2V0LmNvbHVtbnx8aS50YXJnZXQuY29sdW1uPm8uc291cmNlLmNvbHVtbikpe3ZhciBjPXRbbF0uY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcit0W2xdLndpZHRoLzIrZTtzPWM+cz9jOnN9bi5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsQnVmZmVyPXMrbi53aWR0aC8yfX0pLHR9ZnVuY3Rpb24gTCh0LHIsYSxpKXt2YXIgbz1lLm1pbih0LmxpbmtzLGZ1bmN0aW9uKHQpe3JldHVybiB0LnNvdXJjZS55MH0pO3QubGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNpcmN1bGFyJiYodC5jaXJjdWxhclBhdGhEYXRhPXt9KX0pLEUodC5saW5rcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuInRvcCI9PXQuY2lyY3VsYXJMaW5rVHlwZX0pLHIsaSksRSh0LmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4iYm90dG9tIj09dC5jaXJjdWxhckxpbmtUeXBlfSkscixpKSx0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZS5jaXJjdWxhcil7aWYoZS5jaXJjdWxhclBhdGhEYXRhLmFyY1JhZGl1cz1lLndpZHRoK3csZS5jaXJjdWxhclBhdGhEYXRhLmxlZnROb2RlQnVmZmVyPTUsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0Tm9kZUJ1ZmZlcj01LGUuY2lyY3VsYXJQYXRoRGF0YS5zb3VyY2VXaWR0aD1lLnNvdXJjZS54MS1lLnNvdXJjZS54MCxlLmNpcmN1bGFyUGF0aERhdGEuc291cmNlWD1lLnNvdXJjZS54MCtlLmNpcmN1bGFyUGF0aERhdGEuc291cmNlV2lkdGgsZS5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFg9ZS50YXJnZXQueDAsZS5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVk9ZS55MCxlLmNpcmN1bGFyUGF0aERhdGEudGFyZ2V0WT1lLnkxLFkoZSxpKSYmUyhlKSllLmNpcmN1bGFyUGF0aERhdGEubGVmdFNtYWxsQXJjUmFkaXVzPXcrZS53aWR0aC8yLGUuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0TGFyZ2VBcmNSYWRpdXM9dytlLndpZHRoLzIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0U21hbGxBcmNSYWRpdXM9dytlLndpZHRoLzIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXM9dytlLndpZHRoLzIsImJvdHRvbSI9PWUuY2lyY3VsYXJMaW5rVHlwZT8oZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudD1lLnNvdXJjZS55MStfK2UuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzLGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cyk6KGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQ9ZS5zb3VyY2UueTAtXy1lLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxCdWZmZXIsZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsTGVmdElubmVyRXh0ZW50PWUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQrZS5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cyxlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxSaWdodElubmVyRXh0ZW50PWUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQrZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMpO2Vsc2V7dmFyIHM9ZS5zb3VyY2UuY29sdW1uLGw9ZS5jaXJjdWxhckxpbmtUeXBlLGM9dC5saW5rcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuc291cmNlLmNvbHVtbj09cyYmdC5jaXJjdWxhckxpbmtUeXBlPT1sfSk7ImJvdHRvbSI9PWUuY2lyY3VsYXJMaW5rVHlwZT9jLnNvcnQoTyk6Yy5zb3J0KFApO3ZhciB1PTA7Yy5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7dC5jaXJjdWxhckxpbmtJRD09ZS5jaXJjdWxhckxpbmtJRCYmKGUuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0U21hbGxBcmNSYWRpdXM9dytlLndpZHRoLzIrdSxlLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzPXcrZS53aWR0aC8yK24qcit1KSx1Kz10LndpZHRofSkscz1lLnRhcmdldC5jb2x1bW4sYz10LmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXQuY29sdW1uPT1zJiZ0LmNpcmN1bGFyTGlua1R5cGU9PWx9KSwiYm90dG9tIj09ZS5jaXJjdWxhckxpbmtUeXBlP2Muc29ydChJKTpjLnNvcnQoeiksdT0wLGMuZm9yRWFjaChmdW5jdGlvbih0LG4pe3QuY2lyY3VsYXJMaW5rSUQ9PWUuY2lyY3VsYXJMaW5rSUQmJihlLmNpcmN1bGFyUGF0aERhdGEucmlnaHRTbWFsbEFyY1JhZGl1cz13K2Uud2lkdGgvMit1LGUuY2lyY3VsYXJQYXRoRGF0YS5yaWdodExhcmdlQXJjUmFkaXVzPXcrZS53aWR0aC8yK24qcit1KSx1Kz10LndpZHRofSksImJvdHRvbSI9PWUuY2lyY3VsYXJMaW5rVHlwZT8oZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudD1NYXRoLm1heChhLGUuc291cmNlLnkxLGUudGFyZ2V0LnkxKStfK2UuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzLGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cyk6KGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQ9by1fLWUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCtlLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzLGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCtlLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cyl9ZS5jaXJjdWxhclBhdGhEYXRhLmxlZnRJbm5lckV4dGVudD1lLmNpcmN1bGFyUGF0aERhdGEuc291cmNlWCtlLmNpcmN1bGFyUGF0aERhdGEubGVmdE5vZGVCdWZmZXIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFgtZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0Tm9kZUJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEubGVmdEZ1bGxFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVgrZS5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cytlLmNpcmN1bGFyUGF0aERhdGEubGVmdE5vZGVCdWZmZXIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0RnVsbEV4dGVudD1lLmNpcmN1bGFyUGF0aERhdGEudGFyZ2V0WC1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cy1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHROb2RlQnVmZmVyfWlmKGUuY2lyY3VsYXIpZS5wYXRoPWZ1bmN0aW9uKHQpe3ZhciBlPSIiO2U9InRvcCI9PXQuY2lyY3VsYXJMaW5rVHlwZT8iTSIrdC5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVgrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5zb3VyY2VZKyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRJbm5lckV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVkrIiBBIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzKyIgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdFNtYWxsQXJjUmFkaXVzKyIgMCAwIDAgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdEZ1bGxFeHRlbnQrIiAiKyh0LmNpcmN1bGFyUGF0aERhdGEuc291cmNlWS10LmNpcmN1bGFyUGF0aERhdGEubGVmdFNtYWxsQXJjUmFkaXVzKSsiIEwiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0RnVsbEV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsTGVmdElubmVyRXh0ZW50KyIgQSIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cysiICIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cysiIDAgMCAwICIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRJbm5lckV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCsiIEwiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodElubmVyRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxGdWxsRXh0ZW50KyIgQSIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodExhcmdlQXJjUmFkaXVzKyIgMCAwIDAgIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRGdWxsRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxSaWdodElubmVyRXh0ZW50KyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0RnVsbEV4dGVudCsiICIrKHQuY2lyY3VsYXJQYXRoRGF0YS50YXJnZXRZLXQuY2lyY3VsYXJQYXRoRGF0YS5yaWdodFNtYWxsQXJjUmFkaXVzKSsiIEEiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodExhcmdlQXJjUmFkaXVzKyIgIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRTbWFsbEFyY1JhZGl1cysiIDAgMCAwICIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0SW5uZXJFeHRlbnQrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS50YXJnZXRZKyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFgrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS50YXJnZXRZOiJNIit0LmNpcmN1bGFyUGF0aERhdGEuc291cmNlWCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVkrIiBMIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdElubmVyRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEuc291cmNlWSsiIEEiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0TGFyZ2VBcmNSYWRpdXMrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0U21hbGxBcmNSYWRpdXMrIiAwIDAgMSAiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0RnVsbEV4dGVudCsiICIrKHQuY2lyY3VsYXJQYXRoRGF0YS5zb3VyY2VZK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0U21hbGxBcmNSYWRpdXMpKyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRGdWxsRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQrIiBBIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzKyIgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzKyIgMCAwIDEgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdElubmVyRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxGdWxsRXh0ZW50KyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0SW5uZXJFeHRlbnQrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQrIiBBIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cysiICIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrIiAwIDAgMSAiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodEZ1bGxFeHRlbnQrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQrIiBMIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRGdWxsRXh0ZW50KyIgIisodC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFkrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0U21hbGxBcmNSYWRpdXMpKyIgQSIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodFNtYWxsQXJjUmFkaXVzKyIgMCAwIDEgIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRJbm5lckV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFkrIiBMIit0LmNpcmN1bGFyUGF0aERhdGEudGFyZ2V0WCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFk7cmV0dXJuIGV9KGUpO2Vsc2V7dmFyIGg9bi5saW5rSG9yaXpvbnRhbCgpLnNvdXJjZShmdW5jdGlvbih0KXtyZXR1cm5bdC5zb3VyY2UueDArKHQuc291cmNlLngxLXQuc291cmNlLngwKSx0LnkwXX0pLnRhcmdldChmdW5jdGlvbih0KXtyZXR1cm5bdC50YXJnZXQueDAsdC55MV19KTtlLnBhdGg9aChlKX19KX1mdW5jdGlvbiBDKHQsZSl7cmV0dXJuIEQodCk9PUQoZSk/ImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZT9PKHQsZSk6UCh0LGUpOkQoZSktRCh0KX1mdW5jdGlvbiBQKHQsZSl7cmV0dXJuIHQueTAtZS55MH1mdW5jdGlvbiBPKHQsZSl7cmV0dXJuIGUueTAtdC55MH1mdW5jdGlvbiB6KHQsZSl7cmV0dXJuIHQueTEtZS55MX1mdW5jdGlvbiBJKHQsZSl7cmV0dXJuIGUueTEtdC55MX1mdW5jdGlvbiBEKHQpe3JldHVybiB0LnRhcmdldC5jb2x1bW4tdC5zb3VyY2UuY29sdW1ufWZ1bmN0aW9uIFIodCl7cmV0dXJuIHQudGFyZ2V0LngwLXQuc291cmNlLngxfWZ1bmN0aW9uIEYodCxlKXt2YXIgcj1NKHQpLG49UihlKS9NYXRoLnRhbihyKTtyZXR1cm4idXAiPT1HKHQpP3QueTErbjp0LnkxLW59ZnVuY3Rpb24gQih0LGUpe3ZhciByPU0odCksbj1SKGUpL01hdGgudGFuKHIpO3JldHVybiJ1cCI9PUcodCk/dC55MS1uOnQueTErbn1mdW5jdGlvbiBOKHQsZSxyLG4pe3QubGlua3MuZm9yRWFjaChmdW5jdGlvbihhKXtpZighYS5jaXJjdWxhciYmYS50YXJnZXQuY29sdW1uLWEuc291cmNlLmNvbHVtbj4xKXt2YXIgaT1hLnNvdXJjZS5jb2x1bW4rMSxvPWEudGFyZ2V0LmNvbHVtbi0xLHM9MSxsPW8taSsxO2ZvcihzPTE7aTw9bztpKysscysrKXQubm9kZXMuZm9yRWFjaChmdW5jdGlvbihvKXtpZihvLmNvbHVtbj09aSl7dmFyIGMsdT1zLyhsKzEpLGg9TWF0aC5wb3coMS11LDMpLGY9Myp1Kk1hdGgucG93KDEtdSwyKSxwPTMqTWF0aC5wb3codSwyKSooMS11KSxkPU1hdGgucG93KHUsMyksZz1oKmEueTArZiphLnkwK3AqYS55MStkKmEueTEsdj1nLWEud2lkdGgvMixtPWcrYS53aWR0aC8yO3Y+by55MCYmdjxvLnkxPyhjPW8ueTEtdisxMCxjPSJib3R0b20iPT1vLmNpcmN1bGFyTGlua1R5cGU/YzotYyxvPVYobyxjLGUsciksdC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2IodCxuKSE9YihvLG4pJiZ0LmNvbHVtbj09by5jb2x1bW4mJmoobyx0KSYmVih0LGMsZSxyKX0pKTptPm8ueTAmJm08by55MT8oYz1tLW8ueTArMTAsbz1WKG8sYyxlLHIpLHQubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXtiKHQsbikhPWIobyxuKSYmdC5jb2x1bW49PW8uY29sdW1uJiZ0LnkwPG8ueTEmJnQueTE+by55MSYmVih0LGMsZSxyKX0pKTp2PG8ueTAmJm0+by55MSYmKGM9bS1vLnkwKzEwLG89VihvLGMsZSxyKSx0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7Yih0LG4pIT1iKG8sbikmJnQuY29sdW1uPT1vLmNvbHVtbiYmdC55MDxvLnkxJiZ0LnkxPm8ueTEmJlYodCxjLGUscil9KSl9fSl9fSl9ZnVuY3Rpb24gaih0LGUpe3JldHVybiB0LnkwPmUueTAmJnQueTA8ZS55MXx8KHQueTE+ZS55MCYmdC55MTxlLnkxfHx0LnkwPGUueTAmJnQueTE+ZS55MSl9ZnVuY3Rpb24gVih0LGUscixuKXtyZXR1cm4gdC55MCtlPj1yJiZ0LnkxK2U8PW4mJih0LnkwPXQueTArZSx0LnkxPXQueTErZSx0LnRhcmdldExpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC55MT10LnkxK2V9KSx0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC55MD10LnkwK2V9KSksdH1mdW5jdGlvbiBVKHQsZSxyLG4pe3Qubm9kZXMuZm9yRWFjaChmdW5jdGlvbihhKXtuJiZhLnkrKGEueTEtYS55MCk+ZSYmKGEueT1hLnktKGEueSsoYS55MS1hLnkwKS1lKSk7dmFyIGk9dC5saW5rcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGIodC5zb3VyY2Uscik9PWIoYSxyKX0pLG89aS5sZW5ndGg7bz4xJiZpLnNvcnQoZnVuY3Rpb24odCxlKXtpZighdC5jaXJjdWxhciYmIWUuY2lyY3VsYXIpe2lmKHQudGFyZ2V0LmNvbHVtbj09ZS50YXJnZXQuY29sdW1uKXJldHVybiB0LnkxLWUueTE7aWYoIUgodCxlKSlyZXR1cm4gdC55MS1lLnkxO2lmKHQudGFyZ2V0LmNvbHVtbj5lLnRhcmdldC5jb2x1bW4pe3ZhciByPUIoZSx0KTtyZXR1cm4gdC55MS1yfWlmKGUudGFyZ2V0LmNvbHVtbj50LnRhcmdldC5jb2x1bW4pcmV0dXJuIEIodCxlKS1lLnkxfXJldHVybiB0LmNpcmN1bGFyJiYhZS5jaXJjdWxhcj8idG9wIj09dC5jaXJjdWxhckxpbmtUeXBlPy0xOjE6ZS5jaXJjdWxhciYmIXQuY2lyY3VsYXI/InRvcCI9PWUuY2lyY3VsYXJMaW5rVHlwZT8xOi0xOnQuY2lyY3VsYXImJmUuY2lyY3VsYXI/dC5jaXJjdWxhckxpbmtUeXBlPT09ZS5jaXJjdWxhckxpbmtUeXBlJiYidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlP3QudGFyZ2V0LmNvbHVtbj09PWUudGFyZ2V0LmNvbHVtbj90LnRhcmdldC55MS1lLnRhcmdldC55MTplLnRhcmdldC5jb2x1bW4tdC50YXJnZXQuY29sdW1uOnQuY2lyY3VsYXJMaW5rVHlwZT09PWUuY2lyY3VsYXJMaW5rVHlwZSYmImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZT90LnRhcmdldC5jb2x1bW49PT1lLnRhcmdldC5jb2x1bW4/ZS50YXJnZXQueTEtdC50YXJnZXQueTE6dC50YXJnZXQuY29sdW1uLWUudGFyZ2V0LmNvbHVtbjoidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlPy0xOjE6dm9pZCAwfSk7dmFyIHM9YS55MDtpLmZvckVhY2goZnVuY3Rpb24odCl7dC55MD1zK3Qud2lkdGgvMixzKz10LndpZHRofSksaS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7aWYoImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZSl7Zm9yKHZhciByPWUrMSxuPTA7cjxvO3IrKyluKz1pW3JdLndpZHRoO3QueTA9YS55MS1uLXQud2lkdGgvMn19KX0pfWZ1bmN0aW9uIHEodCxlLHIpe3Qubm9kZXMuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj10LmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gYih0LnRhcmdldCxyKT09YihlLHIpfSksYT1uLmxlbmd0aDthPjEmJm4uc29ydChmdW5jdGlvbih0LGUpe2lmKCF0LmNpcmN1bGFyJiYhZS5jaXJjdWxhcil7aWYodC5zb3VyY2UuY29sdW1uPT1lLnNvdXJjZS5jb2x1bW4pcmV0dXJuIHQueTAtZS55MDtpZighSCh0LGUpKXJldHVybiB0LnkwLWUueTA7aWYoZS5zb3VyY2UuY29sdW1uPHQuc291cmNlLmNvbHVtbil7dmFyIHI9RihlLHQpO3JldHVybiB0LnkwLXJ9aWYodC5zb3VyY2UuY29sdW1uPGUuc291cmNlLmNvbHVtbilyZXR1cm4gRih0LGUpLWUueTB9cmV0dXJuIHQuY2lyY3VsYXImJiFlLmNpcmN1bGFyPyJ0b3AiPT10LmNpcmN1bGFyTGlua1R5cGU/LTE6MTplLmNpcmN1bGFyJiYhdC5jaXJjdWxhcj8idG9wIj09ZS5jaXJjdWxhckxpbmtUeXBlPzE6LTE6dC5jaXJjdWxhciYmZS5jaXJjdWxhcj90LmNpcmN1bGFyTGlua1R5cGU9PT1lLmNpcmN1bGFyTGlua1R5cGUmJiJ0b3AiPT10LmNpcmN1bGFyTGlua1R5cGU/dC5zb3VyY2UuY29sdW1uPT09ZS5zb3VyY2UuY29sdW1uP3Quc291cmNlLnkxLWUuc291cmNlLnkxOnQuc291cmNlLmNvbHVtbi1lLnNvdXJjZS5jb2x1bW46dC5jaXJjdWxhckxpbmtUeXBlPT09ZS5jaXJjdWxhckxpbmtUeXBlJiYiYm90dG9tIj09dC5jaXJjdWxhckxpbmtUeXBlP3Quc291cmNlLmNvbHVtbj09PWUuc291cmNlLmNvbHVtbj90LnNvdXJjZS55MS1lLnNvdXJjZS55MTplLnNvdXJjZS5jb2x1bW4tdC5zb3VyY2UuY29sdW1uOiJ0b3AiPT10LmNpcmN1bGFyTGlua1R5cGU/LTE6MTp2b2lkIDB9KTt2YXIgaT1lLnkwO24uZm9yRWFjaChmdW5jdGlvbih0KXt0LnkxPWkrdC53aWR0aC8yLGkrPXQud2lkdGh9KSxuLmZvckVhY2goZnVuY3Rpb24odCxyKXtpZigiYm90dG9tIj09dC5jaXJjdWxhckxpbmtUeXBlKXtmb3IodmFyIGk9cisxLG89MDtpPGE7aSsrKW8rPW5baV0ud2lkdGg7dC55MT1lLnkxLW8tdC53aWR0aC8yfX0pfSl9ZnVuY3Rpb24gSCh0LGUpe3JldHVybiBHKHQpPT1HKGUpfWZ1bmN0aW9uIEcodCl7cmV0dXJuIHQueTAtdC55MT4wPyJ1cCI6ImRvd24ifWZ1bmN0aW9uIFkodCxlKXtyZXR1cm4gYih0LnNvdXJjZSxlKT09Yih0LnRhcmdldCxlKX10LnNhbmtleUNpcmN1bGFyPWZ1bmN0aW9uKCl7dmFyIHQsbixpPTAsYj0wLE09MSxTPTEsRT0yNCxDPXYsUD1vLE89bSx6PXksST0zMixEPTIsUj1udWxsO2Z1bmN0aW9uIEYoKXt2YXIgbz17bm9kZXM6Ty5hcHBseShudWxsLGFyZ3VtZW50cyksbGlua3M6ei5hcHBseShudWxsLGFyZ3VtZW50cyl9OyFmdW5jdGlvbih0KXt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCxlKXt0LmluZGV4PWUsdC5zb3VyY2VMaW5rcz1bXSx0LnRhcmdldExpbmtzPVtdfSk7dmFyIGU9ci5tYXAodC5ub2RlcyxDKTt0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCxyKXt0LmluZGV4PXI7dmFyIG49dC5zb3VyY2UsYT10LnRhcmdldDsib2JqZWN0IiE9PSgidW5kZWZpbmVkIj09dHlwZW9mIG4/InVuZGVmaW5lZCI6bChuKSkmJihuPXQuc291cmNlPXgoZSxuKSksIm9iamVjdCIhPT0oInVuZGVmaW5lZCI9PXR5cGVvZiBhPyJ1bmRlZmluZWQiOmwoYSkpJiYoYT10LnRhcmdldD14KGUsYSkpLG4uc291cmNlTGlua3MucHVzaCh0KSxhLnRhcmdldExpbmtzLnB1c2godCl9KX0obyksZnVuY3Rpb24odCxlLHIpe3ZhciBuPTA7aWYobnVsbD09PXIpe2Zvcih2YXIgaT1bXSxvPTA7bzx0LmxpbmtzLmxlbmd0aDtvKyspe3ZhciBzPXQubGlua3Nbb10sbD1zLnNvdXJjZS5pbmRleCxjPXMudGFyZ2V0LmluZGV4O2lbbF18fChpW2xdPVtdKSxpW2NdfHwoaVtjXT1bXSksLTE9PT1pW2xdLmluZGV4T2YoYykmJmlbbF0ucHVzaChjKX12YXIgdT1hKGkpO3Uuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0Lmxlbmd0aC1lLmxlbmd0aH0pO3ZhciBoPXt9O2ZvcihvPTA7bzx1Lmxlbmd0aDtvKyspe3ZhciBmPXVbb10scD1mLnNsaWNlKC0yKTtoW3BbMF1dfHwoaFtwWzBdXT17fSksaFtwWzBdXVtwWzFdXT0hMH10LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQuaW5kZXgscj10LnNvdXJjZS5pbmRleDtlPT09cnx8aFtyXSYmaFtyXVtlXT8odC5jaXJjdWxhcj0hMCx0LmNpcmN1bGFyTGlua0lEPW4sbis9MSk6dC5jaXJjdWxhcj0hMX0pfWVsc2UgdC5saW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Quc291cmNlW3JdPHQudGFyZ2V0W3JdP3QuY2lyY3VsYXI9ITE6KHQuY2lyY3VsYXI9ITAsdC5jaXJjdWxhckxpbmtJRD1uLG4rPTEpfSl9KG8sMCxSKSxmdW5jdGlvbih0KXt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7dC5wYXJ0T2ZDeWNsZT0hMSx0LnZhbHVlPU1hdGgubWF4KGUuc3VtKHQuc291cmNlTGlua3MsZiksZS5zdW0odC50YXJnZXRMaW5rcyxmKSksdC5zb3VyY2VMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2lyY3VsYXImJih0LnBhcnRPZkN5Y2xlPSEwLHQuY2lyY3VsYXJMaW5rVHlwZT1lLmNpcmN1bGFyTGlua1R5cGUpfSksdC50YXJnZXRMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2lyY3VsYXImJih0LnBhcnRPZkN5Y2xlPSEwLHQuY2lyY3VsYXJMaW5rVHlwZT1lLmNpcmN1bGFyTGlua1R5cGUpfSl9KX0obyksZnVuY3Rpb24odCl7dmFyIGUscixuO2ZvcihlPXQubm9kZXMscj1bXSxuPTA7ZS5sZW5ndGg7KytuLGU9cixyPVtdKWUuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlcHRoPW4sdC5zb3VyY2VMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3IuaW5kZXhPZih0LnRhcmdldCk8MCYmIXQuY2lyY3VsYXImJnIucHVzaCh0LnRhcmdldCl9KX0pO2ZvcihlPXQubm9kZXMscj1bXSxuPTA7ZS5sZW5ndGg7KytuLGU9cixyPVtdKWUuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhlaWdodD1uLHQudGFyZ2V0TGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXtyLmluZGV4T2YodC5zb3VyY2UpPDAmJiF0LmNpcmN1bGFyJiZyLnB1c2godC5zb3VyY2UpfSl9KTt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7dC5jb2x1bW49TWF0aC5mbG9vcihQLmNhbGwobnVsbCx0LG4pKX0pfShvKSxUKG8sQyksZnVuY3Rpb24oYSxvLHMpe3ZhciBsPXIubmVzdCgpLmtleShmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW59KS5zb3J0S2V5cyhlLmFzY2VuZGluZykuZW50cmllcyhhLm5vZGVzKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsdWVzfSk7KGZ1bmN0aW9uKHIpe2lmKG4pe3ZhciBvPTEvMDtsLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9UypuLyh0Lmxlbmd0aCsxKTtvPWU8bz9lOm99KSx0PW99dmFyIHM9ZS5taW4obCxmdW5jdGlvbihyKXtyZXR1cm4oUy1iLShyLmxlbmd0aC0xKSp0KS9lLnN1bShyLGYpfSk7cyo9ayxhLmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC53aWR0aD10LnZhbHVlKnN9KTt2YXIgYz1mdW5jdGlvbih0KXt2YXIgcj0wLG49MCxhPTAsaT0wLG89ZS5tYXgodC5ub2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW59KTtyZXR1cm4gdC5saW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuY2lyY3VsYXImJigidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlP3IrPXQud2lkdGg6bis9dC53aWR0aCwwPT10LnRhcmdldC5jb2x1bW4mJihpKz10LndpZHRoKSx0LnNvdXJjZS5jb2x1bW49PW8mJihhKz10LndpZHRoKSl9KSx7dG9wOnI9cj4wP3IrXyt3OnIsYm90dG9tOm49bj4wP24rXyt3Om4sbGVmdDppPWk+MD9pK18rdzppLHJpZ2h0OmE9YT4wP2ErXyt3OmF9fShhKSx1PWZ1bmN0aW9uKHQscil7dmFyIG49ZS5tYXgodC5ub2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW59KSxhPU0taSxvPVMtYixzPWErci5yaWdodCtyLmxlZnQsbD1vK3IudG9wK3IuYm90dG9tLGM9YS9zLHU9by9sO3JldHVybiBpPWkqYytyLmxlZnQsTT0wPT1yLnJpZ2h0P006TSpjLGI9Yip1K3IudG9wLFMqPXUsdC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QueDA9aSt0LmNvbHVtbiooKE0taS1FKS9uKSx0LngxPXQueDArRX0pLHV9KGEsYyk7cyo9dSxhLmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC53aWR0aD10LnZhbHVlKnN9KSxsLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7dC5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7dC5kZXB0aD09bC5sZW5ndGgtMSYmMT09ZT8odC55MD1TLzItdC52YWx1ZSpzLHQueTE9dC55MCt0LnZhbHVlKnMpOjA9PXQuZGVwdGgmJjE9PWU/KHQueTA9Uy8yLXQudmFsdWUqcyx0LnkxPXQueTArdC52YWx1ZSpzKTp0LnBhcnRPZkN5Y2xlPzA9PUEodCxyKT8odC55MD1TLzIrbix0LnkxPXQueTArdC52YWx1ZSpzKToidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlPyh0LnkwPWIrbix0LnkxPXQueTArdC52YWx1ZSpzKToodC55MD1TLXQudmFsdWUqcy1uLHQueTE9dC55MCt0LnZhbHVlKnMpOjA9PWMudG9wfHwwPT1jLmJvdHRvbT8odC55MD0oUy1iKS9lKm4sdC55MT10LnkwK3QudmFsdWUqcyk6KHQueTA9KFMtYikvMi1lLzIrbix0LnkxPXQueTArdC52YWx1ZSpzKX0pfSl9KShzKSxtKCk7Zm9yKHZhciBjPTEsdT1vO3U+MDstLXUpdihjKj0uOTkscyksbSgpO2Z1bmN0aW9uIHYodCxyKXt2YXIgbj1sLmxlbmd0aDtsLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGk9YS5sZW5ndGgsbz1hWzBdLmRlcHRoO2EuZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgcztpZihhLnNvdXJjZUxpbmtzLmxlbmd0aHx8YS50YXJnZXRMaW5rcy5sZW5ndGgpaWYoYS5wYXJ0T2ZDeWNsZSYmQShhLHIpPjApO2Vsc2UgaWYoMD09byYmMT09aSlzPWEueTEtYS55MCxhLnkwPVMvMi1zLzIsYS55MT1TLzIrcy8yO2Vsc2UgaWYobz09bi0xJiYxPT1pKXM9YS55MS1hLnkwLGEueTA9Uy8yLXMvMixhLnkxPVMvMitzLzI7ZWxzZXt2YXIgbD1lLm1lYW4oYS5zb3VyY2VMaW5rcyxnKSxjPWUubWVhbihhLnRhcmdldExpbmtzLGQpLHU9KChsJiZjPyhsK2MpLzI6bHx8YyktcChhKSkqdDthLnkwKz11LGEueTErPXV9fSl9KX1mdW5jdGlvbiBtKCl7bC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByLG4sYSxpPWIsbz1lLmxlbmd0aDtmb3IoZS5zb3J0KGgpLGE9MDthPG87KythKXI9ZVthXSwobj1pLXIueTApPjAmJihyLnkwKz1uLHIueTErPW4pLGk9ci55MSt0O2lmKChuPWktdC1TKT4wKWZvcihpPXIueTAtPW4sci55MS09bixhPW8tMjthPj0wOy0tYSlyPWVbYV0sKG49ci55MSt0LWkpPjAmJihyLnkwLT1uLHIueTEtPW4pLGk9ci55MH0pfX0obyxJLEMpLEIobyk7Zm9yKHZhciBzPTA7czw0O3MrKylVKG8sUyxDKSxxKG8sMCxDKSxOKG8sYixTLEMpLFUobyxTLEMpLHEobywwLEMpO3JldHVybiBmdW5jdGlvbih0LHIsbil7dmFyIGE9dC5ub2RlcyxpPXQubGlua3Msbz0hMSxzPSExO2lmKGkuZm9yRWFjaChmdW5jdGlvbih0KXsidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlP289ITA6ImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZSYmKHM9ITApfSksMD09b3x8MD09cyl7dmFyIGw9ZS5taW4oYSxmdW5jdGlvbih0KXtyZXR1cm4gdC55MH0pLGM9ZS5tYXgoYSxmdW5jdGlvbih0KXtyZXR1cm4gdC55MX0pLHU9Yy1sLGg9bi1yLGY9aC91O2EuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT0odC55MS10LnkwKSpmO3QueTA9KHQueTAtbCkqZix0LnkxPXQueTArZX0pLGkuZm9yRWFjaChmdW5jdGlvbih0KXt0LnkwPSh0LnkwLWwpKmYsdC55MT0odC55MS1sKSpmLHQud2lkdGg9dC53aWR0aCpmfSl9fShvLGIsUyksTChvLEQsUyxDKSxvfWZ1bmN0aW9uIEIodCl7dC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Quc291cmNlTGlua3Muc29ydCh1KSx0LnRhcmdldExpbmtzLnNvcnQoYyl9KSx0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC55MCxyPWUsbj10LnkxLGE9bjt0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC5jaXJjdWxhcj8odC55MD1uLXQud2lkdGgvMixuLT10LndpZHRoKToodC55MD1lK3Qud2lkdGgvMixlKz10LndpZHRoKX0pLHQudGFyZ2V0TGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNpcmN1bGFyPyh0LnkxPWEtdC53aWR0aC8yLGEtPXQud2lkdGgpOih0LnkxPXIrdC53aWR0aC8yLHIrPXQud2lkdGgpfSl9KX1yZXR1cm4gRi5ub2RlSWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KEM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzKHQpLEYpOkN9LEYubm9kZUFsaWduPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhQPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cyh0KSxGKTpQfSxGLm5vZGVXaWR0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oRT0rdCxGKTpFfSxGLm5vZGVQYWRkaW5nPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PStlLEYpOnR9LEYubm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KE89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzKHQpLEYpOk99LEYubGlua3M9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHo9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzKHQpLEYpOnp9LEYuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1iPTAsTT0rdFswXSxTPSt0WzFdLEYpOltNLWksUy1iXX0sRi5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9K3RbMF1bMF0sTT0rdFsxXVswXSxiPSt0WzBdWzFdLFM9K3RbMV1bMV0sRik6W1tpLGJdLFtNLFNdXX0sRi5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhJPSt0LEYpOkl9LEYuY2lyY3VsYXJMaW5rR2FwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhEPSt0LEYpOkR9LEYubm9kZVBhZGRpbmdSYXRpbz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxGKTpufSxGLnNvcnROb2Rlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oUj10LEYpOlJ9LEYudXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBUKHQsQyksQih0KSx0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC5jaXJjdWxhciYmKHQuY2lyY3VsYXJMaW5rVHlwZT10LnkwK3QueTE8Uz8idG9wIjoiYm90dG9tIix0LnNvdXJjZS5jaXJjdWxhckxpbmtUeXBlPXQuY2lyY3VsYXJMaW5rVHlwZSx0LnRhcmdldC5jaXJjdWxhckxpbmtUeXBlPXQuY2lyY3VsYXJMaW5rVHlwZSl9KSxVKHQsUyxDLCExKSxxKHQsMCxDKSxMKHQsRCxTLEMpLHR9LEZ9LHQuc2Fua2V5Q2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldExpbmtzLmxlbmd0aD90LmRlcHRoOnQuc291cmNlTGlua3MubGVuZ3RoP2UubWluKHQuc291cmNlTGlua3MsaSktMTowfSx0LnNhbmtleUxlZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGVwdGh9LHQuc2Fua2V5UmlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS0xLXQuaGVpZ2h0fSx0LnNhbmtleUp1c3RpZnk9byxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1hcnJheSIpLHQoImQzLWNvbGxlY3Rpb24iKSx0KCJkMy1zaGFwZSIpLHQoImVsZW1lbnRhcnktY2lyY3VpdHMtZGlyZWN0ZWQtZ3JhcGgiKSk6YShuLmQzPW4uZDN8fHt9LG4uZDMsbi5kMyxuLmQzLG51bGwpfSx7ImQzLWFycmF5IjoxNTQsImQzLWNvbGxlY3Rpb24iOjE1NSwiZDMtc2hhcGUiOjE2MywiZWxlbWVudGFyeS1jaXJjdWl0cy1kaXJlY3RlZC1ncmFwaCI6MTc1fV0sNTY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbixhO249dGhpcyxhPWZ1bmN0aW9uKHQsZSxyLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKHQpe3JldHVybiB0LnRhcmdldC5kZXB0aH1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHQuc291cmNlTGlua3MubGVuZ3RoP3QuZGVwdGg6ZS0xfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gYyh0LnNvdXJjZSxlLnNvdXJjZSl8fHQuaW5kZXgtZS5pbmRleH1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIGModC50YXJnZXQsZS50YXJnZXQpfHx0LmluZGV4LWUuaW5kZXh9ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0LnkwLWUueTB9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC52YWx1ZX1mdW5jdGlvbiBoKHQpe3JldHVybih0LnkwK3QueTEpLzJ9ZnVuY3Rpb24gZih0KXtyZXR1cm4gaCh0LnNvdXJjZSkqdC52YWx1ZX1mdW5jdGlvbiBwKHQpe3JldHVybiBoKHQudGFyZ2V0KSp0LnZhbHVlfWZ1bmN0aW9uIGQodCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdC5ub2Rlc31mdW5jdGlvbiB2KHQpe3JldHVybiB0LmxpbmtzfWZ1bmN0aW9uIG0odCxlKXt2YXIgcj10LmdldChlKTtpZighcil0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrZSk7cmV0dXJuIHJ9ZnVuY3Rpb24geSh0KXtyZXR1cm5bdC5zb3VyY2UueDEsdC55MF19ZnVuY3Rpb24geCh0KXtyZXR1cm5bdC50YXJnZXQueDAsdC55MV19dC5zYW5rZXk9ZnVuY3Rpb24oKXt2YXIgdD0wLG49MCxhPTEseT0xLHg9MjQsYj04LF89ZCx3PWksaz1nLFQ9dixNPTMyLEE9Mi8zO2Z1bmN0aW9uIFMoKXt2YXIgaT17bm9kZXM6ay5hcHBseShudWxsLGFyZ3VtZW50cyksbGlua3M6VC5hcHBseShudWxsLGFyZ3VtZW50cyl9O3JldHVybiBmdW5jdGlvbih0KXt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCxlKXt0LmluZGV4PWUsdC5zb3VyY2VMaW5rcz1bXSx0LnRhcmdldExpbmtzPVtdfSk7dmFyIGU9ci5tYXAodC5ub2RlcyxfKTt0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCxyKXt0LmluZGV4PXI7dmFyIG49dC5zb3VyY2UsYT10LnRhcmdldDsib2JqZWN0IiE9dHlwZW9mIG4mJihuPXQuc291cmNlPW0oZSxuKSksIm9iamVjdCIhPXR5cGVvZiBhJiYoYT10LnRhcmdldD1tKGUsYSkpLG4uc291cmNlTGlua3MucHVzaCh0KSxhLnRhcmdldExpbmtzLnB1c2godCl9KX0oaSksZnVuY3Rpb24odCl7dC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QudmFsdWU9TWF0aC5tYXgoZS5zdW0odC5zb3VyY2VMaW5rcyx1KSxlLnN1bSh0LnRhcmdldExpbmtzLHUpKX0pfShpKSxmdW5jdGlvbihlKXt2YXIgcixuLGk7Zm9yKHI9ZS5ub2RlcyxuPVtdLGk9MDtyLmxlbmd0aDsrK2kscj1uLG49W10pci5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZGVwdGg9aSx0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7bi5pbmRleE9mKHQudGFyZ2V0KTwwJiZuLnB1c2godC50YXJnZXQpfSl9KTtmb3Iocj1lLm5vZGVzLG49W10saT0wO3IubGVuZ3RoOysraSxyPW4sbj1bXSlyLmZvckVhY2goZnVuY3Rpb24odCl7dC5oZWlnaHQ9aSx0LnRhcmdldExpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7bi5pbmRleE9mKHQuc291cmNlKTwwJiZuLnB1c2godC5zb3VyY2UpfSl9KTt2YXIgbz0oYS10LXgpLyhpLTEpO2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbihlKXtlLngxPShlLngwPXQrTWF0aC5tYXgoMCxNYXRoLm1pbihpLTEsTWF0aC5mbG9vcih3LmNhbGwobnVsbCxlLGkpKSkpKm8pK3h9KX0oaSksZnVuY3Rpb24odCl7dmFyIGE9ci5uZXN0KCkua2V5KGZ1bmN0aW9uKHQpe3JldHVybiB0LngwfSkuc29ydEtleXMoZS5hc2NlbmRpbmcpLmVudHJpZXModC5ub2RlcykubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlc30pOyhmdW5jdGlvbigpe3ZhciByPWUubWF4KGEsZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RofSksaT1BKih5LW4pLyhyLTEpO2I+aSYmKGI9aSk7dmFyIG89ZS5taW4oYSxmdW5jdGlvbih0KXtyZXR1cm4oeS1uLSh0Lmxlbmd0aC0xKSpiKS9lLnN1bSh0LHUpfSk7YS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZm9yRWFjaChmdW5jdGlvbih0LGUpe3QueTE9KHQueTA9ZSkrdC52YWx1ZSpvfSl9KSx0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC53aWR0aD10LnZhbHVlKm99KX0pKCksZCgpO2Zvcih2YXIgaT0xLG89TTtvPjA7LS1vKWwoaSo9Ljk5KSxkKCkscyhpKSxkKCk7ZnVuY3Rpb24gcyh0KXthLmZvckVhY2goZnVuY3Rpb24ocil7ci5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKHIudGFyZ2V0TGlua3MubGVuZ3RoKXt2YXIgbj0oZS5zdW0oci50YXJnZXRMaW5rcyxmKS9lLnN1bShyLnRhcmdldExpbmtzLHUpLWgocikpKnQ7ci55MCs9bixyLnkxKz1ufX0pfSl9ZnVuY3Rpb24gbCh0KXthLnNsaWNlKCkucmV2ZXJzZSgpLmZvckVhY2goZnVuY3Rpb24ocil7ci5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKHIuc291cmNlTGlua3MubGVuZ3RoKXt2YXIgbj0oZS5zdW0oci5zb3VyY2VMaW5rcyxwKS9lLnN1bShyLnNvdXJjZUxpbmtzLHUpLWgocikpKnQ7ci55MCs9bixyLnkxKz1ufX0pfSl9ZnVuY3Rpb24gZCgpe2EuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZSxyLGEsaT1uLG89dC5sZW5ndGg7Zm9yKHQuc29ydChjKSxhPTA7YTxvOysrYSllPXRbYV0sKHI9aS1lLnkwKT4wJiYoZS55MCs9cixlLnkxKz1yKSxpPWUueTErYjtpZigocj1pLWIteSk+MClmb3IoaT1lLnkwLT1yLGUueTEtPXIsYT1vLTI7YT49MDstLWEpZT10W2FdLChyPWUueTErYi1pKT4wJiYoZS55MC09cixlLnkxLT1yKSxpPWUueTB9KX19KGkpLEUoaSksaX1mdW5jdGlvbiBFKHQpe3Qubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnNvdXJjZUxpbmtzLnNvcnQobCksdC50YXJnZXRMaW5rcy5zb3J0KHMpfSksdC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQueTAscj1lO3Quc291cmNlTGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LnkwPWUrdC53aWR0aC8yLGUrPXQud2lkdGh9KSx0LnRhcmdldExpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC55MT1yK3Qud2lkdGgvMixyKz10LndpZHRofSl9KX1yZXR1cm4gUy51cGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIEUodCksdH0sUy5ub2RlSWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KF89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpvKHQpLFMpOl99LFMubm9kZUFsaWduPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh3PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6byh0KSxTKTp3fSxTLm5vZGVXaWR0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oeD0rdCxTKTp4fSxTLm5vZGVQYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhiPSt0LFMpOmJ9LFMubm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGs9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpvKHQpLFMpOmt9LFMubGlua3M9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KFQ9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpvKHQpLFMpOlR9LFMuc2l6ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1uPTAsYT0rZVswXSx5PStlWzFdLFMpOlthLXQseS1uXX0sUy5leHRlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K2VbMF1bMF0sYT0rZVsxXVswXSxuPStlWzBdWzFdLHk9K2VbMV1bMV0sUyk6W1t0LG5dLFthLHldXX0sUy5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhNPSt0LFMpOk19LFN9LHQuc2Fua2V5Q2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldExpbmtzLmxlbmd0aD90LmRlcHRoOnQuc291cmNlTGlua3MubGVuZ3RoP2UubWluKHQuc291cmNlTGlua3MsYSktMTowfSx0LnNhbmtleUxlZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGVwdGh9LHQuc2Fua2V5UmlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS0xLXQuaGVpZ2h0fSx0LnNhbmtleUp1c3RpZnk9aSx0LnNhbmtleUxpbmtIb3Jpem9udGFsPWZ1bmN0aW9uKCl7cmV0dXJuIG4ubGlua0hvcml6b250YWwoKS5zb3VyY2UoeSkudGFyZ2V0KHgpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1hcnJheSIpLHQoImQzLWNvbGxlY3Rpb24iKSx0KCJkMy1zaGFwZSIpKTphKG4uZDM9bi5kM3x8e30sbi5kMyxuLmQzLG4uZDMpfSx7ImQzLWFycmF5IjoxNTQsImQzLWNvbGxlY3Rpb24iOjE1NSwiZDMtc2hhcGUiOjE2M31dLDU3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj10KCJAdHVyZi9tZXRhIiksYT02Mzc4MTM3O2Z1bmN0aW9uIGkodCl7dmFyIGU9MDtpZih0JiZ0Lmxlbmd0aD4wKXtlKz1NYXRoLmFicyhvKHRbMF0pKTtmb3IodmFyIHI9MTtyPHQubGVuZ3RoO3IrKyllLT1NYXRoLmFicyhvKHRbcl0pKX1yZXR1cm4gZX1mdW5jdGlvbiBvKHQpe3ZhciBlLHIsbixpLG8sbCxjPTAsdT10Lmxlbmd0aDtpZih1PjIpe2ZvcihsPTA7bDx1O2wrKylsPT09dS0yPyhuPXUtMixpPXUtMSxvPTApOmw9PT11LTE/KG49dS0xLGk9MCxvPTEpOihuPWwsaT1sKzEsbz1sKzIpLGU9dFtuXSxyPXRbaV0sYys9KHModFtvXVswXSktcyhlWzBdKSkqTWF0aC5zaW4ocyhyWzFdKSk7Yz1jKmEqYS8yfXJldHVybiBjfWZ1bmN0aW9uIHModCl7cmV0dXJuIHQqTWF0aC5QSS8xODB9ci5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiBuLmdlb21SZWR1Y2UodCxmdW5jdGlvbih0LGUpe3JldHVybiB0K2Z1bmN0aW9uKHQpe3ZhciBlLHI9MDtzd2l0Y2godC50eXBlKXtjYXNlIlBvbHlnb24iOnJldHVybiBpKHQuY29vcmRpbmF0ZXMpO2Nhc2UiTXVsdGlQb2x5Z29uIjpmb3IoZT0wO2U8dC5jb29yZGluYXRlcy5sZW5ndGg7ZSsrKXIrPWkodC5jb29yZGluYXRlc1tlXSk7cmV0dXJuIHI7Y2FzZSJQb2ludCI6Y2FzZSJNdWx0aVBvaW50IjpjYXNlIkxpbmVTdHJpbmciOmNhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gMH1yZXR1cm4gMH0oZSl9LDApfX0seyJAdHVyZi9tZXRhIjo2MX1dLDU4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj10KCJAdHVyZi9tZXRhIik7ci5kZWZhdWx0PWZ1bmN0aW9uKHQpe3ZhciBlPVsxLzAsMS8wLC0xLzAsLTEvMF07cmV0dXJuIG4uY29vcmRFYWNoKHQsZnVuY3Rpb24odCl7ZVswXT50WzBdJiYoZVswXT10WzBdKSxlWzFdPnRbMV0mJihlWzFdPXRbMV0pLGVbMl08dFswXSYmKGVbMl09dFswXSksZVszXTx0WzFdJiYoZVszXT10WzFdKX0pLGV9fSx7IkB0dXJmL21ldGEiOjYxfV0sNTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXQoIkB0dXJmL21ldGEiKSxhPXQoIkB0dXJmL2hlbHBlcnMiKTtyLmRlZmF1bHQ9ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIHI9MCxpPTAsbz0wO3JldHVybiBuLmNvb3JkRWFjaCh0LGZ1bmN0aW9uKHQpe3IrPXRbMF0saSs9dFsxXSxvKyt9KSxhLnBvaW50KFtyL28saS9vXSxlLnByb3BlcnRpZXMpfX0seyJAdHVyZi9oZWxwZXJzIjo2MCwiQHR1cmYvbWV0YSI6NjF9XSw2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxyKXt2b2lkIDA9PT1yJiYocj17fSk7dmFyIG49e3R5cGU6IkZlYXR1cmUifTtyZXR1cm4oMD09PXIuaWR8fHIuaWQpJiYobi5pZD1yLmlkKSxyLmJib3gmJihuLmJib3g9ci5iYm94KSxuLnByb3BlcnRpZXM9ZXx8e30sbi5nZW9tZXRyeT10LG59ZnVuY3Rpb24gYSh0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuKHt0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6dH0sZSxyKX1mdW5jdGlvbiBpKHQsZSxyKXt2b2lkIDA9PT1yJiYocj17fSk7Zm9yKHZhciBhPTAsaT10O2E8aS5sZW5ndGg7YSsrKXt2YXIgbz1pW2FdO2lmKG8ubGVuZ3RoPDQpdGhyb3cgbmV3IEVycm9yKCJFYWNoIExpbmVhclJpbmcgb2YgYSBQb2x5Z29uIG11c3QgaGF2ZSA0IG9yIG1vcmUgUG9zaXRpb25zLiIpO2Zvcih2YXIgcz0wO3M8b1tvLmxlbmd0aC0xXS5sZW5ndGg7cysrKWlmKG9bby5sZW5ndGgtMV1bc10hPT1vWzBdW3NdKXRocm93IG5ldyBFcnJvcigiRmlyc3QgYW5kIGxhc3QgUG9zaXRpb24gYXJlIG5vdCBlcXVpdmFsZW50LiIpfXJldHVybiBuKHt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczp0fSxlLHIpfWZ1bmN0aW9uIG8odCxlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSx0Lmxlbmd0aDwyKXRocm93IG5ldyBFcnJvcigiY29vcmRpbmF0ZXMgbXVzdCBiZSBhbiBhcnJheSBvZiB0d28gb3IgbW9yZSBwb3NpdGlvbnMiKTtyZXR1cm4gbih7dHlwZToiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6dH0sZSxyKX1mdW5jdGlvbiBzKHQsZSl7dm9pZCAwPT09ZSYmKGU9e30pO3ZhciByPXt0eXBlOiJGZWF0dXJlQ29sbGVjdGlvbiJ9O3JldHVybiBlLmlkJiYoci5pZD1lLmlkKSxlLmJib3gmJihyLmJib3g9ZS5iYm94KSxyLmZlYXR1cmVzPXQscn1mdW5jdGlvbiBsKHQsZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLG4oe3R5cGU6Ik11bHRpTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6dH0sZSxyKX1mdW5jdGlvbiBjKHQsZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLG4oe3R5cGU6Ik11bHRpUG9pbnQiLGNvb3JkaW5hdGVzOnR9LGUscil9ZnVuY3Rpb24gdSh0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuKHt0eXBlOiJNdWx0aVBvbHlnb24iLGNvb3JkaW5hdGVzOnR9LGUscil9ZnVuY3Rpb24gaCh0LGUpe3ZvaWQgMD09PWUmJihlPSJraWxvbWV0ZXJzIik7dmFyIG49ci5mYWN0b3JzW2VdO2lmKCFuKXRocm93IG5ldyBFcnJvcihlKyIgdW5pdHMgaXMgaW52YWxpZCIpO3JldHVybiB0Km59ZnVuY3Rpb24gZih0LGUpe3ZvaWQgMD09PWUmJihlPSJraWxvbWV0ZXJzIik7dmFyIG49ci5mYWN0b3JzW2VdO2lmKCFuKXRocm93IG5ldyBFcnJvcihlKyIgdW5pdHMgaXMgaW52YWxpZCIpO3JldHVybiB0L259ZnVuY3Rpb24gcCh0KXtyZXR1cm4gMTgwKih0JSgyKk1hdGguUEkpKS9NYXRoLlBJfWZ1bmN0aW9uIGQodCl7cmV0dXJuIWlzTmFOKHQpJiZudWxsIT09dCYmIUFycmF5LmlzQXJyYXkodCkmJiEvXlxzKiQvLnRlc3QodCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIuZWFydGhSYWRpdXM9NjM3MTAwOC44LHIuZmFjdG9ycz17Y2VudGltZXRlcnM6MTAwKnIuZWFydGhSYWRpdXMsY2VudGltZXRyZXM6MTAwKnIuZWFydGhSYWRpdXMsZGVncmVlczpyLmVhcnRoUmFkaXVzLzExMTMyNSxmZWV0OjMuMjgwODQqci5lYXJ0aFJhZGl1cyxpbmNoZXM6MzkuMzcqci5lYXJ0aFJhZGl1cyxraWxvbWV0ZXJzOnIuZWFydGhSYWRpdXMvMWUzLGtpbG9tZXRyZXM6ci5lYXJ0aFJhZGl1cy8xZTMsbWV0ZXJzOnIuZWFydGhSYWRpdXMsbWV0cmVzOnIuZWFydGhSYWRpdXMsbWlsZXM6ci5lYXJ0aFJhZGl1cy8xNjA5LjM0NCxtaWxsaW1ldGVyczoxZTMqci5lYXJ0aFJhZGl1cyxtaWxsaW1ldHJlczoxZTMqci5lYXJ0aFJhZGl1cyxuYXV0aWNhbG1pbGVzOnIuZWFydGhSYWRpdXMvMTg1MixyYWRpYW5zOjEseWFyZHM6ci5lYXJ0aFJhZGl1cy8xLjA5MzZ9LHIudW5pdHNGYWN0b3JzPXtjZW50aW1ldGVyczoxMDAsY2VudGltZXRyZXM6MTAwLGRlZ3JlZXM6MS8xMTEzMjUsZmVldDozLjI4MDg0LGluY2hlczozOS4zNyxraWxvbWV0ZXJzOi4wMDEsa2lsb21ldHJlczouMDAxLG1ldGVyczoxLG1ldHJlczoxLG1pbGVzOjEvMTYwOS4zNDQsbWlsbGltZXRlcnM6MWUzLG1pbGxpbWV0cmVzOjFlMyxuYXV0aWNhbG1pbGVzOjEvMTg1MixyYWRpYW5zOjEvci5lYXJ0aFJhZGl1cyx5YXJkczoxLzEuMDkzNn0sci5hcmVhRmFjdG9ycz17YWNyZXM6MjQ3MTA1ZS05LGNlbnRpbWV0ZXJzOjFlNCxjZW50aW1ldHJlczoxZTQsZmVldDoxMC43NjM5MTA0MTcsaW5jaGVzOjE1NTAuMDAzMTAwMDA2LGtpbG9tZXRlcnM6MWUtNixraWxvbWV0cmVzOjFlLTYsbWV0ZXJzOjEsbWV0cmVzOjEsbWlsZXM6My44NmUtNyxtaWxsaW1ldGVyczoxZTYsbWlsbGltZXRyZXM6MWU2LHlhcmRzOjEuMTk1OTkwMDQ2fSxyLmZlYXR1cmU9bixyLmdlb21ldHJ5PWZ1bmN0aW9uKHQsZSxyKXtzd2l0Y2godm9pZCAwPT09ciYmKHI9e30pLHQpe2Nhc2UiUG9pbnQiOnJldHVybiBhKGUpLmdlb21ldHJ5O2Nhc2UiTGluZVN0cmluZyI6cmV0dXJuIG8oZSkuZ2VvbWV0cnk7Y2FzZSJQb2x5Z29uIjpyZXR1cm4gaShlKS5nZW9tZXRyeTtjYXNlIk11bHRpUG9pbnQiOnJldHVybiBjKGUpLmdlb21ldHJ5O2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gbChlKS5nZW9tZXRyeTtjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIHUoZSkuZ2VvbWV0cnk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IodCsiIGlzIGludmFsaWQiKX19LHIucG9pbnQ9YSxyLnBvaW50cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxzKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBhKHQsZSl9KSxyKX0sci5wb2x5Z29uPWksci5wb2x5Z29ucz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxzKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSl9KSxyKX0sci5saW5lU3RyaW5nPW8sci5saW5lU3RyaW5ncz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxzKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvKHQsZSl9KSxyKX0sci5mZWF0dXJlQ29sbGVjdGlvbj1zLHIubXVsdGlMaW5lU3RyaW5nPWwsci5tdWx0aVBvaW50PWMsci5tdWx0aVBvbHlnb249dSxyLmdlb21ldHJ5Q29sbGVjdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuKHt0eXBlOiJHZW9tZXRyeUNvbGxlY3Rpb24iLGdlb21ldHJpZXM6dH0sZSxyKX0sci5yb3VuZD1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PWUmJihlPTApLGUmJiEoZT49MCkpdGhyb3cgbmV3IEVycm9yKCJwcmVjaXNpb24gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3ZhciByPU1hdGgucG93KDEwLGV8fDApO3JldHVybiBNYXRoLnJvdW5kKHQqcikvcn0sci5yYWRpYW5zVG9MZW5ndGg9aCxyLmxlbmd0aFRvUmFkaWFucz1mLHIubGVuZ3RoVG9EZWdyZWVzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHAoZih0LGUpKX0sci5iZWFyaW5nVG9BemltdXRoPWZ1bmN0aW9uKHQpe3ZhciBlPXQlMzYwO3JldHVybiBlPDAmJihlKz0zNjApLGV9LHIucmFkaWFuc1RvRGVncmVlcz1wLHIuZGVncmVlc1RvUmFkaWFucz1mdW5jdGlvbih0KXtyZXR1cm4gdCUzNjAqTWF0aC5QSS8xODB9LHIuY29udmVydExlbmd0aD1mdW5jdGlvbih0LGUscil7aWYodm9pZCAwPT09ZSYmKGU9ImtpbG9tZXRlcnMiKSx2b2lkIDA9PT1yJiYocj0ia2lsb21ldGVycyIpLCEodD49MCkpdGhyb3cgbmV3IEVycm9yKCJsZW5ndGggbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3JldHVybiBoKGYodCxlKSxyKX0sci5jb252ZXJ0QXJlYT1mdW5jdGlvbih0LGUsbil7aWYodm9pZCAwPT09ZSYmKGU9Im1ldGVycyIpLHZvaWQgMD09PW4mJihuPSJraWxvbWV0ZXJzIiksISh0Pj0wKSl0aHJvdyBuZXcgRXJyb3IoImFyZWEgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3ZhciBhPXIuYXJlYUZhY3RvcnNbZV07aWYoIWEpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIG9yaWdpbmFsIHVuaXRzIik7dmFyIGk9ci5hcmVhRmFjdG9yc1tuXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZmluYWwgdW5pdHMiKTtyZXR1cm4gdC9hKml9LHIuaXNOdW1iZXI9ZCxyLmlzT2JqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmdC5jb25zdHJ1Y3Rvcj09PU9iamVjdH0sci52YWxpZGF0ZUJCb3g9ZnVuY3Rpb24odCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJiYm94IGlzIHJlcXVpcmVkIik7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJiYm94IG11c3QgYmUgYW4gQXJyYXkiKTtpZig0IT09dC5sZW5ndGgmJjYhPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImJib3ggbXVzdCBiZSBhbiBBcnJheSBvZiA0IG9yIDYgbnVtYmVycyIpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighZCh0KSl0aHJvdyBuZXcgRXJyb3IoImJib3ggbXVzdCBvbmx5IGNvbnRhaW4gbnVtYmVycyIpfSl9LHIudmFsaWRhdGVJZD1mdW5jdGlvbih0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoImlkIGlzIHJlcXVpcmVkIik7aWYoLTE9PT1bInN0cmluZyIsIm51bWJlciJdLmluZGV4T2YodHlwZW9mIHQpKXRocm93IG5ldyBFcnJvcigiaWQgbXVzdCBiZSBhIG51bWJlciBvciBhIHN0cmluZyIpfSxyLnJhZGlhbnMyZGVncmVlcz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYHJhZGlhbnNUb0RlZ3JlZXNgIil9LHIuZGVncmVlczJyYWRpYW5zPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QgaGFzIGJlZW4gcmVuYW1lZCB0byBgZGVncmVlc1RvUmFkaWFuc2AiKX0sci5kaXN0YW5jZVRvRGVncmVlcz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGxlbmd0aFRvRGVncmVlc2AiKX0sci5kaXN0YW5jZVRvUmFkaWFucz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGxlbmd0aFRvUmFkaWFuc2AiKX0sci5yYWRpYW5zVG9EaXN0YW5jZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYHJhZGlhbnNUb0xlbmd0aGAiKX0sci5iZWFyaW5nVG9BbmdsZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGJlYXJpbmdUb0F6aW11dGhgIil9LHIuY29udmVydERpc3RhbmNlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QgaGFzIGJlZW4gcmVuYW1lZCB0byBgY29udmVydExlbmd0aGAiKX19LHt9XSw2MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49dCgiQHR1cmYvaGVscGVycyIpO2Z1bmN0aW9uIGEodCxlLHIpe2lmKG51bGwhPT10KWZvcih2YXIgbixpLG8scyxsLGMsdSxoLGY9MCxwPTAsZD10LnR5cGUsZz0iRmVhdHVyZUNvbGxlY3Rpb24iPT09ZCx2PSJGZWF0dXJlIj09PWQsbT1nP3QuZmVhdHVyZXMubGVuZ3RoOjEseT0wO3k8bTt5Kyspe2w9KGg9ISEodT1nP3QuZmVhdHVyZXNbeV0uZ2VvbWV0cnk6dj90Lmdlb21ldHJ5OnQpJiYiR2VvbWV0cnlDb2xsZWN0aW9uIj09PXUudHlwZSk/dS5nZW9tZXRyaWVzLmxlbmd0aDoxO2Zvcih2YXIgeD0wO3g8bDt4Kyspe3ZhciBiPTAsXz0wO2lmKG51bGwhPT0ocz1oP3UuZ2VvbWV0cmllc1t4XTp1KSl7Yz1zLmNvb3JkaW5hdGVzO3ZhciB3PXMudHlwZTtzd2l0Y2goZj0hcnx8IlBvbHlnb24iIT09dyYmIk11bHRpUG9seWdvbiIhPT13PzA6MSx3KXtjYXNlIG51bGw6YnJlYWs7Y2FzZSJQb2ludCI6aWYoITE9PT1lKGMscCx5LGIsXykpcmV0dXJuITE7cCsrLGIrKzticmVhaztjYXNlIkxpbmVTdHJpbmciOmNhc2UiTXVsdGlQb2ludCI6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7aWYoITE9PT1lKGNbbl0scCx5LGIsXykpcmV0dXJuITE7cCsrLCJNdWx0aVBvaW50Ij09PXcmJmIrK30iTGluZVN0cmluZyI9PT13JiZiKys7YnJlYWs7Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpTGluZVN0cmluZyI6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7Zm9yKGk9MDtpPGNbbl0ubGVuZ3RoLWY7aSsrKXtpZighMT09PWUoY1tuXVtpXSxwLHksYixfKSlyZXR1cm4hMTtwKyt9Ik11bHRpTGluZVN0cmluZyI9PT13JiZiKyssIlBvbHlnb24iPT09dyYmXysrfSJQb2x5Z29uIj09PXcmJmIrKzticmVhaztjYXNlIk11bHRpUG9seWdvbiI6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7Zm9yKF89MCxpPTA7aTxjW25dLmxlbmd0aDtpKyspe2ZvcihvPTA7bzxjW25dW2ldLmxlbmd0aC1mO28rKyl7aWYoITE9PT1lKGNbbl1baV1bb10scCx5LGIsXykpcmV0dXJuITE7cCsrfV8rK31iKyt9YnJlYWs7Y2FzZSJHZW9tZXRyeUNvbGxlY3Rpb24iOmZvcihuPTA7bjxzLmdlb21ldHJpZXMubGVuZ3RoO24rKylpZighMT09PWEocy5nZW9tZXRyaWVzW25dLGUscikpcmV0dXJuITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gR2VvbWV0cnkgVHlwZSIpfX19fX1mdW5jdGlvbiBpKHQsZSl7dmFyIHI7c3dpdGNoKHQudHlwZSl7Y2FzZSJGZWF0dXJlQ29sbGVjdGlvbiI6Zm9yKHI9MDtyPHQuZmVhdHVyZXMubGVuZ3RoJiYhMSE9PWUodC5mZWF0dXJlc1tyXS5wcm9wZXJ0aWVzLHIpO3IrKyk7YnJlYWs7Y2FzZSJGZWF0dXJlIjplKHQucHJvcGVydGllcywwKX19ZnVuY3Rpb24gbyh0LGUpe2lmKCJGZWF0dXJlIj09PXQudHlwZSllKHQsMCk7ZWxzZSBpZigiRmVhdHVyZUNvbGxlY3Rpb24iPT09dC50eXBlKWZvcih2YXIgcj0wO3I8dC5mZWF0dXJlcy5sZW5ndGgmJiExIT09ZSh0LmZlYXR1cmVzW3JdLHIpO3IrKyk7fWZ1bmN0aW9uIHModCxlKXt2YXIgcixuLGEsaSxvLHMsbCxjLHUsaCxmPTAscD0iRmVhdHVyZUNvbGxlY3Rpb24iPT09dC50eXBlLGQ9IkZlYXR1cmUiPT09dC50eXBlLGc9cD90LmZlYXR1cmVzLmxlbmd0aDoxO2ZvcihyPTA7cjxnO3IrKyl7Zm9yKHM9cD90LmZlYXR1cmVzW3JdLmdlb21ldHJ5OmQ/dC5nZW9tZXRyeTp0LGM9cD90LmZlYXR1cmVzW3JdLnByb3BlcnRpZXM6ZD90LnByb3BlcnRpZXM6e30sdT1wP3QuZmVhdHVyZXNbcl0uYmJveDpkP3QuYmJveDp2b2lkIDAsaD1wP3QuZmVhdHVyZXNbcl0uaWQ6ZD90LmlkOnZvaWQgMCxvPShsPSEhcyYmIkdlb21ldHJ5Q29sbGVjdGlvbiI9PT1zLnR5cGUpP3MuZ2VvbWV0cmllcy5sZW5ndGg6MSxhPTA7YTxvO2ErKylpZihudWxsIT09KGk9bD9zLmdlb21ldHJpZXNbYV06cykpc3dpdGNoKGkudHlwZSl7Y2FzZSJQb2ludCI6Y2FzZSJMaW5lU3RyaW5nIjpjYXNlIk11bHRpUG9pbnQiOmNhc2UiUG9seWdvbiI6Y2FzZSJNdWx0aUxpbmVTdHJpbmciOmNhc2UiTXVsdGlQb2x5Z29uIjppZighMT09PWUoaSxmLGMsdSxoKSlyZXR1cm4hMTticmVhaztjYXNlIkdlb21ldHJ5Q29sbGVjdGlvbiI6Zm9yKG49MDtuPGkuZ2VvbWV0cmllcy5sZW5ndGg7bisrKWlmKCExPT09ZShpLmdlb21ldHJpZXNbbl0sZixjLHUsaCkpcmV0dXJuITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gR2VvbWV0cnkgVHlwZSIpfWVsc2UgaWYoITE9PT1lKG51bGwsZixjLHUsaCkpcmV0dXJuITE7ZisrfX1mdW5jdGlvbiBsKHQsZSl7cyh0LGZ1bmN0aW9uKHQscixhLGksbyl7dmFyIHMsbD1udWxsPT09dD9udWxsOnQudHlwZTtzd2l0Y2gobCl7Y2FzZSBudWxsOmNhc2UiUG9pbnQiOmNhc2UiTGluZVN0cmluZyI6Y2FzZSJQb2x5Z29uIjpyZXR1cm4hMSE9PWUobi5mZWF0dXJlKHQsYSx7YmJveDppLGlkOm99KSxyLDApJiZ2b2lkIDB9c3dpdGNoKGwpe2Nhc2UiTXVsdGlQb2ludCI6cz0iUG9pbnQiO2JyZWFrO2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpzPSJMaW5lU3RyaW5nIjticmVhaztjYXNlIk11bHRpUG9seWdvbiI6cz0iUG9seWdvbiJ9Zm9yKHZhciBjPTA7Yzx0LmNvb3JkaW5hdGVzLmxlbmd0aDtjKyspe3ZhciB1PXt0eXBlOnMsY29vcmRpbmF0ZXM6dC5jb29yZGluYXRlc1tjXX07aWYoITE9PT1lKG4uZmVhdHVyZSh1LGEpLHIsYykpcmV0dXJuITF9fSl9ZnVuY3Rpb24gYyh0LGUpe2wodCxmdW5jdGlvbih0LHIsaSl7dmFyIG89MDtpZih0Lmdlb21ldHJ5KXt2YXIgcz10Lmdlb21ldHJ5LnR5cGU7aWYoIlBvaW50IiE9PXMmJiJNdWx0aVBvaW50IiE9PXMpe3ZhciBsLGM9MCx1PTAsaD0wO3JldHVybiExIT09YSh0LGZ1bmN0aW9uKGEscyxmLHAsZCl7aWYodm9pZCAwPT09bHx8cj5jfHxwPnV8fGQ+aClyZXR1cm4gbD1hLGM9cix1PXAsaD1kLHZvaWQobz0wKTt2YXIgZz1uLmxpbmVTdHJpbmcoW2wsYV0sdC5wcm9wZXJ0aWVzKTtpZighMT09PWUoZyxyLGksZCxvKSlyZXR1cm4hMTtvKyssbD1hfSkmJnZvaWQgMH19fSl9ZnVuY3Rpb24gdSh0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiZ2VvanNvbiBpcyByZXF1aXJlZCIpO2wodCxmdW5jdGlvbih0LHIsYSl7aWYobnVsbCE9PXQuZ2VvbWV0cnkpe3ZhciBpPXQuZ2VvbWV0cnkudHlwZSxvPXQuZ2VvbWV0cnkuY29vcmRpbmF0ZXM7c3dpdGNoKGkpe2Nhc2UiTGluZVN0cmluZyI6aWYoITE9PT1lKHQscixhLDAsMCkpcmV0dXJuITE7YnJlYWs7Y2FzZSJQb2x5Z29uIjpmb3IodmFyIHM9MDtzPG8ubGVuZ3RoO3MrKylpZighMT09PWUobi5saW5lU3RyaW5nKG9bc10sdC5wcm9wZXJ0aWVzKSxyLGEscykpcmV0dXJuITF9fX0pfXIuY29vcmRFYWNoPWEsci5jb29yZFJlZHVjZT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT1yO3JldHVybiBhKHQsZnVuY3Rpb24odCxuLGEsbyxzKXtpPTA9PT1uJiZ2b2lkIDA9PT1yP3Q6ZShpLHQsbixhLG8scyl9LG4pLGl9LHIucHJvcEVhY2g9aSxyLnByb3BSZWR1Y2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXI7cmV0dXJuIGkodCxmdW5jdGlvbih0LGEpe249MD09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxhKX0pLG59LHIuZmVhdHVyZUVhY2g9byxyLmZlYXR1cmVSZWR1Y2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXI7cmV0dXJuIG8odCxmdW5jdGlvbih0LGEpe249MD09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxhKX0pLG59LHIuY29vcmRBbGw9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGEodCxmdW5jdGlvbih0KXtlLnB1c2godCl9KSxlfSxyLmdlb21FYWNoPXMsci5nZW9tUmVkdWNlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO3JldHVybiBzKHQsZnVuY3Rpb24odCxhLGksbyxzKXtuPTA9PT1hJiZ2b2lkIDA9PT1yP3Q6ZShuLHQsYSxpLG8scyl9KSxufSxyLmZsYXR0ZW5FYWNoPWwsci5mbGF0dGVuUmVkdWNlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO3JldHVybiBsKHQsZnVuY3Rpb24odCxhLGkpe249MD09PWEmJjA9PT1pJiZ2b2lkIDA9PT1yP3Q6ZShuLHQsYSxpKX0pLG59LHIuc2VnbWVudEVhY2g9YyxyLnNlZ21lbnRSZWR1Y2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIsYT0hMTtyZXR1cm4gYyh0LGZ1bmN0aW9uKHQsaSxvLHMsbCl7bj0hMT09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxpLG8scyxsKSxhPSEwfSksbn0sci5saW5lRWFjaD11LHIubGluZVJlZHVjZT1mdW5jdGlvbih0LGUscil7dmFyIG49cjtyZXR1cm4gdSh0LGZ1bmN0aW9uKHQsYSxpLG8pe249MD09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxhLGksbyl9KSxufSxyLmZpbmRTZWdtZW50PWZ1bmN0aW9uKHQsZSl7aWYoZT1lfHx7fSwhbi5pc09iamVjdChlKSl0aHJvdyBuZXcgRXJyb3IoIm9wdGlvbnMgaXMgaW52YWxpZCIpO3ZhciByLGE9ZS5mZWF0dXJlSW5kZXh8fDAsaT1lLm11bHRpRmVhdHVyZUluZGV4fHwwLG89ZS5nZW9tZXRyeUluZGV4fHwwLHM9ZS5zZWdtZW50SW5kZXh8fDAsbD1lLnByb3BlcnRpZXM7c3dpdGNoKHQudHlwZSl7Y2FzZSJGZWF0dXJlQ29sbGVjdGlvbiI6YTwwJiYoYT10LmZlYXR1cmVzLmxlbmd0aCthKSxsPWx8fHQuZmVhdHVyZXNbYV0ucHJvcGVydGllcyxyPXQuZmVhdHVyZXNbYV0uZ2VvbWV0cnk7YnJlYWs7Y2FzZSJGZWF0dXJlIjpsPWx8fHQucHJvcGVydGllcyxyPXQuZ2VvbWV0cnk7YnJlYWs7Y2FzZSJQb2ludCI6Y2FzZSJNdWx0aVBvaW50IjpyZXR1cm4gbnVsbDtjYXNlIkxpbmVTdHJpbmciOmNhc2UiUG9seWdvbiI6Y2FzZSJNdWx0aUxpbmVTdHJpbmciOmNhc2UiTXVsdGlQb2x5Z29uIjpyPXQ7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImdlb2pzb24gaXMgaW52YWxpZCIpfWlmKG51bGw9PT1yKXJldHVybiBudWxsO3ZhciBjPXIuY29vcmRpbmF0ZXM7c3dpdGNoKHIudHlwZSl7Y2FzZSJQb2ludCI6Y2FzZSJNdWx0aVBvaW50IjpyZXR1cm4gbnVsbDtjYXNlIkxpbmVTdHJpbmciOnJldHVybiBzPDAmJihzPWMubGVuZ3RoK3MtMSksbi5saW5lU3RyaW5nKFtjW3NdLGNbcysxXV0sbCxlKTtjYXNlIlBvbHlnb24iOnJldHVybiBvPDAmJihvPWMubGVuZ3RoK28pLHM8MCYmKHM9Y1tvXS5sZW5ndGgrcy0xKSxuLmxpbmVTdHJpbmcoW2Nbb11bc10sY1tvXVtzKzFdXSxsLGUpO2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gaTwwJiYoaT1jLmxlbmd0aCtpKSxzPDAmJihzPWNbaV0ubGVuZ3RoK3MtMSksbi5saW5lU3RyaW5nKFtjW2ldW3NdLGNbaV1bcysxXV0sbCxlKTtjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIGk8MCYmKGk9Yy5sZW5ndGgraSksbzwwJiYobz1jW2ldLmxlbmd0aCtvKSxzPDAmJihzPWNbaV1bb10ubGVuZ3RoLXMtMSksbi5saW5lU3RyaW5nKFtjW2ldW29dW3NdLGNbaV1bb11bcysxXV0sbCxlKX10aHJvdyBuZXcgRXJyb3IoImdlb2pzb24gaXMgaW52YWxpZCIpfSxyLmZpbmRQb2ludD1mdW5jdGlvbih0LGUpe2lmKGU9ZXx8e30sIW4uaXNPYmplY3QoZSkpdGhyb3cgbmV3IEVycm9yKCJvcHRpb25zIGlzIGludmFsaWQiKTt2YXIgcixhPWUuZmVhdHVyZUluZGV4fHwwLGk9ZS5tdWx0aUZlYXR1cmVJbmRleHx8MCxvPWUuZ2VvbWV0cnlJbmRleHx8MCxzPWUuY29vcmRJbmRleHx8MCxsPWUucHJvcGVydGllcztzd2l0Y2godC50eXBlKXtjYXNlIkZlYXR1cmVDb2xsZWN0aW9uIjphPDAmJihhPXQuZmVhdHVyZXMubGVuZ3RoK2EpLGw9bHx8dC5mZWF0dXJlc1thXS5wcm9wZXJ0aWVzLHI9dC5mZWF0dXJlc1thXS5nZW9tZXRyeTticmVhaztjYXNlIkZlYXR1cmUiOmw9bHx8dC5wcm9wZXJ0aWVzLHI9dC5nZW9tZXRyeTticmVhaztjYXNlIlBvaW50IjpjYXNlIk11bHRpUG9pbnQiOnJldHVybiBudWxsO2Nhc2UiTGluZVN0cmluZyI6Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpTGluZVN0cmluZyI6Y2FzZSJNdWx0aVBvbHlnb24iOnI9dDticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiZ2VvanNvbiBpcyBpbnZhbGlkIil9aWYobnVsbD09PXIpcmV0dXJuIG51bGw7dmFyIGM9ci5jb29yZGluYXRlcztzd2l0Y2goci50eXBlKXtjYXNlIlBvaW50IjpyZXR1cm4gbi5wb2ludChjLGwsZSk7Y2FzZSJNdWx0aVBvaW50IjpyZXR1cm4gaTwwJiYoaT1jLmxlbmd0aCtpKSxuLnBvaW50KGNbaV0sbCxlKTtjYXNlIkxpbmVTdHJpbmciOnJldHVybiBzPDAmJihzPWMubGVuZ3RoK3MpLG4ucG9pbnQoY1tzXSxsLGUpO2Nhc2UiUG9seWdvbiI6cmV0dXJuIG88MCYmKG89Yy5sZW5ndGgrbyksczwwJiYocz1jW29dLmxlbmd0aCtzKSxuLnBvaW50KGNbb11bc10sbCxlKTtjYXNlIk11bHRpTGluZVN0cmluZyI6cmV0dXJuIGk8MCYmKGk9Yy5sZW5ndGgraSksczwwJiYocz1jW2ldLmxlbmd0aCtzKSxuLnBvaW50KGNbaV1bc10sbCxlKTtjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIGk8MCYmKGk9Yy5sZW5ndGgraSksbzwwJiYobz1jW2ldLmxlbmd0aCtvKSxzPDAmJihzPWNbaV1bb10ubGVuZ3RoLXMpLG4ucG9pbnQoY1tpXVtvXVtzXSxsLGUpfXRocm93IG5ldyBFcnJvcigiZ2VvanNvbiBpcyBpbnZhbGlkIil9fSx7IkB0dXJmL2hlbHBlcnMiOjYwfV0sNjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49InVuZGVmaW5lZCI9PXR5cGVvZiBXZWFrTWFwP3QoIndlYWstbWFwIik6V2Vha01hcCxhPXQoImdsLWJ1ZmZlciIpLGk9dCgiZ2wtdmFvIiksbz1uZXcgbjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9by5nZXQodCkscj1lJiYoZS5fdHJpYW5nbGVCdWZmZXIuaGFuZGxlfHxlLl90cmlhbmdsZUJ1ZmZlci5idWZmZXIpO2lmKCFyfHwhdC5pc0J1ZmZlcihyKSl7dmFyIG49YSh0LG5ldyBGbG9hdDMyQXJyYXkoWy0xLC0xLC0xLDQsNCwtMV0pKTsoZT1pKHQsW3tidWZmZXI6bix0eXBlOnQuRkxPQVQsc2l6ZToyfV0pKS5fdHJpYW5nbGVCdWZmZXI9bixvLnNldCh0LGUpfWUuYmluZCgpLHQuZHJhd0FycmF5cyh0LlRSSUFOR0xFUywwLDMpLGUudW5iaW5kKCl9fSx7ImdsLWJ1ZmZlciI6MjQ0LCJnbC12YW8iOjMyOSwid2Vhay1tYXAiOjU1MX1dLDYzOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPTAscj0wLG49MCxhPTA7cmV0dXJuIHQubWFwKGZ1bmN0aW9uKHQpe3ZhciBpPSh0PXQuc2xpY2UoKSlbMF0sbz1pLnRvVXBwZXJDYXNlKCk7aWYoaSE9bylzd2l0Y2godFswXT1vLGkpe2Nhc2UiYSI6dFs2XSs9bix0WzddKz1hO2JyZWFrO2Nhc2UidiI6dFsxXSs9YTticmVhaztjYXNlImgiOnRbMV0rPW47YnJlYWs7ZGVmYXVsdDpmb3IodmFyIHM9MTtzPHQubGVuZ3RoOyl0W3MrK10rPW4sdFtzKytdKz1hfXN3aXRjaChvKXtjYXNlIloiOm49ZSxhPXI7YnJlYWs7Y2FzZSJIIjpuPXRbMV07YnJlYWs7Y2FzZSJWIjphPXRbMV07YnJlYWs7Y2FzZSJNIjpuPWU9dFsxXSxhPXI9dFsyXTticmVhaztkZWZhdWx0Om49dFt0Lmxlbmd0aC0yXSxhPXRbdC5sZW5ndGgtMV19cmV0dXJuIHR9KX19LHt9XSw2NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInBhZC1sZWZ0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtlPSJudW1iZXIiPT10eXBlb2YgZT9lOjEscj1yfHwiOiAiO3ZhciBhPXQuc3BsaXQoL1xyP1xuLyksaT1TdHJpbmcoYS5sZW5ndGgrZS0xKS5sZW5ndGg7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKHQsYSl7dmFyIG89YStlLHM9U3RyaW5nKG8pLmxlbmd0aCxsPW4obyxpLXMpO3JldHVybiBsK3IrdH0pLmpvaW4oIlxuIil9fSx7InBhZC1sZWZ0Ijo0NTl9XSw2NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoMD09PWUpcmV0dXJuW107aWYoMT09PWUpcmV0dXJuWzBdO2Zvcih2YXIgcj10WzBdLmxlbmd0aCxuPVt0WzBdXSxpPVswXSxvPTE7bzxlOysrbylpZihuLnB1c2godFtvXSksYShuLHIpKXtpZihpLnB1c2gobyksaS5sZW5ndGg9PT1yKzEpcmV0dXJuIGl9ZWxzZSBuLnBvcCgpO3JldHVybiBpfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKTtmdW5jdGlvbiBhKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlKzEpLGE9MDthPHQubGVuZ3RoOysrYSlyW2FdPXRbYV07Zm9yKGE9MDthPD10Lmxlbmd0aDsrK2Epe2Zvcih2YXIgaT10Lmxlbmd0aDtpPD1lOysraSl7Zm9yKHZhciBvPW5ldyBBcnJheShlKSxzPTA7czxlOysrcylvW3NdPU1hdGgucG93KGkrMS1hLHMpO3JbaV09b31pZihuLmFwcGx5KHZvaWQgMCxyKSlyZXR1cm4hMH1yZXR1cm4hMX19LHsicm9idXN0LW9yaWVudGF0aW9uIjo1MDl9XSw2NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbihlKS5maWx0ZXIoZnVuY3Rpb24ocil7Zm9yKHZhciBuPW5ldyBBcnJheShyLmxlbmd0aCksaT0wO2k8ci5sZW5ndGg7KytpKW5baV09ZVtyW2ldXTtyZXR1cm4gYShuKSp0PDF9KX07dmFyIG49dCgiZGVsYXVuYXktdHJpYW5ndWxhdGUiKSxhPXQoImNpcmN1bXJhZGl1cyIpfSx7Y2lyY3VtcmFkaXVzOjExNiwiZGVsYXVuYXktdHJpYW5ndWxhdGUiOjE2N31dLDY3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEobih0LGUpKX07dmFyIG49dCgiYWxwaGEtY29tcGxleCIpLGE9dCgic2ltcGxpY2lhbC1jb21wbGV4LWJvdW5kYXJ5Iil9LHsiYWxwaGEtY29tcGxleCI6NjYsInNpbXBsaWNpYWwtY29tcGxleC1ib3VuZGFyeSI6NTE2fV0sNjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoIXR8fG51bGw9PXQubGVuZ3RoKXRocm93IEVycm9yKCJBcmd1bWVudCBzaG91bGQgYmUgYW4gYXJyYXkiKTtlPW51bGw9PWU/MTpNYXRoLmZsb29yKGUpO2Zvcih2YXIgcj1BcnJheSgyKmUpLG49MDtuPGU7bisrKXtmb3IodmFyIGE9LTEvMCxpPTEvMCxvPW4scz10Lmxlbmd0aDtvPHM7bys9ZSl0W29dPmEmJihhPXRbb10pLHRbb108aSYmKGk9dFtvXSk7cltuXT1pLHJbZStuXT1hfXJldHVybiByfX0se31dLDY5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9Im51bWJlciI9PXR5cGVvZiB0LG49Im51bWJlciI9PXR5cGVvZiBlO3ImJiFuPyhlPXQsdD0wKTpyfHxufHwodD0wLGU9MCk7dmFyIGE9KGV8PTApLSh0fD0wKTtpZihhPDApdGhyb3cgbmV3IEVycm9yKCJhcnJheSBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZSIpO2Zvcih2YXIgaT1uZXcgQXJyYXkoYSksbz0wLHM9dDtvPGE7bysrLHMrKylpW29dPXM7cmV0dXJuIGl9fSx7fV0sNzA6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBhKHQsZSl7aWYodD09PWUpcmV0dXJuIDA7Zm9yKHZhciByPXQubGVuZ3RoLG49ZS5sZW5ndGgsYT0wLGk9TWF0aC5taW4ocixuKTthPGk7KythKWlmKHRbYV0hPT1lW2FdKXtyPXRbYV0sbj1lW2FdO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH1mdW5jdGlvbiBpKHQpe3JldHVybiByLkJ1ZmZlciYmImZ1bmN0aW9uIj09dHlwZW9mIHIuQnVmZmVyLmlzQnVmZmVyP3IuQnVmZmVyLmlzQnVmZmVyKHQpOiEobnVsbD09dHx8IXQuX2lzQnVmZmVyKX12YXIgbz10KCJ1dGlsLyIpLHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxsPUFycmF5LnByb3RvdHlwZS5zbGljZSxjPSJmb28iPT09ZnVuY3Rpb24oKXt9Lm5hbWU7ZnVuY3Rpb24gdSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIWkodCkmJigiZnVuY3Rpb24iPT10eXBlb2Ygci5BcnJheUJ1ZmZlciYmKCJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KHQpOiEhdCYmKHQgaW5zdGFuY2VvZiBEYXRhVmlld3x8ISEodC5idWZmZXImJnQuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSkpfXZhciBmPWUuZXhwb3J0cz15LHA9L1xzKmZ1bmN0aW9uXHMrKFteXChcc10qKVxzKi87ZnVuY3Rpb24gZCh0KXtpZihvLmlzRnVuY3Rpb24odCkpe2lmKGMpcmV0dXJuIHQubmFtZTt2YXIgZT10LnRvU3RyaW5nKCkubWF0Y2gocCk7cmV0dXJuIGUmJmVbMV19fWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dC5sZW5ndGg8ZT90OnQuc2xpY2UoMCxlKTp0fWZ1bmN0aW9uIHYodCl7aWYoY3x8IW8uaXNGdW5jdGlvbih0KSlyZXR1cm4gby5pbnNwZWN0KHQpO3ZhciBlPWQodCk7cmV0dXJuIltGdW5jdGlvbiIrKGU/IjogIitlOiIiKSsiXSJ9ZnVuY3Rpb24gbSh0LGUscixuLGEpe3Rocm93IG5ldyBmLkFzc2VydGlvbkVycm9yKHttZXNzYWdlOnIsYWN0dWFsOnQsZXhwZWN0ZWQ6ZSxvcGVyYXRvcjpuLHN0YWNrU3RhcnRGdW5jdGlvbjphfSl9ZnVuY3Rpb24geSh0LGUpe3R8fG0odCwhMCxlLCI9PSIsZi5vayl9ZnVuY3Rpb24geCh0LGUscixuKXtpZih0PT09ZSlyZXR1cm4hMDtpZihpKHQpJiZpKGUpKXJldHVybiAwPT09YSh0LGUpO2lmKG8uaXNEYXRlKHQpJiZvLmlzRGF0ZShlKSlyZXR1cm4gdC5nZXRUaW1lKCk9PT1lLmdldFRpbWUoKTtpZihvLmlzUmVnRXhwKHQpJiZvLmlzUmVnRXhwKGUpKXJldHVybiB0LnNvdXJjZT09PWUuc291cmNlJiZ0Lmdsb2JhbD09PWUuZ2xvYmFsJiZ0Lm11bHRpbGluZT09PWUubXVsdGlsaW5lJiZ0Lmxhc3RJbmRleD09PWUubGFzdEluZGV4JiZ0Lmlnbm9yZUNhc2U9PT1lLmlnbm9yZUNhc2U7aWYobnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8bnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoaCh0KSYmaChlKSYmdSh0KT09PXUoZSkmJiEodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheXx8dCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSkpcmV0dXJuIDA9PT1hKG5ldyBVaW50OEFycmF5KHQuYnVmZmVyKSxuZXcgVWludDhBcnJheShlLmJ1ZmZlcikpO2lmKGkodCkhPT1pKGUpKXJldHVybiExO3ZhciBzPShuPW58fHthY3R1YWw6W10sZXhwZWN0ZWQ6W119KS5hY3R1YWwuaW5kZXhPZih0KTtyZXR1cm4tMSE9PXMmJnM9PT1uLmV4cGVjdGVkLmluZGV4T2YoZSl8fChuLmFjdHVhbC5wdXNoKHQpLG4uZXhwZWN0ZWQucHVzaChlKSxmdW5jdGlvbih0LGUscixuKXtpZihudWxsPT10fHxudWxsPT1lKXJldHVybiExO2lmKG8uaXNQcmltaXRpdmUodCl8fG8uaXNQcmltaXRpdmUoZSkpcmV0dXJuIHQ9PT1lO2lmKHImJk9iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKSlyZXR1cm4hMTt2YXIgYT1iKHQpLGk9YihlKTtpZihhJiYhaXx8IWEmJmkpcmV0dXJuITE7aWYoYSlyZXR1cm4gdD1sLmNhbGwodCksZT1sLmNhbGwoZSkseCh0LGUscik7dmFyIHMsYyx1PWsodCksaD1rKGUpO2lmKHUubGVuZ3RoIT09aC5sZW5ndGgpcmV0dXJuITE7Zm9yKHUuc29ydCgpLGguc29ydCgpLGM9dS5sZW5ndGgtMTtjPj0wO2MtLSlpZih1W2NdIT09aFtjXSlyZXR1cm4hMTtmb3IoYz11Lmxlbmd0aC0xO2M+PTA7Yy0tKWlmKHM9dVtjXSwheCh0W3NdLGVbc10scixuKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxlLHIsbikpfXJldHVybiByP3Q9PT1lOnQ9PWV9ZnVuY3Rpb24gYih0KXtyZXR1cm4iW29iamVjdCBBcmd1bWVudHNdIj09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIF8odCxlKXtpZighdHx8IWUpcmV0dXJuITE7aWYoIltvYmplY3QgUmVnRXhwXSI9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4gZS50ZXN0KHQpO3RyeXtpZih0IGluc3RhbmNlb2YgZSlyZXR1cm4hMH1jYXRjaCh0KXt9cmV0dXJuIUVycm9yLmlzUHJvdG90eXBlT2YoZSkmJiEwPT09ZS5jYWxsKHt9LHQpfWZ1bmN0aW9uIHcodCxlLHIsbil7dmFyIGE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignImJsb2NrIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTsic3RyaW5nIj09dHlwZW9mIHImJihuPXIscj1udWxsKSxhPWZ1bmN0aW9uKHQpe3ZhciBlO3RyeXt0KCl9Y2F0Y2godCl7ZT10fXJldHVybiBlfShlKSxuPShyJiZyLm5hbWU/IiAoIityLm5hbWUrIikuIjoiLiIpKyhuPyIgIituOiIuIiksdCYmIWEmJm0oYSxyLCJNaXNzaW5nIGV4cGVjdGVkIGV4Y2VwdGlvbiIrbik7dmFyIGk9InN0cmluZyI9PXR5cGVvZiBuLHM9IXQmJmEmJiFyO2lmKCghdCYmby5pc0Vycm9yKGEpJiZpJiZfKGEscil8fHMpJiZtKGEsciwiR290IHVud2FudGVkIGV4Y2VwdGlvbiIrbiksdCYmYSYmciYmIV8oYSxyKXx8IXQmJmEpdGhyb3cgYX1mLkFzc2VydGlvbkVycm9yPWZ1bmN0aW9uKHQpe3ZhciBlO3RoaXMubmFtZT0iQXNzZXJ0aW9uRXJyb3IiLHRoaXMuYWN0dWFsPXQuYWN0dWFsLHRoaXMuZXhwZWN0ZWQ9dC5leHBlY3RlZCx0aGlzLm9wZXJhdG9yPXQub3BlcmF0b3IsdC5tZXNzYWdlPyh0aGlzLm1lc3NhZ2U9dC5tZXNzYWdlLHRoaXMuZ2VuZXJhdGVkTWVzc2FnZT0hMSk6KHRoaXMubWVzc2FnZT1nKHYoKGU9dGhpcykuYWN0dWFsKSwxMjgpKyIgIitlLm9wZXJhdG9yKyIgIitnKHYoZS5leHBlY3RlZCksMTI4KSx0aGlzLmdlbmVyYXRlZE1lc3NhZ2U9ITApO3ZhciByPXQuc3RhY2tTdGFydEZ1bmN0aW9ufHxtO2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMscik7ZWxzZXt2YXIgbj1uZXcgRXJyb3I7aWYobi5zdGFjayl7dmFyIGE9bi5zdGFjayxpPWQociksbz1hLmluZGV4T2YoIlxuIitpKTtpZihvPj0wKXt2YXIgcz1hLmluZGV4T2YoIlxuIixvKzEpO2E9YS5zdWJzdHJpbmcocysxKX10aGlzLnN0YWNrPWF9fX0sby5pbmhlcml0cyhmLkFzc2VydGlvbkVycm9yLEVycm9yKSxmLmZhaWw9bSxmLm9rPXksZi5lcXVhbD1mdW5jdGlvbih0LGUscil7dCE9ZSYmbSh0LGUsciwiPT0iLGYuZXF1YWwpfSxmLm5vdEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt0PT1lJiZtKHQsZSxyLCIhPSIsZi5ub3RFcXVhbCl9LGYuZGVlcEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt4KHQsZSwhMSl8fG0odCxlLHIsImRlZXBFcXVhbCIsZi5kZWVwRXF1YWwpfSxmLmRlZXBTdHJpY3RFcXVhbD1mdW5jdGlvbih0LGUscil7eCh0LGUsITApfHxtKHQsZSxyLCJkZWVwU3RyaWN0RXF1YWwiLGYuZGVlcFN0cmljdEVxdWFsKX0sZi5ub3REZWVwRXF1YWw9ZnVuY3Rpb24odCxlLHIpe3godCxlLCExKSYmbSh0LGUsciwibm90RGVlcEVxdWFsIixmLm5vdERlZXBFcXVhbCl9LGYubm90RGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uIHQoZSxyLG4pe3goZSxyLCEwKSYmbShlLHIsbiwibm90RGVlcFN0cmljdEVxdWFsIix0KX0sZi5zdHJpY3RFcXVhbD1mdW5jdGlvbih0LGUscil7dCE9PWUmJm0odCxlLHIsIj09PSIsZi5zdHJpY3RFcXVhbCl9LGYubm90U3RyaWN0RXF1YWw9ZnVuY3Rpb24odCxlLHIpe3Q9PT1lJiZtKHQsZSxyLCIhPT0iLGYubm90U3RyaWN0RXF1YWwpfSxmLnRocm93cz1mdW5jdGlvbih0LGUscil7dyghMCx0LGUscil9LGYuZG9lc05vdFRocm93PWZ1bmN0aW9uKHQsZSxyKXt3KCExLHQsZSxyKX0sZi5pZkVycm9yPWZ1bmN0aW9uKHQpe2lmKHQpdGhyb3cgdH0sZi5zdHJpY3Q9bihmdW5jdGlvbiB0KGUscil7ZXx8bShlLCEwLHIsIj09Iix0KX0sZix7ZXF1YWw6Zi5zdHJpY3RFcXVhbCxkZWVwRXF1YWw6Zi5kZWVwU3RyaWN0RXF1YWwsbm90RXF1YWw6Zi5ub3RTdHJpY3RFcXVhbCxub3REZWVwRXF1YWw6Zi5ub3REZWVwU3RyaWN0RXF1YWx9KSxmLnN0cmljdC5zdHJpY3Q9Zi5zdHJpY3Q7dmFyIGs9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KXMuY2FsbCh0LHIpJiZlLnB1c2gocik7cmV0dXJuIGV9fSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Im9iamVjdC1hc3NpZ24iOjQ1NiwidXRpbC8iOjczfV0sNzE6W2Z1bmN0aW9uKHQsZSxyKXsiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LnN1cGVyXz1lLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pfTplLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LnN1cGVyXz1lO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fX0se31dLDcyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvcHkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlYWRVSW50OH19LHt9XSw3MzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlLG4pe3ZhciBhPS8lW3NkaiVdL2c7ci5mb3JtYXQ9ZnVuY3Rpb24odCl7aWYoIW0odCkpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllLnB1c2gocyhhcmd1bWVudHNbcl0pKTtyZXR1cm4gZS5qb2luKCIgIil9cj0xO2Zvcih2YXIgbj1hcmd1bWVudHMsaT1uLmxlbmd0aCxvPVN0cmluZyh0KS5yZXBsYWNlKGEsZnVuY3Rpb24odCl7aWYoIiUlIj09PXQpcmV0dXJuIiUiO2lmKHI+PWkpcmV0dXJuIHQ7c3dpdGNoKHQpe2Nhc2UiJXMiOnJldHVybiBTdHJpbmcobltyKytdKTtjYXNlIiVkIjpyZXR1cm4gTnVtYmVyKG5bcisrXSk7Y2FzZSIlaiI6dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuW3IrK10pfWNhdGNoKHQpe3JldHVybiJbQ2lyY3VsYXJdIn1kZWZhdWx0OnJldHVybiB0fX0pLGw9bltyXTtyPGk7bD1uWysrcl0pZyhsKXx8IWIobCk/bys9IiAiK2w6bys9IiAiK3MobCk7cmV0dXJuIG99LHIuZGVwcmVjYXRlPWZ1bmN0aW9uKHQsYSl7aWYoeShuLnByb2Nlc3MpKXJldHVybiBmdW5jdGlvbigpe3JldHVybiByLmRlcHJlY2F0ZSh0LGEpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07aWYoITA9PT1lLm5vRGVwcmVjYXRpb24pcmV0dXJuIHQ7dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWkpe2lmKGUudGhyb3dEZXByZWNhdGlvbil0aHJvdyBuZXcgRXJyb3IoYSk7ZS50cmFjZURlcHJlY2F0aW9uP2NvbnNvbGUudHJhY2UoYSk6Y29uc29sZS5lcnJvcihhKSxpPSEwfXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciBpLG89e307ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPXtzZWVuOltdLHN0eWxpemU6Y307cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+PTMmJihuLmRlcHRoPWFyZ3VtZW50c1syXSksYXJndW1lbnRzLmxlbmd0aD49NCYmKG4uY29sb3JzPWFyZ3VtZW50c1szXSksZChlKT9uLnNob3dIaWRkZW49ZTplJiZyLl9leHRlbmQobixlKSx5KG4uc2hvd0hpZGRlbikmJihuLnNob3dIaWRkZW49ITEpLHkobi5kZXB0aCkmJihuLmRlcHRoPTIpLHkobi5jb2xvcnMpJiYobi5jb2xvcnM9ITEpLHkobi5jdXN0b21JbnNwZWN0KSYmKG4uY3VzdG9tSW5zcGVjdD0hMCksbi5jb2xvcnMmJihuLnN0eWxpemU9bCksdShuLHQsbi5kZXB0aCl9ZnVuY3Rpb24gbCh0LGUpe3ZhciByPXMuc3R5bGVzW2VdO3JldHVybiByPyJceDFiWyIrcy5jb2xvcnNbcl1bMF0rIm0iK3QrIlx4MWJbIitzLmNvbG9yc1tyXVsxXSsibSI6dH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHR9ZnVuY3Rpb24gdSh0LGUsbil7aWYodC5jdXN0b21JbnNwZWN0JiZlJiZrKGUuaW5zcGVjdCkmJmUuaW5zcGVjdCE9PXIuaW5zcGVjdCYmKCFlLmNvbnN0cnVjdG9yfHxlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSE9PWUpKXt2YXIgYT1lLmluc3BlY3Qobix0KTtyZXR1cm4gbShhKXx8KGE9dSh0LGEsbikpLGF9dmFyIGk9ZnVuY3Rpb24odCxlKXtpZih5KGUpKXJldHVybiB0LnN0eWxpemUoInVuZGVmaW5lZCIsInVuZGVmaW5lZCIpO2lmKG0oZSkpe3ZhciByPSInIitKU09OLnN0cmluZ2lmeShlKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiB0LnN0eWxpemUociwic3RyaW5nIil9aWYodihlKSlyZXR1cm4gdC5zdHlsaXplKCIiK2UsIm51bWJlciIpO2lmKGQoZSkpcmV0dXJuIHQuc3R5bGl6ZSgiIitlLCJib29sZWFuIik7aWYoZyhlKSlyZXR1cm4gdC5zdHlsaXplKCJudWxsIiwibnVsbCIpfSh0LGUpO2lmKGkpcmV0dXJuIGk7dmFyIG89T2JqZWN0LmtleXMoZSkscz1mdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQscil7ZVt0XT0hMH0pLGV9KG8pO2lmKHQuc2hvd0hpZGRlbiYmKG89T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkpLHcoZSkmJihvLmluZGV4T2YoIm1lc3NhZ2UiKT49MHx8by5pbmRleE9mKCJkZXNjcmlwdGlvbiIpPj0wKSlyZXR1cm4gaChlKTtpZigwPT09by5sZW5ndGgpe2lmKGsoZSkpe3ZhciBsPWUubmFtZT8iOiAiK2UubmFtZToiIjtyZXR1cm4gdC5zdHlsaXplKCJbRnVuY3Rpb24iK2wrIl0iLCJzcGVjaWFsIil9aWYoeChlKSlyZXR1cm4gdC5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSwicmVnZXhwIik7aWYoXyhlKSlyZXR1cm4gdC5zdHlsaXplKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSksImRhdGUiKTtpZih3KGUpKXJldHVybiBoKGUpfXZhciBjLGI9IiIsVD0hMSxNPVsieyIsIn0iXTsocChlKSYmKFQ9ITAsTT1bIlsiLCJdIl0pLGsoZSkpJiYoYj0iIFtGdW5jdGlvbiIrKGUubmFtZT8iOiAiK2UubmFtZToiIikrIl0iKTtyZXR1cm4geChlKSYmKGI9IiAiK1JlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSksXyhlKSYmKGI9IiAiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwoZSkpLHcoZSkmJihiPSIgIitoKGUpKSwwIT09by5sZW5ndGh8fFQmJjAhPWUubGVuZ3RoP248MD94KGUpP3Quc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSksInJlZ2V4cCIpOnQuc3R5bGl6ZSgiW09iamVjdF0iLCJzcGVjaWFsIik6KHQuc2Vlbi5wdXNoKGUpLGM9VD9mdW5jdGlvbih0LGUscixuLGEpe2Zvcih2YXIgaT1bXSxvPTAscz1lLmxlbmd0aDtvPHM7KytvKVMoZSxTdHJpbmcobykpP2kucHVzaChmKHQsZSxyLG4sU3RyaW5nKG8pLCEwKSk6aS5wdXNoKCIiKTtyZXR1cm4gYS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EubWF0Y2goL15cZCskLyl8fGkucHVzaChmKHQsZSxyLG4sYSwhMCkpfSksaX0odCxlLG4scyxvKTpvLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gZih0LGUsbixzLHIsVCl9KSx0LnNlZW4ucG9wKCksZnVuY3Rpb24odCxlLHIpe2lmKHQucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIDAsZS5pbmRleE9mKCJcbiIpPj0wJiYwLHQrZS5yZXBsYWNlKC9cdTAwMWJcW1xkXGQ/bS9nLCIiKS5sZW5ndGgrMX0sMCk+NjApcmV0dXJuIHJbMF0rKCIiPT09ZT8iIjplKyJcbiAiKSsiICIrdC5qb2luKCIsXG4gICIpKyIgIityWzFdO3JldHVybiByWzBdK2UrIiAiK3Quam9pbigiLCAiKSsiICIrclsxXX0oYyxiLE0pKTpNWzBdK2IrTVsxXX1mdW5jdGlvbiBoKHQpe3JldHVybiJbIitFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSsiXSJ9ZnVuY3Rpb24gZih0LGUscixuLGEsaSl7dmFyIG8scyxsO2lmKChsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxhKXx8e3ZhbHVlOmVbYV19KS5nZXQ/cz1sLnNldD90LnN0eWxpemUoIltHZXR0ZXIvU2V0dGVyXSIsInNwZWNpYWwiKTp0LnN0eWxpemUoIltHZXR0ZXJdIiwic3BlY2lhbCIpOmwuc2V0JiYocz10LnN0eWxpemUoIltTZXR0ZXJdIiwic3BlY2lhbCIpKSxTKG4sYSl8fChvPSJbIithKyJdIiksc3x8KHQuc2Vlbi5pbmRleE9mKGwudmFsdWUpPDA/KHM9ZyhyKT91KHQsbC52YWx1ZSxudWxsKTp1KHQsbC52YWx1ZSxyLTEpKS5pbmRleE9mKCJcbiIpPi0xJiYocz1pP3Muc3BsaXQoIlxuIikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiIgICIrdH0pLmpvaW4oIlxuIikuc3Vic3RyKDIpOiJcbiIrcy5zcGxpdCgiXG4iKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIiAgICIrdH0pLmpvaW4oIlxuIikpOnM9dC5zdHlsaXplKCJbQ2lyY3VsYXJdIiwic3BlY2lhbCIpKSx5KG8pKXtpZihpJiZhLm1hdGNoKC9eXGQrJC8pKXJldHVybiBzOyhvPUpTT04uc3RyaW5naWZ5KCIiK2EpKS5tYXRjaCgvXiIoW2EtekEtWl9dW2EtekEtWl8wLTldKikiJC8pPyhvPW8uc3Vic3RyKDEsby5sZW5ndGgtMiksbz10LnN0eWxpemUobywibmFtZSIpKToobz1vLnJlcGxhY2UoLycvZywiXFwnIikucmVwbGFjZSgvXFwiL2csJyInKS5yZXBsYWNlKC8oXiJ8IiQpL2csIiciKSxvPXQuc3R5bGl6ZShvLCJzdHJpbmciKSl9cmV0dXJuIG8rIjogIitzfWZ1bmN0aW9uIHAodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIGcodCl7cmV0dXJuIG51bGw9PT10fWZ1bmN0aW9uIHYodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0fWZ1bmN0aW9uIG0odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fWZ1bmN0aW9uIHkodCl7cmV0dXJuIHZvaWQgMD09PXR9ZnVuY3Rpb24geCh0KXtyZXR1cm4gYih0KSYmIltvYmplY3QgUmVnRXhwXSI9PT1UKHQpfWZ1bmN0aW9uIGIodCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dH1mdW5jdGlvbiBfKHQpe3JldHVybiBiKHQpJiYiW29iamVjdCBEYXRlXSI9PT1UKHQpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIGIodCkmJigiW29iamVjdCBFcnJvcl0iPT09VCh0KXx8dCBpbnN0YW5jZW9mIEVycm9yKX1mdW5jdGlvbiBrKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIFQodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBNKHQpe3JldHVybiB0PDEwPyIwIit0LnRvU3RyaW5nKDEwKTp0LnRvU3RyaW5nKDEwKX1yLmRlYnVnbG9nPWZ1bmN0aW9uKHQpe2lmKHkoaSkmJihpPWUuZW52Lk5PREVfREVCVUd8fCIiKSx0PXQudG9VcHBlckNhc2UoKSwhb1t0XSlpZihuZXcgUmVnRXhwKCJcXGIiK3QrIlxcYiIsImkiKS50ZXN0KGkpKXt2YXIgbj1lLnBpZDtvW3RdPWZ1bmN0aW9uKCl7dmFyIGU9ci5mb3JtYXQuYXBwbHkocixhcmd1bWVudHMpO2NvbnNvbGUuZXJyb3IoIiVzICVkOiAlcyIsdCxuLGUpfX1lbHNlIG9bdF09ZnVuY3Rpb24oKXt9O3JldHVybiBvW3RdfSxyLmluc3BlY3Q9cyxzLmNvbG9ycz17Ym9sZDpbMSwyMl0saXRhbGljOlszLDIzXSx1bmRlcmxpbmU6WzQsMjRdLGludmVyc2U6WzcsMjddLHdoaXRlOlszNywzOV0sZ3JleTpbOTAsMzldLGJsYWNrOlszMCwzOV0sYmx1ZTpbMzQsMzldLGN5YW46WzM2LDM5XSxncmVlbjpbMzIsMzldLG1hZ2VudGE6WzM1LDM5XSxyZWQ6WzMxLDM5XSx5ZWxsb3c6WzMzLDM5XX0scy5zdHlsZXM9e3NwZWNpYWw6ImN5YW4iLG51bWJlcjoieWVsbG93Iixib29sZWFuOiJ5ZWxsb3ciLHVuZGVmaW5lZDoiZ3JleSIsbnVsbDoiYm9sZCIsc3RyaW5nOiJncmVlbiIsZGF0ZToibWFnZW50YSIscmVnZXhwOiJyZWQifSxyLmlzQXJyYXk9cCxyLmlzQm9vbGVhbj1kLHIuaXNOdWxsPWcsci5pc051bGxPclVuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH0sci5pc051bWJlcj12LHIuaXNTdHJpbmc9bSxyLmlzU3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgdH0sci5pc1VuZGVmaW5lZD15LHIuaXNSZWdFeHA9eCxyLmlzT2JqZWN0PWIsci5pc0RhdGU9XyxyLmlzRXJyb3I9dyxyLmlzRnVuY3Rpb249ayxyLmlzUHJpbWl0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8ImJvb2xlYW4iPT10eXBlb2YgdHx8Im51bWJlciI9PXR5cGVvZiB0fHwic3RyaW5nIj09dHlwZW9mIHR8fCJzeW1ib2wiPT10eXBlb2YgdHx8InVuZGVmaW5lZCI9PXR5cGVvZiB0fSxyLmlzQnVmZmVyPXQoIi4vc3VwcG9ydC9pc0J1ZmZlciIpO3ZhciBBPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gUyh0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX1yLmxvZz1mdW5jdGlvbigpe3ZhciB0LGU7Y29uc29sZS5sb2coIiVzIC0gJXMiLCh0PW5ldyBEYXRlLGU9W00odC5nZXRIb3VycygpKSxNKHQuZ2V0TWludXRlcygpKSxNKHQuZ2V0U2Vjb25kcygpKV0uam9pbigiOiIpLFt0LmdldERhdGUoKSxBW3QuZ2V0TW9udGgoKV0sZV0uam9pbigiICIpKSxyLmZvcm1hdC5hcHBseShyLGFyZ3VtZW50cykpfSxyLmluaGVyaXRzPXQoImluaGVyaXRzIiksci5fZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7aWYoIWV8fCFiKGUpKXJldHVybiB0O2Zvcih2YXIgcj1PYmplY3Qua2V5cyhlKSxuPXIubGVuZ3RoO24tLTspdFtyW25dXT1lW3Jbbl1dO3JldHVybiB0fX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vc3VwcG9ydC9pc0J1ZmZlciI6NzIsX3Byb2Nlc3M6NDg0LGluaGVyaXRzOjcxfV0sNzQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGF0b2IodCl9fSx7fV0sNzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoLGk9bmV3IEFycmF5KHIrMSksbz0wO288cjsrK28pe2Zvcih2YXIgcz1uZXcgQXJyYXkocisxKSxsPTA7bDw9cjsrK2wpc1tsXT10W2xdW29dO2lbb109c31pW3JdPW5ldyBBcnJheShyKzEpO2Zvcih2YXIgbz0wO288PXI7KytvKWlbcl1bb109MTtmb3IodmFyIGM9bmV3IEFycmF5KHIrMSksbz0wO288cjsrK28pY1tvXT1lW29dO2Nbcl09MTt2YXIgdT1uKGksYyksaD1hKHVbcisxXSk7MD09PWgmJihoPTEpO2Zvcih2YXIgZj1uZXcgQXJyYXkocisxKSxvPTA7bzw9cjsrK28pZltvXT1hKHVbb10pL2g7cmV0dXJuIGZ9O3ZhciBuPXQoInJvYnVzdC1saW5lYXItc29sdmUiKTtmdW5jdGlvbiBhKHQpe2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoOysrcillKz10W3JdO3JldHVybiBlfX0seyJyb2J1c3QtbGluZWFyLXNvbHZlIjo1MDh9XSw3NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmJ5dGVMZW5ndGg9ZnVuY3Rpb24odCl7dmFyIGU9Yyh0KSxyPWVbMF0sbj1lWzFdO3JldHVybiAzKihyK24pLzQtbn0sci50b0J5dGVBcnJheT1mdW5jdGlvbih0KXt2YXIgZSxyLG49Yyh0KSxvPW5bMF0scz1uWzFdLGw9bmV3IGkoZnVuY3Rpb24odCxlLHIpe3JldHVybiAzKihlK3IpLzQtcn0oMCxvLHMpKSx1PTAsaD1zPjA/by00Om87Zm9yKHI9MDtyPGg7cis9NCllPWFbdC5jaGFyQ29kZUF0KHIpXTw8MTh8YVt0LmNoYXJDb2RlQXQocisxKV08PDEyfGFbdC5jaGFyQ29kZUF0KHIrMildPDw2fGFbdC5jaGFyQ29kZUF0KHIrMyldLGxbdSsrXT1lPj4xNiYyNTUsbFt1KytdPWU+PjgmMjU1LGxbdSsrXT0yNTUmZTsyPT09cyYmKGU9YVt0LmNoYXJDb2RlQXQocildPDwyfGFbdC5jaGFyQ29kZUF0KHIrMSldPj40LGxbdSsrXT0yNTUmZSk7MT09PXMmJihlPWFbdC5jaGFyQ29kZUF0KHIpXTw8MTB8YVt0LmNoYXJDb2RlQXQocisxKV08PDR8YVt0LmNoYXJDb2RlQXQocisyKV0+PjIsbFt1KytdPWU+PjgmMjU1LGxbdSsrXT0yNTUmZSk7cmV0dXJuIGx9LHIuZnJvbUJ5dGVBcnJheT1mdW5jdGlvbih0KXtmb3IodmFyIGUscj10Lmxlbmd0aCxhPXIlMyxpPVtdLG89MCxzPXItYTtvPHM7bys9MTYzODMpaS5wdXNoKHUodCxvLG8rMTYzODM+cz9zOm8rMTYzODMpKTsxPT09YT8oZT10W3ItMV0saS5wdXNoKG5bZT4+Ml0rbltlPDw0JjYzXSsiPT0iKSk6Mj09PWEmJihlPSh0W3ItMl08PDgpK3Rbci0xXSxpLnB1c2gobltlPj4xMF0rbltlPj40JjYzXStuW2U8PDImNjNdKyI9IikpO3JldHVybiBpLmpvaW4oIiIpfTtmb3IodmFyIG49W10sYT1bXSxpPSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhBcnJheT9VaW50OEFycmF5OkFycmF5LG89IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHM9MCxsPW8ubGVuZ3RoO3M8bDsrK3MpbltzXT1vW3NdLGFbby5jaGFyQ29kZUF0KHMpXT1zO2Z1bmN0aW9uIGModCl7dmFyIGU9dC5sZW5ndGg7aWYoZSU0PjApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0Iik7dmFyIHI9dC5pbmRleE9mKCI9Iik7cmV0dXJuLTE9PT1yJiYocj1lKSxbcixyPT09ZT8wOjQtciU0XX1mdW5jdGlvbiB1KHQsZSxyKXtmb3IodmFyIGEsaSxvPVtdLHM9ZTtzPHI7cys9MylhPSh0W3NdPDwxNiYxNjcxMTY4MCkrKHRbcysxXTw8OCY2NTI4MCkrKDI1NSZ0W3MrMl0pLG8ucHVzaChuWyhpPWEpPj4xOCY2M10rbltpPj4xMiY2M10rbltpPj42JjYzXStuWzYzJmldKTtyZXR1cm4gby5qb2luKCIiKX1hWyItIi5jaGFyQ29kZUF0KDApXT02MixhWyJfIi5jaGFyQ29kZUF0KDApXT02M30se31dLDc3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL3JhdGlvbmFsaXplIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odFswXS5tdWwoZVsxXSkuYWRkKGVbMF0ubXVsKHRbMV0pKSx0WzFdLm11bChlWzFdKSl9fSx7Ii4vbGliL3JhdGlvbmFsaXplIjo4N31dLDc4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdLm11bChlWzFdKS5jbXAoZVswXS5tdWwodFsxXSkpfX0se31dLDc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL3JhdGlvbmFsaXplIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odFswXS5tdWwoZVsxXSksdFsxXS5tdWwoZVswXSkpfX0seyIuL2xpYi9yYXRpb25hbGl6ZSI6ODd9XSw4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzLXJhdCIpLGE9dCgiLi9saWIvaXMtYm4iKSxpPXQoIi4vbGliL251bS10by1ibiIpLG89dCgiLi9saWIvc3RyLXRvLWJuIikscz10KCIuL2xpYi9yYXRpb25hbGl6ZSIpLGw9dCgiLi9kaXYiKTtlLmV4cG9ydHM9ZnVuY3Rpb24gdChlLHIpe2lmKG4oZSkpcmV0dXJuIHI/bChlLHQocikpOltlWzBdLmNsb25lKCksZVsxXS5jbG9uZSgpXTt2YXIgYz0wO3ZhciB1LGg7aWYoYShlKSl1PWUuY2xvbmUoKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSl1PW8oZSk7ZWxzZXtpZigwPT09ZSlyZXR1cm5baSgwKSxpKDEpXTtpZihlPT09TWF0aC5mbG9vcihlKSl1PWkoZSk7ZWxzZXtmb3IoO2UhPT1NYXRoLmZsb29yKGUpOyllKj1NYXRoLnBvdygyLDI1NiksYy09MjU2O3U9aShlKX19aWYobihyKSl1Lm11bChyWzFdKSxoPXJbMF0uY2xvbmUoKTtlbHNlIGlmKGEocikpaD1yLmNsb25lKCk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHIpaD1vKHIpO2Vsc2UgaWYocilpZihyPT09TWF0aC5mbG9vcihyKSloPWkocik7ZWxzZXtmb3IoO3IhPT1NYXRoLmZsb29yKHIpOylyKj1NYXRoLnBvdygyLDI1NiksYys9MjU2O2g9aShyKX1lbHNlIGg9aSgxKTtjPjA/dT11LnVzaGxuKGMpOmM8MCYmKGg9aC51c2hsbigtYykpO3JldHVybiBzKHUsaCl9fSx7Ii4vZGl2Ijo3OSwiLi9pcy1yYXQiOjgxLCIuL2xpYi9pcy1ibiI6ODUsIi4vbGliL251bS10by1ibiI6ODYsIi4vbGliL3JhdGlvbmFsaXplIjo4NywiLi9saWIvc3RyLXRvLWJuIjo4OH1dLDgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL2lzLWJuIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiYyPT09dC5sZW5ndGgmJm4odFswXSkmJm4odFsxXSl9fSx7Ii4vbGliL2lzLWJuIjo4NX1dLDgyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJuLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0LmNtcChuZXcgbigwKSl9fSx7ImJuLmpzIjo5Nn1dLDgzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vYm4tc2lnbiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPXQud29yZHMsYT0wO2lmKDE9PT1lKWE9clswXTtlbHNlIGlmKDI9PT1lKWE9clswXSs2NzEwODg2NCpyWzFdO2Vsc2UgZm9yKHZhciBpPTA7aTxlO2krKyl7dmFyIG89cltpXTthKz1vKk1hdGgucG93KDY3MTA4ODY0LGkpfXJldHVybiBuKHQpKmF9fSx7Ii4vYm4tc2lnbiI6ODJ9XSw4NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkb3VibGUtYml0cyIpLGE9dCgiYml0LXR3aWRkbGUiKS5jb3VudFRyYWlsaW5nWmVyb3M7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWEobi5sbyh0KSk7aWYoZTwzMilyZXR1cm4gZTt2YXIgcj1hKG4uaGkodCkpO2lmKHI+MjApcmV0dXJuIDUyO3JldHVybiByKzMyfX0seyJiaXQtdHdpZGRsZSI6OTQsImRvdWJsZS1iaXRzIjoxNjl9XSw4NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0KCJibi5qcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZCb29sZWFuKHQud29yZHMpfX0seyJibi5qcyI6OTZ9XSw4NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJibi5qcyIpLGE9dCgiZG91YmxlLWJpdHMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9YS5leHBvbmVudCh0KTtyZXR1cm4gZTw1Mj9uZXcgbih0KTpuZXcgbih0Kk1hdGgucG93KDIsNTItZSkpLnVzaGxuKGUtNTIpfX0seyJibi5qcyI6OTYsImRvdWJsZS1iaXRzIjoxNjl9XSw4NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL251bS10by1ibiIpLGE9dCgiLi9ibi1zaWduIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9YSh0KSxpPWEoZSk7aWYoMD09PXIpcmV0dXJuW24oMCksbigxKV07aWYoMD09PWkpcmV0dXJuW24oMCksbigwKV07aTwwJiYodD10Lm5lZygpLGU9ZS5uZWcoKSk7dmFyIG89dC5nY2QoZSk7aWYoby5jbXBuKDEpKXJldHVyblt0LmRpdihvKSxlLmRpdihvKV07cmV0dXJuW3QsZV19fSx7Ii4vYm4tc2lnbiI6ODIsIi4vbnVtLXRvLWJuIjo4Nn1dLDg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJuLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbih0KX19LHsiYm4uanMiOjk2fV0sODk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvcmF0aW9uYWxpemUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0WzBdLm11bChlWzBdKSx0WzFdLm11bChlWzFdKSl9fSx7Ii4vbGliL3JhdGlvbmFsaXplIjo4N31dLDkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL2JuLXNpZ24iKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odFswXSkqbih0WzFdKX19LHsiLi9saWIvYm4tc2lnbiI6ODJ9XSw5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2xpYi9yYXRpb25hbGl6ZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBuKHRbMF0ubXVsKGVbMV0pLnN1Yih0WzFdLm11bChlWzBdKSksdFsxXS5tdWwoZVsxXSkpfX0seyIuL2xpYi9yYXRpb25hbGl6ZSI6ODd9XSw5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2xpYi9ibi10by1udW0iKSxhPXQoIi4vbGliL2N0eiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLHI9dFsxXTtpZigwPT09ZS5jbXBuKDApKXJldHVybiAwO3ZhciBpPWUuYWJzKCkuZGl2bW9kKHIuYWJzKCkpLG89aS5kaXYscz1uKG8pLGw9aS5tb2QsYz1lLm5lZ2F0aXZlIT09ci5uZWdhdGl2ZT8tMToxO2lmKDA9PT1sLmNtcG4oMCkpcmV0dXJuIGMqcztpZihzKXt2YXIgdT1hKHMpKzQsaD1uKGwudXNobG4odSkuZGl2Um91bmQocikpO3JldHVybiBjKihzK2gqTWF0aC5wb3coMiwtdSkpfXZhciBmPXIuYml0TGVuZ3RoKCktbC5iaXRMZW5ndGgoKSs1MyxoPW4obC51c2hsbihmKS5kaXZSb3VuZChyKSk7cmV0dXJuIGY8MTAyMz9jKmgqTWF0aC5wb3coMiwtZik6KGgqPU1hdGgucG93KDIsLTEwMjMpLGMqaCpNYXRoLnBvdygyLDEwMjMtZikpfX0seyIuL2xpYi9ibi10by1udW0iOjgzLCIuL2xpYi9jdHoiOjg0fV0sOTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUscixuLGEsaSl7dmFyIG89WyJmdW5jdGlvbiAiLHQsIihhLGwsaCwiLG4uam9pbigiLCIpLCIpeyIsaT8iIjoidmFyIGk9IixyPyJsLTEiOiJoKzEiLCI7d2hpbGUobDw9aCl7dmFyIG09KGwraCk+Pj4xLHg9YSIsYT8iLmdldChtKSI6IlttXSJdO3JldHVybiBpP2UuaW5kZXhPZigiYyIpPDA/by5wdXNoKCI7aWYoeD09PXkpe3JldHVybiBtfWVsc2UgaWYoeDw9eSl7Iik6by5wdXNoKCI7dmFyIHA9Yyh4LHkpO2lmKHA9PT0wKXtyZXR1cm4gbX1lbHNlIGlmKHA8PTApeyIpOm8ucHVzaCgiO2lmKCIsZSwiKXtpPW07Iikscj9vLnB1c2goImw9bSsxfWVsc2V7aD1tLTF9Iik6by5wdXNoKCJoPW0tMX1lbHNle2w9bSsxfSIpLG8ucHVzaCgifSIpLGk/by5wdXNoKCJyZXR1cm4gLTF9OyIpOm8ucHVzaCgicmV0dXJuIGl9OyIpLG8uam9pbigiIil9ZnVuY3Rpb24gYSh0LGUscixhKXtyZXR1cm4gbmV3IEZ1bmN0aW9uKFtuKCJBIiwieCIrdCsieSIsZSxbInkiXSwhMSxhKSxuKCJCIiwieCIrdCsieSIsZSxbInkiXSwhMCxhKSxuKCJQIiwiYyh4LHkpIit0KyIwIixlLFsieSIsImMiXSwhMSxhKSxuKCJRIiwiYyh4LHkpIit0KyIwIixlLFsieSIsImMiXSwhMCxhKSwiZnVuY3Rpb24gZGlzcGF0Y2hCc2VhcmNoIixyLCIoYSx5LGMsbCxoKXtpZihhLnNoYXBlKXtpZih0eXBlb2YoYyk9PT0nZnVuY3Rpb24nKXtyZXR1cm4gUShhLChsPT09dW5kZWZpbmVkKT8wOmx8MCwoaD09PXVuZGVmaW5lZCk/YS5zaGFwZVswXS0xOmh8MCx5LGMpfWVsc2V7cmV0dXJuIEIoYSwoYz09PXVuZGVmaW5lZCk/MDpjfDAsKGw9PT11bmRlZmluZWQpP2Euc2hhcGVbMF0tMTpsfDAseSl9fWVsc2V7aWYodHlwZW9mKGMpPT09J2Z1bmN0aW9uJyl7cmV0dXJuIFAoYSwobD09PXVuZGVmaW5lZCk/MDpsfDAsKGg9PT11bmRlZmluZWQpP2EubGVuZ3RoLTE6aHwwLHksYyl9ZWxzZXtyZXR1cm4gQShhLChjPT09dW5kZWZpbmVkKT8wOmN8MCwobD09PXVuZGVmaW5lZCk/YS5sZW5ndGgtMTpsfDAseSl9fX1yZXR1cm4gZGlzcGF0Y2hCc2VhcmNoIixyXS5qb2luKCIiKSkoKX1lLmV4cG9ydHM9e2dlOmEoIj49IiwhMSwiR0UiKSxndDphKCI+IiwhMSwiR1QiKSxsdDphKCI8IiwhMCwiTFQiKSxsZTphKCI8PSIsITAsIkxFIiksZXE6YSgiLSIsITAsIkVRIiwhMCl9fSx7fV0sOTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXt2YXIgZT0zMjtyZXR1cm4odCY9LXQpJiZlLS0sNjU1MzUmdCYmKGUtPTE2KSwxNjcxMTkzNSZ0JiYoZS09OCksMjUyNjQ1MTM1JnQmJihlLT00KSw4NTg5OTM0NTkmdCYmKGUtPTIpLDE0MzE2NTU3NjUmdCYmKGUtPTEpLGV9ci5JTlRfQklUUz0zMixyLklOVF9NQVg9MjE0NzQ4MzY0NyxyLklOVF9NSU49LTE8PDMxLHIuc2lnbj1mdW5jdGlvbih0KXtyZXR1cm4odD4wKS0odDwwKX0sci5hYnM9ZnVuY3Rpb24odCl7dmFyIGU9dD4+MzE7cmV0dXJuKHReZSktZX0sci5taW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZV4odF5lKSYtKHQ8ZSl9LHIubWF4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHReKHReZSkmLSh0PGUpfSxyLmlzUG93Mj1mdW5jdGlvbih0KXtyZXR1cm4hKHQmdC0xfHwhdCl9LHIubG9nMj1mdW5jdGlvbih0KXt2YXIgZSxyO3JldHVybiBlPSh0PjY1NTM1KTw8NCxlfD1yPSgodD4+Pj1lKT4yNTUpPDwzLGV8PXI9KCh0Pj4+PXIpPjE1KTw8MiwoZXw9cj0oKHQ+Pj49cik+Myk8PDEpfCh0Pj4+PXIpPj4xfSxyLmxvZzEwPWZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xZTk/OTp0Pj0xZTg/ODp0Pj0xZTc/Nzp0Pj0xZTY/Njp0Pj0xZTU/NTp0Pj0xZTQ/NDp0Pj0xZTM/Mzp0Pj0xMDA/Mjp0Pj0xMD8xOjB9LHIucG9wQ291bnQ9ZnVuY3Rpb24odCl7cmV0dXJuIDE2ODQzMDA5KigodD0oODU4OTkzNDU5Jih0LT10Pj4+MSYxNDMxNjU1NzY1KSkrKHQ+Pj4yJjg1ODk5MzQ1OSkpKyh0Pj4+NCkmMjUyNjQ1MTM1KT4+PjI0fSxyLmNvdW50VHJhaWxpbmdaZXJvcz1uLHIubmV4dFBvdzI9ZnVuY3Rpb24odCl7cmV0dXJuIHQrPTA9PT10LC0tdCx0fD10Pj4+MSx0fD10Pj4+Mix0fD10Pj4+NCx0fD10Pj4+OCwodHw9dD4+PjE2KSsxfSxyLnByZXZQb3cyPWZ1bmN0aW9uKHQpe3JldHVybiB0fD10Pj4+MSx0fD10Pj4+Mix0fD10Pj4+NCx0fD10Pj4+OCwodHw9dD4+PjE2KS0odD4+PjEpfSxyLnBhcml0eT1mdW5jdGlvbih0KXtyZXR1cm4gdF49dD4+PjE2LHRePXQ+Pj44LHRePXQ+Pj40LDI3MDMwPj4+KHQmPTE1KSYxfTt2YXIgYT1uZXcgQXJyYXkoMjU2KTshZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTwyNTY7KytlKXt2YXIgcj1lLG49ZSxhPTc7Zm9yKHI+Pj49MTtyO3I+Pj49MSluPDw9MSxufD0xJnIsLS1hO3RbZV09bjw8YSYyNTV9fShhKSxyLnJldmVyc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFbMjU1JnRdPDwyNHxhW3Q+Pj44JjI1NV08PDE2fGFbdD4+PjE2JjI1NV08PDh8YVt0Pj4+MjQmMjU1XX0sci5pbnRlcmxlYXZlMj1mdW5jdGlvbih0LGUpe3JldHVybih0PTE0MzE2NTU3NjUmKCh0PTg1ODk5MzQ1OSYoKHQ9MjUyNjQ1MTM1JigodD0xNjcxMTkzNSYoKHQmPTY1NTM1KXx0PDw4KSl8dDw8NCkpfHQ8PDIpKXx0PDwxKSl8KGU9MTQzMTY1NTc2NSYoKGU9ODU4OTkzNDU5JigoZT0yNTI2NDUxMzUmKChlPTE2NzExOTM1JigoZSY9NjU1MzUpfGU8PDgpKXxlPDw0KSl8ZTw8MikpfGU8PDEpKTw8MX0sci5kZWludGVybGVhdmUyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQ9NjU1MzUmKCh0PTE2NzExOTM1JigodD0yNTI2NDUxMzUmKCh0PTg1ODk5MzQ1OSYoKHQ9dD4+PmUmMTQzMTY1NTc2NSl8dD4+PjEpKXx0Pj4+MikpfHQ+Pj40KSl8dD4+PjE2KSk8PDE2Pj4xNn0sci5pbnRlcmxlYXZlMz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9MTIyNzEzMzUxMyYoKHQ9MzI3MjM1NjAzNSYoKHQ9MjUxNzE5Njk1JigodD00Mjc4MTkwMzM1JigodCY9MTAyMyl8dDw8MTYpKXx0PDw4KSl8dDw8NCkpfHQ8PDIpLCh0fD0oZT0xMjI3MTMzNTEzJigoZT0zMjcyMzU2MDM1JigoZT0yNTE3MTk2OTUmKChlPTQyNzgxOTAzMzUmKChlJj0xMDIzKXxlPDwxNikpfGU8PDgpKXxlPDw0KSl8ZTw8MikpPDwxKXwocj0xMjI3MTMzNTEzJigocj0zMjcyMzU2MDM1Jigocj0yNTE3MTk2OTUmKChyPTQyNzgxOTAzMzUmKChyJj0xMDIzKXxyPDwxNikpfHI8PDgpKXxyPDw0KSl8cjw8MikpPDwyfSxyLmRlaW50ZXJsZWF2ZTM9ZnVuY3Rpb24odCxlKXtyZXR1cm4odD0xMDIzJigodD00Mjc4MTkwMzM1JigodD0yNTE3MTk2OTUmKCh0PTMyNzIzNTYwMzUmKCh0PXQ+Pj5lJjEyMjcxMzM1MTMpfHQ+Pj4yKSl8dD4+PjQpKXx0Pj4+OCkpfHQ+Pj4xNikpPDwyMj4+MjJ9LHIubmV4dENvbWJpbmF0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlPXR8dC0xO3JldHVybiBlKzF8KH5lJi1+ZSktMT4+Pm4odCkrMX19LHt9XSw5NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjbGFtcCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2V8fChlPXt9KTt2YXIgcixvLHMsbCxjLHUsaCxmLHAsZCxnLHY9bnVsbD09ZS5jdXRvZmY/LjI1OmUuY3V0b2ZmLG09bnVsbD09ZS5yYWRpdXM/ODplLnJhZGl1cyx5PWUuY2hhbm5lbHx8MDtpZihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fEFycmF5LmlzQXJyYXkodCkpe2lmKCFlLndpZHRofHwhZS5oZWlnaHQpdGhyb3cgRXJyb3IoIkZvciByYXcgZGF0YSB3aWR0aCBhbmQgaGVpZ2h0IHNob3VsZCBiZSBwcm92aWRlZCBieSBvcHRpb25zIik7cj1lLndpZHRoLG89ZS5oZWlnaHQsbD10LHU9ZS5zdHJpZGU/ZS5zdHJpZGU6TWF0aC5mbG9vcih0Lmxlbmd0aC9yL28pfWVsc2Ugd2luZG93LkhUTUxDYW52YXNFbGVtZW50JiZ0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxDYW52YXNFbGVtZW50PyhoPShmPXQpLmdldENvbnRleHQoIjJkIikscj1mLndpZHRoLG89Zi5oZWlnaHQscD1oLmdldEltYWdlRGF0YSgwLDAscixvKSxsPXAuZGF0YSx1PTQpOndpbmRvdy5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQmJnQgaW5zdGFuY2VvZiB3aW5kb3cuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPyhmPXQuY2FudmFzLGg9dCxyPWYud2lkdGgsbz1mLmhlaWdodCxwPWguZ2V0SW1hZ2VEYXRhKDAsMCxyLG8pLGw9cC5kYXRhLHU9NCk6d2luZG93LkltYWdlRGF0YSYmdCBpbnN0YW5jZW9mIHdpbmRvdy5JbWFnZURhdGEmJihwPXQscj10LndpZHRoLG89dC5oZWlnaHQsbD1wLmRhdGEsdT00KTtpZihzPU1hdGgubWF4KHIsbyksd2luZG93LlVpbnQ4Q2xhbXBlZEFycmF5JiZsIGluc3RhbmNlb2Ygd2luZG93LlVpbnQ4Q2xhbXBlZEFycmF5fHx3aW5kb3cuVWludDhBcnJheSYmbCBpbnN0YW5jZW9mIHdpbmRvdy5VaW50OEFycmF5KWZvcihjPWwsbD1BcnJheShyKm8pLGQ9MCxnPWMubGVuZ3RoO2Q8ZztkKyspbFtkXT1jW2QqdSt5XS8yNTU7ZWxzZSBpZigxIT09dSl0aHJvdyBFcnJvcigiUmF3IGRhdGEgY2FuIGhhdmUgb25seSAxIHZhbHVlIHBlciBwaXhlbCIpO3ZhciB4PUFycmF5KHIqbyksYj1BcnJheShyKm8pLF89QXJyYXkocyksdz1BcnJheShzKSxrPUFycmF5KHMrMSksVD1BcnJheShzKTtmb3IoZD0wLGc9cipvO2Q8ZztkKyspe3ZhciBNPWxbZF07eFtkXT0xPT09TT8wOjA9PT1NP2E6TWF0aC5wb3coTWF0aC5tYXgoMCwuNS1NKSwyKSxiW2RdPTE9PT1NP2E6MD09PU0/MDpNYXRoLnBvdyhNYXRoLm1heCgwLE0tLjUpLDIpfWkoeCxyLG8sXyx3LFQsayksaShiLHIsbyxfLHcsVCxrKTt2YXIgQT13aW5kb3cuRmxvYXQzMkFycmF5P25ldyBGbG9hdDMyQXJyYXkocipvKTpuZXcgQXJyYXkocipvKTtmb3IoZD0wLGc9cipvO2Q8ZztkKyspQVtkXT1uKDEtKCh4W2RdLWJbZF0pL20rdiksMCwxKTtyZXR1cm4gQX07dmFyIGE9MWUyMDtmdW5jdGlvbiBpKHQsZSxyLG4sYSxpLHMpe2Zvcih2YXIgbD0wO2w8ZTtsKyspe2Zvcih2YXIgYz0wO2M8cjtjKyspbltjXT10W2MqZStsXTtmb3IobyhuLGEsaSxzLHIpLGM9MDtjPHI7YysrKXRbYyplK2xdPWFbY119Zm9yKGM9MDtjPHI7YysrKXtmb3IobD0wO2w8ZTtsKyspbltsXT10W2MqZStsXTtmb3IobyhuLGEsaSxzLGUpLGw9MDtsPGU7bCsrKXRbYyplK2xdPU1hdGguc3FydChhW2xdKX19ZnVuY3Rpb24gbyh0LGUscixuLGkpe3JbMF09MCxuWzBdPS1hLG5bMV09K2E7Zm9yKHZhciBvPTEscz0wO288aTtvKyspe2Zvcih2YXIgbD0odFtvXStvKm8tKHRbcltzXV0rcltzXSpyW3NdKSkvKDIqby0yKnJbc10pO2w8PW5bc107KXMtLSxsPSh0W29dK28qby0odFtyW3NdXStyW3NdKnJbc10pKS8oMipvLTIqcltzXSk7clsrK3NdPW8sbltzXT1sLG5bcysxXT0rYX1mb3Iobz0wLHM9MDtvPGk7bysrKXtmb3IoO25bcysxXTxvOylzKys7ZVtvXT0oby1yW3NdKSooby1yW3NdKSt0W3Jbc11dfX19LHtjbGFtcDoxMTd9XSw5NjpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbihlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGV8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24gYSh0LGUpe3Quc3VwZXJfPWU7dmFyIHI9ZnVuY3Rpb24oKXt9O3IucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gaSh0LGUscil7aWYoaS5pc0JOKHQpKXJldHVybiB0O3RoaXMubmVnYXRpdmU9MCx0aGlzLndvcmRzPW51bGwsdGhpcy5sZW5ndGg9MCx0aGlzLnJlZD1udWxsLG51bGwhPT10JiYoImxlIiE9PWUmJiJiZSIhPT1lfHwocj1lLGU9MTApLHRoaXMuX2luaXQodHx8MCxlfHwxMCxyfHwiYmUiKSl9dmFyIG87Im9iamVjdCI9PXR5cGVvZiBlP2UuZXhwb3J0cz1pOnIuQk49aSxpLkJOPWksaS53b3JkU2l6ZT0yNjt0cnl7bz10KCJidWZmZXIiKS5CdWZmZXJ9Y2F0Y2godCl7fWZ1bmN0aW9uIHModCxlLHIpe2Zvcih2YXIgbj0wLGE9TWF0aC5taW4odC5sZW5ndGgsciksaT1lO2k8YTtpKyspe3ZhciBvPXQuY2hhckNvZGVBdChpKS00ODtuPDw9NCxufD1vPj00OSYmbzw9NTQ/by00OSsxMDpvPj0xNyYmbzw9MjI/by0xNysxMDoxNSZvfXJldHVybiBufWZ1bmN0aW9uIGwodCxlLHIsbil7Zm9yKHZhciBhPTAsaT1NYXRoLm1pbih0Lmxlbmd0aCxyKSxvPWU7bzxpO28rKyl7dmFyIHM9dC5jaGFyQ29kZUF0KG8pLTQ4O2EqPW4sYSs9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIGF9aS5pc0JOPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgaXx8bnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PWkud29yZFNpemUmJkFycmF5LmlzQXJyYXkodC53b3Jkcyl9LGkubWF4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPjA/dDplfSxpLm1pbj1mdW5jdGlvbih0LGUpe3JldHVybiB0LmNtcChlKTwwP3Q6ZX0saS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdGhpcy5faW5pdE51bWJlcih0LGUscik7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0QXJyYXkodCxlLHIpOyJoZXgiPT09ZSYmKGU9MTYpLG4oZT09PSgwfGUpJiZlPj0yJiZlPD0zNik7dmFyIGE9MDsiLSI9PT0odD10LnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmYSsrLDE2PT09ZT90aGlzLl9wYXJzZUhleCh0LGEpOnRoaXMuX3BhcnNlQmFzZSh0LGUsYSksIi0iPT09dFswXSYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKX0saS5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24odCxlLHIpe3Q8MCYmKHRoaXMubmVnYXRpdmU9MSx0PS10KSx0PDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZ0XSx0aGlzLmxlbmd0aD0xKTp0PDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KG4odDw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZ0LHQvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpfSxpLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKHQsZSxyKXtpZihuKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpLHQubGVuZ3RoPD0wKXJldHVybiB0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xLHRoaXM7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKHQubGVuZ3RoLzMpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGE9MDthPHRoaXMubGVuZ3RoO2ErKyl0aGlzLndvcmRzW2FdPTA7dmFyIGksbyxzPTA7aWYoImJlIj09PXIpZm9yKGE9dC5sZW5ndGgtMSxpPTA7YT49MDthLT0zKW89dFthXXx0W2EtMV08PDh8dFthLTJdPDwxNix0aGlzLndvcmRzW2ldfD1vPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbaSsxXT1vPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LGkrKyk7ZWxzZSBpZigibGUiPT09cilmb3IoYT0wLGk9MDthPHQubGVuZ3RoO2ErPTMpbz10W2FdfHRbYSsxXTw8OHx0W2ErMl08PDE2LHRoaXMud29yZHNbaV18PW88PHMmNjcxMDg4NjMsdGhpcy53b3Jkc1tpKzFdPW8+Pj4yNi1zJjY3MTA4ODYzLChzKz0yNCk+PTI2JiYocy09MjYsaSsrKTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24odCxlKXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKHQubGVuZ3RoLWUpLzYpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPTA7dmFyIG4sYSxpPTA7Zm9yKHI9dC5sZW5ndGgtNixuPTA7cj49ZTtyLT02KWE9cyh0LHIscis2KSx0aGlzLndvcmRzW25dfD1hPDxpJjY3MTA4ODYzLHRoaXMud29yZHNbbisxXXw9YT4+PjI2LWkmNDE5NDMwMywoaSs9MjQpPj0yNiYmKGktPTI2LG4rKyk7cis2IT09ZSYmKGE9cyh0LGUscis2KSx0aGlzLndvcmRzW25dfD1hPDxpJjY3MTA4ODYzLHRoaXMud29yZHNbbisxXXw9YT4+PjI2LWkmNDE5NDMwMyksdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xO2Zvcih2YXIgbj0wLGE9MTthPD02NzEwODg2MzthKj1lKW4rKztuLS0sYT1hL2V8MDtmb3IodmFyIGk9dC5sZW5ndGgtcixvPWklbixzPU1hdGgubWluKGksaS1vKStyLGM9MCx1PXI7dTxzO3UrPW4pYz1sKHQsdSx1K24sZSksdGhpcy5pbXVsbihhKSx0aGlzLndvcmRzWzBdK2M8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Yzp0aGlzLl9pYWRkbihjKTtpZigwIT09byl7dmFyIGg9MTtmb3IoYz1sKHQsdSx0Lmxlbmd0aCxlKSx1PTA7dTxvO3UrKyloKj1lO3RoaXMuaW11bG4oaCksdGhpcy53b3Jkc1swXStjPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWM6dGhpcy5faWFkZG4oYyl9fSxpLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl0LndvcmRzW2VdPXRoaXMud29yZHNbZV07dC5sZW5ndGg9dGhpcy5sZW5ndGgsdC5uZWdhdGl2ZT10aGlzLm5lZ2F0aXZlLHQucmVkPXRoaXMucmVkfSxpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBpKG51bGwpO3JldHVybiB0aGlzLmNvcHkodCksdH0saS5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQ7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtyZXR1cm4gdGhpc30saS5wcm90b3R5cGUuc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfSxpLnByb3RvdHlwZS5fbm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30saS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6ICI6IjxCTjogIikrdGhpcy50b1N0cmluZygxNikrIj4ifTt2YXIgYz1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXSx1PVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDVdLGg9WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2MDQ2NjE3Nl07ZnVuY3Rpb24gZih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7dmFyIG49dC5sZW5ndGgrZS5sZW5ndGh8MDtyLmxlbmd0aD1uLG49bi0xfDA7dmFyIGE9MHx0LndvcmRzWzBdLGk9MHxlLndvcmRzWzBdLG89YSppLHM9NjcxMDg4NjMmbyxsPW8vNjcxMDg4NjR8MDtyLndvcmRzWzBdPXM7Zm9yKHZhciBjPTE7YzxuO2MrKyl7Zm9yKHZhciB1PWw+Pj4yNixoPTY3MTA4ODYzJmwsZj1NYXRoLm1pbihjLGUubGVuZ3RoLTEpLHA9TWF0aC5tYXgoMCxjLXQubGVuZ3RoKzEpO3A8PWY7cCsrKXt2YXIgZD1jLXB8MDt1Kz0obz0oYT0wfHQud29yZHNbZF0pKihpPTB8ZS53b3Jkc1twXSkraCkvNjcxMDg4NjR8MCxoPTY3MTA4ODYzJm99ci53b3Jkc1tjXT0wfGgsbD0wfHV9cmV0dXJuIDAhPT1sP3Iud29yZHNbY109MHxsOnIubGVuZ3RoLS0sci5zdHJpcCgpfWkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI7aWYoZT0wfGV8fDEsMTY9PT0odD10fHwxMCl8fCJoZXgiPT09dCl7cj0iIjtmb3IodmFyIGE9MCxpPTAsbz0wO288dGhpcy5sZW5ndGg7bysrKXt2YXIgcz10aGlzLndvcmRzW29dLGw9KDE2Nzc3MjE1JihzPDxhfGkpKS50b1N0cmluZygxNik7cj0wIT09KGk9cz4+PjI0LWEmMTY3NzcyMTUpfHxvIT09dGhpcy5sZW5ndGgtMT9jWzYtbC5sZW5ndGhdK2wrcjpsK3IsKGErPTIpPj0yNiYmKGEtPTI2LG8tLSl9Zm9yKDAhPT1pJiYocj1pLnRvU3RyaW5nKDE2KStyKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9aWYodD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNil7dmFyIGY9dVt0XSxwPWhbdF07cj0iIjt2YXIgZD10aGlzLmNsb25lKCk7Zm9yKGQubmVnYXRpdmU9MDshZC5pc1plcm8oKTspe3ZhciBnPWQubW9kbihwKS50b1N0cmluZyh0KTtyPShkPWQuaWRpdm4ocCkpLmlzWmVybygpP2crcjpjW2YtZy5sZW5ndGhdK2crcn1mb3IodGhpcy5pc1plcm8oKSYmKHI9IjAiK3IpO3IubGVuZ3RoJWUhPTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1uKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LGkucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP3QrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT90Kz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmbighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LXQ6dH0saS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxpLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbih0LGUpe3JldHVybiBuKCJ1bmRlZmluZWQiIT10eXBlb2YgbyksdGhpcy50b0FycmF5TGlrZShvLHQsZSl9LGkucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSx0LGUpfSxpLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5ieXRlTGVuZ3RoKCksaT1yfHxNYXRoLm1heCgxLGEpO24oYTw9aSwiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLG4oaT4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIG8scyxsPSJsZSI9PT1lLGM9bmV3IHQoaSksdT10aGlzLmNsb25lKCk7aWYobCl7Zm9yKHM9MDshdS5pc1plcm8oKTtzKyspbz11LmFuZGxuKDI1NSksdS5pdXNocm4oOCksY1tzXT1vO2Zvcig7czxpO3MrKyljW3NdPTB9ZWxzZXtmb3Iocz0wO3M8aS1hO3MrKyljW3NdPTA7Zm9yKHM9MDshdS5pc1plcm8oKTtzKyspbz11LmFuZGxuKDI1NSksdS5pdXNocm4oOCksY1tpLXMtMV09b31yZXR1cm4gY30sTWF0aC5jbHozMj9pLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3JldHVybiAzMi1NYXRoLmNsejMyKHQpfTppLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj0wO3JldHVybiBlPj00MDk2JiYocis9MTMsZT4+Pj0xMyksZT49NjQmJihyKz03LGU+Pj49NyksZT49OCYmKHIrPTQsZT4+Pj00KSxlPj0yJiYocis9MixlPj4+PTIpLHIrZX0saS5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKHQpe2lmKDA9PT10KXJldHVybiAyNjt2YXIgZT10LHI9MDtyZXR1cm4gMD09KDgxOTEmZSkmJihyKz0xMyxlPj4+PTEzKSwwPT0oMTI3JmUpJiYocis9NyxlPj4+PTcpLDA9PSgxNSZlKSYmKHIrPTQsZT4+Pj00KSwwPT0oMyZlKSYmKHIrPTIsZT4+Pj0yKSwwPT0oMSZlKSYmcisrLHJ9LGkucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sZT10aGlzLl9jb3VudEJpdHModCk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStlfSxpLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2VdKTtpZih0Kz1yLDI2IT09cilicmVha31yZXR1cm4gdH0saS5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0saS5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKHQpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0saS5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGVzdG4odC0xKT90aGlzLm5vdG4odCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0saS5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LGkucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxpLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxpLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLndvcmRzW2VdPXRoaXMud29yZHNbZV18dC53b3Jkc1tlXTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVvcih0KX0saS5wcm90b3R5cGUub3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3IodCk6dC5jbG9uZSgpLmlvcih0aGlzKX0saS5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcih0KTp0LmNsb25lKCkuaXVvcih0aGlzKX0saS5wcm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLmxlbmd0aD50Lmxlbmd0aD90OnRoaXM7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT10aGlzLndvcmRzW3JdJnQud29yZHNbcl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0saS5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0saS5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0saS5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0saS5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnN0cmlwKCl9LGkucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IodCl9LGkucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IodCk6dC5jbG9uZSgpLml4b3IodGhpcyl9LGkucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcih0KTp0LmNsb25lKCkuaXV4b3IodGhpcyl9LGkucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT0wfE1hdGguY2VpbCh0LzI2KSxyPXQlMjY7dGhpcy5fZXhwYW5kKGUpLHI+MCYmZS0tO2Zvcih2YXIgYT0wO2E8ZTthKyspdGhpcy53b3Jkc1thXT02NzEwODg2MyZ+dGhpcy53b3Jkc1thXTtyZXR1cm4gcj4wJiYodGhpcy53b3Jkc1thXT1+dGhpcy53b3Jkc1thXSY2NzEwODg2Mz4+MjYtciksdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4odCl9LGkucHJvdG90eXBlLnNldG49ZnVuY3Rpb24odCxlKXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIHI9dC8yNnwwLGE9dCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXT1lP3RoaXMud29yZHNbcl18MTw8YTp0aGlzLndvcmRzW3JdJn4oMTw8YSksdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGE9MCxpPTA7aTxuLmxlbmd0aDtpKyspZT0oMHxyLndvcmRzW2ldKSsoMHxuLndvcmRzW2ldKSthLHRoaXMud29yZHNbaV09NjcxMDg4NjMmZSxhPWU+Pj4yNjtmb3IoOzAhPT1hJiZpPHIubGVuZ3RoO2krKyllPSgwfHIud29yZHNbaV0pK2EsdGhpcy53b3Jkc1tpXT02NzEwODg2MyZlLGE9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1hKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWEsdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7aTxyLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT1yLndvcmRzW2ldO3JldHVybiB0aGlzfSxpLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0saS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixhPXRoaXMuY21wKHQpO2lmKDA9PT1hKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpczthPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspaT0oZT0oMHxyLndvcmRzW29dKS0oMHxuLndvcmRzW29dKStpKT4+MjYsdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlO2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKWk9KGU9KDB8ci53b3Jkc1tvXSkraSk+PjI2LHRoaXMud29yZHNbb109NjcxMDg4NjMmZTtpZigwPT09aSYmbzxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLG8pLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LGkucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIodCl9O3ZhciBwPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGksbz10LndvcmRzLHM9ZS53b3JkcyxsPXIud29yZHMsYz0wLHU9MHxvWzBdLGg9ODE5MSZ1LGY9dT4+PjEzLHA9MHxvWzFdLGQ9ODE5MSZwLGc9cD4+PjEzLHY9MHxvWzJdLG09ODE5MSZ2LHk9dj4+PjEzLHg9MHxvWzNdLGI9ODE5MSZ4LF89eD4+PjEzLHc9MHxvWzRdLGs9ODE5MSZ3LFQ9dz4+PjEzLE09MHxvWzVdLEE9ODE5MSZNLFM9TT4+PjEzLEU9MHxvWzZdLEw9ODE5MSZFLEM9RT4+PjEzLFA9MHxvWzddLE89ODE5MSZQLHo9UD4+PjEzLEk9MHxvWzhdLEQ9ODE5MSZJLFI9ST4+PjEzLEY9MHxvWzldLEI9ODE5MSZGLE49Rj4+PjEzLGo9MHxzWzBdLFY9ODE5MSZqLFU9aj4+PjEzLHE9MHxzWzFdLEg9ODE5MSZxLEc9cT4+PjEzLFk9MHxzWzJdLFc9ODE5MSZZLFg9WT4+PjEzLFo9MHxzWzNdLEo9ODE5MSZaLEs9Wj4+PjEzLFE9MHxzWzRdLCQ9ODE5MSZRLHR0PVE+Pj4xMyxldD0wfHNbNV0scnQ9ODE5MSZldCxudD1ldD4+PjEzLGF0PTB8c1s2XSxpdD04MTkxJmF0LG90PWF0Pj4+MTMsc3Q9MHxzWzddLGx0PTgxOTEmc3QsY3Q9c3Q+Pj4xMyx1dD0wfHNbOF0saHQ9ODE5MSZ1dCxmdD11dD4+PjEzLHB0PTB8c1s5XSxkdD04MTkxJnB0LGd0PXB0Pj4+MTM7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIHZ0PShjKyhuPU1hdGguaW11bChoLFYpKXwwKSsoKDgxOTEmKGE9KGE9TWF0aC5pbXVsKGgsVSkpK01hdGguaW11bChmLFYpfDApKTw8MTMpfDA7Yz0oKGk9TWF0aC5pbXVsKGYsVSkpKyhhPj4+MTMpfDApKyh2dD4+PjI2KXwwLHZ0Jj02NzEwODg2MyxuPU1hdGguaW11bChkLFYpLGE9KGE9TWF0aC5pbXVsKGQsVSkpK01hdGguaW11bChnLFYpfDAsaT1NYXRoLmltdWwoZyxVKTt2YXIgbXQ9KGMrKG49bitNYXRoLmltdWwoaCxIKXwwKXwwKSsoKDgxOTEmKGE9KGE9YStNYXRoLmltdWwoaCxHKXwwKStNYXRoLmltdWwoZixIKXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsRyl8MCkrKGE+Pj4xMyl8MCkrKG10Pj4+MjYpfDAsbXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKG0sViksYT0oYT1NYXRoLmltdWwobSxVKSkrTWF0aC5pbXVsKHksVil8MCxpPU1hdGguaW11bCh5LFUpLG49bitNYXRoLmltdWwoZCxIKXwwLGE9KGE9YStNYXRoLmltdWwoZCxHKXwwKStNYXRoLmltdWwoZyxIKXwwLGk9aStNYXRoLmltdWwoZyxHKXwwO3ZhciB5dD0oYysobj1uK01hdGguaW11bChoLFcpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChoLFgpfDApK01hdGguaW11bChmLFcpfDApKTw8MTMpfDA7Yz0oKGk9aStNYXRoLmltdWwoZixYKXwwKSsoYT4+PjEzKXwwKSsoeXQ+Pj4yNil8MCx5dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoYixWKSxhPShhPU1hdGguaW11bChiLFUpKStNYXRoLmltdWwoXyxWKXwwLGk9TWF0aC5pbXVsKF8sVSksbj1uK01hdGguaW11bChtLEgpfDAsYT0oYT1hK01hdGguaW11bChtLEcpfDApK01hdGguaW11bCh5LEgpfDAsaT1pK01hdGguaW11bCh5LEcpfDAsbj1uK01hdGguaW11bChkLFcpfDAsYT0oYT1hK01hdGguaW11bChkLFgpfDApK01hdGguaW11bChnLFcpfDAsaT1pK01hdGguaW11bChnLFgpfDA7dmFyIHh0PShjKyhuPW4rTWF0aC5pbXVsKGgsSil8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsSyl8MCkrTWF0aC5pbXVsKGYsSil8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChmLEspfDApKyhhPj4+MTMpfDApKyh4dD4+PjI2KXwwLHh0Jj02NzEwODg2MyxuPU1hdGguaW11bChrLFYpLGE9KGE9TWF0aC5pbXVsKGssVSkpK01hdGguaW11bChULFYpfDAsaT1NYXRoLmltdWwoVCxVKSxuPW4rTWF0aC5pbXVsKGIsSCl8MCxhPShhPWErTWF0aC5pbXVsKGIsRyl8MCkrTWF0aC5pbXVsKF8sSCl8MCxpPWkrTWF0aC5pbXVsKF8sRyl8MCxuPW4rTWF0aC5pbXVsKG0sVyl8MCxhPShhPWErTWF0aC5pbXVsKG0sWCl8MCkrTWF0aC5pbXVsKHksVyl8MCxpPWkrTWF0aC5pbXVsKHksWCl8MCxuPW4rTWF0aC5pbXVsKGQsSil8MCxhPShhPWErTWF0aC5pbXVsKGQsSyl8MCkrTWF0aC5pbXVsKGcsSil8MCxpPWkrTWF0aC5pbXVsKGcsSyl8MDt2YXIgYnQ9KGMrKG49bitNYXRoLmltdWwoaCwkKXwwKXwwKSsoKDgxOTEmKGE9KGE9YStNYXRoLmltdWwoaCx0dCl8MCkrTWF0aC5pbXVsKGYsJCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChmLHR0KXwwKSsoYT4+PjEzKXwwKSsoYnQ+Pj4yNil8MCxidCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQSxWKSxhPShhPU1hdGguaW11bChBLFUpKStNYXRoLmltdWwoUyxWKXwwLGk9TWF0aC5pbXVsKFMsVSksbj1uK01hdGguaW11bChrLEgpfDAsYT0oYT1hK01hdGguaW11bChrLEcpfDApK01hdGguaW11bChULEgpfDAsaT1pK01hdGguaW11bChULEcpfDAsbj1uK01hdGguaW11bChiLFcpfDAsYT0oYT1hK01hdGguaW11bChiLFgpfDApK01hdGguaW11bChfLFcpfDAsaT1pK01hdGguaW11bChfLFgpfDAsbj1uK01hdGguaW11bChtLEopfDAsYT0oYT1hK01hdGguaW11bChtLEspfDApK01hdGguaW11bCh5LEopfDAsaT1pK01hdGguaW11bCh5LEspfDAsbj1uK01hdGguaW11bChkLCQpfDAsYT0oYT1hK01hdGguaW11bChkLHR0KXwwKStNYXRoLmltdWwoZywkKXwwLGk9aStNYXRoLmltdWwoZyx0dCl8MDt2YXIgX3Q9KGMrKG49bitNYXRoLmltdWwoaCxydCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsbnQpfDApK01hdGguaW11bChmLHJ0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsbnQpfDApKyhhPj4+MTMpfDApKyhfdD4+PjI2KXwwLF90Jj02NzEwODg2MyxuPU1hdGguaW11bChMLFYpLGE9KGE9TWF0aC5pbXVsKEwsVSkpK01hdGguaW11bChDLFYpfDAsaT1NYXRoLmltdWwoQyxVKSxuPW4rTWF0aC5pbXVsKEEsSCl8MCxhPShhPWErTWF0aC5pbXVsKEEsRyl8MCkrTWF0aC5pbXVsKFMsSCl8MCxpPWkrTWF0aC5pbXVsKFMsRyl8MCxuPW4rTWF0aC5pbXVsKGssVyl8MCxhPShhPWErTWF0aC5pbXVsKGssWCl8MCkrTWF0aC5pbXVsKFQsVyl8MCxpPWkrTWF0aC5pbXVsKFQsWCl8MCxuPW4rTWF0aC5pbXVsKGIsSil8MCxhPShhPWErTWF0aC5pbXVsKGIsSyl8MCkrTWF0aC5pbXVsKF8sSil8MCxpPWkrTWF0aC5pbXVsKF8sSyl8MCxuPW4rTWF0aC5pbXVsKG0sJCl8MCxhPShhPWErTWF0aC5pbXVsKG0sdHQpfDApK01hdGguaW11bCh5LCQpfDAsaT1pK01hdGguaW11bCh5LHR0KXwwLG49bitNYXRoLmltdWwoZCxydCl8MCxhPShhPWErTWF0aC5pbXVsKGQsbnQpfDApK01hdGguaW11bChnLHJ0KXwwLGk9aStNYXRoLmltdWwoZyxudCl8MDt2YXIgd3Q9KGMrKG49bitNYXRoLmltdWwoaCxpdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsb3QpfDApK01hdGguaW11bChmLGl0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsb3QpfDApKyhhPj4+MTMpfDApKyh3dD4+PjI2KXwwLHd0Jj02NzEwODg2MyxuPU1hdGguaW11bChPLFYpLGE9KGE9TWF0aC5pbXVsKE8sVSkpK01hdGguaW11bCh6LFYpfDAsaT1NYXRoLmltdWwoeixVKSxuPW4rTWF0aC5pbXVsKEwsSCl8MCxhPShhPWErTWF0aC5pbXVsKEwsRyl8MCkrTWF0aC5pbXVsKEMsSCl8MCxpPWkrTWF0aC5pbXVsKEMsRyl8MCxuPW4rTWF0aC5pbXVsKEEsVyl8MCxhPShhPWErTWF0aC5pbXVsKEEsWCl8MCkrTWF0aC5pbXVsKFMsVyl8MCxpPWkrTWF0aC5pbXVsKFMsWCl8MCxuPW4rTWF0aC5pbXVsKGssSil8MCxhPShhPWErTWF0aC5pbXVsKGssSyl8MCkrTWF0aC5pbXVsKFQsSil8MCxpPWkrTWF0aC5pbXVsKFQsSyl8MCxuPW4rTWF0aC5pbXVsKGIsJCl8MCxhPShhPWErTWF0aC5pbXVsKGIsdHQpfDApK01hdGguaW11bChfLCQpfDAsaT1pK01hdGguaW11bChfLHR0KXwwLG49bitNYXRoLmltdWwobSxydCl8MCxhPShhPWErTWF0aC5pbXVsKG0sbnQpfDApK01hdGguaW11bCh5LHJ0KXwwLGk9aStNYXRoLmltdWwoeSxudCl8MCxuPW4rTWF0aC5pbXVsKGQsaXQpfDAsYT0oYT1hK01hdGguaW11bChkLG90KXwwKStNYXRoLmltdWwoZyxpdCl8MCxpPWkrTWF0aC5pbXVsKGcsb3QpfDA7dmFyIGt0PShjKyhuPW4rTWF0aC5pbXVsKGgsbHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChoLGN0KXwwKStNYXRoLmltdWwoZixsdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChmLGN0KXwwKSsoYT4+PjEzKXwwKSsoa3Q+Pj4yNil8MCxrdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRCxWKSxhPShhPU1hdGguaW11bChELFUpKStNYXRoLmltdWwoUixWKXwwLGk9TWF0aC5pbXVsKFIsVSksbj1uK01hdGguaW11bChPLEgpfDAsYT0oYT1hK01hdGguaW11bChPLEcpfDApK01hdGguaW11bCh6LEgpfDAsaT1pK01hdGguaW11bCh6LEcpfDAsbj1uK01hdGguaW11bChMLFcpfDAsYT0oYT1hK01hdGguaW11bChMLFgpfDApK01hdGguaW11bChDLFcpfDAsaT1pK01hdGguaW11bChDLFgpfDAsbj1uK01hdGguaW11bChBLEopfDAsYT0oYT1hK01hdGguaW11bChBLEspfDApK01hdGguaW11bChTLEopfDAsaT1pK01hdGguaW11bChTLEspfDAsbj1uK01hdGguaW11bChrLCQpfDAsYT0oYT1hK01hdGguaW11bChrLHR0KXwwKStNYXRoLmltdWwoVCwkKXwwLGk9aStNYXRoLmltdWwoVCx0dCl8MCxuPW4rTWF0aC5pbXVsKGIscnQpfDAsYT0oYT1hK01hdGguaW11bChiLG50KXwwKStNYXRoLmltdWwoXyxydCl8MCxpPWkrTWF0aC5pbXVsKF8sbnQpfDAsbj1uK01hdGguaW11bChtLGl0KXwwLGE9KGE9YStNYXRoLmltdWwobSxvdCl8MCkrTWF0aC5pbXVsKHksaXQpfDAsaT1pK01hdGguaW11bCh5LG90KXwwLG49bitNYXRoLmltdWwoZCxsdCl8MCxhPShhPWErTWF0aC5pbXVsKGQsY3QpfDApK01hdGguaW11bChnLGx0KXwwLGk9aStNYXRoLmltdWwoZyxjdCl8MDt2YXIgVHQ9KGMrKG49bitNYXRoLmltdWwoaCxodCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsZnQpfDApK01hdGguaW11bChmLGh0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsZnQpfDApKyhhPj4+MTMpfDApKyhUdD4+PjI2KXwwLFR0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLFYpLGE9KGE9TWF0aC5pbXVsKEIsVSkpK01hdGguaW11bChOLFYpfDAsaT1NYXRoLmltdWwoTixVKSxuPW4rTWF0aC5pbXVsKEQsSCl8MCxhPShhPWErTWF0aC5pbXVsKEQsRyl8MCkrTWF0aC5pbXVsKFIsSCl8MCxpPWkrTWF0aC5pbXVsKFIsRyl8MCxuPW4rTWF0aC5pbXVsKE8sVyl8MCxhPShhPWErTWF0aC5pbXVsKE8sWCl8MCkrTWF0aC5pbXVsKHosVyl8MCxpPWkrTWF0aC5pbXVsKHosWCl8MCxuPW4rTWF0aC5pbXVsKEwsSil8MCxhPShhPWErTWF0aC5pbXVsKEwsSyl8MCkrTWF0aC5pbXVsKEMsSil8MCxpPWkrTWF0aC5pbXVsKEMsSyl8MCxuPW4rTWF0aC5pbXVsKEEsJCl8MCxhPShhPWErTWF0aC5pbXVsKEEsdHQpfDApK01hdGguaW11bChTLCQpfDAsaT1pK01hdGguaW11bChTLHR0KXwwLG49bitNYXRoLmltdWwoayxydCl8MCxhPShhPWErTWF0aC5pbXVsKGssbnQpfDApK01hdGguaW11bChULHJ0KXwwLGk9aStNYXRoLmltdWwoVCxudCl8MCxuPW4rTWF0aC5pbXVsKGIsaXQpfDAsYT0oYT1hK01hdGguaW11bChiLG90KXwwKStNYXRoLmltdWwoXyxpdCl8MCxpPWkrTWF0aC5pbXVsKF8sb3QpfDAsbj1uK01hdGguaW11bChtLGx0KXwwLGE9KGE9YStNYXRoLmltdWwobSxjdCl8MCkrTWF0aC5pbXVsKHksbHQpfDAsaT1pK01hdGguaW11bCh5LGN0KXwwLG49bitNYXRoLmltdWwoZCxodCl8MCxhPShhPWErTWF0aC5pbXVsKGQsZnQpfDApK01hdGguaW11bChnLGh0KXwwLGk9aStNYXRoLmltdWwoZyxmdCl8MDt2YXIgTXQ9KGMrKG49bitNYXRoLmltdWwoaCxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsZ3QpfDApK01hdGguaW11bChmLGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsZ3QpfDApKyhhPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxuPU1hdGguaW11bChCLEgpLGE9KGE9TWF0aC5pbXVsKEIsRykpK01hdGguaW11bChOLEgpfDAsaT1NYXRoLmltdWwoTixHKSxuPW4rTWF0aC5pbXVsKEQsVyl8MCxhPShhPWErTWF0aC5pbXVsKEQsWCl8MCkrTWF0aC5pbXVsKFIsVyl8MCxpPWkrTWF0aC5pbXVsKFIsWCl8MCxuPW4rTWF0aC5pbXVsKE8sSil8MCxhPShhPWErTWF0aC5pbXVsKE8sSyl8MCkrTWF0aC5pbXVsKHosSil8MCxpPWkrTWF0aC5pbXVsKHosSyl8MCxuPW4rTWF0aC5pbXVsKEwsJCl8MCxhPShhPWErTWF0aC5pbXVsKEwsdHQpfDApK01hdGguaW11bChDLCQpfDAsaT1pK01hdGguaW11bChDLHR0KXwwLG49bitNYXRoLmltdWwoQSxydCl8MCxhPShhPWErTWF0aC5pbXVsKEEsbnQpfDApK01hdGguaW11bChTLHJ0KXwwLGk9aStNYXRoLmltdWwoUyxudCl8MCxuPW4rTWF0aC5pbXVsKGssaXQpfDAsYT0oYT1hK01hdGguaW11bChrLG90KXwwKStNYXRoLmltdWwoVCxpdCl8MCxpPWkrTWF0aC5pbXVsKFQsb3QpfDAsbj1uK01hdGguaW11bChiLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoYixjdCl8MCkrTWF0aC5pbXVsKF8sbHQpfDAsaT1pK01hdGguaW11bChfLGN0KXwwLG49bitNYXRoLmltdWwobSxodCl8MCxhPShhPWErTWF0aC5pbXVsKG0sZnQpfDApK01hdGguaW11bCh5LGh0KXwwLGk9aStNYXRoLmltdWwoeSxmdCl8MDt2YXIgQXQ9KGMrKG49bitNYXRoLmltdWwoZCxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGQsZ3QpfDApK01hdGguaW11bChnLGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGcsZ3QpfDApKyhhPj4+MTMpfDApKyhBdD4+PjI2KXwwLEF0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLFcpLGE9KGE9TWF0aC5pbXVsKEIsWCkpK01hdGguaW11bChOLFcpfDAsaT1NYXRoLmltdWwoTixYKSxuPW4rTWF0aC5pbXVsKEQsSil8MCxhPShhPWErTWF0aC5pbXVsKEQsSyl8MCkrTWF0aC5pbXVsKFIsSil8MCxpPWkrTWF0aC5pbXVsKFIsSyl8MCxuPW4rTWF0aC5pbXVsKE8sJCl8MCxhPShhPWErTWF0aC5pbXVsKE8sdHQpfDApK01hdGguaW11bCh6LCQpfDAsaT1pK01hdGguaW11bCh6LHR0KXwwLG49bitNYXRoLmltdWwoTCxydCl8MCxhPShhPWErTWF0aC5pbXVsKEwsbnQpfDApK01hdGguaW11bChDLHJ0KXwwLGk9aStNYXRoLmltdWwoQyxudCl8MCxuPW4rTWF0aC5pbXVsKEEsaXQpfDAsYT0oYT1hK01hdGguaW11bChBLG90KXwwKStNYXRoLmltdWwoUyxpdCl8MCxpPWkrTWF0aC5pbXVsKFMsb3QpfDAsbj1uK01hdGguaW11bChrLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoayxjdCl8MCkrTWF0aC5pbXVsKFQsbHQpfDAsaT1pK01hdGguaW11bChULGN0KXwwLG49bitNYXRoLmltdWwoYixodCl8MCxhPShhPWErTWF0aC5pbXVsKGIsZnQpfDApK01hdGguaW11bChfLGh0KXwwLGk9aStNYXRoLmltdWwoXyxmdCl8MDt2YXIgU3Q9KGMrKG49bitNYXRoLmltdWwobSxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKG0sZ3QpfDApK01hdGguaW11bCh5LGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKHksZ3QpfDApKyhhPj4+MTMpfDApKyhTdD4+PjI2KXwwLFN0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLEopLGE9KGE9TWF0aC5pbXVsKEIsSykpK01hdGguaW11bChOLEopfDAsaT1NYXRoLmltdWwoTixLKSxuPW4rTWF0aC5pbXVsKEQsJCl8MCxhPShhPWErTWF0aC5pbXVsKEQsdHQpfDApK01hdGguaW11bChSLCQpfDAsaT1pK01hdGguaW11bChSLHR0KXwwLG49bitNYXRoLmltdWwoTyxydCl8MCxhPShhPWErTWF0aC5pbXVsKE8sbnQpfDApK01hdGguaW11bCh6LHJ0KXwwLGk9aStNYXRoLmltdWwoeixudCl8MCxuPW4rTWF0aC5pbXVsKEwsaXQpfDAsYT0oYT1hK01hdGguaW11bChMLG90KXwwKStNYXRoLmltdWwoQyxpdCl8MCxpPWkrTWF0aC5pbXVsKEMsb3QpfDAsbj1uK01hdGguaW11bChBLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoQSxjdCl8MCkrTWF0aC5pbXVsKFMsbHQpfDAsaT1pK01hdGguaW11bChTLGN0KXwwLG49bitNYXRoLmltdWwoayxodCl8MCxhPShhPWErTWF0aC5pbXVsKGssZnQpfDApK01hdGguaW11bChULGh0KXwwLGk9aStNYXRoLmltdWwoVCxmdCl8MDt2YXIgRXQ9KGMrKG49bitNYXRoLmltdWwoYixkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGIsZ3QpfDApK01hdGguaW11bChfLGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKF8sZ3QpfDApKyhhPj4+MTMpfDApKyhFdD4+PjI2KXwwLEV0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLCQpLGE9KGE9TWF0aC5pbXVsKEIsdHQpKStNYXRoLmltdWwoTiwkKXwwLGk9TWF0aC5pbXVsKE4sdHQpLG49bitNYXRoLmltdWwoRCxydCl8MCxhPShhPWErTWF0aC5pbXVsKEQsbnQpfDApK01hdGguaW11bChSLHJ0KXwwLGk9aStNYXRoLmltdWwoUixudCl8MCxuPW4rTWF0aC5pbXVsKE8saXQpfDAsYT0oYT1hK01hdGguaW11bChPLG90KXwwKStNYXRoLmltdWwoeixpdCl8MCxpPWkrTWF0aC5pbXVsKHosb3QpfDAsbj1uK01hdGguaW11bChMLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoTCxjdCl8MCkrTWF0aC5pbXVsKEMsbHQpfDAsaT1pK01hdGguaW11bChDLGN0KXwwLG49bitNYXRoLmltdWwoQSxodCl8MCxhPShhPWErTWF0aC5pbXVsKEEsZnQpfDApK01hdGguaW11bChTLGh0KXwwLGk9aStNYXRoLmltdWwoUyxmdCl8MDt2YXIgTHQ9KGMrKG49bitNYXRoLmltdWwoayxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGssZ3QpfDApK01hdGguaW11bChULGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKFQsZ3QpfDApKyhhPj4+MTMpfDApKyhMdD4+PjI2KXwwLEx0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLHJ0KSxhPShhPU1hdGguaW11bChCLG50KSkrTWF0aC5pbXVsKE4scnQpfDAsaT1NYXRoLmltdWwoTixudCksbj1uK01hdGguaW11bChELGl0KXwwLGE9KGE9YStNYXRoLmltdWwoRCxvdCl8MCkrTWF0aC5pbXVsKFIsaXQpfDAsaT1pK01hdGguaW11bChSLG90KXwwLG49bitNYXRoLmltdWwoTyxsdCl8MCxhPShhPWErTWF0aC5pbXVsKE8sY3QpfDApK01hdGguaW11bCh6LGx0KXwwLGk9aStNYXRoLmltdWwoeixjdCl8MCxuPW4rTWF0aC5pbXVsKEwsaHQpfDAsYT0oYT1hK01hdGguaW11bChMLGZ0KXwwKStNYXRoLmltdWwoQyxodCl8MCxpPWkrTWF0aC5pbXVsKEMsZnQpfDA7dmFyIEN0PShjKyhuPW4rTWF0aC5pbXVsKEEsZHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChBLGd0KXwwKStNYXRoLmltdWwoUyxkdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChTLGd0KXwwKSsoYT4+PjEzKXwwKSsoQ3Q+Pj4yNil8MCxDdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQixpdCksYT0oYT1NYXRoLmltdWwoQixvdCkpK01hdGguaW11bChOLGl0KXwwLGk9TWF0aC5pbXVsKE4sb3QpLG49bitNYXRoLmltdWwoRCxsdCl8MCxhPShhPWErTWF0aC5pbXVsKEQsY3QpfDApK01hdGguaW11bChSLGx0KXwwLGk9aStNYXRoLmltdWwoUixjdCl8MCxuPW4rTWF0aC5pbXVsKE8saHQpfDAsYT0oYT1hK01hdGguaW11bChPLGZ0KXwwKStNYXRoLmltdWwoeixodCl8MCxpPWkrTWF0aC5pbXVsKHosZnQpfDA7dmFyIFB0PShjKyhuPW4rTWF0aC5pbXVsKEwsZHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChMLGd0KXwwKStNYXRoLmltdWwoQyxkdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChDLGd0KXwwKSsoYT4+PjEzKXwwKSsoUHQ+Pj4yNil8MCxQdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQixsdCksYT0oYT1NYXRoLmltdWwoQixjdCkpK01hdGguaW11bChOLGx0KXwwLGk9TWF0aC5pbXVsKE4sY3QpLG49bitNYXRoLmltdWwoRCxodCl8MCxhPShhPWErTWF0aC5pbXVsKEQsZnQpfDApK01hdGguaW11bChSLGh0KXwwLGk9aStNYXRoLmltdWwoUixmdCl8MDt2YXIgT3Q9KGMrKG49bitNYXRoLmltdWwoTyxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKE8sZ3QpfDApK01hdGguaW11bCh6LGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKHosZ3QpfDApKyhhPj4+MTMpfDApKyhPdD4+PjI2KXwwLE90Jj02NzEwODg2MyxuPU1hdGguaW11bChCLGh0KSxhPShhPU1hdGguaW11bChCLGZ0KSkrTWF0aC5pbXVsKE4saHQpfDAsaT1NYXRoLmltdWwoTixmdCk7dmFyIHp0PShjKyhuPW4rTWF0aC5pbXVsKEQsZHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChELGd0KXwwKStNYXRoLmltdWwoUixkdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChSLGd0KXwwKSsoYT4+PjEzKXwwKSsoenQ+Pj4yNil8MCx6dCY9NjcxMDg4NjM7dmFyIEl0PShjKyhuPU1hdGguaW11bChCLGR0KSl8MCkrKCg4MTkxJihhPShhPU1hdGguaW11bChCLGd0KSkrTWF0aC5pbXVsKE4sZHQpfDApKTw8MTMpfDA7cmV0dXJuIGM9KChpPU1hdGguaW11bChOLGd0KSkrKGE+Pj4xMyl8MCkrKEl0Pj4+MjYpfDAsSXQmPTY3MTA4ODYzLGxbMF09dnQsbFsxXT1tdCxsWzJdPXl0LGxbM109eHQsbFs0XT1idCxsWzVdPV90LGxbNl09d3QsbFs3XT1rdCxsWzhdPVR0LGxbOV09TXQsbFsxMF09QXQsbFsxMV09U3QsbFsxMl09RXQsbFsxM109THQsbFsxNF09Q3QsbFsxNV09UHQsbFsxNl09T3QsbFsxN109enQsbFsxOF09SXQsMCE9PWMmJihsWzE5XT1jLHIubGVuZ3RoKyspLHJ9O2Z1bmN0aW9uIGQodCxlLHIpe3JldHVybihuZXcgZykubXVscCh0LGUscil9ZnVuY3Rpb24gZyh0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KHA9ZiksaS5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9wKHRoaXMsdCxlKTpyPDYzP2YodGhpcyx0LGUpOnI8MTAyND9mdW5jdGlvbih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGg7Zm9yKHZhciBuPTAsYT0wLGk9MDtpPHIubGVuZ3RoLTE7aSsrKXt2YXIgbz1hO2E9MDtmb3IodmFyIHM9NjcxMDg4NjMmbixsPU1hdGgubWluKGksZS5sZW5ndGgtMSksYz1NYXRoLm1heCgwLGktdC5sZW5ndGgrMSk7Yzw9bDtjKyspe3ZhciB1PWktYyxoPSgwfHQud29yZHNbdV0pKigwfGUud29yZHNbY10pLGY9NjcxMDg4NjMmaDtzPTY3MTA4ODYzJihmPWYrc3wwKSxhKz0obz0obz1vKyhoLzY3MTA4ODY0fDApfDApKyhmPj4+MjYpfDApPj4+MjYsbyY9NjcxMDg4NjN9ci53b3Jkc1tpXT1zLG49byxvPWF9cmV0dXJuIDAhPT1uP3Iud29yZHNbaV09bjpyLmxlbmd0aC0tLHIuc3RyaXAoKX0odGhpcyx0LGUpOmQodGhpcyx0LGUpfSxnLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj1pLnByb3RvdHlwZS5fY291bnRCaXRzKHQpLTEsbj0wO248dDtuKyspZVtuXT10aGlzLnJldkJpbihuLHIsdCk7cmV0dXJuIGV9LGcucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbih0LGUscil7aWYoMD09PXR8fHQ9PT1yLTEpcmV0dXJuIHQ7Zm9yKHZhciBuPTAsYT0wO2E8ZTthKyspbnw9KDEmdCk8PGUtYS0xLHQ+Pj0xO3JldHVybiBufSxnLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89MDtvPGk7bysrKW5bb109ZVt0W29dXSxhW29dPXJbdFtvXV19LGcucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5wZXJtdXRlKGksdCxlLHIsbixhKTtmb3IodmFyIG89MTtvPGE7bzw8PTEpZm9yKHZhciBzPW88PDEsbD1NYXRoLmNvcygyKk1hdGguUEkvcyksYz1NYXRoLnNpbigyKk1hdGguUEkvcyksdT0wO3U8YTt1Kz1zKWZvcih2YXIgaD1sLGY9YyxwPTA7cDxvO3ArKyl7dmFyIGQ9clt1K3BdLGc9blt1K3BdLHY9clt1K3Arb10sbT1uW3UrcCtvXSx5PWgqdi1mKm07bT1oKm0rZip2LHY9eSxyW3UrcF09ZCt2LG5bdStwXT1nK20sclt1K3Arb109ZC12LG5bdStwK29dPWctbSxwIT09cyYmKHk9bCpoLWMqZixmPWwqZitjKmgsaD15KX19LGcucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MXxNYXRoLm1heChlLHQpLG49MSZyLGE9MDtmb3Iocj1yLzJ8MDtyO3I+Pj49MSlhKys7cmV0dXJuIDE8PGErMStufSxnLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCEocjw9MSkpZm9yKHZhciBuPTA7bjxyLzI7bisrKXt2YXIgYT10W25dO3Rbbl09dFtyLW4tMV0sdFtyLW4tMV09YSxhPWVbbl0sZVtuXT0tZVtyLW4tMV0sZVtyLW4tMV09LWF9fSxnLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTA7bjxlLzI7bisrKXt2YXIgYT04MTkyKk1hdGgucm91bmQodFsyKm4rMV0vZSkrTWF0aC5yb3VuZCh0WzIqbl0vZSkrcjt0W25dPTY3MTA4ODYzJmEscj1hPDY3MTA4ODY0PzA6YS82NzEwODg2NHwwfXJldHVybiB0fSxnLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKHQsZSxyLGEpe2Zvcih2YXIgaT0wLG89MDtvPGU7bysrKWkrPTB8dFtvXSxyWzIqb109ODE5MSZpLGk+Pj49MTMsclsyKm8rMV09ODE5MSZpLGk+Pj49MTM7Zm9yKG89MiplO288YTsrK28pcltvXT0wO24oMD09PWkpLG4oMD09KC04MTkyJmkpKX0sZy5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09MDtyZXR1cm4gZX0sZy5wcm90b3R5cGUubXVscD1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0aGlzLmd1ZXNzTGVuMTNiKHQubGVuZ3RoLGUubGVuZ3RoKSxhPXRoaXMubWFrZVJCVChuKSxpPXRoaXMuc3R1YihuKSxvPW5ldyBBcnJheShuKSxzPW5ldyBBcnJheShuKSxsPW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKSx1PW5ldyBBcnJheShuKSxoPW5ldyBBcnJheShuKSxmPXIud29yZHM7Zi5sZW5ndGg9bix0aGlzLmNvbnZlcnQxM2IodC53b3Jkcyx0Lmxlbmd0aCxvLG4pLHRoaXMuY29udmVydDEzYihlLndvcmRzLGUubGVuZ3RoLGMsbiksdGhpcy50cmFuc2Zvcm0obyxpLHMsbCxuLGEpLHRoaXMudHJhbnNmb3JtKGMsaSx1LGgsbixhKTtmb3IodmFyIHA9MDtwPG47cCsrKXt2YXIgZD1zW3BdKnVbcF0tbFtwXSpoW3BdO2xbcF09c1twXSpoW3BdK2xbcF0qdVtwXSxzW3BdPWR9cmV0dXJuIHRoaXMuY29uanVnYXRlKHMsbCxuKSx0aGlzLnRyYW5zZm9ybShzLGwsZixpLG4sYSksdGhpcy5jb25qdWdhdGUoZixpLG4pLHRoaXMubm9ybWFsaXplMTNiKGYsbiksci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGgsci5zdHJpcCgpfSxpLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGkobnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSx0aGlzLm11bFRvKHQsZSl9LGkucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGkobnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSxkKHRoaXMsdCxlKX0saS5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKHQsdGhpcyl9LGkucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpO2Zvcih2YXIgZT0wLHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dmFyIGE9KDB8dGhpcy53b3Jkc1tyXSkqdCxpPSg2NzEwODg2MyZhKSsoNjcxMDg4NjMmZSk7ZT4+PTI2LGUrPWEvNjcxMDg4NjR8MCxlKz1pPj4+MjYsdGhpcy53b3Jkc1tyXT02NzEwODg2MyZpfXJldHVybiAwIT09ZSYmKHRoaXMud29yZHNbcl09ZSx0aGlzLmxlbmd0aCsrKSx0aGlzfSxpLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LGkucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0saS5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0saS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsYT1yJTI2O2Vbcl09KHQud29yZHNbbl0mMTw8YSk+Pj5hfXJldHVybiBlfSh0KTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBpKDEpO2Zvcih2YXIgcj10aGlzLG49MDtuPGUubGVuZ3RoJiYwPT09ZVtuXTtuKysscj1yLnNxcigpKTtpZigrK248ZS5sZW5ndGgpZm9yKHZhciBhPXIuc3FyKCk7bjxlLmxlbmd0aDtuKyssYT1hLnNxcigpKTAhPT1lW25dJiYocj1yLm11bChhKSk7cmV0dXJuIHJ9LGkucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGUscj10JTI2LGE9KHQtcikvMjYsaT02NzEwODg2Mz4+PjI2LXI8PDI2LXI7aWYoMCE9PXIpe3ZhciBvPTA7Zm9yKGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIHM9dGhpcy53b3Jkc1tlXSZpLGw9KDB8dGhpcy53b3Jkc1tlXSktczw8cjt0aGlzLndvcmRzW2VdPWx8byxvPXM+Pj4yNi1yfW8mJih0aGlzLndvcmRzW2VdPW8sdGhpcy5sZW5ndGgrKyl9aWYoMCE9PWEpe2ZvcihlPXRoaXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy53b3Jkc1tlK2FdPXRoaXMud29yZHNbZV07Zm9yKGU9MDtlPGE7ZSsrKXRoaXMud29yZHNbZV09MDt0aGlzLmxlbmd0aCs9YX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4odCl9LGkucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbih0LGUscil7dmFyIGE7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApLGE9ZT8oZS1lJTI2KS8yNjowO3ZhciBpPXQlMjYsbz1NYXRoLm1pbigodC1pKS8yNix0aGlzLmxlbmd0aCkscz02NzEwODg2M142NzEwODg2Mz4+Pmk8PGksbD1yO2lmKGEtPW8sYT1NYXRoLm1heCgwLGEpLGwpe2Zvcih2YXIgYz0wO2M8bztjKyspbC53b3Jkc1tjXT10aGlzLndvcmRzW2NdO2wubGVuZ3RoPW99aWYoMD09PW8pO2Vsc2UgaWYodGhpcy5sZW5ndGg+bylmb3IodGhpcy5sZW5ndGgtPW8sYz0wO2M8dGhpcy5sZW5ndGg7YysrKXRoaXMud29yZHNbY109dGhpcy53b3Jkc1tjK29dO2Vsc2UgdGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTE7dmFyIHU9MDtmb3IoYz10aGlzLmxlbmd0aC0xO2M+PTAmJigwIT09dXx8Yz49YSk7Yy0tKXt2YXIgaD0wfHRoaXMud29yZHNbY107dGhpcy53b3Jkc1tjXT11PDwyNi1pfGg+Pj5pLHU9aCZzfXJldHVybiBsJiYwIT09dSYmKGwud29yZHNbbC5sZW5ndGgrK109dSksMD09PXRoaXMubGVuZ3RoJiYodGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0saS5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LGkucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0saS5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LGkucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0saS5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LGkucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsYT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmEpfSxpLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgYT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9YX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbih0KX0saS5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MD90aGlzLmlzdWJuKC10KTowIT09dGhpcy5uZWdhdGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPHQ/KHRoaXMud29yZHNbMF09dC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbih0KX0saS5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKHQpe3RoaXMud29yZHNbMF0rPXQ7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tlXT49NjcxMDg4NjQ7ZSsrKXRoaXMud29yZHNbZV0tPTY3MTA4ODY0LGU9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbZSsxXT0xOnRoaXMud29yZHNbZSsxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxlKzEpLHRoaXN9LGkucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKHQpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MClyZXR1cm4gdGhpcy5pYWRkbigtdCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPXQsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPDA7ZSsrKXRoaXMud29yZHNbZV0rPTY3MTA4ODY0LHRoaXMud29yZHNbZSsxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LGkucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0saS5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30saS5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LGkucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGEsaSxvPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKG8pO3ZhciBzPTA7Zm9yKGE9MDthPHQubGVuZ3RoO2ErKyl7aT0oMHx0aGlzLndvcmRzW2Ercl0pK3M7dmFyIGw9KDB8dC53b3Jkc1thXSkqZTtzPSgoaS09NjcxMDg4NjMmbCk+PjI2KS0obC82NzEwODg2NHwwKSx0aGlzLndvcmRzW2Ercl09NjcxMDg4NjMmaX1mb3IoO2E8dGhpcy5sZW5ndGgtcjthKyspcz0oaT0oMHx0aGlzLndvcmRzW2Ercl0pK3MpPj4yNix0aGlzLndvcmRzW2Ercl09NjcxMDg4NjMmaTtpZigwPT09cylyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihuKC0xPT09cykscz0wLGE9MDthPHRoaXMubGVuZ3RoO2ErKylzPShpPS0oMHx0aGlzLndvcmRzW2FdKStzKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZpO3JldHVybiB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbih0LGUpe3ZhciByPSh0aGlzLmxlbmd0aCx0Lmxlbmd0aCksbj10aGlzLmNsb25lKCksYT10LG89MHxhLndvcmRzW2EubGVuZ3RoLTFdOzAhPT0ocj0yNi10aGlzLl9jb3VudEJpdHMobykpJiYoYT1hLnVzaGxuKHIpLG4uaXVzaGxuKHIpLG89MHxhLndvcmRzW2EubGVuZ3RoLTFdKTt2YXIgcyxsPW4ubGVuZ3RoLWEubGVuZ3RoO2lmKCJtb2QiIT09ZSl7KHM9bmV3IGkobnVsbCkpLmxlbmd0aD1sKzEscy53b3Jkcz1uZXcgQXJyYXkocy5sZW5ndGgpO2Zvcih2YXIgYz0wO2M8cy5sZW5ndGg7YysrKXMud29yZHNbY109MH12YXIgdT1uLmNsb25lKCkuX2lzaGxuc3VibXVsKGEsMSxsKTswPT09dS5uZWdhdGl2ZSYmKG49dSxzJiYocy53b3Jkc1tsXT0xKSk7Zm9yKHZhciBoPWwtMTtoPj0wO2gtLSl7dmFyIGY9NjcxMDg4NjQqKDB8bi53b3Jkc1thLmxlbmd0aCtoXSkrKDB8bi53b3Jkc1thLmxlbmd0aCtoLTFdKTtmb3IoZj1NYXRoLm1pbihmL298MCw2NzEwODg2Myksbi5faXNobG5zdWJtdWwoYSxmLGgpOzAhPT1uLm5lZ2F0aXZlOylmLS0sbi5uZWdhdGl2ZT0wLG4uX2lzaGxuc3VibXVsKGEsMSxoKSxuLmlzWmVybygpfHwobi5uZWdhdGl2ZV49MSk7cyYmKHMud29yZHNbaF09Zil9cmV0dXJuIHMmJnMuc3RyaXAoKSxuLnN0cmlwKCksImRpdiIhPT1lJiYwIT09ciYmbi5pdXNocm4ocikse2RpdjpzfHxudWxsLG1vZDpufX0saS5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbighdC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBpKDApLG1vZDpuZXcgaSgwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlPyhzPXRoaXMubmVnKCkuZGl2bW9kKHQsZSksIm1vZCIhPT1lJiYoYT1zLmRpdi5uZWcoKSksImRpdiIhPT1lJiYobz1zLm1vZC5uZWcoKSxyJiYwIT09by5uZWdhdGl2ZSYmby5pYWRkKHQpKSx7ZGl2OmEsbW9kOm99KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmU/KHM9dGhpcy5kaXZtb2QodC5uZWcoKSxlKSwibW9kIiE9PWUmJihhPXMuZGl2Lm5lZygpKSx7ZGl2OmEsbW9kOnMubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmdC5uZWdhdGl2ZSk/KHM9dGhpcy5uZWcoKS5kaXZtb2QodC5uZWcoKSxlKSwiZGl2IiE9PWUmJihvPXMubW9kLm5lZygpLHImJjAhPT1vLm5lZ2F0aXZlJiZvLmlzdWIodCkpLHtkaXY6cy5kaXYsbW9kOm99KTp0Lmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAodCk8MD97ZGl2Om5ldyBpKDApLG1vZDp0aGlzfToxPT09dC5sZW5ndGg/ImRpdiI9PT1lP3tkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWU/e2RpdjpudWxsLG1vZDpuZXcgaSh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bmV3IGkodGhpcy5tb2RuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBhLG8sc30saS5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LGkucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxpLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LGkucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksYT10LmFuZGxuKDEpLGk9ci5jbXAobik7cmV0dXJuIGk8MHx8MT09PWEmJjA9PT1pP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0saS5wcm90b3R5cGUubW9kbj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9KDE8PDI2KSV0LHI9MCxhPXRoaXMubGVuZ3RoLTE7YT49MDthLS0pcj0oZSpyKygwfHRoaXMud29yZHNbYV0pKSV0O3JldHVybiByfSxpLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBhPSgwfHRoaXMud29yZHNbcl0pKzY3MTA4ODY0KmU7dGhpcy53b3Jkc1tyXT1hL3R8MCxlPWEldH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LGkucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBhPW5ldyBpKDEpLG89bmV3IGkoMCkscz1uZXcgaSgwKSxsPW5ldyBpKDEpLGM9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciB1PXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgZj0wLHA9MTswPT0oZS53b3Jkc1swXSZwKSYmZjwyNjsrK2YscDw8PTEpO2lmKGY+MClmb3IoZS5pdXNocm4oZik7Zi0tID4wOykoYS5pc09kZCgpfHxvLmlzT2RkKCkpJiYoYS5pYWRkKHUpLG8uaXN1YihoKSksYS5pdXNocm4oMSksby5pdXNocm4oMSk7Zm9yKHZhciBkPTAsZz0xOzA9PShyLndvcmRzWzBdJmcpJiZkPDI2OysrZCxnPDw9MSk7aWYoZD4wKWZvcihyLml1c2hybihkKTtkLS0gPjA7KShzLmlzT2RkKCl8fGwuaXNPZGQoKSkmJihzLmlhZGQodSksbC5pc3ViKGgpKSxzLml1c2hybigxKSxsLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGEuaXN1YihzKSxvLmlzdWIobCkpOihyLmlzdWIoZSkscy5pc3ViKGEpLGwuaXN1YihvKSl9cmV0dXJue2E6cyxiOmwsZ2NkOnIuaXVzaGxuKGMpfX0saS5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgYSxvPW5ldyBpKDEpLHM9bmV3IGkoMCksbD1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsdT0xOzA9PShlLndvcmRzWzBdJnUpJiZjPDI2OysrYyx1PDw9MSk7aWYoYz4wKWZvcihlLml1c2hybihjKTtjLS0gPjA7KW8uaXNPZGQoKSYmby5pYWRkKGwpLG8uaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGY9MTswPT0oci53b3Jkc1swXSZmKSYmaDwyNjsrK2gsZjw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylzLmlzT2RkKCkmJnMuaWFkZChsKSxzLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLG8uaXN1YihzKSk6KHIuaXN1YihlKSxzLmlzdWIobykpfXJldHVybihhPTA9PT1lLmNtcG4oMSk/bzpzKS5jbXBuKDApPDAmJmEuaWFkZCh0KSxhfSxpLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBhPWUuY21wKHIpO2lmKGE8MCl7dmFyIGk9ZTtlPXIscj1pfWVsc2UgaWYoMD09PWF8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0saS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0saS5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxpLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0saS5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0saS5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixhPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWEsdGhpcztmb3IodmFyIGk9YSxvPXI7MCE9PWkmJm88dGhpcy5sZW5ndGg7bysrKXt2YXIgcz0wfHRoaXMud29yZHNbb107aT0ocys9aSk+Pj4yNixzJj02NzEwODg2Myx0aGlzLndvcmRzW29dPXN9cmV0dXJuIDAhPT1pJiYodGhpcy53b3Jkc1tvXT1pLHRoaXMubGVuZ3RoKyspLHRoaXN9LGkucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxpLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLnN0cmlwKCksdGhpcy5sZW5ndGg+MSllPTE7ZWxzZXtyJiYodD0tdCksbih0PD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgYT0wfHRoaXMud29yZHNbMF07ZT1hPT09dD8wOmE8dD8tMToxfXJldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LGkucHJvdG90eXBlLmNtcD1mdW5jdGlvbih0KXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiAxO3ZhciBlPXRoaXMudWNtcCh0KTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxpLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uKHQpe2lmKHRoaXMubGVuZ3RoPnQubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPHQubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIG49MHx0aGlzLndvcmRzW3JdLGE9MHx0LndvcmRzW3JdO2lmKG4hPT1hKXtuPGE/ZT0tMTpuPmEmJihlPTEpO2JyZWFrfX1yZXR1cm4gZX0saS5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXBuKHQpfSxpLnByb3RvdHlwZS5ndD1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wKHQpfSxpLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk+PTB9LGkucHJvdG90eXBlLmd0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk+PTB9LGkucHJvdG90eXBlLmx0bj1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wbih0KX0saS5wcm90b3R5cGUubHQ9ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcCh0KX0saS5wcm90b3R5cGUubHRlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPD0wfSxpLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPD0wfSxpLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcG4odCl9LGkucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LGkucmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdyh0KX0saS5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksbigwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSx0LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQodCl9LGkucHJvdG90eXBlLmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwiZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxpLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVkPXQsdGhpc30saS5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQodCl9LGkucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLHQpfSxpLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlhZGQodGhpcyx0KX0saS5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsdCl9LGkucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLHQpfSxpLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zaGwodGhpcyx0KX0saS5wcm90b3R5cGUucmVkTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5tdWwodGhpcyx0KX0saS5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQuaW11bCh0aGlzLHQpfSxpLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0saS5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmlzcXIodGhpcyl9LGkucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxpLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0saS5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LGkucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCYmIXQucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLHQpfTt2YXIgdj17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIG0odCxlKXt0aGlzLm5hbWU9dCx0aGlzLnA9bmV3IGkoZSwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKSx0aGlzLms9bmV3IGkoMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIHkoKXttLmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIil9ZnVuY3Rpb24geCgpe20uY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiBiKCl7bS5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIF8oKXttLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gdyh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBlPWkuX3ByaW1lKHQpO3RoaXMubT1lLnAsdGhpcy5wcmltZT1lfWVsc2Ugbih0Lmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPXQsdGhpcy5wcmltZT1udWxsfWZ1bmN0aW9uIGsodCl7dy5jYWxsKHRoaXMsdCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgaSgxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1tLnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGkobnVsbCk7cmV0dXJuIHQud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSx0fSxtLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDtkb3t0aGlzLnNwbGl0KHIsdGhpcy50bXApLGU9KHI9KHI9dGhpcy5pbXVsSyhyKSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGU+dGhpcy5uKTt2YXIgbj1lPHRoaXMubj8tMTpyLnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PW4/KHIud29yZHNbMF09MCxyLmxlbmd0aD0xKTpuPjA/ci5pc3ViKHRoaXMucCk6ci5zdHJpcCgpLHJ9LG0ucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LG0ucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0sYSh5LG0pLHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgYT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmYSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgaT0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZpKTw8NHxhPj4+MjIsYT1pfWE+Pj49MjIsdC53b3Jkc1tuLTEwXT1hLDA9PT1hJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0sYSh4LG0pLGEoYixtKSxhKF8sbSksXy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGE9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09YSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxpLl9wcmltZT1mdW5jdGlvbih0KXtpZih2W3RdKXJldHVybiB2W3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgeTtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgeDtlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgYjtlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyBffXJldHVybiB2W3RdPWUsZX0sdy5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LHcucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LHcucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LHcucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LHcucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LHcucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSx3LnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sdy5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSx3LnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LHcucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSx3LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LHcucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LHcucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sdy5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgaSgxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgYT10aGlzLm0uc3VibigxKSxvPTA7IWEuaXNaZXJvKCkmJjA9PT1hLmFuZGxuKDEpOylvKyssYS5pdXNocm4oMSk7bighYS5pc1plcm8oKSk7dmFyIHM9bmV3IGkoMSkudG9SZWQodGhpcyksbD1zLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLHU9dGhpcy5tLmJpdExlbmd0aCgpO2Zvcih1PW5ldyBpKDIqdSp1KS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3codSxjKS5jbXAobCk7KXUucmVkSUFkZChsKTtmb3IodmFyIGg9dGhpcy5wb3codSxhKSxmPXRoaXMucG93KHQsYS5hZGRuKDEpLml1c2hybigxKSkscD10aGlzLnBvdyh0LGEpLGQ9bzswIT09cC5jbXAocyk7KXtmb3IodmFyIGc9cCx2PTA7MCE9PWcuY21wKHMpO3YrKylnPWcucmVkU3FyKCk7bih2PGQpO3ZhciBtPXRoaXMucG93KGgsbmV3IGkoMSkuaXVzaGxuKGQtdi0xKSk7Zj1mLnJlZE11bChtKSxoPW0ucmVkU3FyKCkscD1wLnJlZE11bChoKSxkPXZ9cmV0dXJuIGZ9LHcucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sdy5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IGkoMSkudG9SZWQodGhpcyk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgaSgxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGE9clswXSxvPTAscz0wLGw9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PWwmJihsPTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz1lLndvcmRzW25dLHU9bC0xO3U+PTA7dS0tKXt2YXIgaD1jPj51JjE7YSE9PXJbMF0mJihhPXRoaXMuc3FyKGEpKSwwIT09aHx8MCE9PW8/KG88PD0xLG98PWgsKDQ9PT0rK3N8fDA9PT1uJiYwPT09dSkmJihhPXRoaXMubXVsKGEscltvXSkscz0wLG89MCkpOnM9MH1sPTI2fXJldHVybiBhfSx3LnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSx3LnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0saS5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgayh0KX0sYShrLHcpLGsucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSxrLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0say5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksYT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLGk9YTtyZXR1cm4gYS5jbXAodGhpcy5tKT49MD9pPWEuaXN1Yih0aGlzLm0pOmEuY21wbigwKTwwJiYoaT1hLmlhZGQodGhpcy5tKSksaS5fZm9yY2VSZWQodGhpcyl9LGsucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBpKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGE9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxvPWE7cmV0dXJuIGEuY21wKHRoaXMubSk+PTA/bz1hLmlzdWIodGhpcy5tKTphLmNtcG4oMCk8MCYmKG89YS5pYWRkKHRoaXMubSkpLG8uX2ZvcmNlUmVkKHRoaXMpfSxrLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KCJ1bmRlZmluZWQiPT10eXBlb2YgZXx8ZSx0aGlzKX0se2J1ZmZlcjoxMDV9XSw5NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9dC5sZW5ndGgsaT0wO2ZvcihlPTA7ZTxhOysrZSlpKz10W2VdLmxlbmd0aDt2YXIgbz1uZXcgQXJyYXkoaSkscz0wO2ZvcihlPTA7ZTxhOysrZSl7dmFyIGw9dFtlXSxjPWwubGVuZ3RoO2ZvcihyPTA7cjxjOysrcil7dmFyIHU9b1tzKytdPW5ldyBBcnJheShjLTEpLGg9MDtmb3Iobj0wO248YzsrK24pbiE9PXImJih1W2grK109bFtuXSk7aWYoMSZyKXt2YXIgZj11WzFdO3VbMV09dVswXSx1WzBdPWZ9fX1yZXR1cm4gb319LHt9XSw5ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6cmV0dXJuIG49W10sYyhhPXQsYSx1LCEwKSxuO2Nhc2UgMjpyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9jKHQsdCxlLCEwKTpmdW5jdGlvbih0LGUpe3JldHVybiBuPVtdLGModCxlLHUsITEpLG59KHQsZSk7Y2FzZSAzOnJldHVybiBjKHQsZSxyLCExKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiYm94LWludGVyc2VjdDogSW52YWxpZCBhcmd1bWVudHMiKX12YXIgYX07dmFyIG4sYT10KCJ0eXBlZGFycmF5LXBvb2wiKSxpPXQoIi4vbGliL3N3ZWVwIiksbz10KCIuL2xpYi9pbnRlcnNlY3QiKTtmdW5jdGlvbiBzKHQsZSl7Zm9yKHZhciByPTA7cjx0OysrcilpZighKGVbcl08PWVbcit0XSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gbCh0LGUscixuKXtmb3IodmFyIGE9MCxpPTAsbz0wLGw9dC5sZW5ndGg7bzxsOysrbyl7dmFyIGM9dFtvXTtpZighcyhlLGMpKXtmb3IodmFyIHU9MDt1PDIqZTsrK3UpclthKytdPWNbdV07bltpKytdPW99fXJldHVybiBpfWZ1bmN0aW9uIGModCxlLHIsbil7dmFyIHM9dC5sZW5ndGgsYz1lLmxlbmd0aDtpZighKHM8PTB8fGM8PTApKXt2YXIgdT10WzBdLmxlbmd0aD4+PjE7aWYoISh1PD0wKSl7dmFyIGgsZj1hLm1hbGxvY0RvdWJsZSgyKnUqcykscD1hLm1hbGxvY0ludDMyKHMpO2lmKChzPWwodCx1LGYscCkpPjApe2lmKDE9PT11JiZuKWkuaW5pdChzKSxoPWkuc3dlZXBDb21wbGV0ZSh1LHIsMCxzLGYscCwwLHMsZixwKTtlbHNle3ZhciBkPWEubWFsbG9jRG91YmxlKDIqdSpjKSxnPWEubWFsbG9jSW50MzIoYyk7KGM9bChlLHUsZCxnKSk+MCYmKGkuaW5pdChzK2MpLGg9MT09PXU/aS5zd2VlcEJpcGFydGl0ZSh1LHIsMCxzLGYscCwwLGMsZCxnKTpvKHUscixuLHMsZixwLGMsZCxnKSxhLmZyZWUoZCksYS5mcmVlKGcpKX1hLmZyZWUoZiksYS5mcmVlKHApfXJldHVybiBofX19ZnVuY3Rpb24gdSh0LGUpe24ucHVzaChbdCxlXSl9fSx7Ii4vbGliL2ludGVyc2VjdCI6MTAwLCIuL2xpYi9zd2VlcCI6MTA0LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDk5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPSJkIixhPSJheCIsaT0idnYiLG89ImZwIixzPSJlcyIsbD0icnMiLGM9InJlIix1PSJyYiIsaD0icmkiLGY9InJwIixwPSJicyIsZD0iYmUiLGc9ImJiIix2PSJiaSIsbT0iYnAiLHk9InJ2Iix4PSJRIixiPVtuLGEsaSxsLGMsdSxoLHAsZCxnLHZdO2Z1bmN0aW9uIF8odCl7dmFyIGU9ImJydXRlRm9yY2UiKyh0PyJGdWxsIjoiUGFydGlhbCIpLHI9W10sXz1iLnNsaWNlKCk7dHx8Xy5zcGxpY2UoMywwLG8pO3ZhciB3PVsiZnVuY3Rpb24gIitlKyIoIitfLmpvaW4oKSsiKXsiXTtmdW5jdGlvbiBrKGUsbyl7dmFyIF89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPSJicnV0ZUZvcmNlIisodD8iUmVkIjoiQmx1ZSIpKyhlPyJGbGlwIjoiIikrKHI/IkZ1bGwiOiIiKSxfPVsiZnVuY3Rpb24gIixvLCIoIixiLmpvaW4oKSwiKXsiLCJ2YXIgIixzLCI9MioiLG4sIjsiXSx3PSJmb3IodmFyIGk9IitsKyIsIitmKyI9IitzKyIqIitsKyI7aTwiK2MrIjsrK2ksIitmKyIrPSIrcysiKXt2YXIgeDA9Iit1KyJbIithKyIrIitmKyJdLHgxPSIrdSsiWyIrYSsiKyIrZisiKyIrbisiXSx4aT0iK2grIltpXTsiLGs9ImZvcih2YXIgaj0iK3ArIiwiK20rIj0iK3MrIioiK3ArIjtqPCIrZCsiOysraiwiK20rIis9IitzKyIpe3ZhciB5MD0iK2crIlsiK2ErIisiK20rIl0sIisocj8ieTE9IitnKyJbIithKyIrIittKyIrIituKyJdLCI6IiIpKyJ5aT0iK3YrIltqXTsiO3JldHVybiB0P18ucHVzaCh3LHgsIjoiLGspOl8ucHVzaChrLHgsIjoiLHcpLHI/Xy5wdXNoKCJpZih5MTx4MHx8eDE8eTApY29udGludWU7Iik6ZT9fLnB1c2goImlmKHkwPD14MHx8eDE8eTApY29udGludWU7Iik6Xy5wdXNoKCJpZih5MDx4MHx8eDE8eTApY29udGludWU7IiksXy5wdXNoKCJmb3IodmFyIGs9IithKyIrMTtrPCIrbisiOysrayl7dmFyIHIwPSIrdSsiW2srIitmKyJdLHIxPSIrdSsiW2srIituKyIrIitmKyJdLGIwPSIrZysiW2srIittKyJdLGIxPSIrZysiW2srIituKyIrIittKyJdO2lmKHIxPGIwfHxiMTxyMCljb250aW51ZSAiK3grIjt9dmFyICIreSsiPSIraSsiKCIpLGU/Xy5wdXNoKCJ5aSx4aSIpOl8ucHVzaCgieGkseWkiKSxfLnB1c2goIik7aWYoIit5KyIhPT12b2lkIDApcmV0dXJuICIreSsiO319fSIpLHtuYW1lOm8sY29kZTpfLmpvaW4oIiIpfX0oZSxvLHQpO3IucHVzaChfLmNvZGUpLHcucHVzaCgicmV0dXJuICIrXy5uYW1lKyIoIitiLmpvaW4oKSsiKTsiKX13LnB1c2goImlmKCIrYysiLSIrbCsiPiIrZCsiLSIrcCsiKXsiKSx0PyhrKCEwLCExKSx3LnB1c2goIn1lbHNleyIpLGsoITEsITEpKToody5wdXNoKCJpZigiK28rIil7IiksayghMCwhMCksdy5wdXNoKCJ9ZWxzZXsiKSxrKCEwLCExKSx3LnB1c2goIn19ZWxzZXtpZigiK28rIil7IiksayghMSwhMCksdy5wdXNoKCJ9ZWxzZXsiKSxrKCExLCExKSx3LnB1c2goIn0iKSksdy5wdXNoKCJ9fXJldHVybiAiK2UpO3ZhciBUPXIuam9pbigiIikrdy5qb2luKCIiKTtyZXR1cm4gbmV3IEZ1bmN0aW9uKFQpKCl9ci5wYXJ0aWFsPV8oITEpLHIuZnVsbD1fKCEwKX0se31dLDEwMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSx1LFMsRSxMLEMpeyFmdW5jdGlvbih0LGUpe3ZhciByPTgqYS5sb2cyKGUrMSkqKHQrMSl8MCxpPWEubmV4dFBvdzIoYipyKTt3Lmxlbmd0aDxpJiYobi5mcmVlKHcpLHc9bi5tYWxsb2NJbnQzMihpKSk7dmFyIG89YS5uZXh0UG93MihfKnIpO2s8byYmKG4uZnJlZShrKSxrPW4ubWFsbG9jRG91YmxlKG8pKX0odCxpK0UpO3ZhciBQLE89MCx6PTIqdDtUKE8rKywwLDAsaSwwLEUscj8xNjowLC0xLzAsMS8wKSxyfHxUKE8rKywwLDAsRSwwLGksMSwtMS8wLDEvMCk7Zm9yKDtPPjA7KXt2YXIgST0oTy09MSkqYixEPXdbSV0sUj13W0krMV0sRj13W0krMl0sQj13W0krM10sTj13W0krNF0saj13W0krNV0sVj1PKl8sVT1rW1ZdLHE9a1tWKzFdLEg9MSZqLEc9ISEoMTYmaiksWT11LFc9UyxYPUwsWj1DO2lmKEgmJihZPUwsVz1DLFg9dSxaPVMpLCEoMiZqJiYoRj12KHQsRCxSLEYsWSxXLHEpLFI+PUYpfHw0JmomJihSPW0odCxELFIsRixZLFcsVSkpPj1GKSl7dmFyIEo9Ri1SLEs9Ti1CO2lmKEcpe2lmKHQqSiooSitLKTxwKXtpZih2b2lkIDAhPT0oUD1sLnNjYW5Db21wbGV0ZSh0LEQsZSxSLEYsWSxXLEIsTixYLFopKSlyZXR1cm4gUDtjb250aW51ZX19ZWxzZXtpZih0Kk1hdGgubWluKEosSyk8aCl7aWYodm9pZCAwIT09KFA9byh0LEQsZSxILFIsRixZLFcsQixOLFgsWikpKXJldHVybiBQO2NvbnRpbnVlfWlmKHQqSipLPGYpe2lmKHZvaWQgMCE9PShQPWwuc2NhbkJpcGFydGl0ZSh0LEQsZSxILFIsRixZLFcsQixOLFgsWikpKXJldHVybiBQO2NvbnRpbnVlfX12YXIgUT1kKHQsRCxSLEYsWSxXLFUscSk7aWYoUjxRKWlmKHQqKFEtUik8aCl7aWYodm9pZCAwIT09KFA9cyh0LEQrMSxlLFIsUSxZLFcsQixOLFgsWikpKXJldHVybiBQfWVsc2UgaWYoRD09PXQtMil7aWYodm9pZCAwIT09KFA9SD9sLnN3ZWVwQmlwYXJ0aXRlKHQsZSxCLE4sWCxaLFIsUSxZLFcpOmwuc3dlZXBCaXBhcnRpdGUodCxlLFIsUSxZLFcsQixOLFgsWikpKXJldHVybiBQfWVsc2UgVChPKyssRCsxLFIsUSxCLE4sSCwtMS8wLDEvMCksVChPKyssRCsxLEIsTixSLFEsMV5ILC0xLzAsMS8wKTtpZihRPEYpe3ZhciAkPWModCxELEIsTixYLFopLHR0PVhbeiokK0RdLGV0PWcodCxELCQsTixYLFosdHQpO2lmKGV0PE4mJlQoTysrLEQsUSxGLGV0LE4sKDR8SCkrKEc/MTY6MCksdHQscSksQjwkJiZUKE8rKyxELFEsRixCLCQsKDJ8SCkrKEc/MTY6MCksVSx0dCksJCsxPT09ZXQpe2lmKHZvaWQgMCE9PShQPUc/QSh0LEQsZSxRLEYsWSxXLCQsWCxaWyRdKTpNKHQsRCxlLEgsUSxGLFksVywkLFgsWlskXSkpKXJldHVybiBQfWVsc2UgaWYoJDxldCl7dmFyIHJ0O2lmKEcpe2lmKHJ0PXkodCxELFEsRixZLFcsdHQpLFE8cnQpe3ZhciBudD1nKHQsRCxRLHJ0LFksVyx0dCk7aWYoRD09PXQtMil7aWYoUTxudCYmdm9pZCAwIT09KFA9bC5zd2VlcENvbXBsZXRlKHQsZSxRLG50LFksVywkLGV0LFgsWikpKXJldHVybiBQO2lmKG50PHJ0JiZ2b2lkIDAhPT0oUD1sLnN3ZWVwQmlwYXJ0aXRlKHQsZSxudCxydCxZLFcsJCxldCxYLFopKSlyZXR1cm4gUH1lbHNlIFE8bnQmJlQoTysrLEQrMSxRLG50LCQsZXQsMTYsLTEvMCwxLzApLG50PHJ0JiYoVChPKyssRCsxLG50LHJ0LCQsZXQsMCwtMS8wLDEvMCksVChPKyssRCsxLCQsZXQsbnQscnQsMSwtMS8wLDEvMCkpfX1lbHNlIHJ0PUg/eCh0LEQsUSxGLFksVyx0dCk6eSh0LEQsUSxGLFksVyx0dCksUTxydCYmKEQ9PT10LTI/UD1IP2wuc3dlZXBCaXBhcnRpdGUodCxlLCQsZXQsWCxaLFEscnQsWSxXKTpsLnN3ZWVwQmlwYXJ0aXRlKHQsZSxRLHJ0LFksVywkLGV0LFgsWik6KFQoTysrLEQrMSxRLHJ0LCQsZXQsSCwtMS8wLDEvMCksVChPKyssRCsxLCQsZXQsUSxydCwxXkgsLTEvMCwxLzApKSl9fX19fTt2YXIgbj10KCJ0eXBlZGFycmF5LXBvb2wiKSxhPXQoImJpdC10d2lkZGxlIiksaT10KCIuL2JydXRlIiksbz1pLnBhcnRpYWwscz1pLmZ1bGwsbD10KCIuL3N3ZWVwIiksYz10KCIuL21lZGlhbiIpLHU9dCgiLi9wYXJ0aXRpb24iKSxoPTEyOCxmPTE8PDIyLHA9MTw8MjIsZD11KCIhKGxvPj1wMCkmJiEocDE+PWhpKSIsWyJwMCIsInAxIl0pLGc9dSgibG89PT1wMCIsWyJwMCJdKSx2PXUoImxvPHAwIixbInAwIl0pLG09dSgiaGk8PXAwIixbInAwIl0pLHk9dSgibG88PXAwJiZwMDw9aGkiLFsicDAiXSkseD11KCJsbzxwMCYmcDA8PWhpIixbInAwIl0pLGI9NixfPTIsdz1uLm1hbGxvY0ludDMyKDEwMjQpLGs9bi5tYWxsb2NEb3VibGUoMTAyNCk7ZnVuY3Rpb24gVCh0LGUscixuLGEsaSxvLHMsbCl7dmFyIGM9Yip0O3dbY109ZSx3W2MrMV09cix3W2MrMl09bix3W2MrM109YSx3W2MrNF09aSx3W2MrNV09bzt2YXIgdT1fKnQ7a1t1XT1zLGtbdSsxXT1sfWZ1bmN0aW9uIE0odCxlLHIsbixhLGksbyxzLGwsYyx1KXt2YXIgaD0yKnQsZj1sKmgscD1jW2YrZV07dDpmb3IodmFyIGQ9YSxnPWEqaDtkPGk7KytkLGcrPWgpe3ZhciB2PW9bZytlXSxtPW9bZytlK3RdO2lmKCEocDx2fHxtPHApJiYoIW58fHAhPT12KSl7Zm9yKHZhciB5LHg9c1tkXSxiPWUrMTtiPHQ7KytiKXt2PW9bZytiXSxtPW9bZytiK3RdO3ZhciBfPWNbZitiXSx3PWNbZitiK3RdO2lmKG08X3x8dzx2KWNvbnRpbnVlIHR9aWYodm9pZCAwIT09KHk9bj9yKHUseCk6cih4LHUpKSlyZXR1cm4geX19fWZ1bmN0aW9uIEEodCxlLHIsbixhLGksbyxzLGwsYyl7dmFyIHU9Mip0LGg9cyp1LGY9bFtoK2VdO3Q6Zm9yKHZhciBwPW4sZD1uKnU7cDxhOysrcCxkKz11KXt2YXIgZz1vW3BdO2lmKGchPT1jKXt2YXIgdj1pW2QrZV0sbT1pW2QrZSt0XTtpZighKGY8dnx8bTxmKSl7Zm9yKHZhciB5PWUrMTt5PHQ7Kyt5KXt2PWlbZCt5XSxtPWlbZCt5K3RdO3ZhciB4PWxbaCt5XSxiPWxbaCt5K3RdO2lmKG08eHx8Yjx2KWNvbnRpbnVlIHR9dmFyIF89cihnLGMpO2lmKHZvaWQgMCE9PV8pcmV0dXJuIF99fX19fSx7Ii4vYnJ1dGUiOjk5LCIuL21lZGlhbiI6MTAxLCIuL3BhcnRpdGlvbiI6MTAyLCIuL3N3ZWVwIjoxMDQsImJpdC10d2lkZGxlIjo5NCwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwxMDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8scyxsKXtpZihvPD1yKzEpcmV0dXJuIHI7dmFyIGM9cix1PW8saD1vK3I+Pj4xLGY9Mip0LHA9aCxkPXNbZipoK2VdO2Zvcig7Yzx1Oyl7aWYodS1jPGEpe2kodCxlLGMsdSxzLGwpLGQ9c1tmKmgrZV07YnJlYWt9dmFyIGc9dS1jLHY9TWF0aC5yYW5kb20oKSpnK2N8MCxtPXNbZip2K2VdLHk9TWF0aC5yYW5kb20oKSpnK2N8MCx4PXNbZip5K2VdLGI9TWF0aC5yYW5kb20oKSpnK2N8MCxfPXNbZipiK2VdO208PXg/Xz49eD8ocD15LGQ9eCk6bT49Xz8ocD12LGQ9bSk6KHA9YixkPV8pOng+PV8/KHA9eSxkPXgpOl8+PW0/KHA9dixkPW0pOihwPWIsZD1fKTtmb3IodmFyIHc9ZioodS0xKSxrPWYqcCxUPTA7VDxmOysrVCwrK3csKytrKXt2YXIgTT1zW3ddO3Nbd109c1trXSxzW2tdPU19dmFyIEE9bFt1LTFdO2xbdS0xXT1sW3BdLGxbcF09QSxwPW4odCxlLGMsdS0xLHMsbCxkKTtmb3IodmFyIHc9ZioodS0xKSxrPWYqcCxUPTA7VDxmOysrVCwrK3csKytrKXt2YXIgTT1zW3ddO3Nbd109c1trXSxzW2tdPU19dmFyIEE9bFt1LTFdO2lmKGxbdS0xXT1sW3BdLGxbcF09QSxoPHApe2Zvcih1PXAtMTtjPHUmJnNbZioodS0xKStlXT09PWQ7KXUtPTE7dSs9MX1lbHNle2lmKCEocDxoKSlicmVhaztmb3IoYz1wKzE7Yzx1JiZzW2YqYytlXT09PWQ7KWMrPTF9fXJldHVybiBuKHQsZSxyLGgscyxsLHNbZipoK2VdKX07dmFyIG49dCgiLi9wYXJ0aXRpb24iKSgibG88cDAiLFsicDAiXSksYT04O2Z1bmN0aW9uIGkodCxlLHIsbixhLGkpe2Zvcih2YXIgbz0yKnQscz1vKihyKzEpK2UsbD1yKzE7bDxuOysrbCxzKz1vKWZvcih2YXIgYz1hW3NdLHU9bCxoPW8qKGwtMSk7dT5yJiZhW2grZV0+YzstLXUsaC09byl7Zm9yKHZhciBmPWgscD1oK28sZD0wO2Q8bzsrK2QsKytmLCsrcCl7dmFyIGc9YVtmXTthW2ZdPWFbcF0sYVtwXT1nfXZhciB2PWlbdV07aVt1XT1pW3UtMV0saVt1LTFdPXZ9fX0seyIuL3BhcnRpdGlvbiI6MTAyfV0sMTAyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPSJhYmNkZWYiLnNwbGl0KCIiKS5jb25jYXQoZSksYT1bXTt0LmluZGV4T2YoImxvIik+PTAmJmEucHVzaCgibG89ZVtrK25dIik7dC5pbmRleE9mKCJoaSIpPj0wJiZhLnB1c2goImhpPWVbaytvXSIpO3JldHVybiByLnB1c2gobi5yZXBsYWNlKCJfIixhLmpvaW4oKSkucmVwbGFjZSgiJCIsdCkpLEZ1bmN0aW9uLmFwcGx5KHZvaWQgMCxyKX07dmFyIG49ImZvcih2YXIgaj0yKmEsaz1qKmMsbD1rLG09YyxuPWIsbz1hK2IscD1jO2Q+cDsrK3Asays9ail7dmFyIF87aWYoJClpZihtPT09cCltKz0xLGwrPWo7ZWxzZXtmb3IodmFyIHM9MDtqPnM7KytzKXt2YXIgdD1lW2src107ZVtrK3NdPWVbbF0sZVtsKytdPXR9dmFyIHU9ZltwXTtmW3BdPWZbbV0sZlttKytdPXV9fXJldHVybiBtIn0se31dLDEwMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlPD00Km4/YSgwLGUtMSx0KTpmdW5jdGlvbiB0KGUscixoKXt2YXIgZj0oci1lKzEpLzZ8MCxwPWUrZixkPXItZixnPWUrcj4+MSx2PWctZixtPWcrZix5PXAseD12LGI9ZyxfPW0sdz1kLGs9ZSsxLFQ9ci0xLE09MDtjKHkseCxoKSYmKE09eSx5PXgseD1NKTtjKF8sdyxoKSYmKE09XyxfPXcsdz1NKTtjKHksYixoKSYmKE09eSx5PWIsYj1NKTtjKHgsYixoKSYmKE09eCx4PWIsYj1NKTtjKHksXyxoKSYmKE09eSx5PV8sXz1NKTtjKGIsXyxoKSYmKE09YixiPV8sXz1NKTtjKHgsdyxoKSYmKE09eCx4PXcsdz1NKTtjKHgsYixoKSYmKE09eCx4PWIsYj1NKTtjKF8sdyxoKSYmKE09XyxfPXcsdz1NKTt2YXIgQT1oWzIqeF07dmFyIFM9aFsyKngrMV07dmFyIEU9aFsyKl9dO3ZhciBMPWhbMipfKzFdO3ZhciBDPTIqeTt2YXIgUD0yKmI7dmFyIE89Mip3O3ZhciB6PTIqcDt2YXIgST0yKmc7dmFyIEQ9MipkO2Zvcih2YXIgUj0wO1I8MjsrK1Ipe3ZhciBGPWhbQytSXSxCPWhbUCtSXSxOPWhbTytSXTtoW3orUl09RixoW0krUl09QixoW0QrUl09Tn1vKHYsZSxoKTtvKG0scixoKTtmb3IodmFyIGo9aztqPD1UOysrailpZih1KGosQSxTLGgpKWohPT1rJiZpKGosayxoKSwrK2s7ZWxzZSBpZighdShqLEUsTCxoKSlmb3IoOzspe2lmKHUoVCxFLEwsaCkpe3UoVCxBLFMsaCk/KHMoaixrLFQsaCksKytrLC0tVCk6KGkoaixULGgpLC0tVCk7YnJlYWt9aWYoLS1UPGopYnJlYWt9bChlLGstMSxBLFMsaCk7bChyLFQrMSxFLEwsaCk7ay0yLWU8PW4/YShlLGstMixoKTp0KGUsay0yLGgpO3ItKFQrMik8PW4/YShUKzIscixoKTp0KFQrMixyLGgpO1Qtazw9bj9hKGssVCxoKTp0KGssVCxoKX0oMCxlLTEsdCl9O3ZhciBuPTMyO2Z1bmN0aW9uIGEodCxlLHIpe2Zvcih2YXIgbj0yKih0KzEpLGE9dCsxO2E8PWU7KythKXtmb3IodmFyIGk9cltuKytdLG89cltuKytdLHM9YSxsPW4tMjtzLS0gPnQ7KXt2YXIgYz1yW2wtMl0sdT1yW2wtMV07aWYoYzxpKWJyZWFrO2lmKGM9PT1pJiZ1PG8pYnJlYWs7cltsXT1jLHJbbCsxXT11LGwtPTJ9cltsXT1pLHJbbCsxXT1vfX1mdW5jdGlvbiBpKHQsZSxyKXtlKj0yO3ZhciBuPXJbdCo9Ml0sYT1yW3QrMV07clt0XT1yW2VdLHJbdCsxXT1yW2UrMV0scltlXT1uLHJbZSsxXT1hfWZ1bmN0aW9uIG8odCxlLHIpe2UqPTIsclt0Kj0yXT1yW2VdLHJbdCsxXT1yW2UrMV19ZnVuY3Rpb24gcyh0LGUscixuKXtlKj0yLHIqPTI7dmFyIGE9blt0Kj0yXSxpPW5bdCsxXTtuW3RdPW5bZV0sblt0KzFdPW5bZSsxXSxuW2VdPW5bcl0sbltlKzFdPW5bcisxXSxuW3JdPWEsbltyKzFdPWl9ZnVuY3Rpb24gbCh0LGUscixuLGEpe2UqPTIsYVt0Kj0yXT1hW2VdLGFbZV09cixhW3QrMV09YVtlKzFdLGFbZSsxXT1ufWZ1bmN0aW9uIGModCxlLHIpe2UqPTI7dmFyIG49clt0Kj0yXSxhPXJbZV07cmV0dXJuIShuPGEpJiYobiE9PWF8fHJbdCsxXT5yW2UrMV0pfWZ1bmN0aW9uIHUodCxlLHIsbil7dmFyIGE9blt0Kj0yXTtyZXR1cm4gYTxlfHxhPT09ZSYmblt0KzFdPHJ9fSx7fV0sMTA0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17aW5pdDpmdW5jdGlvbih0KXt2YXIgZT1hLm5leHRQb3cyKHQpO3MubGVuZ3RoPGUmJihuLmZyZWUocykscz1uLm1hbGxvY0ludDMyKGUpKTtsLmxlbmd0aDxlJiYobi5mcmVlKGwpLGw9bi5tYWxsb2NJbnQzMihlKSk7Yy5sZW5ndGg8ZSYmKG4uZnJlZShjKSxjPW4ubWFsbG9jSW50MzIoZSkpO3UubGVuZ3RoPGUmJihuLmZyZWUodSksdT1uLm1hbGxvY0ludDMyKGUpKTtoLmxlbmd0aDxlJiYobi5mcmVlKGgpLGg9bi5tYWxsb2NJbnQzMihlKSk7Zi5sZW5ndGg8ZSYmKG4uZnJlZShmKSxmPW4ubWFsbG9jSW50MzIoZSkpO3ZhciByPTgqZTtwLmxlbmd0aDxyJiYobi5mcmVlKHApLHA9bi5tYWxsb2NEb3VibGUocikpfSxzd2VlcEJpcGFydGl0ZTpmdW5jdGlvbih0LGUscixuLGEsaCxmLHYsbSx5KXtmb3IodmFyIHg9MCxiPTIqdCxfPXQtMSx3PWItMSxrPXI7azxuOysrayl7dmFyIFQ9aFtrXSxNPWIqaztwW3grK109YVtNK19dLHBbeCsrXT0tKFQrMSkscFt4KytdPWFbTSt3XSxwW3grK109VH1mb3IodmFyIGs9ZjtrPHY7KytrKXt2YXIgVD15W2tdK28sQT1iKms7cFt4KytdPW1bQStfXSxwW3grK109LVQscFt4KytdPW1bQSt3XSxwW3grK109VH12YXIgUz14Pj4+MTtpKHAsUyk7Zm9yKHZhciBFPTAsTD0wLGs9MDtrPFM7KytrKXt2YXIgQz0wfHBbMiprKzFdO2lmKEM+PW8pZChjLHUsTC0tLEM9Qy1vfDApO2Vsc2UgaWYoQz49MClkKHMsbCxFLS0sQyk7ZWxzZSBpZihDPD0tbyl7Qz0tQy1vfDA7Zm9yKHZhciBQPTA7UDxFOysrUCl7dmFyIE89ZShzW1BdLEMpO2lmKHZvaWQgMCE9PU8pcmV0dXJuIE99ZyhjLHUsTCsrLEMpfWVsc2V7Qz0tQy0xfDA7Zm9yKHZhciBQPTA7UDxMOysrUCl7dmFyIE89ZShDLGNbUF0pO2lmKHZvaWQgMCE9PU8pcmV0dXJuIE99ZyhzLGwsRSsrLEMpfX19LHN3ZWVwQ29tcGxldGU6ZnVuY3Rpb24odCxlLHIsbixhLG8sdixtLHkseCl7Zm9yKHZhciBiPTAsXz0yKnQsdz10LTEsaz1fLTEsVD1yO1Q8bjsrK1Qpe3ZhciBNPW9bVF0rMTw8MSxBPV8qVDtwW2IrK109YVtBK3ddLHBbYisrXT0tTSxwW2IrK109YVtBK2tdLHBbYisrXT1NfWZvcih2YXIgVD12O1Q8bTsrK1Qpe3ZhciBNPXhbVF0rMTw8MSxTPV8qVDtwW2IrK109eVtTK3ddLHBbYisrXT0xfC1NLHBbYisrXT15W1Mra10scFtiKytdPTF8TX12YXIgRT1iPj4+MTtpKHAsRSk7Zm9yKHZhciBMPTAsQz0wLFA9MCxUPTA7VDxFOysrVCl7dmFyIE89MHxwWzIqVCsxXSx6PTEmTztpZihUPEUtMSYmTz4+MT09cFsyKlQrM10+PjEmJih6PTIsVCs9MSksTzwwKXtmb3IodmFyIEk9LShPPj4xKS0xLEQ9MDtEPFA7KytEKXt2YXIgUj1lKGhbRF0sSSk7aWYodm9pZCAwIT09UilyZXR1cm4gUn1pZigwIT09eilmb3IodmFyIEQ9MDtEPEw7KytEKXt2YXIgUj1lKHNbRF0sSSk7aWYodm9pZCAwIT09UilyZXR1cm4gUn1pZigxIT09eilmb3IodmFyIEQ9MDtEPEM7KytEKXt2YXIgUj1lKGNbRF0sSSk7aWYodm9pZCAwIT09UilyZXR1cm4gUn0wPT09ej9nKHMsbCxMKyssSSk6MT09PXo/ZyhjLHUsQysrLEkpOjI9PT16JiZnKGgsZixQKyssSSl9ZWxzZXt2YXIgST0oTz4+MSktMTswPT09ej9kKHMsbCxMLS0sSSk6MT09PXo/ZChjLHUsQy0tLEkpOjI9PT16JiZkKGgsZixQLS0sSSl9fX0sc2NhbkJpcGFydGl0ZTpmdW5jdGlvbih0LGUscixuLGEsYyx1LGgsZix2LG0seSl7dmFyIHg9MCxiPTIqdCxfPWUsdz1lK3Qsaz0xLFQ9MTtuP1Q9bzprPW87Zm9yKHZhciBNPWE7TTxjOysrTSl7dmFyIEE9TStrLFM9YipNO3BbeCsrXT11W1MrX10scFt4KytdPS1BLHBbeCsrXT11W1Mrd10scFt4KytdPUF9Zm9yKHZhciBNPWY7TTx2OysrTSl7dmFyIEE9TStULEU9YipNO3BbeCsrXT1tW0UrX10scFt4KytdPS1BfXZhciBMPXg+Pj4xO2kocCxMKTtmb3IodmFyIEM9MCxNPTA7TTxMOysrTSl7dmFyIFA9MHxwWzIqTSsxXTtpZihQPDApe3ZhciBBPS1QLE89ITE7aWYoQT49bz8oTz0hbixBLT1vKTooTz0hIW4sQS09MSksTylnKHMsbCxDKyssQSk7ZWxzZXt2YXIgej15W0FdLEk9YipBLEQ9bVtJK2UrMV0sUj1tW0krZSsxK3RdO3Q6Zm9yKHZhciBGPTA7RjxDOysrRil7dmFyIEI9c1tGXSxOPWIqQjtpZighKFI8dVtOK2UrMV18fHVbTitlKzErdF08RCkpe2Zvcih2YXIgaj1lKzI7ajx0OysrailpZihtW0krait0XTx1W04ral18fHVbTitqK3RdPG1bSStqXSljb250aW51ZSB0O3ZhciBWLFU9aFtCXTtpZih2b2lkIDAhPT0oVj1uP3IoeixVKTpyKFUseikpKXJldHVybiBWfX19fWVsc2UgZChzLGwsQy0tLFAtayl9fSxzY2FuQ29tcGxldGU6ZnVuY3Rpb24odCxlLHIsbixhLGwsYyx1LGgsZixkKXtmb3IodmFyIGc9MCx2PTIqdCxtPWUseT1lK3QseD1uO3g8YTsrK3gpe3ZhciBiPXgrbyxfPXYqeDtwW2crK109bFtfK21dLHBbZysrXT0tYixwW2crK109bFtfK3ldLHBbZysrXT1ifWZvcih2YXIgeD11O3g8aDsrK3gpe3ZhciBiPXgrMSx3PXYqeDtwW2crK109Zlt3K21dLHBbZysrXT0tYn12YXIgaz1nPj4+MTtpKHAsayk7Zm9yKHZhciBUPTAseD0wO3g8azsrK3gpe3ZhciBNPTB8cFsyKngrMV07aWYoTTwwKXt2YXIgYj0tTTtpZihiPj1vKXNbVCsrXT1iLW87ZWxzZXt2YXIgQT1kW2ItPTFdLFM9dipiLEU9ZltTK2UrMV0sTD1mW1MrZSsxK3RdO3Q6Zm9yKHZhciBDPTA7QzxUOysrQyl7dmFyIFA9c1tDXSxPPWNbUF07aWYoTz09PUEpYnJlYWs7dmFyIHo9dipQO2lmKCEoTDxsW3orZSsxXXx8bFt6K2UrMSt0XTxFKSl7Zm9yKHZhciBJPWUrMjtJPHQ7KytJKWlmKGZbUytJK3RdPGxbeitJXXx8bFt6K0krdF08ZltTK0ldKWNvbnRpbnVlIHQ7dmFyIEQ9cihPLEEpO2lmKHZvaWQgMCE9PUQpcmV0dXJuIER9fX19ZWxzZXtmb3IodmFyIGI9TS1vLEM9VC0xO0M+PTA7LS1DKWlmKHNbQ109PT1iKXtmb3IodmFyIEk9QysxO0k8VDsrK0kpc1tJLTFdPXNbSV07YnJlYWt9LS1UfX19fTt2YXIgbj10KCJ0eXBlZGFycmF5LXBvb2wiKSxhPXQoImJpdC10d2lkZGxlIiksaT10KCIuL3NvcnQiKSxvPTE8PDI4LHM9bi5tYWxsb2NJbnQzMigxMDI0KSxsPW4ubWFsbG9jSW50MzIoMTAyNCksYz1uLm1hbGxvY0ludDMyKDEwMjQpLHU9bi5tYWxsb2NJbnQzMigxMDI0KSxoPW4ubWFsbG9jSW50MzIoMTAyNCksZj1uLm1hbGxvY0ludDMyKDEwMjQpLHA9bi5tYWxsb2NEb3VibGUoODE5Mik7ZnVuY3Rpb24gZCh0LGUscixuKXt2YXIgYT1lW25dLGk9dFtyLTFdO3RbYV09aSxlW2ldPWF9ZnVuY3Rpb24gZyh0LGUscixuKXt0W3JdPW4sZVtuXT1yfX0seyIuL3NvcnQiOjEwMywiYml0LXR3aWRkbGUiOjk0LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDEwNTpbZnVuY3Rpb24odCxlLHIpe30se31dLDEwNjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKCl7fTtyZXR1cm4gZS5wcm90b3R5cGU9dCxuZXcgZX0sYT1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJmUucHVzaChyKTtyZXR1cm4gcn0saT1GdW5jdGlvbi5wcm90b3R5cGUuYmluZHx8ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0LGFyZ3VtZW50cyl9fTtmdW5jdGlvbiBvKCl7dGhpcy5fZXZlbnRzJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcywiX2V2ZW50cyIpfHwodGhpcy5fZXZlbnRzPW4obnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpcy5fbWF4TGlzdGVuZXJzPXRoaXMuX21heExpc3RlbmVyc3x8dm9pZCAwfWUuZXhwb3J0cz1vLG8uRXZlbnRFbWl0dGVyPW8sby5wcm90b3R5cGUuX2V2ZW50cz12b2lkIDAsby5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIHMsbD0xMDt0cnl7dmFyIGM9e307T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYywieCIse3ZhbHVlOjB9KSxzPTA9PT1jLnh9Y2F0Y2godCl7cz0hMX1mdW5jdGlvbiB1KHQpe3JldHVybiB2b2lkIDA9PT10Ll9tYXhMaXN0ZW5lcnM/by5kZWZhdWx0TWF4TGlzdGVuZXJzOnQuX21heExpc3RlbmVyc31mdW5jdGlvbiBoKHQsZSxyLGEpe3ZhciBpLG8scztpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKChvPXQuX2V2ZW50cyk/KG8ubmV3TGlzdGVuZXImJih0LmVtaXQoIm5ld0xpc3RlbmVyIixlLHIubGlzdGVuZXI/ci5saXN0ZW5lcjpyKSxvPXQuX2V2ZW50cykscz1vW2VdKToobz10Ll9ldmVudHM9bihudWxsKSx0Ll9ldmVudHNDb3VudD0wKSxzKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygcz9zPW9bZV09YT9bcixzXTpbcyxyXTphP3MudW5zaGlmdChyKTpzLnB1c2gociksIXMud2FybmVkJiYoaT11KHQpKSYmaT4wJiZzLmxlbmd0aD5pKXtzLndhcm5lZD0hMDt2YXIgbD1uZXcgRXJyb3IoIlBvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gIitzLmxlbmd0aCsnICInK1N0cmluZyhlKSsnIiBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0LicpO2wubmFtZT0iTWF4TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nIixsLmVtaXR0ZXI9dCxsLnR5cGU9ZSxsLmNvdW50PXMubGVuZ3RoLCJvYmplY3QiPT10eXBlb2YgY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oIiVzOiAlcyIsbC5uYW1lLGwubWVzc2FnZSl9fWVsc2Ugcz1vW2VdPXIsKyt0Ll9ldmVudHNDb3VudDtyZXR1cm4gdH1mdW5jdGlvbiBmKCl7aWYoIXRoaXMuZmlyZWQpc3dpdGNoKHRoaXMudGFyZ2V0LnJlbW92ZUxpc3RlbmVyKHRoaXMudHlwZSx0aGlzLndyYXBGbiksdGhpcy5maXJlZD0hMCxhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCk7Y2FzZSAxOnJldHVybiB0aGlzLmxpc3RlbmVyLmNhbGwodGhpcy50YXJnZXQsYXJndW1lbnRzWzBdKTtjYXNlIDI6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCxhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdKTtjYXNlIDM6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCxhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSk7ZGVmYXVsdDpmb3IodmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLGU9MDtlPHQubGVuZ3RoOysrZSl0W2VdPWFyZ3VtZW50c1tlXTt0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LHQpfX1mdW5jdGlvbiBwKHQsZSxyKXt2YXIgbj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6dCx0eXBlOmUsbGlzdGVuZXI6cn0sYT1pLmNhbGwoZixuKTtyZXR1cm4gYS5saXN0ZW5lcj1yLG4ud3JhcEZuPWEsYX1mdW5jdGlvbiBkKHQsZSxyKXt2YXIgbj10Ll9ldmVudHM7aWYoIW4pcmV0dXJuW107dmFyIGE9bltlXTtyZXR1cm4gYT8iZnVuY3Rpb24iPT10eXBlb2YgYT9yP1thLmxpc3RlbmVyfHxhXTpbYV06cj9mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQubGVuZ3RoKSxyPTA7cjxlLmxlbmd0aDsrK3IpZVtyXT10W3JdLmxpc3RlbmVyfHx0W3JdO3JldHVybiBlfShhKTp2KGEsYS5sZW5ndGgpOltdfWZ1bmN0aW9uIGcodCl7dmFyIGU9dGhpcy5fZXZlbnRzO2lmKGUpe3ZhciByPWVbdF07aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpcmV0dXJuIDE7aWYocilyZXR1cm4gci5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gdih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkoZSksbj0wO248ZTsrK24pcltuXT10W25dO3JldHVybiByfXM/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sImRlZmF1bHRNYXhMaXN0ZW5lcnMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfSxzZXQ6ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fHQhPXQpdGhyb3cgbmV3IFR5cGVFcnJvcignImRlZmF1bHRNYXhMaXN0ZW5lcnMiIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtsPXR9fSk6by5kZWZhdWx0TWF4TGlzdGVuZXJzPWwsby5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dDwwfHxpc05hTih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibiIgYXJndW1lbnQgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO3JldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM9dCx0aGlzfSxvLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSh0aGlzKX0sby5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scz0iZXJyb3IiPT09dDtpZihvPXRoaXMuX2V2ZW50cylzPXMmJm51bGw9PW8uZXJyb3I7ZWxzZSBpZighcylyZXR1cm4hMTtpZihzKXtpZihhcmd1bWVudHMubGVuZ3RoPjEmJihlPWFyZ3VtZW50c1sxXSksZSBpbnN0YW5jZW9mIEVycm9yKXRocm93IGU7dmFyIGw9bmV3IEVycm9yKCdVbmhhbmRsZWQgImVycm9yIiBldmVudC4gKCcrZSsiKSIpO3Rocm93IGwuY29udGV4dD1lLGx9aWYoIShyPW9bdF0pKXJldHVybiExO3ZhciBjPSJmdW5jdGlvbiI9PXR5cGVvZiByO3N3aXRjaChuPWFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTohZnVuY3Rpb24odCxlLHIpe2lmKGUpdC5jYWxsKHIpO2Vsc2UgZm9yKHZhciBuPXQubGVuZ3RoLGE9dih0LG4pLGk9MDtpPG47KytpKWFbaV0uY2FsbChyKX0ocixjLHRoaXMpO2JyZWFrO2Nhc2UgMjohZnVuY3Rpb24odCxlLHIsbil7aWYoZSl0LmNhbGwocixuKTtlbHNlIGZvcih2YXIgYT10Lmxlbmd0aCxpPXYodCxhKSxvPTA7bzxhOysrbylpW29dLmNhbGwocixuKX0ocixjLHRoaXMsYXJndW1lbnRzWzFdKTticmVhaztjYXNlIDM6IWZ1bmN0aW9uKHQsZSxyLG4sYSl7aWYoZSl0LmNhbGwocixuLGEpO2Vsc2UgZm9yKHZhciBpPXQubGVuZ3RoLG89dih0LGkpLHM9MDtzPGk7KytzKW9bc10uY2FsbChyLG4sYSl9KHIsYyx0aGlzLGFyZ3VtZW50c1sxXSxhcmd1bWVudHNbMl0pO2JyZWFrO2Nhc2UgNDohZnVuY3Rpb24odCxlLHIsbixhLGkpe2lmKGUpdC5jYWxsKHIsbixhLGkpO2Vsc2UgZm9yKHZhciBvPXQubGVuZ3RoLHM9dih0LG8pLGw9MDtsPG87KytsKXNbbF0uY2FsbChyLG4sYSxpKX0ocixjLHRoaXMsYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSxhcmd1bWVudHNbM10pO2JyZWFrO2RlZmF1bHQ6Zm9yKGE9bmV3IEFycmF5KG4tMSksaT0xO2k8bjtpKyspYVtpLTFdPWFyZ3VtZW50c1tpXTshZnVuY3Rpb24odCxlLHIsbil7aWYoZSl0LmFwcGx5KHIsbik7ZWxzZSBmb3IodmFyIGE9dC5sZW5ndGgsaT12KHQsYSksbz0wO288YTsrK28paVtvXS5hcHBseShyLG4pfShyLGMsdGhpcyxhKX1yZXR1cm4hMH0sby5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaCh0aGlzLHQsZSwhMSl9LG8ucHJvdG90eXBlLm9uPW8ucHJvdG90eXBlLmFkZExpc3RlbmVyLG8ucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3JldHVybiBoKHRoaXMsdCxlLCEwKX0sby5wcm90b3R5cGUub25jZT1mdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMub24odCxwKHRoaXMsdCxlKSksdGhpc30sby5wcm90b3R5cGUucHJlcGVuZE9uY2VMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMucHJlcGVuZExpc3RlbmVyKHQscCh0aGlzLHQsZSkpLHRoaXN9LG8ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYSxpLG8scztpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKCEoYT10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKCEocj1hW3RdKSlyZXR1cm4gdGhpcztpZihyPT09ZXx8ci5saXN0ZW5lcj09PWUpMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9bihudWxsKTooZGVsZXRlIGFbdF0sYS5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsdCxyLmxpc3RlbmVyfHxlKSk7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil7Zm9yKGk9LTEsbz1yLmxlbmd0aC0xO28+PTA7by0tKWlmKHJbb109PT1lfHxyW29dLmxpc3RlbmVyPT09ZSl7cz1yW29dLmxpc3RlbmVyLGk9bzticmVha31pZihpPDApcmV0dXJuIHRoaXM7MD09PWk/ci5zaGlmdCgpOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUsbj1yKzEsYT10Lmxlbmd0aDtuPGE7cis9MSxuKz0xKXRbcl09dFtuXTt0LnBvcCgpfShyLGkpLDE9PT1yLmxlbmd0aCYmKGFbdF09clswXSksYS5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsdCxzfHxlKX1yZXR1cm4gdGhpc30sby5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlLHIsaTtpZighKHI9dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZighci5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1uKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnJbdF0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1uKG51bGwpOmRlbGV0ZSByW3RdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgbyxzPWEocik7Zm9yKGk9MDtpPHMubGVuZ3RoOysraSkicmVtb3ZlTGlzdGVuZXIiIT09KG89c1tpXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKG8pO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9bihudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wLHRoaXN9aWYoImZ1bmN0aW9uIj09dHlwZW9mKGU9clt0XSkpdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGUpO2Vsc2UgaWYoZSlmb3IoaT1lLmxlbmd0aC0xO2k+PTA7aS0tKXRoaXMucmVtb3ZlTGlzdGVuZXIodCxlW2ldKTtyZXR1cm4gdGhpc30sby5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybiBkKHRoaXMsdCwhMCl9LG8ucHJvdG90eXBlLnJhd0xpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm4gZCh0aGlzLHQsITEpfSxvLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5saXN0ZW5lckNvdW50P3QubGlzdGVuZXJDb3VudChlKTpnLmNhbGwodCxlKX0sby5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1nLG8ucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9SZWZsZWN0Lm93bktleXModGhpcy5fZXZlbnRzKTpbXX19LHt9XSwxMDc6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJhc2U2NC1qcyIpLGE9dCgiaWVlZTc1NCIpLGk9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbC5mb3I/U3ltYm9sLmZvcigibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20iKTpudWxsO3IuQnVmZmVyPWUsci5TbG93QnVmZmVyPWZ1bmN0aW9uKHQpeyt0IT10JiYodD0wKTtyZXR1cm4gZS5hbGxvYygrdCl9LHIuSU5TUEVDVF9NQVhfQllURVM9NTA7dmFyIG89MjE0NzQ4MzY0NztmdW5jdGlvbiBzKHQpe2lmKHQ+byl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlICInK3QrJyIgaXMgaW52YWxpZCBmb3Igb3B0aW9uICJzaXplIicpO3ZhciByPW5ldyBVaW50OEFycmF5KHQpO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YocixlLnByb3RvdHlwZSkscn1mdW5jdGlvbiBlKHQsZSxyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInN0cmluZyIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gdSh0KX1yZXR1cm4gbCh0LGUscil9ZnVuY3Rpb24gbCh0LHIsbil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBmdW5jdGlvbih0LHIpeyJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwocj0idXRmOCIpO2lmKCFlLmlzRW5jb2RpbmcocikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIityKTt2YXIgbj0wfHAodCxyKSxhPXMobiksaT1hLndyaXRlKHQscik7aSE9PW4mJihhPWEuc2xpY2UoMCxpKSk7cmV0dXJuIGF9KHQscik7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpKXJldHVybiBoKHQpO2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgIit0eXBlb2YgdCk7aWYoaih0LEFycmF5QnVmZmVyKXx8dCYmaih0LmJ1ZmZlcixBcnJheUJ1ZmZlcikpcmV0dXJuIGZ1bmN0aW9uKHQscixuKXtpZihyPDB8fHQuYnl0ZUxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCcib2Zmc2V0IiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTtpZih0LmJ5dGVMZW5ndGg8cisobnx8MCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJsZW5ndGgiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO3ZhciBhO2E9dm9pZCAwPT09ciYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheSh0KTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KHQscik6bmV3IFVpbnQ4QXJyYXkodCxyLG4pO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxlLnByb3RvdHlwZSksYX0odCxyLG4pO2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTt2YXIgYT10LnZhbHVlT2YmJnQudmFsdWVPZigpO2lmKG51bGwhPWEmJmEhPT10KXJldHVybiBlLmZyb20oYSxyLG4pO3ZhciBpPWZ1bmN0aW9uKHQpe2lmKGUuaXNCdWZmZXIodCkpe3ZhciByPTB8Zih0Lmxlbmd0aCksbj1zKHIpO3JldHVybiAwPT09bi5sZW5ndGg/bjoodC5jb3B5KG4sMCwwLHIpLG4pfWlmKHZvaWQgMCE9PXQubGVuZ3RoKXJldHVybiJudW1iZXIiIT10eXBlb2YgdC5sZW5ndGh8fFYodC5sZW5ndGgpP3MoMCk6aCh0KTtpZigiQnVmZmVyIj09PXQudHlwZSYmQXJyYXkuaXNBcnJheSh0LmRhdGEpKXJldHVybiBoKHQuZGF0YSl9KHQpO2lmKGkpcmV0dXJuIGk7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC50b1ByaW1pdGl2ZSYmImZ1bmN0aW9uIj09dHlwZW9mIHRbU3ltYm9sLnRvUHJpbWl0aXZlXSlyZXR1cm4gZS5mcm9tKHRbU3ltYm9sLnRvUHJpbWl0aXZlXSgic3RyaW5nIikscixuKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAiK3R5cGVvZiB0KX1mdW5jdGlvbiBjKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlcicpO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlICInK3QrJyIgaXMgaW52YWxpZCBmb3Igb3B0aW9uICJzaXplIicpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIGModCkscyh0PDA/MDowfGYodCkpfWZ1bmN0aW9uIGgodCl7Zm9yKHZhciBlPXQubGVuZ3RoPDA/MDowfGYodC5sZW5ndGgpLHI9cyhlKSxuPTA7bjxlO24rPTEpcltuXT0yNTUmdFtuXTtyZXR1cm4gcn1mdW5jdGlvbiBmKHQpe2lmKHQ+PW8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK28udG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHx0fWZ1bmN0aW9uIHAodCxyKXtpZihlLmlzQnVmZmVyKHQpKXJldHVybiB0Lmxlbmd0aDtpZihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fGoodCxBcnJheUJ1ZmZlcikpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJzdHJpbmciIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIHQpO3ZhciBuPXQubGVuZ3RoLGE9YXJndW1lbnRzLmxlbmd0aD4yJiYhMD09PWFyZ3VtZW50c1syXTtpZighYSYmMD09PW4pcmV0dXJuIDA7Zm9yKHZhciBpPSExOzspc3dpdGNoKHIpe2Nhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIG47Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gRih0KS5sZW5ndGg7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiAyKm47Y2FzZSJoZXgiOnJldHVybiBuPj4+MTtjYXNlImJhc2U2NCI6cmV0dXJuIEIodCkubGVuZ3RoO2RlZmF1bHQ6aWYoaSlyZXR1cm4gYT8tMTpGKHQpLmxlbmd0aDtyPSgiIityKS50b0xvd2VyQ2FzZSgpLGk9ITB9fWZ1bmN0aW9uIGQodCxlLHIpe3ZhciBuPXRbZV07dFtlXT10W3JdLHRbcl09bn1mdW5jdGlvbiBnKHQscixuLGEsaSl7aWYoMD09PXQubGVuZ3RoKXJldHVybi0xO2lmKCJzdHJpbmciPT10eXBlb2Ygbj8oYT1uLG49MCk6bj4yMTQ3NDgzNjQ3P249MjE0NzQ4MzY0NzpuPC0yMTQ3NDgzNjQ4JiYobj0tMjE0NzQ4MzY0OCksVihuPStuKSYmKG49aT8wOnQubGVuZ3RoLTEpLG48MCYmKG49dC5sZW5ndGgrbiksbj49dC5sZW5ndGgpe2lmKGkpcmV0dXJuLTE7bj10Lmxlbmd0aC0xfWVsc2UgaWYobjwwKXtpZighaSlyZXR1cm4tMTtuPTB9aWYoInN0cmluZyI9PXR5cGVvZiByJiYocj1lLmZyb20ocixhKSksZS5pc0J1ZmZlcihyKSlyZXR1cm4gMD09PXIubGVuZ3RoPy0xOnYodCxyLG4sYSxpKTtpZigibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIHImPTI1NSwiZnVuY3Rpb24iPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZj9pP1VpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0LHIsbik6VWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0LHIsbik6dih0LFtyXSxuLGEsaSk7dGhyb3cgbmV3IFR5cGVFcnJvcigidmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyIil9ZnVuY3Rpb24gdih0LGUscixuLGEpe3ZhciBpLG89MSxzPXQubGVuZ3RoLGw9ZS5sZW5ndGg7aWYodm9pZCAwIT09biYmKCJ1Y3MyIj09PShuPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKXx8InVjcy0yIj09PW58fCJ1dGYxNmxlIj09PW58fCJ1dGYtMTZsZSI9PT1uKSl7aWYodC5sZW5ndGg8Mnx8ZS5sZW5ndGg8MilyZXR1cm4tMTtvPTIscy89MixsLz0yLHIvPTJ9ZnVuY3Rpb24gYyh0LGUpe3JldHVybiAxPT09bz90W2VdOnQucmVhZFVJbnQxNkJFKGUqbyl9aWYoYSl7dmFyIHU9LTE7Zm9yKGk9cjtpPHM7aSsrKWlmKGModCxpKT09PWMoZSwtMT09PXU/MDppLXUpKXtpZigtMT09PXUmJih1PWkpLGktdSsxPT09bClyZXR1cm4gdSpvfWVsc2UtMSE9PXUmJihpLT1pLXUpLHU9LTF9ZWxzZSBmb3IocitsPnMmJihyPXMtbCksaT1yO2k+PTA7aS0tKXtmb3IodmFyIGg9ITAsZj0wO2Y8bDtmKyspaWYoYyh0LGkrZikhPT1jKGUsZikpe2g9ITE7YnJlYWt9aWYoaClyZXR1cm4gaX1yZXR1cm4tMX1mdW5jdGlvbiBtKHQsZSxyLG4pe3I9TnVtYmVyKHIpfHwwO3ZhciBhPXQubGVuZ3RoLXI7bj8obj1OdW1iZXIobikpPmEmJihuPWEpOm49YTt2YXIgaT1lLmxlbmd0aDtuPmkvMiYmKG49aS8yKTtmb3IodmFyIG89MDtvPG47KytvKXt2YXIgcz1wYXJzZUludChlLnN1YnN0cigyKm8sMiksMTYpO2lmKFYocykpcmV0dXJuIG87dFtyK29dPXN9cmV0dXJuIG99ZnVuY3Rpb24geSh0LGUscixuKXtyZXR1cm4gTihGKGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIHgodCxlLHIsbil7cmV0dXJuIE4oZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goMjU1JnQuY2hhckNvZGVBdChyKSk7cmV0dXJuIGV9KGUpLHQscixuKX1mdW5jdGlvbiBiKHQsZSxyLG4pe3JldHVybiB4KHQsZSxyLG4pfWZ1bmN0aW9uIF8odCxlLHIsbil7cmV0dXJuIE4oQihlKSx0LHIsbil9ZnVuY3Rpb24gdyh0LGUscixuKXtyZXR1cm4gTihmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuLGEsaT1bXSxvPTA7bzx0Lmxlbmd0aCYmISgoZS09Mik8MCk7KytvKXI9dC5jaGFyQ29kZUF0KG8pLG49cj4+OCxhPXIlMjU2LGkucHVzaChhKSxpLnB1c2gobik7cmV0dXJuIGl9KGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIGsodCxlLHIpe3JldHVybiAwPT09ZSYmcj09PXQubGVuZ3RoP24uZnJvbUJ5dGVBcnJheSh0KTpuLmZyb21CeXRlQXJyYXkodC5zbGljZShlLHIpKX1mdW5jdGlvbiBUKHQsZSxyKXtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgbj1bXSxhPWU7YTxyOyl7dmFyIGksbyxzLGwsYz10W2FdLHU9bnVsbCxoPWM+MjM5PzQ6Yz4yMjM/MzpjPjE5MT8yOjE7aWYoYStoPD1yKXN3aXRjaChoKXtjYXNlIDE6YzwxMjgmJih1PWMpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKGk9dFthKzFdKSkmJihsPSgzMSZjKTw8Nnw2MyZpKT4xMjcmJih1PWwpO2JyZWFrO2Nhc2UgMzppPXRbYSsxXSxvPXRbYSsyXSwxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZvKSYmKGw9KDE1JmMpPDwxMnwoNjMmaSk8PDZ8NjMmbyk+MjA0NyYmKGw8NTUyOTZ8fGw+NTczNDMpJiYodT1sKTticmVhaztjYXNlIDQ6aT10W2ErMV0sbz10W2ErMl0scz10W2ErM10sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJjEyOD09KDE5MiZzKSYmKGw9KDE1JmMpPDwxOHwoNjMmaSk8PDEyfCg2MyZvKTw8Nnw2MyZzKT42NTUzNSYmbDwxMTE0MTEyJiYodT1sKX1udWxsPT09dT8odT02NTUzMyxoPTEpOnU+NjU1MzUmJih1LT02NTUzNixuLnB1c2godT4+PjEwJjEwMjN8NTUyOTYpLHU9NTYzMjB8MTAyMyZ1KSxuLnB1c2godSksYSs9aH1yZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9TSlyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdCk7dmFyIHI9IiIsbj0wO2Zvcig7bjxlOylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0LnNsaWNlKG4sbis9TSkpO3JldHVybiByfShuKX1yLmtNYXhMZW5ndGg9byxlLlRZUEVEX0FSUkFZX1NVUFBPUlQ9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMSksZT17Zm9vOmZ1bmN0aW9uKCl7cmV0dXJuIDQyfX07cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihlLFVpbnQ4QXJyYXkucHJvdG90eXBlKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodCxlKSw0Mj09PXQuZm9vKCl9Y2F0Y2godCl7cmV0dXJuITF9fSgpLGUuVFlQRURfQVJSQVlfU1VQUE9SVHx8InVuZGVmaW5lZCI9PXR5cGVvZiBjb25zb2xlfHwiZnVuY3Rpb24iIT10eXBlb2YgY29uc29sZS5lcnJvcnx8Y29uc29sZS5lcnJvcigiVGhpcyBicm93c2VyIGxhY2tzIHR5cGVkIGFycmF5IChVaW50OEFycmF5KSBzdXBwb3J0IHdoaWNoIGlzIHJlcXVpcmVkIGJ5IGBidWZmZXJgIHY1LnguIFVzZSBgYnVmZmVyYCB2NC54IGlmIHlvdSByZXF1aXJlIG9sZCBicm93c2VyIHN1cHBvcnQuIiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwYXJlbnQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKGUuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwib2Zmc2V0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihlLmlzQnVmZmVyKHRoaXMpKXJldHVybiB0aGlzLmJ5dGVPZmZzZXR9fSksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC5zcGVjaWVzJiZlW1N5bWJvbC5zcGVjaWVzXT09PWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExfSksZS5wb29sU2l6ZT04MTkyLGUuZnJvbT1mdW5jdGlvbih0LGUscil7cmV0dXJuIGwodCxlLHIpfSxPYmplY3Quc2V0UHJvdG90eXBlT2YoZS5wcm90b3R5cGUsVWludDhBcnJheS5wcm90b3R5cGUpLE9iamVjdC5zZXRQcm90b3R5cGVPZihlLFVpbnQ4QXJyYXkpLGUuYWxsb2M9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBmdW5jdGlvbih0LGUscil7cmV0dXJuIGModCksdDw9MD9zKHQpOnZvaWQgMCE9PWU/InN0cmluZyI9PXR5cGVvZiByP3ModCkuZmlsbChlLHIpOnModCkuZmlsbChlKTpzKHQpfSh0LGUscil9LGUuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7cmV0dXJuIHUodCl9LGUuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe3JldHVybiB1KHQpfSxlLmlzQnVmZmVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYhMD09PXQuX2lzQnVmZmVyJiZ0IT09ZS5wcm90b3R5cGV9LGUuY29tcGFyZT1mdW5jdGlvbih0LHIpe2lmKGoodCxVaW50OEFycmF5KSYmKHQ9ZS5mcm9tKHQsdC5vZmZzZXQsdC5ieXRlTGVuZ3RoKSksaihyLFVpbnQ4QXJyYXkpJiYocj1lLmZyb20ocixyLm9mZnNldCxyLmJ5dGVMZW5ndGgpKSwhZS5pc0J1ZmZlcih0KXx8IWUuaXNCdWZmZXIocikpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJidWYxIiwgImJ1ZjIiIGFyZ3VtZW50cyBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aWYodD09PXIpcmV0dXJuIDA7Zm9yKHZhciBuPXQubGVuZ3RoLGE9ci5sZW5ndGgsaT0wLG89TWF0aC5taW4obixhKTtpPG87KytpKWlmKHRbaV0hPT1yW2ldKXtuPXRbaV0sYT1yW2ldO2JyZWFrfXJldHVybiBuPGE/LTE6YTxuPzE6MH0sZS5pc0VuY29kaW5nPWZ1bmN0aW9uKHQpe3N3aXRjaChTdHJpbmcodCkudG9Mb3dlckNhc2UoKSl7Y2FzZSJoZXgiOmNhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpjYXNlImJhc2U2NCI6Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxlLmNvbmNhdD1mdW5jdGlvbih0LHIpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0IiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIGUuYWxsb2MoMCk7dmFyIG47aWYodm9pZCAwPT09cilmb3Iocj0wLG49MDtuPHQubGVuZ3RoOysrbilyKz10W25dLmxlbmd0aDt2YXIgYT1lLmFsbG9jVW5zYWZlKHIpLGk9MDtmb3Iobj0wO248dC5sZW5ndGg7KytuKXt2YXIgbz10W25dO2lmKGoobyxVaW50OEFycmF5KSYmKG89ZS5mcm9tKG8pKSwhZS5pc0J1ZmZlcihvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7by5jb3B5KGEsaSksaSs9by5sZW5ndGh9cmV0dXJuIGF9LGUuYnl0ZUxlbmd0aD1wLGUucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxlLnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTIpZCh0aGlzLGUsZSsxKTtyZXR1cm4gdGhpc30sZS5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgZT0wO2U8dDtlKz00KWQodGhpcyxlLGUrMyksZCh0aGlzLGUrMSxlKzIpO3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTgpZCh0aGlzLGUsZSs3KSxkKHRoaXMsZSsxLGUrNiksZCh0aGlzLGUrMixlKzUpLGQodGhpcyxlKzMsZSs0KTtyZXR1cm4gdGhpc30sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtyZXR1cm4gMD09PXQ/IiI6MD09PWFyZ3VtZW50cy5sZW5ndGg/VCh0aGlzLDAsdCk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT1lfHxlPDApJiYoZT0wKSxlPnRoaXMubGVuZ3RoKXJldHVybiIiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuIiI7aWYoKHI+Pj49MCk8PShlPj4+PTApKXJldHVybiIiO2Zvcih0fHwodD0idXRmOCIpOzspc3dpdGNoKHQpe2Nhc2UiaGV4IjpyZXR1cm4gRSh0aGlzLGUscik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gVCh0aGlzLGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIEEodGhpcyxlLHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIFModGhpcyxlLHIpO2Nhc2UiYmFzZTY0IjpyZXR1cm4gayh0aGlzLGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBMKHRoaXMsZSxyKTtkZWZhdWx0OmlmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KTt0PSh0KyIiKS50b0xvd2VyQ2FzZSgpLG49ITB9fS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nPWUucHJvdG90eXBlLnRvU3RyaW5nLGUucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtpZighZS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT10fHwwPT09ZS5jb21wYXJlKHRoaXMsdCl9LGUucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXt2YXIgdD0iIixlPXIuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIHQ9dGhpcy50b1N0cmluZygiaGV4IiwwLGUpLnJlcGxhY2UoLyguezJ9KS9nLCIkMSAiKS50cmltKCksdGhpcy5sZW5ndGg+ZSYmKHQrPSIgLi4uICIpLCI8QnVmZmVyICIrdCsiPiJ9LGkmJihlLnByb3RvdHlwZVtpXT1lLnByb3RvdHlwZS5pbnNwZWN0KSxlLnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKHQscixuLGEsaSl7aWYoaih0LFVpbnQ4QXJyYXkpJiYodD1lLmZyb20odCx0Lm9mZnNldCx0LmJ5dGVMZW5ndGgpKSwhZS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInRhcmdldCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheS4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiB0KTtpZih2b2lkIDA9PT1yJiYocj0wKSx2b2lkIDA9PT1uJiYobj10P3QubGVuZ3RoOjApLHZvaWQgMD09PWEmJihhPTApLHZvaWQgMD09PWkmJihpPXRoaXMubGVuZ3RoKSxyPDB8fG4+dC5sZW5ndGh8fGE8MHx8aT50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIGluZGV4Iik7aWYoYT49aSYmcj49bilyZXR1cm4gMDtpZihhPj1pKXJldHVybi0xO2lmKHI+PW4pcmV0dXJuIDE7aWYodGhpcz09PXQpcmV0dXJuIDA7Zm9yKHZhciBvPShpPj4+PTApLShhPj4+PTApLHM9KG4+Pj49MCktKHI+Pj49MCksbD1NYXRoLm1pbihvLHMpLGM9dGhpcy5zbGljZShhLGkpLHU9dC5zbGljZShyLG4pLGg9MDtoPGw7KytoKWlmKGNbaF0hPT11W2hdKXtvPWNbaF0scz11W2hdO2JyZWFrfXJldHVybiBvPHM/LTE6czxvPzE6MH0sZS5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24odCxlLHIpe3JldHVybi0xIT09dGhpcy5pbmRleE9mKHQsZSxyKX0sZS5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbih0LGUscil7cmV0dXJuIGcodGhpcyx0LGUsciwhMCl9LGUucHJvdG90eXBlLmxhc3RJbmRleE9mPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZyh0aGlzLHQsZSxyLCExKX0sZS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCxlLHIsbil7aWYodm9pZCAwPT09ZSluPSJ1dGY4IixyPXRoaXMubGVuZ3RoLGU9MDtlbHNlIGlmKHZvaWQgMD09PXImJiJzdHJpbmciPT10eXBlb2YgZSluPWUscj10aGlzLmxlbmd0aCxlPTA7ZWxzZXtpZighaXNGaW5pdGUoZSkpdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIpO2U+Pj49MCxpc0Zpbml0ZShyKT8ocj4+Pj0wLHZvaWQgMD09PW4mJihuPSJ1dGY4IikpOihuPXIscj12b2lkIDApfXZhciBhPXRoaXMubGVuZ3RoLWU7aWYoKHZvaWQgMD09PXJ8fHI+YSkmJihyPWEpLHQubGVuZ3RoPjAmJihyPDB8fGU8MCl8fGU+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7bnx8KG49InV0ZjgiKTtmb3IodmFyIGk9ITE7Oylzd2l0Y2gobil7Y2FzZSJoZXgiOnJldHVybiBtKHRoaXMsdCxlLHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIHkodGhpcyx0LGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIHgodGhpcyx0LGUscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gYih0aGlzLHQsZSxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIF8odGhpcyx0LGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiB3KHRoaXMsdCxlLHIpO2RlZmF1bHQ6aWYoaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCksaT0hMH19LGUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIE09NDA5NjtmdW5jdGlvbiBBKHQsZSxyKXt2YXIgbj0iIjtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgYT1lO2E8cjsrK2Epbis9U3RyaW5nLmZyb21DaGFyQ29kZSgxMjcmdFthXSk7cmV0dXJuIG59ZnVuY3Rpb24gUyh0LGUscil7dmFyIG49IiI7cj1NYXRoLm1pbih0Lmxlbmd0aCxyKTtmb3IodmFyIGE9ZTthPHI7KythKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUodFthXSk7cmV0dXJuIG59ZnVuY3Rpb24gRSh0LGUscil7dmFyIG49dC5sZW5ndGg7KCFlfHxlPDApJiYoZT0wKSwoIXJ8fHI8MHx8cj5uKSYmKHI9bik7Zm9yKHZhciBhPSIiLGk9ZTtpPHI7KytpKWErPVIodFtpXSk7cmV0dXJuIGF9ZnVuY3Rpb24gTCh0LGUscil7Zm9yKHZhciBuPXQuc2xpY2UoZSxyKSxhPSIiLGk9MDtpPG4ubGVuZ3RoO2krPTIpYSs9U3RyaW5nLmZyb21DaGFyQ29kZShuW2ldKzI1NipuW2krMV0pO3JldHVybiBhfWZ1bmN0aW9uIEModCxlLHIpe2lmKHQlMSE9MHx8dDwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZih0K2U+cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCIpfWZ1bmN0aW9uIFAodCxyLG4sYSxpLG8pe2lmKCFlLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWZmZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKTtpZihyPml8fHI8byl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInZhbHVlIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYobithPnQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBPKHQsZSxyLG4sYSxpKXtpZihyK24+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24geih0LGUscixuLGkpe3JldHVybiBlPStlLHI+Pj49MCxpfHxPKHQsMCxyLDQpLGEud3JpdGUodCxlLHIsbiwyMyw0KSxyKzR9ZnVuY3Rpb24gSSh0LGUscixuLGkpe3JldHVybiBlPStlLHI+Pj49MCxpfHxPKHQsMCxyLDgpLGEud3JpdGUodCxlLHIsbiw1Miw4KSxyKzh9ZS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxyKXt2YXIgbj10aGlzLmxlbmd0aDsodD1+fnQpPDA/KHQrPW4pPDAmJih0PTApOnQ+biYmKHQ9biksKHI9dm9pZCAwPT09cj9uOn5+cik8MD8ocis9bik8MCYmKHI9MCk6cj5uJiYocj1uKSxyPHQmJihyPXQpO3ZhciBhPXRoaXMuc3ViYXJyYXkodCxyKTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGEsZS5wcm90b3R5cGUpLGF9LGUucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24odCxlLHIpe3Q+Pj49MCxlPj4+PTAscnx8Qyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW3RdLGE9MSxpPTA7KytpPGUmJihhKj0yNTYpOyluKz10aGlzW3QraV0qYTtyZXR1cm4gbn0sZS5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbih0LGUscil7dD4+Pj0wLGU+Pj49MCxyfHxDKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdCstLWVdLGE9MTtlPjAmJihhKj0yNTYpOyluKz10aGlzW3QrLS1lXSphO3JldHVybiBufSxlLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCwxLHRoaXMubGVuZ3RoKSx0aGlzW3RdfSxlLnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCwyLHRoaXMubGVuZ3RoKSx0aGlzW3RdfHRoaXNbdCsxXTw8OH0sZS5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxDKHQsMix0aGlzLmxlbmd0aCksdGhpc1t0XTw8OHx0aGlzW3QrMV19LGUucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLCh0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2KSsxNjc3NzIxNip0aGlzW3QrM119LGUucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLDE2Nzc3MjE2KnRoaXNbdF0rKHRoaXNbdCsxXTw8MTZ8dGhpc1t0KzJdPDw4fHRoaXNbdCszXSl9LGUucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbih0LGUscil7dD4+Pj0wLGU+Pj49MCxyfHxDKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdF0sYT0xLGk9MDsrK2k8ZSYmKGEqPTI1Nik7KW4rPXRoaXNbdCtpXSphO3JldHVybiBuPj0oYSo9MTI4KSYmKG4tPU1hdGgucG93KDIsOCplKSksbn0sZS5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKHQsZSxyKXt0Pj4+PTAsZT4+Pj0wLHJ8fEModCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49ZSxhPTEsaT10aGlzW3QrLS1uXTtuPjAmJihhKj0yNTYpOylpKz10aGlzW3QrLS1uXSphO3JldHVybiBpPj0oYSo9MTI4KSYmKGktPU1hdGgucG93KDIsOCplKSksaX0sZS5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCwxLHRoaXMubGVuZ3RoKSwxMjgmdGhpc1t0XT8tMSooMjU1LXRoaXNbdF0rMSk6dGhpc1t0XX0sZS5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24odCxlKXt0Pj4+PTAsZXx8Qyh0LDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbdF18dGhpc1t0KzFdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxlLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbih0LGUpe3Q+Pj49MCxlfHxDKHQsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1t0KzFdfHRoaXNbdF08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LGUucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxDKHQsNCx0aGlzLmxlbmd0aCksdGhpc1t0XXx0aGlzW3QrMV08PDh8dGhpc1t0KzJdPDwxNnx0aGlzW3QrM108PDI0fSxlLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLHRoaXNbdF08PDI0fHRoaXNbdCsxXTw8MTZ8dGhpc1t0KzJdPDw4fHRoaXNbdCszXX0sZS5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCw0LHRoaXMubGVuZ3RoKSxhLnJlYWQodGhpcyx0LCEwLDIzLDQpfSxlLnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLGEucmVhZCh0aGlzLHQsITEsMjMsNCl9LGUucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDgsdGhpcy5sZW5ndGgpLGEucmVhZCh0aGlzLHQsITAsNTIsOCl9LGUucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDgsdGhpcy5sZW5ndGgpLGEucmVhZCh0aGlzLHQsITEsNTIsOCl9LGUucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKHQsZSxyLG4peyh0PSt0LGU+Pj49MCxyPj4+PTAsbil8fFAodGhpcyx0LGUscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgYT0xLGk9MDtmb3IodGhpc1tlXT0yNTUmdDsrK2k8ciYmKGEqPTI1Nik7KXRoaXNbZStpXT10L2EmMjU1O3JldHVybiBlK3J9LGUucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uKHQsZSxyLG4peyh0PSt0LGU+Pj49MCxyPj4+PTAsbil8fFAodGhpcyx0LGUscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgYT1yLTEsaT0xO2Zvcih0aGlzW2UrYV09MjU1JnQ7LS1hPj0wJiYoaSo9MjU2KTspdGhpc1tlK2FdPXQvaSYyNTU7cmV0dXJuIGUrcn0sZS5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsMSwyNTUsMCksdGhpc1tlXT0yNTUmdCxlKzF9LGUucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDIsNjU1MzUsMCksdGhpc1tlXT0yNTUmdCx0aGlzW2UrMV09dD4+PjgsZSsyfSxlLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8UCh0aGlzLHQsZSwyLDY1NTM1LDApLHRoaXNbZV09dD4+PjgsdGhpc1tlKzFdPTI1NSZ0LGUrMn0sZS5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbZSszXT10Pj4+MjQsdGhpc1tlKzJdPXQ+Pj4xNix0aGlzW2UrMV09dD4+PjgsdGhpc1tlXT0yNTUmdCxlKzR9LGUucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDQsNDI5NDk2NzI5NSwwKSx0aGlzW2VdPXQ+Pj4yNCx0aGlzW2UrMV09dD4+PjE2LHRoaXNbZSsyXT10Pj4+OCx0aGlzW2UrM109MjU1JnQsZSs0fSxlLnByb3RvdHlwZS53cml0ZUludExFPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQ9K3QsZT4+Pj0wLCFuKXt2YXIgYT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsdCxlLHIsYS0xLC1hKX12YXIgaT0wLG89MSxzPTA7Zm9yKHRoaXNbZV09MjU1JnQ7KytpPHImJihvKj0yNTYpOyl0PDAmJjA9PT1zJiYwIT09dGhpc1tlK2ktMV0mJihzPTEpLHRoaXNbZStpXT0odC9vPj4wKS1zJjI1NTtyZXR1cm4gZStyfSxlLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQ9K3QsZT4+Pj0wLCFuKXt2YXIgYT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsdCxlLHIsYS0xLC1hKX12YXIgaT1yLTEsbz0xLHM9MDtmb3IodGhpc1tlK2ldPTI1NSZ0Oy0taT49MCYmKG8qPTI1Nik7KXQ8MCYmMD09PXMmJjAhPT10aGlzW2UraSsxXSYmKHM9MSksdGhpc1tlK2ldPSh0L28+PjApLXMmMjU1O3JldHVybiBlK3J9LGUucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsMSwxMjcsLTEyOCksdDwwJiYodD0yNTUrdCsxKSx0aGlzW2VdPTI1NSZ0LGUrMX0sZS5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8UCh0aGlzLHQsZSwyLDMyNzY3LC0zMjc2OCksdGhpc1tlXT0yNTUmdCx0aGlzW2UrMV09dD4+PjgsZSsyfSxlLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx0aGlzW2VdPXQ+Pj44LHRoaXNbZSsxXT0yNTUmdCxlKzJ9LGUucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0aGlzW2VdPTI1NSZ0LHRoaXNbZSsxXT10Pj4+OCx0aGlzW2UrMl09dD4+PjE2LHRoaXNbZSszXT10Pj4+MjQsZSs0fSxlLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdDwwJiYodD00Mjk0OTY3Mjk1K3QrMSksdGhpc1tlXT10Pj4+MjQsdGhpc1tlKzFdPXQ+Pj4xNix0aGlzW2UrMl09dD4+PjgsdGhpc1tlKzNdPTI1NSZ0LGUrNH0sZS5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4geih0aGlzLHQsZSwhMCxyKX0sZS5wcm90b3R5cGUud3JpdGVGbG9hdEJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4geih0aGlzLHQsZSwhMSxyKX0sZS5wcm90b3R5cGUud3JpdGVEb3VibGVMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIEkodGhpcyx0LGUsITAscil9LGUucHJvdG90eXBlLndyaXRlRG91YmxlQkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBJKHRoaXMsdCxlLCExLHIpfSxlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQscixuLGEpe2lmKCFlLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhIEJ1ZmZlciIpO2lmKG58fChuPTApLGF8fDA9PT1hfHwoYT10aGlzLmxlbmd0aCkscj49dC5sZW5ndGgmJihyPXQubGVuZ3RoKSxyfHwocj0wKSxhPjAmJmE8biYmKGE9biksYT09PW4pcmV0dXJuIDA7aWYoMD09PXQubGVuZ3RofHwwPT09dGhpcy5sZW5ndGgpcmV0dXJuIDA7aWYocjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwfHxuPj10aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIik7aWYoYTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO2E+dGhpcy5sZW5ndGgmJihhPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1yPGEtbiYmKGE9dC5sZW5ndGgtcituKTt2YXIgaT1hLW47aWYodGhpcz09PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKXRoaXMuY29weVdpdGhpbihyLG4sYSk7ZWxzZSBpZih0aGlzPT09dCYmbjxyJiZyPGEpZm9yKHZhciBvPWktMTtvPj0wOy0tbyl0W28rcl09dGhpc1tvK25dO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwodCx0aGlzLnN1YmFycmF5KG4sYSkscik7cmV0dXJuIGl9LGUucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxyLG4sYSl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIHI/KGE9cixyPTAsbj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiBuJiYoYT1uLG49dGhpcy5sZW5ndGgpLHZvaWQgMCE9PWEmJiJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nIik7aWYoInN0cmluZyI9PXR5cGVvZiBhJiYhZS5pc0VuY29kaW5nKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrYSk7aWYoMT09PXQubGVuZ3RoKXt2YXIgaT10LmNoYXJDb2RlQXQoMCk7KCJ1dGY4Ij09PWEmJmk8MTI4fHwibGF0aW4xIj09PWEpJiYodD1pKX19ZWxzZSJudW1iZXIiPT10eXBlb2YgdD90Jj0yNTU6ImJvb2xlYW4iPT10eXBlb2YgdCYmKHQ9TnVtYmVyKHQpKTtpZihyPDB8fHRoaXMubGVuZ3RoPHJ8fHRoaXMubGVuZ3RoPG4pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk91dCBvZiByYW5nZSBpbmRleCIpO2lmKG48PXIpcmV0dXJuIHRoaXM7dmFyIG87aWYocj4+Pj0wLG49dm9pZCAwPT09bj90aGlzLmxlbmd0aDpuPj4+MCx0fHwodD0wKSwibnVtYmVyIj09dHlwZW9mIHQpZm9yKG89cjtvPG47KytvKXRoaXNbb109dDtlbHNle3ZhciBzPWUuaXNCdWZmZXIodCk/dDplLmZyb20odCxhKSxsPXMubGVuZ3RoO2lmKDA9PT1sKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2YWx1ZSAiJyt0KyciIGlzIGludmFsaWQgZm9yIGFyZ3VtZW50ICJ2YWx1ZSInKTtmb3Iobz0wO288bi1yOysrbyl0aGlzW28rcl09c1tvJWxdfXJldHVybiB0aGlzfTt2YXIgRD0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFIodCl7cmV0dXJuIHQ8MTY/IjAiK3QudG9TdHJpbmcoMTYpOnQudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEYodCxlKXt2YXIgcjtlPWV8fDEvMDtmb3IodmFyIG49dC5sZW5ndGgsYT1udWxsLGk9W10sbz0wO288bjsrK28pe2lmKChyPXQuY2hhckNvZGVBdChvKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFhKXtpZihyPjU2MzE5KXsoZS09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYobysxPT09bil7KGUtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWE9cjtjb250aW51ZX1pZihyPDU2MzIwKXsoZS09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSksYT1yO2NvbnRpbnVlfXI9NjU1MzYrKGEtNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgYSYmKGUtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2lmKGE9bnVsbCxyPDEyOCl7aWYoKGUtPTEpPDApYnJlYWs7aS5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigoZS09Mik8MClicmVhaztpLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKGUtPTMpPDApYnJlYWs7aS5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigoZS09NCk8MClicmVhaztpLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBpfWZ1bmN0aW9uIEIodCl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24odCl7aWYoKHQ9KHQ9dC5zcGxpdCgiPSIpWzBdKS50cmltKCkucmVwbGFjZShELCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDt0Lmxlbmd0aCU0IT0wOyl0Kz0iPSI7cmV0dXJuIHR9KHQpKX1mdW5jdGlvbiBOKHQsZSxyLG4pe2Zvcih2YXIgYT0wO2E8biYmIShhK3I+PWUubGVuZ3RofHxhPj10Lmxlbmd0aCk7KythKWVbYStyXT10W2FdO3JldHVybiBhfWZ1bmN0aW9uIGoodCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIGV8fG51bGwhPXQmJm51bGwhPXQuY29uc3RydWN0b3ImJm51bGwhPXQuY29uc3RydWN0b3IubmFtZSYmdC5jb25zdHJ1Y3Rvci5uYW1lPT09ZS5uYW1lfWZ1bmN0aW9uIFYodCl7cmV0dXJuIHQhPXR9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYmFzZTY0LWpzIjo3NixidWZmZXI6MTA3LGllZWU3NTQ6NDE0fV0sMTA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL21vbm90b25lIiksYT10KCIuL2xpYi90cmlhbmd1bGF0aW9uIiksaT10KCIuL2xpYi9kZWxhdW5heSIpLG89dCgiLi9saWIvZmlsdGVyIik7ZnVuY3Rpb24gcyh0KXtyZXR1cm5bTWF0aC5taW4odFswXSx0WzFdKSxNYXRoLm1heCh0WzBdLHRbMV0pXX1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHRbMF0tZVswXXx8dFsxXS1lWzFdfWZ1bmN0aW9uIGModCxlLHIpe3JldHVybiBlIGluIHQ/dFtlXTpyfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7QXJyYXkuaXNBcnJheShlKT8ocj1yfHx7fSxlPWV8fFtdKToocj1lfHx7fSxlPVtdKTt2YXIgdT0hIWMociwiZGVsYXVuYXkiLCEwKSxoPSEhYyhyLCJpbnRlcmlvciIsITApLGY9ISFjKHIsImV4dGVyaW9yIiwhMCkscD0hIWMociwiaW5maW5pdHkiLCExKTtpZighaCYmIWZ8fDA9PT10Lmxlbmd0aClyZXR1cm5bXTt2YXIgZD1uKHQsZSk7aWYodXx8aCE9PWZ8fHApe2Zvcih2YXIgZz1hKHQubGVuZ3RoLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChzKS5zb3J0KGwpfShlKSksdj0wO3Y8ZC5sZW5ndGg7Kyt2KXt2YXIgbT1kW3ZdO2cuYWRkVHJpYW5nbGUobVswXSxtWzFdLG1bMl0pfXJldHVybiB1JiZpKHQsZyksZj9oP3A/byhnLDAscCk6Zy5jZWxscygpOm8oZywxLHApOm8oZywtMSl9cmV0dXJuIGR9fSx7Ii4vbGliL2RlbGF1bmF5IjoxMDksIi4vbGliL2ZpbHRlciI6MTEwLCIuL2xpYi9tb25vdG9uZSI6MTExLCIuL2xpYi90cmlhbmd1bGF0aW9uIjoxMTJ9XSwxMDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicm9idXN0LWluLXNwaGVyZSIpWzRdO3QoImJpbmFyeS1zZWFyY2gtYm91bmRzIik7ZnVuY3Rpb24gYSh0LGUscixhLGksbyl7dmFyIHM9ZS5vcHBvc2l0ZShhLGkpO2lmKCEoczwwKSl7aWYoaTxhKXt2YXIgbD1hO2E9aSxpPWwsbD1vLG89cyxzPWx9ZS5pc0NvbnN0cmFpbnQoYSxpKXx8bih0W2FdLHRbaV0sdFtvXSx0W3NdKTwwJiZyLnB1c2goYSxpKX19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLGk9dC5sZW5ndGgsbz1lLnN0YXJzLHM9MDtzPGk7KytzKWZvcih2YXIgbD1vW3NdLGM9MTtjPGwubGVuZ3RoO2MrPTIpe3ZhciB1PWxbY107aWYoISh1PHMpJiYhZS5pc0NvbnN0cmFpbnQocyx1KSl7Zm9yKHZhciBoPWxbYy0xXSxmPS0xLHA9MTtwPGwubGVuZ3RoO3ArPTIpaWYobFtwLTFdPT09dSl7Zj1sW3BdO2JyZWFrfWY8MHx8bih0W3NdLHRbdV0sdFtoXSx0W2ZdKTwwJiZyLnB1c2gocyx1KX19Zm9yKDtyLmxlbmd0aD4wOyl7Zm9yKHZhciB1PXIucG9wKCkscz1yLnBvcCgpLGg9LTEsZj0tMSxsPW9bc10sZD0xO2Q8bC5sZW5ndGg7ZCs9Mil7dmFyIGc9bFtkLTFdLHY9bFtkXTtnPT09dT9mPXY6dj09PXUmJihoPWcpfWg8MHx8ZjwwfHwobih0W3NdLHRbdV0sdFtoXSx0W2ZdKT49MHx8KGUuZmxpcChzLHUpLGEodCxlLHIsaCxzLGYpLGEodCxlLHIscyxmLGgpLGEodCxlLHIsZix1LGgpLGEodCxlLHIsdSxoLGYpKSl9fX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MTEzLCJyb2J1c3QtaW4tc3BoZXJlIjo1MDd9XSwxMTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG4sYT10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpO2Z1bmN0aW9uIGkodCxlLHIsbixhLGksbyl7dGhpcy5jZWxscz10LHRoaXMubmVpZ2hib3I9ZSx0aGlzLmZsYWdzPW4sdGhpcy5jb25zdHJhaW50PXIsdGhpcy5hY3RpdmU9YSx0aGlzLm5leHQ9aSx0aGlzLmJvdW5kYXJ5PW99ZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0WzBdLWVbMF18fHRbMV0tZVsxXXx8dFsyXS1lWzJdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5jZWxscygpLG49ci5sZW5ndGgsYT0wO2E8bjsrK2Epe3ZhciBzPXJbYV0sbD1zWzBdLGM9c1sxXSx1PXNbMl07Yzx1P2M8bCYmKHNbMF09YyxzWzFdPXUsc1syXT1sKTp1PGwmJihzWzBdPXUsc1sxXT1sLHNbMl09Yyl9ci5zb3J0KG8pO2Zvcih2YXIgaD1uZXcgQXJyYXkobiksYT0wO2E8aC5sZW5ndGg7KythKWhbYV09MDt2YXIgZj1bXSxwPVtdLGQ9bmV3IEFycmF5KDMqbiksZz1uZXcgQXJyYXkoMypuKSx2PW51bGw7ZSYmKHY9W10pO2Zvcih2YXIgbT1uZXcgaShyLGQsZyxoLGYscCx2KSxhPTA7YTxuOysrYSlmb3IodmFyIHM9clthXSx5PTA7eTwzOysreSl7dmFyIGw9c1t5XSxjPXNbKHkrMSklM10seD1kWzMqYSt5XT1tLmxvY2F0ZShjLGwsdC5vcHBvc2l0ZShjLGwpKSxiPWdbMyphK3ldPXQuaXNDb25zdHJhaW50KGwsYyk7eDwwJiYoYj9wLnB1c2goYSk6KGYucHVzaChhKSxoW2FdPTEpLGUmJnYucHVzaChbYyxsLC0xXSkpfXJldHVybiBtfSh0LHIpO2lmKDA9PT1lKXJldHVybiByP24uY2VsbHMuY29uY2F0KG4uYm91bmRhcnkpOm4uY2VsbHM7dmFyIGE9MSxzPW4uYWN0aXZlLGw9bi5uZXh0LGM9bi5mbGFncyx1PW4uY2VsbHMsaD1uLmNvbnN0cmFpbnQsZj1uLm5laWdoYm9yO2Zvcig7cy5sZW5ndGg+MHx8bC5sZW5ndGg+MDspe2Zvcig7cy5sZW5ndGg+MDspe3ZhciBwPXMucG9wKCk7aWYoY1twXSE9PS1hKXtjW3BdPWE7dVtwXTtmb3IodmFyIGQ9MDtkPDM7KytkKXt2YXIgZz1mWzMqcCtkXTtnPj0wJiYwPT09Y1tnXSYmKGhbMypwK2RdP2wucHVzaChnKToocy5wdXNoKGcpLGNbZ109YSkpfX19dmFyIHY9bDtsPXMscz12LGwubGVuZ3RoPTAsYT0tYX12YXIgbT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPTAsYT0wO2E8dC5sZW5ndGg7KythKWVbYV09PT1yJiYodFtuKytdPXRbYV0pO3JldHVybiB0Lmxlbmd0aD1uLHR9KHUsYyxlKTtpZihyKXJldHVybiBtLmNvbmNhdChuLmJvdW5kYXJ5KTtyZXR1cm4gbX0saS5wcm90b3R5cGUubG9jYXRlPShuPVswLDAsMF0sZnVuY3Rpb24odCxlLHIpe3ZhciBpPXQscz1lLGw9cjtyZXR1cm4gZTxyP2U8dCYmKGk9ZSxzPXIsbD10KTpyPHQmJihpPXIscz10LGw9ZSksaTwwPy0xOihuWzBdPWksblsxXT1zLG5bMl09bCxhLmVxKHRoaXMuY2VsbHMsbixvKSl9KX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MTEzfV0sMTExOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJyb2J1c3Qtb3JpZW50YXRpb24iKVszXSxpPTAsbz0xLHM9MjtmdW5jdGlvbiBsKHQsZSxyLG4sYSl7dGhpcy5hPXQsdGhpcy5iPWUsdGhpcy5pZHg9cix0aGlzLmxvd2VySWRzPW4sdGhpcy51cHBlcklkcz1hfWZ1bmN0aW9uIGModCxlLHIsbil7dGhpcy5hPXQsdGhpcy5iPWUsdGhpcy50eXBlPXIsdGhpcy5pZHg9bn1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9dC5hWzBdLWUuYVswXXx8dC5hWzFdLWUuYVsxXXx8dC50eXBlLWUudHlwZTtyZXR1cm4gcnx8KHQudHlwZSE9PWkmJihyPWEodC5hLHQuYixlLmIpKT9yOnQuaWR4LWUuaWR4KX1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIGEodC5hLHQuYixlKX1mdW5jdGlvbiBmKHQsZSxyLGksbyl7Zm9yKHZhciBzPW4ubHQoZSxpLGgpLGw9bi5ndChlLGksaCksYz1zO2M8bDsrK2Mpe2Zvcih2YXIgdT1lW2NdLGY9dS5sb3dlcklkcyxwPWYubGVuZ3RoO3A+MSYmYShyW2ZbcC0yXV0scltmW3AtMV1dLGkpPjA7KXQucHVzaChbZltwLTFdLGZbcC0yXSxvXSkscC09MTtmLmxlbmd0aD1wLGYucHVzaChvKTt2YXIgZD11LnVwcGVySWRzO2ZvcihwPWQubGVuZ3RoO3A+MSYmYShyW2RbcC0yXV0scltkW3AtMV1dLGkpPDA7KXQucHVzaChbZFtwLTJdLGRbcC0xXSxvXSkscC09MTtkLmxlbmd0aD1wLGQucHVzaChvKX19ZnVuY3Rpb24gcCh0LGUpe3ZhciByO3JldHVybihyPXQuYVswXTxlLmFbMF0/YSh0LmEsdC5iLGUuYSk6YShlLmIsZS5hLHQuYSkpP3I6KHI9ZS5iWzBdPHQuYlswXT9hKHQuYSx0LmIsZS5iKTphKGUuYixlLmEsdC5iKSl8fHQuaWR4LWUuaWR4fWZ1bmN0aW9uIGQodCxlLHIpe3ZhciBhPW4ubGUodCxyLHApLGk9dFthXSxvPWkudXBwZXJJZHMscz1vW28ubGVuZ3RoLTFdO2kudXBwZXJJZHM9W3NdLHQuc3BsaWNlKGErMSwwLG5ldyBsKHIuYSxyLmIsci5pZHgsW3NdLG8pKX1mdW5jdGlvbiBnKHQsZSxyKXt2YXIgYT1yLmE7ci5hPXIuYixyLmI9YTt2YXIgaT1uLmVxKHQscixwKSxvPXRbaV07dFtpLTFdLnVwcGVySWRzPW8udXBwZXJJZHMsdC5zcGxpY2UoaSwxKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj1lLmxlbmd0aCxhPVtdLGg9MDtoPHI7KytoKWEucHVzaChuZXcgYyh0W2hdLG51bGwsaSxoKSk7Zm9yKHZhciBoPTA7aDxuOysraCl7dmFyIHA9ZVtoXSx2PXRbcFswXV0sbT10W3BbMV1dO3ZbMF08bVswXT9hLnB1c2gobmV3IGModixtLHMsaCksbmV3IGMobSx2LG8saCkpOnZbMF0+bVswXSYmYS5wdXNoKG5ldyBjKG0sdixzLGgpLG5ldyBjKHYsbSxvLGgpKX1hLnNvcnQodSk7Zm9yKHZhciB5PWFbMF0uYVswXS0oMStNYXRoLmFicyhhWzBdLmFbMF0pKSpNYXRoLnBvdygyLC01MikseD1bbmV3IGwoW3ksMV0sW3ksMF0sLTEsW10sW10sW10sW10pXSxiPVtdLGg9MCxfPWEubGVuZ3RoO2g8XzsrK2gpe3ZhciB3PWFbaF0saz13LnR5cGU7az09PWk/ZihiLHgsdCx3LmEsdy5pZHgpOms9PT1zP2QoeCx0LHcpOmcoeCx0LHcpfXJldHVybiBifX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MTEzLCJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOX1dLDExMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpO2Z1bmN0aW9uIGEodCxlKXt0aGlzLnN0YXJzPXQsdGhpcy5lZGdlcz1lfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodCksbj0wO248dDsrK24pcltuXT1bXTtyZXR1cm4gbmV3IGEocixlKX07dmFyIGk9YS5wcm90b3R5cGU7ZnVuY3Rpb24gbyh0LGUscil7Zm9yKHZhciBuPTEsYT10Lmxlbmd0aDtuPGE7bis9MilpZih0W24tMV09PT1lJiZ0W25dPT09cilyZXR1cm4gdFtuLTFdPXRbYS0yXSx0W25dPXRbYS0xXSx2b2lkKHQubGVuZ3RoPWEtMil9aS5pc0NvbnN0cmFpbnQ9ZnVuY3Rpb24oKXt2YXIgdD1bMCwwXTtmdW5jdGlvbiBlKHQsZSl7cmV0dXJuIHRbMF0tZVswXXx8dFsxXS1lWzFdfXJldHVybiBmdW5jdGlvbihyLGEpe3JldHVybiB0WzBdPU1hdGgubWluKHIsYSksdFsxXT1NYXRoLm1heChyLGEpLG4uZXEodGhpcy5lZGdlcyx0LGUpPj0wfX0oKSxpLnJlbW92ZVRyaWFuZ2xlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnN0YXJzO28oblt0XSxlLHIpLG8obltlXSxyLHQpLG8obltyXSx0LGUpfSxpLmFkZFRyaWFuZ2xlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnN0YXJzO25bdF0ucHVzaChlLHIpLG5bZV0ucHVzaChyLHQpLG5bcl0ucHVzaCh0LGUpfSxpLm9wcG9zaXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuc3RhcnNbZV0sbj0xLGE9ci5sZW5ndGg7bjxhO24rPTIpaWYocltuXT09PXQpcmV0dXJuIHJbbi0xXTtyZXR1cm4tMX0saS5mbGlwPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5vcHBvc2l0ZSh0LGUpLG49dGhpcy5vcHBvc2l0ZShlLHQpO3RoaXMucmVtb3ZlVHJpYW5nbGUodCxlLHIpLHRoaXMucmVtb3ZlVHJpYW5nbGUoZSx0LG4pLHRoaXMuYWRkVHJpYW5nbGUodCxuLHIpLHRoaXMuYWRkVHJpYW5nbGUoZSxyLG4pfSxpLmVkZ2VzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuc3RhcnMsZT1bXSxyPTAsbj10Lmxlbmd0aDtyPG47KytyKWZvcih2YXIgYT10W3JdLGk9MCxvPWEubGVuZ3RoO2k8bztpKz0yKWUucHVzaChbYVtpXSxhW2krMV1dKTtyZXR1cm4gZX0saS5jZWxscz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLnN0YXJzLGU9W10scj0wLG49dC5sZW5ndGg7cjxuOysrcilmb3IodmFyIGE9dFtyXSxpPTAsbz1hLmxlbmd0aDtpPG87aSs9Mil7dmFyIHM9YVtpXSxsPWFbaSsxXTtyPE1hdGgubWluKHMsbCkmJmUucHVzaChbcixzLGxdKX1yZXR1cm4gZX19LHsiYmluYXJ5LXNlYXJjaC1ib3VuZHMiOjExM31dLDExMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxyLG4sYSl7dmFyIGk9WyJmdW5jdGlvbiAiLHQsIihhLGwsaCwiLG4uam9pbigiLCIpLCIpeyIsYT8iIjoidmFyIGk9IixyPyJsLTEiOiJoKzEiLCI7d2hpbGUobDw9aCl7dmFyIG09KGwraCk+Pj4xLHg9YVttXSJdO3JldHVybiBhP2UuaW5kZXhPZigiYyIpPDA/aS5wdXNoKCI7aWYoeD09PXkpe3JldHVybiBtfWVsc2UgaWYoeDw9eSl7Iik6aS5wdXNoKCI7dmFyIHA9Yyh4LHkpO2lmKHA9PT0wKXtyZXR1cm4gbX1lbHNlIGlmKHA8PTApeyIpOmkucHVzaCgiO2lmKCIsZSwiKXtpPW07Iikscj9pLnB1c2goImw9bSsxfWVsc2V7aD1tLTF9Iik6aS5wdXNoKCJoPW0tMX1lbHNle2w9bSsxfSIpLGkucHVzaCgifSIpLGE/aS5wdXNoKCJyZXR1cm4gLTF9OyIpOmkucHVzaCgicmV0dXJuIGl9OyIpLGkuam9pbigiIil9ZnVuY3Rpb24gYSh0LGUscixhKXtyZXR1cm4gbmV3IEZ1bmN0aW9uKFtuKCJBIiwieCIrdCsieSIsZSxbInkiXSxhKSxuKCJQIiwiYyh4LHkpIit0KyIwIixlLFsieSIsImMiXSxhKSwiZnVuY3Rpb24gZGlzcGF0Y2hCc2VhcmNoIixyLCIoYSx5LGMsbCxoKXtpZih0eXBlb2YoYyk9PT0nZnVuY3Rpb24nKXtyZXR1cm4gUChhLChsPT09dm9pZCAwKT8wOmx8MCwoaD09PXZvaWQgMCk/YS5sZW5ndGgtMTpofDAseSxjKX1lbHNle3JldHVybiBBKGEsKGM9PT12b2lkIDApPzA6Y3wwLChsPT09dm9pZCAwKT9hLmxlbmd0aC0xOmx8MCx5KX19cmV0dXJuIGRpc3BhdGNoQnNlYXJjaCIscl0uam9pbigiIikpKCl9ZS5leHBvcnRzPXtnZTphKCI+PSIsITEsIkdFIiksZ3Q6YSgiPiIsITEsIkdUIiksbHQ6YSgiPCIsITAsIkxUIiksbGU6YSgiPD0iLCEwLCJMRSIpLGVxOmEoIi0iLCEwLCJFUSIsITApfX0se31dLDExNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTEscj0xO3I8dC5sZW5ndGg7KytyKWZvcih2YXIgbj0wO248cjsrK24paWYodFtyXTx0W25dKWU9LWU7ZWxzZSBpZih0W25dPT09dFtyXSlyZXR1cm4gMDtyZXR1cm4gZX19LHt9XSwxMTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZHVwIiksYT10KCJyb2J1c3QtbGluZWFyLXNvbHZlIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgcj0wLG49dC5sZW5ndGgsYT0wO2E8bjsrK2Epcis9dFthXSplW2FdO3JldHVybiByfWZ1bmN0aW9uIG8odCl7dmFyIGU9dC5sZW5ndGg7aWYoMD09PWUpcmV0dXJuW107dFswXS5sZW5ndGg7dmFyIHI9bihbdC5sZW5ndGgrMSx0Lmxlbmd0aCsxXSwxKSxvPW4oW3QubGVuZ3RoKzFdLDEpO3JbZV1bZV09MDtmb3IodmFyIHM9MDtzPGU7KytzKXtmb3IodmFyIGw9MDtsPD1zOysrbClyW2xdW3NdPXJbc11bbF09MippKHRbc10sdFtsXSk7b1tzXT1pKHRbc10sdFtzXSl9dmFyIGM9YShyLG8pLHU9MCxoPWNbZSsxXTtmb3Iocz0wO3M8aC5sZW5ndGg7KytzKXUrPWhbc107dmFyIGY9bmV3IEFycmF5KGUpO2ZvcihzPTA7czxlOysrcyl7aD1jW3NdO3ZhciBwPTA7Zm9yKGw9MDtsPGgubGVuZ3RoOysrbClwKz1oW2xdO2Zbc109cC91fXJldHVybiBmfWZ1bmN0aW9uIHModCl7aWYoMD09PXQubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgZT10WzBdLmxlbmd0aCxyPW4oW2VdKSxhPW8odCksaT0wO2k8dC5sZW5ndGg7KytpKWZvcih2YXIgcz0wO3M8ZTsrK3MpcltzXSs9dFtpXVtzXSphW2ldO3JldHVybiByfXMuYmFyeWNlbmV0cmljPW8sZS5leHBvcnRzPXN9LHtkdXA6MTcyLCJyb2J1c3QtbGluZWFyLXNvbHZlIjo1MDh9XSwxMTY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW4odCkscj0wLGE9MDthPHQubGVuZ3RoOysrYSlmb3IodmFyIGk9dFthXSxvPTA7bzxlLmxlbmd0aDsrK28pcis9TWF0aC5wb3coaVtvXS1lW29dLDIpO3JldHVybiBNYXRoLnNxcnQoci90Lmxlbmd0aCl9O3ZhciBuPXQoImNpcmN1bWNlbnRlciIpfSx7Y2lyY3VtY2VudGVyOjExNX1dLDExNzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU8cj90PGU/ZTp0PnI/cjp0OnQ8cj9yOnQ+ZT9lOnR9fSx7fV0sMTE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG47aWYocil7bj1lO2Zvcih2YXIgYT1uZXcgQXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoOysraSl7dmFyIG89ZVtpXTthW2ldPVtvWzBdLG9bMV0scltpXV19ZT1hfXZhciBzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1kKHQsW10scCh0KSk7cmV0dXJuIG0oZSxuLHIpLCEhbn0odCxlLCEhcik7Zm9yKDt5KHQsZSwhIXIpOylzPSEwO2lmKHImJnMpe24ubGVuZ3RoPTAsci5sZW5ndGg9MDtmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSl7dmFyIG89ZVtpXTtuLnB1c2goW29bMF0sb1sxXV0pLHIucHVzaChvWzJdKX19cmV0dXJuIHN9O3ZhciBuPXQoInVuaW9uLWZpbmQiKSxhPXQoImJveC1pbnRlcnNlY3QiKSxpPXQoInJvYnVzdC1zZWdtZW50LWludGVyc2VjdCIpLG89dCgiYmlnLXJhdCIpLHM9dCgiYmlnLXJhdC9jbXAiKSxsPXQoImJpZy1yYXQvdG8tZmxvYXQiKSxjPXQoInJhdC12ZWMiKSx1PXQoIm5leHRhZnRlciIpLGg9dCgiLi9saWIvcmF0LXNlZy1pbnRlcnNlY3QiKTtmdW5jdGlvbiBmKHQpe3ZhciBlPWwodCk7cmV0dXJuW3UoZSwtMS8wKSx1KGUsMS8wKV19ZnVuY3Rpb24gcCh0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQubGVuZ3RoKSxyPTA7cjx0Lmxlbmd0aDsrK3Ipe3ZhciBuPXRbcl07ZVtyXT1bdShuWzBdLC0xLzApLHUoblsxXSwtMS8wKSx1KG5bMF0sMS8wKSx1KG5bMV0sMS8wKV19cmV0dXJuIGV9ZnVuY3Rpb24gZCh0LGUscil7Zm9yKHZhciBpPWUubGVuZ3RoLG89bmV3IG4oaSkscz1bXSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBjPWVbbF0saD1mKGNbMF0pLHA9ZihjWzFdKTtzLnB1c2goW3UoaFswXSwtMS8wKSx1KHBbMF0sLTEvMCksdShoWzFdLDEvMCksdShwWzFdLDEvMCldKX1hKHMsZnVuY3Rpb24odCxlKXtvLmxpbmsodCxlKX0pO3ZhciBkPSEwLGc9bmV3IEFycmF5KGkpO2ZvcihsPTA7bDxpOysrbCl7KG09by5maW5kKGwpKSE9PWwmJihkPSExLHRbbV09W01hdGgubWluKHRbbF1bMF0sdFttXVswXSksTWF0aC5taW4odFtsXVsxXSx0W21dWzFdKV0pfWlmKGQpcmV0dXJuIG51bGw7dmFyIHY9MDtmb3IobD0wO2w8aTsrK2wpe3ZhciBtOyhtPW8uZmluZChsKSk9PT1sPyhnW2xdPXYsdFt2KytdPXRbbF0pOmdbbF09LTF9dC5sZW5ndGg9djtmb3IobD0wO2w8aTsrK2wpZ1tsXTwwJiYoZ1tsXT1nW28uZmluZChsKV0pO3JldHVybiBnfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gdFswXS1lWzBdfHx0WzFdLWVbMV19ZnVuY3Rpb24gdih0LGUpe3ZhciByPXRbMF0tZVswXXx8dFsxXS1lWzFdO3JldHVybiByfHwodFsyXTxlWzJdPy0xOnRbMl0+ZVsyXT8xOjApfWZ1bmN0aW9uIG0odCxlLHIpe2lmKDAhPT10Lmxlbmd0aCl7aWYoZSlmb3IodmFyIG49MDtuPHQubGVuZ3RoOysrbil7dmFyIGE9ZVsobz10W25dKVswXV0saT1lW29bMV1dO29bMF09TWF0aC5taW4oYSxpKSxvWzFdPU1hdGgubWF4KGEsaSl9ZWxzZSBmb3Iobj0wO248dC5sZW5ndGg7KytuKXt2YXIgbzthPShvPXRbbl0pWzBdLGk9b1sxXTtvWzBdPU1hdGgubWluKGEsaSksb1sxXT1NYXRoLm1heChhLGkpfXI/dC5zb3J0KHYpOnQuc29ydChnKTt2YXIgcz0xO2ZvcihuPTE7bjx0Lmxlbmd0aDsrK24pe3ZhciBsPXRbbi0xXSxjPXRbbl07KGNbMF0hPT1sWzBdfHxjWzFdIT09bFsxXXx8ciYmY1syXSE9PWxbMl0pJiYodFtzKytdPWMpfXQubGVuZ3RoPXN9fWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlLmxlbmd0aCksbj0wO248ZS5sZW5ndGg7KytuKXt2YXIgYT1lW25dLGk9dFthWzBdXSxvPXRbYVsxXV07cltuXT1bdShNYXRoLm1pbihpWzBdLG9bMF0pLC0xLzApLHUoTWF0aC5taW4oaVsxXSxvWzFdKSwtMS8wKSx1KE1hdGgubWF4KGlbMF0sb1swXSksMS8wKSx1KE1hdGgubWF4KGlbMV0sb1sxXSksMS8wKV19cmV0dXJuIHJ9KHQsZSksZj1mdW5jdGlvbih0LGUscil7dmFyIG49W107cmV0dXJuIGEocixmdW5jdGlvbihyLGEpe3ZhciBvPWVbcl0scz1lW2FdO2lmKG9bMF0hPT1zWzBdJiZvWzBdIT09c1sxXSYmb1sxXSE9PXNbMF0mJm9bMV0hPT1zWzFdKXt2YXIgbD10W29bMF1dLGM9dFtvWzFdXSx1PXRbc1swXV0saD10W3NbMV1dO2kobCxjLHUsaCkmJm4ucHVzaChbcixhXSl9fSksbn0odCxlLG4pLGc9cCh0KSx2PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBvPVtdO3JldHVybiBhKHIsbixmdW5jdGlvbihyLG4pe3ZhciBhPWVbcl07aWYoYVswXSE9PW4mJmFbMV0hPT1uKXt2YXIgcz10W25dLGw9dFthWzBdXSxjPXRbYVsxXV07aShsLGMscyxzKSYmby5wdXNoKFtyLG5dKX19KSxvfSh0LGUsbixnKSx5PWQodCxmdW5jdGlvbih0LGUscixuLGEpe3ZhciBpLHUsZj10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm5bbyh0WzBdKSxvKHRbMV0pXX0pO2ZvcihpPTA7aTxyLmxlbmd0aDsrK2kpe3ZhciBwPXJbaV07dT1wWzBdO3ZhciBkPXBbMV0sZz1lW3VdLHY9ZVtkXSxtPWgoYyh0W2dbMF1dKSxjKHRbZ1sxXV0pLGModFt2WzBdXSksYyh0W3ZbMV1dKSk7aWYobSl7dmFyIHk9dC5sZW5ndGg7dC5wdXNoKFtsKG1bMF0pLGwobVsxXSldKSxmLnB1c2gobSksbi5wdXNoKFt1LHldLFtkLHldKX19Zm9yKG4uc29ydChmdW5jdGlvbih0LGUpe2lmKHRbMF0hPT1lWzBdKXJldHVybiB0WzBdLWVbMF07dmFyIHI9Zlt0WzFdXSxuPWZbZVsxXV07cmV0dXJuIHMoclswXSxuWzBdKXx8cyhyWzFdLG5bMV0pfSksaT1uLmxlbmd0aC0xO2k+PTA7LS1pKXt2YXIgeD1lW3U9KFM9bltpXSlbMF1dLGI9eFswXSxfPXhbMV0sdz10W2JdLGs9dFtfXTtpZigod1swXS1rWzBdfHx3WzFdLWtbMV0pPDApe3ZhciBUPWI7Yj1fLF89VH14WzBdPWI7dmFyIE0sQT14WzFdPVNbMV07Zm9yKGEmJihNPXhbMl0pO2k+MCYmbltpLTFdWzBdPT09dTspe3ZhciBTLEU9KFM9blstLWldKVsxXTthP2UucHVzaChbQSxFLE1dKTplLnB1c2goW0EsRV0pLEE9RX1hP2UucHVzaChbQSxfLE1dKTplLnB1c2goW0EsX10pfXJldHVybiBmfSh0LGUsZix2LHIpKTtyZXR1cm4gbShlLHksciksISF5fHwoZi5sZW5ndGg+MHx8di5sZW5ndGg+MCl9fSx7Ii4vbGliL3JhdC1zZWctaW50ZXJzZWN0IjoxMTksImJpZy1yYXQiOjgwLCJiaWctcmF0L2NtcCI6NzgsImJpZy1yYXQvdG8tZmxvYXQiOjkyLCJib3gtaW50ZXJzZWN0Ijo5OCxuZXh0YWZ0ZXI6NDUzLCJyYXQtdmVjIjo0ODgsInJvYnVzdC1zZWdtZW50LWludGVyc2VjdCI6NTEyLCJ1bmlvbi1maW5kIjo1NDV9XSwxMTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXMoZSx0KSxoPXMobixyKSxmPXUoaSxoKTtpZigwPT09byhmKSlyZXR1cm4gbnVsbDt2YXIgcD1zKHQsciksZD11KGgscCksZz1hKGQsZiksdj1jKGksZyk7cmV0dXJuIGwodCx2KX07dmFyIG49dCgiYmlnLXJhdC9tdWwiKSxhPXQoImJpZy1yYXQvZGl2IiksaT10KCJiaWctcmF0L3N1YiIpLG89dCgiYmlnLXJhdC9zaWduIikscz10KCJyYXQtdmVjL3N1YiIpLGw9dCgicmF0LXZlYy9hZGQiKSxjPXQoInJhdC12ZWMvbXVscyIpO2Z1bmN0aW9uIHUodCxlKXtyZXR1cm4gaShuKHRbMF0sZVsxXSksbih0WzFdLGVbMF0pKX19LHsiYmlnLXJhdC9kaXYiOjc5LCJiaWctcmF0L211bCI6ODksImJpZy1yYXQvc2lnbiI6OTAsImJpZy1yYXQvc3ViIjo5MSwicmF0LXZlYy9hZGQiOjQ4NywicmF0LXZlYy9tdWxzIjo0ODksInJhdC12ZWMvc3ViIjo0OTB9XSwxMjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY2xhbXAiKTtmdW5jdGlvbiBhKHQsZSl7bnVsbD09ZSYmKGU9ITApO3ZhciByPXRbMF0sYT10WzFdLGk9dFsyXSxvPXRbM107cmV0dXJuIG51bGw9PW8mJihvPWU/MToyNTUpLGUmJihyKj0yNTUsYSo9MjU1LGkqPTI1NSxvKj0yNTUpLDE2Nzc3MjE2KihyPTI1NSZuKHIsMCwyNTUpKSsoKGE9MjU1Jm4oYSwwLDI1NSkpPDwxNikrKChpPTI1NSZuKGksMCwyNTUpKTw8OCkrKG89MjU1Jm4obywwLDI1NSkpfWUuZXhwb3J0cz1hLGUuZXhwb3J0cy50bz1hLGUuZXhwb3J0cy5mcm9tPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQ9K3QpPj4+MjQsbj0oMTY3MTE2ODAmdCk+Pj4xNixhPSg2NTI4MCZ0KT4+PjgsaT0yNTUmdDtyZXR1cm4hMT09PWU/W3IsbixhLGldOltyLzI1NSxuLzI1NSxhLzI1NSxpLzI1NV19fSx7Y2xhbXA6MTE3fV0sMTIxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YWxpY2VibHVlOlsyNDAsMjQ4LDI1NV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNV0sYXF1YTpbMCwyNTUsMjU1XSxhcXVhbWFyaW5lOlsxMjcsMjU1LDIxMl0sYXp1cmU6WzI0MCwyNTUsMjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJpc3F1ZTpbMjU1LDIyOCwxOTZdLGJsYWNrOlswLDAsMF0sYmxhbmNoZWRhbG1vbmQ6WzI1NSwyMzUsMjA1XSxibHVlOlswLDAsMjU1XSxibHVldmlvbGV0OlsxMzgsNDMsMjI2XSxicm93bjpbMTY1LDQyLDQyXSxidXJseXdvb2Q6WzIyMiwxODQsMTM1XSxjYWRldGJsdWU6Wzk1LDE1OCwxNjBdLGNoYXJ0cmV1c2U6WzEyNywyNTUsMF0sY2hvY29sYXRlOlsyMTAsMTA1LDMwXSxjb3JhbDpbMjU1LDEyNyw4MF0sY29ybmZsb3dlcmJsdWU6WzEwMCwxNDksMjM3XSxjb3Juc2lsazpbMjU1LDI0OCwyMjBdLGNyaW1zb246WzIyMCwyMCw2MF0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dvbGRlbnJvZDpbMTg0LDEzNCwxMV0sZGFya2dyYXk6WzE2OSwxNjksMTY5XSxkYXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6WzEzOSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpbMjU1LDE0MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzksMCwwXSxkYXJrc2FsbW9uOlsyMzMsMTUwLDEyMl0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0M10sZGFya3NsYXRlYmx1ZTpbNzIsNjEsMTM5XSxkYXJrc2xhdGVncmF5Ols0Nyw3OSw3OV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzldLGRhcmt0dXJxdW9pc2U6WzAsMjA2LDIwOV0sZGFya3Zpb2xldDpbMTQ4LDAsMjExXSxkZWVwcGluazpbMjU1LDIwLDE0N10sZGVlcHNreWJsdWU6WzAsMTkxLDI1NV0sZGltZ3JheTpbMTA1LDEwNSwxMDVdLGRpbWdyZXk6WzEwNSwxMDUsMTA1XSxkb2RnZXJibHVlOlszMCwxNDQsMjU1XSxmaXJlYnJpY2s6WzE3OCwzNCwzNF0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwXSxmb3Jlc3RncmVlbjpbMzQsMTM5LDM0XSxmdWNoc2lhOlsyNTUsMCwyNTVdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjBdLGdob3N0d2hpdGU6WzI0OCwyNDgsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMl0sZ3JheTpbMTI4LDEyOCwxMjhdLGdyZWVuOlswLDEyOCwwXSxncmVlbnllbGxvdzpbMTczLDI1NSw0N10sZ3JleTpbMTI4LDEyOCwxMjhdLGhvbmV5ZGV3OlsyNDAsMjU1LDI0MF0saG90cGluazpbMjU1LDEwNSwxODBdLGluZGlhbnJlZDpbMjA1LDkyLDkyXSxpbmRpZ286Wzc1LDAsMTMwXSxpdm9yeTpbMjU1LDI1NSwyNDBdLGtoYWtpOlsyNDAsMjMwLDE0MF0sbGF2ZW5kZXI6WzIzMCwyMzAsMjUwXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NV0sbGF3bmdyZWVuOlsxMjQsMjUyLDBdLGxlbW9uY2hpZmZvbjpbMjU1LDI1MCwyMDVdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y29yYWw6WzI0MCwxMjgsMTI4XSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTBdLGxpZ2h0Z3JheTpbMjExLDIxMSwyMTFdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHNhbG1vbjpbMjU1LDE2MCwxMjJdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzBdLGxpZ2h0c2t5Ymx1ZTpbMTM1LDIwNiwyNTBdLGxpZ2h0c2xhdGVncmF5OlsxMTksMTM2LDE1M10sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzXSxsaWdodHN0ZWVsYmx1ZTpbMTc2LDE5NiwyMjJdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbGltZWdyZWVuOls1MCwyMDUsNTBdLGxpbmVuOlsyNTAsMjQwLDIzMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG1lZGl1bWFxdWFtYXJpbmU6WzEwMiwyMDUsMTcwXSxtZWRpdW1ibHVlOlswLDAsMjA1XSxtZWRpdW1vcmNoaWQ6WzE4Niw4NSwyMTFdLG1lZGl1bXB1cnBsZTpbMTQ3LDExMiwyMTldLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzXSxtZWRpdW1zbGF0ZWJsdWU6WzEyMywxMDQsMjM4XSxtZWRpdW1zcHJpbmdncmVlbjpbMCwyNTAsMTU0XSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDRdLG1lZGl1bXZpb2xldHJlZDpbMTk5LDIxLDEzM10sbWlkbmlnaHRibHVlOlsyNSwyNSwxMTJdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTBdLG1pc3R5cm9zZTpbMjU1LDIyOCwyMjVdLG1vY2Nhc2luOlsyNTUsMjI4LDE4MV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczXSxuYXZ5OlswLDAsMTI4XSxvbGRsYWNlOlsyNTMsMjQ1LDIzMF0sb2xpdmU6WzEyOCwxMjgsMF0sb2xpdmVkcmFiOlsxMDcsMTQyLDM1XSxvcmFuZ2U6WzI1NSwxNjUsMF0sb3JhbmdlcmVkOlsyNTUsNjksMF0sb3JjaGlkOlsyMTgsMTEyLDIxNF0scGFsZWdvbGRlbnJvZDpbMjM4LDIzMiwxNzBdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTJdLHBhbGV0dXJxdW9pc2U6WzE3NSwyMzgsMjM4XSxwYWxldmlvbGV0cmVkOlsyMTksMTEyLDE0N10scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTNdLHBlYWNocHVmZjpbMjU1LDIxOCwxODVdLHBlcnU6WzIwNSwxMzMsNjNdLHBpbms6WzI1NSwxOTIsMjAzXSxwbHVtOlsyMjEsMTYwLDIyMV0scG93ZGVyYmx1ZTpbMTc2LDIyNCwyMzBdLHB1cnBsZTpbMTI4LDAsMTI4XSxyZWJlY2NhcHVycGxlOlsxMDIsNTEsMTUzXSxyZWQ6WzI1NSwwLDBdLHJvc3licm93bjpbMTg4LDE0MywxNDNdLHJveWFsYmx1ZTpbNjUsMTA1LDIyNV0sc2FkZGxlYnJvd246WzEzOSw2OSwxOV0sc2FsbW9uOlsyNTAsMTI4LDExNF0sc2FuZHlicm93bjpbMjQ0LDE2NCw5Nl0sc2VhZ3JlZW46WzQ2LDEzOSw4N10sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4XSxzaWVubmE6WzE2MCw4Miw0NV0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzVdLHNsYXRlYmx1ZTpbMTA2LDkwLDIwNV0sc2xhdGVncmF5OlsxMTIsMTI4LDE0NF0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NF0sc25vdzpbMjU1LDI1MCwyNTBdLHNwcmluZ2dyZWVuOlswLDI1NSwxMjddLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MF0sdGFuOlsyMTAsMTgwLDE0MF0sdGVhbDpbMCwxMjgsMTI4XSx0aGlzdGxlOlsyMTYsMTkxLDIxNl0sdG9tYXRvOlsyNTUsOTksNzFdLHR1cnF1b2lzZTpbNjQsMjI0LDIwOF0sdmlvbGV0OlsyMzgsMTMwLDIzOF0sd2hlYXQ6WzI0NSwyMjIsMTc5XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1XSx5ZWxsb3c6WzI1NSwyNTUsMF0seWVsbG93Z3JlZW46WzE1NCwyMDUsNTBdfX0se31dLDEyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjb2xvci1yZ2JhIiksYT10KCJjbGFtcCIpLGk9dCgiZHR5cGUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXsiZmxvYXQiIT09ZSYmZXx8KGU9ImFycmF5IiksInVpbnQiPT09ZSYmKGU9InVpbnQ4IiksInVpbnRfY2xhbXBlZCI9PT1lJiYoZT0idWludDhfY2xhbXBlZCIpO3ZhciByPW5ldyhpKGUpKSg0KSxvPSJ1aW50OCIhPT1lJiYidWludDhfY2xhbXBlZCIhPT1lO3JldHVybiB0Lmxlbmd0aCYmInN0cmluZyIhPXR5cGVvZiB0fHwoKHQ9bih0KSlbMF0vPTI1NSx0WzFdLz0yNTUsdFsyXS89MjU1KSxmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8ISEoQXJyYXkuaXNBcnJheSh0KSYmKHRbMF0+MXx8MD09PXRbMF0pJiYodFsxXT4xfHwwPT09dFsxXSkmJih0WzJdPjF8fDA9PT10WzJdKSYmKCF0WzNdfHx0WzNdPjEpKX0odCk/KHJbMF09dFswXSxyWzFdPXRbMV0sclsyXT10WzJdLHJbM109bnVsbCE9dFszXT90WzNdOjI1NSxvJiYoclswXS89MjU1LHJbMV0vPTI1NSxyWzJdLz0yNTUsclszXS89MjU1KSxyKToobz8oclswXT10WzBdLHJbMV09dFsxXSxyWzJdPXRbMl0sclszXT1udWxsIT10WzNdP3RbM106MSk6KHJbMF09YShNYXRoLmZsb29yKDI1NSp0WzBdKSwwLDI1NSksclsxXT1hKE1hdGguZmxvb3IoMjU1KnRbMV0pLDAsMjU1KSxyWzJdPWEoTWF0aC5mbG9vcigyNTUqdFsyXSksMCwyNTUpLHJbM109bnVsbD09dFszXT8yNTU6YShNYXRoLmZsb29yKDI1NSp0WzNdKSwwLDI1NSkpLHIpfX0se2NsYW1wOjExNywiY29sb3ItcmdiYSI6MTI0LGR0eXBlOjE3MX1dLDEyMzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY29sb3ItbmFtZSIpLGE9dCgiaXMtcGxhaW4tb2JqIiksaT10KCJkZWZpbmVkIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHMsbD1bXSxjPTE7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKG5bdF0pbD1uW3RdLnNsaWNlKCkscz0icmdiIjtlbHNlIGlmKCJ0cmFuc3BhcmVudCI9PT10KWM9MCxzPSJyZ2IiLGw9WzAsMCwwXTtlbHNlIGlmKC9eI1tBLUZhLWYwLTldKyQvLnRlc3QodCkpe3ZhciB1PXQuc2xpY2UoMSksaD11Lmxlbmd0aCxmPWg8PTQ7Yz0xLGY/KGw9W3BhcnNlSW50KHVbMF0rdVswXSwxNikscGFyc2VJbnQodVsxXSt1WzFdLDE2KSxwYXJzZUludCh1WzJdK3VbMl0sMTYpXSw0PT09aCYmKGM9cGFyc2VJbnQodVszXSt1WzNdLDE2KS8yNTUpKToobD1bcGFyc2VJbnQodVswXSt1WzFdLDE2KSxwYXJzZUludCh1WzJdK3VbM10sMTYpLHBhcnNlSW50KHVbNF0rdVs1XSwxNildLDg9PT1oJiYoYz1wYXJzZUludCh1WzZdK3VbN10sMTYpLzI1NSkpLGxbMF18fChsWzBdPTApLGxbMV18fChsWzFdPTApLGxbMl18fChsWzJdPTApLHM9InJnYiJ9ZWxzZSBpZihlPS9eKCg/OnJnYnxoc1tsdmJdfGh3YnxjbXlrP3x4eVt6eV18Z3JheXxsYWJ8bGNodT92P3xbbHlddXZ8bG1zKWE/KVxzKlwoKFteXCldKilcKS8uZXhlYyh0KSl7dmFyIHA9ZVsxXSxkPSJyZ2IiPT09cCx1PXAucmVwbGFjZSgvYSQvLCIiKTtzPXU7dmFyIGg9ImNteWsiPT09dT80OiJncmF5Ij09PXU/MTozO2w9ZVsyXS50cmltKCkuc3BsaXQoL1xzKixccyovKS5tYXAoZnVuY3Rpb24odCxlKXtpZigvJSQvLnRlc3QodCkpcmV0dXJuIGU9PT1oP3BhcnNlRmxvYXQodCkvMTAwOiJyZ2IiPT09dT8yNTUqcGFyc2VGbG9hdCh0KS8xMDA6cGFyc2VGbG9hdCh0KTtpZigiaCI9PT11W2VdKXtpZigvZGVnJC8udGVzdCh0KSlyZXR1cm4gcGFyc2VGbG9hdCh0KTtpZih2b2lkIDAhPT1vW3RdKXJldHVybiBvW3RdfXJldHVybiBwYXJzZUZsb2F0KHQpfSkscD09PXUmJmwucHVzaCgxKSxjPWQ/MTp2b2lkIDA9PT1sW2hdPzE6bFtoXSxsPWwuc2xpY2UoMCxoKX1lbHNlIHQubGVuZ3RoPjEwJiYvWzAtOV0oPzpcc3xcLykvLnRlc3QodCkmJihsPXQubWF0Y2goLyhbMC05XSspL2cpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KX0pLHM9dC5tYXRjaCgvKFthLXpdKS9naSkuam9pbigiIikudG9Mb3dlckNhc2UoKSk7ZWxzZSBpZihpc05hTih0KSlpZihhKHQpKXt2YXIgZz1pKHQucix0LnJlZCx0LlIsbnVsbCk7bnVsbCE9PWc/KHM9InJnYiIsbD1bZyxpKHQuZyx0LmdyZWVuLHQuRyksaSh0LmIsdC5ibHVlLHQuQildKToocz0iaHNsIixsPVtpKHQuaCx0Lmh1ZSx0LkgpLGkodC5zLHQuc2F0dXJhdGlvbix0LlMpLGkodC5sLHQubGlnaHRuZXNzLHQuTCx0LmIsdC5icmlnaHRuZXNzKV0pLGM9aSh0LmEsdC5hbHBoYSx0Lm9wYWNpdHksMSksbnVsbCE9dC5vcGFjaXR5JiYoYy89MTAwKX1lbHNlKEFycmF5LmlzQXJyYXkodCl8fHIuQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldyYmQXJyYXlCdWZmZXIuaXNWaWV3KHQpKSYmKGw9W3RbMF0sdFsxXSx0WzJdXSxzPSJyZ2IiLGM9ND09PXQubGVuZ3RoP3RbM106MSk7ZWxzZSBzPSJyZ2IiLGw9W3Q+Pj4xNiwoNjUyODAmdCk+Pj44LDI1NSZ0XTtyZXR1cm57c3BhY2U6cyx2YWx1ZXM6bCxhbHBoYTpjfX07dmFyIG89e3JlZDowLG9yYW5nZTo2MCx5ZWxsb3c6MTIwLGdyZWVuOjE4MCxibHVlOjI0MCxwdXJwbGU6MzAwfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyJjb2xvci1uYW1lIjoxMjEsZGVmaW5lZDoxNjYsImlzLXBsYWluLW9iaiI6NDI0fV0sMTI0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImNvbG9yLXBhcnNlIiksYT10KCJjb2xvci1zcGFjZS9oc2wiKSxpPXQoImNsYW1wIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9bih0KTtyZXR1cm4gci5zcGFjZT8oKGU9QXJyYXkoMykpWzBdPWkoci52YWx1ZXNbMF0sMCwyNTUpLGVbMV09aShyLnZhbHVlc1sxXSwwLDI1NSksZVsyXT1pKHIudmFsdWVzWzJdLDAsMjU1KSwiaCI9PT1yLnNwYWNlWzBdJiYoZT1hLnJnYihlKSksZS5wdXNoKGkoci5hbHBoYSwwLDEpKSxlKTpbXX19LHtjbGFtcDoxMTcsImNvbG9yLXBhcnNlIjoxMjMsImNvbG9yLXNwYWNlL2hzbCI6MTI1fV0sMTI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vcmdiIik7ZS5leHBvcnRzPXtuYW1lOiJoc2wiLG1pbjpbMCwwLDBdLG1heDpbMzYwLDEwMCwxMDBdLGNoYW5uZWw6WyJodWUiLCJzYXR1cmF0aW9uIiwibGlnaHRuZXNzIl0sYWxpYXM6WyJIU0wiXSxyZ2I6ZnVuY3Rpb24odCl7dmFyIGUscixuLGEsaSxvPXRbMF0vMzYwLHM9dFsxXS8xMDAsbD10WzJdLzEwMDtpZigwPT09cylyZXR1cm5baT0yNTUqbCxpLGldO2U9MipsLShyPWw8LjU/bCooMStzKTpsK3MtbCpzKSxhPVswLDAsMF07Zm9yKHZhciBjPTA7YzwzO2MrKykobj1vKzEvMyotKGMtMSkpPDA/bisrOm4+MSYmbi0tLGk9NipuPDE/ZSs2KihyLWUpKm46MipuPDE/cjozKm48Mj9lKyhyLWUpKigyLzMtbikqNjplLGFbY109MjU1Kmk7cmV0dXJuIGF9fSxuLmhzbD1mdW5jdGlvbih0KXt2YXIgZSxyLG49dFswXS8yNTUsYT10WzFdLzI1NSxpPXRbMl0vMjU1LG89TWF0aC5taW4obixhLGkpLHM9TWF0aC5tYXgobixhLGkpLGw9cy1vO3JldHVybiBzPT09bz9lPTA6bj09PXM/ZT0oYS1pKS9sOmE9PT1zP2U9MisoaS1uKS9sOmk9PT1zJiYoZT00KyhuLWEpL2wpLChlPU1hdGgubWluKDYwKmUsMzYwKSk8MCYmKGUrPTM2MCkscj0obytzKS8yLFtlLDEwMCoocz09PW8/MDpyPD0uNT9sLyhzK28pOmwvKDItcy1vKSksMTAwKnJdfX0seyIuL3JnYiI6MTI2fV0sMTI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bmFtZToicmdiIixtaW46WzAsMCwwXSxtYXg6WzI1NSwyNTUsMjU1XSxjaGFubmVsOlsicmVkIiwiZ3JlZW4iLCJibHVlIl0sYWxpYXM6WyJSR0IiXX19LHt9XSwxMjc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e2pldDpbe2luZGV4OjAscmdiOlswLDAsMTMxXX0se2luZGV4Oi4xMjUscmdiOlswLDYwLDE3MF19LHtpbmRleDouMzc1LHJnYjpbNSwyNTUsMjU1XX0se2luZGV4Oi42MjUscmdiOlsyNTUsMjU1LDBdfSx7aW5kZXg6Ljg3NSxyZ2I6WzI1MCwwLDBdfSx7aW5kZXg6MSxyZ2I6WzEyOCwwLDBdfV0saHN2Olt7aW5kZXg6MCxyZ2I6WzI1NSwwLDBdfSx7aW5kZXg6LjE2OSxyZ2I6WzI1MywyNTUsMl19LHtpbmRleDouMTczLHJnYjpbMjQ3LDI1NSwyXX0se2luZGV4Oi4zMzcscmdiOlswLDI1Miw0XX0se2luZGV4Oi4zNDEscmdiOlswLDI1MiwxMF19LHtpbmRleDouNTA2LHJnYjpbMSwyNDksMjU1XX0se2luZGV4Oi42NzEscmdiOlsyLDAsMjUzXX0se2luZGV4Oi42NzUscmdiOls4LDAsMjUzXX0se2luZGV4Oi44MzkscmdiOlsyNTUsMCwyNTFdfSx7aW5kZXg6Ljg0MyxyZ2I6WzI1NSwwLDI0NV19LHtpbmRleDoxLHJnYjpbMjU1LDAsNl19XSxob3Q6W3tpbmRleDowLHJnYjpbMCwwLDBdfSx7aW5kZXg6LjMscmdiOlsyMzAsMCwwXX0se2luZGV4Oi42LHJnYjpbMjU1LDIxMCwwXX0se2luZGV4OjEscmdiOlsyNTUsMjU1LDI1NV19XSxjb29sOlt7aW5kZXg6MCxyZ2I6WzAsMjU1LDI1NV19LHtpbmRleDoxLHJnYjpbMjU1LDAsMjU1XX1dLHNwcmluZzpbe2luZGV4OjAscmdiOlsyNTUsMCwyNTVdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMF19XSxzdW1tZXI6W3tpbmRleDowLHJnYjpbMCwxMjgsMTAyXX0se2luZGV4OjEscmdiOlsyNTUsMjU1LDEwMl19XSxhdXR1bW46W3tpbmRleDowLHJnYjpbMjU1LDAsMF19LHtpbmRleDoxLHJnYjpbMjU1LDI1NSwwXX1dLHdpbnRlcjpbe2luZGV4OjAscmdiOlswLDAsMjU1XX0se2luZGV4OjEscmdiOlswLDI1NSwxMjhdfV0sYm9uZTpbe2luZGV4OjAscmdiOlswLDAsMF19LHtpbmRleDouMzc2LHJnYjpbODQsODQsMTE2XX0se2luZGV4Oi43NTMscmdiOlsxNjksMjAwLDIwMF19LHtpbmRleDoxLHJnYjpbMjU1LDI1NSwyNTVdfV0sY29wcGVyOlt7aW5kZXg6MCxyZ2I6WzAsMCwwXX0se2luZGV4Oi44MDQscmdiOlsyNTUsMTYwLDEwMl19LHtpbmRleDoxLHJnYjpbMjU1LDE5OSwxMjddfV0sZ3JleXM6W3tpbmRleDowLHJnYjpbMCwwLDBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjU1XX1dLHlpZ25idTpbe2luZGV4OjAscmdiOls4LDI5LDg4XX0se2luZGV4Oi4xMjUscmdiOlszNyw1MiwxNDhdfSx7aW5kZXg6LjI1LHJnYjpbMzQsOTQsMTY4XX0se2luZGV4Oi4zNzUscmdiOlsyOSwxNDUsMTkyXX0se2luZGV4Oi41LHJnYjpbNjUsMTgyLDE5Nl19LHtpbmRleDouNjI1LHJnYjpbMTI3LDIwNSwxODddfSx7aW5kZXg6Ljc1LHJnYjpbMTk5LDIzMywxODBdfSx7aW5kZXg6Ljg3NSxyZ2I6WzIzNywyNDgsMjE3XX0se2luZGV4OjEscmdiOlsyNTUsMjU1LDIxN119XSxncmVlbnM6W3tpbmRleDowLHJnYjpbMCw2OCwyN119LHtpbmRleDouMTI1LHJnYjpbMCwxMDksNDRdfSx7aW5kZXg6LjI1LHJnYjpbMzUsMTM5LDY5XX0se2luZGV4Oi4zNzUscmdiOls2NSwxNzEsOTNdfSx7aW5kZXg6LjUscmdiOlsxMTYsMTk2LDExOF19LHtpbmRleDouNjI1LHJnYjpbMTYxLDIxNywxNTVdfSx7aW5kZXg6Ljc1LHJnYjpbMTk5LDIzMywxOTJdfSx7aW5kZXg6Ljg3NSxyZ2I6WzIyOSwyNDUsMjI0XX0se2luZGV4OjEscmdiOlsyNDcsMjUyLDI0NV19XSx5aW9ycmQ6W3tpbmRleDowLHJnYjpbMTI4LDAsMzhdfSx7aW5kZXg6LjEyNSxyZ2I6WzE4OSwwLDM4XX0se2luZGV4Oi4yNSxyZ2I6WzIyNywyNiwyOF19LHtpbmRleDouMzc1LHJnYjpbMjUyLDc4LDQyXX0se2luZGV4Oi41LHJnYjpbMjUzLDE0MSw2MF19LHtpbmRleDouNjI1LHJnYjpbMjU0LDE3OCw3Nl19LHtpbmRleDouNzUscmdiOlsyNTQsMjE3LDExOF19LHtpbmRleDouODc1LHJnYjpbMjU1LDIzNywxNjBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjA0XX1dLGJsdWVyZWQ6W3tpbmRleDowLHJnYjpbMCwwLDI1NV19LHtpbmRleDoxLHJnYjpbMjU1LDAsMF19XSxyZGJ1Olt7aW5kZXg6MCxyZ2I6WzUsMTAsMTcyXX0se2luZGV4Oi4zNSxyZ2I6WzEwNiwxMzcsMjQ3XX0se2luZGV4Oi41LHJnYjpbMTkwLDE5MCwxOTBdfSx7aW5kZXg6LjYscmdiOlsyMjAsMTcwLDEzMl19LHtpbmRleDouNyxyZ2I6WzIzMCwxNDUsOTBdfSx7aW5kZXg6MSxyZ2I6WzE3OCwxMCwyOF19XSxwaWNuaWM6W3tpbmRleDowLHJnYjpbMCwwLDI1NV19LHtpbmRleDouMSxyZ2I6WzUxLDE1MywyNTVdfSx7aW5kZXg6LjIscmdiOlsxMDIsMjA0LDI1NV19LHtpbmRleDouMyxyZ2I6WzE1MywyMDQsMjU1XX0se2luZGV4Oi40LHJnYjpbMjA0LDIwNCwyNTVdfSx7aW5kZXg6LjUscmdiOlsyNTUsMjU1LDI1NV19LHtpbmRleDouNixyZ2I6WzI1NSwyMDQsMjU1XX0se2luZGV4Oi43LHJnYjpbMjU1LDE1MywyNTVdfSx7aW5kZXg6LjgscmdiOlsyNTUsMTAyLDIwNF19LHtpbmRleDouOSxyZ2I6WzI1NSwxMDIsMTAyXX0se2luZGV4OjEscmdiOlsyNTUsMCwwXX1dLHJhaW5ib3c6W3tpbmRleDowLHJnYjpbMTUwLDAsOTBdfSx7aW5kZXg6LjEyNSxyZ2I6WzAsMCwyMDBdfSx7aW5kZXg6LjI1LHJnYjpbMCwyNSwyNTVdfSx7aW5kZXg6LjM3NSxyZ2I6WzAsMTUyLDI1NV19LHtpbmRleDouNSxyZ2I6WzQ0LDI1NSwxNTBdfSx7aW5kZXg6LjYyNSxyZ2I6WzE1MSwyNTUsMF19LHtpbmRleDouNzUscmdiOlsyNTUsMjM0LDBdfSx7aW5kZXg6Ljg3NSxyZ2I6WzI1NSwxMTEsMF19LHtpbmRleDoxLHJnYjpbMjU1LDAsMF19XSxwb3J0bGFuZDpbe2luZGV4OjAscmdiOlsxMiw1MSwxMzFdfSx7aW5kZXg6LjI1LHJnYjpbMTAsMTM2LDE4Nl19LHtpbmRleDouNSxyZ2I6WzI0MiwyMTEsNTZdfSx7aW5kZXg6Ljc1LHJnYjpbMjQyLDE0Myw1Nl19LHtpbmRleDoxLHJnYjpbMjE3LDMwLDMwXX1dLGJsYWNrYm9keTpbe2luZGV4OjAscmdiOlswLDAsMF19LHtpbmRleDouMixyZ2I6WzIzMCwwLDBdfSx7aW5kZXg6LjQscmdiOlsyMzAsMjEwLDBdfSx7aW5kZXg6LjcscmdiOlsyNTUsMjU1LDI1NV19LHtpbmRleDoxLHJnYjpbMTYwLDIwMCwyNTVdfV0sZWFydGg6W3tpbmRleDowLHJnYjpbMCwwLDEzMF19LHtpbmRleDouMSxyZ2I6WzAsMTgwLDE4MF19LHtpbmRleDouMixyZ2I6WzQwLDIxMCw0MF19LHtpbmRleDouNCxyZ2I6WzIzMCwyMzAsNTBdfSx7aW5kZXg6LjYscmdiOlsxMjAsNzAsMjBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjU1XX1dLGVsZWN0cmljOlt7aW5kZXg6MCxyZ2I6WzAsMCwwXX0se2luZGV4Oi4xNSxyZ2I6WzMwLDAsMTAwXX0se2luZGV4Oi40LHJnYjpbMTIwLDAsMTAwXX0se2luZGV4Oi42LHJnYjpbMTYwLDkwLDBdfSx7aW5kZXg6LjgscmdiOlsyMzAsMjAwLDBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTAsMjIwXX1dLGFscGhhOlt7aW5kZXg6MCxyZ2I6WzI1NSwyNTUsMjU1LDBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjU1LDFdfV0sdmlyaWRpczpbe2luZGV4OjAscmdiOls2OCwxLDg0XX0se2luZGV4Oi4xMyxyZ2I6WzcxLDQ0LDEyMl19LHtpbmRleDouMjUscmdiOls1OSw4MSwxMzldfSx7aW5kZXg6LjM4LHJnYjpbNDQsMTEzLDE0Ml19LHtpbmRleDouNSxyZ2I6WzMzLDE0NCwxNDFdfSx7aW5kZXg6LjYzLHJnYjpbMzksMTczLDEyOV19LHtpbmRleDouNzUscmdiOls5MiwyMDAsOTldfSx7aW5kZXg6Ljg4LHJnYjpbMTcwLDIyMCw1MF19LHtpbmRleDoxLHJnYjpbMjUzLDIzMSwzN119XSxpbmZlcm5vOlt7aW5kZXg6MCxyZ2I6WzAsMCw0XX0se2luZGV4Oi4xMyxyZ2I6WzMxLDEyLDcyXX0se2luZGV4Oi4yNSxyZ2I6Wzg1LDE1LDEwOV19LHtpbmRleDouMzgscmdiOlsxMzYsMzQsMTA2XX0se2luZGV4Oi41LHJnYjpbMTg2LDU0LDg1XX0se2luZGV4Oi42MyxyZ2I6WzIyNyw4OSw1MV19LHtpbmRleDouNzUscmdiOlsyNDksMTQwLDEwXX0se2luZGV4Oi44OCxyZ2I6WzI0OSwyMDEsNTBdfSx7aW5kZXg6MSxyZ2I6WzI1MiwyNTUsMTY0XX1dLG1hZ21hOlt7aW5kZXg6MCxyZ2I6WzAsMCw0XX0se2luZGV4Oi4xMyxyZ2I6WzI4LDE2LDY4XX0se2luZGV4Oi4yNSxyZ2I6Wzc5LDE4LDEyM119LHtpbmRleDouMzgscmdiOlsxMjksMzcsMTI5XX0se2luZGV4Oi41LHJnYjpbMTgxLDU0LDEyMl19LHtpbmRleDouNjMscmdiOlsyMjksODAsMTAwXX0se2luZGV4Oi43NSxyZ2I6WzI1MSwxMzUsOTddfSx7aW5kZXg6Ljg4LHJnYjpbMjU0LDE5NCwxMzVdfSx7aW5kZXg6MSxyZ2I6WzI1MiwyNTMsMTkxXX1dLHBsYXNtYTpbe2luZGV4OjAscmdiOlsxMyw4LDEzNV19LHtpbmRleDouMTMscmdiOls3NSwzLDE2MV19LHtpbmRleDouMjUscmdiOlsxMjUsMywxNjhdfSx7aW5kZXg6LjM4LHJnYjpbMTY4LDM0LDE1MF19LHtpbmRleDouNSxyZ2I6WzIwMyw3MCwxMjFdfSx7aW5kZXg6LjYzLHJnYjpbMjI5LDEwNyw5M119LHtpbmRleDouNzUscmdiOlsyNDgsMTQ4LDY1XX0se2luZGV4Oi44OCxyZ2I6WzI1MywxOTUsNDBdfSx7aW5kZXg6MSxyZ2I6WzI0MCwyNDksMzNdfV0sd2FybTpbe2luZGV4OjAscmdiOlsxMjUsMCwxNzldfSx7aW5kZXg6LjEzLHJnYjpbMTcyLDAsMTg3XX0se2luZGV4Oi4yNSxyZ2I6WzIxOSwwLDE3MF19LHtpbmRleDouMzgscmdiOlsyNTUsMCwxMzBdfSx7aW5kZXg6LjUscmdiOlsyNTUsNjMsNzRdfSx7aW5kZXg6LjYzLHJnYjpbMjU1LDEyMywwXX0se2luZGV4Oi43NSxyZ2I6WzIzNCwxNzYsMF19LHtpbmRleDouODgscmdiOlsxOTAsMjI4LDBdfSx7aW5kZXg6MSxyZ2I6WzE0NywyNTUsMF19XSxjb29sOlt7aW5kZXg6MCxyZ2I6WzEyNSwwLDE3OV19LHtpbmRleDouMTMscmdiOlsxMTYsMCwyMThdfSx7aW5kZXg6LjI1LHJnYjpbOTgsNzQsMjM3XX0se2luZGV4Oi4zOCxyZ2I6WzY4LDE0NiwyMzFdfSx7aW5kZXg6LjUscmdiOlswLDIwNCwxOTddfSx7aW5kZXg6LjYzLHJnYjpbMCwyNDcsMTQ2XX0se2luZGV4Oi43NSxyZ2I6WzAsMjU1LDg4XX0se2luZGV4Oi44OCxyZ2I6WzQwLDI1NSw4XX0se2luZGV4OjEscmdiOlsxNDcsMjU1LDBdfV0sInJhaW5ib3ctc29mdCI6W3tpbmRleDowLHJnYjpbMTI1LDAsMTc5XX0se2luZGV4Oi4xLHJnYjpbMTk5LDAsMTgwXX0se2luZGV4Oi4yLHJnYjpbMjU1LDAsMTIxXX0se2luZGV4Oi4zLHJnYjpbMjU1LDEwOCwwXX0se2luZGV4Oi40LHJnYjpbMjIyLDE5NCwwXX0se2luZGV4Oi41LHJnYjpbMTUwLDI1NSwwXX0se2luZGV4Oi42LHJnYjpbMCwyNTUsNTVdfSx7aW5kZXg6LjcscmdiOlswLDI0NiwxNTBdfSx7aW5kZXg6LjgscmdiOls1MCwxNjcsMjIyXX0se2luZGV4Oi45LHJnYjpbMTAzLDUxLDIzNV19LHtpbmRleDoxLHJnYjpbMTI0LDAsMTg2XX1dLGJhdGh5bWV0cnk6W3tpbmRleDowLHJnYjpbNDAsMjYsNDRdfSx7aW5kZXg6LjEzLHJnYjpbNTksNDksOTBdfSx7aW5kZXg6LjI1LHJnYjpbNjQsNzYsMTM5XX0se2luZGV4Oi4zOCxyZ2I6WzYzLDExMCwxNTFdfSx7aW5kZXg6LjUscmdiOls3MiwxNDIsMTU4XX0se2luZGV4Oi42MyxyZ2I6Wzg1LDE3NCwxNjNdfSx7aW5kZXg6Ljc1LHJnYjpbMTIwLDIwNiwxNjNdfSx7aW5kZXg6Ljg4LHJnYjpbMTg3LDIzMCwxNzJdfSx7aW5kZXg6MSxyZ2I6WzI1MywyNTQsMjA0XX1dLGNkb206W3tpbmRleDowLHJnYjpbNDcsMTUsNjJdfSx7aW5kZXg6LjEzLHJnYjpbODcsMjMsODZdfSx7aW5kZXg6LjI1LHJnYjpbMTMwLDI4LDk5XX0se2luZGV4Oi4zOCxyZ2I6WzE3MSw0MSw5Nl19LHtpbmRleDouNSxyZ2I6WzIwNiw2Nyw4Nl19LHtpbmRleDouNjMscmdiOlsyMzAsMTA2LDg0XX0se2luZGV4Oi43NSxyZ2I6WzI0MiwxNDksMTAzXX0se2luZGV4Oi44OCxyZ2I6WzI0OSwxOTMsMTM1XX0se2luZGV4OjEscmdiOlsyNTQsMjM3LDE3Nl19XSxjaGxvcm9waHlsbDpbe2luZGV4OjAscmdiOlsxOCwzNiwyMF19LHtpbmRleDouMTMscmdiOlsyNSw2Myw0MV19LHtpbmRleDouMjUscmdiOlsyNCw5MSw1OV19LHtpbmRleDouMzgscmdiOlsxMywxMTksNzJdfSx7aW5kZXg6LjUscmdiOlsxOCwxNDgsODBdfSx7aW5kZXg6LjYzLHJnYjpbODAsMTczLDg5XX0se2luZGV4Oi43NSxyZ2I6WzEzMiwxOTYsMTIyXX0se2luZGV4Oi44OCxyZ2I6WzE3NSwyMjEsMTYyXX0se2luZGV4OjEscmdiOlsyMTUsMjQ5LDIwOF19XSxkZW5zaXR5Olt7aW5kZXg6MCxyZ2I6WzU0LDE0LDM2XX0se2luZGV4Oi4xMyxyZ2I6Wzg5LDIzLDgwXX0se2luZGV4Oi4yNSxyZ2I6WzExMCw0NSwxMzJdfSx7aW5kZXg6LjM4LHJnYjpbMTIwLDc3LDE3OF19LHtpbmRleDouNSxyZ2I6WzEyMCwxMTMsMjEzXX0se2luZGV4Oi42MyxyZ2I6WzExNSwxNTEsMjI4XX0se2luZGV4Oi43NSxyZ2I6WzEzNCwxODUsMjI3XX0se2luZGV4Oi44OCxyZ2I6WzE3NywyMTQsMjI3XX0se2luZGV4OjEscmdiOlsyMzAsMjQxLDI0MV19XSwiZnJlZXN1cmZhY2UtYmx1ZSI6W3tpbmRleDowLHJnYjpbMzAsNCwxMTBdfSx7aW5kZXg6LjEzLHJnYjpbNDcsMTQsMTc2XX0se2luZGV4Oi4yNSxyZ2I6WzQxLDQ1LDIzNl19LHtpbmRleDouMzgscmdiOlsyNSw5OSwyMTJdfSx7aW5kZXg6LjUscmdiOls2OCwxMzEsMjAwXX0se2luZGV4Oi42MyxyZ2I6WzExNCwxNTYsMTk3XX0se2luZGV4Oi43NSxyZ2I6WzE1NywxODEsMjAzXX0se2luZGV4Oi44OCxyZ2I6WzIwMCwyMDgsMjE2XX0se2luZGV4OjEscmdiOlsyNDEsMjM3LDIzNl19XSwiZnJlZXN1cmZhY2UtcmVkIjpbe2luZGV4OjAscmdiOls2MCw5LDE4XX0se2luZGV4Oi4xMyxyZ2I6WzEwMCwxNywyN119LHtpbmRleDouMjUscmdiOlsxNDIsMjAsMjldfSx7aW5kZXg6LjM4LHJnYjpbMTc3LDQzLDI3XX0se2luZGV4Oi41LHJnYjpbMTkyLDg3LDYzXX0se2luZGV4Oi42MyxyZ2I6WzIwNSwxMjUsMTA1XX0se2luZGV4Oi43NSxyZ2I6WzIxNiwxNjIsMTQ4XX0se2luZGV4Oi44OCxyZ2I6WzIyNywxOTksMTkzXX0se2luZGV4OjEscmdiOlsyNDEsMjM3LDIzNl19XSxveHlnZW46W3tpbmRleDowLHJnYjpbNjQsNSw1XX0se2luZGV4Oi4xMyxyZ2I6WzEwNiw2LDE1XX0se2luZGV4Oi4yNSxyZ2I6WzE0NCwyNiw3XX0se2luZGV4Oi4zOCxyZ2I6WzE2OCw2NCwzXX0se2luZGV4Oi41LHJnYjpbMTg4LDEwMCw0XX0se2luZGV4Oi42MyxyZ2I6WzIwNiwxMzYsMTFdfSx7aW5kZXg6Ljc1LHJnYjpbMjIwLDE3NCwyNV19LHtpbmRleDouODgscmdiOlsyMzEsMjE1LDQ0XX0se2luZGV4OjEscmdiOlsyNDgsMjU0LDEwNV19XSxwYXI6W3tpbmRleDowLHJnYjpbNTEsMjAsMjRdfSx7aW5kZXg6LjEzLHJnYjpbOTAsMzIsMzVdfSx7aW5kZXg6LjI1LHJnYjpbMTI5LDQ0LDM0XX0se2luZGV4Oi4zOCxyZ2I6WzE1OSw2OCwyNV19LHtpbmRleDouNSxyZ2I6WzE4Miw5OSwxOV19LHtpbmRleDouNjMscmdiOlsxOTksMTM0LDIyXX0se2luZGV4Oi43NSxyZ2I6WzIxMiwxNzEsMzVdfSx7aW5kZXg6Ljg4LHJnYjpbMjIxLDIxMCw1NF19LHtpbmRleDoxLHJnYjpbMjI1LDI1Myw3NV19XSxwaGFzZTpbe2luZGV4OjAscmdiOlsxNDUsMTA1LDE4XX0se2luZGV4Oi4xMyxyZ2I6WzE4NCw3MSwzOF19LHtpbmRleDouMjUscmdiOlsxODYsNTgsMTE1XX0se2luZGV4Oi4zOCxyZ2I6WzE2MCw3MSwxODVdfSx7aW5kZXg6LjUscmdiOlsxMTAsOTcsMjE4XX0se2luZGV4Oi42MyxyZ2I6WzUwLDEyMywxNjRdfSx7aW5kZXg6Ljc1LHJnYjpbMzEsMTMxLDExMF19LHtpbmRleDouODgscmdiOls3NywxMjksMzRdfSx7aW5kZXg6MSxyZ2I6WzE0NSwxMDUsMThdfV0sc2FsaW5pdHk6W3tpbmRleDowLHJnYjpbNDIsMjQsMTA4XX0se2luZGV4Oi4xMyxyZ2I6WzMzLDUwLDE2Ml19LHtpbmRleDouMjUscmdiOlsxNSw5MCwxNDVdfSx7aW5kZXg6LjM4LHJnYjpbNDAsMTE4LDEzN119LHtpbmRleDouNSxyZ2I6WzU5LDE0NiwxMzVdfSx7aW5kZXg6LjYzLHJnYjpbNzksMTc1LDEyNl19LHtpbmRleDouNzUscmdiOlsxMjAsMjAzLDEwNF19LHtpbmRleDouODgscmdiOlsxOTMsMjIxLDEwMF19LHtpbmRleDoxLHJnYjpbMjUzLDIzOSwxNTRdfV0sdGVtcGVyYXR1cmU6W3tpbmRleDowLHJnYjpbNCwzNSw1MV19LHtpbmRleDouMTMscmdiOlsyMyw1MSwxMjJdfSx7aW5kZXg6LjI1LHJnYjpbODUsNTksMTU3XX0se2luZGV4Oi4zOCxyZ2I6WzEyOSw3OSwxNDNdfSx7aW5kZXg6LjUscmdiOlsxNzUsOTUsMTMwXX0se2luZGV4Oi42MyxyZ2I6WzIyMiwxMTIsMTAxXX0se2luZGV4Oi43NSxyZ2I6WzI0OSwxNDYsNjZdfSx7aW5kZXg6Ljg4LHJnYjpbMjQ5LDE5Niw2NV19LHtpbmRleDoxLHJnYjpbMjMyLDI1MCw5MV19XSx0dXJiaWRpdHk6W3tpbmRleDowLHJnYjpbMzQsMzEsMjddfSx7aW5kZXg6LjEzLHJnYjpbNjUsNTAsNDFdfSx7aW5kZXg6LjI1LHJnYjpbOTgsNjksNTJdfSx7aW5kZXg6LjM4LHJnYjpbMTMxLDg5LDU3XX0se2luZGV4Oi41LHJnYjpbMTYxLDExMiw1OV19LHtpbmRleDouNjMscmdiOlsxODUsMTQwLDY2XX0se2luZGV4Oi43NSxyZ2I6WzIwMiwxNzQsODhdfSx7aW5kZXg6Ljg4LHJnYjpbMjE2LDIwOSwxMjZdfSx7aW5kZXg6MSxyZ2I6WzIzMywyNDYsMTcxXX1dLCJ2ZWxvY2l0eS1ibHVlIjpbe2luZGV4OjAscmdiOlsxNywzMiw2NF19LHtpbmRleDouMTMscmdiOlszNSw1MiwxMTZdfSx7aW5kZXg6LjI1LHJnYjpbMjksODEsMTU2XX0se2luZGV4Oi4zOCxyZ2I6WzMxLDExMywxNjJdfSx7aW5kZXg6LjUscmdiOls1MCwxNDQsMTY5XX0se2luZGV4Oi42MyxyZ2I6Wzg3LDE3MywxNzZdfSx7aW5kZXg6Ljc1LHJnYjpbMTQ5LDE5NiwxODldfSx7aW5kZXg6Ljg4LHJnYjpbMjAzLDIyMSwyMTFdfSx7aW5kZXg6MSxyZ2I6WzI1NCwyNTEsMjMwXX1dLCJ2ZWxvY2l0eS1ncmVlbiI6W3tpbmRleDowLHJnYjpbMjMsMzUsMTldfSx7aW5kZXg6LjEzLHJnYjpbMjQsNjQsMzhdfSx7aW5kZXg6LjI1LHJnYjpbMTEsOTUsNDVdfSx7aW5kZXg6LjM4LHJnYjpbMzksMTIzLDM1XX0se2luZGV4Oi41LHJnYjpbOTUsMTQ2LDEyXX0se2luZGV4Oi42MyxyZ2I6WzE1MiwxNjUsMThdfSx7aW5kZXg6Ljc1LHJnYjpbMjAxLDE4Niw2OV19LHtpbmRleDouODgscmdiOlsyMzMsMjE2LDEzN119LHtpbmRleDoxLHJnYjpbMjU1LDI1MywyMDVdfV0sY3ViZWhlbGl4Olt7aW5kZXg6MCxyZ2I6WzAsMCwwXX0se2luZGV4Oi4wNyxyZ2I6WzIyLDUsNTldfSx7aW5kZXg6LjEzLHJnYjpbNjAsNCwxMDVdfSx7aW5kZXg6LjIscmdiOlsxMDksMSwxMzVdfSx7aW5kZXg6LjI3LHJnYjpbMTYxLDAsMTQ3XX0se2luZGV4Oi4zMyxyZ2I6WzIxMCwyLDE0Ml19LHtpbmRleDouNCxyZ2I6WzI1MSwxMSwxMjNdfSx7aW5kZXg6LjQ3LHJnYjpbMjU1LDI5LDk3XX0se2luZGV4Oi41MyxyZ2I6WzI1NSw1NCw2OV19LHtpbmRleDouNixyZ2I6WzI1NSw4NSw0Nl19LHtpbmRleDouNjcscmdiOlsyNTUsMTIwLDM0XX0se2luZGV4Oi43MyxyZ2I6WzI1NSwxNTcsMzddfSx7aW5kZXg6LjgscmdiOlsyNDEsMTkxLDU3XX0se2luZGV4Oi44NyxyZ2I6WzIyNCwyMjAsOTNdfSx7aW5kZXg6LjkzLHJnYjpbMjE4LDI0MSwxNDJdfSx7aW5kZXg6MSxyZ2I6WzIyNywyNTMsMTk4XX1dfX0se31dLDEyODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvbG9yU2NhbGUiKSxhPXQoImxlcnAiKTtmdW5jdGlvbiBpKHQpe3JldHVyblt0WzBdLzI1NSx0WzFdLzI1NSx0WzJdLzI1NSx0WzNdXX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSxyPSIjIixuPTA7bjwzOysrbilyKz0oIjAwIisoZT0oZT10W25dKS50b1N0cmluZygxNikpKS5zdWJzdHIoZS5sZW5ndGgpO3JldHVybiByfWZ1bmN0aW9uIHModCl7cmV0dXJuInJnYmEoIit0LmpvaW4oIiwiKSsiKSJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbCxjLHUsaCxmLHAsZCxnO3R8fCh0PXt9KTtwPSh0Lm5zaGFkZXN8fDcyKS0xLGY9dC5mb3JtYXR8fCJoZXgiLChoPXQuY29sb3JtYXApfHwoaD0iamV0Iik7aWYoInN0cmluZyI9PXR5cGVvZiBoKXtpZihoPWgudG9Mb3dlckNhc2UoKSwhbltoXSl0aHJvdyBFcnJvcihoKyIgbm90IGEgc3VwcG9ydGVkIGNvbG9yc2NhbGUiKTt1PW5baF19ZWxzZXtpZighQXJyYXkuaXNBcnJheShoKSl0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgY29sb3JtYXAgb3B0aW9uIixoKTt1PWguc2xpY2UoKX1pZih1Lmxlbmd0aD5wKzEpdGhyb3cgbmV3IEVycm9yKGgrIiBtYXAgcmVxdWlyZXMgbnNoYWRlcyB0byBiZSBhdCBsZWFzdCBzaXplICIrdS5sZW5ndGgpO2Q9QXJyYXkuaXNBcnJheSh0LmFscGhhKT8yIT09dC5hbHBoYS5sZW5ndGg/WzEsMV06dC5hbHBoYS5zbGljZSgpOiJudW1iZXIiPT10eXBlb2YgdC5hbHBoYT9bdC5hbHBoYSx0LmFscGhhXTpbMSwxXTtlPXUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQuaW5kZXgqcCl9KSxkWzBdPU1hdGgubWluKE1hdGgubWF4KGRbMF0sMCksMSksZFsxXT1NYXRoLm1pbihNYXRoLm1heChkWzFdLDApLDEpO3ZhciB2PXUubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIHI9dVtlXS5pbmRleCxuPXVbZV0ucmdiLnNsaWNlKCk7cmV0dXJuIDQ9PT1uLmxlbmd0aCYmblszXT49MCYmblszXTw9MT9uOihuWzNdPWRbMF0rKGRbMV0tZFswXSkqcixuKX0pLG09W107Zm9yKGc9MDtnPGUubGVuZ3RoLTE7KytnKXtjPWVbZysxXS1lW2ddLHI9dltnXSxsPXZbZysxXTtmb3IodmFyIHk9MDt5PGM7eSsrKXt2YXIgeD15L2M7bS5wdXNoKFtNYXRoLnJvdW5kKGEoclswXSxsWzBdLHgpKSxNYXRoLnJvdW5kKGEoclsxXSxsWzFdLHgpKSxNYXRoLnJvdW5kKGEoclsyXSxsWzJdLHgpKSxhKHJbM10sbFszXSx4KV0pfX1tLnB1c2godVt1Lmxlbmd0aC0xXS5yZ2IuY29uY2F0KGRbMV0pKSwiaGV4Ij09PWY/bT1tLm1hcChvKToicmdiYVN0cmluZyI9PT1mP209bS5tYXAocyk6ImZsb2F0Ij09PWYmJihtPW0ubWFwKGkpKTtyZXR1cm4gbX19LHsiLi9jb2xvclNjYWxlIjoxMjcsbGVycDo0Mjd9XSwxMjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvPW4oZSxyLGkpO2lmKDA9PT1vKXt2YXIgcz1hKG4odCxlLHIpKSxjPWEobih0LGUsaSkpO2lmKHM9PT1jKXtpZigwPT09cyl7dmFyIHU9bCh0LGUsciksaD1sKHQsZSxpKTtyZXR1cm4gdT09PWg/MDp1PzE6LTF9cmV0dXJuIDB9cmV0dXJuIDA9PT1jP3M+MD8tMTpsKHQsZSxpKT8tMToxOjA9PT1zP2M+MD8xOmwodCxlLHIpPzE6LTE6YShjLXMpfXZhciBmPW4odCxlLHIpO2lmKGY+MClyZXR1cm4gbz4wJiZuKHQsZSxpKT4wPzE6LTE7aWYoZjwwKXJldHVybiBvPjB8fG4odCxlLGkpPjA/MTotMTt2YXIgcD1uKHQsZSxpKTtyZXR1cm4gcD4wPzE6bCh0LGUscik/MTotMX07dmFyIG49dCgicm9idXN0LW9yaWVudGF0aW9uIiksYT10KCJzaWdudW0iKSxpPXQoInR3by1zdW0iKSxvPXQoInJvYnVzdC1wcm9kdWN0Iikscz10KCJyb2J1c3Qtc3VtIik7ZnVuY3Rpb24gbCh0LGUscil7dmFyIG49aSh0WzBdLC1lWzBdKSxhPWkodFsxXSwtZVsxXSksbD1pKHJbMF0sLWVbMF0pLGM9aShyWzFdLC1lWzFdKSx1PXMobyhuLGwpLG8oYSxjKSk7cmV0dXJuIHVbdS5sZW5ndGgtMV0+PTB9fSx7InJvYnVzdC1vcmllbnRhdGlvbiI6NTA5LCJyb2J1c3QtcHJvZHVjdCI6NTEwLCJyb2J1c3Qtc3VtIjo1MTQsc2lnbnVtOjUxNSwidHdvLXN1bSI6NTQzfV0sMTMwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGgsaT10Lmxlbmd0aC1lLmxlbmd0aDtpZihpKXJldHVybiBpO3N3aXRjaChyKXtjYXNlIDA6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiB0WzBdLWVbMF07Y2FzZSAyOnJldHVybiB0WzBdK3RbMV0tZVswXS1lWzFdfHxuKHRbMF0sdFsxXSktbihlWzBdLGVbMV0pO2Nhc2UgMzp2YXIgbz10WzBdK3RbMV0scz1lWzBdK2VbMV07aWYoaT1vK3RbMl0tKHMrZVsyXSkpcmV0dXJuIGk7dmFyIGw9bih0WzBdLHRbMV0pLGM9bihlWzBdLGVbMV0pO3JldHVybiBuKGwsdFsyXSktbihjLGVbMl0pfHxuKGwrdFsyXSxvKS1uKGMrZVsyXSxzKTtjYXNlIDQ6dmFyIHU9dFswXSxoPXRbMV0sZj10WzJdLHA9dFszXSxkPWVbMF0sZz1lWzFdLHY9ZVsyXSxtPWVbM107cmV0dXJuIHUraCtmK3AtKGQrZyt2K20pfHxuKHUsaCxmLHApLW4oZCxnLHYsbSxkKXx8bih1K2gsdStmLHUrcCxoK2YsaCtwLGYrcCktbihkK2csZCt2LGQrbSxnK3YsZyttLHYrbSl8fG4odStoK2YsdStoK3AsdStmK3AsaCtmK3ApLW4oZCtnK3YsZCtnK20sZCt2K20sZyt2K20pO2RlZmF1bHQ6Zm9yKHZhciB5PXQuc2xpY2UoKS5zb3J0KGEpLHg9ZS5zbGljZSgpLnNvcnQoYSksYj0wO2I8cjsrK2IpaWYoaT15W2JdLXhbYl0pcmV0dXJuIGk7cmV0dXJuIDB9fTt2YXIgbj1NYXRoLm1pbjtmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQtZX19LHt9XSwxMzE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY29tcGFyZS1jZWxsIiksYT10KCJjZWxsLW9yaWVudGF0aW9uIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxlKXx8YSh0KS1hKGUpfX0seyJjZWxsLW9yaWVudGF0aW9uIjoxMTQsImNvbXBhcmUtY2VsbCI6MTMwfV0sMTMyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL2NoMWQiKSxhPXQoIi4vbGliL2NoMmQiKSxpPXQoIi4vbGliL2NobmQiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoMD09PWUpcmV0dXJuW107aWYoMT09PWUpcmV0dXJuW1swXV07dmFyIHI9dFswXS5sZW5ndGg7aWYoMD09PXIpcmV0dXJuW107aWYoMT09PXIpcmV0dXJuIG4odCk7aWYoMj09PXIpcmV0dXJuIGEodCk7cmV0dXJuIGkodCxyKX19LHsiLi9saWIvY2gxZCI6MTMzLCIuL2xpYi9jaDJkIjoxMzQsIi4vbGliL2NobmQiOjEzNX1dLDEzMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wLG49MTtuPHQubGVuZ3RoOysrbil0W25dWzBdPHRbZV1bMF0mJihlPW4pLHRbbl1bMF0+dFtyXVswXSYmKHI9bik7cmV0dXJuIGU8cj9bW2VdLFtyXV06ZT5yP1tbcl0sW2VdXTpbW2VdXX19LHt9XSwxMzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW4odCkscj1lLmxlbmd0aDtpZihyPD0yKXJldHVybltdO2Zvcih2YXIgYT1uZXcgQXJyYXkociksaT1lW3ItMV0sbz0wO288cjsrK28pe3ZhciBzPWVbb107YVtvXT1baSxzXSxpPXN9cmV0dXJuIGF9O3ZhciBuPXQoIm1vbm90b25lLWNvbnZleC1odWxsLTJkIil9LHsibW9ub3RvbmUtY29udmV4LWh1bGwtMmQiOjQzNn1dLDEzNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIG4odCwhMCl9Y2F0Y2gocyl7dmFyIHI9YSh0KTtpZihyLmxlbmd0aDw9ZSlyZXR1cm5bXTt2YXIgaT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxuPW5ldyBBcnJheShyKSxhPTA7YTxlLmxlbmd0aDsrK2EpblthXT10W2VbYV1dO2Zvcih2YXIgaT1lLmxlbmd0aCxhPTA7YTxyOysrYSllLmluZGV4T2YoYSk8MCYmKG5baSsrXT10W2FdKTtyZXR1cm4gbn0odCxyKSxvPW4oaSwhMCk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGVuZ3RoLG49ZS5sZW5ndGgsYT0wO2E8cjsrK2EpZm9yKHZhciBpPXRbYV0sbz0wO288aS5sZW5ndGg7KytvKXt2YXIgcz1pW29dO2lmKHM8bilpW29dPWVbc107ZWxzZXtzLT1uO2Zvcih2YXIgbD0wO2w8bjsrK2wpcz49ZVtsXSYmKHMrPTEpO2lbb109c319cmV0dXJuIHR9KG8scil9fTt2YXIgbj10KCJpbmNyZW1lbnRhbC1jb252ZXgtaHVsbCIpLGE9dCgiYWZmaW5lLWh1bGwiKX0seyJhZmZpbmUtaHVsbCI6NjUsImluY3JlbWVudGFsLWNvbnZleC1odWxsIjo0MTV9XSwxMzY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e0FGRzoiYWZnaGFuIixBTEE6IlxcYlxcd2xhbmQiLEFMQjoiYWxiYW5pYSIsRFpBOiJhbGdlcmlhIixBU006Il4oPz0uKmFtZXJpYykuKnNhbW9hIixBTkQ6ImFuZG9ycmEiLEFHTzoiYW5nb2xhIixBSUE6ImFuZ3VpbGw/YSIsQVRBOiJhbnRhcmN0aWNhIixBVEc6ImFudGlndWEiLEFSRzoiYXJnZW50aW4iLEFSTToiYXJtZW5pYSIsQUJXOiJeKD8hLipib25haXJlKS4qXFxiYXJ1YmEiLEFVUzoiYXVzdHJhbGlhIixBVVQ6Il4oPyEuKmh1bmdhcnkpLiphdXN0cmlhfFxcYmF1c3RyaS4qXFxiZW1wIixBWkU6ImF6ZXJiYWlqYW4iLEJIUzoiYmFoYW1hcyIsQkhSOiJiYWhyYWluIixCR0Q6ImJhbmdsYWRlc2h8Xig/PS4qZWFzdCkuKnBha2k/c3RhbiIsQlJCOiJiYXJiYWRvcyIsQkxSOiJiZWxhcnVzfGJ5ZWxvIixCRUw6Il4oPyEuKmx1eGVtKS4qYmVsZ2l1bSIsQkxaOiJiZWxpemV8Xig/PS4qYnJpdGlzaCkuKmhvbmR1cmFzIixCRU46ImJlbmlufGRhaG9tZSIsQk1VOiJiZXJtdWRhIixCVE46ImJodXRhbiIsQk9MOiJib2xpdmlhIixCRVM6Il4oPz0uKmJvbmFpcmUpLipldXN0YXRpdXN8Xig/PS4qY2FyaWIpLipuZXRoZXJsYW5kc3xcXGJiZXMuP2lzbGFuZHMiLEJJSDoiaGVyemVnb3ZpbmF8Ym9zbmlhIixCV0E6ImJvdHN3YW5hfGJlY2h1YW5hIixCVlQ6ImJvdXZldCIsQlJBOiJicmF6aWwiLElPVDoiYnJpdGlzaC4/aW5kaWFuLj9vY2VhbiIsQlJOOiJicnVuZWkiLEJHUjoiYnVsZ2FyaWEiLEJGQToiYnVya2luYXxcXGJmYXNvfHVwcGVyLj92b2x0YSIsQkRJOiJidXJ1bmRpIixDUFY6InZlcmRlIixLSE06ImNhbWJvZGlhfGthbXB1Y2hlYXxraG1lciIsQ01SOiJjYW1lcm9vbiIsQ0FOOiJjYW5hZGEiLENZTToiY2F5bWFuIixDQUY6IlxcYmNlbnRyYWwuYWZyaWNhbi5yZXB1YmxpYyIsVENEOiJcXGJjaGFkIixDSEw6IlxcYmNoaWxlIixDSE46Il4oPyEuKlxcYm1hYykoPyEuKlxcYmhvbmcpKD8hLipcXGJ0YWkpKD8hLipcXGJyZXApLipjaGluYXxeKD89LipwZW8pKD89LipyZXApLipjaGluYSIsQ1hSOiJjaHJpc3RtYXMiLENDSzoiXFxiY29jb3N8a2VlbGluZyIsQ09MOiJjb2xvbWJpYSIsQ09NOiJjb21vcm8iLENPRzoiXig/IS4qXFxiZGVtKSg/IS4qXFxiZFtcXC5dP3IpKD8hLipraW5zaGFzYSkoPyEuKnphaXJlKSg/IS4qYmVsZykoPyEuKmwub3BvbGR2aWxsZSkoPyEuKmZyZWUpLipcXGJjb25nbyIsQ09LOiJcXGJjb29rIixDUkk6ImNvc3RhLj9yaWNhIixDSVY6Iml2b2lyZXxpdm9yeSIsSFJWOiJjcm9hdGlhIixDVUI6IlxcYmN1YmEiLENVVzoiXig/IS4qYm9uYWlyZSkuKlxcYmN1cmEoY3xceGU3KWFvIixDWVA6ImN5cHJ1cyIsQ1NLOiJjemVjaG9zbG92YWtpYSIsQ1pFOiJeKD89LipyZXApLipjemVjaHxjemVjaGlhfGJvaGVtaWEiLENPRDoiXFxiZGVtLipjb25nb3xjb25nby4qXFxiZGVtfGNvbmdvLipcXGJkW1xcLl0/cnxcXGJkW1xcLl0/ci4qY29uZ298YmVsZ2lhbi4/Y29uZ298Y29uZ28uP2ZyZWUuP3N0YXRlfGtpbnNoYXNhfHphaXJlfGwub3BvbGR2aWxsZXxkcmN8ZHJvY3xyZGMiLEROSzoiZGVubWFyayIsREpJOiJkamlib3V0aSIsRE1BOiJkb21pbmljYSg/IW4pIixET006ImRvbWluaWNhbi5yZXAiLEVDVToiZWN1YWRvciIsRUdZOiJlZ3lwdCIsU0xWOiJlbC4/c2FsdmFkb3IiLEdOUToiZ3VpbmUuKmVxfGVxLipndWluZXxeKD89LipzcGFuKS4qZ3VpbmVhIixFUkk6ImVyaXRyZWEiLEVTVDoiZXN0b25pYSIsRVRIOiJldGhpb3BpYXxhYnlzc2luaWEiLEZMSzoiZmFsa2xhbmR8bWFsdmluYXMiLEZSTzoiZmFyb2V8ZmFlcm9lIixGSkk6ImZpamkiLEZJTjoiZmlubGFuZCIsRlJBOiJeKD8hLipcXGJkZXApKD8hLiptYXJ0aW5pcXVlKS4qZnJhbmNlfGZyZW5jaC4/cmVwdWJsaWN8XFxiZ2F1bCIsR1VGOiJeKD89LipmcmVuY2gpLipndWlhbmEiLFBZRjoiZnJlbmNoLj9wb2x5bmVzaWF8dGFoaXRpIixBVEY6ImZyZW5jaC4/c291dGhlcm4iLEdBQjoiZ2Fib24iLEdNQjoiZ2FtYmlhIixHRU86Il4oPyEuKnNvdXRoKS4qZ2VvcmdpYSIsRERSOiJnZXJtYW4uP2RlbW9jcmF0aWMuP3JlcHVibGljfGRlbW9jcmF0aWMuP3JlcHVibGljLipnZXJtYW55fGVhc3QuZ2VybWFueSIsREVVOiJeKD8hLiplYXN0KS4qZ2VybWFueXxeKD89LipcXGJmZWQuKlxcYnJlcCkuKmdlcm1hbiIsR0hBOiJnaGFuYXxnb2xkLj9jb2FzdCIsR0lCOiJnaWJyYWx0YXIiLEdSQzoiZ3JlZWNlfGhlbGxlbmljfGhlbGxhcyIsR1JMOiJncmVlbmxhbmQiLEdSRDoiZ3JlbmFkYSIsR0xQOiJndWFkZWxvdXBlIixHVU06IlxcYmd1YW0iLEdUTToiZ3VhdGVtYWxhIixHR1k6Imd1ZXJuc2V5IixHSU46Il4oPyEuKmVxKSg/IS4qc3BhbikoPyEuKmJpc3NhdSkoPyEuKnBvcnR1KSg/IS4qbmV3KS4qZ3VpbmVhIixHTkI6ImJpc3NhdXxeKD89Lipwb3J0dSkuKmd1aW5lYSIsR1VZOiJndXlhbmF8YnJpdGlzaC4/Z3VpYW5hIixIVEk6ImhhaXRpIixITUQ6ImhlYXJkLiptY2RvbmFsZCIsVkFUOiJob2x5Lj9zZWV8dmF0aWNhbnxwYXBhbC4/c3QiLEhORDoiXig/IS4qYnJpdCkuKmhvbmR1cmFzIixIS0c6ImhvbmcuP2tvbmciLEhVTjoiXig/IS4qYXVzdHIpLipodW5nYXJ5IixJU0w6ImljZWxhbmQiLElORDoiaW5kaWEoPyEuKm9jZWEpIixJRE46ImluZG9uZXNpYSIsSVJOOiJcXGJpcmFufHBlcnNpYSIsSVJROiJcXGJpcmFxfG1lc29wb3RhbWlhIixJUkw6IiheaXJlbGFuZCl8KF5yZXB1YmxpYy4qaXJlbGFuZCkiLElNTjoiXig/PS4qaXNsZSkuKlxcYm1hbiIsSVNSOiJpc3JhZWwiLElUQToiaXRhbHkiLEpBTToiamFtYWljYSIsSlBOOiJqYXBhbiIsSkVZOiJqZXJzZXkiLEpPUjoiam9yZGFuIixLQVo6ImthemFrIixLRU46ImtlbnlhfGJyaXRpc2guP2Vhc3QuP2FmcmljYXxlYXN0Lj9hZnJpY2EuP3Byb3QiLEtJUjoia2lyaWJhdGkiLFBSSzoiXig/PS4qZGVtb2NyYXR8cGVvcGxlfG5vcnRofGQuKnAuKi5yKS4qXFxia29yZWF8ZHBya3xrb3JlYS4qKGQuKnAuKnIpIixLV1Q6Imt1d2FpdCIsS0daOiJreXJneXp8a2lyZ2hpeiIsTEFPOiJcXGJsYW9zP1xcYiIsTFZBOiJsYXR2aWEiLExCTjoibGViYW5vbiIsTFNPOiJsZXNvdGhvfGJhc3V0byIsTEJSOiJsaWJlcmlhIixMQlk6ImxpYnlhIixMSUU6ImxpZWNodGVuc3RlaW4iLExUVToibGl0aHVhbmlhIixMVVg6Il4oPyEuKmJlbGcpLipsdXhlbSIsTUFDOiJtYWNhKG98dSkiLE1ERzoibWFkYWdhc2NhcnxtYWxhZ2FzeSIsTVdJOiJtYWxhd2l8bnlhc2EiLE1ZUzoibWFsYXlzaWEiLE1EVjoibWFsZGl2ZSIsTUxJOiJcXGJtYWxpXFxiIixNTFQ6IlxcYm1hbHRhIixNSEw6Im1hcnNoYWxsIixNVFE6Im1hcnRpbmlxdWUiLE1SVDoibWF1cml0YW5pYSIsTVVTOiJtYXVyaXRpdXMiLE1ZVDoiXFxibWF5b3R0ZSIsTUVYOiJcXGJtZXhpYyIsRlNNOiJmZWQuKm1pY3JvbmVzaWF8bWljcm9uZXNpYS4qZmVkIixNQ086Im1vbmFjbyIsTU5HOiJtb25nb2xpYSIsTU5FOiJeKD8hLipzZXJiaWEpLiptb250ZW5lZ3JvIixNU1I6Im1vbnRzZXJyYXQiLE1BUjoibW9yb2Njb3xcXGJtYXJvYyIsTU9aOiJtb3phbWJpcXVlIixNTVI6Im15YW5tYXJ8YnVybWEiLE5BTToibmFtaWJpYSIsTlJVOiJuYXVydSIsTlBMOiJuZXBhbCIsTkxEOiJeKD8hLipcXGJhbnQpKD8hLipcXGJjYXJpYikuKm5ldGhlcmxhbmRzIixBTlQ6Il4oPz0uKlxcYmFudCkuKihuZXRoZXJ8ZHV0Y2gpIixOQ0w6Im5ldy4/Y2FsZWRvbmlhIixOWkw6Im5ldy4/emVhbGFuZCIsTklDOiJuaWNhcmFndWEiLE5FUjoiXFxibmlnZXIoPyFpYSkiLE5HQToibmlnZXJpYSIsTklVOiJuaXVlIixORks6Im5vcmZvbGsiLE1OUDoibWFyaWFuYSIsTk9SOiJub3J3YXkiLE9NTjoiXFxib21hbnx0cnVjaWFsIixQQUs6Il4oPyEuKmVhc3QpLipwYWtpP3N0YW4iLFBMVzoicGFsYXUiLFBTRToicGFsZXN0aW58XFxiZ2F6YXx3ZXN0Lj9iYW5rIixQQU46InBhbmFtYSIsUE5HOiJwYXB1YXxuZXcuP2d1aW5lYSIsUFJZOiJwYXJhZ3VheSIsUEVSOiJwZXJ1IixQSEw6InBoaWxpcHBpbmVzIixQQ046InBpdGNhaXJuIixQT0w6InBvbGFuZCIsUFJUOiJwb3J0dWdhbCIsUFJJOiJwdWVydG8uP3JpY28iLFFBVDoicWF0YXIiLEtPUjoiXig/IS4qZC4qcC4qcikoPyEuKmRlbW9jcmF0KSg/IS4qcGVvcGxlKSg/IS4qbm9ydGgpLipcXGJrb3JlYSg/IS4qZC4qcC4qcikiLE1EQToibW9sZG92fGIoYXxlKXNzYXJhYmlhIixSRVU6InIoZXxceGU5KXVuaW9uIixST1U6InIob3x1fG91KW1hbmlhIixSVVM6IlxcYnJ1c3NpYXxzb3ZpZXQuP3VuaW9ufHVcXC4/c1xcLj9zXFwuP3J8c29jaWFsaXN0Lj9yZXB1YmxpY3MiLFJXQToicndhbmRhIixCTE06ImJhcnRoKGV8XHhlOSlsZW15IixTSE46ImhlbGVuYSIsS05BOiJraXR0c3xcXGJuZXZpcyIsTENBOiJcXGJsdWNpYSIsTUFGOiJeKD89Lipjb2xsZWN0aXZpdHkpLiptYXJ0aW58Xig/PS4qZnJhbmNlKS4qbWFydGluKD8haXF1ZSl8Xig/PS4qZnJlbmNoKS4qbWFydGluKD8haXF1ZSkiLFNQTToibWlxdWVsb24iLFZDVDoidmluY2VudCIsV1NNOiJeKD8hLiphbWVyKS4qc2Ftb2EiLFNNUjoic2FuLj9tYXJpbm8iLFNUUDoiXFxicyhhfFx4ZTMpby4/dG9tKGV8XHhlOSkiLFNBVToiXFxic2FcXHcqLj9hcmFiaWEiLFNFTjoic2VuZWdhbCIsU1JCOiJeKD8hLiptb250ZSkuKnNlcmJpYSIsU1lDOiJzZXljaGVsbCIsU0xFOiJzaWVycmEiLFNHUDoic2luZ2Fwb3JlIixTWE06Il4oPyEuKm1hcnRpbikoPyEuKnNhYmEpLiptYWFydGVuIixTVks6Il4oPyEuKmN6ZSkuKnNsb3ZhayIsU1ZOOiJzbG92ZW5pYSIsU0xCOiJzb2xvbW9uIixTT006InNvbWFsaSIsWkFGOiJzb3V0aC5hZnJpY2F8c1xcXFwuLj9hZnJpY2EiLFNHUzoic291dGguP2dlb3JnaWF8c2FuZHdpY2giLFNTRDoiXFxic1xcdyouP3N1ZGFuIixFU1A6InNwYWluIixMS0E6InNyaS4/bGFua2F8Y2V5bG9uIixTRE46Il4oPyEuKlxcYnMoPyF1KSkuKnN1ZGFuIixTVVI6InN1cmluYW18ZHV0Y2guP2d1aWFuYSIsU0pNOiJzdmFsYmFyZCIsU1daOiJzd2F6aWxhbmQiLFNXRToic3dlZGVuIixDSEU6InN3aXR6fHN3aXNzIixTWVI6InN5cmlhIixUV046InRhaXdhbnx0YWlwZWl8Zm9ybW9zYXxeKD8hLipwZW8pKD89LipyZXApLipjaGluYSIsVEpLOiJ0YWppayIsVEhBOiJ0aGFpbGFuZHxcXGJzaWFtIixNS0Q6Im1hY2Vkb25pYXxmeXJvbSIsVExTOiJeKD89LipsZXN0ZSkuKnRpbW9yfF4oPz0uKmVhc3QpLip0aW1vciIsVEdPOiJ0b2dvIixUS0w6InRva2VsYXUiLFRPTjoidG9uZ2EiLFRUTzoidHJpbmlkYWR8dG9iYWdvIixUVU46InR1bmlzaWEiLFRVUjoidHVya2V5IixUS006InR1cmttZW4iLFRDQToidHVya3MiLFRVVjoidHV2YWx1IixVR0E6InVnYW5kYSIsVUtSOiJ1a3JhaW4iLEFSRToiZW1pcmF0ZXN8XnVcXC4/YVxcLj9lXFwuPyR8dW5pdGVkLj9hcmFiLj9lbSIsR0JSOiJ1bml0ZWQuP2tpbmdkb218YnJpdGFpbnxedVxcLj9rXFwuPyQiLFRaQToidGFuemFuaWEiLFVTQToidW5pdGVkLj9zdGF0ZXNcXGIoPyEuKmlzbGFuZHMpfFxcYnVcXC4/c1xcLj9hXFwuP1xcYnxeXFxzKnVcXC4/c1xcLj9cXGIoPyEuKmlzbGFuZHMpIixVTUk6Im1pbm9yLj9vdXRseWluZy4/aXMiLFVSWToidXJ1Z3VheSIsVVpCOiJ1emJlayIsVlVUOiJ2YW51YXR1fG5ldy4/aGVicmlkZXMiLFZFTjoidmVuZXp1ZWxhIixWTk06Il4oPyEuKnJlcHVibGljKS4qdmlldC4/bmFtfF4oPz0uKnNvY2lhbGlzdCkuKnZpZXQuP25hbSIsVkdCOiJeKD89LipcXGJ1XFwuP1xccz9rKS4qdmlyZ2lufF4oPz0uKmJyaXQpLip2aXJnaW58Xig/PS4qa2luZ2RvbSkuKnZpcmdpbiIsVklSOiJeKD89LipcXGJ1XFwuP1xccz9zKS4qdmlyZ2lufF4oPz0uKnN0YXRlcykuKnZpcmdpbiIsV0xGOiJmdXR1bmF8d2FsbGlzIixFU0g6Indlc3Rlcm4uc2FoYXJhIixZRU06Il4oPyEuKmFyYWIpKD8hLipub3J0aCkoPyEuKnNhbmEpKD8hLipwZW8pKD8hLipkZW0pKD8hLipzb3V0aCkoPyEuKmFkZW4pKD8hLipcXGJwXFwuP2RcXC4/cikuKnllbWVuIixZTUQ6Il4oPz0uKnBlbykuKnllbWVufF4oPyEuKnJlcCkoPz0uKmRlbSkuKnllbWVufF4oPz0uKnNvdXRoKS4qeWVtZW58Xig/PS4qYWRlbikuKnllbWVufF4oPz0uKlxcYnBcXC4/ZFxcLj9yKS4qeWVtZW4iLFlVRzoieXVnb3NsYXZpYSIsWk1COiJ6YW1iaWF8bm9ydGhlcm4uP3Job2Rlc2lhIixFQVo6InphbnppYmFyIixaV0U6InppbWJhYndlfF4oPyEuKm5vcnRoZXJuKS4qcmhvZGVzaWEifX0se31dLDEzNzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1bInh4LXNtYWxsIiwieC1zbWFsbCIsInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJ4LWxhcmdlIiwieHgtbGFyZ2UiLCJsYXJnZXIiLCJzbWFsbGVyIl19LHt9XSwxMzg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyJub3JtYWwiLCJjb25kZW5zZWQiLCJzZW1pLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsInVsdHJhLWNvbmRlbnNlZCIsImV4cGFuZGVkIiwic2VtaS1leHBhbmRlZCIsImV4dHJhLWV4cGFuZGVkIiwidWx0cmEtZXhwYW5kZWQiXX0se31dLDEzOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1bIm5vcm1hbCIsIml0YWxpYyIsIm9ibGlxdWUiXX0se31dLDE0MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1bIm5vcm1hbCIsImJvbGQiLCJib2xkZXIiLCJsaWdodGVyIiwiMTAwIiwiMjAwIiwiMzAwIiwiNDAwIiwiNTAwIiwiNjAwIiwiNzAwIiwiODAwIiwiOTAwIl19LHt9XSwxNDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtwYXJzZTp0KCIuL3BhcnNlIiksc3RyaW5naWZ5OnQoIi4vc3RyaW5naWZ5Iil9fSx7Ii4vcGFyc2UiOjE0MywiLi9zdHJpbmdpZnkiOjE0NH1dLDE0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjc3MtZm9udC1zaXplLWtleXdvcmRzIik7ZS5leHBvcnRzPXtpc1NpemU6ZnVuY3Rpb24odCl7cmV0dXJuL15bXGRcLl0vLnRlc3QodCl8fC0xIT09dC5pbmRleE9mKCIvIil8fC0xIT09bi5pbmRleE9mKHQpfX19LHsiY3NzLWZvbnQtc2l6ZS1rZXl3b3JkcyI6MTM3fV0sMTQzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInVucXVvdGUiKSxhPXQoImNzcy1nbG9iYWwta2V5d29yZHMiKSxpPXQoImNzcy1zeXN0ZW0tZm9udC1rZXl3b3JkcyIpLG89dCgiY3NzLWZvbnQtd2VpZ2h0LWtleXdvcmRzIikscz10KCJjc3MtZm9udC1zdHlsZS1rZXl3b3JkcyIpLGw9dCgiY3NzLWZvbnQtc3RyZXRjaC1rZXl3b3JkcyIpLGM9dCgic3RyaW5nLXNwbGl0LWJ5IiksdT10KCIuL2xpYi91dGlsIikuaXNTaXplO2UuZXhwb3J0cz1mO3ZhciBoPWYuY2FjaGU9e307ZnVuY3Rpb24gZih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJGb250IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcuIik7aWYoaFt0XSlyZXR1cm4gaFt0XTtpZigiIj09PXQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcGFyc2UgYW4gZW1wdHkgc3RyaW5nLiIpO2lmKC0xIT09aS5pbmRleE9mKHQpKXJldHVybiBoW3RdPXtzeXN0ZW06dH07Zm9yKHZhciBlLHI9e3N0eWxlOiJub3JtYWwiLHZhcmlhbnQ6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHN0cmV0Y2g6Im5vcm1hbCIsbGluZUhlaWdodDoibm9ybWFsIixzaXplOiIxcmVtIixmYW1pbHk6WyJzZXJpZiJdfSxmPWModCwvXHMrLyk7ZT1mLnNoaWZ0KCk7KXtpZigtMSE9PWEuaW5kZXhPZihlKSlyZXR1cm5bInN0eWxlIiwidmFyaWFudCIsIndlaWdodCIsInN0cmV0Y2giXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JbdF09ZX0pLGhbdF09cjtpZigtMT09PXMuaW5kZXhPZihlKSlpZigibm9ybWFsIiE9PWUmJiJzbWFsbC1jYXBzIiE9PWUpaWYoLTE9PT1sLmluZGV4T2YoZSkpe2lmKC0xPT09by5pbmRleE9mKGUpKXtpZih1KGUpKXt2YXIgZD1jKGUsIi8iKTtpZihyLnNpemU9ZFswXSxudWxsIT1kWzFdP3IubGluZUhlaWdodD1wKGRbMV0pOiIvIj09PWZbMF0mJihmLnNoaWZ0KCksci5saW5lSGVpZ2h0PXAoZi5zaGlmdCgpKSksIWYubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyByZXF1aXJlZCBmb250LWZhbWlseS4iKTtyZXR1cm4gci5mYW1pbHk9YyhmLmpvaW4oIiAiKSwvXHMqLFxzKi8pLm1hcChuKSxoW3RdPXJ9dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG9yIHVuc3VwcG9ydGVkIGZvbnQgdG9rZW46ICIrZSl9ci53ZWlnaHQ9ZX1lbHNlIHIuc3RyZXRjaD1lO2Vsc2Ugci52YXJpYW50PWU7ZWxzZSByLnN0eWxlPWV9dGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHJlcXVpcmVkIGZvbnQtc2l6ZS4iKX1mdW5jdGlvbiBwKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGUudG9TdHJpbmcoKT09PXQ/ZTp0fX0seyIuL2xpYi91dGlsIjoxNDIsImNzcy1mb250LXN0cmV0Y2gta2V5d29yZHMiOjEzOCwiY3NzLWZvbnQtc3R5bGUta2V5d29yZHMiOjEzOSwiY3NzLWZvbnQtd2VpZ2h0LWtleXdvcmRzIjoxNDAsImNzcy1nbG9iYWwta2V5d29yZHMiOjE0NSwiY3NzLXN5c3RlbS1mb250LWtleXdvcmRzIjoxNDYsInN0cmluZy1zcGxpdC1ieSI6NTI4LHVucXVvdGU6NTQ3fV0sMTQ0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInBpY2stYnktYWxpYXMiKSxhPXQoIi4vbGliL3V0aWwiKS5pc1NpemUsaT1nKHQoImNzcy1nbG9iYWwta2V5d29yZHMiKSksbz1nKHQoImNzcy1zeXN0ZW0tZm9udC1rZXl3b3JkcyIpKSxzPWcodCgiY3NzLWZvbnQtd2VpZ2h0LWtleXdvcmRzIikpLGw9Zyh0KCJjc3MtZm9udC1zdHlsZS1rZXl3b3JkcyIpKSxjPWcodCgiY3NzLWZvbnQtc3RyZXRjaC1rZXl3b3JkcyIpKSx1PXtub3JtYWw6MSwic21hbGwtY2FwcyI6MX0saD17c2VyaWY6MSwic2Fucy1zZXJpZiI6MSxtb25vc3BhY2U6MSxjdXJzaXZlOjEsZmFudGFzeToxLCJzeXN0ZW0tdWkiOjF9LGY9IjFyZW0iLHA9InNlcmlmIjtmdW5jdGlvbiBkKHQsZSl7aWYodCYmIWVbdF0mJiFpW3RdKXRocm93IEVycm9yKCJVbmtub3duIGtleXdvcmQgYCIrdCsiYCIpO3JldHVybiB0fWZ1bmN0aW9uIGcodCl7Zm9yKHZhciBlPXt9LHI9MDtyPHQubGVuZ3RoO3IrKyllW3Rbcl1dPTE7cmV0dXJuIGV9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCh0PW4odCx7c3R5bGU6InN0eWxlIGZvbnRzdHlsZSBmb250U3R5bGUgZm9udC1zdHlsZSBzbG9wZSBkaXN0aW5jdGlvbiIsdmFyaWFudDoidmFyaWFudCBmb250LXZhcmlhbnQgZm9udFZhcmlhbnQgZm9udHZhcmlhbnQgdmFyIGNhcGl0YWxpemF0aW9uIix3ZWlnaHQ6IndlaWdodCB3IGZvbnQtd2VpZ2h0IGZvbnRXZWlnaHQgZm9udHdlaWdodCIsc3RyZXRjaDoic3RyZXRjaCBmb250LXN0cmV0Y2ggZm9udFN0cmV0Y2ggZm9udHN0cmV0Y2ggd2lkdGgiLHNpemU6InNpemUgcyBmb250LXNpemUgZm9udFNpemUgZm9udHNpemUgaGVpZ2h0IGVtIGVtU2l6ZSIsbGluZUhlaWdodDoibGggbGluZS1oZWlnaHQgbGluZUhlaWdodCBsaW5laGVpZ2h0IGxlYWRpbmciLGZhbWlseToiZm9udCBmYW1pbHkgZm9udEZhbWlseSBmb250LWZhbWlseSBmb250ZmFtaWx5IHR5cGUgdHlwZWZhY2UgZmFjZSIsc3lzdGVtOiJzeXN0ZW0gcmVzZXJ2ZWQgZGVmYXVsdCBnbG9iYWwifSkpLnN5c3RlbSlyZXR1cm4gdC5zeXN0ZW0mJmQodC5zeXN0ZW0sbyksdC5zeXN0ZW07aWYoZCh0LnN0eWxlLGwpLGQodC52YXJpYW50LHUpLGQodC53ZWlnaHQscyksZCh0LnN0cmV0Y2gsYyksbnVsbD09dC5zaXplJiYodC5zaXplPWYpLCJudW1iZXIiPT10eXBlb2YgdC5zaXplJiYodC5zaXplKz0icHgiKSwhYSl0aHJvdyBFcnJvcigiQmFkIHNpemUgdmFsdWUgYCIrdC5zaXplKyJgIik7dC5mYW1pbHl8fCh0LmZhbWlseT1wKSxBcnJheS5pc0FycmF5KHQuZmFtaWx5KSYmKHQuZmFtaWx5Lmxlbmd0aHx8KHQuZmFtaWx5PVtwXSksdC5mYW1pbHk9dC5mYW1pbHkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBoW3RdP3Q6JyInK3QrJyInfSkuam9pbigiLCAiKSk7dmFyIGU9W107cmV0dXJuIGUucHVzaCh0LnN0eWxlKSx0LnZhcmlhbnQhPT10LnN0eWxlJiZlLnB1c2godC52YXJpYW50KSx0LndlaWdodCE9PXQudmFyaWFudCYmdC53ZWlnaHQhPT10LnN0eWxlJiZlLnB1c2godC53ZWlnaHQpLHQuc3RyZXRjaCE9PXQud2VpZ2h0JiZ0LnN0cmV0Y2ghPT10LnZhcmlhbnQmJnQuc3RyZXRjaCE9PXQuc3R5bGUmJmUucHVzaCh0LnN0cmV0Y2gpLGUucHVzaCh0LnNpemUrKG51bGw9PXQubGluZUhlaWdodHx8Im5vcm1hbCI9PT10LmxpbmVIZWlnaHR8fHQubGluZUhlaWdodCsiIj09IjEiPyIiOiIvIit0LmxpbmVIZWlnaHQpKSxlLnB1c2godC5mYW1pbHkpLGUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKX19LHsiLi9saWIvdXRpbCI6MTQyLCJjc3MtZm9udC1zdHJldGNoLWtleXdvcmRzIjoxMzgsImNzcy1mb250LXN0eWxlLWtleXdvcmRzIjoxMzksImNzcy1mb250LXdlaWdodC1rZXl3b3JkcyI6MTQwLCJjc3MtZ2xvYmFsLWtleXdvcmRzIjoxNDUsImNzcy1zeXN0ZW0tZm9udC1rZXl3b3JkcyI6MTQ2LCJwaWNrLWJ5LWFsaWFzIjo0Njd9XSwxNDU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyJpbmhlcml0IiwiaW5pdGlhbCIsInVuc2V0Il19LHt9XSwxNDY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyJjYXB0aW9uIiwiaWNvbiIsIm1lbnUiLCJtZXNzYWdlLWJveCIsInNtYWxsLWNhcHRpb24iLCJzdGF0dXMtYmFyIl19LHt9XSwxNDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz1hLTEscz1hKmEsbD1vKm8sYz0oMSsyKmEpKmwsdT1hKmwsaD1zKigzLTIqYSksZj1zKm87aWYodC5sZW5ndGgpe2l8fChpPW5ldyBBcnJheSh0Lmxlbmd0aCkpO2Zvcih2YXIgcD10Lmxlbmd0aC0xO3A+PTA7LS1wKWlbcF09Yyp0W3BdK3UqZVtwXStoKnJbcF0rZipuW3BdO3JldHVybiBpfXJldHVybiBjKnQrdSplK2gqcitmKm59LGUuZXhwb3J0cy5kZXJpdmF0aXZlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz02KmEqYS02KmEscz0zKmEqYS00KmErMSxsPS02KmEqYSs2KmEsYz0zKmEqYS0yKmE7aWYodC5sZW5ndGgpe2l8fChpPW5ldyBBcnJheSh0Lmxlbmd0aCkpO2Zvcih2YXIgdT10Lmxlbmd0aC0xO3U+PTA7LS11KWlbdV09byp0W3VdK3MqZVt1XStsKnJbdV0rYypuW3VdO3JldHVybiBpfXJldHVybiBvKnQrcyplK2wqclt1XStjKm59fSx7fV0sMTQ4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL3RodW5rLmpzIik7ZnVuY3Rpb24gYSgpe3RoaXMuYXJnVHlwZXM9W10sdGhpcy5zaGltQXJncz1bXSx0aGlzLmFycmF5QXJncz1bXSx0aGlzLmFycmF5QmxvY2tJbmRpY2VzPVtdLHRoaXMuc2NhbGFyQXJncz1bXSx0aGlzLm9mZnNldEFyZ3M9W10sdGhpcy5vZmZzZXRBcmdJbmRleD1bXSx0aGlzLmluZGV4QXJncz1bXSx0aGlzLnNoYXBlQXJncz1bXSx0aGlzLmZ1bmNOYW1lPSIiLHRoaXMucHJlPW51bGwsdGhpcy5ib2R5PW51bGwsdGhpcy5wb3N0PW51bGwsdGhpcy5kZWJ1Zz0hMX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGE7ZS5wcmU9dC5wcmUsZS5ib2R5PXQuYm9keSxlLnBvc3Q9dC5wb3N0O3ZhciByPXQuYXJncy5zbGljZSgwKTtlLmFyZ1R5cGVzPXI7Zm9yKHZhciBpPTA7aTxyLmxlbmd0aDsrK2kpe3ZhciBvPXJbaV07aWYoImFycmF5Ij09PW98fCJvYmplY3QiPT10eXBlb2YgbyYmby5ibG9ja0luZGljZXMpe2lmKGUuYXJnVHlwZXNbaV09ImFycmF5IixlLmFycmF5QXJncy5wdXNoKGkpLGUuYXJyYXlCbG9ja0luZGljZXMucHVzaChvLmJsb2NrSW5kaWNlcz9vLmJsb2NrSW5kaWNlczowKSxlLnNoaW1BcmdzLnB1c2goImFycmF5IitpKSxpPGUucHJlLmFyZ3MubGVuZ3RoJiZlLnByZS5hcmdzW2ldLmNvdW50PjApdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogcHJlKCkgYmxvY2sgbWF5IG5vdCByZWZlcmVuY2UgYXJyYXkgYXJncyIpO2lmKGk8ZS5wb3N0LmFyZ3MubGVuZ3RoJiZlLnBvc3QuYXJnc1tpXS5jb3VudD4wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHBvc3QoKSBibG9jayBtYXkgbm90IHJlZmVyZW5jZSBhcnJheSBhcmdzIil9ZWxzZSBpZigic2NhbGFyIj09PW8pZS5zY2FsYXJBcmdzLnB1c2goaSksZS5zaGltQXJncy5wdXNoKCJzY2FsYXIiK2kpO2Vsc2UgaWYoImluZGV4Ij09PW8pe2lmKGUuaW5kZXhBcmdzLnB1c2goaSksaTxlLnByZS5hcmdzLmxlbmd0aCYmZS5wcmUuYXJnc1tpXS5jb3VudD4wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHByZSgpIGJsb2NrIG1heSBub3QgcmVmZXJlbmNlIGFycmF5IGluZGV4Iik7aWYoaTxlLmJvZHkuYXJncy5sZW5ndGgmJmUuYm9keS5hcmdzW2ldLmx2YWx1ZSl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBib2R5KCkgYmxvY2sgbWF5IG5vdCB3cml0ZSB0byBhcnJheSBpbmRleCIpO2lmKGk8ZS5wb3N0LmFyZ3MubGVuZ3RoJiZlLnBvc3QuYXJnc1tpXS5jb3VudD4wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHBvc3QoKSBibG9jayBtYXkgbm90IHJlZmVyZW5jZSBhcnJheSBpbmRleCIpfWVsc2UgaWYoInNoYXBlIj09PW8pe2lmKGUuc2hhcGVBcmdzLnB1c2goaSksaTxlLnByZS5hcmdzLmxlbmd0aCYmZS5wcmUuYXJnc1tpXS5sdmFsdWUpdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogcHJlKCkgYmxvY2sgbWF5IG5vdCB3cml0ZSB0byBhcnJheSBzaGFwZSIpO2lmKGk8ZS5ib2R5LmFyZ3MubGVuZ3RoJiZlLmJvZHkuYXJnc1tpXS5sdmFsdWUpdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogYm9keSgpIGJsb2NrIG1heSBub3Qgd3JpdGUgdG8gYXJyYXkgc2hhcGUiKTtpZihpPGUucG9zdC5hcmdzLmxlbmd0aCYmZS5wb3N0LmFyZ3NbaV0ubHZhbHVlKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHBvc3QoKSBibG9jayBtYXkgbm90IHdyaXRlIHRvIGFycmF5IHNoYXBlIil9ZWxzZXtpZigib2JqZWN0IiE9dHlwZW9mIG98fCFvLm9mZnNldCl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBVbmtub3duIGFyZ3VtZW50IHR5cGUgIityW2ldKTtlLmFyZ1R5cGVzW2ldPSJvZmZzZXQiLGUub2Zmc2V0QXJncy5wdXNoKHthcnJheTpvLmFycmF5LG9mZnNldDpvLm9mZnNldH0pLGUub2Zmc2V0QXJnSW5kZXgucHVzaChpKX19aWYoZS5hcnJheUFyZ3MubGVuZ3RoPD0wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IE5vIGFycmF5IGFyZ3VtZW50cyBzcGVjaWZpZWQiKTtpZihlLnByZS5hcmdzLmxlbmd0aD5yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBUb28gbWFueSBhcmd1bWVudHMgaW4gcHJlKCkgYmxvY2siKTtpZihlLmJvZHkuYXJncy5sZW5ndGg+ci5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogVG9vIG1hbnkgYXJndW1lbnRzIGluIGJvZHkoKSBibG9jayIpO2lmKGUucG9zdC5hcmdzLmxlbmd0aD5yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBUb28gbWFueSBhcmd1bWVudHMgaW4gcG9zdCgpIGJsb2NrIik7cmV0dXJuIGUuZGVidWc9ISF0LnByaW50Q29kZXx8ISF0LmRlYnVnLGUuZnVuY05hbWU9dC5mdW5jTmFtZXx8ImN3aXNlIixlLmJsb2NrU2l6ZT10LmJsb2NrU2l6ZXx8NjQsbihlKX19LHsiLi9saWIvdGh1bmsuanMiOjE1MH1dLDE0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ1bmlxIik7ZnVuY3Rpb24gYSh0LGUscil7dmFyIG4sYSxpPXQubGVuZ3RoLG89ZS5hcnJheUFyZ3MubGVuZ3RoLHM9ZS5pbmRleEFyZ3MubGVuZ3RoPjAsbD1bXSxjPVtdLHU9MCxoPTA7Zm9yKG49MDtuPGk7KytuKWMucHVzaChbImkiLG4sIj0wIl0uam9pbigiIikpO2ZvcihhPTA7YTxvOysrYSlmb3Iobj0wO248aTsrK24paD11LHU9dFtuXSwwPT09bj9jLnB1c2goWyJkIixhLCJzIixuLCI9dCIsYSwicCIsdV0uam9pbigiIikpOmMucHVzaChbImQiLGEsInMiLG4sIj0odCIsYSwicCIsdSwiLXMiLGgsIip0IixhLCJwIixoLCIpIl0uam9pbigiIikpO2ZvcihjLmxlbmd0aD4wJiZsLnB1c2goInZhciAiK2Muam9pbigiLCIpKSxuPWktMTtuPj0wOy0tbil1PXRbbl0sbC5wdXNoKFsiZm9yKGkiLG4sIj0wO2kiLG4sIjxzIix1LCI7KytpIixuLCIpeyJdLmpvaW4oIiIpKTtmb3IobC5wdXNoKHIpLG49MDtuPGk7KytuKXtmb3IoaD11LHU9dFtuXSxhPTA7YTxvOysrYSlsLnB1c2goWyJwIixhLCIrPWQiLGEsInMiLG5dLmpvaW4oIiIpKTtzJiYobj4wJiZsLnB1c2goWyJpbmRleFsiLGgsIl0tPXMiLGhdLmpvaW4oIiIpKSxsLnB1c2goWyIrK2luZGV4WyIsdSwiXSJdLmpvaW4oIiIpKSksbC5wdXNoKCJ9Iil9cmV0dXJuIGwuam9pbigiXG4iKX1mdW5jdGlvbiBpKHQsZSxyKXtmb3IodmFyIG49dC5ib2R5LGE9W10saT1bXSxvPTA7bzx0LmFyZ3MubGVuZ3RoOysrbyl7dmFyIHM9dC5hcmdzW29dO2lmKCEocy5jb3VudDw9MCkpe3ZhciBsPW5ldyBSZWdFeHAocy5uYW1lLCJnIiksYz0iIix1PWUuYXJyYXlBcmdzLmluZGV4T2Yobyk7c3dpdGNoKGUuYXJnVHlwZXNbb10pe2Nhc2Uib2Zmc2V0Ijp2YXIgaD1lLm9mZnNldEFyZ0luZGV4LmluZGV4T2Yobyk7dT1lLm9mZnNldEFyZ3NbaF0uYXJyYXksYz0iK3EiK2g7Y2FzZSJhcnJheSI6Yz0icCIrdStjO3ZhciBmPSJsIitvLHA9ImEiK3U7aWYoMD09PWUuYXJyYXlCbG9ja0luZGljZXNbdV0pMT09PXMuY291bnQ/ImdlbmVyaWMiPT09clt1XT9zLmx2YWx1ZT8oYS5wdXNoKFsidmFyICIsZiwiPSIscCwiLmdldCgiLGMsIikiXS5qb2luKCIiKSksbj1uLnJlcGxhY2UobCxmKSxpLnB1c2goW3AsIi5zZXQoIixjLCIsIixmLCIpIl0uam9pbigiIikpKTpuPW4ucmVwbGFjZShsLFtwLCIuZ2V0KCIsYywiKSJdLmpvaW4oIiIpKTpuPW4ucmVwbGFjZShsLFtwLCJbIixjLCJdIl0uam9pbigiIikpOiJnZW5lcmljIj09PXJbdV0/KGEucHVzaChbInZhciAiLGYsIj0iLHAsIi5nZXQoIixjLCIpIl0uam9pbigiIikpLG49bi5yZXBsYWNlKGwsZikscy5sdmFsdWUmJmkucHVzaChbcCwiLnNldCgiLGMsIiwiLGYsIikiXS5qb2luKCIiKSkpOihhLnB1c2goWyJ2YXIgIixmLCI9IixwLCJbIixjLCJdIl0uam9pbigiIikpLG49bi5yZXBsYWNlKGwsZikscy5sdmFsdWUmJmkucHVzaChbcCwiWyIsYywiXT0iLGZdLmpvaW4oIiIpKSk7ZWxzZXtmb3IodmFyIGQ9W3MubmFtZV0sZz1bY10sdj0wO3Y8TWF0aC5hYnMoZS5hcnJheUJsb2NrSW5kaWNlc1t1XSk7disrKWQucHVzaCgiXFxzKlxcWyhbXlxcXV0rKVxcXSIpLGcucHVzaCgiJCIrKHYrMSkrIip0Iit1KyJiIit2KTtpZihsPW5ldyBSZWdFeHAoZC5qb2luKCIiKSwiZyIpLGM9Zy5qb2luKCIrIiksImdlbmVyaWMiPT09clt1XSl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBHZW5lcmljIGFycmF5cyBub3Qgc3VwcG9ydGVkIGluIGNvbWJpbmF0aW9uIHdpdGggYmxvY2tzISIpO249bi5yZXBsYWNlKGwsW3AsIlsiLGMsIl0iXS5qb2luKCIiKSl9YnJlYWs7Y2FzZSJzY2FsYXIiOm49bi5yZXBsYWNlKGwsIlkiK2Uuc2NhbGFyQXJncy5pbmRleE9mKG8pKTticmVhaztjYXNlImluZGV4IjpuPW4ucmVwbGFjZShsLCJpbmRleCIpO2JyZWFrO2Nhc2Uic2hhcGUiOm49bi5yZXBsYWNlKGwsInNoYXBlIil9fX1yZXR1cm5bYS5qb2luKCJcbiIpLG4saS5qb2luKCJcbiIpXS5qb2luKCJcbiIpLnRyaW0oKX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9ITAsbj0wO248dC5sZW5ndGg7KytuKXt2YXIgYT10W25dLGk9YS5tYXRjaCgvXGQrLyk7aT1pP2lbMF06IiIsMD09PWEuY2hhckF0KDApP2Vbbl09InUiK2EuY2hhckF0KDEpK2k6ZVtuXT1hLmNoYXJBdCgwKStpLG4+MCYmKHI9ciYmZVtuXT09PWVbbi0xXSl9cmV0dXJuIHI/ZVswXTplLmpvaW4oIiIpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lWzFdLmxlbmd0aC1NYXRoLmFicyh0LmFycmF5QmxvY2tJbmRpY2VzWzBdKXwwLHM9bmV3IEFycmF5KHQuYXJyYXlBcmdzLmxlbmd0aCksbD1uZXcgQXJyYXkodC5hcnJheUFyZ3MubGVuZ3RoKSxjPTA7Yzx0LmFycmF5QXJncy5sZW5ndGg7KytjKWxbY109ZVsyKmNdLHNbY109ZVsyKmMrMV07dmFyIHU9W10saD1bXSxmPVtdLHA9W10sZD1bXTtmb3IoYz0wO2M8dC5hcnJheUFyZ3MubGVuZ3RoOysrYyl7dC5hcnJheUJsb2NrSW5kaWNlc1tjXTwwPyhmLnB1c2goMCkscC5wdXNoKHIpLHUucHVzaChyKSxoLnB1c2gocit0LmFycmF5QmxvY2tJbmRpY2VzW2NdKSk6KGYucHVzaCh0LmFycmF5QmxvY2tJbmRpY2VzW2NdKSxwLnB1c2godC5hcnJheUJsb2NrSW5kaWNlc1tjXStyKSx1LnB1c2goMCksaC5wdXNoKHQuYXJyYXlCbG9ja0luZGljZXNbY10pKTtmb3IodmFyIGc9W10sdj0wO3Y8c1tjXS5sZW5ndGg7disrKWZbY108PXNbY11bdl0mJnNbY11bdl08cFtjXSYmZy5wdXNoKHNbY11bdl0tZltjXSk7ZC5wdXNoKGcpfXZhciBtPVsiU1MiXSx5PVsiJ3VzZSBzdHJpY3QnIl0seD1bXTtmb3Iodj0wO3Y8cjsrK3YpeC5wdXNoKFsicyIsdiwiPVNTWyIsdiwiXSJdLmpvaW4oIiIpKTtmb3IoYz0wO2M8dC5hcnJheUFyZ3MubGVuZ3RoOysrYyl7Zm9yKG0ucHVzaCgiYSIrYyksbS5wdXNoKCJ0IitjKSxtLnB1c2goInAiK2MpLHY9MDt2PHI7Kyt2KXgucHVzaChbInQiLGMsInAiLHYsIj10IixjLCJbIixmW2NdK3YsIl0iXS5qb2luKCIiKSk7Zm9yKHY9MDt2PE1hdGguYWJzKHQuYXJyYXlCbG9ja0luZGljZXNbY10pOysrdil4LnB1c2goWyJ0IixjLCJiIix2LCI9dCIsYywiWyIsdVtjXSt2LCJdIl0uam9pbigiIikpfWZvcihjPTA7Yzx0LnNjYWxhckFyZ3MubGVuZ3RoOysrYyltLnB1c2goIlkiK2MpO2lmKHQuc2hhcGVBcmdzLmxlbmd0aD4wJiZ4LnB1c2goInNoYXBlPVNTLnNsaWNlKDApIiksdC5pbmRleEFyZ3MubGVuZ3RoPjApe3ZhciBiPW5ldyBBcnJheShyKTtmb3IoYz0wO2M8cjsrK2MpYltjXT0iMCI7eC5wdXNoKFsiaW5kZXg9WyIsYi5qb2luKCIsIiksIl0iXS5qb2luKCIiKSl9Zm9yKGM9MDtjPHQub2Zmc2V0QXJncy5sZW5ndGg7KytjKXt2YXIgXz10Lm9mZnNldEFyZ3NbY10sdz1bXTtmb3Iodj0wO3Y8Xy5vZmZzZXQubGVuZ3RoOysrdikwIT09Xy5vZmZzZXRbdl0mJigxPT09Xy5vZmZzZXRbdl0/dy5wdXNoKFsidCIsXy5hcnJheSwicCIsdl0uam9pbigiIikpOncucHVzaChbXy5vZmZzZXRbdl0sIip0IixfLmFycmF5LCJwIix2XS5qb2luKCIiKSkpOzA9PT13Lmxlbmd0aD94LnB1c2goInEiK2MrIj0wIik6eC5wdXNoKFsicSIsYywiPSIsdy5qb2luKCIrIildLmpvaW4oIiIpKX12YXIgaz1uKFtdLmNvbmNhdCh0LnByZS50aGlzVmFycykuY29uY2F0KHQuYm9keS50aGlzVmFycykuY29uY2F0KHQucG9zdC50aGlzVmFycykpO2ZvcigoeD14LmNvbmNhdChrKSkubGVuZ3RoPjAmJnkucHVzaCgidmFyICIreC5qb2luKCIsIikpLGM9MDtjPHQuYXJyYXlBcmdzLmxlbmd0aDsrK2MpeS5wdXNoKCJwIitjKyJ8PTAiKTt0LnByZS5ib2R5Lmxlbmd0aD4zJiZ5LnB1c2goaSh0LnByZSx0LGwpKTt2YXIgVD1pKHQuYm9keSx0LGwpLE09ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj10WzBdLmxlbmd0aDtlPHI7KXtmb3IodmFyIG49MTtuPHQubGVuZ3RoOysrbilpZih0W25dW2VdIT09dFswXVtlXSlyZXR1cm4gZTsrK2V9cmV0dXJuIGV9KGQpO008cj95LnB1c2goZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPWUubGVuZ3RoLG89ci5hcnJheUFyZ3MubGVuZ3RoLHM9ci5ibG9ja1NpemUsbD1yLmluZGV4QXJncy5sZW5ndGg+MCxjPVtdLHU9MDt1PG87Kyt1KWMucHVzaChbInZhciBvZmZzZXQiLHUsIj1wIix1XS5qb2luKCIiKSk7Zm9yKHU9dDt1PGk7Kyt1KWMucHVzaChbImZvcih2YXIgaiIrdSsiPVNTWyIsZVt1XSwiXXwwO2oiLHUsIj4wOyl7Il0uam9pbigiIikpLGMucHVzaChbImlmKGoiLHUsIjwiLHMsIil7Il0uam9pbigiIikpLGMucHVzaChbInMiLGVbdV0sIj1qIix1XS5qb2luKCIiKSksYy5wdXNoKFsiaiIsdSwiPTAiXS5qb2luKCIiKSksYy5wdXNoKFsifWVsc2V7cyIsZVt1XSwiPSIsc10uam9pbigiIikpLGMucHVzaChbImoiLHUsIi09IixzLCJ9Il0uam9pbigiIikpLGwmJmMucHVzaChbImluZGV4WyIsZVt1XSwiXT1qIix1XS5qb2luKCIiKSk7Zm9yKHU9MDt1PG87Kyt1KXtmb3IodmFyIGg9WyJvZmZzZXQiK3VdLGY9dDtmPGk7KytmKWgucHVzaChbImoiLGYsIip0Iix1LCJwIixlW2ZdXS5qb2luKCIiKSk7Yy5wdXNoKFsicCIsdSwiPSgiLGguam9pbigiKyIpLCIpIl0uam9pbigiIikpfWZvcihjLnB1c2goYShlLHIsbikpLHU9dDt1PGk7Kyt1KWMucHVzaCgifSIpO3JldHVybiBjLmpvaW4oIlxuIil9KE0sZFswXSx0LFQpKTp5LnB1c2goYShkWzBdLHQsVCkpLHQucG9zdC5ib2R5Lmxlbmd0aD4zJiZ5LnB1c2goaSh0LnBvc3QsdCxsKSksdC5kZWJ1ZyYmY29uc29sZS5sb2coIi0tLS0tR2VuZXJhdGVkIGN3aXNlIHJvdXRpbmUgZm9yICIsZSwiOlxuIit5LmpvaW4oIlxuIikrIlxuLS0tLS0tLS0tLSIpO3ZhciBBPVt0LmZ1bmNOYW1lfHwidW5uYW1lZCIsIl9jd2lzZV9sb29wXyIsc1swXS5qb2luKCJzIiksIm0iLE0sbyhsKV0uam9pbigiIik7cmV0dXJuIG5ldyBGdW5jdGlvbihbImZ1bmN0aW9uICIsQSwiKCIsbS5qb2luKCIsIiksIil7Iix5LmpvaW4oIlxuIiksIn0gcmV0dXJuICIsQV0uam9pbigiIikpKCl9fSx7dW5pcTo1NDZ9XSwxNTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb21waWxlLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPVsiJ3VzZSBzdHJpY3QnIiwidmFyIENBQ0hFRD17fSJdLHI9W10sYT10LmZ1bmNOYW1lKyJfY3dpc2VfdGh1bmsiO2UucHVzaChbInJldHVybiBmdW5jdGlvbiAiLGEsIigiLHQuc2hpbUFyZ3Muam9pbigiLCIpLCIpeyJdLmpvaW4oIiIpKTtmb3IodmFyIGk9W10sbz1bXSxzPVtbImFycmF5Iix0LmFycmF5QXJnc1swXSwiLnNoYXBlLnNsaWNlKCIsTWF0aC5tYXgoMCx0LmFycmF5QmxvY2tJbmRpY2VzWzBdKSx0LmFycmF5QmxvY2tJbmRpY2VzWzBdPDA/IiwiK3QuYXJyYXlCbG9ja0luZGljZXNbMF0rIikiOiIpIl0uam9pbigiIildLGw9W10sYz1bXSx1PTA7dTx0LmFycmF5QXJncy5sZW5ndGg7Kyt1KXt2YXIgaD10LmFycmF5QXJnc1t1XTtyLnB1c2goWyJ0IixoLCI9YXJyYXkiLGgsIi5kdHlwZSwiLCJyIixoLCI9YXJyYXkiLGgsIi5vcmRlciJdLmpvaW4oIiIpKSxpLnB1c2goInQiK2gpLGkucHVzaCgiciIraCksby5wdXNoKCJ0IitoKSxvLnB1c2goInIiK2grIi5qb2luKCkiKSxzLnB1c2goImFycmF5IitoKyIuZGF0YSIpLHMucHVzaCgiYXJyYXkiK2grIi5zdHJpZGUiKSxzLnB1c2goImFycmF5IitoKyIub2Zmc2V0fDAiKSx1PjAmJihsLnB1c2goImFycmF5Iit0LmFycmF5QXJnc1swXSsiLnNoYXBlLmxlbmd0aD09PWFycmF5IitoKyIuc2hhcGUubGVuZ3RoKyIrKE1hdGguYWJzKHQuYXJyYXlCbG9ja0luZGljZXNbMF0pLU1hdGguYWJzKHQuYXJyYXlCbG9ja0luZGljZXNbdV0pKSksYy5wdXNoKCJhcnJheSIrdC5hcnJheUFyZ3NbMF0rIi5zaGFwZVtzaGFwZUluZGV4KyIrTWF0aC5tYXgoMCx0LmFycmF5QmxvY2tJbmRpY2VzWzBdKSsiXT09PWFycmF5IitoKyIuc2hhcGVbc2hhcGVJbmRleCsiK01hdGgubWF4KDAsdC5hcnJheUJsb2NrSW5kaWNlc1t1XSkrIl0iKSl9Zm9yKHQuYXJyYXlBcmdzLmxlbmd0aD4xJiYoZS5wdXNoKCJpZiAoISgiK2wuam9pbigiICYmICIpKyIpKSB0aHJvdyBuZXcgRXJyb3IoJ2N3aXNlOiBBcnJheXMgZG8gbm90IGFsbCBoYXZlIHRoZSBzYW1lIGRpbWVuc2lvbmFsaXR5IScpIiksZS5wdXNoKCJmb3IodmFyIHNoYXBlSW5kZXg9YXJyYXkiK3QuYXJyYXlBcmdzWzBdKyIuc2hhcGUubGVuZ3RoLSIrTWF0aC5hYnModC5hcnJheUJsb2NrSW5kaWNlc1swXSkrIjsgc2hhcGVJbmRleC0tXHgzZTA7KSB7IiksZS5wdXNoKCJpZiAoISgiK2Muam9pbigiICYmICIpKyIpKSB0aHJvdyBuZXcgRXJyb3IoJ2N3aXNlOiBBcnJheXMgZG8gbm90IGFsbCBoYXZlIHRoZSBzYW1lIHNoYXBlIScpIiksZS5wdXNoKCJ9IikpLHU9MDt1PHQuc2NhbGFyQXJncy5sZW5ndGg7Kyt1KXMucHVzaCgic2NhbGFyIit0LnNjYWxhckFyZ3NbdV0pO3JldHVybiByLnB1c2goWyJ0eXBlPVsiLG8uam9pbigiLCIpLCJdLmpvaW4oKSJdLmpvaW4oIiIpKSxyLnB1c2goInByb2M9Q0FDSEVEW3R5cGVdIiksZS5wdXNoKCJ2YXIgIityLmpvaW4oIiwiKSksZS5wdXNoKFsiaWYoIXByb2MpeyIsIkNBQ0hFRFt0eXBlXT1wcm9jPWNvbXBpbGUoWyIsaS5qb2luKCIsIiksIl0pfSIsInJldHVybiBwcm9jKCIscy5qb2luKCIsIiksIil9Il0uam9pbigiIikpLHQuZGVidWcmJmNvbnNvbGUubG9nKCItLS0tLUdlbmVyYXRlZCB0aHVuazpcbiIrZS5qb2luKCJcbiIpKyJcbi0tLS0tLS0tLS0iKSxuZXcgRnVuY3Rpb24oImNvbXBpbGUiLGUuam9pbigiXG4iKSkobi5iaW5kKHZvaWQgMCx0KSl9fSx7Ii4vY29tcGlsZS5qcyI6MTQ5fV0sMTUxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoImN3aXNlLWNvbXBpbGVyIil9LHsiY3dpc2UtY29tcGlsZXIiOjE0OH1dLDE1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPXQoImVzNS1leHQvb2JqZWN0L2NvcHkiKSxpPXQoImVzNS1leHQvb2JqZWN0L25vcm1hbGl6ZS1vcHRpb25zIiksbz10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLHM9dCgiZXM1LWV4dC9vYmplY3QvbWFwIiksbD10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLGM9dCgiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiKSx1PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLGg9T2JqZWN0LmRlZmluZVByb3BlcnR5LGY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtuPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpPWMoZSkmJmwoZS52YWx1ZSk7cmV0dXJuIGRlbGV0ZShuPWEoZSkpLndyaXRhYmxlLGRlbGV0ZSBuLnZhbHVlLG4uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIXIub3ZlcndyaXRlRGVmaW5pdGlvbiYmZi5jYWxsKHRoaXMsdCk/aTooZS52YWx1ZT11LmNhbGwoaSxyLnJlc29sdmVDb250ZXh0P3IucmVzb2x2ZUNvbnRleHQodGhpcyk6dGhpcyksaCh0aGlzLHQsZSksdGhpc1t0XSl9LG59LGUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1pKGFyZ3VtZW50c1sxXSk7cmV0dXJuIG51bGwhPWUucmVzb2x2ZUNvbnRleHQmJm8oZS5yZXNvbHZlQ29udGV4dCkscyh0LGZ1bmN0aW9uKHQscil7cmV0dXJuIG4ocix0LGUpfSl9fSx7ImVzNS1leHQvb2JqZWN0L2NvcHkiOjE5MiwiZXM1LWV4dC9vYmplY3QvbWFwIjoyMDEsImVzNS1leHQvb2JqZWN0L25vcm1hbGl6ZS1vcHRpb25zIjoyMDIsImVzNS1leHQvb2JqZWN0L3ZhbGlkLWNhbGxhYmxlIjoyMDYsImVzNS1leHQvb2JqZWN0L3ZhbGlkLXZhbHVlIjoyMDh9XSwxNTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZXM1LWV4dC9vYmplY3QvYXNzaWduIiksYT10KCJlczUtZXh0L29iamVjdC9ub3JtYWxpemUtb3B0aW9ucyIpLGk9dCgiZXM1LWV4dC9vYmplY3QvaXMtY2FsbGFibGUiKSxvPXQoImVzNS1leHQvc3RyaW5nLyMvY29udGFpbnMiKTsoZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaSxzLGwsYztyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyfHwic3RyaW5nIiE9dHlwZW9mIHQ/KGw9ZSxlPXQsdD1udWxsKTpsPWFyZ3VtZW50c1syXSxudWxsPT10PyhyPXM9ITAsaT0hMSk6KHI9by5jYWxsKHQsImMiKSxpPW8uY2FsbCh0LCJlIikscz1vLmNhbGwodCwidyIpKSxjPXt2YWx1ZTplLGNvbmZpZ3VyYWJsZTpyLGVudW1lcmFibGU6aSx3cml0YWJsZTpzfSxsP24oYShsKSxjKTpjfSkuZ3M9ZnVuY3Rpb24odCxlLHIpe3ZhciBzLGwsYyx1O3JldHVybiJzdHJpbmciIT10eXBlb2YgdD8oYz1yLHI9ZSxlPXQsdD1udWxsKTpjPWFyZ3VtZW50c1szXSxudWxsPT1lP2U9dm9pZCAwOmkoZSk/bnVsbD09cj9yPXZvaWQgMDppKHIpfHwoYz1yLHI9dm9pZCAwKTooYz1lLGU9cj12b2lkIDApLG51bGw9PXQ/KHM9ITAsbD0hMSk6KHM9by5jYWxsKHQsImMiKSxsPW8uY2FsbCh0LCJlIikpLHU9e2dldDplLHNldDpyLGNvbmZpZ3VyYWJsZTpzLGVudW1lcmFibGU6bH0sYz9uKGEoYyksdSk6dX19LHsiZXM1LWV4dC9vYmplY3QvYXNzaWduIjoxODksImVzNS1leHQvb2JqZWN0L2lzLWNhbGxhYmxlIjoxOTUsImVzNS1leHQvb2JqZWN0L25vcm1hbGl6ZS1vcHRpb25zIjoyMDIsImVzNS1leHQvc3RyaW5nLyMvY29udGFpbnMiOjIwOX1dLDE1NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiByKHQpe3ZhciByO3JldHVybiAxPT09dC5sZW5ndGgmJihyPXQsdD1mdW5jdGlvbih0LG4pe3JldHVybiBlKHIodCksbil9KSx7bGVmdDpmdW5jdGlvbihlLHIsbixhKXtmb3IobnVsbD09biYmKG49MCksbnVsbD09YSYmKGE9ZS5sZW5ndGgpO248YTspe3ZhciBpPW4rYT4+PjE7dChlW2ldLHIpPDA/bj1pKzE6YT1pfXJldHVybiBufSxyaWdodDpmdW5jdGlvbihlLHIsbixhKXtmb3IobnVsbD09biYmKG49MCksbnVsbD09YSYmKGE9ZS5sZW5ndGgpO248YTspe3ZhciBpPW4rYT4+PjE7dChlW2ldLHIpPjA/YT1pOm49aSsxfXJldHVybiBufX19dmFyIG49cihlKSxhPW4ucmlnaHQsaT1uLmxlZnQ7ZnVuY3Rpb24gbyh0LGUpe3JldHVyblt0LGVdfWZ1bmN0aW9uIHModCl7cmV0dXJuIG51bGw9PT10P05hTjordH1mdW5jdGlvbiBsKHQsZSl7dmFyIHIsbixhPXQubGVuZ3RoLGk9MCxvPS0xLGw9MCxjPTA7aWYobnVsbD09ZSlmb3IoOysrbzxhOylpc05hTihyPXModFtvXSkpfHwoYys9KG49ci1sKSooci0obCs9bi8rK2kpKSk7ZWxzZSBmb3IoOysrbzxhOylpc05hTihyPXMoZSh0W29dLG8sdCkpKXx8KGMrPShuPXItbCkqKHItKGwrPW4vKytpKSkpO2lmKGk+MSlyZXR1cm4gYy8oaS0xKX1mdW5jdGlvbiBjKHQsZSl7dmFyIHI9bCh0LGUpO3JldHVybiByP01hdGguc3FydChyKTpyfWZ1bmN0aW9uIHUodCxlKXt2YXIgcixuLGEsaT10Lmxlbmd0aCxvPS0xO2lmKG51bGw9PWUpe2Zvcig7KytvPGk7KWlmKG51bGwhPShyPXRbb10pJiZyPj1yKWZvcihuPWE9cjsrK288aTspbnVsbCE9KHI9dFtvXSkmJihuPnImJihuPXIpLGE8ciYmKGE9cikpfWVsc2UgZm9yKDsrK288aTspaWYobnVsbCE9KHI9ZSh0W29dLG8sdCkpJiZyPj1yKWZvcihuPWE9cjsrK288aTspbnVsbCE9KHI9ZSh0W29dLG8sdCkpJiYobj5yJiYobj1yKSxhPHImJihhPXIpKTtyZXR1cm5bbixhXX12YXIgaD1BcnJheS5wcm90b3R5cGUsZj1oLnNsaWNlLHA9aC5tYXA7ZnVuY3Rpb24gZCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdH1mdW5jdGlvbiB2KHQsZSxyKXt0PSt0LGU9K2Uscj0oYT1hcmd1bWVudHMubGVuZ3RoKTwyPyhlPXQsdD0wLDEpOmE8Mz8xOityO2Zvcih2YXIgbj0tMSxhPTB8TWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUtdCkvcikpLGk9bmV3IEFycmF5KGEpOysrbjxhOylpW25dPXQrbipyO3JldHVybiBpfXZhciBtPU1hdGguc3FydCg1MCkseT1NYXRoLnNxcnQoMTApLHg9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIGIodCxlLHIpe3ZhciBuPShlLXQpL01hdGgubWF4KDAsciksYT1NYXRoLmZsb29yKE1hdGgubG9nKG4pL01hdGguTE4xMCksaT1uL01hdGgucG93KDEwLGEpO3JldHVybiBhPj0wPyhpPj1tPzEwOmk+PXk/NTppPj14PzI6MSkqTWF0aC5wb3coMTAsYSk6LU1hdGgucG93KDEwLC1hKS8oaT49bT8xMDppPj15PzU6aT49eD8yOjEpfWZ1bmN0aW9uIF8odCxlLHIpe3ZhciBuPU1hdGguYWJzKGUtdCkvTWF0aC5tYXgoMCxyKSxhPU1hdGgucG93KDEwLE1hdGguZmxvb3IoTWF0aC5sb2cobikvTWF0aC5MTjEwKSksaT1uL2E7cmV0dXJuIGk+PW0/YSo9MTA6aT49eT9hKj01Omk+PXgmJihhKj0yKSxlPHQ/LWE6YX1mdW5jdGlvbiB3KHQpe3JldHVybiBNYXRoLmNlaWwoTWF0aC5sb2codC5sZW5ndGgpL01hdGguTE4yKSsxfWZ1bmN0aW9uIGsodCxlLHIpe2lmKG51bGw9PXImJihyPXMpLG49dC5sZW5ndGgpe2lmKChlPStlKTw9MHx8bjwyKXJldHVybityKHRbMF0sMCx0KTtpZihlPj0xKXJldHVybityKHRbbi0xXSxuLTEsdCk7dmFyIG4sYT0obi0xKSplLGk9TWF0aC5mbG9vcihhKSxvPStyKHRbaV0saSx0KTtyZXR1cm4gbysoK3IodFtpKzFdLGkrMSx0KS1vKSooYS1pKX19ZnVuY3Rpb24gVCh0LGUpe3ZhciByLG4sYT10Lmxlbmd0aCxpPS0xO2lmKG51bGw9PWUpe2Zvcig7KytpPGE7KWlmKG51bGwhPShyPXRbaV0pJiZyPj1yKWZvcihuPXI7KytpPGE7KW51bGwhPShyPXRbaV0pJiZuPnImJihuPXIpfWVsc2UgZm9yKDsrK2k8YTspaWYobnVsbCE9KHI9ZSh0W2ldLGksdCkpJiZyPj1yKWZvcihuPXI7KytpPGE7KW51bGwhPShyPWUodFtpXSxpLHQpKSYmbj5yJiYobj1yKTtyZXR1cm4gbn1mdW5jdGlvbiBNKHQpe2lmKCEoYT10Lmxlbmd0aCkpcmV0dXJuW107Zm9yKHZhciBlPS0xLHI9VCh0LEEpLG49bmV3IEFycmF5KHIpOysrZTxyOylmb3IodmFyIGEsaT0tMSxvPW5bZV09bmV3IEFycmF5KGEpOysraTxhOylvW2ldPXRbaV1bZV07cmV0dXJuIG59ZnVuY3Rpb24gQSh0KXtyZXR1cm4gdC5sZW5ndGh9dC5iaXNlY3Q9YSx0LmJpc2VjdFJpZ2h0PWEsdC5iaXNlY3RMZWZ0PWksdC5hc2NlbmRpbmc9ZSx0LmJpc2VjdG9yPXIsdC5jcm9zcz1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxpLHMsbD10Lmxlbmd0aCxjPWUubGVuZ3RoLHU9bmV3IEFycmF5KGwqYyk7Zm9yKG51bGw9PXImJihyPW8pLG49aT0wO248bDsrK24pZm9yKHM9dFtuXSxhPTA7YTxjOysrYSwrK2kpdVtpXT1yKHMsZVthXSk7cmV0dXJuIHV9LHQuZGVzY2VuZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn0sdC5kZXZpYXRpb249Yyx0LmV4dGVudD11LHQuaGlzdG9ncmFtPWZ1bmN0aW9uKCl7dmFyIHQ9ZyxlPXUscj13O2Z1bmN0aW9uIG4obil7dmFyIGksbyxzPW4ubGVuZ3RoLGw9bmV3IEFycmF5KHMpO2ZvcihpPTA7aTxzOysraSlsW2ldPXQobltpXSxpLG4pO3ZhciBjPWUobCksdT1jWzBdLGg9Y1sxXSxmPXIobCx1LGgpO0FycmF5LmlzQXJyYXkoZil8fChmPV8odSxoLGYpLGY9dihNYXRoLmNlaWwodS9mKSpmLGgsZikpO2Zvcih2YXIgcD1mLmxlbmd0aDtmWzBdPD11OylmLnNoaWZ0KCksLS1wO2Zvcig7ZltwLTFdPmg7KWYucG9wKCksLS1wO3ZhciBkLGc9bmV3IEFycmF5KHArMSk7Zm9yKGk9MDtpPD1wOysraSkoZD1nW2ldPVtdKS54MD1pPjA/ZltpLTFdOnUsZC54MT1pPHA/ZltpXTpoO2ZvcihpPTA7aTxzOysraSl1PD0obz1sW2ldKSYmbzw9aCYmZ1thKGYsbywwLHApXS5wdXNoKG5baV0pO3JldHVybiBnfXJldHVybiBuLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZChlKSxuKTp0fSxuLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmQoW3RbMF0sdFsxXV0pLG4pOmV9LG4udGhyZXNob2xkcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkFycmF5LmlzQXJyYXkodCk/ZChmLmNhbGwodCkpOmQodCksbik6cn0sbn0sdC50aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlzPWZ1bmN0aW9uKHQscixuKXtyZXR1cm4gdD1wLmNhbGwodCxzKS5zb3J0KGUpLE1hdGguY2VpbCgobi1yKS8oMiooayh0LC43NSktayh0LC4yNSkpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHQudGhyZXNob2xkU2NvdHQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBNYXRoLmNlaWwoKHItZSkvKDMuNSpjKHQpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHQudGhyZXNob2xkU3R1cmdlcz13LHQubWF4PWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPXQubGVuZ3RoLGk9LTE7aWYobnVsbD09ZSl7Zm9yKDsrK2k8YTspaWYobnVsbCE9KHI9dFtpXSkmJnI+PXIpZm9yKG49cjsrK2k8YTspbnVsbCE9KHI9dFtpXSkmJnI+biYmKG49cil9ZWxzZSBmb3IoOysraTxhOylpZihudWxsIT0ocj1lKHRbaV0saSx0KSkmJnI+PXIpZm9yKG49cjsrK2k8YTspbnVsbCE9KHI9ZSh0W2ldLGksdCkpJiZyPm4mJihuPXIpO3JldHVybiBufSx0Lm1lYW49ZnVuY3Rpb24odCxlKXt2YXIgcixuPXQubGVuZ3RoLGE9bixpPS0xLG89MDtpZihudWxsPT1lKWZvcig7KytpPG47KWlzTmFOKHI9cyh0W2ldKSk/LS1hOm8rPXI7ZWxzZSBmb3IoOysraTxuOylpc05hTihyPXMoZSh0W2ldLGksdCkpKT8tLWE6bys9cjtpZihhKXJldHVybiBvL2F9LHQubWVkaWFuPWZ1bmN0aW9uKHQscil7dmFyIG4sYT10Lmxlbmd0aCxpPS0xLG89W107aWYobnVsbD09cilmb3IoOysraTxhOylpc05hTihuPXModFtpXSkpfHxvLnB1c2gobik7ZWxzZSBmb3IoOysraTxhOylpc05hTihuPXMocih0W2ldLGksdCkpKXx8by5wdXNoKG4pO3JldHVybiBrKG8uc29ydChlKSwuNSl9LHQubWVyZ2U9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbixhPXQubGVuZ3RoLGk9LTEsbz0wOysraTxhOylvKz10W2ldLmxlbmd0aDtmb3Iocj1uZXcgQXJyYXkobyk7LS1hPj0wOylmb3IoZT0obj10W2FdKS5sZW5ndGg7LS1lPj0wOylyWy0tb109bltlXTtyZXR1cm4gcn0sdC5taW49VCx0LnBhaXJzPWZ1bmN0aW9uKHQsZSl7bnVsbD09ZSYmKGU9byk7Zm9yKHZhciByPTAsbj10Lmxlbmd0aC0xLGE9dFswXSxpPW5ldyBBcnJheShuPDA/MDpuKTtyPG47KWlbcl09ZShhLGE9dFsrK3JdKTtyZXR1cm4gaX0sdC5wZXJtdXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoLG49bmV3IEFycmF5KHIpO3ItLTspbltyXT10W2Vbcl1dO3JldHVybiBufSx0LnF1YW50aWxlPWssdC5yYW5nZT12LHQuc2Nhbj1mdW5jdGlvbih0LHIpe2lmKG49dC5sZW5ndGgpe3ZhciBuLGEsaT0wLG89MCxzPXRbb107Zm9yKG51bGw9PXImJihyPWUpOysraTxuOykocihhPXRbaV0scyk8MHx8MCE9PXIocyxzKSkmJihzPWEsbz1pKTtyZXR1cm4gMD09PXIocyxzKT9vOnZvaWQgMH19LHQuc2h1ZmZsZT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuLGEsaT0obnVsbD09cj90Lmxlbmd0aDpyKS0oZT1udWxsPT1lPzA6K2UpO2k7KWE9TWF0aC5yYW5kb20oKSppLS18MCxuPXRbaStlXSx0W2krZV09dFthK2VdLHRbYStlXT1uO3JldHVybiB0fSx0LnN1bT1mdW5jdGlvbih0LGUpe3ZhciByLG49dC5sZW5ndGgsYT0tMSxpPTA7aWYobnVsbD09ZSlmb3IoOysrYTxuOykocj0rdFthXSkmJihpKz1yKTtlbHNlIGZvcig7KythPG47KShyPStlKHRbYV0sYSx0KSkmJihpKz1yKTtyZXR1cm4gaX0sdC50aWNrcz1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxpLG8scz0tMTtpZihyPStyLCh0PSt0KT09KGU9K2UpJiZyPjApcmV0dXJuW3RdO2lmKChuPWU8dCkmJihhPXQsdD1lLGU9YSksMD09PShvPWIodCxlLHIpKXx8IWlzRmluaXRlKG8pKXJldHVybltdO2lmKG8+MClmb3IodD1NYXRoLmNlaWwodC9vKSxlPU1hdGguZmxvb3IoZS9vKSxpPW5ldyBBcnJheShhPU1hdGguY2VpbChlLXQrMSkpOysrczxhOylpW3NdPSh0K3MpKm87ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqbyksZT1NYXRoLmNlaWwoZSpvKSxpPW5ldyBBcnJheShhPU1hdGguY2VpbCh0LWUrMSkpOysrczxhOylpW3NdPSh0LXMpL287cmV0dXJuIG4mJmkucmV2ZXJzZSgpLGl9LHQudGlja0luY3JlbWVudD1iLHQudGlja1N0ZXA9Xyx0LnRyYW5zcG9zZT1NLHQudmFyaWFuY2U9bCx0LnppcD1mdW5jdGlvbigpe3JldHVybiBNKGFyZ3VtZW50cyl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLmQzPW4uZDN8fHt9KX0se31dLDE1NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe31mdW5jdGlvbiByKHQscil7dmFyIG49bmV3IGU7aWYodCBpbnN0YW5jZW9mIGUpdC5lYWNoKGZ1bmN0aW9uKHQsZSl7bi5zZXQoZSx0KX0pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIGEsaT0tMSxvPXQubGVuZ3RoO2lmKG51bGw9PXIpZm9yKDsrK2k8bzspbi5zZXQoaSx0W2ldKTtlbHNlIGZvcig7KytpPG87KW4uc2V0KHIoYT10W2ldLGksdCksYSl9ZWxzZSBpZih0KWZvcih2YXIgcyBpbiB0KW4uc2V0KHMsdFtzXSk7cmV0dXJuIG59ZnVuY3Rpb24gbigpe3JldHVybnt9fWZ1bmN0aW9uIGEodCxlLHIpe3RbZV09cn1mdW5jdGlvbiBpKCl7cmV0dXJuIHIoKX1mdW5jdGlvbiBvKHQsZSxyKXt0LnNldChlLHIpfWZ1bmN0aW9uIHMoKXt9ZS5wcm90b3R5cGU9ci5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmUsaGFzOmZ1bmN0aW9uKHQpe3JldHVybiIkIit0IGluIHRoaXN9LGdldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1siJCIrdF19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzWyIkIit0XT1lLHRoaXN9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT0iJCIrdDtyZXR1cm4gZSBpbiB0aGlzJiZkZWxldGUgdGhpc1tlXX0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcykiJCI9PT10WzBdJiZkZWxldGUgdGhpc1t0XX0sa2V5czpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKSIkIj09PWVbMF0mJnQucHVzaChlLnNsaWNlKDEpKTtyZXR1cm4gdH0sdmFsdWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpIiQiPT09ZVswXSYmdC5wdXNoKHRoaXNbZV0pO3JldHVybiB0fSxlbnRyaWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpIiQiPT09ZVswXSYmdC5wdXNoKHtrZXk6ZS5zbGljZSgxKSx2YWx1ZTp0aGlzW2VdfSk7cmV0dXJuIHR9LHNpemU6ZnVuY3Rpb24oKXt2YXIgdD0wO2Zvcih2YXIgZSBpbiB0aGlzKSIkIj09PWVbMF0mJisrdDtyZXR1cm4gdH0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcylpZigiJCI9PT10WzBdKXJldHVybiExO3JldHVybiEwfSxlYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzKSIkIj09PWVbMF0mJnQodGhpc1tlXSxlLnNsaWNlKDEpLHRoaXMpfX07dmFyIGw9ci5wcm90b3R5cGU7ZnVuY3Rpb24gYyh0LGUpe3ZhciByPW5ldyBzO2lmKHQgaW5zdGFuY2VvZiBzKXQuZWFjaChmdW5jdGlvbih0KXtyLmFkZCh0KX0pO2Vsc2UgaWYodCl7dmFyIG49LTEsYT10Lmxlbmd0aDtpZihudWxsPT1lKWZvcig7KytuPGE7KXIuYWRkKHRbbl0pO2Vsc2UgZm9yKDsrK248YTspci5hZGQoZSh0W25dLG4sdCkpfXJldHVybiByfXMucHJvdG90eXBlPWMucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpzLGhhczpsLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbIiQiKyh0Kz0iIildPXQsdGhpc30scmVtb3ZlOmwucmVtb3ZlLGNsZWFyOmwuY2xlYXIsdmFsdWVzOmwua2V5cyxzaXplOmwuc2l6ZSxlbXB0eTpsLmVtcHR5LGVhY2g6bC5lYWNofSx0Lm5lc3Q9ZnVuY3Rpb24oKXt2YXIgdCxlLHMsbD1bXSxjPVtdO2Z1bmN0aW9uIHUobixhLGksbyl7aWYoYT49bC5sZW5ndGgpcmV0dXJuIG51bGwhPXQmJm4uc29ydCh0KSxudWxsIT1lP2Uobik6bjtmb3IodmFyIHMsYyxoLGY9LTEscD1uLmxlbmd0aCxkPWxbYSsrXSxnPXIoKSx2PWkoKTsrK2Y8cDspKGg9Zy5nZXQocz1kKGM9bltmXSkrIiIpKT9oLnB1c2goYyk6Zy5zZXQocyxbY10pO3JldHVybiBnLmVhY2goZnVuY3Rpb24odCxlKXtvKHYsZSx1KHQsYSxpLG8pKX0pLHZ9cmV0dXJuIHM9e29iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4gdSh0LDAsbixhKX0sbWFwOmZ1bmN0aW9uKHQpe3JldHVybiB1KHQsMCxpLG8pfSxlbnRyaWVzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiB0KHIsbil7aWYoKytuPmwubGVuZ3RoKXJldHVybiByO3ZhciBhLGk9Y1tuLTFdO3JldHVybiBudWxsIT1lJiZuPj1sLmxlbmd0aD9hPXIuZW50cmllcygpOihhPVtdLHIuZWFjaChmdW5jdGlvbihlLHIpe2EucHVzaCh7a2V5OnIsdmFsdWVzOnQoZSxuKX0pfSkpLG51bGwhPWk/YS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkodC5rZXksZS5rZXkpfSk6YX0odSh0LDAsaSxvKSwwKX0sa2V5OmZ1bmN0aW9uKHQpe3JldHVybiBsLnB1c2godCksc30sc29ydEtleXM6ZnVuY3Rpb24odCl7cmV0dXJuIGNbbC5sZW5ndGgtMV09dCxzfSxzb3J0VmFsdWVzOmZ1bmN0aW9uKGUpe3JldHVybiB0PWUsc30scm9sbHVwOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsc319fSx0LnNldD1jLHQubWFwPXIsdC5rZXlzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaChyKTtyZXR1cm4gZX0sdC52YWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHRbcl0pO3JldHVybiBlfSx0LmVudHJpZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHtrZXk6cix2YWx1ZTp0W3JdfSk7cmV0dXJuIGV9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLmQzPW4uZDN8fHt9KX0se31dLDE1NjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSh0LGUscil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9cixyLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gcih0LGUpe3ZhciByPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpO2Zvcih2YXIgbiBpbiBlKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBuKCl7fXZhciBhPSJcXHMqKFsrLV0/XFxkKylcXHMqIixpPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLG89IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxccyoiLHM9L14jKFswLTlhLWZdezMsOH0pJC8sbD1uZXcgUmVnRXhwKCJecmdiXFwoIitbYSxhLGFdKyJcXCkkIiksYz1uZXcgUmVnRXhwKCJecmdiXFwoIitbbyxvLG9dKyJcXCkkIiksdT1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW2EsYSxhLGldKyJcXCkkIiksaD1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW28sbyxvLGldKyJcXCkkIiksZj1uZXcgUmVnRXhwKCJeaHNsXFwoIitbaSxvLG9dKyJcXCkkIikscD1uZXcgUmVnRXhwKCJeaHNsYVxcKCIrW2ksbyxvLGldKyJcXCkkIiksZD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBnKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCl9ZnVuY3Rpb24gdigpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpfWZ1bmN0aW9uIG0odCl7dmFyIGUscjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9cy5leGVjKHQpKT8ocj1lWzFdLmxlbmd0aCxlPXBhcnNlSW50KGVbMV0sMTYpLDY9PT1yP3koZSk6Mz09PXI/bmV3IHcoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1yP25ldyB3KGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1yP25ldyB3KGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9bC5leGVjKHQpKT9uZXcgdyhlWzFdLGVbMl0sZVszXSwxKTooZT1jLmV4ZWModCkpP25ldyB3KDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPXUuZXhlYyh0KSk/eChlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1oLmV4ZWModCkpP3goMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsZVs0XSk6KGU9Zi5leGVjKHQpKT9BKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9cC5leGVjKHQpKT9BKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6ZC5oYXNPd25Qcm9wZXJ0eSh0KT95KGRbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyB3KE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24geSh0KXtyZXR1cm4gbmV3IHcodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIHgodCxlLHIsbil7cmV0dXJuIG48PTAmJih0PWU9cj1OYU4pLG5ldyB3KHQsZSxyLG4pfWZ1bmN0aW9uIGIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBufHwodD1tKHQpKSx0P25ldyB3KCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyB3fWZ1bmN0aW9uIF8odCxlLHIsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2IodCk6bmV3IHcodCxlLHIsbnVsbD09bj8xOm4pfWZ1bmN0aW9uIHcodCxlLHIsbil7dGhpcy5yPSt0LHRoaXMuZz0rZSx0aGlzLmI9K3IsdGhpcy5vcGFjaXR5PStufWZ1bmN0aW9uIGsoKXtyZXR1cm4iIyIrTSh0aGlzLnIpK00odGhpcy5nKStNKHRoaXMuYil9ZnVuY3Rpb24gVCgpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/InJnYigiOiJyZ2JhKCIpK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5yKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmcpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuYil8fDApKSsoMT09PXQ/IikiOiIsICIrdCsiKSIpfWZ1bmN0aW9uIE0odCl7cmV0dXJuKCh0PU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodCl8fDApKSk8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBBKHQsZSxyLG4pe3JldHVybiBuPD0wP3Q9ZT1yPU5hTjpyPD0wfHxyPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgTCh0LGUscixuKX1mdW5jdGlvbiBTKHQpe2lmKHQgaW5zdGFuY2VvZiBMKXJldHVybiBuZXcgTCh0LmgsdC5zLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBufHwodD1tKHQpKSwhdClyZXR1cm4gbmV3IEw7aWYodCBpbnN0YW5jZW9mIEwpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUscj10LmcvMjU1LGE9dC5iLzI1NSxpPU1hdGgubWluKGUscixhKSxvPU1hdGgubWF4KGUscixhKSxzPU5hTixsPW8taSxjPShvK2kpLzI7cmV0dXJuIGw/KHM9ZT09PW8/KHItYSkvbCs2KihyPGEpOnI9PT1vPyhhLWUpL2wrMjooZS1yKS9sKzQsbC89YzwuNT9vK2k6Mi1vLWkscyo9NjApOmw9Yz4wJiZjPDE/MDpzLG5ldyBMKHMsbCxjLHQub3BhY2l0eSl9ZnVuY3Rpb24gRSh0LGUscixuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/Uyh0KTpuZXcgTCh0LGUscixudWxsPT1uPzE6bil9ZnVuY3Rpb24gTCh0LGUscixuKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rcix0aGlzLm9wYWNpdHk9K259ZnVuY3Rpb24gQyh0LGUscil7cmV0dXJuIDI1NSoodDw2MD9lKyhyLWUpKnQvNjA6dDwxODA/cjp0PDI0MD9lKyhyLWUpKigyNDAtdCkvNjA6ZSl9ZShuLG0se2NvcHk6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsdGhpcyx0KX0sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZ2IoKS5kaXNwbGF5YWJsZSgpfSxoZXg6Zyxmb3JtYXRIZXg6Zyxmb3JtYXRIc2w6ZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzKS5mb3JtYXRIc2woKX0sZm9ybWF0UmdiOnYsdG9TdHJpbmc6dn0pLGUodyxfLHIobix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8xLy43Ok1hdGgucG93KDEvLjcsdCksbmV3IHcodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Ljc6TWF0aC5wb3coLjcsdCksbmV3IHcodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuLS41PD10aGlzLnImJnRoaXMucjwyNTUuNSYmLS41PD10aGlzLmcmJnRoaXMuZzwyNTUuNSYmLS41PD10aGlzLmImJnRoaXMuYjwyNTUuNSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGhleDprLGZvcm1hdEhleDprLGZvcm1hdFJnYjpULHRvU3RyaW5nOlR9KSksZShMLEUscihuLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10PzEvLjc6TWF0aC5wb3coMS8uNyx0KSxuZXcgTCh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10Py43Ok1hdGgucG93KC43LHQpLG5ldyBMKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oJTM2MCszNjAqKHRoaXMuaDwwKSxlPWlzTmFOKHQpfHxpc05hTih0aGlzLnMpPzA6dGhpcy5zLHI9dGhpcy5sLG49cisocjwuNT9yOjEtcikqZSxhPTIqci1uO3JldHVybiBuZXcgdyhDKHQ+PTI0MD90LTI0MDp0KzEyMCxhLG4pLEModCxhLG4pLEModDwxMjA/dCsyNDA6dC0xMjAsYSxuKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgUD1NYXRoLlBJLzE4MCxPPTE4MC9NYXRoLlBJLHo9Ljk2NDIyLEk9MSxEPS44MjUyMSxSPTQvMjksRj02LzI5LEI9MypGKkYsTj1GKkYqRjtmdW5jdGlvbiBqKHQpe2lmKHQgaW5zdGFuY2VvZiBVKXJldHVybiBuZXcgVSh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBaKXJldHVybiBKKHQpO3QgaW5zdGFuY2VvZiB3fHwodD1iKHQpKTt2YXIgZSxyLG49WSh0LnIpLGE9WSh0LmcpLGk9WSh0LmIpLG89cSgoLjIyMjUwNDUqbisuNzE2ODc4NiphKy4wNjA2MTY5KmkpL0kpO3JldHVybiBuPT09YSYmYT09PWk/ZT1yPW86KGU9cSgoLjQzNjA3NDcqbisuMzg1MDY0OSphKy4xNDMwODA0KmkpL3opLHI9cSgoLjAxMzkzMjIqbisuMDk3MTA0NSphKy43MTQxNzMzKmkpL0QpKSxuZXcgVSgxMTYqby0xNiw1MDAqKGUtbyksMjAwKihvLXIpLHQub3BhY2l0eSl9ZnVuY3Rpb24gVih0LGUscixuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/aih0KTpuZXcgVSh0LGUscixudWxsPT1uPzE6bil9ZnVuY3Rpb24gVSh0LGUscixuKXt0aGlzLmw9K3QsdGhpcy5hPStlLHRoaXMuYj0rcix0aGlzLm9wYWNpdHk9K259ZnVuY3Rpb24gcSh0KXtyZXR1cm4gdD5OP01hdGgucG93KHQsMS8zKTp0L0IrUn1mdW5jdGlvbiBIKHQpe3JldHVybiB0PkY/dCp0KnQ6QioodC1SKX1mdW5jdGlvbiBHKHQpe3JldHVybiAyNTUqKHQ8PS4wMDMxMzA4PzEyLjkyKnQ6MS4wNTUqTWF0aC5wb3codCwxLzIuNCktLjA1NSl9ZnVuY3Rpb24gWSh0KXtyZXR1cm4odC89MjU1KTw9LjA0MDQ1P3QvMTIuOTI6TWF0aC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX1mdW5jdGlvbiBXKHQpe2lmKHQgaW5zdGFuY2VvZiBaKXJldHVybiBuZXcgWih0LmgsdC5jLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBVfHwodD1qKHQpKSwwPT09dC5hJiYwPT09dC5iKXJldHVybiBuZXcgWihOYU4sMDx0LmwmJnQubDwxMDA/MDpOYU4sdC5sLHQub3BhY2l0eSk7dmFyIGU9TWF0aC5hdGFuMih0LmIsdC5hKSpPO3JldHVybiBuZXcgWihlPDA/ZSszNjA6ZSxNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBYKHQsZSxyLG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9XKHQpOm5ldyBaKHQsZSxyLG51bGw9PW4/MTpuKX1mdW5jdGlvbiBaKHQsZSxyLG4pe3RoaXMuaD0rdCx0aGlzLmM9K2UsdGhpcy5sPStyLHRoaXMub3BhY2l0eT0rbn1mdW5jdGlvbiBKKHQpe2lmKGlzTmFOKHQuaCkpcmV0dXJuIG5ldyBVKHQubCwwLDAsdC5vcGFjaXR5KTt2YXIgZT10LmgqUDtyZXR1cm4gbmV3IFUodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX1lKFUsVixyKG4se2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVSh0aGlzLmwrMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFUodGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD0odGhpcy5sKzE2KS8xMTYsZT1pc05hTih0aGlzLmEpP3Q6dCt0aGlzLmEvNTAwLHI9aXNOYU4odGhpcy5iKT90OnQtdGhpcy5iLzIwMDtyZXR1cm4gbmV3IHcoRygzLjEzMzg1NjEqKGU9eipIKGUpKS0xLjYxNjg2NjcqKHQ9SSpIKHQpKS0uNDkwNjE0Nioocj1EKkgocikpKSxHKC0uOTc4NzY4NCplKzEuOTE2MTQxNSp0Ky4wMzM0NTQqciksRyguMDcxOTQ1MyplLS4yMjg5OTE0KnQrMS40MDUyNDI3KnIpLHRoaXMub3BhY2l0eSl9fSkpLGUoWixYLHIobix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBaKHRoaXMuaCx0aGlzLmMsdGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWih0aGlzLmgsdGhpcy5jLHRoaXMubC0xOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiBKKHRoaXMpLnJnYigpfX0pKTt2YXIgSz0tLjE0ODYxLFE9MS43ODI3NywkPS0uMjkyMjcsdHQ9LS45MDY0OSxldD0xLjk3Mjk0LHJ0PWV0KnR0LG50PWV0KlEsYXQ9USokLXR0Kks7ZnVuY3Rpb24gaXQodCxlLHIsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2Z1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBvdClyZXR1cm4gbmV3IG90KHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIHd8fCh0PWIodCkpO3ZhciBlPXQuci8yNTUscj10LmcvMjU1LG49dC5iLzI1NSxhPShhdCpuK3J0KmUtbnQqcikvKGF0K3J0LW50KSxpPW4tYSxvPShldCooci1hKS0kKmkpL3R0LHM9TWF0aC5zcXJ0KG8qbytpKmkpLyhldCphKigxLWEpKSxsPXM/TWF0aC5hdGFuMihvLGkpKk8tMTIwOk5hTjtyZXR1cm4gbmV3IG90KGw8MD9sKzM2MDpsLHMsYSx0Lm9wYWNpdHkpfSh0KTpuZXcgb3QodCxlLHIsbnVsbD09bj8xOm4pfWZ1bmN0aW9uIG90KHQsZSxyLG4pe3RoaXMuaD0rdCx0aGlzLnM9K2UsdGhpcy5sPStyLHRoaXMub3BhY2l0eT0rbn1lKG90LGl0LHIobix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8xLy43Ok1hdGgucG93KDEvLjcsdCksbmV3IG90KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Ljc6TWF0aC5wb3coLjcsdCksbmV3IG90KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9aXNOYU4odGhpcy5oKT8wOih0aGlzLmgrMTIwKSpQLGU9K3RoaXMubCxyPWlzTmFOKHRoaXMucyk/MDp0aGlzLnMqZSooMS1lKSxuPU1hdGguY29zKHQpLGE9TWF0aC5zaW4odCk7cmV0dXJuIG5ldyB3KDI1NSooZStyKihLKm4rUSphKSksMjU1KihlK3IqKCQqbit0dCphKSksMjU1KihlK3IqKGV0Km4pKSx0aGlzLm9wYWNpdHkpfX0pKSx0LmNvbG9yPW0sdC5jdWJlaGVsaXg9aXQsdC5ncmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBVKHQsMCwwLG51bGw9PWU/MTplKX0sdC5oY2w9WCx0LmhzbD1FLHQubGFiPVYsdC5sY2g9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP1codCk6bmV3IFoocixlLHQsbnVsbD09bj8xOm4pfSx0LnJnYj1fLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjoobj1ufHxzZWxmKS5kMz1uLmQzfHx7fSl9LHt9XSwxNTc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtuPXRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlPXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIHIoKXtmb3IodmFyIHQsZT0wLHI9YXJndW1lbnRzLmxlbmd0aCxhPXt9O2U8cjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGEpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7YVt0XT1bXX1yZXR1cm4gbmV3IG4oYSl9ZnVuY3Rpb24gbih0KXt0aGlzLl89dH1mdW5jdGlvbiBhKHQsZSl7Zm9yKHZhciByLG49MCxhPXQubGVuZ3RoO248YTsrK24paWYoKHI9dFtuXSkubmFtZT09PWUpcmV0dXJuIHIudmFsdWV9ZnVuY3Rpb24gaSh0LHIsbil7Zm9yKHZhciBhPTAsaT10Lmxlbmd0aDthPGk7KythKWlmKHRbYV0ubmFtZT09PXIpe3RbYV09ZSx0PXQuc2xpY2UoMCxhKS5jb25jYXQodC5zbGljZShhKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOnIsdmFsdWU6bn0pLHR9bi5wcm90b3R5cGU9ci5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm4sb246ZnVuY3Rpb24odCxlKXt2YXIgcixuLG89dGhpcy5fLHM9KG49bywodCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcChmdW5jdGlvbih0KXt2YXIgZT0iIixyPXQuaW5kZXhPZigiLiIpO2lmKHI+PTAmJihlPXQuc2xpY2UocisxKSx0PXQuc2xpY2UoMCxyKSksdCYmIW4uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOmV9fSkpLGw9LTEsYz1zLmxlbmd0aDtpZighKGFyZ3VtZW50cy5sZW5ndGg8Mikpe2lmKG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIitlKTtmb3IoOysrbDxjOylpZihyPSh0PXNbbF0pLnR5cGUpb1tyXT1pKG9bcl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IociBpbiBvKW9bcl09aShvW3JdLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbDxjOylpZigocj0odD1zW2xdKS50eXBlKSYmKHI9YShvW3JdLHQubmFtZSkpKXJldHVybiByfSxjb3B5OmZ1bmN0aW9uKCl7dmFyIHQ9e30sZT10aGlzLl87Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdLnNsaWNlKCk7cmV0dXJuIG5ldyBuKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKHI9YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgcixuLGE9bmV3IEFycmF5KHIpLGk9MDtpPHI7KytpKWFbaV09YXJndW1lbnRzW2krMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3IoaT0wLHI9KG49dGhpcy5fW3RdKS5sZW5ndGg7aTxyOysraSluW2ldLnZhbHVlLmFwcGx5KGUsYSl9LGFwcGx5OmZ1bmN0aW9uKHQsZSxyKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgbj10aGlzLl9bdF0sYT0wLGk9bi5sZW5ndGg7YTxpOysrYSluW2FdLnZhbHVlLmFwcGx5KGUscil9fSx0LmRpc3BhdGNoPXIsT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSgib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9yOm4uZDM9bi5kM3x8e30pfSx7fV0sMTU4OltmdW5jdGlvbih0LGUscil7dmFyIG4sYTtuPXRoaXMsYT1mdW5jdGlvbih0LGUscixuLGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19LG89ZnVuY3Rpb24oKXtyZXR1cm4gMWUtNiooTWF0aC5yYW5kb20oKS0uNSl9O2Z1bmN0aW9uIHModCl7cmV0dXJuIHQueCt0LnZ4fWZ1bmN0aW9uIGwodCl7cmV0dXJuIHQueSt0LnZ5fWZ1bmN0aW9uIGModCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gdSh0LGUpe3ZhciByPXQuZ2V0KGUpO2lmKCFyKXRocm93IG5ldyBFcnJvcigibWlzc2luZzogIitlKTtyZXR1cm4gcn1mdW5jdGlvbiBoKHQpe3JldHVybiB0Lnh9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdC55fXZhciBwPTEwLGQ9TWF0aC5QSSooMy1NYXRoLnNxcnQoNSkpO3QuZm9yY2VDZW50ZXI9ZnVuY3Rpb24odCxlKXt2YXIgcjtmdW5jdGlvbiBuKCl7dmFyIG4sYSxpPXIubGVuZ3RoLG89MCxzPTA7Zm9yKG49MDtuPGk7KytuKW8rPShhPXJbbl0pLngscys9YS55O2ZvcihvPW8vaS10LHM9cy9pLWUsbj0wO248aTsrK24pKGE9cltuXSkueC09byxhLnktPXN9cmV0dXJuIG51bGw9PXQmJih0PTApLG51bGw9PWUmJihlPTApLG4uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtyPXR9LG4ueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZSxuKTp0fSxuLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3Qsbik6ZX0sbn0sdC5mb3JjZUNvbGxpZGU9ZnVuY3Rpb24odCl7dmFyIHIsbixhPTEsYz0xO2Z1bmN0aW9uIHUoKXtmb3IodmFyIHQsaSx1LGYscCxkLGcsdj1yLmxlbmd0aCxtPTA7bTxjOysrbSlmb3IoaT1lLnF1YWR0cmVlKHIscyxsKS52aXNpdEFmdGVyKGgpLHQ9MDt0PHY7Kyt0KXU9clt0XSxkPW5bdS5pbmRleF0sZz1kKmQsZj11LngrdS52eCxwPXUueSt1LnZ5LGkudmlzaXQoeSk7ZnVuY3Rpb24geSh0LGUscixuLGkpe3ZhciBzPXQuZGF0YSxsPXQucixjPWQrbDtpZighcylyZXR1cm4gZT5mK2N8fG48Zi1jfHxyPnArY3x8aTxwLWM7aWYocy5pbmRleD51LmluZGV4KXt2YXIgaD1mLXMueC1zLnZ4LHY9cC1zLnktcy52eSxtPWgqaCt2KnY7bTxjKmMmJigwPT09aCYmKG0rPShoPW8oKSkqaCksMD09PXYmJihtKz0odj1vKCkpKnYpLG09KGMtKG09TWF0aC5zcXJ0KG0pKSkvbSphLHUudngrPShoKj1tKSooYz0obCo9bCkvKGcrbCkpLHUudnkrPSh2Kj1tKSpjLHMudngtPWgqKGM9MS1jKSxzLnZ5LT12KmMpfX19ZnVuY3Rpb24gaCh0KXtpZih0LmRhdGEpcmV0dXJuIHQucj1uW3QuZGF0YS5pbmRleF07Zm9yKHZhciBlPXQucj0wO2U8NDsrK2UpdFtlXSYmdFtlXS5yPnQuciYmKHQucj10W2VdLnIpfWZ1bmN0aW9uIGYoKXtpZihyKXt2YXIgZSxhLGk9ci5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGkpLGU9MDtlPGk7KytlKWE9cltlXSxuW2EuaW5kZXhdPSt0KGEsZSxyKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWkobnVsbD09dD8xOit0KSksdS5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe3I9dCxmKCl9LHUuaXRlcmF0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0rdCx1KTpjfSx1LnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LHUpOmF9LHUucmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6aSgrZSksZigpLHUpOnR9LHV9LHQuZm9yY2VMaW5rPWZ1bmN0aW9uKHQpe3ZhciBlLG4sYSxzLGwsaD1jLGY9ZnVuY3Rpb24odCl7cmV0dXJuIDEvTWF0aC5taW4oc1t0LnNvdXJjZS5pbmRleF0sc1t0LnRhcmdldC5pbmRleF0pfSxwPWkoMzApLGQ9MTtmdW5jdGlvbiBnKHIpe2Zvcih2YXIgYT0wLGk9dC5sZW5ndGg7YTxkOysrYSlmb3IodmFyIHMsYyx1LGgsZixwLGcsdj0wO3Y8aTsrK3YpYz0ocz10W3ZdKS5zb3VyY2UsaD0odT1zLnRhcmdldCkueCt1LnZ4LWMueC1jLnZ4fHxvKCksZj11LnkrdS52eS1jLnktYy52eXx8bygpLGgqPXA9KChwPU1hdGguc3FydChoKmgrZipmKSktblt2XSkvcCpyKmVbdl0sZio9cCx1LnZ4LT1oKihnPWxbdl0pLHUudnktPWYqZyxjLnZ4Kz1oKihnPTEtZyksYy52eSs9ZipnfWZ1bmN0aW9uIHYoKXtpZihhKXt2YXIgaSxvLGM9YS5sZW5ndGgsZj10Lmxlbmd0aCxwPXIubWFwKGEsaCk7Zm9yKGk9MCxzPW5ldyBBcnJheShjKTtpPGY7KytpKShvPXRbaV0pLmluZGV4PWksIm9iamVjdCIhPXR5cGVvZiBvLnNvdXJjZSYmKG8uc291cmNlPXUocCxvLnNvdXJjZSkpLCJvYmplY3QiIT10eXBlb2Ygby50YXJnZXQmJihvLnRhcmdldD11KHAsby50YXJnZXQpKSxzW28uc291cmNlLmluZGV4XT0oc1tvLnNvdXJjZS5pbmRleF18fDApKzEsc1tvLnRhcmdldC5pbmRleF09KHNbby50YXJnZXQuaW5kZXhdfHwwKSsxO2ZvcihpPTAsbD1uZXcgQXJyYXkoZik7aTxmOysraSlvPXRbaV0sbFtpXT1zW28uc291cmNlLmluZGV4XS8oc1tvLnNvdXJjZS5pbmRleF0rc1tvLnRhcmdldC5pbmRleF0pO2U9bmV3IEFycmF5KGYpLG0oKSxuPW5ldyBBcnJheShmKSx5KCl9fWZ1bmN0aW9uIG0oKXtpZihhKWZvcih2YXIgcj0wLG49dC5sZW5ndGg7cjxuOysrcillW3JdPStmKHRbcl0scix0KX1mdW5jdGlvbiB5KCl7aWYoYSlmb3IodmFyIGU9MCxyPXQubGVuZ3RoO2U8cjsrK2UpbltlXT0rcCh0W2VdLGUsdCl9cmV0dXJuIG51bGw9PXQmJih0PVtdKSxnLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7YT10LHYoKX0sZy5saW5rcz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHYoKSxnKTp0fSxnLmlkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPXQsZyk6aH0sZy5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhkPSt0LGcpOmR9LGcuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDppKCt0KSxtKCksZyk6Zn0sZy5kaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmkoK3QpLHkoKSxnKTpwfSxnfSx0LmZvcmNlTWFueUJvZHk9ZnVuY3Rpb24oKXt2YXIgdCxyLG4sYSxzPWkoLTMwKSxsPTEsYz0xLzAsdT0uODE7ZnVuY3Rpb24gcChhKXt2YXIgaSxvPXQubGVuZ3RoLHM9ZS5xdWFkdHJlZSh0LGgsZikudmlzaXRBZnRlcihnKTtmb3Iobj1hLGk9MDtpPG87KytpKXI9dFtpXSxzLnZpc2l0KHYpfWZ1bmN0aW9uIGQoKXtpZih0KXt2YXIgZSxyLG49dC5sZW5ndGg7Zm9yKGE9bmV3IEFycmF5KG4pLGU9MDtlPG47KytlKXI9dFtlXSxhW3IuaW5kZXhdPStzKHIsZSx0KX19ZnVuY3Rpb24gZyh0KXt2YXIgZSxyLG4saSxvLHM9MCxsPTA7aWYodC5sZW5ndGgpe2ZvcihuPWk9bz0wO288NDsrK28pKGU9dFtvXSkmJihyPU1hdGguYWJzKGUudmFsdWUpKSYmKHMrPWUudmFsdWUsbCs9cixuKz1yKmUueCxpKz1yKmUueSk7dC54PW4vbCx0Lnk9aS9sfWVsc2V7KGU9dCkueD1lLmRhdGEueCxlLnk9ZS5kYXRhLnk7ZG97cys9YVtlLmRhdGEuaW5kZXhdfXdoaWxlKGU9ZS5uZXh0KX10LnZhbHVlPXN9ZnVuY3Rpb24gdih0LGUsaSxzKXtpZighdC52YWx1ZSlyZXR1cm4hMDt2YXIgaD10Lngtci54LGY9dC55LXIueSxwPXMtZSxkPWgqaCtmKmY7aWYocCpwL3U8ZClyZXR1cm4gZDxjJiYoMD09PWgmJihkKz0oaD1vKCkpKmgpLDA9PT1mJiYoZCs9KGY9bygpKSpmKSxkPGwmJihkPU1hdGguc3FydChsKmQpKSxyLnZ4Kz1oKnQudmFsdWUqbi9kLHIudnkrPWYqdC52YWx1ZSpuL2QpLCEwO2lmKCEodC5sZW5ndGh8fGQ+PWMpKXsodC5kYXRhIT09cnx8dC5uZXh0KSYmKDA9PT1oJiYoZCs9KGg9bygpKSpoKSwwPT09ZiYmKGQrPShmPW8oKSkqZiksZDxsJiYoZD1NYXRoLnNxcnQobCpkKSkpO2Rve3QuZGF0YSE9PXImJihwPWFbdC5kYXRhLmluZGV4XSpuL2Qsci52eCs9aCpwLHIudnkrPWYqcCl9d2hpbGUodD10Lm5leHQpfX1yZXR1cm4gcC5pbml0aWFsaXplPWZ1bmN0aW9uKGUpe3Q9ZSxkKCl9LHAuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDppKCt0KSxkKCkscCk6c30scC5kaXN0YW5jZU1pbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10KnQscCk6TWF0aC5zcXJ0KGwpfSxwLmRpc3RhbmNlTWF4PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQqdCxwKTpNYXRoLnNxcnQoYyl9LHAudGhldGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dCp0LHApOk1hdGguc3FydCh1KX0scH0sdC5mb3JjZVJhZGlhbD1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxvLHM9aSguMSk7ZnVuY3Rpb24gbCh0KXtmb3IodmFyIGk9MCxzPW4ubGVuZ3RoO2k8czsrK2kpe3ZhciBsPW5baV0sYz1sLngtZXx8MWUtNix1PWwueS1yfHwxZS02LGg9TWF0aC5zcXJ0KGMqYyt1KnUpLGY9KG9baV0taCkqYVtpXSp0L2g7bC52eCs9YypmLGwudnkrPXUqZn19ZnVuY3Rpb24gYygpe2lmKG4pe3ZhciBlLHI9bi5sZW5ndGg7Zm9yKGE9bmV3IEFycmF5KHIpLG89bmV3IEFycmF5KHIpLGU9MDtlPHI7KytlKW9bZV09K3QobltlXSxlLG4pLGFbZV09aXNOYU4ob1tlXSk/MDorcyhuW2VdLGUsbil9fXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1pKCt0KSksbnVsbD09ZSYmKGU9MCksbnVsbD09ciYmKHI9MCksbC5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dCxjKCl9LGwuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDppKCt0KSxjKCksbCk6c30sbC5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTppKCtlKSxjKCksbCk6dH0sbC54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0LGwpOmV9LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdCxsKTpyfSxsfSx0LmZvcmNlU2ltdWxhdGlvbj1mdW5jdGlvbih0KXt2YXIgZSxpPTEsbz0uMDAxLHM9MS1NYXRoLnBvdyhvLDEvMzAwKSxsPTAsYz0uNix1PXIubWFwKCksaD1hLnRpbWVyKGcpLGY9bi5kaXNwYXRjaCgidGljayIsImVuZCIpO2Z1bmN0aW9uIGcoKXt2KCksZi5jYWxsKCJ0aWNrIixlKSxpPG8mJihoLnN0b3AoKSxmLmNhbGwoImVuZCIsZSkpfWZ1bmN0aW9uIHYoKXt2YXIgZSxyLG49dC5sZW5ndGg7Zm9yKGkrPShsLWkpKnMsdS5lYWNoKGZ1bmN0aW9uKHQpe3QoaSl9KSxlPTA7ZTxuOysrZSludWxsPT0ocj10W2VdKS5meD9yLngrPXIudngqPWM6KHIueD1yLmZ4LHIudng9MCksbnVsbD09ci5meT9yLnkrPXIudnkqPWM6KHIueT1yLmZ5LHIudnk9MCl9ZnVuY3Rpb24gbSgpe2Zvcih2YXIgZSxyPTAsbj10Lmxlbmd0aDtyPG47KytyKXtpZigoZT10W3JdKS5pbmRleD1yLGlzTmFOKGUueCl8fGlzTmFOKGUueSkpe3ZhciBhPXAqTWF0aC5zcXJ0KHIpLGk9cipkO2UueD1hKk1hdGguY29zKGkpLGUueT1hKk1hdGguc2luKGkpfShpc05hTihlLnZ4KXx8aXNOYU4oZS52eSkpJiYoZS52eD1lLnZ5PTApfX1mdW5jdGlvbiB5KGUpe3JldHVybiBlLmluaXRpYWxpemUmJmUuaW5pdGlhbGl6ZSh0KSxlfXJldHVybiBudWxsPT10JiYodD1bXSksbSgpLGU9e3RpY2s6dixyZXN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIGgucmVzdGFydChnKSxlfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIGguc3RvcCgpLGV9LG5vZGVzOmZ1bmN0aW9uKHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXIsbSgpLHUuZWFjaCh5KSxlKTp0fSxhbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxlKTppfSxhbHBoYU1pbjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxlKTpvfSxhbHBoYURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSt0LGUpOitzfSxhbHBoYVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdCxlKTpsfSx2ZWxvY2l0eURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPTEtdCxlKToxLWN9LGZvcmNlOmZ1bmN0aW9uKHQscil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8obnVsbD09cj91LnJlbW92ZSh0KTp1LnNldCh0LHkocikpLGUpOnUuZ2V0KHQpfSxmaW5kOmZ1bmN0aW9uKGUscixuKXt2YXIgYSxpLG8scyxsLGM9MCx1PXQubGVuZ3RoO2ZvcihudWxsPT1uP249MS8wOm4qPW4sYz0wO2M8dTsrK2MpKG89KGE9ZS0ocz10W2NdKS54KSphKyhpPXItcy55KSppKTxuJiYobD1zLG49byk7cmV0dXJuIGx9LG9uOmZ1bmN0aW9uKHQscil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8oZi5vbih0LHIpLGUpOmYub24odCl9fX0sdC5mb3JjZVg9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9aSguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGEsaT0wLG89ZS5sZW5ndGg7aTxvOysraSkoYT1lW2ldKS52eCs9KG5baV0tYS54KSpyW2ldKnR9ZnVuY3Rpb24gcygpe2lmKGUpe3ZhciBpLG89ZS5sZW5ndGg7Zm9yKHI9bmV3IEFycmF5KG8pLG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKXJbaV09aXNOYU4obltpXT0rdChlW2ldLGksZSkpPzA6K2EoZVtpXSxpLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9aShudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7ZT10LHMoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmkoK3QpLHMoKSxvKTphfSxvLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTppKCtlKSxzKCksbyk6dH0sb30sdC5mb3JjZVk9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9aSguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGEsaT0wLG89ZS5sZW5ndGg7aTxvOysraSkoYT1lW2ldKS52eSs9KG5baV0tYS55KSpyW2ldKnR9ZnVuY3Rpb24gcygpe2lmKGUpe3ZhciBpLG89ZS5sZW5ndGg7Zm9yKHI9bmV3IEFycmF5KG8pLG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKXJbaV09aXNOYU4obltpXT0rdChlW2ldLGksZSkpPzA6K2EoZVtpXSxpLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9aShudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7ZT10LHMoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmkoK3QpLHMoKSxvKTphfSxvLnk9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTppKCtlKSxzKCksbyk6dH0sb30sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSwib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9hKHIsdCgiZDMtcXVhZHRyZWUiKSx0KCJkMy1jb2xsZWN0aW9uIiksdCgiZDMtZGlzcGF0Y2giKSx0KCJkMy10aW1lciIpKTphKG4uZDM9bi5kM3x8e30sbi5kMyxuLmQzLG4uZDMsbi5kMyl9LHsiZDMtY29sbGVjdGlvbiI6MTU1LCJkMy1kaXNwYXRjaCI6MTU3LCJkMy1xdWFkdHJlZSI6MTYyLCJkMy10aW1lciI6MTY0fV0sMTU5OltmdW5jdGlvbih0LGUscil7dmFyIG47bj10aGlzLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQsZSl7cmV0dXJuIHQucGFyZW50PT09ZS5wYXJlbnQ/MToyfWZ1bmN0aW9uIHIodCxlKXtyZXR1cm4gdCtlLnh9ZnVuY3Rpb24gbih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUueSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT0wLHI9dC5jaGlsZHJlbixuPXImJnIubGVuZ3RoO2lmKG4pZm9yKDstLW4+PTA7KWUrPXJbbl0udmFsdWU7ZWxzZSBlPTE7dC52YWx1ZT1lfWZ1bmN0aW9uIGkodCxlKXt2YXIgcixuLGEsaSxzLHU9bmV3IGModCksaD0rdC52YWx1ZSYmKHUudmFsdWU9dC52YWx1ZSksZj1bdV07Zm9yKG51bGw9PWUmJihlPW8pO3I9Zi5wb3AoKTspaWYoaCYmKHIudmFsdWU9K3IuZGF0YS52YWx1ZSksKGE9ZShyLmRhdGEpKSYmKHM9YS5sZW5ndGgpKWZvcihyLmNoaWxkcmVuPW5ldyBBcnJheShzKSxpPXMtMTtpPj0wOy0taSlmLnB1c2gobj1yLmNoaWxkcmVuW2ldPW5ldyBjKGFbaV0pKSxuLnBhcmVudD1yLG4uZGVwdGg9ci5kZXB0aCsxO3JldHVybiB1LmVhY2hCZWZvcmUobCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdC5jaGlsZHJlbn1mdW5jdGlvbiBzKHQpe3QuZGF0YT10LmRhdGEuZGF0YX1mdW5jdGlvbiBsKHQpe3ZhciBlPTA7ZG97dC5oZWlnaHQ9ZX13aGlsZSgodD10LnBhcmVudCkmJnQuaGVpZ2h0PCsrZSl9ZnVuY3Rpb24gYyh0KXt0aGlzLmRhdGE9dCx0aGlzLmRlcHRoPXRoaXMuaGVpZ2h0PTAsdGhpcy5wYXJlbnQ9bnVsbH1jLnByb3RvdHlwZT1pLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Yyxjb3VudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2hBZnRlcihhKX0sZWFjaDpmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPXRoaXMsbz1baV07ZG97Zm9yKGU9by5yZXZlcnNlKCksbz1bXTtpPWUucG9wKCk7KWlmKHQoaSkscj1pLmNoaWxkcmVuKWZvcihuPTAsYT1yLmxlbmd0aDtuPGE7KytuKW8ucHVzaChyW25dKX13aGlsZShvLmxlbmd0aCk7cmV0dXJuIHRoaXN9LGVhY2hBZnRlcjpmdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGE9dGhpcyxpPVthXSxvPVtdO2E9aS5wb3AoKTspaWYoby5wdXNoKGEpLGU9YS5jaGlsZHJlbilmb3Iocj0wLG49ZS5sZW5ndGg7cjxuOysrcilpLnB1c2goZVtyXSk7Zm9yKDthPW8ucG9wKCk7KXQoYSk7cmV0dXJuIHRoaXN9LGVhY2hCZWZvcmU6ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbj10aGlzLGE9W25dO249YS5wb3AoKTspaWYodChuKSxlPW4uY2hpbGRyZW4pZm9yKHI9ZS5sZW5ndGgtMTtyPj0wOy0tcilhLnB1c2goZVtyXSk7cmV0dXJuIHRoaXN9LHN1bTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoZnVuY3Rpb24oZSl7Zm9yKHZhciByPSt0KGUuZGF0YSl8fDAsbj1lLmNoaWxkcmVuLGE9biYmbi5sZW5ndGg7LS1hPj0wOylyKz1uW2FdLnZhbHVlO2UudmFsdWU9cn0pfSxzb3J0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5zb3J0KHQpfSl9LHBhdGg6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj1mdW5jdGlvbih0LGUpe2lmKHQ9PT1lKXJldHVybiB0O3ZhciByPXQuYW5jZXN0b3JzKCksbj1lLmFuY2VzdG9ycygpLGE9bnVsbDtmb3IodD1yLnBvcCgpLGU9bi5wb3AoKTt0PT09ZTspYT10LHQ9ci5wb3AoKSxlPW4ucG9wKCk7cmV0dXJuIGF9KGUsdCksbj1bZV07ZSE9PXI7KWU9ZS5wYXJlbnQsbi5wdXNoKGUpO2Zvcih2YXIgYT1uLmxlbmd0aDt0IT09cjspbi5zcGxpY2UoYSwwLHQpLHQ9dC5wYXJlbnQ7cmV0dXJuIG59LGFuY2VzdG9yczpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLGU9W3RdO3Q9dC5wYXJlbnQ7KWUucHVzaCh0KTtyZXR1cm4gZX0sZGVzY2VuZGFudHM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlKX0pLHR9LGxlYXZlczpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbnx8dC5wdXNoKGUpfSksdH0sbGlua3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9W107cmV0dXJuIHQuZWFjaChmdW5jdGlvbihyKXtyIT09dCYmZS5wdXNoKHtzb3VyY2U6ci5wYXJlbnQsdGFyZ2V0OnJ9KX0pLGV9LGNvcHk6ZnVuY3Rpb24oKXtyZXR1cm4gaSh0aGlzKS5lYWNoQmVmb3JlKHMpfX07dmFyIHU9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIGgodCl7Zm9yKHZhciBlLHIsbj0wLGE9KHQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbj10Lmxlbmd0aDtuOylyPU1hdGgucmFuZG9tKCkqbi0tfDAsZT10W25dLHRbbl09dFtyXSx0W3JdPWU7cmV0dXJuIHR9KHUuY2FsbCh0KSkpLmxlbmd0aCxpPVtdO248YTspZT10W25dLHImJmQocixlKT8rK246KHI9dihpPWYoaSxlKSksbj0wKTtyZXR1cm4gcn1mdW5jdGlvbiBmKHQsZSl7dmFyIHIsbjtpZihnKGUsdCkpcmV0dXJuW2VdO2ZvcihyPTA7cjx0Lmxlbmd0aDsrK3IpaWYocChlLHRbcl0pJiZnKG0odFtyXSxlKSx0KSlyZXR1cm5bdFtyXSxlXTtmb3Iocj0wO3I8dC5sZW5ndGgtMTsrK3IpZm9yKG49cisxO248dC5sZW5ndGg7KytuKWlmKHAobSh0W3JdLHRbbl0pLGUpJiZwKG0odFtyXSxlKSx0W25dKSYmcChtKHRbbl0sZSksdFtyXSkmJmcoeSh0W3JdLHRbbl0sZSksdCkpcmV0dXJuW3Rbcl0sdFtuXSxlXTt0aHJvdyBuZXcgRXJyb3J9ZnVuY3Rpb24gcCh0LGUpe3ZhciByPXQuci1lLnIsbj1lLngtdC54LGE9ZS55LXQueTtyZXR1cm4gcjwwfHxyKnI8bipuK2EqYX1mdW5jdGlvbiBkKHQsZSl7dmFyIHI9dC5yLWUucisxZS02LG49ZS54LXQueCxhPWUueS10Lnk7cmV0dXJuIHI+MCYmcipyPm4qbithKmF9ZnVuY3Rpb24gZyh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7KytyKWlmKCFkKHQsZVtyXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gdih0KXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm57eDooZT10WzBdKS54LHk6ZS55LHI6ZS5yfTtjYXNlIDI6cmV0dXJuIG0odFswXSx0WzFdKTtjYXNlIDM6cmV0dXJuIHkodFswXSx0WzFdLHRbMl0pfXZhciBlfWZ1bmN0aW9uIG0odCxlKXt2YXIgcj10Lngsbj10LnksYT10LnIsaT1lLngsbz1lLnkscz1lLnIsbD1pLXIsYz1vLW4sdT1zLWEsaD1NYXRoLnNxcnQobCpsK2MqYyk7cmV0dXJue3g6KHIraStsL2gqdSkvMix5OihuK28rYy9oKnUpLzIscjooaCthK3MpLzJ9fWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPXQueCxhPXQueSxpPXQucixvPWUueCxzPWUueSxsPWUucixjPXIueCx1PXIueSxoPXIucixmPW4tbyxwPW4tYyxkPWEtcyxnPWEtdSx2PWwtaSxtPWgtaSx5PW4qbithKmEtaSppLHg9eS1vKm8tcypzK2wqbCxiPXktYypjLXUqdStoKmgsXz1wKmQtZipnLHc9KGQqYi1nKngpLygyKl8pLW4saz0oZyp2LWQqbSkvXyxUPShwKngtZipiKS8oMipfKS1hLE09KGYqbS1wKnYpL18sQT1rKmsrTSpNLTEsUz0yKihpK3cqaytUKk0pLEU9dyp3K1QqVC1pKmksTD0tKEE/KFMrTWF0aC5zcXJ0KFMqUy00KkEqRSkpLygyKkEpOkUvUyk7cmV0dXJue3g6bit3K2sqTCx5OmErVCtNKkwscjpMfX1mdW5jdGlvbiB4KHQsZSxyKXt2YXIgbixhLGksbyxzPXQueC1lLngsbD10LnktZS55LGM9cypzK2wqbDtjPyhhPWUucityLnIsYSo9YSxvPXQucityLnIsYT4obyo9byk/KG49KGMrby1hKS8oMipjKSxpPU1hdGguc3FydChNYXRoLm1heCgwLG8vYy1uKm4pKSxyLng9dC54LW4qcy1pKmwsci55PXQueS1uKmwraSpzKToobj0oYythLW8pLygyKmMpLGk9TWF0aC5zcXJ0KE1hdGgubWF4KDAsYS9jLW4qbikpLHIueD1lLngrbipzLWkqbCxyLnk9ZS55K24qbCtpKnMpKTooci54PWUueCtyLnIsci55PWUueSl9ZnVuY3Rpb24gYih0LGUpe3ZhciByPXQucitlLnItMWUtNixuPWUueC10LngsYT1lLnktdC55O3JldHVybiByPjAmJnIqcj5uKm4rYSphfWZ1bmN0aW9uIF8odCl7dmFyIGU9dC5fLHI9dC5uZXh0Ll8sbj1lLnIrci5yLGE9KGUueCpyLnIrci54KmUucikvbixpPShlLnkqci5yK3IueSplLnIpL247cmV0dXJuIGEqYStpKml9ZnVuY3Rpb24gdyh0KXt0aGlzLl89dCx0aGlzLm5leHQ9bnVsbCx0aGlzLnByZXZpb3VzPW51bGx9ZnVuY3Rpb24gayh0KXtpZighKGE9dC5sZW5ndGgpKXJldHVybiAwO3ZhciBlLHIsbixhLGksbyxzLGwsYyx1LGY7aWYoKGU9dFswXSkueD0wLGUueT0wLCEoYT4xKSlyZXR1cm4gZS5yO2lmKHI9dFsxXSxlLng9LXIucixyLng9ZS5yLHIueT0wLCEoYT4yKSlyZXR1cm4gZS5yK3Iucjt4KHIsZSxuPXRbMl0pLGU9bmV3IHcoZSkscj1uZXcgdyhyKSxuPW5ldyB3KG4pLGUubmV4dD1uLnByZXZpb3VzPXIsci5uZXh0PWUucHJldmlvdXM9bixuLm5leHQ9ci5wcmV2aW91cz1lO3Q6Zm9yKHM9MztzPGE7KytzKXt4KGUuXyxyLl8sbj10W3NdKSxuPW5ldyB3KG4pLGw9ci5uZXh0LGM9ZS5wcmV2aW91cyx1PXIuXy5yLGY9ZS5fLnI7ZG97aWYodTw9Zil7aWYoYihsLl8sbi5fKSl7cj1sLGUubmV4dD1yLHIucHJldmlvdXM9ZSwtLXM7Y29udGludWUgdH11Kz1sLl8ucixsPWwubmV4dH1lbHNle2lmKGIoYy5fLG4uXykpeyhlPWMpLm5leHQ9cixyLnByZXZpb3VzPWUsLS1zO2NvbnRpbnVlIHR9Zis9Yy5fLnIsYz1jLnByZXZpb3VzfX13aGlsZShsIT09Yy5uZXh0KTtmb3Iobi5wcmV2aW91cz1lLG4ubmV4dD1yLGUubmV4dD1yLnByZXZpb3VzPXI9bixpPV8oZSk7KG49bi5uZXh0KSE9PXI7KShvPV8obikpPGkmJihlPW4saT1vKTtyPWUubmV4dH1mb3IoZT1bci5fXSxuPXI7KG49bi5uZXh0KSE9PXI7KWUucHVzaChuLl8pO2ZvcihuPWgoZSkscz0wO3M8YTsrK3MpKGU9dFtzXSkueC09bi54LGUueS09bi55O3JldHVybiBuLnJ9ZnVuY3Rpb24gVCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHR9ZnVuY3Rpb24gTSgpe3JldHVybiAwfWZ1bmN0aW9uIEEodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIFModCl7cmV0dXJuIE1hdGguc3FydCh0LnZhbHVlKX1mdW5jdGlvbiBFKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLmNoaWxkcmVufHwoZS5yPU1hdGgubWF4KDAsK3QoZSl8fDApKX19ZnVuY3Rpb24gTCh0LGUpe3JldHVybiBmdW5jdGlvbihyKXtpZihuPXIuY2hpbGRyZW4pe3ZhciBuLGEsaSxvPW4ubGVuZ3RoLHM9dChyKSplfHwwO2lmKHMpZm9yKGE9MDthPG87KythKW5bYV0ucis9cztpZihpPWsobikscylmb3IoYT0wO2E8bzsrK2EpblthXS5yLT1zO3Iucj1pK3N9fX1mdW5jdGlvbiBDKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj1lLnBhcmVudDtlLnIqPXQsciYmKGUueD1yLngrdCplLngsZS55PXIueSt0KmUueSl9fWZ1bmN0aW9uIFAodCl7dC54MD1NYXRoLnJvdW5kKHQueDApLHQueTA9TWF0aC5yb3VuZCh0LnkwKSx0LngxPU1hdGgucm91bmQodC54MSksdC55MT1NYXRoLnJvdW5kKHQueTEpfWZ1bmN0aW9uIE8odCxlLHIsbixhKXtmb3IodmFyIGksbz10LmNoaWxkcmVuLHM9LTEsbD1vLmxlbmd0aCxjPXQudmFsdWUmJihuLWUpL3QudmFsdWU7KytzPGw7KShpPW9bc10pLnkwPXIsaS55MT1hLGkueDA9ZSxpLngxPWUrPWkudmFsdWUqY312YXIgej0iJCIsST17ZGVwdGg6LTF9LEQ9e307ZnVuY3Rpb24gUih0KXtyZXR1cm4gdC5pZH1mdW5jdGlvbiBGKHQpe3JldHVybiB0LnBhcmVudElkfWZ1bmN0aW9uIEIodCxlKXtyZXR1cm4gdC5wYXJlbnQ9PT1lLnBhcmVudD8xOjJ9ZnVuY3Rpb24gTih0KXt2YXIgZT10LmNoaWxkcmVuO3JldHVybiBlP2VbMF06dC50fWZ1bmN0aW9uIGoodCl7dmFyIGU9dC5jaGlsZHJlbjtyZXR1cm4gZT9lW2UubGVuZ3RoLTFdOnQudH1mdW5jdGlvbiBWKHQsZSxyKXt2YXIgbj1yLyhlLmktdC5pKTtlLmMtPW4sZS5zKz1yLHQuYys9bixlLnorPXIsZS5tKz1yfWZ1bmN0aW9uIFUodCxlLHIpe3JldHVybiB0LmEucGFyZW50PT09ZS5wYXJlbnQ/dC5hOnJ9ZnVuY3Rpb24gcSh0LGUpe3RoaXMuXz10LHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZHJlbj1udWxsLHRoaXMuQT1udWxsLHRoaXMuYT10aGlzLHRoaXMuej0wLHRoaXMubT0wLHRoaXMuYz0wLHRoaXMucz0wLHRoaXMudD1udWxsLHRoaXMuaT1lfWZ1bmN0aW9uIEgodCxlLHIsbixhKXtmb3IodmFyIGksbz10LmNoaWxkcmVuLHM9LTEsbD1vLmxlbmd0aCxjPXQudmFsdWUmJihhLXIpL3QudmFsdWU7KytzPGw7KShpPW9bc10pLngwPWUsaS54MT1uLGkueTA9cixpLnkxPXIrPWkudmFsdWUqY31xLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGMucHJvdG90eXBlKTt2YXIgRz0oMStNYXRoLnNxcnQoNSkpLzI7ZnVuY3Rpb24gWSh0LGUscixuLGEsaSl7Zm9yKHZhciBvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbT1bXSx5PWUuY2hpbGRyZW4seD0wLGI9MCxfPXkubGVuZ3RoLHc9ZS52YWx1ZTt4PF87KXtsPWEtcixjPWktbjtkb3t1PXlbYisrXS52YWx1ZX13aGlsZSghdSYmYjxfKTtmb3IoaD1mPXUsdj11KnUqKGc9TWF0aC5tYXgoYy9sLGwvYykvKHcqdCkpLGQ9TWF0aC5tYXgoZi92LHYvaCk7YjxfOysrYil7aWYodSs9cz15W2JdLnZhbHVlLHM8aCYmKGg9cykscz5mJiYoZj1zKSx2PXUqdSpnLChwPU1hdGgubWF4KGYvdix2L2gpKT5kKXt1LT1zO2JyZWFrfWQ9cH1tLnB1c2gobz17dmFsdWU6dSxkaWNlOmw8YyxjaGlsZHJlbjp5LnNsaWNlKHgsYil9KSxvLmRpY2U/TyhvLHIsbixhLHc/bis9Yyp1L3c6aSk6SChvLHIsbix3P3IrPWwqdS93OmEsaSksdy09dSx4PWJ9cmV0dXJuIG19dmFyIFc9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQscixuLGEsaSl7WShlLHQscixuLGEsaSl9cmV0dXJuIHIucmF0aW89ZnVuY3Rpb24oZSl7cmV0dXJuIHQoKGU9K2UpPjE/ZToxKX0scn0oRyksWD1mdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIHIodCxyLG4sYSxpKXtpZigobz10Ll9zcXVhcmlmeSkmJm8ucmF0aW89PT1lKWZvcih2YXIgbyxzLGwsYyx1LGg9LTEsZj1vLmxlbmd0aCxwPXQudmFsdWU7KytoPGY7KXtmb3IobD0ocz1vW2hdKS5jaGlsZHJlbixjPXMudmFsdWU9MCx1PWwubGVuZ3RoO2M8dTsrK2Mpcy52YWx1ZSs9bFtjXS52YWx1ZTtzLmRpY2U/TyhzLHIsbixhLG4rPShpLW4pKnMudmFsdWUvcCk6SChzLHIsbixyKz0oYS1yKSpzLnZhbHVlL3AsaSkscC09cy52YWx1ZX1lbHNlIHQuX3NxdWFyaWZ5PW89WShlLHQscixuLGEsaSksby5yYXRpbz1lfXJldHVybiByLnJhdGlvPWZ1bmN0aW9uKGUpe3JldHVybiB0KChlPStlKT4xP2U6MSl9LHJ9KEcpO3QuY2x1c3Rlcj1mdW5jdGlvbigpe3ZhciB0PWUsYT0xLGk9MSxvPSExO2Z1bmN0aW9uIHMoZSl7dmFyIHMsbD0wO2UuZWFjaEFmdGVyKGZ1bmN0aW9uKGUpe3ZhciBhPWUuY2hpbGRyZW47YT8oZS54PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZShyLDApL3QubGVuZ3RofShhKSxlLnk9ZnVuY3Rpb24odCl7cmV0dXJuIDErdC5yZWR1Y2UobiwwKX0oYSkpOihlLng9cz9sKz10KGUscyk6MCxlLnk9MCxzPWUpfSk7dmFyIGM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlO2U9dC5jaGlsZHJlbjspdD1lWzBdO3JldHVybiB0fShlKSx1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZTtlPXQuY2hpbGRyZW47KXQ9ZVtlLmxlbmd0aC0xXTtyZXR1cm4gdH0oZSksaD1jLngtdChjLHUpLzIsZj11LngrdCh1LGMpLzI7cmV0dXJuIGUuZWFjaEFmdGVyKG8/ZnVuY3Rpb24odCl7dC54PSh0LngtZS54KSphLHQueT0oZS55LXQueSkqaX06ZnVuY3Rpb24odCl7dC54PSh0LngtaCkvKGYtaCkqYSx0Lnk9KDEtKGUueT90LnkvZS55OjEpKSppfSl9cmV0dXJuIHMuc2VwYXJhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHMpOnR9LHMuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0hMSxhPSt0WzBdLGk9K3RbMV0scyk6bz9udWxsOlthLGldfSxzLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSEwLGE9K3RbMF0saT0rdFsxXSxzKTpvP1thLGldOm51bGx9LHN9LHQuaGllcmFyY2h5PWksdC5wYWNrPWZ1bmN0aW9uKCl7dmFyIHQ9bnVsbCxlPTEscj0xLG49TTtmdW5jdGlvbiBhKGEpe3JldHVybiBhLng9ZS8yLGEueT1yLzIsdD9hLmVhY2hCZWZvcmUoRSh0KSkuZWFjaEFmdGVyKEwobiwuNSkpLmVhY2hCZWZvcmUoQygxKSk6YS5lYWNoQmVmb3JlKEUoUykpLmVhY2hBZnRlcihMKE0sMSkpLmVhY2hBZnRlcihMKG4sYS5yL01hdGgubWluKGUscikpKS5lYWNoQmVmb3JlKEMoTWF0aC5taW4oZSxyKS8oMiphLnIpKSksYX1yZXR1cm4gYS5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9bnVsbD09KHI9ZSk/bnVsbDpUKHIpLGEpOnQ7dmFyIHJ9LGEuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxyPSt0WzFdLGEpOltlLHJdfSxhLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBKCt0KSxhKTpufSxhfSx0LnBhY2tFbmNsb3NlPWgsdC5wYWNrU2libGluZ3M9ZnVuY3Rpb24odCl7cmV0dXJuIGsodCksdH0sdC5wYXJ0aXRpb249ZnVuY3Rpb24oKXt2YXIgdD0xLGU9MSxyPTAsbj0hMTtmdW5jdGlvbiBhKGEpe3ZhciBpPWEuaGVpZ2h0KzE7cmV0dXJuIGEueDA9YS55MD1yLGEueDE9dCxhLnkxPWUvaSxhLmVhY2hCZWZvcmUoZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24obil7bi5jaGlsZHJlbiYmTyhuLG4ueDAsdCoobi5kZXB0aCsxKS9lLG4ueDEsdCoobi5kZXB0aCsyKS9lKTt2YXIgYT1uLngwLGk9bi55MCxvPW4ueDEtcixzPW4ueTEtcjtvPGEmJihhPW89KGErbykvMiksczxpJiYoaT1zPShpK3MpLzIpLG4ueDA9YSxuLnkwPWksbi54MT1vLG4ueTE9c319KGUsaSkpLG4mJmEuZWFjaEJlZm9yZShQKSxhfXJldHVybiBhLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSEhdCxhKTpufSxhLnNpemU9ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K3JbMF0sZT0rclsxXSxhKTpbdCxlXX0sYS5wYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LGEpOnJ9LGF9LHQuc3RyYXRpZnk9ZnVuY3Rpb24oKXt2YXIgdD1SLGU9RjtmdW5jdGlvbiByKHIpe3ZhciBuLGEsaSxvLHMsdSxoLGY9ci5sZW5ndGgscD1uZXcgQXJyYXkoZiksZD17fTtmb3IoYT0wO2E8ZjsrK2Epbj1yW2FdLHM9cFthXT1uZXcgYyhuKSxudWxsIT0odT10KG4sYSxyKSkmJih1Kz0iIikmJihkW2g9eisocy5pZD11KV09aCBpbiBkP0Q6cyk7Zm9yKGE9MDthPGY7KythKWlmKHM9cFthXSxudWxsIT0odT1lKHJbYV0sYSxyKSkmJih1Kz0iIikpe2lmKCEobz1kW3ordV0pKXRocm93IG5ldyBFcnJvcigibWlzc2luZzogIit1KTtpZihvPT09RCl0aHJvdyBuZXcgRXJyb3IoImFtYmlndW91czogIit1KTtvLmNoaWxkcmVuP28uY2hpbGRyZW4ucHVzaChzKTpvLmNoaWxkcmVuPVtzXSxzLnBhcmVudD1vfWVsc2V7aWYoaSl0aHJvdyBuZXcgRXJyb3IoIm11bHRpcGxlIHJvb3RzIik7aT1zfWlmKCFpKXRocm93IG5ldyBFcnJvcigibm8gcm9vdCIpO2lmKGkucGFyZW50PUksaS5lYWNoQmVmb3JlKGZ1bmN0aW9uKHQpe3QuZGVwdGg9dC5wYXJlbnQuZGVwdGgrMSwtLWZ9KS5lYWNoQmVmb3JlKGwpLGkucGFyZW50PW51bGwsZj4wKXRocm93IG5ldyBFcnJvcigiY3ljbGUiKTtyZXR1cm4gaX1yZXR1cm4gci5pZD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1UKGUpLHIpOnR9LHIucGFyZW50SWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9VCh0KSxyKTplfSxyfSx0LnRyZWU9ZnVuY3Rpb24oKXt2YXIgdD1CLGU9MSxyPTEsbj1udWxsO2Z1bmN0aW9uIGEoYSl7dmFyIGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbixhLGksbz1uZXcgcSh0LDApLHM9W29dO2U9cy5wb3AoKTspaWYobj1lLl8uY2hpbGRyZW4pZm9yKGUuY2hpbGRyZW49bmV3IEFycmF5KGk9bi5sZW5ndGgpLGE9aS0xO2E+PTA7LS1hKXMucHVzaChyPWUuY2hpbGRyZW5bYV09bmV3IHEoblthXSxhKSksci5wYXJlbnQ9ZTtyZXR1cm4oby5wYXJlbnQ9bmV3IHEobnVsbCwwKSkuY2hpbGRyZW49W29dLG99KGEpO2lmKGwuZWFjaEFmdGVyKGkpLGwucGFyZW50Lm09LWwueixsLmVhY2hCZWZvcmUobyksbilhLmVhY2hCZWZvcmUocyk7ZWxzZXt2YXIgYz1hLHU9YSxoPWE7YS5lYWNoQmVmb3JlKGZ1bmN0aW9uKHQpe3QueDxjLngmJihjPXQpLHQueD51LngmJih1PXQpLHQuZGVwdGg+aC5kZXB0aCYmKGg9dCl9KTt2YXIgZj1jPT09dT8xOnQoYyx1KS8yLHA9Zi1jLngsZD1lLyh1LngrZitwKSxnPXIvKGguZGVwdGh8fDEpO2EuZWFjaEJlZm9yZShmdW5jdGlvbih0KXt0Lng9KHQueCtwKSpkLHQueT10LmRlcHRoKmd9KX1yZXR1cm4gYX1mdW5jdGlvbiBpKGUpe3ZhciByPWUuY2hpbGRyZW4sbj1lLnBhcmVudC5jaGlsZHJlbixhPWUuaT9uW2UuaS0xXTpudWxsO2lmKHIpeyFmdW5jdGlvbih0KXtmb3IodmFyIGUscj0wLG49MCxhPXQuY2hpbGRyZW4saT1hLmxlbmd0aDstLWk+PTA7KShlPWFbaV0pLnorPXIsZS5tKz1yLHIrPWUucysobis9ZS5jKX0oZSk7dmFyIGk9KHJbMF0ueityW3IubGVuZ3RoLTFdLnopLzI7YT8oZS56PWEueit0KGUuXyxhLl8pLGUubT1lLnotaSk6ZS56PWl9ZWxzZSBhJiYoZS56PWEueit0KGUuXyxhLl8pKTtlLnBhcmVudC5BPWZ1bmN0aW9uKGUscixuKXtpZihyKXtmb3IodmFyIGEsaT1lLG89ZSxzPXIsbD1pLnBhcmVudC5jaGlsZHJlblswXSxjPWkubSx1PW8ubSxoPXMubSxmPWwubTtzPWoocyksaT1OKGkpLHMmJmk7KWw9TihsKSwobz1qKG8pKS5hPWUsKGE9cy56K2gtaS56LWMrdChzLl8saS5fKSk+MCYmKFYoVShzLGUsbiksZSxhKSxjKz1hLHUrPWEpLGgrPXMubSxjKz1pLm0sZis9bC5tLHUrPW8ubTtzJiYhaihvKSYmKG8udD1zLG8ubSs9aC11KSxpJiYhTihsKSYmKGwudD1pLGwubSs9Yy1mLG49ZSl9cmV0dXJuIG59KGUsYSxlLnBhcmVudC5BfHxuWzBdKX1mdW5jdGlvbiBvKHQpe3QuXy54PXQueit0LnBhcmVudC5tLHQubSs9dC5wYXJlbnQubX1mdW5jdGlvbiBzKHQpe3QueCo9ZSx0Lnk9dC5kZXB0aCpyfXJldHVybiBhLnNlcGFyYXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ZSxhKTp0fSxhLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ITEsZT0rdFswXSxyPSt0WzFdLGEpOm4/bnVsbDpbZSxyXX0sYS5ub2RlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0hMCxlPSt0WzBdLHI9K3RbMV0sYSk6bj9bZSxyXTpudWxsfSxhfSx0LnRyZWVtYXA9ZnVuY3Rpb24oKXt2YXIgdD1XLGU9ITEscj0xLG49MSxhPVswXSxpPU0sbz1NLHM9TSxsPU0sYz1NO2Z1bmN0aW9uIHUodCl7cmV0dXJuIHQueDA9dC55MD0wLHQueDE9cix0LnkxPW4sdC5lYWNoQmVmb3JlKGgpLGE9WzBdLGUmJnQuZWFjaEJlZm9yZShQKSx0fWZ1bmN0aW9uIGgoZSl7dmFyIHI9YVtlLmRlcHRoXSxuPWUueDArcix1PWUueTArcixoPWUueDEtcixmPWUueTEtcjtoPG4mJihuPWg9KG4raCkvMiksZjx1JiYodT1mPSh1K2YpLzIpLGUueDA9bixlLnkwPXUsZS54MT1oLGUueTE9ZixlLmNoaWxkcmVuJiYocj1hW2UuZGVwdGgrMV09aShlKS8yLG4rPWMoZSktcix1Kz1vKGUpLXIsKGgtPXMoZSktcik8biYmKG49aD0obitoKS8yKSwoZi09bChlKS1yKTx1JiYodT1mPSh1K2YpLzIpLHQoZSxuLHUsaCxmKSl9cmV0dXJuIHUucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ISF0LHUpOmV9LHUuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdFswXSxuPSt0WzFdLHUpOltyLG5dfSx1LnRpbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9VChlKSx1KTp0fSx1LnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dS5wYWRkaW5nSW5uZXIodCkucGFkZGluZ091dGVyKHQpOnUucGFkZGluZ0lubmVyKCl9LHUucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QSgrdCksdSk6aX0sdS5wYWRkaW5nT3V0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dS5wYWRkaW5nVG9wKHQpLnBhZGRpbmdSaWdodCh0KS5wYWRkaW5nQm90dG9tKHQpLnBhZGRpbmdMZWZ0KHQpOnUucGFkZGluZ1RvcCgpfSx1LnBhZGRpbmdUb3A9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBKCt0KSx1KTpvfSx1LnBhZGRpbmdSaWdodD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkEoK3QpLHUpOnN9LHUucGFkZGluZ0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkEoK3QpLHUpOmx9LHUucGFkZGluZ0xlZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBKCt0KSx1KTpjfSx1fSx0LnRyZWVtYXBCaW5hcnk9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaSxvLHM9dC5jaGlsZHJlbixsPXMubGVuZ3RoLGM9bmV3IEFycmF5KGwrMSk7Zm9yKGNbMF09bz1pPTA7aTxsOysraSljW2krMV09bys9c1tpXS52YWx1ZTshZnVuY3Rpb24gdChlLHIsbixhLGksbyxsKXtpZihlPj1yLTEpe3ZhciB1PXNbZV07cmV0dXJuIHUueDA9YSx1LnkwPWksdS54MT1vLHZvaWQodS55MT1sKX1mb3IodmFyIGg9Y1tlXSxmPW4vMitoLHA9ZSsxLGQ9ci0xO3A8ZDspe3ZhciBnPXArZD4+PjE7Y1tnXTxmP3A9ZysxOmQ9Z31mLWNbcC0xXTxjW3BdLWYmJmUrMTxwJiYtLXA7dmFyIHY9Y1twXS1oLG09bi12O2lmKG8tYT5sLWkpe3ZhciB5PShhKm0rbyp2KS9uO3QoZSxwLHYsYSxpLHksbCksdChwLHIsbSx5LGksbyxsKX1lbHNle3ZhciB4PShpKm0rbCp2KS9uO3QoZSxwLHYsYSxpLG8seCksdChwLHIsbSxhLHgsbyxsKX19KDAsbCx0LnZhbHVlLGUscixuLGEpfSx0LnRyZWVtYXBEaWNlPU8sdC50cmVlbWFwUmVzcXVhcmlmeT1YLHQudHJlZW1hcFNsaWNlPUgsdC50cmVlbWFwU2xpY2VEaWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7KDEmdC5kZXB0aD9IOk8pKHQsZSxyLG4sYSl9LHQudHJlZW1hcFNxdWFyaWZ5PVcsT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSgib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9yOihuPW58fHNlbGYpLmQzPW4uZDN8fHt9KX0se31dLDE2MDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuLGE7bj10aGlzLGE9ZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGUscixuLGEpe3ZhciBpPXQqdCxvPWkqdDtyZXR1cm4oKDEtMyp0KzMqaS1vKSplKyg0LTYqaSszKm8pKnIrKDErMyp0KzMqaS0zKm8pKm4rbyphKS82fWZ1bmN0aW9uIG4odCl7dmFyIGU9dC5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGE9bjw9MD9uPTA6bj49MT8obj0xLGUtMSk6TWF0aC5mbG9vcihuKmUpLGk9dFthXSxvPXRbYSsxXSxzPWE+MD90W2EtMV06MippLW8sbD1hPGUtMT90W2ErMl06MipvLWk7cmV0dXJuIHIoKG4tYS9lKSplLHMsaSxvLGwpfX1mdW5jdGlvbiBhKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihuKXt2YXIgYT1NYXRoLmZsb29yKCgobiU9MSk8MD8rK246bikqZSksaT10WyhhK2UtMSklZV0sbz10W2ElZV0scz10WyhhKzEpJWVdLGw9dFsoYSsyKSVlXTtyZXR1cm4gcigobi1hL2UpKmUsaSxvLHMsbCl9fWZ1bmN0aW9uIGkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQrciplfX1mdW5jdGlvbiBzKHQsZSl7dmFyIHI9ZS10O3JldHVybiByP28odCxyPjE4MHx8cjwtMTgwP3ItMzYwKk1hdGgucm91bmQoci8zNjApOnIpOmkoaXNOYU4odCk/ZTp0KX1mdW5jdGlvbiBsKHQpe3JldHVybiAxPT0odD0rdCk/YzpmdW5jdGlvbihlLHIpe3JldHVybiByLWU/ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PU1hdGgucG93KHQsciksZT1NYXRoLnBvdyhlLHIpLXQscj0xL3IsZnVuY3Rpb24obil7cmV0dXJuIE1hdGgucG93KHQrbiplLHIpfX0oZSxyLHQpOmkoaXNOYU4oZSk/cjplKX19ZnVuY3Rpb24gYyh0LGUpe3ZhciByPWUtdDtyZXR1cm4gcj9vKHQscik6aShpc05hTih0KT9lOnQpfXZhciB1PWZ1bmN0aW9uIHQocil7dmFyIG49bChyKTtmdW5jdGlvbiBhKHQscil7dmFyIGE9bigodD1lLnJnYih0KSkuciwocj1lLnJnYihyKSkuciksaT1uKHQuZyxyLmcpLG89bih0LmIsci5iKSxzPWModC5vcGFjaXR5LHIub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnI9YShlKSx0Lmc9aShlKSx0LmI9byhlKSx0Lm9wYWNpdHk9cyhlKSx0KyIifX1yZXR1cm4gYS5nYW1tYT10LGF9KDEpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBuLGEsaT1yLmxlbmd0aCxvPW5ldyBBcnJheShpKSxzPW5ldyBBcnJheShpKSxsPW5ldyBBcnJheShpKTtmb3Iobj0wO248aTsrK24pYT1lLnJnYihyW25dKSxvW25dPWEucnx8MCxzW25dPWEuZ3x8MCxsW25dPWEuYnx8MDtyZXR1cm4gbz10KG8pLHM9dChzKSxsPXQobCksYS5vcGFjaXR5PTEsZnVuY3Rpb24odCl7cmV0dXJuIGEucj1vKHQpLGEuZz1zKHQpLGEuYj1sKHQpLGErIiJ9fX12YXIgZj1oKG4pLHA9aChhKTtmdW5jdGlvbiBkKHQsZSl7ZXx8KGU9W10pO3ZhciByLG49dD9NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk6MCxhPWUuc2xpY2UoKTtyZXR1cm4gZnVuY3Rpb24oaSl7Zm9yKHI9MDtyPG47KytyKWFbcl09dFtyXSooMS1pKStlW3JdKmk7cmV0dXJuIGF9fWZ1bmN0aW9uIGcodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfWZ1bmN0aW9uIHYodCxlKXt2YXIgcixuPWU/ZS5sZW5ndGg6MCxhPXQ/TWF0aC5taW4obix0Lmxlbmd0aCk6MCxpPW5ldyBBcnJheShhKSxvPW5ldyBBcnJheShuKTtmb3Iocj0wO3I8YTsrK3IpaVtyXT1rKHRbcl0sZVtyXSk7Zm9yKDtyPG47KytyKW9bcl09ZVtyXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHI9MDtyPGE7KytyKW9bcl09aVtyXSh0KTtyZXR1cm4gb319ZnVuY3Rpb24gbSh0LGUpe3ZhciByPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24obil7cmV0dXJuIHIuc2V0VGltZSh0KigxLW4pK2Uqbikscn19ZnVuY3Rpb24geSh0LGUpe3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24ocil7cmV0dXJuIHQqKDEtcikrZSpyfX1mdW5jdGlvbiB4KHQsZSl7dmFyIHIsbj17fSxhPXt9O2ZvcihyIGluIG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR8fCh0PXt9KSxudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlfHwoZT17fSksZSlyIGluIHQ/bltyXT1rKHRbcl0sZVtyXSk6YVtyXT1lW3JdO3JldHVybiBmdW5jdGlvbih0KXtmb3IociBpbiBuKWFbcl09bltyXSh0KTtyZXR1cm4gYX19dmFyIGI9L1stK10/KD86XGQrXC4/XGQqfFwuP1xkKykoPzpbZUVdWy0rXT9cZCspPy9nLF89bmV3IFJlZ0V4cChiLnNvdXJjZSwiZyIpO2Z1bmN0aW9uIHcodCxlKXt2YXIgcixuLGEsaT1iLmxhc3RJbmRleD1fLmxhc3RJbmRleD0wLG89LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsocj1iLmV4ZWModCkpJiYobj1fLmV4ZWMoZSkpOykoYT1uLmluZGV4KT5pJiYoYT1lLnNsaWNlKGksYSksc1tvXT9zW29dKz1hOnNbKytvXT1hKSwocj1yWzBdKT09PShuPW5bMF0pP3Nbb10/c1tvXSs9bjpzWysrb109bjooc1srK29dPW51bGwsbC5wdXNoKHtpOm8seDp5KHIsbil9KSksaT1fLmxhc3RJbmRleDtyZXR1cm4gaTxlLmxlbmd0aCYmKGE9ZS5zbGljZShpKSxzW29dP3Nbb10rPWE6c1srK29dPWEpLHMubGVuZ3RoPDI/bFswXT9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSkrIiJ9fShsWzBdLngpOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0oZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciByLG49MDtuPGU7KytuKXNbKHI9bFtuXSkuaV09ci54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gayh0LHIpe3ZhciBuLGE9dHlwZW9mIHI7cmV0dXJuIG51bGw9PXJ8fCJib29sZWFuIj09PWE/aShyKTooIm51bWJlciI9PT1hP3k6InN0cmluZyI9PT1hPyhuPWUuY29sb3IocikpPyhyPW4sdSk6dzpyIGluc3RhbmNlb2YgZS5jb2xvcj91OnIgaW5zdGFuY2VvZiBEYXRlP206ZyhyKT9kOkFycmF5LmlzQXJyYXkocik/djoiZnVuY3Rpb24iIT10eXBlb2Ygci52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2Ygci50b1N0cmluZ3x8aXNOYU4ocik/eDp5KSh0LHIpfXZhciBULE0sQSxTLEU9MTgwL01hdGguUEksTD17dHJhbnNsYXRlWDowLHRyYW5zbGF0ZVk6MCxyb3RhdGU6MCxza2V3WDowLHNjYWxlWDoxLHNjYWxlWToxfTtmdW5jdGlvbiBDKHQsZSxyLG4sYSxpKXt2YXIgbyxzLGw7cmV0dXJuKG89TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPW8sZS89byksKGw9dCpyK2UqbikmJihyLT10Kmwsbi09ZSpsKSwocz1NYXRoLnNxcnQocipyK24qbikpJiYoci89cyxuLz1zLGwvPXMpLHQqbjxlKnImJih0PS10LGU9LWUsbD0tbCxvPS1vKSx7dHJhbnNsYXRlWDphLHRyYW5zbGF0ZVk6aSxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKkUsc2tld1g6TWF0aC5hdGFuKGwpKkUsc2NhbGVYOm8sc2NhbGVZOnN9fWZ1bmN0aW9uIFAodCxlLHIsbil7ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKGksbyl7dmFyIHM9W10sbD1bXTtyZXR1cm4gaT10KGkpLG89dChvKSxmdW5jdGlvbih0LG4sYSxpLG8scyl7aWYodCE9PWF8fG4hPT1pKXt2YXIgbD1vLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLHIpO3MucHVzaCh7aTpsLTQseDp5KHQsYSl9LHtpOmwtMix4OnkobixpKX0pfWVsc2UoYXx8aSkmJm8ucHVzaCgidHJhbnNsYXRlKCIrYStlK2krcil9KGkudHJhbnNsYXRlWCxpLnRyYW5zbGF0ZVksby50cmFuc2xhdGVYLG8udHJhbnNsYXRlWSxzLGwpLGZ1bmN0aW9uKHQsZSxyLGkpe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxpLnB1c2goe2k6ci5wdXNoKGEocikrInJvdGF0ZSgiLG51bGwsbiktMix4OnkodCxlKX0pKTplJiZyLnB1c2goYShyKSsicm90YXRlKCIrZStuKX0oaS5yb3RhdGUsby5yb3RhdGUscyxsKSxmdW5jdGlvbih0LGUscixpKXt0IT09ZT9pLnB1c2goe2k6ci5wdXNoKGEocikrInNrZXdYKCIsbnVsbCxuKS0yLHg6eSh0LGUpfSk6ZSYmci5wdXNoKGEocikrInNrZXdYKCIrZStuKX0oaS5za2V3WCxvLnNrZXdYLHMsbCksZnVuY3Rpb24odCxlLHIsbixpLG8pe2lmKHQhPT1yfHxlIT09bil7dmFyIHM9aS5wdXNoKGEoaSkrInNjYWxlKCIsbnVsbCwiLCIsbnVsbCwiKSIpO28ucHVzaCh7aTpzLTQseDp5KHQscil9LHtpOnMtMix4OnkoZSxuKX0pfWVsc2UgMT09PXImJjE9PT1ufHxpLnB1c2goYShpKSsic2NhbGUoIityKyIsIituKyIpIil9KGkuc2NhbGVYLGkuc2NhbGVZLG8uc2NhbGVYLG8uc2NhbGVZLHMsbCksaT1vPW51bGwsZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9LTEsbj1sLmxlbmd0aDsrK3I8bjspc1soZT1sW3JdKS5pXT1lLngodCk7cmV0dXJuIHMuam9pbigiIil9fX12YXIgTz1QKGZ1bmN0aW9uKHQpe3JldHVybiJub25lIj09PXQ/TDooVHx8KFQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIiksTT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsQT1kb2N1bWVudC5kZWZhdWx0VmlldyksVC5zdHlsZS50cmFuc2Zvcm09dCx0PUEuZ2V0Q29tcHV0ZWRTdHlsZShNLmFwcGVuZENoaWxkKFQpLG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLE0ucmVtb3ZlQ2hpbGQoVCksQygrKHQ9dC5zbGljZSg3LC0xKS5zcGxpdCgiLCIpKVswXSwrdFsxXSwrdFsyXSwrdFszXSwrdFs0XSwrdFs1XSkpfSwicHgsICIsInB4KSIsImRlZykiKSx6PVAoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/TDooU3x8KFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKSksUy5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9Uy50cmFuc2Zvcm0uYmFzZVZhbC5jb25zb2xpZGF0ZSgpKT9DKCh0PXQubWF0cml4KS5hLHQuYix0LmMsdC5kLHQuZSx0LmYpOkwpfSwiLCAiLCIpIiwiKSIpLEk9TWF0aC5TUVJUMixEPTIsUj00LEY9MWUtMTI7ZnVuY3Rpb24gQih0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpKzEvdCkvMn1mdW5jdGlvbiBOKHQpe3JldHVybiBmdW5jdGlvbihyLG4pe3ZhciBhPXQoKHI9ZS5oc2wocikpLmgsKG49ZS5oc2wobikpLmgpLGk9YyhyLnMsbi5zKSxvPWMoci5sLG4ubCkscz1jKHIub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gci5oPWEodCksci5zPWkodCksci5sPW8odCksci5vcGFjaXR5PXModCkscisiIn19fXZhciBqPU4ocyksVj1OKGMpO2Z1bmN0aW9uIFUodCl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7dmFyIGE9dCgocj1lLmhjbChyKSkuaCwobj1lLmhjbChuKSkuaCksaT1jKHIuYyxuLmMpLG89YyhyLmwsbi5sKSxzPWMoci5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByLmg9YSh0KSxyLmM9aSh0KSxyLmw9byh0KSxyLm9wYWNpdHk9cyh0KSxyKyIifX19dmFyIHE9VShzKSxIPVUoYyk7ZnVuY3Rpb24gRyh0KXtyZXR1cm4gZnVuY3Rpb24gcihuKXtmdW5jdGlvbiBhKHIsYSl7dmFyIGk9dCgocj1lLmN1YmVoZWxpeChyKSkuaCwoYT1lLmN1YmVoZWxpeChhKSkuaCksbz1jKHIucyxhLnMpLHM9YyhyLmwsYS5sKSxsPWMoci5vcGFjaXR5LGEub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByLmg9aSh0KSxyLnM9byh0KSxyLmw9cyhNYXRoLnBvdyh0LG4pKSxyLm9wYWNpdHk9bCh0KSxyKyIifX1yZXR1cm4gbj0rbixhLmdhbW1hPXIsYX0oMSl9dmFyIFk9RyhzKSxXPUcoYyk7dC5pbnRlcnBvbGF0ZT1rLHQuaW50ZXJwb2xhdGVBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybihnKGUpP2Q6dikodCxlKX0sdC5pbnRlcnBvbGF0ZUJhc2lzPW4sdC5pbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkPWEsdC5pbnRlcnBvbGF0ZUN1YmVoZWxpeD1ZLHQuaW50ZXJwb2xhdGVDdWJlaGVsaXhMb25nPVcsdC5pbnRlcnBvbGF0ZURhdGU9bSx0LmludGVycG9sYXRlRGlzY3JldGU9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0W01hdGgubWF4KDAsTWF0aC5taW4oZS0xLE1hdGguZmxvb3IociplKSkpXX19LHQuaW50ZXJwb2xhdGVIY2w9cSx0LmludGVycG9sYXRlSGNsTG9uZz1ILHQuaW50ZXJwb2xhdGVIc2w9aix0LmludGVycG9sYXRlSHNsTG9uZz1WLHQuaW50ZXJwb2xhdGVIdWU9ZnVuY3Rpb24odCxlKXt2YXIgcj1zKCt0LCtlKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9cih0KTtyZXR1cm4gZS0zNjAqTWF0aC5mbG9vcihlLzM2MCl9fSx0LmludGVycG9sYXRlTGFiPWZ1bmN0aW9uKHQscil7dmFyIG49YygodD1lLmxhYih0KSkubCwocj1lLmxhYihyKSkubCksYT1jKHQuYSxyLmEpLGk9Yyh0LmIsci5iKSxvPWModC5vcGFjaXR5LHIub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0Lmw9bihlKSx0LmE9YShlKSx0LmI9aShlKSx0Lm9wYWNpdHk9byhlKSx0KyIifX0sdC5pbnRlcnBvbGF0ZU51bWJlcj15LHQuaW50ZXJwb2xhdGVOdW1iZXJBcnJheT1kLHQuaW50ZXJwb2xhdGVPYmplY3Q9eCx0LmludGVycG9sYXRlUmdiPXUsdC5pbnRlcnBvbGF0ZVJnYkJhc2lzPWYsdC5pbnRlcnBvbGF0ZVJnYkJhc2lzQ2xvc2VkPXAsdC5pbnRlcnBvbGF0ZVJvdW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9K3QsZT0rZSxmdW5jdGlvbihyKXtyZXR1cm4gTWF0aC5yb3VuZCh0KigxLXIpK2Uqcil9fSx0LmludGVycG9sYXRlU3RyaW5nPXcsdC5pbnRlcnBvbGF0ZVRyYW5zZm9ybUNzcz1PLHQuaW50ZXJwb2xhdGVUcmFuc2Zvcm1Tdmc9eix0LmludGVycG9sYXRlWm9vbT1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT10WzBdLGk9dFsxXSxvPXRbMl0scz1lWzBdLGw9ZVsxXSxjPWVbMl0sdT1zLWEsaD1sLWksZj11KnUraCpoO2lmKGY8RiluPU1hdGgubG9nKGMvbykvSSxyPWZ1bmN0aW9uKHQpe3JldHVyblthK3QqdSxpK3QqaCxvKk1hdGguZXhwKEkqdCpuKV19O2Vsc2V7dmFyIHA9TWF0aC5zcXJ0KGYpLGQ9KGMqYy1vKm8rUipmKS8oMipvKkQqcCksZz0oYypjLW8qby1SKmYpLygyKmMqRCpwKSx2PU1hdGgubG9nKE1hdGguc3FydChkKmQrMSktZCksbT1NYXRoLmxvZyhNYXRoLnNxcnQoZypnKzEpLWcpO249KG0tdikvSSxyPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dCpuLHM9Qih2KSxsPW8vKEQqcCkqKHMqKGU9SSpyK3YsKChlPU1hdGguZXhwKDIqZSkpLTEpLyhlKzEpKS1mdW5jdGlvbih0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpLTEvdCkvMn0odikpO3JldHVyblthK2wqdSxpK2wqaCxvKnMvQihJKnIrdildfX1yZXR1cm4gci5kdXJhdGlvbj0xZTMqbixyfSx0LnBpZWNld2lzZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgtMSxhPWVbMF0saT1uZXcgQXJyYXkobjwwPzA6bik7cjxuOylpW3JdPXQoYSxhPWVbKytyXSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWF4KDAsTWF0aC5taW4obi0xLE1hdGguZmxvb3IodCo9bikpKTtyZXR1cm4gaVtlXSh0LWUpfX0sdC5xdWFudGl6ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkoZSksbj0wO248ZTsrK24pcltuXT10KG4vKGUtMSkpO3JldHVybiByfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1jb2xvciIpKTphKChuPW58fHNlbGYpLmQzPW4uZDN8fHt9LG4uZDMpfSx7ImQzLWNvbG9yIjoxNTZ9XSwxNjE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtuPXRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlPU1hdGguUEkscj0yKmUsbj1yLTFlLTY7ZnVuY3Rpb24gYSgpe3RoaXMuX3gwPXRoaXMuX3kwPXRoaXMuX3gxPXRoaXMuX3kxPW51bGwsdGhpcy5fPSIifWZ1bmN0aW9uIGkoKXtyZXR1cm4gbmV3IGF9YS5wcm90b3R5cGU9aS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K3IpKyIsIisodGhpcy5feTE9K24pfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtyKyIsIisgK24rIiwiKyh0aGlzLl94MT0rYSkrIiwiKyh0aGlzLl95MT0raSl9LGFyY1RvOmZ1bmN0aW9uKHQscixuLGEsaSl7dD0rdCxyPStyLG49K24sYT0rYSxpPStpO3ZhciBvPXRoaXMuX3gxLHM9dGhpcy5feTEsbD1uLXQsYz1hLXIsdT1vLXQsaD1zLXIsZj11KnUraCpoO2lmKGk8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIitpKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9cik7ZWxzZSBpZihmPjFlLTYpaWYoTWF0aC5hYnMoaCpsLWMqdSk+MWUtNiYmaSl7dmFyIHA9bi1vLGQ9YS1zLGc9bCpsK2MqYyx2PXAqcCtkKmQsbT1NYXRoLnNxcnQoZykseT1NYXRoLnNxcnQoZikseD1pKk1hdGgudGFuKChlLU1hdGguYWNvcygoZytmLXYpLygyKm0qeSkpKS8yKSxiPXgveSxfPXgvbTtNYXRoLmFicyhiLTEpPjFlLTYmJih0aGlzLl8rPSJMIisodCtiKnUpKyIsIisocitiKmgpKSx0aGlzLl8rPSJBIitpKyIsIitpKyIsMCwwLCIrICsoaCpwPnUqZCkrIiwiKyh0aGlzLl94MT10K18qbCkrIiwiKyh0aGlzLl95MT1yK18qYyl9ZWxzZSB0aGlzLl8rPSJMIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1yKTtlbHNlO30sYXJjOmZ1bmN0aW9uKHQsYSxpLG8scyxsKXt0PSt0LGE9K2E7dmFyIGM9KGk9K2kpKk1hdGguY29zKG8pLHU9aSpNYXRoLnNpbihvKSxoPXQrYyxmPWErdSxwPTFebCxkPWw/by1zOnMtbztpZihpPDApdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIraSk7bnVsbD09PXRoaXMuX3gxP3RoaXMuXys9Ik0iK2grIiwiK2Y6KE1hdGguYWJzKHRoaXMuX3gxLWgpPjFlLTZ8fE1hdGguYWJzKHRoaXMuX3kxLWYpPjFlLTYpJiYodGhpcy5fKz0iTCIraCsiLCIrZiksaSYmKGQ8MCYmKGQ9ZCVyK3IpLGQ+bj90aGlzLl8rPSJBIitpKyIsIitpKyIsMCwxLCIrcCsiLCIrKHQtYykrIiwiKyhhLXUpKyJBIitpKyIsIitpKyIsMCwxLCIrcCsiLCIrKHRoaXMuX3gxPWgpKyIsIisodGhpcy5feTE9Zik6ZD4xZS02JiYodGhpcy5fKz0iQSIraSsiLCIraSsiLDAsIisgKyhkPj1lKSsiLCIrcCsiLCIrKHRoaXMuX3gxPXQraSpNYXRoLmNvcyhzKSkrIiwiKyh0aGlzLl95MT1hK2kqTWF0aC5zaW4ocykpKSl9LHJlY3Q6ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKSsiaCIrICtyKyJ2IisgK24rImgiKy1yKyJaIn0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ffX0sdC5wYXRoPWksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSgib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9yOm4uZDM9bi5kM3x8e30pfSx7fV0sMTYyOltmdW5jdGlvbih0LGUscil7dmFyIG47bj10aGlzLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQsZSxyLG4pe2lmKGlzTmFOKGUpfHxpc05hTihyKSlyZXR1cm4gdDt2YXIgYSxpLG8scyxsLGMsdSxoLGYscD10Ll9yb290LGQ9e2RhdGE6bn0sZz10Ll94MCx2PXQuX3kwLG09dC5feDEseT10Ll95MTtpZighcClyZXR1cm4gdC5fcm9vdD1kLHQ7Zm9yKDtwLmxlbmd0aDspaWYoKGM9ZT49KGk9KGcrbSkvMikpP2c9aTptPWksKHU9cj49KG89KHYreSkvMikpP3Y9bzp5PW8sYT1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIGFbaF09ZCx0O2lmKHM9K3QuX3guY2FsbChudWxsLHAuZGF0YSksbD0rdC5feS5jYWxsKG51bGwscC5kYXRhKSxlPT09cyYmcj09PWwpcmV0dXJuIGQubmV4dD1wLGE/YVtoXT1kOnQuX3Jvb3Q9ZCx0O2Rve2E9YT9hW2hdPW5ldyBBcnJheSg0KTp0Ll9yb290PW5ldyBBcnJheSg0KSwoYz1lPj0oaT0oZyttKS8yKSk/Zz1pOm09aSwodT1yPj0obz0odit5KS8yKSk/dj1vOnk9b313aGlsZSgoaD11PDwxfGMpPT0oZj0obD49byk8PDF8cz49aSkpO3JldHVybiBhW2ZdPXAsYVtoXT1kLHR9dmFyIHI9ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLm5vZGU9dCx0aGlzLngwPWUsdGhpcy55MD1yLHRoaXMueDE9bix0aGlzLnkxPWF9O2Z1bmN0aW9uIG4odCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBpKHQsZSxyKXt2YXIgaT1uZXcgbyhudWxsPT1lP246ZSxudWxsPT1yP2E6cixOYU4sTmFOLE5hTixOYU4pO3JldHVybiBudWxsPT10P2k6aS5hZGRBbGwodCl9ZnVuY3Rpb24gbyh0LGUscixuLGEsaSl7dGhpcy5feD10LHRoaXMuX3k9ZSx0aGlzLl94MD1yLHRoaXMuX3kwPW4sdGhpcy5feDE9YSx0aGlzLl95MT1pLHRoaXMuX3Jvb3Q9dm9pZCAwfWZ1bmN0aW9uIHModCl7Zm9yKHZhciBlPXtkYXRhOnQuZGF0YX0scj1lO3Q9dC5uZXh0OylyPXIubmV4dD17ZGF0YTp0LmRhdGF9O3JldHVybiBlfXZhciBsPWkucHJvdG90eXBlPW8ucHJvdG90eXBlO2wuY29weT1mdW5jdGlvbigpe3ZhciB0LGUscj1uZXcgbyh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLG49dGhpcy5fcm9vdDtpZighbilyZXR1cm4gcjtpZighbi5sZW5ndGgpcmV0dXJuIHIuX3Jvb3Q9cyhuKSxyO2Zvcih0PVt7c291cmNlOm4sdGFyZ2V0OnIuX3Jvb3Q9bmV3IEFycmF5KDQpfV07bj10LnBvcCgpOylmb3IodmFyIGE9MDthPDQ7KythKShlPW4uc291cmNlW2FdKSYmKGUubGVuZ3RoP3QucHVzaCh7c291cmNlOmUsdGFyZ2V0Om4udGFyZ2V0W2FdPW5ldyBBcnJheSg0KX0pOm4udGFyZ2V0W2FdPXMoZSkpO3JldHVybiByfSxsLmFkZD1mdW5jdGlvbih0KXt2YXIgcj0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIGUodGhpcy5jb3ZlcihyLG4pLHIsbix0KX0sbC5hZGRBbGw9ZnVuY3Rpb24odCl7dmFyIHIsbixhLGksbz10Lmxlbmd0aCxzPW5ldyBBcnJheShvKSxsPW5ldyBBcnJheShvKSxjPTEvMCx1PTEvMCxoPS0xLzAsZj0tMS8wO2ZvcihuPTA7bjxvOysrbilpc05hTihhPSt0aGlzLl94LmNhbGwobnVsbCxyPXRbbl0pKXx8aXNOYU4oaT0rdGhpcy5feS5jYWxsKG51bGwscikpfHwoc1tuXT1hLGxbbl09aSxhPGMmJihjPWEpLGE+aCYmKGg9YSksaTx1JiYodT1pKSxpPmYmJihmPWkpKTtmb3IoaDxjJiYoYz10aGlzLl94MCxoPXRoaXMuX3gxKSxmPHUmJih1PXRoaXMuX3kwLGY9dGhpcy5feTEpLHRoaXMuY292ZXIoYyx1KS5jb3ZlcihoLGYpLG49MDtuPG87KytuKWUodGhpcyxzW25dLGxbbl0sdFtuXSk7cmV0dXJuIHRoaXN9LGwuY292ZXI9ZnVuY3Rpb24odCxlKXtpZihpc05hTih0PSt0KXx8aXNOYU4oZT0rZSkpcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy5feDAsbj10aGlzLl95MCxhPXRoaXMuX3gxLGk9dGhpcy5feTE7aWYoaXNOYU4ocikpYT0ocj1NYXRoLmZsb29yKHQpKSsxLGk9KG49TWF0aC5mbG9vcihlKSkrMTtlbHNle2lmKCEocj50fHx0PmF8fG4+ZXx8ZT5pKSlyZXR1cm4gdGhpczt2YXIgbyxzLGw9YS1yLGM9dGhpcy5fcm9vdDtzd2l0Y2gocz0oZTwobitpKS8yKTw8MXx0PChyK2EpLzIpe2Nhc2UgMDpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKGk9bisobCo9MiksdD4oYT1yK2wpfHxlPmkpO2JyZWFrO2Nhc2UgMTpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKGk9bisobCo9MiksKHI9YS1sKT50fHxlPmkpO2JyZWFrO2Nhc2UgMjpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKG49aS0obCo9MiksdD4oYT1yK2wpfHxuPmUpO2JyZWFrO2Nhc2UgMzpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKG49aS0obCo9MiksKHI9YS1sKT50fHxuPmUpfXRoaXMuX3Jvb3QmJnRoaXMuX3Jvb3QubGVuZ3RoJiYodGhpcy5fcm9vdD1jKX1yZXR1cm4gdGhpcy5feDA9cix0aGlzLl95MD1uLHRoaXMuX3gxPWEsdGhpcy5feTE9aSx0aGlzfSxsLmRhdGE9ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52aXNpdChmdW5jdGlvbihlKXtpZighZS5sZW5ndGgpZG97dC5wdXNoKGUuZGF0YSl9d2hpbGUoZT1lLm5leHQpfSksdH0sbC5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5jb3ZlcigrdFswXVswXSwrdFswXVsxXSkuY292ZXIoK3RbMV1bMF0sK3RbMV1bMV0pOmlzTmFOKHRoaXMuX3gwKT92b2lkIDA6W1t0aGlzLl94MCx0aGlzLl95MF0sW3RoaXMuX3gxLHRoaXMuX3kxXV19LGwuZmluZD1mdW5jdGlvbih0LGUsbil7dmFyIGEsaSxvLHMsbCxjLHUsaD10aGlzLl94MCxmPXRoaXMuX3kwLHA9dGhpcy5feDEsZD10aGlzLl95MSxnPVtdLHY9dGhpcy5fcm9vdDtmb3IodiYmZy5wdXNoKG5ldyByKHYsaCxmLHAsZCkpLG51bGw9PW4/bj0xLzA6KGg9dC1uLGY9ZS1uLHA9dCtuLGQ9ZStuLG4qPW4pO2M9Zy5wb3AoKTspaWYoISghKHY9Yy5ub2RlKXx8KGk9Yy54MCk+cHx8KG89Yy55MCk+ZHx8KHM9Yy54MSk8aHx8KGw9Yy55MSk8ZikpaWYodi5sZW5ndGgpe3ZhciBtPShpK3MpLzIseT0obytsKS8yO2cucHVzaChuZXcgcih2WzNdLG0seSxzLGwpLG5ldyByKHZbMl0saSx5LG0sbCksbmV3IHIodlsxXSxtLG8scyx5KSxuZXcgcih2WzBdLGksbyxtLHkpKSwodT0oZT49eSk8PDF8dD49bSkmJihjPWdbZy5sZW5ndGgtMV0sZ1tnLmxlbmd0aC0xXT1nW2cubGVuZ3RoLTEtdV0sZ1tnLmxlbmd0aC0xLXVdPWMpfWVsc2V7dmFyIHg9dC0rdGhpcy5feC5jYWxsKG51bGwsdi5kYXRhKSxiPWUtK3RoaXMuX3kuY2FsbChudWxsLHYuZGF0YSksXz14KngrYipiO2lmKF88bil7dmFyIHc9TWF0aC5zcXJ0KG49Xyk7aD10LXcsZj1lLXcscD10K3csZD1lK3csYT12LmRhdGF9fXJldHVybiBhfSxsLnJlbW92ZT1mdW5jdGlvbih0KXtpZihpc05hTihpPSt0aGlzLl94LmNhbGwobnVsbCx0KSl8fGlzTmFOKG89K3RoaXMuX3kuY2FsbChudWxsLHQpKSlyZXR1cm4gdGhpczt2YXIgZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscD10aGlzLl9yb290LGQ9dGhpcy5feDAsZz10aGlzLl95MCx2PXRoaXMuX3gxLG09dGhpcy5feTE7aWYoIXApcmV0dXJuIHRoaXM7aWYocC5sZW5ndGgpZm9yKDs7KXtpZigoYz1pPj0ocz0oZCt2KS8yKSk/ZD1zOnY9cywodT1vPj0obD0oZyttKS8yKSk/Zz1sOm09bCxlPXAsIShwPXBbaD11PDwxfGNdKSlyZXR1cm4gdGhpcztpZighcC5sZW5ndGgpYnJlYWs7KGVbaCsxJjNdfHxlW2grMiYzXXx8ZVtoKzMmM10pJiYocj1lLGY9aCl9Zm9yKDtwLmRhdGEhPT10OylpZihuPXAsIShwPXAubmV4dCkpcmV0dXJuIHRoaXM7cmV0dXJuKGE9cC5uZXh0KSYmZGVsZXRlIHAubmV4dCxuPyhhP24ubmV4dD1hOmRlbGV0ZSBuLm5leHQsdGhpcyk6ZT8oYT9lW2hdPWE6ZGVsZXRlIGVbaF0sKHA9ZVswXXx8ZVsxXXx8ZVsyXXx8ZVszXSkmJnA9PT0oZVszXXx8ZVsyXXx8ZVsxXXx8ZVswXSkmJiFwLmxlbmd0aCYmKHI/cltmXT1wOnRoaXMuX3Jvb3Q9cCksdGhpcyk6KHRoaXMuX3Jvb3Q9YSx0aGlzKX0sbC5yZW1vdmVBbGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj10Lmxlbmd0aDtlPHI7KytlKXRoaXMucmVtb3ZlKHRbZV0pO3JldHVybiB0aGlzfSxsLnJvb3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm9vdH0sbC5zaXplPWZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy52aXNpdChmdW5jdGlvbihlKXtpZighZS5sZW5ndGgpZG97Kyt0fXdoaWxlKGU9ZS5uZXh0KX0pLHR9LGwudmlzaXQ9ZnVuY3Rpb24odCl7dmFyIGUsbixhLGksbyxzLGw9W10sYz10aGlzLl9yb290O2ZvcihjJiZsLnB1c2gobmV3IHIoYyx0aGlzLl94MCx0aGlzLl95MCx0aGlzLl94MSx0aGlzLl95MSkpO2U9bC5wb3AoKTspaWYoIXQoYz1lLm5vZGUsYT1lLngwLGk9ZS55MCxvPWUueDEscz1lLnkxKSYmYy5sZW5ndGgpe3ZhciB1PShhK28pLzIsaD0oaStzKS8yOyhuPWNbM10pJiZsLnB1c2gobmV3IHIobix1LGgsbyxzKSksKG49Y1syXSkmJmwucHVzaChuZXcgcihuLGEsaCx1LHMpKSwobj1jWzFdKSYmbC5wdXNoKG5ldyByKG4sdSxpLG8saCkpLChuPWNbMF0pJiZsLnB1c2gobmV3IHIobixhLGksdSxoKSl9cmV0dXJuIHRoaXN9LGwudmlzaXRBZnRlcj1mdW5jdGlvbih0KXt2YXIgZSxuPVtdLGE9W107Zm9yKHRoaXMuX3Jvb3QmJm4ucHVzaChuZXcgcih0aGlzLl9yb290LHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7ZT1uLnBvcCgpOyl7dmFyIGk9ZS5ub2RlO2lmKGkubGVuZ3RoKXt2YXIgbyxzPWUueDAsbD1lLnkwLGM9ZS54MSx1PWUueTEsaD0ocytjKS8yLGY9KGwrdSkvMjsobz1pWzBdKSYmbi5wdXNoKG5ldyByKG8scyxsLGgsZikpLChvPWlbMV0pJiZuLnB1c2gobmV3IHIobyxoLGwsYyxmKSksKG89aVsyXSkmJm4ucHVzaChuZXcgcihvLHMsZixoLHUpKSwobz1pWzNdKSYmbi5wdXNoKG5ldyByKG8saCxmLGMsdSkpfWEucHVzaChlKX1mb3IoO2U9YS5wb3AoKTspdChlLm5vZGUsZS54MCxlLnkwLGUueDEsZS55MSk7cmV0dXJuIHRoaXN9LGwueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5feD10LHRoaXMpOnRoaXMuX3h9LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5feT10LHRoaXMpOnRoaXMuX3l9LHQucXVhZHRyZWU9aSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP3I6bi5kMz1uLmQzfHx7fSl9LHt9XSwxNjM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbixhO249dGhpcyxhPWZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fXZhciBuPU1hdGguYWJzLGE9TWF0aC5hdGFuMixpPU1hdGguY29zLG89TWF0aC5tYXgscz1NYXRoLm1pbixsPU1hdGguc2luLGM9TWF0aC5zcXJ0LHU9MWUtMTIsaD1NYXRoLlBJLGY9aC8yLHA9MipoO2Z1bmN0aW9uIGQodCl7cmV0dXJuIHQ+PTE/Zjp0PD0tMT8tZjpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdC5pbm5lclJhZGl1c31mdW5jdGlvbiB2KHQpe3JldHVybiB0Lm91dGVyUmFkaXVzfWZ1bmN0aW9uIG0odCl7cmV0dXJuIHQuc3RhcnRBbmdsZX1mdW5jdGlvbiB5KHQpe3JldHVybiB0LmVuZEFuZ2xlfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHQmJnQucGFkQW5nbGV9ZnVuY3Rpb24gYih0LGUscixuLGEsaSxzKXt2YXIgbD10LXIsdT1lLW4saD0ocz9pOi1pKS9jKGwqbCt1KnUpLGY9aCp1LHA9LWgqbCxkPXQrZixnPWUrcCx2PXIrZixtPW4rcCx5PShkK3YpLzIseD0oZyttKS8yLGI9di1kLF89bS1nLHc9YipiK18qXyxrPWEtaSxUPWQqbS12KmcsTT0oXzwwPy0xOjEpKmMobygwLGsqayp3LVQqVCkpLEE9KFQqXy1iKk0pL3csUz0oLVQqYi1fKk0pL3csRT0oVCpfK2IqTSkvdyxMPSgtVCpiK18qTSkvdyxDPUEteSxQPVMteCxPPUUteSx6PUwteDtyZXR1cm4gQypDK1AqUD5PKk8reip6JiYoQT1FLFM9TCkse2N4OkEsY3k6Uyx4MDE6LWYseTAxOi1wLHgxMTpBKihhL2stMSkseTExOlMqKGEvay0xKX19ZnVuY3Rpb24gXyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbmV3IF8odCl9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBUKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIE0oKXt2YXIgdD1rLG49VCxhPXIoITApLGk9bnVsbCxvPXcscz1udWxsO2Z1bmN0aW9uIGwocil7dmFyIGwsYyx1LGg9ci5sZW5ndGgsZj0hMTtmb3IobnVsbD09aSYmKHM9byh1PWUucGF0aCgpKSksbD0wO2w8PWg7KytsKSEobDxoJiZhKGM9cltsXSxsLHIpKT09PWYmJigoZj0hZik/cy5saW5lU3RhcnQoKTpzLmxpbmVFbmQoKSksZiYmcy5wb2ludCgrdChjLGwsciksK24oYyxsLHIpKTtpZih1KXJldHVybiBzPW51bGwsdSsiInx8bnVsbH1yZXR1cm4gbC54PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6cigrZSksbCk6dH0sbC55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksbCk6bn0sbC5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cighIXQpLGwpOmF9LGwuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89dCxudWxsIT1pJiYocz1vKGkpKSxsKTpvfSxsLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/aT1zPW51bGw6cz1vKGk9dCksbCk6aX0sbH1mdW5jdGlvbiBBKCl7dmFyIHQ9ayxuPW51bGwsYT1yKDApLGk9VCxvPXIoITApLHM9bnVsbCxsPXcsYz1udWxsO2Z1bmN0aW9uIHUocil7dmFyIHUsaCxmLHAsZCxnPXIubGVuZ3RoLHY9ITEsbT1uZXcgQXJyYXkoZykseT1uZXcgQXJyYXkoZyk7Zm9yKG51bGw9PXMmJihjPWwoZD1lLnBhdGgoKSkpLHU9MDt1PD1nOysrdSl7aWYoISh1PGcmJm8ocD1yW3VdLHUscikpPT09dilpZih2PSF2KWg9dSxjLmFyZWFTdGFydCgpLGMubGluZVN0YXJ0KCk7ZWxzZXtmb3IoYy5saW5lRW5kKCksYy5saW5lU3RhcnQoKSxmPXUtMTtmPj1oOy0tZiljLnBvaW50KG1bZl0seVtmXSk7Yy5saW5lRW5kKCksYy5hcmVhRW5kKCl9diYmKG1bdV09K3QocCx1LHIpLHlbdV09K2EocCx1LHIpLGMucG9pbnQobj8rbihwLHUscik6bVt1XSxpPytpKHAsdSxyKTp5W3VdKSl9aWYoZClyZXR1cm4gYz1udWxsLGQrIiJ8fG51bGx9ZnVuY3Rpb24gaCgpe3JldHVybiBNKCkuZGVmaW5lZChvKS5jdXJ2ZShsKS5jb250ZXh0KHMpfXJldHVybiB1Lng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpyKCtlKSxuPW51bGwsdSk6dH0sdS54MD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnIoK2UpLHUpOnR9LHUueDE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksdSk6bn0sdS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksaT1udWxsLHUpOmF9LHUueTA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSx1KTphfSx1LnkxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLHUpOml9LHUubGluZVgwPXUubGluZVkwPWZ1bmN0aW9uKCl7cmV0dXJuIGgoKS54KHQpLnkoYSl9LHUubGluZVkxPWZ1bmN0aW9uKCl7cmV0dXJuIGgoKS54KHQpLnkoaSl9LHUubGluZVgxPWZ1bmN0aW9uKCl7cmV0dXJuIGgoKS54KG4pLnkoYSl9LHUuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoISF0KSx1KTpvfSx1LmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPXQsbnVsbCE9cyYmKGM9bChzKSksdSk6bH0sdS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P3M9Yz1udWxsOmM9bChzPXQpLHUpOnN9LHV9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn1mdW5jdGlvbiBFKHQpe3JldHVybiB0fV8ucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsZSl9fX07dmFyIEw9UCh3KTtmdW5jdGlvbiBDKHQpe3RoaXMuX2N1cnZlPXR9ZnVuY3Rpb24gUCh0KXtmdW5jdGlvbiBlKGUpe3JldHVybiBuZXcgQyh0KGUpKX1yZXR1cm4gZS5fY3VydmU9dCxlfWZ1bmN0aW9uIE8odCl7dmFyIGU9dC5jdXJ2ZTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2UoUCh0KSk6ZSgpLl9jdXJ2ZX0sdH1mdW5jdGlvbiB6KCl7cmV0dXJuIE8oTSgpLmN1cnZlKEwpKX1mdW5jdGlvbiBJKCl7dmFyIHQ9QSgpLmN1cnZlKEwpLGU9dC5jdXJ2ZSxyPXQubGluZVgwLG49dC5saW5lWDEsYT10LmxpbmVZMCxpPXQubGluZVkxO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQuc3RhcnRBbmdsZT10LngwLGRlbGV0ZSB0LngwLHQuZW5kQW5nbGU9dC54MSxkZWxldGUgdC54MSx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmlubmVyUmFkaXVzPXQueTAsZGVsZXRlIHQueTAsdC5vdXRlclJhZGl1cz10LnkxLGRlbGV0ZSB0LnkxLHQubGluZVN0YXJ0QW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gTyhyKCkpfSxkZWxldGUgdC5saW5lWDAsdC5saW5lRW5kQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gTyhuKCkpfSxkZWxldGUgdC5saW5lWDEsdC5saW5lSW5uZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gTyhhKCkpfSxkZWxldGUgdC5saW5lWTAsdC5saW5lT3V0ZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gTyhpKCkpfSxkZWxldGUgdC5saW5lWTEsdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKFAodCkpOmUoKS5fY3VydmV9LHR9ZnVuY3Rpb24gRCh0LGUpe3JldHVyblsoZT0rZSkqTWF0aC5jb3ModC09TWF0aC5QSS8yKSxlKk1hdGguc2luKHQpXX1DLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYVN0YXJ0KCl9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5hcmVhRW5kKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUubGluZUVuZCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX2N1cnZlLnBvaW50KGUqTWF0aC5zaW4odCksZSotTWF0aC5jb3ModCkpfX07dmFyIFI9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIEYodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIEIodCl7cmV0dXJuIHQudGFyZ2V0fWZ1bmN0aW9uIE4odCl7dmFyIG49RixhPUIsaT1rLG89VCxzPW51bGw7ZnVuY3Rpb24gbCgpe3ZhciByLGw9Ui5jYWxsKGFyZ3VtZW50cyksYz1uLmFwcGx5KHRoaXMsbCksdT1hLmFwcGx5KHRoaXMsbCk7aWYoc3x8KHM9cj1lLnBhdGgoKSksdChzLCtpLmFwcGx5KHRoaXMsKGxbMF09YyxsKSksK28uYXBwbHkodGhpcyxsKSwraS5hcHBseSh0aGlzLChsWzBdPXUsbCkpLCtvLmFwcGx5KHRoaXMsbCkpLHIpcmV0dXJuIHM9bnVsbCxyKyIifHxudWxsfXJldHVybiBsLnNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGwpOm59LGwudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsbCk6YX0sbC54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksbCk6aX0sbC55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksbCk6b30sbC5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPW51bGw9PXQ/bnVsbDp0LGwpOnN9LGx9ZnVuY3Rpb24gaih0LGUscixuLGEpe3QubW92ZVRvKGUsciksdC5iZXppZXJDdXJ2ZVRvKGU9KGUrbikvMixyLGUsYSxuLGEpfWZ1bmN0aW9uIFYodCxlLHIsbixhKXt0Lm1vdmVUbyhlLHIpLHQuYmV6aWVyQ3VydmVUbyhlLHI9KHIrYSkvMixuLHIsbixhKX1mdW5jdGlvbiBVKHQsZSxyLG4sYSl7dmFyIGk9RChlLHIpLG89RChlLHI9KHIrYSkvMikscz1EKG4sciksbD1EKG4sYSk7dC5tb3ZlVG8oaVswXSxpWzFdKSx0LmJlemllckN1cnZlVG8ob1swXSxvWzFdLHNbMF0sc1sxXSxsWzBdLGxbMV0pfXZhciBxPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KGUvaCk7dC5tb3ZlVG8ociwwKSx0LmFyYygwLDAsciwwLHApfX0sSD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciByPU1hdGguc3FydChlLzUpLzI7dC5tb3ZlVG8oLTMqciwtciksdC5saW5lVG8oLXIsLXIpLHQubGluZVRvKC1yLC0zKnIpLHQubGluZVRvKHIsLTMqciksdC5saW5lVG8ociwtciksdC5saW5lVG8oMypyLC1yKSx0LmxpbmVUbygzKnIsciksdC5saW5lVG8ocixyKSx0LmxpbmVUbyhyLDMqciksdC5saW5lVG8oLXIsMypyKSx0LmxpbmVUbygtcixyKSx0LmxpbmVUbygtMypyLHIpLHQuY2xvc2VQYXRoKCl9fSxHPU1hdGguc3FydCgxLzMpLFk9MipHLFc9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgcj1NYXRoLnNxcnQoZS9ZKSxuPXIqRzt0Lm1vdmVUbygwLC1yKSx0LmxpbmVUbyhuLDApLHQubGluZVRvKDAsciksdC5saW5lVG8oLW4sMCksdC5jbG9zZVBhdGgoKX19LFg9TWF0aC5zaW4oaC8xMCkvTWF0aC5zaW4oNypoLzEwKSxaPU1hdGguc2luKHAvMTApKlgsSj0tTWF0aC5jb3MocC8xMCkqWCxLPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KC44OTA4MTMwOTE1MjkyODUyKmUpLG49WipyLGE9SipyO3QubW92ZVRvKDAsLXIpLHQubGluZVRvKG4sYSk7Zm9yKHZhciBpPTE7aTw1OysraSl7dmFyIG89cCppLzUscz1NYXRoLmNvcyhvKSxsPU1hdGguc2luKG8pO3QubGluZVRvKGwqciwtcypyKSx0LmxpbmVUbyhzKm4tbCphLGwqbitzKmEpfXQuY2xvc2VQYXRoKCl9fSxRPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KGUpLG49LXIvMjt0LnJlY3QobixuLHIscil9fSwkPU1hdGguc3FydCgzKSx0dD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciByPS1NYXRoLnNxcnQoZS8oMyokKSk7dC5tb3ZlVG8oMCwyKnIpLHQubGluZVRvKC0kKnIsLXIpLHQubGluZVRvKCQqciwtciksdC5jbG9zZVBhdGgoKX19LGV0PS0uNSxydD1NYXRoLnNxcnQoMykvMixudD0xL01hdGguc3FydCgxMiksYXQ9MyoobnQvMisxKSxpdD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciByPU1hdGguc3FydChlL2F0KSxuPXIvMixhPXIqbnQsaT1uLG89cipudCtyLHM9LWksbD1vO3QubW92ZVRvKG4sYSksdC5saW5lVG8oaSxvKSx0LmxpbmVUbyhzLGwpLHQubGluZVRvKGV0Km4tcnQqYSxydCpuK2V0KmEpLHQubGluZVRvKGV0KmktcnQqbyxydCppK2V0Km8pLHQubGluZVRvKGV0KnMtcnQqbCxydCpzK2V0KmwpLHQubGluZVRvKGV0Km4rcnQqYSxldCphLXJ0Km4pLHQubGluZVRvKGV0KmkrcnQqbyxldCpvLXJ0KmkpLHQubGluZVRvKGV0KnMrcnQqbCxldCpsLXJ0KnMpLHQuY2xvc2VQYXRoKCl9fSxvdD1bcSxILFcsUSxLLHR0LGl0XTtmdW5jdGlvbiBzdCgpe31mdW5jdGlvbiBsdCh0LGUscil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKCgyKnQuX3gwK3QuX3gxKS8zLCgyKnQuX3kwK3QuX3kxKS8zLCh0Ll94MCsyKnQuX3gxKS8zLCh0Ll95MCsyKnQuX3kxKS8zLCh0Ll94MCs0KnQuX3gxK2UpLzYsKHQuX3kwKzQqdC5feTErcikvNil9ZnVuY3Rpb24gY3QodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHV0KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBodCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gZnQodCxlKXt0aGlzLl9iYXNpcz1uZXcgY3QodCksdGhpcy5fYmV0YT1lfWN0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDM6bHQodGhpcyx0aGlzLl94MSx0aGlzLl95MSk7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gxLHRoaXMuX3kxKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fY29udGV4dC5saW5lVG8oKDUqdGhpcy5feDArdGhpcy5feDEpLzYsKDUqdGhpcy5feTArdGhpcy5feTEpLzYpO2RlZmF1bHQ6bHQodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LHV0LnByb3RvdHlwZT17YXJlYVN0YXJ0OnN0LGFyZWFFbmQ6c3QsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feDM9dGhpcy5feDQ9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9dGhpcy5feTM9dGhpcy5feTQ9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Mix0aGlzLl95MiksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDI6dGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gyKzIqdGhpcy5feDMpLzMsKHRoaXMuX3kyKzIqdGhpcy5feTMpLzMpLHRoaXMuX2NvbnRleHQubGluZVRvKCh0aGlzLl94MysyKnRoaXMuX3gyKS8zLCh0aGlzLl95MysyKnRoaXMuX3kyKS8zKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KX19LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDI9dCx0aGlzLl95Mj1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gzPXQsdGhpcy5feTM9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl94ND10LHRoaXMuX3k0PWUsdGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gwKzQqdGhpcy5feDErdCkvNiwodGhpcy5feTArNCp0aGlzLl95MStlKS82KTticmVhaztkZWZhdWx0Omx0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPWV9fSxodC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl95MD10aGlzLl95MT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMz09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Mzt2YXIgcj0odGhpcy5feDArNCp0aGlzLl94MSt0KS82LG49KHRoaXMuX3kwKzQqdGhpcy5feTErZSkvNjt0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHIsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8ocixuKTticmVhaztjYXNlIDM6dGhpcy5fcG9pbnQ9NDtkZWZhdWx0Omx0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPWV9fSxmdC5wcm90b3R5cGU9e2xpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9W10sdGhpcy5feT1bXSx0aGlzLl9iYXNpcy5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3gsZT10aGlzLl95LHI9dC5sZW5ndGgtMTtpZihyPjApZm9yKHZhciBuLGE9dFswXSxpPWVbMF0sbz10W3JdLWEscz1lW3JdLWksbD0tMTsrK2w8PXI7KW49bC9yLHRoaXMuX2Jhc2lzLnBvaW50KHRoaXMuX2JldGEqdFtsXSsoMS10aGlzLl9iZXRhKSooYStuKm8pLHRoaXMuX2JldGEqZVtsXSsoMS10aGlzLl9iZXRhKSooaStuKnMpKTt0aGlzLl94PXRoaXMuX3k9bnVsbCx0aGlzLl9iYXNpcy5saW5lRW5kKCl9LHBvaW50OmZ1bmN0aW9uKHQsZSl7dGhpcy5feC5wdXNoKCt0KSx0aGlzLl95LnB1c2goK2UpfX07dmFyIHB0PWZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gMT09PWU/bmV3IGN0KHQpOm5ldyBmdCh0LGUpfXJldHVybiByLmJldGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxyfSguODUpO2Z1bmN0aW9uIGR0KHQsZSxyKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8odC5feDErdC5fayoodC5feDItdC5feDApLHQuX3kxK3QuX2sqKHQuX3kyLXQuX3kwKSx0Ll94Mit0Ll9rKih0Ll94MS1lKSx0Ll95Mit0Ll9rKih0Ll95MS1yKSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gZ3QodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5faz0oMS1lKS82fWd0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzpkdCh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDE9dCx0aGlzLl95MT1lO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO2RlZmF1bHQ6ZHQodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciB2dD1mdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIG5ldyBndCh0LGUpfXJldHVybiByLnRlbnNpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxyfSgwKTtmdW5jdGlvbiBtdCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLWUpLzZ9bXQucHJvdG90eXBlPXthcmVhU3RhcnQ6c3QsYXJlYUVuZDpzdCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl94NT10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND10aGlzLl95NT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5wb2ludCh0aGlzLl94NCx0aGlzLl95NCksdGhpcy5wb2ludCh0aGlzLl94NSx0aGlzLl95NSl9fSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX3gzPXQsdGhpcy5feTM9ZTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94ND10LHRoaXMuX3k0PWUpO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g1PXQsdGhpcy5feTU9ZTticmVhaztkZWZhdWx0OmR0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgeXQ9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQpe3JldHVybiBuZXcgbXQodCxlKX1yZXR1cm4gci50ZW5zaW9uPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0scn0oMCk7ZnVuY3Rpb24geHQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5faz0oMS1lKS82fXh0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5fcG9pbnQ9NDtkZWZhdWx0OmR0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgYnQ9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQpe3JldHVybiBuZXcgeHQodCxlKX1yZXR1cm4gci50ZW5zaW9uPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0scn0oMCk7ZnVuY3Rpb24gX3QodCxlLHIpe3ZhciBuPXQuX3gxLGE9dC5feTEsaT10Ll94MixvPXQuX3kyO2lmKHQuX2wwMV9hPnUpe3ZhciBzPTIqdC5fbDAxXzJhKzMqdC5fbDAxX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGw9Myp0Ll9sMDFfYSoodC5fbDAxX2ErdC5fbDEyX2EpO249KG4qcy10Ll94MCp0Ll9sMTJfMmErdC5feDIqdC5fbDAxXzJhKS9sLGE9KGEqcy10Ll95MCp0Ll9sMTJfMmErdC5feTIqdC5fbDAxXzJhKS9sfWlmKHQuX2wyM19hPnUpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGg9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO2k9KGkqYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL2gsbz0obypjK3QuX3kxKnQuX2wyM18yYS1yKnQuX2wxMl8yYSkvaH10Ll9jb250ZXh0LmJlemllckN1cnZlVG8obixhLGksbyx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gd3QodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9ZX13dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Mix0aGlzLl95Mil9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIHI9dGhpcy5feDItdCxuPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhyKnIrbipuLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0Ol90KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIGt0PWZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZT9uZXcgd3QodCxlKTpuZXcgZ3QodCwwKX1yZXR1cm4gci5hbHBoYT1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LHJ9KC41KTtmdW5jdGlvbiBUdCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1lfVR0LnByb3RvdHlwZT17YXJlYVN0YXJ0OnN0LGFyZWFFbmQ6c3QsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feDM9dGhpcy5feDQ9dGhpcy5feDU9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9dGhpcy5feTM9dGhpcy5feTQ9dGhpcy5feTU9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpLHRoaXMucG9pbnQodGhpcy5feDUsdGhpcy5feTUpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtpZih0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe3ZhciByPXRoaXMuX3gyLXQsbj10aGlzLl95Mi1lO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3cocipyK24qbix0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1lO2JyZWFrO2RlZmF1bHQ6X3QodGhpcyx0LGUpfXRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hLHRoaXMuX2wxMl9hPXRoaXMuX2wyM19hLHRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmEsdGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYSx0aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgTXQ9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQpe3JldHVybiBlP25ldyBUdCh0LGUpOm5ldyBtdCh0LDApfXJldHVybiByLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0scn0oLjUpO2Z1bmN0aW9uIEF0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9QXQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7aWYodD0rdCxlPStlLHRoaXMuX3BvaW50KXt2YXIgcj10aGlzLl94Mi10LG49dGhpcy5feTItZTt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KHIqcituKm4sdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5fcG9pbnQ9NDtkZWZhdWx0Ol90KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIFN0PWZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZT9uZXcgQXQodCxlKTpuZXcgeHQodCwwKX1yZXR1cm4gci5hbHBoYT1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LHJ9KC41KTtmdW5jdGlvbiBFdCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gTHQodCl7cmV0dXJuIHQ8MD8tMToxfWZ1bmN0aW9uIEN0KHQsZSxyKXt2YXIgbj10Ll94MS10Ll94MCxhPWUtdC5feDEsaT0odC5feTEtdC5feTApLyhufHxhPDAmJi0wKSxvPShyLXQuX3kxKS8oYXx8bjwwJiYtMCkscz0oaSphK28qbikvKG4rYSk7cmV0dXJuKEx0KGkpK0x0KG8pKSpNYXRoLm1pbihNYXRoLmFicyhpKSxNYXRoLmFicyhvKSwuNSpNYXRoLmFicyhzKSl8fDB9ZnVuY3Rpb24gUHQodCxlKXt2YXIgcj10Ll94MS10Ll94MDtyZXR1cm4gcj8oMyoodC5feTEtdC5feTApL3ItZSkvMjplfWZ1bmN0aW9uIE90KHQsZSxyKXt2YXIgbj10Ll94MCxhPXQuX3kwLGk9dC5feDEsbz10Ll95MSxzPShpLW4pLzM7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKG4rcyxhK3MqZSxpLXMsby1zKnIsaSxvKX1mdW5jdGlvbiB6dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gSXQodCl7dGhpcy5fY29udGV4dD1uZXcgRHQodCl9ZnVuY3Rpb24gRHQodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIFJ0KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBGdCh0KXt2YXIgZSxyLG49dC5sZW5ndGgtMSxhPW5ldyBBcnJheShuKSxpPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKTtmb3IoYVswXT0wLGlbMF09MixvWzBdPXRbMF0rMip0WzFdLGU9MTtlPG4tMTsrK2UpYVtlXT0xLGlbZV09NCxvW2VdPTQqdFtlXSsyKnRbZSsxXTtmb3IoYVtuLTFdPTIsaVtuLTFdPTcsb1tuLTFdPTgqdFtuLTFdK3Rbbl0sZT0xO2U8bjsrK2Upcj1hW2VdL2lbZS0xXSxpW2VdLT1yLG9bZV0tPXIqb1tlLTFdO2ZvcihhW24tMV09b1tuLTFdL2lbbi0xXSxlPW4tMjtlPj0wOy0tZSlhW2VdPShvW2VdLWFbZSsxXSkvaVtlXTtmb3IoaVtuLTFdPSh0W25dK2Fbbi0xXSkvMixlPTA7ZTxuLTE7KytlKWlbZV09Mip0W2UrMV0tYVtlKzFdO3JldHVyblthLGldfWZ1bmN0aW9uIEJ0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX3Q9ZX1mdW5jdGlvbiBOdCh0LGUpe2lmKChhPXQubGVuZ3RoKT4xKWZvcih2YXIgcixuLGEsaT0xLG89dFtlWzBdXSxzPW8ubGVuZ3RoO2k8YTsrK2kpZm9yKG49byxvPXRbZVtpXV0scj0wO3I8czsrK3Ipb1tyXVsxXSs9b1tyXVswXT1pc05hTihuW3JdWzFdKT9uW3JdWzBdOm5bcl1bMV19ZnVuY3Rpb24ganQodCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5KGUpOy0tZT49MDspcltlXT1lO3JldHVybiByfWZ1bmN0aW9uIFZ0KHQsZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gVXQodCl7dmFyIGU9dC5tYXAocXQpO3JldHVybiBqdCh0KS5zb3J0KGZ1bmN0aW9uKHQscil7cmV0dXJuIGVbdF0tZVtyXX0pfWZ1bmN0aW9uIHF0KHQpe2Zvcih2YXIgZSxyPS0xLG49MCxhPXQubGVuZ3RoLGk9LTEvMDsrK3I8YTspKGU9K3Rbcl1bMV0pPmkmJihpPWUsbj1yKTtyZXR1cm4gbn1mdW5jdGlvbiBIdCh0KXt2YXIgZT10Lm1hcChHdCk7cmV0dXJuIGp0KHQpLnNvcnQoZnVuY3Rpb24odCxyKXtyZXR1cm4gZVt0XS1lW3JdfSl9ZnVuY3Rpb24gR3QodCl7Zm9yKHZhciBlLHI9MCxuPS0xLGE9dC5sZW5ndGg7KytuPGE7KShlPSt0W25dWzFdKSYmKHIrPWUpO3JldHVybiByfUV0LnByb3RvdHlwZT17YXJlYVN0YXJ0OnN0LGFyZWFFbmQ6c3QsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3Q9K3QsZT0rZSx0aGlzLl9wb2ludD90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOih0aGlzLl9wb2ludD0xLHRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSkpfX0senQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5fdDA9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MSx0aGlzLl95MSk7YnJlYWs7Y2FzZSAzOk90KHRoaXMsdGhpcy5fdDAsUHQodGhpcyx0aGlzLl90MCkpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgcj1OYU47aWYoZT0rZSwodD0rdCkhPT10aGlzLl94MXx8ZSE9PXRoaXMuX3kxKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLE90KHRoaXMsUHQodGhpcyxyPUN0KHRoaXMsdCxlKSkscik7YnJlYWs7ZGVmYXVsdDpPdCh0aGlzLHRoaXMuX3QwLHI9Q3QodGhpcyx0LGUpKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPWUsdGhpcy5fdDA9cn19fSwoSXQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoenQucHJvdG90eXBlKSkucG9pbnQ9ZnVuY3Rpb24odCxlKXt6dC5wcm90b3R5cGUucG9pbnQuY2FsbCh0aGlzLGUsdCl9LER0LnByb3RvdHlwZT17bW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5tb3ZlVG8oZSx0KX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0sbGluZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5saW5lVG8oZSx0KX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKGUsdCxuLHIsaSxhKX19LFJ0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9W10sdGhpcy5feT1bXX0sbGluZUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3gsZT10aGlzLl95LHI9dC5sZW5ndGg7aWYocilpZih0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRbMF0sZVswXSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odFswXSxlWzBdKSwyPT09cil0aGlzLl9jb250ZXh0LmxpbmVUbyh0WzFdLGVbMV0pO2Vsc2UgZm9yKHZhciBuPUZ0KHQpLGE9RnQoZSksaT0wLG89MTtvPHI7KytpLCsrbyl0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oblswXVtpXSxhWzBdW2ldLG5bMV1baV0sYVsxXVtpXSx0W29dLGVbb10pOyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXIpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lLHRoaXMuX3g9dGhpcy5feT1udWxsfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX3gucHVzaCgrdCksdGhpcy5feS5wdXNoKCtlKX19LEJ0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9dGhpcy5feT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpezA8dGhpcy5fdCYmdGhpcy5fdDwxJiYyPT09dGhpcy5fcG9pbnQmJnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsdGhpcy5feSksKHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU+PTAmJih0aGlzLl90PTEtdGhpcy5fdCx0aGlzLl9saW5lPTEtdGhpcy5fbGluZSl9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7ZGVmYXVsdDppZih0aGlzLl90PD0wKXRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsZSksdGhpcy5fY29udGV4dC5saW5lVG8odCxlKTtlbHNle3ZhciByPXRoaXMuX3gqKDEtdGhpcy5fdCkrdCp0aGlzLl90O3RoaXMuX2NvbnRleHQubGluZVRvKHIsdGhpcy5feSksdGhpcy5fY29udGV4dC5saW5lVG8ocixlKX19dGhpcy5feD10LHRoaXMuX3k9ZX19LHQuYXJjPWZ1bmN0aW9uKCl7dmFyIHQ9ZyxvPXYsXz1yKDApLHc9bnVsbCxrPW0sVD15LE09eCxBPW51bGw7ZnVuY3Rpb24gUygpe3ZhciByLGcsdixtPSt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSx5PStvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx4PWsuYXBwbHkodGhpcyxhcmd1bWVudHMpLWYsUz1ULmFwcGx5KHRoaXMsYXJndW1lbnRzKS1mLEU9bihTLXgpLEw9Uz54O2lmKEF8fChBPXI9ZS5wYXRoKCkpLHk8bSYmKGc9eSx5PW0sbT1nKSx5PnUpaWYoRT5wLXUpQS5tb3ZlVG8oeSppKHgpLHkqbCh4KSksQS5hcmMoMCwwLHkseCxTLCFMKSxtPnUmJihBLm1vdmVUbyhtKmkoUyksbSpsKFMpKSxBLmFyYygwLDAsbSxTLHgsTCkpO2Vsc2V7dmFyIEMsUCxPPXgsej1TLEk9eCxEPVMsUj1FLEY9RSxCPU0uYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsTj1CPnUmJih3Pyt3LmFwcGx5KHRoaXMsYXJndW1lbnRzKTpjKG0qbSt5KnkpKSxqPXMobih5LW0pLzIsK18uYXBwbHkodGhpcyxhcmd1bWVudHMpKSxWPWosVT1qO2lmKE4+dSl7dmFyIHE9ZChOL20qbChCKSksSD1kKE4veSpsKEIpKTsoUi09MipxKT51PyhJKz1xKj1MPzE6LTEsRC09cSk6KFI9MCxJPUQ9KHgrUykvMiksKEYtPTIqSCk+dT8oTys9SCo9TD8xOi0xLHotPUgpOihGPTAsTz16PSh4K1MpLzIpfXZhciBHPXkqaShPKSxZPXkqbChPKSxXPW0qaShEKSxYPW0qbChEKTtpZihqPnUpe3ZhciBaLEo9eSppKHopLEs9eSpsKHopLFE9bSppKEkpLCQ9bSpsKEkpO2lmKEU8aCYmKFo9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXt2YXIgbD1yLXQsYz1uLWUsaD1vLWEsZj1zLWkscD1mKmwtaCpjO2lmKCEocCpwPHUpKXJldHVyblt0KyhwPShoKihlLWkpLWYqKHQtYSkpL3ApKmwsZStwKmNdfShHLFksUSwkLEosSyxXLFgpKSl7dmFyIHR0PUctWlswXSxldD1ZLVpbMV0scnQ9Si1aWzBdLG50PUstWlsxXSxhdD0xL2woKCh2PSh0dCpydCtldCpudCkvKGModHQqdHQrZXQqZXQpKmMocnQqcnQrbnQqbnQpKSk+MT8wOnY8LTE/aDpNYXRoLmFjb3ModikpLzIpLGl0PWMoWlswXSpaWzBdK1pbMV0qWlsxXSk7Vj1zKGosKG0taXQpLyhhdC0xKSksVT1zKGosKHktaXQpLyhhdCsxKSl9fUY+dT9VPnU/KEM9YihRLCQsRyxZLHksVSxMKSxQPWIoSixLLFcsWCx5LFUsTCksQS5tb3ZlVG8oQy5jeCtDLngwMSxDLmN5K0MueTAxKSxVPGo/QS5hcmMoQy5jeCxDLmN5LFUsYShDLnkwMSxDLngwMSksYShQLnkwMSxQLngwMSksIUwpOihBLmFyYyhDLmN4LEMuY3ksVSxhKEMueTAxLEMueDAxKSxhKEMueTExLEMueDExKSwhTCksQS5hcmMoMCwwLHksYShDLmN5K0MueTExLEMuY3grQy54MTEpLGEoUC5jeStQLnkxMSxQLmN4K1AueDExKSwhTCksQS5hcmMoUC5jeCxQLmN5LFUsYShQLnkxMSxQLngxMSksYShQLnkwMSxQLngwMSksIUwpKSk6KEEubW92ZVRvKEcsWSksQS5hcmMoMCwwLHksTyx6LCFMKSk6QS5tb3ZlVG8oRyxZKSxtPnUmJlI+dT9WPnU/KEM9YihXLFgsSixLLG0sLVYsTCksUD1iKEcsWSxRLCQsbSwtVixMKSxBLmxpbmVUbyhDLmN4K0MueDAxLEMuY3krQy55MDEpLFY8aj9BLmFyYyhDLmN4LEMuY3ksVixhKEMueTAxLEMueDAxKSxhKFAueTAxLFAueDAxKSwhTCk6KEEuYXJjKEMuY3gsQy5jeSxWLGEoQy55MDEsQy54MDEpLGEoQy55MTEsQy54MTEpLCFMKSxBLmFyYygwLDAsbSxhKEMuY3krQy55MTEsQy5jeCtDLngxMSksYShQLmN5K1AueTExLFAuY3grUC54MTEpLEwpLEEuYXJjKFAuY3gsUC5jeSxWLGEoUC55MTEsUC54MTEpLGEoUC55MDEsUC54MDEpLCFMKSkpOkEuYXJjKDAsMCxtLEQsSSxMKTpBLmxpbmVUbyhXLFgpfWVsc2UgQS5tb3ZlVG8oMCwwKTtpZihBLmNsb3NlUGF0aCgpLHIpcmV0dXJuIEE9bnVsbCxyKyIifHxudWxsfXJldHVybiBTLmNlbnRyb2lkPWZ1bmN0aW9uKCl7dmFyIGU9KCt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK28uYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLHI9KCtrLmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK1QuYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLWgvMjtyZXR1cm5baShyKSplLGwocikqZV19LFMuaW5uZXJSYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpyKCtlKSxTKTp0fSxTLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksUyk6b30sUy5jb3JuZXJSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KF89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxTKTpffSxTLnBhZFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odz1udWxsPT10P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxTKTp3fSxTLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGs9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxTKTprfSxTLmVuZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhUPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksUyk6VH0sUy5wYWRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oTT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLFMpOk19LFMuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oQT1udWxsPT10P251bGw6dCxTKTpBfSxTfSx0LmFyZWE9QSx0LmxpbmU9TSx0LnBpZT1mdW5jdGlvbigpe3ZhciB0PUUsZT1TLG49bnVsbCxhPXIoMCksaT1yKHApLG89cigwKTtmdW5jdGlvbiBzKHIpe3ZhciBzLGwsYyx1LGgsZj1yLmxlbmd0aCxkPTAsZz1uZXcgQXJyYXkoZiksdj1uZXcgQXJyYXkoZiksbT0rYS5hcHBseSh0aGlzLGFyZ3VtZW50cykseT1NYXRoLm1pbihwLE1hdGgubWF4KC1wLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpLW0pKSx4PU1hdGgubWluKE1hdGguYWJzKHkpL2Ysby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLGI9eCooeTwwPy0xOjEpO2ZvcihzPTA7czxmOysrcykoaD12W2dbc109c109K3QocltzXSxzLHIpKT4wJiYoZCs9aCk7Zm9yKG51bGwhPWU/Zy5zb3J0KGZ1bmN0aW9uKHQscil7cmV0dXJuIGUodlt0XSx2W3JdKX0pOm51bGwhPW4mJmcuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuKHJbdF0scltlXSl9KSxzPTAsYz1kPyh5LWYqYikvZDowO3M8ZjsrK3MsbT11KWw9Z1tzXSx1PW0rKChoPXZbbF0pPjA/aCpjOjApK2IsdltsXT17ZGF0YTpyW2xdLGluZGV4OnMsdmFsdWU6aCxzdGFydEFuZ2xlOm0sZW5kQW5nbGU6dSxwYWRBbmdsZTp4fTtyZXR1cm4gdn1yZXR1cm4gcy52YWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnIoK2UpLHMpOnR9LHMuc29ydFZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG49bnVsbCxzKTplfSxzLnNvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxlPW51bGwscyk6bn0scy5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCkscyk6YX0scy5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLHMpOml9LHMucGFkQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxzKTpvfSxzfSx0LmFyZWFSYWRpYWw9SSx0LnJhZGlhbEFyZWE9SSx0LmxpbmVSYWRpYWw9eix0LnJhZGlhbExpbmU9eix0LnBvaW50UmFkaWFsPUQsdC5saW5rSG9yaXpvbnRhbD1mdW5jdGlvbigpe3JldHVybiBOKGopfSx0LmxpbmtWZXJ0aWNhbD1mdW5jdGlvbigpe3JldHVybiBOKFYpfSx0LmxpbmtSYWRpYWw9ZnVuY3Rpb24oKXt2YXIgdD1OKFUpO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQucmFkaXVzPXQueSxkZWxldGUgdC55LHR9LHQuc3ltYm9sPWZ1bmN0aW9uKCl7dmFyIHQ9cihxKSxuPXIoNjQpLGE9bnVsbDtmdW5jdGlvbiBpKCl7dmFyIHI7aWYoYXx8KGE9cj1lLnBhdGgoKSksdC5hcHBseSh0aGlzLGFyZ3VtZW50cykuZHJhdyhhLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkscilyZXR1cm4gYT1udWxsLHIrIiJ8fG51bGx9cmV0dXJuIGkudHlwZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnIoZSksaSk6dH0saS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksaSk6bn0saS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPW51bGw9PXQ/bnVsbDp0LGkpOmF9LGl9LHQuc3ltYm9scz1vdCx0LnN5bWJvbENpcmNsZT1xLHQuc3ltYm9sQ3Jvc3M9SCx0LnN5bWJvbERpYW1vbmQ9Vyx0LnN5bWJvbFNxdWFyZT1RLHQuc3ltYm9sU3Rhcj1LLHQuc3ltYm9sVHJpYW5nbGU9dHQsdC5zeW1ib2xXeWU9aXQsdC5jdXJ2ZUJhc2lzQ2xvc2VkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdXQodCl9LHQuY3VydmVCYXNpc09wZW49ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBodCh0KX0sdC5jdXJ2ZUJhc2lzPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgY3QodCl9LHQuY3VydmVCdW5kbGU9cHQsdC5jdXJ2ZUNhcmRpbmFsQ2xvc2VkPXl0LHQuY3VydmVDYXJkaW5hbE9wZW49YnQsdC5jdXJ2ZUNhcmRpbmFsPXZ0LHQuY3VydmVDYXRtdWxsUm9tQ2xvc2VkPU10LHQuY3VydmVDYXRtdWxsUm9tT3Blbj1TdCx0LmN1cnZlQ2F0bXVsbFJvbT1rdCx0LmN1cnZlTGluZWFyQ2xvc2VkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRXQodCl9LHQuY3VydmVMaW5lYXI9dyx0LmN1cnZlTW9ub3RvbmVYPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgenQodCl9LHQuY3VydmVNb25vdG9uZVk9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBJdCh0KX0sdC5jdXJ2ZU5hdHVyYWw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBSdCh0KX0sdC5jdXJ2ZVN0ZXA9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBCdCh0LC41KX0sdC5jdXJ2ZVN0ZXBBZnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEJ0KHQsMSl9LHQuY3VydmVTdGVwQmVmb3JlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgQnQodCwwKX0sdC5zdGFjaz1mdW5jdGlvbigpe3ZhciB0PXIoW10pLGU9anQsbj1OdCxhPVZ0O2Z1bmN0aW9uIGkocil7dmFyIGksbyxzPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGw9ci5sZW5ndGgsYz1zLmxlbmd0aCx1PW5ldyBBcnJheShjKTtmb3IoaT0wO2k8YzsrK2kpe2Zvcih2YXIgaCxmPXNbaV0scD11W2ldPW5ldyBBcnJheShsKSxkPTA7ZDxsOysrZClwW2RdPWg9WzAsK2EocltkXSxmLGQscildLGguZGF0YT1yW2RdO3Aua2V5PWZ9Zm9yKGk9MCxvPWUodSk7aTxjOysraSl1W29baV1dLmluZGV4PWk7cmV0dXJuIG4odSxvKSx1fXJldHVybiBpLmtleXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpyKFIuY2FsbChlKSksaSk6dH0saS52YWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLGkpOmF9LGkub3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9qdDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoUi5jYWxsKHQpKSxpKTplfSxpLm9mZnNldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P050OnQsaSk6bn0saX0sdC5zdGFja09mZnNldEV4cGFuZD1mdW5jdGlvbih0LGUpe2lmKChuPXQubGVuZ3RoKT4wKXtmb3IodmFyIHIsbixhLGk9MCxvPXRbMF0ubGVuZ3RoO2k8bzsrK2kpe2ZvcihhPXI9MDtyPG47KytyKWErPXRbcl1baV1bMV18fDA7aWYoYSlmb3Iocj0wO3I8bjsrK3IpdFtyXVtpXVsxXS89YX1OdCh0LGUpfX0sdC5zdGFja09mZnNldERpdmVyZ2luZz1mdW5jdGlvbih0LGUpe2lmKChzPXQubGVuZ3RoKT4xKWZvcih2YXIgcixuLGEsaSxvLHMsbD0wLGM9dFtlWzBdXS5sZW5ndGg7bDxjOysrbClmb3IoaT1vPTAscj0wO3I8czsrK3IpKGE9KG49dFtlW3JdXVtsXSlbMV0tblswXSk+PTA/KG5bMF09aSxuWzFdPWkrPWEpOmE8MD8oblsxXT1vLG5bMF09bys9YSk6blswXT1pfSx0LnN0YWNrT2Zmc2V0Tm9uZT1OdCx0LnN0YWNrT2Zmc2V0U2lsaG91ZXR0ZT1mdW5jdGlvbih0LGUpe2lmKChyPXQubGVuZ3RoKT4wKXtmb3IodmFyIHIsbj0wLGE9dFtlWzBdXSxpPWEubGVuZ3RoO248aTsrK24pe2Zvcih2YXIgbz0wLHM9MDtvPHI7KytvKXMrPXRbb11bbl1bMV18fDA7YVtuXVsxXSs9YVtuXVswXT0tcy8yfU50KHQsZSl9fSx0LnN0YWNrT2Zmc2V0V2lnZ2xlPWZ1bmN0aW9uKHQsZSl7aWYoKGE9dC5sZW5ndGgpPjAmJihuPShyPXRbZVswXV0pLmxlbmd0aCk+MCl7Zm9yKHZhciByLG4sYSxpPTAsbz0xO288bjsrK28pe2Zvcih2YXIgcz0wLGw9MCxjPTA7czxhOysrcyl7Zm9yKHZhciB1PXRbZVtzXV0saD11W29dWzFdfHwwLGY9KGgtKHVbby0xXVsxXXx8MCkpLzIscD0wO3A8czsrK3Ape3ZhciBkPXRbZVtwXV07Zis9KGRbb11bMV18fDApLShkW28tMV1bMV18fDApfWwrPWgsYys9ZipofXJbby0xXVsxXSs9cltvLTFdWzBdPWksbCYmKGktPWMvbCl9cltvLTFdWzFdKz1yW28tMV1bMF09aSxOdCh0LGUpfX0sdC5zdGFja09yZGVyQXBwZWFyYW5jZT1VdCx0LnN0YWNrT3JkZXJBc2NlbmRpbmc9SHQsdC5zdGFja09yZGVyRGVzY2VuZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gSHQodCkucmV2ZXJzZSgpfSx0LnN0YWNrT3JkZXJJbnNpZGVPdXQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPXQubGVuZ3RoLGE9dC5tYXAoR3QpLGk9VXQodCksbz0wLHM9MCxsPVtdLGM9W107Zm9yKGU9MDtlPG47KytlKXI9aVtlXSxvPHM/KG8rPWFbcl0sbC5wdXNoKHIpKToocys9YVtyXSxjLnB1c2gocikpO3JldHVybiBjLnJldmVyc2UoKS5jb25jYXQobCl9LHQuc3RhY2tPcmRlck5vbmU9anQsdC5zdGFja09yZGVyUmV2ZXJzZT1mdW5jdGlvbih0KXtyZXR1cm4ganQodCkucmV2ZXJzZSgpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1wYXRoIikpOmEobi5kMz1uLmQzfHx7fSxuLmQzKX0seyJkMy1wYXRoIjoxNjF9XSwxNjQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtuPXRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlLHIsbj0wLGE9MCxpPTAsbz0xZTMscz0wLGw9MCxjPTAsdT0ib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2U6RGF0ZSxoPSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIGYoKXtyZXR1cm4gbHx8KGgocCksbD11Lm5vdygpK2MpfWZ1bmN0aW9uIHAoKXtsPTB9ZnVuY3Rpb24gZCgpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gZyh0LGUscil7dmFyIG49bmV3IGQ7cmV0dXJuIG4ucmVzdGFydCh0LGUsciksbn1mdW5jdGlvbiB2KCl7ZigpLCsrbjtmb3IodmFyIHQscj1lO3I7KSh0PWwtci5fdGltZSk+PTAmJnIuX2NhbGwuY2FsbChudWxsLHQpLHI9ci5fbmV4dDstLW59ZnVuY3Rpb24gbSgpe2w9KHM9dS5ub3coKSkrYyxuPWE9MDt0cnl7digpfWZpbmFsbHl7bj0wLGZ1bmN0aW9uKCl7dmFyIHQsbixhPWUsaT0xLzA7Zm9yKDthOylhLl9jYWxsPyhpPmEuX3RpbWUmJihpPWEuX3RpbWUpLHQ9YSxhPWEuX25leHQpOihuPWEuX25leHQsYS5fbmV4dD1udWxsLGE9dD90Ll9uZXh0PW46ZT1uKTtyPXQseChpKX0oKSxsPTB9fWZ1bmN0aW9uIHkoKXt2YXIgdD11Lm5vdygpLGU9dC1zO2U+byYmKGMtPWUscz10KX1mdW5jdGlvbiB4KHQpe258fChhJiYoYT1jbGVhclRpbWVvdXQoYSkpLHQtbD4yND8odDwxLzAmJihhPXNldFRpbWVvdXQobSx0LXUubm93KCktYykpLGkmJihpPWNsZWFySW50ZXJ2YWwoaSkpKTooaXx8KHM9dS5ub3coKSxpPXNldEludGVydmFsKHksbykpLG49MSxoKG0pKSl9ZC5wcm90b3R5cGU9Zy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmQscmVzdGFydDpmdW5jdGlvbih0LG4sYSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTthPShudWxsPT1hP2YoKTorYSkrKG51bGw9PW4/MDorbiksdGhpcy5fbmV4dHx8cj09PXRoaXN8fChyP3IuX25leHQ9dGhpczplPXRoaXMscj10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1hLHgoKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAseCgpKX19LHQubm93PWYsdC50aW1lcj1nLHQudGltZXJGbHVzaD12LHQudGltZW91dD1mdW5jdGlvbih0LGUscil7dmFyIG49bmV3IGQ7cmV0dXJuIGU9bnVsbD09ZT8wOitlLG4ucmVzdGFydChmdW5jdGlvbihyKXtuLnN0b3AoKSx0KHIrZSl9LGUsciksbn0sdC5pbnRlcnZhbD1mdW5jdGlvbih0LGUscil7dmFyIG49bmV3IGQsYT1lO3JldHVybiBudWxsPT1lPyhuLnJlc3RhcnQodCxlLHIpLG4pOihlPStlLHI9bnVsbD09cj9mKCk6K3Isbi5yZXN0YXJ0KGZ1bmN0aW9uIGkobyl7bys9YSxuLnJlc3RhcnQoaSxhKz1lLHIpLHQobyl9LGUsciksbil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLmQzPW4uZDN8fHt9KX0se31dLDE2NTpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbigpe3ZhciB0PXt2ZXJzaW9uOiIzLjUuMTcifSxyPVtdLnNsaWNlLG49ZnVuY3Rpb24odCl7cmV0dXJuIHIuY2FsbCh0KX0sYT10aGlzLmRvY3VtZW50O2Z1bmN0aW9uIGkodCl7cmV0dXJuIHQmJih0Lm93bmVyRG9jdW1lbnR8fHQuZG9jdW1lbnR8fHQpLmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBvKHQpe3JldHVybiB0JiYodC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHQuZG9jdW1lbnQmJnR8fHQuZGVmYXVsdFZpZXcpfWlmKGEpdHJ5e24oYS5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcylbMF0ubm9kZVR5cGV9Y2F0Y2godCl7bj1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgscj1uZXcgQXJyYXkoZSk7ZS0tOylyW2VdPXRbZV07cmV0dXJuIHJ9fWlmKERhdGUubm93fHwoRGF0ZS5ub3c9ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9KSxhKXRyeXthLmNyZWF0ZUVsZW1lbnQoIkRJViIpLnN0eWxlLnNldFByb3BlcnR5KCJvcGFjaXR5IiwwLCIiKX1jYXRjaCh0KXt2YXIgcz10aGlzLkVsZW1lbnQucHJvdG90eXBlLGw9cy5zZXRBdHRyaWJ1dGUsYz1zLnNldEF0dHJpYnV0ZU5TLHU9dGhpcy5DU1NTdHlsZURlY2xhcmF0aW9uLnByb3RvdHlwZSxoPXUuc2V0UHJvcGVydHk7cy5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXtsLmNhbGwodGhpcyx0LGUrIiIpfSxzLnNldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSxyKXtjLmNhbGwodGhpcyx0LGUscisiIil9LHUuc2V0UHJvcGVydHk9ZnVuY3Rpb24odCxlLHIpe2guY2FsbCh0aGlzLHQsZSsiIixyKX19ZnVuY3Rpb24gZih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBwKHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9ZnVuY3Rpb24gZCh0KXtyZXR1cm4haXNOYU4odCl9ZnVuY3Rpb24gZyh0KXtyZXR1cm57bGVmdDpmdW5jdGlvbihlLHIsbixhKXtmb3IoYXJndW1lbnRzLmxlbmd0aDwzJiYobj0wKSxhcmd1bWVudHMubGVuZ3RoPDQmJihhPWUubGVuZ3RoKTtuPGE7KXt2YXIgaT1uK2E+Pj4xO3QoZVtpXSxyKTwwP249aSsxOmE9aX1yZXR1cm4gbn0scmlnaHQ6ZnVuY3Rpb24oZSxyLG4sYSl7Zm9yKGFyZ3VtZW50cy5sZW5ndGg8MyYmKG49MCksYXJndW1lbnRzLmxlbmd0aDw0JiYoYT1lLmxlbmd0aCk7bjxhOyl7dmFyIGk9bithPj4+MTt0KGVbaV0scik+MD9hPWk6bj1pKzF9cmV0dXJuIG59fX10LmFzY2VuZGluZz1mLHQuZGVzY2VuZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn0sdC5taW49ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9LTEsaT10Lmxlbmd0aDtpZigxPT09YXJndW1lbnRzLmxlbmd0aCl7Zm9yKDsrK2E8aTspaWYobnVsbCE9KG49dFthXSkmJm4+PW4pe3I9bjticmVha31mb3IoOysrYTxpOyludWxsIT0obj10W2FdKSYmcj5uJiYocj1uKX1lbHNle2Zvcig7KythPGk7KWlmKG51bGwhPShuPWUuY2FsbCh0LHRbYV0sYSkpJiZuPj1uKXtyPW47YnJlYWt9Zm9yKDsrK2E8aTspbnVsbCE9KG49ZS5jYWxsKHQsdFthXSxhKSkmJnI+biYmKHI9bil9cmV0dXJuIHJ9LHQubWF4PWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPS0xLGk9dC5sZW5ndGg7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpe2Zvcig7KythPGk7KWlmKG51bGwhPShuPXRbYV0pJiZuPj1uKXtyPW47YnJlYWt9Zm9yKDsrK2E8aTspbnVsbCE9KG49dFthXSkmJm4+ciYmKHI9bil9ZWxzZXtmb3IoOysrYTxpOylpZihudWxsIT0obj1lLmNhbGwodCx0W2FdLGEpKSYmbj49bil7cj1uO2JyZWFrfWZvcig7KythPGk7KW51bGwhPShuPWUuY2FsbCh0LHRbYV0sYSkpJiZuPnImJihyPW4pfXJldHVybiByfSx0LmV4dGVudD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpPS0xLG89dC5sZW5ndGg7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpe2Zvcig7KytpPG87KWlmKG51bGwhPShuPXRbaV0pJiZuPj1uKXtyPWE9bjticmVha31mb3IoOysraTxvOyludWxsIT0obj10W2ldKSYmKHI+biYmKHI9biksYTxuJiYoYT1uKSl9ZWxzZXtmb3IoOysraTxvOylpZihudWxsIT0obj1lLmNhbGwodCx0W2ldLGkpKSYmbj49bil7cj1hPW47YnJlYWt9Zm9yKDsrK2k8bzspbnVsbCE9KG49ZS5jYWxsKHQsdFtpXSxpKSkmJihyPm4mJihyPW4pLGE8biYmKGE9bikpfXJldHVybltyLGFdfSx0LnN1bT1mdW5jdGlvbih0LGUpe3ZhciByLG49MCxhPXQubGVuZ3RoLGk9LTE7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKDsrK2k8YTspZChyPSt0W2ldKSYmKG4rPXIpO2Vsc2UgZm9yKDsrK2k8YTspZChyPStlLmNhbGwodCx0W2ldLGkpKSYmKG4rPXIpO3JldHVybiBufSx0Lm1lYW49ZnVuY3Rpb24odCxlKXt2YXIgcixuPTAsYT10Lmxlbmd0aCxpPS0xLG89YTtpZigxPT09YXJndW1lbnRzLmxlbmd0aClmb3IoOysraTxhOylkKHI9cCh0W2ldKSk/bis9cjotLW87ZWxzZSBmb3IoOysraTxhOylkKHI9cChlLmNhbGwodCx0W2ldLGkpKSk/bis9cjotLW87aWYobylyZXR1cm4gbi9vfSx0LnF1YW50aWxlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQubGVuZ3RoLTEpKmUrMSxuPU1hdGguZmxvb3IociksYT0rdFtuLTFdLGk9ci1uO3JldHVybiBpP2EraSoodFtuXS1hKTphfSx0Lm1lZGlhbj1mdW5jdGlvbihlLHIpe3ZhciBuLGE9W10saT1lLmxlbmd0aCxvPS0xO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKWZvcig7KytvPGk7KWQobj1wKGVbb10pKSYmYS5wdXNoKG4pO2Vsc2UgZm9yKDsrK288aTspZChuPXAoci5jYWxsKGUsZVtvXSxvKSkpJiZhLnB1c2gobik7aWYoYS5sZW5ndGgpcmV0dXJuIHQucXVhbnRpbGUoYS5zb3J0KGYpLC41KX0sdC52YXJpYW5jZT1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT10Lmxlbmd0aCxpPTAsbz0wLHM9LTEsbD0wO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKWZvcig7KytzPGE7KWQocj1wKHRbc10pKSYmKG8rPShuPXItaSkqKHItKGkrPW4vKytsKSkpO2Vsc2UgZm9yKDsrK3M8YTspZChyPXAoZS5jYWxsKHQsdFtzXSxzKSkpJiYobys9KG49ci1pKSooci0oaSs9bi8rK2wpKSk7aWYobD4xKXJldHVybiBvLyhsLTEpfSx0LmRldmlhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXQudmFyaWFuY2UuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBlP01hdGguc3FydChlKTplfTt2YXIgdj1nKGYpO2Z1bmN0aW9uIG0odCl7cmV0dXJuIHQubGVuZ3RofXQuYmlzZWN0TGVmdD12LmxlZnQsdC5iaXNlY3Q9dC5iaXNlY3RSaWdodD12LnJpZ2h0LHQuYmlzZWN0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGcoMT09PXQubGVuZ3RoP2Z1bmN0aW9uKGUscil7cmV0dXJuIGYodChlKSxyKX06dCl9LHQuc2h1ZmZsZT1mdW5jdGlvbih0LGUscil7KGk9YXJndW1lbnRzLmxlbmd0aCk8MyYmKHI9dC5sZW5ndGgsaTwyJiYoZT0wKSk7Zm9yKHZhciBuLGEsaT1yLWU7aTspYT1NYXRoLnJhbmRvbSgpKmktLXwwLG49dFtpK2VdLHRbaStlXT10W2ErZV0sdFthK2VdPW47cmV0dXJuIHR9LHQucGVybXV0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lLmxlbmd0aCxuPW5ldyBBcnJheShyKTtyLS07KW5bcl09dFtlW3JdXTtyZXR1cm4gbn0sdC5wYWlycz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXQubGVuZ3RoLTEsbj10WzBdLGE9bmV3IEFycmF5KHI8MD8wOnIpO2U8cjspYVtlXT1bbixuPXRbKytlXV07cmV0dXJuIGF9LHQudHJhbnNwb3NlPWZ1bmN0aW9uKGUpe2lmKCEoaT1lLmxlbmd0aCkpcmV0dXJuW107Zm9yKHZhciByPS0xLG49dC5taW4oZSxtKSxhPW5ldyBBcnJheShuKTsrK3I8bjspZm9yKHZhciBpLG89LTEscz1hW3JdPW5ldyBBcnJheShpKTsrK288aTspc1tvXT1lW29dW3JdO3JldHVybiBhfSx0LnppcD1mdW5jdGlvbigpe3JldHVybiB0LnRyYW5zcG9zZShhcmd1bWVudHMpfSx0LmtleXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHIpO3JldHVybiBlfSx0LnZhbHVlcz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2godFtyXSk7cmV0dXJuIGV9LHQuZW50cmllcz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2goe2tleTpyLHZhbHVlOnRbcl19KTtyZXR1cm4gZX0sdC5tZXJnZT1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGE9dC5sZW5ndGgsaT0tMSxvPTA7KytpPGE7KW8rPXRbaV0ubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShvKTstLWE+PTA7KWZvcihlPShuPXRbYV0pLmxlbmd0aDstLWU+PTA7KXJbLS1vXT1uW2VdO3JldHVybiByfTt2YXIgeT1NYXRoLmFicztmdW5jdGlvbiB4KHQsZSl7Zm9yKHZhciByIGluIGUpT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLHIse3ZhbHVlOmVbcl0sZW51bWVyYWJsZTohMX0pfWZ1bmN0aW9uIGIoKXt0aGlzLl89T2JqZWN0LmNyZWF0ZShudWxsKX10LnJhbmdlPWZ1bmN0aW9uKHQsZSxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDMmJihyPTEsYXJndW1lbnRzLmxlbmd0aDwyJiYoZT10LHQ9MCkpLChlLXQpL3I9PTEvMCl0aHJvdyBuZXcgRXJyb3IoImluZmluaXRlIHJhbmdlIik7dmFyIG4sYT1bXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPTE7Zm9yKDt0KmUlMTspZSo9MTA7cmV0dXJuIGV9KHkocikpLG89LTE7aWYodCo9aSxlKj1pLChyKj1pKTwwKWZvcig7KG49dCtyKisrbyk+ZTspYS5wdXNoKG4vaSk7ZWxzZSBmb3IoOyhuPXQrciorK28pPGU7KWEucHVzaChuL2kpO3JldHVybiBhfSx0Lm1hcD1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBiO2lmKHQgaW5zdGFuY2VvZiBiKXQuZm9yRWFjaChmdW5jdGlvbih0LGUpe3Iuc2V0KHQsZSl9KTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBuLGE9LTEsaT10Lmxlbmd0aDtpZigxPT09YXJndW1lbnRzLmxlbmd0aClmb3IoOysrYTxpOylyLnNldChhLHRbYV0pO2Vsc2UgZm9yKDsrK2E8aTspci5zZXQoZS5jYWxsKHQsbj10W2FdLGEpLG4pfWVsc2UgZm9yKHZhciBvIGluIHQpci5zZXQobyx0W29dKTtyZXR1cm4gcn07dmFyIF89Il9fcHJvdG9fXyIsdz0iXDAiO2Z1bmN0aW9uIGsodCl7cmV0dXJuKHQrPSIiKT09PV98fHRbMF09PT13P3crdDp0fWZ1bmN0aW9uIFQodCl7cmV0dXJuKHQrPSIiKVswXT09PXc/dC5zbGljZSgxKTp0fWZ1bmN0aW9uIE0odCl7cmV0dXJuIGsodClpbiB0aGlzLl99ZnVuY3Rpb24gQSh0KXtyZXR1cm4odD1rKHQpKWluIHRoaXMuXyYmZGVsZXRlIHRoaXMuX1t0XX1mdW5jdGlvbiBTKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMuXyl0LnB1c2goVChlKSk7cmV0dXJuIHR9ZnVuY3Rpb24gRSgpe3ZhciB0PTA7Zm9yKHZhciBlIGluIHRoaXMuXykrK3Q7cmV0dXJuIHR9ZnVuY3Rpb24gTCgpe2Zvcih2YXIgdCBpbiB0aGlzLl8pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gQygpe3RoaXMuXz1PYmplY3QuY3JlYXRlKG51bGwpfWZ1bmN0aW9uIFAodCl7cmV0dXJuIHR9ZnVuY3Rpb24gTyh0LGUscil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ci5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIG49PT1lP3Q6bn19ZnVuY3Rpb24geih0LGUpe2lmKGUgaW4gdClyZXR1cm4gZTtlPWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKTtmb3IodmFyIHI9MCxuPUkubGVuZ3RoO3I8bjsrK3Ipe3ZhciBhPUlbcl0rZTtpZihhIGluIHQpcmV0dXJuIGF9fXgoYix7aGFzOk0sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9bayh0KV19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9bayh0KV09ZX0scmVtb3ZlOkEsa2V5czpTLHZhbHVlczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzLl8pdC5wdXNoKHRoaXMuX1tlXSk7cmV0dXJuIHR9LGVudHJpZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcy5fKXQucHVzaCh7a2V5OlQoZSksdmFsdWU6dGhpcy5fW2VdfSk7cmV0dXJuIHR9LHNpemU6RSxlbXB0eTpMLGZvckVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuXyl0LmNhbGwodGhpcyxUKGUpLHRoaXMuX1tlXSl9fSksdC5uZXN0PWZ1bmN0aW9uKCl7dmFyIGUscixuPXt9LGE9W10saT1bXTtmdW5jdGlvbiBvKHQsaSxzKXtpZihzPj1hLmxlbmd0aClyZXR1cm4gcj9yLmNhbGwobixpKTplP2kuc29ydChlKTppO2Zvcih2YXIgbCxjLHUsaCxmPS0xLHA9aS5sZW5ndGgsZD1hW3MrK10sZz1uZXcgYjsrK2Y8cDspKGg9Zy5nZXQobD1kKGM9aVtmXSkpKT9oLnB1c2goYyk6Zy5zZXQobCxbY10pO3JldHVybiB0PyhjPXQoKSx1PWZ1bmN0aW9uKGUscil7Yy5zZXQoZSxvKHQscixzKSl9KTooYz17fSx1PWZ1bmN0aW9uKGUscil7Y1tlXT1vKHQscixzKX0pLGcuZm9yRWFjaCh1KSxjfXJldHVybiBuLm1hcD1mdW5jdGlvbih0LGUpe3JldHVybiBvKGUsdCwwKX0sbi5lbnRyaWVzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbiB0KGUscil7aWYocj49YS5sZW5ndGgpcmV0dXJuIGU7dmFyIG49W10sbz1pW3IrK107cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlLGEpe24ucHVzaCh7a2V5OmUsdmFsdWVzOnQoYSxyKX0pfSksbz9uLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gbyh0LmtleSxlLmtleSl9KTpufShvKHQubWFwLGUsMCksMCl9LG4ua2V5PWZ1bmN0aW9uKHQpe3JldHVybiBhLnB1c2godCksbn0sbi5zb3J0S2V5cz1mdW5jdGlvbih0KXtyZXR1cm4gaVthLmxlbmd0aC0xXT10LG59LG4uc29ydFZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gZT10LG59LG4ucm9sbHVwPWZ1bmN0aW9uKHQpe3JldHVybiByPXQsbn0sbn0sdC5zZXQ9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEM7aWYodClmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjsrK3IpZS5hZGQodFtyXSk7cmV0dXJuIGV9LHgoQyx7aGFzOk0sYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9bayh0Kz0iIildPSEwLHR9LHJlbW92ZTpBLHZhbHVlczpTLHNpemU6RSxlbXB0eTpMLGZvckVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuXyl0LmNhbGwodGhpcyxUKGUpKX19KSx0LmJlaGF2aW9yPXt9LHQucmViaW5kPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLG49MSxhPWFyZ3VtZW50cy5sZW5ndGg7KytuPGE7KXRbcj1hcmd1bWVudHNbbl1dPU8odCxlLGVbcl0pO3JldHVybiB0fTt2YXIgST1bIndlYmtpdCIsIm1zIiwibW96IiwiTW96IiwibyIsIk8iXTtmdW5jdGlvbiBEKCl7fWZ1bmN0aW9uIFIoKXt9ZnVuY3Rpb24gRih0KXt2YXIgZT1bXSxyPW5ldyBiO2Z1bmN0aW9uIG4oKXtmb3IodmFyIHIsbj1lLGE9LTEsaT1uLmxlbmd0aDsrK2E8aTspKHI9blthXS5vbikmJnIuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiB0fXJldHVybiBuLm9uPWZ1bmN0aW9uKG4sYSl7dmFyIGksbz1yLmdldChuKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP28mJm8ub246KG8mJihvLm9uPW51bGwsZT1lLnNsaWNlKDAsaT1lLmluZGV4T2YobykpLmNvbmNhdChlLnNsaWNlKGkrMSkpLHIucmVtb3ZlKG4pKSxhJiZlLnB1c2goci5zZXQobix7b246YX0pKSx0KX0sbn1mdW5jdGlvbiBCKCl7dC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpfWZ1bmN0aW9uIE4oKXtmb3IodmFyIGUscj10LmV2ZW50O2U9ci5zb3VyY2VFdmVudDspcj1lO3JldHVybiByfWZ1bmN0aW9uIGooZSl7Zm9yKHZhciByPW5ldyBSLG49MCxhPWFyZ3VtZW50cy5sZW5ndGg7KytuPGE7KXJbYXJndW1lbnRzW25dXT1GKHIpO3JldHVybiByLm9mPWZ1bmN0aW9uKG4sYSl7cmV0dXJuIGZ1bmN0aW9uKGkpe3RyeXt2YXIgbz1pLnNvdXJjZUV2ZW50PXQuZXZlbnQ7aS50YXJnZXQ9ZSx0LmV2ZW50PWkscltpLnR5cGVdLmFwcGx5KG4sYSl9ZmluYWxseXt0LmV2ZW50PW99fX0scn10LmRpc3BhdGNoPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBSLGU9LTEscj1hcmd1bWVudHMubGVuZ3RoOysrZTxyOyl0W2FyZ3VtZW50c1tlXV09Rih0KTtyZXR1cm4gdH0sUi5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXt2YXIgcj10LmluZGV4T2YoIi4iKSxuPSIiO2lmKHI+PTAmJihuPXQuc2xpY2UocisxKSx0PXQuc2xpY2UoMCxyKSksdClyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP3RoaXNbdF0ub24obik6dGhpc1t0XS5vbihuLGUpO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoKXtpZihudWxsPT1lKWZvcih0IGluIHRoaXMpdGhpcy5oYXNPd25Qcm9wZXJ0eSh0KSYmdGhpc1t0XS5vbihuLG51bGwpO3JldHVybiB0aGlzfX0sdC5ldmVudD1udWxsLHQucmVxdW90ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKFYsIlxcJCYiKX07dmFyIFY9L1tcXFxeXCRcKlwrXD9cfFxbXF1cKFwpXC5ce1x9XS9nLFU9e30uX19wcm90b19fP2Z1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX06ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSl0W3JdPWVbcl19O2Z1bmN0aW9uIHEodCl7cmV0dXJuIFUodCxXKSx0fXZhciBIPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUucXVlcnlTZWxlY3Rvcih0KX0sRz1mdW5jdGlvbih0LGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3JBbGwodCl9LFk9ZnVuY3Rpb24odCxlKXt2YXIgcj10Lm1hdGNoZXN8fHRbeih0LCJtYXRjaGVzU2VsZWN0b3IiKV07cmV0dXJuKFk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gci5jYWxsKHQsZSl9KSh0LGUpfTsiZnVuY3Rpb24iPT10eXBlb2YgU2l6emxlJiYoSD1mdW5jdGlvbih0LGUpe3JldHVybiBTaXp6bGUodCxlKVswXXx8bnVsbH0sRz1TaXp6bGUsWT1TaXp6bGUubWF0Y2hlc1NlbGVjdG9yKSx0LnNlbGVjdGlvbj1mdW5jdGlvbigpe3JldHVybiB0LnNlbGVjdChhLmRvY3VtZW50RWxlbWVudCl9O3ZhciBXPXQuc2VsZWN0aW9uLnByb3RvdHlwZT1bXTtmdW5jdGlvbiBYKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZnVuY3Rpb24oKXtyZXR1cm4gSCh0LHRoaXMpfX1mdW5jdGlvbiBaKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZnVuY3Rpb24oKXtyZXR1cm4gRyh0LHRoaXMpfX1XLnNlbGVjdD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPVtdO3Q9WCh0KTtmb3IodmFyIG89LTEscz10aGlzLmxlbmd0aDsrK288czspe2kucHVzaChlPVtdKSxlLnBhcmVudE5vZGU9KG49dGhpc1tvXSkucGFyZW50Tm9kZTtmb3IodmFyIGw9LTEsYz1uLmxlbmd0aDsrK2w8YzspKGE9bltsXSk/KGUucHVzaChyPXQuY2FsbChhLGEuX19kYXRhX18sbCxvKSksciYmIl9fZGF0YV9fImluIGEmJihyLl9fZGF0YV9fPWEuX19kYXRhX18pKTplLnB1c2gobnVsbCl9cmV0dXJuIHEoaSl9LFcuc2VsZWN0QWxsPWZ1bmN0aW9uKHQpe3ZhciBlLHIsYT1bXTt0PVoodCk7Zm9yKHZhciBpPS0xLG89dGhpcy5sZW5ndGg7KytpPG87KWZvcih2YXIgcz10aGlzW2ldLGw9LTEsYz1zLmxlbmd0aDsrK2w8YzspKHI9c1tsXSkmJihhLnB1c2goZT1uKHQuY2FsbChyLHIuX19kYXRhX18sbCxpKSkpLGUucGFyZW50Tm9kZT1yKTtyZXR1cm4gcShhKX07dmFyIEo9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLEs9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOkoseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBRKGUscil7cmV0dXJuIGU9dC5ucy5xdWFsaWZ5KGUpLG51bGw9PXI/ZS5sb2NhbD9mdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlMoZS5zcGFjZSxlLmxvY2FsKX06ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZShlKX06ImZ1bmN0aW9uIj09dHlwZW9mIHI/ZS5sb2NhbD9mdW5jdGlvbigpe3ZhciB0PXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PXQ/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhlLnNwYWNlLGUubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlMoZS5zcGFjZSxlLmxvY2FsLHQpfTpmdW5jdGlvbigpe3ZhciB0PXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PXQ/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoZSk6dGhpcy5zZXRBdHRyaWJ1dGUoZSx0KX06ZS5sb2NhbD9mdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlMoZS5zcGFjZSxlLmxvY2FsLHIpfTpmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKGUscil9fWZ1bmN0aW9uICQodCl7cmV0dXJuIHQudHJpbSgpLnJlcGxhY2UoL1xzKy9nLCIgIil9ZnVuY3Rpb24gdHQoZSl7cmV0dXJuIG5ldyBSZWdFeHAoIig/Ol58XFxzKykiK3QucmVxdW90ZShlKSsiKD86XFxzK3wkKSIsImciKX1mdW5jdGlvbiBldCh0KXtyZXR1cm4odCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pfWZ1bmN0aW9uIHJ0KHQsZSl7dmFyIHI9KHQ9ZXQodCkubWFwKG50KSkubGVuZ3RoO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKCl7Zm9yKHZhciBuPS0xLGE9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7KytuPHI7KXRbbl0odGhpcyxhKX06ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPHI7KXRbbl0odGhpcyxlKX19ZnVuY3Rpb24gbnQodCl7dmFyIGU9dHQodCk7cmV0dXJuIGZ1bmN0aW9uKHIsbil7aWYoYT1yLmNsYXNzTGlzdClyZXR1cm4gbj9hLmFkZCh0KTphLnJlbW92ZSh0KTt2YXIgYT1yLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiI7bj8oZS5sYXN0SW5kZXg9MCxlLnRlc3QoYSl8fHIuc2V0QXR0cmlidXRlKCJjbGFzcyIsJChhKyIgIit0KSkpOnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsJChhLnJlcGxhY2UoZSwiICIpKSl9fWZ1bmN0aW9uIGF0KHQsZSxyKXtyZXR1cm4gbnVsbD09ZT9mdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj90aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpOnRoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxuLHIpfTpmdW5jdGlvbigpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLHIpfX1mdW5jdGlvbiBpdCh0LGUpe3JldHVybiBudWxsPT1lP2Z1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKCl7dmFyIHI9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09cj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPXJ9OmZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBvdChlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lOihlPXQubnMucXVhbGlmeShlKSkubG9jYWw/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhlLnNwYWNlLGUubG9jYWwpfTpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3duZXJEb2N1bWVudCxyPXRoaXMubmFtZXNwYWNlVVJJO3JldHVybiByPT09SiYmdC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09Sj90LmNyZWF0ZUVsZW1lbnQoZSk6dC5jcmVhdGVFbGVtZW50TlMocixlKX19ZnVuY3Rpb24gc3QoKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX1mdW5jdGlvbiBsdCh0KXtyZXR1cm57X19kYXRhX186dH19ZnVuY3Rpb24gY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFkodGhpcyx0KX19ZnVuY3Rpb24gdXQodCxlKXtmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBhLGk9dFtyXSxvPTAscz1pLmxlbmd0aDtvPHM7bysrKShhPWlbb10pJiZlKGEsbyxyKTtyZXR1cm4gdH1mdW5jdGlvbiBodCh0KXtyZXR1cm4gVSh0LGZ0KSx0fXQubnM9e3ByZWZpeDpLLHF1YWxpZnk6ZnVuY3Rpb24odCl7dmFyIGU9dC5pbmRleE9mKCI6Iikscj10O3JldHVybiBlPj0wJiYieG1sbnMiIT09KHI9dC5zbGljZSgwLGUpKSYmKHQ9dC5zbGljZShlKzEpKSxLLmhhc093blByb3BlcnR5KHIpP3tzcGFjZTpLW3JdLGxvY2FsOnR9OnR9fSxXLmF0dHI9ZnVuY3Rpb24oZSxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIG49dGhpcy5ub2RlKCk7cmV0dXJuKGU9dC5ucy5xdWFsaWZ5KGUpKS5sb2NhbD9uLmdldEF0dHJpYnV0ZU5TKGUuc3BhY2UsZS5sb2NhbCk6bi5nZXRBdHRyaWJ1dGUoZSl9Zm9yKHIgaW4gZSl0aGlzLmVhY2goUShyLGVbcl0pKTtyZXR1cm4gdGhpc31yZXR1cm4gdGhpcy5lYWNoKFEoZSxyKSl9LFcuY2xhc3NlZD1mdW5jdGlvbih0LGUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgcj10aGlzLm5vZGUoKSxuPSh0PWV0KHQpKS5sZW5ndGgsYT0tMTtpZihlPXIuY2xhc3NMaXN0KXtmb3IoOysrYTxuOylpZighZS5jb250YWlucyh0W2FdKSlyZXR1cm4hMX1lbHNlIGZvcihlPXIuZ2V0QXR0cmlidXRlKCJjbGFzcyIpOysrYTxuOylpZighdHQodFthXSkudGVzdChlKSlyZXR1cm4hMTtyZXR1cm4hMH1mb3IoZSBpbiB0KXRoaXMuZWFjaChydChlLHRbZV0pKTtyZXR1cm4gdGhpc31yZXR1cm4gdGhpcy5lYWNoKHJ0KHQsZSkpfSxXLnN0eWxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoO2lmKG48Myl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXtmb3IociBpbiBuPDImJihlPSIiKSx0KXRoaXMuZWFjaChhdChyLHRbcl0sZSkpO3JldHVybiB0aGlzfWlmKG48Mil7dmFyIGE9dGhpcy5ub2RlKCk7cmV0dXJuIG8oYSkuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpLmdldFByb3BlcnR5VmFsdWUodCl9cj0iIn1yZXR1cm4gdGhpcy5lYWNoKGF0KHQsZSxyKSl9LFcucHJvcGVydHk9ZnVuY3Rpb24odCxlKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdGhpcy5ub2RlKClbdF07Zm9yKGUgaW4gdCl0aGlzLmVhY2goaXQoZSx0W2VdKSk7cmV0dXJuIHRoaXN9cmV0dXJuIHRoaXMuZWFjaChpdCh0LGUpKX0sVy50ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgiZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfTpudWxsPT10P2Z1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD0iIn06ZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9KTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0sVy5odG1sPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgiZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX06bnVsbD09dD9mdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPSIifTpmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9KTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LFcuYXBwZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0PW90KHQpLHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQodC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSl9LFcuaW5zZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9b3QodCksZT1YKGUpLHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pfSxXLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goc3QpfSxXLmRhdGE9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9LTEsaT10aGlzLmxlbmd0aDtpZighYXJndW1lbnRzLmxlbmd0aCl7Zm9yKHQ9bmV3IEFycmF5KGk9KHI9dGhpc1swXSkubGVuZ3RoKTsrK2E8aTspKG49clthXSkmJih0W2FdPW4uX19kYXRhX18pO3JldHVybiB0fWZ1bmN0aW9uIG8odCxyKXt2YXIgbixhLGksbz10Lmxlbmd0aCx1PXIubGVuZ3RoLGg9TWF0aC5taW4obyx1KSxmPW5ldyBBcnJheSh1KSxwPW5ldyBBcnJheSh1KSxkPW5ldyBBcnJheShvKTtpZihlKXt2YXIgZyx2PW5ldyBiLG09bmV3IEFycmF5KG8pO2ZvcihuPS0xOysrbjxvOykoYT10W25dKSYmKHYuaGFzKGc9ZS5jYWxsKGEsYS5fX2RhdGFfXyxuKSk/ZFtuXT1hOnYuc2V0KGcsYSksbVtuXT1nKTtmb3Iobj0tMTsrK248dTspKGE9di5nZXQoZz1lLmNhbGwocixpPXJbbl0sbikpKT8hMCE9PWEmJihmW25dPWEsYS5fX2RhdGFfXz1pKTpwW25dPWx0KGkpLHYuc2V0KGcsITApO2ZvcihuPS0xOysrbjxvOyluIGluIG0mJiEwIT09di5nZXQobVtuXSkmJihkW25dPXRbbl0pfWVsc2V7Zm9yKG49LTE7KytuPGg7KWE9dFtuXSxpPXJbbl0sYT8oYS5fX2RhdGFfXz1pLGZbbl09YSk6cFtuXT1sdChpKTtmb3IoO248dTsrK24pcFtuXT1sdChyW25dKTtmb3IoO248bzsrK24pZFtuXT10W25dfXAudXBkYXRlPWYscC5wYXJlbnROb2RlPWYucGFyZW50Tm9kZT1kLnBhcmVudE5vZGU9dC5wYXJlbnROb2RlLHMucHVzaChwKSxsLnB1c2goZiksYy5wdXNoKGQpfXZhciBzPWh0KFtdKSxsPXEoW10pLGM9cShbXSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpZm9yKDsrK2E8aTspbyhyPXRoaXNbYV0sdC5jYWxsKHIsci5wYXJlbnROb2RlLl9fZGF0YV9fLGEpKTtlbHNlIGZvcig7KythPGk7KW8ocj10aGlzW2FdLHQpO3JldHVybiBsLmVudGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LGwuZXhpdD1mdW5jdGlvbigpe3JldHVybiBjfSxsfSxXLmRhdHVtPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLnByb3BlcnR5KCJfX2RhdGFfXyIpfSxXLmZpbHRlcj1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYT1bXTsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9Y3QodCkpO2Zvcih2YXIgaT0wLG89dGhpcy5sZW5ndGg7aTxvO2krKyl7YS5wdXNoKGU9W10pLGUucGFyZW50Tm9kZT0ocj10aGlzW2ldKS5wYXJlbnROb2RlO2Zvcih2YXIgcz0wLGw9ci5sZW5ndGg7czxsO3MrKykobj1yW3NdKSYmdC5jYWxsKG4sbi5fX2RhdGFfXyxzLGkpJiZlLnB1c2gobil9cmV0dXJuIHEoYSl9LFcub3JkZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9LTEsZT10aGlzLmxlbmd0aDsrK3Q8ZTspZm9yKHZhciByLG49dGhpc1t0XSxhPW4ubGVuZ3RoLTEsaT1uW2FdOy0tYT49MDspKHI9blthXSkmJihpJiZpIT09ci5uZXh0U2libGluZyYmaS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGkpLGk9cik7cmV0dXJuIHRoaXN9LFcuc29ydD1mdW5jdGlvbih0KXt0PWZ1bmN0aW9uKHQpe2FyZ3VtZW50cy5sZW5ndGh8fCh0PWYpO3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiBlJiZyP3QoZS5fX2RhdGFfXyxyLl9fZGF0YV9fKTohZS0hcn19LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtmb3IodmFyIGU9LTEscj10aGlzLmxlbmd0aDsrK2U8cjspdGhpc1tlXS5zb3J0KHQpO3JldHVybiB0aGlzLm9yZGVyKCl9LFcuZWFjaD1mdW5jdGlvbih0KXtyZXR1cm4gdXQodGhpcyxmdW5jdGlvbihlLHIsbil7dC5jYWxsKGUsZS5fX2RhdGFfXyxyLG4pfSl9LFcuY2FsbD1mdW5jdGlvbih0KXt2YXIgZT1uKGFyZ3VtZW50cyk7cmV0dXJuIHQuYXBwbHkoZVswXT10aGlzLGUpLHRoaXN9LFcuZW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5ub2RlKCl9LFcubm9kZT1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9dGhpcy5sZW5ndGg7dDxlO3QrKylmb3IodmFyIHI9dGhpc1t0XSxuPTAsYT1yLmxlbmd0aDtuPGE7bisrKXt2YXIgaT1yW25dO2lmKGkpcmV0dXJuIGl9cmV0dXJuIG51bGx9LFcuc2l6ZT1mdW5jdGlvbigpe3ZhciB0PTA7cmV0dXJuIHV0KHRoaXMsZnVuY3Rpb24oKXsrK3R9KSx0fTt2YXIgZnQ9W107ZnVuY3Rpb24gcHQoZSxyLGEpe3ZhciBpPSJfX29uIitlLG89ZS5pbmRleE9mKCIuIikscz1ndDtvPjAmJihlPWUuc2xpY2UoMCxvKSk7dmFyIGw9ZHQuZ2V0KGUpO2Z1bmN0aW9uIGMoKXt2YXIgdD10aGlzW2ldO3QmJih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LHQuJCksZGVsZXRlIHRoaXNbaV0pfXJldHVybiBsJiYoZT1sLHM9dnQpLG8/cj9mdW5jdGlvbigpe3ZhciB0PXMocixuKGFyZ3VtZW50cykpO2MuY2FsbCh0aGlzKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZSx0aGlzW2ldPXQsdC4kPWEpLHQuXz1yfTpjOnI/RDpmdW5jdGlvbigpe3ZhciByLG49bmV3IFJlZ0V4cCgiXl9fb24oW14uXSspIit0LnJlcXVvdGUoZSkrIiQiKTtmb3IodmFyIGEgaW4gdGhpcylpZihyPWEubWF0Y2gobikpe3ZhciBpPXRoaXNbYV07dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHJbMV0saSxpLiQpLGRlbGV0ZSB0aGlzW2FdfX19dC5zZWxlY3Rpb24uZW50ZXI9aHQsdC5zZWxlY3Rpb24uZW50ZXIucHJvdG90eXBlPWZ0LGZ0LmFwcGVuZD1XLmFwcGVuZCxmdC5lbXB0eT1XLmVtcHR5LGZ0Lm5vZGU9Vy5ub2RlLGZ0LmNhbGw9Vy5jYWxsLGZ0LnNpemU9Vy5zaXplLGZ0LnNlbGVjdD1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGEsaSxvPVtdLHM9LTEsbD10aGlzLmxlbmd0aDsrK3M8bDspe249KGE9dGhpc1tzXSkudXBkYXRlLG8ucHVzaChlPVtdKSxlLnBhcmVudE5vZGU9YS5wYXJlbnROb2RlO2Zvcih2YXIgYz0tMSx1PWEubGVuZ3RoOysrYzx1OykoaT1hW2NdKT8oZS5wdXNoKG5bY109cj10LmNhbGwoYS5wYXJlbnROb2RlLGkuX19kYXRhX18sYyxzKSksci5fX2RhdGFfXz1pLl9fZGF0YV9fKTplLnB1c2gobnVsbCl9cmV0dXJuIHEobyl9LGZ0Lmluc2VydD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyJiYocj10aGlzLGU9ZnVuY3Rpb24odCxlLGkpe3ZhciBvLHM9cltpXS51cGRhdGUsbD1zLmxlbmd0aDtmb3IoaSE9YSYmKGE9aSxuPTApLGU+PW4mJihuPWUrMSk7IShvPXNbbl0pJiYrK248bDspO3JldHVybiBvfSksVy5pbnNlcnQuY2FsbCh0aGlzLHQsZSl9LHQuc2VsZWN0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oZT1bSCh0LGEpXSkucGFyZW50Tm9kZT1hLmRvY3VtZW50RWxlbWVudDooZT1bdF0pLnBhcmVudE5vZGU9aSh0KSxxKFtlXSl9LHQuc2VsZWN0QWxsPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oZT1uKEcodCxhKSkpLnBhcmVudE5vZGU9YS5kb2N1bWVudEVsZW1lbnQ6KGU9bih0KSkucGFyZW50Tm9kZT1udWxsLHEoW2VdKX0sVy5vbj1mdW5jdGlvbih0LGUscil7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtpZihuPDMpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl7Zm9yKHIgaW4gbjwyJiYoZT0hMSksdCl0aGlzLmVhY2gocHQocix0W3JdLGUpKTtyZXR1cm4gdGhpc31pZihuPDIpcmV0dXJuKG49dGhpcy5ub2RlKClbIl9fb24iK3RdKSYmbi5fO3I9ITF9cmV0dXJuIHRoaXMuZWFjaChwdCh0LGUscikpfTt2YXIgZHQ9dC5tYXAoe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSk7ZnVuY3Rpb24gZ3QoZSxyKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGE9dC5ldmVudDt0LmV2ZW50PW4sclswXT10aGlzLl9fZGF0YV9fO3RyeXtlLmFwcGx5KHRoaXMscil9ZmluYWxseXt0LmV2ZW50PWF9fX1mdW5jdGlvbiB2dCh0LGUpe3ZhciByPWd0KHQsZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVsYXRlZFRhcmdldDtlJiYoZT09PXRoaXN8fDgmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHIuY2FsbCh0aGlzLHQpfX1hJiZkdC5mb3JFYWNoKGZ1bmN0aW9uKHQpeyJvbiIrdCBpbiBhJiZkdC5yZW1vdmUodCl9KTt2YXIgbXQseXQ9MDtmdW5jdGlvbiB4dChlKXt2YXIgcj0iLmRyYWdzdXBwcmVzcy0iKyArK3l0LG49ImNsaWNrIityLGE9dC5zZWxlY3QobyhlKSkub24oInRvdWNobW92ZSIrcixCKS5vbigiZHJhZ3N0YXJ0IityLEIpLm9uKCJzZWxlY3RzdGFydCIrcixCKTtpZihudWxsPT1tdCYmKG10PSEoIm9uc2VsZWN0c3RhcnQiaW4gZSkmJnooZS5zdHlsZSwidXNlclNlbGVjdCIpKSxtdCl7dmFyIHM9aShlKS5zdHlsZSxsPXNbbXRdO3NbbXRdPSJub25lIn1yZXR1cm4gZnVuY3Rpb24odCl7aWYoYS5vbihyLG51bGwpLG10JiYoc1ttdF09bCksdCl7dmFyIGU9ZnVuY3Rpb24oKXthLm9uKG4sbnVsbCl9O2Eub24obixmdW5jdGlvbigpe0IoKSxlKCl9LCEwKSxzZXRUaW1lb3V0KGUsMCl9fX10Lm1vdXNlPWZ1bmN0aW9uKHQpe3JldHVybiBfdCh0LE4oKSl9O3ZhciBidD10aGlzLm5hdmlnYXRvciYmL1dlYktpdC8udGVzdCh0aGlzLm5hdmlnYXRvci51c2VyQWdlbnQpPy0xOjA7ZnVuY3Rpb24gX3QoZSxyKXtyLmNoYW5nZWRUb3VjaGVzJiYocj1yLmNoYW5nZWRUb3VjaGVzWzBdKTt2YXIgbj1lLm93bmVyU1ZHRWxlbWVudHx8ZTtpZihuLmNyZWF0ZVNWR1BvaW50KXt2YXIgYT1uLmNyZWF0ZVNWR1BvaW50KCk7aWYoYnQ8MCl7dmFyIGk9byhlKTtpZihpLnNjcm9sbFh8fGkuc2Nyb2xsWSl7dmFyIHM9KG49dC5zZWxlY3QoImJvZHkiKS5hcHBlbmQoInN2ZyIpLnN0eWxlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxtYXJnaW46MCxwYWRkaW5nOjAsYm9yZGVyOiJub25lIn0sImltcG9ydGFudCIpKVswXVswXS5nZXRTY3JlZW5DVE0oKTtidD0hKHMuZnx8cy5lKSxuLnJlbW92ZSgpfX1yZXR1cm4gYnQ/KGEueD1yLnBhZ2VYLGEueT1yLnBhZ2VZKTooYS54PXIuY2xpZW50WCxhLnk9ci5jbGllbnRZKSxbKGE9YS5tYXRyaXhUcmFuc2Zvcm0oZS5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpKS54LGEueV19dmFyIGw9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm5bci5jbGllbnRYLWwubGVmdC1lLmNsaWVudExlZnQsci5jbGllbnRZLWwudG9wLWUuY2xpZW50VG9wXX1mdW5jdGlvbiB3dCgpe3JldHVybiB0LmV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXJ9dC50b3VjaD1mdW5jdGlvbih0LGUscil7aWYoYXJndW1lbnRzLmxlbmd0aDwzJiYocj1lLGU9TigpLmNoYW5nZWRUb3VjaGVzKSxlKWZvcih2YXIgbixhPTAsaT1lLmxlbmd0aDthPGk7KythKWlmKChuPWVbYV0pLmlkZW50aWZpZXI9PT1yKXJldHVybiBfdCh0LG4pfSx0LmJlaGF2aW9yLmRyYWc9ZnVuY3Rpb24oKXt2YXIgZT1qKGksImRyYWciLCJkcmFnc3RhcnQiLCJkcmFnZW5kIikscj1udWxsLG49cyhELHQubW91c2UsbywibW91c2Vtb3ZlIiwibW91c2V1cCIpLGE9cyh3dCx0LnRvdWNoLFAsInRvdWNobW92ZSIsInRvdWNoZW5kIik7ZnVuY3Rpb24gaSgpe3RoaXMub24oIm1vdXNlZG93bi5kcmFnIixuKS5vbigidG91Y2hzdGFydC5kcmFnIixhKX1mdW5jdGlvbiBzKG4sYSxpLG8scyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGwsYz10LmV2ZW50LnRhcmdldC5jb3JyZXNwb25kaW5nRWxlbWVudHx8dC5ldmVudC50YXJnZXQsdT10aGlzLnBhcmVudE5vZGUsaD1lLm9mKHRoaXMsYXJndW1lbnRzKSxmPTAscD1uKCksZD0iLmRyYWciKyhudWxsPT1wPyIiOiItIitwKSxnPXQuc2VsZWN0KGkoYykpLm9uKG8rZCxmdW5jdGlvbigpe3ZhciB0LGUscj1hKHUscCk7aWYoIXIpcmV0dXJuO3Q9clswXS1tWzBdLGU9clsxXS1tWzFdLGZ8PXR8ZSxtPXIsaCh7dHlwZToiZHJhZyIseDpyWzBdK2xbMF0seTpyWzFdK2xbMV0sZHg6dCxkeTplfSl9KS5vbihzK2QsZnVuY3Rpb24oKXtpZighYSh1LHApKXJldHVybjtnLm9uKG8rZCxudWxsKS5vbihzK2QsbnVsbCksdihmKSxoKHt0eXBlOiJkcmFnZW5kIn0pfSksdj14dChjKSxtPWEodSxwKTtsPXI/WyhsPXIuYXBwbHkodGhpcyxhcmd1bWVudHMpKS54LW1bMF0sbC55LW1bMV1dOlswLDBdLGgoe3R5cGU6ImRyYWdzdGFydCJ9KX19cmV0dXJuIGkub3JpZ2luPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsaSk6cn0sdC5yZWJpbmQoaSxlLCJvbiIpfSx0LnRvdWNoZXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyJiYoZT1OKCkudG91Y2hlcyksZT9uKGUpLm1hcChmdW5jdGlvbihlKXt2YXIgcj1fdCh0LGUpO3JldHVybiByLmlkZW50aWZpZXI9ZS5pZGVudGlmaWVyLHJ9KTpbXX07dmFyIGt0PTFlLTYsVHQ9a3Qqa3QsTXQ9TWF0aC5QSSxBdD0yKk10LFN0PUF0LWt0LEV0PU10LzIsTHQ9TXQvMTgwLEN0PTE4MC9NdDtmdW5jdGlvbiBQdCh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gT3QodCxlLHIpe3JldHVybihlWzBdLXRbMF0pKihyWzFdLXRbMV0pLShlWzFdLXRbMV0pKihyWzBdLXRbMF0pfWZ1bmN0aW9uIHp0KHQpe3JldHVybiB0PjE/MDp0PC0xP010Ok1hdGguYWNvcyh0KX1mdW5jdGlvbiBJdCh0KXtyZXR1cm4gdD4xP0V0OnQ8LTE/LUV0Ok1hdGguYXNpbih0KX1mdW5jdGlvbiBEdCh0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpKzEvdCkvMn1mdW5jdGlvbiBSdCh0KXtyZXR1cm4odD1NYXRoLnNpbih0LzIpKSp0fXZhciBGdD1NYXRoLlNRUlQyO3QuaW50ZXJwb2xhdGVab29tPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPXRbMF0saT10WzFdLG89dFsyXSxzPWVbMF0sbD1lWzFdLGM9ZVsyXSx1PXMtYSxoPWwtaSxmPXUqdStoKmg7aWYoZjxUdCluPU1hdGgubG9nKGMvbykvRnQscj1mdW5jdGlvbih0KXtyZXR1cm5bYSt0KnUsaSt0KmgsbypNYXRoLmV4cChGdCp0Km4pXX07ZWxzZXt2YXIgcD1NYXRoLnNxcnQoZiksZD0oYypjLW8qbys0KmYpLygyKm8qMipwKSxnPShjKmMtbypvLTQqZikvKDIqYyoyKnApLHY9TWF0aC5sb2coTWF0aC5zcXJ0KGQqZCsxKS1kKSxtPU1hdGgubG9nKE1hdGguc3FydChnKmcrMSktZyk7bj0obS12KS9GdCxyPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dCpuLHM9RHQodiksbD1vLygyKnApKihzKihlPUZ0KnIrdiwoKGU9TWF0aC5leHAoMiplKSktMSkvKGUrMSkpLWZ1bmN0aW9uKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSktMS90KS8yfSh2KSk7cmV0dXJuW2ErbCp1LGkrbCpoLG8qcy9EdChGdCpyK3YpXX19cmV0dXJuIHIuZHVyYXRpb249MWUzKm4scn0sdC5iZWhhdmlvci56b29tPWZ1bmN0aW9uKCl7dmFyIGUscixuLGkscyxsLGMsdSxoLGY9e3g6MCx5OjAsazoxfSxwPVs5NjAsNTAwXSxkPWp0LGc9MjUwLHY9MCxtPSJtb3VzZWRvd24uem9vbSIseT0ibW91c2Vtb3ZlLnpvb20iLHg9Im1vdXNldXAuem9vbSIsYj0idG91Y2hzdGFydC56b29tIixfPWoodywiem9vbXN0YXJ0Iiwiem9vbSIsInpvb21lbmQiKTtmdW5jdGlvbiB3KHQpe3Qub24obSxQKS5vbihOdCsiLnpvb20iLHopLm9uKCJkYmxjbGljay56b29tIixJKS5vbihiLE8pfWZ1bmN0aW9uIGsodCl7cmV0dXJuWyh0WzBdLWYueCkvZi5rLCh0WzFdLWYueSkvZi5rXX1mdW5jdGlvbiBUKHQpe2Yuaz1NYXRoLm1heChkWzBdLE1hdGgubWluKGRbMV0sdCkpfWZ1bmN0aW9uIE0odCxlKXtlPWZ1bmN0aW9uKHQpe3JldHVyblt0WzBdKmYuaytmLngsdFsxXSpmLmsrZi55XX0oZSksZi54Kz10WzBdLWVbMF0sZi55Kz10WzFdLWVbMV19ZnVuY3Rpb24gQShlLG4sYSxpKXtlLl9fY2hhcnRfXz17eDpmLngseTpmLnksazpmLmt9LFQoTWF0aC5wb3coMixpKSksTShyPW4sYSksZT10LnNlbGVjdChlKSxnPjAmJihlPWUudHJhbnNpdGlvbigpLmR1cmF0aW9uKGcpKSxlLmNhbGwody5ldmVudCl9ZnVuY3Rpb24gUygpe2MmJmMuZG9tYWluKGwucmFuZ2UoKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuKHQtZi54KS9mLmt9KS5tYXAobC5pbnZlcnQpKSxoJiZoLmRvbWFpbih1LnJhbmdlKCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybih0LWYueSkvZi5rfSkubWFwKHUuaW52ZXJ0KSl9ZnVuY3Rpb24gRSh0KXt2Kyt8fHQoe3R5cGU6Inpvb21zdGFydCJ9KX1mdW5jdGlvbiBMKHQpe1MoKSx0KHt0eXBlOiJ6b29tIixzY2FsZTpmLmssdHJhbnNsYXRlOltmLngsZi55XX0pfWZ1bmN0aW9uIEModCl7LS12fHwodCh7dHlwZToiem9vbWVuZCJ9KSxyPW51bGwpfWZ1bmN0aW9uIFAoKXt2YXIgZT10aGlzLHI9Xy5vZihlLGFyZ3VtZW50cyksbj0wLGE9dC5zZWxlY3QobyhlKSkub24oeSxmdW5jdGlvbigpe249MSxNKHQubW91c2UoZSksaSksTChyKX0pLm9uKHgsZnVuY3Rpb24oKXthLm9uKHksbnVsbCkub24oeCxudWxsKSxzKG4pLEMocil9KSxpPWsodC5tb3VzZShlKSkscz14dChlKTtwcy5jYWxsKGUpLEUocil9ZnVuY3Rpb24gTygpe3ZhciBlLHI9dGhpcyxuPV8ub2Yocixhcmd1bWVudHMpLGE9e30saT0wLG89Ii56b29tLSIrdC5ldmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyLGw9InRvdWNobW92ZSIrbyxjPSJ0b3VjaGVuZCIrbyx1PVtdLGg9dC5zZWxlY3QocikscD14dChyKTtmdW5jdGlvbiBkKCl7dmFyIG49dC50b3VjaGVzKHIpO3JldHVybiBlPWYuayxuLmZvckVhY2goZnVuY3Rpb24odCl7dC5pZGVudGlmaWVyIGluIGEmJihhW3QuaWRlbnRpZmllcl09ayh0KSl9KSxufWZ1bmN0aW9uIGcoKXt2YXIgZT10LmV2ZW50LnRhcmdldDt0LnNlbGVjdChlKS5vbihsLHYpLm9uKGMseSksdS5wdXNoKGUpO2Zvcih2YXIgbj10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLG89MCxoPW4ubGVuZ3RoO288aDsrK28pYVtuW29dLmlkZW50aWZpZXJdPW51bGw7dmFyIHA9ZCgpLGc9RGF0ZS5ub3coKTtpZigxPT09cC5sZW5ndGgpe2lmKGctczw1MDApe3ZhciBtPXBbMF07QShyLG0sYVttLmlkZW50aWZpZXJdLE1hdGguZmxvb3IoTWF0aC5sb2coZi5rKS9NYXRoLkxOMikrMSksQigpfXM9Z31lbHNlIGlmKHAubGVuZ3RoPjEpe209cFswXTt2YXIgeD1wWzFdLGI9bVswXS14WzBdLF89bVsxXS14WzFdO2k9YipiK18qX319ZnVuY3Rpb24gdigpe3ZhciBvLGwsYyx1LGg9dC50b3VjaGVzKHIpO3BzLmNhbGwocik7Zm9yKHZhciBmPTAscD1oLmxlbmd0aDtmPHA7KytmLHU9bnVsbClpZihjPWhbZl0sdT1hW2MuaWRlbnRpZmllcl0pe2lmKGwpYnJlYWs7bz1jLGw9dX1pZih1KXt2YXIgZD0oZD1jWzBdLW9bMF0pKmQrKGQ9Y1sxXS1vWzFdKSpkLGc9aSYmTWF0aC5zcXJ0KGQvaSk7bz1bKG9bMF0rY1swXSkvMiwob1sxXStjWzFdKS8yXSxsPVsobFswXSt1WzBdKS8yLChsWzFdK3VbMV0pLzJdLFQoZyplKX1zPW51bGwsTShvLGwpLEwobil9ZnVuY3Rpb24geSgpe2lmKHQuZXZlbnQudG91Y2hlcy5sZW5ndGgpe2Zvcih2YXIgZT10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLHI9MCxpPWUubGVuZ3RoO3I8aTsrK3IpZGVsZXRlIGFbZVtyXS5pZGVudGlmaWVyXTtmb3IodmFyIHMgaW4gYSlyZXR1cm4gdm9pZCBkKCl9dC5zZWxlY3RBbGwodSkub24obyxudWxsKSxoLm9uKG0sUCkub24oYixPKSxwKCksQyhuKX1nKCksRShuKSxoLm9uKG0sbnVsbCkub24oYixnKX1mdW5jdGlvbiB6KCl7dmFyIGE9Xy5vZih0aGlzLGFyZ3VtZW50cyk7aT9jbGVhclRpbWVvdXQoaSk6KHBzLmNhbGwodGhpcyksZT1rKHI9bnx8dC5tb3VzZSh0aGlzKSksRShhKSksaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aT1udWxsLEMoYSl9LDUwKSxCKCksVChNYXRoLnBvdygyLC4wMDIqQnQoKSkqZi5rKSxNKHIsZSksTChhKX1mdW5jdGlvbiBJKCl7dmFyIGU9dC5tb3VzZSh0aGlzKSxyPU1hdGgubG9nKGYuaykvTWF0aC5MTjI7QSh0aGlzLGUsayhlKSx0LmV2ZW50LnNoaWZ0S2V5P01hdGguY2VpbChyKS0xOk1hdGguZmxvb3IocikrMSl9cmV0dXJuIE50fHwoTnQ9Im9ud2hlZWwiaW4gYT8oQnQ9ZnVuY3Rpb24oKXtyZXR1cm4tdC5ldmVudC5kZWx0YVkqKHQuZXZlbnQuZGVsdGFNb2RlPzEyMDoxKX0sIndoZWVsIik6Im9ubW91c2V3aGVlbCJpbiBhPyhCdD1mdW5jdGlvbigpe3JldHVybiB0LmV2ZW50LndoZWVsRGVsdGF9LCJtb3VzZXdoZWVsIik6KEJ0PWZ1bmN0aW9uKCl7cmV0dXJuLXQuZXZlbnQuZGV0YWlsfSwiTW96TW91c2VQaXhlbFNjcm9sbCIpKSx3LmV2ZW50PWZ1bmN0aW9uKGUpe2UuZWFjaChmdW5jdGlvbigpe3ZhciBlPV8ub2YodGhpcyxhcmd1bWVudHMpLG49Zjt2cz90LnNlbGVjdCh0aGlzKS50cmFuc2l0aW9uKCkuZWFjaCgic3RhcnQuem9vbSIsZnVuY3Rpb24oKXtmPXRoaXMuX19jaGFydF9ffHx7eDowLHk6MCxrOjF9LEUoZSl9KS50d2Vlbigiem9vbTp6b29tIixmdW5jdGlvbigpe3ZhciBhPXBbMF0saT1wWzFdLG89cj9yWzBdOmEvMixzPXI/clsxXTppLzIsbD10LmludGVycG9sYXRlWm9vbShbKG8tZi54KS9mLmssKHMtZi55KS9mLmssYS9mLmtdLFsoby1uLngpL24uaywocy1uLnkpL24uayxhL24ua10pO3JldHVybiBmdW5jdGlvbih0KXt2YXIgcj1sKHQpLG49YS9yWzJdO3RoaXMuX19jaGFydF9fPWY9e3g6by1yWzBdKm4seTpzLXJbMV0qbixrOm59LEwoZSl9fSkuZWFjaCgiaW50ZXJydXB0Lnpvb20iLGZ1bmN0aW9uKCl7QyhlKX0pLmVhY2goImVuZC56b29tIixmdW5jdGlvbigpe0MoZSl9KToodGhpcy5fX2NoYXJ0X189ZixFKGUpLEwoZSksQyhlKSl9KX0sdy50cmFuc2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9e3g6K3RbMF0seTordFsxXSxrOmYua30sUygpLHcpOltmLngsZi55XX0sdy5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj17eDpmLngseTpmLnksazpudWxsfSxUKCt0KSxTKCksdyk6Zi5rfSx3LnNjYWxlRXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhkPW51bGw9PXQ/anQ6Wyt0WzBdLCt0WzFdXSx3KTpkfSx3LmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10JiZbK3RbMF0sK3RbMV1dLHcpOm59LHcuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD10JiZbK3RbMF0sK3RbMV1dLHcpOnB9LHcuZHVyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9K3Qsdyk6Z30sdy54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQsbD10LmNvcHkoKSxmPXt4OjAseTowLGs6MX0sdyk6Y30sdy55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPXQsdT10LmNvcHkoKSxmPXt4OjAseTowLGs6MX0sdyk6aH0sdC5yZWJpbmQodyxfLCJvbiIpfTt2YXIgQnQsTnQsanQ9WzAsMS8wXTtmdW5jdGlvbiBWdCgpe31mdW5jdGlvbiBVdCh0LGUscil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBVdD8odGhpcy5oPSt0LHRoaXMucz0rZSx2b2lkKHRoaXMubD0rcikpOmFyZ3VtZW50cy5sZW5ndGg8Mj90IGluc3RhbmNlb2YgVXQ/bmV3IFV0KHQuaCx0LnMsdC5sKTp1ZSgiIit0LGhlLFV0KTpuZXcgVXQodCxlLHIpfXQuY29sb3I9VnQsVnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkrIiJ9LHQuaHNsPVV0O3ZhciBxdD1VdC5wcm90b3R5cGU9bmV3IFZ0O2Z1bmN0aW9uIEh0KHQsZSxyKXt2YXIgbixhO2Z1bmN0aW9uIGkodCl7cmV0dXJuIE1hdGgucm91bmQoMjU1KmZ1bmN0aW9uKHQpe3JldHVybiB0PjM2MD90LT0zNjA6dDwwJiYodCs9MzYwKSx0PDYwP24rKGEtbikqdC82MDp0PDE4MD9hOnQ8MjQwP24rKGEtbikqKDI0MC10KS82MDpufSh0KSl9cmV0dXJuIHQ9aXNOYU4odCk/MDoodCU9MzYwKTwwP3QrMzYwOnQsZT1pc05hTihlKT8wOmU8MD8wOmU+MT8xOmUsbj0yKihyPXI8MD8wOnI+MT8xOnIpLShhPXI8PS41P3IqKDErZSk6citlLXIqZSksbmV3IGllKGkodCsxMjApLGkodCksaSh0LTEyMCkpfWZ1bmN0aW9uIEd0KGUscixuKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIEd0Pyh0aGlzLmg9K2UsdGhpcy5jPStyLHZvaWQodGhpcy5sPStuKSk6YXJndW1lbnRzLmxlbmd0aDwyP2UgaW5zdGFuY2VvZiBHdD9uZXcgR3QoZS5oLGUuYyxlLmwpOmVlKGUgaW5zdGFuY2VvZiBYdD9lLmw6KGU9ZmUoKGU9dC5yZ2IoZSkpLnIsZS5nLGUuYikpLmwsZS5hLGUuYik6bmV3IEd0KGUscixuKX1xdC5icmlnaHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLnBvdyguNyxhcmd1bWVudHMubGVuZ3RoP3Q6MSksbmV3IFV0KHRoaXMuaCx0aGlzLnMsdGhpcy5sL3QpfSxxdC5kYXJrZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9TWF0aC5wb3coLjcsYXJndW1lbnRzLmxlbmd0aD90OjEpLG5ldyBVdCh0aGlzLmgsdGhpcy5zLHQqdGhpcy5sKX0scXQucmdiPWZ1bmN0aW9uKCl7cmV0dXJuIEh0KHRoaXMuaCx0aGlzLnMsdGhpcy5sKX0sdC5oY2w9R3Q7dmFyIFl0PUd0LnByb3RvdHlwZT1uZXcgVnQ7ZnVuY3Rpb24gV3QodCxlLHIpe3JldHVybiBpc05hTih0KSYmKHQ9MCksaXNOYU4oZSkmJihlPTApLG5ldyBYdChyLE1hdGguY29zKHQqPUx0KSplLE1hdGguc2luKHQpKmUpfWZ1bmN0aW9uIFh0KHQsZSxyKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIFh0Pyh0aGlzLmw9K3QsdGhpcy5hPStlLHZvaWQodGhpcy5iPStyKSk6YXJndW1lbnRzLmxlbmd0aDwyP3QgaW5zdGFuY2VvZiBYdD9uZXcgWHQodC5sLHQuYSx0LmIpOnQgaW5zdGFuY2VvZiBHdD9XdCh0LmgsdC5jLHQubCk6ZmUoKHQ9aWUodCkpLnIsdC5nLHQuYik6bmV3IFh0KHQsZSxyKX1ZdC5icmlnaHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEd0KHRoaXMuaCx0aGlzLmMsTWF0aC5taW4oMTAwLHRoaXMubCtadCooYXJndW1lbnRzLmxlbmd0aD90OjEpKSl9LFl0LmRhcmtlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEd0KHRoaXMuaCx0aGlzLmMsTWF0aC5tYXgoMCx0aGlzLmwtWnQqKGFyZ3VtZW50cy5sZW5ndGg/dDoxKSkpfSxZdC5yZ2I9ZnVuY3Rpb24oKXtyZXR1cm4gV3QodGhpcy5oLHRoaXMuYyx0aGlzLmwpLnJnYigpfSx0LmxhYj1YdDt2YXIgWnQ9MTgsSnQ9Ljk1MDQ3LEt0PTEsUXQ9MS4wODg4MywkdD1YdC5wcm90b3R5cGU9bmV3IFZ0O2Z1bmN0aW9uIHRlKHQsZSxyKXt2YXIgbj0odCsxNikvMTE2LGE9bitlLzUwMCxpPW4tci8yMDA7cmV0dXJuIG5ldyBpZShhZSgzLjI0MDQ1NDIqKGE9cmUoYSkqSnQpLTEuNTM3MTM4NSoobj1yZShuKSpLdCktLjQ5ODUzMTQqKGk9cmUoaSkqUXQpKSxhZSgtLjk2OTI2NiphKzEuODc2MDEwOCpuKy4wNDE1NTYqaSksYWUoLjA1NTY0MzQqYS0uMjA0MDI1OSpuKzEuMDU3MjI1MippKSl9ZnVuY3Rpb24gZWUodCxlLHIpe3JldHVybiB0PjA/bmV3IEd0KE1hdGguYXRhbjIocixlKSpDdCxNYXRoLnNxcnQoZSplK3IqciksdCk6bmV3IEd0KE5hTixOYU4sdCl9ZnVuY3Rpb24gcmUodCl7cmV0dXJuIHQ+LjIwNjg5MzAzND90KnQqdDoodC00LzI5KS83Ljc4NzAzN31mdW5jdGlvbiBuZSh0KXtyZXR1cm4gdD4uMDA4ODU2P01hdGgucG93KHQsMS8zKTo3Ljc4NzAzNyp0KzQvMjl9ZnVuY3Rpb24gYWUodCl7cmV0dXJuIE1hdGgucm91bmQoMjU1Kih0PD0uMDAzMDQ/MTIuOTIqdDoxLjA1NSpNYXRoLnBvdyh0LDEvMi40KS0uMDU1KSl9ZnVuY3Rpb24gaWUodCxlLHIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgaWU/KHRoaXMucj1+fnQsdGhpcy5nPX5+ZSx2b2lkKHRoaXMuYj1+fnIpKTphcmd1bWVudHMubGVuZ3RoPDI/dCBpbnN0YW5jZW9mIGllP25ldyBpZSh0LnIsdC5nLHQuYik6dWUoIiIrdCxpZSxIdCk6bmV3IGllKHQsZSxyKX1mdW5jdGlvbiBvZSh0KXtyZXR1cm4gbmV3IGllKHQ+PjE2LHQ+PjgmMjU1LDI1NSZ0KX1mdW5jdGlvbiBzZSh0KXtyZXR1cm4gb2UodCkrIiJ9JHQuYnJpZ2h0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBYdChNYXRoLm1pbigxMDAsdGhpcy5sK1p0Kihhcmd1bWVudHMubGVuZ3RoP3Q6MSkpLHRoaXMuYSx0aGlzLmIpfSwkdC5kYXJrZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBYdChNYXRoLm1heCgwLHRoaXMubC1adCooYXJndW1lbnRzLmxlbmd0aD90OjEpKSx0aGlzLmEsdGhpcy5iKX0sJHQucmdiPWZ1bmN0aW9uKCl7cmV0dXJuIHRlKHRoaXMubCx0aGlzLmEsdGhpcy5iKX0sdC5yZ2I9aWU7dmFyIGxlPWllLnByb3RvdHlwZT1uZXcgVnQ7ZnVuY3Rpb24gY2UodCl7cmV0dXJuIHQ8MTY/IjAiK01hdGgubWF4KDAsdCkudG9TdHJpbmcoMTYpOk1hdGgubWluKDI1NSx0KS50b1N0cmluZygxNil9ZnVuY3Rpb24gdWUodCxlLHIpe3ZhciBuLGEsaSxvPTAscz0wLGw9MDtpZihuPS8oW2Etel0rKVwoKC4qKVwpLy5leGVjKHQ9dC50b0xvd2VyQ2FzZSgpKSlzd2l0Y2goYT1uWzJdLnNwbGl0KCIsIiksblsxXSl7Y2FzZSJoc2wiOnJldHVybiByKHBhcnNlRmxvYXQoYVswXSkscGFyc2VGbG9hdChhWzFdKS8xMDAscGFyc2VGbG9hdChhWzJdKS8xMDApO2Nhc2UicmdiIjpyZXR1cm4gZShkZShhWzBdKSxkZShhWzFdKSxkZShhWzJdKSl9cmV0dXJuKGk9Z2UuZ2V0KHQpKT9lKGkucixpLmcsaS5iKToobnVsbD09dHx8IiMiIT09dC5jaGFyQXQoMCl8fGlzTmFOKGk9cGFyc2VJbnQodC5zbGljZSgxKSwxNikpfHwoND09PXQubGVuZ3RoPyhvPSgzODQwJmkpPj40LG98PW8+PjQscz0yNDAmaSxzfD1zPj40LGw9MTUmaSxsfD1sPDw0KTo3PT09dC5sZW5ndGgmJihvPSgxNjcxMTY4MCZpKT4+MTYscz0oNjUyODAmaSk+PjgsbD0yNTUmaSkpLGUobyxzLGwpKX1mdW5jdGlvbiBoZSh0LGUscil7dmFyIG4sYSxpPU1hdGgubWluKHQvPTI1NSxlLz0yNTUsci89MjU1KSxvPU1hdGgubWF4KHQsZSxyKSxzPW8taSxsPShvK2kpLzI7cmV0dXJuIHM/KGE9bDwuNT9zLyhvK2kpOnMvKDItby1pKSxuPXQ9PW8/KGUtcikvcysoZTxyPzY6MCk6ZT09bz8oci10KS9zKzI6KHQtZSkvcys0LG4qPTYwKToobj1OYU4sYT1sPjAmJmw8MT8wOm4pLG5ldyBVdChuLGEsbCl9ZnVuY3Rpb24gZmUodCxlLHIpe3ZhciBuPW5lKCguNDEyNDU2NCoodD1wZSh0KSkrLjM1NzU3NjEqKGU9cGUoZSkpKy4xODA0Mzc1KihyPXBlKHIpKSkvSnQpLGE9bmUoKC4yMTI2NzI5KnQrLjcxNTE1MjIqZSsuMDcyMTc1KnIpL0t0KTtyZXR1cm4gWHQoMTE2KmEtMTYsNTAwKihuLWEpLDIwMCooYS1uZSgoLjAxOTMzMzkqdCsuMTE5MTkyKmUrLjk1MDMwNDEqcikvUXQpKSl9ZnVuY3Rpb24gcGUodCl7cmV0dXJuKHQvPTI1NSk8PS4wNDA0NT90LzEyLjkyOk1hdGgucG93KCh0Ky4wNTUpLzEuMDU1LDIuNCl9ZnVuY3Rpb24gZGUodCl7dmFyIGU9cGFyc2VGbG9hdCh0KTtyZXR1cm4iJSI9PT10LmNoYXJBdCh0Lmxlbmd0aC0xKT9NYXRoLnJvdW5kKDIuNTUqZSk6ZX1sZS5icmlnaHRlcj1mdW5jdGlvbih0KXt0PU1hdGgucG93KC43LGFyZ3VtZW50cy5sZW5ndGg/dDoxKTt2YXIgZT10aGlzLnIscj10aGlzLmcsbj10aGlzLmIsYT0zMDtyZXR1cm4gZXx8cnx8bj8oZSYmZTxhJiYoZT1hKSxyJiZyPGEmJihyPWEpLG4mJm48YSYmKG49YSksbmV3IGllKE1hdGgubWluKDI1NSxlL3QpLE1hdGgubWluKDI1NSxyL3QpLE1hdGgubWluKDI1NSxuL3QpKSk6bmV3IGllKGEsYSxhKX0sbGUuZGFya2VyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaWUoKHQ9TWF0aC5wb3coLjcsYXJndW1lbnRzLmxlbmd0aD90OjEpKSp0aGlzLnIsdCp0aGlzLmcsdCp0aGlzLmIpfSxsZS5oc2w9ZnVuY3Rpb24oKXtyZXR1cm4gaGUodGhpcy5yLHRoaXMuZyx0aGlzLmIpfSxsZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIjIitjZSh0aGlzLnIpK2NlKHRoaXMuZykrY2UodGhpcy5iKX07dmFyIGdlPXQubWFwKHthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9KTtmdW5jdGlvbiB2ZSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG1lKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7cmV0dXJuIDI9PT1hcmd1bWVudHMubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2YgciYmKG49cixyPW51bGwpLHllKGUscix0LG4pfX1mdW5jdGlvbiB5ZShlLHIsYSxpKXt2YXIgbz17fSxzPXQuZGlzcGF0Y2goImJlZm9yZXNlbmQiLCJwcm9ncmVzcyIsImxvYWQiLCJlcnJvciIpLGw9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3QsdT1udWxsO2Z1bmN0aW9uIGgoKXt2YXIgdCxlPWMuc3RhdHVzO2lmKCFlJiZmdW5jdGlvbih0KXt2YXIgZT10LnJlc3BvbnNlVHlwZTtyZXR1cm4gZSYmInRleHQiIT09ZT90LnJlc3BvbnNlOnQucmVzcG9uc2VUZXh0fShjKXx8ZT49MjAwJiZlPDMwMHx8MzA0PT09ZSl7dHJ5e3Q9YS5jYWxsKG8sYyl9Y2F0Y2godCl7cmV0dXJuIHZvaWQgcy5lcnJvci5jYWxsKG8sdCl9cy5sb2FkLmNhbGwobyx0KX1lbHNlIHMuZXJyb3IuY2FsbChvLGMpfXJldHVybiF0aGlzLlhEb21haW5SZXF1ZXN0fHwid2l0aENyZWRlbnRpYWxzImluIGN8fCEvXihodHRwKHMpPzopP1wvXC8vLnRlc3QoZSl8fChjPW5ldyBYRG9tYWluUmVxdWVzdCksIm9ubG9hZCJpbiBjP2Mub25sb2FkPWMub25lcnJvcj1oOmMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7Yy5yZWFkeVN0YXRlPjMmJmgoKX0sYy5vbnByb2dyZXNzPWZ1bmN0aW9uKGUpe3ZhciByPXQuZXZlbnQ7dC5ldmVudD1lO3RyeXtzLnByb2dyZXNzLmNhbGwobyxjKX1maW5hbGx5e3QuZXZlbnQ9cn19LG8uaGVhZGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9KHQrIiIpLnRvTG93ZXJDYXNlKCksYXJndW1lbnRzLmxlbmd0aDwyP2xbdF06KG51bGw9PWU/ZGVsZXRlIGxbdF06bFt0XT1lKyIiLG8pfSxvLm1pbWVUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPW51bGw9PXQ/bnVsbDp0KyIiLG8pOnJ9LG8ucmVzcG9uc2VUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PXQsbyk6dX0sby5yZXNwb25zZT1mdW5jdGlvbih0KXtyZXR1cm4gYT10LG99LFsiZ2V0IiwicG9zdCJdLmZvckVhY2goZnVuY3Rpb24odCl7b1t0XT1mdW5jdGlvbigpe3JldHVybiBvLnNlbmQuYXBwbHkobyxbdF0uY29uY2F0KG4oYXJndW1lbnRzKSkpfX0pLG8uc2VuZD1mdW5jdGlvbih0LG4sYSl7aWYoMj09PWFyZ3VtZW50cy5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuJiYoYT1uLG49bnVsbCksYy5vcGVuKHQsZSwhMCksbnVsbD09cnx8ImFjY2VwdCJpbiBsfHwobC5hY2NlcHQ9cisiLCovKiIpLGMuc2V0UmVxdWVzdEhlYWRlcilmb3IodmFyIGkgaW4gbCljLnNldFJlcXVlc3RIZWFkZXIoaSxsW2ldKTtyZXR1cm4gbnVsbCE9ciYmYy5vdmVycmlkZU1pbWVUeXBlJiZjLm92ZXJyaWRlTWltZVR5cGUociksbnVsbCE9dSYmKGMucmVzcG9uc2VUeXBlPXUpLG51bGwhPWEmJm8ub24oImVycm9yIixhKS5vbigibG9hZCIsZnVuY3Rpb24odCl7YShudWxsLHQpfSkscy5iZWZvcmVzZW5kLmNhbGwobyxjKSxjLnNlbmQobnVsbD09bj9udWxsOm4pLG99LG8uYWJvcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gYy5hYm9ydCgpLG99LHQucmViaW5kKG8scywib24iKSxudWxsPT1pP286by5nZXQoZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10Lmxlbmd0aD9mdW5jdGlvbihlLHIpe3QobnVsbD09ZT9yOm51bGwpfTp0fShpKSl9Z2UuZm9yRWFjaChmdW5jdGlvbih0LGUpe2dlLnNldCh0LG9lKGUpKX0pLHQuZnVuY3Rvcj12ZSx0Lnhocj1tZShQKSx0LmRzdj1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBSZWdFeHAoJ1siJyt0KyJcbl0iKSxuPXQuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBhKHQscixuKXthcmd1bWVudHMubGVuZ3RoPDMmJihuPXIscj1udWxsKTt2YXIgYT15ZSh0LGUsbnVsbD09cj9pOm8ociksbik7cmV0dXJuIGEucm93PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2EucmVzcG9uc2UobnVsbD09KHI9dCk/aTpvKHQpKTpyfSxhfWZ1bmN0aW9uIGkodCl7cmV0dXJuIGEucGFyc2UodC5yZXNwb25zZVRleHQpfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBhLnBhcnNlKGUucmVzcG9uc2VUZXh0LHQpfX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLm1hcChsKS5qb2luKHQpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIHIudGVzdCh0KT8nIicrdC5yZXBsYWNlKC9cIi9nLCciIicpKyciJzp0fXJldHVybiBhLnBhcnNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIGEucGFyc2VSb3dzKHQsZnVuY3Rpb24odCxuKXtpZihyKXJldHVybiByKHQsbi0xKTt2YXIgYT1uZXcgRnVuY3Rpb24oImQiLCJyZXR1cm4geyIrdC5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkrIjogZFsiK2UrIl0ifSkuam9pbigiLCIpKyJ9Iik7cj1lP2Z1bmN0aW9uKHQscil7cmV0dXJuIGUoYSh0KSxyKX06YX0pfSxhLnBhcnNlUm93cz1mdW5jdGlvbih0LGUpe3ZhciByLGEsaT17fSxvPXt9LHM9W10sbD10Lmxlbmd0aCxjPTAsdT0wO2Z1bmN0aW9uIGgoKXtpZihjPj1sKXJldHVybiBvO2lmKGEpcmV0dXJuIGE9ITEsaTt2YXIgZT1jO2lmKDM0PT09dC5jaGFyQ29kZUF0KGUpKXtmb3IodmFyIHI9ZTtyKys8bDspaWYoMzQ9PT10LmNoYXJDb2RlQXQocikpe2lmKDM0IT09dC5jaGFyQ29kZUF0KHIrMSkpYnJlYWs7KytyfXJldHVybiBjPXIrMiwxMz09PShzPXQuY2hhckNvZGVBdChyKzEpKT8oYT0hMCwxMD09PXQuY2hhckNvZGVBdChyKzIpJiYrK2MpOjEwPT09cyYmKGE9ITApLHQuc2xpY2UoZSsxLHIpLnJlcGxhY2UoLyIiL2csJyInKX1mb3IoO2M8bDspe3ZhciBzLHU9MTtpZigxMD09PShzPXQuY2hhckNvZGVBdChjKyspKSlhPSEwO2Vsc2UgaWYoMTM9PT1zKWE9ITAsMTA9PT10LmNoYXJDb2RlQXQoYykmJigrK2MsKyt1KTtlbHNlIGlmKHMhPT1uKWNvbnRpbnVlO3JldHVybiB0LnNsaWNlKGUsYy11KX1yZXR1cm4gdC5zbGljZShlKX1mb3IoOyhyPWgoKSkhPT1vOyl7Zm9yKHZhciBmPVtdO3IhPT1pJiZyIT09bzspZi5wdXNoKHIpLHI9aCgpO2UmJm51bGw9PShmPWUoZix1KyspKXx8cy5wdXNoKGYpfXJldHVybiBzfSxhLmZvcm1hdD1mdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGVbMF0pKXJldHVybiBhLmZvcm1hdFJvd3MoZSk7dmFyIHI9bmV3IEMsbj1bXTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0KXIuaGFzKGUpfHxuLnB1c2goci5hZGQoZSkpfSksW24ubWFwKGwpLmpvaW4odCldLmNvbmNhdChlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbi5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGwoZVt0XSl9KS5qb2luKHQpfSkpLmpvaW4oIlxuIil9LGEuZm9ybWF0Um93cz1mdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAocykuam9pbigiXG4iKX0sYX0sdC5jc3Y9dC5kc3YoIiwiLCJ0ZXh0L2NzdiIpLHQudHN2PXQuZHN2KCJcdCIsInRleHQvdGFiLXNlcGFyYXRlZC12YWx1ZXMiKTt2YXIgeGUsYmUsX2Usd2Usa2U9dGhpc1t6KHRoaXMsInJlcXVlc3RBbmltYXRpb25GcmFtZSIpXXx8ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gVGUodCxlLHIpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg7bjwyJiYoZT0wKSxuPDMmJihyPURhdGUubm93KCkpO3ZhciBhPXtjOnQsdDpyK2UsbjpudWxsfTtyZXR1cm4gYmU/YmUubj1hOnhlPWEsYmU9YSxfZXx8KHdlPWNsZWFyVGltZW91dCh3ZSksX2U9MSxrZShNZSkpLGF9ZnVuY3Rpb24gTWUoKXt2YXIgdD1BZSgpLGU9U2UoKS10O2U+MjQ/KGlzRmluaXRlKGUpJiYoY2xlYXJUaW1lb3V0KHdlKSx3ZT1zZXRUaW1lb3V0KE1lLGUpKSxfZT0wKTooX2U9MSxrZShNZSkpfWZ1bmN0aW9uIEFlKCl7Zm9yKHZhciB0PURhdGUubm93KCksZT14ZTtlOyl0Pj1lLnQmJmUuYyh0LWUudCkmJihlLmM9bnVsbCksZT1lLm47cmV0dXJuIHR9ZnVuY3Rpb24gU2UoKXtmb3IodmFyIHQsZT14ZSxyPTEvMDtlOyllLmM/KGUudDxyJiYocj1lLnQpLGU9KHQ9ZSkubik6ZT10P3Qubj1lLm46eGU9ZS5uO3JldHVybiBiZT10LHJ9ZnVuY3Rpb24gRWUodCxlKXtyZXR1cm4gZS0odD9NYXRoLmNlaWwoTWF0aC5sb2codCkvTWF0aC5MTjEwKToxKX10LnRpbWVyPWZ1bmN0aW9uKCl7VGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0LnRpbWVyLmZsdXNoPWZ1bmN0aW9uKCl7QWUoKSxTZSgpfSx0LnJvdW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/TWF0aC5yb3VuZCh0KihlPU1hdGgucG93KDEwLGUpKSkvZTpNYXRoLnJvdW5kKHQpfTt2YXIgTGU9WyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCJceGI1IiwibSIsIiIsImsiLCJNIiwiRyIsIlQiLCJQIiwiRSIsIloiLCJZIl0ubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5wb3coMTAsMyp5KDgtZSkpO3JldHVybntzY2FsZTplPjg/ZnVuY3Rpb24odCl7cmV0dXJuIHQvcn06ZnVuY3Rpb24odCl7cmV0dXJuIHQqcn0sc3ltYm9sOnR9fSk7ZnVuY3Rpb24gQ2UoZSl7dmFyIHI9ZS5kZWNpbWFsLG49ZS50aG91c2FuZHMsYT1lLmdyb3VwaW5nLGk9ZS5jdXJyZW5jeSxvPWEmJm4/ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsaT1bXSxvPTAscz1hWzBdLGw9MDtyPjAmJnM+MCYmKGwrcysxPmUmJihzPU1hdGgubWF4KDEsZS1sKSksaS5wdXNoKHQuc3Vic3RyaW5nKHItPXMscitzKSksISgobCs9cysxKT5lKSk7KXM9YVtvPShvKzEpJWEubGVuZ3RoXTtyZXR1cm4gaS5yZXZlcnNlKCkuam9pbihuKX06UDtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49UGUuZXhlYyhlKSxhPW5bMV18fCIgIixzPW5bMl18fCI+IixsPW5bM118fCItIixjPW5bNF18fCIiLHU9bls1XSxoPStuWzZdLGY9bls3XSxwPW5bOF0sZD1uWzldLGc9MSx2PSIiLG09IiIseT0hMSx4PSEwO3N3aXRjaChwJiYocD0rcC5zdWJzdHJpbmcoMSkpLCh1fHwiMCI9PT1hJiYiPSI9PT1zKSYmKHU9YT0iMCIscz0iPSIpLGQpe2Nhc2UibiI6Zj0hMCxkPSJnIjticmVhaztjYXNlIiUiOmc9MTAwLG09IiUiLGQ9ImYiO2JyZWFrO2Nhc2UicCI6Zz0xMDAsbT0iJSIsZD0iciI7YnJlYWs7Y2FzZSJiIjpjYXNlIm8iOmNhc2UieCI6Y2FzZSJYIjoiIyI9PT1jJiYodj0iMCIrZC50b0xvd2VyQ2FzZSgpKTtjYXNlImMiOng9ITE7Y2FzZSJkIjp5PSEwLHA9MDticmVhaztjYXNlInMiOmc9LTEsZD0iciJ9IiQiPT09YyYmKHY9aVswXSxtPWlbMV0pLCJyIiE9ZHx8cHx8KGQ9ImciKSxudWxsIT1wJiYoImciPT1kP3A9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxwKSk6ImUiIT1kJiYiZiIhPWR8fChwPU1hdGgubWF4KDAsTWF0aC5taW4oMjAscCkpKSksZD1PZS5nZXQoZCl8fHplO3ZhciBiPXUmJmY7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPW07aWYoeSYmZSUxKXJldHVybiIiO3ZhciBpPWU8MHx8MD09PWUmJjEvZTwwPyhlPS1lLCItIik6Ii0iPT09bD8iIjpsO2lmKGc8MCl7dmFyIGM9dC5mb3JtYXRQcmVmaXgoZSxwKTtlPWMuc2NhbGUoZSksbj1jLnN5bWJvbCttfWVsc2UgZSo9Zzt2YXIgXyx3LGs9KGU9ZChlLHApKS5sYXN0SW5kZXhPZigiLiIpO2lmKGs8MCl7dmFyIFQ9eD9lLmxhc3RJbmRleE9mKCJlIik6LTE7VDwwPyhfPWUsdz0iIik6KF89ZS5zdWJzdHJpbmcoMCxUKSx3PWUuc3Vic3RyaW5nKFQpKX1lbHNlIF89ZS5zdWJzdHJpbmcoMCxrKSx3PXIrZS5zdWJzdHJpbmcoaysxKTshdSYmZiYmKF89byhfLDEvMCkpO3ZhciBNPXYubGVuZ3RoK18ubGVuZ3RoK3cubGVuZ3RoKyhiPzA6aS5sZW5ndGgpLEE9TTxoP25ldyBBcnJheShNPWgtTSsxKS5qb2luKGEpOiIiO3JldHVybiBiJiYoXz1vKEErXyxBLmxlbmd0aD9oLXcubGVuZ3RoOjEvMCkpLGkrPXYsZT1fK3csKCI8Ij09PXM/aStlK0E6Ij4iPT09cz9BK2krZToiXiI9PT1zP0Euc3Vic3RyaW5nKDAsTT4+PTEpK2krZStBLnN1YnN0cmluZyhNKTppKyhiP2U6QStlKSkrbn19fXQuZm9ybWF0UHJlZml4PWZ1bmN0aW9uKGUscil7dmFyIG49MDtyZXR1cm4oZT0rZSkmJihlPDAmJihlKj0tMSksciYmKGU9dC5yb3VuZChlLEVlKGUscikpKSxuPTErTWF0aC5mbG9vcigxZS0xMitNYXRoLmxvZyhlKS9NYXRoLkxOMTApLG49TWF0aC5tYXgoLTI0LE1hdGgubWluKDI0LDMqTWF0aC5mbG9vcigobi0xKS8zKSkpKSxMZVs4K24vM119O3ZhciBQZT0vKD86KFtee10pPyhbPD49Xl0pKT8oWytcLSBdKT8oWyQjXSk/KDApPyhcZCspPygsKT8oXC4tP1xkKyk/KFthLXolXSk/L2ksT2U9dC5tYXAoe2I6ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcoMil9LGM6ZnVuY3Rpb24odCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodCl9LG86ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcoOCl9LHg6ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcoMTYpfSxYOmZ1bmN0aW9uKHQpe3JldHVybiB0LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSxnOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9QcmVjaXNpb24oZSl9LGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b0V4cG9uZW50aWFsKGUpfSxmOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9GaXhlZChlKX0scjpmdW5jdGlvbihlLHIpe3JldHVybihlPXQucm91bmQoZSxFZShlLHIpKSkudG9GaXhlZChNYXRoLm1heCgwLE1hdGgubWluKDIwLEVlKGUqKDErMWUtMTUpLHIpKSkpfX0pO2Z1bmN0aW9uIHplKHQpe3JldHVybiB0KyIifXZhciBJZT10LnRpbWU9e30sRGU9RGF0ZTtmdW5jdGlvbiBSZSgpe3RoaXMuXz1uZXcgRGF0ZShhcmd1bWVudHMubGVuZ3RoPjE/RGF0ZS5VVEMuYXBwbHkodGhpcyxhcmd1bWVudHMpOmFyZ3VtZW50c1swXSl9UmUucHJvdG90eXBlPXtnZXREYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRVVENEYXRlKCl9LGdldERheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDRGF5KCl9LGdldEZ1bGxZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRVVENGdWxsWWVhcigpfSxnZXRIb3VyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDSG91cnMoKX0sZ2V0TWlsbGlzZWNvbmRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRVVENNaWxsaXNlY29uZHMoKX0sZ2V0TWludXRlczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDTWludXRlcygpfSxnZXRNb250aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDTW9udGgoKX0sZ2V0U2Vjb25kczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDU2Vjb25kcygpfSxnZXRUaW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRUaW1lKCl9LGdldFRpbWV6b25lT2Zmc2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDB9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fLnZhbHVlT2YoKX0sc2V0RGF0ZTpmdW5jdGlvbigpe0ZlLnNldFVUQ0RhdGUuYXBwbHkodGhpcy5fLGFyZ3VtZW50cyl9LHNldERheTpmdW5jdGlvbigpe0ZlLnNldFVUQ0RheS5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0RnVsbFllYXI6ZnVuY3Rpb24oKXtGZS5zZXRVVENGdWxsWWVhci5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0SG91cnM6ZnVuY3Rpb24oKXtGZS5zZXRVVENIb3Vycy5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0TWlsbGlzZWNvbmRzOmZ1bmN0aW9uKCl7RmUuc2V0VVRDTWlsbGlzZWNvbmRzLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpfSxzZXRNaW51dGVzOmZ1bmN0aW9uKCl7RmUuc2V0VVRDTWludXRlcy5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0TW9udGg6ZnVuY3Rpb24oKXtGZS5zZXRVVENNb250aC5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0U2Vjb25kczpmdW5jdGlvbigpe0ZlLnNldFVUQ1NlY29uZHMuYXBwbHkodGhpcy5fLGFyZ3VtZW50cyl9LHNldFRpbWU6ZnVuY3Rpb24oKXtGZS5zZXRUaW1lLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpfX07dmFyIEZlPURhdGUucHJvdG90eXBlO2Z1bmN0aW9uIEJlKHQsZSxyKXtmdW5jdGlvbiBuKGUpe3ZhciByPXQoZSksbj1pKHIsMSk7cmV0dXJuIGUtcjxuLWU/cjpufWZ1bmN0aW9uIGEocil7cmV0dXJuIGUocj10KG5ldyBEZShyLTEpKSwxKSxyfWZ1bmN0aW9uIGkodCxyKXtyZXR1cm4gZSh0PW5ldyBEZSgrdCksciksdH1mdW5jdGlvbiBvKHQsbixpKXt2YXIgbz1hKHQpLHM9W107aWYoaT4xKWZvcig7bzxuOylyKG8pJWl8fHMucHVzaChuZXcgRGF0ZSgrbykpLGUobywxKTtlbHNlIGZvcig7bzxuOylzLnB1c2gobmV3IERhdGUoK28pKSxlKG8sMSk7cmV0dXJuIHN9dC5mbG9vcj10LHQucm91bmQ9bix0LmNlaWw9YSx0Lm9mZnNldD1pLHQucmFuZ2U9bzt2YXIgcz10LnV0Yz1OZSh0KTtyZXR1cm4gcy5mbG9vcj1zLHMucm91bmQ9TmUobikscy5jZWlsPU5lKGEpLHMub2Zmc2V0PU5lKGkpLHMucmFuZ2U9ZnVuY3Rpb24odCxlLHIpe3RyeXtEZT1SZTt2YXIgbj1uZXcgUmU7cmV0dXJuIG4uXz10LG8obixlLHIpfWZpbmFsbHl7RGU9RGF0ZX19LHR9ZnVuY3Rpb24gTmUodCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dHJ5e0RlPVJlO3ZhciBuPW5ldyBSZTtyZXR1cm4gbi5fPWUsdChuLHIpLl99ZmluYWxseXtEZT1EYXRlfX19ZnVuY3Rpb24gamUoZSl7dmFyIHI9ZS5kYXRlVGltZSxuPWUuZGF0ZSxhPWUudGltZSxpPWUucGVyaW9kcyxvPWUuZGF5cyxzPWUuc2hvcnREYXlzLGw9ZS5tb250aHMsYz1lLnNob3J0TW9udGhzO2Z1bmN0aW9uIHUodCl7dmFyIGU9dC5sZW5ndGg7ZnVuY3Rpb24gcihyKXtmb3IodmFyIG4sYSxpLG89W10scz0tMSxsPTA7KytzPGU7KTM3PT09dC5jaGFyQ29kZUF0KHMpJiYoby5wdXNoKHQuc2xpY2UobCxzKSksbnVsbCE9KGE9VmVbbj10LmNoYXJBdCgrK3MpXSkmJihuPXQuY2hhckF0KCsrcykpLChpPV9bbl0pJiYobj1pKHIsbnVsbD09YT8iZSI9PT1uPyIgIjoiMCI6YSkpLG8ucHVzaChuKSxsPXMrMSk7cmV0dXJuIG8ucHVzaCh0LnNsaWNlKGwscykpLG8uam9pbigiIil9cmV0dXJuIHIucGFyc2U9ZnVuY3Rpb24oZSl7dmFyIHI9e3k6MTkwMCxtOjAsZDoxLEg6MCxNOjAsUzowLEw6MCxaOm51bGx9O2lmKGgocix0LGUsMCkhPWUubGVuZ3RoKXJldHVybiBudWxsOyJwImluIHImJihyLkg9ci5IJTEyKzEyKnIucCk7dmFyIG49bnVsbCE9ci5aJiZEZSE9PVJlLGE9bmV3KG4/UmU6RGUpO3JldHVybiJqImluIHI/YS5zZXRGdWxsWWVhcihyLnksMCxyLmopOiJXImluIHJ8fCJVImluIHI/KCJ3ImluIHJ8fChyLnc9IlciaW4gcj8xOjApLGEuc2V0RnVsbFllYXIoci55LDAsMSksYS5zZXRGdWxsWWVhcihyLnksMCwiVyJpbiByPyhyLncrNiklNys3KnIuVy0oYS5nZXREYXkoKSs1KSU3OnIudys3KnIuVS0oYS5nZXREYXkoKSs2KSU3KSk6YS5zZXRGdWxsWWVhcihyLnksci5tLHIuZCksYS5zZXRIb3VycyhyLkgrKHIuWi8xMDB8MCksci5NK3IuWiUxMDAsci5TLHIuTCksbj9hLl86YX0sci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxyfWZ1bmN0aW9uIGgodCxlLHIsbil7Zm9yKHZhciBhLGksbyxzPTAsbD1lLmxlbmd0aCxjPXIubGVuZ3RoO3M8bDspe2lmKG4+PWMpcmV0dXJuLTE7aWYoMzc9PT0oYT1lLmNoYXJDb2RlQXQocysrKSkpe2lmKG89ZS5jaGFyQXQocysrKSwhKGk9d1tvIGluIFZlP2UuY2hhckF0KHMrKyk6b10pfHwobj1pKHQscixuKSk8MClyZXR1cm4tMX1lbHNlIGlmKGEhPXIuY2hhckNvZGVBdChuKyspKXJldHVybi0xfXJldHVybiBufXUudXRjPWZ1bmN0aW9uKHQpe3ZhciBlPXUodCk7ZnVuY3Rpb24gcih0KXt0cnl7dmFyIHI9bmV3KERlPVJlKTtyZXR1cm4gci5fPXQsZShyKX1maW5hbGx5e0RlPURhdGV9fXJldHVybiByLnBhcnNlPWZ1bmN0aW9uKHQpe3RyeXtEZT1SZTt2YXIgcj1lLnBhcnNlKHQpO3JldHVybiByJiZyLl99ZmluYWxseXtEZT1EYXRlfX0sci50b1N0cmluZz1lLnRvU3RyaW5nLHJ9LHUubXVsdGk9dS51dGMubXVsdGk9bHI7dmFyIGY9dC5tYXAoKSxwPUdlKG8pLGQ9WWUobyksZz1HZShzKSx2PVllKHMpLG09R2UobCkseT1ZZShsKSx4PUdlKGMpLGI9WWUoYyk7aS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7Zi5zZXQodC50b0xvd2VyQ2FzZSgpLGUpfSk7dmFyIF89e2E6ZnVuY3Rpb24odCl7cmV0dXJuIHNbdC5nZXREYXkoKV19LEE6ZnVuY3Rpb24odCl7cmV0dXJuIG9bdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24odCl7cmV0dXJuIGNbdC5nZXRNb250aCgpXX0sQjpmdW5jdGlvbih0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxjOnUociksZDpmdW5jdGlvbih0LGUpe3JldHVybiBIZSh0LmdldERhdGUoKSxlLDIpfSxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKHQuZ2V0RGF0ZSgpLGUsMil9LEg6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRIb3VycygpLGUsMil9LEk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRIb3VycygpJTEyfHwxMixlLDIpfSxqOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKDErSWUuZGF5T2ZZZWFyKHQpLGUsMyl9LEw6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRNaWxsaXNlY29uZHMoKSxlLDMpfSxtOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKHQuZ2V0TW9udGgoKSsxLGUsMil9LE06ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRNaW51dGVzKCksZSwyKX0scDpmdW5jdGlvbih0KXtyZXR1cm4gaVsrKHQuZ2V0SG91cnMoKT49MTIpXX0sUzpmdW5jdGlvbih0LGUpe3JldHVybiBIZSh0LmdldFNlY29uZHMoKSxlLDIpfSxVOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKEllLnN1bmRheU9mWWVhcih0KSxlLDIpfSx3OmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldERheSgpfSxXOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKEllLm1vbmRheU9mWWVhcih0KSxlLDIpfSx4OnUobiksWDp1KGEpLHk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfSxZOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKHQuZ2V0RnVsbFllYXIoKSUxZTQsZSw0KX0sWjpvciwiJSI6ZnVuY3Rpb24oKXtyZXR1cm4iJSJ9fSx3PXthOmZ1bmN0aW9uKHQsZSxyKXtnLmxhc3RJbmRleD0wO3ZhciBuPWcuZXhlYyhlLnNsaWNlKHIpKTtyZXR1cm4gbj8odC53PXYuZ2V0KG5bMF0udG9Mb3dlckNhc2UoKSkscituWzBdLmxlbmd0aCk6LTF9LEE6ZnVuY3Rpb24odCxlLHIpe3AubGFzdEluZGV4PTA7dmFyIG49cC5leGVjKGUuc2xpY2UocikpO3JldHVybiBuPyh0Lnc9ZC5nZXQoblswXS50b0xvd2VyQ2FzZSgpKSxyK25bMF0ubGVuZ3RoKTotMX0sYjpmdW5jdGlvbih0LGUscil7eC5sYXN0SW5kZXg9MDt2YXIgbj14LmV4ZWMoZS5zbGljZShyKSk7cmV0dXJuIG4/KHQubT1iLmdldChuWzBdLnRvTG93ZXJDYXNlKCkpLHIrblswXS5sZW5ndGgpOi0xfSxCOmZ1bmN0aW9uKHQsZSxyKXttLmxhc3RJbmRleD0wO3ZhciBuPW0uZXhlYyhlLnNsaWNlKHIpKTtyZXR1cm4gbj8odC5tPXkuZ2V0KG5bMF0udG9Mb3dlckNhc2UoKSkscituWzBdLmxlbmd0aCk6LTF9LGM6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBoKHQsXy5jLnRvU3RyaW5nKCksZSxyKX0sZDp0cixlOnRyLEg6cnIsSTpycixqOmVyLEw6aXIsbTokZSxNOm5yLHA6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWYuZ2V0KGUuc2xpY2UocixyKz0yKS50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gbnVsbD09bj8tMToodC5wPW4scil9LFM6YXIsVTpYZSx3OldlLFc6WmUseDpmdW5jdGlvbih0LGUscil7cmV0dXJuIGgodCxfLngudG9TdHJpbmcoKSxlLHIpfSxYOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gaCh0LF8uWC50b1N0cmluZygpLGUscil9LHk6S2UsWTpKZSxaOlFlLCIlIjpzcn07cmV0dXJuIHV9SWUueWVhcj1CZShmdW5jdGlvbih0KXtyZXR1cm4odD1JZS5kYXkodCkpLnNldE1vbnRoKDAsMSksdH0sZnVuY3Rpb24odCxlKXt0LnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKStlKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pLEllLnllYXJzPUllLnllYXIucmFuZ2UsSWUueWVhcnMudXRjPUllLnllYXIudXRjLnJhbmdlLEllLmRheT1CZShmdW5jdGlvbih0KXt2YXIgZT1uZXcgRGUoMmUzLDApO3JldHVybiBlLnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKSx0LmdldE1vbnRoKCksdC5nZXREYXRlKCkpLGV9LGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpK2UpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pLEllLmRheXM9SWUuZGF5LnJhbmdlLEllLmRheXMudXRjPUllLmRheS51dGMucmFuZ2UsSWUuZGF5T2ZZZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPUllLnllYXIodCk7cmV0dXJuIE1hdGguZmxvb3IoKHQtZS02ZTQqKHQuZ2V0VGltZXpvbmVPZmZzZXQoKS1lLmdldFRpbWV6b25lT2Zmc2V0KCkpKS84NjRlNSl9LFsic3VuZGF5IiwibW9uZGF5IiwidHVlc2RheSIsIndlZG5lc2RheSIsInRodXJzZGF5IiwiZnJpZGF5Iiwic2F0dXJkYXkiXS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7ZT03LWU7dmFyIHI9SWVbdF09QmUoZnVuY3Rpb24odCl7cmV0dXJuKHQ9SWUuZGF5KHQpKS5zZXREYXRlKHQuZ2V0RGF0ZSgpLSh0LmdldERheSgpK2UpJTcpLHR9LGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpKzcqTWF0aC5mbG9vcihlKSl9LGZ1bmN0aW9uKHQpe3ZhciByPUllLnllYXIodCkuZ2V0RGF5KCk7cmV0dXJuIE1hdGguZmxvb3IoKEllLmRheU9mWWVhcih0KSsocitlKSU3KS83KS0ociE9PWUpfSk7SWVbdCsicyJdPXIucmFuZ2UsSWVbdCsicyJdLnV0Yz1yLnV0Yy5yYW5nZSxJZVt0KyJPZlllYXIiXT1mdW5jdGlvbih0KXt2YXIgcj1JZS55ZWFyKHQpLmdldERheSgpO3JldHVybiBNYXRoLmZsb29yKChJZS5kYXlPZlllYXIodCkrKHIrZSklNykvNyl9fSksSWUud2Vlaz1JZS5zdW5kYXksSWUud2Vla3M9SWUuc3VuZGF5LnJhbmdlLEllLndlZWtzLnV0Yz1JZS5zdW5kYXkudXRjLnJhbmdlLEllLndlZWtPZlllYXI9SWUuc3VuZGF5T2ZZZWFyO3ZhciBWZT17Ii0iOiIiLF86IiAiLDA6IjAifSxVZT0vXlxzKlxkKy8scWU9L14lLztmdW5jdGlvbiBIZSh0LGUscil7dmFyIG49dDwwPyItIjoiIixhPShuPy10OnQpKyIiLGk9YS5sZW5ndGg7cmV0dXJuIG4rKGk8cj9uZXcgQXJyYXkoci1pKzEpLmpvaW4oZSkrYTphKX1mdW5jdGlvbiBHZShlKXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrZS5tYXAodC5yZXF1b3RlKS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gWWUodCl7Zm9yKHZhciBlPW5ldyBiLHI9LTEsbj10Lmxlbmd0aDsrK3I8bjspZS5zZXQodFtyXS50b0xvd2VyQ2FzZSgpLHIpO3JldHVybiBlfWZ1bmN0aW9uIFdlKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzEpKTtyZXR1cm4gbj8odC53PStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFhlKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocikpO3JldHVybiBuPyh0LlU9K25bMF0scituWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gWmUodCxlLHIpe1VlLmxhc3RJbmRleD0wO3ZhciBuPVVlLmV4ZWMoZS5zbGljZShyKSk7cmV0dXJuIG4/KHQuVz0rblswXSxyK25bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBKZSh0LGUscil7VWUubGFzdEluZGV4PTA7dmFyIG49VWUuZXhlYyhlLnNsaWNlKHIscis0KSk7cmV0dXJuIG4/KHQueT0rblswXSxyK25bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBLZSh0LGUscil7VWUubGFzdEluZGV4PTA7dmFyIG4sYT1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gYT8odC55PShuPSthWzBdKSsobj42OD8xOTAwOjJlMykscithWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUWUodCxlLHIpe3JldHVybi9eWystXVxkezR9JC8udGVzdChlPWUuc2xpY2UocixyKzUpKT8odC5aPS1lLHIrNSk6LTF9ZnVuY3Rpb24gJGUodCxlLHIpe1VlLmxhc3RJbmRleD0wO3ZhciBuPVVlLmV4ZWMoZS5zbGljZShyLHIrMikpO3JldHVybiBuPyh0Lm09blswXS0xLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHRyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5kPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGVyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzMpKTtyZXR1cm4gbj8odC5qPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHJyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5IPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIG5yKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5NPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGFyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5TPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGlyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzMpKTtyZXR1cm4gbj8odC5MPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIG9yKHQpe3ZhciBlPXQuZ2V0VGltZXpvbmVPZmZzZXQoKSxyPWU+MD8iLSI6IisiLG49eShlKS82MHwwLGE9eShlKSU2MDtyZXR1cm4gcitIZShuLCIwIiwyKStIZShhLCIwIiwyKX1mdW5jdGlvbiBzcih0LGUscil7cWUubGFzdEluZGV4PTA7dmFyIG49cWUuZXhlYyhlLnNsaWNlKHIscisxKSk7cmV0dXJuIG4/cituWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBscih0KXtmb3IodmFyIGU9dC5sZW5ndGgscj0tMTsrK3I8ZTspdFtyXVswXT10aGlzKHRbcl1bMF0pO3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHI9MCxuPXRbcl07IW5bMV0oZSk7KW49dFsrK3JdO3JldHVybiBuWzBdKGUpfX10LmxvY2FsZT1mdW5jdGlvbih0KXtyZXR1cm57bnVtYmVyRm9ybWF0OkNlKHQpLHRpbWVGb3JtYXQ6amUodCl9fTt2YXIgY3I9dC5sb2NhbGUoe2RlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLGRhdGVUaW1lOiIlYSAlYiAlZSAlWCAlWSIsZGF0ZToiJW0vJWQvJVkiLHRpbWU6IiVIOiVNOiVTIixwZXJpb2RzOlsiQU0iLCJQTSJdLGRheXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLHNob3J0RGF5czpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLG1vbnRoczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sc2hvcnRNb250aHM6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXX0pO2Z1bmN0aW9uIHVyKCl7fXQuZm9ybWF0PWNyLm51bWJlckZvcm1hdCx0Lmdlbz17fSx1ci5wcm90b3R5cGU9e3M6MCx0OjAsYWRkOmZ1bmN0aW9uKHQpe2ZyKHQsdGhpcy50LGhyKSxmcihoci5zLHRoaXMucyx0aGlzKSx0aGlzLnM/dGhpcy50Kz1oci50OnRoaXMucz1oci50fSxyZXNldDpmdW5jdGlvbigpe3RoaXMucz10aGlzLnQ9MH0sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN9fTt2YXIgaHI9bmV3IHVyO2Z1bmN0aW9uIGZyKHQsZSxyKXt2YXIgbj1yLnM9dCtlLGE9bi10LGk9bi1hO3IudD10LWkrKGUtYSl9ZnVuY3Rpb24gcHIodCxlKXt0JiZnci5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpJiZnclt0LnR5cGVdKHQsZSl9dC5nZW8uc3RyZWFtPWZ1bmN0aW9uKHQsZSl7dCYmZHIuaGFzT3duUHJvcGVydHkodC50eXBlKT9kclt0LnR5cGVdKHQsZSk6cHIodCxlKX07dmFyIGRyPXtGZWF0dXJlOmZ1bmN0aW9uKHQsZSl7cHIodC5nZW9tZXRyeSxlKX0sRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5mZWF0dXJlcyxuPS0xLGE9ci5sZW5ndGg7KytuPGE7KXByKHJbbl0uZ2VvbWV0cnksZSl9fSxncj17U3BoZXJlOmZ1bmN0aW9uKHQsZSl7ZS5zcGhlcmUoKX0sUG9pbnQ6ZnVuY3Rpb24odCxlKXt0PXQuY29vcmRpbmF0ZXMsZS5wb2ludCh0WzBdLHRbMV0sdFsyXSl9LE11bHRpUG9pbnQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5jb29yZGluYXRlcyxuPS0xLGE9ci5sZW5ndGg7KytuPGE7KXQ9cltuXSxlLnBvaW50KHRbMF0sdFsxXSx0WzJdKX0sTGluZVN0cmluZzpmdW5jdGlvbih0LGUpe3ZyKHQuY29vcmRpbmF0ZXMsZSwwKX0sTXVsdGlMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuY29vcmRpbmF0ZXMsbj0tMSxhPXIubGVuZ3RoOysrbjxhOyl2cihyW25dLGUsMCl9LFBvbHlnb246ZnVuY3Rpb24odCxlKXttcih0LmNvb3JkaW5hdGVzLGUpfSxNdWx0aVBvbHlnb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5jb29yZGluYXRlcyxuPS0xLGE9ci5sZW5ndGg7KytuPGE7KW1yKHJbbl0sZSl9LEdlb21ldHJ5Q29sbGVjdGlvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmdlb21ldHJpZXMsbj0tMSxhPXIubGVuZ3RoOysrbjxhOylwcihyW25dLGUpfX07ZnVuY3Rpb24gdnIodCxlLHIpe3ZhciBuLGE9LTEsaT10Lmxlbmd0aC1yO2ZvcihlLmxpbmVTdGFydCgpOysrYTxpOyluPXRbYV0sZS5wb2ludChuWzBdLG5bMV0sblsyXSk7ZS5saW5lRW5kKCl9ZnVuY3Rpb24gbXIodCxlKXt2YXIgcj0tMSxuPXQubGVuZ3RoO2ZvcihlLnBvbHlnb25TdGFydCgpOysrcjxuOyl2cih0W3JdLGUsMSk7ZS5wb2x5Z29uRW5kKCl9dC5nZW8uYXJlYT1mdW5jdGlvbihlKXtyZXR1cm4geXI9MCx0Lmdlby5zdHJlYW0oZSxQcikseXJ9O3ZhciB5cix4cixicixfcix3cixrcixUcixNcixBcixTcixFcixMcixDcj1uZXcgdXIsUHI9e3NwaGVyZTpmdW5jdGlvbigpe3lyKz00Kk10fSxwb2ludDpELGxpbmVTdGFydDpELGxpbmVFbmQ6RCxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtDci5yZXNldCgpLFByLmxpbmVTdGFydD1Pcn0scG9seWdvbkVuZDpmdW5jdGlvbigpe3ZhciB0PTIqQ3I7eXIrPXQ8MD80Kk10K3Q6dCxQci5saW5lU3RhcnQ9UHIubGluZUVuZD1Qci5wb2ludD1EfX07ZnVuY3Rpb24gT3IoKXt2YXIgdCxlLHIsbixhO2Z1bmN0aW9uIGkodCxlKXtlPWUqTHQvMitNdC80O3ZhciBpPSh0Kj1MdCktcixvPWk+PTA/MTotMSxzPW8qaSxsPU1hdGguY29zKGUpLGM9TWF0aC5zaW4oZSksdT1hKmMsaD1uKmwrdSpNYXRoLmNvcyhzKSxmPXUqbypNYXRoLnNpbihzKTtDci5hZGQoTWF0aC5hdGFuMihmLGgpKSxyPXQsbj1sLGE9Y31Qci5wb2ludD1mdW5jdGlvbihvLHMpe1ByLnBvaW50PWkscj0odD1vKSpMdCxuPU1hdGguY29zKHM9KGU9cykqTHQvMitNdC80KSxhPU1hdGguc2luKHMpfSxQci5saW5lRW5kPWZ1bmN0aW9uKCl7aSh0LGUpfX1mdW5jdGlvbiB6cih0KXt2YXIgZT10WzBdLHI9dFsxXSxuPU1hdGguY29zKHIpO3JldHVybltuKk1hdGguY29zKGUpLG4qTWF0aC5zaW4oZSksTWF0aC5zaW4ocildfWZ1bmN0aW9uIElyKHQsZSl7cmV0dXJuIHRbMF0qZVswXSt0WzFdKmVbMV0rdFsyXSplWzJdfWZ1bmN0aW9uIERyKHQsZSl7cmV0dXJuW3RbMV0qZVsyXS10WzJdKmVbMV0sdFsyXSplWzBdLXRbMF0qZVsyXSx0WzBdKmVbMV0tdFsxXSplWzBdXX1mdW5jdGlvbiBScih0LGUpe3RbMF0rPWVbMF0sdFsxXSs9ZVsxXSx0WzJdKz1lWzJdfWZ1bmN0aW9uIEZyKHQsZSl7cmV0dXJuW3RbMF0qZSx0WzFdKmUsdFsyXSplXX1mdW5jdGlvbiBCcih0KXt2YXIgZT1NYXRoLnNxcnQodFswXSp0WzBdK3RbMV0qdFsxXSt0WzJdKnRbMl0pO3RbMF0vPWUsdFsxXS89ZSx0WzJdLz1lfWZ1bmN0aW9uIE5yKHQpe3JldHVybltNYXRoLmF0YW4yKHRbMV0sdFswXSksSXQodFsyXSldfWZ1bmN0aW9uIGpyKHQsZSl7cmV0dXJuIHkodFswXS1lWzBdKTxrdCYmeSh0WzFdLWVbMV0pPGt0fXQuZ2VvLmJvdW5kcz1mdW5jdGlvbigpe3ZhciBlLHIsbixhLGksbyxzLGwsYyx1LGgsZj17cG9pbnQ6cCxsaW5lU3RhcnQ6ZyxsaW5lRW5kOnYscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7Zi5wb2ludD1tLGYubGluZVN0YXJ0PXgsZi5saW5lRW5kPWIsYz0wLFByLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7UHIucG9seWdvbkVuZCgpLGYucG9pbnQ9cCxmLmxpbmVTdGFydD1nLGYubGluZUVuZD12LENyPDA/KGU9LShuPTE4MCkscj0tKGE9OTApKTpjPmt0P2E9OTA6Yzwta3QmJihyPS05MCksaFswXT1lLGhbMV09bn19O2Z1bmN0aW9uIHAodCxpKXt1LnB1c2goaD1bZT10LG49dF0pLGk8ciYmKHI9aSksaT5hJiYoYT1pKX1mdW5jdGlvbiBkKHQsbyl7dmFyIHM9enIoW3QqTHQsbypMdF0pO2lmKGwpe3ZhciBjPURyKGwscyksdT1EcihbY1sxXSwtY1swXSwwXSxjKTtCcih1KSx1PU5yKHUpO3ZhciBoPXQtaSxmPWg+MD8xOi0xLGQ9dVswXSpDdCpmLGc9eShoKT4xODA7aWYoZ14oZippPGQmJmQ8Zip0KSkodj11WzFdKkN0KT5hJiYoYT12KTtlbHNlIGlmKGdeKGYqaTwoZD0oZCszNjApJTM2MC0xODApJiZkPGYqdCkpe3ZhciB2Oyh2PS11WzFdKkN0KTxyJiYocj12KX1lbHNlIG88ciYmKHI9byksbz5hJiYoYT1vKTtnP3Q8aT9fKGUsdCk+XyhlLG4pJiYobj10KTpfKHQsbik+XyhlLG4pJiYoZT10KTpuPj1lPyh0PGUmJihlPXQpLHQ+biYmKG49dCkpOnQ+aT9fKGUsdCk+XyhlLG4pJiYobj10KTpfKHQsbik+XyhlLG4pJiYoZT10KX1lbHNlIHAodCxvKTtsPXMsaT10fWZ1bmN0aW9uIGcoKXtmLnBvaW50PWR9ZnVuY3Rpb24gdigpe2hbMF09ZSxoWzFdPW4sZi5wb2ludD1wLGw9bnVsbH1mdW5jdGlvbiBtKHQsZSl7aWYobCl7dmFyIHI9dC1pO2MrPXkocik+MTgwP3IrKHI+MD8zNjA6LTM2MCk6cn1lbHNlIG89dCxzPWU7UHIucG9pbnQodCxlKSxkKHQsZSl9ZnVuY3Rpb24geCgpe1ByLmxpbmVTdGFydCgpfWZ1bmN0aW9uIGIoKXttKG8scyksUHIubGluZUVuZCgpLHkoYyk+a3QmJihlPS0obj0xODApKSxoWzBdPWUsaFsxXT1uLGw9bnVsbH1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuKGUtPXQpPDA/ZSszNjA6ZX1mdW5jdGlvbiB3KHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBrKHQsZSl7cmV0dXJuIGVbMF08PWVbMV0/ZVswXTw9dCYmdDw9ZVsxXTp0PGVbMF18fGVbMV08dH1yZXR1cm4gZnVuY3Rpb24oaSl7aWYoYT1uPS0oZT1yPTEvMCksdT1bXSx0Lmdlby5zdHJlYW0oaSxmKSxjPXUubGVuZ3RoKXt1LnNvcnQodyk7Zm9yKHZhciBvPTEscz1bZz11WzBdXTtvPGM7KytvKWsoKHA9dVtvXSlbMF0sZyl8fGsocFsxXSxnKT8oXyhnWzBdLHBbMV0pPl8oZ1swXSxnWzFdKSYmKGdbMV09cFsxXSksXyhwWzBdLGdbMV0pPl8oZ1swXSxnWzFdKSYmKGdbMF09cFswXSkpOnMucHVzaChnPXApO2Zvcih2YXIgbCxjLHAsZD0tMS8wLGc9KG89MCxzW2M9cy5sZW5ndGgtMV0pO288PWM7Zz1wLCsrbylwPXNbb10sKGw9XyhnWzFdLHBbMF0pKT5kJiYoZD1sLGU9cFswXSxuPWdbMV0pfXJldHVybiB1PWg9bnVsbCxlPT09MS8wfHxyPT09MS8wP1tbTmFOLE5hTl0sW05hTixOYU5dXTpbW2Uscl0sW24sYV1dfX0oKSx0Lmdlby5jZW50cm9pZD1mdW5jdGlvbihlKXt4cj1icj1fcj13cj1rcj1Ucj1Ncj1Bcj1Tcj1Fcj1Mcj0wLHQuZ2VvLnN0cmVhbShlLFZyKTt2YXIgcj1TcixuPUVyLGE9THIsaT1yKnIrbipuK2EqYTtyZXR1cm4gaTxUdCYmKHI9VHIsbj1NcixhPUFyLGJyPGt0JiYocj1fcixuPXdyLGE9a3IpLChpPXIqcituKm4rYSphKTxUdCk/W05hTixOYU5dOltNYXRoLmF0YW4yKG4scikqQ3QsSXQoYS9NYXRoLnNxcnQoaSkpKkN0XX07dmFyIFZyPXtzcGhlcmU6RCxwb2ludDpVcixsaW5lU3RhcnQ6SHIsbGluZUVuZDpHcixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtWci5saW5lU3RhcnQ9WXJ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtWci5saW5lU3RhcnQ9SHJ9fTtmdW5jdGlvbiBVcih0LGUpe3QqPUx0O3ZhciByPU1hdGguY29zKGUqPUx0KTtxcihyKk1hdGguY29zKHQpLHIqTWF0aC5zaW4odCksTWF0aC5zaW4oZSkpfWZ1bmN0aW9uIHFyKHQsZSxyKXtfcis9KHQtX3IpLysreHIsd3IrPShlLXdyKS94cixrcis9KHIta3IpL3hyfWZ1bmN0aW9uIEhyKCl7dmFyIHQsZSxyO2Z1bmN0aW9uIG4obixhKXtuKj1MdDt2YXIgaT1NYXRoLmNvcyhhKj1MdCksbz1pKk1hdGguY29zKG4pLHM9aSpNYXRoLnNpbihuKSxsPU1hdGguc2luKGEpLGM9TWF0aC5hdGFuMihNYXRoLnNxcnQoKGM9ZSpsLXIqcykqYysoYz1yKm8tdCpsKSpjKyhjPXQqcy1lKm8pKmMpLHQqbytlKnMrcipsKTticis9YyxUcis9YyoodCsodD1vKSksTXIrPWMqKGUrKGU9cykpLEFyKz1jKihyKyhyPWwpKSxxcih0LGUscil9VnIucG9pbnQ9ZnVuY3Rpb24oYSxpKXthKj1MdDt2YXIgbz1NYXRoLmNvcyhpKj1MdCk7dD1vKk1hdGguY29zKGEpLGU9bypNYXRoLnNpbihhKSxyPU1hdGguc2luKGkpLFZyLnBvaW50PW4scXIodCxlLHIpfX1mdW5jdGlvbiBHcigpe1ZyLnBvaW50PVVyfWZ1bmN0aW9uIFlyKCl7dmFyIHQsZSxyLG4sYTtmdW5jdGlvbiBpKHQsZSl7dCo9THQ7dmFyIGk9TWF0aC5jb3MoZSo9THQpLG89aSpNYXRoLmNvcyh0KSxzPWkqTWF0aC5zaW4odCksbD1NYXRoLnNpbihlKSxjPW4qbC1hKnMsdT1hKm8tcipsLGg9cipzLW4qbyxmPU1hdGguc3FydChjKmMrdSp1K2gqaCkscD1yKm8rbipzK2EqbCxkPWYmJi16dChwKS9mLGc9TWF0aC5hdGFuMihmLHApO1NyKz1kKmMsRXIrPWQqdSxMcis9ZCpoLGJyKz1nLFRyKz1nKihyKyhyPW8pKSxNcis9Zyoobisobj1zKSksQXIrPWcqKGErKGE9bCkpLHFyKHIsbixhKX1Wci5wb2ludD1mdW5jdGlvbihvLHMpe3Q9byxlPXMsVnIucG9pbnQ9aSxvKj1MdDt2YXIgbD1NYXRoLmNvcyhzKj1MdCk7cj1sKk1hdGguY29zKG8pLG49bCpNYXRoLnNpbihvKSxhPU1hdGguc2luKHMpLHFyKHIsbixhKX0sVnIubGluZUVuZD1mdW5jdGlvbigpe2kodCxlKSxWci5saW5lRW5kPUdyLFZyLnBvaW50PVVyfX1mdW5jdGlvbiBXcih0LGUpe2Z1bmN0aW9uIHIocixuKXtyZXR1cm4gcj10KHIsbiksZShyWzBdLHJbMV0pfXJldHVybiB0LmludmVydCYmZS5pbnZlcnQmJihyLmludmVydD1mdW5jdGlvbihyLG4pe3JldHVybihyPWUuaW52ZXJ0KHIsbikpJiZ0LmludmVydChyWzBdLHJbMV0pfSkscn1mdW5jdGlvbiBYcigpe3JldHVybiEwfWZ1bmN0aW9uIFpyKHQsZSxyLG4sYSl7dmFyIGk9W10sbz1bXTtpZih0LmZvckVhY2goZnVuY3Rpb24odCl7aWYoISgoZT10Lmxlbmd0aC0xKTw9MCkpe3ZhciBlLHI9dFswXSxuPXRbZV07aWYoanIocixuKSl7YS5saW5lU3RhcnQoKTtmb3IodmFyIHM9MDtzPGU7KytzKWEucG9pbnQoKHI9dFtzXSlbMF0sclsxXSk7YS5saW5lRW5kKCl9ZWxzZXt2YXIgbD1uZXcgS3Iocix0LG51bGwsITApLGM9bmV3IEtyKHIsbnVsbCxsLCExKTtsLm89YyxpLnB1c2gobCksby5wdXNoKGMpLGw9bmV3IEtyKG4sdCxudWxsLCExKSxjPW5ldyBLcihuLG51bGwsbCwhMCksbC5vPWMsaS5wdXNoKGwpLG8ucHVzaChjKX19fSksby5zb3J0KGUpLEpyKGkpLEpyKG8pLGkubGVuZ3RoKXtmb3IodmFyIHM9MCxsPXIsYz1vLmxlbmd0aDtzPGM7KytzKW9bc10uZT1sPSFsO2Zvcih2YXIgdSxoLGY9aVswXTs7KXtmb3IodmFyIHA9ZixkPSEwO3AudjspaWYoKHA9cC5uKT09PWYpcmV0dXJuO3U9cC56LGEubGluZVN0YXJ0KCk7ZG97aWYocC52PXAuby52PSEwLHAuZSl7aWYoZClmb3Iocz0wLGM9dS5sZW5ndGg7czxjOysrcylhLnBvaW50KChoPXVbc10pWzBdLGhbMV0pO2Vsc2UgbihwLngscC5uLngsMSxhKTtwPXAubn1lbHNle2lmKGQpZm9yKHM9KHU9cC5wLnopLmxlbmd0aC0xO3M+PTA7LS1zKWEucG9pbnQoKGg9dVtzXSlbMF0saFsxXSk7ZWxzZSBuKHAueCxwLnAueCwtMSxhKTtwPXAucH11PShwPXAubykueixkPSFkfXdoaWxlKCFwLnYpO2EubGluZUVuZCgpfX19ZnVuY3Rpb24gSnIodCl7aWYoZT10Lmxlbmd0aCl7Zm9yKHZhciBlLHIsbj0wLGE9dFswXTsrK248ZTspYS5uPXI9dFtuXSxyLnA9YSxhPXI7YS5uPXI9dFswXSxyLnA9YX19ZnVuY3Rpb24gS3IodCxlLHIsbil7dGhpcy54PXQsdGhpcy56PWUsdGhpcy5vPXIsdGhpcy5lPW4sdGhpcy52PSExLHRoaXMubj10aGlzLnA9bnVsbH1mdW5jdGlvbiBRcihlLHIsbixhKXtyZXR1cm4gZnVuY3Rpb24oaSxvKXt2YXIgcyxsPXIobyksYz1pLmludmVydChhWzBdLGFbMV0pLHU9e3BvaW50OmgsbGluZVN0YXJ0OnAsbGluZUVuZDpkLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3UucG9pbnQ9Yix1LmxpbmVTdGFydD1fLHUubGluZUVuZD13LHM9W10sZz1bXX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3UucG9pbnQ9aCx1LmxpbmVTdGFydD1wLHUubGluZUVuZD1kLHM9dC5tZXJnZShzKTt2YXIgZT1mdW5jdGlvbih0LGUpe3ZhciByPXRbMF0sbj10WzFdLGE9W01hdGguc2luKHIpLC1NYXRoLmNvcyhyKSwwXSxpPTAsbz0wO0NyLnJlc2V0KCk7Zm9yKHZhciBzPTAsbD1lLmxlbmd0aDtzPGw7KytzKXt2YXIgYz1lW3NdLHU9Yy5sZW5ndGg7aWYodSlmb3IodmFyIGg9Y1swXSxmPWhbMF0scD1oWzFdLzIrTXQvNCxkPU1hdGguc2luKHApLGc9TWF0aC5jb3MocCksdj0xOzspe3Y9PT11JiYodj0wKTt2YXIgbT0odD1jW3ZdKVswXSx5PXRbMV0vMitNdC80LHg9TWF0aC5zaW4oeSksYj1NYXRoLmNvcyh5KSxfPW0tZix3PV8+PTA/MTotMSxrPXcqXyxUPWs+TXQsTT1kKng7aWYoQ3IuYWRkKE1hdGguYXRhbjIoTSp3Kk1hdGguc2luKGspLGcqYitNKk1hdGguY29zKGspKSksaSs9VD9fK3cqQXQ6XyxUXmY+PXJebT49cil7dmFyIEE9RHIoenIoaCksenIodCkpO0JyKEEpO3ZhciBTPURyKGEsQSk7QnIoUyk7dmFyIEU9KFReXz49MD8tMToxKSpJdChTWzJdKTsobj5FfHxuPT09RSYmKEFbMF18fEFbMV0pKSYmKG8rPVReXz49MD8xOi0xKX1pZighdisrKWJyZWFrO2Y9bSxkPXgsZz1iLGg9dH19cmV0dXJuKGk8LWt0fHxpPGt0JiZDcjwta3QpXjEmb30oYyxnKTtzLmxlbmd0aD8oeHx8KG8ucG9seWdvblN0YXJ0KCkseD0hMCksWnIocyxlbixlLG4sbykpOmUmJih4fHwoby5wb2x5Z29uU3RhcnQoKSx4PSEwKSxvLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsbyksby5saW5lRW5kKCkpLHgmJihvLnBvbHlnb25FbmQoKSx4PSExKSxzPWc9bnVsbH0sc3BoZXJlOmZ1bmN0aW9uKCl7by5wb2x5Z29uU3RhcnQoKSxvLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsbyksby5saW5lRW5kKCksby5wb2x5Z29uRW5kKCl9fTtmdW5jdGlvbiBoKHQscil7dmFyIG49aSh0LHIpO2UodD1uWzBdLHI9blsxXSkmJm8ucG9pbnQodCxyKX1mdW5jdGlvbiBmKHQsZSl7dmFyIHI9aSh0LGUpO2wucG9pbnQoclswXSxyWzFdKX1mdW5jdGlvbiBwKCl7dS5wb2ludD1mLGwubGluZVN0YXJ0KCl9ZnVuY3Rpb24gZCgpe3UucG9pbnQ9aCxsLmxpbmVFbmQoKX12YXIgZyx2LG09dG4oKSx5PXIobSkseD0hMTtmdW5jdGlvbiBiKHQsZSl7di5wdXNoKFt0LGVdKTt2YXIgcj1pKHQsZSk7eS5wb2ludChyWzBdLHJbMV0pfWZ1bmN0aW9uIF8oKXt5LmxpbmVTdGFydCgpLHY9W119ZnVuY3Rpb24gdygpe2IodlswXVswXSx2WzBdWzFdKSx5LmxpbmVFbmQoKTt2YXIgdCxlPXkuY2xlYW4oKSxyPW0uYnVmZmVyKCksbj1yLmxlbmd0aDtpZih2LnBvcCgpLGcucHVzaCh2KSx2PW51bGwsbilpZigxJmUpe3ZhciBhLGk9LTE7aWYoKG49KHQ9clswXSkubGVuZ3RoLTEpPjApe2Zvcih4fHwoby5wb2x5Z29uU3RhcnQoKSx4PSEwKSxvLmxpbmVTdGFydCgpOysraTxuOylvLnBvaW50KChhPXRbaV0pWzBdLGFbMV0pO28ubGluZUVuZCgpfX1lbHNlIG4+MSYmMiZlJiZyLnB1c2goci5wb3AoKS5jb25jYXQoci5zaGlmdCgpKSkscy5wdXNoKHIuZmlsdGVyKCRyKSl9cmV0dXJuIHV9fWZ1bmN0aW9uICRyKHQpe3JldHVybiB0Lmxlbmd0aD4xfWZ1bmN0aW9uIHRuKCl7dmFyIHQsZT1bXTtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7ZS5wdXNoKHQ9W10pfSxwb2ludDpmdW5jdGlvbihlLHIpe3QucHVzaChbZSxyXSl9LGxpbmVFbmQ6RCxidWZmZXI6ZnVuY3Rpb24oKXt2YXIgcj1lO3JldHVybiBlPVtdLHQ9bnVsbCxyfSxyZWpvaW46ZnVuY3Rpb24oKXtlLmxlbmd0aD4xJiZlLnB1c2goZS5wb3AoKS5jb25jYXQoZS5zaGlmdCgpKSl9fX1mdW5jdGlvbiBlbih0LGUpe3JldHVybigodD10LngpWzBdPDA/dFsxXS1FdC1rdDpFdC10WzFdKS0oKGU9ZS54KVswXTwwP2VbMV0tRXQta3Q6RXQtZVsxXSl9dmFyIHJuPVFyKFhyLGZ1bmN0aW9uKHQpe3ZhciBlLHI9TmFOLG49TmFOLGE9TmFOO3JldHVybntsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0LmxpbmVTdGFydCgpLGU9MX0scG9pbnQ6ZnVuY3Rpb24oaSxvKXt2YXIgcz1pPjA/TXQ6LU10LGw9eShpLXIpO3kobC1NdCk8a3Q/KHQucG9pbnQocixuPShuK28pLzI+MD9FdDotRXQpLHQucG9pbnQoYSxuKSx0LmxpbmVFbmQoKSx0LmxpbmVTdGFydCgpLHQucG9pbnQocyxuKSx0LnBvaW50KGksbiksZT0wKTphIT09cyYmbD49TXQmJih5KHItYSk8a3QmJihyLT1hKmt0KSx5KGktcyk8a3QmJihpLT1zKmt0KSxuPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbz1NYXRoLnNpbih0LXIpO3JldHVybiB5KG8pPmt0P01hdGguYXRhbigoTWF0aC5zaW4oZSkqKGk9TWF0aC5jb3MobikpKk1hdGguc2luKHIpLU1hdGguc2luKG4pKihhPU1hdGguY29zKGUpKSpNYXRoLnNpbih0KSkvKGEqaSpvKSk6KGUrbikvMn0ocixuLGksbyksdC5wb2ludChhLG4pLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludChzLG4pLGU9MCksdC5wb2ludChyPWksbj1vKSxhPXN9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0LmxpbmVFbmQoKSxyPW49TmFOfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiAyLWV9fX0sZnVuY3Rpb24odCxlLHIsbil7dmFyIGE7aWYobnVsbD09dClhPXIqRXQsbi5wb2ludCgtTXQsYSksbi5wb2ludCgwLGEpLG4ucG9pbnQoTXQsYSksbi5wb2ludChNdCwwKSxuLnBvaW50KE10LC1hKSxuLnBvaW50KDAsLWEpLG4ucG9pbnQoLU10LC1hKSxuLnBvaW50KC1NdCwwKSxuLnBvaW50KC1NdCxhKTtlbHNlIGlmKHkodFswXS1lWzBdKT5rdCl7dmFyIGk9dFswXTxlWzBdP010Oi1NdDthPXIqaS8yLG4ucG9pbnQoLWksYSksbi5wb2ludCgwLGEpLG4ucG9pbnQoaSxhKX1lbHNlIG4ucG9pbnQoZVswXSxlWzFdKX0sWy1NdCwtTXQvMl0pO2Z1bmN0aW9uIG5uKHQsZSxyLG4pe3JldHVybiBmdW5jdGlvbihhKXt2YXIgaSxvPWEuYSxzPWEuYixsPW8ueCxjPW8ueSx1PTAsaD0xLGY9cy54LWwscD1zLnktYztpZihpPXQtbCxmfHwhKGk+MCkpe2lmKGkvPWYsZjwwKXtpZihpPHUpcmV0dXJuO2k8aCYmKGg9aSl9ZWxzZSBpZihmPjApe2lmKGk+aClyZXR1cm47aT51JiYodT1pKX1pZihpPXItbCxmfHwhKGk8MCkpe2lmKGkvPWYsZjwwKXtpZihpPmgpcmV0dXJuO2k+dSYmKHU9aSl9ZWxzZSBpZihmPjApe2lmKGk8dSlyZXR1cm47aTxoJiYoaD1pKX1pZihpPWUtYyxwfHwhKGk+MCkpe2lmKGkvPXAscDwwKXtpZihpPHUpcmV0dXJuO2k8aCYmKGg9aSl9ZWxzZSBpZihwPjApe2lmKGk+aClyZXR1cm47aT51JiYodT1pKX1pZihpPW4tYyxwfHwhKGk8MCkpe2lmKGkvPXAscDwwKXtpZihpPmgpcmV0dXJuO2k+dSYmKHU9aSl9ZWxzZSBpZihwPjApe2lmKGk8dSlyZXR1cm47aTxoJiYoaD1pKX1yZXR1cm4gdT4wJiYoYS5hPXt4OmwrdSpmLHk6Yyt1KnB9KSxoPDEmJihhLmI9e3g6bCtoKmYseTpjK2gqcH0pLGF9fX19fX12YXIgYW49MWU5O2Z1bmN0aW9uIG9uKGUscixuLGEpe3JldHVybiBmdW5jdGlvbihsKXt2YXIgYyx1LGgsZixwLGQsZyx2LG0seSx4LGI9bCxfPXRuKCksdz1ubihlLHIsbixhKSxrPXtwb2ludDpBLGxpbmVTdGFydDpmdW5jdGlvbigpe2sucG9pbnQ9Uyx1JiZ1LnB1c2goaD1bXSk7eT0hMCxtPSExLGc9dj1OYU59LGxpbmVFbmQ6ZnVuY3Rpb24oKXtjJiYoUyhmLHApLGQmJm0mJl8ucmVqb2luKCksYy5wdXNoKF8uYnVmZmVyKCkpKTtrLnBvaW50PUEsbSYmbC5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2w9XyxjPVtdLHU9W10seD0hMH0scG9seWdvbkVuZDpmdW5jdGlvbigpe2w9YixjPXQubWVyZ2UoYyk7dmFyIHI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj11Lmxlbmd0aCxuPXRbMV0sYT0wO2E8cjsrK2EpZm9yKHZhciBpLG89MSxzPXVbYV0sbD1zLmxlbmd0aCxjPXNbMF07bzxsOysrbylpPXNbb10sY1sxXTw9bj9pWzFdPm4mJk90KGMsaSx0KT4wJiYrK2U6aVsxXTw9biYmT3QoYyxpLHQpPDAmJi0tZSxjPWk7cmV0dXJuIDAhPT1lfShbZSxhXSksbj14JiZyLGk9Yy5sZW5ndGg7KG58fGkpJiYobC5wb2x5Z29uU3RhcnQoKSxuJiYobC5saW5lU3RhcnQoKSxUKG51bGwsbnVsbCwxLGwpLGwubGluZUVuZCgpKSxpJiZacihjLG8scixULGwpLGwucG9seWdvbkVuZCgpKSxjPXU9aD1udWxsfX07ZnVuY3Rpb24gVCh0LG8sbCxjKXt2YXIgdT0wLGg9MDtpZihudWxsPT10fHwodT1pKHQsbCkpIT09KGg9aShvLGwpKXx8cyh0LG8pPDBebD4wKWRve2MucG9pbnQoMD09PXV8fDM9PT11P2U6bix1PjE/YTpyKX13aGlsZSgodT0odStsKzQpJTQpIT09aCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gTSh0LGkpe3JldHVybiBlPD10JiZ0PD1uJiZyPD1pJiZpPD1hfWZ1bmN0aW9uIEEodCxlKXtNKHQsZSkmJmwucG9pbnQodCxlKX1mdW5jdGlvbiBTKHQsZSl7dmFyIHI9TSh0PU1hdGgubWF4KC1hbixNYXRoLm1pbihhbix0KSksZT1NYXRoLm1heCgtYW4sTWF0aC5taW4oYW4sZSkpKTtpZih1JiZoLnB1c2goW3QsZV0pLHkpZj10LHA9ZSxkPXIseT0hMSxyJiYobC5saW5lU3RhcnQoKSxsLnBvaW50KHQsZSkpO2Vsc2UgaWYociYmbSlsLnBvaW50KHQsZSk7ZWxzZXt2YXIgbj17YTp7eDpnLHk6dn0sYjp7eDp0LHk6ZX19O3cobik/KG18fChsLmxpbmVTdGFydCgpLGwucG9pbnQobi5hLngsbi5hLnkpKSxsLnBvaW50KG4uYi54LG4uYi55KSxyfHxsLmxpbmVFbmQoKSx4PSExKTpyJiYobC5saW5lU3RhcnQoKSxsLnBvaW50KHQsZSkseD0hMSl9Zz10LHY9ZSxtPXJ9cmV0dXJuIGt9O2Z1bmN0aW9uIGkodCxhKXtyZXR1cm4geSh0WzBdLWUpPGt0P2E+MD8wOjM6eSh0WzBdLW4pPGt0P2E+MD8yOjE6eSh0WzFdLXIpPGt0P2E+MD8xOjA6YT4wPzM6Mn1mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIHModC54LGUueCl9ZnVuY3Rpb24gcyh0LGUpe3ZhciByPWkodCwxKSxuPWkoZSwxKTtyZXR1cm4gciE9PW4/ci1uOjA9PT1yP2VbMV0tdFsxXToxPT09cj90WzBdLWVbMF06Mj09PXI/dFsxXS1lWzFdOmVbMF0tdFswXX19ZnVuY3Rpb24gc24odCl7dmFyIGU9MCxyPU10LzMsbj1Qbih0KSxhPW4oZSxyKTtyZXR1cm4gYS5wYXJhbGxlbHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihlPXRbMF0qTXQvMTgwLHI9dFsxXSpNdC8xODApOltlL010KjE4MCxyL010KjE4MF19LGF9ZnVuY3Rpb24gbG4odCxlKXt2YXIgcj1NYXRoLnNpbih0KSxuPShyK01hdGguc2luKGUpKS8yLGE9MStyKigyKm4tciksaT1NYXRoLnNxcnQoYSkvbjtmdW5jdGlvbiBvKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KGEtMipuKk1hdGguc2luKGUpKS9uO3JldHVybltyKk1hdGguc2luKHQqPW4pLGktcipNYXRoLmNvcyh0KV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9aS1lO3JldHVybltNYXRoLmF0YW4yKHQscikvbixJdCgoYS0odCp0K3IqcikqbipuKS8oMipuKSldfSxvfXQuZ2VvLmNsaXBFeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbixhLGksbz17c3RyZWFtOmZ1bmN0aW9uKHQpe3JldHVybiBhJiYoYS52YWxpZD0hMSksKGE9aSh0KSkudmFsaWQ9ITAsYX0sZXh0ZW50OmZ1bmN0aW9uKHMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW9uKHQ9K3NbMF1bMF0sZT0rc1swXVsxXSxyPStzWzFdWzBdLG49K3NbMV1bMV0pLGEmJihhLnZhbGlkPSExLGE9bnVsbCksbyk6W1t0LGVdLFtyLG5dXX19O3JldHVybiBvLmV4dGVudChbWzAsMF0sWzk2MCw1MDBdXSl9LCh0Lmdlby5jb25pY0VxdWFsQXJlYT1mdW5jdGlvbigpe3JldHVybiBzbihsbil9KS5yYXc9bG4sdC5nZW8uYWxiZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2VvLmNvbmljRXF1YWxBcmVhKCkucm90YXRlKFs5NiwwXSkuY2VudGVyKFstLjYsMzguN10pLnBhcmFsbGVscyhbMjkuNSw0NS41XSkuc2NhbGUoMTA3MCl9LHQuZ2VvLmFsYmVyc1VzYT1mdW5jdGlvbigpe3ZhciBlLHIsbixhLGk9dC5nZW8uYWxiZXJzKCksbz10Lmdlby5jb25pY0VxdWFsQXJlYSgpLnJvdGF0ZShbMTU0LDBdKS5jZW50ZXIoWy0yLDU4LjVdKS5wYXJhbGxlbHMoWzU1LDY1XSkscz10Lmdlby5jb25pY0VxdWFsQXJlYSgpLnJvdGF0ZShbMTU3LDBdKS5jZW50ZXIoWy0zLDE5LjldKS5wYXJhbGxlbHMoWzgsMThdKSxsPXtwb2ludDpmdW5jdGlvbih0LHIpe2U9W3Qscl19fTtmdW5jdGlvbiBjKHQpe3ZhciBpPXRbMF0sbz10WzFdO3JldHVybiBlPW51bGwscihpLG8pLGV8fChuKGksbyksZSl8fGEoaSxvKSxlfXJldHVybiBjLmludmVydD1mdW5jdGlvbih0KXt2YXIgZT1pLnNjYWxlKCkscj1pLnRyYW5zbGF0ZSgpLG49KHRbMF0tclswXSkvZSxhPSh0WzFdLXJbMV0pL2U7cmV0dXJuKGE+PS4xMiYmYTwuMjM0JiZuPj0tLjQyNSYmbjwtLjIxND9vOmE+PS4xNjYmJmE8LjIzNCYmbj49LS4yMTQmJm48LS4xMTU/czppKS5pbnZlcnQodCl9LGMuc3RyZWFtPWZ1bmN0aW9uKHQpe3ZhciBlPWkuc3RyZWFtKHQpLHI9by5zdHJlYW0odCksbj1zLnN0cmVhbSh0KTtyZXR1cm57cG9pbnQ6ZnVuY3Rpb24odCxhKXtlLnBvaW50KHQsYSksci5wb2ludCh0LGEpLG4ucG9pbnQodCxhKX0sc3BoZXJlOmZ1bmN0aW9uKCl7ZS5zcGhlcmUoKSxyLnNwaGVyZSgpLG4uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2UubGluZVN0YXJ0KCksci5saW5lU3RhcnQoKSxuLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7ZS5saW5lRW5kKCksci5saW5lRW5kKCksbi5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2UucG9seWdvblN0YXJ0KCksci5wb2x5Z29uU3RhcnQoKSxuLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7ZS5wb2x5Z29uRW5kKCksci5wb2x5Z29uRW5kKCksbi5wb2x5Z29uRW5kKCl9fX0sYy5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkucHJlY2lzaW9uKHQpLG8ucHJlY2lzaW9uKHQpLHMucHJlY2lzaW9uKHQpLGMpOmkucHJlY2lzaW9uKCl9LGMuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkuc2NhbGUodCksby5zY2FsZSguMzUqdCkscy5zY2FsZSh0KSxjLnRyYW5zbGF0ZShpLnRyYW5zbGF0ZSgpKSk6aS5zY2FsZSgpfSxjLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gaS50cmFuc2xhdGUoKTt2YXIgZT1pLnNjYWxlKCksdT0rdFswXSxoPSt0WzFdO3JldHVybiByPWkudHJhbnNsYXRlKHQpLmNsaXBFeHRlbnQoW1t1LS40NTUqZSxoLS4yMzgqZV0sW3UrLjQ1NSplLGgrLjIzOCplXV0pLnN0cmVhbShsKS5wb2ludCxuPW8udHJhbnNsYXRlKFt1LS4zMDcqZSxoKy4yMDEqZV0pLmNsaXBFeHRlbnQoW1t1LS40MjUqZStrdCxoKy4xMiplK2t0XSxbdS0uMjE0KmUta3QsaCsuMjM0KmUta3RdXSkuc3RyZWFtKGwpLnBvaW50LGE9cy50cmFuc2xhdGUoW3UtLjIwNSplLGgrLjIxMiplXSkuY2xpcEV4dGVudChbW3UtLjIxNCplK2t0LGgrLjE2NiplK2t0XSxbdS0uMTE1KmUta3QsaCsuMjM0KmUta3RdXSkuc3RyZWFtKGwpLnBvaW50LGN9LGMuc2NhbGUoMTA3MCl9O3ZhciBjbix1bixobixmbixwbixkbixnbj17cG9pbnQ6RCxsaW5lU3RhcnQ6RCxsaW5lRW5kOkQscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dW49MCxnbi5saW5lU3RhcnQ9dm59LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtnbi5saW5lU3RhcnQ9Z24ubGluZUVuZD1nbi5wb2ludD1ELGNuKz15KHVuLzIpfX07ZnVuY3Rpb24gdm4oKXt2YXIgdCxlLHIsbjtmdW5jdGlvbiBhKHQsZSl7dW4rPW4qdC1yKmUscj10LG49ZX1nbi5wb2ludD1mdW5jdGlvbihpLG8pe2duLnBvaW50PWEsdD1yPWksZT1uPW99LGduLmxpbmVFbmQ9ZnVuY3Rpb24oKXthKHQsZSl9fXZhciBtbj17cG9pbnQ6ZnVuY3Rpb24odCxlKXt0PGhuJiYoaG49dCk7dD5wbiYmKHBuPXQpO2U8Zm4mJihmbj1lKTtlPmRuJiYoZG49ZSl9LGxpbmVTdGFydDpELGxpbmVFbmQ6RCxwb2x5Z29uU3RhcnQ6RCxwb2x5Z29uRW5kOkR9O2Z1bmN0aW9uIHluKCl7dmFyIHQ9eG4oNC41KSxlPVtdLHI9e3BvaW50Om4sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7ci5wb2ludD1hfSxsaW5lRW5kOm8scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7ci5saW5lRW5kPXN9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtyLmxpbmVFbmQ9byxyLnBvaW50PW59LHBvaW50UmFkaXVzOmZ1bmN0aW9uKGUpe3JldHVybiB0PXhuKGUpLHJ9LHJlc3VsdDpmdW5jdGlvbigpe2lmKGUubGVuZ3RoKXt2YXIgdD1lLmpvaW4oIiIpO3JldHVybiBlPVtdLHR9fX07ZnVuY3Rpb24gbihyLG4pe2UucHVzaCgiTSIsciwiLCIsbix0KX1mdW5jdGlvbiBhKHQsbil7ZS5wdXNoKCJNIix0LCIsIixuKSxyLnBvaW50PWl9ZnVuY3Rpb24gaSh0LHIpe2UucHVzaCgiTCIsdCwiLCIscil9ZnVuY3Rpb24gbygpe3IucG9pbnQ9bn1mdW5jdGlvbiBzKCl7ZS5wdXNoKCJaIil9cmV0dXJuIHJ9ZnVuY3Rpb24geG4odCl7cmV0dXJuIm0wLCIrdCsiYSIrdCsiLCIrdCsiIDAgMSwxIDAsIistMip0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKzIqdCsieiJ9dmFyIGJuLF9uPXtwb2ludDp3bixsaW5lU3RhcnQ6a24sbGluZUVuZDpUbixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtfbi5saW5lU3RhcnQ9TW59LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtfbi5wb2ludD13bixfbi5saW5lU3RhcnQ9a24sX24ubGluZUVuZD1Ubn19O2Z1bmN0aW9uIHduKHQsZSl7X3IrPXQsd3IrPWUsKytrcn1mdW5jdGlvbiBrbigpe3ZhciB0LGU7ZnVuY3Rpb24gcihyLG4pe3ZhciBhPXItdCxpPW4tZSxvPU1hdGguc3FydChhKmEraSppKTtUcis9byoodCtyKS8yLE1yKz1vKihlK24pLzIsQXIrPW8sd24odD1yLGU9bil9X24ucG9pbnQ9ZnVuY3Rpb24obixhKXtfbi5wb2ludD1yLHduKHQ9bixlPWEpfX1mdW5jdGlvbiBUbigpe19uLnBvaW50PXdufWZ1bmN0aW9uIE1uKCl7dmFyIHQsZSxyLG47ZnVuY3Rpb24gYSh0LGUpe3ZhciBhPXQtcixpPWUtbixvPU1hdGguc3FydChhKmEraSppKTtUcis9byoocit0KS8yLE1yKz1vKihuK2UpLzIsQXIrPW8sU3IrPShvPW4qdC1yKmUpKihyK3QpLEVyKz1vKihuK2UpLExyKz0zKm8sd24ocj10LG49ZSl9X24ucG9pbnQ9ZnVuY3Rpb24oaSxvKXtfbi5wb2ludD1hLHduKHQ9cj1pLGU9bj1vKX0sX24ubGluZUVuZD1mdW5jdGlvbigpe2EodCxlKX19ZnVuY3Rpb24gQW4odCl7dmFyIGU9NC41LHI9e3BvaW50Om4sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7ci5wb2ludD1hfSxsaW5lRW5kOm8scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7ci5saW5lRW5kPXN9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtyLmxpbmVFbmQ9byxyLnBvaW50PW59LHBvaW50UmFkaXVzOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQscn0scmVzdWx0OkR9O2Z1bmN0aW9uIG4ocixuKXt0Lm1vdmVUbyhyK2UsbiksdC5hcmMocixuLGUsMCxBdCl9ZnVuY3Rpb24gYShlLG4pe3QubW92ZVRvKGUsbiksci5wb2ludD1pfWZ1bmN0aW9uIGkoZSxyKXt0LmxpbmVUbyhlLHIpfWZ1bmN0aW9uIG8oKXtyLnBvaW50PW59ZnVuY3Rpb24gcygpe3QuY2xvc2VQYXRoKCl9cmV0dXJuIHJ9ZnVuY3Rpb24gU24odCl7dmFyIGU9LjUscj1NYXRoLmNvcygzMCpMdCksbj0xNjtmdW5jdGlvbiBhKGUpe3JldHVybihuP2Z1bmN0aW9uKGUpe3ZhciByLGEsbyxzLGwsYyx1LGgsZixwLGQsZyx2PXtwb2ludDptLGxpbmVTdGFydDp5LGxpbmVFbmQ6Yixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25TdGFydCgpLHYubGluZVN0YXJ0PV99LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25FbmQoKSx2LmxpbmVTdGFydD15fX07ZnVuY3Rpb24gbShyLG4pe3I9dChyLG4pLGUucG9pbnQoclswXSxyWzFdKX1mdW5jdGlvbiB5KCl7aD1OYU4sdi5wb2ludD14LGUubGluZVN0YXJ0KCl9ZnVuY3Rpb24geChyLGEpe3ZhciBvPXpyKFtyLGFdKSxzPXQocixhKTtpKGgsZix1LHAsZCxnLGg9c1swXSxmPXNbMV0sdT1yLHA9b1swXSxkPW9bMV0sZz1vWzJdLG4sZSksZS5wb2ludChoLGYpfWZ1bmN0aW9uIGIoKXt2LnBvaW50PW0sZS5saW5lRW5kKCl9ZnVuY3Rpb24gXygpe3koKSx2LnBvaW50PXcsdi5saW5lRW5kPWt9ZnVuY3Rpb24gdyh0LGUpe3gocj10LGUpLGE9aCxvPWYscz1wLGw9ZCxjPWcsdi5wb2ludD14fWZ1bmN0aW9uIGsoKXtpKGgsZix1LHAsZCxnLGEsbyxyLHMsbCxjLG4sZSksdi5saW5lRW5kPWIsYigpfXJldHVybiB2fTpmdW5jdGlvbihlKXtyZXR1cm4gTG4oZSxmdW5jdGlvbihyLG4pe3I9dChyLG4pLGUucG9pbnQoclswXSxyWzFdKX0pfSkoZSl9ZnVuY3Rpb24gaShuLGEsbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0pe3ZhciB4PXUtbixiPWgtYSxfPXgqeCtiKmI7aWYoXz40KmUmJnYtLSl7dmFyIHc9cytwLGs9bCtkLFQ9YytnLE09TWF0aC5zcXJ0KHcqdytrKmsrVCpUKSxBPU1hdGguYXNpbihULz1NKSxTPXkoeShUKS0xKTxrdHx8eShvLWYpPGt0PyhvK2YpLzI6TWF0aC5hdGFuMihrLHcpLEU9dChTLEEpLEw9RVswXSxDPUVbMV0sUD1MLW4sTz1DLWEsej1iKlAteCpPOyh6KnovXz5lfHx5KCh4KlArYipPKS9fLS41KT4uM3x8cypwK2wqZCtjKmc8cikmJihpKG4sYSxvLHMsbCxjLEwsQyxTLHcvPU0say89TSxULHYsbSksbS5wb2ludChMLEMpLGkoTCxDLFMsdyxrLFQsdSxoLGYscCxkLGcsdixtKSl9fXJldHVybiBhLnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0oZT10KnQpPjAmJjE2LGEpOk1hdGguc3FydChlKX0sYX1mdW5jdGlvbiBFbih0KXt0aGlzLnN0cmVhbT10fWZ1bmN0aW9uIExuKHQsZSl7cmV0dXJue3BvaW50OmUsc3BoZXJlOmZ1bmN0aW9uKCl7dC5zcGhlcmUoKX0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dC5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3QubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0LnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dC5wb2x5Z29uRW5kKCl9fX1mdW5jdGlvbiBDbih0KXtyZXR1cm4gUG4oZnVuY3Rpb24oKXtyZXR1cm4gdH0pKCl9ZnVuY3Rpb24gUG4oZSl7dmFyIHIsbixhLGksbyxzLGw9U24oZnVuY3Rpb24odCxlKXtyZXR1cm5bKHQ9cih0LGUpKVswXSpjK2ksby10WzFdKmNdfSksYz0xNTAsdT00ODAsaD0yNTAsZj0wLHA9MCxkPTAsZz0wLHY9MCxtPXJuLHg9UCxiPW51bGwsXz1udWxsO2Z1bmN0aW9uIHcodCl7cmV0dXJuWyh0PWEodFswXSpMdCx0WzFdKkx0KSlbMF0qYytpLG8tdFsxXSpjXX1mdW5jdGlvbiBrKHQpe3JldHVybih0PWEuaW52ZXJ0KCh0WzBdLWkpL2MsKG8tdFsxXSkvYykpJiZbdFswXSpDdCx0WzFdKkN0XX1mdW5jdGlvbiBUKCl7YT1XcihuPURuKGQsZyx2KSxyKTt2YXIgdD1yKGYscCk7cmV0dXJuIGk9dS10WzBdKmMsbz1oK3RbMV0qYyxNKCl9ZnVuY3Rpb24gTSgpe3JldHVybiBzJiYocy52YWxpZD0hMSxzPW51bGwpLHd9cmV0dXJuIHcuc3RyZWFtPWZ1bmN0aW9uKHQpe3JldHVybiBzJiYocy52YWxpZD0hMSksKHM9T24obShuLGwoeCh0KSkpKSkudmFsaWQ9ITAsc30sdy5jbGlwQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG09bnVsbD09dD8oYj10LHJuKTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmNvcyh0KSxyPWU+MCxuPXkoZSk+a3Q7cmV0dXJuIFFyKGEsZnVuY3Rpb24odCl7dmFyIGUscyxsLGMsdTtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7Yz1sPSExLHU9MX0scG9pbnQ6ZnVuY3Rpb24oaCxmKXt2YXIgcCxkPVtoLGZdLGc9YShoLGYpLHY9cj9nPzA6byhoLGYpOmc/byhoKyhoPDA/TXQ6LU10KSxmKTowO2lmKCFlJiYoYz1sPWcpJiZ0LmxpbmVTdGFydCgpLGchPT1sJiYocD1pKGUsZCksKGpyKGUscCl8fGpyKGQscCkpJiYoZFswXSs9a3QsZFsxXSs9a3QsZz1hKGRbMF0sZFsxXSkpKSxnIT09bCl1PTAsZz8odC5saW5lU3RhcnQoKSxwPWkoZCxlKSx0LnBvaW50KHBbMF0scFsxXSkpOihwPWkoZSxkKSx0LnBvaW50KHBbMF0scFsxXSksdC5saW5lRW5kKCkpLGU9cDtlbHNlIGlmKG4mJmUmJnJeZyl7dmFyIG07diZzfHwhKG09aShkLGUsITApKXx8KHU9MCxyPyh0LmxpbmVTdGFydCgpLHQucG9pbnQobVswXVswXSxtWzBdWzFdKSx0LnBvaW50KG1bMV1bMF0sbVsxXVsxXSksdC5saW5lRW5kKCkpOih0LnBvaW50KG1bMV1bMF0sbVsxXVsxXSksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KG1bMF1bMF0sbVswXVsxXSkpKX0hZ3x8ZSYmanIoZSxkKXx8dC5wb2ludChkWzBdLGRbMV0pLGU9ZCxsPWcscz12fSxsaW5lRW5kOmZ1bmN0aW9uKCl7bCYmdC5saW5lRW5kKCksZT1udWxsfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiB1fChjJiZsKTw8MX19fSxObih0LDYqTHQpLHI/WzAsLXRdOlstTXQsdC1NdF0pO2Z1bmN0aW9uIGEodCxyKXtyZXR1cm4gTWF0aC5jb3ModCkqTWF0aC5jb3Mocik+ZX1mdW5jdGlvbiBpKHQscixuKXt2YXIgYT1bMSwwLDBdLGk9RHIoenIodCksenIocikpLG89SXIoaSxpKSxzPWlbMF0sbD1vLXMqcztpZighbClyZXR1cm4hbiYmdDt2YXIgYz1lKm8vbCx1PS1lKnMvbCxoPURyKGEsaSksZj1GcihhLGMpO1JyKGYsRnIoaSx1KSk7dmFyIHA9aCxkPUlyKGYscCksZz1JcihwLHApLHY9ZCpkLWcqKElyKGYsZiktMSk7aWYoISh2PDApKXt2YXIgbT1NYXRoLnNxcnQodikseD1GcihwLCgtZC1tKS9nKTtpZihScih4LGYpLHg9TnIoeCksIW4pcmV0dXJuIHg7dmFyIGIsXz10WzBdLHc9clswXSxrPXRbMV0sVD1yWzFdO3c8XyYmKGI9XyxfPXcsdz1iKTt2YXIgTT13LV8sQT15KE0tTXQpPGt0O2lmKCFBJiZUPGsmJihiPWssaz1ULFQ9YiksQXx8TTxrdD9BP2srVD4wXnhbMV08KHkoeFswXS1fKTxrdD9rOlQpOms8PXhbMV0mJnhbMV08PVQ6TT5NdF4oXzw9eFswXSYmeFswXTw9dykpe3ZhciBTPUZyKHAsKC1kK20pL2cpO3JldHVybiBScihTLGYpLFt4LE5yKFMpXX19fWZ1bmN0aW9uIG8oZSxuKXt2YXIgYT1yP3Q6TXQtdCxpPTA7cmV0dXJuIGU8LWE/aXw9MTplPmEmJihpfD0yKSxuPC1hP2l8PTQ6bj5hJiYoaXw9OCksaX19KChiPSt0KSpMdCksTSgpKTpifSx3LmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KF89dCx4PXQ/b24odFswXVswXSx0WzBdWzFdLHRbMV1bMF0sdFsxXVsxXSk6UCxNKCkpOl99LHcuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9K3QsVCgpKTpjfSx3LnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT0rdFswXSxoPSt0WzFdLFQoKSk6W3UsaF19LHcuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPXRbMF0lMzYwKkx0LHA9dFsxXSUzNjAqTHQsVCgpKTpbZipDdCxwKkN0XX0sdy5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9dFswXSUzNjAqTHQsZz10WzFdJTM2MCpMdCx2PXQubGVuZ3RoPjI/dFsyXSUzNjAqTHQ6MCxUKCkpOltkKkN0LGcqQ3QsdipDdF19LHQucmViaW5kKHcsbCwicHJlY2lzaW9uIiksZnVuY3Rpb24oKXtyZXR1cm4gcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx3LmludmVydD1yLmludmVydCYmayxUKCl9fWZ1bmN0aW9uIE9uKHQpe3JldHVybiBMbih0LGZ1bmN0aW9uKGUscil7dC5wb2ludChlKkx0LHIqTHQpfSl9ZnVuY3Rpb24gem4odCxlKXtyZXR1cm5bdCxlXX1mdW5jdGlvbiBJbih0LGUpe3JldHVyblt0Pk10P3QtQXQ6dDwtTXQ/dCtBdDp0LGVdfWZ1bmN0aW9uIERuKHQsZSxyKXtyZXR1cm4gdD9lfHxyP1dyKEZuKHQpLEJuKGUscikpOkZuKHQpOmV8fHI/Qm4oZSxyKTpJbn1mdW5jdGlvbiBSbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyZXR1cm5bKGUrPXQpPk10P2UtQXQ6ZTwtTXQ/ZStBdDplLHJdfX1mdW5jdGlvbiBGbih0KXt2YXIgZT1Sbih0KTtyZXR1cm4gZS5pbnZlcnQ9Um4oLXQpLGV9ZnVuY3Rpb24gQm4odCxlKXt2YXIgcj1NYXRoLmNvcyh0KSxuPU1hdGguc2luKHQpLGE9TWF0aC5jb3MoZSksaT1NYXRoLnNpbihlKTtmdW5jdGlvbiBvKHQsZSl7dmFyIG89TWF0aC5jb3MoZSkscz1NYXRoLmNvcyh0KSpvLGw9TWF0aC5zaW4odCkqbyxjPU1hdGguc2luKGUpLHU9YypyK3MqbjtyZXR1cm5bTWF0aC5hdGFuMihsKmEtdSppLHMqci1jKm4pLEl0KHUqYStsKmkpXX1yZXR1cm4gby5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgbz1NYXRoLmNvcyhlKSxzPU1hdGguY29zKHQpKm8sbD1NYXRoLnNpbih0KSpvLGM9TWF0aC5zaW4oZSksdT1jKmEtbCppO3JldHVybltNYXRoLmF0YW4yKGwqYStjKmkscypyK3UqbiksSXQodSpyLXMqbildfSxvfWZ1bmN0aW9uIE5uKHQsZSl7dmFyIHI9TWF0aC5jb3ModCksbj1NYXRoLnNpbih0KTtyZXR1cm4gZnVuY3Rpb24oYSxpLG8scyl7dmFyIGw9byplO251bGwhPWE/KGE9am4ocixhKSxpPWpuKHIsaSksKG8+MD9hPGk6YT5pKSYmKGErPW8qQXQpKTooYT10K28qQXQsaT10LS41KmwpO2Zvcih2YXIgYyx1PWE7bz4wP3U+aTp1PGk7dS09bClzLnBvaW50KChjPU5yKFtyLC1uKk1hdGguY29zKHUpLC1uKk1hdGguc2luKHUpXSkpWzBdLGNbMV0pfX1mdW5jdGlvbiBqbih0LGUpe3ZhciByPXpyKGUpO3JbMF0tPXQsQnIocik7dmFyIG49enQoLXJbMV0pO3JldHVybigoLXJbMl08MD8tbjpuKSsyKk1hdGguUEkta3QpJSgyKk1hdGguUEkpfWZ1bmN0aW9uIFZuKGUscixuKXt2YXIgYT10LnJhbmdlKGUsci1rdCxuKS5jb25jYXQocik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBhLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bdCxlXX0pfX1mdW5jdGlvbiBVbihlLHIsbil7dmFyIGE9dC5yYW5nZShlLHIta3QsbikuY29uY2F0KHIpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuW2UsdF19KX19ZnVuY3Rpb24gcW4odCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIEhuKHQpe3JldHVybiB0LnRhcmdldH10Lmdlby5wYXRoPWZ1bmN0aW9uKCl7dmFyIGUscixuLGEsaSxvPTQuNTtmdW5jdGlvbiBzKGUpe3JldHVybiBlJiYoImZ1bmN0aW9uIj09dHlwZW9mIG8mJmEucG9pbnRSYWRpdXMoK28uYXBwbHkodGhpcyxhcmd1bWVudHMpKSxpJiZpLnZhbGlkfHwoaT1uKGEpKSx0Lmdlby5zdHJlYW0oZSxpKSksYS5yZXN1bHQoKX1mdW5jdGlvbiBsKCl7cmV0dXJuIGk9bnVsbCxzfXJldHVybiBzLmFyZWE9ZnVuY3Rpb24oZSl7cmV0dXJuIGNuPTAsdC5nZW8uc3RyZWFtKGUsbihnbikpLGNufSxzLmNlbnRyb2lkPWZ1bmN0aW9uKGUpe3JldHVybiBfcj13cj1rcj1Ucj1Ncj1Bcj1Tcj1Fcj1Mcj0wLHQuZ2VvLnN0cmVhbShlLG4oX24pKSxMcj9bU3IvTHIsRXIvTHJdOkFyP1tUci9BcixNci9Bcl06a3I/W19yL2tyLHdyL2tyXTpbTmFOLE5hTl19LHMuYm91bmRzPWZ1bmN0aW9uKGUpe3JldHVybiBwbj1kbj0tKGhuPWZuPTEvMCksdC5nZW8uc3RyZWFtKGUsbihtbikpLFtbaG4sZm5dLFtwbixkbl1dfSxzLnByb2plY3Rpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49KGU9dCk/dC5zdHJlYW18fChyPXQsYT1TbihmdW5jdGlvbih0LGUpe3JldHVybiByKFt0KkN0LGUqQ3RdKX0pLGZ1bmN0aW9uKHQpe3JldHVybiBPbihhKHQpKX0pOlAsbCgpKTplO3ZhciByLGF9LHMuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT1udWxsPT0ocj10KT9uZXcgeW46bmV3IEFuKHQpLCJmdW5jdGlvbiIhPXR5cGVvZiBvJiZhLnBvaW50UmFkaXVzKG8pLGwoKSk6cn0scy5wb2ludFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OihhLnBvaW50UmFkaXVzKCt0KSwrdCkscyk6b30scy5wcm9qZWN0aW9uKHQuZ2VvLmFsYmVyc1VzYSgpKS5jb250ZXh0KG51bGwpfSx0Lmdlby50cmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJue3N0cmVhbTpmdW5jdGlvbihlKXt2YXIgcj1uZXcgRW4oZSk7Zm9yKHZhciBuIGluIHQpcltuXT10W25dO3JldHVybiByfX19LEVuLnByb3RvdHlwZT17cG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5wb2ludCh0LGUpfSxzcGhlcmU6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5zcGhlcmUoKX0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZVN0YXJ0KCl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpfX0sdC5nZW8ucHJvamVjdGlvbj1Dbix0Lmdlby5wcm9qZWN0aW9uTXV0YXRvcj1QbiwodC5nZW8uZXF1aXJlY3Rhbmd1bGFyPWZ1bmN0aW9uKCl7cmV0dXJuIENuKHpuKX0pLnJhdz16bi5pbnZlcnQ9em4sdC5nZW8ucm90YXRpb249ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4oZT10KGVbMF0qTHQsZVsxXSpMdCkpWzBdKj1DdCxlWzFdKj1DdCxlfXJldHVybiB0PURuKHRbMF0lMzYwKkx0LHRbMV0qTHQsdC5sZW5ndGg+Mj90WzJdKkx0OjApLGUuaW52ZXJ0PWZ1bmN0aW9uKGUpe3JldHVybihlPXQuaW52ZXJ0KGVbMF0qTHQsZVsxXSpMdCkpWzBdKj1DdCxlWzFdKj1DdCxlfSxlfSxJbi5pbnZlcnQ9em4sdC5nZW8uY2lyY2xlPWZ1bmN0aW9uKCl7dmFyIHQsZSxyPVswLDBdLG49NjtmdW5jdGlvbiBhKCl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIHI/ci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6cixuPURuKC10WzBdKkx0LC10WzFdKkx0LDApLmludmVydCxhPVtdO3JldHVybiBlKG51bGwsbnVsbCwxLHtwb2ludDpmdW5jdGlvbih0LGUpe2EucHVzaCh0PW4odCxlKSksdFswXSo9Q3QsdFsxXSo9Q3R9fSkse3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOlthXX19cmV0dXJuIGEub3JpZ2luPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsYSk6cn0sYS5hbmdsZT1mdW5jdGlvbihyKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1ObigodD0rcikqTHQsbipMdCksYSk6dH0sYS5wcmVjaXNpb249ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9Tm4odCpMdCwobj0rcikqTHQpLGEpOm59LGEuYW5nbGUoOTApfSx0Lmdlby5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciByLG49KGVbMF0tdFswXSkqTHQsYT10WzFdKkx0LGk9ZVsxXSpMdCxvPU1hdGguc2luKG4pLHM9TWF0aC5jb3MobiksbD1NYXRoLnNpbihhKSxjPU1hdGguY29zKGEpLHU9TWF0aC5zaW4oaSksaD1NYXRoLmNvcyhpKTtyZXR1cm4gTWF0aC5hdGFuMihNYXRoLnNxcnQoKHI9aCpvKSpyKyhyPWMqdS1sKmgqcykqciksbCp1K2MqaCpzKX0sdC5nZW8uZ3JhdGljdWxlPWZ1bmN0aW9uKCl7dmFyIGUscixuLGEsaSxvLHMsbCxjLHUsaCxmLHA9MTAsZD1wLGc9OTAsdj0zNjAsbT0yLjU7ZnVuY3Rpb24geCgpe3JldHVybnt0eXBlOiJNdWx0aUxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOmIoKX19ZnVuY3Rpb24gYigpe3JldHVybiB0LnJhbmdlKE1hdGguY2VpbChhL2cpKmcsbixnKS5tYXAoaCkuY29uY2F0KHQucmFuZ2UoTWF0aC5jZWlsKGwvdikqdixzLHYpLm1hcChmKSkuY29uY2F0KHQucmFuZ2UoTWF0aC5jZWlsKHIvcCkqcCxlLHApLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4geSh0JWcpPmt0fSkubWFwKGMpKS5jb25jYXQodC5yYW5nZShNYXRoLmNlaWwoby9kKSpkLGksZCkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB5KHQldik+a3R9KS5tYXAodSkpfXJldHVybiB4LmxpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuIGIoKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue3R5cGU6IkxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOnR9fSl9LHgub3V0bGluZT1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbaChhKS5jb25jYXQoZihzKS5zbGljZSgxKSxoKG4pLnJldmVyc2UoKS5zbGljZSgxKSxmKGwpLnJldmVyc2UoKS5zbGljZSgxKSldfX0seC5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/eC5tYWpvckV4dGVudCh0KS5taW5vckV4dGVudCh0KTp4Lm1pbm9yRXh0ZW50KCl9LHgubWFqb3JFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9K3RbMF1bMF0sbj0rdFsxXVswXSxsPSt0WzBdWzFdLHM9K3RbMV1bMV0sYT5uJiYodD1hLGE9bixuPXQpLGw+cyYmKHQ9bCxsPXMscz10KSx4LnByZWNpc2lvbihtKSk6W1thLGxdLFtuLHNdXX0seC5taW5vckV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdFswXVswXSxlPSt0WzFdWzBdLG89K3RbMF1bMV0saT0rdFsxXVsxXSxyPmUmJih0PXIscj1lLGU9dCksbz5pJiYodD1vLG89aSxpPXQpLHgucHJlY2lzaW9uKG0pKTpbW3Isb10sW2UsaV1dfSx4LnN0ZXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/eC5tYWpvclN0ZXAodCkubWlub3JTdGVwKHQpOngubWlub3JTdGVwKCl9LHgubWFqb3JTdGVwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhnPSt0WzBdLHY9K3RbMV0seCk6W2csdl19LHgubWlub3JTdGVwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhwPSt0WzBdLGQ9K3RbMV0seCk6W3AsZF19LHgucHJlY2lzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhtPSt0LGM9Vm4obyxpLDkwKSx1PVVuKHIsZSxtKSxoPVZuKGwscyw5MCksZj1VbihhLG4sbSkseCk6bX0seC5tYWpvckV4dGVudChbWy0xODAsLTkwK2t0XSxbMTgwLDkwLWt0XV0pLm1pbm9yRXh0ZW50KFtbLTE4MCwtODAta3RdLFsxODAsODAra3RdXSl9LHQuZ2VvLmdyZWF0QXJjPWZ1bmN0aW9uKCl7dmFyIGUscixuPXFuLGE9SG47ZnVuY3Rpb24gaSgpe3JldHVybnt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczpbZXx8bi5hcHBseSh0aGlzLGFyZ3VtZW50cykscnx8YS5hcHBseSh0aGlzLGFyZ3VtZW50cyldfX1yZXR1cm4gaS5kaXN0YW5jZT1mdW5jdGlvbigpe3JldHVybiB0Lmdlby5kaXN0YW5jZShlfHxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxyfHxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGkuc291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsZT0iZnVuY3Rpb24iPT10eXBlb2YgdD9udWxsOnQsaSk6bn0saS50YXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P251bGw6dCxpKTphfSxpLnByZWNpc2lvbj1mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2k6MH0saX0sdC5nZW8uaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcj10WzBdKkx0LG49dFsxXSpMdCxhPWVbMF0qTHQsaT1lWzFdKkx0LG89TWF0aC5jb3Mobikscz1NYXRoLnNpbihuKSxsPU1hdGguY29zKGkpLGM9TWF0aC5zaW4oaSksdT1vKk1hdGguY29zKHIpLGg9bypNYXRoLnNpbihyKSxmPWwqTWF0aC5jb3MoYSkscD1sKk1hdGguc2luKGEpLGQ9MipNYXRoLmFzaW4oTWF0aC5zcXJ0KFJ0KGktbikrbypsKlJ0KGEtcikpKSxnPTEvTWF0aC5zaW4oZCksKHY9ZD9mdW5jdGlvbih0KXt2YXIgZT1NYXRoLnNpbih0Kj1kKSpnLHI9TWF0aC5zaW4oZC10KSpnLG49cip1K2UqZixhPXIqaCtlKnAsaT1yKnMrZSpjO3JldHVybltNYXRoLmF0YW4yKGEsbikqQ3QsTWF0aC5hdGFuMihpLE1hdGguc3FydChuKm4rYSphKSkqQ3RdfTpmdW5jdGlvbigpe3JldHVybltyKkN0LG4qQ3RdfSkuZGlzdGFuY2U9ZCx2O3ZhciByLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdn0sdC5nZW8ubGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBibj0wLHQuZ2VvLnN0cmVhbShlLEduKSxibn07dmFyIEduPXtzcGhlcmU6RCxwb2ludDpELGxpbmVTdGFydDpmdW5jdGlvbigpe3ZhciB0LGUscjtmdW5jdGlvbiBuKG4sYSl7dmFyIGk9TWF0aC5zaW4oYSo9THQpLG89TWF0aC5jb3MoYSkscz15KChuKj1MdCktdCksbD1NYXRoLmNvcyhzKTtibis9TWF0aC5hdGFuMihNYXRoLnNxcnQoKHM9bypNYXRoLnNpbihzKSkqcysocz1yKmktZSpvKmwpKnMpLGUqaStyKm8qbCksdD1uLGU9aSxyPW99R24ucG9pbnQ9ZnVuY3Rpb24oYSxpKXt0PWEqTHQsZT1NYXRoLnNpbihpKj1MdCkscj1NYXRoLmNvcyhpKSxHbi5wb2ludD1ufSxHbi5saW5lRW5kPWZ1bmN0aW9uKCl7R24ucG9pbnQ9R24ubGluZUVuZD1EfX0sbGluZUVuZDpELHBvbHlnb25TdGFydDpELHBvbHlnb25FbmQ6RH07ZnVuY3Rpb24gWW4odCxlKXtmdW5jdGlvbiByKGUscil7dmFyIG49TWF0aC5jb3MoZSksYT1NYXRoLmNvcyhyKSxpPXQobiphKTtyZXR1cm5baSphKk1hdGguc2luKGUpLGkqTWF0aC5zaW4ocildfXJldHVybiByLmludmVydD1mdW5jdGlvbih0LHIpe3ZhciBuPU1hdGguc3FydCh0KnQrcipyKSxhPWUobiksaT1NYXRoLnNpbihhKSxvPU1hdGguY29zKGEpO3JldHVybltNYXRoLmF0YW4yKHQqaSxuKm8pLE1hdGguYXNpbihuJiZyKmkvbildfSxyfXZhciBXbj1ZbihmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KDIvKDErdCkpfSxmdW5jdGlvbih0KXtyZXR1cm4gMipNYXRoLmFzaW4odC8yKX0pOyh0Lmdlby5hemltdXRoYWxFcXVhbEFyZWE9ZnVuY3Rpb24oKXtyZXR1cm4gQ24oV24pfSkucmF3PVduO3ZhciBYbj1ZbihmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmFjb3ModCk7cmV0dXJuIGUmJmUvTWF0aC5zaW4oZSl9LFApO2Z1bmN0aW9uIFpuKHQsZSl7dmFyIHI9TWF0aC5jb3ModCksbj1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC50YW4oTXQvNCt0LzIpfSxhPXQ9PT1lP01hdGguc2luKHQpOk1hdGgubG9nKHIvTWF0aC5jb3MoZSkpL01hdGgubG9nKG4oZSkvbih0KSksaT1yKk1hdGgucG93KG4odCksYSkvYTtpZighYSlyZXR1cm4gUW47ZnVuY3Rpb24gbyh0LGUpe2k+MD9lPC1FdCtrdCYmKGU9LUV0K2t0KTplPkV0LWt0JiYoZT1FdC1rdCk7dmFyIHI9aS9NYXRoLnBvdyhuKGUpLGEpO3JldHVybltyKk1hdGguc2luKGEqdCksaS1yKk1hdGguY29zKGEqdCldfXJldHVybiBvLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciByPWktZSxuPVB0KGEpKk1hdGguc3FydCh0KnQrcipyKTtyZXR1cm5bTWF0aC5hdGFuMih0LHIpL2EsMipNYXRoLmF0YW4oTWF0aC5wb3coaS9uLDEvYSkpLUV0XX0sb31mdW5jdGlvbiBKbih0LGUpe3ZhciByPU1hdGguY29zKHQpLG49dD09PWU/TWF0aC5zaW4odCk6KHItTWF0aC5jb3MoZSkpLyhlLXQpLGE9ci9uK3Q7aWYoeShuKTxrdClyZXR1cm4gem47ZnVuY3Rpb24gaSh0LGUpe3ZhciByPWEtZTtyZXR1cm5bcipNYXRoLnNpbihuKnQpLGEtcipNYXRoLmNvcyhuKnQpXX1yZXR1cm4gaS5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1hLWU7cmV0dXJuW01hdGguYXRhbjIodCxyKS9uLGEtUHQobikqTWF0aC5zcXJ0KHQqdCtyKnIpXX0saX0odC5nZW8uYXppbXV0aGFsRXF1aWRpc3RhbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQ24oWG4pfSkucmF3PVhuLCh0Lmdlby5jb25pY0NvbmZvcm1hbD1mdW5jdGlvbigpe3JldHVybiBzbihabil9KS5yYXc9Wm4sKHQuZ2VvLmNvbmljRXF1aWRpc3RhbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gc24oSm4pfSkucmF3PUpuO3ZhciBLbj1ZbihmdW5jdGlvbih0KXtyZXR1cm4gMS90fSxNYXRoLmF0YW4pO2Z1bmN0aW9uIFFuKHQsZSl7cmV0dXJuW3QsTWF0aC5sb2coTWF0aC50YW4oTXQvNCtlLzIpKV19ZnVuY3Rpb24gJG4odCl7dmFyIGUscj1Dbih0KSxuPXIuc2NhbGUsYT1yLnRyYW5zbGF0ZSxpPXIuY2xpcEV4dGVudDtyZXR1cm4gci5zY2FsZT1mdW5jdGlvbigpe3ZhciB0PW4uYXBwbHkocixhcmd1bWVudHMpO3JldHVybiB0PT09cj9lP3IuY2xpcEV4dGVudChudWxsKTpyOnR9LHIudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9YS5hcHBseShyLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1yP2U/ci5jbGlwRXh0ZW50KG51bGwpOnI6dH0sci5jbGlwRXh0ZW50PWZ1bmN0aW9uKHQpe3ZhciBvPWkuYXBwbHkocixhcmd1bWVudHMpO2lmKG89PT1yKXtpZihlPW51bGw9PXQpe3ZhciBzPU10Km4oKSxsPWEoKTtpKFtbbFswXS1zLGxbMV0tc10sW2xbMF0rcyxsWzFdK3NdXSl9fWVsc2UgZSYmKG89bnVsbCk7cmV0dXJuIG99LHIuY2xpcEV4dGVudChudWxsKX0odC5nZW8uZ25vbW9uaWM9ZnVuY3Rpb24oKXtyZXR1cm4gQ24oS24pfSkucmF3PUtuLFFuLmludmVydD1mdW5jdGlvbih0LGUpe3JldHVyblt0LDIqTWF0aC5hdGFuKE1hdGguZXhwKGUpKS1FdF19LCh0Lmdlby5tZXJjYXRvcj1mdW5jdGlvbigpe3JldHVybiAkbihRbil9KS5yYXc9UW47dmFyIHRhPVluKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LE1hdGguYXNpbik7KHQuZ2VvLm9ydGhvZ3JhcGhpYz1mdW5jdGlvbigpe3JldHVybiBDbih0YSl9KS5yYXc9dGE7dmFyIGVhPVluKGZ1bmN0aW9uKHQpe3JldHVybiAxLygxK3QpfSxmdW5jdGlvbih0KXtyZXR1cm4gMipNYXRoLmF0YW4odCl9KTtmdW5jdGlvbiByYSh0LGUpe3JldHVybltNYXRoLmxvZyhNYXRoLnRhbihNdC80K2UvMikpLC10XX1mdW5jdGlvbiBuYSh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBhYSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBpYSh0KXtmb3IodmFyIGU9dC5sZW5ndGgscj1bMCwxXSxuPTIsYT0yO2E8ZTthKyspe2Zvcig7bj4xJiZPdCh0W3Jbbi0yXV0sdFtyW24tMV1dLHRbYV0pPD0wOyktLW47cltuKytdPWF9cmV0dXJuIHIuc2xpY2UoMCxuKX1mdW5jdGlvbiBvYSh0LGUpe3JldHVybiB0WzBdLWVbMF18fHRbMV0tZVsxXX0odC5nZW8uc3RlcmVvZ3JhcGhpYz1mdW5jdGlvbigpe3JldHVybiBDbihlYSl9KS5yYXc9ZWEscmEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuWy1lLDIqTWF0aC5hdGFuKE1hdGguZXhwKHQpKS1FdF19LCh0Lmdlby50cmFuc3ZlcnNlTWVyY2F0b3I9ZnVuY3Rpb24oKXt2YXIgdD0kbihyYSksZT10LmNlbnRlcixyPXQucm90YXRlO3JldHVybiB0LmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9lKFstdFsxXSx0WzBdXSk6Wyh0PWUoKSlbMV0sLXRbMF1dfSx0LnJvdGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdD9yKFt0WzBdLHRbMV0sdC5sZW5ndGg+Mj90WzJdKzkwOjkwXSk6Wyh0PXIoKSlbMF0sdFsxXSx0WzJdLTkwXX0scihbMCwwLDkwXSl9KS5yYXc9cmEsdC5nZW9tPXt9LHQuZ2VvbS5odWxsPWZ1bmN0aW9uKHQpe3ZhciBlPW5hLHI9YWE7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbih0KTtmdW5jdGlvbiBuKHQpe2lmKHQubGVuZ3RoPDMpcmV0dXJuW107dmFyIG4sYT12ZShlKSxpPXZlKHIpLG89dC5sZW5ndGgscz1bXSxsPVtdO2ZvcihuPTA7bjxvO24rKylzLnB1c2goWythLmNhbGwodGhpcyx0W25dLG4pLCtpLmNhbGwodGhpcyx0W25dLG4pLG5dKTtmb3Iocy5zb3J0KG9hKSxuPTA7bjxvO24rKylsLnB1c2goW3Nbbl1bMF0sLXNbbl1bMV1dKTt2YXIgYz1pYShzKSx1PWlhKGwpLGg9dVswXT09PWNbMF0sZj11W3UubGVuZ3RoLTFdPT09Y1tjLmxlbmd0aC0xXSxwPVtdO2ZvcihuPWMubGVuZ3RoLTE7bj49MDstLW4pcC5wdXNoKHRbc1tjW25dXVsyXV0pO2ZvcihuPStoO248dS5sZW5ndGgtZjsrK24pcC5wdXNoKHRbc1t1W25dXVsyXV0pO3JldHVybiBwfXJldHVybiBuLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxuKTplfSxuLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxuKTpyfSxufSx0Lmdlb20ucG9seWdvbj1mdW5jdGlvbih0KXtyZXR1cm4gVSh0LHNhKSx0fTt2YXIgc2E9dC5nZW9tLnBvbHlnb24ucHJvdG90eXBlPVtdO2Z1bmN0aW9uIGxhKHQsZSxyKXtyZXR1cm4oclswXS1lWzBdKSoodFsxXS1lWzFdKTwoclsxXS1lWzFdKSoodFswXS1lWzBdKX1mdW5jdGlvbiBjYSh0LGUscixuKXt2YXIgYT10WzBdLGk9clswXSxvPWVbMF0tYSxzPW5bMF0taSxsPXRbMV0sYz1yWzFdLHU9ZVsxXS1sLGg9blsxXS1jLGY9KHMqKGwtYyktaCooYS1pKSkvKGgqby1zKnUpO3JldHVyblthK2YqbyxsK2YqdV19ZnVuY3Rpb24gdWEodCl7dmFyIGU9dFswXSxyPXRbdC5sZW5ndGgtMV07cmV0dXJuIShlWzBdLXJbMF18fGVbMV0tclsxXSl9c2EuYXJlYT1mdW5jdGlvbigpe2Zvcih2YXIgdCxlPS0xLHI9dGhpcy5sZW5ndGgsbj10aGlzW3ItMV0sYT0wOysrZTxyOyl0PW4sbj10aGlzW2VdLGErPXRbMV0qblswXS10WzBdKm5bMV07cmV0dXJuLjUqYX0sc2EuY2VudHJvaWQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPS0xLGE9dGhpcy5sZW5ndGgsaT0wLG89MCxzPXRoaXNbYS0xXTtmb3IoYXJndW1lbnRzLmxlbmd0aHx8KHQ9LTEvKDYqdGhpcy5hcmVhKCkpKTsrK248YTspZT1zLHM9dGhpc1tuXSxyPWVbMF0qc1sxXS1zWzBdKmVbMV0saSs9KGVbMF0rc1swXSkqcixvKz0oZVsxXStzWzFdKSpyO3JldHVybltpKnQsbyp0XX0sc2EuY2xpcD1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGEsaSxvLHM9dWEodCksbD0tMSxjPXRoaXMubGVuZ3RoLXVhKHRoaXMpLHU9dGhpc1tjLTFdOysrbDxjOyl7Zm9yKGU9dC5zbGljZSgpLHQubGVuZ3RoPTAsYT10aGlzW2xdLGk9ZVsobj1lLmxlbmd0aC1zKS0xXSxyPS0xOysrcjxuOylsYShvPWVbcl0sdSxhKT8obGEoaSx1LGEpfHx0LnB1c2goY2EoaSxvLHUsYSkpLHQucHVzaChvKSk6bGEoaSx1LGEpJiZ0LnB1c2goY2EoaSxvLHUsYSkpLGk9bztzJiZ0LnB1c2godFswXSksdT1hfXJldHVybiB0fTt2YXIgaGEsZmEscGEsZGEsZ2EsdmE9W10sbWE9W107ZnVuY3Rpb24geWEoKXtSYSh0aGlzKSx0aGlzLmVkZ2U9dGhpcy5zaXRlPXRoaXMuY2lyY2xlPW51bGx9ZnVuY3Rpb24geGEodCl7dmFyIGU9dmEucG9wKCl8fG5ldyB5YTtyZXR1cm4gZS5zaXRlPXQsZX1mdW5jdGlvbiBiYSh0KXtMYSh0KSxwYS5yZW1vdmUodCksdmEucHVzaCh0KSxSYSh0KX1mdW5jdGlvbiBfYSh0KXt2YXIgZT10LmNpcmNsZSxyPWUueCxuPWUuY3ksYT17eDpyLHk6bn0saT10LlAsbz10Lk4scz1bdF07YmEodCk7Zm9yKHZhciBsPWk7bC5jaXJjbGUmJnkoci1sLmNpcmNsZS54KTxrdCYmeShuLWwuY2lyY2xlLmN5KTxrdDspaT1sLlAscy51bnNoaWZ0KGwpLGJhKGwpLGw9aTtzLnVuc2hpZnQobCksTGEobCk7Zm9yKHZhciBjPW87Yy5jaXJjbGUmJnkoci1jLmNpcmNsZS54KTxrdCYmeShuLWMuY2lyY2xlLmN5KTxrdDspbz1jLk4scy5wdXNoKGMpLGJhKGMpLGM9bztzLnB1c2goYyksTGEoYyk7dmFyIHUsaD1zLmxlbmd0aDtmb3IodT0xO3U8aDsrK3UpYz1zW3VdLGw9c1t1LTFdLHphKGMuZWRnZSxsLnNpdGUsYy5zaXRlLGEpO2w9c1swXSwoYz1zW2gtMV0pLmVkZ2U9T2EobC5zaXRlLGMuc2l0ZSxudWxsLGEpLEVhKGwpLEVhKGMpfWZ1bmN0aW9uIHdhKHQpe2Zvcih2YXIgZSxyLG4sYSxpPXQueCxvPXQueSxzPXBhLl87czspaWYoKG49a2EocyxvKS1pKT5rdClzPXMuTDtlbHNle2lmKCEoKGE9aS1UYShzLG8pKT5rdCkpe24+LWt0PyhlPXMuUCxyPXMpOmE+LWt0PyhlPXMscj1zLk4pOmU9cj1zO2JyZWFrfWlmKCFzLlIpe2U9czticmVha31zPXMuUn12YXIgbD14YSh0KTtpZihwYS5pbnNlcnQoZSxsKSxlfHxyKXtpZihlPT09cilyZXR1cm4gTGEoZSkscj14YShlLnNpdGUpLHBhLmluc2VydChsLHIpLGwuZWRnZT1yLmVkZ2U9T2EoZS5zaXRlLGwuc2l0ZSksRWEoZSksdm9pZCBFYShyKTtpZihyKXtMYShlKSxMYShyKTt2YXIgYz1lLnNpdGUsdT1jLngsaD1jLnksZj10LngtdSxwPXQueS1oLGQ9ci5zaXRlLGc9ZC54LXUsdj1kLnktaCxtPTIqKGYqdi1wKmcpLHk9ZipmK3AqcCx4PWcqZyt2KnYsYj17eDoodip5LXAqeCkvbSt1LHk6KGYqeC1nKnkpL20raH07emEoci5lZGdlLGMsZCxiKSxsLmVkZ2U9T2EoYyx0LG51bGwsYiksci5lZGdlPU9hKHQsZCxudWxsLGIpLEVhKGUpLEVhKHIpfWVsc2UgbC5lZGdlPU9hKGUuc2l0ZSxsLnNpdGUpfX1mdW5jdGlvbiBrYSh0LGUpe3ZhciByPXQuc2l0ZSxuPXIueCxhPXIueSxpPWEtZTtpZighaSlyZXR1cm4gbjt2YXIgbz10LlA7aWYoIW8pcmV0dXJuLTEvMDt2YXIgcz0ocj1vLnNpdGUpLngsbD1yLnksYz1sLWU7aWYoIWMpcmV0dXJuIHM7dmFyIHU9cy1uLGg9MS9pLTEvYyxmPXUvYztyZXR1cm4gaD8oLWYrTWF0aC5zcXJ0KGYqZi0yKmgqKHUqdS8oLTIqYyktbCtjLzIrYS1pLzIpKSkvaCtuOihuK3MpLzJ9ZnVuY3Rpb24gVGEodCxlKXt2YXIgcj10Lk47aWYocilyZXR1cm4ga2EocixlKTt2YXIgbj10LnNpdGU7cmV0dXJuIG4ueT09PWU/bi54OjEvMH1mdW5jdGlvbiBNYSh0KXt0aGlzLnNpdGU9dCx0aGlzLmVkZ2VzPVtdfWZ1bmN0aW9uIEFhKHQsZSl7cmV0dXJuIGUuYW5nbGUtdC5hbmdsZX1mdW5jdGlvbiBTYSgpe1JhKHRoaXMpLHRoaXMueD10aGlzLnk9dGhpcy5hcmM9dGhpcy5zaXRlPXRoaXMuY3k9bnVsbH1mdW5jdGlvbiBFYSh0KXt2YXIgZT10LlAscj10Lk47aWYoZSYmcil7dmFyIG49ZS5zaXRlLGE9dC5zaXRlLGk9ci5zaXRlO2lmKG4hPT1pKXt2YXIgbz1hLngscz1hLnksbD1uLngtbyxjPW4ueS1zLHU9aS54LW8saD0yKihsKih2PWkueS1zKS1jKnUpO2lmKCEoaD49LVR0KSl7dmFyIGY9bCpsK2MqYyxwPXUqdSt2KnYsZD0odipmLWMqcCkvaCxnPShsKnAtdSpmKS9oLHY9ZytzLG09bWEucG9wKCl8fG5ldyBTYTttLmFyYz10LG0uc2l0ZT1hLG0ueD1kK28sbS55PXYrTWF0aC5zcXJ0KGQqZCtnKmcpLG0uY3k9dix0LmNpcmNsZT1tO2Zvcih2YXIgeT1udWxsLHg9Z2EuXzt4OylpZihtLnk8eC55fHxtLnk9PT14LnkmJm0ueDw9eC54KXtpZigheC5MKXt5PXguUDticmVha314PXguTH1lbHNle2lmKCF4LlIpe3k9eDticmVha314PXguUn1nYS5pbnNlcnQoeSxtKSx5fHwoZGE9bSl9fX19ZnVuY3Rpb24gTGEodCl7dmFyIGU9dC5jaXJjbGU7ZSYmKGUuUHx8KGRhPWUuTiksZ2EucmVtb3ZlKGUpLG1hLnB1c2goZSksUmEoZSksdC5jaXJjbGU9bnVsbCl9ZnVuY3Rpb24gQ2EodCxlKXt2YXIgcj10LmI7aWYocilyZXR1cm4hMDt2YXIgbixhLGk9dC5hLG89ZVswXVswXSxzPWVbMV1bMF0sbD1lWzBdWzFdLGM9ZVsxXVsxXSx1PXQubCxoPXQucixmPXUueCxwPXUueSxkPWgueCxnPWgueSx2PShmK2QpLzIsbT0ocCtnKS8yO2lmKGc9PT1wKXtpZih2PG98fHY+PXMpcmV0dXJuO2lmKGY+ZCl7aWYoaSl7aWYoaS55Pj1jKXJldHVybn1lbHNlIGk9e3g6dix5Omx9O3I9e3g6dix5OmN9fWVsc2V7aWYoaSl7aWYoaS55PGwpcmV0dXJufWVsc2UgaT17eDp2LHk6Y307cj17eDp2LHk6bH19fWVsc2UgaWYoYT1tLShuPShmLWQpLyhnLXApKSp2LG48LTF8fG4+MSlpZihmPmQpe2lmKGkpe2lmKGkueT49YylyZXR1cm59ZWxzZSBpPXt4OihsLWEpL24seTpsfTtyPXt4OihjLWEpL24seTpjfX1lbHNle2lmKGkpe2lmKGkueTxsKXJldHVybn1lbHNlIGk9e3g6KGMtYSkvbix5OmN9O3I9e3g6KGwtYSkvbix5Omx9fWVsc2UgaWYocDxnKXtpZihpKXtpZihpLng+PXMpcmV0dXJufWVsc2UgaT17eDpvLHk6bipvK2F9O3I9e3g6cyx5Om4qcythfX1lbHNle2lmKGkpe2lmKGkueDxvKXJldHVybn1lbHNlIGk9e3g6cyx5Om4qcythfTtyPXt4Om8seTpuKm8rYX19cmV0dXJuIHQuYT1pLHQuYj1yLCEwfWZ1bmN0aW9uIFBhKHQsZSl7dGhpcy5sPXQsdGhpcy5yPWUsdGhpcy5hPXRoaXMuYj1udWxsfWZ1bmN0aW9uIE9hKHQsZSxyLG4pe3ZhciBhPW5ldyBQYSh0LGUpO3JldHVybiBoYS5wdXNoKGEpLHImJnphKGEsdCxlLHIpLG4mJnphKGEsZSx0LG4pLGZhW3QuaV0uZWRnZXMucHVzaChuZXcgSWEoYSx0LGUpKSxmYVtlLmldLmVkZ2VzLnB1c2gobmV3IElhKGEsZSx0KSksYX1mdW5jdGlvbiB6YSh0LGUscixuKXt0LmF8fHQuYj90Lmw9PT1yP3QuYj1uOnQuYT1uOih0LmE9bix0Lmw9ZSx0LnI9cil9ZnVuY3Rpb24gSWEodCxlLHIpe3ZhciBuPXQuYSxhPXQuYjt0aGlzLmVkZ2U9dCx0aGlzLnNpdGU9ZSx0aGlzLmFuZ2xlPXI/TWF0aC5hdGFuMihyLnktZS55LHIueC1lLngpOnQubD09PWU/TWF0aC5hdGFuMihhLngtbi54LG4ueS1hLnkpOk1hdGguYXRhbjIobi54LWEueCxhLnktbi55KX1mdW5jdGlvbiBEYSgpe3RoaXMuXz1udWxsfWZ1bmN0aW9uIFJhKHQpe3QuVT10LkM9dC5MPXQuUj10LlA9dC5OPW51bGx9ZnVuY3Rpb24gRmEodCxlKXt2YXIgcj1lLG49ZS5SLGE9ci5VO2E/YS5MPT09cj9hLkw9bjphLlI9bjp0Ll89bixuLlU9YSxyLlU9bixyLlI9bi5MLHIuUiYmKHIuUi5VPXIpLG4uTD1yfWZ1bmN0aW9uIEJhKHQsZSl7dmFyIHI9ZSxuPWUuTCxhPXIuVTthP2EuTD09PXI/YS5MPW46YS5SPW46dC5fPW4sbi5VPWEsci5VPW4sci5MPW4uUixyLkwmJihyLkwuVT1yKSxuLlI9cn1mdW5jdGlvbiBOYSh0KXtmb3IoO3QuTDspdD10Lkw7cmV0dXJuIHR9ZnVuY3Rpb24gamEodCxlKXt2YXIgcixuLGEsaT10LnNvcnQoVmEpLnBvcCgpO2ZvcihoYT1bXSxmYT1uZXcgQXJyYXkodC5sZW5ndGgpLHBhPW5ldyBEYSxnYT1uZXcgRGE7OylpZihhPWRhLGkmJighYXx8aS55PGEueXx8aS55PT09YS55JiZpLng8YS54KSlpLng9PT1yJiZpLnk9PT1ufHwoZmFbaS5pXT1uZXcgTWEoaSksd2EoaSkscj1pLngsbj1pLnkpLGk9dC5wb3AoKTtlbHNle2lmKCFhKWJyZWFrO19hKGEuYXJjKX1lJiYoZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9aGEsbj1ubih0WzBdWzBdLHRbMF1bMV0sdFsxXVswXSx0WzFdWzFdKSxhPXIubGVuZ3RoO2EtLTspKCFDYShlPXJbYV0sdCl8fCFuKGUpfHx5KGUuYS54LWUuYi54KTxrdCYmeShlLmEueS1lLmIueSk8a3QpJiYoZS5hPWUuYj1udWxsLHIuc3BsaWNlKGEsMSkpfShlKSxmdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGEsaSxvLHMsbCxjLHUsaD10WzBdWzBdLGY9dFsxXVswXSxwPXRbMF1bMV0sZD10WzFdWzFdLGc9ZmEsdj1nLmxlbmd0aDt2LS07KWlmKChpPWdbdl0pJiZpLnByZXBhcmUoKSlmb3IobD0ocz1pLmVkZ2VzKS5sZW5ndGgsbz0wO288bDspbj0odT1zW29dLmVuZCgpKS54LGE9dS55LGU9KGM9c1srK28lbF0uc3RhcnQoKSkueCxyPWMueSwoeShuLWUpPmt0fHx5KGEtcik+a3QpJiYocy5zcGxpY2UobywwLG5ldyBJYSgobT1pLnNpdGUseD11LGI9eShuLWgpPGt0JiZkLWE+a3Q/e3g6aCx5OnkoZS1oKTxrdD9yOmR9OnkoYS1kKTxrdCYmZi1uPmt0P3t4Onkoci1kKTxrdD9lOmYseTpkfTp5KG4tZik8a3QmJmEtcD5rdD97eDpmLHk6eShlLWYpPGt0P3I6cH06eShhLXApPGt0JiZuLWg+a3Q/e3g6eShyLXApPGt0P2U6aCx5OnB9Om51bGwsXz12b2lkIDAsXz1uZXcgUGEobSxudWxsKSxfLmE9eCxfLmI9YixoYS5wdXNoKF8pLF8pLGkuc2l0ZSxudWxsKSksKytsKTt2YXIgbSx4LGIsX30oZSkpO3ZhciBvPXtjZWxsczpmYSxlZGdlczpoYX07cmV0dXJuIHBhPWdhPWhhPWZhPW51bGwsb31mdW5jdGlvbiBWYSh0LGUpe3JldHVybiBlLnktdC55fHxlLngtdC54fU1hLnByb3RvdHlwZS5wcmVwYXJlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9dGhpcy5lZGdlcyxyPWUubGVuZ3RoO3ItLTspKHQ9ZVtyXS5lZGdlKS5iJiZ0LmF8fGUuc3BsaWNlKHIsMSk7cmV0dXJuIGUuc29ydChBYSksZS5sZW5ndGh9LElhLnByb3RvdHlwZT17c3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGdlLmw9PT10aGlzLnNpdGU/dGhpcy5lZGdlLmE6dGhpcy5lZGdlLmJ9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZ2UubD09PXRoaXMuc2l0ZT90aGlzLmVkZ2UuYjp0aGlzLmVkZ2UuYX19LERhLnByb3RvdHlwZT17aW5zZXJ0OmZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhO2lmKHQpe2lmKGUuUD10LGUuTj10Lk4sdC5OJiYodC5OLlA9ZSksdC5OPWUsdC5SKXtmb3IodD10LlI7dC5MOyl0PXQuTDt0Lkw9ZX1lbHNlIHQuUj1lO3I9dH1lbHNlIHRoaXMuXz8odD1OYSh0aGlzLl8pLGUuUD1udWxsLGUuTj10LHQuUD10Lkw9ZSxyPXQpOihlLlA9ZS5OPW51bGwsdGhpcy5fPWUscj1udWxsKTtmb3IoZS5MPWUuUj1udWxsLGUuVT1yLGUuQz0hMCx0PWU7ciYmci5DOylyPT09KG49ci5VKS5MPyhhPW4uUikmJmEuQz8oci5DPWEuQz0hMSxuLkM9ITAsdD1uKToodD09PXIuUiYmKEZhKHRoaXMscikscj0odD1yKS5VKSxyLkM9ITEsbi5DPSEwLEJhKHRoaXMsbikpOihhPW4uTCkmJmEuQz8oci5DPWEuQz0hMSxuLkM9ITAsdD1uKToodD09PXIuTCYmKEJhKHRoaXMscikscj0odD1yKS5VKSxyLkM9ITEsbi5DPSEwLEZhKHRoaXMsbikpLHI9dC5VO3RoaXMuXy5DPSExfSxyZW1vdmU6ZnVuY3Rpb24odCl7dC5OJiYodC5OLlA9dC5QKSx0LlAmJih0LlAuTj10Lk4pLHQuTj10LlA9bnVsbDt2YXIgZSxyLG4sYT10LlUsaT10Lkwsbz10LlI7aWYocj1pP28/TmEobyk6aTpvLGE/YS5MPT09dD9hLkw9cjphLlI9cjp0aGlzLl89cixpJiZvPyhuPXIuQyxyLkM9dC5DLHIuTD1pLGkuVT1yLHIhPT1vPyhhPXIuVSxyLlU9dC5VLHQ9ci5SLGEuTD10LHIuUj1vLG8uVT1yKTooci5VPWEsYT1yLHQ9ci5SKSk6KG49dC5DLHQ9ciksdCYmKHQuVT1hKSwhbilpZih0JiZ0LkMpdC5DPSExO2Vsc2V7ZG97aWYodD09PXRoaXMuXylicmVhaztpZih0PT09YS5MKXtpZigoZT1hLlIpLkMmJihlLkM9ITEsYS5DPSEwLEZhKHRoaXMsYSksZT1hLlIpLGUuTCYmZS5MLkN8fGUuUiYmZS5SLkMpe2UuUiYmZS5SLkN8fChlLkwuQz0hMSxlLkM9ITAsQmEodGhpcyxlKSxlPWEuUiksZS5DPWEuQyxhLkM9ZS5SLkM9ITEsRmEodGhpcyxhKSx0PXRoaXMuXzticmVha319ZWxzZSBpZigoZT1hLkwpLkMmJihlLkM9ITEsYS5DPSEwLEJhKHRoaXMsYSksZT1hLkwpLGUuTCYmZS5MLkN8fGUuUiYmZS5SLkMpe2UuTCYmZS5MLkN8fChlLlIuQz0hMSxlLkM9ITAsRmEodGhpcyxlKSxlPWEuTCksZS5DPWEuQyxhLkM9ZS5MLkM9ITEsQmEodGhpcyxhKSx0PXRoaXMuXzticmVha31lLkM9ITAsdD1hLGE9YS5VfXdoaWxlKCF0LkMpO3QmJih0LkM9ITEpfX19LHQuZ2VvbS52b3Jvbm9pPWZ1bmN0aW9uKHQpe3ZhciBlPW5hLHI9YWEsbj1lLGE9cixpPVVhO2lmKHQpcmV0dXJuIG8odCk7ZnVuY3Rpb24gbyh0KXt2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9aVswXVswXSxuPWlbMF1bMV0sYT1pWzFdWzBdLG89aVsxXVsxXTtyZXR1cm4gamEocyh0KSxpKS5jZWxscy5mb3JFYWNoKGZ1bmN0aW9uKGkscyl7dmFyIGw9aS5lZGdlcyxjPWkuc2l0ZTsoZVtzXT1sLmxlbmd0aD9sLm1hcChmdW5jdGlvbih0KXt2YXIgZT10LnN0YXJ0KCk7cmV0dXJuW2UueCxlLnldfSk6Yy54Pj1yJiZjLng8PWEmJmMueT49biYmYy55PD1vP1tbcixvXSxbYSxvXSxbYSxuXSxbcixuXV06W10pLnBvaW50PXRbc119KSxlfWZ1bmN0aW9uIHModCl7cmV0dXJuIHQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJue3g6TWF0aC5yb3VuZChuKHQsZSkva3QpKmt0LHk6TWF0aC5yb3VuZChhKHQsZSkva3QpKmt0LGk6ZX19KX1yZXR1cm4gby5saW5rcz1mdW5jdGlvbih0KXtyZXR1cm4gamEocyh0KSkuZWRnZXMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmwmJnQucn0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm57c291cmNlOnRbZS5sLmldLHRhcmdldDp0W2Uuci5pXX19KX0sby50cmlhbmdsZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGphKHModCkpLmNlbGxzLmZvckVhY2goZnVuY3Rpb24ocixuKXtmb3IodmFyIGEsaSxvLHMsbD1yLnNpdGUsYz1yLmVkZ2VzLnNvcnQoQWEpLHU9LTEsaD1jLmxlbmd0aCxmPWNbaC0xXS5lZGdlLHA9Zi5sPT09bD9mLnI6Zi5sOysrdTxoOylmLGE9cCxwPShmPWNbdV0uZWRnZSkubD09PWw/Zi5yOmYubCxuPGEuaSYmbjxwLmkmJihvPWEscz1wLCgoaT1sKS54LXMueCkqKG8ueS1pLnkpLShpLngtby54KSoocy55LWkueSk8MCkmJmUucHVzaChbdFtuXSx0W2EuaV0sdFtwLmldXSl9KSxlfSxvLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dmUoZT10KSxvKTplfSxvLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dmUocj10KSxvKTpyfSxvLmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD9VYTp0LG8pOmk9PT1VYT9udWxsOml9LG8uc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9vLmNsaXBFeHRlbnQodCYmW1swLDBdLHRdKTppPT09VWE/bnVsbDppJiZpWzFdfSxvfTt2YXIgVWE9W1stMWU2LC0xZTZdLFsxZTYsMWU2XV07ZnVuY3Rpb24gcWEodCl7cmV0dXJuIHQueH1mdW5jdGlvbiBIYSh0KXtyZXR1cm4gdC55fWZ1bmN0aW9uIEdhKGUscil7ZT10LnJnYihlKSxyPXQucmdiKHIpO3ZhciBuPWUucixhPWUuZyxpPWUuYixvPXIuci1uLHM9ci5nLWEsbD1yLmItaTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIiMiK2NlKE1hdGgucm91bmQobitvKnQpKStjZShNYXRoLnJvdW5kKGErcyp0KSkrY2UoTWF0aC5yb3VuZChpK2wqdCkpfX1mdW5jdGlvbiBZYSh0LGUpe3ZhciByLG49e30sYT17fTtmb3IociBpbiB0KXIgaW4gZT9uW3JdPUthKHRbcl0sZVtyXSk6YVtyXT10W3JdO2ZvcihyIGluIGUpciBpbiB0fHwoYVtyXT1lW3JdKTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHIgaW4gbilhW3JdPW5bcl0odCk7cmV0dXJuIGF9fWZ1bmN0aW9uIFdhKHQsZSl7cmV0dXJuIHQ9K3QsZT0rZSxmdW5jdGlvbihyKXtyZXR1cm4gdCooMS1yKStlKnJ9fWZ1bmN0aW9uIFhhKHQsZSl7dmFyIHIsbixhLGk9WmEubGFzdEluZGV4PUphLmxhc3RJbmRleD0wLG89LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsocj1aYS5leGVjKHQpKSYmKG49SmEuZXhlYyhlKSk7KShhPW4uaW5kZXgpPmkmJihhPWUuc2xpY2UoaSxhKSxzW29dP3Nbb10rPWE6c1srK29dPWEpLChyPXJbMF0pPT09KG49blswXSk/c1tvXT9zW29dKz1uOnNbKytvXT1uOihzWysrb109bnVsbCxsLnB1c2goe2k6byx4OldhKHIsbil9KSksaT1KYS5sYXN0SW5kZXg7cmV0dXJuIGk8ZS5sZW5ndGgmJihhPWUuc2xpY2UoaSksc1tvXT9zW29dKz1hOnNbKytvXT1hKSxzLmxlbmd0aDwyP2xbMF0/KGU9bFswXS54LGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpKyIifSk6ZnVuY3Rpb24oKXtyZXR1cm4gZX06KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciByLG49MDtuPGU7KytuKXNbKHI9bFtuXSkuaV09ci54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9dC5nZW9tLmRlbGF1bmF5PWZ1bmN0aW9uKGUpe3JldHVybiB0Lmdlb20udm9yb25vaSgpLnRyaWFuZ2xlcyhlKX0sdC5nZW9tLnF1YWR0cmVlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbz1uYSxzPWFhO2lmKGk9YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbz1xYSxzPUhhLDM9PT1pJiYoYT1yLG49ZSxyPWU9MCksbCh0KTtmdW5jdGlvbiBsKHQpe3ZhciBsLGMsdSxoLGYscCxkLGcsdixtPXZlKG8pLHg9dmUocyk7aWYobnVsbCE9ZSlwPWUsZD1yLGc9bix2PWE7ZWxzZSBpZihnPXY9LShwPWQ9MS8wKSxjPVtdLHU9W10sZj10Lmxlbmd0aCxpKWZvcihoPTA7aDxmOysraCkobD10W2hdKS54PHAmJihwPWwueCksbC55PGQmJihkPWwueSksbC54PmcmJihnPWwueCksbC55PnYmJih2PWwueSksYy5wdXNoKGwueCksdS5wdXNoKGwueSk7ZWxzZSBmb3IoaD0wO2g8ZjsrK2gpe3ZhciBiPSttKGw9dFtoXSxoKSxfPSt4KGwsaCk7YjxwJiYocD1iKSxfPGQmJihkPV8pLGI+ZyYmKGc9YiksXz52JiYodj1fKSxjLnB1c2goYiksdS5wdXNoKF8pfXZhciB3PWctcCxrPXYtZDtmdW5jdGlvbiBUKHQsZSxyLG4sYSxpLG8scyl7aWYoIWlzTmFOKHIpJiYhaXNOYU4obikpaWYodC5sZWFmKXt2YXIgbD10LngsYz10Lnk7aWYobnVsbCE9bClpZih5KGwtcikreShjLW4pPC4wMSlNKHQsZSxyLG4sYSxpLG8scyk7ZWxzZXt2YXIgdT10LnBvaW50O3QueD10Lnk9dC5wb2ludD1udWxsLE0odCx1LGwsYyxhLGksbyxzKSxNKHQsZSxyLG4sYSxpLG8scyl9ZWxzZSB0Lng9cix0Lnk9bix0LnBvaW50PWV9ZWxzZSBNKHQsZSxyLG4sYSxpLG8scyl9ZnVuY3Rpb24gTSh0LGUscixuLGEsaSxvLHMpe3ZhciBsPS41KihhK28pLGM9LjUqKGkrcyksdT1yPj1sLGg9bj49YyxmPWg8PDF8dTt0LmxlYWY9ITEsdT9hPWw6bz1sLGg/aT1jOnM9YyxUKHQ9dC5ub2Rlc1tmXXx8KHQubm9kZXNbZl09e2xlYWY6ITAsbm9kZXM6W10scG9pbnQ6bnVsbCx4Om51bGwseTpudWxsfSksZSxyLG4sYSxpLG8scyl9dz5rP3Y9ZCt3Omc9cCtrO3ZhciBBPXtsZWFmOiEwLG5vZGVzOltdLHBvaW50Om51bGwseDpudWxsLHk6bnVsbCxhZGQ6ZnVuY3Rpb24odCl7VChBLHQsK20odCwrK2gpLCt4KHQsaCkscCxkLGcsdil9fTtpZihBLnZpc2l0PWZ1bmN0aW9uKHQpeyFmdW5jdGlvbiB0KGUscixuLGEsaSxvKXtpZighZShyLG4sYSxpLG8pKXt2YXIgcz0uNSoobitpKSxsPS41KihhK28pLGM9ci5ub2RlcztjWzBdJiZ0KGUsY1swXSxuLGEscyxsKSxjWzFdJiZ0KGUsY1sxXSxzLGEsaSxsKSxjWzJdJiZ0KGUsY1syXSxuLGwscyxvKSxjWzNdJiZ0KGUsY1szXSxzLGwsaSxvKX19KHQsQSxwLGQsZyx2KX0sQS5maW5kPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcyxsPTEvMDtyZXR1cm4gZnVuY3Rpb24gdChjLHUsaCxmLHApe2lmKCEodT5pfHxoPm98fGY8bnx8cDxhKSl7aWYoZD1jLnBvaW50KXt2YXIgZCxnPWUtYy54LHY9ci1jLnksbT1nKmcrdip2O2lmKG08bCl7dmFyIHk9TWF0aC5zcXJ0KGw9bSk7bj1lLXksYT1yLXksaT1lK3ksbz1yK3kscz1kfX1mb3IodmFyIHg9Yy5ub2RlcyxiPS41Kih1K2YpLF89LjUqKGgrcCksdz0ocj49Xyk8PDF8ZT49YixrPXcrNDt3PGs7Kyt3KWlmKGM9eFszJnddKXN3aXRjaCgzJncpe2Nhc2UgMDp0KGMsdSxoLGIsXyk7YnJlYWs7Y2FzZSAxOnQoYyxiLGgsZixfKTticmVhaztjYXNlIDI6dChjLHUsXyxiLHApO2JyZWFrO2Nhc2UgMzp0KGMsYixfLGYscCl9fX0odCxuLGEsaSxvKSxzfShBLHRbMF0sdFsxXSxwLGQsZyx2KX0saD0tMSxudWxsPT1lKXtmb3IoOysraDxmOylUKEEsdFtoXSxjW2hdLHVbaF0scCxkLGcsdik7LS1ofWVsc2UgdC5mb3JFYWNoKEEuYWRkKTtyZXR1cm4gYz11PXQ9bD1udWxsLEF9cmV0dXJuIGwueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10LGwpOm99LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz10LGwpOnN9LGwuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P2U9cj1uPWE9bnVsbDooZT0rdFswXVswXSxyPSt0WzBdWzFdLG49K3RbMV1bMF0sYT0rdFsxXVsxXSksbCk6bnVsbD09ZT9udWxsOltbZSxyXSxbbixhXV19LGwuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9lPXI9bj1hPW51bGw6KGU9cj0wLG49K3RbMF0sYT0rdFsxXSksbCk6bnVsbD09ZT9udWxsOltuLWUsYS1yXX0sbH0sdC5pbnRlcnBvbGF0ZVJnYj1HYSx0LmludGVycG9sYXRlT2JqZWN0PVlhLHQuaW50ZXJwb2xhdGVOdW1iZXI9V2EsdC5pbnRlcnBvbGF0ZVN0cmluZz1YYTt2YXIgWmE9L1stK10/KD86XGQrXC4/XGQqfFwuP1xkKykoPzpbZUVdWy0rXT9cZCspPy9nLEphPW5ldyBSZWdFeHAoWmEuc291cmNlLCJnIik7ZnVuY3Rpb24gS2EoZSxyKXtmb3IodmFyIG4sYT10LmludGVycG9sYXRvcnMubGVuZ3RoOy0tYT49MCYmIShuPXQuaW50ZXJwb2xhdG9yc1thXShlLHIpKTspO3JldHVybiBufWZ1bmN0aW9uIFFhKHQsZSl7dmFyIHIsbj1bXSxhPVtdLGk9dC5sZW5ndGgsbz1lLmxlbmd0aCxzPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKTtmb3Iocj0wO3I8czsrK3Ipbi5wdXNoKEthKHRbcl0sZVtyXSkpO2Zvcig7cjxpOysrcilhW3JdPXRbcl07Zm9yKDtyPG87KytyKWFbcl09ZVtyXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHI9MDtyPHM7KytyKWFbcl09bltyXSh0KTtyZXR1cm4gYX19dC5pbnRlcnBvbGF0ZT1LYSx0LmludGVycG9sYXRvcnM9W2Z1bmN0aW9uKHQsZSl7dmFyIHI9dHlwZW9mIGU7cmV0dXJuKCJzdHJpbmciPT09cj9nZS5oYXMoZS50b0xvd2VyQ2FzZSgpKXx8L14oI3xyZ2JcKHxoc2xcKCkvaS50ZXN0KGUpP0dhOlhhOmUgaW5zdGFuY2VvZiBWdD9HYTpBcnJheS5pc0FycmF5KGUpP1FhOiJvYmplY3QiPT09ciYmaXNOYU4oZSk/WWE6V2EpKHQsZSl9XSx0LmludGVycG9sYXRlQXJyYXk9UWE7dmFyICRhPWZ1bmN0aW9uKCl7cmV0dXJuIFB9LHRpPXQubWFwKHtsaW5lYXI6JGEscG9seTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KGUsdCl9fSxxdWFkOmZ1bmN0aW9uKCl7cmV0dXJuIGFpfSxjdWJpYzpmdW5jdGlvbigpe3JldHVybiBpaX0sc2luOmZ1bmN0aW9uKCl7cmV0dXJuIHNpfSxleHA6ZnVuY3Rpb24oKXtyZXR1cm4gbGl9LGNpcmNsZTpmdW5jdGlvbigpe3JldHVybiBjaX0sZWxhc3RpYzpmdW5jdGlvbih0LGUpe3ZhciByO2FyZ3VtZW50cy5sZW5ndGg8MiYmKGU9LjQ1KTthcmd1bWVudHMubGVuZ3RoP3I9ZS9BdCpNYXRoLmFzaW4oMS90KToodD0xLHI9ZS80KTtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIDErdCpNYXRoLnBvdygyLC0xMCpuKSpNYXRoLnNpbigobi1yKSpBdC9lKX19LGJhY2s6ZnVuY3Rpb24odCl7dHx8KHQ9MS43MDE1OCk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlKmUqKCh0KzEpKmUtdCl9fSxib3VuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdWl9fSksZWk9dC5tYXAoe2luOlAsb3V0OnJpLCJpbi1vdXQiOm5pLCJvdXQtaW4iOmZ1bmN0aW9uKHQpe3JldHVybiBuaShyaSh0KSl9fSk7ZnVuY3Rpb24gcmkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiAxLXQoMS1lKX19ZnVuY3Rpb24gbmkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybi41KihlPC41P3QoMiplKToyLXQoMi0yKmUpKX19ZnVuY3Rpb24gYWkodCl7cmV0dXJuIHQqdH1mdW5jdGlvbiBpaSh0KXtyZXR1cm4gdCp0KnR9ZnVuY3Rpb24gb2kodCl7aWYodDw9MClyZXR1cm4gMDtpZih0Pj0xKXJldHVybiAxO3ZhciBlPXQqdCxyPWUqdDtyZXR1cm4gNCoodDwuNT9yOjMqKHQtZSkrci0uNzUpfWZ1bmN0aW9uIHNpKHQpe3JldHVybiAxLU1hdGguY29zKHQqRXQpfWZ1bmN0aW9uIGxpKHQpe3JldHVybiBNYXRoLnBvdygyLDEwKih0LTEpKX1mdW5jdGlvbiBjaSh0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfWZ1bmN0aW9uIHVpKHQpe3JldHVybiB0PDEvMi43NT83LjU2MjUqdCp0OnQ8Mi8yLjc1PzcuNTYyNSoodC09MS41LzIuNzUpKnQrLjc1OnQ8Mi41LzIuNzU/Ny41NjI1Kih0LT0yLjI1LzIuNzUpKnQrLjkzNzU6Ny41NjI1Kih0LT0yLjYyNS8yLjc1KSp0Ky45ODQzNzV9ZnVuY3Rpb24gaGkodCxlKXtyZXR1cm4gZS09dCxmdW5jdGlvbihyKXtyZXR1cm4gTWF0aC5yb3VuZCh0K2Uqcil9fWZ1bmN0aW9uIGZpKHQpe3ZhciBlLHIsbixhPVt0LmEsdC5iXSxpPVt0LmMsdC5kXSxvPWRpKGEpLHM9cGkoYSxpKSxsPWRpKCgoZT1pKVswXSs9KG49LXMpKihyPWEpWzBdLGVbMV0rPW4qclsxXSxlKSl8fDA7YVswXSppWzFdPGlbMF0qYVsxXSYmKGFbMF0qPS0xLGFbMV0qPS0xLG8qPS0xLHMqPS0xKSx0aGlzLnJvdGF0ZT0obz9NYXRoLmF0YW4yKGFbMV0sYVswXSk6TWF0aC5hdGFuMigtaVswXSxpWzFdKSkqQ3QsdGhpcy50cmFuc2xhdGU9W3QuZSx0LmZdLHRoaXMuc2NhbGU9W28sbF0sdGhpcy5za2V3PWw/TWF0aC5hdGFuMihzLGwpKkN0OjB9ZnVuY3Rpb24gcGkodCxlKXtyZXR1cm4gdFswXSplWzBdK3RbMV0qZVsxXX1mdW5jdGlvbiBkaSh0KXt2YXIgZT1NYXRoLnNxcnQocGkodCx0KSk7cmV0dXJuIGUmJih0WzBdLz1lLHRbMV0vPWUpLGV9dC5lYXNlPWZ1bmN0aW9uKHQpe3ZhciBlLG49dC5pbmRleE9mKCItIiksYT1uPj0wP3Quc2xpY2UoMCxuKTp0LGk9bj49MD90LnNsaWNlKG4rMSk6ImluIjtyZXR1cm4gYT10aS5nZXQoYSl8fCRhLGk9ZWkuZ2V0KGkpfHxQLGU9aShhLmFwcGx5KG51bGwsci5jYWxsKGFyZ3VtZW50cywxKSkpLGZ1bmN0aW9uKHQpe3JldHVybiB0PD0wPzA6dD49MT8xOmUodCl9fSx0LmludGVycG9sYXRlSGNsPWZ1bmN0aW9uKGUscil7ZT10LmhjbChlKSxyPXQuaGNsKHIpO3ZhciBuPWUuaCxhPWUuYyxpPWUubCxvPXIuaC1uLHM9ci5jLWEsbD1yLmwtaTtpc05hTihzKSYmKHM9MCxhPWlzTmFOKGEpP3IuYzphKTtpc05hTihvKT8obz0wLG49aXNOYU4obik/ci5oOm4pOm8+MTgwP28tPTM2MDpvPC0xODAmJihvKz0zNjApO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gV3QobitvKnQsYStzKnQsaStsKnQpKyIifX0sdC5pbnRlcnBvbGF0ZUhzbD1mdW5jdGlvbihlLHIpe2U9dC5oc2woZSkscj10LmhzbChyKTt2YXIgbj1lLmgsYT1lLnMsaT1lLmwsbz1yLmgtbixzPXIucy1hLGw9ci5sLWk7aXNOYU4ocykmJihzPTAsYT1pc05hTihhKT9yLnM6YSk7aXNOYU4obyk/KG89MCxuPWlzTmFOKG4pP3IuaDpuKTpvPjE4MD9vLT0zNjA6bzwtMTgwJiYobys9MzYwKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIEh0KG4rbyp0LGErcyp0LGkrbCp0KSsiIn19LHQuaW50ZXJwb2xhdGVMYWI9ZnVuY3Rpb24oZSxyKXtlPXQubGFiKGUpLHI9dC5sYWIocik7dmFyIG49ZS5sLGE9ZS5hLGk9ZS5iLG89ci5sLW4scz1yLmEtYSxsPXIuYi1pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdGUobitvKnQsYStzKnQsaStsKnQpKyIifX0sdC5pbnRlcnBvbGF0ZVJvdW5kPWhpLHQudHJhbnNmb3JtPWZ1bmN0aW9uKGUpe3ZhciByPWEuY3JlYXRlRWxlbWVudE5TKHQubnMucHJlZml4LnN2ZywiZyIpO3JldHVybih0LnRyYW5zZm9ybT1mdW5jdGlvbih0KXtpZihudWxsIT10KXtyLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KTt2YXIgZT1yLnRyYW5zZm9ybS5iYXNlVmFsLmNvbnNvbGlkYXRlKCl9cmV0dXJuIG5ldyBmaShlP2UubWF0cml4OmdpKX0pKGUpfSxmaS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idHJhbnNsYXRlKCIrdGhpcy50cmFuc2xhdGUrIilyb3RhdGUoIit0aGlzLnJvdGF0ZSsiKXNrZXdYKCIrdGhpcy5za2V3KyIpc2NhbGUoIit0aGlzLnNjYWxlKyIpIn07dmFyIGdpPXthOjEsYjowLGM6MCxkOjEsZTowLGY6MH07ZnVuY3Rpb24gdmkodCl7cmV0dXJuIHQubGVuZ3RoP3QucG9wKCkrIiwiOiIifWZ1bmN0aW9uIG1pKGUscil7dmFyIG49W10sYT1bXTtyZXR1cm4gZT10LnRyYW5zZm9ybShlKSxyPXQudHJhbnNmb3JtKHIpLGZ1bmN0aW9uKHQsZSxyLG4pe2lmKHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXSl7dmFyIGE9ci5wdXNoKCJ0cmFuc2xhdGUoIixudWxsLCIsIixudWxsLCIpIik7bi5wdXNoKHtpOmEtNCx4OldhKHRbMF0sZVswXSl9LHtpOmEtMix4OldhKHRbMV0sZVsxXSl9KX1lbHNlKGVbMF18fGVbMV0pJiZyLnB1c2goInRyYW5zbGF0ZSgiK2UrIikiKX0oZS50cmFuc2xhdGUsci50cmFuc2xhdGUsbixhKSxmdW5jdGlvbih0LGUscixuKXt0IT09ZT8odC1lPjE4MD9lKz0zNjA6ZS10PjE4MCYmKHQrPTM2MCksbi5wdXNoKHtpOnIucHVzaCh2aShyKSsicm90YXRlKCIsbnVsbCwiKSIpLTIseDpXYSh0LGUpfSkpOmUmJnIucHVzaCh2aShyKSsicm90YXRlKCIrZSsiKSIpfShlLnJvdGF0ZSxyLnJvdGF0ZSxuLGEpLGZ1bmN0aW9uKHQsZSxyLG4pe3QhPT1lP24ucHVzaCh7aTpyLnB1c2godmkocikrInNrZXdYKCIsbnVsbCwiKSIpLTIseDpXYSh0LGUpfSk6ZSYmci5wdXNoKHZpKHIpKyJza2V3WCgiK2UrIikiKX0oZS5za2V3LHIuc2tldyxuLGEpLGZ1bmN0aW9uKHQsZSxyLG4pe2lmKHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXSl7dmFyIGE9ci5wdXNoKHZpKHIpKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTtuLnB1c2goe2k6YS00LHg6V2EodFswXSxlWzBdKX0se2k6YS0yLHg6V2EodFsxXSxlWzFdKX0pfWVsc2UgMT09PWVbMF0mJjE9PT1lWzFdfHxyLnB1c2godmkocikrInNjYWxlKCIrZSsiKSIpfShlLnNjYWxlLHIuc2NhbGUsbixhKSxlPXI9bnVsbCxmdW5jdGlvbih0KXtmb3IodmFyIGUscj0tMSxpPWEubGVuZ3RoOysrcjxpOyluWyhlPWFbcl0pLmldPWUueCh0KTtyZXR1cm4gbi5qb2luKCIiKX19ZnVuY3Rpb24geWkodCxlKXtyZXR1cm4gZT0oZS09dD0rdCl8fDEvZSxmdW5jdGlvbihyKXtyZXR1cm4oci10KS9lfX1mdW5jdGlvbiB4aSh0LGUpe3JldHVybiBlPShlLT10PSt0KXx8MS9lLGZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDEsKHItdCkvZSkpfX1mdW5jdGlvbiBiaSh0KXtmb3IodmFyIGU9dC5zb3VyY2Uscj10LnRhcmdldCxuPWZ1bmN0aW9uKHQsZSl7aWYodD09PWUpcmV0dXJuIHQ7dmFyIHI9X2kodCksbj1faShlKSxhPXIucG9wKCksaT1uLnBvcCgpLG89bnVsbDtmb3IoO2E9PT1pOylvPWEsYT1yLnBvcCgpLGk9bi5wb3AoKTtyZXR1cm4gb30oZSxyKSxhPVtlXTtlIT09bjspZT1lLnBhcmVudCxhLnB1c2goZSk7Zm9yKHZhciBpPWEubGVuZ3RoO3IhPT1uOylhLnNwbGljZShpLDAscikscj1yLnBhcmVudDtyZXR1cm4gYX1mdW5jdGlvbiBfaSh0KXtmb3IodmFyIGU9W10scj10LnBhcmVudDtudWxsIT1yOyllLnB1c2godCksdD1yLHI9ci5wYXJlbnQ7cmV0dXJuIGUucHVzaCh0KSxlfWZ1bmN0aW9uIHdpKHQpe3QuZml4ZWR8PTJ9ZnVuY3Rpb24ga2kodCl7dC5maXhlZCY9LTd9ZnVuY3Rpb24gVGkodCl7dC5maXhlZHw9NCx0LnB4PXQueCx0LnB5PXQueX1mdW5jdGlvbiBNaSh0KXt0LmZpeGVkJj0tNX10LmludGVycG9sYXRlVHJhbnNmb3JtPW1pLHQubGF5b3V0PXt9LHQubGF5b3V0LmJ1bmRsZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0tMSxuPXQubGVuZ3RoOysrcjxuOyllLnB1c2goYmkodFtyXSkpO3JldHVybiBlfX0sdC5sYXlvdXQuY2hvcmQ9ZnVuY3Rpb24oKXt2YXIgZSxyLG4sYSxpLG8scyxsPXt9LGM9MDtmdW5jdGlvbiB1KCl7dmFyIGwsdSxmLHAsZCxnPXt9LHY9W10sbT10LnJhbmdlKGEpLHk9W107Zm9yKGU9W10scj1bXSxsPTAscD0tMTsrK3A8YTspe2Zvcih1PTAsZD0tMTsrK2Q8YTspdSs9bltwXVtkXTt2LnB1c2godSkseS5wdXNoKHQucmFuZ2UoYSkpLGwrPXV9Zm9yKGkmJm0uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBpKHZbdF0sdltlXSl9KSxvJiZ5LmZvckVhY2goZnVuY3Rpb24odCxlKXt0LnNvcnQoZnVuY3Rpb24odCxyKXtyZXR1cm4gbyhuW2VdW3RdLG5bZV1bcl0pfSl9KSxsPShBdC1jKmEpL2wsdT0wLHA9LTE7KytwPGE7KXtmb3IoZj11LGQ9LTE7KytkPGE7KXt2YXIgeD1tW3BdLGI9eVt4XVtkXSxfPW5beF1bYl0sdz11LGs9dSs9XypsO2dbeCsiLSIrYl09e2luZGV4Ongsc3ViaW5kZXg6YixzdGFydEFuZ2xlOncsZW5kQW5nbGU6ayx2YWx1ZTpffX1yW3hdPXtpbmRleDp4LHN0YXJ0QW5nbGU6ZixlbmRBbmdsZTp1LHZhbHVlOnZbeF19LHUrPWN9Zm9yKHA9LTE7KytwPGE7KWZvcihkPXAtMTsrK2Q8YTspe3ZhciBUPWdbcCsiLSIrZF0sTT1nW2QrIi0iK3BdOyhULnZhbHVlfHxNLnZhbHVlKSYmZS5wdXNoKFQudmFsdWU8TS52YWx1ZT97c291cmNlOk0sdGFyZ2V0OlR9Ontzb3VyY2U6VCx0YXJnZXQ6TX0pfXMmJmgoKX1mdW5jdGlvbiBoKCl7ZS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHMoKHQuc291cmNlLnZhbHVlK3QudGFyZ2V0LnZhbHVlKS8yLChlLnNvdXJjZS52YWx1ZStlLnRhcmdldC52YWx1ZSkvMil9KX1yZXR1cm4gbC5tYXRyaXg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9KG49dCkmJm4ubGVuZ3RoLGU9cj1udWxsLGwpOm59LGwucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10LGU9cj1udWxsLGwpOmN9LGwuc29ydEdyb3Vwcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LGU9cj1udWxsLGwpOml9LGwuc29ydFN1Ymdyb3Vwcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10LGU9bnVsbCxsKTpvfSxsLnNvcnRDaG9yZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9dCxlJiZoKCksbCk6c30sbC5jaG9yZHM9ZnVuY3Rpb24oKXtyZXR1cm4gZXx8dSgpLGV9LGwuZ3JvdXBzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ8fHUoKSxyfSxsfSx0LmxheW91dC5mb3JjZT1mdW5jdGlvbigpe3ZhciBlLHIsbixhLGksbyxzPXt9LGw9dC5kaXNwYXRjaCgic3RhcnQiLCJ0aWNrIiwiZW5kIiksYz1bMSwxXSx1PS45LGg9QWksZj1TaSxwPS0zMCxkPUVpLGc9LjEsdj0uNjQsbT1bXSx5PVtdO2Z1bmN0aW9uIHgodCl7cmV0dXJuIGZ1bmN0aW9uKGUscixuLGEpe2lmKGUucG9pbnQhPT10KXt2YXIgaT1lLmN4LXQueCxvPWUuY3ktdC55LHM9YS1yLGw9aSppK28qbztpZihzKnMvdjxsKXtpZihsPGQpe3ZhciBjPWUuY2hhcmdlL2w7dC5weC09aSpjLHQucHktPW8qY31yZXR1cm4hMH1pZihlLnBvaW50JiZsJiZsPGQpe2M9ZS5wb2ludENoYXJnZS9sO3QucHgtPWkqYyx0LnB5LT1vKmN9fXJldHVybiFlLmNoYXJnZX19ZnVuY3Rpb24gYihlKXtlLnB4PXQuZXZlbnQueCxlLnB5PXQuZXZlbnQueSxzLnJlc3VtZSgpfXJldHVybiBzLnRpY2s9ZnVuY3Rpb24oKXtpZigobio9Ljk5KTwuMDA1KXJldHVybiBlPW51bGwsbC5lbmQoe3R5cGU6ImVuZCIsYWxwaGE6bj0wfSksITA7dmFyIHIscyxoLGYsZCx2LGIsXyx3LGs9bS5sZW5ndGgsVD15Lmxlbmd0aDtmb3Iocz0wO3M8VDsrK3MpZj0oaD15W3NdKS5zb3VyY2UsKHY9KF89KGQ9aC50YXJnZXQpLngtZi54KSpfKyh3PWQueS1mLnkpKncpJiYoXyo9dj1uKmlbc10qKCh2PU1hdGguc3FydCh2KSktYVtzXSkvdix3Kj12LGQueC09XyooYj1mLndlaWdodCtkLndlaWdodD9mLndlaWdodC8oZi53ZWlnaHQrZC53ZWlnaHQpOi41KSxkLnktPXcqYixmLngrPV8qKGI9MS1iKSxmLnkrPXcqYik7aWYoKGI9bipnKSYmKF89Y1swXS8yLHc9Y1sxXS8yLHM9LTEsYikpZm9yKDsrK3M8azspKGg9bVtzXSkueCs9KF8taC54KSpiLGgueSs9KHctaC55KSpiO2lmKHApZm9yKCFmdW5jdGlvbiB0KGUscixuKXt2YXIgYT0wLGk9MDtlLmNoYXJnZT0wO2lmKCFlLmxlYWYpZm9yKHZhciBvLHM9ZS5ub2RlcyxsPXMubGVuZ3RoLGM9LTE7KytjPGw7KW51bGwhPShvPXNbY10pJiYodChvLHIsbiksZS5jaGFyZ2UrPW8uY2hhcmdlLGErPW8uY2hhcmdlKm8uY3gsaSs9by5jaGFyZ2Uqby5jeSk7aWYoZS5wb2ludCl7ZS5sZWFmfHwoZS5wb2ludC54Kz1NYXRoLnJhbmRvbSgpLS41LGUucG9pbnQueSs9TWF0aC5yYW5kb20oKS0uNSk7dmFyIHU9cipuW2UucG9pbnQuaW5kZXhdO2UuY2hhcmdlKz1lLnBvaW50Q2hhcmdlPXUsYSs9dSplLnBvaW50LngsaSs9dSplLnBvaW50Lnl9ZS5jeD1hL2UuY2hhcmdlO2UuY3k9aS9lLmNoYXJnZX0ocj10Lmdlb20ucXVhZHRyZWUobSksbixvKSxzPS0xOysrczxrOykoaD1tW3NdKS5maXhlZHx8ci52aXNpdCh4KGgpKTtmb3Iocz0tMTsrK3M8azspKGg9bVtzXSkuZml4ZWQ/KGgueD1oLnB4LGgueT1oLnB5KTooaC54LT0oaC5weC0oaC5weD1oLngpKSp1LGgueS09KGgucHktKGgucHk9aC55KSkqdSk7bC50aWNrKHt0eXBlOiJ0aWNrIixhbHBoYTpufSl9LHMubm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG09dCxzKTptfSxzLmxpbmtzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh5PXQscyk6eX0scy5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQscyk6Y30scy5saW5rRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDordCxzKTpofSxzLmRpc3RhbmNlPXMubGlua0Rpc3RhbmNlLHMubGlua1N0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6K3Qscyk6Zn0scy5mcmljdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT0rdCxzKTp1fSxzLmNoYXJnZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD0iZnVuY3Rpb24iPT10eXBlb2YgdD90Oit0LHMpOnB9LHMuY2hhcmdlRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9dCp0LHMpOk1hdGguc3FydChkKX0scy5ncmF2aXR5PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhnPSt0LHMpOmd9LHMudGhldGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHY9dCp0LHMpOk1hdGguc3FydCh2KX0scy5hbHBoYT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rdCxuP3Q+MD9uPXQ6KGUuYz1udWxsLGUudD1OYU4sZT1udWxsLGwuZW5kKHt0eXBlOiJlbmQiLGFscGhhOm49MH0pKTp0PjAmJihsLnN0YXJ0KHt0eXBlOiJzdGFydCIsYWxwaGE6bj10fSksZT1UZShzLnRpY2spKSxzKTpufSxzLnN0YXJ0PWZ1bmN0aW9uKCl7dmFyIHQsZSxyLG49bS5sZW5ndGgsbD15Lmxlbmd0aCx1PWNbMF0sZD1jWzFdO2Zvcih0PTA7dDxuOysrdCkocj1tW3RdKS5pbmRleD10LHIud2VpZ2h0PTA7Zm9yKHQ9MDt0PGw7Kyt0KSJudW1iZXIiPT10eXBlb2Yocj15W3RdKS5zb3VyY2UmJihyLnNvdXJjZT1tW3Iuc291cmNlXSksIm51bWJlciI9PXR5cGVvZiByLnRhcmdldCYmKHIudGFyZ2V0PW1bci50YXJnZXRdKSwrK3Iuc291cmNlLndlaWdodCwrK3IudGFyZ2V0LndlaWdodDtmb3IodD0wO3Q8bjsrK3Qpcj1tW3RdLGlzTmFOKHIueCkmJihyLng9ZygieCIsdSkpLGlzTmFOKHIueSkmJihyLnk9ZygieSIsZCkpLGlzTmFOKHIucHgpJiYoci5weD1yLngpLGlzTmFOKHIucHkpJiYoci5weT1yLnkpO2lmKGE9W10sImZ1bmN0aW9uIj09dHlwZW9mIGgpZm9yKHQ9MDt0PGw7Kyt0KWFbdF09K2guY2FsbCh0aGlzLHlbdF0sdCk7ZWxzZSBmb3IodD0wO3Q8bDsrK3QpYVt0XT1oO2lmKGk9W10sImZ1bmN0aW9uIj09dHlwZW9mIGYpZm9yKHQ9MDt0PGw7Kyt0KWlbdF09K2YuY2FsbCh0aGlzLHlbdF0sdCk7ZWxzZSBmb3IodD0wO3Q8bDsrK3QpaVt0XT1mO2lmKG89W10sImZ1bmN0aW9uIj09dHlwZW9mIHApZm9yKHQ9MDt0PG47Kyt0KW9bdF09K3AuY2FsbCh0aGlzLG1bdF0sdCk7ZWxzZSBmb3IodD0wO3Q8bjsrK3Qpb1t0XT1wO2Z1bmN0aW9uIGcocixhKXtpZighZSl7Zm9yKGU9bmV3IEFycmF5KG4pLGM9MDtjPG47KytjKWVbY109W107Zm9yKGM9MDtjPGw7KytjKXt2YXIgaT15W2NdO2VbaS5zb3VyY2UuaW5kZXhdLnB1c2goaS50YXJnZXQpLGVbaS50YXJnZXQuaW5kZXhdLnB1c2goaS5zb3VyY2UpfX1mb3IodmFyIG8scz1lW3RdLGM9LTEsdT1zLmxlbmd0aDsrK2M8dTspaWYoIWlzTmFOKG89c1tjXVtyXSkpcmV0dXJuIG87cmV0dXJuIE1hdGgucmFuZG9tKCkqYX1yZXR1cm4gcy5yZXN1bWUoKX0scy5yZXN1bWU9ZnVuY3Rpb24oKXtyZXR1cm4gcy5hbHBoYSguMSl9LHMuc3RvcD1mdW5jdGlvbigpe3JldHVybiBzLmFscGhhKDApfSxzLmRyYWc9ZnVuY3Rpb24oKXtpZihyfHwocj10LmJlaGF2aW9yLmRyYWcoKS5vcmlnaW4oUCkub24oImRyYWdzdGFydC5mb3JjZSIsd2kpLm9uKCJkcmFnLmZvcmNlIixiKS5vbigiZHJhZ2VuZC5mb3JjZSIsa2kpKSwhYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gcjt0aGlzLm9uKCJtb3VzZW92ZXIuZm9yY2UiLFRpKS5vbigibW91c2VvdXQuZm9yY2UiLE1pKS5jYWxsKHIpfSx0LnJlYmluZChzLGwsIm9uIil9O3ZhciBBaT0yMCxTaT0xLEVpPTEvMDtmdW5jdGlvbiBMaShlLHIpe3JldHVybiB0LnJlYmluZChlLHIsInNvcnQiLCJjaGlsZHJlbiIsInZhbHVlIiksZS5ub2Rlcz1lLGUubGlua3M9RGksZX1mdW5jdGlvbiBDaSh0LGUpe2Zvcih2YXIgcj1bdF07bnVsbCE9KHQ9ci5wb3AoKSk7KWlmKGUodCksKGE9dC5jaGlsZHJlbikmJihuPWEubGVuZ3RoKSlmb3IodmFyIG4sYTstLW4+PTA7KXIucHVzaChhW25dKX1mdW5jdGlvbiBQaSh0LGUpe2Zvcih2YXIgcj1bdF0sbj1bXTtudWxsIT0odD1yLnBvcCgpKTspaWYobi5wdXNoKHQpLChpPXQuY2hpbGRyZW4pJiYoYT1pLmxlbmd0aCkpZm9yKHZhciBhLGksbz0tMTsrK288YTspci5wdXNoKGlbb10pO2Zvcig7bnVsbCE9KHQ9bi5wb3AoKSk7KWUodCl9ZnVuY3Rpb24gT2kodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gemkodCl7cmV0dXJuIHQudmFsdWV9ZnVuY3Rpb24gSWkodCxlKXtyZXR1cm4gZS52YWx1ZS10LnZhbHVlfWZ1bmN0aW9uIERpKGUpe3JldHVybiB0Lm1lcmdlKGUubWFwKGZ1bmN0aW9uKHQpe3JldHVybih0LmNoaWxkcmVufHxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybntzb3VyY2U6dCx0YXJnZXQ6ZX19KX0pKX10LmxheW91dC5oaWVyYXJjaHk9ZnVuY3Rpb24oKXt2YXIgdD1JaSxlPU9pLHI9emk7ZnVuY3Rpb24gbihhKXt2YXIgaSxvPVthXSxzPVtdO2ZvcihhLmRlcHRoPTA7bnVsbCE9KGk9by5wb3AoKSk7KWlmKHMucHVzaChpKSwoYz1lLmNhbGwobixpLGkuZGVwdGgpKSYmKGw9Yy5sZW5ndGgpKXtmb3IodmFyIGwsYyx1Oy0tbD49MDspby5wdXNoKHU9Y1tsXSksdS5wYXJlbnQ9aSx1LmRlcHRoPWkuZGVwdGgrMTtyJiYoaS52YWx1ZT0wKSxpLmNoaWxkcmVuPWN9ZWxzZSByJiYoaS52YWx1ZT0rci5jYWxsKG4saSxpLmRlcHRoKXx8MCksZGVsZXRlIGkuY2hpbGRyZW47cmV0dXJuIFBpKGEsZnVuY3Rpb24oZSl7dmFyIG4sYTt0JiYobj1lLmNoaWxkcmVuKSYmbi5zb3J0KHQpLHImJihhPWUucGFyZW50KSYmKGEudmFsdWUrPWUudmFsdWUpfSksc31yZXR1cm4gbi5zb3J0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsbik6dH0sbi5jaGlsZHJlbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG4pOmV9LG4udmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxuKTpyfSxuLnJldmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHImJihDaSh0LGZ1bmN0aW9uKHQpe3QuY2hpbGRyZW4mJih0LnZhbHVlPTApfSksUGkodCxmdW5jdGlvbih0KXt2YXIgZTt0LmNoaWxkcmVufHwodC52YWx1ZT0rci5jYWxsKG4sdCx0LmRlcHRoKXx8MCksKGU9dC5wYXJlbnQpJiYoZS52YWx1ZSs9dC52YWx1ZSl9KSksdH0sbn0sdC5sYXlvdXQucGFydGl0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dC5sYXlvdXQuaGllcmFyY2h5KCkscj1bMSwxXTtmdW5jdGlvbiBuKHQsbil7dmFyIGE9ZS5jYWxsKHRoaXMsdCxuKTtyZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhKXt2YXIgaT1lLmNoaWxkcmVuO2lmKGUueD1yLGUueT1lLmRlcHRoKmEsZS5keD1uLGUuZHk9YSxpJiYobz1pLmxlbmd0aCkpe3ZhciBvLHMsbCxjPS0xO2ZvcihuPWUudmFsdWU/bi9lLnZhbHVlOjA7KytjPG87KXQocz1pW2NdLHIsbD1zLnZhbHVlKm4sYSkscis9bH19KGFbMF0sMCxyWzBdLHJbMV0vZnVuY3Rpb24gdChlKXt2YXIgcj1lLmNoaWxkcmVuLG49MDtpZihyJiYoYT1yLmxlbmd0aCkpZm9yKHZhciBhLGk9LTE7KytpPGE7KW49TWF0aC5tYXgobix0KHJbaV0pKTtyZXR1cm4gMStufShhWzBdKSksYX1yZXR1cm4gbi5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsbik6cn0sTGkobixlKX0sdC5sYXlvdXQucGllPWZ1bmN0aW9uKCl7dmFyIGU9TnVtYmVyLHI9Umksbj0wLGE9QXQsaT0wO2Z1bmN0aW9uIG8ocyl7dmFyIGwsYz1zLmxlbmd0aCx1PXMubWFwKGZ1bmN0aW9uKHQscil7cmV0dXJuK2UuY2FsbChvLHQscil9KSxoPSsoImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6biksZj0oImZ1bmN0aW9uIj09dHlwZW9mIGE/YS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6YSktaCxwPU1hdGgubWluKE1hdGguYWJzKGYpL2MsKygiZnVuY3Rpb24iPT10eXBlb2YgaT9pLmFwcGx5KHRoaXMsYXJndW1lbnRzKTppKSksZD1wKihmPDA/LTE6MSksZz10LnN1bSh1KSx2PWc/KGYtYypkKS9nOjAsbT10LnJhbmdlKGMpLHk9W107cmV0dXJuIG51bGwhPXImJm0uc29ydChyPT09Umk/ZnVuY3Rpb24odCxlKXtyZXR1cm4gdVtlXS11W3RdfTpmdW5jdGlvbih0LGUpe3JldHVybiByKHNbdF0sc1tlXSl9KSxtLmZvckVhY2goZnVuY3Rpb24odCl7eVt0XT17ZGF0YTpzW3RdLHZhbHVlOmw9dVt0XSxzdGFydEFuZ2xlOmgsZW5kQW5nbGU6aCs9bCp2K2QscGFkQW5nbGU6cH19KSx5fXJldHVybiBvLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsbyk6ZX0sby5zb3J0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsbyk6cn0sby5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsbyk6bn0sby5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LG8pOmF9LG8ucGFkQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxvKTppfSxvfTt2YXIgUmk9e307ZnVuY3Rpb24gRmkodCl7cmV0dXJuIHQueH1mdW5jdGlvbiBCaSh0KXtyZXR1cm4gdC55fWZ1bmN0aW9uIE5pKHQsZSxyKXt0LnkwPWUsdC55PXJ9dC5sYXlvdXQuc3RhY2s9ZnVuY3Rpb24oKXt2YXIgZT1QLHI9VWksbj1xaSxhPU5pLGk9Rmksbz1CaTtmdW5jdGlvbiBzKGwsYyl7aWYoIShwPWwubGVuZ3RoKSlyZXR1cm4gbDt2YXIgdT1sLm1hcChmdW5jdGlvbih0LHIpe3JldHVybiBlLmNhbGwocyx0LHIpfSksaD11Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm5baS5jYWxsKHMsdCxlKSxvLmNhbGwocyx0LGUpXX0pfSksZj1yLmNhbGwocyxoLGMpO3U9dC5wZXJtdXRlKHUsZiksaD10LnBlcm11dGUoaCxmKTt2YXIgcCxkLGcsdixtPW4uY2FsbChzLGgsYykseT11WzBdLmxlbmd0aDtmb3IoZz0wO2c8eTsrK2cpZm9yKGEuY2FsbChzLHVbMF1bZ10sdj1tW2ddLGhbMF1bZ11bMV0pLGQ9MTtkPHA7KytkKWEuY2FsbChzLHVbZF1bZ10sdis9aFtkLTFdW2ddWzFdLGhbZF1bZ11bMV0pO3JldHVybiBsfXJldHVybiBzLnZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LHMpOmV9LHMub3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpqaS5nZXQodCl8fFVpLHMpOnJ9LHMub2Zmc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VmkuZ2V0KHQpfHxxaSxzKTpufSxzLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxzKTppfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89dCxzKTpvfSxzLm91dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LHMpOmF9LHN9O3ZhciBqaT10Lm1hcCh7Imluc2lkZS1vdXQiOmZ1bmN0aW9uKGUpe3ZhciByLG4sYT1lLmxlbmd0aCxpPWUubWFwKEhpKSxvPWUubWFwKEdpKSxzPXQucmFuZ2UoYSkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBpW3RdLWlbZV19KSxsPTAsYz0wLHU9W10saD1bXTtmb3Iocj0wO3I8YTsrK3Ipbj1zW3JdLGw8Yz8obCs9b1tuXSx1LnB1c2gobikpOihjKz1vW25dLGgucHVzaChuKSk7cmV0dXJuIGgucmV2ZXJzZSgpLmNvbmNhdCh1KX0scmV2ZXJzZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5yYW5nZShlLmxlbmd0aCkucmV2ZXJzZSgpfSxkZWZhdWx0OlVpfSksVmk9dC5tYXAoe3NpbGhvdWV0dGU6ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9dC5sZW5ndGgsaT10WzBdLmxlbmd0aCxvPVtdLHM9MCxsPVtdO2ZvcihyPTA7cjxpOysrcil7Zm9yKGU9MCxuPTA7ZTxhO2UrKyluKz10W2VdW3JdWzFdO24+cyYmKHM9biksby5wdXNoKG4pfWZvcihyPTA7cjxpOysrcilsW3JdPShzLW9bcl0pLzI7cmV0dXJuIGx9LHdpZ2dsZTpmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scyxsLGMsdT10Lmxlbmd0aCxoPXRbMF0sZj1oLmxlbmd0aCxwPVtdO2ZvcihwWzBdPWw9Yz0wLHI9MTtyPGY7KytyKXtmb3IoZT0wLGE9MDtlPHU7KytlKWErPXRbZV1bcl1bMV07Zm9yKGU9MCxpPTAscz1oW3JdWzBdLWhbci0xXVswXTtlPHU7KytlKXtmb3Iobj0wLG89KHRbZV1bcl1bMV0tdFtlXVtyLTFdWzFdKS8oMipzKTtuPGU7KytuKW8rPSh0W25dW3JdWzFdLXRbbl1bci0xXVsxXSkvcztpKz1vKnRbZV1bcl1bMV19cFtyXT1sLT1hP2kvYSpzOjAsbDxjJiYoYz1sKX1mb3Iocj0wO3I8ZjsrK3IpcFtyXS09YztyZXR1cm4gcH0sZXhwYW5kOmZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhPXQubGVuZ3RoLGk9dFswXS5sZW5ndGgsbz0xL2Escz1bXTtmb3Iocj0wO3I8aTsrK3Ipe2ZvcihlPTAsbj0wO2U8YTtlKyspbis9dFtlXVtyXVsxXTtpZihuKWZvcihlPTA7ZTxhO2UrKyl0W2VdW3JdWzFdLz1uO2Vsc2UgZm9yKGU9MDtlPGE7ZSsrKXRbZV1bcl1bMV09b31mb3Iocj0wO3I8aTsrK3Ipc1tyXT0wO3JldHVybiBzfSx6ZXJvOnFpfSk7ZnVuY3Rpb24gVWkoZSl7cmV0dXJuIHQucmFuZ2UoZS5sZW5ndGgpfWZ1bmN0aW9uIHFpKHQpe2Zvcih2YXIgZT0tMSxyPXRbMF0ubGVuZ3RoLG49W107KytlPHI7KW5bZV09MDtyZXR1cm4gbn1mdW5jdGlvbiBIaSh0KXtmb3IodmFyIGUscj0xLG49MCxhPXRbMF1bMV0saT10Lmxlbmd0aDtyPGk7KytyKShlPXRbcl1bMV0pPmEmJihuPXIsYT1lKTtyZXR1cm4gbn1mdW5jdGlvbiBHaSh0KXtyZXR1cm4gdC5yZWR1Y2UoWWksMCl9ZnVuY3Rpb24gWWkodCxlKXtyZXR1cm4gdCtlWzFdfWZ1bmN0aW9uIFdpKHQsZSl7cmV0dXJuIFhpKHQsTWF0aC5jZWlsKE1hdGgubG9nKGUubGVuZ3RoKS9NYXRoLkxOMisxKSl9ZnVuY3Rpb24gWGkodCxlKXtmb3IodmFyIHI9LTEsbj0rdFswXSxhPSh0WzFdLW4pL2UsaT1bXTsrK3I8PWU7KWlbcl09YSpyK247cmV0dXJuIGl9ZnVuY3Rpb24gWmkoZSl7cmV0dXJuW3QubWluKGUpLHQubWF4KGUpXX1mdW5jdGlvbiBKaSh0LGUpe3JldHVybiB0LnZhbHVlLWUudmFsdWV9ZnVuY3Rpb24gS2kodCxlKXt2YXIgcj10Ll9wYWNrX25leHQ7dC5fcGFja19uZXh0PWUsZS5fcGFja19wcmV2PXQsZS5fcGFja19uZXh0PXIsci5fcGFja19wcmV2PWV9ZnVuY3Rpb24gUWkodCxlKXt0Ll9wYWNrX25leHQ9ZSxlLl9wYWNrX3ByZXY9dH1mdW5jdGlvbiAkaSh0LGUpe3ZhciByPWUueC10Lngsbj1lLnktdC55LGE9dC5yK2UucjtyZXR1cm4uOTk5KmEqYT5yKnIrbipufWZ1bmN0aW9uIHRvKHQpe2lmKChlPXQuY2hpbGRyZW4pJiYobD1lLmxlbmd0aCkpe3ZhciBlLHIsbixhLGksbyxzLGwsYz0xLzAsdT0tMS8wLGg9MS8wLGY9LTEvMDtpZihlLmZvckVhY2goZW8pLChyPWVbMF0pLng9LXIucixyLnk9MCx4KHIpLGw+MSYmKChuPWVbMV0pLng9bi5yLG4ueT0wLHgobiksbD4yKSlmb3Iobm8ocixuLGE9ZVsyXSkseChhKSxLaShyLGEpLHIuX3BhY2tfcHJldj1hLEtpKGEsbiksbj1yLl9wYWNrX25leHQsaT0zO2k8bDtpKyspe25vKHIsbixhPWVbaV0pO3ZhciBwPTAsZD0xLGc9MTtmb3Iobz1uLl9wYWNrX25leHQ7byE9PW47bz1vLl9wYWNrX25leHQsZCsrKWlmKCRpKG8sYSkpe3A9MTticmVha31pZigxPT1wKWZvcihzPXIuX3BhY2tfcHJldjtzIT09by5fcGFja19wcmV2JiYhJGkocyxhKTtzPXMuX3BhY2tfcHJldixnKyspO3A/KGQ8Z3x8ZD09ZyYmbi5yPHIucj9RaShyLG49byk6UWkocj1zLG4pLGktLSk6KEtpKHIsYSksbj1hLHgoYSkpfXZhciB2PShjK3UpLzIsbT0oaCtmKS8yLHk9MDtmb3IoaT0wO2k8bDtpKyspKGE9ZVtpXSkueC09dixhLnktPW0seT1NYXRoLm1heCh5LGEucitNYXRoLnNxcnQoYS54KmEueCthLnkqYS55KSk7dC5yPXksZS5mb3JFYWNoKHJvKX1mdW5jdGlvbiB4KHQpe2M9TWF0aC5taW4odC54LXQucixjKSx1PU1hdGgubWF4KHQueCt0LnIsdSksaD1NYXRoLm1pbih0LnktdC5yLGgpLGY9TWF0aC5tYXgodC55K3QucixmKX19ZnVuY3Rpb24gZW8odCl7dC5fcGFja19uZXh0PXQuX3BhY2tfcHJldj10fWZ1bmN0aW9uIHJvKHQpe2RlbGV0ZSB0Ll9wYWNrX25leHQsZGVsZXRlIHQuX3BhY2tfcHJldn1mdW5jdGlvbiBubyh0LGUscil7dmFyIG49dC5yK3IucixhPWUueC10LngsaT1lLnktdC55O2lmKG4mJihhfHxpKSl7dmFyIG89ZS5yK3IucixzPWEqYStpKmksbD0uNSsoKG4qPW4pLShvKj1vKSkvKDIqcyksYz1NYXRoLnNxcnQoTWF0aC5tYXgoMCwyKm8qKG4rcyktKG4tPXMpKm4tbypvKSkvKDIqcyk7ci54PXQueCtsKmErYyppLHIueT10LnkrbCppLWMqYX1lbHNlIHIueD10LngrbixyLnk9dC55fWZ1bmN0aW9uIGFvKHQsZSl7cmV0dXJuIHQucGFyZW50PT1lLnBhcmVudD8xOjJ9ZnVuY3Rpb24gaW8odCl7dmFyIGU9dC5jaGlsZHJlbjtyZXR1cm4gZS5sZW5ndGg/ZVswXTp0LnR9ZnVuY3Rpb24gb28odCl7dmFyIGUscj10LmNoaWxkcmVuO3JldHVybihlPXIubGVuZ3RoKT9yW2UtMV06dC50fWZ1bmN0aW9uIHNvKHQsZSxyKXt2YXIgbj1yLyhlLmktdC5pKTtlLmMtPW4sZS5zKz1yLHQuYys9bixlLnorPXIsZS5tKz1yfWZ1bmN0aW9uIGxvKHQsZSxyKXtyZXR1cm4gdC5hLnBhcmVudD09PWUucGFyZW50P3QuYTpyfWZ1bmN0aW9uIGNvKHQpe3JldHVybnt4OnQueCx5OnQueSxkeDp0LmR4LGR5OnQuZHl9fWZ1bmN0aW9uIHVvKHQsZSl7dmFyIHI9dC54K2VbM10sbj10LnkrZVswXSxhPXQuZHgtZVsxXS1lWzNdLGk9dC5keS1lWzBdLWVbMl07cmV0dXJuIGE8MCYmKHIrPWEvMixhPTApLGk8MCYmKG4rPWkvMixpPTApLHt4OnIseTpuLGR4OmEsZHk6aX19ZnVuY3Rpb24gaG8odCl7dmFyIGU9dFswXSxyPXRbdC5sZW5ndGgtMV07cmV0dXJuIGU8cj9bZSxyXTpbcixlXX1mdW5jdGlvbiBmbyh0KXtyZXR1cm4gdC5yYW5nZUV4dGVudD90LnJhbmdlRXh0ZW50KCk6aG8odC5yYW5nZSgpKX1mdW5jdGlvbiBwbyh0LGUscixuKXt2YXIgYT1yKHRbMF0sdFsxXSksaT1uKGVbMF0sZVsxXSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBpKGEodCkpfX1mdW5jdGlvbiBnbyh0LGUpe3ZhciByLG49MCxhPXQubGVuZ3RoLTEsaT10W25dLG89dFthXTtyZXR1cm4gbzxpJiYocj1uLG49YSxhPXIscj1pLGk9byxvPXIpLHRbbl09ZS5mbG9vcihpKSx0W2FdPWUuY2VpbChvKSx0fWZ1bmN0aW9uIHZvKHQpe3JldHVybiB0P3tmbG9vcjpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5mbG9vcihlL3QpKnR9LGNlaWw6ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguY2VpbChlL3QpKnR9fTptb310LmxheW91dC5oaXN0b2dyYW09ZnVuY3Rpb24oKXt2YXIgZT0hMCxyPU51bWJlcixuPVppLGE9V2k7ZnVuY3Rpb24gaShpLG8pe2Zvcih2YXIgcyxsLGM9W10sdT1pLm1hcChyLHRoaXMpLGg9bi5jYWxsKHRoaXMsdSxvKSxmPWEuY2FsbCh0aGlzLGgsdSxvKSxwPShvPS0xLHUubGVuZ3RoKSxkPWYubGVuZ3RoLTEsZz1lPzE6MS9wOysrbzxkOykocz1jW29dPVtdKS5keD1mW28rMV0tKHMueD1mW29dKSxzLnk9MDtpZihkPjApZm9yKG89LTE7KytvPHA7KShsPXVbb10pPj1oWzBdJiZsPD1oWzFdJiYoKHM9Y1t0LmJpc2VjdChmLGwsMSxkKS0xXSkueSs9ZyxzLnB1c2goaVtvXSkpO3JldHVybiBjfXJldHVybiBpLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsaSk6cn0saS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj12ZSh0KSxpKTpufSxpLmJpbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9Im51bWJlciI9PXR5cGVvZiB0P2Z1bmN0aW9uKGUpe3JldHVybiBYaShlLHQpfTp2ZSh0KSxpKTphfSxpLmZyZXF1ZW5jeT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0hIXQsaSk6ZX0saX0sdC5sYXlvdXQucGFjaz1mdW5jdGlvbigpe3ZhciBlLHI9dC5sYXlvdXQuaGllcmFyY2h5KCkuc29ydChKaSksbj0wLGE9WzEsMV07ZnVuY3Rpb24gaSh0LGkpe3ZhciBvPXIuY2FsbCh0aGlzLHQsaSkscz1vWzBdLGw9YVswXSxjPWFbMV0sdT1udWxsPT1lP01hdGguc3FydDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOmZ1bmN0aW9uKCl7cmV0dXJuIGV9O2lmKHMueD1zLnk9MCxQaShzLGZ1bmN0aW9uKHQpe3Qucj0rdSh0LnZhbHVlKX0pLFBpKHMsdG8pLG4pe3ZhciBoPW4qKGU/MTpNYXRoLm1heCgyKnMuci9sLDIqcy5yL2MpKS8yO1BpKHMsZnVuY3Rpb24odCl7dC5yKz1ofSksUGkocyx0byksUGkocyxmdW5jdGlvbih0KXt0LnItPWh9KX1yZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhKXt2YXIgaT1lLmNoaWxkcmVuO2UueD1yKz1hKmUueDtlLnk9bis9YSplLnk7ZS5yKj1hO2lmKGkpZm9yKHZhciBvPS0xLHM9aS5sZW5ndGg7KytvPHM7KXQoaVtvXSxyLG4sYSl9KHMsbC8yLGMvMixlPzE6MS9NYXRoLm1heCgyKnMuci9sLDIqcy5yL2MpKSxvfXJldHVybiBpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxpKTphfSxpLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1udWxsPT10fHwiZnVuY3Rpb24iPT10eXBlb2YgdD90Oit0LGkpOmV9LGkucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxpKTpufSxMaShpLHIpfSx0LmxheW91dC50cmVlPWZ1bmN0aW9uKCl7dmFyIGU9dC5sYXlvdXQuaGllcmFyY2h5KCkuc29ydChudWxsKS52YWx1ZShudWxsKSxyPWFvLG49WzEsMV0sYT1udWxsO2Z1bmN0aW9uIGkodCxpKXt2YXIgYz1lLmNhbGwodGhpcyx0LGkpLHU9Y1swXSxoPWZ1bmN0aW9uKHQpe3ZhciBlLHI9e0E6bnVsbCxjaGlsZHJlbjpbdF19LG49W3JdO2Zvcig7bnVsbCE9KGU9bi5wb3AoKSk7KWZvcih2YXIgYSxpPWUuY2hpbGRyZW4sbz0wLHM9aS5sZW5ndGg7bzxzOysrbyluLnB1c2goKGlbb109YT17XzppW29dLHBhcmVudDplLGNoaWxkcmVuOihhPWlbb10uY2hpbGRyZW4pJiZhLnNsaWNlKCl8fFtdLEE6bnVsbCxhOm51bGwsejowLG06MCxjOjAsczowLHQ6bnVsbCxpOm99KS5hPWEpO3JldHVybiByLmNoaWxkcmVuWzBdfSh1KTtpZihQaShoLG8pLGgucGFyZW50Lm09LWgueixDaShoLHMpLGEpQ2kodSxsKTtlbHNle3ZhciBmPXUscD11LGQ9dTtDaSh1LGZ1bmN0aW9uKHQpe3QueDxmLngmJihmPXQpLHQueD5wLngmJihwPXQpLHQuZGVwdGg+ZC5kZXB0aCYmKGQ9dCl9KTt2YXIgZz1yKGYscCkvMi1mLngsdj1uWzBdLyhwLngrcihwLGYpLzIrZyksbT1uWzFdLyhkLmRlcHRofHwxKTtDaSh1LGZ1bmN0aW9uKHQpe3QueD0odC54K2cpKnYsdC55PXQuZGVwdGgqbX0pfXJldHVybiBjfWZ1bmN0aW9uIG8odCl7dmFyIGU9dC5jaGlsZHJlbixuPXQucGFyZW50LmNoaWxkcmVuLGE9dC5pP25bdC5pLTFdOm51bGw7aWYoZS5sZW5ndGgpeyFmdW5jdGlvbih0KXt2YXIgZSxyPTAsbj0wLGE9dC5jaGlsZHJlbixpPWEubGVuZ3RoO2Zvcig7LS1pPj0wOykoZT1hW2ldKS56Kz1yLGUubSs9cixyKz1lLnMrKG4rPWUuYyl9KHQpO3ZhciBpPShlWzBdLnorZVtlLmxlbmd0aC0xXS56KS8yO2E/KHQuej1hLnorcih0Ll8sYS5fKSx0Lm09dC56LWkpOnQuej1pfWVsc2UgYSYmKHQuej1hLnorcih0Ll8sYS5fKSk7dC5wYXJlbnQuQT1mdW5jdGlvbih0LGUsbil7aWYoZSl7Zm9yKHZhciBhLGk9dCxvPXQscz1lLGw9aS5wYXJlbnQuY2hpbGRyZW5bMF0sYz1pLm0sdT1vLm0saD1zLm0sZj1sLm07cz1vbyhzKSxpPWlvKGkpLHMmJmk7KWw9aW8obCksKG89b28obykpLmE9dCwoYT1zLnoraC1pLnotYytyKHMuXyxpLl8pKT4wJiYoc28obG8ocyx0LG4pLHQsYSksYys9YSx1Kz1hKSxoKz1zLm0sYys9aS5tLGYrPWwubSx1Kz1vLm07cyYmIW9vKG8pJiYoby50PXMsby5tKz1oLXUpLGkmJiFpbyhsKSYmKGwudD1pLGwubSs9Yy1mLG49dCl9cmV0dXJuIG59KHQsYSx0LnBhcmVudC5BfHxuWzBdKX1mdW5jdGlvbiBzKHQpe3QuXy54PXQueit0LnBhcmVudC5tLHQubSs9dC5wYXJlbnQubX1mdW5jdGlvbiBsKHQpe3QueCo9blswXSx0Lnk9dC5kZXB0aCpuWzFdfXJldHVybiBpLnNlcGFyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxpKTpyfSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bnVsbD09KG49dCk/bDpudWxsLGkpOmE/bnVsbDpufSxpLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPW51bGw9PShuPXQpP251bGw6bCxpKTphP246bnVsbH0sTGkoaSxlKX0sdC5sYXlvdXQuY2x1c3Rlcj1mdW5jdGlvbigpe3ZhciBlPXQubGF5b3V0LmhpZXJhcmNoeSgpLnNvcnQobnVsbCkudmFsdWUobnVsbCkscj1hbyxuPVsxLDFdLGE9ITE7ZnVuY3Rpb24gaShpLG8pe3ZhciBzLGw9ZS5jYWxsKHRoaXMsaSxvKSxjPWxbMF0sdT0wO1BpKGMsZnVuY3Rpb24oZSl7dmFyIG49ZS5jaGlsZHJlbjtuJiZuLmxlbmd0aD8oZS54PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiB0K2UueH0sMCkvdC5sZW5ndGh9KG4pLGUueT1mdW5jdGlvbihlKXtyZXR1cm4gMSt0Lm1heChlLGZ1bmN0aW9uKHQpe3JldHVybiB0Lnl9KX0obikpOihlLng9cz91Kz1yKGUscyk6MCxlLnk9MCxzPWUpfSk7dmFyIGg9ZnVuY3Rpb24gdChlKXt2YXIgcj1lLmNoaWxkcmVuO3JldHVybiByJiZyLmxlbmd0aD90KHJbMF0pOmV9KGMpLGY9ZnVuY3Rpb24gdChlKXt2YXIgcixuPWUuY2hpbGRyZW47cmV0dXJuIG4mJihyPW4ubGVuZ3RoKT90KG5bci0xXSk6ZX0oYykscD1oLngtcihoLGYpLzIsZD1mLngrcihmLGgpLzI7cmV0dXJuIFBpKGMsYT9mdW5jdGlvbih0KXt0Lng9KHQueC1jLngpKm5bMF0sdC55PShjLnktdC55KSpuWzFdfTpmdW5jdGlvbih0KXt0Lng9KHQueC1wKS8oZC1wKSpuWzBdLHQueT0oMS0oYy55P3QueS9jLnk6MSkpKm5bMV19KSxsfXJldHVybiBpLnNlcGFyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxpKTpyfSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bnVsbD09KG49dCksaSk6YT9udWxsOm59LGkubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bnVsbCE9KG49dCksaSk6YT9uOm51bGx9LExpKGksZSl9LHQubGF5b3V0LnRyZWVtYXA9ZnVuY3Rpb24oKXt2YXIgZSxyPXQubGF5b3V0LmhpZXJhcmNoeSgpLG49TWF0aC5yb3VuZCxhPVsxLDFdLGk9bnVsbCxvPWNvLHM9ITEsbD0ic3F1YXJpZnkiLGM9LjUqKDErTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiB1KHQsZSl7Zm9yKHZhciByLG4sYT0tMSxpPXQubGVuZ3RoOysrYTxpOyluPShyPXRbYV0pLnZhbHVlKihlPDA/MDplKSxyLmFyZWE9aXNOYU4obil8fG48PTA/MDpufWZ1bmN0aW9uIGgodCl7dmFyIGU9dC5jaGlsZHJlbjtpZihlJiZlLmxlbmd0aCl7dmFyIHIsbixhLGk9byh0KSxzPVtdLGM9ZS5zbGljZSgpLGY9MS8wLGc9InNsaWNlIj09PWw/aS5keDoiZGljZSI9PT1sP2kuZHk6InNsaWNlLWRpY2UiPT09bD8xJnQuZGVwdGg/aS5keTppLmR4Ok1hdGgubWluKGkuZHgsaS5keSk7Zm9yKHUoYyxpLmR4KmkuZHkvdC52YWx1ZSkscy5hcmVhPTA7KGE9Yy5sZW5ndGgpPjA7KXMucHVzaChyPWNbYS0xXSkscy5hcmVhKz1yLmFyZWEsInNxdWFyaWZ5IiE9PWx8fChuPXAocyxnKSk8PWY/KGMucG9wKCksZj1uKToocy5hcmVhLT1zLnBvcCgpLmFyZWEsZChzLGcsaSwhMSksZz1NYXRoLm1pbihpLmR4LGkuZHkpLHMubGVuZ3RoPXMuYXJlYT0wLGY9MS8wKTtzLmxlbmd0aCYmKGQocyxnLGksITApLHMubGVuZ3RoPXMuYXJlYT0wKSxlLmZvckVhY2goaCl9fWZ1bmN0aW9uIGYodCl7dmFyIGU9dC5jaGlsZHJlbjtpZihlJiZlLmxlbmd0aCl7dmFyIHIsbj1vKHQpLGE9ZS5zbGljZSgpLGk9W107Zm9yKHUoYSxuLmR4Km4uZHkvdC52YWx1ZSksaS5hcmVhPTA7cj1hLnBvcCgpOylpLnB1c2gociksaS5hcmVhKz1yLmFyZWEsbnVsbCE9ci56JiYoZChpLHIuej9uLmR4Om4uZHksbiwhYS5sZW5ndGgpLGkubGVuZ3RoPWkuYXJlYT0wKTtlLmZvckVhY2goZil9fWZ1bmN0aW9uIHAodCxlKXtmb3IodmFyIHIsbj10LmFyZWEsYT0wLGk9MS8wLG89LTEscz10Lmxlbmd0aDsrK288czspKHI9dFtvXS5hcmVhKSYmKHI8aSYmKGk9cikscj5hJiYoYT1yKSk7cmV0dXJuIGUqPWUsKG4qPW4pP01hdGgubWF4KGUqYSpjL24sbi8oZSppKmMpKToxLzB9ZnVuY3Rpb24gZCh0LGUscixhKXt2YXIgaSxvPS0xLHM9dC5sZW5ndGgsbD1yLngsYz1yLnksdT1lP24odC5hcmVhL2UpOjA7aWYoZT09ci5keCl7Zm9yKChhfHx1PnIuZHkpJiYodT1yLmR5KTsrK288czspKGk9dFtvXSkueD1sLGkueT1jLGkuZHk9dSxsKz1pLmR4PU1hdGgubWluKHIueCtyLmR4LWwsdT9uKGkuYXJlYS91KTowKTtpLno9ITAsaS5keCs9ci54K3IuZHgtbCxyLnkrPXUsci5keS09dX1lbHNle2ZvcigoYXx8dT5yLmR4KSYmKHU9ci5keCk7KytvPHM7KShpPXRbb10pLng9bCxpLnk9YyxpLmR4PXUsYys9aS5keT1NYXRoLm1pbihyLnkrci5keS1jLHU/bihpLmFyZWEvdSk6MCk7aS56PSExLGkuZHkrPXIueStyLmR5LWMsci54Kz11LHIuZHgtPXV9fWZ1bmN0aW9uIGcodCl7dmFyIG49ZXx8cih0KSxpPW5bMF07cmV0dXJuIGkueD1pLnk9MCxpLnZhbHVlPyhpLmR4PWFbMF0saS5keT1hWzFdKTppLmR4PWkuZHk9MCxlJiZyLnJldmFsdWUoaSksdShbaV0saS5keCppLmR5L2kudmFsdWUpLChlP2Y6aCkoaSkscyYmKGU9biksbn1yZXR1cm4gZy5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsZyk6YX0sZy5wYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBpO2Z1bmN0aW9uIGUoZSl7cmV0dXJuIHVvKGUsdCl9dmFyIHI7cmV0dXJuIG89bnVsbD09KGk9dCk/Y286ImZ1bmN0aW9uIj09KHI9dHlwZW9mIHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQuY2FsbChnLGUsZS5kZXB0aCk7cmV0dXJuIG51bGw9PXI/Y28oZSk6dW8oZSwibnVtYmVyIj09dHlwZW9mIHI/W3IscixyLHJdOnIpfToibnVtYmVyIj09PXI/KHQ9W3QsdCx0LHRdLGUpOmUsZ30sZy5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10P01hdGgucm91bmQ6TnVtYmVyLGcpOm4hPU51bWJlcn0sZy5zdGlja3k9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9dCxlPW51bGwsZyk6c30sZy5yYXRpbz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10LGcpOmN9LGcubW9kZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10KyIiLGcpOmx9LExpKGcscil9LHQucmFuZG9tPXtub3JtYWw6ZnVuY3Rpb24odCxlKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoO3JldHVybiByPDImJihlPTEpLHI8MSYmKHQ9MCksZnVuY3Rpb24oKXt2YXIgcixuLGE7ZG97YT0ocj0yKk1hdGgucmFuZG9tKCktMSkqcisobj0yKk1hdGgucmFuZG9tKCktMSkqbn13aGlsZSghYXx8YT4xKTtyZXR1cm4gdCtlKnIqTWF0aC5zcXJ0KC0yKk1hdGgubG9nKGEpL2EpfX0sbG9nTm9ybWFsOmZ1bmN0aW9uKCl7dmFyIGU9dC5yYW5kb20ubm9ybWFsLmFwcGx5KHQsYXJndW1lbnRzKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5leHAoZSgpKX19LGJhdGVzOmZ1bmN0aW9uKGUpe3ZhciByPXQucmFuZG9tLmlyd2luSGFsbChlKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcigpL2V9fSxpcndpbkhhbGw6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTAscj0wO3I8dDtyKyspZSs9TWF0aC5yYW5kb20oKTtyZXR1cm4gZX19fSx0LnNjYWxlPXt9O3ZhciBtbz17Zmxvb3I6UCxjZWlsOlB9O2Z1bmN0aW9uIHlvKGUscixuLGEpe3ZhciBpPVtdLG89W10scz0wLGw9TWF0aC5taW4oZS5sZW5ndGgsci5sZW5ndGgpLTE7Zm9yKGVbbF08ZVswXSYmKGU9ZS5zbGljZSgpLnJldmVyc2UoKSxyPXIuc2xpY2UoKS5yZXZlcnNlKCkpOysrczw9bDspaS5wdXNoKG4oZVtzLTFdLGVbc10pKSxvLnB1c2goYShyW3MtMV0scltzXSkpO3JldHVybiBmdW5jdGlvbihyKXt2YXIgbj10LmJpc2VjdChlLHIsMSxsKS0xO3JldHVybiBvW25dKGlbbl0ocikpfX1mdW5jdGlvbiB4byhlLHIpe3JldHVybiB0LnJlYmluZChlLHIsInJhbmdlIiwicmFuZ2VSb3VuZCIsImludGVycG9sYXRlIiwiY2xhbXAiKX1mdW5jdGlvbiBibyh0LGUpe3JldHVybiBnbyh0LHZvKF9vKHQsZSlbMl0pKSxnbyh0LHZvKF9vKHQsZSlbMl0pKSx0fWZ1bmN0aW9uIF9vKHQsZSl7bnVsbD09ZSYmKGU9MTApO3ZhciByPWhvKHQpLG49clsxXS1yWzBdLGE9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhuL2UpL01hdGguTE4xMCkpLGk9ZS9uKmE7cmV0dXJuIGk8PS4xNT9hKj0xMDppPD0uMzU/YSo9NTppPD0uNzUmJihhKj0yKSxyWzBdPU1hdGguY2VpbChyWzBdL2EpKmEsclsxXT1NYXRoLmZsb29yKHJbMV0vYSkqYSsuNSphLHJbMl09YSxyfWZ1bmN0aW9uIHdvKGUscil7cmV0dXJuIHQucmFuZ2UuYXBwbHkodCxfbyhlLHIpKX1mdW5jdGlvbiBrbyhlLHIsbil7dmFyIGE9X28oZSxyKTtpZihuKXt2YXIgaT1QZS5leGVjKG4pO2lmKGkuc2hpZnQoKSwicyI9PT1pWzhdKXt2YXIgbz10LmZvcm1hdFByZWZpeChNYXRoLm1heCh5KGFbMF0pLHkoYVsxXSkpKTtyZXR1cm4gaVs3XXx8KGlbN109Ii4iK01vKG8uc2NhbGUoYVsyXSkpKSxpWzhdPSJmIixuPXQuZm9ybWF0KGkuam9pbigiIikpLGZ1bmN0aW9uKHQpe3JldHVybiBuKG8uc2NhbGUodCkpK28uc3ltYm9sfX1pWzddfHwoaVs3XT0iLiIrZnVuY3Rpb24odCxlKXt2YXIgcj1NbyhlWzJdKTtyZXR1cm4gdCBpbiBUbz9NYXRoLmFicyhyLU1vKE1hdGgubWF4KHkoZVswXSkseShlWzFdKSkpKSsgKygiZSIhPT10KTpyLTIqKCIlIj09PXQpfShpWzhdLGEpKSxuPWkuam9pbigiIil9ZWxzZSBuPSIsLiIrTW8oYVsyXSkrImYiO3JldHVybiB0LmZvcm1hdChuKX10LnNjYWxlLmxpbmVhcj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuLGEpe3ZhciBpLG87ZnVuY3Rpb24gcygpe3ZhciB0PU1hdGgubWluKGUubGVuZ3RoLHIubGVuZ3RoKT4yP3lvOnBvLHM9YT94aTp5aTtyZXR1cm4gaT10KGUscixzLG4pLG89dChyLGUscyxLYSksbH1mdW5jdGlvbiBsKHQpe3JldHVybiBpKHQpfWwuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBvKHQpfTtsLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10Lm1hcChOdW1iZXIpLHMoKSk6ZX07bC5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LHMoKSk6cn07bC5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBsLnJhbmdlKHQpLmludGVycG9sYXRlKGhpKX07bC5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LHMoKSk6YX07bC5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LHMoKSk6bn07bC50aWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gd28oZSx0KX07bC50aWNrRm9ybWF0PWZ1bmN0aW9uKHQscil7cmV0dXJuIGtvKGUsdCxyKX07bC5uaWNlPWZ1bmN0aW9uKHQpe3JldHVybiBibyhlLHQpLHMoKX07bC5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZSxyLG4sYSl9O3JldHVybiBzKCl9KFswLDFdLFswLDFdLEthLCExKX07dmFyIFRvPXtzOjEsZzoxLHA6MSxyOjEsZToxfTtmdW5jdGlvbiBNbyh0KXtyZXR1cm4tTWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMTArLjAxKX10LnNjYWxlLmxvZz1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHIsbixhLGkpe2Z1bmN0aW9uIG8odCl7cmV0dXJuKGE/TWF0aC5sb2codDwwPzA6dCk6LU1hdGgubG9nKHQ+MD8wOi10KSkvTWF0aC5sb2cobil9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gYT9NYXRoLnBvdyhuLHQpOi1NYXRoLnBvdyhuLC10KX1mdW5jdGlvbiBsKHQpe3JldHVybiByKG8odCkpfWwuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBzKHIuaW52ZXJ0KHQpKX07bC5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dFswXT49MCxyLmRvbWFpbigoaT10Lm1hcChOdW1iZXIpKS5tYXAobykpLGwpOml9O2wuYmFzZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxyLmRvbWFpbihpLm1hcChvKSksbCk6bn07bC5uaWNlPWZ1bmN0aW9uKCl7dmFyIHQ9Z28oaS5tYXAobyksYT9NYXRoOlNvKTtyZXR1cm4gci5kb21haW4odCksaT10Lm1hcChzKSxsfTtsLnRpY2tzPWZ1bmN0aW9uKCl7dmFyIHQ9aG8oaSksZT1bXSxyPXRbMF0sbD10WzFdLGM9TWF0aC5mbG9vcihvKHIpKSx1PU1hdGguY2VpbChvKGwpKSxoPW4lMT8yOm47aWYoaXNGaW5pdGUodS1jKSl7aWYoYSl7Zm9yKDtjPHU7YysrKWZvcih2YXIgZj0xO2Y8aDtmKyspZS5wdXNoKHMoYykqZik7ZS5wdXNoKHMoYykpfWVsc2UgZm9yKGUucHVzaChzKGMpKTtjKys8dTspZm9yKHZhciBmPWgtMTtmPjA7Zi0tKWUucHVzaChzKGMpKmYpO2ZvcihjPTA7ZVtjXTxyO2MrKyk7Zm9yKHU9ZS5sZW5ndGg7ZVt1LTFdPmw7dS0tKTtlPWUuc2xpY2UoYyx1KX1yZXR1cm4gZX07bC50aWNrRm9ybWF0PWZ1bmN0aW9uKGUscil7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIEFvO2FyZ3VtZW50cy5sZW5ndGg8Mj9yPUFvOiJmdW5jdGlvbiIhPXR5cGVvZiByJiYocj10LmZvcm1hdChyKSk7dmFyIGE9TWF0aC5tYXgoMSxuKmUvbC50aWNrcygpLmxlbmd0aCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXQvcyhNYXRoLnJvdW5kKG8odCkpKTtyZXR1cm4gZSpuPG4tLjUmJihlKj1uKSxlPD1hP3IodCk6IiJ9fTtsLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gZShyLmNvcHkoKSxuLGEsaSl9O3JldHVybiB4byhsLHIpfSh0LnNjYWxlLmxpbmVhcigpLmRvbWFpbihbMCwxXSksMTAsITAsWzEsMTBdKX07dmFyIEFvPXQuZm9ybWF0KCIuMGUiKSxTbz17Zmxvb3I6ZnVuY3Rpb24odCl7cmV0dXJuLU1hdGguY2VpbCgtdCl9LGNlaWw6ZnVuY3Rpb24odCl7cmV0dXJuLU1hdGguZmxvb3IoLXQpfX07ZnVuY3Rpb24gRW8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlPDA/LU1hdGgucG93KC1lLHQpOk1hdGgucG93KGUsdCl9fXQuc2NhbGUucG93PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIHQoZSxyLG4pe3ZhciBhPUVvKHIpLGk9RW8oMS9yKTtmdW5jdGlvbiBvKHQpe3JldHVybiBlKGEodCkpfW8uaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBpKGUuaW52ZXJ0KHQpKX07by5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGUuZG9tYWluKChuPXQubWFwKE51bWJlcikpLm1hcChhKSksbyk6bn07by50aWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gd28obix0KX07by50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGtvKG4sdCxlKX07by5uaWNlPWZ1bmN0aW9uKHQpe3JldHVybiBvLmRvbWFpbihibyhuLHQpKX07by5leHBvbmVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT1FbyhyPXQpLGk9RW8oMS9yKSxlLmRvbWFpbihuLm1hcChhKSksbyk6cn07by5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZS5jb3B5KCkscixuKX07cmV0dXJuIHhvKG8sZSl9KHQuc2NhbGUubGluZWFyKCksMSxbMCwxXSl9LHQuc2NhbGUuc3FydD1mdW5jdGlvbigpe3JldHVybiB0LnNjYWxlLnBvdygpLmV4cG9uZW50KC41KX0sdC5zY2FsZS5vcmRpbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUocixuKXt2YXIgYSxpLG87ZnVuY3Rpb24gcyh0KXtyZXR1cm4gaVsoKGEuZ2V0KHQpfHwoInJhbmdlIj09PW4udD9hLnNldCh0LHIucHVzaCh0KSk6TmFOKSktMSklaS5sZW5ndGhdfWZ1bmN0aW9uIGwoZSxuKXtyZXR1cm4gdC5yYW5nZShyLmxlbmd0aCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlK24qdH0pfXMuZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiByO3I9W10sYT1uZXcgYjtmb3IodmFyIGUsaT0tMSxvPXQubGVuZ3RoOysraTxvOylhLmhhcyhlPXRbaV0pfHxhLnNldChlLHIucHVzaChlKSk7cmV0dXJuIHNbbi50XS5hcHBseShzLG4uYSl9O3MucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxvPTAsbj17dDoicmFuZ2UiLGE6YXJndW1lbnRzfSxzKTppfTtzLnJhbmdlUG9pbnRzPWZ1bmN0aW9uKHQsZSl7YXJndW1lbnRzLmxlbmd0aDwyJiYoZT0wKTt2YXIgYT10WzBdLGM9dFsxXSx1PXIubGVuZ3RoPDI/KGE9KGErYykvMiwwKTooYy1hKS8oci5sZW5ndGgtMStlKTtyZXR1cm4gaT1sKGErdSplLzIsdSksbz0wLG49e3Q6InJhbmdlUG9pbnRzIixhOmFyZ3VtZW50c30sc307cy5yYW5nZVJvdW5kUG9pbnRzPWZ1bmN0aW9uKHQsZSl7YXJndW1lbnRzLmxlbmd0aDwyJiYoZT0wKTt2YXIgYT10WzBdLGM9dFsxXSx1PXIubGVuZ3RoPDI/KGE9Yz1NYXRoLnJvdW5kKChhK2MpLzIpLDApOihjLWEpLyhyLmxlbmd0aC0xK2UpfDA7cmV0dXJuIGk9bChhK01hdGgucm91bmQodSplLzIrKGMtYS0oci5sZW5ndGgtMStlKSp1KS8yKSx1KSxvPTAsbj17dDoicmFuZ2VSb3VuZFBvaW50cyIsYTphcmd1bWVudHN9LHN9O3MucmFuZ2VCYW5kcz1mdW5jdGlvbih0LGUsYSl7YXJndW1lbnRzLmxlbmd0aDwyJiYoZT0wKSxhcmd1bWVudHMubGVuZ3RoPDMmJihhPWUpO3ZhciBjPXRbMV08dFswXSx1PXRbYy0wXSxoPXRbMS1jXSxmPShoLXUpLyhyLmxlbmd0aC1lKzIqYSk7cmV0dXJuIGk9bCh1K2YqYSxmKSxjJiZpLnJldmVyc2UoKSxvPWYqKDEtZSksbj17dDoicmFuZ2VCYW5kcyIsYTphcmd1bWVudHN9LHN9O3MucmFuZ2VSb3VuZEJhbmRzPWZ1bmN0aW9uKHQsZSxhKXthcmd1bWVudHMubGVuZ3RoPDImJihlPTApLGFyZ3VtZW50cy5sZW5ndGg8MyYmKGE9ZSk7dmFyIGM9dFsxXTx0WzBdLHU9dFtjLTBdLGg9dFsxLWNdLGY9TWF0aC5mbG9vcigoaC11KS8oci5sZW5ndGgtZSsyKmEpKTtyZXR1cm4gaT1sKHUrTWF0aC5yb3VuZCgoaC11LShyLmxlbmd0aC1lKSpmKS8yKSxmKSxjJiZpLnJldmVyc2UoKSxvPU1hdGgucm91bmQoZiooMS1lKSksbj17dDoicmFuZ2VSb3VuZEJhbmRzIixhOmFyZ3VtZW50c30sc307cy5yYW5nZUJhbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gb307cy5yYW5nZUV4dGVudD1mdW5jdGlvbigpe3JldHVybiBobyhuLmFbMF0pfTtzLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gZShyLG4pfTtyZXR1cm4gcy5kb21haW4ocil9KFtdLHt0OiJyYW5nZSIsYTpbW11dfSl9LHQuc2NhbGUuY2F0ZWdvcnkxMD1mdW5jdGlvbigpe3JldHVybiB0LnNjYWxlLm9yZGluYWwoKS5yYW5nZShMbyl9LHQuc2NhbGUuY2F0ZWdvcnkyMD1mdW5jdGlvbigpe3JldHVybiB0LnNjYWxlLm9yZGluYWwoKS5yYW5nZShDbyl9LHQuc2NhbGUuY2F0ZWdvcnkyMGI9ZnVuY3Rpb24oKXtyZXR1cm4gdC5zY2FsZS5vcmRpbmFsKCkucmFuZ2UoUG8pfSx0LnNjYWxlLmNhdGVnb3J5MjBjPWZ1bmN0aW9uKCl7cmV0dXJuIHQuc2NhbGUub3JkaW5hbCgpLnJhbmdlKE9vKX07dmFyIExvPVsyMDYyMjYwLDE2NzQ0MjA2LDI5MjQ1ODgsMTQwMzQ3MjgsOTcyNTg4NSw5MTk3MTMxLDE0OTA3MzMwLDgzNTU3MTEsMTIzNjkxODYsMTU1NjE3NV0ubWFwKHNlKSxDbz1bMjA2MjI2MCwxMTQ1NDQ0MCwxNjc0NDIwNiwxNjc1OTY3MiwyOTI0NTg4LDEwMDE4Njk4LDE0MDM0NzI4LDE2NzUwNzQyLDk3MjU4ODUsMTI5NTU4NjEsOTE5NzEzMSwxMjg4NTE0MCwxNDkwNzMzMCwxNjIzNDE5NCw4MzU1NzExLDEzMDkyODA3LDEyMzY5MTg2LDE0NDA4NTg5LDE1NTYxNzUsMTA0MTA3MjVdLm1hcChzZSksUG89WzM3NTA3NzcsNTM5NTYxOSw3MDQwNzE5LDEwMjY0Mjg2LDY1MTkwOTcsOTIxNjU5NCwxMTkxNTExNSwxMzU1NjYzNiw5MjAyOTkzLDEyNDI2ODA5LDE1MTg2NTE0LDE1MTkwOTMyLDg2NjYxNjksMTEzNTY0OTAsMTQwNDk2NDMsMTUxNzczNzIsODA3NzY4MywxMDgzNDMyNCwxMzUyODUwOSwxNDU4OTY1NF0ubWFwKHNlKSxPbz1bMzI0NDczMyw3MDU3MTEwLDEwNDA2NjI1LDEzMDMyNDMxLDE1MDk1MDUzLDE2NjE2NzY0LDE2NjI1MjU5LDE2NjM0MDE4LDMyNTMwNzYsNzY1MjQ3MCwxMDYwNzAwMywxMzEwMTUwNCw3Njk1MjgxLDEwMzk0MzEyLDEyMzY5MzcyLDE0MzQyODkxLDY1MTM1MDcsOTg2ODk1MCwxMjQzNDg3NywxNDI3NzA4MV0ubWFwKHNlKTtmdW5jdGlvbiB6bygpe3JldHVybiAwfXQuc2NhbGUucXVhbnRpbGU9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShyLG4pe3ZhciBhO2Z1bmN0aW9uIGkoKXt2YXIgZT0wLGk9bi5sZW5ndGg7Zm9yKGE9W107KytlPGk7KWFbZS0xXT10LnF1YW50aWxlKHIsZS9pKTtyZXR1cm4gb31mdW5jdGlvbiBvKGUpe2lmKCFpc05hTihlPStlKSlyZXR1cm4gblt0LmJpc2VjdChhLGUpXX1vLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10Lm1hcChwKS5maWx0ZXIoZCkuc29ydChmKSxpKCkpOnJ9O28ucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxpKCkpOm59O28ucXVhbnRpbGVzPWZ1bmN0aW9uKCl7cmV0dXJuIGF9O28uaW52ZXJ0RXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybih0PW4uaW5kZXhPZih0KSk8MD9bTmFOLE5hTl06W3Q+MD9hW3QtMV06clswXSx0PGEubGVuZ3RoP2FbdF06cltyLmxlbmd0aC0xXV19O28uY29weT1mdW5jdGlvbigpe3JldHVybiBlKHIsbil9O3JldHVybiBpKCl9KFtdLFtdKX0sdC5zY2FsZS5xdWFudGl6ZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuKXt2YXIgYSxpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIG5bTWF0aC5tYXgoMCxNYXRoLm1pbihpLE1hdGguZmxvb3IoYSoodC1lKSkpKV19ZnVuY3Rpb24gcygpe3JldHVybiBhPW4ubGVuZ3RoLyhyLWUpLGk9bi5sZW5ndGgtMSxvfW8uZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLHI9K3RbdC5sZW5ndGgtMV0scygpKTpbZSxyXX07by5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LHMoKSk6bn07by5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuW3Q9KHQ9bi5pbmRleE9mKHQpKTwwP05hTjp0L2ErZSx0KzEvYV19O28uY29weT1mdW5jdGlvbigpe3JldHVybiB0KGUscixuKX07cmV0dXJuIHMoKX0oMCwxLFswLDFdKX0sdC5zY2FsZS50aHJlc2hvbGQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShyLG4pe2Z1bmN0aW9uIGEoZSl7aWYoZTw9ZSlyZXR1cm4gblt0LmJpc2VjdChyLGUpXX1hLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGEpOnJ9O2EucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxhKTpufTthLmludmVydEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gdD1uLmluZGV4T2YodCksW3JbdC0xXSxyW3RdXX07YS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIGUocixuKX07cmV0dXJuIGF9KFsuNV0sWzAsMV0pfSx0LnNjYWxlLmlkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4rdH1yLmludmVydD1yO3IuZG9tYWluPXIucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dC5tYXAocikscik6ZX07ci50aWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gd28oZSx0KX07ci50aWNrRm9ybWF0PWZ1bmN0aW9uKHQscil7cmV0dXJuIGtvKGUsdCxyKX07ci5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZSl9O3JldHVybiByfShbMCwxXSl9LHQuc3ZnPXt9LHQuc3ZnLmFyYz1mdW5jdGlvbigpe3ZhciB0PURvLGU9Um8scj16byxuPUlvLGE9Rm8saT1CbyxvPU5vO2Z1bmN0aW9uIHMoKXt2YXIgcz1NYXRoLm1heCgwLCt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSksYz1NYXRoLm1heCgwLCtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdT1hLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1FdCxoPWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLUV0LGY9TWF0aC5hYnMoaC11KSxwPXU+aD8wOjE7aWYoYzxzJiYoZD1jLGM9cyxzPWQpLGY+PVN0KXJldHVybiBsKGMscCkrKHM/bChzLDEtcCk6IiIpKyJaIjt2YXIgZCxnLHYsbSx5LHgsYixfLHcsayxULE0sQT0wLFM9MCxFPVtdO2lmKChtPSgrby5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fDApLzIpJiYodj1uPT09SW8/TWF0aC5zcXJ0KHMqcytjKmMpOituLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxwfHwoUyo9LTEpLGMmJihTPUl0KHYvYypNYXRoLnNpbihtKSkpLHMmJihBPUl0KHYvcypNYXRoLnNpbihtKSkpKSxjKXt5PWMqTWF0aC5jb3ModStTKSx4PWMqTWF0aC5zaW4odStTKSxiPWMqTWF0aC5jb3MoaC1TKSxfPWMqTWF0aC5zaW4oaC1TKTt2YXIgTD1NYXRoLmFicyhoLXUtMipTKTw9TXQ/MDoxO2lmKFMmJmpvKHkseCxiLF8pPT09cF5MKXt2YXIgQz0odStoKS8yO3k9YypNYXRoLmNvcyhDKSx4PWMqTWF0aC5zaW4oQyksYj1fPW51bGx9fWVsc2UgeT14PTA7aWYocyl7dz1zKk1hdGguY29zKGgtQSksaz1zKk1hdGguc2luKGgtQSksVD1zKk1hdGguY29zKHUrQSksTT1zKk1hdGguc2luKHUrQSk7dmFyIFA9TWF0aC5hYnModS1oKzIqQSk8PU10PzA6MTtpZihBJiZqbyh3LGssVCxNKT09PTEtcF5QKXt2YXIgTz0odStoKS8yO3c9cypNYXRoLmNvcyhPKSxrPXMqTWF0aC5zaW4oTyksVD1NPW51bGx9fWVsc2Ugdz1rPTA7aWYoZj5rdCYmKGQ9TWF0aC5taW4oTWF0aC5hYnMoYy1zKS8yLCtyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkpPi4wMDEpe2c9czxjXnA/MDoxO3ZhciB6PWQsST1kO2lmKGY8TXQpe3ZhciBEPW51bGw9PVQ/W3csa106bnVsbD09Yj9beSx4XTpjYShbeSx4XSxbVCxNXSxbYixfXSxbdyxrXSksUj15LURbMF0sRj14LURbMV0sQj1iLURbMF0sTj1fLURbMV0saj0xL01hdGguc2luKE1hdGguYWNvcygoUipCK0YqTikvKE1hdGguc3FydChSKlIrRipGKSpNYXRoLnNxcnQoQipCK04qTikpKS8yKSxWPU1hdGguc3FydChEWzBdKkRbMF0rRFsxXSpEWzFdKTtJPU1hdGgubWluKGQsKHMtVikvKGotMSkpLHo9TWF0aC5taW4oZCwoYy1WKS8oaisxKSl9aWYobnVsbCE9Yil7dmFyIFU9Vm8obnVsbD09VD9bdyxrXTpbVCxNXSxbeSx4XSxjLHoscCkscT1WbyhbYixfXSxbdyxrXSxjLHoscCk7ZD09PXo/RS5wdXNoKCJNIixVWzBdLCJBIix6LCIsIix6LCIgMCAwLCIsZywiICIsVVsxXSwiQSIsYywiLCIsYywiIDAgIiwxLXBeam8oVVsxXVswXSxVWzFdWzFdLHFbMV1bMF0scVsxXVsxXSksIiwiLHAsIiAiLHFbMV0sIkEiLHosIiwiLHosIiAwIDAsIixnLCIgIixxWzBdKTpFLnB1c2goIk0iLFVbMF0sIkEiLHosIiwiLHosIiAwIDEsIixnLCIgIixxWzBdKX1lbHNlIEUucHVzaCgiTSIseSwiLCIseCk7aWYobnVsbCE9VCl7dmFyIEg9Vm8oW3kseF0sW1QsTV0scywtSSxwKSxHPVZvKFt3LGtdLG51bGw9PWI/W3kseF06W2IsX10scywtSSxwKTtkPT09ST9FLnB1c2goIkwiLEdbMF0sIkEiLEksIiwiLEksIiAwIDAsIixnLCIgIixHWzFdLCJBIixzLCIsIixzLCIgMCAiLHBeam8oR1sxXVswXSxHWzFdWzFdLEhbMV1bMF0sSFsxXVsxXSksIiwiLDEtcCwiICIsSFsxXSwiQSIsSSwiLCIsSSwiIDAgMCwiLGcsIiAiLEhbMF0pOkUucHVzaCgiTCIsR1swXSwiQSIsSSwiLCIsSSwiIDAgMCwiLGcsIiAiLEhbMF0pfWVsc2UgRS5wdXNoKCJMIix3LCIsIixrKX1lbHNlIEUucHVzaCgiTSIseSwiLCIseCksbnVsbCE9YiYmRS5wdXNoKCJBIixjLCIsIixjLCIgMCAiLEwsIiwiLHAsIiAiLGIsIiwiLF8pLEUucHVzaCgiTCIsdywiLCIsayksbnVsbCE9VCYmRS5wdXNoKCJBIixzLCIsIixzLCIgMCAiLFAsIiwiLDEtcCwiICIsVCwiLCIsTSk7cmV0dXJuIEUucHVzaCgiWiIpLEUuam9pbigiIil9ZnVuY3Rpb24gbCh0LGUpe3JldHVybiJNMCwiK3QrIkEiK3QrIiwiK3QrIiAwIDEsIitlKyIgMCwiKy10KyJBIit0KyIsIit0KyIgMCAxLCIrZSsiIDAsIit0fXJldHVybiBzLmlubmVyUmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXZlKGUpLHMpOnR9LHMub3V0ZXJSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dmUodCkscyk6ZX0scy5jb3JuZXJSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dmUodCkscyk6cn0scy5wYWRSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dD09SW8/SW86dmUodCkscyk6bn0scy5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXZlKHQpLHMpOmF9LHMuZW5kQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dmUodCkscyk6aX0scy5wYWRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz12ZSh0KSxzKTpvfSxzLmNlbnRyb2lkPWZ1bmN0aW9uKCl7dmFyIHI9KCt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK2UuYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLG49KCthLmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK2kuYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLUV0O3JldHVybltNYXRoLmNvcyhuKSpyLE1hdGguc2luKG4pKnJdfSxzfTt2YXIgSW89ImF1dG8iO2Z1bmN0aW9uIERvKHQpe3JldHVybiB0LmlubmVyUmFkaXVzfWZ1bmN0aW9uIFJvKHQpe3JldHVybiB0Lm91dGVyUmFkaXVzfWZ1bmN0aW9uIEZvKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9ZnVuY3Rpb24gQm8odCl7cmV0dXJuIHQuZW5kQW5nbGV9ZnVuY3Rpb24gTm8odCl7cmV0dXJuIHQmJnQucGFkQW5nbGV9ZnVuY3Rpb24gam8odCxlLHIsbil7cmV0dXJuKHQtcikqZS0oZS1uKSp0PjA/MDoxfWZ1bmN0aW9uIFZvKHQsZSxyLG4sYSl7dmFyIGk9dFswXS1lWzBdLG89dFsxXS1lWzFdLHM9KGE/bjotbikvTWF0aC5zcXJ0KGkqaStvKm8pLGw9cypvLGM9LXMqaSx1PXRbMF0rbCxoPXRbMV0rYyxmPWVbMF0rbCxwPWVbMV0rYyxkPSh1K2YpLzIsZz0oaCtwKS8yLHY9Zi11LG09cC1oLHk9dip2K20qbSx4PXItbixiPXUqcC1mKmgsXz0obTwwPy0xOjEpKk1hdGguc3FydChNYXRoLm1heCgwLHgqeCp5LWIqYikpLHc9KGIqbS12Kl8pL3ksaz0oLWIqdi1tKl8pL3ksVD0oYiptK3YqXykveSxNPSgtYip2K20qXykveSxBPXctZCxTPWstZyxFPVQtZCxMPU0tZztyZXR1cm4gQSpBK1MqUz5FKkUrTCpMJiYodz1ULGs9TSksW1t3LWwsay1jXSxbdypyL3gsaypyL3hdXX1mdW5jdGlvbiBVbyh0KXt2YXIgZT1uYSxyPWFhLG49WHIsYT1IbyxpPWEua2V5LG89Ljc7ZnVuY3Rpb24gcyhpKXt2YXIgcyxsPVtdLGM9W10sdT0tMSxoPWkubGVuZ3RoLGY9dmUoZSkscD12ZShyKTtmdW5jdGlvbiBkKCl7bC5wdXNoKCJNIixhKHQoYyksbykpfWZvcig7Kyt1PGg7KW4uY2FsbCh0aGlzLHM9aVt1XSx1KT9jLnB1c2goWytmLmNhbGwodGhpcyxzLHUpLCtwLmNhbGwodGhpcyxzLHUpXSk6Yy5sZW5ndGgmJihkKCksYz1bXSk7cmV0dXJuIGMubGVuZ3RoJiZkKCksbC5sZW5ndGg/bC5qb2luKCIiKTpudWxsfXJldHVybiBzLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxzKTplfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxzKTpyfSxzLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxzKTpufSxzLmludGVycG9sYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P2E9dDooYT1xby5nZXQodCl8fEhvKS5rZXkscyk6aX0scy50ZW5zaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQscyk6b30sc310LnN2Zy5saW5lPWZ1bmN0aW9uKCl7cmV0dXJuIFVvKFApfTt2YXIgcW89dC5tYXAoe2xpbmVhcjpIbywibGluZWFyLWNsb3NlZCI6R28sc3RlcDpmdW5jdGlvbih0KXt2YXIgZT0wLHI9dC5sZW5ndGgsbj10WzBdLGE9W25bMF0sIiwiLG5bMV1dO2Zvcig7KytlPHI7KWEucHVzaCgiSCIsKG5bMF0rKG49dFtlXSlbMF0pLzIsIlYiLG5bMV0pO3I+MSYmYS5wdXNoKCJIIixuWzBdKTtyZXR1cm4gYS5qb2luKCIiKX0sInN0ZXAtYmVmb3JlIjpZbywic3RlcC1hZnRlciI6V28sYmFzaXM6Sm8sImJhc2lzLW9wZW4iOmZ1bmN0aW9uKHQpe2lmKHQubGVuZ3RoPDQpcmV0dXJuIEhvKHQpO3ZhciBlLHI9W10sbj0tMSxhPXQubGVuZ3RoLGk9WzBdLG89WzBdO2Zvcig7KytuPDM7KWU9dFtuXSxpLnB1c2goZVswXSksby5wdXNoKGVbMV0pO3IucHVzaChLbyh0cyxpKSsiLCIrS28odHMsbykpLC0tbjtmb3IoOysrbjxhOyllPXRbbl0saS5zaGlmdCgpLGkucHVzaChlWzBdKSxvLnNoaWZ0KCksby5wdXNoKGVbMV0pLGVzKHIsaSxvKTtyZXR1cm4gci5qb2luKCIiKX0sImJhc2lzLWNsb3NlZCI6ZnVuY3Rpb24odCl7dmFyIGUscixuPS0xLGE9dC5sZW5ndGgsaT1hKzQsbz1bXSxzPVtdO2Zvcig7KytuPDQ7KXI9dFtuJWFdLG8ucHVzaChyWzBdKSxzLnB1c2goclsxXSk7ZT1bS28odHMsbyksIiwiLEtvKHRzLHMpXSwtLW47Zm9yKDsrK248aTspcj10W24lYV0sby5zaGlmdCgpLG8ucHVzaChyWzBdKSxzLnNoaWZ0KCkscy5wdXNoKHJbMV0pLGVzKGUsbyxzKTtyZXR1cm4gZS5qb2luKCIiKX0sYnVuZGxlOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGgtMTtpZihyKWZvcih2YXIgbixhLGk9dFswXVswXSxvPXRbMF1bMV0scz10W3JdWzBdLWksbD10W3JdWzFdLW8sYz0tMTsrK2M8PXI7KW49dFtjXSxhPWMvcixuWzBdPWUqblswXSsoMS1lKSooaSthKnMpLG5bMV09ZSpuWzFdKygxLWUpKihvK2EqbCk7cmV0dXJuIEpvKHQpfSxjYXJkaW5hbDpmdW5jdGlvbih0LGUpe3JldHVybiB0Lmxlbmd0aDwzP0hvKHQpOnRbMF0rWG8odCxabyh0LGUpKX0sImNhcmRpbmFsLW9wZW4iOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGVuZ3RoPDQ/SG8odCk6dFsxXStYbyh0LnNsaWNlKDEsLTEpLFpvKHQsZSkpfSwiY2FyZGluYWwtY2xvc2VkIjpmdW5jdGlvbih0LGUpe3JldHVybiB0Lmxlbmd0aDwzP0dvKHQpOnRbMF0rWG8oKHQucHVzaCh0WzBdKSx0KSxabyhbdFt0Lmxlbmd0aC0yXV0uY29uY2F0KHQsW3RbMV1dKSxlKSl9LG1vbm90b25lOmZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aDwzP0hvKHQpOnRbMF0rWG8odCxmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPVtdLG89ZnVuY3Rpb24odCl7dmFyIGU9MCxyPXQubGVuZ3RoLTEsbj1bXSxhPXRbMF0saT10WzFdLG89blswXT1ycyhhLGkpO2Zvcig7KytlPHI7KW5bZV09KG8rKG89cnMoYT1pLGk9dFtlKzFdKSkpLzI7cmV0dXJuIG5bZV09byxufSh0KSxzPS0xLGw9dC5sZW5ndGgtMTtmb3IoOysrczxsOyllPXJzKHRbc10sdFtzKzFdKSx5KGUpPGt0P29bc109b1tzKzFdPTA6KHI9b1tzXS9lLG49b1tzKzFdL2UsKGE9cipyK24qbik+OSYmKGE9MyplL01hdGguc3FydChhKSxvW3NdPWEqcixvW3MrMV09YSpuKSk7cz0tMTtmb3IoOysrczw9bDspYT0odFtNYXRoLm1pbihsLHMrMSldWzBdLXRbTWF0aC5tYXgoMCxzLTEpXVswXSkvKDYqKDErb1tzXSpvW3NdKSksaS5wdXNoKFthfHwwLG9bc10qYXx8MF0pO3JldHVybiBpfSh0KSl9fSk7ZnVuY3Rpb24gSG8odCl7cmV0dXJuIHQubGVuZ3RoPjE/dC5qb2luKCJMIik6dCsiWiJ9ZnVuY3Rpb24gR28odCl7cmV0dXJuIHQuam9pbigiTCIpKyJaIn1mdW5jdGlvbiBZbyh0KXtmb3IodmFyIGU9MCxyPXQubGVuZ3RoLG49dFswXSxhPVtuWzBdLCIsIixuWzFdXTsrK2U8cjspYS5wdXNoKCJWIiwobj10W2VdKVsxXSwiSCIsblswXSk7cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gV28odCl7Zm9yKHZhciBlPTAscj10Lmxlbmd0aCxuPXRbMF0sYT1bblswXSwiLCIsblsxXV07KytlPHI7KWEucHVzaCgiSCIsKG49dFtlXSlbMF0sIlYiLG5bMV0pO3JldHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIFhvKHQsZSl7aWYoZS5sZW5ndGg8MXx8dC5sZW5ndGghPWUubGVuZ3RoJiZ0Lmxlbmd0aCE9ZS5sZW5ndGgrMilyZXR1cm4gSG8odCk7dmFyIHI9dC5sZW5ndGghPWUubGVuZ3RoLG49IiIsYT10WzBdLGk9dFsxXSxvPWVbMF0scz1vLGw9MTtpZihyJiYobis9IlEiKyhpWzBdLTIqb1swXS8zKSsiLCIrKGlbMV0tMipvWzFdLzMpKyIsIitpWzBdKyIsIitpWzFdLGE9dFsxXSxsPTIpLGUubGVuZ3RoPjEpe3M9ZVsxXSxpPXRbbF0sbCsrLG4rPSJDIisoYVswXStvWzBdKSsiLCIrKGFbMV0rb1sxXSkrIiwiKyhpWzBdLXNbMF0pKyIsIisoaVsxXS1zWzFdKSsiLCIraVswXSsiLCIraVsxXTtmb3IodmFyIGM9MjtjPGUubGVuZ3RoO2MrKyxsKyspaT10W2xdLHM9ZVtjXSxuKz0iUyIrKGlbMF0tc1swXSkrIiwiKyhpWzFdLXNbMV0pKyIsIitpWzBdKyIsIitpWzFdfWlmKHIpe3ZhciB1PXRbbF07bis9IlEiKyhpWzBdKzIqc1swXS8zKSsiLCIrKGlbMV0rMipzWzFdLzMpKyIsIit1WzBdKyIsIit1WzFdfXJldHVybiBufWZ1bmN0aW9uIFpvKHQsZSl7Zm9yKHZhciByLG49W10sYT0oMS1lKS8yLGk9dFswXSxvPXRbMV0scz0xLGw9dC5sZW5ndGg7KytzPGw7KXI9aSxpPW8sbz10W3NdLG4ucHVzaChbYSoob1swXS1yWzBdKSxhKihvWzFdLXJbMV0pXSk7cmV0dXJuIG59ZnVuY3Rpb24gSm8odCl7aWYodC5sZW5ndGg8MylyZXR1cm4gSG8odCk7dmFyIGU9MSxyPXQubGVuZ3RoLG49dFswXSxhPW5bMF0saT1uWzFdLG89W2EsYSxhLChuPXRbMV0pWzBdXSxzPVtpLGksaSxuWzFdXSxsPVthLCIsIixpLCJMIixLbyh0cyxvKSwiLCIsS28odHMscyldO2Zvcih0LnB1c2godFtyLTFdKTsrK2U8PXI7KW49dFtlXSxvLnNoaWZ0KCksby5wdXNoKG5bMF0pLHMuc2hpZnQoKSxzLnB1c2goblsxXSksZXMobCxvLHMpO3JldHVybiB0LnBvcCgpLGwucHVzaCgiTCIsbiksbC5qb2luKCIiKX1mdW5jdGlvbiBLbyh0LGUpe3JldHVybiB0WzBdKmVbMF0rdFsxXSplWzFdK3RbMl0qZVsyXSt0WzNdKmVbM119cW8uZm9yRWFjaChmdW5jdGlvbih0LGUpe2Uua2V5PXQsZS5jbG9zZWQ9Ly1jbG9zZWQkLy50ZXN0KHQpfSk7dmFyIFFvPVswLDIvMywxLzMsMF0sJG89WzAsMS8zLDIvMywwXSx0cz1bMCwxLzYsMi8zLDEvNl07ZnVuY3Rpb24gZXModCxlLHIpe3QucHVzaCgiQyIsS28oUW8sZSksIiwiLEtvKFFvLHIpLCIsIixLbygkbyxlKSwiLCIsS28oJG8sciksIiwiLEtvKHRzLGUpLCIsIixLbyh0cyxyKSl9ZnVuY3Rpb24gcnModCxlKXtyZXR1cm4oZVsxXS10WzFdKS8oZVswXS10WzBdKX1mdW5jdGlvbiBucyh0KXtmb3IodmFyIGUscixuLGE9LTEsaT10Lmxlbmd0aDsrK2E8aTspcj0oZT10W2FdKVswXSxuPWVbMV0tRXQsZVswXT1yKk1hdGguY29zKG4pLGVbMV09cipNYXRoLnNpbihuKTtyZXR1cm4gdH1mdW5jdGlvbiBhcyh0KXt2YXIgZT1uYSxyPW5hLG49MCxhPWFhLGk9WHIsbz1IbyxzPW8ua2V5LGw9byxjPSJMIix1PS43O2Z1bmN0aW9uIGgocyl7dmFyIGgsZixwLGQ9W10sZz1bXSx2PVtdLG09LTEseT1zLmxlbmd0aCx4PXZlKGUpLGI9dmUobiksXz1lPT09cj9mdW5jdGlvbigpe3JldHVybiBmfTp2ZShyKSx3PW49PT1hP2Z1bmN0aW9uKCl7cmV0dXJuIHB9OnZlKGEpO2Z1bmN0aW9uIGsoKXtkLnB1c2goIk0iLG8odCh2KSx1KSxjLGwodChnLnJldmVyc2UoKSksdSksIloiKX1mb3IoOysrbTx5OylpLmNhbGwodGhpcyxoPXNbbV0sbSk/KGcucHVzaChbZj0reC5jYWxsKHRoaXMsaCxtKSxwPStiLmNhbGwodGhpcyxoLG0pXSksdi5wdXNoKFsrXy5jYWxsKHRoaXMsaCxtKSwrdy5jYWxsKHRoaXMsaCxtKV0pKTpnLmxlbmd0aCYmKGsoKSxnPVtdLHY9W10pO3JldHVybiBnLmxlbmd0aCYmaygpLGQubGVuZ3RoP2Quam9pbigiIik6bnVsbH1yZXR1cm4gaC54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXI9dCxoKTpyfSxoLngwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsaCk6ZX0saC54MT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGgpOnJ9LGgueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1hPXQsaCk6YX0saC55MD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGgpOm59LGgueTE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxoKTphfSxoLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxoKTppfSxoLmludGVycG9sYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P289dDoobz1xby5nZXQodCl8fEhvKS5rZXksbD1vLnJldmVyc2V8fG8sYz1vLmNsb3NlZD8iTSI6IkwiLGgpOnN9LGgudGVuc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT10LGgpOnV9LGh9ZnVuY3Rpb24gaXModCl7cmV0dXJuIHQucmFkaXVzfWZ1bmN0aW9uIG9zKHQpe3JldHVyblt0LngsdC55XX1mdW5jdGlvbiBzcygpe3JldHVybiA2NH1mdW5jdGlvbiBscygpe3JldHVybiJjaXJjbGUifWZ1bmN0aW9uIGNzKHQpe3ZhciBlPU1hdGguc3FydCh0L010KTtyZXR1cm4iTTAsIitlKyJBIitlKyIsIitlKyIgMCAxLDEgMCwiKy1lKyJBIitlKyIsIitlKyIgMCAxLDEgMCwiK2UrIloifXQuc3ZnLmxpbmUucmFkaWFsPWZ1bmN0aW9uKCl7dmFyIHQ9VW8obnMpO3JldHVybiB0LnJhZGl1cz10LngsZGVsZXRlIHQueCx0LmFuZ2xlPXQueSxkZWxldGUgdC55LHR9LFlvLnJldmVyc2U9V28sV28ucmV2ZXJzZT1Zbyx0LnN2Zy5hcmVhPWZ1bmN0aW9uKCl7cmV0dXJuIGFzKFApfSx0LnN2Zy5hcmVhLnJhZGlhbD1mdW5jdGlvbigpe3ZhciB0PWFzKG5zKTtyZXR1cm4gdC5yYWRpdXM9dC54LGRlbGV0ZSB0LngsdC5pbm5lclJhZGl1cz10LngwLGRlbGV0ZSB0LngwLHQub3V0ZXJSYWRpdXM9dC54MSxkZWxldGUgdC54MSx0LmFuZ2xlPXQueSxkZWxldGUgdC55LHQuc3RhcnRBbmdsZT10LnkwLGRlbGV0ZSB0LnkwLHQuZW5kQW5nbGU9dC55MSxkZWxldGUgdC55MSx0fSx0LnN2Zy5jaG9yZD1mdW5jdGlvbigpe3ZhciB0PXFuLGU9SG4scj1pcyxuPUZvLGE9Qm87ZnVuY3Rpb24gaShyLG4pe3ZhciBhLGksYz1vKHRoaXMsdCxyLG4pLHU9byh0aGlzLGUscixuKTtyZXR1cm4iTSIrYy5wMCtzKGMucixjLnAxLGMuYTEtYy5hMCkrKGk9dSwoYT1jKS5hMD09aS5hMCYmYS5hMT09aS5hMT9sKGMucixjLnAxLGMucixjLnAwKTpsKGMucixjLnAxLHUucix1LnAwKStzKHUucix1LnAxLHUuYTEtdS5hMCkrbCh1LnIsdS5wMSxjLnIsYy5wMCkpKyJaIn1mdW5jdGlvbiBvKHQsZSxpLG8pe3ZhciBzPWUuY2FsbCh0LGksbyksbD1yLmNhbGwodCxzLG8pLGM9bi5jYWxsKHQscyxvKS1FdCx1PWEuY2FsbCh0LHMsbyktRXQ7cmV0dXJue3I6bCxhMDpjLGExOnUscDA6W2wqTWF0aC5jb3MoYyksbCpNYXRoLnNpbihjKV0scDE6W2wqTWF0aC5jb3ModSksbCpNYXRoLnNpbih1KV19fWZ1bmN0aW9uIHModCxlLHIpe3JldHVybiJBIit0KyIsIit0KyIgMCAiKyArKHI+TXQpKyIsMSAiK2V9ZnVuY3Rpb24gbCh0LGUscixuKXtyZXR1cm4iUSAwLDAgIitufXJldHVybiBpLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj12ZSh0KSxpKTpyfSxpLnNvdXJjZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD12ZShlKSxpKTp0fSxpLnRhcmdldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT12ZSh0KSxpKTplfSxpLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dmUodCksaSk6bn0saS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT12ZSh0KSxpKTphfSxpfSx0LnN2Zy5kaWFnb25hbD1mdW5jdGlvbigpe3ZhciB0PXFuLGU9SG4scj1vcztmdW5jdGlvbiBuKG4sYSl7dmFyIGk9dC5jYWxsKHRoaXMsbixhKSxvPWUuY2FsbCh0aGlzLG4sYSkscz0oaS55K28ueSkvMixsPVtpLHt4OmkueCx5OnN9LHt4Om8ueCx5OnN9LG9dO3JldHVybiJNIisobD1sLm1hcChyKSlbMF0rIkMiK2xbMV0rIiAiK2xbMl0rIiAiK2xbM119cmV0dXJuIG4uc291cmNlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXZlKGUpLG4pOnR9LG4udGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXZlKHQpLG4pOmV9LG4ucHJvamVjdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG4pOnJ9LG59LHQuc3ZnLmRpYWdvbmFsLnJhZGlhbD1mdW5jdGlvbigpe3ZhciBlPXQuc3ZnLmRpYWdvbmFsKCkscj1vcyxuPWUucHJvamVjdGlvbjtyZXR1cm4gZS5wcm9qZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP24oZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dC5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1lWzBdLG49ZVsxXS1FdDtyZXR1cm5bcipNYXRoLmNvcyhuKSxyKk1hdGguc2luKG4pXX19KHI9dCkpOnJ9LGV9LHQuc3ZnLnN5bWJvbD1mdW5jdGlvbigpe3ZhciB0PWxzLGU9c3M7ZnVuY3Rpb24gcihyLG4pe3JldHVybih1cy5nZXQodC5jYWxsKHRoaXMscixuKSl8fGNzKShlLmNhbGwodGhpcyxyLG4pKX1yZXR1cm4gci50eXBlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXZlKGUpLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT12ZSh0KSxyKTplfSxyfTt2YXIgdXM9dC5tYXAoe2NpcmNsZTpjcyxjcm9zczpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLnNxcnQodC81KS8yO3JldHVybiJNIistMyplKyIsIistZSsiSCIrLWUrIlYiKy0zKmUrIkgiK2UrIlYiKy1lKyJIIiszKmUrIlYiK2UrIkgiK2UrIlYiKzMqZSsiSCIrLWUrIlYiK2UrIkgiKy0zKmUrIloifSxkaWFtb25kOmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguc3FydCh0LygyKmZzKSkscj1lKmZzO3JldHVybiJNMCwiKy1lKyJMIityKyIsMCAwLCIrZSsiICIrLXIrIiwwWiJ9LHNxdWFyZTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLnNxcnQodCkvMjtyZXR1cm4iTSIrLWUrIiwiKy1lKyJMIitlKyIsIistZSsiICIrZSsiLCIrZSsiICIrLWUrIiwiK2UrIloifSwidHJpYW5nbGUtZG93biI6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5zcXJ0KHQvaHMpLHI9ZSpocy8yO3JldHVybiJNMCwiK3IrIkwiK2UrIiwiKy1yKyIgIistZSsiLCIrLXIrIloifSwidHJpYW5nbGUtdXAiOmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguc3FydCh0L2hzKSxyPWUqaHMvMjtyZXR1cm4iTTAsIistcisiTCIrZSsiLCIrcisiICIrLWUrIiwiK3IrIloifX0pO3Quc3ZnLnN5bWJvbFR5cGVzPXVzLmtleXMoKTt2YXIgaHM9TWF0aC5zcXJ0KDMpLGZzPU1hdGgudGFuKDMwKkx0KTtXLnRyYW5zaXRpb249ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbj12c3x8Kyt4cyxhPXdzKHQpLGk9W10sbz1tc3x8e3RpbWU6RGF0ZS5ub3coKSxlYXNlOm9pLGRlbGF5OjAsZHVyYXRpb246MjUwfSxzPS0xLGw9dGhpcy5sZW5ndGg7KytzPGw7KXtpLnB1c2goZT1bXSk7Zm9yKHZhciBjPXRoaXNbc10sdT0tMSxoPWMubGVuZ3RoOysrdTxoOykocj1jW3VdKSYma3Mocix1LGEsbixvKSxlLnB1c2gocil9cmV0dXJuIGdzKGksYSxuKX0sVy5pbnRlcnJ1cHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChudWxsPT10P3BzOmRzKHdzKHQpKSl9O3ZhciBwcz1kcyh3cygpKTtmdW5jdGlvbiBkcyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZSxyLG47KGU9dGhpc1t0XSkmJihuPWVbcj1lLmFjdGl2ZV0pJiYobi50aW1lci5jPW51bGwsbi50aW1lci50PU5hTiwtLWUuY291bnQ/ZGVsZXRlIGVbcl06ZGVsZXRlIHRoaXNbdF0sZS5hY3RpdmUrPS41LG4uZXZlbnQmJm4uZXZlbnQuaW50ZXJydXB0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLG4uaW5kZXgpKX19ZnVuY3Rpb24gZ3ModCxlLHIpe3JldHVybiBVKHQseXMpLHQubmFtZXNwYWNlPWUsdC5pZD1yLHR9dmFyIHZzLG1zLHlzPVtdLHhzPTA7ZnVuY3Rpb24gYnModCxlLHIsbil7dmFyIGE9dC5pZCxpPXQubmFtZXNwYWNlO3JldHVybiB1dCh0LCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKHQsbyxzKXt0W2ldW2FdLnR3ZWVuLnNldChlLG4oci5jYWxsKHQsdC5fX2RhdGFfXyxvLHMpKSl9OihyPW4ociksZnVuY3Rpb24odCl7dFtpXVthXS50d2Vlbi5zZXQoZSxyKX0pKX1mdW5jdGlvbiBfcyh0KXtyZXR1cm4gbnVsbD09dCYmKHQ9IiIpLGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX1mdW5jdGlvbiB3cyh0KXtyZXR1cm4gbnVsbD09dD8iX190cmFuc2l0aW9uX18iOiJfX3RyYW5zaXRpb25fIit0KyJfXyJ9ZnVuY3Rpb24ga3ModCxlLHIsbixhKXt2YXIgaSxvLHMsbCxjLHU9dFtyXXx8KHRbcl09e2FjdGl2ZTowLGNvdW50OjB9KSxoPXVbbl07ZnVuY3Rpb24gZihyKXt2YXIgYT11LmFjdGl2ZSxmPXVbYV07Zm9yKHZhciBkIGluIGYmJihmLnRpbWVyLmM9bnVsbCxmLnRpbWVyLnQ9TmFOLC0tdS5jb3VudCxkZWxldGUgdVthXSxmLmV2ZW50JiZmLmV2ZW50LmludGVycnVwdC5jYWxsKHQsdC5fX2RhdGFfXyxmLmluZGV4KSksdSlpZigrZDxuKXt2YXIgZz11W2RdO2cudGltZXIuYz1udWxsLGcudGltZXIudD1OYU4sLS11LmNvdW50LGRlbGV0ZSB1W2RdfW8uYz1wLFRlKGZ1bmN0aW9uKCl7cmV0dXJuIG8uYyYmcChyfHwxKSYmKG8uYz1udWxsLG8udD1OYU4pLDF9LDAsaSksdS5hY3RpdmU9bixoLmV2ZW50JiZoLmV2ZW50LnN0YXJ0LmNhbGwodCx0Ll9fZGF0YV9fLGUpLGM9W10saC50d2Vlbi5mb3JFYWNoKGZ1bmN0aW9uKHIsbil7KG49bi5jYWxsKHQsdC5fX2RhdGFfXyxlKSkmJmMucHVzaChuKX0pLGw9aC5lYXNlLHM9aC5kdXJhdGlvbn1mdW5jdGlvbiBwKGEpe2Zvcih2YXIgaT1hL3Msbz1sKGkpLGY9Yy5sZW5ndGg7Zj4wOyljWy0tZl0uY2FsbCh0LG8pO2lmKGk+PTEpcmV0dXJuIGguZXZlbnQmJmguZXZlbnQuZW5kLmNhbGwodCx0Ll9fZGF0YV9fLGUpLC0tdS5jb3VudD9kZWxldGUgdVtuXTpkZWxldGUgdFtyXSwxfWh8fChpPWEudGltZSxvPVRlKGZ1bmN0aW9uKHQpe3ZhciBlPWguZGVsYXk7aWYoby50PWUraSxlPD10KXJldHVybiBmKHQtZSk7by5jPWZ9LDAsaSksaD11W25dPXt0d2VlbjpuZXcgYix0aW1lOmksdGltZXI6byxkZWxheTphLmRlbGF5LGR1cmF0aW9uOmEuZHVyYXRpb24sZWFzZTphLmVhc2UsaW5kZXg6ZX0sYT1udWxsLCsrdS5jb3VudCl9eXMuY2FsbD1XLmNhbGwseXMuZW1wdHk9Vy5lbXB0eSx5cy5ub2RlPVcubm9kZSx5cy5zaXplPVcuc2l6ZSx0LnRyYW5zaXRpb249ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZSYmZS50cmFuc2l0aW9uP3ZzP2UudHJhbnNpdGlvbihyKTplOnQuc2VsZWN0aW9uKCkudHJhbnNpdGlvbihlKX0sdC50cmFuc2l0aW9uLnByb3RvdHlwZT15cyx5cy5zZWxlY3Q9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9dGhpcy5pZCxpPXRoaXMubmFtZXNwYWNlLG89W107dD1YKHQpO2Zvcih2YXIgcz0tMSxsPXRoaXMubGVuZ3RoOysrczxsOyl7by5wdXNoKGU9W10pO2Zvcih2YXIgYz10aGlzW3NdLHU9LTEsaD1jLmxlbmd0aDsrK3U8aDspKG49Y1t1XSkmJihyPXQuY2FsbChuLG4uX19kYXRhX18sdSxzKSk/KCJfX2RhdGFfXyJpbiBuJiYoci5fX2RhdGFfXz1uLl9fZGF0YV9fKSxrcyhyLHUsaSxhLG5baV1bYV0pLGUucHVzaChyKSk6ZS5wdXNoKG51bGwpfXJldHVybiBncyhvLGksYSl9LHlzLnNlbGVjdEFsbD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG89dGhpcy5pZCxzPXRoaXMubmFtZXNwYWNlLGw9W107dD1aKHQpO2Zvcih2YXIgYz0tMSx1PXRoaXMubGVuZ3RoOysrYzx1Oylmb3IodmFyIGg9dGhpc1tjXSxmPS0xLHA9aC5sZW5ndGg7KytmPHA7KWlmKG49aFtmXSl7aT1uW3NdW29dLHI9dC5jYWxsKG4sbi5fX2RhdGFfXyxmLGMpLGwucHVzaChlPVtdKTtmb3IodmFyIGQ9LTEsZz1yLmxlbmd0aDsrK2Q8ZzspKGE9cltkXSkmJmtzKGEsZCxzLG8saSksZS5wdXNoKGEpfXJldHVybiBncyhsLHMsbyl9LHlzLmZpbHRlcj1mdW5jdGlvbih0KXt2YXIgZSxyLG49W107ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWN0KHQpKTtmb3IodmFyIGE9MCxpPXRoaXMubGVuZ3RoO2E8aTthKyspe24ucHVzaChlPVtdKTtmb3IodmFyIG8scz0wLGw9KG89dGhpc1thXSkubGVuZ3RoO3M8bDtzKyspKHI9b1tzXSkmJnQuY2FsbChyLHIuX19kYXRhX18scyxhKSYmZS5wdXNoKHIpfXJldHVybiBncyhuLHRoaXMubmFtZXNwYWNlLHRoaXMuaWQpfSx5cy50d2Vlbj1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuaWQsbj10aGlzLm5hbWVzcGFjZTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP3RoaXMubm9kZSgpW25dW3JdLnR3ZWVuLmdldCh0KTp1dCh0aGlzLG51bGw9PWU/ZnVuY3Rpb24oZSl7ZVtuXVtyXS50d2Vlbi5yZW1vdmUodCl9OmZ1bmN0aW9uKGEpe2Fbbl1bcl0udHdlZW4uc2V0KHQsZSl9KX0seXMuYXR0cj1mdW5jdGlvbihlLHIpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHIgaW4gZSl0aGlzLmF0dHIocixlW3JdKTtyZXR1cm4gdGhpc312YXIgbj0idHJhbnNmb3JtIj09ZT9taTpLYSxhPXQubnMucXVhbGlmeShlKTtmdW5jdGlvbiBpKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUoYSl9ZnVuY3Rpb24gbygpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlMoYS5zcGFjZSxhLmxvY2FsKX1yZXR1cm4gYnModGhpcywiYXR0ci4iK2UscixhLmxvY2FsP2Z1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P286KHQrPSIiLGZ1bmN0aW9uKCl7dmFyIGUscj10aGlzLmdldEF0dHJpYnV0ZU5TKGEuc3BhY2UsYS5sb2NhbCk7cmV0dXJuIHIhPT10JiYoZT1uKHIsdCksZnVuY3Rpb24odCl7dGhpcy5zZXRBdHRyaWJ1dGVOUyhhLnNwYWNlLGEubG9jYWwsZSh0KSl9KX0pfTpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9pOih0Kz0iIixmdW5jdGlvbigpe3ZhciBlLHI9dGhpcy5nZXRBdHRyaWJ1dGUoYSk7cmV0dXJuIHIhPT10JiYoZT1uKHIsdCksZnVuY3Rpb24odCl7dGhpcy5zZXRBdHRyaWJ1dGUoYSxlKHQpKX0pfSl9KX0seXMuYXR0clR3ZWVuPWZ1bmN0aW9uKGUscil7dmFyIG49dC5ucy5xdWFsaWZ5KGUpO3JldHVybiB0aGlzLnR3ZWVuKCJhdHRyLiIrZSxuLmxvY2FsP2Z1bmN0aW9uKHQsZSl7dmFyIGE9ci5jYWxsKHRoaXMsdCxlLHRoaXMuZ2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsKSk7cmV0dXJuIGEmJmZ1bmN0aW9uKHQpe3RoaXMuc2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsLGEodCkpfX06ZnVuY3Rpb24odCxlKXt2YXIgYT1yLmNhbGwodGhpcyx0LGUsdGhpcy5nZXRBdHRyaWJ1dGUobikpO3JldHVybiBhJiZmdW5jdGlvbih0KXt0aGlzLnNldEF0dHJpYnV0ZShuLGEodCkpfX0pfSx5cy5zdHlsZT1mdW5jdGlvbih0LGUscil7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtpZihuPDMpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl7Zm9yKHIgaW4gbjwyJiYoZT0iIiksdCl0aGlzLnN0eWxlKHIsdFtyXSxlKTtyZXR1cm4gdGhpc31yPSIifWZ1bmN0aW9uIGEoKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfXJldHVybiBicyh0aGlzLCJzdHlsZS4iK3QsZSxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9hOihlKz0iIixmdW5jdGlvbigpe3ZhciBuLGE9byh0aGlzKS5nZXRDb21wdXRlZFN0eWxlKHRoaXMsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSh0KTtyZXR1cm4gYSE9PWUmJihuPUthKGEsZSksZnVuY3Rpb24oZSl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4oZSkscil9KX0pfSl9LHlzLnN0eWxlVHdlZW49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDMmJihyPSIiKSx0aGlzLnR3ZWVuKCJzdHlsZS4iK3QsZnVuY3Rpb24obixhKXt2YXIgaT1lLmNhbGwodGhpcyxuLGEsbyh0aGlzKS5nZXRDb21wdXRlZFN0eWxlKHRoaXMsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSh0KSk7cmV0dXJuIGkmJmZ1bmN0aW9uKGUpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxpKGUpLHIpfX0pfSx5cy50ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBicyh0aGlzLCJ0ZXh0Iix0LF9zKX0seXMucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uYW1lc3BhY2U7cmV0dXJuIHRoaXMuZWFjaCgiZW5kLnRyYW5zaXRpb24iLGZ1bmN0aW9uKCl7dmFyIGU7dGhpc1t0XS5jb3VudDwyJiYoZT10aGlzLnBhcmVudE5vZGUpJiZlLnJlbW92ZUNoaWxkKHRoaXMpfSl9LHlzLmVhc2U9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5pZCxuPXRoaXMubmFtZXNwYWNlO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDE/dGhpcy5ub2RlKClbbl1bcl0uZWFzZTooImZ1bmN0aW9uIiE9dHlwZW9mIGUmJihlPXQuZWFzZS5hcHBseSh0LGFyZ3VtZW50cykpLHV0KHRoaXMsZnVuY3Rpb24odCl7dFtuXVtyXS5lYXNlPWV9KSl9LHlzLmRlbGF5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaWQscj10aGlzLm5hbWVzcGFjZTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwxP3RoaXMubm9kZSgpW3JdW2VdLmRlbGF5OnV0KHRoaXMsImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24obixhLGkpe25bcl1bZV0uZGVsYXk9K3QuY2FsbChuLG4uX19kYXRhX18sYSxpKX06KHQ9K3QsZnVuY3Rpb24obil7bltyXVtlXS5kZWxheT10fSkpfSx5cy5kdXJhdGlvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmlkLHI9dGhpcy5uYW1lc3BhY2U7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MT90aGlzLm5vZGUoKVtyXVtlXS5kdXJhdGlvbjp1dCh0aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKG4sYSxpKXtuW3JdW2VdLmR1cmF0aW9uPU1hdGgubWF4KDEsdC5jYWxsKG4sbi5fX2RhdGFfXyxhLGkpKX06KHQ9TWF0aC5tYXgoMSx0KSxmdW5jdGlvbihuKXtuW3JdW2VdLmR1cmF0aW9uPXR9KSl9LHlzLmVhY2g9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLmlkLGE9dGhpcy5uYW1lc3BhY2U7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT1tcyxvPXZzO3RyeXt2cz1uLHV0KHRoaXMsZnVuY3Rpb24odCxyLGkpe21zPXRbYV1bbl0sZS5jYWxsKHQsdC5fX2RhdGFfXyxyLGkpfSl9ZmluYWxseXttcz1pLHZzPW99fWVsc2UgdXQodGhpcyxmdW5jdGlvbihpKXt2YXIgbz1pW2FdW25dOyhvLmV2ZW50fHwoby5ldmVudD10LmRpc3BhdGNoKCJzdGFydCIsImVuZCIsImludGVycnVwdCIpKSkub24oZSxyKX0pO3JldHVybiB0aGlzfSx5cy50cmFuc2l0aW9uPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGUscixuPXRoaXMuaWQsYT0rK3hzLGk9dGhpcy5uYW1lc3BhY2Usbz1bXSxzPTAsbD10aGlzLmxlbmd0aDtzPGw7cysrKXtvLnB1c2godD1bXSk7Zm9yKHZhciBjLHU9MCxoPShjPXRoaXNbc10pLmxlbmd0aDt1PGg7dSsrKShlPWNbdV0pJiZrcyhlLHUsaSxhLHt0aW1lOihyPWVbaV1bbl0pLnRpbWUsZWFzZTpyLmVhc2UsZGVsYXk6ci5kZWxheStyLmR1cmF0aW9uLGR1cmF0aW9uOnIuZHVyYXRpb259KSx0LnB1c2goZSl9cmV0dXJuIGdzKG8saSxhKX0sdC5zdmcuYXhpcz1mdW5jdGlvbigpe3ZhciBlLHI9dC5zY2FsZS5saW5lYXIoKSxhPVRzLGk9NixvPTYscz0zLGw9WzEwXSxjPW51bGw7ZnVuY3Rpb24gdShuKXtuLmVhY2goZnVuY3Rpb24oKXt2YXIgbix1PXQuc2VsZWN0KHRoaXMpLGg9dGhpcy5fX2NoYXJ0X198fHIsZj10aGlzLl9fY2hhcnRfXz1yLmNvcHkoKSxwPW51bGw9PWM/Zi50aWNrcz9mLnRpY2tzLmFwcGx5KGYsbCk6Zi5kb21haW4oKTpjLGQ9bnVsbD09ZT9mLnRpY2tGb3JtYXQ/Zi50aWNrRm9ybWF0LmFwcGx5KGYsbCk6UDplLGc9dS5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShwLGYpLHY9Zy5lbnRlcigpLmluc2VydCgiZyIsIi5kb21haW4iKS5hdHRyKCJjbGFzcyIsInRpY2siKS5zdHlsZSgib3BhY2l0eSIsa3QpLG09dC50cmFuc2l0aW9uKGcuZXhpdCgpKS5zdHlsZSgib3BhY2l0eSIsa3QpLnJlbW92ZSgpLHk9dC50cmFuc2l0aW9uKGcub3JkZXIoKSkuc3R5bGUoIm9wYWNpdHkiLDEpLHg9TWF0aC5tYXgoaSwwKStzLGI9Zm8oZiksXz11LnNlbGVjdEFsbCgiLmRvbWFpbiIpLmRhdGEoWzBdKSx3PShfLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJkb21haW4iKSx0LnRyYW5zaXRpb24oXykpO3YuYXBwZW5kKCJsaW5lIiksdi5hcHBlbmQoInRleHQiKTt2YXIgayxULE0sQSxTPXYuc2VsZWN0KCJsaW5lIiksRT15LnNlbGVjdCgibGluZSIpLEw9Zy5zZWxlY3QoInRleHQiKS50ZXh0KGQpLEM9di5zZWxlY3QoInRleHQiKSxPPXkuc2VsZWN0KCJ0ZXh0Iiksej0idG9wIj09PWF8fCJsZWZ0Ij09PWE/LTE6MTtpZigiYm90dG9tIj09PWF8fCJ0b3AiPT09YT8obj1BcyxrPSJ4IixNPSJ5IixUPSJ4MiIsQT0ieTIiLEwuYXR0cigiZHkiLHo8MD8iMGVtIjoiLjcxZW0iKS5zdHlsZSgidGV4dC1hbmNob3IiLCJtaWRkbGUiKSx3LmF0dHIoImQiLCJNIitiWzBdKyIsIit6Km8rIlYwSCIrYlsxXSsiViIreipvKSk6KG49U3Msaz0ieSIsTT0ieCIsVD0ieTIiLEE9IngyIixMLmF0dHIoImR5IiwiLjMyZW0iKS5zdHlsZSgidGV4dC1hbmNob3IiLHo8MD8iZW5kIjoic3RhcnQiKSx3LmF0dHIoImQiLCJNIit6Km8rIiwiK2JbMF0rIkgwViIrYlsxXSsiSCIreipvKSksUy5hdHRyKEEseippKSxDLmF0dHIoTSx6KngpLEUuYXR0cihULDApLmF0dHIoQSx6KmkpLE8uYXR0cihrLDApLmF0dHIoTSx6KngpLGYucmFuZ2VCYW5kKXt2YXIgST1mLEQ9SS5yYW5nZUJhbmQoKS8yO2g9Zj1mdW5jdGlvbih0KXtyZXR1cm4gSSh0KStEfX1lbHNlIGgucmFuZ2VCYW5kP2g9ZjptLmNhbGwobixmLGgpO3YuY2FsbChuLGgsZikseS5jYWxsKG4sZixmKX0pfXJldHVybiB1LnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsdSk6cn0sdS5vcmllbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCBpbiBNcz90KyIiOlRzLHUpOmF9LHUudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD1uKGFyZ3VtZW50cyksdSk6bH0sdS50aWNrVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQsdSk6Y30sdS50aWNrRm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsdSk6ZX0sdS50aWNrU2l6ZT1mdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoO3JldHVybiBlPyhpPSt0LG89K2FyZ3VtZW50c1tlLTFdLHUpOml9LHUuaW5uZXJUaWNrU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCx1KTppfSx1Lm91dGVyVGlja1NpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3QsdSk6b30sdS50aWNrUGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdCx1KTpzfSx1LnRpY2tTdWJkaXZpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCYmdX0sdX07dmFyIFRzPSJib3R0b20iLE1zPXt0b3A6MSxyaWdodDoxLGJvdHRvbToxLGxlZnQ6MX07ZnVuY3Rpb24gQXModCxlLHIpe3QuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXt2YXIgbj1lKHQpO3JldHVybiJ0cmFuc2xhdGUoIisoaXNGaW5pdGUobik/bjpyKHQpKSsiLDApIn0pfWZ1bmN0aW9uIFNzKHQsZSxyKXt0LmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7dmFyIG49ZSh0KTtyZXR1cm4idHJhbnNsYXRlKDAsIisoaXNGaW5pdGUobik/bjpyKHQpKSsiKSJ9KX10LnN2Zy5icnVzaD1mdW5jdGlvbigpe3ZhciBlLHIsbj1qKGYsImJydXNoc3RhcnQiLCJicnVzaCIsImJydXNoZW5kIiksYT1udWxsLGk9bnVsbCxzPVswLDBdLGw9WzAsMF0sYz0hMCx1PSEwLGg9THNbMF07ZnVuY3Rpb24gZihlKXtlLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10LnNlbGVjdCh0aGlzKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpLm9uKCJtb3VzZWRvd24uYnJ1c2giLHYpLm9uKCJ0b3VjaHN0YXJ0LmJydXNoIix2KSxyPWUuc2VsZWN0QWxsKCIuYmFja2dyb3VuZCIpLmRhdGEoWzBdKTtyLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJiYWNrZ3JvdW5kIikuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKS5zdHlsZSgiY3Vyc29yIiwiY3Jvc3NoYWlyIiksZS5zZWxlY3RBbGwoIi5leHRlbnQiKS5kYXRhKFswXSkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsImV4dGVudCIpLnN0eWxlKCJjdXJzb3IiLCJtb3ZlIik7dmFyIG49ZS5zZWxlY3RBbGwoIi5yZXNpemUiKS5kYXRhKGgsUCk7bi5leGl0KCkucmVtb3ZlKCksbi5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIixmdW5jdGlvbih0KXtyZXR1cm4icmVzaXplICIrdH0pLnN0eWxlKCJjdXJzb3IiLGZ1bmN0aW9uKHQpe3JldHVybiBFc1t0XX0pLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybi9bZXddJC8udGVzdCh0KT8tMzpudWxsfSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuL15bbnNdLy50ZXN0KHQpPy0zOm51bGx9KS5hdHRyKCJ3aWR0aCIsNikuYXR0cigiaGVpZ2h0Iiw2KS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpLG4uc3R5bGUoImRpc3BsYXkiLGYuZW1wdHkoKT8ibm9uZSI6bnVsbCk7dmFyIG8scz10LnRyYW5zaXRpb24oZSksbD10LnRyYW5zaXRpb24ocik7YSYmKG89Zm8oYSksbC5hdHRyKCJ4IixvWzBdKS5hdHRyKCJ3aWR0aCIsb1sxXS1vWzBdKSxkKHMpKSxpJiYobz1mbyhpKSxsLmF0dHIoInkiLG9bMF0pLmF0dHIoImhlaWdodCIsb1sxXS1vWzBdKSxnKHMpKSxwKHMpfSl9ZnVuY3Rpb24gcCh0KXt0LnNlbGVjdEFsbCgiLnJlc2l6ZSIpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3NbKy9lJC8udGVzdCh0KV0rIiwiK2xbKy9ecy8udGVzdCh0KV0rIikifSl9ZnVuY3Rpb24gZCh0KXt0LnNlbGVjdCgiLmV4dGVudCIpLmF0dHIoIngiLHNbMF0pLHQuc2VsZWN0QWxsKCIuZXh0ZW50LC5uPnJlY3QsLnM+cmVjdCIpLmF0dHIoIndpZHRoIixzWzFdLXNbMF0pfWZ1bmN0aW9uIGcodCl7dC5zZWxlY3QoIi5leHRlbnQiKS5hdHRyKCJ5IixsWzBdKSx0LnNlbGVjdEFsbCgiLmV4dGVudCwuZT5yZWN0LC53PnJlY3QiKS5hdHRyKCJoZWlnaHQiLGxbMV0tbFswXSl9ZnVuY3Rpb24gdigpe3ZhciBoLHYsbT10aGlzLHk9dC5zZWxlY3QodC5ldmVudC50YXJnZXQpLHg9bi5vZihtLGFyZ3VtZW50cyksYj10LnNlbGVjdChtKSxfPXkuZGF0dW0oKSx3PSEvXihufHMpJC8udGVzdChfKSYmYSxrPSEvXihlfHcpJC8udGVzdChfKSYmaSxUPXkuY2xhc3NlZCgiZXh0ZW50IiksTT14dChtKSxBPXQubW91c2UobSksUz10LnNlbGVjdChvKG0pKS5vbigia2V5ZG93bi5icnVzaCIsZnVuY3Rpb24oKXszMj09dC5ldmVudC5rZXlDb2RlJiYoVHx8KGg9bnVsbCxBWzBdLT1zWzFdLEFbMV0tPWxbMV0sVD0yKSxCKCkpfSkub24oImtleXVwLmJydXNoIixmdW5jdGlvbigpezMyPT10LmV2ZW50LmtleUNvZGUmJjI9PVQmJihBWzBdKz1zWzFdLEFbMV0rPWxbMV0sVD0wLEIoKSl9KTtpZih0LmV2ZW50LmNoYW5nZWRUb3VjaGVzP1Mub24oInRvdWNobW92ZS5icnVzaCIsQykub24oInRvdWNoZW5kLmJydXNoIixPKTpTLm9uKCJtb3VzZW1vdmUuYnJ1c2giLEMpLm9uKCJtb3VzZXVwLmJydXNoIixPKSxiLmludGVycnVwdCgpLnNlbGVjdEFsbCgiKiIpLmludGVycnVwdCgpLFQpQVswXT1zWzBdLUFbMF0sQVsxXT1sWzBdLUFbMV07ZWxzZSBpZihfKXt2YXIgRT0rL3ckLy50ZXN0KF8pLEw9Ky9ebi8udGVzdChfKTt2PVtzWzEtRV0tQVswXSxsWzEtTF0tQVsxXV0sQVswXT1zW0VdLEFbMV09bFtMXX1lbHNlIHQuZXZlbnQuYWx0S2V5JiYoaD1BLnNsaWNlKCkpO2Z1bmN0aW9uIEMoKXt2YXIgZT10Lm1vdXNlKG0pLHI9ITE7diYmKGVbMF0rPXZbMF0sZVsxXSs9dlsxXSksVHx8KHQuZXZlbnQuYWx0S2V5PyhofHwoaD1bKHNbMF0rc1sxXSkvMiwobFswXStsWzFdKS8yXSksQVswXT1zWysoZVswXTxoWzBdKV0sQVsxXT1sWysoZVsxXTxoWzFdKV0pOmg9bnVsbCksdyYmUChlLGEsMCkmJihkKGIpLHI9ITApLGsmJlAoZSxpLDEpJiYoZyhiKSxyPSEwKSxyJiYocChiKSx4KHt0eXBlOiJicnVzaCIsbW9kZTpUPyJtb3ZlIjoicmVzaXplIn0pKX1mdW5jdGlvbiBQKHQsbixhKXt2YXIgaSxvLGY9Zm8obikscD1mWzBdLGQ9ZlsxXSxnPUFbYV0sdj1hP2w6cyxtPXZbMV0tdlswXTtpZihUJiYocC09ZyxkLT1tK2cpLGk9KGE/dTpjKT9NYXRoLm1heChwLE1hdGgubWluKGQsdFthXSkpOnRbYV0sVD9vPShpKz1nKSttOihoJiYoZz1NYXRoLm1heChwLE1hdGgubWluKGQsMipoW2FdLWkpKSksZzxpPyhvPWksaT1nKTpvPWcpLHZbMF0hPWl8fHZbMV0hPW8pcmV0dXJuIGE/cj1udWxsOmU9bnVsbCx2WzBdPWksdlsxXT1vLCEwfWZ1bmN0aW9uIE8oKXtDKCksYi5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKS5zZWxlY3RBbGwoIi5yZXNpemUiKS5zdHlsZSgiZGlzcGxheSIsZi5lbXB0eSgpPyJub25lIjpudWxsKSx0LnNlbGVjdCgiYm9keSIpLnN0eWxlKCJjdXJzb3IiLG51bGwpLFMub24oIm1vdXNlbW92ZS5icnVzaCIsbnVsbCkub24oIm1vdXNldXAuYnJ1c2giLG51bGwpLm9uKCJ0b3VjaG1vdmUuYnJ1c2giLG51bGwpLm9uKCJ0b3VjaGVuZC5icnVzaCIsbnVsbCkub24oImtleWRvd24uYnJ1c2giLG51bGwpLm9uKCJrZXl1cC5icnVzaCIsbnVsbCksTSgpLHgoe3R5cGU6ImJydXNoZW5kIn0pfWIuc3R5bGUoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpLnNlbGVjdEFsbCgiLnJlc2l6ZSIpLnN0eWxlKCJkaXNwbGF5IixudWxsKSx0LnNlbGVjdCgiYm9keSIpLnN0eWxlKCJjdXJzb3IiLHkuc3R5bGUoImN1cnNvciIpKSx4KHt0eXBlOiJicnVzaHN0YXJ0In0pLEMoKX1yZXR1cm4gZi5ldmVudD1mdW5jdGlvbihhKXthLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1uLm9mKHRoaXMsYXJndW1lbnRzKSxpPXt4OnMseTpsLGk6ZSxqOnJ9LG89dGhpcy5fX2NoYXJ0X198fGk7dGhpcy5fX2NoYXJ0X189aSx2cz90LnNlbGVjdCh0aGlzKS50cmFuc2l0aW9uKCkuZWFjaCgic3RhcnQuYnJ1c2giLGZ1bmN0aW9uKCl7ZT1vLmkscj1vLmoscz1vLngsbD1vLnksYSh7dHlwZToiYnJ1c2hzdGFydCJ9KX0pLnR3ZWVuKCJicnVzaDpicnVzaCIsZnVuY3Rpb24oKXt2YXIgdD1RYShzLGkueCksbj1RYShsLGkueSk7cmV0dXJuIGU9cj1udWxsLGZ1bmN0aW9uKGUpe3M9aS54PXQoZSksbD1pLnk9bihlKSxhKHt0eXBlOiJicnVzaCIsbW9kZToicmVzaXplIn0pfX0pLmVhY2goImVuZC5icnVzaCIsZnVuY3Rpb24oKXtlPWkuaSxyPWkuaixhKHt0eXBlOiJicnVzaCIsbW9kZToicmVzaXplIn0pLGEoe3R5cGU6ImJydXNoZW5kIn0pfSk6KGEoe3R5cGU6ImJydXNoc3RhcnQifSksYSh7dHlwZToiYnJ1c2giLG1vZGU6InJlc2l6ZSJ9KSxhKHt0eXBlOiJicnVzaGVuZCJ9KSl9KX0sZi54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPUxzWyEoYT10KTw8MXwhaV0sZik6YX0sZi55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPUxzWyFhPDwxfCEoaT10KV0sZik6aX0sZi5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSYmaT8oYz0hIXRbMF0sdT0hIXRbMV0pOmE/Yz0hIXQ6aSYmKHU9ISF0KSxmKTphJiZpP1tjLHVdOmE/YzppP3U6bnVsbH0sZi5leHRlbnQ9ZnVuY3Rpb24odCl7dmFyIG4sbyxjLHUsaDtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSYmKG49dFswXSxvPXRbMV0saSYmKG49blswXSxvPW9bMF0pLGU9W24sb10sYS5pbnZlcnQmJihuPWEobiksbz1hKG8pKSxvPG4mJihoPW4sbj1vLG89aCksbj09c1swXSYmbz09c1sxXXx8KHM9W24sb10pKSxpJiYoYz10WzBdLHU9dFsxXSxhJiYoYz1jWzFdLHU9dVsxXSkscj1bYyx1XSxpLmludmVydCYmKGM9aShjKSx1PWkodSkpLHU8YyYmKGg9YyxjPXUsdT1oKSxjPT1sWzBdJiZ1PT1sWzFdfHwobD1bYyx1XSkpLGYpOihhJiYoZT8obj1lWzBdLG89ZVsxXSk6KG49c1swXSxvPXNbMV0sYS5pbnZlcnQmJihuPWEuaW52ZXJ0KG4pLG89YS5pbnZlcnQobykpLG88biYmKGg9bixuPW8sbz1oKSkpLGkmJihyPyhjPXJbMF0sdT1yWzFdKTooYz1sWzBdLHU9bFsxXSxpLmludmVydCYmKGM9aS5pbnZlcnQoYyksdT1pLmludmVydCh1KSksdTxjJiYoaD1jLGM9dSx1PWgpKSksYSYmaT9bW24sY10sW28sdV1dOmE/W24sb106aSYmW2MsdV0pfSxmLmNsZWFyPWZ1bmN0aW9uKCl7cmV0dXJuIGYuZW1wdHkoKXx8KHM9WzAsMF0sbD1bMCwwXSxlPXI9bnVsbCksZn0sZi5lbXB0eT1mdW5jdGlvbigpe3JldHVybiEhYSYmc1swXT09c1sxXXx8ISFpJiZsWzBdPT1sWzFdfSx0LnJlYmluZChmLG4sIm9uIil9O3ZhciBFcz17bjoibnMtcmVzaXplIixlOiJldy1yZXNpemUiLHM6Im5zLXJlc2l6ZSIsdzoiZXctcmVzaXplIixudzoibndzZS1yZXNpemUiLG5lOiJuZXN3LXJlc2l6ZSIsc2U6Im53c2UtcmVzaXplIixzdzoibmVzdy1yZXNpemUifSxMcz1bWyJuIiwiZSIsInMiLCJ3IiwibnciLCJuZSIsInNlIiwic3ciXSxbImUiLCJ3Il0sWyJuIiwicyJdLFtdXSxDcz1JZS5mb3JtYXQ9Y3IudGltZUZvcm1hdCxQcz1Dcy51dGMsT3M9UHMoIiVZLSVtLSVkVCVIOiVNOiVTLiVMWiIpO2Z1bmN0aW9uIHpzKHQpe3JldHVybiB0LnRvSVNPU3RyaW5nKCl9ZnVuY3Rpb24gSXMoZSxyLG4pe2Z1bmN0aW9uIGEodCl7cmV0dXJuIGUodCl9ZnVuY3Rpb24gaShlLG4pe3ZhciBhPShlWzFdLWVbMF0pL24saT10LmJpc2VjdChScyxhKTtyZXR1cm4gaT09UnMubGVuZ3RoP1tyLnllYXIsX28oZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQvMzE1MzZlNn0pLG4pWzJdXTppP3JbYS9Sc1tpLTFdPFJzW2ldL2E/aS0xOmldOltOcyxfbyhlLG4pWzJdXX1yZXR1cm4gYS5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIERzKGUuaW52ZXJ0KHQpKX0sYS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGUuZG9tYWluKHQpLGEpOmUuZG9tYWluKCkubWFwKERzKX0sYS5uaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9YS5kb21haW4oKSxuPWhvKHIpLG89bnVsbD09dD9pKG4sMTApOiJudW1iZXIiPT10eXBlb2YgdCYmaShuLHQpO2Z1bmN0aW9uIHMocil7cmV0dXJuIWlzTmFOKHIpJiYhdC5yYW5nZShyLERzKCtyKzEpLGUpLmxlbmd0aH1yZXR1cm4gbyYmKHQ9b1swXSxlPW9bMV0pLGEuZG9tYWluKGdvKHIsZT4xP3tmbG9vcjpmdW5jdGlvbihlKXtmb3IoO3MoZT10LmZsb29yKGUpKTspZT1EcyhlLTEpO3JldHVybiBlfSxjZWlsOmZ1bmN0aW9uKGUpe2Zvcig7cyhlPXQuY2VpbChlKSk7KWU9RHMoK2UrMSk7cmV0dXJuIGV9fTp0KSl9LGEudGlja3M9ZnVuY3Rpb24odCxlKXt2YXIgcj1obyhhLmRvbWFpbigpKSxuPW51bGw9PXQ/aShyLDEwKToibnVtYmVyIj09dHlwZW9mIHQ/aShyLHQpOiF0LnJhbmdlJiZbe3JhbmdlOnR9LGVdO3JldHVybiBuJiYodD1uWzBdLGU9blsxXSksdC5yYW5nZShyWzBdLERzKCtyWzFdKzEpLGU8MT8xOmUpfSxhLnRpY2tGb3JtYXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbn0sYS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIElzKGUuY29weSgpLHIsbil9LHhvKGEsZSl9ZnVuY3Rpb24gRHModCl7cmV0dXJuIG5ldyBEYXRlKHQpfUNzLmlzbz1EYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyYmK25ldyBEYXRlKCIyMDAwLTAxLTAxVDAwOjAwOjAwLjAwMFoiKT96czpPcyx6cy5wYXJzZT1mdW5jdGlvbih0KXt2YXIgZT1uZXcgRGF0ZSh0KTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfSx6cy50b1N0cmluZz1Pcy50b1N0cmluZyxJZS5zZWNvbmQ9QmUoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBEZSgxZTMqTWF0aC5mbG9vcih0LzFlMykpfSxmdW5jdGlvbih0LGUpe3Quc2V0VGltZSh0LmdldFRpbWUoKSsxZTMqTWF0aC5mbG9vcihlKSl9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFNlY29uZHMoKX0pLEllLnNlY29uZHM9SWUuc2Vjb25kLnJhbmdlLEllLnNlY29uZHMudXRjPUllLnNlY29uZC51dGMucmFuZ2UsSWUubWludXRlPUJlKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRGUoNmU0Kk1hdGguZmxvb3IodC82ZTQpKX0sZnVuY3Rpb24odCxlKXt0LnNldFRpbWUodC5nZXRUaW1lKCkrNmU0Kk1hdGguZmxvb3IoZSkpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNaW51dGVzKCl9KSxJZS5taW51dGVzPUllLm1pbnV0ZS5yYW5nZSxJZS5taW51dGVzLnV0Yz1JZS5taW51dGUudXRjLnJhbmdlLEllLmhvdXI9QmUoZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRUaW1lem9uZU9mZnNldCgpLzYwO3JldHVybiBuZXcgRGUoMzZlNSooTWF0aC5mbG9vcih0LzM2ZTUtZSkrZSkpfSxmdW5jdGlvbih0LGUpe3Quc2V0VGltZSh0LmdldFRpbWUoKSszNmU1Kk1hdGguZmxvb3IoZSkpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRIb3VycygpfSksSWUuaG91cnM9SWUuaG91ci5yYW5nZSxJZS5ob3Vycy51dGM9SWUuaG91ci51dGMucmFuZ2UsSWUubW9udGg9QmUoZnVuY3Rpb24odCl7cmV0dXJuKHQ9SWUuZGF5KHQpKS5zZXREYXRlKDEpLHR9LGZ1bmN0aW9uKHQsZSl7dC5zZXRNb250aCh0LmdldE1vbnRoKCkrZSl9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1vbnRoKCl9KSxJZS5tb250aHM9SWUubW9udGgucmFuZ2UsSWUubW9udGhzLnV0Yz1JZS5tb250aC51dGMucmFuZ2U7dmFyIFJzPVsxZTMsNWUzLDE1ZTMsM2U0LDZlNCwzZTUsOWU1LDE4ZTUsMzZlNSwxMDhlNSwyMTZlNSw0MzJlNSw4NjRlNSwxNzI4ZTUsNjA0OGU1LDI1OTJlNiw3Nzc2ZTYsMzE1MzZlNl0sRnM9W1tJZS5zZWNvbmQsMV0sW0llLnNlY29uZCw1XSxbSWUuc2Vjb25kLDE1XSxbSWUuc2Vjb25kLDMwXSxbSWUubWludXRlLDFdLFtJZS5taW51dGUsNV0sW0llLm1pbnV0ZSwxNV0sW0llLm1pbnV0ZSwzMF0sW0llLmhvdXIsMV0sW0llLmhvdXIsM10sW0llLmhvdXIsNl0sW0llLmhvdXIsMTJdLFtJZS5kYXksMV0sW0llLmRheSwyXSxbSWUud2VlaywxXSxbSWUubW9udGgsMV0sW0llLm1vbnRoLDNdLFtJZS55ZWFyLDFdXSxCcz1Dcy5tdWx0aShbWyIuJUwiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbGxpc2Vjb25kcygpfV0sWyI6JVMiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFNlY29uZHMoKX1dLFsiJUk6JU0iLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbnV0ZXMoKX1dLFsiJUkgJXAiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEhvdXJzKCl9XSxbIiVhICVkIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXkoKSYmMSE9dC5nZXREYXRlKCl9XSxbIiViICVkIixmdW5jdGlvbih0KXtyZXR1cm4gMSE9dC5nZXREYXRlKCl9XSxbIiVCIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNb250aCgpfV0sWyIlWSIsWHJdXSksTnM9e3JhbmdlOmZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdC5yYW5nZShNYXRoLmNlaWwoZS9uKSpuLCtyLG4pLm1hcChEcyl9LGZsb29yOlAsY2VpbDpQfTtGcy55ZWFyPUllLnllYXIsSWUuc2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gSXModC5zY2FsZS5saW5lYXIoKSxGcyxCcyl9O3ZhciBqcz1Gcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuW3RbMF0udXRjLHRbMV1dfSksVnM9UHMubXVsdGkoW1siLiVMIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaWxsaXNlY29uZHMoKX1dLFsiOiVTIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENTZWNvbmRzKCl9XSxbIiVJOiVNIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaW51dGVzKCl9XSxbIiVJICVwIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENIb3VycygpfV0sWyIlYSAlZCIsZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRGF5KCkmJjEhPXQuZ2V0VVRDRGF0ZSgpfV0sWyIlYiAlZCIsZnVuY3Rpb24odCl7cmV0dXJuIDEhPXQuZ2V0VVRDRGF0ZSgpfV0sWyIlQiIsZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDTW9udGgoKX1dLFsiJVkiLFhyXV0pO2Z1bmN0aW9uIFVzKHQpe3JldHVybiBKU09OLnBhcnNlKHQucmVzcG9uc2VUZXh0KX1mdW5jdGlvbiBxcyh0KXt2YXIgZT1hLmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGUuc2VsZWN0Tm9kZShhLmJvZHkpLGUuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHQucmVzcG9uc2VUZXh0KX1qcy55ZWFyPUllLnllYXIudXRjLEllLnNjYWxlLnV0Yz1mdW5jdGlvbigpe3JldHVybiBJcyh0LnNjYWxlLmxpbmVhcigpLGpzLFZzKX0sdC50ZXh0PW1lKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlc3BvbnNlVGV4dH0pLHQuanNvbj1mdW5jdGlvbih0LGUpe3JldHVybiB5ZSh0LCJhcHBsaWNhdGlvbi9qc29uIixVcyxlKX0sdC5odG1sPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHllKHQsInRleHQvaHRtbCIscXMsZSl9LHQueG1sPW1lKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlc3BvbnNlWE1MfSksIm9iamVjdCI9PXR5cGVvZiBlJiZlLmV4cG9ydHM/ZS5leHBvcnRzPXQ6dGhpcy5kMz10fSgpfSx7fV0sMTY2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylpZih2b2lkIDAhPT1hcmd1bWVudHNbdF0pcmV0dXJuIGFyZ3VtZW50c1t0XX19LHt9XSwxNjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiaW5jcmVtZW50YWwtY29udmV4LWh1bGwiKSxhPXQoInVuaXEiKTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5wb2ludD10LHRoaXMuaW5kZXg9ZX1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByPXQucG9pbnQsbj1lLnBvaW50LGE9ci5sZW5ndGgsaT0wO2k8YTsrK2kpe3ZhciBvPW5baV0tcltpXTtpZihvKXJldHVybiBvfXJldHVybiAwfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQubGVuZ3RoO2lmKDA9PT1yKXJldHVybltdO3ZhciBzPXRbMF0ubGVuZ3RoO2lmKHM8MSlyZXR1cm5bXTtpZigxPT09cylyZXR1cm4gZnVuY3Rpb24odCxlLHIpe2lmKDE9PT10KXJldHVybiByP1tbLTEsMF1dOltdO3ZhciBuPWUubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuW3RbMF0sZV19KTtuLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSk7Zm9yKHZhciBhPW5ldyBBcnJheSh0LTEpLGk9MTtpPHQ7KytpKXt2YXIgbz1uW2ktMV0scz1uW2ldO2FbaS0xXT1bb1sxXSxzWzFdXX1yJiZhLnB1c2goWy0xLGFbMF1bMV1dLFthW3QtMV1bMV0sLTFdKTtyZXR1cm4gYX0ocix0LGUpO2Zvcih2YXIgbD1uZXcgQXJyYXkociksYz0xLHU9MDt1PHI7Kyt1KXtmb3IodmFyIGg9dFt1XSxmPW5ldyBBcnJheShzKzEpLHA9MCxkPTA7ZDxzOysrZCl7dmFyIGc9aFtkXTtmW2RdPWcscCs9ZypnfWZbc109cCxsW3VdPW5ldyBpKGYsdSksYz1NYXRoLm1heChwLGMpfWEobCxvKSxyPWwubGVuZ3RoO2Zvcih2YXIgdj1uZXcgQXJyYXkocitzKzEpLG09bmV3IEFycmF5KHIrcysxKSx5PShzKzEpKihzKzEpKmMseD1uZXcgQXJyYXkocysxKSx1PTA7dTw9czsrK3UpeFt1XT0wO3hbc109eSx2WzBdPXguc2xpY2UoKSxtWzBdPS0xO2Zvcih2YXIgdT0wO3U8PXM7Kyt1KXt2YXIgZj14LnNsaWNlKCk7Zlt1XT0xLHZbdSsxXT1mLG1bdSsxXT0tMX1mb3IodmFyIHU9MDt1PHI7Kyt1KXt2YXIgYj1sW3VdO3ZbdStzKzFdPWIucG9pbnQsbVt1K3MrMV09Yi5pbmRleH12YXIgXz1uKHYsITEpO189ZT9fLmZpbHRlcihmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPTA7cjw9czsrK3Ipe3ZhciBuPW1bdFtyXV07aWYobjwwJiYrK2U+PTIpcmV0dXJuITE7dFtyXT1ufXJldHVybiEwfSk6Xy5maWx0ZXIoZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw9czsrK2Upe3ZhciByPW1bdFtlXV07aWYocjwwKXJldHVybiExO3RbZV09cn1yZXR1cm4hMH0pO2lmKDEmcylmb3IodmFyIHU9MDt1PF8ubGVuZ3RoOysrdSl7dmFyIGI9X1t1XSxmPWJbMF07YlswXT1iWzFdLGJbMV09Zn1yZXR1cm4gX319LHsiaW5jcmVtZW50YWwtY29udmV4LWh1bGwiOjQxNSx1bmlxOjU0Nn1dLDE2ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9aTt2YXIgbj0oaS5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikpLmdldENvbnRleHQoIjJkIiksYT1vKFszMiwxMjZdKTtmdW5jdGlvbiBpKHQsZSl7QXJyYXkuaXNBcnJheSh0KSYmKHQ9dC5qb2luKCIsICIpKTt2YXIgcixpPXt9LHM9MTYsbD0uMDU7ZSYmKDI9PT1lLmxlbmd0aCYmIm51bWJlciI9PXR5cGVvZiBlWzBdP3I9byhlKTpBcnJheS5pc0FycmF5KGUpP3I9ZTooZS5vP3I9byhlLm8pOmUucGFpcnMmJihyPWUucGFpcnMpLGUuZm9udFNpemUmJihzPWUuZm9udFNpemUpLG51bGwhPWUudGhyZXNob2xkJiYobD1lLnRocmVzaG9sZCkpKSxyfHwocj1hKSxuLmZvbnQ9cysicHggIit0O2Zvcih2YXIgYz0wO2M8ci5sZW5ndGg7YysrKXt2YXIgdT1yW2NdLGg9bi5tZWFzdXJlVGV4dCh1WzBdKS53aWR0aCtuLm1lYXN1cmVUZXh0KHVbMV0pLndpZHRoLGY9bi5tZWFzdXJlVGV4dCh1KS53aWR0aDtpZihNYXRoLmFicyhoLWYpPnMqbCl7dmFyIHA9KGYtaCkvcztpW3VdPTFlMypwfX1yZXR1cm4gaX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT1bXSxyPXRbMF07cjw9dFsxXTtyKyspZm9yKHZhciBuPVN0cmluZy5mcm9tQ2hhckNvZGUociksYT10WzBdO2E8dFsxXTthKyspe3ZhciBpPW4rU3RyaW5nLmZyb21DaGFyQ29kZShhKTtlLnB1c2goaSl9cmV0dXJuIGV9aS5jcmVhdGVQYWlycz1vLGkuYXNjaWk9YX0se31dLDE2OTpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgcj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEZsb2F0NjRBcnJheSl7dmFyIG49bmV3IEZsb2F0NjRBcnJheSgxKSxhPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7aWYoblswXT0xLHI9ITAsMTA3MjY5MzI0OD09PWFbMV0pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LFthWzBdLGFbMV1dfSxlLmV4cG9ydHMucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiBhWzBdPXQsYVsxXT1lLG5bMF19LGUuZXhwb3J0cy5sbz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMF19LGUuZXhwb3J0cy5oaT1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMV19fWVsc2UgaWYoMTA3MjY5MzI0OD09PWFbMF0pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LFthWzFdLGFbMF1dfSxlLmV4cG9ydHMucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiBhWzFdPXQsYVswXT1lLG5bMF19LGUuZXhwb3J0cy5sbz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMV19LGUuZXhwb3J0cy5oaT1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMF19fWVsc2Ugcj0hMX1pZighcil7dmFyIGk9bmV3IHQoOCk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpLndyaXRlRG91YmxlTEUodCwwLCEwKSxbaS5yZWFkVUludDMyTEUoMCwhMCksaS5yZWFkVUludDMyTEUoNCwhMCldfSxlLmV4cG9ydHMucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiBpLndyaXRlVUludDMyTEUodCwwLCEwKSxpLndyaXRlVUludDMyTEUoZSw0LCEwKSxpLnJlYWREb3VibGVMRSgwLCEwKX0sZS5leHBvcnRzLmxvPWZ1bmN0aW9uKHQpe3JldHVybiBpLndyaXRlRG91YmxlTEUodCwwLCEwKSxpLnJlYWRVSW50MzJMRSgwLCEwKX0sZS5leHBvcnRzLmhpPWZ1bmN0aW9uKHQpe3JldHVybiBpLndyaXRlRG91YmxlTEUodCwwLCEwKSxpLnJlYWRVSW50MzJMRSg0LCEwKX19ZS5leHBvcnRzLnNpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGUuZXhwb3J0cy5oaSh0KT4+PjMxfSxlLmV4cG9ydHMuZXhwb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuKGUuZXhwb3J0cy5oaSh0KTw8MT4+PjIxKS0xMDIzfSxlLmV4cG9ydHMuZnJhY3Rpb249ZnVuY3Rpb24odCl7dmFyIHI9ZS5leHBvcnRzLmxvKHQpLG49ZS5leHBvcnRzLmhpKHQpLGE9MTA0ODU3NSZuO3JldHVybiAyMTQ2NDM1MDcyJm4mJihhKz0xPDwyMCksW3IsYV19LGUuZXhwb3J0cy5kZW5vcm1hbGl6ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuISgyMTQ2NDM1MDcyJmUuZXhwb3J0cy5oaSh0KSl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6MTA3fV0sMTcwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYWJzLXN2Zy1wYXRoIiksYT10KCJub3JtYWxpemUtc3ZnLXBhdGgiKSxpPXtNOiJtb3ZlVG8iLEM6ImJlemllckN1cnZlVG8ifTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LmJlZ2luUGF0aCgpLGEobihlKSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1lWzBdLG49ZS5zbGljZSgxKTt0W2lbcl1dLmFwcGx5KHQsbil9KSx0LmNsb3NlUGF0aCgpfX0seyJhYnMtc3ZnLXBhdGgiOjYzLCJub3JtYWxpemUtc3ZnLXBhdGgiOjQ1NH1dLDE3MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJpbnQ4IjpyZXR1cm4gSW50OEFycmF5O2Nhc2UiaW50MTYiOnJldHVybiBJbnQxNkFycmF5O2Nhc2UiaW50MzIiOnJldHVybiBJbnQzMkFycmF5O2Nhc2UidWludDgiOnJldHVybiBVaW50OEFycmF5O2Nhc2UidWludDE2IjpyZXR1cm4gVWludDE2QXJyYXk7Y2FzZSJ1aW50MzIiOnJldHVybiBVaW50MzJBcnJheTtjYXNlImZsb2F0MzIiOnJldHVybiBGbG9hdDMyQXJyYXk7Y2FzZSJmbG9hdDY0IjpyZXR1cm4gRmxvYXQ2NEFycmF5O2Nhc2UiYXJyYXkiOnJldHVybiBBcnJheTtjYXNlInVpbnQ4X2NsYW1wZWQiOnJldHVybiBVaW50OENsYW1wZWRBcnJheX19fSx7fV0sMTcyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3N3aXRjaCgidW5kZWZpbmVkIj09dHlwZW9mIGUmJihlPTApLHR5cGVvZiB0KXtjYXNlIm51bWJlciI6aWYodD4wKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByLG47Zm9yKHI9bmV3IEFycmF5KHQpLG49MDtuPHQ7KytuKXJbbl09ZTtyZXR1cm4gcn0oMHx0LGUpO2JyZWFrO2Nhc2Uib2JqZWN0IjppZigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXJldHVybiBmdW5jdGlvbiB0KGUscixuKXt2YXIgYT0wfGVbbl07aWYoYTw9MClyZXR1cm5bXTt2YXIgaSxvPW5ldyBBcnJheShhKTtpZihuPT09ZS5sZW5ndGgtMSlmb3IoaT0wO2k8YTsrK2kpb1tpXT1yO2Vsc2UgZm9yKGk9MDtpPGE7KytpKW9baV09dChlLHIsbisxKTtyZXR1cm4gb30odCxlLDApfXJldHVybltdfX0se31dLDE3MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxyKXtyPXJ8fDI7dmFyIG4scyxsLGMsdSxwLGQsdj1lJiZlLmxlbmd0aCxtPXY/ZVswXSpyOnQubGVuZ3RoLHk9YSh0LDAsbSxyLCEwKSx4PVtdO2lmKCF5fHx5Lm5leHQ9PT15LnByZXYpcmV0dXJuIHg7aWYodiYmKHk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIG8scyxsLGMsdSxwPVtdO2ZvcihvPTAscz1lLmxlbmd0aDtvPHM7bysrKWw9ZVtvXSpuLGM9bzxzLTE/ZVtvKzFdKm46dC5sZW5ndGgsKHU9YSh0LGwsYyxuLCExKSk9PT11Lm5leHQmJih1LnN0ZWluZXI9ITApLHAucHVzaChnKHUpKTtmb3IocC5zb3J0KGgpLG89MDtvPHAubGVuZ3RoO28rKylmKHBbb10scikscj1pKHIsci5uZXh0KTtyZXR1cm4gcn0odCxlLHkscikpLHQubGVuZ3RoPjgwKnIpe249bD10WzBdLHM9Yz10WzFdO2Zvcih2YXIgYj1yO2I8bTtiKz1yKSh1PXRbYl0pPG4mJihuPXUpLChwPXRbYisxXSk8cyYmKHM9cCksdT5sJiYobD11KSxwPmMmJihjPXApO2Q9MCE9PShkPU1hdGgubWF4KGwtbixjLXMpKT8xL2Q6MH1yZXR1cm4gbyh5LHgscixuLHMsZCkseH1mdW5jdGlvbiBhKHQsZSxyLG4sYSl7dmFyIGksbztpZihhPT09RSh0LGUscixuKT4wKWZvcihpPWU7aTxyO2krPW4pbz1NKGksdFtpXSx0W2krMV0sbyk7ZWxzZSBmb3IoaT1yLW47aT49ZTtpLT1uKW89TShpLHRbaV0sdFtpKzFdLG8pO3JldHVybiBvJiZ4KG8sby5uZXh0KSYmKEEobyksbz1vLm5leHQpLG99ZnVuY3Rpb24gaSh0LGUpe2lmKCF0KXJldHVybiB0O2V8fChlPXQpO3ZhciByLG49dDtkb3tpZihyPSExLG4uc3RlaW5lcnx8IXgobixuLm5leHQpJiYwIT09eShuLnByZXYsbixuLm5leHQpKW49bi5uZXh0O2Vsc2V7aWYoQShuKSwobj1lPW4ucHJldik9PT1uLm5leHQpYnJlYWs7cj0hMH19d2hpbGUocnx8biE9PWUpO3JldHVybiBlfWZ1bmN0aW9uIG8odCxlLHIsbixhLGgsZil7aWYodCl7IWYmJmgmJmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXQ7ZG97bnVsbD09PWEueiYmKGEuej1kKGEueCxhLnksZSxyLG4pKSxhLnByZXZaPWEucHJldixhLm5leHRaPWEubmV4dCxhPWEubmV4dH13aGlsZShhIT09dCk7YS5wcmV2Wi5uZXh0Wj1udWxsLGEucHJldlo9bnVsbCxmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scyxsLGM9MTtkb3tmb3Iocj10LHQ9bnVsbCxpPW51bGwsbz0wO3I7KXtmb3IobysrLG49cixzPTAsZT0wO2U8YyYmKHMrKyxuPW4ubmV4dFopO2UrKyk7Zm9yKGw9YztzPjB8fGw+MCYmbjspMCE9PXMmJigwPT09bHx8IW58fHIuejw9bi56KT8oYT1yLHI9ci5uZXh0WixzLS0pOihhPW4sbj1uLm5leHRaLGwtLSksaT9pLm5leHRaPWE6dD1hLGEucHJldlo9aSxpPWE7cj1ufWkubmV4dFo9bnVsbCxjKj0yfXdoaWxlKG8+MSl9KGEpfSh0LG4sYSxoKTtmb3IodmFyIHAsZyx2PXQ7dC5wcmV2IT09dC5uZXh0OylpZihwPXQucHJldixnPXQubmV4dCxoP2wodCxuLGEsaCk6cyh0KSllLnB1c2gocC5pL3IpLGUucHVzaCh0LmkvciksZS5wdXNoKGcuaS9yKSxBKHQpLHQ9Zy5uZXh0LHY9Zy5uZXh0O2Vsc2UgaWYoKHQ9Zyk9PT12KXtmPzE9PT1mP28odD1jKGkodCksZSxyKSxlLHIsbixhLGgsMik6Mj09PWYmJnUodCxlLHIsbixhLGgpOm8oaSh0KSxlLHIsbixhLGgsMSk7YnJlYWt9fX1mdW5jdGlvbiBzKHQpe3ZhciBlPXQucHJldixyPXQsbj10Lm5leHQ7aWYoeShlLHIsbik+PTApcmV0dXJuITE7Zm9yKHZhciBhPXQubmV4dC5uZXh0O2EhPT10LnByZXY7KXtpZih2KGUueCxlLnksci54LHIueSxuLngsbi55LGEueCxhLnkpJiZ5KGEucHJldixhLGEubmV4dCk+PTApcmV0dXJuITE7YT1hLm5leHR9cmV0dXJuITB9ZnVuY3Rpb24gbCh0LGUscixuKXt2YXIgYT10LnByZXYsaT10LG89dC5uZXh0O2lmKHkoYSxpLG8pPj0wKXJldHVybiExO2Zvcih2YXIgcz1hLng8aS54P2EueDxvLng/YS54Om8ueDppLng8by54P2kueDpvLngsbD1hLnk8aS55P2EueTxvLnk/YS55Om8ueTppLnk8by55P2kueTpvLnksYz1hLng+aS54P2EueD5vLng/YS54Om8ueDppLng+by54P2kueDpvLngsdT1hLnk+aS55P2EueT5vLnk/YS55Om8ueTppLnk+by55P2kueTpvLnksaD1kKHMsbCxlLHIsbiksZj1kKGMsdSxlLHIsbikscD10LnByZXZaLGc9dC5uZXh0WjtwJiZwLno+PWgmJmcmJmcuejw9Zjspe2lmKHAhPT10LnByZXYmJnAhPT10Lm5leHQmJnYoYS54LGEueSxpLngsaS55LG8ueCxvLnkscC54LHAueSkmJnkocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtpZihwPXAucHJldlosZyE9PXQucHJldiYmZyE9PXQubmV4dCYmdihhLngsYS55LGkueCxpLnksby54LG8ueSxnLngsZy55KSYmeShnLnByZXYsZyxnLm5leHQpPj0wKXJldHVybiExO2c9Zy5uZXh0Wn1mb3IoO3AmJnAuej49aDspe2lmKHAhPT10LnByZXYmJnAhPT10Lm5leHQmJnYoYS54LGEueSxpLngsaS55LG8ueCxvLnkscC54LHAueSkmJnkocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtwPXAucHJldlp9Zm9yKDtnJiZnLno8PWY7KXtpZihnIT09dC5wcmV2JiZnIT09dC5uZXh0JiZ2KGEueCxhLnksaS54LGkueSxvLngsby55LGcueCxnLnkpJiZ5KGcucHJldixnLGcubmV4dCk+PTApcmV0dXJuITE7Zz1nLm5leHRafXJldHVybiEwfWZ1bmN0aW9uIGModCxlLHIpe3ZhciBuPXQ7ZG97dmFyIGE9bi5wcmV2LG89bi5uZXh0Lm5leHQ7IXgoYSxvKSYmYihhLG4sbi5uZXh0LG8pJiZrKGEsbykmJmsobyxhKSYmKGUucHVzaChhLmkvciksZS5wdXNoKG4uaS9yKSxlLnB1c2goby5pL3IpLEEobiksQShuLm5leHQpLG49dD1vKSxuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuIGkobil9ZnVuY3Rpb24gdSh0LGUscixuLGEscyl7dmFyIGw9dDtkb3tmb3IodmFyIGM9bC5uZXh0Lm5leHQ7YyE9PWwucHJldjspe2lmKGwuaSE9PWMuaSYmbShsLGMpKXt2YXIgdT1UKGwsYyk7cmV0dXJuIGw9aShsLGwubmV4dCksdT1pKHUsdS5uZXh0KSxvKGwsZSxyLG4sYSxzKSx2b2lkIG8odSxlLHIsbixhLHMpfWM9Yy5uZXh0fWw9bC5uZXh0fXdoaWxlKGwhPT10KX1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIHQueC1lLnh9ZnVuY3Rpb24gZih0LGUpe2lmKGU9ZnVuY3Rpb24odCxlKXt2YXIgcixuPWUsYT10LngsaT10Lnksbz0tMS8wO2Rve2lmKGk8PW4ueSYmaT49bi5uZXh0LnkmJm4ubmV4dC55IT09bi55KXt2YXIgcz1uLngrKGktbi55KSoobi5uZXh0Lngtbi54KS8obi5uZXh0Lnktbi55KTtpZihzPD1hJiZzPm8pe2lmKG89cyxzPT09YSl7aWYoaT09PW4ueSlyZXR1cm4gbjtpZihpPT09bi5uZXh0LnkpcmV0dXJuIG4ubmV4dH1yPW4ueDxuLm5leHQueD9uOm4ubmV4dH19bj1uLm5leHR9d2hpbGUobiE9PWUpO2lmKCFyKXJldHVybiBudWxsO2lmKGE9PT1vKXJldHVybiByO3ZhciBsLGM9cix1PXIueCxoPXIueSxmPTEvMDtuPXI7ZG97YT49bi54JiZuLng+PXUmJmEhPT1uLngmJnYoaTxoP2E6byxpLHUsaCxpPGg/bzphLGksbi54LG4ueSkmJihsPU1hdGguYWJzKGktbi55KS8oYS1uLngpLGsobix0KSYmKGw8Znx8bD09PWYmJihuLng+ci54fHxuLng9PT1yLngmJnAocixuKSkpJiYocj1uLGY9bCkpLG49bi5uZXh0fXdoaWxlKG4hPT1jKTtyZXR1cm4gcn0odCxlKSl7dmFyIHI9VChlLHQpO2kocixyLm5leHQpfX1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIHkodC5wcmV2LHQsZS5wcmV2KTwwJiZ5KGUubmV4dCx0LHQubmV4dCk8MH1mdW5jdGlvbiBkKHQsZSxyLG4sYSl7cmV0dXJuKHQ9MTQzMTY1NTc2NSYoKHQ9ODU4OTkzNDU5JigodD0yNTI2NDUxMzUmKCh0PTE2NzExOTM1JigodD0zMjc2NyoodC1yKSphKXx0PDw4KSl8dDw8NCkpfHQ8PDIpKXx0PDwxKSl8KGU9MTQzMTY1NTc2NSYoKGU9ODU4OTkzNDU5JigoZT0yNTI2NDUxMzUmKChlPTE2NzExOTM1JigoZT0zMjc2NyooZS1uKSphKXxlPDw4KSl8ZTw8NCkpfGU8PDIpKXxlPDwxKSk8PDF9ZnVuY3Rpb24gZyh0KXt2YXIgZT10LHI9dDtkb3soZS54PHIueHx8ZS54PT09ci54JiZlLnk8ci55KSYmKHI9ZSksZT1lLm5leHR9d2hpbGUoZSE9PXQpO3JldHVybiByfWZ1bmN0aW9uIHYodCxlLHIsbixhLGksbyxzKXtyZXR1cm4oYS1vKSooZS1zKS0odC1vKSooaS1zKT49MCYmKHQtbykqKG4tcyktKHItbykqKGUtcyk+PTAmJihyLW8pKihpLXMpLShhLW8pKihuLXMpPj0wfWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4gdC5uZXh0LmkhPT1lLmkmJnQucHJldi5pIT09ZS5pJiYhZnVuY3Rpb24odCxlKXt2YXIgcj10O2Rve2lmKHIuaSE9PXQuaSYmci5uZXh0LmkhPT10LmkmJnIuaSE9PWUuaSYmci5uZXh0LmkhPT1lLmkmJmIocixyLm5leHQsdCxlKSlyZXR1cm4hMDtyPXIubmV4dH13aGlsZShyIT09dCk7cmV0dXJuITF9KHQsZSkmJihrKHQsZSkmJmsoZSx0KSYmZnVuY3Rpb24odCxlKXt2YXIgcj10LG49ITEsYT0odC54K2UueCkvMixpPSh0LnkrZS55KS8yO2Rve3IueT5pIT1yLm5leHQueT5pJiZyLm5leHQueSE9PXIueSYmYTwoci5uZXh0Lngtci54KSooaS1yLnkpLyhyLm5leHQueS1yLnkpK3IueCYmKG49IW4pLHI9ci5uZXh0fXdoaWxlKHIhPT10KTtyZXR1cm4gbn0odCxlKSYmKHkodC5wcmV2LHQsZS5wcmV2KXx8eSh0LGUucHJldixlKSl8fHgodCxlKSYmeSh0LnByZXYsdCx0Lm5leHQpPjAmJnkoZS5wcmV2LGUsZS5uZXh0KT4wKX1mdW5jdGlvbiB5KHQsZSxyKXtyZXR1cm4oZS55LXQueSkqKHIueC1lLngpLShlLngtdC54KSooci55LWUueSl9ZnVuY3Rpb24geCh0LGUpe3JldHVybiB0Lng9PT1lLngmJnQueT09PWUueX1mdW5jdGlvbiBiKHQsZSxyLG4pe3ZhciBhPXcoeSh0LGUscikpLGk9dyh5KHQsZSxuKSksbz13KHkocixuLHQpKSxzPXcoeShyLG4sZSkpO3JldHVybiBhIT09aSYmbyE9PXN8fCghKDAhPT1hfHwhXyh0LHIsZSkpfHwoISgwIT09aXx8IV8odCxuLGUpKXx8KCEoMCE9PW98fCFfKHIsdCxuKSl8fCEoMCE9PXN8fCFfKHIsZSxuKSkpKSl9ZnVuY3Rpb24gXyh0LGUscil7cmV0dXJuIGUueDw9TWF0aC5tYXgodC54LHIueCkmJmUueD49TWF0aC5taW4odC54LHIueCkmJmUueTw9TWF0aC5tYXgodC55LHIueSkmJmUueT49TWF0aC5taW4odC55LHIueSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gayh0LGUpe3JldHVybiB5KHQucHJldix0LHQubmV4dCk8MD95KHQsZSx0Lm5leHQpPj0wJiZ5KHQsdC5wcmV2LGUpPj0wOnkodCxlLHQucHJldik8MHx8eSh0LHQubmV4dCxlKTwwfWZ1bmN0aW9uIFQodCxlKXt2YXIgcj1uZXcgUyh0LmksdC54LHQueSksbj1uZXcgUyhlLmksZS54LGUueSksYT10Lm5leHQsaT1lLnByZXY7cmV0dXJuIHQubmV4dD1lLGUucHJldj10LHIubmV4dD1hLGEucHJldj1yLG4ubmV4dD1yLHIucHJldj1uLGkubmV4dD1uLG4ucHJldj1pLG59ZnVuY3Rpb24gTSh0LGUscixuKXt2YXIgYT1uZXcgUyh0LGUscik7cmV0dXJuIG4/KGEubmV4dD1uLm5leHQsYS5wcmV2PW4sbi5uZXh0LnByZXY9YSxuLm5leHQ9YSk6KGEucHJldj1hLGEubmV4dD1hKSxhfWZ1bmN0aW9uIEEodCl7dC5uZXh0LnByZXY9dC5wcmV2LHQucHJldi5uZXh0PXQubmV4dCx0LnByZXZaJiYodC5wcmV2Wi5uZXh0Wj10Lm5leHRaKSx0Lm5leHRaJiYodC5uZXh0Wi5wcmV2Wj10LnByZXZaKX1mdW5jdGlvbiBTKHQsZSxyKXt0aGlzLmk9dCx0aGlzLng9ZSx0aGlzLnk9cix0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLno9bnVsbCx0aGlzLnByZXZaPW51bGwsdGhpcy5uZXh0Wj1udWxsLHRoaXMuc3RlaW5lcj0hMX1mdW5jdGlvbiBFKHQsZSxyLG4pe2Zvcih2YXIgYT0wLGk9ZSxvPXItbjtpPHI7aSs9bilhKz0odFtvXS10W2ldKSoodFtpKzFdK3RbbysxXSksbz1pO3JldHVybiBhfWUuZXhwb3J0cz1uLGUuZXhwb3J0cy5kZWZhdWx0PW4sbi5kZXZpYXRpb249ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZSYmZS5sZW5ndGgsaT1hP2VbMF0qcjp0Lmxlbmd0aCxvPU1hdGguYWJzKEUodCwwLGkscikpO2lmKGEpZm9yKHZhciBzPTAsbD1lLmxlbmd0aDtzPGw7cysrKXt2YXIgYz1lW3NdKnIsdT1zPGwtMT9lW3MrMV0qcjp0Lmxlbmd0aDtvLT1NYXRoLmFicyhFKHQsYyx1LHIpKX12YXIgaD0wO2ZvcihzPTA7czxuLmxlbmd0aDtzKz0zKXt2YXIgZj1uW3NdKnIscD1uW3MrMV0qcixkPW5bcysyXSpyO2grPU1hdGguYWJzKCh0W2ZdLXRbZF0pKih0W3ArMV0tdFtmKzFdKS0odFtmXS10W3BdKSoodFtkKzFdLXRbZisxXSkpfXJldHVybiAwPT09byYmMD09PWg/MDpNYXRoLmFicygoaC1vKS9vKX0sbi5mbGF0dGVuPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10WzBdWzBdLmxlbmd0aCxyPXt2ZXJ0aWNlczpbXSxob2xlczpbXSxkaW1lbnNpb25zOmV9LG49MCxhPTA7YTx0Lmxlbmd0aDthKyspe2Zvcih2YXIgaT0wO2k8dFthXS5sZW5ndGg7aSsrKWZvcih2YXIgbz0wO288ZTtvKyspci52ZXJ0aWNlcy5wdXNoKHRbYV1baV1bb10pO2E+MCYmKG4rPXRbYS0xXS5sZW5ndGgsci5ob2xlcy5wdXNoKG4pKX1yZXR1cm4gcn19LHt9XSwxNzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGg7aWYoIm51bWJlciIhPXR5cGVvZiBlKXtlPTA7Zm9yKHZhciBhPTA7YTxyOysrYSl7dmFyIGk9dFthXTtlPU1hdGgubWF4KGUsaVswXSxpWzFdKX1lPTErKDB8ZSl9ZXw9MDtmb3IodmFyIG89bmV3IEFycmF5KGUpLGE9MDthPGU7KythKW9bYV09W107Zm9yKHZhciBhPTA7YTxyOysrYSl7dmFyIGk9dFthXTtvW2lbMF1dLnB1c2goaVsxXSksb1tpWzFdXS5wdXNoKGlbMF0pfWZvcih2YXIgcz0wO3M8ZTsrK3MpbihvW3NdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pO3JldHVybiBvfTt2YXIgbj10KCJ1bmlxIil9LHt1bmlxOjU0Nn1dLDE3NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInN0cm9uZ2x5LWNvbm5lY3RlZC1jb21wb25lbnRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9W10sYT1bXSxpPVtdLG89e30scz1bXTtmdW5jdGlvbiBsKHQpe3ZhciByLG4sdT0hMTtmb3IoYS5wdXNoKHQpLGlbdF09ITAscj0wO3I8c1t0XS5sZW5ndGg7cisrKShuPXNbdF1bcl0pPT09ZT8oYyhlLGEpLHU9ITApOmlbbl18fCh1PWwobikpO2lmKHUpIWZ1bmN0aW9uIHQoZSl7aVtlXT0hMSxvLmhhc093blByb3BlcnR5KGUpJiZPYmplY3Qua2V5cyhvW2VdKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2RlbGV0ZSBvW2VdW3JdLGlbcl0mJnQocil9KX0odCk7ZWxzZSBmb3Iocj0wO3I8c1t0XS5sZW5ndGg7cisrKXtuPXNbdF1bcl07dmFyIGg9b1tuXTtofHwoaD17fSxvW25dPWgpLGhbbl09ITB9cmV0dXJuIGEucG9wKCksdX1mdW5jdGlvbiBjKHQsZSl7dmFyIG49W10uY29uY2F0KGUpLmNvbmNhdCh0KTtyLnB1c2gobil9ZnVuY3Rpb24gdShlKXshZnVuY3Rpb24oZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspcjxlJiYodFtyXT1bXSksdFtyXT10W3JdLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdD49ZX0pfShlKTtmb3IodmFyIHIsYT1uKHQpLmNvbXBvbmVudHMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aD4xfSksaT0xLzAsbz0wO288YS5sZW5ndGg7bysrKWZvcih2YXIgcz0wO3M8YVtvXS5sZW5ndGg7cysrKWFbb11bc108aSYmKGk9YVtvXVtzXSxyPW8pO3ZhciBsPWFbcl07cmV0dXJuISFsJiZ7bGVhc3RWZXJ0ZXg6aSxhZGpMaXN0OnQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuLTE9PT1sLmluZGV4T2YoZSk/W106dC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1sLmluZGV4T2YodCl9KX0pfX1lPTA7Zm9yKHZhciBoPXQubGVuZ3RoO2U8aDspe3ZhciBmPXUoZSk7aWYoZT1mLmxlYXN0VmVydGV4LHM9Zi5hZGpMaXN0KXtmb3IodmFyIHA9MDtwPHMubGVuZ3RoO3ArKylmb3IodmFyIGQ9MDtkPHNbcF0ubGVuZ3RoO2QrKyl7dmFyIGc9c1twXVtkXTtpWytnXT0hMSxvW2ddPXt9fWwoZSksZSs9MX1lbHNlIGU9aH1yZXR1cm4gcn19LHsic3Ryb25nbHktY29ubmVjdGVkLWNvbXBvbmVudHMiOjUyOX1dLDE3NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzKS5sZW5ndGg9MCx0aGlzfX0seyIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOH1dLDE3NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9pcy1pbXBsZW1lbnRlZCIpKCk/QXJyYXkuZnJvbTp0KCIuL3NoaW0iKX0seyIuL2lzLWltcGxlbWVudGVkIjoxNzgsIi4vc2hpbSI6MTc5fV0sMTc4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0LGUscj1BcnJheS5mcm9tO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByJiYoZT1yKHQ9WyJyYXoiLCJkd2EiXSksQm9vbGVhbihlJiZlIT09dCYmImR3YSI9PT1lWzFdKSl9fSx7fV0sMTc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImVzNi1zeW1ib2wiKS5pdGVyYXRvcixhPXQoIi4uLy4uL2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyIpLGk9dCgiLi4vLi4vZnVuY3Rpb24vaXMtZnVuY3Rpb24iKSxvPXQoIi4uLy4uL251bWJlci90by1wb3MtaW50ZWdlciIpLHM9dCgiLi4vLi4vb2JqZWN0L3ZhbGlkLWNhbGxhYmxlIiksbD10KCIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiKSxjPXQoIi4uLy4uL29iamVjdC9pcy12YWx1ZSIpLHU9dCgiLi4vLi4vc3RyaW5nL2lzLXN0cmluZyIpLGg9QXJyYXkuaXNBcnJheSxmPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLHA9e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm51bGx9LGQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxyLGcsdixtLHkseCxiLF8sdyxrPWFyZ3VtZW50c1sxXSxUPWFyZ3VtZW50c1syXTtpZih0PU9iamVjdChsKHQpKSxjKGspJiZzKGspLHRoaXMmJnRoaXMhPT1BcnJheSYmaSh0aGlzKSllPXRoaXM7ZWxzZXtpZighayl7aWYoYSh0KSlyZXR1cm4gMSE9PShtPXQubGVuZ3RoKT9BcnJheS5hcHBseShudWxsLHQpOigodj1uZXcgQXJyYXkoMSkpWzBdPXRbMF0sdik7aWYoaCh0KSl7Zm9yKHY9bmV3IEFycmF5KG09dC5sZW5ndGgpLHI9MDtyPG07KytyKXZbcl09dFtyXTtyZXR1cm4gdn19dj1bXX1pZighaCh0KSlpZih2b2lkIDAhPT0oXz10W25dKSl7Zm9yKHg9cyhfKS5jYWxsKHQpLGUmJih2PW5ldyBlKSxiPXgubmV4dCgpLHI9MDshYi5kb25lOyl3PWs/Zi5jYWxsKGssVCxiLnZhbHVlLHIpOmIudmFsdWUsZT8ocC52YWx1ZT13LGQodixyLHApKTp2W3JdPXcsYj14Lm5leHQoKSwrK3I7bT1yfWVsc2UgaWYodSh0KSl7Zm9yKG09dC5sZW5ndGgsZSYmKHY9bmV3IGUpLHI9MCxnPTA7cjxtOysrcil3PXRbcl0scisxPG0mJih5PXcuY2hhckNvZGVBdCgwKSk+PTU1Mjk2JiZ5PD01NjMxOSYmKHcrPXRbKytyXSksdz1rP2YuY2FsbChrLFQsdyxnKTp3LGU/KHAudmFsdWU9dyxkKHYsZyxwKSk6dltnXT13LCsrZzttPWd9aWYodm9pZCAwPT09bSlmb3IobT1vKHQubGVuZ3RoKSxlJiYodj1uZXcgZShtKSkscj0wO3I8bTsrK3Ipdz1rP2YuY2FsbChrLFQsdFtyXSxyKTp0W3JdLGU/KHAudmFsdWU9dyxkKHYscixwKSk6dltyXT13O3JldHVybiBlJiYocC52YWx1ZT1udWxsLHYubGVuZ3RoPW0pLHZ9fSx7Ii4uLy4uL2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyI6MTgwLCIuLi8uLi9mdW5jdGlvbi9pcy1mdW5jdGlvbiI6MTgxLCIuLi8uLi9udW1iZXIvdG8tcG9zLWludGVnZXIiOjE4NywiLi4vLi4vb2JqZWN0L2lzLXZhbHVlIjoxOTcsIi4uLy4uL29iamVjdC92YWxpZC1jYWxsYWJsZSI6MjA2LCIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOCwiLi4vLi4vc3RyaW5nL2lzLXN0cmluZyI6MjEyLCJlczYtc3ltYm9sIjoyMjJ9XSwxODA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPW4uY2FsbChmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbi5jYWxsKHQpPT09YX19LHt9XSwxODE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPW4uY2FsbCh0KCIuL25vb3AiKSk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZuLmNhbGwodCk9PT1hfX0seyIuL25vb3AiOjE4Mn1dLDE4MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt9fSx7fV0sMTgzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL2lzLWltcGxlbWVudGVkIikoKT9NYXRoLnNpZ246dCgiLi9zaGltIil9LHsiLi9pcy1pbXBsZW1lbnRlZCI6MTg0LCIuL3NoaW0iOjE4NX1dLDE4NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1NYXRoLnNpZ247cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJigxPT09dCgxMCkmJi0xPT09dCgtMjApKX19LHt9XSwxODU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PU51bWJlcih0KSxpc05hTih0KXx8MD09PXQ/dDp0PjA/MTotMX19LHt9XSwxODY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vbWF0aC9zaWduIiksYT1NYXRoLmFicyxpPU1hdGguZmxvb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpc05hTih0KT8wOjAhPT0odD1OdW1iZXIodCkpJiZpc0Zpbml0ZSh0KT9uKHQpKmkoYSh0KSk6dH19LHsiLi4vbWF0aC9zaWduIjoxODN9XSwxODc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi90by1pbnRlZ2VyIiksYT1NYXRoLm1heDtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEoMCxuKHQpKX19LHsiLi90by1pbnRlZ2VyIjoxODZ9XSwxODg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi92YWxpZC1jYWxsYWJsZSIpLGE9dCgiLi92YWxpZC12YWx1ZSIpLGk9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsbz1GdW5jdGlvbi5wcm90b3R5cGUuY2FsbCxzPU9iamVjdC5rZXlzLGw9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixjKXt2YXIgdSxoPWFyZ3VtZW50c1syXSxmPWFyZ3VtZW50c1szXTtyZXR1cm4gcj1PYmplY3QoYShyKSksbihjKSx1PXMociksZiYmdS5zb3J0KCJmdW5jdGlvbiI9PXR5cGVvZiBmP2kuY2FsbChmLHIpOnZvaWQgMCksImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PXVbdF0pLG8uY2FsbCh0LHUsZnVuY3Rpb24odCxuKXtyZXR1cm4gbC5jYWxsKHIsdCk/by5jYWxsKGMsaCxyW3RdLHQscixuKTplfSl9fX0seyIuL3ZhbGlkLWNhbGxhYmxlIjoyMDYsIi4vdmFsaWQtdmFsdWUiOjIwOH1dLDE4OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9pcy1pbXBsZW1lbnRlZCIpKCk/T2JqZWN0LmFzc2lnbjp0KCIuL3NoaW0iKX0seyIuL2lzLWltcGxlbWVudGVkIjoxOTAsIi4vc2hpbSI6MTkxfV0sMTkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0LGU9T2JqZWN0LmFzc2lnbjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGUodD17Zm9vOiJyYXoifSx7YmFyOiJkd2EifSx7dHJ6eToidHJ6eSJ9KSx0LmZvbyt0LmJhcit0LnRyenk9PT0icmF6ZHdhdHJ6eSIpfX0se31dLDE5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9rZXlzIiksYT10KCIuLi92YWxpZC12YWx1ZSIpLGk9TWF0aC5tYXg7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbyxzLGw9aShhcmd1bWVudHMubGVuZ3RoLDIpO2Zvcih0PU9iamVjdChhKHQpKSxzPWZ1bmN0aW9uKG4pe3RyeXt0W25dPWVbbl19Y2F0Y2godCl7cnx8KHI9dCl9fSxvPTE7bzxsOysrbyllPWFyZ3VtZW50c1tvXSxuKGUpLmZvckVhY2gocyk7aWYodm9pZCAwIT09cil0aHJvdyByO3JldHVybiB0fX0seyIuLi9rZXlzIjoxOTgsIi4uL3ZhbGlkLXZhbHVlIjoyMDh9XSwxOTI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vYXJyYXkvZnJvbSIpLGE9dCgiLi9hc3NpZ24iKSxpPXQoIi4vdmFsaWQtdmFsdWUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0KGkodCkpLHI9YXJndW1lbnRzWzFdLG89T2JqZWN0KGFyZ3VtZW50c1syXSk7aWYoZSE9PXQmJiFyKXJldHVybiBlO3ZhciBzPXt9O3JldHVybiByP24ocixmdW5jdGlvbihlKXsoby5lbnN1cmV8fGUgaW4gdCkmJihzW2VdPXRbZV0pfSk6YShzLHQpLHN9fSx7Ii4uL2FycmF5L2Zyb20iOjE3NywiLi9hc3NpZ24iOjE4OSwiLi92YWxpZC12YWx1ZSI6MjA4fV0sMTkzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGEsaSxvLHM9T2JqZWN0LmNyZWF0ZTt0KCIuL3NldC1wcm90b3R5cGUtb2YvaXMtaW1wbGVtZW50ZWQiKSgpfHwobj10KCIuL3NldC1wcm90b3R5cGUtb2Yvc2hpbSIpKSxlLmV4cG9ydHM9bj8xIT09bi5sZXZlbD9zOihhPXt9LGk9e30sbz17Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsdmFsdWU6dm9pZCAwfSxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QucHJvdG90eXBlKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lbdF09Il9fcHJvdG9fXyIhPT10P286e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLHZhbHVlOnZvaWQgMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLGkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJudWxsUG9seWZpbGwiLHtjb25maWd1cmFibGU6ITEsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMSx2YWx1ZTphfSksZnVuY3Rpb24odCxlKXtyZXR1cm4gcyhudWxsPT09dD9hOnQsZSl9KTpzfSx7Ii4vc2V0LXByb3RvdHlwZS1vZi9pcy1pbXBsZW1lbnRlZCI6MjA0LCIuL3NldC1wcm90b3R5cGUtb2Yvc2hpbSI6MjA1fV0sMTk0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL19pdGVyYXRlIikoImZvckVhY2giKX0seyIuL19pdGVyYXRlIjoxODh9XSwxOTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fX0se31dLDE5NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzLXZhbHVlIiksYT17ZnVuY3Rpb246ITAsb2JqZWN0OiEwfTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCkmJmFbdHlwZW9mIHRdfHwhMX19LHsiLi9pcy12YWx1ZSI6MTk3fV0sMTk3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Z1bmN0aW9uL25vb3AiKSgpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCE9PW4mJm51bGwhPT10fX0seyIuLi9mdW5jdGlvbi9ub29wIjoxODJ9XSwxOTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4vaXMtaW1wbGVtZW50ZWQiKSgpP09iamVjdC5rZXlzOnQoIi4vc2hpbSIpfSx7Ii4vaXMtaW1wbGVtZW50ZWQiOjE5OSwiLi9zaGltIjoyMDB9XSwxOTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBPYmplY3Qua2V5cygicHJpbWl0aXZlIiksITB9Y2F0Y2godCl7cmV0dXJuITF9fX0se31dLDIwMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9pcy12YWx1ZSIpLGE9T2JqZWN0LmtleXM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhKG4odCk/T2JqZWN0KHQpOnQpfX0seyIuLi9pcy12YWx1ZSI6MTk3fV0sMjAxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vdmFsaWQtY2FsbGFibGUiKSxhPXQoIi4vZm9yLWVhY2giKSxpPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXt9LG89YXJndW1lbnRzWzJdO3JldHVybiBuKGUpLGEodCxmdW5jdGlvbih0LG4sYSxzKXtyW25dPWkuY2FsbChlLG8sdCxuLGEscyl9KSxyfX0seyIuL2Zvci1lYWNoIjoxOTQsIi4vdmFsaWQtY2FsbGFibGUiOjIwNn1dLDIwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzLXZhbHVlIiksYT1BcnJheS5wcm90b3R5cGUuZm9yRWFjaCxpPU9iamVjdC5jcmVhdGU7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWkobnVsbCk7cmV0dXJuIGEuY2FsbChhcmd1bWVudHMsZnVuY3Rpb24odCl7bih0KSYmZnVuY3Rpb24odCxlKXt2YXIgcjtmb3IociBpbiB0KWVbcl09dFtyXX0oT2JqZWN0KHQpLGUpfSksZX19LHsiLi9pcy12YWx1ZSI6MTk3fV0sMjAzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL2lzLWltcGxlbWVudGVkIikoKT9PYmplY3Quc2V0UHJvdG90eXBlT2Y6dCgiLi9zaGltIil9LHsiLi9pcy1pbXBsZW1lbnRlZCI6MjA0LCIuL3NoaW0iOjIwNX1dLDIwNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QuY3JlYXRlLGE9T2JqZWN0LmdldFByb3RvdHlwZU9mLGk9e307ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mLGU9YXJndW1lbnRzWzBdfHxuO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZhKHQoZShudWxsKSxpKSk9PT1pfX0se31dLDIwNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhLGksbyxzPXQoIi4uL2lzLW9iamVjdCIpLGw9dCgiLi4vdmFsaWQtdmFsdWUiKSxjPU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZix1PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxoPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCx2YWx1ZTp2b2lkIDB9O249ZnVuY3Rpb24odCxlKXtpZihsKHQpLG51bGw9PT1lfHxzKGUpKXJldHVybiB0O3Rocm93IG5ldyBUeXBlRXJyb3IoIlByb3RvdHlwZSBtdXN0IGJlIG51bGwgb3IgYW4gb2JqZWN0Iil9LGUuZXhwb3J0cz0oYT1mdW5jdGlvbigpe3ZhciB0LGU9T2JqZWN0LmNyZWF0ZShudWxsKSxyPXt9LG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKTtpZihuKXt0cnl7KHQ9bi5zZXQpLmNhbGwoZSxyKX1jYXRjaCh0KXt9aWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09cilyZXR1cm57c2V0OnQsbGV2ZWw6Mn19cmV0dXJuIGUuX19wcm90b19fPXIsT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09cj97bGV2ZWw6Mn06KChlPXt9KS5fX3Byb3RvX189cixPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1yJiZ7bGV2ZWw6MX0pfSgpKT8oMj09PWEubGV2ZWw/YS5zZXQ/KG89YS5zZXQsaT1mdW5jdGlvbih0LGUpe3JldHVybiBvLmNhbGwobih0LGUpLGUpLHR9KTppPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxlKS5fX3Byb3RvX189ZSx0fTppPWZ1bmN0aW9uIHQoZSxyKXt2YXIgYTtyZXR1cm4gbihlLHIpLChhPWMuY2FsbCh0Lm51bGxQb2x5ZmlsbCxlKSkmJmRlbGV0ZSB0Lm51bGxQb2x5ZmlsbC5fX3Byb3RvX18sbnVsbD09PXImJihyPXQubnVsbFBvbHlmaWxsKSxlLl9fcHJvdG9fXz1yLGEmJnUodC5udWxsUG9seWZpbGwsIl9fcHJvdG9fXyIsaCksZX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGksImxldmVsIix7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITEsdmFsdWU6YS5sZXZlbH0pKTpudWxsLHQoIi4uL2NyZWF0ZSIpfSx7Ii4uL2NyZWF0ZSI6MTkzLCIuLi9pcy1vYmplY3QiOjE5NiwiLi4vdmFsaWQtdmFsdWUiOjIwOH1dLDIwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcih0KyIgaXMgbm90IGEgZnVuY3Rpb24iKTtyZXR1cm4gdH19LHt9XSwyMDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pcy1vYmplY3QiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcih0KyIgaXMgbm90IGFuIE9iamVjdCIpO3JldHVybiB0fX0seyIuL2lzLW9iamVjdCI6MTk2fV0sMjA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vaXMtdmFsdWUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybiB0fX0seyIuL2lzLXZhbHVlIjoxOTd9XSwyMDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4vaXMtaW1wbGVtZW50ZWQiKSgpP1N0cmluZy5wcm90b3R5cGUuY29udGFpbnM6dCgiLi9zaGltIil9LHsiLi9pcy1pbXBsZW1lbnRlZCI6MjEwLCIuL3NoaW0iOjIxMX1dLDIxMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj0icmF6ZHdhdHJ6eSI7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG4uY29udGFpbnMmJighMD09PW4uY29udGFpbnMoImR3YSIpJiYhMT09PW4uY29udGFpbnMoImZvbyIpKX19LHt9XSwyMTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49U3RyaW5nLnByb3RvdHlwZS5pbmRleE9mO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbi5jYWxsKHRoaXMsdCxhcmd1bWVudHNbMV0pPi0xfX0se31dLDIxMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGE9bi5jYWxsKCIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fHx0JiYib2JqZWN0Ij09dHlwZW9mIHQmJih0IGluc3RhbmNlb2YgU3RyaW5nfHxuLmNhbGwodCk9PT1hKXx8ITF9fSx7fV0sMjEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCksYT1NYXRoLnJhbmRvbTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdDtkb3t0PWEoKS50b1N0cmluZygzNikuc2xpY2UoMil9d2hpbGUoblt0XSk7cmV0dXJuIHR9fSx7fV0sMjE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGE9dCgiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiIpLGk9dCgiZXM1LWV4dC9zdHJpbmcvIy9jb250YWlucyIpLG89dCgiZCIpLHM9dCgiZXM2LXN5bWJvbCIpLGw9dCgiLi8iKSxjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTtuPWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIik7bC5jYWxsKHRoaXMsdCksZT1lP2kuY2FsbChlLCJrZXkrdmFsdWUiKT8ia2V5K3ZhbHVlIjppLmNhbGwoZSwia2V5Iik/ImtleSI6InZhbHVlIjoidmFsdWUiLGModGhpcywiX19raW5kX18iLG8oIiIsZSkpfSxhJiZhKG4sbCksZGVsZXRlIG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUse19yZXNvbHZlOm8oZnVuY3Rpb24odCl7cmV0dXJuInZhbHVlIj09PXRoaXMuX19raW5kX18/dGhpcy5fX2xpc3RfX1t0XToia2V5K3ZhbHVlIj09PXRoaXMuX19raW5kX18/W3QsdGhpcy5fX2xpc3RfX1t0XV06dH0pfSksYyhuLnByb3RvdHlwZSxzLnRvU3RyaW5nVGFnLG8oImMiLCJBcnJheSBJdGVyYXRvciIpKX0seyIuLyI6MjE3LGQ6MTUzLCJlczUtZXh0L29iamVjdC9zZXQtcHJvdG90eXBlLW9mIjoyMDMsImVzNS1leHQvc3RyaW5nLyMvY29udGFpbnMiOjIwOSwiZXM2LXN5bWJvbCI6MjIyfV0sMjE1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImVzNS1leHQvZnVuY3Rpb24vaXMtYXJndW1lbnRzIiksYT10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLGk9dCgiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIiksbz10KCIuL2dldCIpLHM9QXJyYXkuaXNBcnJheSxsPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLGM9QXJyYXkucHJvdG90eXBlLnNvbWU7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsdSxoLGYscCxkLGcsdixtPWFyZ3VtZW50c1syXTtpZihzKHQpfHxuKHQpP3I9ImFycmF5IjppKHQpP3I9InN0cmluZyI6dD1vKHQpLGEoZSksaD1mdW5jdGlvbigpe2Y9ITB9LCJhcnJheSIhPT1yKWlmKCJzdHJpbmciIT09cilmb3IodT10Lm5leHQoKTshdS5kb25lOyl7aWYobC5jYWxsKGUsbSx1LnZhbHVlLGgpLGYpcmV0dXJuO3U9dC5uZXh0KCl9ZWxzZSBmb3IoZD10Lmxlbmd0aCxwPTA7cDxkJiYoZz10W3BdLHArMTxkJiYodj1nLmNoYXJDb2RlQXQoMCkpPj01NTI5NiYmdjw9NTYzMTkmJihnKz10WysrcF0pLGwuY2FsbChlLG0sZyxoKSwhZik7KytwKTtlbHNlIGMuY2FsbCh0LGZ1bmN0aW9uKHQpe3JldHVybiBsLmNhbGwoZSxtLHQsaCksZn0pfX0seyIuL2dldCI6MjE2LCJlczUtZXh0L2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyI6MTgwLCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSI6MjA2LCJlczUtZXh0L3N0cmluZy9pcy1zdHJpbmciOjIxMn1dLDIxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJlczUtZXh0L2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyIpLGE9dCgiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIiksaT10KCIuL2FycmF5Iiksbz10KCIuL3N0cmluZyIpLHM9dCgiLi92YWxpZC1pdGVyYWJsZSIpLGw9dCgiZXM2LXN5bWJvbCIpLml0ZXJhdG9yO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygcyh0KVtsXT90W2xdKCk6bih0KT9uZXcgaSh0KTphKHQpP25ldyBvKHQpOm5ldyBpKHQpfX0seyIuL2FycmF5IjoyMTQsIi4vc3RyaW5nIjoyMTksIi4vdmFsaWQtaXRlcmFibGUiOjIyMCwiZXM1LWV4dC9mdW5jdGlvbi9pcy1hcmd1bWVudHMiOjE4MCwiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIjoyMTIsImVzNi1zeW1ib2wiOjIyMn1dLDIxNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPXQoImVzNS1leHQvYXJyYXkvIy9jbGVhciIpLGk9dCgiZXM1LWV4dC9vYmplY3QvYXNzaWduIiksbz10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLHM9dCgiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiKSxsPXQoImQiKSxjPXQoImQvYXV0by1iaW5kIiksdT10KCJlczYtc3ltYm9sIiksaD1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QuZGVmaW5lUHJvcGVydGllcztlLmV4cG9ydHM9bj1mdW5jdGlvbih0LGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIik7Zih0aGlzLHtfX2xpc3RfXzpsKCJ3IixzKHQpKSxfX2NvbnRleHRfXzpsKCJ3IixlKSxfX25leHRJbmRleF9fOmwoInciLDApfSksZSYmKG8oZS5vbiksZS5vbigiX2FkZCIsdGhpcy5fb25BZGQpLGUub24oIl9kZWxldGUiLHRoaXMuX29uRGVsZXRlKSxlLm9uKCJfY2xlYXIiLHRoaXMuX29uQ2xlYXIpKX0sZGVsZXRlIG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yLGYobi5wcm90b3R5cGUsaSh7X25leHQ6bChmdW5jdGlvbigpe3ZhciB0O2lmKHRoaXMuX19saXN0X18pcmV0dXJuIHRoaXMuX19yZWRvX18mJnZvaWQgMCE9PSh0PXRoaXMuX19yZWRvX18uc2hpZnQoKSk/dDp0aGlzLl9fbmV4dEluZGV4X188dGhpcy5fX2xpc3RfXy5sZW5ndGg/dGhpcy5fX25leHRJbmRleF9fKys6dm9pZCB0aGlzLl91bkJpbmQoKX0pLG5leHQ6bChmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jcmVhdGVSZXN1bHQodGhpcy5fbmV4dCgpKX0pLF9jcmVhdGVSZXN1bHQ6bChmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD97ZG9uZTohMCx2YWx1ZTp2b2lkIDB9Ontkb25lOiExLHZhbHVlOnRoaXMuX3Jlc29sdmUodCl9fSksX3Jlc29sdmU6bChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2xpc3RfX1t0XX0pLF91bkJpbmQ6bChmdW5jdGlvbigpe3RoaXMuX19saXN0X189bnVsbCxkZWxldGUgdGhpcy5fX3JlZG9fXyx0aGlzLl9fY29udGV4dF9fJiYodGhpcy5fX2NvbnRleHRfXy5vZmYoIl9hZGQiLHRoaXMuX29uQWRkKSx0aGlzLl9fY29udGV4dF9fLm9mZigiX2RlbGV0ZSIsdGhpcy5fb25EZWxldGUpLHRoaXMuX19jb250ZXh0X18ub2ZmKCJfY2xlYXIiLHRoaXMuX29uQ2xlYXIpLHRoaXMuX19jb250ZXh0X189bnVsbCl9KSx0b1N0cmluZzpsKGZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgIisodGhpc1t1LnRvU3RyaW5nVGFnXXx8Ik9iamVjdCIpKyJdIn0pfSxjKHtfb25BZGQ6bChmdW5jdGlvbih0KXt0Pj10aGlzLl9fbmV4dEluZGV4X198fCgrK3RoaXMuX19uZXh0SW5kZXhfXyx0aGlzLl9fcmVkb19fPyh0aGlzLl9fcmVkb19fLmZvckVhY2goZnVuY3Rpb24oZSxyKXtlPj10JiYodGhpcy5fX3JlZG9fX1tyXT0rK2UpfSx0aGlzKSx0aGlzLl9fcmVkb19fLnB1c2godCkpOmgodGhpcywiX19yZWRvX18iLGwoImMiLFt0XSkpKX0pLF9vbkRlbGV0ZTpsKGZ1bmN0aW9uKHQpe3ZhciBlO3Q+PXRoaXMuX19uZXh0SW5kZXhfX3x8KC0tdGhpcy5fX25leHRJbmRleF9fLHRoaXMuX19yZWRvX18mJigtMSE9PShlPXRoaXMuX19yZWRvX18uaW5kZXhPZih0KSkmJnRoaXMuX19yZWRvX18uc3BsaWNlKGUsMSksdGhpcy5fX3JlZG9fXy5mb3JFYWNoKGZ1bmN0aW9uKGUscil7ZT50JiYodGhpcy5fX3JlZG9fX1tyXT0tLWUpfSx0aGlzKSkpfSksX29uQ2xlYXI6bChmdW5jdGlvbigpe3RoaXMuX19yZWRvX18mJmEuY2FsbCh0aGlzLl9fcmVkb19fKSx0aGlzLl9fbmV4dEluZGV4X189MH0pfSkpKSxoKG4ucHJvdG90eXBlLHUuaXRlcmF0b3IsbChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpfSx7ZDoxNTMsImQvYXV0by1iaW5kIjoxNTIsImVzNS1leHQvYXJyYXkvIy9jbGVhciI6MTc2LCJlczUtZXh0L29iamVjdC9hc3NpZ24iOjE4OSwiZXM1LWV4dC9vYmplY3QvdmFsaWQtY2FsbGFibGUiOjIwNiwiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOCwiZXM2LXN5bWJvbCI6MjIyfV0sMjE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImVzNS1leHQvZnVuY3Rpb24vaXMtYXJndW1lbnRzIiksYT10KCJlczUtZXh0L29iamVjdC9pcy12YWx1ZSIpLGk9dCgiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIiksbz10KCJlczYtc3ltYm9sIikuaXRlcmF0b3Iscz1BcnJheS5pc0FycmF5O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hIWEodCkmJighIXModCl8fCghIWkodCl8fCghIW4odCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0W29dKSkpfX0seyJlczUtZXh0L2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyI6MTgwLCJlczUtZXh0L29iamVjdC9pcy12YWx1ZSI6MTk3LCJlczUtZXh0L3N0cmluZy9pcy1zdHJpbmciOjIxMiwiZXM2LXN5bWJvbCI6MjIyfV0sMjE5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGE9dCgiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiIpLGk9dCgiZCIpLG89dCgiZXM2LXN5bWJvbCIpLHM9dCgiLi8iKSxsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTtuPWUuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDb25zdHJ1Y3RvciByZXF1aXJlcyAnbmV3JyIpO3Q9U3RyaW5nKHQpLHMuY2FsbCh0aGlzLHQpLGwodGhpcywiX19sZW5ndGhfXyIsaSgiIix0Lmxlbmd0aCkpfSxhJiZhKG4scyksZGVsZXRlIG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUocy5wcm90b3R5cGUse19uZXh0OmkoZnVuY3Rpb24oKXtpZih0aGlzLl9fbGlzdF9fKXJldHVybiB0aGlzLl9fbmV4dEluZGV4X188dGhpcy5fX2xlbmd0aF9fP3RoaXMuX19uZXh0SW5kZXhfXysrOnZvaWQgdGhpcy5fdW5CaW5kKCl9KSxfcmVzb2x2ZTppKGZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5fX2xpc3RfX1t0XTtyZXR1cm4gdGhpcy5fX25leHRJbmRleF9fPT09dGhpcy5fX2xlbmd0aF9fP3I6KGU9ci5jaGFyQ29kZUF0KDApKT49NTUyOTYmJmU8PTU2MzE5P3IrdGhpcy5fX2xpc3RfX1t0aGlzLl9fbmV4dEluZGV4X18rK106cn0pfSksbChuLnByb3RvdHlwZSxvLnRvU3RyaW5nVGFnLGkoImMiLCJTdHJpbmcgSXRlcmF0b3IiKSl9LHsiLi8iOjIxNyxkOjE1MywiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiI6MjAzLCJlczYtc3ltYm9sIjoyMjJ9XSwyMjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pcy1pdGVyYWJsZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighbih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKHQrIiBpcyBub3QgaXRlcmFibGUiKTtyZXR1cm4gdH19LHsiLi9pcy1pdGVyYWJsZSI6MjE4fV0sMjIxOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKG4sYSl7IWZ1bmN0aW9uKHQsbil7Im9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/ZS5leHBvcnRzPW4oKTp0LkVTNlByb21pc2U9bigpfSh0aGlzLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9dmFyIHI9QXJyYXkuaXNBcnJheT9BcnJheS5pc0FycmF5OmZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGk9MCxvPXZvaWQgMCxzPXZvaWQgMCxsPWZ1bmN0aW9uKHQsZSl7Z1tpXT10LGdbaSsxXT1lLDI9PT0oaSs9MikmJihzP3Modik6XygpKX07dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCx1PWN8fHt9LGg9dS5NdXRhdGlvbk9ic2VydmVyfHx1LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIsZj0idW5kZWZpbmVkIj09dHlwZW9mIHNlbGYmJiJ1bmRlZmluZWQiIT10eXBlb2YgbiYmIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbChuKSxwPSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXkmJiJ1bmRlZmluZWQiIT10eXBlb2YgaW1wb3J0U2NyaXB0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBNZXNzYWdlQ2hhbm5lbDtmdW5jdGlvbiBkKCl7dmFyIHQ9c2V0VGltZW91dDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh2LDEpfX12YXIgZz1uZXcgQXJyYXkoMWUzKTtmdW5jdGlvbiB2KCl7Zm9yKHZhciB0PTA7dDxpO3QrPTIpeygwLGdbdF0pKGdbdCsxXSksZ1t0XT12b2lkIDAsZ1t0KzFdPXZvaWQgMH1pPTB9dmFyIG0seSx4LGIsXz12b2lkIDA7ZnVuY3Rpb24gdyh0LGUpe3ZhciByPWFyZ3VtZW50cyxuPXRoaXMsYT1uZXcgdGhpcy5jb25zdHJ1Y3RvcihNKTt2b2lkIDA9PT1hW1RdJiZVKGEpO3ZhciBpLG89bi5fc3RhdGU7cmV0dXJuIG8/KGk9cltvLTFdLGwoZnVuY3Rpb24oKXtyZXR1cm4gaihvLGEsaSxuLl9yZXN1bHQpfSkpOlIobixhLHQsZSksYX1mdW5jdGlvbiBrKHQpe2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PXRoaXMpcmV0dXJuIHQ7dmFyIGU9bmV3IHRoaXMoTSk7cmV0dXJuIE8oZSx0KSxlfWY/Xz1mdW5jdGlvbigpe3JldHVybiBuLm5leHRUaWNrKHYpfTpoPyh5PTAseD1uZXcgaCh2KSxiPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSx4Lm9ic2VydmUoYix7Y2hhcmFjdGVyRGF0YTohMH0pLF89ZnVuY3Rpb24oKXtiLmRhdGE9eT0rK3klMn0pOnA/KChtPW5ldyBNZXNzYWdlQ2hhbm5lbCkucG9ydDEub25tZXNzYWdlPXYsXz1mdW5jdGlvbigpe3JldHVybiBtLnBvcnQyLnBvc3RNZXNzYWdlKDApfSk6Xz12b2lkIDA9PT1jJiYiZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbigpe3RyeXt2YXIgZT10KCJ2ZXJ0eCIpO3JldHVybiBvPWUucnVuT25Mb29wfHxlLnJ1bk9uQ29udGV4dCxmdW5jdGlvbigpe28odil9fWNhdGNoKHQpe3JldHVybiBkKCl9fSgpOmQoKTt2YXIgVD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMTYpO2Z1bmN0aW9uIE0oKXt9dmFyIEE9dm9pZCAwLFM9MSxFPTIsTD1uZXcgQjtmdW5jdGlvbiBDKHQpe3RyeXtyZXR1cm4gdC50aGVufWNhdGNoKHQpe3JldHVybiBMLmVycm9yPXQsTH19ZnVuY3Rpb24gUCh0LHIsbil7ci5jb25zdHJ1Y3Rvcj09PXQuY29uc3RydWN0b3ImJm49PT13JiZyLmNvbnN0cnVjdG9yLnJlc29sdmU9PT1rP2Z1bmN0aW9uKHQsZSl7ZS5fc3RhdGU9PT1TP0kodCxlLl9yZXN1bHQpOmUuX3N0YXRlPT09RT9EKHQsZS5fcmVzdWx0KTpSKGUsdm9pZCAwLGZ1bmN0aW9uKGUpe3JldHVybiBPKHQsZSl9LGZ1bmN0aW9uKGUpe3JldHVybiBEKHQsZSl9KX0odCxyKTpuPT09TD9EKHQsTC5lcnJvcik6dm9pZCAwPT09bj9JKHQscik6ZShuKT9mdW5jdGlvbih0LGUscil7bChmdW5jdGlvbih0KXt2YXIgbj0hMSxhPWZ1bmN0aW9uKHQsZSxyLG4pe3RyeXt0LmNhbGwoZSxyLG4pfWNhdGNoKHQpe3JldHVybiB0fX0ocixlLGZ1bmN0aW9uKHIpe258fChuPSEwLGUhPT1yP08odCxyKTpJKHQscikpfSxmdW5jdGlvbihlKXtufHwobj0hMCxEKHQsZSkpfSx0Ll9sYWJlbCk7IW4mJmEmJihuPSEwLEQodCxhKSl9LHQpfSh0LHIsbik6SSh0LHIpfWZ1bmN0aW9uIE8odCxlKXt2YXIgcjt0PT09ZT9EKHQsbmV3IFR5cGVFcnJvcigiWW91IGNhbm5vdCByZXNvbHZlIGEgcHJvbWlzZSB3aXRoIGl0c2VsZiIpKToiZnVuY3Rpb24iPT10eXBlb2Yocj1lKXx8Im9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cj9QKHQsZSxDKGUpKTpJKHQsZSl9ZnVuY3Rpb24geih0KXt0Ll9vbmVycm9yJiZ0Ll9vbmVycm9yKHQuX3Jlc3VsdCksRih0KX1mdW5jdGlvbiBJKHQsZSl7dC5fc3RhdGU9PT1BJiYodC5fcmVzdWx0PWUsdC5fc3RhdGU9UywwIT09dC5fc3Vic2NyaWJlcnMubGVuZ3RoJiZsKEYsdCkpfWZ1bmN0aW9uIEQodCxlKXt0Ll9zdGF0ZT09PUEmJih0Ll9zdGF0ZT1FLHQuX3Jlc3VsdD1lLGwoeix0KSl9ZnVuY3Rpb24gUih0LGUscixuKXt2YXIgYT10Ll9zdWJzY3JpYmVycyxpPWEubGVuZ3RoO3QuX29uZXJyb3I9bnVsbCxhW2ldPWUsYVtpK1NdPXIsYVtpK0VdPW4sMD09PWkmJnQuX3N0YXRlJiZsKEYsdCl9ZnVuY3Rpb24gRih0KXt2YXIgZT10Ll9zdWJzY3JpYmVycyxyPXQuX3N0YXRlO2lmKDAhPT1lLmxlbmd0aCl7Zm9yKHZhciBuPXZvaWQgMCxhPXZvaWQgMCxpPXQuX3Jlc3VsdCxvPTA7bzxlLmxlbmd0aDtvKz0zKW49ZVtvXSxhPWVbbytyXSxuP2oocixuLGEsaSk6YShpKTt0Ll9zdWJzY3JpYmVycy5sZW5ndGg9MH19ZnVuY3Rpb24gQigpe3RoaXMuZXJyb3I9bnVsbH12YXIgTj1uZXcgQjtmdW5jdGlvbiBqKHQscixuLGEpe3ZhciBpPWUobiksbz12b2lkIDAscz12b2lkIDAsbD12b2lkIDAsYz12b2lkIDA7aWYoaSl7aWYoKG89ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHQoZSl9Y2F0Y2godCl7cmV0dXJuIE4uZXJyb3I9dCxOfX0obixhKSk9PT1OPyhjPSEwLHM9by5lcnJvcixvPW51bGwpOmw9ITAscj09PW8pcmV0dXJuIHZvaWQgRChyLG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZXMgY2FsbGJhY2sgY2Fubm90IHJldHVybiB0aGF0IHNhbWUgcHJvbWlzZS4iKSl9ZWxzZSBvPWEsbD0hMDtyLl9zdGF0ZSE9PUF8fChpJiZsP08ocixvKTpjP0QocixzKTp0PT09Uz9JKHIsbyk6dD09PUUmJkQocixvKSl9dmFyIFY9MDtmdW5jdGlvbiBVKHQpe3RbVF09VisrLHQuX3N0YXRlPXZvaWQgMCx0Ll9yZXN1bHQ9dm9pZCAwLHQuX3N1YnNjcmliZXJzPVtdfWZ1bmN0aW9uIHEodCxlKXt0aGlzLl9pbnN0YW5jZUNvbnN0cnVjdG9yPXQsdGhpcy5wcm9taXNlPW5ldyB0KE0pLHRoaXMucHJvbWlzZVtUXXx8VSh0aGlzLnByb21pc2UpLHIoZSk/KHRoaXMuX2lucHV0PWUsdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5fcmVtYWluaW5nPWUubGVuZ3RoLHRoaXMuX3Jlc3VsdD1uZXcgQXJyYXkodGhpcy5sZW5ndGgpLDA9PT10aGlzLmxlbmd0aD9JKHRoaXMucHJvbWlzZSx0aGlzLl9yZXN1bHQpOih0aGlzLmxlbmd0aD10aGlzLmxlbmd0aHx8MCx0aGlzLl9lbnVtZXJhdGUoKSwwPT09dGhpcy5fcmVtYWluaW5nJiZJKHRoaXMucHJvbWlzZSx0aGlzLl9yZXN1bHQpKSk6RCh0aGlzLnByb21pc2UsbmV3IEVycm9yKCJBcnJheSBNZXRob2RzIG11c3QgYmUgcHJvdmlkZWQgYW4gQXJyYXkiKSl9ZnVuY3Rpb24gSCh0KXt0aGlzW1RdPVYrKyx0aGlzLl9yZXN1bHQ9dGhpcy5fc3RhdGU9dm9pZCAwLHRoaXMuX3N1YnNjcmliZXJzPVtdLE0hPT10JiYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJmZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiWW91IG11c3QgcGFzcyBhIHJlc29sdmVyIGZ1bmN0aW9uIGFzIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgcHJvbWlzZSBjb25zdHJ1Y3RvciIpfSgpLHRoaXMgaW5zdGFuY2VvZiBIP2Z1bmN0aW9uKHQsZSl7dHJ5e2UoZnVuY3Rpb24oZSl7Tyh0LGUpfSxmdW5jdGlvbihlKXtEKHQsZSl9KX1jYXRjaChlKXtEKHQsZSl9fSh0aGlzLHQpOmZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCAnUHJvbWlzZSc6IFBsZWFzZSB1c2UgdGhlICduZXcnIG9wZXJhdG9yLCB0aGlzIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIil9KCkpfWZ1bmN0aW9uIEcoKXt2YXIgdD12b2lkIDA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBhKXQ9YTtlbHNlIGlmKCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZil0PXNlbGY7ZWxzZSB0cnl7dD1GdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe3Rocm93IG5ldyBFcnJvcigicG9seWZpbGwgZmFpbGVkIGJlY2F1c2UgZ2xvYmFsIG9iamVjdCBpcyB1bmF2YWlsYWJsZSBpbiB0aGlzIGVudmlyb25tZW50Iil9dmFyIGU9dC5Qcm9taXNlO2lmKGUpe3ZhciByPW51bGw7dHJ5e3I9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUucmVzb2x2ZSgpKX1jYXRjaCh0KXt9aWYoIltvYmplY3QgUHJvbWlzZV0iPT09ciYmIWUuY2FzdClyZXR1cm59dC5Qcm9taXNlPUh9cmV0dXJuIHEucHJvdG90eXBlLl9lbnVtZXJhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5sZW5ndGgsZT10aGlzLl9pbnB1dCxyPTA7dGhpcy5fc3RhdGU9PT1BJiZyPHQ7cisrKXRoaXMuX2VhY2hFbnRyeShlW3JdLHIpfSxxLnByb3RvdHlwZS5fZWFjaEVudHJ5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5faW5zdGFuY2VDb25zdHJ1Y3RvcixuPXIucmVzb2x2ZTtpZihuPT09ayl7dmFyIGE9Qyh0KTtpZihhPT09dyYmdC5fc3RhdGUhPT1BKXRoaXMuX3NldHRsZWRBdCh0Ll9zdGF0ZSxlLHQuX3Jlc3VsdCk7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2YgYSl0aGlzLl9yZW1haW5pbmctLSx0aGlzLl9yZXN1bHRbZV09dDtlbHNlIGlmKHI9PT1IKXt2YXIgaT1uZXcgcihNKTtQKGksdCxhKSx0aGlzLl93aWxsU2V0dGxlQXQoaSxlKX1lbHNlIHRoaXMuX3dpbGxTZXR0bGVBdChuZXcgcihmdW5jdGlvbihlKXtyZXR1cm4gZSh0KX0pLGUpfWVsc2UgdGhpcy5fd2lsbFNldHRsZUF0KG4odCksZSl9LHEucHJvdG90eXBlLl9zZXR0bGVkQXQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMucHJvbWlzZTtuLl9zdGF0ZT09PUEmJih0aGlzLl9yZW1haW5pbmctLSx0PT09RT9EKG4scik6dGhpcy5fcmVzdWx0W2VdPXIpLDA9PT10aGlzLl9yZW1haW5pbmcmJkkobix0aGlzLl9yZXN1bHQpfSxxLnByb3RvdHlwZS5fd2lsbFNldHRsZUF0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztSKHQsdm9pZCAwLGZ1bmN0aW9uKHQpe3JldHVybiByLl9zZXR0bGVkQXQoUyxlLHQpfSxmdW5jdGlvbih0KXtyZXR1cm4gci5fc2V0dGxlZEF0KEUsZSx0KX0pfSxILmFsbD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHEodGhpcyx0KS5wcm9taXNlfSxILnJhY2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gcih0KT9uZXcgZShmdW5jdGlvbihyLG4pe2Zvcih2YXIgYT10Lmxlbmd0aCxpPTA7aTxhO2krKyllLnJlc29sdmUodFtpXSkudGhlbihyLG4pfSk6bmV3IGUoZnVuY3Rpb24odCxlKXtyZXR1cm4gZShuZXcgVHlwZUVycm9yKCJZb3UgbXVzdCBwYXNzIGFuIGFycmF5IHRvIHJhY2UuIikpfSl9LEgucmVzb2x2ZT1rLEgucmVqZWN0PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0aGlzKE0pO3JldHVybiBEKGUsdCksZX0sSC5fc2V0U2NoZWR1bGVyPWZ1bmN0aW9uKHQpe3M9dH0sSC5fc2V0QXNhcD1mdW5jdGlvbih0KXtsPXR9LEguX2FzYXA9bCxILnByb3RvdHlwZT17Y29uc3RydWN0b3I6SCx0aGVuOncsY2F0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfX0sRygpLEgucG9seWZpbGw9RyxILlByb21pc2U9SCxIfSl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSwidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se19wcm9jZXNzOjQ4NH1dLDIyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9pcy1pbXBsZW1lbnRlZCIpKCk/U3ltYm9sOnQoIi4vcG9seWZpbGwiKX0seyIuL2lzLWltcGxlbWVudGVkIjoyMjMsIi4vcG9seWZpbGwiOjIyNX1dLDIyMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17b2JqZWN0OiEwLHN5bWJvbDohMH07ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFN5bWJvbClyZXR1cm4hMTt0PVN5bWJvbCgidGVzdCBzeW1ib2wiKTt0cnl7U3RyaW5nKHQpfWNhdGNoKHQpe3JldHVybiExfXJldHVybiEhblt0eXBlb2YgU3ltYm9sLml0ZXJhdG9yXSYmKCEhblt0eXBlb2YgU3ltYm9sLnRvUHJpbWl0aXZlXSYmISFuW3R5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWddKX19LHt9XSwyMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmKCJzeW1ib2wiPT10eXBlb2YgdHx8ISF0LmNvbnN0cnVjdG9yJiYoIlN5bWJvbCI9PT10LmNvbnN0cnVjdG9yLm5hbWUmJiJTeW1ib2wiPT09dFt0LmNvbnN0cnVjdG9yLnRvU3RyaW5nVGFnXSkpfX0se31dLDIyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhLGksbyxzPXQoImQiKSxsPXQoIi4vdmFsaWRhdGUtc3ltYm9sIiksYz1PYmplY3QuY3JlYXRlLHU9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsaD1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QucHJvdG90eXBlLHA9YyhudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sKXtuPVN5bWJvbDt0cnl7U3RyaW5nKG4oKSksbz0hMH1jYXRjaCh0KXt9fXZhciBkLGc9KGQ9YyhudWxsKSxmdW5jdGlvbih0KXtmb3IodmFyIGUscixuPTA7ZFt0KyhufHwiIildOykrK247cmV0dXJuIGRbdCs9bnx8IiJdPSEwLGgoZixlPSJAQCIrdCxzLmdzKG51bGwsZnVuY3Rpb24odCl7cnx8KHI9ITAsaCh0aGlzLGUscyh0KSkscj0hMSl9KSksZX0pO2k9ZnVuY3Rpb24odCl7aWYodGhpcyBpbnN0YW5jZW9mIGkpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7cmV0dXJuIGEodCl9LGUuZXhwb3J0cz1hPWZ1bmN0aW9uIHQoZSl7dmFyIHI7aWYodGhpcyBpbnN0YW5jZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7cmV0dXJuIG8/bihlKToocj1jKGkucHJvdG90eXBlKSxlPXZvaWQgMD09PWU/IiI6U3RyaW5nKGUpLHUocix7X19kZXNjcmlwdGlvbl9fOnMoIiIsZSksX19uYW1lX186cygiIixnKGUpKX0pKX0sdShhLHtmb3I6cyhmdW5jdGlvbih0KXtyZXR1cm4gcFt0XT9wW3RdOnBbdF09YShTdHJpbmcodCkpfSksa2V5Rm9yOnMoZnVuY3Rpb24odCl7dmFyIGU7Zm9yKGUgaW4gbCh0KSxwKWlmKHBbZV09PT10KXJldHVybiBlfSksaGFzSW5zdGFuY2U6cygiIixuJiZuLmhhc0luc3RhbmNlfHxhKCJoYXNJbnN0YW5jZSIpKSxpc0NvbmNhdFNwcmVhZGFibGU6cygiIixuJiZuLmlzQ29uY2F0U3ByZWFkYWJsZXx8YSgiaXNDb25jYXRTcHJlYWRhYmxlIikpLGl0ZXJhdG9yOnMoIiIsbiYmbi5pdGVyYXRvcnx8YSgiaXRlcmF0b3IiKSksbWF0Y2g6cygiIixuJiZuLm1hdGNofHxhKCJtYXRjaCIpKSxyZXBsYWNlOnMoIiIsbiYmbi5yZXBsYWNlfHxhKCJyZXBsYWNlIikpLHNlYXJjaDpzKCIiLG4mJm4uc2VhcmNofHxhKCJzZWFyY2giKSksc3BlY2llczpzKCIiLG4mJm4uc3BlY2llc3x8YSgic3BlY2llcyIpKSxzcGxpdDpzKCIiLG4mJm4uc3BsaXR8fGEoInNwbGl0IikpLHRvUHJpbWl0aXZlOnMoIiIsbiYmbi50b1ByaW1pdGl2ZXx8YSgidG9QcmltaXRpdmUiKSksdG9TdHJpbmdUYWc6cygiIixuJiZuLnRvU3RyaW5nVGFnfHxhKCJ0b1N0cmluZ1RhZyIpKSx1bnNjb3BhYmxlczpzKCIiLG4mJm4udW5zY29wYWJsZXN8fGEoInVuc2NvcGFibGVzIikpfSksdShpLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6cyhhKSx0b1N0cmluZzpzKCIiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19uYW1lX199KX0pLHUoYS5wcm90b3R5cGUse3RvU3RyaW5nOnMoZnVuY3Rpb24oKXtyZXR1cm4iU3ltYm9sICgiK2wodGhpcykuX19kZXNjcmlwdGlvbl9fKyIpIn0pLHZhbHVlT2Y6cyhmdW5jdGlvbigpe3JldHVybiBsKHRoaXMpfSl9KSxoKGEucHJvdG90eXBlLGEudG9QcmltaXRpdmUscygiIixmdW5jdGlvbigpe3ZhciB0PWwodGhpcyk7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0P3Q6dC50b1N0cmluZygpfSkpLGgoYS5wcm90b3R5cGUsYS50b1N0cmluZ1RhZyxzKCJjIiwiU3ltYm9sIikpLGgoaS5wcm90b3R5cGUsYS50b1N0cmluZ1RhZyxzKCJjIixhLnByb3RvdHlwZVthLnRvU3RyaW5nVGFnXSkpLGgoaS5wcm90b3R5cGUsYS50b1ByaW1pdGl2ZSxzKCJjIixhLnByb3RvdHlwZVthLnRvUHJpbWl0aXZlXSkpfSx7Ii4vdmFsaWRhdGUtc3ltYm9sIjoyMjYsZDoxNTN9XSwyMjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pcy1zeW1ib2wiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcih0KyIgaXMgbm90IGEgc3ltYm9sIik7cmV0dXJuIHR9fSx7Ii4vaXMtc3ltYm9sIjoyMjR9XSwyMjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lfHwwLGE9cnx8MTtyZXR1cm5bW3RbMTJdK3RbMF0sdFsxM10rdFsxXSx0WzE0XSt0WzJdLHRbMTVdK3RbM11dLFt0WzEyXS10WzBdLHRbMTNdLXRbMV0sdFsxNF0tdFsyXSx0WzE1XS10WzNdXSxbdFsxMl0rdFs0XSx0WzEzXSt0WzVdLHRbMTRdK3RbNl0sdFsxNV0rdFs3XV0sW3RbMTJdLXRbNF0sdFsxM10tdFs1XSx0WzE0XS10WzZdLHRbMTVdLXRbN11dLFtuKnRbMTJdK3RbOF0sbip0WzEzXSt0WzldLG4qdFsxNF0rdFsxMF0sbip0WzE1XSt0WzExXV0sW2EqdFsxMl0tdFs4XSxhKnRbMTNdLXRbOV0sYSp0WzE0XS10WzEwXSxhKnRbMTVdLXRbMTFdXV19fSx7fV0sMjI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImlzLXN0cmluZy1ibGFuayIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10eXBlb2YgdDtpZigic3RyaW5nIj09PWUpe3ZhciByPXQ7aWYoMD09PSh0PSt0KSYmbihyKSlyZXR1cm4hMX1lbHNlIGlmKCJudW1iZXIiIT09ZSlyZXR1cm4hMTtyZXR1cm4gdC10PDF9fSx7ImlzLXN0cmluZy1ibGFuayI6NDI1fV0sMjI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IG8oWzBdLFswXSwwKTtjYXNlIDE6aWYoIm51bWJlciI9PXR5cGVvZiB0KXt2YXIgbj1sKHQpO3JldHVybiBuZXcgbyhuLG4sMCl9cmV0dXJuIG5ldyBvKHQsbCh0Lmxlbmd0aCksMCk7Y2FzZSAyOmlmKCJudW1iZXIiPT10eXBlb2YgZSl7dmFyIG49bCh0Lmxlbmd0aCk7cmV0dXJuIG5ldyBvKHQsbiwrZSl9cj0wO2Nhc2UgMzppZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigic3RhdGUgYW5kIHZlbG9jaXR5IGxlbmd0aHMgbXVzdCBtYXRjaCIpO3JldHVybiBuZXcgbyh0LGUscil9fTt2YXIgbj10KCJjdWJpYy1oZXJtaXRlIiksYT10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpO2Z1bmN0aW9uIGkodCxlLHIpe3JldHVybiBNYXRoLm1pbihlLE1hdGgubWF4KHQscikpfWZ1bmN0aW9uIG8odCxlLHIpe3RoaXMuZGltZW5zaW9uPXQubGVuZ3RoLHRoaXMuYm91bmRzPVtuZXcgQXJyYXkodGhpcy5kaW1lbnNpb24pLG5ldyBBcnJheSh0aGlzLmRpbWVuc2lvbildO2Zvcih2YXIgbj0wO248dGhpcy5kaW1lbnNpb247KytuKXRoaXMuYm91bmRzWzBdW25dPS0xLzAsdGhpcy5ib3VuZHNbMV1bbl09MS8wO3RoaXMuX3N0YXRlPXQuc2xpY2UoKS5yZXZlcnNlKCksdGhpcy5fdmVsb2NpdHk9ZS5zbGljZSgpLnJldmVyc2UoKSx0aGlzLl90aW1lPVtyXSx0aGlzLl9zY3JhdGNoPVt0LnNsaWNlKCksdC5zbGljZSgpLHQuc2xpY2UoKSx0LnNsaWNlKCksdC5zbGljZSgpXX12YXIgcz1vLnByb3RvdHlwZTtmdW5jdGlvbiBsKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpZVtyXT0wO3JldHVybiBlfXMuZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGU9YS5ndCh0aGlzLl90aW1lLHQpLTE7ZTw9MHx8KHRoaXMuX3RpbWUuc3BsaWNlKDAsZSksdGhpcy5fc3RhdGUuc3BsaWNlKDAsZSp0aGlzLmRpbWVuc2lvbiksdGhpcy5fdmVsb2NpdHkuc3BsaWNlKDAsZSp0aGlzLmRpbWVuc2lvbikpfSxzLmN1cnZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpbWUscj1lLmxlbmd0aCxvPWEubGUoZSx0KSxzPXRoaXMuX3NjcmF0Y2hbMF0sbD10aGlzLl9zdGF0ZSxjPXRoaXMuX3ZlbG9jaXR5LHU9dGhpcy5kaW1lbnNpb24saD10aGlzLmJvdW5kcztpZihvPDApZm9yKHZhciBmPXUtMSxwPTA7cDx1OysrcCwtLWYpc1twXT1sW2ZdO2Vsc2UgaWYobz49ci0xKXtmPWwubGVuZ3RoLTE7dmFyIGQ9dC1lW3ItMV07Zm9yKHA9MDtwPHU7KytwLC0tZilzW3BdPWxbZl0rZCpjW2ZdfWVsc2V7Zj11KihvKzEpLTE7dmFyIGc9ZVtvXSx2PWVbbysxXS1nfHwxLG09dGhpcy5fc2NyYXRjaFsxXSx5PXRoaXMuX3NjcmF0Y2hbMl0seD10aGlzLl9zY3JhdGNoWzNdLGI9dGhpcy5fc2NyYXRjaFs0XSxfPSEwO2ZvcihwPTA7cDx1OysrcCwtLWYpbVtwXT1sW2ZdLHhbcF09Y1tmXSp2LHlbcF09bFtmK3VdLGJbcF09Y1tmK3VdKnYsXz1fJiZtW3BdPT09eVtwXSYmeFtwXT09PWJbcF0mJjA9PT14W3BdO2lmKF8pZm9yKHA9MDtwPHU7KytwKXNbcF09bVtwXTtlbHNlIG4obSx4LHksYiwodC1nKS92LHMpfXZhciB3PWhbMF0saz1oWzFdO2ZvcihwPTA7cDx1OysrcClzW3BdPWkod1twXSxrW3BdLHNbcF0pO3JldHVybiBzfSxzLmRjdXJ2ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aW1lLHI9ZS5sZW5ndGgsaT1hLmxlKGUsdCksbz10aGlzLl9zY3JhdGNoWzBdLHM9dGhpcy5fc3RhdGUsbD10aGlzLl92ZWxvY2l0eSxjPXRoaXMuZGltZW5zaW9uO2lmKGk+PXItMSlmb3IodmFyIHU9cy5sZW5ndGgtMSxoPShlW3ItMV0sMCk7aDxjOysraCwtLXUpb1toXT1sW3VdO2Vsc2V7dT1jKihpKzEpLTE7dmFyIGY9ZVtpXSxwPWVbaSsxXS1mfHwxLGQ9dGhpcy5fc2NyYXRjaFsxXSxnPXRoaXMuX3NjcmF0Y2hbMl0sdj10aGlzLl9zY3JhdGNoWzNdLG09dGhpcy5fc2NyYXRjaFs0XSx5PSEwO2ZvcihoPTA7aDxjOysraCwtLXUpZFtoXT1zW3VdLHZbaF09bFt1XSpwLGdbaF09c1t1K2NdLG1baF09bFt1K2NdKnAseT15JiZkW2hdPT09Z1toXSYmdltoXT09PW1baF0mJjA9PT12W2hdO2lmKHkpZm9yKGg9MDtoPGM7KytoKW9baF09MDtlbHNle24uZGVyaXZhdGl2ZShkLHYsZyxtLCh0LWYpL3Asbyk7Zm9yKGg9MDtoPGM7KytoKW9baF0vPXB9fXJldHVybiBvfSxzLmxhc3RUPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fdGltZTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX0scy5zdGFibGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fdmVsb2NpdHksZT10Lmxlbmd0aCxyPXRoaXMuZGltZW5zaW9uLTE7cj49MDstLXIpaWYodFstLWVdKXJldHVybiExO3JldHVybiEwfSxzLmp1bXA9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXN0VCgpLHI9dGhpcy5kaW1lbnNpb247aWYoISh0PGV8fGFyZ3VtZW50cy5sZW5ndGghPT1yKzEpKXt2YXIgbj10aGlzLl9zdGF0ZSxhPXRoaXMuX3ZlbG9jaXR5LG89bi5sZW5ndGgtdGhpcy5kaW1lbnNpb24scz10aGlzLmJvdW5kcyxsPXNbMF0sYz1zWzFdO3RoaXMuX3RpbWUucHVzaChlLHQpO2Zvcih2YXIgdT0wO3U8MjsrK3UpZm9yKHZhciBoPTA7aDxyOysraCluLnB1c2gobltvKytdKSxhLnB1c2goMCk7dGhpcy5fdGltZS5wdXNoKHQpO2ZvcihoPXI7aD4wOy0taCluLnB1c2goaShsW2gtMV0sY1toLTFdLGFyZ3VtZW50c1toXSkpLGEucHVzaCgwKX19LHMucHVzaD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhc3RUKCkscj10aGlzLmRpbWVuc2lvbjtpZighKHQ8ZXx8YXJndW1lbnRzLmxlbmd0aCE9PXIrMSkpe3ZhciBuPXRoaXMuX3N0YXRlLGE9dGhpcy5fdmVsb2NpdHksbz1uLmxlbmd0aC10aGlzLmRpbWVuc2lvbixzPXQtZSxsPXRoaXMuYm91bmRzLGM9bFswXSx1PWxbMV0saD1zPjFlLTY/MS9zOjA7dGhpcy5fdGltZS5wdXNoKHQpO2Zvcih2YXIgZj1yO2Y+MDstLWYpe3ZhciBwPWkoY1tmLTFdLHVbZi0xXSxhcmd1bWVudHNbZl0pO24ucHVzaChwKSxhLnB1c2goKHAtbltvKytdKSpoKX19fSxzLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmRpbWVuc2lvbjtpZighKHQ8dGhpcy5sYXN0VCgpfHxhcmd1bWVudHMubGVuZ3RoIT09ZSsxKSl7dmFyIHI9dGhpcy5fc3RhdGUsbj10aGlzLl92ZWxvY2l0eSxhPXRoaXMuYm91bmRzLG89YVswXSxzPWFbMV07dGhpcy5fdGltZS5wdXNoKHQpO2Zvcih2YXIgbD1lO2w+MDstLWwpci5wdXNoKGkob1tsLTFdLHNbbC0xXSxhcmd1bWVudHNbbF0pKSxuLnB1c2goMCl9fSxzLm1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXN0VCgpLHI9dGhpcy5kaW1lbnNpb247aWYoISh0PD1lfHxhcmd1bWVudHMubGVuZ3RoIT09cisxKSl7dmFyIG49dGhpcy5fc3RhdGUsYT10aGlzLl92ZWxvY2l0eSxvPW4ubGVuZ3RoLXRoaXMuZGltZW5zaW9uLHM9dGhpcy5ib3VuZHMsbD1zWzBdLGM9c1sxXSx1PXQtZSxoPXU+MWUtNj8xL3U6MDt0aGlzLl90aW1lLnB1c2godCk7Zm9yKHZhciBmPXI7Zj4wOy0tZil7dmFyIHA9YXJndW1lbnRzW2ZdO24ucHVzaChpKGxbZi0xXSxjW2YtMV0sbltvKytdK3ApKSxhLnB1c2gocCpoKX19fSxzLmlkbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXN0VCgpO2lmKCEodDxlKSl7dmFyIHI9dGhpcy5kaW1lbnNpb24sbj10aGlzLl9zdGF0ZSxhPXRoaXMuX3ZlbG9jaXR5LG89bi5sZW5ndGgtcixzPXRoaXMuYm91bmRzLGw9c1swXSxjPXNbMV0sdT10LWU7dGhpcy5fdGltZS5wdXNoKHQpO2Zvcih2YXIgaD1yLTE7aD49MDstLWgpbi5wdXNoKGkobFtoXSxjW2hdLG5bb10rdSphW29dKSksYS5wdXNoKDApLG8rPTF9fX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6OTMsImN1YmljLWhlcm1pdGUiOjE0N31dLDIzMDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImR0eXBlIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZighdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtdXN0IHNwZWNpZnkgZGF0YSBhcyBmaXJzdCBwYXJhbWV0ZXIiKTtpZihyPTB8KyhyfHwwKSxBcnJheS5pc0FycmF5KHQpJiZ0WzBdJiYibnVtYmVyIj09dHlwZW9mIHRbMF1bMF0pe3ZhciBhLGksbyxzLGw9dFswXS5sZW5ndGgsYz10Lmxlbmd0aCpsO2UmJiJzdHJpbmciIT10eXBlb2YgZXx8KGU9bmV3KG4oZXx8ImZsb2F0MzIiKSkoYytyKSk7dmFyIHU9ZS5sZW5ndGgtcjtpZihjIT09dSl0aHJvdyBuZXcgRXJyb3IoInNvdXJjZSBsZW5ndGggIitjKyIgKCIrbCsieCIrdC5sZW5ndGgrIikgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gbGVuZ3RoICIrdSk7Zm9yKGE9MCxvPXI7YTx0Lmxlbmd0aDthKyspZm9yKGk9MDtpPGw7aSsrKWVbbysrXT1udWxsPT09dFthXVtpXT9OYU46dFthXVtpXX1lbHNlIGlmKGUmJiJzdHJpbmciIT10eXBlb2YgZSllLnNldCh0LHIpO2Vsc2V7dmFyIGg9bihlfHwiZmxvYXQzMiIpO2lmKEFycmF5LmlzQXJyYXkodCl8fCJhcnJheSI9PT1lKWZvcihlPW5ldyBoKHQubGVuZ3RoK3IpLGE9MCxvPXIscz1lLmxlbmd0aDtvPHM7bysrLGErKyllW29dPW51bGw9PT10W2FdP05hTjp0W2FdO2Vsc2UgMD09PXI/ZT1uZXcgaCh0KTooZT1uZXcgaCh0Lmxlbmd0aCtyKSkuc2V0KHQscil9cmV0dXJuIGV9fSx7ZHR5cGU6MTcxfV0sMjMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImNzcy1mb250L3N0cmluZ2lmeSIpLGE9WzMyLDEyNl07ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPSh0PXR8fHt9KS5zaGFwZT90LnNoYXBlOnQuY2FudmFzP1t0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHRdOls1MTIsNTEyXSxyPXQuY2FudmFzfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxpPXQuZm9udCxvPSJudW1iZXIiPT10eXBlb2YgdC5zdGVwP1t0LnN0ZXAsdC5zdGVwXTp0LnN0ZXB8fFszMiwzMl0scz10LmNoYXJzfHxhO2kmJiJzdHJpbmciIT10eXBlb2YgaSYmKGk9bihpKSk7aWYoQXJyYXkuaXNBcnJheShzKSl7aWYoMj09PXMubGVuZ3RoJiYibnVtYmVyIj09dHlwZW9mIHNbMF0mJiJudW1iZXIiPT10eXBlb2Ygc1sxXSl7Zm9yKHZhciBsPVtdLGM9c1swXSx1PTA7Yzw9c1sxXTtjKyspbFt1KytdPVN0cmluZy5mcm9tQ2hhckNvZGUoYyk7cz1sfX1lbHNlIHM9U3RyaW5nKHMpLnNwbGl0KCIiKTtlPWUuc2xpY2UoKSxyLndpZHRoPWVbMF0sci5oZWlnaHQ9ZVsxXTt2YXIgaD1yLmdldENvbnRleHQoIjJkIik7aC5maWxsU3R5bGU9IiMwMDAiLGguZmlsbFJlY3QoMCwwLHIud2lkdGgsci5oZWlnaHQpLGguZm9udD1pLGgudGV4dEFsaWduPSJjZW50ZXIiLGgudGV4dEJhc2VsaW5lPSJtaWRkbGUiLGguZmlsbFN0eWxlPSIjZmZmIjtmb3IodmFyIGY9b1swXS8yLHA9b1sxXS8yLGM9MDtjPHMubGVuZ3RoO2MrKyloLmZpbGxUZXh0KHNbY10sZixwKSwoZis9b1swXSk+ZVswXS1vWzBdLzImJihmPW9bMF0vMixwKz1vWzFdKTtyZXR1cm4gcn19LHsiY3NzLWZvbnQvc3RyaW5naWZ5IjoxNDR9XSwyMzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2V8fChlPXt9KSwoInN0cmluZyI9PXR5cGVvZiB0fHxBcnJheS5pc0FycmF5KHQpKSYmKGUuZmFtaWx5PXQpO3ZhciByPUFycmF5LmlzQXJyYXkoZS5mYW1pbHkpP2UuZmFtaWx5LmpvaW4oIiwgIik6ZS5mYW1pbHk7aWYoIXIpdGhyb3cgRXJyb3IoImBmYW1pbHlgIG11c3QgYmUgZGVmaW5lZCIpO3ZhciBzPWUuc2l6ZXx8ZS5mb250U2l6ZXx8ZS5lbXx8NDgsbD1lLndlaWdodHx8ZS5mb250V2VpZ2h0fHwiIixjPSh0PVtlLnN0eWxlfHxlLmZvbnRTdHlsZXx8IiIsbCxzXS5qb2luKCIgIikrInB4ICIrcixlLm9yaWdpbnx8InRvcCIpO2lmKG4uY2FjaGVbcl0mJnM8PW4uY2FjaGVbcl0uZW0pcmV0dXJuIGEobi5jYWNoZVtyXSxjKTt2YXIgdT1lLmNhbnZhc3x8bi5jYW52YXMsaD11LmdldENvbnRleHQoIjJkIiksZj17dXBwZXI6dm9pZCAwIT09ZS51cHBlcj9lLnVwcGVyOiJIIixsb3dlcjp2b2lkIDAhPT1lLmxvd2VyP2UubG93ZXI6IngiLGRlc2NlbnQ6dm9pZCAwIT09ZS5kZXNjZW50P2UuZGVzY2VudDoicCIsYXNjZW50OnZvaWQgMCE9PWUuYXNjZW50P2UuYXNjZW50OiJoIix0aXR0bGU6dm9pZCAwIT09ZS50aXR0bGU/ZS50aXR0bGU6ImkiLG92ZXJzaG9vdDp2b2lkIDAhPT1lLm92ZXJzaG9vdD9lLm92ZXJzaG9vdDoiTyJ9LHA9TWF0aC5jZWlsKDEuNSpzKTt1LmhlaWdodD1wLHUud2lkdGg9LjUqcCxoLmZvbnQ9dDt2YXIgZD17dG9wOjB9O2guY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJ0b3AiLGguZmlsbFN0eWxlPSJibGFjayIsaC5maWxsVGV4dCgiSCIsMCwwKTt2YXIgZz1pKGguZ2V0SW1hZ2VEYXRhKDAsMCxwLHApKTtoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0iYm90dG9tIixoLmZpbGxUZXh0KCJIIiwwLHApO3ZhciB2PWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpO2QubGluZUhlaWdodD1kLmJvdHRvbT1wLXYrZyxoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0iYWxwaGFiZXRpYyIsaC5maWxsVGV4dCgiSCIsMCxwKTt2YXIgbT1wLWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpLTErZztkLmJhc2VsaW5lPWQuYWxwaGFiZXRpYz1tLGguY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJtaWRkbGUiLGguZmlsbFRleHQoIkgiLDAsLjUqcCk7dmFyIHk9aShoLmdldEltYWdlRGF0YSgwLDAscCxwKSk7ZC5tZWRpYW49ZC5taWRkbGU9cC15LTErZy0uNSpwLGguY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJoYW5naW5nIixoLmZpbGxUZXh0KCJIIiwwLC41KnApO3ZhciB4PWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpO2QuaGFuZ2luZz1wLXgtMStnLS41KnAsaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9ImlkZW9ncmFwaGljIixoLmZpbGxUZXh0KCJIIiwwLHApO3ZhciBiPWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpO2lmKGQuaWRlb2dyYXBoaWM9cC1iLTErZyxmLnVwcGVyJiYoaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9InRvcCIsaC5maWxsVGV4dChmLnVwcGVyLDAsMCksZC51cHBlcj1pKGguZ2V0SW1hZ2VEYXRhKDAsMCxwLHApKSxkLmNhcEhlaWdodD1kLmJhc2VsaW5lLWQudXBwZXIpLGYubG93ZXImJihoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0idG9wIixoLmZpbGxUZXh0KGYubG93ZXIsMCwwKSxkLmxvd2VyPWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpLGQueEhlaWdodD1kLmJhc2VsaW5lLWQubG93ZXIpLGYudGl0dGxlJiYoaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9InRvcCIsaC5maWxsVGV4dChmLnRpdHRsZSwwLDApLGQudGl0dGxlPWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpKSxmLmFzY2VudCYmKGguY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJ0b3AiLGguZmlsbFRleHQoZi5hc2NlbnQsMCwwKSxkLmFzY2VudD1pKGguZ2V0SW1hZ2VEYXRhKDAsMCxwLHApKSksZi5kZXNjZW50JiYoaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9InRvcCIsaC5maWxsVGV4dChmLmRlc2NlbnQsMCwwKSxkLmRlc2NlbnQ9byhoLmdldEltYWdlRGF0YSgwLDAscCxwKSkpLGYub3ZlcnNob290KXtoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0idG9wIixoLmZpbGxUZXh0KGYub3ZlcnNob290LDAsMCk7dmFyIF89byhoLmdldEltYWdlRGF0YSgwLDAscCxwKSk7ZC5vdmVyc2hvb3Q9Xy1tfWZvcih2YXIgdyBpbiBkKWRbd10vPXM7cmV0dXJuIGQuZW09cyxuLmNhY2hlW3JdPWQsYShkLGMpfWZ1bmN0aW9uIGEodCxlKXt2YXIgcj17fTtmb3IodmFyIG4gaW4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRbZV0pLHQpImVtIiE9PW4mJihyW25dPXRbbl0tZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9dC5oZWlnaHQscj10LmRhdGEsbj0zO248ci5sZW5ndGg7bis9NClpZigwIT09cltuXSlyZXR1cm4gTWF0aC5mbG9vciguMjUqKG4tMykvZSl9ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9dC5oZWlnaHQscj10LmRhdGEsbj1yLmxlbmd0aC0xO24+MDtuLT00KWlmKDAhPT1yW25dKXJldHVybiBNYXRoLmZsb29yKC4yNSoobi0zKS9lKX1lLmV4cG9ydHM9bixuLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxuLmNhY2hlPXt9fSx7fV0sMjMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGModHx8ZCxudWxsKX07dmFyIG49MCxhPTE7ZnVuY3Rpb24gaSh0LGUscixuLGEsaSl7dGhpcy5fY29sb3I9dCx0aGlzLmtleT1lLHRoaXMudmFsdWU9cix0aGlzLmxlZnQ9bix0aGlzLnJpZ2h0PWEsdGhpcy5fY291bnQ9aX1mdW5jdGlvbiBvKHQpe3JldHVybiBuZXcgaSh0Ll9jb2xvcix0LmtleSx0LnZhbHVlLHQubGVmdCx0LnJpZ2h0LHQuX2NvdW50KX1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIG5ldyBpKHQsZS5rZXksZS52YWx1ZSxlLmxlZnQsZS5yaWdodCxlLl9jb3VudCl9ZnVuY3Rpb24gbCh0KXt0Ll9jb3VudD0xKyh0LmxlZnQ/dC5sZWZ0Ll9jb3VudDowKSsodC5yaWdodD90LnJpZ2h0Ll9jb3VudDowKX1mdW5jdGlvbiBjKHQsZSl7dGhpcy5fY29tcGFyZT10LHRoaXMucm9vdD1lfXZhciB1PWMucHJvdG90eXBlO2Z1bmN0aW9uIGgodCxlKXt0aGlzLnRyZWU9dCx0aGlzLl9zdGFjaz1lfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LCJrZXlzIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihlLHIpe3QucHVzaChlKX0pLHR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsInZhbHVlcyIse2dldDpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24oZSxyKXt0LnB1c2gocil9KSx0fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LCJsZW5ndGgiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290P3RoaXMucm9vdC5fY291bnQ6MH19KSx1Lmluc2VydD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10aGlzLl9jb21wYXJlLG89dGhpcy5yb290LHU9W10saD1bXTtvOyl7dmFyIGY9cih0LG8ua2V5KTt1LnB1c2gobyksaC5wdXNoKGYpLG89Zjw9MD9vLmxlZnQ6by5yaWdodH11LnB1c2gobmV3IGkobix0LGUsbnVsbCxudWxsLDEpKTtmb3IodmFyIHA9dS5sZW5ndGgtMjtwPj0wOy0tcCl7bz11W3BdO2hbcF08PTA/dVtwXT1uZXcgaShvLl9jb2xvcixvLmtleSxvLnZhbHVlLHVbcCsxXSxvLnJpZ2h0LG8uX2NvdW50KzEpOnVbcF09bmV3IGkoby5fY29sb3Isby5rZXksby52YWx1ZSxvLmxlZnQsdVtwKzFdLG8uX2NvdW50KzEpfWZvcihwPXUubGVuZ3RoLTE7cD4xOy0tcCl7dmFyIGQ9dVtwLTFdO289dVtwXTtpZihkLl9jb2xvcj09PWF8fG8uX2NvbG9yPT09YSlicmVhazt2YXIgZz11W3AtMl07aWYoZy5sZWZ0PT09ZClpZihkLmxlZnQ9PT1vKXtpZighKHY9Zy5yaWdodCl8fHYuX2NvbG9yIT09bil7aWYoZy5fY29sb3I9bixnLmxlZnQ9ZC5yaWdodCxkLl9jb2xvcj1hLGQucmlnaHQ9Zyx1W3AtMl09ZCx1W3AtMV09byxsKGcpLGwoZCkscD49MykobT11W3AtM10pLmxlZnQ9PT1nP20ubGVmdD1kOm0ucmlnaHQ9ZDticmVha31kLl9jb2xvcj1hLGcucmlnaHQ9cyhhLHYpLGcuX2NvbG9yPW4scC09MX1lbHNle2lmKCEodj1nLnJpZ2h0KXx8di5fY29sb3IhPT1uKXtpZihkLnJpZ2h0PW8ubGVmdCxnLl9jb2xvcj1uLGcubGVmdD1vLnJpZ2h0LG8uX2NvbG9yPWEsby5sZWZ0PWQsby5yaWdodD1nLHVbcC0yXT1vLHVbcC0xXT1kLGwoZyksbChkKSxsKG8pLHA+PTMpKG09dVtwLTNdKS5sZWZ0PT09Zz9tLmxlZnQ9bzptLnJpZ2h0PW87YnJlYWt9ZC5fY29sb3I9YSxnLnJpZ2h0PXMoYSx2KSxnLl9jb2xvcj1uLHAtPTF9ZWxzZSBpZihkLnJpZ2h0PT09byl7aWYoISh2PWcubGVmdCl8fHYuX2NvbG9yIT09bil7aWYoZy5fY29sb3I9bixnLnJpZ2h0PWQubGVmdCxkLl9jb2xvcj1hLGQubGVmdD1nLHVbcC0yXT1kLHVbcC0xXT1vLGwoZyksbChkKSxwPj0zKShtPXVbcC0zXSkucmlnaHQ9PT1nP20ucmlnaHQ9ZDptLmxlZnQ9ZDticmVha31kLl9jb2xvcj1hLGcubGVmdD1zKGEsdiksZy5fY29sb3I9bixwLT0xfWVsc2V7dmFyIHY7aWYoISh2PWcubGVmdCl8fHYuX2NvbG9yIT09bil7dmFyIG07aWYoZC5sZWZ0PW8ucmlnaHQsZy5fY29sb3I9bixnLnJpZ2h0PW8ubGVmdCxvLl9jb2xvcj1hLG8ucmlnaHQ9ZCxvLmxlZnQ9Zyx1W3AtMl09byx1W3AtMV09ZCxsKGcpLGwoZCksbChvKSxwPj0zKShtPXVbcC0zXSkucmlnaHQ9PT1nP20ucmlnaHQ9bzptLmxlZnQ9bzticmVha31kLl9jb2xvcj1hLGcubGVmdD1zKGEsdiksZy5fY29sb3I9bixwLT0xfX1yZXR1cm4gdVswXS5fY29sb3I9YSxuZXcgYyhyLHVbMF0pfSx1LmZvckVhY2g9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMucm9vdClzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOnJldHVybiBmdW5jdGlvbiB0KGUscil7dmFyIG47aWYoci5sZWZ0JiYobj10KGUsci5sZWZ0KSkpcmV0dXJuIG47cmV0dXJuKG49ZShyLmtleSxyLnZhbHVlKSl8fChyLnJpZ2h0P3QoZSxyLnJpZ2h0KTp2b2lkIDApfSh0LHRoaXMucm9vdCk7Y2FzZSAyOnJldHVybiBmdW5jdGlvbiB0KGUscixuLGEpe2lmKHIoZSxhLmtleSk8PTApe3ZhciBpO2lmKGEubGVmdCYmKGk9dChlLHIsbixhLmxlZnQpKSlyZXR1cm4gaTtpZihpPW4oYS5rZXksYS52YWx1ZSkpcmV0dXJuIGl9aWYoYS5yaWdodClyZXR1cm4gdChlLHIsbixhLnJpZ2h0KX0oZSx0aGlzLl9jb21wYXJlLHQsdGhpcy5yb290KTtjYXNlIDM6aWYodGhpcy5fY29tcGFyZShlLHIpPj0wKXJldHVybjtyZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhLGkpe3ZhciBvLHM9bihlLGkua2V5KSxsPW4ocixpLmtleSk7aWYoczw9MCl7aWYoaS5sZWZ0JiYobz10KGUscixuLGEsaS5sZWZ0KSkpcmV0dXJuIG87aWYobD4wJiYobz1hKGkua2V5LGkudmFsdWUpKSlyZXR1cm4gb31pZihsPjAmJmkucmlnaHQpcmV0dXJuIHQoZSxyLG4sYSxpLnJpZ2h0KX0oZSxyLHRoaXMuX2NvbXBhcmUsdCx0aGlzLnJvb3QpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsImJlZ2luIix7Z2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9dGhpcy5yb290O2U7KXQucHVzaChlKSxlPWUubGVmdDtyZXR1cm4gbmV3IGgodGhpcyx0KX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodSwiZW5kIix7Z2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9dGhpcy5yb290O2U7KXQucHVzaChlKSxlPWUucmlnaHQ7cmV0dXJuIG5ldyBoKHRoaXMsdCl9fSksdS5hdD1mdW5jdGlvbih0KXtpZih0PDApcmV0dXJuIG5ldyBoKHRoaXMsW10pO2Zvcih2YXIgZT10aGlzLnJvb3Qscj1bXTs7KXtpZihyLnB1c2goZSksZS5sZWZ0KXtpZih0PGUubGVmdC5fY291bnQpe2U9ZS5sZWZ0O2NvbnRpbnVlfXQtPWUubGVmdC5fY291bnR9aWYoIXQpcmV0dXJuIG5ldyBoKHRoaXMscik7aWYodC09MSwhZS5yaWdodClicmVhaztpZih0Pj1lLnJpZ2h0Ll9jb3VudClicmVhaztlPWUucmlnaHR9cmV0dXJuIG5ldyBoKHRoaXMsW10pfSx1LmdlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290LG49W10sYT0wO3I7KXt2YXIgaT1lKHQsci5rZXkpO24ucHVzaChyKSxpPD0wJiYoYT1uLmxlbmd0aCkscj1pPD0wP3IubGVmdDpyLnJpZ2h0fXJldHVybiBuLmxlbmd0aD1hLG5ldyBoKHRoaXMsbil9LHUuZ3Q9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2NvbXBhcmUscj10aGlzLnJvb3Qsbj1bXSxhPTA7cjspe3ZhciBpPWUodCxyLmtleSk7bi5wdXNoKHIpLGk8MCYmKGE9bi5sZW5ndGgpLHI9aTwwP3IubGVmdDpyLnJpZ2h0fXJldHVybiBuLmxlbmd0aD1hLG5ldyBoKHRoaXMsbil9LHUubHQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2NvbXBhcmUscj10aGlzLnJvb3Qsbj1bXSxhPTA7cjspe3ZhciBpPWUodCxyLmtleSk7bi5wdXNoKHIpLGk+MCYmKGE9bi5sZW5ndGgpLHI9aTw9MD9yLmxlZnQ6ci5yaWdodH1yZXR1cm4gbi5sZW5ndGg9YSxuZXcgaCh0aGlzLG4pfSx1LmxlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290LG49W10sYT0wO3I7KXt2YXIgaT1lKHQsci5rZXkpO24ucHVzaChyKSxpPj0wJiYoYT1uLmxlbmd0aCkscj1pPDA/ci5sZWZ0OnIucmlnaHR9cmV0dXJuIG4ubGVuZ3RoPWEsbmV3IGgodGhpcyxuKX0sdS5maW5kPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290LG49W107cjspe3ZhciBhPWUodCxyLmtleSk7aWYobi5wdXNoKHIpLDA9PT1hKXJldHVybiBuZXcgaCh0aGlzLG4pO3I9YTw9MD9yLmxlZnQ6ci5yaWdodH1yZXR1cm4gbmV3IGgodGhpcyxbXSl9LHUucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZmluZCh0KTtyZXR1cm4gZT9lLnJlbW92ZSgpOnRoaXN9LHUuZ2V0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290O3I7KXt2YXIgbj1lKHQsci5rZXkpO2lmKDA9PT1uKXJldHVybiByLnZhbHVlO3I9bjw9MD9yLmxlZnQ6ci5yaWdodH19O3ZhciBmPWgucHJvdG90eXBlO2Z1bmN0aW9uIHAodCxlKXt0LmtleT1lLmtleSx0LnZhbHVlPWUudmFsdWUsdC5sZWZ0PWUubGVmdCx0LnJpZ2h0PWUucmlnaHQsdC5fY29sb3I9ZS5fY29sb3IsdC5fY291bnQ9ZS5fY291bnR9ZnVuY3Rpb24gZCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6MH1PYmplY3QuZGVmaW5lUHJvcGVydHkoZiwidmFsaWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhY2subGVuZ3RoPjB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIm5vZGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhY2subGVuZ3RoPjA/dGhpcy5fc3RhY2tbdGhpcy5fc3RhY2subGVuZ3RoLTFdOm51bGx9LGVudW1lcmFibGU6ITB9KSxmLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBoKHRoaXMudHJlZSx0aGlzLl9zdGFjay5zbGljZSgpKX0sZi5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zdGFjaztpZigwPT09dC5sZW5ndGgpcmV0dXJuIHRoaXMudHJlZTt2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9dFt0Lmxlbmd0aC0xXTtlW2UubGVuZ3RoLTFdPW5ldyBpKHIuX2NvbG9yLHIua2V5LHIudmFsdWUsci5sZWZ0LHIucmlnaHQsci5fY291bnQpO2Zvcih2YXIgdT10Lmxlbmd0aC0yO3U+PTA7LS11KXsocj10W3VdKS5sZWZ0PT09dFt1KzFdP2VbdV09bmV3IGkoci5fY29sb3Isci5rZXksci52YWx1ZSxlW3UrMV0sci5yaWdodCxyLl9jb3VudCk6ZVt1XT1uZXcgaShyLl9jb2xvcixyLmtleSxyLnZhbHVlLHIubGVmdCxlW3UrMV0sci5fY291bnQpfWlmKChyPWVbZS5sZW5ndGgtMV0pLmxlZnQmJnIucmlnaHQpe3ZhciBoPWUubGVuZ3RoO2ZvcihyPXIubGVmdDtyLnJpZ2h0OyllLnB1c2gocikscj1yLnJpZ2h0O3ZhciBmPWVbaC0xXTtlLnB1c2gobmV3IGkoci5fY29sb3IsZi5rZXksZi52YWx1ZSxyLmxlZnQsci5yaWdodCxyLl9jb3VudCkpLGVbaC0xXS5rZXk9ci5rZXksZVtoLTFdLnZhbHVlPXIudmFsdWU7Zm9yKHU9ZS5sZW5ndGgtMjt1Pj1oOy0tdSlyPWVbdV0sZVt1XT1uZXcgaShyLl9jb2xvcixyLmtleSxyLnZhbHVlLHIubGVmdCxlW3UrMV0sci5fY291bnQpO2VbaC0xXS5sZWZ0PWVbaF19aWYoKHI9ZVtlLmxlbmd0aC0xXSkuX2NvbG9yPT09bil7dmFyIGQ9ZVtlLmxlbmd0aC0yXTtkLmxlZnQ9PT1yP2QubGVmdD1udWxsOmQucmlnaHQ9PT1yJiYoZC5yaWdodD1udWxsKSxlLnBvcCgpO2Zvcih1PTA7dTxlLmxlbmd0aDsrK3UpZVt1XS5fY291bnQtLTtyZXR1cm4gbmV3IGModGhpcy50cmVlLl9jb21wYXJlLGVbMF0pfWlmKHIubGVmdHx8ci5yaWdodCl7ci5sZWZ0P3AocixyLmxlZnQpOnIucmlnaHQmJnAocixyLnJpZ2h0KSxyLl9jb2xvcj1hO2Zvcih1PTA7dTxlLmxlbmd0aC0xOysrdSllW3VdLl9jb3VudC0tO3JldHVybiBuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsZVswXSl9aWYoMT09PWUubGVuZ3RoKXJldHVybiBuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsbnVsbCk7Zm9yKHU9MDt1PGUubGVuZ3RoOysrdSllW3VdLl9jb3VudC0tO3ZhciBnPWVbZS5sZW5ndGgtMl07cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyLGksYyx1PXQubGVuZ3RoLTE7dT49MDstLXUpe2lmKGU9dFt1XSwwPT09dSlyZXR1cm4gdm9pZChlLl9jb2xvcj1hKTtpZigocj10W3UtMV0pLmxlZnQ9PT1lKXtpZigoaT1yLnJpZ2h0KS5yaWdodCYmaS5yaWdodC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIucmlnaHQ9byhpKSkucmlnaHQ9byhpLnJpZ2h0KSxyLnJpZ2h0PWkubGVmdCxpLmxlZnQ9cixpLnJpZ2h0PWMsaS5fY29sb3I9ci5fY29sb3IsZS5fY29sb3I9YSxyLl9jb2xvcj1hLGMuX2NvbG9yPWEsbChyKSxsKGkpLHU+MSYmKChoPXRbdS0yXSkubGVmdD09PXI/aC5sZWZ0PWk6aC5yaWdodD1pKSx2b2lkKHRbdS0xXT1pKTtpZihpLmxlZnQmJmkubGVmdC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIucmlnaHQ9byhpKSkubGVmdD1vKGkubGVmdCksci5yaWdodD1jLmxlZnQsaS5sZWZ0PWMucmlnaHQsYy5sZWZ0PXIsYy5yaWdodD1pLGMuX2NvbG9yPXIuX2NvbG9yLHIuX2NvbG9yPWEsaS5fY29sb3I9YSxlLl9jb2xvcj1hLGwociksbChpKSxsKGMpLHU+MSYmKChoPXRbdS0yXSkubGVmdD09PXI/aC5sZWZ0PWM6aC5yaWdodD1jKSx2b2lkKHRbdS0xXT1jKTtpZihpLl9jb2xvcj09PWEpe2lmKHIuX2NvbG9yPT09bilyZXR1cm4gci5fY29sb3I9YSx2b2lkKHIucmlnaHQ9cyhuLGkpKTtyLnJpZ2h0PXMobixpKTtjb250aW51ZX1pPW8oaSksci5yaWdodD1pLmxlZnQsaS5sZWZ0PXIsaS5fY29sb3I9ci5fY29sb3Isci5fY29sb3I9bixsKHIpLGwoaSksdT4xJiYoKGg9dFt1LTJdKS5sZWZ0PT09cj9oLmxlZnQ9aTpoLnJpZ2h0PWkpLHRbdS0xXT1pLHRbdV09cix1KzE8dC5sZW5ndGg/dFt1KzFdPWU6dC5wdXNoKGUpLHUrPTJ9ZWxzZXtpZigoaT1yLmxlZnQpLmxlZnQmJmkubGVmdC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIubGVmdD1vKGkpKS5sZWZ0PW8oaS5sZWZ0KSxyLmxlZnQ9aS5yaWdodCxpLnJpZ2h0PXIsaS5sZWZ0PWMsaS5fY29sb3I9ci5fY29sb3IsZS5fY29sb3I9YSxyLl9jb2xvcj1hLGMuX2NvbG9yPWEsbChyKSxsKGkpLHU+MSYmKChoPXRbdS0yXSkucmlnaHQ9PT1yP2gucmlnaHQ9aTpoLmxlZnQ9aSksdm9pZCh0W3UtMV09aSk7aWYoaS5yaWdodCYmaS5yaWdodC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIubGVmdD1vKGkpKS5yaWdodD1vKGkucmlnaHQpLHIubGVmdD1jLnJpZ2h0LGkucmlnaHQ9Yy5sZWZ0LGMucmlnaHQ9cixjLmxlZnQ9aSxjLl9jb2xvcj1yLl9jb2xvcixyLl9jb2xvcj1hLGkuX2NvbG9yPWEsZS5fY29sb3I9YSxsKHIpLGwoaSksbChjKSx1PjEmJigoaD10W3UtMl0pLnJpZ2h0PT09cj9oLnJpZ2h0PWM6aC5sZWZ0PWMpLHZvaWQodFt1LTFdPWMpO2lmKGkuX2NvbG9yPT09YSl7aWYoci5fY29sb3I9PT1uKXJldHVybiByLl9jb2xvcj1hLHZvaWQoci5sZWZ0PXMobixpKSk7ci5sZWZ0PXMobixpKTtjb250aW51ZX12YXIgaDtpPW8oaSksci5sZWZ0PWkucmlnaHQsaS5yaWdodD1yLGkuX2NvbG9yPXIuX2NvbG9yLHIuX2NvbG9yPW4sbChyKSxsKGkpLHU+MSYmKChoPXRbdS0yXSkucmlnaHQ9PT1yP2gucmlnaHQ9aTpoLmxlZnQ9aSksdFt1LTFdPWksdFt1XT1yLHUrMTx0Lmxlbmd0aD90W3UrMV09ZTp0LnB1c2goZSksdSs9Mn19fShlKSxnLmxlZnQ9PT1yP2cubGVmdD1udWxsOmcucmlnaHQ9bnVsbCxuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsZVswXSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJrZXkiLHtnZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLl9zdGFjay5sZW5ndGg+MClyZXR1cm4gdGhpcy5fc3RhY2tbdGhpcy5fc3RhY2subGVuZ3RoLTFdLmtleX0sZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe2lmKHRoaXMuX3N0YWNrLmxlbmd0aD4wKXJldHVybiB0aGlzLl9zdGFja1t0aGlzLl9zdGFjay5sZW5ndGgtMV0udmFsdWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiaW5kZXgiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdD0wLGU9dGhpcy5fc3RhY2s7aWYoMD09PWUubGVuZ3RoKXt2YXIgcj10aGlzLnRyZWUucm9vdDtyZXR1cm4gcj9yLl9jb3VudDowfWVbZS5sZW5ndGgtMV0ubGVmdCYmKHQ9ZVtlLmxlbmd0aC0xXS5sZWZ0Ll9jb3VudCk7Zm9yKHZhciBuPWUubGVuZ3RoLTI7bj49MDstLW4pZVtuKzFdPT09ZVtuXS5yaWdodCYmKCsrdCxlW25dLmxlZnQmJih0Kz1lW25dLmxlZnQuX2NvdW50KSk7cmV0dXJuIHR9LGVudW1lcmFibGU6ITB9KSxmLm5leHQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zdGFjaztpZigwIT09dC5sZW5ndGgpe3ZhciBlPXRbdC5sZW5ndGgtMV07aWYoZS5yaWdodClmb3IoZT1lLnJpZ2h0O2U7KXQucHVzaChlKSxlPWUubGVmdDtlbHNlIGZvcih0LnBvcCgpO3QubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0ucmlnaHQ9PT1lOyllPXRbdC5sZW5ndGgtMV0sdC5wb3AoKX19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJoYXNOZXh0Iix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fc3RhY2s7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKHRbdC5sZW5ndGgtMV0ucmlnaHQpcmV0dXJuITA7Zm9yKHZhciBlPXQubGVuZ3RoLTE7ZT4wOy0tZSlpZih0W2UtMV0ubGVmdD09PXRbZV0pcmV0dXJuITA7cmV0dXJuITF9fSksZi51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fc3RhY2s7aWYoMD09PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgdXBkYXRlIGVtcHR5IG5vZGUhIik7dmFyIHI9bmV3IEFycmF5KGUubGVuZ3RoKSxuPWVbZS5sZW5ndGgtMV07cltyLmxlbmd0aC0xXT1uZXcgaShuLl9jb2xvcixuLmtleSx0LG4ubGVmdCxuLnJpZ2h0LG4uX2NvdW50KTtmb3IodmFyIGE9ZS5sZW5ndGgtMjthPj0wOy0tYSkobj1lW2FdKS5sZWZ0PT09ZVthKzFdP3JbYV09bmV3IGkobi5fY29sb3Isbi5rZXksbi52YWx1ZSxyW2ErMV0sbi5yaWdodCxuLl9jb3VudCk6clthXT1uZXcgaShuLl9jb2xvcixuLmtleSxuLnZhbHVlLG4ubGVmdCxyW2ErMV0sbi5fY291bnQpO3JldHVybiBuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsclswXSl9LGYucHJldj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3N0YWNrO2lmKDAhPT10Lmxlbmd0aCl7dmFyIGU9dFt0Lmxlbmd0aC0xXTtpZihlLmxlZnQpZm9yKGU9ZS5sZWZ0O2U7KXQucHVzaChlKSxlPWUucmlnaHQ7ZWxzZSBmb3IodC5wb3AoKTt0Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdLmxlZnQ9PT1lOyllPXRbdC5sZW5ndGgtMV0sdC5wb3AoKX19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJoYXNQcmV2Iix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fc3RhY2s7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKHRbdC5sZW5ndGgtMV0ubGVmdClyZXR1cm4hMDtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPjA7LS1lKWlmKHRbZS0xXS5yaWdodD09PXRbZV0pcmV0dXJuITA7cmV0dXJuITF9fSl9LHt9XSwyMzQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1bLjk5OTk5OTk5OTk5OTgwOTksNjc2LjUyMDM2ODEyMTg4NTEsLTEyNTkuMTM5MjE2NzIyNDAyOCw3NzEuMzIzNDI4Nzc3NjUzMSwtMTc2LjYxNTAyOTE2MjE0MDYsMTIuNTA3MzQzMjc4Njg2OTA1LC0uMTM4NTcxMDk1MjY1NzIwMTIsOTk4NDM2OTU3ODAxOTU3MmUtMjEsMS41MDU2MzI3MzUxNDkzMTE2ZS03XSxhPTYwNy8xMjgsaT1bLjk5OTk5OTk5OTk5OTk5NzEsNTcuMTU2MjM1NjY1ODYyOTIsLTU5LjU5Nzk2MDM1NTQ3NTQ5LDE0LjEzNjA5Nzk3NDc0MTc0NiwtLjQ5MTkxMzgxNjA5NzYyMDIsMzM5OTQ2NDk5ODQ4MTE4OWUtMjAsNDY1MjM2Mjg5MjcwNDg1OGUtMjAsLTk4Mzc0NDc1MzA0ODc5NTZlLTIwLC4wMDAxNTgwODg3MDMyMjQ5MTI1LC0uMDAwMjEwMjY0NDQxNzI0MTA0ODgsLjAwMDIxNzQzOTYxODExNTIxMjY1LC0uMDAwMTY0MzE4MTA2NTM2NzYzOSw4NDQxODIyMzk4Mzg1Mjc1ZS0yMCwtMjYxOTA4Mzg0MDE1ODE0MDhlLTIxLDM2ODk5MTgyNjU5NTMxNjI1ZS0yMl07ZnVuY3Rpb24gbyh0KXtpZih0PDApcmV0dXJuIE51bWJlcigiMC8wIik7Zm9yKHZhciBlPWlbMF0scj1pLmxlbmd0aC0xO3I+MDstLXIpZSs9aVtyXS8odCtyKTt2YXIgbj10K2ErLjU7cmV0dXJuLjUqTWF0aC5sb2coMipNYXRoLlBJKSsodCsuNSkqTWF0aC5sb2cobiktbitNYXRoLmxvZyhlKS1NYXRoLmxvZyh0KX1lLmV4cG9ydHM9ZnVuY3Rpb24gdChlKXtpZihlPC41KXJldHVybiBNYXRoLlBJLyhNYXRoLnNpbihNYXRoLlBJKmUpKnQoMS1lKSk7aWYoZT4xMDApcmV0dXJuIE1hdGguZXhwKG8oZSkpO2UtPTE7Zm9yKHZhciByPW5bMF0sYT0xO2E8OTthKyspcis9blthXS8oZSthKTt2YXIgaT1lKzcrLjU7cmV0dXJuIE1hdGguc3FydCgyKk1hdGguUEkpKk1hdGgucG93KGksZSsuNSkqTWF0aC5leHAoLWkpKnJ9LGUuZXhwb3J0cy5sb2c9b30se31dLDIzNTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtdXN0IHNwZWNpZnkgdHlwZSBzdHJpbmciKTtpZihlPWV8fHt9LCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiFlLmNhbnZhcylyZXR1cm4gbnVsbDt2YXIgcj1lLmNhbnZhc3x8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Im51bWJlciI9PXR5cGVvZiBlLndpZHRoJiYoci53aWR0aD1lLndpZHRoKTsibnVtYmVyIj09dHlwZW9mIGUuaGVpZ2h0JiYoci5oZWlnaHQ9ZS5oZWlnaHQpO3ZhciBuLGE9ZTt0cnl7dmFyIGk9W3RdOzA9PT10LmluZGV4T2YoIndlYmdsIikmJmkucHVzaCgiZXhwZXJpbWVudGFsLSIrdCk7Zm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspaWYobj1yLmdldENvbnRleHQoaVtvXSxhKSlyZXR1cm4gbn1jYXRjaCh0KXtuPW51bGx9cmV0dXJuIG58fG51bGx9fSx7fV0sMjM2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyB1KHQpO3JldHVybiByLnVwZGF0ZShlKSxyfTt2YXIgbj10KCIuL2xpYi90ZXh0LmpzIiksYT10KCIuL2xpYi9saW5lcy5qcyIpLGk9dCgiLi9saWIvYmFja2dyb3VuZC5qcyIpLG89dCgiLi9saWIvY3ViZS5qcyIpLHM9dCgiLi9saWIvdGlja3MuanMiKSxsPW5ldyBGbG9hdDMyQXJyYXkoWzEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDFdKTtmdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHRbMF09ZVswXSx0WzFdPWVbMV0sdFsyXT1lWzJdLHR9ZnVuY3Rpb24gdSh0KXt0aGlzLmdsPXQsdGhpcy5waXhlbFJhdGlvPTEsdGhpcy5ib3VuZHM9W1stMTAsLTEwLC0xMF0sWzEwLDEwLDEwXV0sdGhpcy50aWNrcz1bW10sW10sW11dLHRoaXMuYXV0b1RpY2tzPSEwLHRoaXMudGlja1NwYWNpbmc9WzEsMSwxXSx0aGlzLnRpY2tFbmFibGU9WyEwLCEwLCEwXSx0aGlzLnRpY2tGb250PVsic2Fucy1zZXJpZiIsInNhbnMtc2VyaWYiLCJzYW5zLXNlcmlmIl0sdGhpcy50aWNrU2l6ZT1bMTIsMTIsMTJdLHRoaXMudGlja0FuZ2xlPVswLDAsMF0sdGhpcy50aWNrQWxpZ249WyJhdXRvIiwiYXV0byIsImF1dG8iXSx0aGlzLnRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGlja1BhZD1bMTAsMTAsMTBdLHRoaXMubGFzdEN1YmVQcm9wcz17Y3ViZUVkZ2VzOlswLDAsMF0sYXhpczpbMCwwLDBdfSx0aGlzLmxhYmVscz1bIngiLCJ5IiwieiJdLHRoaXMubGFiZWxFbmFibGU9WyEwLCEwLCEwXSx0aGlzLmxhYmVsRm9udD0ic2Fucy1zZXJpZiIsdGhpcy5sYWJlbFNpemU9WzIwLDIwLDIwXSx0aGlzLmxhYmVsQW5nbGU9WzAsMCwwXSx0aGlzLmxhYmVsQWxpZ249WyJhdXRvIiwiYXV0byIsImF1dG8iXSx0aGlzLmxhYmVsQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmxhYmVsUGFkPVsxMCwxMCwxMF0sdGhpcy5saW5lRW5hYmxlPVshMCwhMCwhMF0sdGhpcy5saW5lTWlycm9yPVshMSwhMSwhMV0sdGhpcy5saW5lV2lkdGg9WzEsMSwxXSx0aGlzLmxpbmVDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMubGluZVRpY2tFbmFibGU9WyEwLCEwLCEwXSx0aGlzLmxpbmVUaWNrTWlycm9yPVshMSwhMSwhMV0sdGhpcy5saW5lVGlja0xlbmd0aD1bMCwwLDBdLHRoaXMubGluZVRpY2tXaWR0aD1bMSwxLDFdLHRoaXMubGluZVRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZ3JpZEVuYWJsZT1bITAsITAsITBdLHRoaXMuZ3JpZFdpZHRoPVsxLDEsMV0sdGhpcy5ncmlkQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnplcm9FbmFibGU9WyEwLCEwLCEwXSx0aGlzLnplcm9MaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnplcm9MaW5lV2lkdGg9WzIsMiwyXSx0aGlzLmJhY2tncm91bmRFbmFibGU9WyExLCExLCExXSx0aGlzLmJhY2tncm91bmRDb2xvcj1bWy44LC44LC44LC41XSxbLjgsLjgsLjgsLjVdLFsuOCwuOCwuOCwuNV1dLHRoaXMuX2ZpcnN0SW5pdD0hMCx0aGlzLl90ZXh0PW51bGwsdGhpcy5fbGluZXM9bnVsbCx0aGlzLl9iYWNrZ3JvdW5kPWkodCl9dmFyIGg9dS5wcm90b3R5cGU7ZnVuY3Rpb24gZigpe3RoaXMucHJpbWFsT2Zmc2V0PVswLDAsMF0sdGhpcy5wcmltYWxNaW5vcj1bMCwwLDBdLHRoaXMubWlycm9yT2Zmc2V0PVswLDAsMF0sdGhpcy5taXJyb3JNaW5vcj1bMCwwLDBdfWgudXBkYXRlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxyLG4pe2lmKG4gaW4gdCl7dmFyIGEsaT10W25dLG89dGhpc1tuXTsoZT9BcnJheS5pc0FycmF5KGkpJiZBcnJheS5pc0FycmF5KGlbMF0pOkFycmF5LmlzQXJyYXkoaSkpP3RoaXNbbl09YT1bcihpWzBdKSxyKGlbMV0pLHIoaVsyXSldOnRoaXNbbl09YT1bcihpKSxyKGkpLHIoaSldO2Zvcih2YXIgcz0wO3M8MzsrK3MpaWYoYVtzXSE9PW9bc10pcmV0dXJuITB9cmV0dXJuITF9dD10fHx7fTt2YXIgcixpPWUuYmluZCh0aGlzLCExLE51bWJlciksbz1lLmJpbmQodGhpcywhMSxCb29sZWFuKSxsPWUuYmluZCh0aGlzLCExLFN0cmluZyksYz1lLmJpbmQodGhpcywhMCxmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXtpZigzPT09dC5sZW5ndGgpcmV0dXJuWyt0WzBdLCt0WzFdLCt0WzJdLDFdO2lmKDQ9PT10Lmxlbmd0aClyZXR1cm5bK3RbMF0sK3RbMV0sK3RbMl0sK3RbM11dfXJldHVyblswLDAsMCwxXX0pLHU9ITEsaD0hMTtpZigiYm91bmRzImluIHQpZm9yKHZhciBmPXQuYm91bmRzLHA9MDtwPDI7KytwKWZvcih2YXIgZD0wO2Q8MzsrK2QpZltwXVtkXSE9PXRoaXMuYm91bmRzW3BdW2RdJiYoaD0hMCksdGhpcy5ib3VuZHNbcF1bZF09ZltwXVtkXTtpZigidGlja3MiaW4gdCl7cj10LnRpY2tzLHU9ITAsdGhpcy5hdXRvVGlja3M9ITE7Zm9yKHA9MDtwPDM7KytwKXRoaXMudGlja1NwYWNpbmdbcF09MH1lbHNlIGkoInRpY2tTcGFjaW5nIikmJih0aGlzLmF1dG9UaWNrcz0hMCxoPSEwKTtpZih0aGlzLl9maXJzdEluaXQmJigidGlja3MiaW4gdHx8InRpY2tTcGFjaW5nImluIHR8fCh0aGlzLmF1dG9UaWNrcz0hMCksaD0hMCx1PSEwLHRoaXMuX2ZpcnN0SW5pdD0hMSksaCYmdGhpcy5hdXRvVGlja3MmJihyPXMuY3JlYXRlKHRoaXMuYm91bmRzLHRoaXMudGlja1NwYWNpbmcpLHU9ITApLHUpe2ZvcihwPTA7cDwzOysrcClyW3BdLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC54LWUueH0pO3MuZXF1YWwocix0aGlzLnRpY2tzKT91PSExOnRoaXMudGlja3M9cn1vKCJ0aWNrRW5hYmxlIiksbCgidGlja0ZvbnQiKSYmKHU9ITApLGkoInRpY2tTaXplIiksaSgidGlja0FuZ2xlIiksaSgidGlja1BhZCIpLGMoInRpY2tDb2xvciIpO3ZhciBnPWwoImxhYmVscyIpO2woImxhYmVsRm9udCIpJiYoZz0hMCksbygibGFiZWxFbmFibGUiKSxpKCJsYWJlbFNpemUiKSxpKCJsYWJlbFBhZCIpLGMoImxhYmVsQ29sb3IiKSxvKCJsaW5lRW5hYmxlIiksbygibGluZU1pcnJvciIpLGkoImxpbmVXaWR0aCIpLGMoImxpbmVDb2xvciIpLG8oImxpbmVUaWNrRW5hYmxlIiksbygibGluZVRpY2tNaXJyb3IiKSxpKCJsaW5lVGlja0xlbmd0aCIpLGkoImxpbmVUaWNrV2lkdGgiKSxjKCJsaW5lVGlja0NvbG9yIiksbygiZ3JpZEVuYWJsZSIpLGkoImdyaWRXaWR0aCIpLGMoImdyaWRDb2xvciIpLG8oInplcm9FbmFibGUiKSxjKCJ6ZXJvTGluZUNvbG9yIiksaSgiemVyb0xpbmVXaWR0aCIpLG8oImJhY2tncm91bmRFbmFibGUiKSxjKCJiYWNrZ3JvdW5kQ29sb3IiKSx0aGlzLl90ZXh0P3RoaXMuX3RleHQmJihnfHx1KSYmdGhpcy5fdGV4dC51cGRhdGUodGhpcy5ib3VuZHMsdGhpcy5sYWJlbHMsdGhpcy5sYWJlbEZvbnQsdGhpcy50aWNrcyx0aGlzLnRpY2tGb250KTp0aGlzLl90ZXh0PW4odGhpcy5nbCx0aGlzLmJvdW5kcyx0aGlzLmxhYmVscyx0aGlzLmxhYmVsRm9udCx0aGlzLnRpY2tzLHRoaXMudGlja0ZvbnQpLHRoaXMuX2xpbmVzJiZ1JiYodGhpcy5fbGluZXMuZGlzcG9zZSgpLHRoaXMuX2xpbmVzPW51bGwpLHRoaXMuX2xpbmVzfHwodGhpcy5fbGluZXM9YSh0aGlzLmdsLHRoaXMuYm91bmRzLHRoaXMudGlja3MpKX07dmFyIHA9W25ldyBmLG5ldyBmLG5ldyBmXTtmdW5jdGlvbiBkKHQsZSxyLG4sYSl7Zm9yKHZhciBpPXQucHJpbWFsT2Zmc2V0LG89dC5wcmltYWxNaW5vcixzPXQubWlycm9yT2Zmc2V0LGw9dC5taXJyb3JNaW5vcixjPW5bZV0sdT0wO3U8MzsrK3UpaWYoZSE9PXUpe3ZhciBoPWksZj1zLHA9byxkPWw7YyYxPDx1JiYoaD1zLGY9aSxwPWwsZD1vKSxoW3VdPXJbMF1bdV0sZlt1XT1yWzFdW3VdLGFbdV0+MD8ocFt1XT0tMSxkW3VdPTApOihwW3VdPTAsZFt1XT0xKX19dmFyIGc9WzAsMCwwXSx2PXttb2RlbDpsLHZpZXc6bCxwcm9qZWN0aW9uOmwsX29ydGhvOiExfTtoLmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGguaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiExfSxoLmRyYXdUcmFuc3BhcmVudD1mdW5jdGlvbih0KXt9O3ZhciBtPVswLDAsMF0seT1bMCwwLDBdLHg9WzAsMCwwXTtoLmRyYXc9ZnVuY3Rpb24odCl7dD10fHx2O2Zvcih2YXIgZT10aGlzLmdsLHI9dC5tb2RlbHx8bCxuPXQudmlld3x8bCxhPXQucHJvamVjdGlvbnx8bCxpPXRoaXMuYm91bmRzLHM9dC5fb3J0aG98fCExLHU9byhyLG4sYSxpLHMpLGg9dS5jdWJlRWRnZXMsZj11LmF4aXMsYj1uWzEyXSxfPW5bMTNdLHc9blsxNF0saz1uWzE1XSxUPShzPzI6MSkqdGhpcy5waXhlbFJhdGlvKihhWzNdKmIrYVs3XSpfK2FbMTFdKncrYVsxNV0qaykvZS5kcmF3aW5nQnVmZmVySGVpZ2h0LE09MDtNPDM7KytNKXRoaXMubGFzdEN1YmVQcm9wcy5jdWJlRWRnZXNbTV09aFtNXSx0aGlzLmxhc3RDdWJlUHJvcHMuYXhpc1tNXT1mW01dO3ZhciBBPXA7Zm9yKE09MDtNPDM7KytNKWQocFtNXSxNLHRoaXMuYm91bmRzLGgsZik7ZT10aGlzLmdsO3ZhciBTLEU9Zztmb3IoTT0wO008MzsrK00pdGhpcy5iYWNrZ3JvdW5kRW5hYmxlW01dP0VbTV09ZltNXTpFW01dPTA7dGhpcy5fYmFja2dyb3VuZC5kcmF3KHIsbixhLGksRSx0aGlzLmJhY2tncm91bmRDb2xvciksdGhpcy5fbGluZXMuYmluZChyLG4sYSx0aGlzKTtmb3IoTT0wO008MzsrK00pe3ZhciBMPVswLDAsMF07ZltNXT4wP0xbTV09aVsxXVtNXTpMW01dPWlbMF1bTV07Zm9yKHZhciBDPTA7QzwyOysrQyl7dmFyIFA9KE0rMStDKSUzLE89KE0rMSsoMV5DKSklMzt0aGlzLmdyaWRFbmFibGVbUF0mJnRoaXMuX2xpbmVzLmRyYXdHcmlkKFAsTyx0aGlzLmJvdW5kcyxMLHRoaXMuZ3JpZENvbG9yW1BdLHRoaXMuZ3JpZFdpZHRoW1BdKnRoaXMucGl4ZWxSYXRpbyl9Zm9yKEM9MDtDPDI7KytDKXtQPShNKzErQyklMyxPPShNKzErKDFeQykpJTM7dGhpcy56ZXJvRW5hYmxlW09dJiZNYXRoLm1pbihpWzBdW09dLGlbMV1bT10pPD0wJiZNYXRoLm1heChpWzBdW09dLGlbMV1bT10pPj0wJiZ0aGlzLl9saW5lcy5kcmF3WmVybyhQLE8sdGhpcy5ib3VuZHMsTCx0aGlzLnplcm9MaW5lQ29sb3JbT10sdGhpcy56ZXJvTGluZVdpZHRoW09dKnRoaXMucGl4ZWxSYXRpbyl9fWZvcihNPTA7TTwzOysrTSl7dGhpcy5saW5lRW5hYmxlW01dJiZ0aGlzLl9saW5lcy5kcmF3QXhpc0xpbmUoTSx0aGlzLmJvdW5kcyxBW01dLnByaW1hbE9mZnNldCx0aGlzLmxpbmVDb2xvcltNXSx0aGlzLmxpbmVXaWR0aFtNXSp0aGlzLnBpeGVsUmF0aW8pLHRoaXMubGluZU1pcnJvcltNXSYmdGhpcy5fbGluZXMuZHJhd0F4aXNMaW5lKE0sdGhpcy5ib3VuZHMsQVtNXS5taXJyb3JPZmZzZXQsdGhpcy5saW5lQ29sb3JbTV0sdGhpcy5saW5lV2lkdGhbTV0qdGhpcy5waXhlbFJhdGlvKTt2YXIgej1jKG0sQVtNXS5wcmltYWxNaW5vciksST1jKHksQVtNXS5taXJyb3JNaW5vciksRD10aGlzLmxpbmVUaWNrTGVuZ3RoO2ZvcihDPTA7QzwzOysrQyl7dmFyIFI9VC9yWzUqQ107eltDXSo9RFtDXSpSLElbQ10qPURbQ10qUn10aGlzLmxpbmVUaWNrRW5hYmxlW01dJiZ0aGlzLl9saW5lcy5kcmF3QXhpc1RpY2tzKE0sQVtNXS5wcmltYWxPZmZzZXQseix0aGlzLmxpbmVUaWNrQ29sb3JbTV0sdGhpcy5saW5lVGlja1dpZHRoW01dKnRoaXMucGl4ZWxSYXRpbyksdGhpcy5saW5lVGlja01pcnJvcltNXSYmdGhpcy5fbGluZXMuZHJhd0F4aXNUaWNrcyhNLEFbTV0ubWlycm9yT2Zmc2V0LEksdGhpcy5saW5lVGlja0NvbG9yW01dLHRoaXMubGluZVRpY2tXaWR0aFtNXSp0aGlzLnBpeGVsUmF0aW8pfXRoaXMuX2xpbmVzLnVuYmluZCgpLHRoaXMuX3RleHQuYmluZChyLG4sYSx0aGlzLnBpeGVsUmF0aW8pO3ZhciBGLEI7ZnVuY3Rpb24gTih0KXsoQj1bMCwwLDBdKVt0XT0xfWZ1bmN0aW9uIGoodCxlLHIpe3ZhciBuPSh0KzEpJTMsYT0odCsyKSUzLGk9ZVtuXSxvPWVbYV0scz1yW25dLGw9clthXTtpPjAmJmw+MD9OKG4pOmk+MCYmbDwwP04obik6aTwwJiZsPjA/TihuKTppPDAmJmw8MD9OKG4pOm8+MCYmcz4wP04oYSk6bz4wJiZzPDA/TihhKTpvPDAmJnM+MD9OKGEpOm88MCYmczwwJiZOKGEpfWZvcihNPTA7TTwzOysrTSl7dmFyIFY9QVtNXS5wcmltYWxNaW5vcixVPUFbTV0ubWlycm9yTWlub3IscT1jKHgsQVtNXS5wcmltYWxPZmZzZXQpO2ZvcihDPTA7QzwzOysrQyl0aGlzLmxpbmVUaWNrRW5hYmxlW01dJiYocVtDXSs9VCpWW0NdKk1hdGgubWF4KHRoaXMubGluZVRpY2tMZW5ndGhbQ10sMCkvcls1KkNdKTt2YXIgSD1bMCwwLDBdO2lmKEhbTV09MSx0aGlzLnRpY2tFbmFibGVbTV0pey0zNjAwPT09dGhpcy50aWNrQW5nbGVbTV0/KHRoaXMudGlja0FuZ2xlW01dPTAsdGhpcy50aWNrQWxpZ25bTV09ImF1dG8iKTp0aGlzLnRpY2tBbGlnbltNXT0tMSxGPTEsImF1dG8iPT09KFM9W3RoaXMudGlja0FsaWduW01dLC41LEZdKVswXT9TWzBdPTA6U1swXT1wYXJzZUludCgiIitTWzBdKSxCPVswLDAsMF0saihNLFYsVSk7Zm9yKEM9MDtDPDM7KytDKXFbQ10rPVQqVltDXSp0aGlzLnRpY2tQYWRbQ10vcls1KkNdO3RoaXMuX3RleHQuZHJhd1RpY2tzKE0sdGhpcy50aWNrU2l6ZVtNXSx0aGlzLnRpY2tBbmdsZVtNXSxxLHRoaXMudGlja0NvbG9yW01dLEgsQixTKX1pZih0aGlzLmxhYmVsRW5hYmxlW01dKXtGPTAsQj1bMCwwLDBdLHRoaXMubGFiZWxzW01dLmxlbmd0aD40JiYoTihNKSxGPTEpLCJhdXRvIj09PShTPVt0aGlzLmxhYmVsQWxpZ25bTV0sLjUsRl0pWzBdP1NbMF09MDpTWzBdPXBhcnNlSW50KCIiK1NbMF0pO2ZvcihDPTA7QzwzOysrQylxW0NdKz1UKlZbQ10qdGhpcy5sYWJlbFBhZFtDXS9yWzUqQ107cVtNXSs9LjUqKGlbMF1bTV0raVsxXVtNXSksdGhpcy5fdGV4dC5kcmF3TGFiZWwoTSx0aGlzLmxhYmVsU2l6ZVtNXSx0aGlzLmxhYmVsQW5nbGVbTV0scSx0aGlzLmxhYmVsQ29sb3JbTV0sWzAsMCwwXSxCLFMpfX10aGlzLl90ZXh0LnVuYmluZCgpfSxoLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLl90ZXh0LmRpc3Bvc2UoKSx0aGlzLl9saW5lcy5kaXNwb3NlKCksdGhpcy5fYmFja2dyb3VuZC5kaXNwb3NlKCksdGhpcy5fbGluZXM9bnVsbCx0aGlzLl90ZXh0PW51bGwsdGhpcy5fYmFja2dyb3VuZD1udWxsLHRoaXMuZ2w9bnVsbH19LHsiLi9saWIvYmFja2dyb3VuZC5qcyI6MjM3LCIuL2xpYi9jdWJlLmpzIjoyMzgsIi4vbGliL2xpbmVzLmpzIjoyMzksIi4vbGliL3RleHQuanMiOjI0MSwiLi9saWIvdGlja3MuanMiOjI0Mn1dLDIzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9W10scz0wLGw9MDtsPDM7KytsKWZvcih2YXIgYz0obCsxKSUzLHU9KGwrMiklMyxoPVswLDAsMF0sZj1bMCwwLDBdLHA9LTE7cDw9MTtwKz0yKXtyLnB1c2gocyxzKzIscysxLHMrMSxzKzIscyszKSxoW2xdPXAsZltsXT1wO2Zvcih2YXIgZD0tMTtkPD0xO2QrPTIpe2hbY109ZDtmb3IodmFyIGc9LTE7Zzw9MTtnKz0yKWhbdV09ZyxlLnB1c2goaFswXSxoWzFdLGhbMl0sZlswXSxmWzFdLGZbMl0pLHMrPTF9dmFyIHY9YztjPXUsdT12fXZhciBtPW4odCxuZXcgRmxvYXQzMkFycmF5KGUpKSx5PW4odCxuZXcgVWludDE2QXJyYXkociksdC5FTEVNRU5UX0FSUkFZX0JVRkZFUikseD1hKHQsW3tidWZmZXI6bSx0eXBlOnQuRkxPQVQsc2l6ZTozLG9mZnNldDowLHN0cmlkZToyNH0se2J1ZmZlcjptLHR5cGU6dC5GTE9BVCxzaXplOjMsb2Zmc2V0OjEyLHN0cmlkZToyNH1dLHkpLGI9aSh0KTtyZXR1cm4gYi5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsYi5hdHRyaWJ1dGVzLm5vcm1hbC5sb2NhdGlvbj0xLG5ldyBvKHQsbSx4LGIpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXZhbyIpLGk9dCgiLi9zaGFkZXJzIikuYmc7ZnVuY3Rpb24gbyh0LGUscixuKXt0aGlzLmdsPXQsdGhpcy5idWZmZXI9ZSx0aGlzLnZhbz1yLHRoaXMuc2hhZGVyPW59dmFyIHM9by5wcm90b3R5cGU7cy5kcmF3PWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89ITEscz0wO3M8MzsrK3Mpbz1vfHxhW3NdO2lmKG8pe3ZhciBsPXRoaXMuZ2w7bC5lbmFibGUobC5QT0xZR09OX09GRlNFVF9GSUxMKSxsLnBvbHlnb25PZmZzZXQoMSwyKSx0aGlzLnNoYWRlci5iaW5kKCksdGhpcy5zaGFkZXIudW5pZm9ybXM9e21vZGVsOnQsdmlldzplLHByb2plY3Rpb246cixib3VuZHM6bixlbmFibGU6YSxjb2xvcnM6aX0sdGhpcy52YW8uYmluZCgpLHRoaXMudmFvLmRyYXcodGhpcy5nbC5UUklBTkdMRVMsMzYpLHRoaXMudmFvLnVuYmluZCgpLGwuZGlzYWJsZShsLlBPTFlHT05fT0ZGU0VUX0ZJTEwpfX0scy5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy52YW8uZGlzcG9zZSgpLHRoaXMuYnVmZmVyLmRpc3Bvc2UoKSx0aGlzLnNoYWRlci5kaXNwb3NlKCl9fSx7Ii4vc2hhZGVycyI6MjQwLCJnbC1idWZmZXIiOjI0NCwiZ2wtdmFvIjozMjl9XSwyMzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkscCl7YShzLGUsdCksYShzLHIscyk7Zm9yKHZhciB5PTAseD0wO3g8MjsrK3gpe3VbMl09aVt4XVsyXTtmb3IodmFyIGI9MDtiPDI7KytiKXt1WzFdPWlbYl1bMV07Zm9yKHZhciBfPTA7XzwyOysrXyl1WzBdPWlbX11bMF0sZihsW3ldLHUscykseSs9MX19Zm9yKHZhciB3PS0xLHg9MDt4PDg7Kyt4KXtmb3IodmFyIGs9bFt4XVszXSxUPTA7VDwzOysrVCljW3hdW1RdPWxbeF1bVF0vaztwJiYoY1t4XVsyXSo9LTEpLGs8MCYmKHc8MD93PXg6Y1t4XVsyXTxjW3ddWzJdJiYodz14KSl9aWYodzwwKXt3PTA7Zm9yKHZhciBNPTA7TTwzOysrTSl7Zm9yKHZhciBBPShNKzIpJTMsUz0oTSsxKSUzLEU9LTEsTD0tMSxDPTA7QzwyOysrQyl7dmFyIFA9Qzw8TSxPPVArKEM8PEEpKygxLUM8PFMpLHo9UCsoMS1DPDxBKSsoQzw8Uyk7byhjW1BdLGNbT10sY1t6XSxoKTwwfHwoQz9FPTE6TD0xKX1pZihFPDB8fEw8MClMPkUmJih3fD0xPDxNKTtlbHNle2Zvcih2YXIgQz0wO0M8MjsrK0Mpe3ZhciBQPUM8PE0sTz1QKyhDPDxBKSsoMS1DPDxTKSx6PVArKDEtQzw8QSkrKEM8PFMpLEk9ZChbbFtQXSxsW09dLGxbel0sbFtQKygxPDxBKSsoMTw8UyldXSk7Qz9FPUk6TD1JfUw+RSYmKHd8PTE8PE0pfX19Zm9yKHZhciBEPTdedyxSPS0xLHg9MDt4PDg7Kyt4KXghPT13JiZ4IT09RCYmKFI8MD9SPXg6Y1tSXVsxXT5jW3hdWzFdJiYoUj14KSk7Zm9yKHZhciBGPS0xLHg9MDt4PDM7Kyt4KXt2YXIgQj1SXjE8PHg7aWYoQiE9PXcmJkIhPT1EKXtGPDAmJihGPUIpO3ZhciBTPWNbQl07U1swXTxjW0ZdWzBdJiYoRj1CKX19Zm9yKHZhciBOPS0xLHg9MDt4PDM7Kyt4KXt2YXIgQj1SXjE8PHg7aWYoQiE9PXcmJkIhPT1EJiZCIT09Ril7TjwwJiYoTj1CKTt2YXIgUz1jW0JdO1NbMF0+Y1tOXVswXSYmKE49Qil9fXZhciBqPWc7alswXT1qWzFdPWpbMl09MCxqW24ubG9nMihGXlIpXT1SJkYsaltuLmxvZzIoUl5OKV09UiZOO3ZhciBWPTdeTjtWPT09d3x8Vj09PUQ/KFY9N15GLGpbbi5sb2cyKE5eVildPVYmTik6altuLmxvZzIoRl5WKV09ViZGO2Zvcih2YXIgVT12LHE9dyxNPTA7TTwzOysrTSlVW01dPXEmMTw8TT8tMToxO3JldHVybiBtfTt2YXIgbj10KCJiaXQtdHdpZGRsZSIpLGE9dCgiZ2wtbWF0NC9tdWx0aXBseSIpLGk9dCgic3BsaXQtcG9seWdvbiIpLG89dCgicm9idXN0LW9yaWVudGF0aW9uIikscz1uZXcgQXJyYXkoMTYpLGw9bmV3IEFycmF5KDgpLGM9bmV3IEFycmF5KDgpLHU9bmV3IEFycmF5KDMpLGg9WzAsMCwwXTtmdW5jdGlvbiBmKHQsZSxyKXtmb3IodmFyIG49MDtuPDQ7KytuKXt0W25dPXJbMTIrbl07Zm9yKHZhciBhPTA7YTwzOysrYSl0W25dKz1lW2FdKnJbNCphK25dfX0hZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDg7Kyt0KWxbdF09WzEsMSwxLDFdLGNbdF09WzEsMSwxXX0oKTt2YXIgcD1bWzAsMCwxLDAsMF0sWzAsMCwtMSwxLDBdLFswLC0xLDAsMSwwXSxbMCwxLDAsMSwwXSxbLTEsMCwwLDEsMF0sWzEsMCwwLDEsMF1dO2Z1bmN0aW9uIGQodCl7Zm9yKHZhciBlPTA7ZTxwLmxlbmd0aDsrK2UpaWYoKHQ9aS5wb3NpdGl2ZSh0LHBbZV0pKS5sZW5ndGg8MylyZXR1cm4gMDt2YXIgcj10WzBdLG49clswXS9yWzNdLGE9clsxXS9yWzNdLG89MDtmb3IoZT0xO2UrMTx0Lmxlbmd0aDsrK2Upe3ZhciBzPXRbZV0sbD10W2UrMV0sYz1zWzBdL3NbM10tbix1PXNbMV0vc1szXS1hLGg9bFswXS9sWzNdLW4sZj1sWzFdL2xbM10tYTtvKz1NYXRoLmFicyhjKmYtdSpoKX1yZXR1cm4gb312YXIgZz1bMSwxLDFdLHY9WzAsMCwwXSxtPXtjdWJlRWRnZXM6ZyxheGlzOnZ9fSx7ImJpdC10d2lkZGxlIjo5NCwiZ2wtbWF0NC9tdWx0aXBseSI6MjcwLCJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOSwic3BsaXQtcG9seWdvbiI6NTI2fV0sMjM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG89W10scz1bMCwwLDBdLGw9WzAsMCwwXSxjPVswLDAsMF0sdT1bMCwwLDBdO28ucHVzaCgwLDAsMSwwLDEsMSwwLDAsLTEsMCwwLC0xLDAsMSwxLDAsMSwtMSk7Zm9yKHZhciBoPTA7aDwzOysraCl7Zm9yKHZhciBmPW8ubGVuZ3RoLzN8MCxkPTA7ZDxyW2hdLmxlbmd0aDsrK2Qpe3ZhciBnPStyW2hdW2RdLng7by5wdXNoKGcsMCwxLGcsMSwxLGcsMCwtMSxnLDAsLTEsZywxLDEsZywxLC0xKX12YXIgdj1vLmxlbmd0aC8zfDA7c1toXT1mLGxbaF09di1mO2Zvcih2YXIgZj1vLmxlbmd0aC8zfDAsbT0wO208cltoXS5sZW5ndGg7KyttKXt2YXIgZz0rcltoXVttXS54O28ucHVzaChnLDAsMSxnLDEsMSxnLDAsLTEsZywwLC0xLGcsMSwxLGcsMSwtMSl9dmFyIHY9by5sZW5ndGgvM3wwO2NbaF09Zix1W2hdPXYtZn12YXIgeT1uKHQsbmV3IEZsb2F0MzJBcnJheShvKSkseD1hKHQsW3tidWZmZXI6eSx0eXBlOnQuRkxPQVQsc2l6ZTozLHN0cmlkZTowLG9mZnNldDowfV0pLGI9aSh0KTtyZXR1cm4gYi5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsbmV3IHAodCx5LHgsYixsLHMsdSxjKX07dmFyIG49dCgiZ2wtYnVmZmVyIiksYT10KCJnbC12YW8iKSxpPXQoIi4vc2hhZGVycyIpLmxpbmUsbz1bMCwwLDBdLHM9WzAsMCwwXSxsPVswLDAsMF0sYz1bMCwwLDBdLHU9WzEsMV07ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdFswXT10WzFdPXRbMl09MCx0fWZ1bmN0aW9uIGYodCxlKXtyZXR1cm4gdFswXT1lWzBdLHRbMV09ZVsxXSx0WzJdPWVbMl0sdH1mdW5jdGlvbiBwKHQsZSxyLG4sYSxpLG8scyl7dGhpcy5nbD10LHRoaXMudmVydEJ1ZmZlcj1lLHRoaXMudmFvPXIsdGhpcy5zaGFkZXI9bix0aGlzLnRpY2tDb3VudD1hLHRoaXMudGlja09mZnNldD1pLHRoaXMuZ3JpZENvdW50PW8sdGhpcy5ncmlkT2Zmc2V0PXN9dmFyIGQ9cC5wcm90b3R5cGU7ZC5iaW5kPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnNoYWRlci5iaW5kKCksdGhpcy5zaGFkZXIudW5pZm9ybXMubW9kZWw9dCx0aGlzLnNoYWRlci51bmlmb3Jtcy52aWV3PWUsdGhpcy5zaGFkZXIudW5pZm9ybXMucHJvamVjdGlvbj1yLHVbMF09dGhpcy5nbC5kcmF3aW5nQnVmZmVyV2lkdGgsdVsxXT10aGlzLmdsLmRyYXdpbmdCdWZmZXJIZWlnaHQsdGhpcy5zaGFkZXIudW5pZm9ybXMuc2NyZWVuU2hhcGU9dSx0aGlzLnZhby5iaW5kKCl9LGQudW5iaW5kPWZ1bmN0aW9uKCl7dGhpcy52YW8udW5iaW5kKCl9LGQuZHJhd0F4aXNMaW5lPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9aChzKTt0aGlzLnNoYWRlci51bmlmb3Jtcy5tYWpvckF4aXM9cyxpW3RdPWVbMV1bdF0tZVswXVt0XSx0aGlzLnNoYWRlci51bmlmb3Jtcy5taW5vckF4aXM9aTt2YXIgbyx1PWYoYyxyKTt1W3RdKz1lWzBdW3RdLHRoaXMuc2hhZGVyLnVuaWZvcm1zLm9mZnNldD11LHRoaXMuc2hhZGVyLnVuaWZvcm1zLmxpbmVXaWR0aD1hLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmNvbG9yPW4sKG89aChsKSlbKHQrMiklM109MSx0aGlzLnNoYWRlci51bmlmb3Jtcy5zY3JlZW5BeGlzPW8sdGhpcy52YW8uZHJhdyh0aGlzLmdsLlRSSUFOR0xFUyw2KSwobz1oKGwpKVsodCsxKSUzXT0xLHRoaXMuc2hhZGVyLnVuaWZvcm1zLnNjcmVlbkF4aXM9byx0aGlzLnZhby5kcmF3KHRoaXMuZ2wuVFJJQU5HTEVTLDYpfSxkLmRyYXdBeGlzVGlja3M9ZnVuY3Rpb24odCxlLHIsbixhKXtpZih0aGlzLnRpY2tDb3VudFt0XSl7dmFyIGk9aChvKTtpW3RdPTEsdGhpcy5zaGFkZXIudW5pZm9ybXMubWFqb3JBeGlzPWksdGhpcy5zaGFkZXIudW5pZm9ybXMub2Zmc2V0PWUsdGhpcy5zaGFkZXIudW5pZm9ybXMubWlub3JBeGlzPXIsdGhpcy5zaGFkZXIudW5pZm9ybXMuY29sb3I9bix0aGlzLnNoYWRlci51bmlmb3Jtcy5saW5lV2lkdGg9YTt2YXIgcz1oKGwpO3NbdF09MSx0aGlzLnNoYWRlci51bmlmb3Jtcy5zY3JlZW5BeGlzPXMsdGhpcy52YW8uZHJhdyh0aGlzLmdsLlRSSUFOR0xFUyx0aGlzLnRpY2tDb3VudFt0XSx0aGlzLnRpY2tPZmZzZXRbdF0pfX0sZC5kcmF3R3JpZD1mdW5jdGlvbih0LGUscixuLGEsaSl7aWYodGhpcy5ncmlkQ291bnRbdF0pe3ZhciB1PWgocyk7dVtlXT1yWzFdW2VdLXJbMF1bZV0sdGhpcy5zaGFkZXIudW5pZm9ybXMubWlub3JBeGlzPXU7dmFyIHA9ZihjLG4pO3BbZV0rPXJbMF1bZV0sdGhpcy5zaGFkZXIudW5pZm9ybXMub2Zmc2V0PXA7dmFyIGQ9aChvKTtkW3RdPTEsdGhpcy5zaGFkZXIudW5pZm9ybXMubWFqb3JBeGlzPWQ7dmFyIGc9aChsKTtnW3RdPTEsdGhpcy5zaGFkZXIudW5pZm9ybXMuc2NyZWVuQXhpcz1nLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmxpbmVXaWR0aD1pLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmNvbG9yPWEsdGhpcy52YW8uZHJhdyh0aGlzLmdsLlRSSUFOR0xFUyx0aGlzLmdyaWRDb3VudFt0XSx0aGlzLmdyaWRPZmZzZXRbdF0pfX0sZC5kcmF3WmVybz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89aChzKTt0aGlzLnNoYWRlci51bmlmb3Jtcy5tYWpvckF4aXM9byxvW3RdPXJbMV1bdF0tclswXVt0XSx0aGlzLnNoYWRlci51bmlmb3Jtcy5taW5vckF4aXM9bzt2YXIgdT1mKGMsbik7dVt0XSs9clswXVt0XSx0aGlzLnNoYWRlci51bmlmb3Jtcy5vZmZzZXQ9dTt2YXIgcD1oKGwpO3BbZV09MSx0aGlzLnNoYWRlci51bmlmb3Jtcy5zY3JlZW5BeGlzPXAsdGhpcy5zaGFkZXIudW5pZm9ybXMubGluZVdpZHRoPWksdGhpcy5zaGFkZXIudW5pZm9ybXMuY29sb3I9YSx0aGlzLnZhby5kcmF3KHRoaXMuZ2wuVFJJQU5HTEVTLDYpfSxkLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnZhby5kaXNwb3NlKCksdGhpcy52ZXJ0QnVmZmVyLmRpc3Bvc2UoKSx0aGlzLnNoYWRlci5kaXNwb3NlKCl9fSx7Ii4vc2hhZGVycyI6MjQwLCJnbC1idWZmZXIiOjI0NCwiZ2wtdmFvIjozMjl9XSwyNDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2xzbGlmeSIpLGE9dCgiZ2wtc2hhZGVyIiksaT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb247XG5cbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gdmVjMyBvZmZzZXQsIG1ham9yQXhpcywgbWlub3JBeGlzLCBzY3JlZW5BeGlzO1xudW5pZm9ybSBmbG9hdCBsaW5lV2lkdGg7XG51bmlmb3JtIHZlYzIgc2NyZWVuU2hhcGU7XG5cbnZlYzMgcHJvamVjdCh2ZWMzIHApIHtcbiAgdmVjNCBwcCA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHAsIDEuMCk7XG4gIHJldHVybiBwcC54eXogLyBtYXgocHAudywgMC4wMDAxKTtcbn1cblxudm9pZCBtYWluKCkge1xuICB2ZWMzIG1ham9yID0gcG9zaXRpb24ueCAqIG1ham9yQXhpcztcbiAgdmVjMyBtaW5vciA9IHBvc2l0aW9uLnkgKiBtaW5vckF4aXM7XG5cbiAgdmVjMyB2UG9zaXRpb24gPSBtYWpvciArIG1pbm9yICsgb2Zmc2V0O1xuICB2ZWMzIHBQb3NpdGlvbiA9IHByb2plY3QodlBvc2l0aW9uKTtcbiAgdmVjMyBvZmZzZXQgPSBwcm9qZWN0KHZQb3NpdGlvbiArIHNjcmVlbkF4aXMgKiBwb3NpdGlvbi56KTtcblxuICB2ZWMyIHNjcmVlbiA9IG5vcm1hbGl6ZSgob2Zmc2V0IC0gcFBvc2l0aW9uKS54eSAqIHNjcmVlblNoYXBlKSAvIHNjcmVlblNoYXBlO1xuXG4gIGdsX1Bvc2l0aW9uID0gdmVjNChwUG9zaXRpb24gKyB2ZWMzKDAuNSAqIHNjcmVlbiAqIGxpbmVXaWR0aCwgMCksIDEuMCk7XG59XG4iXSksbz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWM0IGNvbG9yO1xudm9pZCBtYWluKCkge1xuICBnbF9GcmFnQ29sb3IgPSBjb2xvcjtcbn0iXSk7ci5saW5lPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQsaSxvLG51bGwsW3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9XSl9O3ZhciBzPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMzIG9mZnNldCwgYXhpcywgYWxpZ25EaXIsIGFsaWduT3B0O1xudW5pZm9ybSBmbG9hdCBzY2FsZSwgYW5nbGUsIHBpeGVsU2NhbGU7XG51bmlmb3JtIHZlYzIgcmVzb2x1dGlvbjtcblxudmVjMyBwcm9qZWN0KHZlYzMgcCkge1xuICB2ZWM0IHBwID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQocCwgMS4wKTtcbiAgcmV0dXJuIHBwLnh5eiAvIG1heChwcC53LCAwLjAwMDEpO1xufVxuXG5mbG9hdCBjb21wdXRlVmlld0FuZ2xlKHZlYzMgYSwgdmVjMyBiKSB7XG4gIHZlYzMgQSA9IHByb2plY3QoYSk7XG4gIHZlYzMgQiA9IHByb2plY3QoYik7XG5cbiAgcmV0dXJuIGF0YW4oXG4gICAgKEIueSAtIEEueSkgKiByZXNvbHV0aW9uLnksXG4gICAgKEIueCAtIEEueCkgKiByZXNvbHV0aW9uLnhcbiAgKTtcbn1cblxuY29uc3QgZmxvYXQgUEkgPSAzLjE0MTU5MjtcbmNvbnN0IGZsb2F0IFRXT19QSSA9IDIuMCAqIFBJO1xuY29uc3QgZmxvYXQgSEFMRl9QSSA9IDAuNSAqIFBJO1xuY29uc3QgZmxvYXQgT05FX0FORF9IQUxGX1BJID0gMS41ICogUEk7XG5cbmludCBvcHRpb24gPSBpbnQoZmxvb3IoYWxpZ25PcHQueCArIDAuMDAxKSk7XG5mbG9hdCBodl9yYXRpbyA9ICAgICAgIGFsaWduT3B0Lnk7XG5ib29sIGVuYWJsZUFsaWduID0gICAgKGFsaWduT3B0LnogIT0gMC4wKTtcblxuZmxvYXQgbW9kX2FuZ2xlKGZsb2F0IGEpIHtcbiAgcmV0dXJuIG1vZChhLCBQSSk7XG59XG5cbmZsb2F0IHBvc2l0aXZlX2FuZ2xlKGZsb2F0IGEpIHtcbiAgcmV0dXJuIG1vZF9hbmdsZSgoYSA8IDAuMCkgP1xuICAgIGEgKyBUV09fUEkgOlxuICAgIGFcbiAgKTtcbn1cblxuZmxvYXQgbG9va191cHdhcmRzKGZsb2F0IGEpIHtcbiAgZmxvYXQgYiA9IHBvc2l0aXZlX2FuZ2xlKGEpO1xuICByZXR1cm4gKChiID4gSEFMRl9QSSkgJiYgKGIgPD0gT05FX0FORF9IQUxGX1BJKSkgP1xuICAgIGIgLSBQSSA6XG4gICAgYjtcbn1cblxuZmxvYXQgbG9va19ob3Jpem9udGFsX29yX3ZlcnRpY2FsKGZsb2F0IGEsIGZsb2F0IHJhdGlvKSB7XG4gIC8vIHJhdGlvIGNvbnRyb2xzIHRoZSByYXRpbyBiZXR3ZWVuIGJlaW5nIGhvcml6b250YWwgdG8gKHZlcnRpY2FsICsgaG9yaXpvbnRhbClcbiAgLy8gaWYgcmF0aW8gaXMgc2V0IHRvIDAuNSB0aGVuIGl0IGlzIDUwJSwgNTAlLlxuICAvLyB3aGVuIHVzaW5nIGEgaGlnaGVyIHJhdGlvIGUuZy4gMC43NSB0aGUgcmVzdWx0IHdvdWxkXG4gIC8vIGxpa2VseSBiZSBtb3JlIGhvcml6b250YWwgdGhhbiB2ZXJ0aWNhbC5cblxuICBmbG9hdCBiID0gcG9zaXRpdmVfYW5nbGUoYSk7XG5cbiAgcmV0dXJuXG4gICAgKGIgPCAoICAgICAgcmF0aW8pICogSEFMRl9QSSkgPyAwLjAgOlxuICAgIChiIDwgKDIuMCAtIHJhdGlvKSAqIEhBTEZfUEkpID8gLUhBTEZfUEkgOlxuICAgIChiIDwgKDIuMCArIHJhdGlvKSAqIEhBTEZfUEkpID8gMC4wIDpcbiAgICAoYiA8ICg0LjAgLSByYXRpbykgKiBIQUxGX1BJKSA/IEhBTEZfUEkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wO1xufVxuXG5mbG9hdCByb3VuZFRvKGZsb2F0IGEsIGZsb2F0IGIpIHtcbiAgcmV0dXJuIGZsb2F0KGIgKiBmbG9vcigoYSArIDAuNSAqIGIpIC8gYikpO1xufVxuXG5mbG9hdCBsb29rX3JvdW5kX25fZGlyZWN0aW9ucyhmbG9hdCBhLCBpbnQgbikge1xuICBmbG9hdCBiID0gcG9zaXRpdmVfYW5nbGUoYSk7XG4gIGZsb2F0IGRpdiA9IFRXT19QSSAvIGZsb2F0KG4pO1xuICBmbG9hdCBjID0gcm91bmRUbyhiLCBkaXYpO1xuICByZXR1cm4gbG9va191cHdhcmRzKGMpO1xufVxuXG5mbG9hdCBhcHBseUFsaWduT3B0aW9uKGZsb2F0IHJhd0FuZ2xlLCBmbG9hdCBkZWx0YSkge1xuICByZXR1cm5cbiAgICAob3B0aW9uID4gIDIpID8gbG9va19yb3VuZF9uX2RpcmVjdGlvbnMocmF3QW5nbGUgKyBkZWx0YSwgb3B0aW9uKSA6ICAgICAgIC8vIG9wdGlvbiAzLW46IHJvdW5kIHRvIG4gZGlyZWN0aW9uc1xuICAgIChvcHRpb24gPT0gMikgPyBsb29rX2hvcml6b250YWxfb3JfdmVydGljYWwocmF3QW5nbGUgKyBkZWx0YSwgaHZfcmF0aW8pIDogLy8gaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbFxuICAgIChvcHRpb24gPT0gMSkgPyByYXdBbmdsZSArIGRlbHRhIDogICAgICAgLy8gdXNlIGZyZWUgYW5nbGUsIGFuZCBmbGlwIHRvIGFsaWduIHdpdGggb25lIGRpcmVjdGlvbiBvZiB0aGUgYXhpc1xuICAgIChvcHRpb24gPT0gMCkgPyBsb29rX3Vwd2FyZHMocmF3QW5nbGUpIDogLy8gdXNlIGZyZWUgYW5nbGUsIGFuZCBzdGF5IHVwd2FyZHNcbiAgICAob3B0aW9uID09LTEpID8gMC4wIDogICAgICAgICAgICAgICAgICAgIC8vIHVzZWZ1bCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgYWxsIHRleHRzIHJlbWFpbnMgaG9yaXpvbnRhbFxuICAgICAgICAgICAgICAgICAgICByYXdBbmdsZTsgICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHJldHVybiBiYWNrIHJhdyBpbnB1dCBhbmdsZVxufVxuXG5ib29sIGlzQXhpc1RpdGxlID0gKGF4aXMueCA9PSAwLjApICYmXG4gICAgICAgICAgICAgICAgICAgKGF4aXMueSA9PSAwLjApICYmXG4gICAgICAgICAgICAgICAgICAgKGF4aXMueiA9PSAwLjApO1xuXG52b2lkIG1haW4oKSB7XG4gIC8vQ29tcHV0ZSB3b3JsZCBvZmZzZXRcbiAgZmxvYXQgYXhpc0Rpc3RhbmNlID0gcG9zaXRpb24uejtcbiAgdmVjMyBkYXRhUG9zaXRpb24gPSBheGlzRGlzdGFuY2UgKiBheGlzICsgb2Zmc2V0O1xuXG4gIGZsb2F0IGJldGEgPSBhbmdsZTsgLy8gaS5lLiB1c2VyIGRlZmluZWQgYXR0cmlidXRlcyBmb3IgZWFjaCB0aWNrXG5cbiAgZmxvYXQgYXhpc0FuZ2xlO1xuICBmbG9hdCBjbGlwQW5nbGU7XG4gIGZsb2F0IGZsaXA7XG5cbiAgaWYgKGVuYWJsZUFsaWduKSB7XG4gICAgYXhpc0FuZ2xlID0gKGlzQXhpc1RpdGxlKSA/IEhBTEZfUEkgOlxuICAgICAgICAgICAgICAgICAgICAgIGNvbXB1dGVWaWV3QW5nbGUoZGF0YVBvc2l0aW9uLCBkYXRhUG9zaXRpb24gKyBheGlzKTtcbiAgICBjbGlwQW5nbGUgPSBjb21wdXRlVmlld0FuZ2xlKGRhdGFQb3NpdGlvbiwgZGF0YVBvc2l0aW9uICsgYWxpZ25EaXIpO1xuXG4gICAgYXhpc0FuZ2xlICs9IChzaW4oYXhpc0FuZ2xlKSA8IDAuMCkgPyBQSSA6IDAuMDtcbiAgICBjbGlwQW5nbGUgKz0gKHNpbihjbGlwQW5nbGUpIDwgMC4wKSA/IFBJIDogMC4wO1xuXG4gICAgZmxpcCA9IChkb3QodmVjMihjb3MoYXhpc0FuZ2xlKSwgc2luKGF4aXNBbmdsZSkpLFxuICAgICAgICAgICAgICAgIHZlYzIoc2luKGNsaXBBbmdsZSksLWNvcyhjbGlwQW5nbGUpKSkgPiAwLjApID8gMS4wIDogMC4wO1xuXG4gICAgYmV0YSArPSBhcHBseUFsaWduT3B0aW9uKGNsaXBBbmdsZSwgZmxpcCAqIFBJKTtcbiAgfVxuXG4gIC8vQ29tcHV0ZSBwbGFuZSBvZmZzZXRcbiAgdmVjMiBwbGFuZUNvb3JkID0gcG9zaXRpb24ueHkgKiBwaXhlbFNjYWxlO1xuXG4gIG1hdDIgcGxhbmVYZm9ybSA9IHNjYWxlICogbWF0MihcbiAgICAgY29zKGJldGEpLCBzaW4oYmV0YSksXG4gICAgLXNpbihiZXRhKSwgY29zKGJldGEpXG4gICk7XG5cbiAgdmVjMiB2aWV3T2Zmc2V0ID0gMi4wICogcGxhbmVYZm9ybSAqIHBsYW5lQ29vcmQgLyByZXNvbHV0aW9uO1xuXG4gIC8vQ29tcHV0ZSBjbGlwIHBvc2l0aW9uXG4gIHZlYzMgY2xpcFBvc2l0aW9uID0gcHJvamVjdChkYXRhUG9zaXRpb24pO1xuXG4gIC8vQXBwbHkgdGV4dCBvZmZzZXQgaW4gY2xpcCBjb29yZGluYXRlc1xuICBjbGlwUG9zaXRpb24gKz0gdmVjMyh2aWV3T2Zmc2V0LCAwLjApO1xuXG4gIC8vRG9uZVxuICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFBvc2l0aW9uLCAxLjApO1xufSJdKSxsPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG51bmlmb3JtIHZlYzQgY29sb3I7XG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IGNvbG9yO1xufSJdKTtyLnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxzLGwsbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn1dKX07dmFyIGM9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzMgbm9ybWFsO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG51bmlmb3JtIHZlYzMgZW5hYmxlO1xudW5pZm9ybSB2ZWMzIGJvdW5kc1syXTtcblxudmFyeWluZyB2ZWMzIGNvbG9yQ2hhbm5lbDtcblxudm9pZCBtYWluKCkge1xuXG4gIHZlYzMgc2lnbkF4aXMgPSBzaWduKGJvdW5kc1sxXSAtIGJvdW5kc1swXSk7XG5cbiAgdmVjMyByZWFsTm9ybWFsID0gc2lnbkF4aXMgKiBub3JtYWw7XG5cbiAgaWYoZG90KHJlYWxOb3JtYWwsIGVuYWJsZSkgPiAwLjApIHtcbiAgICB2ZWMzIG1pblJhbmdlID0gbWluKGJvdW5kc1swXSwgYm91bmRzWzFdKTtcbiAgICB2ZWMzIG1heFJhbmdlID0gbWF4KGJvdW5kc1swXSwgYm91bmRzWzFdKTtcbiAgICB2ZWMzIG5Qb3NpdGlvbiA9IG1peChtaW5SYW5nZSwgbWF4UmFuZ2UsIDAuNSAqIChwb3NpdGlvbiArIDEuMCkpO1xuICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQoblBvc2l0aW9uLCAxLjApO1xuICB9IGVsc2Uge1xuICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLDAsMCwwKTtcbiAgfVxuXG4gIGNvbG9yQ2hhbm5lbCA9IGFicyhyZWFsTm9ybWFsKTtcbn0iXSksdT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWM0IGNvbG9yc1szXTtcblxudmFyeWluZyB2ZWMzIGNvbG9yQ2hhbm5lbDtcblxudm9pZCBtYWluKCkge1xuICBnbF9GcmFnQ29sb3IgPSBjb2xvckNoYW5uZWwueCAqIGNvbG9yc1swXSArXG4gICAgICAgICAgICAgICAgIGNvbG9yQ2hhbm5lbC55ICogY29sb3JzWzFdICtcbiAgICAgICAgICAgICAgICAgY29sb3JDaGFubmVsLnogKiBjb2xvcnNbMl07XG59Il0pO3IuYmc9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxjLHUsbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9XSl9fSx7ImdsLXNoYWRlciI6MzA0LGdsc2xpZnk6NDExfV0sMjQxOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxzLGwpe3ZhciB1PW4odCksaD1hKHQsW3tidWZmZXI6dSxzaXplOjN9XSksZj1vKHQpO2YuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wO3ZhciBwPW5ldyBjKHQsZix1LGgpO3JldHVybiBwLnVwZGF0ZShlLHIsaSxzLGwpLHB9O3ZhciBuPXQoImdsLWJ1ZmZlciIpLGE9dCgiZ2wtdmFvIiksaT10KCJ2ZWN0b3JpemUtdGV4dCIpLG89dCgiLi9zaGFkZXJzIikudGV4dCxzPXdpbmRvd3x8ci5nbG9iYWx8fHt9LGw9cy5fX1RFWFRfQ0FDSEV8fHt9O3MuX19URVhUX0NBQ0hFPXt9O2Z1bmN0aW9uIGModCxlLHIsbil7dGhpcy5nbD10LHRoaXMuc2hhZGVyPWUsdGhpcy5idWZmZXI9cix0aGlzLnZhbz1uLHRoaXMudGlja09mZnNldD10aGlzLnRpY2tDb3VudD10aGlzLmxhYmVsT2Zmc2V0PXRoaXMubGFiZWxDb3VudD1udWxsfXZhciB1PWMucHJvdG90eXBlLGg9WzAsMF07dS5iaW5kPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMudmFvLmJpbmQoKSx0aGlzLnNoYWRlci5iaW5kKCk7dmFyIGE9dGhpcy5zaGFkZXIudW5pZm9ybXM7YS5tb2RlbD10LGEudmlldz1lLGEucHJvamVjdGlvbj1yLGEucGl4ZWxTY2FsZT1uLGhbMF09dGhpcy5nbC5kcmF3aW5nQnVmZmVyV2lkdGgsaFsxXT10aGlzLmdsLmRyYXdpbmdCdWZmZXJIZWlnaHQsdGhpcy5zaGFkZXIudW5pZm9ybXMucmVzb2x1dGlvbj1ofSx1LnVuYmluZD1mdW5jdGlvbigpe3RoaXMudmFvLnVuYmluZCgpfSx1LnVwZGF0ZT1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBvPVtdO2Z1bmN0aW9uIHModCxlLHIsbixhLHMpe3ZhciBjPWxbcl07Y3x8KGM9bFtyXT17fSk7dmFyIHU9Y1tlXTt1fHwodT1jW2VdPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiBpKHQsZSl9Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUud2FybignZXJyb3IgdmVjdG9yaXppbmcgdGV4dDoiJyt0KyciIGVycm9yOicsZSkse2NlbGxzOltdLHBvc2l0aW9uczpbXX19fShlLHt0cmlhbmdsZXM6ITAsZm9udDpyLHRleHRBbGlnbjoiY2VudGVyIix0ZXh0QmFzZWxpbmU6Im1pZGRsZSIsbGluZVNwYWNpbmc6YSxzdHlsZXRhZ3M6c30pKTtmb3IodmFyIGg9KG58fDEyKS8xMixmPXUucG9zaXRpb25zLHA9dS5jZWxscyxkPTAsZz1wLmxlbmd0aDtkPGc7KytkKWZvcih2YXIgdj1wW2RdLG09MjttPj0wOy0tbSl7dmFyIHk9Zlt2W21dXTtvLnB1c2goaCp5WzBdLC1oKnlbMV0sdCl9fWZvcih2YXIgYz1bMCwwLDBdLHU9WzAsMCwwXSxoPVswLDAsMF0sZj1bMCwwLDBdLHA9e2JyZWFrbGluZXM6ITAsYm9sZHM6ITAsaXRhbGljczohMCxzdWJzY3JpcHRzOiEwLHN1cGVyc2NyaXB0czohMH0sZD0wO2Q8MzsrK2Qpe2hbZF09by5sZW5ndGgvM3wwLHMoLjUqKHRbMF1bZF0rdFsxXVtkXSksZVtkXSxyW2RdLDEyLDEuMjUscCksZltkXT0oby5sZW5ndGgvM3wwKS1oW2RdLGNbZF09by5sZW5ndGgvM3wwO2Zvcih2YXIgZz0wO2c8bltkXS5sZW5ndGg7KytnKW5bZF1bZ10udGV4dCYmcyhuW2RdW2ddLngsbltkXVtnXS50ZXh0LG5bZF1bZ10uZm9udHx8YSxuW2RdW2ddLmZvbnRTaXplfHwxMiwxLjI1LHApO3VbZF09KG8ubGVuZ3RoLzN8MCktY1tkXX10aGlzLmJ1ZmZlci51cGRhdGUobyksdGhpcy50aWNrT2Zmc2V0PWMsdGhpcy50aWNrQ291bnQ9dSx0aGlzLmxhYmVsT2Zmc2V0PWgsdGhpcy5sYWJlbENvdW50PWZ9LHUuZHJhd1RpY2tzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7dGhpcy50aWNrQ291bnRbdF0mJih0aGlzLnNoYWRlci51bmlmb3Jtcy5heGlzPWksdGhpcy5zaGFkZXIudW5pZm9ybXMuY29sb3I9YSx0aGlzLnNoYWRlci51bmlmb3Jtcy5hbmdsZT1yLHRoaXMuc2hhZGVyLnVuaWZvcm1zLnNjYWxlPWUsdGhpcy5zaGFkZXIudW5pZm9ybXMub2Zmc2V0PW4sdGhpcy5zaGFkZXIudW5pZm9ybXMuYWxpZ25EaXI9byx0aGlzLnNoYWRlci51bmlmb3Jtcy5hbGlnbk9wdD1zLHRoaXMudmFvLmRyYXcodGhpcy5nbC5UUklBTkdMRVMsdGhpcy50aWNrQ291bnRbdF0sdGhpcy50aWNrT2Zmc2V0W3RdKSl9LHUuZHJhd0xhYmVsPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7dGhpcy5sYWJlbENvdW50W3RdJiYodGhpcy5zaGFkZXIudW5pZm9ybXMuYXhpcz1pLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmNvbG9yPWEsdGhpcy5zaGFkZXIudW5pZm9ybXMuYW5nbGU9cix0aGlzLnNoYWRlci51bmlmb3Jtcy5zY2FsZT1lLHRoaXMuc2hhZGVyLnVuaWZvcm1zLm9mZnNldD1uLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmFsaWduRGlyPW8sdGhpcy5zaGFkZXIudW5pZm9ybXMuYWxpZ25PcHQ9cyx0aGlzLnZhby5kcmF3KHRoaXMuZ2wuVFJJQU5HTEVTLHRoaXMubGFiZWxDb3VudFt0XSx0aGlzLmxhYmVsT2Zmc2V0W3RdKSl9LHUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnZhby5kaXNwb3NlKCksdGhpcy5idWZmZXIuZGlzcG9zZSgpfX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpKX0seyIuL3NoYWRlcnMiOjI0MCxfcHJvY2Vzczo0ODQsImdsLWJ1ZmZlciI6MjQ0LCJnbC12YW8iOjMyOSwidmVjdG9yaXplLXRleHQiOjU0OX1dLDI0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7dmFyIHI9dCsiIixuPXIuaW5kZXhPZigiLiIpLGE9MDtuPj0wJiYoYT1yLmxlbmd0aC1uLTEpO3ZhciBpPU1hdGgucG93KDEwLGEpLG89TWF0aC5yb3VuZCh0KmUqaSkscz1vKyIiO2lmKHMuaW5kZXhPZigiZSIpPj0wKXJldHVybiBzO3ZhciBsPW8vaSxjPW8laTtvPDA/KGw9MHwtTWF0aC5jZWlsKGwpLGM9MHwtYyk6KGw9MHxNYXRoLmZsb29yKGwpLGN8PTApO3ZhciB1PSIiK2w7aWYobzwwJiYodT0iLSIrdSksYSl7Zm9yKHZhciBoPSIiK2M7aC5sZW5ndGg8YTspaD0iMCIraDtyZXR1cm4gdSsiLiIraH1yZXR1cm4gdX1yLmNyZWF0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxhPTA7YTwzOysrYSl7Zm9yKHZhciBpPVtdLG89KHRbMF1bYV0sdFsxXVthXSwwKTtvKmVbYV08PXRbMV1bYV07KytvKWkucHVzaCh7eDpvKmVbYV0sdGV4dDpuKGVbYV0sbyl9KTtmb3IodmFyIG89LTE7byplW2FdPj10WzBdW2FdOy0tbylpLnB1c2goe3g6byplW2FdLHRleHQ6bihlW2FdLG8pfSk7ci5wdXNoKGkpfXJldHVybiByfSxyLmVxdWFsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjwzOysrcil7aWYodFtyXS5sZW5ndGghPT1lW3JdLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHRbcl0ubGVuZ3RoOysrbil7dmFyIGE9dFtyXVtuXSxpPWVbcl1bbl07aWYoYS54IT09aS54fHxhLnRleHQhPT1pLnRleHR8fGEuZm9udCE9PWkuZm9udHx8YS5mb250Q29sb3IhPT1pLmZvbnRDb2xvcnx8YS5mb250U2l6ZSE9PWkuZm9udFNpemV8fGEuZHghPT1pLmR4fHxhLmR5IT09aS5keSlyZXR1cm4hMX19cmV0dXJuITB9fSx7fV0sMjQzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsLGgpe3ZhciBmPWUubW9kZWx8fGMscD1lLnZpZXd8fGMsbT1lLnByb2plY3Rpb258fGMseT1lLl9vcnRob3x8ITEseD10LmJvdW5kcyxiPShoPWh8fGkoZixwLG0seCx5KSkuYXhpcztvKHUscCxmKSxvKHUsbSx1KTtmb3IodmFyIF89Zyx3PTA7dzwzOysrdylfW3ddLmxvPTEvMCxfW3ddLmhpPS0xLzAsX1t3XS5waXhlbHNQZXJEYXRhVW5pdD0xLzA7dmFyIGs9bihzKHUsdSkpO3ModSx1KTtmb3IodmFyIFQ9MDtUPDM7KytUKXt2YXIgTT0oVCsxKSUzLEE9KFQrMiklMyxTPXY7dDpmb3IodmFyIHc9MDt3PDI7Kyt3KXt2YXIgRT1bXTtpZihiW1RdPDAhPSEhdyl7U1tUXT14W3ddW1RdO2Zvcih2YXIgTD0wO0w8MjsrK0wpe1NbTV09eFtMXnddW01dO2Zvcih2YXIgQz0wO0M8MjsrK0MpU1tBXT14W0NeTF53XVtBXSxFLnB1c2goUy5zbGljZSgpKX1mb3IodmFyIFA9eT81OjQsTD1QO0w9PT1QOysrTCl7aWYoMD09PUUubGVuZ3RoKWNvbnRpbnVlIHQ7RT1hLnBvc2l0aXZlKEUsa1tMXSl9Zm9yKHZhciBMPTA7TDxFLmxlbmd0aDsrK0wpZm9yKHZhciBBPUVbTF0sTz1kKHYsdSxBLHIsbCksQz0wO0M8MzsrK0MpX1tDXS5sbz1NYXRoLm1pbihfW0NdLmxvLEFbQ10pLF9bQ10uaGk9TWF0aC5tYXgoX1tDXS5oaSxBW0NdKSxDIT09VCYmKF9bQ10ucGl4ZWxzUGVyRGF0YVVuaXQ9TWF0aC5taW4oX1tDXS5waXhlbHNQZXJEYXRhVW5pdCxNYXRoLmFicyhPW0NdKSkpfX19cmV0dXJuIF99O3ZhciBuPXQoImV4dHJhY3QtZnJ1c3R1bS1wbGFuZXMiKSxhPXQoInNwbGl0LXBvbHlnb24iKSxpPXQoIi4vbGliL2N1YmUuanMiKSxvPXQoImdsLW1hdDQvbXVsdGlwbHkiKSxzPXQoImdsLW1hdDQvdHJhbnNwb3NlIiksbD10KCJnbC12ZWM0L3RyYW5zZm9ybU1hdDQiKSxjPW5ldyBGbG9hdDMyQXJyYXkoWzEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDFdKSx1PW5ldyBGbG9hdDMyQXJyYXkoMTYpO2Z1bmN0aW9uIGgodCxlLHIpe3RoaXMubG89dCx0aGlzLmhpPWUsdGhpcy5waXhlbHNQZXJEYXRhVW5pdD1yfXZhciBmPVswLDAsMCwxXSxwPVswLDAsMCwxXTtmdW5jdGlvbiBkKHQsZSxyLG4sYSl7Zm9yKHZhciBpPTA7aTwzOysraSl7Zm9yKHZhciBvPWYscz1wLGM9MDtjPDM7KytjKXNbY109b1tjXT1yW2NdO3NbM109b1szXT0xLHNbaV0rPTEsbChzLHMsZSksc1szXTwwJiYodFtpXT0xLzApLG9baV0tPTEsbChvLG8sZSksb1szXTwwJiYodFtpXT0xLzApO3ZhciB1PShvWzBdL29bM10tc1swXS9zWzNdKSpuLGg9KG9bMV0vb1szXS1zWzFdL3NbM10pKmE7dFtpXT0uMjUqTWF0aC5zcXJ0KHUqdStoKmgpfXJldHVybiB0fXZhciBnPVtuZXcgaCgxLzAsLTEvMCwxLzApLG5ldyBoKDEvMCwtMS8wLDEvMCksbmV3IGgoMS8wLC0xLzAsMS8wKV0sdj1bMCwwLDBdfSx7Ii4vbGliL2N1YmUuanMiOjIzOCwiZXh0cmFjdC1mcnVzdHVtLXBsYW5lcyI6MjI3LCJnbC1tYXQ0L211bHRpcGx5IjoyNzAsImdsLW1hdDQvdHJhbnNwb3NlIjoyNzksImdsLXZlYzQvdHJhbnNmb3JtTWF0NCI6NDAwLCJzcGxpdC1wb2x5Z29uIjo1MjZ9XSwyNDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgidHlwZWRhcnJheS1wb29sIiksYT10KCJuZGFycmF5LW9wcyIpLGk9dCgibmRhcnJheSIpLG89WyJ1aW50OCIsInVpbnQ4X2NsYW1wZWQiLCJ1aW50MTYiLCJ1aW50MzIiLCJpbnQ4IiwiaW50MTYiLCJpbnQzMiIsImZsb2F0MzIiXTtmdW5jdGlvbiBzKHQsZSxyLG4sYSl7dGhpcy5nbD10LHRoaXMudHlwZT1lLHRoaXMuaGFuZGxlPXIsdGhpcy5sZW5ndGg9bix0aGlzLnVzYWdlPWF9dmFyIGw9cy5wcm90b3R5cGU7ZnVuY3Rpb24gYyh0LGUscixuLGEsaSl7dmFyIG89YS5sZW5ndGgqYS5CWVRFU19QRVJfRUxFTUVOVDtpZihpPDApcmV0dXJuIHQuYnVmZmVyRGF0YShlLGEsbiksbztpZihvK2k+cil0aHJvdyBuZXcgRXJyb3IoImdsLWJ1ZmZlcjogSWYgcmVzaXppbmcgYnVmZmVyLCBtdXN0IG5vdCBzcGVjaWZ5IG9mZnNldCIpO3JldHVybiB0LmJ1ZmZlclN1YkRhdGEoZSxpLGEpLHJ9ZnVuY3Rpb24gdSh0LGUpe2Zvcih2YXIgcj1uLm1hbGxvYyh0Lmxlbmd0aCxlKSxhPXQubGVuZ3RoLGk9MDtpPGE7KytpKXJbaV09dFtpXTtyZXR1cm4gcn1sLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmdsLmJpbmRCdWZmZXIodGhpcy50eXBlLHRoaXMuaGFuZGxlKX0sbC51bmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmdsLmJpbmRCdWZmZXIodGhpcy50eXBlLG51bGwpfSxsLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmdsLmRlbGV0ZUJ1ZmZlcih0aGlzLmhhbmRsZSl9LGwudXBkYXRlPWZ1bmN0aW9uKHQsZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlJiYoZT0tMSksdGhpcy5iaW5kKCksIm9iamVjdCI9PXR5cGVvZiB0JiYidW5kZWZpbmVkIiE9dHlwZW9mIHQuc2hhcGUpe3ZhciByPXQuZHR5cGU7aWYoby5pbmRleE9mKHIpPDAmJihyPSJmbG9hdDMyIiksdGhpcy50eXBlPT09dGhpcy5nbC5FTEVNRU5UX0FSUkFZX0JVRkZFUilyPWdsLmdldEV4dGVuc2lvbigiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIpJiYidWludDE2IiE9PXI/InVpbnQzMiI6InVpbnQxNiI7aWYocj09PXQuZHR5cGUmJmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEsbj1lLmxlbmd0aC0xO24+PTA7LS1uKXtpZihlW25dIT09cilyZXR1cm4hMTtyKj10W25dfXJldHVybiEwfSh0LnNoYXBlLHQuc3RyaWRlKSkwPT09dC5vZmZzZXQmJnQuZGF0YS5sZW5ndGg9PT10LnNoYXBlWzBdP3RoaXMubGVuZ3RoPWModGhpcy5nbCx0aGlzLnR5cGUsdGhpcy5sZW5ndGgsdGhpcy51c2FnZSx0LmRhdGEsZSk6dGhpcy5sZW5ndGg9Yyh0aGlzLmdsLHRoaXMudHlwZSx0aGlzLmxlbmd0aCx0aGlzLnVzYWdlLHQuZGF0YS5zdWJhcnJheSh0Lm9mZnNldCx0LnNoYXBlWzBdKSxlKTtlbHNle3ZhciBzPW4ubWFsbG9jKHQuc2l6ZSxyKSxsPWkocyx0LnNoYXBlKTthLmFzc2lnbihsLHQpLHRoaXMubGVuZ3RoPWModGhpcy5nbCx0aGlzLnR5cGUsdGhpcy5sZW5ndGgsdGhpcy51c2FnZSxlPDA/czpzLnN1YmFycmF5KDAsdC5zaXplKSxlKSxuLmZyZWUocyl9fWVsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIGg7aD10aGlzLnR5cGU9PT10aGlzLmdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSP3UodCwidWludDE2Iik6dSh0LCJmbG9hdDMyIiksdGhpcy5sZW5ndGg9Yyh0aGlzLmdsLHRoaXMudHlwZSx0aGlzLmxlbmd0aCx0aGlzLnVzYWdlLGU8MD9oOmguc3ViYXJyYXkoMCx0Lmxlbmd0aCksZSksbi5mcmVlKGgpfWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiB0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXRoaXMubGVuZ3RoPWModGhpcy5nbCx0aGlzLnR5cGUsdGhpcy5sZW5ndGgsdGhpcy51c2FnZSx0LGUpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiB0JiZ2b2lkIDAhPT10KXRocm93IG5ldyBFcnJvcigiZ2wtYnVmZmVyOiBJbnZhbGlkIGRhdGEgdHlwZSIpO2lmKGU+PTApdGhyb3cgbmV3IEVycm9yKCJnbC1idWZmZXI6IENhbm5vdCBzcGVjaWZ5IG9mZnNldCB3aGVuIHJlc2l6aW5nIGJ1ZmZlciIpOyh0fD0wKTw9MCYmKHQ9MSksdGhpcy5nbC5idWZmZXJEYXRhKHRoaXMudHlwZSwwfHQsdGhpcy51c2FnZSksdGhpcy5sZW5ndGg9dH19LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtpZihyPXJ8fHQuQVJSQVlfQlVGRkVSLG49bnx8dC5EWU5BTUlDX0RSQVcsciE9PXQuQVJSQVlfQlVGRkVSJiZyIT09dC5FTEVNRU5UX0FSUkFZX0JVRkZFUil0aHJvdyBuZXcgRXJyb3IoImdsLWJ1ZmZlcjogSW52YWxpZCB0eXBlIGZvciB3ZWJnbCBidWZmZXIsIG11c3QgYmUgZWl0aGVyIGdsLkFSUkFZX0JVRkZFUiBvciBnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiIpO2lmKG4hPT10LkRZTkFNSUNfRFJBVyYmbiE9PXQuU1RBVElDX0RSQVcmJm4hPT10LlNUUkVBTV9EUkFXKXRocm93IG5ldyBFcnJvcigiZ2wtYnVmZmVyOiBJbnZhbGlkIHVzYWdlIGZvciBidWZmZXIsIG11c3QgYmUgZWl0aGVyIGdsLkRZTkFNSUNfRFJBVywgZ2wuU1RBVElDX0RSQVcgb3IgZ2wuU1RSRUFNX0RSQVciKTt2YXIgYT10LmNyZWF0ZUJ1ZmZlcigpLGk9bmV3IHModCxyLGEsMCxuKTtyZXR1cm4gaS51cGRhdGUoZSksaX19LHtuZGFycmF5OjQ1MiwibmRhcnJheS1vcHMiOjQ0NiwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwyNDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtdmVjMyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQucG9zaXRpb25zLGE9dC52ZWN0b3JzLGk9e3Bvc2l0aW9uczpbXSx2ZXJ0ZXhJbnRlbnNpdHk6W10sdmVydGV4SW50ZW5zaXR5Qm91bmRzOnQudmVydGV4SW50ZW5zaXR5Qm91bmRzLHZlY3RvcnM6W10sY2VsbHM6W10sY29uZU9mZnNldDp0LmNvbmVPZmZzZXQsY29sb3JtYXA6dC5jb2xvcm1hcH07aWYoMD09PXQucG9zaXRpb25zLmxlbmd0aClyZXR1cm4gZSYmKGVbMF09WzAsMCwwXSxlWzFdPVswLDAsMF0pLGk7Zm9yKHZhciBvPTAscz0xLzAsbD0tMS8wLGM9MS8wLHU9LTEvMCxoPTEvMCxmPS0xLzAscD1udWxsLGQ9bnVsbCxnPVtdLHY9MS8wLG09ITEseT0wO3k8ci5sZW5ndGg7eSsrKXt2YXIgeD1yW3ldO3M9TWF0aC5taW4oeFswXSxzKSxsPU1hdGgubWF4KHhbMF0sbCksYz1NYXRoLm1pbih4WzFdLGMpLHU9TWF0aC5tYXgoeFsxXSx1KSxoPU1hdGgubWluKHhbMl0saCksZj1NYXRoLm1heCh4WzJdLGYpO3ZhciBiPWFbeV07aWYobi5sZW5ndGgoYik+byYmKG89bi5sZW5ndGgoYikpLHkpe3ZhciBfPTIqbi5kaXN0YW5jZShwLHgpLyhuLmxlbmd0aChkKStuLmxlbmd0aChiKSk7Xz8odj1NYXRoLm1pbih2LF8pLG09ITEpOm09ITB9bXx8KHA9eCxkPWIpLGcucHVzaChiKX12YXIgdz1bcyxjLGhdLGs9W2wsdSxmXTtlJiYoZVswXT13LGVbMV09ayksMD09PW8mJihvPTEpO3ZhciBUPTEvbztpc0Zpbml0ZSh2KXx8KHY9MSksaS52ZWN0b3JTY2FsZT12O3ZhciBNPXQuY29uZVNpemV8fC41O3QuYWJzb2x1dGVDb25lU2l6ZSYmKE09dC5hYnNvbHV0ZUNvbmVTaXplKlQpLGkuY29uZVNjYWxlPU07eT0wO2Zvcih2YXIgQT0wO3k8ci5sZW5ndGg7eSsrKWZvcih2YXIgUz0oeD1yW3ldKVswXSxFPXhbMV0sTD14WzJdLEM9Z1t5XSxQPW4ubGVuZ3RoKEMpKlQsTz0wO088ODtPKyspe2kucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVydGV4SW50ZW5zaXR5LnB1c2goUCxQLFApLGkudmVydGV4SW50ZW5zaXR5LnB1c2goUCxQLFApO3ZhciB6PWkucG9zaXRpb25zLmxlbmd0aDtpLmNlbGxzLnB1c2goW3otNix6LTUsei00XSxbei0zLHotMix6LTFdKX1yZXR1cm4gaX07dmFyIGE9dCgiLi9saWIvc2hhZGVycyIpO2UuZXhwb3J0cy5jcmVhdGVNZXNoPXQoIi4vY3JlYXRlX21lc2giKSxlLmV4cG9ydHMuY3JlYXRlQ29uZU1lc2g9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5leHBvcnRzLmNyZWF0ZU1lc2godCxyLHtzaGFkZXJzOmEsdHJhY2VUeXBlOiJjb25lIn0pfX0seyIuL2NyZWF0ZV9tZXNoIjoyNDYsIi4vbGliL3NoYWRlcnMiOjI0NywiZ2wtdmVjMyI6MzQ4fV0sMjQ2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsLXNoYWRlciIpLGE9dCgiZ2wtYnVmZmVyIiksaT10KCJnbC12YW8iKSxvPXQoImdsLXRleHR1cmUyZCIpLHM9dCgiZ2wtbWF0NC9tdWx0aXBseSIpLGw9dCgiZ2wtbWF0NC9pbnZlcnQiKSxjPXQoIm5kYXJyYXkiKSx1PXQoImNvbG9ybWFwIiksaD1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07ZnVuY3Rpb24gZih0LGUscixuLGEsaSxvLHMsbCxjLHUpe3RoaXMuZ2w9dCx0aGlzLnBpeGVsUmF0aW89MSx0aGlzLmNlbGxzPVtdLHRoaXMucG9zaXRpb25zPVtdLHRoaXMuaW50ZW5zaXR5PVtdLHRoaXMudGV4dHVyZT1lLHRoaXMuZGlydHk9ITAsdGhpcy50cmlTaGFkZXI9cix0aGlzLnBpY2tTaGFkZXI9bix0aGlzLnRyaWFuZ2xlUG9zaXRpb25zPWEsdGhpcy50cmlhbmdsZVZlY3RvcnM9aSx0aGlzLnRyaWFuZ2xlQ29sb3JzPXMsdGhpcy50cmlhbmdsZVVWcz1sLHRoaXMudHJpYW5nbGVJZHM9byx0aGlzLnRyaWFuZ2xlVkFPPWMsdGhpcy50cmlhbmdsZUNvdW50PTAsdGhpcy5waWNrSWQ9MSx0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXSx0aGlzLmNsaXBCb3VuZHM9W1stMS8wLC0xLzAsLTEvMF0sWzEvMCwxLzAsMS8wXV0sdGhpcy5saWdodFBvc2l0aW9uPVsxZTUsMWU1LDBdLHRoaXMuYW1iaWVudExpZ2h0PS44LHRoaXMuZGlmZnVzZUxpZ2h0PS44LHRoaXMuc3BlY3VsYXJMaWdodD0yLHRoaXMucm91Z2huZXNzPS41LHRoaXMuZnJlc25lbD0xLjUsdGhpcy5vcGFjaXR5PTEsdGhpcy50cmFjZVR5cGU9dSx0aGlzLnR1YmVTY2FsZT0xLHRoaXMuY29uZVNjYWxlPTIsdGhpcy52ZWN0b3JTY2FsZT0xLHRoaXMuY29uZU9mZnNldD0uMjUsdGhpcy5fbW9kZWw9aCx0aGlzLl92aWV3PWgsdGhpcy5fcHJvamVjdGlvbj1oLHRoaXMuX3Jlc29sdXRpb249WzEsMV19dmFyIHA9Zi5wcm90b3R5cGU7cC5pc09wYXF1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wYWNpdHk+PTF9LHAuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wYWNpdHk8MX0scC5waWNrU2xvdHM9MSxwLnNldFBpY2tCYXNlPWZ1bmN0aW9uKHQpe3RoaXMucGlja0lkPXR9LHAudXBkYXRlPWZ1bmN0aW9uKHQpe3Q9dHx8e307dmFyIGU9dGhpcy5nbDt0aGlzLmRpcnR5PSEwLCJsaWdodFBvc2l0aW9uImluIHQmJih0aGlzLmxpZ2h0UG9zaXRpb249dC5saWdodFBvc2l0aW9uKSwib3BhY2l0eSJpbiB0JiYodGhpcy5vcGFjaXR5PXQub3BhY2l0eSksImFtYmllbnQiaW4gdCYmKHRoaXMuYW1iaWVudExpZ2h0PXQuYW1iaWVudCksImRpZmZ1c2UiaW4gdCYmKHRoaXMuZGlmZnVzZUxpZ2h0PXQuZGlmZnVzZSksInNwZWN1bGFyImluIHQmJih0aGlzLnNwZWN1bGFyTGlnaHQ9dC5zcGVjdWxhciksInJvdWdobmVzcyJpbiB0JiYodGhpcy5yb3VnaG5lc3M9dC5yb3VnaG5lc3MpLCJmcmVzbmVsImluIHQmJih0aGlzLmZyZXNuZWw9dC5mcmVzbmVsKSx2b2lkIDAhPT10LnR1YmVTY2FsZSYmKHRoaXMudHViZVNjYWxlPXQudHViZVNjYWxlKSx2b2lkIDAhPT10LnZlY3RvclNjYWxlJiYodGhpcy52ZWN0b3JTY2FsZT10LnZlY3RvclNjYWxlKSx2b2lkIDAhPT10LmNvbmVTY2FsZSYmKHRoaXMuY29uZVNjYWxlPXQuY29uZVNjYWxlKSx2b2lkIDAhPT10LmNvbmVPZmZzZXQmJih0aGlzLmNvbmVPZmZzZXQ9dC5jb25lT2Zmc2V0KSx0LmNvbG9ybWFwJiYodGhpcy50ZXh0dXJlLnNoYXBlPVsyNTYsMjU2XSx0aGlzLnRleHR1cmUubWluRmlsdGVyPWUuTElORUFSX01JUE1BUF9MSU5FQVIsdGhpcy50ZXh0dXJlLm1hZ0ZpbHRlcj1lLkxJTkVBUix0aGlzLnRleHR1cmUuc2V0UGl4ZWxzKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT11KHtjb2xvcm1hcDp0LG5zaGFkZXM6MjU2LGZvcm1hdDoicmdiYSJ9KSxyPW5ldyBVaW50OEFycmF5KDEwMjQpLG49MDtuPDI1NjsrK24pe2Zvcih2YXIgYT1lW25dLGk9MDtpPDM7KytpKXJbNCpuK2ldPWFbaV07cls0Km4rM109MjU1KmFbM119cmV0dXJuIGMocixbMjU2LDI1Niw0XSxbNCwwLDFdKX0odC5jb2xvcm1hcCkpLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcCgpKTt2YXIgcj10LmNlbGxzLG49dC5wb3NpdGlvbnMsYT10LnZlY3RvcnM7aWYobiYmciYmYSl7dmFyIGk9W10sbz1bXSxzPVtdLGw9W10saD1bXTt0aGlzLmNlbGxzPXIsdGhpcy5wb3NpdGlvbnM9bix0aGlzLnZlY3RvcnM9YTt2YXIgZj10Lm1lc2hDb2xvcnx8WzEsMSwxLDFdLHA9dC52ZXJ0ZXhJbnRlbnNpdHksZD0xLzAsZz0tMS8wO2lmKHApaWYodC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHMpZD0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMF0sZz0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMV07ZWxzZSBmb3IodmFyIHY9MDt2PHAubGVuZ3RoOysrdil7dmFyIG09cFt2XTtkPU1hdGgubWluKGQsbSksZz1NYXRoLm1heChnLG0pfWVsc2UgZm9yKHY9MDt2PG4ubGVuZ3RoOysrdil7bT1uW3ZdWzJdO2Q9TWF0aC5taW4oZCxtKSxnPU1hdGgubWF4KGcsbSl9dGhpcy5pbnRlbnNpdHk9cHx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7KytuKXJbbl09dFtuXVsyXTtyZXR1cm4gcn0obiksdGhpcy5ib3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV07Zm9yKHY9MDt2PG4ubGVuZ3RoOysrdilmb3IodmFyIHk9blt2XSx4PTA7eDwzOysreCkhaXNOYU4oeVt4XSkmJmlzRmluaXRlKHlbeF0pJiYodGhpcy5ib3VuZHNbMF1beF09TWF0aC5taW4odGhpcy5ib3VuZHNbMF1beF0seVt4XSksdGhpcy5ib3VuZHNbMV1beF09TWF0aC5tYXgodGhpcy5ib3VuZHNbMV1beF0seVt4XSkpO3ZhciBiPTA7dDpmb3Iodj0wO3Y8ci5sZW5ndGg7Kyt2KXt2YXIgXz1yW3ZdO3N3aXRjaChfLmxlbmd0aCl7Y2FzZSAzOmZvcih4PTA7eDwzOysreCl7eT1uW2s9X1t4XV07Zm9yKHZhciB3PTA7dzwzOysrdylpZihpc05hTih5W3ddKXx8IWlzRmluaXRlKHlbd10pKWNvbnRpbnVlIHR9Zm9yKHg9MDt4PDM7Kyt4KXt2YXIgazt5PW5baz1fWzIteF1dO2kucHVzaCh5WzBdLHlbMV0seVsyXSx5WzNdKTt2YXIgVD1hW2tdO28ucHVzaChUWzBdLFRbMV0sVFsyXSxUWzNdfHwwKTt2YXIgTSxBPWY7Mz09PUEubGVuZ3RoP3MucHVzaChBWzBdLEFbMV0sQVsyXSwxKTpzLnB1c2goQVswXSxBWzFdLEFbMl0sQVszXSksTT1wP1socFtrXS1kKS8oZy1kKSwwXTpbKHlbMl0tZCkvKGctZCksMF0sbC5wdXNoKE1bMF0sTVsxXSksaC5wdXNoKHYpfWIrPTF9fXRoaXMudHJpYW5nbGVDb3VudD1iLHRoaXMudHJpYW5nbGVQb3NpdGlvbnMudXBkYXRlKGkpLHRoaXMudHJpYW5nbGVWZWN0b3JzLnVwZGF0ZShvKSx0aGlzLnRyaWFuZ2xlQ29sb3JzLnVwZGF0ZShzKSx0aGlzLnRyaWFuZ2xlVVZzLnVwZGF0ZShsKSx0aGlzLnRyaWFuZ2xlSWRzLnVwZGF0ZShuZXcgVWludDMyQXJyYXkoaCkpfX0scC5kcmF3VHJhbnNwYXJlbnQ9cC5kcmF3PWZ1bmN0aW9uKHQpe3Q9dHx8e307Zm9yKHZhciBlPXRoaXMuZ2wscj10Lm1vZGVsfHxoLG49dC52aWV3fHxoLGE9dC5wcm9qZWN0aW9ufHxoLGk9W1stMWU2LC0xZTYsLTFlNl0sWzFlNiwxZTYsMWU2XV0sbz0wO288MzsrK28paVswXVtvXT1NYXRoLm1heChpWzBdW29dLHRoaXMuY2xpcEJvdW5kc1swXVtvXSksaVsxXVtvXT1NYXRoLm1pbihpWzFdW29dLHRoaXMuY2xpcEJvdW5kc1sxXVtvXSk7dmFyIGM9e21vZGVsOnIsdmlldzpuLHByb2plY3Rpb246YSxpbnZlcnNlTW9kZWw6aC5zbGljZSgpLGNsaXBCb3VuZHM6aSxrYW1iaWVudDp0aGlzLmFtYmllbnRMaWdodCxrZGlmZnVzZTp0aGlzLmRpZmZ1c2VMaWdodCxrc3BlY3VsYXI6dGhpcy5zcGVjdWxhckxpZ2h0LHJvdWdobmVzczp0aGlzLnJvdWdobmVzcyxmcmVzbmVsOnRoaXMuZnJlc25lbCxleWVQb3NpdGlvbjpbMCwwLDBdLGxpZ2h0UG9zaXRpb246WzAsMCwwXSxvcGFjaXR5OnRoaXMub3BhY2l0eSx0dWJlU2NhbGU6dGhpcy50dWJlU2NhbGUsdmVjdG9yU2NhbGU6dGhpcy52ZWN0b3JTY2FsZSxjb25lU2NhbGU6dGhpcy5jb25lU2NhbGUsY29uZU9mZnNldDp0aGlzLmNvbmVPZmZzZXQsdGV4dHVyZTowfTtjLmludmVyc2VNb2RlbD1sKGMuaW52ZXJzZU1vZGVsLGMubW9kZWwpLGUuZGlzYWJsZShlLkNVTExfRkFDRSksdGhpcy50ZXh0dXJlLmJpbmQoMCk7dmFyIHU9bmV3IEFycmF5KDE2KTtzKHUsYy52aWV3LGMubW9kZWwpLHModSxjLnByb2plY3Rpb24sdSksbCh1LHUpO2ZvcihvPTA7bzwzOysrbyljLmV5ZVBvc2l0aW9uW29dPXVbMTIrb10vdVsxNV07dmFyIGY9dVsxNV07Zm9yKG89MDtvPDM7KytvKWYrPXRoaXMubGlnaHRQb3NpdGlvbltvXSp1WzQqbyszXTtmb3Iobz0wO288MzsrK28pe2Zvcih2YXIgcD11WzEyK29dLGQ9MDtkPDM7KytkKXArPXVbNCpkK29dKnRoaXMubGlnaHRQb3NpdGlvbltkXTtjLmxpZ2h0UG9zaXRpb25bb109cC9mfWlmKHRoaXMudHJpYW5nbGVDb3VudD4wKXt2YXIgZz10aGlzLnRyaVNoYWRlcjtnLmJpbmQoKSxnLnVuaWZvcm1zPWMsdGhpcy50cmlhbmdsZVZBTy5iaW5kKCksZS5kcmF3QXJyYXlzKGUuVFJJQU5HTEVTLDAsMyp0aGlzLnRyaWFuZ2xlQ291bnQpLHRoaXMudHJpYW5nbGVWQU8udW5iaW5kKCl9fSxwLmRyYXdQaWNrPWZ1bmN0aW9uKHQpe3Q9dHx8e307Zm9yKHZhciBlPXRoaXMuZ2wscj10Lm1vZGVsfHxoLG49dC52aWV3fHxoLGE9dC5wcm9qZWN0aW9ufHxoLGk9W1stMWU2LC0xZTYsLTFlNl0sWzFlNiwxZTYsMWU2XV0sbz0wO288MzsrK28paVswXVtvXT1NYXRoLm1heChpWzBdW29dLHRoaXMuY2xpcEJvdW5kc1swXVtvXSksaVsxXVtvXT1NYXRoLm1pbihpWzFdW29dLHRoaXMuY2xpcEJvdW5kc1sxXVtvXSk7dGhpcy5fbW9kZWw9W10uc2xpY2UuY2FsbChyKSx0aGlzLl92aWV3PVtdLnNsaWNlLmNhbGwobiksdGhpcy5fcHJvamVjdGlvbj1bXS5zbGljZS5jYWxsKGEpLHRoaXMuX3Jlc29sdXRpb249W2UuZHJhd2luZ0J1ZmZlcldpZHRoLGUuZHJhd2luZ0J1ZmZlckhlaWdodF07dmFyIHM9e21vZGVsOnIsdmlldzpuLHByb2plY3Rpb246YSxjbGlwQm91bmRzOmksdHViZVNjYWxlOnRoaXMudHViZVNjYWxlLHZlY3RvclNjYWxlOnRoaXMudmVjdG9yU2NhbGUsY29uZVNjYWxlOnRoaXMuY29uZVNjYWxlLGNvbmVPZmZzZXQ6dGhpcy5jb25lT2Zmc2V0LHBpY2tJZDp0aGlzLnBpY2tJZC8yNTV9LGw9dGhpcy5waWNrU2hhZGVyO2wuYmluZCgpLGwudW5pZm9ybXM9cyx0aGlzLnRyaWFuZ2xlQ291bnQ+MCYmKHRoaXMudHJpYW5nbGVWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLlRSSUFOR0xFUywwLDMqdGhpcy50cmlhbmdsZUNvdW50KSx0aGlzLnRyaWFuZ2xlVkFPLnVuYmluZCgpKX0scC5waWNrPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQuaWQhPT10aGlzLnBpY2tJZClyZXR1cm4gbnVsbDt2YXIgZT10LnZhbHVlWzBdKzI1Nip0LnZhbHVlWzFdKzY1NTM2KnQudmFsdWVbMl0scj10aGlzLmNlbGxzW2VdLG49dGhpcy5wb3NpdGlvbnNbclsxXV0uc2xpY2UoMCwzKSxhPXtwb3NpdGlvbjpuLGRhdGFDb29yZGluYXRlOm4saW5kZXg6TWF0aC5mbG9vcihyWzFdLzQ4KX07cmV0dXJuImNvbmUiPT09dGhpcy50cmFjZVR5cGU/YS5pbmRleD1NYXRoLmZsb29yKHJbMV0vNDgpOiJzdHJlYW10dWJlIj09PXRoaXMudHJhY2VUeXBlJiYoYS5pbnRlbnNpdHk9dGhpcy5pbnRlbnNpdHlbclsxXV0sYS52ZWxvY2l0eT10aGlzLnZlY3RvcnNbclsxXV0uc2xpY2UoMCwzKSxhLmRpdmVyZ2VuY2U9dGhpcy52ZWN0b3JzW3JbMV1dWzNdLGEuaW5kZXg9ZSksYX0scC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0dXJlLmRpc3Bvc2UoKSx0aGlzLnRyaVNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlVkFPLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlUG9zaXRpb25zLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlVmVjdG9ycy5kaXNwb3NlKCksdGhpcy50cmlhbmdsZUNvbG9ycy5kaXNwb3NlKCksdGhpcy50cmlhbmdsZVVWcy5kaXNwb3NlKCksdGhpcy50cmlhbmdsZUlkcy5kaXNwb3NlKCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIHM9ci5zaGFkZXJzOzE9PT1hcmd1bWVudHMubGVuZ3RoJiYodD0oZT10KS5nbCk7dmFyIGw9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHQsZS5tZXNoU2hhZGVyLnZlcnRleCxlLm1lc2hTaGFkZXIuZnJhZ21lbnQsbnVsbCxlLm1lc2hTaGFkZXIuYXR0cmlidXRlcyk7cmV0dXJuIHIuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLHIuYXR0cmlidXRlcy5jb2xvci5sb2NhdGlvbj0yLHIuYXR0cmlidXRlcy51di5sb2NhdGlvbj0zLHIuYXR0cmlidXRlcy52ZWN0b3IubG9jYXRpb249NCxyfSh0LHMpLHU9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHQsZS5waWNrU2hhZGVyLnZlcnRleCxlLnBpY2tTaGFkZXIuZnJhZ21lbnQsbnVsbCxlLnBpY2tTaGFkZXIuYXR0cmlidXRlcyk7cmV0dXJuIHIuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLHIuYXR0cmlidXRlcy5pZC5sb2NhdGlvbj0xLHIuYXR0cmlidXRlcy52ZWN0b3IubG9jYXRpb249NCxyfSh0LHMpLGg9byh0LGMobmV3IFVpbnQ4QXJyYXkoWzI1NSwyNTUsMjU1LDI1NV0pLFsxLDEsNF0pKTtoLmdlbmVyYXRlTWlwbWFwKCksaC5taW5GaWx0ZXI9dC5MSU5FQVJfTUlQTUFQX0xJTkVBUixoLm1hZ0ZpbHRlcj10LkxJTkVBUjt2YXIgcD1hKHQpLGQ9YSh0KSxnPWEodCksdj1hKHQpLG09YSh0KSx5PW5ldyBmKHQsaCxsLHUscCxkLG0sZyx2LGkodCxbe2J1ZmZlcjpwLHR5cGU6dC5GTE9BVCxzaXplOjR9LHtidWZmZXI6bSx0eXBlOnQuVU5TSUdORURfQllURSxzaXplOjQsbm9ybWFsaXplZDohMH0se2J1ZmZlcjpnLHR5cGU6dC5GTE9BVCxzaXplOjR9LHtidWZmZXI6dix0eXBlOnQuRkxPQVQsc2l6ZToyfSx7YnVmZmVyOmQsdHlwZTp0LkZMT0FULHNpemU6NH1dKSxyLnRyYWNlVHlwZXx8ImNvbmUiKTtyZXR1cm4geS51cGRhdGUoZSkseX19LHtjb2xvcm1hcDoxMjgsImdsLWJ1ZmZlciI6MjQ0LCJnbC1tYXQ0L2ludmVydCI6MjY4LCJnbC1tYXQ0L211bHRpcGx5IjoyNzAsImdsLXNoYWRlciI6MzA0LCJnbC10ZXh0dXJlMmQiOjMyNCwiZ2wtdmFvIjozMjksbmRhcnJheTo0NTJ9XSwyNDc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJnbHNsaWZ5IiksYT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuXG5wcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG52ZWMzIGdldE9ydGhvZ29uYWxWZWN0b3IodmVjMyB2KSB7XG4gIC8vIFJldHVybiB1cC12ZWN0b3IgZm9yIG9ubHkteiB2ZWN0b3IuXG4gIC8vIFJldHVybiBheCArIGJ5ICsgY3ogPSAwLCBhIHBvaW50IHRoYXQgbGllcyBvbiB0aGUgcGxhbmUgdGhhdCBoYXMgdiBhcyBhIG5vcm1hbCBhbmQgdGhhdCBpc24ndCAoMCwwLDApLlxuICAvLyBGcm9tIHRoZSBhYm92ZSBpZi1zdGF0ZW1lbnQgd2UgaGF2ZSB8fGF8fCA+IDAgIFUgIHx8Ynx8ID4gMC5cbiAgLy8gQXNzaWduIHogPSAwLCB4ID0gLWIsIHkgPSBhOlxuICAvLyBhKi1iICsgYiphICsgYyowID0gLWJhICsgYmEgKyAwID0gMFxuICBpZiAodi54KnYueCA+IHYueip2LnogfHwgdi55KnYueSA+IHYueip2LnopIHtcbiAgICByZXR1cm4gbm9ybWFsaXplKHZlYzMoLXYueSwgdi54LCAwLjApKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbm9ybWFsaXplKHZlYzMoMC4wLCB2LnosIC12LnkpKTtcbiAgfVxufVxuXG4vLyBDYWxjdWxhdGUgdGhlIGNvbmUgdmVydGV4IGFuZCBub3JtYWwgYXQgdGhlIGdpdmVuIGluZGV4LlxuLy9cbi8vIFRoZSByZXR1cm5lZCB2ZXJ0ZXggaXMgZm9yIGEgY29uZSB3aXRoIGl0cyB0b3AgYXQgb3JpZ2luIGFuZCBoZWlnaHQgb2YgMS4wLFxuLy8gcG9pbnRpbmcgaW4gdGhlIGRpcmVjdGlvbiBvZiB0aGUgdmVjdG9yIGF0dHJpYnV0ZS5cbi8vXG4vLyBFYWNoIGNvbmUgaXMgbWFkZSB1cCBvZiBhIHRvcCB2ZXJ0ZXgsIGEgY2VudGVyIGJhc2UgdmVydGV4IGFuZCBiYXNlIHBlcmltZXRlciB2ZXJ0aWNlcy5cbi8vIFRoZXNlIHZlcnRpY2VzIGFyZSB1c2VkIHRvIG1ha2UgdXAgdGhlIHRyaWFuZ2xlcyBvZiB0aGUgY29uZSBieSB0aGUgZm9sbG93aW5nOlxuLy8gICBzZWdtZW50ICsgMCB0b3AgdmVydGV4XG4vLyAgIHNlZ21lbnQgKyAxIHBlcmltZXRlciB2ZXJ0ZXggYSsxXG4vLyAgIHNlZ21lbnQgKyAyIHBlcmltZXRlciB2ZXJ0ZXggYVxuLy8gICBzZWdtZW50ICsgMyBjZW50ZXIgYmFzZSB2ZXJ0ZXhcbi8vICAgc2VnbWVudCArIDQgcGVyaW1ldGVyIHZlcnRleCBhXG4vLyAgIHNlZ21lbnQgKyA1IHBlcmltZXRlciB2ZXJ0ZXggYSsxXG4vLyBXaGVyZSBzZWdtZW50IGlzIHRoZSBudW1iZXIgb2YgdGhlIHJhZGlhbCBzZWdtZW50ICogNiBhbmQgYSBpcyB0aGUgYW5nbGUgYXQgdGhhdCByYWRpYWwgc2VnbWVudC5cbi8vIFRvIGdvIGZyb20gaW5kZXggdG8gc2VnbWVudCwgZmxvb3IoaW5kZXggLyA2KVxuLy8gVG8gZ28gZnJvbSBzZWdtZW50IHRvIGFuZ2xlLCAyKnBpICogKHNlZ21lbnQvc2VnbWVudENvdW50KVxuLy8gVG8gZ28gZnJvbSBpbmRleCB0byBzZWdtZW50IGluZGV4LCBpbmRleCAtIChzZWdtZW50KjYpXG4vL1xudmVjMyBnZXRDb25lUG9zaXRpb24odmVjMyBkLCBmbG9hdCByYXdJbmRleCwgZmxvYXQgY29uZU9mZnNldCwgb3V0IHZlYzMgbm9ybWFsKSB7XG5cbiAgY29uc3QgZmxvYXQgc2VnbWVudENvdW50ID0gOC4wO1xuXG4gIGZsb2F0IGluZGV4ID0gcmF3SW5kZXggLSBmbG9vcihyYXdJbmRleCAvXG4gICAgKHNlZ21lbnRDb3VudCAqIDYuMCkpICpcbiAgICAoc2VnbWVudENvdW50ICogNi4wKTtcblxuICBmbG9hdCBzZWdtZW50ID0gZmxvb3IoMC4wMDEgKyBpbmRleC82LjApO1xuICBmbG9hdCBzZWdtZW50SW5kZXggPSBpbmRleCAtIChzZWdtZW50KjYuMCk7XG5cbiAgbm9ybWFsID0gLW5vcm1hbGl6ZShkKTtcblxuICBpZiAoc2VnbWVudEluZGV4ID4gMi45OSAmJiBzZWdtZW50SW5kZXggPCAzLjAxKSB7XG4gICAgcmV0dXJuIG1peCh2ZWMzKDAuMCksIC1kLCBjb25lT2Zmc2V0KTtcbiAgfVxuXG4gIGZsb2F0IG5leHRBbmdsZSA9IChcbiAgICAoc2VnbWVudEluZGV4ID4gMC45OSAmJiAgc2VnbWVudEluZGV4IDwgMS4wMSkgfHxcbiAgICAoc2VnbWVudEluZGV4ID4gNC45OSAmJiAgc2VnbWVudEluZGV4IDwgNS4wMSlcbiAgKSA/IDEuMCA6IDAuMDtcbiAgZmxvYXQgYW5nbGUgPSAyLjAgKiAzLjE0MTU5ICogKChzZWdtZW50ICsgbmV4dEFuZ2xlKSAvIHNlZ21lbnRDb3VudCk7XG5cbiAgdmVjMyB2MSA9IG1peChkLCB2ZWMzKDAuMCksIGNvbmVPZmZzZXQpO1xuICB2ZWMzIHYyID0gdjEgLSBkO1xuXG4gIHZlYzMgdSA9IGdldE9ydGhvZ29uYWxWZWN0b3IoZCk7XG4gIHZlYzMgdiA9IG5vcm1hbGl6ZShjcm9zcyh1LCBkKSk7XG5cbiAgdmVjMyB4ID0gdSAqIGNvcyhhbmdsZSkgKiBsZW5ndGgoZCkqMC4yNTtcbiAgdmVjMyB5ID0gdiAqIHNpbihhbmdsZSkgKiBsZW5ndGgoZCkqMC4yNTtcbiAgdmVjMyB2MyA9IHYyICsgeCArIHk7XG4gIGlmIChzZWdtZW50SW5kZXggPCAzLjApIHtcbiAgICB2ZWMzIHR4ID0gdSAqIHNpbihhbmdsZSk7XG4gICAgdmVjMyB0eSA9IHYgKiAtY29zKGFuZ2xlKTtcbiAgICB2ZWMzIHRhbmdlbnQgPSB0eCArIHR5O1xuICAgIG5vcm1hbCA9IG5vcm1hbGl6ZShjcm9zcyh2MyAtIHYxLCB0YW5nZW50KSk7XG4gIH1cblxuICBpZiAoc2VnbWVudEluZGV4ID09IDAuMCkge1xuICAgIHJldHVybiBtaXgoZCwgdmVjMygwLjApLCBjb25lT2Zmc2V0KTtcbiAgfVxuICByZXR1cm4gdjM7XG59XG5cbmF0dHJpYnV0ZSB2ZWMzIHZlY3RvcjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yLCBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWMyIHV2O1xuXG51bmlmb3JtIGZsb2F0IHZlY3RvclNjYWxlLCBjb25lU2NhbGUsIGNvbmVPZmZzZXQ7XG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb24sIGludmVyc2VNb2RlbDtcbnVuaWZvcm0gdmVjMyBleWVQb3NpdGlvbiwgbGlnaHRQb3NpdGlvbjtcblxudmFyeWluZyB2ZWMzIGZfbm9ybWFsLCBmX2xpZ2h0RGlyZWN0aW9uLCBmX2V5ZURpcmVjdGlvbiwgZl9kYXRhLCBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICAvLyBTY2FsZSB0aGUgdmVjdG9yIG1hZ25pdHVkZSB0byBzdGF5IGNvbnN0YW50IHdpdGhcbiAgLy8gbW9kZWwgJiB2aWV3IGNoYW5nZXMuXG4gIHZlYzMgbm9ybWFsO1xuICB2ZWMzIFhZWiA9IGdldENvbmVQb3NpdGlvbihtYXQzKG1vZGVsKSAqICgodmVjdG9yU2NhbGUgKiBjb25lU2NhbGUpICogdmVjdG9yKSwgcG9zaXRpb24udywgY29uZU9mZnNldCwgbm9ybWFsKTtcbiAgdmVjNCBjb25lUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24ueHl6LCAxLjApICsgdmVjNChYWVosIDAuMCk7XG5cbiAgLy9MaWdodGluZyBnZW9tZXRyeSBwYXJhbWV0ZXJzXG4gIHZlYzQgY2FtZXJhQ29vcmRpbmF0ZSA9IHZpZXcgKiBjb25lUG9zaXRpb247XG4gIGNhbWVyYUNvb3JkaW5hdGUueHl6IC89IGNhbWVyYUNvb3JkaW5hdGUudztcbiAgZl9saWdodERpcmVjdGlvbiA9IGxpZ2h0UG9zaXRpb24gLSBjYW1lcmFDb29yZGluYXRlLnh5ejtcbiAgZl9leWVEaXJlY3Rpb24gICA9IGV5ZVBvc2l0aW9uIC0gY2FtZXJhQ29vcmRpbmF0ZS54eXo7XG4gIGZfbm9ybWFsID0gbm9ybWFsaXplKCh2ZWM0KG5vcm1hbCwgMC4wKSAqIGludmVyc2VNb2RlbCkueHl6KTtcblxuICAvLyB2ZWM0IG1fcG9zaXRpb24gID0gbW9kZWwgKiB2ZWM0KGNvbmVQb3NpdGlvbiwgMS4wKTtcbiAgdmVjNCB0X3Bvc2l0aW9uICA9IHZpZXcgKiBjb25lUG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uICAgICAgPSBwcm9qZWN0aW9uICogdF9wb3NpdGlvbjtcblxuICBmX2NvbG9yICAgICAgICAgID0gY29sb3I7XG4gIGZfZGF0YSAgICAgICAgICAgPSBjb25lUG9zaXRpb24ueHl6O1xuICBmX3Bvc2l0aW9uICAgICAgID0gcG9zaXRpb24ueHl6O1xuICBmX3V2ICAgICAgICAgICAgID0gdXY7XG59XG4iXSksaT1uKFsiI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBjb29rVG9ycmFuY2VTcGVjdWxhcihcbiAgdmVjMyBsaWdodERpcmVjdGlvbixcbiAgdmVjMyB2aWV3RGlyZWN0aW9uLFxuICB2ZWMzIHN1cmZhY2VOb3JtYWwsXG4gIGZsb2F0IHJvdWdobmVzcyxcbiAgZmxvYXQgZnJlc25lbCkge1xuXG4gIGZsb2F0IFZkb3ROID0gbWF4KGRvdCh2aWV3RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcbiAgZmxvYXQgTGRvdE4gPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcblxuICAvL0hhbGYgYW5nbGUgdmVjdG9yXG4gIHZlYzMgSCA9IG5vcm1hbGl6ZShsaWdodERpcmVjdGlvbiArIHZpZXdEaXJlY3Rpb24pO1xuXG4gIC8vR2VvbWV0cmljIHRlcm1cbiAgZmxvYXQgTmRvdEggPSBtYXgoZG90KHN1cmZhY2VOb3JtYWwsIEgpLCAwLjApO1xuICBmbG9hdCBWZG90SCA9IG1heChkb3Qodmlld0RpcmVjdGlvbiwgSCksIDAuMDAwMDAxKTtcbiAgZmxvYXQgTGRvdEggPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBIKSwgMC4wMDAwMDEpO1xuICBmbG9hdCBHMSA9ICgyLjAgKiBOZG90SCAqIFZkb3ROKSAvIFZkb3RIO1xuICBmbG9hdCBHMiA9ICgyLjAgKiBOZG90SCAqIExkb3ROKSAvIExkb3RIO1xuICBmbG9hdCBHID0gbWluKDEuMCwgbWluKEcxLCBHMikpO1xuICBcbiAgLy9EaXN0cmlidXRpb24gdGVybVxuICBmbG9hdCBEID0gYmVja21hbm5EaXN0cmlidXRpb24oTmRvdEgsIHJvdWdobmVzcyk7XG5cbiAgLy9GcmVzbmVsIHRlcm1cbiAgZmxvYXQgRiA9IHBvdygxLjAgLSBWZG90TiwgZnJlc25lbCk7XG5cbiAgLy9NdWx0aXBseSB0ZXJtcyBhbmQgZG9uZVxuICByZXR1cm4gIEcgKiBGICogRCAvIG1heCgzLjE0MTU5MjY1ICogVmRvdE4sIDAuMDAwMDAxKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyBjbGlwQm91bmRzWzJdO1xudW5pZm9ybSBmbG9hdCByb3VnaG5lc3MsIGZyZXNuZWwsIGthbWJpZW50LCBrZGlmZnVzZSwga3NwZWN1bGFyLCBvcGFjaXR5O1xudW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTtcblxudmFyeWluZyB2ZWMzIGZfbm9ybWFsLCBmX2xpZ2h0RGlyZWN0aW9uLCBmX2V5ZURpcmVjdGlvbiwgZl9kYXRhLCBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmX3Bvc2l0aW9uKSkgZGlzY2FyZDtcbiAgdmVjMyBOID0gbm9ybWFsaXplKGZfbm9ybWFsKTtcbiAgdmVjMyBMID0gbm9ybWFsaXplKGZfbGlnaHREaXJlY3Rpb24pO1xuICB2ZWMzIFYgPSBub3JtYWxpemUoZl9leWVEaXJlY3Rpb24pO1xuXG4gIGlmKGdsX0Zyb250RmFjaW5nKSB7XG4gICAgTiA9IC1OO1xuICB9XG5cbiAgZmxvYXQgc3BlY3VsYXIgPSBtaW4oMS4wLCBtYXgoMC4wLCBjb29rVG9ycmFuY2VTcGVjdWxhcihMLCBWLCBOLCByb3VnaG5lc3MsIGZyZXNuZWwpKSk7XG4gIGZsb2F0IGRpZmZ1c2UgID0gbWluKGthbWJpZW50ICsga2RpZmZ1c2UgKiBtYXgoZG90KE4sIEwpLCAwLjApLCAxLjApO1xuXG4gIHZlYzQgc3VyZmFjZUNvbG9yID0gZl9jb2xvciAqIHRleHR1cmUyRCh0ZXh0dXJlLCBmX3V2KTtcbiAgdmVjNCBsaXRDb2xvciA9IHN1cmZhY2VDb2xvci5hICogdmVjNChkaWZmdXNlICogc3VyZmFjZUNvbG9yLnJnYiArIGtzcGVjdWxhciAqIHZlYzMoMSwxLDEpICogc3BlY3VsYXIsICAxLjApO1xuXG4gIGdsX0ZyYWdDb2xvciA9IGxpdENvbG9yICogb3BhY2l0eTtcbn1cbiJdKSxvPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cbnByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZlYzMgZ2V0T3J0aG9nb25hbFZlY3Rvcih2ZWMzIHYpIHtcbiAgLy8gUmV0dXJuIHVwLXZlY3RvciBmb3Igb25seS16IHZlY3Rvci5cbiAgLy8gUmV0dXJuIGF4ICsgYnkgKyBjeiA9IDAsIGEgcG9pbnQgdGhhdCBsaWVzIG9uIHRoZSBwbGFuZSB0aGF0IGhhcyB2IGFzIGEgbm9ybWFsIGFuZCB0aGF0IGlzbid0ICgwLDAsMCkuXG4gIC8vIEZyb20gdGhlIGFib3ZlIGlmLXN0YXRlbWVudCB3ZSBoYXZlIHx8YXx8ID4gMCAgVSAgfHxifHwgPiAwLlxuICAvLyBBc3NpZ24geiA9IDAsIHggPSAtYiwgeSA9IGE6XG4gIC8vIGEqLWIgKyBiKmEgKyBjKjAgPSAtYmEgKyBiYSArIDAgPSAwXG4gIGlmICh2Lngqdi54ID4gdi56KnYueiB8fCB2Lnkqdi55ID4gdi56KnYueikge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygtdi55LCB2LngsIDAuMCkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygwLjAsIHYueiwgLXYueSkpO1xuICB9XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgY29uZSB2ZXJ0ZXggYW5kIG5vcm1hbCBhdCB0aGUgZ2l2ZW4gaW5kZXguXG4vL1xuLy8gVGhlIHJldHVybmVkIHZlcnRleCBpcyBmb3IgYSBjb25lIHdpdGggaXRzIHRvcCBhdCBvcmlnaW4gYW5kIGhlaWdodCBvZiAxLjAsXG4vLyBwb2ludGluZyBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSB2ZWN0b3IgYXR0cmlidXRlLlxuLy9cbi8vIEVhY2ggY29uZSBpcyBtYWRlIHVwIG9mIGEgdG9wIHZlcnRleCwgYSBjZW50ZXIgYmFzZSB2ZXJ0ZXggYW5kIGJhc2UgcGVyaW1ldGVyIHZlcnRpY2VzLlxuLy8gVGhlc2UgdmVydGljZXMgYXJlIHVzZWQgdG8gbWFrZSB1cCB0aGUgdHJpYW5nbGVzIG9mIHRoZSBjb25lIGJ5IHRoZSBmb2xsb3dpbmc6XG4vLyAgIHNlZ21lbnQgKyAwIHRvcCB2ZXJ0ZXhcbi8vICAgc2VnbWVudCArIDEgcGVyaW1ldGVyIHZlcnRleCBhKzFcbi8vICAgc2VnbWVudCArIDIgcGVyaW1ldGVyIHZlcnRleCBhXG4vLyAgIHNlZ21lbnQgKyAzIGNlbnRlciBiYXNlIHZlcnRleFxuLy8gICBzZWdtZW50ICsgNCBwZXJpbWV0ZXIgdmVydGV4IGFcbi8vICAgc2VnbWVudCArIDUgcGVyaW1ldGVyIHZlcnRleCBhKzFcbi8vIFdoZXJlIHNlZ21lbnQgaXMgdGhlIG51bWJlciBvZiB0aGUgcmFkaWFsIHNlZ21lbnQgKiA2IGFuZCBhIGlzIHRoZSBhbmdsZSBhdCB0aGF0IHJhZGlhbCBzZWdtZW50LlxuLy8gVG8gZ28gZnJvbSBpbmRleCB0byBzZWdtZW50LCBmbG9vcihpbmRleCAvIDYpXG4vLyBUbyBnbyBmcm9tIHNlZ21lbnQgdG8gYW5nbGUsIDIqcGkgKiAoc2VnbWVudC9zZWdtZW50Q291bnQpXG4vLyBUbyBnbyBmcm9tIGluZGV4IHRvIHNlZ21lbnQgaW5kZXgsIGluZGV4IC0gKHNlZ21lbnQqNilcbi8vXG52ZWMzIGdldENvbmVQb3NpdGlvbih2ZWMzIGQsIGZsb2F0IHJhd0luZGV4LCBmbG9hdCBjb25lT2Zmc2V0LCBvdXQgdmVjMyBub3JtYWwpIHtcblxuICBjb25zdCBmbG9hdCBzZWdtZW50Q291bnQgPSA4LjA7XG5cbiAgZmxvYXQgaW5kZXggPSByYXdJbmRleCAtIGZsb29yKHJhd0luZGV4IC9cbiAgICAoc2VnbWVudENvdW50ICogNi4wKSkgKlxuICAgIChzZWdtZW50Q291bnQgKiA2LjApO1xuXG4gIGZsb2F0IHNlZ21lbnQgPSBmbG9vcigwLjAwMSArIGluZGV4LzYuMCk7XG4gIGZsb2F0IHNlZ21lbnRJbmRleCA9IGluZGV4IC0gKHNlZ21lbnQqNi4wKTtcblxuICBub3JtYWwgPSAtbm9ybWFsaXplKGQpO1xuXG4gIGlmIChzZWdtZW50SW5kZXggPiAyLjk5ICYmIHNlZ21lbnRJbmRleCA8IDMuMDEpIHtcbiAgICByZXR1cm4gbWl4KHZlYzMoMC4wKSwgLWQsIGNvbmVPZmZzZXQpO1xuICB9XG5cbiAgZmxvYXQgbmV4dEFuZ2xlID0gKFxuICAgIChzZWdtZW50SW5kZXggPiAwLjk5ICYmICBzZWdtZW50SW5kZXggPCAxLjAxKSB8fFxuICAgIChzZWdtZW50SW5kZXggPiA0Ljk5ICYmICBzZWdtZW50SW5kZXggPCA1LjAxKVxuICApID8gMS4wIDogMC4wO1xuICBmbG9hdCBhbmdsZSA9IDIuMCAqIDMuMTQxNTkgKiAoKHNlZ21lbnQgKyBuZXh0QW5nbGUpIC8gc2VnbWVudENvdW50KTtcblxuICB2ZWMzIHYxID0gbWl4KGQsIHZlYzMoMC4wKSwgY29uZU9mZnNldCk7XG4gIHZlYzMgdjIgPSB2MSAtIGQ7XG5cbiAgdmVjMyB1ID0gZ2V0T3J0aG9nb25hbFZlY3RvcihkKTtcbiAgdmVjMyB2ID0gbm9ybWFsaXplKGNyb3NzKHUsIGQpKTtcblxuICB2ZWMzIHggPSB1ICogY29zKGFuZ2xlKSAqIGxlbmd0aChkKSowLjI1O1xuICB2ZWMzIHkgPSB2ICogc2luKGFuZ2xlKSAqIGxlbmd0aChkKSowLjI1O1xuICB2ZWMzIHYzID0gdjIgKyB4ICsgeTtcbiAgaWYgKHNlZ21lbnRJbmRleCA8IDMuMCkge1xuICAgIHZlYzMgdHggPSB1ICogc2luKGFuZ2xlKTtcbiAgICB2ZWMzIHR5ID0gdiAqIC1jb3MoYW5nbGUpO1xuICAgIHZlYzMgdGFuZ2VudCA9IHR4ICsgdHk7XG4gICAgbm9ybWFsID0gbm9ybWFsaXplKGNyb3NzKHYzIC0gdjEsIHRhbmdlbnQpKTtcbiAgfVxuXG4gIGlmIChzZWdtZW50SW5kZXggPT0gMC4wKSB7XG4gICAgcmV0dXJuIG1peChkLCB2ZWMzKDAuMCksIGNvbmVPZmZzZXQpO1xuICB9XG4gIHJldHVybiB2Mztcbn1cblxuYXR0cmlidXRlIHZlYzQgdmVjdG9yO1xuYXR0cmlidXRlIHZlYzQgcG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjNCBpZDtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSBmbG9hdCB2ZWN0b3JTY2FsZSwgY29uZVNjYWxlLCBjb25lT2Zmc2V0O1xuXG52YXJ5aW5nIHZlYzMgZl9wb3NpdGlvbjtcbnZhcnlpbmcgdmVjNCBmX2lkO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgbm9ybWFsO1xuICB2ZWMzIFhZWiA9IGdldENvbmVQb3NpdGlvbihtYXQzKG1vZGVsKSAqICgodmVjdG9yU2NhbGUgKiBjb25lU2NhbGUpICogdmVjdG9yLnh5eiksIHBvc2l0aW9uLncsIGNvbmVPZmZzZXQsIG5vcm1hbCk7XG4gIHZlYzQgY29uZVBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLnh5eiwgMS4wKSArIHZlYzQoWFlaLCAwLjApO1xuICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb24gKiB2aWV3ICogY29uZVBvc2l0aW9uO1xuICBmX2lkICAgICAgICA9IGlkO1xuICBmX3Bvc2l0aW9uICA9IHBvc2l0aW9uLnh5ejtcbn1cbiJdKSxzPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzICBjbGlwQm91bmRzWzJdO1xudW5pZm9ybSBmbG9hdCBwaWNrSWQ7XG5cbnZhcnlpbmcgdmVjMyBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfaWQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgZl9wb3NpdGlvbikpIGRpc2NhcmQ7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gdmVjNChwaWNrSWQsIGZfaWQueHl6KTtcbn0iXSk7ci5tZXNoU2hhZGVyPXt2ZXJ0ZXg6YSxmcmFnbWVudDppLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjNCJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJ1diIsdHlwZToidmVjMiJ9LHtuYW1lOiJ2ZWN0b3IiLHR5cGU6InZlYzMifV19LHIucGlja1NoYWRlcj17dmVydGV4Om8sZnJhZ21lbnQ6cyxhdHRyaWJ1dGVzOlt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzQifSx7bmFtZToiaWQiLHR5cGU6InZlYzQifSx7bmFtZToidmVjdG9yIix0eXBlOiJ2ZWMzIn1dfX0se2dsc2xpZnk6NDExfV0sMjQ4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXswOiJOT05FIiwxOiJPTkUiLDI6IkxJTkVfTE9PUCIsMzoiTElORV9TVFJJUCIsNDoiVFJJQU5HTEVTIiw1OiJUUklBTkdMRV9TVFJJUCIsNjoiVFJJQU5HTEVfRkFOIiwyNTY6IkRFUFRIX0JVRkZFUl9CSVQiLDUxMjoiTkVWRVIiLDUxMzoiTEVTUyIsNTE0OiJFUVVBTCIsNTE1OiJMRVFVQUwiLDUxNjoiR1JFQVRFUiIsNTE3OiJOT1RFUVVBTCIsNTE4OiJHRVFVQUwiLDUxOToiQUxXQVlTIiw3Njg6IlNSQ19DT0xPUiIsNzY5OiJPTkVfTUlOVVNfU1JDX0NPTE9SIiw3NzA6IlNSQ19BTFBIQSIsNzcxOiJPTkVfTUlOVVNfU1JDX0FMUEhBIiw3NzI6IkRTVF9BTFBIQSIsNzczOiJPTkVfTUlOVVNfRFNUX0FMUEhBIiw3NzQ6IkRTVF9DT0xPUiIsNzc1OiJPTkVfTUlOVVNfRFNUX0NPTE9SIiw3NzY6IlNSQ19BTFBIQV9TQVRVUkFURSIsMTAyNDoiU1RFTkNJTF9CVUZGRVJfQklUIiwxMDI4OiJGUk9OVCIsMTAyOToiQkFDSyIsMTAzMjoiRlJPTlRfQU5EX0JBQ0siLDEyODA6IklOVkFMSURfRU5VTSIsMTI4MToiSU5WQUxJRF9WQUxVRSIsMTI4MjoiSU5WQUxJRF9PUEVSQVRJT04iLDEyODU6Ik9VVF9PRl9NRU1PUlkiLDEyODY6IklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIiwyMzA0OiJDVyIsMjMwNToiQ0NXIiwyODQ5OiJMSU5FX1dJRFRIIiwyODg0OiJDVUxMX0ZBQ0UiLDI4ODU6IkNVTExfRkFDRV9NT0RFIiwyODg2OiJGUk9OVF9GQUNFIiwyOTI4OiJERVBUSF9SQU5HRSIsMjkyOToiREVQVEhfVEVTVCIsMjkzMDoiREVQVEhfV1JJVEVNQVNLIiwyOTMxOiJERVBUSF9DTEVBUl9WQUxVRSIsMjkzMjoiREVQVEhfRlVOQyIsMjk2MDoiU1RFTkNJTF9URVNUIiwyOTYxOiJTVEVOQ0lMX0NMRUFSX1ZBTFVFIiwyOTYyOiJTVEVOQ0lMX0ZVTkMiLDI5NjM6IlNURU5DSUxfVkFMVUVfTUFTSyIsMjk2NDoiU1RFTkNJTF9GQUlMIiwyOTY1OiJTVEVOQ0lMX1BBU1NfREVQVEhfRkFJTCIsMjk2NjoiU1RFTkNJTF9QQVNTX0RFUFRIX1BBU1MiLDI5Njc6IlNURU5DSUxfUkVGIiwyOTY4OiJTVEVOQ0lMX1dSSVRFTUFTSyIsMjk3ODoiVklFV1BPUlQiLDMwMjQ6IkRJVEhFUiIsMzA0MjoiQkxFTkQiLDMwODg6IlNDSVNTT1JfQk9YIiwzMDg5OiJTQ0lTU09SX1RFU1QiLDMxMDY6IkNPTE9SX0NMRUFSX1ZBTFVFIiwzMTA3OiJDT0xPUl9XUklURU1BU0siLDMzMTc6IlVOUEFDS19BTElHTk1FTlQiLDMzMzM6IlBBQ0tfQUxJR05NRU5UIiwzMzc5OiJNQVhfVEVYVFVSRV9TSVpFIiwzMzg2OiJNQVhfVklFV1BPUlRfRElNUyIsMzQwODoiU1VCUElYRUxfQklUUyIsMzQxMDoiUkVEX0JJVFMiLDM0MTE6IkdSRUVOX0JJVFMiLDM0MTI6IkJMVUVfQklUUyIsMzQxMzoiQUxQSEFfQklUUyIsMzQxNDoiREVQVEhfQklUUyIsMzQxNToiU1RFTkNJTF9CSVRTIiwzNTUzOiJURVhUVVJFXzJEIiw0MzUyOiJET05UX0NBUkUiLDQzNTM6IkZBU1RFU1QiLDQzNTQ6Ik5JQ0VTVCIsNTEyMDoiQllURSIsNTEyMToiVU5TSUdORURfQllURSIsNTEyMjoiU0hPUlQiLDUxMjM6IlVOU0lHTkVEX1NIT1JUIiw1MTI0OiJJTlQiLDUxMjU6IlVOU0lHTkVEX0lOVCIsNTEyNjoiRkxPQVQiLDUzODY6IklOVkVSVCIsNTg5MDoiVEVYVFVSRSIsNjQwMToiU1RFTkNJTF9JTkRFWCIsNjQwMjoiREVQVEhfQ09NUE9ORU5UIiw2NDA2OiJBTFBIQSIsNjQwNzoiUkdCIiw2NDA4OiJSR0JBIiw2NDA5OiJMVU1JTkFOQ0UiLDY0MTA6IkxVTUlOQU5DRV9BTFBIQSIsNzY4MDoiS0VFUCIsNzY4MToiUkVQTEFDRSIsNzY4MjoiSU5DUiIsNzY4MzoiREVDUiIsNzkzNjoiVkVORE9SIiw3OTM3OiJSRU5ERVJFUiIsNzkzODoiVkVSU0lPTiIsOTcyODoiTkVBUkVTVCIsOTcyOToiTElORUFSIiw5OTg0OiJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiw5OTg1OiJMSU5FQVJfTUlQTUFQX05FQVJFU1QiLDk5ODY6Ik5FQVJFU1RfTUlQTUFQX0xJTkVBUiIsOTk4NzoiTElORUFSX01JUE1BUF9MSU5FQVIiLDEwMjQwOiJURVhUVVJFX01BR19GSUxURVIiLDEwMjQxOiJURVhUVVJFX01JTl9GSUxURVIiLDEwMjQyOiJURVhUVVJFX1dSQVBfUyIsMTAyNDM6IlRFWFRVUkVfV1JBUF9UIiwxMDQ5NzoiUkVQRUFUIiwxMDc1MjoiUE9MWUdPTl9PRkZTRVRfVU5JVFMiLDE2Mzg0OiJDT0xPUl9CVUZGRVJfQklUIiwzMjc2OToiQ09OU1RBTlRfQ09MT1IiLDMyNzcwOiJPTkVfTUlOVVNfQ09OU1RBTlRfQ09MT1IiLDMyNzcxOiJDT05TVEFOVF9BTFBIQSIsMzI3NzI6Ik9ORV9NSU5VU19DT05TVEFOVF9BTFBIQSIsMzI3NzM6IkJMRU5EX0NPTE9SIiwzMjc3NDoiRlVOQ19BREQiLDMyNzc3OiJCTEVORF9FUVVBVElPTl9SR0IiLDMyNzc4OiJGVU5DX1NVQlRSQUNUIiwzMjc3OToiRlVOQ19SRVZFUlNFX1NVQlRSQUNUIiwzMjgxOToiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsMzI4MjA6IlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLDMyODIzOiJQT0xZR09OX09GRlNFVF9GSUxMIiwzMjgyNDoiUE9MWUdPTl9PRkZTRVRfRkFDVE9SIiwzMjg1NDoiUkdCQTQiLDMyODU1OiJSR0I1X0ExIiwzMjg3MzoiVEVYVFVSRV9CSU5ESU5HXzJEIiwzMjkyNjoiU0FNUExFX0FMUEhBX1RPX0NPVkVSQUdFIiwzMjkyODoiU0FNUExFX0NPVkVSQUdFIiwzMjkzNjoiU0FNUExFX0JVRkZFUlMiLDMyOTM3OiJTQU1QTEVTIiwzMjkzODoiU0FNUExFX0NPVkVSQUdFX1ZBTFVFIiwzMjkzOToiU0FNUExFX0NPVkVSQUdFX0lOVkVSVCIsMzI5Njg6IkJMRU5EX0RTVF9SR0IiLDMyOTY5OiJCTEVORF9TUkNfUkdCIiwzMjk3MDoiQkxFTkRfRFNUX0FMUEhBIiwzMjk3MToiQkxFTkRfU1JDX0FMUEhBIiwzMzA3MToiQ0xBTVBfVE9fRURHRSIsMzMxNzA6IkdFTkVSQVRFX01JUE1BUF9ISU5UIiwzMzE4OToiREVQVEhfQ09NUE9ORU5UMTYiLDMzMzA2OiJERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiLDMzNjM1OiJVTlNJR05FRF9TSE9SVF81XzZfNSIsMzM2NDg6Ik1JUlJPUkVEX1JFUEVBVCIsMzM5MDE6IkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSIsMzM5MDI6IkFMSUFTRURfTElORV9XSURUSF9SQU5HRSIsMzM5ODQ6IlRFWFRVUkUwIiwzMzk4NToiVEVYVFVSRTEiLDMzOTg2OiJURVhUVVJFMiIsMzM5ODc6IlRFWFRVUkUzIiwzMzk4ODoiVEVYVFVSRTQiLDMzOTg5OiJURVhUVVJFNSIsMzM5OTA6IlRFWFRVUkU2IiwzMzk5MToiVEVYVFVSRTciLDMzOTkyOiJURVhUVVJFOCIsMzM5OTM6IlRFWFRVUkU5IiwzMzk5NDoiVEVYVFVSRTEwIiwzMzk5NToiVEVYVFVSRTExIiwzMzk5NjoiVEVYVFVSRTEyIiwzMzk5NzoiVEVYVFVSRTEzIiwzMzk5ODoiVEVYVFVSRTE0IiwzMzk5OToiVEVYVFVSRTE1IiwzNDAwMDoiVEVYVFVSRTE2IiwzNDAwMToiVEVYVFVSRTE3IiwzNDAwMjoiVEVYVFVSRTE4IiwzNDAwMzoiVEVYVFVSRTE5IiwzNDAwNDoiVEVYVFVSRTIwIiwzNDAwNToiVEVYVFVSRTIxIiwzNDAwNjoiVEVYVFVSRTIyIiwzNDAwNzoiVEVYVFVSRTIzIiwzNDAwODoiVEVYVFVSRTI0IiwzNDAwOToiVEVYVFVSRTI1IiwzNDAxMDoiVEVYVFVSRTI2IiwzNDAxMToiVEVYVFVSRTI3IiwzNDAxMjoiVEVYVFVSRTI4IiwzNDAxMzoiVEVYVFVSRTI5IiwzNDAxNDoiVEVYVFVSRTMwIiwzNDAxNToiVEVYVFVSRTMxIiwzNDAxNjoiQUNUSVZFX1RFWFRVUkUiLDM0MDI0OiJNQVhfUkVOREVSQlVGRkVSX1NJWkUiLDM0MDQxOiJERVBUSF9TVEVOQ0lMIiwzNDA1NToiSU5DUl9XUkFQIiwzNDA1NjoiREVDUl9XUkFQIiwzNDA2NzoiVEVYVFVSRV9DVUJFX01BUCIsMzQwNjg6IlRFWFRVUkVfQklORElOR19DVUJFX01BUCIsMzQwNjk6IlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCIsMzQwNzA6IlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCIsMzQwNzE6IlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSIsMzQwNzI6IlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSIsMzQwNzM6IlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiIsMzQwNzQ6IlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWiIsMzQwNzY6Ik1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkUiLDM0MzM4OiJWRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQiLDM0MzM5OiJWRVJURVhfQVRUUklCX0FSUkFZX1NJWkUiLDM0MzQwOiJWRVJURVhfQVRUUklCX0FSUkFZX1NUUklERSIsMzQzNDE6IlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSIsMzQzNDI6IkNVUlJFTlRfVkVSVEVYX0FUVFJJQiIsMzQzNzM6IlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUiIsMzQ0NjY6Ik5VTV9DT01QUkVTU0VEX1RFWFRVUkVfRk9STUFUUyIsMzQ0Njc6IkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTIiwzNDY2MDoiQlVGRkVSX1NJWkUiLDM0NjYxOiJCVUZGRVJfVVNBR0UiLDM0ODE2OiJTVEVOQ0lMX0JBQ0tfRlVOQyIsMzQ4MTc6IlNURU5DSUxfQkFDS19GQUlMIiwzNDgxODoiU1RFTkNJTF9CQUNLX1BBU1NfREVQVEhfRkFJTCIsMzQ4MTk6IlNURU5DSUxfQkFDS19QQVNTX0RFUFRIX1BBU1MiLDM0ODc3OiJCTEVORF9FUVVBVElPTl9BTFBIQSIsMzQ5MjE6Ik1BWF9WRVJURVhfQVRUUklCUyIsMzQ5MjI6IlZFUlRFWF9BVFRSSUJfQVJSQVlfTk9STUFMSVpFRCIsMzQ5MzA6Ik1BWF9URVhUVVJFX0lNQUdFX1VOSVRTIiwzNDk2MjoiQVJSQVlfQlVGRkVSIiwzNDk2MzoiRUxFTUVOVF9BUlJBWV9CVUZGRVIiLDM0OTY0OiJBUlJBWV9CVUZGRVJfQklORElORyIsMzQ5NjU6IkVMRU1FTlRfQVJSQVlfQlVGRkVSX0JJTkRJTkciLDM0OTc1OiJWRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HIiwzNTA0MDoiU1RSRUFNX0RSQVciLDM1MDQ0OiJTVEFUSUNfRFJBVyIsMzUwNDg6IkRZTkFNSUNfRFJBVyIsMzU2MzI6IkZSQUdNRU5UX1NIQURFUiIsMzU2MzM6IlZFUlRFWF9TSEFERVIiLDM1NjYwOiJNQVhfVkVSVEVYX1RFWFRVUkVfSU1BR0VfVU5JVFMiLDM1NjYxOiJNQVhfQ09NQklORURfVEVYVFVSRV9JTUFHRV9VTklUUyIsMzU2NjM6IlNIQURFUl9UWVBFIiwzNTY2NDoiRkxPQVRfVkVDMiIsMzU2NjU6IkZMT0FUX1ZFQzMiLDM1NjY2OiJGTE9BVF9WRUM0IiwzNTY2NzoiSU5UX1ZFQzIiLDM1NjY4OiJJTlRfVkVDMyIsMzU2Njk6IklOVF9WRUM0IiwzNTY3MDoiQk9PTCIsMzU2NzE6IkJPT0xfVkVDMiIsMzU2NzI6IkJPT0xfVkVDMyIsMzU2NzM6IkJPT0xfVkVDNCIsMzU2NzQ6IkZMT0FUX01BVDIiLDM1Njc1OiJGTE9BVF9NQVQzIiwzNTY3NjoiRkxPQVRfTUFUNCIsMzU2Nzg6IlNBTVBMRVJfMkQiLDM1NjgwOiJTQU1QTEVSX0NVQkUiLDM1NzEyOiJERUxFVEVfU1RBVFVTIiwzNTcxMzoiQ09NUElMRV9TVEFUVVMiLDM1NzE0OiJMSU5LX1NUQVRVUyIsMzU3MTU6IlZBTElEQVRFX1NUQVRVUyIsMzU3MTY6IklORk9fTE9HX0xFTkdUSCIsMzU3MTc6IkFUVEFDSEVEX1NIQURFUlMiLDM1NzE4OiJBQ1RJVkVfVU5JRk9STVMiLDM1NzE5OiJBQ1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIIiwzNTcyMDoiU0hBREVSX1NPVVJDRV9MRU5HVEgiLDM1NzIxOiJBQ1RJVkVfQVRUUklCVVRFUyIsMzU3MjI6IkFDVElWRV9BVFRSSUJVVEVfTUFYX0xFTkdUSCIsMzU3MjQ6IlNIQURJTkdfTEFOR1VBR0VfVkVSU0lPTiIsMzU3MjU6IkNVUlJFTlRfUFJPR1JBTSIsMzYwMDM6IlNURU5DSUxfQkFDS19SRUYiLDM2MDA0OiJTVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSyIsMzYwMDU6IlNURU5DSUxfQkFDS19XUklURU1BU0siLDM2MDA2OiJGUkFNRUJVRkZFUl9CSU5ESU5HIiwzNjAwNzoiUkVOREVSQlVGRkVSX0JJTkRJTkciLDM2MDQ4OiJGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFIiwzNjA0OToiRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSIsMzYwNTA6IkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTCIsMzYwNTE6IkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFIiwzNjA1MzoiRlJBTUVCVUZGRVJfQ09NUExFVEUiLDM2MDU0OiJGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQiLDM2MDU1OiJGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCIsMzYwNTc6IkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyIsMzYwNjE6IkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEIiwzNjA2NDoiQ09MT1JfQVRUQUNITUVOVDAiLDM2MDk2OiJERVBUSF9BVFRBQ0hNRU5UIiwzNjEyODoiU1RFTkNJTF9BVFRBQ0hNRU5UIiwzNjE2MDoiRlJBTUVCVUZGRVIiLDM2MTYxOiJSRU5ERVJCVUZGRVIiLDM2MTYyOiJSRU5ERVJCVUZGRVJfV0lEVEgiLDM2MTYzOiJSRU5ERVJCVUZGRVJfSEVJR0hUIiwzNjE2NDoiUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCIsMzYxNjg6IlNURU5DSUxfSU5ERVg4IiwzNjE3NjoiUkVOREVSQlVGRkVSX1JFRF9TSVpFIiwzNjE3NzoiUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUiLDM2MTc4OiJSRU5ERVJCVUZGRVJfQkxVRV9TSVpFIiwzNjE3OToiUkVOREVSQlVGRkVSX0FMUEhBX1NJWkUiLDM2MTgwOiJSRU5ERVJCVUZGRVJfREVQVEhfU0laRSIsMzYxODE6IlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUiLDM2MTk0OiJSR0I1NjUiLDM2MzM2OiJMT1dfRkxPQVQiLDM2MzM3OiJNRURJVU1fRkxPQVQiLDM2MzM4OiJISUdIX0ZMT0FUIiwzNjMzOToiTE9XX0lOVCIsMzYzNDA6Ik1FRElVTV9JTlQiLDM2MzQxOiJISUdIX0lOVCIsMzYzNDY6IlNIQURFUl9DT01QSUxFUiIsMzYzNDc6Ik1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JTIiwzNjM0ODoiTUFYX1ZBUllJTkdfVkVDVE9SUyIsMzYzNDk6Ik1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMiLDM3NDQwOiJVTlBBQ0tfRkxJUF9ZX1dFQkdMIiwzNzQ0MToiVU5QQUNLX1BSRU1VTFRJUExZX0FMUEhBX1dFQkdMIiwzNzQ0MjoiQ09OVEVYVF9MT1NUX1dFQkdMIiwzNzQ0MzoiVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTCIsMzc0NDQ6IkJST1dTRVJfREVGQVVMVF9XRUJHTCJ9fSx7fV0sMjQ5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi8xLjAvbnVtYmVycyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gblt0XX19LHsiLi8xLjAvbnVtYmVycyI6MjQ4fV0sMjUwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlKSxvPWEoZSxbe2J1ZmZlcjpyLHR5cGU6ZS5GTE9BVCxzaXplOjMsb2Zmc2V0OjAsc3RyaWRlOjQwfSx7YnVmZmVyOnIsdHlwZTplLkZMT0FULHNpemU6NCxvZmZzZXQ6MTIsc3RyaWRlOjQwfSx7YnVmZmVyOnIsdHlwZTplLkZMT0FULHNpemU6MyxvZmZzZXQ6Mjgsc3RyaWRlOjQwfV0pLGw9aShlKTtsLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxsLmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249MSxsLmF0dHJpYnV0ZXMub2Zmc2V0LmxvY2F0aW9uPTI7dmFyIGM9bmV3IHMoZSxyLG8sbCk7cmV0dXJuIGMudXBkYXRlKHQpLGN9O3ZhciBuPXQoImdsLWJ1ZmZlciIpLGE9dCgiZ2wtdmFvIiksaT10KCIuL3NoYWRlcnMvaW5kZXgiKSxvPVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXTtmdW5jdGlvbiBzKHQsZSxyLG4pe3RoaXMuZ2w9dCx0aGlzLnNoYWRlcj1uLHRoaXMuYnVmZmVyPWUsdGhpcy52YW89cix0aGlzLnBpeGVsUmF0aW89MSx0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXSx0aGlzLmNsaXBCb3VuZHM9W1stMS8wLC0xLzAsLTEvMF0sWzEvMCwxLzAsMS8wXV0sdGhpcy5saW5lV2lkdGg9WzEsMSwxXSx0aGlzLmNhcFNpemU9WzEwLDEwLDEwXSx0aGlzLmxpbmVDb3VudD1bMCwwLDBdLHRoaXMubGluZU9mZnNldD1bMCwwLDBdLHRoaXMub3BhY2l0eT0xLHRoaXMuaGFzQWxwaGE9ITF9dmFyIGw9cy5wcm90b3R5cGU7ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgcj0wO3I8MzsrK3IpdFswXVtyXT1NYXRoLm1pbih0WzBdW3JdLGVbcl0pLHRbMV1bcl09TWF0aC5tYXgodFsxXVtyXSxlW3JdKX1sLmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzQWxwaGF9LGwuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc0FscGhhfSxsLmRyYXdUcmFuc3BhcmVudD1sLmRyYXc9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nbCxyPXRoaXMuc2hhZGVyLnVuaWZvcm1zO3RoaXMuc2hhZGVyLmJpbmQoKTt2YXIgbj1yLnZpZXc9dC52aWV3fHxvLGE9ci5wcm9qZWN0aW9uPXQucHJvamVjdGlvbnx8bztyLm1vZGVsPXQubW9kZWx8fG8sci5jbGlwQm91bmRzPXRoaXMuY2xpcEJvdW5kcyxyLm9wYWNpdHk9dGhpcy5vcGFjaXR5O3ZhciBpPW5bMTJdLHM9blsxM10sbD1uWzE0XSxjPW5bMTVdLHU9KHQuX29ydGhvfHwhMT8yOjEpKnRoaXMucGl4ZWxSYXRpbyooYVszXSppK2FbN10qcythWzExXSpsK2FbMTVdKmMpL2UuZHJhd2luZ0J1ZmZlckhlaWdodDt0aGlzLnZhby5iaW5kKCk7Zm9yKHZhciBoPTA7aDwzOysraCllLmxpbmVXaWR0aCh0aGlzLmxpbmVXaWR0aFtoXSp0aGlzLnBpeGVsUmF0aW8pLHIuY2FwU2l6ZT10aGlzLmNhcFNpemVbaF0qdSx0aGlzLmxpbmVDb3VudFtoXSYmZS5kcmF3QXJyYXlzKGUuTElORVMsdGhpcy5saW5lT2Zmc2V0W2hdLHRoaXMubGluZUNvdW50W2hdKTt0aGlzLnZhby51bmJpbmQoKX07dmFyIHU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IEFycmF5KDMpLGU9MDtlPDM7KytlKXtmb3IodmFyIHI9W10sbj0xO248PTI7KytuKWZvcih2YXIgYT0tMTthPD0xO2ErPTIpe3ZhciBpPVswLDAsMF07aVsobitlKSUzXT1hLHIucHVzaChpKX10W2VdPXJ9cmV0dXJuIHR9KCk7ZnVuY3Rpb24gaCh0LGUscixuKXtmb3IodmFyIGE9dVtuXSxpPTA7aTxhLmxlbmd0aDsrK2kpe3ZhciBvPWFbaV07dC5wdXNoKGVbMF0sZVsxXSxlWzJdLHJbMF0sclsxXSxyWzJdLHJbM10sb1swXSxvWzFdLG9bMl0pfXJldHVybiBhLmxlbmd0aH1sLnVwZGF0ZT1mdW5jdGlvbih0KXsibGluZVdpZHRoImluKHQ9dHx8e30pJiYodGhpcy5saW5lV2lkdGg9dC5saW5lV2lkdGgsQXJyYXkuaXNBcnJheSh0aGlzLmxpbmVXaWR0aCl8fCh0aGlzLmxpbmVXaWR0aD1bdGhpcy5saW5lV2lkdGgsdGhpcy5saW5lV2lkdGgsdGhpcy5saW5lV2lkdGhdKSksImNhcFNpemUiaW4gdCYmKHRoaXMuY2FwU2l6ZT10LmNhcFNpemUsQXJyYXkuaXNBcnJheSh0aGlzLmNhcFNpemUpfHwodGhpcy5jYXBTaXplPVt0aGlzLmNhcFNpemUsdGhpcy5jYXBTaXplLHRoaXMuY2FwU2l6ZV0pKSx0aGlzLmhhc0FscGhhPSExLCJvcGFjaXR5ImluIHQmJih0aGlzLm9wYWNpdHk9K3Qub3BhY2l0eSx0aGlzLm9wYWNpdHk8MSYmKHRoaXMuaGFzQWxwaGE9ITApKTt2YXIgZT10LmNvbG9yfHxbWzAsMCwwXSxbMCwwLDBdLFswLDAsMF1dLHI9dC5wb3NpdGlvbixuPXQuZXJyb3I7aWYoQXJyYXkuaXNBcnJheShlWzBdKXx8KGU9W2UsZSxlXSksciYmbil7dmFyIGE9W10saT1yLmxlbmd0aCxvPTA7dGhpcy5ib3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sdGhpcy5saW5lQ291bnQ9WzAsMCwwXTtmb3IodmFyIHM9MDtzPDM7KytzKXt0aGlzLmxpbmVPZmZzZXRbc109bzt0OmZvcih2YXIgbD0wO2w8aTsrK2wpe2Zvcih2YXIgdT1yW2xdLGY9MDtmPDM7KytmKWlmKGlzTmFOKHVbZl0pfHwhaXNGaW5pdGUodVtmXSkpY29udGludWUgdDt2YXIgcD1uW2xdLGQ9ZVtzXTtpZihBcnJheS5pc0FycmF5KGRbMF0pJiYoZD1lW2xdKSwzPT09ZC5sZW5ndGg/ZD1bZFswXSxkWzFdLGRbMl0sMV06ND09PWQubGVuZ3RoJiYoZD1bZFswXSxkWzFdLGRbMl0sZFszXV0sIXRoaXMuaGFzQWxwaGEmJmRbM108MSYmKHRoaXMuaGFzQWxwaGE9ITApKSwhaXNOYU4ocFswXVtzXSkmJiFpc05hTihwWzFdW3NdKSl7dmFyIGc7aWYocFswXVtzXTwwKShnPXUuc2xpY2UoKSlbc10rPXBbMF1bc10sYS5wdXNoKHVbMF0sdVsxXSx1WzJdLGRbMF0sZFsxXSxkWzJdLGRbM10sMCwwLDAsZ1swXSxnWzFdLGdbMl0sZFswXSxkWzFdLGRbMl0sZFszXSwwLDAsMCksYyh0aGlzLmJvdW5kcyxnKSxvKz0yK2goYSxnLGQscyk7aWYocFsxXVtzXT4wKShnPXUuc2xpY2UoKSlbc10rPXBbMV1bc10sYS5wdXNoKHVbMF0sdVsxXSx1WzJdLGRbMF0sZFsxXSxkWzJdLGRbM10sMCwwLDAsZ1swXSxnWzFdLGdbMl0sZFswXSxkWzFdLGRbMl0sZFszXSwwLDAsMCksYyh0aGlzLmJvdW5kcyxnKSxvKz0yK2goYSxnLGQscyl9fXRoaXMubGluZUNvdW50W3NdPW8tdGhpcy5saW5lT2Zmc2V0W3NdfXRoaXMuYnVmZmVyLnVwZGF0ZShhKX19LGwuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLmJ1ZmZlci5kaXNwb3NlKCksdGhpcy52YW8uZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMvaW5kZXgiOjI1MSwiZ2wtYnVmZmVyIjoyNDQsImdsLXZhbyI6MzI5fV0sMjUxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPXQoImdsLXNoYWRlciIpLGk9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uLCBvZmZzZXQ7XG5hdHRyaWJ1dGUgdmVjNCBjb2xvcjtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gZmxvYXQgY2FwU2l6ZTtcbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG52YXJ5aW5nIHZlYzMgZnJhZ1Bvc2l0aW9uO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzQgd29ybGRQb3NpdGlvbiAgPSBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gIHdvcmxkUG9zaXRpb24gICAgICAgPSAod29ybGRQb3NpdGlvbiAvIHdvcmxkUG9zaXRpb24udykgKyB2ZWM0KGNhcFNpemUgKiBvZmZzZXQsIDAuMCk7XG4gIGdsX1Bvc2l0aW9uICAgICAgICAgPSBwcm9qZWN0aW9uICogdmlldyAqIHdvcmxkUG9zaXRpb247XG4gIGZyYWdDb2xvciAgICAgICAgICAgPSBjb2xvcjtcbiAgZnJhZ1Bvc2l0aW9uICAgICAgICA9IHBvc2l0aW9uO1xufSJdKSxvPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG52YXJ5aW5nIHZlYzMgZnJhZ1Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAoXG4gICAgb3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmcmFnUG9zaXRpb24pIHx8XG4gICAgZnJhZ0NvbG9yLmEgKiBvcGFjaXR5ID09IDAuXG4gICkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSBvcGFjaXR5ICogZnJhZ0NvbG9yO1xufSJdKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxpLG8sbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWM0In0se25hbWU6Im9mZnNldCIsdHlwZToidmVjMyJ9XSl9fSx7ImdsLXNoYWRlciI6MzA0LGdsc2xpZnk6NDExfV0sMjUyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsLXRleHR1cmUyZCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXthfHwoYT10LkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVELGk9dC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQsbz10LkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyxzPXQuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQpO3ZhciBjPXQuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kcmF3X2J1ZmZlcnMiKTshbCYmYyYmZnVuY3Rpb24odCxlKXt2YXIgcj10LmdldFBhcmFtZXRlcihlLk1BWF9DT0xPUl9BVFRBQ0hNRU5UU19XRUJHTCk7bD1uZXcgQXJyYXkocisxKTtmb3IodmFyIG49MDtuPD1yOysrbil7Zm9yKHZhciBhPW5ldyBBcnJheShyKSxpPTA7aTxuOysraSlhW2ldPXQuQ09MT1JfQVRUQUNITUVOVDAraTtmb3IodmFyIGk9bjtpPHI7KytpKWFbaV09dC5OT05FO2xbbl09YX19KHQsYyk7QXJyYXkuaXNBcnJheShlKSYmKG49cixyPTB8ZVsxXSxlPTB8ZVswXSk7aWYoIm51bWJlciIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBNaXNzaW5nIHNoYXBlIHBhcmFtZXRlciIpO3ZhciB1PXQuZ2V0UGFyYW1ldGVyKHQuTUFYX1JFTkRFUkJVRkZFUl9TSVpFKTtpZihlPDB8fGU+dXx8cjwwfHxyPnUpdGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IFBhcmFtZXRlcnMgYXJlIHRvbyBsYXJnZSBmb3IgRkJPIik7dmFyIGg9MTtpZigiY29sb3IiaW4obj1ufHx7fSkpe2lmKChoPU1hdGgubWF4KDB8bi5jb2xvciwwKSk8MCl0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogTXVzdCBzcGVjaWZ5IGEgbm9ubmVnYXRpdmUgbnVtYmVyIG9mIGNvbG9ycyIpO2lmKGg+MSl7aWYoIWMpdGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IE11bHRpcGxlIGRyYXcgYnVmZmVyIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkIik7aWYoaD50LmdldFBhcmFtZXRlcihjLk1BWF9DT0xPUl9BVFRBQ0hNRU5UU19XRUJHTCkpdGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IENvbnRleHQgZG9lcyBub3Qgc3VwcG9ydCAiK2grIiBkcmF3IGJ1ZmZlcnMiKX19dmFyIGY9dC5VTlNJR05FRF9CWVRFLHA9dC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2Zsb2F0Iik7aWYobi5mbG9hdCYmaD4wKXtpZighcCl0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogQ29udGV4dCBkb2VzIG5vdCBzdXBwb3J0IGZsb2F0aW5nIHBvaW50IHRleHR1cmVzIik7Zj10LkZMT0FUfWVsc2Ugbi5wcmVmZXJGbG9hdCYmaD4wJiZwJiYoZj10LkZMT0FUKTt2YXIgZz0hMDsiZGVwdGgiaW4gbiYmKGc9ISFuLmRlcHRoKTt2YXIgdj0hMTsic3RlbmNpbCJpbiBuJiYodj0hIW4uc3RlbmNpbCk7cmV0dXJuIG5ldyBkKHQsZSxyLGYsaCxnLHYsYyl9O3ZhciBhLGksbyxzLGw9bnVsbDtmdW5jdGlvbiBjKHQpe3JldHVyblt0LmdldFBhcmFtZXRlcih0LkZSQU1FQlVGRkVSX0JJTkRJTkcpLHQuZ2V0UGFyYW1ldGVyKHQuUkVOREVSQlVGRkVSX0JJTkRJTkcpLHQuZ2V0UGFyYW1ldGVyKHQuVEVYVFVSRV9CSU5ESU5HXzJEKV19ZnVuY3Rpb24gdSh0LGUpe3QuYmluZEZyYW1lYnVmZmVyKHQuRlJBTUVCVUZGRVIsZVswXSksdC5iaW5kUmVuZGVyYnVmZmVyKHQuUkVOREVSQlVGRkVSLGVbMV0pLHQuYmluZFRleHR1cmUodC5URVhUVVJFXzJELGVbMl0pfWZ1bmN0aW9uIGgodCl7c3dpdGNoKHQpe2Nhc2UgYTp0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogRnJhbWVidWZmZXIgdW5zdXBwb3J0ZWQiKTtjYXNlIGk6dGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IEZyYW1lYnVmZmVyIGluY29tcGxldGUgYXR0YWNobWVudCIpO2Nhc2Ugbzp0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogRnJhbWVidWZmZXIgaW5jb21wbGV0ZSBkaW1lbnNpb25zIik7Y2FzZSBzOnRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBGcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIG1pc3NpbmcgYXR0YWNobWVudCIpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IEZyYW1lYnVmZmVyIGZhaWxlZCBmb3IgdW5zcGVjaWZpZWQgcmVhc29uIil9fWZ1bmN0aW9uIGYodCxlLHIsYSxpLG8pe2lmKCFhKXJldHVybiBudWxsO3ZhciBzPW4odCxlLHIsaSxhKTtyZXR1cm4gcy5tYWdGaWx0ZXI9dC5ORUFSRVNULHMubWluRmlsdGVyPXQuTkVBUkVTVCxzLm1pcFNhbXBsZXM9MSxzLmJpbmQoKSx0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKHQuRlJBTUVCVUZGRVIsbyx0LlRFWFRVUkVfMkQscy5oYW5kbGUsMCksc31mdW5jdGlvbiBwKHQsZSxyLG4sYSl7dmFyIGk9dC5jcmVhdGVSZW5kZXJidWZmZXIoKTtyZXR1cm4gdC5iaW5kUmVuZGVyYnVmZmVyKHQuUkVOREVSQlVGRkVSLGkpLHQucmVuZGVyYnVmZmVyU3RvcmFnZSh0LlJFTkRFUkJVRkZFUixuLGUsciksdC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcih0LkZSQU1FQlVGRkVSLGEsdC5SRU5ERVJCVUZGRVIsaSksaX1mdW5jdGlvbiBkKHQsZSxyLG4sYSxpLG8scyl7dGhpcy5nbD10LHRoaXMuX3NoYXBlPVswfGUsMHxyXSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZXh0PXMsdGhpcy5jb2xvcj1uZXcgQXJyYXkoYSk7Zm9yKHZhciBkPTA7ZDxhOysrZCl0aGlzLmNvbG9yW2RdPW51bGw7dGhpcy5fY29sb3JfcmI9bnVsbCx0aGlzLmRlcHRoPW51bGwsdGhpcy5fZGVwdGhfcmI9bnVsbCx0aGlzLl9jb2xvclR5cGU9bix0aGlzLl91c2VEZXB0aD1pLHRoaXMuX3VzZVN0ZW5jaWw9bzt2YXIgZz10aGlzLHY9WzB8ZSwwfHJdO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHYsezA6e2dldDpmdW5jdGlvbigpe3JldHVybiBnLl9zaGFwZVswXX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBnLndpZHRoPXR9fSwxOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZy5fc2hhcGVbMV19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gZy5oZWlnaHQ9dH19fSksdGhpcy5fc2hhcGVWZWN0b3I9dixmdW5jdGlvbih0KXt2YXIgZT1jKHQuZ2wpLHI9dC5nbCxuPXQuaGFuZGxlPXIuY3JlYXRlRnJhbWVidWZmZXIoKSxhPXQuX3NoYXBlWzBdLGk9dC5fc2hhcGVbMV0sbz10LmNvbG9yLmxlbmd0aCxzPXQuX2V4dCxkPXQuX3VzZVN0ZW5jaWwsZz10Ll91c2VEZXB0aCx2PXQuX2NvbG9yVHlwZTtyLmJpbmRGcmFtZWJ1ZmZlcihyLkZSQU1FQlVGRkVSLG4pO2Zvcih2YXIgbT0wO208bzsrK20pdC5jb2xvclttXT1mKHIsYSxpLHYsci5SR0JBLHIuQ09MT1JfQVRUQUNITUVOVDArbSk7MD09PW8/KHQuX2NvbG9yX3JiPXAocixhLGksci5SR0JBNCxyLkNPTE9SX0FUVEFDSE1FTlQwKSxzJiZzLmRyYXdCdWZmZXJzV0VCR0wobFswXSkpOm8+MSYmcy5kcmF3QnVmZmVyc1dFQkdMKGxbb10pO3ZhciB5PXIuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kZXB0aF90ZXh0dXJlIik7eT9kP3QuZGVwdGg9ZihyLGEsaSx5LlVOU0lHTkVEX0lOVF8yNF84X1dFQkdMLHIuREVQVEhfU1RFTkNJTCxyLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCk6ZyYmKHQuZGVwdGg9ZihyLGEsaSxyLlVOU0lHTkVEX1NIT1JULHIuREVQVEhfQ09NUE9ORU5ULHIuREVQVEhfQVRUQUNITUVOVCkpOmcmJmQ/dC5fZGVwdGhfcmI9cChyLGEsaSxyLkRFUFRIX1NURU5DSUwsci5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQpOmc/dC5fZGVwdGhfcmI9cChyLGEsaSxyLkRFUFRIX0NPTVBPTkVOVDE2LHIuREVQVEhfQVRUQUNITUVOVCk6ZCYmKHQuX2RlcHRoX3JiPXAocixhLGksci5TVEVOQ0lMX0lOREVYLHIuU1RFTkNJTF9BVFRBQ0hNRU5UKSk7dmFyIHg9ci5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKHIuRlJBTUVCVUZGRVIpO2lmKHghPT1yLkZSQU1FQlVGRkVSX0NPTVBMRVRFKXtmb3IodC5fZGVzdHJveWVkPSEwLHIuYmluZEZyYW1lYnVmZmVyKHIuRlJBTUVCVUZGRVIsbnVsbCksci5kZWxldGVGcmFtZWJ1ZmZlcih0LmhhbmRsZSksdC5oYW5kbGU9bnVsbCx0LmRlcHRoJiYodC5kZXB0aC5kaXNwb3NlKCksdC5kZXB0aD1udWxsKSx0Ll9kZXB0aF9yYiYmKHIuZGVsZXRlUmVuZGVyYnVmZmVyKHQuX2RlcHRoX3JiKSx0Ll9kZXB0aF9yYj1udWxsKSxtPTA7bTx0LmNvbG9yLmxlbmd0aDsrK20pdC5jb2xvclttXS5kaXNwb3NlKCksdC5jb2xvclttXT1udWxsO3QuX2NvbG9yX3JiJiYoci5kZWxldGVSZW5kZXJidWZmZXIodC5fY29sb3JfcmIpLHQuX2NvbG9yX3JiPW51bGwpLHUocixlKSxoKHgpfXUocixlKX0odGhpcyl9dmFyIGc9ZC5wcm90b3R5cGU7ZnVuY3Rpb24gdih0LGUscil7aWYodC5fZGVzdHJveWVkKXRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBDYW4ndCByZXNpemUgZGVzdHJveWVkIEZCTyIpO2lmKHQuX3NoYXBlWzBdIT09ZXx8dC5fc2hhcGVbMV0hPT1yKXt2YXIgbj10LmdsLGE9bi5nZXRQYXJhbWV0ZXIobi5NQVhfUkVOREVSQlVGRkVSX1NJWkUpO2lmKGU8MHx8ZT5hfHxyPDB8fHI+YSl0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogQ2FuJ3QgcmVzaXplIEZCTywgaW52YWxpZCBkaW1lbnNpb25zIik7dC5fc2hhcGVbMF09ZSx0Ll9zaGFwZVsxXT1yO2Zvcih2YXIgaT1jKG4pLG89MDtvPHQuY29sb3IubGVuZ3RoOysrbyl0LmNvbG9yW29dLnNoYXBlPXQuX3NoYXBlO3QuX2NvbG9yX3JiJiYobi5iaW5kUmVuZGVyYnVmZmVyKG4uUkVOREVSQlVGRkVSLHQuX2NvbG9yX3JiKSxuLnJlbmRlcmJ1ZmZlclN0b3JhZ2Uobi5SRU5ERVJCVUZGRVIsbi5SR0JBNCx0Ll9zaGFwZVswXSx0Ll9zaGFwZVsxXSkpLHQuZGVwdGgmJih0LmRlcHRoLnNoYXBlPXQuX3NoYXBlKSx0Ll9kZXB0aF9yYiYmKG4uYmluZFJlbmRlcmJ1ZmZlcihuLlJFTkRFUkJVRkZFUix0Ll9kZXB0aF9yYiksdC5fdXNlRGVwdGgmJnQuX3VzZVN0ZW5jaWw/bi5yZW5kZXJidWZmZXJTdG9yYWdlKG4uUkVOREVSQlVGRkVSLG4uREVQVEhfU1RFTkNJTCx0Ll9zaGFwZVswXSx0Ll9zaGFwZVsxXSk6dC5fdXNlRGVwdGg/bi5yZW5kZXJidWZmZXJTdG9yYWdlKG4uUkVOREVSQlVGRkVSLG4uREVQVEhfQ09NUE9ORU5UMTYsdC5fc2hhcGVbMF0sdC5fc2hhcGVbMV0pOnQuX3VzZVN0ZW5jaWwmJm4ucmVuZGVyYnVmZmVyU3RvcmFnZShuLlJFTkRFUkJVRkZFUixuLlNURU5DSUxfSU5ERVgsdC5fc2hhcGVbMF0sdC5fc2hhcGVbMV0pKSxuLmJpbmRGcmFtZWJ1ZmZlcihuLkZSQU1FQlVGRkVSLHQuaGFuZGxlKTt2YXIgcz1uLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMobi5GUkFNRUJVRkZFUik7cyE9PW4uRlJBTUVCVUZGRVJfQ09NUExFVEUmJih0LmRpc3Bvc2UoKSx1KG4saSksaChzKSksdShuLGkpfX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhnLHtzaGFwZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZD9bMCwwXTp0aGlzLl9zaGFwZVZlY3Rvcn0sc2V0OmZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCl8fCh0PVswfHQsMHx0XSksMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBTaGFwZSB2ZWN0b3IgbXVzdCBiZSBsZW5ndGggMiIpO3ZhciBlPTB8dFswXSxyPTB8dFsxXTtyZXR1cm4gdih0aGlzLGUsciksW2Uscl19LGVudW1lcmFibGU6ITF9LHdpZHRoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVzdHJveWVkPzA6dGhpcy5fc2hhcGVbMF19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdih0aGlzLHR8PTAsdGhpcy5fc2hhcGVbMV0pLHR9LGVudW1lcmFibGU6ITF9LGhlaWdodDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZD8wOnRoaXMuX3NoYXBlWzFdfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR8PTAsdih0aGlzLHRoaXMuX3NoYXBlWzBdLHQpLHR9LGVudW1lcmFibGU6ITF9fSksZy5iaW5kPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2Rlc3Ryb3llZCl7dmFyIHQ9dGhpcy5nbDt0LmJpbmRGcmFtZWJ1ZmZlcih0LkZSQU1FQlVGRkVSLHRoaXMuaGFuZGxlKSx0LnZpZXdwb3J0KDAsMCx0aGlzLl9zaGFwZVswXSx0aGlzLl9zaGFwZVsxXSl9fSxnLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpZighdGhpcy5fZGVzdHJveWVkKXt0aGlzLl9kZXN0cm95ZWQ9ITA7dmFyIHQ9dGhpcy5nbDt0LmRlbGV0ZUZyYW1lYnVmZmVyKHRoaXMuaGFuZGxlKSx0aGlzLmhhbmRsZT1udWxsLHRoaXMuZGVwdGgmJih0aGlzLmRlcHRoLmRpc3Bvc2UoKSx0aGlzLmRlcHRoPW51bGwpLHRoaXMuX2RlcHRoX3JiJiYodC5kZWxldGVSZW5kZXJidWZmZXIodGhpcy5fZGVwdGhfcmIpLHRoaXMuX2RlcHRoX3JiPW51bGwpO2Zvcih2YXIgZT0wO2U8dGhpcy5jb2xvci5sZW5ndGg7KytlKXRoaXMuY29sb3JbZV0uZGlzcG9zZSgpLHRoaXMuY29sb3JbZV09bnVsbDt0aGlzLl9jb2xvcl9yYiYmKHQuZGVsZXRlUmVuZGVyYnVmZmVyKHRoaXMuX2NvbG9yX3JiKSx0aGlzLl9jb2xvcl9yYj1udWxsKX19fSx7ImdsLXRleHR1cmUyZCI6MzI0fV0sMjUzOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgic3ByaW50Zi1qcyIpLnNwcmludGYsYT10KCJnbC1jb25zdGFudHMvbG9va3VwIiksaT10KCJnbHNsLXNoYWRlci1uYW1lIiksbz10KCJhZGQtbGluZS1udW1iZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIHM9aShlKXx8Im9mIHVua25vd24gbmFtZSAoc2VlIG5wbSBnbHNsLXNoYWRlci1uYW1lKSIsbD0idW5rbm93biB0eXBlIjt2b2lkIDAhPT1yJiYobD1yPT09YS5GUkFHTUVOVF9TSEFERVI/ImZyYWdtZW50IjoidmVydGV4Iik7Zm9yKHZhciBjPW4oIkVycm9yIGNvbXBpbGluZyAlcyBzaGFkZXIgJXM6XG4iLGwscyksdT1uKCIlcyVzIixjLHQpLGg9dC5zcGxpdCgiXG4iKSxmPXt9LHA9MDtwPGgubGVuZ3RoO3ArKyl7dmFyIGQ9aFtwXTtpZigiIiE9PWQmJiJcMCIhPT1kKXt2YXIgZz1wYXJzZUludChkLnNwbGl0KCI6IilbMl0pO2lmKGlzTmFOKGcpKXRocm93IG5ldyBFcnJvcihuKCJDb3VsZCBub3QgcGFyc2UgZXJyb3I6ICVzIixkKSk7ZltnXT1kfX1mb3IodmFyIHY9byhlKS5zcGxpdCgiXG4iKSxwPTA7cDx2Lmxlbmd0aDtwKyspaWYoZltwKzNdfHxmW3ArMl18fGZbcCsxXSl7dmFyIG09dltwXTtpZihjKz1tKyJcbiIsZltwKzFdKXt2YXIgeT1mW3ArMV07eT15LnN1YnN0cih5LnNwbGl0KCI6IiwzKS5qb2luKCI6IikubGVuZ3RoKzEpLnRyaW0oKSxjKz1uKCJeXl4gJXNcblxuIix5KX19cmV0dXJue2xvbmc6Yy50cmltKCksc2hvcnQ6dS50cmltKCl9fX0seyJhZGQtbGluZS1udW1iZXJzIjo2NCwiZ2wtY29uc3RhbnRzL2xvb2t1cCI6MjQ5LCJnbHNsLXNoYWRlci1uYW1lIjo0MDMsInNwcmludGYtanMiOjUyN31dLDI1NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmdsLG49byhyLGwudmVydGV4LGwuZnJhZ21lbnQpLGE9byhyLGwucGlja1ZlcnRleCxsLnBpY2tGcmFnbWVudCksaT1zKHIpLHU9cyhyKSxoPXMociksZj1zKHIpLHA9bmV3IGModCxuLGEsaSx1LGgsZik7cmV0dXJuIHAudXBkYXRlKGUpLHQuYWRkT2JqZWN0KHApLHB9O3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJpb3RhLWFycmF5IiksaT10KCJ0eXBlZGFycmF5LXBvb2wiKSxvPXQoImdsLXNoYWRlciIpLHM9dCgiZ2wtYnVmZmVyIiksbD10KCIuL2xpYi9zaGFkZXJzIik7ZnVuY3Rpb24gYyh0LGUscixuLGEsaSxvKXt0aGlzLnBsb3Q9dCx0aGlzLnNoYWRlcj1lLHRoaXMucGlja1NoYWRlcj1yLHRoaXMucG9zaXRpb25CdWZmZXI9bix0aGlzLndlaWdodEJ1ZmZlcj1hLHRoaXMuY29sb3JCdWZmZXI9aSx0aGlzLmlkQnVmZmVyPW8sdGhpcy54RGF0YT1bXSx0aGlzLnlEYXRhPVtdLHRoaXMuc2hhcGU9WzAsMF0sdGhpcy5ib3VuZHM9WzEvMCwxLzAsLTEvMCwtMS8wXSx0aGlzLnBpY2tPZmZzZXQ9MH12YXIgdSxoPWMucHJvdG90eXBlLGY9WzAsMCwxLDAsMCwxLDEsMCwxLDEsMCwxXTtoLmRyYXc9KHU9WzEsMCwwLDAsMSwwLDAsMCwxXSxmdW5jdGlvbigpe3ZhciB0PXRoaXMucGxvdCxlPXRoaXMuc2hhZGVyLHI9dGhpcy5ib3VuZHMsbj10aGlzLm51bVZlcnRpY2VzO2lmKCEobjw9MCkpe3ZhciBhPXQuZ2wsaT10LmRhdGFCb3gsbz1yWzJdLXJbMF0scz1yWzNdLXJbMV0sbD1pWzJdLWlbMF0sYz1pWzNdLWlbMV07dVswXT0yKm8vbCx1WzRdPTIqcy9jLHVbNl09MiooclswXS1pWzBdKS9sLTEsdVs3XT0yKihyWzFdLWlbMV0pL2MtMSxlLmJpbmQoKTt2YXIgaD1lLnVuaWZvcm1zO2gudmlld1RyYW5zZm9ybT11LGguc2hhcGU9dGhpcy5zaGFwZTt2YXIgZj1lLmF0dHJpYnV0ZXM7dGhpcy5wb3NpdGlvbkJ1ZmZlci5iaW5kKCksZi5wb3NpdGlvbi5wb2ludGVyKCksdGhpcy53ZWlnaHRCdWZmZXIuYmluZCgpLGYud2VpZ2h0LnBvaW50ZXIoYS5VTlNJR05FRF9CWVRFLCExKSx0aGlzLmNvbG9yQnVmZmVyLmJpbmQoKSxmLmNvbG9yLnBvaW50ZXIoYS5VTlNJR05FRF9CWVRFLCEwKSxhLmRyYXdBcnJheXMoYS5UUklBTkdMRVMsMCxuKX19KSxoLmRyYXdQaWNrPWZ1bmN0aW9uKCl7dmFyIHQ9WzEsMCwwLDAsMSwwLDAsMCwxXSxlPVswLDAsMCwwXTtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIG49dGhpcy5wbG90LGE9dGhpcy5waWNrU2hhZGVyLGk9dGhpcy5ib3VuZHMsbz10aGlzLm51bVZlcnRpY2VzO2lmKCEobzw9MCkpe3ZhciBzPW4uZ2wsbD1uLmRhdGFCb3gsYz1pWzJdLWlbMF0sdT1pWzNdLWlbMV0saD1sWzJdLWxbMF0sZj1sWzNdLWxbMV07dFswXT0yKmMvaCx0WzRdPTIqdS9mLHRbNl09MiooaVswXS1sWzBdKS9oLTEsdFs3XT0yKihpWzFdLWxbMV0pL2YtMTtmb3IodmFyIHA9MDtwPDQ7KytwKWVbcF09cj4+OCpwJjI1NTt0aGlzLnBpY2tPZmZzZXQ9cixhLmJpbmQoKTt2YXIgZD1hLnVuaWZvcm1zO2Qudmlld1RyYW5zZm9ybT10LGQucGlja09mZnNldD1lLGQuc2hhcGU9dGhpcy5zaGFwZTt2YXIgZz1hLmF0dHJpYnV0ZXM7cmV0dXJuIHRoaXMucG9zaXRpb25CdWZmZXIuYmluZCgpLGcucG9zaXRpb24ucG9pbnRlcigpLHRoaXMud2VpZ2h0QnVmZmVyLmJpbmQoKSxnLndlaWdodC5wb2ludGVyKHMuVU5TSUdORURfQllURSwhMSksdGhpcy5pZEJ1ZmZlci5iaW5kKCksZy5waWNrSWQucG9pbnRlcihzLlVOU0lHTkVEX0JZVEUsITEpLHMuZHJhd0FycmF5cyhzLlRSSUFOR0xFUywwLG8pLHIrdGhpcy5zaGFwZVswXSp0aGlzLnNoYXBlWzFdfX19KCksaC5waWNrPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnBpY2tPZmZzZXQsYT10aGlzLnNoYXBlWzBdKnRoaXMuc2hhcGVbMV07aWYocjxufHxyPj1uK2EpcmV0dXJuIG51bGw7dmFyIGk9ci1uLG89dGhpcy54RGF0YSxzPXRoaXMueURhdGE7cmV0dXJue29iamVjdDp0aGlzLHBvaW50SWQ6aSxkYXRhQ29vcmQ6W29baSV0aGlzLnNoYXBlWzBdXSxzW2kvdGhpcy5zaGFwZVswXXwwXV19fSxoLnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZT0odD10fHx7fSkuc2hhcGV8fFswLDBdLHI9dC54fHxhKGVbMF0pLG89dC55fHxhKGVbMV0pLHM9dC56fHxuZXcgRmxvYXQzMkFycmF5KGVbMF0qZVsxXSk7dGhpcy54RGF0YT1yLHRoaXMueURhdGE9bzt2YXIgbD10LmNvbG9yTGV2ZWxzfHxbMF0sYz10LmNvbG9yVmFsdWVzfHxbMCwwLDAsMV0sdT1sLmxlbmd0aCxoPXRoaXMuYm91bmRzLHA9aFswXT1yWzBdLGQ9aFsxXT1vWzBdLGc9MS8oKGhbMl09cltyLmxlbmd0aC0xXSktcCksdj0xLygoaFszXT1vW28ubGVuZ3RoLTFdKS1kKSxtPWVbMF0seT1lWzFdO3RoaXMuc2hhcGU9W20seV07dmFyIHg9KG0tMSkqKHktMSkqKGYubGVuZ3RoPj4+MSk7dGhpcy5udW1WZXJ0aWNlcz14O2Zvcih2YXIgYj1pLm1hbGxvY1VpbnQ4KDQqeCksXz1pLm1hbGxvY0Zsb2F0MzIoMip4KSx3PWkubWFsbG9jVWludDgoMip4KSxrPWkubWFsbG9jVWludDMyKHgpLFQ9MCxNPTA7TTx5LTE7KytNKWZvcih2YXIgQT12KihvW01dLWQpLFM9dioob1tNKzFdLWQpLEU9MDtFPG0tMTsrK0UpZm9yKHZhciBMPWcqKHJbRV0tcCksQz1nKihyW0UrMV0tcCksUD0wO1A8Zi5sZW5ndGg7UCs9Mil7dmFyIE8seixJLEQsUj1mW1BdLEY9ZltQKzFdLEI9c1soTStGKSptKyhFK1IpXSxOPW4ubGUobCxCKTtpZihOPDApTz1jWzBdLHo9Y1sxXSxJPWNbMl0sRD1jWzNdO2Vsc2UgaWYoTj09PXUtMSlPPWNbNCp1LTRdLHo9Y1s0KnUtM10sST1jWzQqdS0yXSxEPWNbNCp1LTFdO2Vsc2V7dmFyIGo9KEItbFtOXSkvKGxbTisxXS1sW05dKSxWPTEtaixVPTQqTixxPTQqKE4rMSk7Tz1WKmNbVV0raipjW3FdLHo9VipjW1UrMV0raipjW3ErMV0sST1WKmNbVSsyXStqKmNbcSsyXSxEPVYqY1tVKzNdK2oqY1txKzNdfWJbNCpUXT0yNTUqTyxiWzQqVCsxXT0yNTUqeixiWzQqVCsyXT0yNTUqSSxiWzQqVCszXT0yNTUqRCxfWzIqVF09LjUqTCsuNSpDLF9bMipUKzFdPS41KkErLjUqUyx3WzIqVF09Uix3WzIqVCsxXT1GLGtbVF09TSptK0UsVCs9MX10aGlzLnBvc2l0aW9uQnVmZmVyLnVwZGF0ZShfKSx0aGlzLndlaWdodEJ1ZmZlci51cGRhdGUodyksdGhpcy5jb2xvckJ1ZmZlci51cGRhdGUoYiksdGhpcy5pZEJ1ZmZlci51cGRhdGUoayksaS5mcmVlKF8pLGkuZnJlZShiKSxpLmZyZWUodyksaS5mcmVlKGspfSxoLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnBvc2l0aW9uQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLndlaWdodEJ1ZmZlci5kaXNwb3NlKCksdGhpcy5jb2xvckJ1ZmZlci5kaXNwb3NlKCksdGhpcy5pZEJ1ZmZlci5kaXNwb3NlKCksdGhpcy5wbG90LnJlbW92ZU9iamVjdCh0aGlzKX19LHsiLi9saWIvc2hhZGVycyI6MjU1LCJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MjU2LCJnbC1idWZmZXIiOjI0NCwiZ2wtc2hhZGVyIjozMDQsImlvdGEtYXJyYXkiOjQxOCwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwyNTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2xzbGlmeSIpO2UuZXhwb3J0cz17ZnJhZ21lbnQ6bihbInByZWNpc2lvbiBsb3dwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQoZnJhZ0NvbG9yLnJnYiAqIGZyYWdDb2xvci5hLCBmcmFnQ29sb3IuYSk7XG59XG4iXSksdmVydGV4Om4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMiB3ZWlnaHQ7XG5cbnVuaWZvcm0gdmVjMiBzaGFwZTtcbnVuaWZvcm0gbWF0MyB2aWV3VHJhbnNmb3JtO1xuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgdlBvc2l0aW9uID0gdmlld1RyYW5zZm9ybSAqIHZlYzMoIHBvc2l0aW9uICsgKHdlaWdodC0uNSkvKHNoYXBlLTEuKSAsIDEuMCk7XG4gIGZyYWdDb2xvciA9IGNvbG9yO1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQodlBvc2l0aW9uLnh5LCAwLCB2UG9zaXRpb24ueik7XG59XG4iXSkscGlja0ZyYWdtZW50Om4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnSWQ7XG52YXJ5aW5nIHZlYzIgdldlaWdodDtcblxudW5pZm9ybSB2ZWMyIHNoYXBlO1xudW5pZm9ybSB2ZWM0IHBpY2tPZmZzZXQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjMiBkID0gc3RlcCguNSwgdldlaWdodCk7XG4gIHZlYzQgaWQgPSBmcmFnSWQgKyBwaWNrT2Zmc2V0O1xuICBpZC54ICs9IGQueCArIGQueSpzaGFwZS54O1xuXG4gIGlkLnkgKz0gZmxvb3IoaWQueCAvIDI1Ni4wKTtcbiAgaWQueCAtPSBmbG9vcihpZC54IC8gMjU2LjApICogMjU2LjA7XG5cbiAgaWQueiArPSBmbG9vcihpZC55IC8gMjU2LjApO1xuICBpZC55IC09IGZsb29yKGlkLnkgLyAyNTYuMCkgKiAyNTYuMDtcblxuICBpZC53ICs9IGZsb29yKGlkLnogLyAyNTYuMCk7XG4gIGlkLnogLT0gZmxvb3IoaWQueiAvIDI1Ni4wKSAqIDI1Ni4wO1xuXG4gIGdsX0ZyYWdDb2xvciA9IGlkLzI1NS47XG59XG4iXSkscGlja1ZlcnRleDpuKFsicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IHBpY2tJZDtcbmF0dHJpYnV0ZSB2ZWMyIHdlaWdodDtcblxudW5pZm9ybSB2ZWMyIHNoYXBlO1xudW5pZm9ybSBtYXQzIHZpZXdUcmFuc2Zvcm07XG5cbnZhcnlpbmcgdmVjNCBmcmFnSWQ7XG52YXJ5aW5nIHZlYzIgdldlaWdodDtcblxudm9pZCBtYWluKCkge1xuICB2V2VpZ2h0ID0gd2VpZ2h0O1xuXG4gIGZyYWdJZCA9IHBpY2tJZDtcblxuICB2ZWMzIHZQb3NpdGlvbiA9IHZpZXdUcmFuc2Zvcm0gKiB2ZWMzKCBwb3NpdGlvbiArICh3ZWlnaHQtLjUpLyhzaGFwZS0xLikgLCAxLjApO1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQodlBvc2l0aW9uLnh5LCAwLCB2UG9zaXRpb24ueik7XG59XG4iXSl9fSx7Z2xzbGlmeTo0MTF9XSwyNTY6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTEzfV0sMjU3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xzbGlmeSIpLGE9dCgiZ2wtc2hhZGVyIiksaT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb24sIG5leHRQb3NpdGlvbjtcbmF0dHJpYnV0ZSBmbG9hdCBhcmNMZW5ndGgsIGxpbmVXaWR0aDtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuXG51bmlmb3JtIHZlYzIgc2NyZWVuU2hhcGU7XG51bmlmb3JtIGZsb2F0IHBpeGVsUmF0aW87XG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG52YXJ5aW5nIHZlYzMgd29ybGRQb3NpdGlvbjtcbnZhcnlpbmcgZmxvYXQgcGl4ZWxBcmNMZW5ndGg7XG5cbnZlYzQgcHJvamVjdCh2ZWMzIHApIHtcbiAgcmV0dXJuIHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHAsIDEuMCk7XG59XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjNCBzdGFydFBvaW50ID0gcHJvamVjdChwb3NpdGlvbik7XG4gIHZlYzQgZW5kUG9pbnQgICA9IHByb2plY3QobmV4dFBvc2l0aW9uKTtcblxuICB2ZWMyIEEgPSBzdGFydFBvaW50Lnh5IC8gc3RhcnRQb2ludC53O1xuICB2ZWMyIEIgPSAgIGVuZFBvaW50Lnh5IC8gICBlbmRQb2ludC53O1xuXG4gIGZsb2F0IGNsaXBBbmdsZSA9IGF0YW4oXG4gICAgKEIueSAtIEEueSkgKiBzY3JlZW5TaGFwZS55LFxuICAgIChCLnggLSBBLngpICogc2NyZWVuU2hhcGUueFxuICApO1xuXG4gIHZlYzIgb2Zmc2V0ID0gMC41ICogcGl4ZWxSYXRpbyAqIGxpbmVXaWR0aCAqIHZlYzIoXG4gICAgc2luKGNsaXBBbmdsZSksXG4gICAgLWNvcyhjbGlwQW5nbGUpXG4gICkgLyBzY3JlZW5TaGFwZTtcblxuICBnbF9Qb3NpdGlvbiA9IHZlYzQoc3RhcnRQb2ludC54eSArIHN0YXJ0UG9pbnQudyAqIG9mZnNldCwgc3RhcnRQb2ludC56dyk7XG5cbiAgd29ybGRQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICBwaXhlbEFyY0xlbmd0aCA9IGFyY0xlbmd0aDtcbiAgZnJhZ0NvbG9yID0gY29sb3I7XG59XG4iXSksbz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyAgICAgIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIHNhbXBsZXIyRCBkYXNoVGV4dHVyZTtcbnVuaWZvcm0gZmxvYXQgICAgIGRhc2hTY2FsZTtcbnVuaWZvcm0gZmxvYXQgICAgIG9wYWNpdHk7XG5cbnZhcnlpbmcgdmVjMyAgICB3b3JsZFBvc2l0aW9uO1xudmFyeWluZyBmbG9hdCAgIHBpeGVsQXJjTGVuZ3RoO1xudmFyeWluZyB2ZWM0ICAgIGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAoXG4gICAgb3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZFBvc2l0aW9uKSB8fFxuICAgIGZyYWdDb2xvci5hICogb3BhY2l0eSA9PSAwLlxuICApIGRpc2NhcmQ7XG5cbiAgZmxvYXQgZGFzaFdlaWdodCA9IHRleHR1cmUyRChkYXNoVGV4dHVyZSwgdmVjMihkYXNoU2NhbGUgKiBwaXhlbEFyY0xlbmd0aCwgMCkpLnI7XG4gIGlmKGRhc2hXZWlnaHQgPCAwLjUpIHtcbiAgICBkaXNjYXJkO1xuICB9XG4gIGdsX0ZyYWdDb2xvciA9IGZyYWdDb2xvciAqIG9wYWNpdHk7XG59XG4iXSkscz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuI2RlZmluZSBGTE9BVF9NQVggIDEuNzAxNDExODRlMzhcbiNkZWZpbmUgRkxPQVRfTUlOICAxLjE3NTQ5NDM1ZS0zOFxuXG5sb3dwIHZlYzQgZW5jb2RlX2Zsb2F0XzE1NDAyNTkxMzAoaGlnaHAgZmxvYXQgdikge1xuICBoaWdocCBmbG9hdCBhdiA9IGFicyh2KTtcblxuICAvL0hhbmRsZSBzcGVjaWFsIGNhc2VzXG4gIGlmKGF2IDwgRkxPQVRfTUlOKSB7XG4gICAgcmV0dXJuIHZlYzQoMC4wLCAwLjAsIDAuMCwgMC4wKTtcbiAgfSBlbHNlIGlmKHYgPiBGTE9BVF9NQVgpIHtcbiAgICByZXR1cm4gdmVjNCgxMjcuMCwgMTI4LjAsIDAuMCwgMC4wKSAvIDI1NS4wO1xuICB9IGVsc2UgaWYodiA8IC1GTE9BVF9NQVgpIHtcbiAgICByZXR1cm4gdmVjNCgyNTUuMCwgMTI4LjAsIDAuMCwgMC4wKSAvIDI1NS4wO1xuICB9XG5cbiAgaGlnaHAgdmVjNCBjID0gdmVjNCgwLDAsMCwwKTtcblxuICAvL0NvbXB1dGUgZXhwb25lbnQgYW5kIG1hbnRpc3NhXG4gIGhpZ2hwIGZsb2F0IGUgPSBmbG9vcihsb2cyKGF2KSk7XG4gIGhpZ2hwIGZsb2F0IG0gPSBhdiAqIHBvdygyLjAsIC1lKSAtIDEuMDtcbiAgXG4gIC8vVW5wYWNrIG1hbnRpc3NhXG4gIGNbMV0gPSBmbG9vcigxMjguMCAqIG0pO1xuICBtIC09IGNbMV0gLyAxMjguMDtcbiAgY1syXSA9IGZsb29yKDMyNzY4LjAgKiBtKTtcbiAgbSAtPSBjWzJdIC8gMzI3NjguMDtcbiAgY1szXSA9IGZsb29yKDgzODg2MDguMCAqIG0pO1xuICBcbiAgLy9VbnBhY2sgZXhwb25lbnRcbiAgaGlnaHAgZmxvYXQgZWJpYXMgPSBlICsgMTI3LjA7XG4gIGNbMF0gPSBmbG9vcihlYmlhcyAvIDIuMCk7XG4gIGViaWFzIC09IGNbMF0gKiAyLjA7XG4gIGNbMV0gKz0gZmxvb3IoZWJpYXMpICogMTI4LjA7IFxuXG4gIC8vVW5wYWNrIHNpZ24gYml0XG4gIGNbMF0gKz0gMTI4LjAgKiBzdGVwKDAuMCwgLXYpO1xuXG4gIC8vU2NhbGUgYmFjayB0byByYW5nZVxuICByZXR1cm4gYyAvIDI1NS4wO1xufVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSBmbG9hdCBwaWNrSWQ7XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcblxudmFyeWluZyB2ZWMzIHdvcmxkUG9zaXRpb247XG52YXJ5aW5nIGZsb2F0IHBpeGVsQXJjTGVuZ3RoO1xudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZFBvc2l0aW9uKSkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tJZC8yNTUuMCwgZW5jb2RlX2Zsb2F0XzE1NDAyNTkxMzAocGl4ZWxBcmNMZW5ndGgpLnh5eik7XG59Il0pLGw9W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJuZXh0UG9zaXRpb24iLHR5cGU6InZlYzMifSx7bmFtZToiYXJjTGVuZ3RoIix0eXBlOiJmbG9hdCJ9LHtuYW1lOiJsaW5lV2lkdGgiLHR5cGU6ImZsb2F0In0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWM0In1dO3IuY3JlYXRlU2hhZGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQsaSxvLG51bGwsbCl9LHIuY3JlYXRlUGlja1NoYWRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYSh0LGkscyxudWxsLGwpfX0seyJnbC1zaGFkZXIiOjMwNCxnbHNsaWZ5OjQxMX1dLDI1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5nbHx8dC5zY2VuZSYmdC5zY2VuZS5nbCxyPXUoZSk7ci5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsci5hdHRyaWJ1dGVzLm5leHRQb3NpdGlvbi5sb2NhdGlvbj0xLHIuYXR0cmlidXRlcy5hcmNMZW5ndGgubG9jYXRpb249MixyLmF0dHJpYnV0ZXMubGluZVdpZHRoLmxvY2F0aW9uPTMsci5hdHRyaWJ1dGVzLmNvbG9yLmxvY2F0aW9uPTQ7dmFyIG89aChlKTtvLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxvLmF0dHJpYnV0ZXMubmV4dFBvc2l0aW9uLmxvY2F0aW9uPTEsby5hdHRyaWJ1dGVzLmFyY0xlbmd0aC5sb2NhdGlvbj0yLG8uYXR0cmlidXRlcy5saW5lV2lkdGgubG9jYXRpb249MyxvLmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249NDtmb3IodmFyIHM9bihlKSxjPWEoZSxbe2J1ZmZlcjpzLHNpemU6MyxvZmZzZXQ6MCxzdHJpZGU6NDh9LHtidWZmZXI6cyxzaXplOjMsb2Zmc2V0OjEyLHN0cmlkZTo0OH0se2J1ZmZlcjpzLHNpemU6MSxvZmZzZXQ6MjQsc3RyaWRlOjQ4fSx7YnVmZmVyOnMsc2l6ZToxLG9mZnNldDoyOCxzdHJpZGU6NDh9LHtidWZmZXI6cyxzaXplOjQsb2Zmc2V0OjMyLHN0cmlkZTo0OH1dKSxmPWwobmV3IEFycmF5KDEwMjQpLFsyNTYsMSw0XSkscD0wO3A8MTAyNDsrK3ApZi5kYXRhW3BdPTI1NTt2YXIgZD1pKGUsZik7ZC53cmFwPWUuUkVQRUFUO3ZhciBnPW5ldyB2KGUscixvLHMsYyxkKTtyZXR1cm4gZy51cGRhdGUodCksZ307dmFyIG49dCgiZ2wtYnVmZmVyIiksYT10KCJnbC12YW8iKSxpPXQoImdsLXRleHR1cmUyZCIpLG89dCgiZ2xzbC1yZWFkLWZsb2F0Iikscz10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpLGw9dCgibmRhcnJheSIpLGM9dCgiLi9saWIvc2hhZGVycyIpLHU9Yy5jcmVhdGVTaGFkZXIsaD1jLmNyZWF0ZVBpY2tTaGFkZXIsZj1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07ZnVuY3Rpb24gcCh0LGUpe2Zvcih2YXIgcj0wLG49MDtuPDM7KytuKXt2YXIgYT10W25dLWVbbl07cis9YSphfXJldHVybiBNYXRoLnNxcnQocil9ZnVuY3Rpb24gZCh0KXtmb3IodmFyIGU9W1stMWU2LC0xZTYsLTFlNl0sWzFlNiwxZTYsMWU2XV0scj0wO3I8MzsrK3IpZVswXVtyXT1NYXRoLm1heCh0WzBdW3JdLGVbMF1bcl0pLGVbMV1bcl09TWF0aC5taW4odFsxXVtyXSxlWzFdW3JdKTtyZXR1cm4gZX1mdW5jdGlvbiBnKHQsZSxyLG4pe3RoaXMuYXJjTGVuZ3RoPXQsdGhpcy5wb3NpdGlvbj1lLHRoaXMuaW5kZXg9cix0aGlzLmRhdGFDb29yZGluYXRlPW59ZnVuY3Rpb24gdih0LGUscixuLGEsaSl7dGhpcy5nbD10LHRoaXMuc2hhZGVyPWUsdGhpcy5waWNrU2hhZGVyPXIsdGhpcy5idWZmZXI9bix0aGlzLnZhbz1hLHRoaXMuY2xpcEJvdW5kcz1bWy0xLzAsLTEvMCwtMS8wXSxbMS8wLDEvMCwxLzBdXSx0aGlzLnBvaW50cz1bXSx0aGlzLmFyY0xlbmd0aD1bXSx0aGlzLnZlcnRleENvdW50PTAsdGhpcy5ib3VuZHM9W1swLDAsMF0sWzAsMCwwXV0sdGhpcy5waWNrSWQ9MCx0aGlzLmxpbmVXaWR0aD0xLHRoaXMudGV4dHVyZT1pLHRoaXMuZGFzaFNjYWxlPTEsdGhpcy5vcGFjaXR5PTEsdGhpcy5oYXNBbHBoYT0hMSx0aGlzLmRpcnR5PSEwLHRoaXMucGl4ZWxSYXRpbz0xfXZhciBtPXYucHJvdG90eXBlO20uaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc0FscGhhfSxtLmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzQWxwaGF9LG0ucGlja1Nsb3RzPTEsbS5zZXRQaWNrQmFzZT1mdW5jdGlvbih0KXt0aGlzLnBpY2tJZD10fSxtLmRyYXdUcmFuc3BhcmVudD1tLmRyYXc9ZnVuY3Rpb24odCl7aWYodGhpcy52ZXJ0ZXhDb3VudCl7dmFyIGU9dGhpcy5nbCxyPXRoaXMuc2hhZGVyLG49dGhpcy52YW87ci5iaW5kKCksci51bmlmb3Jtcz17bW9kZWw6dC5tb2RlbHx8Zix2aWV3OnQudmlld3x8Zixwcm9qZWN0aW9uOnQucHJvamVjdGlvbnx8ZixjbGlwQm91bmRzOmQodGhpcy5jbGlwQm91bmRzKSxkYXNoVGV4dHVyZTp0aGlzLnRleHR1cmUuYmluZCgpLGRhc2hTY2FsZTp0aGlzLmRhc2hTY2FsZS90aGlzLmFyY0xlbmd0aFt0aGlzLmFyY0xlbmd0aC5sZW5ndGgtMV0sb3BhY2l0eTp0aGlzLm9wYWNpdHksc2NyZWVuU2hhcGU6W2UuZHJhd2luZ0J1ZmZlcldpZHRoLGUuZHJhd2luZ0J1ZmZlckhlaWdodF0scGl4ZWxSYXRpbzp0aGlzLnBpeGVsUmF0aW99LG4uYmluZCgpLG4uZHJhdyhlLlRSSUFOR0xFX1NUUklQLHRoaXMudmVydGV4Q291bnQpLG4udW5iaW5kKCl9fSxtLmRyYXdQaWNrPWZ1bmN0aW9uKHQpe2lmKHRoaXMudmVydGV4Q291bnQpe3ZhciBlPXRoaXMuZ2wscj10aGlzLnBpY2tTaGFkZXIsbj10aGlzLnZhbztyLmJpbmQoKSxyLnVuaWZvcm1zPXttb2RlbDp0Lm1vZGVsfHxmLHZpZXc6dC52aWV3fHxmLHByb2plY3Rpb246dC5wcm9qZWN0aW9ufHxmLHBpY2tJZDp0aGlzLnBpY2tJZCxjbGlwQm91bmRzOmQodGhpcy5jbGlwQm91bmRzKSxzY3JlZW5TaGFwZTpbZS5kcmF3aW5nQnVmZmVyV2lkdGgsZS5kcmF3aW5nQnVmZmVySGVpZ2h0XSxwaXhlbFJhdGlvOnRoaXMucGl4ZWxSYXRpb30sbi5iaW5kKCksbi5kcmF3KGUuVFJJQU5HTEVfU1RSSVAsdGhpcy52ZXJ0ZXhDb3VudCksbi51bmJpbmQoKX19LG0udXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlLHI7dGhpcy5kaXJ0eT0hMDt2YXIgbj0hIXQuY29ubmVjdEdhcHM7ImRhc2hTY2FsZSJpbiB0JiYodGhpcy5kYXNoU2NhbGU9dC5kYXNoU2NhbGUpLHRoaXMuaGFzQWxwaGE9ITEsIm9wYWNpdHkiaW4gdCYmKHRoaXMub3BhY2l0eT0rdC5vcGFjaXR5LHRoaXMub3BhY2l0eTwxJiYodGhpcy5oYXNBbHBoYT0hMCkpO3ZhciBhPVtdLGk9W10sbz1bXSxjPTAsdT0wLGg9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sZj10LnBvc2l0aW9ufHx0LnBvc2l0aW9ucztpZihmKXt2YXIgZD10LmNvbG9yfHx0LmNvbG9yc3x8WzAsMCwwLDFdLGc9dC5saW5lV2lkdGh8fDEsdj0hMTt0OmZvcihlPTE7ZTxmLmxlbmd0aDsrK2Upe3ZhciBtLHkseCxiPWZbZS0xXSxfPWZbZV07Zm9yKGkucHVzaChjKSxvLnB1c2goYi5zbGljZSgpKSxyPTA7cjwzOysrcil7aWYoaXNOYU4oYltyXSl8fGlzTmFOKF9bcl0pfHwhaXNGaW5pdGUoYltyXSl8fCFpc0Zpbml0ZShfW3JdKSl7aWYoIW4mJmEubGVuZ3RoPjApe2Zvcih2YXIgdz0wO3c8MjQ7Kyt3KWEucHVzaChhW2EubGVuZ3RoLTEyXSk7dSs9Mix2PSEwfWNvbnRpbnVlIHR9aFswXVtyXT1NYXRoLm1pbihoWzBdW3JdLGJbcl0sX1tyXSksaFsxXVtyXT1NYXRoLm1heChoWzFdW3JdLGJbcl0sX1tyXSl9QXJyYXkuaXNBcnJheShkWzBdKT8obT1kLmxlbmd0aD5lLTE/ZFtlLTFdOmQubGVuZ3RoPjA/ZFtkLmxlbmd0aC0xXTpbMCwwLDAsMV0seT1kLmxlbmd0aD5lP2RbZV06ZC5sZW5ndGg+MD9kW2QubGVuZ3RoLTFdOlswLDAsMCwxXSk6bT15PWQsMz09PW0ubGVuZ3RoJiYobT1bbVswXSxtWzFdLG1bMl0sMV0pLDM9PT15Lmxlbmd0aCYmKHk9W3lbMF0seVsxXSx5WzJdLDFdKSwhdGhpcy5oYXNBbHBoYSYmbVszXTwxJiYodGhpcy5oYXNBbHBoYT0hMCkseD1BcnJheS5pc0FycmF5KGcpP2cubGVuZ3RoPmUtMT9nW2UtMV06Zy5sZW5ndGg+MD9nW2cubGVuZ3RoLTFdOlswLDAsMCwxXTpnO3ZhciBrPWM7aWYoYys9cChiLF8pLHYpe2ZvcihyPTA7cjwyOysrcilhLnB1c2goYlswXSxiWzFdLGJbMl0sX1swXSxfWzFdLF9bMl0sayx4LG1bMF0sbVsxXSxtWzJdLG1bM10pO3UrPTIsdj0hMX1hLnB1c2goYlswXSxiWzFdLGJbMl0sX1swXSxfWzFdLF9bMl0sayx4LG1bMF0sbVsxXSxtWzJdLG1bM10sYlswXSxiWzFdLGJbMl0sX1swXSxfWzFdLF9bMl0saywteCxtWzBdLG1bMV0sbVsyXSxtWzNdLF9bMF0sX1sxXSxfWzJdLGJbMF0sYlsxXSxiWzJdLGMsLXgseVswXSx5WzFdLHlbMl0seVszXSxfWzBdLF9bMV0sX1syXSxiWzBdLGJbMV0sYlsyXSxjLHgseVswXSx5WzFdLHlbMl0seVszXSksdSs9NH19aWYodGhpcy5idWZmZXIudXBkYXRlKGEpLGkucHVzaChjKSxvLnB1c2goZltmLmxlbmd0aC0xXS5zbGljZSgpKSx0aGlzLmJvdW5kcz1oLHRoaXMudmVydGV4Q291bnQ9dSx0aGlzLnBvaW50cz1vLHRoaXMuYXJjTGVuZ3RoPWksImRhc2hlcyJpbiB0KXt2YXIgVD10LmRhc2hlcy5zbGljZSgpO2ZvcihULnVuc2hpZnQoMCksZT0xO2U8VC5sZW5ndGg7KytlKVRbZV09VFtlLTFdK1RbZV07dmFyIE09bChuZXcgQXJyYXkoMTAyNCksWzI1NiwxLDRdKTtmb3IoZT0wO2U8MjU2OysrZSl7Zm9yKHI9MDtyPDQ7KytyKU0uc2V0KGUsMCxyLDApOzEmcy5sZShULFRbVC5sZW5ndGgtMV0qZS8yNTUpP00uc2V0KGUsMCwwLDApOk0uc2V0KGUsMCwwLDI1NSl9dGhpcy50ZXh0dXJlLnNldFBpeGVscyhNKX19LG0uZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnZhby5kaXNwb3NlKCksdGhpcy5idWZmZXIuZGlzcG9zZSgpfSxtLnBpY2s9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIG51bGw7aWYodC5pZCE9PXRoaXMucGlja0lkKXJldHVybiBudWxsO3ZhciBlPW8odC52YWx1ZVswXSx0LnZhbHVlWzFdLHQudmFsdWVbMl0sMCkscj1zLmxlKHRoaXMuYXJjTGVuZ3RoLGUpO2lmKHI8MClyZXR1cm4gbnVsbDtpZihyPT09dGhpcy5hcmNMZW5ndGgubGVuZ3RoLTEpcmV0dXJuIG5ldyBnKHRoaXMuYXJjTGVuZ3RoW3RoaXMuYXJjTGVuZ3RoLmxlbmd0aC0xXSx0aGlzLnBvaW50c1t0aGlzLnBvaW50cy5sZW5ndGgtMV0uc2xpY2UoKSxyKTtmb3IodmFyIG49dGhpcy5wb2ludHNbcl0sYT10aGlzLnBvaW50c1tNYXRoLm1pbihyKzEsdGhpcy5wb2ludHMubGVuZ3RoLTEpXSxpPShlLXRoaXMuYXJjTGVuZ3RoW3JdKS8odGhpcy5hcmNMZW5ndGhbcisxXS10aGlzLmFyY0xlbmd0aFtyXSksbD0xLWksYz1bMCwwLDBdLHU9MDt1PDM7Kyt1KWNbdV09bCpuW3VdK2kqYVt1XTt2YXIgaD1NYXRoLm1pbihpPC41P3I6cisxLHRoaXMucG9pbnRzLmxlbmd0aC0xKTtyZXR1cm4gbmV3IGcoZSxjLGgsdGhpcy5wb2ludHNbaF0pfX0seyIuL2xpYi9zaGFkZXJzIjoyNTcsImJpbmFyeS1zZWFyY2gtYm91bmRzIjoyNTksImdsLWJ1ZmZlciI6MjQ0LCJnbC10ZXh0dXJlMmQiOjMyNCwiZ2wtdmFvIjozMjksImdsc2wtcmVhZC1mbG9hdCI6NDAyLG5kYXJyYXk6NDUyfV0sMjU5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzExM11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjExM31dLDI2MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9ZVsyXSxpPWVbM10sbz1yKmktYSpuO3JldHVybiBvPyhvPTEvbyx0WzBdPWkqbyx0WzFdPS1uKm8sdFsyXT0tYSpvLHRbM109cipvLHQpOm51bGx9fSx7fV0sMjYxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9ZVszXSxvPWVbNF0scz1lWzVdLGw9ZVs2XSxjPWVbN10sdT1lWzhdLGg9dSpvLXMqYyxmPS11KmkrcypsLHA9YyppLW8qbCxkPXIqaCtuKmYrYSpwO3JldHVybiBkPyhkPTEvZCx0WzBdPWgqZCx0WzFdPSgtdSpuK2EqYykqZCx0WzJdPShzKm4tYSpvKSpkLHRbM109ZipkLHRbNF09KHUqci1hKmwpKmQsdFs1XT0oLXMqcithKmkpKmQsdFs2XT1wKmQsdFs3XT0oLWMqcituKmwpKmQsdFs4XT0obypyLW4qaSkqZCx0KTpudWxsfX0se31dLDI2MjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1uZXcgRmxvYXQzMkFycmF5KDE2KTtyZXR1cm4gZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGVbNF09dFs0XSxlWzVdPXRbNV0sZVs2XT10WzZdLGVbN109dFs3XSxlWzhdPXRbOF0sZVs5XT10WzldLGVbMTBdPXRbMTBdLGVbMTFdPXRbMTFdLGVbMTJdPXRbMTJdLGVbMTNdPXRbMTNdLGVbMTRdPXRbMTRdLGVbMTVdPXRbMTVdLGV9fSx7fV0sMjYzOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEZsb2F0MzJBcnJheSgxNik7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0xLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fX0se31dLDI2NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLHI9dFsxXSxuPXRbMl0sYT10WzNdLGk9dFs0XSxvPXRbNV0scz10WzZdLGw9dFs3XSxjPXRbOF0sdT10WzldLGg9dFsxMF0sZj10WzExXSxwPXRbMTJdLGQ9dFsxM10sZz10WzE0XSx2PXRbMTVdO3JldHVybihlKm8tcippKSooaCp2LWYqZyktKGUqcy1uKmkpKih1KnYtZipkKSsoZSpsLWEqaSkqKHUqZy1oKmQpKyhyKnMtbipvKSooYyp2LWYqcCktKHIqbC1hKm8pKihjKmctaCpwKSsobipsLWEqcykqKGMqZC11KnApfX0se31dLDI2NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9ZVsyXSxpPWVbM10sbz1yK3Iscz1uK24sbD1hK2EsYz1yKm8sdT1uKm8saD1uKnMsZj1hKm8scD1hKnMsZD1hKmwsZz1pKm8sdj1pKnMsbT1pKmw7cmV0dXJuIHRbMF09MS1oLWQsdFsxXT11K20sdFsyXT1mLXYsdFszXT0wLHRbNF09dS1tLHRbNV09MS1jLWQsdFs2XT1wK2csdFs3XT0wLHRbOF09Zit2LHRbOV09cC1nLHRbMTBdPTEtYy1oLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fX0se31dLDI2NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXSxzPW4rbixsPWErYSxjPWkraSx1PW4qcyxoPW4qbCxmPW4qYyxwPWEqbCxkPWEqYyxnPWkqYyx2PW8qcyxtPW8qbCx5PW8qYztyZXR1cm4gdFswXT0xLShwK2cpLHRbMV09aCt5LHRbMl09Zi1tLHRbM109MCx0WzRdPWgteSx0WzVdPTEtKHUrZyksdFs2XT1kK3YsdFs3XT0wLHRbOF09ZittLHRbOV09ZC12LHRbMTBdPTEtKHUrcCksdFsxMV09MCx0WzEyXT1yWzBdLHRbMTNdPXJbMV0sdFsxNF09clsyXSx0WzE1XT0xLHR9fSx7fV0sMjY3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH19LHt9XSwyNjg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPWVbMl0saT1lWzNdLG89ZVs0XSxzPWVbNV0sbD1lWzZdLGM9ZVs3XSx1PWVbOF0saD1lWzldLGY9ZVsxMF0scD1lWzExXSxkPWVbMTJdLGc9ZVsxM10sdj1lWzE0XSxtPWVbMTVdLHk9cipzLW4qbyx4PXIqbC1hKm8sYj1yKmMtaSpvLF89bipsLWEqcyx3PW4qYy1pKnMsaz1hKmMtaSpsLFQ9dSpnLWgqZCxNPXUqdi1mKmQsQT11Km0tcCpkLFM9aCp2LWYqZyxFPWgqbS1wKmcsTD1mKm0tcCp2LEM9eSpMLXgqRStiKlMrXypBLXcqTStrKlQ7aWYoIUMpcmV0dXJuIG51bGw7cmV0dXJuIEM9MS9DLHRbMF09KHMqTC1sKkUrYypTKSpDLHRbMV09KGEqRS1uKkwtaSpTKSpDLHRbMl09KGcqay12KncrbSpfKSpDLHRbM109KGYqdy1oKmstcCpfKSpDLHRbNF09KGwqQS1vKkwtYypNKSpDLHRbNV09KHIqTC1hKkEraSpNKSpDLHRbNl09KHYqYi1kKmstbSp4KSpDLHRbN109KHUqay1mKmIrcCp4KSpDLHRbOF09KG8qRS1zKkErYypUKSpDLHRbOV09KG4qQS1yKkUtaSpUKSpDLHRbMTBdPShkKnctZypiK20qeSkqQyx0WzExXT0oaCpiLXUqdy1wKnkpKkMsdFsxMl09KHMqTS1vKlMtbCpUKSpDLHRbMTNdPShyKlMtbipNK2EqVCkqQyx0WzE0XT0oZyp4LWQqXy12KnkpKkMsdFsxNV09KHUqXy1oKngrZip5KSpDLHR9fSx7fV0sMjY5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9pZGVudGl0eSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXt2YXIgaSxvLHMsbCxjLHUsaCxmLHAsZCxnPWVbMF0sdj1lWzFdLG09ZVsyXSx5PWFbMF0seD1hWzFdLGI9YVsyXSxfPXJbMF0sdz1yWzFdLGs9clsyXTtpZihNYXRoLmFicyhnLV8pPDFlLTYmJk1hdGguYWJzKHYtdyk8MWUtNiYmTWF0aC5hYnMobS1rKTwxZS02KXJldHVybiBuKHQpO2g9Zy1fLGY9di13LHA9bS1rLGQ9MS9NYXRoLnNxcnQoaCpoK2YqZitwKnApLGk9eCoocCo9ZCktYiooZio9ZCksbz1iKihoKj1kKS15KnAscz15KmYteCpoLChkPU1hdGguc3FydChpKmkrbypvK3MqcykpPyhpKj1kPTEvZCxvKj1kLHMqPWQpOihpPTAsbz0wLHM9MCk7bD1mKnMtcCpvLGM9cCppLWgqcyx1PWgqby1mKmksKGQ9TWF0aC5zcXJ0KGwqbCtjKmMrdSp1KSk/KGwqPWQ9MS9kLGMqPWQsdSo9ZCk6KGw9MCxjPTAsdT0wKTtyZXR1cm4gdFswXT1pLHRbMV09bCx0WzJdPWgsdFszXT0wLHRbNF09byx0WzVdPWMsdFs2XT1mLHRbN109MCx0WzhdPXMsdFs5XT11LHRbMTBdPXAsdFsxMV09MCx0WzEyXT0tKGkqZytvKnYrcyptKSx0WzEzXT0tKGwqZytjKnYrdSptKSx0WzE0XT0tKGgqZytmKnYrcCptKSx0WzE1XT0xLHR9fSx7Ii4vaWRlbnRpdHkiOjI2N31dLDI3MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXSxzPWVbNF0sbD1lWzVdLGM9ZVs2XSx1PWVbN10saD1lWzhdLGY9ZVs5XSxwPWVbMTBdLGQ9ZVsxMV0sZz1lWzEyXSx2PWVbMTNdLG09ZVsxNF0seT1lWzE1XSx4PXJbMF0sYj1yWzFdLF89clsyXSx3PXJbM107cmV0dXJuIHRbMF09eCpuK2IqcytfKmgrdypnLHRbMV09eCphK2IqbCtfKmYrdyp2LHRbMl09eCppK2IqYytfKnArdyptLHRbM109eCpvK2IqdStfKmQrdyp5LHg9cls0XSxiPXJbNV0sXz1yWzZdLHc9cls3XSx0WzRdPXgqbitiKnMrXypoK3cqZyx0WzVdPXgqYStiKmwrXypmK3cqdix0WzZdPXgqaStiKmMrXypwK3cqbSx0WzddPXgqbytiKnUrXypkK3cqeSx4PXJbOF0sYj1yWzldLF89clsxMF0sdz1yWzExXSx0WzhdPXgqbitiKnMrXypoK3cqZyx0WzldPXgqYStiKmwrXypmK3cqdix0WzEwXT14KmkrYipjK18qcCt3Km0sdFsxMV09eCpvK2IqdStfKmQrdyp5LHg9clsxMl0sYj1yWzEzXSxfPXJbMTRdLHc9clsxNV0sdFsxMl09eCpuK2IqcytfKmgrdypnLHRbMTNdPXgqYStiKmwrXypmK3cqdix0WzE0XT14KmkrYipjK18qcCt3Km0sdFsxNV09eCpvK2IqdStfKmQrdyp5LHR9fSx7fV0sMjcxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPTEvKGUtciksbD0xLyhuLWEpLGM9MS8oaS1vKTtyZXR1cm4gdFswXT0tMipzLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPS0yKmwsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTIqYyx0WzExXT0wLHRbMTJdPShlK3IpKnMsdFsxM109KGErbikqbCx0WzE0XT0obytpKSpjLHRbMTVdPTEsdH19LHt9XSwyNzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT0xL01hdGgudGFuKGUvMiksbz0xLyhuLWEpO3JldHVybiB0WzBdPWkvcix0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1pLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0oYStuKSpvLHRbMTFdPS0xLHRbMTJdPTAsdFsxM109MCx0WzE0XT0yKmEqbipvLHRbMTVdPTAsdH19LHt9XSwyNzM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbSx5LHgsYixfLHcsayxULE0sQSxTLEU9blswXSxMPW5bMV0sQz1uWzJdLFA9TWF0aC5zcXJ0KEUqRStMKkwrQypDKTtpZihNYXRoLmFicyhQKTwxZS02KXJldHVybiBudWxsO0UqPVA9MS9QLEwqPVAsQyo9UCxhPU1hdGguc2luKHIpLGk9TWF0aC5jb3Mociksbz0xLWkscz1lWzBdLGw9ZVsxXSxjPWVbMl0sdT1lWzNdLGg9ZVs0XSxmPWVbNV0scD1lWzZdLGQ9ZVs3XSxnPWVbOF0sdj1lWzldLG09ZVsxMF0seT1lWzExXSx4PUUqRSpvK2ksYj1MKkUqbytDKmEsXz1DKkUqby1MKmEsdz1FKkwqby1DKmEsaz1MKkwqbytpLFQ9QypMKm8rRSphLE09RSpDKm8rTCphLEE9TCpDKm8tRSphLFM9QypDKm8raSx0WzBdPXMqeCtoKmIrZypfLHRbMV09bCp4K2YqYit2Kl8sdFsyXT1jKngrcCpiK20qXyx0WzNdPXUqeCtkKmIreSpfLHRbNF09cyp3K2gqaytnKlQsdFs1XT1sKncrZiprK3YqVCx0WzZdPWMqdytwKmsrbSpULHRbN109dSp3K2Qqayt5KlQsdFs4XT1zKk0raCpBK2cqUyx0WzldPWwqTStmKkErdipTLHRbMTBdPWMqTStwKkErbSpTLHRbMTFdPXUqTStkKkEreSpTLGUhPT10JiYodFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0pO3JldHVybiB0fX0se31dLDI3NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49TWF0aC5zaW4ociksYT1NYXRoLmNvcyhyKSxpPWVbNF0sbz1lWzVdLHM9ZVs2XSxsPWVbN10sYz1lWzhdLHU9ZVs5XSxoPWVbMTBdLGY9ZVsxMV07ZSE9PXQmJih0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0WzNdPWVbM10sdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0pO3JldHVybiB0WzRdPWkqYStjKm4sdFs1XT1vKmErdSpuLHRbNl09cyphK2gqbix0WzddPWwqYStmKm4sdFs4XT1jKmEtaSpuLHRbOV09dSphLW8qbix0WzEwXT1oKmEtcypuLHRbMTFdPWYqYS1sKm4sdH19LHt9XSwyNzU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGguc2luKHIpLGE9TWF0aC5jb3MociksaT1lWzBdLG89ZVsxXSxzPWVbMl0sbD1lWzNdLGM9ZVs4XSx1PWVbOV0saD1lWzEwXSxmPWVbMTFdO2UhPT10JiYodFs0XT1lWzRdLHRbNV09ZVs1XSx0WzZdPWVbNl0sdFs3XT1lWzddLHRbMTJdPWVbMTJdLHRbMTNdPWVbMTNdLHRbMTRdPWVbMTRdLHRbMTVdPWVbMTVdKTtyZXR1cm4gdFswXT1pKmEtYypuLHRbMV09byphLXUqbix0WzJdPXMqYS1oKm4sdFszXT1sKmEtZipuLHRbOF09aSpuK2MqYSx0WzldPW8qbit1KmEsdFsxMF09cypuK2gqYSx0WzExXT1sKm4rZiphLHR9fSx7fV0sMjc2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1NYXRoLnNpbihyKSxhPU1hdGguY29zKHIpLGk9ZVswXSxvPWVbMV0scz1lWzJdLGw9ZVszXSxjPWVbNF0sdT1lWzVdLGg9ZVs2XSxmPWVbN107ZSE9PXQmJih0WzhdPWVbOF0sdFs5XT1lWzldLHRbMTBdPWVbMTBdLHRbMTFdPWVbMTFdLHRbMTJdPWVbMTJdLHRbMTNdPWVbMTNdLHRbMTRdPWVbMTRdLHRbMTVdPWVbMTVdKTtyZXR1cm4gdFswXT1pKmErYypuLHRbMV09byphK3Uqbix0WzJdPXMqYStoKm4sdFszXT1sKmErZipuLHRbNF09YyphLWkqbix0WzVdPXUqYS1vKm4sdFs2XT1oKmEtcypuLHRbN109ZiphLWwqbix0fX0se31dLDI3NzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49clswXSxhPXJbMV0saT1yWzJdO3JldHVybiB0WzBdPWVbMF0qbix0WzFdPWVbMV0qbix0WzJdPWVbMl0qbix0WzNdPWVbM10qbix0WzRdPWVbNF0qYSx0WzVdPWVbNV0qYSx0WzZdPWVbNl0qYSx0WzddPWVbN10qYSx0WzhdPWVbOF0qaSx0WzldPWVbOV0qaSx0WzEwXT1lWzEwXSppLHRbMTFdPWVbMTFdKmksdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0sdH19LHt9XSwyNzg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnPXJbMF0sdj1yWzFdLG09clsyXTtlPT09dD8odFsxMl09ZVswXSpnK2VbNF0qditlWzhdKm0rZVsxMl0sdFsxM109ZVsxXSpnK2VbNV0qditlWzldKm0rZVsxM10sdFsxNF09ZVsyXSpnK2VbNl0qditlWzEwXSptK2VbMTRdLHRbMTVdPWVbM10qZytlWzddKnYrZVsxMV0qbStlWzE1XSk6KG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXSxzPWVbNF0sbD1lWzVdLGM9ZVs2XSx1PWVbN10saD1lWzhdLGY9ZVs5XSxwPWVbMTBdLGQ9ZVsxMV0sdFswXT1uLHRbMV09YSx0WzJdPWksdFszXT1vLHRbNF09cyx0WzVdPWwsdFs2XT1jLHRbN109dSx0WzhdPWgsdFs5XT1mLHRbMTBdPXAsdFsxMV09ZCx0WzEyXT1uKmcrcyp2K2gqbStlWzEyXSx0WzEzXT1hKmcrbCp2K2YqbStlWzEzXSx0WzE0XT1pKmcrYyp2K3AqbStlWzE0XSx0WzE1XT1vKmcrdSp2K2QqbStlWzE1XSk7cmV0dXJuIHR9fSx7fV0sMjc5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYodD09PWUpe3ZhciByPWVbMV0sbj1lWzJdLGE9ZVszXSxpPWVbNl0sbz1lWzddLHM9ZVsxMV07dFsxXT1lWzRdLHRbMl09ZVs4XSx0WzNdPWVbMTJdLHRbNF09cix0WzZdPWVbOV0sdFs3XT1lWzEzXSx0WzhdPW4sdFs5XT1pLHRbMTFdPWVbMTRdLHRbMTJdPWEsdFsxM109byx0WzE0XT1zfWVsc2UgdFswXT1lWzBdLHRbMV09ZVs0XSx0WzJdPWVbOF0sdFszXT1lWzEyXSx0WzRdPWVbMV0sdFs1XT1lWzVdLHRbNl09ZVs5XSx0WzddPWVbMTNdLHRbOF09ZVsyXSx0WzldPWVbNl0sdFsxMF09ZVsxMF0sdFsxMV09ZVsxNF0sdFsxMl09ZVszXSx0WzEzXT1lWzddLHRbMTRdPWVbMTFdLHRbMTVdPWVbMTVdO3JldHVybiB0fX0se31dLDI4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpicmVhaztjYXNlIDE6dFswXT0xL2VbMF07YnJlYWs7Y2FzZSA0Om4odCxlKTticmVhaztjYXNlIDk6YSh0LGUpO2JyZWFrO2Nhc2UgMTY6aSh0LGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJjdXJyZW50bHkgc3VwcG9ydHMgbWF0cmljZXMgdXAgdG8gNHg0Iil9cmV0dXJuIHR9O3ZhciBuPXQoImdsLW1hdDIvaW52ZXJ0IiksYT10KCJnbC1tYXQzL2ludmVydCIpLGk9dCgiZ2wtbWF0NC9pbnZlcnQiKX0seyJnbC1tYXQyL2ludmVydCI6MjYwLCJnbC1tYXQzL2ludmVydCI6MjYxLCJnbC1tYXQ0L2ludmVydCI6MjY4fV0sMjgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJhcnljZW50cmljIiksYT10KCJwb2x5dG9wZS1jbG9zZXN0LXBvaW50L2xpYi9jbG9zZXN0X3BvaW50XzJkLmpzIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgcj1bMCwwLDAsMF0sbj0wO248NDsrK24pZm9yKHZhciBhPTA7YTw0OysrYSlyW2FdKz10WzQqbithXSplW25dO3JldHVybiByfWZ1bmN0aW9uIG8odCxlLHIsbixhKXtmb3IodmFyIG89aShuLGkocixpKGUsW3RbMF0sdFsxXSx0WzJdLDFdKSkpLHM9MDtzPDM7KytzKW9bc10vPW9bM107cmV0dXJuWy41KmFbMF0qKDErb1swXSksLjUqYVsxXSooMS1vWzFdKV19ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgcj1bMCwwLDBdLG49MDtuPHQubGVuZ3RoOysrbilmb3IodmFyIGE9dFtuXSxpPWVbbl0sbz0wO288MzsrK28pcltvXSs9aSphW29dO3JldHVybiByfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpLGwsYyl7aWYoMT09PXQubGVuZ3RoKXJldHVyblswLHRbMF0uc2xpY2UoKV07Zm9yKHZhciB1PW5ldyBBcnJheSh0Lmxlbmd0aCksaD0wO2g8dC5sZW5ndGg7KytoKXVbaF09byh0W2hdLHIsaSxsLGMpO2Zvcih2YXIgZj0wLHA9MS8wLGg9MDtoPHUubGVuZ3RoOysraCl7Zm9yKHZhciBkPTAsZz0wO2c8MjsrK2cpZCs9TWF0aC5wb3codVtoXVtnXS1lW2ddLDIpO2Q8cCYmKHA9ZCxmPWgpfWZvcih2YXIgdj1mdW5jdGlvbih0LGUpe2lmKDI9PT10Lmxlbmd0aCl7Zm9yKHZhciByPTAsaT0wLG89MDtvPDI7KytvKXIrPU1hdGgucG93KGVbb10tdFswXVtvXSwyKSxpKz1NYXRoLnBvdyhlW29dLXRbMV1bb10sMik7cmV0dXJuIHI9TWF0aC5zcXJ0KHIpLGk9TWF0aC5zcXJ0KGkpLHIraTwxZS02P1sxLDBdOltpLyhyK2kpLHIvKGkrcildfWlmKDM9PT10Lmxlbmd0aCl7dmFyIHM9WzAsMF07cmV0dXJuIGEodFswXSx0WzFdLHRbMl0sZSxzKSxuKHQscyl9cmV0dXJuW119KHUsZSksbT0wLGg9MDtoPDM7KytoKXtpZih2W2hdPC0uMDAxfHx2W2hdPjEuMDAwMSlyZXR1cm4gbnVsbDttKz12W2hdfWlmKE1hdGguYWJzKG0tMSk+LjAwMSlyZXR1cm4gbnVsbDtyZXR1cm5bZixzKHQsdiksdl19fSx7YmFyeWNlbnRyaWM6NzUsInBvbHl0b3BlLWNsb3Nlc3QtcG9pbnQvbGliL2Nsb3Nlc3RfcG9pbnRfMmQuanMiOjQ4M31dLDI4MjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsc2xpZnkiKSxhPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbiwgbm9ybWFsO1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMiB1djtcblxudW5pZm9ybSBtYXQ0IG1vZGVsXG4gICAgICAgICAgICwgdmlld1xuICAgICAgICAgICAsIHByb2plY3Rpb25cbiAgICAgICAgICAgLCBpbnZlcnNlTW9kZWw7XG51bmlmb3JtIHZlYzMgZXllUG9zaXRpb25cbiAgICAgICAgICAgLCBsaWdodFBvc2l0aW9uO1xuXG52YXJ5aW5nIHZlYzMgZl9ub3JtYWxcbiAgICAgICAgICAgLCBmX2xpZ2h0RGlyZWN0aW9uXG4gICAgICAgICAgICwgZl9leWVEaXJlY3Rpb25cbiAgICAgICAgICAgLCBmX2RhdGE7XG52YXJ5aW5nIHZlYzQgZl9jb2xvcjtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52ZWM0IHByb2plY3QodmVjMyBwKSB7XG4gIHJldHVybiBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChwLCAxLjApO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIGdsX1Bvc2l0aW9uICAgICAgPSBwcm9qZWN0KHBvc2l0aW9uKTtcblxuICAvL0xpZ2h0aW5nIGdlb21ldHJ5IHBhcmFtZXRlcnNcbiAgdmVjNCBjYW1lcmFDb29yZGluYXRlID0gdmlldyAqIHZlYzQocG9zaXRpb24gLCAxLjApO1xuICBjYW1lcmFDb29yZGluYXRlLnh5eiAvPSBjYW1lcmFDb29yZGluYXRlLnc7XG4gIGZfbGlnaHREaXJlY3Rpb24gPSBsaWdodFBvc2l0aW9uIC0gY2FtZXJhQ29vcmRpbmF0ZS54eXo7XG4gIGZfZXllRGlyZWN0aW9uICAgPSBleWVQb3NpdGlvbiAtIGNhbWVyYUNvb3JkaW5hdGUueHl6O1xuICBmX25vcm1hbCAgPSBub3JtYWxpemUoKHZlYzQobm9ybWFsLCAwLjApICogaW52ZXJzZU1vZGVsKS54eXopO1xuXG4gIGZfY29sb3IgICAgICAgICAgPSBjb2xvcjtcbiAgZl9kYXRhICAgICAgICAgICA9IHBvc2l0aW9uO1xuICBmX3V2ICAgICAgICAgICAgID0gdXY7XG59XG4iXSksaT1uKFsiI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBjb29rVG9ycmFuY2VTcGVjdWxhcihcbiAgdmVjMyBsaWdodERpcmVjdGlvbixcbiAgdmVjMyB2aWV3RGlyZWN0aW9uLFxuICB2ZWMzIHN1cmZhY2VOb3JtYWwsXG4gIGZsb2F0IHJvdWdobmVzcyxcbiAgZmxvYXQgZnJlc25lbCkge1xuXG4gIGZsb2F0IFZkb3ROID0gbWF4KGRvdCh2aWV3RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcbiAgZmxvYXQgTGRvdE4gPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcblxuICAvL0hhbGYgYW5nbGUgdmVjdG9yXG4gIHZlYzMgSCA9IG5vcm1hbGl6ZShsaWdodERpcmVjdGlvbiArIHZpZXdEaXJlY3Rpb24pO1xuXG4gIC8vR2VvbWV0cmljIHRlcm1cbiAgZmxvYXQgTmRvdEggPSBtYXgoZG90KHN1cmZhY2VOb3JtYWwsIEgpLCAwLjApO1xuICBmbG9hdCBWZG90SCA9IG1heChkb3Qodmlld0RpcmVjdGlvbiwgSCksIDAuMDAwMDAxKTtcbiAgZmxvYXQgTGRvdEggPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBIKSwgMC4wMDAwMDEpO1xuICBmbG9hdCBHMSA9ICgyLjAgKiBOZG90SCAqIFZkb3ROKSAvIFZkb3RIO1xuICBmbG9hdCBHMiA9ICgyLjAgKiBOZG90SCAqIExkb3ROKSAvIExkb3RIO1xuICBmbG9hdCBHID0gbWluKDEuMCwgbWluKEcxLCBHMikpO1xuICBcbiAgLy9EaXN0cmlidXRpb24gdGVybVxuICBmbG9hdCBEID0gYmVja21hbm5EaXN0cmlidXRpb24oTmRvdEgsIHJvdWdobmVzcyk7XG5cbiAgLy9GcmVzbmVsIHRlcm1cbiAgZmxvYXQgRiA9IHBvdygxLjAgLSBWZG90TiwgZnJlc25lbCk7XG5cbiAgLy9NdWx0aXBseSB0ZXJtcyBhbmQgZG9uZVxuICByZXR1cm4gIEcgKiBGICogRCAvIG1heCgzLjE0MTU5MjY1ICogVmRvdE4sIDAuMDAwMDAxKTtcbn1cblxuLy8jcHJhZ21hIGdsc2xpZnk6IGJlY2ttYW5uID0gcmVxdWlyZShnbHNsLXNwZWN1bGFyLWJlY2ttYW5uKSAvLyB1c2VkIGluIGdsLXN1cmZhY2UzZFxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHJvdWdobmVzc1xuICAgICAgICAgICAgLCBmcmVzbmVsXG4gICAgICAgICAgICAsIGthbWJpZW50XG4gICAgICAgICAgICAsIGtkaWZmdXNlXG4gICAgICAgICAgICAsIGtzcGVjdWxhcjtcbnVuaWZvcm0gc2FtcGxlcjJEIHRleHR1cmU7XG5cbnZhcnlpbmcgdmVjMyBmX25vcm1hbFxuICAgICAgICAgICAsIGZfbGlnaHREaXJlY3Rpb25cbiAgICAgICAgICAgLCBmX2V5ZURpcmVjdGlvblxuICAgICAgICAgICAsIGZfZGF0YTtcbnZhcnlpbmcgdmVjNCBmX2NvbG9yO1xudmFyeWluZyB2ZWMyIGZfdXY7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKGZfY29sb3IuYSA9PSAwLjAgfHxcbiAgICBvdXRPZlJhbmdlKGNsaXBCb3VuZHNbMF0sIGNsaXBCb3VuZHNbMV0sIGZfZGF0YSlcbiAgKSBkaXNjYXJkO1xuXG4gIHZlYzMgTiA9IG5vcm1hbGl6ZShmX25vcm1hbCk7XG4gIHZlYzMgTCA9IG5vcm1hbGl6ZShmX2xpZ2h0RGlyZWN0aW9uKTtcbiAgdmVjMyBWID0gbm9ybWFsaXplKGZfZXllRGlyZWN0aW9uKTtcblxuICBpZihnbF9Gcm9udEZhY2luZykge1xuICAgIE4gPSAtTjtcbiAgfVxuXG4gIGZsb2F0IHNwZWN1bGFyID0gbWluKDEuMCwgbWF4KDAuMCwgY29va1RvcnJhbmNlU3BlY3VsYXIoTCwgViwgTiwgcm91Z2huZXNzLCBmcmVzbmVsKSkpO1xuICAvL2Zsb2F0IHNwZWN1bGFyID0gbWF4KDAuMCwgYmVja21hbm4oTCwgViwgTiwgcm91Z2huZXNzKSk7IC8vIHVzZWQgaW4gZ2wtc3VyZmFjZTNkXG5cbiAgZmxvYXQgZGlmZnVzZSAgPSBtaW4oa2FtYmllbnQgKyBrZGlmZnVzZSAqIG1heChkb3QoTiwgTCksIDAuMCksIDEuMCk7XG5cbiAgdmVjNCBzdXJmYWNlQ29sb3IgPSB2ZWM0KGZfY29sb3IucmdiLCAxLjApICogdGV4dHVyZTJEKHRleHR1cmUsIGZfdXYpO1xuICB2ZWM0IGxpdENvbG9yID0gc3VyZmFjZUNvbG9yLmEgKiB2ZWM0KGRpZmZ1c2UgKiBzdXJmYWNlQ29sb3IucmdiICsga3NwZWN1bGFyICogdmVjMygxLDEsMSkgKiBzcGVjdWxhciwgIDEuMCk7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gbGl0Q29sb3IgKiBmX2NvbG9yLmE7XG59XG4iXSksbz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjNCBjb2xvcjtcbmF0dHJpYnV0ZSB2ZWMyIHV2O1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZhcnlpbmcgdmVjNCBmX2NvbG9yO1xudmFyeWluZyB2ZWMzIGZfZGF0YTtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52b2lkIG1haW4oKSB7XG4gIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gIGZfY29sb3IgPSBjb2xvcjtcbiAgZl9kYXRhICA9IHBvc2l0aW9uO1xuICBmX3V2ICAgID0gdXY7XG59Il0pLHM9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gc2FtcGxlcjJEIHRleHR1cmU7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG5cbnZhcnlpbmcgdmVjNCBmX2NvbG9yO1xudmFyeWluZyB2ZWMzIGZfZGF0YTtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52b2lkIG1haW4oKSB7XG4gIGlmIChvdXRPZlJhbmdlKGNsaXBCb3VuZHNbMF0sIGNsaXBCb3VuZHNbMV0sIGZfZGF0YSkpIGRpc2NhcmQ7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gZl9jb2xvciAqIHRleHR1cmUyRCh0ZXh0dXJlLCBmX3V2KSAqIG9wYWNpdHk7XG59Il0pLGw9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuYXR0cmlidXRlIHZlYzIgdXY7XG5hdHRyaWJ1dGUgZmxvYXQgcG9pbnRTaXplO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcblxudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBwb3NpdGlvbikpIHtcblxuICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLjAsIDAuMCAsMC4wICwwLjApO1xuICB9IGVsc2Uge1xuICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gIH1cbiAgZ2xfUG9pbnRTaXplID0gcG9pbnRTaXplO1xuICBmX2NvbG9yID0gY29sb3I7XG4gIGZfdXYgPSB1djtcbn0iXSksYz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcblxudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICB2ZWMyIHBvaW50UiA9IGdsX1BvaW50Q29vcmQueHkgLSB2ZWMyKDAuNSwgMC41KTtcbiAgaWYoZG90KHBvaW50UiwgcG9pbnRSKSA+IDAuMjUpIHtcbiAgICBkaXNjYXJkO1xuICB9XG4gIGdsX0ZyYWdDb2xvciA9IGZfY29sb3IgKiB0ZXh0dXJlMkQodGV4dHVyZSwgZl91dikgKiBvcGFjaXR5O1xufSJdKSx1PW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGlkO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZhcnlpbmcgdmVjMyBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfaWQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbiAgZl9pZCAgICAgICAgPSBpZDtcbiAgZl9wb3NpdGlvbiAgPSBwb3NpdGlvbjtcbn0iXSksaD1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyAgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gZmxvYXQgcGlja0lkO1xuXG52YXJ5aW5nIHZlYzMgZl9wb3NpdGlvbjtcbnZhcnlpbmcgdmVjNCBmX2lkO1xuXG52b2lkIG1haW4oKSB7XG4gIGlmIChvdXRPZlJhbmdlKGNsaXBCb3VuZHNbMF0sIGNsaXBCb3VuZHNbMV0sIGZfcG9zaXRpb24pKSBkaXNjYXJkO1xuXG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQocGlja0lkLCBmX2lkLnh5eik7XG59Il0pLGY9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyAgcG9zaXRpb247XG5hdHRyaWJ1dGUgZmxvYXQgcG9pbnRTaXplO1xuYXR0cmlidXRlIHZlYzQgIGlkO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcblxudmFyeWluZyB2ZWMzIGZfcG9zaXRpb247XG52YXJ5aW5nIHZlYzQgZl9pZDtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBwb3NpdGlvbikpIHtcblxuICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLjAsIDAuMCwgMC4wLCAwLjApO1xuICB9IGVsc2Uge1xuICAgIGdsX1Bvc2l0aW9uICA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xuICAgIGdsX1BvaW50U2l6ZSA9IHBvaW50U2l6ZTtcbiAgfVxuICBmX2lkICAgICAgICAgPSBpZDtcbiAgZl9wb3NpdGlvbiAgID0gcG9zaXRpb247XG59Il0pLHA9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZvaWQgbWFpbigpIHtcbiAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbn0iXSksZD1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWMzIGNvbnRvdXJDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbnRvdXJDb2xvciwgMS4wKTtcbn1cbiJdKTtyLm1lc2hTaGFkZXI9e3ZlcnRleDphLGZyYWdtZW50OmksYXR0cmlidXRlczpbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJ1diIsdHlwZToidmVjMiJ9XX0sci53aXJlU2hhZGVyPXt2ZXJ0ZXg6byxmcmFnbWVudDpzLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJ1diIsdHlwZToidmVjMiJ9XX0sci5wb2ludFNoYWRlcj17dmVydGV4OmwsZnJhZ21lbnQ6YyxhdHRyaWJ1dGVzOlt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzMifSx7bmFtZToiY29sb3IiLHR5cGU6InZlYzQifSx7bmFtZToidXYiLHR5cGU6InZlYzIifSx7bmFtZToicG9pbnRTaXplIix0eXBlOiJmbG9hdCJ9XX0sci5waWNrU2hhZGVyPXt2ZXJ0ZXg6dSxmcmFnbWVudDpoLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJpZCIsdHlwZToidmVjNCJ9XX0sci5wb2ludFBpY2tTaGFkZXI9e3ZlcnRleDpmLGZyYWdtZW50OmgsYXR0cmlidXRlczpbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6InBvaW50U2l6ZSIsdHlwZToiZmxvYXQifSx7bmFtZToiaWQiLHR5cGU6InZlYzQifV19LHIuY29udG91clNoYWRlcj17dmVydGV4OnAsZnJhZ21lbnQ6ZCxhdHRyaWJ1dGVzOlt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzMifV19fSx7Z2xzbGlmeTo0MTF9XSwyODM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbC1idWZmZXIiKSxpPXQoImdsLXZhbyIpLG89dCgiZ2wtdGV4dHVyZTJkIikscz10KCJub3JtYWxzIiksbD10KCJnbC1tYXQ0L211bHRpcGx5IiksYz10KCJnbC1tYXQ0L2ludmVydCIpLHU9dCgibmRhcnJheSIpLGg9dCgiY29sb3JtYXAiKSxmPXQoInNpbXBsaWNpYWwtY29tcGxleC1jb250b3VyIikscD10KCJ0eXBlZGFycmF5LXBvb2wiKSxkPXQoIi4vbGliL3NoYWRlcnMiKSxnPXQoIi4vbGliL2Nsb3Nlc3QtcG9pbnQiKSx2PWQubWVzaFNoYWRlcixtPWQud2lyZVNoYWRlcix5PWQucG9pbnRTaGFkZXIseD1kLnBpY2tTaGFkZXIsYj1kLnBvaW50UGlja1NoYWRlcixfPWQuY29udG91clNoYWRlcix3PVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXTtmdW5jdGlvbiBrKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdixtLHkseCxiLF8sayxULE0sQSxTKXt0aGlzLmdsPXQsdGhpcy5waXhlbFJhdGlvPTEsdGhpcy5jZWxscz1bXSx0aGlzLnBvc2l0aW9ucz1bXSx0aGlzLmludGVuc2l0eT1bXSx0aGlzLnRleHR1cmU9ZSx0aGlzLmRpcnR5PSEwLHRoaXMudHJpU2hhZGVyPXIsdGhpcy5saW5lU2hhZGVyPW4sdGhpcy5wb2ludFNoYWRlcj1hLHRoaXMucGlja1NoYWRlcj1pLHRoaXMucG9pbnRQaWNrU2hhZGVyPW8sdGhpcy5jb250b3VyU2hhZGVyPXMsdGhpcy50cmlhbmdsZVBvc2l0aW9ucz1sLHRoaXMudHJpYW5nbGVDb2xvcnM9dSx0aGlzLnRyaWFuZ2xlTm9ybWFscz1mLHRoaXMudHJpYW5nbGVVVnM9aCx0aGlzLnRyaWFuZ2xlSWRzPWMsdGhpcy50cmlhbmdsZVZBTz1wLHRoaXMudHJpYW5nbGVDb3VudD0wLHRoaXMubGluZVdpZHRoPTEsdGhpcy5lZGdlUG9zaXRpb25zPWQsdGhpcy5lZGdlQ29sb3JzPXYsdGhpcy5lZGdlVVZzPW0sdGhpcy5lZGdlSWRzPWcsdGhpcy5lZGdlVkFPPXksdGhpcy5lZGdlQ291bnQ9MCx0aGlzLnBvaW50UG9zaXRpb25zPXgsdGhpcy5wb2ludENvbG9ycz1fLHRoaXMucG9pbnRVVnM9ayx0aGlzLnBvaW50U2l6ZXM9VCx0aGlzLnBvaW50SWRzPWIsdGhpcy5wb2ludFZBTz1NLHRoaXMucG9pbnRDb3VudD0wLHRoaXMuY29udG91ckxpbmVXaWR0aD0xLHRoaXMuY29udG91clBvc2l0aW9ucz1BLHRoaXMuY29udG91clZBTz1TLHRoaXMuY29udG91ckNvdW50PTAsdGhpcy5jb250b3VyQ29sb3I9WzAsMCwwXSx0aGlzLmNvbnRvdXJFbmFibGU9ITAsdGhpcy5waWNrVmVydGV4PSEwLHRoaXMucGlja0lkPTEsdGhpcy5ib3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sdGhpcy5jbGlwQm91bmRzPVtbLTEvMCwtMS8wLC0xLzBdLFsxLzAsMS8wLDEvMF1dLHRoaXMubGlnaHRQb3NpdGlvbj1bMWU1LDFlNSwwXSx0aGlzLmFtYmllbnRMaWdodD0uOCx0aGlzLmRpZmZ1c2VMaWdodD0uOCx0aGlzLnNwZWN1bGFyTGlnaHQ9Mix0aGlzLnJvdWdobmVzcz0uNSx0aGlzLmZyZXNuZWw9MS41LHRoaXMub3BhY2l0eT0xLHRoaXMuaGFzQWxwaGE9ITEsdGhpcy5vcGFjaXR5c2NhbGU9ITEsdGhpcy5fbW9kZWw9dyx0aGlzLl92aWV3PXcsdGhpcy5fcHJvamVjdGlvbj13LHRoaXMuX3Jlc29sdXRpb249WzEsMV19dmFyIFQ9ay5wcm90b3R5cGU7ZnVuY3Rpb24gTSh0LGUpe2lmKCFlKXJldHVybiAxO2lmKCFlLmxlbmd0aClyZXR1cm4gMTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcil7aWYoZS5sZW5ndGg8MilyZXR1cm4gMTtpZihlW3JdWzBdPT09dClyZXR1cm4gZVtyXVsxXTtpZihlW3JdWzBdPnQmJnI+MCl7dmFyIG49KGVbcl1bMF0tdCkvKGVbcl1bMF0tZVtyLTFdWzBdKTtyZXR1cm4gZVtyXVsxXSooMS1uKStuKmVbci0xXVsxXX19cmV0dXJuIDF9ZnVuY3Rpb24gQSh0KXt2YXIgZT1uKHQseS52ZXJ0ZXgseS5mcmFnbWVudCk7cmV0dXJuIGUuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5jb2xvci5sb2NhdGlvbj0yLGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0zLGUuYXR0cmlidXRlcy5wb2ludFNpemUubG9jYXRpb249NCxlfWZ1bmN0aW9uIFModCl7dmFyIGU9bih0LHgudmVydGV4LHguZnJhZ21lbnQpO3JldHVybiBlLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxlLmF0dHJpYnV0ZXMuaWQubG9jYXRpb249MSxlfWZ1bmN0aW9uIEUodCl7dmFyIGU9bih0LGIudmVydGV4LGIuZnJhZ21lbnQpO3JldHVybiBlLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxlLmF0dHJpYnV0ZXMuaWQubG9jYXRpb249MSxlLmF0dHJpYnV0ZXMucG9pbnRTaXplLmxvY2F0aW9uPTQsZX1mdW5jdGlvbiBMKHQpe3ZhciBlPW4odCxfLnZlcnRleCxfLmZyYWdtZW50KTtyZXR1cm4gZS5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsZX1ULmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzQWxwaGF9LFQuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc0FscGhhfSxULnBpY2tTbG90cz0xLFQuc2V0UGlja0Jhc2U9ZnVuY3Rpb24odCl7dGhpcy5waWNrSWQ9dH0sVC5oaWdobGlnaHQ9ZnVuY3Rpb24odCl7aWYodCYmdGhpcy5jb250b3VyRW5hYmxlKXtmb3IodmFyIGU9Zih0aGlzLmNlbGxzLHRoaXMuaW50ZW5zaXR5LHQuaW50ZW5zaXR5KSxyPWUuY2VsbHMsbj1lLnZlcnRleElkcyxhPWUudmVydGV4V2VpZ2h0cyxpPXIubGVuZ3RoLG89cC5tYWxsb2NGbG9hdDMyKDYqaSkscz0wLGw9MDtsPGk7KytsKWZvcih2YXIgYz1yW2xdLHU9MDt1PDI7Kyt1KXt2YXIgaD1jWzBdOzI9PT1jLmxlbmd0aCYmKGg9Y1t1XSk7Zm9yKHZhciBkPW5baF1bMF0sZz1uW2hdWzFdLHY9YVtoXSxtPTEtdix5PXRoaXMucG9zaXRpb25zW2RdLHg9dGhpcy5wb3NpdGlvbnNbZ10sYj0wO2I8MzsrK2Ipb1tzKytdPXYqeVtiXSttKnhbYl19dGhpcy5jb250b3VyQ291bnQ9cy8zfDAsdGhpcy5jb250b3VyUG9zaXRpb25zLnVwZGF0ZShvLnN1YmFycmF5KDAscykpLHAuZnJlZShvKX1lbHNlIHRoaXMuY29udG91ckNvdW50PTB9LFQudXBkYXRlPWZ1bmN0aW9uKHQpe3Q9dHx8e307dmFyIGU9dGhpcy5nbDt0aGlzLmRpcnR5PSEwLCJjb250b3VyRW5hYmxlImluIHQmJih0aGlzLmNvbnRvdXJFbmFibGU9dC5jb250b3VyRW5hYmxlKSwiY29udG91ckNvbG9yImluIHQmJih0aGlzLmNvbnRvdXJDb2xvcj10LmNvbnRvdXJDb2xvciksImxpbmVXaWR0aCJpbiB0JiYodGhpcy5saW5lV2lkdGg9dC5saW5lV2lkdGgpLCJsaWdodFBvc2l0aW9uImluIHQmJih0aGlzLmxpZ2h0UG9zaXRpb249dC5saWdodFBvc2l0aW9uKSx0aGlzLmhhc0FscGhhPSExLCJvcGFjaXR5ImluIHQmJih0aGlzLm9wYWNpdHk9dC5vcGFjaXR5LHRoaXMub3BhY2l0eTwxJiYodGhpcy5oYXNBbHBoYT0hMCkpLCJvcGFjaXR5c2NhbGUiaW4gdCYmKHRoaXMub3BhY2l0eXNjYWxlPXQub3BhY2l0eXNjYWxlLHRoaXMuaGFzQWxwaGE9ITApLCJhbWJpZW50ImluIHQmJih0aGlzLmFtYmllbnRMaWdodD10LmFtYmllbnQpLCJkaWZmdXNlImluIHQmJih0aGlzLmRpZmZ1c2VMaWdodD10LmRpZmZ1c2UpLCJzcGVjdWxhciJpbiB0JiYodGhpcy5zcGVjdWxhckxpZ2h0PXQuc3BlY3VsYXIpLCJyb3VnaG5lc3MiaW4gdCYmKHRoaXMucm91Z2huZXNzPXQucm91Z2huZXNzKSwiZnJlc25lbCJpbiB0JiYodGhpcy5mcmVzbmVsPXQuZnJlc25lbCksdC50ZXh0dXJlPyh0aGlzLnRleHR1cmUuZGlzcG9zZSgpLHRoaXMudGV4dHVyZT1vKGUsdC50ZXh0dXJlKSk6dC5jb2xvcm1hcCYmKHRoaXMudGV4dHVyZS5zaGFwZT1bMjU2LDI1Nl0sdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj1lLkxJTkVBUl9NSVBNQVBfTElORUFSLHRoaXMudGV4dHVyZS5tYWdGaWx0ZXI9ZS5MSU5FQVIsdGhpcy50ZXh0dXJlLnNldFBpeGVscyhmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1oKHtjb2xvcm1hcDp0LG5zaGFkZXM6MjU2LGZvcm1hdDoicmdiYSJ9KSxuPW5ldyBVaW50OEFycmF5KDEwMjQpLGE9MDthPDI1NjsrK2Epe2Zvcih2YXIgaT1yW2FdLG89MDtvPDM7KytvKW5bNCphK29dPWlbb107bls0KmErM109ZT8yNTUqTShhLzI1NSxlKToyNTUqaVszXX1yZXR1cm4gdShuLFsyNTYsMjU2LDRdLFs0LDAsMV0pfSh0LmNvbG9ybWFwLHRoaXMub3BhY2l0eXNjYWxlKSksdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwKCkpO3ZhciByPXQuY2VsbHMsbj10LnBvc2l0aW9ucztpZihuJiZyKXt2YXIgYT1bXSxpPVtdLGw9W10sYz1bXSxmPVtdLHA9W10sZD1bXSxnPVtdLHY9W10sbT1bXSx5PVtdLHg9W10sYj1bXSxfPVtdO3RoaXMuY2VsbHM9cix0aGlzLnBvc2l0aW9ucz1uO3ZhciB3PXQudmVydGV4Tm9ybWFscyxrPXQuY2VsbE5vcm1hbHMsVD12b2lkIDA9PT10LnZlcnRleE5vcm1hbHNFcHNpbG9uPzFlLTY6dC52ZXJ0ZXhOb3JtYWxzRXBzaWxvbixBPXZvaWQgMD09PXQuZmFjZU5vcm1hbHNFcHNpbG9uPzFlLTY6dC5mYWNlTm9ybWFsc0Vwc2lsb247dC51c2VGYWNldE5vcm1hbHMmJiFrJiYoaz1zLmZhY2VOb3JtYWxzKHIsbixBKSksa3x8d3x8KHc9cy52ZXJ0ZXhOb3JtYWxzKHIsbixUKSk7dmFyIFM9dC52ZXJ0ZXhDb2xvcnMsRT10LmNlbGxDb2xvcnMsTD10Lm1lc2hDb2xvcnx8WzEsMSwxLDFdLEM9dC52ZXJ0ZXhVVnMsUD10LnZlcnRleEludGVuc2l0eSxPPXQuY2VsbFVWcyx6PXQuY2VsbEludGVuc2l0eSxJPTEvMCxEPS0xLzA7aWYoIUMmJiFPKWlmKFApaWYodC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHMpST0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMF0sRD0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMV07ZWxzZSBmb3IodmFyIFI9MDtSPFAubGVuZ3RoOysrUil7dmFyIEY9UFtSXTtJPU1hdGgubWluKEksRiksRD1NYXRoLm1heChELEYpfWVsc2UgaWYoeilpZih0LmNlbGxJbnRlbnNpdHlCb3VuZHMpST0rdC5jZWxsSW50ZW5zaXR5Qm91bmRzWzBdLEQ9K3QuY2VsbEludGVuc2l0eUJvdW5kc1sxXTtlbHNlIGZvcihSPTA7Ujx6Lmxlbmd0aDsrK1Ipe0Y9eltSXTtJPU1hdGgubWluKEksRiksRD1NYXRoLm1heChELEYpfWVsc2UgZm9yKFI9MDtSPG4ubGVuZ3RoOysrUil7Rj1uW1JdWzJdO0k9TWF0aC5taW4oSSxGKSxEPU1hdGgubWF4KEQsRil9dGhpcy5pbnRlbnNpdHk9UHx8KHp8fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilyW25dPXRbbl1bMl07cmV0dXJuIHJ9KG4pKSx0aGlzLnBpY2tWZXJ0ZXg9ISh6fHxFKTt2YXIgQj10LnBvaW50U2l6ZXMsTj10LnBvaW50U2l6ZXx8MTt0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXTtmb3IoUj0wO1I8bi5sZW5ndGg7KytSKWZvcih2YXIgaj1uW1JdLFY9MDtWPDM7KytWKSFpc05hTihqW1ZdKSYmaXNGaW5pdGUoaltWXSkmJih0aGlzLmJvdW5kc1swXVtWXT1NYXRoLm1pbih0aGlzLmJvdW5kc1swXVtWXSxqW1ZdKSx0aGlzLmJvdW5kc1sxXVtWXT1NYXRoLm1heCh0aGlzLmJvdW5kc1sxXVtWXSxqW1ZdKSk7dmFyIFU9MCxxPTAsSD0wO3Q6Zm9yKFI9MDtSPHIubGVuZ3RoOysrUil7dmFyIEc9cltSXTtzd2l0Y2goRy5sZW5ndGgpe2Nhc2UgMTpmb3Ioaj1uW1c9R1swXV0sVj0wO1Y8MzsrK1YpaWYoaXNOYU4oaltWXSl8fCFpc0Zpbml0ZShqW1ZdKSljb250aW51ZSB0O20ucHVzaChqWzBdLGpbMV0salsyXSksWD1TP1NbV106RT9FW1JdOkwsdGhpcy5vcGFjaXR5c2NhbGUmJlA/aS5wdXNoKFhbMF0sWFsxXSxYWzJdLHRoaXMub3BhY2l0eSpNKChQW1ddLUkpLyhELUkpLHRoaXMub3BhY2l0eXNjYWxlKSk6Mz09PVgubGVuZ3RoP3kucHVzaChYWzBdLFhbMV0sWFsyXSx0aGlzLm9wYWNpdHkpOih5LnB1c2goWFswXSxYWzFdLFhbMl0sWFszXSp0aGlzLm9wYWNpdHkpLFhbM108MSYmKHRoaXMuaGFzQWxwaGE9ITApKSxaPUM/Q1tXXTpQP1soUFtXXS1JKS8oRC1JKSwwXTpPP09bUl06ej9bKHpbUl0tSSkvKEQtSSksMF06WyhqWzJdLUkpLyhELUkpLDBdLHgucHVzaChaWzBdLFpbMV0pLEI/Yi5wdXNoKEJbV10pOmIucHVzaChOKSxfLnB1c2goUiksSCs9MTticmVhaztjYXNlIDI6Zm9yKFY9MDtWPDI7KytWKXtqPW5bVz1HW1ZdXTtmb3IodmFyIFk9MDtZPDM7KytZKWlmKGlzTmFOKGpbWV0pfHwhaXNGaW5pdGUoaltZXSkpY29udGludWUgdH1mb3IoVj0wO1Y8MjsrK1Ype2o9bltXPUdbVl1dO3AucHVzaChqWzBdLGpbMV0salsyXSksWD1TP1NbV106RT9FW1JdOkwsdGhpcy5vcGFjaXR5c2NhbGUmJlA/aS5wdXNoKFhbMF0sWFsxXSxYWzJdLHRoaXMub3BhY2l0eSpNKChQW1ddLUkpLyhELUkpLHRoaXMub3BhY2l0eXNjYWxlKSk6Mz09PVgubGVuZ3RoP2QucHVzaChYWzBdLFhbMV0sWFsyXSx0aGlzLm9wYWNpdHkpOihkLnB1c2goWFswXSxYWzFdLFhbMl0sWFszXSp0aGlzLm9wYWNpdHkpLFhbM108MSYmKHRoaXMuaGFzQWxwaGE9ITApKSxaPUM/Q1tXXTpQP1soUFtXXS1JKS8oRC1JKSwwXTpPP09bUl06ej9bKHpbUl0tSSkvKEQtSSksMF06WyhqWzJdLUkpLyhELUkpLDBdLGcucHVzaChaWzBdLFpbMV0pLHYucHVzaChSKX1xKz0xO2JyZWFrO2Nhc2UgMzpmb3IoVj0wO1Y8MzsrK1YpZm9yKGo9bltXPUdbVl1dLFk9MDtZPDM7KytZKWlmKGlzTmFOKGpbWV0pfHwhaXNGaW5pdGUoaltZXSkpY29udGludWUgdDtmb3IoVj0wO1Y8MzsrK1Ype3ZhciBXLFgsWixKO2o9bltXPUdbMi1WXV07YS5wdXNoKGpbMF0salsxXSxqWzJdKSwoWD1TP1NbV106RT9FW1JdOkwpP3RoaXMub3BhY2l0eXNjYWxlJiZQP2kucHVzaChYWzBdLFhbMV0sWFsyXSx0aGlzLm9wYWNpdHkqTSgoUFtXXS1JKS8oRC1JKSx0aGlzLm9wYWNpdHlzY2FsZSkpOjM9PT1YLmxlbmd0aD9pLnB1c2goWFswXSxYWzFdLFhbMl0sdGhpcy5vcGFjaXR5KTooaS5wdXNoKFhbMF0sWFsxXSxYWzJdLFhbM10qdGhpcy5vcGFjaXR5KSxYWzNdPDEmJih0aGlzLmhhc0FscGhhPSEwKSk6aS5wdXNoKC41LC41LC41LDEpLFo9Qz9DW1ddOlA/WyhQW1ddLUkpLyhELUkpLDBdOk8/T1tSXTp6P1soeltSXS1JKS8oRC1JKSwwXTpbKGpbMl0tSSkvKEQtSSksMF0sYy5wdXNoKFpbMF0sWlsxXSksSj13P3dbV106a1tSXSxsLnB1c2goSlswXSxKWzFdLEpbMl0pLGYucHVzaChSKX1VKz0xfX10aGlzLnBvaW50Q291bnQ9SCx0aGlzLmVkZ2VDb3VudD1xLHRoaXMudHJpYW5nbGVDb3VudD1VLHRoaXMucG9pbnRQb3NpdGlvbnMudXBkYXRlKG0pLHRoaXMucG9pbnRDb2xvcnMudXBkYXRlKHkpLHRoaXMucG9pbnRVVnMudXBkYXRlKHgpLHRoaXMucG9pbnRTaXplcy51cGRhdGUoYiksdGhpcy5wb2ludElkcy51cGRhdGUobmV3IFVpbnQzMkFycmF5KF8pKSx0aGlzLmVkZ2VQb3NpdGlvbnMudXBkYXRlKHApLHRoaXMuZWRnZUNvbG9ycy51cGRhdGUoZCksdGhpcy5lZGdlVVZzLnVwZGF0ZShnKSx0aGlzLmVkZ2VJZHMudXBkYXRlKG5ldyBVaW50MzJBcnJheSh2KSksdGhpcy50cmlhbmdsZVBvc2l0aW9ucy51cGRhdGUoYSksdGhpcy50cmlhbmdsZUNvbG9ycy51cGRhdGUoaSksdGhpcy50cmlhbmdsZVVWcy51cGRhdGUoYyksdGhpcy50cmlhbmdsZU5vcm1hbHMudXBkYXRlKGwpLHRoaXMudHJpYW5nbGVJZHMudXBkYXRlKG5ldyBVaW50MzJBcnJheShmKSl9fSxULmRyYXdUcmFuc3BhcmVudD1ULmRyYXc9ZnVuY3Rpb24odCl7dD10fHx7fTtmb3IodmFyIGU9dGhpcy5nbCxyPXQubW9kZWx8fHcsbj10LnZpZXd8fHcsYT10LnByb2plY3Rpb258fHcsaT1bWy0xZTYsLTFlNiwtMWU2XSxbMWU2LDFlNiwxZTZdXSxvPTA7bzwzOysrbylpWzBdW29dPU1hdGgubWF4KGlbMF1bb10sdGhpcy5jbGlwQm91bmRzWzBdW29dKSxpWzFdW29dPU1hdGgubWluKGlbMV1bb10sdGhpcy5jbGlwQm91bmRzWzFdW29dKTt2YXIgcz17bW9kZWw6cix2aWV3Om4scHJvamVjdGlvbjphLGludmVyc2VNb2RlbDp3LnNsaWNlKCksY2xpcEJvdW5kczppLGthbWJpZW50OnRoaXMuYW1iaWVudExpZ2h0LGtkaWZmdXNlOnRoaXMuZGlmZnVzZUxpZ2h0LGtzcGVjdWxhcjp0aGlzLnNwZWN1bGFyTGlnaHQscm91Z2huZXNzOnRoaXMucm91Z2huZXNzLGZyZXNuZWw6dGhpcy5mcmVzbmVsLGV5ZVBvc2l0aW9uOlswLDAsMF0sbGlnaHRQb3NpdGlvbjpbMCwwLDBdLGNvbnRvdXJDb2xvcjp0aGlzLmNvbnRvdXJDb2xvcix0ZXh0dXJlOjB9O3MuaW52ZXJzZU1vZGVsPWMocy5pbnZlcnNlTW9kZWwscy5tb2RlbCksZS5kaXNhYmxlKGUuQ1VMTF9GQUNFKSx0aGlzLnRleHR1cmUuYmluZCgwKTt2YXIgdT1uZXcgQXJyYXkoMTYpO2wodSxzLnZpZXcscy5tb2RlbCksbCh1LHMucHJvamVjdGlvbix1KSxjKHUsdSk7Zm9yKG89MDtvPDM7KytvKXMuZXllUG9zaXRpb25bb109dVsxMitvXS91WzE1XTt2YXIgaCxmPXVbMTVdO2ZvcihvPTA7bzwzOysrbylmKz10aGlzLmxpZ2h0UG9zaXRpb25bb10qdVs0Km8rM107Zm9yKG89MDtvPDM7KytvKXtmb3IodmFyIHA9dVsxMitvXSxkPTA7ZDwzOysrZClwKz11WzQqZCtvXSp0aGlzLmxpZ2h0UG9zaXRpb25bZF07cy5saWdodFBvc2l0aW9uW29dPXAvZn10aGlzLnRyaWFuZ2xlQ291bnQ+MCYmKChoPXRoaXMudHJpU2hhZGVyKS5iaW5kKCksaC51bmlmb3Jtcz1zLHRoaXMudHJpYW5nbGVWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLlRSSUFOR0xFUywwLDMqdGhpcy50cmlhbmdsZUNvdW50KSx0aGlzLnRyaWFuZ2xlVkFPLnVuYmluZCgpKTt0aGlzLmVkZ2VDb3VudD4wJiZ0aGlzLmxpbmVXaWR0aD4wJiYoKGg9dGhpcy5saW5lU2hhZGVyKS5iaW5kKCksaC51bmlmb3Jtcz1zLHRoaXMuZWRnZVZBTy5iaW5kKCksZS5saW5lV2lkdGgodGhpcy5saW5lV2lkdGgqdGhpcy5waXhlbFJhdGlvKSxlLmRyYXdBcnJheXMoZS5MSU5FUywwLDIqdGhpcy5lZGdlQ291bnQpLHRoaXMuZWRnZVZBTy51bmJpbmQoKSk7dGhpcy5wb2ludENvdW50PjAmJigoaD10aGlzLnBvaW50U2hhZGVyKS5iaW5kKCksaC51bmlmb3Jtcz1zLHRoaXMucG9pbnRWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLlBPSU5UUywwLHRoaXMucG9pbnRDb3VudCksdGhpcy5wb2ludFZBTy51bmJpbmQoKSk7dGhpcy5jb250b3VyRW5hYmxlJiZ0aGlzLmNvbnRvdXJDb3VudD4wJiZ0aGlzLmNvbnRvdXJMaW5lV2lkdGg+MCYmKChoPXRoaXMuY29udG91clNoYWRlcikuYmluZCgpLGgudW5pZm9ybXM9cyx0aGlzLmNvbnRvdXJWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLkxJTkVTLDAsdGhpcy5jb250b3VyQ291bnQpLHRoaXMuY29udG91clZBTy51bmJpbmQoKSl9LFQuZHJhd1BpY2s9ZnVuY3Rpb24odCl7dD10fHx7fTtmb3IodmFyIGU9dGhpcy5nbCxyPXQubW9kZWx8fHcsbj10LnZpZXd8fHcsYT10LnByb2plY3Rpb258fHcsaT1bWy0xZTYsLTFlNiwtMWU2XSxbMWU2LDFlNiwxZTZdXSxvPTA7bzwzOysrbylpWzBdW29dPU1hdGgubWF4KGlbMF1bb10sdGhpcy5jbGlwQm91bmRzWzBdW29dKSxpWzFdW29dPU1hdGgubWluKGlbMV1bb10sdGhpcy5jbGlwQm91bmRzWzFdW29dKTt0aGlzLl9tb2RlbD1bXS5zbGljZS5jYWxsKHIpLHRoaXMuX3ZpZXc9W10uc2xpY2UuY2FsbChuKSx0aGlzLl9wcm9qZWN0aW9uPVtdLnNsaWNlLmNhbGwoYSksdGhpcy5fcmVzb2x1dGlvbj1bZS5kcmF3aW5nQnVmZmVyV2lkdGgsZS5kcmF3aW5nQnVmZmVySGVpZ2h0XTt2YXIgcyxsPXttb2RlbDpyLHZpZXc6bixwcm9qZWN0aW9uOmEsY2xpcEJvdW5kczppLHBpY2tJZDp0aGlzLnBpY2tJZC8yNTV9Oygocz10aGlzLnBpY2tTaGFkZXIpLmJpbmQoKSxzLnVuaWZvcm1zPWwsdGhpcy50cmlhbmdsZUNvdW50PjAmJih0aGlzLnRyaWFuZ2xlVkFPLmJpbmQoKSxlLmRyYXdBcnJheXMoZS5UUklBTkdMRVMsMCwzKnRoaXMudHJpYW5nbGVDb3VudCksdGhpcy50cmlhbmdsZVZBTy51bmJpbmQoKSksdGhpcy5lZGdlQ291bnQ+MCYmKHRoaXMuZWRnZVZBTy5iaW5kKCksZS5saW5lV2lkdGgodGhpcy5saW5lV2lkdGgqdGhpcy5waXhlbFJhdGlvKSxlLmRyYXdBcnJheXMoZS5MSU5FUywwLDIqdGhpcy5lZGdlQ291bnQpLHRoaXMuZWRnZVZBTy51bmJpbmQoKSksdGhpcy5wb2ludENvdW50PjApJiYoKHM9dGhpcy5wb2ludFBpY2tTaGFkZXIpLmJpbmQoKSxzLnVuaWZvcm1zPWwsdGhpcy5wb2ludFZBTy5iaW5kKCksZS5kcmF3QXJyYXlzKGUuUE9JTlRTLDAsdGhpcy5wb2ludENvdW50KSx0aGlzLnBvaW50VkFPLnVuYmluZCgpKX0sVC5waWNrPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQuaWQhPT10aGlzLnBpY2tJZClyZXR1cm4gbnVsbDtmb3IodmFyIGU9dC52YWx1ZVswXSsyNTYqdC52YWx1ZVsxXSs2NTUzNip0LnZhbHVlWzJdLHI9dGhpcy5jZWxsc1tlXSxuPXRoaXMucG9zaXRpb25zLGE9bmV3IEFycmF5KHIubGVuZ3RoKSxpPTA7aTxyLmxlbmd0aDsrK2kpYVtpXT1uW3JbaV1dO3ZhciBvPXQuY29vcmRbMF0scz10LmNvb3JkWzFdO2lmKCF0aGlzLnBpY2tWZXJ0ZXgpe3ZhciBsPXRoaXMucG9zaXRpb25zW3JbMF1dLGM9dGhpcy5wb3NpdGlvbnNbclsxXV0sdT10aGlzLnBvc2l0aW9uc1tyWzJdXSxoPVsobFswXStjWzBdK3VbMF0pLzMsKGxbMV0rY1sxXSt1WzFdKS8zLChsWzJdK2NbMl0rdVsyXSkvM107cmV0dXJue19jZWxsQ2VudGVyOiEwLHBvc2l0aW9uOltvLHNdLGluZGV4OmUsY2VsbDpyLGNlbGxJZDplLGludGVuc2l0eTp0aGlzLmludGVuc2l0eVtlXSxkYXRhQ29vcmRpbmF0ZTpofX12YXIgZj1nKGEsW28qdGhpcy5waXhlbFJhdGlvLHRoaXMuX3Jlc29sdXRpb25bMV0tcyp0aGlzLnBpeGVsUmF0aW9dLHRoaXMuX21vZGVsLHRoaXMuX3ZpZXcsdGhpcy5fcHJvamVjdGlvbix0aGlzLl9yZXNvbHV0aW9uKTtpZighZilyZXR1cm4gbnVsbDt2YXIgcD1mWzJdLGQ9MDtmb3IoaT0wO2k8ci5sZW5ndGg7KytpKWQrPXBbaV0qdGhpcy5pbnRlbnNpdHlbcltpXV07cmV0dXJue3Bvc2l0aW9uOmZbMV0saW5kZXg6cltmWzBdXSxjZWxsOnIsY2VsbElkOmUsaW50ZW5zaXR5OmQsZGF0YUNvb3JkaW5hdGU6dGhpcy5wb3NpdGlvbnNbcltmWzBdXV19fSxULmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnRleHR1cmUuZGlzcG9zZSgpLHRoaXMudHJpU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLmxpbmVTaGFkZXIuZGlzcG9zZSgpLHRoaXMucG9pbnRTaGFkZXIuZGlzcG9zZSgpLHRoaXMucGlja1NoYWRlci5kaXNwb3NlKCksdGhpcy5wb2ludFBpY2tTaGFkZXIuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVWQU8uZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVQb3NpdGlvbnMuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVDb2xvcnMuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVVVnMuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVOb3JtYWxzLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlSWRzLmRpc3Bvc2UoKSx0aGlzLmVkZ2VWQU8uZGlzcG9zZSgpLHRoaXMuZWRnZVBvc2l0aW9ucy5kaXNwb3NlKCksdGhpcy5lZGdlQ29sb3JzLmRpc3Bvc2UoKSx0aGlzLmVkZ2VVVnMuZGlzcG9zZSgpLHRoaXMuZWRnZUlkcy5kaXNwb3NlKCksdGhpcy5wb2ludFZBTy5kaXNwb3NlKCksdGhpcy5wb2ludFBvc2l0aW9ucy5kaXNwb3NlKCksdGhpcy5wb2ludENvbG9ycy5kaXNwb3NlKCksdGhpcy5wb2ludFVWcy5kaXNwb3NlKCksdGhpcy5wb2ludFNpemVzLmRpc3Bvc2UoKSx0aGlzLnBvaW50SWRzLmRpc3Bvc2UoKSx0aGlzLmNvbnRvdXJWQU8uZGlzcG9zZSgpLHRoaXMuY29udG91clBvc2l0aW9ucy5kaXNwb3NlKCksdGhpcy5jb250b3VyU2hhZGVyLmRpc3Bvc2UoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgmJih0PShlPXQpLmdsKSwhKHQuZ2V0RXh0ZW5zaW9uKCJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKXx8dC5nZXRFeHRlbnNpb24oIldFQktJVF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKSkpdGhyb3cgbmV3IEVycm9yKCJkZXJpdmF0aXZlcyBub3Qgc3VwcG9ydGVkIik7dmFyIHI9ZnVuY3Rpb24odCl7dmFyIGU9bih0LHYudmVydGV4LHYuZnJhZ21lbnQpO3JldHVybiBlLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxlLmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249MixlLmF0dHJpYnV0ZXMudXYubG9jYXRpb249MyxlLmF0dHJpYnV0ZXMubm9ybWFsLmxvY2F0aW9uPTQsZX0odCkscz1mdW5jdGlvbih0KXt2YXIgZT1uKHQsbS52ZXJ0ZXgsbS5mcmFnbWVudCk7cmV0dXJuIGUuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5jb2xvci5sb2NhdGlvbj0yLGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0zLGV9KHQpLGw9QSh0KSxjPVModCksaD1FKHQpLGY9TCh0KSxwPW8odCx1KG5ldyBVaW50OEFycmF5KFsyNTUsMjU1LDI1NSwyNTVdKSxbMSwxLDRdKSk7cC5nZW5lcmF0ZU1pcG1hcCgpLHAubWluRmlsdGVyPXQuTElORUFSX01JUE1BUF9MSU5FQVIscC5tYWdGaWx0ZXI9dC5MSU5FQVI7dmFyIGQ9YSh0KSxnPWEodCkseT1hKHQpLHg9YSh0KSxiPWEodCksXz1pKHQsW3tidWZmZXI6ZCx0eXBlOnQuRkxPQVQsc2l6ZTozfSx7YnVmZmVyOmIsdHlwZTp0LlVOU0lHTkVEX0JZVEUsc2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9LHtidWZmZXI6Zyx0eXBlOnQuRkxPQVQsc2l6ZTo0fSx7YnVmZmVyOnksdHlwZTp0LkZMT0FULHNpemU6Mn0se2J1ZmZlcjp4LHR5cGU6dC5GTE9BVCxzaXplOjN9XSksdz1hKHQpLFQ9YSh0KSxNPWEodCksQz1hKHQpLFA9aSh0LFt7YnVmZmVyOncsdHlwZTp0LkZMT0FULHNpemU6M30se2J1ZmZlcjpDLHR5cGU6dC5VTlNJR05FRF9CWVRFLHNpemU6NCxub3JtYWxpemVkOiEwfSx7YnVmZmVyOlQsdHlwZTp0LkZMT0FULHNpemU6NH0se2J1ZmZlcjpNLHR5cGU6dC5GTE9BVCxzaXplOjJ9XSksTz1hKHQpLHo9YSh0KSxJPWEodCksRD1hKHQpLFI9YSh0KSxGPWkodCxbe2J1ZmZlcjpPLHR5cGU6dC5GTE9BVCxzaXplOjN9LHtidWZmZXI6Uix0eXBlOnQuVU5TSUdORURfQllURSxzaXplOjQsbm9ybWFsaXplZDohMH0se2J1ZmZlcjp6LHR5cGU6dC5GTE9BVCxzaXplOjR9LHtidWZmZXI6SSx0eXBlOnQuRkxPQVQsc2l6ZToyfSx7YnVmZmVyOkQsdHlwZTp0LkZMT0FULHNpemU6MX1dKSxCPWEodCksTj1uZXcgayh0LHAscixzLGwsYyxoLGYsZCxiLGcseSx4LF8sdyxDLFQsTSxQLE8sUix6LEksRCxGLEIsaSh0LFt7YnVmZmVyOkIsdHlwZTp0LkZMT0FULHNpemU6M31dKSk7cmV0dXJuIE4udXBkYXRlKGUpLE59fSx7Ii4vbGliL2Nsb3Nlc3QtcG9pbnQiOjI4MSwiLi9saWIvc2hhZGVycyI6MjgyLGNvbG9ybWFwOjEyOCwiZ2wtYnVmZmVyIjoyNDQsImdsLW1hdDQvaW52ZXJ0IjoyNjgsImdsLW1hdDQvbXVsdGlwbHkiOjI3MCwiZ2wtc2hhZGVyIjozMDQsImdsLXRleHR1cmUyZCI6MzI0LCJnbC12YW8iOjMyOSxuZGFycmF5OjQ1Mixub3JtYWxzOjQ1NSwic2ltcGxpY2lhbC1jb21wbGV4LWNvbnRvdXIiOjUxNywidHlwZWRhcnJheS1wb29sIjo1NDR9XSwyODQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2wscj1uKGUsWzAsMCwwLDEsMSwwLDEsMV0pLHM9YShlLGkuYm94VmVydCxpLmxpbmVGcmFnKTtyZXR1cm4gbmV3IG8odCxyLHMpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXNoYWRlciIpLGk9dCgiLi9zaGFkZXJzIik7ZnVuY3Rpb24gbyh0LGUscil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yfXZhciBzLGwsYz1vLnByb3RvdHlwZTtjLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNoYWRlcjt0aGlzLnZiby5iaW5kKCksdGhpcy5zaGFkZXIuYmluZCgpLHQuYXR0cmlidXRlcy5jb29yZC5wb2ludGVyKCksdC51bmlmb3Jtcy5zY3JlZW5Cb3g9dGhpcy5wbG90LnNjcmVlbkJveH0sYy5kcmF3Qm94PShzPVswLDBdLGw9WzAsMF0sZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10aGlzLnBsb3Qsbz10aGlzLnNoYWRlcixjPWkuZ2w7c1swXT10LHNbMV09ZSxsWzBdPXIsbFsxXT1uLG8udW5pZm9ybXMubG89cyxvLnVuaWZvcm1zLmhpPWwsby51bmlmb3Jtcy5jb2xvcj1hLGMuZHJhd0FycmF5cyhjLlRSSUFOR0xFX1NUUklQLDAsNCl9KSxjLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnZiby5kaXNwb3NlKCksdGhpcy5zaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMiOjI4NywiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0fV0sMjg1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlKSxpPWEoZSxvLmdyaWRWZXJ0LG8uZ3JpZEZyYWcpLGw9YShlLG8udGlja1ZlcnQsby5ncmlkRnJhZyk7cmV0dXJuIG5ldyBzKHQscixpLGwpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXNoYWRlciIpLGk9dCgiYmluYXJ5LXNlYXJjaC1ib3VuZHMiKSxvPXQoIi4vc2hhZGVycyIpO2Z1bmN0aW9uIHModCxlLHIsbil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yLHRoaXMudGlja1NoYWRlcj1uLHRoaXMudGlja3M9W1tdLFtdXX1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHQtZX12YXIgYyx1LGgsZixwLGQ9cy5wcm90b3R5cGU7ZC5kcmF3PShjPVswLDBdLHU9WzAsMF0saD1bMCwwXSxmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLnBsb3QsZT10aGlzLnZibyxyPXRoaXMuc2hhZGVyLG49dGhpcy50aWNrcyxhPXQuZ2wsaT10Ll90aWNrQm91bmRzLG89dC5kYXRhQm94LHM9dC52aWV3Qm94LGw9dC5ncmlkTGluZVdpZHRoLGY9dC5ncmlkTGluZUNvbG9yLHA9dC5ncmlkTGluZUVuYWJsZSxkPXQucGl4ZWxSYXRpbyxnPTA7ZzwyOysrZyl7dmFyIHY9aVtnXSxtPWlbZysyXS12LHk9LjUqKG9bZysyXStvW2ddKSx4PW9bZysyXS1vW2ddO3VbZ109MiptL3gsY1tnXT0yKih2LXkpL3h9ci5iaW5kKCksZS5iaW5kKCksci5hdHRyaWJ1dGVzLmRhdGFDb29yZC5wb2ludGVyKCksci51bmlmb3Jtcy5kYXRhU2hpZnQ9YyxyLnVuaWZvcm1zLmRhdGFTY2FsZT11O3ZhciBiPTA7Zm9yKGc9MDtnPDI7KytnKXtoWzBdPWhbMV09MCxoW2ddPTEsci51bmlmb3Jtcy5kYXRhQXhpcz1oLHIudW5pZm9ybXMubGluZVdpZHRoPWxbZ10vKHNbZysyXS1zW2ddKSpkLHIudW5pZm9ybXMuY29sb3I9ZltnXTt2YXIgXz02Km5bZ10ubGVuZ3RoO3BbZ10mJl8mJmEuZHJhd0FycmF5cyhhLlRSSUFOR0xFUyxiLF8pLGIrPV99fSksZC5kcmF3VGlja01hcmtzPWZ1bmN0aW9uKCl7dmFyIHQ9WzAsMF0sZT1bMCwwXSxyPVsxLDBdLG49WzAsMV0sYT1bMCwwXSxvPVswLDBdO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgcz10aGlzLnBsb3QsYz10aGlzLnZibyx1PXRoaXMudGlja1NoYWRlcixoPXRoaXMudGlja3MsZj1zLmdsLHA9cy5fdGlja0JvdW5kcyxkPXMuZGF0YUJveCxnPXMudmlld0JveCx2PXMucGl4ZWxSYXRpbyxtPXMuc2NyZWVuQm94LHk9bVsyXS1tWzBdLHg9bVszXS1tWzFdLGI9Z1syXS1nWzBdLF89Z1szXS1nWzFdLHc9MDt3PDI7Kyt3KXt2YXIgaz1wW3ddLFQ9cFt3KzJdLWssTT0uNSooZFt3KzJdK2Rbd10pLEE9ZFt3KzJdLWRbd107ZVt3XT0yKlQvQSx0W3ddPTIqKGstTSkvQX1lWzBdKj1iL3ksdFswXSo9Yi95LGVbMV0qPV8veCx0WzFdKj1fL3gsdS5iaW5kKCksYy5iaW5kKCksdS5hdHRyaWJ1dGVzLmRhdGFDb29yZC5wb2ludGVyKCk7dmFyIFM9dS51bmlmb3JtcztTLmRhdGFTaGlmdD10LFMuZGF0YVNjYWxlPWU7dmFyIEU9cy50aWNrTWFya0xlbmd0aCxMPXMudGlja01hcmtXaWR0aCxDPXMudGlja01hcmtDb2xvcixQPTYqaFswXS5sZW5ndGgsTz1NYXRoLm1pbihpLmdlKGhbMF0sKGRbMF0tcFswXSkvKHBbMl0tcFswXSksbCksaFswXS5sZW5ndGgpLHo9TWF0aC5taW4oaS5ndChoWzBdLChkWzJdLXBbMF0pLyhwWzJdLXBbMF0pLGwpLGhbMF0ubGVuZ3RoKSxJPTArNipPLEQ9NipNYXRoLm1heCgwLHotTyksUj1NYXRoLm1pbihpLmdlKGhbMV0sKGRbMV0tcFsxXSkvKHBbM10tcFsxXSksbCksaFsxXS5sZW5ndGgpLEY9TWF0aC5taW4oaS5ndChoWzFdLChkWzNdLXBbMV0pLyhwWzNdLXBbMV0pLGwpLGhbMV0ubGVuZ3RoKSxCPVArNipSLE49NipNYXRoLm1heCgwLEYtUik7YVswXT0yKihnWzBdLUVbMV0pL3ktMSxhWzFdPShnWzNdK2dbMV0pL3gtMSxvWzBdPUVbMV0qdi95LG9bMV09TFsxXSp2L3gsTiYmKFMuY29sb3I9Q1sxXSxTLnRpY2tTY2FsZT1vLFMuZGF0YUF4aXM9bixTLnNjcmVlbk9mZnNldD1hLGYuZHJhd0FycmF5cyhmLlRSSUFOR0xFUyxCLE4pKSxhWzBdPShnWzJdK2dbMF0pL3ktMSxhWzFdPTIqKGdbMV0tRVswXSkveC0xLG9bMF09TFswXSp2L3ksb1sxXT1FWzBdKnYveCxEJiYoUy5jb2xvcj1DWzBdLFMudGlja1NjYWxlPW8sUy5kYXRhQXhpcz1yLFMuc2NyZWVuT2Zmc2V0PWEsZi5kcmF3QXJyYXlzKGYuVFJJQU5HTEVTLEksRCkpLGFbMF09MiooZ1syXStFWzNdKS95LTEsYVsxXT0oZ1szXStnWzFdKS94LTEsb1swXT1FWzNdKnYveSxvWzFdPUxbM10qdi94LE4mJihTLmNvbG9yPUNbM10sUy50aWNrU2NhbGU9byxTLmRhdGFBeGlzPW4sUy5zY3JlZW5PZmZzZXQ9YSxmLmRyYXdBcnJheXMoZi5UUklBTkdMRVMsQixOKSksYVswXT0oZ1syXStnWzBdKS95LTEsYVsxXT0yKihnWzNdK0VbMl0pL3gtMSxvWzBdPUxbMl0qdi95LG9bMV09RVsyXSp2L3gsRCYmKFMuY29sb3I9Q1syXSxTLnRpY2tTY2FsZT1vLFMuZGF0YUF4aXM9cixTLnNjcmVlbk9mZnNldD1hLGYuZHJhd0FycmF5cyhmLlRSSUFOR0xFUyxJLEQpKX19KCksZC51cGRhdGU9KGY9WzEsMSwtMSwtMSwxLC0xXSxwPVsxLC0xLDEsMSwtMSwtMV0sZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQudGlja3Mscj10LmJvdW5kcyxuPW5ldyBGbG9hdDMyQXJyYXkoMTgqKGVbMF0ubGVuZ3RoK2VbMV0ubGVuZ3RoKSksYT0odGhpcy5wbG90Lnplcm9MaW5lRW5hYmxlLDApLGk9W1tdLFtdXSxvPTA7bzwyOysrbylmb3IodmFyIHM9aVtvXSxsPWVbb10sYz1yW29dLHU9cltvKzJdLGg9MDtoPGwubGVuZ3RoOysraCl7dmFyIGQ9KGxbaF0ueC1jKS8odS1jKTtzLnB1c2goZCk7Zm9yKHZhciBnPTA7Zzw2OysrZyluW2ErK109ZCxuW2ErK109ZltnXSxuW2ErK109cFtnXX10aGlzLnRpY2tzPWksdGhpcy52Ym8udXBkYXRlKG4pfSksZC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy52Ym8uZGlzcG9zZSgpLHRoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnRpY2tTaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMiOjI4NywiYmluYXJ5LXNlYXJjaC1ib3VuZHMiOjI4OSwiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0fV0sMjg2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlLFstMSwtMSwtMSwxLDEsLTEsMSwxXSkscz1hKGUsaS5saW5lVmVydCxpLmxpbmVGcmFnKTtyZXR1cm4gbmV3IG8odCxyLHMpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXNoYWRlciIpLGk9dCgiLi9zaGFkZXJzIik7ZnVuY3Rpb24gbyh0LGUscil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yfXZhciBzLGwsYz1vLnByb3RvdHlwZTtjLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNoYWRlcjt0aGlzLnZiby5iaW5kKCksdGhpcy5zaGFkZXIuYmluZCgpLHQuYXR0cmlidXRlcy5jb29yZC5wb2ludGVyKCksdC51bmlmb3Jtcy5zY3JlZW5Cb3g9dGhpcy5wbG90LnNjcmVlbkJveH0sYy5kcmF3TGluZT0ocz1bMCwwXSxsPVswLDBdLGZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz10aGlzLnBsb3QsYz10aGlzLnNoYWRlcix1PW8uZ2w7c1swXT10LHNbMV09ZSxsWzBdPXIsbFsxXT1uLGMudW5pZm9ybXMuc3RhcnQ9cyxjLnVuaWZvcm1zLmVuZD1sLGMudW5pZm9ybXMud2lkdGg9YSpvLnBpeGVsUmF0aW8sYy51bmlmb3Jtcy5jb2xvcj1pLHUuZHJhd0FycmF5cyh1LlRSSUFOR0xFX1NUUklQLDAsNCl9KSxjLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnZiby5kaXNwb3NlKCksdGhpcy5zaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMiOjI4NywiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0fV0sMjg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPW4oWyJwcmVjaXNpb24gbG93cCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG51bmlmb3JtIHZlYzQgY29sb3I7XG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3IueHl6ICogY29sb3IudywgY29sb3Iudyk7XG59XG4iXSk7ZS5leHBvcnRzPXtsaW5lVmVydDpuKFsicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMiBjb29yZDtcblxudW5pZm9ybSB2ZWM0IHNjcmVlbkJveDtcbnVuaWZvcm0gdmVjMiBzdGFydCwgZW5kO1xudW5pZm9ybSBmbG9hdCB3aWR0aDtcblxudmVjMiBwZXJwKHZlYzIgdikge1xuICByZXR1cm4gdmVjMih2LnksIC12LngpO1xufVxuXG52ZWMyIHNjcmVlbih2ZWMyIHYpIHtcbiAgcmV0dXJuIDIuMCAqICh2IC0gc2NyZWVuQm94Lnh5KSAvIChzY3JlZW5Cb3guencgLSBzY3JlZW5Cb3gueHkpIC0gMS4wO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIHZlYzIgZGVsdGEgPSBub3JtYWxpemUocGVycChzdGFydCAtIGVuZCkpO1xuICB2ZWMyIG9mZnNldCA9IG1peChzdGFydCwgZW5kLCAwLjUgKiAoY29vcmQueSsxLjApKTtcbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHNjcmVlbihvZmZzZXQgKyAwLjUgKiB3aWR0aCAqIGRlbHRhICogY29vcmQueCksIDAsIDEpO1xufVxuIl0pLGxpbmVGcmFnOmEsdGV4dFZlcnQ6bihbIiNkZWZpbmUgR0xTTElGWSAxXG5hdHRyaWJ1dGUgdmVjMyB0ZXh0Q29vcmRpbmF0ZTtcblxudW5pZm9ybSB2ZWMyIGRhdGFTY2FsZSwgZGF0YVNoaWZ0LCBkYXRhQXhpcywgc2NyZWVuT2Zmc2V0LCB0ZXh0U2NhbGU7XG51bmlmb3JtIGZsb2F0IGFuZ2xlO1xuXG52b2lkIG1haW4oKSB7XG4gIGZsb2F0IGRhdGFPZmZzZXQgID0gdGV4dENvb3JkaW5hdGUuejtcbiAgdmVjMiBnbHlwaE9mZnNldCAgPSB0ZXh0Q29vcmRpbmF0ZS54eTtcbiAgbWF0MiBnbHlwaE1hdHJpeCA9IG1hdDIoY29zKGFuZ2xlKSwgc2luKGFuZ2xlKSwgLXNpbihhbmdsZSksIGNvcyhhbmdsZSkpO1xuICB2ZWMyIHNjcmVlbkNvb3JkaW5hdGUgPSBkYXRhQXhpcyAqIChkYXRhU2NhbGUgKiBkYXRhT2Zmc2V0ICsgZGF0YVNoaWZ0KSArXG4gICAgZ2x5cGhNYXRyaXggKiBnbHlwaE9mZnNldCAqIHRleHRTY2FsZSArIHNjcmVlbk9mZnNldDtcbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHNjcmVlbkNvb3JkaW5hdGUsIDAsIDEpO1xufVxuIl0pLHRleHRGcmFnOmEsZ3JpZFZlcnQ6bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgZGF0YUNvb3JkO1xuXG51bmlmb3JtIHZlYzIgZGF0YUF4aXMsIGRhdGFTaGlmdCwgZGF0YVNjYWxlO1xudW5pZm9ybSBmbG9hdCBsaW5lV2lkdGg7XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjMiBwb3MgPSBkYXRhQXhpcyAqIChkYXRhU2NhbGUgKiBkYXRhQ29vcmQueCArIGRhdGFTaGlmdCk7XG4gIHBvcyArPSAxMC4wICogZGF0YUNvb3JkLnkgKiB2ZWMyKGRhdGFBeGlzLnksIC1kYXRhQXhpcy54KSArIGRhdGFDb29yZC56ICogbGluZVdpZHRoO1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zLCAwLCAxKTtcbn1cbiJdKSxncmlkRnJhZzphLGJveFZlcnQ6bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzIgY29vcmQ7XG5cbnVuaWZvcm0gdmVjNCBzY3JlZW5Cb3g7XG51bmlmb3JtIHZlYzIgbG8sIGhpO1xuXG52ZWMyIHNjcmVlbih2ZWMyIHYpIHtcbiAgcmV0dXJuIDIuMCAqICh2IC0gc2NyZWVuQm94Lnh5KSAvIChzY3JlZW5Cb3guencgLSBzY3JlZW5Cb3gueHkpIC0gMS4wO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIGdsX1Bvc2l0aW9uID0gdmVjNChzY3JlZW4obWl4KGxvLCBoaSwgY29vcmQpKSwgMCwgMSk7XG59XG4iXSksdGlja1ZlcnQ6bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgZGF0YUNvb3JkO1xuXG51bmlmb3JtIHZlYzIgZGF0YUF4aXMsIGRhdGFTaGlmdCwgZGF0YVNjYWxlLCBzY3JlZW5PZmZzZXQsIHRpY2tTY2FsZTtcblxudm9pZCBtYWluKCkge1xuICB2ZWMyIHBvcyA9IGRhdGFBeGlzICogKGRhdGFTY2FsZSAqIGRhdGFDb29yZC54ICsgZGF0YVNoaWZ0KTtcbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvcyArIHRpY2tTY2FsZSpkYXRhQ29vcmQueXogKyBzY3JlZW5PZmZzZXQsIDAsIDEpO1xufVxuIl0pfX0se2dsc2xpZnk6NDExfV0sMjg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlKSxpPWEoZSxzLnRleHRWZXJ0LHMudGV4dEZyYWcpO3JldHVybiBuZXcgbCh0LHIsaSl9O3ZhciBuPXQoImdsLWJ1ZmZlciIpLGE9dCgiZ2wtc2hhZGVyIiksaT10KCJ0ZXh0LWNhY2hlIiksbz10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpLHM9dCgiLi9zaGFkZXJzIik7ZnVuY3Rpb24gbCh0LGUscil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yLHRoaXMudGlja09mZnNldD1bW10sW11dLHRoaXMudGlja1g9W1tdLFtdXSx0aGlzLmxhYmVsT2Zmc2V0PVswLDBdLHRoaXMubGFiZWxDb3VudD1bMCwwXX12YXIgYyx1LGgsZixwLGQsZz1sLnByb3RvdHlwZTtnLmRyYXdUaWNrcz0oYz1bMCwwXSx1PVswLDBdLGg9WzAsMF0sZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wbG90LHI9dGhpcy5zaGFkZXIsbj10aGlzLnRpY2tYW3RdLGE9dGhpcy50aWNrT2Zmc2V0W3RdLGk9ZS5nbCxzPWUudmlld0JveCxsPWUuZGF0YUJveCxmPWUuc2NyZWVuQm94LHA9ZS5waXhlbFJhdGlvLGQ9ZS50aWNrRW5hYmxlLGc9ZS50aWNrUGFkLHY9ZS50aWNrQ29sb3IsbT1lLnRpY2tBbmdsZSx5PWUubGFiZWxFbmFibGUseD1lLmxhYmVsUGFkLGI9ZS5sYWJlbENvbG9yLF89ZS5sYWJlbEFuZ2xlLHc9dGhpcy5sYWJlbE9mZnNldFt0XSxrPXRoaXMubGFiZWxDb3VudFt0XSxUPW8ubHQobixsW3RdKSxNPW8ubGUobixsW3QrMl0pO2NbMF09Y1sxXT0wLGNbdF09MSx1W3RdPShzWzIrdF0rc1t0XSkvKGZbMit0XS1mW3RdKS0xO3ZhciBBPTIvZlsyKygxXnQpXS1mWzFedF07dVsxXnRdPUEqc1sxXnRdLTEsZFt0XSYmKHVbMV50XS09QSpwKmdbdF0sVDxNJiZhW01dPmFbVF0mJihyLnVuaWZvcm1zLmRhdGFBeGlzPWMsci51bmlmb3Jtcy5zY3JlZW5PZmZzZXQ9dSxyLnVuaWZvcm1zLmNvbG9yPXZbdF0sci51bmlmb3Jtcy5hbmdsZT1tW3RdLGkuZHJhd0FycmF5cyhpLlRSSUFOR0xFUyxhW1RdLGFbTV0tYVtUXSkpKSx5W3RdJiZrJiYodVsxXnRdLT1BKnAqeFt0XSxyLnVuaWZvcm1zLmRhdGFBeGlzPWgsci51bmlmb3Jtcy5zY3JlZW5PZmZzZXQ9dSxyLnVuaWZvcm1zLmNvbG9yPWJbdF0sci51bmlmb3Jtcy5hbmdsZT1fW3RdLGkuZHJhd0FycmF5cyhpLlRSSUFOR0xFUyx3LGspKSx1WzFedF09QSpzWzIrKDFedCldLTEsZFt0KzJdJiYodVsxXnRdKz1BKnAqZ1t0KzJdLFQ8TSYmYVtNXT5hW1RdJiYoci51bmlmb3Jtcy5kYXRhQXhpcz1jLHIudW5pZm9ybXMuc2NyZWVuT2Zmc2V0PXUsci51bmlmb3Jtcy5jb2xvcj12W3QrMl0sci51bmlmb3Jtcy5hbmdsZT1tW3QrMl0saS5kcmF3QXJyYXlzKGkuVFJJQU5HTEVTLGFbVF0sYVtNXS1hW1RdKSkpLHlbdCsyXSYmayYmKHVbMV50XSs9QSpwKnhbdCsyXSxyLnVuaWZvcm1zLmRhdGFBeGlzPWgsci51bmlmb3Jtcy5zY3JlZW5PZmZzZXQ9dSxyLnVuaWZvcm1zLmNvbG9yPWJbdCsyXSxyLnVuaWZvcm1zLmFuZ2xlPV9bdCsyXSxpLmRyYXdBcnJheXMoaS5UUklBTkdMRVMsdyxrKSl9KSxnLmRyYXdUaXRsZT1mdW5jdGlvbigpe3ZhciB0PVswLDBdLGU9WzAsMF07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5wbG90LG49dGhpcy5zaGFkZXIsYT1yLmdsLGk9ci5zY3JlZW5Cb3gsbz1yLnRpdGxlQ2VudGVyLHM9ci50aXRsZUFuZ2xlLGw9ci50aXRsZUNvbG9yLGM9ci5waXhlbFJhdGlvO2lmKHRoaXMudGl0bGVDb3VudCl7Zm9yKHZhciB1PTA7dTwyOysrdSllW3VdPTIqKG9bdV0qYy1pW3VdKS8oaVsyK3VdLWlbdV0pLTE7bi5iaW5kKCksbi51bmlmb3Jtcy5kYXRhQXhpcz10LG4udW5pZm9ybXMuc2NyZWVuT2Zmc2V0PWUsbi51bmlmb3Jtcy5hbmdsZT1zLG4udW5pZm9ybXMuY29sb3I9bCxhLmRyYXdBcnJheXMoYS5UUklBTkdMRVMsdGhpcy50aXRsZU9mZnNldCx0aGlzLnRpdGxlQ291bnQpfX19KCksZy5iaW5kPShmPVswLDBdLHA9WzAsMF0sZD1bMCwwXSxmdW5jdGlvbigpe3ZhciB0PXRoaXMucGxvdCxlPXRoaXMuc2hhZGVyLHI9dC5fdGlja0JvdW5kcyxuPXQuZGF0YUJveCxhPXQuc2NyZWVuQm94LGk9dC52aWV3Qm94O2UuYmluZCgpO2Zvcih2YXIgbz0wO288MjsrK28pe3ZhciBzPXJbb10sbD1yW28rMl0tcyxjPS41KihuW28rMl0rbltvXSksdT1uW28rMl0tbltvXSxoPWlbb10sZz1pW28rMl0taCx2PWFbb10sbT1hW28rMl0tdjtwW29dPTIqbC91KmcvbSxmW29dPTIqKHMtYykvdSpnL219ZFsxXT0yKnQucGl4ZWxSYXRpby8oYVszXS1hWzFdKSxkWzBdPWRbMV0qKGFbM10tYVsxXSkvKGFbMl0tYVswXSksZS51bmlmb3Jtcy5kYXRhU2NhbGU9cCxlLnVuaWZvcm1zLmRhdGFTaGlmdD1mLGUudW5pZm9ybXMudGV4dFNjYWxlPWQsdGhpcy52Ym8uYmluZCgpLGUuYXR0cmlidXRlcy50ZXh0Q29vcmRpbmF0ZS5wb2ludGVyKCl9KSxnLnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxvLHM9W10sbD10LnRpY2tzLGM9dC5ib3VuZHM7Zm9yKG89MDtvPDI7KytvKXt2YXIgdT1bTWF0aC5mbG9vcihzLmxlbmd0aC8zKV0saD1bLTEvMF0sZj1sW29dO2ZvcihlPTA7ZTxmLmxlbmd0aDsrK2Upe3ZhciBwPWZbZV0sZD1wLngsZz1wLnRleHQsdj1wLmZvbnR8fCJzYW5zLXNlcmlmIjthPXAuZm9udFNpemV8fDEyO2Zvcih2YXIgbT0xLyhjW28rMl0tY1tvXSkseT1jW29dLHg9Zy5zcGxpdCgiXG4iKSxiPTA7Yjx4Lmxlbmd0aDtiKyspZm9yKG49aSh2LHhbYl0pLmRhdGEscj0wO3I8bi5sZW5ndGg7cis9MilzLnB1c2gobltyXSphLC1uW3IrMV0qYS1iKmEqMS4yLChkLXkpKm0pO3UucHVzaChNYXRoLmZsb29yKHMubGVuZ3RoLzMpKSxoLnB1c2goZCl9dGhpcy50aWNrT2Zmc2V0W29dPXUsdGhpcy50aWNrWFtvXT1ofWZvcihvPTA7bzwyOysrbyl7Zm9yKHRoaXMubGFiZWxPZmZzZXRbb109TWF0aC5mbG9vcihzLmxlbmd0aC8zKSxuPWkodC5sYWJlbEZvbnRbb10sdC5sYWJlbHNbb10se3RleHRBbGlnbjoiY2VudGVyIn0pLmRhdGEsYT10LmxhYmVsU2l6ZVtvXSxlPTA7ZTxuLmxlbmd0aDtlKz0yKXMucHVzaChuW2VdKmEsLW5bZSsxXSphLDApO3RoaXMubGFiZWxDb3VudFtvXT1NYXRoLmZsb29yKHMubGVuZ3RoLzMpLXRoaXMubGFiZWxPZmZzZXRbb119Zm9yKHRoaXMudGl0bGVPZmZzZXQ9TWF0aC5mbG9vcihzLmxlbmd0aC8zKSxuPWkodC50aXRsZUZvbnQsdC50aXRsZSkuZGF0YSxhPXQudGl0bGVTaXplLGU9MDtlPG4ubGVuZ3RoO2UrPTIpcy5wdXNoKG5bZV0qYSwtbltlKzFdKmEsMCk7dGhpcy50aXRsZUNvdW50PU1hdGguZmxvb3Iocy5sZW5ndGgvMyktdGhpcy50aXRsZU9mZnNldCx0aGlzLnZiby51cGRhdGUocyl9LGcuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMudmJvLmRpc3Bvc2UoKSx0aGlzLnNoYWRlci5kaXNwb3NlKCl9fSx7Ii4vc2hhZGVycyI6Mjg3LCJiaW5hcnktc2VhcmNoLWJvdW5kcyI6Mjg5LCJnbC1idWZmZXIiOjI0NCwiZ2wtc2hhZGVyIjozMDQsInRleHQtY2FjaGUiOjUzNX1dLDI4OTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxMTNdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxMTN9XSwyOTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2wscj1uKGUsW2UuZHJhd2luZ0J1ZmZlcldpZHRoLGUuZHJhd2luZ0J1ZmZlckhlaWdodF0pLGM9bmV3IGwoZSxyKTtyZXR1cm4gYy5ncmlkPWEoYyksYy50ZXh0PWkoYyksYy5saW5lPW8oYyksYy5ib3g9cyhjKSxjLnVwZGF0ZSh0KSxjfTt2YXIgbj10KCJnbC1zZWxlY3Qtc3RhdGljIiksYT10KCIuL2xpYi9ncmlkIiksaT10KCIuL2xpYi90ZXh0Iiksbz10KCIuL2xpYi9saW5lIikscz10KCIuL2xpYi9ib3giKTtmdW5jdGlvbiBsKHQsZSl7dGhpcy5nbD10LHRoaXMucGlja0J1ZmZlcj1lLHRoaXMuc2NyZWVuQm94PVswLDAsdC5kcmF3aW5nQnVmZmVyV2lkdGgsdC5kcmF3aW5nQnVmZmVySGVpZ2h0XSx0aGlzLnZpZXdCb3g9WzAsMCwwLDBdLHRoaXMuZGF0YUJveD1bLTEwLC0xMCwxMCwxMF0sdGhpcy5ncmlkTGluZUVuYWJsZT1bITAsITBdLHRoaXMuZ3JpZExpbmVXaWR0aD1bMSwxXSx0aGlzLmdyaWRMaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMucGl4ZWxSYXRpbz0xLHRoaXMudGlja01hcmtMZW5ndGg9WzAsMCwwLDBdLHRoaXMudGlja01hcmtXaWR0aD1bMCwwLDAsMF0sdGhpcy50aWNrTWFya0NvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGlja1BhZD1bMTUsMTUsMTUsMTVdLHRoaXMudGlja0FuZ2xlPVswLDAsMCwwXSx0aGlzLnRpY2tFbmFibGU9WyEwLCEwLCEwLCEwXSx0aGlzLnRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmxhYmVsUGFkPVsxNSwxNSwxNSwxNV0sdGhpcy5sYWJlbEFuZ2xlPVswLE1hdGguUEkvMiwwLDMqTWF0aC5QSS8yXSx0aGlzLmxhYmVsRW5hYmxlPVshMCwhMCwhMCwhMF0sdGhpcy5sYWJlbENvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGl0bGVDZW50ZXI9WzAsMF0sdGhpcy50aXRsZUVuYWJsZT0hMCx0aGlzLnRpdGxlQW5nbGU9MCx0aGlzLnRpdGxlQ29sb3I9WzAsMCwwLDFdLHRoaXMuYm9yZGVyQ29sb3I9WzAsMCwwLDBdLHRoaXMuYmFja2dyb3VuZENvbG9yPVswLDAsMCwwXSx0aGlzLnplcm9MaW5lRW5hYmxlPVshMCwhMF0sdGhpcy56ZXJvTGluZVdpZHRoPVs0LDRdLHRoaXMuemVyb0xpbmVDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy5ib3JkZXJMaW5lRW5hYmxlPVshMCwhMCwhMCwhMF0sdGhpcy5ib3JkZXJMaW5lV2lkdGg9WzIsMiwyLDJdLHRoaXMuYm9yZGVyTGluZUNvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZ3JpZD1udWxsLHRoaXMudGV4dD1udWxsLHRoaXMubGluZT1udWxsLHRoaXMuYm94PW51bGwsdGhpcy5vYmplY3RzPVtdLHRoaXMub3ZlcmxheXM9W10sdGhpcy5fdGlja0JvdW5kcz1bMS8wLDEvMCwtMS8wLC0xLzBdLHRoaXMuc3RhdGljPSExLHRoaXMuZGlydHk9ITEsdGhpcy5waWNrRGlydHk9ITEsdGhpcy5waWNrRGVsYXk9MTIwLHRoaXMucGlja1JhZGl1cz0xMCx0aGlzLl9waWNrVGltZW91dD1udWxsLHRoaXMuX2RyYXdQaWNrPXRoaXMuZHJhd1BpY2suYmluZCh0aGlzKSx0aGlzLl9kZXB0aENvdW50ZXI9MH12YXIgYz1sLnByb3RvdHlwZTtmdW5jdGlvbiB1KHQpe2Zvcih2YXIgZT10LnNsaWNlKCkscj0wO3I8ZS5sZW5ndGg7KytyKWVbcl09ZVtyXS5zbGljZSgpO3JldHVybiBlfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gdC54LWUueH1jLnNldERpcnR5PWZ1bmN0aW9uKCl7dGhpcy5kaXJ0eT10aGlzLnBpY2tEaXJ0eT0hMH0sYy5zZXRPdmVybGF5RGlydHk9ZnVuY3Rpb24oKXt0aGlzLmRpcnR5PSEwfSxjLm5leHREZXB0aFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlcHRoQ291bnRlcisrLzY1NTM2fSxjLmRyYXc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdsLGU9dGhpcy5zY3JlZW5Cb3gscj10aGlzLnZpZXdCb3gsbj10aGlzLmRhdGFCb3gsYT10aGlzLnBpeGVsUmF0aW8saT10aGlzLmdyaWQsbz10aGlzLmxpbmUscz10aGlzLnRleHQsbD10aGlzLm9iamVjdHM7aWYodGhpcy5fZGVwdGhDb3VudGVyPTAsdGhpcy5waWNrRGlydHkmJih0aGlzLl9waWNrVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX3BpY2tUaW1lb3V0KSx0aGlzLnBpY2tEaXJ0eT0hMSx0aGlzLl9waWNrVGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX2RyYXdQaWNrLHRoaXMucGlja0RlbGF5KSksdGhpcy5kaXJ0eSl7aWYodGhpcy5kaXJ0eT0hMSx0LmJpbmRGcmFtZWJ1ZmZlcih0LkZSQU1FQlVGRkVSLG51bGwpLHQuZW5hYmxlKHQuU0NJU1NPUl9URVNUKSx0LmRpc2FibGUodC5ERVBUSF9URVNUKSx0LmRlcHRoRnVuYyh0LkxFU1MpLHQuZGVwdGhNYXNrKCExKSx0LmVuYWJsZSh0LkJMRU5EKSx0LmJsZW5kRXF1YXRpb24odC5GVU5DX0FERCx0LkZVTkNfQUREKSx0LmJsZW5kRnVuYyh0Lk9ORSx0Lk9ORV9NSU5VU19TUkNfQUxQSEEpLHRoaXMuYm9yZGVyQ29sb3Ipe3Quc2Npc3NvcihlWzBdLGVbMV0sZVsyXS1lWzBdLGVbM10tZVsxXSk7dmFyIGM9dGhpcy5ib3JkZXJDb2xvcjt0LmNsZWFyQ29sb3IoY1swXSpjWzNdLGNbMV0qY1szXSxjWzJdKmNbM10sY1szXSksdC5jbGVhcih0LkNPTE9SX0JVRkZFUl9CSVR8dC5ERVBUSF9CVUZGRVJfQklUKX10LnNjaXNzb3IoclswXSxyWzFdLHJbMl0tclswXSxyWzNdLXJbMV0pLHQudmlld3BvcnQoclswXSxyWzFdLHJbMl0tclswXSxyWzNdLXJbMV0pO3ZhciB1PXRoaXMuYmFja2dyb3VuZENvbG9yO3QuY2xlYXJDb2xvcih1WzBdKnVbM10sdVsxXSp1WzNdLHVbMl0qdVszXSx1WzNdKSx0LmNsZWFyKHQuQ09MT1JfQlVGRkVSX0JJVCksaS5kcmF3KCk7dmFyIGg9dGhpcy56ZXJvTGluZUVuYWJsZSxmPXRoaXMuemVyb0xpbmVDb2xvcixwPXRoaXMuemVyb0xpbmVXaWR0aDtpZihoWzBdfHxoWzFdKXtvLmJpbmQoKTtmb3IodmFyIGQ9MDtkPDI7KytkKWlmKGhbZF0mJm5bZF08PTAmJm5bZCsyXT49MCl7dmFyIGc9ZVtkXS1uW2RdKihlW2QrMl0tZVtkXSkvKG5bZCsyXS1uW2RdKTswPT09ZD9vLmRyYXdMaW5lKGcsZVsxXSxnLGVbM10scFtkXSxmW2RdKTpvLmRyYXdMaW5lKGVbMF0sZyxlWzJdLGcscFtkXSxmW2RdKX19Zm9yKGQ9MDtkPGwubGVuZ3RoOysrZClsW2RdLmRyYXcoKTt0LnZpZXdwb3J0KGVbMF0sZVsxXSxlWzJdLWVbMF0sZVszXS1lWzFdKSx0LnNjaXNzb3IoZVswXSxlWzFdLGVbMl0tZVswXSxlWzNdLWVbMV0pLHRoaXMuZ3JpZC5kcmF3VGlja01hcmtzKCksby5iaW5kKCk7dmFyIHY9dGhpcy5ib3JkZXJMaW5lRW5hYmxlLG09dGhpcy5ib3JkZXJMaW5lV2lkdGgseT10aGlzLmJvcmRlckxpbmVDb2xvcjtmb3IodlsxXSYmby5kcmF3TGluZShyWzBdLHJbMV0tLjUqbVsxXSphLHJbMF0sclszXSsuNSptWzNdKmEsbVsxXSx5WzFdKSx2WzBdJiZvLmRyYXdMaW5lKHJbMF0tLjUqbVswXSphLHJbMV0sclsyXSsuNSptWzJdKmEsclsxXSxtWzBdLHlbMF0pLHZbM10mJm8uZHJhd0xpbmUoclsyXSxyWzFdLS41Km1bMV0qYSxyWzJdLHJbM10rLjUqbVszXSphLG1bM10seVszXSksdlsyXSYmby5kcmF3TGluZShyWzBdLS41Km1bMF0qYSxyWzNdLHJbMl0rLjUqbVsyXSphLHJbM10sbVsyXSx5WzJdKSxzLmJpbmQoKSxkPTA7ZDwyOysrZClzLmRyYXdUaWNrcyhkKTt0aGlzLnRpdGxlRW5hYmxlJiZzLmRyYXdUaXRsZSgpO3ZhciB4PXRoaXMub3ZlcmxheXM7Zm9yKGQ9MDtkPHgubGVuZ3RoOysrZCl4W2RdLmRyYXcoKTt0LmRpc2FibGUodC5TQ0lTU09SX1RFU1QpLHQuZGlzYWJsZSh0LkJMRU5EKSx0LmRlcHRoTWFzayghMCl9fSxjLmRyYXdQaWNrPWZ1bmN0aW9uKCl7aWYoIXRoaXMuc3RhdGljKXt2YXIgdD10aGlzLnBpY2tCdWZmZXI7dGhpcy5nbCx0aGlzLl9waWNrVGltZW91dD1udWxsLHQuYmVnaW4oKTtmb3IodmFyIGU9MSxyPXRoaXMub2JqZWN0cyxuPTA7bjxyLmxlbmd0aDsrK24pZT1yW25dLmRyYXdQaWNrKGUpO3QuZW5kKCl9fSxjLnBpY2s9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5zdGF0aWMpe3ZhciByPXRoaXMucGl4ZWxSYXRpbyxuPXRoaXMucGlja1BpeGVsUmF0aW8sYT10aGlzLnZpZXdCb3gsaT0wfE1hdGgucm91bmQoKHQtYVswXS9yKSpuKSxvPTB8TWF0aC5yb3VuZCgoZS1hWzFdL3IpKm4pLHM9dGhpcy5waWNrQnVmZmVyLnF1ZXJ5KGksbyx0aGlzLnBpY2tSYWRpdXMpO2lmKCFzKXJldHVybiBudWxsO2Zvcih2YXIgbD1zLmlkKyhzLnZhbHVlWzBdPDw4KSsocy52YWx1ZVsxXTw8MTYpKyhzLnZhbHVlWzJdPDwyNCksYz10aGlzLm9iamVjdHMsdT0wO3U8Yy5sZW5ndGg7Kyt1KXt2YXIgaD1jW3VdLnBpY2soaSxvLGwpO2lmKGgpcmV0dXJuIGh9cmV0dXJuIG51bGx9fSxjLnNldFNjcmVlbkJveD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnNjcmVlbkJveCxyPXRoaXMucGl4ZWxSYXRpbztlWzBdPTB8TWF0aC5yb3VuZCh0WzBdKnIpLGVbMV09MHxNYXRoLnJvdW5kKHRbMV0qciksZVsyXT0wfE1hdGgucm91bmQodFsyXSpyKSxlWzNdPTB8TWF0aC5yb3VuZCh0WzNdKnIpLHRoaXMuc2V0RGlydHkoKX0sYy5zZXREYXRhQm94PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGF0YUJveDsoZVswXSE9PXRbMF18fGVbMV0hPT10WzFdfHxlWzJdIT09dFsyXXx8ZVszXSE9PXRbM10pJiYoZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLHRoaXMuc2V0RGlydHkoKSl9LGMuc2V0Vmlld0JveD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnBpeGVsUmF0aW8scj10aGlzLnZpZXdCb3g7clswXT0wfE1hdGgucm91bmQodFswXSplKSxyWzFdPTB8TWF0aC5yb3VuZCh0WzFdKmUpLHJbMl09MHxNYXRoLnJvdW5kKHRbMl0qZSksclszXT0wfE1hdGgucm91bmQodFszXSplKTt2YXIgbj10aGlzLnBpY2tQaXhlbFJhdGlvO3RoaXMucGlja0J1ZmZlci5zaGFwZT1bMHxNYXRoLnJvdW5kKCh0WzJdLXRbMF0pKm4pLDB8TWF0aC5yb3VuZCgodFszXS10WzFdKSpuKV0sdGhpcy5zZXREaXJ0eSgpfSxjLnVwZGF0ZT1mdW5jdGlvbih0KXt0PXR8fHt9O3ZhciBlPXRoaXMuZ2w7dGhpcy5waXhlbFJhdGlvPXQucGl4ZWxSYXRpb3x8MTt2YXIgcj10aGlzLnBpeGVsUmF0aW87dGhpcy5waWNrUGl4ZWxSYXRpbz1NYXRoLm1heChyLDEpLHRoaXMuc2V0U2NyZWVuQm94KHQuc2NyZWVuQm94fHxbMCwwLGUuZHJhd2luZ0J1ZmZlcldpZHRoL3IsZS5kcmF3aW5nQnVmZmVySGVpZ2h0L3JdKTt0aGlzLnNjcmVlbkJveDt0aGlzLnNldFZpZXdCb3godC52aWV3Qm94fHxbLjEyNSoodGhpcy5zY3JlZW5Cb3hbMl0tdGhpcy5zY3JlZW5Cb3hbMF0pL3IsLjEyNSoodGhpcy5zY3JlZW5Cb3hbM10tdGhpcy5zY3JlZW5Cb3hbMV0pL3IsLjg3NSoodGhpcy5zY3JlZW5Cb3hbMl0tdGhpcy5zY3JlZW5Cb3hbMF0pL3IsLjg3NSoodGhpcy5zY3JlZW5Cb3hbM10tdGhpcy5zY3JlZW5Cb3hbMV0pL3JdKTt2YXIgbj10aGlzLnZpZXdCb3gsYT0oblsyXS1uWzBdKS8oblszXS1uWzFdKTt0aGlzLnNldERhdGFCb3godC5kYXRhQm94fHxbLTEwLC0xMC9hLDEwLDEwL2FdKSx0aGlzLmJvcmRlckNvbG9yPSExIT09dC5ib3JkZXJDb2xvciYmKHQuYm9yZGVyQ29sb3J8fFswLDAsMCwwXSkuc2xpY2UoKSx0aGlzLmJhY2tncm91bmRDb2xvcj0odC5iYWNrZ3JvdW5kQ29sb3J8fFswLDAsMCwwXSkuc2xpY2UoKSx0aGlzLmdyaWRMaW5lRW5hYmxlPSh0LmdyaWRMaW5lRW5hYmxlfHxbITAsITBdKS5zbGljZSgpLHRoaXMuZ3JpZExpbmVXaWR0aD0odC5ncmlkTGluZVdpZHRofHxbMSwxXSkuc2xpY2UoKSx0aGlzLmdyaWRMaW5lQ29sb3I9dSh0LmdyaWRMaW5lQ29sb3J8fFtbLjUsLjUsLjUsMV0sWy41LC41LC41LDFdXSksdGhpcy56ZXJvTGluZUVuYWJsZT0odC56ZXJvTGluZUVuYWJsZXx8WyEwLCEwXSkuc2xpY2UoKSx0aGlzLnplcm9MaW5lV2lkdGg9KHQuemVyb0xpbmVXaWR0aHx8WzQsNF0pLnNsaWNlKCksdGhpcy56ZXJvTGluZUNvbG9yPXUodC56ZXJvTGluZUNvbG9yfHxbWzAsMCwwLDFdLFswLDAsMCwxXV0pLHRoaXMudGlja01hcmtMZW5ndGg9KHQudGlja01hcmtMZW5ndGh8fFswLDAsMCwwXSkuc2xpY2UoKSx0aGlzLnRpY2tNYXJrV2lkdGg9KHQudGlja01hcmtXaWR0aHx8WzAsMCwwLDBdKS5zbGljZSgpLHRoaXMudGlja01hcmtDb2xvcj11KHQudGlja01hcmtDb2xvcnx8W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0pLHRoaXMudGl0bGVDZW50ZXI9KHQudGl0bGVDZW50ZXJ8fFsuNSooblswXStuWzJdKS9yLChuWzNdKzEyMCkvcl0pLnNsaWNlKCksdGhpcy50aXRsZUVuYWJsZT0hKCJ0aXRsZUVuYWJsZSJpbiB0JiYhdC50aXRsZUVuYWJsZSksdGhpcy50aXRsZUFuZ2xlPXQudGl0bGVBbmdsZXx8MCx0aGlzLnRpdGxlQ29sb3I9KHQudGl0bGVDb2xvcnx8WzAsMCwwLDFdKS5zbGljZSgpLHRoaXMubGFiZWxQYWQ9KHQubGFiZWxQYWR8fFsxNSwxNSwxNSwxNV0pLnNsaWNlKCksdGhpcy5sYWJlbEFuZ2xlPSh0LmxhYmVsQW5nbGV8fFswLE1hdGguUEkvMiwwLDMqTWF0aC5QSS8yXSkuc2xpY2UoKSx0aGlzLmxhYmVsRW5hYmxlPSh0LmxhYmVsRW5hYmxlfHxbITAsITAsITAsITBdKS5zbGljZSgpLHRoaXMubGFiZWxDb2xvcj11KHQubGFiZWxDb2xvcnx8W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0pLHRoaXMudGlja1BhZD0odC50aWNrUGFkfHxbMTUsMTUsMTUsMTVdKS5zbGljZSgpLHRoaXMudGlja0FuZ2xlPSh0LnRpY2tBbmdsZXx8WzAsMCwwLDBdKS5zbGljZSgpLHRoaXMudGlja0VuYWJsZT0odC50aWNrRW5hYmxlfHxbITAsITAsITAsITBdKS5zbGljZSgpLHRoaXMudGlja0NvbG9yPXUodC50aWNrQ29sb3J8fFtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dKSx0aGlzLmJvcmRlckxpbmVFbmFibGU9KHQuYm9yZGVyTGluZUVuYWJsZXx8WyEwLCEwLCEwLCEwXSkuc2xpY2UoKSx0aGlzLmJvcmRlckxpbmVXaWR0aD0odC5ib3JkZXJMaW5lV2lkdGh8fFsyLDIsMiwyXSkuc2xpY2UoKSx0aGlzLmJvcmRlckxpbmVDb2xvcj11KHQuYm9yZGVyTGluZUNvbG9yfHxbWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSk7dmFyIGk9dC50aWNrc3x8W1tdLFtdXSxvPXRoaXMuX3RpY2tCb3VuZHM7b1swXT1vWzFdPTEvMCxvWzJdPW9bM109LTEvMDtmb3IodmFyIHM9MDtzPDI7KytzKXt2YXIgbD1pW3NdLnNsaWNlKDApOzAhPT1sLmxlbmd0aCYmKGwuc29ydChoKSxvW3NdPU1hdGgubWluKG9bc10sbFswXS54KSxvW3MrMl09TWF0aC5tYXgob1tzKzJdLGxbbC5sZW5ndGgtMV0ueCkpfXRoaXMuZ3JpZC51cGRhdGUoe2JvdW5kczpvLHRpY2tzOml9KSx0aGlzLnRleHQudXBkYXRlKHtib3VuZHM6byx0aWNrczppLGxhYmVsczp0LmxhYmVsc3x8WyJ4IiwieSJdLGxhYmVsU2l6ZTp0LmxhYmVsU2l6ZXx8WzEyLDEyXSxsYWJlbEZvbnQ6dC5sYWJlbEZvbnR8fFsic2Fucy1zZXJpZiIsInNhbnMtc2VyaWYiXSx0aXRsZTp0LnRpdGxlfHwiIix0aXRsZVNpemU6dC50aXRsZVNpemV8fDE4LHRpdGxlRm9udDp0LnRpdGxlRm9udHx8InNhbnMtc2VyaWYifSksdGhpcy5zdGF0aWM9ISF0LnN0YXRpYyx0aGlzLnNldERpcnR5KCl9LGMuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuYm94LmRpc3Bvc2UoKSx0aGlzLmdyaWQuZGlzcG9zZSgpLHRoaXMudGV4dC5kaXNwb3NlKCksdGhpcy5saW5lLmRpc3Bvc2UoKTtmb3IodmFyIHQ9dGhpcy5vYmplY3RzLmxlbmd0aC0xO3Q+PTA7LS10KXRoaXMub2JqZWN0c1t0XS5kaXNwb3NlKCk7dGhpcy5vYmplY3RzLmxlbmd0aD0wO2Zvcih0PXRoaXMub3ZlcmxheXMubGVuZ3RoLTE7dD49MDstLXQpdGhpcy5vdmVybGF5c1t0XS5kaXNwb3NlKCk7dGhpcy5vdmVybGF5cy5sZW5ndGg9MCx0aGlzLmdsPW51bGx9LGMuYWRkT2JqZWN0PWZ1bmN0aW9uKHQpe3RoaXMub2JqZWN0cy5pbmRleE9mKHQpPDAmJih0aGlzLm9iamVjdHMucHVzaCh0KSx0aGlzLnNldERpcnR5KCkpfSxjLnJlbW92ZU9iamVjdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5vYmplY3RzLHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dCl7ZS5zcGxpY2UociwxKSx0aGlzLnNldERpcnR5KCk7YnJlYWt9fSxjLmFkZE92ZXJsYXk9ZnVuY3Rpb24odCl7dGhpcy5vdmVybGF5cy5pbmRleE9mKHQpPDAmJih0aGlzLm92ZXJsYXlzLnB1c2godCksdGhpcy5zZXRPdmVybGF5RGlydHkoKSl9LGMucmVtb3ZlT3ZlcmxheT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5vdmVybGF5cyxyPTA7cjxlLmxlbmd0aDsrK3IpaWYoZVtyXT09PXQpe2Uuc3BsaWNlKHIsMSksdGhpcy5zZXRPdmVybGF5RGlydHkoKTticmVha319fSx7Ii4vbGliL2JveCI6Mjg0LCIuL2xpYi9ncmlkIjoyODUsIi4vbGliL2xpbmUiOjI4NiwiLi9saWIvdGV4dCI6Mjg4LCJnbC1zZWxlY3Qtc3RhdGljIjozMDN9XSwyOTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dD10fHxkb2N1bWVudC5ib2R5LGU9ZXx8e307dmFyIHI9Wy4wMSwxLzBdOyJkaXN0YW5jZUxpbWl0cyJpbiBlJiYoclswXT1lLmRpc3RhbmNlTGltaXRzWzBdLHJbMV09ZS5kaXN0YW5jZUxpbWl0c1sxXSk7Inpvb21NaW4iaW4gZSYmKHJbMF09ZS56b29tTWluKTsiem9vbU1heCJpbiBlJiYoclsxXT1lLnpvb21NYXgpO3ZhciBjPWEoe2NlbnRlcjplLmNlbnRlcnx8WzAsMCwwXSx1cDplLnVwfHxbMCwxLDBdLGV5ZTplLmV5ZXx8WzAsMCwxMF0sbW9kZTplLm1vZGV8fCJvcmJpdCIsZGlzdGFuY2VMaW1pdHM6cn0pLHU9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdLGg9MCxmPXQuY2xpZW50V2lkdGgscD10LmNsaWVudEhlaWdodCxkPXtrZXlCaW5kaW5nTW9kZToicm90YXRlIixlbmFibGVXaGVlbDohMCx2aWV3OmMsZWxlbWVudDp0LGRlbGF5OmUuZGVsYXl8fDE2LHJvdGF0ZVNwZWVkOmUucm90YXRlU3BlZWR8fDEsem9vbVNwZWVkOmUuem9vbVNwZWVkfHwxLHRyYW5zbGF0ZVNwZWVkOmUudHJhbnNsYXRlU3BlZWR8fDEsZmxpcFg6ISFlLmZsaXBYLGZsaXBZOiEhZS5mbGlwWSxtb2RlczpjLm1vZGVzLF9vcnRobzplLl9vcnRob3x8ZS5wcm9qZWN0aW9uJiYib3J0aG9ncmFwaGljIj09PWUucHJvamVjdGlvbi50eXBlfHwhMSx0aWNrOmZ1bmN0aW9uKCl7dmFyIGU9bigpLHI9dGhpcy5kZWxheSxhPWUtMipyO2MuaWRsZShlLXIpLGMucmVjYWxjTWF0cml4KGEpLGMuZmx1c2goZS0oMTAwKzIqcikpO2Zvcih2YXIgaT0hMCxvPWMuY29tcHV0ZWRNYXRyaXgscz0wO3M8MTY7KytzKWk9aSYmdVtzXT09PW9bc10sdVtzXT1vW3NdO3ZhciBsPXQuY2xpZW50V2lkdGg9PT1mJiZ0LmNsaWVudEhlaWdodD09PXA7cmV0dXJuIGY9dC5jbGllbnRXaWR0aCxwPXQuY2xpZW50SGVpZ2h0LGk/IWw6KGg9TWF0aC5leHAoYy5jb21wdXRlZFJhZGl1c1swXSksITApfSxsb29rQXQ6ZnVuY3Rpb24odCxlLHIpe2MubG9va0F0KGMubGFzdFQoKSx0LGUscil9LHJvdGF0ZTpmdW5jdGlvbih0LGUscil7Yy5yb3RhdGUoYy5sYXN0VCgpLHQsZSxyKX0scGFuOmZ1bmN0aW9uKHQsZSxyKXtjLnBhbihjLmxhc3RUKCksdCxlLHIpfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCxlLHIpe2MudHJhbnNsYXRlKGMubGFzdFQoKSx0LGUscil9fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZCx7bWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5jb21wdXRlZE1hdHJpeH0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLnNldE1hdHJpeChjLmxhc3RUKCksdCksYy5jb21wdXRlZE1hdHJpeH0sZW51bWVyYWJsZTohMH0sbW9kZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGMuZ2V0TW9kZSgpfSxzZXQ6ZnVuY3Rpb24odCl7dmFyIGU9Yy5jb21wdXRlZFVwLnNsaWNlKCkscj1jLmNvbXB1dGVkRXllLnNsaWNlKCksYT1jLmNvbXB1dGVkQ2VudGVyLnNsaWNlKCk7aWYoYy5zZXRNb2RlKHQpLCJ0dXJudGFibGUiPT09dCl7dmFyIGk9bigpO2MuX2FjdGl2ZS5sb29rQXQoaSxyLGEsZSksYy5fYWN0aXZlLmxvb2tBdChpKzUwMCxyLGEsWzAsMCwxXSksYy5fYWN0aXZlLmZsdXNoKGkpfXJldHVybiBjLmdldE1vZGUoKX0sZW51bWVyYWJsZTohMH0sY2VudGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5jb21wdXRlZENlbnRlcn0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLmxvb2tBdChjLmxhc3RUKCksbnVsbCx0KSxjLmNvbXB1dGVkQ2VudGVyfSxlbnVtZXJhYmxlOiEwfSxleWU6e2dldDpmdW5jdGlvbigpe3JldHVybiBjLmNvbXB1dGVkRXllfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGMubG9va0F0KGMubGFzdFQoKSx0KSxjLmNvbXB1dGVkRXllfSxlbnVtZXJhYmxlOiEwfSx1cDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGMuY29tcHV0ZWRVcH0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLmxvb2tBdChjLmxhc3RUKCksbnVsbCxudWxsLHQpLGMuY29tcHV0ZWRVcH0sZW51bWVyYWJsZTohMH0sZGlzdGFuY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiBofSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGMuc2V0RGlzdGFuY2UoYy5sYXN0VCgpLHQpLHR9LGVudW1lcmFibGU6ITB9LGRpc3RhbmNlTGltaXRzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5nZXREaXN0YW5jZUxpbWl0cyhyKX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLnNldERpc3RhbmNlTGltaXRzKHQpLHR9LGVudW1lcmFibGU6ITB9fSksdC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24odCl7cmV0dXJuIHQucHJldmVudERlZmF1bHQoKSwhMX0pLGQuX2xhc3RYPS0xLGQuX2xhc3RZPS0xLGQuX2xhc3RNb2RzPXtzaGlmdDohMSxjb250cm9sOiExLGFsdDohMSxtZXRhOiExfSxkLmVuYWJsZU1vdXNlTGlzdGVuZXJzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHIsYSxpKXt2YXIgbz1kLmtleUJpbmRpbmdNb2RlO2lmKCExIT09byl7dmFyIHM9InJvdGF0ZSI9PT1vLGw9InBhbiI9PT1vLHU9Inpvb20iPT09byxmPSEhaS5jb250cm9sLHA9ISFpLmFsdCxnPSEhaS5zaGlmdCx2PSEhKDEmZSksbT0hISgyJmUpLHk9ISEoNCZlKSx4PTEvdC5jbGllbnRIZWlnaHQsYj14KihyLWQuX2xhc3RYKSxfPXgqKGEtZC5fbGFzdFkpLHc9ZC5mbGlwWD8xOi0xLGs9ZC5mbGlwWT8xOi0xLFQ9TWF0aC5QSSpkLnJvdGF0ZVNwZWVkLE09bigpO2lmKC0xIT09ZC5fbGFzdFgmJi0xIT09ZC5fbGFzdFkmJigocyYmdiYmIWYmJiFwJiYhZ3x8diYmIWYmJiFwJiZnKSYmYy5yb3RhdGUoTSx3KlQqYiwtaypUKl8sMCksKGwmJnYmJiFmJiYhcCYmIWd8fG18fHYmJmYmJiFwJiYhZykmJmMucGFuKE0sLWQudHJhbnNsYXRlU3BlZWQqYipoLGQudHJhbnNsYXRlU3BlZWQqXypoLDApLHUmJnYmJiFmJiYhcCYmIWd8fHl8fHYmJiFmJiZwJiYhZykpe3ZhciBBPS1kLnpvb21TcGVlZCpfL3dpbmRvdy5pbm5lckhlaWdodCooTS1jLmxhc3RUKCkpKjEwMDtjLnBhbihNLDAsMCxoKihNYXRoLmV4cChBKS0xKSl9cmV0dXJuIGQuX2xhc3RYPXIsZC5fbGFzdFk9YSxkLl9sYXN0TW9kcz1pLCEwfX1kLm1vdXNlTGlzdGVuZXI9aSh0LGUpLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24ocil7dmFyIG49cyhyLmNoYW5nZWRUb3VjaGVzWzBdLHQpO2UoMCxuWzBdLG5bMV0sZC5fbGFzdE1vZHMpLGUoMSxuWzBdLG5bMV0sZC5fbGFzdE1vZHMpLHIucHJldmVudERlZmF1bHQoKX0sISFsJiZ7cGFzc2l2ZTohMX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmdW5jdGlvbihyKXt2YXIgbj1zKHIuY2hhbmdlZFRvdWNoZXNbMF0sdCk7ZSgxLG5bMF0sblsxXSxkLl9sYXN0TW9kcyksci5wcmV2ZW50RGVmYXVsdCgpfSwhIWwmJntwYXNzaXZlOiExfSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24odCl7ZSgwLGQuX2xhc3RYLGQuX2xhc3RZLGQuX2xhc3RNb2RzKSx0LnByZXZlbnREZWZhdWx0KCl9LCEhbCYme3Bhc3NpdmU6ITF9KSxkLndoZWVsTGlzdGVuZXI9byh0LGZ1bmN0aW9uKHQsZSl7aWYoITEhPT1kLmtleUJpbmRpbmdNb2RlJiZkLmVuYWJsZVdoZWVsKXt2YXIgcj1kLmZsaXBYPzE6LTEsYT1kLmZsaXBZPzE6LTEsaT1uKCk7aWYoTWF0aC5hYnModCk+TWF0aC5hYnMoZSkpYy5yb3RhdGUoaSwwLDAsLXQqcipNYXRoLlBJKmQucm90YXRlU3BlZWQvd2luZG93LmlubmVyV2lkdGgpO2Vsc2UgaWYoIWQuX29ydGhvKXt2YXIgbz0tZC56b29tU3BlZWQqYSplL3dpbmRvdy5pbm5lckhlaWdodCooaS1jLmxhc3RUKCkpLzIwO2MucGFuKGksMCwwLGgqKE1hdGguZXhwKG8pLTEpKX19fSwhMCl9LGQuZW5hYmxlTW91c2VMaXN0ZW5lcnMoKSxkfTt2YXIgbj10KCJyaWdodC1ub3ciKSxhPXQoIjNkLXZpZXciKSxpPXQoIm1vdXNlLWNoYW5nZSIpLG89dCgibW91c2Utd2hlZWwiKSxzPXQoIm1vdXNlLWV2ZW50LW9mZnNldCIpLGw9dCgiaGFzLXBhc3NpdmUtZXZlbnRzIil9LHsiM2QtdmlldyI6NTQsImhhcy1wYXNzaXZlLWV2ZW50cyI6NDEzLCJtb3VzZS1jaGFuZ2UiOjQzNywibW91c2UtZXZlbnQtb2Zmc2V0Ijo0MzgsIm1vdXNlLXdoZWVsIjo0NDAsInJpZ2h0LW5vdyI6NTAzfV0sMjkyOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xzbGlmeSIpLGE9dCgiZ2wtc2hhZGVyIiksaT1uKFsicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuYXR0cmlidXRlIHZlYzIgcG9zaXRpb247XG52YXJ5aW5nIHZlYzIgdXY7XG52b2lkIG1haW4oKSB7XG4gIHV2ID0gcG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiwgMCwgMSk7XG59Il0pLG89bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSBzYW1wbGVyMkQgYWNjdW1CdWZmZXI7XG52YXJ5aW5nIHZlYzIgdXY7XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjNCBhY2N1bSA9IHRleHR1cmUyRChhY2N1bUJ1ZmZlciwgMC41ICogKHV2ICsgMS4wKSk7XG4gIGdsX0ZyYWdDb2xvciA9IG1pbih2ZWM0KDEsMSwxLDEpLCBhY2N1bSk7XG59Il0pO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gYSh0LGksbyxudWxsLFt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzIifV0pfX0seyJnbC1zaGFkZXIiOjMwNCxnbHNsaWZ5OjQxMX1dLDI5MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NhbWVyYS5qcyIpLGE9dCgiZ2wtYXhlczNkIiksaT10KCJnbC1heGVzM2QvcHJvcGVydGllcyIpLG89dCgiZ2wtc3Bpa2VzM2QiKSxzPXQoImdsLXNlbGVjdC1zdGF0aWMiKSxsPXQoImdsLWZibyIpLGM9dCgiYS1iaWctdHJpYW5nbGUiKSx1PXQoIm1vdXNlLWNoYW5nZSIpLGg9dCgiZ2wtbWF0NC9wZXJzcGVjdGl2ZSIpLGY9dCgiZ2wtbWF0NC9vcnRobyIpLHA9dCgiLi9saWIvc2hhZGVyIiksZD10KCJpcy1tb2JpbGUiKSh7dGFibGV0OiEwfSk7ZnVuY3Rpb24gZygpe3RoaXMubW91c2U9Wy0xLC0xXSx0aGlzLnNjcmVlbj1udWxsLHRoaXMuZGlzdGFuY2U9MS8wLHRoaXMuaW5kZXg9bnVsbCx0aGlzLmRhdGFDb29yZGluYXRlPW51bGwsdGhpcy5kYXRhUG9zaXRpb249bnVsbCx0aGlzLm9iamVjdD1udWxsLHRoaXMuZGF0YT1udWxsfWZ1bmN0aW9uIHYodCl7dmFyIGU9TWF0aC5yb3VuZChNYXRoLmxvZyhNYXRoLmFicyh0KSkvTWF0aC5sb2coMTApKTtpZihlPDApe3ZhciByPU1hdGgucm91bmQoTWF0aC5wb3coMTAsLWUpKTtyZXR1cm4gTWF0aC5jZWlsKHQqcikvcn1pZihlPjApe3I9TWF0aC5yb3VuZChNYXRoLnBvdygxMCxlKSk7cmV0dXJuIE1hdGguY2VpbCh0L3IpKnJ9cmV0dXJuIE1hdGguY2VpbCh0KX1mdW5jdGlvbiBtKHQpe3JldHVybiJib29sZWFuIiE9dHlwZW9mIHR8fHR9ZS5leHBvcnRzPXtjcmVhdGVTY2VuZTpmdW5jdGlvbih0KXsodD10fHx7fSkuY2FtZXJhPXQuY2FtZXJhfHx7fTt2YXIgZT10LmNhbnZhcztpZighZSlpZihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHQuY29udGFpbmVyKXt2YXIgcj10LmNvbnRhaW5lcjtyLmFwcGVuZENoaWxkKGUpfWVsc2UgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKTt2YXIgeT10LmdsO3l8fCh0LmdsT3B0aW9ucyYmKGQ9ISF0LmdsT3B0aW9ucy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIpLHk9ZnVuY3Rpb24odCxlKXt2YXIgcj1udWxsO3RyeXsocj10LmdldENvbnRleHQoIndlYmdsIixlKSl8fChyPXQuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIixlKSl9Y2F0Y2godCl7cmV0dXJuIG51bGx9cmV0dXJuIHJ9KGUsdC5nbE9wdGlvbnN8fHtwcmVtdWx0aXBsaWVkQWxwaGE6ITAsYW50aWFsaWFzOiEwLHByZXNlcnZlRHJhd2luZ0J1ZmZlcjpkfSkpO2lmKCF5KXRocm93IG5ldyBFcnJvcigid2ViZ2wgbm90IHN1cHBvcnRlZCIpO3ZhciB4PXQuYm91bmRzfHxbWy0xMCwtMTAsLTEwXSxbMTAsMTAsMTBdXSxiPW5ldyBnLF89bCh5LHkuZHJhd2luZ0J1ZmZlcldpZHRoLHkuZHJhd2luZ0J1ZmZlckhlaWdodCx7cHJlZmVyRmxvYXQ6IWR9KSx3PXAoeSksaz10LmNhbWVyYU9iamVjdCYmITA9PT10LmNhbWVyYU9iamVjdC5fb3J0aG98fHQuY2FtZXJhLnByb2plY3Rpb24mJiJvcnRob2dyYXBoaWMiPT09dC5jYW1lcmEucHJvamVjdGlvbi50eXBlfHwhMSxUPXtleWU6dC5jYW1lcmEuZXllfHxbMiwwLDBdLGNlbnRlcjp0LmNhbWVyYS5jZW50ZXJ8fFswLDAsMF0sdXA6dC5jYW1lcmEudXB8fFswLDEsMF0sem9vbU1pbjp0LmNhbWVyYS56b29tTWF4fHwuMSx6b29tTWF4OnQuY2FtZXJhLnpvb21NaW58fDEwMCxtb2RlOnQuY2FtZXJhLm1vZGV8fCJ0dXJudGFibGUiLF9vcnRobzprfSxNPXQuYXhlc3x8e30sQT1hKHksTSk7QS5lbmFibGU9IU0uZGlzYWJsZTt2YXIgUz10LnNwaWtlc3x8e30sRT1vKHksUyksTD1bXSxDPVtdLFA9W10sTz1bXSx6PSEwLEk9ITAsRD1uZXcgQXJyYXkoMTYpLFI9bmV3IEFycmF5KDE2KSxGPXt2aWV3Om51bGwscHJvamVjdGlvbjpELG1vZGVsOlIsX29ydGhvOiExfSxJPSEwLEI9W3kuZHJhd2luZ0J1ZmZlcldpZHRoLHkuZHJhd2luZ0J1ZmZlckhlaWdodF0sTj10LmNhbWVyYU9iamVjdHx8bihlLFQpLGo9e2dsOnksY29udGV4dExvc3Q6ITEscGl4ZWxSYXRpbzp0LnBpeGVsUmF0aW98fDEsY2FudmFzOmUsc2VsZWN0aW9uOmIsY2FtZXJhOk4sYXhlczpBLGF4ZXNQaXhlbHM6bnVsbCxzcGlrZXM6RSxib3VuZHM6eCxvYmplY3RzOkwsc2hhcGU6Qixhc3BlY3Q6dC5hc3BlY3RSYXRpb3x8WzEsMSwxXSxwaWNrUmFkaXVzOnQucGlja1JhZGl1c3x8MTAsek5lYXI6dC56TmVhcnx8LjAxLHpGYXI6dC56RmFyfHwxZTMsZm92eTp0LmZvdnl8fE1hdGguUEkvNCxjbGVhckNvbG9yOnQuY2xlYXJDb2xvcnx8WzAsMCwwLDBdLGF1dG9SZXNpemU6bSh0LmF1dG9SZXNpemUpLGF1dG9Cb3VuZHM6bSh0LmF1dG9Cb3VuZHMpLGF1dG9TY2FsZTohIXQuYXV0b1NjYWxlLGF1dG9DZW50ZXI6bSh0LmF1dG9DZW50ZXIpLGNsaXBUb0JvdW5kczptKHQuY2xpcFRvQm91bmRzKSxzbmFwVG9EYXRhOiEhdC5zbmFwVG9EYXRhLG9uc2VsZWN0OnQub25zZWxlY3R8fG51bGwsb25yZW5kZXI6dC5vbnJlbmRlcnx8bnVsbCxvbmNsaWNrOnQub25jbGlja3x8bnVsbCxjYW1lcmFQYXJhbXM6RixvbmNvbnRleHRsb3NzOm51bGwsbW91c2VMaXN0ZW5lcjpudWxsLF9zdG9wcGVkOiExLGdldEFzcGVjdHJhdGlvOmZ1bmN0aW9uKCl7cmV0dXJue3g6dGhpcy5hc3BlY3RbMF0seTp0aGlzLmFzcGVjdFsxXSx6OnRoaXMuYXNwZWN0WzJdfX0sc2V0QXNwZWN0cmF0aW86ZnVuY3Rpb24odCl7dGhpcy5hc3BlY3RbMF09dC54LHRoaXMuYXNwZWN0WzFdPXQueSx0aGlzLmFzcGVjdFsyXT10Lnp9LHNldEJvdW5kczpmdW5jdGlvbih0LGUpe3RoaXMuYm91bmRzWzBdW3RdPWUubWluLHRoaXMuYm91bmRzWzFdW3RdPWUubWF4fSxzZXRDbGVhckNvbG9yOmZ1bmN0aW9uKHQpe3RoaXMuY2xlYXJDb2xvcj10fSxjbGVhclJHQkE6ZnVuY3Rpb24oKXt0aGlzLmdsLmNsZWFyQ29sb3IodGhpcy5jbGVhckNvbG9yWzBdLHRoaXMuY2xlYXJDb2xvclsxXSx0aGlzLmNsZWFyQ29sb3JbMl0sdGhpcy5jbGVhckNvbG9yWzNdKSx0aGlzLmdsLmNsZWFyKHRoaXMuZ2wuQ09MT1JfQlVGRkVSX0JJVHx0aGlzLmdsLkRFUFRIX0JVRkZFUl9CSVQpfX0sVj1beS5kcmF3aW5nQnVmZmVyV2lkdGgvai5waXhlbFJhdGlvfDAseS5kcmF3aW5nQnVmZmVySGVpZ2h0L2oucGl4ZWxSYXRpb3wwXTtmdW5jdGlvbiBVKCl7aWYoIWouX3N0b3BwZWQmJmouYXV0b1Jlc2l6ZSl7dmFyIHQ9ZS5wYXJlbnROb2RlLHI9MSxuPTE7dCYmdCE9PWRvY3VtZW50LmJvZHk/KHI9dC5jbGllbnRXaWR0aCxuPXQuY2xpZW50SGVpZ2h0KToocj13aW5kb3cuaW5uZXJXaWR0aCxuPXdpbmRvdy5pbm5lckhlaWdodCk7dmFyIGE9MHxNYXRoLmNlaWwocipqLnBpeGVsUmF0aW8pLGk9MHxNYXRoLmNlaWwobipqLnBpeGVsUmF0aW8pO2lmKGEhPT1lLndpZHRofHxpIT09ZS5oZWlnaHQpe2Uud2lkdGg9YSxlLmhlaWdodD1pO3ZhciBvPWUuc3R5bGU7by5wb3NpdGlvbj1vLnBvc2l0aW9ufHwiYWJzb2x1dGUiLG8ubGVmdD0iMHB4IixvLnRvcD0iMHB4IixvLndpZHRoPXIrInB4IixvLmhlaWdodD1uKyJweCIsej0hMH19fWouYXV0b1Jlc2l6ZSYmVSgpO2Z1bmN0aW9uIHEoKXtmb3IodmFyIHQ9TC5sZW5ndGgsZT1PLmxlbmd0aCxyPTA7cjxlOysrcilQW3JdPTA7dDpmb3IodmFyIHI9MDtyPHQ7KytyKXt2YXIgbj1MW3JdLGE9bi5waWNrU2xvdHM7aWYoYSl7Zm9yKHZhciBpPTA7aTxlOysraSlpZihQW2ldK2E8MjU1KXtDW3JdPWksbi5zZXRQaWNrQmFzZShQW2ldKzEpLFBbaV0rPWE7Y29udGludWUgdH12YXIgbz1zKHksQik7Q1tyXT1lLE8ucHVzaChvKSxQLnB1c2goYSksbi5zZXRQaWNrQmFzZSgxKSxlKz0xfWVsc2UgQ1tyXT0tMX1mb3IoO2U+MCYmMD09PVBbZS0xXTspUC5wb3AoKSxPLnBvcCgpLmRpc3Bvc2UoKX1mdW5jdGlvbiBIKCl7aWYoai5jb250ZXh0TG9zdClyZXR1cm4hMDt5LmlzQ29udGV4dExvc3QoKSYmKGouY29udGV4dExvc3Q9ITAsai5tb3VzZUxpc3RlbmVyLmVuYWJsZWQ9ITEsai5zZWxlY3Rpb24ub2JqZWN0PW51bGwsai5vbmNvbnRleHRsb3NzJiZqLm9uY29udGV4dGxvc3MoKSl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsVSksai51cGRhdGU9ZnVuY3Rpb24odCl7ai5fc3RvcHBlZHx8KHQ9dHx8e30sej0hMCxJPSEwKX0sai5hZGQ9ZnVuY3Rpb24odCl7ai5fc3RvcHBlZHx8KHQuYXhlcz1BLEwucHVzaCh0KSxDLnB1c2goLTEpLHo9ITAsST0hMCxxKCkpfSxqLnJlbW92ZT1mdW5jdGlvbih0KXtpZighai5fc3RvcHBlZCl7dmFyIGU9TC5pbmRleE9mKHQpO2U8MHx8KEwuc3BsaWNlKGUsMSksQy5wb3AoKSx6PSEwLEk9ITAscSgpKX19LGouZGlzcG9zZT1mdW5jdGlvbigpe2lmKCFqLl9zdG9wcGVkJiYoai5fc3RvcHBlZD0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixVKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLEgpLGoubW91c2VMaXN0ZW5lci5lbmFibGVkPSExLCFqLmNvbnRleHRMb3N0KSl7QS5kaXNwb3NlKCksRS5kaXNwb3NlKCk7Zm9yKHZhciB0PTA7dDxMLmxlbmd0aDsrK3QpTFt0XS5kaXNwb3NlKCk7Xy5kaXNwb3NlKCk7Zm9yKHZhciB0PTA7dDxPLmxlbmd0aDsrK3QpT1t0XS5kaXNwb3NlKCk7dy5kaXNwb3NlKCkseT1udWxsLEE9bnVsbCxFPW51bGwsTD1bXX19LGouX21vdXNlUm90YXRpbmc9ITEsai5fcHJldkJ1dHRvbnM9MCxqLmVuYWJsZU1vdXNlTGlzdGVuZXJzPWZ1bmN0aW9uKCl7ai5tb3VzZUxpc3RlbmVyPXUoZSxmdW5jdGlvbih0LGUscil7aWYoIWouX3N0b3BwZWQpe3ZhciBuPU8ubGVuZ3RoLGE9TC5sZW5ndGgsaT1iLm9iamVjdDtiLmRpc3RhbmNlPTEvMCxiLm1vdXNlWzBdPWUsYi5tb3VzZVsxXT1yLGIub2JqZWN0PW51bGwsYi5zY3JlZW49bnVsbCxiLmRhdGFDb29yZGluYXRlPWIuZGF0YVBvc2l0aW9uPW51bGw7dmFyIG89ITE7aWYodCYmai5fcHJldkJ1dHRvbnMpai5fbW91c2VSb3RhdGluZz0hMDtlbHNle2ouX21vdXNlUm90YXRpbmcmJihJPSEwKSxqLl9tb3VzZVJvdGF0aW5nPSExO2Zvcih2YXIgcz0wO3M8bjsrK3Mpe3ZhciBsPU9bc10ucXVlcnkoZSxWWzFdLXItMSxqLnBpY2tSYWRpdXMpO2lmKGwpe2lmKGwuZGlzdGFuY2U+Yi5kaXN0YW5jZSljb250aW51ZTtmb3IodmFyIGM9MDtjPGE7KytjKXt2YXIgdT1MW2NdO2lmKENbY109PT1zKXt2YXIgaD11LnBpY2sobCk7aCYmKGIuYnV0dG9ucz10LGIuc2NyZWVuPWwuY29vcmQsYi5kaXN0YW5jZT1sLmRpc3RhbmNlLGIub2JqZWN0PXUsYi5pbmRleD1oLmRpc3RhbmNlLGIuZGF0YVBvc2l0aW9uPWgucG9zaXRpb24sYi5kYXRhQ29vcmRpbmF0ZT1oLmRhdGFDb29yZGluYXRlLGIuZGF0YT1oLG89ITApfX19fX1pJiZpIT09Yi5vYmplY3QmJihpLmhpZ2hsaWdodCYmaS5oaWdobGlnaHQobnVsbCksej0hMCksYi5vYmplY3QmJihiLm9iamVjdC5oaWdobGlnaHQmJmIub2JqZWN0LmhpZ2hsaWdodChiLmRhdGEpLHo9ITApLChvPW98fGIub2JqZWN0IT09aSkmJmoub25zZWxlY3QmJmoub25zZWxlY3QoYiksMSZ0JiYhKDEmai5fcHJldkJ1dHRvbnMpJiZqLm9uY2xpY2smJmoub25jbGljayhiKSxqLl9wcmV2QnV0dG9ucz10fX0pfSxlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLEgpO3ZhciBHPVtbMS8wLDEvMCwxLzBdLFstMS8wLC0xLzAsLTEvMF1dLFk9W0dbMF0uc2xpY2UoKSxHWzFdLnNsaWNlKCldO2Z1bmN0aW9uIFcoKXtpZighSCgpKXtVKCk7dmFyIHQ9ai5jYW1lcmEudGljaygpO0Yudmlldz1qLmNhbWVyYS5tYXRyaXgsej16fHx0LEk9SXx8dCxBLnBpeGVsUmF0aW89ai5waXhlbFJhdGlvLEUucGl4ZWxSYXRpbz1qLnBpeGVsUmF0aW87dmFyIGU9TC5sZW5ndGgscj1HWzBdLG49R1sxXTtyWzBdPXJbMV09clsyXT0xLzAsblswXT1uWzFdPW5bMl09LTEvMDtmb3IodmFyIGE9MDthPGU7KythKXt2YXIgbz1MW2FdO28ucGl4ZWxSYXRpbz1qLnBpeGVsUmF0aW8sby5heGVzPWouYXhlcyx6PXp8fCEhby5kaXJ0eSxJPUl8fCEhby5kaXJ0eTt2YXIgcz1vLmJvdW5kcztpZihzKWZvcih2YXIgbD1zWzBdLHU9c1sxXSxwPTA7cDwzOysrcClyW3BdPU1hdGgubWluKHJbcF0sbFtwXSksbltwXT1NYXRoLm1heChuW3BdLHVbcF0pfXZhciBkPWouYm91bmRzO2lmKGouYXV0b0JvdW5kcylmb3IodmFyIHA9MDtwPDM7KytwKXtpZihuW3BdPHJbcF0pcltwXT0tMSxuW3BdPTE7ZWxzZXtyW3BdPT09bltwXSYmKHJbcF0tPTEsbltwXSs9MSk7dmFyIGc9LjA1KihuW3BdLXJbcF0pO3JbcF09cltwXS1nLG5bcF09bltwXStnfWRbMF1bcF09cltwXSxkWzFdW3BdPW5bcF19Zm9yKHZhciBtPSExLHA9MDtwPDM7KytwKW09bXx8WVswXVtwXSE9PWRbMF1bcF18fFlbMV1bcF0hPT1kWzFdW3BdLFlbMF1bcF09ZFswXVtwXSxZWzFdW3BdPWRbMV1bcF07aWYoST1JfHxtLHo9enx8bSl7aWYobSl7Zm9yKHZhciB4PVswLDAsMF0sYT0wO2E8MzsrK2EpeFthXT12KChkWzFdW2FdLWRbMF1bYV0pLzEwKTtBLmF1dG9UaWNrcz9BLnVwZGF0ZSh7Ym91bmRzOmQsdGlja1NwYWNpbmc6eH0pOkEudXBkYXRlKHtib3VuZHM6ZH0pfXZhciBUPXkuZHJhd2luZ0J1ZmZlcldpZHRoLE09eS5kcmF3aW5nQnVmZmVySGVpZ2h0O0JbMF09VCxCWzFdPU0sVlswXT0wfE1hdGgubWF4KFQvai5waXhlbFJhdGlvLDEpLFZbMV09MHxNYXRoLm1heChNL2oucGl4ZWxSYXRpbywxKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYm91bmRzLG49dC5jYW1lcmFQYXJhbXMsYT1uLnByb2plY3Rpb24saT1uLm1vZGVsLG89dC5nbC5kcmF3aW5nQnVmZmVyV2lkdGgscz10LmdsLmRyYXdpbmdCdWZmZXJIZWlnaHQsbD10LnpOZWFyLGM9dC56RmFyLHU9dC5mb3Z5LHA9by9zO2U/KGYoYSwtcCxwLC0xLDEsbCxjKSxuLl9vcnRobz0hMCk6KGgoYSx1LHAsbCxjKSxuLl9vcnRobz0hMSk7Zm9yKHZhciBkPTA7ZDwxNjsrK2QpaVtkXT0wO2lbMTVdPTE7Zm9yKHZhciBnPTAsZD0wO2Q8MzsrK2QpZz1NYXRoLm1heChnLHJbMV1bZF0tclswXVtkXSk7Zm9yKHZhciBkPTA7ZDwzOysrZCl0LmF1dG9TY2FsZT9pWzUqZF09dC5hc3BlY3RbZF0vKHJbMV1bZF0tclswXVtkXSk6aVs1KmRdPTEvZyx0LmF1dG9DZW50ZXImJihpWzEyK2RdPS41Ki1pWzUqZF0qKHJbMF1bZF0rclsxXVtkXSkpfShqLGspO2Zvcih2YXIgYT0wO2E8ZTsrK2Epe3ZhciBvPUxbYV07by5heGVzQm91bmRzPWQsai5jbGlwVG9Cb3VuZHMmJihvLmNsaXBCb3VuZHM9ZCl9Yi5vYmplY3QmJihqLnNuYXBUb0RhdGE/RS5wb3NpdGlvbj1iLmRhdGFDb29yZGluYXRlOkUucG9zaXRpb249Yi5kYXRhUG9zaXRpb24sRS5ib3VuZHM9ZCksSSYmKEk9ITEsZnVuY3Rpb24oKXtpZihIKCkpcmV0dXJuO3kuY29sb3JNYXNrKCEwLCEwLCEwLCEwKSx5LmRlcHRoTWFzayghMCkseS5kaXNhYmxlKHkuQkxFTkQpLHkuZW5hYmxlKHkuREVQVEhfVEVTVCkseS5kZXB0aEZ1bmMoeS5MRVFVQUwpO2Zvcih2YXIgdD1MLmxlbmd0aCxlPU8ubGVuZ3RoLHI9MDtyPGU7KytyKXt2YXIgbj1PW3JdO24uc2hhcGU9VixuLmJlZ2luKCk7Zm9yKHZhciBhPTA7YTx0OysrYSlpZihDW2FdPT09cil7dmFyIGk9TFthXTtpLmRyYXdQaWNrJiYoaS5waXhlbFJhdGlvPTEsaS5kcmF3UGljayhGKSl9bi5lbmQoKX19KCkpLGouYXhlc1BpeGVscz1pKGouYXhlcyxGLFQsTSksai5vbnJlbmRlciYmai5vbnJlbmRlcigpLHkuYmluZEZyYW1lYnVmZmVyKHkuRlJBTUVCVUZGRVIsbnVsbCkseS52aWV3cG9ydCgwLDAsVCxNKSxqLmNsZWFyUkdCQSgpLHkuZGVwdGhNYXNrKCEwKSx5LmNvbG9yTWFzayghMCwhMCwhMCwhMCkseS5lbmFibGUoeS5ERVBUSF9URVNUKSx5LmRlcHRoRnVuYyh5LkxFUVVBTCkseS5kaXNhYmxlKHkuQkxFTkQpLHkuZGlzYWJsZSh5LkNVTExfRkFDRSk7dmFyIFM9ITE7QS5lbmFibGUmJihTPVN8fEEuaXNUcmFuc3BhcmVudCgpLEEuZHJhdyhGKSksRS5heGVzPUEsYi5vYmplY3QmJkUuZHJhdyhGKSx5LmRpc2FibGUoeS5DVUxMX0ZBQ0UpO2Zvcih2YXIgYT0wO2E8ZTsrK2Epe3ZhciBvPUxbYV07by5heGVzPUEsby5waXhlbFJhdGlvPWoucGl4ZWxSYXRpbyxvLmlzT3BhcXVlJiZvLmlzT3BhcXVlKCkmJm8uZHJhdyhGKSxvLmlzVHJhbnNwYXJlbnQmJm8uaXNUcmFuc3BhcmVudCgpJiYoUz0hMCl9aWYoUyl7Xy5zaGFwZT1CLF8uYmluZCgpLHkuY2xlYXIoeS5ERVBUSF9CVUZGRVJfQklUKSx5LmNvbG9yTWFzayghMSwhMSwhMSwhMSkseS5kZXB0aE1hc2soITApLHkuZGVwdGhGdW5jKHkuTEVTUyksQS5lbmFibGUmJkEuaXNUcmFuc3BhcmVudCgpJiZBLmRyYXdUcmFuc3BhcmVudChGKTtmb3IodmFyIGE9MDthPGU7KythKXt2YXIgbz1MW2FdO28uaXNPcGFxdWUmJm8uaXNPcGFxdWUoKSYmby5kcmF3KEYpfXkuZW5hYmxlKHkuQkxFTkQpLHkuYmxlbmRFcXVhdGlvbih5LkZVTkNfQUREKSx5LmJsZW5kRnVuYyh5Lk9ORSx5Lk9ORV9NSU5VU19TUkNfQUxQSEEpLHkuY29sb3JNYXNrKCEwLCEwLCEwLCEwKSx5LmRlcHRoTWFzayghMSkseS5jbGVhckNvbG9yKDAsMCwwLDApLHkuY2xlYXIoeS5DT0xPUl9CVUZGRVJfQklUKSxBLmlzVHJhbnNwYXJlbnQoKSYmQS5kcmF3VHJhbnNwYXJlbnQoRik7Zm9yKHZhciBhPTA7YTxlOysrYSl7dmFyIG89TFthXTtvLmlzVHJhbnNwYXJlbnQmJm8uaXNUcmFuc3BhcmVudCgpJiZvLmRyYXdUcmFuc3BhcmVudChGKX15LmJpbmRGcmFtZWJ1ZmZlcih5LkZSQU1FQlVGRkVSLG51bGwpLHkuYmxlbmRGdW5jKHkuT05FLHkuT05FX01JTlVTX1NSQ19BTFBIQSkseS5kaXNhYmxlKHkuREVQVEhfVEVTVCksdy5iaW5kKCksXy5jb2xvclswXS5iaW5kKDApLHcudW5pZm9ybXMuYWNjdW1CdWZmZXI9MCxjKHkpLHkuZGlzYWJsZSh5LkJMRU5EKX16PSExO2Zvcih2YXIgYT0wO2E8ZTsrK2EpTFthXS5kaXJ0eT0hMX19fXJldHVybiBqLmVuYWJsZU1vdXNlTGlzdGVuZXJzKCksZnVuY3Rpb24gdCgpe2ouX3N0b3BwZWR8fGouY29udGV4dExvc3R8fChXKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpKX0oKSxqLnJlZHJhdz1mdW5jdGlvbigpe2ouX3N0b3BwZWR8fCh6PSEwLFcoKSl9LGp9LGNyZWF0ZUNhbWVyYTpufX0seyIuL2NhbWVyYS5qcyI6MjkxLCIuL2xpYi9zaGFkZXIiOjI5MiwiYS1iaWctdHJpYW5nbGUiOjYyLCJnbC1heGVzM2QiOjIzNiwiZ2wtYXhlczNkL3Byb3BlcnRpZXMiOjI0MywiZ2wtZmJvIjoyNTIsImdsLW1hdDQvb3J0aG8iOjI3MSwiZ2wtbWF0NC9wZXJzcGVjdGl2ZSI6MjcyLCJnbC1zZWxlY3Qtc3RhdGljIjozMDMsImdsLXNwaWtlczNkIjozMTMsImlzLW1vYmlsZSI6NDIyLCJtb3VzZS1jaGFuZ2UiOjQzN31dLDI5NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsc2xpZnkiKTtyLnBvaW50VmVydGV4PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuXG51bmlmb3JtIG1hdDMgbWF0cml4O1xudW5pZm9ybSBmbG9hdCBwb2ludFNpemU7XG51bmlmb3JtIGZsb2F0IHBvaW50Q2xvdWQ7XG5cbmhpZ2hwIGZsb2F0IHJhbmQodmVjMiBjbykge1xuICBoaWdocCBmbG9hdCBhID0gMTIuOTg5ODtcbiAgaGlnaHAgZmxvYXQgYiA9IDc4LjIzMztcbiAgaGlnaHAgZmxvYXQgYyA9IDQzNzU4LjU0NTM7XG4gIGhpZ2hwIGZsb2F0IGQgPSBkb3QoY28ueHksIHZlYzIoYSwgYikpO1xuICBoaWdocCBmbG9hdCBlID0gbW9kKGQsIDMuMTQpO1xuICByZXR1cm4gZnJhY3Qoc2luKGUpICogYyk7XG59XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjMyBoZ1Bvc2l0aW9uID0gbWF0cml4ICogdmVjMyhwb3NpdGlvbiwgMSk7XG4gIGdsX1Bvc2l0aW9uICA9IHZlYzQoaGdQb3NpdGlvbi54eSwgMCwgaGdQb3NpdGlvbi56KTtcbiAgICAvLyBpZiB3ZSBkb24ndCBqaXR0ZXIgdGhlIHBvaW50IHNpemUgYSBiaXQsIG92ZXJhbGwgcG9pbnQgY2xvdWRcbiAgICAvLyBzYXR1cmF0aW9uICdqdW1wcycgb24gem9vbWluZywgd2hpY2ggaXMgZGlzdHVyYmluZyBhbmQgY29uZnVzaW5nXG4gIGdsX1BvaW50U2l6ZSA9IHBvaW50U2l6ZSAqICgoMTkuNSArIHJhbmQocG9zaXRpb24pKSAvIDIwLjApO1xuICBpZihwb2ludENsb3VkICE9IDAuMCkgeyAvLyBwb2ludENsb3VkIGlzIHRydXRoeVxuICAgIC8vIGdldCB0aGUgc2FtZSBzcXVhcmUgc3VyZmFjZSBhcyBjaXJjbGUgd291bGQgYmVcbiAgICBnbF9Qb2ludFNpemUgKj0gMC44ODY7XG4gIH1cbn0iXSksci5wb2ludEZyYWdtZW50PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnVuaWZvcm0gdmVjNCBjb2xvciwgYm9yZGVyQ29sb3I7XG51bmlmb3JtIGZsb2F0IGNlbnRlckZyYWN0aW9uO1xudW5pZm9ybSBmbG9hdCBwb2ludENsb3VkO1xuXG52b2lkIG1haW4oKSB7XG4gIGZsb2F0IHJhZGl1cztcbiAgdmVjNCBiYXNlQ29sb3I7XG4gIGlmKHBvaW50Q2xvdWQgIT0gMC4wKSB7IC8vIHBvaW50Q2xvdWQgaXMgdHJ1dGh5XG4gICAgaWYoY2VudGVyRnJhY3Rpb24gPT0gMS4wKSB7XG4gICAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgZ2xfRnJhZ0NvbG9yID0gbWl4KGJvcmRlckNvbG9yLCBjb2xvciwgY2VudGVyRnJhY3Rpb24pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByYWRpdXMgPSBsZW5ndGgoMi4wICogZ2xfUG9pbnRDb29yZC54eSAtIDEuMCk7XG4gICAgaWYocmFkaXVzID4gMS4wKSB7XG4gICAgICBkaXNjYXJkO1xuICAgIH1cbiAgICBiYXNlQ29sb3IgPSBtaXgoYm9yZGVyQ29sb3IsIGNvbG9yLCBzdGVwKHJhZGl1cywgY2VudGVyRnJhY3Rpb24pKTtcbiAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGJhc2VDb2xvci5yZ2IgKiBiYXNlQ29sb3IuYSwgYmFzZUNvbG9yLmEpO1xuICB9XG59XG4iXSksci5waWNrVmVydGV4PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgcGlja0lkO1xuXG51bmlmb3JtIG1hdDMgbWF0cml4O1xudW5pZm9ybSBmbG9hdCBwb2ludFNpemU7XG51bmlmb3JtIHZlYzQgcGlja09mZnNldDtcblxudmFyeWluZyB2ZWM0IGZyYWdJZDtcblxudm9pZCBtYWluKCkge1xuICB2ZWMzIGhnUG9zaXRpb24gPSBtYXRyaXggKiB2ZWMzKHBvc2l0aW9uLCAxKTtcbiAgZ2xfUG9zaXRpb24gID0gdmVjNChoZ1Bvc2l0aW9uLnh5LCAwLCBoZ1Bvc2l0aW9uLnopO1xuICBnbF9Qb2ludFNpemUgPSBwb2ludFNpemU7XG5cbiAgdmVjNCBpZCA9IHBpY2tJZCArIHBpY2tPZmZzZXQ7XG4gIGlkLnkgKz0gZmxvb3IoaWQueCAvIDI1Ni4wKTtcbiAgaWQueCAtPSBmbG9vcihpZC54IC8gMjU2LjApICogMjU2LjA7XG5cbiAgaWQueiArPSBmbG9vcihpZC55IC8gMjU2LjApO1xuICBpZC55IC09IGZsb29yKGlkLnkgLyAyNTYuMCkgKiAyNTYuMDtcblxuICBpZC53ICs9IGZsb29yKGlkLnogLyAyNTYuMCk7XG4gIGlkLnogLT0gZmxvb3IoaWQueiAvIDI1Ni4wKSAqIDI1Ni4wO1xuXG4gIGZyYWdJZCA9IGlkO1xufVxuIl0pLHIucGlja0ZyYWdtZW50PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnSWQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgZmxvYXQgcmFkaXVzID0gbGVuZ3RoKDIuMCAqIGdsX1BvaW50Q29vcmQueHkgLSAxLjApO1xuICBpZihyYWRpdXMgPiAxLjApIHtcbiAgICBkaXNjYXJkO1xuICB9XG4gIGdsX0ZyYWdDb2xvciA9IGZyYWdJZCAvIDI1NS4wO1xufVxuIl0pfSx7Z2xzbGlmeTo0MTF9XSwyOTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbC1idWZmZXIiKSxpPXQoInR5cGVkYXJyYXktcG9vbCIpLG89dCgiLi9saWIvc2hhZGVyIik7ZnVuY3Rpb24gcyh0LGUscixuLGEpe3RoaXMucGxvdD10LHRoaXMub2Zmc2V0QnVmZmVyPWUsdGhpcy5waWNrQnVmZmVyPXIsdGhpcy5zaGFkZXI9bix0aGlzLnBpY2tTaGFkZXI9YSx0aGlzLnNpemVNaW49LjUsdGhpcy5zaXplTWluQ2FwPTIsdGhpcy5zaXplTWF4PTIwLHRoaXMuYXJlYVJhdGlvPTEsdGhpcy5wb2ludENvdW50PTAsdGhpcy5jb2xvcj1bMSwwLDAsMV0sdGhpcy5ib3JkZXJDb2xvcj1bMCwwLDAsMV0sdGhpcy5ibGVuZD0hMSx0aGlzLnBpY2tPZmZzZXQ9MCx0aGlzLnBvaW50cz1udWxsfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuZ2wsaT1hKHIpLGw9YShyKSxjPW4ocixvLnBvaW50VmVydGV4LG8ucG9pbnRGcmFnbWVudCksdT1uKHIsby5waWNrVmVydGV4LG8ucGlja0ZyYWdtZW50KSxoPW5ldyBzKHQsaSxsLGMsdSk7cmV0dXJuIGgudXBkYXRlKGUpLHQuYWRkT2JqZWN0KGgpLGh9O3ZhciBsLGMsdT1zLnByb3RvdHlwZTt1LmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLm9mZnNldEJ1ZmZlci5kaXNwb3NlKCksdGhpcy5waWNrQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLnBsb3QucmVtb3ZlT2JqZWN0KHRoaXMpfSx1LnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZTtmdW5jdGlvbiByKGUscil7cmV0dXJuIGUgaW4gdD90W2VdOnJ9dD10fHx7fSx0aGlzLnNpemVNaW49cigic2l6ZU1pbiIsLjUpLHRoaXMuc2l6ZU1heD1yKCJzaXplTWF4IiwyMCksdGhpcy5jb2xvcj1yKCJjb2xvciIsWzEsMCwwLDFdKS5zbGljZSgpLHRoaXMuYXJlYVJhdGlvPXIoImFyZWFSYXRpbyIsMSksdGhpcy5ib3JkZXJDb2xvcj1yKCJib3JkZXJDb2xvciIsWzAsMCwwLDFdKS5zbGljZSgpLHRoaXMuYmxlbmQ9cigiYmxlbmQiLCExKTt2YXIgbj10LnBvc2l0aW9ucy5sZW5ndGg+Pj4xLGE9dC5wb3NpdGlvbnMgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXksbz10LmlkVG9JbmRleCBpbnN0YW5jZW9mIEludDMyQXJyYXkmJnQuaWRUb0luZGV4Lmxlbmd0aD49bixzPXQucG9zaXRpb25zLGw9YT9zOmkubWFsbG9jRmxvYXQzMihzLmxlbmd0aCksYz1vP3QuaWRUb0luZGV4OmkubWFsbG9jSW50MzIobik7aWYoYXx8bC5zZXQocyksIW8pZm9yKGwuc2V0KHMpLGU9MDtlPG47ZSsrKWNbZV09ZTt0aGlzLnBvaW50cz1zLHRoaXMub2Zmc2V0QnVmZmVyLnVwZGF0ZShsKSx0aGlzLnBpY2tCdWZmZXIudXBkYXRlKGMpLGF8fGkuZnJlZShsKSxvfHxpLmZyZWUoYyksdGhpcy5wb2ludENvdW50PW4sdGhpcy5waWNrT2Zmc2V0PTB9LHUudW5pZmllZERyYXc9KGw9WzEsMCwwLDAsMSwwLDAsMCwxXSxjPVswLDAsMCwwXSxmdW5jdGlvbih0KXt2YXIgZT12b2lkIDAhPT10LHI9ZT90aGlzLnBpY2tTaGFkZXI6dGhpcy5zaGFkZXIsbj10aGlzLnBsb3QuZ2wsYT10aGlzLnBsb3QuZGF0YUJveDtpZigwPT09dGhpcy5wb2ludENvdW50KXJldHVybiB0O3ZhciBpPWFbMl0tYVswXSxvPWFbM10tYVsxXSxzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj0wLGE9dC5sZW5ndGg+Pj4xO2ZvcihyPTA7cjxhO3IrKyl7dmFyIGk9dFsyKnJdLG89dFsyKnIrMV07aT49ZVswXSYmaTw9ZVsyXSYmbz49ZVsxXSYmbzw9ZVszXSYmbisrfXJldHVybiBufSh0aGlzLnBvaW50cyxhKSx1PXRoaXMucGxvdC5waWNrUGl4ZWxSYXRpbypNYXRoLm1heChNYXRoLm1pbih0aGlzLnNpemVNaW5DYXAsdGhpcy5zaXplTWluKSxNYXRoLm1pbih0aGlzLnNpemVNYXgsdGhpcy5zaXplTWF4L01hdGgucG93KHMsLjMzMzMzKSkpO2xbMF09Mi9pLGxbNF09Mi9vLGxbNl09LTIqYVswXS9pLTEsbFs3XT0tMiphWzFdL28tMSx0aGlzLm9mZnNldEJ1ZmZlci5iaW5kKCksci5iaW5kKCksci5hdHRyaWJ1dGVzLnBvc2l0aW9uLnBvaW50ZXIoKSxyLnVuaWZvcm1zLm1hdHJpeD1sLHIudW5pZm9ybXMuY29sb3I9dGhpcy5jb2xvcixyLnVuaWZvcm1zLmJvcmRlckNvbG9yPXRoaXMuYm9yZGVyQ29sb3Isci51bmlmb3Jtcy5wb2ludENsb3VkPXU8NSxyLnVuaWZvcm1zLnBvaW50U2l6ZT11LHIudW5pZm9ybXMuY2VudGVyRnJhY3Rpb249TWF0aC5taW4oMSxNYXRoLm1heCgwLE1hdGguc3FydCgxLXRoaXMuYXJlYVJhdGlvKSkpLGUmJihjWzBdPTI1NSZ0LGNbMV09dD4+OCYyNTUsY1syXT10Pj4xNiYyNTUsY1szXT10Pj4yNCYyNTUsdGhpcy5waWNrQnVmZmVyLmJpbmQoKSxyLmF0dHJpYnV0ZXMucGlja0lkLnBvaW50ZXIobi5VTlNJR05FRF9CWVRFKSxyLnVuaWZvcm1zLnBpY2tPZmZzZXQ9Yyx0aGlzLnBpY2tPZmZzZXQ9dCk7dmFyIGg9bi5nZXRQYXJhbWV0ZXIobi5CTEVORCksZj1uLmdldFBhcmFtZXRlcihuLkRJVEhFUik7cmV0dXJuIGgmJiF0aGlzLmJsZW5kJiZuLmRpc2FibGUobi5CTEVORCksZiYmbi5kaXNhYmxlKG4uRElUSEVSKSxuLmRyYXdBcnJheXMobi5QT0lOVFMsMCx0aGlzLnBvaW50Q291bnQpLGgmJiF0aGlzLmJsZW5kJiZuLmVuYWJsZShuLkJMRU5EKSxmJiZuLmVuYWJsZShuLkRJVEhFUiksdCt0aGlzLnBvaW50Q291bnR9KSx1LmRyYXc9dS51bmlmaWVkRHJhdyx1LmRyYXdQaWNrPXUudW5pZmllZERyYXcsdS5waWNrPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnBpY2tPZmZzZXQsYT10aGlzLnBvaW50Q291bnQ7aWYocjxufHxyPj1uK2EpcmV0dXJuIG51bGw7dmFyIGk9ci1uLG89dGhpcy5wb2ludHM7cmV0dXJue29iamVjdDp0aGlzLHBvaW50SWQ6aSxkYXRhQ29vcmQ6W29bMippXSxvWzIqaSsxXV19fX0seyIuL2xpYi9zaGFkZXIiOjI5NCwiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDI5NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXt2YXIgYSxpLG8scyxsLGM9ZVswXSx1PWVbMV0saD1lWzJdLGY9ZVszXSxwPXJbMF0sZD1yWzFdLGc9clsyXSx2PXJbM107KGk9YypwK3UqZCtoKmcrZip2KTwwJiYoaT0taSxwPS1wLGQ9LWQsZz0tZyx2PS12KTsxLWk+MWUtNj8oYT1NYXRoLmFjb3MoaSksbz1NYXRoLnNpbihhKSxzPU1hdGguc2luKCgxLW4pKmEpL28sbD1NYXRoLnNpbihuKmEpL28pOihzPTEtbixsPW4pO3JldHVybiB0WzBdPXMqYytsKnAsdFsxXT1zKnUrbCpkLHRbMl09cypoK2wqZyx0WzNdPXMqZitsKnYsdH19LHt9XSwyOTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0fHwwPT09dD90LnRvU3RyaW5nKCk6IiJ9fSx7fV0sMjk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInZlY3Rvcml6ZS10ZXh0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1hW2VdO2l8fChpPWFbZV09e30pO2lmKHQgaW4gaSlyZXR1cm4gaVt0XTt2YXIgbz17dGV4dEFsaWduOiJjZW50ZXIiLHRleHRCYXNlbGluZToibWlkZGxlIixsaW5lSGVpZ2h0OjEsZm9udDplLGxpbmVTcGFjaW5nOjEuMjUsc3R5bGV0YWdzOnticmVha2xpbmVzOiEwLGJvbGRzOiEwLGl0YWxpY3M6ITAsc3Vic2NyaXB0czohMCxzdXBlcnNjcmlwdHM6ITB9LHRyaWFuZ2xlczohMH0scz1uKHQsbyk7by50cmlhbmdsZXM9ITE7dmFyIGwsYyx1PW4odCxvKTtpZihyJiYxIT09cil7Zm9yKGw9MDtsPHMucG9zaXRpb25zLmxlbmd0aDsrK2wpZm9yKGM9MDtjPHMucG9zaXRpb25zW2xdLmxlbmd0aDsrK2Mpcy5wb3NpdGlvbnNbbF1bY10vPXI7Zm9yKGw9MDtsPHUucG9zaXRpb25zLmxlbmd0aDsrK2wpZm9yKGM9MDtjPHUucG9zaXRpb25zW2xdLmxlbmd0aDsrK2MpdS5wb3NpdGlvbnNbbF1bY10vPXJ9dmFyIGg9W1sxLzAsMS8wXSxbLTEvMCwtMS8wXV0sZj11LnBvc2l0aW9ucy5sZW5ndGg7Zm9yKGw9MDtsPGY7KytsKXt2YXIgcD11LnBvc2l0aW9uc1tsXTtmb3IoYz0wO2M8MjsrK2MpaFswXVtjXT1NYXRoLm1pbihoWzBdW2NdLHBbY10pLGhbMV1bY109TWF0aC5tYXgoaFsxXVtjXSxwW2NdKX1yZXR1cm4gaVt0XT1bcyx1LGhdfTt2YXIgYT17fX0seyJ2ZWN0b3JpemUtdGV4dCI6NTQ5fV0sMjk5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbHNsaWZ5IiksaT1hKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMiBnbHlwaDtcbmF0dHJpYnV0ZSB2ZWM0IGlkO1xuXG51bmlmb3JtIHZlYzQgaGlnaGxpZ2h0SWQ7XG51bmlmb3JtIGZsb2F0IGhpZ2hsaWdodFNjYWxlO1xudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjNCBwaWNrSWQ7XG52YXJ5aW5nIHZlYzMgZGF0YUNvb3JkaW5hdGU7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgcG9zaXRpb24pKSB7XG5cbiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvYXQgc2NhbGUgPSAxLjA7XG4gICAgaWYoZGlzdGFuY2UoaGlnaGxpZ2h0SWQsIGlkKSA8IDAuMDAwMSkge1xuICAgICAgc2NhbGUgPSBoaWdobGlnaHRTY2FsZTtcbiAgICB9XG5cbiAgICB2ZWM0IHdvcmxkUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEpO1xuICAgIHZlYzQgdmlld1Bvc2l0aW9uID0gdmlldyAqIHdvcmxkUG9zaXRpb247XG4gICAgdmlld1Bvc2l0aW9uID0gdmlld1Bvc2l0aW9uIC8gdmlld1Bvc2l0aW9uLnc7XG4gICAgdmVjNCBjbGlwUG9zaXRpb24gPSBwcm9qZWN0aW9uICogKHZpZXdQb3NpdGlvbiArIHNjYWxlICogdmVjNChnbHlwaC54LCAtZ2x5cGgueSwgMCwgMCkpO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBjbGlwUG9zaXRpb247XG4gICAgaW50ZXJwQ29sb3IgPSBjb2xvcjtcbiAgICBwaWNrSWQgPSBpZDtcbiAgICBkYXRhQ29vcmRpbmF0ZSA9IHBvc2l0aW9uO1xuICB9XG59Il0pLG89YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuYXR0cmlidXRlIHZlYzIgZ2x5cGg7XG5hdHRyaWJ1dGUgdmVjNCBpZDtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMyIHNjcmVlblNpemU7XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gZmxvYXQgaGlnaGxpZ2h0U2NhbGUsIHBpeGVsUmF0aW87XG51bmlmb3JtIHZlYzQgaGlnaGxpZ2h0SWQ7XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjNCBwaWNrSWQ7XG52YXJ5aW5nIHZlYzMgZGF0YUNvb3JkaW5hdGU7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgcG9zaXRpb24pKSB7XG5cbiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvYXQgc2NhbGUgPSBwaXhlbFJhdGlvO1xuICAgIGlmKGRpc3RhbmNlKGhpZ2hsaWdodElkLmJnciwgaWQuYmdyKSA8IDAuMDAxKSB7XG4gICAgICBzY2FsZSAqPSBoaWdobGlnaHRTY2FsZTtcbiAgICB9XG5cbiAgICB2ZWM0IHdvcmxkUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gICAgdmVjNCB2aWV3UG9zaXRpb24gPSB2aWV3ICogd29ybGRQb3NpdGlvbjtcbiAgICB2ZWM0IGNsaXBQb3NpdGlvbiA9IHByb2plY3Rpb24gKiB2aWV3UG9zaXRpb247XG4gICAgY2xpcFBvc2l0aW9uIC89IGNsaXBQb3NpdGlvbi53O1xuXG4gICAgZ2xfUG9zaXRpb24gPSBjbGlwUG9zaXRpb24gKyB2ZWM0KHNjcmVlblNpemUgKiBzY2FsZSAqIHZlYzIoZ2x5cGgueCwgLWdseXBoLnkpLCAwLjAsIDAuMCk7XG4gICAgaW50ZXJwQ29sb3IgPSBjb2xvcjtcbiAgICBwaWNrSWQgPSBpZDtcbiAgICBkYXRhQ29vcmRpbmF0ZSA9IHBvc2l0aW9uO1xuICB9XG59Il0pLHM9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuYXR0cmlidXRlIHZlYzIgZ2x5cGg7XG5hdHRyaWJ1dGUgdmVjNCBpZDtcblxudW5pZm9ybSBmbG9hdCBoaWdobGlnaHRTY2FsZTtcbnVuaWZvcm0gdmVjNCBoaWdobGlnaHRJZDtcbnVuaWZvcm0gdmVjMyBheGVzWzJdO1xudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMyIHNjcmVlblNpemU7XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gZmxvYXQgc2NhbGUsIHBpeGVsUmF0aW87XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjNCBwaWNrSWQ7XG52YXJ5aW5nIHZlYzMgZGF0YUNvb3JkaW5hdGU7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgcG9zaXRpb24pKSB7XG5cbiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvYXQgbHNjYWxlID0gcGl4ZWxSYXRpbyAqIHNjYWxlO1xuICAgIGlmKGRpc3RhbmNlKGhpZ2hsaWdodElkLCBpZCkgPCAwLjAwMDEpIHtcbiAgICAgIGxzY2FsZSAqPSBoaWdobGlnaHRTY2FsZTtcbiAgICB9XG5cbiAgICB2ZWM0IGNsaXBDZW50ZXIgICA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLCAxKTtcbiAgICB2ZWMzIGRhdGFQb3NpdGlvbiA9IHBvc2l0aW9uICsgMC41KmxzY2FsZSooYXhlc1swXSAqIGdseXBoLnggKyBheGVzWzFdICogZ2x5cGgueSkgKiBjbGlwQ2VudGVyLncgKiBzY3JlZW5TaXplLnk7XG4gICAgdmVjNCBjbGlwUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChkYXRhUG9zaXRpb24sIDEpO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBjbGlwUG9zaXRpb247XG4gICAgaW50ZXJwQ29sb3IgPSBjb2xvcjtcbiAgICBwaWNrSWQgPSBpZDtcbiAgICBkYXRhQ29vcmRpbmF0ZSA9IGRhdGFQb3NpdGlvbjtcbiAgfVxufVxuIl0pLGw9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgZnJhZ0NsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjMyBkYXRhQ29vcmRpbmF0ZTtcblxudm9pZCBtYWluKCkge1xuICBpZiAoXG4gICAgb3V0T2ZSYW5nZShmcmFnQ2xpcEJvdW5kc1swXSwgZnJhZ0NsaXBCb3VuZHNbMV0sIGRhdGFDb29yZGluYXRlKSB8fFxuICAgIGludGVycENvbG9yLmEgKiBvcGFjaXR5ID09IDAuXG4gICkgZGlzY2FyZDtcbiAgZ2xfRnJhZ0NvbG9yID0gaW50ZXJwQ29sb3IgKiBvcGFjaXR5O1xufVxuIl0pLGM9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgZnJhZ0NsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHBpY2tHcm91cDtcblxudmFyeWluZyB2ZWM0IHBpY2tJZDtcbnZhcnlpbmcgdmVjMyBkYXRhQ29vcmRpbmF0ZTtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShmcmFnQ2xpcEJvdW5kc1swXSwgZnJhZ0NsaXBCb3VuZHNbMV0sIGRhdGFDb29yZGluYXRlKSkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tHcm91cCwgcGlja0lkLmJncik7XG59Il0pLHU9W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJnbHlwaCIsdHlwZToidmVjMiJ9LHtuYW1lOiJpZCIsdHlwZToidmVjNCJ9XSxoPXt2ZXJ0ZXg6aSxmcmFnbWVudDpsLGF0dHJpYnV0ZXM6dX0sZj17dmVydGV4Om8sZnJhZ21lbnQ6bCxhdHRyaWJ1dGVzOnV9LHA9e3ZlcnRleDpzLGZyYWdtZW50OmwsYXR0cmlidXRlczp1fSxkPXt2ZXJ0ZXg6aSxmcmFnbWVudDpjLGF0dHJpYnV0ZXM6dX0sZz17dmVydGV4Om8sZnJhZ21lbnQ6YyxhdHRyaWJ1dGVzOnV9LHY9e3ZlcnRleDpzLGZyYWdtZW50OmMsYXR0cmlidXRlczp1fTtmdW5jdGlvbiBtKHQsZSl7dmFyIHI9bih0LGUpLGE9ci5hdHRyaWJ1dGVzO3JldHVybiBhLnBvc2l0aW9uLmxvY2F0aW9uPTAsYS5jb2xvci5sb2NhdGlvbj0xLGEuZ2x5cGgubG9jYXRpb249MixhLmlkLmxvY2F0aW9uPTMscn1yLmNyZWF0ZVBlcnNwZWN0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBtKHQsaCl9LHIuY3JlYXRlT3J0aG89ZnVuY3Rpb24odCl7cmV0dXJuIG0odCxmKX0sci5jcmVhdGVQcm9qZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBtKHQscCl9LHIuY3JlYXRlUGlja1BlcnNwZWN0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBtKHQsZCl9LHIuY3JlYXRlUGlja09ydGhvPWZ1bmN0aW9uKHQpe3JldHVybiBtKHQsZyl9LHIuY3JlYXRlUGlja1Byb2plY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG0odCx2KX19LHsiZ2wtc2hhZGVyIjozMDQsZ2xzbGlmeTo0MTF9XSwzMDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiaXMtc3RyaW5nLWJsYW5rIiksYT10KCJnbC1idWZmZXIiKSxpPXQoImdsLXZhbyIpLG89dCgidHlwZWRhcnJheS1wb29sIikscz10KCJnbC1tYXQ0L211bHRpcGx5IiksbD10KCIuL2xpYi9zaGFkZXJzIiksYz10KCIuL2xpYi9nbHlwaHMiKSx1PXQoIi4vbGliL2dldC1zaW1wbGUtc3RyaW5nIiksaD1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07ZnVuY3Rpb24gZih0LGUpe3ZhciByPXRbMF0sbj10WzFdLGE9dFsyXSxpPXRbM107cmV0dXJuIHRbMF09ZVswXSpyK2VbNF0qbitlWzhdKmErZVsxMl0qaSx0WzFdPWVbMV0qcitlWzVdKm4rZVs5XSphK2VbMTNdKmksdFsyXT1lWzJdKnIrZVs2XSpuK2VbMTBdKmErZVsxNF0qaSx0WzNdPWVbM10qcitlWzddKm4rZVsxMV0qYStlWzE1XSppLHR9ZnVuY3Rpb24gcCh0LGUscixuKXtyZXR1cm4gZihuLG4pLGYobixuKSxmKG4sbil9ZnVuY3Rpb24gZCh0LGUpe3RoaXMuaW5kZXg9dCx0aGlzLmRhdGFDb29yZGluYXRlPXRoaXMucG9zaXRpb249ZX1mdW5jdGlvbiBnKHQpe3JldHVybiEwPT09dD8xOnQ+MT8xOnR9ZnVuY3Rpb24gdih0LGUscixuLGEsaSxvLHMsbCxjLHUsaCl7dGhpcy5nbD10LHRoaXMucGl4ZWxSYXRpbz0xLHRoaXMuc2hhZGVyPWUsdGhpcy5vcnRob1NoYWRlcj1yLHRoaXMucHJvamVjdFNoYWRlcj1uLHRoaXMucG9pbnRCdWZmZXI9YSx0aGlzLmNvbG9yQnVmZmVyPWksdGhpcy5nbHlwaEJ1ZmZlcj1vLHRoaXMuaWRCdWZmZXI9cyx0aGlzLnZhbz1sLHRoaXMudmVydGV4Q291bnQ9MCx0aGlzLmxpbmVWZXJ0ZXhDb3VudD0wLHRoaXMub3BhY2l0eT0xLHRoaXMuaGFzQWxwaGE9ITEsdGhpcy5saW5lV2lkdGg9MCx0aGlzLnByb2plY3RTY2FsZT1bMi8zLDIvMywyLzNdLHRoaXMucHJvamVjdE9wYWNpdHk9WzEsMSwxXSx0aGlzLnByb2plY3RIYXNBbHBoYT0hMSx0aGlzLnBpY2tJZD0wLHRoaXMucGlja1BlcnNwZWN0aXZlU2hhZGVyPWMsdGhpcy5waWNrT3J0aG9TaGFkZXI9dSx0aGlzLnBpY2tQcm9qZWN0U2hhZGVyPWgsdGhpcy5wb2ludHM9W10sdGhpcy5fc2VsZWN0UmVzdWx0PW5ldyBkKDAsWzAsMCwwXSksdGhpcy51c2VPcnRobz0hMCx0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXSx0aGlzLmF4ZXNQcm9qZWN0PVshMCwhMCwhMF0sdGhpcy5heGVzQm91bmRzPVtbLTEvMCwtMS8wLC0xLzBdLFsxLzAsMS8wLDEvMF1dLHRoaXMuaGlnaGxpZ2h0SWQ9WzEsMSwxLDFdLHRoaXMuaGlnaGxpZ2h0U2NhbGU9Mix0aGlzLmNsaXBCb3VuZHM9W1stMS8wLC0xLzAsLTEvMF0sWzEvMCwxLzAsMS8wXV0sdGhpcy5kaXJ0eT0hMH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5nbCxyPWwuY3JlYXRlUGVyc3BlY3RpdmUoZSksbj1sLmNyZWF0ZU9ydGhvKGUpLG89bC5jcmVhdGVQcm9qZWN0KGUpLHM9bC5jcmVhdGVQaWNrUGVyc3BlY3RpdmUoZSksYz1sLmNyZWF0ZVBpY2tPcnRobyhlKSx1PWwuY3JlYXRlUGlja1Byb2plY3QoZSksaD1hKGUpLGY9YShlKSxwPWEoZSksZD1hKGUpLGc9aShlLFt7YnVmZmVyOmgsc2l6ZTozLHR5cGU6ZS5GTE9BVH0se2J1ZmZlcjpmLHNpemU6NCx0eXBlOmUuRkxPQVR9LHtidWZmZXI6cCxzaXplOjIsdHlwZTplLkZMT0FUfSx7YnVmZmVyOmQsc2l6ZTo0LHR5cGU6ZS5VTlNJR05FRF9CWVRFLG5vcm1hbGl6ZWQ6ITB9XSksbT1uZXcgdihlLHIsbixvLGgsZixwLGQsZyxzLGMsdSk7cmV0dXJuIG0udXBkYXRlKHQpLG19O3ZhciBtPXYucHJvdG90eXBlO20ucGlja1Nsb3RzPTEsbS5zZXRQaWNrQmFzZT1mdW5jdGlvbih0KXt0aGlzLnBpY2tJZD10fSxtLmlzVHJhbnNwYXJlbnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmhhc0FscGhhKXJldHVybiEwO2Zvcih2YXIgdD0wO3Q8MzsrK3QpaWYodGhpcy5heGVzUHJvamVjdFt0XSYmdGhpcy5wcm9qZWN0SGFzQWxwaGEpcmV0dXJuITA7cmV0dXJuITF9LG0uaXNPcGFxdWU9ZnVuY3Rpb24oKXtpZighdGhpcy5oYXNBbHBoYSlyZXR1cm4hMDtmb3IodmFyIHQ9MDt0PDM7Kyt0KWlmKHRoaXMuYXhlc1Byb2plY3RbdF0mJiF0aGlzLnByb2plY3RIYXNBbHBoYSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIHk9WzAsMF0seD1bMCwwLDBdLGI9WzAsMCwwXSxfPVswLDAsMCwxXSx3PVswLDAsMCwxXSxrPWguc2xpY2UoKSxUPVswLDAsMF0sTT1bWzAsMCwwXSxbMCwwLDBdXTtmdW5jdGlvbiBBKHQpe3JldHVybiB0WzBdPXRbMV09dFsyXT0wLHR9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0WzNdPTEsdH1mdW5jdGlvbiBFKHQsZSxyLG4pe3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0W3JdPW4sdH1mdW5jdGlvbiBMKHQsZSxyLG4pe3ZhciBhLGk9ZS5heGVzUHJvamVjdCxvPWUuZ2wsbD10LnVuaWZvcm1zLGM9ci5tb2RlbHx8aCx1PXIudmlld3x8aCxmPXIucHJvamVjdGlvbnx8aCxkPWUuYXhlc0JvdW5kcyxnPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1NLHI9MDtyPDI7KytyKWZvcih2YXIgbj0wO248MzsrK24pZVtyXVtuXT1NYXRoLm1heChNYXRoLm1pbih0W3JdW25dLDFlOCksLTFlOCk7cmV0dXJuIGV9KGUuY2xpcEJvdW5kcyk7YT1lLmF4ZXMmJmUuYXhlcy5sYXN0Q3ViZVByb3BzP2UuYXhlcy5sYXN0Q3ViZVByb3BzLmF4aXM6WzEsMSwxXSx5WzBdPTIvby5kcmF3aW5nQnVmZmVyV2lkdGgseVsxXT0yL28uZHJhd2luZ0J1ZmZlckhlaWdodCx0LmJpbmQoKSxsLnZpZXc9dSxsLnByb2plY3Rpb249ZixsLnNjcmVlblNpemU9eSxsLmhpZ2hsaWdodElkPWUuaGlnaGxpZ2h0SWQsbC5oaWdobGlnaHRTY2FsZT1lLmhpZ2hsaWdodFNjYWxlLGwuY2xpcEJvdW5kcz1nLGwucGlja0dyb3VwPWUucGlja0lkLzI1NSxsLnBpeGVsUmF0aW89bjtmb3IodmFyIHY9MDt2PDM7Kyt2KWlmKGlbdl0pe2wuc2NhbGU9ZS5wcm9qZWN0U2NhbGVbdl0sbC5vcGFjaXR5PWUucHJvamVjdE9wYWNpdHlbdl07Zm9yKHZhciBtPWssTD0wO0w8MTY7KytMKW1bTF09MDtmb3IoTD0wO0w8NDsrK0wpbVs1KkxdPTE7bVs1KnZdPTAsYVt2XTwwP21bMTIrdl09ZFswXVt2XTptWzEyK3ZdPWRbMV1bdl0scyhtLGMsbSksbC5tb2RlbD1tO3ZhciBDPSh2KzEpJTMsUD0odisyKSUzLE89QSh4KSx6PUEoYik7T1tDXT0xLHpbUF09MTt2YXIgST1wKDAsMCwwLFMoXyxPKSksRD1wKDAsMCwwLFModyx6KSk7aWYoTWF0aC5hYnMoSVsxXSk+TWF0aC5hYnMoRFsxXSkpe3ZhciBSPUk7ST1ELEQ9UixSPU8sTz16LHo9Ujt2YXIgRj1DO0M9UCxQPUZ9SVswXTwwJiYoT1tDXT0tMSksRFsxXT4wJiYoeltQXT0tMSk7dmFyIEI9MCxOPTA7Zm9yKEw9MDtMPDQ7KytMKUIrPU1hdGgucG93KGNbNCpDK0xdLDIpLE4rPU1hdGgucG93KGNbNCpQK0xdLDIpO09bQ10vPU1hdGguc3FydChCKSx6W1BdLz1NYXRoLnNxcnQoTiksbC5heGVzWzBdPU8sbC5heGVzWzFdPXosbC5mcmFnQ2xpcEJvdW5kc1swXT1FKFQsZ1swXSx2LC0xZTgpLGwuZnJhZ0NsaXBCb3VuZHNbMV09RShULGdbMV0sdiwxZTgpLGUudmFvLmJpbmQoKSxlLnZhby5kcmF3KG8uVFJJQU5HTEVTLGUudmVydGV4Q291bnQpLGUubGluZVdpZHRoPjAmJihvLmxpbmVXaWR0aChlLmxpbmVXaWR0aCpuKSxlLnZhby5kcmF3KG8uTElORVMsZS5saW5lVmVydGV4Q291bnQsZS52ZXJ0ZXhDb3VudCkpLGUudmFvLnVuYmluZCgpfX12YXIgQz1bWy0xZTgsLTFlOCwtMWU4XSxbMWU4LDFlOCwxZThdXTtmdW5jdGlvbiBQKHQsZSxyLG4sYSxpLG8pe3ZhciBzPXIuZ2w7aWYoKGk9PT1yLnByb2plY3RIYXNBbHBoYXx8bykmJkwoZSxyLG4sYSksaT09PXIuaGFzQWxwaGF8fG8pe3QuYmluZCgpO3ZhciBsPXQudW5pZm9ybXM7bC5tb2RlbD1uLm1vZGVsfHxoLGwudmlldz1uLnZpZXd8fGgsbC5wcm9qZWN0aW9uPW4ucHJvamVjdGlvbnx8aCx5WzBdPTIvcy5kcmF3aW5nQnVmZmVyV2lkdGgseVsxXT0yL3MuZHJhd2luZ0J1ZmZlckhlaWdodCxsLnNjcmVlblNpemU9eSxsLmhpZ2hsaWdodElkPXIuaGlnaGxpZ2h0SWQsbC5oaWdobGlnaHRTY2FsZT1yLmhpZ2hsaWdodFNjYWxlLGwuZnJhZ0NsaXBCb3VuZHM9QyxsLmNsaXBCb3VuZHM9ci5heGVzLmJvdW5kcyxsLm9wYWNpdHk9ci5vcGFjaXR5LGwucGlja0dyb3VwPXIucGlja0lkLzI1NSxsLnBpeGVsUmF0aW89YSxyLnZhby5iaW5kKCksci52YW8uZHJhdyhzLlRSSUFOR0xFUyxyLnZlcnRleENvdW50KSxyLmxpbmVXaWR0aD4wJiYocy5saW5lV2lkdGgoci5saW5lV2lkdGgqYSksci52YW8uZHJhdyhzLkxJTkVTLHIubGluZVZlcnRleENvdW50LHIudmVydGV4Q291bnQpKSxyLnZhby51bmJpbmQoKX19ZnVuY3Rpb24gTyh0LGUscixhKXt2YXIgaTtpPUFycmF5LmlzQXJyYXkodCk/ZTx0Lmxlbmd0aD90W2VdOnZvaWQgMDp0LGk9dShpKTt2YXIgbz0hMDtuKGkpJiYoaT0iXHUyNWJjIixvPSExKTt2YXIgcz1jKGkscixhKTtyZXR1cm57bWVzaDpzWzBdLGxpbmVzOnNbMV0sYm91bmRzOnNbMl0sdmlzaWJsZTpvfX1tLmRyYXc9ZnVuY3Rpb24odCl7UCh0aGlzLnVzZU9ydGhvP3RoaXMub3J0aG9TaGFkZXI6dGhpcy5zaGFkZXIsdGhpcy5wcm9qZWN0U2hhZGVyLHRoaXMsdCx0aGlzLnBpeGVsUmF0aW8sITEsITEpfSxtLmRyYXdUcmFuc3BhcmVudD1mdW5jdGlvbih0KXtQKHRoaXMudXNlT3J0aG8/dGhpcy5vcnRob1NoYWRlcjp0aGlzLnNoYWRlcix0aGlzLnByb2plY3RTaGFkZXIsdGhpcyx0LHRoaXMucGl4ZWxSYXRpbywhMCwhMSl9LG0uZHJhd1BpY2s9ZnVuY3Rpb24odCl7UCh0aGlzLnVzZU9ydGhvP3RoaXMucGlja09ydGhvU2hhZGVyOnRoaXMucGlja1BlcnNwZWN0aXZlU2hhZGVyLHRoaXMucGlja1Byb2plY3RTaGFkZXIsdGhpcyx0LDEsITAsITApfSxtLnBpY2s9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIG51bGw7aWYodC5pZCE9PXRoaXMucGlja0lkKXJldHVybiBudWxsO3ZhciBlPXQudmFsdWVbMl0rKHQudmFsdWVbMV08PDgpKyh0LnZhbHVlWzBdPDwxNik7aWYoZT49dGhpcy5wb2ludENvdW50fHxlPDApcmV0dXJuIG51bGw7dmFyIHI9dGhpcy5wb2ludHNbZV0sbj10aGlzLl9zZWxlY3RSZXN1bHQ7bi5pbmRleD1lO2Zvcih2YXIgYT0wO2E8MzsrK2Epbi5wb3NpdGlvblthXT1uLmRhdGFDb29yZGluYXRlW2FdPXJbYV07cmV0dXJuIG59LG0uaGlnaGxpZ2h0PWZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBlPXQuaW5kZXgscj0yNTUmZSxuPWU+PjgmMjU1LGE9ZT4+MTYmMjU1O3RoaXMuaGlnaGxpZ2h0SWQ9W3IvMjU1LG4vMjU1LGEvMjU1LDBdfWVsc2UgdGhpcy5oaWdobGlnaHRJZD1bMSwxLDEsMV19LG0udXBkYXRlPWZ1bmN0aW9uKHQpe2lmKCJwZXJzcGVjdGl2ZSJpbih0PXR8fHt9KSYmKHRoaXMudXNlT3J0aG89IXQucGVyc3BlY3RpdmUpLCJvcnRob2dyYXBoaWMiaW4gdCYmKHRoaXMudXNlT3J0aG89ISF0Lm9ydGhvZ3JhcGhpYyksImxpbmVXaWR0aCJpbiB0JiYodGhpcy5saW5lV2lkdGg9dC5saW5lV2lkdGgpLCJwcm9qZWN0ImluIHQpaWYoQXJyYXkuaXNBcnJheSh0LnByb2plY3QpKXRoaXMuYXhlc1Byb2plY3Q9dC5wcm9qZWN0O2Vsc2V7dmFyIGU9ISF0LnByb2plY3Q7dGhpcy5heGVzUHJvamVjdD1bZSxlLGVdfWlmKCJwcm9qZWN0U2NhbGUiaW4gdClpZihBcnJheS5pc0FycmF5KHQucHJvamVjdFNjYWxlKSl0aGlzLnByb2plY3RTY2FsZT10LnByb2plY3RTY2FsZS5zbGljZSgpO2Vsc2V7dmFyIHI9K3QucHJvamVjdFNjYWxlO3RoaXMucHJvamVjdFNjYWxlPVtyLHIscl19aWYodGhpcy5wcm9qZWN0SGFzQWxwaGE9ITEsInByb2plY3RPcGFjaXR5ImluIHQpe2lmKEFycmF5LmlzQXJyYXkodC5wcm9qZWN0T3BhY2l0eSkpdGhpcy5wcm9qZWN0T3BhY2l0eT10LnByb2plY3RPcGFjaXR5LnNsaWNlKCk7ZWxzZXtyPSt0LnByb2plY3RPcGFjaXR5O3RoaXMucHJvamVjdE9wYWNpdHk9W3IscixyXX1mb3IodmFyIG49MDtuPDM7KytuKXRoaXMucHJvamVjdE9wYWNpdHlbbl09Zyh0aGlzLnByb2plY3RPcGFjaXR5W25dKSx0aGlzLnByb2plY3RPcGFjaXR5W25dPDEmJih0aGlzLnByb2plY3RIYXNBbHBoYT0hMCl9dGhpcy5oYXNBbHBoYT0hMSwib3BhY2l0eSJpbiB0JiYodGhpcy5vcGFjaXR5PWcodC5vcGFjaXR5KSx0aGlzLm9wYWNpdHk8MSYmKHRoaXMuaGFzQWxwaGE9ITApKSx0aGlzLmRpcnR5PSEwO3ZhciBhLGkscz10LnBvc2l0aW9uLGw9dC5mb250fHwibm9ybWFsIixjPXQuYWxpZ25tZW50fHxbMCwwXTtpZigyPT09Yy5sZW5ndGgpYT1jWzBdLGk9Y1sxXTtlbHNle2E9W10saT1bXTtmb3Iobj0wO248Yy5sZW5ndGg7KytuKWFbbl09Y1tuXVswXSxpW25dPWNbbl1bMV19dmFyIHU9WzEvMCwxLzAsMS8wXSxoPVstMS8wLC0xLzAsLTEvMF0sZj10LmdseXBoLHA9dC5jb2xvcixkPXQuc2l6ZSx2PXQuYW5nbGUsbT10LmxpbmVDb2xvcix5PS0xLHg9MCxiPTAsXz0wO2lmKHMubGVuZ3RoKXtfPXMubGVuZ3RoO3Q6Zm9yKG49MDtuPF87KytuKXtmb3IodmFyIHc9c1tuXSxrPTA7azwzOysraylpZihpc05hTih3W2tdKXx8IWlzRmluaXRlKHdba10pKWNvbnRpbnVlIHQ7dmFyIFQ9KE49TyhmLG4sbCx0aGlzLnBpeGVsUmF0aW8pKS5tZXNoLE09Ti5saW5lcyxBPU4uYm91bmRzO3grPTMqVC5jZWxscy5sZW5ndGgsYis9MipNLmVkZ2VzLmxlbmd0aH19dmFyIFM9eCtiLEU9by5tYWxsb2NGbG9hdCgzKlMpLEw9by5tYWxsb2NGbG9hdCg0KlMpLEM9by5tYWxsb2NGbG9hdCgyKlMpLFA9by5tYWxsb2NVaW50MzIoUyk7aWYoUz4wKXt2YXIgej0wLEk9eCxEPVswLDAsMCwxXSxSPVswLDAsMCwxXSxGPUFycmF5LmlzQXJyYXkocCkmJkFycmF5LmlzQXJyYXkocFswXSksQj1BcnJheS5pc0FycmF5KG0pJiZBcnJheS5pc0FycmF5KG1bMF0pO3Q6Zm9yKG49MDtuPF87KytuKXt5Kz0xO2Zvcih3PXNbbl0saz0wO2s8MzsrK2spe2lmKGlzTmFOKHdba10pfHwhaXNGaW5pdGUod1trXSkpY29udGludWUgdDtoW2tdPU1hdGgubWF4KGhba10sd1trXSksdVtrXT1NYXRoLm1pbih1W2tdLHdba10pfVQ9KE49TyhmLG4sbCx0aGlzLnBpeGVsUmF0aW8pKS5tZXNoLE09Ti5saW5lcyxBPU4uYm91bmRzO3ZhciBOLGo9Ti52aXNpYmxlO2lmKGopaWYoQXJyYXkuaXNBcnJheShwKSl7aWYoMz09PShWPUY/bjxwLmxlbmd0aD9wW25dOlswLDAsMCwwXTpwKS5sZW5ndGgpe2ZvcihrPTA7azwzOysraylEW2tdPVZba107RFszXT0xfWVsc2UgaWYoND09PVYubGVuZ3RoKXtmb3Ioaz0wO2s8NDsrK2spRFtrXT1WW2tdOyF0aGlzLmhhc0FscGhhJiZWWzNdPDEmJih0aGlzLmhhc0FscGhhPSEwKX19ZWxzZSBEWzBdPURbMV09RFsyXT0wLERbM109MTtlbHNlIEQ9WzEsMSwxLDBdO2lmKGopaWYoQXJyYXkuaXNBcnJheShtKSl7dmFyIFY7aWYoMz09PShWPUI/bjxtLmxlbmd0aD9tW25dOlswLDAsMCwwXTptKS5sZW5ndGgpe2ZvcihrPTA7azwzOysraylSW2tdPVZba107UltrXT0xfWVsc2UgaWYoND09PVYubGVuZ3RoKXtmb3Ioaz0wO2s8NDsrK2spUltrXT1WW2tdOyF0aGlzLmhhc0FscGhhJiZWWzNdPDEmJih0aGlzLmhhc0FscGhhPSEwKX19ZWxzZSBSWzBdPVJbMV09UlsyXT0wLFJbM109MTtlbHNlIFI9WzEsMSwxLDBdO3ZhciBVPS41O2o/QXJyYXkuaXNBcnJheShkKT9VPW48ZC5sZW5ndGg/K2Rbbl06MTI6ZD9VPStkOnRoaXMudXNlT3J0aG8mJihVPTEyKTpVPTA7dmFyIHE9MDtBcnJheS5pc0FycmF5KHYpP3E9bjx2Lmxlbmd0aD8rdltuXTowOnYmJihxPSt2KTt2YXIgSD1NYXRoLmNvcyhxKSxHPU1hdGguc2luKHEpO2Zvcih3PXNbbl0saz0wO2s8MzsrK2spaFtrXT1NYXRoLm1heChoW2tdLHdba10pLHVba109TWF0aC5taW4odVtrXSx3W2tdKTt2YXIgWT1hLFc9aTtZPTA7QXJyYXkuaXNBcnJheShhKT9ZPW48YS5sZW5ndGg/YVtuXTowOmEmJihZPWEpO1c9MDtBcnJheS5pc0FycmF5KGkpP1c9bjxpLmxlbmd0aD9pW25dOjA6aSYmKFc9aSk7dmFyIFg9W1kqPVk+MD8xLUFbMF1bMF06WTwwPzErQVsxXVswXToxLFcqPVc+MD8xLUFbMF1bMV06VzwwPzErQVsxXVsxXToxXSxaPVQuY2VsbHN8fFtdLEo9VC5wb3NpdGlvbnN8fFtdO2ZvcihrPTA7azxaLmxlbmd0aDsrK2spZm9yKHZhciBLPVpba10sUT0wO1E8MzsrK1Epe2Zvcih2YXIgJD0wOyQ8MzsrKyQpRVszKnorJF09d1skXTtmb3IoJD0wOyQ8NDsrKyQpTFs0KnorJF09RFskXTtQW3pdPXk7dmFyIHR0PUpbS1tRXV07Q1syKnpdPVUqKEgqdHRbMF0tRyp0dFsxXStYWzBdKSxDWzIqeisxXT1VKihHKnR0WzBdK0gqdHRbMV0rWFsxXSkseis9MX1mb3IoWj1NLmVkZ2VzLEo9TS5wb3NpdGlvbnMsaz0wO2s8Wi5sZW5ndGg7KytrKWZvcihLPVpba10sUT0wO1E8MjsrK1Epe2ZvcigkPTA7JDwzOysrJClFWzMqSSskXT13WyRdO2ZvcigkPTA7JDw0OysrJClMWzQqSSskXT1SWyRdO1BbSV09eTt0dD1KW0tbUV1dO0NbMipJXT1VKihIKnR0WzBdLUcqdHRbMV0rWFswXSksQ1syKkkrMV09VSooRyp0dFswXStIKnR0WzFdK1hbMV0pLEkrPTF9fX10aGlzLmJvdW5kcz1bdSxoXSx0aGlzLnBvaW50cz1zLHRoaXMucG9pbnRDb3VudD1zLmxlbmd0aCx0aGlzLnZlcnRleENvdW50PXgsdGhpcy5saW5lVmVydGV4Q291bnQ9Yix0aGlzLnBvaW50QnVmZmVyLnVwZGF0ZShFKSx0aGlzLmNvbG9yQnVmZmVyLnVwZGF0ZShMKSx0aGlzLmdseXBoQnVmZmVyLnVwZGF0ZShDKSx0aGlzLmlkQnVmZmVyLnVwZGF0ZShQKSxvLmZyZWUoRSksby5mcmVlKEwpLG8uZnJlZShDKSxvLmZyZWUoUCl9LG0uZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLm9ydGhvU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnBpY2tQZXJzcGVjdGl2ZVNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrT3J0aG9TaGFkZXIuZGlzcG9zZSgpLHRoaXMudmFvLmRpc3Bvc2UoKSx0aGlzLnBvaW50QnVmZmVyLmRpc3Bvc2UoKSx0aGlzLmNvbG9yQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLmdseXBoQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLmlkQnVmZmVyLmRpc3Bvc2UoKX19LHsiLi9saWIvZ2V0LXNpbXBsZS1zdHJpbmciOjI5NywiLi9saWIvZ2x5cGhzIjoyOTgsIi4vbGliL3NoYWRlcnMiOjI5OSwiZ2wtYnVmZmVyIjoyNDQsImdsLW1hdDQvbXVsdGlwbHkiOjI3MCwiZ2wtdmFvIjozMjksImlzLXN0cmluZy1ibGFuayI6NDI1LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDMwMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbHNsaWZ5Iik7ci5ib3hWZXJ0ZXg9bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzIgdmVydGV4O1xuXG51bmlmb3JtIHZlYzIgY29ybmVyQSwgY29ybmVyQjtcblxudm9pZCBtYWluKCkge1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQobWl4KGNvcm5lckEsIGNvcm5lckIsIHZlcnRleCksIDAsIDEpO1xufVxuIl0pLHIuYm94RnJhZ21lbnQ9bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWM0IGNvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IGNvbG9yO1xufVxuIl0pfSx7Z2xzbGlmeTo0MTF9XSwzMDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbC1idWZmZXIiKSxpPXQoIi4vbGliL3NoYWRlcnMiKTtmdW5jdGlvbiBvKHQsZSxyKXt0aGlzLnBsb3Q9dCx0aGlzLmJveEJ1ZmZlcj1lLHRoaXMuYm94U2hhZGVyPXIsdGhpcy5lbmFibGVkPSEwLHRoaXMuc2VsZWN0Qm94PVsxLzAsMS8wLC0xLzAsLTEvMF0sdGhpcy5ib3JkZXJDb2xvcj1bMCwwLDAsMV0sdGhpcy5pbm5lckZpbGw9ITEsdGhpcy5pbm5lckNvbG9yPVswLDAsMCwuMjVdLHRoaXMub3V0ZXJGaWxsPSEwLHRoaXMub3V0ZXJDb2xvcj1bMCwwLDAsLjVdLHRoaXMuYm9yZGVyV2lkdGg9MTB9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5nbCxzPWEocixbMCwwLDAsMSwxLDAsMSwxXSksbD1uKHIsaS5ib3hWZXJ0ZXgsaS5ib3hGcmFnbWVudCksYz1uZXcgbyh0LHMsbCk7cmV0dXJuIGMudXBkYXRlKGUpLHQuYWRkT3ZlcmxheShjKSxjfTt2YXIgcz1vLnByb3RvdHlwZTtzLmRyYXc9ZnVuY3Rpb24oKXtpZih0aGlzLmVuYWJsZWQpe3ZhciB0PXRoaXMucGxvdCxlPXRoaXMuc2VsZWN0Qm94LHI9dGhpcy5ib3JkZXJXaWR0aCxuPSh0aGlzLmlubmVyRmlsbCx0aGlzLmlubmVyQ29sb3IpLGE9KHRoaXMub3V0ZXJGaWxsLHRoaXMub3V0ZXJDb2xvciksaT10aGlzLmJvcmRlckNvbG9yLG89dC5ib3gscz10LnNjcmVlbkJveCxsPXQuZGF0YUJveCxjPXQudmlld0JveCx1PXQucGl4ZWxSYXRpbyxoPShlWzBdLWxbMF0pKihjWzJdLWNbMF0pLyhsWzJdLWxbMF0pK2NbMF0sZj0oZVsxXS1sWzFdKSooY1szXS1jWzFdKS8obFszXS1sWzFdKStjWzFdLHA9KGVbMl0tbFswXSkqKGNbMl0tY1swXSkvKGxbMl0tbFswXSkrY1swXSxkPShlWzNdLWxbMV0pKihjWzNdLWNbMV0pLyhsWzNdLWxbMV0pK2NbMV07aWYoaD1NYXRoLm1heChoLGNbMF0pLGY9TWF0aC5tYXgoZixjWzFdKSxwPU1hdGgubWluKHAsY1syXSksZD1NYXRoLm1pbihkLGNbM10pLCEocDxofHxkPGYpKXtvLmJpbmQoKTt2YXIgZz1zWzJdLXNbMF0sdj1zWzNdLXNbMV07aWYodGhpcy5vdXRlckZpbGwmJihvLmRyYXdCb3goMCwwLGcsZixhKSxvLmRyYXdCb3goMCxmLGgsZCxhKSxvLmRyYXdCb3goMCxkLGcsdixhKSxvLmRyYXdCb3gocCxmLGcsZCxhKSksdGhpcy5pbm5lckZpbGwmJm8uZHJhd0JveChoLGYscCxkLG4pLHI+MCl7dmFyIG09cip1O28uZHJhd0JveChoLW0sZi1tLHArbSxmK20saSksby5kcmF3Qm94KGgtbSxkLW0scCttLGQrbSxpKSxvLmRyYXdCb3goaC1tLGYtbSxoK20sZCttLGkpLG8uZHJhd0JveChwLW0sZi1tLHArbSxkK20saSl9fX19LHMudXBkYXRlPWZ1bmN0aW9uKHQpe3Q9dHx8e30sdGhpcy5pbm5lckZpbGw9ISF0LmlubmVyRmlsbCx0aGlzLm91dGVyRmlsbD0hIXQub3V0ZXJGaWxsLHRoaXMuaW5uZXJDb2xvcj0odC5pbm5lckNvbG9yfHxbMCwwLDAsLjVdKS5zbGljZSgpLHRoaXMub3V0ZXJDb2xvcj0odC5vdXRlckNvbG9yfHxbMCwwLDAsLjVdKS5zbGljZSgpLHRoaXMuYm9yZGVyQ29sb3I9KHQuYm9yZGVyQ29sb3J8fFswLDAsMCwxXSkuc2xpY2UoKSx0aGlzLmJvcmRlcldpZHRoPXQuYm9yZGVyV2lkdGh8fDAsdGhpcy5zZWxlY3RCb3g9KHQuc2VsZWN0Qm94fHx0aGlzLnNlbGVjdEJveCkuc2xpY2UoKX0scy5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ib3hCdWZmZXIuZGlzcG9zZSgpLHRoaXMuYm94U2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnBsb3QucmVtb3ZlT3ZlcmxheSh0aGlzKX19LHsiLi9saWIvc2hhZGVycyI6MzAxLCJnbC1idWZmZXIiOjI0NCwiZ2wtc2hhZGVyIjozMDR9XSwzMDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxpPWVbMV0sbz1uKHQscixpLHt9KSxzPWEubWFsbG9jVWludDgocippKjQpO3JldHVybiBuZXcgYyh0LG8scyl9O3ZhciBuPXQoImdsLWZibyIpLGE9dCgidHlwZWRhcnJheS1wb29sIiksaT10KCJuZGFycmF5Iiksbz10KCJiaXQtdHdpZGRsZSIpLm5leHRQb3cyLHM9dCgiY3dpc2UvbGliL3dyYXBwZXIiKSh7YXJnczpbImFycmF5Iix7b2Zmc2V0OlswLDAsMV0sYXJyYXk6MH0se29mZnNldDpbMCwwLDJdLGFycmF5OjB9LHtvZmZzZXQ6WzAsMCwzXSxhcnJheTowfSwic2NhbGFyIiwic2NhbGFyIiwiaW5kZXgiXSxwcmU6e2JvZHk6Int0aGlzX2Nsb3Nlc3REMj0xZTgsdGhpc19jbG9zZXN0WD0tMSx0aGlzX2Nsb3Nlc3RZPS0xfSIsYXJnczpbXSx0aGlzVmFyczpbInRoaXNfY2xvc2VzdEQyIiwidGhpc19jbG9zZXN0WCIsInRoaXNfY2xvc2VzdFkiXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntpZihfaW5saW5lXzE2X2FyZzBfPDI1NXx8X2lubGluZV8xNl9hcmcxXzwyNTV8fF9pbmxpbmVfMTZfYXJnMl88MjU1fHxfaW5saW5lXzE2X2FyZzNfPDI1NSl7dmFyIF9pbmxpbmVfMTZfbD1faW5saW5lXzE2X2FyZzRfLV9pbmxpbmVfMTZfYXJnNl9bMF0sX2lubGluZV8xNl9hPV9pbmxpbmVfMTZfYXJnNV8tX2lubGluZV8xNl9hcmc2X1sxXSxfaW5saW5lXzE2X2Y9X2lubGluZV8xNl9sKl9pbmxpbmVfMTZfbCtfaW5saW5lXzE2X2EqX2lubGluZV8xNl9hO19pbmxpbmVfMTZfZjx0aGlzX2Nsb3Nlc3REMiYmKHRoaXNfY2xvc2VzdEQyPV9pbmxpbmVfMTZfZix0aGlzX2Nsb3Nlc3RYPV9pbmxpbmVfMTZfYXJnNl9bMF0sdGhpc19jbG9zZXN0WT1faW5saW5lXzE2X2FyZzZfWzFdKX19IixhcmdzOlt7bmFtZToiX2lubGluZV8xNl9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmcyXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmczXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmc0XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmc1XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmc2XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDo0fV0sdGhpc1ZhcnM6WyJ0aGlzX2Nsb3Nlc3REMiIsInRoaXNfY2xvc2VzdFgiLCJ0aGlzX2Nsb3Nlc3RZIl0sbG9jYWxWYXJzOlsiX2lubGluZV8xNl9hIiwiX2lubGluZV8xNl9mIiwiX2lubGluZV8xNl9sIl19LHBvc3Q6e2JvZHk6IntyZXR1cm5bdGhpc19jbG9zZXN0WCx0aGlzX2Nsb3Nlc3RZLHRoaXNfY2xvc2VzdEQyXX0iLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2Nsb3Nlc3REMiIsInRoaXNfY2xvc2VzdFgiLCJ0aGlzX2Nsb3Nlc3RZIl0sbG9jYWxWYXJzOltdfSxkZWJ1ZzohMSxmdW5jTmFtZToiY3dpc2UiLGJsb2NrU2l6ZTo2NH0pO2Z1bmN0aW9uIGwodCxlLHIsbixhKXt0aGlzLmNvb3JkPVt0LGVdLHRoaXMuaWQ9cix0aGlzLnZhbHVlPW4sdGhpcy5kaXN0YW5jZT1hfWZ1bmN0aW9uIGModCxlLHIpe3RoaXMuZ2w9dCx0aGlzLmZibz1lLHRoaXMuYnVmZmVyPXIsdGhpcy5fcmVhZFRpbWVvdXQ9bnVsbDt2YXIgbj10aGlzO3RoaXMuX3JlYWRDYWxsYmFjaz1mdW5jdGlvbigpe24uZ2wmJihlLmJpbmQoKSx0LnJlYWRQaXhlbHMoMCwwLGUuc2hhcGVbMF0sZS5zaGFwZVsxXSx0LlJHQkEsdC5VTlNJR05FRF9CWVRFLG4uYnVmZmVyKSxuLl9yZWFkVGltZW91dD1udWxsKX19dmFyIHU9Yy5wcm90b3R5cGU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHUsInNoYXBlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2w/dGhpcy5mYm8uc2hhcGUuc2xpY2UoKTpbMCwwXX0sc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMuZ2wpe3RoaXMuZmJvLnNoYXBlPXQ7dmFyIGU9dGhpcy5mYm8uc2hhcGVbMF0scj10aGlzLmZiby5zaGFwZVsxXTtpZihyKmUqND50aGlzLmJ1ZmZlci5sZW5ndGgpe2EuZnJlZSh0aGlzLmJ1ZmZlcik7Zm9yKHZhciBuPXRoaXMuYnVmZmVyPWEubWFsbG9jVWludDgobyhyKmUqNCkpLGk9MDtpPHIqZSo0OysraSluW2ldPTI1NX1yZXR1cm4gdH19fSksdS5iZWdpbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2w7dGhpcy5zaGFwZTt0JiYodGhpcy5mYm8uYmluZCgpLHQuY2xlYXJDb2xvcigxLDEsMSwxKSx0LmNsZWFyKHQuQ09MT1JfQlVGRkVSX0JJVHx0LkRFUFRIX0JVRkZFUl9CSVQpKX0sdS5lbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdsO3QmJih0LmJpbmRGcmFtZWJ1ZmZlcih0LkZSQU1FQlVGRkVSLG51bGwpLHRoaXMuX3JlYWRUaW1lb3V0fHxjbGVhclRpbWVvdXQodGhpcy5fcmVhZFRpbWVvdXQpLHRoaXMuX3JlYWRUaW1lb3V0PXNldFRpbWVvdXQodGhpcy5fcmVhZENhbGxiYWNrLDEpKX0sdS5xdWVyeT1mdW5jdGlvbih0LGUscil7aWYoIXRoaXMuZ2wpcmV0dXJuIG51bGw7dmFyIG49dGhpcy5mYm8uc2hhcGUuc2xpY2UoKTt0fD0wLGV8PTAsIm51bWJlciIhPXR5cGVvZiByJiYocj0xKTt2YXIgYT0wfE1hdGgubWluKE1hdGgubWF4KHQtciwwKSxuWzBdKSxvPTB8TWF0aC5taW4oTWF0aC5tYXgodCtyLDApLG5bMF0pLGM9MHxNYXRoLm1pbihNYXRoLm1heChlLXIsMCksblsxXSksdT0wfE1hdGgubWluKE1hdGgubWF4KGUrciwwKSxuWzFdKTtpZihvPD1hfHx1PD1jKXJldHVybiBudWxsO3ZhciBoPVtvLWEsdS1jXSxmPWkodGhpcy5idWZmZXIsW2hbMF0saFsxXSw0XSxbNCw0Km5bMF0sMV0sNCooYStuWzBdKmMpKSxwPXMoZi5oaShoWzBdLGhbMV0sMSkscixyKSxkPXBbMF0sZz1wWzFdO3JldHVybiBkPDB8fE1hdGgucG93KHRoaXMucmFkaXVzLDIpPHBbMl0/bnVsbDpuZXcgbChkK2F8MCxnK2N8MCxmLmdldChkLGcsMCksW2YuZ2V0KGQsZywxKSxmLmdldChkLGcsMiksZi5nZXQoZCxnLDMpXSxNYXRoLnNxcnQocFsyXSkpfSx1LmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmdsJiYodGhpcy5mYm8uZGlzcG9zZSgpLGEuZnJlZSh0aGlzLmJ1ZmZlciksdGhpcy5nbD1udWxsLHRoaXMuX3JlYWRUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fcmVhZFRpbWVvdXQpKX19LHsiYml0LXR3aWRkbGUiOjk0LCJjd2lzZS9saWIvd3JhcHBlciI6MTUxLCJnbC1mYm8iOjI1MixuZGFycmF5OjQ1MiwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwzMDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvY3JlYXRlLXVuaWZvcm1zIiksYT10KCIuL2xpYi9jcmVhdGUtYXR0cmlidXRlcyIpLGk9dCgiLi9saWIvcmVmbGVjdCIpLG89dCgiLi9saWIvc2hhZGVyLWNhY2hlIikscz10KCIuL2xpYi9ydW50aW1lLXJlZmxlY3QiKSxsPXQoIi4vbGliL0dMRXJyb3IiKTtmdW5jdGlvbiBjKHQpe3RoaXMuZ2w9dCx0aGlzLmdsLmxhc3RBdHRyaWJDb3VudD0wLHRoaXMuX3ZyZWY9dGhpcy5fZnJlZj10aGlzLl9yZWxpbms9dGhpcy52ZXJ0U2hhZGVyPXRoaXMuZnJhZ1NoYWRlcj10aGlzLnByb2dyYW09dGhpcy5hdHRyaWJ1dGVzPXRoaXMudW5pZm9ybXM9dGhpcy50eXBlcz1udWxsfXZhciB1PWMucHJvdG90eXBlO2Z1bmN0aW9uIGgodCxlKXtyZXR1cm4gdC5uYW1lPGUubmFtZT8tMToxfXUuYmluZD1mdW5jdGlvbigpe3ZhciB0O3RoaXMucHJvZ3JhbXx8dGhpcy5fcmVsaW5rKCk7dmFyIGU9dGhpcy5nbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHRoaXMucHJvZ3JhbSx0aGlzLmdsLkFDVElWRV9BVFRSSUJVVEVTKSxyPXRoaXMuZ2wubGFzdEF0dHJpYkNvdW50O2lmKGU+cilmb3IodD1yO3Q8ZTt0KyspdGhpcy5nbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTtlbHNlIGlmKHI+ZSlmb3IodD1lO3Q8cjt0KyspdGhpcy5nbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7dGhpcy5nbC5sYXN0QXR0cmliQ291bnQ9ZSx0aGlzLmdsLnVzZVByb2dyYW0odGhpcy5wcm9ncmFtKX0sdS5kaXNwb3NlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuZ2wubGFzdEF0dHJpYkNvdW50LGU9MDtlPHQ7ZSsrKXRoaXMuZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGUpO3RoaXMuZ2wubGFzdEF0dHJpYkNvdW50PTAsdGhpcy5fZnJlZiYmdGhpcy5fZnJlZi5kaXNwb3NlKCksdGhpcy5fdnJlZiYmdGhpcy5fdnJlZi5kaXNwb3NlKCksdGhpcy5hdHRyaWJ1dGVzPXRoaXMudHlwZXM9dGhpcy52ZXJ0U2hhZGVyPXRoaXMuZnJhZ1NoYWRlcj10aGlzLnByb2dyYW09dGhpcy5fcmVsaW5rPXRoaXMuX2ZyZWY9dGhpcy5fdnJlZj1udWxsfSx1LnVwZGF0ZT1mdW5jdGlvbih0LGUscixjKXtpZighZXx8MT09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciB1PXQ7dD11LnZlcnRleCxlPXUuZnJhZ21lbnQscj11LnVuaWZvcm1zLGM9dS5hdHRyaWJ1dGVzfXZhciBmPXRoaXMscD1mLmdsLGQ9Zi5fdnJlZjtmLl92cmVmPW8uc2hhZGVyKHAscC5WRVJURVhfU0hBREVSLHQpLGQmJmQuZGlzcG9zZSgpLGYudmVydFNoYWRlcj1mLl92cmVmLnNoYWRlcjt2YXIgZz10aGlzLl9mcmVmO2lmKGYuX2ZyZWY9by5zaGFkZXIocCxwLkZSQUdNRU5UX1NIQURFUixlKSxnJiZnLmRpc3Bvc2UoKSxmLmZyYWdTaGFkZXI9Zi5fZnJlZi5zaGFkZXIsIXJ8fCFjKXt2YXIgdj1wLmNyZWF0ZVByb2dyYW0oKTtpZihwLmF0dGFjaFNoYWRlcih2LGYuZnJhZ1NoYWRlcikscC5hdHRhY2hTaGFkZXIodixmLnZlcnRTaGFkZXIpLHAubGlua1Byb2dyYW0odiksIXAuZ2V0UHJvZ3JhbVBhcmFtZXRlcih2LHAuTElOS19TVEFUVVMpKXt2YXIgbT1wLmdldFByb2dyYW1JbmZvTG9nKHYpO3Rocm93IG5ldyBsKG0sIkVycm9yIGxpbmtpbmcgcHJvZ3JhbToiK20pfXI9cnx8cy51bmlmb3JtcyhwLHYpLGM9Y3x8cy5hdHRyaWJ1dGVzKHAsdikscC5kZWxldGVQcm9ncmFtKHYpfShjPWMuc2xpY2UoKSkuc29ydChoKTt2YXIgeSx4PVtdLGI9W10sXz1bXTtmb3IoeT0wO3k8Yy5sZW5ndGg7Kyt5KXt2YXIgdz1jW3ldO2lmKHcudHlwZS5pbmRleE9mKCJtYXQiKT49MCl7Zm9yKHZhciBrPTB8dy50eXBlLmNoYXJBdCh3LnR5cGUubGVuZ3RoLTEpLFQ9bmV3IEFycmF5KGspLE09MDtNPGs7KytNKVRbTV09Xy5sZW5ndGgsYi5wdXNoKHcubmFtZSsiWyIrTSsiXSIpLCJudW1iZXIiPT10eXBlb2Ygdy5sb2NhdGlvbj9fLnB1c2gody5sb2NhdGlvbitNKTpBcnJheS5pc0FycmF5KHcubG9jYXRpb24pJiZ3LmxvY2F0aW9uLmxlbmd0aD09PWsmJiJudW1iZXIiPT10eXBlb2Ygdy5sb2NhdGlvbltNXT9fLnB1c2goMHx3LmxvY2F0aW9uW01dKTpfLnB1c2goLTEpO3gucHVzaCh7bmFtZTp3Lm5hbWUsdHlwZTp3LnR5cGUsbG9jYXRpb25zOlR9KX1lbHNlIHgucHVzaCh7bmFtZTp3Lm5hbWUsdHlwZTp3LnR5cGUsbG9jYXRpb25zOltfLmxlbmd0aF19KSxiLnB1c2gody5uYW1lKSwibnVtYmVyIj09dHlwZW9mIHcubG9jYXRpb24/Xy5wdXNoKDB8dy5sb2NhdGlvbik6Xy5wdXNoKC0xKX12YXIgQT0wO2Zvcih5PTA7eTxfLmxlbmd0aDsrK3kpaWYoX1t5XTwwKXtmb3IoO18uaW5kZXhPZihBKT49MDspQSs9MTtfW3ldPUF9dmFyIFM9bmV3IEFycmF5KHIubGVuZ3RoKTtmdW5jdGlvbiBFKCl7Zi5wcm9ncmFtPW8ucHJvZ3JhbShwLGYuX3ZyZWYsZi5fZnJlZixiLF8pO2Zvcih2YXIgdD0wO3Q8ci5sZW5ndGg7Kyt0KVNbdF09cC5nZXRVbmlmb3JtTG9jYXRpb24oZi5wcm9ncmFtLHJbdF0ubmFtZSl9RSgpLGYuX3JlbGluaz1FLGYudHlwZXM9e3VuaWZvcm1zOmkociksYXR0cmlidXRlczppKGMpfSxmLmF0dHJpYnV0ZXM9YShwLGYseCxfKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwidW5pZm9ybXMiLG4ocCxmLHIsUykpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT1uZXcgYyh0KTtyZXR1cm4gaS51cGRhdGUoZSxyLG4sYSksaX19LHsiLi9saWIvR0xFcnJvciI6MzA1LCIuL2xpYi9jcmVhdGUtYXR0cmlidXRlcyI6MzA2LCIuL2xpYi9jcmVhdGUtdW5pZm9ybXMiOjMwNywiLi9saWIvcmVmbGVjdCI6MzA4LCIuL2xpYi9ydW50aW1lLXJlZmxlY3QiOjMwOSwiLi9saWIvc2hhZGVyLWNhY2hlIjozMTB9XSwzMDU6W2Z1bmN0aW9uKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSxyKXt0aGlzLnNob3J0TWVzc2FnZT1lfHwiIix0aGlzLmxvbmdNZXNzYWdlPXJ8fCIiLHRoaXMucmF3RXJyb3I9dHx8IiIsdGhpcy5tZXNzYWdlPSJnbC1zaGFkZXI6ICIrKGV8fHR8fCIiKSsocj8iXG4iK3I6IiIpLHRoaXMuc3RhY2s9KG5ldyBFcnJvcikuc3RhY2t9bi5wcm90b3R5cGU9bmV3IEVycm9yLG4ucHJvdG90eXBlLm5hbWU9IkdMRXJyb3IiLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sZS5leHBvcnRzPW59LHt9XSwzMDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGEpe2Zvcih2YXIgaT17fSxsPTAsYz1yLmxlbmd0aDtsPGM7KytsKXt2YXIgdT1yW2xdLGg9dS5uYW1lLGY9dS50eXBlLHA9dS5sb2NhdGlvbnM7c3dpdGNoKGYpe2Nhc2UiYm9vbCI6Y2FzZSJpbnQiOmNhc2UiZmxvYXQiOm8odCxlLHBbMF0sYSwxLGksaCk7YnJlYWs7ZGVmYXVsdDppZihmLmluZGV4T2YoInZlYyIpPj0wKXt2YXIgZD1mLmNoYXJDb2RlQXQoZi5sZW5ndGgtMSktNDg7aWYoZDwyfHxkPjQpdGhyb3cgbmV3IG4oIiIsIkludmFsaWQgZGF0YSB0eXBlIGZvciBhdHRyaWJ1dGUgIitoKyI6ICIrZik7byh0LGUscFswXSxhLGQsaSxoKX1lbHNle2lmKCEoZi5pbmRleE9mKCJtYXQiKT49MCkpdGhyb3cgbmV3IG4oIiIsIlVua25vd24gZGF0YSB0eXBlIGZvciBhdHRyaWJ1dGUgIitoKyI6ICIrZik7dmFyIGQ9Zi5jaGFyQ29kZUF0KGYubGVuZ3RoLTEpLTQ4O2lmKGQ8Mnx8ZD40KXRocm93IG5ldyBuKCIiLCJJbnZhbGlkIGRhdGEgdHlwZSBmb3IgYXR0cmlidXRlICIraCsiOiAiK2YpO3ModCxlLHAsYSxkLGksaCl9fX1yZXR1cm4gaX07dmFyIG49dCgiLi9HTEVycm9yIik7ZnVuY3Rpb24gYSh0LGUscixuLGEsaSl7dGhpcy5fZ2w9dCx0aGlzLl93cmFwcGVyPWUsdGhpcy5faW5kZXg9cix0aGlzLl9sb2NhdGlvbnM9bix0aGlzLl9kaW1lbnNpb249YSx0aGlzLl9jb25zdEZ1bmM9aX12YXIgaT1hLnByb3RvdHlwZTtmdW5jdGlvbiBvKHQsZSxyLG4saSxvLHMpe2Zvcih2YXIgbD1bImdsIiwidiJdLGM9W10sdT0wO3U8aTsrK3UpbC5wdXNoKCJ4Iit1KSxjLnB1c2goIngiK3UpO2wucHVzaCgiaWYoeDAubGVuZ3RoPT09dm9pZCAwKXtyZXR1cm4gZ2wudmVydGV4QXR0cmliIitpKyJmKHYsIitjLmpvaW4oKSsiKX1lbHNle3JldHVybiBnbC52ZXJ0ZXhBdHRyaWIiK2krImZ2KHYseDApfSIpO3ZhciBoPUZ1bmN0aW9uLmFwcGx5KG51bGwsbCksZj1uZXcgYSh0LGUscixuLGksaCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KG8scyx7c2V0OmZ1bmN0aW9uKGUpe3JldHVybiB0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuW3JdKSxoKHQsbltyXSxlKSxlfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZW51bWVyYWJsZTohMH0pfWZ1bmN0aW9uIHModCxlLHIsbixhLGkscyl7Zm9yKHZhciBsPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSx1PTA7dTxhOysrdSlvKHQsZSxyW3VdLG4sYSxsLHUpLGNbdV09bFt1XTtPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibG9jYXRpb24iLHtzZXQ6ZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGU9MDtlPGE7KytlKWNbZV0ubG9jYXRpb249dFtlXTtlbHNlIGZvcihlPTA7ZTxhOysrZSljW2VdLmxvY2F0aW9uPXQrZTtyZXR1cm4gdH0sZ2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheShhKSxlPTA7ZTxhOysrZSl0W2VdPW5bcltlXV07cmV0dXJuIHR9LGVudW1lcmFibGU6ITB9KSxsLnBvaW50ZXI9ZnVuY3Rpb24oZSxpLG8scyl7ZT1lfHx0LkZMT0FULGk9ISFpLG89b3x8YSphLHM9c3x8MDtmb3IodmFyIGw9MDtsPGE7KytsKXt2YXIgYz1uW3JbbF1dO3QudmVydGV4QXR0cmliUG9pbnRlcihjLGEsZSxpLG8scytsKmEpLHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoYyl9fTt2YXIgaD1uZXcgQXJyYXkoYSksZj10WyJ2ZXJ0ZXhBdHRyaWIiK2ErImZ2Il07T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyx7c2V0OmZ1bmN0aW9uKGUpe2Zvcih2YXIgaT0wO2k8YTsrK2kpe3ZhciBvPW5bcltpXV07aWYodC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobyksQXJyYXkuaXNBcnJheShlWzBdKSlmLmNhbGwodCxvLGVbaV0pO2Vsc2V7Zm9yKHZhciBzPTA7czxhOysrcyloW3NdPWVbYSppK3NdO2YuY2FsbCh0LG8saCl9fXJldHVybiBlfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZW51bWVyYWJsZTohMH0pfWkucG9pbnRlcj1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10aGlzLl9nbCxpPXRoaXMuX2xvY2F0aW9uc1t0aGlzLl9pbmRleF07YS52ZXJ0ZXhBdHRyaWJQb2ludGVyKGksdGhpcy5fZGltZW5zaW9uLHR8fGEuRkxPQVQsISFlLHJ8fDAsbnx8MCksYS5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShpKX0saS5zZXQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRoaXMuX2NvbnN0RnVuYyh0aGlzLl9sb2NhdGlvbnNbdGhpcy5faW5kZXhdLHQsZSxyLG4pfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaSwibG9jYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9jYXRpb25zW3RoaXMuX2luZGV4XX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0IT09dGhpcy5fbG9jYXRpb25zW3RoaXMuX2luZGV4XSYmKHRoaXMuX2xvY2F0aW9uc1t0aGlzLl9pbmRleF09MHx0LHRoaXMuX3dyYXBwZXIucHJvZ3JhbT1udWxsKSwwfHR9fSl9LHsiLi9HTEVycm9yIjozMDV9XSwzMDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9yZWZsZWN0IiksYT10KCIuL0dMRXJyb3IiKTtmdW5jdGlvbiBpKHQpe3JldHVybiBuZXcgRnVuY3Rpb24oInkiLCJyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4geX0iKSh0KX1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbilyW25dPWU7cmV0dXJuIHJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe2Z1bmN0aW9uIGwodCxlLHIpe3N3aXRjaChyKXtjYXNlImJvb2wiOmNhc2UiaW50IjpjYXNlInNhbXBsZXIyRCI6Y2FzZSJzYW1wbGVyQ3ViZSI6cmV0dXJuImdsLnVuaWZvcm0xaShsb2NhdGlvbnNbIitlKyJdLG9iaiIrdCsiKSI7Y2FzZSJmbG9hdCI6cmV0dXJuImdsLnVuaWZvcm0xZihsb2NhdGlvbnNbIitlKyJdLG9iaiIrdCsiKSI7ZGVmYXVsdDp2YXIgbj1yLmluZGV4T2YoInZlYyIpO2lmKCEoMDw9biYmbjw9MSYmci5sZW5ndGg9PT00K24pKXtpZigwPT09ci5pbmRleE9mKCJtYXQiKSYmND09PXIubGVuZ3RoKXt2YXIgaT1yLmNoYXJDb2RlQXQoci5sZW5ndGgtMSktNDg7aWYoaTwyfHxpPjQpdGhyb3cgbmV3IGEoIiIsIkludmFsaWQgdW5pZm9ybSBkaW1lbnNpb24gdHlwZSBmb3IgbWF0cml4ICIrbmFtZSsiOiAiK3IpO3JldHVybiJnbC51bmlmb3JtTWF0cml4IitpKyJmdihsb2NhdGlvbnNbIitlKyJdLGZhbHNlLG9iaiIrdCsiKSJ9dGhyb3cgbmV3IGEoIiIsIlVua25vd24gdW5pZm9ybSBkYXRhIHR5cGUgZm9yICIrbmFtZSsiOiAiK3IpfXZhciBpPXIuY2hhckNvZGVBdChyLmxlbmd0aC0xKS00ODtpZihpPDJ8fGk+NCl0aHJvdyBuZXcgYSgiIiwiSW52YWxpZCBkYXRhIHR5cGUiKTtzd2l0Y2goci5jaGFyQXQoMCkpe2Nhc2UiYiI6Y2FzZSJpIjpyZXR1cm4iZ2wudW5pZm9ybSIraSsiaXYobG9jYXRpb25zWyIrZSsiXSxvYmoiK3QrIikiO2Nhc2UidiI6cmV0dXJuImdsLnVuaWZvcm0iK2krImZ2KGxvY2F0aW9uc1siK2UrIl0sb2JqIit0KyIpIjtkZWZhdWx0OnRocm93IG5ldyBhKCIiLCJVbnJlY29nbml6ZWQgZGF0YSB0eXBlIGZvciB2ZWN0b3IgIituYW1lKyI6ICIrcil9fX1mdW5jdGlvbiBjKGUpe2Zvcih2YXIgbj1bInJldHVybiBmdW5jdGlvbiB1cGRhdGVQcm9wZXJ0eShvYmopeyJdLGE9ZnVuY3Rpb24gdChlLHIpe2lmKCJvYmplY3QiIT10eXBlb2YgcilyZXR1cm5bW2Uscl1dO3ZhciBuPVtdO2Zvcih2YXIgYSBpbiByKXt2YXIgaT1yW2FdLG89ZTtwYXJzZUludChhKSsiIj09PWE/bys9IlsiK2ErIl0iOm8rPSIuIithLCJvYmplY3QiPT10eXBlb2YgaT9uLnB1c2guYXBwbHkobix0KG8saSkpOm4ucHVzaChbbyxpXSl9cmV0dXJuIG59KCIiLGUpLGk9MDtpPGEubGVuZ3RoOysraSl7dmFyIG89YVtpXSxjPW9bMF0sdT1vWzFdO3NbdV0mJm4ucHVzaChsKGMsdSxyW3VdLnR5cGUpKX1uLnB1c2goInJldHVybiBvYmp9Iik7dmFyIGg9bmV3IEZ1bmN0aW9uKCJnbCIsImxvY2F0aW9ucyIsbi5qb2luKCJcbiIpKTtyZXR1cm4gaCh0LHMpfWZ1bmN0aW9uIHUobixsLHUpe2lmKCJvYmplY3QiPT10eXBlb2YgdSl7dmFyIGY9aCh1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtnZXQ6aShmKSxzZXQ6Yyh1KSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMX0pfWVsc2Ugc1t1XT9PYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtnZXQ6KHA9dSxkPW5ldyBGdW5jdGlvbigiZ2wiLCJ3cmFwcGVyIiwibG9jYXRpb25zIiwicmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGdsLmdldFVuaWZvcm0od3JhcHBlci5wcm9ncmFtLGxvY2F0aW9uc1siK3ArIl0pfSIpLGQodCxlLHMpKSxzZXQ6Yyh1KSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMX0pOm5bbF09ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2UiYm9vbCI6cmV0dXJuITE7Y2FzZSJpbnQiOmNhc2Uic2FtcGxlcjJEIjpjYXNlInNhbXBsZXJDdWJlIjpjYXNlImZsb2F0IjpyZXR1cm4gMDtkZWZhdWx0OnZhciBlPXQuaW5kZXhPZigidmVjIik7aWYoMDw9ZSYmZTw9MSYmdC5sZW5ndGg9PT00K2Upe3ZhciByPXQuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKS00ODtpZihyPDJ8fHI+NCl0aHJvdyBuZXcgYSgiIiwiSW52YWxpZCBkYXRhIHR5cGUiKTtyZXR1cm4iYiI9PT10LmNoYXJBdCgwKT9vKHIsITEpOm8ociwwKX1pZigwPT09dC5pbmRleE9mKCJtYXQiKSYmND09PXQubGVuZ3RoKXt2YXIgcj10LmNoYXJDb2RlQXQodC5sZW5ndGgtMSktNDg7aWYocjwyfHxyPjQpdGhyb3cgbmV3IGEoIiIsIkludmFsaWQgdW5pZm9ybSBkaW1lbnNpb24gdHlwZSBmb3IgbWF0cml4ICIrbmFtZSsiOiAiK3QpO3JldHVybiBvKHIqciwwKX10aHJvdyBuZXcgYSgiIiwiVW5rbm93biB1bmlmb3JtIGRhdGEgdHlwZSBmb3IgIituYW1lKyI6ICIrdCl9fShyW3VdLnR5cGUpO3ZhciBwLGR9ZnVuY3Rpb24gaCh0KXt2YXIgZTtpZihBcnJheS5pc0FycmF5KHQpKXtlPW5ldyBBcnJheSh0Lmxlbmd0aCk7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpdShlLHIsdFtyXSl9ZWxzZSBmb3IodmFyIG4gaW4gZT17fSx0KXUoZSxuLHRbbl0pO3JldHVybiBlfXZhciBmPW4ociwhMCk7cmV0dXJue2dldDppKGgoZikpLHNldDpjKGYpLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfX19LHsiLi9HTEVycm9yIjozMDUsIi4vcmVmbGVjdCI6MzA4fV0sMzA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj17fSxuPTA7bjx0Lmxlbmd0aDsrK24pZm9yKHZhciBhPXRbbl0ubmFtZSxpPWEuc3BsaXQoIi4iKSxvPXIscz0wO3M8aS5sZW5ndGg7KytzKXt2YXIgbD1pW3NdLnNwbGl0KCJbIik7aWYobC5sZW5ndGg+MSl7bFswXWluIG98fChvW2xbMF1dPVtdKSxvPW9bbFswXV07Zm9yKHZhciBjPTE7YzxsLmxlbmd0aDsrK2Mpe3ZhciB1PXBhcnNlSW50KGxbY10pO2M8bC5sZW5ndGgtMXx8czxpLmxlbmd0aC0xPyh1IGluIG98fChjPGwubGVuZ3RoLTE/b1t1XT1bXTpvW3VdPXt9KSxvPW9bdV0pOm9bdV09ZT9uOnRbbl0udHlwZX19ZWxzZSBzPGkubGVuZ3RoLTE/KGxbMF1pbiBvfHwob1tsWzBdXT17fSksbz1vW2xbMF1dKTpvW2xbMF1dPWU/bjp0W25dLnR5cGV9cmV0dXJuIHJ9fSx7fV0sMzA5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IudW5pZm9ybXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGUsdC5BQ1RJVkVfVU5JRk9STVMpLG49W10sYT0wO2E8cjsrK2Epe3ZhciBvPXQuZ2V0QWN0aXZlVW5pZm9ybShlLGEpO2lmKG8pe3ZhciBzPWkodCxvLnR5cGUpO2lmKG8uc2l6ZT4xKWZvcih2YXIgbD0wO2w8by5zaXplOysrbCluLnB1c2goe25hbWU6by5uYW1lLnJlcGxhY2UoIlswXSIsIlsiK2wrIl0iKSx0eXBlOnN9KTtlbHNlIG4ucHVzaCh7bmFtZTpvLm5hbWUsdHlwZTpzfSl9fXJldHVybiBufSxyLmF0dHJpYnV0ZXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGUsdC5BQ1RJVkVfQVRUUklCVVRFUyksbj1bXSxhPTA7YTxyOysrYSl7dmFyIG89dC5nZXRBY3RpdmVBdHRyaWIoZSxhKTtvJiZuLnB1c2goe25hbWU6by5uYW1lLHR5cGU6aSh0LG8udHlwZSl9KX1yZXR1cm4gbn07dmFyIG49e0ZMT0FUOiJmbG9hdCIsRkxPQVRfVkVDMjoidmVjMiIsRkxPQVRfVkVDMzoidmVjMyIsRkxPQVRfVkVDNDoidmVjNCIsSU5UOiJpbnQiLElOVF9WRUMyOiJpdmVjMiIsSU5UX1ZFQzM6Iml2ZWMzIixJTlRfVkVDNDoiaXZlYzQiLEJPT0w6ImJvb2wiLEJPT0xfVkVDMjoiYnZlYzIiLEJPT0xfVkVDMzoiYnZlYzMiLEJPT0xfVkVDNDoiYnZlYzQiLEZMT0FUX01BVDI6Im1hdDIiLEZMT0FUX01BVDM6Im1hdDMiLEZMT0FUX01BVDQ6Im1hdDQiLFNBTVBMRVJfMkQ6InNhbXBsZXIyRCIsU0FNUExFUl9DVUJFOiJzYW1wbGVyQ3ViZSJ9LGE9bnVsbDtmdW5jdGlvbiBpKHQsZSl7aWYoIWEpe3ZhciByPU9iamVjdC5rZXlzKG4pO2E9e307Zm9yKHZhciBpPTA7aTxyLmxlbmd0aDsrK2kpe3ZhciBvPXJbaV07YVt0W29dXT1uW29dfX1yZXR1cm4gYVtlXX19LHt9XSwzMTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5zaGFkZXI9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB1KHQpLmdldFNoYWRlclJlZmVyZW5jZShlLHIpfSxyLnByb2dyYW09ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdSh0KS5nZXRQcm9ncmFtKGUscixuLGEpfTt2YXIgbj10KCIuL0dMRXJyb3IiKSxhPXQoImdsLWZvcm1hdC1jb21waWxlci1lcnJvciIpLGk9bmV3KCJ1bmRlZmluZWQiPT10eXBlb2YgV2Vha01hcD90KCJ3ZWFrbWFwLXNoaW0iKTpXZWFrTWFwKSxvPTA7ZnVuY3Rpb24gcyh0LGUscixuLGEsaSxvKXt0aGlzLmlkPXQsdGhpcy5zcmM9ZSx0aGlzLnR5cGU9cix0aGlzLnNoYWRlcj1uLHRoaXMuY291bnQ9aSx0aGlzLnByb2dyYW1zPVtdLHRoaXMuY2FjaGU9b31mdW5jdGlvbiBsKHQpe3RoaXMuZ2w9dCx0aGlzLnNoYWRlcnM9W3t9LHt9XSx0aGlzLnByb2dyYW1zPXt9fXMucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpZigwPT0tLXRoaXMuY291bnQpe2Zvcih2YXIgdD10aGlzLmNhY2hlLGU9dC5nbCxyPXRoaXMucHJvZ3JhbXMsbj0wLGE9ci5sZW5ndGg7bjxhOysrbil7dmFyIGk9dC5wcm9ncmFtc1tyW25dXTtpJiYoZGVsZXRlIHQucHJvZ3JhbXNbbl0sZS5kZWxldGVQcm9ncmFtKGkpKX1lLmRlbGV0ZVNoYWRlcih0aGlzLnNoYWRlciksZGVsZXRlIHQuc2hhZGVyc1t0aGlzLnR5cGU9PT1lLkZSQUdNRU5UX1NIQURFUnwwXVt0aGlzLnNyY119fTt2YXIgYz1sLnByb3RvdHlwZTtmdW5jdGlvbiB1KHQpe3ZhciBlPWkuZ2V0KHQpO3JldHVybiBlfHwoZT1uZXcgbCh0KSxpLnNldCh0LGUpKSxlfWMuZ2V0U2hhZGVyUmVmZXJlbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5nbCxpPXRoaXMuc2hhZGVyc1t0PT09ci5GUkFHTUVOVF9TSEFERVJ8MF0sbD1pW2VdO2lmKGwmJnIuaXNTaGFkZXIobC5zaGFkZXIpKWwuY291bnQrPTE7ZWxzZXt2YXIgYz1mdW5jdGlvbih0LGUscil7dmFyIGk9dC5jcmVhdGVTaGFkZXIoZSk7aWYodC5zaGFkZXJTb3VyY2UoaSxyKSx0LmNvbXBpbGVTaGFkZXIoaSksIXQuZ2V0U2hhZGVyUGFyYW1ldGVyKGksdC5DT01QSUxFX1NUQVRVUykpe3ZhciBvPXQuZ2V0U2hhZGVySW5mb0xvZyhpKTt0cnl7dmFyIHM9YShvLHIsZSl9Y2F0Y2godCl7dGhyb3cgY29uc29sZS53YXJuKCJGYWlsZWQgdG8gZm9ybWF0IGNvbXBpbGVyIGVycm9yOiAiK3QpLG5ldyBuKG8sIkVycm9yIGNvbXBpbGluZyBzaGFkZXI6XG4iK28pfXRocm93IG5ldyBuKG8scy5zaG9ydCxzLmxvbmcpfXJldHVybiBpfShyLHQsZSk7bD1pW2VdPW5ldyBzKG8rKyxlLHQsYyxbXSwxLHRoaXMpfXJldHVybiBsfSxjLmdldFByb2dyYW09ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGk9W3QuaWQsZS5pZCxyLmpvaW4oIjoiKSxhLmpvaW4oIjoiKV0uam9pbigiQCIpLG89dGhpcy5wcm9ncmFtc1tpXTtyZXR1cm4gbyYmdGhpcy5nbC5pc1Byb2dyYW0obyl8fCh0aGlzLnByb2dyYW1zW2ldPW89ZnVuY3Rpb24odCxlLHIsYSxpKXt2YXIgbz10LmNyZWF0ZVByb2dyYW0oKTt0LmF0dGFjaFNoYWRlcihvLGUpLHQuYXR0YWNoU2hhZGVyKG8scik7Zm9yKHZhciBzPTA7czxhLmxlbmd0aDsrK3MpdC5iaW5kQXR0cmliTG9jYXRpb24obyxpW3NdLGFbc10pO2lmKHQubGlua1Byb2dyYW0obyksIXQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihvLHQuTElOS19TVEFUVVMpKXt2YXIgbD10LmdldFByb2dyYW1JbmZvTG9nKG8pO3Rocm93IG5ldyBuKGwsIkVycm9yIGxpbmtpbmcgcHJvZ3JhbTogIitsKX1yZXR1cm4gb30odGhpcy5nbCx0LnNoYWRlcixlLnNoYWRlcixyLGEpLHQucHJvZ3JhbXMucHVzaChpKSxlLnByb2dyYW1zLnB1c2goaSkpLG99fSx7Ii4vR0xFcnJvciI6MzA1LCJnbC1mb3JtYXQtY29tcGlsZXItZXJyb3IiOjI1Mywid2Vha21hcC1zaGltIjo1NTR9XSwzMTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXt0aGlzLnBsb3Q9dCx0aGlzLmVuYWJsZT1bITAsITAsITEsITFdLHRoaXMud2lkdGg9WzEsMSwxLDFdLHRoaXMuY29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy5jZW50ZXI9WzEvMCwxLzBdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBuKHQpO3JldHVybiByLnVwZGF0ZShlKSx0LmFkZE92ZXJsYXkocikscn07dmFyIGE9bi5wcm90b3R5cGU7YS51cGRhdGU9ZnVuY3Rpb24odCl7dD10fHx7fSx0aGlzLmVuYWJsZT0odC5lbmFibGV8fFshMCwhMCwhMSwhMV0pLnNsaWNlKCksdGhpcy53aWR0aD0odC53aWR0aHx8WzEsMSwxLDFdKS5zbGljZSgpLHRoaXMuY29sb3I9KHQuY29sb3J8fFtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuc2xpY2UoKX0pLHRoaXMuY2VudGVyPSh0LmNlbnRlcnx8WzEvMCwxLzBdKS5zbGljZSgpLHRoaXMucGxvdC5zZXRPdmVybGF5RGlydHkoKX0sYS5kcmF3PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbmFibGUsZT10aGlzLndpZHRoLHI9dGhpcy5jb2xvcixuPXRoaXMuY2VudGVyLGE9dGhpcy5wbG90LGk9YS5saW5lLG89YS5kYXRhQm94LHM9YS52aWV3Qm94O2lmKGkuYmluZCgpLG9bMF08PW5bMF0mJm5bMF08PW9bMl0mJm9bMV08PW5bMV0mJm5bMV08PW9bM10pe3ZhciBsPXNbMF0rKG5bMF0tb1swXSkvKG9bMl0tb1swXSkqKHNbMl0tc1swXSksYz1zWzFdKyhuWzFdLW9bMV0pLyhvWzNdLW9bMV0pKihzWzNdLXNbMV0pO3RbMF0mJmkuZHJhd0xpbmUobCxjLHNbMF0sYyxlWzBdLHJbMF0pLHRbMV0mJmkuZHJhd0xpbmUobCxjLGwsc1sxXSxlWzFdLHJbMV0pLHRbMl0mJmkuZHJhd0xpbmUobCxjLHNbMl0sYyxlWzJdLHJbMl0pLHRbM10mJmkuZHJhd0xpbmUobCxjLGwsc1szXSxlWzNdLHJbM10pfX0sYS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5wbG90LnJlbW92ZU92ZXJsYXkodGhpcyl9fSx7fV0sMzEyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPXQoImdsLXNoYWRlciIpLGk9bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb24sIGNvbG9yO1xuYXR0cmlidXRlIGZsb2F0IHdlaWdodDtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMzIGNvb3JkaW5hdGVzWzNdO1xudW5pZm9ybSB2ZWM0IGNvbG9yc1szXTtcbnVuaWZvcm0gdmVjMiBzY3JlZW5TaGFwZTtcbnVuaWZvcm0gZmxvYXQgbGluZVdpZHRoO1xuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgdmVydGV4UG9zaXRpb24gPSBtaXgoY29vcmRpbmF0ZXNbMF0sXG4gICAgbWl4KGNvb3JkaW5hdGVzWzJdLCBjb29yZGluYXRlc1sxXSwgMC41ICogKHBvc2l0aW9uICsgMS4wKSksIGFicyhwb3NpdGlvbikpO1xuXG4gIHZlYzQgY2xpcFBvcyA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApO1xuICB2ZWMyIGNsaXBPZmZzZXQgPSAocHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQoY29sb3IsIDAuMCkpLnh5O1xuICB2ZWMyIGRlbHRhID0gd2VpZ2h0ICogY2xpcE9mZnNldCAqIHNjcmVlblNoYXBlO1xuICB2ZWMyIGxpbmVPZmZzZXQgPSBub3JtYWxpemUodmVjMihkZWx0YS55LCAtZGVsdGEueCkpIC8gc2NyZWVuU2hhcGU7XG5cbiAgZ2xfUG9zaXRpb24gICA9IHZlYzQoY2xpcFBvcy54eSArIGNsaXBQb3MudyAqIDAuNSAqIGxpbmVXaWR0aCAqIGxpbmVPZmZzZXQsIGNsaXBQb3MueiwgY2xpcFBvcy53KTtcbiAgZnJhZ0NvbG9yICAgICA9IGNvbG9yLnggKiBjb2xvcnNbMF0gKyBjb2xvci55ICogY29sb3JzWzFdICsgY29sb3IueiAqIGNvbG9yc1syXTtcbn1cbiJdKSxvPW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG5cbnZvaWQgbWFpbigpIHtcbiAgZ2xfRnJhZ0NvbG9yID0gZnJhZ0NvbG9yO1xufSJdKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxpLG8sbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWMzIn0se25hbWU6IndlaWdodCIsdHlwZToiZmxvYXQifV0pfX0seyJnbC1zaGFkZXIiOjMwNCxnbHNsaWZ5OjQxMX1dLDMxMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXZhbyIpLGk9dCgiLi9zaGFkZXJzL2luZGV4Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107ZnVuY3Rpb24gbyh0LGUsbixhLGksbyl7dmFyIHM9W3QsZSxuLDAsMCwwLDFdO3NbYSszXT0xLHNbYV09aSxyLnB1c2guYXBwbHkocixzKSxzWzZdPS0xLHIucHVzaC5hcHBseShyLHMpLHNbYV09byxyLnB1c2guYXBwbHkocixzKSxyLnB1c2guYXBwbHkocixzKSxzWzZdPTEsci5wdXNoLmFwcGx5KHIscyksc1thXT1pLHIucHVzaC5hcHBseShyLHMpfW8oMCwwLDAsMCwwLDEpLG8oMCwwLDAsMSwwLDEpLG8oMCwwLDAsMiwwLDEpLG8oMSwwLDAsMSwtMSwxKSxvKDEsMCwwLDIsLTEsMSksbygwLDEsMCwwLC0xLDEpLG8oMCwxLDAsMiwtMSwxKSxvKDAsMCwxLDAsLTEsMSksbygwLDAsMSwxLC0xLDEpO3ZhciBsPW4odCxyKSxjPWEodCxbe3R5cGU6dC5GTE9BVCxidWZmZXI6bCxzaXplOjMsb2Zmc2V0OjAsc3RyaWRlOjI4fSx7dHlwZTp0LkZMT0FULGJ1ZmZlcjpsLHNpemU6MyxvZmZzZXQ6MTIsc3RyaWRlOjI4fSx7dHlwZTp0LkZMT0FULGJ1ZmZlcjpsLHNpemU6MSxvZmZzZXQ6MjQsc3RyaWRlOjI4fV0pLHU9aSh0KTt1LmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCx1LmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249MSx1LmF0dHJpYnV0ZXMud2VpZ2h0LmxvY2F0aW9uPTI7dmFyIGg9bmV3IHModCxsLGMsdSk7cmV0dXJuIGgudXBkYXRlKGUpLGh9O3ZhciBvPVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXTtmdW5jdGlvbiBzKHQsZSxyLG4pe3RoaXMuZ2w9dCx0aGlzLmJ1ZmZlcj1lLHRoaXMudmFvPXIsdGhpcy5zaGFkZXI9bix0aGlzLnBpeGVsUmF0aW89MSx0aGlzLmJvdW5kcz1bWy0xZTMsLTFlMywtMWUzXSxbMWUzLDFlMywxZTNdXSx0aGlzLnBvc2l0aW9uPVswLDAsMF0sdGhpcy5saW5lV2lkdGg9WzIsMiwyXSx0aGlzLmNvbG9ycz1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZW5hYmxlZD1bITAsITAsITBdLHRoaXMuZHJhd1NpZGVzPVshMCwhMCwhMF0sdGhpcy5heGVzPW51bGx9dmFyIGw9cy5wcm90b3R5cGUsYz1bMCwwLDBdLHU9WzAsMCwwXSxoPVswLDBdO2wuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiExfSxsLmRyYXdUcmFuc3BhcmVudD1mdW5jdGlvbih0KXt9LGwuZHJhdz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdsLHI9dGhpcy52YW8sbj10aGlzLnNoYWRlcjtyLmJpbmQoKSxuLmJpbmQoKTt2YXIgYSxpPXQubW9kZWx8fG8scz10LnZpZXd8fG8sbD10LnByb2plY3Rpb258fG87dGhpcy5heGVzJiYoYT10aGlzLmF4ZXMubGFzdEN1YmVQcm9wcy5heGlzKTtmb3IodmFyIGY9YyxwPXUsZD0wO2Q8MzsrK2QpYSYmYVtkXTwwPyhmW2RdPXRoaXMuYm91bmRzWzBdW2RdLHBbZF09dGhpcy5ib3VuZHNbMV1bZF0pOihmW2RdPXRoaXMuYm91bmRzWzFdW2RdLHBbZF09dGhpcy5ib3VuZHNbMF1bZF0pO2hbMF09ZS5kcmF3aW5nQnVmZmVyV2lkdGgsaFsxXT1lLmRyYXdpbmdCdWZmZXJIZWlnaHQsbi51bmlmb3Jtcy5tb2RlbD1pLG4udW5pZm9ybXMudmlldz1zLG4udW5pZm9ybXMucHJvamVjdGlvbj1sLG4udW5pZm9ybXMuY29vcmRpbmF0ZXM9W3RoaXMucG9zaXRpb24sZixwXSxuLnVuaWZvcm1zLmNvbG9ycz10aGlzLmNvbG9ycyxuLnVuaWZvcm1zLnNjcmVlblNoYXBlPWg7Zm9yKGQ9MDtkPDM7KytkKW4udW5pZm9ybXMubGluZVdpZHRoPXRoaXMubGluZVdpZHRoW2RdKnRoaXMucGl4ZWxSYXRpbyx0aGlzLmVuYWJsZWRbZF0mJihyLmRyYXcoZS5UUklBTkdMRVMsNiw2KmQpLHRoaXMuZHJhd1NpZGVzW2RdJiZyLmRyYXcoZS5UUklBTkdMRVMsMTIsMTgrMTIqZCkpO3IudW5iaW5kKCl9LGwudXBkYXRlPWZ1bmN0aW9uKHQpe3QmJigiYm91bmRzImluIHQmJih0aGlzLmJvdW5kcz10LmJvdW5kcyksInBvc2l0aW9uImluIHQmJih0aGlzLnBvc2l0aW9uPXQucG9zaXRpb24pLCJsaW5lV2lkdGgiaW4gdCYmKHRoaXMubGluZVdpZHRoPXQubGluZVdpZHRoKSwiY29sb3JzImluIHQmJih0aGlzLmNvbG9ycz10LmNvbG9ycyksImVuYWJsZWQiaW4gdCYmKHRoaXMuZW5hYmxlZD10LmVuYWJsZWQpLCJkcmF3U2lkZXMiaW4gdCYmKHRoaXMuZHJhd1NpZGVzPXQuZHJhd1NpZGVzKSl9LGwuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMudmFvLmRpc3Bvc2UoKSx0aGlzLmJ1ZmZlci5kaXNwb3NlKCksdGhpcy5zaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMvaW5kZXgiOjMxMiwiZ2wtYnVmZmVyIjoyNDQsImdsLXZhbyI6MzI5fV0sMzE0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xzbGlmeSIpLGE9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudmVjMyBnZXRPcnRob2dvbmFsVmVjdG9yKHZlYzMgdikge1xuICAvLyBSZXR1cm4gdXAtdmVjdG9yIGZvciBvbmx5LXogdmVjdG9yLlxuICAvLyBSZXR1cm4gYXggKyBieSArIGN6ID0gMCwgYSBwb2ludCB0aGF0IGxpZXMgb24gdGhlIHBsYW5lIHRoYXQgaGFzIHYgYXMgYSBub3JtYWwgYW5kIHRoYXQgaXNuJ3QgKDAsMCwwKS5cbiAgLy8gRnJvbSB0aGUgYWJvdmUgaWYtc3RhdGVtZW50IHdlIGhhdmUgfHxhfHwgPiAwICBVICB8fGJ8fCA+IDAuXG4gIC8vIEFzc2lnbiB6ID0gMCwgeCA9IC1iLCB5ID0gYTpcbiAgLy8gYSotYiArIGIqYSArIGMqMCA9IC1iYSArIGJhICsgMCA9IDBcbiAgaWYgKHYueCp2LnggPiB2Lnoqdi56IHx8IHYueSp2LnkgPiB2Lnoqdi56KSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZSh2ZWMzKC12LnksIHYueCwgMC4wKSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZSh2ZWMzKDAuMCwgdi56LCAtdi55KSk7XG4gIH1cbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSB0dWJlIHZlcnRleCBhbmQgbm9ybWFsIGF0IHRoZSBnaXZlbiBpbmRleC5cbi8vXG4vLyBUaGUgcmV0dXJuZWQgdmVydGV4IGlzIGZvciBhIHR1YmUgcmluZyB3aXRoIGl0cyBjZW50ZXIgYXQgb3JpZ2luLCByYWRpdXMgb2YgbGVuZ3RoKGQpLCBwb2ludGluZyBpbiB0aGUgZGlyZWN0aW9uIG9mIGQuXG4vL1xuLy8gRWFjaCB0dWJlIHNlZ21lbnQgaXMgbWFkZSB1cCBvZiBhIHJpbmcgb2YgdmVydGljZXMuXG4vLyBUaGVzZSB2ZXJ0aWNlcyBhcmUgdXNlZCB0byBtYWtlIHVwIHRoZSB0cmlhbmdsZXMgb2YgdGhlIHR1YmUgYnkgY29ubmVjdGluZyB0aGVtIHRvZ2V0aGVyIGluIHRoZSB2ZXJ0ZXggYXJyYXkuXG4vLyBUaGUgaW5kZXhlcyBvZiB0dWJlIHNlZ21lbnRzIHJ1biBmcm9tIDAgdG8gOC5cbi8vXG52ZWMzIGdldFR1YmVQb3NpdGlvbih2ZWMzIGQsIGZsb2F0IGluZGV4LCBvdXQgdmVjMyBub3JtYWwpIHtcbiAgZmxvYXQgc2VnbWVudENvdW50ID0gOC4wO1xuXG4gIGZsb2F0IGFuZ2xlID0gMi4wICogMy4xNDE1OSAqIChpbmRleCAvIHNlZ21lbnRDb3VudCk7XG5cbiAgdmVjMyB1ID0gZ2V0T3J0aG9nb25hbFZlY3RvcihkKTtcbiAgdmVjMyB2ID0gbm9ybWFsaXplKGNyb3NzKHUsIGQpKTtcblxuICB2ZWMzIHggPSB1ICogY29zKGFuZ2xlKSAqIGxlbmd0aChkKTtcbiAgdmVjMyB5ID0gdiAqIHNpbihhbmdsZSkgKiBsZW5ndGgoZCk7XG4gIHZlYzMgdjMgPSB4ICsgeTtcblxuICBub3JtYWwgPSBub3JtYWxpemUodjMpO1xuXG4gIHJldHVybiB2Mztcbn1cblxuYXR0cmlidXRlIHZlYzQgdmVjdG9yO1xuYXR0cmlidXRlIHZlYzQgY29sb3IsIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzIgdXY7XG5cbnVuaWZvcm0gZmxvYXQgdmVjdG9yU2NhbGUsIHR1YmVTY2FsZTtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbiwgaW52ZXJzZU1vZGVsO1xudW5pZm9ybSB2ZWMzIGV5ZVBvc2l0aW9uLCBsaWdodFBvc2l0aW9uO1xuXG52YXJ5aW5nIHZlYzMgZl9ub3JtYWwsIGZfbGlnaHREaXJlY3Rpb24sIGZfZXllRGlyZWN0aW9uLCBmX2RhdGEsIGZfcG9zaXRpb247XG52YXJ5aW5nIHZlYzQgZl9jb2xvcjtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52b2lkIG1haW4oKSB7XG4gIC8vIFNjYWxlIHRoZSB2ZWN0b3IgbWFnbml0dWRlIHRvIHN0YXkgY29uc3RhbnQgd2l0aFxuICAvLyBtb2RlbCAmIHZpZXcgY2hhbmdlcy5cbiAgdmVjMyBub3JtYWw7XG4gIHZlYzMgWFlaID0gZ2V0VHViZVBvc2l0aW9uKG1hdDMobW9kZWwpICogKHR1YmVTY2FsZSAqIHZlY3Rvci53ICogbm9ybWFsaXplKHZlY3Rvci54eXopKSwgcG9zaXRpb24udywgbm9ybWFsKTtcbiAgdmVjNCB0dWJlUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24ueHl6LCAxLjApICsgdmVjNChYWVosIDAuMCk7XG5cbiAgLy9MaWdodGluZyBnZW9tZXRyeSBwYXJhbWV0ZXJzXG4gIHZlYzQgY2FtZXJhQ29vcmRpbmF0ZSA9IHZpZXcgKiB0dWJlUG9zaXRpb247XG4gIGNhbWVyYUNvb3JkaW5hdGUueHl6IC89IGNhbWVyYUNvb3JkaW5hdGUudztcbiAgZl9saWdodERpcmVjdGlvbiA9IGxpZ2h0UG9zaXRpb24gLSBjYW1lcmFDb29yZGluYXRlLnh5ejtcbiAgZl9leWVEaXJlY3Rpb24gICA9IGV5ZVBvc2l0aW9uIC0gY2FtZXJhQ29vcmRpbmF0ZS54eXo7XG4gIGZfbm9ybWFsID0gbm9ybWFsaXplKCh2ZWM0KG5vcm1hbCwgMC4wKSAqIGludmVyc2VNb2RlbCkueHl6KTtcblxuICAvLyB2ZWM0IG1fcG9zaXRpb24gID0gbW9kZWwgKiB2ZWM0KHR1YmVQb3NpdGlvbiwgMS4wKTtcbiAgdmVjNCB0X3Bvc2l0aW9uICA9IHZpZXcgKiB0dWJlUG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uICAgICAgPSBwcm9qZWN0aW9uICogdF9wb3NpdGlvbjtcblxuICBmX2NvbG9yICAgICAgICAgID0gY29sb3I7XG4gIGZfZGF0YSAgICAgICAgICAgPSB0dWJlUG9zaXRpb24ueHl6O1xuICBmX3Bvc2l0aW9uICAgICAgID0gcG9zaXRpb24ueHl6O1xuICBmX3V2ICAgICAgICAgICAgID0gdXY7XG59XG4iXSksaT1uKFsiI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBjb29rVG9ycmFuY2VTcGVjdWxhcihcbiAgdmVjMyBsaWdodERpcmVjdGlvbixcbiAgdmVjMyB2aWV3RGlyZWN0aW9uLFxuICB2ZWMzIHN1cmZhY2VOb3JtYWwsXG4gIGZsb2F0IHJvdWdobmVzcyxcbiAgZmxvYXQgZnJlc25lbCkge1xuXG4gIGZsb2F0IFZkb3ROID0gbWF4KGRvdCh2aWV3RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcbiAgZmxvYXQgTGRvdE4gPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcblxuICAvL0hhbGYgYW5nbGUgdmVjdG9yXG4gIHZlYzMgSCA9IG5vcm1hbGl6ZShsaWdodERpcmVjdGlvbiArIHZpZXdEaXJlY3Rpb24pO1xuXG4gIC8vR2VvbWV0cmljIHRlcm1cbiAgZmxvYXQgTmRvdEggPSBtYXgoZG90KHN1cmZhY2VOb3JtYWwsIEgpLCAwLjApO1xuICBmbG9hdCBWZG90SCA9IG1heChkb3Qodmlld0RpcmVjdGlvbiwgSCksIDAuMDAwMDAxKTtcbiAgZmxvYXQgTGRvdEggPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBIKSwgMC4wMDAwMDEpO1xuICBmbG9hdCBHMSA9ICgyLjAgKiBOZG90SCAqIFZkb3ROKSAvIFZkb3RIO1xuICBmbG9hdCBHMiA9ICgyLjAgKiBOZG90SCAqIExkb3ROKSAvIExkb3RIO1xuICBmbG9hdCBHID0gbWluKDEuMCwgbWluKEcxLCBHMikpO1xuICBcbiAgLy9EaXN0cmlidXRpb24gdGVybVxuICBmbG9hdCBEID0gYmVja21hbm5EaXN0cmlidXRpb24oTmRvdEgsIHJvdWdobmVzcyk7XG5cbiAgLy9GcmVzbmVsIHRlcm1cbiAgZmxvYXQgRiA9IHBvdygxLjAgLSBWZG90TiwgZnJlc25lbCk7XG5cbiAgLy9NdWx0aXBseSB0ZXJtcyBhbmQgZG9uZVxuICByZXR1cm4gIEcgKiBGICogRCAvIG1heCgzLjE0MTU5MjY1ICogVmRvdE4sIDAuMDAwMDAxKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyBjbGlwQm91bmRzWzJdO1xudW5pZm9ybSBmbG9hdCByb3VnaG5lc3MsIGZyZXNuZWwsIGthbWJpZW50LCBrZGlmZnVzZSwga3NwZWN1bGFyLCBvcGFjaXR5O1xudW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTtcblxudmFyeWluZyB2ZWMzIGZfbm9ybWFsLCBmX2xpZ2h0RGlyZWN0aW9uLCBmX2V5ZURpcmVjdGlvbiwgZl9kYXRhLCBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmX3Bvc2l0aW9uKSkgZGlzY2FyZDtcbiAgdmVjMyBOID0gbm9ybWFsaXplKGZfbm9ybWFsKTtcbiAgdmVjMyBMID0gbm9ybWFsaXplKGZfbGlnaHREaXJlY3Rpb24pO1xuICB2ZWMzIFYgPSBub3JtYWxpemUoZl9leWVEaXJlY3Rpb24pO1xuXG4gIGlmKGdsX0Zyb250RmFjaW5nKSB7XG4gICAgTiA9IC1OO1xuICB9XG5cbiAgZmxvYXQgc3BlY3VsYXIgPSBtaW4oMS4wLCBtYXgoMC4wLCBjb29rVG9ycmFuY2VTcGVjdWxhcihMLCBWLCBOLCByb3VnaG5lc3MsIGZyZXNuZWwpKSk7XG4gIGZsb2F0IGRpZmZ1c2UgID0gbWluKGthbWJpZW50ICsga2RpZmZ1c2UgKiBtYXgoZG90KE4sIEwpLCAwLjApLCAxLjApO1xuXG4gIHZlYzQgc3VyZmFjZUNvbG9yID0gZl9jb2xvciAqIHRleHR1cmUyRCh0ZXh0dXJlLCBmX3V2KTtcbiAgdmVjNCBsaXRDb2xvciA9IHN1cmZhY2VDb2xvci5hICogdmVjNChkaWZmdXNlICogc3VyZmFjZUNvbG9yLnJnYiArIGtzcGVjdWxhciAqIHZlYzMoMSwxLDEpICogc3BlY3VsYXIsICAxLjApO1xuXG4gIGdsX0ZyYWdDb2xvciA9IGxpdENvbG9yICogb3BhY2l0eTtcbn1cbiJdKSxvPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cbnByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZlYzMgZ2V0T3J0aG9nb25hbFZlY3Rvcih2ZWMzIHYpIHtcbiAgLy8gUmV0dXJuIHVwLXZlY3RvciBmb3Igb25seS16IHZlY3Rvci5cbiAgLy8gUmV0dXJuIGF4ICsgYnkgKyBjeiA9IDAsIGEgcG9pbnQgdGhhdCBsaWVzIG9uIHRoZSBwbGFuZSB0aGF0IGhhcyB2IGFzIGEgbm9ybWFsIGFuZCB0aGF0IGlzbid0ICgwLDAsMCkuXG4gIC8vIEZyb20gdGhlIGFib3ZlIGlmLXN0YXRlbWVudCB3ZSBoYXZlIHx8YXx8ID4gMCAgVSAgfHxifHwgPiAwLlxuICAvLyBBc3NpZ24geiA9IDAsIHggPSAtYiwgeSA9IGE6XG4gIC8vIGEqLWIgKyBiKmEgKyBjKjAgPSAtYmEgKyBiYSArIDAgPSAwXG4gIGlmICh2Lngqdi54ID4gdi56KnYueiB8fCB2Lnkqdi55ID4gdi56KnYueikge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygtdi55LCB2LngsIDAuMCkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygwLjAsIHYueiwgLXYueSkpO1xuICB9XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgdHViZSB2ZXJ0ZXggYW5kIG5vcm1hbCBhdCB0aGUgZ2l2ZW4gaW5kZXguXG4vL1xuLy8gVGhlIHJldHVybmVkIHZlcnRleCBpcyBmb3IgYSB0dWJlIHJpbmcgd2l0aCBpdHMgY2VudGVyIGF0IG9yaWdpbiwgcmFkaXVzIG9mIGxlbmd0aChkKSwgcG9pbnRpbmcgaW4gdGhlIGRpcmVjdGlvbiBvZiBkLlxuLy9cbi8vIEVhY2ggdHViZSBzZWdtZW50IGlzIG1hZGUgdXAgb2YgYSByaW5nIG9mIHZlcnRpY2VzLlxuLy8gVGhlc2UgdmVydGljZXMgYXJlIHVzZWQgdG8gbWFrZSB1cCB0aGUgdHJpYW5nbGVzIG9mIHRoZSB0dWJlIGJ5IGNvbm5lY3RpbmcgdGhlbSB0b2dldGhlciBpbiB0aGUgdmVydGV4IGFycmF5LlxuLy8gVGhlIGluZGV4ZXMgb2YgdHViZSBzZWdtZW50cyBydW4gZnJvbSAwIHRvIDguXG4vL1xudmVjMyBnZXRUdWJlUG9zaXRpb24odmVjMyBkLCBmbG9hdCBpbmRleCwgb3V0IHZlYzMgbm9ybWFsKSB7XG4gIGZsb2F0IHNlZ21lbnRDb3VudCA9IDguMDtcblxuICBmbG9hdCBhbmdsZSA9IDIuMCAqIDMuMTQxNTkgKiAoaW5kZXggLyBzZWdtZW50Q291bnQpO1xuXG4gIHZlYzMgdSA9IGdldE9ydGhvZ29uYWxWZWN0b3IoZCk7XG4gIHZlYzMgdiA9IG5vcm1hbGl6ZShjcm9zcyh1LCBkKSk7XG5cbiAgdmVjMyB4ID0gdSAqIGNvcyhhbmdsZSkgKiBsZW5ndGgoZCk7XG4gIHZlYzMgeSA9IHYgKiBzaW4oYW5nbGUpICogbGVuZ3RoKGQpO1xuICB2ZWMzIHYzID0geCArIHk7XG5cbiAgbm9ybWFsID0gbm9ybWFsaXplKHYzKTtcblxuICByZXR1cm4gdjM7XG59XG5cbmF0dHJpYnV0ZSB2ZWM0IHZlY3RvcjtcbmF0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgaWQ7XG5cbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gZmxvYXQgdHViZVNjYWxlO1xuXG52YXJ5aW5nIHZlYzMgZl9wb3NpdGlvbjtcbnZhcnlpbmcgdmVjNCBmX2lkO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgbm9ybWFsO1xuICB2ZWMzIFhZWiA9IGdldFR1YmVQb3NpdGlvbihtYXQzKG1vZGVsKSAqICh0dWJlU2NhbGUgKiB2ZWN0b3IudyAqIG5vcm1hbGl6ZSh2ZWN0b3IueHl6KSksIHBvc2l0aW9uLncsIG5vcm1hbCk7XG4gIHZlYzQgdHViZVBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLnh5eiwgMS4wKSArIHZlYzQoWFlaLCAwLjApO1xuXG4gIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiB0dWJlUG9zaXRpb247XG4gIGZfaWQgICAgICAgID0gaWQ7XG4gIGZfcG9zaXRpb24gID0gcG9zaXRpb24ueHl6O1xufVxuIl0pLHM9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHBpY2tJZDtcblxudmFyeWluZyB2ZWMzIGZfcG9zaXRpb247XG52YXJ5aW5nIHZlYzQgZl9pZDtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmX3Bvc2l0aW9uKSkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tJZCwgZl9pZC54eXopO1xufSJdKTtyLm1lc2hTaGFkZXI9e3ZlcnRleDphLGZyYWdtZW50OmksYXR0cmlidXRlczpbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWM0In0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWM0In0se25hbWU6InV2Iix0eXBlOiJ2ZWMyIn0se25hbWU6InZlY3RvciIsdHlwZToidmVjNCJ9XX0sci5waWNrU2hhZGVyPXt2ZXJ0ZXg6byxmcmFnbWVudDpzLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjNCJ9LHtuYW1lOiJpZCIsdHlwZToidmVjNCJ9LHtuYW1lOiJ2ZWN0b3IiLHR5cGU6InZlYzQifV19fSx7Z2xzbGlmeTo0MTF9XSwzMTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtdmVjMyIpLGE9dCgiZ2wtdmVjNCIpLGk9WyJ4eXoiLCJ4enkiLCJ5eHoiLCJ5engiLCJ6eHkiLCJ6eXgiXSxvPWZ1bmN0aW9uKHQsZSxyLGkpe2Zvcih2YXIgbz0wLHM9MDtzPHQubGVuZ3RoO3MrKylmb3IodmFyIGw9dFtzXS52ZWxvY2l0aWVzLGM9MDtjPGwubGVuZ3RoO2MrKylvPU1hdGgubWF4KG8sbi5sZW5ndGgobFtjXSkpO3ZhciB1PXQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUscixpKXtmb3IodmFyIG89dC5wb2ludHMscz10LnZlbG9jaXRpZXMsbD10LmRpdmVyZ2VuY2VzLGM9W10sdT1bXSxoPVtdLGY9W10scD1bXSxkPVtdLGc9MCx2PTAsbT1hLmNyZWF0ZSgpLHk9YS5jcmVhdGUoKSx4PTA7eDxvLmxlbmd0aDt4Kyspe3ZhciBiPW9beF0sXz1zW3hdLHc9bFt4XTswPT09ZSYmKHc9LjA1KnIpLHY9bi5sZW5ndGgoXykvaSxtPWEuY3JlYXRlKCksbi5jb3B5KG0sXyksbVszXT13O2Zvcih2YXIgaz0wO2s8ODtrKyspcFtrXT1bYlswXSxiWzFdLGJbMl0sa107aWYoZi5sZW5ndGg+MClmb3Ioaz0wO2s8ODtrKyspe3ZhciBUPShrKzEpJTg7Yy5wdXNoKGZba10scFtrXSxwW1RdLHBbVF0sZltUXSxmW2tdKSxoLnB1c2goeSxtLG0sbSx5LHkpLGQucHVzaChnLHYsdix2LGcsZyk7dmFyIE09Yy5sZW5ndGg7dS5wdXNoKFtNLTYsTS01LE0tNF0sW00tMyxNLTIsTS0xXSl9dmFyIEE9ZjtmPXAscD1BO3ZhciBTPXk7eT1tLG09Uzt2YXIgRT1nO2c9dix2PUV9cmV0dXJue3Bvc2l0aW9uczpjLGNlbGxzOnUsdmVjdG9yczpoLHZlcnRleEludGVuc2l0eTpkfX0odCxyLGksbyl9KSxoPVtdLGY9W10scD1bXSxkPVtdO2ZvcihzPTA7czx1Lmxlbmd0aDtzKyspe3ZhciBnPXVbc10sdj1oLmxlbmd0aDtoPWguY29uY2F0KGcucG9zaXRpb25zKSxwPXAuY29uY2F0KGcudmVjdG9ycyksZD1kLmNvbmNhdChnLnZlcnRleEludGVuc2l0eSk7Zm9yKGM9MDtjPGcuY2VsbHMubGVuZ3RoO2MrKyl7dmFyIG09Zy5jZWxsc1tjXSx5PVtdO2YucHVzaCh5KTtmb3IodmFyIHg9MDt4PG0ubGVuZ3RoO3grKyl5LnB1c2gobVt4XSt2KX19cmV0dXJue3Bvc2l0aW9uczpoLGNlbGxzOmYsdmVjdG9yczpwLHZlcnRleEludGVuc2l0eTpkLGNvbG9ybWFwOmV9fSxzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj10Lmxlbmd0aDtmb3Iocj0wO3I8bjtyKyspe3ZhciBhPXRbcl07aWYoYT09PWUpcmV0dXJuIHI7aWYoYT5lKXJldHVybiByLTF9cmV0dXJuIHJ9LGw9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PGU/ZTp0PnI/cjp0fSxjPWZ1bmN0aW9uKHQpe3ZhciBlPTEvMDt0LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSk7Zm9yKHZhciByPXQubGVuZ3RoLG49MTtuPHI7bisrKXt2YXIgYT1NYXRoLmFicyh0W25dLXRbbi0xXSk7YTxlJiYoZT1hKX1yZXR1cm4gZX07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5zdGFydGluZ1Bvc2l0aW9ucyxhPXQubWF4TGVuZ3RofHwxZTMsdT10LnR1YmVTaXplfHwxLGg9dC5hYnNvbHV0ZVR1YmVTaXplLGY9dC5ncmlkRmlsbHx8Iit4K3kreiIscD17fTstMSE9PWYuaW5kZXhPZigiLXgiKSYmKHAucmV2ZXJzZWRYPSEwKSwtMSE9PWYuaW5kZXhPZigiLXkiKSYmKHAucmV2ZXJzZWRZPSEwKSwtMSE9PWYuaW5kZXhPZigiLXoiKSYmKHAucmV2ZXJzZWRaPSEwKSxwLmZpbGxlZD1pLmluZGV4T2YoZi5yZXBsYWNlKC8tL2csIiIpLnJlcGxhY2UoL1wrL2csIiIpKTt2YXIgZD10LmdldFZlbG9jaXR5fHxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUudmVjdG9ycyxpPWUubWVzaGdyaWQsbz10WzBdLGM9dFsxXSx1PXRbMl0saD1pWzBdLmxlbmd0aCxmPWlbMV0ubGVuZ3RoLHA9aVsyXS5sZW5ndGgsZD1zKGlbMF0sbyksZz1zKGlbMV0sYyksdj1zKGlbMl0sdSksbT1kKzEseT1nKzEseD12KzE7aWYoZD1sKGQsMCxoLTEpLG09bChtLDAsaC0xKSxnPWwoZywwLGYtMSkseT1sKHksMCxmLTEpLHY9bCh2LDAscC0xKSx4PWwoeCwwLHAtMSksZDwwfHxnPDB8fHY8MHx8bT5oLTF8fHk+Zi0xfHx4PnAtMSlyZXR1cm4gbi5jcmVhdGUoKTt2YXIgYixfLHcsayxULE0sQT1pWzBdW2RdLFM9aVswXVttXSxFPWlbMV1bZ10sTD1pWzFdW3ldLEM9aVsyXVt2XSxQPShvLUEpLyhTLUEpLE89KGMtRSkvKEwtRSksej0odS1DKS8oaVsyXVt4XS1DKTtzd2l0Y2goaXNGaW5pdGUoUCl8fChQPS41KSxpc0Zpbml0ZShPKXx8KE89LjUpLGlzRmluaXRlKHopfHwoej0uNSksci5yZXZlcnNlZFgmJihkPWgtMS1kLG09aC0xLW0pLHIucmV2ZXJzZWRZJiYoZz1mLTEtZyx5PWYtMS15KSxyLnJldmVyc2VkWiYmKHY9cC0xLXYseD1wLTEteCksci5maWxsZWQpe2Nhc2UgNTpUPXYsTT14LHc9ZypwLGs9eSpwLGI9ZCpwKmYsXz1tKnAqZjticmVhaztjYXNlIDQ6VD12LE09eCxiPWQqcCxfPW0qcCx3PWcqcCpoLGs9eSpwKmg7YnJlYWs7Y2FzZSAzOnc9ZyxrPXksVD12KmYsTT14KmYsYj1kKmYqcCxfPW0qZipwO2JyZWFrO2Nhc2UgMjp3PWcsaz15LGI9ZCpmLF89bSpmLFQ9dipmKmgsTT14KmYqaDticmVhaztjYXNlIDE6Yj1kLF89bSxUPXYqaCxNPXgqaCx3PWcqaCpwLGs9eSpoKnA7YnJlYWs7ZGVmYXVsdDpiPWQsXz1tLHc9ZypoLGs9eSpoLFQ9dipoKmYsTT14KmgqZn12YXIgST1hW2IrdytUXSxEPWFbYit3K01dLFI9YVtiK2srVF0sRj1hW2IraytNXSxCPWFbXyt3K1RdLE49YVtfK3crTV0saj1hW18raytUXSxWPWFbXytrK01dLFU9bi5jcmVhdGUoKSxxPW4uY3JlYXRlKCksSD1uLmNyZWF0ZSgpLEc9bi5jcmVhdGUoKTtuLmxlcnAoVSxJLEIsUCksbi5sZXJwKHEsRCxOLFApLG4ubGVycChILFIsaixQKSxuLmxlcnAoRyxGLFYsUCk7dmFyIFk9bi5jcmVhdGUoKSxXPW4uY3JlYXRlKCk7bi5sZXJwKFksVSxILE8pLG4ubGVycChXLHEsRyxPKTt2YXIgWD1uLmNyZWF0ZSgpO3JldHVybiBuLmxlcnAoWCxZLFcseiksWH0oZSx0LHApfSxnPXQuZ2V0RGl2ZXJnZW5jZXx8ZnVuY3Rpb24odCxlKXt2YXIgcj1uLmNyZWF0ZSgpLGE9MWUtNDtuLmFkZChyLHQsW2EsMCwwXSk7dmFyIGk9ZChyKTtuLnN1YnRyYWN0KGksaSxlKSxuLnNjYWxlKGksaSwxZTQpLG4uYWRkKHIsdCxbMCxhLDBdKTt2YXIgbz1kKHIpO24uc3VidHJhY3QobyxvLGUpLG4uc2NhbGUobyxvLDFlNCksbi5hZGQocix0LFswLDAsYV0pO3ZhciBzPWQocik7cmV0dXJuIG4uc3VidHJhY3QocyxzLGUpLG4uc2NhbGUocyxzLDFlNCksbi5hZGQocixpLG8pLG4uYWRkKHIscixzKSxyfSx2PVtdLG09ZVswXVswXSx5PWVbMF1bMV0seD1lWzBdWzJdLGI9ZVsxXVswXSxfPWVbMV1bMV0sdz1lWzFdWzJdLGs9ZnVuY3Rpb24odCl7dmFyIGU9dFswXSxyPXRbMV0sbj10WzJdO3JldHVybiEoZTxtfHxlPmJ8fHI8eXx8cj5ffHxuPHh8fG4+dyl9LFQ9MTAqbi5kaXN0YW5jZShlWzBdLGVbMV0pL2EsTT1UKlQsQT0xLFM9MCxFPXIubGVuZ3RoO0U+MSYmKEE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9W10sbj1bXSxhPXt9LGk9e30sbz17fSxzPXQubGVuZ3RoLGw9MDtsPHM7bCsrKXt2YXIgdT10W2xdLGg9dVswXSxmPXVbMV0scD11WzJdO2FbaF18fChlLnB1c2goaCksYVtoXT0hMCksaVtmXXx8KHIucHVzaChmKSxpW2ZdPSEwKSxvW3BdfHwobi5wdXNoKHApLG9bcF09ITApfXZhciBkPWMoZSksZz1jKHIpLHY9YyhuKSxtPU1hdGgubWluKGQsZyx2KTtyZXR1cm4gaXNGaW5pdGUobSk/bToxfShyKSk7Zm9yKHZhciBMPTA7TDxFO0wrKyl7dmFyIEM9bi5jcmVhdGUoKTtuLmNvcHkoQyxyW0xdKTt2YXIgUD1bQ10sTz1bXSx6PWQoQyksST1DO08ucHVzaCh6KTt2YXIgRD1bXSxSPWcoQyx6KSxGPW4ubGVuZ3RoKFIpO2lzRmluaXRlKEYpJiZGPlMmJihTPUYpLEQucHVzaChGKSx2LnB1c2goe3BvaW50czpQLHZlbG9jaXRpZXM6TyxkaXZlcmdlbmNlczpEfSk7Zm9yKHZhciBCPTA7QjwxMDAqYSYmUC5sZW5ndGg8YSYmayhDKTspe0IrKzt2YXIgTj1uLmNsb25lKHopLGo9bi5zcXVhcmVkTGVuZ3RoKE4pO2lmKDA9PT1qKWJyZWFrO2lmKGo+TSYmbi5zY2FsZShOLE4sVC9NYXRoLnNxcnQoaikpLG4uYWRkKE4sTixDKSx6PWQoTiksbi5zcXVhcmVkRGlzdGFuY2UoSSxOKS1NPi0xZS00Kk0pe1AucHVzaChOKSxJPU4sTy5wdXNoKHopO1I9ZyhOLHopLEY9bi5sZW5ndGgoUik7aXNGaW5pdGUoRikmJkY+UyYmKFM9RiksRC5wdXNoKEYpfUM9Tn19dmFyIFY9byh2LHQuY29sb3JtYXAsUyxBKTtyZXR1cm4gaD9WLnR1YmVTY2FsZT1oOigwPT09UyYmKFM9MSksVi50dWJlU2NhbGU9LjUqdSpBL1MpLFZ9O3ZhciB1PXQoIi4vbGliL3NoYWRlcnMiKSxoPXQoImdsLWNvbmUzZCIpLmNyZWF0ZU1lc2g7ZS5leHBvcnRzLmNyZWF0ZVR1YmVNZXNoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgodCxlLHtzaGFkZXJzOnUsdHJhY2VUeXBlOiJzdHJlYW10dWJlIn0pfX0seyIuL2xpYi9zaGFkZXJzIjozMTQsImdsLWNvbmUzZCI6MjQ1LCJnbC12ZWMzIjozNDgsImdsLXZlYzQiOjM4NH1dLDMxNjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsLXNoYWRlciIpLGE9dCgiZ2xzbGlmeSIpLGk9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWM0IHV2O1xuYXR0cmlidXRlIHZlYzMgZjtcbmF0dHJpYnV0ZSB2ZWMzIG5vcm1hbDtcblxudW5pZm9ybSB2ZWMzIG9iamVjdE9mZnNldDtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbiwgaW52ZXJzZU1vZGVsO1xudW5pZm9ybSB2ZWMzIGxpZ2h0UG9zaXRpb24sIGV5ZVBvc2l0aW9uO1xudW5pZm9ybSBzYW1wbGVyMkQgY29sb3JtYXA7XG5cbnZhcnlpbmcgZmxvYXQgdmFsdWUsIGtpbGw7XG52YXJ5aW5nIHZlYzMgd29ybGRDb29yZGluYXRlO1xudmFyeWluZyB2ZWMyIHBsYW5lQ29vcmRpbmF0ZTtcbnZhcnlpbmcgdmVjMyBsaWdodERpcmVjdGlvbiwgZXllRGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICB2ZWMzIGxvY2FsQ29vcmRpbmF0ZSA9IHZlYzModXYuencsIGYueCk7XG4gIHdvcmxkQ29vcmRpbmF0ZSA9IG9iamVjdE9mZnNldCArIGxvY2FsQ29vcmRpbmF0ZTtcbiAgdmVjNCB3b3JsZFBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHdvcmxkQ29vcmRpbmF0ZSwgMS4wKTtcbiAgdmVjNCBjbGlwUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIHdvcmxkUG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uID0gY2xpcFBvc2l0aW9uO1xuICBraWxsID0gZi55O1xuICB2YWx1ZSA9IGYuejtcbiAgcGxhbmVDb29yZGluYXRlID0gdXYueHk7XG5cbiAgdkNvbG9yID0gdGV4dHVyZTJEKGNvbG9ybWFwLCB2ZWMyKHZhbHVlLCB2YWx1ZSkpO1xuXG4gIC8vTGlnaHRpbmcgZ2VvbWV0cnkgcGFyYW1ldGVyc1xuICB2ZWM0IGNhbWVyYUNvb3JkaW5hdGUgPSB2aWV3ICogd29ybGRQb3NpdGlvbjtcbiAgY2FtZXJhQ29vcmRpbmF0ZS54eXogLz0gY2FtZXJhQ29vcmRpbmF0ZS53O1xuICBsaWdodERpcmVjdGlvbiA9IGxpZ2h0UG9zaXRpb24gLSBjYW1lcmFDb29yZGluYXRlLnh5ejtcbiAgZXllRGlyZWN0aW9uICAgPSBleWVQb3NpdGlvbiAtIGNhbWVyYUNvb3JkaW5hdGUueHl6O1xuICBzdXJmYWNlTm9ybWFsICA9IG5vcm1hbGl6ZSgodmVjNChub3JtYWwsMCkgKiBpbnZlcnNlTW9kZWwpLnh5eik7XG59XG4iXSksbz1hKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBiZWNrbWFublNwZWN1bGFyKFxuICB2ZWMzIGxpZ2h0RGlyZWN0aW9uLFxuICB2ZWMzIHZpZXdEaXJlY3Rpb24sXG4gIHZlYzMgc3VyZmFjZU5vcm1hbCxcbiAgZmxvYXQgcm91Z2huZXNzKSB7XG4gIHJldHVybiBiZWNrbWFubkRpc3RyaWJ1dGlvbihkb3Qoc3VyZmFjZU5vcm1hbCwgbm9ybWFsaXplKGxpZ2h0RGlyZWN0aW9uICsgdmlld0RpcmVjdGlvbikpLCByb3VnaG5lc3MpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzIGxvd2VyQm91bmQsIHVwcGVyQm91bmQ7XG51bmlmb3JtIGZsb2F0IGNvbnRvdXJUaW50O1xudW5pZm9ybSB2ZWM0IGNvbnRvdXJDb2xvcjtcbnVuaWZvcm0gc2FtcGxlcjJEIGNvbG9ybWFwO1xudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHJvdWdobmVzcywgZnJlc25lbCwga2FtYmllbnQsIGtkaWZmdXNlLCBrc3BlY3VsYXIsIG9wYWNpdHk7XG51bmlmb3JtIGZsb2F0IHZlcnRleENvbG9yO1xuXG52YXJ5aW5nIGZsb2F0IHZhbHVlLCBraWxsO1xudmFyeWluZyB2ZWMzIHdvcmxkQ29vcmRpbmF0ZTtcbnZhcnlpbmcgdmVjMyBsaWdodERpcmVjdGlvbiwgZXllRGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAoKGtpbGwgPiAwLjApIHx8XG4gICAgICAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZENvb3JkaW5hdGUpKSkgZGlzY2FyZDtcblxuICB2ZWMzIE4gPSBub3JtYWxpemUoc3VyZmFjZU5vcm1hbCk7XG4gIHZlYzMgViA9IG5vcm1hbGl6ZShleWVEaXJlY3Rpb24pO1xuICB2ZWMzIEwgPSBub3JtYWxpemUobGlnaHREaXJlY3Rpb24pO1xuXG4gIGlmKGdsX0Zyb250RmFjaW5nKSB7XG4gICAgTiA9IC1OO1xuICB9XG5cbiAgZmxvYXQgc3BlY3VsYXIgPSBtYXgoYmVja21hbm5TcGVjdWxhcihMLCBWLCBOLCByb3VnaG5lc3MpLCAwLik7XG4gIGZsb2F0IGRpZmZ1c2UgID0gbWluKGthbWJpZW50ICsga2RpZmZ1c2UgKiBtYXgoZG90KE4sIEwpLCAwLjApLCAxLjApO1xuXG4gIC8vZGVjaWRlIGhvdyB0byBpbnRlcnBvbGF0ZSBjb2xvciBcdTIwMTQgaW4gdmVydGV4IG9yIGluIGZyYWdtZW50XG4gIHZlYzQgc3VyZmFjZUNvbG9yID1cbiAgICBzdGVwKHZlcnRleENvbG9yLCAuNSkgKiB0ZXh0dXJlMkQoY29sb3JtYXAsIHZlYzIodmFsdWUsIHZhbHVlKSkgK1xuICAgIHN0ZXAoLjUsIHZlcnRleENvbG9yKSAqIHZDb2xvcjtcblxuICB2ZWM0IGxpdENvbG9yID0gc3VyZmFjZUNvbG9yLmEgKiB2ZWM0KGRpZmZ1c2UgKiBzdXJmYWNlQ29sb3IucmdiICsga3NwZWN1bGFyICogdmVjMygxLDEsMSkgKiBzcGVjdWxhciwgIDEuMCk7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gbWl4KGxpdENvbG9yLCBjb250b3VyQ29sb3IsIGNvbnRvdXJUaW50KSAqIG9wYWNpdHk7XG59XG4iXSkscz1hKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzQgdXY7XG5hdHRyaWJ1dGUgZmxvYXQgZjtcblxudW5pZm9ybSB2ZWMzIG9iamVjdE9mZnNldDtcbnVuaWZvcm0gbWF0MyBwZXJtdXRhdGlvbjtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gZmxvYXQgaGVpZ2h0LCB6T2Zmc2V0O1xudW5pZm9ybSBzYW1wbGVyMkQgY29sb3JtYXA7XG5cbnZhcnlpbmcgZmxvYXQgdmFsdWUsIGtpbGw7XG52YXJ5aW5nIHZlYzMgd29ybGRDb29yZGluYXRlO1xudmFyeWluZyB2ZWMyIHBsYW5lQ29vcmRpbmF0ZTtcbnZhcnlpbmcgdmVjMyBsaWdodERpcmVjdGlvbiwgZXllRGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICB2ZWMzIGRhdGFDb29yZGluYXRlID0gcGVybXV0YXRpb24gKiB2ZWMzKHV2Lnh5LCBoZWlnaHQpO1xuICB3b3JsZENvb3JkaW5hdGUgPSBvYmplY3RPZmZzZXQgKyBkYXRhQ29vcmRpbmF0ZTtcbiAgdmVjNCB3b3JsZFBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHdvcmxkQ29vcmRpbmF0ZSwgMS4wKTtcblxuICB2ZWM0IGNsaXBQb3NpdGlvbiA9IHByb2plY3Rpb24gKiB2aWV3ICogd29ybGRQb3NpdGlvbjtcbiAgY2xpcFBvc2l0aW9uLnogKz0gek9mZnNldDtcblxuICBnbF9Qb3NpdGlvbiA9IGNsaXBQb3NpdGlvbjtcbiAgdmFsdWUgPSBmICsgb2JqZWN0T2Zmc2V0Lno7XG4gIGtpbGwgPSAtMS4wO1xuICBwbGFuZUNvb3JkaW5hdGUgPSB1di56dztcblxuICB2Q29sb3IgPSB0ZXh0dXJlMkQoY29sb3JtYXAsIHZlYzIodmFsdWUsIHZhbHVlKSk7XG5cbiAgLy9Eb24ndCBkbyBsaWdodGluZyBmb3IgY29udG91cnNcbiAgc3VyZmFjZU5vcm1hbCAgID0gdmVjMygxLDAsMCk7XG4gIGV5ZURpcmVjdGlvbiAgICA9IHZlYzMoMCwxLDApO1xuICBsaWdodERpcmVjdGlvbiAgPSB2ZWMzKDAsMCwxKTtcbn1cbiJdKSxsPWEoWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMyIHNoYXBlO1xudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHBpY2tJZDtcblxudmFyeWluZyBmbG9hdCB2YWx1ZSwga2lsbDtcbnZhcnlpbmcgdmVjMyB3b3JsZENvb3JkaW5hdGU7XG52YXJ5aW5nIHZlYzIgcGxhbmVDb29yZGluYXRlO1xudmFyeWluZyB2ZWMzIHN1cmZhY2VOb3JtYWw7XG5cbnZlYzIgc3BsaXRGbG9hdChmbG9hdCB2KSB7XG4gIGZsb2F0IHZoID0gMjU1LjAgKiB2O1xuICBmbG9hdCB1cHBlciA9IGZsb29yKHZoKTtcbiAgZmxvYXQgbG93ZXIgPSBmcmFjdCh2aCk7XG4gIHJldHVybiB2ZWMyKHVwcGVyIC8gMjU1LjAsIGZsb29yKGxvd2VyICogMTYuMCkgLyAxNi4wKTtcbn1cblxudm9pZCBtYWluKCkge1xuICBpZiAoKGtpbGwgPiAwLjApIHx8XG4gICAgICAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZENvb3JkaW5hdGUpKSkgZGlzY2FyZDtcblxuICB2ZWMyIHV4ID0gc3BsaXRGbG9hdChwbGFuZUNvb3JkaW5hdGUueCAvIHNoYXBlLngpO1xuICB2ZWMyIHV5ID0gc3BsaXRGbG9hdChwbGFuZUNvb3JkaW5hdGUueSAvIHNoYXBlLnkpO1xuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tJZCwgdXgueCwgdXkueCwgdXgueSArICh1eS55LzE2LjApKTtcbn1cbiJdKTtyLmNyZWF0ZVNoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQsaSxvLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZS5hdHRyaWJ1dGVzLm5vcm1hbC5sb2NhdGlvbj0yLGV9LHIuY3JlYXRlUGlja1NoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQsaSxsLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZS5hdHRyaWJ1dGVzLm5vcm1hbC5sb2NhdGlvbj0yLGV9LHIuY3JlYXRlQ29udG91clNoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQscyxvLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJmbG9hdCJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZX0sci5jcmVhdGVQaWNrQ29udG91clNoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQscyxsLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJmbG9hdCJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZX19LHsiZ2wtc2hhZGVyIjozMDQsZ2xzbGlmeTo0MTF9XSwzMTc6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTEzfV0sMzE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9eShlKSxuPWIoZSkscz14KGUpLGw9XyhlKSxjPWEoZSksdT1pKGUsW3tidWZmZXI6YyxzaXplOjQsc3RyaWRlOncsb2Zmc2V0OjB9LHtidWZmZXI6YyxzaXplOjMsc3RyaWRlOncsb2Zmc2V0OjE2fSx7YnVmZmVyOmMsc2l6ZTozLHN0cmlkZTp3LG9mZnNldDoyOH1dKSxoPWEoZSksZj1pKGUsW3tidWZmZXI6aCxzaXplOjQsc3RyaWRlOjIwLG9mZnNldDowfSx7YnVmZmVyOmgsc2l6ZToxLHN0cmlkZToyMCxvZmZzZXQ6MTZ9XSkscD1hKGUpLGQ9aShlLFt7YnVmZmVyOnAsc2l6ZToyLHR5cGU6ZS5GTE9BVH1dKSxnPW8oZSwxLFMsZS5SR0JBLGUuVU5TSUdORURfQllURSk7Zy5taW5GaWx0ZXI9ZS5MSU5FQVIsZy5tYWdGaWx0ZXI9ZS5MSU5FQVI7dmFyIHY9bmV3IEUoZSxbMCwwXSxbWzAsMCwwXSxbMCwwLDBdXSxyLG4sYyx1LGcscyxsLGgsZixwLGQsWzAsMCwwXSksbT17bGV2ZWxzOltbXSxbXSxbXV19O2Zvcih2YXIgayBpbiB0KW1ba109dFtrXTtyZXR1cm4gbS5jb2xvcm1hcD1tLmNvbG9ybWFwfHwiamV0Iix2LnVwZGF0ZShtKSx2fTt2YXIgbj10KCJiaXQtdHdpZGRsZSIpLGE9dCgiZ2wtYnVmZmVyIiksaT10KCJnbC12YW8iKSxvPXQoImdsLXRleHR1cmUyZCIpLHM9dCgidHlwZWRhcnJheS1wb29sIiksbD10KCJjb2xvcm1hcCIpLGM9dCgibmRhcnJheS1vcHMiKSx1PXQoIm5kYXJyYXktcGFjayIpLGg9dCgibmRhcnJheSIpLGY9dCgic3VyZmFjZS1uZXRzIikscD10KCJnbC1tYXQ0L211bHRpcGx5IiksZD10KCJnbC1tYXQ0L2ludmVydCIpLGc9dCgiYmluYXJ5LXNlYXJjaC1ib3VuZHMiKSx2PXQoIm5kYXJyYXktZ3JhZGllbnQiKSxtPXQoIi4vbGliL3NoYWRlcnMiKSx5PW0uY3JlYXRlU2hhZGVyLHg9bS5jcmVhdGVDb250b3VyU2hhZGVyLGI9bS5jcmVhdGVQaWNrU2hhZGVyLF89bS5jcmVhdGVQaWNrQ29udG91clNoYWRlcix3PTQwLGs9WzEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDFdLFQ9W1swLDBdLFswLDFdLFsxLDBdLFsxLDFdLFsxLDBdLFswLDFdXSxNPVtbMCwwLDAsMCwwLDAsMCwwLDBdLFswLDAsMCwwLDAsMCwwLDAsMF0sWzAsMCwwLDAsMCwwLDAsMCwwXV07ZnVuY3Rpb24gQSh0LGUscixuLGEpe3RoaXMucG9zaXRpb249dCx0aGlzLmluZGV4PWUsdGhpcy51dj1yLHRoaXMubGV2ZWw9bix0aGlzLmRhdGFDb29yZGluYXRlPWF9IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDwzOysrdCl7dmFyIGU9TVt0XSxyPSh0KzIpJTM7ZVsodCsxKSUzKzBdPTEsZVtyKzNdPTEsZVt0KzZdPTF9fSgpO3ZhciBTPTI1NjtmdW5jdGlvbiBFKHQsZSxyLG4sYSxpLG8sbCxjLHUsZixwLGQsZyx2KXt0aGlzLmdsPXQsdGhpcy5zaGFwZT1lLHRoaXMuYm91bmRzPXIsdGhpcy5vYmplY3RPZmZzZXQ9dix0aGlzLmludGVuc2l0eUJvdW5kcz1bXSx0aGlzLl9zaGFkZXI9bix0aGlzLl9waWNrU2hhZGVyPWEsdGhpcy5fY29vcmRpbmF0ZUJ1ZmZlcj1pLHRoaXMuX3Zhbz1vLHRoaXMuX2NvbG9yTWFwPWwsdGhpcy5fY29udG91clNoYWRlcj1jLHRoaXMuX2NvbnRvdXJQaWNrU2hhZGVyPXUsdGhpcy5fY29udG91ckJ1ZmZlcj1mLHRoaXMuX2NvbnRvdXJWQU89cCx0aGlzLl9jb250b3VyT2Zmc2V0cz1bW10sW10sW11dLHRoaXMuX2NvbnRvdXJDb3VudHM9W1tdLFtdLFtdXSx0aGlzLl92ZXJ0ZXhDb3VudD0wLHRoaXMuX3BpY2tSZXN1bHQ9bmV3IEEoWzAsMCwwXSxbMCwwXSxbMCwwXSxbMCwwLDBdLFswLDAsMF0pLHRoaXMuX2R5bmFtaWNCdWZmZXI9ZCx0aGlzLl9keW5hbWljVkFPPWcsdGhpcy5fZHluYW1pY09mZnNldHM9WzAsMCwwXSx0aGlzLl9keW5hbWljQ291bnRzPVswLDAsMF0sdGhpcy5jb250b3VyV2lkdGg9WzEsMSwxXSx0aGlzLmNvbnRvdXJMZXZlbHM9W1sxXSxbMV0sWzFdXSx0aGlzLmNvbnRvdXJUaW50PVswLDAsMF0sdGhpcy5jb250b3VyQ29sb3I9W1suNSwuNSwuNSwxXSxbLjUsLjUsLjUsMV0sWy41LC41LC41LDFdXSx0aGlzLnNob3dDb250b3VyPSEwLHRoaXMuc2hvd1N1cmZhY2U9ITAsdGhpcy5lbmFibGVIaWdobGlnaHQ9WyEwLCEwLCEwXSx0aGlzLmhpZ2hsaWdodENvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy5oaWdobGlnaHRUaW50PVsxLDEsMV0sdGhpcy5oaWdobGlnaHRMZXZlbD1bLTEsLTEsLTFdLHRoaXMuZW5hYmxlRHluYW1pYz1bITAsITAsITBdLHRoaXMuZHluYW1pY0xldmVsPVtOYU4sTmFOLE5hTl0sdGhpcy5keW5hbWljQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmR5bmFtaWNUaW50PVsxLDEsMV0sdGhpcy5keW5hbWljV2lkdGg9WzEsMSwxXSx0aGlzLmF4ZXNCb3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sdGhpcy5zdXJmYWNlUHJvamVjdD1bITEsITEsITFdLHRoaXMuY29udG91clByb2plY3Q9W1shMSwhMSwhMV0sWyExLCExLCExXSxbITEsITEsITFdXSx0aGlzLmNvbG9yQm91bmRzPVshMSwhMV0sdGhpcy5fZmllbGQ9W2gocy5tYWxsb2NGbG9hdCgxMDI0KSxbMCwwXSksaChzLm1hbGxvY0Zsb2F0KDEwMjQpLFswLDBdKSxoKHMubWFsbG9jRmxvYXQoMTAyNCksWzAsMF0pXSx0aGlzLnBpY2tJZD0xLHRoaXMuY2xpcEJvdW5kcz1bWy0xLzAsLTEvMCwtMS8wXSxbMS8wLDEvMCwxLzBdXSx0aGlzLnNuYXBUb0RhdGE9ITEsdGhpcy5waXhlbFJhdGlvPTEsdGhpcy5vcGFjaXR5PTEsdGhpcy5saWdodFBvc2l0aW9uPVsxMCwxZTQsMF0sdGhpcy5hbWJpZW50TGlnaHQ9LjgsdGhpcy5kaWZmdXNlTGlnaHQ9LjgsdGhpcy5zcGVjdWxhckxpZ2h0PTIsdGhpcy5yb3VnaG5lc3M9LjUsdGhpcy5mcmVzbmVsPTEuNSx0aGlzLnZlcnRleENvbG9yPTAsdGhpcy5kaXJ0eT0hMH12YXIgTD1FLnByb3RvdHlwZTtMLmlzVHJhbnNwYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcGFjaXR5PDF9LEwuaXNPcGFxdWU9ZnVuY3Rpb24oKXtpZih0aGlzLm9wYWNpdHk+PTEpcmV0dXJuITA7Zm9yKHZhciB0PTA7dDwzOysrdClpZih0aGlzLl9jb250b3VyQ291bnRzW3RdLmxlbmd0aD4wfHx0aGlzLl9keW5hbWljQ291bnRzW3RdPjApcmV0dXJuITA7cmV0dXJuITF9LEwucGlja1Nsb3RzPTEsTC5zZXRQaWNrQmFzZT1mdW5jdGlvbih0KXt0aGlzLnBpY2tJZD10fTt2YXIgQz1bMCwwLDBdLFA9e3Nob3dTdXJmYWNlOiExLHNob3dDb250b3VyOiExLHByb2plY3Rpb25zOltrLnNsaWNlKCksay5zbGljZSgpLGsuc2xpY2UoKV0sY2xpcEJvdW5kczpbW1swLDAsMF0sWzAsMCwwXV0sW1swLDAsMF0sWzAsMCwwXV0sW1swLDAsMF0sWzAsMCwwXV1dfTtmdW5jdGlvbiBPKHQsZSl7dmFyIHIsbixhLGk9ZS5heGVzJiZlLmF4ZXMubGFzdEN1YmVQcm9wcy5heGlzfHxDLG89ZS5zaG93U3VyZmFjZSxzPWUuc2hvd0NvbnRvdXI7Zm9yKHI9MDtyPDM7KytyKWZvcihvPW98fGUuc3VyZmFjZVByb2plY3Rbcl0sbj0wO248MzsrK24pcz1zfHxlLmNvbnRvdXJQcm9qZWN0W3JdW25dO2ZvcihyPTA7cjwzOysrcil7dmFyIGw9UC5wcm9qZWN0aW9uc1tyXTtmb3Iobj0wO248MTY7KytuKWxbbl09MDtmb3Iobj0wO248NDsrK24pbFs1Km5dPTE7bFs1KnJdPTAsbFsxMityXT1lLmF4ZXNCb3VuZHNbKyhpW3JdPjApXVtyXSxwKGwsdC5tb2RlbCxsKTt2YXIgYz1QLmNsaXBCb3VuZHNbcl07Zm9yKGE9MDthPDI7KythKWZvcihuPTA7bjwzOysrbiljW2FdW25dPXQuY2xpcEJvdW5kc1thXVtuXTtjWzBdW3JdPS0xZTgsY1sxXVtyXT0xZTh9cmV0dXJuIFAuc2hvd1N1cmZhY2U9byxQLnNob3dDb250b3VyPXMsUH12YXIgej17bW9kZWw6ayx2aWV3OmsscHJvamVjdGlvbjprLGludmVyc2VNb2RlbDprLnNsaWNlKCksbG93ZXJCb3VuZDpbMCwwLDBdLHVwcGVyQm91bmQ6WzAsMCwwXSxjb2xvck1hcDowLGNsaXBCb3VuZHM6W1swLDAsMF0sWzAsMCwwXV0saGVpZ2h0OjAsY29udG91clRpbnQ6MCxjb250b3VyQ29sb3I6WzAsMCwwLDFdLHBlcm11dGF0aW9uOlsxLDAsMCwwLDEsMCwwLDAsMV0sek9mZnNldDotMWUtNCxvYmplY3RPZmZzZXQ6WzAsMCwwXSxrYW1iaWVudDoxLGtkaWZmdXNlOjEsa3NwZWN1bGFyOjEsbGlnaHRQb3NpdGlvbjpbMWUzLDFlMywxZTNdLGV5ZVBvc2l0aW9uOlswLDAsMF0scm91Z2huZXNzOjEsZnJlc25lbDoxLG9wYWNpdHk6MSx2ZXJ0ZXhDb2xvcjowfSxJPWsuc2xpY2UoKSxEPVsxLDAsMCwwLDEsMCwwLDAsMV07ZnVuY3Rpb24gUih0LGUpe3Q9dHx8e307dmFyIHI9dGhpcy5nbDtyLmRpc2FibGUoci5DVUxMX0ZBQ0UpLHRoaXMuX2NvbG9yTWFwLmJpbmQoMCk7dmFyIG49ejtuLm1vZGVsPXQubW9kZWx8fGssbi52aWV3PXQudmlld3x8ayxuLnByb2plY3Rpb249dC5wcm9qZWN0aW9ufHxrLG4ubG93ZXJCb3VuZD1bdGhpcy5ib3VuZHNbMF1bMF0sdGhpcy5ib3VuZHNbMF1bMV0sdGhpcy5jb2xvckJvdW5kc1swXXx8dGhpcy5ib3VuZHNbMF1bMl1dLG4udXBwZXJCb3VuZD1bdGhpcy5ib3VuZHNbMV1bMF0sdGhpcy5ib3VuZHNbMV1bMV0sdGhpcy5jb2xvckJvdW5kc1sxXXx8dGhpcy5ib3VuZHNbMV1bMl1dLG4ub2JqZWN0T2Zmc2V0PXRoaXMub2JqZWN0T2Zmc2V0LG4uY29udG91ckNvbG9yPXRoaXMuY29udG91ckNvbG9yWzBdLG4uaW52ZXJzZU1vZGVsPWQobi5pbnZlcnNlTW9kZWwsbi5tb2RlbCk7Zm9yKHZhciBhPTA7YTwyOysrYSlmb3IodmFyIGk9bi5jbGlwQm91bmRzW2FdLG89MDtvPDM7KytvKWlbb109TWF0aC5taW4oTWF0aC5tYXgodGhpcy5jbGlwQm91bmRzW2FdW29dLC0xZTgpLDFlOCk7bi5rYW1iaWVudD10aGlzLmFtYmllbnRMaWdodCxuLmtkaWZmdXNlPXRoaXMuZGlmZnVzZUxpZ2h0LG4ua3NwZWN1bGFyPXRoaXMuc3BlY3VsYXJMaWdodCxuLnJvdWdobmVzcz10aGlzLnJvdWdobmVzcyxuLmZyZXNuZWw9dGhpcy5mcmVzbmVsLG4ub3BhY2l0eT10aGlzLm9wYWNpdHksbi5oZWlnaHQ9MCxuLnBlcm11dGF0aW9uPUQsbi52ZXJ0ZXhDb2xvcj10aGlzLnZlcnRleENvbG9yO3ZhciBzPUk7Zm9yKHAocyxuLnZpZXcsbi5tb2RlbCkscChzLG4ucHJvamVjdGlvbixzKSxkKHMscyksYT0wO2E8MzsrK2Epbi5leWVQb3NpdGlvblthXT1zWzEyK2FdL3NbMTVdO3ZhciBsPXNbMTVdO2ZvcihhPTA7YTwzOysrYSlsKz10aGlzLmxpZ2h0UG9zaXRpb25bYV0qc1s0KmErM107Zm9yKGE9MDthPDM7KythKXt2YXIgYz1zWzEyK2FdO2ZvcihvPTA7bzwzOysrbyljKz1zWzQqbythXSp0aGlzLmxpZ2h0UG9zaXRpb25bb107bi5saWdodFBvc2l0aW9uW2FdPWMvbH12YXIgdT1PKG4sdGhpcyk7aWYodS5zaG93U3VyZmFjZSYmZT09PXRoaXMub3BhY2l0eTwxKXtmb3IodGhpcy5fc2hhZGVyLmJpbmQoKSx0aGlzLl9zaGFkZXIudW5pZm9ybXM9bix0aGlzLl92YW8uYmluZCgpLHRoaXMuc2hvd1N1cmZhY2UmJnRoaXMuX3ZlcnRleENvdW50JiZ0aGlzLl92YW8uZHJhdyhyLlRSSUFOR0xFUyx0aGlzLl92ZXJ0ZXhDb3VudCksYT0wO2E8MzsrK2EpdGhpcy5zdXJmYWNlUHJvamVjdFthXSYmdGhpcy52ZXJ0ZXhDb3VudCYmKHRoaXMuX3NoYWRlci51bmlmb3Jtcy5tb2RlbD11LnByb2plY3Rpb25zW2FdLHRoaXMuX3NoYWRlci51bmlmb3Jtcy5jbGlwQm91bmRzPXUuY2xpcEJvdW5kc1thXSx0aGlzLl92YW8uZHJhdyhyLlRSSUFOR0xFUyx0aGlzLl92ZXJ0ZXhDb3VudCkpO3RoaXMuX3Zhby51bmJpbmQoKX1pZih1LnNob3dDb250b3VyJiYhZSl7dmFyIGg9dGhpcy5fY29udG91clNoYWRlcjtuLmthbWJpZW50PTEsbi5rZGlmZnVzZT0wLG4ua3NwZWN1bGFyPTAsbi5vcGFjaXR5PTEsaC5iaW5kKCksaC51bmlmb3Jtcz1uO3ZhciBmPXRoaXMuX2NvbnRvdXJWQU87Zm9yKGYuYmluZCgpLGE9MDthPDM7KythKWZvcihoLnVuaWZvcm1zLnBlcm11dGF0aW9uPU1bYV0sci5saW5lV2lkdGgodGhpcy5jb250b3VyV2lkdGhbYV0qdGhpcy5waXhlbFJhdGlvKSxvPTA7bzx0aGlzLmNvbnRvdXJMZXZlbHNbYV0ubGVuZ3RoOysrbylvPT09dGhpcy5oaWdobGlnaHRMZXZlbFthXT8oaC51bmlmb3Jtcy5jb250b3VyQ29sb3I9dGhpcy5oaWdobGlnaHRDb2xvclthXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuaGlnaGxpZ2h0VGludFthXSk6MCE9PW8mJm8tMSE9PXRoaXMuaGlnaGxpZ2h0TGV2ZWxbYV18fChoLnVuaWZvcm1zLmNvbnRvdXJDb2xvcj10aGlzLmNvbnRvdXJDb2xvclthXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuY29udG91clRpbnRbYV0pLHRoaXMuX2NvbnRvdXJDb3VudHNbYV1bb10mJihoLnVuaWZvcm1zLmhlaWdodD10aGlzLmNvbnRvdXJMZXZlbHNbYV1bb10sZi5kcmF3KHIuTElORVMsdGhpcy5fY29udG91ckNvdW50c1thXVtvXSx0aGlzLl9jb250b3VyT2Zmc2V0c1thXVtvXSkpO2ZvcihhPTA7YTwzOysrYSlmb3IoaC51bmlmb3Jtcy5tb2RlbD11LnByb2plY3Rpb25zW2FdLGgudW5pZm9ybXMuY2xpcEJvdW5kcz11LmNsaXBCb3VuZHNbYV0sbz0wO288MzsrK28paWYodGhpcy5jb250b3VyUHJvamVjdFthXVtvXSl7aC51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW29dLHIubGluZVdpZHRoKHRoaXMuY29udG91cldpZHRoW29dKnRoaXMucGl4ZWxSYXRpbyk7Zm9yKHZhciBnPTA7Zzx0aGlzLmNvbnRvdXJMZXZlbHNbb10ubGVuZ3RoOysrZylnPT09dGhpcy5oaWdobGlnaHRMZXZlbFtvXT8oaC51bmlmb3Jtcy5jb250b3VyQ29sb3I9dGhpcy5oaWdobGlnaHRDb2xvcltvXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuaGlnaGxpZ2h0VGludFtvXSk6MCE9PWcmJmctMSE9PXRoaXMuaGlnaGxpZ2h0TGV2ZWxbb118fChoLnVuaWZvcm1zLmNvbnRvdXJDb2xvcj10aGlzLmNvbnRvdXJDb2xvcltvXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuY29udG91clRpbnRbb10pLHRoaXMuX2NvbnRvdXJDb3VudHNbb11bZ10mJihoLnVuaWZvcm1zLmhlaWdodD10aGlzLmNvbnRvdXJMZXZlbHNbb11bZ10sZi5kcmF3KHIuTElORVMsdGhpcy5fY29udG91ckNvdW50c1tvXVtnXSx0aGlzLl9jb250b3VyT2Zmc2V0c1tvXVtnXSkpfWZvcihmLnVuYmluZCgpLChmPXRoaXMuX2R5bmFtaWNWQU8pLmJpbmQoKSxhPTA7YTwzOysrYSlpZigwIT09dGhpcy5fZHluYW1pY0NvdW50c1thXSlmb3IoaC51bmlmb3Jtcy5tb2RlbD1uLm1vZGVsLGgudW5pZm9ybXMuY2xpcEJvdW5kcz1uLmNsaXBCb3VuZHMsaC51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW2FdLHIubGluZVdpZHRoKHRoaXMuZHluYW1pY1dpZHRoW2FdKnRoaXMucGl4ZWxSYXRpbyksaC51bmlmb3Jtcy5jb250b3VyQ29sb3I9dGhpcy5keW5hbWljQ29sb3JbYV0saC51bmlmb3Jtcy5jb250b3VyVGludD10aGlzLmR5bmFtaWNUaW50W2FdLGgudW5pZm9ybXMuaGVpZ2h0PXRoaXMuZHluYW1pY0xldmVsW2FdLGYuZHJhdyhyLkxJTkVTLHRoaXMuX2R5bmFtaWNDb3VudHNbYV0sdGhpcy5fZHluYW1pY09mZnNldHNbYV0pLG89MDtvPDM7KytvKXRoaXMuY29udG91clByb2plY3Rbb11bYV0mJihoLnVuaWZvcm1zLm1vZGVsPXUucHJvamVjdGlvbnNbb10saC51bmlmb3Jtcy5jbGlwQm91bmRzPXUuY2xpcEJvdW5kc1tvXSxmLmRyYXcoci5MSU5FUyx0aGlzLl9keW5hbWljQ291bnRzW2FdLHRoaXMuX2R5bmFtaWNPZmZzZXRzW2FdKSk7Zi51bmJpbmQoKX19TC5kcmF3PWZ1bmN0aW9uKHQpe3JldHVybiBSLmNhbGwodGhpcyx0LCExKX0sTC5kcmF3VHJhbnNwYXJlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIFIuY2FsbCh0aGlzLHQsITApfTt2YXIgRj17bW9kZWw6ayx2aWV3OmsscHJvamVjdGlvbjprLGludmVyc2VNb2RlbDprLGNsaXBCb3VuZHM6W1swLDAsMF0sWzAsMCwwXV0saGVpZ2h0OjAsc2hhcGU6WzAsMF0scGlja0lkOjAsbG93ZXJCb3VuZDpbMCwwLDBdLHVwcGVyQm91bmQ6WzAsMCwwXSx6T2Zmc2V0OjAsb2JqZWN0T2Zmc2V0OlswLDAsMF0scGVybXV0YXRpb246WzEsMCwwLDAsMSwwLDAsMCwxXSxsaWdodFBvc2l0aW9uOlswLDAsMF0sZXllUG9zaXRpb246WzAsMCwwXX07ZnVuY3Rpb24gQih0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP1tlKHRbMF0pLGUodFsxXSksZSh0WzJdKV06W2UodCksZSh0KSxlKHQpXX1mdW5jdGlvbiBOKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpPzM9PT10Lmxlbmd0aD9bdFswXSx0WzFdLHRbMl0sMV06W3RbMF0sdFsxXSx0WzJdLHRbM11dOlswLDAsMCwxXX1mdW5jdGlvbiBqKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuW04odFswXSksTih0WzFdKSxOKHRbMl0pXTt2YXIgZT1OKHQpO3JldHVybltlLnNsaWNlKCksZS5zbGljZSgpLGUuc2xpY2UoKV19fUwuZHJhd1BpY2s9ZnVuY3Rpb24odCl7dD10fHx7fTt2YXIgZT10aGlzLmdsO2UuZGlzYWJsZShlLkNVTExfRkFDRSk7dmFyIHI9RjtyLm1vZGVsPXQubW9kZWx8fGssci52aWV3PXQudmlld3x8ayxyLnByb2plY3Rpb249dC5wcm9qZWN0aW9ufHxrLHIuc2hhcGU9dGhpcy5fZmllbGRbMl0uc2hhcGUsci5waWNrSWQ9dGhpcy5waWNrSWQvMjU1LHIubG93ZXJCb3VuZD10aGlzLmJvdW5kc1swXSxyLnVwcGVyQm91bmQ9dGhpcy5ib3VuZHNbMV0sci5vYmplY3RPZmZzZXQ9dGhpcy5vYmplY3RPZmZzZXQsci5wZXJtdXRhdGlvbj1EO2Zvcih2YXIgbj0wO248MjsrK24pZm9yKHZhciBhPXIuY2xpcEJvdW5kc1tuXSxpPTA7aTwzOysraSlhW2ldPU1hdGgubWluKE1hdGgubWF4KHRoaXMuY2xpcEJvdW5kc1tuXVtpXSwtMWU4KSwxZTgpO3ZhciBvPU8ocix0aGlzKTtpZihvLnNob3dTdXJmYWNlKXtmb3IodGhpcy5fcGlja1NoYWRlci5iaW5kKCksdGhpcy5fcGlja1NoYWRlci51bmlmb3Jtcz1yLHRoaXMuX3Zhby5iaW5kKCksdGhpcy5fdmFvLmRyYXcoZS5UUklBTkdMRVMsdGhpcy5fdmVydGV4Q291bnQpLG49MDtuPDM7KytuKXRoaXMuc3VyZmFjZVByb2plY3Rbbl0mJih0aGlzLl9waWNrU2hhZGVyLnVuaWZvcm1zLm1vZGVsPW8ucHJvamVjdGlvbnNbbl0sdGhpcy5fcGlja1NoYWRlci51bmlmb3Jtcy5jbGlwQm91bmRzPW8uY2xpcEJvdW5kc1tuXSx0aGlzLl92YW8uZHJhdyhlLlRSSUFOR0xFUyx0aGlzLl92ZXJ0ZXhDb3VudCkpO3RoaXMuX3Zhby51bmJpbmQoKX1pZihvLnNob3dDb250b3VyKXt2YXIgcz10aGlzLl9jb250b3VyUGlja1NoYWRlcjtzLmJpbmQoKSxzLnVuaWZvcm1zPXI7dmFyIGw9dGhpcy5fY29udG91clZBTztmb3IobC5iaW5kKCksaT0wO2k8MzsrK2kpZm9yKGUubGluZVdpZHRoKHRoaXMuY29udG91cldpZHRoW2ldKnRoaXMucGl4ZWxSYXRpbykscy51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW2ldLG49MDtuPHRoaXMuY29udG91ckxldmVsc1tpXS5sZW5ndGg7KytuKXRoaXMuX2NvbnRvdXJDb3VudHNbaV1bbl0mJihzLnVuaWZvcm1zLmhlaWdodD10aGlzLmNvbnRvdXJMZXZlbHNbaV1bbl0sbC5kcmF3KGUuTElORVMsdGhpcy5fY29udG91ckNvdW50c1tpXVtuXSx0aGlzLl9jb250b3VyT2Zmc2V0c1tpXVtuXSkpO2ZvcihuPTA7bjwzOysrbilmb3Iocy51bmlmb3Jtcy5tb2RlbD1vLnByb2plY3Rpb25zW25dLHMudW5pZm9ybXMuY2xpcEJvdW5kcz1vLmNsaXBCb3VuZHNbbl0saT0wO2k8MzsrK2kpaWYodGhpcy5jb250b3VyUHJvamVjdFtuXVtpXSl7cy51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW2ldLGUubGluZVdpZHRoKHRoaXMuY29udG91cldpZHRoW2ldKnRoaXMucGl4ZWxSYXRpbyk7Zm9yKHZhciBjPTA7Yzx0aGlzLmNvbnRvdXJMZXZlbHNbaV0ubGVuZ3RoOysrYyl0aGlzLl9jb250b3VyQ291bnRzW2ldW2NdJiYocy51bmlmb3Jtcy5oZWlnaHQ9dGhpcy5jb250b3VyTGV2ZWxzW2ldW2NdLGwuZHJhdyhlLkxJTkVTLHRoaXMuX2NvbnRvdXJDb3VudHNbaV1bY10sdGhpcy5fY29udG91ck9mZnNldHNbaV1bY10pKX1sLnVuYmluZCgpfX0sTC5waWNrPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQuaWQhPT10aGlzLnBpY2tJZClyZXR1cm4gbnVsbDt2YXIgZT10aGlzLl9maWVsZFsyXS5zaGFwZSxyPXRoaXMuX3BpY2tSZXN1bHQsbj1lWzBdKih0LnZhbHVlWzBdKyh0LnZhbHVlWzJdPj40KS8xNikvMjU1LGE9TWF0aC5mbG9vcihuKSxpPW4tYSxvPWVbMV0qKHQudmFsdWVbMV0rKDE1JnQudmFsdWVbMl0pLzE2KS8yNTUscz1NYXRoLmZsb29yKG8pLGw9by1zO2ErPTEscys9MTt2YXIgYz1yLnBvc2l0aW9uO2NbMF09Y1sxXT1jWzJdPTA7Zm9yKHZhciB1PTA7dTwyOysrdSlmb3IodmFyIGg9dT9pOjEtaSxmPTA7ZjwyOysrZilmb3IodmFyIHA9YSt1LGQ9cytmLHY9aCooZj9sOjEtbCksbT0wO208MzsrK20pY1ttXSs9dGhpcy5fZmllbGRbbV0uZ2V0KHAsZCkqdjtmb3IodmFyIHk9dGhpcy5fcGlja1Jlc3VsdC5sZXZlbCx4PTA7eDwzOysreClpZih5W3hdPWcubGUodGhpcy5jb250b3VyTGV2ZWxzW3hdLGNbeF0pLHlbeF08MCl0aGlzLmNvbnRvdXJMZXZlbHNbeF0ubGVuZ3RoPjAmJih5W3hdPTApO2Vsc2UgaWYoeVt4XTx0aGlzLmNvbnRvdXJMZXZlbHNbeF0ubGVuZ3RoLTEpe3ZhciBiPXRoaXMuY29udG91ckxldmVsc1t4XVt5W3hdXSxfPXRoaXMuY29udG91ckxldmVsc1t4XVt5W3hdKzFdO01hdGguYWJzKGItY1t4XSk+TWF0aC5hYnMoXy1jW3hdKSYmKHlbeF0rPTEpfWZvcihyLmluZGV4WzBdPWk8LjU/YTphKzEsci5pbmRleFsxXT1sPC41P3M6cysxLHIudXZbMF09bi9lWzBdLHIudXZbMV09by9lWzFdLG09MDttPDM7KyttKXIuZGF0YUNvb3JkaW5hdGVbbV09dGhpcy5fZmllbGRbbV0uZ2V0KHIuaW5kZXhbMF0sci5pbmRleFsxXSk7cmV0dXJuIHJ9LEwucGFkRmllbGQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLnNoYXBlLnNsaWNlKCksbj10LnNoYXBlLnNsaWNlKCk7Yy5hc3NpZ24odC5sbygxLDEpLmhpKHJbMF0sclsxXSksZSksYy5hc3NpZ24odC5sbygxKS5oaShyWzBdLDEpLGUuaGkoclswXSwxKSksYy5hc3NpZ24odC5sbygxLG5bMV0tMSkuaGkoclswXSwxKSxlLmxvKDAsclsxXS0xKS5oaShyWzBdLDEpKSxjLmFzc2lnbih0LmxvKDAsMSkuaGkoMSxyWzFdKSxlLmhpKDEpKSxjLmFzc2lnbih0LmxvKG5bMF0tMSwxKS5oaSgxLHJbMV0pLGUubG8oclswXS0xKSksdC5zZXQoMCwwLGUuZ2V0KDAsMCkpLHQuc2V0KDAsblsxXS0xLGUuZ2V0KDAsclsxXS0xKSksdC5zZXQoblswXS0xLDAsZS5nZXQoclswXS0xLDApKSx0LnNldChuWzBdLTEsblsxXS0xLGUuZ2V0KHJbMF0tMSxyWzFdLTEpKX0sTC51cGRhdGU9ZnVuY3Rpb24odCl7dD10fHx7fSx0aGlzLm9iamVjdE9mZnNldD10Lm9iamVjdE9mZnNldHx8dGhpcy5vYmplY3RPZmZzZXQsdGhpcy5kaXJ0eT0hMCwiY29udG91cldpZHRoImluIHQmJih0aGlzLmNvbnRvdXJXaWR0aD1CKHQuY29udG91cldpZHRoLE51bWJlcikpLCJzaG93Q29udG91ciJpbiB0JiYodGhpcy5zaG93Q29udG91cj1CKHQuc2hvd0NvbnRvdXIsQm9vbGVhbikpLCJzaG93U3VyZmFjZSJpbiB0JiYodGhpcy5zaG93U3VyZmFjZT0hIXQuc2hvd1N1cmZhY2UpLCJjb250b3VyVGludCJpbiB0JiYodGhpcy5jb250b3VyVGludD1CKHQuY29udG91clRpbnQsQm9vbGVhbikpLCJjb250b3VyQ29sb3IiaW4gdCYmKHRoaXMuY29udG91ckNvbG9yPWoodC5jb250b3VyQ29sb3IpKSwiY29udG91clByb2plY3QiaW4gdCYmKHRoaXMuY29udG91clByb2plY3Q9Qih0LmNvbnRvdXJQcm9qZWN0LGZ1bmN0aW9uKHQpe3JldHVybiBCKHQsQm9vbGVhbil9KSksInN1cmZhY2VQcm9qZWN0ImluIHQmJih0aGlzLnN1cmZhY2VQcm9qZWN0PXQuc3VyZmFjZVByb2plY3QpLCJkeW5hbWljQ29sb3IiaW4gdCYmKHRoaXMuZHluYW1pY0NvbG9yPWoodC5keW5hbWljQ29sb3IpKSwiZHluYW1pY1RpbnQiaW4gdCYmKHRoaXMuZHluYW1pY1RpbnQ9Qih0LmR5bmFtaWNUaW50LE51bWJlcikpLCJkeW5hbWljV2lkdGgiaW4gdCYmKHRoaXMuZHluYW1pY1dpZHRoPUIodC5keW5hbWljV2lkdGgsTnVtYmVyKSksIm9wYWNpdHkiaW4gdCYmKHRoaXMub3BhY2l0eT10Lm9wYWNpdHkpLCJjb2xvckJvdW5kcyJpbiB0JiYodGhpcy5jb2xvckJvdW5kcz10LmNvbG9yQm91bmRzKSwidmVydGV4Q29sb3IiaW4gdCYmKHRoaXMudmVydGV4Q29sb3I9dC52ZXJ0ZXhDb2xvcj8xOjApO3ZhciBlPXQuZmllbGR8fHQuY29vcmRzJiZ0LmNvb3Jkc1syXXx8bnVsbCxyPSExO2lmKGV8fChlPXRoaXMuX2ZpZWxkWzJdLnNoYXBlWzBdfHx0aGlzLl9maWVsZFsyXS5zaGFwZVsyXT90aGlzLl9maWVsZFsyXS5sbygxLDEpLmhpKHRoaXMuX2ZpZWxkWzJdLnNoYXBlWzBdLTIsdGhpcy5fZmllbGRbMl0uc2hhcGVbMV0tMik6dGhpcy5fZmllbGRbMl0uaGkoMCwwKSksImZpZWxkImluIHR8fCJjb29yZHMiaW4gdCl7dmFyIGE9KGUuc2hhcGVbMF0rMikqKGUuc2hhcGVbMV0rMik7YT50aGlzLl9maWVsZFsyXS5kYXRhLmxlbmd0aCYmKHMuZnJlZUZsb2F0KHRoaXMuX2ZpZWxkWzJdLmRhdGEpLHRoaXMuX2ZpZWxkWzJdLmRhdGE9cy5tYWxsb2NGbG9hdChuLm5leHRQb3cyKGEpKSksdGhpcy5fZmllbGRbMl09aCh0aGlzLl9maWVsZFsyXS5kYXRhLFtlLnNoYXBlWzBdKzIsZS5zaGFwZVsxXSsyXSksdGhpcy5wYWRGaWVsZCh0aGlzLl9maWVsZFsyXSxlKSx0aGlzLnNoYXBlPWUuc2hhcGUuc2xpY2UoKTtmb3IodmFyIGk9dGhpcy5zaGFwZSxvPTA7bzwyOysrbyl0aGlzLl9maWVsZFsyXS5zaXplPnRoaXMuX2ZpZWxkW29dLmRhdGEubGVuZ3RoJiYocy5mcmVlRmxvYXQodGhpcy5fZmllbGRbb10uZGF0YSksdGhpcy5fZmllbGRbb10uZGF0YT1zLm1hbGxvY0Zsb2F0KHRoaXMuX2ZpZWxkWzJdLnNpemUpKSx0aGlzLl9maWVsZFtvXT1oKHRoaXMuX2ZpZWxkW29dLmRhdGEsW2lbMF0rMixpWzFdKzJdKTtpZih0LmNvb3Jkcyl7dmFyIHA9dC5jb29yZHM7aWYoIUFycmF5LmlzQXJyYXkocCl8fDMhPT1wLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImdsLXN1cmZhY2U6IGludmFsaWQgY29vcmRpbmF0ZXMgZm9yIHgveSIpO2ZvcihvPTA7bzwyOysrbyl7dmFyIGQ9cFtvXTtmb3IoYj0wO2I8MjsrK2IpaWYoZC5zaGFwZVtiXSE9PWlbYl0pdGhyb3cgbmV3IEVycm9yKCJnbC1zdXJmYWNlOiBjb29yZHMgaGF2ZSBpbmNvcnJlY3Qgc2hhcGUiKTt0aGlzLnBhZEZpZWxkKHRoaXMuX2ZpZWxkW29dLGQpfX1lbHNlIGlmKHQudGlja3Mpe3ZhciBnPXQudGlja3M7aWYoIUFycmF5LmlzQXJyYXkoZyl8fDIhPT1nLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImdsLXN1cmZhY2U6IGludmFsaWQgdGlja3MiKTtmb3Iobz0wO288MjsrK28pe3ZhciBtPWdbb107aWYoKEFycmF5LmlzQXJyYXkobSl8fG0ubGVuZ3RoKSYmKG09aChtKSksbS5zaGFwZVswXSE9PWlbb10pdGhyb3cgbmV3IEVycm9yKCJnbC1zdXJmYWNlOiBpbnZhbGlkIHRpY2sgbGVuZ3RoIik7dmFyIHk9aChtLmRhdGEsaSk7eS5zdHJpZGVbb109bS5zdHJpZGVbMF0seS5zdHJpZGVbMV5vXT0wLHRoaXMucGFkRmllbGQodGhpcy5fZmllbGRbb10seSl9fWVsc2V7Zm9yKG89MDtvPDI7KytvKXt2YXIgeD1bMCwwXTt4W29dPTEsdGhpcy5fZmllbGRbb109aCh0aGlzLl9maWVsZFtvXS5kYXRhLFtpWzBdKzIsaVsxXSsyXSx4LDApfXRoaXMuX2ZpZWxkWzBdLnNldCgwLDAsMCk7Zm9yKHZhciBiPTA7YjxpWzBdOysrYil0aGlzLl9maWVsZFswXS5zZXQoYisxLDAsYik7Zm9yKHRoaXMuX2ZpZWxkWzBdLnNldChpWzBdKzEsMCxpWzBdLTEpLHRoaXMuX2ZpZWxkWzFdLnNldCgwLDAsMCksYj0wO2I8aVsxXTsrK2IpdGhpcy5fZmllbGRbMV0uc2V0KDAsYisxLGIpO3RoaXMuX2ZpZWxkWzFdLnNldCgwLGlbMV0rMSxpWzFdLTEpfXZhciBfPXRoaXMuX2ZpZWxkLHc9aChzLm1hbGxvY0Zsb2F0KDMqX1syXS5zaXplKjIpLFszLGlbMF0rMixpWzFdKzIsMl0pO2ZvcihvPTA7bzwzOysrbyl2KHcucGljayhvKSxfW29dLCJtaXJyb3IiKTt2YXIgaz1oKHMubWFsbG9jRmxvYXQoMypfWzJdLnNpemUpLFtpWzBdKzIsaVsxXSsyLDNdKTtmb3Iobz0wO288aVswXSsyOysrbylmb3IoYj0wO2I8aVsxXSsyOysrYil7dmFyIE09dy5nZXQoMCxvLGIsMCksQT13LmdldCgwLG8sYiwxKSxFPXcuZ2V0KDEsbyxiLDApLEw9dy5nZXQoMSxvLGIsMSksQz13LmdldCgyLG8sYiwwKSxQPXcuZ2V0KDIsbyxiLDEpLE89RSpQLUwqQyx6PUMqQS1QKk0sST1NKkwtQSpFLEQ9TWF0aC5zcXJ0KE8qTyt6KnorSSpJKTtEPDFlLTg/KEQ9TWF0aC5tYXgoTWF0aC5hYnMoTyksTWF0aC5hYnMoeiksTWF0aC5hYnMoSSkpKTwxZS04PyhJPTEsej1PPTAsRD0xKTpEPTEvRDpEPTEvTWF0aC5zcXJ0KEQpLGsuc2V0KG8sYiwwLE8qRCksay5zZXQobyxiLDEseipEKSxrLnNldChvLGIsMixJKkQpfXMuZnJlZSh3LmRhdGEpO3ZhciBSPVsxLzAsMS8wLDEvMF0sRj1bLTEvMCwtMS8wLC0xLzBdLE49MS8wLFY9LTEvMCxVPShpWzBdLTEpKihpWzFdLTEpKjYscT1zLm1hbGxvY0Zsb2F0KG4ubmV4dFBvdzIoMTAqVSkpLEg9MCxHPTA7Zm9yKG89MDtvPGlbMF0tMTsrK28pdDpmb3IoYj0wO2I8aVsxXS0xOysrYil7Zm9yKHZhciBZPTA7WTwyOysrWSlmb3IodmFyIFc9MDtXPDI7KytXKWZvcih2YXIgWD0wO1g8MzsrK1gpe3ZhciBaPXRoaXMuX2ZpZWxkW1hdLmdldCgxK28rWSwxK2IrVyk7aWYoaXNOYU4oWil8fCFpc0Zpbml0ZShaKSljb250aW51ZSB0fWZvcihYPTA7WDw2OysrWCl7dmFyIEo9bytUW1hdWzBdLEs9YitUW1hdWzFdLFE9dGhpcy5fZmllbGRbMF0uZ2V0KEorMSxLKzEpLCQ9dGhpcy5fZmllbGRbMV0uZ2V0KEorMSxLKzEpO1o9dGhpcy5fZmllbGRbMl0uZ2V0KEorMSxLKzEpLE89ay5nZXQoSisxLEsrMSwwKSx6PWsuZ2V0KEorMSxLKzEsMSksST1rLmdldChKKzEsSysxLDIpLHQuaW50ZW5zaXR5JiYodHQ9dC5pbnRlbnNpdHkuZ2V0KEosSykpO3ZhciB0dD10LmludGVuc2l0eT90LmludGVuc2l0eS5nZXQoSixLKTpaK3RoaXMub2JqZWN0T2Zmc2V0WzJdO3FbSCsrXT1KLHFbSCsrXT1LLHFbSCsrXT1RLHFbSCsrXT0kLHFbSCsrXT1aLHFbSCsrXT0wLHFbSCsrXT10dCxxW0grK109TyxxW0grK109eixxW0grK109SSxSWzBdPU1hdGgubWluKFJbMF0sUSt0aGlzLm9iamVjdE9mZnNldFswXSksUlsxXT1NYXRoLm1pbihSWzFdLCQrdGhpcy5vYmplY3RPZmZzZXRbMV0pLFJbMl09TWF0aC5taW4oUlsyXSxaK3RoaXMub2JqZWN0T2Zmc2V0WzJdKSxOPU1hdGgubWluKE4sdHQpLEZbMF09TWF0aC5tYXgoRlswXSxRK3RoaXMub2JqZWN0T2Zmc2V0WzBdKSxGWzFdPU1hdGgubWF4KEZbMV0sJCt0aGlzLm9iamVjdE9mZnNldFsxXSksRlsyXT1NYXRoLm1heChGWzJdLFordGhpcy5vYmplY3RPZmZzZXRbMl0pLFY9TWF0aC5tYXgoVix0dCksRys9MX19Zm9yKHQuaW50ZW5zaXR5Qm91bmRzJiYoTj0rdC5pbnRlbnNpdHlCb3VuZHNbMF0sVj0rdC5pbnRlbnNpdHlCb3VuZHNbMV0pLG89NjtvPEg7bys9MTApcVtvXT0ocVtvXS1OKS8oVi1OKTt0aGlzLl92ZXJ0ZXhDb3VudD1HLHRoaXMuX2Nvb3JkaW5hdGVCdWZmZXIudXBkYXRlKHEuc3ViYXJyYXkoMCxIKSkscy5mcmVlRmxvYXQocSkscy5mcmVlKGsuZGF0YSksdGhpcy5ib3VuZHM9W1IsRl0sdGhpcy5pbnRlbnNpdHk9dC5pbnRlbnNpdHl8fHRoaXMuX2ZpZWxkWzJdLHRoaXMuaW50ZW5zaXR5Qm91bmRzWzBdPT09TiYmdGhpcy5pbnRlbnNpdHlCb3VuZHNbMV09PT1WfHwocj0hMCksdGhpcy5pbnRlbnNpdHlCb3VuZHM9W04sVl19aWYoImxldmVscyJpbiB0KXt2YXIgZXQ9dC5sZXZlbHM7Zm9yKGV0PUFycmF5LmlzQXJyYXkoZXRbMF0pP2V0LnNsaWNlKCk6W1tdLFtdLGV0XSxvPTA7bzwzOysrbylldFtvXT1ldFtvXS5zbGljZSgpLGV0W29dLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSk7Zm9yKG89MDtvPDM7KytvKWZvcihiPTA7YjxldFtvXS5sZW5ndGg7KytiKWV0W29dW2JdLT10aGlzLm9iamVjdE9mZnNldFtvXTt0OmZvcihvPTA7bzwzOysrbyl7aWYoZXRbb10ubGVuZ3RoIT09dGhpcy5jb250b3VyTGV2ZWxzW29dLmxlbmd0aCl7cj0hMDticmVha31mb3IoYj0wO2I8ZXRbb10ubGVuZ3RoOysrYilpZihldFtvXVtiXSE9PXRoaXMuY29udG91ckxldmVsc1tvXVtiXSl7cj0hMDticmVhayB0fX10aGlzLmNvbnRvdXJMZXZlbHM9ZXR9aWYocil7Xz10aGlzLl9maWVsZCxpPXRoaXMuc2hhcGU7Zm9yKHZhciBydD1bXSxudD0wO250PDM7KytudCl7dmFyIGF0PXRoaXMuY29udG91ckxldmVsc1tudF0saXQ9W10sb3Q9W10sc3Q9WzAsMCwwXTtmb3Iobz0wO288YXQubGVuZ3RoOysrbyl7dmFyIGx0PWYodGhpcy5fZmllbGRbbnRdLGF0W29dKTtpdC5wdXNoKHJ0Lmxlbmd0aC81fDApLEc9MDt0OmZvcihiPTA7YjxsdC5jZWxscy5sZW5ndGg7KytiKXt2YXIgY3Q9bHQuY2VsbHNbYl07Zm9yKFg9MDtYPDI7KytYKXt2YXIgdXQ9bHQucG9zaXRpb25zW2N0W1hdXSxodD11dFswXSxmdD0wfE1hdGguZmxvb3IoaHQpLHB0PWh0LWZ0LGR0PXV0WzFdLGd0PTB8TWF0aC5mbG9vcihkdCksdnQ9ZHQtZ3QsbXQ9ITE7ZTpmb3IodmFyIHl0PTA7eXQ8MzsrK3l0KXtzdFt5dF09MDt2YXIgeHQ9KG50K3l0KzEpJTM7Zm9yKFk9MDtZPDI7KytZKXt2YXIgYnQ9WT9wdDoxLXB0O2ZvcihKPTB8TWF0aC5taW4oTWF0aC5tYXgoZnQrWSwwKSxpWzBdKSxXPTA7VzwyOysrVyl7dmFyIF90PVc/dnQ6MS12dDtpZihLPTB8TWF0aC5taW4oTWF0aC5tYXgoZ3QrVywwKSxpWzFdKSxaPXl0PDI/dGhpcy5fZmllbGRbeHRdLmdldChKLEspOih0aGlzLmludGVuc2l0eS5nZXQoSixLKS10aGlzLmludGVuc2l0eUJvdW5kc1swXSkvKHRoaXMuaW50ZW5zaXR5Qm91bmRzWzFdLXRoaXMuaW50ZW5zaXR5Qm91bmRzWzBdKSwhaXNGaW5pdGUoWil8fGlzTmFOKFopKXttdD0hMDticmVhayBlfXZhciB3dD1idCpfdDtzdFt5dF0rPXd0Klp9fX1pZihtdCl7aWYoWD4wKXtmb3IodmFyIGt0PTA7a3Q8NTsrK2t0KXJ0LnBvcCgpO0ctPTF9Y29udGludWUgdH1ydC5wdXNoKHN0WzBdLHN0WzFdLHV0WzBdLHV0WzFdLHN0WzJdKSxHKz0xfX1vdC5wdXNoKEcpfXRoaXMuX2NvbnRvdXJPZmZzZXRzW250XT1pdCx0aGlzLl9jb250b3VyQ291bnRzW250XT1vdH12YXIgVHQ9cy5tYWxsb2NGbG9hdChydC5sZW5ndGgpO2ZvcihvPTA7bzxydC5sZW5ndGg7KytvKVR0W29dPXJ0W29dO3RoaXMuX2NvbnRvdXJCdWZmZXIudXBkYXRlKFR0KSxzLmZyZWVGbG9hdChUdCl9dC5jb2xvcm1hcCYmdGhpcy5fY29sb3JNYXAuc2V0UGl4ZWxzKGZ1bmN0aW9uKHQpe3ZhciBlPXUoW2woe2NvbG9ybWFwOnQsbnNoYWRlczpTLGZvcm1hdDoicmdiYSJ9KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuW3RbMF0sdFsxXSx0WzJdLDI1NSp0WzNdXX0pXSk7cmV0dXJuIGMuZGl2c2VxKGUsMjU1KSxlfSh0LmNvbG9ybWFwKSl9LEwuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3NoYWRlci5kaXNwb3NlKCksdGhpcy5fdmFvLmRpc3Bvc2UoKSx0aGlzLl9jb29yZGluYXRlQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLl9jb2xvck1hcC5kaXNwb3NlKCksdGhpcy5fY29udG91ckJ1ZmZlci5kaXNwb3NlKCksdGhpcy5fY29udG91clZBTy5kaXNwb3NlKCksdGhpcy5fY29udG91clNoYWRlci5kaXNwb3NlKCksdGhpcy5fY29udG91clBpY2tTaGFkZXIuZGlzcG9zZSgpLHRoaXMuX2R5bmFtaWNCdWZmZXIuZGlzcG9zZSgpLHRoaXMuX2R5bmFtaWNWQU8uZGlzcG9zZSgpO2Zvcih2YXIgdD0wO3Q8MzsrK3Qpcy5mcmVlRmxvYXQodGhpcy5fZmllbGRbdF0uZGF0YSl9LEwuaGlnaGxpZ2h0PWZ1bmN0aW9uKHQpe3ZhciBlLHI7aWYoIXQpcmV0dXJuIHRoaXMuX2R5bmFtaWNDb3VudHM9WzAsMCwwXSx0aGlzLmR5YW5hbWljTGV2ZWw9W05hTixOYU4sTmFOXSx2b2lkKHRoaXMuaGlnaGxpZ2h0TGV2ZWw9Wy0xLC0xLC0xXSk7Zm9yKGU9MDtlPDM7KytlKXRoaXMuZW5hYmxlSGlnaGxpZ2h0W2VdP3RoaXMuaGlnaGxpZ2h0TGV2ZWxbZV09dC5sZXZlbFtlXTp0aGlzLmhpZ2hsaWdodExldmVsW2VdPS0xO2ZvcihyPXRoaXMuc25hcFRvRGF0YT90LmRhdGFDb29yZGluYXRlOnQucG9zaXRpb24sZT0wO2U8MzsrK2UpcltlXS09dGhpcy5vYmplY3RPZmZzZXRbZV07aWYodGhpcy5lbmFibGVEeW5hbWljWzBdJiZyWzBdIT09dGhpcy5keW5hbWljTGV2ZWxbMF18fHRoaXMuZW5hYmxlRHluYW1pY1sxXSYmclsxXSE9PXRoaXMuZHluYW1pY0xldmVsWzFdfHx0aGlzLmVuYWJsZUR5bmFtaWNbMl0mJnJbMl0hPT10aGlzLmR5bmFtaWNMZXZlbFsyXSl7Zm9yKHZhciBuPTAsYT10aGlzLnNoYXBlLGk9cy5tYWxsb2NGbG9hdCgxMiphWzBdKmFbMV0pLG89MDtvPDM7KytvKWlmKHRoaXMuZW5hYmxlRHluYW1pY1tvXSl7dGhpcy5keW5hbWljTGV2ZWxbb109cltvXTt2YXIgbD0obysxKSUzLGM9KG8rMiklMyx1PXRoaXMuX2ZpZWxkW29dLGg9dGhpcy5fZmllbGRbbF0scD10aGlzLl9maWVsZFtjXSxkPWYodSxyW29dKSxnPWQuY2VsbHMsdj1kLnBvc2l0aW9ucztmb3IodGhpcy5fZHluYW1pY09mZnNldHNbb109bixlPTA7ZTxnLmxlbmd0aDsrK2UpZm9yKHZhciBtPWdbZV0seT0wO3k8MjsrK3kpe3ZhciB4PXZbbVt5XV0sYj0reFswXSxfPTB8Yix3PTB8TWF0aC5taW4oXysxLGFbMF0pLGs9Yi1fLFQ9MS1rLE09K3hbMV0sQT0wfE0sUz0wfE1hdGgubWluKEErMSxhWzFdKSxFPU0tQSxMPTEtRSxDPVQqTCxQPVQqRSxPPWsqTCx6PWsqRSxJPUMqaC5nZXQoXyxBKStQKmguZ2V0KF8sUykrTypoLmdldCh3LEEpK3oqaC5nZXQodyxTKSxEPUMqcC5nZXQoXyxBKStQKnAuZ2V0KF8sUykrTypwLmdldCh3LEEpK3oqcC5nZXQodyxTKTtpZihpc05hTihJKXx8aXNOYU4oRCkpe3kmJihuLT0xKTticmVha31pWzIqbiswXT1JLGlbMipuKzFdPUQsbis9MX10aGlzLl9keW5hbWljQ291bnRzW29dPW4tdGhpcy5fZHluYW1pY09mZnNldHNbb119ZWxzZSB0aGlzLmR5bmFtaWNMZXZlbFtvXT1OYU4sdGhpcy5fZHluYW1pY0NvdW50c1tvXT0wO3RoaXMuX2R5bmFtaWNCdWZmZXIudXBkYXRlKGkuc3ViYXJyYXkoMCwyKm4pKSxzLmZyZWVGbG9hdChpKX19fSx7Ii4vbGliL3NoYWRlcnMiOjMxNiwiYmluYXJ5LXNlYXJjaC1ib3VuZHMiOjMxNywiYml0LXR3aWRkbGUiOjk0LGNvbG9ybWFwOjEyOCwiZ2wtYnVmZmVyIjoyNDQsImdsLW1hdDQvaW52ZXJ0IjoyNjgsImdsLW1hdDQvbXVsdGlwbHkiOjI3MCwiZ2wtdGV4dHVyZTJkIjozMjQsImdsLXZhbyI6MzI5LG5kYXJyYXk6NDUyLCJuZGFycmF5LWdyYWRpZW50Ijo0NDMsIm5kYXJyYXktb3BzIjo0NDYsIm5kYXJyYXktcGFjayI6NDQ3LCJzdXJmYWNlLW5ldHMiOjUzMCwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwzMTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY3NzLWZvbnQiKSxhPXQoInBpY2stYnktYWxpYXMiKSxpPXQoInJlZ2wiKSxvPXQoImdsLXV0aWwvY29udGV4dCIpLHM9dCgiZXM2LXdlYWstbWFwIiksbD10KCJjb2xvci1ub3JtYWxpemUiKSxjPXQoImZvbnQtYXRsYXMiKSx1PXQoInR5cGVkYXJyYXktcG9vbCIpLGg9dCgicGFyc2UtcmVjdCIpLGY9dCgiaXMtcGxhaW4tb2JqIikscD10KCJwYXJzZS11bml0IiksZD10KCJ0by1weCIpLGc9dCgiZGV0ZWN0LWtlcm5pbmciKSx2PXQoIm9iamVjdC1hc3NpZ24iKSxtPXQoImZvbnQtbWVhc3VyZSIpLHk9dCgiZmxhdHRlbi12ZXJ0ZXgtZGF0YSIpLHg9dCgiYml0LXR3aWRkbGUiKS5uZXh0UG93MixiPW5ldyBzLF89ITE7aWYoZG9jdW1lbnQuYm9keSl7dmFyIHc9ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7dy5zdHlsZS5mb250PSJpdGFsaWMgc21hbGwtY2FwcyBib2xkIGNvbmRlbnNlZCAxNnB4LzIgY3Vyc2l2ZSIsZ2V0Q29tcHV0ZWRTdHlsZSh3KS5mb250U3RyZXRjaCYmKF89ITApLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodyl9dmFyIGs9ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZ0Ll9nbCYmdC5wcm9wJiZ0LnRleHR1cmUmJnQuYnVmZmVyfSh0KT90aGlzLmdsPW8odCk6KHQ9e3JlZ2w6dH0sdGhpcy5nbD10LnJlZ2wuX2dsKSx0aGlzLnNoYWRlcj1iLmdldCh0aGlzLmdsKSx0aGlzLnNoYWRlcj90aGlzLnJlZ2w9dGhpcy5zaGFkZXIucmVnbDp0aGlzLnJlZ2w9dC5yZWdsfHxpKHtnbDp0aGlzLmdsfSksdGhpcy5jaGFyQnVmZmVyPXRoaXMucmVnbC5idWZmZXIoe3R5cGU6InVpbnQ4Iix1c2FnZToic3RyZWFtIn0pLHRoaXMuc2l6ZUJ1ZmZlcj10aGlzLnJlZ2wuYnVmZmVyKHt0eXBlOiJmbG9hdCIsdXNhZ2U6InN0cmVhbSJ9KSx0aGlzLnNoYWRlcnx8KHRoaXMuc2hhZGVyPXRoaXMuY3JlYXRlU2hhZGVyKCksYi5zZXQodGhpcy5nbCx0aGlzLnNoYWRlcikpLHRoaXMuYmF0Y2g9W10sdGhpcy5mb250U2l6ZT1bXSx0aGlzLmZvbnQ9W10sdGhpcy5mb250QXRsYXM9W10sdGhpcy5kcmF3PXRoaXMuc2hhZGVyLmRyYXcuYmluZCh0aGlzKSx0aGlzLnJlbmRlcj1mdW5jdGlvbigpe3RoaXMucmVnbC5fcmVmcmVzaCgpLHRoaXMuZHJhdyh0aGlzLmJhdGNoKX0sdGhpcy5jYW52YXM9dGhpcy5nbC5jYW52YXMsdGhpcy51cGRhdGUoZih0KT90Ont9KX07ay5wcm90b3R5cGUuY3JlYXRlU2hhZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yZWdsLGU9dCh7YmxlbmQ6e2VuYWJsZTohMCxjb2xvcjpbMCwwLDAsMV0sZnVuYzp7c3JjUkdCOiJzcmMgYWxwaGEiLGRzdFJHQjoib25lIG1pbnVzIHNyYyBhbHBoYSIsc3JjQWxwaGE6Im9uZSBtaW51cyBkc3QgYWxwaGEiLGRzdEFscGhhOiJvbmUifX0sc3RlbmNpbDp7ZW5hYmxlOiExfSxkZXB0aDp7ZW5hYmxlOiExfSxjb3VudDp0LnByb3AoImNvdW50Iiksb2Zmc2V0OnQucHJvcCgib2Zmc2V0IiksYXR0cmlidXRlczp7Y2hhck9mZnNldDp7b2Zmc2V0OjQsc3RyaWRlOjgsYnVmZmVyOnQudGhpcygic2l6ZUJ1ZmZlciIpfSx3aWR0aDp7b2Zmc2V0OjAsc3RyaWRlOjgsYnVmZmVyOnQudGhpcygic2l6ZUJ1ZmZlciIpfSxjaGFyOnQudGhpcygiY2hhckJ1ZmZlciIpLHBvc2l0aW9uOnQudGhpcygicG9zaXRpb24iKX0sdW5pZm9ybXM6e2F0bGFzU2l6ZTpmdW5jdGlvbih0LGUpe3JldHVybltlLmF0bGFzLndpZHRoLGUuYXRsYXMuaGVpZ2h0XX0sYXRsYXNEaW06ZnVuY3Rpb24odCxlKXtyZXR1cm5bZS5hdGxhcy5jb2xzLGUuYXRsYXMucm93c119LGF0bGFzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuYXRsYXMudGV4dHVyZX0sY2hhclN0ZXA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5hdGxhcy5zdGVwfSxlbTpmdW5jdGlvbih0LGUpe3JldHVybiBlLmF0bGFzLmVtfSxjb2xvcjp0LnByb3AoImNvbG9yIiksb3BhY2l0eTp0LnByb3AoIm9wYWNpdHkiKSx2aWV3cG9ydDp0LnRoaXMoInZpZXdwb3J0QXJyYXkiKSxzY2FsZTp0LnRoaXMoInNjYWxlIiksYWxpZ246dC5wcm9wKCJhbGlnbiIpLGJhc2VsaW5lOnQucHJvcCgiYmFzZWxpbmUiKSx0cmFuc2xhdGU6dC50aGlzKCJ0cmFuc2xhdGUiKSxwb3NpdGlvbk9mZnNldDp0LnByb3AoInBvc2l0aW9uT2Zmc2V0Iil9LHByaW1pdGl2ZToicG9pbnRzIix2aWV3cG9ydDp0LnRoaXMoInZpZXdwb3J0IiksdmVydDoiXG5cdFx0XHRwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cdFx0XHRhdHRyaWJ1dGUgZmxvYXQgd2lkdGgsIGNoYXJPZmZzZXQsIGNoYXI7XG5cdFx0XHRhdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcblx0XHRcdHVuaWZvcm0gZmxvYXQgZm9udFNpemUsIGNoYXJTdGVwLCBlbSwgYWxpZ24sIGJhc2VsaW5lO1xuXHRcdFx0dW5pZm9ybSB2ZWM0IHZpZXdwb3J0O1xuXHRcdFx0dW5pZm9ybSB2ZWM0IGNvbG9yO1xuXHRcdFx0dW5pZm9ybSB2ZWMyIGF0bGFzU2l6ZSwgYXRsYXNEaW0sIHNjYWxlLCB0cmFuc2xhdGUsIHBvc2l0aW9uT2Zmc2V0O1xuXHRcdFx0dmFyeWluZyB2ZWMyIGNoYXJDb29yZCwgY2hhcklkO1xuXHRcdFx0dmFyeWluZyBmbG9hdCBjaGFyV2lkdGg7XG5cdFx0XHR2YXJ5aW5nIHZlYzQgZm9udENvbG9yO1xuXHRcdFx0dm9pZCBtYWluICgpIHtcblx0XHRcdFx0Iisoay5ub3JtYWxWaWV3cG9ydD8iIjoidmVjMiBwb3NpdGlvbk9mZnNldCA9IHZlYzIocG9zaXRpb25PZmZzZXQueCwtIHBvc2l0aW9uT2Zmc2V0LnkpOyIpKyJcblxuXHRcdFx0XHR2ZWMyIG9mZnNldCA9IGZsb29yKGVtICogKHZlYzIoYWxpZ24gKyBjaGFyT2Zmc2V0LCBiYXNlbGluZSlcblx0XHRcdFx0XHQrIHBvc2l0aW9uT2Zmc2V0KSlcblx0XHRcdFx0XHQvICh2aWV3cG9ydC56dyAqIHNjYWxlLnh5KTtcblxuXHRcdFx0XHR2ZWMyIHBvc2l0aW9uID0gKHBvc2l0aW9uICsgdHJhbnNsYXRlKSAqIHNjYWxlO1xuXHRcdFx0XHRwb3NpdGlvbiArPSBvZmZzZXQgKiBzY2FsZTtcblxuXHRcdFx0XHQiKyhrLm5vcm1hbFZpZXdwb3J0PyJwb3NpdGlvbi55ID0gMS4gLSBwb3NpdGlvbi55OyI6IiIpKyJcblxuXHRcdFx0XHRjaGFyQ29vcmQgPSBwb3NpdGlvbiAqIHZpZXdwb3J0Lnp3ICsgdmlld3BvcnQueHk7XG5cblx0XHRcdFx0Z2xfUG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uICogMi4gLSAxLiwgMCwgMSk7XG5cblx0XHRcdFx0Z2xfUG9pbnRTaXplID0gY2hhclN0ZXA7XG5cblx0XHRcdFx0Y2hhcklkLnggPSBtb2QoY2hhciwgYXRsYXNEaW0ueCk7XG5cdFx0XHRcdGNoYXJJZC55ID0gZmxvb3IoY2hhciAvIGF0bGFzRGltLngpO1xuXG5cdFx0XHRcdGNoYXJXaWR0aCA9IHdpZHRoICogZW07XG5cblx0XHRcdFx0Zm9udENvbG9yID0gY29sb3IgLyAyNTUuO1xuXHRcdFx0fSIsZnJhZzoiXG5cdFx0XHRwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cdFx0XHR1bmlmb3JtIHNhbXBsZXIyRCBhdGxhcztcblx0XHRcdHVuaWZvcm0gZmxvYXQgZm9udFNpemUsIGNoYXJTdGVwLCBvcGFjaXR5O1xuXHRcdFx0dW5pZm9ybSB2ZWMyIGF0bGFzU2l6ZTtcblx0XHRcdHVuaWZvcm0gdmVjNCB2aWV3cG9ydDtcblx0XHRcdHZhcnlpbmcgdmVjNCBmb250Q29sb3I7XG5cdFx0XHR2YXJ5aW5nIHZlYzIgY2hhckNvb3JkLCBjaGFySWQ7XG5cdFx0XHR2YXJ5aW5nIGZsb2F0IGNoYXJXaWR0aDtcblxuXHRcdFx0ZmxvYXQgbGlnaHRuZXNzKHZlYzQgY29sb3IpIHtcblx0XHRcdFx0cmV0dXJuIGNvbG9yLnIgKiAwLjI5OSArIGNvbG9yLmcgKiAwLjU4NyArIGNvbG9yLmIgKiAwLjExNDtcblx0XHRcdH1cblxuXHRcdFx0dm9pZCBtYWluICgpIHtcblx0XHRcdFx0dmVjMiB1diA9IGdsX0ZyYWdDb29yZC54eSAtIGNoYXJDb29yZCArIGNoYXJTdGVwICogLjU7XG5cdFx0XHRcdGZsb2F0IGhhbGZDaGFyU3RlcCA9IGZsb29yKGNoYXJTdGVwICogLjUgKyAuNSk7XG5cblx0XHRcdFx0Ly8gaW52ZXJ0IHkgYW5kIHNoaWZ0IGJ5IDFweCAoRkYgZXhwZWNpYWxseSBuZWVkcyB0aGF0KVxuXHRcdFx0XHR1di55ID0gY2hhclN0ZXAgLSB1di55O1xuXG5cdFx0XHRcdC8vIGlnbm9yZSBwb2ludHMgb3V0c2lkZSBvZiBjaGFyYWN0ZXIgYm91bmRpbmcgYm94XG5cdFx0XHRcdGZsb2F0IGhhbGZDaGFyV2lkdGggPSBjZWlsKGNoYXJXaWR0aCAqIC41KTtcblx0XHRcdFx0aWYgKGZsb29yKHV2LngpID4gaGFsZkNoYXJTdGVwICsgaGFsZkNoYXJXaWR0aCB8fFxuXHRcdFx0XHRcdGZsb29yKHV2LngpIDwgaGFsZkNoYXJTdGVwIC0gaGFsZkNoYXJXaWR0aCkgcmV0dXJuO1xuXG5cdFx0XHRcdHV2ICs9IGNoYXJJZCAqIGNoYXJTdGVwO1xuXHRcdFx0XHR1diA9IHV2IC8gYXRsYXNTaXplO1xuXG5cdFx0XHRcdHZlYzQgY29sb3IgPSBmb250Q29sb3I7XG5cdFx0XHRcdHZlYzQgbWFzayA9IHRleHR1cmUyRChhdGxhcywgdXYpO1xuXG5cdFx0XHRcdGZsb2F0IG1hc2tZID0gbGlnaHRuZXNzKG1hc2spO1xuXHRcdFx0XHQvLyBmbG9hdCBjb2xvclkgPSBsaWdodG5lc3MoY29sb3IpO1xuXHRcdFx0XHRjb2xvci5hICo9IG1hc2tZO1xuXHRcdFx0XHRjb2xvci5hICo9IG9wYWNpdHk7XG5cblx0XHRcdFx0Ly8gY29sb3IuYSArPSAuMTtcblxuXHRcdFx0XHQvLyBhbnRpYWxpYXNpbmcsIHNlZSB5aXEgY29sb3Igc3BhY2UgeS1jaGFubmVsIGZvcm11bGFcblx0XHRcdFx0Ly8gY29sb3IucmdiICs9ICgxLiAtIGNvbG9yLnJnYikgKiAoMS4gLSBtYXNrLnJnYik7XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gY29sb3I7XG5cdFx0XHR9In0pO3JldHVybntyZWdsOnQsZHJhdzplLGF0bGFzOnt9fX0say5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiB0KXQ9e3RleHQ6dH07ZWxzZSBpZighdClyZXR1cm47bnVsbCE9KHQ9YSh0LHtwb3NpdGlvbjoicG9zaXRpb24gcG9zaXRpb25zIGNvb3JkIGNvb3JkcyBjb29yZGluYXRlcyIsZm9udDoiZm9udCBmb250RmFjZSBmb250ZmFjZSB0eXBlZmFjZSBjc3NGb250IGNzcy1mb250IGZhbWlseSBmb250RmFtaWx5Iixmb250U2l6ZToiZm9udFNpemUgZm9udHNpemUgc2l6ZSBmb250LXNpemUiLHRleHQ6InRleHQgdGV4dHMgY2hhcnMgY2hhcmFjdGVycyB2YWx1ZSB2YWx1ZXMgc3ltYm9scyIsYWxpZ246ImFsaWduIGFsaWdubWVudCB0ZXh0QWxpZ24gdGV4dGJhc2VsaW5lIixiYXNlbGluZToiYmFzZWxpbmUgdGV4dEJhc2VsaW5lIHRleHRiYXNlbGluZSIsZGlyZWN0aW9uOiJkaXIgZGlyZWN0aW9uIHRleHREaXJlY3Rpb24iLGNvbG9yOiJjb2xvciBjb2xvdXIgZmlsbCBmaWxsLWNvbG9yIGZpbGxDb2xvciB0ZXh0Q29sb3IgdGV4dGNvbG9yIixrZXJuaW5nOiJrZXJuaW5nIGtlcm4iLHJhbmdlOiJyYW5nZSBkYXRhQm94Iix2aWV3cG9ydDoidnAgdmlld3BvcnQgdmlld0JveCB2aWV3Ym94IHZpZXdQb3J0IixvcGFjaXR5OiJvcGFjaXR5IGFscGhhIHRyYW5zcGFyZW5jeSB2aXNpYmxlIHZpc2liaWxpdHkgb3BhcXVlIixvZmZzZXQ6Im9mZnNldCBwb3NpdGlvbk9mZnNldCBwYWRkaW5nIHNoaWZ0IGluZGVudCBpbmRlbnRhdGlvbiJ9LCEwKSkub3BhY2l0eSYmKEFycmF5LmlzQXJyYXkodC5vcGFjaXR5KT90aGlzLm9wYWNpdHk9dC5vcGFjaXR5Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KX0pOnRoaXMub3BhY2l0eT1wYXJzZUZsb2F0KHQub3BhY2l0eSkpLG51bGwhPXQudmlld3BvcnQmJih0aGlzLnZpZXdwb3J0PWgodC52aWV3cG9ydCksay5ub3JtYWxWaWV3cG9ydCYmKHRoaXMudmlld3BvcnQueT10aGlzLmNhbnZhcy5oZWlnaHQtdGhpcy52aWV3cG9ydC55LXRoaXMudmlld3BvcnQuaGVpZ2h0KSx0aGlzLnZpZXdwb3J0QXJyYXk9W3RoaXMudmlld3BvcnQueCx0aGlzLnZpZXdwb3J0LnksdGhpcy52aWV3cG9ydC53aWR0aCx0aGlzLnZpZXdwb3J0LmhlaWdodF0pLG51bGw9PXRoaXMudmlld3BvcnQmJih0aGlzLnZpZXdwb3J0PXt4OjAseTowLHdpZHRoOnRoaXMuZ2wuZHJhd2luZ0J1ZmZlcldpZHRoLGhlaWdodDp0aGlzLmdsLmRyYXdpbmdCdWZmZXJIZWlnaHR9LHRoaXMudmlld3BvcnRBcnJheT1bdGhpcy52aWV3cG9ydC54LHRoaXMudmlld3BvcnQueSx0aGlzLnZpZXdwb3J0LndpZHRoLHRoaXMudmlld3BvcnQuaGVpZ2h0XSksbnVsbCE9dC5rZXJuaW5nJiYodGhpcy5rZXJuaW5nPXQua2VybmluZyksbnVsbCE9dC5vZmZzZXQmJigibnVtYmVyIj09dHlwZW9mIHQub2Zmc2V0JiYodC5vZmZzZXQ9W3Qub2Zmc2V0LDBdKSx0aGlzLnBvc2l0aW9uT2Zmc2V0PXkodC5vZmZzZXQpKSx0LmRpcmVjdGlvbiYmKHRoaXMuZGlyZWN0aW9uPXQuZGlyZWN0aW9uKSx0LnJhbmdlJiYodGhpcy5yYW5nZT10LnJhbmdlLHRoaXMuc2NhbGU9WzEvKHQucmFuZ2VbMl0tdC5yYW5nZVswXSksMS8odC5yYW5nZVszXS10LnJhbmdlWzFdKV0sdGhpcy50cmFuc2xhdGU9Wy10LnJhbmdlWzBdLC10LnJhbmdlWzFdXSksdC5zY2FsZSYmKHRoaXMuc2NhbGU9dC5zY2FsZSksdC50cmFuc2xhdGUmJih0aGlzLnRyYW5zbGF0ZT10LnRyYW5zbGF0ZSksdGhpcy5zY2FsZXx8KHRoaXMuc2NhbGU9WzEvdGhpcy52aWV3cG9ydC53aWR0aCwxL3RoaXMudmlld3BvcnQuaGVpZ2h0XSksdGhpcy50cmFuc2xhdGV8fCh0aGlzLnRyYW5zbGF0ZT1bMCwwXSksdGhpcy5mb250Lmxlbmd0aHx8dC5mb250fHwodC5mb250PWsuYmFzZUZvbnRTaXplKyJweCBzYW5zLXNlcmlmIik7dmFyIHIsaT0hMSxvPSExO2lmKHQuZm9udCYmKEFycmF5LmlzQXJyYXkodC5mb250KT90LmZvbnQ6W3QuZm9udF0pLmZvckVhY2goZnVuY3Rpb24odCxyKXtpZigic3RyaW5nIj09dHlwZW9mIHQpdHJ5e3Q9bi5wYXJzZSh0KX1jYXRjaChlKXt0PW4ucGFyc2Uoay5iYXNlRm9udFNpemUrInB4ICIrdCl9ZWxzZSB0PW4ucGFyc2Uobi5zdHJpbmdpZnkodCkpO3ZhciBhPW4uc3RyaW5naWZ5KHtzaXplOmsuYmFzZUZvbnRTaXplLGZhbWlseTp0LmZhbWlseSxzdHJldGNoOl8/dC5zdHJldGNoOnZvaWQgMCx2YXJpYW50OnQudmFyaWFudCx3ZWlnaHQ6dC53ZWlnaHQsc3R5bGU6dC5zdHlsZX0pLHM9cCh0LnNpemUpLGw9TWF0aC5yb3VuZChzWzBdKmQoc1sxXSkpO2lmKGwhPT1lLmZvbnRTaXplW3JdJiYobz0hMCxlLmZvbnRTaXplW3JdPWwpLCEoZS5mb250W3JdJiZhPT1lLmZvbnRbcl0uYmFzZVN0cmluZ3x8KGk9ITAsZS5mb250W3JdPWsuZm9udHNbYV0sZS5mb250W3JdKSkpe3ZhciBjPXQuZmFtaWx5LmpvaW4oIiwgIiksdT1bdC5zdHlsZV07dC5zdHlsZSE9dC52YXJpYW50JiZ1LnB1c2godC52YXJpYW50KSx0LnZhcmlhbnQhPXQud2VpZ2h0JiZ1LnB1c2godC53ZWlnaHQpLF8mJnQud2VpZ2h0IT10LnN0cmV0Y2gmJnUucHVzaCh0LnN0cmV0Y2gpLGUuZm9udFtyXT17YmFzZVN0cmluZzphLGZhbWlseTpjLHdlaWdodDp0LndlaWdodCxzdHJldGNoOnQuc3RyZXRjaCxzdHlsZTp0LnN0eWxlLHZhcmlhbnQ6dC52YXJpYW50LHdpZHRoOnt9LGtlcm5pbmc6e30sbWV0cmljczptKGMse29yaWdpbjoidG9wIixmb250U2l6ZTprLmJhc2VGb250U2l6ZSxmb250U3R5bGU6dS5qb2luKCIgIil9KX0say5mb250c1thXT1lLmZvbnRbcl19fSksKGl8fG8pJiZ0aGlzLmZvbnQuZm9yRWFjaChmdW5jdGlvbihyLGEpe3ZhciBpPW4uc3RyaW5naWZ5KHtzaXplOmUuZm9udFNpemVbYV0sZmFtaWx5OnIuZmFtaWx5LHN0cmV0Y2g6Xz9yLnN0cmV0Y2g6dm9pZCAwLHZhcmlhbnQ6ci52YXJpYW50LHdlaWdodDpyLndlaWdodCxzdHlsZTpyLnN0eWxlfSk7aWYoZS5mb250QXRsYXNbYV09ZS5zaGFkZXIuYXRsYXNbaV0sIWUuZm9udEF0bGFzW2FdKXt2YXIgbz1yLm1ldHJpY3M7ZS5zaGFkZXIuYXRsYXNbaV09ZS5mb250QXRsYXNbYV09e2ZvbnRTdHJpbmc6aSxzdGVwOjIqTWF0aC5jZWlsKGUuZm9udFNpemVbYV0qby5ib3R0b20qLjUpLGVtOmUuZm9udFNpemVbYV0sY29sczowLHJvd3M6MCxoZWlnaHQ6MCx3aWR0aDowLGNoYXJzOltdLGlkczp7fSx0ZXh0dXJlOmUucmVnbC50ZXh0dXJlKCl9fW51bGw9PXQudGV4dCYmKHQudGV4dD1lLnRleHQpfSksInN0cmluZyI9PXR5cGVvZiB0LnRleHQmJnQucG9zaXRpb24mJnQucG9zaXRpb24ubGVuZ3RoPjIpe2Zvcih2YXIgcz1BcnJheSguNSp0LnBvc2l0aW9uLmxlbmd0aCksZj0wO2Y8cy5sZW5ndGg7ZisrKXNbZl09dC50ZXh0O3QudGV4dD1zfWlmKG51bGwhPXQudGV4dHx8aSl7aWYodGhpcy50ZXh0T2Zmc2V0cz1bMF0sQXJyYXkuaXNBcnJheSh0LnRleHQpKXt0aGlzLmNvdW50PXQudGV4dFswXS5sZW5ndGgsdGhpcy5jb3VudHM9W3RoaXMuY291bnRdO2Zvcih2YXIgYj0xO2I8dC50ZXh0Lmxlbmd0aDtiKyspdGhpcy50ZXh0T2Zmc2V0c1tiXT10aGlzLnRleHRPZmZzZXRzW2ItMV0rdC50ZXh0W2ItMV0ubGVuZ3RoLHRoaXMuY291bnQrPXQudGV4dFtiXS5sZW5ndGgsdGhpcy5jb3VudHMucHVzaCh0LnRleHRbYl0ubGVuZ3RoKTt0aGlzLnRleHQ9dC50ZXh0LmpvaW4oIiIpfWVsc2UgdGhpcy50ZXh0PXQudGV4dCx0aGlzLmNvdW50PXRoaXMudGV4dC5sZW5ndGgsdGhpcy5jb3VudHM9W3RoaXMuY291bnRdO3I9W10sdGhpcy5mb250LmZvckVhY2goZnVuY3Rpb24odCxuKXtrLmF0bGFzQ29udGV4dC5mb250PXQuYmFzZVN0cmluZztmb3IodmFyIGE9ZS5mb250QXRsYXNbbl0saT0wO2k8ZS50ZXh0Lmxlbmd0aDtpKyspe3ZhciBvPWUudGV4dC5jaGFyQXQoaSk7aWYobnVsbD09YS5pZHNbb10mJihhLmlkc1tvXT1hLmNoYXJzLmxlbmd0aCxhLmNoYXJzLnB1c2gobyksci5wdXNoKG8pKSxudWxsPT10LndpZHRoW29dJiYodC53aWR0aFtvXT1rLmF0bGFzQ29udGV4dC5tZWFzdXJlVGV4dChvKS53aWR0aC9rLmJhc2VGb250U2l6ZSxlLmtlcm5pbmcpKXt2YXIgcz1bXTtmb3IodmFyIGwgaW4gdC53aWR0aClzLnB1c2gobCtvLG8rbCk7dih0Lmtlcm5pbmcsZyh0LmZhbWlseSx7cGFpcnM6c30pKX19fSl9aWYodC5wb3NpdGlvbilpZih0LnBvc2l0aW9uLmxlbmd0aD4yKXtmb3IodmFyIHc9IXQucG9zaXRpb25bMF0ubGVuZ3RoLFQ9dS5tYWxsb2NGbG9hdCgyKnRoaXMuY291bnQpLE09MCxBPTA7TTx0aGlzLmNvdW50cy5sZW5ndGg7TSsrKXt2YXIgUz10aGlzLmNvdW50c1tNXTtpZih3KWZvcih2YXIgRT0wO0U8UztFKyspVFtBKytdPXQucG9zaXRpb25bMipNXSxUW0ErK109dC5wb3NpdGlvblsyKk0rMV07ZWxzZSBmb3IodmFyIEw9MDtMPFM7TCsrKVRbQSsrXT10LnBvc2l0aW9uW01dWzBdLFRbQSsrXT10LnBvc2l0aW9uW01dWzFdfXRoaXMucG9zaXRpb24uY2FsbD90aGlzLnBvc2l0aW9uKHt0eXBlOiJmbG9hdCIsZGF0YTpUfSk6dGhpcy5wb3NpdGlvbj10aGlzLnJlZ2wuYnVmZmVyKHt0eXBlOiJmbG9hdCIsZGF0YTpUfSksdS5mcmVlRmxvYXQoVCl9ZWxzZSB0aGlzLnBvc2l0aW9uLmRlc3Ryb3kmJnRoaXMucG9zaXRpb24uZGVzdHJveSgpLHRoaXMucG9zaXRpb249e2NvbnN0YW50OnQucG9zaXRpb259O2lmKHQudGV4dHx8aSl7dmFyIEM9dS5tYWxsb2NVaW50OCh0aGlzLmNvdW50KSxQPXUubWFsbG9jRmxvYXQoMip0aGlzLmNvdW50KTt0aGlzLnRleHRXaWR0aD1bXTtmb3IodmFyIE89MCx6PTA7Tzx0aGlzLmNvdW50cy5sZW5ndGg7TysrKXtmb3IodmFyIEk9dGhpcy5jb3VudHNbT10sRD10aGlzLmZvbnRbT118fHRoaXMuZm9udFswXSxSPXRoaXMuZm9udEF0bGFzW09dfHx0aGlzLmZvbnRBdGxhc1swXSxGPTA7RjxJO0YrKyl7dmFyIEI9dGhpcy50ZXh0LmNoYXJBdCh6KSxOPXRoaXMudGV4dC5jaGFyQXQoei0xKTtpZihDW3pdPVIuaWRzW0JdLFBbMip6XT1ELndpZHRoW0JdLEYpe3ZhciBqPVBbMip6LTJdLFY9UFsyKnpdLFU9UFsyKnotMV0rLjUqaisuNSpWO2lmKHRoaXMua2VybmluZyl7dmFyIHE9RC5rZXJuaW5nW04rQl07cSYmKFUrPS4wMDEqcSl9UFsyKnorMV09VX1lbHNlIFBbMip6KzFdPS41KlBbMip6XTt6Kyt9dGhpcy50ZXh0V2lkdGgucHVzaChQLmxlbmd0aD8uNSpQWzIqei0yXStQWzIqei0xXTowKX10LmFsaWdufHwodC5hbGlnbj10aGlzLmFsaWduKSx0aGlzLmNoYXJCdWZmZXIoe2RhdGE6Qyx0eXBlOiJ1aW50OCIsdXNhZ2U6InN0cmVhbSJ9KSx0aGlzLnNpemVCdWZmZXIoe2RhdGE6UCx0eXBlOiJmbG9hdCIsdXNhZ2U6InN0cmVhbSJ9KSx1LmZyZWVVaW50OChDKSx1LmZyZWVGbG9hdChQKSxyLmxlbmd0aCYmdGhpcy5mb250LmZvckVhY2goZnVuY3Rpb24odCxyKXt2YXIgbj1lLmZvbnRBdGxhc1tyXSxhPW4uc3RlcCxpPU1hdGguZmxvb3Ioay5tYXhBdGxhc1NpemUvYSksbz1NYXRoLm1pbihpLG4uY2hhcnMubGVuZ3RoKSxzPU1hdGguY2VpbChuLmNoYXJzLmxlbmd0aC9vKSxsPXgobyphKSx1PXgocyphKTtuLndpZHRoPWwsbi5oZWlnaHQ9dSxuLnJvd3M9cyxuLmNvbHM9byxuLmVtJiZuLnRleHR1cmUoe2RhdGE6Yyh7Y2FudmFzOmsuYXRsYXNDYW52YXMsZm9udDpuLmZvbnRTdHJpbmcsY2hhcnM6bi5jaGFycyxzaGFwZTpbbCx1XSxzdGVwOlthLGFdfSl9KX0pfWlmKHQuYWxpZ24mJih0aGlzLmFsaWduPXQuYWxpZ24sdGhpcy5hbGlnbk9mZnNldD10aGlzLnRleHRXaWR0aC5tYXAoZnVuY3Rpb24odCxyKXt2YXIgbj1BcnJheS5pc0FycmF5KGUuYWxpZ24pP2UuYWxpZ24ubGVuZ3RoPjE/ZS5hbGlnbltyXTplLmFsaWduWzBdOmUuYWxpZ247aWYoIm51bWJlciI9PXR5cGVvZiBuKXJldHVybiBuO3N3aXRjaChuKXtjYXNlInJpZ2h0IjpjYXNlImVuZCI6cmV0dXJuLXQ7Y2FzZSJjZW50ZXIiOmNhc2UiY2VudHJlIjpjYXNlIm1pZGRsZSI6cmV0dXJuLjUqLXR9cmV0dXJuIDB9KSksbnVsbD09dGhpcy5iYXNlbGluZSYmbnVsbD09dC5iYXNlbGluZSYmKHQuYmFzZWxpbmU9MCksbnVsbCE9dC5iYXNlbGluZSYmKHRoaXMuYmFzZWxpbmU9dC5iYXNlbGluZSxBcnJheS5pc0FycmF5KHRoaXMuYmFzZWxpbmUpfHwodGhpcy5iYXNlbGluZT1bdGhpcy5iYXNlbGluZV0pLHRoaXMuYmFzZWxpbmVPZmZzZXQ9dGhpcy5iYXNlbGluZS5tYXAoZnVuY3Rpb24odCxyKXt2YXIgbj0oZS5mb250W3JdfHxlLmZvbnRbMF0pLm1ldHJpY3MsYT0wO3JldHVybiBhKz0uNSpuLmJvdHRvbSxhKz0ibnVtYmVyIj09dHlwZW9mIHQ/dC1uLmJhc2VsaW5lOi1uW3RdLGsubm9ybWFsVmlld3BvcnR8fChhKj0tMSksYX0pKSxudWxsIT10LmNvbG9yKWlmKHQuY29sb3J8fCh0LmNvbG9yPSJ0cmFuc3BhcmVudCIpLCJzdHJpbmciIT10eXBlb2YgdC5jb2xvciYmaXNOYU4odC5jb2xvcikpe3ZhciBIO2lmKCJudW1iZXIiPT10eXBlb2YgdC5jb2xvclswXSYmdC5jb2xvci5sZW5ndGg+dGhpcy5jb3VudHMubGVuZ3RoKXt2YXIgRz10LmNvbG9yLmxlbmd0aDtIPXUubWFsbG9jVWludDgoRyk7Zm9yKHZhciBZPSh0LmNvbG9yLnN1YmFycmF5fHx0LmNvbG9yLnNsaWNlKS5iaW5kKHQuY29sb3IpLFc9MDtXPEc7Vys9NClILnNldChsKFkoVyxXKzQpLCJ1aW50OCIpLFcpfWVsc2V7dmFyIFg9dC5jb2xvci5sZW5ndGg7SD11Lm1hbGxvY1VpbnQ4KDQqWCk7Zm9yKHZhciBaPTA7WjxYO1orKylILnNldChsKHQuY29sb3JbWl18fDAsInVpbnQ4IiksNCpaKX10aGlzLmNvbG9yPUh9ZWxzZSB0aGlzLmNvbG9yPWwodC5jb2xvciwidWludDgiKTtpZih0LnBvc2l0aW9ufHx0LnRleHR8fHQuY29sb3J8fHQuYmFzZWxpbmV8fHQuYWxpZ258fHQuZm9udHx8dC5vZmZzZXR8fHQub3BhY2l0eSlpZih0aGlzLmNvbG9yLmxlbmd0aD40fHx0aGlzLmJhc2VsaW5lT2Zmc2V0Lmxlbmd0aD4xfHx0aGlzLmFsaWduJiZ0aGlzLmFsaWduLmxlbmd0aD4xfHx0aGlzLmZvbnRBdGxhcy5sZW5ndGg+MXx8dGhpcy5wb3NpdGlvbk9mZnNldC5sZW5ndGg+Mil7dmFyIEo9TWF0aC5tYXgoLjUqdGhpcy5wb3NpdGlvbi5sZW5ndGh8fDAsLjI1KnRoaXMuY29sb3IubGVuZ3RofHwwLHRoaXMuYmFzZWxpbmVPZmZzZXQubGVuZ3RofHwwLHRoaXMuYWxpZ25PZmZzZXQubGVuZ3RofHwwLHRoaXMuZm9udC5sZW5ndGh8fDAsdGhpcy5vcGFjaXR5Lmxlbmd0aHx8MCwuNSp0aGlzLnBvc2l0aW9uT2Zmc2V0Lmxlbmd0aHx8MCk7dGhpcy5iYXRjaD1BcnJheShKKTtmb3IodmFyIEs9MDtLPHRoaXMuYmF0Y2gubGVuZ3RoO0srKyl0aGlzLmJhdGNoW0tdPXtjb3VudDp0aGlzLmNvdW50cy5sZW5ndGg+MT90aGlzLmNvdW50c1tLXTp0aGlzLmNvdW50c1swXSxvZmZzZXQ6dGhpcy50ZXh0T2Zmc2V0cy5sZW5ndGg+MT90aGlzLnRleHRPZmZzZXRzW0tdOnRoaXMudGV4dE9mZnNldHNbMF0sY29sb3I6dGhpcy5jb2xvcj90aGlzLmNvbG9yLmxlbmd0aDw9ND90aGlzLmNvbG9yOnRoaXMuY29sb3Iuc3ViYXJyYXkoNCpLLDQqSys0KTpbMCwwLDAsMjU1XSxvcGFjaXR5OkFycmF5LmlzQXJyYXkodGhpcy5vcGFjaXR5KT90aGlzLm9wYWNpdHlbS106dGhpcy5vcGFjaXR5LGJhc2VsaW5lOm51bGwhPXRoaXMuYmFzZWxpbmVPZmZzZXRbS10/dGhpcy5iYXNlbGluZU9mZnNldFtLXTp0aGlzLmJhc2VsaW5lT2Zmc2V0WzBdLGFsaWduOnRoaXMuYWxpZ24/bnVsbCE9dGhpcy5hbGlnbk9mZnNldFtLXT90aGlzLmFsaWduT2Zmc2V0W0tdOnRoaXMuYWxpZ25PZmZzZXRbMF06MCxhdGxhczp0aGlzLmZvbnRBdGxhc1tLXXx8dGhpcy5mb250QXRsYXNbMF0scG9zaXRpb25PZmZzZXQ6dGhpcy5wb3NpdGlvbk9mZnNldC5sZW5ndGg+Mj90aGlzLnBvc2l0aW9uT2Zmc2V0LnN1YmFycmF5KDIqSywyKksrMik6dGhpcy5wb3NpdGlvbk9mZnNldH19ZWxzZSB0aGlzLmNvdW50P3RoaXMuYmF0Y2g9W3tjb3VudDp0aGlzLmNvdW50LG9mZnNldDowLGNvbG9yOnRoaXMuY29sb3J8fFswLDAsMCwyNTVdLG9wYWNpdHk6QXJyYXkuaXNBcnJheSh0aGlzLm9wYWNpdHkpP3RoaXMub3BhY2l0eVswXTp0aGlzLm9wYWNpdHksYmFzZWxpbmU6dGhpcy5iYXNlbGluZU9mZnNldFswXSxhbGlnbjp0aGlzLmFsaWduT2Zmc2V0P3RoaXMuYWxpZ25PZmZzZXRbMF06MCxhdGxhczp0aGlzLmZvbnRBdGxhc1swXSxwb3NpdGlvbk9mZnNldDp0aGlzLnBvc2l0aW9uT2Zmc2V0fV06dGhpcy5iYXRjaD1bXX0say5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe30say5wcm90b3R5cGUua2VybmluZz0hMCxrLnByb3RvdHlwZS5wb3NpdGlvbj17Y29uc3RhbnQ6bmV3IEZsb2F0MzJBcnJheSgyKX0say5wcm90b3R5cGUudHJhbnNsYXRlPW51bGwsay5wcm90b3R5cGUuc2NhbGU9bnVsbCxrLnByb3RvdHlwZS5mb250PW51bGwsay5wcm90b3R5cGUudGV4dD0iIixrLnByb3RvdHlwZS5wb3NpdGlvbk9mZnNldD1bMCwwXSxrLnByb3RvdHlwZS5vcGFjaXR5PTEsay5wcm90b3R5cGUuY29sb3I9bmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDI1NV0pLGsucHJvdG90eXBlLmFsaWduT2Zmc2V0PVswLDBdLGsubm9ybWFsVmlld3BvcnQ9ITEsay5tYXhBdGxhc1NpemU9MTAyNCxrLmF0bGFzQ2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGsuYXRsYXNDb250ZXh0PWsuYXRsYXNDYW52YXMuZ2V0Q29udGV4dCgiMmQiLHthbHBoYTohMX0pLGsuYmFzZUZvbnRTaXplPTY0LGsuZm9udHM9e30sZS5leHBvcnRzPWt9LHsiYml0LXR3aWRkbGUiOjk0LCJjb2xvci1ub3JtYWxpemUiOjEyMiwiY3NzLWZvbnQiOjE0MSwiZGV0ZWN0LWtlcm5pbmciOjE2OCwiZXM2LXdlYWstbWFwIjozMjAsImZsYXR0ZW4tdmVydGV4LWRhdGEiOjIzMCwiZm9udC1hdGxhcyI6MjMxLCJmb250LW1lYXN1cmUiOjIzMiwiZ2wtdXRpbC9jb250ZXh0IjozMjUsImlzLXBsYWluLW9iaiI6NDI0LCJvYmplY3QtYXNzaWduIjo0NTYsInBhcnNlLXJlY3QiOjQ2MSwicGFyc2UtdW5pdCI6NDYzLCJwaWNrLWJ5LWFsaWFzIjo0NjcscmVnbDo1MDEsInRvLXB4Ijo1MzgsInR5cGVkYXJyYXktcG9vbCI6NTQ0fV0sMzIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL2lzLWltcGxlbWVudGVkIikoKT9XZWFrTWFwOnQoIi4vcG9seWZpbGwiKX0seyIuL2lzLWltcGxlbWVudGVkIjozMjEsIi4vcG9seWZpbGwiOjMyM31dLDMyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdCxlO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBXZWFrTWFwKXJldHVybiExO3RyeXt0PW5ldyBXZWFrTWFwKFtbZT17fSwib25lIl0sW3t9LCJ0d28iXSxbe30sInRocmVlIl1dKX1jYXRjaCh0KXtyZXR1cm4hMX1yZXR1cm4iW29iamVjdCBXZWFrTWFwXSI9PT1TdHJpbmcodCkmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5zZXQmJih0LnNldCh7fSwxKT09PXQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWxldGUmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5oYXMmJiJvbmUiPT09dC5nZXQoZSkpKSkpfX0se31dLDMyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXAmJiJbb2JqZWN0IFdlYWtNYXBdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgV2Vha01hcCl9LHt9XSwzMjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG4sYT10KCJlczUtZXh0L29iamVjdC9pcy12YWx1ZSIpLGk9dCgiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiIpLG89dCgiZXM1LWV4dC9vYmplY3QvdmFsaWQtb2JqZWN0Iikscz10KCJlczUtZXh0L29iamVjdC92YWxpZC12YWx1ZSIpLGw9dCgiZXM1LWV4dC9zdHJpbmcvcmFuZG9tLXVuaXEiKSxjPXQoImQiKSx1PXQoImVzNi1pdGVyYXRvci9nZXQiKSxoPXQoImVzNi1pdGVyYXRvci9mb3Itb2YiKSxmPXQoImVzNi1zeW1ib2wiKS50b1N0cmluZ1RhZyxwPXQoIi4vaXMtbmF0aXZlLWltcGxlbWVudGVkIiksZD1BcnJheS5pc0FycmF5LGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LHY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxtPU9iamVjdC5nZXRQcm90b3R5cGVPZjtlLmV4cG9ydHM9bj1mdW5jdGlvbigpe3ZhciB0LGU9YXJndW1lbnRzWzBdO2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIik7cmV0dXJuIHQ9cCYmaSYmV2Vha01hcCE9PW4/aShuZXcgV2Vha01hcCxtKHRoaXMpKTp0aGlzLGEoZSkmJihkKGUpfHwoZT11KGUpKSksZyh0LCJfX3dlYWtNYXBEYXRhX18iLGMoImMiLCIkd2Vha01hcCQiK2woKSkpLGU/KGgoZSxmdW5jdGlvbihlKXtzKGUpLHQuc2V0KGVbMF0sZVsxXSl9KSx0KTp0fSxwJiYoaSYmaShuLFdlYWtNYXApLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoV2Vha01hcC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOmMobil9KSksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobi5wcm90b3R5cGUse2RlbGV0ZTpjKGZ1bmN0aW9uKHQpe3JldHVybiEhdi5jYWxsKG8odCksdGhpcy5fX3dlYWtNYXBEYXRhX18pJiYoZGVsZXRlIHRbdGhpcy5fX3dlYWtNYXBEYXRhX19dLCEwKX0pLGdldDpjKGZ1bmN0aW9uKHQpe2lmKHYuY2FsbChvKHQpLHRoaXMuX193ZWFrTWFwRGF0YV9fKSlyZXR1cm4gdFt0aGlzLl9fd2Vha01hcERhdGFfX119KSxoYXM6YyhmdW5jdGlvbih0KXtyZXR1cm4gdi5jYWxsKG8odCksdGhpcy5fX3dlYWtNYXBEYXRhX18pfSksc2V0OmMoZnVuY3Rpb24odCxlKXtyZXR1cm4gZyhvKHQpLHRoaXMuX193ZWFrTWFwRGF0YV9fLGMoImMiLGUpKSx0aGlzfSksdG9TdHJpbmc6YyhmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0IFdlYWtNYXBdIn0pfSksZyhuLnByb3RvdHlwZSxmLGMoImMiLCJXZWFrTWFwIikpfSx7Ii4vaXMtbmF0aXZlLWltcGxlbWVudGVkIjozMjIsZDoxNTMsImVzNS1leHQvb2JqZWN0L2lzLXZhbHVlIjoxOTcsImVzNS1leHQvb2JqZWN0L3NldC1wcm90b3R5cGUtb2YiOjIwMywiZXM1LWV4dC9vYmplY3QvdmFsaWQtb2JqZWN0IjoyMDcsImVzNS1leHQvb2JqZWN0L3ZhbGlkLXZhbHVlIjoyMDgsImVzNS1leHQvc3RyaW5nL3JhbmRvbS11bmlxIjoyMTMsImVzNi1pdGVyYXRvci9mb3Itb2YiOjIxNSwiZXM2LWl0ZXJhdG9yL2dldCI6MjE2LCJlczYtc3ltYm9sIjoyMjJ9XSwzMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibmRhcnJheSIpLGE9dCgibmRhcnJheS1vcHMiKSxpPXQoInR5cGVkYXJyYXktcG9vbCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihhcmd1bWVudHMubGVuZ3RoPD0xKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBNaXNzaW5nIGFyZ3VtZW50cyBmb3IgdGV4dHVyZTJkIGNvbnN0cnVjdG9yIik7b3x8ZnVuY3Rpb24odCl7bz1bdC5MSU5FQVIsdC5ORUFSRVNUX01JUE1BUF9MSU5FQVIsdC5MSU5FQVJfTUlQTUFQX05FQVJFU1QsdC5MSU5FQVJfTUlQTUFQX05FQVJFU1RdLHM9W3QuTkVBUkVTVCx0LkxJTkVBUix0Lk5FQVJFU1RfTUlQTUFQX05FQVJFU1QsdC5ORUFSRVNUX01JUE1BUF9MSU5FQVIsdC5MSU5FQVJfTUlQTUFQX05FQVJFU1QsdC5MSU5FQVJfTUlQTUFQX0xJTkVBUl0sbD1bdC5SRVBFQVQsdC5DTEFNUF9UT19FREdFLHQuTUlSUk9SRURfUkVQRUFUXX0odCk7aWYoIm51bWJlciI9PXR5cGVvZiBhcmd1bWVudHNbMV0pcmV0dXJuIHYodCxhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdLGFyZ3VtZW50c1szXXx8dC5SR0JBLGFyZ3VtZW50c1s0XXx8dC5VTlNJR05FRF9CWVRFKTtpZihBcnJheS5pc0FycmF5KGFyZ3VtZW50c1sxXSkpcmV0dXJuIHYodCwwfGFyZ3VtZW50c1sxXVswXSwwfGFyZ3VtZW50c1sxXVsxXSxhcmd1bWVudHNbMl18fHQuUkdCQSxhcmd1bWVudHNbM118fHQuVU5TSUdORURfQllURSk7aWYoIm9iamVjdCI9PXR5cGVvZiBhcmd1bWVudHNbMV0pe3ZhciBlPWFyZ3VtZW50c1sxXSxyPWMoZSk/ZTplLnJhdztpZihyKXJldHVybiBmdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89Zyh0KTtyZXR1cm4gdC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCwwLGEsYSxpLGUpLG5ldyBmKHQsbyxyLG4sYSxpKX0odCxyLDB8ZS53aWR0aCwwfGUuaGVpZ2h0LGFyZ3VtZW50c1syXXx8dC5SR0JBLGFyZ3VtZW50c1szXXx8dC5VTlNJR05FRF9CWVRFKTtpZihlLnNoYXBlJiZlLmRhdGEmJmUuc3RyaWRlKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPWUuZHR5cGUsbz1lLnNoYXBlLnNsaWNlKCkscz10LmdldFBhcmFtZXRlcih0Lk1BWF9URVhUVVJFX1NJWkUpO2lmKG9bMF08MHx8b1swXT5zfHxvWzFdPDB8fG9bMV0+cyl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCB0ZXh0dXJlIHNpemUiKTt2YXIgbD1kKG8sZS5zdHJpZGUuc2xpY2UoKSksYz0wOyJmbG9hdDMyIj09PXI/Yz10LkZMT0FUOiJmbG9hdDY0Ij09PXI/KGM9dC5GTE9BVCxsPSExLHI9ImZsb2F0MzIiKToidWludDgiPT09cj9jPXQuVU5TSUdORURfQllURTooYz10LlVOU0lHTkVEX0JZVEUsbD0hMSxyPSJ1aW50OCIpO3ZhciBoLHAsdj0wO2lmKDI9PT1vLmxlbmd0aCl2PXQuTFVNSU5BTkNFLG89W29bMF0sb1sxXSwxXSxlPW4oZS5kYXRhLG8sW2Uuc3RyaWRlWzBdLGUuc3RyaWRlWzFdLDFdLGUub2Zmc2V0KTtlbHNle2lmKDMhPT1vLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCBzaGFwZSBmb3IgdGV4dHVyZSIpO2lmKDE9PT1vWzJdKXY9dC5BTFBIQTtlbHNlIGlmKDI9PT1vWzJdKXY9dC5MVU1JTkFOQ0VfQUxQSEE7ZWxzZSBpZigzPT09b1syXSl2PXQuUkdCO2Vsc2V7aWYoNCE9PW9bMl0pdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IEludmFsaWQgc2hhcGUgZm9yIHBpeGVsIGNvb3JkcyIpO3Y9dC5SR0JBfX1jIT09dC5GTE9BVHx8dC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2Zsb2F0Iil8fChjPXQuVU5TSUdORURfQllURSxsPSExKTt2YXIgbT1lLnNpemU7aWYobCloPTA9PT1lLm9mZnNldCYmZS5kYXRhLmxlbmd0aD09PW0/ZS5kYXRhOmUuZGF0YS5zdWJhcnJheShlLm9mZnNldCxlLm9mZnNldCttKTtlbHNle3ZhciB5PVtvWzJdLG9bMl0qb1swXSwxXTtwPWkubWFsbG9jKG0scik7dmFyIHg9bihwLG8seSwwKTsiZmxvYXQzMiIhPT1yJiYiZmxvYXQ2NCIhPT1yfHxjIT09dC5VTlNJR05FRF9CWVRFP2EuYXNzaWduKHgsZSk6dSh4LGUpLGg9cC5zdWJhcnJheSgwLG0pfXZhciBiPWcodCk7dC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCwwLHYsb1swXSxvWzFdLDAsdixjLGgpLGx8fGkuZnJlZShwKTtyZXR1cm4gbmV3IGYodCxiLG9bMF0sb1sxXSx2LGMpfSh0LGUpfXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBJbnZhbGlkIGFyZ3VtZW50cyBmb3IgdGV4dHVyZTJkIGNvbnN0cnVjdG9yIil9O3ZhciBvPW51bGwscz1udWxsLGw9bnVsbDtmdW5jdGlvbiBjKHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgSFRNTENhbnZhc0VsZW1lbnQmJnQgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MVmlkZW9FbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTFZpZGVvRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBJbWFnZURhdGEmJnQgaW5zdGFuY2VvZiBJbWFnZURhdGF9dmFyIHU9ZnVuY3Rpb24odCxlKXthLm11bHModCxlLDI1NSl9O2Z1bmN0aW9uIGgodCxlLHIpe3ZhciBuPXQuZ2wsYT1uLmdldFBhcmFtZXRlcihuLk1BWF9URVhUVVJFX1NJWkUpO2lmKGU8MHx8ZT5hfHxyPDB8fHI+YSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCB0ZXh0dXJlIHNpemUiKTtyZXR1cm4gdC5fc2hhcGU9W2Uscl0sdC5iaW5kKCksbi50ZXhJbWFnZTJEKG4uVEVYVFVSRV8yRCwwLHQuZm9ybWF0LGUsciwwLHQuZm9ybWF0LHQudHlwZSxudWxsKSx0Ll9taXBMZXZlbHM9WzBdLHR9ZnVuY3Rpb24gZih0LGUscixuLGEsaSl7dGhpcy5nbD10LHRoaXMuaGFuZGxlPWUsdGhpcy5mb3JtYXQ9YSx0aGlzLnR5cGU9aSx0aGlzLl9zaGFwZT1bcixuXSx0aGlzLl9taXBMZXZlbHM9WzBdLHRoaXMuX21hZ0ZpbHRlcj10Lk5FQVJFU1QsdGhpcy5fbWluRmlsdGVyPXQuTkVBUkVTVCx0aGlzLl93cmFwUz10LkNMQU1QX1RPX0VER0UsdGhpcy5fd3JhcFQ9dC5DTEFNUF9UT19FREdFLHRoaXMuX2FuaXNvU2FtcGxlcz0xO3ZhciBvPXRoaXMscz1bdGhpcy5fd3JhcFMsdGhpcy5fd3JhcFRdO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHMsW3tnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5fd3JhcFN9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gby53cmFwUz10fX0se2dldDpmdW5jdGlvbigpe3JldHVybiBvLl93cmFwVH0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBvLndyYXBUPXR9fV0pLHRoaXMuX3dyYXBWZWN0b3I9czt2YXIgbD1bdGhpcy5fc2hhcGVbMF0sdGhpcy5fc2hhcGVbMV1dO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGwsW3tnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5fc2hhcGVbMF19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gby53aWR0aD10fX0se2dldDpmdW5jdGlvbigpe3JldHVybiBvLl9zaGFwZVsxXX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBvLmhlaWdodD10fX1dKSx0aGlzLl9zaGFwZVZlY3Rvcj1sfXZhciBwPWYucHJvdG90eXBlO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm4gMz09PXQubGVuZ3RoPzE9PT1lWzJdJiZlWzFdPT09dFswXSp0WzJdJiZlWzBdPT09dFsyXToxPT09ZVswXSYmZVsxXT09PXRbMF19ZnVuY3Rpb24gZyh0KXt2YXIgZT10LmNyZWF0ZVRleHR1cmUoKTtyZXR1cm4gdC5iaW5kVGV4dHVyZSh0LlRFWFRVUkVfMkQsZSksdC50ZXhQYXJhbWV0ZXJpKHQuVEVYVFVSRV8yRCx0LlRFWFRVUkVfTUlOX0ZJTFRFUix0Lk5FQVJFU1QpLHQudGV4UGFyYW1ldGVyaSh0LlRFWFRVUkVfMkQsdC5URVhUVVJFX01BR19GSUxURVIsdC5ORUFSRVNUKSx0LnRleFBhcmFtZXRlcmkodC5URVhUVVJFXzJELHQuVEVYVFVSRV9XUkFQX1MsdC5DTEFNUF9UT19FREdFKSx0LnRleFBhcmFtZXRlcmkodC5URVhUVVJFXzJELHQuVEVYVFVSRV9XUkFQX1QsdC5DTEFNUF9UT19FREdFKSxlfWZ1bmN0aW9uIHYodCxlLHIsbixhKXt2YXIgaT10LmdldFBhcmFtZXRlcih0Lk1BWF9URVhUVVJFX1NJWkUpO2lmKGU8MHx8ZT5pfHxyPDB8fHI+aSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCB0ZXh0dXJlIHNoYXBlIik7aWYoYT09PXQuRkxPQVQmJiF0LmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVfZmxvYXQiKSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogRmxvYXRpbmcgcG9pbnQgdGV4dHVyZXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtIik7dmFyIG89Zyh0KTtyZXR1cm4gdC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCwwLG4sZSxyLDAsbixhLG51bGwpLG5ldyBmKHQsbyxlLHIsbixhKX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhwLHttaW5GaWx0ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taW5GaWx0ZXJ9LHNldDpmdW5jdGlvbih0KXt0aGlzLmJpbmQoKTt2YXIgZT10aGlzLmdsO2lmKHRoaXMudHlwZT09PWUuRkxPQVQmJm8uaW5kZXhPZih0KT49MCYmKGUuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKXx8KHQ9ZS5ORUFSRVNUKSkscy5pbmRleE9mKHQpPDApdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IFVua25vd24gZmlsdGVyIG1vZGUgIit0KTtyZXR1cm4gZS50ZXhQYXJhbWV0ZXJpKGUuVEVYVFVSRV8yRCxlLlRFWFRVUkVfTUlOX0ZJTFRFUix0KSx0aGlzLl9taW5GaWx0ZXI9dH19LG1hZ0ZpbHRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hZ0ZpbHRlcn0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYmluZCgpO3ZhciBlPXRoaXMuZ2w7aWYodGhpcy50eXBlPT09ZS5GTE9BVCYmby5pbmRleE9mKHQpPj0wJiYoZS5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpfHwodD1lLk5FQVJFU1QpKSxzLmluZGV4T2YodCk8MCl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogVW5rbm93biBmaWx0ZXIgbW9kZSAiK3QpO3JldHVybiBlLnRleFBhcmFtZXRlcmkoZS5URVhUVVJFXzJELGUuVEVYVFVSRV9NQUdfRklMVEVSLHQpLHRoaXMuX21hZ0ZpbHRlcj10fX0sbWlwU2FtcGxlczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FuaXNvU2FtcGxlc30sc2V0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2FuaXNvU2FtcGxlcztpZih0aGlzLl9hbmlzb1NhbXBsZXM9MHxNYXRoLm1heCh0LDEpLGUhPT10aGlzLl9hbmlzb1NhbXBsZXMpe3ZhciByPXRoaXMuZ2wuZ2V0RXh0ZW5zaW9uKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTtyJiZ0aGlzLmdsLnRleFBhcmFtZXRlcmYodGhpcy5nbC5URVhUVVJFXzJELHIuVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQsdGhpcy5fYW5pc29TYW1wbGVzKX1yZXR1cm4gdGhpcy5fYW5pc29TYW1wbGVzfX0sd3JhcFM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cmFwU30sc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMuYmluZCgpLGwuaW5kZXhPZih0KTwwKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBVbmtub3duIHdyYXAgbW9kZSAiK3QpO3JldHVybiB0aGlzLmdsLnRleFBhcmFtZXRlcmkodGhpcy5nbC5URVhUVVJFXzJELHRoaXMuZ2wuVEVYVFVSRV9XUkFQX1MsdCksdGhpcy5fd3JhcFM9dH19LHdyYXBUOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JhcFR9LHNldDpmdW5jdGlvbih0KXtpZih0aGlzLmJpbmQoKSxsLmluZGV4T2YodCk8MCl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogVW5rbm93biB3cmFwIG1vZGUgIit0KTtyZXR1cm4gdGhpcy5nbC50ZXhQYXJhbWV0ZXJpKHRoaXMuZ2wuVEVYVFVSRV8yRCx0aGlzLmdsLlRFWFRVUkVfV1JBUF9ULHQpLHRoaXMuX3dyYXBUPXR9fSx3cmFwOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JhcFZlY3Rvcn0sc2V0OmZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCl8fCh0PVt0LHRdKSwyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IE11c3Qgc3BlY2lmeSB3cmFwIG1vZGUgZm9yIHJvd3MgYW5kIGNvbHVtbnMiKTtmb3IodmFyIGU9MDtlPDI7KytlKWlmKGwuaW5kZXhPZih0W2VdKTwwKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBVbmtub3duIHdyYXAgbW9kZSAiK3QpO3RoaXMuX3dyYXBTPXRbMF0sdGhpcy5fd3JhcFQ9dFsxXTt2YXIgcj10aGlzLmdsO3JldHVybiB0aGlzLmJpbmQoKSxyLnRleFBhcmFtZXRlcmkoci5URVhUVVJFXzJELHIuVEVYVFVSRV9XUkFQX1MsdGhpcy5fd3JhcFMpLHIudGV4UGFyYW1ldGVyaShyLlRFWFRVUkVfMkQsci5URVhUVVJFX1dSQVBfVCx0aGlzLl93cmFwVCksdH19LHNoYXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2hhcGVWZWN0b3J9LHNldDpmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IEludmFsaWQgdGV4dHVyZSBzaGFwZSIpfWVsc2UgdD1bMHx0LDB8dF07cmV0dXJuIGgodGhpcywwfHRbMF0sMHx0WzFdKSxbMHx0WzBdLDB8dFsxXV19fSx3aWR0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NoYXBlWzBdfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGgodGhpcyx0fD0wLHRoaXMuX3NoYXBlWzFdKSx0fX0saGVpZ2h0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2hhcGVbMV19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdHw9MCxoKHRoaXMsdGhpcy5fc2hhcGVbMF0sdCksdH19fSkscC5iaW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2w7cmV0dXJuIHZvaWQgMCE9PXQmJmUuYWN0aXZlVGV4dHVyZShlLlRFWFRVUkUwKygwfHQpKSxlLmJpbmRUZXh0dXJlKGUuVEVYVFVSRV8yRCx0aGlzLmhhbmRsZSksdm9pZCAwIT09dD8wfHQ6ZS5nZXRQYXJhbWV0ZXIoZS5BQ1RJVkVfVEVYVFVSRSktZS5URVhUVVJFMH0scC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nbC5kZWxldGVUZXh0dXJlKHRoaXMuaGFuZGxlKX0scC5nZW5lcmF0ZU1pcG1hcD1mdW5jdGlvbigpe3RoaXMuYmluZCgpLHRoaXMuZ2wuZ2VuZXJhdGVNaXBtYXAodGhpcy5nbC5URVhUVVJFXzJEKTtmb3IodmFyIHQ9TWF0aC5taW4odGhpcy5fc2hhcGVbMF0sdGhpcy5fc2hhcGVbMV0pLGU9MDt0PjA7KytlLHQ+Pj49MSl0aGlzLl9taXBMZXZlbHMuaW5kZXhPZihlKTwwJiZ0aGlzLl9taXBMZXZlbHMucHVzaChlKX0scC5zZXRQaXhlbHM9ZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9dGhpcy5nbDt0aGlzLmJpbmQoKSxBcnJheS5pc0FycmF5KGUpPyhvPXIscj0wfGVbMV0sZT0wfGVbMF0pOihlPWV8fDAscj1yfHwwKSxvPW98fDA7dmFyIGw9Yyh0KT90OnQucmF3O2lmKGwpe3RoaXMuX21pcExldmVscy5pbmRleE9mKG8pPDA/KHMudGV4SW1hZ2UyRChzLlRFWFRVUkVfMkQsMCx0aGlzLmZvcm1hdCx0aGlzLmZvcm1hdCx0aGlzLnR5cGUsbCksdGhpcy5fbWlwTGV2ZWxzLnB1c2gobykpOnMudGV4U3ViSW1hZ2UyRChzLlRFWFRVUkVfMkQsbyxlLHIsdGhpcy5mb3JtYXQsdGhpcy50eXBlLGwpfWVsc2V7aWYoISh0LnNoYXBlJiZ0LnN0cmlkZSYmdC5kYXRhKSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogVW5zdXBwb3J0ZWQgZGF0YSB0eXBlIik7aWYodC5zaGFwZS5sZW5ndGg8Mnx8ZSt0LnNoYXBlWzFdPnRoaXMuX3NoYXBlWzFdPj4+b3x8cit0LnNoYXBlWzBdPnRoaXMuX3NoYXBlWzBdPj4+b3x8ZTwwfHxyPDApdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IFRleHR1cmUgZGltZW5zaW9ucyBhcmUgb3V0IG9mIGJvdW5kcyIpOyFmdW5jdGlvbih0LGUscixvLHMsbCxjLGgpe3ZhciBmPWguZHR5cGUscD1oLnNoYXBlLnNsaWNlKCk7aWYocC5sZW5ndGg8Mnx8cC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCBuZGFycmF5LCBtdXN0IGJlIDJkIG9yIDNkIik7dmFyIGc9MCx2PTAsbT1kKHAsaC5zdHJpZGUuc2xpY2UoKSk7ImZsb2F0MzIiPT09Zj9nPXQuRkxPQVQ6ImZsb2F0NjQiPT09Zj8oZz10LkZMT0FULG09ITEsZj0iZmxvYXQzMiIpOiJ1aW50OCI9PT1mP2c9dC5VTlNJR05FRF9CWVRFOihnPXQuVU5TSUdORURfQllURSxtPSExLGY9InVpbnQ4Iik7aWYoMj09PXAubGVuZ3RoKXY9dC5MVU1JTkFOQ0UscD1bcFswXSxwWzFdLDFdLGg9bihoLmRhdGEscCxbaC5zdHJpZGVbMF0saC5zdHJpZGVbMV0sMV0saC5vZmZzZXQpO2Vsc2V7aWYoMyE9PXAubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBJbnZhbGlkIHNoYXBlIGZvciB0ZXh0dXJlIik7aWYoMT09PXBbMl0pdj10LkFMUEhBO2Vsc2UgaWYoMj09PXBbMl0pdj10LkxVTUlOQU5DRV9BTFBIQTtlbHNlIGlmKDM9PT1wWzJdKXY9dC5SR0I7ZWxzZXtpZig0IT09cFsyXSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCBzaGFwZSBmb3IgcGl4ZWwgY29vcmRzIik7dj10LlJHQkF9cFsyXX12IT09dC5MVU1JTkFOQ0UmJnYhPT10LkFMUEhBfHxzIT09dC5MVU1JTkFOQ0UmJnMhPT10LkFMUEhBfHwodj1zKTtpZih2IT09cyl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW5jb21wYXRpYmxlIHRleHR1cmUgZm9ybWF0IGZvciBzZXRQaXhlbHMiKTt2YXIgeT1oLnNpemUseD1jLmluZGV4T2Yobyk8MDt4JiZjLnB1c2gobyk7aWYoZz09PWwmJm0pMD09PWgub2Zmc2V0JiZoLmRhdGEubGVuZ3RoPT09eT94P3QudGV4SW1hZ2UyRCh0LlRFWFRVUkVfMkQsbyxzLHBbMF0scFsxXSwwLHMsbCxoLmRhdGEpOnQudGV4U3ViSW1hZ2UyRCh0LlRFWFRVUkVfMkQsbyxlLHIscFswXSxwWzFdLHMsbCxoLmRhdGEpOng/dC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCxvLHMscFswXSxwWzFdLDAscyxsLGguZGF0YS5zdWJhcnJheShoLm9mZnNldCxoLm9mZnNldCt5KSk6dC50ZXhTdWJJbWFnZTJEKHQuVEVYVFVSRV8yRCxvLGUscixwWzBdLHBbMV0scyxsLGguZGF0YS5zdWJhcnJheShoLm9mZnNldCxoLm9mZnNldCt5KSk7ZWxzZXt2YXIgYjtiPWw9PT10LkZMT0FUP2kubWFsbG9jRmxvYXQzMih5KTppLm1hbGxvY1VpbnQ4KHkpO3ZhciBfPW4oYixwLFtwWzJdLHBbMl0qcFswXSwxXSk7Zz09PXQuRkxPQVQmJmw9PT10LlVOU0lHTkVEX0JZVEU/dShfLGgpOmEuYXNzaWduKF8saCkseD90LnRleEltYWdlMkQodC5URVhUVVJFXzJELG8scyxwWzBdLHBbMV0sMCxzLGwsYi5zdWJhcnJheSgwLHkpKTp0LnRleFN1YkltYWdlMkQodC5URVhUVVJFXzJELG8sZSxyLHBbMF0scFsxXSxzLGwsYi5zdWJhcnJheSgwLHkpKSxsPT09dC5GTE9BVD9pLmZyZWVGbG9hdDMyKGIpOmkuZnJlZVVpbnQ4KGIpfX0ocyxlLHIsbyx0aGlzLmZvcm1hdCx0aGlzLnR5cGUsdGhpcy5fbWlwTGV2ZWxzLHQpfX19LHtuZGFycmF5OjQ1MiwibmRhcnJheS1vcHMiOjQ0NiwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwzMjU6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInBpY2stYnktYWxpYXMiKTtmdW5jdGlvbiBhKHQpe2lmKHQuY29udGFpbmVyKWlmKHQuY29udGFpbmVyPT1kb2N1bWVudC5ib2R5KWRvY3VtZW50LmJvZHkuc3R5bGUud2lkdGh8fCh0LmNhbnZhcy53aWR0aD10LndpZHRofHx0LnBpeGVsUmF0aW8qci5pbm5lcldpZHRoKSxkb2N1bWVudC5ib2R5LnN0eWxlLmhlaWdodHx8KHQuY2FudmFzLmhlaWdodD10LmhlaWdodHx8dC5waXhlbFJhdGlvKnIuaW5uZXJIZWlnaHQpO2Vsc2V7dmFyIGU9dC5jb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dC5jYW52YXMud2lkdGg9dC53aWR0aHx8ZS5yaWdodC1lLmxlZnQsdC5jYW52YXMuaGVpZ2h0PXQuaGVpZ2h0fHxlLmJvdHRvbS1lLnRvcH19ZnVuY3Rpb24gaSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5nZXRDb250ZXh0JiYid2lkdGgiaW4gdCYmImhlaWdodCJpbiB0fWZ1bmN0aW9uIG8oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUudG9wPTAsdC5zdHlsZS5sZWZ0PTAsdH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU7aWYodD8ic3RyaW5nIj09dHlwZW9mIHQmJih0PXtjb250YWluZXI6dH0pOnQ9e30saSh0KT90PXtjb250YWluZXI6dH06dD0ic3RyaW5nIj09dHlwZW9mKGU9dCkubm9kZU5hbWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmFwcGVuZENoaWxkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/e2NvbnRhaW5lcjp0fTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5kcmF3QXJyYXlzfHwiZnVuY3Rpb24iPT10eXBlb2YgdC5kcmF3RWxlbWVudHN9KHQpP3tnbDp0fTpuKHQse2NvbnRhaW5lcjoiY29udGFpbmVyIHRhcmdldCBlbGVtZW50IGVsIGNhbnZhcyBob2xkZXIgcGFyZW50IHBhcmVudE5vZGUgd3JhcHBlciB1c2UgcmVmIHJvb3Qgbm9kZSIsZ2w6ImdsIGNvbnRleHQgd2ViZ2wgZ2xDb250ZXh0IixhdHRyczoiYXR0cmlidXRlcyBhdHRycyBjb250ZXh0QXR0cmlidXRlcyIscGl4ZWxSYXRpbzoicGl4ZWxSYXRpbyBweFJhdGlvIHB4IHJhdGlvIHB4cmF0aW8gcGl4ZWxyYXRpbyIsd2lkdGg6Incgd2lkdGgiLGhlaWdodDoiaCBoZWlnaHQifSwhMCksdC5waXhlbFJhdGlvfHwodC5waXhlbFJhdGlvPXIucGl4ZWxSYXRpb3x8MSksdC5nbClyZXR1cm4gdC5nbDtpZih0LmNhbnZhcyYmKHQuY29udGFpbmVyPXQuY2FudmFzLnBhcmVudE5vZGUpLHQuY29udGFpbmVyKXtpZigic3RyaW5nIj09dHlwZW9mIHQuY29udGFpbmVyKXt2YXIgcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQuY29udGFpbmVyKTtpZighcyl0aHJvdyBFcnJvcigiRWxlbWVudCAiK3QuY29udGFpbmVyKyIgaXMgbm90IGZvdW5kIik7dC5jb250YWluZXI9c31pKHQuY29udGFpbmVyKT8odC5jYW52YXM9dC5jb250YWluZXIsdC5jb250YWluZXI9dC5jYW52YXMucGFyZW50Tm9kZSk6dC5jYW52YXN8fCh0LmNhbnZhcz1vKCksdC5jb250YWluZXIuYXBwZW5kQ2hpbGQodC5jYW52YXMpLGEodCkpfWVsc2UgaWYoIXQuY2FudmFzKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50KXRocm93IEVycm9yKCJOb3QgRE9NIGVudmlyb25tZW50LiBVc2UgaGVhZGxlc3MtZ2wuIik7dC5jb250YWluZXI9ZG9jdW1lbnQuYm9keXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQuY2FudmFzPW8oKSx0LmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0LmNhbnZhcyksYSh0KX1pZighdC5nbCl0cnl7dC5nbD10LmNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbCIsdC5hdHRycyl9Y2F0Y2goZSl7dHJ5e3QuZ2w9dC5jYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIix0LmF0dHJzKX1jYXRjaChlKXt0LmdsPXQuY2FudmFzLmdldENvbnRleHQoIndlYmdsLWV4cGVyaW1lbnRhbCIsdC5hdHRycyl9fXJldHVybiB0LmdsfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyJwaWNrLWJ5LWFsaWFzIjo0Njd9XSwzMjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtlP2UuYmluZCgpOnQuYmluZEJ1ZmZlcih0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLG51bGwpO3ZhciBuPTB8dC5nZXRQYXJhbWV0ZXIodC5NQVhfVkVSVEVYX0FUVFJJQlMpO2lmKHIpe2lmKHIubGVuZ3RoPm4pdGhyb3cgbmV3IEVycm9yKCJnbC12YW86IFRvbyBtYW55IHZlcnRleCBhdHRyaWJ1dGVzIik7Zm9yKHZhciBhPTA7YTxyLmxlbmd0aDsrK2Epe3ZhciBpPXJbYV07aWYoaS5idWZmZXIpe3ZhciBvPWkuYnVmZmVyLHM9aS5zaXplfHw0LGw9aS50eXBlfHx0LkZMT0FULGM9ISFpLm5vcm1hbGl6ZWQsdT1pLnN0cmlkZXx8MCxoPWkub2Zmc2V0fHwwO28uYmluZCgpLHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoYSksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGEscyxsLGMsdSxoKX1lbHNle2lmKCJudW1iZXIiPT10eXBlb2YgaSl0LnZlcnRleEF0dHJpYjFmKGEsaSk7ZWxzZSBpZigxPT09aS5sZW5ndGgpdC52ZXJ0ZXhBdHRyaWIxZihhLGlbMF0pO2Vsc2UgaWYoMj09PWkubGVuZ3RoKXQudmVydGV4QXR0cmliMmYoYSxpWzBdLGlbMV0pO2Vsc2UgaWYoMz09PWkubGVuZ3RoKXQudmVydGV4QXR0cmliM2YoYSxpWzBdLGlbMV0saVsyXSk7ZWxzZXtpZig0IT09aS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJnbC12YW86IEludmFsaWQgdmVydGV4IGF0dHJpYnV0ZSIpO3QudmVydGV4QXR0cmliNGYoYSxpWzBdLGlbMV0saVsyXSxpWzNdKX10LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShhKX19Zm9yKDthPG47KythKXQuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGEpfWVsc2UgZm9yKHQuYmluZEJ1ZmZlcih0LkFSUkFZX0JVRkZFUixudWxsKSxhPTA7YTxuOysrYSl0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShhKX19LHt9XSwzMjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9kby1iaW5kLmpzIik7ZnVuY3Rpb24gYSh0KXt0aGlzLmdsPXQsdGhpcy5fZWxlbWVudHM9bnVsbCx0aGlzLl9hdHRyaWJ1dGVzPW51bGwsdGhpcy5fZWxlbWVudHNUeXBlPXQuVU5TSUdORURfU0hPUlR9YS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe24odGhpcy5nbCx0aGlzLl9lbGVtZW50cyx0aGlzLl9hdHRyaWJ1dGVzKX0sYS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLl9lbGVtZW50cz1lLHRoaXMuX2F0dHJpYnV0ZXM9dCx0aGlzLl9lbGVtZW50c1R5cGU9cnx8dGhpcy5nbC5VTlNJR05FRF9TSE9SVH0sYS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe30sYS5wcm90b3R5cGUudW5iaW5kPWZ1bmN0aW9uKCl7fSxhLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSxyKXtyPXJ8fDA7dmFyIG49dGhpcy5nbDt0aGlzLl9lbGVtZW50cz9uLmRyYXdFbGVtZW50cyh0LGUsdGhpcy5fZWxlbWVudHNUeXBlLHIpOm4uZHJhd0FycmF5cyh0LHIsZSl9LGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGEodCl9fSx7Ii4vZG8tYmluZC5qcyI6MzI2fV0sMzI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vZG8tYmluZC5qcyIpO2Z1bmN0aW9uIGEodCxlLHIsbixhLGkpe3RoaXMubG9jYXRpb249dCx0aGlzLmRpbWVuc2lvbj1lLHRoaXMuYT1yLHRoaXMuYj1uLHRoaXMuYz1hLHRoaXMuZD1pfWZ1bmN0aW9uIGkodCxlLHIpe3RoaXMuZ2w9dCx0aGlzLl9leHQ9ZSx0aGlzLmhhbmRsZT1yLHRoaXMuX2F0dHJpYnM9W10sdGhpcy5fdXNlRWxlbWVudHM9ITEsdGhpcy5fZWxlbWVudHNUeXBlPXQuVU5TSUdORURfU0hPUlR9YS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbih0KXtzd2l0Y2godGhpcy5kaW1lbnNpb24pe2Nhc2UgMTp0LnZlcnRleEF0dHJpYjFmKHRoaXMubG9jYXRpb24sdGhpcy5hKTticmVhaztjYXNlIDI6dC52ZXJ0ZXhBdHRyaWIyZih0aGlzLmxvY2F0aW9uLHRoaXMuYSx0aGlzLmIpO2JyZWFrO2Nhc2UgMzp0LnZlcnRleEF0dHJpYjNmKHRoaXMubG9jYXRpb24sdGhpcy5hLHRoaXMuYix0aGlzLmMpO2JyZWFrO2Nhc2UgNDp0LnZlcnRleEF0dHJpYjRmKHRoaXMubG9jYXRpb24sdGhpcy5hLHRoaXMuYix0aGlzLmMsdGhpcy5kKX19LGkucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLl9leHQuYmluZFZlcnRleEFycmF5T0VTKHRoaXMuaGFuZGxlKTtmb3IodmFyIHQ9MDt0PHRoaXMuX2F0dHJpYnMubGVuZ3RoOysrdCl0aGlzLl9hdHRyaWJzW3RdLmJpbmQodGhpcy5nbCl9LGkucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbigpe3RoaXMuX2V4dC5iaW5kVmVydGV4QXJyYXlPRVMobnVsbCl9LGkucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLl9leHQuZGVsZXRlVmVydGV4QXJyYXlPRVModGhpcy5oYW5kbGUpfSxpLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuYmluZCgpLG4odGhpcy5nbCxlLHQpLHRoaXMudW5iaW5kKCksdGhpcy5fYXR0cmlicy5sZW5ndGg9MCx0KWZvcih2YXIgaT0wO2k8dC5sZW5ndGg7KytpKXt2YXIgbz10W2ldOyJudW1iZXIiPT10eXBlb2Ygbz90aGlzLl9hdHRyaWJzLnB1c2gobmV3IGEoaSwxLG8pKTpBcnJheS5pc0FycmF5KG8pJiZ0aGlzLl9hdHRyaWJzLnB1c2gobmV3IGEoaSxvLmxlbmd0aCxvWzBdLG9bMV0sb1syXSxvWzNdKSl9dGhpcy5fdXNlRWxlbWVudHM9ISFlLHRoaXMuX2VsZW1lbnRzVHlwZT1yfHx0aGlzLmdsLlVOU0lHTkVEX1NIT1JUfSxpLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSxyKXtyPXJ8fDA7dmFyIG49dGhpcy5nbDt0aGlzLl91c2VFbGVtZW50cz9uLmRyYXdFbGVtZW50cyh0LGUsdGhpcy5fZWxlbWVudHNUeXBlLHIpOm4uZHJhd0FycmF5cyh0LHIsZSl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgaSh0LGUsZS5jcmVhdGVWZXJ0ZXhBcnJheU9FUygpKX19LHsiLi9kby1iaW5kLmpzIjozMjZ9XSwzMjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvdmFvLW5hdGl2ZS5qcyIpLGE9dCgiLi9saWIvdmFvLWVtdWxhdGVkLmpzIik7ZnVuY3Rpb24gaSh0KXt0aGlzLmJpbmRWZXJ0ZXhBcnJheU9FUz10LmJpbmRWZXJ0ZXhBcnJheS5iaW5kKHQpLHRoaXMuY3JlYXRlVmVydGV4QXJyYXlPRVM9dC5jcmVhdGVWZXJ0ZXhBcnJheS5iaW5kKHQpLHRoaXMuZGVsZXRlVmVydGV4QXJyYXlPRVM9dC5kZWxldGVWZXJ0ZXhBcnJheS5iaW5kKHQpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXt2YXIgcyxsPXQuY3JlYXRlVmVydGV4QXJyYXk/bmV3IGkodCk6dC5nZXRFeHRlbnNpb24oIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0Iik7cmV0dXJuKHM9bD9uKHQsbCk6YSh0KSkudXBkYXRlKGUscixvKSxzfX0seyIuL2xpYi92YW8tZW11bGF0ZWQuanMiOjMyNywiLi9saWIvdmFvLW5hdGl2ZS5qcyI6MzI4fV0sMzMwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdFswXT1lWzBdK3JbMF0sdFsxXT1lWzFdK3JbMV0sdFsyXT1lWzJdK3JbMl0sdH19LHt9XSwzMzE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHRbMF0sdFsxXSx0WzJdKSxvPW4oZVswXSxlWzFdLGVbMl0pO2EocixyKSxhKG8sbyk7dmFyIHM9aShyLG8pO3JldHVybiBzPjE/MDpNYXRoLmFjb3Mocyl9O3ZhciBuPXQoIi4vZnJvbVZhbHVlcyIpLGE9dCgiLi9ub3JtYWxpemUiKSxpPXQoIi4vZG90Iil9LHsiLi9kb3QiOjM0MSwiLi9mcm9tVmFsdWVzIjozNDcsIi4vbm9ybWFsaXplIjozNTh9XSwzMzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1NYXRoLmNlaWwoZVswXSksdFsxXT1NYXRoLmNlaWwoZVsxXSksdFsyXT1NYXRoLmNlaWwoZVsyXSksdH19LHt9XSwzMzM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEZsb2F0MzJBcnJheSgzKTtyZXR1cm4gZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZX19LHt9XSwzMzQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1lWzBdLHRbMV09ZVsxXSx0WzJdPWVbMl0sdH19LHt9XSwzMzU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgRmxvYXQzMkFycmF5KDMpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0fX0se31dLDMzNjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89clswXSxzPXJbMV0sbD1yWzJdO3JldHVybiB0WzBdPWEqbC1pKnMsdFsxXT1pKm8tbipsLHRbMl09bipzLWEqbyx0fX0se31dLDMzNzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL2Rpc3RhbmNlIil9LHsiLi9kaXN0YW5jZSI6MzM4fV0sMzM4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXS10WzBdLG49ZVsxXS10WzFdLGE9ZVsyXS10WzJdO3JldHVybiBNYXRoLnNxcnQocipyK24qbithKmEpfX0se31dLDMzOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL2RpdmlkZSIpfSx7Ii4vZGl2aWRlIjozNDB9XSwzNDA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0vclswXSx0WzFdPWVbMV0vclsxXSx0WzJdPWVbMl0vclsyXSx0fX0se31dLDM0MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdKmVbMF0rdFsxXSplWzFdK3RbMl0qZVsyXX19LHt9XSwzNDI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9MWUtNn0se31dLDM0MzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXRbMF0sYT10WzFdLGk9dFsyXSxvPWVbMF0scz1lWzFdLGw9ZVsyXTtyZXR1cm4gTWF0aC5hYnMoci1vKTw9bipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKG8pKSYmTWF0aC5hYnMoYS1zKTw9bipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKHMpKSYmTWF0aC5hYnMoaS1sKTw9bipNYXRoLm1heCgxLE1hdGguYWJzKGkpLE1hdGguYWJzKGwpKX07dmFyIG49dCgiLi9lcHNpbG9uIil9LHsiLi9lcHNpbG9uIjozNDJ9XSwzNDQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT09PWVbMF0mJnRbMV09PT1lWzFdJiZ0WzJdPT09ZVsyXX19LHt9XSwzNDU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1NYXRoLmZsb29yKGVbMF0pLHRbMV09TWF0aC5mbG9vcihlWzFdKSx0WzJdPU1hdGguZmxvb3IoZVsyXSksdH19LHt9XSwzNDY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSxpLG8pe3ZhciBzLGw7ZXx8KGU9Myk7cnx8KHI9MCk7bD1hP01hdGgubWluKGEqZStyLHQubGVuZ3RoKTp0Lmxlbmd0aDtmb3Iocz1yO3M8bDtzKz1lKW5bMF09dFtzXSxuWzFdPXRbcysxXSxuWzJdPXRbcysyXSxpKG4sbixvKSx0W3NdPW5bMF0sdFtzKzFdPW5bMV0sdFtzKzJdPW5bMl07cmV0dXJuIHR9O3ZhciBuPXQoIi4vY3JlYXRlIikoKX0seyIuL2NyZWF0ZSI6MzM1fV0sMzQ3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1uZXcgRmxvYXQzMkFycmF5KDMpO3JldHVybiBuWzBdPXQsblsxXT1lLG5bMl09cixufX0se31dLDM0ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17RVBTSUxPTjp0KCIuL2Vwc2lsb24iKSxjcmVhdGU6dCgiLi9jcmVhdGUiKSxjbG9uZTp0KCIuL2Nsb25lIiksYW5nbGU6dCgiLi9hbmdsZSIpLGZyb21WYWx1ZXM6dCgiLi9mcm9tVmFsdWVzIiksY29weTp0KCIuL2NvcHkiKSxzZXQ6dCgiLi9zZXQiKSxlcXVhbHM6dCgiLi9lcXVhbHMiKSxleGFjdEVxdWFsczp0KCIuL2V4YWN0RXF1YWxzIiksYWRkOnQoIi4vYWRkIiksc3VidHJhY3Q6dCgiLi9zdWJ0cmFjdCIpLHN1Yjp0KCIuL3N1YiIpLG11bHRpcGx5OnQoIi4vbXVsdGlwbHkiKSxtdWw6dCgiLi9tdWwiKSxkaXZpZGU6dCgiLi9kaXZpZGUiKSxkaXY6dCgiLi9kaXYiKSxtaW46dCgiLi9taW4iKSxtYXg6dCgiLi9tYXgiKSxmbG9vcjp0KCIuL2Zsb29yIiksY2VpbDp0KCIuL2NlaWwiKSxyb3VuZDp0KCIuL3JvdW5kIiksc2NhbGU6dCgiLi9zY2FsZSIpLHNjYWxlQW5kQWRkOnQoIi4vc2NhbGVBbmRBZGQiKSxkaXN0YW5jZTp0KCIuL2Rpc3RhbmNlIiksZGlzdDp0KCIuL2Rpc3QiKSxzcXVhcmVkRGlzdGFuY2U6dCgiLi9zcXVhcmVkRGlzdGFuY2UiKSxzcXJEaXN0OnQoIi4vc3FyRGlzdCIpLGxlbmd0aDp0KCIuL2xlbmd0aCIpLGxlbjp0KCIuL2xlbiIpLHNxdWFyZWRMZW5ndGg6dCgiLi9zcXVhcmVkTGVuZ3RoIiksc3FyTGVuOnQoIi4vc3FyTGVuIiksbmVnYXRlOnQoIi4vbmVnYXRlIiksaW52ZXJzZTp0KCIuL2ludmVyc2UiKSxub3JtYWxpemU6dCgiLi9ub3JtYWxpemUiKSxkb3Q6dCgiLi9kb3QiKSxjcm9zczp0KCIuL2Nyb3NzIiksbGVycDp0KCIuL2xlcnAiKSxyYW5kb206dCgiLi9yYW5kb20iKSx0cmFuc2Zvcm1NYXQ0OnQoIi4vdHJhbnNmb3JtTWF0NCIpLHRyYW5zZm9ybU1hdDM6dCgiLi90cmFuc2Zvcm1NYXQzIiksdHJhbnNmb3JtUXVhdDp0KCIuL3RyYW5zZm9ybVF1YXQiKSxyb3RhdGVYOnQoIi4vcm90YXRlWCIpLHJvdGF0ZVk6dCgiLi9yb3RhdGVZIikscm90YXRlWjp0KCIuL3JvdGF0ZVoiKSxmb3JFYWNoOnQoIi4vZm9yRWFjaCIpfX0seyIuL2FkZCI6MzMwLCIuL2FuZ2xlIjozMzEsIi4vY2VpbCI6MzMyLCIuL2Nsb25lIjozMzMsIi4vY29weSI6MzM0LCIuL2NyZWF0ZSI6MzM1LCIuL2Nyb3NzIjozMzYsIi4vZGlzdCI6MzM3LCIuL2Rpc3RhbmNlIjozMzgsIi4vZGl2IjozMzksIi4vZGl2aWRlIjozNDAsIi4vZG90IjozNDEsIi4vZXBzaWxvbiI6MzQyLCIuL2VxdWFscyI6MzQzLCIuL2V4YWN0RXF1YWxzIjozNDQsIi4vZmxvb3IiOjM0NSwiLi9mb3JFYWNoIjozNDYsIi4vZnJvbVZhbHVlcyI6MzQ3LCIuL2ludmVyc2UiOjM0OSwiLi9sZW4iOjM1MCwiLi9sZW5ndGgiOjM1MSwiLi9sZXJwIjozNTIsIi4vbWF4IjozNTMsIi4vbWluIjozNTQsIi4vbXVsIjozNTUsIi4vbXVsdGlwbHkiOjM1NiwiLi9uZWdhdGUiOjM1NywiLi9ub3JtYWxpemUiOjM1OCwiLi9yYW5kb20iOjM1OSwiLi9yb3RhdGVYIjozNjAsIi4vcm90YXRlWSI6MzYxLCIuL3JvdGF0ZVoiOjM2MiwiLi9yb3VuZCI6MzYzLCIuL3NjYWxlIjozNjQsIi4vc2NhbGVBbmRBZGQiOjM2NSwiLi9zZXQiOjM2NiwiLi9zcXJEaXN0IjozNjcsIi4vc3FyTGVuIjozNjgsIi4vc3F1YXJlZERpc3RhbmNlIjozNjksIi4vc3F1YXJlZExlbmd0aCI6MzcwLCIuL3N1YiI6MzcxLCIuL3N1YnRyYWN0IjozNzIsIi4vdHJhbnNmb3JtTWF0MyI6MzczLCIuL3RyYW5zZm9ybU1hdDQiOjM3NCwiLi90cmFuc2Zvcm1RdWF0IjozNzV9XSwzNDk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT0xL2VbMF0sdFsxXT0xL2VbMV0sdFsyXT0xL2VbMl0sdH19LHt9XSwzNTA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgiLi9sZW5ndGgiKX0seyIuL2xlbmd0aCI6MzUxfV0sMzUxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj10WzFdLG49dFsyXTtyZXR1cm4gTWF0aC5zcXJ0KGUqZStyKnIrbipuKX19LHt9XSwzNTI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZVswXSxpPWVbMV0sbz1lWzJdO3JldHVybiB0WzBdPWErbiooclswXS1hKSx0WzFdPWkrbiooclsxXS1pKSx0WzJdPW8rbiooclsyXS1vKSx0fX0se31dLDM1MzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09TWF0aC5tYXgoZVswXSxyWzBdKSx0WzFdPU1hdGgubWF4KGVbMV0sclsxXSksdFsyXT1NYXRoLm1heChlWzJdLHJbMl0pLHR9fSx7fV0sMzU0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdFswXT1NYXRoLm1pbihlWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oZVsxXSxyWzFdKSx0WzJdPU1hdGgubWluKGVbMl0sclsyXSksdH19LHt9XSwzNTU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgiLi9tdWx0aXBseSIpfSx7Ii4vbXVsdGlwbHkiOjM1Nn1dLDM1NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXSpyWzBdLHRbMV09ZVsxXSpyWzFdLHRbMl09ZVsyXSpyWzJdLHR9fSx7fV0sMzU3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF09LWVbMF0sdFsxXT0tZVsxXSx0WzJdPS1lWzJdLHR9fSx7fV0sMzU4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9cipyK24qbithKmE7aT4wJiYoaT0xL01hdGguc3FydChpKSx0WzBdPWVbMF0qaSx0WzFdPWVbMV0qaSx0WzJdPWVbMl0qaSk7cmV0dXJuIHR9fSx7fV0sMzU5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZT1lfHwxO3ZhciByPTIqTWF0aC5yYW5kb20oKSpNYXRoLlBJLG49MipNYXRoLnJhbmRvbSgpLTEsYT1NYXRoLnNxcnQoMS1uKm4pKmU7cmV0dXJuIHRbMF09TWF0aC5jb3MocikqYSx0WzFdPU1hdGguc2luKHIpKmEsdFsyXT1uKmUsdH19LHt9XSwzNjA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9clsxXSxpPXJbMl0sbz1lWzFdLWEscz1lWzJdLWksbD1NYXRoLnNpbihuKSxjPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWVbMF0sdFsxXT1hK28qYy1zKmwsdFsyXT1pK28qbCtzKmMsdH19LHt9XSwzNjE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9clswXSxpPXJbMl0sbz1lWzBdLWEscz1lWzJdLWksbD1NYXRoLnNpbihuKSxjPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWErcypsK28qYyx0WzFdPWVbMV0sdFsyXT1pK3MqYy1vKmwsdH19LHt9XSwzNjI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9clswXSxpPXJbMV0sbz1lWzBdLWEscz1lWzFdLWksbD1NYXRoLnNpbihuKSxjPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWErbypjLXMqbCx0WzFdPWkrbypsK3MqYyx0WzJdPWVbMl0sdH19LHt9XSwzNjM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1NYXRoLnJvdW5kKGVbMF0pLHRbMV09TWF0aC5yb3VuZChlWzFdKSx0WzJdPU1hdGgucm91bmQoZVsyXSksdH19LHt9XSwzNjQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0qcix0WzFdPWVbMV0qcix0WzJdPWVbMl0qcix0fX0se31dLDM2NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdFswXT1lWzBdK3JbMF0qbix0WzFdPWVbMV0rclsxXSpuLHRbMl09ZVsyXStyWzJdKm4sdH19LHt9XSwzNjY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRbMF09ZSx0WzFdPXIsdFsyXT1uLHR9fSx7fV0sMzY3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoIi4vc3F1YXJlZERpc3RhbmNlIil9LHsiLi9zcXVhcmVkRGlzdGFuY2UiOjM2OX1dLDM2ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL3NxdWFyZWRMZW5ndGgiKX0seyIuL3NxdWFyZWRMZW5ndGgiOjM3MH1dLDM2OTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0tdFswXSxuPWVbMV0tdFsxXSxhPWVbMl0tdFsyXTtyZXR1cm4gcipyK24qbithKmF9fSx7fV0sMzcwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj10WzFdLG49dFsyXTtyZXR1cm4gZSplK3IqcituKm59fSx7fV0sMzcxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoIi4vc3VidHJhY3QiKX0seyIuL3N1YnRyYWN0IjozNzJ9XSwzNzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0tclswXSx0WzFdPWVbMV0tclsxXSx0WzJdPWVbMl0tclsyXSx0fX0se31dLDM3MzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdO3JldHVybiB0WzBdPW4qclswXSthKnJbM10raSpyWzZdLHRbMV09bipyWzFdK2Eqcls0XStpKnJbN10sdFsyXT1uKnJbMl0rYSpyWzVdK2kqcls4XSx0fX0se31dLDM3NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89clszXSpuK3JbN10qYStyWzExXSppK3JbMTVdO3JldHVybiBvPW98fDEsdFswXT0oclswXSpuK3JbNF0qYStyWzhdKmkrclsxMl0pL28sdFsxXT0oclsxXSpuK3JbNV0qYStyWzldKmkrclsxM10pL28sdFsyXT0oclsyXSpuK3JbNl0qYStyWzEwXSppK3JbMTRdKS9vLHR9fSx7fV0sMzc1OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lWzBdLGE9ZVsxXSxpPWVbMl0sbz1yWzBdLHM9clsxXSxsPXJbMl0sYz1yWzNdLHU9YypuK3MqaS1sKmEsaD1jKmErbCpuLW8qaSxmPWMqaStvKmEtcypuLHA9LW8qbi1zKmEtbCppO3JldHVybiB0WzBdPXUqYytwKi1vK2gqLWwtZiotcyx0WzFdPWgqYytwKi1zK2YqLW8tdSotbCx0WzJdPWYqYytwKi1sK3UqLXMtaCotbyx0fX0se31dLDM3NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXStyWzBdLHRbMV09ZVsxXStyWzFdLHRbMl09ZVsyXStyWzJdLHRbM109ZVszXStyWzNdLHR9fSx7fV0sMzc3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBGbG9hdDMyQXJyYXkoNCk7cmV0dXJuIGVbMF09dFswXSxlWzFdPXRbMV0sZVsyXT10WzJdLGVbM109dFszXSxlfX0se31dLDM3ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0WzNdPWVbM10sdH19LHt9XSwzNzk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgRmxvYXQzMkFycmF5KDQpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0WzNdPTAsdH19LHt9XSwzODA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLXRbMF0sbj1lWzFdLXRbMV0sYT1lWzJdLXRbMl0saT1lWzNdLXRbM107cmV0dXJuIE1hdGguc3FydChyKnIrbipuK2EqYStpKmkpfX0se31dLDM4MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXS9yWzBdLHRbMV09ZVsxXS9yWzFdLHRbMl09ZVsyXS9yWzJdLHRbM109ZVszXS9yWzNdLHR9fSx7fV0sMzgyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF0qZVswXSt0WzFdKmVbMV0rdFsyXSplWzJdK3RbM10qZVszXX19LHt9XSwzODM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9bmV3IEZsb2F0MzJBcnJheSg0KTtyZXR1cm4gYVswXT10LGFbMV09ZSxhWzJdPXIsYVszXT1uLGF9fSx7fV0sMzg0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXtjcmVhdGU6dCgiLi9jcmVhdGUiKSxjbG9uZTp0KCIuL2Nsb25lIiksZnJvbVZhbHVlczp0KCIuL2Zyb21WYWx1ZXMiKSxjb3B5OnQoIi4vY29weSIpLHNldDp0KCIuL3NldCIpLGFkZDp0KCIuL2FkZCIpLHN1YnRyYWN0OnQoIi4vc3VidHJhY3QiKSxtdWx0aXBseTp0KCIuL211bHRpcGx5IiksZGl2aWRlOnQoIi4vZGl2aWRlIiksbWluOnQoIi4vbWluIiksbWF4OnQoIi4vbWF4Iiksc2NhbGU6dCgiLi9zY2FsZSIpLHNjYWxlQW5kQWRkOnQoIi4vc2NhbGVBbmRBZGQiKSxkaXN0YW5jZTp0KCIuL2Rpc3RhbmNlIiksc3F1YXJlZERpc3RhbmNlOnQoIi4vc3F1YXJlZERpc3RhbmNlIiksbGVuZ3RoOnQoIi4vbGVuZ3RoIiksc3F1YXJlZExlbmd0aDp0KCIuL3NxdWFyZWRMZW5ndGgiKSxuZWdhdGU6dCgiLi9uZWdhdGUiKSxpbnZlcnNlOnQoIi4vaW52ZXJzZSIpLG5vcm1hbGl6ZTp0KCIuL25vcm1hbGl6ZSIpLGRvdDp0KCIuL2RvdCIpLGxlcnA6dCgiLi9sZXJwIikscmFuZG9tOnQoIi4vcmFuZG9tIiksdHJhbnNmb3JtTWF0NDp0KCIuL3RyYW5zZm9ybU1hdDQiKSx0cmFuc2Zvcm1RdWF0OnQoIi4vdHJhbnNmb3JtUXVhdCIpfX0seyIuL2FkZCI6Mzc2LCIuL2Nsb25lIjozNzcsIi4vY29weSI6Mzc4LCIuL2NyZWF0ZSI6Mzc5LCIuL2Rpc3RhbmNlIjozODAsIi4vZGl2aWRlIjozODEsIi4vZG90IjozODIsIi4vZnJvbVZhbHVlcyI6MzgzLCIuL2ludmVyc2UiOjM4NSwiLi9sZW5ndGgiOjM4NiwiLi9sZXJwIjozODcsIi4vbWF4IjozODgsIi4vbWluIjozODksIi4vbXVsdGlwbHkiOjM5MCwiLi9uZWdhdGUiOjM5MSwiLi9ub3JtYWxpemUiOjM5MiwiLi9yYW5kb20iOjM5MywiLi9zY2FsZSI6Mzk0LCIuL3NjYWxlQW5kQWRkIjozOTUsIi4vc2V0IjozOTYsIi4vc3F1YXJlZERpc3RhbmNlIjozOTcsIi4vc3F1YXJlZExlbmd0aCI6Mzk4LCIuL3N1YnRyYWN0IjozOTksIi4vdHJhbnNmb3JtTWF0NCI6NDAwLCIuL3RyYW5zZm9ybVF1YXQiOjQwMX1dLDM4NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPTEvZVswXSx0WzFdPTEvZVsxXSx0WzJdPTEvZVsyXSx0WzNdPTEvZVszXSx0fX0se31dLDM4NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLHI9dFsxXSxuPXRbMl0sYT10WzNdO3JldHVybiBNYXRoLnNxcnQoZSplK3IqcituKm4rYSphKX19LHt9XSwzODc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZVswXSxpPWVbMV0sbz1lWzJdLHM9ZVszXTtyZXR1cm4gdFswXT1hK24qKHJbMF0tYSksdFsxXT1pK24qKHJbMV0taSksdFsyXT1vK24qKHJbMl0tbyksdFszXT1zK24qKHJbM10tcyksdH19LHt9XSwzODg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KGVbMF0sclswXSksdFsxXT1NYXRoLm1heChlWzFdLHJbMV0pLHRbMl09TWF0aC5tYXgoZVsyXSxyWzJdKSx0WzNdPU1hdGgubWF4KGVbM10sclszXSksdH19LHt9XSwzODk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPU1hdGgubWluKGVbMF0sclswXSksdFsxXT1NYXRoLm1pbihlWzFdLHJbMV0pLHRbMl09TWF0aC5taW4oZVsyXSxyWzJdKSx0WzNdPU1hdGgubWluKGVbM10sclszXSksdH19LHt9XSwzOTA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0qclswXSx0WzFdPWVbMV0qclsxXSx0WzJdPWVbMl0qclsyXSx0WzNdPWVbM10qclszXSx0fX0se31dLDM5MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPS1lWzBdLHRbMV09LWVbMV0sdFsyXT0tZVsyXSx0WzNdPS1lWzNdLHR9fSx7fV0sMzkyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9ZVszXSxvPXIqcituKm4rYSphK2kqaTtvPjAmJihvPTEvTWF0aC5zcXJ0KG8pLHRbMF09cipvLHRbMV09bipvLHRbMl09YSpvLHRbM109aSpvKTtyZXR1cm4gdH19LHt9XSwzOTM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL25vcm1hbGl6ZSIpLGE9dCgiLi9zY2FsZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBlPWV8fDEsdFswXT1NYXRoLnJhbmRvbSgpLHRbMV09TWF0aC5yYW5kb20oKSx0WzJdPU1hdGgucmFuZG9tKCksdFszXT1NYXRoLnJhbmRvbSgpLG4odCx0KSxhKHQsdCxlKSx0fX0seyIuL25vcm1hbGl6ZSI6MzkyLCIuL3NjYWxlIjozOTR9XSwzOTQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0qcix0WzFdPWVbMV0qcix0WzJdPWVbMl0qcix0WzNdPWVbM10qcix0fX0se31dLDM5NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdFswXT1lWzBdK3JbMF0qbix0WzFdPWVbMV0rclsxXSpuLHRbMl09ZVsyXStyWzJdKm4sdFszXT1lWzNdK3JbM10qbix0fX0se31dLDM5NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuLGEpe3JldHVybiB0WzBdPWUsdFsxXT1yLHRbMl09bix0WzNdPWEsdH19LHt9XSwzOTc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLXRbMF0sbj1lWzFdLXRbMV0sYT1lWzJdLXRbMl0saT1lWzNdLXRbM107cmV0dXJuIHIqcituKm4rYSphK2kqaX19LHt9XSwzOTg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dFswXSxyPXRbMV0sbj10WzJdLGE9dFszXTtyZXR1cm4gZSplK3IqcituKm4rYSphfX0se31dLDM5OTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXS1yWzBdLHRbMV09ZVsxXS1yWzFdLHRbMl09ZVsyXS1yWzJdLHRbM109ZVszXS1yWzNdLHR9fSx7fV0sNDAwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lWzBdLGE9ZVsxXSxpPWVbMl0sbz1lWzNdO3JldHVybiB0WzBdPXJbMF0qbityWzRdKmErcls4XSppK3JbMTJdKm8sdFsxXT1yWzFdKm4rcls1XSphK3JbOV0qaStyWzEzXSpvLHRbMl09clsyXSpuK3JbNl0qYStyWzEwXSppK3JbMTRdKm8sdFszXT1yWzNdKm4rcls3XSphK3JbMTFdKmkrclsxNV0qbyx0fX0se31dLDQwMTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89clswXSxzPXJbMV0sbD1yWzJdLGM9clszXSx1PWMqbitzKmktbCphLGg9YyphK2wqbi1vKmksZj1jKmkrbyphLXMqbixwPS1vKm4tcyphLWwqaTtyZXR1cm4gdFswXT11KmMrcCotbytoKi1sLWYqLXMsdFsxXT1oKmMrcCotcytmKi1vLXUqLWwsdFsyXT1mKmMrcCotbCt1Ki1zLWgqLW8sdFszXT1lWzNdLHR9fSx7fV0sNDAyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3JldHVybiBuWzBdPWksblsxXT1yLG5bMl09ZSxuWzNdPXQsYVswXX07dmFyIG49bmV3IFVpbnQ4QXJyYXkoNCksYT1uZXcgRmxvYXQzMkFycmF5KG4uYnVmZmVyKX0se31dLDQwMzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsc2wtdG9rZW5pemVyIiksYT10KCJhdG9iLWxpdGUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPUFycmF5LmlzQXJyYXkodCk/dDpuKHQpLHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIGk9ZVtyXTtpZigicHJlcHJvY2Vzc29yIj09PWkudHlwZSl7dmFyIG89aS5kYXRhLm1hdGNoKC9cI2RlZmluZVxzK1NIQURFUl9OQU1FKF9CNjQpP1xzKyguKykkLyk7aWYobyYmb1syXSl7dmFyIHM9b1sxXSxsPW9bMl07cmV0dXJuKHM/YShsKTpsKS50cmltKCl9fX19fSx7ImF0b2ItbGl0ZSI6NzQsImdsc2wtdG9rZW5pemVyIjo0MTB9XSw0MDQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUscixrLFQ9MCxNPTAsQT1sLFM9W10sRT1bXSxMPTEsQz0wLFA9MCxPPSExLHo9ITEsST0iIixEPWksUj1uOyIzMDAgZXMiPT09KHQ9dHx8e30pLnZlcnNpb24mJihEPXMsUj1vKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIEU9W10sbnVsbCE9PXQ/ZnVuY3Rpb24odCl7dmFyIHI7VD0wLGs9KEkrPXQpLmxlbmd0aDtmb3IoO2U9SVtUXSxUPGs7KXtzd2l0Y2gocj1ULEEpe2Nhc2UgdTpUPVYoKTticmVhaztjYXNlIGg6Y2FzZSBmOlQ9aigpO2JyZWFrO2Nhc2UgcDpUPVUoKTticmVhaztjYXNlIGQ6VD1HKCk7YnJlYWs7Y2FzZSBfOlQ9SCgpO2JyZWFrO2Nhc2UgZzpUPVkoKTticmVhaztjYXNlIGM6VD1XKCk7YnJlYWs7Y2FzZSB4OlQ9TigpO2JyZWFrO2Nhc2UgbDpUPUIoKX1pZihyIT09VClzd2l0Y2goSVtyXSl7Y2FzZSJcbiI6Qz0wLCsrTDticmVhaztkZWZhdWx0OisrQ319cmV0dXJuIE0rPVQsST1JLnNsaWNlKFQpLEV9KHQucmVwbGFjZT90LnJlcGxhY2UoL1xyXG4vZywiXG4iKTp0KTpmdW5jdGlvbih0KXtTLmxlbmd0aCYmRihTLmpvaW4oIiIpKTtyZXR1cm4gQT1iLEYoIihlb2YpIiksRX0oKX07ZnVuY3Rpb24gRih0KXt0Lmxlbmd0aCYmRS5wdXNoKHt0eXBlOndbQV0sZGF0YTp0LHBvc2l0aW9uOlAsbGluZTpMLGNvbHVtbjpDfSl9ZnVuY3Rpb24gQigpe3JldHVybiBTPVMubGVuZ3RoP1tdOlMsIi8iPT09ciYmIioiPT09ZT8oUD1NK1QtMSxBPXUscj1lLFQrMSk6Ii8iPT09ciYmIi8iPT09ZT8oUD1NK1QtMSxBPWgscj1lLFQrMSk6IiMiPT09ZT8oQT1mLFA9TStULFQpOi9ccy8udGVzdChlKT8oQT14LFA9TStULFQpOihPPS9cZC8udGVzdChlKSx6PS9bXlx3X10vLnRlc3QoZSksUD1NK1QsQT1PP2Q6ej9wOmMsVCl9ZnVuY3Rpb24gTigpe3JldHVybi9bXlxzXS9nLnRlc3QoZSk/KEYoUy5qb2luKCIiKSksQT1sLFQpOihTLnB1c2goZSkscj1lLFQrMSl9ZnVuY3Rpb24gaigpe3JldHVybiJcciIhPT1lJiYiXG4iIT09ZXx8IlxcIj09PXI/KFMucHVzaChlKSxyPWUsVCsxKTooRihTLmpvaW4oIiIpKSxBPWwsVCl9ZnVuY3Rpb24gVigpe3JldHVybiIvIj09PWUmJiIqIj09PXI/KFMucHVzaChlKSxGKFMuam9pbigiIikpLEE9bCxUKzEpOihTLnB1c2goZSkscj1lLFQrMSl9ZnVuY3Rpb24gVSgpe2lmKCIuIj09PXImJi9cZC8udGVzdChlKSlyZXR1cm4gQT1nLFQ7aWYoIi8iPT09ciYmIioiPT09ZSlyZXR1cm4gQT11LFQ7aWYoIi8iPT09ciYmIi8iPT09ZSlyZXR1cm4gQT1oLFQ7aWYoIi4iPT09ZSYmUy5sZW5ndGgpe2Zvcig7cShTKTspO3JldHVybiBBPWcsVH1pZigiOyI9PT1lfHwiKSI9PT1lfHwiKCI9PT1lKXtpZihTLmxlbmd0aClmb3IoO3EoUyk7KTtyZXR1cm4gRihlKSxBPWwsVCsxfXZhciB0PTI9PT1TLmxlbmd0aCYmIj0iIT09ZTtpZigvW1x3X1xkXHNdLy50ZXN0KGUpfHx0KXtmb3IoO3EoUyk7KTtyZXR1cm4gQT1sLFR9cmV0dXJuIFMucHVzaChlKSxyPWUsVCsxfWZ1bmN0aW9uIHEodCl7Zm9yKHZhciBlLHIsbj0wOzspe2lmKGU9YS5pbmRleE9mKHQuc2xpY2UoMCx0Lmxlbmd0aCtuKS5qb2luKCIiKSkscj1hW2VdLC0xPT09ZSl7aWYobi0tK3QubGVuZ3RoPjApY29udGludWU7cj10LnNsaWNlKDAsMSkuam9pbigiIil9cmV0dXJuIEYociksUCs9ci5sZW5ndGgsKFM9Uy5zbGljZShyLmxlbmd0aCkpLmxlbmd0aH19ZnVuY3Rpb24gSCgpe3JldHVybi9bXmEtZkEtRjAtOV0vLnRlc3QoZSk/KEYoUy5qb2luKCIiKSksQT1sLFQpOihTLnB1c2goZSkscj1lLFQrMSl9ZnVuY3Rpb24gRygpe3JldHVybiIuIj09PWU/KFMucHVzaChlKSxBPWcscj1lLFQrMSk6L1tlRV0vLnRlc3QoZSk/KFMucHVzaChlKSxBPWcscj1lLFQrMSk6IngiPT09ZSYmMT09PVMubGVuZ3RoJiYiMCI9PT1TWzBdPyhBPV8sUy5wdXNoKGUpLHI9ZSxUKzEpOi9bXlxkXS8udGVzdChlKT8oRihTLmpvaW4oIiIpKSxBPWwsVCk6KFMucHVzaChlKSxyPWUsVCsxKX1mdW5jdGlvbiBZKCl7cmV0dXJuImYiPT09ZSYmKFMucHVzaChlKSxyPWUsVCs9MSksL1tlRV0vLnRlc3QoZSk/KFMucHVzaChlKSxyPWUsVCsxKToiLSI9PT1lJiYvW2VFXS8udGVzdChyKT8oUy5wdXNoKGUpLHI9ZSxUKzEpOi9bXlxkXS8udGVzdChlKT8oRihTLmpvaW4oIiIpKSxBPWwsVCk6KFMucHVzaChlKSxyPWUsVCsxKX1mdW5jdGlvbiBXKCl7aWYoL1teXGRcd19dLy50ZXN0KGUpKXt2YXIgdD1TLmpvaW4oIiIpO3JldHVybiBBPVIuaW5kZXhPZih0KT4tMT95OkQuaW5kZXhPZih0KT4tMT9tOnYsRihTLmpvaW4oIiIpKSxBPWwsVH1yZXR1cm4gUy5wdXNoKGUpLHI9ZSxUKzF9fTt2YXIgbj10KCIuL2xpYi9saXRlcmFscyIpLGE9dCgiLi9saWIvb3BlcmF0b3JzIiksaT10KCIuL2xpYi9idWlsdGlucyIpLG89dCgiLi9saWIvbGl0ZXJhbHMtMzAwZXMiKSxzPXQoIi4vbGliL2J1aWx0aW5zLTMwMGVzIiksbD05OTksYz05OTk5LHU9MCxoPTEsZj0yLHA9MyxkPTQsZz01LHY9NixtPTcseT04LHg9OSxiPTEwLF89MTEsdz1bImJsb2NrLWNvbW1lbnQiLCJsaW5lLWNvbW1lbnQiLCJwcmVwcm9jZXNzb3IiLCJvcGVyYXRvciIsImludGVnZXIiLCJmbG9hdCIsImlkZW50IiwiYnVpbHRpbiIsImtleXdvcmQiLCJ3aGl0ZXNwYWNlIiwiZW9mIiwiaW50ZWdlciJdfSx7Ii4vbGliL2J1aWx0aW5zIjo0MDYsIi4vbGliL2J1aWx0aW5zLTMwMGVzIjo0MDUsIi4vbGliL2xpdGVyYWxzIjo0MDgsIi4vbGliL2xpdGVyYWxzLTMwMGVzIjo0MDcsIi4vbGliL29wZXJhdG9ycyI6NDA5fV0sNDA1OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9idWlsdGlucyIpO249bi5zbGljZSgpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hL14oZ2xcX3x0ZXh0dXJlKS8udGVzdCh0KX0pLGUuZXhwb3J0cz1uLmNvbmNhdChbImdsX1ZlcnRleElEIiwiZ2xfSW5zdGFuY2VJRCIsImdsX1Bvc2l0aW9uIiwiZ2xfUG9pbnRTaXplIiwiZ2xfRnJhZ0Nvb3JkIiwiZ2xfRnJvbnRGYWNpbmciLCJnbF9GcmFnRGVwdGgiLCJnbF9Qb2ludENvb3JkIiwiZ2xfTWF4VmVydGV4QXR0cmlicyIsImdsX01heFZlcnRleFVuaWZvcm1WZWN0b3JzIiwiZ2xfTWF4VmVydGV4T3V0cHV0VmVjdG9ycyIsImdsX01heEZyYWdtZW50SW5wdXRWZWN0b3JzIiwiZ2xfTWF4VmVydGV4VGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhDb21iaW5lZFRleHR1cmVJbWFnZVVuaXRzIiwiZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhGcmFnbWVudFVuaWZvcm1WZWN0b3JzIiwiZ2xfTWF4RHJhd0J1ZmZlcnMiLCJnbF9NaW5Qcm9ncmFtVGV4ZWxPZmZzZXQiLCJnbF9NYXhQcm9ncmFtVGV4ZWxPZmZzZXQiLCJnbF9EZXB0aFJhbmdlUGFyYW1ldGVycyIsImdsX0RlcHRoUmFuZ2UiLCJ0cnVuYyIsInJvdW5kIiwicm91bmRFdmVuIiwiaXNuYW4iLCJpc2luZiIsImZsb2F0Qml0c1RvSW50IiwiZmxvYXRCaXRzVG9VaW50IiwiaW50Qml0c1RvRmxvYXQiLCJ1aW50Qml0c1RvRmxvYXQiLCJwYWNrU25vcm0yeDE2IiwidW5wYWNrU25vcm0yeDE2IiwicGFja1Vub3JtMngxNiIsInVucGFja1Vub3JtMngxNiIsInBhY2tIYWxmMngxNiIsInVucGFja0hhbGYyeDE2Iiwib3V0ZXJQcm9kdWN0IiwidHJhbnNwb3NlIiwiZGV0ZXJtaW5hbnQiLCJpbnZlcnNlIiwidGV4dHVyZSIsInRleHR1cmVTaXplIiwidGV4dHVyZVByb2oiLCJ0ZXh0dXJlTG9kIiwidGV4dHVyZU9mZnNldCIsInRleGVsRmV0Y2giLCJ0ZXhlbEZldGNoT2Zmc2V0IiwidGV4dHVyZVByb2pPZmZzZXQiLCJ0ZXh0dXJlTG9kT2Zmc2V0IiwidGV4dHVyZVByb2pMb2QiLCJ0ZXh0dXJlUHJvakxvZE9mZnNldCIsInRleHR1cmVHcmFkIiwidGV4dHVyZUdyYWRPZmZzZXQiLCJ0ZXh0dXJlUHJvakdyYWQiLCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQiXSl9LHsiLi9idWlsdGlucyI6NDA2fV0sNDA2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPVsiYWJzIiwiYWNvcyIsImFsbCIsImFueSIsImFzaW4iLCJhdGFuIiwiY2VpbCIsImNsYW1wIiwiY29zIiwiY3Jvc3MiLCJkRmR4IiwiZEZkeSIsImRlZ3JlZXMiLCJkaXN0YW5jZSIsImRvdCIsImVxdWFsIiwiZXhwIiwiZXhwMiIsImZhY2Vmb3J3YXJkIiwiZmxvb3IiLCJmcmFjdCIsImdsX0JhY2tDb2xvciIsImdsX0JhY2tMaWdodE1vZGVsUHJvZHVjdCIsImdsX0JhY2tMaWdodFByb2R1Y3QiLCJnbF9CYWNrTWF0ZXJpYWwiLCJnbF9CYWNrU2Vjb25kYXJ5Q29sb3IiLCJnbF9DbGlwUGxhbmUiLCJnbF9DbGlwVmVydGV4IiwiZ2xfQ29sb3IiLCJnbF9EZXB0aFJhbmdlIiwiZ2xfRGVwdGhSYW5nZVBhcmFtZXRlcnMiLCJnbF9FeWVQbGFuZVEiLCJnbF9FeWVQbGFuZVIiLCJnbF9FeWVQbGFuZVMiLCJnbF9FeWVQbGFuZVQiLCJnbF9Gb2ciLCJnbF9Gb2dDb29yZCIsImdsX0ZvZ0ZyYWdDb29yZCIsImdsX0ZvZ1BhcmFtZXRlcnMiLCJnbF9GcmFnQ29sb3IiLCJnbF9GcmFnQ29vcmQiLCJnbF9GcmFnRGF0YSIsImdsX0ZyYWdEZXB0aCIsImdsX0ZyYWdEZXB0aEVYVCIsImdsX0Zyb250Q29sb3IiLCJnbF9Gcm9udEZhY2luZyIsImdsX0Zyb250TGlnaHRNb2RlbFByb2R1Y3QiLCJnbF9Gcm9udExpZ2h0UHJvZHVjdCIsImdsX0Zyb250TWF0ZXJpYWwiLCJnbF9Gcm9udFNlY29uZGFyeUNvbG9yIiwiZ2xfTGlnaHRNb2RlbCIsImdsX0xpZ2h0TW9kZWxQYXJhbWV0ZXJzIiwiZ2xfTGlnaHRNb2RlbFByb2R1Y3RzIiwiZ2xfTGlnaHRQcm9kdWN0cyIsImdsX0xpZ2h0U291cmNlIiwiZ2xfTGlnaHRTb3VyY2VQYXJhbWV0ZXJzIiwiZ2xfTWF0ZXJpYWxQYXJhbWV0ZXJzIiwiZ2xfTWF4Q2xpcFBsYW5lcyIsImdsX01heENvbWJpbmVkVGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhEcmF3QnVmZmVycyIsImdsX01heEZyYWdtZW50VW5pZm9ybUNvbXBvbmVudHMiLCJnbF9NYXhMaWdodHMiLCJnbF9NYXhUZXh0dXJlQ29vcmRzIiwiZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhUZXh0dXJlVW5pdHMiLCJnbF9NYXhWYXJ5aW5nRmxvYXRzIiwiZ2xfTWF4VmVydGV4QXR0cmlicyIsImdsX01heFZlcnRleFRleHR1cmVJbWFnZVVuaXRzIiwiZ2xfTWF4VmVydGV4VW5pZm9ybUNvbXBvbmVudHMiLCJnbF9Nb2RlbFZpZXdNYXRyaXgiLCJnbF9Nb2RlbFZpZXdNYXRyaXhJbnZlcnNlIiwiZ2xfTW9kZWxWaWV3TWF0cml4SW52ZXJzZVRyYW5zcG9zZSIsImdsX01vZGVsVmlld01hdHJpeFRyYW5zcG9zZSIsImdsX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXgiLCJnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4SW52ZXJzZSIsImdsX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXhJbnZlcnNlVHJhbnNwb3NlIiwiZ2xfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeFRyYW5zcG9zZSIsImdsX011bHRpVGV4Q29vcmQwIiwiZ2xfTXVsdGlUZXhDb29yZDEiLCJnbF9NdWx0aVRleENvb3JkMiIsImdsX011bHRpVGV4Q29vcmQzIiwiZ2xfTXVsdGlUZXhDb29yZDQiLCJnbF9NdWx0aVRleENvb3JkNSIsImdsX011bHRpVGV4Q29vcmQ2IiwiZ2xfTXVsdGlUZXhDb29yZDciLCJnbF9Ob3JtYWwiLCJnbF9Ob3JtYWxNYXRyaXgiLCJnbF9Ob3JtYWxTY2FsZSIsImdsX09iamVjdFBsYW5lUSIsImdsX09iamVjdFBsYW5lUiIsImdsX09iamVjdFBsYW5lUyIsImdsX09iamVjdFBsYW5lVCIsImdsX1BvaW50IiwiZ2xfUG9pbnRDb29yZCIsImdsX1BvaW50UGFyYW1ldGVycyIsImdsX1BvaW50U2l6ZSIsImdsX1Bvc2l0aW9uIiwiZ2xfUHJvamVjdGlvbk1hdHJpeCIsImdsX1Byb2plY3Rpb25NYXRyaXhJbnZlcnNlIiwiZ2xfUHJvamVjdGlvbk1hdHJpeEludmVyc2VUcmFuc3Bvc2UiLCJnbF9Qcm9qZWN0aW9uTWF0cml4VHJhbnNwb3NlIiwiZ2xfU2Vjb25kYXJ5Q29sb3IiLCJnbF9UZXhDb29yZCIsImdsX1RleHR1cmVFbnZDb2xvciIsImdsX1RleHR1cmVNYXRyaXgiLCJnbF9UZXh0dXJlTWF0cml4SW52ZXJzZSIsImdsX1RleHR1cmVNYXRyaXhJbnZlcnNlVHJhbnNwb3NlIiwiZ2xfVGV4dHVyZU1hdHJpeFRyYW5zcG9zZSIsImdsX1ZlcnRleCIsImdyZWF0ZXJUaGFuIiwiZ3JlYXRlclRoYW5FcXVhbCIsImludmVyc2VzcXJ0IiwibGVuZ3RoIiwibGVzc1RoYW4iLCJsZXNzVGhhbkVxdWFsIiwibG9nIiwibG9nMiIsIm1hdHJpeENvbXBNdWx0IiwibWF4IiwibWluIiwibWl4IiwibW9kIiwibm9ybWFsaXplIiwibm90Iiwibm90RXF1YWwiLCJwb3ciLCJyYWRpYW5zIiwicmVmbGVjdCIsInJlZnJhY3QiLCJzaWduIiwic2luIiwic21vb3Roc3RlcCIsInNxcnQiLCJzdGVwIiwidGFuIiwidGV4dHVyZTJEIiwidGV4dHVyZTJETG9kIiwidGV4dHVyZTJEUHJvaiIsInRleHR1cmUyRFByb2pMb2QiLCJ0ZXh0dXJlQ3ViZSIsInRleHR1cmVDdWJlTG9kIiwidGV4dHVyZTJETG9kRVhUIiwidGV4dHVyZTJEUHJvakxvZEVYVCIsInRleHR1cmVDdWJlTG9kRVhUIiwidGV4dHVyZTJER3JhZEVYVCIsInRleHR1cmUyRFByb2pHcmFkRVhUIiwidGV4dHVyZUN1YmVHcmFkRVhUIl19LHt9XSw0MDc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL2xpdGVyYWxzIik7ZS5leHBvcnRzPW4uc2xpY2UoKS5jb25jYXQoWyJsYXlvdXQiLCJjZW50cm9pZCIsInNtb290aCIsImNhc2UiLCJtYXQyeDIiLCJtYXQyeDMiLCJtYXQyeDQiLCJtYXQzeDIiLCJtYXQzeDMiLCJtYXQzeDQiLCJtYXQ0eDIiLCJtYXQ0eDMiLCJtYXQ0eDQiLCJ1aW50IiwidXZlYzIiLCJ1dmVjMyIsInV2ZWM0Iiwic2FtcGxlckN1YmVTaGFkb3ciLCJzYW1wbGVyMkRBcnJheSIsInNhbXBsZXIyREFycmF5U2hhZG93IiwiaXNhbXBsZXIyRCIsImlzYW1wbGVyM0QiLCJpc2FtcGxlckN1YmUiLCJpc2FtcGxlcjJEQXJyYXkiLCJ1c2FtcGxlcjJEIiwidXNhbXBsZXIzRCIsInVzYW1wbGVyQ3ViZSIsInVzYW1wbGVyMkRBcnJheSIsImNvaGVyZW50IiwicmVzdHJpY3QiLCJyZWFkb25seSIsIndyaXRlb25seSIsInJlc291cmNlIiwiYXRvbWljX3VpbnQiLCJub3BlcnNwZWN0aXZlIiwicGF0Y2giLCJzYW1wbGUiLCJzdWJyb3V0aW5lIiwiY29tbW9uIiwicGFydGl0aW9uIiwiYWN0aXZlIiwiZmlsdGVyIiwiaW1hZ2UxRCIsImltYWdlMkQiLCJpbWFnZTNEIiwiaW1hZ2VDdWJlIiwiaWltYWdlMUQiLCJpaW1hZ2UyRCIsImlpbWFnZTNEIiwiaWltYWdlQ3ViZSIsInVpbWFnZTFEIiwidWltYWdlMkQiLCJ1aW1hZ2UzRCIsInVpbWFnZUN1YmUiLCJpbWFnZTFEQXJyYXkiLCJpbWFnZTJEQXJyYXkiLCJpaW1hZ2UxREFycmF5IiwiaWltYWdlMkRBcnJheSIsInVpbWFnZTFEQXJyYXkiLCJ1aW1hZ2UyREFycmF5IiwiaW1hZ2UxRFNoYWRvdyIsImltYWdlMkRTaGFkb3ciLCJpbWFnZTFEQXJyYXlTaGFkb3ciLCJpbWFnZTJEQXJyYXlTaGFkb3ciLCJpbWFnZUJ1ZmZlciIsImlpbWFnZUJ1ZmZlciIsInVpbWFnZUJ1ZmZlciIsInNhbXBsZXIxREFycmF5Iiwic2FtcGxlcjFEQXJyYXlTaGFkb3ciLCJpc2FtcGxlcjFEIiwiaXNhbXBsZXIxREFycmF5IiwidXNhbXBsZXIxRCIsInVzYW1wbGVyMURBcnJheSIsImlzYW1wbGVyMkRSZWN0IiwidXNhbXBsZXIyRFJlY3QiLCJzYW1wbGVyQnVmZmVyIiwiaXNhbXBsZXJCdWZmZXIiLCJ1c2FtcGxlckJ1ZmZlciIsInNhbXBsZXIyRE1TIiwiaXNhbXBsZXIyRE1TIiwidXNhbXBsZXIyRE1TIiwic2FtcGxlcjJETVNBcnJheSIsImlzYW1wbGVyMkRNU0FycmF5IiwidXNhbXBsZXIyRE1TQXJyYXkiXSl9LHsiLi9saXRlcmFscyI6NDA4fV0sNDA4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPVsicHJlY2lzaW9uIiwiaGlnaHAiLCJtZWRpdW1wIiwibG93cCIsImF0dHJpYnV0ZSIsImNvbnN0IiwidW5pZm9ybSIsInZhcnlpbmciLCJicmVhayIsImNvbnRpbnVlIiwiZG8iLCJmb3IiLCJ3aGlsZSIsImlmIiwiZWxzZSIsImluIiwib3V0IiwiaW5vdXQiLCJmbG9hdCIsImludCIsInZvaWQiLCJib29sIiwidHJ1ZSIsImZhbHNlIiwiZGlzY2FyZCIsInJldHVybiIsIm1hdDIiLCJtYXQzIiwibWF0NCIsInZlYzIiLCJ2ZWMzIiwidmVjNCIsIml2ZWMyIiwiaXZlYzMiLCJpdmVjNCIsImJ2ZWMyIiwiYnZlYzMiLCJidmVjNCIsInNhbXBsZXIxRCIsInNhbXBsZXIyRCIsInNhbXBsZXIzRCIsInNhbXBsZXJDdWJlIiwic2FtcGxlcjFEU2hhZG93Iiwic2FtcGxlcjJEU2hhZG93Iiwic3RydWN0IiwiYXNtIiwiY2xhc3MiLCJ1bmlvbiIsImVudW0iLCJ0eXBlZGVmIiwidGVtcGxhdGUiLCJ0aGlzIiwicGFja2VkIiwiZ290byIsInN3aXRjaCIsImRlZmF1bHQiLCJpbmxpbmUiLCJub2lubGluZSIsInZvbGF0aWxlIiwicHVibGljIiwic3RhdGljIiwiZXh0ZXJuIiwiZXh0ZXJuYWwiLCJpbnRlcmZhY2UiLCJsb25nIiwic2hvcnQiLCJkb3VibGUiLCJoYWxmIiwiZml4ZWQiLCJ1bnNpZ25lZCIsImlucHV0Iiwib3V0cHV0IiwiaHZlYzIiLCJodmVjMyIsImh2ZWM0IiwiZHZlYzIiLCJkdmVjMyIsImR2ZWM0IiwiZnZlYzIiLCJmdmVjMyIsImZ2ZWM0Iiwic2FtcGxlcjJEUmVjdCIsInNhbXBsZXIzRFJlY3QiLCJzYW1wbGVyMkRSZWN0U2hhZG93Iiwic2l6ZW9mIiwiY2FzdCIsIm5hbWVzcGFjZSIsInVzaW5nIl19LHt9XSw0MDk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyI8PD0iLCI+Pj0iLCIrKyIsIi0tIiwiPDwiLCI+PiIsIjw9IiwiPj0iLCI9PSIsIiE9IiwiJiYiLCJ8fCIsIis9IiwiLT0iLCIqPSIsIi89IiwiJT0iLCImPSIsIl5eIiwiXj0iLCJ8PSIsIigiLCIpIiwiWyIsIl0iLCIuIiwiISIsIn4iLCIqIiwiLyIsIiUiLCIrIiwiLSIsIjwiLCI+IiwiJiIsIl4iLCJ8IiwiPyIsIjoiLCI9IiwiLCIsIjsiLCJ7IiwifSJdfSx7fV0sNDEwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9pbmRleCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW4oZSksYT1bXTtyZXR1cm4gYT0oYT1hLmNvbmNhdChyKHQpKSkuY29uY2F0KHIobnVsbCkpfX0seyIuL2luZGV4Ijo0MDR9XSw0MTE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7InN0cmluZyI9PXR5cGVvZiB0JiYodD1bdF0pO2Zvcih2YXIgZT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxyPVtdLG49MDtuPHQubGVuZ3RoLTE7bisrKXIucHVzaCh0W25dLGVbbl18fCIiKTtyZXR1cm4gci5wdXNoKHRbbl0pLHIuam9pbigiIil9fSx7fV0sNDEyOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPXQoImlzLWJyb3dzZXIiKTtuPSJmdW5jdGlvbiI9PXR5cGVvZiByLm1hdGNoTWVkaWE/IXIubWF0Y2hNZWRpYSgiKGhvdmVyOiBub25lKSIpLm1hdGNoZXM6YSxlLmV4cG9ydHM9bn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyJpcy1icm93c2VyIjo0MTl9XSw0MTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiaXMtYnJvd3NlciIpO2UuZXhwb3J0cz1uJiZmdW5jdGlvbigpe3ZhciB0PSExO3RyeXt2YXIgZT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXt0PSEwfX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLGUpfWNhdGNoKGUpe3Q9ITF9cmV0dXJuIHR9KCl9LHsiaXMtYnJvd3NlciI6NDE5fV0sNDE0OltmdW5jdGlvbih0LGUscil7ci5yZWFkPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbyxzPTgqYS1uLTEsbD0oMTw8cyktMSxjPWw+PjEsdT0tNyxoPXI/YS0xOjAsZj1yPy0xOjEscD10W2UraF07Zm9yKGgrPWYsaT1wJigxPDwtdSktMSxwPj49LXUsdSs9czt1PjA7aT0yNTYqaSt0W2UraF0saCs9Zix1LT04KTtmb3Iobz1pJigxPDwtdSktMSxpPj49LXUsdSs9bjt1PjA7bz0yNTYqbyt0W2UraF0saCs9Zix1LT04KTtpZigwPT09aSlpPTEtYztlbHNle2lmKGk9PT1sKXJldHVybiBvP05hTjoxLzAqKHA/LTE6MSk7bys9TWF0aC5wb3coMixuKSxpLT1jfXJldHVybihwPy0xOjEpKm8qTWF0aC5wb3coMixpLW4pfSxyLndyaXRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbyxzLGwsYz04KmktYS0xLHU9KDE8PGMpLTEsaD11Pj4xLGY9MjM9PT1hP01hdGgucG93KDIsLTI0KS1NYXRoLnBvdygyLC03Nyk6MCxwPW4/MDppLTEsZD1uPzE6LTEsZz1lPDB8fDA9PT1lJiYxL2U8MD8xOjA7Zm9yKGU9TWF0aC5hYnMoZSksaXNOYU4oZSl8fGU9PT0xLzA/KHM9aXNOYU4oZSk/MTowLG89dSk6KG89TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLkxOMiksZSoobD1NYXRoLnBvdygyLC1vKSk8MSYmKG8tLSxsKj0yKSwoZSs9bytoPj0xP2YvbDpmKk1hdGgucG93KDIsMS1oKSkqbD49MiYmKG8rKyxsLz0yKSxvK2g+PXU/KHM9MCxvPXUpOm8raD49MT8ocz0oZSpsLTEpKk1hdGgucG93KDIsYSksbys9aCk6KHM9ZSpNYXRoLnBvdygyLGgtMSkqTWF0aC5wb3coMixhKSxvPTApKTthPj04O3RbcitwXT0yNTUmcyxwKz1kLHMvPTI1NixhLT04KTtmb3Iobz1vPDxhfHMsYys9YTtjPjA7dFtyK3BdPTI1NSZvLHArPWQsby89MjU2LGMtPTgpO3RbcitwLWRdfD0xMjgqZ319LHt9XSw0MTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGg7aWYoMD09PXIpdGhyb3cgbmV3IEVycm9yKCJNdXN0IGhhdmUgYXQgbGVhc3QgZCsxIHBvaW50cyIpO3ZhciBhPXRbMF0ubGVuZ3RoO2lmKHI8PWEpdGhyb3cgbmV3IEVycm9yKCJNdXN0IGlucHV0IGF0IGxlYXN0IGQrMSBwb2ludHMiKTt2YXIgbz10LnNsaWNlKDAsYSsxKSxzPW4uYXBwbHkodm9pZCAwLG8pO2lmKDA9PT1zKXRocm93IG5ldyBFcnJvcigiSW5wdXQgbm90IGluIGdlbmVyYWwgcG9zaXRpb24iKTtmb3IodmFyIGw9bmV3IEFycmF5KGErMSksdT0wO3U8PWE7Kyt1KWxbdV09dTtzPDAmJihsWzBdPTEsbFsxXT0wKTtmb3IodmFyIGg9bmV3IGkobCxuZXcgQXJyYXkoYSsxKSwhMSksZj1oLmFkamFjZW50LHA9bmV3IEFycmF5KGErMiksdT0wO3U8PWE7Kyt1KXtmb3IodmFyIGQ9bC5zbGljZSgpLGc9MDtnPD1hOysrZylnPT09dSYmKGRbZ109LTEpO3ZhciB2PWRbMF07ZFswXT1kWzFdLGRbMV09djt2YXIgbT1uZXcgaShkLG5ldyBBcnJheShhKzEpLCEwKTtmW3VdPW0scFt1XT1tfXBbYSsxXT1oO2Zvcih2YXIgdT0wO3U8PWE7Kyt1KWZvcih2YXIgZD1mW3VdLnZlcnRpY2VzLHk9Zlt1XS5hZGphY2VudCxnPTA7Zzw9YTsrK2cpe3ZhciB4PWRbZ107aWYoeDwwKXlbZ109aDtlbHNlIGZvcih2YXIgYj0wO2I8PWE7KytiKWZbYl0udmVydGljZXMuaW5kZXhPZih4KTwwJiYoeVtnXT1mW2JdKX1mb3IodmFyIF89bmV3IGMoYSxvLHApLHc9ISFlLHU9YSsxO3U8cjsrK3UpXy5pbnNlcnQodFt1XSx3KTtyZXR1cm4gXy5ib3VuZGFyeSgpfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKSxhPXQoInNpbXBsaWNpYWwtY29tcGxleCIpLmNvbXBhcmVDZWxscztmdW5jdGlvbiBpKHQsZSxyKXt0aGlzLnZlcnRpY2VzPXQsdGhpcy5hZGphY2VudD1lLHRoaXMuYm91bmRhcnk9cix0aGlzLmxhc3RWaXNpdGVkPS0xfWZ1bmN0aW9uIG8odCxlLHIpe3RoaXMudmVydGljZXM9dCx0aGlzLmNlbGw9ZSx0aGlzLmluZGV4PXJ9ZnVuY3Rpb24gcyh0LGUpe3JldHVybiBhKHQudmVydGljZXMsZS52ZXJ0aWNlcyl9aS5wcm90b3R5cGUuZmxpcD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmVydGljZXNbMF07dGhpcy52ZXJ0aWNlc1swXT10aGlzLnZlcnRpY2VzWzFdLHRoaXMudmVydGljZXNbMV09dDt2YXIgZT10aGlzLmFkamFjZW50WzBdO3RoaXMuYWRqYWNlbnRbMF09dGhpcy5hZGphY2VudFsxXSx0aGlzLmFkamFjZW50WzFdPWV9O3ZhciBsPVtdO2Z1bmN0aW9uIGModCxlLHIpe3RoaXMuZGltZW5zaW9uPXQsdGhpcy52ZXJ0aWNlcz1lLHRoaXMuc2ltcGxpY2VzPXIsdGhpcy5pbnRlcmlvcj1yLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hdC5ib3VuZGFyeX0pLHRoaXMudHVwbGU9bmV3IEFycmF5KHQrMSk7Zm9yKHZhciBhPTA7YTw9dDsrK2EpdGhpcy50dXBsZVthXT10aGlzLnZlcnRpY2VzW2FdO3ZhciBpPWxbdF07aXx8KGk9bFt0XT1mdW5jdGlvbih0KXtmb3IodmFyIGU9WyJmdW5jdGlvbiBvcmllbnQoKXt2YXIgdHVwbGU9dGhpcy50dXBsZTtyZXR1cm4gdGVzdCgiXSxyPTA7cjw9dDsrK3Ipcj4wJiZlLnB1c2goIiwiKSxlLnB1c2goInR1cGxlWyIsciwiXSIpO2UucHVzaCgiKX1yZXR1cm4gb3JpZW50Iik7dmFyIGE9bmV3IEZ1bmN0aW9uKCJ0ZXN0IixlLmpvaW4oIiIpKSxpPW5bdCsxXTtyZXR1cm4gaXx8KGk9biksYShpKX0odCkpLHRoaXMub3JpZW50PWl9dmFyIHU9Yy5wcm90b3R5cGU7dS5oYW5kbGVCb3VuZGFyeURlZ2VuZXJhY3k9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmRpbWVuc2lvbixuPXRoaXMudmVydGljZXMubGVuZ3RoLTEsYT10aGlzLnR1cGxlLGk9dGhpcy52ZXJ0aWNlcyxvPVt0XTtmb3IodC5sYXN0VmlzaXRlZD0tbjtvLmxlbmd0aD4wOyl7KHQ9by5wb3AoKSkudmVydGljZXM7Zm9yKHZhciBzPXQuYWRqYWNlbnQsbD0wO2w8PXI7KytsKXt2YXIgYz1zW2xdO2lmKGMuYm91bmRhcnkmJiEoYy5sYXN0VmlzaXRlZDw9LW4pKXtmb3IodmFyIHU9Yy52ZXJ0aWNlcyxoPTA7aDw9cjsrK2gpe3ZhciBmPXVbaF07YVtoXT1mPDA/ZTppW2ZdfXZhciBwPXRoaXMub3JpZW50KCk7aWYocD4wKXJldHVybiBjO2MubGFzdFZpc2l0ZWQ9LW4sMD09PXAmJm8ucHVzaChjKX19fXJldHVybiBudWxsfSx1LndhbGs9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLnZlcnRpY2VzLmxlbmd0aC0xLG49dGhpcy5kaW1lbnNpb24sYT10aGlzLnZlcnRpY2VzLGk9dGhpcy50dXBsZSxvPWU/dGhpcy5pbnRlcmlvci5sZW5ndGgqTWF0aC5yYW5kb20oKXwwOnRoaXMuaW50ZXJpb3IubGVuZ3RoLTEscz10aGlzLmludGVyaW9yW29dO3Q6Zm9yKDshcy5ib3VuZGFyeTspe2Zvcih2YXIgbD1zLnZlcnRpY2VzLGM9cy5hZGphY2VudCx1PTA7dTw9bjsrK3UpaVt1XT1hW2xbdV1dO3MubGFzdFZpc2l0ZWQ9cjtmb3IodT0wO3U8PW47Kyt1KXt2YXIgaD1jW3VdO2lmKCEoaC5sYXN0VmlzaXRlZD49cikpe3ZhciBmPWlbdV07aVt1XT10O3ZhciBwPXRoaXMub3JpZW50KCk7aWYoaVt1XT1mLHA8MCl7cz1oO2NvbnRpbnVlIHR9aC5ib3VuZGFyeT9oLmxhc3RWaXNpdGVkPS1yOmgubGFzdFZpc2l0ZWQ9cn19cmV0dXJufXJldHVybiBzfSx1LmFkZFBlYWtzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy52ZXJ0aWNlcy5sZW5ndGgtMSxuPXRoaXMuZGltZW5zaW9uLGE9dGhpcy52ZXJ0aWNlcyxsPXRoaXMudHVwbGUsYz10aGlzLmludGVyaW9yLHU9dGhpcy5zaW1wbGljZXMsaD1bZV07ZS5sYXN0VmlzaXRlZD1yLGUudmVydGljZXNbZS52ZXJ0aWNlcy5pbmRleE9mKC0xKV09cixlLmJvdW5kYXJ5PSExLGMucHVzaChlKTtmb3IodmFyIGY9W107aC5sZW5ndGg+MDspe3ZhciBwPShlPWgucG9wKCkpLnZlcnRpY2VzLGQ9ZS5hZGphY2VudCxnPXAuaW5kZXhPZihyKTtpZighKGc8MCkpZm9yKHZhciB2PTA7djw9bjsrK3YpaWYodiE9PWcpe3ZhciBtPWRbdl07aWYobS5ib3VuZGFyeSYmIShtLmxhc3RWaXNpdGVkPj1yKSl7dmFyIHk9bS52ZXJ0aWNlcztpZihtLmxhc3RWaXNpdGVkIT09LXIpe2Zvcih2YXIgeD0wLGI9MDtiPD1uOysrYil5W2JdPDA/KHg9YixsW2JdPXQpOmxbYl09YVt5W2JdXTtpZih0aGlzLm9yaWVudCgpPjApe3lbeF09cixtLmJvdW5kYXJ5PSExLGMucHVzaChtKSxoLnB1c2gobSksbS5sYXN0VmlzaXRlZD1yO2NvbnRpbnVlfW0ubGFzdFZpc2l0ZWQ9LXJ9dmFyIF89bS5hZGphY2VudCx3PXAuc2xpY2UoKSxrPWQuc2xpY2UoKSxUPW5ldyBpKHcsaywhMCk7dS5wdXNoKFQpO3ZhciBNPV8uaW5kZXhPZihlKTtpZighKE08MCkpe19bTV09VCxrW2ddPW0sd1t2XT0tMSxrW3ZdPWUsZFt2XT1ULFQuZmxpcCgpO2ZvcihiPTA7Yjw9bjsrK2Ipe3ZhciBBPXdbYl07aWYoIShBPDB8fEE9PT1yKSl7Zm9yKHZhciBTPW5ldyBBcnJheShuLTEpLEU9MCxMPTA7TDw9bjsrK0wpe3ZhciBDPXdbTF07QzwwfHxMPT09Ynx8KFNbRSsrXT1DKX1mLnB1c2gobmV3IG8oUyxULGIpKX19fX19fWYuc29ydChzKTtmb3Iodj0wO3YrMTxmLmxlbmd0aDt2Kz0yKXt2YXIgUD1mW3ZdLE89Zlt2KzFdLHo9UC5pbmRleCxJPU8uaW5kZXg7ejwwfHxJPDB8fChQLmNlbGwuYWRqYWNlbnRbUC5pbmRleF09Ty5jZWxsLE8uY2VsbC5hZGphY2VudFtPLmluZGV4XT1QLmNlbGwpfX0sdS5pbnNlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLnZlcnRpY2VzO3IucHVzaCh0KTt2YXIgbj10aGlzLndhbGsodCxlKTtpZihuKXtmb3IodmFyIGE9dGhpcy5kaW1lbnNpb24saT10aGlzLnR1cGxlLG89MDtvPD1hOysrbyl7dmFyIHM9bi52ZXJ0aWNlc1tvXTtpW29dPXM8MD90OnJbc119dmFyIGw9dGhpcy5vcmllbnQoaSk7bDwwfHwoMCE9PWx8fChuPXRoaXMuaGFuZGxlQm91bmRhcnlEZWdlbmVyYWN5KG4sdCkpKSYmdGhpcy5hZGRQZWFrcyh0LG4pfX0sdS5ib3VuZGFyeT1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmRpbWVuc2lvbixlPVtdLHI9dGhpcy5zaW1wbGljZXMsbj1yLmxlbmd0aCxhPTA7YTxuOysrYSl7dmFyIGk9clthXTtpZihpLmJvdW5kYXJ5KXtmb3IodmFyIG89bmV3IEFycmF5KHQpLHM9aS52ZXJ0aWNlcyxsPTAsYz0wLHU9MDt1PD10OysrdSlzW3VdPj0wP29bbCsrXT1zW3VdOmM9MSZ1O2lmKGM9PT0oMSZ0KSl7dmFyIGg9b1swXTtvWzBdPW9bMV0sb1sxXT1ofWUucHVzaChvKX19cmV0dXJuIGV9fSx7InJvYnVzdC1vcmllbnRhdGlvbiI6NTA5LCJzaW1wbGljaWFsLWNvbXBsZXgiOjUxOX1dLDQxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpLGE9MCxpPTE7ZnVuY3Rpb24gbyh0LGUscixuLGEpe3RoaXMubWlkPXQsdGhpcy5sZWZ0PWUsdGhpcy5yaWdodD1yLHRoaXMubGVmdFBvaW50cz1uLHRoaXMucmlnaHRQb2ludHM9YSx0aGlzLmNvdW50PShlP2UuY291bnQ6MCkrKHI/ci5jb3VudDowKStuLmxlbmd0aH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIXR8fDA9PT10Lmxlbmd0aClyZXR1cm4gbmV3IHgobnVsbCk7cmV0dXJuIG5ldyB4KHkodCkpfTt2YXIgcz1vLnByb3RvdHlwZTtmdW5jdGlvbiBsKHQsZSl7dC5taWQ9ZS5taWQsdC5sZWZ0PWUubGVmdCx0LnJpZ2h0PWUucmlnaHQsdC5sZWZ0UG9pbnRzPWUubGVmdFBvaW50cyx0LnJpZ2h0UG9pbnRzPWUucmlnaHRQb2ludHMsdC5jb3VudD1lLmNvdW50fWZ1bmN0aW9uIGModCxlKXt2YXIgcj15KGUpO3QubWlkPXIubWlkLHQubGVmdD1yLmxlZnQsdC5yaWdodD1yLnJpZ2h0LHQubGVmdFBvaW50cz1yLmxlZnRQb2ludHMsdC5yaWdodFBvaW50cz1yLnJpZ2h0UG9pbnRzLHQuY291bnQ9ci5jb3VudH1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9dC5pbnRlcnZhbHMoW10pO3IucHVzaChlKSxjKHQscil9ZnVuY3Rpb24gaCh0LGUpe3ZhciByPXQuaW50ZXJ2YWxzKFtdKSxuPXIuaW5kZXhPZihlKTtyZXR1cm4gbjwwP2E6KHIuc3BsaWNlKG4sMSksYyh0LHIpLGkpfWZ1bmN0aW9uIGYodCxlLHIpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJnRbbl1bMF08PWU7KytuKXt2YXIgYT1yKHRbbl0pO2lmKGEpcmV0dXJuIGF9fWZ1bmN0aW9uIHAodCxlLHIpe2Zvcih2YXIgbj10Lmxlbmd0aC0xO24+PTAmJnRbbl1bMV0+PWU7LS1uKXt2YXIgYT1yKHRbbl0pO2lmKGEpcmV0dXJuIGF9fWZ1bmN0aW9uIGQodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoOysrcil7dmFyIG49ZSh0W3JdKTtpZihuKXJldHVybiBufX1mdW5jdGlvbiBnKHQsZSl7cmV0dXJuIHQtZX1mdW5jdGlvbiB2KHQsZSl7dmFyIHI9dFswXS1lWzBdO3JldHVybiByfHx0WzFdLWVbMV19ZnVuY3Rpb24gbSh0LGUpe3ZhciByPXRbMV0tZVsxXTtyZXR1cm4gcnx8dFswXS1lWzBdfWZ1bmN0aW9uIHkodCl7aWYoMD09PXQubGVuZ3RoKXJldHVybiBudWxsO2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDsrK3IpZS5wdXNoKHRbcl1bMF0sdFtyXVsxXSk7ZS5zb3J0KGcpO3ZhciBuPWVbZS5sZW5ndGg+PjFdLGE9W10saT1bXSxzPVtdO2ZvcihyPTA7cjx0Lmxlbmd0aDsrK3Ipe3ZhciBsPXRbcl07bFsxXTxuP2EucHVzaChsKTpuPGxbMF0/aS5wdXNoKGwpOnMucHVzaChsKX12YXIgYz1zLHU9cy5zbGljZSgpO3JldHVybiBjLnNvcnQodiksdS5zb3J0KG0pLG5ldyBvKG4seShhKSx5KGkpLGMsdSl9ZnVuY3Rpb24geCh0KXt0aGlzLnJvb3Q9dH1zLmludGVydmFscz1mdW5jdGlvbih0KXtyZXR1cm4gdC5wdXNoLmFwcGx5KHQsdGhpcy5sZWZ0UG9pbnRzKSx0aGlzLmxlZnQmJnRoaXMubGVmdC5pbnRlcnZhbHModCksdGhpcy5yaWdodCYmdGhpcy5yaWdodC5pbnRlcnZhbHModCksdH0scy5pbnNlcnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb3VudC10aGlzLmxlZnRQb2ludHMubGVuZ3RoO2lmKHRoaXMuY291bnQrPTEsdFsxXTx0aGlzLm1pZCl0aGlzLmxlZnQ/NCoodGhpcy5sZWZ0LmNvdW50KzEpPjMqKGUrMSk/dSh0aGlzLHQpOnRoaXMubGVmdC5pbnNlcnQodCk6dGhpcy5sZWZ0PXkoW3RdKTtlbHNlIGlmKHRbMF0+dGhpcy5taWQpdGhpcy5yaWdodD80Kih0aGlzLnJpZ2h0LmNvdW50KzEpPjMqKGUrMSk/dSh0aGlzLHQpOnRoaXMucmlnaHQuaW5zZXJ0KHQpOnRoaXMucmlnaHQ9eShbdF0pO2Vsc2V7dmFyIHI9bi5nZSh0aGlzLmxlZnRQb2ludHMsdCx2KSxhPW4uZ2UodGhpcy5yaWdodFBvaW50cyx0LG0pO3RoaXMubGVmdFBvaW50cy5zcGxpY2UociwwLHQpLHRoaXMucmlnaHRQb2ludHMuc3BsaWNlKGEsMCx0KX19LHMucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY291bnQtdGhpcy5sZWZ0UG9pbnRzO2lmKHRbMV08dGhpcy5taWQpcmV0dXJuIHRoaXMubGVmdD80Kih0aGlzLnJpZ2h0P3RoaXMucmlnaHQuY291bnQ6MCk+MyooZS0xKT9oKHRoaXMsdCk6Mj09PShjPXRoaXMubGVmdC5yZW1vdmUodCkpPyh0aGlzLmxlZnQ9bnVsbCx0aGlzLmNvdW50LT0xLGkpOihjPT09aSYmKHRoaXMuY291bnQtPTEpLGMpOmE7aWYodFswXT50aGlzLm1pZClyZXR1cm4gdGhpcy5yaWdodD80Kih0aGlzLmxlZnQ/dGhpcy5sZWZ0LmNvdW50OjApPjMqKGUtMSk/aCh0aGlzLHQpOjI9PT0oYz10aGlzLnJpZ2h0LnJlbW92ZSh0KSk/KHRoaXMucmlnaHQ9bnVsbCx0aGlzLmNvdW50LT0xLGkpOihjPT09aSYmKHRoaXMuY291bnQtPTEpLGMpOmE7aWYoMT09PXRoaXMuY291bnQpcmV0dXJuIHRoaXMubGVmdFBvaW50c1swXT09PXQ/MjphO2lmKDE9PT10aGlzLmxlZnRQb2ludHMubGVuZ3RoJiZ0aGlzLmxlZnRQb2ludHNbMF09PT10KXtpZih0aGlzLmxlZnQmJnRoaXMucmlnaHQpe2Zvcih2YXIgcj10aGlzLG89dGhpcy5sZWZ0O28ucmlnaHQ7KXI9byxvPW8ucmlnaHQ7aWYocj09PXRoaXMpby5yaWdodD10aGlzLnJpZ2h0O2Vsc2V7dmFyIHM9dGhpcy5sZWZ0LGM9dGhpcy5yaWdodDtyLmNvdW50LT1vLmNvdW50LHIucmlnaHQ9by5sZWZ0LG8ubGVmdD1zLG8ucmlnaHQ9Y31sKHRoaXMsbyksdGhpcy5jb3VudD0odGhpcy5sZWZ0P3RoaXMubGVmdC5jb3VudDowKSsodGhpcy5yaWdodD90aGlzLnJpZ2h0LmNvdW50OjApK3RoaXMubGVmdFBvaW50cy5sZW5ndGh9ZWxzZSB0aGlzLmxlZnQ/bCh0aGlzLHRoaXMubGVmdCk6bCh0aGlzLHRoaXMucmlnaHQpO3JldHVybiBpfWZvcihzPW4uZ2UodGhpcy5sZWZ0UG9pbnRzLHQsdik7czx0aGlzLmxlZnRQb2ludHMubGVuZ3RoJiZ0aGlzLmxlZnRQb2ludHNbc11bMF09PT10WzBdOysrcylpZih0aGlzLmxlZnRQb2ludHNbc109PT10KXt0aGlzLmNvdW50LT0xLHRoaXMubGVmdFBvaW50cy5zcGxpY2UocywxKTtmb3IoYz1uLmdlKHRoaXMucmlnaHRQb2ludHMsdCxtKTtjPHRoaXMucmlnaHRQb2ludHMubGVuZ3RoJiZ0aGlzLnJpZ2h0UG9pbnRzW2NdWzFdPT09dFsxXTsrK2MpaWYodGhpcy5yaWdodFBvaW50c1tjXT09PXQpcmV0dXJuIHRoaXMucmlnaHRQb2ludHMuc3BsaWNlKGMsMSksaX1yZXR1cm4gYX0scy5xdWVyeVBvaW50PWZ1bmN0aW9uKHQsZSl7aWYodDx0aGlzLm1pZCl7aWYodGhpcy5sZWZ0KWlmKHI9dGhpcy5sZWZ0LnF1ZXJ5UG9pbnQodCxlKSlyZXR1cm4gcjtyZXR1cm4gZih0aGlzLmxlZnRQb2ludHMsdCxlKX1pZih0PnRoaXMubWlkKXt2YXIgcjtpZih0aGlzLnJpZ2h0KWlmKHI9dGhpcy5yaWdodC5xdWVyeVBvaW50KHQsZSkpcmV0dXJuIHI7cmV0dXJuIHAodGhpcy5yaWdodFBvaW50cyx0LGUpfXJldHVybiBkKHRoaXMubGVmdFBvaW50cyxlKX0scy5xdWVyeUludGVydmFsPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbjtpZih0PHRoaXMubWlkJiZ0aGlzLmxlZnQmJihuPXRoaXMubGVmdC5xdWVyeUludGVydmFsKHQsZSxyKSkpcmV0dXJuIG47aWYoZT50aGlzLm1pZCYmdGhpcy5yaWdodCYmKG49dGhpcy5yaWdodC5xdWVyeUludGVydmFsKHQsZSxyKSkpcmV0dXJuIG47cmV0dXJuIGU8dGhpcy5taWQ/Zih0aGlzLmxlZnRQb2ludHMsZSxyKTp0PnRoaXMubWlkP3AodGhpcy5yaWdodFBvaW50cyx0LHIpOmQodGhpcy5sZWZ0UG9pbnRzLHIpfTt2YXIgYj14LnByb3RvdHlwZTtiLmluc2VydD1mdW5jdGlvbih0KXt0aGlzLnJvb3Q/dGhpcy5yb290Lmluc2VydCh0KTp0aGlzLnJvb3Q9bmV3IG8odFswXSxudWxsLG51bGwsW3RdLFt0XSl9LGIucmVtb3ZlPWZ1bmN0aW9uKHQpe2lmKHRoaXMucm9vdCl7dmFyIGU9dGhpcy5yb290LnJlbW92ZSh0KTtyZXR1cm4gMj09PWUmJih0aGlzLnJvb3Q9bnVsbCksZSE9PWF9cmV0dXJuITF9LGIucXVlcnlQb2ludD1mdW5jdGlvbih0LGUpe2lmKHRoaXMucm9vdClyZXR1cm4gdGhpcy5yb290LnF1ZXJ5UG9pbnQodCxlKX0sYi5xdWVyeUludGVydmFsPWZ1bmN0aW9uKHQsZSxyKXtpZih0PD1lJiZ0aGlzLnJvb3QpcmV0dXJuIHRoaXMucm9vdC5xdWVyeUludGVydmFsKHQsZSxyKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGIsImNvdW50Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdD90aGlzLnJvb3QuY291bnQ6MH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwiaW50ZXJ2YWxzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdD90aGlzLnJvb3QuaW50ZXJ2YWxzKFtdKTpbXX19KX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6OTN9XSw0MTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZT1lfHxuZXcgQXJyYXkodC5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7KytyKWVbdFtyXV09cjtyZXR1cm4gZX19LHt9XSw0MTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpZVtyXT1yO3JldHVybiBlfX0se31dLDQxOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz0hMH0se31dLDQyMDpbZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIG4odCl7cmV0dXJuISF0LmNvbnN0cnVjdG9yJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmdC5jb25zdHJ1Y3Rvci5pc0J1ZmZlcih0KX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJihuKHQpfHxmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5yZWFkRmxvYXRMRSYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2xpY2UmJm4odC5zbGljZSgwLDApKX0odCl8fCEhdC5faXNCdWZmZXIpfX0se31dLDQyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJigvTVNJRS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KXx8L1RyaWRlbnRcLy8udGVzdChuYXZpZ2F0b3IuYXBwVmVyc2lvbikpfSx7fV0sNDIyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1pLGUuZXhwb3J0cy5pc01vYmlsZT1pLGUuZXhwb3J0cy5kZWZhdWx0PWk7dmFyIG49LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzWzQ2XTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pLGE9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzWzQ2XTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWlub3xhbmRyb2lkfGlwYWR8cGxheWJvb2t8c2lsay9pO2Z1bmN0aW9uIGkodCl7dHx8KHQ9e30pO3ZhciBlPXQudWE7cmV0dXJuIGV8fCJ1bmRlZmluZWQiPT10eXBlb2YgbmF2aWdhdG9yfHwoZT1uYXZpZ2F0b3IudXNlckFnZW50KSxlJiZlLmhlYWRlcnMmJiJzdHJpbmciPT10eXBlb2YgZS5oZWFkZXJzWyJ1c2VyLWFnZW50Il0mJihlPWUuaGVhZGVyc1sidXNlci1hZ2VudCJdKSwic3RyaW5nIj09dHlwZW9mIGUmJih0LnRhYmxldD9hLnRlc3QoZSk6bi50ZXN0KGUpKX19LHt9XSw0MjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT09dCYmKCJvYmplY3QiPT09ZXx8ImZ1bmN0aW9uIj09PWUpfX0se31dLDQyNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PW4uY2FsbCh0KSYmKG51bGw9PT0oZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpfHxlPT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHt9KSl9fSx7fV0sNDI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGUscj10Lmxlbmd0aCxuPTA7bjxyO24rKylpZigoKGU9dC5jaGFyQ29kZUF0KG4pKTw5fHxlPjEzKSYmMzIhPT1lJiYxMzMhPT1lJiYxNjAhPT1lJiY1NzYwIT09ZSYmNjE1OCE9PWUmJihlPDgxOTJ8fGU+ODIwNSkmJjgyMzIhPT1lJiY4MjMzIT09ZSYmODIzOSE9PWUmJjgyODchPT1lJiY4Mjg4IT09ZSYmMTIyODghPT1lJiY2NTI3OSE9PWUpcmV0dXJuITE7cmV0dXJuITB9fSx7fV0sNDI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJih0PXQudHJpbSgpLCEhKC9eW216bGh2Y3NxdGFdXHMqWy0rLjAtOV1bXm1saHZ6Y3NxdGFdKy9pLnRlc3QodCkmJi9bXGR6XSQvaS50ZXN0KHQpJiZ0Lmxlbmd0aD40KSl9fSx7fV0sNDI3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdCooMS1yKStlKnJ9fSx7fV0sNDI4OltmdW5jdGlvbih0LGUscil7dmFyIG4sYTtuPXRoaXMsYT1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgdCxlLHI7ZnVuY3Rpb24gbihuLGEpe2lmKHQpaWYoZSl7dmFyIGk9InZhciBzaGFyZWRDaHVuayA9IHt9OyAoIit0KyIpKHNoYXJlZENodW5rKTsgKCIrZSsiKShzaGFyZWRDaHVuayk7IixvPXt9O3QobyksKHI9YShvKSkud29ya2VyVXJsPXdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtpXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pKX1lbHNlIGU9YTtlbHNlIHQ9YX1yZXR1cm4gbigwLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxlKXtyZXR1cm4gdChlPXtleHBvcnRzOnt9fSxlLmV4cG9ydHMpLGUuZXhwb3J0c312YXIgcj1uO2Z1bmN0aW9uIG4odCxlLHIsbil7dGhpcy5jeD0zKnQsdGhpcy5ieD0zKihyLXQpLXRoaXMuY3gsdGhpcy5heD0xLXRoaXMuY3gtdGhpcy5ieCx0aGlzLmN5PTMqZSx0aGlzLmJ5PTMqKG4tZSktdGhpcy5jeSx0aGlzLmF5PTEtdGhpcy5jeS10aGlzLmJ5LHRoaXMucDF4PXQsdGhpcy5wMXk9bix0aGlzLnAyeD1yLHRoaXMucDJ5PW59bi5wcm90b3R5cGUuc2FtcGxlQ3VydmVYPWZ1bmN0aW9uKHQpe3JldHVybigodGhpcy5heCp0K3RoaXMuYngpKnQrdGhpcy5jeCkqdH0sbi5wcm90b3R5cGUuc2FtcGxlQ3VydmVZPWZ1bmN0aW9uKHQpe3JldHVybigodGhpcy5heSp0K3RoaXMuYnkpKnQrdGhpcy5jeSkqdH0sbi5wcm90b3R5cGUuc2FtcGxlQ3VydmVEZXJpdmF0aXZlWD1mdW5jdGlvbih0KXtyZXR1cm4oMyp0aGlzLmF4KnQrMip0aGlzLmJ4KSp0K3RoaXMuY3h9LG4ucHJvdG90eXBlLnNvbHZlQ3VydmVYPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLGksbztmb3Iodm9pZCAwPT09ZSYmKGU9MWUtNiksYT10LG89MDtvPDg7bysrKXtpZihpPXRoaXMuc2FtcGxlQ3VydmVYKGEpLXQsTWF0aC5hYnMoaSk8ZSlyZXR1cm4gYTt2YXIgcz10aGlzLnNhbXBsZUN1cnZlRGVyaXZhdGl2ZVgoYSk7aWYoTWF0aC5hYnMocyk8MWUtNilicmVhazthLT1pL3N9aWYoKGE9dCk8KHI9MCkpcmV0dXJuIHI7aWYoYT4obj0xKSlyZXR1cm4gbjtmb3IoO3I8bjspe2lmKGk9dGhpcy5zYW1wbGVDdXJ2ZVgoYSksTWF0aC5hYnMoaS10KTxlKXJldHVybiBhO3Q+aT9yPWE6bj1hLGE9LjUqKG4tcikrcn1yZXR1cm4gYX0sbi5wcm90b3R5cGUuc29sdmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5zYW1wbGVDdXJ2ZVkodGhpcy5zb2x2ZUN1cnZlWCh0LGUpKX07dmFyIGE9aTtmdW5jdGlvbiBpKHQsZSl7dGhpcy54PXQsdGhpcy55PWV9ZnVuY3Rpb24gbyh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpe2lmKCFBcnJheS5pc0FycmF5KGUpfHx0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKCFvKHRbcl0sZVtyXSkpcmV0dXJuITE7cmV0dXJuITB9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9PWUpe2lmKCJvYmplY3QiIT10eXBlb2YgZSlyZXR1cm4hMTtpZihPYmplY3Qua2V5cyh0KS5sZW5ndGghPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBuIGluIHQpaWYoIW8odFtuXSxlW25dKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdD09PWV9ZnVuY3Rpb24gcyh0LGUsbixhKXt2YXIgaT1uZXcgcih0LGUsbixhKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkuc29sdmUodCl9fWkucHJvdG90eXBlPXtjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgaSh0aGlzLngsdGhpcy55KX0sYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuX2FkZCh0KX0sc3ViOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuX3N1Yih0KX0sbXVsdEJ5UG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fbXVsdEJ5UG9pbnQodCl9LGRpdkJ5UG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fZGl2QnlQb2ludCh0KX0sbXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9tdWx0KHQpfSxkaXY6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fZGl2KHQpfSxyb3RhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fcm90YXRlKHQpfSxyb3RhdGVBcm91bmQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9yb3RhdGVBcm91bmQodCxlKX0sbWF0TXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9tYXRNdWx0KHQpfSx1bml0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fdW5pdCgpfSxwZXJwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fcGVycCgpfSxyb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX3JvdW5kKCl9LG1hZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55KX0sZXF1YWxzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLng9PT10LngmJnRoaXMueT09PXQueX0sZGlzdDpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZGlzdFNxcih0KSl9LGRpc3RTcXI6ZnVuY3Rpb24odCl7dmFyIGU9dC54LXRoaXMueCxyPXQueS10aGlzLnk7cmV0dXJuIGUqZStyKnJ9LGFuZ2xlOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYXRhbjIodGhpcy55LHRoaXMueCl9LGFuZ2xlVG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguYXRhbjIodGhpcy55LXQueSx0aGlzLngtdC54KX0sYW5nbGVXaXRoOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFuZ2xlV2l0aFNlcCh0LngsdC55KX0sYW5nbGVXaXRoU2VwOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGguYXRhbjIodGhpcy54KmUtdGhpcy55KnQsdGhpcy54KnQrdGhpcy55KmUpfSxfbWF0TXVsdDpmdW5jdGlvbih0KXt2YXIgZT10WzBdKnRoaXMueCt0WzFdKnRoaXMueSxyPXRbMl0qdGhpcy54K3RbM10qdGhpcy55O3JldHVybiB0aGlzLng9ZSx0aGlzLnk9cix0aGlzfSxfYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzfSxfc3ViOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzfSxfbXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzfSxfZGl2OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQsdGhpcy55Lz10LHRoaXN9LF9tdWx0QnlQb2ludDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpc30sX2RpdkJ5UG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXN9LF91bml0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpdih0aGlzLm1hZygpKSx0aGlzfSxfcGVycDpmdW5jdGlvbigpe3ZhciB0PXRoaXMueTtyZXR1cm4gdGhpcy55PXRoaXMueCx0aGlzLng9LXQsdGhpc30sX3JvdGF0ZTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmNvcyh0KSxyPU1hdGguc2luKHQpLG49ZSp0aGlzLngtcip0aGlzLnksYT1yKnRoaXMueCtlKnRoaXMueTtyZXR1cm4gdGhpcy54PW4sdGhpcy55PWEsdGhpc30sX3JvdGF0ZUFyb3VuZDpmdW5jdGlvbih0LGUpe3ZhciByPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCksYT1lLngrcioodGhpcy54LWUueCktbioodGhpcy55LWUueSksaT1lLnkrbioodGhpcy54LWUueCkrcioodGhpcy55LWUueSk7cmV0dXJuIHRoaXMueD1hLHRoaXMueT1pLHRoaXN9LF9yb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpLHRoaXMueT1NYXRoLnJvdW5kKHRoaXMueSksdGhpc319LGkuY29udmVydD1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGk/dDpBcnJheS5pc0FycmF5KHQpP25ldyBpKHRbMF0sdFsxXSk6dH07dmFyIGw9cyguMjUsLjEsLjI1LDEpO2Z1bmN0aW9uIGModCxlLHIpe3JldHVybiBNYXRoLm1pbihyLE1hdGgubWF4KGUsdCkpfWZ1bmN0aW9uIHUodCxlLHIpe3ZhciBuPXItZSxhPSgodC1lKSVuK24pJW4rZTtyZXR1cm4gYT09PWU/cjphfWZ1bmN0aW9uIGgodCl7Zm9yKHZhciBlPVtdLHI9YXJndW1lbnRzLmxlbmd0aC0xO3ItLSA+MDspZVtyXT1hcmd1bWVudHNbcisxXTtmb3IodmFyIG49MCxhPWU7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1hW25dO2Zvcih2YXIgbyBpbiBpKXRbb109aVtvXX1yZXR1cm4gdH12YXIgZj0xO2Z1bmN0aW9uIHAoKXtyZXR1cm4gZisrfWZ1bmN0aW9uIGQoKXtyZXR1cm4gZnVuY3Rpb24gdChlKXtyZXR1cm4gZT8oZV4xNipNYXRoLnJhbmRvbSgpPj5lLzQpLnRvU3RyaW5nKDE2KTooWzFlN10rLVsxZTNdKy00ZTMrLThlMystMWUxMSkucmVwbGFjZSgvWzAxOF0vZyx0KX0oKX1mdW5jdGlvbiBnKHQpe3JldHVybiEhdCYmL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bNF1bMC05YS1mXXszfS1bODlhYl1bMC05YS1mXXszfS1bMC05YS1mXXsxMn0kL2kudGVzdCh0KX1mdW5jdGlvbiB2KHQsZSl7dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2VbdF0mJihlW3RdPWVbdF0uYmluZChlKSl9KX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuLTEhPT10LmluZGV4T2YoZSx0Lmxlbmd0aC1lLmxlbmd0aCl9ZnVuY3Rpb24geSh0LGUscil7dmFyIG49e307Zm9yKHZhciBhIGluIHQpblthXT1lLmNhbGwocnx8dGhpcyx0W2FdLGEsdCk7cmV0dXJuIG59ZnVuY3Rpb24geCh0LGUscil7dmFyIG49e307Zm9yKHZhciBhIGluIHQpZS5jYWxsKHJ8fHRoaXMsdFthXSxhLHQpJiYoblthXT10W2FdKTtyZXR1cm4gbn1mdW5jdGlvbiBiKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3QubWFwKGIpOiJvYmplY3QiPT10eXBlb2YgdCYmdD95KHQsYik6dH12YXIgXz17fTtmdW5jdGlvbiB3KHQpe19bdF18fCgidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUud2Fybih0KSxfW3RdPSEwKX1mdW5jdGlvbiBrKHQsZSxyKXtyZXR1cm4oci55LXQueSkqKGUueC10LngpPihlLnktdC55KSooci54LXQueCl9ZnVuY3Rpb24gVCh0KXtmb3IodmFyIGU9MCxyPTAsbj10Lmxlbmd0aCxhPW4tMSxpPXZvaWQgMCxvPXZvaWQgMDtyPG47YT1yKyspaT10W3JdLGUrPSgobz10W2FdKS54LWkueCkqKGkueStvLnkpO3JldHVybiBlfWZ1bmN0aW9uIE0odCl7dmFyIGU9e307aWYodC5yZXBsYWNlKC8oPzpefCg/OlxzKlwsXHMqKSkoW15ceDAwLVx4MjBcKFwpPD5AXCw7XDpcXCJcL1xbXF1cP1w9XHtcfVx4N0ZdKykoPzpcPSg/OihbXlx4MDAtXHgyMFwoXCk8PkBcLDtcOlxcIlwvXFtcXVw/XD1ce1x9XHg3Rl0rKXwoPzpcIigoPzpbXiJcXF18XFwuKSopXCIpKSk/L2csZnVuY3Rpb24odCxyLG4sYSl7dmFyIGk9bnx8YTtyZXR1cm4gZVtyXT0haXx8aS50b0xvd2VyQ2FzZSgpLCIifSksZVsibWF4LWFnZSJdKXt2YXIgcj1wYXJzZUludChlWyJtYXgtYWdlIl0sMTApO2lzTmFOKHIpP2RlbGV0ZSBlWyJtYXgtYWdlIl06ZVsibWF4LWFnZSJdPXJ9cmV0dXJuIGV9ZnVuY3Rpb24gQSh0KXt0cnl7dmFyIGU9c2VsZlt0XTtyZXR1cm4gZS5zZXRJdGVtKCJfbWFwYm94X3Rlc3RfIiwxKSxlLnJlbW92ZUl0ZW0oIl9tYXBib3hfdGVzdF8iKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19dmFyIFMsRSxMLEMsUD1zZWxmLnBlcmZvcm1hbmNlJiZzZWxmLnBlcmZvcm1hbmNlLm5vdz9zZWxmLnBlcmZvcm1hbmNlLm5vdy5iaW5kKHNlbGYucGVyZm9ybWFuY2UpOkRhdGUubm93LmJpbmQoRGF0ZSksTz1zZWxmLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8c2VsZi5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHNlbGYud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxzZWxmLm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lLHo9c2VsZi5jYW5jZWxBbmltYXRpb25GcmFtZXx8c2VsZi5tb3pDYW5jZWxBbmltYXRpb25GcmFtZXx8c2VsZi53ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZXx8c2VsZi5tc0NhbmNlbEFuaW1hdGlvbkZyYW1lLEk9e25vdzpQLGZyYW1lOmZ1bmN0aW9uKHQpe3ZhciBlPU8odCk7cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe3JldHVybiB6KGUpfX19LGdldEltYWdlRGF0YTpmdW5jdGlvbih0KXt2YXIgZT1zZWxmLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHI9ZS5nZXRDb250ZXh0KCIyZCIpO2lmKCFyKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGNyZWF0ZSBjYW52YXMgMmQgY29udGV4dCIpO3JldHVybiBlLndpZHRoPXQud2lkdGgsZS5oZWlnaHQ9dC5oZWlnaHQsci5kcmF3SW1hZ2UodCwwLDAsdC53aWR0aCx0LmhlaWdodCksci5nZXRJbWFnZURhdGEoMCwwLHQud2lkdGgsdC5oZWlnaHQpfSxyZXNvbHZlVVJMOmZ1bmN0aW9uKHQpe3JldHVybiBTfHwoUz1zZWxmLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSksUy5ocmVmPXQsUy5ocmVmfSxoYXJkd2FyZUNvbmN1cnJlbmN5OnNlbGYubmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l8fDQsZ2V0IGRldmljZVBpeGVsUmF0aW8oKXtyZXR1cm4gc2VsZi5kZXZpY2VQaXhlbFJhdGlvfSxnZXQgcHJlZmVyc1JlZHVjZWRNb3Rpb24oKXtyZXR1cm4hIXNlbGYubWF0Y2hNZWRpYSYmKG51bGw9PUUmJihFPXNlbGYubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKSksRS5tYXRjaGVzKX19LEQ9e0FQSV9VUkw6Imh0dHBzOi8vYXBpLm1hcGJveC5jb20iLGdldCBFVkVOVFNfVVJMKCl7cmV0dXJuIHRoaXMuQVBJX1VSTD8wPT09dGhpcy5BUElfVVJMLmluZGV4T2YoImh0dHBzOi8vYXBpLm1hcGJveC5jbiIpPyJodHRwczovL2V2ZW50cy5tYXBib3guY24vZXZlbnRzL3YyIjowPT09dGhpcy5BUElfVVJMLmluZGV4T2YoImh0dHBzOi8vYXBpLm1hcGJveC5jb20iKT8iaHR0cHM6Ly9ldmVudHMubWFwYm94LmNvbS9ldmVudHMvdjIiOm51bGw6bnVsbH0sRkVFREJBQ0tfVVJMOiJodHRwczovL2FwcHMubWFwYm94LmNvbS9mZWVkYmFjayIsUkVRVUlSRV9BQ0NFU1NfVE9LRU46ITAsQUNDRVNTX1RPS0VOOm51bGwsTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTOjE2fSxSPXtzdXBwb3J0ZWQ6ITEsdGVzdFN1cHBvcnQ6ZnVuY3Rpb24odCl7IUYmJkMmJihCP04odCk6TD10KX19LEY9ITEsQj0hMTtmdW5jdGlvbiBOKHQpe3ZhciBlPXQuY3JlYXRlVGV4dHVyZSgpO3QuYmluZFRleHR1cmUodC5URVhUVVJFXzJELGUpO3RyeXtpZih0LnRleEltYWdlMkQodC5URVhUVVJFXzJELDAsdC5SR0JBLHQuUkdCQSx0LlVOU0lHTkVEX0JZVEUsQyksdC5pc0NvbnRleHRMb3N0KCkpcmV0dXJuO1Iuc3VwcG9ydGVkPSEwfWNhdGNoKHQpe310LmRlbGV0ZVRleHR1cmUoZSksRj0hMH1zZWxmLmRvY3VtZW50JiYoKEM9c2VsZi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSkub25sb2FkPWZ1bmN0aW9uKCl7TCYmTihMKSxMPW51bGwsQj0hMH0sQy5vbmVycm9yPWZ1bmN0aW9uKCl7Rj0hMCxMPW51bGx9LEMuc3JjPSJkYXRhOmltYWdlL3dlYnA7YmFzZTY0LFVrbEdSaDRBQUFCWFJVSlFWbEE0VEJFQUFBQXZBUUFBQUFmUS8vNzN2LytCaU9oL0FBQT0iKTt2YXIgaj0iMDEiLFY9ZnVuY3Rpb24odCxlKXt0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0Rm49dCx0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbj1lLHRoaXMuX2NyZWF0ZVNrdVRva2VuKCl9O2Z1bmN0aW9uIFUodCl7cmV0dXJuIDA9PT10LmluZGV4T2YoIm1hcGJveDoiKX1WLnByb3RvdHlwZS5fY3JlYXRlU2t1VG9rZW49ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbigpe2Zvcih2YXIgdD0iIixlPTA7ZTwxMDtlKyspdCs9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIltNYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpXTtyZXR1cm57dG9rZW46WyIxIixqLHRdLmpvaW4oIiIpLHRva2VuRXhwaXJlc0F0OkRhdGUubm93KCkrNDMyZTV9fSgpO3RoaXMuX3NrdVRva2VuPXQudG9rZW4sdGhpcy5fc2t1VG9rZW5FeHBpcmVzQXQ9dC50b2tlbkV4cGlyZXNBdH0sVi5wcm90b3R5cGUuX2lzU2t1VG9rZW5FeHBpcmVkPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCk+dGhpcy5fc2t1VG9rZW5FeHBpcmVzQXR9LFYucHJvdG90eXBlLnRyYW5zZm9ybVJlcXVlc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJhbnNmb3JtUmVxdWVzdEZuJiZ0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0Rm4odCxlKXx8e3VybDp0fX0sVi5wcm90b3R5cGUubm9ybWFsaXplU3R5bGVVUkw9ZnVuY3Rpb24odCxlKXtpZighVSh0KSlyZXR1cm4gdDt2YXIgcj1ZKHQpO3JldHVybiByLnBhdGg9Ii9zdHlsZXMvdjEiK3IucGF0aCx0aGlzLl9tYWtlQVBJVVJMKHIsdGhpcy5fY3VzdG9tQWNjZXNzVG9rZW58fGUpfSxWLnByb3RvdHlwZS5ub3JtYWxpemVHbHlwaHNVUkw9ZnVuY3Rpb24odCxlKXtpZighVSh0KSlyZXR1cm4gdDt2YXIgcj1ZKHQpO3JldHVybiByLnBhdGg9Ii9mb250cy92MSIrci5wYXRoLHRoaXMuX21ha2VBUElVUkwocix0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbnx8ZSl9LFYucHJvdG90eXBlLm5vcm1hbGl6ZVNvdXJjZVVSTD1mdW5jdGlvbih0LGUpe2lmKCFVKHQpKXJldHVybiB0O3ZhciByPVkodCk7cmV0dXJuIHIucGF0aD0iL3Y0LyIrci5hdXRob3JpdHkrIi5qc29uIixyLnBhcmFtcy5wdXNoKCJzZWN1cmUiKSx0aGlzLl9tYWtlQVBJVVJMKHIsdGhpcy5fY3VzdG9tQWNjZXNzVG9rZW58fGUpfSxWLnByb3RvdHlwZS5ub3JtYWxpemVTcHJpdGVVUkw9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9WSh0KTtyZXR1cm4gVSh0KT8oYS5wYXRoPSIvc3R5bGVzL3YxIithLnBhdGgrIi9zcHJpdGUiK2Urcix0aGlzLl9tYWtlQVBJVVJMKGEsdGhpcy5fY3VzdG9tQWNjZXNzVG9rZW58fG4pKTooYS5wYXRoKz0iIitlK3IsVyhhKSl9LFYucHJvdG90eXBlLm5vcm1hbGl6ZVRpbGVVUkw9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuX2lzU2t1VG9rZW5FeHBpcmVkKCkmJnRoaXMuX2NyZWF0ZVNrdVRva2VuKCksIWV8fCFVKGUpKXJldHVybiB0O3ZhciBuPVkodCksYT1JLmRldmljZVBpeGVsUmF0aW8+PTJ8fDUxMj09PXI/IkAyeCI6IiIsaT1SLnN1cHBvcnRlZD8iLndlYnAiOiIkMSI7cmV0dXJuIG4ucGF0aD1uLnBhdGgucmVwbGFjZSgvKFwuKHBuZ3xqcGcpXGQqKSg/PSQpLywiIithK2kpLG4ucGF0aD1uLnBhdGgucmVwbGFjZSgvXi4rXC92NFwvLywiLyIpLG4ucGF0aD0iL3Y0IituLnBhdGgsRC5SRVFVSVJFX0FDQ0VTU19UT0tFTiYmKEQuQUNDRVNTX1RPS0VOfHx0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbikmJnRoaXMuX3NrdVRva2VuJiZuLnBhcmFtcy5wdXNoKCJza3U9Iit0aGlzLl9za3VUb2tlbiksdGhpcy5fbWFrZUFQSVVSTChuLHRoaXMuX2N1c3RvbUFjY2Vzc1Rva2VuKX0sVi5wcm90b3R5cGUuY2Fub25pY2FsaXplVGlsZVVSTD1mdW5jdGlvbih0KXt2YXIgZT1ZKHQpO2lmKCFlLnBhdGgubWF0Y2goLyheXC92NFwvKS8pfHwhZS5wYXRoLm1hdGNoKC9cLltcd10rJC8pKXJldHVybiB0O3ZhciByPSJtYXBib3g6Ly90aWxlcy8iO3IrPWUucGF0aC5yZXBsYWNlKCIvdjQvIiwiIik7dmFyIG49ZS5wYXJhbXMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiF0Lm1hdGNoKC9eYWNjZXNzX3Rva2VuPS8pfSk7cmV0dXJuIG4ubGVuZ3RoJiYocis9Ij8iK24uam9pbigiJiIpKSxyfSxWLnByb3RvdHlwZS5jYW5vbmljYWxpemVUaWxlc2V0PWZ1bmN0aW9uKHQsZSl7aWYoIVUoZSkpcmV0dXJuIHQudGlsZXN8fFtdO2Zvcih2YXIgcj1bXSxuPTAsYT10LnRpbGVzO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXSxvPXRoaXMuY2Fub25pY2FsaXplVGlsZVVSTChpKTtyLnB1c2gobyl9cmV0dXJuIHJ9LFYucHJvdG90eXBlLl9tYWtlQVBJVVJMPWZ1bmN0aW9uKHQsZSl7dmFyIHI9IlNlZSBodHRwczovL3d3dy5tYXBib3guY29tL2FwaS1kb2N1bWVudGF0aW9uLyNhY2Nlc3MtdG9rZW5zLWFuZC10b2tlbi1zY29wZXMiLG49WShELkFQSV9VUkwpO2lmKHQucHJvdG9jb2w9bi5wcm90b2NvbCx0LmF1dGhvcml0eT1uLmF1dGhvcml0eSwiLyIhPT1uLnBhdGgmJih0LnBhdGg9IiIrbi5wYXRoK3QucGF0aCksIUQuUkVRVUlSRV9BQ0NFU1NfVE9LRU4pcmV0dXJuIFcodCk7aWYoIShlPWV8fEQuQUNDRVNTX1RPS0VOKSl0aHJvdyBuZXcgRXJyb3IoIkFuIEFQSSBhY2Nlc3MgdG9rZW4gaXMgcmVxdWlyZWQgdG8gdXNlIE1hcGJveCBHTC4gIityKTtpZigicyI9PT1lWzBdKXRocm93IG5ldyBFcnJvcigiVXNlIGEgcHVibGljIGFjY2VzcyB0b2tlbiAocGsuKikgd2l0aCBNYXBib3ggR0wsIG5vdCBhIHNlY3JldCBhY2Nlc3MgdG9rZW4gKHNrLiopLiAiK3IpO3JldHVybiB0LnBhcmFtcz10LnBhcmFtcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10LmluZGV4T2YoImFjY2Vzc190b2tlbiIpfSksdC5wYXJhbXMucHVzaCgiYWNjZXNzX3Rva2VuPSIrZSksVyh0KX07dmFyIHE9L14oKGh0dHBzPzopP1wvXC8pPyhbXlwvXStcLik/bWFwYm94XC5jKG58b20pKFwvfFw/fCQpL2k7ZnVuY3Rpb24gSCh0KXtyZXR1cm4gcS50ZXN0KHQpfXZhciBHPS9eKFx3Kyk6XC9cLyhbXlwvP10qKShcL1teP10rKT9cPz8oLispPy87ZnVuY3Rpb24gWSh0KXt2YXIgZT10Lm1hdGNoKEcpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIHBhcnNlIFVSTCBvYmplY3QiKTtyZXR1cm57cHJvdG9jb2w6ZVsxXSxhdXRob3JpdHk6ZVsyXSxwYXRoOmVbM118fCIvIixwYXJhbXM6ZVs0XT9lWzRdLnNwbGl0KCImIik6W119fWZ1bmN0aW9uIFcodCl7dmFyIGU9dC5wYXJhbXMubGVuZ3RoPyI/Iit0LnBhcmFtcy5qb2luKCImIik6IiI7cmV0dXJuIHQucHJvdG9jb2wrIjovLyIrdC5hdXRob3JpdHkrdC5wYXRoK2V9ZnVuY3Rpb24gWCh0KXtpZighdClyZXR1cm4gbnVsbDt2YXIgZSxyPXQuc3BsaXQoIi4iKTtpZighcnx8MyE9PXIubGVuZ3RoKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZSgoZT1yWzFdLGRlY29kZVVSSUNvbXBvbmVudChzZWxmLmF0b2IoZSkuc3BsaXQoIiIpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iJSIrKCIwMCIrdC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpfSkuam9pbigiIikpKSl9Y2F0Y2godCl7cmV0dXJuIG51bGx9fXZhciBaPWZ1bmN0aW9uKHQpe3RoaXMudHlwZT10LHRoaXMuYW5vbklkPW51bGwsdGhpcy5ldmVudERhdGE9e30sdGhpcy5xdWV1ZT1bXSx0aGlzLnBlbmRpbmdSZXF1ZXN0PW51bGx9O1oucHJvdG90eXBlLmdldFN0b3JhZ2VLZXk9ZnVuY3Rpb24odCl7dmFyIGUscj1YKEQuQUNDRVNTX1RPS0VOKSxuPSIiO3JldHVybiByJiZyLnU/KGU9ci51LG49c2VsZi5idG9hKGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKFswLTlBLUZdezJ9KS9nLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoTnVtYmVyKCIweCIrZSkpfSkpKTpuPUQuQUNDRVNTX1RPS0VOfHwiIix0PyJtYXBib3guZXZlbnREYXRhLiIrdCsiOiIrbjoibWFwYm94LmV2ZW50RGF0YToiK259LFoucHJvdG90eXBlLmZldGNoRXZlbnREYXRhPWZ1bmN0aW9uKCl7dmFyIHQ9QSgibG9jYWxTdG9yYWdlIiksZT10aGlzLmdldFN0b3JhZ2VLZXkoKSxyPXRoaXMuZ2V0U3RvcmFnZUtleSgidXVpZCIpO2lmKHQpdHJ5e3ZhciBuPXNlbGYubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk7biYmKHRoaXMuZXZlbnREYXRhPUpTT04ucGFyc2UobikpO3ZhciBhPXNlbGYubG9jYWxTdG9yYWdlLmdldEl0ZW0ocik7YSYmKHRoaXMuYW5vbklkPWEpfWNhdGNoKHQpe3coIlVuYWJsZSB0byByZWFkIGZyb20gTG9jYWxTdG9yYWdlIil9fSxaLnByb3RvdHlwZS5zYXZlRXZlbnREYXRhPWZ1bmN0aW9uKCl7dmFyIHQ9QSgibG9jYWxTdG9yYWdlIiksZT10aGlzLmdldFN0b3JhZ2VLZXkoKSxyPXRoaXMuZ2V0U3RvcmFnZUtleSgidXVpZCIpO2lmKHQpdHJ5e3NlbGYubG9jYWxTdG9yYWdlLnNldEl0ZW0ocix0aGlzLmFub25JZCksT2JqZWN0LmtleXModGhpcy5ldmVudERhdGEpLmxlbmd0aD49MSYmc2VsZi5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLEpTT04uc3RyaW5naWZ5KHRoaXMuZXZlbnREYXRhKSl9Y2F0Y2godCl7dygiVW5hYmxlIHRvIHdyaXRlIHRvIExvY2FsU3RvcmFnZSIpfX0sWi5wcm90b3R5cGUucHJvY2Vzc1JlcXVlc3RzPWZ1bmN0aW9uKHQpe30sWi5wcm90b3R5cGUucG9zdEV2ZW50PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXM7aWYoRC5FVkVOVFNfVVJMKXt2YXIgaT1ZKEQuRVZFTlRTX1VSTCk7aS5wYXJhbXMucHVzaCgiYWNjZXNzX3Rva2VuPSIrKG58fEQuQUNDRVNTX1RPS0VOfHwiIikpO3ZhciBvPXtldmVudDp0aGlzLnR5cGUsY3JlYXRlZDpuZXcgRGF0ZSh0KS50b0lTT1N0cmluZygpLHNka0lkZW50aWZpZXI6Im1hcGJveC1nbC1qcyIsc2RrVmVyc2lvbjoiMS4zLjIiLHNrdUlkOmosdXNlcklkOnRoaXMuYW5vbklkfSxzPWU/aChvLGUpOm8sbD17dXJsOlcoaSksaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6InRleHQvcGxhaW4ifSxib2R5OkpTT04uc3RyaW5naWZ5KFtzXSl9O3RoaXMucGVuZGluZ1JlcXVlc3Q9bXQobCxmdW5jdGlvbih0KXthLnBlbmRpbmdSZXF1ZXN0PW51bGwscih0KSxhLnNhdmVFdmVudERhdGEoKSxhLnByb2Nlc3NSZXF1ZXN0cyhuKX0pfX0sWi5wcm90b3R5cGUucXVldWVSZXF1ZXN0PWZ1bmN0aW9uKHQsZSl7dGhpcy5xdWV1ZS5wdXNoKHQpLHRoaXMucHJvY2Vzc1JlcXVlc3RzKGUpfTt2YXIgSixLPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmNhbGwodGhpcywibWFwLmxvYWQiKSx0aGlzLnN1Y2Nlc3M9e30sdGhpcy5za3VUb2tlbj0iIn1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUucG9zdE1hcExvYWRFdmVudD1mdW5jdGlvbih0LGUscixuKXt0aGlzLnNrdVRva2VuPXIsKEQuRVZFTlRTX1VSTCYmbnx8RC5BQ0NFU1NfVE9LRU4mJkFycmF5LmlzQXJyYXkodCkmJnQuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gVSh0KXx8SCh0KX0pKSYmdGhpcy5xdWV1ZVJlcXVlc3Qoe2lkOmUsdGltZXN0YW1wOkRhdGUubm93KCl9LG4pfSxlLnByb3RvdHlwZS5wcm9jZXNzUmVxdWVzdHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZighdGhpcy5wZW5kaW5nUmVxdWVzdCYmMCE9PXRoaXMucXVldWUubGVuZ3RoKXt2YXIgcj10aGlzLnF1ZXVlLnNoaWZ0KCksbj1yLmlkLGE9ci50aW1lc3RhbXA7biYmdGhpcy5zdWNjZXNzW25dfHwodGhpcy5hbm9uSWR8fHRoaXMuZmV0Y2hFdmVudERhdGEoKSxnKHRoaXMuYW5vbklkKXx8KHRoaXMuYW5vbklkPWQoKSksdGhpcy5wb3N0RXZlbnQoYSx7c2t1VG9rZW46dGhpcy5za3VUb2tlbn0sZnVuY3Rpb24odCl7dHx8biYmKGUuc3VjY2Vzc1tuXT0hMCl9LHQpKX19LGV9KFopLFE9bmV3KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsImFwcFVzZXJUdXJuc3RpbGUiKSx0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbj1lfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5wb3N0VHVybnN0aWxlRXZlbnQ9ZnVuY3Rpb24odCxlKXtELkVWRU5UU19VUkwmJkQuQUNDRVNTX1RPS0VOJiZBcnJheS5pc0FycmF5KHQpJiZ0LnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIFUodCl8fEgodCl9KSYmdGhpcy5xdWV1ZVJlcXVlc3QoRGF0ZS5ub3coKSxlKX0sZS5wcm90b3R5cGUucHJvY2Vzc1JlcXVlc3RzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoIXRoaXMucGVuZGluZ1JlcXVlc3QmJjAhPT10aGlzLnF1ZXVlLmxlbmd0aCl7dGhpcy5hbm9uSWQmJnRoaXMuZXZlbnREYXRhLmxhc3RTdWNjZXNzJiZ0aGlzLmV2ZW50RGF0YS50b2tlblV8fHRoaXMuZmV0Y2hFdmVudERhdGEoKTt2YXIgcj1YKEQuQUNDRVNTX1RPS0VOKSxuPXI/ci51OkQuQUNDRVNTX1RPS0VOLGE9biE9PXRoaXMuZXZlbnREYXRhLnRva2VuVTtnKHRoaXMuYW5vbklkKXx8KHRoaXMuYW5vbklkPWQoKSxhPSEwKTt2YXIgaT10aGlzLnF1ZXVlLnNoaWZ0KCk7aWYodGhpcy5ldmVudERhdGEubGFzdFN1Y2Nlc3Mpe3ZhciBvPW5ldyBEYXRlKHRoaXMuZXZlbnREYXRhLmxhc3RTdWNjZXNzKSxzPW5ldyBEYXRlKGkpLGw9KGktdGhpcy5ldmVudERhdGEubGFzdFN1Y2Nlc3MpLzg2NGU1O2E9YXx8bD49MXx8bDwtMXx8by5nZXREYXRlKCkhPT1zLmdldERhdGUoKX1lbHNlIGE9ITA7aWYoIWEpcmV0dXJuIHRoaXMucHJvY2Vzc1JlcXVlc3RzKCk7dGhpcy5wb3N0RXZlbnQoaSx7ImVuYWJsZWQudGVsZW1ldHJ5IjohMX0sZnVuY3Rpb24odCl7dHx8KGUuZXZlbnREYXRhLmxhc3RTdWNjZXNzPWksZS5ldmVudERhdGEudG9rZW5VPW4pfSx0KX19LGV9KFopKSwkPVEucG9zdFR1cm5zdGlsZUV2ZW50LmJpbmQoUSksdHQ9bmV3IEssZXQ9dHQucG9zdE1hcExvYWRFdmVudC5iaW5kKHR0KSxydD0ibWFwYm94LXRpbGVzIixudD01MDAsYXQ9NTAsaXQ9NDJlNDtmdW5jdGlvbiBvdCh0KXt2YXIgZT10LmluZGV4T2YoIj8iKTtyZXR1cm4gZTwwP3Q6dC5zbGljZSgwLGUpfXZhciBzdD0xLzAsbHQ9e1Vua25vd246IlVua25vd24iLFN0eWxlOiJTdHlsZSIsU291cmNlOiJTb3VyY2UiLFRpbGU6IlRpbGUiLEdseXBoczoiR2x5cGhzIixTcHJpdGVJbWFnZToiU3ByaXRlSW1hZ2UiLFNwcml0ZUpTT046IlNwcml0ZUpTT04iLEltYWdlOiJJbWFnZSJ9OyJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZnJlZXplJiZPYmplY3QuZnJlZXplKGx0KTt2YXIgY3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIsbil7NDAxPT09ciYmSChuKSYmKGUrPSI6IHlvdSBtYXkgaGF2ZSBwcm92aWRlZCBhbiBpbnZhbGlkIE1hcGJveCBhY2Nlc3MgdG9rZW4uIFNlZSBodHRwczovL3d3dy5tYXBib3guY29tL2FwaS1kb2N1bWVudGF0aW9uLyNhY2Nlc3MtdG9rZW5zLWFuZC10b2tlbi1zY29wZXMiKSx0LmNhbGwodGhpcyxlKSx0aGlzLnN0YXR1cz1yLHRoaXMudXJsPW4sdGhpcy5uYW1lPXRoaXMuY29uc3RydWN0b3IubmFtZSx0aGlzLm1lc3NhZ2U9ZX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lKyI6ICIrdGhpcy5tZXNzYWdlKyIgKCIrdGhpcy5zdGF0dXMrIik6ICIrdGhpcy51cmx9LGV9KEVycm9yKTtmdW5jdGlvbiB1dCgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlfXZhciBodD11dCgpP2Z1bmN0aW9uKCl7cmV0dXJuIHNlbGYud29ya2VyJiZzZWxmLndvcmtlci5yZWZlcnJlcn06ZnVuY3Rpb24oKXtyZXR1cm4oImJsb2I6Ij09PXNlbGYubG9jYXRpb24ucHJvdG9jb2w/c2VsZi5wYXJlbnQ6c2VsZikubG9jYXRpb24uaHJlZn07ZnVuY3Rpb24gZnQodCxlKXt2YXIgcixuPW5ldyBzZWxmLkFib3J0Q29udHJvbGxlcixhPW5ldyBzZWxmLlJlcXVlc3QodC51cmwse21ldGhvZDp0Lm1ldGhvZHx8IkdFVCIsYm9keTp0LmJvZHksY3JlZGVudGlhbHM6dC5jcmVkZW50aWFscyxoZWFkZXJzOnQuaGVhZGVycyxyZWZlcnJlcjpodCgpLHNpZ25hbDpuLnNpZ25hbH0pLGk9ITEsbz0hMSxzPShyPWEudXJsKS5pbmRleE9mKCJza3U9Iik+MCYmSChyKTsianNvbiI9PT10LnR5cGUmJmEuaGVhZGVycy5zZXQoIkFjY2VwdCIsImFwcGxpY2F0aW9uL2pzb24iKTt2YXIgbD1mdW5jdGlvbihyLG4saSl7aWYoIW8pe2lmKHImJiJTZWN1cml0eUVycm9yIiE9PXIubWVzc2FnZSYmdyhyKSxuJiZpKXJldHVybiBjKG4pO3ZhciBsPURhdGUubm93KCk7c2VsZi5mZXRjaChhKS50aGVuKGZ1bmN0aW9uKHIpe2lmKHIub2spe3ZhciBuPXM/ci5jbG9uZSgpOm51bGw7cmV0dXJuIGMocixuLGwpfXJldHVybiBlKG5ldyBjdChyLnN0YXR1c1RleHQsci5zdGF0dXMsdC51cmwpKX0pLmNhdGNoKGZ1bmN0aW9uKHQpezIwIT09dC5jb2RlJiZlKG5ldyBFcnJvcih0Lm1lc3NhZ2UpKX0pfX0sYz1mdW5jdGlvbihyLG4scyl7KCJhcnJheUJ1ZmZlciI9PT10LnR5cGU/ci5hcnJheUJ1ZmZlcigpOiJqc29uIj09PXQudHlwZT9yLmpzb24oKTpyLnRleHQoKSkudGhlbihmdW5jdGlvbih0KXtvfHwobiYmcyYmZnVuY3Rpb24odCxlLHIpe2lmKHNlbGYuY2FjaGVzKXt2YXIgbj17c3RhdHVzOmUuc3RhdHVzLHN0YXR1c1RleHQ6ZS5zdGF0dXNUZXh0LGhlYWRlcnM6bmV3IHNlbGYuSGVhZGVyc307ZS5oZWFkZXJzLmZvckVhY2goZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5oZWFkZXJzLnNldChlLHQpfSk7dmFyIGE9TShlLmhlYWRlcnMuZ2V0KCJDYWNoZS1Db250cm9sIil8fCIiKTthWyJuby1zdG9yZSJdfHwoYVsibWF4LWFnZSJdJiZuLmhlYWRlcnMuc2V0KCJFeHBpcmVzIixuZXcgRGF0ZShyKzFlMyphWyJtYXgtYWdlIl0pLnRvVVRDU3RyaW5nKCkpLG5ldyBEYXRlKG4uaGVhZGVycy5nZXQoIkV4cGlyZXMiKSkuZ2V0VGltZSgpLXI8aXR8fGZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09Sil0cnl7bmV3IFJlc3BvbnNlKG5ldyBSZWFkYWJsZVN0cmVhbSksSj0hMH1jYXRjaCh0KXtKPSExfUo/ZSh0LmJvZHkpOnQuYmxvYigpLnRoZW4oZSl9KGUsZnVuY3Rpb24oZSl7dmFyIHI9bmV3IHNlbGYuUmVzcG9uc2UoZSxuKTtzZWxmLmNhY2hlcy5vcGVuKHJ0KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLnB1dChvdCh0LnVybCkscil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gdyh0Lm1lc3NhZ2UpfSl9KSl9fShhLG4scyksaT0hMCxlKG51bGwsdCxyLmhlYWRlcnMuZ2V0KCJDYWNoZS1Db250cm9sIiksci5oZWFkZXJzLmdldCgiRXhwaXJlcyIpKSl9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gZShuZXcgRXJyb3IodC5tZXNzYWdlKSl9KX07cmV0dXJuIHM/ZnVuY3Rpb24odCxlKXtpZighc2VsZi5jYWNoZXMpcmV0dXJuIGUobnVsbCk7dmFyIHI9b3QodC51cmwpO3NlbGYuY2FjaGVzLm9wZW4ocnQpLnRoZW4oZnVuY3Rpb24odCl7dC5tYXRjaChyKS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBhPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiExO3ZhciBlPW5ldyBEYXRlKHQuaGVhZGVycy5nZXQoIkV4cGlyZXMiKSkscj1NKHQuaGVhZGVycy5nZXQoIkNhY2hlLUNvbnRyb2wiKXx8IiIpO3JldHVybiBlPkRhdGUubm93KCkmJiFyWyJuby1jYWNoZSJdfShuKTt0LmRlbGV0ZShyKSxhJiZ0LnB1dChyLG4uY2xvbmUoKSksZShudWxsLG4sYSl9KS5jYXRjaChlKX0pLmNhdGNoKGUpfShhLGwpOmwobnVsbCxudWxsKSx7Y2FuY2VsOmZ1bmN0aW9uKCl7bz0hMCxpfHxuLmFib3J0KCl9fX12YXIgcHQsZHQsZ3Q9ZnVuY3Rpb24odCxlKXtpZihyPXQudXJsLCEoL15maWxlOi8udGVzdChyKXx8L15maWxlOi8udGVzdChodCgpKSYmIS9eXHcrOi8udGVzdChyKSkpe2lmKHNlbGYuZmV0Y2gmJnNlbGYuUmVxdWVzdCYmc2VsZi5BYm9ydENvbnRyb2xsZXImJnNlbGYuUmVxdWVzdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNpZ25hbCIpKXJldHVybiBmdCh0LGUpO2lmKHV0KCkmJnNlbGYud29ya2VyJiZzZWxmLndvcmtlci5hY3RvcilyZXR1cm4gc2VsZi53b3JrZXIuYWN0b3Iuc2VuZCgiZ2V0UmVzb3VyY2UiLHQsZSl9dmFyIHI7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IHNlbGYuWE1MSHR0cFJlcXVlc3Q7Zm9yKHZhciBuIGluIHIub3Blbih0Lm1ldGhvZHx8IkdFVCIsdC51cmwsITApLCJhcnJheUJ1ZmZlciI9PT10LnR5cGUmJihyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiKSx0LmhlYWRlcnMpci5zZXRSZXF1ZXN0SGVhZGVyKG4sdC5oZWFkZXJzW25dKTtyZXR1cm4ianNvbiI9PT10LnR5cGUmJihyLnJlc3BvbnNlVHlwZT0idGV4dCIsci5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCJhcHBsaWNhdGlvbi9qc29uIikpLHIud2l0aENyZWRlbnRpYWxzPSJpbmNsdWRlIj09PXQuY3JlZGVudGlhbHMsci5vbmVycm9yPWZ1bmN0aW9uKCl7ZShuZXcgRXJyb3Ioci5zdGF0dXNUZXh0KSl9LHIub25sb2FkPWZ1bmN0aW9uKCl7aWYoKHIuc3RhdHVzPj0yMDAmJnIuc3RhdHVzPDMwMHx8MD09PXIuc3RhdHVzKSYmbnVsbCE9PXIucmVzcG9uc2Upe3ZhciBuPXIucmVzcG9uc2U7aWYoImpzb24iPT09dC50eXBlKXRyeXtuPUpTT04ucGFyc2Uoci5yZXNwb25zZSl9Y2F0Y2godCl7cmV0dXJuIGUodCl9ZShudWxsLG4sci5nZXRSZXNwb25zZUhlYWRlcigiQ2FjaGUtQ29udHJvbCIpLHIuZ2V0UmVzcG9uc2VIZWFkZXIoIkV4cGlyZXMiKSl9ZWxzZSBlKG5ldyBjdChyLnN0YXR1c1RleHQsci5zdGF0dXMsdC51cmwpKX0sci5zZW5kKHQuYm9keSkse2NhbmNlbDpmdW5jdGlvbigpe3JldHVybiByLmFib3J0KCl9fX0odCxlKX0sdnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZ3QoaCh0LHt0eXBlOiJhcnJheUJ1ZmZlciJ9KSxlKX0sbXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZ3QoaCh0LHttZXRob2Q6IlBPU1QifSksZSl9O3B0PVtdLGR0PTA7dmFyIHl0PWZ1bmN0aW9uKHQsZSl7aWYoZHQ+PUQuTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTKXt2YXIgcj17cmVxdWVzdFBhcmFtZXRlcnM6dCxjYWxsYmFjazplLGNhbmNlbGxlZDohMSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbGxlZD0hMH19O3JldHVybiBwdC5wdXNoKHIpLHJ9ZHQrKzt2YXIgbj0hMSxhPWZ1bmN0aW9uKCl7aWYoIW4pZm9yKG49ITAsZHQtLTtwdC5sZW5ndGgmJmR0PEQuTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTOyl7dmFyIHQ9cHQuc2hpZnQoKSxlPXQucmVxdWVzdFBhcmFtZXRlcnMscj10LmNhbGxiYWNrO3QuY2FuY2VsbGVkfHwodC5jYW5jZWw9eXQoZSxyKS5jYW5jZWwpfX0saT12dCh0LGZ1bmN0aW9uKHQscixuLGkpe2lmKGEoKSx0KWUodCk7ZWxzZSBpZihyKXt2YXIgbz1uZXcgc2VsZi5JbWFnZSxzPXNlbGYuVVJMfHxzZWxmLndlYmtpdFVSTDtvLm9ubG9hZD1mdW5jdGlvbigpe2UobnVsbCxvKSxzLnJldm9rZU9iamVjdFVSTChvLnNyYyl9LG8ub25lcnJvcj1mdW5jdGlvbigpe3JldHVybiBlKG5ldyBFcnJvcigiQ291bGQgbm90IGxvYWQgaW1hZ2UuIFBsZWFzZSBtYWtlIHN1cmUgdG8gdXNlIGEgc3VwcG9ydGVkIGltYWdlIHR5cGUgc3VjaCBhcyBQTkcgb3IgSlBFRy4gTm90ZSB0aGF0IFNWR3MgYXJlIG5vdCBzdXBwb3J0ZWQuIikpfTt2YXIgbD1uZXcgc2VsZi5CbG9iKFtuZXcgVWludDhBcnJheShyKV0se3R5cGU6ImltYWdlL3BuZyJ9KTtvLmNhY2hlQ29udHJvbD1uLG8uZXhwaXJlcz1pLG8uc3JjPXIuYnl0ZUxlbmd0aD9zLmNyZWF0ZU9iamVjdFVSTChsKToiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQUMwbEVRVlFZVjJOZ0FBSUFBQVVBQWFyVnlGRUFBQUFBU1VWT1JLNUNZSUk9In19KTtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7aS5jYW5jZWwoKSxhKCl9fX07ZnVuY3Rpb24geHQodCxlLHIpe3JbdF0mJi0xIT09clt0XS5pbmRleE9mKGUpfHwoclt0XT1yW3RdfHxbXSxyW3RdLnB1c2goZSkpfWZ1bmN0aW9uIGJ0KHQsZSxyKXtpZihyJiZyW3RdKXt2YXIgbj1yW3RdLmluZGV4T2YoZSk7LTEhPT1uJiZyW3RdLnNwbGljZShuLDEpfX12YXIgX3Q9ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT17fSksaCh0aGlzLGUpLHRoaXMudHlwZT10fSx3dD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dm9pZCAwPT09ciYmKHI9e30pLHQuY2FsbCh0aGlzLCJlcnJvciIsaCh7ZXJyb3I6ZX0scikpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlfShfdCksa3Q9ZnVuY3Rpb24oKXt9O2t0LnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzfHx7fSx4dCh0LGUsdGhpcy5fbGlzdGVuZXJzKSx0aGlzfSxrdC5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGJ0KHQsZSx0aGlzLl9saXN0ZW5lcnMpLGJ0KHQsZSx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzKSx0aGlzfSxrdC5wcm90b3R5cGUub25jZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9vbmVUaW1lTGlzdGVuZXJzPXRoaXMuX29uZVRpbWVMaXN0ZW5lcnN8fHt9LHh0KHQsZSx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzKSx0aGlzfSxrdC5wcm90b3R5cGUuZmlyZT1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IF90KHQsZXx8e30pKTt2YXIgcj10LnR5cGU7aWYodGhpcy5saXN0ZW5zKHIpKXt0LnRhcmdldD10aGlzO2Zvcih2YXIgbj0wLGE9dGhpcy5fbGlzdGVuZXJzJiZ0aGlzLl9saXN0ZW5lcnNbcl0/dGhpcy5fbGlzdGVuZXJzW3JdLnNsaWNlKCk6W107bjxhLmxlbmd0aDtuKz0xKWFbbl0uY2FsbCh0aGlzLHQpO2Zvcih2YXIgaT0wLG89dGhpcy5fb25lVGltZUxpc3RlbmVycyYmdGhpcy5fb25lVGltZUxpc3RlbmVyc1tyXT90aGlzLl9vbmVUaW1lTGlzdGVuZXJzW3JdLnNsaWNlKCk6W107aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldO2J0KHIscyx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzKSxzLmNhbGwodGhpcyx0KX12YXIgbD10aGlzLl9ldmVudGVkUGFyZW50O2wmJihoKHQsImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2V2ZW50ZWRQYXJlbnREYXRhP3RoaXMuX2V2ZW50ZWRQYXJlbnREYXRhKCk6dGhpcy5fZXZlbnRlZFBhcmVudERhdGEpLGwuZmlyZSh0KSl9ZWxzZSB0IGluc3RhbmNlb2Ygd3QmJmNvbnNvbGUuZXJyb3IodC5lcnJvcik7cmV0dXJuIHRoaXN9LGt0LnByb3RvdHlwZS5saXN0ZW5zPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9saXN0ZW5lcnMmJnRoaXMuX2xpc3RlbmVyc1t0XSYmdGhpcy5fbGlzdGVuZXJzW3RdLmxlbmd0aD4wfHx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzJiZ0aGlzLl9vbmVUaW1lTGlzdGVuZXJzW3RdJiZ0aGlzLl9vbmVUaW1lTGlzdGVuZXJzW3RdLmxlbmd0aD4wfHx0aGlzLl9ldmVudGVkUGFyZW50JiZ0aGlzLl9ldmVudGVkUGFyZW50Lmxpc3RlbnModCl9LGt0LnByb3RvdHlwZS5zZXRFdmVudGVkUGFyZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2V2ZW50ZWRQYXJlbnQ9dCx0aGlzLl9ldmVudGVkUGFyZW50RGF0YT1lLHRoaXN9O3ZhciBUdD17JHZlcnNpb246OCwkcm9vdDp7dmVyc2lvbjp7cmVxdWlyZWQ6ITAsdHlwZToiZW51bSIsdmFsdWVzOls4XX0sbmFtZTp7dHlwZToic3RyaW5nIn0sbWV0YWRhdGE6e3R5cGU6IioifSxjZW50ZXI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIn0sem9vbTp7dHlwZToibnVtYmVyIn0sYmVhcmluZzp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAscGVyaW9kOjM2MCx1bml0czoiZGVncmVlcyJ9LHBpdGNoOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCx1bml0czoiZGVncmVlcyJ9LGxpZ2h0Ont0eXBlOiJsaWdodCJ9LHNvdXJjZXM6e3JlcXVpcmVkOiEwLHR5cGU6InNvdXJjZXMifSxzcHJpdGU6e3R5cGU6InN0cmluZyJ9LGdseXBoczp7dHlwZToic3RyaW5nIn0sdHJhbnNpdGlvbjp7dHlwZToidHJhbnNpdGlvbiJ9LGxheWVyczp7cmVxdWlyZWQ6ITAsdHlwZToiYXJyYXkiLHZhbHVlOiJsYXllciJ9fSxzb3VyY2VzOnsiKiI6e3R5cGU6InNvdXJjZSJ9fSxzb3VyY2U6WyJzb3VyY2VfdmVjdG9yIiwic291cmNlX3Jhc3RlciIsInNvdXJjZV9yYXN0ZXJfZGVtIiwic291cmNlX2dlb2pzb24iLCJzb3VyY2VfdmlkZW8iLCJzb3VyY2VfaW1hZ2UiXSxzb3VyY2VfdmVjdG9yOnt0eXBlOntyZXF1aXJlZDohMCx0eXBlOiJlbnVtIix2YWx1ZXM6e3ZlY3Rvcjp7fX19LHVybDp7dHlwZToic3RyaW5nIn0sdGlsZXM6e3R5cGU6ImFycmF5Iix2YWx1ZToic3RyaW5nIn0sYm91bmRzOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjQsZGVmYXVsdDpbLTE4MCwtODUuMDUxMTI5LDE4MCw4NS4wNTExMjldfSxzY2hlbWU6e3R5cGU6ImVudW0iLHZhbHVlczp7eHl6Ont9LHRtczp7fX0sZGVmYXVsdDoieHl6In0sbWluem9vbTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjB9LG1heHpvb206e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyMn0sYXR0cmlidXRpb246e3R5cGU6InN0cmluZyJ9LCIqIjp7dHlwZToiKiJ9fSxzb3VyY2VfcmFzdGVyOnt0eXBlOntyZXF1aXJlZDohMCx0eXBlOiJlbnVtIix2YWx1ZXM6e3Jhc3Rlcjp7fX19LHVybDp7dHlwZToic3RyaW5nIn0sdGlsZXM6e3R5cGU6ImFycmF5Iix2YWx1ZToic3RyaW5nIn0sYm91bmRzOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjQsZGVmYXVsdDpbLTE4MCwtODUuMDUxMTI5LDE4MCw4NS4wNTExMjldfSxtaW56b29tOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MH0sbWF4em9vbTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjIyfSx0aWxlU2l6ZTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjUxMix1bml0czoicGl4ZWxzIn0sc2NoZW1lOnt0eXBlOiJlbnVtIix2YWx1ZXM6e3h5ejp7fSx0bXM6e319LGRlZmF1bHQ6Inh5eiJ9LGF0dHJpYnV0aW9uOnt0eXBlOiJzdHJpbmcifSwiKiI6e3R5cGU6IioifX0sc291cmNlX3Jhc3Rlcl9kZW06e3R5cGU6e3JlcXVpcmVkOiEwLHR5cGU6ImVudW0iLHZhbHVlczp7InJhc3Rlci1kZW0iOnt9fX0sdXJsOnt0eXBlOiJzdHJpbmcifSx0aWxlczp7dHlwZToiYXJyYXkiLHZhbHVlOiJzdHJpbmcifSxib3VuZHM6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIixsZW5ndGg6NCxkZWZhdWx0OlstMTgwLC04NS4wNTExMjksMTgwLDg1LjA1MTEyOV19LG1pbnpvb206e3R5cGU6Im51bWJlciIsZGVmYXVsdDowfSxtYXh6b29tOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MjJ9LHRpbGVTaXplOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6NTEyLHVuaXRzOiJwaXhlbHMifSxhdHRyaWJ1dGlvbjp7dHlwZToic3RyaW5nIn0sZW5jb2Rpbmc6e3R5cGU6ImVudW0iLHZhbHVlczp7dGVycmFyaXVtOnt9LG1hcGJveDp7fX0sZGVmYXVsdDoibWFwYm94In0sIioiOnt0eXBlOiIqIn19LHNvdXJjZV9nZW9qc29uOnt0eXBlOntyZXF1aXJlZDohMCx0eXBlOiJlbnVtIix2YWx1ZXM6e2dlb2pzb246e319fSxkYXRhOnt0eXBlOiIqIn0sbWF4em9vbTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjE4fSxhdHRyaWJ1dGlvbjp7dHlwZToic3RyaW5nIn0sYnVmZmVyOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MTI4LG1heGltdW06NTEyLG1pbmltdW06MH0sdG9sZXJhbmNlOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6LjM3NX0sY2x1c3Rlcjp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMX0sY2x1c3RlclJhZGl1czp7dHlwZToibnVtYmVyIixkZWZhdWx0OjUwLG1pbmltdW06MH0sY2x1c3Rlck1heFpvb206e3R5cGU6Im51bWJlciJ9LGNsdXN0ZXJQcm9wZXJ0aWVzOnt0eXBlOiIqIn0sbGluZU1ldHJpY3M6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LGdlbmVyYXRlSWQ6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9fSxzb3VyY2VfdmlkZW86e3R5cGU6e3JlcXVpcmVkOiEwLHR5cGU6ImVudW0iLHZhbHVlczp7dmlkZW86e319fSx1cmxzOntyZXF1aXJlZDohMCx0eXBlOiJhcnJheSIsdmFsdWU6InN0cmluZyJ9LGNvb3JkaW5hdGVzOntyZXF1aXJlZDohMCx0eXBlOiJhcnJheSIsbGVuZ3RoOjQsdmFsdWU6e3R5cGU6ImFycmF5IixsZW5ndGg6Mix2YWx1ZToibnVtYmVyIn19fSxzb3VyY2VfaW1hZ2U6e3R5cGU6e3JlcXVpcmVkOiEwLHR5cGU6ImVudW0iLHZhbHVlczp7aW1hZ2U6e319fSx1cmw6e3JlcXVpcmVkOiEwLHR5cGU6InN0cmluZyJ9LGNvb3JkaW5hdGVzOntyZXF1aXJlZDohMCx0eXBlOiJhcnJheSIsbGVuZ3RoOjQsdmFsdWU6e3R5cGU6ImFycmF5IixsZW5ndGg6Mix2YWx1ZToibnVtYmVyIn19fSxsYXllcjp7aWQ6e3R5cGU6InN0cmluZyIscmVxdWlyZWQ6ITB9LHR5cGU6e3R5cGU6ImVudW0iLHZhbHVlczp7ZmlsbDp7fSxsaW5lOnt9LHN5bWJvbDp7fSxjaXJjbGU6e30saGVhdG1hcDp7fSwiZmlsbC1leHRydXNpb24iOnt9LHJhc3Rlcjp7fSxoaWxsc2hhZGU6e30sYmFja2dyb3VuZDp7fX0scmVxdWlyZWQ6ITB9LG1ldGFkYXRhOnt0eXBlOiIqIn0sc291cmNlOnt0eXBlOiJzdHJpbmcifSwic291cmNlLWxheWVyIjp7dHlwZToic3RyaW5nIn0sbWluem9vbTp7dHlwZToibnVtYmVyIixtaW5pbXVtOjAsbWF4aW11bToyNH0sbWF4em9vbTp7dHlwZToibnVtYmVyIixtaW5pbXVtOjAsbWF4aW11bToyNH0sZmlsdGVyOnt0eXBlOiJmaWx0ZXIifSxsYXlvdXQ6e3R5cGU6ImxheW91dCJ9LHBhaW50Ont0eXBlOiJwYWludCJ9fSxsYXlvdXQ6WyJsYXlvdXRfZmlsbCIsImxheW91dF9saW5lIiwibGF5b3V0X2NpcmNsZSIsImxheW91dF9oZWF0bWFwIiwibGF5b3V0X2ZpbGwtZXh0cnVzaW9uIiwibGF5b3V0X3N5bWJvbCIsImxheW91dF9yYXN0ZXIiLCJsYXlvdXRfaGlsbHNoYWRlIiwibGF5b3V0X2JhY2tncm91bmQiXSxsYXlvdXRfYmFja2dyb3VuZDp7dmlzaWJpbGl0eTp7dHlwZToiZW51bSIsdmFsdWVzOnt2aXNpYmxlOnt9LG5vbmU6e319LGRlZmF1bHQ6InZpc2libGUiLCJwcm9wZXJ0eS10eXBlIjoiY29uc3RhbnQifX0sbGF5b3V0X2ZpbGw6eyJmaWxsLXNvcnQta2V5Ijp7dHlwZToibnVtYmVyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSx2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfY2lyY2xlOnsiY2lyY2xlLXNvcnQta2V5Ijp7dHlwZToibnVtYmVyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSx2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfaGVhdG1hcDp7dmlzaWJpbGl0eTp7dHlwZToiZW51bSIsdmFsdWVzOnt2aXNpYmxlOnt9LG5vbmU6e319LGRlZmF1bHQ6InZpc2libGUiLCJwcm9wZXJ0eS10eXBlIjoiY29uc3RhbnQifX0sImxheW91dF9maWxsLWV4dHJ1c2lvbiI6e3Zpc2liaWxpdHk6e3R5cGU6ImVudW0iLHZhbHVlczp7dmlzaWJsZTp7fSxub25lOnt9fSxkZWZhdWx0OiJ2aXNpYmxlIiwicHJvcGVydHktdHlwZSI6ImNvbnN0YW50In19LGxheW91dF9saW5lOnsibGluZS1jYXAiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e2J1dHQ6e30scm91bmQ6e30sc3F1YXJlOnt9fSxkZWZhdWx0OiJidXR0IixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImxpbmUtam9pbiI6e3R5cGU6ImVudW0iLHZhbHVlczp7YmV2ZWw6e30scm91bmQ6e30sbWl0ZXI6e319LGRlZmF1bHQ6Im1pdGVyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwibGluZS1taXRlci1saW1pdCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyLHJlcXVpcmVzOlt7ImxpbmUtam9pbiI6Im1pdGVyIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwibGluZS1yb3VuZC1saW1pdCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLjA1LHJlcXVpcmVzOlt7ImxpbmUtam9pbiI6InJvdW5kIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwibGluZS1zb3J0LWtleSI6e3R5cGU6Im51bWJlciIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sdmlzaWJpbGl0eTp7dHlwZToiZW51bSIsdmFsdWVzOnt2aXNpYmxlOnt9LG5vbmU6e319LGRlZmF1bHQ6InZpc2libGUiLCJwcm9wZXJ0eS10eXBlIjoiY29uc3RhbnQifX0sbGF5b3V0X3N5bWJvbDp7InN5bWJvbC1wbGFjZW1lbnQiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e3BvaW50Ont9LGxpbmU6e30sImxpbmUtY2VudGVyIjp7fX0sZGVmYXVsdDoicG9pbnQiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwic3ltYm9sLXNwYWNpbmciOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MjUwLG1pbmltdW06MSx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbeyJzeW1ib2wtcGxhY2VtZW50IjoibGluZSJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInN5bWJvbC1hdm9pZC1lZGdlcyI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJzeW1ib2wtc29ydC1rZXkiOnt0eXBlOiJudW1iZXIiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJzeW1ib2wtei1vcmRlciI6e3R5cGU6ImVudW0iLHZhbHVlczp7YXV0bzp7fSwidmlld3BvcnQteSI6e30sc291cmNlOnt9fSxkZWZhdWx0OiJhdXRvIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24tYWxsb3ctb3ZlcmxhcCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJpY29uLWlnbm9yZS1wbGFjZW1lbnQiOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaWNvbi1vcHRpb25hbCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJpY29uLWltYWdlIiwidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fSxhdXRvOnt9fSxkZWZhdWx0OiJhdXRvIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24tc2l6ZSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCx1bml0czoiZmFjdG9yIG9mIHRoZSBvcmlnaW5hbCBpY29uIHNpemUiLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJpY29uLXRleHQtZml0Ijp7dHlwZToiZW51bSIsdmFsdWVzOntub25lOnt9LHdpZHRoOnt9LGhlaWdodDp7fSxib3RoOnt9fSxkZWZhdWx0OiJub25lIixyZXF1aXJlczpbImljb24taW1hZ2UiLCJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJpY29uLXRleHQtZml0LXBhZGRpbmciOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjQsZGVmYXVsdDpbMCwwLDAsMF0sdW5pdHM6InBpeGVscyIscmVxdWlyZXM6WyJpY29uLWltYWdlIiwidGV4dC1maWVsZCIseyJpY29uLXRleHQtZml0IjpbImJvdGgiLCJ3aWR0aCIsImhlaWdodCJdfV0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJpY29uLWltYWdlIjp7dHlwZToic3RyaW5nIix0b2tlbnM6ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tcm90YXRlIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAscGVyaW9kOjM2MCx1bml0czoiZGVncmVlcyIscmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tcGFkZGluZyI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyLG1pbmltdW06MCx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24ta2VlcC11cHJpZ2h0Ijp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMSxyZXF1aXJlczpbImljb24taW1hZ2UiLHsiaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiOiJtYXAifSx7InN5bWJvbC1wbGFjZW1lbnQiOlsibGluZSIsImxpbmUtY2VudGVyIl19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24tb2Zmc2V0Ijp7dHlwZToiYXJyYXkiLHZhbHVlOiJudW1iZXIiLGxlbmd0aDoyLGRlZmF1bHQ6WzAsMF0scmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOntjZW50ZXI6e30sbGVmdDp7fSxyaWdodDp7fSx0b3A6e30sYm90dG9tOnt9LCJ0b3AtbGVmdCI6e30sInRvcC1yaWdodCI6e30sImJvdHRvbS1sZWZ0Ijp7fSwiYm90dG9tLXJpZ2h0Ijp7fX0sZGVmYXVsdDoiY2VudGVyIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaWNvbi1waXRjaC1hbGlnbm1lbnQiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fSxhdXRvOnt9fSxkZWZhdWx0OiJhdXRvIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtcGl0Y2gtYWxpZ25tZW50Ijp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e30sYXV0bzp7fX0sZGVmYXVsdDoiYXV0byIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9LGF1dG86e319LGRlZmF1bHQ6ImF1dG8iLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwidGV4dC1maWVsZCI6e3R5cGU6ImZvcm1hdHRlZCIsZGVmYXVsdDoiIix0b2tlbnM6ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtZm9udCI6e3R5cGU6ImFycmF5Iix2YWx1ZToic3RyaW5nIixkZWZhdWx0OlsiT3BlbiBTYW5zIFJlZ3VsYXIiLCJBcmlhbCBVbmljb2RlIE1TIFJlZ3VsYXIiXSxyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1zaXplIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjE2LG1pbmltdW06MCx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1tYXgtd2lkdGgiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MTAsbWluaW11bTowLHVuaXRzOiJlbXMiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LWxpbmUtaGVpZ2h0Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEuMix1bml0czoiZW1zIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtbGV0dGVyLXNwYWNpbmciOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCx1bml0czoiZW1zIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1qdXN0aWZ5Ijp7dHlwZToiZW51bSIsdmFsdWVzOnthdXRvOnt9LGxlZnQ6e30sY2VudGVyOnt9LHJpZ2h0Ont9fSxkZWZhdWx0OiJjZW50ZXIiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LXJhZGlhbC1vZmZzZXQiOnt0eXBlOiJudW1iZXIiLHVuaXRzOiJlbXMiLGRlZmF1bHQ6MCxyZXF1aXJlczpbInRleHQtZmllbGQiXSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19fSwidGV4dC12YXJpYWJsZS1hbmNob3IiOnt0eXBlOiJhcnJheSIsdmFsdWU6ImVudW0iLHZhbHVlczp7Y2VudGVyOnt9LGxlZnQ6e30scmlnaHQ6e30sdG9wOnt9LGJvdHRvbTp7fSwidG9wLWxlZnQiOnt9LCJ0b3AtcmlnaHQiOnt9LCJib3R0b20tbGVmdCI6e30sImJvdHRvbS1yaWdodCI6e319LHJlcXVpcmVzOlsidGV4dC1maWVsZCIseyJzeW1ib2wtcGxhY2VtZW50IjpbInBvaW50Il19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOntjZW50ZXI6e30sbGVmdDp7fSxyaWdodDp7fSx0b3A6e30sYm90dG9tOnt9LCJ0b3AtbGVmdCI6e30sInRvcC1yaWdodCI6e30sImJvdHRvbS1sZWZ0Ijp7fSwiYm90dG9tLXJpZ2h0Ijp7fX0sZGVmYXVsdDoiY2VudGVyIixyZXF1aXJlczpbInRleHQtZmllbGQiLHsiISI6InRleHQtdmFyaWFibGUtYW5jaG9yIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LW1heC1hbmdsZSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDo0NSx1bml0czoiZGVncmVlcyIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIix7InN5bWJvbC1wbGFjZW1lbnQiOlsibGluZSIsImxpbmUtY2VudGVyIl19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtd3JpdGluZy1tb2RlIjp7dHlwZToiYXJyYXkiLHZhbHVlOiJlbnVtIix2YWx1ZXM6e2hvcml6b250YWw6e30sdmVydGljYWw6e319LHJlcXVpcmVzOlsidGV4dC1maWVsZCIseyJzeW1ib2wtcGxhY2VtZW50IjpbInBvaW50Il19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtcm90YXRlIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAscGVyaW9kOjM2MCx1bml0czoiZGVncmVlcyIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtcGFkZGluZyI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyLG1pbmltdW06MCx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQta2VlcC11cHJpZ2h0Ijp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMCxyZXF1aXJlczpbInRleHQtZmllbGQiLHsidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiOiJtYXAifSx7InN5bWJvbC1wbGFjZW1lbnQiOlsibGluZSIsImxpbmUtY2VudGVyIl19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtdHJhbnNmb3JtIjp7dHlwZToiZW51bSIsdmFsdWVzOntub25lOnt9LHVwcGVyY2FzZTp7fSxsb3dlcmNhc2U6e319LGRlZmF1bHQ6Im5vbmUiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LW9mZnNldCI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIix1bml0czoiZW1zIixsZW5ndGg6MixkZWZhdWx0OlswLDBdLHJlcXVpcmVzOlsidGV4dC1maWVsZCIseyIhIjoidGV4dC1yYWRpYWwtb2Zmc2V0In0seyIhIjoidGV4dC12YXJpYWJsZS1hbmNob3IifV0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtYWxsb3ctb3ZlcmxhcCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJ0ZXh0LWlnbm9yZS1wbGFjZW1lbnQiOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwidGV4dC1vcHRpb25hbCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIiwiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSx2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfcmFzdGVyOnt2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfaGlsbHNoYWRlOnt2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxmaWx0ZXI6e3R5cGU6ImFycmF5Iix2YWx1ZToiKiJ9LGZpbHRlcl9vcGVyYXRvcjp7dHlwZToiZW51bSIsdmFsdWVzOnsiPT0iOnt9LCIhPSI6e30sIj4iOnt9LCI+PSI6e30sIjwiOnt9LCI8PSI6e30saW46e30sIiFpbiI6e30sYWxsOnt9LGFueTp7fSxub25lOnt9LGhhczp7fSwiIWhhcyI6e319fSxnZW9tZXRyeV90eXBlOnt0eXBlOiJlbnVtIix2YWx1ZXM6e1BvaW50Ont9LExpbmVTdHJpbmc6e30sUG9seWdvbjp7fX19LGZ1bmN0aW9uOntleHByZXNzaW9uOnt0eXBlOiJleHByZXNzaW9uIn0sc3RvcHM6e3R5cGU6ImFycmF5Iix2YWx1ZToiZnVuY3Rpb25fc3RvcCJ9LGJhc2U6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MH0scHJvcGVydHk6e3R5cGU6InN0cmluZyIsZGVmYXVsdDoiJHpvb20ifSx0eXBlOnt0eXBlOiJlbnVtIix2YWx1ZXM6e2lkZW50aXR5Ont9LGV4cG9uZW50aWFsOnt9LGludGVydmFsOnt9LGNhdGVnb3JpY2FsOnt9fSxkZWZhdWx0OiJleHBvbmVudGlhbCJ9LGNvbG9yU3BhY2U6e3R5cGU6ImVudW0iLHZhbHVlczp7cmdiOnt9LGxhYjp7fSxoY2w6e319LGRlZmF1bHQ6InJnYiJ9LGRlZmF1bHQ6e3R5cGU6IioiLHJlcXVpcmVkOiExfX0sZnVuY3Rpb25fc3RvcDp7dHlwZToiYXJyYXkiLG1pbmltdW06MCxtYXhpbXVtOjIyLHZhbHVlOlsibnVtYmVyIiwiY29sb3IiXSxsZW5ndGg6Mn0sZXhwcmVzc2lvbjp7dHlwZToiYXJyYXkiLHZhbHVlOiIqIixtaW5pbXVtOjF9LGV4cHJlc3Npb25fbmFtZTp7dHlwZToiZW51bSIsdmFsdWVzOntsZXQ6e2dyb3VwOiJWYXJpYWJsZSBiaW5kaW5nIn0sdmFyOntncm91cDoiVmFyaWFibGUgYmluZGluZyJ9LGxpdGVyYWw6e2dyb3VwOiJUeXBlcyJ9LGFycmF5Ontncm91cDoiVHlwZXMifSxhdDp7Z3JvdXA6Ikxvb2t1cCJ9LGNhc2U6e2dyb3VwOiJEZWNpc2lvbiJ9LG1hdGNoOntncm91cDoiRGVjaXNpb24ifSxjb2FsZXNjZTp7Z3JvdXA6IkRlY2lzaW9uIn0sc3RlcDp7Z3JvdXA6IlJhbXBzLCBzY2FsZXMsIGN1cnZlcyJ9LGludGVycG9sYXRlOntncm91cDoiUmFtcHMsIHNjYWxlcywgY3VydmVzIn0sImludGVycG9sYXRlLWhjbCI6e2dyb3VwOiJSYW1wcywgc2NhbGVzLCBjdXJ2ZXMifSwiaW50ZXJwb2xhdGUtbGFiIjp7Z3JvdXA6IlJhbXBzLCBzY2FsZXMsIGN1cnZlcyJ9LGxuMjp7Z3JvdXA6Ik1hdGgifSxwaTp7Z3JvdXA6Ik1hdGgifSxlOntncm91cDoiTWF0aCJ9LHR5cGVvZjp7Z3JvdXA6IlR5cGVzIn0sc3RyaW5nOntncm91cDoiVHlwZXMifSxudW1iZXI6e2dyb3VwOiJUeXBlcyJ9LGJvb2xlYW46e2dyb3VwOiJUeXBlcyJ9LG9iamVjdDp7Z3JvdXA6IlR5cGVzIn0sY29sbGF0b3I6e2dyb3VwOiJUeXBlcyJ9LGZvcm1hdDp7Z3JvdXA6IlR5cGVzIn0sIm51bWJlci1mb3JtYXQiOntncm91cDoiVHlwZXMifSwidG8tc3RyaW5nIjp7Z3JvdXA6IlR5cGVzIn0sInRvLW51bWJlciI6e2dyb3VwOiJUeXBlcyJ9LCJ0by1ib29sZWFuIjp7Z3JvdXA6IlR5cGVzIn0sInRvLXJnYmEiOntncm91cDoiQ29sb3IifSwidG8tY29sb3IiOntncm91cDoiVHlwZXMifSxyZ2I6e2dyb3VwOiJDb2xvciJ9LHJnYmE6e2dyb3VwOiJDb2xvciJ9LGdldDp7Z3JvdXA6Ikxvb2t1cCJ9LGhhczp7Z3JvdXA6Ikxvb2t1cCJ9LGxlbmd0aDp7Z3JvdXA6Ikxvb2t1cCJ9LHByb3BlcnRpZXM6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSwiZmVhdHVyZS1zdGF0ZSI6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSwiZ2VvbWV0cnktdHlwZSI6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSxpZDp7Z3JvdXA6IkZlYXR1cmUgZGF0YSJ9LHpvb206e2dyb3VwOiJab29tIn0sImhlYXRtYXAtZGVuc2l0eSI6e2dyb3VwOiJIZWF0bWFwIn0sImxpbmUtcHJvZ3Jlc3MiOntncm91cDoiRmVhdHVyZSBkYXRhIn0sYWNjdW11bGF0ZWQ6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSwiKyI6e2dyb3VwOiJNYXRoIn0sIioiOntncm91cDoiTWF0aCJ9LCItIjp7Z3JvdXA6Ik1hdGgifSwiLyI6e2dyb3VwOiJNYXRoIn0sIiUiOntncm91cDoiTWF0aCJ9LCJeIjp7Z3JvdXA6Ik1hdGgifSxzcXJ0Ontncm91cDoiTWF0aCJ9LGxvZzEwOntncm91cDoiTWF0aCJ9LGxuOntncm91cDoiTWF0aCJ9LGxvZzI6e2dyb3VwOiJNYXRoIn0sc2luOntncm91cDoiTWF0aCJ9LGNvczp7Z3JvdXA6Ik1hdGgifSx0YW46e2dyb3VwOiJNYXRoIn0sYXNpbjp7Z3JvdXA6Ik1hdGgifSxhY29zOntncm91cDoiTWF0aCJ9LGF0YW46e2dyb3VwOiJNYXRoIn0sbWluOntncm91cDoiTWF0aCJ9LG1heDp7Z3JvdXA6Ik1hdGgifSxyb3VuZDp7Z3JvdXA6Ik1hdGgifSxhYnM6e2dyb3VwOiJNYXRoIn0sY2VpbDp7Z3JvdXA6Ik1hdGgifSxmbG9vcjp7Z3JvdXA6Ik1hdGgifSwiPT0iOntncm91cDoiRGVjaXNpb24ifSwiIT0iOntncm91cDoiRGVjaXNpb24ifSwiPiI6e2dyb3VwOiJEZWNpc2lvbiJ9LCI8Ijp7Z3JvdXA6IkRlY2lzaW9uIn0sIj49Ijp7Z3JvdXA6IkRlY2lzaW9uIn0sIjw9Ijp7Z3JvdXA6IkRlY2lzaW9uIn0sYWxsOntncm91cDoiRGVjaXNpb24ifSxhbnk6e2dyb3VwOiJEZWNpc2lvbiJ9LCIhIjp7Z3JvdXA6IkRlY2lzaW9uIn0sImlzLXN1cHBvcnRlZC1zY3JpcHQiOntncm91cDoiU3RyaW5nIn0sdXBjYXNlOntncm91cDoiU3RyaW5nIn0sZG93bmNhc2U6e2dyb3VwOiJTdHJpbmcifSxjb25jYXQ6e2dyb3VwOiJTdHJpbmcifSwicmVzb2x2ZWQtbG9jYWxlIjp7Z3JvdXA6IlN0cmluZyJ9fX0sbGlnaHQ6e2FuY2hvcjp7dHlwZToiZW51bSIsZGVmYXVsdDoidmlld3BvcnQiLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQiLHRyYW5zaXRpb246ITEsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19fSxwb3NpdGlvbjp7dHlwZToiYXJyYXkiLGRlZmF1bHQ6WzEuMTUsMjEwLDMwXSxsZW5ndGg6Myx2YWx1ZToibnVtYmVyIiwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQiLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19fSxjb2xvcjp7dHlwZToiY29sb3IiLCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCIsZGVmYXVsdDoiI2ZmZmZmZiIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LHRyYW5zaXRpb246ITB9LGludGVuc2l0eTp7dHlwZToibnVtYmVyIiwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQiLGRlZmF1bHQ6LjUsbWluaW11bTowLG1heGltdW06MSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sdHJhbnNpdGlvbjohMH19LHBhaW50OlsicGFpbnRfZmlsbCIsInBhaW50X2xpbmUiLCJwYWludF9jaXJjbGUiLCJwYWludF9oZWF0bWFwIiwicGFpbnRfZmlsbC1leHRydXNpb24iLCJwYWludF9zeW1ib2wiLCJwYWludF9yYXN0ZXIiLCJwYWludF9oaWxsc2hhZGUiLCJwYWludF9iYWNrZ3JvdW5kIl0scGFpbnRfZmlsbDp7ImZpbGwtYW50aWFsaWFzIjp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImZpbGwtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImZpbGwtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbeyIhIjoiZmlsbC1wYXR0ZXJuIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiZmlsbC1vdXRsaW5lLWNvbG9yIjp7dHlwZToiY29sb3IiLHRyYW5zaXRpb246ITAscmVxdWlyZXM6W3siISI6ImZpbGwtcGF0dGVybiJ9LHsiZmlsbC1hbnRpYWxpYXMiOiEwfV0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJmaWxsLXRyYW5zbGF0ZSI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIixsZW5ndGg6MixkZWZhdWx0OlswLDBdLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJmaWxsLXRyYW5zbGF0ZS1hbmNob3IiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fX0sZGVmYXVsdDoibWFwIixyZXF1aXJlczpbImZpbGwtdHJhbnNsYXRlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJmaWxsLXBhdHRlcm4iOnt0eXBlOiJzdHJpbmciLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIn19LCJwYWludF9maWxsLWV4dHJ1c2lvbiI6eyJmaWxsLWV4dHJ1c2lvbi1vcGFjaXR5Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiZmlsbC1leHRydXNpb24tY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbeyIhIjoiZmlsbC1leHRydXNpb24tcGF0dGVybiJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZSI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIixsZW5ndGg6MixkZWZhdWx0OlswLDBdLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6Im1hcCIscmVxdWlyZXM6WyJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iOnt0eXBlOiJzdHJpbmciLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIn0sImZpbGwtZXh0cnVzaW9uLWhlaWdodCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx1bml0czoibWV0ZXJzIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiZmlsbC1leHRydXNpb24tYmFzZSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx1bml0czoibWV0ZXJzIix0cmFuc2l0aW9uOiEwLHJlcXVpcmVzOlsiZmlsbC1leHRydXNpb24taGVpZ2h0Il0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITAsdHJhbnNpdGlvbjohMSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X2xpbmU6eyJsaW5lLW9wYWNpdHkiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsbWF4aW11bToxLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJsaW5lLWNvbG9yIjp7dHlwZToiY29sb3IiLGRlZmF1bHQ6IiMwMDAwMDAiLHRyYW5zaXRpb246ITAscmVxdWlyZXM6W3siISI6ImxpbmUtcGF0dGVybiJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImxpbmUtdHJhbnNsYXRlIjp7dHlwZToiYXJyYXkiLHZhbHVlOiJudW1iZXIiLGxlbmd0aDoyLGRlZmF1bHQ6WzAsMF0sdHJhbnNpdGlvbjohMCx1bml0czoicGl4ZWxzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImxpbmUtdHJhbnNsYXRlLWFuY2hvciI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSxkZWZhdWx0OiJtYXAiLHJlcXVpcmVzOlsibGluZS10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImxpbmUtd2lkdGgiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMCx1bml0czoicGl4ZWxzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImxpbmUtZ2FwLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJsaW5lLW9mZnNldCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJsaW5lLWJsdXIiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMCx1bml0czoicGl4ZWxzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImxpbmUtZGFzaGFycmF5Ijp7dHlwZToiYXJyYXkiLHZhbHVlOiJudW1iZXIiLG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJsaW5lIHdpZHRocyIscmVxdWlyZXM6W3siISI6ImxpbmUtcGF0dGVybiJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJjcm9zcy1mYWRlZCJ9LCJsaW5lLXBhdHRlcm4iOnt0eXBlOiJzdHJpbmciLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIn0sImxpbmUtZ3JhZGllbnQiOnt0eXBlOiJjb2xvciIsdHJhbnNpdGlvbjohMSxyZXF1aXJlczpbeyIhIjoibGluZS1kYXNoYXJyYXkifSx7IiEiOiJsaW5lLXBhdHRlcm4ifSx7c291cmNlOiJnZW9qc29uIixoYXM6e2xpbmVNZXRyaWNzOiEwfX1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsibGluZS1wcm9ncmVzcyJdfSwicHJvcGVydHktdHlwZSI6ImNvbG9yLXJhbXAifX0scGFpbnRfY2lyY2xlOnsiY2lyY2xlLXJhZGl1cyI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDo1LG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiY2lyY2xlLWNvbG9yIjp7dHlwZToiY29sb3IiLGRlZmF1bHQ6IiMwMDAwMDAiLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtYmx1ciI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImNpcmNsZS10cmFuc2xhdGUiOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjIsZGVmYXVsdDpbMCwwXSx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiY2lyY2xlLXRyYW5zbGF0ZS1hbmNob3IiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fX0sZGVmYXVsdDoibWFwIixyZXF1aXJlczpbImNpcmNsZS10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImNpcmNsZS1waXRjaC1zY2FsZSI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSxkZWZhdWx0OiJtYXAiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiY2lyY2xlLXBpdGNoLWFsaWdubWVudCI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSxkZWZhdWx0OiJ2aWV3cG9ydCIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJjaXJjbGUtc3Ryb2tlLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtc3Ryb2tlLWNvbG9yIjp7dHlwZToiY29sb3IiLGRlZmF1bHQ6IiMwMDAwMDAiLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtc3Ryb2tlLW9wYWNpdHkiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsbWF4aW11bToxLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9fSxwYWludF9oZWF0bWFwOnsiaGVhdG1hcC1yYWRpdXMiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MzAsbWluaW11bToxLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJoZWF0bWFwLXdlaWdodCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCx0cmFuc2l0aW9uOiExLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaGVhdG1hcC1pbnRlbnNpdHkiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImhlYXRtYXAtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDpbImludGVycG9sYXRlIixbImxpbmVhciJdLFsiaGVhdG1hcC1kZW5zaXR5Il0sMCwicmdiYSgwLCAwLCAyNTUsIDApIiwuMSwicm95YWxibHVlIiwuMywiY3lhbiIsLjUsImxpbWUiLC43LCJ5ZWxsb3ciLDEsInJlZCJdLHRyYW5zaXRpb246ITEsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJoZWF0bWFwLWRlbnNpdHkiXX0sInByb3BlcnR5LXR5cGUiOiJjb2xvci1yYW1wIn0sImhlYXRtYXAtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X3N5bWJvbDp7Imljb24tb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24taGFsby1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiJyZ2JhKDAsIDAsIDAsIDApIix0cmFuc2l0aW9uOiEwLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaWNvbi1oYWxvLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIscmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJpY29uLWhhbG8tYmx1ciI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaWNvbi10cmFuc2xhdGUiOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjIsZGVmYXVsdDpbMCwwXSx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaWNvbi10cmFuc2xhdGUtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6Im1hcCIscmVxdWlyZXM6WyJpY29uLWltYWdlIiwiaWNvbi10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxvdmVycmlkYWJsZTohMCxyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtaGFsby1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiJyZ2JhKDAsIDAsIDAsIDApIix0cmFuc2l0aW9uOiEwLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1oYWxvLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LWhhbG8tYmx1ciI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC10cmFuc2xhdGUiOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjIsZGVmYXVsdDpbMCwwXSx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwidGV4dC10cmFuc2xhdGUtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6Im1hcCIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIiwidGV4dC10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X3Jhc3Rlcjp7InJhc3Rlci1vcGFjaXR5Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWh1ZS1yb3RhdGUiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCxwZXJpb2Q6MzYwLHRyYW5zaXRpb246ITAsdW5pdHM6ImRlZ3JlZXMiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWJyaWdodG5lc3MtbWluIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWJyaWdodG5lc3MtbWF4Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLXNhdHVyYXRpb24iOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCxtaW5pbXVtOi0xLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWNvbnRyYXN0Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTotMSxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInJhc3Rlci1yZXNhbXBsaW5nIjp7dHlwZToiZW51bSIsdmFsdWVzOntsaW5lYXI6e30sbmVhcmVzdDp7fX0sZGVmYXVsdDoibGluZWFyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInJhc3Rlci1mYWRlLWR1cmF0aW9uIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjMwMCxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMSx1bml0czoibWlsbGlzZWNvbmRzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X2hpbGxzaGFkZTp7ImhpbGxzaGFkZS1pbGx1bWluYXRpb24tZGlyZWN0aW9uIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjMzNSxtaW5pbXVtOjAsbWF4aW11bTozNTksdHJhbnNpdGlvbjohMSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImhpbGxzaGFkZS1pbGx1bWluYXRpb24tYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6InZpZXdwb3J0IixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImhpbGxzaGFkZS1leGFnZ2VyYXRpb24iOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6LjUsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaGlsbHNoYWRlLXNoYWRvdy1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiIjMDAwMDAwIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaGlsbHNoYWRlLWhpZ2hsaWdodC1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiIjRkZGRkZGIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaGlsbHNoYWRlLWFjY2VudC1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiIjMDAwMDAwIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifX0scGFpbnRfYmFja2dyb3VuZDp7ImJhY2tncm91bmQtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbeyIhIjoiYmFja2dyb3VuZC1wYXR0ZXJuIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiYmFja2dyb3VuZC1wYXR0ZXJuIjp7dHlwZToic3RyaW5nIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkIn0sImJhY2tncm91bmQtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHRyYW5zaXRpb246e2R1cmF0aW9uOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MzAwLG1pbmltdW06MCx1bml0czoibWlsbGlzZWNvbmRzIn0sZGVsYXk6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx1bml0czoibWlsbGlzZWNvbmRzIn19LCJwcm9wZXJ0eS10eXBlIjp7ImRhdGEtZHJpdmVuIjp7dHlwZToicHJvcGVydHktdHlwZSJ9LCJjcm9zcy1mYWRlZCI6e3R5cGU6InByb3BlcnR5LXR5cGUifSwiY3Jvc3MtZmFkZWQtZGF0YS1kcml2ZW4iOnt0eXBlOiJwcm9wZXJ0eS10eXBlIn0sImNvbG9yLXJhbXAiOnt0eXBlOiJwcm9wZXJ0eS10eXBlIn0sImRhdGEtY29uc3RhbnQiOnt0eXBlOiJwcm9wZXJ0eS10eXBlIn0sY29uc3RhbnQ6e3R5cGU6InByb3BlcnR5LXR5cGUifX19LE10PWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMubWVzc2FnZT0odD90KyI6ICI6IiIpK3IsbiYmKHRoaXMuaWRlbnRpZmllcj1uKSxudWxsIT1lJiZlLl9fbGluZV9fJiYodGhpcy5saW5lPWUuX19saW5lX18pfTtmdW5jdGlvbiBBdCh0KXt2YXIgZT10LmtleSxyPXQudmFsdWU7cmV0dXJuIHI/W25ldyBNdChlLHIsImNvbnN0YW50cyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2OCIpXTpbXX1mdW5jdGlvbiBTdCh0KXtmb3IodmFyIGU9W10scj1hcmd1bWVudHMubGVuZ3RoLTE7ci0tID4wOyllW3JdPWFyZ3VtZW50c1tyKzFdO2Zvcih2YXIgbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07Zm9yKHZhciBvIGluIGkpdFtvXT1pW29dfXJldHVybiB0fWZ1bmN0aW9uIEV0KHQpe3JldHVybiB0IGluc3RhbmNlb2YgTnVtYmVyfHx0IGluc3RhbmNlb2YgU3RyaW5nfHx0IGluc3RhbmNlb2YgQm9vbGVhbn1mdW5jdGlvbiBMdCh0KXtyZXR1cm4gRXQodCk/dC52YWx1ZU9mKCk6dH1mdW5jdGlvbiBDdCh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0Lm1hcChDdCk7aWYodCBpbnN0YW5jZW9mIE9iamVjdCYmIUV0KHQpKXt2YXIgZT17fTtmb3IodmFyIHIgaW4gdCllW3JdPUN0KHRbcl0pO3JldHVybiBlfXJldHVybiBMdCh0KX12YXIgUHQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLHIpLHRoaXMubWVzc2FnZT1yLHRoaXMua2V5PWV9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGV9KEVycm9yKSxPdD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPVtdKSx0aGlzLnBhcmVudD10LHRoaXMuYmluZGluZ3M9e307Zm9yKHZhciByPTAsbj1lO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPWFbMF0sbz1hWzFdO3RoaXMuYmluZGluZ3NbaV09b319O090LnByb3RvdHlwZS5jb25jYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBPdCh0aGlzLHQpfSxPdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe2lmKHRoaXMuYmluZGluZ3NbdF0pcmV0dXJuIHRoaXMuYmluZGluZ3NbdF07aWYodGhpcy5wYXJlbnQpcmV0dXJuIHRoaXMucGFyZW50LmdldCh0KTt0aHJvdyBuZXcgRXJyb3IodCsiIG5vdCBmb3VuZCBpbiBzY29wZS4iKX0sT3QucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4hIXRoaXMuYmluZGluZ3NbdF18fCEhdGhpcy5wYXJlbnQmJnRoaXMucGFyZW50Lmhhcyh0KX07dmFyIHp0PXtraW5kOiJudWxsIn0sSXQ9e2tpbmQ6Im51bWJlciJ9LER0PXtraW5kOiJzdHJpbmcifSxSdD17a2luZDoiYm9vbGVhbiJ9LEZ0PXtraW5kOiJjb2xvciJ9LEJ0PXtraW5kOiJvYmplY3QifSxOdD17a2luZDoidmFsdWUifSxqdD17a2luZDoiY29sbGF0b3IifSxWdD17a2luZDoiZm9ybWF0dGVkIn07ZnVuY3Rpb24gVXQodCxlKXtyZXR1cm57a2luZDoiYXJyYXkiLGl0ZW1UeXBlOnQsTjplfX1mdW5jdGlvbiBxdCh0KXtpZigiYXJyYXkiPT09dC5raW5kKXt2YXIgZT1xdCh0Lml0ZW1UeXBlKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQuTj8iYXJyYXk8IitlKyIsICIrdC5OKyI+IjoidmFsdWUiPT09dC5pdGVtVHlwZS5raW5kPyJhcnJheSI6ImFycmF5PCIrZSsiPiJ9cmV0dXJuIHQua2luZH12YXIgSHQ9W3p0LEl0LER0LFJ0LEZ0LFZ0LEJ0LFV0KE50KV07ZnVuY3Rpb24gR3QodCxlKXtpZigiZXJyb3IiPT09ZS5raW5kKXJldHVybiBudWxsO2lmKCJhcnJheSI9PT10LmtpbmQpe2lmKCJhcnJheSI9PT1lLmtpbmQmJigwPT09ZS5OJiYidmFsdWUiPT09ZS5pdGVtVHlwZS5raW5kfHwhR3QodC5pdGVtVHlwZSxlLml0ZW1UeXBlKSkmJigibnVtYmVyIiE9dHlwZW9mIHQuTnx8dC5OPT09ZS5OKSlyZXR1cm4gbnVsbH1lbHNle2lmKHQua2luZD09PWUua2luZClyZXR1cm4gbnVsbDtpZigidmFsdWUiPT09dC5raW5kKWZvcih2YXIgcj0wLG49SHQ7cjxuLmxlbmd0aDtyKz0xKWlmKCFHdChuW3JdLGUpKXJldHVybiBudWxsfXJldHVybiJFeHBlY3RlZCAiK3F0KHQpKyIgYnV0IGZvdW5kICIrcXQoZSkrIiBpbnN0ZWFkLiJ9dmFyIFl0PWUoZnVuY3Rpb24odCxlKXt2YXIgcj17dHJhbnNwYXJlbnQ6WzAsMCwwLDBdLGFsaWNlYmx1ZTpbMjQwLDI0OCwyNTUsMV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNSwxXSxhcXVhOlswLDI1NSwyNTUsMV0sYXF1YW1hcmluZTpbMTI3LDI1NSwyMTIsMV0sYXp1cmU6WzI0MCwyNTUsMjU1LDFdLGJlaWdlOlsyNDUsMjQ1LDIyMCwxXSxiaXNxdWU6WzI1NSwyMjgsMTk2LDFdLGJsYWNrOlswLDAsMCwxXSxibGFuY2hlZGFsbW9uZDpbMjU1LDIzNSwyMDUsMV0sYmx1ZTpbMCwwLDI1NSwxXSxibHVldmlvbGV0OlsxMzgsNDMsMjI2LDFdLGJyb3duOlsxNjUsNDIsNDIsMV0sYnVybHl3b29kOlsyMjIsMTg0LDEzNSwxXSxjYWRldGJsdWU6Wzk1LDE1OCwxNjAsMV0sY2hhcnRyZXVzZTpbMTI3LDI1NSwwLDFdLGNob2NvbGF0ZTpbMjEwLDEwNSwzMCwxXSxjb3JhbDpbMjU1LDEyNyw4MCwxXSxjb3JuZmxvd2VyYmx1ZTpbMTAwLDE0OSwyMzcsMV0sY29ybnNpbGs6WzI1NSwyNDgsMjIwLDFdLGNyaW1zb246WzIyMCwyMCw2MCwxXSxjeWFuOlswLDI1NSwyNTUsMV0sZGFya2JsdWU6WzAsMCwxMzksMV0sZGFya2N5YW46WzAsMTM5LDEzOSwxXSxkYXJrZ29sZGVucm9kOlsxODQsMTM0LDExLDFdLGRhcmtncmF5OlsxNjksMTY5LDE2OSwxXSxkYXJrZ3JlZW46WzAsMTAwLDAsMV0sZGFya2dyZXk6WzE2OSwxNjksMTY5LDFdLGRhcmtraGFraTpbMTg5LDE4MywxMDcsMV0sZGFya21hZ2VudGE6WzEzOSwwLDEzOSwxXSxkYXJrb2xpdmVncmVlbjpbODUsMTA3LDQ3LDFdLGRhcmtvcmFuZ2U6WzI1NSwxNDAsMCwxXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0LDFdLGRhcmtyZWQ6WzEzOSwwLDAsMV0sZGFya3NhbG1vbjpbMjMzLDE1MCwxMjIsMV0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0MywxXSxkYXJrc2xhdGVibHVlOls3Miw2MSwxMzksMV0sZGFya3NsYXRlZ3JheTpbNDcsNzksNzksMV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzksMV0sZGFya3R1cnF1b2lzZTpbMCwyMDYsMjA5LDFdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMSwxXSxkZWVwcGluazpbMjU1LDIwLDE0NywxXSxkZWVwc2t5Ymx1ZTpbMCwxOTEsMjU1LDFdLGRpbWdyYXk6WzEwNSwxMDUsMTA1LDFdLGRpbWdyZXk6WzEwNSwxMDUsMTA1LDFdLGRvZGdlcmJsdWU6WzMwLDE0NCwyNTUsMV0sZmlyZWJyaWNrOlsxNzgsMzQsMzQsMV0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwLDFdLGZvcmVzdGdyZWVuOlszNCwxMzksMzQsMV0sZnVjaHNpYTpbMjU1LDAsMjU1LDFdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjAsMV0sZ2hvc3R3aGl0ZTpbMjQ4LDI0OCwyNTUsMV0sZ29sZDpbMjU1LDIxNSwwLDFdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMiwxXSxncmF5OlsxMjgsMTI4LDEyOCwxXSxncmVlbjpbMCwxMjgsMCwxXSxncmVlbnllbGxvdzpbMTczLDI1NSw0NywxXSxncmV5OlsxMjgsMTI4LDEyOCwxXSxob25leWRldzpbMjQwLDI1NSwyNDAsMV0saG90cGluazpbMjU1LDEwNSwxODAsMV0saW5kaWFucmVkOlsyMDUsOTIsOTIsMV0saW5kaWdvOls3NSwwLDEzMCwxXSxpdm9yeTpbMjU1LDI1NSwyNDAsMV0sa2hha2k6WzI0MCwyMzAsMTQwLDFdLGxhdmVuZGVyOlsyMzAsMjMwLDI1MCwxXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NSwxXSxsYXduZ3JlZW46WzEyNCwyNTIsMCwxXSxsZW1vbmNoaWZmb246WzI1NSwyNTAsMjA1LDFdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzAsMV0sbGlnaHRjb3JhbDpbMjQwLDEyOCwxMjgsMV0sbGlnaHRjeWFuOlsyMjQsMjU1LDI1NSwxXSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTAsMV0sbGlnaHRncmF5OlsyMTEsMjExLDIxMSwxXSxsaWdodGdyZWVuOlsxNDQsMjM4LDE0NCwxXSxsaWdodGdyZXk6WzIxMSwyMTEsMjExLDFdLGxpZ2h0cGluazpbMjU1LDE4MiwxOTMsMV0sbGlnaHRzYWxtb246WzI1NSwxNjAsMTIyLDFdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzAsMV0sbGlnaHRza3libHVlOlsxMzUsMjA2LDI1MCwxXSxsaWdodHNsYXRlZ3JheTpbMTE5LDEzNiwxNTMsMV0sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzLDFdLGxpZ2h0c3RlZWxibHVlOlsxNzYsMTk2LDIyMiwxXSxsaWdodHllbGxvdzpbMjU1LDI1NSwyMjQsMV0sbGltZTpbMCwyNTUsMCwxXSxsaW1lZ3JlZW46WzUwLDIwNSw1MCwxXSxsaW5lbjpbMjUwLDI0MCwyMzAsMV0sbWFnZW50YTpbMjU1LDAsMjU1LDFdLG1hcm9vbjpbMTI4LDAsMCwxXSxtZWRpdW1hcXVhbWFyaW5lOlsxMDIsMjA1LDE3MCwxXSxtZWRpdW1ibHVlOlswLDAsMjA1LDFdLG1lZGl1bW9yY2hpZDpbMTg2LDg1LDIxMSwxXSxtZWRpdW1wdXJwbGU6WzE0NywxMTIsMjE5LDFdLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzLDFdLG1lZGl1bXNsYXRlYmx1ZTpbMTIzLDEwNCwyMzgsMV0sbWVkaXVtc3ByaW5nZ3JlZW46WzAsMjUwLDE1NCwxXSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDQsMV0sbWVkaXVtdmlvbGV0cmVkOlsxOTksMjEsMTMzLDFdLG1pZG5pZ2h0Ymx1ZTpbMjUsMjUsMTEyLDFdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTAsMV0sbWlzdHlyb3NlOlsyNTUsMjI4LDIyNSwxXSxtb2NjYXNpbjpbMjU1LDIyOCwxODEsMV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczLDFdLG5hdnk6WzAsMCwxMjgsMV0sb2xkbGFjZTpbMjUzLDI0NSwyMzAsMV0sb2xpdmU6WzEyOCwxMjgsMCwxXSxvbGl2ZWRyYWI6WzEwNywxNDIsMzUsMV0sb3JhbmdlOlsyNTUsMTY1LDAsMV0sb3JhbmdlcmVkOlsyNTUsNjksMCwxXSxvcmNoaWQ6WzIxOCwxMTIsMjE0LDFdLHBhbGVnb2xkZW5yb2Q6WzIzOCwyMzIsMTcwLDFdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTIsMV0scGFsZXR1cnF1b2lzZTpbMTc1LDIzOCwyMzgsMV0scGFsZXZpb2xldHJlZDpbMjE5LDExMiwxNDcsMV0scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTMsMV0scGVhY2hwdWZmOlsyNTUsMjE4LDE4NSwxXSxwZXJ1OlsyMDUsMTMzLDYzLDFdLHBpbms6WzI1NSwxOTIsMjAzLDFdLHBsdW06WzIyMSwxNjAsMjIxLDFdLHBvd2RlcmJsdWU6WzE3NiwyMjQsMjMwLDFdLHB1cnBsZTpbMTI4LDAsMTI4LDFdLHJlYmVjY2FwdXJwbGU6WzEwMiw1MSwxNTMsMV0scmVkOlsyNTUsMCwwLDFdLHJvc3licm93bjpbMTg4LDE0MywxNDMsMV0scm95YWxibHVlOls2NSwxMDUsMjI1LDFdLHNhZGRsZWJyb3duOlsxMzksNjksMTksMV0sc2FsbW9uOlsyNTAsMTI4LDExNCwxXSxzYW5keWJyb3duOlsyNDQsMTY0LDk2LDFdLHNlYWdyZWVuOls0NiwxMzksODcsMV0sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4LDFdLHNpZW5uYTpbMTYwLDgyLDQ1LDFdLHNpbHZlcjpbMTkyLDE5MiwxOTIsMV0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzUsMV0sc2xhdGVibHVlOlsxMDYsOTAsMjA1LDFdLHNsYXRlZ3JheTpbMTEyLDEyOCwxNDQsMV0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NCwxXSxzbm93OlsyNTUsMjUwLDI1MCwxXSxzcHJpbmdncmVlbjpbMCwyNTUsMTI3LDFdLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MCwxXSx0YW46WzIxMCwxODAsMTQwLDFdLHRlYWw6WzAsMTI4LDEyOCwxXSx0aGlzdGxlOlsyMTYsMTkxLDIxNiwxXSx0b21hdG86WzI1NSw5OSw3MSwxXSx0dXJxdW9pc2U6WzY0LDIyNCwyMDgsMV0sdmlvbGV0OlsyMzgsMTMwLDIzOCwxXSx3aGVhdDpbMjQ1LDIyMiwxNzksMV0sd2hpdGU6WzI1NSwyNTUsMjU1LDFdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1LDFdLHllbGxvdzpbMjU1LDI1NSwwLDFdLHllbGxvd2dyZWVuOlsxNTQsMjA1LDUwLDFdfTtmdW5jdGlvbiBuKHQpe3JldHVybih0PU1hdGgucm91bmQodCkpPDA/MDp0PjI1NT8yNTU6dH1mdW5jdGlvbiBhKHQpe3JldHVybiB0PDA/MDp0PjE/MTp0fWZ1bmN0aW9uIGkodCl7cmV0dXJuIiUiPT09dFt0Lmxlbmd0aC0xXT9uKHBhcnNlRmxvYXQodCkvMTAwKjI1NSk6bihwYXJzZUludCh0KSl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4iJSI9PT10W3QubGVuZ3RoLTFdP2EocGFyc2VGbG9hdCh0KS8xMDApOmEocGFyc2VGbG9hdCh0KSl9ZnVuY3Rpb24gcyh0LGUscil7cmV0dXJuIHI8MD9yKz0xOnI+MSYmKHItPTEpLDYqcjwxP3QrKGUtdCkqcio2OjIqcjwxP2U6MypyPDI/dCsoZS10KSooMi8zLXIpKjY6dH10cnl7ZS5wYXJzZUNTU0NvbG9yPWZ1bmN0aW9uKHQpe3ZhciBlLGE9dC5yZXBsYWNlKC8gL2csIiIpLnRvTG93ZXJDYXNlKCk7aWYoYSBpbiByKXJldHVybiByW2FdLnNsaWNlKCk7aWYoIiMiPT09YVswXSlyZXR1cm4gND09PWEubGVuZ3RoPyhlPXBhcnNlSW50KGEuc3Vic3RyKDEpLDE2KSk+PTAmJmU8PTQwOTU/WygzODQwJmUpPj40fCgzODQwJmUpPj44LDI0MCZlfCgyNDAmZSk+PjQsMTUmZXwoMTUmZSk8PDQsMV06bnVsbDo3PT09YS5sZW5ndGgmJihlPXBhcnNlSW50KGEuc3Vic3RyKDEpLDE2KSk+PTAmJmU8PTE2Nzc3MjE1P1soMTY3MTE2ODAmZSk+PjE2LCg2NTI4MCZlKT4+OCwyNTUmZSwxXTpudWxsO3ZhciBsPWEuaW5kZXhPZigiKCIpLGM9YS5pbmRleE9mKCIpIik7aWYoLTEhPT1sJiZjKzE9PT1hLmxlbmd0aCl7dmFyIHU9YS5zdWJzdHIoMCxsKSxoPWEuc3Vic3RyKGwrMSxjLShsKzEpKS5zcGxpdCgiLCIpLGY9MTtzd2l0Y2godSl7Y2FzZSJyZ2JhIjppZig0IT09aC5sZW5ndGgpcmV0dXJuIG51bGw7Zj1vKGgucG9wKCkpO2Nhc2UicmdiIjpyZXR1cm4gMyE9PWgubGVuZ3RoP251bGw6W2koaFswXSksaShoWzFdKSxpKGhbMl0pLGZdO2Nhc2UiaHNsYSI6aWYoNCE9PWgubGVuZ3RoKXJldHVybiBudWxsO2Y9byhoLnBvcCgpKTtjYXNlImhzbCI6aWYoMyE9PWgubGVuZ3RoKXJldHVybiBudWxsO3ZhciBwPShwYXJzZUZsb2F0KGhbMF0pJTM2MCszNjApJTM2MC8zNjAsZD1vKGhbMV0pLGc9byhoWzJdKSx2PWc8PS41P2cqKGQrMSk6ZytkLWcqZCxtPTIqZy12O3JldHVybltuKDI1NSpzKG0sdixwKzEvMykpLG4oMjU1KnMobSx2LHApKSxuKDI1NSpzKG0sdixwLTEvMykpLGZdO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXJldHVybiBudWxsfX1jYXRjaCh0KXt9fSkucGFyc2VDU1NDb2xvcixXdD1mdW5jdGlvbih0LGUscixuKXt2b2lkIDA9PT1uJiYobj0xKSx0aGlzLnI9dCx0aGlzLmc9ZSx0aGlzLmI9cix0aGlzLmE9bn07V3QucGFyc2U9ZnVuY3Rpb24odCl7aWYodCl7aWYodCBpbnN0YW5jZW9mIFd0KXJldHVybiB0O2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9WXQodCk7aWYoZSlyZXR1cm4gbmV3IFd0KGVbMF0vMjU1KmVbM10sZVsxXS8yNTUqZVszXSxlWzJdLzI1NSplWzNdLGVbM10pfX19LFd0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMudG9BcnJheSgpLGU9dFswXSxyPXRbMV0sbj10WzJdLGE9dFszXTtyZXR1cm4icmdiYSgiK01hdGgucm91bmQoZSkrIiwiK01hdGgucm91bmQocikrIiwiK01hdGgucm91bmQobikrIiwiK2ErIikifSxXdC5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucixlPXRoaXMuZyxyPXRoaXMuYixuPXRoaXMuYTtyZXR1cm4gMD09PW4/WzAsMCwwLDBdOlsyNTUqdC9uLDI1NSplL24sMjU1KnIvbixuXX0sV3QuYmxhY2s9bmV3IFd0KDAsMCwwLDEpLFd0LndoaXRlPW5ldyBXdCgxLDEsMSwxKSxXdC50cmFuc3BhcmVudD1uZXcgV3QoMCwwLDAsMCksV3QucmVkPW5ldyBXdCgxLDAsMCwxKTt2YXIgWHQ9ZnVuY3Rpb24odCxlLHIpe3RoaXMuc2Vuc2l0aXZpdHk9dD9lPyJ2YXJpYW50IjoiY2FzZSI6ZT8iYWNjZW50IjoiYmFzZSIsdGhpcy5sb2NhbGU9cix0aGlzLmNvbGxhdG9yPW5ldyBJbnRsLkNvbGxhdG9yKHRoaXMubG9jYWxlP3RoaXMubG9jYWxlOltdLHtzZW5zaXRpdml0eTp0aGlzLnNlbnNpdGl2aXR5LHVzYWdlOiJzZWFyY2gifSl9O1h0LnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuY29sbGF0b3IuY29tcGFyZSh0LGUpfSxYdC5wcm90b3R5cGUucmVzb2x2ZWRMb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEludGwuQ29sbGF0b3IodGhpcy5sb2NhbGU/dGhpcy5sb2NhbGU6W10pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZX07dmFyIFp0PWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMudGV4dD10LHRoaXMuc2NhbGU9ZSx0aGlzLmZvbnRTdGFjaz1yLHRoaXMudGV4dENvbG9yPW59LEp0PWZ1bmN0aW9uKHQpe3RoaXMuc2VjdGlvbnM9dH07ZnVuY3Rpb24gS3QodCxlLHIsbil7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wJiZ0PD0yNTUmJiJudW1iZXIiPT10eXBlb2YgZSYmZT49MCYmZTw9MjU1JiYibnVtYmVyIj09dHlwZW9mIHImJnI+PTAmJnI8PTI1NT92b2lkIDA9PT1ufHwibnVtYmVyIj09dHlwZW9mIG4mJm4+PTAmJm48PTE/bnVsbDoiSW52YWxpZCByZ2JhIHZhbHVlIFsiK1t0LGUscixuXS5qb2luKCIsICIpKyJdOiAnYScgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEuIjoiSW52YWxpZCByZ2JhIHZhbHVlIFsiKygibnVtYmVyIj09dHlwZW9mIG4/W3QsZSxyLG5dOlt0LGUscl0pLmpvaW4oIiwgIikrIl06ICdyJywgJ2cnLCBhbmQgJ2InIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNTUuIn1mdW5jdGlvbiBRdCh0KXtpZihudWxsPT09dClyZXR1cm4genQ7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBEdDtpZigiYm9vbGVhbiI9PXR5cGVvZiB0KXJldHVybiBSdDtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIEl0O2lmKHQgaW5zdGFuY2VvZiBXdClyZXR1cm4gRnQ7aWYodCBpbnN0YW5jZW9mIFh0KXJldHVybiBqdDtpZih0IGluc3RhbmNlb2YgSnQpcmV0dXJuIFZ0O2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZSxyPXQubGVuZ3RoLG49MCxhPXQ7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1RdChhW25dKTtpZihlKXtpZihlPT09aSljb250aW51ZTtlPU50O2JyZWFrfWU9aX1yZXR1cm4gVXQoZXx8TnQscil9cmV0dXJuIEJ0fWZ1bmN0aW9uICR0KHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsPT09dD8iIjoic3RyaW5nIj09PWV8fCJudW1iZXIiPT09ZXx8ImJvb2xlYW4iPT09ZT9TdHJpbmcodCk6dCBpbnN0YW5jZW9mIFd0fHx0IGluc3RhbmNlb2YgSnQ/dC50b1N0cmluZygpOkpTT04uc3RyaW5naWZ5KHQpfUp0LmZyb21TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBKdChbbmV3IFp0KHQsbnVsbCxudWxsLG51bGwpXSl9LEp0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNlY3Rpb25zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC50ZXh0fSkuam9pbigiIil9LEp0LnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9WyJmb3JtYXQiXSxlPTAscj10aGlzLnNlY3Rpb25zO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTt0LnB1c2gobi50ZXh0KTt2YXIgYT17fTtuLmZvbnRTdGFjayYmKGFbInRleHQtZm9udCJdPVsibGl0ZXJhbCIsbi5mb250U3RhY2suc3BsaXQoIiwiKV0pLG4uc2NhbGUmJihhWyJmb250LXNjYWxlIl09bi5zY2FsZSksbi50ZXh0Q29sb3ImJihhWyJ0ZXh0LWNvbG9yIl09WyJyZ2JhIl0uY29uY2F0KG4udGV4dENvbG9yLnRvQXJyYXkoKSkpLHQucHVzaChhKX1yZXR1cm4gdH07dmFyIHRlPWZ1bmN0aW9uKHQsZSl7dGhpcy50eXBlPXQsdGhpcy52YWx1ZT1lfTt0ZS5wYXJzZT1mdW5jdGlvbih0LGUpe2lmKDIhPT10Lmxlbmd0aClyZXR1cm4gZS5lcnJvcigiJ2xpdGVyYWwnIGV4cHJlc3Npb24gcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQsIGJ1dCBmb3VuZCAiKyh0Lmxlbmd0aC0xKSsiIGluc3RlYWQuIik7aWYoIWZ1bmN0aW9uIHQoZSl7aWYobnVsbD09PWUpcmV0dXJuITA7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiEwO2lmKCJib29sZWFuIj09dHlwZW9mIGUpcmV0dXJuITA7aWYoIm51bWJlciI9PXR5cGVvZiBlKXJldHVybiEwO2lmKGUgaW5zdGFuY2VvZiBXdClyZXR1cm4hMDtpZihlIGluc3RhbmNlb2YgWHQpcmV0dXJuITA7aWYoZSBpbnN0YW5jZW9mIEp0KXJldHVybiEwO2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgcj0wLG49ZTtyPG4ubGVuZ3RoO3IrPTEpaWYoIXQobltyXSkpcmV0dXJuITE7cmV0dXJuITB9aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IodmFyIGEgaW4gZSlpZighdChlW2FdKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX0odFsxXSkpcmV0dXJuIGUuZXJyb3IoImludmFsaWQgdmFsdWUiKTt2YXIgcj10WzFdLG49UXQociksYT1lLmV4cGVjdGVkVHlwZTtyZXR1cm4iYXJyYXkiIT09bi5raW5kfHwwIT09bi5OfHwhYXx8ImFycmF5IiE9PWEua2luZHx8Im51bWJlciI9PXR5cGVvZiBhLk4mJjAhPT1hLk58fChuPWEpLG5ldyB0ZShuLHIpfSx0ZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sdGUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbigpe30sdGUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlXX0sdGUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiJhcnJheSI9PT10aGlzLnR5cGUua2luZHx8Im9iamVjdCI9PT10aGlzLnR5cGUua2luZD9bImxpdGVyYWwiLHRoaXMudmFsdWVdOnRoaXMudmFsdWUgaW5zdGFuY2VvZiBXdD9bInJnYmEiXS5jb25jYXQodGhpcy52YWx1ZS50b0FycmF5KCkpOnRoaXMudmFsdWUgaW5zdGFuY2VvZiBKdD90aGlzLnZhbHVlLnNlcmlhbGl6ZSgpOnRoaXMudmFsdWV9O3ZhciBlZT1mdW5jdGlvbih0KXt0aGlzLm5hbWU9IkV4cHJlc3Npb25FdmFsdWF0aW9uRXJyb3IiLHRoaXMubWVzc2FnZT10fTtlZS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWVzc2FnZX07dmFyIHJlPXtzdHJpbmc6RHQsbnVtYmVyOkl0LGJvb2xlYW46UnQsb2JqZWN0OkJ0fSxuZT1mdW5jdGlvbih0LGUpe3RoaXMudHlwZT10LHRoaXMuYXJncz1lfTtuZS5wYXJzZT1mdW5jdGlvbih0LGUpe2lmKHQubGVuZ3RoPDIpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iKTt2YXIgcixuPTEsYT10WzBdO2lmKCJhcnJheSI9PT1hKXt2YXIgaSxvO2lmKHQubGVuZ3RoPjIpe3ZhciBzPXRbMV07aWYoInN0cmluZyIhPXR5cGVvZiBzfHwhKHMgaW4gcmUpfHwib2JqZWN0Ij09PXMpcmV0dXJuIGUuZXJyb3IoJ1RoZSBpdGVtIHR5cGUgYXJndW1lbnQgb2YgImFycmF5IiBtdXN0IGJlIG9uZSBvZiBzdHJpbmcsIG51bWJlciwgYm9vbGVhbicsMSk7aT1yZVtzXSxuKyt9ZWxzZSBpPU50O2lmKHQubGVuZ3RoPjMpe2lmKG51bGwhPT10WzJdJiYoIm51bWJlciIhPXR5cGVvZiB0WzJdfHx0WzJdPDB8fHRbMl0hPT1NYXRoLmZsb29yKHRbMl0pKSlyZXR1cm4gZS5lcnJvcignVGhlIGxlbmd0aCBhcmd1bWVudCB0byAiYXJyYXkiIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGxpdGVyYWwnLDIpO289dFsyXSxuKyt9cj1VdChpLG8pfWVsc2Ugcj1yZVthXTtmb3IodmFyIGw9W107bjx0Lmxlbmd0aDtuKyspe3ZhciBjPWUucGFyc2UodFtuXSxuLE50KTtpZighYylyZXR1cm4gbnVsbDtsLnB1c2goYyl9cmV0dXJuIG5ldyBuZShyLGwpfSxuZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmFyZ3MubGVuZ3RoO2UrKyl7dmFyIHI9dGhpcy5hcmdzW2VdLmV2YWx1YXRlKHQpO2lmKCFHdCh0aGlzLnR5cGUsUXQocikpKXJldHVybiByO2lmKGU9PT10aGlzLmFyZ3MubGVuZ3RoLTEpdGhyb3cgbmV3IGVlKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBvZiB0eXBlICIrcXQodGhpcy50eXBlKSsiLCBidXQgZm91bmQgIitxdChRdChyKSkrIiBpbnN0ZWFkLiIpfXJldHVybiBudWxsfSxuZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxuZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYXJncy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zc2libGVPdXRwdXRzKCl9KSl9LG5lLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnR5cGUsZT1bdC5raW5kXTtpZigiYXJyYXkiPT09dC5raW5kKXt2YXIgcj10Lml0ZW1UeXBlO2lmKCJzdHJpbmciPT09ci5raW5kfHwibnVtYmVyIj09PXIua2luZHx8ImJvb2xlYW4iPT09ci5raW5kKXtlLnB1c2goci5raW5kKTt2YXIgbj10Lk47KCJudW1iZXIiPT10eXBlb2Ygbnx8dGhpcy5hcmdzLmxlbmd0aD4xKSYmZS5wdXNoKG4pfX1yZXR1cm4gZS5jb25jYXQodGhpcy5hcmdzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5zZXJpYWxpemUoKX0pKX07dmFyIGFlPWZ1bmN0aW9uKHQpe3RoaXMudHlwZT1WdCx0aGlzLnNlY3Rpb25zPXR9O2FlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8MylyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cy4iKTtpZigodC5sZW5ndGgtMSklMiE9MClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gZXZlbiBudW1iZXIgb2YgYXJndW1lbnRzLiIpO2Zvcih2YXIgcj1bXSxuPTE7bjx0Lmxlbmd0aC0xO24rPTIpe3ZhciBhPWUucGFyc2UodFtuXSwxLE50KTtpZighYSlyZXR1cm4gbnVsbDt2YXIgaT1hLnR5cGUua2luZDtpZigic3RyaW5nIiE9PWkmJiJ2YWx1ZSIhPT1pJiYibnVsbCIhPT1pKXJldHVybiBlLmVycm9yKCJGb3JtYXR0ZWQgdGV4dCB0eXBlIG11c3QgYmUgJ3N0cmluZycsICd2YWx1ZScsIG9yICdudWxsJy4iKTt2YXIgbz10W24rMV07aWYoIm9iamVjdCIhPXR5cGVvZiBvfHxBcnJheS5pc0FycmF5KG8pKXJldHVybiBlLmVycm9yKCJGb3JtYXQgb3B0aW9ucyBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdC4iKTt2YXIgcz1udWxsO2lmKG9bImZvbnQtc2NhbGUiXSYmIShzPWUucGFyc2Uob1siZm9udC1zY2FsZSJdLDEsSXQpKSlyZXR1cm4gbnVsbDt2YXIgbD1udWxsO2lmKG9bInRleHQtZm9udCJdJiYhKGw9ZS5wYXJzZShvWyJ0ZXh0LWZvbnQiXSwxLFV0KER0KSkpKXJldHVybiBudWxsO3ZhciBjPW51bGw7aWYob1sidGV4dC1jb2xvciJdJiYhKGM9ZS5wYXJzZShvWyJ0ZXh0LWNvbG9yIl0sMSxGdCkpKXJldHVybiBudWxsO3IucHVzaCh7dGV4dDphLHNjYWxlOnMsZm9udDpsLHRleHRDb2xvcjpjfSl9cmV0dXJuIG5ldyBhZShyKX0sYWUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgSnQodGhpcy5zZWN0aW9ucy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBadCgkdChlLnRleHQuZXZhbHVhdGUodCkpLGUuc2NhbGU/ZS5zY2FsZS5ldmFsdWF0ZSh0KTpudWxsLGUuZm9udD9lLmZvbnQuZXZhbHVhdGUodCkuam9pbigiLCIpOm51bGwsZS50ZXh0Q29sb3I/ZS50ZXh0Q29sb3IuZXZhbHVhdGUodCk6bnVsbCl9KSl9LGFlLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj10aGlzLnNlY3Rpb25zO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTt0KG4udGV4dCksbi5zY2FsZSYmdChuLnNjYWxlKSxuLmZvbnQmJnQobi5mb250KSxuLnRleHRDb2xvciYmdChuLnRleHRDb2xvcil9fSxhZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LGFlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9WyJmb3JtYXQiXSxlPTAscj10aGlzLnNlY3Rpb25zO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTt0LnB1c2gobi50ZXh0LnNlcmlhbGl6ZSgpKTt2YXIgYT17fTtuLnNjYWxlJiYoYVsiZm9udC1zY2FsZSJdPW4uc2NhbGUuc2VyaWFsaXplKCkpLG4uZm9udCYmKGFbInRleHQtZm9udCJdPW4uZm9udC5zZXJpYWxpemUoKSksbi50ZXh0Q29sb3ImJihhWyJ0ZXh0LWNvbG9yIl09bi50ZXh0Q29sb3Iuc2VyaWFsaXplKCkpLHQucHVzaChhKX1yZXR1cm4gdH07dmFyIGllPXsidG8tYm9vbGVhbiI6UnQsInRvLWNvbG9yIjpGdCwidG8tbnVtYmVyIjpJdCwidG8tc3RyaW5nIjpEdH0sb2U9ZnVuY3Rpb24odCxlKXt0aGlzLnR5cGU9dCx0aGlzLmFyZ3M9ZX07b2UucGFyc2U9ZnVuY3Rpb24odCxlKXtpZih0Lmxlbmd0aDwyKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIik7dmFyIHI9dFswXTtpZigoInRvLWJvb2xlYW4iPT09cnx8InRvLXN0cmluZyI9PT1yKSYmMiE9PXQubGVuZ3RoKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBvbmUgYXJndW1lbnQuIik7Zm9yKHZhciBuPWllW3JdLGE9W10saT0xO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz1lLnBhcnNlKHRbaV0saSxOdCk7aWYoIW8pcmV0dXJuIG51bGw7YS5wdXNoKG8pfXJldHVybiBuZXcgb2UobixhKX0sb2UucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe2lmKCJib29sZWFuIj09PXRoaXMudHlwZS5raW5kKXJldHVybiBCb29sZWFuKHRoaXMuYXJnc1swXS5ldmFsdWF0ZSh0KSk7aWYoImNvbG9yIj09PXRoaXMudHlwZS5raW5kKXtmb3IodmFyIGUscixuPTAsYT10aGlzLmFyZ3M7bjxhLmxlbmd0aDtuKz0xKXtpZihyPW51bGwsKGU9YVtuXS5ldmFsdWF0ZSh0KSlpbnN0YW5jZW9mIFd0KXJldHVybiBlO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIGk9dC5wYXJzZUNvbG9yKGUpO2lmKGkpcmV0dXJuIGl9ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpJiYhKHI9ZS5sZW5ndGg8M3x8ZS5sZW5ndGg+ND8iSW52YWxpZCByYmdhIHZhbHVlICIrSlNPTi5zdHJpbmdpZnkoZSkrIjogZXhwZWN0ZWQgYW4gYXJyYXkgY29udGFpbmluZyBlaXRoZXIgdGhyZWUgb3IgZm91ciBudW1lcmljIHZhbHVlcy4iOkt0KGVbMF0sZVsxXSxlWzJdLGVbM10pKSlyZXR1cm4gbmV3IFd0KGVbMF0vMjU1LGVbMV0vMjU1LGVbMl0vMjU1LGVbM10pfXRocm93IG5ldyBlZShyfHwiQ291bGQgbm90IHBhcnNlIGNvbG9yIGZyb20gdmFsdWUgJyIrKCJzdHJpbmciPT10eXBlb2YgZT9lOlN0cmluZyhKU09OLnN0cmluZ2lmeShlKSkpKyInIil9aWYoIm51bWJlciI9PT10aGlzLnR5cGUua2luZCl7Zm9yKHZhciBvPW51bGwscz0wLGw9dGhpcy5hcmdzO3M8bC5sZW5ndGg7cys9MSl7aWYobnVsbD09PShvPWxbc10uZXZhbHVhdGUodCkpKXJldHVybiAwO3ZhciBjPU51bWJlcihvKTtpZighaXNOYU4oYykpcmV0dXJuIGN9dGhyb3cgbmV3IGVlKCJDb3VsZCBub3QgY29udmVydCAiK0pTT04uc3RyaW5naWZ5KG8pKyIgdG8gbnVtYmVyLiIpfXJldHVybiJmb3JtYXR0ZWQiPT09dGhpcy50eXBlLmtpbmQ/SnQuZnJvbVN0cmluZygkdCh0aGlzLmFyZ3NbMF0uZXZhbHVhdGUodCkpKTokdCh0aGlzLmFyZ3NbMF0uZXZhbHVhdGUodCkpfSxvZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxvZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYXJncy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zc2libGVPdXRwdXRzKCl9KSl9LG9lLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtpZigiZm9ybWF0dGVkIj09PXRoaXMudHlwZS5raW5kKXJldHVybiBuZXcgYWUoW3t0ZXh0OnRoaXMuYXJnc1swXSxzY2FsZTpudWxsLGZvbnQ6bnVsbCx0ZXh0Q29sb3I6bnVsbH1dKS5zZXJpYWxpemUoKTt2YXIgdD1bInRvLSIrdGhpcy50eXBlLmtpbmRdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbihlKXt0LnB1c2goZS5zZXJpYWxpemUoKSl9KSx0fTt2YXIgc2U9WyJVbmtub3duIiwiUG9pbnQiLCJMaW5lU3RyaW5nIiwiUG9seWdvbiJdLGxlPWZ1bmN0aW9uKCl7dGhpcy5nbG9iYWxzPW51bGwsdGhpcy5mZWF0dXJlPW51bGwsdGhpcy5mZWF0dXJlU3RhdGU9bnVsbCx0aGlzLmZvcm1hdHRlZFNlY3Rpb249bnVsbCx0aGlzLl9wYXJzZUNvbG9yQ2FjaGU9e319O2xlLnByb3RvdHlwZS5pZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZlYXR1cmUmJiJpZCJpbiB0aGlzLmZlYXR1cmU/dGhpcy5mZWF0dXJlLmlkOm51bGx9LGxlLnByb3RvdHlwZS5nZW9tZXRyeVR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mZWF0dXJlPyJudW1iZXIiPT10eXBlb2YgdGhpcy5mZWF0dXJlLnR5cGU/c2VbdGhpcy5mZWF0dXJlLnR5cGVdOnRoaXMuZmVhdHVyZS50eXBlOm51bGx9LGxlLnByb3RvdHlwZS5wcm9wZXJ0aWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmVhdHVyZSYmdGhpcy5mZWF0dXJlLnByb3BlcnRpZXN8fHt9fSxsZS5wcm90b3R5cGUucGFyc2VDb2xvcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9wYXJzZUNvbG9yQ2FjaGVbdF07cmV0dXJuIGV8fChlPXRoaXMuX3BhcnNlQ29sb3JDYWNoZVt0XT1XdC5wYXJzZSh0KSksZX07dmFyIGNlPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMubmFtZT10LHRoaXMudHlwZT1lLHRoaXMuX2V2YWx1YXRlPXIsdGhpcy5hcmdzPW59O2NlLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZXZhbHVhdGUodCx0aGlzLmFyZ3MpfSxjZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxjZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LGNlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5uYW1lXS5jb25jYXQodGhpcy5hcmdzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5zZXJpYWxpemUoKX0pKX0sY2UucGFyc2U9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRbMF0sYT1jZS5kZWZpbml0aW9uc1tuXTtpZighYSlyZXR1cm4gZS5lcnJvcignVW5rbm93biBleHByZXNzaW9uICInK24rJyIuIElmIHlvdSB3YW50ZWQgYSBsaXRlcmFsIGFycmF5LCB1c2UgWyJsaXRlcmFsIiwgWy4uLl1dLicsMCk7Zm9yKHZhciBpPUFycmF5LmlzQXJyYXkoYSk/YVswXTphLnR5cGUsbz1BcnJheS5pc0FycmF5KGEpP1tbYVsxXSxhWzJdXV06YS5vdmVybG9hZHMscz1vLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgcj1lWzBdO3JldHVybiFBcnJheS5pc0FycmF5KHIpfHxyLmxlbmd0aD09PXQubGVuZ3RoLTF9KSxsPW51bGwsYz0wLHU9cztjPHUubGVuZ3RoO2MrPTEpe3ZhciBoPXVbY10sZj1oWzBdLHA9aFsxXTtsPW5ldyBnZShlLnJlZ2lzdHJ5LGUucGF0aCxudWxsLGUuc2NvcGUpO2Zvcih2YXIgZD1bXSxnPSExLHY9MTt2PHQubGVuZ3RoO3YrKyl7dmFyIG09dFt2XSx5PUFycmF5LmlzQXJyYXkoZik/Zlt2LTFdOmYudHlwZSx4PWwucGFyc2UobSwxK2QubGVuZ3RoLHkpO2lmKCF4KXtnPSEwO2JyZWFrfWQucHVzaCh4KX1pZighZylpZihBcnJheS5pc0FycmF5KGYpJiZmLmxlbmd0aCE9PWQubGVuZ3RoKWwuZXJyb3IoIkV4cGVjdGVkICIrZi5sZW5ndGgrIiBhcmd1bWVudHMsIGJ1dCBmb3VuZCAiK2QubGVuZ3RoKyIgaW5zdGVhZC4iKTtlbHNle2Zvcih2YXIgYj0wO2I8ZC5sZW5ndGg7YisrKXt2YXIgXz1BcnJheS5pc0FycmF5KGYpP2ZbYl06Zi50eXBlLHc9ZFtiXTtsLmNvbmNhdChiKzEpLmNoZWNrU3VidHlwZShfLHcudHlwZSl9aWYoMD09PWwuZXJyb3JzLmxlbmd0aClyZXR1cm4gbmV3IGNlKG4saSxwLGQpfX1pZigxPT09cy5sZW5ndGgpKHI9ZS5lcnJvcnMpLnB1c2guYXBwbHkocixsLmVycm9ycyk7ZWxzZXtmb3IodmFyIGs9KHMubGVuZ3RoP3M6bykubWFwKGZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPXRbMF0sQXJyYXkuaXNBcnJheShlKT8iKCIrZS5tYXAocXQpLmpvaW4oIiwgIikrIikiOiIoIitxdChlLnR5cGUpKyIuLi4pIn0pLmpvaW4oIiB8ICIpLFQ9W10sTT0xO008dC5sZW5ndGg7TSsrKXt2YXIgQT1lLnBhcnNlKHRbTV0sMStULmxlbmd0aCk7aWYoIUEpcmV0dXJuIG51bGw7VC5wdXNoKHF0KEEudHlwZSkpfWUuZXJyb3IoIkV4cGVjdGVkIGFyZ3VtZW50cyBvZiB0eXBlICIraysiLCBidXQgZm91bmQgKCIrVC5qb2luKCIsICIpKyIpIGluc3RlYWQuIil9cmV0dXJuIG51bGx9LGNlLnJlZ2lzdGVyPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGNlLmRlZmluaXRpb25zPWUsZSl0W3JdPWNlfTt2YXIgdWU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudHlwZT1qdCx0aGlzLmxvY2FsZT1yLHRoaXMuY2FzZVNlbnNpdGl2ZT10LHRoaXMuZGlhY3JpdGljU2Vuc2l0aXZlPWV9O2Z1bmN0aW9uIGhlKHQpe2lmKHQgaW5zdGFuY2VvZiBjZSl7aWYoImdldCI9PT10Lm5hbWUmJjE9PT10LmFyZ3MubGVuZ3RoKXJldHVybiExO2lmKCJmZWF0dXJlLXN0YXRlIj09PXQubmFtZSlyZXR1cm4hMTtpZigiaGFzIj09PXQubmFtZSYmMT09PXQuYXJncy5sZW5ndGgpcmV0dXJuITE7aWYoInByb3BlcnRpZXMiPT09dC5uYW1lfHwiZ2VvbWV0cnktdHlwZSI9PT10Lm5hbWV8fCJpZCI9PT10Lm5hbWUpcmV0dXJuITE7aWYoL15maWx0ZXItLy50ZXN0KHQubmFtZSkpcmV0dXJuITF9dmFyIGU9ITA7cmV0dXJuIHQuZWFjaENoaWxkKGZ1bmN0aW9uKHQpe2UmJiFoZSh0KSYmKGU9ITEpfSksZX1mdW5jdGlvbiBmZSh0KXtpZih0IGluc3RhbmNlb2YgY2UmJiJmZWF0dXJlLXN0YXRlIj09PXQubmFtZSlyZXR1cm4hMTt2YXIgZT0hMDtyZXR1cm4gdC5lYWNoQ2hpbGQoZnVuY3Rpb24odCl7ZSYmIWZlKHQpJiYoZT0hMSl9KSxlfWZ1bmN0aW9uIHBlKHQsZSl7aWYodCBpbnN0YW5jZW9mIGNlJiZlLmluZGV4T2YodC5uYW1lKT49MClyZXR1cm4hMTt2YXIgcj0hMDtyZXR1cm4gdC5lYWNoQ2hpbGQoZnVuY3Rpb24odCl7ciYmIXBlKHQsZSkmJihyPSExKX0pLHJ9dWUucGFyc2U9ZnVuY3Rpb24odCxlKXtpZigyIT09dC5sZW5ndGgpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIG9uZSBhcmd1bWVudC4iKTt2YXIgcj10WzFdO2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8QXJyYXkuaXNBcnJheShyKSlyZXR1cm4gZS5lcnJvcigiQ29sbGF0b3Igb3B0aW9ucyBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdC4iKTt2YXIgbj1lLnBhcnNlKHZvaWQgMCE9PXJbImNhc2Utc2Vuc2l0aXZlIl0mJnJbImNhc2Utc2Vuc2l0aXZlIl0sMSxSdCk7aWYoIW4pcmV0dXJuIG51bGw7dmFyIGE9ZS5wYXJzZSh2b2lkIDAhPT1yWyJkaWFjcml0aWMtc2Vuc2l0aXZlIl0mJnJbImRpYWNyaXRpYy1zZW5zaXRpdmUiXSwxLFJ0KTtpZighYSlyZXR1cm4gbnVsbDt2YXIgaT1udWxsO3JldHVybiByLmxvY2FsZSYmIShpPWUucGFyc2Uoci5sb2NhbGUsMSxEdCkpP251bGw6bmV3IHVlKG4sYSxpKX0sdWUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWHQodGhpcy5jYXNlU2Vuc2l0aXZlLmV2YWx1YXRlKHQpLHRoaXMuZGlhY3JpdGljU2Vuc2l0aXZlLmV2YWx1YXRlKHQpLHRoaXMubG9jYWxlP3RoaXMubG9jYWxlLmV2YWx1YXRlKHQpOm51bGwpfSx1ZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3QodGhpcy5jYXNlU2Vuc2l0aXZlKSx0KHRoaXMuZGlhY3JpdGljU2Vuc2l0aXZlKSx0aGlzLmxvY2FsZSYmdCh0aGlzLmxvY2FsZSl9LHVlLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXtyZXR1cm5bdm9pZCAwXX0sdWUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0WyJjYXNlLXNlbnNpdGl2ZSJdPXRoaXMuY2FzZVNlbnNpdGl2ZS5zZXJpYWxpemUoKSx0WyJkaWFjcml0aWMtc2Vuc2l0aXZlIl09dGhpcy5kaWFjcml0aWNTZW5zaXRpdmUuc2VyaWFsaXplKCksdGhpcy5sb2NhbGUmJih0LmxvY2FsZT10aGlzLmxvY2FsZS5zZXJpYWxpemUoKSksWyJjb2xsYXRvciIsdF19O3ZhciBkZT1mdW5jdGlvbih0LGUpe3RoaXMudHlwZT1lLnR5cGUsdGhpcy5uYW1lPXQsdGhpcy5ib3VuZEV4cHJlc3Npb249ZX07ZGUucGFyc2U9ZnVuY3Rpb24odCxlKXtpZigyIT09dC5sZW5ndGh8fCJzdHJpbmciIT10eXBlb2YgdFsxXSlyZXR1cm4gZS5lcnJvcigiJ3ZhcicgZXhwcmVzc2lvbiByZXF1aXJlcyBleGFjdGx5IG9uZSBzdHJpbmcgbGl0ZXJhbCBhcmd1bWVudC4iKTt2YXIgcj10WzFdO3JldHVybiBlLnNjb3BlLmhhcyhyKT9uZXcgZGUocixlLnNjb3BlLmdldChyKSk6ZS5lcnJvcignVW5rbm93biB2YXJpYWJsZSAiJytyKyciLiBNYWtlIHN1cmUgIicrcisnIiBoYXMgYmVlbiBib3VuZCBpbiBhbiBlbmNsb3NpbmcgImxldCIgZXhwcmVzc2lvbiBiZWZvcmUgdXNpbmcgaXQuJywxKX0sZGUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmJvdW5kRXhwcmVzc2lvbi5ldmFsdWF0ZSh0KX0sZGUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbigpe30sZGUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3JldHVyblt2b2lkIDBdfSxkZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuWyJ2YXIiLHRoaXMubmFtZV19O3ZhciBnZT1mdW5jdGlvbih0LGUscixuLGEpe3ZvaWQgMD09PWUmJihlPVtdKSx2b2lkIDA9PT1uJiYobj1uZXcgT3QpLHZvaWQgMD09PWEmJihhPVtdKSx0aGlzLnJlZ2lzdHJ5PXQsdGhpcy5wYXRoPWUsdGhpcy5rZXk9ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIlsiK3QrIl0ifSkuam9pbigiIiksdGhpcy5zY29wZT1uLHRoaXMuZXJyb3JzPWEsdGhpcy5leHBlY3RlZFR5cGU9cn07ZnVuY3Rpb24gdmUodCxlKXtmb3IodmFyIHIsbixhPXQubGVuZ3RoLTEsaT0wLG89YSxzPTA7aTw9bzspaWYocj10W3M9TWF0aC5mbG9vcigoaStvKS8yKV0sbj10W3MrMV0scjw9ZSl7aWYocz09PWF8fGU8bilyZXR1cm4gcztpPXMrMX1lbHNle2lmKCEocj5lKSl0aHJvdyBuZXcgZWUoIklucHV0IGlzIG5vdCBhIG51bWJlci4iKTtvPXMtMX1yZXR1cm4gMH1nZS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdm9pZCAwPT09YSYmKGE9e30pLGU/dGhpcy5jb25jYXQoZSxyLG4pLl9wYXJzZSh0LGEpOnRoaXMuX3BhcnNlKHQsYSl9LGdlLnByb3RvdHlwZS5fcGFyc2U9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKHQsZSxyKXtyZXR1cm4iYXNzZXJ0Ij09PXI/bmV3IG5lKGUsW3RdKToiY29lcmNlIj09PXI/bmV3IG9lKGUsW3RdKTp0fWlmKG51bGwhPT10JiYic3RyaW5nIiE9dHlwZW9mIHQmJiJib29sZWFuIiE9dHlwZW9mIHQmJiJudW1iZXIiIT10eXBlb2YgdHx8KHQ9WyJsaXRlcmFsIix0XSksQXJyYXkuaXNBcnJheSh0KSl7aWYoMD09PXQubGVuZ3RoKXJldHVybiB0aGlzLmVycm9yKCdFeHBlY3RlZCBhbiBhcnJheSB3aXRoIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBJZiB5b3Ugd2FudGVkIGEgbGl0ZXJhbCBhcnJheSwgdXNlIFsibGl0ZXJhbCIsIFtdXS4nKTt2YXIgbj10WzBdO2lmKCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gdGhpcy5lcnJvcigiRXhwcmVzc2lvbiBuYW1lIG11c3QgYmUgYSBzdHJpbmcsIGJ1dCBmb3VuZCAiK3R5cGVvZiBuKycgaW5zdGVhZC4gSWYgeW91IHdhbnRlZCBhIGxpdGVyYWwgYXJyYXksIHVzZSBbImxpdGVyYWwiLCBbLi4uXV0uJywwKSxudWxsO3ZhciBhPXRoaXMucmVnaXN0cnlbbl07aWYoYSl7dmFyIGk9YS5wYXJzZSh0LHRoaXMpO2lmKCFpKXJldHVybiBudWxsO2lmKHRoaXMuZXhwZWN0ZWRUeXBlKXt2YXIgbz10aGlzLmV4cGVjdGVkVHlwZSxzPWkudHlwZTtpZigic3RyaW5nIiE9PW8ua2luZCYmIm51bWJlciIhPT1vLmtpbmQmJiJib29sZWFuIiE9PW8ua2luZCYmIm9iamVjdCIhPT1vLmtpbmQmJiJhcnJheSIhPT1vLmtpbmR8fCJ2YWx1ZSIhPT1zLmtpbmQpaWYoImNvbG9yIiE9PW8ua2luZCYmImZvcm1hdHRlZCIhPT1vLmtpbmR8fCJ2YWx1ZSIhPT1zLmtpbmQmJiJzdHJpbmciIT09cy5raW5kKXtpZih0aGlzLmNoZWNrU3VidHlwZShvLHMpKXJldHVybiBudWxsfWVsc2UgaT1yKGksbyxlLnR5cGVBbm5vdGF0aW9ufHwiY29lcmNlIik7ZWxzZSBpPXIoaSxvLGUudHlwZUFubm90YXRpb258fCJhc3NlcnQiKX1pZighKGkgaW5zdGFuY2VvZiB0ZSkmJmZ1bmN0aW9uIHQoZSl7aWYoZSBpbnN0YW5jZW9mIGRlKXJldHVybiB0KGUuYm91bmRFeHByZXNzaW9uKTtpZihlIGluc3RhbmNlb2YgY2UmJiJlcnJvciI9PT1lLm5hbWUpcmV0dXJuITE7aWYoZSBpbnN0YW5jZW9mIHVlKXJldHVybiExO3ZhciByPWUgaW5zdGFuY2VvZiBvZXx8ZSBpbnN0YW5jZW9mIG5lLG49ITA7cmV0dXJuIGUuZWFjaENoaWxkKGZ1bmN0aW9uKGUpe249cj9uJiZ0KGUpOm4mJmUgaW5zdGFuY2VvZiB0ZX0pLCEhbiYmKGhlKGUpJiZwZShlLFsiem9vbSIsImhlYXRtYXAtZGVuc2l0eSIsImxpbmUtcHJvZ3Jlc3MiLCJhY2N1bXVsYXRlZCIsImlzLXN1cHBvcnRlZC1zY3JpcHQiXSkpfShpKSl7dmFyIGw9bmV3IGxlO3RyeXtpPW5ldyB0ZShpLnR5cGUsaS5ldmFsdWF0ZShsKSl9Y2F0Y2godCl7cmV0dXJuIHRoaXMuZXJyb3IodC5tZXNzYWdlKSxudWxsfX1yZXR1cm4gaX1yZXR1cm4gdGhpcy5lcnJvcignVW5rbm93biBleHByZXNzaW9uICInK24rJyIuIElmIHlvdSB3YW50ZWQgYSBsaXRlcmFsIGFycmF5LCB1c2UgWyJsaXRlcmFsIiwgWy4uLl1dLicsMCl9cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5lcnJvcigiJ3VuZGVmaW5lZCcgdmFsdWUgaW52YWxpZC4gVXNlIG51bGwgaW5zdGVhZC4iKToib2JqZWN0Ij09dHlwZW9mIHQ/dGhpcy5lcnJvcignQmFyZSBvYmplY3RzIGludmFsaWQuIFVzZSBbImxpdGVyYWwiLCB7Li4ufV0gaW5zdGVhZC4nKTp0aGlzLmVycm9yKCJFeHBlY3RlZCBhbiBhcnJheSwgYnV0IGZvdW5kICIrdHlwZW9mIHQrIiBpbnN0ZWFkLiIpfSxnZS5wcm90b3R5cGUuY29uY2F0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj0ibnVtYmVyIj09dHlwZW9mIHQ/dGhpcy5wYXRoLmNvbmNhdCh0KTp0aGlzLnBhdGgsYT1yP3RoaXMuc2NvcGUuY29uY2F0KHIpOnRoaXMuc2NvcGU7cmV0dXJuIG5ldyBnZSh0aGlzLnJlZ2lzdHJ5LG4sZXx8bnVsbCxhLHRoaXMuZXJyb3JzKX0sZ2UucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPWFyZ3VtZW50cy5sZW5ndGgtMTtyLS0gPjA7KWVbcl09YXJndW1lbnRzW3IrMV07dmFyIG49IiIrdGhpcy5rZXkrZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIlsiK3QrIl0ifSkuam9pbigiIik7dGhpcy5lcnJvcnMucHVzaChuZXcgUHQobix0KSl9LGdlLnByb3RvdHlwZS5jaGVja1N1YnR5cGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1HdCh0LGUpO3JldHVybiByJiZ0aGlzLmVycm9yKHIpLHJ9O3ZhciBtZT1mdW5jdGlvbih0LGUscil7dGhpcy50eXBlPXQsdGhpcy5pbnB1dD1lLHRoaXMubGFiZWxzPVtdLHRoaXMub3V0cHV0cz1bXTtmb3IodmFyIG49MCxhPXI7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1hW25dLG89aVswXSxzPWlbMV07dGhpcy5sYWJlbHMucHVzaChvKSx0aGlzLm91dHB1dHMucHVzaChzKX19O2Z1bmN0aW9uIHllKHQsZSxyKXtyZXR1cm4gdCooMS1yKStlKnJ9bWUucGFyc2U9ZnVuY3Rpb24odCxlKXtpZih0Lmxlbmd0aC0xPDQpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIGF0IGxlYXN0IDQgYXJndW1lbnRzLCBidXQgZm91bmQgb25seSAiKyh0Lmxlbmd0aC0xKSsiLiIpO2lmKCh0Lmxlbmd0aC0xKSUyIT0wKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHMuIik7dmFyIHI9ZS5wYXJzZSh0WzFdLDEsSXQpO2lmKCFyKXJldHVybiBudWxsO3ZhciBuPVtdLGE9bnVsbDtlLmV4cGVjdGVkVHlwZSYmInZhbHVlIiE9PWUuZXhwZWN0ZWRUeXBlLmtpbmQmJihhPWUuZXhwZWN0ZWRUeXBlKTtmb3IodmFyIGk9MTtpPHQubGVuZ3RoO2krPTIpe3ZhciBvPTE9PT1pPy0xLzA6dFtpXSxzPXRbaSsxXSxsPWksYz1pKzE7aWYoIm51bWJlciIhPXR5cGVvZiBvKXJldHVybiBlLmVycm9yKCdJbnB1dC9vdXRwdXQgcGFpcnMgZm9yICJzdGVwIiBleHByZXNzaW9ucyBtdXN0IGJlIGRlZmluZWQgdXNpbmcgbGl0ZXJhbCBudW1lcmljIHZhbHVlcyAobm90IGNvbXB1dGVkIGV4cHJlc3Npb25zKSBmb3IgdGhlIGlucHV0IHZhbHVlcy4nLGwpO2lmKG4ubGVuZ3RoJiZuW24ubGVuZ3RoLTFdWzBdPj1vKXJldHVybiBlLmVycm9yKCdJbnB1dC9vdXRwdXQgcGFpcnMgZm9yICJzdGVwIiBleHByZXNzaW9ucyBtdXN0IGJlIGFycmFuZ2VkIHdpdGggaW5wdXQgdmFsdWVzIGluIHN0cmljdGx5IGFzY2VuZGluZyBvcmRlci4nLGwpO3ZhciB1PWUucGFyc2UocyxjLGEpO2lmKCF1KXJldHVybiBudWxsO2E9YXx8dS50eXBlLG4ucHVzaChbbyx1XSl9cmV0dXJuIG5ldyBtZShhLHIsbil9LG1lLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhYmVscyxyPXRoaXMub3V0cHV0cztpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHJbMF0uZXZhbHVhdGUodCk7dmFyIG49dGhpcy5pbnB1dC5ldmFsdWF0ZSh0KTtpZihuPD1lWzBdKXJldHVybiByWzBdLmV2YWx1YXRlKHQpO3ZhciBhPWUubGVuZ3RoO3JldHVybiBuPj1lW2EtMV0/clthLTFdLmV2YWx1YXRlKHQpOnJbdmUoZSxuKV0uZXZhbHVhdGUodCl9LG1lLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7dCh0aGlzLmlucHV0KTtmb3IodmFyIGU9MCxyPXRoaXMub3V0cHV0cztlPHIubGVuZ3RoO2UrPTEpdChyW2VdKX0sbWUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3ZhciB0O3JldHVybih0PVtdKS5jb25jYXQuYXBwbHkodCx0aGlzLm91dHB1dHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBvc3NpYmxlT3V0cHV0cygpfSkpfSxtZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVsic3RlcCIsdGhpcy5pbnB1dC5zZXJpYWxpemUoKV0sZT0wO2U8dGhpcy5sYWJlbHMubGVuZ3RoO2UrKyllPjAmJnQucHVzaCh0aGlzLmxhYmVsc1tlXSksdC5wdXNoKHRoaXMub3V0cHV0c1tlXS5zZXJpYWxpemUoKSk7cmV0dXJuIHR9O3ZhciB4ZT1PYmplY3QuZnJlZXplKHtudW1iZXI6eWUsY29sb3I6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuZXcgV3QoeWUodC5yLGUucixyKSx5ZSh0LmcsZS5nLHIpLHllKHQuYixlLmIscikseWUodC5hLGUuYSxyKSl9LGFycmF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCxuKXtyZXR1cm4geWUodCxlW25dLHIpfSl9fSksYmU9Ljk1MDQ3LF9lPTEsd2U9MS4wODg4MyxrZT00LzI5LFRlPTYvMjksTWU9MypUZSpUZSxBZT1UZSpUZSpUZSxTZT1NYXRoLlBJLzE4MCxFZT0xODAvTWF0aC5QSTtmdW5jdGlvbiBMZSh0KXtyZXR1cm4gdD5BZT9NYXRoLnBvdyh0LDEvMyk6dC9NZStrZX1mdW5jdGlvbiBDZSh0KXtyZXR1cm4gdD5UZT90KnQqdDpNZSoodC1rZSl9ZnVuY3Rpb24gUGUodCl7cmV0dXJuIDI1NSoodDw9LjAwMzEzMDg/MTIuOTIqdDoxLjA1NSpNYXRoLnBvdyh0LDEvMi40KS0uMDU1KX1mdW5jdGlvbiBPZSh0KXtyZXR1cm4odC89MjU1KTw9LjA0MDQ1P3QvMTIuOTI6TWF0aC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX1mdW5jdGlvbiB6ZSh0KXt2YXIgZT1PZSh0LnIpLHI9T2UodC5nKSxuPU9lKHQuYiksYT1MZSgoLjQxMjQ1NjQqZSsuMzU3NTc2MSpyKy4xODA0Mzc1Km4pL2JlKSxpPUxlKCguMjEyNjcyOSplKy43MTUxNTIyKnIrLjA3MjE3NSpuKS9fZSk7cmV0dXJue2w6MTE2KmktMTYsYTo1MDAqKGEtaSksYjoyMDAqKGktTGUoKC4wMTkzMzM5KmUrLjExOTE5MipyKy45NTAzMDQxKm4pL3dlKSksYWxwaGE6dC5hfX1mdW5jdGlvbiBJZSh0KXt2YXIgZT0odC5sKzE2KS8xMTYscj1pc05hTih0LmEpP2U6ZSt0LmEvNTAwLG49aXNOYU4odC5iKT9lOmUtdC5iLzIwMDtyZXR1cm4gZT1fZSpDZShlKSxyPWJlKkNlKHIpLG49d2UqQ2UobiksbmV3IFd0KFBlKDMuMjQwNDU0MipyLTEuNTM3MTM4NSplLS40OTg1MzE0Km4pLFBlKC0uOTY5MjY2KnIrMS44NzYwMTA4KmUrLjA0MTU1NipuKSxQZSguMDU1NjQzNCpyLS4yMDQwMjU5KmUrMS4wNTcyMjUyKm4pLHQuYWxwaGEpfWZ1bmN0aW9uIERlKHQsZSxyKXt2YXIgbj1lLXQ7cmV0dXJuIHQrcioobj4xODB8fG48LTE4MD9uLTM2MCpNYXRoLnJvdW5kKG4vMzYwKTpuKX12YXIgUmU9e2ZvcndhcmQ6emUscmV2ZXJzZTpJZSxpbnRlcnBvbGF0ZTpmdW5jdGlvbih0LGUscil7cmV0dXJue2w6eWUodC5sLGUubCxyKSxhOnllKHQuYSxlLmEsciksYjp5ZSh0LmIsZS5iLHIpLGFscGhhOnllKHQuYWxwaGEsZS5hbHBoYSxyKX19fSxGZT17Zm9yd2FyZDpmdW5jdGlvbih0KXt2YXIgZT16ZSh0KSxyPWUubCxuPWUuYSxhPWUuYixpPU1hdGguYXRhbjIoYSxuKSpFZTtyZXR1cm57aDppPDA/aSszNjA6aSxjOk1hdGguc3FydChuKm4rYSphKSxsOnIsYWxwaGE6dC5hfX0scmV2ZXJzZTpmdW5jdGlvbih0KXt2YXIgZT10LmgqU2Uscj10LmM7cmV0dXJuIEllKHtsOnQubCxhOk1hdGguY29zKGUpKnIsYjpNYXRoLnNpbihlKSpyLGFscGhhOnQuYWxwaGF9KX0saW50ZXJwb2xhdGU6ZnVuY3Rpb24odCxlLHIpe3JldHVybntoOkRlKHQuaCxlLmgsciksYzp5ZSh0LmMsZS5jLHIpLGw6eWUodC5sLGUubCxyKSxhbHBoYTp5ZSh0LmFscGhhLGUuYWxwaGEscil9fX0sQmU9T2JqZWN0LmZyZWV6ZSh7bGFiOlJlLGhjbDpGZX0pLE5lPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy50eXBlPXQsdGhpcy5vcGVyYXRvcj1lLHRoaXMuaW50ZXJwb2xhdGlvbj1yLHRoaXMuaW5wdXQ9bix0aGlzLmxhYmVscz1bXSx0aGlzLm91dHB1dHM9W107Zm9yKHZhciBpPTAsbz1hO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXNbMF0sYz1zWzFdO3RoaXMubGFiZWxzLnB1c2gobCksdGhpcy5vdXRwdXRzLnB1c2goYyl9fTtmdW5jdGlvbiBqZSh0LGUscixuKXt2YXIgYT1uLXIsaT10LXI7cmV0dXJuIDA9PT1hPzA6MT09PWU/aS9hOihNYXRoLnBvdyhlLGkpLTEpLyhNYXRoLnBvdyhlLGEpLTEpfU5lLmludGVycG9sYXRpb25GYWN0b3I9ZnVuY3Rpb24odCxlLG4sYSl7dmFyIGk9MDtpZigiZXhwb25lbnRpYWwiPT09dC5uYW1lKWk9amUoZSx0LmJhc2UsbixhKTtlbHNlIGlmKCJsaW5lYXIiPT09dC5uYW1lKWk9amUoZSwxLG4sYSk7ZWxzZSBpZigiY3ViaWMtYmV6aWVyIj09PXQubmFtZSl7dmFyIG89dC5jb250cm9sUG9pbnRzO2k9bmV3IHIob1swXSxvWzFdLG9bMl0sb1szXSkuc29sdmUoamUoZSwxLG4sYSkpfXJldHVybiBpfSxOZS5wYXJzZT1mdW5jdGlvbih0LGUpe3ZhciByPXRbMF0sbj10WzFdLGE9dFsyXSxpPXQuc2xpY2UoMyk7aWYoIUFycmF5LmlzQXJyYXkobil8fDA9PT1uLmxlbmd0aClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gaW50ZXJwb2xhdGlvbiB0eXBlIGV4cHJlc3Npb24uIiwxKTtpZigibGluZWFyIj09PW5bMF0pbj17bmFtZToibGluZWFyIn07ZWxzZSBpZigiZXhwb25lbnRpYWwiPT09blswXSl7dmFyIG89blsxXTtpZigibnVtYmVyIiE9dHlwZW9mIG8pcmV0dXJuIGUuZXJyb3IoIkV4cG9uZW50aWFsIGludGVycG9sYXRpb24gcmVxdWlyZXMgYSBudW1lcmljIGJhc2UuIiwxLDEpO249e25hbWU6ImV4cG9uZW50aWFsIixiYXNlOm99fWVsc2V7aWYoImN1YmljLWJlemllciIhPT1uWzBdKXJldHVybiBlLmVycm9yKCJVbmtub3duIGludGVycG9sYXRpb24gdHlwZSAiK1N0cmluZyhuWzBdKSwxLDApO3ZhciBzPW4uc2xpY2UoMSk7aWYoNCE9PXMubGVuZ3RofHxzLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fHQ+MX0pKXJldHVybiBlLmVycm9yKCJDdWJpYyBiZXppZXIgaW50ZXJwb2xhdGlvbiByZXF1aXJlcyBmb3VyIG51bWVyaWMgYXJndW1lbnRzIHdpdGggdmFsdWVzIGJldHdlZW4gMCBhbmQgMS4iLDEpO249e25hbWU6ImN1YmljLWJlemllciIsY29udHJvbFBvaW50czpzfX1pZih0Lmxlbmd0aC0xPDQpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIGF0IGxlYXN0IDQgYXJndW1lbnRzLCBidXQgZm91bmQgb25seSAiKyh0Lmxlbmd0aC0xKSsiLiIpO2lmKCh0Lmxlbmd0aC0xKSUyIT0wKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHMuIik7aWYoIShhPWUucGFyc2UoYSwyLEl0KSkpcmV0dXJuIG51bGw7dmFyIGw9W10sYz1udWxsOyJpbnRlcnBvbGF0ZS1oY2wiPT09cnx8ImludGVycG9sYXRlLWxhYiI9PT1yP2M9RnQ6ZS5leHBlY3RlZFR5cGUmJiJ2YWx1ZSIhPT1lLmV4cGVjdGVkVHlwZS5raW5kJiYoYz1lLmV4cGVjdGVkVHlwZSk7Zm9yKHZhciB1PTA7dTxpLmxlbmd0aDt1Kz0yKXt2YXIgaD1pW3VdLGY9aVt1KzFdLHA9dSszLGQ9dSs0O2lmKCJudW1iZXIiIT10eXBlb2YgaClyZXR1cm4gZS5lcnJvcignSW5wdXQvb3V0cHV0IHBhaXJzIGZvciAiaW50ZXJwb2xhdGUiIGV4cHJlc3Npb25zIG11c3QgYmUgZGVmaW5lZCB1c2luZyBsaXRlcmFsIG51bWVyaWMgdmFsdWVzIChub3QgY29tcHV0ZWQgZXhwcmVzc2lvbnMpIGZvciB0aGUgaW5wdXQgdmFsdWVzLicscCk7aWYobC5sZW5ndGgmJmxbbC5sZW5ndGgtMV1bMF0+PWgpcmV0dXJuIGUuZXJyb3IoJ0lucHV0L291dHB1dCBwYWlycyBmb3IgImludGVycG9sYXRlIiBleHByZXNzaW9ucyBtdXN0IGJlIGFycmFuZ2VkIHdpdGggaW5wdXQgdmFsdWVzIGluIHN0cmljdGx5IGFzY2VuZGluZyBvcmRlci4nLHApO3ZhciBnPWUucGFyc2UoZixkLGMpO2lmKCFnKXJldHVybiBudWxsO2M9Y3x8Zy50eXBlLGwucHVzaChbaCxnXSl9cmV0dXJuIm51bWJlciI9PT1jLmtpbmR8fCJjb2xvciI9PT1jLmtpbmR8fCJhcnJheSI9PT1jLmtpbmQmJiJudW1iZXIiPT09Yy5pdGVtVHlwZS5raW5kJiYibnVtYmVyIj09dHlwZW9mIGMuTj9uZXcgTmUoYyxyLG4sYSxsKTplLmVycm9yKCJUeXBlICIrcXQoYykrIiBpcyBub3QgaW50ZXJwb2xhdGFibGUuIil9LE5lLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhYmVscyxyPXRoaXMub3V0cHV0cztpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHJbMF0uZXZhbHVhdGUodCk7dmFyIG49dGhpcy5pbnB1dC5ldmFsdWF0ZSh0KTtpZihuPD1lWzBdKXJldHVybiByWzBdLmV2YWx1YXRlKHQpO3ZhciBhPWUubGVuZ3RoO2lmKG4+PWVbYS0xXSlyZXR1cm4gclthLTFdLmV2YWx1YXRlKHQpO3ZhciBpPXZlKGUsbiksbz1lW2ldLHM9ZVtpKzFdLGw9TmUuaW50ZXJwb2xhdGlvbkZhY3Rvcih0aGlzLmludGVycG9sYXRpb24sbixvLHMpLGM9cltpXS5ldmFsdWF0ZSh0KSx1PXJbaSsxXS5ldmFsdWF0ZSh0KTtyZXR1cm4iaW50ZXJwb2xhdGUiPT09dGhpcy5vcGVyYXRvcj94ZVt0aGlzLnR5cGUua2luZC50b0xvd2VyQ2FzZSgpXShjLHUsbCk6ImludGVycG9sYXRlLWhjbCI9PT10aGlzLm9wZXJhdG9yP0ZlLnJldmVyc2UoRmUuaW50ZXJwb2xhdGUoRmUuZm9yd2FyZChjKSxGZS5mb3J3YXJkKHUpLGwpKTpSZS5yZXZlcnNlKFJlLmludGVycG9sYXRlKFJlLmZvcndhcmQoYyksUmUuZm9yd2FyZCh1KSxsKSl9LE5lLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7dCh0aGlzLmlucHV0KTtmb3IodmFyIGU9MCxyPXRoaXMub3V0cHV0cztlPHIubGVuZ3RoO2UrPTEpdChyW2VdKX0sTmUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3ZhciB0O3JldHVybih0PVtdKS5jb25jYXQuYXBwbHkodCx0aGlzLm91dHB1dHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBvc3NpYmxlT3V0cHV0cygpfSkpfSxOZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7dmFyIHQ7dD0ibGluZWFyIj09PXRoaXMuaW50ZXJwb2xhdGlvbi5uYW1lP1sibGluZWFyIl06ImV4cG9uZW50aWFsIj09PXRoaXMuaW50ZXJwb2xhdGlvbi5uYW1lPzE9PT10aGlzLmludGVycG9sYXRpb24uYmFzZT9bImxpbmVhciJdOlsiZXhwb25lbnRpYWwiLHRoaXMuaW50ZXJwb2xhdGlvbi5iYXNlXTpbImN1YmljLWJlemllciJdLmNvbmNhdCh0aGlzLmludGVycG9sYXRpb24uY29udHJvbFBvaW50cyk7Zm9yKHZhciBlPVt0aGlzLm9wZXJhdG9yLHQsdGhpcy5pbnB1dC5zZXJpYWxpemUoKV0scj0wO3I8dGhpcy5sYWJlbHMubGVuZ3RoO3IrKyllLnB1c2godGhpcy5sYWJlbHNbcl0sdGhpcy5vdXRwdXRzW3JdLnNlcmlhbGl6ZSgpKTtyZXR1cm4gZX07dmFyIFZlPWZ1bmN0aW9uKHQsZSl7dGhpcy50eXBlPXQsdGhpcy5hcmdzPWV9O1ZlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8MilyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWN0ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIpO3ZhciByPW51bGwsbj1lLmV4cGVjdGVkVHlwZTtuJiYidmFsdWUiIT09bi5raW5kJiYocj1uKTtmb3IodmFyIGE9W10saT0wLG89dC5zbGljZSgxKTtpPG8ubGVuZ3RoO2krPTEpe3ZhciBzPW9baV0sbD1lLnBhcnNlKHMsMSthLmxlbmd0aCxyLHZvaWQgMCx7dHlwZUFubm90YXRpb246Im9taXQifSk7aWYoIWwpcmV0dXJuIG51bGw7cj1yfHxsLnR5cGUsYS5wdXNoKGwpfXZhciBjPW4mJmEuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gR3Qobix0LnR5cGUpfSk7cmV0dXJuIG5ldyBWZShjP050OnIsYSl9LFZlLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9bnVsbCxyPTAsbj10aGlzLmFyZ3M7cjxuLmxlbmd0aCYmbnVsbD09PShlPW5bcl0uZXZhbHVhdGUodCkpO3IrPTEpO3JldHVybiBlfSxWZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxWZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYXJncy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zc2libGVPdXRwdXRzKCl9KSl9LFZlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD1bImNvYWxlc2NlIl07cmV0dXJuIHRoaXMuZWFjaENoaWxkKGZ1bmN0aW9uKGUpe3QucHVzaChlLnNlcmlhbGl6ZSgpKX0pLHR9O3ZhciBVZT1mdW5jdGlvbih0LGUpe3RoaXMudHlwZT1lLnR5cGUsdGhpcy5iaW5kaW5ncz1bXS5jb25jYXQodCksdGhpcy5yZXN1bHQ9ZX07VWUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlc3VsdC5ldmFsdWF0ZSh0KX0sVWUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXRoaXMuYmluZGluZ3M7ZTxyLmxlbmd0aDtlKz0xKXQocltlXVsxXSk7dCh0aGlzLnJlc3VsdCl9LFVlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8NClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgMyBhcmd1bWVudHMsIGJ1dCBmb3VuZCAiKyh0Lmxlbmd0aC0xKSsiIGluc3RlYWQuIik7Zm9yKHZhciByPVtdLG49MTtuPHQubGVuZ3RoLTE7bis9Mil7dmFyIGE9dFtuXTtpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIHN0cmluZywgYnV0IGZvdW5kICIrdHlwZW9mIGErIiBpbnN0ZWFkLiIsbik7aWYoL1teYS16QS1aMC05X10vLnRlc3QoYSkpcmV0dXJuIGUuZXJyb3IoIlZhcmlhYmxlIG5hbWVzIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG9yICdfJy4iLG4pO3ZhciBpPWUucGFyc2UodFtuKzFdLG4rMSk7aWYoIWkpcmV0dXJuIG51bGw7ci5wdXNoKFthLGldKX12YXIgbz1lLnBhcnNlKHRbdC5sZW5ndGgtMV0sdC5sZW5ndGgtMSxlLmV4cGVjdGVkVHlwZSxyKTtyZXR1cm4gbz9uZXcgVWUocixvKTpudWxsfSxVZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVzdWx0LnBvc3NpYmxlT3V0cHV0cygpfSxVZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVsibGV0Il0sZT0wLHI9dGhpcy5iaW5kaW5ncztlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV0sYT1uWzBdLGk9blsxXTt0LnB1c2goYSxpLnNlcmlhbGl6ZSgpKX1yZXR1cm4gdC5wdXNoKHRoaXMucmVzdWx0LnNlcmlhbGl6ZSgpKSx0fTt2YXIgcWU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudHlwZT10LHRoaXMuaW5kZXg9ZSx0aGlzLmlucHV0PXJ9O3FlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYoMyE9PXQubGVuZ3RoKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCAyIGFyZ3VtZW50cywgYnV0IGZvdW5kICIrKHQubGVuZ3RoLTEpKyIgaW5zdGVhZC4iKTt2YXIgcj1lLnBhcnNlKHRbMV0sMSxJdCksbj1lLnBhcnNlKHRbMl0sMixVdChlLmV4cGVjdGVkVHlwZXx8TnQpKTtpZighcnx8IW4pcmV0dXJuIG51bGw7dmFyIGE9bi50eXBlO3JldHVybiBuZXcgcWUoYS5pdGVtVHlwZSxyLG4pfSxxZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5pbmRleC5ldmFsdWF0ZSh0KSxyPXRoaXMuaW5wdXQuZXZhbHVhdGUodCk7aWYoZTwwKXRocm93IG5ldyBlZSgiQXJyYXkgaW5kZXggb3V0IG9mIGJvdW5kczogIitlKyIgPCAwLiIpO2lmKGU+PXIubGVuZ3RoKXRocm93IG5ldyBlZSgiQXJyYXkgaW5kZXggb3V0IG9mIGJvdW5kczogIitlKyIgPiAiKyhyLmxlbmd0aC0xKSsiLiIpO2lmKGUhPT1NYXRoLmZsb29yKGUpKXRocm93IG5ldyBlZSgiQXJyYXkgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyLCBidXQgZm91bmQgIitlKyIgaW5zdGVhZC4iKTtyZXR1cm4gcltlXX0scWUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXt0KHRoaXMuaW5kZXgpLHQodGhpcy5pbnB1dCl9LHFlLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXtyZXR1cm5bdm9pZCAwXX0scWUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVyblsiYXQiLHRoaXMuaW5kZXguc2VyaWFsaXplKCksdGhpcy5pbnB1dC5zZXJpYWxpemUoKV19O3ZhciBIZT1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5pbnB1dFR5cGU9dCx0aGlzLnR5cGU9ZSx0aGlzLmlucHV0PXIsdGhpcy5jYXNlcz1uLHRoaXMub3V0cHV0cz1hLHRoaXMub3RoZXJ3aXNlPWl9O0hlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8NSlyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgNCBhcmd1bWVudHMsIGJ1dCBmb3VuZCBvbmx5ICIrKHQubGVuZ3RoLTEpKyIuIik7aWYodC5sZW5ndGglMiE9MSlyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gZXZlbiBudW1iZXIgb2YgYXJndW1lbnRzLiIpO3ZhciByLG47ZS5leHBlY3RlZFR5cGUmJiJ2YWx1ZSIhPT1lLmV4cGVjdGVkVHlwZS5raW5kJiYobj1lLmV4cGVjdGVkVHlwZSk7Zm9yKHZhciBhPXt9LGk9W10sbz0yO288dC5sZW5ndGgtMTtvKz0yKXt2YXIgcz10W29dLGw9dFtvKzFdO0FycmF5LmlzQXJyYXkocyl8fChzPVtzXSk7dmFyIGM9ZS5jb25jYXQobyk7aWYoMD09PXMubGVuZ3RoKXJldHVybiBjLmVycm9yKCJFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYnJhbmNoIGxhYmVsLiIpO2Zvcih2YXIgdT0wLGg9czt1PGgubGVuZ3RoO3UrPTEpe3ZhciBmPWhbdV07aWYoIm51bWJlciIhPXR5cGVvZiBmJiYic3RyaW5nIiE9dHlwZW9mIGYpcmV0dXJuIGMuZXJyb3IoIkJyYW5jaCBsYWJlbHMgbXVzdCBiZSBudW1iZXJzIG9yIHN0cmluZ3MuIik7aWYoIm51bWJlciI9PXR5cGVvZiBmJiZNYXRoLmFicyhmKT5OdW1iZXIuTUFYX1NBRkVfSU5URUdFUilyZXR1cm4gYy5lcnJvcigiQnJhbmNoIGxhYmVscyBtdXN0IGJlIGludGVnZXJzIG5vIGxhcmdlciB0aGFuICIrTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIrIi4iKTtpZigibnVtYmVyIj09dHlwZW9mIGYmJk1hdGguZmxvb3IoZikhPT1mKXJldHVybiBjLmVycm9yKCJOdW1lcmljIGJyYW5jaCBsYWJlbHMgbXVzdCBiZSBpbnRlZ2VyIHZhbHVlcy4iKTtpZihyKXtpZihjLmNoZWNrU3VidHlwZShyLFF0KGYpKSlyZXR1cm4gbnVsbH1lbHNlIHI9UXQoZik7aWYodm9pZCAwIT09YVtTdHJpbmcoZildKXJldHVybiBjLmVycm9yKCJCcmFuY2ggbGFiZWxzIG11c3QgYmUgdW5pcXVlLiIpO2FbU3RyaW5nKGYpXT1pLmxlbmd0aH12YXIgcD1lLnBhcnNlKGwsbyxuKTtpZighcClyZXR1cm4gbnVsbDtuPW58fHAudHlwZSxpLnB1c2gocCl9dmFyIGQ9ZS5wYXJzZSh0WzFdLDEsTnQpO2lmKCFkKXJldHVybiBudWxsO3ZhciBnPWUucGFyc2UodFt0Lmxlbmd0aC0xXSx0Lmxlbmd0aC0xLG4pO3JldHVybiBnPyJ2YWx1ZSIhPT1kLnR5cGUua2luZCYmZS5jb25jYXQoMSkuY2hlY2tTdWJ0eXBlKHIsZC50eXBlKT9udWxsOm5ldyBIZShyLG4sZCxhLGksZyk6bnVsbH0sSGUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaW5wdXQuZXZhbHVhdGUodCk7cmV0dXJuKFF0KGUpPT09dGhpcy5pbnB1dFR5cGUmJnRoaXMub3V0cHV0c1t0aGlzLmNhc2VzW2VdXXx8dGhpcy5vdGhlcndpc2UpLmV2YWx1YXRlKHQpfSxIZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3QodGhpcy5pbnB1dCksdGhpcy5vdXRwdXRzLmZvckVhY2godCksdCh0aGlzLm90aGVyd2lzZSl9LEhlLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4odD1bXSkuY29uY2F0LmFwcGx5KHQsdGhpcy5vdXRwdXRzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5wb3NzaWJsZU91dHB1dHMoKX0pKS5jb25jYXQodGhpcy5vdGhlcndpc2UucG9zc2libGVPdXRwdXRzKCkpfSxIZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT1bIm1hdGNoIix0aGlzLmlucHV0LnNlcmlhbGl6ZSgpXSxyPVtdLG49e30sYT0wLGk9T2JqZWN0LmtleXModGhpcy5jYXNlcykuc29ydCgpO2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXTt2b2lkIDA9PT0oaD1uW3RoaXMuY2FzZXNbb11dKT8oblt0aGlzLmNhc2VzW29dXT1yLmxlbmd0aCxyLnB1c2goW3RoaXMuY2FzZXNbb10sW29dXSkpOnJbaF1bMV0ucHVzaChvKX1mb3IodmFyIHM9ZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciI9PT10LmlucHV0VHlwZS5raW5kP051bWJlcihlKTplfSxsPTAsYz1yO2w8Yy5sZW5ndGg7bCs9MSl7dmFyIHU9Y1tsXSxoPXVbMF0sZj11WzFdOzE9PT1mLmxlbmd0aD9lLnB1c2gocyhmWzBdKSk6ZS5wdXNoKGYubWFwKHMpKSxlLnB1c2godGhpcy5vdXRwdXRzW291dHB1dEluZGV4JDFdLnNlcmlhbGl6ZSgpKX1yZXR1cm4gZS5wdXNoKHRoaXMub3RoZXJ3aXNlLnNlcmlhbGl6ZSgpKSxlfTt2YXIgR2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMudHlwZT10LHRoaXMuYnJhbmNoZXM9ZSx0aGlzLm90aGVyd2lzZT1yfTtmdW5jdGlvbiBZZSh0LGUpe3JldHVybiI9PSI9PT10fHwiIT0iPT09dD8iYm9vbGVhbiI9PT1lLmtpbmR8fCJzdHJpbmciPT09ZS5raW5kfHwibnVtYmVyIj09PWUua2luZHx8Im51bGwiPT09ZS5raW5kfHwidmFsdWUiPT09ZS5raW5kOiJzdHJpbmciPT09ZS5raW5kfHwibnVtYmVyIj09PWUua2luZHx8InZhbHVlIj09PWUua2luZH1mdW5jdGlvbiBXZSh0LGUscixuKXtyZXR1cm4gMD09PW4uY29tcGFyZShlLHIpfWZ1bmN0aW9uIFhlKHQsZSxyKXt2YXIgbj0iPT0iIT09dCYmIiE9IiE9PXQ7cmV0dXJuIGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSh0LGUscil7dGhpcy50eXBlPVJ0LHRoaXMubGhzPXQsdGhpcy5yaHM9ZSx0aGlzLmNvbGxhdG9yPXIsdGhpcy5oYXNVbnR5cGVkQXJndW1lbnQ9InZhbHVlIj09PXQudHlwZS5raW5kfHwidmFsdWUiPT09ZS50eXBlLmtpbmR9cmV0dXJuIGEucGFyc2U9ZnVuY3Rpb24odCxlKXtpZigzIT09dC5sZW5ndGgmJjQhPT10Lmxlbmd0aClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgdHdvIG9yIHRocmVlIGFyZ3VtZW50cy4iKTt2YXIgcj10WzBdLGk9ZS5wYXJzZSh0WzFdLDEsTnQpO2lmKCFpKXJldHVybiBudWxsO2lmKCFZZShyLGkudHlwZSkpcmV0dXJuIGUuY29uY2F0KDEpLmVycm9yKCciJytyKyJcIiBjb21wYXJpc29ucyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgdHlwZSAnIitxdChpLnR5cGUpKyInLiIpO3ZhciBvPWUucGFyc2UodFsyXSwyLE50KTtpZighbylyZXR1cm4gbnVsbDtpZighWWUocixvLnR5cGUpKXJldHVybiBlLmNvbmNhdCgyKS5lcnJvcignIicrcisiXCIgY29tcGFyaXNvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHR5cGUgJyIrcXQoby50eXBlKSsiJy4iKTtpZihpLnR5cGUua2luZCE9PW8udHlwZS5raW5kJiYidmFsdWUiIT09aS50eXBlLmtpbmQmJiJ2YWx1ZSIhPT1vLnR5cGUua2luZClyZXR1cm4gZS5lcnJvcigiQ2Fubm90IGNvbXBhcmUgdHlwZXMgJyIrcXQoaS50eXBlKSsiJyBhbmQgJyIrcXQoby50eXBlKSsiJy4iKTtuJiYoInZhbHVlIj09PWkudHlwZS5raW5kJiYidmFsdWUiIT09by50eXBlLmtpbmQ/aT1uZXcgbmUoby50eXBlLFtpXSk6InZhbHVlIiE9PWkudHlwZS5raW5kJiYidmFsdWUiPT09by50eXBlLmtpbmQmJihvPW5ldyBuZShpLnR5cGUsW29dKSkpO3ZhciBzPW51bGw7aWYoND09PXQubGVuZ3RoKXtpZigic3RyaW5nIiE9PWkudHlwZS5raW5kJiYic3RyaW5nIiE9PW8udHlwZS5raW5kJiYidmFsdWUiIT09aS50eXBlLmtpbmQmJiJ2YWx1ZSIhPT1vLnR5cGUua2luZClyZXR1cm4gZS5lcnJvcigiQ2Fubm90IHVzZSBjb2xsYXRvciB0byBjb21wYXJlIG5vbi1zdHJpbmcgdHlwZXMuIik7aWYoIShzPWUucGFyc2UodFszXSwzLGp0KSkpcmV0dXJuIG51bGx9cmV0dXJuIG5ldyBhKGksbyxzKX0sYS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSl7dmFyIGk9dGhpcy5saHMuZXZhbHVhdGUoYSksbz10aGlzLnJocy5ldmFsdWF0ZShhKTtpZihuJiZ0aGlzLmhhc1VudHlwZWRBcmd1bWVudCl7dmFyIHM9UXQoaSksbD1RdChvKTtpZihzLmtpbmQhPT1sLmtpbmR8fCJzdHJpbmciIT09cy5raW5kJiYibnVtYmVyIiE9PXMua2luZCl0aHJvdyBuZXcgZWUoJ0V4cGVjdGVkIGFyZ3VtZW50cyBmb3IgIicrdCsnIiB0byBiZSAoc3RyaW5nLCBzdHJpbmcpIG9yIChudW1iZXIsIG51bWJlciksIGJ1dCBmb3VuZCAoJytzLmtpbmQrIiwgIitsLmtpbmQrIikgaW5zdGVhZC4iKX1pZih0aGlzLmNvbGxhdG9yJiYhbiYmdGhpcy5oYXNVbnR5cGVkQXJndW1lbnQpe3ZhciBjPVF0KGkpLHU9UXQobyk7aWYoInN0cmluZyIhPT1jLmtpbmR8fCJzdHJpbmciIT09dS5raW5kKXJldHVybiBlKGEsaSxvKX1yZXR1cm4gdGhpcy5jb2xsYXRvcj9yKGEsaSxvLHRoaXMuY29sbGF0b3IuZXZhbHVhdGUoYSkpOmUoYSxpLG8pfSxhLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7dCh0aGlzLmxocyksdCh0aGlzLnJocyksdGhpcy5jb2xsYXRvciYmdCh0aGlzLmNvbGxhdG9yKX0sYS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuWyEwLCExXX0sYS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7dmFyIGU9W3RdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbih0KXtlLnB1c2godC5zZXJpYWxpemUoKSl9KSxlfSxhfSgpfUdlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8NClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgMyBhcmd1bWVudHMsIGJ1dCBmb3VuZCBvbmx5ICIrKHQubGVuZ3RoLTEpKyIuIik7aWYodC5sZW5ndGglMiE9MClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHMuIik7dmFyIHI7ZS5leHBlY3RlZFR5cGUmJiJ2YWx1ZSIhPT1lLmV4cGVjdGVkVHlwZS5raW5kJiYocj1lLmV4cGVjdGVkVHlwZSk7Zm9yKHZhciBuPVtdLGE9MTthPHQubGVuZ3RoLTE7YSs9Mil7dmFyIGk9ZS5wYXJzZSh0W2FdLGEsUnQpO2lmKCFpKXJldHVybiBudWxsO3ZhciBvPWUucGFyc2UodFthKzFdLGErMSxyKTtpZighbylyZXR1cm4gbnVsbDtuLnB1c2goW2ksb10pLHI9cnx8by50eXBlfXZhciBzPWUucGFyc2UodFt0Lmxlbmd0aC0xXSx0Lmxlbmd0aC0xLHIpO3JldHVybiBzP25ldyBHZShyLG4scyk6bnVsbH0sR2UucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dGhpcy5icmFuY2hlcztlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV0sYT1uWzBdLGk9blsxXTtpZihhLmV2YWx1YXRlKHQpKXJldHVybiBpLmV2YWx1YXRlKHQpfXJldHVybiB0aGlzLm90aGVyd2lzZS5ldmFsdWF0ZSh0KX0sR2UucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXRoaXMuYnJhbmNoZXM7ZTxyLmxlbmd0aDtlKz0xKXt2YXIgbj1yW2VdLGE9blswXSxpPW5bMV07dChhKSx0KGkpfXQodGhpcy5vdGhlcndpc2UpfSxHZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYnJhbmNoZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdLHRbMV0ucG9zc2libGVPdXRwdXRzKCl9KSkuY29uY2F0KHRoaXMub3RoZXJ3aXNlLnBvc3NpYmxlT3V0cHV0cygpKX0sR2UucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciB0PVsiY2FzZSJdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbihlKXt0LnB1c2goZS5zZXJpYWxpemUoKSl9KSx0fTt2YXIgWmU9WGUoIj09IixmdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PT1yfSxXZSksSmU9WGUoIiE9IixmdW5jdGlvbih0LGUscil7cmV0dXJuIGUhPT1yfSxmdW5jdGlvbih0LGUscixuKXtyZXR1cm4hV2UoMCxlLHIsbil9KSxLZT1YZSgiPCIsZnVuY3Rpb24odCxlLHIpe3JldHVybiBlPHJ9LGZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBuLmNvbXBhcmUoZSxyKTwwfSksUWU9WGUoIj4iLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZT5yfSxmdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbi5jb21wYXJlKGUscik+MH0pLCRlPVhlKCI8PSIsZnVuY3Rpb24odCxlLHIpe3JldHVybiBlPD1yfSxmdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbi5jb21wYXJlKGUscik8PTB9KSx0cj1YZSgiPj0iLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZT49cn0sZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIG4uY29tcGFyZShlLHIpPj0wfSksZXI9ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLnR5cGU9RHQsdGhpcy5udW1iZXI9dCx0aGlzLmxvY2FsZT1lLHRoaXMuY3VycmVuY3k9cix0aGlzLm1pbkZyYWN0aW9uRGlnaXRzPW4sdGhpcy5tYXhGcmFjdGlvbkRpZ2l0cz1hfTtlci5wYXJzZT1mdW5jdGlvbih0LGUpe2lmKDMhPT10Lmxlbmd0aClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgdHdvIGFyZ3VtZW50cy4iKTt2YXIgcj1lLnBhcnNlKHRbMV0sMSxJdCk7aWYoIXIpcmV0dXJuIG51bGw7dmFyIG49dFsyXTtpZigib2JqZWN0IiE9dHlwZW9mIG58fEFycmF5LmlzQXJyYXkobikpcmV0dXJuIGUuZXJyb3IoIk51bWJlckZvcm1hdCBvcHRpb25zIGFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0LiIpO3ZhciBhPW51bGw7aWYobi5sb2NhbGUmJiEoYT1lLnBhcnNlKG4ubG9jYWxlLDEsRHQpKSlyZXR1cm4gbnVsbDt2YXIgaT1udWxsO2lmKG4uY3VycmVuY3kmJiEoaT1lLnBhcnNlKG4uY3VycmVuY3ksMSxEdCkpKXJldHVybiBudWxsO3ZhciBvPW51bGw7aWYoblsibWluLWZyYWN0aW9uLWRpZ2l0cyJdJiYhKG89ZS5wYXJzZShuWyJtaW4tZnJhY3Rpb24tZGlnaXRzIl0sMSxJdCkpKXJldHVybiBudWxsO3ZhciBzPW51bGw7cmV0dXJuIG5bIm1heC1mcmFjdGlvbi1kaWdpdHMiXSYmIShzPWUucGFyc2UoblsibWF4LWZyYWN0aW9uLWRpZ2l0cyJdLDEsSXQpKT9udWxsOm5ldyBlcihyLGEsaSxvLHMpfSxlci5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZT90aGlzLmxvY2FsZS5ldmFsdWF0ZSh0KTpbXSx7c3R5bGU6dGhpcy5jdXJyZW5jeT8iY3VycmVuY3kiOiJkZWNpbWFsIixjdXJyZW5jeTp0aGlzLmN1cnJlbmN5P3RoaXMuY3VycmVuY3kuZXZhbHVhdGUodCk6dm9pZCAwLG1pbmltdW1GcmFjdGlvbkRpZ2l0czp0aGlzLm1pbkZyYWN0aW9uRGlnaXRzP3RoaXMubWluRnJhY3Rpb25EaWdpdHMuZXZhbHVhdGUodCk6dm9pZCAwLG1heGltdW1GcmFjdGlvbkRpZ2l0czp0aGlzLm1heEZyYWN0aW9uRGlnaXRzP3RoaXMubWF4RnJhY3Rpb25EaWdpdHMuZXZhbHVhdGUodCk6dm9pZCAwfSkuZm9ybWF0KHRoaXMubnVtYmVyLmV2YWx1YXRlKHQpKX0sZXIucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXt0KHRoaXMubnVtYmVyKSx0aGlzLmxvY2FsZSYmdCh0aGlzLmxvY2FsZSksdGhpcy5jdXJyZW5jeSYmdCh0aGlzLmN1cnJlbmN5KSx0aGlzLm1pbkZyYWN0aW9uRGlnaXRzJiZ0KHRoaXMubWluRnJhY3Rpb25EaWdpdHMpLHRoaXMubWF4RnJhY3Rpb25EaWdpdHMmJnQodGhpcy5tYXhGcmFjdGlvbkRpZ2l0cyl9LGVyLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXtyZXR1cm5bdm9pZCAwXX0sZXIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0aGlzLmxvY2FsZSYmKHQubG9jYWxlPXRoaXMubG9jYWxlLnNlcmlhbGl6ZSgpKSx0aGlzLmN1cnJlbmN5JiYodC5jdXJyZW5jeT10aGlzLmN1cnJlbmN5LnNlcmlhbGl6ZSgpKSx0aGlzLm1pbkZyYWN0aW9uRGlnaXRzJiYodFsibWluLWZyYWN0aW9uLWRpZ2l0cyJdPXRoaXMubWluRnJhY3Rpb25EaWdpdHMuc2VyaWFsaXplKCkpLHRoaXMubWF4RnJhY3Rpb25EaWdpdHMmJih0WyJtYXgtZnJhY3Rpb24tZGlnaXRzIl09dGhpcy5tYXhGcmFjdGlvbkRpZ2l0cy5zZXJpYWxpemUoKSksWyJudW1iZXItZm9ybWF0Iix0aGlzLm51bWJlci5zZXJpYWxpemUoKSx0XX07dmFyIHJyPWZ1bmN0aW9uKHQpe3RoaXMudHlwZT1JdCx0aGlzLmlucHV0PXR9O3JyLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYoMiE9PXQubGVuZ3RoKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCAxIGFyZ3VtZW50LCBidXQgZm91bmQgIisodC5sZW5ndGgtMSkrIiBpbnN0ZWFkLiIpO3ZhciByPWUucGFyc2UodFsxXSwxKTtyZXR1cm4gcj8iYXJyYXkiIT09ci50eXBlLmtpbmQmJiJzdHJpbmciIT09ci50eXBlLmtpbmQmJiJ2YWx1ZSIhPT1yLnR5cGUua2luZD9lLmVycm9yKCJFeHBlY3RlZCBhcmd1bWVudCBvZiB0eXBlIHN0cmluZyBvciBhcnJheSwgYnV0IGZvdW5kICIrcXQoci50eXBlKSsiIGluc3RlYWQuIik6bmV3IHJyKHIpOm51bGx9LHJyLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmlucHV0LmV2YWx1YXRlKHQpO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZS5sZW5ndGg7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZS5sZW5ndGg7dGhyb3cgbmV3IGVlKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBvZiB0eXBlIHN0cmluZyBvciBhcnJheSwgYnV0IGZvdW5kICIrcXQoUXQoZSkpKyIgaW5zdGVhZC4iKX0scnIucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXt0KHRoaXMuaW5wdXQpfSxyci5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LHJyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD1bImxlbmd0aCJdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbihlKXt0LnB1c2goZS5zZXJpYWxpemUoKSl9KSx0fTt2YXIgbnI9eyI9PSI6WmUsIiE9IjpKZSwiPiI6UWUsIjwiOktlLCI+PSI6dHIsIjw9IjokZSxhcnJheTpuZSxhdDpxZSxib29sZWFuOm5lLGNhc2U6R2UsY29hbGVzY2U6VmUsY29sbGF0b3I6dWUsZm9ybWF0OmFlLGludGVycG9sYXRlOk5lLCJpbnRlcnBvbGF0ZS1oY2wiOk5lLCJpbnRlcnBvbGF0ZS1sYWIiOk5lLGxlbmd0aDpycixsZXQ6VWUsbGl0ZXJhbDp0ZSxtYXRjaDpIZSxudW1iZXI6bmUsIm51bWJlci1mb3JtYXQiOmVyLG9iamVjdDpuZSxzdGVwOm1lLHN0cmluZzpuZSwidG8tYm9vbGVhbiI6b2UsInRvLWNvbG9yIjpvZSwidG8tbnVtYmVyIjpvZSwidG8tc3RyaW5nIjpvZSx2YXI6ZGV9O2Z1bmN0aW9uIGFyKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9ZVszXTtyPXIuZXZhbHVhdGUodCksbj1uLmV2YWx1YXRlKHQpLGE9YS5ldmFsdWF0ZSh0KTt2YXIgbz1pP2kuZXZhbHVhdGUodCk6MSxzPUt0KHIsbixhLG8pO2lmKHMpdGhyb3cgbmV3IGVlKHMpO3JldHVybiBuZXcgV3Qoci8yNTUqbyxuLzI1NSpvLGEvMjU1Km8sbyl9ZnVuY3Rpb24gaXIodCxlKXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIG9yKHQsZSl7dmFyIHI9ZVt0XTtyZXR1cm4gdm9pZCAwPT09cj9udWxsOnJ9ZnVuY3Rpb24gc3IodCl7cmV0dXJue3R5cGU6dH19ZnVuY3Rpb24gbHIodCl7cmV0dXJue3Jlc3VsdDoic3VjY2VzcyIsdmFsdWU6dH19ZnVuY3Rpb24gY3IodCl7cmV0dXJue3Jlc3VsdDoiZXJyb3IiLHZhbHVlOnR9fWZ1bmN0aW9uIHVyKHQpe3JldHVybiJkYXRhLWRyaXZlbiI9PT10WyJwcm9wZXJ0eS10eXBlIl18fCJjcm9zcy1mYWRlZC1kYXRhLWRyaXZlbiI9PT10WyJwcm9wZXJ0eS10eXBlIl19ZnVuY3Rpb24gaHIodCl7cmV0dXJuISF0LmV4cHJlc3Npb24mJnQuZXhwcmVzc2lvbi5wYXJhbWV0ZXJzLmluZGV4T2YoInpvb20iKT4tMX1mdW5jdGlvbiBmcih0KXtyZXR1cm4hIXQuZXhwcmVzc2lvbiYmdC5leHByZXNzaW9uLmludGVycG9sYXRlZH1mdW5jdGlvbiBwcih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIE51bWJlcj8ibnVtYmVyIjp0IGluc3RhbmNlb2YgU3RyaW5nPyJzdHJpbmciOnQgaW5zdGFuY2VvZiBCb29sZWFuPyJib29sZWFuIjpBcnJheS5pc0FycmF5KHQpPyJhcnJheSI6bnVsbD09PXQ/Im51bGwiOnR5cGVvZiB0fWZ1bmN0aW9uIGRyKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiFBcnJheS5pc0FycmF5KHQpfWZ1bmN0aW9uIGdyKHQpe3JldHVybiB0fWZ1bmN0aW9uIHZyKHQsZSxyKXtyZXR1cm4gdm9pZCAwIT09dD90OnZvaWQgMCE9PWU/ZTp2b2lkIDAhPT1yP3I6dm9pZCAwfWZ1bmN0aW9uIG1yKHQsZSxyLG4sYSl7cmV0dXJuIHZyKHR5cGVvZiByPT09YT9uW3JdOnZvaWQgMCx0LmRlZmF1bHQsZS5kZWZhdWx0KX1mdW5jdGlvbiB5cih0LGUscil7aWYoIm51bWJlciIhPT1wcihyKSlyZXR1cm4gdnIodC5kZWZhdWx0LGUuZGVmYXVsdCk7dmFyIG49dC5zdG9wcy5sZW5ndGg7aWYoMT09PW4pcmV0dXJuIHQuc3RvcHNbMF1bMV07aWYocjw9dC5zdG9wc1swXVswXSlyZXR1cm4gdC5zdG9wc1swXVsxXTtpZihyPj10LnN0b3BzW24tMV1bMF0pcmV0dXJuIHQuc3RvcHNbbi0xXVsxXTt2YXIgYT12ZSh0LnN0b3BzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdFswXX0pLHIpO3JldHVybiB0LnN0b3BzW2FdWzFdfWZ1bmN0aW9uIHhyKHQsZSxyKXt2YXIgbj12b2lkIDAhPT10LmJhc2U/dC5iYXNlOjE7aWYoIm51bWJlciIhPT1wcihyKSlyZXR1cm4gdnIodC5kZWZhdWx0LGUuZGVmYXVsdCk7dmFyIGE9dC5zdG9wcy5sZW5ndGg7aWYoMT09PWEpcmV0dXJuIHQuc3RvcHNbMF1bMV07aWYocjw9dC5zdG9wc1swXVswXSlyZXR1cm4gdC5zdG9wc1swXVsxXTtpZihyPj10LnN0b3BzW2EtMV1bMF0pcmV0dXJuIHQuc3RvcHNbYS0xXVsxXTt2YXIgaT12ZSh0LnN0b3BzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdFswXX0pLHIpLG89ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9bi1yLGk9dC1yO3JldHVybiAwPT09YT8wOjE9PT1lP2kvYTooTWF0aC5wb3coZSxpKS0xKS8oTWF0aC5wb3coZSxhKS0xKX0ocixuLHQuc3RvcHNbaV1bMF0sdC5zdG9wc1tpKzFdWzBdKSxzPXQuc3RvcHNbaV1bMV0sbD10LnN0b3BzW2krMV1bMV0sYz14ZVtlLnR5cGVdfHxncjtpZih0LmNvbG9yU3BhY2UmJiJyZ2IiIT09dC5jb2xvclNwYWNlKXt2YXIgdT1CZVt0LmNvbG9yU3BhY2VdO2M9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdS5yZXZlcnNlKHUuaW50ZXJwb2xhdGUodS5mb3J3YXJkKHQpLHUuZm9yd2FyZChlKSxvKSl9fXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBzLmV2YWx1YXRlP3tldmFsdWF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPWFyZ3VtZW50cy5sZW5ndGg7ZS0tOyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgcj1zLmV2YWx1YXRlLmFwcGx5KHZvaWQgMCx0KSxuPWwuZXZhbHVhdGUuYXBwbHkodm9pZCAwLHQpO2lmKHZvaWQgMCE9PXImJnZvaWQgMCE9PW4pcmV0dXJuIGMocixuLG8pfX06YyhzLGwsbyl9ZnVuY3Rpb24gYnIodCxlLHIpe3JldHVybiJjb2xvciI9PT1lLnR5cGU/cj1XdC5wYXJzZShyKToiZm9ybWF0dGVkIj09PWUudHlwZT9yPUp0LmZyb21TdHJpbmcoci50b1N0cmluZygpKTpwcihyKT09PWUudHlwZXx8ImVudW0iPT09ZS50eXBlJiZlLnZhbHVlc1tyXXx8KHI9dm9pZCAwKSx2cihyLHQuZGVmYXVsdCxlLmRlZmF1bHQpfWNlLnJlZ2lzdGVyKG5yLHtlcnJvcjpbe2tpbmQ6ImVycm9yIn0sW0R0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07dGhyb3cgbmV3IGVlKHIuZXZhbHVhdGUodCkpfV0sdHlwZW9mOltEdCxbTnRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHF0KFF0KGVbMF0uZXZhbHVhdGUodCkpKX1dLCJ0by1yZ2JhIjpbVXQoSXQsNCksW0Z0XSxmdW5jdGlvbih0LGUpe3JldHVybiBlWzBdLmV2YWx1YXRlKHQpLnRvQXJyYXkoKX1dLHJnYjpbRnQsW0l0LEl0LEl0XSxhcl0scmdiYTpbRnQsW0l0LEl0LEl0LEl0XSxhcl0saGFzOnt0eXBlOlJ0LG92ZXJsb2FkczpbW1tEdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gaXIoZVswXS5ldmFsdWF0ZSh0KSx0LnByb3BlcnRpZXMoKSl9XSxbW0R0LEJ0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdO3JldHVybiBpcihyLmV2YWx1YXRlKHQpLG4uZXZhbHVhdGUodCkpfV1dfSxnZXQ6e3R5cGU6TnQsb3ZlcmxvYWRzOltbW0R0XSxmdW5jdGlvbih0LGUpe3JldHVybiBvcihlWzBdLmV2YWx1YXRlKHQpLHQucHJvcGVydGllcygpKX1dLFtbRHQsQnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIG9yKHIuZXZhbHVhdGUodCksbi5ldmFsdWF0ZSh0KSl9XV19LCJmZWF0dXJlLXN0YXRlIjpbTnQsW0R0XSxmdW5jdGlvbih0LGUpe3JldHVybiBvcihlWzBdLmV2YWx1YXRlKHQpLHQuZmVhdHVyZVN0YXRlfHx7fSl9XSxwcm9wZXJ0aWVzOltCdCxbXSxmdW5jdGlvbih0KXtyZXR1cm4gdC5wcm9wZXJ0aWVzKCl9XSwiZ2VvbWV0cnktdHlwZSI6W0R0LFtdLGZ1bmN0aW9uKHQpe3JldHVybiB0Lmdlb21ldHJ5VHlwZSgpfV0saWQ6W050LFtdLGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkKCl9XSx6b29tOltJdCxbXSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nbG9iYWxzLnpvb219XSwiaGVhdG1hcC1kZW5zaXR5IjpbSXQsW10sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2xvYmFscy5oZWF0bWFwRGVuc2l0eXx8MH1dLCJsaW5lLXByb2dyZXNzIjpbSXQsW10sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2xvYmFscy5saW5lUHJvZ3Jlc3N8fDB9XSxhY2N1bXVsYXRlZDpbTnQsW10sZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQuZ2xvYmFscy5hY2N1bXVsYXRlZD9udWxsOnQuZ2xvYmFscy5hY2N1bXVsYXRlZH1dLCIrIjpbSXQsc3IoSXQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpcis9YVtuXS5ldmFsdWF0ZSh0KTtyZXR1cm4gcn1dLCIqIjpbSXQsc3IoSXQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEsbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpcio9YVtuXS5ldmFsdWF0ZSh0KTtyZXR1cm4gcn1dLCItIjp7dHlwZTpJdCxvdmVybG9hZHM6W1tbSXQsSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIHIuZXZhbHVhdGUodCktbi5ldmFsdWF0ZSh0KX1dLFtbSXRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuLWVbMF0uZXZhbHVhdGUodCl9XV19LCIvIjpbSXQsW0l0LEl0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdO3JldHVybiByLmV2YWx1YXRlKHQpL24uZXZhbHVhdGUodCl9XSwiJSI6W0l0LFtJdCxJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXTtyZXR1cm4gci5ldmFsdWF0ZSh0KSVuLmV2YWx1YXRlKHQpfV0sbG4yOltJdCxbXSxmdW5jdGlvbigpe3JldHVybiBNYXRoLkxOMn1dLHBpOltJdCxbXSxmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfV0sZTpbSXQsW10sZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5FfV0sIl4iOltJdCxbSXQsSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIE1hdGgucG93KHIuZXZhbHVhdGUodCksbi5ldmFsdWF0ZSh0KSl9XSxzcXJ0OltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gTWF0aC5zcXJ0KHIuZXZhbHVhdGUodCkpfV0sbG9nMTA6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmxvZyhyLmV2YWx1YXRlKHQpKS9NYXRoLkxOMTB9XSxsbjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGgubG9nKHIuZXZhbHVhdGUodCkpfV0sbG9nMjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGgubG9nKHIuZXZhbHVhdGUodCkpL01hdGguTE4yfV0sc2luOltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gTWF0aC5zaW4oci5ldmFsdWF0ZSh0KSl9XSxjb3M6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmNvcyhyLmV2YWx1YXRlKHQpKX1dLHRhbjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGgudGFuKHIuZXZhbHVhdGUodCkpfV0sYXNpbjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGguYXNpbihyLmV2YWx1YXRlKHQpKX1dLGFjb3M6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmFjb3Moci5ldmFsdWF0ZSh0KSl9XSxhdGFuOltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gTWF0aC5hdGFuKHIuZXZhbHVhdGUodCkpfV0sbWluOltJdCxzcihJdCksZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5taW4uYXBwbHkoTWF0aCxlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5ldmFsdWF0ZSh0KX0pKX1dLG1heDpbSXQsc3IoSXQpLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4LmFwcGx5KE1hdGgsZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXZhbHVhdGUodCl9KSl9XSxhYnM6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmFicyhyLmV2YWx1YXRlKHQpKX1dLHJvdW5kOltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXS5ldmFsdWF0ZSh0KTtyZXR1cm4gcjwwPy1NYXRoLnJvdW5kKC1yKTpNYXRoLnJvdW5kKHIpfV0sZmxvb3I6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmZsb29yKHIuZXZhbHVhdGUodCkpfV0sY2VpbDpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGguY2VpbChyLmV2YWx1YXRlKHQpKX1dLCJmaWx0ZXItPT0iOltSdCxbRHQsTnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIHQucHJvcGVydGllcygpW3IudmFsdWVdPT09bi52YWx1ZX1dLCJmaWx0ZXItaWQtPT0iOltSdCxbTnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gdC5pZCgpPT09ci52YWx1ZX1dLCJmaWx0ZXItdHlwZS09PSI6W1J0LFtEdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiB0Lmdlb21ldHJ5VHlwZSgpPT09ci52YWx1ZX1dLCJmaWx0ZXItPCI6W1J0LFtEdCxOdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPXQucHJvcGVydGllcygpW3IudmFsdWVdLGk9bi52YWx1ZTtyZXR1cm4gdHlwZW9mIGE9PXR5cGVvZiBpJiZhPGl9XSwiZmlsdGVyLWlkLTwiOltSdCxbTnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPXQuaWQoKSxhPXIudmFsdWU7cmV0dXJuIHR5cGVvZiBuPT10eXBlb2YgYSYmbjxhfV0sImZpbHRlci0+IjpbUnQsW0R0LE50XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9dC5wcm9wZXJ0aWVzKClbci52YWx1ZV0saT1uLnZhbHVlO3JldHVybiB0eXBlb2YgYT09dHlwZW9mIGkmJmE+aX1dLCJmaWx0ZXItaWQtPiI6W1J0LFtOdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49dC5pZCgpLGE9ci52YWx1ZTtyZXR1cm4gdHlwZW9mIG49PXR5cGVvZiBhJiZuPmF9XSwiZmlsdGVyLTw9IjpbUnQsW0R0LE50XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9dC5wcm9wZXJ0aWVzKClbci52YWx1ZV0saT1uLnZhbHVlO3JldHVybiB0eXBlb2YgYT09dHlwZW9mIGkmJmE8PWl9XSwiZmlsdGVyLWlkLTw9IjpbUnQsW050XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj10LmlkKCksYT1yLnZhbHVlO3JldHVybiB0eXBlb2Ygbj09dHlwZW9mIGEmJm48PWF9XSwiZmlsdGVyLT49IjpbUnQsW0R0LE50XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9dC5wcm9wZXJ0aWVzKClbci52YWx1ZV0saT1uLnZhbHVlO3JldHVybiB0eXBlb2YgYT09dHlwZW9mIGkmJmE+PWl9XSwiZmlsdGVyLWlkLT49IjpbUnQsW050XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj10LmlkKCksYT1yLnZhbHVlO3JldHVybiB0eXBlb2Ygbj09dHlwZW9mIGEmJm4+PWF9XSwiZmlsdGVyLWhhcyI6W1J0LFtOdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gZVswXS52YWx1ZSBpbiB0LnByb3BlcnRpZXMoKX1dLCJmaWx0ZXItaGFzLWlkIjpbUnQsW10sZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPT10LmlkKCl9XSwiZmlsdGVyLXR5cGUtaW4iOltSdCxbVXQoRHQpXSxmdW5jdGlvbih0LGUpe3JldHVybiBlWzBdLnZhbHVlLmluZGV4T2YodC5nZW9tZXRyeVR5cGUoKSk+PTB9XSwiZmlsdGVyLWlkLWluIjpbUnQsW1V0KE50KV0sZnVuY3Rpb24odCxlKXtyZXR1cm4gZVswXS52YWx1ZS5pbmRleE9mKHQuaWQoKSk+PTB9XSwiZmlsdGVyLWluLXNtYWxsIjpbUnQsW0R0LFV0KE50KV0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBlWzFdLnZhbHVlLmluZGV4T2YodC5wcm9wZXJ0aWVzKClbci52YWx1ZV0pPj0wfV0sImZpbHRlci1pbi1sYXJnZSI6W1J0LFtEdCxVdChOdCldLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4pe2Zvcig7cjw9bjspe3ZhciBhPXIrbj4+MTtpZihlW2FdPT09dClyZXR1cm4hMDtlW2FdPnQ/bj1hLTE6cj1hKzF9cmV0dXJuITF9KHQucHJvcGVydGllcygpW3IudmFsdWVdLG4udmFsdWUsMCxuLnZhbHVlLmxlbmd0aC0xKX1dLGFsbDp7dHlwZTpSdCxvdmVybG9hZHM6W1tbUnQsUnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIHIuZXZhbHVhdGUodCkmJm4uZXZhbHVhdGUodCl9XSxbc3IoUnQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj1lO3I8bi5sZW5ndGg7cis9MSlpZighbltyXS5ldmFsdWF0ZSh0KSlyZXR1cm4hMTtyZXR1cm4hMH1dXX0sYW55Ont0eXBlOlJ0LG92ZXJsb2FkczpbW1tSdCxSdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXTtyZXR1cm4gci5ldmFsdWF0ZSh0KXx8bi5ldmFsdWF0ZSh0KX1dLFtzcihSdCksZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPWU7cjxuLmxlbmd0aDtyKz0xKWlmKG5bcl0uZXZhbHVhdGUodCkpcmV0dXJuITA7cmV0dXJuITF9XV19LCIhIjpbUnQsW1J0XSxmdW5jdGlvbih0LGUpe3JldHVybiFlWzBdLmV2YWx1YXRlKHQpfV0sImlzLXN1cHBvcnRlZC1zY3JpcHQiOltSdCxbRHRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPXQuZ2xvYmFscyYmdC5nbG9iYWxzLmlzU3VwcG9ydGVkU2NyaXB0O3JldHVybiFufHxuKHIuZXZhbHVhdGUodCkpfV0sdXBjYXNlOltEdCxbRHRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMF0uZXZhbHVhdGUodCkudG9VcHBlckNhc2UoKX1dLGRvd25jYXNlOltEdCxbRHRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMF0uZXZhbHVhdGUodCkudG9Mb3dlckNhc2UoKX1dLGNvbmNhdDpbRHQsc3IoTnQpLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiAkdChlLmV2YWx1YXRlKHQpKX0pLmpvaW4oIiIpfV0sInJlc29sdmVkLWxvY2FsZSI6W0R0LFtqdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gZVswXS5ldmFsdWF0ZSh0KS5yZXNvbHZlZExvY2FsZSgpfV19KTt2YXIgX3I9ZnVuY3Rpb24odCxlKXt0aGlzLmV4cHJlc3Npb249dCx0aGlzLl93YXJuaW5nSGlzdG9yeT17fSx0aGlzLl9ldmFsdWF0b3I9bmV3IGxlLHRoaXMuX2RlZmF1bHRWYWx1ZT1lP2Z1bmN0aW9uKHQpe3JldHVybiJjb2xvciI9PT10LnR5cGUmJmRyKHQuZGVmYXVsdCk/bmV3IFd0KDAsMCwwLDApOiJjb2xvciI9PT10LnR5cGU/V3QucGFyc2UodC5kZWZhdWx0KXx8bnVsbDp2b2lkIDA9PT10LmRlZmF1bHQ/bnVsbDp0LmRlZmF1bHR9KGUpOm51bGwsdGhpcy5fZW51bVZhbHVlcz1lJiYiZW51bSI9PT1lLnR5cGU/ZS52YWx1ZXM6bnVsbH07ZnVuY3Rpb24gd3IodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCkmJnQubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdFswXWluIG5yfWZ1bmN0aW9uIGtyKHQsZSl7dmFyIHI9bmV3IGdlKG5yLFtdLGU/ZnVuY3Rpb24odCl7dmFyIGU9e2NvbG9yOkZ0LHN0cmluZzpEdCxudW1iZXI6SXQsZW51bTpEdCxib29sZWFuOlJ0LGZvcm1hdHRlZDpWdH07cmV0dXJuImFycmF5Ij09PXQudHlwZT9VdChlW3QudmFsdWVdfHxOdCx0Lmxlbmd0aCk6ZVt0LnR5cGVdfShlKTp2b2lkIDApLG49ci5wYXJzZSh0LHZvaWQgMCx2b2lkIDAsdm9pZCAwLGUmJiJzdHJpbmciPT09ZS50eXBlP3t0eXBlQW5ub3RhdGlvbjoiY29lcmNlIn06dm9pZCAwKTtyZXR1cm4gbj9scihuZXcgX3IobixlKSk6Y3Ioci5lcnJvcnMpfV9yLnByb3RvdHlwZS5ldmFsdWF0ZVdpdGhvdXRFcnJvckhhbmRsaW5nPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLl9ldmFsdWF0b3IuZ2xvYmFscz10LHRoaXMuX2V2YWx1YXRvci5mZWF0dXJlPWUsdGhpcy5fZXZhbHVhdG9yLmZlYXR1cmVTdGF0ZT1yLHRoaXMuX2V2YWx1YXRvci5mb3JtYXR0ZWRTZWN0aW9uPW4sdGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKHRoaXMuX2V2YWx1YXRvcil9LF9yLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0LGUscixuKXt0aGlzLl9ldmFsdWF0b3IuZ2xvYmFscz10LHRoaXMuX2V2YWx1YXRvci5mZWF0dXJlPWV8fG51bGwsdGhpcy5fZXZhbHVhdG9yLmZlYXR1cmVTdGF0ZT1yfHxudWxsLHRoaXMuX2V2YWx1YXRvci5mb3JtYXR0ZWRTZWN0aW9uPW58fG51bGw7dHJ5e3ZhciBhPXRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZSh0aGlzLl9ldmFsdWF0b3IpO2lmKG51bGw9PWEpcmV0dXJuIHRoaXMuX2RlZmF1bHRWYWx1ZTtpZih0aGlzLl9lbnVtVmFsdWVzJiYhKGEgaW4gdGhpcy5fZW51bVZhbHVlcykpdGhyb3cgbmV3IGVlKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBvbmUgb2YgIitPYmplY3Qua2V5cyh0aGlzLl9lbnVtVmFsdWVzKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfSkuam9pbigiLCAiKSsiLCBidXQgZm91bmQgIitKU09OLnN0cmluZ2lmeShhKSsiIGluc3RlYWQuIik7cmV0dXJuIGF9Y2F0Y2godCl7cmV0dXJuIHRoaXMuX3dhcm5pbmdIaXN0b3J5W3QubWVzc2FnZV18fCh0aGlzLl93YXJuaW5nSGlzdG9yeVt0Lm1lc3NhZ2VdPSEwLCJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS53YXJuKHQubWVzc2FnZSkpLHRoaXMuX2RlZmF1bHRWYWx1ZX19O3ZhciBUcj1mdW5jdGlvbih0LGUpe3RoaXMua2luZD10LHRoaXMuX3N0eWxlRXhwcmVzc2lvbj1lLHRoaXMuaXNTdGF0ZURlcGVuZGVudD0iY29uc3RhbnQiIT09dCYmIWZlKGUuZXhwcmVzc2lvbil9O1RyLnByb3RvdHlwZS5ldmFsdWF0ZVdpdGhvdXRFcnJvckhhbmRsaW5nPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLl9zdHlsZUV4cHJlc3Npb24uZXZhbHVhdGVXaXRob3V0RXJyb3JIYW5kbGluZyh0LGUscixuKX0sVHIucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLl9zdHlsZUV4cHJlc3Npb24uZXZhbHVhdGUodCxlLHIsbil9O3ZhciBNcj1mdW5jdGlvbih0LGUscixuKXt0aGlzLmtpbmQ9dCx0aGlzLnpvb21TdG9wcz1yLHRoaXMuX3N0eWxlRXhwcmVzc2lvbj1lLHRoaXMuaXNTdGF0ZURlcGVuZGVudD0iY2FtZXJhIiE9PXQmJiFmZShlLmV4cHJlc3Npb24pLHRoaXMuaW50ZXJwb2xhdGlvblR5cGU9bn07ZnVuY3Rpb24gQXIodCxlKXtpZigiZXJyb3IiPT09KHQ9a3IodCxlKSkucmVzdWx0KXJldHVybiB0O3ZhciByPXQudmFsdWUuZXhwcmVzc2lvbixuPWhlKHIpO2lmKCFuJiYhdXIoZSkpcmV0dXJuIGNyKFtuZXcgUHQoIiIsImRhdGEgZXhwcmVzc2lvbnMgbm90IHN1cHBvcnRlZCIpXSk7dmFyIGE9cGUocixbInpvb20iXSk7aWYoIWEmJiFocihlKSlyZXR1cm4gY3IoW25ldyBQdCgiIiwiem9vbSBleHByZXNzaW9ucyBub3Qgc3VwcG9ydGVkIildKTt2YXIgaT1mdW5jdGlvbiB0KGUpe3ZhciByPW51bGw7aWYoZSBpbnN0YW5jZW9mIFVlKXI9dChlLnJlc3VsdCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVmUpZm9yKHZhciBuPTAsYT1lLmFyZ3M7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1hW25dO2lmKHI9dChpKSlicmVha31lbHNlKGUgaW5zdGFuY2VvZiBtZXx8ZSBpbnN0YW5jZW9mIE5lKSYmZS5pbnB1dCBpbnN0YW5jZW9mIGNlJiYiem9vbSI9PT1lLmlucHV0Lm5hbWUmJihyPWUpO3JldHVybiByIGluc3RhbmNlb2YgUHQ/cjooZS5lYWNoQ2hpbGQoZnVuY3Rpb24oZSl7dmFyIG49dChlKTtuIGluc3RhbmNlb2YgUHQ/cj1uOiFyJiZuP3I9bmV3IFB0KCIiLCciem9vbSIgZXhwcmVzc2lvbiBtYXkgb25seSBiZSB1c2VkIGFzIGlucHV0IHRvIGEgdG9wLWxldmVsICJzdGVwIiBvciAiaW50ZXJwb2xhdGUiIGV4cHJlc3Npb24uJyk6ciYmbiYmciE9PW4mJihyPW5ldyBQdCgiIiwnT25seSBvbmUgem9vbS1iYXNlZCAic3RlcCIgb3IgImludGVycG9sYXRlIiBzdWJleHByZXNzaW9uIG1heSBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb24uJykpfSkscil9KHIpO2lmKCFpJiYhYSlyZXR1cm4gY3IoW25ldyBQdCgiIiwnInpvb20iIGV4cHJlc3Npb24gbWF5IG9ubHkgYmUgdXNlZCBhcyBpbnB1dCB0byBhIHRvcC1sZXZlbCAic3RlcCIgb3IgImludGVycG9sYXRlIiBleHByZXNzaW9uLicpXSk7aWYoaSBpbnN0YW5jZW9mIFB0KXJldHVybiBjcihbaV0pO2lmKGkgaW5zdGFuY2VvZiBOZSYmIWZyKGUpKXJldHVybiBjcihbbmV3IFB0KCIiLCciaW50ZXJwb2xhdGUiIGV4cHJlc3Npb25zIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyBwcm9wZXJ0eScpXSk7aWYoIWkpcmV0dXJuIGxyKG5ldyBUcihuPyJjb25zdGFudCI6InNvdXJjZSIsdC52YWx1ZSkpO3ZhciBvPWkgaW5zdGFuY2VvZiBOZT9pLmludGVycG9sYXRpb246dm9pZCAwO3JldHVybiBscihuZXcgTXIobj8iY2FtZXJhIjoiY29tcG9zaXRlIix0LnZhbHVlLGkubGFiZWxzLG8pKX1Nci5wcm90b3R5cGUuZXZhbHVhdGVXaXRob3V0RXJyb3JIYW5kbGluZz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdGhpcy5fc3R5bGVFeHByZXNzaW9uLmV2YWx1YXRlV2l0aG91dEVycm9ySGFuZGxpbmcodCxlLHIsbil9LE1yLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdGhpcy5fc3R5bGVFeHByZXNzaW9uLmV2YWx1YXRlKHQsZSxyLG4pfSxNci5wcm90b3R5cGUuaW50ZXJwb2xhdGlvbkZhY3Rvcj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuaW50ZXJwb2xhdGlvblR5cGU/TmUuaW50ZXJwb2xhdGlvbkZhY3Rvcih0aGlzLmludGVycG9sYXRpb25UeXBlLHQsZSxyKTowfTt2YXIgU3I9ZnVuY3Rpb24odCxlKXt0aGlzLl9wYXJhbWV0ZXJzPXQsdGhpcy5fc3BlY2lmaWNhdGlvbj1lLFN0KHRoaXMsZnVuY3Rpb24gdChlLHIpe3ZhciBuLGEsaSxvPSJjb2xvciI9PT1yLnR5cGUscz1lLnN0b3BzJiYib2JqZWN0Ij09dHlwZW9mIGUuc3RvcHNbMF1bMF0sbD1zfHx2b2lkIDAhPT1lLnByb3BlcnR5LGM9c3x8IWwsdT1lLnR5cGV8fChmcihyKT8iZXhwb25lbnRpYWwiOiJpbnRlcnZhbCIpO2lmKG8mJigoZT1TdCh7fSxlKSkuc3RvcHMmJihlLnN0b3BzPWUuc3RvcHMubWFwKGZ1bmN0aW9uKHQpe3JldHVyblt0WzBdLFd0LnBhcnNlKHRbMV0pXX0pKSxlLmRlZmF1bHQ/ZS5kZWZhdWx0PVd0LnBhcnNlKGUuZGVmYXVsdCk6ZS5kZWZhdWx0PVd0LnBhcnNlKHIuZGVmYXVsdCkpLGUuY29sb3JTcGFjZSYmInJnYiIhPT1lLmNvbG9yU3BhY2UmJiFCZVtlLmNvbG9yU3BhY2VdKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBjb2xvciBzcGFjZTogIitlLmNvbG9yU3BhY2UpO2lmKCJleHBvbmVudGlhbCI9PT11KW49eHI7ZWxzZSBpZigiaW50ZXJ2YWwiPT09dSluPXlyO2Vsc2UgaWYoImNhdGVnb3JpY2FsIj09PXUpe249bXIsYT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcih2YXIgaD0wLGY9ZS5zdG9wcztoPGYubGVuZ3RoO2grPTEpe3ZhciBwPWZbaF07YVtwWzBdXT1wWzFdfWk9dHlwZW9mIGUuc3RvcHNbMF1bMF19ZWxzZXtpZigiaWRlbnRpdHkiIT09dSl0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZnVuY3Rpb24gdHlwZSAiJyt1KyciJyk7bj1icn1pZihzKXtmb3IodmFyIGQ9e30sZz1bXSx2PTA7djxlLnN0b3BzLmxlbmd0aDt2Kyspe3ZhciBtPWUuc3RvcHNbdl0seT1tWzBdLnpvb207dm9pZCAwPT09ZFt5XSYmKGRbeV09e3pvb206eSx0eXBlOmUudHlwZSxwcm9wZXJ0eTplLnByb3BlcnR5LGRlZmF1bHQ6ZS5kZWZhdWx0LHN0b3BzOltdfSxnLnB1c2goeSkpLGRbeV0uc3RvcHMucHVzaChbbVswXS52YWx1ZSxtWzFdXSl9Zm9yKHZhciB4PVtdLGI9MCxfPWc7YjxfLmxlbmd0aDtiKz0xKXt2YXIgdz1fW2JdO3gucHVzaChbZFt3XS56b29tLHQoZFt3XSxyKV0pfXZhciBrPXtuYW1lOiJsaW5lYXIifTtyZXR1cm57a2luZDoiY29tcG9zaXRlIixpbnRlcnBvbGF0aW9uVHlwZTprLGludGVycG9sYXRpb25GYWN0b3I6TmUuaW50ZXJwb2xhdGlvbkZhY3Rvci5iaW5kKHZvaWQgMCxrKSx6b29tU3RvcHM6eC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19KSxldmFsdWF0ZTpmdW5jdGlvbih0LG4pe3ZhciBhPXQuem9vbTtyZXR1cm4geHIoe3N0b3BzOngsYmFzZTplLmJhc2V9LHIsYSkuZXZhbHVhdGUoYSxuKX19fWlmKGMpe3ZhciBUPSJleHBvbmVudGlhbCI9PT11P3tuYW1lOiJleHBvbmVudGlhbCIsYmFzZTp2b2lkIDAhPT1lLmJhc2U/ZS5iYXNlOjF9Om51bGw7cmV0dXJue2tpbmQ6ImNhbWVyYSIsaW50ZXJwb2xhdGlvblR5cGU6VCxpbnRlcnBvbGF0aW9uRmFjdG9yOk5lLmludGVycG9sYXRpb25GYWN0b3IuYmluZCh2b2lkIDAsVCksem9vbVN0b3BzOmUuc3RvcHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdfSksZXZhbHVhdGU6ZnVuY3Rpb24odCl7dmFyIG89dC56b29tO3JldHVybiBuKGUscixvLGEsaSl9fX1yZXR1cm57a2luZDoic291cmNlIixldmFsdWF0ZTpmdW5jdGlvbih0LG8pe3ZhciBzPW8mJm8ucHJvcGVydGllcz9vLnByb3BlcnRpZXNbZS5wcm9wZXJ0eV06dm9pZCAwO3JldHVybiB2b2lkIDA9PT1zP3ZyKGUuZGVmYXVsdCxyLmRlZmF1bHQpOm4oZSxyLHMsYSxpKX19fSh0aGlzLl9wYXJhbWV0ZXJzLHRoaXMuX3NwZWNpZmljYXRpb24pKX07ZnVuY3Rpb24gRXIodCl7dmFyIGU9dC5rZXkscj10LnZhbHVlLG49dC52YWx1ZVNwZWN8fHt9LGE9dC5vYmplY3RFbGVtZW50VmFsaWRhdG9yc3x8e30saT10LnN0eWxlLG89dC5zdHlsZVNwZWMscz1bXSxsPXByKHIpO2lmKCJvYmplY3QiIT09bClyZXR1cm5bbmV3IE10KGUsciwib2JqZWN0IGV4cGVjdGVkLCAiK2wrIiBmb3VuZCIpXTtmb3IodmFyIGMgaW4gcil7dmFyIHU9Yy5zcGxpdCgiLiIpWzBdLGg9blt1XXx8blsiKiJdLGY9dm9pZCAwO2lmKGFbdV0pZj1hW3VdO2Vsc2UgaWYoblt1XSlmPVFyO2Vsc2UgaWYoYVsiKiJdKWY9YVsiKiJdO2Vsc2V7aWYoIW5bIioiXSl7cy5wdXNoKG5ldyBNdChlLHJbY10sJ3Vua25vd24gcHJvcGVydHkgIicrYysnIicpKTtjb250aW51ZX1mPVFyfXM9cy5jb25jYXQoZih7a2V5OihlP2UrIi4iOmUpK2MsdmFsdWU6cltjXSx2YWx1ZVNwZWM6aCxzdHlsZTppLHN0eWxlU3BlYzpvLG9iamVjdDpyLG9iamVjdEtleTpjfSxyKSl9Zm9yKHZhciBwIGluIG4pYVtwXXx8bltwXS5yZXF1aXJlZCYmdm9pZCAwPT09bltwXS5kZWZhdWx0JiZ2b2lkIDA9PT1yW3BdJiZzLnB1c2gobmV3IE10KGUsciwnbWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0eSAiJytwKyciJykpO3JldHVybiBzfWZ1bmN0aW9uIExyKHQpe3ZhciBlPXQudmFsdWUscj10LnZhbHVlU3BlYyxuPXQuc3R5bGUsYT10LnN0eWxlU3BlYyxpPXQua2V5LG89dC5hcnJheUVsZW1lbnRWYWxpZGF0b3J8fFFyO2lmKCJhcnJheSIhPT1wcihlKSlyZXR1cm5bbmV3IE10KGksZSwiYXJyYXkgZXhwZWN0ZWQsICIrcHIoZSkrIiBmb3VuZCIpXTtpZihyLmxlbmd0aCYmZS5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm5bbmV3IE10KGksZSwiYXJyYXkgbGVuZ3RoICIrci5sZW5ndGgrIiBleHBlY3RlZCwgbGVuZ3RoICIrZS5sZW5ndGgrIiBmb3VuZCIpXTtpZihyWyJtaW4tbGVuZ3RoIl0mJmUubGVuZ3RoPHJbIm1pbi1sZW5ndGgiXSlyZXR1cm5bbmV3IE10KGksZSwiYXJyYXkgbGVuZ3RoIGF0IGxlYXN0ICIrclsibWluLWxlbmd0aCJdKyIgZXhwZWN0ZWQsIGxlbmd0aCAiK2UubGVuZ3RoKyIgZm91bmQiKV07dmFyIHM9e3R5cGU6ci52YWx1ZSx2YWx1ZXM6ci52YWx1ZXN9O2EuJHZlcnNpb248NyYmKHMuZnVuY3Rpb249ci5mdW5jdGlvbiksIm9iamVjdCI9PT1wcihyLnZhbHVlKSYmKHM9ci52YWx1ZSk7Zm9yKHZhciBsPVtdLGM9MDtjPGUubGVuZ3RoO2MrKylsPWwuY29uY2F0KG8oe2FycmF5OmUsYXJyYXlJbmRleDpjLHZhbHVlOmVbY10sdmFsdWVTcGVjOnMsc3R5bGU6bixzdHlsZVNwZWM6YSxrZXk6aSsiWyIrYysiXSJ9KSk7cmV0dXJuIGx9ZnVuY3Rpb24gQ3IodCl7dmFyIGU9dC5rZXkscj10LnZhbHVlLG49dC52YWx1ZVNwZWMsYT1wcihyKTtyZXR1cm4ibnVtYmVyIiE9PWE/W25ldyBNdChlLHIsIm51bWJlciBleHBlY3RlZCwgIithKyIgZm91bmQiKV06Im1pbmltdW0iaW4gbiYmcjxuLm1pbmltdW0/W25ldyBNdChlLHIscisiIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSB2YWx1ZSAiK24ubWluaW11bSldOiJtYXhpbXVtImluIG4mJnI+bi5tYXhpbXVtP1tuZXcgTXQoZSxyLHIrIiBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gdmFsdWUgIituLm1heGltdW0pXTpbXX1mdW5jdGlvbiBQcih0KXt2YXIgZSxyLG4sYT10LnZhbHVlU3BlYyxpPUx0KHQudmFsdWUudHlwZSksbz17fSxzPSJjYXRlZ29yaWNhbCIhPT1pJiZ2b2lkIDA9PT10LnZhbHVlLnByb3BlcnR5LGw9IXMsYz0iYXJyYXkiPT09cHIodC52YWx1ZS5zdG9wcykmJiJhcnJheSI9PT1wcih0LnZhbHVlLnN0b3BzWzBdKSYmIm9iamVjdCI9PT1wcih0LnZhbHVlLnN0b3BzWzBdWzBdKSx1PUVyKHtrZXk6dC5rZXksdmFsdWU6dC52YWx1ZSx2YWx1ZVNwZWM6dC5zdHlsZVNwZWMuZnVuY3Rpb24sc3R5bGU6dC5zdHlsZSxzdHlsZVNwZWM6dC5zdHlsZVNwZWMsb2JqZWN0RWxlbWVudFZhbGlkYXRvcnM6e3N0b3BzOmZ1bmN0aW9uKHQpe2lmKCJpZGVudGl0eSI9PT1pKXJldHVybltuZXcgTXQodC5rZXksdC52YWx1ZSwnaWRlbnRpdHkgZnVuY3Rpb24gbWF5IG5vdCBoYXZlIGEgInN0b3BzIiBwcm9wZXJ0eScpXTt2YXIgZT1bXSxyPXQudmFsdWU7cmV0dXJuIGU9ZS5jb25jYXQoTHIoe2tleTp0LmtleSx2YWx1ZTpyLHZhbHVlU3BlYzp0LnZhbHVlU3BlYyxzdHlsZTp0LnN0eWxlLHN0eWxlU3BlYzp0LnN0eWxlU3BlYyxhcnJheUVsZW1lbnRWYWxpZGF0b3I6aH0pKSwiYXJyYXkiPT09cHIocikmJjA9PT1yLmxlbmd0aCYmZS5wdXNoKG5ldyBNdCh0LmtleSxyLCJhcnJheSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIHN0b3AiKSksZX0sZGVmYXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gUXIoe2tleTp0LmtleSx2YWx1ZTp0LnZhbHVlLHZhbHVlU3BlYzphLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjfSl9fX0pO3JldHVybiJpZGVudGl0eSI9PT1pJiZzJiZ1LnB1c2gobmV3IE10KHQua2V5LHQudmFsdWUsJ21pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHkgInByb3BlcnR5IicpKSwiaWRlbnRpdHkiPT09aXx8dC52YWx1ZS5zdG9wc3x8dS5wdXNoKG5ldyBNdCh0LmtleSx0LnZhbHVlLCdtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5ICJzdG9wcyInKSksImV4cG9uZW50aWFsIj09PWkmJnQudmFsdWVTcGVjLmV4cHJlc3Npb24mJiFmcih0LnZhbHVlU3BlYykmJnUucHVzaChuZXcgTXQodC5rZXksdC52YWx1ZSwiZXhwb25lbnRpYWwgZnVuY3Rpb25zIG5vdCBzdXBwb3J0ZWQiKSksdC5zdHlsZVNwZWMuJHZlcnNpb24+PTgmJihsJiYhdXIodC52YWx1ZVNwZWMpP3UucHVzaChuZXcgTXQodC5rZXksdC52YWx1ZSwicHJvcGVydHkgZnVuY3Rpb25zIG5vdCBzdXBwb3J0ZWQiKSk6cyYmIWhyKHQudmFsdWVTcGVjKSYmdS5wdXNoKG5ldyBNdCh0LmtleSx0LnZhbHVlLCJ6b29tIGZ1bmN0aW9ucyBub3Qgc3VwcG9ydGVkIikpKSwiY2F0ZWdvcmljYWwiIT09aSYmIWN8fHZvaWQgMCE9PXQudmFsdWUucHJvcGVydHl8fHUucHVzaChuZXcgTXQodC5rZXksdC52YWx1ZSwnInByb3BlcnR5IiBwcm9wZXJ0eSBpcyByZXF1aXJlZCcpKSx1O2Z1bmN0aW9uIGgodCl7dmFyIGU9W10saT10LnZhbHVlLHM9dC5rZXk7aWYoImFycmF5IiE9PXByKGkpKXJldHVybltuZXcgTXQocyxpLCJhcnJheSBleHBlY3RlZCwgIitwcihpKSsiIGZvdW5kIildO2lmKDIhPT1pLmxlbmd0aClyZXR1cm5bbmV3IE10KHMsaSwiYXJyYXkgbGVuZ3RoIDIgZXhwZWN0ZWQsIGxlbmd0aCAiK2kubGVuZ3RoKyIgZm91bmQiKV07aWYoYyl7aWYoIm9iamVjdCIhPT1wcihpWzBdKSlyZXR1cm5bbmV3IE10KHMsaSwib2JqZWN0IGV4cGVjdGVkLCAiK3ByKGlbMF0pKyIgZm91bmQiKV07aWYodm9pZCAwPT09aVswXS56b29tKXJldHVybltuZXcgTXQocyxpLCJvYmplY3Qgc3RvcCBrZXkgbXVzdCBoYXZlIHpvb20iKV07aWYodm9pZCAwPT09aVswXS52YWx1ZSlyZXR1cm5bbmV3IE10KHMsaSwib2JqZWN0IHN0b3Aga2V5IG11c3QgaGF2ZSB2YWx1ZSIpXTtpZihuJiZuPkx0KGlbMF0uem9vbSkpcmV0dXJuW25ldyBNdChzLGlbMF0uem9vbSwic3RvcCB6b29tIHZhbHVlcyBtdXN0IGFwcGVhciBpbiBhc2NlbmRpbmcgb3JkZXIiKV07THQoaVswXS56b29tKSE9PW4mJihuPUx0KGlbMF0uem9vbSkscj12b2lkIDAsbz17fSksZT1lLmNvbmNhdChFcih7a2V5OnMrIlswXSIsdmFsdWU6aVswXSx2YWx1ZVNwZWM6e3pvb206e319LHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnt6b29tOkNyLHZhbHVlOmZ9fSkpfWVsc2UgZT1lLmNvbmNhdChmKHtrZXk6cysiWzBdIix2YWx1ZTppWzBdLHZhbHVlU3BlYzp7fSxzdHlsZTp0LnN0eWxlLHN0eWxlU3BlYzp0LnN0eWxlU3BlY30saSkpO3JldHVybiB3cihDdChpWzFdKSk/ZS5jb25jYXQoW25ldyBNdChzKyJbMV0iLGlbMV0sImV4cHJlc3Npb25zIGFyZSBub3QgYWxsb3dlZCBpbiBmdW5jdGlvbiBzdG9wcy4iKV0pOmUuY29uY2F0KFFyKHtrZXk6cysiWzFdIix2YWx1ZTppWzFdLHZhbHVlU3BlYzphLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjfSkpfWZ1bmN0aW9uIGYodCxuKXt2YXIgcz1wcih0LnZhbHVlKSxsPUx0KHQudmFsdWUpLGM9bnVsbCE9PXQudmFsdWU/dC52YWx1ZTpuO2lmKGUpe2lmKHMhPT1lKXJldHVybltuZXcgTXQodC5rZXksYyxzKyIgc3RvcCBkb21haW4gdHlwZSBtdXN0IG1hdGNoIHByZXZpb3VzIHN0b3AgZG9tYWluIHR5cGUgIitlKV19ZWxzZSBlPXM7aWYoIm51bWJlciIhPT1zJiYic3RyaW5nIiE9PXMmJiJib29sZWFuIiE9PXMpcmV0dXJuW25ldyBNdCh0LmtleSxjLCJzdG9wIGRvbWFpbiB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyLCBzdHJpbmcsIG9yIGJvb2xlYW4iKV07aWYoIm51bWJlciIhPT1zJiYiY2F0ZWdvcmljYWwiIT09aSl7dmFyIHU9Im51bWJlciBleHBlY3RlZCwgIitzKyIgZm91bmQiO3JldHVybiB1cihhKSYmdm9pZCAwPT09aSYmKHUrPSdcbklmIHlvdSBpbnRlbmRlZCB0byB1c2UgYSBjYXRlZ29yaWNhbCBmdW5jdGlvbiwgc3BlY2lmeSBgInR5cGUiOiAiY2F0ZWdvcmljYWwiYC4nKSxbbmV3IE10KHQua2V5LGMsdSldfXJldHVybiJjYXRlZ29yaWNhbCIhPT1pfHwibnVtYmVyIiE9PXN8fGlzRmluaXRlKGwpJiZNYXRoLmZsb29yKGwpPT09bD8iY2F0ZWdvcmljYWwiIT09aSYmIm51bWJlciI9PT1zJiZ2b2lkIDAhPT1yJiZsPHI/W25ldyBNdCh0LmtleSxjLCJzdG9wIGRvbWFpbiB2YWx1ZXMgbXVzdCBhcHBlYXIgaW4gYXNjZW5kaW5nIG9yZGVyIildOihyPWwsImNhdGVnb3JpY2FsIj09PWkmJmwgaW4gbz9bbmV3IE10KHQua2V5LGMsInN0b3AgZG9tYWluIHZhbHVlcyBtdXN0IGJlIHVuaXF1ZSIpXToob1tsXT0hMCxbXSkpOltuZXcgTXQodC5rZXksYywiaW50ZWdlciBleHBlY3RlZCwgZm91bmQgIitsKV19fWZ1bmN0aW9uIE9yKHQpe3ZhciBlPSgicHJvcGVydHkiPT09dC5leHByZXNzaW9uQ29udGV4dD9BcjprcikoQ3QodC52YWx1ZSksdC52YWx1ZVNwZWMpO2lmKCJlcnJvciI9PT1lLnJlc3VsdClyZXR1cm4gZS52YWx1ZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBNdCgiIit0LmtleStlLmtleSx0LnZhbHVlLGUubWVzc2FnZSl9KTt2YXIgcj1lLnZhbHVlLmV4cHJlc3Npb258fGUudmFsdWUuX3N0eWxlRXhwcmVzc2lvbi5leHByZXNzaW9uO2lmKCJwcm9wZXJ0eSI9PT10LmV4cHJlc3Npb25Db250ZXh0JiYidGV4dC1mb250Ij09PXQucHJvcGVydHlLZXkmJi0xIT09ci5wb3NzaWJsZU91dHB1dHMoKS5pbmRleE9mKHZvaWQgMCkpcmV0dXJuW25ldyBNdCh0LmtleSx0LnZhbHVlLCdJbnZhbGlkIGRhdGEgZXhwcmVzc2lvbiBmb3IgIicrdC5wcm9wZXJ0eUtleSsnIi4gT3V0cHV0IHZhbHVlcyBtdXN0IGJlIGNvbnRhaW5lZCBhcyBsaXRlcmFscyB3aXRoaW4gdGhlIGV4cHJlc3Npb24uJyldO2lmKCJwcm9wZXJ0eSI9PT10LmV4cHJlc3Npb25Db250ZXh0JiYibGF5b3V0Ij09PXQucHJvcGVydHlUeXBlJiYhZmUocikpcmV0dXJuW25ldyBNdCh0LmtleSx0LnZhbHVlLCciZmVhdHVyZS1zdGF0ZSIgZGF0YSBleHByZXNzaW9ucyBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIGxheW91dCBwcm9wZXJ0aWVzLicpXTtpZigiZmlsdGVyIj09PXQuZXhwcmVzc2lvbkNvbnRleHQmJiFmZShyKSlyZXR1cm5bbmV3IE10KHQua2V5LHQudmFsdWUsJyJmZWF0dXJlLXN0YXRlIiBkYXRhIGV4cHJlc3Npb25zIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggZmlsdGVycy4nKV07aWYodC5leHByZXNzaW9uQ29udGV4dCYmMD09PXQuZXhwcmVzc2lvbkNvbnRleHQuaW5kZXhPZigiY2x1c3RlciIpKXtpZighcGUocixbInpvb20iLCJmZWF0dXJlLXN0YXRlIl0pKXJldHVybltuZXcgTXQodC5rZXksdC52YWx1ZSwnInpvb20iIGFuZCAiZmVhdHVyZS1zdGF0ZSIgZXhwcmVzc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgd2l0aCBjbHVzdGVyIHByb3BlcnRpZXMuJyldO2lmKCJjbHVzdGVyLWluaXRpYWwiPT09dC5leHByZXNzaW9uQ29udGV4dCYmIWhlKHIpKXJldHVybltuZXcgTXQodC5rZXksdC52YWx1ZSwiRmVhdHVyZSBkYXRhIGV4cHJlc3Npb25zIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggaW5pdGlhbCBleHByZXNzaW9uIHBhcnQgb2YgY2x1c3RlciBwcm9wZXJ0aWVzLiIpXX1yZXR1cm5bXX1mdW5jdGlvbiB6cih0KXt2YXIgZT10LmtleSxyPXQudmFsdWUsbj10LnZhbHVlU3BlYyxhPVtdO3JldHVybiBBcnJheS5pc0FycmF5KG4udmFsdWVzKT8tMT09PW4udmFsdWVzLmluZGV4T2YoTHQocikpJiZhLnB1c2gobmV3IE10KGUsciwiZXhwZWN0ZWQgb25lIG9mIFsiK24udmFsdWVzLmpvaW4oIiwgIikrIl0sICIrSlNPTi5zdHJpbmdpZnkocikrIiBmb3VuZCIpKTotMT09PU9iamVjdC5rZXlzKG4udmFsdWVzKS5pbmRleE9mKEx0KHIpKSYmYS5wdXNoKG5ldyBNdChlLHIsImV4cGVjdGVkIG9uZSBvZiBbIitPYmplY3Qua2V5cyhuLnZhbHVlcykuam9pbigiLCAiKSsiXSwgIitKU09OLnN0cmluZ2lmeShyKSsiIGZvdW5kIikpLGF9ZnVuY3Rpb24gSXIodCl7aWYoITA9PT10fHwhMT09PXQpcmV0dXJuITA7aWYoIUFycmF5LmlzQXJyYXkodCl8fDA9PT10Lmxlbmd0aClyZXR1cm4hMTtzd2l0Y2godFswXSl7Y2FzZSJoYXMiOnJldHVybiB0Lmxlbmd0aD49MiYmIiRpZCIhPT10WzFdJiYiJHR5cGUiIT09dFsxXTtjYXNlImluIjpjYXNlIiFpbiI6Y2FzZSIhaGFzIjpjYXNlIm5vbmUiOnJldHVybiExO2Nhc2UiPT0iOmNhc2UiIT0iOmNhc2UiPiI6Y2FzZSI+PSI6Y2FzZSI8IjpjYXNlIjw9IjpyZXR1cm4gMyE9PXQubGVuZ3RofHxBcnJheS5pc0FycmF5KHRbMV0pfHxBcnJheS5pc0FycmF5KHRbMl0pO2Nhc2UiYW55IjpjYXNlImFsbCI6Zm9yKHZhciBlPTAscj10LnNsaWNlKDEpO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTtpZighSXIobikmJiJib29sZWFuIiE9dHlwZW9mIG4pcmV0dXJuITF9cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMH19U3IuZGVzZXJpYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTcih0Ll9wYXJhbWV0ZXJzLHQuX3NwZWNpZmljYXRpb24pfSxTci5zZXJpYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJue19wYXJhbWV0ZXJzOnQuX3BhcmFtZXRlcnMsX3NwZWNpZmljYXRpb246dC5fc3BlY2lmaWNhdGlvbn19O3ZhciBEcj17dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMSx0cmFuc2l0aW9uOiExLCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4iLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX19O2Z1bmN0aW9uIFJyKHQpe2lmKG51bGw9PXQpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuITB9O0lyKHQpfHwodD1Ccih0KSk7dmFyIGU9a3IodCxEcik7aWYoImVycm9yIj09PWUucmVzdWx0KXRocm93IG5ldyBFcnJvcihlLnZhbHVlLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5rZXkrIjogIit0Lm1lc3NhZ2V9KS5qb2luKCIsICIpKTtyZXR1cm4gZnVuY3Rpb24odCxyKXtyZXR1cm4gZS52YWx1ZS5ldmFsdWF0ZSh0LHIpfX1mdW5jdGlvbiBGcih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6MH1mdW5jdGlvbiBCcih0KXtpZighdClyZXR1cm4hMDt2YXIgZSxyPXRbMF07cmV0dXJuIHQubGVuZ3RoPD0xPyJhbnkiIT09cjoiPT0iPT09cj9Ocih0WzFdLHRbMl0sIj09Iik6IiE9Ij09PXI/VXIoTnIodFsxXSx0WzJdLCI9PSIpKToiPCI9PT1yfHwiPiI9PT1yfHwiPD0iPT09cnx8Ij49Ij09PXI/TnIodFsxXSx0WzJdLHIpOiJhbnkiPT09cj8oZT10LnNsaWNlKDEpLFsiYW55Il0uY29uY2F0KGUubWFwKEJyKSkpOiJhbGwiPT09cj9bImFsbCJdLmNvbmNhdCh0LnNsaWNlKDEpLm1hcChCcikpOiJub25lIj09PXI/WyJhbGwiXS5jb25jYXQodC5zbGljZSgxKS5tYXAoQnIpLm1hcChVcikpOiJpbiI9PT1yP2pyKHRbMV0sdC5zbGljZSgyKSk6IiFpbiI9PT1yP1VyKGpyKHRbMV0sdC5zbGljZSgyKSkpOiJoYXMiPT09cj9Wcih0WzFdKToiIWhhcyIhPT1yfHxVcihWcih0WzFdKSl9ZnVuY3Rpb24gTnIodCxlLHIpe3N3aXRjaCh0KXtjYXNlIiR0eXBlIjpyZXR1cm5bImZpbHRlci10eXBlLSIrcixlXTtjYXNlIiRpZCI6cmV0dXJuWyJmaWx0ZXItaWQtIityLGVdO2RlZmF1bHQ6cmV0dXJuWyJmaWx0ZXItIityLHQsZV19fWZ1bmN0aW9uIGpyKHQsZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiExO3N3aXRjaCh0KXtjYXNlIiR0eXBlIjpyZXR1cm5bImZpbHRlci10eXBlLWluIixbImxpdGVyYWwiLGVdXTtjYXNlIiRpZCI6cmV0dXJuWyJmaWx0ZXItaWQtaW4iLFsibGl0ZXJhbCIsZV1dO2RlZmF1bHQ6cmV0dXJuIGUubGVuZ3RoPjIwMCYmIWUuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHQhPXR5cGVvZiBlWzBdfSk/WyJmaWx0ZXItaW4tbGFyZ2UiLHQsWyJsaXRlcmFsIixlLnNvcnQoRnIpXV06WyJmaWx0ZXItaW4tc21hbGwiLHQsWyJsaXRlcmFsIixlXV19fWZ1bmN0aW9uIFZyKHQpe3N3aXRjaCh0KXtjYXNlIiR0eXBlIjpyZXR1cm4hMDtjYXNlIiRpZCI6cmV0dXJuWyJmaWx0ZXItaGFzLWlkIl07ZGVmYXVsdDpyZXR1cm5bImZpbHRlci1oYXMiLHRdfX1mdW5jdGlvbiBVcih0KXtyZXR1cm5bIiEiLHRdfWZ1bmN0aW9uIHFyKHQpe3JldHVybiBJcihDdCh0LnZhbHVlKSk/T3IoU3Qoe30sdCx7ZXhwcmVzc2lvbkNvbnRleHQ6ImZpbHRlciIsdmFsdWVTcGVjOnt2YWx1ZToiYm9vbGVhbiJ9fSkpOmZ1bmN0aW9uIHQoZSl7dmFyIHI9ZS52YWx1ZSxuPWUua2V5O2lmKCJhcnJheSIhPT1wcihyKSlyZXR1cm5bbmV3IE10KG4sciwiYXJyYXkgZXhwZWN0ZWQsICIrcHIocikrIiBmb3VuZCIpXTt2YXIgYSxpPWUuc3R5bGVTcGVjLG89W107aWYoci5sZW5ndGg8MSlyZXR1cm5bbmV3IE10KG4sciwiZmlsdGVyIGFycmF5IG11c3QgaGF2ZSBhdCBsZWFzdCAxIGVsZW1lbnQiKV07c3dpdGNoKG89by5jb25jYXQoenIoe2tleTpuKyJbMF0iLHZhbHVlOnJbMF0sdmFsdWVTcGVjOmkuZmlsdGVyX29wZXJhdG9yLHN0eWxlOmUuc3R5bGUsc3R5bGVTcGVjOmUuc3R5bGVTcGVjfSkpLEx0KHJbMF0pKXtjYXNlIjwiOmNhc2UiPD0iOmNhc2UiPiI6Y2FzZSI+PSI6ci5sZW5ndGg+PTImJiIkdHlwZSI9PT1MdChyWzFdKSYmby5wdXNoKG5ldyBNdChuLHIsJyIkdHlwZSIgY2Fubm90IGJlIHVzZSB3aXRoIG9wZXJhdG9yICInK3JbMF0rJyInKSk7Y2FzZSI9PSI6Y2FzZSIhPSI6MyE9PXIubGVuZ3RoJiZvLnB1c2gobmV3IE10KG4sciwnZmlsdGVyIGFycmF5IGZvciBvcGVyYXRvciAiJytyWzBdKyciIG11c3QgaGF2ZSAzIGVsZW1lbnRzJykpO2Nhc2UiaW4iOmNhc2UiIWluIjpyLmxlbmd0aD49MiYmInN0cmluZyIhPT0oYT1wcihyWzFdKSkmJm8ucHVzaChuZXcgTXQobisiWzFdIixyWzFdLCJzdHJpbmcgZXhwZWN0ZWQsICIrYSsiIGZvdW5kIikpO2Zvcih2YXIgcz0yO3M8ci5sZW5ndGg7cysrKWE9cHIocltzXSksIiR0eXBlIj09PUx0KHJbMV0pP289by5jb25jYXQoenIoe2tleTpuKyJbIitzKyJdIix2YWx1ZTpyW3NdLHZhbHVlU3BlYzppLmdlb21ldHJ5X3R5cGUsc3R5bGU6ZS5zdHlsZSxzdHlsZVNwZWM6ZS5zdHlsZVNwZWN9KSk6InN0cmluZyIhPT1hJiYibnVtYmVyIiE9PWEmJiJib29sZWFuIiE9PWEmJm8ucHVzaChuZXcgTXQobisiWyIrcysiXSIscltzXSwic3RyaW5nLCBudW1iZXIsIG9yIGJvb2xlYW4gZXhwZWN0ZWQsICIrYSsiIGZvdW5kIikpO2JyZWFrO2Nhc2UiYW55IjpjYXNlImFsbCI6Y2FzZSJub25lIjpmb3IodmFyIGw9MTtsPHIubGVuZ3RoO2wrKylvPW8uY29uY2F0KHQoe2tleTpuKyJbIitsKyJdIix2YWx1ZTpyW2xdLHN0eWxlOmUuc3R5bGUsc3R5bGVTcGVjOmUuc3R5bGVTcGVjfSkpO2JyZWFrO2Nhc2UiaGFzIjpjYXNlIiFoYXMiOmE9cHIoclsxXSksMiE9PXIubGVuZ3RoP28ucHVzaChuZXcgTXQobixyLCdmaWx0ZXIgYXJyYXkgZm9yICInK3JbMF0rJyIgb3BlcmF0b3IgbXVzdCBoYXZlIDIgZWxlbWVudHMnKSk6InN0cmluZyIhPT1hJiZvLnB1c2gobmV3IE10KG4rIlsxXSIsclsxXSwic3RyaW5nIGV4cGVjdGVkLCAiK2ErIiBmb3VuZCIpKX1yZXR1cm4gb30odCl9ZnVuY3Rpb24gSHIodCxlKXt2YXIgcj10LmtleSxuPXQuc3R5bGUsYT10LnN0eWxlU3BlYyxpPXQudmFsdWUsbz10Lm9iamVjdEtleSxzPWFbZSsiXyIrdC5sYXllclR5cGVdO2lmKCFzKXJldHVybltdO3ZhciBsPW8ubWF0Y2goL14oLiopLXRyYW5zaXRpb24kLyk7aWYoInBhaW50Ij09PWUmJmwmJnNbbFsxXV0mJnNbbFsxXV0udHJhbnNpdGlvbilyZXR1cm4gUXIoe2tleTpyLHZhbHVlOmksdmFsdWVTcGVjOmEudHJhbnNpdGlvbixzdHlsZTpuLHN0eWxlU3BlYzphfSk7dmFyIGMsdT10LnZhbHVlU3BlY3x8c1tvXTtpZighdSlyZXR1cm5bbmV3IE10KHIsaSwndW5rbm93biBwcm9wZXJ0eSAiJytvKyciJyldO2lmKCJzdHJpbmciPT09cHIoaSkmJnVyKHUpJiYhdS50b2tlbnMmJihjPS9eeyhbXn1dKyl9JC8uZXhlYyhpKSkpcmV0dXJuW25ldyBNdChyLGksJyInK28rJyIgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcnBvbGF0aW9uIHN5bnRheFxuVXNlIGFuIGlkZW50aXR5IHByb3BlcnR5IGZ1bmN0aW9uIGluc3RlYWQ6IGB7ICJ0eXBlIjogImlkZW50aXR5IiwgInByb3BlcnR5IjogJytKU09OLnN0cmluZ2lmeShjWzFdKSsiIH1gLiIpXTt2YXIgaD1bXTtyZXR1cm4ic3ltYm9sIj09PXQubGF5ZXJUeXBlJiYoInRleHQtZmllbGQiPT09byYmbiYmIW4uZ2x5cGhzJiZoLnB1c2gobmV3IE10KHIsaSwndXNlIG9mICJ0ZXh0LWZpZWxkIiByZXF1aXJlcyBhIHN0eWxlICJnbHlwaHMiIHByb3BlcnR5JykpLCJ0ZXh0LWZvbnQiPT09byYmZHIoQ3QoaSkpJiYiaWRlbnRpdHkiPT09THQoaS50eXBlKSYmaC5wdXNoKG5ldyBNdChyLGksJyJ0ZXh0LWZvbnQiIGRvZXMgbm90IHN1cHBvcnQgaWRlbnRpdHkgZnVuY3Rpb25zJykpKSxoLmNvbmNhdChRcih7a2V5OnQua2V5LHZhbHVlOmksdmFsdWVTcGVjOnUsc3R5bGU6bixzdHlsZVNwZWM6YSxleHByZXNzaW9uQ29udGV4dDoicHJvcGVydHkiLHByb3BlcnR5VHlwZTplLHByb3BlcnR5S2V5Om99KSl9ZnVuY3Rpb24gR3IodCl7cmV0dXJuIEhyKHQsInBhaW50Iil9ZnVuY3Rpb24gWXIodCl7cmV0dXJuIEhyKHQsImxheW91dCIpfWZ1bmN0aW9uIFdyKHQpe3ZhciBlPVtdLHI9dC52YWx1ZSxuPXQua2V5LGE9dC5zdHlsZSxpPXQuc3R5bGVTcGVjO3IudHlwZXx8ci5yZWZ8fGUucHVzaChuZXcgTXQobixyLCdlaXRoZXIgInR5cGUiIG9yICJyZWYiIGlzIHJlcXVpcmVkJykpO3ZhciBvLHM9THQoci50eXBlKSxsPUx0KHIucmVmKTtpZihyLmlkKWZvcih2YXIgYz1MdChyLmlkKSx1PTA7dTx0LmFycmF5SW5kZXg7dSsrKXt2YXIgaD1hLmxheWVyc1t1XTtMdChoLmlkKT09PWMmJmUucHVzaChuZXcgTXQobixyLmlkLCdkdXBsaWNhdGUgbGF5ZXIgaWQgIicrci5pZCsnIiwgcHJldmlvdXNseSB1c2VkIGF0IGxpbmUgJytoLmlkLl9fbGluZV9fKSl9aWYoInJlZiJpbiByKVsidHlwZSIsInNvdXJjZSIsInNvdXJjZS1sYXllciIsImZpbHRlciIsImxheW91dCJdLmZvckVhY2goZnVuY3Rpb24odCl7dCBpbiByJiZlLnB1c2gobmV3IE10KG4sclt0XSwnIicrdCsnIiBpcyBwcm9oaWJpdGVkIGZvciByZWYgbGF5ZXJzJykpfSksYS5sYXllcnMuZm9yRWFjaChmdW5jdGlvbih0KXtMdCh0LmlkKT09PWwmJihvPXQpfSksbz9vLnJlZj9lLnB1c2gobmV3IE10KG4sci5yZWYsInJlZiBjYW5ub3QgcmVmZXJlbmNlIGFub3RoZXIgcmVmIGxheWVyIikpOnM9THQoby50eXBlKTplLnB1c2gobmV3IE10KG4sci5yZWYsJ3JlZiBsYXllciAiJytsKyciIG5vdCBmb3VuZCcpKTtlbHNlIGlmKCJiYWNrZ3JvdW5kIiE9PXMpaWYoci5zb3VyY2Upe3ZhciBmPWEuc291cmNlcyYmYS5zb3VyY2VzW3Iuc291cmNlXSxwPWYmJkx0KGYudHlwZSk7Zj8idmVjdG9yIj09PXAmJiJyYXN0ZXIiPT09cz9lLnB1c2gobmV3IE10KG4sci5zb3VyY2UsJ2xheWVyICInK3IuaWQrJyIgcmVxdWlyZXMgYSByYXN0ZXIgc291cmNlJykpOiJyYXN0ZXIiPT09cCYmInJhc3RlciIhPT1zP2UucHVzaChuZXcgTXQobixyLnNvdXJjZSwnbGF5ZXIgIicrci5pZCsnIiByZXF1aXJlcyBhIHZlY3RvciBzb3VyY2UnKSk6InZlY3RvciIhPT1wfHxyWyJzb3VyY2UtbGF5ZXIiXT8icmFzdGVyLWRlbSI9PT1wJiYiaGlsbHNoYWRlIiE9PXM/ZS5wdXNoKG5ldyBNdChuLHIuc291cmNlLCJyYXN0ZXItZGVtIHNvdXJjZSBjYW4gb25seSBiZSB1c2VkIHdpdGggbGF5ZXIgdHlwZSAnaGlsbHNoYWRlJy4iKSk6ImxpbmUiIT09c3x8IXIucGFpbnR8fCFyLnBhaW50WyJsaW5lLWdyYWRpZW50Il18fCJnZW9qc29uIj09PXAmJmYubGluZU1ldHJpY3N8fGUucHVzaChuZXcgTXQobixyLCdsYXllciAiJytyLmlkKyciIHNwZWNpZmllcyBhIGxpbmUtZ3JhZGllbnQsIHdoaWNoIHJlcXVpcmVzIGEgR2VvSlNPTiBzb3VyY2Ugd2l0aCBgbGluZU1ldHJpY3NgIGVuYWJsZWQuJykpOmUucHVzaChuZXcgTXQobixyLCdsYXllciAiJytyLmlkKyciIG11c3Qgc3BlY2lmeSBhICJzb3VyY2UtbGF5ZXIiJykpOmUucHVzaChuZXcgTXQobixyLnNvdXJjZSwnc291cmNlICInK3Iuc291cmNlKyciIG5vdCBmb3VuZCcpKX1lbHNlIGUucHVzaChuZXcgTXQobixyLCdtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5ICJzb3VyY2UiJykpO3JldHVybiBlPWUuY29uY2F0KEVyKHtrZXk6bix2YWx1ZTpyLHZhbHVlU3BlYzppLmxheWVyLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnsiKiI6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdHlwZTpmdW5jdGlvbigpe3JldHVybiBRcih7a2V5Om4rIi50eXBlIix2YWx1ZTpyLnR5cGUsdmFsdWVTcGVjOmkubGF5ZXIudHlwZSxzdHlsZTp0LnN0eWxlLHN0eWxlU3BlYzp0LnN0eWxlU3BlYyxvYmplY3Q6cixvYmplY3RLZXk6InR5cGUifSl9LGZpbHRlcjpxcixsYXlvdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIEVyKHtsYXllcjpyLGtleTp0LmtleSx2YWx1ZTp0LnZhbHVlLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnsiKiI6ZnVuY3Rpb24odCl7cmV0dXJuIFlyKFN0KHtsYXllclR5cGU6c30sdCkpfX19KX0scGFpbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIEVyKHtsYXllcjpyLGtleTp0LmtleSx2YWx1ZTp0LnZhbHVlLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnsiKiI6ZnVuY3Rpb24odCl7cmV0dXJuIEdyKFN0KHtsYXllclR5cGU6c30sdCkpfX19KX19fSkpfWZ1bmN0aW9uIFhyKHQpe3ZhciBlPXQudmFsdWUscj10LmtleSxuPXQuc3R5bGVTcGVjLGE9dC5zdHlsZTtpZighZS50eXBlKXJldHVybltuZXcgTXQocixlLCcidHlwZSIgaXMgcmVxdWlyZWQnKV07dmFyIGksbz1MdChlLnR5cGUpO3N3aXRjaChvKXtjYXNlInZlY3RvciI6Y2FzZSJyYXN0ZXIiOmNhc2UicmFzdGVyLWRlbSI6cmV0dXJuIEVyKHtrZXk6cix2YWx1ZTplLHZhbHVlU3BlYzpuWyJzb3VyY2VfIitvLnJlcGxhY2UoIi0iLCJfIildLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOm59KTtjYXNlImdlb2pzb24iOmlmKGk9RXIoe2tleTpyLHZhbHVlOmUsdmFsdWVTcGVjOm4uc291cmNlX2dlb2pzb24sc3R5bGU6YSxzdHlsZVNwZWM6bn0pLGUuY2x1c3Rlcilmb3IodmFyIHMgaW4gZS5jbHVzdGVyUHJvcGVydGllcyl7dmFyIGw9ZS5jbHVzdGVyUHJvcGVydGllc1tzXSxjPWxbMF0sdT1sWzFdLGg9InN0cmluZyI9PXR5cGVvZiBjP1tjLFsiYWNjdW11bGF0ZWQiXSxbImdldCIsc11dOmM7aS5wdXNoLmFwcGx5KGksT3Ioe2tleTpyKyIuIitzKyIubWFwIix2YWx1ZTp1LGV4cHJlc3Npb25Db250ZXh0OiJjbHVzdGVyLW1hcCJ9KSksaS5wdXNoLmFwcGx5KGksT3Ioe2tleTpyKyIuIitzKyIucmVkdWNlIix2YWx1ZTpoLGV4cHJlc3Npb25Db250ZXh0OiJjbHVzdGVyLXJlZHVjZSJ9KSl9cmV0dXJuIGk7Y2FzZSJ2aWRlbyI6cmV0dXJuIEVyKHtrZXk6cix2YWx1ZTplLHZhbHVlU3BlYzpuLnNvdXJjZV92aWRlbyxzdHlsZTphLHN0eWxlU3BlYzpufSk7Y2FzZSJpbWFnZSI6cmV0dXJuIEVyKHtrZXk6cix2YWx1ZTplLHZhbHVlU3BlYzpuLnNvdXJjZV9pbWFnZSxzdHlsZTphLHN0eWxlU3BlYzpufSk7Y2FzZSJjYW52YXMiOnJldHVybltuZXcgTXQocixudWxsLCJQbGVhc2UgdXNlIHJ1bnRpbWUgQVBJcyB0byBhZGQgY2FudmFzIHNvdXJjZXMsIHJhdGhlciB0aGFuIGluY2x1ZGluZyB0aGVtIGluIHN0eWxlc2hlZXRzLiIsInNvdXJjZS5jYW52YXMiKV07ZGVmYXVsdDpyZXR1cm4genIoe2tleTpyKyIudHlwZSIsdmFsdWU6ZS50eXBlLHZhbHVlU3BlYzp7dmFsdWVzOlsidmVjdG9yIiwicmFzdGVyIiwicmFzdGVyLWRlbSIsImdlb2pzb24iLCJ2aWRlbyIsImltYWdlIl19LHN0eWxlOmEsc3R5bGVTcGVjOm59KX19ZnVuY3Rpb24gWnIodCl7dmFyIGU9dC52YWx1ZSxyPXQuc3R5bGVTcGVjLG49ci5saWdodCxhPXQuc3R5bGUsaT1bXSxvPXByKGUpO2lmKHZvaWQgMD09PWUpcmV0dXJuIGk7aWYoIm9iamVjdCIhPT1vKXJldHVybiBpLmNvbmNhdChbbmV3IE10KCJsaWdodCIsZSwib2JqZWN0IGV4cGVjdGVkLCAiK28rIiBmb3VuZCIpXSk7Zm9yKHZhciBzIGluIGUpe3ZhciBsPXMubWF0Y2goL14oLiopLXRyYW5zaXRpb24kLyk7aT1sJiZuW2xbMV1dJiZuW2xbMV1dLnRyYW5zaXRpb24/aS5jb25jYXQoUXIoe2tleTpzLHZhbHVlOmVbc10sdmFsdWVTcGVjOnIudHJhbnNpdGlvbixzdHlsZTphLHN0eWxlU3BlYzpyfSkpOm5bc10/aS5jb25jYXQoUXIoe2tleTpzLHZhbHVlOmVbc10sdmFsdWVTcGVjOm5bc10sc3R5bGU6YSxzdHlsZVNwZWM6cn0pKTppLmNvbmNhdChbbmV3IE10KHMsZVtzXSwndW5rbm93biBwcm9wZXJ0eSAiJytzKyciJyldKX1yZXR1cm4gaX1mdW5jdGlvbiBKcih0KXt2YXIgZT10LnZhbHVlLHI9dC5rZXksbj1wcihlKTtyZXR1cm4ic3RyaW5nIiE9PW4/W25ldyBNdChyLGUsInN0cmluZyBleHBlY3RlZCwgIituKyIgZm91bmQiKV06W119dmFyIEtyPXsiKiI6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sYXJyYXk6THIsYm9vbGVhbjpmdW5jdGlvbih0KXt2YXIgZT10LnZhbHVlLHI9dC5rZXksbj1wcihlKTtyZXR1cm4iYm9vbGVhbiIhPT1uP1tuZXcgTXQocixlLCJib29sZWFuIGV4cGVjdGVkLCAiK24rIiBmb3VuZCIpXTpbXX0sbnVtYmVyOkNyLGNvbG9yOmZ1bmN0aW9uKHQpe3ZhciBlPXQua2V5LHI9dC52YWx1ZSxuPXByKHIpO3JldHVybiJzdHJpbmciIT09bj9bbmV3IE10KGUsciwiY29sb3IgZXhwZWN0ZWQsICIrbisiIGZvdW5kIildOm51bGw9PT1ZdChyKT9bbmV3IE10KGUsciwnY29sb3IgZXhwZWN0ZWQsICInK3IrJyIgZm91bmQnKV06W119LGNvbnN0YW50czpBdCxlbnVtOnpyLGZpbHRlcjpxcixmdW5jdGlvbjpQcixsYXllcjpXcixvYmplY3Q6RXIsc291cmNlOlhyLGxpZ2h0OlpyLHN0cmluZzpKcixmb3JtYXR0ZWQ6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1Kcih0KS5sZW5ndGg/W106T3IodCl9fTtmdW5jdGlvbiBRcih0KXt2YXIgZT10LnZhbHVlLHI9dC52YWx1ZVNwZWMsbj10LnN0eWxlU3BlYztyZXR1cm4gci5leHByZXNzaW9uJiZkcihMdChlKSk/UHIodCk6ci5leHByZXNzaW9uJiZ3cihDdChlKSk/T3IodCk6ci50eXBlJiZLcltyLnR5cGVdP0tyW3IudHlwZV0odCk6RXIoU3Qoe30sdCx7dmFsdWVTcGVjOnIudHlwZT9uW3IudHlwZV06cn0pKX1mdW5jdGlvbiAkcih0KXt2YXIgZT10LnZhbHVlLHI9dC5rZXksbj1Kcih0KTtyZXR1cm4gbi5sZW5ndGg/bjooLTE9PT1lLmluZGV4T2YoIntmb250c3RhY2t9IikmJm4ucHVzaChuZXcgTXQocixlLCciZ2x5cGhzIiB1cmwgbXVzdCBpbmNsdWRlIGEgIntmb250c3RhY2t9IiB0b2tlbicpKSwtMT09PWUuaW5kZXhPZigie3JhbmdlfSIpJiZuLnB1c2gobmV3IE10KHIsZSwnImdseXBocyIgdXJsIG11c3QgaW5jbHVkZSBhICJ7cmFuZ2V9IiB0b2tlbicpKSxuKX1mdW5jdGlvbiB0bih0LGUpe2U9ZXx8VHQ7dmFyIHI9W107cmV0dXJuIHI9ci5jb25jYXQoUXIoe2tleToiIix2YWx1ZTp0LHZhbHVlU3BlYzplLiRyb290LHN0eWxlU3BlYzplLHN0eWxlOnQsb2JqZWN0RWxlbWVudFZhbGlkYXRvcnM6e2dseXBoczokciwiKiI6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSkpLHQuY29uc3RhbnRzJiYocj1yLmNvbmNhdChBdCh7a2V5OiJjb25zdGFudHMiLHZhbHVlOnQuY29uc3RhbnRzLHN0eWxlOnQsc3R5bGVTcGVjOmV9KSkpLGVuKHIpfWZ1bmN0aW9uIGVuKHQpe3JldHVybltdLmNvbmNhdCh0KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGluZS1lLmxpbmV9KX1mdW5jdGlvbiBybih0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10scj1hcmd1bWVudHMubGVuZ3RoO3ItLTspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGVuKHQuYXBwbHkodGhpcyxlKSl9fXRuLnNvdXJjZT1ybihYciksdG4ubGlnaHQ9cm4oWnIpLHRuLmxheWVyPXJuKFdyKSx0bi5maWx0ZXI9cm4ocXIpLHRuLnBhaW50UHJvcGVydHk9cm4oR3IpLHRuLmxheW91dFByb3BlcnR5PXJuKFlyKTt2YXIgbm49dG4sYW49bm4ubGlnaHQsb249bm4ucGFpbnRQcm9wZXJ0eSxzbj1ubi5sYXlvdXRQcm9wZXJ0eTtmdW5jdGlvbiBsbih0LGUpe3ZhciByPSExO2lmKGUmJmUubGVuZ3RoKWZvcih2YXIgbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07dC5maXJlKG5ldyB3dChuZXcgRXJyb3IoaS5tZXNzYWdlKSkpLHI9ITB9cmV0dXJuIHJ9dmFyIGNuPWhuLHVuPTM7ZnVuY3Rpb24gaG4odCxlLHIpe3ZhciBuPXRoaXMuY2VsbHM9W107aWYodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXt0aGlzLmFycmF5QnVmZmVyPXQ7dmFyIGE9bmV3IEludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcik7dD1hWzBdLGU9YVsxXSxyPWFbMl0sdGhpcy5kPWUrMipyO2Zvcih2YXIgaT0wO2k8dGhpcy5kKnRoaXMuZDtpKyspe3ZhciBvPWFbdW4raV0scz1hW3VuK2krMV07bi5wdXNoKG89PT1zP251bGw6YS5zdWJhcnJheShvLHMpKX12YXIgbD1hW3VuK24ubGVuZ3RoXSxjPWFbdW4rbi5sZW5ndGgrMV07dGhpcy5rZXlzPWEuc3ViYXJyYXkobCxjKSx0aGlzLmJib3hlcz1hLnN1YmFycmF5KGMpLHRoaXMuaW5zZXJ0PXRoaXMuX2luc2VydFJlYWRvbmx5fWVsc2V7dGhpcy5kPWUrMipyO2Zvcih2YXIgdT0wO3U8dGhpcy5kKnRoaXMuZDt1Kyspbi5wdXNoKFtdKTt0aGlzLmtleXM9W10sdGhpcy5iYm94ZXM9W119dGhpcy5uPWUsdGhpcy5leHRlbnQ9dCx0aGlzLnBhZGRpbmc9cix0aGlzLnNjYWxlPWUvdCx0aGlzLnVpZD0wO3ZhciBoPXIvZSp0O3RoaXMubWluPS1oLHRoaXMubWF4PXQraH1obi5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy5fZm9yRWFjaENlbGwoZSxyLG4sYSx0aGlzLl9pbnNlcnRDZWxsLHRoaXMudWlkKyspLHRoaXMua2V5cy5wdXNoKHQpLHRoaXMuYmJveGVzLnB1c2goZSksdGhpcy5iYm94ZXMucHVzaChyKSx0aGlzLmJib3hlcy5wdXNoKG4pLHRoaXMuYmJveGVzLnB1c2goYSl9LGhuLnByb3RvdHlwZS5faW5zZXJ0UmVhZG9ubHk9ZnVuY3Rpb24oKXt0aHJvdyJDYW5ub3QgaW5zZXJ0IGludG8gYSBHcmlkSW5kZXggY3JlYXRlZCBmcm9tIGFuIEFycmF5QnVmZmVyLiJ9LGhuLnByb3RvdHlwZS5faW5zZXJ0Q2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5jZWxsc1thXS5wdXNoKGkpfSxobi5wcm90b3R5cGUucXVlcnk9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10aGlzLm1pbixvPXRoaXMubWF4O2lmKHQ8PWkmJmU8PWkmJm88PXImJm88PW4mJiFhKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLmtleXMpO3ZhciBzPVtdO3JldHVybiB0aGlzLl9mb3JFYWNoQ2VsbCh0LGUscixuLHRoaXMuX3F1ZXJ5Q2VsbCxzLHt9LGEpLHN9LGhuLnByb3RvdHlwZS5fcXVlcnlDZWxsPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7dmFyIGw9dGhpcy5jZWxsc1thXTtpZihudWxsIT09bClmb3IodmFyIGM9dGhpcy5rZXlzLHU9dGhpcy5iYm94ZXMsaD0wO2g8bC5sZW5ndGg7aCsrKXt2YXIgZj1sW2hdO2lmKHZvaWQgMD09PW9bZl0pe3ZhciBwPTQqZjsocz9zKHVbcCswXSx1W3ArMV0sdVtwKzJdLHVbcCszXSk6dDw9dVtwKzJdJiZlPD11W3ArM10mJnI+PXVbcCswXSYmbj49dVtwKzFdKT8ob1tmXT0hMCxpLnB1c2goY1tmXSkpOm9bZl09ITF9fX0saG4ucHJvdG90eXBlLl9mb3JFYWNoQ2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe2Zvcih2YXIgbD10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQodCksYz10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQoZSksdT10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQociksaD10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQobiksZj1sO2Y8PXU7ZisrKWZvcih2YXIgcD1jO3A8PWg7cCsrKXt2YXIgZD10aGlzLmQqcCtmO2lmKCghc3x8cyh0aGlzLl9jb252ZXJ0RnJvbUNlbGxDb29yZChmKSx0aGlzLl9jb252ZXJ0RnJvbUNlbGxDb29yZChwKSx0aGlzLl9jb252ZXJ0RnJvbUNlbGxDb29yZChmKzEpLHRoaXMuX2NvbnZlcnRGcm9tQ2VsbENvb3JkKHArMSkpKSYmYS5jYWxsKHRoaXMsdCxlLHIsbixkLGksbyxzKSlyZXR1cm59fSxobi5wcm90b3R5cGUuX2NvbnZlcnRGcm9tQ2VsbENvb3JkPWZ1bmN0aW9uKHQpe3JldHVybih0LXRoaXMucGFkZGluZykvdGhpcy5zY2FsZX0saG4ucHJvdG90eXBlLl9jb252ZXJ0VG9DZWxsQ29vcmQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5kLTEsTWF0aC5mbG9vcih0KnRoaXMuc2NhbGUpK3RoaXMucGFkZGluZykpfSxobi5wcm90b3R5cGUudG9BcnJheUJ1ZmZlcj1mdW5jdGlvbigpe2lmKHRoaXMuYXJyYXlCdWZmZXIpcmV0dXJuIHRoaXMuYXJyYXlCdWZmZXI7Zm9yKHZhciB0PXRoaXMuY2VsbHMsZT11bit0aGlzLmNlbGxzLmxlbmd0aCsxKzEscj0wLG49MDtuPHRoaXMuY2VsbHMubGVuZ3RoO24rKylyKz10aGlzLmNlbGxzW25dLmxlbmd0aDt2YXIgYT1uZXcgSW50MzJBcnJheShlK3IrdGhpcy5rZXlzLmxlbmd0aCt0aGlzLmJib3hlcy5sZW5ndGgpO2FbMF09dGhpcy5leHRlbnQsYVsxXT10aGlzLm4sYVsyXT10aGlzLnBhZGRpbmc7Zm9yKHZhciBpPWUsbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10W29dO2FbdW4rb109aSxhLnNldChzLGkpLGkrPXMubGVuZ3RofXJldHVybiBhW3VuK3QubGVuZ3RoXT1pLGEuc2V0KHRoaXMua2V5cyxpKSxpKz10aGlzLmtleXMubGVuZ3RoLGFbdW4rdC5sZW5ndGgrMV09aSxhLnNldCh0aGlzLmJib3hlcyxpKSxpKz10aGlzLmJib3hlcy5sZW5ndGgsYS5idWZmZXJ9O3ZhciBmbj1zZWxmLkltYWdlRGF0YSxwbj17fTtmdW5jdGlvbiBkbih0LGUscil7dm9pZCAwPT09ciYmKHI9e30pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfY2xhc3NSZWdpc3RyeUtleSIse3ZhbHVlOnQsd3JpdGVhYmxlOiExfSkscG5bdF09e2tsYXNzOmUsb21pdDpyLm9taXR8fFtdLHNoYWxsb3c6ci5zaGFsbG93fHxbXX19Zm9yKHZhciBnbiBpbiBkbigiT2JqZWN0IixPYmplY3QpLGNuLnNlcmlhbGl6ZT1mdW5jdGlvbih0LGUpe3ZhciByPXQudG9BcnJheUJ1ZmZlcigpO3JldHVybiBlJiZlLnB1c2gocikse2J1ZmZlcjpyfX0sY24uZGVzZXJpYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBjbih0LmJ1ZmZlcil9LGRuKCJHcmlkIixjbiksZG4oIkNvbG9yIixXdCksZG4oIkVycm9yIixFcnJvciksZG4oIlN0eWxlUHJvcGVydHlGdW5jdGlvbiIsU3IpLGRuKCJTdHlsZUV4cHJlc3Npb24iLF9yLHtvbWl0OlsiX2V2YWx1YXRvciJdfSksZG4oIlpvb21EZXBlbmRlbnRFeHByZXNzaW9uIixNciksZG4oIlpvb21Db25zdGFudEV4cHJlc3Npb24iLFRyKSxkbigiQ29tcG91bmRFeHByZXNzaW9uIixjZSx7b21pdDpbIl9ldmFsdWF0ZSJdfSksbnIpbnJbZ25dLl9jbGFzc1JlZ2lzdHJ5S2V5fHxkbigiRXhwcmVzc2lvbl8iK2duLG5yW2duXSk7ZnVuY3Rpb24gdm4odCxlKXtpZihudWxsPT10fHwiYm9vbGVhbiI9PXR5cGVvZiB0fHwibnVtYmVyIj09dHlwZW9mIHR8fCJzdHJpbmciPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIEJvb2xlYW58fHQgaW5zdGFuY2VvZiBOdW1iZXJ8fHQgaW5zdGFuY2VvZiBTdHJpbmd8fHQgaW5zdGFuY2VvZiBEYXRlfHx0IGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiB0O2lmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gZSYmZS5wdXNoKHQpLHQ7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpKXt2YXIgcj10O3JldHVybiBlJiZlLnB1c2goci5idWZmZXIpLHJ9aWYodCBpbnN0YW5jZW9mIGZuKXJldHVybiBlJiZlLnB1c2godC5kYXRhLmJ1ZmZlciksdDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIG49W10sYT0wLGk9dDthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV07bi5wdXNoKHZuKG8sZSkpfXJldHVybiBufWlmKCJvYmplY3QiPT10eXBlb2YgdCl7dmFyIHM9dC5jb25zdHJ1Y3RvcixsPXMuX2NsYXNzUmVnaXN0cnlLZXk7aWYoIWwpdGhyb3cgbmV3IEVycm9yKCJjYW4ndCBzZXJpYWxpemUgb2JqZWN0IG9mIHVucmVnaXN0ZXJlZCBjbGFzcyIpO3ZhciBjPXMuc2VyaWFsaXplP3Muc2VyaWFsaXplKHQsZSk6e307aWYoIXMuc2VyaWFsaXplKXtmb3IodmFyIHUgaW4gdClpZih0Lmhhc093blByb3BlcnR5KHUpJiYhKHBuW2xdLm9taXQuaW5kZXhPZih1KT49MCkpe3ZhciBoPXRbdV07Y1t1XT1wbltsXS5zaGFsbG93LmluZGV4T2YodSk+PTA/aDp2bihoLGUpfXQgaW5zdGFuY2VvZiBFcnJvciYmKGMubWVzc2FnZT10Lm1lc3NhZ2UpfWlmKGMuJG5hbWUpdGhyb3cgbmV3IEVycm9yKCIkbmFtZSBwcm9wZXJ0eSBpcyByZXNlcnZlZCBmb3Igd29ya2VyIHNlcmlhbGl6YXRpb24gbG9naWMuIik7cmV0dXJuIk9iamVjdCIhPT1sJiYoYy4kbmFtZT1sKSxjfXRocm93IG5ldyBFcnJvcigiY2FuJ3Qgc2VyaWFsaXplIG9iamVjdCBvZiB0eXBlICIrdHlwZW9mIHQpfWZ1bmN0aW9uIG1uKHQpe2lmKG51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgQm9vbGVhbnx8dCBpbnN0YW5jZW9mIE51bWJlcnx8dCBpbnN0YW5jZW9mIFN0cmluZ3x8dCBpbnN0YW5jZW9mIERhdGV8fHQgaW5zdGFuY2VvZiBSZWdFeHB8fHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8QXJyYXlCdWZmZXIuaXNWaWV3KHQpfHx0IGluc3RhbmNlb2YgZm4pcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAobW4pO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7dmFyIGU9dC4kbmFtZXx8Ik9iamVjdCIscj1wbltlXS5rbGFzcztpZighcil0aHJvdyBuZXcgRXJyb3IoImNhbid0IGRlc2VyaWFsaXplIHVucmVnaXN0ZXJlZCBjbGFzcyAiK2UpO2lmKHIuZGVzZXJpYWxpemUpcmV0dXJuIHIuZGVzZXJpYWxpemUodCk7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUoci5wcm90b3R5cGUpLGE9MCxpPU9iamVjdC5rZXlzKHQpO2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXTtpZigiJG5hbWUiIT09byl7dmFyIHM9dFtvXTtuW29dPXBuW2VdLnNoYWxsb3cuaW5kZXhPZihvKT49MD9zOm1uKHMpfX1yZXR1cm4gbn10aHJvdyBuZXcgRXJyb3IoImNhbid0IGRlc2VyaWFsaXplIG9iamVjdCBvZiB0eXBlICIrdHlwZW9mIHQpfXZhciB5bj1mdW5jdGlvbigpe3RoaXMuZmlyc3Q9ITB9O3luLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1NYXRoLmZsb29yKHQpO3JldHVybiB0aGlzLmZpcnN0Pyh0aGlzLmZpcnN0PSExLHRoaXMubGFzdEludGVnZXJab29tPXIsdGhpcy5sYXN0SW50ZWdlclpvb21UaW1lPTAsdGhpcy5sYXN0Wm9vbT10LHRoaXMubGFzdEZsb29yWm9vbT1yLCEwKToodGhpcy5sYXN0Rmxvb3Jab29tPnI/KHRoaXMubGFzdEludGVnZXJab29tPXIrMSx0aGlzLmxhc3RJbnRlZ2VyWm9vbVRpbWU9ZSk6dGhpcy5sYXN0Rmxvb3Jab29tPHImJih0aGlzLmxhc3RJbnRlZ2VyWm9vbT1yLHRoaXMubGFzdEludGVnZXJab29tVGltZT1lKSx0IT09dGhpcy5sYXN0Wm9vbSYmKHRoaXMubGFzdFpvb209dCx0aGlzLmxhc3RGbG9vclpvb209ciwhMCkpfTt2YXIgeG49eyJMYXRpbi0xIFN1cHBsZW1lbnQiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjgmJnQ8PTI1NX0sQXJhYmljOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xNTM2JiZ0PD0xNzkxfSwiQXJhYmljIFN1cHBsZW1lbnQiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xODcyJiZ0PD0xOTE5fSwiQXJhYmljIEV4dGVuZGVkLUEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0yMjA4JiZ0PD0yMzAzfSwiSGFuZ3VsIEphbW8iOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj00MzUyJiZ0PD00NjA3fSwiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTUxMjAmJnQ8PTU3NTl9LEtobWVyOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02MDE2JiZ0PD02MTQzfSwiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyBFeHRlbmRlZCI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTYzMjAmJnQ8PTYzOTl9LCJHZW5lcmFsIFB1bmN0dWF0aW9uIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49ODE5MiYmdDw9ODMwM30sIkxldHRlcmxpa2UgU3ltYm9scyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTg0NDgmJnQ8PTg1Mjd9LCJOdW1iZXIgRm9ybXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj04NTI4JiZ0PD04NTkxfSwiTWlzY2VsbGFuZW91cyBUZWNobmljYWwiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj04OTYwJiZ0PD05MjE1fSwiQ29udHJvbCBQaWN0dXJlcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTkyMTYmJnQ8PTkyNzl9LCJPcHRpY2FsIENoYXJhY3RlciBSZWNvZ25pdGlvbiI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTkyODAmJnQ8PTkzMTF9LCJFbmNsb3NlZCBBbHBoYW51bWVyaWNzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49OTMxMiYmdDw9OTQ3MX0sIkdlb21ldHJpYyBTaGFwZXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj05NjMyJiZ0PD05NzI3fSwiTWlzY2VsbGFuZW91cyBTeW1ib2xzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49OTcyOCYmdDw9OTk4M30sIk1pc2NlbGxhbmVvdXMgU3ltYm9scyBhbmQgQXJyb3dzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTEwMDgmJnQ8PTExMjYzfSwiQ0pLIFJhZGljYWxzIFN1cHBsZW1lbnQiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMTkwNCYmdDw9MTIwMzF9LCJLYW5neGkgUmFkaWNhbHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjAzMiYmdDw9MTIyNTV9LCJJZGVvZ3JhcGhpYyBEZXNjcmlwdGlvbiBDaGFyYWN0ZXJzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTIyNzImJnQ8PTEyMjg3fSwiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTIyODgmJnQ8PTEyMzUxfSxIaXJhZ2FuYTpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTIzNTImJnQ8PTEyNDQ3fSxLYXRha2FuYTpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTI0NDgmJnQ8PTEyNTQzfSxCb3BvbW9mbzpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTI1NDQmJnQ8PTEyNTkxfSwiSGFuZ3VsIENvbXBhdGliaWxpdHkgSmFtbyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEyNTkyJiZ0PD0xMjY4N30sS2FuYnVuOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjY4OCYmdDw9MTI3MDN9LCJCb3BvbW9mbyBFeHRlbmRlZCI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEyNzA0JiZ0PD0xMjczNX0sIkNKSyBTdHJva2VzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTI3MzYmJnQ8PTEyNzgzfSwiS2F0YWthbmEgUGhvbmV0aWMgRXh0ZW5zaW9ucyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEyNzg0JiZ0PD0xMjc5OX0sIkVuY2xvc2VkIENKSyBMZXR0ZXJzIGFuZCBNb250aHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjgwMCYmdDw9MTMwNTV9LCJDSksgQ29tcGF0aWJpbGl0eSI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEzMDU2JiZ0PD0xMzMxMX0sIkNKSyBVbmlmaWVkIElkZW9ncmFwaHMgRXh0ZW5zaW9uIEEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMzMxMiYmdDw9MTk5MDN9LCJZaWppbmcgSGV4YWdyYW0gU3ltYm9scyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTE5OTA0JiZ0PD0xOTk2N30sIkNKSyBVbmlmaWVkIElkZW9ncmFwaHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xOTk2OCYmdDw9NDA5NTl9LCJZaSBTeWxsYWJsZXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj00MDk2MCYmdDw9NDIxMjd9LCJZaSBSYWRpY2FscyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTQyMTI4JiZ0PD00MjE5MX0sIkhhbmd1bCBKYW1vIEV4dGVuZGVkLUEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj00MzM2MCYmdDw9NDMzOTF9LCJIYW5ndWwgU3lsbGFibGVzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49NDQwMzImJnQ8PTU1MjE1fSwiSGFuZ3VsIEphbW8gRXh0ZW5kZWQtQiI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTU1MjE2JiZ0PD01NTI5NX0sIlByaXZhdGUgVXNlIEFyZWEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj01NzM0NCYmdDw9NjM3NDN9LCJDSksgQ29tcGF0aWJpbGl0eSBJZGVvZ3JhcGhzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49NjM3NDQmJnQ8PTY0MjU1fSwiQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1BIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49NjQzMzYmJnQ8PTY1MDIzfSwiVmVydGljYWwgRm9ybXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02NTA0MCYmdDw9NjUwNTV9LCJDSksgQ29tcGF0aWJpbGl0eSBGb3JtcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTY1MDcyJiZ0PD02NTEwM30sIlNtYWxsIEZvcm0gVmFyaWFudHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02NTEwNCYmdDw9NjUxMzV9LCJBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUIiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02NTEzNiYmdDw9NjUyNzl9LCJIYWxmd2lkdGggYW5kIEZ1bGx3aWR0aCBGb3JtcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTY1MjgwJiZ0PD02NTUxOX19O2Z1bmN0aW9uIGJuKHQpe2Zvcih2YXIgZT0wLHI9dDtlPHIubGVuZ3RoO2UrPTEpaWYod24ocltlXS5jaGFyQ29kZUF0KDApKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBfbih0KXtyZXR1cm4hKHhuLkFyYWJpYyh0KXx8eG5bIkFyYWJpYyBTdXBwbGVtZW50Il0odCl8fHhuWyJBcmFiaWMgRXh0ZW5kZWQtQSJdKHQpfHx4blsiQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1BIl0odCl8fHhuWyJBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUIiXSh0KSl9ZnVuY3Rpb24gd24odCl7cmV0dXJuISEoNzQ2PT09dHx8NzQ3PT09dHx8ISh0PDQzNTIpJiYoeG5bIkJvcG9tb2ZvIEV4dGVuZGVkIl0odCl8fHhuLkJvcG9tb2ZvKHQpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgRm9ybXMiXSh0KSYmISh0Pj02NTA5NyYmdDw9NjUxMDMpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBocyJdKHQpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkiXSh0KXx8eG5bIkNKSyBSYWRpY2FscyBTdXBwbGVtZW50Il0odCl8fHhuWyJDSksgU3Ryb2tlcyJdKHQpfHwhKCF4blsiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIl0odCl8fHQ+PTEyMjk2JiZ0PD0xMjMwNXx8dD49MTIzMDgmJnQ8PTEyMzE5fHwxMjMzNj09PXQpfHx4blsiQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyBFeHRlbnNpb24gQSJdKHQpfHx4blsiQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyJdKHQpfHx4blsiRW5jbG9zZWQgQ0pLIExldHRlcnMgYW5kIE1vbnRocyJdKHQpfHx4blsiSGFuZ3VsIENvbXBhdGliaWxpdHkgSmFtbyJdKHQpfHx4blsiSGFuZ3VsIEphbW8gRXh0ZW5kZWQtQSJdKHQpfHx4blsiSGFuZ3VsIEphbW8gRXh0ZW5kZWQtQiJdKHQpfHx4blsiSGFuZ3VsIEphbW8iXSh0KXx8eG5bIkhhbmd1bCBTeWxsYWJsZXMiXSh0KXx8eG4uSGlyYWdhbmEodCl8fHhuWyJJZGVvZ3JhcGhpYyBEZXNjcmlwdGlvbiBDaGFyYWN0ZXJzIl0odCl8fHhuLkthbmJ1bih0KXx8eG5bIkthbmd4aSBSYWRpY2FscyJdKHQpfHx4blsiS2F0YWthbmEgUGhvbmV0aWMgRXh0ZW5zaW9ucyJdKHQpfHx4bi5LYXRha2FuYSh0KSYmMTI1NDAhPT10fHwhKCF4blsiSGFsZndpZHRoIGFuZCBGdWxsd2lkdGggRm9ybXMiXSh0KXx8NjUyODg9PT10fHw2NTI4OT09PXR8fDY1MjkzPT09dHx8dD49NjUzMDYmJnQ8PTY1MzEwfHw2NTMzOT09PXR8fDY1MzQxPT09dHx8NjUzNDM9PT10fHx0Pj02NTM3MSYmdDw9NjU1MDN8fDY1NTA3PT09dHx8dD49NjU1MTImJnQ8PTY1NTE5KXx8ISgheG5bIlNtYWxsIEZvcm0gVmFyaWFudHMiXSh0KXx8dD49NjUxMTImJnQ8PTY1MTE4fHx0Pj02NTEyMyYmdDw9NjUxMjYpfHx4blsiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyJdKHQpfHx4blsiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyBFeHRlbmRlZCJdKHQpfHx4blsiVmVydGljYWwgRm9ybXMiXSh0KXx8eG5bIllpamluZyBIZXhhZ3JhbSBTeW1ib2xzIl0odCl8fHhuWyJZaSBTeWxsYWJsZXMiXSh0KXx8eG5bIllpIFJhZGljYWxzIl0odCkpKX1mdW5jdGlvbiBrbih0KXtyZXR1cm4hKHduKHQpfHxmdW5jdGlvbih0KXtyZXR1cm4hISh4blsiTGF0aW4tMSBTdXBwbGVtZW50Il0odCkmJigxNjc9PT10fHwxNjk9PT10fHwxNzQ9PT10fHwxNzc9PT10fHwxODg9PT10fHwxODk9PT10fHwxOTA9PT10fHwyMTU9PT10fHwyNDc9PT10KXx8eG5bIkdlbmVyYWwgUHVuY3R1YXRpb24iXSh0KSYmKDgyMTQ9PT10fHw4MjI0PT09dHx8ODIyNT09PXR8fDgyNDA9PT10fHw4MjQxPT09dHx8ODI1MT09PXR8fDgyNTI9PT10fHw4MjU4PT09dHx8ODI2Mz09PXR8fDgyNjQ9PT10fHw4MjY1PT09dHx8ODI3Mz09PXQpfHx4blsiTGV0dGVybGlrZSBTeW1ib2xzIl0odCl8fHhuWyJOdW1iZXIgRm9ybXMiXSh0KXx8eG5bIk1pc2NlbGxhbmVvdXMgVGVjaG5pY2FsIl0odCkmJih0Pj04OTYwJiZ0PD04OTY3fHx0Pj04OTcyJiZ0PD04OTkxfHx0Pj04OTk2JiZ0PD05ZTN8fDkwMDM9PT10fHx0Pj05MDg1JiZ0PD05MTE0fHx0Pj05MTUwJiZ0PD05MTY1fHw5MTY3PT09dHx8dD49OTE2OSYmdDw9OTE3OXx8dD49OTE4NiYmdDw9OTIxNSl8fHhuWyJDb250cm9sIFBpY3R1cmVzIl0odCkmJjkyNTEhPT10fHx4blsiT3B0aWNhbCBDaGFyYWN0ZXIgUmVjb2duaXRpb24iXSh0KXx8eG5bIkVuY2xvc2VkIEFscGhhbnVtZXJpY3MiXSh0KXx8eG5bIkdlb21ldHJpYyBTaGFwZXMiXSh0KXx8eG5bIk1pc2NlbGxhbmVvdXMgU3ltYm9scyJdKHQpJiYhKHQ+PTk3NTQmJnQ8PTk3NTkpfHx4blsiTWlzY2VsbGFuZW91cyBTeW1ib2xzIGFuZCBBcnJvd3MiXSh0KSYmKHQ+PTExMDI2JiZ0PD0xMTA1NXx8dD49MTEwODgmJnQ8PTExMDk3fHx0Pj0xMTE5MiYmdDw9MTEyNDMpfHx4blsiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIl0odCl8fHhuLkthdGFrYW5hKHQpfHx4blsiUHJpdmF0ZSBVc2UgQXJlYSJdKHQpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgRm9ybXMiXSh0KXx8eG5bIlNtYWxsIEZvcm0gVmFyaWFudHMiXSh0KXx8eG5bIkhhbGZ3aWR0aCBhbmQgRnVsbHdpZHRoIEZvcm1zIl0odCl8fDg3MzQ9PT10fHw4NzU2PT09dHx8ODc1Nz09PXR8fHQ+PTk5ODQmJnQ8PTEwMDg3fHx0Pj0xMDEwMiYmdDw9MTAxMzF8fDY1NTMyPT09dHx8NjU1MzM9PT10KX0odCkpfWZ1bmN0aW9uIFRuKHQsZSl7cmV0dXJuISghZSYmKHQ+PTE0MjQmJnQ8PTIzMDN8fHhuWyJBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUEiXSh0KXx8eG5bIkFyYWJpYyBQcmVzZW50YXRpb24gRm9ybXMtQiJdKHQpKXx8dD49MjMwNCYmdDw9MzU4M3x8dD49Mzg0MCYmdDw9NDI1NXx8eG4uS2htZXIodCkpfXZhciBNbixBbj0hMSxTbj1udWxsLEVuPSExLExuPW5ldyBrdCxDbj17YXBwbHlBcmFiaWNTaGFwaW5nOm51bGwscHJvY2Vzc0JpZGlyZWN0aW9uYWxUZXh0Om51bGwscHJvY2Vzc1N0eWxlZEJpZGlyZWN0aW9uYWxUZXh0Om51bGwsaXNMb2FkZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gRW58fG51bGwhPUNuLmFwcGx5QXJhYmljU2hhcGluZ319LFBuPWZ1bmN0aW9uKHQsZSl7dGhpcy56b29tPXQsZT8odGhpcy5ub3c9ZS5ub3csdGhpcy5mYWRlRHVyYXRpb249ZS5mYWRlRHVyYXRpb24sdGhpcy56b29tSGlzdG9yeT1lLnpvb21IaXN0b3J5LHRoaXMudHJhbnNpdGlvbj1lLnRyYW5zaXRpb24pOih0aGlzLm5vdz0wLHRoaXMuZmFkZUR1cmF0aW9uPTAsdGhpcy56b29tSGlzdG9yeT1uZXcgeW4sdGhpcy50cmFuc2l0aW9uPXt9KX07UG4ucHJvdG90eXBlLmlzU3VwcG9ydGVkU2NyaXB0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49dDtyPG4ubGVuZ3RoO3IrPTEpaWYoIVRuKG5bcl0uY2hhckNvZGVBdCgwKSxlKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxDbi5pc0xvYWRlZCgpKX0sUG4ucHJvdG90eXBlLmNyb3NzRmFkaW5nRmFjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLmZhZGVEdXJhdGlvbj8xOk1hdGgubWluKCh0aGlzLm5vdy10aGlzLnpvb21IaXN0b3J5Lmxhc3RJbnRlZ2VyWm9vbVRpbWUpL3RoaXMuZmFkZUR1cmF0aW9uLDEpfSxQbi5wcm90b3R5cGUuZ2V0Q3Jvc3NmYWRlUGFyYW1ldGVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuem9vbSxlPXQtTWF0aC5mbG9vcih0KSxyPXRoaXMuY3Jvc3NGYWRpbmdGYWN0b3IoKTtyZXR1cm4gdD50aGlzLnpvb21IaXN0b3J5Lmxhc3RJbnRlZ2VyWm9vbT97ZnJvbVNjYWxlOjIsdG9TY2FsZToxLHQ6ZSsoMS1lKSpyfTp7ZnJvbVNjYWxlOi41LHRvU2NhbGU6MSx0OjEtKDEtcikqZX19O3ZhciBPbj1mdW5jdGlvbih0LGUpe3RoaXMucHJvcGVydHk9dCx0aGlzLnZhbHVlPWUsdGhpcy5leHByZXNzaW9uPWZ1bmN0aW9uKHQsZSl7aWYoZHIodCkpcmV0dXJuIG5ldyBTcih0LGUpO2lmKHdyKHQpKXt2YXIgcj1Bcih0LGUpO2lmKCJlcnJvciI9PT1yLnJlc3VsdCl0aHJvdyBuZXcgRXJyb3Ioci52YWx1ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5KyI6ICIrdC5tZXNzYWdlfSkuam9pbigiLCAiKSk7cmV0dXJuIHIudmFsdWV9dmFyIG49dDtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJiJjb2xvciI9PT1lLnR5cGUmJihuPVd0LnBhcnNlKHQpKSx7a2luZDoiY29uc3RhbnQiLGV2YWx1YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIG59fX0odm9pZCAwPT09ZT90LnNwZWNpZmljYXRpb24uZGVmYXVsdDplLHQuc3BlY2lmaWNhdGlvbil9O09uLnByb3RvdHlwZS5pc0RhdGFEcml2ZW49ZnVuY3Rpb24oKXtyZXR1cm4ic291cmNlIj09PXRoaXMuZXhwcmVzc2lvbi5raW5kfHwiY29tcG9zaXRlIj09PXRoaXMuZXhwcmVzc2lvbi5raW5kfSxPbi5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wcm9wZXJ0eS5wb3NzaWJseUV2YWx1YXRlKHRoaXMsdCl9O3ZhciB6bj1mdW5jdGlvbih0KXt0aGlzLnByb3BlcnR5PXQsdGhpcy52YWx1ZT1uZXcgT24odCx2b2lkIDApfTt6bi5wcm90b3R5cGUudHJhbnNpdGlvbmVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBEbih0aGlzLnByb3BlcnR5LHRoaXMudmFsdWUsZSxoKHt9LHQudHJhbnNpdGlvbix0aGlzLnRyYW5zaXRpb24pLHQubm93KX0sem4ucHJvdG90eXBlLnVudHJhbnNpdGlvbmVkPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEbih0aGlzLnByb3BlcnR5LHRoaXMudmFsdWUsbnVsbCx7fSwwKX07dmFyIEluPWZ1bmN0aW9uKHQpe3RoaXMuX3Byb3BlcnRpZXM9dCx0aGlzLl92YWx1ZXM9T2JqZWN0LmNyZWF0ZSh0LmRlZmF1bHRUcmFuc2l0aW9uYWJsZVByb3BlcnR5VmFsdWVzKX07SW4ucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBiKHRoaXMuX3ZhbHVlc1t0XS52YWx1ZS52YWx1ZSl9LEluLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0LGUpe3RoaXMuX3ZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KXx8KHRoaXMuX3ZhbHVlc1t0XT1uZXcgem4odGhpcy5fdmFsdWVzW3RdLnByb3BlcnR5KSksdGhpcy5fdmFsdWVzW3RdLnZhbHVlPW5ldyBPbih0aGlzLl92YWx1ZXNbdF0ucHJvcGVydHksbnVsbD09PWU/dm9pZCAwOmIoZSkpfSxJbi5wcm90b3R5cGUuZ2V0VHJhbnNpdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYih0aGlzLl92YWx1ZXNbdF0udHJhbnNpdGlvbil9LEluLnByb3RvdHlwZS5zZXRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmFsdWVzLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5fdmFsdWVzW3RdPW5ldyB6bih0aGlzLl92YWx1ZXNbdF0ucHJvcGVydHkpKSx0aGlzLl92YWx1ZXNbdF0udHJhbnNpdGlvbj1iKGUpfHx2b2lkIDB9LEluLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9e30sZT0wLHI9T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV0sYT10aGlzLmdldFZhbHVlKG4pO3ZvaWQgMCE9PWEmJih0W25dPWEpO3ZhciBpPXRoaXMuZ2V0VHJhbnNpdGlvbihuKTt2b2lkIDAhPT1pJiYodFtuKyItdHJhbnNpdGlvbiJdPWkpfXJldHVybiB0fSxJbi5wcm90b3R5cGUudHJhbnNpdGlvbmVkPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBSbih0aGlzLl9wcm9wZXJ0aWVzKSxuPTAsYT1PYmplY3Qua2V5cyh0aGlzLl92YWx1ZXMpO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXTtyLl92YWx1ZXNbaV09dGhpcy5fdmFsdWVzW2ldLnRyYW5zaXRpb25lZCh0LGUuX3ZhbHVlc1tpXSl9cmV0dXJuIHJ9LEluLnByb3RvdHlwZS51bnRyYW5zaXRpb25lZD1mdW5jdGlvbigpe2Zvcih2YXIgdD1uZXcgUm4odGhpcy5fcHJvcGVydGllcyksZT0wLHI9T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV07dC5fdmFsdWVzW25dPXRoaXMuX3ZhbHVlc1tuXS51bnRyYW5zaXRpb25lZCgpfXJldHVybiB0fTt2YXIgRG49ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLnByb3BlcnR5PXQsdGhpcy52YWx1ZT1lLHRoaXMuYmVnaW49YStuLmRlbGF5fHwwLHRoaXMuZW5kPXRoaXMuYmVnaW4rbi5kdXJhdGlvbnx8MCx0LnNwZWNpZmljYXRpb24udHJhbnNpdGlvbiYmKG4uZGVsYXl8fG4uZHVyYXRpb24pJiYodGhpcy5wcmlvcj1yKX07RG4ucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dC5ub3d8fDAscj10aGlzLnZhbHVlLnBvc3NpYmx5RXZhbHVhdGUodCksbj10aGlzLnByaW9yO2lmKG4pe2lmKGU+dGhpcy5lbmQpcmV0dXJuIHRoaXMucHJpb3I9bnVsbCxyO2lmKHRoaXMudmFsdWUuaXNEYXRhRHJpdmVuKCkpcmV0dXJuIHRoaXMucHJpb3I9bnVsbCxyO2lmKGU8dGhpcy5iZWdpbilyZXR1cm4gbi5wb3NzaWJseUV2YWx1YXRlKHQpO3ZhciBhPShlLXRoaXMuYmVnaW4pLyh0aGlzLmVuZC10aGlzLmJlZ2luKTtyZXR1cm4gdGhpcy5wcm9wZXJ0eS5pbnRlcnBvbGF0ZShuLnBvc3NpYmx5RXZhbHVhdGUodCkscixmdW5jdGlvbih0KXtpZihhPD0wKXJldHVybiAwO2lmKGE+PTEpcmV0dXJuIDE7dmFyIGU9YSphLHI9ZSphO3JldHVybiA0KihhPC41P3I6MyooYS1lKStyLS43NSl9KCkpfXJldHVybiByfTt2YXIgUm49ZnVuY3Rpb24odCl7dGhpcy5fcHJvcGVydGllcz10LHRoaXMuX3ZhbHVlcz1PYmplY3QuY3JlYXRlKHQuZGVmYXVsdFRyYW5zaXRpb25pbmdQcm9wZXJ0eVZhbHVlcyl9O1JuLnByb3RvdHlwZS5wb3NzaWJseUV2YWx1YXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgTm4odGhpcy5fcHJvcGVydGllcykscj0wLG49T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07ZS5fdmFsdWVzW2FdPXRoaXMuX3ZhbHVlc1thXS5wb3NzaWJseUV2YWx1YXRlKHQpfXJldHVybiBlfSxSbi5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTt0PGUubGVuZ3RoO3QrPTEpe3ZhciByPWVbdF07aWYodGhpcy5fdmFsdWVzW3JdLnByaW9yKXJldHVybiEwfXJldHVybiExfTt2YXIgRm49ZnVuY3Rpb24odCl7dGhpcy5fcHJvcGVydGllcz10LHRoaXMuX3ZhbHVlcz1PYmplY3QuY3JlYXRlKHQuZGVmYXVsdFByb3BlcnR5VmFsdWVzKX07Rm4ucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBiKHRoaXMuX3ZhbHVlc1t0XS52YWx1ZSl9LEZuLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0LGUpe3RoaXMuX3ZhbHVlc1t0XT1uZXcgT24odGhpcy5fdmFsdWVzW3RdLnByb3BlcnR5LG51bGw9PT1lP3ZvaWQgMDpiKGUpKX0sRm4ucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD17fSxlPTAscj1PYmplY3Qua2V5cyh0aGlzLl92YWx1ZXMpO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXSxhPXRoaXMuZ2V0VmFsdWUobik7dm9pZCAwIT09YSYmKHRbbl09YSl9cmV0dXJuIHR9LEZuLnByb3RvdHlwZS5wb3NzaWJseUV2YWx1YXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgTm4odGhpcy5fcHJvcGVydGllcykscj0wLG49T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07ZS5fdmFsdWVzW2FdPXRoaXMuX3ZhbHVlc1thXS5wb3NzaWJseUV2YWx1YXRlKHQpfXJldHVybiBlfTt2YXIgQm49ZnVuY3Rpb24odCxlLHIpe3RoaXMucHJvcGVydHk9dCx0aGlzLnZhbHVlPWUsdGhpcy5wYXJhbWV0ZXJzPXJ9O0JuLnByb3RvdHlwZS5pc0NvbnN0YW50PWZ1bmN0aW9uKCl7cmV0dXJuImNvbnN0YW50Ij09PXRoaXMudmFsdWUua2luZH0sQm4ucHJvdG90eXBlLmNvbnN0YW50T3I9ZnVuY3Rpb24odCl7cmV0dXJuImNvbnN0YW50Ij09PXRoaXMudmFsdWUua2luZD90aGlzLnZhbHVlLnZhbHVlOnR9LEJuLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnByb3BlcnR5LmV2YWx1YXRlKHRoaXMudmFsdWUsdGhpcy5wYXJhbWV0ZXJzLHQsZSl9O3ZhciBObj1mdW5jdGlvbih0KXt0aGlzLl9wcm9wZXJ0aWVzPXQsdGhpcy5fdmFsdWVzPU9iamVjdC5jcmVhdGUodC5kZWZhdWx0UG9zc2libHlFdmFsdWF0ZWRWYWx1ZXMpfTtObi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWx1ZXNbdF19O3ZhciBqbj1mdW5jdGlvbih0KXt0aGlzLnNwZWNpZmljYXRpb249dH07am4ucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5leHByZXNzaW9uLmV2YWx1YXRlKGUpfSxqbi5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXhlW3RoaXMuc3BlY2lmaWNhdGlvbi50eXBlXTtyZXR1cm4gbj9uKHQsZSxyKTp0fTt2YXIgVm49ZnVuY3Rpb24odCxlKXt0aGlzLnNwZWNpZmljYXRpb249dCx0aGlzLm92ZXJyaWRlcz1lfTtWbi5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiJjb25zdGFudCI9PT10LmV4cHJlc3Npb24ua2luZHx8ImNhbWVyYSI9PT10LmV4cHJlc3Npb24ua2luZD9uZXcgQm4odGhpcyx7a2luZDoiY29uc3RhbnQiLHZhbHVlOnQuZXhwcmVzc2lvbi5ldmFsdWF0ZShlKX0sZSk6bmV3IEJuKHRoaXMsdC5leHByZXNzaW9uLGUpfSxWbi5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCJjb25zdGFudCIhPT10LnZhbHVlLmtpbmR8fCJjb25zdGFudCIhPT1lLnZhbHVlLmtpbmQpcmV0dXJuIHQ7aWYodm9pZCAwPT09dC52YWx1ZS52YWx1ZXx8dm9pZCAwPT09ZS52YWx1ZS52YWx1ZSlyZXR1cm4gbmV3IEJuKHRoaXMse2tpbmQ6ImNvbnN0YW50Iix2YWx1ZTp2b2lkIDB9LHQucGFyYW1ldGVycyk7dmFyIG49eGVbdGhpcy5zcGVjaWZpY2F0aW9uLnR5cGVdO3JldHVybiBuP25ldyBCbih0aGlzLHtraW5kOiJjb25zdGFudCIsdmFsdWU6bih0LnZhbHVlLnZhbHVlLGUudmFsdWUudmFsdWUscil9LHQucGFyYW1ldGVycyk6dH0sVm4ucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiJjb25zdGFudCI9PT10LmtpbmQ/dC52YWx1ZTp0LmV2YWx1YXRlKGUscixuKX07dmFyIFVuPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PXQudmFsdWUpcmV0dXJuIG5ldyBCbih0aGlzLHtraW5kOiJjb25zdGFudCIsdmFsdWU6dm9pZCAwfSxlKTtpZigiY29uc3RhbnQiPT09dC5leHByZXNzaW9uLmtpbmQpe3ZhciByPXQuZXhwcmVzc2lvbi5ldmFsdWF0ZShlKSxuPXRoaXMuX2NhbGN1bGF0ZShyLHIscixlKTtyZXR1cm4gbmV3IEJuKHRoaXMse2tpbmQ6ImNvbnN0YW50Iix2YWx1ZTpufSxlKX1pZigiY2FtZXJhIj09PXQuZXhwcmVzc2lvbi5raW5kKXt2YXIgYT10aGlzLl9jYWxjdWxhdGUodC5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOmUuem9vbS0xfSksdC5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOmUuem9vbX0pLHQuZXhwcmVzc2lvbi5ldmFsdWF0ZSh7em9vbTplLnpvb20rMX0pLGUpO3JldHVybiBuZXcgQm4odGhpcyx7a2luZDoiY29uc3RhbnQiLHZhbHVlOmF9LGUpfXJldHVybiBuZXcgQm4odGhpcyx0LmV4cHJlc3Npb24sZSl9LGUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKCJzb3VyY2UiPT09dC5raW5kKXt2YXIgYT10LmV2YWx1YXRlKGUscixuKTtyZXR1cm4gdGhpcy5fY2FsY3VsYXRlKGEsYSxhLGUpfXJldHVybiJjb21wb3NpdGUiPT09dC5raW5kP3RoaXMuX2NhbGN1bGF0ZSh0LmV2YWx1YXRlKHt6b29tOk1hdGguZmxvb3IoZS56b29tKS0xfSxyLG4pLHQuZXZhbHVhdGUoe3pvb206TWF0aC5mbG9vcihlLnpvb20pfSxyLG4pLHQuZXZhbHVhdGUoe3pvb206TWF0aC5mbG9vcihlLnpvb20pKzF9LHIsbiksZSk6dC52YWx1ZX0sZS5wcm90b3R5cGUuX2NhbGN1bGF0ZT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbi56b29tPm4uem9vbUhpc3RvcnkubGFzdEludGVnZXJab29tP3tmcm9tOnQsdG86ZX06e2Zyb206cix0bzplfX0sZS5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGV9KFZuKSxxbj1mdW5jdGlvbih0KXt0aGlzLnNwZWNpZmljYXRpb249dH07cW4ucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24odCxlKXtpZih2b2lkIDAhPT10LnZhbHVlKXtpZigiY29uc3RhbnQiPT09dC5leHByZXNzaW9uLmtpbmQpe3ZhciByPXQuZXhwcmVzc2lvbi5ldmFsdWF0ZShlKTtyZXR1cm4gdGhpcy5fY2FsY3VsYXRlKHIscixyLGUpfXJldHVybiB0aGlzLl9jYWxjdWxhdGUodC5leHByZXNzaW9uLmV2YWx1YXRlKG5ldyBQbihNYXRoLmZsb29yKGUuem9vbS0xKSxlKSksdC5leHByZXNzaW9uLmV2YWx1YXRlKG5ldyBQbihNYXRoLmZsb29yKGUuem9vbSksZSkpLHQuZXhwcmVzc2lvbi5ldmFsdWF0ZShuZXcgUG4oTWF0aC5mbG9vcihlLnpvb20rMSksZSkpLGUpfX0scW4ucHJvdG90eXBlLl9jYWxjdWxhdGU9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIG4uem9vbT5uLnpvb21IaXN0b3J5Lmxhc3RJbnRlZ2VyWm9vbT97ZnJvbTp0LHRvOmV9Ontmcm9tOnIsdG86ZX19LHFuLnByb3RvdHlwZS5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdH07dmFyIEhuPWZ1bmN0aW9uKHQpe3RoaXMuc3BlY2lmaWNhdGlvbj10fTtIbi5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiEhdC5leHByZXNzaW9uLmV2YWx1YXRlKGUpfSxIbi5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIEduPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLnByb3BlcnRpZXM9dCx0aGlzLmRlZmF1bHRQcm9wZXJ0eVZhbHVlcz17fSx0aGlzLmRlZmF1bHRUcmFuc2l0aW9uYWJsZVByb3BlcnR5VmFsdWVzPXt9LHRoaXMuZGVmYXVsdFRyYW5zaXRpb25pbmdQcm9wZXJ0eVZhbHVlcz17fSx0aGlzLmRlZmF1bHRQb3NzaWJseUV2YWx1YXRlZFZhbHVlcz17fSx0aGlzLm92ZXJyaWRhYmxlUHJvcGVydGllcz1bXSx0KXt2YXIgcj10W2VdO3Iuc3BlY2lmaWNhdGlvbi5vdmVycmlkYWJsZSYmdGhpcy5vdmVycmlkYWJsZVByb3BlcnRpZXMucHVzaChlKTt2YXIgbj10aGlzLmRlZmF1bHRQcm9wZXJ0eVZhbHVlc1tlXT1uZXcgT24ocix2b2lkIDApLGE9dGhpcy5kZWZhdWx0VHJhbnNpdGlvbmFibGVQcm9wZXJ0eVZhbHVlc1tlXT1uZXcgem4ocik7dGhpcy5kZWZhdWx0VHJhbnNpdGlvbmluZ1Byb3BlcnR5VmFsdWVzW2VdPWEudW50cmFuc2l0aW9uZWQoKSx0aGlzLmRlZmF1bHRQb3NzaWJseUV2YWx1YXRlZFZhbHVlc1tlXT1uLnBvc3NpYmx5RXZhbHVhdGUoe30pfX07ZG4oIkRhdGFEcml2ZW5Qcm9wZXJ0eSIsVm4pLGRuKCJEYXRhQ29uc3RhbnRQcm9wZXJ0eSIsam4pLGRuKCJDcm9zc0ZhZGVkRGF0YURyaXZlblByb3BlcnR5IixVbiksZG4oIkNyb3NzRmFkZWRQcm9wZXJ0eSIscW4pLGRuKCJDb2xvclJhbXBQcm9wZXJ0eSIsSG4pO3ZhciBZbj1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7aWYodC5jYWxsKHRoaXMpLHRoaXMuaWQ9ZS5pZCx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuX2ZlYXR1cmVGaWx0ZXI9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sImN1c3RvbSIhPT1lLnR5cGUmJihlPWUsdGhpcy5tZXRhZGF0YT1lLm1ldGFkYXRhLHRoaXMubWluem9vbT1lLm1pbnpvb20sdGhpcy5tYXh6b29tPWUubWF4em9vbSwiYmFja2dyb3VuZCIhPT1lLnR5cGUmJih0aGlzLnNvdXJjZT1lLnNvdXJjZSx0aGlzLnNvdXJjZUxheWVyPWVbInNvdXJjZS1sYXllciJdLHRoaXMuZmlsdGVyPWUuZmlsdGVyKSxyLmxheW91dCYmKHRoaXMuX3VuZXZhbHVhdGVkTGF5b3V0PW5ldyBGbihyLmxheW91dCkpLHIucGFpbnQpKXtmb3IodmFyIG4gaW4gdGhpcy5fdHJhbnNpdGlvbmFibGVQYWludD1uZXcgSW4oci5wYWludCksZS5wYWludCl0aGlzLnNldFBhaW50UHJvcGVydHkobixlLnBhaW50W25dLHt2YWxpZGF0ZTohMX0pO2Zvcih2YXIgYSBpbiBlLmxheW91dCl0aGlzLnNldExheW91dFByb3BlcnR5KGEsZS5sYXlvdXRbYV0se3ZhbGlkYXRlOiExfSk7dGhpcy5fdHJhbnNpdGlvbmluZ1BhaW50PXRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQudW50cmFuc2l0aW9uZWQoKX19cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldENyb3NzZmFkZVBhcmFtZXRlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY3Jvc3NmYWRlUGFyYW1ldGVyc30sZS5wcm90b3R5cGUuZ2V0TGF5b3V0UHJvcGVydHk9ZnVuY3Rpb24odCl7cmV0dXJuInZpc2liaWxpdHkiPT09dD90aGlzLnZpc2liaWxpdHk6dGhpcy5fdW5ldmFsdWF0ZWRMYXlvdXQuZ2V0VmFsdWUodCl9LGUucHJvdG90eXBlLnNldExheW91dFByb3BlcnR5PWZ1bmN0aW9uKHQsZSxyKXtpZih2b2lkIDA9PT1yJiYocj17fSksbnVsbCE9ZSl7dmFyIG49ImxheWVycy4iK3RoaXMuaWQrIi5sYXlvdXQuIit0O2lmKHRoaXMuX3ZhbGlkYXRlKHNuLG4sdCxlLHIpKXJldHVybn0idmlzaWJpbGl0eSIhPT10P3RoaXMuX3VuZXZhbHVhdGVkTGF5b3V0LnNldFZhbHVlKHQsZSk6dGhpcy52aXNpYmlsaXR5PWV9LGUucHJvdG90eXBlLmdldFBhaW50UHJvcGVydHk9ZnVuY3Rpb24odCl7cmV0dXJuIG0odCwiLXRyYW5zaXRpb24iKT90aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50LmdldFRyYW5zaXRpb24odC5zbGljZSgwLC0iLXRyYW5zaXRpb24iLmxlbmd0aCkpOnRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuZ2V0VmFsdWUodCl9LGUucHJvdG90eXBlLnNldFBhaW50UHJvcGVydHk9ZnVuY3Rpb24odCxlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSxudWxsIT1lKXt2YXIgbj0ibGF5ZXJzLiIrdGhpcy5pZCsiLnBhaW50LiIrdDtpZih0aGlzLl92YWxpZGF0ZShvbixuLHQsZSxyKSlyZXR1cm4hMX1pZihtKHQsIi10cmFuc2l0aW9uIikpcmV0dXJuIHRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuc2V0VHJhbnNpdGlvbih0LnNsaWNlKDAsLSItdHJhbnNpdGlvbiIubGVuZ3RoKSxlfHx2b2lkIDApLCExO3ZhciBhPXRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuX3ZhbHVlc1t0XSxpPSJjcm9zcy1mYWRlZC1kYXRhLWRyaXZlbiI9PT1hLnByb3BlcnR5LnNwZWNpZmljYXRpb25bInByb3BlcnR5LXR5cGUiXSxvPWEudmFsdWUuaXNEYXRhRHJpdmVuKCkscz1hLnZhbHVlO3RoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuc2V0VmFsdWUodCxlKSx0aGlzLl9oYW5kbGVTcGVjaWFsUGFpbnRQcm9wZXJ0eVVwZGF0ZSh0KTt2YXIgbD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50Ll92YWx1ZXNbdF0udmFsdWU7cmV0dXJuIGwuaXNEYXRhRHJpdmVuKCl8fG98fGl8fHRoaXMuX2hhbmRsZU92ZXJyaWRhYmxlUGFpbnRQcm9wZXJ0eVVwZGF0ZSh0LHMsbCl9LGUucHJvdG90eXBlLl9oYW5kbGVTcGVjaWFsUGFpbnRQcm9wZXJ0eVVwZGF0ZT1mdW5jdGlvbih0KXt9LGUucHJvdG90eXBlLl9oYW5kbGVPdmVycmlkYWJsZVBhaW50UHJvcGVydHlVcGRhdGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiExfSxlLnByb3RvdHlwZS5pc0hpZGRlbj1mdW5jdGlvbih0KXtyZXR1cm4hISh0aGlzLm1pbnpvb20mJnQ8dGhpcy5taW56b29tKXx8ISEodGhpcy5tYXh6b29tJiZ0Pj10aGlzLm1heHpvb20pfHwibm9uZSI9PT10aGlzLnZpc2liaWxpdHl9LGUucHJvdG90eXBlLnVwZGF0ZVRyYW5zaXRpb25zPWZ1bmN0aW9uKHQpe3RoaXMuX3RyYW5zaXRpb25pbmdQYWludD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50LnRyYW5zaXRpb25lZCh0LHRoaXMuX3RyYW5zaXRpb25pbmdQYWludCl9LGUucHJvdG90eXBlLmhhc1RyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdHJhbnNpdGlvbmluZ1BhaW50Lmhhc1RyYW5zaXRpb24oKX0sZS5wcm90b3R5cGUucmVjYWxjdWxhdGU9ZnVuY3Rpb24odCl7dC5nZXRDcm9zc2ZhZGVQYXJhbWV0ZXJzJiYodGhpcy5fY3Jvc3NmYWRlUGFyYW1ldGVycz10LmdldENyb3NzZmFkZVBhcmFtZXRlcnMoKSksdGhpcy5fdW5ldmFsdWF0ZWRMYXlvdXQmJih0aGlzLmxheW91dD10aGlzLl91bmV2YWx1YXRlZExheW91dC5wb3NzaWJseUV2YWx1YXRlKHQpKSx0aGlzLnBhaW50PXRoaXMuX3RyYW5zaXRpb25pbmdQYWludC5wb3NzaWJseUV2YWx1YXRlKHQpfSxlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD17aWQ6dGhpcy5pZCx0eXBlOnRoaXMudHlwZSxzb3VyY2U6dGhpcy5zb3VyY2UsInNvdXJjZS1sYXllciI6dGhpcy5zb3VyY2VMYXllcixtZXRhZGF0YTp0aGlzLm1ldGFkYXRhLG1pbnpvb206dGhpcy5taW56b29tLG1heHpvb206dGhpcy5tYXh6b29tLGZpbHRlcjp0aGlzLmZpbHRlcixsYXlvdXQ6dGhpcy5fdW5ldmFsdWF0ZWRMYXlvdXQmJnRoaXMuX3VuZXZhbHVhdGVkTGF5b3V0LnNlcmlhbGl6ZSgpLHBhaW50OnRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQmJnRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuc2VyaWFsaXplKCl9O3JldHVybiB0aGlzLnZpc2liaWxpdHkmJih0LmxheW91dD10LmxheW91dHx8e30sdC5sYXlvdXQudmlzaWJpbGl0eT10aGlzLnZpc2liaWxpdHkpLHgodCxmdW5jdGlvbih0LGUpe3JldHVybiEodm9pZCAwPT09dHx8ImxheW91dCI9PT1lJiYhT2JqZWN0LmtleXModCkubGVuZ3RofHwicGFpbnQiPT09ZSYmIU9iamVjdC5rZXlzKHQpLmxlbmd0aCl9KX0sZS5wcm90b3R5cGUuX3ZhbGlkYXRlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7cmV0dXJuIHZvaWQgMD09PWEmJihhPXt9KSwoIWF8fCExIT09YS52YWxpZGF0ZSkmJmxuKHRoaXMsdC5jYWxsKG5uLHtrZXk6ZSxsYXllclR5cGU6dGhpcy50eXBlLG9iamVjdEtleTpyLHZhbHVlOm4sc3R5bGVTcGVjOlR0LHN0eWxlOntnbHlwaHM6ITAsc3ByaXRlOiEwfX0pKX0sZS5wcm90b3R5cGUuaXMzRD1mdW5jdGlvbigpe3JldHVybiExfSxlLnByb3RvdHlwZS5pc1RpbGVDbGlwcGVkPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLmhhc09mZnNjcmVlblBhc3M9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7fSxlLnByb3RvdHlwZS5pc1N0YXRlRGVwZW5kZW50PWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMucGFpbnQuX3ZhbHVlcyl7dmFyIGU9dGhpcy5wYWludC5nZXQodCk7aWYoZSBpbnN0YW5jZW9mIEJuJiZ1cihlLnByb3BlcnR5LnNwZWNpZmljYXRpb24pJiYoInNvdXJjZSI9PT1lLnZhbHVlLmtpbmR8fCJjb21wb3NpdGUiPT09ZS52YWx1ZS5raW5kKSYmZS52YWx1ZS5pc1N0YXRlRGVwZW5kZW50KXJldHVybiEwfXJldHVybiExfSxlfShrdCksV249e0ludDg6SW50OEFycmF5LFVpbnQ4OlVpbnQ4QXJyYXksSW50MTY6SW50MTZBcnJheSxVaW50MTY6VWludDE2QXJyYXksSW50MzI6SW50MzJBcnJheSxVaW50MzI6VWludDMyQXJyYXksRmxvYXQzMjpGbG9hdDMyQXJyYXl9LFhuPWZ1bmN0aW9uKHQsZSl7dGhpcy5fc3RydWN0QXJyYXk9dCx0aGlzLl9wb3MxPWUqdGhpcy5zaXplLHRoaXMuX3BvczI9dGhpcy5fcG9zMS8yLHRoaXMuX3BvczQ9dGhpcy5fcG9zMS80LHRoaXMuX3Bvczg9dGhpcy5fcG9zMS84fSxabj1mdW5jdGlvbigpe3RoaXMuaXNUcmFuc2ZlcnJlZD0hMSx0aGlzLmNhcGFjaXR5PS0xLHRoaXMucmVzaXplKDApfTtmdW5jdGlvbiBKbih0LGUpe3ZvaWQgMD09PWUmJihlPTEpO3ZhciByPTAsbj0wO3JldHVybnttZW1iZXJzOnQubWFwKGZ1bmN0aW9uKHQpe3ZhciBhLGk9KGE9dC50eXBlLFduW2FdLkJZVEVTX1BFUl9FTEVNRU5UKSxvPXI9S24ocixNYXRoLm1heChlLGkpKSxzPXQuY29tcG9uZW50c3x8MTtyZXR1cm4gbj1NYXRoLm1heChuLGkpLHIrPWkqcyx7bmFtZTp0Lm5hbWUsdHlwZTp0LnR5cGUsY29tcG9uZW50czpzLG9mZnNldDpvfX0pLHNpemU6S24ocixNYXRoLm1heChuLGUpKSxhbGlnbm1lbnQ6ZX19ZnVuY3Rpb24gS24odCxlKXtyZXR1cm4gTWF0aC5jZWlsKHQvZSkqZX1abi5zZXJpYWxpemU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fdHJpbSgpLGUmJih0LmlzVHJhbnNmZXJyZWQ9ITAsZS5wdXNoKHQuYXJyYXlCdWZmZXIpKSx7bGVuZ3RoOnQubGVuZ3RoLGFycmF5QnVmZmVyOnQuYXJyYXlCdWZmZXJ9fSxabi5kZXNlcmlhbGl6ZT1mdW5jdGlvbih0KXt2YXIgZT1PYmplY3QuY3JlYXRlKHRoaXMucHJvdG90eXBlKTtyZXR1cm4gZS5hcnJheUJ1ZmZlcj10LmFycmF5QnVmZmVyLGUubGVuZ3RoPXQubGVuZ3RoLGUuY2FwYWNpdHk9dC5hcnJheUJ1ZmZlci5ieXRlTGVuZ3RoL2UuYnl0ZXNQZXJFbGVtZW50LGUuX3JlZnJlc2hWaWV3cygpLGV9LFpuLnByb3RvdHlwZS5fdHJpbT1mdW5jdGlvbigpe3RoaXMubGVuZ3RoIT09dGhpcy5jYXBhY2l0eSYmKHRoaXMuY2FwYWNpdHk9dGhpcy5sZW5ndGgsdGhpcy5hcnJheUJ1ZmZlcj10aGlzLmFycmF5QnVmZmVyLnNsaWNlKDAsdGhpcy5sZW5ndGgqdGhpcy5ieXRlc1BlckVsZW1lbnQpLHRoaXMuX3JlZnJlc2hWaWV3cygpKX0sWm4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5sZW5ndGg9MH0sWm4ucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbih0KXt0aGlzLnJlc2VydmUodCksdGhpcy5sZW5ndGg9dH0sWm4ucHJvdG90eXBlLnJlc2VydmU9ZnVuY3Rpb24odCl7aWYodD50aGlzLmNhcGFjaXR5KXt0aGlzLmNhcGFjaXR5PU1hdGgubWF4KHQsTWF0aC5mbG9vcig1KnRoaXMuY2FwYWNpdHkpLDEyOCksdGhpcy5hcnJheUJ1ZmZlcj1uZXcgQXJyYXlCdWZmZXIodGhpcy5jYXBhY2l0eSp0aGlzLmJ5dGVzUGVyRWxlbWVudCk7dmFyIGU9dGhpcy51aW50ODt0aGlzLl9yZWZyZXNoVmlld3MoKSxlJiZ0aGlzLnVpbnQ4LnNldChlKX19LFpuLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfcmVmcmVzaFZpZXdzKCkgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIGNvbmNyZXRlIFN0cnVjdEFycmF5IGxheW91dCIpfTt2YXIgUW49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShyKzEpLHRoaXMuZW1wbGFjZShyLHQsZSl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdDtyZXR1cm4gdGhpcy5pbnQxNltuKzBdPWUsdGhpcy5pbnQxNltuKzFdPXIsdH0sZX0oWm4pO1FuLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NCxkbigiU3RydWN0QXJyYXlMYXlvdXQyaTQiLFFuKTt2YXIgJG49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10aGlzLmxlbmd0aDtyZXR1cm4gdGhpcy5yZXNpemUoYSsxKSx0aGlzLmVtcGxhY2UoYSx0LGUscixuKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPTQqdDtyZXR1cm4gdGhpcy5pbnQxNltpKzBdPWUsdGhpcy5pbnQxNltpKzFdPXIsdGhpcy5pbnQxNltpKzJdPW4sdGhpcy5pbnQxNltpKzNdPWEsdH0sZX0oWm4pOyRuLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9OCxkbigiU3RydWN0QXJyYXlMYXlvdXQ0aTgiLCRuKTt2YXIgdGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG8rMSksdGhpcy5lbXBsYWNlKG8sdCxlLHIsbixhLGkpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPTYqdDtyZXR1cm4gdGhpcy5pbnQxNltzKzBdPWUsdGhpcy5pbnQxNltzKzFdPXIsdGhpcy5pbnQxNltzKzJdPW4sdGhpcy5pbnQxNltzKzNdPWEsdGhpcy5pbnQxNltzKzRdPWksdGhpcy5pbnQxNltzKzVdPW8sdH0sZX0oWm4pO3RhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MTIsZG4oIlN0cnVjdEFycmF5TGF5b3V0Mmk0aTEyIix0YSk7dmFyIGVhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5pbnQxNj1uZXcgSW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShvKzEpLHRoaXMuZW1wbGFjZShvLHQsZSxyLG4sYSxpKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcz00KnQsbD04KnQ7cmV0dXJuIHRoaXMuaW50MTZbcyswXT1lLHRoaXMuaW50MTZbcysxXT1yLHRoaXMudWludDhbbCs0XT1uLHRoaXMudWludDhbbCs1XT1hLHRoaXMudWludDhbbCs2XT1pLHRoaXMudWludDhbbCs3XT1vLHR9LGV9KFpuKTtlYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTgsZG4oIlN0cnVjdEFycmF5TGF5b3V0Mmk0dWI4IixlYSk7dmFyIHJhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShsKzEpLHRoaXMuZW1wbGFjZShsLHQsZSxyLG4sYSxpLG8scyl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwpe3ZhciBjPTgqdDtyZXR1cm4gdGhpcy51aW50MTZbYyswXT1lLHRoaXMudWludDE2W2MrMV09cix0aGlzLnVpbnQxNltjKzJdPW4sdGhpcy51aW50MTZbYyszXT1hLHRoaXMudWludDE2W2MrNF09aSx0aGlzLnVpbnQxNltjKzVdPW8sdGhpcy51aW50MTZbYys2XT1zLHRoaXMudWludDE2W2MrN109bCx0fSxlfShabik7cmEucHJvdG90eXBlLmJ5dGVzUGVyRWxlbWVudD0xNixkbigiU3RydWN0QXJyYXlMYXlvdXQ4dWkxNiIscmEpO3ZhciBuYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLl9yZWZyZXNoVmlld3M9ZnVuY3Rpb24oKXt0aGlzLnVpbnQ4PW5ldyBVaW50OEFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMuaW50MTY9bmV3IEludDE2QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShsKzEpLHRoaXMuZW1wbGFjZShsLHQsZSxyLG4sYSxpLG8scyl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwpe3ZhciBjPTgqdDtyZXR1cm4gdGhpcy5pbnQxNltjKzBdPWUsdGhpcy5pbnQxNltjKzFdPXIsdGhpcy5pbnQxNltjKzJdPW4sdGhpcy5pbnQxNltjKzNdPWEsdGhpcy51aW50MTZbYys0XT1pLHRoaXMudWludDE2W2MrNV09byx0aGlzLnVpbnQxNltjKzZdPXMsdGhpcy51aW50MTZbYys3XT1sLHR9LGV9KFpuKTtuYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTE2LGRuKCJTdHJ1Y3RBcnJheUxheW91dDRpNHVpMTYiLG5hKTt2YXIgYWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShuKzEpLHRoaXMuZW1wbGFjZShuLHQsZSxyKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuKXt2YXIgYT0zKnQ7cmV0dXJuIHRoaXMuZmxvYXQzMlthKzBdPWUsdGhpcy5mbG9hdDMyW2ErMV09cix0aGlzLmZsb2F0MzJbYSsyXT1uLHR9LGV9KFpuKTthYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTEyLGRuKCJTdHJ1Y3RBcnJheUxheW91dDNmMTIiLGFhKTt2YXIgaWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShlKzEpLHRoaXMuZW1wbGFjZShlLHQpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MSp0O3JldHVybiB0aGlzLnVpbnQzMltyKzBdPWUsdH0sZX0oWm4pO2lhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NCxkbigiU3RydWN0QXJyYXlMYXlvdXQxdWw0IixpYSk7dmFyIG9hPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5pbnQxNj1uZXcgSW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMsbCxjLHUpe3ZhciBoPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShoKzEpLHRoaXMuZW1wbGFjZShoLHQsZSxyLG4sYSxpLG8scyxsLGMsdSl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyx1LGgpe3ZhciBmPTEyKnQscD02KnQ7cmV0dXJuIHRoaXMuaW50MTZbZiswXT1lLHRoaXMuaW50MTZbZisxXT1yLHRoaXMuaW50MTZbZisyXT1uLHRoaXMuaW50MTZbZiszXT1hLHRoaXMuaW50MTZbZis0XT1pLHRoaXMuaW50MTZbZis1XT1vLHRoaXMudWludDMyW3ArM109cyx0aGlzLnVpbnQxNltmKzhdPWwsdGhpcy51aW50MTZbZis5XT1jLHRoaXMuaW50MTZbZisxMF09dSx0aGlzLmludDE2W2YrMTFdPWgsdH0sZX0oWm4pO29hLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MjQsZG4oIlN0cnVjdEFycmF5TGF5b3V0NmkxdWwydWkyaTI0IixvYSk7dmFyIHNhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5pbnQxNj1uZXcgSW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShvKzEpLHRoaXMuZW1wbGFjZShvLHQsZSxyLG4sYSxpKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcz02KnQ7cmV0dXJuIHRoaXMuaW50MTZbcyswXT1lLHRoaXMuaW50MTZbcysxXT1yLHRoaXMuaW50MTZbcysyXT1uLHRoaXMuaW50MTZbcyszXT1hLHRoaXMuaW50MTZbcys0XT1pLHRoaXMuaW50MTZbcys1XT1vLHR9LGV9KFpuKTtzYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTEyLGRuKCJTdHJ1Y3RBcnJheUxheW91dDJpMmkyaTEyIixzYSk7dmFyIGxhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5mbG9hdDMyPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShhKzEpLHRoaXMuZW1wbGFjZShhLHQsZSxyLG4pfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9MTIqdCxvPTMqdDtyZXR1cm4gdGhpcy51aW50OFtpKzBdPWUsdGhpcy51aW50OFtpKzFdPXIsdGhpcy5mbG9hdDMyW28rMV09bix0aGlzLmZsb2F0MzJbbysyXT1hLHR9LGV9KFpuKTtsYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTEyLGRuKCJTdHJ1Y3RBcnJheUxheW91dDJ1YjJmMTIiLGxhKTt2YXIgY2E9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMudWludDE2PW5ldyBVaW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5mbG9hdDMyPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcpe3ZhciB2PXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZSh2KzEpLHRoaXMuZW1wbGFjZSh2LHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdil7dmFyIG09MjIqdCx5PTExKnQseD00NCp0O3JldHVybiB0aGlzLmludDE2W20rMF09ZSx0aGlzLmludDE2W20rMV09cix0aGlzLnVpbnQxNlttKzJdPW4sdGhpcy51aW50MTZbbSszXT1hLHRoaXMudWludDMyW3krMl09aSx0aGlzLnVpbnQzMlt5KzNdPW8sdGhpcy51aW50MzJbeSs0XT1zLHRoaXMudWludDE2W20rMTBdPWwsdGhpcy51aW50MTZbbSsxMV09Yyx0aGlzLnVpbnQxNlttKzEyXT11LHRoaXMuZmxvYXQzMlt5KzddPWgsdGhpcy5mbG9hdDMyW3krOF09Zix0aGlzLnVpbnQ4W3grMzZdPXAsdGhpcy51aW50OFt4KzM3XT1kLHRoaXMudWludDhbeCszOF09Zyx0aGlzLnVpbnQzMlt5KzEwXT12LHR9LGV9KFpuKTtjYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTQ0LGRuKCJTdHJ1Y3RBcnJheUxheW91dDJpMnVpM3VsM3VpMmYzdWIxdWw0NCIsY2EpO3ZhciB1YT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLl9yZWZyZXNoVmlld3M9ZnVuY3Rpb24oKXt0aGlzLnVpbnQ4PW5ldyBVaW50OEFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMuaW50MTY9bmV3IEludDE2QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMudWludDMyPW5ldyBVaW50MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0seSx4KXt2YXIgYj10aGlzLmxlbmd0aDtyZXR1cm4gdGhpcy5yZXNpemUoYisxKSx0aGlzLmVtcGxhY2UoYix0LGUscixuLGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbSx5LHgpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdixtLHkseCxiKXt2YXIgXz0yNCp0LHc9MTIqdDtyZXR1cm4gdGhpcy5pbnQxNltfKzBdPWUsdGhpcy5pbnQxNltfKzFdPXIsdGhpcy5pbnQxNltfKzJdPW4sdGhpcy5pbnQxNltfKzNdPWEsdGhpcy5pbnQxNltfKzRdPWksdGhpcy5pbnQxNltfKzVdPW8sdGhpcy51aW50MTZbXys2XT1zLHRoaXMudWludDE2W18rN109bCx0aGlzLnVpbnQxNltfKzhdPWMsdGhpcy51aW50MTZbXys5XT11LHRoaXMudWludDE2W18rMTBdPWgsdGhpcy51aW50MTZbXysxMV09Zix0aGlzLnVpbnQxNltfKzEyXT1wLHRoaXMudWludDE2W18rMTNdPWQsdGhpcy51aW50MTZbXysxNF09Zyx0aGlzLnVpbnQxNltfKzE1XT12LHRoaXMudWludDE2W18rMTZdPW0sdGhpcy51aW50MzJbdys5XT15LHRoaXMuZmxvYXQzMlt3KzEwXT14LHRoaXMuZmxvYXQzMlt3KzExXT1iLHR9LGV9KFpuKTt1YS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTQ4LGRuKCJTdHJ1Y3RBcnJheUxheW91dDZpMTF1aTF1bDJmNDgiLHVhKTt2YXIgaGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKGUrMSksdGhpcy5lbXBsYWNlKGUsdCl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlKXt2YXIgcj0xKnQ7cmV0dXJuIHRoaXMuZmxvYXQzMltyKzBdPWUsdH0sZX0oWm4pO2hhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NCxkbigiU3RydWN0QXJyYXlMYXlvdXQxZjQiLGhhKTt2YXIgZmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG4rMSksdGhpcy5lbXBsYWNlKG4sdCxlLHIpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPTMqdDtyZXR1cm4gdGhpcy5pbnQxNlthKzBdPWUsdGhpcy5pbnQxNlthKzFdPXIsdGhpcy5pbnQxNlthKzJdPW4sdH0sZX0oWm4pO2ZhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NixkbigiU3RydWN0QXJyYXlMYXlvdXQzaTYiLGZhKTt2YXIgcGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG4rMSksdGhpcy5lbXBsYWNlKG4sdCxlLHIpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPTIqdCxpPTQqdDtyZXR1cm4gdGhpcy51aW50MzJbYSswXT1lLHRoaXMudWludDE2W2krMl09cix0aGlzLnVpbnQxNltpKzNdPW4sdH0sZX0oWm4pO3BhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9OCxkbigiU3RydWN0QXJyYXlMYXlvdXQxdWwydWk4IixwYSk7dmFyIGRhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG4rMSksdGhpcy5lbXBsYWNlKG4sdCxlLHIpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPTMqdDtyZXR1cm4gdGhpcy51aW50MTZbYSswXT1lLHRoaXMudWludDE2W2ErMV09cix0aGlzLnVpbnQxNlthKzJdPW4sdH0sZX0oWm4pO2RhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NixkbigiU3RydWN0QXJyYXlMYXlvdXQzdWk2IixkYSk7dmFyIGdhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShyKzEpLHRoaXMuZW1wbGFjZShyLHQsZSl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdDtyZXR1cm4gdGhpcy51aW50MTZbbiswXT1lLHRoaXMudWludDE2W24rMV09cix0fSxlfShabik7Z2EucHJvdG90eXBlLmJ5dGVzUGVyRWxlbWVudD00LGRuKCJTdHJ1Y3RBcnJheUxheW91dDJ1aTQiLGdhKTt2YXIgdmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQxNj1uZXcgVWludDE2QXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShlKzEpLHRoaXMuZW1wbGFjZShlLHQpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MSp0O3JldHVybiB0aGlzLnVpbnQxNltyKzBdPWUsdH0sZX0oWm4pO3ZhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MixkbigiU3RydWN0QXJyYXlMYXlvdXQxdWkyIix2YSk7dmFyIG1hPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5mbG9hdDMyPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKHIrMSksdGhpcy5lbXBsYWNlKHIsdCxlKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0O3JldHVybiB0aGlzLmZsb2F0MzJbbiswXT1lLHRoaXMuZmxvYXQzMltuKzFdPXIsdH0sZX0oWm4pO21hLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9OCxkbigiU3RydWN0QXJyYXlMYXlvdXQyZjgiLG1hKTt2YXIgeWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKGErMSksdGhpcy5lbXBsYWNlKGEsdCxlLHIsbil9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT00KnQ7cmV0dXJuIHRoaXMuZmxvYXQzMltpKzBdPWUsdGhpcy5mbG9hdDMyW2krMV09cix0aGlzLmZsb2F0MzJbaSsyXT1uLHRoaXMuZmxvYXQzMltpKzNdPWEsdH0sZX0oWm4pO3lhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MTYsZG4oIlN0cnVjdEFycmF5TGF5b3V0NGYxNiIseWEpO3ZhciB4YT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e2FuY2hvclBvaW50WDp7Y29uZmlndXJhYmxlOiEwfSxhbmNob3JQb2ludFk6e2NvbmZpZ3VyYWJsZTohMH0seDE6e2NvbmZpZ3VyYWJsZTohMH0seTE6e2NvbmZpZ3VyYWJsZTohMH0seDI6e2NvbmZpZ3VyYWJsZTohMH0seTI6e2NvbmZpZ3VyYWJsZTohMH0sZmVhdHVyZUluZGV4Ontjb25maWd1cmFibGU6ITB9LHNvdXJjZUxheWVySW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sYnVja2V0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0scmFkaXVzOntjb25maWd1cmFibGU6ITB9LHNpZ25lZERpc3RhbmNlRnJvbUFuY2hvcjp7Y29uZmlndXJhYmxlOiEwfSxhbmNob3JQb2ludDp7Y29uZmlndXJhYmxlOiEwfX07cmV0dXJuIHIuYW5jaG9yUG9pbnRYLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzBdfSxyLmFuY2hvclBvaW50WC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMiswXT10fSxyLmFuY2hvclBvaW50WS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxXX0sci5hbmNob3JQb2ludFkuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV09dH0sci54MS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXX0sci54MS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXT10fSxyLnkxLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzNdfSxyLnkxLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzNdPXR9LHIueDIuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrNF19LHIueDIuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrNF09dH0sci55Mi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XX0sci55Mi5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XT10fSxyLmZlYXR1cmVJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDMyW3RoaXMuX3BvczQrM119LHIuZmVhdHVyZUluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCszXT10fSxyLnNvdXJjZUxheWVySW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzhdfSxyLnNvdXJjZUxheWVySW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzhdPXR9LHIuYnVja2V0SW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzldfSxyLmJ1Y2tldEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis5XT10fSxyLnJhZGl1cy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxMF19LHIucmFkaXVzLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzEwXT10fSxyLnNpZ25lZERpc3RhbmNlRnJvbUFuY2hvci5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxMV19LHIuc2lnbmVkRGlzdGFuY2VGcm9tQW5jaG9yLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzExXT10fSxyLmFuY2hvclBvaW50LmdldD1mdW5jdGlvbigpe3JldHVybiBuZXcgYSh0aGlzLmFuY2hvclBvaW50WCx0aGlzLmFuY2hvclBvaW50WSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHIpLGV9KFhuKTt4YS5wcm90b3R5cGUuc2l6ZT0yNDt2YXIgYmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB4YSh0aGlzLHQpfSxlfShvYSk7ZG4oIkNvbGxpc2lvbkJveEFycmF5IixiYSk7dmFyIF9hPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX10JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZTt2YXIgcj17YW5jaG9yWDp7Y29uZmlndXJhYmxlOiEwfSxhbmNob3JZOntjb25maWd1cmFibGU6ITB9LGdseXBoU3RhcnRJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxudW1HbHlwaHM6e2NvbmZpZ3VyYWJsZTohMH0sdmVydGV4U3RhcnRJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxsaW5lU3RhcnRJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxsaW5lTGVuZ3RoOntjb25maWd1cmFibGU6ITB9LHNlZ21lbnQ6e2NvbmZpZ3VyYWJsZTohMH0sbG93ZXJTaXplOntjb25maWd1cmFibGU6ITB9LHVwcGVyU2l6ZTp7Y29uZmlndXJhYmxlOiEwfSxsaW5lT2Zmc2V0WDp7Y29uZmlndXJhYmxlOiEwfSxsaW5lT2Zmc2V0WTp7Y29uZmlndXJhYmxlOiEwfSx3cml0aW5nTW9kZTp7Y29uZmlndXJhYmxlOiEwfSxwbGFjZWRPcmllbnRhdGlvbjp7Y29uZmlndXJhYmxlOiEwfSxoaWRkZW46e2NvbmZpZ3VyYWJsZTohMH0sY3Jvc3NUaWxlSUQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiByLmFuY2hvclguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMF19LHIuYW5jaG9yWC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMiswXT10fSxyLmFuY2hvclkuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV19LHIuYW5jaG9yWS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxXT10fSxyLmdseXBoU3RhcnRJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMl19LHIuZ2x5cGhTdGFydEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisyXT10fSxyLm51bUdseXBocy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrM119LHIubnVtR2x5cGhzLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMiszXT10fSxyLnZlcnRleFN0YXJ0SW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzJdfSxyLnZlcnRleFN0YXJ0SW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzJdPXR9LHIubGluZVN0YXJ0SW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzNdfSxyLmxpbmVTdGFydEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCszXT10fSxyLmxpbmVMZW5ndGguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzRdfSxyLmxpbmVMZW5ndGguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzRdPXR9LHIuc2VnbWVudC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTBdfSxyLnNlZ21lbnQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzEwXT10fSxyLmxvd2VyU2l6ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTFdfSxyLmxvd2VyU2l6ZS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTFdPXR9LHIudXBwZXJTaXplLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMl19LHIudXBwZXJTaXplLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMl09dH0sci5saW5lT2Zmc2V0WC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuZmxvYXQzMlt0aGlzLl9wb3M0KzddfSxyLmxpbmVPZmZzZXRYLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrN109dH0sci5saW5lT2Zmc2V0WS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuZmxvYXQzMlt0aGlzLl9wb3M0KzhdfSxyLmxpbmVPZmZzZXRZLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrOF09dH0sci53cml0aW5nTW9kZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDhbdGhpcy5fcG9zMSszNl19LHIud3JpdGluZ01vZGUuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQ4W3RoaXMuX3BvczErMzZdPXR9LHIucGxhY2VkT3JpZW50YXRpb24uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQ4W3RoaXMuX3BvczErMzddfSxyLnBsYWNlZE9yaWVudGF0aW9uLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50OFt0aGlzLl9wb3MxKzM3XT10fSxyLmhpZGRlbi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDhbdGhpcy5fcG9zMSszOF19LHIuaGlkZGVuLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50OFt0aGlzLl9wb3MxKzM4XT10fSxyLmNyb3NzVGlsZUlELmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCsxMF19LHIuY3Jvc3NUaWxlSUQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzEwXT10fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSxyKSxlfShYbik7X2EucHJvdG90eXBlLnNpemU9NDQ7dmFyIHdhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgX2EodGhpcyx0KX0sZX0oY2EpO2RuKCJQbGFjZWRTeW1ib2xBcnJheSIsd2EpO3ZhciBrYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e2FuY2hvclg6e2NvbmZpZ3VyYWJsZTohMH0sYW5jaG9yWTp7Y29uZmlndXJhYmxlOiEwfSxyaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxjZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sbGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleDp7Y29uZmlndXJhYmxlOiEwfSx2ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxrZXk6e2NvbmZpZ3VyYWJsZTohMH0sdGV4dEJveFN0YXJ0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sdGV4dEJveEVuZEluZGV4Ontjb25maWd1cmFibGU6ITB9LHZlcnRpY2FsVGV4dEJveFN0YXJ0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sdmVydGljYWxUZXh0Qm94RW5kSW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0saWNvbkJveFN0YXJ0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0saWNvbkJveEVuZEluZGV4Ontjb25maWd1cmFibGU6ITB9LGZlYXR1cmVJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxudW1Ib3Jpem9udGFsR2x5cGhWZXJ0aWNlczp7Y29uZmlndXJhYmxlOiEwfSxudW1WZXJ0aWNhbEdseXBoVmVydGljZXM6e2NvbmZpZ3VyYWJsZTohMH0sbnVtSWNvblZlcnRpY2VzOntjb25maWd1cmFibGU6ITB9LGNyb3NzVGlsZUlEOntjb25maWd1cmFibGU6ITB9LHRleHRCb3hTY2FsZTp7Y29uZmlndXJhYmxlOiEwfSxyYWRpYWxUZXh0T2Zmc2V0Ontjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gci5hbmNob3JYLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzBdfSxyLmFuY2hvclguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMF09dH0sci5hbmNob3JZLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzFdfSxyLmFuY2hvclkuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV09dH0sci5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXX0sci5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXT10fSxyLmNlbnRlckp1c3RpZmllZFRleHRTeW1ib2xJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMiszXX0sci5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrM109dH0sci5sZWZ0SnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzRdfSxyLmxlZnRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrNF09dH0sci52ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XX0sci52ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XT10fSxyLmtleS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrNl19LHIua2V5LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis2XT10fSxyLnRleHRCb3hTdGFydEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis3XX0sci50ZXh0Qm94U3RhcnRJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrN109dH0sci50ZXh0Qm94RW5kSW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzhdfSxyLnRleHRCb3hFbmRJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrOF09dH0sci52ZXJ0aWNhbFRleHRCb3hTdGFydEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis5XX0sci52ZXJ0aWNhbFRleHRCb3hTdGFydEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis5XT10fSxyLnZlcnRpY2FsVGV4dEJveEVuZEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMF19LHIudmVydGljYWxUZXh0Qm94RW5kSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzEwXT10fSxyLmljb25Cb3hTdGFydEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMV19LHIuaWNvbkJveFN0YXJ0SW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzExXT10fSxyLmljb25Cb3hFbmRJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTJdfSxyLmljb25Cb3hFbmRJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTJdPXR9LHIuZmVhdHVyZUluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxM119LHIuZmVhdHVyZUluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxM109dH0sci5udW1Ib3Jpem9udGFsR2x5cGhWZXJ0aWNlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTRdfSxyLm51bUhvcml6b250YWxHbHlwaFZlcnRpY2VzLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxNF09dH0sci5udW1WZXJ0aWNhbEdseXBoVmVydGljZXMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzE1XX0sci5udW1WZXJ0aWNhbEdseXBoVmVydGljZXMuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzE1XT10fSxyLm51bUljb25WZXJ0aWNlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTZdfSxyLm51bUljb25WZXJ0aWNlcy5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTZdPXR9LHIuY3Jvc3NUaWxlSUQuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzldfSxyLmNyb3NzVGlsZUlELnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCs5XT10fSxyLnRleHRCb3hTY2FsZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuZmxvYXQzMlt0aGlzLl9wb3M0KzEwXX0sci50ZXh0Qm94U2NhbGUuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmZsb2F0MzJbdGhpcy5fcG9zNCsxMF09dH0sci5yYWRpYWxUZXh0T2Zmc2V0LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrMTFdfSxyLnJhZGlhbFRleHRPZmZzZXQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmZsb2F0MzJbdGhpcy5fcG9zNCsxMV09dH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsciksZX0oWG4pO2thLnByb3RvdHlwZS5zaXplPTQ4O3ZhciBUYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGthKHRoaXMsdCl9LGV9KHVhKTtkbigiU3ltYm9sSW5zdGFuY2VBcnJheSIsVGEpO3ZhciBNYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e29mZnNldFg6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiByLm9mZnNldFguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmZsb2F0MzJbdGhpcy5fcG9zNCswXX0sci5vZmZzZXRYLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrMF09dH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsciksZX0oWG4pO01hLnByb3RvdHlwZS5zaXplPTQ7dmFyIEFhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0b2Zmc2V0WD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5mbG9hdDMyWzEqdCswXX0sZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgTWEodGhpcyx0KX0sZX0oaGEpO2RuKCJHbHlwaE9mZnNldEFycmF5IixBYSk7dmFyIFNhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX10JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZTt2YXIgcj17eDp7Y29uZmlndXJhYmxlOiEwfSx5Ontjb25maWd1cmFibGU6ITB9LHRpbGVVbml0RGlzdGFuY2VGcm9tQW5jaG9yOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gci54LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzBdfSxyLnguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMF09dH0sci55LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzFdfSxyLnkuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV09dH0sci50aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvci5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXX0sci50aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvci5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXT10fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSxyKSxlfShYbik7U2EucHJvdG90eXBlLnNpemU9Njt2YXIgRWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXR4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludDE2WzMqdCswXX0sZS5wcm90b3R5cGUuZ2V0eT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnQxNlszKnQrMV19LGUucHJvdG90eXBlLmdldHRpbGVVbml0RGlzdGFuY2VGcm9tQW5jaG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludDE2WzMqdCsyXX0sZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgU2EodGhpcyx0KX0sZX0oZmEpO2RuKCJTeW1ib2xMaW5lVmVydGV4QXJyYXkiLEVhKTt2YXIgTGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lO3ZhciByPXtmZWF0dXJlSW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sc291cmNlTGF5ZXJJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxidWNrZXRJbmRleDp7Y29uZmlndXJhYmxlOiEwfX07cmV0dXJuIHIuZmVhdHVyZUluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCswXX0sci5mZWF0dXJlSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzBdPXR9LHIuc291cmNlTGF5ZXJJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMl19LHIuc291cmNlTGF5ZXJJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMl09dH0sci5idWNrZXRJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrM119LHIuYnVja2V0SW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzNdPXR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHIpLGV9KFhuKTtMYS5wcm90b3R5cGUuc2l6ZT04O3ZhciBDYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IExhKHRoaXMsdCl9LGV9KHBhKTtkbigiRmVhdHVyZUluZGV4QXJyYXkiLENhKTt2YXIgUGE9Sm4oW3tuYW1lOiJhX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In1dLDQpLm1lbWJlcnMsT2E9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9W10pLHRoaXMuc2VnbWVudHM9dH07ZnVuY3Rpb24gemEodCxlKXtyZXR1cm4gMjU2Kih0PWMoTWF0aC5mbG9vcih0KSwwLDI1NSkpK2MoTWF0aC5mbG9vcihlKSwwLDI1NSl9T2EucHJvdG90eXBlLnByZXBhcmVTZWdtZW50PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIHQ+T2EuTUFYX1ZFUlRFWF9BUlJBWV9MRU5HVEgmJncoIk1heCB2ZXJ0aWNlcyBwZXIgc2VnbWVudCBpcyAiK09hLk1BWF9WRVJURVhfQVJSQVlfTEVOR1RIKyI6IGJ1Y2tldCByZXF1ZXN0ZWQgIit0KSwoIWF8fGEudmVydGV4TGVuZ3RoK3Q+T2EuTUFYX1ZFUlRFWF9BUlJBWV9MRU5HVEh8fGEuc29ydEtleSE9PW4pJiYoYT17dmVydGV4T2Zmc2V0OmUubGVuZ3RoLHByaW1pdGl2ZU9mZnNldDpyLmxlbmd0aCx2ZXJ0ZXhMZW5ndGg6MCxwcmltaXRpdmVMZW5ndGg6MH0sdm9pZCAwIT09biYmKGEuc29ydEtleT1uKSx0aGlzLnNlZ21lbnRzLnB1c2goYSkpLGF9LE9hLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWdtZW50c30sT2EucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxlPXRoaXMuc2VnbWVudHM7dDxlLmxlbmd0aDt0Kz0xKXt2YXIgcj1lW3RdO2Zvcih2YXIgbiBpbiByLnZhb3Mpci52YW9zW25dLmRlc3Ryb3koKX19LE9hLnNpbXBsZVNlZ21lbnQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIG5ldyBPYShbe3ZlcnRleE9mZnNldDp0LHByaW1pdGl2ZU9mZnNldDplLHZlcnRleExlbmd0aDpyLHByaW1pdGl2ZUxlbmd0aDpuLHZhb3M6e30sc29ydEtleTowfV0pfSxPYS5NQVhfVkVSVEVYX0FSUkFZX0xFTkdUSD1NYXRoLnBvdygyLDE2KS0xLGRuKCJTZWdtZW50VmVjdG9yIixPYSk7dmFyIElhPWZ1bmN0aW9uKCl7dGhpcy5pZHM9W10sdGhpcy5wb3NpdGlvbnM9W10sdGhpcy5pbmRleGVkPSExfTtmdW5jdGlvbiBEYSh0LGUscil7dmFyIG49dFtlXTt0W2VdPXRbcl0sdFtyXT1ufUlhLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5pZHMucHVzaCh0KSx0aGlzLnBvc2l0aW9ucy5wdXNoKGUscixuKX0sSWEucHJvdG90eXBlLmdldFBvc2l0aW9ucz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXRoaXMuaWRzLmxlbmd0aC0xO2U8cjspe3ZhciBuPWUrcj4+MTt0aGlzLmlkc1tuXT49dD9yPW46ZT1uKzF9Zm9yKHZhciBhPVtdO3RoaXMuaWRzW2VdPT09dDspe3ZhciBpPXRoaXMucG9zaXRpb25zWzMqZV0sbz10aGlzLnBvc2l0aW9uc1szKmUrMV0scz10aGlzLnBvc2l0aW9uc1szKmUrMl07YS5wdXNoKHtpbmRleDppLHN0YXJ0Om8sZW5kOnN9KSxlKyt9cmV0dXJuIGF9LElhLnNlcmlhbGl6ZT1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBGbG9hdDY0QXJyYXkodC5pZHMpLG49bmV3IFVpbnQzMkFycmF5KHQucG9zaXRpb25zKTtyZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhKXtpZighKG4+PWEpKXtmb3IodmFyIGk9ZVtuK2E+PjFdLG89bi0xLHM9YSsxOzspe2Rve28rK313aGlsZShlW29dPGkpO2Rve3MtLX13aGlsZShlW3NdPmkpO2lmKG8+PXMpYnJlYWs7RGEoZSxvLHMpLERhKHIsMypvLDMqcyksRGEociwzKm8rMSwzKnMrMSksRGEociwzKm8rMiwzKnMrMil9dChlLHIsbixzKSx0KGUscixzKzEsYSl9fShyLG4sMCxyLmxlbmd0aC0xKSxlLnB1c2goci5idWZmZXIsbi5idWZmZXIpLHtpZHM6cixwb3NpdGlvbnM6bn19LElhLmRlc2VyaWFsaXplPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBJYTtyZXR1cm4gZS5pZHM9dC5pZHMsZS5wb3NpdGlvbnM9dC5wb3NpdGlvbnMsZS5pbmRleGVkPSEwLGV9LGRuKCJGZWF0dXJlUG9zaXRpb25NYXAiLElhKTt2YXIgUmE9ZnVuY3Rpb24odCxlKXt0aGlzLmdsPXQuZ2wsdGhpcy5sb2NhdGlvbj1lfSxGYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnQ9MH1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuY3VycmVudCE9PXQmJih0aGlzLmN1cnJlbnQ9dCx0aGlzLmdsLnVuaWZvcm0xaSh0aGlzLmxvY2F0aW9uLHQpKX0sZX0oUmEpLEJhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxyKXt0LmNhbGwodGhpcyxlLHIpLHRoaXMuY3VycmVudD0wfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5jdXJyZW50IT09dCYmKHRoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybTFmKHRoaXMubG9jYXRpb24sdCkpfSxlfShSYSksTmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLGUsciksdGhpcy5jdXJyZW50PVswLDBdfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dFswXT09PXRoaXMuY3VycmVudFswXSYmdFsxXT09PXRoaXMuY3VycmVudFsxXXx8KHRoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybTJmKHRoaXMubG9jYXRpb24sdFswXSx0WzFdKSl9LGV9KFJhKSxqYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnQ9WzAsMCwwXX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3RbMF09PT10aGlzLmN1cnJlbnRbMF0mJnRbMV09PT10aGlzLmN1cnJlbnRbMV0mJnRbMl09PT10aGlzLmN1cnJlbnRbMl18fCh0aGlzLmN1cnJlbnQ9dCx0aGlzLmdsLnVuaWZvcm0zZih0aGlzLmxvY2F0aW9uLHRbMF0sdFsxXSx0WzJdKSl9LGV9KFJhKSxWYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnQ9WzAsMCwwLDBdfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dFswXT09PXRoaXMuY3VycmVudFswXSYmdFsxXT09PXRoaXMuY3VycmVudFsxXSYmdFsyXT09PXRoaXMuY3VycmVudFsyXSYmdFszXT09PXRoaXMuY3VycmVudFszXXx8KHRoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybTRmKHRoaXMubG9jYXRpb24sdFswXSx0WzFdLHRbMl0sdFszXSkpfSxlfShSYSksVWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLGUsciksdGhpcy5jdXJyZW50PVd0LnRyYW5zcGFyZW50fXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dC5yPT09dGhpcy5jdXJyZW50LnImJnQuZz09PXRoaXMuY3VycmVudC5nJiZ0LmI9PT10aGlzLmN1cnJlbnQuYiYmdC5hPT09dGhpcy5jdXJyZW50LmF8fCh0aGlzLmN1cnJlbnQ9dCx0aGlzLmdsLnVuaWZvcm00Zih0aGlzLmxvY2F0aW9uLHQucix0LmcsdC5iLHQuYSkpfSxlfShSYSkscWE9bmV3IEZsb2F0MzJBcnJheSgxNiksSGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLGUsciksdGhpcy5jdXJyZW50PXFhfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodFsxMl0hPT10aGlzLmN1cnJlbnRbMTJdfHx0WzBdIT09dGhpcy5jdXJyZW50WzBdKXJldHVybiB0aGlzLmN1cnJlbnQ9dCx2b2lkIHRoaXMuZ2wudW5pZm9ybU1hdHJpeDRmdih0aGlzLmxvY2F0aW9uLCExLHQpO2Zvcih2YXIgZT0xO2U8MTY7ZSsrKWlmKHRbZV0hPT10aGlzLmN1cnJlbnRbZV0pe3RoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybU1hdHJpeDRmdih0aGlzLmxvY2F0aW9uLCExLHQpO2JyZWFrfX0sZX0oUmEpO2Z1bmN0aW9uIEdhKHQpe3JldHVyblt6YSgyNTUqdC5yLDI1NSp0LmcpLHphKDI1NSp0LmIsMjU1KnQuYSldfXZhciBZYT1mdW5jdGlvbih0LGUscil7dGhpcy52YWx1ZT10LHRoaXMubmFtZXM9ZSx0aGlzLnVuaWZvcm1OYW1lcz10aGlzLm5hbWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idV8iK3R9KSx0aGlzLnR5cGU9cix0aGlzLm1heFZhbHVlPS0xLzB9O1lhLnByb3RvdHlwZS5kZWZpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiIjZGVmaW5lIEhBU19VTklGT1JNX3VfIit0fSl9LFlhLnByb3RvdHlwZS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnM9ZnVuY3Rpb24oKXt9LFlhLnByb3RvdHlwZS5wb3B1bGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24oKXt9LFlhLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5PWZ1bmN0aW9uKCl7fSxZYS5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKCl7fSxZYS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe30sWWEucHJvdG90eXBlLnNldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSxyLG4pe2Uuc2V0KG4uY29uc3RhbnRPcih0aGlzLnZhbHVlKSl9LFlhLnByb3RvdHlwZS5nZXRCaW5kaW5nPWZ1bmN0aW9uKHQsZSl7cmV0dXJuImNvbG9yIj09PXRoaXMudHlwZT9uZXcgVWEodCxlKTpuZXcgQmEodCxlKX0sWWEuc2VyaWFsaXplPWZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWUscj10Lm5hbWVzLG49dC50eXBlO3JldHVybnt2YWx1ZTp2bihlKSxuYW1lczpyLHR5cGU6bn19LFlhLmRlc2VyaWFsaXplPWZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWUscj10Lm5hbWVzLG49dC50eXBlO3JldHVybiBuZXcgWWEobW4oZSkscixuKX07dmFyIFdhPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnZhbHVlPXQsdGhpcy5uYW1lcz1lLHRoaXMudW5pZm9ybU5hbWVzPXRoaXMubmFtZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJ1XyIrdH0pLHRoaXMudHlwZT1yLHRoaXMubWF4VmFsdWU9LTEvMCx0aGlzLnBhdHRlcm5Qb3NpdGlvbnM9e3BhdHRlcm5UbzpudWxsLHBhdHRlcm5Gcm9tOm51bGx9fTtXYS5wcm90b3R5cGUuZGVmaW5lcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iI2RlZmluZSBIQVNfVU5JRk9STV91XyIrdH0pfSxXYS5wcm90b3R5cGUucG9wdWxhdGVQYWludEFycmF5PWZ1bmN0aW9uKCl7fSxXYS5wcm90b3R5cGUudXBkYXRlUGFpbnRBcnJheT1mdW5jdGlvbigpe30sV2EucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbigpe30sV2EucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt9LFdhLnByb3RvdHlwZS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnM9ZnVuY3Rpb24odCxlKXt0aGlzLnBhdHRlcm5Qb3NpdGlvbnMucGF0dGVyblRvPXQudGxicix0aGlzLnBhdHRlcm5Qb3NpdGlvbnMucGF0dGVybkZyb209ZS50bGJyfSxXYS5wcm90b3R5cGUuc2V0VW5pZm9ybXM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10aGlzLnBhdHRlcm5Qb3NpdGlvbnM7InVfcGF0dGVybl90byI9PT1hJiZpLnBhdHRlcm5UbyYmZS5zZXQoaS5wYXR0ZXJuVG8pLCJ1X3BhdHRlcm5fZnJvbSI9PT1hJiZpLnBhdHRlcm5Gcm9tJiZlLnNldChpLnBhdHRlcm5Gcm9tKX0sV2EucHJvdG90eXBlLmdldEJpbmRpbmc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFZhKHQsZSl9O3ZhciBYYT1mdW5jdGlvbih0LGUscixuKXt0aGlzLmV4cHJlc3Npb249dCx0aGlzLm5hbWVzPWUsdGhpcy50eXBlPXIsdGhpcy51bmlmb3JtTmFtZXM9dGhpcy5uYW1lcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImFfIit0fSksdGhpcy5tYXhWYWx1ZT0tMS8wLHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzPWUubWFwKGZ1bmN0aW9uKHQpe3JldHVybntuYW1lOiJhXyIrdCx0eXBlOiJGbG9hdDMyIixjb21wb25lbnRzOiJjb2xvciI9PT1yPzI6MSxvZmZzZXQ6MH19KSx0aGlzLnBhaW50VmVydGV4QXJyYXk9bmV3IG59O1hhLnByb3RvdHlwZS5kZWZpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuW119LFhhLnByb3RvdHlwZS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnM9ZnVuY3Rpb24oKXt9LFhhLnByb3RvdHlwZS5wb3B1bGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5wYWludFZlcnRleEFycmF5LGk9YS5sZW5ndGg7YS5yZXNlcnZlKHQpO3ZhciBvPXRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZShuZXcgUG4oMCksZSx7fSxuKTtpZigiY29sb3IiPT09dGhpcy50eXBlKWZvcih2YXIgcz1HYShvKSxsPWk7bDx0O2wrKylhLmVtcGxhY2VCYWNrKHNbMF0sc1sxXSk7ZWxzZXtmb3IodmFyIGM9aTtjPHQ7YysrKWEuZW1wbGFjZUJhY2sobyk7dGhpcy5tYXhWYWx1ZT1NYXRoLm1heCh0aGlzLm1heFZhbHVlLG8pfX0sWGEucHJvdG90eXBlLnVwZGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5wYWludFZlcnRleEFycmF5LGk9dGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOjB9LHIsbik7aWYoImNvbG9yIj09PXRoaXMudHlwZSlmb3IodmFyIG89R2EoaSkscz10O3M8ZTtzKyspYS5lbXBsYWNlKHMsb1swXSxvWzFdKTtlbHNle2Zvcih2YXIgbD10O2w8ZTtsKyspYS5lbXBsYWNlKGwsaSk7dGhpcy5tYXhWYWx1ZT1NYXRoLm1heCh0aGlzLm1heFZhbHVlLGkpfX0sWGEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnBhaW50VmVydGV4QXJyYXkmJnRoaXMucGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmKHRoaXMucGFpbnRWZXJ0ZXhCdWZmZXImJnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXIuYnVmZmVyP3RoaXMucGFpbnRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YSh0aGlzLnBhaW50VmVydGV4QXJyYXkpOnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5wYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSl9LFhhLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5wYWludFZlcnRleEJ1ZmZlciYmdGhpcy5wYWludFZlcnRleEJ1ZmZlci5kZXN0cm95KCl9LFhhLnByb3RvdHlwZS5zZXRVbmlmb3Jtcz1mdW5jdGlvbih0LGUpe2Uuc2V0KDApfSxYYS5wcm90b3R5cGUuZ2V0QmluZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgQmEodCxlKX07dmFyIFphPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt0aGlzLmV4cHJlc3Npb249dCx0aGlzLm5hbWVzPWUsdGhpcy51bmlmb3JtTmFtZXM9dGhpcy5uYW1lcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuInVfIit0KyJfdCJ9KSx0aGlzLnR5cGU9cix0aGlzLnVzZUludGVnZXJab29tPW4sdGhpcy56b29tPWEsdGhpcy5tYXhWYWx1ZT0tMS8wO3ZhciBvPWk7dGhpcy5wYWludFZlcnRleEF0dHJpYnV0ZXM9ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue25hbWU6ImFfIit0LHR5cGU6IkZsb2F0MzIiLGNvbXBvbmVudHM6ImNvbG9yIj09PXI/NDoyLG9mZnNldDowfX0pLHRoaXMucGFpbnRWZXJ0ZXhBcnJheT1uZXcgb307WmEucHJvdG90eXBlLmRlZmluZXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sWmEucHJvdG90eXBlLnNldENvbnN0YW50UGF0dGVyblBvc2l0aW9ucz1mdW5jdGlvbigpe30sWmEucHJvdG90eXBlLnBvcHVsYXRlUGFpbnRBcnJheT1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10aGlzLnBhaW50VmVydGV4QXJyYXksaT1hLmxlbmd0aDthLnJlc2VydmUodCk7dmFyIG89dGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKG5ldyBQbih0aGlzLnpvb20pLGUse30sbikscz10aGlzLmV4cHJlc3Npb24uZXZhbHVhdGUobmV3IFBuKHRoaXMuem9vbSsxKSxlLHt9LG4pO2lmKCJjb2xvciI9PT10aGlzLnR5cGUpZm9yKHZhciBsPUdhKG8pLGM9R2EocyksdT1pO3U8dDt1KyspYS5lbXBsYWNlQmFjayhsWzBdLGxbMV0sY1swXSxjWzFdKTtlbHNle2Zvcih2YXIgaD1pO2g8dDtoKyspYS5lbXBsYWNlQmFjayhvLHMpO3RoaXMubWF4VmFsdWU9TWF0aC5tYXgodGhpcy5tYXhWYWx1ZSxvLHMpfX0sWmEucHJvdG90eXBlLnVwZGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5wYWludFZlcnRleEFycmF5LGk9dGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOnRoaXMuem9vbX0scixuKSxvPXRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZSh7em9vbTp0aGlzLnpvb20rMX0scixuKTtpZigiY29sb3IiPT09dGhpcy50eXBlKWZvcih2YXIgcz1HYShpKSxsPUdhKG8pLGM9dDtjPGU7YysrKWEuZW1wbGFjZShjLHNbMF0sc1sxXSxsWzBdLGxbMV0pO2Vsc2V7Zm9yKHZhciB1PXQ7dTxlO3UrKylhLmVtcGxhY2UodSxpLG8pO3RoaXMubWF4VmFsdWU9TWF0aC5tYXgodGhpcy5tYXhWYWx1ZSxpLG8pfX0sWmEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnBhaW50VmVydGV4QXJyYXkmJnRoaXMucGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmKHRoaXMucGFpbnRWZXJ0ZXhCdWZmZXImJnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXIuYnVmZmVyP3RoaXMucGFpbnRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YSh0aGlzLnBhaW50VmVydGV4QXJyYXkpOnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5wYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSl9LFphLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5wYWludFZlcnRleEJ1ZmZlciYmdGhpcy5wYWludFZlcnRleEJ1ZmZlci5kZXN0cm95KCl9LFphLnByb3RvdHlwZS5pbnRlcnBvbGF0aW9uRmFjdG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnVzZUludGVnZXJab29tP3RoaXMuZXhwcmVzc2lvbi5pbnRlcnBvbGF0aW9uRmFjdG9yKE1hdGguZmxvb3IodCksdGhpcy56b29tLHRoaXMuem9vbSsxKTp0aGlzLmV4cHJlc3Npb24uaW50ZXJwb2xhdGlvbkZhY3Rvcih0LHRoaXMuem9vbSx0aGlzLnpvb20rMSl9LFphLnByb3RvdHlwZS5zZXRVbmlmb3Jtcz1mdW5jdGlvbih0LGUscil7ZS5zZXQodGhpcy5pbnRlcnBvbGF0aW9uRmFjdG9yKHIuem9vbSkpfSxaYS5wcm90b3R5cGUuZ2V0QmluZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgQmEodCxlKX07dmFyIEphPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3RoaXMuZXhwcmVzc2lvbj10LHRoaXMubmFtZXM9ZSx0aGlzLnR5cGU9cix0aGlzLnVuaWZvcm1OYW1lcz10aGlzLm5hbWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idV8iK3QrIl90In0pLHRoaXMudXNlSW50ZWdlclpvb209bix0aGlzLnpvb209YSx0aGlzLm1heFZhbHVlPS0xLzAsdGhpcy5sYXllcklkPW8sdGhpcy5wYWludFZlcnRleEF0dHJpYnV0ZXM9ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue25hbWU6ImFfIit0LHR5cGU6IlVpbnQxNiIsY29tcG9uZW50czo0LG9mZnNldDowfX0pLHRoaXMuem9vbUluUGFpbnRWZXJ0ZXhBcnJheT1uZXcgaSx0aGlzLnpvb21PdXRQYWludFZlcnRleEFycmF5PW5ldyBpfTtKYS5wcm90b3R5cGUuZGVmaW5lcz1mdW5jdGlvbigpe3JldHVybltdfSxKYS5wcm90b3R5cGUuc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zPWZ1bmN0aW9uKCl7fSxKYS5wcm90b3R5cGUucG9wdWxhdGVQYWludEFycmF5PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnpvb21JblBhaW50VmVydGV4QXJyYXksYT10aGlzLnpvb21PdXRQYWludFZlcnRleEFycmF5LGk9dGhpcy5sYXllcklkLG89bi5sZW5ndGg7aWYobi5yZXNlcnZlKHQpLGEucmVzZXJ2ZSh0KSxyJiZlLnBhdHRlcm5zJiZlLnBhdHRlcm5zW2ldKXt2YXIgcz1lLnBhdHRlcm5zW2ldLGw9cy5taW4sYz1zLm1pZCx1PXMubWF4LGg9cltsXSxmPXJbY10scD1yW3VdO2lmKCFofHwhZnx8IXApcmV0dXJuO2Zvcih2YXIgZD1vO2Q8dDtkKyspbi5lbXBsYWNlQmFjayhmLnRsWzBdLGYudGxbMV0sZi5iclswXSxmLmJyWzFdLGgudGxbMF0saC50bFsxXSxoLmJyWzBdLGguYnJbMV0pLGEuZW1wbGFjZUJhY2soZi50bFswXSxmLnRsWzFdLGYuYnJbMF0sZi5iclsxXSxwLnRsWzBdLHAudGxbMV0scC5iclswXSxwLmJyWzFdKX19LEphLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9dGhpcy56b29tSW5QYWludFZlcnRleEFycmF5LG89dGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhBcnJheSxzPXRoaXMubGF5ZXJJZDtpZihhJiZyLnBhdHRlcm5zJiZyLnBhdHRlcm5zW3NdKXt2YXIgbD1yLnBhdHRlcm5zW3NdLGM9bC5taW4sdT1sLm1pZCxoPWwubWF4LGY9YVtjXSxwPWFbdV0sZD1hW2hdO2lmKCFmfHwhcHx8IWQpcmV0dXJuO2Zvcih2YXIgZz10O2c8ZTtnKyspaS5lbXBsYWNlKGcscC50bFswXSxwLnRsWzFdLHAuYnJbMF0scC5iclsxXSxmLnRsWzBdLGYudGxbMV0sZi5iclswXSxmLmJyWzFdKSxvLmVtcGxhY2UoZyxwLnRsWzBdLHAudGxbMV0scC5iclswXSxwLmJyWzFdLGQudGxbMF0sZC50bFsxXSxkLmJyWzBdLGQuYnJbMV0pfX0sSmEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnpvb21JblBhaW50VmVydGV4QXJyYXkmJnRoaXMuem9vbUluUGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmdGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhBcnJheSYmdGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmKHRoaXMuem9vbUluUGFpbnRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy56b29tSW5QYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSx0aGlzLnpvb21PdXRQYWludFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLnpvb21PdXRQYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSl9LEphLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhCdWZmZXImJnRoaXMuem9vbU91dFBhaW50VmVydGV4QnVmZmVyLmRlc3Ryb3koKSx0aGlzLnpvb21JblBhaW50VmVydGV4QnVmZmVyJiZ0aGlzLnpvb21JblBhaW50VmVydGV4QnVmZmVyLmRlc3Ryb3koKX0sSmEucHJvdG90eXBlLnNldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSl7ZS5zZXQoMCl9LEphLnByb3RvdHlwZS5nZXRCaW5kaW5nPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBCYSh0LGUpfTt2YXIgS2E9ZnVuY3Rpb24oKXt0aGlzLmJpbmRlcnM9e30sdGhpcy5jYWNoZUtleT0iIix0aGlzLl9idWZmZXJzPVtdLHRoaXMuX2ZlYXR1cmVNYXA9bmV3IElhLHRoaXMuX2J1ZmZlck9mZnNldD0wfTtLYS5jcmVhdGVEeW5hbWljPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1uZXcgS2EsYT1bXTtmb3IodmFyIGkgaW4gdC5wYWludC5fdmFsdWVzKWlmKHIoaSkpe3ZhciBvPXQucGFpbnQuZ2V0KGkpO2lmKG8gaW5zdGFuY2VvZiBCbiYmdXIoby5wcm9wZXJ0eS5zcGVjaWZpY2F0aW9uKSl7dmFyIHM9JGEoaSx0LnR5cGUpLGw9by5wcm9wZXJ0eS5zcGVjaWZpY2F0aW9uLnR5cGUsYz1vLnByb3BlcnR5LnVzZUludGVnZXJab29tO2lmKCJjcm9zcy1mYWRlZCI9PT1vLnByb3BlcnR5LnNwZWNpZmljYXRpb25bInByb3BlcnR5LXR5cGUiXXx8ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIj09PW8ucHJvcGVydHkuc3BlY2lmaWNhdGlvblsicHJvcGVydHktdHlwZSJdKWlmKCJjb25zdGFudCI9PT1vLnZhbHVlLmtpbmQpbi5iaW5kZXJzW2ldPW5ldyBXYShvLnZhbHVlLnZhbHVlLHMsbCksYS5wdXNoKCIvdV8iK2kpO2Vsc2V7dmFyIHU9dGkoaSxsLCJzb3VyY2UiKTtuLmJpbmRlcnNbaV09bmV3IEphKG8udmFsdWUscyxsLGMsZSx1LHQuaWQpLGEucHVzaCgiL2FfIitpKX1lbHNlIGlmKCJjb25zdGFudCI9PT1vLnZhbHVlLmtpbmQpbi5iaW5kZXJzW2ldPW5ldyBZYShvLnZhbHVlLnZhbHVlLHMsbCksYS5wdXNoKCIvdV8iK2kpO2Vsc2UgaWYoInNvdXJjZSI9PT1vLnZhbHVlLmtpbmQpe3ZhciBoPXRpKGksbCwic291cmNlIik7bi5iaW5kZXJzW2ldPW5ldyBYYShvLnZhbHVlLHMsbCxoKSxhLnB1c2goIi9hXyIraSl9ZWxzZXt2YXIgZj10aShpLGwsImNvbXBvc2l0ZSIpO24uYmluZGVyc1tpXT1uZXcgWmEoby52YWx1ZSxzLGwsYyxlLGYpLGEucHVzaCgiL3pfIitpKX19fXJldHVybiBuLmNhY2hlS2V5PWEuc29ydCgpLmpvaW4oIiIpLG59LEthLnByb3RvdHlwZS5wb3B1bGF0ZVBhaW50QXJyYXlzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7Zm9yKHZhciBpIGluIHRoaXMuYmluZGVycyl0aGlzLmJpbmRlcnNbaV0ucG9wdWxhdGVQYWludEFycmF5KHQsZSxuLGEpO3ZvaWQgMCE9PWUuaWQmJnRoaXMuX2ZlYXR1cmVNYXAuYWRkKCtlLmlkLHIsdGhpcy5fYnVmZmVyT2Zmc2V0LHQpLHRoaXMuX2J1ZmZlck9mZnNldD10fSxLYS5wcm90b3R5cGUuc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHRoaXMuYmluZGVycyl0aGlzLmJpbmRlcnNbcl0uc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zKHQsZSl9LEthLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5cz1mdW5jdGlvbih0LGUscixuKXt2YXIgYT0hMTtmb3IodmFyIGkgaW4gdClmb3IodmFyIG89MCxzPXRoaXMuX2ZlYXR1cmVNYXAuZ2V0UG9zaXRpb25zKCtpKTtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb10sYz1lLmZlYXR1cmUobC5pbmRleCk7Zm9yKHZhciB1IGluIHRoaXMuYmluZGVycyl7dmFyIGg9dGhpcy5iaW5kZXJzW3VdO2lmKCEoaCBpbnN0YW5jZW9mIFlhfHxoIGluc3RhbmNlb2YgV2EpJiYhMD09PWguZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KXt2YXIgZj1yLnBhaW50LmdldCh1KTtoLmV4cHJlc3Npb249Zi52YWx1ZSxoLnVwZGF0ZVBhaW50QXJyYXkobC5zdGFydCxsLmVuZCxjLHRbaV0sbiksYT0hMH19fXJldHVybiBhfSxLYS5wcm90b3R5cGUuZGVmaW5lcz1mdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzLmJpbmRlcnMpdC5wdXNoLmFwcGx5KHQsdGhpcy5iaW5kZXJzW2VdLmRlZmluZXMoKSk7cmV0dXJuIHR9LEthLnByb3RvdHlwZS5nZXRQYWludFZlcnRleEJ1ZmZlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYnVmZmVyc30sS2EucHJvdG90eXBlLmdldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107Zm9yKHZhciBuIGluIHRoaXMuYmluZGVycylmb3IodmFyIGE9dGhpcy5iaW5kZXJzW25dLGk9MCxvPWEudW5pZm9ybU5hbWVzO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXTtpZihlW3NdKXt2YXIgbD1hLmdldEJpbmRpbmcodCxlW3NdKTtyLnB1c2goe25hbWU6cyxwcm9wZXJ0eTpuLGJpbmRpbmc6bH0pfX1yZXR1cm4gcn0sS2EucHJvdG90eXBlLnNldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYT0wLGk9ZTthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV0scz1vLm5hbWUsbD1vLnByb3BlcnR5LGM9by5iaW5kaW5nO3RoaXMuYmluZGVyc1tsXS5zZXRVbmlmb3Jtcyh0LGMsbixyLmdldChsKSxzKX19LEthLnByb3RvdHlwZS51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0aGlzLmJpbmRlcnMpe3ZhciBuPXRoaXMuYmluZGVyc1tyXTtpZihuIGluc3RhbmNlb2YgSmEpe3ZhciBhPTI9PT10LmZyb21TY2FsZT9uLnpvb21JblBhaW50VmVydGV4QnVmZmVyOm4uem9vbU91dFBhaW50VmVydGV4QnVmZmVyO2EmJmUucHVzaChhKX1lbHNlKG4gaW5zdGFuY2VvZiBYYXx8biBpbnN0YW5jZW9mIFphKSYmbi5wYWludFZlcnRleEJ1ZmZlciYmZS5wdXNoKG4ucGFpbnRWZXJ0ZXhCdWZmZXIpfXRoaXMuX2J1ZmZlcnM9ZX0sS2EucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcy5iaW5kZXJzKXRoaXMuYmluZGVyc1tlXS51cGxvYWQodCk7dmFyIHI9W107Zm9yKHZhciBuIGluIHRoaXMuYmluZGVycyl7dmFyIGE9dGhpcy5iaW5kZXJzW25dOyhhIGluc3RhbmNlb2YgWGF8fGEgaW5zdGFuY2VvZiBaYSkmJmEucGFpbnRWZXJ0ZXhCdWZmZXImJnIucHVzaChhLnBhaW50VmVydGV4QnVmZmVyKX10aGlzLl9idWZmZXJzPXJ9LEthLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuYmluZGVycyl0aGlzLmJpbmRlcnNbdF0uZGVzdHJveSgpfTt2YXIgUWE9ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49ZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zPXt9O2Zvcih2YXIgYT0wLGk9ZTthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV07dGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbby5pZF09S2EuY3JlYXRlRHluYW1pYyhvLHIsbiksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbby5pZF0ubGF5b3V0QXR0cmlidXRlcz10fXRoaXMubmVlZHNVcGxvYWQ9ITF9O2Z1bmN0aW9uICRhKHQsZSl7cmV0dXJueyJ0ZXh0LW9wYWNpdHkiOlsib3BhY2l0eSJdLCJpY29uLW9wYWNpdHkiOlsib3BhY2l0eSJdLCJ0ZXh0LWNvbG9yIjpbImZpbGxfY29sb3IiXSwiaWNvbi1jb2xvciI6WyJmaWxsX2NvbG9yIl0sInRleHQtaGFsby1jb2xvciI6WyJoYWxvX2NvbG9yIl0sImljb24taGFsby1jb2xvciI6WyJoYWxvX2NvbG9yIl0sInRleHQtaGFsby1ibHVyIjpbImhhbG9fYmx1ciJdLCJpY29uLWhhbG8tYmx1ciI6WyJoYWxvX2JsdXIiXSwidGV4dC1oYWxvLXdpZHRoIjpbImhhbG9fd2lkdGgiXSwiaWNvbi1oYWxvLXdpZHRoIjpbImhhbG9fd2lkdGgiXSwibGluZS1nYXAtd2lkdGgiOlsiZ2Fwd2lkdGgiXSwibGluZS1wYXR0ZXJuIjpbInBhdHRlcm5fdG8iLCJwYXR0ZXJuX2Zyb20iXSwiZmlsbC1wYXR0ZXJuIjpbInBhdHRlcm5fdG8iLCJwYXR0ZXJuX2Zyb20iXSwiZmlsbC1leHRydXNpb24tcGF0dGVybiI6WyJwYXR0ZXJuX3RvIiwicGF0dGVybl9mcm9tIl19W3RdfHxbdC5yZXBsYWNlKGUrIi0iLCIiKS5yZXBsYWNlKC8tL2csIl8iKV19ZnVuY3Rpb24gdGkodCxlLHIpe3ZhciBuPXtjb2xvcjp7c291cmNlOm1hLGNvbXBvc2l0ZTp5YX0sbnVtYmVyOntzb3VyY2U6aGEsY29tcG9zaXRlOm1hfX0sYT1mdW5jdGlvbih0KXtyZXR1cm57ImxpbmUtcGF0dGVybiI6e3NvdXJjZTpyYSxjb21wb3NpdGU6cmF9LCJmaWxsLXBhdHRlcm4iOntzb3VyY2U6cmEsY29tcG9zaXRlOnJhfSwiZmlsbC1leHRydXNpb24tcGF0dGVybiI6e3NvdXJjZTpyYSxjb21wb3NpdGU6cmF9fVt0XX0odCk7cmV0dXJuIGEmJmFbcl18fG5bZV1bcl19UWEucHJvdG90eXBlLnBvcHVsYXRlUGFpbnRBcnJheXM9ZnVuY3Rpb24odCxlLHIsbixhKXtmb3IodmFyIGkgaW4gdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMpdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbaV0ucG9wdWxhdGVQYWludEFycmF5cyh0LGUscixuLGEpO3RoaXMubmVlZHNVcGxvYWQ9ITB9LFFhLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5cz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MCxpPXI7YTxpLmxlbmd0aDthKz0xKXt2YXIgbz1pW2FdO3RoaXMubmVlZHNVcGxvYWQ9dGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbby5pZF0udXBkYXRlUGFpbnRBcnJheXModCxlLG8sbil8fHRoaXMubmVlZHNVcGxvYWR9fSxRYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2dyYW1Db25maWd1cmF0aW9uc1t0XX0sUWEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXtpZih0aGlzLm5lZWRzVXBsb2FkKXtmb3IodmFyIGUgaW4gdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMpdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbZV0udXBsb2FkKHQpO3RoaXMubmVlZHNVcGxvYWQ9ITF9fSxRYS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucyl0aGlzLnByb2dyYW1Db25maWd1cmF0aW9uc1t0XS5kZXN0cm95KCl9LGRuKCJDb25zdGFudEJpbmRlciIsWWEpLGRuKCJDcm9zc0ZhZGVkQ29uc3RhbnRCaW5kZXIiLFdhKSxkbigiU291cmNlRXhwcmVzc2lvbkJpbmRlciIsWGEpLGRuKCJDcm9zc0ZhZGVkQ29tcG9zaXRlQmluZGVyIixKYSksZG4oIkNvbXBvc2l0ZUV4cHJlc3Npb25CaW5kZXIiLFphKSxkbigiUHJvZ3JhbUNvbmZpZ3VyYXRpb24iLEthLHtvbWl0OlsiX2J1ZmZlcnMiXX0pLGRuKCJQcm9ncmFtQ29uZmlndXJhdGlvblNldCIsUWEpO3ZhciBlaT04MTkyLHJpPSgxNSx7bWluOi0xKk1hdGgucG93KDIsMTQpLG1heDpNYXRoLnBvdygyLDE0KS0xfSk7ZnVuY3Rpb24gbmkodCl7Zm9yKHZhciBlPWVpL3QuZXh0ZW50LHI9dC5sb2FkR2VvbWV0cnkoKSxuPTA7bjxyLmxlbmd0aDtuKyspZm9yKHZhciBhPXJbbl0saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldO28ueD1NYXRoLnJvdW5kKG8ueCplKSxvLnk9TWF0aC5yb3VuZChvLnkqZSksKG8ueDxyaS5taW58fG8ueD5yaS5tYXh8fG8ueTxyaS5taW58fG8ueT5yaS5tYXgpJiYodygiR2VvbWV0cnkgZXhjZWVkcyBhbGxvd2VkIGV4dGVudCwgcmVkdWNlIHlvdXIgdmVjdG9yIHRpbGUgYnVmZmVyIHNpemUiKSxvLng9YyhvLngscmkubWluLHJpLm1heCksby55PWMoby55LHJpLm1pbixyaS5tYXgpKX1yZXR1cm4gcn1mdW5jdGlvbiBhaSh0LGUscixuLGEpe3QuZW1wbGFjZUJhY2soMiplKyhuKzEpLzIsMipyKyhhKzEpLzIpfXZhciBpaT1mdW5jdGlvbih0KXt0aGlzLnpvb209dC56b29tLHRoaXMub3ZlcnNjYWxpbmc9dC5vdmVyc2NhbGluZyx0aGlzLmxheWVycz10LmxheWVycyx0aGlzLmxheWVySWRzPXRoaXMubGF5ZXJzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pLHRoaXMuaW5kZXg9dC5pbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgUW4sdGhpcy5pbmRleEFycmF5PW5ldyBkYSx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucz1uZXcgUWEoUGEsdC5sYXllcnMsdC56b29tKSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJJZHM9dGhpcy5sYXllcnMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzU3RhdGVEZXBlbmRlbnQoKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pfTtmdW5jdGlvbiBvaSh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKGdpKGUsdFtyXSkpcmV0dXJuITA7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspaWYoZ2kodCxlW25dKSlyZXR1cm4hMDtyZXR1cm4hIXVpKHQsZSl9ZnVuY3Rpb24gc2kodCxlLHIpe3JldHVybiEhZ2kodCxlKXx8ISFmaShlLHQscil9ZnVuY3Rpb24gbGkodCxlKXtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGRpKGUsdFswXSk7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZm9yKHZhciBuPWVbcl0sYT0wO2E8bi5sZW5ndGg7YSsrKWlmKGdpKHQsblthXSkpcmV0dXJuITA7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspaWYoZGkoZSx0W2ldKSlyZXR1cm4hMDtmb3IodmFyIG89MDtvPGUubGVuZ3RoO28rKylpZih1aSh0LGVbb10pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGNpKHQsZSxyKXtpZih0Lmxlbmd0aD4xKXtpZih1aSh0LGUpKXJldHVybiEwO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWlmKGZpKGVbbl0sdCxyKSlyZXR1cm4hMH1mb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKylpZihmaSh0W2FdLGUscikpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gdWkodCxlKXtpZigwPT09dC5sZW5ndGh8fDA9PT1lLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoLTE7cisrKWZvcih2YXIgbj10W3JdLGE9dFtyKzFdLGk9MDtpPGUubGVuZ3RoLTE7aSsrKWlmKGhpKG4sYSxlW2ldLGVbaSsxXSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gaGkodCxlLHIsbil7cmV0dXJuIGsodCxyLG4pIT09ayhlLHIsbikmJmsodCxlLHIpIT09ayh0LGUsbil9ZnVuY3Rpb24gZmkodCxlLHIpe3ZhciBuPXIqcjtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHQuZGlzdFNxcihlWzBdKTxuO2Zvcih2YXIgYT0xO2E8ZS5sZW5ndGg7YSsrKWlmKHBpKHQsZVthLTFdLGVbYV0pPG4pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gcGkodCxlLHIpe3ZhciBuPWUuZGlzdFNxcihyKTtpZigwPT09bilyZXR1cm4gdC5kaXN0U3FyKGUpO3ZhciBhPSgodC54LWUueCkqKHIueC1lLngpKyh0LnktZS55KSooci55LWUueSkpL247cmV0dXJuIGE8MD90LmRpc3RTcXIoZSk6YT4xP3QuZGlzdFNxcihyKTp0LmRpc3RTcXIoci5zdWIoZSkuX211bHQoYSkuX2FkZChlKSl9ZnVuY3Rpb24gZGkodCxlKXtmb3IodmFyIHIsbixhLGk9ITEsbz0wO288dC5sZW5ndGg7bysrKWZvcih2YXIgcz0wLGw9KHI9dFtvXSkubGVuZ3RoLTE7czxyLmxlbmd0aDtsPXMrKyluPXJbc10sYT1yW2xdLG4ueT5lLnkhPWEueT5lLnkmJmUueDwoYS54LW4ueCkqKGUueS1uLnkpLyhhLnktbi55KStuLngmJihpPSFpKTtyZXR1cm4gaX1mdW5jdGlvbiBnaSh0LGUpe2Zvcih2YXIgcj0hMSxuPTAsYT10Lmxlbmd0aC0xO248dC5sZW5ndGg7YT1uKyspe3ZhciBpPXRbbl0sbz10W2FdO2kueT5lLnkhPW8ueT5lLnkmJmUueDwoby54LWkueCkqKGUueS1pLnkpLyhvLnktaS55KStpLngmJihyPSFyKX1yZXR1cm4gcn1mdW5jdGlvbiB2aSh0LGUscil7dmFyIG49clswXSxhPXJbMl07aWYodC54PG4ueCYmZS54PG4ueHx8dC54PmEueCYmZS54PmEueHx8dC55PG4ueSYmZS55PG4ueXx8dC55PmEueSYmZS55PmEueSlyZXR1cm4hMTt2YXIgaT1rKHQsZSxyWzBdKTtyZXR1cm4gaSE9PWsodCxlLHJbMV0pfHxpIT09ayh0LGUsclsyXSl8fGkhPT1rKHQsZSxyWzNdKX1mdW5jdGlvbiBtaSh0LGUscil7dmFyIG49ZS5wYWludC5nZXQodCkudmFsdWU7cmV0dXJuImNvbnN0YW50Ij09PW4ua2luZD9uLnZhbHVlOnIucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChlLmlkKS5iaW5kZXJzW3RdLm1heFZhbHVlfWZ1bmN0aW9uIHlpKHQpe3JldHVybiBNYXRoLnNxcnQodFswXSp0WzBdK3RbMV0qdFsxXSl9ZnVuY3Rpb24geGkodCxlLHIsbixpKXtpZighZVswXSYmIWVbMV0pcmV0dXJuIHQ7dmFyIG89YS5jb252ZXJ0KGUpLl9tdWx0KGkpOyJ2aWV3cG9ydCI9PT1yJiZvLl9yb3RhdGUoLW4pO2Zvcih2YXIgcz1bXSxsPTA7bDx0Lmxlbmd0aDtsKyspe3ZhciBjPXRbbF07cy5wdXNoKGMuc3ViKG8pKX1yZXR1cm4gc31paS5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxheWVyc1swXSxuPVtdLGE9bnVsbDsiY2lyY2xlIj09PXIudHlwZSYmKGE9ci5sYXlvdXQuZ2V0KCJjaXJjbGUtc29ydC1rZXkiKSk7Zm9yKHZhciBpPTAsbz10O2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXMuZmVhdHVyZSxjPXMuaW5kZXgsdT1zLnNvdXJjZUxheWVySW5kZXg7aWYodGhpcy5sYXllcnNbMF0uX2ZlYXR1cmVGaWx0ZXIobmV3IFBuKHRoaXMuem9vbSksbCkpe3ZhciBoPW5pKGwpLGY9YT9hLmV2YWx1YXRlKGwse30pOnZvaWQgMCxwPXtpZDpsLmlkLHByb3BlcnRpZXM6bC5wcm9wZXJ0aWVzLHR5cGU6bC50eXBlLHNvdXJjZUxheWVySW5kZXg6dSxpbmRleDpjLGdlb21ldHJ5OmgscGF0dGVybnM6e30sc29ydEtleTpmfTtuLnB1c2gocCl9fWEmJm4uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LnNvcnRLZXktZS5zb3J0S2V5fSk7Zm9yKHZhciBkPTAsZz1uO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXSxtPXYseT1tLmdlb21ldHJ5LHg9bS5pbmRleCxiPW0uc291cmNlTGF5ZXJJbmRleCxfPXRbeF0uZmVhdHVyZTt0aGlzLmFkZEZlYXR1cmUodix5LHgpLGUuZmVhdHVyZUluZGV4Lmluc2VydChfLHkseCxiLHRoaXMuaW5kZXgpfX0saWkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dGhpcy5zdGF0ZURlcGVuZGVudExheWVycy5sZW5ndGgmJnRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJzLHIpfSxpaS5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGh9LGlpLnByb3RvdHlwZS51cGxvYWRQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudXBsb2FkZWR8fHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLm5lZWRzVXBsb2FkfSxpaS5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQpe3RoaXMudXBsb2FkZWR8fCh0aGlzLmxheW91dFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLmxheW91dFZlcnRleEFycmF5LFBhKSx0aGlzLmluZGV4QnVmZmVyPXQuY3JlYXRlSW5kZXhCdWZmZXIodGhpcy5pbmRleEFycmF5KSksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpLHRoaXMudXBsb2FkZWQ9ITB9LGlpLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZGVzdHJveSgpLHRoaXMuc2VnbWVudHMuZGVzdHJveSgpKX0saWkucHJvdG90eXBlLmFkZEZlYXR1cmU9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpZm9yKHZhciBpPTAsbz1hW25dO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXMueCxjPXMueTtpZighKGw8MHx8bD49ZWl8fGM8MHx8Yz49ZWkpKXt2YXIgdT10aGlzLnNlZ21lbnRzLnByZXBhcmVTZWdtZW50KDQsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXksdC5zb3J0S2V5KSxoPXUudmVydGV4TGVuZ3RoO2FpKHRoaXMubGF5b3V0VmVydGV4QXJyYXksbCxjLC0xLC0xKSxhaSh0aGlzLmxheW91dFZlcnRleEFycmF5LGwsYywxLC0xKSxhaSh0aGlzLmxheW91dFZlcnRleEFycmF5LGwsYywxLDEpLGFpKHRoaXMubGF5b3V0VmVydGV4QXJyYXksbCxjLC0xLDEpLHRoaXMuaW5kZXhBcnJheS5lbXBsYWNlQmFjayhoLGgrMSxoKzIpLHRoaXMuaW5kZXhBcnJheS5lbXBsYWNlQmFjayhoLGgrMyxoKzIpLHUudmVydGV4TGVuZ3RoKz00LHUucHJpbWl0aXZlTGVuZ3RoKz0yfX10aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHRoaXMubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLHQscix7fSl9LGRuKCJDaXJjbGVCdWNrZXQiLGlpLHtvbWl0OlsibGF5ZXJzIl19KTt2YXIgYmksX2k9bmV3IEduKHsiY2lyY2xlLXNvcnQta2V5IjpuZXcgVm4oVHQubGF5b3V0X2NpcmNsZVsiY2lyY2xlLXNvcnQta2V5Il0pfSksd2k9e3BhaW50Om5ldyBHbih7ImNpcmNsZS1yYWRpdXMiOm5ldyBWbihUdC5wYWludF9jaXJjbGVbImNpcmNsZS1yYWRpdXMiXSksImNpcmNsZS1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLWNvbG9yIl0pLCJjaXJjbGUtYmx1ciI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLWJsdXIiXSksImNpcmNsZS1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfY2lyY2xlWyJjaXJjbGUtb3BhY2l0eSJdKSwiY2lyY2xlLXRyYW5zbGF0ZSI6bmV3IGpuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXRyYW5zbGF0ZSJdKSwiY2lyY2xlLXRyYW5zbGF0ZS1hbmNob3IiOm5ldyBqbihUdC5wYWludF9jaXJjbGVbImNpcmNsZS10cmFuc2xhdGUtYW5jaG9yIl0pLCJjaXJjbGUtcGl0Y2gtc2NhbGUiOm5ldyBqbihUdC5wYWludF9jaXJjbGVbImNpcmNsZS1waXRjaC1zY2FsZSJdKSwiY2lyY2xlLXBpdGNoLWFsaWdubWVudCI6bmV3IGpuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXBpdGNoLWFsaWdubWVudCJdKSwiY2lyY2xlLXN0cm9rZS13aWR0aCI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXN0cm9rZS13aWR0aCJdKSwiY2lyY2xlLXN0cm9rZS1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXN0cm9rZS1jb2xvciJdKSwiY2lyY2xlLXN0cm9rZS1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfY2lyY2xlWyJjaXJjbGUtc3Ryb2tlLW9wYWNpdHkiXSl9KSxsYXlvdXQ6X2l9LGtpPSJ1bmRlZmluZWQiIT10eXBlb2YgRmxvYXQzMkFycmF5P0Zsb2F0MzJBcnJheTpBcnJheTtmdW5jdGlvbiBUaSh0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXTtyZXR1cm4gdFswXT1yWzBdKm4rcls0XSphK3JbOF0qaStyWzEyXSpvLHRbMV09clsxXSpuK3JbNV0qYStyWzldKmkrclsxM10qbyx0WzJdPXJbMl0qbityWzZdKmErclsxMF0qaStyWzE0XSpvLHRbM109clszXSpuK3JbN10qYStyWzExXSppK3JbMTVdKm8sdH1NYXRoLmh5cG90fHwoTWF0aC5oeXBvdD1mdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMsZT0wLHI9YXJndW1lbnRzLmxlbmd0aDtyLS07KWUrPXRbcl0qdFtyXTtyZXR1cm4gTWF0aC5zcXJ0KGUpfSksYmk9bmV3IGtpKDMpLGtpIT1GbG9hdDMyQXJyYXkmJihiaVswXT0wLGJpWzFdPTAsYmlbMl09MCksZnVuY3Rpb24oKXt2YXIgdD1uZXcga2koNCk7a2khPUZsb2F0MzJBcnJheSYmKHRbMF09MCx0WzFdPTAsdFsyXT0wLHRbM109MCl9KCk7dmFyIE1pPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSx3aSl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmNyZWF0ZUJ1Y2tldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGlpKHQpfSxlLnByb3RvdHlwZS5xdWVyeVJhZGl1cz1mdW5jdGlvbih0KXt2YXIgZT10O3JldHVybiBtaSgiY2lyY2xlLXJhZGl1cyIsdGhpcyxlKSttaSgiY2lyY2xlLXN0cm9rZS13aWR0aCIsdGhpcyxlKSt5aSh0aGlzLnBhaW50LmdldCgiY2lyY2xlLXRyYW5zbGF0ZSIpKX0sZS5wcm90b3R5cGUucXVlcnlJbnRlcnNlY3RzRmVhdHVyZT1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe2Zvcih2YXIgbD14aSh0LHRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtdHJhbnNsYXRlIiksdGhpcy5wYWludC5nZXQoImNpcmNsZS10cmFuc2xhdGUtYW5jaG9yIiksaS5hbmdsZSxvKSxjPXRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtcmFkaXVzIikuZXZhbHVhdGUoZSxyKSt0aGlzLnBhaW50LmdldCgiY2lyY2xlLXN0cm9rZS13aWR0aCIpLmV2YWx1YXRlKGUsciksdT0ibWFwIj09PXRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtcGl0Y2gtYWxpZ25tZW50IiksaD11P2w6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEFpKHQsZSl9KX0oMCxzKSxmPXU/YypvOmMscD0wLGQ9bjtwPGQubGVuZ3RoO3ArPTEpZm9yKHZhciBnPTAsdj1kW3BdO2c8di5sZW5ndGg7Zys9MSl7dmFyIG09dltnXSx5PXU/bTpBaShtLHMpLHg9ZixiPVRpKFtdLFttLngsbS55LDAsMV0scyk7aWYoInZpZXdwb3J0Ij09PXRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtcGl0Y2gtc2NhbGUiKSYmIm1hcCI9PT10aGlzLnBhaW50LmdldCgiY2lyY2xlLXBpdGNoLWFsaWdubWVudCIpP3gqPWJbM10vaS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlOiJtYXAiPT09dGhpcy5wYWludC5nZXQoImNpcmNsZS1waXRjaC1zY2FsZSIpJiYidmlld3BvcnQiPT09dGhpcy5wYWludC5nZXQoImNpcmNsZS1waXRjaC1hbGlnbm1lbnQiKSYmKHgqPWkuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZS9iWzNdKSxzaShoLHkseCkpcmV0dXJuITB9cmV0dXJuITF9LGV9KFluKTtmdW5jdGlvbiBBaSh0LGUpe3ZhciByPVRpKFtdLFt0LngsdC55LDAsMV0sZSk7cmV0dXJuIG5ldyBhKHJbMF0vclszXSxyWzFdL3JbM10pfXZhciBTaT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGV9KGlpKTtmdW5jdGlvbiBFaSh0LGUscixuKXt2YXIgYT1lLndpZHRoLGk9ZS5oZWlnaHQ7aWYobil7aWYobiBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KW49bmV3IFVpbnQ4QXJyYXkobi5idWZmZXIpO2Vsc2UgaWYobi5sZW5ndGghPT1hKmkqcil0aHJvdyBuZXcgUmFuZ2VFcnJvcigibWlzbWF0Y2hlZCBpbWFnZSBzaXplIil9ZWxzZSBuPW5ldyBVaW50OEFycmF5KGEqaSpyKTtyZXR1cm4gdC53aWR0aD1hLHQuaGVpZ2h0PWksdC5kYXRhPW4sdH1mdW5jdGlvbiBMaSh0LGUscil7dmFyIG49ZS53aWR0aCxhPWUuaGVpZ2h0O2lmKG4hPT10LndpZHRofHxhIT09dC5oZWlnaHQpe3ZhciBpPUVpKHt9LHt3aWR0aDpuLGhlaWdodDphfSxyKTtDaSh0LGkse3g6MCx5OjB9LHt4OjAseTowfSx7d2lkdGg6TWF0aC5taW4odC53aWR0aCxuKSxoZWlnaHQ6TWF0aC5taW4odC5oZWlnaHQsYSl9LHIpLHQud2lkdGg9bix0LmhlaWdodD1hLHQuZGF0YT1pLmRhdGF9fWZ1bmN0aW9uIENpKHQsZSxyLG4sYSxpKXtpZigwPT09YS53aWR0aHx8MD09PWEuaGVpZ2h0KXJldHVybiBlO2lmKGEud2lkdGg+dC53aWR0aHx8YS5oZWlnaHQ+dC5oZWlnaHR8fHIueD50LndpZHRoLWEud2lkdGh8fHIueT50LmhlaWdodC1hLmhlaWdodCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIHNvdXJjZSBjb29yZGluYXRlcyBmb3IgaW1hZ2UgY29weSIpO2lmKGEud2lkdGg+ZS53aWR0aHx8YS5oZWlnaHQ+ZS5oZWlnaHR8fG4ueD5lLndpZHRoLWEud2lkdGh8fG4ueT5lLmhlaWdodC1hLmhlaWdodCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIGZvciBpbWFnZSBjb3B5Iik7Zm9yKHZhciBvPXQuZGF0YSxzPWUuZGF0YSxsPTA7bDxhLmhlaWdodDtsKyspZm9yKHZhciBjPSgoci55K2wpKnQud2lkdGgrci54KSppLHU9KChuLnkrbCkqZS53aWR0aCtuLngpKmksaD0wO2g8YS53aWR0aCppO2grKylzW3UraF09b1tjK2hdO3JldHVybiBlfWRuKCJIZWF0bWFwQnVja2V0IixTaSx7b21pdDpbImxheWVycyJdfSk7dmFyIFBpPWZ1bmN0aW9uKHQsZSl7RWkodGhpcyx0LDEsZSl9O1BpLnByb3RvdHlwZS5yZXNpemU9ZnVuY3Rpb24odCl7TGkodGhpcyx0LDEpfSxQaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFBpKHt3aWR0aDp0aGlzLndpZHRoLGhlaWdodDp0aGlzLmhlaWdodH0sbmV3IFVpbnQ4QXJyYXkodGhpcy5kYXRhKSl9LFBpLmNvcHk9ZnVuY3Rpb24odCxlLHIsbixhKXtDaSh0LGUscixuLGEsMSl9O3ZhciBPaT1mdW5jdGlvbih0LGUpe0VpKHRoaXMsdCw0LGUpfTtPaS5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKHQpe0xpKHRoaXMsdCw0KX0sT2kucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24odCxlKXtlP3RoaXMuZGF0YS5zZXQodCk6dCBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5P3RoaXMuZGF0YT1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcik6dGhpcy5kYXRhPXR9LE9pLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgT2koe3dpZHRoOnRoaXMud2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0fSxuZXcgVWludDhBcnJheSh0aGlzLmRhdGEpKX0sT2kuY29weT1mdW5jdGlvbih0LGUscixuLGEpe0NpKHQsZSxyLG4sYSw0KX0sZG4oIkFscGhhSW1hZ2UiLFBpKSxkbigiUkdCQUltYWdlIixPaSk7dmFyIHppPXtwYWludDpuZXcgR24oeyJoZWF0bWFwLXJhZGl1cyI6bmV3IFZuKFR0LnBhaW50X2hlYXRtYXBbImhlYXRtYXAtcmFkaXVzIl0pLCJoZWF0bWFwLXdlaWdodCI6bmV3IFZuKFR0LnBhaW50X2hlYXRtYXBbImhlYXRtYXAtd2VpZ2h0Il0pLCJoZWF0bWFwLWludGVuc2l0eSI6bmV3IGpuKFR0LnBhaW50X2hlYXRtYXBbImhlYXRtYXAtaW50ZW5zaXR5Il0pLCJoZWF0bWFwLWNvbG9yIjpuZXcgSG4oVHQucGFpbnRfaGVhdG1hcFsiaGVhdG1hcC1jb2xvciJdKSwiaGVhdG1hcC1vcGFjaXR5IjpuZXcgam4oVHQucGFpbnRfaGVhdG1hcFsiaGVhdG1hcC1vcGFjaXR5Il0pfSl9O2Z1bmN0aW9uIElpKHQsZSl7Zm9yKHZhciByPW5ldyBVaW50OEFycmF5KDEwMjQpLG49e30sYT0wLGk9MDthPDI1NjthKyssaSs9NCl7bltlXT1hLzI1NTt2YXIgbz10LmV2YWx1YXRlKG4pO3JbaSswXT1NYXRoLmZsb29yKDI1NSpvLnIvby5hKSxyW2krMV09TWF0aC5mbG9vcigyNTUqby5nL28uYSkscltpKzJdPU1hdGguZmxvb3IoMjU1Km8uYi9vLmEpLHJbaSszXT1NYXRoLmZsb29yKDI1NSpvLmEpfXJldHVybiBuZXcgT2koe3dpZHRoOjI1NixoZWlnaHQ6MX0scil9dmFyIERpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSx6aSksdGhpcy5fdXBkYXRlQ29sb3JSYW1wKCl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmNyZWF0ZUJ1Y2tldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFNpKHQpfSxlLnByb3RvdHlwZS5faGFuZGxlU3BlY2lhbFBhaW50UHJvcGVydHlVcGRhdGU9ZnVuY3Rpb24odCl7ImhlYXRtYXAtY29sb3IiPT09dCYmdGhpcy5fdXBkYXRlQ29sb3JSYW1wKCl9LGUucHJvdG90eXBlLl91cGRhdGVDb2xvclJhbXA9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50Ll92YWx1ZXNbImhlYXRtYXAtY29sb3IiXS52YWx1ZS5leHByZXNzaW9uO3RoaXMuY29sb3JSYW1wPUlpKHQsImhlYXRtYXBEZW5zaXR5IiksdGhpcy5jb2xvclJhbXBUZXh0dXJlPW51bGx9LGUucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbigpe3RoaXMuaGVhdG1hcEZibyYmKHRoaXMuaGVhdG1hcEZiby5kZXN0cm95KCksdGhpcy5oZWF0bWFwRmJvPW51bGwpfSxlLnByb3RvdHlwZS5xdWVyeVJhZGl1cz1mdW5jdGlvbigpe3JldHVybiAwfSxlLnByb3RvdHlwZS5xdWVyeUludGVyc2VjdHNGZWF0dXJlPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLmhhc09mZnNjcmVlblBhc3M9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMucGFpbnQuZ2V0KCJoZWF0bWFwLW9wYWNpdHkiKSYmIm5vbmUiIT09dGhpcy52aXNpYmlsaXR5fSxlfShZbiksUmk9e3BhaW50Om5ldyBHbih7ImhpbGxzaGFkZS1pbGx1bWluYXRpb24tZGlyZWN0aW9uIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtaWxsdW1pbmF0aW9uLWRpcmVjdGlvbiJdKSwiaGlsbHNoYWRlLWlsbHVtaW5hdGlvbi1hbmNob3IiOm5ldyBqbihUdC5wYWludF9oaWxsc2hhZGVbImhpbGxzaGFkZS1pbGx1bWluYXRpb24tYW5jaG9yIl0pLCJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIl0pLCJoaWxsc2hhZGUtc2hhZG93LWNvbG9yIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtc2hhZG93LWNvbG9yIl0pLCJoaWxsc2hhZGUtaGlnaGxpZ2h0LWNvbG9yIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtaGlnaGxpZ2h0LWNvbG9yIl0pLCJoaWxsc2hhZGUtYWNjZW50LWNvbG9yIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtYWNjZW50LWNvbG9yIl0pfSl9LEZpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSxSaSl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmhhc09mZnNjcmVlblBhc3M9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMucGFpbnQuZ2V0KCJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIikmJiJub25lIiE9PXRoaXMudmlzaWJpbGl0eX0sZX0oWW4pLEJpPUpuKFt7bmFtZToiYV9wb3MiLGNvbXBvbmVudHM6Mix0eXBlOiJJbnQxNiJ9XSw0KS5tZW1iZXJzLE5pPVZpLGppPVZpO2Z1bmN0aW9uIFZpKHQsZSxyKXtyPXJ8fDI7dmFyIG4sYSxpLG8scyxsLGMsdT1lJiZlLmxlbmd0aCxoPXU/ZVswXSpyOnQubGVuZ3RoLGY9VWkodCwwLGgsciwhMCkscD1bXTtpZighZnx8Zi5uZXh0PT09Zi5wcmV2KXJldHVybiBwO2lmKHUmJihmPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbyxzPVtdO2ZvcihhPTAsaT1lLmxlbmd0aDthPGk7YSsrKShvPVVpKHQsZVthXSpuLGE8aS0xP2VbYSsxXSpuOnQubGVuZ3RoLG4sITEpKT09PW8ubmV4dCYmKG8uc3RlaW5lcj0hMCkscy5wdXNoKCRpKG8pKTtmb3Iocy5zb3J0KFppKSxhPTA7YTxzLmxlbmd0aDthKyspSmkoc1thXSxyKSxyPXFpKHIsci5uZXh0KTtyZXR1cm4gcn0odCxlLGYscikpLHQubGVuZ3RoPjgwKnIpe249aT10WzBdLGE9bz10WzFdO2Zvcih2YXIgZD1yO2Q8aDtkKz1yKShzPXRbZF0pPG4mJihuPXMpLChsPXRbZCsxXSk8YSYmKGE9bCkscz5pJiYoaT1zKSxsPm8mJihvPWwpO2M9MCE9PShjPU1hdGgubWF4KGktbixvLWEpKT8xL2M6MH1yZXR1cm4gSGkoZixwLHIsbixhLGMpLHB9ZnVuY3Rpb24gVWkodCxlLHIsbixhKXt2YXIgaSxvO2lmKGE9PT1mbyh0LGUscixuKT4wKWZvcihpPWU7aTxyO2krPW4pbz1jbyhpLHRbaV0sdFtpKzFdLG8pO2Vsc2UgZm9yKGk9ci1uO2k+PWU7aS09bilvPWNvKGksdFtpXSx0W2krMV0sbyk7cmV0dXJuIG8mJm5vKG8sby5uZXh0KSYmKHVvKG8pLG89by5uZXh0KSxvfWZ1bmN0aW9uIHFpKHQsZSl7aWYoIXQpcmV0dXJuIHQ7ZXx8KGU9dCk7dmFyIHIsbj10O2Rve2lmKHI9ITEsbi5zdGVpbmVyfHwhbm8obixuLm5leHQpJiYwIT09cm8obi5wcmV2LG4sbi5uZXh0KSluPW4ubmV4dDtlbHNle2lmKHVvKG4pLChuPWU9bi5wcmV2KT09PW4ubmV4dClicmVhaztyPSEwfX13aGlsZShyfHxuIT09ZSk7cmV0dXJuIGV9ZnVuY3Rpb24gSGkodCxlLHIsbixhLGksbyl7aWYodCl7IW8mJmkmJmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXQ7ZG97bnVsbD09PWEueiYmKGEuej1RaShhLngsYS55LGUscixuKSksYS5wcmV2Wj1hLnByZXYsYS5uZXh0Wj1hLm5leHQsYT1hLm5leHR9d2hpbGUoYSE9PXQpO2EucHJldloubmV4dFo9bnVsbCxhLnByZXZaPW51bGwsZnVuY3Rpb24odCl7dmFyIGUscixuLGEsaSxvLHMsbCxjPTE7ZG97Zm9yKHI9dCx0PW51bGwsaT1udWxsLG89MDtyOyl7Zm9yKG8rKyxuPXIscz0wLGU9MDtlPGMmJihzKyssbj1uLm5leHRaKTtlKyspO2ZvcihsPWM7cz4wfHxsPjAmJm47KTAhPT1zJiYoMD09PWx8fCFufHxyLno8PW4ueik/KGE9cixyPXIubmV4dFoscy0tKTooYT1uLG49bi5uZXh0WixsLS0pLGk/aS5uZXh0Wj1hOnQ9YSxhLnByZXZaPWksaT1hO3I9bn1pLm5leHRaPW51bGwsYyo9Mn13aGlsZShvPjEpfShhKX0odCxuLGEsaSk7Zm9yKHZhciBzLGwsYz10O3QucHJldiE9PXQubmV4dDspaWYocz10LnByZXYsbD10Lm5leHQsaT9ZaSh0LG4sYSxpKTpHaSh0KSllLnB1c2gocy5pL3IpLGUucHVzaCh0LmkvciksZS5wdXNoKGwuaS9yKSx1byh0KSx0PWwubmV4dCxjPWwubmV4dDtlbHNlIGlmKCh0PWwpPT09Yyl7bz8xPT09bz9IaSh0PVdpKHFpKHQpLGUsciksZSxyLG4sYSxpLDIpOjI9PT1vJiZYaSh0LGUscixuLGEsaSk6SGkocWkodCksZSxyLG4sYSxpLDEpO2JyZWFrfX19ZnVuY3Rpb24gR2kodCl7dmFyIGU9dC5wcmV2LHI9dCxuPXQubmV4dDtpZihybyhlLHIsbik+PTApcmV0dXJuITE7Zm9yKHZhciBhPXQubmV4dC5uZXh0O2EhPT10LnByZXY7KXtpZih0byhlLngsZS55LHIueCxyLnksbi54LG4ueSxhLngsYS55KSYmcm8oYS5wcmV2LGEsYS5uZXh0KT49MClyZXR1cm4hMTthPWEubmV4dH1yZXR1cm4hMH1mdW5jdGlvbiBZaSh0LGUscixuKXt2YXIgYT10LnByZXYsaT10LG89dC5uZXh0O2lmKHJvKGEsaSxvKT49MClyZXR1cm4hMTtmb3IodmFyIHM9YS54PGkueD9hLng8by54P2EueDpvLng6aS54PG8ueD9pLng6by54LGw9YS55PGkueT9hLnk8by55P2EueTpvLnk6aS55PG8ueT9pLnk6by55LGM9YS54PmkueD9hLng+by54P2EueDpvLng6aS54Pm8ueD9pLng6by54LHU9YS55PmkueT9hLnk+by55P2EueTpvLnk6aS55Pm8ueT9pLnk6by55LGg9UWkocyxsLGUscixuKSxmPVFpKGMsdSxlLHIsbikscD10LnByZXZaLGQ9dC5uZXh0WjtwJiZwLno+PWgmJmQmJmQuejw9Zjspe2lmKHAhPT10LnByZXYmJnAhPT10Lm5leHQmJnRvKGEueCxhLnksaS54LGkueSxvLngsby55LHAueCxwLnkpJiZybyhwLnByZXYscCxwLm5leHQpPj0wKXJldHVybiExO2lmKHA9cC5wcmV2WixkIT09dC5wcmV2JiZkIT09dC5uZXh0JiZ0byhhLngsYS55LGkueCxpLnksby54LG8ueSxkLngsZC55KSYmcm8oZC5wcmV2LGQsZC5uZXh0KT49MClyZXR1cm4hMTtkPWQubmV4dFp9Zm9yKDtwJiZwLno+PWg7KXtpZihwIT09dC5wcmV2JiZwIT09dC5uZXh0JiZ0byhhLngsYS55LGkueCxpLnksby54LG8ueSxwLngscC55KSYmcm8ocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtwPXAucHJldlp9Zm9yKDtkJiZkLno8PWY7KXtpZihkIT09dC5wcmV2JiZkIT09dC5uZXh0JiZ0byhhLngsYS55LGkueCxpLnksby54LG8ueSxkLngsZC55KSYmcm8oZC5wcmV2LGQsZC5uZXh0KT49MClyZXR1cm4hMTtkPWQubmV4dFp9cmV0dXJuITB9ZnVuY3Rpb24gV2kodCxlLHIpe3ZhciBuPXQ7ZG97dmFyIGE9bi5wcmV2LGk9bi5uZXh0Lm5leHQ7IW5vKGEsaSkmJmFvKGEsbixuLm5leHQsaSkmJnNvKGEsaSkmJnNvKGksYSkmJihlLnB1c2goYS5pL3IpLGUucHVzaChuLmkvciksZS5wdXNoKGkuaS9yKSx1byhuKSx1byhuLm5leHQpLG49dD1pKSxuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuIHFpKG4pfWZ1bmN0aW9uIFhpKHQsZSxyLG4sYSxpKXt2YXIgbz10O2Rve2Zvcih2YXIgcz1vLm5leHQubmV4dDtzIT09by5wcmV2Oyl7aWYoby5pIT09cy5pJiZlbyhvLHMpKXt2YXIgbD1sbyhvLHMpO3JldHVybiBvPXFpKG8sby5uZXh0KSxsPXFpKGwsbC5uZXh0KSxIaShvLGUscixuLGEsaSksdm9pZCBIaShsLGUscixuLGEsaSl9cz1zLm5leHR9bz1vLm5leHR9d2hpbGUobyE9PXQpfWZ1bmN0aW9uIFppKHQsZSl7cmV0dXJuIHQueC1lLnh9ZnVuY3Rpb24gSmkodCxlKXtpZihlPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj1lLGE9dC54LGk9dC55LG89LTEvMDtkb3tpZihpPD1uLnkmJmk+PW4ubmV4dC55JiZuLm5leHQueSE9PW4ueSl7dmFyIHM9bi54KyhpLW4ueSkqKG4ubmV4dC54LW4ueCkvKG4ubmV4dC55LW4ueSk7aWYoczw9YSYmcz5vKXtpZihvPXMscz09PWEpe2lmKGk9PT1uLnkpcmV0dXJuIG47aWYoaT09PW4ubmV4dC55KXJldHVybiBuLm5leHR9cj1uLng8bi5uZXh0Lng/bjpuLm5leHR9fW49bi5uZXh0fXdoaWxlKG4hPT1lKTtpZighcilyZXR1cm4gbnVsbDtpZihhPT09bylyZXR1cm4gcjt2YXIgbCxjPXIsdT1yLngsaD1yLnksZj0xLzA7bj1yO2Rve2E+PW4ueCYmbi54Pj11JiZhIT09bi54JiZ0byhpPGg/YTpvLGksdSxoLGk8aD9vOmEsaSxuLngsbi55KSYmKGw9TWF0aC5hYnMoaS1uLnkpLyhhLW4ueCksc28obix0KSYmKGw8Znx8bD09PWYmJihuLng+ci54fHxuLng9PT1yLngmJktpKHIsbikpKSYmKHI9bixmPWwpKSxuPW4ubmV4dH13aGlsZShuIT09Yyk7cmV0dXJuIHJ9KHQsZSkpe3ZhciByPWxvKGUsdCk7cWkocixyLm5leHQpfX1mdW5jdGlvbiBLaSh0LGUpe3JldHVybiBybyh0LnByZXYsdCxlLnByZXYpPDAmJnJvKGUubmV4dCx0LHQubmV4dCk8MH1mdW5jdGlvbiBRaSh0LGUscixuLGEpe3JldHVybih0PTE0MzE2NTU3NjUmKCh0PTg1ODk5MzQ1OSYoKHQ9MjUyNjQ1MTM1JigodD0xNjcxMTkzNSYoKHQ9MzI3NjcqKHQtcikqYSl8dDw8OCkpfHQ8PDQpKXx0PDwyKSl8dDw8MSkpfChlPTE0MzE2NTU3NjUmKChlPTg1ODk5MzQ1OSYoKGU9MjUyNjQ1MTM1JigoZT0xNjcxMTkzNSYoKGU9MzI3NjcqKGUtbikqYSl8ZTw8OCkpfGU8PDQpKXxlPDwyKSl8ZTw8MSkpPDwxfWZ1bmN0aW9uICRpKHQpe3ZhciBlPXQscj10O2RveyhlLng8ci54fHxlLng9PT1yLngmJmUueTxyLnkpJiYocj1lKSxlPWUubmV4dH13aGlsZShlIT09dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gdG8odCxlLHIsbixhLGksbyxzKXtyZXR1cm4oYS1vKSooZS1zKS0odC1vKSooaS1zKT49MCYmKHQtbykqKG4tcyktKHItbykqKGUtcyk+PTAmJihyLW8pKihpLXMpLShhLW8pKihuLXMpPj0wfWZ1bmN0aW9uIGVvKHQsZSl7cmV0dXJuIHQubmV4dC5pIT09ZS5pJiZ0LnByZXYuaSE9PWUuaSYmIWZ1bmN0aW9uKHQsZSl7dmFyIHI9dDtkb3tpZihyLmkhPT10LmkmJnIubmV4dC5pIT09dC5pJiZyLmkhPT1lLmkmJnIubmV4dC5pIT09ZS5pJiZhbyhyLHIubmV4dCx0LGUpKXJldHVybiEwO3I9ci5uZXh0fXdoaWxlKHIhPT10KTtyZXR1cm4hMX0odCxlKSYmKHNvKHQsZSkmJnNvKGUsdCkmJmZ1bmN0aW9uKHQsZSl7dmFyIHI9dCxuPSExLGE9KHQueCtlLngpLzIsaT0odC55K2UueSkvMjtkb3tyLnk+aSE9ci5uZXh0Lnk+aSYmci5uZXh0LnkhPT1yLnkmJmE8KHIubmV4dC54LXIueCkqKGktci55KS8oci5uZXh0Lnktci55KStyLngmJihuPSFuKSxyPXIubmV4dH13aGlsZShyIT09dCk7cmV0dXJuIG59KHQsZSkmJihybyh0LnByZXYsdCxlLnByZXYpfHxybyh0LGUucHJldixlKSl8fG5vKHQsZSkmJnJvKHQucHJldix0LHQubmV4dCk+MCYmcm8oZS5wcmV2LGUsZS5uZXh0KT4wKX1mdW5jdGlvbiBybyh0LGUscil7cmV0dXJuKGUueS10LnkpKihyLngtZS54KS0oZS54LXQueCkqKHIueS1lLnkpfWZ1bmN0aW9uIG5vKHQsZSl7cmV0dXJuIHQueD09PWUueCYmdC55PT09ZS55fWZ1bmN0aW9uIGFvKHQsZSxyLG4pe3ZhciBhPW9vKHJvKHQsZSxyKSksaT1vbyhybyh0LGUsbikpLG89b28ocm8ocixuLHQpKSxzPW9vKHJvKHIsbixlKSk7cmV0dXJuIGEhPT1pJiZvIT09c3x8ISgwIT09YXx8IWlvKHQscixlKSl8fCEoMCE9PWl8fCFpbyh0LG4sZSkpfHwhKDAhPT1vfHwhaW8ocix0LG4pKXx8ISgwIT09c3x8IWlvKHIsZSxuKSl9ZnVuY3Rpb24gaW8odCxlLHIpe3JldHVybiBlLng8PU1hdGgubWF4KHQueCxyLngpJiZlLng+PU1hdGgubWluKHQueCxyLngpJiZlLnk8PU1hdGgubWF4KHQueSxyLnkpJiZlLnk+PU1hdGgubWluKHQueSxyLnkpfWZ1bmN0aW9uIG9vKHQpe3JldHVybiB0PjA/MTp0PDA/LTE6MH1mdW5jdGlvbiBzbyh0LGUpe3JldHVybiBybyh0LnByZXYsdCx0Lm5leHQpPDA/cm8odCxlLHQubmV4dCk+PTAmJnJvKHQsdC5wcmV2LGUpPj0wOnJvKHQsZSx0LnByZXYpPDB8fHJvKHQsdC5uZXh0LGUpPDB9ZnVuY3Rpb24gbG8odCxlKXt2YXIgcj1uZXcgaG8odC5pLHQueCx0LnkpLG49bmV3IGhvKGUuaSxlLngsZS55KSxhPXQubmV4dCxpPWUucHJldjtyZXR1cm4gdC5uZXh0PWUsZS5wcmV2PXQsci5uZXh0PWEsYS5wcmV2PXIsbi5uZXh0PXIsci5wcmV2PW4saS5uZXh0PW4sbi5wcmV2PWksbn1mdW5jdGlvbiBjbyh0LGUscixuKXt2YXIgYT1uZXcgaG8odCxlLHIpO3JldHVybiBuPyhhLm5leHQ9bi5uZXh0LGEucHJldj1uLG4ubmV4dC5wcmV2PWEsbi5uZXh0PWEpOihhLnByZXY9YSxhLm5leHQ9YSksYX1mdW5jdGlvbiB1byh0KXt0Lm5leHQucHJldj10LnByZXYsdC5wcmV2Lm5leHQ9dC5uZXh0LHQucHJldlomJih0LnByZXZaLm5leHRaPXQubmV4dFopLHQubmV4dFomJih0Lm5leHRaLnByZXZaPXQucHJldlopfWZ1bmN0aW9uIGhvKHQsZSxyKXt0aGlzLmk9dCx0aGlzLng9ZSx0aGlzLnk9cix0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLno9bnVsbCx0aGlzLnByZXZaPW51bGwsdGhpcy5uZXh0Wj1udWxsLHRoaXMuc3RlaW5lcj0hMX1mdW5jdGlvbiBmbyh0LGUscixuKXtmb3IodmFyIGE9MCxpPWUsbz1yLW47aTxyO2krPW4pYSs9KHRbb10tdFtpXSkqKHRbaSsxXSt0W28rMV0pLG89aTtyZXR1cm4gYX1mdW5jdGlvbiBwbyh0LGUscixuLGEpeyFmdW5jdGlvbiB0KGUscixuLGEsaSl7Zm9yKDthPm47KXtpZihhLW4+NjAwKXt2YXIgbz1hLW4rMSxzPXItbisxLGw9TWF0aC5sb2cobyksYz0uNSpNYXRoLmV4cCgyKmwvMyksdT0uNSpNYXRoLnNxcnQobCpjKihvLWMpL28pKihzLW8vMjwwPy0xOjEpO3QoZSxyLE1hdGgubWF4KG4sTWF0aC5mbG9vcihyLXMqYy9vK3UpKSxNYXRoLm1pbihhLE1hdGguZmxvb3Iocisoby1zKSpjL28rdSkpLGkpfXZhciBoPWVbcl0sZj1uLHA9YTtmb3IoZ28oZSxuLHIpLGkoZVthXSxoKT4wJiZnbyhlLG4sYSk7ZjxwOyl7Zm9yKGdvKGUsZixwKSxmKysscC0tO2koZVtmXSxoKTwwOylmKys7Zm9yKDtpKGVbcF0saCk+MDspcC0tfTA9PT1pKGVbbl0saCk/Z28oZSxuLHApOmdvKGUsKytwLGEpLHA8PXImJihuPXArMSkscjw9cCYmKGE9cC0xKX19KHQsZSxyfHwwLG58fHQubGVuZ3RoLTEsYXx8dm8pfWZ1bmN0aW9uIGdvKHQsZSxyKXt2YXIgbj10W2VdO3RbZV09dFtyXSx0W3JdPW59ZnVuY3Rpb24gdm8odCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOjB9ZnVuY3Rpb24gbW8odCxlKXt2YXIgcj10Lmxlbmd0aDtpZihyPD0xKXJldHVyblt0XTtmb3IodmFyIG4sYSxpPVtdLG89MDtvPHI7bysrKXt2YXIgcz1UKHRbb10pOzAhPT1zJiYodFtvXS5hcmVhPU1hdGguYWJzKHMpLHZvaWQgMD09PWEmJihhPXM8MCksYT09PXM8MD8obiYmaS5wdXNoKG4pLG49W3Rbb11dKTpuLnB1c2godFtvXSkpfWlmKG4mJmkucHVzaChuKSxlPjEpZm9yKHZhciBsPTA7bDxpLmxlbmd0aDtsKyspaVtsXS5sZW5ndGg8PWV8fChwbyhpW2xdLGUsMSxpW2xdLmxlbmd0aC0xLHlvKSxpW2xdPWlbbF0uc2xpY2UoMCxlKSk7cmV0dXJuIGl9ZnVuY3Rpb24geW8odCxlKXtyZXR1cm4gZS5hcmVhLXQuYXJlYX1mdW5jdGlvbiB4byh0LGUscil7Zm9yKHZhciBuPXIucGF0dGVybkRlcGVuZGVuY2llcyxhPSExLGk9MCxvPWU7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldLnBhaW50LmdldCh0KyItcGF0dGVybiIpO3MuaXNDb25zdGFudCgpfHwoYT0hMCk7dmFyIGw9cy5jb25zdGFudE9yKG51bGwpO2wmJihhPSEwLG5bbC50b109ITAsbltsLmZyb21dPSEwKX1yZXR1cm4gYX1mdW5jdGlvbiBibyh0LGUscixuLGEpe2Zvcih2YXIgaT1hLnBhdHRlcm5EZXBlbmRlbmNpZXMsbz0wLHM9ZTtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb10sYz1sLnBhaW50LmdldCh0KyItcGF0dGVybiIpLnZhbHVlO2lmKCJjb25zdGFudCIhPT1jLmtpbmQpe3ZhciB1PWMuZXZhbHVhdGUoe3pvb206bi0xfSxyLHt9KSxoPWMuZXZhbHVhdGUoe3pvb206bn0scix7fSksZj1jLmV2YWx1YXRlKHt6b29tOm4rMX0scix7fSk7aVt1XT0hMCxpW2hdPSEwLGlbZl09ITAsci5wYXR0ZXJuc1tsLmlkXT17bWluOnUsbWlkOmgsbWF4OmZ9fX1yZXR1cm4gcn1WaS5kZXZpYXRpb249ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZSYmZS5sZW5ndGgsaT1hP2VbMF0qcjp0Lmxlbmd0aCxvPU1hdGguYWJzKGZvKHQsMCxpLHIpKTtpZihhKWZvcih2YXIgcz0wLGw9ZS5sZW5ndGg7czxsO3MrKyl7dmFyIGM9ZVtzXSpyLHU9czxsLTE/ZVtzKzFdKnI6dC5sZW5ndGg7by09TWF0aC5hYnMoZm8odCxjLHUscikpfXZhciBoPTA7Zm9yKHM9MDtzPG4ubGVuZ3RoO3MrPTMpe3ZhciBmPW5bc10qcixwPW5bcysxXSpyLGQ9bltzKzJdKnI7aCs9TWF0aC5hYnMoKHRbZl0tdFtkXSkqKHRbcCsxXS10W2YrMV0pLSh0W2ZdLXRbcF0pKih0W2QrMV0tdFtmKzFdKSl9cmV0dXJuIDA9PT1vJiYwPT09aD8wOk1hdGguYWJzKChoLW8pL28pfSxWaS5mbGF0dGVuPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10WzBdWzBdLmxlbmd0aCxyPXt2ZXJ0aWNlczpbXSxob2xlczpbXSxkaW1lbnNpb25zOmV9LG49MCxhPTA7YTx0Lmxlbmd0aDthKyspe2Zvcih2YXIgaT0wO2k8dFthXS5sZW5ndGg7aSsrKWZvcih2YXIgbz0wO288ZTtvKyspci52ZXJ0aWNlcy5wdXNoKHRbYV1baV1bb10pO2E+MCYmKG4rPXRbYS0xXS5sZW5ndGgsci5ob2xlcy5wdXNoKG4pKX1yZXR1cm4gcn0sTmkuZGVmYXVsdD1qaTt2YXIgX289ZnVuY3Rpb24odCl7dGhpcy56b29tPXQuem9vbSx0aGlzLm92ZXJzY2FsaW5nPXQub3ZlcnNjYWxpbmcsdGhpcy5sYXllcnM9dC5sYXllcnMsdGhpcy5sYXllcklkcz10aGlzLmxheWVycy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSx0aGlzLmluZGV4PXQuaW5kZXgsdGhpcy5oYXNQYXR0ZXJuPSExLHRoaXMucGF0dGVybkZlYXR1cmVzPVtdLHRoaXMubGF5b3V0VmVydGV4QXJyYXk9bmV3IFFuLHRoaXMuaW5kZXhBcnJheT1uZXcgZGEsdGhpcy5pbmRleEFycmF5Mj1uZXcgZ2EsdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnM9bmV3IFFhKEJpLHQubGF5ZXJzLHQuem9vbSksdGhpcy5zZWdtZW50cz1uZXcgT2EsdGhpcy5zZWdtZW50czI9bmV3IE9hLHRoaXMuc3RhdGVEZXBlbmRlbnRMYXllcklkcz10aGlzLmxheWVycy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNTdGF0ZURlcGVuZGVudCgpfSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSl9O19vLnByb3RvdHlwZS5wb3B1bGF0ZT1mdW5jdGlvbih0LGUpe3RoaXMuaGFzUGF0dGVybj14bygiZmlsbCIsdGhpcy5sYXllcnMsZSk7Zm9yKHZhciByPXRoaXMubGF5ZXJzWzBdLmxheW91dC5nZXQoImZpbGwtc29ydC1rZXkiKSxuPVtdLGE9MCxpPXQ7YTxpLmxlbmd0aDthKz0xKXt2YXIgbz1pW2FdLHM9by5mZWF0dXJlLGw9by5pbmRleCxjPW8uc291cmNlTGF5ZXJJbmRleDtpZih0aGlzLmxheWVyc1swXS5fZmVhdHVyZUZpbHRlcihuZXcgUG4odGhpcy56b29tKSxzKSl7dmFyIHU9bmkocyksaD1yP3IuZXZhbHVhdGUocyx7fSk6dm9pZCAwLGY9e2lkOnMuaWQscHJvcGVydGllczpzLnByb3BlcnRpZXMsdHlwZTpzLnR5cGUsc291cmNlTGF5ZXJJbmRleDpjLGluZGV4OmwsZ2VvbWV0cnk6dSxwYXR0ZXJuczp7fSxzb3J0S2V5Omh9O24ucHVzaChmKX19ciYmbi5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuc29ydEtleS1lLnNvcnRLZXl9KTtmb3IodmFyIHA9MCxkPW47cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdLHY9ZyxtPXYuZ2VvbWV0cnkseT12LmluZGV4LHg9di5zb3VyY2VMYXllckluZGV4O2lmKHRoaXMuaGFzUGF0dGVybil7dmFyIGI9Ym8oImZpbGwiLHRoaXMubGF5ZXJzLGcsdGhpcy56b29tLGUpO3RoaXMucGF0dGVybkZlYXR1cmVzLnB1c2goYil9ZWxzZSB0aGlzLmFkZEZlYXR1cmUoZyxtLHkse30pO3ZhciBfPXRbeV0uZmVhdHVyZTtlLmZlYXR1cmVJbmRleC5pbnNlcnQoXyxtLHkseCx0aGlzLmluZGV4KX19LF9vLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuc3RhdGVEZXBlbmRlbnRMYXllcnMubGVuZ3RoJiZ0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy51cGRhdGVQYWludEFycmF5cyh0LGUsdGhpcy5zdGF0ZURlcGVuZGVudExheWVycyxyKX0sX28ucHJvdG90eXBlLmFkZEZlYXR1cmVzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj10aGlzLnBhdHRlcm5GZWF0dXJlcztyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07dGhpcy5hZGRGZWF0dXJlKGEsYS5nZW9tZXRyeSxhLmluZGV4LGUpfX0sX28ucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RofSxfby5wcm90b3R5cGUudXBsb2FkUGVuZGluZz1mdW5jdGlvbigpe3JldHVybiF0aGlzLnVwbG9hZGVkfHx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5uZWVkc1VwbG9hZH0sX28ucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnVwbG9hZGVkfHwodGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSxCaSksdGhpcy5pbmRleEJ1ZmZlcj10LmNyZWF0ZUluZGV4QnVmZmVyKHRoaXMuaW5kZXhBcnJheSksdGhpcy5pbmRleEJ1ZmZlcjI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXkyKSksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpLHRoaXMudXBsb2FkZWQ9ITB9LF9vLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlcjIuZGVzdHJveSgpLHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmRlc3Ryb3koKSx0aGlzLnNlZ21lbnRzLmRlc3Ryb3koKSx0aGlzLnNlZ21lbnRzMi5kZXN0cm95KCkpfSxfby5wcm90b3R5cGUuYWRkRmVhdHVyZT1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MCxpPW1vKGUsNTAwKTthPGkubGVuZ3RoO2ErPTEpe2Zvcih2YXIgbz1pW2FdLHM9MCxsPTAsYz1vO2w8Yy5sZW5ndGg7bCs9MSlzKz1jW2xdLmxlbmd0aDtmb3IodmFyIHU9dGhpcy5zZWdtZW50cy5wcmVwYXJlU2VnbWVudChzLHRoaXMubGF5b3V0VmVydGV4QXJyYXksdGhpcy5pbmRleEFycmF5KSxoPXUudmVydGV4TGVuZ3RoLGY9W10scD1bXSxkPTAsZz1vO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXTtpZigwIT09di5sZW5ndGgpe3YhPT1vWzBdJiZwLnB1c2goZi5sZW5ndGgvMik7dmFyIG09dGhpcy5zZWdtZW50czIucHJlcGFyZVNlZ21lbnQodi5sZW5ndGgsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXkyKSx5PW0udmVydGV4TGVuZ3RoO3RoaXMubGF5b3V0VmVydGV4QXJyYXkuZW1wbGFjZUJhY2sodlswXS54LHZbMF0ueSksdGhpcy5pbmRleEFycmF5Mi5lbXBsYWNlQmFjayh5K3YubGVuZ3RoLTEseSksZi5wdXNoKHZbMF0ueCksZi5wdXNoKHZbMF0ueSk7Zm9yKHZhciB4PTE7eDx2Lmxlbmd0aDt4KyspdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5lbXBsYWNlQmFjayh2W3hdLngsdlt4XS55KSx0aGlzLmluZGV4QXJyYXkyLmVtcGxhY2VCYWNrKHkreC0xLHkreCksZi5wdXNoKHZbeF0ueCksZi5wdXNoKHZbeF0ueSk7bS52ZXJ0ZXhMZW5ndGgrPXYubGVuZ3RoLG0ucHJpbWl0aXZlTGVuZ3RoKz12Lmxlbmd0aH19Zm9yKHZhciBiPU5pKGYscCksXz0wO188Yi5sZW5ndGg7Xys9Myl0aGlzLmluZGV4QXJyYXkuZW1wbGFjZUJhY2soaCtiW19dLGgrYltfKzFdLGgrYltfKzJdKTt1LnZlcnRleExlbmd0aCs9cyx1LnByaW1pdGl2ZUxlbmd0aCs9Yi5sZW5ndGgvM310aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHRoaXMubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLHQscixuKX0sZG4oIkZpbGxCdWNrZXQiLF9vLHtvbWl0OlsibGF5ZXJzIiwicGF0dGVybkZlYXR1cmVzIl19KTt2YXIgd289bmV3IEduKHsiZmlsbC1zb3J0LWtleSI6bmV3IFZuKFR0LmxheW91dF9maWxsWyJmaWxsLXNvcnQta2V5Il0pfSksa289e3BhaW50Om5ldyBHbih7ImZpbGwtYW50aWFsaWFzIjpuZXcgam4oVHQucGFpbnRfZmlsbFsiZmlsbC1hbnRpYWxpYXMiXSksImZpbGwtb3BhY2l0eSI6bmV3IFZuKFR0LnBhaW50X2ZpbGxbImZpbGwtb3BhY2l0eSJdKSwiZmlsbC1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2ZpbGxbImZpbGwtY29sb3IiXSksImZpbGwtb3V0bGluZS1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2ZpbGxbImZpbGwtb3V0bGluZS1jb2xvciJdKSwiZmlsbC10cmFuc2xhdGUiOm5ldyBqbihUdC5wYWludF9maWxsWyJmaWxsLXRyYW5zbGF0ZSJdKSwiZmlsbC10cmFuc2xhdGUtYW5jaG9yIjpuZXcgam4oVHQucGFpbnRfZmlsbFsiZmlsbC10cmFuc2xhdGUtYW5jaG9yIl0pLCJmaWxsLXBhdHRlcm4iOm5ldyBVbihUdC5wYWludF9maWxsWyJmaWxsLXBhdHRlcm4iXSl9KSxsYXlvdXQ6d299LFRvPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSxrbyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLnJlY2FsY3VsYXRlPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLnJlY2FsY3VsYXRlLmNhbGwodGhpcyxlKTt2YXIgcj10aGlzLnBhaW50Ll92YWx1ZXNbImZpbGwtb3V0bGluZS1jb2xvciJdOyJjb25zdGFudCI9PT1yLnZhbHVlLmtpbmQmJnZvaWQgMD09PXIudmFsdWUudmFsdWUmJih0aGlzLnBhaW50Ll92YWx1ZXNbImZpbGwtb3V0bGluZS1jb2xvciJdPXRoaXMucGFpbnQuX3ZhbHVlc1siZmlsbC1jb2xvciJdKX0sZS5wcm90b3R5cGUuY3JlYXRlQnVja2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgX28odCl9LGUucHJvdG90eXBlLnF1ZXJ5UmFkaXVzPWZ1bmN0aW9uKCl7cmV0dXJuIHlpKHRoaXMucGFpbnQuZ2V0KCJmaWxsLXRyYW5zbGF0ZSIpKX0sZS5wcm90b3R5cGUucXVlcnlJbnRlcnNlY3RzRmVhdHVyZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXtyZXR1cm4gbGkoeGkodCx0aGlzLnBhaW50LmdldCgiZmlsbC10cmFuc2xhdGUiKSx0aGlzLnBhaW50LmdldCgiZmlsbC10cmFuc2xhdGUtYW5jaG9yIiksaS5hbmdsZSxvKSxuKX0sZS5wcm90b3R5cGUuaXNUaWxlQ2xpcHBlZD1mdW5jdGlvbigpe3JldHVybiEwfSxlfShZbiksTW89Sm4oW3tuYW1lOiJhX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In0se25hbWU6ImFfbm9ybWFsX2VkIixjb21wb25lbnRzOjQsdHlwZToiSW50MTYifV0sNCkubWVtYmVycyxBbz1TbztmdW5jdGlvbiBTbyh0LGUscixuLGEpe3RoaXMucHJvcGVydGllcz17fSx0aGlzLmV4dGVudD1yLHRoaXMudHlwZT0wLHRoaXMuX3BiZj10LHRoaXMuX2dlb21ldHJ5PS0xLHRoaXMuX2tleXM9bix0aGlzLl92YWx1ZXM9YSx0LnJlYWRGaWVsZHMoRW8sdGhpcyxlKX1mdW5jdGlvbiBFbyh0LGUscil7MT09dD9lLmlkPXIucmVhZFZhcmludCgpOjI9PXQ/ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5yZWFkVmFyaW50KCkrdC5wb3M7dC5wb3M8cjspe3ZhciBuPWUuX2tleXNbdC5yZWFkVmFyaW50KCldLGE9ZS5fdmFsdWVzW3QucmVhZFZhcmludCgpXTtlLnByb3BlcnRpZXNbbl09YX19KHIsZSk6Mz09dD9lLnR5cGU9ci5yZWFkVmFyaW50KCk6ND09dCYmKGUuX2dlb21ldHJ5PXIucG9zKX1mdW5jdGlvbiBMbyh0KXtmb3IodmFyIGUscixuPTAsYT0wLGk9dC5sZW5ndGgsbz1pLTE7YTxpO289YSsrKWU9dFthXSxuKz0oKHI9dFtvXSkueC1lLngpKihlLnkrci55KTtyZXR1cm4gbn1Tby50eXBlcz1bIlVua25vd24iLCJQb2ludCIsIkxpbmVTdHJpbmciLCJQb2x5Z29uIl0sU28ucHJvdG90eXBlLmxvYWRHZW9tZXRyeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3BiZjt0LnBvcz10aGlzLl9nZW9tZXRyeTtmb3IodmFyIGUscj10LnJlYWRWYXJpbnQoKSt0LnBvcyxuPTEsaT0wLG89MCxzPTAsbD1bXTt0LnBvczxyOyl7aWYoaTw9MCl7dmFyIGM9dC5yZWFkVmFyaW50KCk7bj03JmMsaT1jPj4zfWlmKGktLSwxPT09bnx8Mj09PW4pbys9dC5yZWFkU1ZhcmludCgpLHMrPXQucmVhZFNWYXJpbnQoKSwxPT09biYmKGUmJmwucHVzaChlKSxlPVtdKSxlLnB1c2gobmV3IGEobyxzKSk7ZWxzZXtpZig3IT09bil0aHJvdyBuZXcgRXJyb3IoInVua25vd24gY29tbWFuZCAiK24pO2UmJmUucHVzaChlWzBdLmNsb25lKCkpfX1yZXR1cm4gZSYmbC5wdXNoKGUpLGx9LFNvLnByb3RvdHlwZS5iYm94PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcGJmO3QucG9zPXRoaXMuX2dlb21ldHJ5O2Zvcih2YXIgZT10LnJlYWRWYXJpbnQoKSt0LnBvcyxyPTEsbj0wLGE9MCxpPTAsbz0xLzAscz0tMS8wLGw9MS8wLGM9LTEvMDt0LnBvczxlOyl7aWYobjw9MCl7dmFyIHU9dC5yZWFkVmFyaW50KCk7cj03JnUsbj11Pj4zfWlmKG4tLSwxPT09cnx8Mj09PXIpKGErPXQucmVhZFNWYXJpbnQoKSk8byYmKG89YSksYT5zJiYocz1hKSwoaSs9dC5yZWFkU1ZhcmludCgpKTxsJiYobD1pKSxpPmMmJihjPWkpO2Vsc2UgaWYoNyE9PXIpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGNvbW1hbmQgIityKX1yZXR1cm5bbyxsLHMsY119LFNvLnByb3RvdHlwZS50b0dlb0pTT049ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaT10aGlzLmV4dGVudCpNYXRoLnBvdygyLHIpLG89dGhpcy5leHRlbnQqdCxzPXRoaXMuZXh0ZW50KmUsbD10aGlzLmxvYWRHZW9tZXRyeSgpLGM9U28udHlwZXNbdGhpcy50eXBlXTtmdW5jdGlvbiB1KHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdLG49MTgwLTM2MCooci55K3MpL2k7dFtlXT1bMzYwKihyLngrbykvaS0xODAsMzYwL01hdGguUEkqTWF0aC5hdGFuKE1hdGguZXhwKG4qTWF0aC5QSS8xODApKS05MF19fXN3aXRjaCh0aGlzLnR5cGUpe2Nhc2UgMTp2YXIgaD1bXTtmb3Iobj0wO248bC5sZW5ndGg7bisrKWhbbl09bFtuXVswXTt1KGw9aCk7YnJlYWs7Y2FzZSAyOmZvcihuPTA7bjxsLmxlbmd0aDtuKyspdShsW25dKTticmVhaztjYXNlIDM6Zm9yKGw9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9MSlyZXR1cm5bdF07Zm9yKHZhciByLG4sYT1bXSxpPTA7aTxlO2krKyl7dmFyIG89TG8odFtpXSk7MCE9PW8mJih2b2lkIDA9PT1uJiYobj1vPDApLG49PT1vPDA/KHImJmEucHVzaChyKSxyPVt0W2ldXSk6ci5wdXNoKHRbaV0pKX1yZXR1cm4gciYmYS5wdXNoKHIpLGF9KGwpLG49MDtuPGwubGVuZ3RoO24rKylmb3IoYT0wO2E8bFtuXS5sZW5ndGg7YSsrKXUobFtuXVthXSl9MT09PWwubGVuZ3RoP2w9bFswXTpjPSJNdWx0aSIrYzt2YXIgZj17dHlwZToiRmVhdHVyZSIsZ2VvbWV0cnk6e3R5cGU6Yyxjb29yZGluYXRlczpsfSxwcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllc307cmV0dXJuImlkImluIHRoaXMmJihmLmlkPXRoaXMuaWQpLGZ9O3ZhciBDbz1QbztmdW5jdGlvbiBQbyh0LGUpe3RoaXMudmVyc2lvbj0xLHRoaXMubmFtZT1udWxsLHRoaXMuZXh0ZW50PTQwOTYsdGhpcy5sZW5ndGg9MCx0aGlzLl9wYmY9dCx0aGlzLl9rZXlzPVtdLHRoaXMuX3ZhbHVlcz1bXSx0aGlzLl9mZWF0dXJlcz1bXSx0LnJlYWRGaWVsZHMoT28sdGhpcyxlKSx0aGlzLmxlbmd0aD10aGlzLl9mZWF0dXJlcy5sZW5ndGh9ZnVuY3Rpb24gT28odCxlLHIpezE1PT09dD9lLnZlcnNpb249ci5yZWFkVmFyaW50KCk6MT09PXQ/ZS5uYW1lPXIucmVhZFN0cmluZygpOjU9PT10P2UuZXh0ZW50PXIucmVhZFZhcmludCgpOjI9PT10P2UuX2ZlYXR1cmVzLnB1c2goci5wb3MpOjM9PT10P2UuX2tleXMucHVzaChyLnJlYWRTdHJpbmcoKSk6ND09PXQmJmUuX3ZhbHVlcy5wdXNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1udWxsLHI9dC5yZWFkVmFyaW50KCkrdC5wb3M7dC5wb3M8cjspe3ZhciBuPXQucmVhZFZhcmludCgpPj4zO2U9MT09PW4/dC5yZWFkU3RyaW5nKCk6Mj09PW4/dC5yZWFkRmxvYXQoKTozPT09bj90LnJlYWREb3VibGUoKTo0PT09bj90LnJlYWRWYXJpbnQ2NCgpOjU9PT1uP3QucmVhZFZhcmludCgpOjY9PT1uP3QucmVhZFNWYXJpbnQoKTo3PT09bj90LnJlYWRCb29sZWFuKCk6bnVsbH1yZXR1cm4gZX0ocikpfWZ1bmN0aW9uIHpvKHQsZSxyKXtpZigzPT09dCl7dmFyIG49bmV3IENvKHIsci5yZWFkVmFyaW50KCkrci5wb3MpO24ubGVuZ3RoJiYoZVtuLm5hbWVdPW4pfX1Qby5wcm90b3R5cGUuZmVhdHVyZT1mdW5jdGlvbih0KXtpZih0PDB8fHQ+PXRoaXMuX2ZlYXR1cmVzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImZlYXR1cmUgaW5kZXggb3V0IG9mIGJvdW5kcyIpO3RoaXMuX3BiZi5wb3M9dGhpcy5fZmVhdHVyZXNbdF07dmFyIGU9dGhpcy5fcGJmLnJlYWRWYXJpbnQoKSt0aGlzLl9wYmYucG9zO3JldHVybiBuZXcgQW8odGhpcy5fcGJmLGUsdGhpcy5leHRlbnQsdGhpcy5fa2V5cyx0aGlzLl92YWx1ZXMpfTt2YXIgSW89e1ZlY3RvclRpbGU6ZnVuY3Rpb24odCxlKXt0aGlzLmxheWVycz10LnJlYWRGaWVsZHMoem8se30sZSl9LFZlY3RvclRpbGVGZWF0dXJlOkFvLFZlY3RvclRpbGVMYXllcjpDb30sRG89SW8uVmVjdG9yVGlsZUZlYXR1cmUudHlwZXMsUm89TWF0aC5wb3coMiwxMyk7ZnVuY3Rpb24gRm8odCxlLHIsbixhLGksbyxzKXt0LmVtcGxhY2VCYWNrKGUsciwyKk1hdGguZmxvb3IobipSbykrbyxhKlJvKjIsaSpSbyoyLE1hdGgucm91bmQocykpfXZhciBCbz1mdW5jdGlvbih0KXt0aGlzLnpvb209dC56b29tLHRoaXMub3ZlcnNjYWxpbmc9dC5vdmVyc2NhbGluZyx0aGlzLmxheWVycz10LmxheWVycyx0aGlzLmxheWVySWRzPXRoaXMubGF5ZXJzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pLHRoaXMuaW5kZXg9dC5pbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgdGEsdGhpcy5pbmRleEFycmF5PW5ldyBkYSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucz1uZXcgUWEoTW8sdC5sYXllcnMsdC56b29tKSx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJJZHM9dGhpcy5sYXllcnMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzU3RhdGVEZXBlbmRlbnQoKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pfTtmdW5jdGlvbiBObyh0LGUpe3JldHVybiB0Lng9PT1lLngmJih0Lng8MHx8dC54PmVpKXx8dC55PT09ZS55JiYodC55PDB8fHQueT5laSl9ZnVuY3Rpb24gam8odCl7cmV0dXJuIHQuZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuIHQueDwwfSl8fHQuZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuIHQueD5laX0pfHx0LmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiB0Lnk8MH0pfHx0LmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiB0Lnk+ZWl9KX1Cby5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24odCxlKXt0aGlzLmZlYXR1cmVzPVtdLHRoaXMuaGFzUGF0dGVybj14bygiZmlsbC1leHRydXNpb24iLHRoaXMubGF5ZXJzLGUpO2Zvcih2YXIgcj0wLG49dDtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl0saT1hLmZlYXR1cmUsbz1hLmluZGV4LHM9YS5zb3VyY2VMYXllckluZGV4O2lmKHRoaXMubGF5ZXJzWzBdLl9mZWF0dXJlRmlsdGVyKG5ldyBQbih0aGlzLnpvb20pLGkpKXt2YXIgbD1uaShpKSxjPXtzb3VyY2VMYXllckluZGV4OnMsaW5kZXg6byxnZW9tZXRyeTpsLHByb3BlcnRpZXM6aS5wcm9wZXJ0aWVzLHR5cGU6aS50eXBlLHBhdHRlcm5zOnt9fTt2b2lkIDAhPT1pLmlkJiYoYy5pZD1pLmlkKSx0aGlzLmhhc1BhdHRlcm4/dGhpcy5mZWF0dXJlcy5wdXNoKGJvKCJmaWxsLWV4dHJ1c2lvbiIsdGhpcy5sYXllcnMsYyx0aGlzLnpvb20sZSkpOnRoaXMuYWRkRmVhdHVyZShjLGwsbyx7fSksZS5mZWF0dXJlSW5kZXguaW5zZXJ0KGksbCxvLHMsdGhpcy5pbmRleCwhMCl9fX0sQm8ucHJvdG90eXBlLmFkZEZlYXR1cmVzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj10aGlzLmZlYXR1cmVzO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPWEuZ2VvbWV0cnk7dGhpcy5hZGRGZWF0dXJlKGEsaSxhLmluZGV4LGUpfX0sQm8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dGhpcy5zdGF0ZURlcGVuZGVudExheWVycy5sZW5ndGgmJnRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJzLHIpfSxCby5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGh9LEJvLnByb3RvdHlwZS51cGxvYWRQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudXBsb2FkZWR8fHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLm5lZWRzVXBsb2FkfSxCby5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQpe3RoaXMudXBsb2FkZWR8fCh0aGlzLmxheW91dFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLmxheW91dFZlcnRleEFycmF5LE1vKSx0aGlzLmluZGV4QnVmZmVyPXQuY3JlYXRlSW5kZXhCdWZmZXIodGhpcy5pbmRleEFycmF5KSksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpLHRoaXMudXBsb2FkZWQ9ITB9LEJvLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZGVzdHJveSgpLHRoaXMuc2VnbWVudHMuZGVzdHJveSgpKX0sQm8ucHJvdG90eXBlLmFkZEZlYXR1cmU9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBhPTAsaT1tbyhlLDUwMCk7YTxpLmxlbmd0aDthKz0xKXtmb3IodmFyIG89aVthXSxzPTAsbD0wLGM9bztsPGMubGVuZ3RoO2wrPTEpcys9Y1tsXS5sZW5ndGg7Zm9yKHZhciB1PXRoaXMuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoNCx0aGlzLmxheW91dFZlcnRleEFycmF5LHRoaXMuaW5kZXhBcnJheSksaD0wLGY9bztoPGYubGVuZ3RoO2grPTEpe3ZhciBwPWZbaF07aWYoMCE9PXAubGVuZ3RoJiYham8ocCkpZm9yKHZhciBkPTAsZz0wO2c8cC5sZW5ndGg7ZysrKXt2YXIgdj1wW2ddO2lmKGc+PTEpe3ZhciBtPXBbZy0xXTtpZighTm8odixtKSl7dS52ZXJ0ZXhMZW5ndGgrND5PYS5NQVhfVkVSVEVYX0FSUkFZX0xFTkdUSCYmKHU9dGhpcy5zZWdtZW50cy5wcmVwYXJlU2VnbWVudCg0LHRoaXMubGF5b3V0VmVydGV4QXJyYXksdGhpcy5pbmRleEFycmF5KSk7dmFyIHk9di5zdWIobSkuX3BlcnAoKS5fdW5pdCgpLHg9bS5kaXN0KHYpO2QreD4zMjc2OCYmKGQ9MCksRm8odGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx2Lngsdi55LHkueCx5LnksMCwwLGQpLEZvKHRoaXMubGF5b3V0VmVydGV4QXJyYXksdi54LHYueSx5LngseS55LDAsMSxkKSxkKz14LEZvKHRoaXMubGF5b3V0VmVydGV4QXJyYXksbS54LG0ueSx5LngseS55LDAsMCxkKSxGbyh0aGlzLmxheW91dFZlcnRleEFycmF5LG0ueCxtLnkseS54LHkueSwwLDEsZCk7dmFyIGI9dS52ZXJ0ZXhMZW5ndGg7dGhpcy5pbmRleEFycmF5LmVtcGxhY2VCYWNrKGIsYisyLGIrMSksdGhpcy5pbmRleEFycmF5LmVtcGxhY2VCYWNrKGIrMSxiKzIsYiszKSx1LnZlcnRleExlbmd0aCs9NCx1LnByaW1pdGl2ZUxlbmd0aCs9Mn19fX1pZih1LnZlcnRleExlbmd0aCtzPk9hLk1BWF9WRVJURVhfQVJSQVlfTEVOR1RIJiYodT10aGlzLnNlZ21lbnRzLnByZXBhcmVTZWdtZW50KHMsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXkpKSwiUG9seWdvbiI9PT1Eb1t0LnR5cGVdKXtmb3IodmFyIF89W10sdz1bXSxrPXUudmVydGV4TGVuZ3RoLFQ9MCxNPW87VDxNLmxlbmd0aDtUKz0xKXt2YXIgQT1NW1RdO2lmKDAhPT1BLmxlbmd0aCl7QSE9PW9bMF0mJncucHVzaChfLmxlbmd0aC8yKTtmb3IodmFyIFM9MDtTPEEubGVuZ3RoO1MrKyl7dmFyIEU9QVtTXTtGbyh0aGlzLmxheW91dFZlcnRleEFycmF5LEUueCxFLnksMCwwLDEsMSwwKSxfLnB1c2goRS54KSxfLnB1c2goRS55KX19fWZvcih2YXIgTD1OaShfLHcpLEM9MDtDPEwubGVuZ3RoO0MrPTMpdGhpcy5pbmRleEFycmF5LmVtcGxhY2VCYWNrKGsrTFtDXSxrK0xbQysyXSxrK0xbQysxXSk7dS5wcmltaXRpdmVMZW5ndGgrPUwubGVuZ3RoLzMsdS52ZXJ0ZXhMZW5ndGgrPXN9fXRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnBvcHVsYXRlUGFpbnRBcnJheXModGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGgsdCxyLG4pfSxkbigiRmlsbEV4dHJ1c2lvbkJ1Y2tldCIsQm8se29taXQ6WyJsYXllcnMiLCJmZWF0dXJlcyJdfSk7dmFyIFZvPXtwYWludDpuZXcgR24oeyJmaWxsLWV4dHJ1c2lvbi1vcGFjaXR5IjpuZXcgam4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLW9wYWNpdHkiXSksImZpbGwtZXh0cnVzaW9uLWNvbG9yIjpuZXcgVm4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLWNvbG9yIl0pLCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUiOm5ldyBqbihUdFsicGFpbnRfZmlsbC1leHRydXNpb24iXVsiZmlsbC1leHRydXNpb24tdHJhbnNsYXRlIl0pLCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUtYW5jaG9yIjpuZXcgam4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZS1hbmNob3IiXSksImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iOm5ldyBVbihUdFsicGFpbnRfZmlsbC1leHRydXNpb24iXVsiZmlsbC1leHRydXNpb24tcGF0dGVybiJdKSwiZmlsbC1leHRydXNpb24taGVpZ2h0IjpuZXcgVm4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLWhlaWdodCJdKSwiZmlsbC1leHRydXNpb24tYmFzZSI6bmV3IFZuKFR0WyJwYWludF9maWxsLWV4dHJ1c2lvbiJdWyJmaWxsLWV4dHJ1c2lvbi1iYXNlIl0pLCJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCI6bmV3IGpuKFR0WyJwYWludF9maWxsLWV4dHJ1c2lvbiJdWyJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCJdKX0pfSxVbz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3QuY2FsbCh0aGlzLGUsVm8pfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5jcmVhdGVCdWNrZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBCbyh0KX0sZS5wcm90b3R5cGUucXVlcnlSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4geWkodGhpcy5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZSIpKX0sZS5wcm90b3R5cGUuaXMzRD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5xdWVyeUludGVyc2VjdHNGZWF0dXJlPWZ1bmN0aW9uKHQsZSxyLG4saSxvLHMsbCl7dmFyIGM9eGkodCx0aGlzLnBhaW50LmdldCgiZmlsbC1leHRydXNpb24tdHJhbnNsYXRlIiksdGhpcy5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZS1hbmNob3IiKSxvLmFuZ2xlLHMpLHU9dGhpcy5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLWhlaWdodCIpLmV2YWx1YXRlKGUsciksaD10aGlzLnBhaW50LmdldCgiZmlsbC1leHRydXNpb24tYmFzZSIpLmV2YWx1YXRlKGUsciksZj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGk9W10sbz0wLHM9dDtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb10sYz1bbC54LGwueSwwLDFdO1RpKGMsYyxlKSxpLnB1c2gobmV3IGEoY1swXS9jWzNdLGNbMV0vY1szXSkpfXJldHVybiBpfShjLGwpLHA9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPVtdLG89W10scz1uWzhdKmUsbD1uWzldKmUsYz1uWzEwXSplLHU9blsxMV0qZSxoPW5bOF0qcixmPW5bOV0qcixwPW5bMTBdKnIsZD1uWzExXSpyLGc9MCx2PXQ7Zzx2Lmxlbmd0aDtnKz0xKXtmb3IodmFyIG09W10seT1bXSx4PTAsYj12W2ddO3g8Yi5sZW5ndGg7eCs9MSl7dmFyIF89Ylt4XSx3PV8ueCxrPV8ueSxUPW5bMF0qdytuWzRdKmsrblsxMl0sTT1uWzFdKncrbls1XSprK25bMTNdLEE9blsyXSp3K25bNl0qaytuWzE0XSxTPW5bM10qdytuWzddKmsrblsxNV0sRT1BK2MsTD1TK3UsQz1UK2gsUD1NK2YsTz1BK3Asej1TK2QsST1uZXcgYSgoVCtzKS9MLChNK2wpL0wpO0kuej1FL0wsbS5wdXNoKEkpO3ZhciBEPW5ldyBhKEMveixQL3opO0Quej1PL3oseS5wdXNoKEQpfWkucHVzaChtKSxvLnB1c2goeSl9cmV0dXJuW2ksb119KG4saCx1LGwpO3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49MS8wO2xpKHIsZSkmJihuPUhvKHIsZVswXSkpO2Zvcih2YXIgYT0wO2E8ZS5sZW5ndGg7YSsrKWZvcih2YXIgaT1lW2FdLG89dFthXSxzPTA7czxpLmxlbmd0aC0xO3MrKyl7dmFyIGw9aVtzXSxjPWlbcysxXSx1PW9bc10saD1bbCxjLG9bcysxXSx1LGxdO29pKHIsaCkmJihuPU1hdGgubWluKG4sSG8ocixoKSkpfXJldHVybiBuIT09MS8wJiZufShwWzBdLHBbMV0sZil9LGV9KFluKTtmdW5jdGlvbiBxbyh0LGUpe3JldHVybiB0LngqZS54K3QueSplLnl9ZnVuY3Rpb24gSG8odCxlKXtpZigxPT09dC5sZW5ndGgpe3ZhciByPWVbMF0sbj1lWzFdLGE9ZVszXSxpPXRbMF0sbz1uLnN1YihyKSxzPWEuc3ViKHIpLGw9aS5zdWIociksYz1xbyhvLG8pLHU9cW8obyxzKSxoPXFvKHMscyksZj1xbyhsLG8pLHA9cW8obCxzKSxkPWMqaC11KnUsZz0oaCpmLXUqcCkvZCx2PShjKnAtdSpmKS9kLG09MS1nLXY7cmV0dXJuIHIueiptK24ueipnK2Eueip2fWZvcih2YXIgeT0xLzAseD0wLGI9ZTt4PGIubGVuZ3RoO3grPTEpe3ZhciBfPWJbeF07eT1NYXRoLm1pbih5LF8ueil9cmV0dXJuIHl9dmFyIEdvPUpuKFt7bmFtZToiYV9wb3Nfbm9ybWFsIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifSx7bmFtZToiYV9kYXRhIixjb21wb25lbnRzOjQsdHlwZToiVWludDgifV0sNCkubWVtYmVycyxZbz1Jby5WZWN0b3JUaWxlRmVhdHVyZS50eXBlcyxXbz1NYXRoLmNvcyhNYXRoLlBJLzE4MCozNy41KSxYbz1NYXRoLnBvdygyLDE0KS8uNSxabz1mdW5jdGlvbih0KXt0aGlzLnpvb209dC56b29tLHRoaXMub3ZlcnNjYWxpbmc9dC5vdmVyc2NhbGluZyx0aGlzLmxheWVycz10LmxheWVycyx0aGlzLmxheWVySWRzPXRoaXMubGF5ZXJzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pLHRoaXMuaW5kZXg9dC5pbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5wYXR0ZXJuRmVhdHVyZXM9W10sdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgZWEsdGhpcy5pbmRleEFycmF5PW5ldyBkYSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucz1uZXcgUWEoR28sdC5sYXllcnMsdC56b29tKSx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJJZHM9dGhpcy5sYXllcnMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzU3RhdGVEZXBlbmRlbnQoKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pfTtaby5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24odCxlKXt0aGlzLmhhc1BhdHRlcm49eG8oImxpbmUiLHRoaXMubGF5ZXJzLGUpO2Zvcih2YXIgcj10aGlzLmxheWVyc1swXS5sYXlvdXQuZ2V0KCJsaW5lLXNvcnQta2V5Iiksbj1bXSxhPTAsaT10O2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXSxzPW8uZmVhdHVyZSxsPW8uaW5kZXgsYz1vLnNvdXJjZUxheWVySW5kZXg7aWYodGhpcy5sYXllcnNbMF0uX2ZlYXR1cmVGaWx0ZXIobmV3IFBuKHRoaXMuem9vbSkscykpe3ZhciB1PW5pKHMpLGg9cj9yLmV2YWx1YXRlKHMse30pOnZvaWQgMCxmPXtpZDpzLmlkLHByb3BlcnRpZXM6cy5wcm9wZXJ0aWVzLHR5cGU6cy50eXBlLHNvdXJjZUxheWVySW5kZXg6YyxpbmRleDpsLGdlb21ldHJ5OnUscGF0dGVybnM6e30sc29ydEtleTpofTtuLnB1c2goZil9fXImJm4uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LnNvcnRLZXktZS5zb3J0S2V5fSk7Zm9yKHZhciBwPTAsZD1uO3A8ZC5sZW5ndGg7cCs9MSl7dmFyIGc9ZFtwXSx2PWcsbT12Lmdlb21ldHJ5LHk9di5pbmRleCx4PXYuc291cmNlTGF5ZXJJbmRleDtpZih0aGlzLmhhc1BhdHRlcm4pe3ZhciBiPWJvKCJsaW5lIix0aGlzLmxheWVycyxnLHRoaXMuem9vbSxlKTt0aGlzLnBhdHRlcm5GZWF0dXJlcy5wdXNoKGIpfWVsc2UgdGhpcy5hZGRGZWF0dXJlKGcsbSx5LHt9KTt2YXIgXz10W3ldLmZlYXR1cmU7ZS5mZWF0dXJlSW5kZXguaW5zZXJ0KF8sbSx5LHgsdGhpcy5pbmRleCl9fSxaby5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJzLmxlbmd0aCYmdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBkYXRlUGFpbnRBcnJheXModCxlLHRoaXMuc3RhdGVEZXBlbmRlbnRMYXllcnMscil9LFpvLnByb3RvdHlwZS5hZGRGZWF0dXJlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49dGhpcy5wYXR0ZXJuRmVhdHVyZXM7cjxuLmxlbmd0aDtyKz0xKXt2YXIgYT1uW3JdO3RoaXMuYWRkRmVhdHVyZShhLGEuZ2VvbWV0cnksYS5pbmRleCxlKX19LFpvLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLmxheW91dFZlcnRleEFycmF5Lmxlbmd0aH0sWm8ucHJvdG90eXBlLnVwbG9hZFBlbmRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy51cGxvYWRlZHx8dGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMubmVlZHNVcGxvYWR9LFpvLnByb3RvdHlwZS51cGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy51cGxvYWRlZHx8KHRoaXMubGF5b3V0VmVydGV4QnVmZmVyPXQuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMubGF5b3V0VmVydGV4QXJyYXksR28pLHRoaXMuaW5kZXhCdWZmZXI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXkpKSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy51cGxvYWQodCksdGhpcy51cGxvYWRlZD0hMH0sWm8ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmxheW91dFZlcnRleEJ1ZmZlciYmKHRoaXMubGF5b3V0VmVydGV4QnVmZmVyLmRlc3Ryb3koKSx0aGlzLmluZGV4QnVmZmVyLmRlc3Ryb3koKSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5kZXN0cm95KCksdGhpcy5zZWdtZW50cy5kZXN0cm95KCkpfSxaby5wcm90b3R5cGUuYWRkRmVhdHVyZT1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9dGhpcy5sYXllcnNbMF0ubGF5b3V0LGk9YS5nZXQoImxpbmUtam9pbiIpLmV2YWx1YXRlKHQse30pLG89YS5nZXQoImxpbmUtY2FwIikscz1hLmdldCgibGluZS1taXRlci1saW1pdCIpLGw9YS5nZXQoImxpbmUtcm91bmQtbGltaXQiKSxjPTAsdT1lO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXTt0aGlzLmFkZExpbmUoaCx0LGksbyxzLGwscixuKX19LFpvLnByb3RvdHlwZS5hZGRMaW5lPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7aWYodGhpcy5kaXN0YW5jZT0wLHRoaXMuc2NhbGVkRGlzdGFuY2U9MCx0aGlzLnRvdGFsRGlzdGFuY2U9MCxlLnByb3BlcnRpZXMmJmUucHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eSgibWFwYm94X2NsaXBfc3RhcnQiKSYmZS5wcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KCJtYXBib3hfY2xpcF9lbmQiKSl7dGhpcy5jbGlwU3RhcnQ9K2UucHJvcGVydGllcy5tYXBib3hfY2xpcF9zdGFydCx0aGlzLmNsaXBFbmQ9K2UucHJvcGVydGllcy5tYXBib3hfY2xpcF9lbmQ7Zm9yKHZhciBsPTA7bDx0Lmxlbmd0aC0xO2wrKyl0aGlzLnRvdGFsRGlzdGFuY2UrPXRbbF0uZGlzdCh0W2wrMV0pfWZvcih2YXIgYz0iUG9seWdvbiI9PT1Zb1tlLnR5cGVdLHU9dC5sZW5ndGg7dT49MiYmdFt1LTFdLmVxdWFscyh0W3UtMl0pOyl1LS07Zm9yKHZhciBoPTA7aDx1LTEmJnRbaF0uZXF1YWxzKHRbaCsxXSk7KWgrKztpZighKHU8KGM/MzoyKSkpeyJiZXZlbCI9PT1yJiYoYT0xLjA1KTt2YXIgZixwPWVpLyg1MTIqdGhpcy5vdmVyc2NhbGluZykqMTUsZD10aGlzLnNlZ21lbnRzLnByZXBhcmVTZWdtZW50KDEwKnUsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXkpLGc9dm9pZCAwLHY9dm9pZCAwLG09dm9pZCAwLHk9dm9pZCAwO3RoaXMuZTE9dGhpcy5lMj0tMSxjJiYoZj10W3UtMl0seT10W2hdLnN1YihmKS5fdW5pdCgpLl9wZXJwKCkpO2Zvcih2YXIgeD1oO3g8dTt4KyspaWYoISh2PWMmJng9PT11LTE/dFtoKzFdOnRbeCsxXSl8fCF0W3hdLmVxdWFscyh2KSl7eSYmKG09eSksZiYmKGc9ZiksZj10W3hdLHk9dj92LnN1YihmKS5fdW5pdCgpLl9wZXJwKCk6bTt2YXIgYj0obT1tfHx5KS5hZGQoeSk7MD09PWIueCYmMD09PWIueXx8Yi5fdW5pdCgpO3ZhciBfPW0ueCp5LngrbS55KnkueSx3PWIueCp5LngrYi55KnkueSxrPTAhPT13PzEvdzoxLzAsVD0yKk1hdGguc3FydCgyLTIqdyksTT13PFdvJiZnJiZ2LEE9bS54KnkueS1tLnkqeS54PjA7aWYoTSYmeD5oKXt2YXIgUz1mLmRpc3QoZyk7aWYoUz4yKnApe3ZhciBFPWYuc3ViKGYuc3ViKGcpLl9tdWx0KHAvUykuX3JvdW5kKCkpO3RoaXMudXBkYXRlRGlzdGFuY2UoZyxFKSx0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoRSxtLDAsMCxkKSxnPUV9fXZhciBMPWcmJnYsQz1MP3I6Yz8iYnV0dCI6bjtpZihMJiYicm91bmQiPT09QyYmKGs8aT9DPSJtaXRlciI6azw9MiYmKEM9ImZha2Vyb3VuZCIpKSwibWl0ZXIiPT09QyYmaz5hJiYoQz0iYmV2ZWwiKSwiYmV2ZWwiPT09QyYmKGs+MiYmKEM9ImZsaXBiZXZlbCIpLGs8YSYmKEM9Im1pdGVyIikpLGcmJnRoaXMudXBkYXRlRGlzdGFuY2UoZyxmKSwibWl0ZXIiPT09QyliLl9tdWx0KGspLHRoaXMuYWRkQ3VycmVudFZlcnRleChmLGIsMCwwLGQpO2Vsc2UgaWYoImZsaXBiZXZlbCI9PT1DKXtpZihrPjEwMCliPXkubXVsdCgtMSk7ZWxzZXt2YXIgUD1rKm0uYWRkKHkpLm1hZygpL20uc3ViKHkpLm1hZygpO2IuX3BlcnAoKS5fbXVsdChQKihBPy0xOjEpKX10aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixiLDAsMCxkKSx0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixiLm11bHQoLTEpLDAsMCxkKX1lbHNlIGlmKCJiZXZlbCI9PT1DfHwiZmFrZXJvdW5kIj09PUMpe3ZhciBPPS1NYXRoLnNxcnQoayprLTEpLHo9QT9POjAsST1BPzA6TztpZihnJiZ0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixtLHosSSxkKSwiZmFrZXJvdW5kIj09PUMpZm9yKHZhciBEPU1hdGgucm91bmQoMTgwKlQvTWF0aC5QSS8yMCksUj0xO1I8RDtSKyspe3ZhciBGPVIvRDtpZiguNSE9PUYpe3ZhciBCPUYtLjU7Ris9RipCKihGLTEpKigoMS4wOTA0K18qKF8qKDMuNTU2NDUtMS40MzUxOSpfKS0zLjI0NTIpKSpCKkIrKC44NDgwMTMrXyooLjIxNTYzOCpfLTEuMDYwMjEpKSl9dmFyIE49eS5zdWIobSkuX211bHQoRikuX2FkZChtKS5fdW5pdCgpLl9tdWx0KEE/LTE6MSk7dGhpcy5hZGRIYWxmVmVydGV4KGYsTi54LE4ueSwhMSxBLDAsZCl9diYmdGhpcy5hZGRDdXJyZW50VmVydGV4KGYseSwteiwtSSxkKX1lbHNlIGlmKCJidXR0Ij09PUMpdGhpcy5hZGRDdXJyZW50VmVydGV4KGYsYiwwLDAsZCk7ZWxzZSBpZigic3F1YXJlIj09PUMpe3ZhciBqPWc/MTotMTt0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixiLGosaixkKX1lbHNlInJvdW5kIj09PUMmJihnJiYodGhpcy5hZGRDdXJyZW50VmVydGV4KGYsbSwwLDAsZCksdGhpcy5hZGRDdXJyZW50VmVydGV4KGYsbSwxLDEsZCwhMCkpLHYmJih0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZix5LC0xLC0xLGQsITApLHRoaXMuYWRkQ3VycmVudFZlcnRleChmLHksMCwwLGQpKSk7aWYoTSYmeDx1LTEpe3ZhciBWPWYuZGlzdCh2KTtpZihWPjIqcCl7dmFyIFU9Zi5hZGQodi5zdWIoZikuX211bHQocC9WKS5fcm91bmQoKSk7dGhpcy51cGRhdGVEaXN0YW5jZShmLFUpLHRoaXMuYWRkQ3VycmVudFZlcnRleChVLHksMCwwLGQpLGY9VX19fXRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnBvcHVsYXRlUGFpbnRBcnJheXModGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGgsZSxvLHMpfX0sWm8ucHJvdG90eXBlLmFkZEN1cnJlbnRWZXJ0ZXg9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZvaWQgMD09PWkmJihpPSExKTt2YXIgbz1lLngrZS55KnIscz1lLnktZS54KnIsbD0tZS54K2UueSpuLGM9LWUueS1lLngqbjt0aGlzLmFkZEhhbGZWZXJ0ZXgodCxvLHMsaSwhMSxyLGEpLHRoaXMuYWRkSGFsZlZlcnRleCh0LGwsYyxpLCEwLC1uLGEpLHRoaXMuZGlzdGFuY2U+WG8vMiYmMD09PXRoaXMudG90YWxEaXN0YW5jZSYmKHRoaXMuZGlzdGFuY2U9MCx0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgodCxlLHIsbixhLGkpKX0sWm8ucHJvdG90eXBlLmFkZEhhbGZWZXJ0ZXg9ZnVuY3Rpb24odCxlLHIsbixhLGksbyl7dmFyIHM9dC54LGw9dC55LGM9LjUqdGhpcy5zY2FsZWREaXN0YW5jZTt0aGlzLmxheW91dFZlcnRleEFycmF5LmVtcGxhY2VCYWNrKChzPDwxKSsobj8xOjApLChsPDwxKSsoYT8xOjApLE1hdGgucm91bmQoNjMqZSkrMTI4LE1hdGgucm91bmQoNjMqcikrMTI4LDErKDA9PT1pPzA6aTwwPy0xOjEpfCg2MyZjKTw8MixjPj42KTt2YXIgdT1vLnZlcnRleExlbmd0aCsrO3RoaXMuZTE+PTAmJnRoaXMuZTI+PTAmJih0aGlzLmluZGV4QXJyYXkuZW1wbGFjZUJhY2sodGhpcy5lMSx0aGlzLmUyLHUpLG8ucHJpbWl0aXZlTGVuZ3RoKyspLGE/dGhpcy5lMj11OnRoaXMuZTE9dX0sWm8ucHJvdG90eXBlLnVwZGF0ZURpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dGhpcy5kaXN0YW5jZSs9dC5kaXN0KGUpLHRoaXMuc2NhbGVkRGlzdGFuY2U9dGhpcy50b3RhbERpc3RhbmNlPjA/KHRoaXMuY2xpcFN0YXJ0Kyh0aGlzLmNsaXBFbmQtdGhpcy5jbGlwU3RhcnQpKnRoaXMuZGlzdGFuY2UvdGhpcy50b3RhbERpc3RhbmNlKSooWG8tMSk6dGhpcy5kaXN0YW5jZX0sZG4oIkxpbmVCdWNrZXQiLFpvLHtvbWl0OlsibGF5ZXJzIiwicGF0dGVybkZlYXR1cmVzIl19KTt2YXIgSm89bmV3IEduKHsibGluZS1jYXAiOm5ldyBqbihUdC5sYXlvdXRfbGluZVsibGluZS1jYXAiXSksImxpbmUtam9pbiI6bmV3IFZuKFR0LmxheW91dF9saW5lWyJsaW5lLWpvaW4iXSksImxpbmUtbWl0ZXItbGltaXQiOm5ldyBqbihUdC5sYXlvdXRfbGluZVsibGluZS1taXRlci1saW1pdCJdKSwibGluZS1yb3VuZC1saW1pdCI6bmV3IGpuKFR0LmxheW91dF9saW5lWyJsaW5lLXJvdW5kLWxpbWl0Il0pLCJsaW5lLXNvcnQta2V5IjpuZXcgVm4oVHQubGF5b3V0X2xpbmVbImxpbmUtc29ydC1rZXkiXSl9KSxLbz17cGFpbnQ6bmV3IEduKHsibGluZS1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS1vcGFjaXR5Il0pLCJsaW5lLWNvbG9yIjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS1jb2xvciJdKSwibGluZS10cmFuc2xhdGUiOm5ldyBqbihUdC5wYWludF9saW5lWyJsaW5lLXRyYW5zbGF0ZSJdKSwibGluZS10cmFuc2xhdGUtYW5jaG9yIjpuZXcgam4oVHQucGFpbnRfbGluZVsibGluZS10cmFuc2xhdGUtYW5jaG9yIl0pLCJsaW5lLXdpZHRoIjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS13aWR0aCJdKSwibGluZS1nYXAtd2lkdGgiOm5ldyBWbihUdC5wYWludF9saW5lWyJsaW5lLWdhcC13aWR0aCJdKSwibGluZS1vZmZzZXQiOm5ldyBWbihUdC5wYWludF9saW5lWyJsaW5lLW9mZnNldCJdKSwibGluZS1ibHVyIjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS1ibHVyIl0pLCJsaW5lLWRhc2hhcnJheSI6bmV3IHFuKFR0LnBhaW50X2xpbmVbImxpbmUtZGFzaGFycmF5Il0pLCJsaW5lLXBhdHRlcm4iOm5ldyBVbihUdC5wYWludF9saW5lWyJsaW5lLXBhdHRlcm4iXSksImxpbmUtZ3JhZGllbnQiOm5ldyBIbihUdC5wYWludF9saW5lWyJsaW5lLWdyYWRpZW50Il0pfSksbGF5b3V0OkpvfSxRbz1uZXcoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5wb3NzaWJseUV2YWx1YXRlPWZ1bmN0aW9uKGUscil7cmV0dXJuIHI9bmV3IFBuKE1hdGguZmxvb3Ioci56b29tKSx7bm93OnIubm93LGZhZGVEdXJhdGlvbjpyLmZhZGVEdXJhdGlvbix6b29tSGlzdG9yeTpyLnpvb21IaXN0b3J5LHRyYW5zaXRpb246ci50cmFuc2l0aW9ufSksdC5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZS5jYWxsKHRoaXMsZSxyKX0sZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oZSxyLG4sYSl7cmV0dXJuIHI9aCh7fSxyLHt6b29tOk1hdGguZmxvb3Ioci56b29tKX0pLHQucHJvdG90eXBlLmV2YWx1YXRlLmNhbGwodGhpcyxlLHIsbixhKX0sZX0oVm4pKShLby5wYWludC5wcm9wZXJ0aWVzWyJsaW5lLXdpZHRoIl0uc3BlY2lmaWNhdGlvbik7UW8udXNlSW50ZWdlclpvb209ITA7dmFyICRvPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSxLbyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLl9oYW5kbGVTcGVjaWFsUGFpbnRQcm9wZXJ0eVVwZGF0ZT1mdW5jdGlvbih0KXsibGluZS1ncmFkaWVudCI9PT10JiZ0aGlzLl91cGRhdGVHcmFkaWVudCgpfSxlLnByb3RvdHlwZS5fdXBkYXRlR3JhZGllbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50Ll92YWx1ZXNbImxpbmUtZ3JhZGllbnQiXS52YWx1ZS5leHByZXNzaW9uO3RoaXMuZ3JhZGllbnQ9SWkodCwibGluZVByb2dyZXNzIiksdGhpcy5ncmFkaWVudFRleHR1cmU9bnVsbH0sZS5wcm90b3R5cGUucmVjYWxjdWxhdGU9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUucmVjYWxjdWxhdGUuY2FsbCh0aGlzLGUpLHRoaXMucGFpbnQuX3ZhbHVlc1sibGluZS1mbG9vcndpZHRoIl09UW8ucG9zc2libHlFdmFsdWF0ZSh0aGlzLl90cmFuc2l0aW9uaW5nUGFpbnQuX3ZhbHVlc1sibGluZS13aWR0aCJdLnZhbHVlLGUpfSxlLnByb3RvdHlwZS5jcmVhdGVCdWNrZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBabyh0KX0sZS5wcm90b3R5cGUucXVlcnlSYWRpdXM9ZnVuY3Rpb24odCl7dmFyIGU9dCxyPXRzKG1pKCJsaW5lLXdpZHRoIix0aGlzLGUpLG1pKCJsaW5lLWdhcC13aWR0aCIsdGhpcyxlKSksbj1taSgibGluZS1vZmZzZXQiLHRoaXMsZSk7cmV0dXJuIHIvMitNYXRoLmFicyhuKSt5aSh0aGlzLnBhaW50LmdldCgibGluZS10cmFuc2xhdGUiKSl9LGUucHJvdG90eXBlLnF1ZXJ5SW50ZXJzZWN0c0ZlYXR1cmU9ZnVuY3Rpb24odCxlLHIsbixpLG8scyl7dmFyIGw9eGkodCx0aGlzLnBhaW50LmdldCgibGluZS10cmFuc2xhdGUiKSx0aGlzLnBhaW50LmdldCgibGluZS10cmFuc2xhdGUtYW5jaG9yIiksby5hbmdsZSxzKSxjPXMvMip0cyh0aGlzLnBhaW50LmdldCgibGluZS13aWR0aCIpLmV2YWx1YXRlKGUsciksdGhpcy5wYWludC5nZXQoImxpbmUtZ2FwLXdpZHRoIikuZXZhbHVhdGUoZSxyKSksdT10aGlzLnBhaW50LmdldCgibGluZS1vZmZzZXQiKS5ldmFsdWF0ZShlLHIpO3JldHVybiB1JiYobj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPW5ldyBhKDAsMCksaT0wO2k8dC5sZW5ndGg7aSsrKXtmb3IodmFyIG89dFtpXSxzPVtdLGw9MDtsPG8ubGVuZ3RoO2wrKyl7dmFyIGM9b1tsLTFdLHU9b1tsXSxoPW9bbCsxXSxmPTA9PT1sP246dS5zdWIoYykuX3VuaXQoKS5fcGVycCgpLHA9bD09PW8ubGVuZ3RoLTE/bjpoLnN1Yih1KS5fdW5pdCgpLl9wZXJwKCksZD1mLl9hZGQocCkuX3VuaXQoKSxnPWQueCpwLngrZC55KnAueTtkLl9tdWx0KDEvZykscy5wdXNoKGQuX211bHQoZSkuX2FkZCh1KSl9ci5wdXNoKHMpfXJldHVybiByfShuLHUqcykpLGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGE9ZVtuXTtpZih0Lmxlbmd0aD49Mylmb3IodmFyIGk9MDtpPGEubGVuZ3RoO2krKylpZihnaSh0LGFbaV0pKXJldHVybiEwO2lmKGNpKHQsYSxyKSlyZXR1cm4hMH1yZXR1cm4hMX0obCxuLGMpfSxlLnByb3RvdHlwZS5pc1RpbGVDbGlwcGVkPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGV9KFluKTtmdW5jdGlvbiB0cyh0LGUpe3JldHVybiBlPjA/ZSsyKnQ6dH12YXIgZXM9Sm4oW3tuYW1lOiJhX3Bvc19vZmZzZXQiLGNvbXBvbmVudHM6NCx0eXBlOiJJbnQxNiJ9LHtuYW1lOiJhX2RhdGEiLGNvbXBvbmVudHM6NCx0eXBlOiJVaW50MTYifV0pLHJzPUpuKFt7bmFtZToiYV9wcm9qZWN0ZWRfcG9zIixjb21wb25lbnRzOjMsdHlwZToiRmxvYXQzMiJ9XSw0KSxucz0oSm4oW3tuYW1lOiJhX2ZhZGVfb3BhY2l0eSIsY29tcG9uZW50czoxLHR5cGU6IlVpbnQzMiJ9XSw0KSxKbihbe25hbWU6ImFfcGxhY2VkIixjb21wb25lbnRzOjIsdHlwZToiVWludDgifSx7bmFtZToiYV9zaGlmdCIsY29tcG9uZW50czoyLHR5cGU6IkZsb2F0MzIifV0pKSxhcz0oSm4oW3t0eXBlOiJJbnQxNiIsbmFtZToiYW5jaG9yUG9pbnRYIn0se3R5cGU6IkludDE2IixuYW1lOiJhbmNob3JQb2ludFkifSx7dHlwZToiSW50MTYiLG5hbWU6IngxIn0se3R5cGU6IkludDE2IixuYW1lOiJ5MSJ9LHt0eXBlOiJJbnQxNiIsbmFtZToieDIifSx7dHlwZToiSW50MTYiLG5hbWU6InkyIn0se3R5cGU6IlVpbnQzMiIsbmFtZToiZmVhdHVyZUluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToic291cmNlTGF5ZXJJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6ImJ1Y2tldEluZGV4In0se3R5cGU6IkludDE2IixuYW1lOiJyYWRpdXMifSx7dHlwZToiSW50MTYiLG5hbWU6InNpZ25lZERpc3RhbmNlRnJvbUFuY2hvciJ9XSksSm4oW3tuYW1lOiJhX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In0se25hbWU6ImFfYW5jaG9yX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In0se25hbWU6ImFfZXh0cnVkZSIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In1dLDQpKSxpcz1Kbihbe25hbWU6ImFfcG9zIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifSx7bmFtZToiYV9hbmNob3JfcG9zIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifSx7bmFtZToiYV9leHRydWRlIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifV0sNCk7ZnVuY3Rpb24gb3ModCxlLHIpe3JldHVybiB0LnNlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24odCl7dC50ZXh0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lLmxheW91dC5nZXQoInRleHQtdHJhbnNmb3JtIikuZXZhbHVhdGUocix7fSk7cmV0dXJuInVwcGVyY2FzZSI9PT1uP3Q9dC50b0xvY2FsZVVwcGVyQ2FzZSgpOiJsb3dlcmNhc2UiPT09biYmKHQ9dC50b0xvY2FsZUxvd2VyQ2FzZSgpKSxDbi5hcHBseUFyYWJpY1NoYXBpbmcmJih0PUNuLmFwcGx5QXJhYmljU2hhcGluZyh0KSksdH0odC50ZXh0LGUscil9KSx0fUpuKFt7dHlwZToiSW50MTYiLG5hbWU6ImFuY2hvclgifSx7dHlwZToiSW50MTYiLG5hbWU6ImFuY2hvclkifSx7dHlwZToiVWludDE2IixuYW1lOiJnbHlwaFN0YXJ0SW5kZXgifSx7dHlwZToiVWludDE2IixuYW1lOiJudW1HbHlwaHMifSx7dHlwZToiVWludDMyIixuYW1lOiJ2ZXJ0ZXhTdGFydEluZGV4In0se3R5cGU6IlVpbnQzMiIsbmFtZToibGluZVN0YXJ0SW5kZXgifSx7dHlwZToiVWludDMyIixuYW1lOiJsaW5lTGVuZ3RoIn0se3R5cGU6IlVpbnQxNiIsbmFtZToic2VnbWVudCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6Imxvd2VyU2l6ZSJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6InVwcGVyU2l6ZSJ9LHt0eXBlOiJGbG9hdDMyIixuYW1lOiJsaW5lT2Zmc2V0WCJ9LHt0eXBlOiJGbG9hdDMyIixuYW1lOiJsaW5lT2Zmc2V0WSJ9LHt0eXBlOiJVaW50OCIsbmFtZToid3JpdGluZ01vZGUifSx7dHlwZToiVWludDgiLG5hbWU6InBsYWNlZE9yaWVudGF0aW9uIn0se3R5cGU6IlVpbnQ4IixuYW1lOiJoaWRkZW4ifSx7dHlwZToiVWludDMyIixuYW1lOiJjcm9zc1RpbGVJRCJ9XSksSm4oW3t0eXBlOiJJbnQxNiIsbmFtZToiYW5jaG9yWCJ9LHt0eXBlOiJJbnQxNiIsbmFtZToiYW5jaG9yWSJ9LHt0eXBlOiJJbnQxNiIsbmFtZToicmlnaHRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgifSx7dHlwZToiSW50MTYiLG5hbWU6ImNlbnRlckp1c3RpZmllZFRleHRTeW1ib2xJbmRleCJ9LHt0eXBlOiJJbnQxNiIsbmFtZToibGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleCJ9LHt0eXBlOiJJbnQxNiIsbmFtZToidmVydGljYWxQbGFjZWRUZXh0U3ltYm9sSW5kZXgifSx7dHlwZToiVWludDE2IixuYW1lOiJrZXkifSx7dHlwZToiVWludDE2IixuYW1lOiJ0ZXh0Qm94U3RhcnRJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6InRleHRCb3hFbmRJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6InZlcnRpY2FsVGV4dEJveFN0YXJ0SW5kZXgifSx7dHlwZToiVWludDE2IixuYW1lOiJ2ZXJ0aWNhbFRleHRCb3hFbmRJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6Imljb25Cb3hTdGFydEluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToiaWNvbkJveEVuZEluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToiZmVhdHVyZUluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToibnVtSG9yaXpvbnRhbEdseXBoVmVydGljZXMifSx7dHlwZToiVWludDE2IixuYW1lOiJudW1WZXJ0aWNhbEdseXBoVmVydGljZXMifSx7dHlwZToiVWludDE2IixuYW1lOiJudW1JY29uVmVydGljZXMifSx7dHlwZToiVWludDMyIixuYW1lOiJjcm9zc1RpbGVJRCJ9LHt0eXBlOiJGbG9hdDMyIixuYW1lOiJ0ZXh0Qm94U2NhbGUifSx7dHlwZToiRmxvYXQzMiIsbmFtZToicmFkaWFsVGV4dE9mZnNldCJ9XSksSm4oW3t0eXBlOiJGbG9hdDMyIixuYW1lOiJvZmZzZXRYIn1dKSxKbihbe3R5cGU6IkludDE2IixuYW1lOiJ4In0se3R5cGU6IkludDE2IixuYW1lOiJ5In0se3R5cGU6IkludDE2IixuYW1lOiJ0aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvciJ9XSk7dmFyIHNzPXsiISI6Ilx1ZmUxNSIsIiMiOiJcdWZmMDMiLCQ6Ilx1ZmYwNCIsIiUiOiJcdWZmMDUiLCImIjoiXHVmZjA2IiwiKCI6Ilx1ZmUzNSIsIikiOiJcdWZlMzYiLCIqIjoiXHVmZjBhIiwiKyI6Ilx1ZmYwYiIsIiwiOiJcdWZlMTAiLCItIjoiXHVmZTMyIiwiLiI6Ilx1MzBmYiIsIi8iOiJcdWZmMGYiLCI6IjoiXHVmZTEzIiwiOyI6Ilx1ZmUxNCIsIjwiOiJcdWZlM2YiLCI9IjoiXHVmZjFkIiwiPiI6Ilx1ZmU0MCIsIj8iOiJcdWZlMTYiLCJAIjoiXHVmZjIwIiwiWyI6Ilx1ZmU0NyIsIlxcIjoiXHVmZjNjIiwiXSI6Ilx1ZmU0OCIsIl4iOiJcdWZmM2UiLF86Ilx1ZmUzMyIsImAiOiJcdWZmNDAiLCJ7IjoiXHVmZTM3IiwifCI6Ilx1MjAxNSIsIn0iOiJcdWZlMzgiLCJ+IjoiXHVmZjVlIiwiXHhhMiI6Ilx1ZmZlMCIsIlx4YTMiOiJcdWZmZTEiLCJceGE1IjoiXHVmZmU1IiwiXHhhNiI6Ilx1ZmZlNCIsIlx4YWMiOiJcdWZmZTIiLCJceGFmIjoiXHVmZmUzIiwiXHUyMDEzIjoiXHVmZTMyIiwiXHUyMDE0IjoiXHVmZTMxIiwiXHUyMDE4IjoiXHVmZTQzIiwiXHUyMDE5IjoiXHVmZTQ0IiwiXHUyMDFjIjoiXHVmZTQxIiwiXHUyMDFkIjoiXHVmZTQyIiwiXHUyMDI2IjoiXHVmZTE5IiwiXHUyMDI3IjoiXHUzMGZiIiwiXHUyMGE5IjoiXHVmZmU2IiwiXHUzMDAxIjoiXHVmZTExIiwiXHUzMDAyIjoiXHVmZTEyIiwiXHUzMDA4IjoiXHVmZTNmIiwiXHUzMDA5IjoiXHVmZTQwIiwiXHUzMDBhIjoiXHVmZTNkIiwiXHUzMDBiIjoiXHVmZTNlIiwiXHUzMDBjIjoiXHVmZTQxIiwiXHUzMDBkIjoiXHVmZTQyIiwiXHUzMDBlIjoiXHVmZTQzIiwiXHUzMDBmIjoiXHVmZTQ0IiwiXHUzMDEwIjoiXHVmZTNiIiwiXHUzMDExIjoiXHVmZTNjIiwiXHUzMDE0IjoiXHVmZTM5IiwiXHUzMDE1IjoiXHVmZTNhIiwiXHUzMDE2IjoiXHVmZTE3IiwiXHUzMDE3IjoiXHVmZTE4IiwiXHVmZjAxIjoiXHVmZTE1IiwiXHVmZjA4IjoiXHVmZTM1IiwiXHVmZjA5IjoiXHVmZTM2IiwiXHVmZjBjIjoiXHVmZTEwIiwiXHVmZjBkIjoiXHVmZTMyIiwiXHVmZjBlIjoiXHUzMGZiIiwiXHVmZjFhIjoiXHVmZTEzIiwiXHVmZjFiIjoiXHVmZTE0IiwiXHVmZjFjIjoiXHVmZTNmIiwiXHVmZjFlIjoiXHVmZTQwIiwiXHVmZjFmIjoiXHVmZTE2IiwiXHVmZjNiIjoiXHVmZTQ3IiwiXHVmZjNkIjoiXHVmZTQ4IiwiXHVmZjNmIjoiXHVmZTMzIiwiXHVmZjViIjoiXHVmZTM3IiwiXHVmZjVjIjoiXHUyMDE1IiwiXHVmZjVkIjoiXHVmZTM4IiwiXHVmZjVmIjoiXHVmZTM1IiwiXHVmZjYwIjoiXHVmZTM2IiwiXHVmZjYxIjoiXHVmZTEyIiwiXHVmZjYyIjoiXHVmZTQxIiwiXHVmZjYzIjoiXHVmZTQyIn0sbHM9MjQsY3M9e2hvcml6b250YWw6MSx2ZXJ0aWNhbDoyLGhvcml6b250YWxPbmx5OjN9LHVzPWZ1bmN0aW9uKCl7dGhpcy50ZXh0PSIiLHRoaXMuc2VjdGlvbkluZGV4PVtdLHRoaXMuc2VjdGlvbnM9W119O2Z1bmN0aW9uIGhzKHQsZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGgsZj11cy5mcm9tRmVhdHVyZSh0LHIpO2M9PT1jcy52ZXJ0aWNhbCYmZi52ZXJ0aWNhbGl6ZVB1bmN0dWF0aW9uKCk7dmFyIHA9Q24ucHJvY2Vzc0JpZGlyZWN0aW9uYWxUZXh0LGQ9Q24ucHJvY2Vzc1N0eWxlZEJpZGlyZWN0aW9uYWxUZXh0O2lmKHAmJjE9PT1mLnNlY3Rpb25zLmxlbmd0aCl7aD1bXTtmb3IodmFyIGc9MCx2PXAoZi50b1N0cmluZygpLG1zKGYscyxuLGUpKTtnPHYubGVuZ3RoO2crPTEpe3ZhciBtPXZbZ10seT1uZXcgdXM7eS50ZXh0PW0seS5zZWN0aW9ucz1mLnNlY3Rpb25zO2Zvcih2YXIgeD0wO3g8bS5sZW5ndGg7eCsrKXkuc2VjdGlvbkluZGV4LnB1c2goMCk7aC5wdXNoKHkpfX1lbHNlIGlmKGQpe2g9W107Zm9yKHZhciBiPTAsXz1kKGYudGV4dCxmLnNlY3Rpb25JbmRleCxtcyhmLHMsbixlKSk7YjxfLmxlbmd0aDtiKz0xKXt2YXIgdz1fW2JdLGs9bmV3IHVzO2sudGV4dD13WzBdLGsuc2VjdGlvbkluZGV4PXdbMV0say5zZWN0aW9ucz1mLnNlY3Rpb25zLGgucHVzaChrKX19ZWxzZSBoPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49dC50ZXh0LGE9MCxpPTAsbz1lO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXTtyLnB1c2godC5zdWJzdHJpbmcoYSxzKSksYT1zfXJldHVybiBhPG4ubGVuZ3RoJiZyLnB1c2godC5zdWJzdHJpbmcoYSxuLmxlbmd0aCkpLHJ9KGYsbXMoZixzLG4sZSkpO3ZhciBUPVtdLE09e3Bvc2l0aW9uZWRHbHlwaHM6VCx0ZXh0OmYudG9TdHJpbmcoKSx0b3A6bFsxXSxib3R0b206bFsxXSxsZWZ0OmxbMF0scmlnaHQ6bFswXSx3cml0aW5nTW9kZTpjLGxpbmVDb3VudDpoLmxlbmd0aCx5T2Zmc2V0Oi0xN307cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsKXtmb3IodmFyIGM9MCx1PXQueU9mZnNldCxoPTAsZj10LnBvc2l0aW9uZWRHbHlwaHMscD0icmlnaHQiPT09aT8xOiJsZWZ0Ij09PWk/MDouNSxkPTAsZz1yO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXTt2LnRyaW0oKTt2YXIgbT12LmdldE1heFNjYWxlKCk7aWYodi5sZW5ndGgoKSl7Zm9yKHZhciB5PWYubGVuZ3RoLHg9MDt4PHYubGVuZ3RoKCk7eCsrKXt2YXIgYj12LmdldFNlY3Rpb24oeCksXz12LmdldFNlY3Rpb25JbmRleCh4KSx3PXYuZ2V0Q2hhckNvZGUoeCksaz0yNCoobS1iLnNjYWxlKSxUPWVbYi5mb250U3RhY2tdLE09VCYmVFt3XTtNJiYobz09PWNzLmhvcml6b250YWx8fCFsJiYhd24odyl8fGwmJihmc1t3XXx8KFM9dyx4bi5BcmFiaWMoUyl8fHhuWyJBcmFiaWMgU3VwcGxlbWVudCJdKFMpfHx4blsiQXJhYmljIEV4dGVuZGVkLUEiXShTKXx8eG5bIkFyYWJpYyBQcmVzZW50YXRpb24gRm9ybXMtQSJdKFMpfHx4blsiQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1CIl0oUykpKT8oZi5wdXNoKHtnbHlwaDp3LHg6Yyx5OnUrayx2ZXJ0aWNhbDohMSxzY2FsZTpiLnNjYWxlLGZvbnRTdGFjazpiLmZvbnRTdGFjayxzZWN0aW9uSW5kZXg6X30pLGMrPU0ubWV0cmljcy5hZHZhbmNlKmIuc2NhbGUrcyk6KGYucHVzaCh7Z2x5cGg6dyx4OmMseTp1K2ssdmVydGljYWw6ITAsc2NhbGU6Yi5zY2FsZSxmb250U3RhY2s6Yi5mb250U3RhY2ssc2VjdGlvbkluZGV4Ol99KSxjKz1scypiLnNjYWxlK3MpKX1pZihmLmxlbmd0aCE9PXkpe3ZhciBBPWMtcztoPU1hdGgubWF4KEEsaCkseHMoZixlLHksZi5sZW5ndGgtMSxwKX1jPTAsdSs9biptfWVsc2UgdSs9bn12YXIgUyxFPXlzKGEpLEw9RS5ob3Jpem9udGFsQWxpZ24sQz1FLnZlcnRpY2FsQWxpZ247IWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz0oZS1yKSphLGw9KC1uKm8rLjUpKmksYz0wO2M8dC5sZW5ndGg7YysrKXRbY10ueCs9cyx0W2NdLnkrPWx9KGYscCxMLEMsaCxuLHIubGVuZ3RoKTt2YXIgUD11LXQueU9mZnNldDt0LnRvcCs9LUMqUCx0LmJvdHRvbT10LnRvcCtQLHQubGVmdCs9LUwqaCx0LnJpZ2h0PXQubGVmdCtofShNLGUsaCxhLGksbyxjLHMsdSksISFULmxlbmd0aCYmTX11cy5mcm9tRmVhdHVyZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgdXMsbj0wO248dC5zZWN0aW9ucy5sZW5ndGg7bisrKXt2YXIgYT10LnNlY3Rpb25zW25dO3Iuc2VjdGlvbnMucHVzaCh7c2NhbGU6YS5zY2FsZXx8MSxmb250U3RhY2s6YS5mb250U3RhY2t8fGV9KSxyLnRleHQrPWEudGV4dDtmb3IodmFyIGk9MDtpPGEudGV4dC5sZW5ndGg7aSsrKXIuc2VjdGlvbkluZGV4LnB1c2gobil9cmV0dXJuIHJ9LHVzLnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0Lmxlbmd0aH0sdXMucHJvdG90eXBlLmdldFNlY3Rpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc2VjdGlvbnNbdGhpcy5zZWN0aW9uSW5kZXhbdF1dfSx1cy5wcm90b3R5cGUuZ2V0U2VjdGlvbkluZGV4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNlY3Rpb25JbmRleFt0XX0sdXMucHJvdG90eXBlLmdldENoYXJDb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQuY2hhckNvZGVBdCh0KX0sdXMucHJvdG90eXBlLnZlcnRpY2FsaXplUHVuY3R1YXRpb249ZnVuY3Rpb24oKXt0aGlzLnRleHQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dC5jaGFyQ29kZUF0KHIrMSl8fG51bGwsYT10LmNoYXJDb2RlQXQoci0xKXx8bnVsbDtuJiZrbihuKSYmIXNzW3RbcisxXV18fGEmJmtuKGEpJiYhc3NbdFtyLTFdXXx8IXNzW3Rbcl1dP2UrPXRbcl06ZSs9c3NbdFtyXV19cmV0dXJuIGV9KHRoaXMudGV4dCl9LHVzLnByb3RvdHlwZS50cmltPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy50ZXh0Lmxlbmd0aCYmZnNbdGhpcy50ZXh0LmNoYXJDb2RlQXQoZSldO2UrKyl0Kys7Zm9yKHZhciByPXRoaXMudGV4dC5sZW5ndGgsbj10aGlzLnRleHQubGVuZ3RoLTE7bj49MCYmbj49dCYmZnNbdGhpcy50ZXh0LmNoYXJDb2RlQXQobildO24tLSlyLS07dGhpcy50ZXh0PXRoaXMudGV4dC5zdWJzdHJpbmcodCxyKSx0aGlzLnNlY3Rpb25JbmRleD10aGlzLnNlY3Rpb25JbmRleC5zbGljZSh0LHIpfSx1cy5wcm90b3R5cGUuc3Vic3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IHVzO3JldHVybiByLnRleHQ9dGhpcy50ZXh0LnN1YnN0cmluZyh0LGUpLHIuc2VjdGlvbkluZGV4PXRoaXMuc2VjdGlvbkluZGV4LnNsaWNlKHQsZSksci5zZWN0aW9ucz10aGlzLnNlY3Rpb25zLHJ9LHVzLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHR9LHVzLnByb3RvdHlwZS5nZXRNYXhTY2FsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuc2VjdGlvbkluZGV4LnJlZHVjZShmdW5jdGlvbihlLHIpe3JldHVybiBNYXRoLm1heChlLHQuc2VjdGlvbnNbcl0uc2NhbGUpfSwwKX07dmFyIGZzPXs5OiEwLDEwOiEwLDExOiEwLDEyOiEwLDEzOiEwLDMyOiEwfSxwcz17fTtmdW5jdGlvbiBkcyh0LGUscixuKXt2YXIgYT1NYXRoLnBvdyh0LWUsMik7cmV0dXJuIG4/dDxlP2EvMjoyKmE6YStNYXRoLmFicyhyKSpyfWZ1bmN0aW9uIGdzKHQsZSxyKXt2YXIgbj0wO3JldHVybiAxMD09PXQmJihuLT0xZTQpLHImJihuKz0xNTApLDQwIT09dCYmNjUyODghPT10fHwobis9NTApLDQxIT09ZSYmNjUyODkhPT1lfHwobis9NTApLG59ZnVuY3Rpb24gdnModCxlLHIsbixhLGkpe2Zvcih2YXIgbz1udWxsLHM9ZHMoZSxyLGEsaSksbD0wLGM9bjtsPGMubGVuZ3RoO2wrPTEpe3ZhciB1PWNbbF0saD1kcyhlLXUueCxyLGEsaSkrdS5iYWRuZXNzO2g8PXMmJihvPXUscz1oKX1yZXR1cm57aW5kZXg6dCx4OmUscHJpb3JCcmVhazpvLGJhZG5lc3M6c319ZnVuY3Rpb24gbXModCxlLHIsbil7aWYoIXIpcmV0dXJuW107aWYoIXQpcmV0dXJuW107Zm9yKHZhciBhLGk9W10sbz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MCxpPTA7aTx0Lmxlbmd0aCgpO2krKyl7dmFyIG89dC5nZXRTZWN0aW9uKGkpLHM9bltvLmZvbnRTdGFja10sbD1zJiZzW3QuZ2V0Q2hhckNvZGUoaSldO2wmJihhKz1sLm1ldHJpY3MuYWR2YW5jZSpvLnNjYWxlK2UpfXJldHVybiBhL01hdGgubWF4KDEsTWF0aC5jZWlsKGEvcikpfSh0LGUscixuKSxzPXQudGV4dC5pbmRleE9mKCJcdTIwMGIiKT49MCxsPTAsYz0wO2M8dC5sZW5ndGgoKTtjKyspe3ZhciB1PXQuZ2V0U2VjdGlvbihjKSxoPXQuZ2V0Q2hhckNvZGUoYyksZj1uW3UuZm9udFN0YWNrXSxwPWYmJmZbaF07aWYocCYmIWZzW2hdJiYobCs9cC5tZXRyaWNzLmFkdmFuY2UqdS5zY2FsZStlKSxjPHQubGVuZ3RoKCktMSl7dmFyIGQ9ISgoYT1oKTwxMTkwNHx8ISh4blsiQm9wb21vZm8gRXh0ZW5kZWQiXShhKXx8eG4uQm9wb21vZm8oYSl8fHhuWyJDSksgQ29tcGF0aWJpbGl0eSBGb3JtcyJdKGEpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBocyJdKGEpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkiXShhKXx8eG5bIkNKSyBSYWRpY2FscyBTdXBwbGVtZW50Il0oYSl8fHhuWyJDSksgU3Ryb2tlcyJdKGEpfHx4blsiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIl0oYSl8fHhuWyJDSksgVW5pZmllZCBJZGVvZ3JhcGhzIEV4dGVuc2lvbiBBIl0oYSl8fHhuWyJDSksgVW5pZmllZCBJZGVvZ3JhcGhzIl0oYSl8fHhuWyJFbmNsb3NlZCBDSksgTGV0dGVycyBhbmQgTW9udGhzIl0oYSl8fHhuWyJIYWxmd2lkdGggYW5kIEZ1bGx3aWR0aCBGb3JtcyJdKGEpfHx4bi5IaXJhZ2FuYShhKXx8eG5bIklkZW9ncmFwaGljIERlc2NyaXB0aW9uIENoYXJhY3RlcnMiXShhKXx8eG5bIkthbmd4aSBSYWRpY2FscyJdKGEpfHx4blsiS2F0YWthbmEgUGhvbmV0aWMgRXh0ZW5zaW9ucyJdKGEpfHx4bi5LYXRha2FuYShhKXx8eG5bIlZlcnRpY2FsIEZvcm1zIl0oYSl8fHhuWyJZaSBSYWRpY2FscyJdKGEpfHx4blsiWWkgU3lsbGFibGVzIl0oYSkpKTsocHNbaF18fGQpJiZpLnB1c2godnMoYysxLGwsbyxpLGdzKGgsdC5nZXRDaGFyQ29kZShjKzEpLGQmJnMpLCExKSl9fXJldHVybiBmdW5jdGlvbiB0KGUpe3JldHVybiBlP3QoZS5wcmlvckJyZWFrKS5jb25jYXQoZS5pbmRleCk6W119KHZzKHQubGVuZ3RoKCksbCxvLGksMCwhMCkpfWZ1bmN0aW9uIHlzKHQpe3ZhciBlPS41LHI9LjU7c3dpdGNoKHQpe2Nhc2UicmlnaHQiOmNhc2UidG9wLXJpZ2h0IjpjYXNlImJvdHRvbS1yaWdodCI6ZT0xO2JyZWFrO2Nhc2UibGVmdCI6Y2FzZSJ0b3AtbGVmdCI6Y2FzZSJib3R0b20tbGVmdCI6ZT0wfXN3aXRjaCh0KXtjYXNlImJvdHRvbSI6Y2FzZSJib3R0b20tcmlnaHQiOmNhc2UiYm90dG9tLWxlZnQiOnI9MTticmVhaztjYXNlInRvcCI6Y2FzZSJ0b3AtcmlnaHQiOmNhc2UidG9wLWxlZnQiOnI9MH1yZXR1cm57aG9yaXpvbnRhbEFsaWduOmUsdmVydGljYWxBbGlnbjpyfX1mdW5jdGlvbiB4cyh0LGUscixuLGEpe2lmKGEpe3ZhciBpPXRbbl0sbz1lW2kuZm9udFN0YWNrXSxzPW8mJm9baS5nbHlwaF07aWYocylmb3IodmFyIGw9cy5tZXRyaWNzLmFkdmFuY2UqaS5zY2FsZSxjPSh0W25dLngrbCkqYSx1PXI7dTw9bjt1KyspdFt1XS54LT1jfX1wc1sxMF09ITAscHNbMzJdPSEwLHBzWzM4XT0hMCxwc1s0MF09ITAscHNbNDFdPSEwLHBzWzQzXT0hMCxwc1s0NV09ITAscHNbNDddPSEwLHBzWzE3M109ITAscHNbMTgzXT0hMCxwc1s4MjAzXT0hMCxwc1s4MjA4XT0hMCxwc1s4MjExXT0hMCxwc1s4MjMxXT0hMDt2YXIgYnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIsbixhKXt0LmNhbGwodGhpcyxlLHIpLHRoaXMuYW5nbGU9bix2b2lkIDAhPT1hJiYodGhpcy5zZWdtZW50PWEpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZSh0aGlzLngsdGhpcy55LHRoaXMuYW5nbGUsdGhpcy5zZWdtZW50KX0sZX0oYSk7ZG4oIkFuY2hvciIsYnMpO3ZhciBfcz0yNTY7ZnVuY3Rpb24gd3ModCxlKXt2YXIgcj1lLmV4cHJlc3Npb247aWYoImNvbnN0YW50Ij09PXIua2luZClyZXR1cm57a2luZDoiY29uc3RhbnQiLGxheW91dFNpemU6ci5ldmFsdWF0ZShuZXcgUG4odCsxKSl9O2lmKCJzb3VyY2UiPT09ci5raW5kKXJldHVybntraW5kOiJzb3VyY2UifTtmb3IodmFyIG49ci56b29tU3RvcHMsYT1yLmludGVycG9sYXRpb25UeXBlLGk9MDtpPG4ubGVuZ3RoJiZuW2ldPD10OylpKys7Zm9yKHZhciBvPWk9TWF0aC5tYXgoMCxpLTEpO288bi5sZW5ndGgmJm5bb108dCsxOylvKys7bz1NYXRoLm1pbihuLmxlbmd0aC0xLG8pO3ZhciBzPW5baV0sbD1uW29dO3JldHVybiJjb21wb3NpdGUiPT09ci5raW5kP3traW5kOiJjb21wb3NpdGUiLG1pblpvb206cyxtYXhab29tOmwsaW50ZXJwb2xhdGlvblR5cGU6YX06e2tpbmQ6ImNhbWVyYSIsbWluWm9vbTpzLG1heFpvb206bCxtaW5TaXplOnIuZXZhbHVhdGUobmV3IFBuKHMpKSxtYXhTaXplOnIuZXZhbHVhdGUobmV3IFBuKGwpKSxpbnRlcnBvbGF0aW9uVHlwZTphfX1mdW5jdGlvbiBrcyh0LGUscil7dmFyIG49ZS51U2l6ZSxhPWUudVNpemVULGk9ci5sb3dlclNpemUsbz1yLnVwcGVyU2l6ZTtyZXR1cm4ic291cmNlIj09PXQua2luZD9pL19zOiJjb21wb3NpdGUiPT09dC5raW5kP3llKGkvX3Msby9fcyxhKTpufWZ1bmN0aW9uIFRzKHQsZSl7dmFyIHI9MCxuPTA7aWYoImNvbnN0YW50Ij09PXQua2luZCluPXQubGF5b3V0U2l6ZTtlbHNlIGlmKCJzb3VyY2UiIT09dC5raW5kKXt2YXIgYT10LmludGVycG9sYXRpb25UeXBlLGk9dC5taW5ab29tLG89dC5tYXhab29tLHM9YT9jKE5lLmludGVycG9sYXRpb25GYWN0b3IoYSxlLGksbyksMCwxKTowOyJjYW1lcmEiPT09dC5raW5kP249eWUodC5taW5TaXplLHQubWF4U2l6ZSxzKTpyPXN9cmV0dXJue3VTaXplVDpyLHVTaXplOm59fXZhciBNcz1PYmplY3QuZnJlZXplKHtnZXRTaXplRGF0YTp3cyxldmFsdWF0ZVNpemVGb3JGZWF0dXJlOmtzLGV2YWx1YXRlU2l6ZUZvclpvb206VHMsU0laRV9QQUNLX0ZBQ1RPUjpfc30pLEFzPUlvLlZlY3RvclRpbGVGZWF0dXJlLnR5cGVzLFNzPVt7bmFtZToiYV9mYWRlX29wYWNpdHkiLGNvbXBvbmVudHM6MSx0eXBlOiJVaW50OCIsb2Zmc2V0OjB9XTtmdW5jdGlvbiBFcyh0LGUscixuLGEsaSxvLHMpe3QuZW1wbGFjZUJhY2soZSxyLE1hdGgucm91bmQoMzIqbiksTWF0aC5yb3VuZCgzMiphKSxpLG8scz9zWzBdOjAscz9zWzFdOjApfWZ1bmN0aW9uIExzKHQsZSxyKXt0LmVtcGxhY2VCYWNrKGUueCxlLnksciksdC5lbXBsYWNlQmFjayhlLngsZS55LHIpLHQuZW1wbGFjZUJhY2soZS54LGUueSxyKSx0LmVtcGxhY2VCYWNrKGUueCxlLnkscil9dmFyIENzPWZ1bmN0aW9uKHQpe3RoaXMubGF5b3V0VmVydGV4QXJyYXk9bmV3IG5hLHRoaXMuaW5kZXhBcnJheT1uZXcgZGEsdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnM9dCx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLmR5bmFtaWNMYXlvdXRWZXJ0ZXhBcnJheT1uZXcgYWEsdGhpcy5vcGFjaXR5VmVydGV4QXJyYXk9bmV3IGlhLHRoaXMucGxhY2VkU3ltYm9sQXJyYXk9bmV3IHdhfTtDcy5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQsZSxyLG4pe3ImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLmxheW91dFZlcnRleEFycmF5LGVzLm1lbWJlcnMpLHRoaXMuaW5kZXhCdWZmZXI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXksZSksdGhpcy5keW5hbWljTGF5b3V0VmVydGV4QnVmZmVyPXQuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMuZHluYW1pY0xheW91dFZlcnRleEFycmF5LHJzLm1lbWJlcnMsITApLHRoaXMub3BhY2l0eVZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLm9wYWNpdHlWZXJ0ZXhBcnJheSxTcywhMCksdGhpcy5vcGFjaXR5VmVydGV4QnVmZmVyLml0ZW1TaXplPTEpLChyfHxuKSYmdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpfSxDcy5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMubGF5b3V0VmVydGV4QnVmZmVyJiYodGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXIuZGVzdHJveSgpLHRoaXMuaW5kZXhCdWZmZXIuZGVzdHJveSgpLHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmRlc3Ryb3koKSx0aGlzLnNlZ21lbnRzLmRlc3Ryb3koKSx0aGlzLmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIuZGVzdHJveSgpLHRoaXMub3BhY2l0eVZlcnRleEJ1ZmZlci5kZXN0cm95KCkpfSxkbigiU3ltYm9sQnVmZmVycyIsQ3MpO3ZhciBQcz1mdW5jdGlvbih0LGUscil7dGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgdCx0aGlzLmxheW91dEF0dHJpYnV0ZXM9ZSx0aGlzLmluZGV4QXJyYXk9bmV3IHIsdGhpcy5zZWdtZW50cz1uZXcgT2EsdGhpcy5jb2xsaXNpb25WZXJ0ZXhBcnJheT1uZXcgbGF9O1BzLnByb3RvdHlwZS51cGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmxheW91dEF0dHJpYnV0ZXMpLHRoaXMuaW5kZXhCdWZmZXI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXkpLHRoaXMuY29sbGlzaW9uVmVydGV4QnVmZmVyPXQuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMuY29sbGlzaW9uVmVydGV4QXJyYXksbnMubWVtYmVycywhMCl9LFBzLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5zZWdtZW50cy5kZXN0cm95KCksdGhpcy5jb2xsaXNpb25WZXJ0ZXhCdWZmZXIuZGVzdHJveSgpKX0sZG4oIkNvbGxpc2lvbkJ1ZmZlcnMiLFBzKTt2YXIgT3M9ZnVuY3Rpb24odCl7dGhpcy5jb2xsaXNpb25Cb3hBcnJheT10LmNvbGxpc2lvbkJveEFycmF5LHRoaXMuem9vbT10Lnpvb20sdGhpcy5vdmVyc2NhbGluZz10Lm92ZXJzY2FsaW5nLHRoaXMubGF5ZXJzPXQubGF5ZXJzLHRoaXMubGF5ZXJJZHM9dGhpcy5sYXllcnMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSksdGhpcy5pbmRleD10LmluZGV4LHRoaXMucGl4ZWxSYXRpbz10LnBpeGVsUmF0aW8sdGhpcy5zb3VyY2VMYXllckluZGV4PXQuc291cmNlTGF5ZXJJbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5oYXNQYWludE92ZXJyaWRlcz0hMTt2YXIgZT10aGlzLmxheWVyc1swXS5fdW5ldmFsdWF0ZWRMYXlvdXQuX3ZhbHVlczt0aGlzLnRleHRTaXplRGF0YT13cyh0aGlzLnpvb20sZVsidGV4dC1zaXplIl0pLHRoaXMuaWNvblNpemVEYXRhPXdzKHRoaXMuem9vbSxlWyJpY29uLXNpemUiXSk7dmFyIHI9dGhpcy5sYXllcnNbMF0ubGF5b3V0LG49ci5nZXQoInN5bWJvbC1zb3J0LWtleSIpLGE9ci5nZXQoInN5bWJvbC16LW9yZGVyIik7dGhpcy5zb3J0RmVhdHVyZXNCeUtleT0idmlld3BvcnQteSIhPT1hJiZ2b2lkIDAhPT1uLmNvbnN0YW50T3IoMSk7dmFyIGk9InZpZXdwb3J0LXkiPT09YXx8ImF1dG8iPT09YSYmIXRoaXMuc29ydEZlYXR1cmVzQnlLZXk7dGhpcy5zb3J0RmVhdHVyZXNCeVk9aSYmKHIuZ2V0KCJ0ZXh0LWFsbG93LW92ZXJsYXAiKXx8ci5nZXQoImljb24tYWxsb3ctb3ZlcmxhcCIpfHxyLmdldCgidGV4dC1pZ25vcmUtcGxhY2VtZW50Iil8fHIuZ2V0KCJpY29uLWlnbm9yZS1wbGFjZW1lbnQiKSksInBvaW50Ij09PXIuZ2V0KCJzeW1ib2wtcGxhY2VtZW50IikmJih0aGlzLndyaXRpbmdNb2Rlcz1yLmdldCgidGV4dC13cml0aW5nLW1vZGUiKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGNzW3RdfSkpLHRoaXMuc3RhdGVEZXBlbmRlbnRMYXllcklkcz10aGlzLmxheWVycy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNTdGF0ZURlcGVuZGVudCgpfSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSksdGhpcy5zb3VyY2VJRD10LnNvdXJjZUlEfTtPcy5wcm90b3R5cGUuY3JlYXRlQXJyYXlzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sYXllcnNbMF0ubGF5b3V0O3RoaXMuaGFzUGFpbnRPdmVycmlkZXM9UnMuaGFzUGFpbnRPdmVycmlkZXModCksdGhpcy50ZXh0PW5ldyBDcyhuZXcgUWEoZXMubWVtYmVycyx0aGlzLmxheWVycyx0aGlzLnpvb20sZnVuY3Rpb24odCl7cmV0dXJuL150ZXh0Ly50ZXN0KHQpfSkpLHRoaXMuaWNvbj1uZXcgQ3MobmV3IFFhKGVzLm1lbWJlcnMsdGhpcy5sYXllcnMsdGhpcy56b29tLGZ1bmN0aW9uKHQpe3JldHVybi9eaWNvbi8udGVzdCh0KX0pKSx0aGlzLmNvbGxpc2lvbkJveD1uZXcgUHMoc2EsYXMubWVtYmVycyxnYSksdGhpcy5jb2xsaXNpb25DaXJjbGU9bmV3IFBzKHNhLGlzLm1lbWJlcnMsZGEpLHRoaXMuZ2x5cGhPZmZzZXRBcnJheT1uZXcgQWEsdGhpcy5saW5lVmVydGV4QXJyYXk9bmV3IEVhLHRoaXMuc3ltYm9sSW5zdGFuY2VzPW5ldyBUYX0sT3MucHJvdG90eXBlLmNhbGN1bGF0ZUdseXBoRGVwZW5kZW5jaWVzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspaWYoZVt0LmNoYXJDb2RlQXQoaSldPSEwLChyfHxuKSYmYSl7dmFyIG89c3NbdC5jaGFyQXQoaSldO28mJihlW28uY2hhckNvZGVBdCgwKV09ITApfX0sT3MucHJvdG90eXBlLnBvcHVsYXRlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5sYXllcnNbMF0sbj1yLmxheW91dCxhPW4uZ2V0KCJ0ZXh0LWZvbnQiKSxpPW4uZ2V0KCJ0ZXh0LWZpZWxkIiksbz1uLmdldCgiaWNvbi1pbWFnZSIpLHM9KCJjb25zdGFudCIhPT1pLnZhbHVlLmtpbmR8fGkudmFsdWUudmFsdWUudG9TdHJpbmcoKS5sZW5ndGg+MCkmJigiY29uc3RhbnQiIT09YS52YWx1ZS5raW5kfHxhLnZhbHVlLnZhbHVlLmxlbmd0aD4wKSxsPSJjb25zdGFudCIhPT1vLnZhbHVlLmtpbmR8fG8udmFsdWUudmFsdWUmJm8udmFsdWUudmFsdWUubGVuZ3RoPjAsYz1uLmdldCgic3ltYm9sLXNvcnQta2V5Iik7aWYodGhpcy5mZWF0dXJlcz1bXSxzfHxsKXtmb3IodmFyIHU9ZS5pY29uRGVwZW5kZW5jaWVzLGg9ZS5nbHlwaERlcGVuZGVuY2llcyxmPW5ldyBQbih0aGlzLnpvb20pLHA9MCxkPXQ7cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdLHY9Zy5mZWF0dXJlLG09Zy5pbmRleCx5PWcuc291cmNlTGF5ZXJJbmRleDtpZihyLl9mZWF0dXJlRmlsdGVyKGYsdikpe3ZhciB4PXZvaWQgMDtpZihzKXt2YXIgYj1yLmdldFZhbHVlQW5kUmVzb2x2ZVRva2VucygidGV4dC1maWVsZCIsdik7eD1vcyhiIGluc3RhbmNlb2YgSnQ/YjpKdC5mcm9tU3RyaW5nKGIpLHIsdil9dmFyIF89dm9pZCAwO2lmKGwmJihfPXIuZ2V0VmFsdWVBbmRSZXNvbHZlVG9rZW5zKCJpY29uLWltYWdlIix2KSkseHx8Xyl7dmFyIHc9dGhpcy5zb3J0RmVhdHVyZXNCeUtleT9jLmV2YWx1YXRlKHYse30pOnZvaWQgMCxrPXt0ZXh0OngsaWNvbjpfLGluZGV4Om0sc291cmNlTGF5ZXJJbmRleDp5LGdlb21ldHJ5Om5pKHYpLHByb3BlcnRpZXM6di5wcm9wZXJ0aWVzLHR5cGU6QXNbdi50eXBlXSxzb3J0S2V5Ond9O2lmKHZvaWQgMCE9PXYuaWQmJihrLmlkPXYuaWQpLHRoaXMuZmVhdHVyZXMucHVzaChrKSxfJiYodVtfXT0hMCkseCl7dmFyIFQ9YS5ldmFsdWF0ZSh2LHt9KS5qb2luKCIsIiksTT0ibWFwIj09PW4uZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpJiYicG9pbnQiIT09bi5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKTt0aGlzLmFsbG93VmVydGljYWxQbGFjZW1lbnQ9dGhpcy53cml0aW5nTW9kZXMmJnRoaXMud3JpdGluZ01vZGVzLmluZGV4T2YoY3MudmVydGljYWwpPj0wO2Zvcih2YXIgQT0wLFM9eC5zZWN0aW9ucztBPFMubGVuZ3RoO0ErPTEpe3ZhciBFPVNbQV0sTD1ibih4LnRvU3RyaW5nKCkpLEM9RS5mb250U3RhY2t8fFQsUD1oW0NdPWhbQ118fHt9O3RoaXMuY2FsY3VsYXRlR2x5cGhEZXBlbmRlbmNpZXMoRS50ZXh0LFAsTSx0aGlzLmFsbG93VmVydGljYWxQbGFjZW1lbnQsTCl9fX19fSJsaW5lIj09PW4uZ2V0KCJzeW1ib2wtcGxhY2VtZW50IikmJih0aGlzLmZlYXR1cmVzPWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHI9e30sbj1bXSxhPTA7ZnVuY3Rpb24gaShlKXtuLnB1c2godFtlXSksYSsrfWZ1bmN0aW9uIG8odCxlLGEpe3ZhciBpPXJbdF07cmV0dXJuIGRlbGV0ZSByW3RdLHJbZV09aSxuW2ldLmdlb21ldHJ5WzBdLnBvcCgpLG5baV0uZ2VvbWV0cnlbMF09bltpXS5nZW9tZXRyeVswXS5jb25jYXQoYVswXSksaX1mdW5jdGlvbiBzKHQscixhKXt2YXIgaT1lW3JdO3JldHVybiBkZWxldGUgZVtyXSxlW3RdPWksbltpXS5nZW9tZXRyeVswXS5zaGlmdCgpLG5baV0uZ2VvbWV0cnlbMF09YVswXS5jb25jYXQobltpXS5nZW9tZXRyeVswXSksaX1mdW5jdGlvbiBsKHQsZSxyKXt2YXIgbj1yP2VbMF1bZVswXS5sZW5ndGgtMV06ZVswXVswXTtyZXR1cm4gdCsiOiIrbi54KyI6IituLnl9Zm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciB1PXRbY10saD11Lmdlb21ldHJ5LGY9dS50ZXh0P3UudGV4dC50b1N0cmluZygpOm51bGw7aWYoZil7dmFyIHA9bChmLGgpLGQ9bChmLGgsITApO2lmKHAgaW4gciYmZCBpbiBlJiZyW3BdIT09ZVtkXSl7dmFyIGc9cyhwLGQsaCksdj1vKHAsZCxuW2ddLmdlb21ldHJ5KTtkZWxldGUgZVtwXSxkZWxldGUgcltkXSxyW2woZixuW3ZdLmdlb21ldHJ5LCEwKV09dixuW2ddLmdlb21ldHJ5PW51bGx9ZWxzZSBwIGluIHI/byhwLGQsaCk6ZCBpbiBlP3MocCxkLGgpOihpKGMpLGVbcF09YS0xLHJbZF09YS0xKX1lbHNlIGkoYyl9cmV0dXJuIG4uZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmdlb21ldHJ5fSl9KHRoaXMuZmVhdHVyZXMpKSx0aGlzLnNvcnRGZWF0dXJlc0J5S2V5JiZ0aGlzLmZlYXR1cmVzLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zb3J0S2V5LWUuc29ydEtleX0pfX0sT3MucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dGhpcy5zdGF0ZURlcGVuZGVudExheWVycy5sZW5ndGgmJih0aGlzLnRleHQucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLmxheWVycyxyKSx0aGlzLmljb24ucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLmxheWVycyxyKSl9LE9zLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnN5bWJvbEluc3RhbmNlcy5sZW5ndGh9LE9zLnByb3RvdHlwZS51cGxvYWRQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudXBsb2FkZWR8fHRoaXMudGV4dC5wcm9ncmFtQ29uZmlndXJhdGlvbnMubmVlZHNVcGxvYWR8fHRoaXMuaWNvbi5wcm9ncmFtQ29uZmlndXJhdGlvbnMubmVlZHNVcGxvYWR9LE9zLnByb3RvdHlwZS51cGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy51cGxvYWRlZHx8KHRoaXMuY29sbGlzaW9uQm94LnVwbG9hZCh0KSx0aGlzLmNvbGxpc2lvbkNpcmNsZS51cGxvYWQodCkpLHRoaXMudGV4dC51cGxvYWQodCx0aGlzLnNvcnRGZWF0dXJlc0J5WSwhdGhpcy51cGxvYWRlZCx0aGlzLnRleHQucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLm5lZWRzVXBsb2FkKSx0aGlzLmljb24udXBsb2FkKHQsdGhpcy5zb3J0RmVhdHVyZXNCeVksIXRoaXMudXBsb2FkZWQsdGhpcy5pY29uLnByb2dyYW1Db25maWd1cmF0aW9ucy5uZWVkc1VwbG9hZCksdGhpcy51cGxvYWRlZD0hMH0sT3MucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnRleHQuZGVzdHJveSgpLHRoaXMuaWNvbi5kZXN0cm95KCksdGhpcy5jb2xsaXNpb25Cb3guZGVzdHJveSgpLHRoaXMuY29sbGlzaW9uQ2lyY2xlLmRlc3Ryb3koKX0sT3MucHJvdG90eXBlLmFkZFRvTGluZVZlcnRleEFycmF5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5saW5lVmVydGV4QXJyYXkubGVuZ3RoO2lmKHZvaWQgMCE9PXQuc2VnbWVudCl7Zm9yKHZhciBuPXQuZGlzdChlW3Quc2VnbWVudCsxXSksYT10LmRpc3QoZVt0LnNlZ21lbnRdKSxpPXt9LG89dC5zZWdtZW50KzE7bzxlLmxlbmd0aDtvKyspaVtvXT17eDplW29dLngseTplW29dLnksdGlsZVVuaXREaXN0YW5jZUZyb21BbmNob3I6bn0sbzxlLmxlbmd0aC0xJiYobis9ZVtvKzFdLmRpc3QoZVtvXSkpO2Zvcih2YXIgcz10LnNlZ21lbnR8fDA7cz49MDtzLS0paVtzXT17eDplW3NdLngseTplW3NdLnksdGlsZVVuaXREaXN0YW5jZUZyb21BbmNob3I6YX0scz4wJiYoYSs9ZVtzLTFdLmRpc3QoZVtzXSkpO2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYz1pW2xdO3RoaXMubGluZVZlcnRleEFycmF5LmVtcGxhY2VCYWNrKGMueCxjLnksYy50aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvcil9fXJldHVybntsaW5lU3RhcnRJbmRleDpyLGxpbmVMZW5ndGg6dGhpcy5saW5lVmVydGV4QXJyYXkubGVuZ3RoLXJ9fSxPcy5wcm90b3R5cGUuYWRkU3ltYm9scz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMsbCxjKXt2YXIgdT10aGlzLGg9dC5pbmRleEFycmF5LGY9dC5sYXlvdXRWZXJ0ZXhBcnJheSxwPXQuZHluYW1pY0xheW91dFZlcnRleEFycmF5LGQ9dC5zZWdtZW50cy5wcmVwYXJlU2VnbWVudCg0KmUubGVuZ3RoLHQubGF5b3V0VmVydGV4QXJyYXksdC5pbmRleEFycmF5LGkuc29ydEtleSksZz10aGlzLmdseXBoT2Zmc2V0QXJyYXkubGVuZ3RoLHY9ZC52ZXJ0ZXhMZW5ndGgsbT10aGlzLmFsbG93VmVydGljYWxQbGFjZW1lbnQmJm89PT1jcy52ZXJ0aWNhbD9NYXRoLlBJLzI6MCx5PWZ1bmN0aW9uKHQpe3ZhciBlPXQudGwsbj10LnRyLGE9dC5ibCxpPXQuYnIsbz10LnRleCxsPWQudmVydGV4TGVuZ3RoLGM9dC5nbHlwaE9mZnNldFsxXTtFcyhmLHMueCxzLnksZS54LGMrZS55LG8ueCxvLnksciksRXMoZixzLngscy55LG4ueCxjK24ueSxvLngrby53LG8ueSxyKSxFcyhmLHMueCxzLnksYS54LGMrYS55LG8ueCxvLnkrby5oLHIpLEVzKGYscy54LHMueSxpLngsYytpLnksby54K28udyxvLnkrby5oLHIpLExzKHAscyxtKSxoLmVtcGxhY2VCYWNrKGwsbCsxLGwrMiksaC5lbXBsYWNlQmFjayhsKzEsbCsyLGwrMyksZC52ZXJ0ZXhMZW5ndGgrPTQsZC5wcmltaXRpdmVMZW5ndGgrPTIsdS5nbHlwaE9mZnNldEFycmF5LmVtcGxhY2VCYWNrKHQuZ2x5cGhPZmZzZXRbMF0pfTtpZihpLnRleHQmJmkudGV4dC5zZWN0aW9ucyl7dmFyIHg9aS50ZXh0LnNlY3Rpb25zO2lmKHRoaXMuaGFzUGFpbnRPdmVycmlkZXMpe2Zvcih2YXIgYixfPWZ1bmN0aW9uKGUscil7dm9pZCAwPT09Ynx8Yj09PWUmJiFyfHx0LnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHQubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLGksaS5pbmRleCx7fSx4W2JdKSxiPWV9LHc9MCxrPWU7dzxrLmxlbmd0aDt3Kz0xKXt2YXIgVD1rW3ddO18oVC5zZWN0aW9uSW5kZXgsITEpLHkoVCl9XyhiLCEwKX1lbHNle2Zvcih2YXIgTT0wLEE9ZTtNPEEubGVuZ3RoO00rPTEpeShBW01dKTt0LnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHQubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLGksaS5pbmRleCx7fSx4WzBdKX19ZWxzZXtmb3IodmFyIFM9MCxFPWU7UzxFLmxlbmd0aDtTKz0xKXkoRVtTXSk7dC5wcm9ncmFtQ29uZmlndXJhdGlvbnMucG9wdWxhdGVQYWludEFycmF5cyh0LmxheW91dFZlcnRleEFycmF5Lmxlbmd0aCxpLGkuaW5kZXgse30pfXQucGxhY2VkU3ltYm9sQXJyYXkuZW1wbGFjZUJhY2socy54LHMueSxnLHRoaXMuZ2x5cGhPZmZzZXRBcnJheS5sZW5ndGgtZyx2LGwsYyxzLnNlZ21lbnQscj9yWzBdOjAscj9yWzFdOjAsblswXSxuWzFdLG8sMCwhMSwwKX0sT3MucHJvdG90eXBlLl9hZGRDb2xsaXNpb25EZWJ1Z1ZlcnRleD1mdW5jdGlvbih0LGUscixuLGEsaSl7cmV0dXJuIGUuZW1wbGFjZUJhY2soMCwwKSx0LmVtcGxhY2VCYWNrKHIueCxyLnksbixhLE1hdGgucm91bmQoaS54KSxNYXRoLnJvdW5kKGkueSkpfSxPcy5wcm90b3R5cGUuYWRkQ29sbGlzaW9uRGVidWdWZXJ0aWNlcz1mdW5jdGlvbih0LGUscixuLGksbyxzLGwpe3ZhciBjPWkuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoNCxpLmxheW91dFZlcnRleEFycmF5LGkuaW5kZXhBcnJheSksdT1jLnZlcnRleExlbmd0aCxoPWkubGF5b3V0VmVydGV4QXJyYXksZj1pLmNvbGxpc2lvblZlcnRleEFycmF5LHA9cy5hbmNob3JYLGQ9cy5hbmNob3JZO2lmKHRoaXMuX2FkZENvbGxpc2lvbkRlYnVnVmVydGV4KGgsZixvLHAsZCxuZXcgYSh0LGUpKSx0aGlzLl9hZGRDb2xsaXNpb25EZWJ1Z1ZlcnRleChoLGYsbyxwLGQsbmV3IGEocixlKSksdGhpcy5fYWRkQ29sbGlzaW9uRGVidWdWZXJ0ZXgoaCxmLG8scCxkLG5ldyBhKHIsbikpLHRoaXMuX2FkZENvbGxpc2lvbkRlYnVnVmVydGV4KGgsZixvLHAsZCxuZXcgYSh0LG4pKSxjLnZlcnRleExlbmd0aCs9NCxsKXt2YXIgZz1pLmluZGV4QXJyYXk7Zy5lbXBsYWNlQmFjayh1LHUrMSx1KzIpLGcuZW1wbGFjZUJhY2sodSx1KzIsdSszKSxjLnByaW1pdGl2ZUxlbmd0aCs9Mn1lbHNle3ZhciB2PWkuaW5kZXhBcnJheTt2LmVtcGxhY2VCYWNrKHUsdSsxKSx2LmVtcGxhY2VCYWNrKHUrMSx1KzIpLHYuZW1wbGFjZUJhY2sodSsyLHUrMyksdi5lbXBsYWNlQmFjayh1KzMsdSksYy5wcmltaXRpdmVMZW5ndGgrPTR9fSxPcy5wcm90b3R5cGUuYWRkRGVidWdDb2xsaXNpb25Cb3hlcz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXQ7bjxlO24rKyl7dmFyIGE9dGhpcy5jb2xsaXNpb25Cb3hBcnJheS5nZXQobiksaT1hLngxLG89YS55MSxzPWEueDIsbD1hLnkyLGM9YS5yYWRpdXM+MDt0aGlzLmFkZENvbGxpc2lvbkRlYnVnVmVydGljZXMoaSxvLHMsbCxjP3RoaXMuY29sbGlzaW9uQ2lyY2xlOnRoaXMuY29sbGlzaW9uQm94LGEuYW5jaG9yUG9pbnQscixjKX19LE9zLnByb3RvdHlwZS5nZW5lcmF0ZUNvbGxpc2lvbkRlYnVnQnVmZmVycz1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoO3QrKyl7dmFyIGU9dGhpcy5zeW1ib2xJbnN0YW5jZXMuZ2V0KHQpO3RoaXMuYWRkRGVidWdDb2xsaXNpb25Cb3hlcyhlLnRleHRCb3hTdGFydEluZGV4LGUudGV4dEJveEVuZEluZGV4LGUpLHRoaXMuYWRkRGVidWdDb2xsaXNpb25Cb3hlcyhlLnZlcnRpY2FsVGV4dEJveFN0YXJ0SW5kZXgsZS52ZXJ0aWNhbFRleHRCb3hFbmRJbmRleCxlKSx0aGlzLmFkZERlYnVnQ29sbGlzaW9uQm94ZXMoZS5pY29uQm94U3RhcnRJbmRleCxlLmljb25Cb3hFbmRJbmRleCxlKX19LE9zLnByb3RvdHlwZS5fZGVzZXJpYWxpemVDb2xsaXNpb25Cb3hlc0ZvclN5bWJvbD1mdW5jdGlvbih0LGUscixuLGEsaSxvKXtmb3IodmFyIHM9e30sbD1lO2w8cjtsKyspe3ZhciBjPXQuZ2V0KGwpO2lmKDA9PT1jLnJhZGl1cyl7cy50ZXh0Qm94PXt4MTpjLngxLHkxOmMueTEseDI6Yy54Mix5MjpjLnkyLGFuY2hvclBvaW50WDpjLmFuY2hvclBvaW50WCxhbmNob3JQb2ludFk6Yy5hbmNob3JQb2ludFl9LHMudGV4dEZlYXR1cmVJbmRleD1jLmZlYXR1cmVJbmRleDticmVha31zLnRleHRDaXJjbGVzfHwocy50ZXh0Q2lyY2xlcz1bXSxzLnRleHRGZWF0dXJlSW5kZXg9Yy5mZWF0dXJlSW5kZXgpLHMudGV4dENpcmNsZXMucHVzaChjLmFuY2hvclBvaW50WCxjLmFuY2hvclBvaW50WSxjLnJhZGl1cyxjLnNpZ25lZERpc3RhbmNlRnJvbUFuY2hvciwxKX1mb3IodmFyIHU9bjt1PGE7dSsrKXt2YXIgaD10LmdldCh1KTtpZigwPT09aC5yYWRpdXMpe3MudmVydGljYWxUZXh0Qm94PXt4MTpoLngxLHkxOmgueTEseDI6aC54Mix5MjpoLnkyLGFuY2hvclBvaW50WDpoLmFuY2hvclBvaW50WCxhbmNob3JQb2ludFk6aC5hbmNob3JQb2ludFl9LHMudmVydGljYWxUZXh0RmVhdHVyZUluZGV4PWguZmVhdHVyZUluZGV4O2JyZWFrfX1mb3IodmFyIGY9aTtmPG87ZisrKXt2YXIgcD10LmdldChmKTtpZigwPT09cC5yYWRpdXMpe3MuaWNvbkJveD17eDE6cC54MSx5MTpwLnkxLHgyOnAueDIseTI6cC55MixhbmNob3JQb2ludFg6cC5hbmNob3JQb2ludFgsYW5jaG9yUG9pbnRZOnAuYW5jaG9yUG9pbnRZfSxzLmljb25GZWF0dXJlSW5kZXg9cC5mZWF0dXJlSW5kZXg7YnJlYWt9fXJldHVybiBzfSxPcy5wcm90b3R5cGUuZGVzZXJpYWxpemVDb2xsaXNpb25Cb3hlcz1mdW5jdGlvbih0KXt0aGlzLmNvbGxpc2lvbkFycmF5cz1bXTtmb3IodmFyIGU9MDtlPHRoaXMuc3ltYm9sSW5zdGFuY2VzLmxlbmd0aDtlKyspe3ZhciByPXRoaXMuc3ltYm9sSW5zdGFuY2VzLmdldChlKTt0aGlzLmNvbGxpc2lvbkFycmF5cy5wdXNoKHRoaXMuX2Rlc2VyaWFsaXplQ29sbGlzaW9uQm94ZXNGb3JTeW1ib2wodCxyLnRleHRCb3hTdGFydEluZGV4LHIudGV4dEJveEVuZEluZGV4LHIudmVydGljYWxUZXh0Qm94U3RhcnRJbmRleCxyLnZlcnRpY2FsVGV4dEJveEVuZEluZGV4LHIuaWNvbkJveFN0YXJ0SW5kZXgsci5pY29uQm94RW5kSW5kZXgpKX19LE9zLnByb3RvdHlwZS5oYXNUZXh0RGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHQuc2VnbWVudHMuZ2V0KCkubGVuZ3RoPjB9LE9zLnByb3RvdHlwZS5oYXNJY29uRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmljb24uc2VnbWVudHMuZ2V0KCkubGVuZ3RoPjB9LE9zLnByb3RvdHlwZS5oYXNDb2xsaXNpb25Cb3hEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sbGlzaW9uQm94LnNlZ21lbnRzLmdldCgpLmxlbmd0aD4wfSxPcy5wcm90b3R5cGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbGxpc2lvbkNpcmNsZS5zZWdtZW50cy5nZXQoKS5sZW5ndGg+MH0sT3MucHJvdG90eXBlLmFkZEluZGljZXNGb3JQbGFjZWRUZXh0U3ltYm9sPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnRleHQucGxhY2VkU3ltYm9sQXJyYXkuZ2V0KHQpLHI9ZS52ZXJ0ZXhTdGFydEluZGV4KzQqZS5udW1HbHlwaHMsbj1lLnZlcnRleFN0YXJ0SW5kZXg7bjxyO24rPTQpdGhpcy50ZXh0LmluZGV4QXJyYXkuZW1wbGFjZUJhY2sobixuKzEsbisyKSx0aGlzLnRleHQuaW5kZXhBcnJheS5lbXBsYWNlQmFjayhuKzEsbisyLG4rMyl9LE9zLnByb3RvdHlwZS5nZXRTb3J0ZWRTeW1ib2xJbmRleGVzPWZ1bmN0aW9uKHQpe2lmKHRoaXMuc29ydGVkQW5nbGU9PT10JiZ2b2lkIDAhPT10aGlzLnN5bWJvbEluc3RhbmNlSW5kZXhlcylyZXR1cm4gdGhpcy5zeW1ib2xJbnN0YW5jZUluZGV4ZXM7Zm9yKHZhciBlPU1hdGguc2luKHQpLHI9TWF0aC5jb3ModCksbj1bXSxhPVtdLGk9W10sbz0wO288dGhpcy5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoOysrbyl7aS5wdXNoKG8pO3ZhciBzPXRoaXMuc3ltYm9sSW5zdGFuY2VzLmdldChvKTtuLnB1c2goMHxNYXRoLnJvdW5kKGUqcy5hbmNob3JYK3Iqcy5hbmNob3JZKSksYS5wdXNoKHMuZmVhdHVyZUluZGV4KX1yZXR1cm4gaS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5bdF0tbltlXXx8YVtlXS1hW3RdfSksaX0sT3MucHJvdG90eXBlLnNvcnRGZWF0dXJlcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHRoaXMuc29ydEZlYXR1cmVzQnlZJiZ0aGlzLnNvcnRlZEFuZ2xlIT09dCYmISh0aGlzLnRleHQuc2VnbWVudHMuZ2V0KCkubGVuZ3RoPjF8fHRoaXMuaWNvbi5zZWdtZW50cy5nZXQoKS5sZW5ndGg+MSkpe3RoaXMuc3ltYm9sSW5zdGFuY2VJbmRleGVzPXRoaXMuZ2V0U29ydGVkU3ltYm9sSW5kZXhlcyh0KSx0aGlzLnNvcnRlZEFuZ2xlPXQsdGhpcy50ZXh0LmluZGV4QXJyYXkuY2xlYXIoKSx0aGlzLmljb24uaW5kZXhBcnJheS5jbGVhcigpLHRoaXMuZmVhdHVyZVNvcnRPcmRlcj1bXTtmb3IodmFyIHI9MCxuPXRoaXMuc3ltYm9sSW5zdGFuY2VJbmRleGVzO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPXRoaXMuc3ltYm9sSW5zdGFuY2VzLmdldChhKTt0aGlzLmZlYXR1cmVTb3J0T3JkZXIucHVzaChpLmZlYXR1cmVJbmRleCksW2kucmlnaHRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsaS5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsaS5sZWZ0SnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4XS5mb3JFYWNoKGZ1bmN0aW9uKHQscixuKXt0Pj0wJiZuLmluZGV4T2YodCk9PT1yJiZlLmFkZEluZGljZXNGb3JQbGFjZWRUZXh0U3ltYm9sKHQpfSksaS52ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleD49MCYmdGhpcy5hZGRJbmRpY2VzRm9yUGxhY2VkVGV4dFN5bWJvbChpLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4KTt2YXIgbz10aGlzLmljb24ucGxhY2VkU3ltYm9sQXJyYXkuZ2V0KGEpO2lmKG8ubnVtR2x5cGhzKXt2YXIgcz1vLnZlcnRleFN0YXJ0SW5kZXg7dGhpcy5pY29uLmluZGV4QXJyYXkuZW1wbGFjZUJhY2socyxzKzEscysyKSx0aGlzLmljb24uaW5kZXhBcnJheS5lbXBsYWNlQmFjayhzKzEscysyLHMrMyl9fXRoaXMudGV4dC5pbmRleEJ1ZmZlciYmdGhpcy50ZXh0LmluZGV4QnVmZmVyLnVwZGF0ZURhdGEodGhpcy50ZXh0LmluZGV4QXJyYXkpLHRoaXMuaWNvbi5pbmRleEJ1ZmZlciYmdGhpcy5pY29uLmluZGV4QnVmZmVyLnVwZGF0ZURhdGEodGhpcy5pY29uLmluZGV4QXJyYXkpfX0sZG4oIlN5bWJvbEJ1Y2tldCIsT3Mse29taXQ6WyJsYXllcnMiLCJjb2xsaXNpb25Cb3hBcnJheSIsImZlYXR1cmVzIiwiY29tcGFyZVRleHQiXX0pLE9zLk1BWF9HTFlQSFM9NjU1MzUsT3MuYWRkRHluYW1pY0F0dHJpYnV0ZXM9THM7dmFyIHpzPW5ldyBHbih7InN5bWJvbC1wbGFjZW1lbnQiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJzeW1ib2wtcGxhY2VtZW50Il0pLCJzeW1ib2wtc3BhY2luZyI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInN5bWJvbC1zcGFjaW5nIl0pLCJzeW1ib2wtYXZvaWQtZWRnZXMiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJzeW1ib2wtYXZvaWQtZWRnZXMiXSksInN5bWJvbC1zb3J0LWtleSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInN5bWJvbC1zb3J0LWtleSJdKSwic3ltYm9sLXotb3JkZXIiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJzeW1ib2wtei1vcmRlciJdKSwiaWNvbi1hbGxvdy1vdmVybGFwIjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1hbGxvdy1vdmVybGFwIl0pLCJpY29uLWlnbm9yZS1wbGFjZW1lbnQiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLWlnbm9yZS1wbGFjZW1lbnQiXSksImljb24tb3B0aW9uYWwiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLW9wdGlvbmFsIl0pLCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbImljb24tcm90YXRpb24tYWxpZ25tZW50Il0pLCJpY29uLXNpemUiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXNpemUiXSksImljb24tdGV4dC1maXQiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXRleHQtZml0Il0pLCJpY29uLXRleHQtZml0LXBhZGRpbmciOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXRleHQtZml0LXBhZGRpbmciXSksImljb24taW1hZ2UiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLWltYWdlIl0pLCJpY29uLXJvdGF0ZSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbImljb24tcm90YXRlIl0pLCJpY29uLXBhZGRpbmciOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXBhZGRpbmciXSksImljb24ta2VlcC11cHJpZ2h0IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1rZWVwLXVwcmlnaHQiXSksImljb24tb2Zmc2V0IjpuZXcgVm4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1vZmZzZXQiXSksImljb24tYW5jaG9yIjpuZXcgVm4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1hbmNob3IiXSksImljb24tcGl0Y2gtYWxpZ25tZW50IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1waXRjaC1hbGlnbm1lbnQiXSksInRleHQtcGl0Y2gtYWxpZ25tZW50IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsidGV4dC1waXRjaC1hbGlnbm1lbnQiXSksInRleHQtcm90YXRpb24tYWxpZ25tZW50IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiXSksInRleHQtZmllbGQiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWZpZWxkIl0pLCJ0ZXh0LWZvbnQiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWZvbnQiXSksInRleHQtc2l6ZSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtc2l6ZSJdKSwidGV4dC1tYXgtd2lkdGgiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LW1heC13aWR0aCJdKSwidGV4dC1saW5lLWhlaWdodCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQtbGluZS1oZWlnaHQiXSksInRleHQtbGV0dGVyLXNwYWNpbmciOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWxldHRlci1zcGFjaW5nIl0pLCJ0ZXh0LWp1c3RpZnkiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWp1c3RpZnkiXSksInRleHQtcmFkaWFsLW9mZnNldCI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtcmFkaWFsLW9mZnNldCJdKSwidGV4dC12YXJpYWJsZS1hbmNob3IiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LXZhcmlhYmxlLWFuY2hvciJdKSwidGV4dC1hbmNob3IiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWFuY2hvciJdKSwidGV4dC1tYXgtYW5nbGUiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LW1heC1hbmdsZSJdKSwidGV4dC13cml0aW5nLW1vZGUiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LXdyaXRpbmctbW9kZSJdKSwidGV4dC1yb3RhdGUiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LXJvdGF0ZSJdKSwidGV4dC1wYWRkaW5nIjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsidGV4dC1wYWRkaW5nIl0pLCJ0ZXh0LWtlZXAtdXByaWdodCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQta2VlcC11cHJpZ2h0Il0pLCJ0ZXh0LXRyYW5zZm9ybSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtdHJhbnNmb3JtIl0pLCJ0ZXh0LW9mZnNldCI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtb2Zmc2V0Il0pLCJ0ZXh0LWFsbG93LW92ZXJsYXAiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWFsbG93LW92ZXJsYXAiXSksInRleHQtaWdub3JlLXBsYWNlbWVudCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQtaWdub3JlLXBsYWNlbWVudCJdKSwidGV4dC1vcHRpb25hbCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQtb3B0aW9uYWwiXSl9KSxJcz17cGFpbnQ6bmV3IEduKHsiaWNvbi1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfc3ltYm9sWyJpY29uLW9wYWNpdHkiXSksImljb24tY29sb3IiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbImljb24tY29sb3IiXSksImljb24taGFsby1jb2xvciI6bmV3IFZuKFR0LnBhaW50X3N5bWJvbFsiaWNvbi1oYWxvLWNvbG9yIl0pLCJpY29uLWhhbG8td2lkdGgiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbImljb24taGFsby13aWR0aCJdKSwiaWNvbi1oYWxvLWJsdXIiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbImljb24taGFsby1ibHVyIl0pLCJpY29uLXRyYW5zbGF0ZSI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsiaWNvbi10cmFuc2xhdGUiXSksImljb24tdHJhbnNsYXRlLWFuY2hvciI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsiaWNvbi10cmFuc2xhdGUtYW5jaG9yIl0pLCJ0ZXh0LW9wYWNpdHkiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbInRleHQtb3BhY2l0eSJdKSwidGV4dC1jb2xvciI6bmV3IFZuKFR0LnBhaW50X3N5bWJvbFsidGV4dC1jb2xvciJdLHtydW50aW1lVHlwZTpGdCxnZXRPdmVycmlkZTpmdW5jdGlvbih0KXtyZXR1cm4gdC50ZXh0Q29sb3J9LGhhc092ZXJyaWRlOmZ1bmN0aW9uKHQpe3JldHVybiEhdC50ZXh0Q29sb3J9fSksInRleHQtaGFsby1jb2xvciI6bmV3IFZuKFR0LnBhaW50X3N5bWJvbFsidGV4dC1oYWxvLWNvbG9yIl0pLCJ0ZXh0LWhhbG8td2lkdGgiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbInRleHQtaGFsby13aWR0aCJdKSwidGV4dC1oYWxvLWJsdXIiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbInRleHQtaGFsby1ibHVyIl0pLCJ0ZXh0LXRyYW5zbGF0ZSI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsidGV4dC10cmFuc2xhdGUiXSksInRleHQtdHJhbnNsYXRlLWFuY2hvciI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsidGV4dC10cmFuc2xhdGUtYW5jaG9yIl0pfSksbGF5b3V0OnpzfSxEcz1mdW5jdGlvbih0KXt0aGlzLnR5cGU9dC5wcm9wZXJ0eS5vdmVycmlkZXM/dC5wcm9wZXJ0eS5vdmVycmlkZXMucnVudGltZVR5cGU6enQsdGhpcy5kZWZhdWx0VmFsdWU9dH07RHMucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe2lmKHQuZm9ybWF0dGVkU2VjdGlvbil7dmFyIGU9dGhpcy5kZWZhdWx0VmFsdWUucHJvcGVydHkub3ZlcnJpZGVzO2lmKGUmJmUuaGFzT3ZlcnJpZGUodC5mb3JtYXR0ZWRTZWN0aW9uKSlyZXR1cm4gZS5nZXRPdmVycmlkZSh0LmZvcm1hdHRlZFNlY3Rpb24pfXJldHVybiB0LmZlYXR1cmUmJnQuZmVhdHVyZVN0YXRlP3RoaXMuZGVmYXVsdFZhbHVlLmV2YWx1YXRlKHQuZmVhdHVyZSx0LmZlYXR1cmVTdGF0ZSk6dGhpcy5kZWZhdWx0VmFsdWUucHJvcGVydHkuc3BlY2lmaWNhdGlvbi5kZWZhdWx0fSxEcy5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuZGVmYXVsdFZhbHVlLmlzQ29uc3RhbnQoKXx8dCh0aGlzLmRlZmF1bHRWYWx1ZS52YWx1ZS5fc3R5bGVFeHByZXNzaW9uLmV4cHJlc3Npb24pfSxEcy5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LERzLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sZG4oIkZvcm1hdFNlY3Rpb25PdmVycmlkZSIsRHMse29taXQ6WyJkZWZhdWx0VmFsdWUiXX0pO3ZhciBScz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3QuY2FsbCh0aGlzLGUsSXMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5yZWNhbGN1bGF0ZT1mdW5jdGlvbihlKXtpZih0LnByb3RvdHlwZS5yZWNhbGN1bGF0ZS5jYWxsKHRoaXMsZSksImF1dG8iPT09dGhpcy5sYXlvdXQuZ2V0KCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCIpJiYoInBvaW50IiE9PXRoaXMubGF5b3V0LmdldCgic3ltYm9sLXBsYWNlbWVudCIpP3RoaXMubGF5b3V0Ll92YWx1ZXNbImljb24tcm90YXRpb24tYWxpZ25tZW50Il09Im1hcCI6dGhpcy5sYXlvdXQuX3ZhbHVlc1siaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiXT0idmlld3BvcnQiKSwiYXV0byI9PT10aGlzLmxheW91dC5nZXQoInRleHQtcm90YXRpb24tYWxpZ25tZW50IikmJigicG9pbnQiIT09dGhpcy5sYXlvdXQuZ2V0KCJzeW1ib2wtcGxhY2VtZW50Iik/dGhpcy5sYXlvdXQuX3ZhbHVlc1sidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiXT0ibWFwIjp0aGlzLmxheW91dC5fdmFsdWVzWyJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCJdPSJ2aWV3cG9ydCIpLCJhdXRvIj09PXRoaXMubGF5b3V0LmdldCgidGV4dC1waXRjaC1hbGlnbm1lbnQiKSYmKHRoaXMubGF5b3V0Ll92YWx1ZXNbInRleHQtcGl0Y2gtYWxpZ25tZW50Il09dGhpcy5sYXlvdXQuZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpKSwiYXV0byI9PT10aGlzLmxheW91dC5nZXQoImljb24tcGl0Y2gtYWxpZ25tZW50IikmJih0aGlzLmxheW91dC5fdmFsdWVzWyJpY29uLXBpdGNoLWFsaWdubWVudCJdPXRoaXMubGF5b3V0LmdldCgiaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiKSksInBvaW50Ij09PXRoaXMubGF5b3V0LmdldCgic3ltYm9sLXBsYWNlbWVudCIpKXt2YXIgcj10aGlzLmxheW91dC5nZXQoInRleHQtd3JpdGluZy1tb2RlIik7aWYocil7Zm9yKHZhciBuPVtdLGE9MCxpPXI7YTxpLmxlbmd0aDthKz0xKXt2YXIgbz1pW2FdO24uaW5kZXhPZihvKTwwJiZuLnB1c2gobyl9dGhpcy5sYXlvdXQuX3ZhbHVlc1sidGV4dC13cml0aW5nLW1vZGUiXT1ufWVsc2UgdGhpcy5sYXlvdXQuX3ZhbHVlc1sidGV4dC13cml0aW5nLW1vZGUiXT1bImhvcml6b250YWwiXX10aGlzLl9zZXRQYWludE92ZXJyaWRlcygpfSxlLnByb3RvdHlwZS5nZXRWYWx1ZUFuZFJlc29sdmVUb2tlbnM9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxheW91dC5nZXQodCkuZXZhbHVhdGUoZSx7fSksbj10aGlzLl91bmV2YWx1YXRlZExheW91dC5fdmFsdWVzW3RdO3JldHVybiBuLmlzRGF0YURyaXZlbigpfHx3cihuLnZhbHVlKT9yOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIucmVwbGFjZSgveyhbXnt9XSspfS9nLGZ1bmN0aW9uKGUscil7cmV0dXJuIHIgaW4gdD9TdHJpbmcodFtyXSk6IiJ9KX0oZS5wcm9wZXJ0aWVzKX0sZS5wcm90b3R5cGUuY3JlYXRlQnVja2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgT3ModCl9LGUucHJvdG90eXBlLnF1ZXJ5UmFkaXVzPWZ1bmN0aW9uKCl7cmV0dXJuIDB9LGUucHJvdG90eXBlLnF1ZXJ5SW50ZXJzZWN0c0ZlYXR1cmU9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuX3NldFBhaW50T3ZlcnJpZGVzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAscj1Jcy5wYWludC5vdmVycmlkYWJsZVByb3BlcnRpZXM7dDxyLmxlbmd0aDt0Kz0xKXt2YXIgbj1yW3RdO2lmKGUuaGFzUGFpbnRPdmVycmlkZSh0aGlzLmxheW91dCxuKSl7dmFyIGEsaT10aGlzLnBhaW50LmdldChuKSxvPW5ldyBEcyhpKSxzPW5ldyBfcihvLGkucHJvcGVydHkuc3BlY2lmaWNhdGlvbik7YT0iY29uc3RhbnQiPT09aS52YWx1ZS5raW5kfHwic291cmNlIj09PWkudmFsdWUua2luZD9uZXcgVHIoInNvdXJjZSIscyk6bmV3IE1yKCJjb21wb3NpdGUiLHMsaS52YWx1ZS56b29tU3RvcHMsaS52YWx1ZS5faW50ZXJwb2xhdGlvblR5cGUpLHRoaXMucGFpbnQuX3ZhbHVlc1tuXT1uZXcgQm4oaS5wcm9wZXJ0eSxhLGkucGFyYW1ldGVycyl9fX0sZS5wcm90b3R5cGUuX2hhbmRsZU92ZXJyaWRhYmxlUGFpbnRQcm9wZXJ0eVVwZGF0ZT1mdW5jdGlvbih0LHIsbil7cmV0dXJuISghdGhpcy5sYXlvdXR8fHIuaXNEYXRhRHJpdmVuKCl8fG4uaXNEYXRhRHJpdmVuKCkpJiZlLmhhc1BhaW50T3ZlcnJpZGUodGhpcy5sYXlvdXQsdCl9LGUuaGFzUGFpbnRPdmVycmlkZT1mdW5jdGlvbih0LGUpe3ZhciByPXQuZ2V0KCJ0ZXh0LWZpZWxkIiksbj1Jcy5wYWludC5wcm9wZXJ0aWVzW2VdLGE9ITEsaT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXQ7ZTxyLmxlbmd0aDtlKz0xKXt2YXIgaT1yW2VdO2lmKG4ub3ZlcnJpZGVzJiZuLm92ZXJyaWRlcy5oYXNPdmVycmlkZShpKSlyZXR1cm4gdm9pZChhPSEwKX19O2lmKCJjb25zdGFudCI9PT1yLnZhbHVlLmtpbmQmJnIudmFsdWUudmFsdWUgaW5zdGFuY2VvZiBKdClpKHIudmFsdWUudmFsdWUuc2VjdGlvbnMpO2Vsc2UgaWYoInNvdXJjZSI9PT1yLnZhbHVlLmtpbmQpe3ZhciBvPWZ1bmN0aW9uKHQpe2lmKCFhKWlmKHQgaW5zdGFuY2VvZiB0ZSYmUXQodC52YWx1ZSk9PT1WdCl7dmFyIGU9dC52YWx1ZTtpKGUuc2VjdGlvbnMpfWVsc2UgdCBpbnN0YW5jZW9mIGFlP2kodC5zZWN0aW9ucyk6dC5lYWNoQ2hpbGQobyl9LHM9ci52YWx1ZTtzLl9zdHlsZUV4cHJlc3Npb24mJm8ocy5fc3R5bGVFeHByZXNzaW9uLmV4cHJlc3Npb24pfXJldHVybiBhfSxlLmhhc1BhaW50T3ZlcnJpZGVzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgcj0wLG49SXMucGFpbnQub3ZlcnJpZGFibGVQcm9wZXJ0aWVzO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXTtpZihlLmhhc1BhaW50T3ZlcnJpZGUodCxhKSlyZXR1cm4hMH1yZXR1cm4hMX0sZX0oWW4pLEZzPXtwYWludDpuZXcgR24oeyJiYWNrZ3JvdW5kLWNvbG9yIjpuZXcgam4oVHQucGFpbnRfYmFja2dyb3VuZFsiYmFja2dyb3VuZC1jb2xvciJdKSwiYmFja2dyb3VuZC1wYXR0ZXJuIjpuZXcgcW4oVHQucGFpbnRfYmFja2dyb3VuZFsiYmFja2dyb3VuZC1wYXR0ZXJuIl0pLCJiYWNrZ3JvdW5kLW9wYWNpdHkiOm5ldyBqbihUdC5wYWludF9iYWNrZ3JvdW5kWyJiYWNrZ3JvdW5kLW9wYWNpdHkiXSl9KX0sQnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt0LmNhbGwodGhpcyxlLEZzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZX0oWW4pLE5zPXtwYWludDpuZXcgR24oeyJyYXN0ZXItb3BhY2l0eSI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLW9wYWNpdHkiXSksInJhc3Rlci1odWUtcm90YXRlIjpuZXcgam4oVHQucGFpbnRfcmFzdGVyWyJyYXN0ZXItaHVlLXJvdGF0ZSJdKSwicmFzdGVyLWJyaWdodG5lc3MtbWluIjpuZXcgam4oVHQucGFpbnRfcmFzdGVyWyJyYXN0ZXItYnJpZ2h0bmVzcy1taW4iXSksInJhc3Rlci1icmlnaHRuZXNzLW1heCI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLWJyaWdodG5lc3MtbWF4Il0pLCJyYXN0ZXItc2F0dXJhdGlvbiI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLXNhdHVyYXRpb24iXSksInJhc3Rlci1jb250cmFzdCI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLWNvbnRyYXN0Il0pLCJyYXN0ZXItcmVzYW1wbGluZyI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLXJlc2FtcGxpbmciXSksInJhc3Rlci1mYWRlLWR1cmF0aW9uIjpuZXcgam4oVHQucGFpbnRfcmFzdGVyWyJyYXN0ZXItZmFkZS1kdXJhdGlvbiJdKX0pfSxqcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3QuY2FsbCh0aGlzLGUsTnMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlfShZbiksVnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt0LmNhbGwodGhpcyxlLHt9KSx0aGlzLmltcGxlbWVudGF0aW9uPWV9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmlzM0Q9ZnVuY3Rpb24oKXtyZXR1cm4iM2QiPT09dGhpcy5pbXBsZW1lbnRhdGlvbi5yZW5kZXJpbmdNb2RlfSxlLnByb3RvdHlwZS5oYXNPZmZzY3JlZW5QYXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuaW1wbGVtZW50YXRpb24ucHJlcmVuZGVyfSxlLnByb3RvdHlwZS5yZWNhbGN1bGF0ZT1mdW5jdGlvbigpe30sZS5wcm90b3R5cGUudXBkYXRlVHJhbnNpdGlvbnM9ZnVuY3Rpb24oKXt9LGUucHJvdG90eXBlLmhhc1RyYW5zaXRpb249ZnVuY3Rpb24oKXt9LGUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe30sZS5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7dGhpcy5pbXBsZW1lbnRhdGlvbi5vbkFkZCYmdGhpcy5pbXBsZW1lbnRhdGlvbi5vbkFkZCh0LHQucGFpbnRlci5jb250ZXh0LmdsKX0sZS5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24odCl7dGhpcy5pbXBsZW1lbnRhdGlvbi5vblJlbW92ZSYmdGhpcy5pbXBsZW1lbnRhdGlvbi5vblJlbW92ZSh0LHQucGFpbnRlci5jb250ZXh0LmdsKX0sZX0oWW4pLFVzPXtjaXJjbGU6TWksaGVhdG1hcDpEaSxoaWxsc2hhZGU6RmksZmlsbDpUbywiZmlsbC1leHRydXNpb24iOlVvLGxpbmU6JG8sc3ltYm9sOlJzLGJhY2tncm91bmQ6QnMscmFzdGVyOmpzfTtmdW5jdGlvbiBxcyh0KXtmb3IodmFyIGU9MCxyPTAsbj0wLGE9dDtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07ZSs9aS53KmkuaCxyPU1hdGgubWF4KHIsaS53KX10LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5oLXQuaH0pO2Zvcih2YXIgbz1be3g6MCx5OjAsdzpNYXRoLm1heChNYXRoLmNlaWwoTWF0aC5zcXJ0KGUvLjk1KSksciksaDoxLzB9XSxzPTAsbD0wLGM9MCx1PXQ7Yzx1Lmxlbmd0aDtjKz0xKWZvcih2YXIgaD11W2NdLGY9by5sZW5ndGgtMTtmPj0wO2YtLSl7dmFyIHA9b1tmXTtpZighKGgudz5wLnd8fGguaD5wLmgpKXtpZihoLng9cC54LGgueT1wLnksbD1NYXRoLm1heChsLGgueStoLmgpLHM9TWF0aC5tYXgocyxoLngraC53KSxoLnc9PT1wLncmJmguaD09PXAuaCl7dmFyIGQ9by5wb3AoKTtmPG8ubGVuZ3RoJiYob1tmXT1kKX1lbHNlIGguaD09PXAuaD8ocC54Kz1oLncscC53LT1oLncpOmgudz09PXAudz8ocC55Kz1oLmgscC5oLT1oLmgpOihvLnB1c2goe3g6cC54K2gudyx5OnAueSx3OnAudy1oLncsaDpoLmh9KSxwLnkrPWguaCxwLmgtPWguaCk7YnJlYWt9fXJldHVybnt3OnMsaDpsLGZpbGw6ZS8ocypsKXx8MH19dmFyIEhzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5waXhlbFJhdGlvLG49ZS52ZXJzaW9uO3RoaXMucGFkZGVkUmVjdD10LHRoaXMucGl4ZWxSYXRpbz1yLHRoaXMudmVyc2lvbj1ufSxHcz17dGw6e2NvbmZpZ3VyYWJsZTohMH0sYnI6e2NvbmZpZ3VyYWJsZTohMH0sdGxicjp7Y29uZmlndXJhYmxlOiEwfSxkaXNwbGF5U2l6ZTp7Y29uZmlndXJhYmxlOiEwfX07R3MudGwuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMucGFkZGVkUmVjdC54KzEsdGhpcy5wYWRkZWRSZWN0LnkrMV19LEdzLmJyLmdldD1mdW5jdGlvbigpe3JldHVyblt0aGlzLnBhZGRlZFJlY3QueCt0aGlzLnBhZGRlZFJlY3Qudy0xLHRoaXMucGFkZGVkUmVjdC55K3RoaXMucGFkZGVkUmVjdC5oLTFdfSxHcy50bGJyLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRsLmNvbmNhdCh0aGlzLmJyKX0sR3MuZGlzcGxheVNpemUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuWyh0aGlzLnBhZGRlZFJlY3Qudy0yKS90aGlzLnBpeGVsUmF0aW8sKHRoaXMucGFkZGVkUmVjdC5oLTIpL3RoaXMucGl4ZWxSYXRpb119LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEhzLnByb3RvdHlwZSxHcyk7dmFyIFlzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9e30sbj17fTt0aGlzLmhhdmVSZW5kZXJDYWxsYmFja3M9W107dmFyIGE9W107dGhpcy5hZGRJbWFnZXModCxyLGEpLHRoaXMuYWRkSW1hZ2VzKGUsbixhKTt2YXIgaT1xcyhhKSxvPWkudyxzPWkuaCxsPW5ldyBPaSh7d2lkdGg6b3x8MSxoZWlnaHQ6c3x8MX0pO2Zvcih2YXIgYyBpbiB0KXt2YXIgdT10W2NdLGg9cltjXS5wYWRkZWRSZWN0O09pLmNvcHkodS5kYXRhLGwse3g6MCx5OjB9LHt4OmgueCsxLHk6aC55KzF9LHUuZGF0YSl9Zm9yKHZhciBmIGluIGUpe3ZhciBwPWVbZl0sZD1uW2ZdLnBhZGRlZFJlY3QsZz1kLngrMSx2PWQueSsxLG09cC5kYXRhLndpZHRoLHk9cC5kYXRhLmhlaWdodDtPaS5jb3B5KHAuZGF0YSxsLHt4OjAseTowfSx7eDpnLHk6dn0scC5kYXRhKSxPaS5jb3B5KHAuZGF0YSxsLHt4OjAseTp5LTF9LHt4OmcseTp2LTF9LHt3aWR0aDptLGhlaWdodDoxfSksT2kuY29weShwLmRhdGEsbCx7eDowLHk6MH0se3g6Zyx5OnYreX0se3dpZHRoOm0saGVpZ2h0OjF9KSxPaS5jb3B5KHAuZGF0YSxsLHt4Om0tMSx5OjB9LHt4OmctMSx5OnZ9LHt3aWR0aDoxLGhlaWdodDp5fSksT2kuY29weShwLmRhdGEsbCx7eDowLHk6MH0se3g6ZyttLHk6dn0se3dpZHRoOjEsaGVpZ2h0Onl9KX10aGlzLmltYWdlPWwsdGhpcy5pY29uUG9zaXRpb25zPXIsdGhpcy5wYXR0ZXJuUG9zaXRpb25zPW59O1lzLnByb3RvdHlwZS5hZGRJbWFnZXM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbiBpbiB0KXt2YXIgYT10W25dLGk9e3g6MCx5OjAsdzphLmRhdGEud2lkdGgrMixoOmEuZGF0YS5oZWlnaHQrMn07ci5wdXNoKGkpLGVbbl09bmV3IEhzKGksYSksYS5oYXNSZW5kZXJDYWxsYmFjayYmdGhpcy5oYXZlUmVuZGVyQ2FsbGJhY2tzLnB1c2gobil9fSxZcy5wcm90b3R5cGUucGF0Y2hVcGRhdGVkSW1hZ2VzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQuZGlzcGF0Y2hSZW5kZXJDYWxsYmFja3ModGhpcy5oYXZlUmVuZGVyQ2FsbGJhY2tzKSx0LnVwZGF0ZWRJbWFnZXMpdGhpcy5wYXRjaFVwZGF0ZWRJbWFnZSh0aGlzLmljb25Qb3NpdGlvbnNbcl0sdC5nZXRJbWFnZShyKSxlKSx0aGlzLnBhdGNoVXBkYXRlZEltYWdlKHRoaXMucGF0dGVyblBvc2l0aW9uc1tyXSx0LmdldEltYWdlKHIpLGUpfSxZcy5wcm90b3R5cGUucGF0Y2hVcGRhdGVkSW1hZ2U9ZnVuY3Rpb24odCxlLHIpe2lmKHQmJmUmJnQudmVyc2lvbiE9PWUudmVyc2lvbil7dC52ZXJzaW9uPWUudmVyc2lvbjt2YXIgbj10LnRsLGE9blswXSxpPW5bMV07ci51cGRhdGUoZS5kYXRhLHZvaWQgMCx7eDphLHk6aX0pfX0sZG4oIkltYWdlUG9zaXRpb24iLEhzKSxkbigiSW1hZ2VBdGxhcyIsWXMpO3ZhciBXcz1zZWxmLkhUTUxJbWFnZUVsZW1lbnQsWHM9c2VsZi5IVE1MQ2FudmFzRWxlbWVudCxacz1zZWxmLkhUTUxWaWRlb0VsZW1lbnQsSnM9c2VsZi5JbWFnZURhdGEsS3M9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5jb250ZXh0PXQsdGhpcy5mb3JtYXQ9cix0aGlzLnRleHR1cmU9dC5nbC5jcmVhdGVUZXh0dXJlKCksdGhpcy51cGRhdGUoZSxuKX07S3MucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dmFyIG49dC53aWR0aCxhPXQuaGVpZ2h0LGk9ISh0aGlzLnNpemUmJnRoaXMuc2l6ZVswXT09PW4mJnRoaXMuc2l6ZVsxXT09PWF8fHIpLG89dGhpcy5jb250ZXh0LHM9by5nbDtpZih0aGlzLnVzZU1pcG1hcD1Cb29sZWFuKGUmJmUudXNlTWlwbWFwKSxzLmJpbmRUZXh0dXJlKHMuVEVYVFVSRV8yRCx0aGlzLnRleHR1cmUpLG8ucGl4ZWxTdG9yZVVucGFja0ZsaXBZLnNldCghMSksby5waXhlbFN0b3JlVW5wYWNrLnNldCgxKSxvLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLnNldCh0aGlzLmZvcm1hdD09PXMuUkdCQSYmKCFlfHwhMSE9PWUucHJlbXVsdGlwbHkpKSxpKXRoaXMuc2l6ZT1bbixhXSx0IGluc3RhbmNlb2YgV3N8fHQgaW5zdGFuY2VvZiBYc3x8dCBpbnN0YW5jZW9mIFpzfHx0IGluc3RhbmNlb2YgSnM/cy50ZXhJbWFnZTJEKHMuVEVYVFVSRV8yRCwwLHRoaXMuZm9ybWF0LHRoaXMuZm9ybWF0LHMuVU5TSUdORURfQllURSx0KTpzLnRleEltYWdlMkQocy5URVhUVVJFXzJELDAsdGhpcy5mb3JtYXQsbixhLDAsdGhpcy5mb3JtYXQscy5VTlNJR05FRF9CWVRFLHQuZGF0YSk7ZWxzZXt2YXIgbD1yfHx7eDowLHk6MH0sYz1sLngsdT1sLnk7dCBpbnN0YW5jZW9mIFdzfHx0IGluc3RhbmNlb2YgWHN8fHQgaW5zdGFuY2VvZiBac3x8dCBpbnN0YW5jZW9mIEpzP3MudGV4U3ViSW1hZ2UyRChzLlRFWFRVUkVfMkQsMCxjLHUscy5SR0JBLHMuVU5TSUdORURfQllURSx0KTpzLnRleFN1YkltYWdlMkQocy5URVhUVVJFXzJELDAsYyx1LG4sYSxzLlJHQkEscy5VTlNJR05FRF9CWVRFLHQuZGF0YSl9dGhpcy51c2VNaXBtYXAmJnRoaXMuaXNTaXplUG93ZXJPZlR3bygpJiZzLmdlbmVyYXRlTWlwbWFwKHMuVEVYVFVSRV8yRCl9LEtzLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmNvbnRleHQuZ2w7bi5iaW5kVGV4dHVyZShuLlRFWFRVUkVfMkQsdGhpcy50ZXh0dXJlKSxyIT09bi5MSU5FQVJfTUlQTUFQX05FQVJFU1R8fHRoaXMuaXNTaXplUG93ZXJPZlR3bygpfHwocj1uLkxJTkVBUiksdCE9PXRoaXMuZmlsdGVyJiYobi50ZXhQYXJhbWV0ZXJpKG4uVEVYVFVSRV8yRCxuLlRFWFRVUkVfTUFHX0ZJTFRFUix0KSxuLnRleFBhcmFtZXRlcmkobi5URVhUVVJFXzJELG4uVEVYVFVSRV9NSU5fRklMVEVSLHJ8fHQpLHRoaXMuZmlsdGVyPXQpLGUhPT10aGlzLndyYXAmJihuLnRleFBhcmFtZXRlcmkobi5URVhUVVJFXzJELG4uVEVYVFVSRV9XUkFQX1MsZSksbi50ZXhQYXJhbWV0ZXJpKG4uVEVYVFVSRV8yRCxuLlRFWFRVUkVfV1JBUF9ULGUpLHRoaXMud3JhcD1lKX0sS3MucHJvdG90eXBlLmlzU2l6ZVBvd2VyT2ZUd289ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplWzBdPT09dGhpcy5zaXplWzFdJiZNYXRoLmxvZyh0aGlzLnNpemVbMF0pL01hdGguTE4yJTE9PTB9LEtzLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0LmdsLmRlbGV0ZVRleHR1cmUodGhpcy50ZXh0dXJlKSx0aGlzLnRleHR1cmU9bnVsbH07dmFyIFFzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbyxzPTgqYS1uLTEsbD0oMTw8cyktMSxjPWw+PjEsdT0tNyxoPXI/YS0xOjAsZj1yPy0xOjEscD10W2UraF07Zm9yKGgrPWYsaT1wJigxPDwtdSktMSxwPj49LXUsdSs9czt1PjA7aT0yNTYqaSt0W2UraF0saCs9Zix1LT04KTtmb3Iobz1pJigxPDwtdSktMSxpPj49LXUsdSs9bjt1PjA7bz0yNTYqbyt0W2UraF0saCs9Zix1LT04KTtpZigwPT09aSlpPTEtYztlbHNle2lmKGk9PT1sKXJldHVybiBvP05hTjoxLzAqKHA/LTE6MSk7bys9TWF0aC5wb3coMixuKSxpLT1jfXJldHVybihwPy0xOjEpKm8qTWF0aC5wb3coMixpLW4pfSwkcz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG8scyxsLGM9OCppLWEtMSx1PSgxPDxjKS0xLGg9dT4+MSxmPTIzPT09YT9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAscD1uPzA6aS0xLGQ9bj8xOi0xLGc9ZTwwfHwwPT09ZSYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhzPWlzTmFOKGUpPzE6MCxvPXUpOihvPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKGw9TWF0aC5wb3coMiwtbykpPDEmJihvLS0sbCo9MiksKGUrPW8raD49MT9mL2w6ZipNYXRoLnBvdygyLDEtaCkpKmw+PTImJihvKyssbC89MiksbytoPj11PyhzPTAsbz11KTpvK2g+PTE/KHM9KGUqbC0xKSpNYXRoLnBvdygyLGEpLG8rPWgpOihzPWUqTWF0aC5wb3coMixoLTEpKk1hdGgucG93KDIsYSksbz0wKSk7YT49ODt0W3IrcF09MjU1JnMscCs9ZCxzLz0yNTYsYS09OCk7Zm9yKG89bzw8YXxzLGMrPWE7Yz4wO3RbcitwXT0yNTUmbyxwKz1kLG8vPTI1NixjLT04KTt0W3IrcC1kXXw9MTI4Kmd9LHRsPWVsO2Z1bmN0aW9uIGVsKHQpe3RoaXMuYnVmPUFycmF5QnVmZmVyLmlzVmlldyYmQXJyYXlCdWZmZXIuaXNWaWV3KHQpP3Q6bmV3IFVpbnQ4QXJyYXkodHx8MCksdGhpcy5wb3M9MCx0aGlzLnR5cGU9MCx0aGlzLmxlbmd0aD10aGlzLmJ1Zi5sZW5ndGh9ZnVuY3Rpb24gcmwodCl7cmV0dXJuIHQudHlwZT09PWVsLkJ5dGVzP3QucmVhZFZhcmludCgpK3QucG9zOnQucG9zKzF9ZnVuY3Rpb24gbmwodCxlLHIpe3JldHVybiByPzQyOTQ5NjcyOTYqZSsodD4+PjApOjQyOTQ5NjcyOTYqKGU+Pj4wKSsodD4+PjApfWZ1bmN0aW9uIGFsKHQsZSxyKXt2YXIgbj1lPD0xNjM4Mz8xOmU8PTIwOTcxNTE/MjplPD0yNjg0MzU0NTU/MzpNYXRoLmZsb29yKE1hdGgubG9nKGUpLyg3Kk1hdGguTE4yKSk7ci5yZWFsbG9jKG4pO2Zvcih2YXIgYT1yLnBvcy0xO2E+PXQ7YS0tKXIuYnVmW2Erbl09ci5idWZbYV19ZnVuY3Rpb24gaWwodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlVmFyaW50KHRbcl0pfWZ1bmN0aW9uIG9sKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZS53cml0ZVNWYXJpbnQodFtyXSl9ZnVuY3Rpb24gc2wodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlRmxvYXQodFtyXSl9ZnVuY3Rpb24gbGwodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlRG91YmxlKHRbcl0pfWZ1bmN0aW9uIGNsKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZS53cml0ZUJvb2xlYW4odFtyXSl9ZnVuY3Rpb24gdWwodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlRml4ZWQzMih0W3JdKX1mdW5jdGlvbiBobCh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWUud3JpdGVTRml4ZWQzMih0W3JdKX1mdW5jdGlvbiBmbCh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWUud3JpdGVGaXhlZDY0KHRbcl0pfWZ1bmN0aW9uIHBsKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZS53cml0ZVNGaXhlZDY0KHRbcl0pfWZ1bmN0aW9uIGRsKHQsZSl7cmV0dXJuKHRbZV18dFtlKzFdPDw4fHRbZSsyXTw8MTYpKzE2Nzc3MjE2KnRbZSszXX1mdW5jdGlvbiBnbCh0LGUscil7dFtyXT1lLHRbcisxXT1lPj4+OCx0W3IrMl09ZT4+PjE2LHRbciszXT1lPj4+MjR9ZnVuY3Rpb24gdmwodCxlKXtyZXR1cm4odFtlXXx0W2UrMV08PDh8dFtlKzJdPDwxNikrKHRbZSszXTw8MjQpfWVsLlZhcmludD0wLGVsLkZpeGVkNjQ9MSxlbC5CeXRlcz0yLGVsLkZpeGVkMzI9NSxlbC5wcm90b3R5cGU9e2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmJ1Zj1udWxsfSxyZWFkRmllbGRzOmZ1bmN0aW9uKHQsZSxyKXtmb3Iocj1yfHx0aGlzLmxlbmd0aDt0aGlzLnBvczxyOyl7dmFyIG49dGhpcy5yZWFkVmFyaW50KCksYT1uPj4zLGk9dGhpcy5wb3M7dGhpcy50eXBlPTcmbix0KGEsZSx0aGlzKSx0aGlzLnBvcz09PWkmJnRoaXMuc2tpcChuKX1yZXR1cm4gZX0scmVhZE1lc3NhZ2U6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5yZWFkRmllbGRzKHQsZSx0aGlzLnJlYWRWYXJpbnQoKSt0aGlzLnBvcyl9LHJlYWRGaXhlZDMyOmZ1bmN0aW9uKCl7dmFyIHQ9ZGwodGhpcy5idWYsdGhpcy5wb3MpO3JldHVybiB0aGlzLnBvcys9NCx0fSxyZWFkU0ZpeGVkMzI6ZnVuY3Rpb24oKXt2YXIgdD12bCh0aGlzLmJ1Zix0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKz00LHR9LHJlYWRGaXhlZDY0OmZ1bmN0aW9uKCl7dmFyIHQ9ZGwodGhpcy5idWYsdGhpcy5wb3MpKzQyOTQ5NjcyOTYqZGwodGhpcy5idWYsdGhpcy5wb3MrNCk7cmV0dXJuIHRoaXMucG9zKz04LHR9LHJlYWRTRml4ZWQ2NDpmdW5jdGlvbigpe3ZhciB0PWRsKHRoaXMuYnVmLHRoaXMucG9zKSs0Mjk0OTY3Mjk2KnZsKHRoaXMuYnVmLHRoaXMucG9zKzQpO3JldHVybiB0aGlzLnBvcys9OCx0fSxyZWFkRmxvYXQ6ZnVuY3Rpb24oKXt2YXIgdD1Rcyh0aGlzLmJ1Zix0aGlzLnBvcywhMCwyMyw0KTtyZXR1cm4gdGhpcy5wb3MrPTQsdH0scmVhZERvdWJsZTpmdW5jdGlvbigpe3ZhciB0PVFzKHRoaXMuYnVmLHRoaXMucG9zLCEwLDUyLDgpO3JldHVybiB0aGlzLnBvcys9OCx0fSxyZWFkVmFyaW50OmZ1bmN0aW9uKHQpe3ZhciBlLHIsbj10aGlzLmJ1ZjtyZXR1cm4gZT0xMjcmKHI9blt0aGlzLnBvcysrXSkscjwxMjg/ZTooZXw9KDEyNyYocj1uW3RoaXMucG9zKytdKSk8PDcscjwxMjg/ZTooZXw9KDEyNyYocj1uW3RoaXMucG9zKytdKSk8PDE0LHI8MTI4P2U6KGV8PSgxMjcmKHI9blt0aGlzLnBvcysrXSkpPDwyMSxyPDEyOD9lOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGk9ci5idWY7aWYobj0oMTEyJihhPWlbci5wb3MrK10pKT4+NCxhPDEyOClyZXR1cm4gbmwodCxuLGUpO2lmKG58PSgxMjcmKGE9aVtyLnBvcysrXSkpPDwzLGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEyNyYoYT1pW3IucG9zKytdKSk8PDEwLGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEyNyYoYT1pW3IucG9zKytdKSk8PDE3LGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEyNyYoYT1pW3IucG9zKytdKSk8PDI0LGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEmKGE9aVtyLnBvcysrXSkpPDwzMSxhPDEyOClyZXR1cm4gbmwodCxuLGUpO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdmFyaW50IG5vdCBtb3JlIHRoYW4gMTAgYnl0ZXMiKX0oZXw9KDE1JihyPW5bdGhpcy5wb3NdKSk8PDI4LHQsdGhpcykpKSl9LHJlYWRWYXJpbnQ2NDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRWYXJpbnQoITApfSxyZWFkU1ZhcmludDpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmVhZFZhcmludCgpO3JldHVybiB0JTI9PTE/KHQrMSkvLTI6dC8yfSxyZWFkQm9vbGVhbjpmdW5jdGlvbigpe3JldHVybiBCb29sZWFuKHRoaXMucmVhZFZhcmludCgpKX0scmVhZFN0cmluZzpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zLGU9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0iIixhPWU7YTxyOyl7dmFyIGksbyxzLGw9dFthXSxjPW51bGwsdT1sPjIzOT80Omw+MjIzPzM6bD4xOTE/MjoxO2lmKGErdT5yKWJyZWFrOzE9PT11P2w8MTI4JiYoYz1sKToyPT09dT8xMjg9PSgxOTImKGk9dFthKzFdKSkmJihjPSgzMSZsKTw8Nnw2MyZpKTw9MTI3JiYoYz1udWxsKTozPT09dT8oaT10W2ErMV0sbz10W2ErMl0sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJigoYz0oMTUmbCk8PDEyfCg2MyZpKTw8Nnw2MyZvKTw9MjA0N3x8Yz49NTUyOTYmJmM8PTU3MzQzKSYmKGM9bnVsbCkpOjQ9PT11JiYoaT10W2ErMV0sbz10W2ErMl0scz10W2ErM10sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJjEyOD09KDE5MiZzKSYmKChjPSgxNSZsKTw8MTh8KDYzJmkpPDwxMnwoNjMmbyk8PDZ8NjMmcyk8PTY1NTM1fHxjPj0xMTE0MTEyKSYmKGM9bnVsbCkpLG51bGw9PT1jPyhjPTY1NTMzLHU9MSk6Yz42NTUzNSYmKGMtPTY1NTM2LG4rPVN0cmluZy5mcm9tQ2hhckNvZGUoYz4+PjEwJjEwMjN8NTUyOTYpLGM9NTYzMjB8MTAyMyZjKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGMpLGErPXV9cmV0dXJuIG59KHRoaXMuYnVmLHRoaXMucG9zLHQpO3JldHVybiB0aGlzLnBvcz10LGV9LHJlYWRCeXRlczpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zLGU9dGhpcy5idWYuc3ViYXJyYXkodGhpcy5wb3MsdCk7cmV0dXJuIHRoaXMucG9zPXQsZX0scmVhZFBhY2tlZFZhcmludDpmdW5jdGlvbih0LGUpe2lmKHRoaXMudHlwZSE9PWVsLkJ5dGVzKXJldHVybiB0LnB1c2godGhpcy5yZWFkVmFyaW50KGUpKTt2YXIgcj1ybCh0aGlzKTtmb3IodD10fHxbXTt0aGlzLnBvczxyOyl0LnB1c2godGhpcy5yZWFkVmFyaW50KGUpKTtyZXR1cm4gdH0scmVhZFBhY2tlZFNWYXJpbnQ6ZnVuY3Rpb24odCl7aWYodGhpcy50eXBlIT09ZWwuQnl0ZXMpcmV0dXJuIHQucHVzaCh0aGlzLnJlYWRTVmFyaW50KCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRTVmFyaW50KCkpO3JldHVybiB0fSxyZWFkUGFja2VkQm9vbGVhbjpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZEJvb2xlYW4oKSk7dmFyIGU9cmwodGhpcyk7Zm9yKHQ9dHx8W107dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZEJvb2xlYW4oKSk7cmV0dXJuIHR9LHJlYWRQYWNrZWRGbG9hdDpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZEZsb2F0KCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRGbG9hdCgpKTtyZXR1cm4gdH0scmVhZFBhY2tlZERvdWJsZTpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZERvdWJsZSgpKTt2YXIgZT1ybCh0aGlzKTtmb3IodD10fHxbXTt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkRG91YmxlKCkpO3JldHVybiB0fSxyZWFkUGFja2VkRml4ZWQzMjpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZEZpeGVkMzIoKSk7dmFyIGU9cmwodGhpcyk7Zm9yKHQ9dHx8W107dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZEZpeGVkMzIoKSk7cmV0dXJuIHR9LHJlYWRQYWNrZWRTRml4ZWQzMjpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZFNGaXhlZDMyKCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRTRml4ZWQzMigpKTtyZXR1cm4gdH0scmVhZFBhY2tlZEZpeGVkNjQ6ZnVuY3Rpb24odCl7aWYodGhpcy50eXBlIT09ZWwuQnl0ZXMpcmV0dXJuIHQucHVzaCh0aGlzLnJlYWRGaXhlZDY0KCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRGaXhlZDY0KCkpO3JldHVybiB0fSxyZWFkUGFja2VkU0ZpeGVkNjQ6ZnVuY3Rpb24odCl7aWYodGhpcy50eXBlIT09ZWwuQnl0ZXMpcmV0dXJuIHQucHVzaCh0aGlzLnJlYWRTRml4ZWQ2NCgpKTt2YXIgZT1ybCh0aGlzKTtmb3IodD10fHxbXTt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkU0ZpeGVkNjQoKSk7cmV0dXJuIHR9LHNraXA6ZnVuY3Rpb24odCl7dmFyIGU9NyZ0O2lmKGU9PT1lbC5WYXJpbnQpZm9yKDt0aGlzLmJ1Zlt0aGlzLnBvcysrXT4xMjc7KTtlbHNlIGlmKGU9PT1lbC5CeXRlcyl0aGlzLnBvcz10aGlzLnJlYWRWYXJpbnQoKSt0aGlzLnBvcztlbHNlIGlmKGU9PT1lbC5GaXhlZDMyKXRoaXMucG9zKz00O2Vsc2V7aWYoZSE9PWVsLkZpeGVkNjQpdGhyb3cgbmV3IEVycm9yKCJVbmltcGxlbWVudGVkIHR5cGU6ICIrZSk7dGhpcy5wb3MrPTh9fSx3cml0ZVRhZzpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVWYXJpbnQodDw8M3xlKX0scmVhbGxvYzpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5sZW5ndGh8fDE2O2U8dGhpcy5wb3MrdDspZSo9MjtpZihlIT09dGhpcy5sZW5ndGgpe3ZhciByPW5ldyBVaW50OEFycmF5KGUpO3Iuc2V0KHRoaXMuYnVmKSx0aGlzLmJ1Zj1yLHRoaXMubGVuZ3RoPWV9fSxmaW5pc2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGg9dGhpcy5wb3MsdGhpcy5wb3M9MCx0aGlzLmJ1Zi5zdWJhcnJheSgwLHRoaXMubGVuZ3RoKX0sd3JpdGVGaXhlZDMyOmZ1bmN0aW9uKHQpe3RoaXMucmVhbGxvYyg0KSxnbCh0aGlzLmJ1Zix0LHRoaXMucG9zKSx0aGlzLnBvcys9NH0sd3JpdGVTRml4ZWQzMjpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoNCksZ2wodGhpcy5idWYsdCx0aGlzLnBvcyksdGhpcy5wb3MrPTR9LHdyaXRlRml4ZWQ2NDpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoOCksZ2wodGhpcy5idWYsLTEmdCx0aGlzLnBvcyksZ2wodGhpcy5idWYsTWF0aC5mbG9vcih0KigxLzQyOTQ5NjcyOTYpKSx0aGlzLnBvcys0KSx0aGlzLnBvcys9OH0sd3JpdGVTRml4ZWQ2NDpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoOCksZ2wodGhpcy5idWYsLTEmdCx0aGlzLnBvcyksZ2wodGhpcy5idWYsTWF0aC5mbG9vcih0KigxLzQyOTQ5NjcyOTYpKSx0aGlzLnBvcys0KSx0aGlzLnBvcys9OH0sd3JpdGVWYXJpbnQ6ZnVuY3Rpb24odCl7KHQ9K3R8fDApPjI2ODQzNTQ1NXx8dDwwP2Z1bmN0aW9uKHQsZSl7dmFyIHIsbjtpZih0Pj0wPyhyPXQlNDI5NDk2NzI5NnwwLG49dC80Mjk0OTY3Mjk2fDApOihuPX4oLXQvNDI5NDk2NzI5NiksNDI5NDk2NzI5NV4ocj1+KC10JTQyOTQ5NjcyOTYpKT9yPXIrMXwwOihyPTAsbj1uKzF8MCkpLHQ+PTB4MTAwMDAwMDAwMDAwMDAwMDB8fHQ8LTB4MTAwMDAwMDAwMDAwMDAwMDApdGhyb3cgbmV3IEVycm9yKCJHaXZlbiB2YXJpbnQgZG9lc24ndCBmaXQgaW50byAxMCBieXRlcyIpO2UucmVhbGxvYygxMCksZnVuY3Rpb24odCxlLHIpe3IuYnVmW3IucG9zKytdPTEyNyZ0fDEyOCx0Pj4+PTcsci5idWZbci5wb3MrK109MTI3JnR8MTI4LHQ+Pj49NyxyLmJ1ZltyLnBvcysrXT0xMjcmdHwxMjgsdD4+Pj03LHIuYnVmW3IucG9zKytdPTEyNyZ0fDEyOCx0Pj4+PTcsci5idWZbci5wb3NdPTEyNyZ0fShyLDAsZSksZnVuY3Rpb24odCxlKXt2YXIgcj0oNyZ0KTw8NDtlLmJ1ZltlLnBvcysrXXw9cnwoKHQ+Pj49Myk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdCkpKSkpfShuLGUpfSh0LHRoaXMpOih0aGlzLnJlYWxsb2MoNCksdGhpcy5idWZbdGhpcy5wb3MrK109MTI3JnR8KHQ+MTI3PzEyODowKSx0PD0xMjd8fCh0aGlzLmJ1Zlt0aGlzLnBvcysrXT0xMjcmKHQ+Pj49Nyl8KHQ+MTI3PzEyODowKSx0PD0xMjd8fCh0aGlzLmJ1Zlt0aGlzLnBvcysrXT0xMjcmKHQ+Pj49Nyl8KHQ+MTI3PzEyODowKSx0PD0xMjd8fCh0aGlzLmJ1Zlt0aGlzLnBvcysrXT10Pj4+NyYxMjcpKSkpfSx3cml0ZVNWYXJpbnQ6ZnVuY3Rpb24odCl7dGhpcy53cml0ZVZhcmludCh0PDA/MiotdC0xOjIqdCl9LHdyaXRlQm9vbGVhbjpmdW5jdGlvbih0KXt0aGlzLndyaXRlVmFyaW50KEJvb2xlYW4odCkpfSx3cml0ZVN0cmluZzpmdW5jdGlvbih0KXt0PVN0cmluZyh0KSx0aGlzLnJlYWxsb2MoNCp0Lmxlbmd0aCksdGhpcy5wb3MrKzt2YXIgZT10aGlzLnBvczt0aGlzLnBvcz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuLGEsaT0wO2k8ZS5sZW5ndGg7aSsrKXtpZigobj1lLmNoYXJDb2RlQXQoaSkpPjU1Mjk1JiZuPDU3MzQ0KXtpZighYSl7bj41NjMxOXx8aSsxPT09ZS5sZW5ndGg/KHRbcisrXT0yMzksdFtyKytdPTE5MSx0W3IrK109MTg5KTphPW47Y29udGludWV9aWYobjw1NjMyMCl7dFtyKytdPTIzOSx0W3IrK109MTkxLHRbcisrXT0xODksYT1uO2NvbnRpbnVlfW49YS01NTI5Njw8MTB8bi01NjMyMHw2NTUzNixhPW51bGx9ZWxzZSBhJiYodFtyKytdPTIzOSx0W3IrK109MTkxLHRbcisrXT0xODksYT1udWxsKTtuPDEyOD90W3IrK109bjoobjwyMDQ4P3RbcisrXT1uPj42fDE5Mjoobjw2NTUzNj90W3IrK109bj4+MTJ8MjI0Oih0W3IrK109bj4+MTh8MjQwLHRbcisrXT1uPj4xMiY2M3wxMjgpLHRbcisrXT1uPj42JjYzfDEyOCksdFtyKytdPTYzJm58MTI4KX1yZXR1cm4gcn0odGhpcy5idWYsdCx0aGlzLnBvcyk7dmFyIHI9dGhpcy5wb3MtZTtyPj0xMjgmJmFsKGUscix0aGlzKSx0aGlzLnBvcz1lLTEsdGhpcy53cml0ZVZhcmludChyKSx0aGlzLnBvcys9cn0sd3JpdGVGbG9hdDpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoNCksJHModGhpcy5idWYsdCx0aGlzLnBvcywhMCwyMyw0KSx0aGlzLnBvcys9NH0sd3JpdGVEb3VibGU6ZnVuY3Rpb24odCl7dGhpcy5yZWFsbG9jKDgpLCRzKHRoaXMuYnVmLHQsdGhpcy5wb3MsITAsNTIsOCksdGhpcy5wb3MrPTh9LHdyaXRlQnl0ZXM6ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7dGhpcy53cml0ZVZhcmludChlKSx0aGlzLnJlYWxsb2MoZSk7Zm9yKHZhciByPTA7cjxlO3IrKyl0aGlzLmJ1Zlt0aGlzLnBvcysrXT10W3JdfSx3cml0ZVJhd01lc3NhZ2U6ZnVuY3Rpb24odCxlKXt0aGlzLnBvcysrO3ZhciByPXRoaXMucG9zO3QoZSx0aGlzKTt2YXIgbj10aGlzLnBvcy1yO24+PTEyOCYmYWwocixuLHRoaXMpLHRoaXMucG9zPXItMSx0aGlzLndyaXRlVmFyaW50KG4pLHRoaXMucG9zKz1ufSx3cml0ZU1lc3NhZ2U6ZnVuY3Rpb24odCxlLHIpe3RoaXMud3JpdGVUYWcodCxlbC5CeXRlcyksdGhpcy53cml0ZVJhd01lc3NhZ2UoZSxyKX0sd3JpdGVQYWNrZWRWYXJpbnQ6ZnVuY3Rpb24odCxlKXtlLmxlbmd0aCYmdGhpcy53cml0ZU1lc3NhZ2UodCxpbCxlKX0sd3JpdGVQYWNrZWRTVmFyaW50OmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsb2wsZSl9LHdyaXRlUGFja2VkQm9vbGVhbjpmdW5jdGlvbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LGNsLGUpfSx3cml0ZVBhY2tlZEZsb2F0OmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsc2wsZSl9LHdyaXRlUGFja2VkRG91YmxlOmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsbGwsZSl9LHdyaXRlUGFja2VkRml4ZWQzMjpmdW5jdGlvbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LHVsLGUpfSx3cml0ZVBhY2tlZFNGaXhlZDMyOmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsaGwsZSl9LHdyaXRlUGFja2VkRml4ZWQ2NDpmdW5jdGlvbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LGZsLGUpfSx3cml0ZVBhY2tlZFNGaXhlZDY0OmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQscGwsZSl9LHdyaXRlQnl0ZXNGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5CeXRlcyksdGhpcy53cml0ZUJ5dGVzKGUpfSx3cml0ZUZpeGVkMzJGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5GaXhlZDMyKSx0aGlzLndyaXRlRml4ZWQzMihlKX0sd3JpdGVTRml4ZWQzMkZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVRhZyh0LGVsLkZpeGVkMzIpLHRoaXMud3JpdGVTRml4ZWQzMihlKX0sd3JpdGVGaXhlZDY0RmllbGQ6ZnVuY3Rpb24odCxlKXt0aGlzLndyaXRlVGFnKHQsZWwuRml4ZWQ2NCksdGhpcy53cml0ZUZpeGVkNjQoZSl9LHdyaXRlU0ZpeGVkNjRGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5GaXhlZDY0KSx0aGlzLndyaXRlU0ZpeGVkNjQoZSl9LHdyaXRlVmFyaW50RmllbGQ6ZnVuY3Rpb24odCxlKXt0aGlzLndyaXRlVGFnKHQsZWwuVmFyaW50KSx0aGlzLndyaXRlVmFyaW50KGUpfSx3cml0ZVNWYXJpbnRGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5WYXJpbnQpLHRoaXMud3JpdGVTVmFyaW50KGUpfSx3cml0ZVN0cmluZ0ZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVRhZyh0LGVsLkJ5dGVzKSx0aGlzLndyaXRlU3RyaW5nKGUpfSx3cml0ZUZsb2F0RmllbGQ6ZnVuY3Rpb24odCxlKXt0aGlzLndyaXRlVGFnKHQsZWwuRml4ZWQzMiksdGhpcy53cml0ZUZsb2F0KGUpfSx3cml0ZURvdWJsZUZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVRhZyh0LGVsLkZpeGVkNjQpLHRoaXMud3JpdGVEb3VibGUoZSl9LHdyaXRlQm9vbGVhbkZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVZhcmludEZpZWxkKHQsQm9vbGVhbihlKSl9fTt2YXIgbWw9MztmdW5jdGlvbiB5bCh0LGUscil7MT09PXQmJnIucmVhZE1lc3NhZ2UoeGwsZSl9ZnVuY3Rpb24geGwodCxlLHIpe2lmKDM9PT10KXt2YXIgbj1yLnJlYWRNZXNzYWdlKGJsLHt9KSxhPW4uaWQsaT1uLmJpdG1hcCxvPW4ud2lkdGgscz1uLmhlaWdodCxsPW4ubGVmdCxjPW4udG9wLHU9bi5hZHZhbmNlO2UucHVzaCh7aWQ6YSxiaXRtYXA6bmV3IFBpKHt3aWR0aDpvKzIqbWwsaGVpZ2h0OnMrMiptbH0saSksbWV0cmljczp7d2lkdGg6byxoZWlnaHQ6cyxsZWZ0OmwsdG9wOmMsYWR2YW5jZTp1fX0pfX1mdW5jdGlvbiBibCh0LGUscil7MT09PXQ/ZS5pZD1yLnJlYWRWYXJpbnQoKToyPT09dD9lLmJpdG1hcD1yLnJlYWRCeXRlcygpOjM9PT10P2Uud2lkdGg9ci5yZWFkVmFyaW50KCk6ND09PXQ/ZS5oZWlnaHQ9ci5yZWFkVmFyaW50KCk6NT09PXQ/ZS5sZWZ0PXIucmVhZFNWYXJpbnQoKTo2PT09dD9lLnRvcD1yLnJlYWRTVmFyaW50KCk6Nz09PXQmJihlLmFkdmFuY2U9ci5yZWFkVmFyaW50KCkpfXZhciBfbD1tbCx3bD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2NhbGxiYWNrPXQsdGhpcy5fdHJpZ2dlcmVkPSExLCJ1bmRlZmluZWQiIT10eXBlb2YgTWVzc2FnZUNoYW5uZWwmJih0aGlzLl9jaGFubmVsPW5ldyBNZXNzYWdlQ2hhbm5lbCx0aGlzLl9jaGFubmVsLnBvcnQyLm9ubWVzc2FnZT1mdW5jdGlvbigpe2UuX3RyaWdnZXJlZD0hMSxlLl9jYWxsYmFjaygpfSl9O3dsLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl90cmlnZ2VyZWR8fCh0aGlzLl90cmlnZ2VyZWQ9ITAsdGhpcy5fY2hhbm5lbD90aGlzLl9jaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCEwKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5fdHJpZ2dlcmVkPSExLHQuX2NhbGxiYWNrKCl9LDApKX07dmFyIGtsPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnRhcmdldD10LHRoaXMucGFyZW50PWUsdGhpcy5tYXBJZD1yLHRoaXMuY2FsbGJhY2tzPXt9LHRoaXMudGFza3M9e30sdGhpcy50YXNrUXVldWU9W10sdGhpcy5jYW5jZWxDYWxsYmFja3M9e30sdihbInJlY2VpdmUiLCJwcm9jZXNzIl0sdGhpcyksdGhpcy5pbnZva2VyPW5ldyB3bCh0aGlzLnByb2Nlc3MpLHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMucmVjZWl2ZSwhMSl9O2Z1bmN0aW9uIFRsKHQsZSxyKXt2YXIgbj0yKk1hdGguUEkqNjM3ODEzNy8yNTYvTWF0aC5wb3coMixyKTtyZXR1cm5bdCpuLTIqTWF0aC5QSSo2Mzc4MTM3LzIsZSpuLTIqTWF0aC5QSSo2Mzc4MTM3LzJdfWtsLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMsaT1NYXRoLnJvdW5kKDFlMTgqTWF0aC5yYW5kb20oKSkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygwLDEwKTtyJiYodGhpcy5jYWxsYmFja3NbaV09cik7dmFyIG89W107cmV0dXJuIHRoaXMudGFyZ2V0LnBvc3RNZXNzYWdlKHtpZDppLHR5cGU6dCxoYXNDYWxsYmFjazohIXIsdGFyZ2V0TWFwSWQ6bixzb3VyY2VNYXBJZDp0aGlzLm1hcElkLGRhdGE6dm4oZSxvKX0sbykse2NhbmNlbDpmdW5jdGlvbigpe3ImJmRlbGV0ZSBhLmNhbGxiYWNrc1tpXSxhLnRhcmdldC5wb3N0TWVzc2FnZSh7aWQ6aSx0eXBlOiI8Y2FuY2VsPiIsdGFyZ2V0TWFwSWQ6bixzb3VyY2VNYXBJZDphLm1hcElkfSl9fX0sa2wucHJvdG90eXBlLnJlY2VpdmU9ZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRhLHI9ZS5pZDtpZihyJiYoIWUudGFyZ2V0TWFwSWR8fHRoaXMubWFwSWQ9PT1lLnRhcmdldE1hcElkKSlpZigiPGNhbmNlbD4iPT09ZS50eXBlKXtkZWxldGUgdGhpcy50YXNrc1tyXTt2YXIgbj10aGlzLmNhbmNlbENhbGxiYWNrc1tyXTtkZWxldGUgdGhpcy5jYW5jZWxDYWxsYmFja3Nbcl0sbiYmbigpfWVsc2UgdGhpcy50YXNrc1tyXT1lLHRoaXMudGFza1F1ZXVlLnB1c2gociksdGhpcy5pbnZva2VyLnRyaWdnZXIoKX0sa2wucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHRoaXMudGFza1F1ZXVlLmxlbmd0aCl7dmFyIGU9dGhpcy50YXNrUXVldWUuc2hpZnQoKSxyPXRoaXMudGFza3NbZV07aWYoZGVsZXRlIHRoaXMudGFza3NbZV0sdGhpcy50YXNrUXVldWUubGVuZ3RoJiZ0aGlzLmludm9rZXIudHJpZ2dlcigpLHIpaWYoIjxyZXNwb25zZT4iPT09ci50eXBlKXt2YXIgbj10aGlzLmNhbGxiYWNrc1tlXTtkZWxldGUgdGhpcy5jYWxsYmFja3NbZV0sbiYmKHIuZXJyb3I/bihtbihyLmVycm9yKSk6bihudWxsLG1uKHIuZGF0YSkpKX1lbHNle3ZhciBhPSExLGk9ci5oYXNDYWxsYmFjaz9mdW5jdGlvbihyLG4pe2E9ITAsZGVsZXRlIHQuY2FuY2VsQ2FsbGJhY2tzW2VdO3ZhciBpPVtdO3QudGFyZ2V0LnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6IjxyZXNwb25zZT4iLHNvdXJjZU1hcElkOnQubWFwSWQsZXJyb3I6cj92bihyKTpudWxsLGRhdGE6dm4obixpKX0saSl9OmZ1bmN0aW9uKHQpe2E9ITB9LG89bnVsbCxzPW1uKHIuZGF0YSk7aWYodGhpcy5wYXJlbnRbci50eXBlXSlvPXRoaXMucGFyZW50W3IudHlwZV0oci5zb3VyY2VNYXBJZCxzLGkpO2Vsc2UgaWYodGhpcy5wYXJlbnQuZ2V0V29ya2VyU291cmNlKXt2YXIgbD1yLnR5cGUuc3BsaXQoIi4iKTtvPXRoaXMucGFyZW50LmdldFdvcmtlclNvdXJjZShyLnNvdXJjZU1hcElkLGxbMF0scy5zb3VyY2UpW2xbMV1dKHMsaSl9ZWxzZSBpKG5ldyBFcnJvcigiQ291bGQgbm90IGZpbmQgZnVuY3Rpb24gIityLnR5cGUpKTshYSYmbyYmby5jYW5jZWwmJih0aGlzLmNhbmNlbENhbGxiYWNrc1tlXT1vLmNhbmNlbCl9fX0sa2wucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMucmVjZWl2ZSwhMSl9O3ZhciBNbD1mdW5jdGlvbih0LGUpe3QmJihlP3RoaXMuc2V0U291dGhXZXN0KHQpLnNldE5vcnRoRWFzdChlKTo0PT09dC5sZW5ndGg/dGhpcy5zZXRTb3V0aFdlc3QoW3RbMF0sdFsxXV0pLnNldE5vcnRoRWFzdChbdFsyXSx0WzNdXSk6dGhpcy5zZXRTb3V0aFdlc3QodFswXSkuc2V0Tm9ydGhFYXN0KHRbMV0pKX07TWwucHJvdG90eXBlLnNldE5vcnRoRWFzdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbmU9dCBpbnN0YW5jZW9mIEFsP25ldyBBbCh0LmxuZyx0LmxhdCk6QWwuY29udmVydCh0KSx0aGlzfSxNbC5wcm90b3R5cGUuc2V0U291dGhXZXN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zdz10IGluc3RhbmNlb2YgQWw/bmV3IEFsKHQubG5nLHQubGF0KTpBbC5jb252ZXJ0KHQpLHRoaXN9LE1sLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPXRoaXMuX3N3LGE9dGhpcy5fbmU7aWYodCBpbnN0YW5jZW9mIEFsKWU9dCxyPXQ7ZWxzZXtpZighKHQgaW5zdGFuY2VvZiBNbCkpcmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5ldmVyeShBcnJheS5pc0FycmF5KT90aGlzLmV4dGVuZChNbC5jb252ZXJ0KHQpKTp0aGlzLmV4dGVuZChBbC5jb252ZXJ0KHQpKTp0aGlzO2lmKGU9dC5fc3cscj10Ll9uZSwhZXx8IXIpcmV0dXJuIHRoaXN9cmV0dXJuIG58fGE/KG4ubG5nPU1hdGgubWluKGUubG5nLG4ubG5nKSxuLmxhdD1NYXRoLm1pbihlLmxhdCxuLmxhdCksYS5sbmc9TWF0aC5tYXgoci5sbmcsYS5sbmcpLGEubGF0PU1hdGgubWF4KHIubGF0LGEubGF0KSk6KHRoaXMuX3N3PW5ldyBBbChlLmxuZyxlLmxhdCksdGhpcy5fbmU9bmV3IEFsKHIubG5nLHIubGF0KSksdGhpc30sTWwucHJvdG90eXBlLmdldENlbnRlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgQWwoKHRoaXMuX3N3LmxuZyt0aGlzLl9uZS5sbmcpLzIsKHRoaXMuX3N3LmxhdCt0aGlzLl9uZS5sYXQpLzIpfSxNbC5wcm90b3R5cGUuZ2V0U291dGhXZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N3fSxNbC5wcm90b3R5cGUuZ2V0Tm9ydGhFYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25lfSxNbC5wcm90b3R5cGUuZ2V0Tm9ydGhXZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCh0aGlzLmdldFdlc3QoKSx0aGlzLmdldE5vcnRoKCkpfSxNbC5wcm90b3R5cGUuZ2V0U291dGhFYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCh0aGlzLmdldEVhc3QoKSx0aGlzLmdldFNvdXRoKCkpfSxNbC5wcm90b3R5cGUuZ2V0V2VzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdy5sbmd9LE1sLnByb3RvdHlwZS5nZXRTb3V0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdy5sYXR9LE1sLnByb3RvdHlwZS5nZXRFYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25lLmxuZ30sTWwucHJvdG90eXBlLmdldE5vcnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25lLmxhdH0sTWwucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5fc3cudG9BcnJheSgpLHRoaXMuX25lLnRvQXJyYXkoKV19LE1sLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJMbmdMYXRCb3VuZHMoIit0aGlzLl9zdy50b1N0cmluZygpKyIsICIrdGhpcy5fbmUudG9TdHJpbmcoKSsiKSJ9LE1sLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLl9zdyYmdGhpcy5fbmUpfSxNbC5jb252ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiF0fHx0IGluc3RhbmNlb2YgTWw/dDpuZXcgTWwodCl9O3ZhciBBbD1mdW5jdGlvbih0LGUpe2lmKGlzTmFOKHQpfHxpc05hTihlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgTG5nTGF0IG9iamVjdDogKCIrdCsiLCAiK2UrIikiKTtpZih0aGlzLmxuZz0rdCx0aGlzLmxhdD0rZSx0aGlzLmxhdD45MHx8dGhpcy5sYXQ8LTkwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBMbmdMYXQgbGF0aXR1ZGUgdmFsdWU6IG11c3QgYmUgYmV0d2VlbiAtOTAgYW5kIDkwIil9O0FsLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCh1KHRoaXMubG5nLC0xODAsMTgwKSx0aGlzLmxhdCl9LEFsLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMubG5nLHRoaXMubGF0XX0sQWwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIkxuZ0xhdCgiK3RoaXMubG5nKyIsICIrdGhpcy5sYXQrIikifSxBbC5wcm90b3R5cGUudG9Cb3VuZHM9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9MCk7dmFyIGU9MzYwKnQvNDAwNzUwMTcscj1lL01hdGguY29zKE1hdGguUEkvMTgwKnRoaXMubGF0KTtyZXR1cm4gbmV3IE1sKG5ldyBBbCh0aGlzLmxuZy1yLHRoaXMubGF0LWUpLG5ldyBBbCh0aGlzLmxuZytyLHRoaXMubGF0K2UpKX0sQWwuY29udmVydD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgQWwpcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSYmKDI9PT10Lmxlbmd0aHx8Mz09PXQubGVuZ3RoKSlyZXR1cm4gbmV3IEFsKE51bWJlcih0WzBdKSxOdW1iZXIodFsxXSkpO2lmKCFBcnJheS5pc0FycmF5KHQpJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXJldHVybiBuZXcgQWwoTnVtYmVyKCJsbmciaW4gdD90LmxuZzp0LmxvbiksTnVtYmVyKHQubGF0KSk7dGhyb3cgbmV3IEVycm9yKCJgTG5nTGF0TGlrZWAgYXJndW1lbnQgbXVzdCBiZSBzcGVjaWZpZWQgYXMgYSBMbmdMYXQgaW5zdGFuY2UsIGFuIG9iamVjdCB7bG5nOiA8bG5nPiwgbGF0OiA8bGF0Pn0sIGFuIG9iamVjdCB7bG9uOiA8bG5nPiwgbGF0OiA8bGF0Pn0sIG9yIGFuIGFycmF5IG9mIFs8bG5nPiwgPGxhdD5dIil9O3ZhciBTbD0yKk1hdGguUEkqNjM3ODEzNztmdW5jdGlvbiBFbCh0KXtyZXR1cm4gU2wqTWF0aC5jb3ModCpNYXRoLlBJLzE4MCl9ZnVuY3Rpb24gTGwodCl7cmV0dXJuKDE4MCt0KS8zNjB9ZnVuY3Rpb24gQ2wodCl7cmV0dXJuKDE4MC0xODAvTWF0aC5QSSpNYXRoLmxvZyhNYXRoLnRhbihNYXRoLlBJLzQrdCpNYXRoLlBJLzM2MCkpKS8zNjB9ZnVuY3Rpb24gUGwodCxlKXtyZXR1cm4gdC9FbChlKX1mdW5jdGlvbiBPbCh0KXt2YXIgZT0xODAtMzYwKnQ7cmV0dXJuIDM2MC9NYXRoLlBJKk1hdGguYXRhbihNYXRoLmV4cChlKk1hdGguUEkvMTgwKSktOTB9dmFyIHpsPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1yJiYocj0wKSx0aGlzLng9K3QsdGhpcy55PStlLHRoaXMuej0rcn07emwuZnJvbUxuZ0xhdD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPTApO3ZhciByPUFsLmNvbnZlcnQodCk7cmV0dXJuIG5ldyB6bChMbChyLmxuZyksQ2woci5sYXQpLFBsKGUsci5sYXQpKX0semwucHJvdG90eXBlLnRvTG5nTGF0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCgzNjAqdGhpcy54LTE4MCxPbCh0aGlzLnkpKX0semwucHJvdG90eXBlLnRvQWx0aXR1ZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56KkVsKE9sKHRoaXMueSkpfSx6bC5wcm90b3R5cGUubWV0ZXJJbk1lcmNhdG9yQ29vcmRpbmF0ZVVuaXRzPWZ1bmN0aW9uKCl7cmV0dXJuIDEvU2wqKHQ9T2wodGhpcy55KSwxL01hdGguY29zKHQqTWF0aC5QSS8xODApKTt2YXIgdH07dmFyIElsPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLno9dCx0aGlzLng9ZSx0aGlzLnk9cix0aGlzLmtleT1GbCgwLHQsZSxyKX07SWwucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy56PT09dC56JiZ0aGlzLng9PT10LngmJnRoaXMueT09PXQueX0sSWwucHJvdG90eXBlLnVybD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpLG8scz0ocj10aGlzLngsbj10aGlzLnksYT10aGlzLnosaT1UbCgyNTYqciwyNTYqKG49TWF0aC5wb3coMixhKS1uLTEpLGEpLG89VGwoMjU2KihyKzEpLDI1NioobisxKSxhKSxpWzBdKyIsIitpWzFdKyIsIitvWzBdKyIsIitvWzFdKSxsPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4sYT0iIixpPXQ7aT4wO2ktLSlhKz0oZSYobj0xPDxpLTEpPzE6MCkrKHImbj8yOjApO3JldHVybiBhfSh0aGlzLnosdGhpcy54LHRoaXMueSk7cmV0dXJuIHRbKHRoaXMueCt0aGlzLnkpJXQubGVuZ3RoXS5yZXBsYWNlKCJ7cHJlZml4fSIsKHRoaXMueCUxNikudG9TdHJpbmcoMTYpKyh0aGlzLnklMTYpLnRvU3RyaW5nKDE2KSkucmVwbGFjZSgie3p9IixTdHJpbmcodGhpcy56KSkucmVwbGFjZSgie3h9IixTdHJpbmcodGhpcy54KSkucmVwbGFjZSgie3l9IixTdHJpbmcoInRtcyI9PT1lP01hdGgucG93KDIsdGhpcy56KS10aGlzLnktMTp0aGlzLnkpKS5yZXBsYWNlKCJ7cXVhZGtleX0iLGwpLnJlcGxhY2UoIntiYm94LWVwc2ctMzg1N30iLHMpfSxJbC5wcm90b3R5cGUuZ2V0VGlsZVBvaW50PWZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgucG93KDIsdGhpcy56KTtyZXR1cm4gbmV3IGEoKHQueCplLXRoaXMueCkqZWksKHQueSplLXRoaXMueSkqZWkpfTt2YXIgRGw9ZnVuY3Rpb24odCxlKXt0aGlzLndyYXA9dCx0aGlzLmNhbm9uaWNhbD1lLHRoaXMua2V5PUZsKHQsZS56LGUueCxlLnkpfSxSbD1mdW5jdGlvbih0LGUscixuLGEpe3RoaXMub3ZlcnNjYWxlZFo9dCx0aGlzLndyYXA9ZSx0aGlzLmNhbm9uaWNhbD1uZXcgSWwociwrbiwrYSksdGhpcy5rZXk9RmwoZSx0LG4sYSl9O2Z1bmN0aW9uIEZsKHQsZSxyLG4peyh0Kj0yKTwwJiYodD0tMSp0LTEpO3ZhciBhPTE8PGU7cmV0dXJuIDMyKihhKmEqdCthKm4rcikrZX1SbC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm92ZXJzY2FsZWRaPT09dC5vdmVyc2NhbGVkWiYmdGhpcy53cmFwPT09dC53cmFwJiZ0aGlzLmNhbm9uaWNhbC5lcXVhbHModC5jYW5vbmljYWwpfSxSbC5wcm90b3R5cGUuc2NhbGVkVG89ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jYW5vbmljYWwuei10O3JldHVybiB0PnRoaXMuY2Fub25pY2FsLno/bmV3IFJsKHQsdGhpcy53cmFwLHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KTpuZXcgUmwodCx0aGlzLndyYXAsdCx0aGlzLmNhbm9uaWNhbC54Pj5lLHRoaXMuY2Fub25pY2FsLnk+PmUpfSxSbC5wcm90b3R5cGUuaXNDaGlsZE9mPWZ1bmN0aW9uKHQpe2lmKHQud3JhcCE9PXRoaXMud3JhcClyZXR1cm4hMTt2YXIgZT10aGlzLmNhbm9uaWNhbC56LXQuY2Fub25pY2FsLno7cmV0dXJuIDA9PT10Lm92ZXJzY2FsZWRafHx0Lm92ZXJzY2FsZWRaPHRoaXMub3ZlcnNjYWxlZFomJnQuY2Fub25pY2FsLng9PT10aGlzLmNhbm9uaWNhbC54Pj5lJiZ0LmNhbm9uaWNhbC55PT09dGhpcy5jYW5vbmljYWwueT4+ZX0sUmwucHJvdG90eXBlLmNoaWxkcmVuPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3ZlcnNjYWxlZFo+PXQpcmV0dXJuW25ldyBSbCh0aGlzLm92ZXJzY2FsZWRaKzEsdGhpcy53cmFwLHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KV07dmFyIGU9dGhpcy5jYW5vbmljYWwueisxLHI9Mip0aGlzLmNhbm9uaWNhbC54LG49Mip0aGlzLmNhbm9uaWNhbC55O3JldHVybltuZXcgUmwoZSx0aGlzLndyYXAsZSxyLG4pLG5ldyBSbChlLHRoaXMud3JhcCxlLHIrMSxuKSxuZXcgUmwoZSx0aGlzLndyYXAsZSxyLG4rMSksbmV3IFJsKGUsdGhpcy53cmFwLGUscisxLG4rMSldfSxSbC5wcm90b3R5cGUuaXNMZXNzVGhhbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53cmFwPHQud3JhcHx8ISh0aGlzLndyYXA+dC53cmFwKSYmKHRoaXMub3ZlcnNjYWxlZFo8dC5vdmVyc2NhbGVkWnx8ISh0aGlzLm92ZXJzY2FsZWRaPnQub3ZlcnNjYWxlZFopJiYodGhpcy5jYW5vbmljYWwueDx0LmNhbm9uaWNhbC54fHwhKHRoaXMuY2Fub25pY2FsLng+dC5jYW5vbmljYWwueCkmJnRoaXMuY2Fub25pY2FsLnk8dC5jYW5vbmljYWwueSkpfSxSbC5wcm90b3R5cGUud3JhcHBlZD1mdW5jdGlvbigpe3JldHVybiBuZXcgUmwodGhpcy5vdmVyc2NhbGVkWiwwLHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KX0sUmwucHJvdG90eXBlLnVud3JhcFRvPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUmwodGhpcy5vdmVyc2NhbGVkWix0LHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KX0sUmwucHJvdG90eXBlLm92ZXJzY2FsZUZhY3Rvcj1mdW5jdGlvbigpe3JldHVybiBNYXRoLnBvdygyLHRoaXMub3ZlcnNjYWxlZFotdGhpcy5jYW5vbmljYWwueil9LFJsLnByb3RvdHlwZS50b1Vud3JhcHBlZD1mdW5jdGlvbigpe3JldHVybiBuZXcgRGwodGhpcy53cmFwLHRoaXMuY2Fub25pY2FsKX0sUmwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3ZlcnNjYWxlZForIi8iK3RoaXMuY2Fub25pY2FsLngrIi8iK3RoaXMuY2Fub25pY2FsLnl9LFJsLnByb3RvdHlwZS5nZXRUaWxlUG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2Fub25pY2FsLmdldFRpbGVQb2ludChuZXcgemwodC54LXRoaXMud3JhcCx0LnkpKX0sZG4oIkNhbm9uaWNhbFRpbGVJRCIsSWwpLGRuKCJPdmVyc2NhbGVkVGlsZUlEIixSbCx7b21pdDpbInBvc01hdHJpeCJdfSk7dmFyIEJsPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLnVpZD10LGUuaGVpZ2h0IT09ZS53aWR0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiREVNIHRpbGVzIG11c3QgYmUgc3F1YXJlIik7aWYociYmIm1hcGJveCIhPT1yJiYidGVycmFyaXVtIiE9PXIpcmV0dXJuIHcoJyInK3IrJyIgaXMgbm90IGEgdmFsaWQgZW5jb2RpbmcgdHlwZS4gVmFsaWQgdHlwZXMgaW5jbHVkZSAibWFwYm94IiBhbmQgInRlcnJhcml1bSIuJyk7dmFyIG49dGhpcy5kaW09ZS5oZWlnaHQ7dGhpcy5zdHJpZGU9dGhpcy5kaW0rMix0aGlzLmRhdGE9bmV3IEludDMyQXJyYXkodGhpcy5zdHJpZGUqdGhpcy5zdHJpZGUpO2Zvcih2YXIgYT1lLmRhdGEsaT0idGVycmFyaXVtIj09PXI/dGhpcy5fdW5wYWNrVGVycmFyaXVtOnRoaXMuX3VucGFja01hcGJveCxvPTA7bzxuO28rKylmb3IodmFyIHM9MDtzPG47cysrKXt2YXIgbD00KihvKm4rcyk7dGhpcy5zZXQocyxvLGkoYVtsXSxhW2wrMV0sYVtsKzJdKSl9Zm9yKHZhciBjPTA7YzxuO2MrKyl0aGlzLnNldCgtMSxjLHRoaXMuZ2V0KDAsYykpLHRoaXMuc2V0KG4sYyx0aGlzLmdldChuLTEsYykpLHRoaXMuc2V0KGMsLTEsdGhpcy5nZXQoYywwKSksdGhpcy5zZXQoYyxuLHRoaXMuZ2V0KGMsbi0xKSk7dGhpcy5zZXQoLTEsLTEsdGhpcy5nZXQoMCwwKSksdGhpcy5zZXQobiwtMSx0aGlzLmdldChuLTEsMCkpLHRoaXMuc2V0KC0xLG4sdGhpcy5nZXQoMCxuLTEpKSx0aGlzLnNldChuLG4sdGhpcy5nZXQobi0xLG4tMSkpfTtCbC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmRhdGFbdGhpcy5faWR4KHQsZSldPXIrNjU1MzZ9LEJsLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5kYXRhW3RoaXMuX2lkeCh0LGUpXS02NTUzNn0sQmwucHJvdG90eXBlLl9pZHg9ZnVuY3Rpb24odCxlKXtpZih0PC0xfHx0Pj10aGlzLmRpbSsxfHxlPC0xfHxlPj10aGlzLmRpbSsxKXRocm93IG5ldyBSYW5nZUVycm9yKCJvdXQgb2YgcmFuZ2Ugc291cmNlIGNvb3JkaW5hdGVzIGZvciBERU0gZGF0YSIpO3JldHVybihlKzEpKnRoaXMuc3RyaWRlKyh0KzEpfSxCbC5wcm90b3R5cGUuX3VucGFja01hcGJveD1mdW5jdGlvbih0LGUscil7cmV0dXJuKDI1Nip0KjI1NisyNTYqZStyKS8xMC0xZTR9LEJsLnByb3RvdHlwZS5fdW5wYWNrVGVycmFyaXVtPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gMjU2KnQrZStyLzI1Ni0zMjc2OH0sQmwucHJvdG90eXBlLmdldFBpeGVscz1mdW5jdGlvbigpe3JldHVybiBuZXcgT2koe3dpZHRoOnRoaXMuc3RyaWRlLGhlaWdodDp0aGlzLnN0cmlkZX0sbmV3IFVpbnQ4QXJyYXkodGhpcy5kYXRhLmJ1ZmZlcikpfSxCbC5wcm90b3R5cGUuYmFja2ZpbGxCb3JkZXI9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuZGltIT09dC5kaW0pdGhyb3cgbmV3IEVycm9yKCJkZW0gZGltZW5zaW9uIG1pc21hdGNoIik7dmFyIG49ZSp0aGlzLmRpbSxhPWUqdGhpcy5kaW0rdGhpcy5kaW0saT1yKnRoaXMuZGltLG89cip0aGlzLmRpbSt0aGlzLmRpbTtzd2l0Y2goZSl7Y2FzZS0xOm49YS0xO2JyZWFrO2Nhc2UgMTphPW4rMX1zd2l0Y2gocil7Y2FzZS0xOmk9by0xO2JyZWFrO2Nhc2UgMTpvPWkrMX1mb3IodmFyIHM9LWUqdGhpcy5kaW0sbD0tcip0aGlzLmRpbSxjPWk7YzxvO2MrKylmb3IodmFyIHU9bjt1PGE7dSsrKXRoaXMuc2V0KHUsYyx0LmdldCh1K3MsYytsKSl9LGRuKCJERU1EYXRhIixCbCk7dmFyIE5sPUpuKFt7bmFtZToiYV9wb3MiLHR5cGU6IkludDE2Iixjb21wb25lbnRzOjJ9LHtuYW1lOiJhX3RleHR1cmVfcG9zIix0eXBlOiJJbnQxNiIsY29tcG9uZW50czoyfV0pLGpsPWZ1bmN0aW9uKHQpe3RoaXMuX3N0cmluZ1RvTnVtYmVyPXt9LHRoaXMuX251bWJlclRvU3RyaW5nPVtdO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO3RoaXMuX3N0cmluZ1RvTnVtYmVyW3JdPWUsdGhpcy5fbnVtYmVyVG9TdHJpbmdbZV09cn19O2psLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3N0cmluZ1RvTnVtYmVyW3RdfSxqbC5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9udW1iZXJUb1N0cmluZ1t0XX07dmFyIFZsPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMudHlwZT0iRmVhdHVyZSIsdGhpcy5fdmVjdG9yVGlsZUZlYXR1cmU9dCx0Ll96PWUsdC5feD1yLHQuX3k9bix0aGlzLnByb3BlcnRpZXM9dC5wcm9wZXJ0aWVzLG51bGwhPXQuaWQmJih0aGlzLmlkPXQuaWQpfSxVbD17Z2VvbWV0cnk6e2NvbmZpZ3VyYWJsZTohMH19O1VsLmdlb21ldHJ5LmdldD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzLl9nZW9tZXRyeSYmKHRoaXMuX2dlb21ldHJ5PXRoaXMuX3ZlY3RvclRpbGVGZWF0dXJlLnRvR2VvSlNPTih0aGlzLl92ZWN0b3JUaWxlRmVhdHVyZS5feCx0aGlzLl92ZWN0b3JUaWxlRmVhdHVyZS5feSx0aGlzLl92ZWN0b3JUaWxlRmVhdHVyZS5feikuZ2VvbWV0cnkpLHRoaXMuX2dlb21ldHJ5fSxVbC5nZW9tZXRyeS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fZ2VvbWV0cnk9dH0sVmwucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3ZhciB0PXtnZW9tZXRyeTp0aGlzLmdlb21ldHJ5fTtmb3IodmFyIGUgaW4gdGhpcykiX2dlb21ldHJ5IiE9PWUmJiJfdmVjdG9yVGlsZUZlYXR1cmUiIT09ZSYmKHRbZV09dGhpc1tlXSk7cmV0dXJuIHR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFZsLnByb3RvdHlwZSxVbCk7dmFyIHFsPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZT17fSx0aGlzLnN0YXRlQ2hhbmdlcz17fSx0aGlzLmRlbGV0ZWRTdGF0ZXM9e319O3FsLnByb3RvdHlwZS51cGRhdGVTdGF0ZT1mdW5jdGlvbih0LGUscil7dmFyIG49U3RyaW5nKGUpO2lmKHRoaXMuc3RhdGVDaGFuZ2VzW3RdPXRoaXMuc3RhdGVDaGFuZ2VzW3RdfHx7fSx0aGlzLnN0YXRlQ2hhbmdlc1t0XVtuXT10aGlzLnN0YXRlQ2hhbmdlc1t0XVtuXXx8e30saCh0aGlzLnN0YXRlQ2hhbmdlc1t0XVtuXSxyKSxudWxsPT09dGhpcy5kZWxldGVkU3RhdGVzW3RdKWZvcih2YXIgYSBpbiB0aGlzLmRlbGV0ZWRTdGF0ZXNbdF09e30sdGhpcy5zdGF0ZVt0XSlhIT09biYmKHRoaXMuZGVsZXRlZFN0YXRlc1t0XVthXT1udWxsKTtlbHNlIGlmKHRoaXMuZGVsZXRlZFN0YXRlc1t0XSYmbnVsbD09PXRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXSlmb3IodmFyIGkgaW4gdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPXt9LHRoaXMuc3RhdGVbdF1bbl0pcltpXXx8KHRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXVtpXT1udWxsKTtlbHNlIGZvcih2YXIgbyBpbiByKXRoaXMuZGVsZXRlZFN0YXRlc1t0XSYmdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dJiZudWxsPT09dGhpcy5kZWxldGVkU3RhdGVzW3RdW25dW29dJiZkZWxldGUgdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dW29dfSxxbC5wcm90b3R5cGUucmVtb3ZlRmVhdHVyZVN0YXRlPWZ1bmN0aW9uKHQsZSxyKXtpZihudWxsIT09dGhpcy5kZWxldGVkU3RhdGVzW3RdKXt2YXIgbj1TdHJpbmcoZSk7aWYodGhpcy5kZWxldGVkU3RhdGVzW3RdPXRoaXMuZGVsZXRlZFN0YXRlc1t0XXx8e30sciYmdm9pZCAwIT09ZSYmZT49MCludWxsIT09dGhpcy5kZWxldGVkU3RhdGVzW3RdW25dJiYodGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPXRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXXx8e30sdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dW3JdPW51bGwpO2Vsc2UgaWYodm9pZCAwIT09ZSYmZT49MClpZih0aGlzLnN0YXRlQ2hhbmdlc1t0XSYmdGhpcy5zdGF0ZUNoYW5nZXNbdF1bbl0pZm9yKHIgaW4gdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPXt9LHRoaXMuc3RhdGVDaGFuZ2VzW3RdW25dKXRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXVtyXT1udWxsO2Vsc2UgdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPW51bGw7ZWxzZSB0aGlzLmRlbGV0ZWRTdGF0ZXNbdF09bnVsbH19LHFsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciByPVN0cmluZyhlKSxuPXRoaXMuc3RhdGVbdF18fHt9LGE9dGhpcy5zdGF0ZUNoYW5nZXNbdF18fHt9LGk9aCh7fSxuW3JdLGFbcl0pO2lmKG51bGw9PT10aGlzLmRlbGV0ZWRTdGF0ZXNbdF0pcmV0dXJue307aWYodGhpcy5kZWxldGVkU3RhdGVzW3RdKXt2YXIgbz10aGlzLmRlbGV0ZWRTdGF0ZXNbdF1bZV07aWYobnVsbD09PW8pcmV0dXJue307Zm9yKHZhciBzIGluIG8pZGVsZXRlIGlbc119cmV0dXJuIGl9LHFsLnByb3RvdHlwZS5pbml0aWFsaXplVGlsZVN0YXRlPWZ1bmN0aW9uKHQsZSl7dC5zZXRGZWF0dXJlU3RhdGUodGhpcy5zdGF0ZSxlKX0scWwucHJvdG90eXBlLmNvYWxlc2NlQ2hhbmdlcz1mdW5jdGlvbih0LGUpe3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0aGlzLnN0YXRlQ2hhbmdlcyl7dGhpcy5zdGF0ZVtuXT10aGlzLnN0YXRlW25dfHx7fTt2YXIgYT17fTtmb3IodmFyIGkgaW4gdGhpcy5zdGF0ZUNoYW5nZXNbbl0pdGhpcy5zdGF0ZVtuXVtpXXx8KHRoaXMuc3RhdGVbbl1baV09e30pLGgodGhpcy5zdGF0ZVtuXVtpXSx0aGlzLnN0YXRlQ2hhbmdlc1tuXVtpXSksYVtpXT10aGlzLnN0YXRlW25dW2ldO3Jbbl09YX1mb3IodmFyIG8gaW4gdGhpcy5kZWxldGVkU3RhdGVzKXt0aGlzLnN0YXRlW29dPXRoaXMuc3RhdGVbb118fHt9O3ZhciBzPXt9O2lmKG51bGw9PT10aGlzLmRlbGV0ZWRTdGF0ZXNbb10pZm9yKHZhciBsIGluIHRoaXMuc3RhdGVbb10pc1tsXT17fSx0aGlzLnN0YXRlW29dW2xdPXt9O2Vsc2UgZm9yKHZhciBjIGluIHRoaXMuZGVsZXRlZFN0YXRlc1tvXSl7aWYobnVsbD09PXRoaXMuZGVsZXRlZFN0YXRlc1tvXVtjXSl0aGlzLnN0YXRlW29dW2NdPXt9O2Vsc2UgZm9yKHZhciB1PTAsZj1PYmplY3Qua2V5cyh0aGlzLmRlbGV0ZWRTdGF0ZXNbb11bY10pO3U8Zi5sZW5ndGg7dSs9MSl7dmFyIHA9Zlt1XTtkZWxldGUgdGhpcy5zdGF0ZVtvXVtjXVtwXX1zW2NdPXRoaXMuc3RhdGVbb11bY119cltvXT1yW29dfHx7fSxoKHJbb10scyl9aWYodGhpcy5zdGF0ZUNoYW5nZXM9e30sdGhpcy5kZWxldGVkU3RhdGVzPXt9LDAhPT1PYmplY3Qua2V5cyhyKS5sZW5ndGgpZm9yKHZhciBkIGluIHQpdFtkXS5zZXRGZWF0dXJlU3RhdGUocixlKX07dmFyIEhsPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnRpbGVJRD10LHRoaXMueD10LmNhbm9uaWNhbC54LHRoaXMueT10LmNhbm9uaWNhbC55LHRoaXMuej10LmNhbm9uaWNhbC56LHRoaXMuZ3JpZD1lfHxuZXcgY24oZWksMTYsMCksdGhpcy5ncmlkM0Q9bmV3IGNuKGVpLDE2LDApLHRoaXMuZmVhdHVyZUluZGV4QXJyYXk9cnx8bmV3IENhfTtmdW5jdGlvbiBHbCh0KXtmb3IodmFyIGU9MS8wLHI9MS8wLG49LTEvMCxhPS0xLzAsaT0wLG89dDtpPG8ubGVuZ3RoO2krPTEpe3ZhciBzPW9baV07ZT1NYXRoLm1pbihlLHMueCkscj1NYXRoLm1pbihyLHMueSksbj1NYXRoLm1heChuLHMueCksYT1NYXRoLm1heChhLHMueSl9cmV0dXJue21pblg6ZSxtaW5ZOnIsbWF4WDpuLG1heFk6YX19ZnVuY3Rpb24gWWwodCxlKXtyZXR1cm4gZS10fUhsLnByb3RvdHlwZS5pbnNlcnQ9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXRoaXMuZmVhdHVyZUluZGV4QXJyYXkubGVuZ3RoO3RoaXMuZmVhdHVyZUluZGV4QXJyYXkuZW1wbGFjZUJhY2socixuLGEpO2Zvcih2YXIgcz1pP3RoaXMuZ3JpZDNEOnRoaXMuZ3JpZCxsPTA7bDxlLmxlbmd0aDtsKyspe2Zvcih2YXIgYz1lW2xdLHU9WzEvMCwxLzAsLTEvMCwtMS8wXSxoPTA7aDxjLmxlbmd0aDtoKyspe3ZhciBmPWNbaF07dVswXT1NYXRoLm1pbih1WzBdLGYueCksdVsxXT1NYXRoLm1pbih1WzFdLGYueSksdVsyXT1NYXRoLm1heCh1WzJdLGYueCksdVszXT1NYXRoLm1heCh1WzNdLGYueSl9dVswXTxlaSYmdVsxXTxlaSYmdVsyXT49MCYmdVszXT49MCYmcy5pbnNlcnQobyx1WzBdLHVbMV0sdVsyXSx1WzNdKX19LEhsLnByb3RvdHlwZS5sb2FkVlRMYXllcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52dExheWVyc3x8KHRoaXMudnRMYXllcnM9bmV3IElvLlZlY3RvclRpbGUobmV3IHRsKHRoaXMucmF3VGlsZURhdGEpKS5sYXllcnMsdGhpcy5zb3VyY2VMYXllckNvZGVyPW5ldyBqbCh0aGlzLnZ0TGF5ZXJzP09iamVjdC5rZXlzKHRoaXMudnRMYXllcnMpLnNvcnQoKTpbIl9nZW9qc29uVGlsZUxheWVyIl0pKSx0aGlzLnZ0TGF5ZXJzfSxIbC5wcm90b3R5cGUucXVlcnk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXM7dGhpcy5sb2FkVlRMYXllcnMoKTtmb3IodmFyIGk9dC5wYXJhbXN8fHt9LG89ZWkvdC50aWxlU2l6ZS90LnNjYWxlLHM9UnIoaS5maWx0ZXIpLGw9dC5xdWVyeUdlb21ldHJ5LGM9dC5xdWVyeVBhZGRpbmcqbyx1PUdsKGwpLGg9dGhpcy5ncmlkLnF1ZXJ5KHUubWluWC1jLHUubWluWS1jLHUubWF4WCtjLHUubWF4WStjKSxmPUdsKHQuY2FtZXJhUXVlcnlHZW9tZXRyeSkscD0wLGQ9dGhpcy5ncmlkM0QucXVlcnkoZi5taW5YLWMsZi5taW5ZLWMsZi5tYXhYK2MsZi5tYXhZK2MsZnVuY3Rpb24oZSxyLG4saSl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPTAscz10O288cy5sZW5ndGg7bys9MSl7dmFyIGw9c1tvXTtpZihlPD1sLngmJnI8PWwueSYmbj49bC54JiZpPj1sLnkpcmV0dXJuITB9dmFyIGM9W25ldyBhKGUsciksbmV3IGEoZSxpKSxuZXcgYShuLGkpLG5ldyBhKG4scildO2lmKHQubGVuZ3RoPjIpZm9yKHZhciB1PTAsaD1jO3U8aC5sZW5ndGg7dSs9MSlpZihnaSh0LGhbdV0pKXJldHVybiEwO2Zvcih2YXIgZj0wO2Y8dC5sZW5ndGgtMTtmKyspaWYodmkodFtmXSx0W2YrMV0sYykpcmV0dXJuITA7cmV0dXJuITF9KHQuY2FtZXJhUXVlcnlHZW9tZXRyeSxlLWMsci1jLG4rYyxpK2MpfSk7cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdO2gucHVzaChnKX1oLnNvcnQoWWwpO2Zvcih2YXIgdixtPXt9LHk9ZnVuY3Rpb24oYSl7dmFyIGM9aFthXTtpZihjIT09dil7dj1jO3ZhciB1PW4uZmVhdHVyZUluZGV4QXJyYXkuZ2V0KGMpLGY9bnVsbDtuLmxvYWRNYXRjaGluZ0ZlYXR1cmUobSx1LmJ1Y2tldEluZGV4LHUuc291cmNlTGF5ZXJJbmRleCx1LmZlYXR1cmVJbmRleCxzLGkubGF5ZXJzLGUsZnVuY3Rpb24oZSxhKXtmfHwoZj1uaShlKSk7dmFyIGk9e307cmV0dXJuIGUuaWQmJihpPXIuZ2V0U3RhdGUoYS5zb3VyY2VMYXllcnx8Il9nZW9qc29uVGlsZUxheWVyIixlLmlkKSksYS5xdWVyeUludGVyc2VjdHNGZWF0dXJlKGwsZSxpLGYsbi56LHQudHJhbnNmb3JtLG8sdC5waXhlbFBvc01hdHJpeCl9KX19LHg9MDt4PGgubGVuZ3RoO3grKyl5KHgpO3JldHVybiBtfSxIbC5wcm90b3R5cGUubG9hZE1hdGNoaW5nRmVhdHVyZT1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPXRoaXMuYnVja2V0TGF5ZXJJRHNbZV07aWYoIWl8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYoZS5pbmRleE9mKHRbcl0pPj0wKXJldHVybiEwO3JldHVybiExfShpLGwpKXt2YXIgYz10aGlzLnNvdXJjZUxheWVyQ29kZXIuZGVjb2RlKHIpLHU9dGhpcy52dExheWVyc1tjXS5mZWF0dXJlKG4pO2lmKGEobmV3IFBuKHRoaXMudGlsZUlELm92ZXJzY2FsZWRaKSx1KSlmb3IodmFyIGg9MDtoPGwubGVuZ3RoO2grKyl7dmFyIGY9bFtoXTtpZighKGkmJmkuaW5kZXhPZihmKTwwKSl7dmFyIHA9b1tmXTtpZihwKXt2YXIgZD0hc3x8cyh1LHApO2lmKGQpe3ZhciBnPW5ldyBWbCh1LHRoaXMueix0aGlzLngsdGhpcy55KTtnLmxheWVyPXAuc2VyaWFsaXplKCk7dmFyIHY9dFtmXTt2b2lkIDA9PT12JiYodj10W2ZdPVtdKSx2LnB1c2goe2ZlYXR1cmVJbmRleDpuLGZlYXR1cmU6ZyxpbnRlcnNlY3Rpb25aOmR9KX19fX19fSxIbC5wcm90b3R5cGUubG9va3VwU3ltYm9sRmVhdHVyZXM9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXt9O3RoaXMubG9hZFZUTGF5ZXJzKCk7Zm9yKHZhciBzPVJyKG4pLGw9MCxjPXQ7bDxjLmxlbmd0aDtsKz0xKXt2YXIgdT1jW2xdO3RoaXMubG9hZE1hdGNoaW5nRmVhdHVyZShvLGUscix1LHMsYSxpKX1yZXR1cm4gb30sSGwucHJvdG90eXBlLmhhc0xheWVyPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dGhpcy5idWNrZXRMYXllcklEcztlPHIubGVuZ3RoO2UrPTEpZm9yKHZhciBuPTAsYT1yW2VdO248YS5sZW5ndGg7bis9MSlpZih0PT09YVtuXSlyZXR1cm4hMDtyZXR1cm4hMX0sZG4oIkZlYXR1cmVJbmRleCIsSGwse29taXQ6WyJyYXdUaWxlRGF0YSIsInNvdXJjZUxheWVyQ29kZXIiXX0pO3ZhciBXbD1mdW5jdGlvbih0LGUpe3RoaXMudGlsZUlEPXQsdGhpcy51aWQ9cCgpLHRoaXMudXNlcz0wLHRoaXMudGlsZVNpemU9ZSx0aGlzLmJ1Y2tldHM9e30sdGhpcy5leHBpcmF0aW9uVGltZT1udWxsLHRoaXMucXVlcnlQYWRkaW5nPTAsdGhpcy5oYXNTeW1ib2xCdWNrZXRzPSExLHRoaXMuZXhwaXJlZFJlcXVlc3RDb3VudD0wLHRoaXMuc3RhdGU9ImxvYWRpbmcifTtmdW5jdGlvbiBYbCh0LGUscixuLGEpe2lmKHZvaWQgMD09PWUuc2VnbWVudClyZXR1cm4hMDtmb3IodmFyIGk9ZSxvPWUuc2VnbWVudCsxLHM9MDtzPi1yLzI7KXtpZigtLW88MClyZXR1cm4hMTtzLT10W29dLmRpc3QoaSksaT10W29dfXMrPXRbb10uZGlzdCh0W28rMV0pLG8rKztmb3IodmFyIGw9W10sYz0wO3M8ci8yOyl7dmFyIHU9dFtvLTFdLGg9dFtvXSxmPXRbbysxXTtpZighZilyZXR1cm4hMTt2YXIgcD11LmFuZ2xlVG8oaCktaC5hbmdsZVRvKGYpO2ZvcihwPU1hdGguYWJzKChwKzMqTWF0aC5QSSklKDIqTWF0aC5QSSktTWF0aC5QSSksbC5wdXNoKHtkaXN0YW5jZTpzLGFuZ2xlRGVsdGE6cH0pLGMrPXA7cy1sWzBdLmRpc3RhbmNlPm47KWMtPWwuc2hpZnQoKS5hbmdsZURlbHRhO2lmKGM+YSlyZXR1cm4hMTtvKysscys9aC5kaXN0KGYpfXJldHVybiEwfWZ1bmN0aW9uIFpsKHQpe2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoLTE7cisrKWUrPXRbcl0uZGlzdCh0W3IrMV0pO3JldHVybiBlfWZ1bmN0aW9uIEpsKHQsZSxyKXtyZXR1cm4gdD8uNiplKnI6MH1mdW5jdGlvbiBLbCh0LGUpe3JldHVybiBNYXRoLm1heCh0P3QucmlnaHQtdC5sZWZ0OjAsZT9lLnJpZ2h0LWUubGVmdDowKX1mdW5jdGlvbiBRbCh0LGUscixuLGEsaSl7Zm9yKHZhciBvPUpsKHIsYSxpKSxzPUtsKHIsbikqaSxsPTAsYz1abCh0KS8yLHU9MDt1PHQubGVuZ3RoLTE7dSsrKXt2YXIgaD10W3VdLGY9dFt1KzFdLHA9aC5kaXN0KGYpO2lmKGwrcD5jKXt2YXIgZD0oYy1sKS9wLGc9eWUoaC54LGYueCxkKSx2PXllKGgueSxmLnksZCksbT1uZXcgYnMoZyx2LGYuYW5nbGVUbyhoKSx1KTtyZXR1cm4gbS5fcm91bmQoKSwhb3x8WGwodCxtLHMsbyxlKT9tOnZvaWQgMH1sKz1wfX1mdW5jdGlvbiAkbCh0LGUscixuLGEsaSxvLHMsbCl7dmFyIGM9SmwobixpLG8pLHU9S2wobixhKSxoPXUqbyxmPTA9PT10WzBdLnh8fHRbMF0ueD09PWx8fDA9PT10WzBdLnl8fHRbMF0ueT09PWw7cmV0dXJuIGUtaDxlLzQmJihlPWgrZS80KSxmdW5jdGlvbiB0KGUscixuLGEsaSxvLHMsbCxjKXtmb3IodmFyIHU9by8yLGg9WmwoZSksZj0wLHA9ci1uLGQ9W10sZz0wO2c8ZS5sZW5ndGgtMTtnKyspe2Zvcih2YXIgdj1lW2ddLG09ZVtnKzFdLHk9di5kaXN0KG0pLHg9bS5hbmdsZVRvKHYpO3ArbjxmK3k7KXt2YXIgYj0oKHArPW4pLWYpL3ksXz15ZSh2LngsbS54LGIpLHc9eWUodi55LG0ueSxiKTtpZihfPj0wJiZfPGMmJnc+PTAmJnc8YyYmcC11Pj0wJiZwK3U8PWgpe3ZhciBrPW5ldyBicyhfLHcseCxnKTtrLl9yb3VuZCgpLGEmJiFYbChlLGssbyxhLGkpfHxkLnB1c2goayl9fWYrPXl9cmV0dXJuIGx8fGQubGVuZ3RofHxzfHwoZD10KGUsZi8yLG4sYSxpLG8scywhMCxjKSksZH0odCxmP2UvMipzJWU6KHUvMisyKmkpKm8qcyVlLGUsYyxyLGgsZiwhMSxsKX1XbC5wcm90b3R5cGUucmVnaXN0ZXJGYWRlRHVyYXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dCt0aGlzLnRpbWVBZGRlZDtlPEkubm93KCl8fHRoaXMuZmFkZUVuZFRpbWUmJmU8dGhpcy5mYWRlRW5kVGltZXx8KHRoaXMuZmFkZUVuZFRpbWU9ZSl9LFdsLnByb3RvdHlwZS53YXNSZXF1ZXN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4iZXJyb3JlZCI9PT10aGlzLnN0YXRlfHwibG9hZGVkIj09PXRoaXMuc3RhdGV8fCJyZWxvYWRpbmciPT09dGhpcy5zdGF0ZX0sV2wucHJvdG90eXBlLmxvYWRWZWN0b3JEYXRhPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLmhhc0RhdGEoKSYmdGhpcy51bmxvYWRWZWN0b3JEYXRhKCksdGhpcy5zdGF0ZT0ibG9hZGVkIix0KXtmb3IodmFyIG4gaW4gdC5mZWF0dXJlSW5kZXgmJih0aGlzLmxhdGVzdEZlYXR1cmVJbmRleD10LmZlYXR1cmVJbmRleCx0LnJhd1RpbGVEYXRhPyh0aGlzLmxhdGVzdFJhd1RpbGVEYXRhPXQucmF3VGlsZURhdGEsdGhpcy5sYXRlc3RGZWF0dXJlSW5kZXgucmF3VGlsZURhdGE9dC5yYXdUaWxlRGF0YSk6dGhpcy5sYXRlc3RSYXdUaWxlRGF0YSYmKHRoaXMubGF0ZXN0RmVhdHVyZUluZGV4LnJhd1RpbGVEYXRhPXRoaXMubGF0ZXN0UmF3VGlsZURhdGEpKSx0aGlzLmNvbGxpc2lvbkJveEFycmF5PXQuY29sbGlzaW9uQm94QXJyYXksdGhpcy5idWNrZXRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9e307aWYoIWUpcmV0dXJuIHI7Zm9yKHZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9aVthXSxuPXQubGF5ZXJJZHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlLmdldExheWVyKHQpfSkuZmlsdGVyKEJvb2xlYW4pO2lmKDAhPT1uLmxlbmd0aCl7dC5sYXllcnM9bix0LnN0YXRlRGVwZW5kZW50TGF5ZXJJZHMmJih0LnN0YXRlRGVwZW5kZW50TGF5ZXJzPXQuc3RhdGVEZXBlbmRlbnRMYXllcklkcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIG4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09dH0pWzBdfSkpO2Zvcih2YXIgbz0wLHM9bjtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb107cltsLmlkXT10fX19LGE9MCxpPXQ7YTxpLmxlbmd0aDthKz0xKW4oKTtyZXR1cm4gcn0odC5idWNrZXRzLGUuc3R5bGUpLHRoaXMuaGFzU3ltYm9sQnVja2V0cz0hMSx0aGlzLmJ1Y2tldHMpe3ZhciBhPXRoaXMuYnVja2V0c1tuXTtpZihhIGluc3RhbmNlb2YgT3Mpe2lmKHRoaXMuaGFzU3ltYm9sQnVja2V0cz0hMCwhcilicmVhazthLmp1c3RSZWxvYWRlZD0hMH19Zm9yKHZhciBpIGluIHRoaXMucXVlcnlQYWRkaW5nPTAsdGhpcy5idWNrZXRzKXt2YXIgbz10aGlzLmJ1Y2tldHNbaV07dGhpcy5xdWVyeVBhZGRpbmc9TWF0aC5tYXgodGhpcy5xdWVyeVBhZGRpbmcsZS5zdHlsZS5nZXRMYXllcihpKS5xdWVyeVJhZGl1cyhvKSl9dC5pbWFnZUF0bGFzJiYodGhpcy5pbWFnZUF0bGFzPXQuaW1hZ2VBdGxhcyksdC5nbHlwaEF0bGFzSW1hZ2UmJih0aGlzLmdseXBoQXRsYXNJbWFnZT10LmdseXBoQXRsYXNJbWFnZSl9ZWxzZSB0aGlzLmNvbGxpc2lvbkJveEFycmF5PW5ldyBiYX0sV2wucHJvdG90eXBlLnVubG9hZFZlY3RvckRhdGE9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5idWNrZXRzKXRoaXMuYnVja2V0c1t0XS5kZXN0cm95KCk7dGhpcy5idWNrZXRzPXt9LHRoaXMuaW1hZ2VBdGxhc1RleHR1cmUmJnRoaXMuaW1hZ2VBdGxhc1RleHR1cmUuZGVzdHJveSgpLHRoaXMuaW1hZ2VBdGxhcyYmKHRoaXMuaW1hZ2VBdGxhcz1udWxsKSx0aGlzLmdseXBoQXRsYXNUZXh0dXJlJiZ0aGlzLmdseXBoQXRsYXNUZXh0dXJlLmRlc3Ryb3koKSx0aGlzLmxhdGVzdEZlYXR1cmVJbmRleD1udWxsLHRoaXMuc3RhdGU9InVubG9hZGVkIn0sV2wucHJvdG90eXBlLnVubG9hZERFTURhdGE9ZnVuY3Rpb24oKXt0aGlzLmRlbT1udWxsLHRoaXMubmVpZ2hib3JpbmdUaWxlcz1udWxsLHRoaXMuc3RhdGU9InVubG9hZGVkIn0sV2wucHJvdG90eXBlLmdldEJ1Y2tldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5idWNrZXRzW3QuaWRdfSxXbC5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLmJ1Y2tldHMpe3ZhciByPXRoaXMuYnVja2V0c1tlXTtyLnVwbG9hZFBlbmRpbmcoKSYmci51cGxvYWQodCl9dmFyIG49dC5nbDt0aGlzLmltYWdlQXRsYXMmJiF0aGlzLmltYWdlQXRsYXMudXBsb2FkZWQmJih0aGlzLmltYWdlQXRsYXNUZXh0dXJlPW5ldyBLcyh0LHRoaXMuaW1hZ2VBdGxhcy5pbWFnZSxuLlJHQkEpLHRoaXMuaW1hZ2VBdGxhcy51cGxvYWRlZD0hMCksdGhpcy5nbHlwaEF0bGFzSW1hZ2UmJih0aGlzLmdseXBoQXRsYXNUZXh0dXJlPW5ldyBLcyh0LHRoaXMuZ2x5cGhBdGxhc0ltYWdlLG4uQUxQSEEpLHRoaXMuZ2x5cGhBdGxhc0ltYWdlPW51bGwpfSxXbC5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbih0KXt0aGlzLmltYWdlQXRsYXMmJnRoaXMuaW1hZ2VBdGxhcy5wYXRjaFVwZGF0ZWRJbWFnZXModCx0aGlzLmltYWdlQXRsYXNUZXh0dXJlKX0sV2wucHJvdG90eXBlLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMsbCl7cmV0dXJuIHRoaXMubGF0ZXN0RmVhdHVyZUluZGV4JiZ0aGlzLmxhdGVzdEZlYXR1cmVJbmRleC5yYXdUaWxlRGF0YT90aGlzLmxhdGVzdEZlYXR1cmVJbmRleC5xdWVyeSh7cXVlcnlHZW9tZXRyeTpyLGNhbWVyYVF1ZXJ5R2VvbWV0cnk6bixzY2FsZTphLHRpbGVTaXplOnRoaXMudGlsZVNpemUscGl4ZWxQb3NNYXRyaXg6bCx0cmFuc2Zvcm06byxwYXJhbXM6aSxxdWVyeVBhZGRpbmc6dGhpcy5xdWVyeVBhZGRpbmcqc30sdCxlKTp7fX0sV2wucHJvdG90eXBlLnF1ZXJ5U291cmNlRmVhdHVyZXM9ZnVuY3Rpb24odCxlKXtpZih0aGlzLmxhdGVzdEZlYXR1cmVJbmRleCYmdGhpcy5sYXRlc3RGZWF0dXJlSW5kZXgucmF3VGlsZURhdGEpe3ZhciByPXRoaXMubGF0ZXN0RmVhdHVyZUluZGV4LmxvYWRWVExheWVycygpLG49ZT9lLnNvdXJjZUxheWVyOiIiLGE9ci5fZ2VvanNvblRpbGVMYXllcnx8cltuXTtpZihhKWZvcih2YXIgaT1ScihlJiZlLmZpbHRlciksbz10aGlzLnRpbGVJRC5jYW5vbmljYWwscz1vLnosbD1vLngsYz1vLnksdT17ejpzLHg6bCx5OmN9LGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGY9YS5mZWF0dXJlKGgpO2lmKGkobmV3IFBuKHRoaXMudGlsZUlELm92ZXJzY2FsZWRaKSxmKSl7dmFyIHA9bmV3IFZsKGYscyxsLGMpO3AudGlsZT11LHQucHVzaChwKX19fX0sV2wucHJvdG90eXBlLmNsZWFyTWFzaz1mdW5jdGlvbigpe3RoaXMuc2VnbWVudHMmJih0aGlzLnNlZ21lbnRzLmRlc3Ryb3koKSxkZWxldGUgdGhpcy5zZWdtZW50cyksdGhpcy5tYXNrZWRCb3VuZHNCdWZmZXImJih0aGlzLm1hc2tlZEJvdW5kc0J1ZmZlci5kZXN0cm95KCksZGVsZXRlIHRoaXMubWFza2VkQm91bmRzQnVmZmVyKSx0aGlzLm1hc2tlZEluZGV4QnVmZmVyJiYodGhpcy5tYXNrZWRJbmRleEJ1ZmZlci5kZXN0cm95KCksZGVsZXRlIHRoaXMubWFza2VkSW5kZXhCdWZmZXIpfSxXbC5wcm90b3R5cGUuc2V0TWFzaz1mdW5jdGlvbih0LGUpe2lmKCFvKHRoaXMubWFzayx0KSYmKHRoaXMubWFzaz10LHRoaXMuY2xlYXJNYXNrKCksIW8odCx7MDohMH0pKSl7dmFyIHI9bmV3ICRuLG49bmV3IGRhO3RoaXMuc2VnbWVudHM9bmV3IE9hLHRoaXMuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoMCxyLG4pO2Zvcih2YXIgaT1PYmplY3Qua2V5cyh0KSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBsPXRbK2lbc11dLGM9ZWk+Pmwueix1PW5ldyBhKGwueCpjLGwueSpjKSxoPW5ldyBhKHUueCtjLHUueStjKSxmPXRoaXMuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoNCxyLG4pO3IuZW1wbGFjZUJhY2sodS54LHUueSx1LngsdS55KSxyLmVtcGxhY2VCYWNrKGgueCx1LnksaC54LHUueSksci5lbXBsYWNlQmFjayh1LngsaC55LHUueCxoLnkpLHIuZW1wbGFjZUJhY2soaC54LGgueSxoLngsaC55KTt2YXIgcD1mLnZlcnRleExlbmd0aDtuLmVtcGxhY2VCYWNrKHAscCsxLHArMiksbi5lbXBsYWNlQmFjayhwKzEscCsyLHArMyksZi52ZXJ0ZXhMZW5ndGgrPTQsZi5wcmltaXRpdmVMZW5ndGgrPTJ9dGhpcy5tYXNrZWRCb3VuZHNCdWZmZXI9ZS5jcmVhdGVWZXJ0ZXhCdWZmZXIocixObC5tZW1iZXJzKSx0aGlzLm1hc2tlZEluZGV4QnVmZmVyPWUuY3JlYXRlSW5kZXhCdWZmZXIobil9fSxXbC5wcm90b3R5cGUuaGFzRGF0YT1mdW5jdGlvbigpe3JldHVybiJsb2FkZWQiPT09dGhpcy5zdGF0ZXx8InJlbG9hZGluZyI9PT10aGlzLnN0YXRlfHwiZXhwaXJlZCI9PT10aGlzLnN0YXRlfSxXbC5wcm90b3R5cGUucGF0dGVybnNMb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZUF0bGFzJiYhIU9iamVjdC5rZXlzKHRoaXMuaW1hZ2VBdGxhcy5wYXR0ZXJuUG9zaXRpb25zKS5sZW5ndGh9LFdsLnByb3RvdHlwZS5zZXRFeHBpcnlEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZXhwaXJhdGlvblRpbWU7aWYodC5jYWNoZUNvbnRyb2wpe3ZhciByPU0odC5jYWNoZUNvbnRyb2wpO3JbIm1heC1hZ2UiXSYmKHRoaXMuZXhwaXJhdGlvblRpbWU9RGF0ZS5ub3coKSsxZTMqclsibWF4LWFnZSJdKX1lbHNlIHQuZXhwaXJlcyYmKHRoaXMuZXhwaXJhdGlvblRpbWU9bmV3IERhdGUodC5leHBpcmVzKS5nZXRUaW1lKCkpO2lmKHRoaXMuZXhwaXJhdGlvblRpbWUpe3ZhciBuPURhdGUubm93KCksYT0hMTtpZih0aGlzLmV4cGlyYXRpb25UaW1lPm4pYT0hMTtlbHNlIGlmKGUpaWYodGhpcy5leHBpcmF0aW9uVGltZTxlKWE9ITA7ZWxzZXt2YXIgaT10aGlzLmV4cGlyYXRpb25UaW1lLWU7aT90aGlzLmV4cGlyYXRpb25UaW1lPW4rTWF0aC5tYXgoaSwzZTQpOmE9ITB9ZWxzZSBhPSEwO2E/KHRoaXMuZXhwaXJlZFJlcXVlc3RDb3VudCsrLHRoaXMuc3RhdGU9ImV4cGlyZWQiKTp0aGlzLmV4cGlyZWRSZXF1ZXN0Q291bnQ9MH19LFdsLnByb3RvdHlwZS5nZXRFeHBpcnlUaW1lb3V0PWZ1bmN0aW9uKCl7aWYodGhpcy5leHBpcmF0aW9uVGltZSlyZXR1cm4gdGhpcy5leHBpcmVkUmVxdWVzdENvdW50PzFlMyooMTw8TWF0aC5taW4odGhpcy5leHBpcmVkUmVxdWVzdENvdW50LTEsMzEpKTpNYXRoLm1pbih0aGlzLmV4cGlyYXRpb25UaW1lLShuZXcgRGF0ZSkuZ2V0VGltZSgpLE1hdGgucG93KDIsMzEpLTEpfSxXbC5wcm90b3R5cGUuc2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5sYXRlc3RGZWF0dXJlSW5kZXgmJnRoaXMubGF0ZXN0RmVhdHVyZUluZGV4LnJhd1RpbGVEYXRhJiYwIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXt2YXIgcj10aGlzLmxhdGVzdEZlYXR1cmVJbmRleC5sb2FkVlRMYXllcnMoKTtmb3IodmFyIG4gaW4gdGhpcy5idWNrZXRzKXt2YXIgYT10aGlzLmJ1Y2tldHNbbl0saT1hLmxheWVyc1swXS5zb3VyY2VMYXllcnx8Il9nZW9qc29uVGlsZUxheWVyIixvPXJbaV0scz10W2ldO28mJnMmJjAhPT1PYmplY3Qua2V5cyhzKS5sZW5ndGgmJihhLnVwZGF0ZShzLG8sdGhpcy5pbWFnZUF0bGFzJiZ0aGlzLmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc3x8e30pLGUmJmUuc3R5bGUmJih0aGlzLnF1ZXJ5UGFkZGluZz1NYXRoLm1heCh0aGlzLnF1ZXJ5UGFkZGluZyxlLnN0eWxlLmdldExheWVyKG4pLnF1ZXJ5UmFkaXVzKGEpKSkpfX19LFdsLnByb3RvdHlwZS5ob2xkaW5nRm9yRmFkZT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLnN5bWJvbEZhZGVIb2xkVW50aWx9LFdsLnByb3RvdHlwZS5zeW1ib2xGYWRlRmluaXNoZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5zeW1ib2xGYWRlSG9sZFVudGlsfHx0aGlzLnN5bWJvbEZhZGVIb2xkVW50aWw8SS5ub3coKX0sV2wucHJvdG90eXBlLmNsZWFyRmFkZUhvbGQ9ZnVuY3Rpb24oKXt0aGlzLnN5bWJvbEZhZGVIb2xkVW50aWw9dm9pZCAwfSxXbC5wcm90b3R5cGUuc2V0SG9sZER1cmF0aW9uPWZ1bmN0aW9uKHQpe3RoaXMuc3ltYm9sRmFkZUhvbGRVbnRpbD1JLm5vdygpK3R9O3ZhciB0Yz1mdW5jdGlvbih0LGUscixuLGksbyxzLGwsYyx1LGgsZil7dmFyIHA9cy50b3AqbC1jLGQ9cy5ib3R0b20qbCtjLGc9cy5sZWZ0KmwtYyx2PXMucmlnaHQqbCtjO2lmKHRoaXMuYm94U3RhcnRJbmRleD10Lmxlbmd0aCx1KXt2YXIgbT1kLXAseT12LWc7bT4wJiYobT1NYXRoLm1heCgxMCpsLG0pLHRoaXMuX2FkZExpbmVDb2xsaXNpb25DaXJjbGVzKHQsZSxyLHIuc2VnbWVudCx5LG0sbixpLG8saCkpfWVsc2V7aWYoZil7dmFyIHg9bmV3IGEoZyxwKSxiPW5ldyBhKHYscCksXz1uZXcgYShnLGQpLHc9bmV3IGEodixkKSxrPWYqTWF0aC5QSS8xODA7eC5fcm90YXRlKGspLGIuX3JvdGF0ZShrKSxfLl9yb3RhdGUoayksdy5fcm90YXRlKGspLGc9TWF0aC5taW4oeC54LGIueCxfLngsdy54KSx2PU1hdGgubWF4KHgueCxiLngsXy54LHcueCkscD1NYXRoLm1pbih4LnksYi55LF8ueSx3LnkpLGQ9TWF0aC5tYXgoeC55LGIueSxfLnksdy55KX10LmVtcGxhY2VCYWNrKHIueCxyLnksZyxwLHYsZCxuLGksbywwLDApfXRoaXMuYm94RW5kSW5kZXg9dC5sZW5ndGh9O3RjLnByb3RvdHlwZS5fYWRkTGluZUNvbGxpc2lvbkNpcmNsZXM9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyl7dmFyIHU9aS8yLGg9TWF0aC5mbG9vcihhL3UpfHwxLGY9MSsuNCpNYXRoLmxvZyhjKS9NYXRoLkxOMixwPU1hdGguZmxvb3IoaCpmLzIpLGQ9LWkvMixnPXIsdj1uKzEsbT1kLHk9LWEvMix4PXktYS80O2Rve2lmKC0tdjwwKXtpZihtPnkpcmV0dXJuO3Y9MDticmVha31tLT1lW3ZdLmRpc3QoZyksZz1lW3ZdfXdoaWxlKG0+eCk7Zm9yKHZhciBiPWVbdl0uZGlzdChlW3YrMV0pLF89LXA7XzxoK3A7XysrKXt2YXIgdz1fKnUsaz15K3c7aWYodzwwJiYoays9dyksdz5hJiYoays9dy1hKSwhKGs8bSkpe2Zvcig7bStiPGs7KXtpZihtKz1iLCsrdisxPj1lLmxlbmd0aClyZXR1cm47Yj1lW3ZdLmRpc3QoZVt2KzFdKX12YXIgVD1rLW0sTT1lW3ZdLEE9ZVt2KzFdLnN1YihNKS5fdW5pdCgpLl9tdWx0KFQpLl9hZGQoTSkuX3JvdW5kKCksUz1NYXRoLmFicyhrLWQpPHU/MDouOCooay1kKTt0LmVtcGxhY2VCYWNrKEEueCxBLnksLWkvMiwtaS8yLGkvMixpLzIsbyxzLGwsaS8yLFMpfX19O3ZhciBlYz1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PXQmJih0PVtdKSx2b2lkIDA9PT1lJiYoZT1yYyksdGhpcy5kYXRhPXQsdGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aCx0aGlzLmNvbXBhcmU9ZSx0aGlzLmxlbmd0aD4wKWZvcih2YXIgcj0odGhpcy5sZW5ndGg+PjEpLTE7cj49MDtyLS0pdGhpcy5fZG93bihyKX07ZnVuY3Rpb24gcmModCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOjB9ZnVuY3Rpb24gbmModCxlLHIpe3ZvaWQgMD09PWUmJihlPTEpLHZvaWQgMD09PXImJihyPSExKTtmb3IodmFyIG49MS8wLGk9MS8wLG89LTEvMCxzPS0xLzAsbD10WzBdLGM9MDtjPGwubGVuZ3RoO2MrKyl7dmFyIHU9bFtjXTsoIWN8fHUueDxuKSYmKG49dS54KSwoIWN8fHUueTxpKSYmKGk9dS55KSwoIWN8fHUueD5vKSYmKG89dS54KSwoIWN8fHUueT5zKSYmKHM9dS55KX12YXIgaD1vLW4sZj1zLWkscD1NYXRoLm1pbihoLGYpLGQ9cC8yLGc9bmV3IGVjKFtdLGFjKTtpZigwPT09cClyZXR1cm4gbmV3IGEobixpKTtmb3IodmFyIHY9bjt2PG87dis9cClmb3IodmFyIG09aTttPHM7bSs9cClnLnB1c2gobmV3IGljKHYrZCxtK2QsZCx0KSk7Zm9yKHZhciB5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9MCxuPTAsYT10WzBdLGk9MCxvPWEubGVuZ3RoLHM9by0xO2k8bztzPWkrKyl7dmFyIGw9YVtpXSxjPWFbc10sdT1sLngqYy55LWMueCpsLnk7cis9KGwueCtjLngpKnUsbis9KGwueStjLnkpKnUsZSs9Myp1fXJldHVybiBuZXcgaWMoci9lLG4vZSwwLHQpfSh0KSx4PWcubGVuZ3RoO2cubGVuZ3RoOyl7dmFyIGI9Zy5wb3AoKTsoYi5kPnkuZHx8IXkuZCkmJih5PWIsciYmY29uc29sZS5sb2coImZvdW5kIGJlc3QgJWQgYWZ0ZXIgJWQgcHJvYmVzIixNYXRoLnJvdW5kKDFlNCpiLmQpLzFlNCx4KSksYi5tYXgteS5kPD1lfHwoZD1iLmgvMixnLnB1c2gobmV3IGljKGIucC54LWQsYi5wLnktZCxkLHQpKSxnLnB1c2gobmV3IGljKGIucC54K2QsYi5wLnktZCxkLHQpKSxnLnB1c2gobmV3IGljKGIucC54LWQsYi5wLnkrZCxkLHQpKSxnLnB1c2gobmV3IGljKGIucC54K2QsYi5wLnkrZCxkLHQpKSx4Kz00KX1yZXR1cm4gciYmKGNvbnNvbGUubG9nKCJudW0gcHJvYmVzOiAiK3gpLGNvbnNvbGUubG9nKCJiZXN0IGRpc3RhbmNlOiAiK3kuZCkpLHkucH1mdW5jdGlvbiBhYyh0LGUpe3JldHVybiBlLm1heC10Lm1heH1mdW5jdGlvbiBpYyh0LGUscixuKXt0aGlzLnA9bmV3IGEodCxlKSx0aGlzLmg9cix0aGlzLmQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ITEsbj0xLzAsYT0wO2E8ZS5sZW5ndGg7YSsrKWZvcih2YXIgaT1lW2FdLG89MCxzPWkubGVuZ3RoLGw9cy0xO288cztsPW8rKyl7dmFyIGM9aVtvXSx1PWlbbF07Yy55PnQueSE9dS55PnQueSYmdC54PCh1LngtYy54KSoodC55LWMueSkvKHUueS1jLnkpK2MueCYmKHI9IXIpLG49TWF0aC5taW4obixwaSh0LGMsdSkpfXJldHVybihyPzE6LTEpKk1hdGguc3FydChuKX0odGhpcy5wLG4pLHRoaXMubWF4PXRoaXMuZCt0aGlzLmgqTWF0aC5TUVJUMn1lYy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0KXt0aGlzLmRhdGEucHVzaCh0KSx0aGlzLmxlbmd0aCsrLHRoaXMuX3VwKHRoaXMubGVuZ3RoLTEpfSxlYy5wcm90b3R5cGUucG9wPWZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmRhdGFbMF0sZT10aGlzLmRhdGEucG9wKCk7cmV0dXJuIHRoaXMubGVuZ3RoLS0sdGhpcy5sZW5ndGg+MCYmKHRoaXMuZGF0YVswXT1lLHRoaXMuX2Rvd24oMCkpLHR9fSxlYy5wcm90b3R5cGUucGVlaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGFbMF19LGVjLnByb3RvdHlwZS5fdXA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuZGF0YSxyPXRoaXMuY29tcGFyZSxuPWVbdF07dD4wOyl7dmFyIGE9dC0xPj4xLGk9ZVthXTtpZihyKG4saSk+PTApYnJlYWs7ZVt0XT1pLHQ9YX1lW3RdPW59LGVjLnByb3RvdHlwZS5fZG93bj1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5kYXRhLHI9dGhpcy5jb21wYXJlLG49dGhpcy5sZW5ndGg+PjEsYT1lW3RdO3Q8bjspe3ZhciBpPTErKHQ8PDEpLG89ZVtpXSxzPWkrMTtpZihzPHRoaXMubGVuZ3RoJiZyKGVbc10sbyk8MCYmKGk9cyxvPWVbc10pLHIobyxhKT49MClicmVhaztlW3RdPW8sdD1pfWVbdF09YX07dmFyIG9jPWUoZnVuY3Rpb24odCl7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLGksbyxzLGwsYztmb3Iocj0zJnQubGVuZ3RoLG49dC5sZW5ndGgtcixhPWUsbz0zNDMyOTE4MzUzLHM9NDYxODQ1OTA3LGM9MDtjPG47KWw9MjU1JnQuY2hhckNvZGVBdChjKXwoMjU1JnQuY2hhckNvZGVBdCgrK2MpKTw8OHwoMjU1JnQuY2hhckNvZGVBdCgrK2MpKTw8MTZ8KDI1NSZ0LmNoYXJDb2RlQXQoKytjKSk8PDI0LCsrYyxhPTI3NDkyKyg2NTUzNSYoaT01Kig2NTUzNSYoYT0oYV49bD0oNjU1MzUmKGw9KGw9KDY1NTM1JmwpKm8rKCgobD4+PjE2KSpvJjY1NTM1KTw8MTYpJjQyOTQ5NjcyOTUpPDwxNXxsPj4+MTcpKSpzKygoKGw+Pj4xNikqcyY2NTUzNSk8PDE2KSY0Mjk0OTY3Mjk1KTw8MTN8YT4+PjE5KSkrKCg1KihhPj4+MTYpJjY1NTM1KTw8MTYpJjQyOTQ5NjcyOTUpKSsoKDU4OTY0KyhpPj4+MTYpJjY1NTM1KTw8MTYpO3N3aXRjaChsPTAscil7Y2FzZSAzOmxePSgyNTUmdC5jaGFyQ29kZUF0KGMrMikpPDwxNjtjYXNlIDI6bF49KDI1NSZ0LmNoYXJDb2RlQXQoYysxKSk8PDg7Y2FzZSAxOmFePWw9KDY1NTM1JihsPShsPSg2NTUzNSYobF49MjU1JnQuY2hhckNvZGVBdChjKSkpKm8rKCgobD4+PjE2KSpvJjY1NTM1KTw8MTYpJjQyOTQ5NjcyOTUpPDwxNXxsPj4+MTcpKSpzKygoKGw+Pj4xNikqcyY2NTUzNSk8PDE2KSY0Mjk0OTY3Mjk1fXJldHVybiBhXj10Lmxlbmd0aCxhPTIyNDY4MjI1MDcqKDY1NTM1JihhXj1hPj4+MTYpKSsoKDIyNDY4MjI1MDcqKGE+Pj4xNikmNjU1MzUpPDwxNikmNDI5NDk2NzI5NSxhPTMyNjY0ODk5MDkqKDY1NTM1JihhXj1hPj4+MTMpKSsoKDMyNjY0ODk5MDkqKGE+Pj4xNikmNjU1MzUpPDwxNikmNDI5NDk2NzI5NSwoYV49YT4+PjE2KT4+PjB9fSksc2M9ZShmdW5jdGlvbih0KXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbj10Lmxlbmd0aCxhPWVebixpPTA7bj49NDspcj0xNTQwNDgzNDc3Kig2NTUzNSYocj0yNTUmdC5jaGFyQ29kZUF0KGkpfCgyNTUmdC5jaGFyQ29kZUF0KCsraSkpPDw4fCgyNTUmdC5jaGFyQ29kZUF0KCsraSkpPDwxNnwoMjU1JnQuY2hhckNvZGVBdCgrK2kpKTw8MjQpKSsoKDE1NDA0ODM0NzcqKHI+Pj4xNikmNjU1MzUpPDwxNiksYT0xNTQwNDgzNDc3Kig2NTUzNSZhKSsoKDE1NDA0ODM0NzcqKGE+Pj4xNikmNjU1MzUpPDwxNileKHI9MTU0MDQ4MzQ3NyooNjU1MzUmKHJePXI+Pj4yNCkpKygoMTU0MDQ4MzQ3Nyoocj4+PjE2KSY2NTUzNSk8PDE2KSksbi09NCwrK2k7c3dpdGNoKG4pe2Nhc2UgMzphXj0oMjU1JnQuY2hhckNvZGVBdChpKzIpKTw8MTY7Y2FzZSAyOmFePSgyNTUmdC5jaGFyQ29kZUF0KGkrMSkpPDw4O2Nhc2UgMTphPTE1NDA0ODM0NzcqKDY1NTM1JihhXj0yNTUmdC5jaGFyQ29kZUF0KGkpKSkrKCgxNTQwNDgzNDc3KihhPj4+MTYpJjY1NTM1KTw8MTYpfXJldHVybiBhPTE1NDA0ODM0NzcqKDY1NTM1JihhXj1hPj4+MTMpKSsoKDE1NDA0ODM0NzcqKGE+Pj4xNikmNjU1MzUpPDwxNiksKGFePWE+Pj4xNSk+Pj4wfX0pLGxjPW9jLGNjPW9jLHVjPXNjO2xjLm11cm11cjM9Y2MsbGMubXVybXVyMj11Yzt2YXIgaGM9NztmdW5jdGlvbiBmYyh0LGUpe3ZhciByPTAsbj0wLGE9ZS9NYXRoLnNxcnQoMik7c3dpdGNoKHQpe2Nhc2UidG9wLXJpZ2h0IjpjYXNlInRvcC1sZWZ0IjpuPWEtaGM7YnJlYWs7Y2FzZSJib3R0b20tcmlnaHQiOmNhc2UiYm90dG9tLWxlZnQiOm49LWEraGM7YnJlYWs7Y2FzZSJib3R0b20iOm49LWUraGM7YnJlYWs7Y2FzZSJ0b3AiOm49ZS1oY31zd2l0Y2godCl7Y2FzZSJ0b3AtcmlnaHQiOmNhc2UiYm90dG9tLXJpZ2h0IjpyPS1hO2JyZWFrO2Nhc2UidG9wLWxlZnQiOmNhc2UiYm90dG9tLWxlZnQiOnI9YTticmVhaztjYXNlImxlZnQiOnI9ZTticmVhaztjYXNlInJpZ2h0IjpyPS1lfXJldHVybltyLG5dfWZ1bmN0aW9uIHBjKHQpe3N3aXRjaCh0KXtjYXNlInJpZ2h0IjpjYXNlInRvcC1yaWdodCI6Y2FzZSJib3R0b20tcmlnaHQiOnJldHVybiJyaWdodCI7Y2FzZSJsZWZ0IjpjYXNlInRvcC1sZWZ0IjpjYXNlImJvdHRvbS1sZWZ0IjpyZXR1cm4ibGVmdCJ9cmV0dXJuImNlbnRlciJ9dmFyIGRjPTY1NTM1O2Z1bmN0aW9uIGdjKHQsZSxyLG4saSxvLHMsbCxjLHUsaCxmLHApe3ZhciBkPWZ1bmN0aW9uKHQsZSxyLG4saSxvLHMsbCl7Zm9yKHZhciBjPW4ubGF5b3V0LmdldCgidGV4dC1yb3RhdGUiKS5ldmFsdWF0ZShvLHt9KSpNYXRoLlBJLzE4MCx1PWUucG9zaXRpb25lZEdseXBocyxoPVtdLGY9MDtmPHUubGVuZ3RoO2YrKyl7dmFyIHA9dVtmXSxkPXNbcC5mb250U3RhY2tdLGc9ZCYmZFtwLmdseXBoXTtpZihnKXt2YXIgdj1nLnJlY3Q7aWYodil7dmFyIG09X2wrMSx5PWcubWV0cmljcy5hZHZhbmNlKnAuc2NhbGUvMix4PWk/W3AueCt5LHAueV06WzAsMF0sYj1pP1swLDBdOltwLngreStyWzBdLHAueStyWzFdXSxfPShpfHxsKSYmcC52ZXJ0aWNhbCx3PVswLDBdO18mJih3PWIsYj1bMCwwXSk7dmFyIGs9KGcubWV0cmljcy5sZWZ0LW0pKnAuc2NhbGUteStiWzBdLFQ9KC1nLm1ldHJpY3MudG9wLW0pKnAuc2NhbGUrYlsxXSxNPWsrdi53KnAuc2NhbGUsQT1UK3YuaCpwLnNjYWxlLFM9bmV3IGEoayxUKSxFPW5ldyBhKE0sVCksTD1uZXcgYShrLEEpLEM9bmV3IGEoTSxBKTtpZihfKXt2YXIgUD1uZXcgYSgteSx5LWUueU9mZnNldCksTz0tTWF0aC5QSS8yLHo9bHMvMi15LEk9bmV3IGEoNS1lLnlPZmZzZXQteiwwKSxEPW5ldyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5hcHBseShhLFtudWxsXS5jb25jYXQodykpKTtTLl9yb3RhdGVBcm91bmQoTyxQKS5fYWRkKEkpLl9hZGQoRCksRS5fcm90YXRlQXJvdW5kKE8sUCkuX2FkZChJKS5fYWRkKEQpLEwuX3JvdGF0ZUFyb3VuZChPLFApLl9hZGQoSSkuX2FkZChEKSxDLl9yb3RhdGVBcm91bmQoTyxQKS5fYWRkKEkpLl9hZGQoRCl9aWYoYyl7dmFyIFI9TWF0aC5zaW4oYyksRj1NYXRoLmNvcyhjKSxCPVtGLC1SLFIsRl07Uy5fbWF0TXVsdChCKSxFLl9tYXRNdWx0KEIpLEwuX21hdE11bHQoQiksQy5fbWF0TXVsdChCKX1oLnB1c2goe3RsOlMsdHI6RSxibDpMLGJyOkMsdGV4OnYsd3JpdGluZ01vZGU6ZS53cml0aW5nTW9kZSxnbHlwaE9mZnNldDp4LHNlY3Rpb25JbmRleDpwLnNlY3Rpb25JbmRleH0pfX19cmV0dXJuIGh9KDAscixzLG4saSxvLGYsdC5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50KSxnPXQudGV4dFNpemVEYXRhLHY9bnVsbDsic291cmNlIj09PWcua2luZD8odj1bX3Mqbi5sYXlvdXQuZ2V0KCJ0ZXh0LXNpemUiKS5ldmFsdWF0ZShvLHt9KV0pWzBdPmRjJiZ3KHQubGF5ZXJJZHNbMF0rJzogVmFsdWUgZm9yICJ0ZXh0LXNpemUiIGlzID49IDI1Ni4gUmVkdWNlIHlvdXIgInRleHQtc2l6ZSIuJyk6ImNvbXBvc2l0ZSI9PT1nLmtpbmQmJigodj1bX3MqcC5jb21wb3NpdGVUZXh0U2l6ZXNbMF0uZXZhbHVhdGUobyx7fSksX3MqcC5jb21wb3NpdGVUZXh0U2l6ZXNbMV0uZXZhbHVhdGUobyx7fSldKVswXT5kY3x8dlsxXT5kYykmJncodC5sYXllcklkc1swXSsnOiBWYWx1ZSBmb3IgInRleHQtc2l6ZSIgaXMgPj0gMjU2LiBSZWR1Y2UgeW91ciAidGV4dC1zaXplIi4nKSx0LmFkZFN5bWJvbHModC50ZXh0LGQsdixzLGksbyxjLGUsbC5saW5lU3RhcnRJbmRleCxsLmxpbmVMZW5ndGgpO2Zvcih2YXIgbT0wLHk9dTttPHkubGVuZ3RoO20rPTEpaFt5W21dXT10LnRleHQucGxhY2VkU3ltYm9sQXJyYXkubGVuZ3RoLTE7cmV0dXJuIDQqZC5sZW5ndGh9ZnVuY3Rpb24gdmModCl7Zm9yKHZhciBlIGluIHQpcmV0dXJuIHRbZV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gbWModCxlLHIsbil7dmFyIGE9dC5jb21wYXJlVGV4dDtpZihlIGluIGEpe2Zvcih2YXIgaT1hW2VdLG89aS5sZW5ndGgtMTtvPj0wO28tLSlpZihuLmRpc3QoaVtvXSk8cilyZXR1cm4hMH1lbHNlIGFbZV09W107cmV0dXJuIGFbZV0ucHVzaChuKSwhMX10LkFjdG9yPWtsLHQuQWxwaGFJbWFnZT1QaSx0LkNhbm9uaWNhbFRpbGVJRD1JbCx0LkNvbGxpc2lvbkJveEFycmF5PWJhLHQuQ29sb3I9V3QsdC5ERU1EYXRhPUJsLHQuRGF0YUNvbnN0YW50UHJvcGVydHk9am4sdC5EaWN0aW9uYXJ5Q29kZXI9amwsdC5FWFRFTlQ9ZWksdC5FcnJvckV2ZW50PXd0LHQuRXZhbHVhdGlvblBhcmFtZXRlcnM9UG4sdC5FdmVudD1fdCx0LkV2ZW50ZWQ9a3QsdC5GZWF0dXJlSW5kZXg9SGwsdC5GaWxsQnVja2V0PV9vLHQuRmlsbEV4dHJ1c2lvbkJ1Y2tldD1Cbyx0LkltYWdlQXRsYXM9WXMsdC5JbWFnZVBvc2l0aW9uPUhzLHQuTGluZUJ1Y2tldD1abyx0LkxuZ0xhdD1BbCx0LkxuZ0xhdEJvdW5kcz1NbCx0Lk1lcmNhdG9yQ29vcmRpbmF0ZT16bCx0Lk9ORV9FTT1scyx0Lk92ZXJzY2FsZWRUaWxlSUQ9UmwsdC5Qb2ludD1hLHQuUG9pbnQkMT1hLHQuUHJvZ3JhbUNvbmZpZ3VyYXRpb249S2EsdC5Qcm9wZXJ0aWVzPUduLHQuUHJvdG9idWY9dGwsdC5SR0JBSW1hZ2U9T2ksdC5SZXF1ZXN0TWFuYWdlcj1WLHQuUmVzb3VyY2VUeXBlPWx0LHQuU2VnbWVudFZlY3Rvcj1PYSx0LlNvdXJjZUZlYXR1cmVTdGF0ZT1xbCx0LlN0cnVjdEFycmF5TGF5b3V0MXVpMj12YSx0LlN0cnVjdEFycmF5TGF5b3V0Mmk0PVFuLHQuU3RydWN0QXJyYXlMYXlvdXQydWk0PWdhLHQuU3RydWN0QXJyYXlMYXlvdXQzdWk2PWRhLHQuU3RydWN0QXJyYXlMYXlvdXQ0aTg9JG4sdC5TeW1ib2xCdWNrZXQ9T3MsdC5UZXh0dXJlPUtzLHQuVGlsZT1XbCx0LlRyYW5zaXRpb25hYmxlPUluLHQuVW5pZm9ybTFmPUJhLHQuVW5pZm9ybTFpPUZhLHQuVW5pZm9ybTJmPU5hLHQuVW5pZm9ybTNmPWphLHQuVW5pZm9ybTRmPVZhLHQuVW5pZm9ybUNvbG9yPVVhLHQuVW5pZm9ybU1hdHJpeDRmPUhhLHQuVW53cmFwcGVkVGlsZUlEPURsLHQuVmFsaWRhdGlvbkVycm9yPU10LHQuV3JpdGluZ01vZGU9Y3MsdC5ab29tSGlzdG9yeT15bix0LmFkZER5bmFtaWNBdHRyaWJ1dGVzPUxzLHQuYXN5bmNBbGw9ZnVuY3Rpb24odCxlLHIpe2lmKCF0Lmxlbmd0aClyZXR1cm4gcihudWxsLFtdKTt2YXIgbj10Lmxlbmd0aCxhPW5ldyBBcnJheSh0Lmxlbmd0aCksaT1udWxsO3QuZm9yRWFjaChmdW5jdGlvbih0LG8pe2UodCxmdW5jdGlvbih0LGUpe3QmJihpPXQpLGFbb109ZSwwPT0tLW4mJnIoaSxhKX0pfSl9LHQuYmV6aWVyPXMsdC5iaW5kQWxsPXYsdC5icm93c2VyPUksdC5jYWNoZUVudHJ5UG9zc2libHlBZGRlZD1mdW5jdGlvbih0KXsrK3N0PmF0JiYodC5nZXRBY3RvcigpLnNlbmQoImVuZm9yY2VDYWNoZVNpemVMaW1pdCIsbnQpLHN0PTApfSx0LmNsYW1wPWMsdC5jbGVhclRpbGVDYWNoZT1mdW5jdGlvbih0KXt2YXIgZT1zZWxmLmNhY2hlcy5kZWxldGUocnQpO3QmJmUuY2F0Y2godCkudGhlbihmdW5jdGlvbigpe3JldHVybiB0KCl9KX0sdC5jbG9uZT1mdW5jdGlvbih0KXt2YXIgZT1uZXcga2koMTYpO3JldHVybiBlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZVs0XT10WzRdLGVbNV09dFs1XSxlWzZdPXRbNl0sZVs3XT10WzddLGVbOF09dFs4XSxlWzldPXRbOV0sZVsxMF09dFsxMF0sZVsxMV09dFsxMV0sZVsxMl09dFsxMl0sZVsxM109dFsxM10sZVsxNF09dFsxNF0sZVsxNV09dFsxNV0sZX0sdC5jbG9uZSQxPWIsdC5jb25maWc9RCx0LmNyZWF0ZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBraSgxNik7cmV0dXJuIGtpIT1GbG9hdDMyQXJyYXkmJih0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTApLHRbMF09MSx0WzVdPTEsdFsxMF09MSx0WzE1XT0xLHR9LHQuY3JlYXRlJDE9ZnVuY3Rpb24oKXt2YXIgdD1uZXcga2koOSk7cmV0dXJuIGtpIT1GbG9hdDMyQXJyYXkmJih0WzFdPTAsdFsyXT0wLHRbM109MCx0WzVdPTAsdFs2XT0wLHRbN109MCksdFswXT0xLHRbNF09MSx0WzhdPTEsdH0sdC5jcmVhdGUkMj1mdW5jdGlvbigpe3ZhciB0PW5ldyBraSg0KTtyZXR1cm4ga2khPUZsb2F0MzJBcnJheSYmKHRbMV09MCx0WzJdPTApLHRbMF09MSx0WzNdPTEsdH0sdC5jcmVhdGVDb21tb25qc01vZHVsZT1lLHQuY3JlYXRlRXhwcmVzc2lvbj1rcix0LmNyZWF0ZUxheW91dD1Kbix0LmNyZWF0ZVN0eWxlTGF5ZXI9ZnVuY3Rpb24odCl7cmV0dXJuImN1c3RvbSI9PT10LnR5cGU/bmV3IFZzKHQpOm5ldyBVc1t0LnR5cGVdKHQpfSx0LmRlZXBFcXVhbD1vLHQuZWFzZT1sLHQuZW1pdFZhbGlkYXRpb25FcnJvcnM9bG4sdC5lbmRzV2l0aD1tLHQuZW5mb3JjZUNhY2hlU2l6ZUxpbWl0PWZ1bmN0aW9uKHQpe3NlbGYuY2FjaGVzJiZzZWxmLmNhY2hlcy5vcGVuKHJ0KS50aGVuKGZ1bmN0aW9uKGUpe2Uua2V5cygpLnRoZW4oZnVuY3Rpb24ocil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aC10O24rKyllLmRlbGV0ZShyW25dKX0pfSl9LHQuZXZhbHVhdGVSYWRpYWxPZmZzZXQ9ZmMsdC5ldmFsdWF0ZVNpemVGb3JGZWF0dXJlPWtzLHQuZXZhbHVhdGVTaXplRm9yWm9vbT1Ucyx0LmV2ZW50ZWQ9TG4sdC5leHRlbmQ9aCx0LmZlYXR1cmVGaWx0ZXI9UnIsdC5maWx0ZXJPYmplY3Q9eCx0LmZyb21Sb3RhdGlvbj1mdW5jdGlvbih0LGUpe3ZhciByPU1hdGguc2luKGUpLG49TWF0aC5jb3MoZSk7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT0wLHRbM109LXIsdFs0XT1uLHRbNV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fSx0LmdldEFuY2hvckFsaWdubWVudD15cyx0LmdldEFuY2hvckp1c3RpZmljYXRpb249cGMsdC5nZXRBcnJheUJ1ZmZlcj12dCx0LmdldEltYWdlPXl0LHQuZ2V0SlNPTj1mdW5jdGlvbih0LGUpe3JldHVybiBndChoKHQse3R5cGU6Impzb24ifSksZSl9LHQuZ2V0UmVmZXJyZXI9aHQsdC5nZXRWaWRlbz1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT1zZWxmLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7YS5tdXRlZD0hMCxhLm9ubG9hZHN0YXJ0PWZ1bmN0aW9uKCl7ZShudWxsLGEpfTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89c2VsZi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzb3VyY2UiKTtyPXRbaV0sbj12b2lkIDAsKG49c2VsZi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9ciwobi5wcm90b2NvbCE9PXNlbGYuZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x8fG4uaG9zdCE9PXNlbGYuZG9jdW1lbnQubG9jYXRpb24uaG9zdCkmJihhLmNyb3NzT3JpZ2luPSJBbm9ueW1vdXMiKSxvLnNyYz10W2ldLGEuYXBwZW5kQ2hpbGQobyl9cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe319fSx0LmlkZW50aXR5PWZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH0sdC5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPWVbMl0saT1lWzNdLG89ZVs0XSxzPWVbNV0sbD1lWzZdLGM9ZVs3XSx1PWVbOF0saD1lWzldLGY9ZVsxMF0scD1lWzExXSxkPWVbMTJdLGc9ZVsxM10sdj1lWzE0XSxtPWVbMTVdLHk9cipzLW4qbyx4PXIqbC1hKm8sYj1yKmMtaSpvLF89bipsLWEqcyx3PW4qYy1pKnMsaz1hKmMtaSpsLFQ9dSpnLWgqZCxNPXUqdi1mKmQsQT11Km0tcCpkLFM9aCp2LWYqZyxFPWgqbS1wKmcsTD1mKm0tcCp2LEM9eSpMLXgqRStiKlMrXypBLXcqTStrKlQ7cmV0dXJuIEM/KEM9MS9DLHRbMF09KHMqTC1sKkUrYypTKSpDLHRbMV09KGEqRS1uKkwtaSpTKSpDLHRbMl09KGcqay12KncrbSpfKSpDLHRbM109KGYqdy1oKmstcCpfKSpDLHRbNF09KGwqQS1vKkwtYypNKSpDLHRbNV09KHIqTC1hKkEraSpNKSpDLHRbNl09KHYqYi1kKmstbSp4KSpDLHRbN109KHUqay1mKmIrcCp4KSpDLHRbOF09KG8qRS1zKkErYypUKSpDLHRbOV09KG4qQS1yKkUtaSpUKSpDLHRbMTBdPShkKnctZypiK20qeSkqQyx0WzExXT0oaCpiLXUqdy1wKnkpKkMsdFsxMl09KHMqTS1vKlMtbCpUKSpDLHRbMTNdPShyKlMtbipNK2EqVCkqQyx0WzE0XT0oZyp4LWQqXy12KnkpKkMsdFsxNV09KHUqXy1oKngrZip5KSpDLHQpOm51bGx9LHQuaXNDaGFyPXhuLHQuaXNNYXBib3hVUkw9VSx0LmtleXNEaWZmZXJlbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107Zm9yKHZhciBuIGluIHQpbiBpbiBlfHxyLnB1c2gobik7cmV0dXJuIHJ9LHQubWFrZVJlcXVlc3Q9Z3QsdC5tYXBPYmplY3Q9eSx0Lm1lcmNhdG9yWGZyb21Mbmc9TGwsdC5tZXJjYXRvcllmcm9tTGF0PUNsLHQubWVyY2F0b3JaZnJvbUFsdGl0dWRlPVBsLHQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWVbMF0sYT1lWzFdLGk9ZVsyXSxvPWVbM10scz1lWzRdLGw9ZVs1XSxjPWVbNl0sdT1lWzddLGg9ZVs4XSxmPWVbOV0scD1lWzEwXSxkPWVbMTFdLGc9ZVsxMl0sdj1lWzEzXSxtPWVbMTRdLHk9ZVsxNV0seD1yWzBdLGI9clsxXSxfPXJbMl0sdz1yWzNdO3JldHVybiB0WzBdPXgqbitiKnMrXypoK3cqZyx0WzFdPXgqYStiKmwrXypmK3cqdix0WzJdPXgqaStiKmMrXypwK3cqbSx0WzNdPXgqbytiKnUrXypkK3cqeSx4PXJbNF0sYj1yWzVdLF89cls2XSx3PXJbN10sdFs0XT14Km4rYipzK18qaCt3KmcsdFs1XT14KmErYipsK18qZit3KnYsdFs2XT14KmkrYipjK18qcCt3Km0sdFs3XT14Km8rYip1K18qZCt3KnkseD1yWzhdLGI9cls5XSxfPXJbMTBdLHc9clsxMV0sdFs4XT14Km4rYipzK18qaCt3KmcsdFs5XT14KmErYipsK18qZit3KnYsdFsxMF09eCppK2IqYytfKnArdyptLHRbMTFdPXgqbytiKnUrXypkK3cqeSx4PXJbMTJdLGI9clsxM10sXz1yWzE0XSx3PXJbMTVdLHRbMTJdPXgqbitiKnMrXypoK3cqZyx0WzEzXT14KmErYipsK18qZit3KnYsdFsxNF09eCppK2IqYytfKnArdyptLHRbMTVdPXgqbytiKnUrXypkK3cqeSx0fSx0Lm12dD1Jbyx0Lm51bWJlcj15ZSx0Lm9ydGhvPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPTEvKGUtciksbD0xLyhuLWEpLGM9MS8oaS1vKTtyZXR1cm4gdFswXT0tMipzLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPS0yKmwsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTIqYyx0WzExXT0wLHRbMTJdPShlK3IpKnMsdFsxM109KGErbikqbCx0WzE0XT0obytpKSpjLHRbMTVdPTEsdH0sdC5wYXJzZUdseXBoUEJGPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdGwodCkucmVhZEZpZWxkcyh5bCxbXSl9LHQucGJmPXRsLHQucGVyZm9ybVN5bWJvbExheW91dD1mdW5jdGlvbih0LGUscixuLGksbyl7dC5jcmVhdGVBcnJheXMoKTt2YXIgcz01MTIqdC5vdmVyc2NhbGluZzt0LnRpbGVQaXhlbFJhdGlvPWVpL3MsdC5jb21wYXJlVGV4dD17fSx0Lmljb25zTmVlZExpbmVhcj0hMTt2YXIgbD10LmxheWVyc1swXS5sYXlvdXQsYz10LmxheWVyc1swXS5fdW5ldmFsdWF0ZWRMYXlvdXQuX3ZhbHVlcyx1PXt9O2lmKCJjb21wb3NpdGUiPT09dC50ZXh0U2l6ZURhdGEua2luZCl7dmFyIGg9dC50ZXh0U2l6ZURhdGEsZj1oLm1pblpvb20scD1oLm1heFpvb207dS5jb21wb3NpdGVUZXh0U2l6ZXM9W2NbInRleHQtc2l6ZSJdLnBvc3NpYmx5RXZhbHVhdGUobmV3IFBuKGYpKSxjWyJ0ZXh0LXNpemUiXS5wb3NzaWJseUV2YWx1YXRlKG5ldyBQbihwKSldfWlmKCJjb21wb3NpdGUiPT09dC5pY29uU2l6ZURhdGEua2luZCl7dmFyIGQ9dC5pY29uU2l6ZURhdGEsZz1kLm1pblpvb20sdj1kLm1heFpvb207dS5jb21wb3NpdGVJY29uU2l6ZXM9W2NbImljb24tc2l6ZSJdLnBvc3NpYmx5RXZhbHVhdGUobmV3IFBuKGcpKSxjWyJpY29uLXNpemUiXS5wb3NzaWJseUV2YWx1YXRlKG5ldyBQbih2KSldfXUubGF5b3V0VGV4dFNpemU9Y1sidGV4dC1zaXplIl0ucG9zc2libHlFdmFsdWF0ZShuZXcgUG4odC56b29tKzEpKSx1LmxheW91dEljb25TaXplPWNbImljb24tc2l6ZSJdLnBvc3NpYmx5RXZhbHVhdGUobmV3IFBuKHQuem9vbSsxKSksdS50ZXh0TWF4U2l6ZT1jWyJ0ZXh0LXNpemUiXS5wb3NzaWJseUV2YWx1YXRlKG5ldyBQbigxOCkpO2Zvcih2YXIgbT1sLmdldCgidGV4dC1saW5lLWhlaWdodCIpKmxzLHk9Im1hcCI9PT1sLmdldCgidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiKSYmInBvaW50IiE9PWwuZ2V0KCJzeW1ib2wtcGxhY2VtZW50IikseD1sLmdldCgidGV4dC1rZWVwLXVwcmlnaHQiKSxiPWZ1bmN0aW9uKCl7dmFyIG89a1tfXSxzPWwuZ2V0KCJ0ZXh0LWZvbnQiKS5ldmFsdWF0ZShvLHt9KS5qb2luKCIsIiksYz1yLGg9e2hvcml6b250YWw6e30sdmVydGljYWw6dm9pZCAwfSxmPW8udGV4dCxwPVswLDBdO2lmKGYpe3ZhciBkPWYudG9TdHJpbmcoKSxnPWwuZ2V0KCJ0ZXh0LWxldHRlci1zcGFjaW5nIikuZXZhbHVhdGUobyx7fSkqbHMsdj1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPWQ7ZTxyLmxlbmd0aDtlKz0xKWlmKCFfbihyW2VdLmNoYXJDb2RlQXQoMCkpKXJldHVybiExO3JldHVybiEwfSgpP2c6MCxiPWwuZ2V0KCJ0ZXh0LWFuY2hvciIpLmV2YWx1YXRlKG8se30pLFQ9bC5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIiksTT1sLmdldCgidGV4dC1yYWRpYWwtb2Zmc2V0IikuZXZhbHVhdGUobyx7fSk7VHx8KHA9TT9mYyhiLE0qbHMpOmwuZ2V0KCJ0ZXh0LW9mZnNldCIpLmV2YWx1YXRlKG8se30pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCpsc30pKTt2YXIgQT15PyJjZW50ZXIiOmwuZ2V0KCJ0ZXh0LWp1c3RpZnkiKS5ldmFsdWF0ZShvLHt9KSxTPSJwb2ludCI9PT1sLmdldCgic3ltYm9sLXBsYWNlbWVudCIpP2wuZ2V0KCJ0ZXh0LW1heC13aWR0aCIpLmV2YWx1YXRlKG8se30pKmxzOjAsRT1mdW5jdGlvbigpe3QuYWxsb3dWZXJ0aWNhbFBsYWNlbWVudCYmYm4oZCkmJihoLnZlcnRpY2FsPWhzKGYsZSxzLFMsbSxiLCJsZWZ0Iix2LHAsY3MudmVydGljYWwsITApKX07aWYoIXkmJlQpe2Zvcih2YXIgTD0iYXV0byI9PT1BP1QubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBwYyh0KX0pOltBXSxDPSExLFA9MDtQPEwubGVuZ3RoO1ArKyl7dmFyIE89TFtQXTtpZighaC5ob3Jpem9udGFsW09dKWlmKEMpaC5ob3Jpem9udGFsW09dPWguaG9yaXpvbnRhbFswXTtlbHNle3ZhciB6PWhzKGYsZSxzLFMsbSwiY2VudGVyIixPLHYscCxjcy5ob3Jpem9udGFsLCExKTt6JiYoaC5ob3Jpem9udGFsW09dPXosQz0xPT09ei5saW5lQ291bnQpfX1FKCl9ZWxzZXsiYXV0byI9PT1BJiYoQT1wYyhiKSk7dmFyIEk9aHMoZixlLHMsUyxtLGIsQSx2LHAsY3MuaG9yaXpvbnRhbCwhMSk7SSYmKGguaG9yaXpvbnRhbFtBXT1JKSxFKCksYm4oZCkmJnkmJngmJihoLnZlcnRpY2FsPWhzKGYsZSxzLFMsbSxiLEEsdixwLGNzLnZlcnRpY2FsLCExKSl9fXZhciBEPXZvaWQgMDtpZihvLmljb24pe3ZhciBSPW5bby5pY29uXTtSJiYoRD1mdW5jdGlvbih0LGUscil7dmFyIG49eXMociksYT1uLmhvcml6b250YWxBbGlnbixpPW4udmVydGljYWxBbGlnbixvPWVbMF0scz1lWzFdLGw9by10LmRpc3BsYXlTaXplWzBdKmEsYz1sK3QuZGlzcGxheVNpemVbMF0sdT1zLXQuZGlzcGxheVNpemVbMV0qaTtyZXR1cm57aW1hZ2U6dCx0b3A6dSxib3R0b206dSt0LmRpc3BsYXlTaXplWzFdLGxlZnQ6bCxyaWdodDpjfX0oaVtvLmljb25dLGwuZ2V0KCJpY29uLW9mZnNldCIpLmV2YWx1YXRlKG8se30pLGwuZ2V0KCJpY29uLWFuY2hvciIpLmV2YWx1YXRlKG8se30pKSx2b2lkIDA9PT10LnNkZkljb25zP3Quc2RmSWNvbnM9Ui5zZGY6dC5zZGZJY29ucyE9PVIuc2RmJiZ3KCJTdHlsZSBzaGVldCB3YXJuaW5nOiBDYW5ub3QgbWl4IFNERiBhbmQgbm9uLVNERiBpY29ucyBpbiBvbmUgYnVmZmVyIiksUi5waXhlbFJhdGlvIT09dC5waXhlbFJhdGlvP3QuaWNvbnNOZWVkTGluZWFyPSEwOjAhPT1sLmdldCgiaWNvbi1yb3RhdGUiKS5jb25zdGFudE9yKDEpJiYodC5pY29uc05lZWRMaW5lYXI9ITApKX0oT2JqZWN0LmtleXMoaC5ob3Jpem9udGFsKS5sZW5ndGh8fEQpJiZmdW5jdGlvbih0LGUscixuLGksbyxzKXt2YXIgbD1vLmxheW91dFRleHRTaXplLmV2YWx1YXRlKGUse30pLGM9by5sYXlvdXRJY29uU2l6ZS5ldmFsdWF0ZShlLHt9KSx1PW8udGV4dE1heFNpemUuZXZhbHVhdGUoZSx7fSk7dm9pZCAwPT09dSYmKHU9bCk7dmFyIGg9dC5sYXllcnNbMF0ubGF5b3V0LGY9aC5nZXQoImljb24tb2Zmc2V0IikuZXZhbHVhdGUoZSx7fSkscD12YyhyLmhvcml6b250YWwpLGQ9bC8yNCxnPXQudGlsZVBpeGVsUmF0aW8qZCx2PXQudGlsZVBpeGVsUmF0aW8qdS8yNCxtPXQudGlsZVBpeGVsUmF0aW8qYyx5PXQudGlsZVBpeGVsUmF0aW8qaC5nZXQoInN5bWJvbC1zcGFjaW5nIikseD1oLmdldCgidGV4dC1wYWRkaW5nIikqdC50aWxlUGl4ZWxSYXRpbyxiPWguZ2V0KCJpY29uLXBhZGRpbmciKSp0LnRpbGVQaXhlbFJhdGlvLF89aC5nZXQoInRleHQtbWF4LWFuZ2xlIikvMTgwKk1hdGguUEksaz0ibWFwIj09PWguZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpJiYicG9pbnQiIT09aC5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKSxUPSJtYXAiPT09aC5nZXQoImljb24tcm90YXRpb24tYWxpZ25tZW50IikmJiJwb2ludCIhPT1oLmdldCgic3ltYm9sLXBsYWNlbWVudCIpLE09aC5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKSxBPXkvMixTPWZ1bmN0aW9uKGwsYyl7Yy54PDB8fGMueD49ZWl8fGMueTwwfHxjLnk+PWVpfHxmdW5jdGlvbih0LGUscixuLGksbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0seSx4LGIsXyl7dmFyIGssVCxNLEE9dC5hZGRUb0xpbmVWZXJ0ZXhBcnJheShlLHIpLFM9MCxFPTAsTD0wLEM9e30sUD1sYygiIiksTz0oby5sYXlvdXQuZ2V0KCJ0ZXh0LXJhZGlhbC1vZmZzZXQiKS5ldmFsdWF0ZSh4LHt9KXx8MCkqbHM7aWYodC5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZuLnZlcnRpY2FsKXt2YXIgej1vLmxheW91dC5nZXQoInRleHQtcm90YXRlIikuZXZhbHVhdGUoeCx7fSkrOTAsST1uLnZlcnRpY2FsO009bmV3IHRjKHMscixlLGwsYyx1LEksaCxmLHAsdC5vdmVyc2NhbGluZyx6KX1mb3IodmFyIEQgaW4gbi5ob3Jpem9udGFsKXt2YXIgUj1uLmhvcml6b250YWxbRF07aWYoIWspe1A9bGMoUi50ZXh0KTt2YXIgRj1vLmxheW91dC5nZXQoInRleHQtcm90YXRlIikuZXZhbHVhdGUoeCx7fSk7az1uZXcgdGMocyxyLGUsbCxjLHUsUixoLGYscCx0Lm92ZXJzY2FsaW5nLEYpfXZhciBCPTE9PT1SLmxpbmVDb3VudDtpZihFKz1nYyh0LGUsUixvLHAseCxkLEEsbi52ZXJ0aWNhbD9jcy5ob3Jpem9udGFsOmNzLmhvcml6b250YWxPbmx5LEI/T2JqZWN0LmtleXMobi5ob3Jpem9udGFsKTpbRF0sQyxiLF8pLEIpYnJlYWt9bi52ZXJ0aWNhbCYmKEwrPWdjKHQsZSxuLnZlcnRpY2FsLG8scCx4LGQsQSxjcy52ZXJ0aWNhbCxbInZlcnRpY2FsIl0sQyxiLF8pKTt2YXIgTj1rP2suYm94U3RhcnRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aCxqPWs/ay5ib3hFbmRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aCxWPU0/TS5ib3hTdGFydEluZGV4OnQuY29sbGlzaW9uQm94QXJyYXkubGVuZ3RoLFU9TT9NLmJveEVuZEluZGV4OnQuY29sbGlzaW9uQm94QXJyYXkubGVuZ3RoO2lmKGkpe3ZhciBxPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXt2YXIgcyxsLGMsdSxoPWUuaW1hZ2UsZj1yLmxheW91dCxwPWUudG9wLTEvaC5waXhlbFJhdGlvLGQ9ZS5sZWZ0LTEvaC5waXhlbFJhdGlvLGc9ZS5ib3R0b20rMS9oLnBpeGVsUmF0aW8sdj1lLnJpZ2h0KzEvaC5waXhlbFJhdGlvO2lmKCJub25lIiE9PWYuZ2V0KCJpY29uLXRleHQtZml0IikmJmkpe3ZhciBtPXYtZCx5PWctcCx4PWYuZ2V0KCJ0ZXh0LXNpemUiKS5ldmFsdWF0ZShvLHt9KS8yNCxiPWkubGVmdCp4LF89aS5yaWdodCp4LHc9aS50b3AqeCxrPV8tYixUPWkuYm90dG9tKngtdyxNPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVswXSxBPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVsxXSxTPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVsyXSxFPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVszXSxMPSJ3aWR0aCI9PT1mLmdldCgiaWNvbi10ZXh0LWZpdCIpPy41KihULXkpOjAsQz0iaGVpZ2h0Ij09PWYuZ2V0KCJpY29uLXRleHQtZml0Iik/LjUqKGstbSk6MCxQPSJ3aWR0aCI9PT1mLmdldCgiaWNvbi10ZXh0LWZpdCIpfHwiYm90aCI9PT1mLmdldCgiaWNvbi10ZXh0LWZpdCIpP2s6bSxPPSJoZWlnaHQiPT09Zi5nZXQoImljb24tdGV4dC1maXQiKXx8ImJvdGgiPT09Zi5nZXQoImljb24tdGV4dC1maXQiKT9UOnk7cz1uZXcgYShiK0MtRSx3K0wtTSksbD1uZXcgYShiK0MrQStQLHcrTC1NKSxjPW5ldyBhKGIrQytBK1AsdytMK1MrTyksdT1uZXcgYShiK0MtRSx3K0wrUytPKX1lbHNlIHM9bmV3IGEoZCxwKSxsPW5ldyBhKHYscCksYz1uZXcgYSh2LGcpLHU9bmV3IGEoZCxnKTt2YXIgej1yLmxheW91dC5nZXQoImljb24tcm90YXRlIikuZXZhbHVhdGUobyx7fSkqTWF0aC5QSS8xODA7aWYoeil7dmFyIEk9TWF0aC5zaW4oeiksRD1NYXRoLmNvcyh6KSxSPVtELC1JLEksRF07cy5fbWF0TXVsdChSKSxsLl9tYXRNdWx0KFIpLHUuX21hdE11bHQoUiksYy5fbWF0TXVsdChSKX1yZXR1cm5be3RsOnMsdHI6bCxibDp1LGJyOmMsdGV4OmgucGFkZGVkUmVjdCx3cml0aW5nTW9kZTp2b2lkIDAsZ2x5cGhPZmZzZXQ6WzAsMF0sc2VjdGlvbkluZGV4OjB9XX0oMCxpLG8sMCx2YyhuLmhvcml6b250YWwpLHgpLEg9by5sYXlvdXQuZ2V0KCJpY29uLXJvdGF0ZSIpLmV2YWx1YXRlKHgse30pO1Q9bmV3IHRjKHMscixlLGwsYyx1LGksZyx2LCExLHQub3ZlcnNjYWxpbmcsSCksUz00KnEubGVuZ3RoO3ZhciBHPXQuaWNvblNpemVEYXRhLFk9bnVsbDsic291cmNlIj09PUcua2luZD8oWT1bX3Mqby5sYXlvdXQuZ2V0KCJpY29uLXNpemUiKS5ldmFsdWF0ZSh4LHt9KV0pWzBdPmRjJiZ3KHQubGF5ZXJJZHNbMF0rJzogVmFsdWUgZm9yICJpY29uLXNpemUiIGlzID49IDI1Ni4gUmVkdWNlIHlvdXIgImljb24tc2l6ZSIuJyk6ImNvbXBvc2l0ZSI9PT1HLmtpbmQmJigoWT1bX3MqXy5jb21wb3NpdGVJY29uU2l6ZXNbMF0uZXZhbHVhdGUoeCx7fSksX3MqXy5jb21wb3NpdGVJY29uU2l6ZXNbMV0uZXZhbHVhdGUoeCx7fSldKVswXT5kY3x8WVsxXT5kYykmJncodC5sYXllcklkc1swXSsnOiBWYWx1ZSBmb3IgImljb24tc2l6ZSIgaXMgPj0gMjU2LiBSZWR1Y2UgeW91ciAiaWNvbi1zaXplIi4nKSx0LmFkZFN5bWJvbHModC5pY29uLHEsWSx5LG0seCwhMSxlLEEubGluZVN0YXJ0SW5kZXgsQS5saW5lTGVuZ3RoKX12YXIgVz1UP1QuYm94U3RhcnRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aCxYPVQ/VC5ib3hFbmRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aDt0LmdseXBoT2Zmc2V0QXJyYXkubGVuZ3RoPj1Pcy5NQVhfR0xZUEhTJiZ3KCJUb28gbWFueSBnbHlwaHMgYmVpbmcgcmVuZGVyZWQgaW4gYSB0aWxlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcGJveC9tYXBib3gtZ2wtanMvaXNzdWVzLzI5MDciKSx0LnN5bWJvbEluc3RhbmNlcy5lbXBsYWNlQmFjayhlLngsZS55LEMucmlnaHQ+PTA/Qy5yaWdodDotMSxDLmNlbnRlcj49MD9DLmNlbnRlcjotMSxDLmxlZnQ+PTA/Qy5sZWZ0Oi0xLEMudmVydGljYWx8fC0xLFAsTixqLFYsVSxXLFgsbCxFLEwsUywwLGgsTyl9KHQsYyxsLHIsbix0LmxheWVyc1swXSx0LmNvbGxpc2lvbkJveEFycmF5LGUuaW5kZXgsZS5zb3VyY2VMYXllckluZGV4LHQuaW5kZXgsZyx4LGsscyxtLGIsVCxmLGUsaSxvKX07aWYoImxpbmUiPT09TSlmb3IodmFyIEU9MCxMPWZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPVtdLHM9MDtzPHQubGVuZ3RoO3MrKylmb3IodmFyIGw9dFtzXSxjPXZvaWQgMCx1PTA7dTxsLmxlbmd0aC0xO3UrKyl7dmFyIGg9bFt1XSxmPWxbdSsxXTtoLng8MCYmZi54PDB8fChoLng8MD9oPW5ldyBhKDAsaC55KyhmLnktaC55KSooKDAtaC54KS8oZi54LWgueCkpKS5fcm91bmQoKTpmLng8MCYmKGY9bmV3IGEoMCxoLnkrKGYueS1oLnkpKigoMC1oLngpLyhmLngtaC54KSkpLl9yb3VuZCgpKSxoLnk8MCYmZi55PDB8fChoLnk8MD9oPW5ldyBhKGgueCsoZi54LWgueCkqKCgwLWgueSkvKGYueS1oLnkpKSwwKS5fcm91bmQoKTpmLnk8MCYmKGY9bmV3IGEoaC54KyhmLngtaC54KSooKDAtaC55KS8oZi55LWgueSkpLDApLl9yb3VuZCgpKSxoLng+PW4mJmYueD49bnx8KGgueD49bj9oPW5ldyBhKG4saC55KyhmLnktaC55KSooKG4taC54KS8oZi54LWgueCkpKS5fcm91bmQoKTpmLng+PW4mJihmPW5ldyBhKG4saC55KyhmLnktaC55KSooKG4taC54KS8oZi54LWgueCkpKS5fcm91bmQoKSksaC55Pj1pJiZmLnk+PWl8fChoLnk+PWk/aD1uZXcgYShoLngrKGYueC1oLngpKigoaS1oLnkpLyhmLnktaC55KSksaSkuX3JvdW5kKCk6Zi55Pj1pJiYoZj1uZXcgYShoLngrKGYueC1oLngpKigoaS1oLnkpLyhmLnktaC55KSksaSkuX3JvdW5kKCkpLGMmJmguZXF1YWxzKGNbYy5sZW5ndGgtMV0pfHwoYz1baF0sby5wdXNoKGMpKSxjLnB1c2goZikpKSkpfXJldHVybiBvfShlLmdlb21ldHJ5LDAsMCxlaSxlaSk7RTxMLmxlbmd0aDtFKz0xKWZvcih2YXIgQz1MW0VdLFA9MCxPPSRsKEMseSxfLHIudmVydGljYWx8fHAsbiwyNCx2LHQub3ZlcnNjYWxpbmcsZWkpO1A8Ty5sZW5ndGg7UCs9MSl7dmFyIHo9T1tQXTtwJiZtYyh0LHAudGV4dCxBLHopfHxTKEMseil9ZWxzZSBpZigibGluZS1jZW50ZXIiPT09TSlmb3IodmFyIEk9MCxEPWUuZ2VvbWV0cnk7STxELmxlbmd0aDtJKz0xKXt2YXIgUj1EW0ldO2lmKFIubGVuZ3RoPjEpe3ZhciBGPVFsKFIsXyxyLnZlcnRpY2FsfHxwLG4sMjQsdik7RiYmUyhSLEYpfX1lbHNlIGlmKCJQb2x5Z29uIj09PWUudHlwZSlmb3IodmFyIEI9MCxOPW1vKGUuZ2VvbWV0cnksMCk7QjxOLmxlbmd0aDtCKz0xKXt2YXIgaj1OW0JdLFY9bmMoaiwxNik7UyhqWzBdLG5ldyBicyhWLngsVi55LDApKX1lbHNlIGlmKCJMaW5lU3RyaW5nIj09PWUudHlwZSlmb3IodmFyIFU9MCxxPWUuZ2VvbWV0cnk7VTxxLmxlbmd0aDtVKz0xKXt2YXIgSD1xW1VdO1MoSCxuZXcgYnMoSFswXS54LEhbMF0ueSwwKSl9ZWxzZSBpZigiUG9pbnQiPT09ZS50eXBlKWZvcih2YXIgRz0wLFk9ZS5nZW9tZXRyeTtHPFkubGVuZ3RoO0crPTEpZm9yKHZhciBXPTAsWD1ZW0ddO1c8WC5sZW5ndGg7Vys9MSl7dmFyIFo9WFtXXTtTKFtaXSxuZXcgYnMoWi54LFoueSwwKSl9fSh0LG8saCxELGMsdSxwKX0sXz0wLGs9dC5mZWF0dXJlcztfPGsubGVuZ3RoO18rPTEpYigpO28mJnQuZ2VuZXJhdGVDb2xsaXNpb25EZWJ1Z0J1ZmZlcnMoKX0sdC5wZXJzcGVjdGl2ZT1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpLG89MS9NYXRoLnRhbihlLzIpO3JldHVybiB0WzBdPW8vcix0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1vLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzExXT0tMSx0WzEyXT0wLHRbMTNdPTAsdFsxNV09MCxudWxsIT1hJiZhIT09MS8wPyhpPTEvKG4tYSksdFsxMF09KGErbikqaSx0WzE0XT0yKmEqbippKToodFsxMF09LTEsdFsxNF09LTIqbiksdH0sdC5waWNrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGE9ZVtuXTthIGluIHQmJihyW2FdPXRbYV0pfXJldHVybiByfSx0LnBsdWdpbj1Dbix0LnBvbHlnb25JbnRlcnNlY3RzUG9seWdvbj1vaSx0LnBvc3RNYXBMb2FkRXZlbnQ9ZXQsdC5wb3N0VHVybnN0aWxlRXZlbnQ9JCx0LnBvdHBhY2s9cXMsdC5yYXN0ZXJCb3VuZHNBdHRyaWJ1dGVzPU5sLHQucmVmUHJvcGVydGllcz1bInR5cGUiLCJzb3VyY2UiLCJzb3VyY2UtbGF5ZXIiLCJtaW56b29tIiwibWF4em9vbSIsImZpbHRlciIsImxheW91dCJdLHQucmVnaXN0ZXI9ZG4sdC5yZWdpc3RlckZvclBsdWdpbkF2YWlsYWJpbGl0eT1mdW5jdGlvbih0KXtyZXR1cm4gU24/dCh7cGx1Z2luVVJMOlNuLGNvbXBsZXRpb25DYWxsYmFjazpNbn0pOkxuLm9uY2UoInBsdWdpbkF2YWlsYWJsZSIsdCksdH0sdC5yb3RhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWVbMF0sYT1lWzFdLGk9ZVsyXSxvPWVbM10scz1NYXRoLnNpbihyKSxsPU1hdGguY29zKHIpO3JldHVybiB0WzBdPW4qbCtpKnMsdFsxXT1hKmwrbypzLHRbMl09biotcytpKmwsdFszXT1hKi1zK28qbCx0fSx0LnJvdGF0ZVg9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGguc2luKHIpLGE9TWF0aC5jb3MociksaT1lWzRdLG89ZVs1XSxzPWVbNl0sbD1lWzddLGM9ZVs4XSx1PWVbOV0saD1lWzEwXSxmPWVbMTFdO3JldHVybiBlIT09dCYmKHRbMF09ZVswXSx0WzFdPWVbMV0sdFsyXT1lWzJdLHRbM109ZVszXSx0WzEyXT1lWzEyXSx0WzEzXT1lWzEzXSx0WzE0XT1lWzE0XSx0WzE1XT1lWzE1XSksdFs0XT1pKmErYypuLHRbNV09byphK3Uqbix0WzZdPXMqYStoKm4sdFs3XT1sKmErZipuLHRbOF09YyphLWkqbix0WzldPXUqYS1vKm4sdFsxMF09aCphLXMqbix0WzExXT1mKmEtbCpuLHR9LHQucm90YXRlWj1mdW5jdGlvbih0LGUscil7dmFyIG49TWF0aC5zaW4ociksYT1NYXRoLmNvcyhyKSxpPWVbMF0sbz1lWzFdLHM9ZVsyXSxsPWVbM10sYz1lWzRdLHU9ZVs1XSxoPWVbNl0sZj1lWzddO3JldHVybiBlIT09dCYmKHRbOF09ZVs4XSx0WzldPWVbOV0sdFsxMF09ZVsxMF0sdFsxMV09ZVsxMV0sdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0pLHRbMF09aSphK2Mqbix0WzFdPW8qYSt1Km4sdFsyXT1zKmEraCpuLHRbM109bCphK2Yqbix0WzRdPWMqYS1pKm4sdFs1XT11KmEtbypuLHRbNl09aCphLXMqbix0WzddPWYqYS1sKm4sdH0sdC5zY2FsZT1mdW5jdGlvbih0LGUscil7dmFyIG49clswXSxhPXJbMV0saT1yWzJdO3JldHVybiB0WzBdPWVbMF0qbix0WzFdPWVbMV0qbix0WzJdPWVbMl0qbix0WzNdPWVbM10qbix0WzRdPWVbNF0qYSx0WzVdPWVbNV0qYSx0WzZdPWVbNl0qYSx0WzddPWVbN10qYSx0WzhdPWVbOF0qaSx0WzldPWVbOV0qaSx0WzEwXT1lWzEwXSppLHRbMTFdPWVbMTFdKmksdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0sdH0sdC5zZXRDYWNoZUxpbWl0cz1mdW5jdGlvbih0LGUpe250PXQsYXQ9ZX0sdC5zZXRSVExUZXh0UGx1Z2luPWZ1bmN0aW9uKHQsZSl7aWYoQW4pdGhyb3cgbmV3IEVycm9yKCJzZXRSVExUZXh0UGx1Z2luIGNhbm5vdCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuIik7QW49ITAsU249SS5yZXNvbHZlVVJMKHQpLE1uPWZ1bmN0aW9uKHQpe3Q/KEFuPSExLFNuPW51bGwsZSYmZSh0KSk6RW49ITB9LExuLmZpcmUobmV3IF90KCJwbHVnaW5BdmFpbGFibGUiLHtwbHVnaW5VUkw6U24sY29tcGxldGlvbkNhbGxiYWNrOk1ufSkpfSx0LnNwaGVyaWNhbFRvQ2FydGVzaWFuPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj10WzFdLG49dFsyXTtyZXR1cm4gcis9OTAscio9TWF0aC5QSS8xODAsbio9TWF0aC5QSS8xODAse3g6ZSpNYXRoLmNvcyhyKSpNYXRoLnNpbihuKSx5OmUqTWF0aC5zaW4ocikqTWF0aC5zaW4obiksejplKk1hdGguY29zKG4pfX0sdC5zdHlsZVNwZWM9VHQsdC5zeW1ib2xTaXplPU1zLHQudHJhbnNmb3JtTWF0Mz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdO3JldHVybiB0WzBdPW4qclswXSthKnJbM10raSpyWzZdLHRbMV09bipyWzFdK2Eqcls0XStpKnJbN10sdFsyXT1uKnJbMl0rYSpyWzVdK2kqcls4XSx0fSx0LnRyYW5zZm9ybU1hdDQ9VGksdC50cmFuc2xhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnPXJbMF0sdj1yWzFdLG09clsyXTtyZXR1cm4gZT09PXQ/KHRbMTJdPWVbMF0qZytlWzRdKnYrZVs4XSptK2VbMTJdLHRbMTNdPWVbMV0qZytlWzVdKnYrZVs5XSptK2VbMTNdLHRbMTRdPWVbMl0qZytlWzZdKnYrZVsxMF0qbStlWzE0XSx0WzE1XT1lWzNdKmcrZVs3XSp2K2VbMTFdKm0rZVsxNV0pOihuPWVbMF0sYT1lWzFdLGk9ZVsyXSxvPWVbM10scz1lWzRdLGw9ZVs1XSxjPWVbNl0sdT1lWzddLGg9ZVs4XSxmPWVbOV0scD1lWzEwXSxkPWVbMTFdLHRbMF09bix0WzFdPWEsdFsyXT1pLHRbM109byx0WzRdPXMsdFs1XT1sLHRbNl09Yyx0WzddPXUsdFs4XT1oLHRbOV09Zix0WzEwXT1wLHRbMTFdPWQsdFsxMl09bipnK3MqditoKm0rZVsxMl0sdFsxM109YSpnK2wqditmKm0rZVsxM10sdFsxNF09aSpnK2MqditwKm0rZVsxNF0sdFsxNV09bypnK3UqditkKm0rZVsxNV0pLHR9LHQudW5pcXVlSWQ9cCx0LnZhbGlkYXRlQ3VzdG9tU3R5bGVMYXllcj1mdW5jdGlvbih0KXt2YXIgZT1bXSxyPXQuaWQ7cmV0dXJuIHZvaWQgMD09PXImJmUucHVzaCh7bWVzc2FnZToibGF5ZXJzLiIrcisnOiBtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5ICJpZCInfSksdm9pZCAwPT09dC5yZW5kZXImJmUucHVzaCh7bWVzc2FnZToibGF5ZXJzLiIrcisnOiBtaXNzaW5nIHJlcXVpcmVkIG1ldGhvZCAicmVuZGVyIid9KSx0LnJlbmRlcmluZ01vZGUmJiIyZCIhPT10LnJlbmRlcmluZ01vZGUmJiIzZCIhPT10LnJlbmRlcmluZ01vZGUmJmUucHVzaCh7bWVzc2FnZToibGF5ZXJzLiIrcisnOiBwcm9wZXJ0eSAicmVuZGVyaW5nTW9kZSIgbXVzdCBiZSBlaXRoZXIgIjJkIiBvciAiM2QiJ30pLGV9LHQudmFsaWRhdGVMaWdodD1hbix0LnZhbGlkYXRlU3R5bGU9bm4sdC52YWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHRbcl0pO3JldHVybiBlfSx0LnZlY3RvclRpbGU9SW8sdC52ZXJzaW9uPSIxLjMuMiIsdC53YXJuT25jZT13LHQud2VicFN1cHBvcnRlZD1SLHQud2luZG93PXNlbGYsdC53cmFwPXV9KSxuKDAsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXt2YXIgcj10eXBlb2YgdDtpZigibnVtYmVyIj09PXJ8fCJib29sZWFuIj09PXJ8fCJzdHJpbmciPT09cnx8bnVsbD09dClyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCk7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHZhciBuPSJbIixhPTAsaT10O2E8aS5sZW5ndGg7YSs9MSluKz1lKGlbYV0pKyIsIjtyZXR1cm4gbisiXSJ9Zm9yKHZhciBvPU9iamVjdC5rZXlzKHQpLnNvcnQoKSxzPSJ7IixsPTA7bDxvLmxlbmd0aDtsKyspcys9SlNPTi5zdHJpbmdpZnkob1tsXSkrIjoiK2UodFtvW2xdXSkrIiwiO3JldHVybiBzKyJ9In1mdW5jdGlvbiByKHIpe2Zvcih2YXIgbj0iIixhPTAsaT10LnJlZlByb3BlcnRpZXM7YTxpLmxlbmd0aDthKz0xKW4rPSIvIitlKHJbaVthXV0pO3JldHVybiBufXZhciBuPWZ1bmN0aW9uKHQpe3RoaXMua2V5Q2FjaGU9e30sdCYmdGhpcy5yZXBsYWNlKHQpfTtuLnByb3RvdHlwZS5yZXBsYWNlPWZ1bmN0aW9uKHQpe3RoaXMuX2xheWVyQ29uZmlncz17fSx0aGlzLl9sYXllcnM9e30sdGhpcy51cGRhdGUodCxbXSl9LG4ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlLG4pe2Zvcih2YXIgYT10aGlzLGk9MCxvPWU7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldO3RoaXMuX2xheWVyQ29uZmlnc1tzLmlkXT1zO3ZhciBsPXRoaXMuX2xheWVyc1tzLmlkXT10LmNyZWF0ZVN0eWxlTGF5ZXIocyk7bC5fZmVhdHVyZUZpbHRlcj10LmZlYXR1cmVGaWx0ZXIobC5maWx0ZXIpLHRoaXMua2V5Q2FjaGVbcy5pZF0mJmRlbGV0ZSB0aGlzLmtleUNhY2hlW3MuaWRdfWZvcih2YXIgYz0wLHU9bjtjPHUubGVuZ3RoO2MrPTEpe3ZhciBoPXVbY107ZGVsZXRlIHRoaXMua2V5Q2FjaGVbaF0sZGVsZXRlIHRoaXMuX2xheWVyQ29uZmlnc1toXSxkZWxldGUgdGhpcy5fbGF5ZXJzW2hdfXRoaXMuZmFtaWxpZXNCeVNvdXJjZT17fTtmb3IodmFyIGY9MCxwPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXt9LGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGk9ZSYmZVt0W2FdLmlkXXx8cih0W2FdKTtlJiYoZVt0W2FdLmlkXT1pKTt2YXIgbz1uW2ldO298fChvPW5baV09W10pLG8ucHVzaCh0W2FdKX12YXIgcz1bXTtmb3IodmFyIGwgaW4gbilzLnB1c2gobltsXSk7cmV0dXJuIHN9KHQudmFsdWVzKHRoaXMuX2xheWVyQ29uZmlncyksdGhpcy5rZXlDYWNoZSk7ZjxwLmxlbmd0aDtmKz0xKXt2YXIgZD1wW2ZdLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gYS5fbGF5ZXJzW3QuaWRdfSksZz1kWzBdO2lmKCJub25lIiE9PWcudmlzaWJpbGl0eSl7dmFyIHY9Zy5zb3VyY2V8fCIiLG09dGhpcy5mYW1pbGllc0J5U291cmNlW3ZdO218fChtPXRoaXMuZmFtaWxpZXNCeVNvdXJjZVt2XT17fSk7dmFyIHk9Zy5zb3VyY2VMYXllcnx8Il9nZW9qc29uVGlsZUxheWVyIix4PW1beV07eHx8KHg9bVt5XT1bXSkseC5wdXNoKGQpfX19O3ZhciBhPWZ1bmN0aW9uKGUpe3ZhciByPXt9LG49W107Zm9yKHZhciBhIGluIGUpe3ZhciBpPWVbYV0sbz1yW2FdPXt9O2Zvcih2YXIgcyBpbiBpKXt2YXIgbD1pWytzXTtpZihsJiYwIT09bC5iaXRtYXAud2lkdGgmJjAhPT1sLmJpdG1hcC5oZWlnaHQpe3ZhciBjPXt4OjAseTowLHc6bC5iaXRtYXAud2lkdGgrMixoOmwuYml0bWFwLmhlaWdodCsyfTtuLnB1c2goYyksb1tzXT17cmVjdDpjLG1ldHJpY3M6bC5tZXRyaWNzfX19fXZhciB1PXQucG90cGFjayhuKSxoPXUudyxmPXUuaCxwPW5ldyB0LkFscGhhSW1hZ2Uoe3dpZHRoOmh8fDEsaGVpZ2h0OmZ8fDF9KTtmb3IodmFyIGQgaW4gZSl7dmFyIGc9ZVtkXTtmb3IodmFyIHYgaW4gZyl7dmFyIG09Z1srdl07aWYobSYmMCE9PW0uYml0bWFwLndpZHRoJiYwIT09bS5iaXRtYXAuaGVpZ2h0KXt2YXIgeT1yW2RdW3ZdLnJlY3Q7dC5BbHBoYUltYWdlLmNvcHkobS5iaXRtYXAscCx7eDowLHk6MH0se3g6eS54KzEseTp5LnkrMX0sbS5iaXRtYXApfX19dGhpcy5pbWFnZT1wLHRoaXMucG9zaXRpb25zPXJ9O3QucmVnaXN0ZXIoIkdseXBoQXRsYXMiLGEpO3ZhciBpPWZ1bmN0aW9uKGUpe3RoaXMudGlsZUlEPW5ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS50aWxlSUQub3ZlcnNjYWxlZFosZS50aWxlSUQud3JhcCxlLnRpbGVJRC5jYW5vbmljYWwueixlLnRpbGVJRC5jYW5vbmljYWwueCxlLnRpbGVJRC5jYW5vbmljYWwueSksdGhpcy51aWQ9ZS51aWQsdGhpcy56b29tPWUuem9vbSx0aGlzLnBpeGVsUmF0aW89ZS5waXhlbFJhdGlvLHRoaXMudGlsZVNpemU9ZS50aWxlU2l6ZSx0aGlzLnNvdXJjZT1lLnNvdXJjZSx0aGlzLm92ZXJzY2FsaW5nPXRoaXMudGlsZUlELm92ZXJzY2FsZUZhY3RvcigpLHRoaXMuc2hvd0NvbGxpc2lvbkJveGVzPWUuc2hvd0NvbGxpc2lvbkJveGVzLHRoaXMuY29sbGVjdFJlc291cmNlVGltaW5nPSEhZS5jb2xsZWN0UmVzb3VyY2VUaW1pbmcsdGhpcy5yZXR1cm5EZXBlbmRlbmNpZXM9ISFlLnJldHVybkRlcGVuZGVuY2llc307ZnVuY3Rpb24gbyhlLHIpe2Zvcih2YXIgbj1uZXcgdC5FdmFsdWF0aW9uUGFyYW1ldGVycyhyKSxhPTAsaT1lO2E8aS5sZW5ndGg7YSs9MSlpW2FdLnJlY2FsY3VsYXRlKG4pfWkucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGUscixuLGkpe3ZhciBzPXRoaXM7dGhpcy5zdGF0dXM9InBhcnNpbmciLHRoaXMuZGF0YT1lLHRoaXMuY29sbGlzaW9uQm94QXJyYXk9bmV3IHQuQ29sbGlzaW9uQm94QXJyYXk7dmFyIGw9bmV3IHQuRGljdGlvbmFyeUNvZGVyKE9iamVjdC5rZXlzKGUubGF5ZXJzKS5zb3J0KCkpLGM9bmV3IHQuRmVhdHVyZUluZGV4KHRoaXMudGlsZUlEKTtjLmJ1Y2tldExheWVySURzPVtdO3ZhciB1LGgsZixwLGQ9e30sZz17ZmVhdHVyZUluZGV4OmMsaWNvbkRlcGVuZGVuY2llczp7fSxwYXR0ZXJuRGVwZW5kZW5jaWVzOnt9LGdseXBoRGVwZW5kZW5jaWVzOnt9fSx2PXIuZmFtaWxpZXNCeVNvdXJjZVt0aGlzLnNvdXJjZV07Zm9yKHZhciBtIGluIHYpe3ZhciB5PWUubGF5ZXJzW21dO2lmKHkpezE9PT15LnZlcnNpb24mJnQud2Fybk9uY2UoJ1ZlY3RvciB0aWxlIHNvdXJjZSAiJyt0aGlzLnNvdXJjZSsnIiBsYXllciAiJyttKyciIGRvZXMgbm90IHVzZSB2ZWN0b3IgdGlsZSBzcGVjIHYyIGFuZCB0aGVyZWZvcmUgbWF5IGhhdmUgc29tZSByZW5kZXJpbmcgZXJyb3JzLicpO2Zvcih2YXIgeD1sLmVuY29kZShtKSxiPVtdLF89MDtfPHkubGVuZ3RoO18rKyl7dmFyIHc9eS5mZWF0dXJlKF8pO2IucHVzaCh7ZmVhdHVyZTp3LGluZGV4Ol8sc291cmNlTGF5ZXJJbmRleDp4fSl9Zm9yKHZhciBrPTAsVD12W21dO2s8VC5sZW5ndGg7ays9MSl7dmFyIE09VFtrXSxBPU1bMF07QS5taW56b29tJiZ0aGlzLnpvb208TWF0aC5mbG9vcihBLm1pbnpvb20pfHxBLm1heHpvb20mJnRoaXMuem9vbT49QS5tYXh6b29tfHwibm9uZSIhPT1BLnZpc2liaWxpdHkmJihvKE0sdGhpcy56b29tKSwoZFtBLmlkXT1BLmNyZWF0ZUJ1Y2tldCh7aW5kZXg6Yy5idWNrZXRMYXllcklEcy5sZW5ndGgsbGF5ZXJzOk0sem9vbTp0aGlzLnpvb20scGl4ZWxSYXRpbzp0aGlzLnBpeGVsUmF0aW8sb3ZlcnNjYWxpbmc6dGhpcy5vdmVyc2NhbGluZyxjb2xsaXNpb25Cb3hBcnJheTp0aGlzLmNvbGxpc2lvbkJveEFycmF5LHNvdXJjZUxheWVySW5kZXg6eCxzb3VyY2VJRDp0aGlzLnNvdXJjZX0pKS5wb3B1bGF0ZShiLGcpLGMuYnVja2V0TGF5ZXJJRHMucHVzaChNLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pKSl9fX12YXIgUz10Lm1hcE9iamVjdChnLmdseXBoRGVwZW5kZW5jaWVzLGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Qua2V5cyh0KS5tYXAoTnVtYmVyKX0pO09iamVjdC5rZXlzKFMpLmxlbmd0aD9uLnNlbmQoImdldEdseXBocyIse3VpZDp0aGlzLnVpZCxzdGFja3M6U30sZnVuY3Rpb24odCxlKXt1fHwodT10LGg9ZSxDLmNhbGwocykpfSk6aD17fTt2YXIgRT1PYmplY3Qua2V5cyhnLmljb25EZXBlbmRlbmNpZXMpO0UubGVuZ3RoP24uc2VuZCgiZ2V0SW1hZ2VzIix7aWNvbnM6RX0sZnVuY3Rpb24odCxlKXt1fHwodT10LGY9ZSxDLmNhbGwocykpfSk6Zj17fTt2YXIgTD1PYmplY3Qua2V5cyhnLnBhdHRlcm5EZXBlbmRlbmNpZXMpO2Z1bmN0aW9uIEMoKXtpZih1KXJldHVybiBpKHUpO2lmKGgmJmYmJnApe3ZhciBlPW5ldyBhKGgpLHI9bmV3IHQuSW1hZ2VBdGxhcyhmLHApO2Zvcih2YXIgbiBpbiBkKXt2YXIgcz1kW25dO3MgaW5zdGFuY2VvZiB0LlN5bWJvbEJ1Y2tldD8obyhzLmxheWVycyx0aGlzLnpvb20pLHQucGVyZm9ybVN5bWJvbExheW91dChzLGgsZS5wb3NpdGlvbnMsZixyLmljb25Qb3NpdGlvbnMsdGhpcy5zaG93Q29sbGlzaW9uQm94ZXMpKTpzLmhhc1BhdHRlcm4mJihzIGluc3RhbmNlb2YgdC5MaW5lQnVja2V0fHxzIGluc3RhbmNlb2YgdC5GaWxsQnVja2V0fHxzIGluc3RhbmNlb2YgdC5GaWxsRXh0cnVzaW9uQnVja2V0KSYmKG8ocy5sYXllcnMsdGhpcy56b29tKSxzLmFkZEZlYXR1cmVzKGcsci5wYXR0ZXJuUG9zaXRpb25zKSl9dGhpcy5zdGF0dXM9ImRvbmUiLGkobnVsbCx7YnVja2V0czp0LnZhbHVlcyhkKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIXQuaXNFbXB0eSgpfSksZmVhdHVyZUluZGV4OmMsY29sbGlzaW9uQm94QXJyYXk6dGhpcy5jb2xsaXNpb25Cb3hBcnJheSxnbHlwaEF0bGFzSW1hZ2U6ZS5pbWFnZSxpbWFnZUF0bGFzOnIsZ2x5cGhNYXA6dGhpcy5yZXR1cm5EZXBlbmRlbmNpZXM/aDpudWxsLGljb25NYXA6dGhpcy5yZXR1cm5EZXBlbmRlbmNpZXM/ZjpudWxsLGdseXBoUG9zaXRpb25zOnRoaXMucmV0dXJuRGVwZW5kZW5jaWVzP2UucG9zaXRpb25zOm51bGx9KX19TC5sZW5ndGg/bi5zZW5kKCJnZXRJbWFnZXMiLHtpY29uczpMfSxmdW5jdGlvbih0LGUpe3V8fCh1PXQscD1lLEMuY2FsbChzKSl9KTpwPXt9LEMuY2FsbCh0aGlzKX07dmFyIHM9InVuZGVmaW5lZCIhPXR5cGVvZiBwZXJmb3JtYW5jZSxsPXtnZXRFbnRyaWVzQnlOYW1lOmZ1bmN0aW9uKHQpe3JldHVybiEhKHMmJnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKSYmcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSh0KX0sbWFyazpmdW5jdGlvbih0KXtyZXR1cm4hIShzJiZwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWFyaykmJnBlcmZvcm1hbmNlLm1hcmsodCl9LG1lYXN1cmU6ZnVuY3Rpb24odCxlLHIpe3JldHVybiEhKHMmJnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlKSYmcGVyZm9ybWFuY2UubWVhc3VyZSh0LGUscil9LGNsZWFyTWFya3M6ZnVuY3Rpb24odCl7cmV0dXJuISEocyYmcGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWFya3MpJiZwZXJmb3JtYW5jZS5jbGVhck1hcmtzKHQpfSxjbGVhck1lYXN1cmVzOmZ1bmN0aW9uKHQpe3JldHVybiEhKHMmJnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5jbGVhck1lYXN1cmVzKSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyh0KX19LGM9ZnVuY3Rpb24odCl7dGhpcy5fbWFya3M9e3N0YXJ0Olt0LnVybCwic3RhcnQiXS5qb2luKCIjIiksZW5kOlt0LnVybCwiZW5kIl0uam9pbigiIyIpLG1lYXN1cmU6dC51cmwudG9TdHJpbmcoKX0sbC5tYXJrKHRoaXMuX21hcmtzLnN0YXJ0KX07ZnVuY3Rpb24gdShlLHIpe3ZhciBuPXQuZ2V0QXJyYXlCdWZmZXIoZS5yZXF1ZXN0LGZ1bmN0aW9uKGUsbixhLGkpe2U/cihlKTpuJiZyKG51bGwse3ZlY3RvclRpbGU6bmV3IHQudmVjdG9yVGlsZS5WZWN0b3JUaWxlKG5ldyB0LnBiZihuKSkscmF3RGF0YTpuLGNhY2hlQ29udHJvbDphLGV4cGlyZXM6aX0pfSk7cmV0dXJuIGZ1bmN0aW9uKCl7bi5jYW5jZWwoKSxyKCl9fWMucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe2wubWFyayh0aGlzLl9tYXJrcy5lbmQpO3ZhciB0PWwuZ2V0RW50cmllc0J5TmFtZSh0aGlzLl9tYXJrcy5tZWFzdXJlKTtyZXR1cm4gMD09PXQubGVuZ3RoJiYobC5tZWFzdXJlKHRoaXMuX21hcmtzLm1lYXN1cmUsdGhpcy5fbWFya3Muc3RhcnQsdGhpcy5fbWFya3MuZW5kKSx0PWwuZ2V0RW50cmllc0J5TmFtZSh0aGlzLl9tYXJrcy5tZWFzdXJlKSxsLmNsZWFyTWFya3ModGhpcy5fbWFya3Muc3RhcnQpLGwuY2xlYXJNYXJrcyh0aGlzLl9tYXJrcy5lbmQpLGwuY2xlYXJNZWFzdXJlcyh0aGlzLl9tYXJrcy5tZWFzdXJlKSksdH0sbC5QZXJmb3JtYW5jZT1jO3ZhciBoPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmFjdG9yPXQsdGhpcy5sYXllckluZGV4PWUsdGhpcy5sb2FkVmVjdG9yRGF0YT1yfHx1LHRoaXMubG9hZGluZz17fSx0aGlzLmxvYWRlZD17fX07aC5wcm90b3R5cGUubG9hZFRpbGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLGE9ZS51aWQ7dGhpcy5sb2FkaW5nfHwodGhpcy5sb2FkaW5nPXt9KTt2YXIgbz0hIShlJiZlLnJlcXVlc3QmJmUucmVxdWVzdC5jb2xsZWN0UmVzb3VyY2VUaW1pbmcpJiZuZXcgbC5QZXJmb3JtYW5jZShlLnJlcXVlc3QpLHM9dGhpcy5sb2FkaW5nW2FdPW5ldyBpKGUpO3MuYWJvcnQ9dGhpcy5sb2FkVmVjdG9yRGF0YShlLGZ1bmN0aW9uKGUsaSl7aWYoZGVsZXRlIG4ubG9hZGluZ1thXSxlfHwhaSlyZXR1cm4gcy5zdGF0dXM9ImRvbmUiLG4ubG9hZGVkW2FdPXMscihlKTt2YXIgbD1pLnJhd0RhdGEsYz17fTtpLmV4cGlyZXMmJihjLmV4cGlyZXM9aS5leHBpcmVzKSxpLmNhY2hlQ29udHJvbCYmKGMuY2FjaGVDb250cm9sPWkuY2FjaGVDb250cm9sKTt2YXIgdT17fTtpZihvKXt2YXIgaD1vLmZpbmlzaCgpO2gmJih1LnJlc291cmNlVGltaW5nPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaCkpKX1zLnZlY3RvclRpbGU9aS52ZWN0b3JUaWxlLHMucGFyc2UoaS52ZWN0b3JUaWxlLG4ubGF5ZXJJbmRleCxuLmFjdG9yLGZ1bmN0aW9uKGUsbil7aWYoZXx8IW4pcmV0dXJuIHIoZSk7cihudWxsLHQuZXh0ZW5kKHtyYXdUaWxlRGF0YTpsLnNsaWNlKDApfSxuLGMsdSkpfSksbi5sb2FkZWQ9bi5sb2FkZWR8fHt9LG4ubG9hZGVkW2FdPXN9KX0saC5wcm90b3R5cGUucmVsb2FkVGlsZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubG9hZGVkLG49dC51aWQsYT10aGlzO2lmKHImJnJbbl0pe3ZhciBpPXJbbl07aS5zaG93Q29sbGlzaW9uQm94ZXM9dC5zaG93Q29sbGlzaW9uQm94ZXM7dmFyIG89ZnVuY3Rpb24odCxyKXt2YXIgbj1pLnJlbG9hZENhbGxiYWNrO24mJihkZWxldGUgaS5yZWxvYWRDYWxsYmFjayxpLnBhcnNlKGkudmVjdG9yVGlsZSxhLmxheWVySW5kZXgsYS5hY3RvcixuKSksZSh0LHIpfTsicGFyc2luZyI9PT1pLnN0YXR1cz9pLnJlbG9hZENhbGxiYWNrPW86ImRvbmUiPT09aS5zdGF0dXMmJihpLnZlY3RvclRpbGU/aS5wYXJzZShpLnZlY3RvclRpbGUsdGhpcy5sYXllckluZGV4LHRoaXMuYWN0b3Isbyk6bygpKX19LGgucHJvdG90eXBlLmFib3J0VGlsZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubG9hZGluZyxuPXQudWlkO3ImJnJbbl0mJnJbbl0uYWJvcnQmJihyW25dLmFib3J0KCksZGVsZXRlIHJbbl0pLGUoKX0saC5wcm90b3R5cGUucmVtb3ZlVGlsZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubG9hZGVkLG49dC51aWQ7ciYmcltuXSYmZGVsZXRlIHJbbl0sZSgpfTt2YXIgZj1mdW5jdGlvbigpe3RoaXMubG9hZGVkPXt9fTtmLnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPWUudWlkLGE9ZS5lbmNvZGluZyxpPWUucmF3SW1hZ2VEYXRhLG89bmV3IHQuREVNRGF0YShuLGksYSk7dGhpcy5sb2FkZWQ9dGhpcy5sb2FkZWR8fHt9LHRoaXMubG9hZGVkW25dPW8scihudWxsLG8pfSxmLnByb3RvdHlwZS5yZW1vdmVUaWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubG9hZGVkLHI9dC51aWQ7ZSYmZVtyXSYmZGVsZXRlIGVbcl19O3ZhciBwPXtSQURJVVM6NjM3ODEzNyxGTEFUVEVOSU5HOjEvMjk4LjI1NzIyMzU2MyxQT0xBUl9SQURJVVM6NjM1Njc1Mi4zMTQyfTtmdW5jdGlvbiBkKHQpe3ZhciBlPTA7aWYodCYmdC5sZW5ndGg+MCl7ZSs9TWF0aC5hYnMoZyh0WzBdKSk7Zm9yKHZhciByPTE7cjx0Lmxlbmd0aDtyKyspZS09TWF0aC5hYnMoZyh0W3JdKSl9cmV0dXJuIGV9ZnVuY3Rpb24gZyh0KXt2YXIgZSxyLG4sYSxpLG8scz0wLGw9dC5sZW5ndGg7aWYobD4yKXtmb3Iobz0wO288bDtvKyspbz09PWwtMj8obj1sLTIsYT1sLTEsaT0wKTpvPT09bC0xPyhuPWwtMSxhPTAsaT0xKToobj1vLGE9bysxLGk9bysyKSxlPXRbbl0scj10W2FdLHMrPSh2KHRbaV1bMF0pLXYoZVswXSkpKk1hdGguc2luKHYoclsxXSkpO3M9cypwLlJBRElVUypwLlJBRElVUy8yfXJldHVybiBzfWZ1bmN0aW9uIHYodCl7cmV0dXJuIHQqTWF0aC5QSS8xODB9dmFyIG09e2dlb21ldHJ5OmZ1bmN0aW9uIHQoZSl7dmFyIHIsbj0wO3N3aXRjaChlLnR5cGUpe2Nhc2UiUG9seWdvbiI6cmV0dXJuIGQoZS5jb29yZGluYXRlcyk7Y2FzZSJNdWx0aVBvbHlnb24iOmZvcihyPTA7cjxlLmNvb3JkaW5hdGVzLmxlbmd0aDtyKyspbis9ZChlLmNvb3JkaW5hdGVzW3JdKTtyZXR1cm4gbjtjYXNlIlBvaW50IjpjYXNlIk11bHRpUG9pbnQiOmNhc2UiTGluZVN0cmluZyI6Y2FzZSJNdWx0aUxpbmVTdHJpbmciOnJldHVybiAwO2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpmb3Iocj0wO3I8ZS5nZW9tZXRyaWVzLmxlbmd0aDtyKyspbis9dChlLmdlb21ldHJpZXNbcl0pO3JldHVybiBufX0scmluZzpnfTtmdW5jdGlvbiB5KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0KHIsZSl9fWZ1bmN0aW9uIHgodCxlKXtlPSEhZSx0WzBdPWIodFswXSxlKTtmb3IodmFyIHI9MTtyPHQubGVuZ3RoO3IrKyl0W3JdPWIodFtyXSwhZSk7cmV0dXJuIHR9ZnVuY3Rpb24gYih0LGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbS5yaW5nKHQpPj0wfSh0KT09PWU/dDp0LnJldmVyc2UoKX12YXIgXz10LnZlY3RvclRpbGUuVmVjdG9yVGlsZUZlYXR1cmUucHJvdG90eXBlLnRvR2VvSlNPTix3PWZ1bmN0aW9uKGUpe3RoaXMuX2ZlYXR1cmU9ZSx0aGlzLmV4dGVudD10LkVYVEVOVCx0aGlzLnR5cGU9ZS50eXBlLHRoaXMucHJvcGVydGllcz1lLnRhZ3MsImlkImluIGUmJiFpc05hTihlLmlkKSYmKHRoaXMuaWQ9cGFyc2VJbnQoZS5pZCwxMCkpfTt3LnByb3RvdHlwZS5sb2FkR2VvbWV0cnk9ZnVuY3Rpb24oKXtpZigxPT09dGhpcy5fZmVhdHVyZS50eXBlKXtmb3IodmFyIGU9W10scj0wLG49dGhpcy5fZmVhdHVyZS5nZW9tZXRyeTtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07ZS5wdXNoKFtuZXcgdC5Qb2ludCQxKGFbMF0sYVsxXSldKX1yZXR1cm4gZX1mb3IodmFyIGk9W10sbz0wLHM9dGhpcy5fZmVhdHVyZS5nZW9tZXRyeTtvPHMubGVuZ3RoO28rPTEpe2Zvcih2YXIgbD1bXSxjPTAsdT1zW29dO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXTtsLnB1c2gobmV3IHQuUG9pbnQkMShoWzBdLGhbMV0pKX1pLnB1c2gobCl9cmV0dXJuIGl9LHcucHJvdG90eXBlLnRvR2VvSlNPTj1mdW5jdGlvbih0LGUscil7cmV0dXJuIF8uY2FsbCh0aGlzLHQsZSxyKX07dmFyIGs9ZnVuY3Rpb24oZSl7dGhpcy5sYXllcnM9e19nZW9qc29uVGlsZUxheWVyOnRoaXN9LHRoaXMubmFtZT0iX2dlb2pzb25UaWxlTGF5ZXIiLHRoaXMuZXh0ZW50PXQuRVhURU5ULHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuX2ZlYXR1cmVzPWV9O2sucHJvdG90eXBlLmZlYXR1cmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB3KHRoaXMuX2ZlYXR1cmVzW3RdKX07dmFyIFQ9dC52ZWN0b3JUaWxlLlZlY3RvclRpbGVGZWF0dXJlLE09QTtmdW5jdGlvbiBBKHQsZSl7dGhpcy5vcHRpb25zPWV8fHt9LHRoaXMuZmVhdHVyZXM9dCx0aGlzLmxlbmd0aD10Lmxlbmd0aH1mdW5jdGlvbiBTKHQsZSl7dGhpcy5pZD0ibnVtYmVyIj09dHlwZW9mIHQuaWQ/dC5pZDp2b2lkIDAsdGhpcy50eXBlPXQudHlwZSx0aGlzLnJhd0dlb21ldHJ5PTE9PT10LnR5cGU/W3QuZ2VvbWV0cnldOnQuZ2VvbWV0cnksdGhpcy5wcm9wZXJ0aWVzPXQudGFncyx0aGlzLmV4dGVudD1lfHw0MDk2fUEucHJvdG90eXBlLmZlYXR1cmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTKHRoaXMuZmVhdHVyZXNbdF0sdGhpcy5vcHRpb25zLmV4dGVudCl9LFMucHJvdG90eXBlLmxvYWRHZW9tZXRyeT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucmF3R2VvbWV0cnk7dGhpcy5nZW9tZXRyeT1bXTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7Zm9yKHZhciBuPWVbcl0sYT1bXSxpPTA7aTxuLmxlbmd0aDtpKyspYS5wdXNoKG5ldyB0LlBvaW50JDEobltpXVswXSxuW2ldWzFdKSk7dGhpcy5nZW9tZXRyeS5wdXNoKGEpfXJldHVybiB0aGlzLmdlb21ldHJ5fSxTLnByb3RvdHlwZS5iYm94PWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeXx8dGhpcy5sb2FkR2VvbWV0cnkoKTtmb3IodmFyIHQ9dGhpcy5nZW9tZXRyeSxlPTEvMCxyPS0xLzAsbj0xLzAsYT0tMS8wLGk9MDtpPHQubGVuZ3RoO2krKylmb3IodmFyIG89dFtpXSxzPTA7czxvLmxlbmd0aDtzKyspe3ZhciBsPW9bc107ZT1NYXRoLm1pbihlLGwueCkscj1NYXRoLm1heChyLGwueCksbj1NYXRoLm1pbihuLGwueSksYT1NYXRoLm1heChhLGwueSl9cmV0dXJuW2UsbixyLGFdfSxTLnByb3RvdHlwZS50b0dlb0pTT049VC5wcm90b3R5cGUudG9HZW9KU09OO3ZhciBFPVAsTD1QLEM9TTtmdW5jdGlvbiBQKGUpe3ZhciByPW5ldyB0LnBiZjtyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gdC5sYXllcnMpZS53cml0ZU1lc3NhZ2UoMyxPLHQubGF5ZXJzW3JdKX0oZSxyKSxyLmZpbmlzaCgpfWZ1bmN0aW9uIE8odCxlKXt2YXIgcjtlLndyaXRlVmFyaW50RmllbGQoMTUsdC52ZXJzaW9ufHwxKSxlLndyaXRlU3RyaW5nRmllbGQoMSx0Lm5hbWV8fCIiKSxlLndyaXRlVmFyaW50RmllbGQoNSx0LmV4dGVudHx8NDA5Nik7dmFyIG49e2tleXM6W10sdmFsdWVzOltdLGtleWNhY2hlOnt9LHZhbHVlY2FjaGU6e319O2ZvcihyPTA7cjx0Lmxlbmd0aDtyKyspbi5mZWF0dXJlPXQuZmVhdHVyZShyKSxlLndyaXRlTWVzc2FnZSgyLHosbik7dmFyIGE9bi5rZXlzO2ZvcihyPTA7cjxhLmxlbmd0aDtyKyspZS53cml0ZVN0cmluZ0ZpZWxkKDMsYVtyXSk7dmFyIGk9bi52YWx1ZXM7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyllLndyaXRlTWVzc2FnZSg0LEIsaVtyXSl9ZnVuY3Rpb24geih0LGUpe3ZhciByPXQuZmVhdHVyZTt2b2lkIDAhPT1yLmlkJiZlLndyaXRlVmFyaW50RmllbGQoMSxyLmlkKSxlLndyaXRlTWVzc2FnZSgyLEksdCksZS53cml0ZVZhcmludEZpZWxkKDMsci50eXBlKSxlLndyaXRlTWVzc2FnZSg0LEYscil9ZnVuY3Rpb24gSSh0LGUpe3ZhciByPXQuZmVhdHVyZSxuPXQua2V5cyxhPXQudmFsdWVzLGk9dC5rZXljYWNoZSxvPXQudmFsdWVjYWNoZTtmb3IodmFyIHMgaW4gci5wcm9wZXJ0aWVzKXt2YXIgbD1pW3NdO3ZvaWQgMD09PWwmJihuLnB1c2gocyksbD1uLmxlbmd0aC0xLGlbc109bCksZS53cml0ZVZhcmludChsKTt2YXIgYz1yLnByb3BlcnRpZXNbc10sdT10eXBlb2YgYzsic3RyaW5nIiE9PXUmJiJib29sZWFuIiE9PXUmJiJudW1iZXIiIT09dSYmKGM9SlNPTi5zdHJpbmdpZnkoYykpO3ZhciBoPXUrIjoiK2MsZj1vW2hdO3ZvaWQgMD09PWYmJihhLnB1c2goYyksZj1hLmxlbmd0aC0xLG9baF09ZiksZS53cml0ZVZhcmludChmKX19ZnVuY3Rpb24gRCh0LGUpe3JldHVybihlPDwzKSsoNyZ0KX1mdW5jdGlvbiBSKHQpe3JldHVybiB0PDwxXnQ+PjMxfWZ1bmN0aW9uIEYodCxlKXtmb3IodmFyIHI9dC5sb2FkR2VvbWV0cnkoKSxuPXQudHlwZSxhPTAsaT0wLG89ci5sZW5ndGgscz0wO3M8bztzKyspe3ZhciBsPXJbc10sYz0xOzE9PT1uJiYoYz1sLmxlbmd0aCksZS53cml0ZVZhcmludChEKDEsYykpO2Zvcih2YXIgdT0zPT09bj9sLmxlbmd0aC0xOmwubGVuZ3RoLGg9MDtoPHU7aCsrKXsxPT09aCYmMSE9PW4mJmUud3JpdGVWYXJpbnQoRCgyLHUtMSkpO3ZhciBmPWxbaF0ueC1hLHA9bFtoXS55LWk7ZS53cml0ZVZhcmludChSKGYpKSxlLndyaXRlVmFyaW50KFIocCkpLGErPWYsaSs9cH0zPT09biYmZS53cml0ZVZhcmludChEKDcsMSkpfX1mdW5jdGlvbiBCKHQsZSl7dmFyIHI9dHlwZW9mIHQ7InN0cmluZyI9PT1yP2Uud3JpdGVTdHJpbmdGaWVsZCgxLHQpOiJib29sZWFuIj09PXI/ZS53cml0ZUJvb2xlYW5GaWVsZCg3LHQpOiJudW1iZXIiPT09ciYmKHQlMSE9MD9lLndyaXRlRG91YmxlRmllbGQoMyx0KTp0PDA/ZS53cml0ZVNWYXJpbnRGaWVsZCg2LHQpOmUud3JpdGVWYXJpbnRGaWVsZCg1LHQpKX1mdW5jdGlvbiBOKHQsZSxyLG4pe2oodCxyLG4pLGooZSwyKnIsMipuKSxqKGUsMipyKzEsMipuKzEpfWZ1bmN0aW9uIGoodCxlLHIpe3ZhciBuPXRbZV07dFtlXT10W3JdLHRbcl09bn1mdW5jdGlvbiBWKHQsZSxyLG4pe3ZhciBhPXQtcixpPWUtbjtyZXR1cm4gYSphK2kqaX1FLmZyb21WZWN0b3JUaWxlSnM9TCxFLmZyb21HZW9qc29uVnQ9ZnVuY3Rpb24odCxlKXtlPWV8fHt9O3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0KXJbbl09bmV3IE0odFtuXS5mZWF0dXJlcyxlKSxyW25dLm5hbWU9bixyW25dLnZlcnNpb249ZS52ZXJzaW9uLHJbbl0uZXh0ZW50PWUuZXh0ZW50O3JldHVybiBQKHtsYXllcnM6cn0pfSxFLkdlb0pTT05XcmFwcGVyPUM7dmFyIFU9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19LHE9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19LEg9ZnVuY3Rpb24odCxlLHIsbixhKXt2b2lkIDA9PT1lJiYoZT1VKSx2b2lkIDA9PT1yJiYocj1xKSx2b2lkIDA9PT1uJiYobj02NCksdm9pZCAwPT09YSYmKGE9RmxvYXQ2NEFycmF5KSx0aGlzLm5vZGVTaXplPW4sdGhpcy5wb2ludHM9dDtmb3IodmFyIGk9dC5sZW5ndGg8NjU1MzY/VWludDE2QXJyYXk6VWludDMyQXJyYXksbz10aGlzLmlkcz1uZXcgaSh0Lmxlbmd0aCkscz10aGlzLmNvb3Jkcz1uZXcgYSgyKnQubGVuZ3RoKSxsPTA7bDx0Lmxlbmd0aDtsKyspb1tsXT1sLHNbMipsXT1lKHRbbF0pLHNbMipsKzFdPXIodFtsXSk7IWZ1bmN0aW9uIHQoZSxyLG4sYSxpLG8pe2lmKCEoaS1hPD1uKSl7dmFyIHM9YStpPj4xOyFmdW5jdGlvbiB0KGUscixuLGEsaSxvKXtmb3IoO2k+YTspe2lmKGktYT42MDApe3ZhciBzPWktYSsxLGw9bi1hKzEsYz1NYXRoLmxvZyhzKSx1PS41Kk1hdGguZXhwKDIqYy8zKSxoPS41Kk1hdGguc3FydChjKnUqKHMtdSkvcykqKGwtcy8yPDA/LTE6MSk7dChlLHIsbixNYXRoLm1heChhLE1hdGguZmxvb3Iobi1sKnUvcytoKSksTWF0aC5taW4oaSxNYXRoLmZsb29yKG4rKHMtbCkqdS9zK2gpKSxvKX12YXIgZj1yWzIqbitvXSxwPWEsZD1pO2ZvcihOKGUscixhLG4pLHJbMippK29dPmYmJk4oZSxyLGEsaSk7cDxkOyl7Zm9yKE4oZSxyLHAsZCkscCsrLGQtLTtyWzIqcCtvXTxmOylwKys7Zm9yKDtyWzIqZCtvXT5mOylkLS19clsyKmErb109PT1mP04oZSxyLGEsZCk6TihlLHIsKytkLGkpLGQ8PW4mJihhPWQrMSksbjw9ZCYmKGk9ZC0xKX19KGUscixzLGEsaSxvJTIpLHQoZSxyLG4sYSxzLTEsbysxKSx0KGUscixuLHMrMSxpLG8rMSl9fShvLHMsbiwwLG8ubGVuZ3RoLTEsMCl9O0gucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBmdW5jdGlvbih0LGUscixuLGEsaSxvKXtmb3IodmFyIHMsbCxjPVswLHQubGVuZ3RoLTEsMF0sdT1bXTtjLmxlbmd0aDspe3ZhciBoPWMucG9wKCksZj1jLnBvcCgpLHA9Yy5wb3AoKTtpZihmLXA8PW8pZm9yKHZhciBkPXA7ZDw9ZjtkKyspcz1lWzIqZF0sbD1lWzIqZCsxXSxzPj1yJiZzPD1hJiZsPj1uJiZsPD1pJiZ1LnB1c2godFtkXSk7ZWxzZXt2YXIgZz1NYXRoLmZsb29yKChwK2YpLzIpO3M9ZVsyKmddLGw9ZVsyKmcrMV0scz49ciYmczw9YSYmbD49biYmbDw9aSYmdS5wdXNoKHRbZ10pO3ZhciB2PShoKzEpJTI7KDA9PT1oP3I8PXM6bjw9bCkmJihjLnB1c2gocCksYy5wdXNoKGctMSksYy5wdXNoKHYpKSwoMD09PWg/YT49czppPj1sKSYmKGMucHVzaChnKzEpLGMucHVzaChmKSxjLnB1c2godikpfX1yZXR1cm4gdX0odGhpcy5pZHMsdGhpcy5jb29yZHMsdCxlLHIsbix0aGlzLm5vZGVTaXplKX0sSC5wcm90b3R5cGUud2l0aGluPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIsbixhLGkpe2Zvcih2YXIgbz1bMCx0Lmxlbmd0aC0xLDBdLHM9W10sbD1hKmE7by5sZW5ndGg7KXt2YXIgYz1vLnBvcCgpLHU9by5wb3AoKSxoPW8ucG9wKCk7aWYodS1oPD1pKWZvcih2YXIgZj1oO2Y8PXU7ZisrKVYoZVsyKmZdLGVbMipmKzFdLHIsbik8PWwmJnMucHVzaCh0W2ZdKTtlbHNle3ZhciBwPU1hdGguZmxvb3IoKGgrdSkvMiksZD1lWzIqcF0sZz1lWzIqcCsxXTtWKGQsZyxyLG4pPD1sJiZzLnB1c2godFtwXSk7dmFyIHY9KGMrMSklMjsoMD09PWM/ci1hPD1kOm4tYTw9ZykmJihvLnB1c2goaCksby5wdXNoKHAtMSksby5wdXNoKHYpKSwoMD09PWM/cithPj1kOm4rYT49ZykmJihvLnB1c2gocCsxKSxvLnB1c2godSksby5wdXNoKHYpKX19cmV0dXJuIHN9KHRoaXMuaWRzLHRoaXMuY29vcmRzLHQsZSxyLHRoaXMubm9kZVNpemUpfTt2YXIgRz17bWluWm9vbTowLG1heFpvb206MTYscmFkaXVzOjQwLGV4dGVudDo1MTIsbm9kZVNpemU6NjQsbG9nOiExLHJlZHVjZTpudWxsLG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gdH19LFk9ZnVuY3Rpb24odCl7dGhpcy5vcHRpb25zPSQoT2JqZWN0LmNyZWF0ZShHKSx0KSx0aGlzLnRyZWVzPW5ldyBBcnJheSh0aGlzLm9wdGlvbnMubWF4Wm9vbSsxKX07ZnVuY3Rpb24gVyh0LGUscixuLGEpe3JldHVybnt4OnQseTplLHpvb206MS8wLGlkOnIscGFyZW50SWQ6LTEsbnVtUG9pbnRzOm4scHJvcGVydGllczphfX1mdW5jdGlvbiBYKHQsZSl7dmFyIHI9dC5nZW9tZXRyeS5jb29yZGluYXRlcyxuPXJbMF0sYT1yWzFdO3JldHVybnt4OksobikseTpRKGEpLHpvb206MS8wLGluZGV4OmUscGFyZW50SWQ6LTF9fWZ1bmN0aW9uIFoodCl7cmV0dXJue3R5cGU6IkZlYXR1cmUiLGlkOnQuaWQscHJvcGVydGllczpKKHQpLGdlb21ldHJ5Ont0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6WyhuPXQueCwzNjAqKG4tLjUpKSwoZT10Lnkscj0oMTgwLTM2MCplKSpNYXRoLlBJLzE4MCwzNjAqTWF0aC5hdGFuKE1hdGguZXhwKHIpKS9NYXRoLlBJLTkwKV19fTt2YXIgZSxyLG59ZnVuY3Rpb24gSih0KXt2YXIgZT10Lm51bVBvaW50cyxyPWU+PTFlND9NYXRoLnJvdW5kKGUvMWUzKSsiayI6ZT49MWUzP01hdGgucm91bmQoZS8xMDApLzEwKyJrIjplO3JldHVybiAkKCQoe30sdC5wcm9wZXJ0aWVzKSx7Y2x1c3RlcjohMCxjbHVzdGVyX2lkOnQuaWQscG9pbnRfY291bnQ6ZSxwb2ludF9jb3VudF9hYmJyZXZpYXRlZDpyfSl9ZnVuY3Rpb24gSyh0KXtyZXR1cm4gdC8zNjArLjV9ZnVuY3Rpb24gUSh0KXt2YXIgZT1NYXRoLnNpbih0Kk1hdGguUEkvMTgwKSxyPS41LS4yNSpNYXRoLmxvZygoMStlKS8oMS1lKSkvTWF0aC5QSTtyZXR1cm4gcjwwPzA6cj4xPzE6cn1mdW5jdGlvbiAkKHQsZSl7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fWZ1bmN0aW9uIHR0KHQpe3JldHVybiB0Lnh9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIHQueX1mdW5jdGlvbiBydCh0LGUscixuLGEsaSl7dmFyIG89YS1yLHM9aS1uO2lmKDAhPT1vfHwwIT09cyl7dmFyIGw9KCh0LXIpKm8rKGUtbikqcykvKG8qbytzKnMpO2w+MT8ocj1hLG49aSk6bD4wJiYocis9bypsLG4rPXMqbCl9cmV0dXJuKG89dC1yKSpvKyhzPWUtbikqc31mdW5jdGlvbiBudCh0LGUscixuKXt2YXIgYT17aWQ6dm9pZCAwPT09dD9udWxsOnQsdHlwZTplLGdlb21ldHJ5OnIsdGFnczpuLG1pblg6MS8wLG1pblk6MS8wLG1heFg6LTEvMCxtYXhZOi0xLzB9O3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10Lmdlb21ldHJ5LHI9dC50eXBlO2lmKCJQb2ludCI9PT1yfHwiTXVsdGlQb2ludCI9PT1yfHwiTGluZVN0cmluZyI9PT1yKWF0KHQsZSk7ZWxzZSBpZigiUG9seWdvbiI9PT1yfHwiTXVsdGlMaW5lU3RyaW5nIj09PXIpZm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspYXQodCxlW25dKTtlbHNlIGlmKCJNdWx0aVBvbHlnb24iPT09cilmb3Iobj0wO248ZS5sZW5ndGg7bisrKWZvcih2YXIgYT0wO2E8ZVtuXS5sZW5ndGg7YSsrKWF0KHQsZVtuXVthXSl9KGEpLGF9ZnVuY3Rpb24gYXQodCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpdC5taW5YPU1hdGgubWluKHQubWluWCxlW3JdKSx0Lm1pblk9TWF0aC5taW4odC5taW5ZLGVbcisxXSksdC5tYXhYPU1hdGgubWF4KHQubWF4WCxlW3JdKSx0Lm1heFk9TWF0aC5tYXgodC5tYXhZLGVbcisxXSl9ZnVuY3Rpb24gaXQodCxlLHIsbil7aWYoZS5nZW9tZXRyeSl7dmFyIGE9ZS5nZW9tZXRyeS5jb29yZGluYXRlcyxpPWUuZ2VvbWV0cnkudHlwZSxvPU1hdGgucG93KHIudG9sZXJhbmNlLygoMTw8ci5tYXhab29tKSpyLmV4dGVudCksMikscz1bXSxsPWUuaWQ7aWYoci5wcm9tb3RlSWQ/bD1lLnByb3BlcnRpZXNbci5wcm9tb3RlSWRdOnIuZ2VuZXJhdGVJZCYmKGw9bnx8MCksIlBvaW50Ij09PWkpb3QoYSxzKTtlbHNlIGlmKCJNdWx0aVBvaW50Ij09PWkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspb3QoYVtjXSxzKTtlbHNlIGlmKCJMaW5lU3RyaW5nIj09PWkpc3QoYSxzLG8sITEpO2Vsc2UgaWYoIk11bHRpTGluZVN0cmluZyI9PT1pKXtpZihyLmxpbmVNZXRyaWNzKXtmb3IoYz0wO2M8YS5sZW5ndGg7YysrKXM9W10sc3QoYVtjXSxzLG8sITEpLHQucHVzaChudChsLCJMaW5lU3RyaW5nIixzLGUucHJvcGVydGllcykpO3JldHVybn1sdChhLHMsbywhMSl9ZWxzZSBpZigiUG9seWdvbiI9PT1pKWx0KGEscyxvLCEwKTtlbHNle2lmKCJNdWx0aVBvbHlnb24iIT09aSl7aWYoIkdlb21ldHJ5Q29sbGVjdGlvbiI9PT1pKXtmb3IoYz0wO2M8ZS5nZW9tZXRyeS5nZW9tZXRyaWVzLmxlbmd0aDtjKyspaXQodCx7aWQ6bCxnZW9tZXRyeTplLmdlb21ldHJ5Lmdlb21ldHJpZXNbY10scHJvcGVydGllczplLnByb3BlcnRpZXN9LHIsbik7cmV0dXJufXRocm93IG5ldyBFcnJvcigiSW5wdXQgZGF0YSBpcyBub3QgYSB2YWxpZCBHZW9KU09OIG9iamVjdC4iKX1mb3IoYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgdT1bXTtsdChhW2NdLHUsbywhMCkscy5wdXNoKHUpfX10LnB1c2gobnQobCxpLHMsZS5wcm9wZXJ0aWVzKSl9fWZ1bmN0aW9uIG90KHQsZSl7ZS5wdXNoKGN0KHRbMF0pKSxlLnB1c2godXQodFsxXSkpLGUucHVzaCgwKX1mdW5jdGlvbiBzdCh0LGUscixuKXtmb3IodmFyIGEsaSxvPTAscz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgbD1jdCh0W3NdWzBdKSxjPXV0KHRbc11bMV0pO2UucHVzaChsKSxlLnB1c2goYyksZS5wdXNoKDApLHM+MCYmKG8rPW4/KGEqYy1sKmkpLzI6TWF0aC5zcXJ0KE1hdGgucG93KGwtYSwyKStNYXRoLnBvdyhjLWksMikpKSxhPWwsaT1jfXZhciB1PWUubGVuZ3RoLTM7ZVsyXT0xLGZ1bmN0aW9uIHQoZSxyLG4sYSl7Zm9yKHZhciBpLG89YSxzPW4tcj4+MSxsPW4tcixjPWVbcl0sdT1lW3IrMV0saD1lW25dLGY9ZVtuKzFdLHA9ciszO3A8bjtwKz0zKXt2YXIgZD1ydChlW3BdLGVbcCsxXSxjLHUsaCxmKTtpZihkPm8paT1wLG89ZDtlbHNlIGlmKGQ9PT1vKXt2YXIgZz1NYXRoLmFicyhwLXMpO2c8bCYmKGk9cCxsPWcpfX1vPmEmJihpLXI+MyYmdChlLHIsaSxhKSxlW2krMl09byxuLWk+MyYmdChlLGksbixhKSl9KGUsMCx1LHIpLGVbdSsyXT0xLGUuc2l6ZT1NYXRoLmFicyhvKSxlLnN0YXJ0PTAsZS5lbmQ9ZS5zaXplfWZ1bmN0aW9uIGx0KHQsZSxyLG4pe2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKXt2YXIgaT1bXTtzdCh0W2FdLGkscixuKSxlLnB1c2goaSl9fWZ1bmN0aW9uIGN0KHQpe3JldHVybiB0LzM2MCsuNX1mdW5jdGlvbiB1dCh0KXt2YXIgZT1NYXRoLnNpbih0Kk1hdGguUEkvMTgwKSxyPS41LS4yNSpNYXRoLmxvZygoMStlKS8oMS1lKSkvTWF0aC5QSTtyZXR1cm4gcjwwPzA6cj4xPzE6cn1mdW5jdGlvbiBodCh0LGUscixuLGEsaSxvLHMpe2lmKG4vPWUsaT49KHIvPWUpJiZvPG4pcmV0dXJuIHQ7aWYobzxyfHxpPj1uKXJldHVybiBudWxsO2Zvcih2YXIgbD1bXSxjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciB1PXRbY10saD11Lmdlb21ldHJ5LGY9dS50eXBlLHA9MD09PWE/dS5taW5YOnUubWluWSxkPTA9PT1hP3UubWF4WDp1Lm1heFk7aWYocD49ciYmZDxuKWwucHVzaCh1KTtlbHNlIGlmKCEoZDxyfHxwPj1uKSl7dmFyIGc9W107aWYoIlBvaW50Ij09PWZ8fCJNdWx0aVBvaW50Ij09PWYpZnQoaCxnLHIsbixhKTtlbHNlIGlmKCJMaW5lU3RyaW5nIj09PWYpcHQoaCxnLHIsbixhLCExLHMubGluZU1ldHJpY3MpO2Vsc2UgaWYoIk11bHRpTGluZVN0cmluZyI9PT1mKWd0KGgsZyxyLG4sYSwhMSk7ZWxzZSBpZigiUG9seWdvbiI9PT1mKWd0KGgsZyxyLG4sYSwhMCk7ZWxzZSBpZigiTXVsdGlQb2x5Z29uIj09PWYpZm9yKHZhciB2PTA7djxoLmxlbmd0aDt2Kyspe3ZhciBtPVtdO2d0KGhbdl0sbSxyLG4sYSwhMCksbS5sZW5ndGgmJmcucHVzaChtKX1pZihnLmxlbmd0aCl7aWYocy5saW5lTWV0cmljcyYmIkxpbmVTdHJpbmciPT09Zil7Zm9yKHY9MDt2PGcubGVuZ3RoO3YrKylsLnB1c2gobnQodS5pZCxmLGdbdl0sdS50YWdzKSk7Y29udGludWV9IkxpbmVTdHJpbmciIT09ZiYmIk11bHRpTGluZVN0cmluZyIhPT1mfHwoMT09PWcubGVuZ3RoPyhmPSJMaW5lU3RyaW5nIixnPWdbMF0pOmY9Ik11bHRpTGluZVN0cmluZyIpLCJQb2ludCIhPT1mJiYiTXVsdGlQb2ludCIhPT1mfHwoZj0zPT09Zy5sZW5ndGg/IlBvaW50IjoiTXVsdGlQb2ludCIpLGwucHVzaChudCh1LmlkLGYsZyx1LnRhZ3MpKX19fXJldHVybiBsLmxlbmd0aD9sOm51bGx9ZnVuY3Rpb24gZnQodCxlLHIsbixhKXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krPTMpe3ZhciBvPXRbaSthXTtvPj1yJiZvPD1uJiYoZS5wdXNoKHRbaV0pLGUucHVzaCh0W2krMV0pLGUucHVzaCh0W2krMl0pKX19ZnVuY3Rpb24gcHQodCxlLHIsbixhLGksbyl7Zm9yKHZhciBzLGwsYz1kdCh0KSx1PTA9PT1hP210Onl0LGg9dC5zdGFydCxmPTA7Zjx0Lmxlbmd0aC0zO2YrPTMpe3ZhciBwPXRbZl0sZD10W2YrMV0sZz10W2YrMl0sdj10W2YrM10sbT10W2YrNF0seT0wPT09YT9wOmQseD0wPT09YT92Om0sYj0hMTtvJiYocz1NYXRoLnNxcnQoTWF0aC5wb3cocC12LDIpK01hdGgucG93KGQtbSwyKSkpLHk8cj94PnImJihsPXUoYyxwLGQsdixtLHIpLG8mJihjLnN0YXJ0PWgrcypsKSk6eT5uP3g8biYmKGw9dShjLHAsZCx2LG0sbiksbyYmKGMuc3RhcnQ9aCtzKmwpKTp2dChjLHAsZCxnKSx4PHImJnk+PXImJihsPXUoYyxwLGQsdixtLHIpLGI9ITApLHg+biYmeTw9biYmKGw9dShjLHAsZCx2LG0sbiksYj0hMCksIWkmJmImJihvJiYoYy5lbmQ9aCtzKmwpLGUucHVzaChjKSxjPWR0KHQpKSxvJiYoaCs9cyl9dmFyIF89dC5sZW5ndGgtMztwPXRbX10sZD10W18rMV0sZz10W18rMl0sKHk9MD09PWE/cDpkKT49ciYmeTw9biYmdnQoYyxwLGQsZyksXz1jLmxlbmd0aC0zLGkmJl8+PTMmJihjW19dIT09Y1swXXx8Y1tfKzFdIT09Y1sxXSkmJnZ0KGMsY1swXSxjWzFdLGNbMl0pLGMubGVuZ3RoJiZlLnB1c2goYyl9ZnVuY3Rpb24gZHQodCl7dmFyIGU9W107cmV0dXJuIGUuc2l6ZT10LnNpemUsZS5zdGFydD10LnN0YXJ0LGUuZW5kPXQuZW5kLGV9ZnVuY3Rpb24gZ3QodCxlLHIsbixhLGkpe2Zvcih2YXIgbz0wO288dC5sZW5ndGg7bysrKXB0KHRbb10sZSxyLG4sYSxpLCExKX1mdW5jdGlvbiB2dCh0LGUscixuKXt0LnB1c2goZSksdC5wdXNoKHIpLHQucHVzaChuKX1mdW5jdGlvbiBtdCh0LGUscixuLGEsaSl7dmFyIG89KGktZSkvKG4tZSk7cmV0dXJuIHQucHVzaChpKSx0LnB1c2gocisoYS1yKSpvKSx0LnB1c2goMSksb31mdW5jdGlvbiB5dCh0LGUscixuLGEsaSl7dmFyIG89KGktcikvKGEtcik7cmV0dXJuIHQucHVzaChlKyhuLWUpKm8pLHQucHVzaChpKSx0LnB1c2goMSksb31mdW5jdGlvbiB4dCh0LGUpe2Zvcih2YXIgcj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBhLGk9dFtuXSxvPWkudHlwZTtpZigiUG9pbnQiPT09b3x8Ik11bHRpUG9pbnQiPT09b3x8IkxpbmVTdHJpbmciPT09bylhPWJ0KGkuZ2VvbWV0cnksZSk7ZWxzZSBpZigiTXVsdGlMaW5lU3RyaW5nIj09PW98fCJQb2x5Z29uIj09PW8pe2E9W107Zm9yKHZhciBzPTA7czxpLmdlb21ldHJ5Lmxlbmd0aDtzKyspYS5wdXNoKGJ0KGkuZ2VvbWV0cnlbc10sZSkpfWVsc2UgaWYoIk11bHRpUG9seWdvbiI9PT1vKWZvcihhPVtdLHM9MDtzPGkuZ2VvbWV0cnkubGVuZ3RoO3MrKyl7Zm9yKHZhciBsPVtdLGM9MDtjPGkuZ2VvbWV0cnlbc10ubGVuZ3RoO2MrKylsLnB1c2goYnQoaS5nZW9tZXRyeVtzXVtjXSxlKSk7YS5wdXNoKGwpfXIucHVzaChudChpLmlkLG8sYSxpLnRhZ3MpKX1yZXR1cm4gcn1mdW5jdGlvbiBidCh0LGUpe3ZhciByPVtdO3Iuc2l6ZT10LnNpemUsdm9pZCAwIT09dC5zdGFydCYmKHIuc3RhcnQ9dC5zdGFydCxyLmVuZD10LmVuZCk7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKz0zKXIucHVzaCh0W25dK2UsdFtuKzFdLHRbbisyXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gX3QodCxlKXtpZih0LnRyYW5zZm9ybWVkKXJldHVybiB0O3ZhciByLG4sYSxpPTE8PHQueixvPXQueCxzPXQueTtmb3Iocj0wO3I8dC5mZWF0dXJlcy5sZW5ndGg7cisrKXt2YXIgbD10LmZlYXR1cmVzW3JdLGM9bC5nZW9tZXRyeSx1PWwudHlwZTtpZihsLmdlb21ldHJ5PVtdLDE9PT11KWZvcihuPTA7bjxjLmxlbmd0aDtuKz0yKWwuZ2VvbWV0cnkucHVzaCh3dChjW25dLGNbbisxXSxlLGksbyxzKSk7ZWxzZSBmb3Iobj0wO248Yy5sZW5ndGg7bisrKXt2YXIgaD1bXTtmb3IoYT0wO2E8Y1tuXS5sZW5ndGg7YSs9MiloLnB1c2god3QoY1tuXVthXSxjW25dW2ErMV0sZSxpLG8scykpO2wuZ2VvbWV0cnkucHVzaChoKX19cmV0dXJuIHQudHJhbnNmb3JtZWQ9ITAsdH1mdW5jdGlvbiB3dCh0LGUscixuLGEsaSl7cmV0dXJuW01hdGgucm91bmQocioodCpuLWEpKSxNYXRoLnJvdW5kKHIqKGUqbi1pKSldfWZ1bmN0aW9uIGt0KHQsZSxyLG4sYSl7Zm9yKHZhciBpPWU9PT1hLm1heFpvb20/MDphLnRvbGVyYW5jZS8oKDE8PGUpKmEuZXh0ZW50KSxvPXtmZWF0dXJlczpbXSxudW1Qb2ludHM6MCxudW1TaW1wbGlmaWVkOjAsbnVtRmVhdHVyZXM6MCxzb3VyY2U6bnVsbCx4OnIseTpuLHo6ZSx0cmFuc2Zvcm1lZDohMSxtaW5YOjIsbWluWToxLG1heFg6LTEsbWF4WTowfSxzPTA7czx0Lmxlbmd0aDtzKyspe28ubnVtRmVhdHVyZXMrKyxUdChvLHRbc10saSxhKTt2YXIgbD10W3NdLm1pblgsYz10W3NdLm1pblksdT10W3NdLm1heFgsaD10W3NdLm1heFk7bDxvLm1pblgmJihvLm1pblg9bCksYzxvLm1pblkmJihvLm1pblk9YyksdT5vLm1heFgmJihvLm1heFg9dSksaD5vLm1heFkmJihvLm1heFk9aCl9cmV0dXJuIG99ZnVuY3Rpb24gVHQodCxlLHIsbil7dmFyIGE9ZS5nZW9tZXRyeSxpPWUudHlwZSxvPVtdO2lmKCJQb2ludCI9PT1pfHwiTXVsdGlQb2ludCI9PT1pKWZvcih2YXIgcz0wO3M8YS5sZW5ndGg7cys9MylvLnB1c2goYVtzXSksby5wdXNoKGFbcysxXSksdC5udW1Qb2ludHMrKyx0Lm51bVNpbXBsaWZpZWQrKztlbHNlIGlmKCJMaW5lU3RyaW5nIj09PWkpTXQobyxhLHQsciwhMSwhMSk7ZWxzZSBpZigiTXVsdGlMaW5lU3RyaW5nIj09PWl8fCJQb2x5Z29uIj09PWkpZm9yKHM9MDtzPGEubGVuZ3RoO3MrKylNdChvLGFbc10sdCxyLCJQb2x5Z29uIj09PWksMD09PXMpO2Vsc2UgaWYoIk11bHRpUG9seWdvbiI9PT1pKWZvcih2YXIgbD0wO2w8YS5sZW5ndGg7bCsrKXt2YXIgYz1hW2xdO2ZvcihzPTA7czxjLmxlbmd0aDtzKyspTXQobyxjW3NdLHQsciwhMCwwPT09cyl9aWYoby5sZW5ndGgpe3ZhciB1PWUudGFnc3x8bnVsbDtpZigiTGluZVN0cmluZyI9PT1pJiZuLmxpbmVNZXRyaWNzKXtmb3IodmFyIGggaW4gdT17fSxlLnRhZ3MpdVtoXT1lLnRhZ3NbaF07dS5tYXBib3hfY2xpcF9zdGFydD1hLnN0YXJ0L2Euc2l6ZSx1Lm1hcGJveF9jbGlwX2VuZD1hLmVuZC9hLnNpemV9dmFyIGY9e2dlb21ldHJ5Om8sdHlwZToiUG9seWdvbiI9PT1pfHwiTXVsdGlQb2x5Z29uIj09PWk/MzoiTGluZVN0cmluZyI9PT1pfHwiTXVsdGlMaW5lU3RyaW5nIj09PWk/MjoxLHRhZ3M6dX07bnVsbCE9PWUuaWQmJihmLmlkPWUuaWQpLHQuZmVhdHVyZXMucHVzaChmKX19ZnVuY3Rpb24gTXQodCxlLHIsbixhLGkpe3ZhciBvPW4qbjtpZihuPjAmJmUuc2l6ZTwoYT9vOm4pKXIubnVtUG9pbnRzKz1lLmxlbmd0aC8zO2Vsc2V7Zm9yKHZhciBzPVtdLGw9MDtsPGUubGVuZ3RoO2wrPTMpKDA9PT1ufHxlW2wrMl0+bykmJihyLm51bVNpbXBsaWZpZWQrKyxzLnB1c2goZVtsXSkscy5wdXNoKGVbbCsxXSkpLHIubnVtUG9pbnRzKys7YSYmZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTAsYT10Lmxlbmd0aCxpPWEtMjtuPGE7aT1uLG4rPTIpcis9KHRbbl0tdFtpXSkqKHRbbisxXSt0W2krMV0pO2lmKHI+MD09PWUpZm9yKG49MCxhPXQubGVuZ3RoO248YS8yO24rPTIpe3ZhciBvPXRbbl0scz10W24rMV07dFtuXT10W2EtMi1uXSx0W24rMV09dFthLTEtbl0sdFthLTItbl09byx0W2EtMS1uXT1zfX0ocyxpKSx0LnB1c2gocyl9fWZ1bmN0aW9uIEF0KHQsZSl7dmFyIHI9KGU9dGhpcy5vcHRpb25zPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fShPYmplY3QuY3JlYXRlKHRoaXMub3B0aW9ucyksZSkpLmRlYnVnO2lmKHImJmNvbnNvbGUudGltZSgicHJlcHJvY2VzcyBkYXRhIiksZS5tYXhab29tPDB8fGUubWF4Wm9vbT4yNCl0aHJvdyBuZXcgRXJyb3IoIm1heFpvb20gc2hvdWxkIGJlIGluIHRoZSAwLTI0IHJhbmdlIik7aWYoZS5wcm9tb3RlSWQmJmUuZ2VuZXJhdGVJZCl0aHJvdyBuZXcgRXJyb3IoInByb21vdGVJZCBhbmQgZ2VuZXJhdGVJZCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iKTt2YXIgbj1mdW5jdGlvbih0LGUpe3ZhciByPVtdO2lmKCJGZWF0dXJlQ29sbGVjdGlvbiI9PT10LnR5cGUpZm9yKHZhciBuPTA7bjx0LmZlYXR1cmVzLmxlbmd0aDtuKyspaXQocix0LmZlYXR1cmVzW25dLGUsbik7ZWxzZSJGZWF0dXJlIj09PXQudHlwZT9pdChyLHQsZSk6aXQocix7Z2VvbWV0cnk6dH0sZSk7cmV0dXJuIHJ9KHQsZSk7dGhpcy50aWxlcz17fSx0aGlzLnRpbGVDb29yZHM9W10sciYmKGNvbnNvbGUudGltZUVuZCgicHJlcHJvY2VzcyBkYXRhIiksY29uc29sZS5sb2coImluZGV4OiBtYXhab29tOiAlZCwgbWF4UG9pbnRzOiAlZCIsZS5pbmRleE1heFpvb20sZS5pbmRleE1heFBvaW50cyksY29uc29sZS50aW1lKCJnZW5lcmF0ZSB0aWxlcyIpLHRoaXMuc3RhdHM9e30sdGhpcy50b3RhbD0wKSwobj1mdW5jdGlvbih0LGUpe3ZhciByPWUuYnVmZmVyL2UuZXh0ZW50LG49dCxhPWh0KHQsMSwtMS1yLHIsMCwtMSwyLGUpLGk9aHQodCwxLDEtciwyK3IsMCwtMSwyLGUpO3JldHVybihhfHxpKSYmKG49aHQodCwxLC1yLDErciwwLC0xLDIsZSl8fFtdLGEmJihuPXh0KGEsMSkuY29uY2F0KG4pKSxpJiYobj1uLmNvbmNhdCh4dChpLC0xKSkpKSxufShuLGUpKS5sZW5ndGgmJnRoaXMuc3BsaXRUaWxlKG4sMCwwLDApLHImJihuLmxlbmd0aCYmY29uc29sZS5sb2coImZlYXR1cmVzOiAlZCwgcG9pbnRzOiAlZCIsdGhpcy50aWxlc1swXS5udW1GZWF0dXJlcyx0aGlzLnRpbGVzWzBdLm51bVBvaW50cyksY29uc29sZS50aW1lRW5kKCJnZW5lcmF0ZSB0aWxlcyIpLGNvbnNvbGUubG9nKCJ0aWxlcyBnZW5lcmF0ZWQ6Iix0aGlzLnRvdGFsLEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdHMpKSl9ZnVuY3Rpb24gU3QodCxlLHIpe3JldHVybiAzMiooKDE8PHQpKnIrZSkrdH1mdW5jdGlvbiBFdCh0LGUpe3ZhciByPXQudGlsZUlELmNhbm9uaWNhbDtpZighdGhpcy5fZ2VvSlNPTkluZGV4KXJldHVybiBlKG51bGwsbnVsbCk7dmFyIG49dGhpcy5fZ2VvSlNPTkluZGV4LmdldFRpbGUoci56LHIueCxyLnkpO2lmKCFuKXJldHVybiBlKG51bGwsbnVsbCk7dmFyIGE9bmV3IGsobi5mZWF0dXJlcyksaT1FKGEpOzA9PT1pLmJ5dGVPZmZzZXQmJmkuYnl0ZUxlbmd0aD09PWkuYnVmZmVyLmJ5dGVMZW5ndGh8fChpPW5ldyBVaW50OEFycmF5KGkpKSxlKG51bGwse3ZlY3RvclRpbGU6YSxyYXdEYXRhOmkuYnVmZmVyfSl9WS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMscj1lLmxvZyxuPWUubWluWm9vbSxhPWUubWF4Wm9vbSxpPWUubm9kZVNpemU7ciYmY29uc29sZS50aW1lKCJ0b3RhbCB0aW1lIik7dmFyIG89InByZXBhcmUgIit0Lmxlbmd0aCsiIHBvaW50cyI7ciYmY29uc29sZS50aW1lKG8pLHRoaXMucG9pbnRzPXQ7Zm9yKHZhciBzPVtdLGw9MDtsPHQubGVuZ3RoO2wrKyl0W2xdLmdlb21ldHJ5JiZzLnB1c2goWCh0W2xdLGwpKTt0aGlzLnRyZWVzW2ErMV09bmV3IEgocyx0dCxldCxpLEZsb2F0MzJBcnJheSksciYmY29uc29sZS50aW1lRW5kKG8pO2Zvcih2YXIgYz1hO2M+PW47Yy0tKXt2YXIgdT0rRGF0ZS5ub3coKTtzPXRoaXMuX2NsdXN0ZXIocyxjKSx0aGlzLnRyZWVzW2NdPW5ldyBIKHMsdHQsZXQsaSxGbG9hdDMyQXJyYXkpLHImJmNvbnNvbGUubG9nKCJ6JWQ6ICVkIGNsdXN0ZXJzIGluICVkbXMiLGMscy5sZW5ndGgsK0RhdGUubm93KCktdSl9cmV0dXJuIHImJmNvbnNvbGUudGltZUVuZCgidG90YWwgdGltZSIpLHRoaXN9LFkucHJvdG90eXBlLmdldENsdXN0ZXJzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KCh0WzBdKzE4MCklMzYwKzM2MCklMzYwLTE4MCxuPU1hdGgubWF4KC05MCxNYXRoLm1pbig5MCx0WzFdKSksYT0xODA9PT10WzJdPzE4MDooKHRbMl0rMTgwKSUzNjArMzYwKSUzNjAtMTgwLGk9TWF0aC5tYXgoLTkwLE1hdGgubWluKDkwLHRbM10pKTtpZih0WzJdLXRbMF0+PTM2MClyPS0xODAsYT0xODA7ZWxzZSBpZihyPmEpe3ZhciBvPXRoaXMuZ2V0Q2x1c3RlcnMoW3IsbiwxODAsaV0sZSkscz10aGlzLmdldENsdXN0ZXJzKFstMTgwLG4sYSxpXSxlKTtyZXR1cm4gby5jb25jYXQocyl9Zm9yKHZhciBsPXRoaXMudHJlZXNbdGhpcy5fbGltaXRab29tKGUpXSxjPVtdLHU9MCxoPWwucmFuZ2UoSyhyKSxRKGkpLEsoYSksUShuKSk7dTxoLmxlbmd0aDt1Kz0xKXt2YXIgZj1oW3VdLHA9bC5wb2ludHNbZl07Yy5wdXNoKHAubnVtUG9pbnRzP1oocCk6dGhpcy5wb2ludHNbcC5pbmRleF0pfXJldHVybiBjfSxZLnByb3RvdHlwZS5nZXRDaGlsZHJlbj1mdW5jdGlvbih0KXt2YXIgZT10Pj41LHI9dCUzMixuPSJObyBjbHVzdGVyIHdpdGggdGhlIHNwZWNpZmllZCBpZC4iLGE9dGhpcy50cmVlc1tyXTtpZighYSl0aHJvdyBuZXcgRXJyb3Iobik7dmFyIGk9YS5wb2ludHNbZV07aWYoIWkpdGhyb3cgbmV3IEVycm9yKG4pO2Zvcih2YXIgbz10aGlzLm9wdGlvbnMucmFkaXVzLyh0aGlzLm9wdGlvbnMuZXh0ZW50Kk1hdGgucG93KDIsci0xKSkscz1bXSxsPTAsYz1hLndpdGhpbihpLngsaS55LG8pO2w8Yy5sZW5ndGg7bCs9MSl7dmFyIHU9Y1tsXSxoPWEucG9pbnRzW3VdO2gucGFyZW50SWQ9PT10JiZzLnB1c2goaC5udW1Qb2ludHM/WihoKTp0aGlzLnBvaW50c1toLmluZGV4XSl9aWYoMD09PXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihuKTtyZXR1cm4gc30sWS5wcm90b3R5cGUuZ2V0TGVhdmVzPWZ1bmN0aW9uKHQsZSxyKXtlPWV8fDEwLHI9cnx8MDt2YXIgbj1bXTtyZXR1cm4gdGhpcy5fYXBwZW5kTGVhdmVzKG4sdCxlLHIsMCksbn0sWS5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy50cmVlc1t0aGlzLl9saW1pdFpvb20odCldLGE9TWF0aC5wb3coMix0KSxpPXRoaXMub3B0aW9ucyxvPWkuZXh0ZW50LHM9aS5yYWRpdXMvbyxsPShyLXMpL2EsYz0ocisxK3MpL2EsdT17ZmVhdHVyZXM6W119O3JldHVybiB0aGlzLl9hZGRUaWxlRmVhdHVyZXMobi5yYW5nZSgoZS1zKS9hLGwsKGUrMStzKS9hLGMpLG4ucG9pbnRzLGUscixhLHUpLDA9PT1lJiZ0aGlzLl9hZGRUaWxlRmVhdHVyZXMobi5yYW5nZSgxLXMvYSxsLDEsYyksbi5wb2ludHMsYSxyLGEsdSksZT09PWEtMSYmdGhpcy5fYWRkVGlsZUZlYXR1cmVzKG4ucmFuZ2UoMCxsLHMvYSxjKSxuLnBvaW50cywtMSxyLGEsdSksdS5mZWF0dXJlcy5sZW5ndGg/dTpudWxsfSxZLnByb3RvdHlwZS5nZXRDbHVzdGVyRXhwYW5zaW9uWm9vbT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dCUzMi0xO2U8PXRoaXMub3B0aW9ucy5tYXhab29tOyl7dmFyIHI9dGhpcy5nZXRDaGlsZHJlbih0KTtpZihlKyssMSE9PXIubGVuZ3RoKWJyZWFrO3Q9clswXS5wcm9wZXJ0aWVzLmNsdXN0ZXJfaWR9cmV0dXJuIGV9LFkucHJvdG90eXBlLl9hcHBlbmRMZWF2ZXM9ZnVuY3Rpb24odCxlLHIsbixhKXtmb3IodmFyIGk9MCxvPXRoaXMuZ2V0Q2hpbGRyZW4oZSk7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldLGw9cy5wcm9wZXJ0aWVzO2lmKGwmJmwuY2x1c3Rlcj9hK2wucG9pbnRfY291bnQ8PW4/YSs9bC5wb2ludF9jb3VudDphPXRoaXMuX2FwcGVuZExlYXZlcyh0LGwuY2x1c3Rlcl9pZCxyLG4sYSk6YTxuP2ErKzp0LnB1c2gocyksdC5sZW5ndGg9PT1yKWJyZWFrfXJldHVybiBhfSxZLnByb3RvdHlwZS5fYWRkVGlsZUZlYXR1cmVzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89MCxzPXQ7bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1lW3Nbb11dLGM9e3R5cGU6MSxnZW9tZXRyeTpbW01hdGgucm91bmQodGhpcy5vcHRpb25zLmV4dGVudCoobC54KmEtcikpLE1hdGgucm91bmQodGhpcy5vcHRpb25zLmV4dGVudCoobC55KmEtbikpXV0sdGFnczpsLm51bVBvaW50cz9KKGwpOnRoaXMucG9pbnRzW2wuaW5kZXhdLnByb3BlcnRpZXN9LHU9bC5udW1Qb2ludHM/bC5pZDp0aGlzLnBvaW50c1tsLmluZGV4XS5pZDt2b2lkIDAhPT11JiYoYy5pZD11KSxpLmZlYXR1cmVzLnB1c2goYyl9fSxZLnByb3RvdHlwZS5fbGltaXRab29tPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1heCh0aGlzLm9wdGlvbnMubWluWm9vbSxNYXRoLm1pbih0LHRoaXMub3B0aW9ucy5tYXhab29tKzEpKX0sWS5wcm90b3R5cGUuX2NsdXN0ZXI9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9W10sbj10aGlzLm9wdGlvbnMsYT1uLnJhZGl1cyxpPW4uZXh0ZW50LG89bi5yZWR1Y2Uscz1hLyhpKk1hdGgucG93KDIsZSkpLGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGM9dFtsXTtpZighKGMuem9vbTw9ZSkpe2Muem9vbT1lO2Zvcih2YXIgdT10aGlzLnRyZWVzW2UrMV0saD11LndpdGhpbihjLngsYy55LHMpLGY9Yy5udW1Qb2ludHN8fDEscD1jLngqZixkPWMueSpmLGc9byYmZj4xP3RoaXMuX21hcChjLCEwKTpudWxsLHY9KGw8PDUpKyhlKzEpLG09MCx5PWg7bTx5Lmxlbmd0aDttKz0xKXt2YXIgeD15W21dLGI9dS5wb2ludHNbeF07aWYoIShiLnpvb208PWUpKXtiLnpvb209ZTt2YXIgXz1iLm51bVBvaW50c3x8MTtwKz1iLngqXyxkKz1iLnkqXyxmKz1fLGIucGFyZW50SWQ9dixvJiYoZ3x8KGc9dGhpcy5fbWFwKGMsITApKSxvKGcsdGhpcy5fbWFwKGIpKSl9fTE9PT1mP3IucHVzaChjKTooYy5wYXJlbnRJZD12LHIucHVzaChXKHAvZixkL2YsdixmLGcpKSl9fXJldHVybiByfSxZLnByb3RvdHlwZS5fbWFwPWZ1bmN0aW9uKHQsZSl7aWYodC5udW1Qb2ludHMpcmV0dXJuIGU/JCh7fSx0LnByb3BlcnRpZXMpOnQucHJvcGVydGllczt2YXIgcj10aGlzLnBvaW50c1t0LmluZGV4XS5wcm9wZXJ0aWVzLG49dGhpcy5vcHRpb25zLm1hcChyKTtyZXR1cm4gZSYmbj09PXI/JCh7fSxuKTpufSxBdC5wcm90b3R5cGUub3B0aW9ucz17bWF4Wm9vbToxNCxpbmRleE1heFpvb206NSxpbmRleE1heFBvaW50czoxZTUsdG9sZXJhbmNlOjMsZXh0ZW50OjQwOTYsYnVmZmVyOjY0LGxpbmVNZXRyaWNzOiExLHByb21vdGVJZDpudWxsLGdlbmVyYXRlSWQ6ITEsZGVidWc6MH0sQXQucHJvdG90eXBlLnNwbGl0VGlsZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXtmb3IodmFyIHM9W3QsZSxyLG5dLGw9dGhpcy5vcHRpb25zLGM9bC5kZWJ1ZztzLmxlbmd0aDspe249cy5wb3AoKSxyPXMucG9wKCksZT1zLnBvcCgpLHQ9cy5wb3AoKTt2YXIgdT0xPDxlLGg9U3QoZSxyLG4pLGY9dGhpcy50aWxlc1toXTtpZighZiYmKGM+MSYmY29uc29sZS50aW1lKCJjcmVhdGlvbiIpLGY9dGhpcy50aWxlc1toXT1rdCh0LGUscixuLGwpLHRoaXMudGlsZUNvb3Jkcy5wdXNoKHt6OmUseDpyLHk6bn0pLGMpKXtjPjEmJihjb25zb2xlLmxvZygidGlsZSB6JWQtJWQtJWQgKGZlYXR1cmVzOiAlZCwgcG9pbnRzOiAlZCwgc2ltcGxpZmllZDogJWQpIixlLHIsbixmLm51bUZlYXR1cmVzLGYubnVtUG9pbnRzLGYubnVtU2ltcGxpZmllZCksY29uc29sZS50aW1lRW5kKCJjcmVhdGlvbiIpKTt2YXIgcD0ieiIrZTt0aGlzLnN0YXRzW3BdPSh0aGlzLnN0YXRzW3BdfHwwKSsxLHRoaXMudG90YWwrK31pZihmLnNvdXJjZT10LGEpe2lmKGU9PT1sLm1heFpvb218fGU9PT1hKWNvbnRpbnVlO3ZhciBkPTE8PGEtZTtpZihyIT09TWF0aC5mbG9vcihpL2QpfHxuIT09TWF0aC5mbG9vcihvL2QpKWNvbnRpbnVlfWVsc2UgaWYoZT09PWwuaW5kZXhNYXhab29tfHxmLm51bVBvaW50czw9bC5pbmRleE1heFBvaW50cyljb250aW51ZTtpZihmLnNvdXJjZT1udWxsLDAhPT10Lmxlbmd0aCl7Yz4xJiZjb25zb2xlLnRpbWUoImNsaXBwaW5nIik7dmFyIGcsdixtLHkseCxiLF89LjUqbC5idWZmZXIvbC5leHRlbnQsdz0uNS1fLGs9LjUrXyxUPTErXztnPXY9bT15PW51bGwseD1odCh0LHUsci1fLHIraywwLGYubWluWCxmLm1heFgsbCksYj1odCh0LHUscit3LHIrVCwwLGYubWluWCxmLm1heFgsbCksdD1udWxsLHgmJihnPWh0KHgsdSxuLV8sbitrLDEsZi5taW5ZLGYubWF4WSxsKSx2PWh0KHgsdSxuK3csbitULDEsZi5taW5ZLGYubWF4WSxsKSx4PW51bGwpLGImJihtPWh0KGIsdSxuLV8sbitrLDEsZi5taW5ZLGYubWF4WSxsKSx5PWh0KGIsdSxuK3csbitULDEsZi5taW5ZLGYubWF4WSxsKSxiPW51bGwpLGM+MSYmY29uc29sZS50aW1lRW5kKCJjbGlwcGluZyIpLHMucHVzaChnfHxbXSxlKzEsMipyLDIqbikscy5wdXNoKHZ8fFtdLGUrMSwyKnIsMipuKzEpLHMucHVzaChtfHxbXSxlKzEsMipyKzEsMipuKSxzLnB1c2goeXx8W10sZSsxLDIqcisxLDIqbisxKX19fSxBdC5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5vcHRpb25zLGE9bi5leHRlbnQsaT1uLmRlYnVnO2lmKHQ8MHx8dD4yNClyZXR1cm4gbnVsbDt2YXIgbz0xPDx0LHM9U3QodCxlPShlJW8rbyklbyxyKTtpZih0aGlzLnRpbGVzW3NdKXJldHVybiBfdCh0aGlzLnRpbGVzW3NdLGEpO2k+MSYmY29uc29sZS5sb2coImRyaWxsaW5nIGRvd24gdG8geiVkLSVkLSVkIix0LGUscik7Zm9yKHZhciBsLGM9dCx1PWUsaD1yOyFsJiZjPjA7KWMtLSx1PU1hdGguZmxvb3IodS8yKSxoPU1hdGguZmxvb3IoaC8yKSxsPXRoaXMudGlsZXNbU3QoYyx1LGgpXTtyZXR1cm4gbCYmbC5zb3VyY2U/KGk+MSYmY29uc29sZS5sb2coImZvdW5kIHBhcmVudCB0aWxlIHolZC0lZC0lZCIsYyx1LGgpLGk+MSYmY29uc29sZS50aW1lKCJkcmlsbGluZyBkb3duIiksdGhpcy5zcGxpdFRpbGUobC5zb3VyY2UsYyx1LGgsdCxlLHIpLGk+MSYmY29uc29sZS50aW1lRW5kKCJkcmlsbGluZyBkb3duIiksdGhpcy50aWxlc1tzXT9fdCh0aGlzLnRpbGVzW3NdLGEpOm51bGwpOm51bGx9O3ZhciBMdD1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHQscixuKXtlLmNhbGwodGhpcyx0LHIsRXQpLG4mJih0aGlzLmxvYWRHZW9KU09OPW4pfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkRGF0YT1mdW5jdGlvbih0LGUpe3RoaXMuX3BlbmRpbmdDYWxsYmFjayYmdGhpcy5fcGVuZGluZ0NhbGxiYWNrKG51bGwse2FiYW5kb25lZDohMH0pLHRoaXMuX3BlbmRpbmdDYWxsYmFjaz1lLHRoaXMuX3BlbmRpbmdMb2FkRGF0YVBhcmFtcz10LHRoaXMuX3N0YXRlJiYiSWRsZSIhPT10aGlzLl9zdGF0ZT90aGlzLl9zdGF0ZT0iTmVlZHNMb2FkRGF0YSI6KHRoaXMuX3N0YXRlPSJDb2FsZXNjaW5nIix0aGlzLl9sb2FkRGF0YSgpKX0sci5wcm90b3R5cGUuX2xvYWREYXRhPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLl9wZW5kaW5nQ2FsbGJhY2smJnRoaXMuX3BlbmRpbmdMb2FkRGF0YVBhcmFtcyl7dmFyIHI9dGhpcy5fcGVuZGluZ0NhbGxiYWNrLG49dGhpcy5fcGVuZGluZ0xvYWREYXRhUGFyYW1zO2RlbGV0ZSB0aGlzLl9wZW5kaW5nQ2FsbGJhY2ssZGVsZXRlIHRoaXMuX3BlbmRpbmdMb2FkRGF0YVBhcmFtczt2YXIgYT0hIShuJiZuLnJlcXVlc3QmJm4ucmVxdWVzdC5jb2xsZWN0UmVzb3VyY2VUaW1pbmcpJiZuZXcgbC5QZXJmb3JtYW5jZShuLnJlcXVlc3QpO3RoaXMubG9hZEdlb0pTT04obixmdW5jdGlvbihpLG8pe2lmKGl8fCFvKXJldHVybiByKGkpO2lmKCJvYmplY3QiIT10eXBlb2YgbylyZXR1cm4gcihuZXcgRXJyb3IoIklucHV0IGRhdGEgZ2l2ZW4gdG8gJyIrbi5zb3VyY2UrIicgaXMgbm90IGEgdmFsaWQgR2VvSlNPTiBvYmplY3QuIikpOyFmdW5jdGlvbiB0KGUscil7c3dpdGNoKGUmJmUudHlwZXx8bnVsbCl7Y2FzZSJGZWF0dXJlQ29sbGVjdGlvbiI6cmV0dXJuIGUuZmVhdHVyZXM9ZS5mZWF0dXJlcy5tYXAoeSh0LHIpKSxlO2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpyZXR1cm4gZS5nZW9tZXRyaWVzPWUuZ2VvbWV0cmllcy5tYXAoeSh0LHIpKSxlO2Nhc2UiRmVhdHVyZSI6cmV0dXJuIGUuZ2VvbWV0cnk9dChlLmdlb21ldHJ5LHIpLGU7Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIlBvbHlnb24iPT09dC50eXBlP3QuY29vcmRpbmF0ZXM9eCh0LmNvb3JkaW5hdGVzLGUpOiJNdWx0aVBvbHlnb24iPT09dC50eXBlJiYodC5jb29yZGluYXRlcz10LmNvb3JkaW5hdGVzLm1hcCh5KHgsZSkpKSx0fShlLHIpO2RlZmF1bHQ6cmV0dXJuIGV9fShvLCEwKTt0cnl7ZS5fZ2VvSlNPTkluZGV4PW4uY2x1c3Rlcj9uZXcgWShmdW5jdGlvbihlKXt2YXIgcj1lLnN1cGVyY2x1c3Rlck9wdGlvbnMsbj1lLmNsdXN0ZXJQcm9wZXJ0aWVzO2lmKCFufHwhcilyZXR1cm4gcjtmb3IodmFyIGE9e30saT17fSxvPXthY2N1bXVsYXRlZDpudWxsLHpvb206MH0scz17cHJvcGVydGllczpudWxsfSxsPU9iamVjdC5rZXlzKG4pLGM9MCx1PWw7Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdLGY9bltoXSxwPWZbMF0sZD1mWzFdLGc9dC5jcmVhdGVFeHByZXNzaW9uKGQpLHY9dC5jcmVhdGVFeHByZXNzaW9uKCJzdHJpbmciPT10eXBlb2YgcD9bcCxbImFjY3VtdWxhdGVkIl0sWyJnZXQiLGhdXTpwKTthW2hdPWcudmFsdWUsaVtoXT12LnZhbHVlfXJldHVybiByLm1hcD1mdW5jdGlvbih0KXtzLnByb3BlcnRpZXM9dDtmb3IodmFyIGU9e30scj0wLG49bDtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBpPW5bcl07ZVtpXT1hW2ldLmV2YWx1YXRlKG8scyl9cmV0dXJuIGV9LHIucmVkdWNlPWZ1bmN0aW9uKHQsZSl7cy5wcm9wZXJ0aWVzPWU7Zm9yKHZhciByPTAsbj1sO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXTtvLmFjY3VtdWxhdGVkPXRbYV0sdFthXT1pW2FdLmV2YWx1YXRlKG8scyl9fSxyfShuKSkubG9hZChvLmZlYXR1cmVzKTpuZXcgQXQobyxuLmdlb2pzb25WdE9wdGlvbnMpfWNhdGNoKGkpe3JldHVybiByKGkpfWUubG9hZGVkPXt9O3ZhciBzPXt9O2lmKGEpe3ZhciBsPWEuZmluaXNoKCk7bCYmKHMucmVzb3VyY2VUaW1pbmc9e30scy5yZXNvdXJjZVRpbWluZ1tuLnNvdXJjZV09SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsKSkpfXIobnVsbCxzKX0pfX0sci5wcm90b3R5cGUuY29hbGVzY2U9ZnVuY3Rpb24oKXsiQ29hbGVzY2luZyI9PT10aGlzLl9zdGF0ZT90aGlzLl9zdGF0ZT0iSWRsZSI6Ik5lZWRzTG9hZERhdGEiPT09dGhpcy5fc3RhdGUmJih0aGlzLl9zdGF0ZT0iQ29hbGVzY2luZyIsdGhpcy5fbG9hZERhdGEoKSl9LHIucHJvdG90eXBlLnJlbG9hZFRpbGU9ZnVuY3Rpb24odCxyKXt2YXIgbj10aGlzLmxvYWRlZCxhPXQudWlkO3JldHVybiBuJiZuW2FdP2UucHJvdG90eXBlLnJlbG9hZFRpbGUuY2FsbCh0aGlzLHQscik6dGhpcy5sb2FkVGlsZSh0LHIpfSxyLnByb3RvdHlwZS5sb2FkR2VvSlNPTj1mdW5jdGlvbihlLHIpe2lmKGUucmVxdWVzdCl0LmdldEpTT04oZS5yZXF1ZXN0LHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpcmV0dXJuIHIobmV3IEVycm9yKCJJbnB1dCBkYXRhIGdpdmVuIHRvICciK2Uuc291cmNlKyInIGlzIG5vdCBhIHZhbGlkIEdlb0pTT04gb2JqZWN0LiIpKTt0cnl7cmV0dXJuIHIobnVsbCxKU09OLnBhcnNlKGUuZGF0YSkpfWNhdGNoKHQpe3JldHVybiByKG5ldyBFcnJvcigiSW5wdXQgZGF0YSBnaXZlbiB0byAnIitlLnNvdXJjZSsiJyBpcyBub3QgYSB2YWxpZCBHZW9KU09OIG9iamVjdC4iKSl9fX0sci5wcm90b3R5cGUucmVtb3ZlU291cmNlPWZ1bmN0aW9uKHQsZSl7dGhpcy5fcGVuZGluZ0NhbGxiYWNrJiZ0aGlzLl9wZW5kaW5nQ2FsbGJhY2sobnVsbCx7YWJhbmRvbmVkOiEwfSksZSgpfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyRXhwYW5zaW9uWm9vbT1mdW5jdGlvbih0LGUpe2UobnVsbCx0aGlzLl9nZW9KU09OSW5kZXguZ2V0Q2x1c3RlckV4cGFuc2lvblpvb20odC5jbHVzdGVySWQpKX0sci5wcm90b3R5cGUuZ2V0Q2x1c3RlckNoaWxkcmVuPWZ1bmN0aW9uKHQsZSl7ZShudWxsLHRoaXMuX2dlb0pTT05JbmRleC5nZXRDaGlsZHJlbih0LmNsdXN0ZXJJZCkpfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyTGVhdmVzPWZ1bmN0aW9uKHQsZSl7ZShudWxsLHRoaXMuX2dlb0pTT05JbmRleC5nZXRMZWF2ZXModC5jbHVzdGVySWQsdC5saW1pdCx0Lm9mZnNldCkpfSxyfShoKSxDdD1mdW5jdGlvbihlKXt2YXIgcj10aGlzO3RoaXMuc2VsZj1lLHRoaXMuYWN0b3I9bmV3IHQuQWN0b3IoZSx0aGlzKSx0aGlzLmxheWVySW5kZXhlcz17fSx0aGlzLndvcmtlclNvdXJjZVR5cGVzPXt2ZWN0b3I6aCxnZW9qc29uOkx0fSx0aGlzLndvcmtlclNvdXJjZXM9e30sdGhpcy5kZW1Xb3JrZXJTb3VyY2VzPXt9LHRoaXMuc2VsZi5yZWdpc3RlcldvcmtlclNvdXJjZT1mdW5jdGlvbih0LGUpe2lmKHIud29ya2VyU291cmNlVHlwZXNbdF0pdGhyb3cgbmV3IEVycm9yKCdXb3JrZXIgc291cmNlIHdpdGggbmFtZSAiJyt0KyciIGFscmVhZHkgcmVnaXN0ZXJlZC4nKTtyLndvcmtlclNvdXJjZVR5cGVzW3RdPWV9LHRoaXMuc2VsZi5yZWdpc3RlclJUTFRleHRQbHVnaW49ZnVuY3Rpb24oZSl7aWYodC5wbHVnaW4uaXNMb2FkZWQoKSl0aHJvdyBuZXcgRXJyb3IoIlJUTCB0ZXh0IHBsdWdpbiBhbHJlYWR5IHJlZ2lzdGVyZWQuIik7dC5wbHVnaW4uYXBwbHlBcmFiaWNTaGFwaW5nPWUuYXBwbHlBcmFiaWNTaGFwaW5nLHQucGx1Z2luLnByb2Nlc3NCaWRpcmVjdGlvbmFsVGV4dD1lLnByb2Nlc3NCaWRpcmVjdGlvbmFsVGV4dCx0LnBsdWdpbi5wcm9jZXNzU3R5bGVkQmlkaXJlY3Rpb25hbFRleHQ9ZS5wcm9jZXNzU3R5bGVkQmlkaXJlY3Rpb25hbFRleHR9fTtyZXR1cm4gQ3QucHJvdG90eXBlLnNldFJlZmVycmVyPWZ1bmN0aW9uKHQsZSl7dGhpcy5yZWZlcnJlcj1lfSxDdC5wcm90b3R5cGUuc2V0TGF5ZXJzPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmdldExheWVySW5kZXgodCkucmVwbGFjZShlKSxyKCl9LEN0LnByb3RvdHlwZS51cGRhdGVMYXllcnM9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0TGF5ZXJJbmRleCh0KS51cGRhdGUoZS5sYXllcnMsZS5yZW1vdmVkSWRzKSxyKCl9LEN0LnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbih0LGUscil7dGhpcy5nZXRXb3JrZXJTb3VyY2UodCxlLnR5cGUsZS5zb3VyY2UpLmxvYWRUaWxlKGUscil9LEN0LnByb3RvdHlwZS5sb2FkREVNVGlsZT1mdW5jdGlvbih0LGUscil7dGhpcy5nZXRERU1Xb3JrZXJTb3VyY2UodCxlLnNvdXJjZSkubG9hZFRpbGUoZSxyKX0sQ3QucHJvdG90eXBlLnJlbG9hZFRpbGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0V29ya2VyU291cmNlKHQsZS50eXBlLGUuc291cmNlKS5yZWxvYWRUaWxlKGUscil9LEN0LnByb3RvdHlwZS5hYm9ydFRpbGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0V29ya2VyU291cmNlKHQsZS50eXBlLGUuc291cmNlKS5hYm9ydFRpbGUoZSxyKX0sQ3QucHJvdG90eXBlLnJlbW92ZVRpbGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0V29ya2VyU291cmNlKHQsZS50eXBlLGUuc291cmNlKS5yZW1vdmVUaWxlKGUscil9LEN0LnByb3RvdHlwZS5yZW1vdmVERU1UaWxlPWZ1bmN0aW9uKHQsZSl7dGhpcy5nZXRERU1Xb3JrZXJTb3VyY2UodCxlLnNvdXJjZSkucmVtb3ZlVGlsZShlKX0sQ3QucHJvdG90eXBlLnJlbW92ZVNvdXJjZT1mdW5jdGlvbih0LGUscil7aWYodGhpcy53b3JrZXJTb3VyY2VzW3RdJiZ0aGlzLndvcmtlclNvdXJjZXNbdF1bZS50eXBlXSYmdGhpcy53b3JrZXJTb3VyY2VzW3RdW2UudHlwZV1bZS5zb3VyY2VdKXt2YXIgbj10aGlzLndvcmtlclNvdXJjZXNbdF1bZS50eXBlXVtlLnNvdXJjZV07ZGVsZXRlIHRoaXMud29ya2VyU291cmNlc1t0XVtlLnR5cGVdW2Uuc291cmNlXSx2b2lkIDAhPT1uLnJlbW92ZVNvdXJjZT9uLnJlbW92ZVNvdXJjZShlLHIpOnIoKX19LEN0LnByb3RvdHlwZS5sb2FkV29ya2VyU291cmNlPWZ1bmN0aW9uKHQsZSxyKXt0cnl7dGhpcy5zZWxmLmltcG9ydFNjcmlwdHMoZS51cmwpLHIoKX1jYXRjaCh0KXtyKHQudG9TdHJpbmcoKSl9fSxDdC5wcm90b3R5cGUubG9hZFJUTFRleHRQbHVnaW49ZnVuY3Rpb24oZSxyLG4pe3RyeXt0LnBsdWdpbi5pc0xvYWRlZCgpfHwodGhpcy5zZWxmLmltcG9ydFNjcmlwdHMociksbih0LnBsdWdpbi5pc0xvYWRlZCgpP251bGw6bmV3IEVycm9yKCJSVEwgVGV4dCBQbHVnaW4gZmFpbGVkIHRvIGltcG9ydCBzY3JpcHRzIGZyb20gIityKSkpfWNhdGNoKHQpe24odC50b1N0cmluZygpKX19LEN0LnByb3RvdHlwZS5nZXRMYXllckluZGV4PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5ZXJJbmRleGVzW3RdO3JldHVybiBlfHwoZT10aGlzLmxheWVySW5kZXhlc1t0XT1uZXcgbiksZX0sQ3QucHJvdG90eXBlLmdldFdvcmtlclNvdXJjZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcztpZih0aGlzLndvcmtlclNvdXJjZXNbdF18fCh0aGlzLndvcmtlclNvdXJjZXNbdF09e30pLHRoaXMud29ya2VyU291cmNlc1t0XVtlXXx8KHRoaXMud29ya2VyU291cmNlc1t0XVtlXT17fSksIXRoaXMud29ya2VyU291cmNlc1t0XVtlXVtyXSl7dmFyIGE9e3NlbmQ6ZnVuY3Rpb24oZSxyLGEpe24uYWN0b3Iuc2VuZChlLHIsYSx0KX19O3RoaXMud29ya2VyU291cmNlc1t0XVtlXVtyXT1uZXcgdGhpcy53b3JrZXJTb3VyY2VUeXBlc1tlXShhLHRoaXMuZ2V0TGF5ZXJJbmRleCh0KSl9cmV0dXJuIHRoaXMud29ya2VyU291cmNlc1t0XVtlXVtyXX0sQ3QucHJvdG90eXBlLmdldERFTVdvcmtlclNvdXJjZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRlbVdvcmtlclNvdXJjZXNbdF18fCh0aGlzLmRlbVdvcmtlclNvdXJjZXNbdF09e30pLHRoaXMuZGVtV29ya2VyU291cmNlc1t0XVtlXXx8KHRoaXMuZGVtV29ya2VyU291cmNlc1t0XVtlXT1uZXcgZiksdGhpcy5kZW1Xb3JrZXJTb3VyY2VzW3RdW2VdfSxDdC5wcm90b3R5cGUuZW5mb3JjZUNhY2hlU2l6ZUxpbWl0PWZ1bmN0aW9uKGUscil7dC5lbmZvcmNlQ2FjaGVTaXplTGltaXQocil9LCJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnZvaWQgMCE9PXQud2luZG93JiZ0LndpbmRvdyBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlJiYodC53aW5kb3cud29ya2VyPW5ldyBDdCh0LndpbmRvdykpLEN0fSksbigwLGZ1bmN0aW9uKHQpe3ZhciBlPXQuY3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4hISgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmQXJyYXkucHJvdG90eXBlJiZBcnJheS5wcm90b3R5cGUuZXZlcnkmJkFycmF5LnByb3RvdHlwZS5maWx0ZXImJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoJiZBcnJheS5wcm90b3R5cGUuaW5kZXhPZiYmQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mJiZBcnJheS5wcm90b3R5cGUubWFwJiZBcnJheS5wcm90b3R5cGUuc29tZSYmQXJyYXkucHJvdG90eXBlLnJlZHVjZSYmQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0JiZBcnJheS5pc0FycmF5JiZGdW5jdGlvbi5wcm90b3R5cGUmJkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZPYmplY3Qua2V5cyYmT2JqZWN0LmNyZWF0ZSYmT2JqZWN0LmdldFByb3RvdHlwZU9mJiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyYmT2JqZWN0LmlzU2VhbGVkJiZPYmplY3QuaXNGcm96ZW4mJk9iamVjdC5pc0V4dGVuc2libGUmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmRlZmluZVByb3BlcnRpZXMmJk9iamVjdC5zZWFsJiZPYmplY3QuZnJlZXplJiZPYmplY3QucHJldmVudEV4dGVuc2lvbnMmJiJKU09OImluIHdpbmRvdyYmInBhcnNlImluIEpTT04mJiJzdHJpbmdpZnkiaW4gSlNPTiYmZnVuY3Rpb24oKXtpZighKCJXb3JrZXIiaW4gd2luZG93JiYiQmxvYiJpbiB3aW5kb3cmJiJVUkwiaW4gd2luZG93KSlyZXR1cm4hMTt2YXIgdCxlLHI9bmV3IEJsb2IoWyIiXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pLG49VVJMLmNyZWF0ZU9iamVjdFVSTChyKTt0cnl7ZT1uZXcgV29ya2VyKG4pLHQ9ITB9Y2F0Y2goZSl7dD0hMX1yZXR1cm4gZSYmZS50ZXJtaW5hdGUoKSxVUkwucmV2b2tlT2JqZWN0VVJMKG4pLHR9KCkmJiJVaW50OENsYW1wZWRBcnJheSJpbiB3aW5kb3cmJkFycmF5QnVmZmVyLmlzVmlldyYmZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXJbdF0mJihyW3RdPWZ1bmN0aW9uKHQpe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLG49T2JqZWN0LmNyZWF0ZShlLndlYkdMQ29udGV4dEF0dHJpYnV0ZXMpO3JldHVybiBuLmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ9dCxyLnByb2JhYmx5U3VwcG9ydHNDb250ZXh0P3IucHJvYmFibHlTdXBwb3J0c0NvbnRleHQoIndlYmdsIixuKXx8ci5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIixuKTpyLnN1cHBvcnRzQ29udGV4dD9yLnN1cHBvcnRzQ29udGV4dCgid2ViZ2wiLG4pfHxyLnN1cHBvcnRzQ29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIixuKTpyLmdldENvbnRleHQoIndlYmdsIixuKXx8ci5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2ViZ2wiLG4pfSh0KSksclt0XX0odCYmdC5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0KSl9dC5leHBvcnRzP3QuZXhwb3J0cz1lOndpbmRvdyYmKHdpbmRvdy5tYXBib3hnbD13aW5kb3cubWFwYm94Z2x8fHt9LHdpbmRvdy5tYXBib3hnbC5zdXBwb3J0ZWQ9ZSk7dmFyIHI9e307ZS53ZWJHTENvbnRleHRBdHRyaWJ1dGVzPXthbnRpYWxpYXM6ITEsYWxwaGE6ITAsc3RlbmNpbDohMCxkZXB0aDohMH19KSxyPXtjcmVhdGU6ZnVuY3Rpb24oZSxyLG4pe3ZhciBhPXQud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIHZvaWQgMCE9PXImJihhLmNsYXNzTmFtZT1yKSxuJiZuLmFwcGVuZENoaWxkKGEpLGF9LGNyZWF0ZU5TOmZ1bmN0aW9uKGUscil7cmV0dXJuIHQud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhlLHIpfX0sbj10LndpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGU7ZnVuY3Rpb24gYSh0KXtpZighbilyZXR1cm4gdFswXTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZih0W2VdaW4gbilyZXR1cm4gdFtlXTtyZXR1cm4gdFswXX12YXIgaSxvPWEoWyJ1c2VyU2VsZWN0IiwiTW96VXNlclNlbGVjdCIsIldlYmtpdFVzZXJTZWxlY3QiLCJtc1VzZXJTZWxlY3QiXSk7ci5kaXNhYmxlRHJhZz1mdW5jdGlvbigpe24mJm8mJihpPW5bb10sbltvXT0ibm9uZSIpfSxyLmVuYWJsZURyYWc9ZnVuY3Rpb24oKXtuJiZvJiYobltvXT1pKX07dmFyIHM9YShbInRyYW5zZm9ybSIsIldlYmtpdFRyYW5zZm9ybSJdKTtyLnNldFRyYW5zZm9ybT1mdW5jdGlvbih0LGUpe3Quc3R5bGVbc109ZX07dmFyIGw9ITE7dHJ5e3ZhciBjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2w9ITB9fSk7dC53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsYyxjKSx0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixjLGMpfWNhdGNoKHQpe2w9ITF9ci5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KSwicGFzc2l2ZSJpbiBuJiZsP3QuYWRkRXZlbnRMaXN0ZW5lcihlLHIsbik6dC5hZGRFdmVudExpc3RlbmVyKGUscixuLmNhcHR1cmUpfSxyLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49e30pLCJwYXNzaXZlImluIG4mJmw/dC5yZW1vdmVFdmVudExpc3RlbmVyKGUscixuKTp0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxyLG4uY2FwdHVyZSl9O3ZhciB1PWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix1LCEwKX07ZnVuY3Rpb24gaCh0KXt2YXIgZT10LnVzZXJJbWFnZTtyZXR1cm4hIShlJiZlLnJlbmRlciYmZS5yZW5kZXIoKSkmJih0LmRhdGEucmVwbGFjZShuZXcgVWludDhBcnJheShlLmRhdGEuYnVmZmVyKSksITApfXIuc3VwcHJlc3NDbGljaz1mdW5jdGlvbigpe3Qud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix1LCEwKSx0LndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHUsITApfSwwKX0sci5tb3VzZVBvcz1mdW5jdGlvbihlLHIpe3ZhciBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT10LndpbmRvdy5Ub3VjaEV2ZW50JiZyIGluc3RhbmNlb2YgdC53aW5kb3cuVG91Y2hFdmVudD9yLnRvdWNoZXNbMF06cjtyZXR1cm4gbmV3IHQuUG9pbnQoYS5jbGllbnRYLW4ubGVmdC1lLmNsaWVudExlZnQsYS5jbGllbnRZLW4udG9wLWUuY2xpZW50VG9wKX0sci50b3VjaFBvcz1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9W10saT0idG91Y2hlbmQiPT09ci50eXBlP3IuY2hhbmdlZFRvdWNoZXM6ci50b3VjaGVzLG89MDtvPGkubGVuZ3RoO28rKylhLnB1c2gobmV3IHQuUG9pbnQoaVtvXS5jbGllbnRYLW4ubGVmdC1lLmNsaWVudExlZnQsaVtvXS5jbGllbnRZLW4udG9wLWUuY2xpZW50VG9wKSk7cmV0dXJuIGF9LHIubW91c2VCdXR0b249ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PXQud2luZG93Lkluc3RhbGxUcmlnZ2VyJiYyPT09ZS5idXR0b24mJmUuY3RybEtleSYmdC53aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiTUFDIik+PTA/MDplLmJ1dHRvbn0sci5yZW1vdmU9ZnVuY3Rpb24odCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9O3ZhciBmPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIoKXtlLmNhbGwodGhpcyksdGhpcy5pbWFnZXM9e30sdGhpcy51cGRhdGVkSW1hZ2VzPXt9LHRoaXMuY2FsbGJhY2tEaXNwYXRjaGVkVGhpc0ZyYW1lPXt9LHRoaXMubG9hZGVkPSExLHRoaXMucmVxdWVzdG9ycz1bXSx0aGlzLnBhdHRlcm5zPXt9LHRoaXMuYXRsYXNJbWFnZT1uZXcgdC5SR0JBSW1hZ2Uoe3dpZHRoOjEsaGVpZ2h0OjF9KSx0aGlzLmRpcnR5PSEwfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5pc0xvYWRlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvYWRlZH0sci5wcm90b3R5cGUuc2V0TG9hZGVkPWZ1bmN0aW9uKHQpe2lmKHRoaXMubG9hZGVkIT09dCYmKHRoaXMubG9hZGVkPXQsdCkpe2Zvcih2YXIgZT0wLHI9dGhpcy5yZXF1ZXN0b3JzO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXSxhPW4uaWRzLGk9bi5jYWxsYmFjazt0aGlzLl9ub3RpZnkoYSxpKX10aGlzLnJlcXVlc3RvcnM9W119fSxyLnByb3RvdHlwZS5nZXRJbWFnZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbWFnZXNbdF19LHIucHJvdG90eXBlLmFkZEltYWdlPWZ1bmN0aW9uKHQsZSl7dGhpcy5pbWFnZXNbdF09ZX0sci5wcm90b3R5cGUudXBkYXRlSW1hZ2U9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmltYWdlc1t0XTtlLnZlcnNpb249ci52ZXJzaW9uKzEsdGhpcy5pbWFnZXNbdF09ZSx0aGlzLnVwZGF0ZWRJbWFnZXNbdF09ITB9LHIucHJvdG90eXBlLnJlbW92ZUltYWdlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaW1hZ2VzW3RdO2RlbGV0ZSB0aGlzLmltYWdlc1t0XSxkZWxldGUgdGhpcy5wYXR0ZXJuc1t0XSxlLnVzZXJJbWFnZSYmZS51c2VySW1hZ2Uub25SZW1vdmUmJmUudXNlckltYWdlLm9uUmVtb3ZlKCl9LHIucHJvdG90eXBlLmxpc3RJbWFnZXM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbWFnZXMpfSxyLnByb3RvdHlwZS5nZXRJbWFnZXM9ZnVuY3Rpb24odCxlKXt2YXIgcj0hMDtpZighdGhpcy5pc0xvYWRlZCgpKWZvcih2YXIgbj0wLGE9dDtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07dGhpcy5pbWFnZXNbaV18fChyPSExKX10aGlzLmlzTG9hZGVkKCl8fHI/dGhpcy5fbm90aWZ5KHQsZSk6dGhpcy5yZXF1ZXN0b3JzLnB1c2goe2lkczp0LGNhbGxiYWNrOmV9KX0sci5wcm90b3R5cGUuX25vdGlmeT1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj17fSxhPTAsaT1lO2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXTt0aGlzLmltYWdlc1tvXXx8dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJzdHlsZWltYWdlbWlzc2luZyIse2lkOm99KSk7dmFyIHM9dGhpcy5pbWFnZXNbb107cz9uW29dPXtkYXRhOnMuZGF0YS5jbG9uZSgpLHBpeGVsUmF0aW86cy5waXhlbFJhdGlvLHNkZjpzLnNkZix2ZXJzaW9uOnMudmVyc2lvbixoYXNSZW5kZXJDYWxsYmFjazpCb29sZWFuKHMudXNlckltYWdlJiZzLnVzZXJJbWFnZS5yZW5kZXIpfTp0Lndhcm5PbmNlKCdJbWFnZSAiJytvKyciIGNvdWxkIG5vdCBiZSBsb2FkZWQuIFBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgYWRkZWQgdGhlIGltYWdlIHdpdGggbWFwLmFkZEltYWdlKCkgb3IgYSAic3ByaXRlIiBwcm9wZXJ0eSBpbiB5b3VyIHN0eWxlLiBZb3UgY2FuIHByb3ZpZGUgbWlzc2luZyBpbWFnZXMgYnkgbGlzdGVuaW5nIGZvciB0aGUgInN0eWxlaW1hZ2VtaXNzaW5nIiBtYXAgZXZlbnQuJyl9cihudWxsLG4pfSxyLnByb3RvdHlwZS5nZXRQaXhlbFNpemU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmF0bGFzSW1hZ2U7cmV0dXJue3dpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0fX0sci5wcm90b3R5cGUuZ2V0UGF0dGVybj1mdW5jdGlvbihlKXt2YXIgcj10aGlzLnBhdHRlcm5zW2VdLG49dGhpcy5nZXRJbWFnZShlKTtpZighbilyZXR1cm4gbnVsbDtpZihyJiZyLnBvc2l0aW9uLnZlcnNpb249PT1uLnZlcnNpb24pcmV0dXJuIHIucG9zaXRpb247aWYocilyLnBvc2l0aW9uLnZlcnNpb249bi52ZXJzaW9uO2Vsc2V7dmFyIGE9e3c6bi5kYXRhLndpZHRoKzIsaDpuLmRhdGEuaGVpZ2h0KzIseDowLHk6MH0saT1uZXcgdC5JbWFnZVBvc2l0aW9uKGEsbik7dGhpcy5wYXR0ZXJuc1tlXT17YmluOmEscG9zaXRpb246aX19cmV0dXJuIHRoaXMuX3VwZGF0ZVBhdHRlcm5BdGxhcygpLHRoaXMucGF0dGVybnNbZV0ucG9zaXRpb259LHIucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oZSl7dmFyIHI9ZS5nbDt0aGlzLmF0bGFzVGV4dHVyZT90aGlzLmRpcnR5JiYodGhpcy5hdGxhc1RleHR1cmUudXBkYXRlKHRoaXMuYXRsYXNJbWFnZSksdGhpcy5kaXJ0eT0hMSk6dGhpcy5hdGxhc1RleHR1cmU9bmV3IHQuVGV4dHVyZShlLHRoaXMuYXRsYXNJbWFnZSxyLlJHQkEpLHRoaXMuYXRsYXNUZXh0dXJlLmJpbmQoci5MSU5FQVIsci5DTEFNUF9UT19FREdFKX0sci5wcm90b3R5cGUuX3VwZGF0ZVBhdHRlcm5BdGxhcz1mdW5jdGlvbigpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0aGlzLnBhdHRlcm5zKWUucHVzaCh0aGlzLnBhdHRlcm5zW3JdLmJpbik7dmFyIG49dC5wb3RwYWNrKGUpLGE9bi53LGk9bi5oLG89dGhpcy5hdGxhc0ltYWdlO2Zvcih2YXIgcyBpbiBvLnJlc2l6ZSh7d2lkdGg6YXx8MSxoZWlnaHQ6aXx8MX0pLHRoaXMucGF0dGVybnMpe3ZhciBsPXRoaXMucGF0dGVybnNbc10uYmluLGM9bC54KzEsdT1sLnkrMSxoPXRoaXMuaW1hZ2VzW3NdLmRhdGEsZj1oLndpZHRoLHA9aC5oZWlnaHQ7dC5SR0JBSW1hZ2UuY29weShoLG8se3g6MCx5OjB9LHt4OmMseTp1fSx7d2lkdGg6ZixoZWlnaHQ6cH0pLHQuUkdCQUltYWdlLmNvcHkoaCxvLHt4OjAseTpwLTF9LHt4OmMseTp1LTF9LHt3aWR0aDpmLGhlaWdodDoxfSksdC5SR0JBSW1hZ2UuY29weShoLG8se3g6MCx5OjB9LHt4OmMseTp1K3B9LHt3aWR0aDpmLGhlaWdodDoxfSksdC5SR0JBSW1hZ2UuY29weShoLG8se3g6Zi0xLHk6MH0se3g6Yy0xLHk6dX0se3dpZHRoOjEsaGVpZ2h0OnB9KSx0LlJHQkFJbWFnZS5jb3B5KGgsbyx7eDowLHk6MH0se3g6YytmLHk6dX0se3dpZHRoOjEsaGVpZ2h0OnB9KX10aGlzLmRpcnR5PSEwfSxyLnByb3RvdHlwZS5iZWdpbkZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5jYWxsYmFja0Rpc3BhdGNoZWRUaGlzRnJhbWU9e319LHIucHJvdG90eXBlLmRpc3BhdGNoUmVuZGVyQ2FsbGJhY2tzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dDtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV07aWYoIXRoaXMuY2FsbGJhY2tEaXNwYXRjaGVkVGhpc0ZyYW1lW25dKXt0aGlzLmNhbGxiYWNrRGlzcGF0Y2hlZFRoaXNGcmFtZVtuXT0hMDt2YXIgYT10aGlzLmltYWdlc1tuXTtoKGEpJiZ0aGlzLnVwZGF0ZUltYWdlKG4sYSl9fX0scn0odC5FdmVudGVkKSxwPXYsZD12LGc9MWUyMDtmdW5jdGlvbiB2KHQsZSxyLG4sYSxpKXt0aGlzLmZvbnRTaXplPXR8fDI0LHRoaXMuYnVmZmVyPXZvaWQgMD09PWU/MzplLHRoaXMuY3V0b2ZmPW58fC4yNSx0aGlzLmZvbnRGYW1pbHk9YXx8InNhbnMtc2VyaWYiLHRoaXMuZm9udFdlaWdodD1pfHwibm9ybWFsIix0aGlzLnJhZGl1cz1yfHw4O3ZhciBvPXRoaXMuc2l6ZT10aGlzLmZvbnRTaXplKzIqdGhpcy5idWZmZXI7dGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5jYW52YXMud2lkdGg9dGhpcy5jYW52YXMuaGVpZ2h0PW8sdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0aGlzLmN0eC5mb250PXRoaXMuZm9udFdlaWdodCsiICIrdGhpcy5mb250U2l6ZSsicHggIit0aGlzLmZvbnRGYW1pbHksdGhpcy5jdHgudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHRoaXMuY3R4LmZpbGxTdHlsZT0iYmxhY2siLHRoaXMuZ3JpZE91dGVyPW5ldyBGbG9hdDY0QXJyYXkobypvKSx0aGlzLmdyaWRJbm5lcj1uZXcgRmxvYXQ2NEFycmF5KG8qbyksdGhpcy5mPW5ldyBGbG9hdDY0QXJyYXkobyksdGhpcy5kPW5ldyBGbG9hdDY0QXJyYXkobyksdGhpcy56PW5ldyBGbG9hdDY0QXJyYXkobysxKSx0aGlzLnY9bmV3IEludDE2QXJyYXkobyksdGhpcy5taWRkbGU9TWF0aC5yb3VuZChvLzIqKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiR2Vja28vIik+PTA/MS4yOjEpKX1mdW5jdGlvbiBtKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz0wO3M8ZTtzKyspe2Zvcih2YXIgbD0wO2w8cjtsKyspbltsXT10W2wqZStzXTtmb3IoeShuLGEsaSxvLHIpLGw9MDtsPHI7bCsrKXRbbCplK3NdPWFbbF19Zm9yKGw9MDtsPHI7bCsrKXtmb3Iocz0wO3M8ZTtzKyspbltzXT10W2wqZStzXTtmb3IoeShuLGEsaSxvLGUpLHM9MDtzPGU7cysrKXRbbCplK3NdPU1hdGguc3FydChhW3NdKX19ZnVuY3Rpb24geSh0LGUscixuLGEpe3JbMF09MCxuWzBdPS1nLG5bMV09K2c7Zm9yKHZhciBpPTEsbz0wO2k8YTtpKyspe2Zvcih2YXIgcz0odFtpXStpKmktKHRbcltvXV0rcltvXSpyW29dKSkvKDIqaS0yKnJbb10pO3M8PW5bb107KW8tLSxzPSh0W2ldK2kqaS0odFtyW29dXStyW29dKnJbb10pKS8oMippLTIqcltvXSk7clsrK29dPWksbltvXT1zLG5bbysxXT0rZ31mb3IoaT0wLG89MDtpPGE7aSsrKXtmb3IoO25bbysxXTxpOylvKys7ZVtpXT0oaS1yW29dKSooaS1yW29dKSt0W3Jbb11dfX12LnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQpe3RoaXMuY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5zaXplLHRoaXMuc2l6ZSksdGhpcy5jdHguZmlsbFRleHQodCx0aGlzLmJ1ZmZlcix0aGlzLm1pZGRsZSk7Zm9yKHZhciBlPXRoaXMuY3R4LmdldEltYWdlRGF0YSgwLDAsdGhpcy5zaXplLHRoaXMuc2l6ZSkscj1uZXcgVWludDhDbGFtcGVkQXJyYXkodGhpcy5zaXplKnRoaXMuc2l6ZSksbj0wO248dGhpcy5zaXplKnRoaXMuc2l6ZTtuKyspe3ZhciBhPWUuZGF0YVs0Km4rM10vMjU1O3RoaXMuZ3JpZE91dGVyW25dPTE9PT1hPzA6MD09PWE/ZzpNYXRoLnBvdyhNYXRoLm1heCgwLC41LWEpLDIpLHRoaXMuZ3JpZElubmVyW25dPTE9PT1hP2c6MD09PWE/MDpNYXRoLnBvdyhNYXRoLm1heCgwLGEtLjUpLDIpfWZvcihtKHRoaXMuZ3JpZE91dGVyLHRoaXMuc2l6ZSx0aGlzLnNpemUsdGhpcy5mLHRoaXMuZCx0aGlzLnYsdGhpcy56KSxtKHRoaXMuZ3JpZElubmVyLHRoaXMuc2l6ZSx0aGlzLnNpemUsdGhpcy5mLHRoaXMuZCx0aGlzLnYsdGhpcy56KSxuPTA7bjx0aGlzLnNpemUqdGhpcy5zaXplO24rKyl7dmFyIGk9dGhpcy5ncmlkT3V0ZXJbbl0tdGhpcy5ncmlkSW5uZXJbbl07cltuXT1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDI1NS0yNTUqKGkvdGhpcy5yYWRpdXMrdGhpcy5jdXRvZmYpKSkpfXJldHVybiByfSxwLmRlZmF1bHQ9ZDt2YXIgeD1mdW5jdGlvbih0LGUpe3RoaXMucmVxdWVzdE1hbmFnZXI9dCx0aGlzLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseT1lLHRoaXMuZW50cmllcz17fX07eC5wcm90b3R5cGUuc2V0VVJMPWZ1bmN0aW9uKHQpe3RoaXMudXJsPXR9LHgucHJvdG90eXBlLmdldEdseXBocz1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMsYT1bXTtmb3IodmFyIGkgaW4gZSlmb3IodmFyIG89MCxzPWVbaV07bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1zW29dO2EucHVzaCh7c3RhY2s6aSxpZDpsfSl9dC5hc3luY0FsbChhLGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5zdGFjayxhPXQuaWQsaT1uLmVudHJpZXNbcl07aXx8KGk9bi5lbnRyaWVzW3JdPXtnbHlwaHM6e30scmVxdWVzdHM6e319KTt2YXIgbz1pLmdseXBoc1thXTtpZih2b2lkIDA9PT1vKXtpZihvPW4uX3RpbnlTREYoaSxyLGEpKXJldHVybiBpLmdseXBoc1thXT1vLHZvaWQgZShudWxsLHtzdGFjazpyLGlkOmEsZ2x5cGg6b30pO3ZhciBzPU1hdGguZmxvb3IoYS8yNTYpO2lmKDI1NipzPjY1NTM1KWUobmV3IEVycm9yKCJnbHlwaHMgPiA2NTUzNSBub3Qgc3VwcG9ydGVkIikpO2Vsc2V7dmFyIGw9aS5yZXF1ZXN0c1tzXTtsfHwobD1pLnJlcXVlc3RzW3NdPVtdLHgubG9hZEdseXBoUmFuZ2UocixzLG4udXJsLG4ucmVxdWVzdE1hbmFnZXIsZnVuY3Rpb24odCxlKXtpZihlKWZvcih2YXIgciBpbiBlKW4uX2RvZXNDaGFyU3VwcG9ydExvY2FsR2x5cGgoK3IpfHwoaS5nbHlwaHNbK3JdPWVbK3JdKTtmb3IodmFyIGE9MCxvPWw7YTxvLmxlbmd0aDthKz0xKSgwLG9bYV0pKHQsZSk7ZGVsZXRlIGkucmVxdWVzdHNbc119KSksbC5wdXNoKGZ1bmN0aW9uKHQsbil7dD9lKHQpOm4mJmUobnVsbCx7c3RhY2s6cixpZDphLGdseXBoOm5bYV18fG51bGx9KX0pfX1lbHNlIGUobnVsbCx7c3RhY2s6cixpZDphLGdseXBoOm99KX0sZnVuY3Rpb24odCxlKXtpZih0KXIodCk7ZWxzZSBpZihlKXtmb3IodmFyIG49e30sYT0wLGk9ZTthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV0scz1vLnN0YWNrLGw9by5pZCxjPW8uZ2x5cGg7KG5bc118fChuW3NdPXt9KSlbbF09YyYme2lkOmMuaWQsYml0bWFwOmMuYml0bWFwLmNsb25lKCksbWV0cmljczpjLm1ldHJpY3N9fXIobnVsbCxuKX19KX0seC5wcm90b3R5cGUuX2RvZXNDaGFyU3VwcG9ydExvY2FsR2x5cGg9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseSYmKHQuaXNDaGFyWyJDSksgVW5pZmllZCBJZGVvZ3JhcGhzIl0oZSl8fHQuaXNDaGFyWyJIYW5ndWwgU3lsbGFibGVzIl0oZSl8fHQuaXNDaGFyLkhpcmFnYW5hKGUpfHx0LmlzQ2hhci5LYXRha2FuYShlKSl9LHgucHJvdG90eXBlLl90aW55U0RGPWZ1bmN0aW9uKGUscixuKXt2YXIgYT10aGlzLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseTtpZihhJiZ0aGlzLl9kb2VzQ2hhclN1cHBvcnRMb2NhbEdseXBoKG4pKXt2YXIgaT1lLnRpbnlTREY7aWYoIWkpe3ZhciBvPSI0MDAiOy9ib2xkL2kudGVzdChyKT9vPSI5MDAiOi9tZWRpdW0vaS50ZXN0KHIpP289IjUwMCI6L2xpZ2h0L2kudGVzdChyKSYmKG89IjIwMCIpLGk9ZS50aW55U0RGPW5ldyB4LlRpbnlTREYoMjQsMyw4LC4yNSxhLG8pfXJldHVybntpZDpuLGJpdG1hcDpuZXcgdC5BbHBoYUltYWdlKHt3aWR0aDozMCxoZWlnaHQ6MzB9LGkuZHJhdyhTdHJpbmcuZnJvbUNoYXJDb2RlKG4pKSksbWV0cmljczp7d2lkdGg6MjQsaGVpZ2h0OjI0LGxlZnQ6MCx0b3A6LTgsYWR2YW5jZToyNH19fX0seC5sb2FkR2x5cGhSYW5nZT1mdW5jdGlvbihlLHIsbixhLGkpe3ZhciBvPTI1NipyLHM9bysyNTUsbD1hLnRyYW5zZm9ybVJlcXVlc3QoYS5ub3JtYWxpemVHbHlwaHNVUkwobikucmVwbGFjZSgie2ZvbnRzdGFja30iLGUpLnJlcGxhY2UoIntyYW5nZX0iLG8rIi0iK3MpLHQuUmVzb3VyY2VUeXBlLkdseXBocyk7dC5nZXRBcnJheUJ1ZmZlcihsLGZ1bmN0aW9uKGUscil7aWYoZSlpKGUpO2Vsc2UgaWYocil7Zm9yKHZhciBuPXt9LGE9MCxvPXQucGFyc2VHbHlwaFBCRihyKTthPG8ubGVuZ3RoO2ErPTEpe3ZhciBzPW9bYV07bltzLmlkXT1zfWkobnVsbCxuKX19KX0seC5UaW55U0RGPXA7dmFyIGI9ZnVuY3Rpb24oKXt0aGlzLnNwZWNpZmljYXRpb249dC5zdHlsZVNwZWMubGlnaHQucG9zaXRpb259O2IucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5zcGhlcmljYWxUb0NhcnRlc2lhbihlLmV4cHJlc3Npb24uZXZhbHVhdGUocikpfSxiLnByb3RvdHlwZS5pbnRlcnBvbGF0ZT1mdW5jdGlvbihlLHIsbil7cmV0dXJue3g6dC5udW1iZXIoZS54LHIueCxuKSx5OnQubnVtYmVyKGUueSxyLnksbiksejp0Lm51bWJlcihlLnosci56LG4pfX07dmFyIF89bmV3IHQuUHJvcGVydGllcyh7YW5jaG9yOm5ldyB0LkRhdGFDb25zdGFudFByb3BlcnR5KHQuc3R5bGVTcGVjLmxpZ2h0LmFuY2hvcikscG9zaXRpb246bmV3IGIsY29sb3I6bmV3IHQuRGF0YUNvbnN0YW50UHJvcGVydHkodC5zdHlsZVNwZWMubGlnaHQuY29sb3IpLGludGVuc2l0eTpuZXcgdC5EYXRhQ29uc3RhbnRQcm9wZXJ0eSh0LnN0eWxlU3BlYy5saWdodC5pbnRlbnNpdHkpfSksdz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHIpe2UuY2FsbCh0aGlzKSx0aGlzLl90cmFuc2l0aW9uYWJsZT1uZXcgdC5UcmFuc2l0aW9uYWJsZShfKSx0aGlzLnNldExpZ2h0KHIpLHRoaXMuX3RyYW5zaXRpb25pbmc9dGhpcy5fdHJhbnNpdGlvbmFibGUudW50cmFuc2l0aW9uZWQoKX1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUuZ2V0TGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdHJhbnNpdGlvbmFibGUuc2VyaWFsaXplKCl9LHIucHJvdG90eXBlLnNldExpZ2h0PWZ1bmN0aW9uKGUscil7aWYodm9pZCAwPT09ciYmKHI9e30pLCF0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlTGlnaHQsZSxyKSlmb3IodmFyIG4gaW4gZSl7dmFyIGE9ZVtuXTt0LmVuZHNXaXRoKG4sIi10cmFuc2l0aW9uIik/dGhpcy5fdHJhbnNpdGlvbmFibGUuc2V0VHJhbnNpdGlvbihuLnNsaWNlKDAsLSItdHJhbnNpdGlvbiIubGVuZ3RoKSxhKTp0aGlzLl90cmFuc2l0aW9uYWJsZS5zZXRWYWx1ZShuLGEpfX0sci5wcm90b3R5cGUudXBkYXRlVHJhbnNpdGlvbnM9ZnVuY3Rpb24odCl7dGhpcy5fdHJhbnNpdGlvbmluZz10aGlzLl90cmFuc2l0aW9uYWJsZS50cmFuc2l0aW9uZWQodCx0aGlzLl90cmFuc2l0aW9uaW5nKX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90cmFuc2l0aW9uaW5nLmhhc1RyYW5zaXRpb24oKX0sci5wcm90b3R5cGUucmVjYWxjdWxhdGU9ZnVuY3Rpb24odCl7dGhpcy5wcm9wZXJ0aWVzPXRoaXMuX3RyYW5zaXRpb25pbmcucG9zc2libHlFdmFsdWF0ZSh0KX0sci5wcm90b3R5cGUuX3ZhbGlkYXRlPWZ1bmN0aW9uKGUscixuKXtyZXR1cm4oIW58fCExIT09bi52YWxpZGF0ZSkmJnQuZW1pdFZhbGlkYXRpb25FcnJvcnModGhpcyxlLmNhbGwodC52YWxpZGF0ZVN0eWxlLHQuZXh0ZW5kKHt2YWx1ZTpyLHN0eWxlOntnbHlwaHM6ITAsc3ByaXRlOiEwfSxzdHlsZVNwZWM6dC5zdHlsZVNwZWN9KSkpfSxyfSh0LkV2ZW50ZWQpLGs9ZnVuY3Rpb24odCxlKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLm5leHRSb3c9MCx0aGlzLmJ5dGVzPTQsdGhpcy5kYXRhPW5ldyBVaW50OEFycmF5KHRoaXMud2lkdGgqdGhpcy5oZWlnaHQqdGhpcy5ieXRlcyksdGhpcy5wb3NpdGlvbnM9e319O2sucHJvdG90eXBlLmdldERhc2g9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmpvaW4oIiwiKStTdHJpbmcoZSk7cmV0dXJuIHRoaXMucG9zaXRpb25zW3JdfHwodGhpcy5wb3NpdGlvbnNbcl09dGhpcy5hZGREYXNoKHQsZSkpLHRoaXMucG9zaXRpb25zW3JdfSxrLnByb3RvdHlwZS5hZGREYXNoPWZ1bmN0aW9uKGUscil7dmFyIG49cj83OjAsYT0yKm4rMTtpZih0aGlzLm5leHRSb3crYT50aGlzLmhlaWdodClyZXR1cm4gdC53YXJuT25jZSgiTGluZUF0bGFzIG91dCBvZiBzcGFjZSIpLG51bGw7Zm9yKHZhciBpPTAsbz0wO288ZS5sZW5ndGg7bysrKWkrPWVbb107Zm9yKHZhciBzPXRoaXMud2lkdGgvaSxsPXMvMixjPWUubGVuZ3RoJTI9PTEsdT0tbjt1PD1uO3UrKylmb3IodmFyIGg9dGhpcy5uZXh0Um93K24rdSxmPXRoaXMud2lkdGgqaCxwPWM/LWVbZS5sZW5ndGgtMV06MCxkPWVbMF0sZz0xLHY9MDt2PHRoaXMud2lkdGg7disrKXtmb3IoO2Q8di9zOylwPWQsZCs9ZVtnXSxjJiZnPT09ZS5sZW5ndGgtMSYmKGQrPWVbMF0pLGcrKzt2YXIgbT1NYXRoLmFicyh2LXAqcykseT1NYXRoLmFicyh2LWQqcykseD1NYXRoLm1pbihtLHkpLGI9ZyUyPT0xLF89dm9pZCAwO2lmKHIpe3ZhciB3PW4/dS9uKihsKzEpOjA7aWYoYil7dmFyIGs9bC1NYXRoLmFicyh3KTtfPU1hdGguc3FydCh4KngrayprKX1lbHNlIF89bC1NYXRoLnNxcnQoeCp4K3cqdyl9ZWxzZSBfPShiPzE6LTEpKng7dGhpcy5kYXRhWzMrNCooZit2KV09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsXysxMjgpKX12YXIgVD17eToodGhpcy5uZXh0Um93K24rLjUpL3RoaXMuaGVpZ2h0LGhlaWdodDoyKm4vdGhpcy5oZWlnaHQsd2lkdGg6aX07cmV0dXJuIHRoaXMubmV4dFJvdys9YSx0aGlzLmRpcnR5PSEwLFR9LGsucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5nbDt0aGlzLnRleHR1cmU/KGUuYmluZFRleHR1cmUoZS5URVhUVVJFXzJELHRoaXMudGV4dHVyZSksdGhpcy5kaXJ0eSYmKHRoaXMuZGlydHk9ITEsZS50ZXhTdWJJbWFnZTJEKGUuVEVYVFVSRV8yRCwwLDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LGUuUkdCQSxlLlVOU0lHTkVEX0JZVEUsdGhpcy5kYXRhKSkpOih0aGlzLnRleHR1cmU9ZS5jcmVhdGVUZXh0dXJlKCksZS5iaW5kVGV4dHVyZShlLlRFWFRVUkVfMkQsdGhpcy50ZXh0dXJlKSxlLnRleFBhcmFtZXRlcmkoZS5URVhUVVJFXzJELGUuVEVYVFVSRV9XUkFQX1MsZS5SRVBFQVQpLGUudGV4UGFyYW1ldGVyaShlLlRFWFRVUkVfMkQsZS5URVhUVVJFX1dSQVBfVCxlLlJFUEVBVCksZS50ZXhQYXJhbWV0ZXJpKGUuVEVYVFVSRV8yRCxlLlRFWFRVUkVfTUlOX0ZJTFRFUixlLkxJTkVBUiksZS50ZXhQYXJhbWV0ZXJpKGUuVEVYVFVSRV8yRCxlLlRFWFRVUkVfTUFHX0ZJTFRFUixlLkxJTkVBUiksZS50ZXhJbWFnZTJEKGUuVEVYVFVSRV8yRCwwLGUuUkdCQSx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LDAsZS5SR0JBLGUuVU5TSUdORURfQllURSx0aGlzLmRhdGEpKX07dmFyIFQ9ZnVuY3Rpb24gZShyLG4pe3RoaXMud29ya2VyUG9vbD1yLHRoaXMuYWN0b3JzPVtdLHRoaXMuY3VycmVudEFjdG9yPTAsdGhpcy5pZD10LnVuaXF1ZUlkKCk7Zm9yKHZhciBhPXRoaXMud29ya2VyUG9vbC5hY3F1aXJlKHRoaXMuaWQpLGk9MDtpPGEubGVuZ3RoO2krKyl7dmFyIG89YVtpXSxzPW5ldyBlLkFjdG9yKG8sbix0aGlzLmlkKTtzLm5hbWU9IldvcmtlciAiK2ksdGhpcy5hY3RvcnMucHVzaChzKX19O2Z1bmN0aW9uIE0oZSxyLG4pe3ZhciBhPWZ1bmN0aW9uKGEsaSl7aWYoYSlyZXR1cm4gbihhKTtpZihpKXt2YXIgbz10LnBpY2sodC5leHRlbmQoaSxlKSxbInRpbGVzIiwibWluem9vbSIsIm1heHpvb20iLCJhdHRyaWJ1dGlvbiIsIm1hcGJveF9sb2dvIiwiYm91bmRzIiwic2NoZW1lIiwidGlsZVNpemUiLCJlbmNvZGluZyJdKTtpLnZlY3Rvcl9sYXllcnMmJihvLnZlY3RvckxheWVycz1pLnZlY3Rvcl9sYXllcnMsby52ZWN0b3JMYXllcklkcz1vLnZlY3RvckxheWVycy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSksZS51cmwmJihvLnRpbGVzPXIuY2Fub25pY2FsaXplVGlsZXNldChvLGUudXJsKSksbihudWxsLG8pfX07cmV0dXJuIGUudXJsP3QuZ2V0SlNPTihyLnRyYW5zZm9ybVJlcXVlc3Qoci5ub3JtYWxpemVTb3VyY2VVUkwoZS51cmwpLHQuUmVzb3VyY2VUeXBlLlNvdXJjZSksYSk6dC5icm93c2VyLmZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIGEobnVsbCxlKX0pfVQucHJvdG90eXBlLmJyb2FkY2FzdD1mdW5jdGlvbihlLHIsbil7bj1ufHxmdW5jdGlvbigpe30sdC5hc3luY0FsbCh0aGlzLmFjdG9ycyxmdW5jdGlvbih0LG4pe3Quc2VuZChlLHIsbil9LG4pfSxULnByb3RvdHlwZS5nZXRBY3Rvcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRBY3Rvcj0odGhpcy5jdXJyZW50QWN0b3IrMSkldGhpcy5hY3RvcnMubGVuZ3RoLHRoaXMuYWN0b3JzW3RoaXMuY3VycmVudEFjdG9yXX0sVC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5hY3RvcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnJlbW92ZSgpfSksdGhpcy5hY3RvcnM9W10sdGhpcy53b3JrZXJQb29sLnJlbGVhc2UodGhpcy5pZCl9LFQuQWN0b3I9dC5BY3Rvcjt2YXIgQT1mdW5jdGlvbihlLHIsbil7dGhpcy5ib3VuZHM9dC5MbmdMYXRCb3VuZHMuY29udmVydCh0aGlzLnZhbGlkYXRlQm91bmRzKGUpKSx0aGlzLm1pbnpvb209cnx8MCx0aGlzLm1heHpvb209bnx8MjR9O0EucHJvdG90eXBlLnZhbGlkYXRlQm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiY0PT09dC5sZW5ndGg/W01hdGgubWF4KC0xODAsdFswXSksTWF0aC5tYXgoLTkwLHRbMV0pLE1hdGgubWluKDE4MCx0WzJdKSxNYXRoLm1pbig5MCx0WzNdKV06Wy0xODAsLTkwLDE4MCw5MF19LEEucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGUpe3ZhciByPU1hdGgucG93KDIsZS56KSxuPU1hdGguZmxvb3IodC5tZXJjYXRvclhmcm9tTG5nKHRoaXMuYm91bmRzLmdldFdlc3QoKSkqciksYT1NYXRoLmZsb29yKHQubWVyY2F0b3JZZnJvbUxhdCh0aGlzLmJvdW5kcy5nZXROb3J0aCgpKSpyKSxpPU1hdGguY2VpbCh0Lm1lcmNhdG9yWGZyb21MbmcodGhpcy5ib3VuZHMuZ2V0RWFzdCgpKSpyKSxvPU1hdGguY2VpbCh0Lm1lcmNhdG9yWWZyb21MYXQodGhpcy5ib3VuZHMuZ2V0U291dGgoKSkqcik7cmV0dXJuIGUueD49biYmZS54PGkmJmUueT49YSYmZS55PG99O3ZhciBTPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIocixuLGEsaSl7aWYoZS5jYWxsKHRoaXMpLHRoaXMuaWQ9cix0aGlzLmRpc3BhdGNoZXI9YSx0aGlzLnR5cGU9InZlY3RvciIsdGhpcy5taW56b29tPTAsdGhpcy5tYXh6b29tPTIyLHRoaXMuc2NoZW1lPSJ4eXoiLHRoaXMudGlsZVNpemU9NTEyLHRoaXMucmVwYXJzZU92ZXJzY2FsZWQ9ITAsdGhpcy5pc1RpbGVDbGlwcGVkPSEwLHRoaXMuX2xvYWRlZD0hMSx0LmV4dGVuZCh0aGlzLHQucGljayhuLFsidXJsIiwic2NoZW1lIiwidGlsZVNpemUiXSkpLHRoaXMuX29wdGlvbnM9dC5leHRlbmQoe3R5cGU6InZlY3RvciJ9LG4pLHRoaXMuX2NvbGxlY3RSZXNvdXJjZVRpbWluZz1uLmNvbGxlY3RSZXNvdXJjZVRpbWluZyw1MTIhPT10aGlzLnRpbGVTaXplKXRocm93IG5ldyBFcnJvcigidmVjdG9yIHRpbGUgc291cmNlcyBtdXN0IGhhdmUgYSB0aWxlU2l6ZSBvZiA1MTIiKTt0aGlzLnNldEV2ZW50ZWRQYXJlbnQoaSl9cmV0dXJuIGUmJihyLl9fcHJvdG9fXz1lKSxyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLHIucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2xvYWRlZD0hMSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRhdGFsb2FkaW5nIix7ZGF0YVR5cGU6InNvdXJjZSJ9KSksdGhpcy5fdGlsZUpTT05SZXF1ZXN0PU0odGhpcy5fb3B0aW9ucyx0aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIsZnVuY3Rpb24ocixuKXtlLl90aWxlSlNPTlJlcXVlc3Q9bnVsbCxlLl9sb2FkZWQ9ITAscj9lLmZpcmUobmV3IHQuRXJyb3JFdmVudChyKSk6biYmKHQuZXh0ZW5kKGUsbiksbi5ib3VuZHMmJihlLnRpbGVCb3VuZHM9bmV3IEEobi5ib3VuZHMsZS5taW56b29tLGUubWF4em9vbSkpLHQucG9zdFR1cm5zdGlsZUV2ZW50KG4udGlsZXMsZS5tYXAuX3JlcXVlc3RNYW5hZ2VyLl9jdXN0b21BY2Nlc3NUb2tlbiksdC5wb3N0TWFwTG9hZEV2ZW50KG4udGlsZXMsZS5tYXAuX2dldE1hcElkKCksZS5tYXAuX3JlcXVlc3RNYW5hZ2VyLl9za3VUb2tlbixlLm1hcC5fcmVxdWVzdE1hbmFnZXIuX2N1c3RvbUFjY2Vzc1Rva2VuKSxlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIixzb3VyY2VEYXRhVHlwZToibWV0YWRhdGEifSkpLGUuZmlyZShuZXcgdC5FdmVudCgiZGF0YSIse2RhdGFUeXBlOiJzb3VyY2UiLHNvdXJjZURhdGFUeXBlOiJjb250ZW50In0pKSl9KX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRlZH0sci5wcm90b3R5cGUuaGFzVGlsZT1mdW5jdGlvbih0KXtyZXR1cm4hdGhpcy50aWxlQm91bmRzfHx0aGlzLnRpbGVCb3VuZHMuY29udGFpbnModC5jYW5vbmljYWwpfSxyLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt0aGlzLm1hcD10LHRoaXMubG9hZCgpfSxyLnByb3RvdHlwZS5vblJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX3RpbGVKU09OUmVxdWVzdCYmKHRoaXMuX3RpbGVKU09OUmVxdWVzdC5jYW5jZWwoKSx0aGlzLl90aWxlSlNPTlJlcXVlc3Q9bnVsbCl9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0LmV4dGVuZCh7fSx0aGlzLl9vcHRpb25zKX0sci5wcm90b3R5cGUubG9hZFRpbGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIubm9ybWFsaXplVGlsZVVSTChlLnRpbGVJRC5jYW5vbmljYWwudXJsKHRoaXMudGlsZXMsdGhpcy5zY2hlbWUpLHRoaXMudXJsLG51bGwpLGE9e3JlcXVlc3Q6dGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3Qobix0LlJlc291cmNlVHlwZS5UaWxlKSx1aWQ6ZS51aWQsdGlsZUlEOmUudGlsZUlELHpvb206ZS50aWxlSUQub3ZlcnNjYWxlZFosdGlsZVNpemU6dGhpcy50aWxlU2l6ZSplLnRpbGVJRC5vdmVyc2NhbGVGYWN0b3IoKSx0eXBlOnRoaXMudHlwZSxzb3VyY2U6dGhpcy5pZCxwaXhlbFJhdGlvOnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvLHNob3dDb2xsaXNpb25Cb3hlczp0aGlzLm1hcC5zaG93Q29sbGlzaW9uQm94ZXN9O2Z1bmN0aW9uIGkobixhKXtyZXR1cm4gZGVsZXRlIGUucmVxdWVzdCxlLmFib3J0ZWQ/cihudWxsKTpuJiY0MDQhPT1uLnN0YXR1cz9yKG4pOihhJiZhLnJlc291cmNlVGltaW5nJiYoZS5yZXNvdXJjZVRpbWluZz1hLnJlc291cmNlVGltaW5nKSx0aGlzLm1hcC5fcmVmcmVzaEV4cGlyZWRUaWxlcyYmYSYmZS5zZXRFeHBpcnlEYXRhKGEpLGUubG9hZFZlY3RvckRhdGEoYSx0aGlzLm1hcC5wYWludGVyKSx0LmNhY2hlRW50cnlQb3NzaWJseUFkZGVkKHRoaXMuZGlzcGF0Y2hlcikscihudWxsKSx2b2lkKGUucmVsb2FkQ2FsbGJhY2smJih0aGlzLmxvYWRUaWxlKGUsZS5yZWxvYWRDYWxsYmFjayksZS5yZWxvYWRDYWxsYmFjaz1udWxsKSkpfWEucmVxdWVzdC5jb2xsZWN0UmVzb3VyY2VUaW1pbmc9dGhpcy5fY29sbGVjdFJlc291cmNlVGltaW5nLGUuYWN0b3ImJiJleHBpcmVkIiE9PWUuc3RhdGU/ImxvYWRpbmciPT09ZS5zdGF0ZT9lLnJlbG9hZENhbGxiYWNrPXI6ZS5yZXF1ZXN0PWUuYWN0b3Iuc2VuZCgicmVsb2FkVGlsZSIsYSxpLmJpbmQodGhpcykpOihlLmFjdG9yPXRoaXMuZGlzcGF0Y2hlci5nZXRBY3RvcigpLGUucmVxdWVzdD1lLmFjdG9yLnNlbmQoImxvYWRUaWxlIixhLGkuYmluZCh0aGlzKSkpfSxyLnByb3RvdHlwZS5hYm9ydFRpbGU9ZnVuY3Rpb24odCl7dC5yZXF1ZXN0JiYodC5yZXF1ZXN0LmNhbmNlbCgpLGRlbGV0ZSB0LnJlcXVlc3QpLHQuYWN0b3ImJnQuYWN0b3Iuc2VuZCgiYWJvcnRUaWxlIix7dWlkOnQudWlkLHR5cGU6dGhpcy50eXBlLHNvdXJjZTp0aGlzLmlkfSx2b2lkIDApfSxyLnByb3RvdHlwZS51bmxvYWRUaWxlPWZ1bmN0aW9uKHQpe3QudW5sb2FkVmVjdG9yRGF0YSgpLHQuYWN0b3ImJnQuYWN0b3Iuc2VuZCgicmVtb3ZlVGlsZSIse3VpZDp0LnVpZCx0eXBlOnRoaXMudHlwZSxzb3VyY2U6dGhpcy5pZH0sdm9pZCAwKX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiExfSxyfSh0LkV2ZW50ZWQpLEU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihyLG4sYSxpKXtlLmNhbGwodGhpcyksdGhpcy5pZD1yLHRoaXMuZGlzcGF0Y2hlcj1hLHRoaXMuc2V0RXZlbnRlZFBhcmVudChpKSx0aGlzLnR5cGU9InJhc3RlciIsdGhpcy5taW56b29tPTAsdGhpcy5tYXh6b29tPTIyLHRoaXMucm91bmRab29tPSEwLHRoaXMuc2NoZW1lPSJ4eXoiLHRoaXMudGlsZVNpemU9NTEyLHRoaXMuX2xvYWRlZD0hMSx0aGlzLl9vcHRpb25zPXQuZXh0ZW5kKHt0eXBlOiJyYXN0ZXIifSxuKSx0LmV4dGVuZCh0aGlzLHQucGljayhuLFsidXJsIiwic2NoZW1lIiwidGlsZVNpemUiXSkpfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9sb2FkZWQ9ITEsdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMuX3RpbGVKU09OUmVxdWVzdD1NKHRoaXMuX29wdGlvbnMsdGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLGZ1bmN0aW9uKHIsbil7ZS5fdGlsZUpTT05SZXF1ZXN0PW51bGwsZS5fbG9hZGVkPSEwLHI/ZS5maXJlKG5ldyB0LkVycm9yRXZlbnQocikpOm4mJih0LmV4dGVuZChlLG4pLG4uYm91bmRzJiYoZS50aWxlQm91bmRzPW5ldyBBKG4uYm91bmRzLGUubWluem9vbSxlLm1heHpvb20pKSx0LnBvc3RUdXJuc3RpbGVFdmVudChuLnRpbGVzKSx0LnBvc3RNYXBMb2FkRXZlbnQobi50aWxlcyxlLm1hcC5fZ2V0TWFwSWQoKSxlLm1hcC5fcmVxdWVzdE1hbmFnZXIuX3NrdVRva2VuKSxlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIixzb3VyY2VEYXRhVHlwZToibWV0YWRhdGEifSkpLGUuZmlyZShuZXcgdC5FdmVudCgiZGF0YSIse2RhdGFUeXBlOiJzb3VyY2UiLHNvdXJjZURhdGFUeXBlOiJjb250ZW50In0pKSl9KX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRlZH0sci5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7dGhpcy5tYXA9dCx0aGlzLmxvYWQoKX0sci5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLl90aWxlSlNPTlJlcXVlc3QmJih0aGlzLl90aWxlSlNPTlJlcXVlc3QuY2FuY2VsKCksdGhpcy5fdGlsZUpTT05SZXF1ZXN0PW51bGwpfSxyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5leHRlbmQoe30sdGhpcy5fb3B0aW9ucyl9LHIucHJvdG90eXBlLmhhc1RpbGU9ZnVuY3Rpb24odCl7cmV0dXJuIXRoaXMudGlsZUJvdW5kc3x8dGhpcy50aWxlQm91bmRzLmNvbnRhaW5zKHQuY2Fub25pY2FsKX0sci5wcm90b3R5cGUubG9hZFRpbGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLGE9dGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLm5vcm1hbGl6ZVRpbGVVUkwoZS50aWxlSUQuY2Fub25pY2FsLnVybCh0aGlzLnRpbGVzLHRoaXMuc2NoZW1lKSx0aGlzLnVybCx0aGlzLnRpbGVTaXplKTtlLnJlcXVlc3Q9dC5nZXRJbWFnZSh0aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIudHJhbnNmb3JtUmVxdWVzdChhLHQuUmVzb3VyY2VUeXBlLlRpbGUpLGZ1bmN0aW9uKGEsaSl7aWYoZGVsZXRlIGUucmVxdWVzdCxlLmFib3J0ZWQpZS5zdGF0ZT0idW5sb2FkZWQiLHIobnVsbCk7ZWxzZSBpZihhKWUuc3RhdGU9ImVycm9yZWQiLHIoYSk7ZWxzZSBpZihpKXtuLm1hcC5fcmVmcmVzaEV4cGlyZWRUaWxlcyYmZS5zZXRFeHBpcnlEYXRhKGkpLGRlbGV0ZSBpLmNhY2hlQ29udHJvbCxkZWxldGUgaS5leHBpcmVzO3ZhciBvPW4ubWFwLnBhaW50ZXIuY29udGV4dCxzPW8uZ2w7ZS50ZXh0dXJlPW4ubWFwLnBhaW50ZXIuZ2V0VGlsZVRleHR1cmUoaS53aWR0aCksZS50ZXh0dXJlP2UudGV4dHVyZS51cGRhdGUoaSx7dXNlTWlwbWFwOiEwfSk6KGUudGV4dHVyZT1uZXcgdC5UZXh0dXJlKG8saSxzLlJHQkEse3VzZU1pcG1hcDohMH0pLGUudGV4dHVyZS5iaW5kKHMuTElORUFSLHMuQ0xBTVBfVE9fRURHRSxzLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCksby5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMmJnMudGV4UGFyYW1ldGVyZihzLlRFWFRVUkVfMkQsby5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQsby5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWNNYXgpKSxlLnN0YXRlPSJsb2FkZWQiLHQuY2FjaGVFbnRyeVBvc3NpYmx5QWRkZWQobi5kaXNwYXRjaGVyKSxyKG51bGwpfX0pfSxyLnByb3RvdHlwZS5hYm9ydFRpbGU9ZnVuY3Rpb24odCxlKXt0LnJlcXVlc3QmJih0LnJlcXVlc3QuY2FuY2VsKCksZGVsZXRlIHQucmVxdWVzdCksZSgpfSxyLnByb3RvdHlwZS51bmxvYWRUaWxlPWZ1bmN0aW9uKHQsZSl7dC50ZXh0dXJlJiZ0aGlzLm1hcC5wYWludGVyLnNhdmVUaWxlVGV4dHVyZSh0LnRleHR1cmUpLGUoKX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiExfSxyfSh0LkV2ZW50ZWQpLEw9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihyLG4sYSxpKXtlLmNhbGwodGhpcyxyLG4sYSxpKSx0aGlzLnR5cGU9InJhc3Rlci1kZW0iLHRoaXMubWF4em9vbT0yMix0aGlzLl9vcHRpb25zPXQuZXh0ZW5kKHt0eXBlOiJyYXN0ZXItZGVtIn0sbiksdGhpcy5lbmNvZGluZz1uLmVuY29kaW5nfHwibWFwYm94In1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6InJhc3Rlci1kZW0iLHVybDp0aGlzLnVybCx0aWxlU2l6ZTp0aGlzLnRpbGVTaXplLHRpbGVzOnRoaXMudGlsZXMsYm91bmRzOnRoaXMuYm91bmRzLGVuY29kaW5nOnRoaXMuZW5jb2Rpbmd9fSxyLnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci5ub3JtYWxpemVUaWxlVVJMKGUudGlsZUlELmNhbm9uaWNhbC51cmwodGhpcy50aWxlcyx0aGlzLnNjaGVtZSksdGhpcy51cmwsdGhpcy50aWxlU2l6ZSk7ZS5yZXF1ZXN0PXQuZ2V0SW1hZ2UodGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3Qobix0LlJlc291cmNlVHlwZS5UaWxlKSxmdW5jdGlvbihuLGEpe2lmKGRlbGV0ZSBlLnJlcXVlc3QsZS5hYm9ydGVkKWUuc3RhdGU9InVubG9hZGVkIixyKG51bGwpO2Vsc2UgaWYobillLnN0YXRlPSJlcnJvcmVkIixyKG4pO2Vsc2UgaWYoYSl7dGhpcy5tYXAuX3JlZnJlc2hFeHBpcmVkVGlsZXMmJmUuc2V0RXhwaXJ5RGF0YShhKSxkZWxldGUgYS5jYWNoZUNvbnRyb2wsZGVsZXRlIGEuZXhwaXJlczt2YXIgaT10LmJyb3dzZXIuZ2V0SW1hZ2VEYXRhKGEpLG89e3VpZDplLnVpZCxjb29yZDplLnRpbGVJRCxzb3VyY2U6dGhpcy5pZCxyYXdJbWFnZURhdGE6aSxlbmNvZGluZzp0aGlzLmVuY29kaW5nfTtlLmFjdG9yJiYiZXhwaXJlZCIhPT1lLnN0YXRlfHwoZS5hY3Rvcj10aGlzLmRpc3BhdGNoZXIuZ2V0QWN0b3IoKSxlLmFjdG9yLnNlbmQoImxvYWRERU1UaWxlIixvLGZ1bmN0aW9uKHQsbil7dCYmKGUuc3RhdGU9ImVycm9yZWQiLHIodCkpLG4mJihlLmRlbT1uLGUubmVlZHNIaWxsc2hhZGVQcmVwYXJlPSEwLGUuc3RhdGU9ImxvYWRlZCIscihudWxsKSl9LmJpbmQodGhpcykpKX19LmJpbmQodGhpcykpLGUubmVpZ2hib3JpbmdUaWxlcz10aGlzLl9nZXROZWlnaGJvcmluZ1RpbGVzKGUudGlsZUlEKX0sci5wcm90b3R5cGUuX2dldE5laWdoYm9yaW5nVGlsZXM9ZnVuY3Rpb24oZSl7dmFyIHI9ZS5jYW5vbmljYWwsbj1NYXRoLnBvdygyLHIueiksYT0oci54LTErbiklbixpPTA9PT1yLng/ZS53cmFwLTE6ZS53cmFwLG89KHIueCsxK24pJW4scz1yLngrMT09PW4/ZS53cmFwKzE6ZS53cmFwLGw9e307cmV0dXJuIGxbbmV3IHQuT3ZlcnNjYWxlZFRpbGVJRChlLm92ZXJzY2FsZWRaLGksci56LGEsci55KS5rZXldPXtiYWNrZmlsbGVkOiExfSxsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixzLHIueixvLHIueSkua2V5XT17YmFja2ZpbGxlZDohMX0sci55PjAmJihsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixpLHIueixhLHIueS0xKS5rZXldPXtiYWNrZmlsbGVkOiExfSxsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixlLndyYXAsci56LHIueCxyLnktMSkua2V5XT17YmFja2ZpbGxlZDohMX0sbFtuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKGUub3ZlcnNjYWxlZFoscyxyLnosbyxyLnktMSkua2V5XT17YmFja2ZpbGxlZDohMX0pLHIueSsxPG4mJihsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixpLHIueixhLHIueSsxKS5rZXldPXtiYWNrZmlsbGVkOiExfSxsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixlLndyYXAsci56LHIueCxyLnkrMSkua2V5XT17YmFja2ZpbGxlZDohMX0sbFtuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKGUub3ZlcnNjYWxlZFoscyxyLnosbyxyLnkrMSkua2V5XT17YmFja2ZpbGxlZDohMX0pLGx9LHIucHJvdG90eXBlLnVubG9hZFRpbGU9ZnVuY3Rpb24odCl7dC5kZW1UZXh0dXJlJiZ0aGlzLm1hcC5wYWludGVyLnNhdmVUaWxlVGV4dHVyZSh0LmRlbVRleHR1cmUpLHQuZmJvJiYodC5mYm8uZGVzdHJveSgpLGRlbGV0ZSB0LmZibyksdC5kZW0mJmRlbGV0ZSB0LmRlbSxkZWxldGUgdC5uZWlnaGJvcmluZ1RpbGVzLHQuc3RhdGU9InVubG9hZGVkIix0LmFjdG9yJiZ0LmFjdG9yLnNlbmQoInJlbW92ZURFTVRpbGUiLHt1aWQ6dC51aWQsc291cmNlOnRoaXMuaWR9KX0scn0oRSksQz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHIsbixhLGkpe2UuY2FsbCh0aGlzKSx0aGlzLmlkPXIsdGhpcy50eXBlPSJnZW9qc29uIix0aGlzLm1pbnpvb209MCx0aGlzLm1heHpvb209MTgsdGhpcy50aWxlU2l6ZT01MTIsdGhpcy5pc1RpbGVDbGlwcGVkPSEwLHRoaXMucmVwYXJzZU92ZXJzY2FsZWQ9ITAsdGhpcy5fcmVtb3ZlZD0hMSx0aGlzLl9sb2FkZWQ9ITEsdGhpcy5hY3Rvcj1hLmdldEFjdG9yKCksdGhpcy5zZXRFdmVudGVkUGFyZW50KGkpLHRoaXMuX2RhdGE9bi5kYXRhLHRoaXMuX29wdGlvbnM9dC5leHRlbmQoe30sbiksdGhpcy5fY29sbGVjdFJlc291cmNlVGltaW5nPW4uY29sbGVjdFJlc291cmNlVGltaW5nLHRoaXMuX3Jlc291cmNlVGltaW5nPVtdLHZvaWQgMCE9PW4ubWF4em9vbSYmKHRoaXMubWF4em9vbT1uLm1heHpvb20pLG4udHlwZSYmKHRoaXMudHlwZT1uLnR5cGUpLG4uYXR0cmlidXRpb24mJih0aGlzLmF0dHJpYnV0aW9uPW4uYXR0cmlidXRpb24pO3ZhciBvPXQuRVhURU5UL3RoaXMudGlsZVNpemU7dGhpcy53b3JrZXJPcHRpb25zPXQuZXh0ZW5kKHtzb3VyY2U6dGhpcy5pZCxjbHVzdGVyOm4uY2x1c3Rlcnx8ITEsZ2VvanNvblZ0T3B0aW9uczp7YnVmZmVyOih2b2lkIDAhPT1uLmJ1ZmZlcj9uLmJ1ZmZlcjoxMjgpKm8sdG9sZXJhbmNlOih2b2lkIDAhPT1uLnRvbGVyYW5jZT9uLnRvbGVyYW5jZTouMzc1KSpvLGV4dGVudDp0LkVYVEVOVCxtYXhab29tOnRoaXMubWF4em9vbSxsaW5lTWV0cmljczpuLmxpbmVNZXRyaWNzfHwhMSxnZW5lcmF0ZUlkOm4uZ2VuZXJhdGVJZHx8ITF9LHN1cGVyY2x1c3Rlck9wdGlvbnM6e21heFpvb206dm9pZCAwIT09bi5jbHVzdGVyTWF4Wm9vbT9NYXRoLm1pbihuLmNsdXN0ZXJNYXhab29tLHRoaXMubWF4em9vbS0xKTp0aGlzLm1heHpvb20tMSxleHRlbnQ6dC5FWFRFTlQscmFkaXVzOihuLmNsdXN0ZXJSYWRpdXN8fDUwKSpvLGxvZzohMX0sY2x1c3RlclByb3BlcnRpZXM6bi5jbHVzdGVyUHJvcGVydGllc30sbi53b3JrZXJPcHRpb25zKX1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMuX3VwZGF0ZVdvcmtlckRhdGEoZnVuY3Rpb24ocil7aWYocillLmZpcmUobmV3IHQuRXJyb3JFdmVudChyKSk7ZWxzZXt2YXIgbj17ZGF0YVR5cGU6InNvdXJjZSIsc291cmNlRGF0YVR5cGU6Im1ldGFkYXRhIn07ZS5fY29sbGVjdFJlc291cmNlVGltaW5nJiZlLl9yZXNvdXJjZVRpbWluZyYmZS5fcmVzb3VyY2VUaW1pbmcubGVuZ3RoPjAmJihuLnJlc291cmNlVGltaW5nPWUuX3Jlc291cmNlVGltaW5nLGUuX3Jlc291cmNlVGltaW5nPVtdKSxlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLG4pKX19KX0sci5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7dGhpcy5tYXA9dCx0aGlzLmxvYWQoKX0sci5wcm90b3R5cGUuc2V0RGF0YT1mdW5jdGlvbihlKXt2YXIgcj10aGlzO3JldHVybiB0aGlzLl9kYXRhPWUsdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMuX3VwZGF0ZVdvcmtlckRhdGEoZnVuY3Rpb24oZSl7aWYoZSlyLmZpcmUobmV3IHQuRXJyb3JFdmVudChlKSk7ZWxzZXt2YXIgbj17ZGF0YVR5cGU6InNvdXJjZSIsc291cmNlRGF0YVR5cGU6ImNvbnRlbnQifTtyLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmcmJnIuX3Jlc291cmNlVGltaW5nJiZyLl9yZXNvdXJjZVRpbWluZy5sZW5ndGg+MCYmKG4ucmVzb3VyY2VUaW1pbmc9ci5fcmVzb3VyY2VUaW1pbmcsci5fcmVzb3VyY2VUaW1pbmc9W10pLHIuZmlyZShuZXcgdC5FdmVudCgiZGF0YSIsbikpfX0pLHRoaXN9LHIucHJvdG90eXBlLmdldENsdXN0ZXJFeHBhbnNpb25ab29tPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYWN0b3Iuc2VuZCgiZ2VvanNvbi5nZXRDbHVzdGVyRXhwYW5zaW9uWm9vbSIse2NsdXN0ZXJJZDp0LHNvdXJjZTp0aGlzLmlkfSxlKSx0aGlzfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyQ2hpbGRyZW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hY3Rvci5zZW5kKCJnZW9qc29uLmdldENsdXN0ZXJDaGlsZHJlbiIse2NsdXN0ZXJJZDp0LHNvdXJjZTp0aGlzLmlkfSxlKSx0aGlzfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyTGVhdmVzPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLmFjdG9yLnNlbmQoImdlb2pzb24uZ2V0Q2x1c3RlckxlYXZlcyIse3NvdXJjZTp0aGlzLmlkLGNsdXN0ZXJJZDp0LGxpbWl0OmUsb2Zmc2V0OnJ9LG4pLHRoaXN9LHIucHJvdG90eXBlLl91cGRhdGVXb3JrZXJEYXRhPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7dGhpcy5fbG9hZGVkPSExO3ZhciBuPXQuZXh0ZW5kKHt9LHRoaXMud29ya2VyT3B0aW9ucyksYT10aGlzLl9kYXRhOyJzdHJpbmciPT10eXBlb2YgYT8obi5yZXF1ZXN0PXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci50cmFuc2Zvcm1SZXF1ZXN0KHQuYnJvd3Nlci5yZXNvbHZlVVJMKGEpLHQuUmVzb3VyY2VUeXBlLlNvdXJjZSksbi5yZXF1ZXN0LmNvbGxlY3RSZXNvdXJjZVRpbWluZz10aGlzLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmcpOm4uZGF0YT1KU09OLnN0cmluZ2lmeShhKSx0aGlzLmFjdG9yLnNlbmQodGhpcy50eXBlKyIubG9hZERhdGEiLG4sZnVuY3Rpb24odCxhKXtyLl9yZW1vdmVkfHxhJiZhLmFiYW5kb25lZHx8KHIuX2xvYWRlZD0hMCxhJiZhLnJlc291cmNlVGltaW5nJiZhLnJlc291cmNlVGltaW5nW3IuaWRdJiYoci5fcmVzb3VyY2VUaW1pbmc9YS5yZXNvdXJjZVRpbWluZ1tyLmlkXS5zbGljZSgwKSksci5hY3Rvci5zZW5kKHIudHlwZSsiLmNvYWxlc2NlIix7c291cmNlOm4uc291cmNlfSxudWxsKSxlKHQpKX0pfSxyLnByb3RvdHlwZS5sb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9hZGVkfSxyLnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMsYT1lLmFjdG9yPyJyZWxvYWRUaWxlIjoibG9hZFRpbGUiO2UuYWN0b3I9dGhpcy5hY3Rvcjt2YXIgaT17dHlwZTp0aGlzLnR5cGUsdWlkOmUudWlkLHRpbGVJRDplLnRpbGVJRCx6b29tOmUudGlsZUlELm92ZXJzY2FsZWRaLG1heFpvb206dGhpcy5tYXh6b29tLHRpbGVTaXplOnRoaXMudGlsZVNpemUsc291cmNlOnRoaXMuaWQscGl4ZWxSYXRpbzp0LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbyxzaG93Q29sbGlzaW9uQm94ZXM6dGhpcy5tYXAuc2hvd0NvbGxpc2lvbkJveGVzfTtlLnJlcXVlc3Q9dGhpcy5hY3Rvci5zZW5kKGEsaSxmdW5jdGlvbih0LGkpe3JldHVybiBkZWxldGUgZS5yZXF1ZXN0LGUudW5sb2FkVmVjdG9yRGF0YSgpLGUuYWJvcnRlZD9yKG51bGwpOnQ/cih0KTooZS5sb2FkVmVjdG9yRGF0YShpLG4ubWFwLnBhaW50ZXIsInJlbG9hZFRpbGUiPT09YSkscihudWxsKSl9KX0sci5wcm90b3R5cGUuYWJvcnRUaWxlPWZ1bmN0aW9uKHQpe3QucmVxdWVzdCYmKHQucmVxdWVzdC5jYW5jZWwoKSxkZWxldGUgdC5yZXF1ZXN0KSx0LmFib3J0ZWQ9ITB9LHIucHJvdG90eXBlLnVubG9hZFRpbGU9ZnVuY3Rpb24odCl7dC51bmxvYWRWZWN0b3JEYXRhKCksdGhpcy5hY3Rvci5zZW5kKCJyZW1vdmVUaWxlIix7dWlkOnQudWlkLHR5cGU6dGhpcy50eXBlLHNvdXJjZTp0aGlzLmlkfSl9LHIucHJvdG90eXBlLm9uUmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlZD0hMCx0aGlzLmFjdG9yLnNlbmQoInJlbW92ZVNvdXJjZSIse3R5cGU6dGhpcy50eXBlLHNvdXJjZTp0aGlzLmlkfSl9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0LmV4dGVuZCh7fSx0aGlzLl9vcHRpb25zLHt0eXBlOnRoaXMudHlwZSxkYXRhOnRoaXMuX2RhdGF9KX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiExfSxyfSh0LkV2ZW50ZWQpLFA9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcih0LHIsbixhKXtlLmNhbGwodGhpcyksdGhpcy5pZD10LHRoaXMuZGlzcGF0Y2hlcj1uLHRoaXMuY29vcmRpbmF0ZXM9ci5jb29yZGluYXRlcyx0aGlzLnR5cGU9ImltYWdlIix0aGlzLm1pbnpvb209MCx0aGlzLm1heHpvb209MjIsdGhpcy50aWxlU2l6ZT01MTIsdGhpcy50aWxlcz17fSx0aGlzLl9sb2FkZWQ9ITEsdGhpcy5zZXRFdmVudGVkUGFyZW50KGEpLHRoaXMub3B0aW9ucz1yfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGUscil7dmFyIG49dGhpczt0aGlzLl9sb2FkZWQ9ITEsdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMudXJsPXRoaXMub3B0aW9ucy51cmwsdC5nZXRJbWFnZSh0aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIudHJhbnNmb3JtUmVxdWVzdCh0aGlzLnVybCx0LlJlc291cmNlVHlwZS5JbWFnZSksZnVuY3Rpb24oYSxpKXtuLl9sb2FkZWQ9ITAsYT9uLmZpcmUobmV3IHQuRXJyb3JFdmVudChhKSk6aSYmKG4uaW1hZ2U9aSxlJiYobi5jb29yZGluYXRlcz1lKSxyJiZyKCksbi5fZmluaXNoTG9hZGluZygpKX0pfSxyLnByb3RvdHlwZS5sb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9hZGVkfSxyLnByb3RvdHlwZS51cGRhdGVJbWFnZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0aGlzLmltYWdlJiZ0LnVybD8odGhpcy5vcHRpb25zLnVybD10LnVybCx0aGlzLmxvYWQodC5jb29yZGluYXRlcyxmdW5jdGlvbigpe2UudGV4dHVyZT1udWxsfSksdGhpcyk6dGhpc30sci5wcm90b3R5cGUuX2ZpbmlzaExvYWRpbmc9ZnVuY3Rpb24oKXt0aGlzLm1hcCYmKHRoaXMuc2V0Q29vcmRpbmF0ZXModGhpcy5jb29yZGluYXRlcyksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InNvdXJjZSIsc291cmNlRGF0YVR5cGU6Im1ldGFkYXRhIn0pKSl9LHIucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3RoaXMubWFwPXQsdGhpcy5sb2FkKCl9LHIucHJvdG90eXBlLnNldENvb3JkaW5hdGVzPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7dGhpcy5jb29yZGluYXRlcz1lO3ZhciBuPWUubWFwKHQuTWVyY2F0b3JDb29yZGluYXRlLmZyb21MbmdMYXQpO3RoaXMudGlsZUlEPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcj0xLzAsbj0xLzAsYT0tMS8wLGk9LTEvMCxvPTAscz1lO288cy5sZW5ndGg7bys9MSl7dmFyIGw9c1tvXTtyPU1hdGgubWluKHIsbC54KSxuPU1hdGgubWluKG4sbC55KSxhPU1hdGgubWF4KGEsbC54KSxpPU1hdGgubWF4KGksbC55KX12YXIgYz1hLXIsdT1pLW4saD1NYXRoLm1heChjLHUpLGY9TWF0aC5tYXgoMCxNYXRoLmZsb29yKC1NYXRoLmxvZyhoKS9NYXRoLkxOMikpLHA9TWF0aC5wb3coMixmKTtyZXR1cm4gbmV3IHQuQ2Fub25pY2FsVGlsZUlEKGYsTWF0aC5mbG9vcigocithKS8yKnApLE1hdGguZmxvb3IoKG4raSkvMipwKSl9KG4pLHRoaXMubWluem9vbT10aGlzLm1heHpvb209dGhpcy50aWxlSUQuejt2YXIgYT1uLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gci50aWxlSUQuZ2V0VGlsZVBvaW50KHQpLl9yb3VuZCgpfSk7cmV0dXJuIHRoaXMuX2JvdW5kc0FycmF5PW5ldyB0LlN0cnVjdEFycmF5TGF5b3V0NGk4LHRoaXMuX2JvdW5kc0FycmF5LmVtcGxhY2VCYWNrKGFbMF0ueCxhWzBdLnksMCwwKSx0aGlzLl9ib3VuZHNBcnJheS5lbXBsYWNlQmFjayhhWzFdLngsYVsxXS55LHQuRVhURU5ULDApLHRoaXMuX2JvdW5kc0FycmF5LmVtcGxhY2VCYWNrKGFbM10ueCxhWzNdLnksMCx0LkVYVEVOVCksdGhpcy5fYm91bmRzQXJyYXkuZW1wbGFjZUJhY2soYVsyXS54LGFbMl0ueSx0LkVYVEVOVCx0LkVYVEVOVCksdGhpcy5ib3VuZHNCdWZmZXImJih0aGlzLmJvdW5kc0J1ZmZlci5kZXN0cm95KCksZGVsZXRlIHRoaXMuYm91bmRzQnVmZmVyKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIixzb3VyY2VEYXRhVHlwZToiY29udGVudCJ9KSksdGhpc30sci5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbigpe2lmKDAhPT1PYmplY3Qua2V5cyh0aGlzLnRpbGVzKS5sZW5ndGgmJnRoaXMuaW1hZ2Upe3ZhciBlPXRoaXMubWFwLnBhaW50ZXIuY29udGV4dCxyPWUuZ2w7Zm9yKHZhciBuIGluIHRoaXMuYm91bmRzQnVmZmVyfHwodGhpcy5ib3VuZHNCdWZmZXI9ZS5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5fYm91bmRzQXJyYXksdC5yYXN0ZXJCb3VuZHNBdHRyaWJ1dGVzLm1lbWJlcnMpKSx0aGlzLmJvdW5kc1NlZ21lbnRzfHwodGhpcy5ib3VuZHNTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCwyKSksdGhpcy50ZXh0dXJlfHwodGhpcy50ZXh0dXJlPW5ldyB0LlRleHR1cmUoZSx0aGlzLmltYWdlLHIuUkdCQSksdGhpcy50ZXh0dXJlLmJpbmQoci5MSU5FQVIsci5DTEFNUF9UT19FREdFKSksdGhpcy50aWxlcyl7dmFyIGE9dGhpcy50aWxlc1tuXTsibG9hZGVkIiE9PWEuc3RhdGUmJihhLnN0YXRlPSJsb2FkZWQiLGEudGV4dHVyZT10aGlzLnRleHR1cmUpfX19LHIucHJvdG90eXBlLmxvYWRUaWxlPWZ1bmN0aW9uKHQsZSl7dGhpcy50aWxlSUQmJnRoaXMudGlsZUlELmVxdWFscyh0LnRpbGVJRC5jYW5vbmljYWwpPyh0aGlzLnRpbGVzW1N0cmluZyh0LnRpbGVJRC53cmFwKV09dCx0LmJ1Y2tldHM9e30sZShudWxsKSk6KHQuc3RhdGU9ImVycm9yZWQiLGUobnVsbCkpfSxyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiaW1hZ2UiLHVybDp0aGlzLm9wdGlvbnMudXJsLGNvb3JkaW5hdGVzOnRoaXMuY29vcmRpbmF0ZXN9fSxyLnByb3RvdHlwZS5oYXNUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuITF9LHJ9KHQuRXZlbnRlZCksTz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHQscixuLGEpe2UuY2FsbCh0aGlzLHQscixuLGEpLHRoaXMucm91bmRab29tPSEwLHRoaXMudHlwZT0idmlkZW8iLHRoaXMub3B0aW9ucz1yfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9sb2FkZWQ9ITE7dmFyIHI9dGhpcy5vcHRpb25zO3RoaXMudXJscz1bXTtmb3IodmFyIG49MCxhPXIudXJscztuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07dGhpcy51cmxzLnB1c2godGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3QoaSx0LlJlc291cmNlVHlwZS5Tb3VyY2UpLnVybCl9dC5nZXRWaWRlbyh0aGlzLnVybHMsZnVuY3Rpb24ocixuKXtlLl9sb2FkZWQ9ITAscj9lLmZpcmUobmV3IHQuRXJyb3JFdmVudChyKSk6biYmKGUudmlkZW89bixlLnZpZGVvLmxvb3A9ITAsZS52aWRlby5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixmdW5jdGlvbigpe2UubWFwLnRyaWdnZXJSZXBhaW50KCl9KSxlLm1hcCYmZS52aWRlby5wbGF5KCksZS5fZmluaXNoTG9hZGluZygpKX0pfSxyLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3RoaXMudmlkZW8mJnRoaXMudmlkZW8ucGF1c2UoKX0sci5wcm90b3R5cGUucGxheT1mdW5jdGlvbigpe3RoaXMudmlkZW8mJnRoaXMudmlkZW8ucGxheSgpfSxyLnByb3RvdHlwZS5zZWVrPWZ1bmN0aW9uKGUpe2lmKHRoaXMudmlkZW8pe3ZhciByPXRoaXMudmlkZW8uc2Vla2FibGU7ZTxyLnN0YXJ0KDApfHxlPnIuZW5kKDApP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigiUGxheWJhY2sgZm9yIHRoaXMgdmlkZW8gY2FuIGJlIHNldCBvbmx5IGJldHdlZW4gdGhlICIrci5zdGFydCgwKSsiIGFuZCAiK3IuZW5kKDApKyItc2Vjb25kIG1hcmsuIikpKTp0aGlzLnZpZGVvLmN1cnJlbnRUaW1lPWV9fSxyLnByb3RvdHlwZS5nZXRWaWRlbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZpZGVvfSxyLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt0aGlzLm1hcHx8KHRoaXMubWFwPXQsdGhpcy5sb2FkKCksdGhpcy52aWRlbyYmKHRoaXMudmlkZW8ucGxheSgpLHRoaXMuc2V0Q29vcmRpbmF0ZXModGhpcy5jb29yZGluYXRlcykpKX0sci5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbigpe2lmKCEoMD09PU9iamVjdC5rZXlzKHRoaXMudGlsZXMpLmxlbmd0aHx8dGhpcy52aWRlby5yZWFkeVN0YXRlPDIpKXt2YXIgZT10aGlzLm1hcC5wYWludGVyLmNvbnRleHQscj1lLmdsO2Zvcih2YXIgbiBpbiB0aGlzLmJvdW5kc0J1ZmZlcnx8KHRoaXMuYm91bmRzQnVmZmVyPWUuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMuX2JvdW5kc0FycmF5LHQucmFzdGVyQm91bmRzQXR0cmlidXRlcy5tZW1iZXJzKSksdGhpcy5ib3VuZHNTZWdtZW50c3x8KHRoaXMuYm91bmRzU2VnbWVudHM9dC5TZWdtZW50VmVjdG9yLnNpbXBsZVNlZ21lbnQoMCwwLDQsMikpLHRoaXMudGV4dHVyZT90aGlzLnZpZGVvLnBhdXNlZHx8KHRoaXMudGV4dHVyZS5iaW5kKHIuTElORUFSLHIuQ0xBTVBfVE9fRURHRSksci50ZXhTdWJJbWFnZTJEKHIuVEVYVFVSRV8yRCwwLDAsMCxyLlJHQkEsci5VTlNJR05FRF9CWVRFLHRoaXMudmlkZW8pKToodGhpcy50ZXh0dXJlPW5ldyB0LlRleHR1cmUoZSx0aGlzLnZpZGVvLHIuUkdCQSksdGhpcy50ZXh0dXJlLmJpbmQoci5MSU5FQVIsci5DTEFNUF9UT19FREdFKSksdGhpcy50aWxlcyl7dmFyIGE9dGhpcy50aWxlc1tuXTsibG9hZGVkIiE9PWEuc3RhdGUmJihhLnN0YXRlPSJsb2FkZWQiLGEudGV4dHVyZT10aGlzLnRleHR1cmUpfX19LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJ2aWRlbyIsdXJsczp0aGlzLnVybHMsY29vcmRpbmF0ZXM6dGhpcy5jb29yZGluYXRlc319LHIucHJvdG90eXBlLmhhc1RyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52aWRlbyYmIXRoaXMudmlkZW8ucGF1c2VkfSxyfShQKSx6PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIocixuLGEsaSl7ZS5jYWxsKHRoaXMscixuLGEsaSksbi5jb29yZGluYXRlcz9BcnJheS5pc0FycmF5KG4uY29vcmRpbmF0ZXMpJiY0PT09bi5jb29yZGluYXRlcy5sZW5ndGgmJiFuLmNvb3JkaW5hdGVzLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIUFycmF5LmlzQXJyYXkodCl8fDIhPT10Lmxlbmd0aHx8dC5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiIT10eXBlb2YgdH0pfSl8fHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigic291cmNlcy4iK3IsbnVsbCwnImNvb3JkaW5hdGVzIiBwcm9wZXJ0eSBtdXN0IGJlIGFuIGFycmF5IG9mIDQgbG9uZ2l0dWRlL2xhdGl0dWRlIGFycmF5IHBhaXJzJykpKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgdC5WYWxpZGF0aW9uRXJyb3IoInNvdXJjZXMuIityLG51bGwsJ21pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHkgImNvb3JkaW5hdGVzIicpKSksbi5hbmltYXRlJiYiYm9vbGVhbiIhPXR5cGVvZiBuLmFuaW1hdGUmJnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigic291cmNlcy4iK3IsbnVsbCwnb3B0aW9uYWwgImFuaW1hdGUiIHByb3BlcnR5IG11c3QgYmUgYSBib29sZWFuIHZhbHVlJykpKSxuLmNhbnZhcz8ic3RyaW5nIj09dHlwZW9mIG4uY2FudmFzfHxuLmNhbnZhcyBpbnN0YW5jZW9mIHQud2luZG93LkhUTUxDYW52YXNFbGVtZW50fHx0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgdC5WYWxpZGF0aW9uRXJyb3IoInNvdXJjZXMuIityLG51bGwsJyJjYW52YXMiIG11c3QgYmUgZWl0aGVyIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSUQgb2YgdGhlIGNhbnZhcyBlbGVtZW50IGZyb20gd2hpY2ggdG8gcmVhZCwgb3IgYW4gSFRNTENhbnZhc0VsZW1lbnQgaW5zdGFuY2UnKSkpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigic291cmNlcy4iK3IsbnVsbCwnbWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0eSAiY2FudmFzIicpKSksdGhpcy5vcHRpb25zPW4sdGhpcy5hbmltYXRlPXZvaWQgMD09PW4uYW5pbWF0ZXx8bi5hbmltYXRlfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dGhpcy5fbG9hZGVkPSEwLHRoaXMuY2FudmFzfHwodGhpcy5jYW52YXM9dGhpcy5vcHRpb25zLmNhbnZhcyBpbnN0YW5jZW9mIHQud2luZG93LkhUTUxDYW52YXNFbGVtZW50P3RoaXMub3B0aW9ucy5jYW52YXM6dC53aW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5vcHRpb25zLmNhbnZhcykpLHRoaXMud2lkdGg9dGhpcy5jYW52YXMud2lkdGgsdGhpcy5oZWlnaHQ9dGhpcy5jYW52YXMuaGVpZ2h0LHRoaXMuX2hhc0ludmFsaWREaW1lbnNpb25zKCk/dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJDYW52YXMgZGltZW5zaW9ucyBjYW5ub3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHplcm8uIikpKToodGhpcy5wbGF5PWZ1bmN0aW9uKCl7dGhpcy5fcGxheWluZz0hMCx0aGlzLm1hcC50cmlnZ2VyUmVwYWludCgpfSx0aGlzLnBhdXNlPWZ1bmN0aW9uKCl7dGhpcy5fcGxheWluZyYmKHRoaXMucHJlcGFyZSgpLHRoaXMuX3BsYXlpbmc9ITEpfSx0aGlzLl9maW5pc2hMb2FkaW5nKCkpfSxyLnByb3RvdHlwZS5nZXRDYW52YXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW52YXN9LHIucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3RoaXMubWFwPXQsdGhpcy5sb2FkKCksdGhpcy5jYW52YXMmJnRoaXMuYW5pbWF0ZSYmdGhpcy5wbGF5KCl9LHIucHJvdG90eXBlLm9uUmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5wYXVzZSgpfSxyLnByb3RvdHlwZS5wcmVwYXJlPWZ1bmN0aW9uKCl7dmFyIGU9ITE7aWYodGhpcy5jYW52YXMud2lkdGghPT10aGlzLndpZHRoJiYodGhpcy53aWR0aD10aGlzLmNhbnZhcy53aWR0aCxlPSEwKSx0aGlzLmNhbnZhcy5oZWlnaHQhPT10aGlzLmhlaWdodCYmKHRoaXMuaGVpZ2h0PXRoaXMuY2FudmFzLmhlaWdodCxlPSEwKSwhdGhpcy5faGFzSW52YWxpZERpbWVuc2lvbnMoKSYmMCE9PU9iamVjdC5rZXlzKHRoaXMudGlsZXMpLmxlbmd0aCl7dmFyIHI9dGhpcy5tYXAucGFpbnRlci5jb250ZXh0LG49ci5nbDtmb3IodmFyIGEgaW4gdGhpcy5ib3VuZHNCdWZmZXJ8fCh0aGlzLmJvdW5kc0J1ZmZlcj1yLmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLl9ib3VuZHNBcnJheSx0LnJhc3RlckJvdW5kc0F0dHJpYnV0ZXMubWVtYmVycykpLHRoaXMuYm91bmRzU2VnbWVudHN8fCh0aGlzLmJvdW5kc1NlZ21lbnRzPXQuU2VnbWVudFZlY3Rvci5zaW1wbGVTZWdtZW50KDAsMCw0LDIpKSx0aGlzLnRleHR1cmU/KGV8fHRoaXMuX3BsYXlpbmcpJiZ0aGlzLnRleHR1cmUudXBkYXRlKHRoaXMuY2FudmFzLHtwcmVtdWx0aXBseTohMH0pOnRoaXMudGV4dHVyZT1uZXcgdC5UZXh0dXJlKHIsdGhpcy5jYW52YXMsbi5SR0JBLHtwcmVtdWx0aXBseTohMH0pLHRoaXMudGlsZXMpe3ZhciBpPXRoaXMudGlsZXNbYV07ImxvYWRlZCIhPT1pLnN0YXRlJiYoaS5zdGF0ZT0ibG9hZGVkIixpLnRleHR1cmU9dGhpcy50ZXh0dXJlKX19fSxyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiY2FudmFzIixjb29yZGluYXRlczp0aGlzLmNvb3JkaW5hdGVzfX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wbGF5aW5nfSxyLnByb3RvdHlwZS5faGFzSW52YWxpZERpbWVuc2lvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxlPVt0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHRdO3Q8ZS5sZW5ndGg7dCs9MSl7dmFyIHI9ZVt0XTtpZihpc05hTihyKXx8cjw9MClyZXR1cm4hMH1yZXR1cm4hMX0scn0oUCksST17dmVjdG9yOlMscmFzdGVyOkUsInJhc3Rlci1kZW0iOkwsZ2VvanNvbjpDLHZpZGVvOk8saW1hZ2U6UCxjYW52YXM6en0sRD1mdW5jdGlvbihlLHIsbixhKXt2YXIgaT1uZXcgSVtyLnR5cGVdKGUscixuLGEpO2lmKGkuaWQhPT1lKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgU291cmNlIGlkIHRvIGJlICIrZSsiIGluc3RlYWQgb2YgIitpLmlkKTtyZXR1cm4gdC5iaW5kQWxsKFsibG9hZCIsImFib3J0IiwidW5sb2FkIiwic2VyaWFsaXplIiwicHJlcGFyZSJdLGkpLGl9O2Z1bmN0aW9uIFIoZSxyKXt2YXIgbj10LmlkZW50aXR5KFtdKTtyZXR1cm4gdC50cmFuc2xhdGUobixuLFsxLDEsMF0pLHQuc2NhbGUobixuLFsuNSplLndpZHRoLC41KmUuaGVpZ2h0LDFdKSx0Lm11bHRpcGx5KG4sbixlLmNhbGN1bGF0ZVBvc01hdHJpeChyLnRvVW53cmFwcGVkKCkpKX1mdW5jdGlvbiBGKHQsZSxyLG4sYSl7dmFyIGk9ZnVuY3Rpb24odCxlLHIpe2lmKHQpZm9yKHZhciBuPTAsYT10O248YS5sZW5ndGg7bis9MSl7dmFyIGk9ZVthW25dXTtpZihpJiZpLnNvdXJjZT09PXImJiJmaWxsLWV4dHJ1c2lvbiI9PT1pLnR5cGUpcmV0dXJuITB9ZWxzZSBmb3IodmFyIG8gaW4gZSl7dmFyIHM9ZVtvXTtpZihzLnNvdXJjZT09PXImJiJmaWxsLWV4dHJ1c2lvbiI9PT1zLnR5cGUpcmV0dXJuITB9cmV0dXJuITF9KG4mJm4ubGF5ZXJzLGUsdC5pZCksbz1hLm1heFBpdGNoU2NhbGVGYWN0b3IoKSxzPXQudGlsZXNJbihyLG8saSk7cy5zb3J0KEIpO2Zvcih2YXIgbD1bXSxjPTAsdT1zO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXTtsLnB1c2goe3dyYXBwZWRUaWxlSUQ6aC50aWxlSUQud3JhcHBlZCgpLmtleSxxdWVyeVJlc3VsdHM6aC50aWxlLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcyhlLHQuX3N0YXRlLGgucXVlcnlHZW9tZXRyeSxoLmNhbWVyYVF1ZXJ5R2VvbWV0cnksaC5zY2FsZSxuLGEsbyxSKHQudHJhbnNmb3JtLGgudGlsZUlEKSl9KX12YXIgZj1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30scj17fSxuPTAsYT10O248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXSxvPWkucXVlcnlSZXN1bHRzLHM9aS53cmFwcGVkVGlsZUlELGw9cltzXT1yW3NdfHx7fTtmb3IodmFyIGMgaW4gbylmb3IodmFyIHU9b1tjXSxoPWxbY109bFtjXXx8e30sZj1lW2NdPWVbY118fFtdLHA9MCxkPXU7cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdO2hbZy5mZWF0dXJlSW5kZXhdfHwoaFtnLmZlYXR1cmVJbmRleF09ITAsZi5wdXNoKGcpKX19cmV0dXJuIGV9KGwpO2Zvcih2YXIgcCBpbiBmKWZbcF0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1lLmZlYXR1cmUsbj10LmdldEZlYXR1cmVTdGF0ZShyLmxheWVyWyJzb3VyY2UtbGF5ZXIiXSxyLmlkKTtyLnNvdXJjZT1yLmxheWVyLnNvdXJjZSxyLmxheWVyWyJzb3VyY2UtbGF5ZXIiXSYmKHIuc291cmNlTGF5ZXI9ci5sYXllclsic291cmNlLWxheWVyIl0pLHIuc3RhdGU9bn0pO3JldHVybiBmfWZ1bmN0aW9uIEIodCxlKXt2YXIgcj10LnRpbGVJRCxuPWUudGlsZUlEO3JldHVybiByLm92ZXJzY2FsZWRaLW4ub3ZlcnNjYWxlZFp8fHIuY2Fub25pY2FsLnktbi5jYW5vbmljYWwueXx8ci53cmFwLW4ud3JhcHx8ci5jYW5vbmljYWwueC1uLmNhbm9uaWNhbC54fXZhciBOPWZ1bmN0aW9uKHQsZSl7dGhpcy5tYXg9dCx0aGlzLm9uUmVtb3ZlPWUsdGhpcy5yZXNldCgpfTtOLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLmRhdGEpZm9yKHZhciBlPTAscj10aGlzLmRhdGFbdF07ZTxyLmxlbmd0aDtlKz0xKXt2YXIgbj1yW2VdO24udGltZW91dCYmY2xlYXJUaW1lb3V0KG4udGltZW91dCksdGhpcy5vblJlbW92ZShuLnZhbHVlKX1yZXR1cm4gdGhpcy5kYXRhPXt9LHRoaXMub3JkZXI9W10sdGhpc30sTi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLGE9dC53cmFwcGVkKCkua2V5O3ZvaWQgMD09PXRoaXMuZGF0YVthXSYmKHRoaXMuZGF0YVthXT1bXSk7dmFyIGk9e3ZhbHVlOmUsdGltZW91dDp2b2lkIDB9O2lmKHZvaWQgMCE9PXImJihpLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24ucmVtb3ZlKHQsaSl9LHIpKSx0aGlzLmRhdGFbYV0ucHVzaChpKSx0aGlzLm9yZGVyLnB1c2goYSksdGhpcy5vcmRlci5sZW5ndGg+dGhpcy5tYXgpe3ZhciBvPXRoaXMuX2dldEFuZFJlbW92ZUJ5S2V5KHRoaXMub3JkZXJbMF0pO28mJnRoaXMub25SZW1vdmUobyl9cmV0dXJuIHRoaXN9LE4ucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdC53cmFwcGVkKCkua2V5IGluIHRoaXMuZGF0YX0sTi5wcm90b3R5cGUuZ2V0QW5kUmVtb3ZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhcyh0KT90aGlzLl9nZXRBbmRSZW1vdmVCeUtleSh0LndyYXBwZWQoKS5rZXkpOm51bGx9LE4ucHJvdG90eXBlLl9nZXRBbmRSZW1vdmVCeUtleT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmRhdGFbdF0uc2hpZnQoKTtyZXR1cm4gZS50aW1lb3V0JiZjbGVhclRpbWVvdXQoZS50aW1lb3V0KSwwPT09dGhpcy5kYXRhW3RdLmxlbmd0aCYmZGVsZXRlIHRoaXMuZGF0YVt0XSx0aGlzLm9yZGVyLnNwbGljZSh0aGlzLm9yZGVyLmluZGV4T2YodCksMSksZS52YWx1ZX0sTi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhcyh0KT90aGlzLmRhdGFbdC53cmFwcGVkKCkua2V5XVswXS52YWx1ZTpudWxsfSxOLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5oYXModCkpcmV0dXJuIHRoaXM7dmFyIHI9dC53cmFwcGVkKCkua2V5LG49dm9pZCAwPT09ZT8wOnRoaXMuZGF0YVtyXS5pbmRleE9mKGUpLGE9dGhpcy5kYXRhW3JdW25dO3JldHVybiB0aGlzLmRhdGFbcl0uc3BsaWNlKG4sMSksYS50aW1lb3V0JiZjbGVhclRpbWVvdXQoYS50aW1lb3V0KSwwPT09dGhpcy5kYXRhW3JdLmxlbmd0aCYmZGVsZXRlIHRoaXMuZGF0YVtyXSx0aGlzLm9uUmVtb3ZlKGEudmFsdWUpLHRoaXMub3JkZXIuc3BsaWNlKHRoaXMub3JkZXIuaW5kZXhPZihyKSwxKSx0aGlzfSxOLnByb3RvdHlwZS5zZXRNYXhTaXplPWZ1bmN0aW9uKHQpe2Zvcih0aGlzLm1heD10O3RoaXMub3JkZXIubGVuZ3RoPnRoaXMubWF4Oyl7dmFyIGU9dGhpcy5fZ2V0QW5kUmVtb3ZlQnlLZXkodGhpcy5vcmRlclswXSk7ZSYmdGhpcy5vblJlbW92ZShlKX1yZXR1cm4gdGhpc307dmFyIGo9ZnVuY3Rpb24odCxlLHIpe3RoaXMuY29udGV4dD10O3ZhciBuPXQuZ2w7dGhpcy5idWZmZXI9bi5jcmVhdGVCdWZmZXIoKSx0aGlzLmR5bmFtaWNEcmF3PUJvb2xlYW4ociksdGhpcy5jb250ZXh0LnVuYmluZFZBTygpLHQuYmluZEVsZW1lbnRCdWZmZXIuc2V0KHRoaXMuYnVmZmVyKSxuLmJ1ZmZlckRhdGEobi5FTEVNRU5UX0FSUkFZX0JVRkZFUixlLmFycmF5QnVmZmVyLHRoaXMuZHluYW1pY0RyYXc/bi5EWU5BTUlDX0RSQVc6bi5TVEFUSUNfRFJBVyksdGhpcy5keW5hbWljRHJhd3x8ZGVsZXRlIGUuYXJyYXlCdWZmZXJ9O2oucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQuYmluZEVsZW1lbnRCdWZmZXIuc2V0KHRoaXMuYnVmZmVyKX0sai5wcm90b3R5cGUudXBkYXRlRGF0YT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmNvbnRleHQuZ2w7dGhpcy5jb250ZXh0LnVuYmluZFZBTygpLHRoaXMuYmluZCgpLGUuYnVmZmVyU3ViRGF0YShlLkVMRU1FTlRfQVJSQVlfQlVGRkVSLDAsdC5hcnJheUJ1ZmZlcil9LGoucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRleHQuZ2w7dGhpcy5idWZmZXImJih0LmRlbGV0ZUJ1ZmZlcih0aGlzLmJ1ZmZlciksZGVsZXRlIHRoaXMuYnVmZmVyKX07dmFyIFY9e0ludDg6IkJZVEUiLFVpbnQ4OiJVTlNJR05FRF9CWVRFIixJbnQxNjoiU0hPUlQiLFVpbnQxNjoiVU5TSUdORURfU0hPUlQiLEludDMyOiJJTlQiLFVpbnQzMjoiVU5TSUdORURfSU5UIixGbG9hdDMyOiJGTE9BVCJ9LFU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5hdHRyaWJ1dGVzPXIsdGhpcy5pdGVtU2l6ZT1lLmJ5dGVzUGVyRWxlbWVudCx0aGlzLmR5bmFtaWNEcmF3PW4sdGhpcy5jb250ZXh0PXQ7dmFyIGE9dC5nbDt0aGlzLmJ1ZmZlcj1hLmNyZWF0ZUJ1ZmZlcigpLHQuYmluZFZlcnRleEJ1ZmZlci5zZXQodGhpcy5idWZmZXIpLGEuYnVmZmVyRGF0YShhLkFSUkFZX0JVRkZFUixlLmFycmF5QnVmZmVyLHRoaXMuZHluYW1pY0RyYXc/YS5EWU5BTUlDX0RSQVc6YS5TVEFUSUNfRFJBVyksdGhpcy5keW5hbWljRHJhd3x8ZGVsZXRlIGUuYXJyYXlCdWZmZXJ9O1UucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQuYmluZFZlcnRleEJ1ZmZlci5zZXQodGhpcy5idWZmZXIpfSxVLnByb3RvdHlwZS51cGRhdGVEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29udGV4dC5nbDt0aGlzLmJpbmQoKSxlLmJ1ZmZlclN1YkRhdGEoZS5BUlJBWV9CVUZGRVIsMCx0LmFycmF5QnVmZmVyKX0sVS5wcm90b3R5cGUuZW5hYmxlQXR0cmlidXRlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8dGhpcy5hdHRyaWJ1dGVzLmxlbmd0aDtyKyspe3ZhciBuPXRoaXMuYXR0cmlidXRlc1tyXSxhPWUuYXR0cmlidXRlc1tuLm5hbWVdO3ZvaWQgMCE9PWEmJnQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoYSl9fSxVLnByb3RvdHlwZS5zZXRWZXJ0ZXhBdHRyaWJQb2ludGVycz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPTA7bjx0aGlzLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7dmFyIGE9dGhpcy5hdHRyaWJ1dGVzW25dLGk9ZS5hdHRyaWJ1dGVzW2EubmFtZV07dm9pZCAwIT09aSYmdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGksYS5jb21wb25lbnRzLHRbVlthLnR5cGVdXSwhMSx0aGlzLml0ZW1TaXplLGEub2Zmc2V0K3RoaXMuaXRlbVNpemUqKHJ8fDApKX19LFUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRleHQuZ2w7dGhpcy5idWZmZXImJih0LmRlbGV0ZUJ1ZmZlcih0aGlzLmJ1ZmZlciksZGVsZXRlIHRoaXMuYnVmZmVyKX07dmFyIHE9ZnVuY3Rpb24odCl7dGhpcy5nbD10LmdsLHRoaXMuZGVmYXVsdD10aGlzLmdldERlZmF1bHQoKSx0aGlzLmN1cnJlbnQ9dGhpcy5kZWZhdWx0LHRoaXMuZGlydHk9ITF9O3EucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnR9LHEucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt9LHEucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0fSxxLnByb3RvdHlwZS5zZXREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5zZXQodGhpcy5kZWZhdWx0KX07dmFyIEg9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcigpe2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuQ29sb3IudHJhbnNwYXJlbnR9LHIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHQuciE9PWUucnx8dC5nIT09ZS5nfHx0LmIhPT1lLmJ8fHQuYSE9PWUuYXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmNsZWFyQ29sb3IodC5yLHQuZyx0LmIsdC5hKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0scn0ocSksRz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gMX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuY2xlYXJEZXB0aCh0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksWT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gMH0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuY2xlYXJTdGVuY2lsKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxXPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVyblshMCwhMCwhMCwhMF19LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXXx8dFsyXSE9PWVbMl18fHRbM10hPT1lWzNdfHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuY29sb3JNYXNrKHRbMF0sdFsxXSx0WzJdLHRbM10pLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxYPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7KHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpJiYodGhpcy5nbC5kZXB0aE1hc2sodCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLFo9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIDI1NX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuc3RlbmNpbE1hc2sodCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLEo9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJue2Z1bmM6dGhpcy5nbC5BTFdBWVMscmVmOjAsbWFzazoyNTV9fSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jdXJyZW50Oyh0LmZ1bmMhPT1lLmZ1bmN8fHQucmVmIT09ZS5yZWZ8fHQubWFzayE9PWUubWFza3x8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLnN0ZW5jaWxGdW5jKHQuZnVuYyx0LnJlZix0Lm1hc2spLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxLPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2w7cmV0dXJuW3QuS0VFUCx0LktFRVAsdC5LRUVQXX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VycmVudDsodFswXSE9PWVbMF18fHRbMV0hPT1lWzFdfHx0WzJdIT09ZVsyXXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLnN0ZW5jaWxPcCh0WzBdLHRbMV0sdFsyXSksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLFE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO3Q/ZS5lbmFibGUoZS5TVEVOQ0lMX1RFU1QpOmUuZGlzYWJsZShlLlNURU5DSUxfVEVTVCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLCQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuWzAsMV19LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmRlcHRoUmFuZ2UodFswXSx0WzFdKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksdHQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO3Q/ZS5lbmFibGUoZS5ERVBUSF9URVNUKTplLmRpc2FibGUoZS5ERVBUSF9URVNUKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksZXQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2wuTEVTU30sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuZGVwdGhGdW5jKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxydD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpe3ZhciBlPXRoaXMuZ2w7dD9lLmVuYWJsZShlLkJMRU5EKTplLmRpc2FibGUoZS5CTEVORCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLG50PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2w7cmV0dXJuW3QuT05FLHQuWkVST119LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmJsZW5kRnVuYyh0WzBdLHRbMV0pLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxhdD1mdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUmJihyLl9fcHJvdG9fXz1lKSxyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLHIucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdC5Db2xvci50cmFuc3BhcmVudH0sci5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VycmVudDsodC5yIT09ZS5yfHx0LmchPT1lLmd8fHQuYiE9PWUuYnx8dC5hIT09ZS5hfHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuYmxlbmRDb2xvcih0LnIsdC5nLHQuYix0LmEpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxyfShxKSxpdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nbC5GVU5DX0FERH0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuYmxlbmRFcXVhdGlvbih0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksb3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO3Q/ZS5lbmFibGUoZS5DVUxMX0ZBQ0UpOmUuZGlzYWJsZShlLkNVTExfRkFDRSksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLHN0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdsLkJBQ0t9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXsodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmN1bGxGYWNlKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxsdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nbC5DQ1d9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXsodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmZyb250RmFjZSh0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksY3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXsodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLnVzZVByb2dyYW0odCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLHV0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdsLlRFWFRVUkUwfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7KHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpJiYodGhpcy5nbC5hY3RpdmVUZXh0dXJlKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxodD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdsO3JldHVyblswLDAsdC5kcmF3aW5nQnVmZmVyV2lkdGgsdC5kcmF3aW5nQnVmZmVySGVpZ2h0XX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VycmVudDsodFswXSE9PWVbMF18fHRbMV0hPT1lWzFdfHx0WzJdIT09ZVsyXXx8dFszXSE9PWVbM118fHRoaXMuZGlydHkpJiYodGhpcy5nbC52aWV3cG9ydCh0WzBdLHRbMV0sdFsyXSx0WzNdKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksZnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UuYmluZEZyYW1lYnVmZmVyKGUuRlJBTUVCVUZGRVIsdCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLHB0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSl7dmFyIGU9dGhpcy5nbDtlLmJpbmRSZW5kZXJidWZmZXIoZS5SRU5ERVJCVUZGRVIsdCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLGR0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSl7dmFyIGU9dGhpcy5nbDtlLmJpbmRUZXh0dXJlKGUuVEVYVFVSRV8yRCx0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksZ3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UuYmluZEJ1ZmZlcihlLkFSUkFZX0JVRkZFUix0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksdnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdsO2UuYmluZEJ1ZmZlcihlLkVMRU1FTlRfQVJSQVlfQlVGRkVSLHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9LGV9KHEpLG10PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSksdGhpcy52YW89ZS5leHRWZXJ0ZXhBcnJheU9iamVjdH1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy52YW8mJih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMudmFvLmJpbmRWZXJ0ZXhBcnJheU9FUyh0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSkseXQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIDR9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UucGl4ZWxTdG9yZWkoZS5VTlBBQ0tfQUxJR05NRU5ULHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9fSxlfShxKSx4dD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpe3ZhciBlPXRoaXMuZ2w7ZS5waXhlbFN0b3JlaShlLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCx0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksYnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UucGl4ZWxTdG9yZWkoZS5VTlBBQ0tfRkxJUF9ZX1dFQkdMLHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9fSxlfShxKSxfdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSksdGhpcy5jb250ZXh0PWUsdGhpcy5wYXJlbnQ9cn1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlfShxKSx3dD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLnNldERpcnR5PWZ1bmN0aW9uKCl7dGhpcy5kaXJ0eT0hMH0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpe3RoaXMuY29udGV4dC5iaW5kRnJhbWVidWZmZXIuc2V0KHRoaXMucGFyZW50KTt2YXIgZT10aGlzLmdsO2UuZnJhbWVidWZmZXJUZXh0dXJlMkQoZS5GUkFNRUJVRkZFUixlLkNPTE9SX0FUVEFDSE1FTlQwLGUuVEVYVFVSRV8yRCx0LDApLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9fSxlfShfdCksa3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSl7dGhpcy5jb250ZXh0LmJpbmRGcmFtZWJ1ZmZlci5zZXQodGhpcy5wYXJlbnQpO3ZhciBlPXRoaXMuZ2w7ZS5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihlLkZSQU1FQlVGRkVSLGUuREVQVEhfQVRUQUNITUVOVCxlLlJFTkRFUkJVRkZFUix0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0oX3QpLFR0PWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmNvbnRleHQ9dCx0aGlzLndpZHRoPWUsdGhpcy5oZWlnaHQ9cjt2YXIgbj10LmdsLGE9dGhpcy5mcmFtZWJ1ZmZlcj1uLmNyZWF0ZUZyYW1lYnVmZmVyKCk7dGhpcy5jb2xvckF0dGFjaG1lbnQ9bmV3IHd0KHQsYSksdGhpcy5kZXB0aEF0dGFjaG1lbnQ9bmV3IGt0KHQsYSl9O1R0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZXh0LmdsLGU9dGhpcy5jb2xvckF0dGFjaG1lbnQuZ2V0KCk7ZSYmdC5kZWxldGVUZXh0dXJlKGUpO3ZhciByPXRoaXMuZGVwdGhBdHRhY2htZW50LmdldCgpO3ImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKHIpLHQuZGVsZXRlRnJhbWVidWZmZXIodGhpcy5mcmFtZWJ1ZmZlcil9O3ZhciBNdD1mdW5jdGlvbih0LGUscil7dGhpcy5mdW5jPXQsdGhpcy5tYXNrPWUsdGhpcy5yYW5nZT1yfTtNdC5SZWFkT25seT0hMSxNdC5SZWFkV3JpdGU9ITAsTXQuZGlzYWJsZWQ9bmV3IE10KDUxOSxNdC5SZWFkT25seSxbMCwxXSk7dmFyIEF0PWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt0aGlzLnRlc3Q9dCx0aGlzLnJlZj1lLHRoaXMubWFzaz1yLHRoaXMuZmFpbD1uLHRoaXMuZGVwdGhGYWlsPWEsdGhpcy5wYXNzPWl9O0F0LmRpc2FibGVkPW5ldyBBdCh7ZnVuYzo1MTksbWFzazowfSwwLDAsNzY4MCw3NjgwLDc2ODApO3ZhciBTdD1mdW5jdGlvbih0LGUscil7dGhpcy5ibGVuZEZ1bmN0aW9uPXQsdGhpcy5ibGVuZENvbG9yPWUsdGhpcy5tYXNrPXJ9O1N0LmRpc2FibGVkPW5ldyBTdChTdC5SZXBsYWNlPVsxLDBdLHQuQ29sb3IudHJhbnNwYXJlbnQsWyExLCExLCExLCExXSksU3QudW5ibGVuZGVkPW5ldyBTdChTdC5SZXBsYWNlLHQuQ29sb3IudHJhbnNwYXJlbnQsWyEwLCEwLCEwLCEwXSksU3QuYWxwaGFCbGVuZGVkPW5ldyBTdChbMSw3NzFdLHQuQ29sb3IudHJhbnNwYXJlbnQsWyEwLCEwLCEwLCEwXSk7dmFyIEV0PWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmVuYWJsZT10LHRoaXMubW9kZT1lLHRoaXMuZnJvbnRGYWNlPXJ9O0V0LmRpc2FibGVkPW5ldyBFdCghMSwxMDI5LDIzMDUpLEV0LmJhY2tDQ1c9bmV3IEV0KCEwLDEwMjksMjMwNSk7dmFyIEx0PWZ1bmN0aW9uKHQpe3RoaXMuZ2w9dCx0aGlzLmV4dFZlcnRleEFycmF5T2JqZWN0PXRoaXMuZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNfdmVydGV4X2FycmF5X29iamVjdCIpLHRoaXMuY2xlYXJDb2xvcj1uZXcgSCh0aGlzKSx0aGlzLmNsZWFyRGVwdGg9bmV3IEcodGhpcyksdGhpcy5jbGVhclN0ZW5jaWw9bmV3IFkodGhpcyksdGhpcy5jb2xvck1hc2s9bmV3IFcodGhpcyksdGhpcy5kZXB0aE1hc2s9bmV3IFgodGhpcyksdGhpcy5zdGVuY2lsTWFzaz1uZXcgWih0aGlzKSx0aGlzLnN0ZW5jaWxGdW5jPW5ldyBKKHRoaXMpLHRoaXMuc3RlbmNpbE9wPW5ldyBLKHRoaXMpLHRoaXMuc3RlbmNpbFRlc3Q9bmV3IFEodGhpcyksdGhpcy5kZXB0aFJhbmdlPW5ldyAkKHRoaXMpLHRoaXMuZGVwdGhUZXN0PW5ldyB0dCh0aGlzKSx0aGlzLmRlcHRoRnVuYz1uZXcgZXQodGhpcyksdGhpcy5ibGVuZD1uZXcgcnQodGhpcyksdGhpcy5ibGVuZEZ1bmM9bmV3IG50KHRoaXMpLHRoaXMuYmxlbmRDb2xvcj1uZXcgYXQodGhpcyksdGhpcy5ibGVuZEVxdWF0aW9uPW5ldyBpdCh0aGlzKSx0aGlzLmN1bGxGYWNlPW5ldyBvdCh0aGlzKSx0aGlzLmN1bGxGYWNlU2lkZT1uZXcgc3QodGhpcyksdGhpcy5mcm9udEZhY2U9bmV3IGx0KHRoaXMpLHRoaXMucHJvZ3JhbT1uZXcgY3QodGhpcyksdGhpcy5hY3RpdmVUZXh0dXJlPW5ldyB1dCh0aGlzKSx0aGlzLnZpZXdwb3J0PW5ldyBodCh0aGlzKSx0aGlzLmJpbmRGcmFtZWJ1ZmZlcj1uZXcgZnQodGhpcyksdGhpcy5iaW5kUmVuZGVyYnVmZmVyPW5ldyBwdCh0aGlzKSx0aGlzLmJpbmRUZXh0dXJlPW5ldyBkdCh0aGlzKSx0aGlzLmJpbmRWZXJ0ZXhCdWZmZXI9bmV3IGd0KHRoaXMpLHRoaXMuYmluZEVsZW1lbnRCdWZmZXI9bmV3IHZ0KHRoaXMpLHRoaXMuYmluZFZlcnRleEFycmF5T0VTPXRoaXMuZXh0VmVydGV4QXJyYXlPYmplY3QmJm5ldyBtdCh0aGlzKSx0aGlzLnBpeGVsU3RvcmVVbnBhY2s9bmV3IHl0KHRoaXMpLHRoaXMucGl4ZWxTdG9yZVVucGFja1ByZW11bHRpcGx5QWxwaGE9bmV3IHh0KHRoaXMpLHRoaXMucGl4ZWxTdG9yZVVucGFja0ZsaXBZPW5ldyBidCh0aGlzKSx0aGlzLmV4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz10LmdldEV4dGVuc2lvbigiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJNT1pfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIiksdGhpcy5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMmJih0aGlzLmV4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY01heD10LmdldFBhcmFtZXRlcih0aGlzLmV4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5NQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQpKSx0aGlzLmV4dFRleHR1cmVIYWxmRmxvYXQ9dC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSx0aGlzLmV4dFRleHR1cmVIYWxmRmxvYXQmJnQuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpfTtMdC5wcm90b3R5cGUuc2V0RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMudW5iaW5kVkFPKCksdGhpcy5jbGVhckNvbG9yLnNldERlZmF1bHQoKSx0aGlzLmNsZWFyRGVwdGguc2V0RGVmYXVsdCgpLHRoaXMuY2xlYXJTdGVuY2lsLnNldERlZmF1bHQoKSx0aGlzLmNvbG9yTWFzay5zZXREZWZhdWx0KCksdGhpcy5kZXB0aE1hc2suc2V0RGVmYXVsdCgpLHRoaXMuc3RlbmNpbE1hc2suc2V0RGVmYXVsdCgpLHRoaXMuc3RlbmNpbEZ1bmMuc2V0RGVmYXVsdCgpLHRoaXMuc3RlbmNpbE9wLnNldERlZmF1bHQoKSx0aGlzLnN0ZW5jaWxUZXN0LnNldERlZmF1bHQoKSx0aGlzLmRlcHRoUmFuZ2Uuc2V0RGVmYXVsdCgpLHRoaXMuZGVwdGhUZXN0LnNldERlZmF1bHQoKSx0aGlzLmRlcHRoRnVuYy5zZXREZWZhdWx0KCksdGhpcy5ibGVuZC5zZXREZWZhdWx0KCksdGhpcy5ibGVuZEZ1bmMuc2V0RGVmYXVsdCgpLHRoaXMuYmxlbmRDb2xvci5zZXREZWZhdWx0KCksdGhpcy5ibGVuZEVxdWF0aW9uLnNldERlZmF1bHQoKSx0aGlzLmN1bGxGYWNlLnNldERlZmF1bHQoKSx0aGlzLmN1bGxGYWNlU2lkZS5zZXREZWZhdWx0KCksdGhpcy5mcm9udEZhY2Uuc2V0RGVmYXVsdCgpLHRoaXMucHJvZ3JhbS5zZXREZWZhdWx0KCksdGhpcy5hY3RpdmVUZXh0dXJlLnNldERlZmF1bHQoKSx0aGlzLmJpbmRGcmFtZWJ1ZmZlci5zZXREZWZhdWx0KCksdGhpcy5waXhlbFN0b3JlVW5wYWNrLnNldERlZmF1bHQoKSx0aGlzLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLnNldERlZmF1bHQoKSx0aGlzLnBpeGVsU3RvcmVVbnBhY2tGbGlwWS5zZXREZWZhdWx0KCl9LEx0LnByb3RvdHlwZS5zZXREaXJ0eT1mdW5jdGlvbigpe3RoaXMuY2xlYXJDb2xvci5kaXJ0eT0hMCx0aGlzLmNsZWFyRGVwdGguZGlydHk9ITAsdGhpcy5jbGVhclN0ZW5jaWwuZGlydHk9ITAsdGhpcy5jb2xvck1hc2suZGlydHk9ITAsdGhpcy5kZXB0aE1hc2suZGlydHk9ITAsdGhpcy5zdGVuY2lsTWFzay5kaXJ0eT0hMCx0aGlzLnN0ZW5jaWxGdW5jLmRpcnR5PSEwLHRoaXMuc3RlbmNpbE9wLmRpcnR5PSEwLHRoaXMuc3RlbmNpbFRlc3QuZGlydHk9ITAsdGhpcy5kZXB0aFJhbmdlLmRpcnR5PSEwLHRoaXMuZGVwdGhUZXN0LmRpcnR5PSEwLHRoaXMuZGVwdGhGdW5jLmRpcnR5PSEwLHRoaXMuYmxlbmQuZGlydHk9ITAsdGhpcy5ibGVuZEZ1bmMuZGlydHk9ITAsdGhpcy5ibGVuZENvbG9yLmRpcnR5PSEwLHRoaXMuYmxlbmRFcXVhdGlvbi5kaXJ0eT0hMCx0aGlzLmN1bGxGYWNlLmRpcnR5PSEwLHRoaXMuY3VsbEZhY2VTaWRlLmRpcnR5PSEwLHRoaXMuZnJvbnRGYWNlLmRpcnR5PSEwLHRoaXMucHJvZ3JhbS5kaXJ0eT0hMCx0aGlzLmFjdGl2ZVRleHR1cmUuZGlydHk9ITAsdGhpcy52aWV3cG9ydC5kaXJ0eT0hMCx0aGlzLmJpbmRGcmFtZWJ1ZmZlci5kaXJ0eT0hMCx0aGlzLmJpbmRSZW5kZXJidWZmZXIuZGlydHk9ITAsdGhpcy5iaW5kVGV4dHVyZS5kaXJ0eT0hMCx0aGlzLmJpbmRWZXJ0ZXhCdWZmZXIuZGlydHk9ITAsdGhpcy5iaW5kRWxlbWVudEJ1ZmZlci5kaXJ0eT0hMCx0aGlzLmV4dFZlcnRleEFycmF5T2JqZWN0JiYodGhpcy5iaW5kVmVydGV4QXJyYXlPRVMuZGlydHk9ITApLHRoaXMucGl4ZWxTdG9yZVVucGFjay5kaXJ0eT0hMCx0aGlzLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLmRpcnR5PSEwLHRoaXMucGl4ZWxTdG9yZVVucGFja0ZsaXBZLmRpcnR5PSEwfSxMdC5wcm90b3R5cGUuY3JlYXRlSW5kZXhCdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IGoodGhpcyx0LGUpfSxMdC5wcm90b3R5cGUuY3JlYXRlVmVydGV4QnVmZmVyPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbmV3IFUodGhpcyx0LGUscil9LEx0LnByb3RvdHlwZS5jcmVhdGVSZW5kZXJidWZmZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuZ2wsYT1uLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpO3JldHVybiB0aGlzLmJpbmRSZW5kZXJidWZmZXIuc2V0KGEpLG4ucmVuZGVyYnVmZmVyU3RvcmFnZShuLlJFTkRFUkJVRkZFUix0LGUsciksdGhpcy5iaW5kUmVuZGVyYnVmZmVyLnNldChudWxsKSxhfSxMdC5wcm90b3R5cGUuY3JlYXRlRnJhbWVidWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFR0KHRoaXMsdCxlKX0sTHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY29sb3Iscj10LmRlcHRoLG49dGhpcy5nbCxhPTA7ZSYmKGF8PW4uQ09MT1JfQlVGRkVSX0JJVCx0aGlzLmNsZWFyQ29sb3Iuc2V0KGUpLHRoaXMuY29sb3JNYXNrLnNldChbITAsITAsITAsITBdKSksdm9pZCAwIT09ciYmKGF8PW4uREVQVEhfQlVGRkVSX0JJVCx0aGlzLmRlcHRoUmFuZ2Uuc2V0KFswLDFdKSx0aGlzLmNsZWFyRGVwdGguc2V0KHIpLHRoaXMuZGVwdGhNYXNrLnNldCghMCkpLG4uY2xlYXIoYSl9LEx0LnByb3RvdHlwZS5zZXRDdWxsRmFjZT1mdW5jdGlvbih0KXshMT09PXQuZW5hYmxlP3RoaXMuY3VsbEZhY2Uuc2V0KCExKToodGhpcy5jdWxsRmFjZS5zZXQoITApLHRoaXMuY3VsbEZhY2VTaWRlLnNldCh0Lm1vZGUpLHRoaXMuZnJvbnRGYWNlLnNldCh0LmZyb250RmFjZSkpfSxMdC5wcm90b3R5cGUuc2V0RGVwdGhNb2RlPWZ1bmN0aW9uKHQpe3QuZnVuYyE9PXRoaXMuZ2wuQUxXQVlTfHx0Lm1hc2s/KHRoaXMuZGVwdGhUZXN0LnNldCghMCksdGhpcy5kZXB0aEZ1bmMuc2V0KHQuZnVuYyksdGhpcy5kZXB0aE1hc2suc2V0KHQubWFzayksdGhpcy5kZXB0aFJhbmdlLnNldCh0LnJhbmdlKSk6dGhpcy5kZXB0aFRlc3Quc2V0KCExKX0sTHQucHJvdG90eXBlLnNldFN0ZW5jaWxNb2RlPWZ1bmN0aW9uKHQpe3QudGVzdC5mdW5jIT09dGhpcy5nbC5BTFdBWVN8fHQubWFzaz8odGhpcy5zdGVuY2lsVGVzdC5zZXQoITApLHRoaXMuc3RlbmNpbE1hc2suc2V0KHQubWFzayksdGhpcy5zdGVuY2lsT3Auc2V0KFt0LmZhaWwsdC5kZXB0aEZhaWwsdC5wYXNzXSksdGhpcy5zdGVuY2lsRnVuYy5zZXQoe2Z1bmM6dC50ZXN0LmZ1bmMscmVmOnQucmVmLG1hc2s6dC50ZXN0Lm1hc2t9KSk6dGhpcy5zdGVuY2lsVGVzdC5zZXQoITEpfSxMdC5wcm90b3R5cGUuc2V0Q29sb3JNb2RlPWZ1bmN0aW9uKGUpe3QuZGVlcEVxdWFsKGUuYmxlbmRGdW5jdGlvbixTdC5SZXBsYWNlKT90aGlzLmJsZW5kLnNldCghMSk6KHRoaXMuYmxlbmQuc2V0KCEwKSx0aGlzLmJsZW5kRnVuYy5zZXQoZS5ibGVuZEZ1bmN0aW9uKSx0aGlzLmJsZW5kQ29sb3Iuc2V0KGUuYmxlbmRDb2xvcikpLHRoaXMuY29sb3JNYXNrLnNldChlLm1hc2spfSxMdC5wcm90b3R5cGUudW5iaW5kVkFPPWZ1bmN0aW9uKCl7dGhpcy5leHRWZXJ0ZXhBcnJheU9iamVjdCYmdGhpcy5iaW5kVmVydGV4QXJyYXlPRVMuc2V0KG51bGwpfTt2YXIgQ3Q9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihyLG4sYSl7dmFyIGk9dGhpcztlLmNhbGwodGhpcyksdGhpcy5pZD1yLHRoaXMuZGlzcGF0Y2hlcj1hLHRoaXMub24oImRhdGEiLGZ1bmN0aW9uKHQpeyJzb3VyY2UiPT09dC5kYXRhVHlwZSYmIm1ldGFkYXRhIj09PXQuc291cmNlRGF0YVR5cGUmJihpLl9zb3VyY2VMb2FkZWQ9ITApLGkuX3NvdXJjZUxvYWRlZCYmIWkuX3BhdXNlZCYmInNvdXJjZSI9PT10LmRhdGFUeXBlJiYiY29udGVudCI9PT10LnNvdXJjZURhdGFUeXBlJiYoaS5yZWxvYWQoKSxpLnRyYW5zZm9ybSYmaS51cGRhdGUoaS50cmFuc2Zvcm0pKX0pLHRoaXMub24oImVycm9yIixmdW5jdGlvbigpe2kuX3NvdXJjZUVycm9yZWQ9ITB9KSx0aGlzLl9zb3VyY2U9RChyLG4sYSx0aGlzKSx0aGlzLl90aWxlcz17fSx0aGlzLl9jYWNoZT1uZXcgTigwLHRoaXMuX3VubG9hZFRpbGUuYmluZCh0aGlzKSksdGhpcy5fdGltZXJzPXt9LHRoaXMuX2NhY2hlVGltZXJzPXt9LHRoaXMuX21heFRpbGVDYWNoZVNpemU9bnVsbCx0aGlzLl9jb3ZlcmVkVGlsZXM9e30sdGhpcy5fc3RhdGU9bmV3IHQuU291cmNlRmVhdHVyZVN0YXRlfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt0aGlzLm1hcD10LHRoaXMuX21heFRpbGVDYWNoZVNpemU9dD90Ll9tYXhUaWxlQ2FjaGVTaXplOm51bGwsdGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2Uub25BZGQmJnRoaXMuX3NvdXJjZS5vbkFkZCh0KX0sci5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24odCl7dGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2Uub25SZW1vdmUmJnRoaXMuX3NvdXJjZS5vblJlbW92ZSh0KX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5fc291cmNlRXJyb3JlZClyZXR1cm4hMDtpZighdGhpcy5fc291cmNlTG9hZGVkKXJldHVybiExO2lmKCF0aGlzLl9zb3VyY2UubG9hZGVkKCkpcmV0dXJuITE7Zm9yKHZhciB0IGluIHRoaXMuX3RpbGVzKXt2YXIgZT10aGlzLl90aWxlc1t0XTtpZigibG9hZGVkIiE9PWUuc3RhdGUmJiJlcnJvcmVkIiE9PWUuc3RhdGUpcmV0dXJuITF9cmV0dXJuITB9LHIucHJvdG90eXBlLmdldFNvdXJjZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zb3VyY2V9LHIucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSEwfSxyLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXtpZih0aGlzLl9wYXVzZWQpe3ZhciB0PXRoaXMuX3Nob3VsZFJlbG9hZE9uUmVzdW1lO3RoaXMuX3BhdXNlZD0hMSx0aGlzLl9zaG91bGRSZWxvYWRPblJlc3VtZT0hMSx0JiZ0aGlzLnJlbG9hZCgpLHRoaXMudHJhbnNmb3JtJiZ0aGlzLnVwZGF0ZSh0aGlzLnRyYW5zZm9ybSl9fSxyLnByb3RvdHlwZS5fbG9hZFRpbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fc291cmNlLmxvYWRUaWxlKHQsZSl9LHIucHJvdG90eXBlLl91bmxvYWRUaWxlPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX3NvdXJjZS51bmxvYWRUaWxlKXJldHVybiB0aGlzLl9zb3VyY2UudW5sb2FkVGlsZSh0LGZ1bmN0aW9uKCl7fSl9LHIucHJvdG90eXBlLl9hYm9ydFRpbGU9ZnVuY3Rpb24odCl7aWYodGhpcy5fc291cmNlLmFib3J0VGlsZSlyZXR1cm4gdGhpcy5fc291cmNlLmFib3J0VGlsZSh0LGZ1bmN0aW9uKCl7fSl9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zb3VyY2Uuc2VyaWFsaXplKCl9LHIucHJvdG90eXBlLnByZXBhcmU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuX3NvdXJjZS5wcmVwYXJlJiZ0aGlzLl9zb3VyY2UucHJlcGFyZSgpLHRoaXMuX3N0YXRlLmNvYWxlc2NlQ2hhbmdlcyh0aGlzLl90aWxlcyx0aGlzLm1hcD90aGlzLm1hcC5wYWludGVyOm51bGwpLHRoaXMuX3RpbGVzKXt2YXIgcj10aGlzLl90aWxlc1tlXTtyLnVwbG9hZCh0KSxyLnByZXBhcmUodGhpcy5tYXAuc3R5bGUuaW1hZ2VNYW5hZ2VyKX19LHIucHJvdG90eXBlLmdldElkcz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl90aWxlcykubWFwKE51bWJlcikuc29ydChQdCl9LHIucHJvdG90eXBlLmdldFJlbmRlcmFibGVJZHM9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcyxuPVtdO2Zvcih2YXIgYSBpbiB0aGlzLl90aWxlcyl0aGlzLl9pc0lkUmVuZGVyYWJsZSgrYSxlKSYmbi5wdXNoKCthKTtyZXR1cm4gZT9uLnNvcnQoZnVuY3Rpb24oZSxuKXt2YXIgYT1yLl90aWxlc1tlXS50aWxlSUQsaT1yLl90aWxlc1tuXS50aWxlSUQsbz1uZXcgdC5Qb2ludChhLmNhbm9uaWNhbC54LGEuY2Fub25pY2FsLnkpLl9yb3RhdGUoci50cmFuc2Zvcm0uYW5nbGUpLHM9bmV3IHQuUG9pbnQoaS5jYW5vbmljYWwueCxpLmNhbm9uaWNhbC55KS5fcm90YXRlKHIudHJhbnNmb3JtLmFuZ2xlKTtyZXR1cm4gYS5vdmVyc2NhbGVkWi1pLm92ZXJzY2FsZWRafHxzLnktby55fHxzLngtby54fSk6bi5zb3J0KFB0KX0sci5wcm90b3R5cGUuaGFzUmVuZGVyYWJsZVBhcmVudD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmZpbmRMb2FkZWRQYXJlbnQodCwwKTtyZXR1cm4hIWUmJnRoaXMuX2lzSWRSZW5kZXJhYmxlKGUudGlsZUlELmtleSl9LHIucHJvdG90eXBlLl9pc0lkUmVuZGVyYWJsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90aWxlc1t0XSYmdGhpcy5fdGlsZXNbdF0uaGFzRGF0YSgpJiYhdGhpcy5fY292ZXJlZFRpbGVzW3RdJiYoZXx8IXRoaXMuX3RpbGVzW3RdLmhvbGRpbmdGb3JGYWRlKCkpfSxyLnByb3RvdHlwZS5yZWxvYWQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9wYXVzZWQpdGhpcy5fc2hvdWxkUmVsb2FkT25SZXN1bWU9ITA7ZWxzZSBmb3IodmFyIHQgaW4gdGhpcy5fY2FjaGUucmVzZXQoKSx0aGlzLl90aWxlcykiZXJyb3JlZCIhPT10aGlzLl90aWxlc1t0XS5zdGF0ZSYmdGhpcy5fcmVsb2FkVGlsZSh0LCJyZWxvYWRpbmciKX0sci5wcm90b3R5cGUuX3JlbG9hZFRpbGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl90aWxlc1t0XTtyJiYoImxvYWRpbmciIT09ci5zdGF0ZSYmKHIuc3RhdGU9ZSksdGhpcy5fbG9hZFRpbGUocix0aGlzLl90aWxlTG9hZGVkLmJpbmQodGhpcyxyLHQsZSkpKX0sci5wcm90b3R5cGUuX3RpbGVMb2FkZWQ9ZnVuY3Rpb24oZSxyLG4sYSl7aWYoYSlyZXR1cm4gZS5zdGF0ZT0iZXJyb3JlZCIsdm9pZCg0MDQhPT1hLnN0YXR1cz90aGlzLl9zb3VyY2UuZmlyZShuZXcgdC5FcnJvckV2ZW50KGEse3RpbGU6ZX0pKTp0aGlzLnVwZGF0ZSh0aGlzLnRyYW5zZm9ybSkpO2UudGltZUFkZGVkPXQuYnJvd3Nlci5ub3coKSwiZXhwaXJlZCI9PT1uJiYoZS5yZWZyZXNoZWRVcG9uRXhwaXJhdGlvbj0hMCksdGhpcy5fc2V0VGlsZVJlbG9hZFRpbWVyKHIsZSksInJhc3Rlci1kZW0iPT09dGhpcy5nZXRTb3VyY2UoKS50eXBlJiZlLmRlbSYmdGhpcy5fYmFja2ZpbGxERU0oZSksdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZVRpbGVTdGF0ZShlLHRoaXMubWFwP3RoaXMubWFwLnBhaW50ZXI6bnVsbCksdGhpcy5fc291cmNlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIix0aWxlOmUsY29vcmQ6ZS50aWxlSUR9KSl9LHIucHJvdG90eXBlLl9iYWNrZmlsbERFTT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5nZXRSZW5kZXJhYmxlSWRzKCkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO2lmKHQubmVpZ2hib3JpbmdUaWxlcyYmdC5uZWlnaGJvcmluZ1RpbGVzW25dKXt2YXIgYT10aGlzLmdldFRpbGVCeUlEKG4pO2kodCxhKSxpKGEsdCl9fWZ1bmN0aW9uIGkodCxlKXt0Lm5lZWRzSGlsbHNoYWRlUHJlcGFyZT0hMDt2YXIgcj1lLnRpbGVJRC5jYW5vbmljYWwueC10LnRpbGVJRC5jYW5vbmljYWwueCxuPWUudGlsZUlELmNhbm9uaWNhbC55LXQudGlsZUlELmNhbm9uaWNhbC55LGE9TWF0aC5wb3coMix0LnRpbGVJRC5jYW5vbmljYWwueiksaT1lLnRpbGVJRC5rZXk7MD09PXImJjA9PT1ufHxNYXRoLmFicyhuKT4xfHwoTWF0aC5hYnMocik+MSYmKDE9PT1NYXRoLmFicyhyK2EpP3IrPWE6MT09PU1hdGguYWJzKHItYSkmJihyLT1hKSksZS5kZW0mJnQuZGVtJiYodC5kZW0uYmFja2ZpbGxCb3JkZXIoZS5kZW0scixuKSx0Lm5laWdoYm9yaW5nVGlsZXMmJnQubmVpZ2hib3JpbmdUaWxlc1tpXSYmKHQubmVpZ2hib3JpbmdUaWxlc1tpXS5iYWNrZmlsbGVkPSEwKSkpfX0sci5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5nZXRUaWxlQnlJRCh0LmtleSl9LHIucHJvdG90eXBlLmdldFRpbGVCeUlEPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aWxlc1t0XX0sci5wcm90b3R5cGUuZ2V0Wm9vbT1mdW5jdGlvbih0KXtyZXR1cm4gdC56b29tK3Quc2NhbGVab29tKHQudGlsZVNpemUvdGhpcy5fc291cmNlLnRpbGVTaXplKX0sci5wcm90b3R5cGUuX3JldGFpbkxvYWRlZENoaWxkcmVuPWZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYSBpbiB0aGlzLl90aWxlcyl7dmFyIGk9dGhpcy5fdGlsZXNbYV07aWYoIShuW2FdfHwhaS5oYXNEYXRhKCl8fGkudGlsZUlELm92ZXJzY2FsZWRaPD1lfHxpLnRpbGVJRC5vdmVyc2NhbGVkWj5yKSl7Zm9yKHZhciBvPWkudGlsZUlEO2kmJmkudGlsZUlELm92ZXJzY2FsZWRaPmUrMTspe3ZhciBzPWkudGlsZUlELnNjYWxlZFRvKGkudGlsZUlELm92ZXJzY2FsZWRaLTEpOyhpPXRoaXMuX3RpbGVzW3Mua2V5XSkmJmkuaGFzRGF0YSgpJiYobz1zKX1mb3IodmFyIGw9bztsLm92ZXJzY2FsZWRaPmU7KWlmKHRbKGw9bC5zY2FsZWRUbyhsLm92ZXJzY2FsZWRaLTEpKS5rZXldKXtuW28ua2V5XT1vO2JyZWFrfX19fSxyLnByb3RvdHlwZS5maW5kTG9hZGVkUGFyZW50PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQub3ZlcnNjYWxlZFotMTtyPj1lO3ItLSl7dmFyIG49dC5zY2FsZWRUbyhyKTtpZighbilyZXR1cm47dmFyIGE9U3RyaW5nKG4ua2V5KSxpPXRoaXMuX3RpbGVzW2FdO2lmKGkmJmkuaGFzRGF0YSgpKXJldHVybiBpO2lmKHRoaXMuX2NhY2hlLmhhcyhuKSlyZXR1cm4gdGhpcy5fY2FjaGUuZ2V0KG4pfX0sci5wcm90b3R5cGUudXBkYXRlQ2FjaGVTaXplPWZ1bmN0aW9uKHQpe3ZhciBlPShNYXRoLmNlaWwodC53aWR0aC90aGlzLl9zb3VyY2UudGlsZVNpemUpKzEpKihNYXRoLmNlaWwodC5oZWlnaHQvdGhpcy5fc291cmNlLnRpbGVTaXplKSsxKSxyPU1hdGguZmxvb3IoNSplKSxuPSJudW1iZXIiPT10eXBlb2YgdGhpcy5fbWF4VGlsZUNhY2hlU2l6ZT9NYXRoLm1pbih0aGlzLl9tYXhUaWxlQ2FjaGVTaXplLHIpOnI7dGhpcy5fY2FjaGUuc2V0TWF4U2l6ZShuKX0sci5wcm90b3R5cGUuaGFuZGxlV3JhcEp1bXA9ZnVuY3Rpb24odCl7dmFyIGU9KHQtKHZvaWQgMD09PXRoaXMuX3ByZXZMbmc/dDp0aGlzLl9wcmV2TG5nKSkvMzYwLHI9TWF0aC5yb3VuZChlKTtpZih0aGlzLl9wcmV2TG5nPXQscil7dmFyIG49e307Zm9yKHZhciBhIGluIHRoaXMuX3RpbGVzKXt2YXIgaT10aGlzLl90aWxlc1thXTtpLnRpbGVJRD1pLnRpbGVJRC51bndyYXBUbyhpLnRpbGVJRC53cmFwK3IpLG5baS50aWxlSUQua2V5XT1pfWZvcih2YXIgbyBpbiB0aGlzLl90aWxlcz1uLHRoaXMuX3RpbWVycyljbGVhclRpbWVvdXQodGhpcy5fdGltZXJzW29dKSxkZWxldGUgdGhpcy5fdGltZXJzW29dO2Zvcih2YXIgcyBpbiB0aGlzLl90aWxlcyl7dmFyIGw9dGhpcy5fdGlsZXNbc107dGhpcy5fc2V0VGlsZVJlbG9hZFRpbWVyKHMsbCl9fX0sci5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7aWYodGhpcy50cmFuc2Zvcm09ZSx0aGlzLl9zb3VyY2VMb2FkZWQmJiF0aGlzLl9wYXVzZWQpe3ZhciBhO3RoaXMudXBkYXRlQ2FjaGVTaXplKGUpLHRoaXMuaGFuZGxlV3JhcEp1bXAodGhpcy50cmFuc2Zvcm0uY2VudGVyLmxuZyksdGhpcy5fY292ZXJlZFRpbGVzPXt9LHRoaXMudXNlZD90aGlzLl9zb3VyY2UudGlsZUlEP2E9ZS5nZXRWaXNpYmxlVW53cmFwcGVkQ29vcmRpbmF0ZXModGhpcy5fc291cmNlLnRpbGVJRCkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKGUuY2Fub25pY2FsLnosZS53cmFwLGUuY2Fub25pY2FsLnosZS5jYW5vbmljYWwueCxlLmNhbm9uaWNhbC55KX0pOihhPWUuY292ZXJpbmdUaWxlcyh7dGlsZVNpemU6dGhpcy5fc291cmNlLnRpbGVTaXplLG1pbnpvb206dGhpcy5fc291cmNlLm1pbnpvb20sbWF4em9vbTp0aGlzLl9zb3VyY2UubWF4em9vbSxyb3VuZFpvb206dGhpcy5fc291cmNlLnJvdW5kWm9vbSxyZXBhcnNlT3ZlcnNjYWxlZDp0aGlzLl9zb3VyY2UucmVwYXJzZU92ZXJzY2FsZWR9KSx0aGlzLl9zb3VyY2UuaGFzVGlsZSYmKGE9YS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIG4uX3NvdXJjZS5oYXNUaWxlKHQpfSkpKTphPVtdO3ZhciBpPSh0aGlzLl9zb3VyY2Uucm91bmRab29tP01hdGgucm91bmQ6TWF0aC5mbG9vcikodGhpcy5nZXRab29tKGUpKSxvPU1hdGgubWF4KGktci5tYXhPdmVyem9vbWluZyx0aGlzLl9zb3VyY2UubWluem9vbSkscz1NYXRoLm1heChpK3IubWF4VW5kZXJ6b29taW5nLHRoaXMuX3NvdXJjZS5taW56b29tKSxsPXRoaXMuX3VwZGF0ZVJldGFpbmVkVGlsZXMoYSxpKTtpZihPdCh0aGlzLl9zb3VyY2UudHlwZSkpe2Zvcih2YXIgYz17fSx1PXt9LGg9MCxmPU9iamVjdC5rZXlzKGwpO2g8Zi5sZW5ndGg7aCs9MSl7dmFyIHA9ZltoXSxkPWxbcF0sZz10aGlzLl90aWxlc1twXTtpZihnJiYhKGcuZmFkZUVuZFRpbWUmJmcuZmFkZUVuZFRpbWU8PXQuYnJvd3Nlci5ub3coKSkpe3ZhciB2PXRoaXMuZmluZExvYWRlZFBhcmVudChkLG8pO3YmJih0aGlzLl9hZGRUaWxlKHYudGlsZUlEKSxjW3YudGlsZUlELmtleV09di50aWxlSUQpLHVbcF09ZH19Zm9yKHZhciBtIGluIHRoaXMuX3JldGFpbkxvYWRlZENoaWxkcmVuKHUsaSxzLGwpLGMpbFttXXx8KHRoaXMuX2NvdmVyZWRUaWxlc1ttXT0hMCxsW21dPWNbbV0pfWZvcih2YXIgeSBpbiBsKXRoaXMuX3RpbGVzW3ldLmNsZWFyRmFkZUhvbGQoKTtmb3IodmFyIHg9MCxiPXQua2V5c0RpZmZlcmVuY2UodGhpcy5fdGlsZXMsbCk7eDxiLmxlbmd0aDt4Kz0xKXt2YXIgXz1iW3hdLHc9dGhpcy5fdGlsZXNbX107dy5oYXNTeW1ib2xCdWNrZXRzJiYhdy5ob2xkaW5nRm9yRmFkZSgpP3cuc2V0SG9sZER1cmF0aW9uKHRoaXMubWFwLl9mYWRlRHVyYXRpb24pOncuaGFzU3ltYm9sQnVja2V0cyYmIXcuc3ltYm9sRmFkZUZpbmlzaGVkKCl8fHRoaXMuX3JlbW92ZVRpbGUoXyl9fX0sci5wcm90b3R5cGUucmVsZWFzZVN5bWJvbEZhZGVUaWxlcz1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1t0XS5ob2xkaW5nRm9yRmFkZSgpJiZ0aGlzLl9yZW1vdmVUaWxlKHQpfSxyLnByb3RvdHlwZS5fdXBkYXRlUmV0YWluZWRUaWxlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj17fSxhPXt9LGk9TWF0aC5tYXgoZS1yLm1heE92ZXJ6b29taW5nLHRoaXMuX3NvdXJjZS5taW56b29tKSxvPU1hdGgubWF4KGUrci5tYXhVbmRlcnpvb21pbmcsdGhpcy5fc291cmNlLm1pbnpvb20pLHM9e30sbD0wLGM9dDtsPGMubGVuZ3RoO2wrPTEpe3ZhciB1PWNbbF0saD10aGlzLl9hZGRUaWxlKHUpO25bdS5rZXldPXUsaC5oYXNEYXRhKCl8fGU8dGhpcy5fc291cmNlLm1heHpvb20mJihzW3Uua2V5XT11KX10aGlzLl9yZXRhaW5Mb2FkZWRDaGlsZHJlbihzLGUsbyxuKTtmb3IodmFyIGY9MCxwPXQ7ZjxwLmxlbmd0aDtmKz0xKXt2YXIgZD1wW2ZdLGc9dGhpcy5fdGlsZXNbZC5rZXldO2lmKCFnLmhhc0RhdGEoKSl7aWYoZSsxPnRoaXMuX3NvdXJjZS5tYXh6b29tKXt2YXIgdj1kLmNoaWxkcmVuKHRoaXMuX3NvdXJjZS5tYXh6b29tKVswXSxtPXRoaXMuZ2V0VGlsZSh2KTtpZihtJiZtLmhhc0RhdGEoKSl7blt2LmtleV09djtjb250aW51ZX19ZWxzZXt2YXIgeT1kLmNoaWxkcmVuKHRoaXMuX3NvdXJjZS5tYXh6b29tKTtpZihuW3lbMF0ua2V5XSYmblt5WzFdLmtleV0mJm5beVsyXS5rZXldJiZuW3lbM10ua2V5XSljb250aW51ZX1mb3IodmFyIHg9Zy53YXNSZXF1ZXN0ZWQoKSxiPWQub3ZlcnNjYWxlZFotMTtiPj1pOy0tYil7dmFyIF89ZC5zY2FsZWRUbyhiKTtpZihhW18ua2V5XSlicmVhaztpZihhW18ua2V5XT0hMCwhKGc9dGhpcy5nZXRUaWxlKF8pKSYmeCYmKGc9dGhpcy5fYWRkVGlsZShfKSksZyYmKG5bXy5rZXldPV8seD1nLndhc1JlcXVlc3RlZCgpLGcuaGFzRGF0YSgpKSlicmVha319fXJldHVybiBufSxyLnByb3RvdHlwZS5fYWRkVGlsZT1mdW5jdGlvbihlKXt2YXIgcj10aGlzLl90aWxlc1tlLmtleV07aWYocilyZXR1cm4gcjsocj10aGlzLl9jYWNoZS5nZXRBbmRSZW1vdmUoZSkpJiYodGhpcy5fc2V0VGlsZVJlbG9hZFRpbWVyKGUua2V5LHIpLHIudGlsZUlEPWUsdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZVRpbGVTdGF0ZShyLHRoaXMubWFwP3RoaXMubWFwLnBhaW50ZXI6bnVsbCksdGhpcy5fY2FjaGVUaW1lcnNbZS5rZXldJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2NhY2hlVGltZXJzW2Uua2V5XSksZGVsZXRlIHRoaXMuX2NhY2hlVGltZXJzW2Uua2V5XSx0aGlzLl9zZXRUaWxlUmVsb2FkVGltZXIoZS5rZXkscikpKTt2YXIgbj1Cb29sZWFuKHIpO3JldHVybiBufHwocj1uZXcgdC5UaWxlKGUsdGhpcy5fc291cmNlLnRpbGVTaXplKmUub3ZlcnNjYWxlRmFjdG9yKCkpLHRoaXMuX2xvYWRUaWxlKHIsdGhpcy5fdGlsZUxvYWRlZC5iaW5kKHRoaXMscixlLmtleSxyLnN0YXRlKSkpLHI/KHIudXNlcysrLHRoaXMuX3RpbGVzW2Uua2V5XT1yLG58fHRoaXMuX3NvdXJjZS5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse3RpbGU6cixjb29yZDpyLnRpbGVJRCxkYXRhVHlwZToic291cmNlIn0pKSxyKTpudWxsfSxyLnByb3RvdHlwZS5fc2V0VGlsZVJlbG9hZFRpbWVyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpczt0IGluIHRoaXMuX3RpbWVycyYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lcnNbdF0pLGRlbGV0ZSB0aGlzLl90aW1lcnNbdF0pO3ZhciBuPWUuZ2V0RXhwaXJ5VGltZW91dCgpO24mJih0aGlzLl90aW1lcnNbdF09c2V0VGltZW91dChmdW5jdGlvbigpe3IuX3JlbG9hZFRpbGUodCwiZXhwaXJlZCIpLGRlbGV0ZSByLl90aW1lcnNbdF19LG4pKX0sci5wcm90b3R5cGUuX3JlbW92ZVRpbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdGlsZXNbdF07ZSYmKGUudXNlcy0tLGRlbGV0ZSB0aGlzLl90aWxlc1t0XSx0aGlzLl90aW1lcnNbdF0mJihjbGVhclRpbWVvdXQodGhpcy5fdGltZXJzW3RdKSxkZWxldGUgdGhpcy5fdGltZXJzW3RdKSxlLnVzZXM+MHx8KGUuaGFzRGF0YSgpJiYicmVsb2FkaW5nIiE9PWUuc3RhdGU/dGhpcy5fY2FjaGUuYWRkKGUudGlsZUlELGUsZS5nZXRFeHBpcnlUaW1lb3V0KCkpOihlLmFib3J0ZWQ9ITAsdGhpcy5fYWJvcnRUaWxlKGUpLHRoaXMuX3VubG9hZFRpbGUoZSkpKSl9LHIucHJvdG90eXBlLmNsZWFyVGlsZXM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fc2hvdWxkUmVsb2FkT25SZXN1bWU9ITEsdGhpcy5fcGF1c2VkPSExLHRoaXMuX3RpbGVzKXRoaXMuX3JlbW92ZVRpbGUodCk7dGhpcy5fY2FjaGUucmVzZXQoKX0sci5wcm90b3R5cGUudGlsZXNJbj1mdW5jdGlvbihlLHIsbil7dmFyIGE9dGhpcyxpPVtdLG89dGhpcy50cmFuc2Zvcm07aWYoIW8pcmV0dXJuIGk7Zm9yKHZhciBzPW4/by5nZXRDYW1lcmFRdWVyeUdlb21ldHJ5KGUpOmUsbD1lLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gby5wb2ludENvb3JkaW5hdGUodCl9KSxjPXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvLnBvaW50Q29vcmRpbmF0ZSh0KX0pLHU9dGhpcy5nZXRJZHMoKSxoPTEvMCxmPTEvMCxwPS0xLzAsZD0tMS8wLGc9MCx2PWM7Zzx2Lmxlbmd0aDtnKz0xKXt2YXIgbT12W2ddO2g9TWF0aC5taW4oaCxtLngpLGY9TWF0aC5taW4oZixtLnkpLHA9TWF0aC5tYXgocCxtLngpLGQ9TWF0aC5tYXgoZCxtLnkpfWZvcih2YXIgeT1mdW5jdGlvbihlKXt2YXIgbj1hLl90aWxlc1t1W2VdXTtpZighbi5ob2xkaW5nRm9yRmFkZSgpKXt2YXIgcz1uLnRpbGVJRCxnPU1hdGgucG93KDIsby56b29tLW4udGlsZUlELm92ZXJzY2FsZWRaKSx2PXIqbi5xdWVyeVBhZGRpbmcqdC5FWFRFTlQvbi50aWxlU2l6ZS9nLG09W3MuZ2V0VGlsZVBvaW50KG5ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZShoLGYpKSxzLmdldFRpbGVQb2ludChuZXcgdC5NZXJjYXRvckNvb3JkaW5hdGUocCxkKSldO2lmKG1bMF0ueC12PHQuRVhURU5UJiZtWzBdLnktdjx0LkVYVEVOVCYmbVsxXS54K3Y+PTAmJm1bMV0ueSt2Pj0wKXt2YXIgeT1sLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcy5nZXRUaWxlUG9pbnQodCl9KSx4PWMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBzLmdldFRpbGVQb2ludCh0KX0pO2kucHVzaCh7dGlsZTpuLHRpbGVJRDpzLHF1ZXJ5R2VvbWV0cnk6eSxjYW1lcmFRdWVyeUdlb21ldHJ5Ongsc2NhbGU6Z30pfX19LHg9MDt4PHUubGVuZ3RoO3grKyl5KHgpO3JldHVybiBpfSxyLnByb3RvdHlwZS5nZXRWaXNpYmxlQ29vcmRpbmF0ZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj10aGlzLmdldFJlbmRlcmFibGVJZHModCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlLl90aWxlc1t0XS50aWxlSUR9KSxuPTAsYT1yO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXTtpLnBvc01hdHJpeD10aGlzLnRyYW5zZm9ybS5jYWxjdWxhdGVQb3NNYXRyaXgoaS50b1Vud3JhcHBlZCgpKX1yZXR1cm4gcn0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuX3NvdXJjZS5oYXNUcmFuc2l0aW9uKCkpcmV0dXJuITA7aWYoT3QodGhpcy5fc291cmNlLnR5cGUpKWZvcih2YXIgZSBpbiB0aGlzLl90aWxlcyl7dmFyIHI9dGhpcy5fdGlsZXNbZV07aWYodm9pZCAwIT09ci5mYWRlRW5kVGltZSYmci5mYWRlRW5kVGltZT49dC5icm93c2VyLm5vdygpKXJldHVybiEwfXJldHVybiExfSxyLnByb3RvdHlwZS5zZXRGZWF0dXJlU3RhdGU9ZnVuY3Rpb24odCxlLHIpe3Q9dHx8Il9nZW9qc29uVGlsZUxheWVyIix0aGlzLl9zdGF0ZS51cGRhdGVTdGF0ZSh0LGUscil9LHIucHJvdG90eXBlLnJlbW92ZUZlYXR1cmVTdGF0ZT1mdW5jdGlvbih0LGUscil7dD10fHwiX2dlb2pzb25UaWxlTGF5ZXIiLHRoaXMuX3N0YXRlLnJlbW92ZUZlYXR1cmVTdGF0ZSh0LGUscil9LHIucHJvdG90eXBlLmdldEZlYXR1cmVTdGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0PXR8fCJfZ2VvanNvblRpbGVMYXllciIsdGhpcy5fc3RhdGUuZ2V0U3RhdGUodCxlKX0scn0odC5FdmVudGVkKTtmdW5jdGlvbiBQdCh0LGUpe3JldHVybiB0JTMyLWUlMzJ8fGUtdH1mdW5jdGlvbiBPdCh0KXtyZXR1cm4icmFzdGVyIj09PXR8fCJpbWFnZSI9PT10fHwidmlkZW8iPT09dH1mdW5jdGlvbiB6dCgpe3JldHVybiBuZXcgdC53aW5kb3cuV29ya2VyKCRuLndvcmtlclVybCl9Q3QubWF4T3Zlcnpvb21pbmc9MTAsQ3QubWF4VW5kZXJ6b29taW5nPTM7dmFyIEl0PWZ1bmN0aW9uKCl7dGhpcy5hY3RpdmU9e319O0l0LnByb3RvdHlwZS5hY3F1aXJlPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLndvcmtlcnMpZm9yKHRoaXMud29ya2Vycz1bXTt0aGlzLndvcmtlcnMubGVuZ3RoPEl0LndvcmtlckNvdW50Oyl0aGlzLndvcmtlcnMucHVzaChuZXcgenQpO3JldHVybiB0aGlzLmFjdGl2ZVt0XT0hMCx0aGlzLndvcmtlcnMuc2xpY2UoKX0sSXQucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuYWN0aXZlW3RdLDA9PT1PYmplY3Qua2V5cyh0aGlzLmFjdGl2ZSkubGVuZ3RoJiYodGhpcy53b3JrZXJzLmZvckVhY2goZnVuY3Rpb24odCl7dC50ZXJtaW5hdGUoKX0pLHRoaXMud29ya2Vycz1udWxsKX07dmFyIER0LFJ0PU1hdGguZmxvb3IodC5icm93c2VyLmhhcmR3YXJlQ29uY3VycmVuY3kvMik7ZnVuY3Rpb24gRnQoZSxyKXt2YXIgbj17fTtmb3IodmFyIGEgaW4gZSkicmVmIiE9PWEmJihuW2FdPWVbYV0pO3JldHVybiB0LnJlZlByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0IGluIHImJihuW3RdPXJbdF0pfSksbn1mdW5jdGlvbiBCdCh0KXt0PXQuc2xpY2UoKTtmb3IodmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKSxyPTA7cjx0Lmxlbmd0aDtyKyspZVt0W3JdLmlkXT10W3JdO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKSJyZWYiaW4gdFtuXSYmKHRbbl09RnQodFtuXSxlW3Rbbl0ucmVmXSkpO3JldHVybiB0fUl0LndvcmtlckNvdW50PU1hdGgubWF4KE1hdGgubWluKFJ0LDYpLDEpO3ZhciBOdD17c2V0U3R5bGU6InNldFN0eWxlIixhZGRMYXllcjoiYWRkTGF5ZXIiLHJlbW92ZUxheWVyOiJyZW1vdmVMYXllciIsc2V0UGFpbnRQcm9wZXJ0eToic2V0UGFpbnRQcm9wZXJ0eSIsc2V0TGF5b3V0UHJvcGVydHk6InNldExheW91dFByb3BlcnR5IixzZXRGaWx0ZXI6InNldEZpbHRlciIsYWRkU291cmNlOiJhZGRTb3VyY2UiLHJlbW92ZVNvdXJjZToicmVtb3ZlU291cmNlIixzZXRHZW9KU09OU291cmNlRGF0YToic2V0R2VvSlNPTlNvdXJjZURhdGEiLHNldExheWVyWm9vbVJhbmdlOiJzZXRMYXllclpvb21SYW5nZSIsc2V0TGF5ZXJQcm9wZXJ0eToic2V0TGF5ZXJQcm9wZXJ0eSIsc2V0Q2VudGVyOiJzZXRDZW50ZXIiLHNldFpvb206InNldFpvb20iLHNldEJlYXJpbmc6InNldEJlYXJpbmciLHNldFBpdGNoOiJzZXRQaXRjaCIsc2V0U3ByaXRlOiJzZXRTcHJpdGUiLHNldEdseXBoczoic2V0R2x5cGhzIixzZXRUcmFuc2l0aW9uOiJzZXRUcmFuc2l0aW9uIixzZXRMaWdodDoic2V0TGlnaHQifTtmdW5jdGlvbiBqdCh0LGUscil7ci5wdXNoKHtjb21tYW5kOk50LmFkZFNvdXJjZSxhcmdzOlt0LGVbdF1dfSl9ZnVuY3Rpb24gVnQodCxlLHIpe2UucHVzaCh7Y29tbWFuZDpOdC5yZW1vdmVTb3VyY2UsYXJnczpbdF19KSxyW3RdPSEwfWZ1bmN0aW9uIFV0KHQsZSxyLG4pe1Z0KHQscixuKSxqdCh0LGUscil9ZnVuY3Rpb24gcXQoZSxyLG4pe3ZhciBhO2ZvcihhIGluIGVbbl0paWYoZVtuXS5oYXNPd25Qcm9wZXJ0eShhKSYmImRhdGEiIT09YSYmIXQuZGVlcEVxdWFsKGVbbl1bYV0scltuXVthXSkpcmV0dXJuITE7Zm9yKGEgaW4gcltuXSlpZihyW25dLmhhc093blByb3BlcnR5KGEpJiYiZGF0YSIhPT1hJiYhdC5kZWVwRXF1YWwoZVtuXVthXSxyW25dW2FdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBIdChlLHIsbixhLGksbyl7dmFyIHM7Zm9yKHMgaW4gcj1yfHx7fSxlPWV8fHt9KWUuaGFzT3duUHJvcGVydHkocykmJih0LmRlZXBFcXVhbChlW3NdLHJbc10pfHxuLnB1c2goe2NvbW1hbmQ6byxhcmdzOlthLHMscltzXSxpXX0pKTtmb3IocyBpbiByKXIuaGFzT3duUHJvcGVydHkocykmJiFlLmhhc093blByb3BlcnR5KHMpJiYodC5kZWVwRXF1YWwoZVtzXSxyW3NdKXx8bi5wdXNoKHtjb21tYW5kOm8sYXJnczpbYSxzLHJbc10saV19KSl9ZnVuY3Rpb24gR3QodCl7cmV0dXJuIHQuaWR9ZnVuY3Rpb24gWXQodCxlKXtyZXR1cm4gdFtlLmlkXT1lLHR9dmFyIFd0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmJveENlbGxzPVtdLGE9dGhpcy5jaXJjbGVDZWxscz1bXTt0aGlzLnhDZWxsQ291bnQ9TWF0aC5jZWlsKHQvciksdGhpcy55Q2VsbENvdW50PU1hdGguY2VpbChlL3IpO2Zvcih2YXIgaT0wO2k8dGhpcy54Q2VsbENvdW50KnRoaXMueUNlbGxDb3VudDtpKyspbi5wdXNoKFtdKSxhLnB1c2goW10pO3RoaXMuY2lyY2xlS2V5cz1bXSx0aGlzLmJveEtleXM9W10sdGhpcy5iYm94ZXM9W10sdGhpcy5jaXJjbGVzPVtdLHRoaXMud2lkdGg9dCx0aGlzLmhlaWdodD1lLHRoaXMueFNjYWxlPXRoaXMueENlbGxDb3VudC90LHRoaXMueVNjYWxlPXRoaXMueUNlbGxDb3VudC9lLHRoaXMuYm94VWlkPTAsdGhpcy5jaXJjbGVVaWQ9MH07ZnVuY3Rpb24gWHQoZSxyLG4sYSxpKXt2YXIgbz10LmNyZWF0ZSgpO3JldHVybiByPyh0LnNjYWxlKG8sbyxbMS9pLDEvaSwxXSksbnx8dC5yb3RhdGVaKG8sbyxhLmFuZ2xlKSk6dC5tdWx0aXBseShvLGEubGFiZWxQbGFuZU1hdHJpeCxlKSxvfWZ1bmN0aW9uIFp0KGUscixuLGEsaSl7aWYocil7dmFyIG89dC5jbG9uZShlKTtyZXR1cm4gdC5zY2FsZShvLG8sW2ksaSwxXSksbnx8dC5yb3RhdGVaKG8sbywtYS5hbmdsZSksb31yZXR1cm4gYS5nbENvb3JkTWF0cml4fWZ1bmN0aW9uIEp0KGUscil7dmFyIG49W2UueCxlLnksMCwxXTtvZShuLG4scik7dmFyIGE9blszXTtyZXR1cm57cG9pbnQ6bmV3IHQuUG9pbnQoblswXS9hLG5bMV0vYSksc2lnbmVkRGlzdGFuY2VGcm9tQ2FtZXJhOmF9fWZ1bmN0aW9uIEt0KHQsZSl7dmFyIHI9dFswXS90WzNdLG49dFsxXS90WzNdO3JldHVybiByPj0tZVswXSYmcjw9ZVswXSYmbj49LWVbMV0mJm48PWVbMV19ZnVuY3Rpb24gUXQoZSxyLG4sYSxpLG8scyxsKXt2YXIgYz1hP2UudGV4dFNpemVEYXRhOmUuaWNvblNpemVEYXRhLHU9dC5ldmFsdWF0ZVNpemVGb3Jab29tKGMsbi50cmFuc2Zvcm0uem9vbSksaD1bMjU2L24ud2lkdGgqMisxLDI1Ni9uLmhlaWdodCoyKzFdLGY9YT9lLnRleHQuZHluYW1pY0xheW91dFZlcnRleEFycmF5OmUuaWNvbi5keW5hbWljTGF5b3V0VmVydGV4QXJyYXk7Zi5jbGVhcigpO2Zvcih2YXIgcD1lLmxpbmVWZXJ0ZXhBcnJheSxkPWE/ZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5OmUuaWNvbi5wbGFjZWRTeW1ib2xBcnJheSxnPW4udHJhbnNmb3JtLndpZHRoL24udHJhbnNmb3JtLmhlaWdodCx2PSExLG09MDttPGQubGVuZ3RoO20rKyl7dmFyIHk9ZC5nZXQobSk7aWYoeS5oaWRkZW58fHkud3JpdGluZ01vZGU9PT10LldyaXRpbmdNb2RlLnZlcnRpY2FsJiYhdilpZSh5Lm51bUdseXBocyxmKTtlbHNle3Y9ITE7dmFyIHg9W3kuYW5jaG9yWCx5LmFuY2hvclksMCwxXTtpZih0LnRyYW5zZm9ybU1hdDQoeCx4LHIpLEt0KHgsaCkpe3ZhciBiPS41K3hbM10vbi50cmFuc2Zvcm0uY2FtZXJhVG9DZW50ZXJEaXN0YW5jZSouNSxfPXQuZXZhbHVhdGVTaXplRm9yRmVhdHVyZShjLHUseSksdz1zP18qYjpfL2Isaz1uZXcgdC5Qb2ludCh5LmFuY2hvclgseS5hbmNob3JZKSxUPUp0KGssaSkucG9pbnQsTT17fSxBPWVlKHksdywhMSxsLHIsaSxvLGUuZ2x5cGhPZmZzZXRBcnJheSxwLGYsVCxrLE0sZyk7dj1BLnVzZVZlcnRpY2FsLChBLm5vdEVub3VnaFJvb218fHZ8fEEubmVlZHNGbGlwcGluZyYmZWUoeSx3LCEwLGwscixpLG8sZS5nbHlwaE9mZnNldEFycmF5LHAsZixULGssTSxnKS5ub3RFbm91Z2hSb29tKSYmaWUoeS5udW1HbHlwaHMsZil9ZWxzZSBpZSh5Lm51bUdseXBocyxmKX19YT9lLnRleHQuZHluYW1pY0xheW91dFZlcnRleEJ1ZmZlci51cGRhdGVEYXRhKGYpOmUuaWNvbi5keW5hbWljTGF5b3V0VmVydGV4QnVmZmVyLnVwZGF0ZURhdGEoZil9ZnVuY3Rpb24gJHQodCxlLHIsbixhLGksbyxzLGwsYyx1LGgpe3ZhciBmPXMuZ2x5cGhTdGFydEluZGV4K3MubnVtR2x5cGhzLHA9cy5saW5lU3RhcnRJbmRleCxkPXMubGluZVN0YXJ0SW5kZXgrcy5saW5lTGVuZ3RoLGc9ZS5nZXRvZmZzZXRYKHMuZ2x5cGhTdGFydEluZGV4KSx2PWUuZ2V0b2Zmc2V0WChmLTEpLG09bmUodCpnLHIsbixhLGksbyxzLnNlZ21lbnQscCxkLGwsYyx1LGgpO2lmKCFtKXJldHVybiBudWxsO3ZhciB5PW5lKHQqdixyLG4sYSxpLG8scy5zZWdtZW50LHAsZCxsLGMsdSxoKTtyZXR1cm4geT97Zmlyc3Q6bSxsYXN0Onl9Om51bGx9ZnVuY3Rpb24gdGUoZSxyLG4sYSl7cmV0dXJuIGU9PT10LldyaXRpbmdNb2RlLmhvcml6b250YWwmJk1hdGguYWJzKG4ueS1yLnkpPk1hdGguYWJzKG4ueC1yLngpKmE/e3VzZVZlcnRpY2FsOiEwfTooZT09PXQuV3JpdGluZ01vZGUudmVydGljYWw/ci55PG4ueTpyLng+bi54KT97bmVlZHNGbGlwcGluZzohMH06bnVsbH1mdW5jdGlvbiBlZShlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwLGQpe3ZhciBnLHY9ci8yNCxtPWUubGluZU9mZnNldFgqdix5PWUubGluZU9mZnNldFkqdjtpZihlLm51bUdseXBocz4xKXt2YXIgeD1lLmdseXBoU3RhcnRJbmRleCtlLm51bUdseXBocyxiPWUubGluZVN0YXJ0SW5kZXgsXz1lLmxpbmVTdGFydEluZGV4K2UubGluZUxlbmd0aCx3PSR0KHYsbCxtLHksbixoLGYsZSxjLG8scCwhMSk7aWYoIXcpcmV0dXJue25vdEVub3VnaFJvb206ITB9O3ZhciBrPUp0KHcuZmlyc3QucG9pbnQscykucG9pbnQsVD1KdCh3Lmxhc3QucG9pbnQscykucG9pbnQ7aWYoYSYmIW4pe3ZhciBNPXRlKGUud3JpdGluZ01vZGUsayxULGQpO2lmKE0pcmV0dXJuIE19Zz1bdy5maXJzdF07Zm9yKHZhciBBPWUuZ2x5cGhTdGFydEluZGV4KzE7QTx4LTE7QSsrKWcucHVzaChuZSh2KmwuZ2V0b2Zmc2V0WChBKSxtLHksbixoLGYsZS5zZWdtZW50LGIsXyxjLG8scCwhMSkpO2cucHVzaCh3Lmxhc3QpfWVsc2V7aWYoYSYmIW4pe3ZhciBTPUp0KGYsaSkucG9pbnQsRT1lLmxpbmVTdGFydEluZGV4K2Uuc2VnbWVudCsxLEw9bmV3IHQuUG9pbnQoYy5nZXR4KEUpLGMuZ2V0eShFKSksQz1KdChMLGkpLFA9Qy5zaWduZWREaXN0YW5jZUZyb21DYW1lcmE+MD9DLnBvaW50OnJlKGYsTCxTLDEsaSksTz10ZShlLndyaXRpbmdNb2RlLFMsUCxkKTtpZihPKXJldHVybiBPfXZhciB6PW5lKHYqbC5nZXRvZmZzZXRYKGUuZ2x5cGhTdGFydEluZGV4KSxtLHksbixoLGYsZS5zZWdtZW50LGUubGluZVN0YXJ0SW5kZXgsZS5saW5lU3RhcnRJbmRleCtlLmxpbmVMZW5ndGgsYyxvLHAsITEpO2lmKCF6KXJldHVybntub3RFbm91Z2hSb29tOiEwfTtnPVt6XX1mb3IodmFyIEk9MCxEPWc7STxELmxlbmd0aDtJKz0xKXt2YXIgUj1EW0ldO3QuYWRkRHluYW1pY0F0dHJpYnV0ZXModSxSLnBvaW50LFIuYW5nbGUpfXJldHVybnt9fWZ1bmN0aW9uIHJlKHQsZSxyLG4sYSl7dmFyIGk9SnQodC5hZGQodC5zdWIoZSkuX3VuaXQoKSksYSkucG9pbnQsbz1yLnN1YihpKTtyZXR1cm4gci5hZGQoby5fbXVsdChuL28ubWFnKCkpKX1mdW5jdGlvbiBuZShlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwKXt2YXIgZD1hP2UtcjplK3IsZz1kPjA/MTotMSx2PTA7YSYmKGcqPS0xLHY9TWF0aC5QSSksZzwwJiYodis9TWF0aC5QSSk7Zm9yKHZhciBtPWc+MD9sK3M6bCtzKzEseT1tLHg9aSxiPWksXz0wLHc9MCxrPU1hdGguYWJzKGQpO18rdzw9azspe2lmKChtKz1nKTxsfHxtPj1jKXJldHVybiBudWxsO2lmKGI9eCx2b2lkIDA9PT0oeD1mW21dKSl7dmFyIFQ9bmV3IHQuUG9pbnQodS5nZXR4KG0pLHUuZ2V0eShtKSksTT1KdChULGgpO2lmKE0uc2lnbmVkRGlzdGFuY2VGcm9tQ2FtZXJhPjApeD1mW21dPU0ucG9pbnQ7ZWxzZXt2YXIgQT1tLWc7eD1yZSgwPT09Xz9vOm5ldyB0LlBvaW50KHUuZ2V0eChBKSx1LmdldHkoQSkpLFQsYixrLV8rMSxoKX19Xys9dyx3PWIuZGlzdCh4KX12YXIgUz0oay1fKS93LEU9eC5zdWIoYiksTD1FLm11bHQoUykuX2FkZChiKTtyZXR1cm4gTC5fYWRkKEUuX3VuaXQoKS5fcGVycCgpLl9tdWx0KG4qZykpLHtwb2ludDpMLGFuZ2xlOnYrTWF0aC5hdGFuMih4LnktYi55LHgueC1iLngpLHRpbGVEaXN0YW5jZTpwP3twcmV2VGlsZURpc3RhbmNlOm0tZz09PXk/MDp1LmdldHRpbGVVbml0RGlzdGFuY2VGcm9tQW5jaG9yKG0tZyksbGFzdFNlZ21lbnRWaWV3cG9ydERpc3RhbmNlOmstX306bnVsbH19V3QucHJvdG90eXBlLmtleXNMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ib3hLZXlzLmxlbmd0aCt0aGlzLmNpcmNsZUtleXMubGVuZ3RofSxXdC5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy5fZm9yRWFjaENlbGwoZSxyLG4sYSx0aGlzLl9pbnNlcnRCb3hDZWxsLHRoaXMuYm94VWlkKyspLHRoaXMuYm94S2V5cy5wdXNoKHQpLHRoaXMuYmJveGVzLnB1c2goZSksdGhpcy5iYm94ZXMucHVzaChyKSx0aGlzLmJib3hlcy5wdXNoKG4pLHRoaXMuYmJveGVzLnB1c2goYSl9LFd0LnByb3RvdHlwZS5pbnNlcnRDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5fZm9yRWFjaENlbGwoZS1uLHItbixlK24scituLHRoaXMuX2luc2VydENpcmNsZUNlbGwsdGhpcy5jaXJjbGVVaWQrKyksdGhpcy5jaXJjbGVLZXlzLnB1c2godCksdGhpcy5jaXJjbGVzLnB1c2goZSksdGhpcy5jaXJjbGVzLnB1c2gociksdGhpcy5jaXJjbGVzLnB1c2gobil9LFd0LnByb3RvdHlwZS5faW5zZXJ0Qm94Q2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5ib3hDZWxsc1thXS5wdXNoKGkpfSxXdC5wcm90b3R5cGUuX2luc2VydENpcmNsZUNlbGw9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3RoaXMuY2lyY2xlQ2VsbHNbYV0ucHVzaChpKX0sV3QucHJvdG90eXBlLl9xdWVyeT1mdW5jdGlvbih0LGUscixuLGEsaSl7aWYocjwwfHx0PnRoaXMud2lkdGh8fG48MHx8ZT50aGlzLmhlaWdodClyZXR1cm4hYSYmW107dmFyIG89W107aWYodDw9MCYmZTw9MCYmdGhpcy53aWR0aDw9ciYmdGhpcy5oZWlnaHQ8PW4pe2lmKGEpcmV0dXJuITA7Zm9yKHZhciBzPTA7czx0aGlzLmJveEtleXMubGVuZ3RoO3MrKylvLnB1c2goe2tleTp0aGlzLmJveEtleXNbc10seDE6dGhpcy5iYm94ZXNbNCpzXSx5MTp0aGlzLmJib3hlc1s0KnMrMV0seDI6dGhpcy5iYm94ZXNbNCpzKzJdLHkyOnRoaXMuYmJveGVzWzQqcyszXX0pO2Zvcih2YXIgbD0wO2w8dGhpcy5jaXJjbGVLZXlzLmxlbmd0aDtsKyspe3ZhciBjPXRoaXMuY2lyY2xlc1szKmxdLHU9dGhpcy5jaXJjbGVzWzMqbCsxXSxoPXRoaXMuY2lyY2xlc1szKmwrMl07by5wdXNoKHtrZXk6dGhpcy5jaXJjbGVLZXlzW2xdLHgxOmMtaCx5MTp1LWgseDI6YytoLHkyOnUraH0pfXJldHVybiBpP28uZmlsdGVyKGkpOm99dmFyIGY9e2hpdFRlc3Q6YSxzZWVuVWlkczp7Ym94Ont9LGNpcmNsZTp7fX19O3JldHVybiB0aGlzLl9mb3JFYWNoQ2VsbCh0LGUscixuLHRoaXMuX3F1ZXJ5Q2VsbCxvLGYsaSksYT9vLmxlbmd0aD4wOm99LFd0LnByb3RvdHlwZS5fcXVlcnlDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10LXIsbz10K3Iscz1lLXIsbD1lK3I7aWYobzwwfHxpPnRoaXMud2lkdGh8fGw8MHx8cz50aGlzLmhlaWdodClyZXR1cm4hbiYmW107dmFyIGM9W10sdT17aGl0VGVzdDpuLGNpcmNsZTp7eDp0LHk6ZSxyYWRpdXM6cn0sc2VlblVpZHM6e2JveDp7fSxjaXJjbGU6e319fTtyZXR1cm4gdGhpcy5fZm9yRWFjaENlbGwoaSxzLG8sbCx0aGlzLl9xdWVyeUNlbGxDaXJjbGUsYyx1LGEpLG4/Yy5sZW5ndGg+MDpjfSxXdC5wcm90b3R5cGUucXVlcnk9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdGhpcy5fcXVlcnkodCxlLHIsbiwhMSxhKX0sV3QucHJvdG90eXBlLmhpdFRlc3Q9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdGhpcy5fcXVlcnkodCxlLHIsbiwhMCxhKX0sV3QucHJvdG90eXBlLmhpdFRlc3RDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRoaXMuX3F1ZXJ5Q2lyY2xlKHQsZSxyLCEwLG4pfSxXdC5wcm90b3R5cGUuX3F1ZXJ5Q2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPW8uc2VlblVpZHMsYz10aGlzLmJveENlbGxzW2FdO2lmKG51bGwhPT1jKWZvcih2YXIgdT10aGlzLmJib3hlcyxoPTAsZj1jO2g8Zi5sZW5ndGg7aCs9MSl7dmFyIHA9ZltoXTtpZighbC5ib3hbcF0pe2wuYm94W3BdPSEwO3ZhciBkPTQqcDtpZih0PD11W2QrMl0mJmU8PXVbZCszXSYmcj49dVtkKzBdJiZuPj11W2QrMV0mJighc3x8cyh0aGlzLmJveEtleXNbcF0pKSl7aWYoby5oaXRUZXN0KXJldHVybiBpLnB1c2goITApLCEwO2kucHVzaCh7a2V5OnRoaXMuYm94S2V5c1twXSx4MTp1W2RdLHkxOnVbZCsxXSx4Mjp1W2QrMl0seTI6dVtkKzNdfSl9fX12YXIgZz10aGlzLmNpcmNsZUNlbGxzW2FdO2lmKG51bGwhPT1nKWZvcih2YXIgdj10aGlzLmNpcmNsZXMsbT0wLHk9ZzttPHkubGVuZ3RoO20rPTEpe3ZhciB4PXlbbV07aWYoIWwuY2lyY2xlW3hdKXtsLmNpcmNsZVt4XT0hMDt2YXIgYj0zKng7aWYodGhpcy5fY2lyY2xlQW5kUmVjdENvbGxpZGUodltiXSx2W2IrMV0sdltiKzJdLHQsZSxyLG4pJiYoIXN8fHModGhpcy5jaXJjbGVLZXlzW3hdKSkpe2lmKG8uaGl0VGVzdClyZXR1cm4gaS5wdXNoKCEwKSwhMDt2YXIgXz12W2JdLHc9dltiKzFdLGs9dltiKzJdO2kucHVzaCh7a2V5OnRoaXMuY2lyY2xlS2V5c1t4XSx4MTpfLWsseTE6dy1rLHgyOl8rayx5Mjp3K2t9KX19fX0sV3QucHJvdG90eXBlLl9xdWVyeUNlbGxDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXt2YXIgbD1vLmNpcmNsZSxjPW8uc2VlblVpZHMsdT10aGlzLmJveENlbGxzW2FdO2lmKG51bGwhPT11KWZvcih2YXIgaD10aGlzLmJib3hlcyxmPTAscD11O2Y8cC5sZW5ndGg7Zis9MSl7dmFyIGQ9cFtmXTtpZighYy5ib3hbZF0pe2MuYm94W2RdPSEwO3ZhciBnPTQqZDtpZih0aGlzLl9jaXJjbGVBbmRSZWN0Q29sbGlkZShsLngsbC55LGwucmFkaXVzLGhbZyswXSxoW2crMV0saFtnKzJdLGhbZyszXSkmJighc3x8cyh0aGlzLmJveEtleXNbZF0pKSlyZXR1cm4gaS5wdXNoKCEwKSwhMH19dmFyIHY9dGhpcy5jaXJjbGVDZWxsc1thXTtpZihudWxsIT09dilmb3IodmFyIG09dGhpcy5jaXJjbGVzLHk9MCx4PXY7eTx4Lmxlbmd0aDt5Kz0xKXt2YXIgYj14W3ldO2lmKCFjLmNpcmNsZVtiXSl7Yy5jaXJjbGVbYl09ITA7dmFyIF89MypiO2lmKHRoaXMuX2NpcmNsZXNDb2xsaWRlKG1bX10sbVtfKzFdLG1bXysyXSxsLngsbC55LGwucmFkaXVzKSYmKCFzfHxzKHRoaXMuY2lyY2xlS2V5c1tiXSkpKXJldHVybiBpLnB1c2goITApLCEwfX19LFd0LnByb3RvdHlwZS5fZm9yRWFjaENlbGw9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXtmb3IodmFyIGw9dGhpcy5fY29udmVydFRvWENlbGxDb29yZCh0KSxjPXRoaXMuX2NvbnZlcnRUb1lDZWxsQ29vcmQoZSksdT10aGlzLl9jb252ZXJ0VG9YQ2VsbENvb3JkKHIpLGg9dGhpcy5fY29udmVydFRvWUNlbGxDb29yZChuKSxmPWw7Zjw9dTtmKyspZm9yKHZhciBwPWM7cDw9aDtwKyspe3ZhciBkPXRoaXMueENlbGxDb3VudCpwK2Y7aWYoYS5jYWxsKHRoaXMsdCxlLHIsbixkLGksbyxzKSlyZXR1cm59fSxXdC5wcm90b3R5cGUuX2NvbnZlcnRUb1hDZWxsQ29vcmQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4odGhpcy54Q2VsbENvdW50LTEsTWF0aC5mbG9vcih0KnRoaXMueFNjYWxlKSkpfSxXdC5wcm90b3R5cGUuX2NvbnZlcnRUb1lDZWxsQ29vcmQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4odGhpcy55Q2VsbENvdW50LTEsTWF0aC5mbG9vcih0KnRoaXMueVNjYWxlKSkpfSxXdC5wcm90b3R5cGUuX2NpcmNsZXNDb2xsaWRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz1uLXQscz1hLWUsbD1yK2k7cmV0dXJuIGwqbD5vKm8rcypzfSxXdC5wcm90b3R5cGUuX2NpcmNsZUFuZFJlY3RDb2xsaWRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPShpLW4pLzIsbD1NYXRoLmFicyh0LShuK3MpKTtpZihsPnMrcilyZXR1cm4hMTt2YXIgYz0oby1hKS8yLHU9TWF0aC5hYnMoZS0oYStjKSk7aWYodT5jK3IpcmV0dXJuITE7aWYobDw9c3x8dTw9YylyZXR1cm4hMDt2YXIgaD1sLXMsZj11LWM7cmV0dXJuIGgqaCtmKmY8PXIqcn07dmFyIGFlPW5ldyBGbG9hdDMyQXJyYXkoWy0xLzAsLTEvMCwwLC0xLzAsLTEvMCwwLC0xLzAsLTEvMCwwLC0xLzAsLTEvMCwwXSk7ZnVuY3Rpb24gaWUodCxlKXtmb3IodmFyIHI9MDtyPHQ7cisrKXt2YXIgbj1lLmxlbmd0aDtlLnJlc2l6ZShuKzQpLGUuZmxvYXQzMi5zZXQoYWUsMypuKX19ZnVuY3Rpb24gb2UodCxlLHIpe3ZhciBuPWVbMF0sYT1lWzFdO3JldHVybiB0WzBdPXJbMF0qbityWzRdKmErclsxMl0sdFsxXT1yWzFdKm4rcls1XSphK3JbMTNdLHRbM109clszXSpuK3JbN10qYStyWzE1XSx0fXZhciBzZT1mdW5jdGlvbih0LGUscil7dm9pZCAwPT09ZSYmKGU9bmV3IFd0KHQud2lkdGgrMjAwLHQuaGVpZ2h0KzIwMCwyNSkpLHZvaWQgMD09PXImJihyPW5ldyBXdCh0LndpZHRoKzIwMCx0LmhlaWdodCsyMDAsMjUpKSx0aGlzLnRyYW5zZm9ybT10LHRoaXMuZ3JpZD1lLHRoaXMuaWdub3JlZEdyaWQ9cix0aGlzLnBpdGNoZmFjdG9yPU1hdGguY29zKHQuX3BpdGNoKSp0LmNhbWVyYVRvQ2VudGVyRGlzdGFuY2UsdGhpcy5zY3JlZW5SaWdodEJvdW5kYXJ5PXQud2lkdGgrMTAwLHRoaXMuc2NyZWVuQm90dG9tQm91bmRhcnk9dC5oZWlnaHQrMTAwLHRoaXMuZ3JpZFJpZ2h0Qm91bmRhcnk9dC53aWR0aCsyMDAsdGhpcy5ncmlkQm90dG9tQm91bmRhcnk9dC5oZWlnaHQrMjAwfTtmdW5jdGlvbiBsZSh0LGUscil7dFtlKzRdPXI/MTowfWZ1bmN0aW9uIGNlKGUscixuKXtyZXR1cm4gcioodC5FWFRFTlQvKGUudGlsZVNpemUqTWF0aC5wb3coMixuLWUudGlsZUlELm92ZXJzY2FsZWRaKSkpfXNlLnByb3RvdHlwZS5wbGFjZUNvbGxpc2lvbkJveD1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPXRoaXMucHJvamVjdEFuZEdldFBlcnNwZWN0aXZlUmF0aW8obix0LmFuY2hvclBvaW50WCx0LmFuY2hvclBvaW50WSksbz1yKmkucGVyc3BlY3RpdmVSYXRpbyxzPXQueDEqbytpLnBvaW50LngsbD10LnkxKm8raS5wb2ludC55LGM9dC54MipvK2kucG9pbnQueCx1PXQueTIqbytpLnBvaW50Lnk7cmV0dXJuIXRoaXMuaXNJbnNpZGVHcmlkKHMsbCxjLHUpfHwhZSYmdGhpcy5ncmlkLmhpdFRlc3QocyxsLGMsdSxhKT97Ym94OltdLG9mZnNjcmVlbjohMX06e2JveDpbcyxsLGMsdV0sb2Zmc2NyZWVuOnRoaXMuaXNPZmZzY3JlZW4ocyxsLGMsdSl9fSxzZS5wcm90b3R5cGUuYXBwcm94aW1hdGVUaWxlRGlzdGFuY2U9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT1hPzE6bi90aGlzLnBpdGNoZmFjdG9yLG89dC5sYXN0U2VnbWVudFZpZXdwb3J0RGlzdGFuY2UqcjtyZXR1cm4gdC5wcmV2VGlsZURpc3RhbmNlK28rKGktMSkqbypNYXRoLmFicyhNYXRoLnNpbihlKSl9LHNlLnByb3RvdHlwZS5wbGFjZUNvbGxpc2lvbkNpcmNsZXM9ZnVuY3Rpb24oZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCl7dmFyIGQ9W10sZz10aGlzLnByb2plY3RBbmNob3IoYyxpLmFuY2hvclgsaS5hbmNob3JZKSx2PWwvMjQsbT1pLmxpbmVPZmZzZXRYKmwseT1pLmxpbmVPZmZzZXRZKmwseD1uZXcgdC5Qb2ludChpLmFuY2hvclgsaS5hbmNob3JZKSxiPSR0KHYscyxtLHksITEsSnQoeCx1KS5wb2ludCx4LGksbyx1LHt9LCEwKSxfPSExLHc9ITEsaz0hMCxUPWcucGVyc3BlY3RpdmVSYXRpbyphLE09MS8oYSpuKSxBPTAsUz0wO2ImJihBPXRoaXMuYXBwcm94aW1hdGVUaWxlRGlzdGFuY2UoYi5maXJzdC50aWxlRGlzdGFuY2UsYi5maXJzdC5hbmdsZSxNLGcuY2FtZXJhRGlzdGFuY2UsZiksUz10aGlzLmFwcHJveGltYXRlVGlsZURpc3RhbmNlKGIubGFzdC50aWxlRGlzdGFuY2UsYi5sYXN0LmFuZ2xlLE0sZy5jYW1lcmFEaXN0YW5jZSxmKSk7Zm9yKHZhciBFPTA7RTxlLmxlbmd0aDtFKz01KXt2YXIgTD1lW0VdLEM9ZVtFKzFdLFA9ZVtFKzJdLE89ZVtFKzNdO2lmKCFifHxPPC1BfHxPPlMpbGUoZSxFLCExKTtlbHNle3ZhciB6PXRoaXMucHJvamVjdFBvaW50KGMsTCxDKSxJPVAqVDtpZihkLmxlbmd0aD4wKXt2YXIgRD16LngtZFtkLmxlbmd0aC00XSxSPXoueS1kW2QubGVuZ3RoLTNdO2lmKEkqSSoyPkQqRCtSKlImJkUrODxlLmxlbmd0aCl7dmFyIEY9ZVtFKzhdO2lmKEY+LUEmJkY8Uyl7bGUoZSxFLCExKTtjb250aW51ZX19fXZhciBCPUUvNTtkLnB1c2goei54LHoueSxJLEIpLGxlKGUsRSwhMCk7dmFyIE49ei54LUksaj16LnktSSxWPXoueCtJLFU9ei55K0k7aWYoaz1rJiZ0aGlzLmlzT2Zmc2NyZWVuKE4saixWLFUpLHc9d3x8dGhpcy5pc0luc2lkZUdyaWQoTixqLFYsVSksIXImJnRoaXMuZ3JpZC5oaXRUZXN0Q2lyY2xlKHoueCx6LnksSSxwKSl7aWYoIWgpcmV0dXJue2NpcmNsZXM6W10sb2Zmc2NyZWVuOiExfTtfPSEwfX19cmV0dXJue2NpcmNsZXM6X3x8IXc/W106ZCxvZmZzY3JlZW46a319LHNlLnByb3RvdHlwZS5xdWVyeVJlbmRlcmVkU3ltYm9scz1mdW5jdGlvbihlKXtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmdyaWQua2V5c0xlbmd0aCgpJiYwPT09dGhpcy5pZ25vcmVkR3JpZC5rZXlzTGVuZ3RoKCkpcmV0dXJue307Zm9yKHZhciByPVtdLG49MS8wLGE9MS8wLGk9LTEvMCxvPS0xLzAscz0wLGw9ZTtzPGwubGVuZ3RoO3MrPTEpe3ZhciBjPWxbc10sdT1uZXcgdC5Qb2ludChjLngrMTAwLGMueSsxMDApO249TWF0aC5taW4obix1LngpLGE9TWF0aC5taW4oYSx1LnkpLGk9TWF0aC5tYXgoaSx1LngpLG89TWF0aC5tYXgobyx1LnkpLHIucHVzaCh1KX1mb3IodmFyIGg9e30sZj17fSxwPTAsZD10aGlzLmdyaWQucXVlcnkobixhLGksbykuY29uY2F0KHRoaXMuaWdub3JlZEdyaWQucXVlcnkobixhLGksbykpO3A8ZC5sZW5ndGg7cCs9MSl7dmFyIGc9ZFtwXSx2PWcua2V5O2lmKHZvaWQgMD09PWhbdi5idWNrZXRJbnN0YW5jZUlkXSYmKGhbdi5idWNrZXRJbnN0YW5jZUlkXT17fSksIWhbdi5idWNrZXRJbnN0YW5jZUlkXVt2LmZlYXR1cmVJbmRleF0pe3ZhciBtPVtuZXcgdC5Qb2ludChnLngxLGcueTEpLG5ldyB0LlBvaW50KGcueDIsZy55MSksbmV3IHQuUG9pbnQoZy54MixnLnkyKSxuZXcgdC5Qb2ludChnLngxLGcueTIpXTt0LnBvbHlnb25JbnRlcnNlY3RzUG9seWdvbihyLG0pJiYoaFt2LmJ1Y2tldEluc3RhbmNlSWRdW3YuZmVhdHVyZUluZGV4XT0hMCx2b2lkIDA9PT1mW3YuYnVja2V0SW5zdGFuY2VJZF0mJihmW3YuYnVja2V0SW5zdGFuY2VJZF09W10pLGZbdi5idWNrZXRJbnN0YW5jZUlkXS5wdXNoKHYuZmVhdHVyZUluZGV4KSl9fXJldHVybiBmfSxzZS5wcm90b3R5cGUuaW5zZXJ0Q29sbGlzaW9uQm94PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9e2J1Y2tldEluc3RhbmNlSWQ6cixmZWF0dXJlSW5kZXg6bixjb2xsaXNpb25Hcm91cElEOmF9OyhlP3RoaXMuaWdub3JlZEdyaWQ6dGhpcy5ncmlkKS5pbnNlcnQoaSx0WzBdLHRbMV0sdFsyXSx0WzNdKX0sc2UucHJvdG90eXBlLmluc2VydENvbGxpc2lvbkNpcmNsZXM9ZnVuY3Rpb24odCxlLHIsbixhKXtmb3IodmFyIGk9ZT90aGlzLmlnbm9yZWRHcmlkOnRoaXMuZ3JpZCxvPXtidWNrZXRJbnN0YW5jZUlkOnIsZmVhdHVyZUluZGV4Om4sY29sbGlzaW9uR3JvdXBJRDphfSxzPTA7czx0Lmxlbmd0aDtzKz00KWkuaW5zZXJ0Q2lyY2xlKG8sdFtzXSx0W3MrMV0sdFtzKzJdKX0sc2UucHJvdG90eXBlLnByb2plY3RBbmNob3I9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVtlLHIsMCwxXTtyZXR1cm4gb2UobixuLHQpLHtwZXJzcGVjdGl2ZVJhdGlvOi41K3RoaXMudHJhbnNmb3JtLmNhbWVyYVRvQ2VudGVyRGlzdGFuY2UvblszXSouNSxjYW1lcmFEaXN0YW5jZTpuWzNdfX0sc2UucHJvdG90eXBlLnByb2plY3RQb2ludD1mdW5jdGlvbihlLHIsbil7dmFyIGE9W3IsbiwwLDFdO3JldHVybiBvZShhLGEsZSksbmV3IHQuUG9pbnQoKGFbMF0vYVszXSsxKS8yKnRoaXMudHJhbnNmb3JtLndpZHRoKzEwMCwoLWFbMV0vYVszXSsxKS8yKnRoaXMudHJhbnNmb3JtLmhlaWdodCsxMDApfSxzZS5wcm90b3R5cGUucHJvamVjdEFuZEdldFBlcnNwZWN0aXZlUmF0aW89ZnVuY3Rpb24oZSxyLG4pe3ZhciBhPVtyLG4sMCwxXTtyZXR1cm4gb2UoYSxhLGUpLHtwb2ludDpuZXcgdC5Qb2ludCgoYVswXS9hWzNdKzEpLzIqdGhpcy50cmFuc2Zvcm0ud2lkdGgrMTAwLCgtYVsxXS9hWzNdKzEpLzIqdGhpcy50cmFuc2Zvcm0uaGVpZ2h0KzEwMCkscGVyc3BlY3RpdmVSYXRpbzouNSt0aGlzLnRyYW5zZm9ybS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlL2FbM10qLjV9fSxzZS5wcm90b3R5cGUuaXNPZmZzY3JlZW49ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHI8MTAwfHx0Pj10aGlzLnNjcmVlblJpZ2h0Qm91bmRhcnl8fG48MTAwfHxlPnRoaXMuc2NyZWVuQm90dG9tQm91bmRhcnl9LHNlLnByb3RvdHlwZS5pc0luc2lkZUdyaWQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHI+PTAmJnQ8dGhpcy5ncmlkUmlnaHRCb3VuZGFyeSYmbj49MCYmZTx0aGlzLmdyaWRCb3R0b21Cb3VuZGFyeX07dmFyIHVlPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMub3BhY2l0eT10P01hdGgubWF4KDAsTWF0aC5taW4oMSx0Lm9wYWNpdHkrKHQucGxhY2VkP2U6LWUpKSk6biYmcj8xOjAsdGhpcy5wbGFjZWQ9cn07dWUucHJvdG90eXBlLmlzSGlkZGVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLm9wYWNpdHkmJiF0aGlzLnBsYWNlZH07dmFyIGhlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy50ZXh0PW5ldyB1ZSh0P3QudGV4dDpudWxsLGUscixhKSx0aGlzLmljb249bmV3IHVlKHQ/dC5pY29uOm51bGwsZSxuLGEpfTtoZS5wcm90b3R5cGUuaXNIaWRkZW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0LmlzSGlkZGVuKCkmJnRoaXMuaWNvbi5pc0hpZGRlbigpfTt2YXIgZmU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudGV4dD10LHRoaXMuaWNvbj1lLHRoaXMuc2tpcEZhZGU9cn0scGU9ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLmJ1Y2tldEluc3RhbmNlSWQ9dCx0aGlzLmZlYXR1cmVJbmRleD1lLHRoaXMuc291cmNlTGF5ZXJJbmRleD1yLHRoaXMuYnVja2V0SW5kZXg9bix0aGlzLnRpbGVJRD1hfSxkZT1mdW5jdGlvbih0KXt0aGlzLmNyb3NzU291cmNlQ29sbGlzaW9ucz10LHRoaXMubWF4R3JvdXBJRD0wLHRoaXMuY29sbGlzaW9uR3JvdXBzPXt9fTtmdW5jdGlvbiBnZShlLHIsbixhLGkpe3ZhciBvPXQuZ2V0QW5jaG9yQWxpZ25tZW50KGUpLHM9LShvLmhvcml6b250YWxBbGlnbi0uNSkqcixsPS0oby52ZXJ0aWNhbEFsaWduLS41KSpuLGM9dC5ldmFsdWF0ZVJhZGlhbE9mZnNldChlLGEpO3JldHVybiBuZXcgdC5Qb2ludChzK2NbMF0qaSxsK2NbMV0qaSl9ZGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtpZih0aGlzLmNyb3NzU291cmNlQ29sbGlzaW9ucylyZXR1cm57SUQ6MCxwcmVkaWNhdGU6bnVsbH07aWYoIXRoaXMuY29sbGlzaW9uR3JvdXBzW3RdKXt2YXIgZT0rK3RoaXMubWF4R3JvdXBJRDt0aGlzLmNvbGxpc2lvbkdyb3Vwc1t0XT17SUQ6ZSxwcmVkaWNhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29sbGlzaW9uR3JvdXBJRD09PWV9fX1yZXR1cm4gdGhpcy5jb2xsaXNpb25Hcm91cHNbdF19O3ZhciB2ZT1mdW5jdGlvbih0LGUscixuKXt0aGlzLnRyYW5zZm9ybT10LmNsb25lKCksdGhpcy5jb2xsaXNpb25JbmRleD1uZXcgc2UodGhpcy50cmFuc2Zvcm0pLHRoaXMucGxhY2VtZW50cz17fSx0aGlzLm9wYWNpdGllcz17fSx0aGlzLnZhcmlhYmxlT2Zmc2V0cz17fSx0aGlzLnN0YWxlPSExLHRoaXMuY29tbWl0VGltZT0wLHRoaXMuZmFkZUR1cmF0aW9uPWUsdGhpcy5yZXRhaW5lZFF1ZXJ5RGF0YT17fSx0aGlzLmNvbGxpc2lvbkdyb3Vwcz1uZXcgZGUociksdGhpcy5wcmV2UGxhY2VtZW50PW4sbiYmKG4ucHJldlBsYWNlbWVudD12b2lkIDApLHRoaXMucGxhY2VkT3JpZW50YXRpb25zPXt9fTtmdW5jdGlvbiBtZSh0LGUscixuLGEpe3QuZW1wbGFjZUJhY2soZT8xOjAscj8xOjAsbnx8MCxhfHwwKSx0LmVtcGxhY2VCYWNrKGU/MTowLHI/MTowLG58fDAsYXx8MCksdC5lbXBsYWNlQmFjayhlPzE6MCxyPzE6MCxufHwwLGF8fDApLHQuZW1wbGFjZUJhY2soZT8xOjAscj8xOjAsbnx8MCxhfHwwKX12ZS5wcm90b3R5cGUucGxhY2VMYXllclRpbGU9ZnVuY3Rpb24oZSxyLG4sYSl7dmFyIGk9ci5nZXRCdWNrZXQoZSksbz1yLmxhdGVzdEZlYXR1cmVJbmRleDtpZihpJiZvJiZlLmlkPT09aS5sYXllcklkc1swXSl7dmFyIHM9ci5jb2xsaXNpb25Cb3hBcnJheSxsPWkubGF5ZXJzWzBdLmxheW91dCxjPU1hdGgucG93KDIsdGhpcy50cmFuc2Zvcm0uem9vbS1yLnRpbGVJRC5vdmVyc2NhbGVkWiksdT1yLnRpbGVTaXplL3QuRVhURU5ULGg9dGhpcy50cmFuc2Zvcm0uY2FsY3VsYXRlUG9zTWF0cml4KHIudGlsZUlELnRvVW53cmFwcGVkKCkpLGY9WHQoaCwibWFwIj09PWwuZ2V0KCJ0ZXh0LXBpdGNoLWFsaWdubWVudCIpLCJtYXAiPT09bC5nZXQoInRleHQtcm90YXRpb24tYWxpZ25tZW50IiksdGhpcy50cmFuc2Zvcm0sY2UociwxLHRoaXMudHJhbnNmb3JtLnpvb20pKSxwPVh0KGgsIm1hcCI9PT1sLmdldCgiaWNvbi1waXRjaC1hbGlnbm1lbnQiKSwibWFwIj09PWwuZ2V0KCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCIpLHRoaXMudHJhbnNmb3JtLGNlKHIsMSx0aGlzLnRyYW5zZm9ybS56b29tKSk7dGhpcy5yZXRhaW5lZFF1ZXJ5RGF0YVtpLmJ1Y2tldEluc3RhbmNlSWRdPW5ldyBwZShpLmJ1Y2tldEluc3RhbmNlSWQsbyxpLnNvdXJjZUxheWVySW5kZXgsaS5pbmRleCxyLnRpbGVJRCksdGhpcy5wbGFjZUxheWVyQnVja2V0KGksaCxmLHAsYyx1LG4sci5ob2xkaW5nRm9yRmFkZSgpLGEscyl9fSx2ZS5wcm90b3R5cGUuYXR0ZW1wdEFuY2hvclBsYWNlbWVudD1mdW5jdGlvbihlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwLGQsZyl7dmFyIHYsbT1nZShlLG4sYSxpLG8pLHk9dGhpcy5jb2xsaXNpb25JbmRleC5wbGFjZUNvbGxpc2lvbkJveChmdW5jdGlvbihlLHIsbixhLGksbyl7dmFyIHM9ZS54MSxsPWUueDIsYz1lLnkxLHU9ZS55MixoPWUuYW5jaG9yUG9pbnRYLGY9ZS5hbmNob3JQb2ludFkscD1uZXcgdC5Qb2ludChyLG4pO3JldHVybiBhJiZwLl9yb3RhdGUoaT9vOi1vKSx7eDE6cytwLngseTE6YytwLnkseDI6bCtwLngseTI6dStwLnksYW5jaG9yUG9pbnRYOmgsYW5jaG9yUG9pbnRZOmZ9fShyLG0ueCxtLnkscyxsLHRoaXMudHJhbnNmb3JtLmFuZ2xlKSxmLGMsdSxoLnByZWRpY2F0ZSk7aWYoeS5ib3gubGVuZ3RoPjApcmV0dXJuIHRoaXMucHJldlBsYWNlbWVudCYmdGhpcy5wcmV2UGxhY2VtZW50LnZhcmlhYmxlT2Zmc2V0c1twLmNyb3NzVGlsZUlEXSYmdGhpcy5wcmV2UGxhY2VtZW50LnBsYWNlbWVudHNbcC5jcm9zc1RpbGVJRF0mJnRoaXMucHJldlBsYWNlbWVudC5wbGFjZW1lbnRzW3AuY3Jvc3NUaWxlSURdLnRleHQmJih2PXRoaXMucHJldlBsYWNlbWVudC52YXJpYWJsZU9mZnNldHNbcC5jcm9zc1RpbGVJRF0uYW5jaG9yKSx0aGlzLnZhcmlhYmxlT2Zmc2V0c1twLmNyb3NzVGlsZUlEXT17cmFkaWFsT2Zmc2V0Omksd2lkdGg6bixoZWlnaHQ6YSxhbmNob3I6ZSx0ZXh0Qm94U2NhbGU6byxwcmV2QW5jaG9yOnZ9LHRoaXMubWFya1VzZWRKdXN0aWZpY2F0aW9uKGQsZSxwLGcpLGQuYWxsb3dWZXJ0aWNhbFBsYWNlbWVudCYmKHRoaXMubWFya1VzZWRPcmllbnRhdGlvbihkLGcscCksdGhpcy5wbGFjZWRPcmllbnRhdGlvbnNbcC5jcm9zc1RpbGVJRF09ZykseX0sdmUucHJvdG90eXBlLnBsYWNlTGF5ZXJCdWNrZXQ9ZnVuY3Rpb24oZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGg9dGhpcyxmPWUubGF5ZXJzWzBdLmxheW91dCxwPXQuZXZhbHVhdGVTaXplRm9yWm9vbShlLnRleHRTaXplRGF0YSx0aGlzLnRyYW5zZm9ybS56b29tKSxkPWYuZ2V0KCJ0ZXh0LW9wdGlvbmFsIiksZz1mLmdldCgiaWNvbi1vcHRpb25hbCIpLHY9Zi5nZXQoInRleHQtYWxsb3ctb3ZlcmxhcCIpLG09Zi5nZXQoImljb24tYWxsb3ctb3ZlcmxhcCIpLHk9diYmKG18fCFlLmhhc0ljb25EYXRhKCl8fGcpLHg9bSYmKHZ8fCFlLmhhc1RleHREYXRhKCl8fGQpLGI9dGhpcy5jb2xsaXNpb25Hcm91cHMuZ2V0KGUuc291cmNlSUQpLF89Im1hcCI9PT1mLmdldCgidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiKSx3PSJtYXAiPT09Zi5nZXQoInRleHQtcGl0Y2gtYWxpZ25tZW50Iiksaz0idmlld3BvcnQteSI9PT1mLmdldCgic3ltYm9sLXotb3JkZXIiKTshZS5jb2xsaXNpb25BcnJheXMmJnUmJmUuZGVzZXJpYWxpemVDb2xsaXNpb25Cb3hlcyh1KTt2YXIgVD1mdW5jdGlvbihhLHUpe2lmKCFjW2EuY3Jvc3NUaWxlSURdKWlmKGwpaC5wbGFjZW1lbnRzW2EuY3Jvc3NUaWxlSURdPW5ldyBmZSghMSwhMSwhMSk7ZWxzZXt2YXIgbSxrPSExLFQ9ITEsTT0hMCxBPXtib3g6bnVsbCxvZmZzY3JlZW46bnVsbH0sUz17Ym94Om51bGwsb2Zmc2NyZWVuOm51bGx9LEU9bnVsbCxMPW51bGwsQz0wLFA9MCxPPTA7dS50ZXh0RmVhdHVyZUluZGV4JiYoQz11LnRleHRGZWF0dXJlSW5kZXgpLHUudmVydGljYWxUZXh0RmVhdHVyZUluZGV4JiYoUD11LnZlcnRpY2FsVGV4dEZlYXR1cmVJbmRleCk7dmFyIHo9dS50ZXh0Qm94O2lmKHope3ZhciBJPWZ1bmN0aW9uKHIpe3ZhciBuPXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbDtpZihlLmFsbG93VmVydGljYWxQbGFjZW1lbnQmJiFyJiZoLnByZXZQbGFjZW1lbnQpe3ZhciBpPWgucHJldlBsYWNlbWVudC5wbGFjZWRPcmllbnRhdGlvbnNbYS5jcm9zc1RpbGVJRF07aSYmKGgucGxhY2VkT3JpZW50YXRpb25zW2EuY3Jvc3NUaWxlSURdPWksbj1pLGgubWFya1VzZWRPcmllbnRhdGlvbihlLG4sYSkpfXJldHVybiBufSxEPWZ1bmN0aW9uKHIsbil7aWYoZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZhLm51bVZlcnRpY2FsR2x5cGhWZXJ0aWNlcz4wJiZ1LnZlcnRpY2FsVGV4dEJveClmb3IodmFyIGk9MCxvPWUud3JpdGluZ01vZGVzO2k8by5sZW5ndGgmJihvW2ldPT09dC5Xcml0aW5nTW9kZS52ZXJ0aWNhbD8oQT1uKCksUz1BKTpBPXIoKSwhKEEmJkEuYm94JiZBLmJveC5sZW5ndGgpKTtpKz0xKTtlbHNlIEE9cigpfTtpZihmLmdldCgidGV4dC12YXJpYWJsZS1hbmNob3IiKSl7dmFyIFI9Zi5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIik7aWYoaC5wcmV2UGxhY2VtZW50JiZoLnByZXZQbGFjZW1lbnQudmFyaWFibGVPZmZzZXRzW2EuY3Jvc3NUaWxlSURdKXt2YXIgRj1oLnByZXZQbGFjZW1lbnQudmFyaWFibGVPZmZzZXRzW2EuY3Jvc3NUaWxlSURdO1IuaW5kZXhPZihGLmFuY2hvcik+MCYmKFI9Ui5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQhPT1GLmFuY2hvcn0pKS51bnNoaWZ0KEYuYW5jaG9yKX12YXIgQj1mdW5jdGlvbih0LG4pe2Zvcih2YXIgaT10LngyLXQueDEscz10LnkyLXQueTEsbD1hLnRleHRCb3hTY2FsZSxjPXtib3g6W10sb2Zmc2NyZWVuOiExfSx1PXY/MipSLmxlbmd0aDpSLmxlbmd0aCxmPTA7Zjx1OysrZil7dmFyIHA9UltmJVIubGVuZ3RoXSxkPWY+PVIubGVuZ3RoO2lmKChjPWguYXR0ZW1wdEFuY2hvclBsYWNlbWVudChwLHQsaSxzLGEucmFkaWFsVGV4dE9mZnNldCxsLF8sdyxvLHIsYixkLGEsZSxuKSkmJmMuYm94JiZjLmJveC5sZW5ndGgpe2s9ITA7YnJlYWt9fXJldHVybiBjfTtEKGZ1bmN0aW9uKCl7cmV0dXJuIEIoeix0LldyaXRpbmdNb2RlLmhvcml6b250YWwpfSxmdW5jdGlvbigpe3ZhciByPXUudmVydGljYWxUZXh0Qm94LG49QSYmQS5ib3gmJkEuYm94Lmxlbmd0aDtyZXR1cm4gZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiYhbiYmYS5udW1WZXJ0aWNhbEdseXBoVmVydGljZXM+MCYmcj9CKHIsdC5Xcml0aW5nTW9kZS52ZXJ0aWNhbCk6e2JveDpudWxsLG9mZnNjcmVlbjpudWxsfX0pLEEmJihrPUEuYm94LE09QS5vZmZzY3JlZW4pO3ZhciBOPUkoQSYmQS5ib3gpO2lmKCFrJiZoLnByZXZQbGFjZW1lbnQpe3ZhciBqPWgucHJldlBsYWNlbWVudC52YXJpYWJsZU9mZnNldHNbYS5jcm9zc1RpbGVJRF07aiYmKGgudmFyaWFibGVPZmZzZXRzW2EuY3Jvc3NUaWxlSURdPWosaC5tYXJrVXNlZEp1c3RpZmljYXRpb24oZSxqLmFuY2hvcixhLE4pKX19ZWxzZXt2YXIgVj1mdW5jdGlvbih0LG4pe3ZhciBpPWguY29sbGlzaW9uSW5kZXgucGxhY2VDb2xsaXNpb25Cb3godCxmLmdldCgidGV4dC1hbGxvdy1vdmVybGFwIiksbyxyLGIucHJlZGljYXRlKTtyZXR1cm4gaSYmaS5ib3gmJmkuYm94Lmxlbmd0aCYmKGgubWFya1VzZWRPcmllbnRhdGlvbihlLG4sYSksaC5wbGFjZWRPcmllbnRhdGlvbnNbYS5jcm9zc1RpbGVJRF09biksaX07RChmdW5jdGlvbigpe3JldHVybiBWKHosdC5Xcml0aW5nTW9kZS5ob3Jpem9udGFsKX0sZnVuY3Rpb24oKXt2YXIgcj11LnZlcnRpY2FsVGV4dEJveDtyZXR1cm4gZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZhLm51bVZlcnRpY2FsR2x5cGhWZXJ0aWNlcz4wJiZyP1Yocix0LldyaXRpbmdNb2RlLnZlcnRpY2FsKTp7Ym94Om51bGwsb2Zmc2NyZWVuOm51bGx9fSksSShBJiZBLmJveCYmQS5ib3gubGVuZ3RoKX19az0obT1BKSYmbS5ib3gmJm0uYm94Lmxlbmd0aD4wLE09bSYmbS5vZmZzY3JlZW47dmFyIFU9dS50ZXh0Q2lyY2xlcztpZihVKXt2YXIgcT1lLnRleHQucGxhY2VkU3ltYm9sQXJyYXkuZ2V0KGEuY2VudGVySnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4KSxIPXQuZXZhbHVhdGVTaXplRm9yRmVhdHVyZShlLnRleHRTaXplRGF0YSxwLHEpO0U9aC5jb2xsaXNpb25JbmRleC5wbGFjZUNvbGxpc2lvbkNpcmNsZXMoVSxmLmdldCgidGV4dC1hbGxvdy1vdmVybGFwIiksaSxvLHEsZS5saW5lVmVydGV4QXJyYXksZS5nbHlwaE9mZnNldEFycmF5LEgscixuLHMsdyxiLnByZWRpY2F0ZSksaz1mLmdldCgidGV4dC1hbGxvdy1vdmVybGFwIil8fEUuY2lyY2xlcy5sZW5ndGg+MCxNPU0mJkUub2Zmc2NyZWVufXUuaWNvbkZlYXR1cmVJbmRleCYmKE89dS5pY29uRmVhdHVyZUluZGV4KSx1Lmljb25Cb3gmJihUPShMPWguY29sbGlzaW9uSW5kZXgucGxhY2VDb2xsaXNpb25Cb3godS5pY29uQm94LGYuZ2V0KCJpY29uLWFsbG93LW92ZXJsYXAiKSxvLHIsYi5wcmVkaWNhdGUpKS5ib3gubGVuZ3RoPjAsTT1NJiZMLm9mZnNjcmVlbik7dmFyIEc9ZHx8MD09PWEubnVtSG9yaXpvbnRhbEdseXBoVmVydGljZXMmJjA9PT1hLm51bVZlcnRpY2FsR2x5cGhWZXJ0aWNlcyxZPWd8fDA9PT1hLm51bUljb25WZXJ0aWNlcztHfHxZP1k/R3x8KFQ9VCYmayk6az1UJiZrOlQ9az1UJiZrLGsmJm0mJm0uYm94JiYoUyYmUy5ib3gmJlA/aC5jb2xsaXNpb25JbmRleC5pbnNlcnRDb2xsaXNpb25Cb3gobS5ib3gsZi5nZXQoInRleHQtaWdub3JlLXBsYWNlbWVudCIpLGUuYnVja2V0SW5zdGFuY2VJZCxQLGIuSUQpOmguY29sbGlzaW9uSW5kZXguaW5zZXJ0Q29sbGlzaW9uQm94KG0uYm94LGYuZ2V0KCJ0ZXh0LWlnbm9yZS1wbGFjZW1lbnQiKSxlLmJ1Y2tldEluc3RhbmNlSWQsQyxiLklEKSksVCYmTCYmaC5jb2xsaXNpb25JbmRleC5pbnNlcnRDb2xsaXNpb25Cb3goTC5ib3gsZi5nZXQoImljb24taWdub3JlLXBsYWNlbWVudCIpLGUuYnVja2V0SW5zdGFuY2VJZCxPLGIuSUQpLGsmJkUmJmguY29sbGlzaW9uSW5kZXguaW5zZXJ0Q29sbGlzaW9uQ2lyY2xlcyhFLmNpcmNsZXMsZi5nZXQoInRleHQtaWdub3JlLXBsYWNlbWVudCIpLGUuYnVja2V0SW5zdGFuY2VJZCxDLGIuSUQpLGgucGxhY2VtZW50c1thLmNyb3NzVGlsZUlEXT1uZXcgZmUoa3x8eSxUfHx4LE18fGUuanVzdFJlbG9hZGVkKSxjW2EuY3Jvc3NUaWxlSURdPSEwfX07aWYoaylmb3IodmFyIE09ZS5nZXRTb3J0ZWRTeW1ib2xJbmRleGVzKHRoaXMudHJhbnNmb3JtLmFuZ2xlKSxBPU0ubGVuZ3RoLTE7QT49MDstLUEpe3ZhciBTPU1bQV07VChlLnN5bWJvbEluc3RhbmNlcy5nZXQoUyksZS5jb2xsaXNpb25BcnJheXNbU10pfWVsc2UgZm9yKHZhciBFPTA7RTxlLnN5bWJvbEluc3RhbmNlcy5sZW5ndGg7KytFKVQoZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KEUpLGUuY29sbGlzaW9uQXJyYXlzW0VdKTtlLmp1c3RSZWxvYWRlZD0hMX0sdmUucHJvdG90eXBlLm1hcmtVc2VkSnVzdGlmaWNhdGlvbj1mdW5jdGlvbihlLHIsbixhKXt2YXIgaSxvPXtsZWZ0Om4ubGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleCxjZW50ZXI6bi5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgscmlnaHQ6bi5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleH07aT1hPT09dC5Xcml0aW5nTW9kZS52ZXJ0aWNhbD9uLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4Om9bdC5nZXRBbmNob3JKdXN0aWZpY2F0aW9uKHIpXTtmb3IodmFyIHM9MCxsPVtuLmxlZnRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleCxuLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4XTtzPGwubGVuZ3RoO3MrPTEpe3ZhciBjPWxbc107Yz49MCYmKGUudGV4dC5wbGFjZWRTeW1ib2xBcnJheS5nZXQoYykuY3Jvc3NUaWxlSUQ9aT49MCYmYyE9PWk/MDpuLmNyb3NzVGlsZUlEKX19LHZlLnByb3RvdHlwZS5tYXJrVXNlZE9yaWVudGF0aW9uPWZ1bmN0aW9uKGUscixuKXtmb3IodmFyIGE9cj09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbHx8cj09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbE9ubHk/cjowLGk9cj09PXQuV3JpdGluZ01vZGUudmVydGljYWw/cjowLG89MCxzPVtuLmxlZnRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleF07bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1zW29dO2UudGV4dC5wbGFjZWRTeW1ib2xBcnJheS5nZXQobCkucGxhY2VkT3JpZW50YXRpb249YX1uLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4JiYoZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LmdldChuLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4KS5wbGFjZWRPcmllbnRhdGlvbj1pKX0sdmUucHJvdG90eXBlLmNvbW1pdD1mdW5jdGlvbih0KXt0aGlzLmNvbW1pdFRpbWU9dDt2YXIgZT10aGlzLnByZXZQbGFjZW1lbnQscj0hMSxuPWUmJjAhPT10aGlzLmZhZGVEdXJhdGlvbj8odGhpcy5jb21taXRUaW1lLWUuY29tbWl0VGltZSkvdGhpcy5mYWRlRHVyYXRpb246MSxhPWU/ZS5vcGFjaXRpZXM6e30saT1lP2UudmFyaWFibGVPZmZzZXRzOnt9LG89ZT9lLnBsYWNlZE9yaWVudGF0aW9uczp7fTtmb3IodmFyIHMgaW4gdGhpcy5wbGFjZW1lbnRzKXt2YXIgbD10aGlzLnBsYWNlbWVudHNbc10sYz1hW3NdO2M/KHRoaXMub3BhY2l0aWVzW3NdPW5ldyBoZShjLG4sbC50ZXh0LGwuaWNvbikscj1yfHxsLnRleHQhPT1jLnRleHQucGxhY2VkfHxsLmljb24hPT1jLmljb24ucGxhY2VkKToodGhpcy5vcGFjaXRpZXNbc109bmV3IGhlKG51bGwsbixsLnRleHQsbC5pY29uLGwuc2tpcEZhZGUpLHI9cnx8bC50ZXh0fHxsLmljb24pfWZvcih2YXIgdSBpbiBhKXt2YXIgaD1hW3VdO2lmKCF0aGlzLm9wYWNpdGllc1t1XSl7dmFyIGY9bmV3IGhlKGgsbiwhMSwhMSk7Zi5pc0hpZGRlbigpfHwodGhpcy5vcGFjaXRpZXNbdV09ZixyPXJ8fGgudGV4dC5wbGFjZWR8fGguaWNvbi5wbGFjZWQpfX1mb3IodmFyIHAgaW4gaSl0aGlzLnZhcmlhYmxlT2Zmc2V0c1twXXx8IXRoaXMub3BhY2l0aWVzW3BdfHx0aGlzLm9wYWNpdGllc1twXS5pc0hpZGRlbigpfHwodGhpcy52YXJpYWJsZU9mZnNldHNbcF09aVtwXSk7Zm9yKHZhciBkIGluIG8pdGhpcy5wbGFjZWRPcmllbnRhdGlvbnNbZF18fCF0aGlzLm9wYWNpdGllc1tkXXx8dGhpcy5vcGFjaXRpZXNbZF0uaXNIaWRkZW4oKXx8KHRoaXMucGxhY2VkT3JpZW50YXRpb25zW2RdPW9bZF0pO3I/dGhpcy5sYXN0UGxhY2VtZW50Q2hhbmdlVGltZT10OiJudW1iZXIiIT10eXBlb2YgdGhpcy5sYXN0UGxhY2VtZW50Q2hhbmdlVGltZSYmKHRoaXMubGFzdFBsYWNlbWVudENoYW5nZVRpbWU9ZT9lLmxhc3RQbGFjZW1lbnRDaGFuZ2VUaW1lOnQpfSx2ZS5wcm90b3R5cGUudXBkYXRlTGF5ZXJPcGFjaXRpZXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9e30sbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl0sbz1pLmdldEJ1Y2tldCh0KTtvJiZpLmxhdGVzdEZlYXR1cmVJbmRleCYmdC5pZD09PW8ubGF5ZXJJZHNbMF0mJnRoaXMudXBkYXRlQnVja2V0T3BhY2l0aWVzKG8scixpLmNvbGxpc2lvbkJveEFycmF5KX19LHZlLnByb3RvdHlwZS51cGRhdGVCdWNrZXRPcGFjaXRpZXM9ZnVuY3Rpb24oZSxyLG4pe2UuaGFzVGV4dERhdGEoKSYmZS50ZXh0Lm9wYWNpdHlWZXJ0ZXhBcnJheS5jbGVhcigpLGUuaGFzSWNvbkRhdGEoKSYmZS5pY29uLm9wYWNpdHlWZXJ0ZXhBcnJheS5jbGVhcigpLGUuaGFzQ29sbGlzaW9uQm94RGF0YSgpJiZlLmNvbGxpc2lvbkJveC5jb2xsaXNpb25WZXJ0ZXhBcnJheS5jbGVhcigpLGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YSgpJiZlLmNvbGxpc2lvbkNpcmNsZS5jb2xsaXNpb25WZXJ0ZXhBcnJheS5jbGVhcigpO3ZhciBhPWUubGF5ZXJzWzBdLmxheW91dCxpPW5ldyBoZShudWxsLDAsITEsITEsITApLG89YS5nZXQoInRleHQtYWxsb3ctb3ZlcmxhcCIpLHM9YS5nZXQoImljb24tYWxsb3ctb3ZlcmxhcCIpLGw9YS5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIiksYz0ibWFwIj09PWEuZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpLHU9Im1hcCI9PT1hLmdldCgidGV4dC1waXRjaC1hbGlnbm1lbnQiKSxoPW5ldyBoZShudWxsLDAsbyYmKHN8fCFlLmhhc0ljb25EYXRhKCl8fGEuZ2V0KCJpY29uLW9wdGlvbmFsIikpLHMmJihvfHwhZS5oYXNUZXh0RGF0YSgpfHxhLmdldCgidGV4dC1vcHRpb25hbCIpKSwhMCk7IWUuY29sbGlzaW9uQXJyYXlzJiZuJiYoZS5oYXNDb2xsaXNpb25Cb3hEYXRhKCl8fGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YSgpKSYmZS5kZXNlcmlhbGl6ZUNvbGxpc2lvbkJveGVzKG4pO2Zvcih2YXIgZj0wO2Y8ZS5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoO2YrKyl7dmFyIHA9ZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KGYpLGQ9cC5udW1Ib3Jpem9udGFsR2x5cGhWZXJ0aWNlcyxnPXAubnVtVmVydGljYWxHbHlwaFZlcnRpY2VzLHY9cC5jcm9zc1RpbGVJRCxtPXJbdl0seT10aGlzLm9wYWNpdGllc1t2XTttP3k9aTp5fHwoeT1oLHRoaXMub3BhY2l0aWVzW3ZdPXkpLHJbdl09ITA7dmFyIHg9ZD4wfHxnPjAsYj1wLm51bUljb25WZXJ0aWNlcz4wO2lmKHgpe2Zvcih2YXIgXz1NZSh5LnRleHQpLHc9KGQrZykvNCxrPTA7azx3O2srKyllLnRleHQub3BhY2l0eVZlcnRleEFycmF5LmVtcGxhY2VCYWNrKF8pO3ZhciBUPXkudGV4dC5pc0hpZGRlbigpPzE6MCxNPXRoaXMucGxhY2VkT3JpZW50YXRpb25zW3AuY3Jvc3NUaWxlSURdLEE9TT09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbHx8TT09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbE9ubHk/MTowLFM9TT09PXQuV3JpdGluZ01vZGUudmVydGljYWw/MTowO1twLnJpZ2h0SnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4LHAuY2VudGVySnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4LHAubGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleF0uZm9yRWFjaChmdW5jdGlvbih0KXt0Pj0wJiYoZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LmdldCh0KS5oaWRkZW49VHx8Uyl9KSxwLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4Pj0wJiYoZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LmdldChwLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4KS5oaWRkZW49VHx8QSk7dmFyIEU9dGhpcy52YXJpYWJsZU9mZnNldHNbcC5jcm9zc1RpbGVJRF07RSYmdGhpcy5tYXJrVXNlZEp1c3RpZmljYXRpb24oZSxFLmFuY2hvcixwLE0pO3ZhciBMPXRoaXMucGxhY2VkT3JpZW50YXRpb25zW3AuY3Jvc3NUaWxlSURdO0wmJih0aGlzLm1hcmtVc2VkSnVzdGlmaWNhdGlvbihlLCJsZWZ0IixwLEwpLHRoaXMubWFya1VzZWRPcmllbnRhdGlvbihlLEwscCkpfWlmKGIpe2Zvcih2YXIgQz1NZSh5Lmljb24pLFA9MDtQPHAubnVtSWNvblZlcnRpY2VzLzQ7UCsrKWUuaWNvbi5vcGFjaXR5VmVydGV4QXJyYXkuZW1wbGFjZUJhY2soQyk7ZS5pY29uLnBsYWNlZFN5bWJvbEFycmF5LmdldChmKS5oaWRkZW49eS5pY29uLmlzSGlkZGVuKCl9aWYoZS5oYXNDb2xsaXNpb25Cb3hEYXRhKCl8fGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YSgpKXt2YXIgTz1lLmNvbGxpc2lvbkFycmF5c1tmXTtpZihPKXtpZihPLnRleHRCb3gpe3ZhciB6PW5ldyB0LlBvaW50KDAsMCksST0hMDtpZihsKXt2YXIgRD10aGlzLnZhcmlhYmxlT2Zmc2V0c1t2XTtEPyh6PWdlKEQuYW5jaG9yLEQud2lkdGgsRC5oZWlnaHQsRC5yYWRpYWxPZmZzZXQsRC50ZXh0Qm94U2NhbGUpLGMmJnouX3JvdGF0ZSh1P3RoaXMudHJhbnNmb3JtLmFuZ2xlOi10aGlzLnRyYW5zZm9ybS5hbmdsZSkpOkk9ITF9bWUoZS5jb2xsaXNpb25Cb3guY29sbGlzaW9uVmVydGV4QXJyYXkseS50ZXh0LnBsYWNlZCwhSSx6Lngsei55KX1PLmljb25Cb3gmJm1lKGUuY29sbGlzaW9uQm94LmNvbGxpc2lvblZlcnRleEFycmF5LHkuaWNvbi5wbGFjZWQsITEpO3ZhciBSPU8udGV4dENpcmNsZXM7aWYoUiYmZS5oYXNDb2xsaXNpb25DaXJjbGVEYXRhKCkpZm9yKHZhciBGPTA7RjxSLmxlbmd0aDtGKz01KXt2YXIgQj1tfHwwPT09UltGKzRdO21lKGUuY29sbGlzaW9uQ2lyY2xlLmNvbGxpc2lvblZlcnRleEFycmF5LHkudGV4dC5wbGFjZWQsQil9fX19ZS5zb3J0RmVhdHVyZXModGhpcy50cmFuc2Zvcm0uYW5nbGUpLHRoaXMucmV0YWluZWRRdWVyeURhdGFbZS5idWNrZXRJbnN0YW5jZUlkXSYmKHRoaXMucmV0YWluZWRRdWVyeURhdGFbZS5idWNrZXRJbnN0YW5jZUlkXS5mZWF0dXJlU29ydE9yZGVyPWUuZmVhdHVyZVNvcnRPcmRlciksZS5oYXNUZXh0RGF0YSgpJiZlLnRleHQub3BhY2l0eVZlcnRleEJ1ZmZlciYmZS50ZXh0Lm9wYWNpdHlWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShlLnRleHQub3BhY2l0eVZlcnRleEFycmF5KSxlLmhhc0ljb25EYXRhKCkmJmUuaWNvbi5vcGFjaXR5VmVydGV4QnVmZmVyJiZlLmljb24ub3BhY2l0eVZlcnRleEJ1ZmZlci51cGRhdGVEYXRhKGUuaWNvbi5vcGFjaXR5VmVydGV4QXJyYXkpLGUuaGFzQ29sbGlzaW9uQm94RGF0YSgpJiZlLmNvbGxpc2lvbkJveC5jb2xsaXNpb25WZXJ0ZXhCdWZmZXImJmUuY29sbGlzaW9uQm94LmNvbGxpc2lvblZlcnRleEJ1ZmZlci51cGRhdGVEYXRhKGUuY29sbGlzaW9uQm94LmNvbGxpc2lvblZlcnRleEFycmF5KSxlLmhhc0NvbGxpc2lvbkNpcmNsZURhdGEoKSYmZS5jb2xsaXNpb25DaXJjbGUuY29sbGlzaW9uVmVydGV4QnVmZmVyJiZlLmNvbGxpc2lvbkNpcmNsZS5jb2xsaXNpb25WZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShlLmNvbGxpc2lvbkNpcmNsZS5jb2xsaXNpb25WZXJ0ZXhBcnJheSl9LHZlLnByb3RvdHlwZS5zeW1ib2xGYWRlQ2hhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5mYWRlRHVyYXRpb24/MToodC10aGlzLmNvbW1pdFRpbWUpL3RoaXMuZmFkZUR1cmF0aW9ufSx2ZS5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3RhbGV8fHQtdGhpcy5sYXN0UGxhY2VtZW50Q2hhbmdlVGltZTx0aGlzLmZhZGVEdXJhdGlvbn0sdmUucHJvdG90eXBlLnN0aWxsUmVjZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1pdFRpbWUrdGhpcy5mYWRlRHVyYXRpb24+dH0sdmUucHJvdG90eXBlLnNldFN0YWxlPWZ1bmN0aW9uKCl7dGhpcy5zdGFsZT0hMH07dmFyIHllPU1hdGgucG93KDIsMjUpLHhlPU1hdGgucG93KDIsMjQpLGJlPU1hdGgucG93KDIsMTcpLF9lPU1hdGgucG93KDIsMTYpLHdlPU1hdGgucG93KDIsOSksa2U9TWF0aC5wb3coMiw4KSxUZT1NYXRoLnBvdygyLDEpO2Z1bmN0aW9uIE1lKHQpe2lmKDA9PT10Lm9wYWNpdHkmJiF0LnBsYWNlZClyZXR1cm4gMDtpZigxPT09dC5vcGFjaXR5JiZ0LnBsYWNlZClyZXR1cm4gNDI5NDk2NzI5NTt2YXIgZT10LnBsYWNlZD8xOjAscj1NYXRoLmZsb29yKDEyNyp0Lm9wYWNpdHkpO3JldHVybiByKnllK2UqeGUrcipiZStlKl9lK3Iqd2UrZSprZStyKlRlK2V9dmFyIEFlPWZ1bmN0aW9uKCl7dGhpcy5fY3VycmVudFRpbGVJbmRleD0wLHRoaXMuX3NlZW5Dcm9zc1RpbGVJRHM9e319O0FlLnByb3RvdHlwZS5jb250aW51ZVBsYWNlbWVudD1mdW5jdGlvbih0LGUscixuLGEpe2Zvcig7dGhpcy5fY3VycmVudFRpbGVJbmRleDx0Lmxlbmd0aDspe3ZhciBpPXRbdGhpcy5fY3VycmVudFRpbGVJbmRleF07aWYoZS5wbGFjZUxheWVyVGlsZShuLGkscix0aGlzLl9zZWVuQ3Jvc3NUaWxlSURzKSx0aGlzLl9jdXJyZW50VGlsZUluZGV4KyssYSgpKXJldHVybiEwfX07dmFyIFNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3RoaXMucGxhY2VtZW50PW5ldyB2ZSh0LGEsaSxvKSx0aGlzLl9jdXJyZW50UGxhY2VtZW50SW5kZXg9ZS5sZW5ndGgtMSx0aGlzLl9mb3JjZUZ1bGxQbGFjZW1lbnQ9cix0aGlzLl9zaG93Q29sbGlzaW9uQm94ZXM9bix0aGlzLl9kb25lPSExfTtTZS5wcm90b3R5cGUuaXNEb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RvbmV9LFNlLnByb3RvdHlwZS5jb250aW51ZVBsYWNlbWVudD1mdW5jdGlvbihlLHIsbil7Zm9yKHZhciBhPXRoaXMsaT10LmJyb3dzZXIubm93KCksbz1mdW5jdGlvbigpe3ZhciBlPXQuYnJvd3Nlci5ub3coKS1pO3JldHVybiFhLl9mb3JjZUZ1bGxQbGFjZW1lbnQmJmU+Mn07dGhpcy5fY3VycmVudFBsYWNlbWVudEluZGV4Pj0wOyl7dmFyIHM9cltlW3RoaXMuX2N1cnJlbnRQbGFjZW1lbnRJbmRleF1dLGw9dGhpcy5wbGFjZW1lbnQuY29sbGlzaW9uSW5kZXgudHJhbnNmb3JtLnpvb207aWYoInN5bWJvbCI9PT1zLnR5cGUmJighcy5taW56b29tfHxzLm1pbnpvb208PWwpJiYoIXMubWF4em9vbXx8cy5tYXh6b29tPmwpKXtpZih0aGlzLl9pblByb2dyZXNzTGF5ZXJ8fCh0aGlzLl9pblByb2dyZXNzTGF5ZXI9bmV3IEFlKSx0aGlzLl9pblByb2dyZXNzTGF5ZXIuY29udGludWVQbGFjZW1lbnQobltzLnNvdXJjZV0sdGhpcy5wbGFjZW1lbnQsdGhpcy5fc2hvd0NvbGxpc2lvbkJveGVzLHMsbykpcmV0dXJuO2RlbGV0ZSB0aGlzLl9pblByb2dyZXNzTGF5ZXJ9dGhpcy5fY3VycmVudFBsYWNlbWVudEluZGV4LS19dGhpcy5fZG9uZT0hMH0sU2UucHJvdG90eXBlLmNvbW1pdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wbGFjZW1lbnQuY29tbWl0KHQpLHRoaXMucGxhY2VtZW50fTt2YXIgRWU9NTEyL3QuRVhURU5ULzIsTGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudGlsZUlEPXQsdGhpcy5pbmRleGVkU3ltYm9sSW5zdGFuY2VzPXt9LHRoaXMuYnVja2V0SW5zdGFuY2VJZD1yO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgYT1lLmdldChuKSxpPWEua2V5O3RoaXMuaW5kZXhlZFN5bWJvbEluc3RhbmNlc1tpXXx8KHRoaXMuaW5kZXhlZFN5bWJvbEluc3RhbmNlc1tpXT1bXSksdGhpcy5pbmRleGVkU3ltYm9sSW5zdGFuY2VzW2ldLnB1c2goe2Nyb3NzVGlsZUlEOmEuY3Jvc3NUaWxlSUQsY29vcmQ6dGhpcy5nZXRTY2FsZWRDb29yZGluYXRlcyhhLHQpfSl9fTtMZS5wcm90b3R5cGUuZ2V0U2NhbGVkQ29vcmRpbmF0ZXM9ZnVuY3Rpb24oZSxyKXt2YXIgbj1yLmNhbm9uaWNhbC56LXRoaXMudGlsZUlELmNhbm9uaWNhbC56LGE9RWUvTWF0aC5wb3coMixuKTtyZXR1cm57eDpNYXRoLmZsb29yKChyLmNhbm9uaWNhbC54KnQuRVhURU5UK2UuYW5jaG9yWCkqYSkseTpNYXRoLmZsb29yKChyLmNhbm9uaWNhbC55KnQuRVhURU5UK2UuYW5jaG9yWSkqYSl9fSxMZS5wcm90b3R5cGUuZmluZE1hdGNoZXM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj10aGlzLnRpbGVJRC5jYW5vbmljYWwuejxlLmNhbm9uaWNhbC56PzE6TWF0aC5wb3coMix0aGlzLnRpbGVJRC5jYW5vbmljYWwuei1lLmNhbm9uaWNhbC56KSxhPTA7YTx0Lmxlbmd0aDthKyspe3ZhciBpPXQuZ2V0KGEpO2lmKCFpLmNyb3NzVGlsZUlEKXt2YXIgbz10aGlzLmluZGV4ZWRTeW1ib2xJbnN0YW5jZXNbaS5rZXldO2lmKG8pZm9yKHZhciBzPXRoaXMuZ2V0U2NhbGVkQ29vcmRpbmF0ZXMoaSxlKSxsPTAsYz1vO2w8Yy5sZW5ndGg7bCs9MSl7dmFyIHU9Y1tsXTtpZihNYXRoLmFicyh1LmNvb3JkLngtcy54KTw9biYmTWF0aC5hYnModS5jb29yZC55LXMueSk8PW4mJiFyW3UuY3Jvc3NUaWxlSURdKXtyW3UuY3Jvc3NUaWxlSURdPSEwLGkuY3Jvc3NUaWxlSUQ9dS5jcm9zc1RpbGVJRDticmVha319fX19O3ZhciBDZT1mdW5jdGlvbigpe3RoaXMubWF4Q3Jvc3NUaWxlSUQ9MH07Q2UucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKCl7cmV0dXJuKyt0aGlzLm1heENyb3NzVGlsZUlEfTt2YXIgUGU9ZnVuY3Rpb24oKXt0aGlzLmluZGV4ZXM9e30sdGhpcy51c2VkQ3Jvc3NUaWxlSURzPXt9LHRoaXMubG5nPTB9O1BlLnByb3RvdHlwZS5oYW5kbGVXcmFwSnVtcD1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLnJvdW5kKCh0LXRoaXMubG5nKS8zNjApO2lmKDAhPT1lKWZvcih2YXIgciBpbiB0aGlzLmluZGV4ZXMpe3ZhciBuPXRoaXMuaW5kZXhlc1tyXSxhPXt9O2Zvcih2YXIgaSBpbiBuKXt2YXIgbz1uW2ldO28udGlsZUlEPW8udGlsZUlELnVud3JhcFRvKG8udGlsZUlELndyYXArZSksYVtvLnRpbGVJRC5rZXldPW99dGhpcy5pbmRleGVzW3JdPWF9dGhpcy5sbmc9dH0sUGUucHJvdG90eXBlLmFkZEJ1Y2tldD1mdW5jdGlvbih0LGUscil7aWYodGhpcy5pbmRleGVzW3Qub3ZlcnNjYWxlZFpdJiZ0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldKXtpZih0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldLmJ1Y2tldEluc3RhbmNlSWQ9PT1lLmJ1Y2tldEluc3RhbmNlSWQpcmV0dXJuITE7dGhpcy5yZW1vdmVCdWNrZXRDcm9zc1RpbGVJRHModC5vdmVyc2NhbGVkWix0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldKX1mb3IodmFyIG49MDtuPGUuc3ltYm9sSW5zdGFuY2VzLmxlbmd0aDtuKyspZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KG4pLmNyb3NzVGlsZUlEPTA7dGhpcy51c2VkQ3Jvc3NUaWxlSURzW3Qub3ZlcnNjYWxlZFpdfHwodGhpcy51c2VkQ3Jvc3NUaWxlSURzW3Qub3ZlcnNjYWxlZFpdPXt9KTt2YXIgYT10aGlzLnVzZWRDcm9zc1RpbGVJRHNbdC5vdmVyc2NhbGVkWl07Zm9yKHZhciBpIGluIHRoaXMuaW5kZXhlcyl7dmFyIG89dGhpcy5pbmRleGVzW2ldO2lmKE51bWJlcihpKT50Lm92ZXJzY2FsZWRaKWZvcih2YXIgcyBpbiBvKXt2YXIgbD1vW3NdO2wudGlsZUlELmlzQ2hpbGRPZih0KSYmbC5maW5kTWF0Y2hlcyhlLnN5bWJvbEluc3RhbmNlcyx0LGEpfWVsc2V7dmFyIGM9b1t0LnNjYWxlZFRvKE51bWJlcihpKSkua2V5XTtjJiZjLmZpbmRNYXRjaGVzKGUuc3ltYm9sSW5zdGFuY2VzLHQsYSl9fWZvcih2YXIgdT0wO3U8ZS5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoO3UrKyl7dmFyIGg9ZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KHUpO2guY3Jvc3NUaWxlSUR8fChoLmNyb3NzVGlsZUlEPXIuZ2VuZXJhdGUoKSxhW2guY3Jvc3NUaWxlSURdPSEwKX1yZXR1cm4gdm9pZCAwPT09dGhpcy5pbmRleGVzW3Qub3ZlcnNjYWxlZFpdJiYodGhpcy5pbmRleGVzW3Qub3ZlcnNjYWxlZFpdPXt9KSx0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldPW5ldyBMZSh0LGUuc3ltYm9sSW5zdGFuY2VzLGUuYnVja2V0SW5zdGFuY2VJZCksITB9LFBlLnByb3RvdHlwZS5yZW1vdmVCdWNrZXRDcm9zc1RpbGVJRHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZS5pbmRleGVkU3ltYm9sSW5zdGFuY2VzKWZvcih2YXIgbj0wLGE9ZS5pbmRleGVkU3ltYm9sSW5zdGFuY2VzW3JdO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXTtkZWxldGUgdGhpcy51c2VkQ3Jvc3NUaWxlSURzW3RdW2kuY3Jvc3NUaWxlSURdfX0sUGUucHJvdG90eXBlLnJlbW92ZVN0YWxlQnVja2V0cz1mdW5jdGlvbih0KXt2YXIgZT0hMTtmb3IodmFyIHIgaW4gdGhpcy5pbmRleGVzKXt2YXIgbj10aGlzLmluZGV4ZXNbcl07Zm9yKHZhciBhIGluIG4pdFtuW2FdLmJ1Y2tldEluc3RhbmNlSWRdfHwodGhpcy5yZW1vdmVCdWNrZXRDcm9zc1RpbGVJRHMocixuW2FdKSxkZWxldGUgblthXSxlPSEwKX1yZXR1cm4gZX07dmFyIE9lPWZ1bmN0aW9uKCl7dGhpcy5sYXllckluZGV4ZXM9e30sdGhpcy5jcm9zc1RpbGVJRHM9bmV3IENlLHRoaXMubWF4QnVja2V0SW5zdGFuY2VJZD0wLHRoaXMuYnVja2V0c0luQ3VycmVudFBsYWNlbWVudD17fX07T2UucHJvdG90eXBlLmFkZExheWVyPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmxheWVySW5kZXhlc1t0LmlkXTt2b2lkIDA9PT1uJiYobj10aGlzLmxheWVySW5kZXhlc1t0LmlkXT1uZXcgUGUpO3ZhciBhPSExLGk9e307bi5oYW5kbGVXcmFwSnVtcChyKTtmb3IodmFyIG89MCxzPWU7bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1zW29dLGM9bC5nZXRCdWNrZXQodCk7YyYmdC5pZD09PWMubGF5ZXJJZHNbMF0mJihjLmJ1Y2tldEluc3RhbmNlSWR8fChjLmJ1Y2tldEluc3RhbmNlSWQ9Kyt0aGlzLm1heEJ1Y2tldEluc3RhbmNlSWQpLG4uYWRkQnVja2V0KGwudGlsZUlELGMsdGhpcy5jcm9zc1RpbGVJRHMpJiYoYT0hMCksaVtjLmJ1Y2tldEluc3RhbmNlSWRdPSEwKX1yZXR1cm4gbi5yZW1vdmVTdGFsZUJ1Y2tldHMoaSkmJihhPSEwKSxhfSxPZS5wcm90b3R5cGUucHJ1bmVVbnVzZWRMYXllcnM9ZnVuY3Rpb24odCl7dmFyIGU9e307Zm9yKHZhciByIGluIHQuZm9yRWFjaChmdW5jdGlvbih0KXtlW3RdPSEwfSksdGhpcy5sYXllckluZGV4ZXMpZVtyXXx8ZGVsZXRlIHRoaXMubGF5ZXJJbmRleGVzW3JdfTt2YXIgemU9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5lbWl0VmFsaWRhdGlvbkVycm9ycyhlLHImJnIuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiJzb3VyY2UuY2FudmFzIiE9PXQuaWRlbnRpZmllcn0pKX0sSWU9dC5waWNrKE50LFsiYWRkTGF5ZXIiLCJyZW1vdmVMYXllciIsInNldFBhaW50UHJvcGVydHkiLCJzZXRMYXlvdXRQcm9wZXJ0eSIsInNldEZpbHRlciIsImFkZFNvdXJjZSIsInJlbW92ZVNvdXJjZSIsInNldExheWVyWm9vbVJhbmdlIiwic2V0TGlnaHQiLCJzZXRUcmFuc2l0aW9uIiwic2V0R2VvSlNPTlNvdXJjZURhdGEiXSksRGU9dC5waWNrKE50LFsic2V0Q2VudGVyIiwic2V0Wm9vbSIsInNldEJlYXJpbmciLCJzZXRQaXRjaCJdKSxSZT1mdW5jdGlvbihlKXtmdW5jdGlvbiByKG4sYSl7dmFyIGk9dGhpczt2b2lkIDA9PT1hJiYoYT17fSksZS5jYWxsKHRoaXMpLHRoaXMubWFwPW4sdGhpcy5kaXNwYXRjaGVyPW5ldyBUKChEdHx8KER0PW5ldyBJdCksRHQpLHRoaXMpLHRoaXMuaW1hZ2VNYW5hZ2VyPW5ldyBmLHRoaXMuaW1hZ2VNYW5hZ2VyLnNldEV2ZW50ZWRQYXJlbnQodGhpcyksdGhpcy5nbHlwaE1hbmFnZXI9bmV3IHgobi5fcmVxdWVzdE1hbmFnZXIsYS5sb2NhbElkZW9ncmFwaEZvbnRGYW1pbHkpLHRoaXMubGluZUF0bGFzPW5ldyBrKDI1Niw1MTIpLHRoaXMuY3Jvc3NUaWxlU3ltYm9sSW5kZXg9bmV3IE9lLHRoaXMuX2xheWVycz17fSx0aGlzLl9vcmRlcj1bXSx0aGlzLnNvdXJjZUNhY2hlcz17fSx0aGlzLnpvb21IaXN0b3J5PW5ldyB0Llpvb21IaXN0b3J5LHRoaXMuX2xvYWRlZD0hMSx0aGlzLl9yZXNldFVwZGF0ZXMoKSx0aGlzLmRpc3BhdGNoZXIuYnJvYWRjYXN0KCJzZXRSZWZlcnJlciIsdC5nZXRSZWZlcnJlcigpKTt2YXIgbz10aGlzO3RoaXMuX3J0bFRleHRQbHVnaW5DYWxsYmFjaz1yLnJlZ2lzdGVyRm9yUGx1Z2luQXZhaWxhYmlsaXR5KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiBvLmRpc3BhdGNoZXIuYnJvYWRjYXN0KCJsb2FkUlRMVGV4dFBsdWdpbiIsdC5wbHVnaW5VUkwsdC5jb21wbGV0aW9uQ2FsbGJhY2spLG8uc291cmNlQ2FjaGVzKW8uc291cmNlQ2FjaGVzW2VdLnJlbG9hZCgpfSksdGhpcy5vbigiZGF0YSIsZnVuY3Rpb24odCl7aWYoInNvdXJjZSI9PT10LmRhdGFUeXBlJiYibWV0YWRhdGEiPT09dC5zb3VyY2VEYXRhVHlwZSl7dmFyIGU9aS5zb3VyY2VDYWNoZXNbdC5zb3VyY2VJZF07aWYoZSl7dmFyIHI9ZS5nZXRTb3VyY2UoKTtpZihyJiZyLnZlY3RvckxheWVySWRzKWZvcih2YXIgbiBpbiBpLl9sYXllcnMpe3ZhciBhPWkuX2xheWVyc1tuXTthLnNvdXJjZT09PXIuaWQmJmkuX3ZhbGlkYXRlTGF5ZXIoYSl9fX19KX1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUubG9hZFVSTD1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXM7dm9pZCAwPT09ciYmKHI9e30pLHRoaXMuZmlyZShuZXcgdC5FdmVudCgiZGF0YWxvYWRpbmciLHtkYXRhVHlwZToic3R5bGUifSkpO3ZhciBhPSJib29sZWFuIj09dHlwZW9mIHIudmFsaWRhdGU/ci52YWxpZGF0ZTohdC5pc01hcGJveFVSTChlKTtlPXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci5ub3JtYWxpemVTdHlsZVVSTChlLHIuYWNjZXNzVG9rZW4pO3ZhciBpPXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci50cmFuc2Zvcm1SZXF1ZXN0KGUsdC5SZXNvdXJjZVR5cGUuU3R5bGUpO3RoaXMuX3JlcXVlc3Q9dC5nZXRKU09OKGksZnVuY3Rpb24oZSxyKXtuLl9yZXF1ZXN0PW51bGwsZT9uLmZpcmUobmV3IHQuRXJyb3JFdmVudChlKSk6ciYmbi5fbG9hZChyLGEpfSl9LHIucHJvdG90eXBlLmxvYWRKU09OPWZ1bmN0aW9uKGUscil7dmFyIG49dGhpczt2b2lkIDA9PT1yJiYocj17fSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzdHlsZSJ9KSksdGhpcy5fcmVxdWVzdD10LmJyb3dzZXIuZnJhbWUoZnVuY3Rpb24oKXtuLl9yZXF1ZXN0PW51bGwsbi5fbG9hZChlLCExIT09ci52YWxpZGF0ZSl9KX0sci5wcm90b3R5cGUuX2xvYWQ9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzO2lmKCFyfHwhemUodGhpcyx0LnZhbGlkYXRlU3R5bGUoZSkpKXtmb3IodmFyIGEgaW4gdGhpcy5fbG9hZGVkPSEwLHRoaXMuc3R5bGVzaGVldD1lLGUuc291cmNlcyl0aGlzLmFkZFNvdXJjZShhLGUuc291cmNlc1thXSx7dmFsaWRhdGU6ITF9KTtlLnNwcml0ZT90aGlzLl9zcHJpdGVSZXF1ZXN0PWZ1bmN0aW9uKGUscixuKXt2YXIgYSxpLG8scz10LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbz4xPyJAMngiOiIiLGw9dC5nZXRKU09OKHIudHJhbnNmb3JtUmVxdWVzdChyLm5vcm1hbGl6ZVNwcml0ZVVSTChlLHMsIi5qc29uIiksdC5SZXNvdXJjZVR5cGUuU3ByaXRlSlNPTiksZnVuY3Rpb24odCxlKXtsPW51bGwsb3x8KG89dCxhPWUsdSgpKX0pLGM9dC5nZXRJbWFnZShyLnRyYW5zZm9ybVJlcXVlc3Qoci5ub3JtYWxpemVTcHJpdGVVUkwoZSxzLCIucG5nIiksdC5SZXNvdXJjZVR5cGUuU3ByaXRlSW1hZ2UpLGZ1bmN0aW9uKHQsZSl7Yz1udWxsLG98fChvPXQsaT1lLHUoKSl9KTtmdW5jdGlvbiB1KCl7aWYobyluKG8pO2Vsc2UgaWYoYSYmaSl7dmFyIGU9dC5icm93c2VyLmdldEltYWdlRGF0YShpKSxyPXt9O2Zvcih2YXIgcyBpbiBhKXt2YXIgbD1hW3NdLGM9bC53aWR0aCx1PWwuaGVpZ2h0LGg9bC54LGY9bC55LHA9bC5zZGYsZD1sLnBpeGVsUmF0aW8sZz1uZXcgdC5SR0JBSW1hZ2Uoe3dpZHRoOmMsaGVpZ2h0OnV9KTt0LlJHQkFJbWFnZS5jb3B5KGUsZyx7eDpoLHk6Zn0se3g6MCx5OjB9LHt3aWR0aDpjLGhlaWdodDp1fSkscltzXT17ZGF0YTpnLHBpeGVsUmF0aW86ZCxzZGY6cH19bihudWxsLHIpfX1yZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7bCYmKGwuY2FuY2VsKCksbD1udWxsKSxjJiYoYy5jYW5jZWwoKSxjPW51bGwpfX19KGUuc3ByaXRlLHRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlcixmdW5jdGlvbihlLHIpe2lmKG4uX3Nwcml0ZVJlcXVlc3Q9bnVsbCxlKW4uZmlyZShuZXcgdC5FcnJvckV2ZW50KGUpKTtlbHNlIGlmKHIpZm9yKHZhciBhIGluIHIpbi5pbWFnZU1hbmFnZXIuYWRkSW1hZ2UoYSxyW2FdKTtuLmltYWdlTWFuYWdlci5zZXRMb2FkZWQoITApLG4uZmlyZShuZXcgdC5FdmVudCgiZGF0YSIse2RhdGFUeXBlOiJzdHlsZSJ9KSl9KTp0aGlzLmltYWdlTWFuYWdlci5zZXRMb2FkZWQoITApLHRoaXMuZ2x5cGhNYW5hZ2VyLnNldFVSTChlLmdseXBocyk7dmFyIGk9QnQodGhpcy5zdHlsZXNoZWV0LmxheWVycyk7dGhpcy5fb3JkZXI9aS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSx0aGlzLl9sYXllcnM9e307Zm9yKHZhciBvPTAscz1pO288cy5sZW5ndGg7bys9MSl7dmFyIGw9c1tvXTsobD10LmNyZWF0ZVN0eWxlTGF5ZXIobCkpLnNldEV2ZW50ZWRQYXJlbnQodGhpcyx7bGF5ZXI6e2lkOmwuaWR9fSksdGhpcy5fbGF5ZXJzW2wuaWRdPWx9dGhpcy5kaXNwYXRjaGVyLmJyb2FkY2FzdCgic2V0TGF5ZXJzIix0aGlzLl9zZXJpYWxpemVMYXllcnModGhpcy5fb3JkZXIpKSx0aGlzLmxpZ2h0PW5ldyB3KHRoaXMuc3R5bGVzaGVldC5saWdodCksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InN0eWxlIn0pKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoInN0eWxlLmxvYWQiKSl9fSxyLnByb3RvdHlwZS5fdmFsaWRhdGVMYXllcj1mdW5jdGlvbihlKXt2YXIgcj10aGlzLnNvdXJjZUNhY2hlc1tlLnNvdXJjZV07aWYocil7dmFyIG49ZS5zb3VyY2VMYXllcjtpZihuKXt2YXIgYT1yLmdldFNvdXJjZSgpOygiZ2VvanNvbiI9PT1hLnR5cGV8fGEudmVjdG9yTGF5ZXJJZHMmJi0xPT09YS52ZWN0b3JMYXllcklkcy5pbmRleE9mKG4pKSYmdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCdTb3VyY2UgbGF5ZXIgIicrbisnIiBkb2VzIG5vdCBleGlzdCBvbiBzb3VyY2UgIicrYS5pZCsnIiBhcyBzcGVjaWZpZWQgYnkgc3R5bGUgbGF5ZXIgIicrZS5pZCsnIicpKSl9fX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2xvYWRlZClyZXR1cm4hMTtpZihPYmplY3Qua2V5cyh0aGlzLl91cGRhdGVkU291cmNlcykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgdCBpbiB0aGlzLnNvdXJjZUNhY2hlcylpZighdGhpcy5zb3VyY2VDYWNoZXNbdF0ubG9hZGVkKCkpcmV0dXJuITE7cmV0dXJuISF0aGlzLmltYWdlTWFuYWdlci5pc0xvYWRlZCgpfSxyLnByb3RvdHlwZS5fc2VyaWFsaXplTGF5ZXJzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTAsbj10O3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPXRoaXMuX2xheWVyc1thXTsiY3VzdG9tIiE9PWkudHlwZSYmZS5wdXNoKGkuc2VyaWFsaXplKCkpfXJldHVybiBlfSxyLnByb3RvdHlwZS5oYXNUcmFuc2l0aW9ucz1mdW5jdGlvbigpe2lmKHRoaXMubGlnaHQmJnRoaXMubGlnaHQuaGFzVHJhbnNpdGlvbigpKXJldHVybiEwO2Zvcih2YXIgdCBpbiB0aGlzLnNvdXJjZUNhY2hlcylpZih0aGlzLnNvdXJjZUNhY2hlc1t0XS5oYXNUcmFuc2l0aW9uKCkpcmV0dXJuITA7Zm9yKHZhciBlIGluIHRoaXMuX2xheWVycylpZih0aGlzLl9sYXllcnNbZV0uaGFzVHJhbnNpdGlvbigpKXJldHVybiEwO3JldHVybiExfSxyLnByb3RvdHlwZS5fY2hlY2tMb2FkZWQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fbG9hZGVkKXRocm93IG5ldyBFcnJvcigiU3R5bGUgaXMgbm90IGRvbmUgbG9hZGluZyIpfSxyLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5fbG9hZGVkKXt2YXIgcj10aGlzLl9jaGFuZ2VkO2lmKHRoaXMuX2NoYW5nZWQpe3ZhciBuPU9iamVjdC5rZXlzKHRoaXMuX3VwZGF0ZWRMYXllcnMpLGE9T2JqZWN0LmtleXModGhpcy5fcmVtb3ZlZExheWVycyk7Zm9yKHZhciBpIGluKG4ubGVuZ3RofHxhLmxlbmd0aCkmJnRoaXMuX3VwZGF0ZVdvcmtlckxheWVycyhuLGEpLHRoaXMuX3VwZGF0ZWRTb3VyY2VzKXt2YXIgbz10aGlzLl91cGRhdGVkU291cmNlc1tpXTsicmVsb2FkIj09PW8/dGhpcy5fcmVsb2FkU291cmNlKGkpOiJjbGVhciI9PT1vJiZ0aGlzLl9jbGVhclNvdXJjZShpKX1mb3IodmFyIHMgaW4gdGhpcy5fdXBkYXRlZFBhaW50UHJvcHMpdGhpcy5fbGF5ZXJzW3NdLnVwZGF0ZVRyYW5zaXRpb25zKGUpO3RoaXMubGlnaHQudXBkYXRlVHJhbnNpdGlvbnMoZSksdGhpcy5fcmVzZXRVcGRhdGVzKCl9Zm9yKHZhciBsIGluIHRoaXMuc291cmNlQ2FjaGVzKXRoaXMuc291cmNlQ2FjaGVzW2xdLnVzZWQ9ITE7Zm9yKHZhciBjPTAsdT10aGlzLl9vcmRlcjtjPHUubGVuZ3RoO2MrPTEpe3ZhciBoPXVbY10sZj10aGlzLl9sYXllcnNbaF07Zi5yZWNhbGN1bGF0ZShlKSwhZi5pc0hpZGRlbihlLnpvb20pJiZmLnNvdXJjZSYmKHRoaXMuc291cmNlQ2FjaGVzW2Yuc291cmNlXS51c2VkPSEwKX10aGlzLmxpZ2h0LnJlY2FsY3VsYXRlKGUpLHRoaXMuej1lLnpvb20sciYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InN0eWxlIn0pKX19LHIucHJvdG90eXBlLl91cGRhdGVXb3JrZXJMYXllcnM9ZnVuY3Rpb24odCxlKXt0aGlzLmRpc3BhdGNoZXIuYnJvYWRjYXN0KCJ1cGRhdGVMYXllcnMiLHtsYXllcnM6dGhpcy5fc2VyaWFsaXplTGF5ZXJzKHQpLHJlbW92ZWRJZHM6ZX0pfSxyLnByb3RvdHlwZS5fcmVzZXRVcGRhdGVzPWZ1bmN0aW9uKCl7dGhpcy5fY2hhbmdlZD0hMSx0aGlzLl91cGRhdGVkTGF5ZXJzPXt9LHRoaXMuX3JlbW92ZWRMYXllcnM9e30sdGhpcy5fdXBkYXRlZFNvdXJjZXM9e30sdGhpcy5fdXBkYXRlZFBhaW50UHJvcHM9e319LHIucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7aWYodGhpcy5fY2hlY2tMb2FkZWQoKSx6ZSh0aGlzLHQudmFsaWRhdGVTdHlsZShlKSkpcmV0dXJuITE7KGU9dC5jbG9uZSQxKGUpKS5sYXllcnM9QnQoZS5sYXllcnMpO3ZhciBuPWZ1bmN0aW9uKGUscil7aWYoIWUpcmV0dXJuW3tjb21tYW5kOk50LnNldFN0eWxlLGFyZ3M6W3JdfV07dmFyIG49W107dHJ5e2lmKCF0LmRlZXBFcXVhbChlLnZlcnNpb24sci52ZXJzaW9uKSlyZXR1cm5be2NvbW1hbmQ6TnQuc2V0U3R5bGUsYXJnczpbcl19XTt0LmRlZXBFcXVhbChlLmNlbnRlcixyLmNlbnRlcil8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRDZW50ZXIsYXJnczpbci5jZW50ZXJdfSksdC5kZWVwRXF1YWwoZS56b29tLHIuem9vbSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRab29tLGFyZ3M6W3Iuem9vbV19KSx0LmRlZXBFcXVhbChlLmJlYXJpbmcsci5iZWFyaW5nKXx8bi5wdXNoKHtjb21tYW5kOk50LnNldEJlYXJpbmcsYXJnczpbci5iZWFyaW5nXX0pLHQuZGVlcEVxdWFsKGUucGl0Y2gsci5waXRjaCl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRQaXRjaCxhcmdzOltyLnBpdGNoXX0pLHQuZGVlcEVxdWFsKGUuc3ByaXRlLHIuc3ByaXRlKXx8bi5wdXNoKHtjb21tYW5kOk50LnNldFNwcml0ZSxhcmdzOltyLnNwcml0ZV19KSx0LmRlZXBFcXVhbChlLmdseXBocyxyLmdseXBocyl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRHbHlwaHMsYXJnczpbci5nbHlwaHNdfSksdC5kZWVwRXF1YWwoZS50cmFuc2l0aW9uLHIudHJhbnNpdGlvbil8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRUcmFuc2l0aW9uLGFyZ3M6W3IudHJhbnNpdGlvbl19KSx0LmRlZXBFcXVhbChlLmxpZ2h0LHIubGlnaHQpfHxuLnB1c2goe2NvbW1hbmQ6TnQuc2V0TGlnaHQsYXJnczpbci5saWdodF19KTt2YXIgYT17fSxpPVtdOyFmdW5jdGlvbihlLHIsbixhKXt2YXIgaTtmb3IoaSBpbiByPXJ8fHt9LGU9ZXx8e30pZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHIuaGFzT3duUHJvcGVydHkoaSl8fFZ0KGksbixhKSk7Zm9yKGkgaW4gcilyLmhhc093blByb3BlcnR5KGkpJiYoZS5oYXNPd25Qcm9wZXJ0eShpKT90LmRlZXBFcXVhbChlW2ldLHJbaV0pfHwoImdlb2pzb24iPT09ZVtpXS50eXBlJiYiZ2VvanNvbiI9PT1yW2ldLnR5cGUmJnF0KGUscixpKT9uLnB1c2goe2NvbW1hbmQ6TnQuc2V0R2VvSlNPTlNvdXJjZURhdGEsYXJnczpbaSxyW2ldLmRhdGFdfSk6VXQoaSxyLG4sYSkpOmp0KGkscixuKSl9KGUuc291cmNlcyxyLnNvdXJjZXMsaSxhKTt2YXIgbz1bXTtlLmxheWVycyYmZS5sYXllcnMuZm9yRWFjaChmdW5jdGlvbih0KXthW3Quc291cmNlXT9uLnB1c2goe2NvbW1hbmQ6TnQucmVtb3ZlTGF5ZXIsYXJnczpbdC5pZF19KTpvLnB1c2godCl9KSxuPW4uY29uY2F0KGkpLGZ1bmN0aW9uKGUscixuKXtyPXJ8fFtdO3ZhciBhLGksbyxzLGwsYyx1LGg9KGU9ZXx8W10pLm1hcChHdCksZj1yLm1hcChHdCkscD1lLnJlZHVjZShZdCx7fSksZD1yLnJlZHVjZShZdCx7fSksZz1oLnNsaWNlKCksdj1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihhPTAsaT0wO2E8aC5sZW5ndGg7YSsrKW89aFthXSxkLmhhc093blByb3BlcnR5KG8pP2krKzoobi5wdXNoKHtjb21tYW5kOk50LnJlbW92ZUxheWVyLGFyZ3M6W29dfSksZy5zcGxpY2UoZy5pbmRleE9mKG8saSksMSkpO2ZvcihhPTAsaT0wO2E8Zi5sZW5ndGg7YSsrKW89ZltmLmxlbmd0aC0xLWFdLGdbZy5sZW5ndGgtMS1hXSE9PW8mJihwLmhhc093blByb3BlcnR5KG8pPyhuLnB1c2goe2NvbW1hbmQ6TnQucmVtb3ZlTGF5ZXIsYXJnczpbb119KSxnLnNwbGljZShnLmxhc3RJbmRleE9mKG8sZy5sZW5ndGgtaSksMSkpOmkrKyxjPWdbZy5sZW5ndGgtYV0sbi5wdXNoKHtjb21tYW5kOk50LmFkZExheWVyLGFyZ3M6W2Rbb10sY119KSxnLnNwbGljZShnLmxlbmd0aC1hLDAsbyksdltvXT0hMCk7Zm9yKGE9MDthPGYubGVuZ3RoO2ErKylpZihzPXBbbz1mW2FdXSxsPWRbb10sIXZbb10mJiF0LmRlZXBFcXVhbChzLGwpKWlmKHQuZGVlcEVxdWFsKHMuc291cmNlLGwuc291cmNlKSYmdC5kZWVwRXF1YWwoc1sic291cmNlLWxheWVyIl0sbFsic291cmNlLWxheWVyIl0pJiZ0LmRlZXBFcXVhbChzLnR5cGUsbC50eXBlKSl7Zm9yKHUgaW4gSHQocy5sYXlvdXQsbC5sYXlvdXQsbixvLG51bGwsTnQuc2V0TGF5b3V0UHJvcGVydHkpLEh0KHMucGFpbnQsbC5wYWludCxuLG8sbnVsbCxOdC5zZXRQYWludFByb3BlcnR5KSx0LmRlZXBFcXVhbChzLmZpbHRlcixsLmZpbHRlcil8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRGaWx0ZXIsYXJnczpbbyxsLmZpbHRlcl19KSx0LmRlZXBFcXVhbChzLm1pbnpvb20sbC5taW56b29tKSYmdC5kZWVwRXF1YWwocy5tYXh6b29tLGwubWF4em9vbSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRMYXllclpvb21SYW5nZSxhcmdzOltvLGwubWluem9vbSxsLm1heHpvb21dfSkscylzLmhhc093blByb3BlcnR5KHUpJiYibGF5b3V0IiE9PXUmJiJwYWludCIhPT11JiYiZmlsdGVyIiE9PXUmJiJtZXRhZGF0YSIhPT11JiYibWluem9vbSIhPT11JiYibWF4em9vbSIhPT11JiYoMD09PXUuaW5kZXhPZigicGFpbnQuIik/SHQoc1t1XSxsW3VdLG4sbyx1LnNsaWNlKDYpLE50LnNldFBhaW50UHJvcGVydHkpOnQuZGVlcEVxdWFsKHNbdV0sbFt1XSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRMYXllclByb3BlcnR5LGFyZ3M6W28sdSxsW3VdXX0pKTtmb3IodSBpbiBsKWwuaGFzT3duUHJvcGVydHkodSkmJiFzLmhhc093blByb3BlcnR5KHUpJiYibGF5b3V0IiE9PXUmJiJwYWludCIhPT11JiYiZmlsdGVyIiE9PXUmJiJtZXRhZGF0YSIhPT11JiYibWluem9vbSIhPT11JiYibWF4em9vbSIhPT11JiYoMD09PXUuaW5kZXhPZigicGFpbnQuIik/SHQoc1t1XSxsW3VdLG4sbyx1LnNsaWNlKDYpLE50LnNldFBhaW50UHJvcGVydHkpOnQuZGVlcEVxdWFsKHNbdV0sbFt1XSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRMYXllclByb3BlcnR5LGFyZ3M6W28sdSxsW3VdXX0pKX1lbHNlIG4ucHVzaCh7Y29tbWFuZDpOdC5yZW1vdmVMYXllcixhcmdzOltvXX0pLGM9Z1tnLmxhc3RJbmRleE9mKG8pKzFdLG4ucHVzaCh7Y29tbWFuZDpOdC5hZGRMYXllcixhcmdzOltsLGNdfSl9KG8sci5sYXllcnMsbil9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJVbmFibGUgdG8gY29tcHV0ZSBzdHlsZSBkaWZmOiIsdCksbj1be2NvbW1hbmQ6TnQuc2V0U3R5bGUsYXJnczpbcl19XX1yZXR1cm4gbn0odGhpcy5zZXJpYWxpemUoKSxlKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuISh0LmNvbW1hbmQgaW4gRGUpfSk7aWYoMD09PW4ubGVuZ3RoKXJldHVybiExO3ZhciBhPW4uZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiEodC5jb21tYW5kIGluIEllKX0pO2lmKGEubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCJVbmltcGxlbWVudGVkOiAiK2EubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbW1hbmR9KS5qb2luKCIsICIpKyIuIik7cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbih0KXsic2V0VHJhbnNpdGlvbiIhPT10LmNvbW1hbmQmJnJbdC5jb21tYW5kXS5hcHBseShyLHQuYXJncyl9KSx0aGlzLnN0eWxlc2hlZXQ9ZSwhMH0sci5wcm90b3R5cGUuYWRkSW1hZ2U9ZnVuY3Rpb24oZSxyKXtpZih0aGlzLmdldEltYWdlKGUpKXJldHVybiB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIkFuIGltYWdlIHdpdGggdGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzLiIpKSk7dGhpcy5pbWFnZU1hbmFnZXIuYWRkSW1hZ2UoZSxyKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic3R5bGUifSkpfSxyLnByb3RvdHlwZS51cGRhdGVJbWFnZT1mdW5jdGlvbih0LGUpe3RoaXMuaW1hZ2VNYW5hZ2VyLnVwZGF0ZUltYWdlKHQsZSl9LHIucHJvdG90eXBlLmdldEltYWdlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltYWdlTWFuYWdlci5nZXRJbWFnZSh0KX0sci5wcm90b3R5cGUucmVtb3ZlSW1hZ2U9ZnVuY3Rpb24oZSl7aWYoIXRoaXMuZ2V0SW1hZ2UoZSkpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiTm8gaW1hZ2Ugd2l0aCB0aGlzIG5hbWUgZXhpc3RzLiIpKSk7dGhpcy5pbWFnZU1hbmFnZXIucmVtb3ZlSW1hZ2UoZSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InN0eWxlIn0pKX0sci5wcm90b3R5cGUubGlzdEltYWdlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGVja0xvYWRlZCgpLHRoaXMuaW1hZ2VNYW5hZ2VyLmxpc3RJbWFnZXMoKX0sci5wcm90b3R5cGUuYWRkU291cmNlPWZ1bmN0aW9uKGUscixuKXt2YXIgYT10aGlzO2lmKHZvaWQgMD09PW4mJihuPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpLHZvaWQgMCE9PXRoaXMuc291cmNlQ2FjaGVzW2VdKXRocm93IG5ldyBFcnJvcigiVGhlcmUgaXMgYWxyZWFkeSBhIHNvdXJjZSB3aXRoIHRoaXMgSUQiKTtpZighci50eXBlKXRocm93IG5ldyBFcnJvcigiVGhlIHR5cGUgcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkLCBidXQgdGhlIG9ubHkgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdlcmUgZ2l2ZW46ICIrT2JqZWN0LmtleXMocikuam9pbigiLCAiKSsiLiIpO2lmKCEoWyJ2ZWN0b3IiLCJyYXN0ZXIiLCJnZW9qc29uIiwidmlkZW8iLCJpbWFnZSJdLmluZGV4T2Yoci50eXBlKT49MCYmdGhpcy5fdmFsaWRhdGUodC52YWxpZGF0ZVN0eWxlLnNvdXJjZSwic291cmNlcy4iK2UscixudWxsLG4pKSl7dGhpcy5tYXAmJnRoaXMubWFwLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmcmJihyLmNvbGxlY3RSZXNvdXJjZVRpbWluZz0hMCk7dmFyIGk9dGhpcy5zb3VyY2VDYWNoZXNbZV09bmV3IEN0KGUscix0aGlzLmRpc3BhdGNoZXIpO2kuc3R5bGU9dGhpcyxpLnNldEV2ZW50ZWRQYXJlbnQodGhpcyxmdW5jdGlvbigpe3JldHVybntpc1NvdXJjZUxvYWRlZDphLmxvYWRlZCgpLHNvdXJjZTppLnNlcmlhbGl6ZSgpLHNvdXJjZUlkOmV9fSksaS5vbkFkZCh0aGlzLm1hcCksdGhpcy5fY2hhbmdlZD0hMH19LHIucHJvdG90eXBlLnJlbW92ZVNvdXJjZT1mdW5jdGlvbihlKXtpZih0aGlzLl9jaGVja0xvYWRlZCgpLHZvaWQgMD09PXRoaXMuc291cmNlQ2FjaGVzW2VdKXRocm93IG5ldyBFcnJvcigiVGhlcmUgaXMgbm8gc291cmNlIHdpdGggdGhpcyBJRCIpO2Zvcih2YXIgciBpbiB0aGlzLl9sYXllcnMpaWYodGhpcy5fbGF5ZXJzW3JdLnNvdXJjZT09PWUpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcignU291cmNlICInK2UrJyIgY2Fubm90IGJlIHJlbW92ZWQgd2hpbGUgbGF5ZXIgIicrcisnIiBpcyB1c2luZyBpdC4nKSkpO3ZhciBuPXRoaXMuc291cmNlQ2FjaGVzW2VdO2RlbGV0ZSB0aGlzLnNvdXJjZUNhY2hlc1tlXSxkZWxldGUgdGhpcy5fdXBkYXRlZFNvdXJjZXNbZV0sbi5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7c291cmNlRGF0YVR5cGU6Im1ldGFkYXRhIixkYXRhVHlwZToic291cmNlIixzb3VyY2VJZDplfSkpLG4uc2V0RXZlbnRlZFBhcmVudChudWxsKSxuLmNsZWFyVGlsZXMoKSxuLm9uUmVtb3ZlJiZuLm9uUmVtb3ZlKHRoaXMubWFwKSx0aGlzLl9jaGFuZ2VkPSEwfSxyLnByb3RvdHlwZS5zZXRHZW9KU09OU291cmNlRGF0YT1mdW5jdGlvbih0LGUpe3RoaXMuX2NoZWNrTG9hZGVkKCksdGhpcy5zb3VyY2VDYWNoZXNbdF0uZ2V0U291cmNlKCkuc2V0RGF0YShlKSx0aGlzLl9jaGFuZ2VkPSEwfSxyLnByb3RvdHlwZS5nZXRTb3VyY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc291cmNlQ2FjaGVzW3RdJiZ0aGlzLnNvdXJjZUNhY2hlc1t0XS5nZXRTb3VyY2UoKX0sci5wcm90b3R5cGUuYWRkTGF5ZXI9ZnVuY3Rpb24oZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpO3ZhciBhPWUuaWQ7aWYodGhpcy5nZXRMYXllcihhKSl0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoJ0xheWVyIHdpdGggaWQgIicrYSsnIiBhbHJlYWR5IGV4aXN0cyBvbiB0aGlzIG1hcCcpKSk7ZWxzZXt2YXIgaTtpZigiY3VzdG9tIj09PWUudHlwZSl7aWYoemUodGhpcyx0LnZhbGlkYXRlQ3VzdG9tU3R5bGVMYXllcihlKSkpcmV0dXJuO2k9dC5jcmVhdGVTdHlsZUxheWVyKGUpfWVsc2V7aWYoIm9iamVjdCI9PXR5cGVvZiBlLnNvdXJjZSYmKHRoaXMuYWRkU291cmNlKGEsZS5zb3VyY2UpLGU9dC5jbG9uZSQxKGUpLGU9dC5leHRlbmQoZSx7c291cmNlOmF9KSksdGhpcy5fdmFsaWRhdGUodC52YWxpZGF0ZVN0eWxlLmxheWVyLCJsYXllcnMuIithLGUse2FycmF5SW5kZXg6LTF9LG4pKXJldHVybjtpPXQuY3JlYXRlU3R5bGVMYXllcihlKSx0aGlzLl92YWxpZGF0ZUxheWVyKGkpLGkuc2V0RXZlbnRlZFBhcmVudCh0aGlzLHtsYXllcjp7aWQ6YX19KX12YXIgbz1yP3RoaXMuX29yZGVyLmluZGV4T2Yocik6dGhpcy5fb3JkZXIubGVuZ3RoO2lmKHImJi0xPT09byl0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoJ0xheWVyIHdpdGggaWQgIicrcisnIiBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIG1hcC4nKSkpO2Vsc2V7aWYodGhpcy5fb3JkZXIuc3BsaWNlKG8sMCxhKSx0aGlzLl9sYXllck9yZGVyQ2hhbmdlZD0hMCx0aGlzLl9sYXllcnNbYV09aSx0aGlzLl9yZW1vdmVkTGF5ZXJzW2FdJiZpLnNvdXJjZSYmImN1c3RvbSIhPT1pLnR5cGUpe3ZhciBzPXRoaXMuX3JlbW92ZWRMYXllcnNbYV07ZGVsZXRlIHRoaXMuX3JlbW92ZWRMYXllcnNbYV0scy50eXBlIT09aS50eXBlP3RoaXMuX3VwZGF0ZWRTb3VyY2VzW2kuc291cmNlXT0iY2xlYXIiOih0aGlzLl91cGRhdGVkU291cmNlc1tpLnNvdXJjZV09InJlbG9hZCIsdGhpcy5zb3VyY2VDYWNoZXNbaS5zb3VyY2VdLnBhdXNlKCkpfXRoaXMuX3VwZGF0ZUxheWVyKGkpLGkub25BZGQmJmkub25BZGQodGhpcy5tYXApfX19LHIucHJvdG90eXBlLm1vdmVMYXllcj1mdW5jdGlvbihlLHIpe2lmKHRoaXMuX2NoZWNrTG9hZGVkKCksdGhpcy5fY2hhbmdlZD0hMCx0aGlzLl9sYXllcnNbZV0pe2lmKGUhPT1yKXt2YXIgbj10aGlzLl9vcmRlci5pbmRleE9mKGUpO3RoaXMuX29yZGVyLnNwbGljZShuLDEpO3ZhciBhPXI/dGhpcy5fb3JkZXIuaW5kZXhPZihyKTp0aGlzLl9vcmRlci5sZW5ndGg7ciYmLTE9PT1hP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcignTGF5ZXIgd2l0aCBpZCAiJytyKyciIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgbWFwLicpKSk6KHRoaXMuX29yZGVyLnNwbGljZShhLDAsZSksdGhpcy5fbGF5ZXJPcmRlckNoYW5nZWQ9ITApfX1lbHNlIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGxheWVyICciK2UrIicgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1hcCdzIHN0eWxlIGFuZCBjYW5ub3QgYmUgbW92ZWQuIikpKX0sci5wcm90b3R5cGUucmVtb3ZlTGF5ZXI9ZnVuY3Rpb24oZSl7dGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgcj10aGlzLl9sYXllcnNbZV07aWYocil7ci5zZXRFdmVudGVkUGFyZW50KG51bGwpO3ZhciBuPXRoaXMuX29yZGVyLmluZGV4T2YoZSk7dGhpcy5fb3JkZXIuc3BsaWNlKG4sMSksdGhpcy5fbGF5ZXJPcmRlckNoYW5nZWQ9ITAsdGhpcy5fY2hhbmdlZD0hMCx0aGlzLl9yZW1vdmVkTGF5ZXJzW2VdPXIsZGVsZXRlIHRoaXMuX2xheWVyc1tlXSxkZWxldGUgdGhpcy5fdXBkYXRlZExheWVyc1tlXSxkZWxldGUgdGhpcy5fdXBkYXRlZFBhaW50UHJvcHNbZV0sci5vblJlbW92ZSYmci5vblJlbW92ZSh0aGlzLm1hcCl9ZWxzZSB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHJlbW92ZWQuIikpKX0sci5wcm90b3R5cGUuZ2V0TGF5ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2xheWVyc1t0XX0sci5wcm90b3R5cGUuc2V0TGF5ZXJab29tUmFuZ2U9ZnVuY3Rpb24oZSxyLG4pe3RoaXMuX2NoZWNrTG9hZGVkKCk7dmFyIGE9dGhpcy5nZXRMYXllcihlKTthP2EubWluem9vbT09PXImJmEubWF4em9vbT09PW58fChudWxsIT1yJiYoYS5taW56b29tPXIpLG51bGwhPW4mJihhLm1heHpvb209biksdGhpcy5fdXBkYXRlTGF5ZXIoYSkpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGxheWVyICciK2UrIicgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1hcCdzIHN0eWxlIGFuZCBjYW5ub3QgaGF2ZSB6b29tIGV4dGVudC4iKSkpfSxyLnByb3RvdHlwZS5zZXRGaWx0ZXI9ZnVuY3Rpb24oZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpO3ZhciBhPXRoaXMuZ2V0TGF5ZXIoZSk7aWYoYSl7aWYoIXQuZGVlcEVxdWFsKGEuZmlsdGVyLHIpKXJldHVybiBudWxsPT1yPyhhLmZpbHRlcj12b2lkIDAsdm9pZCB0aGlzLl91cGRhdGVMYXllcihhKSk6dm9pZCh0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlU3R5bGUuZmlsdGVyLCJsYXllcnMuIithLmlkKyIuZmlsdGVyIixyLG51bGwsbil8fChhLmZpbHRlcj10LmNsb25lJDEociksdGhpcy5fdXBkYXRlTGF5ZXIoYSkpKX1lbHNlIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGxheWVyICciK2UrIicgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1hcCdzIHN0eWxlIGFuZCBjYW5ub3QgYmUgZmlsdGVyZWQuIikpKX0sci5wcm90b3R5cGUuZ2V0RmlsdGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0LmNsb25lJDEodGhpcy5nZXRMYXllcihlKS5maWx0ZXIpfSxyLnByb3RvdHlwZS5zZXRMYXlvdXRQcm9wZXJ0eT1mdW5jdGlvbihlLHIsbixhKXt2b2lkIDA9PT1hJiYoYT17fSksdGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgaT10aGlzLmdldExheWVyKGUpO2k/dC5kZWVwRXF1YWwoaS5nZXRMYXlvdXRQcm9wZXJ0eShyKSxuKXx8KGkuc2V0TGF5b3V0UHJvcGVydHkocixuLGEpLHRoaXMuX3VwZGF0ZUxheWVyKGkpKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHN0eWxlZC4iKSkpfSxyLnByb3RvdHlwZS5nZXRMYXlvdXRQcm9wZXJ0eT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMuZ2V0TGF5ZXIoZSk7aWYobilyZXR1cm4gbi5nZXRMYXlvdXRQcm9wZXJ0eShyKTt0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZS4iKSkpfSxyLnByb3RvdHlwZS5zZXRQYWludFByb3BlcnR5PWZ1bmN0aW9uKGUscixuLGEpe3ZvaWQgMD09PWEmJihhPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpO3ZhciBpPXRoaXMuZ2V0TGF5ZXIoZSk7aT90LmRlZXBFcXVhbChpLmdldFBhaW50UHJvcGVydHkociksbil8fChpLnNldFBhaW50UHJvcGVydHkocixuLGEpJiZ0aGlzLl91cGRhdGVMYXllcihpKSx0aGlzLl9jaGFuZ2VkPSEwLHRoaXMuX3VwZGF0ZWRQYWludFByb3BzW2VdPSEwKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHN0eWxlZC4iKSkpfSxyLnByb3RvdHlwZS5nZXRQYWludFByb3BlcnR5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZ2V0TGF5ZXIodCkuZ2V0UGFpbnRQcm9wZXJ0eShlKX0sci5wcm90b3R5cGUuc2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKGUscil7dGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgbj1lLnNvdXJjZSxhPWUuc291cmNlTGF5ZXIsaT10aGlzLnNvdXJjZUNhY2hlc1tuXSxvPXBhcnNlSW50KGUuaWQsMTApO2lmKHZvaWQgMCE9PWkpe3ZhciBzPWkuZ2V0U291cmNlKCkudHlwZTsiZ2VvanNvbiI9PT1zJiZhP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiR2VvSlNPTiBzb3VyY2VzIGNhbm5vdCBoYXZlIGEgc291cmNlTGF5ZXIgcGFyYW1ldGVyLiIpKSk6InZlY3RvciIhPT1zfHxhP2lzTmFOKG8pfHxvPDA/dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJUaGUgZmVhdHVyZSBpZCBwYXJhbWV0ZXIgbXVzdCBiZSBwcm92aWRlZCBhbmQgbm9uLW5lZ2F0aXZlLiIpKSk6aS5zZXRGZWF0dXJlU3RhdGUoYSxvLHIpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHNvdXJjZUxheWVyIHBhcmFtZXRlciBtdXN0IGJlIHByb3ZpZGVkIGZvciB2ZWN0b3Igc291cmNlIHR5cGVzLiIpKSl9ZWxzZSB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBzb3VyY2UgJyIrbisiJyBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbWFwJ3Mgc3R5bGUuIikpKX0sci5wcm90b3R5cGUucmVtb3ZlRmVhdHVyZVN0YXRlPWZ1bmN0aW9uKGUscil7dGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgbj1lLnNvdXJjZSxhPXRoaXMuc291cmNlQ2FjaGVzW25dO2lmKHZvaWQgMCE9PWEpe3ZhciBpPWEuZ2V0U291cmNlKCkudHlwZSxvPSJ2ZWN0b3IiPT09aT9lLnNvdXJjZUxheWVyOnZvaWQgMCxzPXBhcnNlSW50KGUuaWQsMTApOyJ2ZWN0b3IiIT09aXx8bz92b2lkIDAhPT1lLmlkJiZpc05hTihzKXx8czwwP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGZlYXR1cmUgaWQgcGFyYW1ldGVyIG11c3QgYmUgbm9uLW5lZ2F0aXZlLiIpKSk6ciYmInN0cmluZyIhPXR5cGVvZiBlLmlkJiYibnVtYmVyIiE9dHlwZW9mIGUuaWQ/dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJBIGZlYXR1cmUgaWQgaXMgcmVxdXJlZCB0byByZW1vdmUgaXRzIHNwZWNpZmljIHN0YXRlIHByb3BlcnR5LiIpKSk6YS5yZW1vdmVGZWF0dXJlU3RhdGUobyxzLHIpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHNvdXJjZUxheWVyIHBhcmFtZXRlciBtdXN0IGJlIHByb3ZpZGVkIGZvciB2ZWN0b3Igc291cmNlIHR5cGVzLiIpKSl9ZWxzZSB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBzb3VyY2UgJyIrbisiJyBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbWFwJ3Mgc3R5bGUuIikpKX0sci5wcm90b3R5cGUuZ2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2NoZWNrTG9hZGVkKCk7dmFyIHI9ZS5zb3VyY2Usbj1lLnNvdXJjZUxheWVyLGE9dGhpcy5zb3VyY2VDYWNoZXNbcl0saT1wYXJzZUludChlLmlkLDEwKTtpZih2b2lkIDAhPT1hKWlmKCJ2ZWN0b3IiIT09YS5nZXRTb3VyY2UoKS50eXBlfHxuKXtpZighKGlzTmFOKGkpfHxpPDApKXJldHVybiBhLmdldEZlYXR1cmVTdGF0ZShuLGkpO3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGZlYXR1cmUgaWQgcGFyYW1ldGVyIG11c3QgYmUgcHJvdmlkZWQgYW5kIG5vbi1uZWdhdGl2ZS4iKSkpfWVsc2UgdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJUaGUgc291cmNlTGF5ZXIgcGFyYW1ldGVyIG11c3QgYmUgcHJvdmlkZWQgZm9yIHZlY3RvciBzb3VyY2UgdHlwZXMuIikpKTtlbHNlIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHNvdXJjZSAnIityKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZS4iKSkpfSxyLnByb3RvdHlwZS5nZXRUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHQuZXh0ZW5kKHtkdXJhdGlvbjozMDAsZGVsYXk6MH0sdGhpcy5zdHlsZXNoZWV0JiZ0aGlzLnN0eWxlc2hlZXQudHJhbnNpdGlvbil9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0LmZpbHRlck9iamVjdCh7dmVyc2lvbjp0aGlzLnN0eWxlc2hlZXQudmVyc2lvbixuYW1lOnRoaXMuc3R5bGVzaGVldC5uYW1lLG1ldGFkYXRhOnRoaXMuc3R5bGVzaGVldC5tZXRhZGF0YSxsaWdodDp0aGlzLnN0eWxlc2hlZXQubGlnaHQsY2VudGVyOnRoaXMuc3R5bGVzaGVldC5jZW50ZXIsem9vbTp0aGlzLnN0eWxlc2hlZXQuem9vbSxiZWFyaW5nOnRoaXMuc3R5bGVzaGVldC5iZWFyaW5nLHBpdGNoOnRoaXMuc3R5bGVzaGVldC5waXRjaCxzcHJpdGU6dGhpcy5zdHlsZXNoZWV0LnNwcml0ZSxnbHlwaHM6dGhpcy5zdHlsZXNoZWV0LmdseXBocyx0cmFuc2l0aW9uOnRoaXMuc3R5bGVzaGVldC50cmFuc2l0aW9uLHNvdXJjZXM6dC5tYXBPYmplY3QodGhpcy5zb3VyY2VDYWNoZXMsZnVuY3Rpb24odCl7cmV0dXJuIHQuc2VyaWFsaXplKCl9KSxsYXllcnM6dGhpcy5fc2VyaWFsaXplTGF5ZXJzKHRoaXMuX29yZGVyKX0sZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXR9KX0sci5wcm90b3R5cGUuX3VwZGF0ZUxheWVyPWZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZWRMYXllcnNbdC5pZF09ITAsdC5zb3VyY2UmJiF0aGlzLl91cGRhdGVkU291cmNlc1t0LnNvdXJjZV0mJih0aGlzLl91cGRhdGVkU291cmNlc1t0LnNvdXJjZV09InJlbG9hZCIsdGhpcy5zb3VyY2VDYWNoZXNbdC5zb3VyY2VdLnBhdXNlKCkpLHRoaXMuX2NoYW5nZWQ9ITB9LHIucHJvdG90eXBlLl9mbGF0dGVuQW5kU29ydFJlbmRlcmVkRmVhdHVyZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj1mdW5jdGlvbih0KXtyZXR1cm4iZmlsbC1leHRydXNpb24iPT09ZS5fbGF5ZXJzW3RdLnR5cGV9LG49e30sYT1bXSxpPXRoaXMuX29yZGVyLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbz10aGlzLl9vcmRlcltpXTtpZihyKG8pKXtuW29dPWk7Zm9yKHZhciBzPTAsbD10O3M8bC5sZW5ndGg7cys9MSl7dmFyIGM9bFtzXVtvXTtpZihjKWZvcih2YXIgdT0wLGg9Yzt1PGgubGVuZ3RoO3UrPTEpe3ZhciBmPWhbdV07YS5wdXNoKGYpfX19fWEuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBlLmludGVyc2VjdGlvblotdC5pbnRlcnNlY3Rpb25afSk7Zm9yKHZhciBwPVtdLGQ9dGhpcy5fb3JkZXIubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBnPXRoaXMuX29yZGVyW2RdO2lmKHIoZykpZm9yKHZhciB2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciBtPWFbdl0uZmVhdHVyZTtpZihuW20ubGF5ZXIuaWRdPGQpYnJlYWs7cC5wdXNoKG0pLGEucG9wKCl9ZWxzZSBmb3IodmFyIHk9MCx4PXQ7eTx4Lmxlbmd0aDt5Kz0xKXt2YXIgYj14W3ldW2ddO2lmKGIpZm9yKHZhciBfPTAsdz1iO188dy5sZW5ndGg7Xys9MSl7dmFyIGs9d1tfXTtwLnB1c2goay5mZWF0dXJlKX19fXJldHVybiBwfSxyLnByb3RvdHlwZS5xdWVyeVJlbmRlcmVkRmVhdHVyZXM9ZnVuY3Rpb24oZSxyLG4pe3ImJnIuZmlsdGVyJiZ0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlU3R5bGUuZmlsdGVyLCJxdWVyeVJlbmRlcmVkRmVhdHVyZXMuZmlsdGVyIixyLmZpbHRlcixudWxsLHIpO3ZhciBhPXt9O2lmKHImJnIubGF5ZXJzKXtpZighQXJyYXkuaXNBcnJheShyLmxheWVycykpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigicGFyYW1ldGVycy5sYXllcnMgbXVzdCBiZSBhbiBBcnJheS4iKSkpLFtdO2Zvcih2YXIgaT0wLG89ci5sYXllcnM7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldLGw9dGhpcy5fbGF5ZXJzW3NdO2lmKCFsKXJldHVybiB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitzKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHF1ZXJpZWQgZm9yIGZlYXR1cmVzLiIpKSksW107YVtsLnNvdXJjZV09ITB9fXZhciBjPVtdO2Zvcih2YXIgdSBpbiB0aGlzLnNvdXJjZUNhY2hlcylyLmxheWVycyYmIWFbdV18fGMucHVzaChGKHRoaXMuc291cmNlQ2FjaGVzW3VdLHRoaXMuX2xheWVycyxlLHIsbikpO3JldHVybiB0aGlzLnBsYWNlbWVudCYmYy5wdXNoKGZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89e30scz1hLnF1ZXJ5UmVuZGVyZWRTeW1ib2xzKHIpLGw9W10sYz0wLHU9T2JqZWN0LmtleXMocykubWFwKE51bWJlcik7Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdO2wucHVzaChpW2hdKX1sLnNvcnQoQik7Zm9yKHZhciBmPWZ1bmN0aW9uKCl7dmFyIGU9ZFtwXSxyPWUuZmVhdHVyZUluZGV4Lmxvb2t1cFN5bWJvbEZlYXR1cmVzKHNbZS5idWNrZXRJbnN0YW5jZUlkXSxlLmJ1Y2tldEluZGV4LGUuc291cmNlTGF5ZXJJbmRleCxuLmZpbHRlcixuLmxheWVycyx0KTtmb3IodmFyIGEgaW4gcil7dmFyIGk9b1thXT1vW2FdfHxbXSxsPXJbYV07bC5zb3J0KGZ1bmN0aW9uKHQscil7dmFyIG49ZS5mZWF0dXJlU29ydE9yZGVyO2lmKG4pe3ZhciBhPW4uaW5kZXhPZih0LmZlYXR1cmVJbmRleCk7cmV0dXJuIG4uaW5kZXhPZihyLmZlYXR1cmVJbmRleCktYX1yZXR1cm4gci5mZWF0dXJlSW5kZXgtdC5mZWF0dXJlSW5kZXh9KTtmb3IodmFyIGM9MCx1PWw7Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdO2kucHVzaChoKX19fSxwPTAsZD1sO3A8ZC5sZW5ndGg7cCs9MSlmKCk7dmFyIGc9ZnVuY3Rpb24ocil7b1tyXS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciBhPW4uZmVhdHVyZSxpPXRbcl0sbz1lW2kuc291cmNlXS5nZXRGZWF0dXJlU3RhdGUoYS5sYXllclsic291cmNlLWxheWVyIl0sYS5pZCk7YS5zb3VyY2U9YS5sYXllci5zb3VyY2UsYS5sYXllclsic291cmNlLWxheWVyIl0mJihhLnNvdXJjZUxheWVyPWEubGF5ZXJbInNvdXJjZS1sYXllciJdKSxhLnN0YXRlPW99KX07Zm9yKHZhciB2IGluIG8pZyh2KTtyZXR1cm4gb30odGhpcy5fbGF5ZXJzLHRoaXMuc291cmNlQ2FjaGVzLGUscix0aGlzLnBsYWNlbWVudC5jb2xsaXNpb25JbmRleCx0aGlzLnBsYWNlbWVudC5yZXRhaW5lZFF1ZXJ5RGF0YSkpLHRoaXMuX2ZsYXR0ZW5BbmRTb3J0UmVuZGVyZWRGZWF0dXJlcyhjKX0sci5wcm90b3R5cGUucXVlcnlTb3VyY2VGZWF0dXJlcz1mdW5jdGlvbihlLHIpe3ImJnIuZmlsdGVyJiZ0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlU3R5bGUuZmlsdGVyLCJxdWVyeVNvdXJjZUZlYXR1cmVzLmZpbHRlciIsci5maWx0ZXIsbnVsbCxyKTt2YXIgbj10aGlzLnNvdXJjZUNhY2hlc1tlXTtyZXR1cm4gbj9mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmdldFJlbmRlcmFibGVJZHMoKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHQuZ2V0VGlsZUJ5SUQoZSl9KSxuPVtdLGE9e30saT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgbz1yW2ldLHM9by50aWxlSUQuY2Fub25pY2FsLmtleTthW3NdfHwoYVtzXT0hMCxvLnF1ZXJ5U291cmNlRmVhdHVyZXMobixlKSl9cmV0dXJuIG59KG4scik6W119LHIucHJvdG90eXBlLmFkZFNvdXJjZVR5cGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiByLmdldFNvdXJjZVR5cGUodCk/bihuZXcgRXJyb3IoJ0Egc291cmNlIHR5cGUgY2FsbGVkICInK3QrJyIgYWxyZWFkeSBleGlzdHMuJykpOihyLnNldFNvdXJjZVR5cGUodCxlKSxlLndvcmtlclNvdXJjZVVSTD92b2lkIHRoaXMuZGlzcGF0Y2hlci5icm9hZGNhc3QoImxvYWRXb3JrZXJTb3VyY2UiLHtuYW1lOnQsdXJsOmUud29ya2VyU291cmNlVVJMfSxuKTpuKG51bGwsbnVsbCkpfSxyLnByb3RvdHlwZS5nZXRMaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxpZ2h0LmdldExpZ2h0KCl9LHIucHJvdG90eXBlLnNldExpZ2h0PWZ1bmN0aW9uKGUscil7dm9pZCAwPT09ciYmKHI9e30pLHRoaXMuX2NoZWNrTG9hZGVkKCk7dmFyIG49dGhpcy5saWdodC5nZXRMaWdodCgpLGE9ITE7Zm9yKHZhciBpIGluIGUpaWYoIXQuZGVlcEVxdWFsKGVbaV0sbltpXSkpe2E9ITA7YnJlYWt9aWYoYSl7dmFyIG89e25vdzp0LmJyb3dzZXIubm93KCksdHJhbnNpdGlvbjp0LmV4dGVuZCh7ZHVyYXRpb246MzAwLGRlbGF5OjB9LHRoaXMuc3R5bGVzaGVldC50cmFuc2l0aW9uKX07dGhpcy5saWdodC5zZXRMaWdodChlLHIpLHRoaXMubGlnaHQudXBkYXRlVHJhbnNpdGlvbnMobyl9fSxyLnByb3RvdHlwZS5fdmFsaWRhdGU9ZnVuY3Rpb24oZSxyLG4sYSxpKXtyZXR1cm4gdm9pZCAwPT09aSYmKGk9e30pLCghaXx8ITEhPT1pLnZhbGlkYXRlKSYmemUodGhpcyxlLmNhbGwodC52YWxpZGF0ZVN0eWxlLHQuZXh0ZW5kKHtrZXk6cixzdHlsZTp0aGlzLnNlcmlhbGl6ZSgpLHZhbHVlOm4sc3R5bGVTcGVjOnQuc3R5bGVTcGVjfSxhKSkpfSxyLnByb3RvdHlwZS5fcmVtb3ZlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuX3JlcXVlc3QmJih0aGlzLl9yZXF1ZXN0LmNhbmNlbCgpLHRoaXMuX3JlcXVlc3Q9bnVsbCksdGhpcy5fc3ByaXRlUmVxdWVzdCYmKHRoaXMuX3Nwcml0ZVJlcXVlc3QuY2FuY2VsKCksdGhpcy5fc3ByaXRlUmVxdWVzdD1udWxsKSx0LmV2ZW50ZWQub2ZmKCJwbHVnaW5BdmFpbGFibGUiLHRoaXMuX3J0bFRleHRQbHVnaW5DYWxsYmFjayksdGhpcy5zb3VyY2VDYWNoZXMpdGhpcy5zb3VyY2VDYWNoZXNbZV0uY2xlYXJUaWxlcygpO3RoaXMuZGlzcGF0Y2hlci5yZW1vdmUoKX0sci5wcm90b3R5cGUuX2NsZWFyU291cmNlPWZ1bmN0aW9uKHQpe3RoaXMuc291cmNlQ2FjaGVzW3RdLmNsZWFyVGlsZXMoKX0sci5wcm90b3R5cGUuX3JlbG9hZFNvdXJjZT1mdW5jdGlvbih0KXt0aGlzLnNvdXJjZUNhY2hlc1t0XS5yZXN1bWUoKSx0aGlzLnNvdXJjZUNhY2hlc1t0XS5yZWxvYWQoKX0sci5wcm90b3R5cGUuX3VwZGF0ZVNvdXJjZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuc291cmNlQ2FjaGVzKXRoaXMuc291cmNlQ2FjaGVzW2VdLnVwZGF0ZSh0KX0sci5wcm90b3R5cGUuX2dlbmVyYXRlQ29sbGlzaW9uQm94ZXM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5zb3VyY2VDYWNoZXMpdGhpcy5fcmVsb2FkU291cmNlKHQpfSxyLnByb3RvdHlwZS5fdXBkYXRlUGxhY2VtZW50PWZ1bmN0aW9uKGUscixuLGEpe2Zvcih2YXIgaT0hMSxvPSExLHM9e30sbD0wLGM9dGhpcy5fb3JkZXI7bDxjLmxlbmd0aDtsKz0xKXt2YXIgdT1jW2xdLGg9dGhpcy5fbGF5ZXJzW3VdO2lmKCJzeW1ib2wiPT09aC50eXBlKXtpZighc1toLnNvdXJjZV0pe3ZhciBmPXRoaXMuc291cmNlQ2FjaGVzW2guc291cmNlXTtzW2guc291cmNlXT1mLmdldFJlbmRlcmFibGVJZHMoITApLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gZi5nZXRUaWxlQnlJRCh0KX0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS50aWxlSUQub3ZlcnNjYWxlZFotdC50aWxlSUQub3ZlcnNjYWxlZFp8fCh0LnRpbGVJRC5pc0xlc3NUaGFuKGUudGlsZUlEKT8tMToxKX0pfXZhciBwPXRoaXMuY3Jvc3NUaWxlU3ltYm9sSW5kZXguYWRkTGF5ZXIoaCxzW2guc291cmNlXSxlLmNlbnRlci5sbmcpO2k9aXx8cH19dGhpcy5jcm9zc1RpbGVTeW1ib2xJbmRleC5wcnVuZVVudXNlZExheWVycyh0aGlzLl9vcmRlcik7dmFyIGQ9dGhpcy5fbGF5ZXJPcmRlckNoYW5nZWR8fDA9PT1uO2lmKChkfHwhdGhpcy5wYXVzZWFibGVQbGFjZW1lbnR8fHRoaXMucGF1c2VhYmxlUGxhY2VtZW50LmlzRG9uZSgpJiYhdGhpcy5wbGFjZW1lbnQuc3RpbGxSZWNlbnQodC5icm93c2VyLm5vdygpKSkmJih0aGlzLnBhdXNlYWJsZVBsYWNlbWVudD1uZXcgU2UoZSx0aGlzLl9vcmRlcixkLHIsbixhLHRoaXMucGxhY2VtZW50KSx0aGlzLl9sYXllck9yZGVyQ2hhbmdlZD0hMSksdGhpcy5wYXVzZWFibGVQbGFjZW1lbnQuaXNEb25lKCk/dGhpcy5wbGFjZW1lbnQuc2V0U3RhbGUoKToodGhpcy5wYXVzZWFibGVQbGFjZW1lbnQuY29udGludWVQbGFjZW1lbnQodGhpcy5fb3JkZXIsdGhpcy5fbGF5ZXJzLHMpLHRoaXMucGF1c2VhYmxlUGxhY2VtZW50LmlzRG9uZSgpJiYodGhpcy5wbGFjZW1lbnQ9dGhpcy5wYXVzZWFibGVQbGFjZW1lbnQuY29tbWl0KHQuYnJvd3Nlci5ub3coKSksbz0hMCksaSYmdGhpcy5wYXVzZWFibGVQbGFjZW1lbnQucGxhY2VtZW50LnNldFN0YWxlKCkpLG98fGkpZm9yKHZhciBnPTAsdj10aGlzLl9vcmRlcjtnPHYubGVuZ3RoO2crPTEpe3ZhciBtPXZbZ10seT10aGlzLl9sYXllcnNbbV07InN5bWJvbCI9PT15LnR5cGUmJnRoaXMucGxhY2VtZW50LnVwZGF0ZUxheWVyT3BhY2l0aWVzKHksc1t5LnNvdXJjZV0pfXJldHVybiF0aGlzLnBhdXNlYWJsZVBsYWNlbWVudC5pc0RvbmUoKXx8dGhpcy5wbGFjZW1lbnQuaGFzVHJhbnNpdGlvbnModC5icm93c2VyLm5vdygpKX0sci5wcm90b3R5cGUuX3JlbGVhc2VTeW1ib2xGYWRlVGlsZXM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5zb3VyY2VDYWNoZXMpdGhpcy5zb3VyY2VDYWNoZXNbdF0ucmVsZWFzZVN5bWJvbEZhZGVUaWxlcygpfSxyLnByb3RvdHlwZS5nZXRJbWFnZXM9ZnVuY3Rpb24odCxlLHIpe3RoaXMuaW1hZ2VNYW5hZ2VyLmdldEltYWdlcyhlLmljb25zLHIpfSxyLnByb3RvdHlwZS5nZXRHbHlwaHM9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2x5cGhNYW5hZ2VyLmdldEdseXBocyhlLnN0YWNrcyxyKX0sci5wcm90b3R5cGUuZ2V0UmVzb3VyY2U9ZnVuY3Rpb24oZSxyLG4pe3JldHVybiB0Lm1ha2VSZXF1ZXN0KHIsbil9LHJ9KHQuRXZlbnRlZCk7UmUuZ2V0U291cmNlVHlwZT1mdW5jdGlvbih0KXtyZXR1cm4gSVt0XX0sUmUuc2V0U291cmNlVHlwZT1mdW5jdGlvbih0LGUpe0lbdF09ZX0sUmUucmVnaXN0ZXJGb3JQbHVnaW5BdmFpbGFiaWxpdHk9dC5yZWdpc3RlckZvclBsdWdpbkF2YWlsYWJpbGl0eTt2YXIgRmU9dC5jcmVhdGVMYXlvdXQoW3tuYW1lOiJhX3BvcyIsdHlwZToiSW50MTYiLGNvbXBvbmVudHM6Mn1dKSxCZT1jcigiI2lmZGVmIEdMX0VTXG5wcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNlbHNlXG4jaWYgIWRlZmluZWQobG93cClcbiNkZWZpbmUgbG93cFxuI2VuZGlmXG4jaWYgIWRlZmluZWQobWVkaXVtcClcbiNkZWZpbmUgbWVkaXVtcFxuI2VuZGlmXG4jaWYgIWRlZmluZWQoaGlnaHApXG4jZGVmaW5lIGhpZ2hwXG4jZW5kaWZcbiNlbmRpZiIsIiNpZmRlZiBHTF9FU1xucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2Vsc2VcbiNpZiAhZGVmaW5lZChsb3dwKVxuI2RlZmluZSBsb3dwXG4jZW5kaWZcbiNpZiAhZGVmaW5lZChtZWRpdW1wKVxuI2RlZmluZSBtZWRpdW1wXG4jZW5kaWZcbiNpZiAhZGVmaW5lZChoaWdocClcbiNkZWZpbmUgaGlnaHBcbiNlbmRpZlxuI2VuZGlmXG52ZWMyIHVucGFja19mbG9hdChjb25zdCBmbG9hdCBwYWNrZWRWYWx1ZSkge2ludCBwYWNrZWRJbnRWYWx1ZT1pbnQocGFja2VkVmFsdWUpO2ludCB2MD1wYWNrZWRJbnRWYWx1ZS8yNTY7cmV0dXJuIHZlYzIodjAscGFja2VkSW50VmFsdWUtdjAqMjU2KTt9dmVjMiB1bnBhY2tfb3BhY2l0eShjb25zdCBmbG9hdCBwYWNrZWRPcGFjaXR5KSB7aW50IGludE9wYWNpdHk9aW50KHBhY2tlZE9wYWNpdHkpLzI7cmV0dXJuIHZlYzIoZmxvYXQoaW50T3BhY2l0eSkvMTI3LjAsbW9kKHBhY2tlZE9wYWNpdHksMi4wKSk7fXZlYzQgZGVjb2RlX2NvbG9yKGNvbnN0IHZlYzIgZW5jb2RlZENvbG9yKSB7cmV0dXJuIHZlYzQodW5wYWNrX2Zsb2F0KGVuY29kZWRDb2xvclswXSkvMjU1LjAsdW5wYWNrX2Zsb2F0KGVuY29kZWRDb2xvclsxXSkvMjU1LjBcbik7fWZsb2F0IHVucGFja19taXhfdmVjMihjb25zdCB2ZWMyIHBhY2tlZFZhbHVlLGNvbnN0IGZsb2F0IHQpIHtyZXR1cm4gbWl4KHBhY2tlZFZhbHVlWzBdLHBhY2tlZFZhbHVlWzFdLHQpO312ZWM0IHVucGFja19taXhfY29sb3IoY29uc3QgdmVjNCBwYWNrZWRDb2xvcnMsY29uc3QgZmxvYXQgdCkge3ZlYzQgbWluQ29sb3I9ZGVjb2RlX2NvbG9yKHZlYzIocGFja2VkQ29sb3JzWzBdLHBhY2tlZENvbG9yc1sxXSkpO3ZlYzQgbWF4Q29sb3I9ZGVjb2RlX2NvbG9yKHZlYzIocGFja2VkQ29sb3JzWzJdLHBhY2tlZENvbG9yc1szXSkpO3JldHVybiBtaXgobWluQ29sb3IsbWF4Q29sb3IsdCk7fXZlYzIgZ2V0X3BhdHRlcm5fcG9zKGNvbnN0IHZlYzIgcGl4ZWxfY29vcmRfdXBwZXIsY29uc3QgdmVjMiBwaXhlbF9jb29yZF9sb3dlcixjb25zdCB2ZWMyIHBhdHRlcm5fc2l6ZSxjb25zdCBmbG9hdCB0aWxlX3VuaXRzX3RvX3BpeGVscyxjb25zdCB2ZWMyIHBvcykge3ZlYzIgb2Zmc2V0PW1vZChtb2QobW9kKHBpeGVsX2Nvb3JkX3VwcGVyLHBhdHRlcm5fc2l6ZSkqMjU2LjAscGF0dGVybl9zaXplKSoyNTYuMCtwaXhlbF9jb29yZF9sb3dlcixwYXR0ZXJuX3NpemUpO3JldHVybiAodGlsZV91bml0c190b19waXhlbHMqcG9zK29mZnNldCkvcGF0dGVybl9zaXplO30iKSxOZT1jcigidW5pZm9ybSB2ZWM0IHVfY29sb3I7dW5pZm9ybSBmbG9hdCB1X29wYWNpdHk7dm9pZCBtYWluKCkge2dsX0ZyYWdDb2xvcj11X2NvbG9yKnVfb3BhY2l0eTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJhdHRyaWJ1dGUgdmVjMiBhX3Bvczt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dm9pZCBtYWluKCkge2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt9IiksamU9Y3IoInVuaWZvcm0gdmVjMiB1X3BhdHRlcm5fdGxfYTt1bmlmb3JtIHZlYzIgdV9wYXR0ZXJuX2JyX2E7dW5pZm9ybSB2ZWMyIHVfcGF0dGVybl90bF9iO3VuaWZvcm0gdmVjMiB1X3BhdHRlcm5fYnJfYjt1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3VuaWZvcm0gZmxvYXQgdV9taXg7dW5pZm9ybSBmbG9hdCB1X29wYWNpdHk7dW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt2YXJ5aW5nIHZlYzIgdl9wb3NfYTt2YXJ5aW5nIHZlYzIgdl9wb3NfYjt2b2lkIG1haW4oKSB7dmVjMiBpbWFnZWNvb3JkPW1vZCh2X3Bvc19hLDEuMCk7dmVjMiBwb3M9bWl4KHVfcGF0dGVybl90bF9hL3VfdGV4c2l6ZSx1X3BhdHRlcm5fYnJfYS91X3RleHNpemUsaW1hZ2Vjb29yZCk7dmVjNCBjb2xvcjE9dGV4dHVyZTJEKHVfaW1hZ2UscG9zKTt2ZWMyIGltYWdlY29vcmRfYj1tb2Qodl9wb3NfYiwxLjApO3ZlYzIgcG9zMj1taXgodV9wYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHVfcGF0dGVybl9icl9iL3VfdGV4c2l6ZSxpbWFnZWNvb3JkX2IpO3ZlYzQgY29sb3IyPXRleHR1cmUyRCh1X2ltYWdlLHBvczIpO2dsX0ZyYWdDb2xvcj1taXgoY29sb3IxLGNvbG9yMix1X21peCkqdV9vcGFjaXR5O1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9wYXR0ZXJuX3NpemVfYTt1bmlmb3JtIHZlYzIgdV9wYXR0ZXJuX3NpemVfYjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF91cHBlcjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF9sb3dlcjt1bmlmb3JtIGZsb2F0IHVfc2NhbGVfYTt1bmlmb3JtIGZsb2F0IHVfc2NhbGVfYjt1bmlmb3JtIGZsb2F0IHVfdGlsZV91bml0c190b19waXhlbHM7YXR0cmlidXRlIHZlYzIgYV9wb3M7dmFyeWluZyB2ZWMyIHZfcG9zX2E7dmFyeWluZyB2ZWMyIHZfcG9zX2I7dm9pZCBtYWluKCkge2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt2X3Bvc19hPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsdV9zY2FsZV9hKnVfcGF0dGVybl9zaXplX2EsdV90aWxlX3VuaXRzX3RvX3BpeGVscyxhX3Bvcyk7dl9wb3NfYj1nZXRfcGF0dGVybl9wb3ModV9waXhlbF9jb29yZF91cHBlcix1X3BpeGVsX2Nvb3JkX2xvd2VyLHVfc2NhbGVfYip1X3BhdHRlcm5fc2l6ZV9iLHVfdGlsZV91bml0c190b19waXhlbHMsYV9wb3MpO30iKSxWZT1jcigidmFyeWluZyB2ZWMzIHZfZGF0YTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBtZWRpdW1wIGZsb2F0IHJhZGl1c1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIHZlYzQgc3Ryb2tlX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgc3Ryb2tlX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgc3Ryb2tlX29wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBzdHJva2VfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgc3Ryb2tlX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IHN0cm9rZV9vcGFjaXR5XG52ZWMyIGV4dHJ1ZGU9dl9kYXRhLnh5O2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoPWxlbmd0aChleHRydWRlKTtsb3dwIGZsb2F0IGFudGlhbGlhc2JsdXI9dl9kYXRhLno7ZmxvYXQgYW50aWFsaWFzZWRfYmx1cj0tbWF4KGJsdXIsYW50aWFsaWFzYmx1cik7ZmxvYXQgb3BhY2l0eV90PXNtb290aHN0ZXAoMC4wLGFudGlhbGlhc2VkX2JsdXIsZXh0cnVkZV9sZW5ndGgtMS4wKTtmbG9hdCBjb2xvcl90PXN0cm9rZV93aWR0aCA8IDAuMDEgPyAwLjAgOiBzbW9vdGhzdGVwKGFudGlhbGlhc2VkX2JsdXIsMC4wLGV4dHJ1ZGVfbGVuZ3RoLXJhZGl1cy8ocmFkaXVzK3N0cm9rZV93aWR0aCkpO2dsX0ZyYWdDb2xvcj1vcGFjaXR5X3QqbWl4KGNvbG9yKm9wYWNpdHksc3Ryb2tlX2NvbG9yKnN0cm9rZV9vcGFjaXR5LGNvbG9yX3QpO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIGJvb2wgdV9zY2FsZV93aXRoX21hcDt1bmlmb3JtIGJvb2wgdV9waXRjaF93aXRoX21hcDt1bmlmb3JtIHZlYzIgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt1bmlmb3JtIGhpZ2hwIGZsb2F0IHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTthdHRyaWJ1dGUgdmVjMiBhX3Bvczt2YXJ5aW5nIHZlYzMgdl9kYXRhO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBzdHJva2VfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCBzdHJva2Vfd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBzdHJva2Vfb3BhY2l0eVxudm9pZCBtYWluKHZvaWQpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBzdHJva2VfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgc3Ryb2tlX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IHN0cm9rZV9vcGFjaXR5XG52ZWMyIGV4dHJ1ZGU9dmVjMihtb2QoYV9wb3MsMi4wKSoyLjAtMS4wKTt2ZWMyIGNpcmNsZV9jZW50ZXI9Zmxvb3IoYV9wb3MqMC41KTtpZiAodV9waXRjaF93aXRoX21hcCkge3ZlYzIgY29ybmVyX3Bvc2l0aW9uPWNpcmNsZV9jZW50ZXI7aWYgKHVfc2NhbGVfd2l0aF9tYXApIHtjb3JuZXJfcG9zaXRpb24rPWV4dHJ1ZGUqKHJhZGl1cytzdHJva2Vfd2lkdGgpKnVfZXh0cnVkZV9zY2FsZTt9IGVsc2Uge3ZlYzQgcHJvamVjdGVkX2NlbnRlcj11X21hdHJpeCp2ZWM0KGNpcmNsZV9jZW50ZXIsMCwxKTtjb3JuZXJfcG9zaXRpb24rPWV4dHJ1ZGUqKHJhZGl1cytzdHJva2Vfd2lkdGgpKnVfZXh0cnVkZV9zY2FsZSoocHJvamVjdGVkX2NlbnRlci53L3VfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSk7fWdsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoY29ybmVyX3Bvc2l0aW9uLDAsMSk7fSBlbHNlIHtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGNpcmNsZV9jZW50ZXIsMCwxKTtpZiAodV9zY2FsZV93aXRoX21hcCkge2dsX1Bvc2l0aW9uLnh5Kz1leHRydWRlKihyYWRpdXMrc3Ryb2tlX3dpZHRoKSp1X2V4dHJ1ZGVfc2NhbGUqdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO30gZWxzZSB7Z2xfUG9zaXRpb24ueHkrPWV4dHJ1ZGUqKHJhZGl1cytzdHJva2Vfd2lkdGgpKnVfZXh0cnVkZV9zY2FsZSpnbF9Qb3NpdGlvbi53O319bG93cCBmbG9hdCBhbnRpYWxpYXNibHVyPTEuMC91X2RldmljZV9waXhlbF9yYXRpby8ocmFkaXVzK3N0cm9rZV93aWR0aCk7dl9kYXRhPXZlYzMoZXh0cnVkZS54LGV4dHJ1ZGUueSxhbnRpYWxpYXNibHVyKTt9IiksVWU9Y3IoInZvaWQgbWFpbigpIHtnbF9GcmFnQ29sb3I9dmVjNCgxLjApO30iLCJhdHRyaWJ1dGUgdmVjMiBhX3Bvczt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dm9pZCBtYWluKCkge2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt9IikscWU9Y3IoInVuaWZvcm0gaGlnaHAgZmxvYXQgdV9pbnRlbnNpdHk7dmFyeWluZyB2ZWMyIHZfZXh0cnVkZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgZmxvYXQgd2VpZ2h0XG4jZGVmaW5lIEdBVVNTX0NPRUYgMC4zOTg5NDIyODA0MDE0MzI3XG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCBmbG9hdCB3ZWlnaHRcbmZsb2F0IGQ9LTAuNSozLjAqMy4wKmRvdCh2X2V4dHJ1ZGUsdl9leHRydWRlKTtmbG9hdCB2YWw9d2VpZ2h0KnVfaW50ZW5zaXR5KkdBVVNTX0NPRUYqZXhwKGQpO2dsX0ZyYWdDb2xvcj12ZWM0KHZhbCwxLjAsMS4wLDEuMCk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwidW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gZmxvYXQgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gZmxvYXQgdV9vcGFjaXR5O3VuaWZvcm0gZmxvYXQgdV9pbnRlbnNpdHk7YXR0cmlidXRlIHZlYzIgYV9wb3M7dmFyeWluZyB2ZWMyIHZfZXh0cnVkZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgZmxvYXQgd2VpZ2h0XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG5jb25zdCBoaWdocCBmbG9hdCBaRVJPPTEuMC8yNTUuMC8xNi4wO1xuI2RlZmluZSBHQVVTU19DT0VGIDAuMzk4OTQyMjgwNDAxNDMyN1xudm9pZCBtYWluKHZvaWQpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIGZsb2F0IHdlaWdodFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCBmbG9hdCByYWRpdXNcbnZlYzIgdW5zY2FsZWRfZXh0cnVkZT12ZWMyKG1vZChhX3BvcywyLjApKjIuMC0xLjApO2Zsb2F0IFM9c3FydCgtMi4wKmxvZyhaRVJPL3dlaWdodC91X2ludGVuc2l0eS9HQVVTU19DT0VGKSkvMy4wO3ZfZXh0cnVkZT1TKnVuc2NhbGVkX2V4dHJ1ZGU7dmVjMiBleHRydWRlPXZfZXh0cnVkZSpyYWRpdXMqdV9leHRydWRlX3NjYWxlO3ZlYzQgcG9zPXZlYzQoZmxvb3IoYV9wb3MqMC41KStleHRydWRlLDAsMSk7Z2xfUG9zaXRpb249dV9tYXRyaXgqcG9zO30iKSxIZT1jcigidW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt1bmlmb3JtIHNhbXBsZXIyRCB1X2NvbG9yX3JhbXA7dW5pZm9ybSBmbG9hdCB1X29wYWNpdHk7dmFyeWluZyB2ZWMyIHZfcG9zO3ZvaWQgbWFpbigpIHtmbG9hdCB0PXRleHR1cmUyRCh1X2ltYWdlLHZfcG9zKS5yO3ZlYzQgY29sb3I9dGV4dHVyZTJEKHVfY29sb3JfcmFtcCx2ZWMyKHQsMC41KSk7Z2xfRnJhZ0NvbG9yPWNvbG9yKnVfb3BhY2l0eTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDAuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfd29ybGQ7YXR0cmlidXRlIHZlYzIgYV9wb3M7dmFyeWluZyB2ZWMyIHZfcG9zO3ZvaWQgbWFpbigpIHtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zKnVfd29ybGQsMCwxKTt2X3Bvcy54PWFfcG9zLng7dl9wb3MueT0xLjAtYV9wb3MueTt9IiksR2U9Y3IoInZhcnlpbmcgZmxvYXQgdl9wbGFjZWQ7dmFyeWluZyBmbG9hdCB2X25vdFVzZWQ7dm9pZCBtYWluKCkge2Zsb2F0IGFscGhhPTAuNTtnbF9GcmFnQ29sb3I9dmVjNCgxLjAsMC4wLDAuMCwxLjApKmFscGhhO2lmICh2X3BsYWNlZCA+IDAuNSkge2dsX0ZyYWdDb2xvcj12ZWM0KDAuMCwwLjAsMS4wLDAuNSkqYWxwaGE7fWlmICh2X25vdFVzZWQgPiAwLjUpIHtnbF9GcmFnQ29sb3IqPS4xO319IiwiYXR0cmlidXRlIHZlYzIgYV9wb3M7YXR0cmlidXRlIHZlYzIgYV9hbmNob3JfcG9zO2F0dHJpYnV0ZSB2ZWMyIGFfZXh0cnVkZTthdHRyaWJ1dGUgdmVjMiBhX3BsYWNlZDthdHRyaWJ1dGUgdmVjMiBhX3NoaWZ0O3VuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gZmxvYXQgdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO3ZhcnlpbmcgZmxvYXQgdl9wbGFjZWQ7dmFyeWluZyBmbG9hdCB2X25vdFVzZWQ7dm9pZCBtYWluKCkge3ZlYzQgcHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX2FuY2hvcl9wb3MsMCwxKTtoaWdocCBmbG9hdCBjYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlPXByb2plY3RlZFBvaW50Lnc7aGlnaHAgZmxvYXQgY29sbGlzaW9uX3BlcnNwZWN0aXZlX3JhdGlvPWNsYW1wKDAuNSswLjUqKHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZS9jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlKSwwLjAsNC4wKTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAuMCwxLjApO2dsX1Bvc2l0aW9uLnh5Kz0oYV9leHRydWRlK2Ffc2hpZnQpKnVfZXh0cnVkZV9zY2FsZSpnbF9Qb3NpdGlvbi53KmNvbGxpc2lvbl9wZXJzcGVjdGl2ZV9yYXRpbzt2X3BsYWNlZD1hX3BsYWNlZC54O3Zfbm90VXNlZD1hX3BsYWNlZC55O30iKSxZZT1jcigidW5pZm9ybSBmbG9hdCB1X292ZXJzY2FsZV9mYWN0b3I7dmFyeWluZyBmbG9hdCB2X3BsYWNlZDt2YXJ5aW5nIGZsb2F0IHZfbm90VXNlZDt2YXJ5aW5nIGZsb2F0IHZfcmFkaXVzO3ZhcnlpbmcgdmVjMiB2X2V4dHJ1ZGU7dmFyeWluZyB2ZWMyIHZfZXh0cnVkZV9zY2FsZTt2b2lkIG1haW4oKSB7ZmxvYXQgYWxwaGE9MC41O3ZlYzQgY29sb3I9dmVjNCgxLjAsMC4wLDAuMCwxLjApKmFscGhhO2lmICh2X3BsYWNlZCA+IDAuNSkge2NvbG9yPXZlYzQoMC4wLDAuMCwxLjAsMC41KSphbHBoYTt9aWYgKHZfbm90VXNlZCA+IDAuNSkge2NvbG9yKj0uMjt9ZmxvYXQgZXh0cnVkZV9zY2FsZV9sZW5ndGg9bGVuZ3RoKHZfZXh0cnVkZV9zY2FsZSk7ZmxvYXQgZXh0cnVkZV9sZW5ndGg9bGVuZ3RoKHZfZXh0cnVkZSkqZXh0cnVkZV9zY2FsZV9sZW5ndGg7ZmxvYXQgc3Ryb2tlX3dpZHRoPTE1LjAqZXh0cnVkZV9zY2FsZV9sZW5ndGgvdV9vdmVyc2NhbGVfZmFjdG9yO2Zsb2F0IHJhZGl1cz12X3JhZGl1cypleHRydWRlX3NjYWxlX2xlbmd0aDtmbG9hdCBkaXN0YW5jZV90b19lZGdlPWFicyhleHRydWRlX2xlbmd0aC1yYWRpdXMpO2Zsb2F0IG9wYWNpdHlfdD1zbW9vdGhzdGVwKC1zdHJva2Vfd2lkdGgsMC4wLC1kaXN0YW5jZV90b19lZGdlKTtnbF9GcmFnQ29sb3I9b3BhY2l0eV90KmNvbG9yO30iLCJhdHRyaWJ1dGUgdmVjMiBhX3BvczthdHRyaWJ1dGUgdmVjMiBhX2FuY2hvcl9wb3M7YXR0cmlidXRlIHZlYzIgYV9leHRydWRlO2F0dHJpYnV0ZSB2ZWMyIGFfcGxhY2VkO3VuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gZmxvYXQgdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO3ZhcnlpbmcgZmxvYXQgdl9wbGFjZWQ7dmFyeWluZyBmbG9hdCB2X25vdFVzZWQ7dmFyeWluZyBmbG9hdCB2X3JhZGl1czt2YXJ5aW5nIHZlYzIgdl9leHRydWRlO3ZhcnlpbmcgdmVjMiB2X2V4dHJ1ZGVfc2NhbGU7dm9pZCBtYWluKCkge3ZlYzQgcHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX2FuY2hvcl9wb3MsMCwxKTtoaWdocCBmbG9hdCBjYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlPXByb2plY3RlZFBvaW50Lnc7aGlnaHAgZmxvYXQgY29sbGlzaW9uX3BlcnNwZWN0aXZlX3JhdGlvPWNsYW1wKDAuNSswLjUqKHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZS9jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlKSwwLjAsNC4wKTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAuMCwxLjApO2hpZ2hwIGZsb2F0IHBhZGRpbmdfZmFjdG9yPTEuMjtnbF9Qb3NpdGlvbi54eSs9YV9leHRydWRlKnVfZXh0cnVkZV9zY2FsZSpwYWRkaW5nX2ZhY3RvcipnbF9Qb3NpdGlvbi53KmNvbGxpc2lvbl9wZXJzcGVjdGl2ZV9yYXRpbzt2X3BsYWNlZD1hX3BsYWNlZC54O3Zfbm90VXNlZD1hX3BsYWNlZC55O3ZfcmFkaXVzPWFicyhhX2V4dHJ1ZGUueSk7dl9leHRydWRlPWFfZXh0cnVkZSpwYWRkaW5nX2ZhY3Rvcjt2X2V4dHJ1ZGVfc2NhbGU9dV9leHRydWRlX3NjYWxlKnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSpjb2xsaXNpb25fcGVyc3BlY3RpdmVfcmF0aW87fSIpLFdlPWNyKCJ1bmlmb3JtIGhpZ2hwIHZlYzQgdV9jb2xvcjt2b2lkIG1haW4oKSB7Z2xfRnJhZ0NvbG9yPXVfY29sb3I7fSIsImF0dHJpYnV0ZSB2ZWMyIGFfcG9zO3VuaWZvcm0gbWF0NCB1X21hdHJpeDt2b2lkIG1haW4oKSB7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO30iKSxYZT1jcigiI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5nbF9GcmFnQ29sb3I9Y29sb3Iqb3BhY2l0eTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJhdHRyaWJ1dGUgdmVjMiBhX3Bvczt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbmdsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt9IiksWmU9Y3IoInZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbmZsb2F0IGRpc3Q9bGVuZ3RoKHZfcG9zLWdsX0ZyYWdDb29yZC54eSk7ZmxvYXQgYWxwaGE9MS4wLXNtb290aHN0ZXAoMC4wLDEuMCxkaXN0KTtnbF9GcmFnQ29sb3I9b3V0bGluZV9jb2xvciooYWxwaGEqb3BhY2l0eSk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwiYXR0cmlidXRlIHZlYzIgYV9wb3M7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gdmVjMiB1X3dvcmxkO3ZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbmdsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt2X3Bvcz0oZ2xfUG9zaXRpb24ueHkvZ2xfUG9zaXRpb24udysxLjApLzIuMCp1X3dvcmxkO30iKSxKZT1jcigidW5pZm9ybSB2ZWMyIHVfdGV4c2l6ZTt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlO3VuaWZvcm0gZmxvYXQgdV9mYWRlO3ZhcnlpbmcgdmVjMiB2X3Bvc19hO3ZhcnlpbmcgdmVjMiB2X3Bvc19iO3ZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fdG9cbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fdG9cbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O3ZlYzIgaW1hZ2Vjb29yZD1tb2Qodl9wb3NfYSwxLjApO3ZlYzIgcG9zPW1peChwYXR0ZXJuX3RsX2EvdV90ZXhzaXplLHBhdHRlcm5fYnJfYS91X3RleHNpemUsaW1hZ2Vjb29yZCk7dmVjNCBjb2xvcjE9dGV4dHVyZTJEKHVfaW1hZ2UscG9zKTt2ZWMyIGltYWdlY29vcmRfYj1tb2Qodl9wb3NfYiwxLjApO3ZlYzIgcG9zMj1taXgocGF0dGVybl90bF9iL3VfdGV4c2l6ZSxwYXR0ZXJuX2JyX2IvdV90ZXhzaXplLGltYWdlY29vcmRfYik7dmVjNCBjb2xvcjI9dGV4dHVyZTJEKHVfaW1hZ2UscG9zMik7ZmxvYXQgZGlzdD1sZW5ndGgodl9wb3MtZ2xfRnJhZ0Nvb3JkLnh5KTtmbG9hdCBhbHBoYT0xLjAtc21vb3Roc3RlcCgwLjAsMS4wLGRpc3QpO2dsX0ZyYWdDb2xvcj1taXgoY29sb3IxLGNvbG9yMix1X2ZhZGUpKmFscGhhKm9wYWNpdHk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwidW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gdmVjMiB1X3dvcmxkO3VuaWZvcm0gdmVjMiB1X3BpeGVsX2Nvb3JkX3VwcGVyO3VuaWZvcm0gdmVjMiB1X3BpeGVsX2Nvb3JkX2xvd2VyO3VuaWZvcm0gdmVjNCB1X3NjYWxlO2F0dHJpYnV0ZSB2ZWMyIGFfcG9zO3ZhcnlpbmcgdmVjMiB2X3Bvc19hO3ZhcnlpbmcgdmVjMiB2X3Bvc19iO3ZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fdG9cbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fdG9cbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O2Zsb2F0IHBpeGVsUmF0aW89dV9zY2FsZS54O2Zsb2F0IHRpbGVSYXRpbz11X3NjYWxlLnk7ZmxvYXQgZnJvbVNjYWxlPXVfc2NhbGUuejtmbG9hdCB0b1NjYWxlPXVfc2NhbGUudztnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAsMSk7dmVjMiBkaXNwbGF5X3NpemVfYT12ZWMyKChwYXR0ZXJuX2JyX2EueC1wYXR0ZXJuX3RsX2EueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9hLnktcGF0dGVybl90bF9hLnkpL3BpeGVsUmF0aW8pO3ZlYzIgZGlzcGxheV9zaXplX2I9dmVjMigocGF0dGVybl9icl9iLngtcGF0dGVybl90bF9iLngpL3BpeGVsUmF0aW8sKHBhdHRlcm5fYnJfYi55LXBhdHRlcm5fdGxfYi55KS9waXhlbFJhdGlvKTt2X3Bvc19hPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsZnJvbVNjYWxlKmRpc3BsYXlfc2l6ZV9hLHRpbGVSYXRpbyxhX3Bvcyk7dl9wb3NfYj1nZXRfcGF0dGVybl9wb3ModV9waXhlbF9jb29yZF91cHBlcix1X3BpeGVsX2Nvb3JkX2xvd2VyLHRvU2NhbGUqZGlzcGxheV9zaXplX2IsdGlsZVJhdGlvLGFfcG9zKTt2X3Bvcz0oZ2xfUG9zaXRpb24ueHkvZ2xfUG9zaXRpb24udysxLjApLzIuMCp1X3dvcmxkO30iKSxLZT1jcigidW5pZm9ybSB2ZWMyIHVfdGV4c2l6ZTt1bmlmb3JtIGZsb2F0IHVfZmFkZTt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlO3ZhcnlpbmcgdmVjMiB2X3Bvc19hO3ZhcnlpbmcgdmVjMiB2X3Bvc19iO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl90b1xudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xudmVjMiBwYXR0ZXJuX3RsX2E9cGF0dGVybl9mcm9tLnh5O3ZlYzIgcGF0dGVybl9icl9hPXBhdHRlcm5fZnJvbS56dzt2ZWMyIHBhdHRlcm5fdGxfYj1wYXR0ZXJuX3RvLnh5O3ZlYzIgcGF0dGVybl9icl9iPXBhdHRlcm5fdG8uenc7dmVjMiBpbWFnZWNvb3JkPW1vZCh2X3Bvc19hLDEuMCk7dmVjMiBwb3M9bWl4KHBhdHRlcm5fdGxfYS91X3RleHNpemUscGF0dGVybl9icl9hL3VfdGV4c2l6ZSxpbWFnZWNvb3JkKTt2ZWM0IGNvbG9yMT10ZXh0dXJlMkQodV9pbWFnZSxwb3MpO3ZlYzIgaW1hZ2Vjb29yZF9iPW1vZCh2X3Bvc19iLDEuMCk7dmVjMiBwb3MyPW1peChwYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHBhdHRlcm5fYnJfYi91X3RleHNpemUsaW1hZ2Vjb29yZF9iKTt2ZWM0IGNvbG9yMj10ZXh0dXJlMkQodV9pbWFnZSxwb3MyKTtnbF9GcmFnQ29sb3I9bWl4KGNvbG9yMSxjb2xvcjIsdV9mYWRlKSpvcGFjaXR5O1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF91cHBlcjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF9sb3dlcjt1bmlmb3JtIHZlYzQgdV9zY2FsZTthdHRyaWJ1dGUgdmVjMiBhX3Bvczt2YXJ5aW5nIHZlYzIgdl9wb3NfYTt2YXJ5aW5nIHZlYzIgdl9wb3NfYjtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fdG9cbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fdG9cbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O2Zsb2F0IHBpeGVsUmF0aW89dV9zY2FsZS54O2Zsb2F0IHRpbGVab29tUmF0aW89dV9zY2FsZS55O2Zsb2F0IGZyb21TY2FsZT11X3NjYWxlLno7ZmxvYXQgdG9TY2FsZT11X3NjYWxlLnc7dmVjMiBkaXNwbGF5X3NpemVfYT12ZWMyKChwYXR0ZXJuX2JyX2EueC1wYXR0ZXJuX3RsX2EueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9hLnktcGF0dGVybl90bF9hLnkpL3BpeGVsUmF0aW8pO3ZlYzIgZGlzcGxheV9zaXplX2I9dmVjMigocGF0dGVybl9icl9iLngtcGF0dGVybl90bF9iLngpL3BpeGVsUmF0aW8sKHBhdHRlcm5fYnJfYi55LXBhdHRlcm5fdGxfYi55KS9waXhlbFJhdGlvKTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAsMSk7dl9wb3NfYT1nZXRfcGF0dGVybl9wb3ModV9waXhlbF9jb29yZF91cHBlcix1X3BpeGVsX2Nvb3JkX2xvd2VyLGZyb21TY2FsZSpkaXNwbGF5X3NpemVfYSx0aWxlWm9vbVJhdGlvLGFfcG9zKTt2X3Bvc19iPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsdG9TY2FsZSpkaXNwbGF5X3NpemVfYix0aWxlWm9vbVJhdGlvLGFfcG9zKTt9IiksUWU9Y3IoInZhcnlpbmcgdmVjNCB2X2NvbG9yO3ZvaWQgbWFpbigpIHtnbF9GcmFnQ29sb3I9dl9jb2xvcjtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMzIHVfbGlnaHRjb2xvcjt1bmlmb3JtIGxvd3AgdmVjMyB1X2xpZ2h0cG9zO3VuaWZvcm0gbG93cCBmbG9hdCB1X2xpZ2h0aW50ZW5zaXR5O3VuaWZvcm0gZmxvYXQgdV92ZXJ0aWNhbF9ncmFkaWVudDt1bmlmb3JtIGxvd3AgZmxvYXQgdV9vcGFjaXR5O2F0dHJpYnV0ZSB2ZWMyIGFfcG9zO2F0dHJpYnV0ZSB2ZWM0IGFfbm9ybWFsX2VkO3ZhcnlpbmcgdmVjNCB2X2NvbG9yO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCBmbG9hdCBiYXNlXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIGZsb2F0IGhlaWdodFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCBmbG9hdCBiYXNlXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCBmbG9hdCBoZWlnaHRcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbnZlYzMgbm9ybWFsPWFfbm9ybWFsX2VkLnh5ejtiYXNlPW1heCgwLjAsYmFzZSk7aGVpZ2h0PW1heCgwLjAsaGVpZ2h0KTtmbG9hdCB0PW1vZChub3JtYWwueCwyLjApO2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsdCA+IDAuMCA/IGhlaWdodCA6IGJhc2UsMSk7ZmxvYXQgY29sb3J2YWx1ZT1jb2xvci5yKjAuMjEyNitjb2xvci5nKjAuNzE1Mitjb2xvci5iKjAuMDcyMjt2X2NvbG9yPXZlYzQoMC4wLDAuMCwwLjAsMS4wKTt2ZWM0IGFtYmllbnRsaWdodD12ZWM0KDAuMDMsMC4wMywwLjAzLDEuMCk7Y29sb3IrPWFtYmllbnRsaWdodDtmbG9hdCBkaXJlY3Rpb25hbD1jbGFtcChkb3Qobm9ybWFsLzE2Mzg0LjAsdV9saWdodHBvcyksMC4wLDEuMCk7ZGlyZWN0aW9uYWw9bWl4KCgxLjAtdV9saWdodGludGVuc2l0eSksbWF4KCgxLjAtY29sb3J2YWx1ZSt1X2xpZ2h0aW50ZW5zaXR5KSwxLjApLGRpcmVjdGlvbmFsKTtpZiAobm9ybWFsLnkgIT0wLjApIHtkaXJlY3Rpb25hbCo9KCgxLjAtdV92ZXJ0aWNhbF9ncmFkaWVudCkrKHVfdmVydGljYWxfZ3JhZGllbnQqY2xhbXAoKHQrYmFzZSkqcG93KGhlaWdodC8xNTAuMCwwLjUpLG1peCgwLjcsMC45OCwxLjAtdV9saWdodGludGVuc2l0eSksMS4wKSkpO312X2NvbG9yLnIrPWNsYW1wKGNvbG9yLnIqZGlyZWN0aW9uYWwqdV9saWdodGNvbG9yLnIsbWl4KDAuMCwwLjMsMS4wLXVfbGlnaHRjb2xvci5yKSwxLjApO3ZfY29sb3IuZys9Y2xhbXAoY29sb3IuZypkaXJlY3Rpb25hbCp1X2xpZ2h0Y29sb3IuZyxtaXgoMC4wLDAuMywxLjAtdV9saWdodGNvbG9yLmcpLDEuMCk7dl9jb2xvci5iKz1jbGFtcChjb2xvci5iKmRpcmVjdGlvbmFsKnVfbGlnaHRjb2xvci5iLG1peCgwLjAsMC4zLDEuMC11X2xpZ2h0Y29sb3IuYiksMS4wKTt2X2NvbG9yKj11X29wYWNpdHk7fSIpLCRlPWNyKCJ1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3VuaWZvcm0gZmxvYXQgdV9mYWRlO3VuaWZvcm0gc2FtcGxlcjJEIHVfaW1hZ2U7dmFyeWluZyB2ZWMyIHZfcG9zX2E7dmFyeWluZyB2ZWMyIHZfcG9zX2I7dmFyeWluZyB2ZWM0IHZfbGlnaHRpbmc7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmFzZVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGhlaWdodFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX3RvXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJhc2VcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGVpZ2h0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xudmVjMiBwYXR0ZXJuX3RsX2E9cGF0dGVybl9mcm9tLnh5O3ZlYzIgcGF0dGVybl9icl9hPXBhdHRlcm5fZnJvbS56dzt2ZWMyIHBhdHRlcm5fdGxfYj1wYXR0ZXJuX3RvLnh5O3ZlYzIgcGF0dGVybl9icl9iPXBhdHRlcm5fdG8uenc7dmVjMiBpbWFnZWNvb3JkPW1vZCh2X3Bvc19hLDEuMCk7dmVjMiBwb3M9bWl4KHBhdHRlcm5fdGxfYS91X3RleHNpemUscGF0dGVybl9icl9hL3VfdGV4c2l6ZSxpbWFnZWNvb3JkKTt2ZWM0IGNvbG9yMT10ZXh0dXJlMkQodV9pbWFnZSxwb3MpO3ZlYzIgaW1hZ2Vjb29yZF9iPW1vZCh2X3Bvc19iLDEuMCk7dmVjMiBwb3MyPW1peChwYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHBhdHRlcm5fYnJfYi91X3RleHNpemUsaW1hZ2Vjb29yZF9iKTt2ZWM0IGNvbG9yMj10ZXh0dXJlMkQodV9pbWFnZSxwb3MyKTt2ZWM0IG1peGVkQ29sb3I9bWl4KGNvbG9yMSxjb2xvcjIsdV9mYWRlKTtnbF9GcmFnQ29sb3I9bWl4ZWRDb2xvcip2X2xpZ2h0aW5nO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF91cHBlcjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF9sb3dlcjt1bmlmb3JtIGZsb2F0IHVfaGVpZ2h0X2ZhY3Rvcjt1bmlmb3JtIHZlYzQgdV9zY2FsZTt1bmlmb3JtIGZsb2F0IHVfdmVydGljYWxfZ3JhZGllbnQ7dW5pZm9ybSBsb3dwIGZsb2F0IHVfb3BhY2l0eTt1bmlmb3JtIHZlYzMgdV9saWdodGNvbG9yO3VuaWZvcm0gbG93cCB2ZWMzIHVfbGlnaHRwb3M7dW5pZm9ybSBsb3dwIGZsb2F0IHVfbGlnaHRpbnRlbnNpdHk7YXR0cmlidXRlIHZlYzIgYV9wb3M7YXR0cmlidXRlIHZlYzQgYV9ub3JtYWxfZWQ7dmFyeWluZyB2ZWMyIHZfcG9zX2E7dmFyeWluZyB2ZWMyIHZfcG9zX2I7dmFyeWluZyB2ZWM0IHZfbGlnaHRpbmc7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmFzZVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGhlaWdodFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX3RvXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJhc2VcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGVpZ2h0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xudmVjMiBwYXR0ZXJuX3RsX2E9cGF0dGVybl9mcm9tLnh5O3ZlYzIgcGF0dGVybl9icl9hPXBhdHRlcm5fZnJvbS56dzt2ZWMyIHBhdHRlcm5fdGxfYj1wYXR0ZXJuX3RvLnh5O3ZlYzIgcGF0dGVybl9icl9iPXBhdHRlcm5fdG8uenc7ZmxvYXQgcGl4ZWxSYXRpbz11X3NjYWxlLng7ZmxvYXQgdGlsZVJhdGlvPXVfc2NhbGUueTtmbG9hdCBmcm9tU2NhbGU9dV9zY2FsZS56O2Zsb2F0IHRvU2NhbGU9dV9zY2FsZS53O3ZlYzMgbm9ybWFsPWFfbm9ybWFsX2VkLnh5ejtmbG9hdCBlZGdlZGlzdGFuY2U9YV9ub3JtYWxfZWQudzt2ZWMyIGRpc3BsYXlfc2l6ZV9hPXZlYzIoKHBhdHRlcm5fYnJfYS54LXBhdHRlcm5fdGxfYS54KS9waXhlbFJhdGlvLChwYXR0ZXJuX2JyX2EueS1wYXR0ZXJuX3RsX2EueSkvcGl4ZWxSYXRpbyk7dmVjMiBkaXNwbGF5X3NpemVfYj12ZWMyKChwYXR0ZXJuX2JyX2IueC1wYXR0ZXJuX3RsX2IueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9iLnktcGF0dGVybl90bF9iLnkpL3BpeGVsUmF0aW8pO2Jhc2U9bWF4KDAuMCxiYXNlKTtoZWlnaHQ9bWF4KDAuMCxoZWlnaHQpO2Zsb2F0IHQ9bW9kKG5vcm1hbC54LDIuMCk7ZmxvYXQgej10ID4gMC4wID8gaGVpZ2h0IDogYmFzZTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLHosMSk7dmVjMiBwb3M9bm9ybWFsLng9PTEuMCAmJiBub3JtYWwueT09MC4wICYmIG5vcm1hbC56PT0xNjM4NC4wXG4/IGFfcG9zXG46IHZlYzIoZWRnZWRpc3RhbmNlLHoqdV9oZWlnaHRfZmFjdG9yKTt2X3Bvc19hPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsZnJvbVNjYWxlKmRpc3BsYXlfc2l6ZV9hLHRpbGVSYXRpbyxwb3MpO3ZfcG9zX2I9Z2V0X3BhdHRlcm5fcG9zKHVfcGl4ZWxfY29vcmRfdXBwZXIsdV9waXhlbF9jb29yZF9sb3dlcix0b1NjYWxlKmRpc3BsYXlfc2l6ZV9iLHRpbGVSYXRpbyxwb3MpO3ZfbGlnaHRpbmc9dmVjNCgwLjAsMC4wLDAuMCwxLjApO2Zsb2F0IGRpcmVjdGlvbmFsPWNsYW1wKGRvdChub3JtYWwvMTYzODMuMCx1X2xpZ2h0cG9zKSwwLjAsMS4wKTtkaXJlY3Rpb25hbD1taXgoKDEuMC11X2xpZ2h0aW50ZW5zaXR5KSxtYXgoKDAuNSt1X2xpZ2h0aW50ZW5zaXR5KSwxLjApLGRpcmVjdGlvbmFsKTtpZiAobm9ybWFsLnkgIT0wLjApIHtkaXJlY3Rpb25hbCo9KCgxLjAtdV92ZXJ0aWNhbF9ncmFkaWVudCkrKHVfdmVydGljYWxfZ3JhZGllbnQqY2xhbXAoKHQrYmFzZSkqcG93KGhlaWdodC8xNTAuMCwwLjUpLG1peCgwLjcsMC45OCwxLjAtdV9saWdodGludGVuc2l0eSksMS4wKSkpO312X2xpZ2h0aW5nLnJnYis9Y2xhbXAoZGlyZWN0aW9uYWwqdV9saWdodGNvbG9yLG1peCh2ZWMzKDAuMCksdmVjMygwLjMpLDEuMC11X2xpZ2h0Y29sb3IpLHZlYzMoMS4wKSk7dl9saWdodGluZyo9dV9vcGFjaXR5O30iKSx0cj1jcigiI2lmZGVmIEdMX0VTXG5wcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZW5kaWZcbnVuaWZvcm0gc2FtcGxlcjJEIHVfaW1hZ2U7dmFyeWluZyB2ZWMyIHZfcG9zO3VuaWZvcm0gdmVjMiB1X2RpbWVuc2lvbjt1bmlmb3JtIGZsb2F0IHVfem9vbTt1bmlmb3JtIGZsb2F0IHVfbWF4em9vbTtmbG9hdCBnZXRFbGV2YXRpb24odmVjMiBjb29yZCxmbG9hdCBiaWFzKSB7dmVjNCBkYXRhPXRleHR1cmUyRCh1X2ltYWdlLGNvb3JkKSoyNTUuMDtyZXR1cm4gKGRhdGEucitkYXRhLmcqMjU2LjArZGF0YS5iKjI1Ni4wKjI1Ni4wKS80LjA7fXZvaWQgbWFpbigpIHt2ZWMyIGVwc2lsb249MS4wL3VfZGltZW5zaW9uO2Zsb2F0IGE9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoLWVwc2lsb24ueCwtZXBzaWxvbi55KSwwLjApO2Zsb2F0IGI9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoMCwtZXBzaWxvbi55KSwwLjApO2Zsb2F0IGM9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoZXBzaWxvbi54LC1lcHNpbG9uLnkpLDAuMCk7ZmxvYXQgZD1nZXRFbGV2YXRpb24odl9wb3MrdmVjMigtZXBzaWxvbi54LDApLDAuMCk7ZmxvYXQgZT1nZXRFbGV2YXRpb24odl9wb3MsMC4wKTtmbG9hdCBmPWdldEVsZXZhdGlvbih2X3Bvcyt2ZWMyKGVwc2lsb24ueCwwKSwwLjApO2Zsb2F0IGc9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoLWVwc2lsb24ueCxlcHNpbG9uLnkpLDAuMCk7ZmxvYXQgaD1nZXRFbGV2YXRpb24odl9wb3MrdmVjMigwLGVwc2lsb24ueSksMC4wKTtmbG9hdCBpPWdldEVsZXZhdGlvbih2X3Bvcyt2ZWMyKGVwc2lsb24ueCxlcHNpbG9uLnkpLDAuMCk7ZmxvYXQgZXhhZ2dlcmF0aW9uPXVfem9vbSA8IDIuMCA/IDAuNCA6IHVfem9vbSA8IDQuNSA/IDAuMzUgOiAwLjM7dmVjMiBkZXJpdj12ZWMyKChjK2YrZitpKS0oYStkK2QrZyksKGcraCtoK2kpLShhK2IrYitjKSkvIHBvdygyLjAsKHVfem9vbS11X21heHpvb20pKmV4YWdnZXJhdGlvbisxOS4yNTYyLXVfem9vbSk7Z2xfRnJhZ0NvbG9yPWNsYW1wKHZlYzQoZGVyaXYueC8yLjArMC41LGRlcml2LnkvMi4wKzAuNSwxLjAsMS4wKSwwLjAsMS4wKTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfZGltZW5zaW9uO2F0dHJpYnV0ZSB2ZWMyIGFfcG9zO2F0dHJpYnV0ZSB2ZWMyIGFfdGV4dHVyZV9wb3M7dmFyeWluZyB2ZWMyIHZfcG9zO3ZvaWQgbWFpbigpIHtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAsMSk7aGlnaHAgdmVjMiBlcHNpbG9uPTEuMC91X2RpbWVuc2lvbjtmbG9hdCBzY2FsZT0odV9kaW1lbnNpb24ueC0yLjApL3VfZGltZW5zaW9uLng7dl9wb3M9KGFfdGV4dHVyZV9wb3MvODE5Mi4wKSpzY2FsZStlcHNpbG9uO30iKSxlcj1jcigidW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt2YXJ5aW5nIHZlYzIgdl9wb3M7dW5pZm9ybSB2ZWMyIHVfbGF0cmFuZ2U7dW5pZm9ybSB2ZWMyIHVfbGlnaHQ7dW5pZm9ybSB2ZWM0IHVfc2hhZG93O3VuaWZvcm0gdmVjNCB1X2hpZ2hsaWdodDt1bmlmb3JtIHZlYzQgdV9hY2NlbnQ7XG4jZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTg5NzkzXG52b2lkIG1haW4oKSB7dmVjNCBwaXhlbD10ZXh0dXJlMkQodV9pbWFnZSx2X3Bvcyk7dmVjMiBkZXJpdj0oKHBpeGVsLnJnKjIuMCktMS4wKTtmbG9hdCBzY2FsZUZhY3Rvcj1jb3MocmFkaWFucygodV9sYXRyYW5nZVswXS11X2xhdHJhbmdlWzFdKSooMS4wLXZfcG9zLnkpK3VfbGF0cmFuZ2VbMV0pKTtmbG9hdCBzbG9wZT1hdGFuKDEuMjUqbGVuZ3RoKGRlcml2KS9zY2FsZUZhY3Rvcik7ZmxvYXQgYXNwZWN0PWRlcml2LnggIT0wLjAgPyBhdGFuKGRlcml2LnksLWRlcml2LngpIDogUEkvMi4wKihkZXJpdi55ID4gMC4wID8gMS4wIDotMS4wKTtmbG9hdCBpbnRlbnNpdHk9dV9saWdodC54O2Zsb2F0IGF6aW11dGg9dV9saWdodC55K1BJO2Zsb2F0IGJhc2U9MS44NzUtaW50ZW5zaXR5KjEuNzU7ZmxvYXQgbWF4VmFsdWU9MC41KlBJO2Zsb2F0IHNjYWxlZFNsb3BlPWludGVuc2l0eSAhPTAuNSA/ICgocG93KGJhc2Usc2xvcGUpLTEuMCkvKHBvdyhiYXNlLG1heFZhbHVlKS0xLjApKSptYXhWYWx1ZSA6IHNsb3BlO2Zsb2F0IGFjY2VudD1jb3Moc2NhbGVkU2xvcGUpO3ZlYzQgYWNjZW50X2NvbG9yPSgxLjAtYWNjZW50KSp1X2FjY2VudCpjbGFtcChpbnRlbnNpdHkqMi4wLDAuMCwxLjApO2Zsb2F0IHNoYWRlPWFicyhtb2QoKGFzcGVjdCthemltdXRoKS9QSSswLjUsMi4wKS0xLjApO3ZlYzQgc2hhZGVfY29sb3I9bWl4KHVfc2hhZG93LHVfaGlnaGxpZ2h0LHNoYWRlKSpzaW4oc2NhbGVkU2xvcGUpKmNsYW1wKGludGVuc2l0eSoyLjAsMC4wLDEuMCk7Z2xfRnJhZ0NvbG9yPWFjY2VudF9jb2xvciooMS4wLXNoYWRlX2NvbG9yLmEpK3NoYWRlX2NvbG9yO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDthdHRyaWJ1dGUgdmVjMiBhX3BvczthdHRyaWJ1dGUgdmVjMiBhX3RleHR1cmVfcG9zO3ZhcnlpbmcgdmVjMiB2X3Bvczt2b2lkIG1haW4oKSB7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO3ZfcG9zPWFfdGV4dHVyZV9wb3MvODE5Mi4wO30iKSxycj1jcigidW5pZm9ybSBsb3dwIGZsb2F0IHVfZGV2aWNlX3BpeGVsX3JhdGlvO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5mbG9hdCBkaXN0PWxlbmd0aCh2X25vcm1hbCkqdl93aWR0aDIucztmbG9hdCBibHVyMj0oYmx1cisxLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8pKnZfZ2FtbWFfc2NhbGU7ZmxvYXQgYWxwaGE9Y2xhbXAobWluKGRpc3QtKHZfd2lkdGgyLnQtYmx1cjIpLHZfd2lkdGgyLnMtZGlzdCkvYmx1cjIsMC4wLDEuMCk7Z2xfRnJhZ0NvbG9yPWNvbG9yKihhbHBoYSpvcGFjaXR5KTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJcbiNkZWZpbmUgc2NhbGUgMC4wMTU4NzMwMTZcbmF0dHJpYnV0ZSB2ZWMyIGFfcG9zX25vcm1hbDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWVkaXVtcCBmbG9hdCB1X3JhdGlvO3VuaWZvcm0gdmVjMiB1X3VuaXRzX3RvX3BpeGVsczt1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dmFyeWluZyB2ZWMyIHZfbm9ybWFsO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIGZsb2F0IHZfZ2FtbWFfc2NhbGU7dmFyeWluZyBoaWdocCBmbG9hdCB2X2xpbmVzb2ZhcjtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvZmZzZXRcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCB3aWR0aFxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIGZsb2F0IHdpZHRoXG5mbG9hdCBBTlRJQUxJQVNJTkc9MS4wL3VfZGV2aWNlX3BpeGVsX3JhdGlvLzIuMDt2ZWMyIGFfZXh0cnVkZT1hX2RhdGEueHktMTI4LjA7ZmxvYXQgYV9kaXJlY3Rpb249bW9kKGFfZGF0YS56LDQuMCktMS4wO3ZfbGluZXNvZmFyPShmbG9vcihhX2RhdGEuei80LjApK2FfZGF0YS53KjY0LjApKjIuMDt2ZWMyIHBvcz1mbG9vcihhX3Bvc19ub3JtYWwqMC41KTttZWRpdW1wIHZlYzIgbm9ybWFsPWFfcG9zX25vcm1hbC0yLjAqcG9zO25vcm1hbC55PW5vcm1hbC55KjIuMC0xLjA7dl9ub3JtYWw9bm9ybWFsO2dhcHdpZHRoPWdhcHdpZHRoLzIuMDtmbG9hdCBoYWxmd2lkdGg9d2lkdGgvMi4wO29mZnNldD0tMS4wKm9mZnNldDtmbG9hdCBpbnNldD1nYXB3aWR0aCsoZ2Fwd2lkdGggPiAwLjAgPyBBTlRJQUxJQVNJTkcgOiAwLjApO2Zsb2F0IG91dHNldD1nYXB3aWR0aCtoYWxmd2lkdGgqKGdhcHdpZHRoID4gMC4wID8gMi4wIDogMS4wKSsoaGFsZndpZHRoPT0wLjAgPyAwLjAgOiBBTlRJQUxJQVNJTkcpO21lZGl1bXAgdmVjMiBkaXN0PW91dHNldCphX2V4dHJ1ZGUqc2NhbGU7bWVkaXVtcCBmbG9hdCB1PTAuNSphX2RpcmVjdGlvbjttZWRpdW1wIGZsb2F0IHQ9MS4wLWFicyh1KTttZWRpdW1wIHZlYzIgb2Zmc2V0Mj1vZmZzZXQqYV9leHRydWRlKnNjYWxlKm5vcm1hbC55Km1hdDIodCwtdSx1LHQpO3ZlYzQgcHJvamVjdGVkX2V4dHJ1ZGU9dV9tYXRyaXgqdmVjNChkaXN0L3VfcmF0aW8sMC4wLDAuMCk7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChwb3Mrb2Zmc2V0Mi91X3JhdGlvLDAuMCwxLjApK3Byb2plY3RlZF9leHRydWRlO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmU9bGVuZ3RoKGRpc3QpO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhfcGVyc3BlY3RpdmU9bGVuZ3RoKHByb2plY3RlZF9leHRydWRlLnh5L2dsX1Bvc2l0aW9uLncqdV91bml0c190b19waXhlbHMpO3ZfZ2FtbWFfc2NhbGU9ZXh0cnVkZV9sZW5ndGhfd2l0aG91dF9wZXJzcGVjdGl2ZS9leHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlO3Zfd2lkdGgyPXZlYzIob3V0c2V0LGluc2V0KTt9IiksbnI9Y3IoInVuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO3ZhcnlpbmcgaGlnaHAgZmxvYXQgdl9saW5lcHJvZ3Jlc3M7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5mbG9hdCBkaXN0PWxlbmd0aCh2X25vcm1hbCkqdl93aWR0aDIucztmbG9hdCBibHVyMj0oYmx1cisxLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8pKnZfZ2FtbWFfc2NhbGU7ZmxvYXQgYWxwaGE9Y2xhbXAobWluKGRpc3QtKHZfd2lkdGgyLnQtYmx1cjIpLHZfd2lkdGgyLnMtZGlzdCkvYmx1cjIsMC4wLDEuMCk7dmVjNCBjb2xvcj10ZXh0dXJlMkQodV9pbWFnZSx2ZWMyKHZfbGluZXByb2dyZXNzLDAuNSkpO2dsX0ZyYWdDb2xvcj1jb2xvciooYWxwaGEqb3BhY2l0eSk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwiXG4jZGVmaW5lIE1BWF9MSU5FX0RJU1RBTkNFIDMyNzY3LjBcbiNkZWZpbmUgc2NhbGUgMC4wMTU4NzMwMTZcbmF0dHJpYnV0ZSB2ZWMyIGFfcG9zX25vcm1hbDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWVkaXVtcCBmbG9hdCB1X3JhdGlvO3VuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt1bmlmb3JtIHZlYzIgdV91bml0c190b19waXhlbHM7dmFyeWluZyB2ZWMyIHZfbm9ybWFsO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIGZsb2F0IHZfZ2FtbWFfc2NhbGU7dmFyeWluZyBoaWdocCBmbG9hdCB2X2xpbmVwcm9ncmVzcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBtZWRpdW1wIGZsb2F0IGdhcHdpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgd2lkdGhcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIGZsb2F0IGdhcHdpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9mZnNldFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCBmbG9hdCB3aWR0aFxuZmxvYXQgQU5USUFMSUFTSU5HPTEuMC91X2RldmljZV9waXhlbF9yYXRpby8yLjA7dmVjMiBhX2V4dHJ1ZGU9YV9kYXRhLnh5LTEyOC4wO2Zsb2F0IGFfZGlyZWN0aW9uPW1vZChhX2RhdGEueiw0LjApLTEuMDt2X2xpbmVwcm9ncmVzcz0oZmxvb3IoYV9kYXRhLnovNC4wKSthX2RhdGEudyo2NC4wKSoyLjAvTUFYX0xJTkVfRElTVEFOQ0U7dmVjMiBwb3M9Zmxvb3IoYV9wb3Nfbm9ybWFsKjAuNSk7bWVkaXVtcCB2ZWMyIG5vcm1hbD1hX3Bvc19ub3JtYWwtMi4wKnBvcztub3JtYWwueT1ub3JtYWwueSoyLjAtMS4wO3Zfbm9ybWFsPW5vcm1hbDtnYXB3aWR0aD1nYXB3aWR0aC8yLjA7ZmxvYXQgaGFsZndpZHRoPXdpZHRoLzIuMDtvZmZzZXQ9LTEuMCpvZmZzZXQ7ZmxvYXQgaW5zZXQ9Z2Fwd2lkdGgrKGdhcHdpZHRoID4gMC4wID8gQU5USUFMSUFTSU5HIDogMC4wKTtmbG9hdCBvdXRzZXQ9Z2Fwd2lkdGgraGFsZndpZHRoKihnYXB3aWR0aCA+IDAuMCA/IDIuMCA6IDEuMCkrKGhhbGZ3aWR0aD09MC4wID8gMC4wIDogQU5USUFMSUFTSU5HKTttZWRpdW1wIHZlYzIgZGlzdD1vdXRzZXQqYV9leHRydWRlKnNjYWxlO21lZGl1bXAgZmxvYXQgdT0wLjUqYV9kaXJlY3Rpb247bWVkaXVtcCBmbG9hdCB0PTEuMC1hYnModSk7bWVkaXVtcCB2ZWMyIG9mZnNldDI9b2Zmc2V0KmFfZXh0cnVkZSpzY2FsZSpub3JtYWwueSptYXQyKHQsLXUsdSx0KTt2ZWM0IHByb2plY3RlZF9leHRydWRlPXVfbWF0cml4KnZlYzQoZGlzdC91X3JhdGlvLDAuMCwwLjApO2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQocG9zK29mZnNldDIvdV9yYXRpbywwLjAsMS4wKStwcm9qZWN0ZWRfZXh0cnVkZTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRob3V0X3BlcnNwZWN0aXZlPWxlbmd0aChkaXN0KTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlPWxlbmd0aChwcm9qZWN0ZWRfZXh0cnVkZS54eS9nbF9Qb3NpdGlvbi53KnVfdW5pdHNfdG9fcGl4ZWxzKTt2X2dhbW1hX3NjYWxlPWV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmUvZXh0cnVkZV9sZW5ndGhfd2l0aF9wZXJzcGVjdGl2ZTt2X3dpZHRoMj12ZWMyKG91dHNldCxpbnNldCk7fSIpLGFyPWNyKCJ1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSB2ZWMyIHVfdGV4c2l6ZTt1bmlmb3JtIGZsb2F0IHVfZmFkZTt1bmlmb3JtIG1lZGl1bXAgdmVjNCB1X3NjYWxlO3VuaWZvcm0gc2FtcGxlcjJEIHVfaW1hZ2U7dmFyeWluZyB2ZWMyIHZfbm9ybWFsO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIGZsb2F0IHZfbGluZXNvZmFyO3ZhcnlpbmcgZmxvYXQgdl9nYW1tYV9zY2FsZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl90b1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O2Zsb2F0IHBpeGVsUmF0aW89dV9zY2FsZS54O2Zsb2F0IHRpbGVab29tUmF0aW89dV9zY2FsZS55O2Zsb2F0IGZyb21TY2FsZT11X3NjYWxlLno7ZmxvYXQgdG9TY2FsZT11X3NjYWxlLnc7dmVjMiBkaXNwbGF5X3NpemVfYT12ZWMyKChwYXR0ZXJuX2JyX2EueC1wYXR0ZXJuX3RsX2EueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9hLnktcGF0dGVybl90bF9hLnkpL3BpeGVsUmF0aW8pO3ZlYzIgZGlzcGxheV9zaXplX2I9dmVjMigocGF0dGVybl9icl9iLngtcGF0dGVybl90bF9iLngpL3BpeGVsUmF0aW8sKHBhdHRlcm5fYnJfYi55LXBhdHRlcm5fdGxfYi55KS9waXhlbFJhdGlvKTt2ZWMyIHBhdHRlcm5fc2l6ZV9hPXZlYzIoZGlzcGxheV9zaXplX2EueCpmcm9tU2NhbGUvdGlsZVpvb21SYXRpbyxkaXNwbGF5X3NpemVfYS55KTt2ZWMyIHBhdHRlcm5fc2l6ZV9iPXZlYzIoZGlzcGxheV9zaXplX2IueCp0b1NjYWxlL3RpbGVab29tUmF0aW8sZGlzcGxheV9zaXplX2IueSk7ZmxvYXQgZGlzdD1sZW5ndGgodl9ub3JtYWwpKnZfd2lkdGgyLnM7ZmxvYXQgYmx1cjI9KGJsdXIrMS4wL3VfZGV2aWNlX3BpeGVsX3JhdGlvKSp2X2dhbW1hX3NjYWxlO2Zsb2F0IGFscGhhPWNsYW1wKG1pbihkaXN0LSh2X3dpZHRoMi50LWJsdXIyKSx2X3dpZHRoMi5zLWRpc3QpL2JsdXIyLDAuMCwxLjApO2Zsb2F0IHhfYT1tb2Qodl9saW5lc29mYXIvcGF0dGVybl9zaXplX2EueCwxLjApO2Zsb2F0IHhfYj1tb2Qodl9saW5lc29mYXIvcGF0dGVybl9zaXplX2IueCwxLjApO2Zsb2F0IHlfYT0wLjUrKHZfbm9ybWFsLnkqY2xhbXAodl93aWR0aDIucywwLjAsKHBhdHRlcm5fc2l6ZV9hLnkrMi4wKS8yLjApL3BhdHRlcm5fc2l6ZV9hLnkpO2Zsb2F0IHlfYj0wLjUrKHZfbm9ybWFsLnkqY2xhbXAodl93aWR0aDIucywwLjAsKHBhdHRlcm5fc2l6ZV9iLnkrMi4wKS8yLjApL3BhdHRlcm5fc2l6ZV9iLnkpO3ZlYzIgcG9zX2E9bWl4KHBhdHRlcm5fdGxfYS91X3RleHNpemUscGF0dGVybl9icl9hL3VfdGV4c2l6ZSx2ZWMyKHhfYSx5X2EpKTt2ZWMyIHBvc19iPW1peChwYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHBhdHRlcm5fYnJfYi91X3RleHNpemUsdmVjMih4X2IseV9iKSk7dmVjNCBjb2xvcj1taXgodGV4dHVyZTJEKHVfaW1hZ2UscG9zX2EpLHRleHR1cmUyRCh1X2ltYWdlLHBvc19iKSx1X2ZhZGUpO2dsX0ZyYWdDb2xvcj1jb2xvciphbHBoYSpvcGFjaXR5O1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsIlxuI2RlZmluZSBzY2FsZSAwLjAxNTg3MzAxNlxuI2RlZmluZSBMSU5FX0RJU1RBTkNFX1NDQUxFIDIuMFxuYXR0cmlidXRlIHZlYzIgYV9wb3Nfbm9ybWFsO2F0dHJpYnV0ZSB2ZWM0IGFfZGF0YTt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfdW5pdHNfdG9fcGl4ZWxzO3VuaWZvcm0gbWVkaXVtcCBmbG9hdCB1X3JhdGlvO3VuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyB2ZWMyIHZfd2lkdGgyO3ZhcnlpbmcgZmxvYXQgdl9saW5lc29mYXI7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCB3aWR0aFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX3RvXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvZmZzZXRcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgdmVjNCBwYXR0ZXJuX3RvXG5mbG9hdCBBTlRJQUxJQVNJTkc9MS4wL3VfZGV2aWNlX3BpeGVsX3JhdGlvLzIuMDt2ZWMyIGFfZXh0cnVkZT1hX2RhdGEueHktMTI4LjA7ZmxvYXQgYV9kaXJlY3Rpb249bW9kKGFfZGF0YS56LDQuMCktMS4wO2Zsb2F0IGFfbGluZXNvZmFyPShmbG9vcihhX2RhdGEuei80LjApK2FfZGF0YS53KjY0LjApKkxJTkVfRElTVEFOQ0VfU0NBTEU7dmVjMiBwb3M9Zmxvb3IoYV9wb3Nfbm9ybWFsKjAuNSk7bWVkaXVtcCB2ZWMyIG5vcm1hbD1hX3Bvc19ub3JtYWwtMi4wKnBvcztub3JtYWwueT1ub3JtYWwueSoyLjAtMS4wO3Zfbm9ybWFsPW5vcm1hbDtnYXB3aWR0aD1nYXB3aWR0aC8yLjA7ZmxvYXQgaGFsZndpZHRoPXdpZHRoLzIuMDtvZmZzZXQ9LTEuMCpvZmZzZXQ7ZmxvYXQgaW5zZXQ9Z2Fwd2lkdGgrKGdhcHdpZHRoID4gMC4wID8gQU5USUFMSUFTSU5HIDogMC4wKTtmbG9hdCBvdXRzZXQ9Z2Fwd2lkdGgraGFsZndpZHRoKihnYXB3aWR0aCA+IDAuMCA/IDIuMCA6IDEuMCkrKGhhbGZ3aWR0aD09MC4wID8gMC4wIDogQU5USUFMSUFTSU5HKTttZWRpdW1wIHZlYzIgZGlzdD1vdXRzZXQqYV9leHRydWRlKnNjYWxlO21lZGl1bXAgZmxvYXQgdT0wLjUqYV9kaXJlY3Rpb247bWVkaXVtcCBmbG9hdCB0PTEuMC1hYnModSk7bWVkaXVtcCB2ZWMyIG9mZnNldDI9b2Zmc2V0KmFfZXh0cnVkZSpzY2FsZSpub3JtYWwueSptYXQyKHQsLXUsdSx0KTt2ZWM0IHByb2plY3RlZF9leHRydWRlPXVfbWF0cml4KnZlYzQoZGlzdC91X3JhdGlvLDAuMCwwLjApO2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQocG9zK29mZnNldDIvdV9yYXRpbywwLjAsMS4wKStwcm9qZWN0ZWRfZXh0cnVkZTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRob3V0X3BlcnNwZWN0aXZlPWxlbmd0aChkaXN0KTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlPWxlbmd0aChwcm9qZWN0ZWRfZXh0cnVkZS54eS9nbF9Qb3NpdGlvbi53KnVfdW5pdHNfdG9fcGl4ZWxzKTt2X2dhbW1hX3NjYWxlPWV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmUvZXh0cnVkZV9sZW5ndGhfd2l0aF9wZXJzcGVjdGl2ZTt2X2xpbmVzb2Zhcj1hX2xpbmVzb2Zhcjt2X3dpZHRoMj12ZWMyKG91dHNldCxpbnNldCk7fSIpLGlyPWNyKCJ1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt1bmlmb3JtIGZsb2F0IHVfc2RmZ2FtbWE7dW5pZm9ybSBmbG9hdCB1X21peDt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyB2ZWMyIHZfd2lkdGgyO3ZhcnlpbmcgdmVjMiB2X3RleF9hO3ZhcnlpbmcgdmVjMiB2X3RleF9iO3ZhcnlpbmcgZmxvYXQgdl9nYW1tYV9zY2FsZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBmbG9vcndpZHRoXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCBmbG9hdCB3aWR0aFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBmbG9vcndpZHRoXG5mbG9hdCBkaXN0PWxlbmd0aCh2X25vcm1hbCkqdl93aWR0aDIucztmbG9hdCBibHVyMj0oYmx1cisxLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8pKnZfZ2FtbWFfc2NhbGU7ZmxvYXQgYWxwaGE9Y2xhbXAobWluKGRpc3QtKHZfd2lkdGgyLnQtYmx1cjIpLHZfd2lkdGgyLnMtZGlzdCkvYmx1cjIsMC4wLDEuMCk7ZmxvYXQgc2RmZGlzdF9hPXRleHR1cmUyRCh1X2ltYWdlLHZfdGV4X2EpLmE7ZmxvYXQgc2RmZGlzdF9iPXRleHR1cmUyRCh1X2ltYWdlLHZfdGV4X2IpLmE7ZmxvYXQgc2RmZGlzdD1taXgoc2RmZGlzdF9hLHNkZmRpc3RfYix1X21peCk7YWxwaGEqPXNtb290aHN0ZXAoMC41LXVfc2RmZ2FtbWEvZmxvb3J3aWR0aCwwLjUrdV9zZGZnYW1tYS9mbG9vcndpZHRoLHNkZmRpc3QpO2dsX0ZyYWdDb2xvcj1jb2xvciooYWxwaGEqb3BhY2l0eSk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwiXG4jZGVmaW5lIHNjYWxlIDAuMDE1ODczMDE2XG4jZGVmaW5lIExJTkVfRElTVEFOQ0VfU0NBTEUgMi4wXG5hdHRyaWJ1dGUgdmVjMiBhX3Bvc19ub3JtYWw7YXR0cmlidXRlIHZlYzQgYV9kYXRhO3VuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIG1lZGl1bXAgZmxvYXQgdV9yYXRpbzt1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSB2ZWMyIHVfcGF0dGVybnNjYWxlX2E7dW5pZm9ybSBmbG9hdCB1X3RleF95X2E7dW5pZm9ybSB2ZWMyIHVfcGF0dGVybnNjYWxlX2I7dW5pZm9ybSBmbG9hdCB1X3RleF95X2I7dW5pZm9ybSB2ZWMyIHVfdW5pdHNfdG9fcGl4ZWxzO3ZhcnlpbmcgdmVjMiB2X25vcm1hbDt2YXJ5aW5nIHZlYzIgdl93aWR0aDI7dmFyeWluZyB2ZWMyIHZfdGV4X2E7dmFyeWluZyB2ZWMyIHZfdGV4X2I7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCBnYXB3aWR0aFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9mZnNldFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBtZWRpdW1wIGZsb2F0IHdpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgZmxvb3J3aWR0aFxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIGZsb2F0IHdpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGZsb29yd2lkdGhcbmZsb2F0IEFOVElBTElBU0lORz0xLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8vMi4wO3ZlYzIgYV9leHRydWRlPWFfZGF0YS54eS0xMjguMDtmbG9hdCBhX2RpcmVjdGlvbj1tb2QoYV9kYXRhLnosNC4wKS0xLjA7ZmxvYXQgYV9saW5lc29mYXI9KGZsb29yKGFfZGF0YS56LzQuMCkrYV9kYXRhLncqNjQuMCkqTElORV9ESVNUQU5DRV9TQ0FMRTt2ZWMyIHBvcz1mbG9vcihhX3Bvc19ub3JtYWwqMC41KTttZWRpdW1wIHZlYzIgbm9ybWFsPWFfcG9zX25vcm1hbC0yLjAqcG9zO25vcm1hbC55PW5vcm1hbC55KjIuMC0xLjA7dl9ub3JtYWw9bm9ybWFsO2dhcHdpZHRoPWdhcHdpZHRoLzIuMDtmbG9hdCBoYWxmd2lkdGg9d2lkdGgvMi4wO29mZnNldD0tMS4wKm9mZnNldDtmbG9hdCBpbnNldD1nYXB3aWR0aCsoZ2Fwd2lkdGggPiAwLjAgPyBBTlRJQUxJQVNJTkcgOiAwLjApO2Zsb2F0IG91dHNldD1nYXB3aWR0aCtoYWxmd2lkdGgqKGdhcHdpZHRoID4gMC4wID8gMi4wIDogMS4wKSsoaGFsZndpZHRoPT0wLjAgPyAwLjAgOiBBTlRJQUxJQVNJTkcpO21lZGl1bXAgdmVjMiBkaXN0PW91dHNldCphX2V4dHJ1ZGUqc2NhbGU7bWVkaXVtcCBmbG9hdCB1PTAuNSphX2RpcmVjdGlvbjttZWRpdW1wIGZsb2F0IHQ9MS4wLWFicyh1KTttZWRpdW1wIHZlYzIgb2Zmc2V0Mj1vZmZzZXQqYV9leHRydWRlKnNjYWxlKm5vcm1hbC55Km1hdDIodCwtdSx1LHQpO3ZlYzQgcHJvamVjdGVkX2V4dHJ1ZGU9dV9tYXRyaXgqdmVjNChkaXN0L3VfcmF0aW8sMC4wLDAuMCk7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChwb3Mrb2Zmc2V0Mi91X3JhdGlvLDAuMCwxLjApK3Byb2plY3RlZF9leHRydWRlO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmU9bGVuZ3RoKGRpc3QpO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhfcGVyc3BlY3RpdmU9bGVuZ3RoKHByb2plY3RlZF9leHRydWRlLnh5L2dsX1Bvc2l0aW9uLncqdV91bml0c190b19waXhlbHMpO3ZfZ2FtbWFfc2NhbGU9ZXh0cnVkZV9sZW5ndGhfd2l0aG91dF9wZXJzcGVjdGl2ZS9leHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlO3ZfdGV4X2E9dmVjMihhX2xpbmVzb2Zhcip1X3BhdHRlcm5zY2FsZV9hLngvZmxvb3J3aWR0aCxub3JtYWwueSp1X3BhdHRlcm5zY2FsZV9hLnkrdV90ZXhfeV9hKTt2X3RleF9iPXZlYzIoYV9saW5lc29mYXIqdV9wYXR0ZXJuc2NhbGVfYi54L2Zsb29yd2lkdGgsbm9ybWFsLnkqdV9wYXR0ZXJuc2NhbGVfYi55K3VfdGV4X3lfYik7dl93aWR0aDI9dmVjMihvdXRzZXQsaW5zZXQpO30iKSxvcj1jcigidW5pZm9ybSBmbG9hdCB1X2ZhZGVfdDt1bmlmb3JtIGZsb2F0IHVfb3BhY2l0eTt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlMDt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlMTt2YXJ5aW5nIHZlYzIgdl9wb3MwO3ZhcnlpbmcgdmVjMiB2X3BvczE7dW5pZm9ybSBmbG9hdCB1X2JyaWdodG5lc3NfbG93O3VuaWZvcm0gZmxvYXQgdV9icmlnaHRuZXNzX2hpZ2g7dW5pZm9ybSBmbG9hdCB1X3NhdHVyYXRpb25fZmFjdG9yO3VuaWZvcm0gZmxvYXQgdV9jb250cmFzdF9mYWN0b3I7dW5pZm9ybSB2ZWMzIHVfc3Bpbl93ZWlnaHRzO3ZvaWQgbWFpbigpIHt2ZWM0IGNvbG9yMD10ZXh0dXJlMkQodV9pbWFnZTAsdl9wb3MwKTt2ZWM0IGNvbG9yMT10ZXh0dXJlMkQodV9pbWFnZTEsdl9wb3MxKTtpZiAoY29sb3IwLmEgPiAwLjApIHtjb2xvcjAucmdiPWNvbG9yMC5yZ2IvY29sb3IwLmE7fWlmIChjb2xvcjEuYSA+IDAuMCkge2NvbG9yMS5yZ2I9Y29sb3IxLnJnYi9jb2xvcjEuYTt9dmVjNCBjb2xvcj1taXgoY29sb3IwLGNvbG9yMSx1X2ZhZGVfdCk7Y29sb3IuYSo9dV9vcGFjaXR5O3ZlYzMgcmdiPWNvbG9yLnJnYjtyZ2I9dmVjMyhkb3QocmdiLHVfc3Bpbl93ZWlnaHRzLnh5eiksZG90KHJnYix1X3NwaW5fd2VpZ2h0cy56eHkpLGRvdChyZ2IsdV9zcGluX3dlaWdodHMueXp4KSk7ZmxvYXQgYXZlcmFnZT0oY29sb3Iucitjb2xvci5nK2NvbG9yLmIpLzMuMDtyZ2IrPShhdmVyYWdlLXJnYikqdV9zYXR1cmF0aW9uX2ZhY3RvcjtyZ2I9KHJnYi0wLjUpKnVfY29udHJhc3RfZmFjdG9yKzAuNTt2ZWMzIHVfaGlnaF92ZWM9dmVjMyh1X2JyaWdodG5lc3NfbG93LHVfYnJpZ2h0bmVzc19sb3csdV9icmlnaHRuZXNzX2xvdyk7dmVjMyB1X2xvd192ZWM9dmVjMyh1X2JyaWdodG5lc3NfaGlnaCx1X2JyaWdodG5lc3NfaGlnaCx1X2JyaWdodG5lc3NfaGlnaCk7Z2xfRnJhZ0NvbG9yPXZlYzQobWl4KHVfaGlnaF92ZWMsdV9sb3dfdmVjLHJnYikqY29sb3IuYSxjb2xvci5hKTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfdGxfcGFyZW50O3VuaWZvcm0gZmxvYXQgdV9zY2FsZV9wYXJlbnQ7dW5pZm9ybSBmbG9hdCB1X2J1ZmZlcl9zY2FsZTthdHRyaWJ1dGUgdmVjMiBhX3BvczthdHRyaWJ1dGUgdmVjMiBhX3RleHR1cmVfcG9zO3ZhcnlpbmcgdmVjMiB2X3BvczA7dmFyeWluZyB2ZWMyIHZfcG9zMTt2b2lkIG1haW4oKSB7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO3ZfcG9zMD0oKChhX3RleHR1cmVfcG9zLzgxOTIuMCktMC41KS91X2J1ZmZlcl9zY2FsZSApKzAuNTt2X3BvczE9KHZfcG9zMCp1X3NjYWxlX3BhcmVudCkrdV90bF9wYXJlbnQ7fSIpLHNyPWNyKCJ1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7dmFyeWluZyB2ZWMyIHZfdGV4O3ZhcnlpbmcgZmxvYXQgdl9mYWRlX29wYWNpdHk7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5sb3dwIGZsb2F0IGFscGhhPW9wYWNpdHkqdl9mYWRlX29wYWNpdHk7Z2xfRnJhZ0NvbG9yPXRleHR1cmUyRCh1X3RleHR1cmUsdl90ZXgpKmFscGhhO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsImNvbnN0IGZsb2F0IFBJPTMuMTQxNTkyNjUzNTg5NzkzO2F0dHJpYnV0ZSB2ZWM0IGFfcG9zX29mZnNldDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7YXR0cmlidXRlIHZlYzMgYV9wcm9qZWN0ZWRfcG9zO2F0dHJpYnV0ZSBmbG9hdCBhX2ZhZGVfb3BhY2l0eTt1bmlmb3JtIGJvb2wgdV9pc19zaXplX3pvb21fY29uc3RhbnQ7dW5pZm9ybSBib29sIHVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50O3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9zaXplX3Q7dW5pZm9ybSBoaWdocCBmbG9hdCB1X3NpemU7dW5pZm9ybSBoaWdocCBmbG9hdCB1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U7dW5pZm9ybSBoaWdocCBmbG9hdCB1X3BpdGNoO3VuaWZvcm0gYm9vbCB1X3JvdGF0ZV9zeW1ib2w7dW5pZm9ybSBoaWdocCBmbG9hdCB1X2FzcGVjdF9yYXRpbzt1bmlmb3JtIGZsb2F0IHVfZmFkZV9jaGFuZ2U7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWF0NCB1X2xhYmVsX3BsYW5lX21hdHJpeDt1bmlmb3JtIG1hdDQgdV9jb29yZF9tYXRyaXg7dW5pZm9ybSBib29sIHVfaXNfdGV4dDt1bmlmb3JtIGJvb2wgdV9waXRjaF93aXRoX21hcDt1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3ZhcnlpbmcgdmVjMiB2X3RleDt2YXJ5aW5nIGZsb2F0IHZfZmFkZV9vcGFjaXR5O1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxudmVjMiBhX3Bvcz1hX3Bvc19vZmZzZXQueHk7dmVjMiBhX29mZnNldD1hX3Bvc19vZmZzZXQuenc7dmVjMiBhX3RleD1hX2RhdGEueHk7dmVjMiBhX3NpemU9YV9kYXRhLnp3O2hpZ2hwIGZsb2F0IHNlZ21lbnRfYW5nbGU9LWFfcHJvamVjdGVkX3Bvc1syXTtmbG9hdCBzaXplO2lmICghdV9pc19zaXplX3pvb21fY29uc3RhbnQgJiYgIXVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSB7c2l6ZT1taXgoYV9zaXplWzBdLGFfc2l6ZVsxXSx1X3NpemVfdCkvMjU2LjA7fSBlbHNlIGlmICh1X2lzX3NpemVfem9vbV9jb25zdGFudCAmJiAhdV9pc19zaXplX2ZlYXR1cmVfY29uc3RhbnQpIHtzaXplPWFfc2l6ZVswXS8yNTYuMDt9IGVsc2UgaWYgKCF1X2lzX3NpemVfem9vbV9jb25zdGFudCAmJiB1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudCkge3NpemU9dV9zaXplO30gZWxzZSB7c2l6ZT11X3NpemU7fXZlYzQgcHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO2hpZ2hwIGZsb2F0IGNhbWVyYV90b19hbmNob3JfZGlzdGFuY2U9cHJvamVjdGVkUG9pbnQudztoaWdocCBmbG9hdCBkaXN0YW5jZV9yYXRpbz11X3BpdGNoX3dpdGhfbWFwID9cbmNhbWVyYV90b19hbmNob3JfZGlzdGFuY2UvdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlIDpcbnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZS9jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlO2hpZ2hwIGZsb2F0IHBlcnNwZWN0aXZlX3JhdGlvPWNsYW1wKDAuNSswLjUqZGlzdGFuY2VfcmF0aW8sMC4wLDQuMCk7c2l6ZSo9cGVyc3BlY3RpdmVfcmF0aW87ZmxvYXQgZm9udFNjYWxlPXVfaXNfdGV4dCA/IHNpemUvMjQuMCA6IHNpemU7aGlnaHAgZmxvYXQgc3ltYm9sX3JvdGF0aW9uPTAuMDtpZiAodV9yb3RhdGVfc3ltYm9sKSB7dmVjNCBvZmZzZXRQcm9qZWN0ZWRQb2ludD11X21hdHJpeCp2ZWM0KGFfcG9zK3ZlYzIoMSwwKSwwLDEpO3ZlYzIgYT1wcm9qZWN0ZWRQb2ludC54eS9wcm9qZWN0ZWRQb2ludC53O3ZlYzIgYj1vZmZzZXRQcm9qZWN0ZWRQb2ludC54eS9vZmZzZXRQcm9qZWN0ZWRQb2ludC53O3N5bWJvbF9yb3RhdGlvbj1hdGFuKChiLnktYS55KS91X2FzcGVjdF9yYXRpbyxiLngtYS54KTt9aGlnaHAgZmxvYXQgYW5nbGVfc2luPXNpbihzZWdtZW50X2FuZ2xlK3N5bWJvbF9yb3RhdGlvbik7aGlnaHAgZmxvYXQgYW5nbGVfY29zPWNvcyhzZWdtZW50X2FuZ2xlK3N5bWJvbF9yb3RhdGlvbik7bWF0MiByb3RhdGlvbl9tYXRyaXg9bWF0MihhbmdsZV9jb3MsLTEuMCphbmdsZV9zaW4sYW5nbGVfc2luLGFuZ2xlX2Nvcyk7dmVjNCBwcm9qZWN0ZWRfcG9zPXVfbGFiZWxfcGxhbmVfbWF0cml4KnZlYzQoYV9wcm9qZWN0ZWRfcG9zLnh5LDAuMCwxLjApO2dsX1Bvc2l0aW9uPXVfY29vcmRfbWF0cml4KnZlYzQocHJvamVjdGVkX3Bvcy54eS9wcm9qZWN0ZWRfcG9zLncrcm90YXRpb25fbWF0cml4KihhX29mZnNldC8zMi4wKmZvbnRTY2FsZSksMC4wLDEuMCk7dl90ZXg9YV90ZXgvdV90ZXhzaXplO3ZlYzIgZmFkZV9vcGFjaXR5PXVucGFja19vcGFjaXR5KGFfZmFkZV9vcGFjaXR5KTtmbG9hdCBmYWRlX2NoYW5nZT1mYWRlX29wYWNpdHlbMV0gPiAwLjUgPyB1X2ZhZGVfY2hhbmdlIDotdV9mYWRlX2NoYW5nZTt2X2ZhZGVfb3BhY2l0eT1tYXgoMC4wLG1pbigxLjAsZmFkZV9vcGFjaXR5WzBdK2ZhZGVfY2hhbmdlKSk7fSIpLGxyPWNyKCIjZGVmaW5lIFNERl9QWCA4LjBcbnVuaWZvcm0gYm9vbCB1X2lzX2hhbG87dW5pZm9ybSBzYW1wbGVyMkQgdV90ZXh0dXJlO3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9nYW1tYV9zY2FsZTt1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSBib29sIHVfaXNfdGV4dDt2YXJ5aW5nIHZlYzIgdl9kYXRhMDt2YXJ5aW5nIHZlYzMgdl9kYXRhMTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBmaWxsX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIHZlYzQgaGFsb19jb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBoYWxvX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgaGFsb19ibHVyXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCB2ZWM0IGZpbGxfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgaGFsb19jb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGhhbG9fd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGFsb19ibHVyXG5mbG9hdCBFREdFX0dBTU1BPTAuMTA1L3VfZGV2aWNlX3BpeGVsX3JhdGlvO3ZlYzIgdGV4PXZfZGF0YTAueHk7ZmxvYXQgZ2FtbWFfc2NhbGU9dl9kYXRhMS54O2Zsb2F0IHNpemU9dl9kYXRhMS55O2Zsb2F0IGZhZGVfb3BhY2l0eT12X2RhdGExWzJdO2Zsb2F0IGZvbnRTY2FsZT11X2lzX3RleHQgPyBzaXplLzI0LjAgOiBzaXplO2xvd3AgdmVjNCBjb2xvcj1maWxsX2NvbG9yO2hpZ2hwIGZsb2F0IGdhbW1hPUVER0VfR0FNTUEvKGZvbnRTY2FsZSp1X2dhbW1hX3NjYWxlKTtsb3dwIGZsb2F0IGJ1ZmY9KDI1Ni4wLTY0LjApLzI1Ni4wO2lmICh1X2lzX2hhbG8pIHtjb2xvcj1oYWxvX2NvbG9yO2dhbW1hPShoYWxvX2JsdXIqMS4xOS9TREZfUFgrRURHRV9HQU1NQSkvKGZvbnRTY2FsZSp1X2dhbW1hX3NjYWxlKTtidWZmPSg2LjAtaGFsb193aWR0aC9mb250U2NhbGUpL1NERl9QWDt9bG93cCBmbG9hdCBkaXN0PXRleHR1cmUyRCh1X3RleHR1cmUsdGV4KS5hO2hpZ2hwIGZsb2F0IGdhbW1hX3NjYWxlZD1nYW1tYSpnYW1tYV9zY2FsZTtoaWdocCBmbG9hdCBhbHBoYT1zbW9vdGhzdGVwKGJ1ZmYtZ2FtbWFfc2NhbGVkLGJ1ZmYrZ2FtbWFfc2NhbGVkLGRpc3QpO2dsX0ZyYWdDb2xvcj1jb2xvciooYWxwaGEqb3BhY2l0eSpmYWRlX29wYWNpdHkpO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsImNvbnN0IGZsb2F0IFBJPTMuMTQxNTkyNjUzNTg5NzkzO2F0dHJpYnV0ZSB2ZWM0IGFfcG9zX29mZnNldDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7YXR0cmlidXRlIHZlYzMgYV9wcm9qZWN0ZWRfcG9zO2F0dHJpYnV0ZSBmbG9hdCBhX2ZhZGVfb3BhY2l0eTt1bmlmb3JtIGJvb2wgdV9pc19zaXplX3pvb21fY29uc3RhbnQ7dW5pZm9ybSBib29sIHVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50O3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9zaXplX3Q7dW5pZm9ybSBoaWdocCBmbG9hdCB1X3NpemU7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWF0NCB1X2xhYmVsX3BsYW5lX21hdHJpeDt1bmlmb3JtIG1hdDQgdV9jb29yZF9tYXRyaXg7dW5pZm9ybSBib29sIHVfaXNfdGV4dDt1bmlmb3JtIGJvb2wgdV9waXRjaF93aXRoX21hcDt1bmlmb3JtIGhpZ2hwIGZsb2F0IHVfcGl0Y2g7dW5pZm9ybSBib29sIHVfcm90YXRlX3N5bWJvbDt1bmlmb3JtIGhpZ2hwIGZsb2F0IHVfYXNwZWN0X3JhdGlvO3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO3VuaWZvcm0gZmxvYXQgdV9mYWRlX2NoYW5nZTt1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3ZhcnlpbmcgdmVjMiB2X2RhdGEwO3ZhcnlpbmcgdmVjMyB2X2RhdGExO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGZpbGxfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBoYWxvX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGhhbG9fd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBoYWxvX2JsdXJcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgZmlsbF9jb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBoYWxvX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGFsb193aWR0aFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBoYWxvX2JsdXJcbnZlYzIgYV9wb3M9YV9wb3Nfb2Zmc2V0Lnh5O3ZlYzIgYV9vZmZzZXQ9YV9wb3Nfb2Zmc2V0Lnp3O3ZlYzIgYV90ZXg9YV9kYXRhLnh5O3ZlYzIgYV9zaXplPWFfZGF0YS56dztoaWdocCBmbG9hdCBzZWdtZW50X2FuZ2xlPS1hX3Byb2plY3RlZF9wb3NbMl07ZmxvYXQgc2l6ZTtpZiAoIXVfaXNfc2l6ZV96b29tX2NvbnN0YW50ICYmICF1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudCkge3NpemU9bWl4KGFfc2l6ZVswXSxhX3NpemVbMV0sdV9zaXplX3QpLzI1Ni4wO30gZWxzZSBpZiAodV9pc19zaXplX3pvb21fY29uc3RhbnQgJiYgIXVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSB7c2l6ZT1hX3NpemVbMF0vMjU2LjA7fSBlbHNlIGlmICghdV9pc19zaXplX3pvb21fY29uc3RhbnQgJiYgdV9pc19zaXplX2ZlYXR1cmVfY29uc3RhbnQpIHtzaXplPXVfc2l6ZTt9IGVsc2Uge3NpemU9dV9zaXplO312ZWM0IHByb2plY3RlZFBvaW50PXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTtoaWdocCBmbG9hdCBjYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlPXByb2plY3RlZFBvaW50Lnc7aGlnaHAgZmxvYXQgZGlzdGFuY2VfcmF0aW89dV9waXRjaF93aXRoX21hcCA/XG5jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlL3VfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSA6XG51X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2UvY2FtZXJhX3RvX2FuY2hvcl9kaXN0YW5jZTtoaWdocCBmbG9hdCBwZXJzcGVjdGl2ZV9yYXRpbz1jbGFtcCgwLjUrMC41KmRpc3RhbmNlX3JhdGlvLDAuMCw0LjApO3NpemUqPXBlcnNwZWN0aXZlX3JhdGlvO2Zsb2F0IGZvbnRTY2FsZT11X2lzX3RleHQgPyBzaXplLzI0LjAgOiBzaXplO2hpZ2hwIGZsb2F0IHN5bWJvbF9yb3RhdGlvbj0wLjA7aWYgKHVfcm90YXRlX3N5bWJvbCkge3ZlYzQgb2Zmc2V0UHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX3Bvcyt2ZWMyKDEsMCksMCwxKTt2ZWMyIGE9cHJvamVjdGVkUG9pbnQueHkvcHJvamVjdGVkUG9pbnQudzt2ZWMyIGI9b2Zmc2V0UHJvamVjdGVkUG9pbnQueHkvb2Zmc2V0UHJvamVjdGVkUG9pbnQudztzeW1ib2xfcm90YXRpb249YXRhbigoYi55LWEueSkvdV9hc3BlY3RfcmF0aW8sYi54LWEueCk7fWhpZ2hwIGZsb2F0IGFuZ2xlX3Npbj1zaW4oc2VnbWVudF9hbmdsZStzeW1ib2xfcm90YXRpb24pO2hpZ2hwIGZsb2F0IGFuZ2xlX2Nvcz1jb3Moc2VnbWVudF9hbmdsZStzeW1ib2xfcm90YXRpb24pO21hdDIgcm90YXRpb25fbWF0cml4PW1hdDIoYW5nbGVfY29zLC0xLjAqYW5nbGVfc2luLGFuZ2xlX3NpbixhbmdsZV9jb3MpO3ZlYzQgcHJvamVjdGVkX3Bvcz11X2xhYmVsX3BsYW5lX21hdHJpeCp2ZWM0KGFfcHJvamVjdGVkX3Bvcy54eSwwLjAsMS4wKTtnbF9Qb3NpdGlvbj11X2Nvb3JkX21hdHJpeCp2ZWM0KHByb2plY3RlZF9wb3MueHkvcHJvamVjdGVkX3Bvcy53K3JvdGF0aW9uX21hdHJpeCooYV9vZmZzZXQvMzIuMCpmb250U2NhbGUpLDAuMCwxLjApO2Zsb2F0IGdhbW1hX3NjYWxlPWdsX1Bvc2l0aW9uLnc7dmVjMiB0ZXg9YV90ZXgvdV90ZXhzaXplO3ZlYzIgZmFkZV9vcGFjaXR5PXVucGFja19vcGFjaXR5KGFfZmFkZV9vcGFjaXR5KTtmbG9hdCBmYWRlX2NoYW5nZT1mYWRlX29wYWNpdHlbMV0gPiAwLjUgPyB1X2ZhZGVfY2hhbmdlIDotdV9mYWRlX2NoYW5nZTtmbG9hdCBpbnRlcnBvbGF0ZWRfZmFkZV9vcGFjaXR5PW1heCgwLjAsbWluKDEuMCxmYWRlX29wYWNpdHlbMF0rZmFkZV9jaGFuZ2UpKTt2X2RhdGEwPXZlYzIodGV4LngsdGV4LnkpO3ZfZGF0YTE9dmVjMyhnYW1tYV9zY2FsZSxzaXplLGludGVycG9sYXRlZF9mYWRlX29wYWNpdHkpO30iKTtmdW5jdGlvbiBjcih0LGUpe3ZhciByPS8jcHJhZ21hIG1hcGJveDogKFtcd10rKSAoW1x3XSspIChbXHddKykgKFtcd10rKS9nLG49e307cmV0dXJue2ZyYWdtZW50U291cmNlOnQ9dC5yZXBsYWNlKHIsZnVuY3Rpb24odCxlLHIsYSxpKXtyZXR1cm4gbltpXT0hMCwiZGVmaW5lIj09PWU/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG52YXJ5aW5nICIrcisiICIrYSsiICIraSsiO1xuI2Vsc2VcbnVuaWZvcm0gIityKyIgIithKyIgdV8iK2krIjtcbiNlbmRpZlxuIjoiXG4jaWZkZWYgSEFTX1VOSUZPUk1fdV8iK2krIlxuICAgICIrcisiICIrYSsiICIraSsiID0gdV8iK2krIjtcbiNlbmRpZlxuIn0pLHZlcnRleFNvdXJjZTplPWUucmVwbGFjZShyLGZ1bmN0aW9uKHQsZSxyLGEsaSl7dmFyIG89ImZsb2F0Ij09PWE/InZlYzIiOiJ2ZWM0IixzPWkubWF0Y2goL2NvbG9yLyk/ImNvbG9yIjpvO3JldHVybiBuW2ldPyJkZWZpbmUiPT09ZT8iXG4jaWZuZGVmIEhBU19VTklGT1JNX3VfIitpKyJcbnVuaWZvcm0gbG93cCBmbG9hdCB1XyIraSsiX3Q7XG5hdHRyaWJ1dGUgIityKyIgIitvKyIgYV8iK2krIjtcbnZhcnlpbmcgIityKyIgIithKyIgIitpKyI7XG4jZWxzZVxudW5pZm9ybSAiK3IrIiAiK2ErIiB1XyIraSsiO1xuI2VuZGlmXG4iOiJ2ZWM0Ij09PXM/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIitpKyIgPSBhXyIraSsiO1xuI2Vsc2VcbiAgICAiK3IrIiAiK2ErIiAiK2krIiA9IHVfIitpKyI7XG4jZW5kaWZcbiI6IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIitpKyIgPSB1bnBhY2tfbWl4XyIrcysiKGFfIitpKyIsIHVfIitpKyJfdCk7XG4jZWxzZVxuICAgICIrcisiICIrYSsiICIraSsiID0gdV8iK2krIjtcbiNlbmRpZlxuIjoiZGVmaW5lIj09PWU/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG51bmlmb3JtIGxvd3AgZmxvYXQgdV8iK2krIl90O1xuYXR0cmlidXRlICIrcisiICIrbysiIGFfIitpKyI7XG4jZWxzZVxudW5pZm9ybSAiK3IrIiAiK2ErIiB1XyIraSsiO1xuI2VuZGlmXG4iOiJ2ZWM0Ij09PXM/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIityKyIgIithKyIgIitpKyIgPSBhXyIraSsiO1xuI2Vsc2VcbiAgICAiK3IrIiAiK2ErIiAiK2krIiA9IHVfIitpKyI7XG4jZW5kaWZcbiI6IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIityKyIgIithKyIgIitpKyIgPSB1bnBhY2tfbWl4XyIrcysiKGFfIitpKyIsIHVfIitpKyJfdCk7XG4jZWxzZVxuICAgICIrcisiICIrYSsiICIraSsiID0gdV8iK2krIjtcbiNlbmRpZlxuIn0pfX12YXIgdXI9T2JqZWN0LmZyZWV6ZSh7cHJlbHVkZTpCZSxiYWNrZ3JvdW5kOk5lLGJhY2tncm91bmRQYXR0ZXJuOmplLGNpcmNsZTpWZSxjbGlwcGluZ01hc2s6VWUsaGVhdG1hcDpxZSxoZWF0bWFwVGV4dHVyZTpIZSxjb2xsaXNpb25Cb3g6R2UsY29sbGlzaW9uQ2lyY2xlOlllLGRlYnVnOldlLGZpbGw6WGUsZmlsbE91dGxpbmU6WmUsZmlsbE91dGxpbmVQYXR0ZXJuOkplLGZpbGxQYXR0ZXJuOktlLGZpbGxFeHRydXNpb246UWUsZmlsbEV4dHJ1c2lvblBhdHRlcm46JGUsaGlsbHNoYWRlUHJlcGFyZTp0cixoaWxsc2hhZGU6ZXIsbGluZTpycixsaW5lR3JhZGllbnQ6bnIsbGluZVBhdHRlcm46YXIsbGluZVNERjppcixyYXN0ZXI6b3Isc3ltYm9sSWNvbjpzcixzeW1ib2xTREY6bHJ9KSxocj1mdW5jdGlvbigpe3RoaXMuYm91bmRQcm9ncmFtPW51bGwsdGhpcy5ib3VuZExheW91dFZlcnRleEJ1ZmZlcj1udWxsLHRoaXMuYm91bmRQYWludFZlcnRleEJ1ZmZlcnM9W10sdGhpcy5ib3VuZEluZGV4QnVmZmVyPW51bGwsdGhpcy5ib3VuZFZlcnRleE9mZnNldD1udWxsLHRoaXMuYm91bmREeW5hbWljVmVydGV4QnVmZmVyPW51bGwsdGhpcy52YW89bnVsbH07aHIucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXt0aGlzLmNvbnRleHQ9dDtmb3IodmFyIGw9dGhpcy5ib3VuZFBhaW50VmVydGV4QnVmZmVycy5sZW5ndGghPT1uLmxlbmd0aCxjPTA7IWwmJmM8bi5sZW5ndGg7YysrKXRoaXMuYm91bmRQYWludFZlcnRleEJ1ZmZlcnNbY10hPT1uW2NdJiYobD0hMCk7dmFyIHU9IXRoaXMudmFvfHx0aGlzLmJvdW5kUHJvZ3JhbSE9PWV8fHRoaXMuYm91bmRMYXlvdXRWZXJ0ZXhCdWZmZXIhPT1yfHxsfHx0aGlzLmJvdW5kSW5kZXhCdWZmZXIhPT1hfHx0aGlzLmJvdW5kVmVydGV4T2Zmc2V0IT09aXx8dGhpcy5ib3VuZER5bmFtaWNWZXJ0ZXhCdWZmZXIhPT1vfHx0aGlzLmJvdW5kRHluYW1pY1ZlcnRleEJ1ZmZlcjIhPT1zOyF0LmV4dFZlcnRleEFycmF5T2JqZWN0fHx1P3RoaXMuZnJlc2hCaW5kKGUscixuLGEsaSxvLHMpOih0LmJpbmRWZXJ0ZXhBcnJheU9FUy5zZXQodGhpcy52YW8pLG8mJm8uYmluZCgpLGEmJmEuZHluYW1pY0RyYXcmJmEuYmluZCgpLHMmJnMuYmluZCgpKX0saHIucHJvdG90eXBlLmZyZXNoQmluZD1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcyxsPXQubnVtQXR0cmlidXRlcyxjPXRoaXMuY29udGV4dCx1PWMuZ2w7aWYoYy5leHRWZXJ0ZXhBcnJheU9iamVjdCl0aGlzLnZhbyYmdGhpcy5kZXN0cm95KCksdGhpcy52YW89Yy5leHRWZXJ0ZXhBcnJheU9iamVjdC5jcmVhdGVWZXJ0ZXhBcnJheU9FUygpLGMuYmluZFZlcnRleEFycmF5T0VTLnNldCh0aGlzLnZhbykscz0wLHRoaXMuYm91bmRQcm9ncmFtPXQsdGhpcy5ib3VuZExheW91dFZlcnRleEJ1ZmZlcj1lLHRoaXMuYm91bmRQYWludFZlcnRleEJ1ZmZlcnM9cix0aGlzLmJvdW5kSW5kZXhCdWZmZXI9bix0aGlzLmJvdW5kVmVydGV4T2Zmc2V0PWEsdGhpcy5ib3VuZER5bmFtaWNWZXJ0ZXhCdWZmZXI9aSx0aGlzLmJvdW5kRHluYW1pY1ZlcnRleEJ1ZmZlcjI9bztlbHNle3M9Yy5jdXJyZW50TnVtQXR0cmlidXRlc3x8MDtmb3IodmFyIGg9bDtoPHM7aCsrKXUuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGgpfWUuZW5hYmxlQXR0cmlidXRlcyh1LHQpO2Zvcih2YXIgZj0wLHA9cjtmPHAubGVuZ3RoO2YrPTEpcFtmXS5lbmFibGVBdHRyaWJ1dGVzKHUsdCk7aSYmaS5lbmFibGVBdHRyaWJ1dGVzKHUsdCksbyYmby5lbmFibGVBdHRyaWJ1dGVzKHUsdCksZS5iaW5kKCksZS5zZXRWZXJ0ZXhBdHRyaWJQb2ludGVycyh1LHQsYSk7Zm9yKHZhciBkPTAsZz1yO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXTt2LmJpbmQoKSx2LnNldFZlcnRleEF0dHJpYlBvaW50ZXJzKHUsdCxhKX1pJiYoaS5iaW5kKCksaS5zZXRWZXJ0ZXhBdHRyaWJQb2ludGVycyh1LHQsYSkpLG4mJm4uYmluZCgpLG8mJihvLmJpbmQoKSxvLnNldFZlcnRleEF0dHJpYlBvaW50ZXJzKHUsdCxhKSksYy5jdXJyZW50TnVtQXR0cmlidXRlcz1sfSxoci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMudmFvJiYodGhpcy5jb250ZXh0LmV4dFZlcnRleEFycmF5T2JqZWN0LmRlbGV0ZVZlcnRleEFycmF5T0VTKHRoaXMudmFvKSx0aGlzLnZhbz1udWxsKX07dmFyIGZyPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9dC5nbDt0aGlzLnByb2dyYW09aS5jcmVhdGVQcm9ncmFtKCk7dmFyIG89ci5kZWZpbmVzKCk7YSYmby5wdXNoKCIjZGVmaW5lIE9WRVJEUkFXX0lOU1BFQ1RPUjsiKTt2YXIgcz1vLmNvbmNhdChCZS5mcmFnbWVudFNvdXJjZSxlLmZyYWdtZW50U291cmNlKS5qb2luKCJcbiIpLGw9by5jb25jYXQoQmUudmVydGV4U291cmNlLGUudmVydGV4U291cmNlKS5qb2luKCJcbiIpLGM9aS5jcmVhdGVTaGFkZXIoaS5GUkFHTUVOVF9TSEFERVIpO2kuc2hhZGVyU291cmNlKGMscyksaS5jb21waWxlU2hhZGVyKGMpLGkuYXR0YWNoU2hhZGVyKHRoaXMucHJvZ3JhbSxjKTt2YXIgdT1pLmNyZWF0ZVNoYWRlcihpLlZFUlRFWF9TSEFERVIpO2kuc2hhZGVyU291cmNlKHUsbCksaS5jb21waWxlU2hhZGVyKHUpLGkuYXR0YWNoU2hhZGVyKHRoaXMucHJvZ3JhbSx1KTtmb3IodmFyIGg9ci5sYXlvdXRBdHRyaWJ1dGVzfHxbXSxmPTA7ZjxoLmxlbmd0aDtmKyspaS5iaW5kQXR0cmliTG9jYXRpb24odGhpcy5wcm9ncmFtLGYsaFtmXS5uYW1lKTtpLmxpbmtQcm9ncmFtKHRoaXMucHJvZ3JhbSksdGhpcy5udW1BdHRyaWJ1dGVzPWkuZ2V0UHJvZ3JhbVBhcmFtZXRlcih0aGlzLnByb2dyYW0saS5BQ1RJVkVfQVRUUklCVVRFUyksdGhpcy5hdHRyaWJ1dGVzPXt9O2Zvcih2YXIgcD17fSxkPTA7ZDx0aGlzLm51bUF0dHJpYnV0ZXM7ZCsrKXt2YXIgZz1pLmdldEFjdGl2ZUF0dHJpYih0aGlzLnByb2dyYW0sZCk7ZyYmKHRoaXMuYXR0cmlidXRlc1tnLm5hbWVdPWkuZ2V0QXR0cmliTG9jYXRpb24odGhpcy5wcm9ncmFtLGcubmFtZSkpfWZvcih2YXIgdj1pLmdldFByb2dyYW1QYXJhbWV0ZXIodGhpcy5wcm9ncmFtLGkuQUNUSVZFX1VOSUZPUk1TKSxtPTA7bTx2O20rKyl7dmFyIHk9aS5nZXRBY3RpdmVVbmlmb3JtKHRoaXMucHJvZ3JhbSxtKTt5JiYocFt5Lm5hbWVdPWkuZ2V0VW5pZm9ybUxvY2F0aW9uKHRoaXMucHJvZ3JhbSx5Lm5hbWUpKX10aGlzLmZpeGVkVW5pZm9ybXM9bih0LHApLHRoaXMuYmluZGVyVW5pZm9ybXM9ci5nZXRVbmlmb3Jtcyh0LHApfTtmdW5jdGlvbiBwcihlLHIsbil7dmFyIGE9MS9jZShuLDEsci50cmFuc2Zvcm0udGlsZVpvb20pLGk9TWF0aC5wb3coMixuLnRpbGVJRC5vdmVyc2NhbGVkWiksbz1uLnRpbGVTaXplKk1hdGgucG93KDIsci50cmFuc2Zvcm0udGlsZVpvb20pL2kscz1vKihuLnRpbGVJRC5jYW5vbmljYWwueCtuLnRpbGVJRC53cmFwKmkpLGw9bypuLnRpbGVJRC5jYW5vbmljYWwueTtyZXR1cm57dV9pbWFnZTowLHVfdGV4c2l6ZTpuLmltYWdlQXRsYXNUZXh0dXJlLnNpemUsdV9zY2FsZTpbdC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sYSxlLmZyb21TY2FsZSxlLnRvU2NhbGVdLHVfZmFkZTplLnQsdV9waXhlbF9jb29yZF91cHBlcjpbcz4+MTYsbD4+MTZdLHVfcGl4ZWxfY29vcmRfbG93ZXI6WzY1NTM1JnMsNjU1MzUmbF19fWZyLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcpe3ZhciB2LG09dC5nbDtmb3IodmFyIHkgaW4gdC5wcm9ncmFtLnNldCh0aGlzLnByb2dyYW0pLHQuc2V0RGVwdGhNb2RlKHIpLHQuc2V0U3RlbmNpbE1vZGUobiksdC5zZXRDb2xvck1vZGUoYSksdC5zZXRDdWxsRmFjZShpKSx0aGlzLmZpeGVkVW5pZm9ybXMpdGhpcy5maXhlZFVuaWZvcm1zW3ldLnNldChvW3ldKTtwJiZwLnNldFVuaWZvcm1zKHQsdGhpcy5iaW5kZXJVbmlmb3JtcyxoLHt6b29tOmZ9KTtmb3IodmFyIHg9KHY9e30sdlttLkxJTkVTXT0yLHZbbS5UUklBTkdMRVNdPTMsdlttLkxJTkVfU1RSSVBdPTEsdilbZV0sYj0wLF89dS5nZXQoKTtiPF8ubGVuZ3RoO2IrPTEpe3ZhciB3PV9bYl0saz13LnZhb3N8fCh3LnZhb3M9e30pOyhrW3NdfHwoa1tzXT1uZXcgaHIpKS5iaW5kKHQsdGhpcyxsLHA/cC5nZXRQYWludFZlcnRleEJ1ZmZlcnMoKTpbXSxjLHcudmVydGV4T2Zmc2V0LGQsZyksbS5kcmF3RWxlbWVudHMoZSx3LnByaW1pdGl2ZUxlbmd0aCp4LG0uVU5TSUdORURfU0hPUlQsdy5wcmltaXRpdmVPZmZzZXQqeCoyKX19O3ZhciBkcj1mdW5jdGlvbihlLHIsbixhKXt2YXIgaT1yLnN0eWxlLmxpZ2h0LG89aS5wcm9wZXJ0aWVzLmdldCgicG9zaXRpb24iKSxzPVtvLngsby55LG8uel0sbD10LmNyZWF0ZSQxKCk7InZpZXdwb3J0Ij09PWkucHJvcGVydGllcy5nZXQoImFuY2hvciIpJiZ0LmZyb21Sb3RhdGlvbihsLC1yLnRyYW5zZm9ybS5hbmdsZSksdC50cmFuc2Zvcm1NYXQzKHMscyxsKTt2YXIgYz1pLnByb3BlcnRpZXMuZ2V0KCJjb2xvciIpO3JldHVybnt1X21hdHJpeDplLHVfbGlnaHRwb3M6cyx1X2xpZ2h0aW50ZW5zaXR5OmkucHJvcGVydGllcy5nZXQoImludGVuc2l0eSIpLHVfbGlnaHRjb2xvcjpbYy5yLGMuZyxjLmJdLHVfdmVydGljYWxfZ3JhZGllbnQ6K24sdV9vcGFjaXR5OmF9fSxncj1mdW5jdGlvbihlLHIsbixhLGksbyxzKXtyZXR1cm4gdC5leHRlbmQoZHIoZSxyLG4sYSkscHIobyxyLHMpLHt1X2hlaWdodF9mYWN0b3I6LU1hdGgucG93KDIsaS5vdmVyc2NhbGVkWikvcy50aWxlU2l6ZS84fSl9LHZyPWZ1bmN0aW9uKHQpe3JldHVybnt1X21hdHJpeDp0fX0sbXI9ZnVuY3Rpb24oZSxyLG4sYSl7cmV0dXJuIHQuZXh0ZW5kKHZyKGUpLHByKG4scixhKSl9LHlyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3VfbWF0cml4OnQsdV93b3JsZDplfX0seHI9ZnVuY3Rpb24oZSxyLG4sYSxpKXtyZXR1cm4gdC5leHRlbmQobXIoZSxyLG4sYSkse3Vfd29ybGQ6aX0pfSxicj1mdW5jdGlvbihlLHIsbixhKXt2YXIgaSxvLHM9ZS50cmFuc2Zvcm07aWYoIm1hcCI9PT1hLnBhaW50LmdldCgiY2lyY2xlLXBpdGNoLWFsaWdubWVudCIpKXt2YXIgbD1jZShuLDEscy56b29tKTtpPSEwLG89W2wsbF19ZWxzZSBpPSExLG89cy5waXhlbHNUb0dMVW5pdHM7cmV0dXJue3VfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTpzLmNhbWVyYVRvQ2VudGVyRGlzdGFuY2UsdV9zY2FsZV93aXRoX21hcDorKCJtYXAiPT09YS5wYWludC5nZXQoImNpcmNsZS1waXRjaC1zY2FsZSIpKSx1X21hdHJpeDplLnRyYW5zbGF0ZVBvc01hdHJpeChyLnBvc01hdHJpeCxuLGEucGFpbnQuZ2V0KCJjaXJjbGUtdHJhbnNsYXRlIiksYS5wYWludC5nZXQoImNpcmNsZS10cmFuc2xhdGUtYW5jaG9yIikpLHVfcGl0Y2hfd2l0aF9tYXA6K2ksdV9kZXZpY2VfcGl4ZWxfcmF0aW86dC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sdV9leHRydWRlX3NjYWxlOm99fSxfcj1mdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U6bmV3IHQuVW5pZm9ybTFmKGUsci51X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2UpLHVfcGl4ZWxzX3RvX3RpbGVfdW5pdHM6bmV3IHQuVW5pZm9ybTFmKGUsci51X3BpeGVsc190b190aWxlX3VuaXRzKSx1X2V4dHJ1ZGVfc2NhbGU6bmV3IHQuVW5pZm9ybTJmKGUsci51X2V4dHJ1ZGVfc2NhbGUpLHVfb3ZlcnNjYWxlX2ZhY3RvcjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfb3ZlcnNjYWxlX2ZhY3Rvcil9fSx3cj1mdW5jdGlvbih0LGUscil7dmFyIG49Y2UociwxLGUuem9vbSksYT1NYXRoLnBvdygyLGUuem9vbS1yLnRpbGVJRC5vdmVyc2NhbGVkWiksaT1yLnRpbGVJRC5vdmVyc2NhbGVGYWN0b3IoKTtyZXR1cm57dV9tYXRyaXg6dCx1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U6ZS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlLHVfcGl4ZWxzX3RvX3RpbGVfdW5pdHM6bix1X2V4dHJ1ZGVfc2NhbGU6W2UucGl4ZWxzVG9HTFVuaXRzWzBdLyhuKmEpLGUucGl4ZWxzVG9HTFVuaXRzWzFdLyhuKmEpXSx1X292ZXJzY2FsZV9mYWN0b3I6aX19LGtyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3VfbWF0cml4OnQsdV9jb2xvcjplfX0sVHI9ZnVuY3Rpb24odCl7cmV0dXJue3VfbWF0cml4OnR9fSxNcj1mdW5jdGlvbih0LGUscixuKXtyZXR1cm57dV9tYXRyaXg6dCx1X2V4dHJ1ZGVfc2NhbGU6Y2UoZSwxLHIpLHVfaW50ZW5zaXR5Om59fSxBcj1mdW5jdGlvbih0LGUscil7dmFyIG49ci5wYWludC5nZXQoImhpbGxzaGFkZS1zaGFkb3ctY29sb3IiKSxhPXIucGFpbnQuZ2V0KCJoaWxsc2hhZGUtaGlnaGxpZ2h0LWNvbG9yIiksaT1yLnBhaW50LmdldCgiaGlsbHNoYWRlLWFjY2VudC1jb2xvciIpLG89ci5wYWludC5nZXQoImhpbGxzaGFkZS1pbGx1bWluYXRpb24tZGlyZWN0aW9uIikqKE1hdGguUEkvMTgwKTsidmlld3BvcnQiPT09ci5wYWludC5nZXQoImhpbGxzaGFkZS1pbGx1bWluYXRpb24tYW5jaG9yIikmJihvLT10LnRyYW5zZm9ybS5hbmdsZSk7dmFyIHM9IXQub3B0aW9ucy5tb3Zpbmc7cmV0dXJue3VfbWF0cml4OnQudHJhbnNmb3JtLmNhbGN1bGF0ZVBvc01hdHJpeChlLnRpbGVJRC50b1Vud3JhcHBlZCgpLHMpLHVfaW1hZ2U6MCx1X2xhdHJhbmdlOkVyKHQsZS50aWxlSUQpLHVfbGlnaHQ6W3IucGFpbnQuZ2V0KCJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIiksb10sdV9zaGFkb3c6bix1X2hpZ2hsaWdodDphLHVfYWNjZW50Oml9fSxTcj1mdW5jdGlvbihlLHIpe3ZhciBuPWUuZGVtLnN0cmlkZSxhPXQuY3JlYXRlKCk7cmV0dXJuIHQub3J0aG8oYSwwLHQuRVhURU5ULC10LkVYVEVOVCwwLDAsMSksdC50cmFuc2xhdGUoYSxhLFswLC10LkVYVEVOVCwwXSkse3VfbWF0cml4OmEsdV9pbWFnZToxLHVfZGltZW5zaW9uOltuLG5dLHVfem9vbTplLnRpbGVJRC5vdmVyc2NhbGVkWix1X21heHpvb206cn19O2Z1bmN0aW9uIEVyKGUscil7dmFyIG49TWF0aC5wb3coMixyLmNhbm9uaWNhbC56KSxhPXIuY2Fub25pY2FsLnk7cmV0dXJuW25ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZSgwLGEvbikudG9MbmdMYXQoKS5sYXQsbmV3IHQuTWVyY2F0b3JDb29yZGluYXRlKDAsKGErMSkvbikudG9MbmdMYXQoKS5sYXRdfXZhciBMcj1mdW5jdGlvbihlLHIsbil7dmFyIGE9ZS50cmFuc2Zvcm07cmV0dXJue3VfbWF0cml4OklyKGUscixuKSx1X3JhdGlvOjEvY2UociwxLGEuem9vbSksdV9kZXZpY2VfcGl4ZWxfcmF0aW86dC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sdV91bml0c190b19waXhlbHM6WzEvYS5waXhlbHNUb0dMVW5pdHNbMF0sMS9hLnBpeGVsc1RvR0xVbml0c1sxXV19fSxDcj1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHQuZXh0ZW5kKExyKGUscixuKSx7dV9pbWFnZTowfSl9LFByPWZ1bmN0aW9uKGUscixuLGEpe3ZhciBpPWUudHJhbnNmb3JtLG89enIocixpKTtyZXR1cm57dV9tYXRyaXg6SXIoZSxyLG4pLHVfdGV4c2l6ZTpyLmltYWdlQXRsYXNUZXh0dXJlLnNpemUsdV9yYXRpbzoxL2NlKHIsMSxpLnpvb20pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvLHVfaW1hZ2U6MCx1X3NjYWxlOlt0LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbyxvLGEuZnJvbVNjYWxlLGEudG9TY2FsZV0sdV9mYWRlOmEudCx1X3VuaXRzX3RvX3BpeGVsczpbMS9pLnBpeGVsc1RvR0xVbml0c1swXSwxL2kucGl4ZWxzVG9HTFVuaXRzWzFdXX19LE9yPWZ1bmN0aW9uKGUscixuLGEsaSl7dmFyIG89ZS50cmFuc2Zvcm0scz1lLmxpbmVBdGxhcyxsPXpyKHIsbyksYz0icm91bmQiPT09bi5sYXlvdXQuZ2V0KCJsaW5lLWNhcCIpLHU9cy5nZXREYXNoKGEuZnJvbSxjKSxoPXMuZ2V0RGFzaChhLnRvLGMpLGY9dS53aWR0aCppLmZyb21TY2FsZSxwPWgud2lkdGgqaS50b1NjYWxlO3JldHVybiB0LmV4dGVuZChMcihlLHIsbikse3VfcGF0dGVybnNjYWxlX2E6W2wvZiwtdS5oZWlnaHQvMl0sdV9wYXR0ZXJuc2NhbGVfYjpbbC9wLC1oLmhlaWdodC8yXSx1X3NkZmdhbW1hOnMud2lkdGgvKDI1NipNYXRoLm1pbihmLHApKnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvKS8yLHVfaW1hZ2U6MCx1X3RleF95X2E6dS55LHVfdGV4X3lfYjpoLnksdV9taXg6aS50fSl9O2Z1bmN0aW9uIHpyKHQsZSl7cmV0dXJuIDEvY2UodCwxLGUudGlsZVpvb20pfWZ1bmN0aW9uIElyKHQsZSxyKXtyZXR1cm4gdC50cmFuc2xhdGVQb3NNYXRyaXgoZS50aWxlSUQucG9zTWF0cml4LGUsci5wYWludC5nZXQoImxpbmUtdHJhbnNsYXRlIiksci5wYWludC5nZXQoImxpbmUtdHJhbnNsYXRlLWFuY2hvciIpKX12YXIgRHI9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm57dV9tYXRyaXg6dCx1X3RsX3BhcmVudDplLHVfc2NhbGVfcGFyZW50OnIsdV9idWZmZXJfc2NhbGU6MSx1X2ZhZGVfdDpuLm1peCx1X29wYWNpdHk6bi5vcGFjaXR5KmEucGFpbnQuZ2V0KCJyYXN0ZXItb3BhY2l0eSIpLHVfaW1hZ2UwOjAsdV9pbWFnZTE6MSx1X2JyaWdodG5lc3NfbG93OmEucGFpbnQuZ2V0KCJyYXN0ZXItYnJpZ2h0bmVzcy1taW4iKSx1X2JyaWdodG5lc3NfaGlnaDphLnBhaW50LmdldCgicmFzdGVyLWJyaWdodG5lc3MtbWF4IiksdV9zYXR1cmF0aW9uX2ZhY3Rvcjoobz1hLnBhaW50LmdldCgicmFzdGVyLXNhdHVyYXRpb24iKSxvPjA/MS0xLygxLjAwMS1vKTotbyksdV9jb250cmFzdF9mYWN0b3I6KGk9YS5wYWludC5nZXQoInJhc3Rlci1jb250cmFzdCIpLGk+MD8xLygxLWkpOjEraSksdV9zcGluX3dlaWdodHM6UnIoYS5wYWludC5nZXQoInJhc3Rlci1odWUtcm90YXRlIikpfTt2YXIgaSxvfTtmdW5jdGlvbiBScih0KXt0Kj1NYXRoLlBJLzE4MDt2YXIgZT1NYXRoLnNpbih0KSxyPU1hdGguY29zKHQpO3JldHVyblsoMipyKzEpLzMsKC1NYXRoLnNxcnQoMykqZS1yKzEpLzMsKE1hdGguc3FydCgzKSplLXIrMSkvM119dmFyIEZyPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMpe3ZhciB1PWEudHJhbnNmb3JtO3JldHVybnt1X2lzX3NpemVfem9vbV9jb25zdGFudDorKCJjb25zdGFudCI9PT10fHwic291cmNlIj09PXQpLHVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50OisoImNvbnN0YW50Ij09PXR8fCJjYW1lcmEiPT09dCksdV9zaXplX3Q6ZT9lLnVTaXplVDowLHVfc2l6ZTplP2UudVNpemU6MCx1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U6dS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlLHVfcGl0Y2g6dS5waXRjaC8zNjAqMipNYXRoLlBJLHVfcm90YXRlX3N5bWJvbDorcix1X2FzcGVjdF9yYXRpbzp1LndpZHRoL3UuaGVpZ2h0LHVfZmFkZV9jaGFuZ2U6YS5vcHRpb25zLmZhZGVEdXJhdGlvbj9hLnN5bWJvbEZhZGVDaGFuZ2U6MSx1X21hdHJpeDppLHVfbGFiZWxfcGxhbmVfbWF0cml4Om8sdV9jb29yZF9tYXRyaXg6cyx1X2lzX3RleHQ6K2wsdV9waXRjaF93aXRoX21hcDorbix1X3RleHNpemU6Yyx1X3RleHR1cmU6MH19LEJyPWZ1bmN0aW9uKGUscixuLGEsaSxvLHMsbCxjLHUsaCl7dmFyIGY9aS50cmFuc2Zvcm07cmV0dXJuIHQuZXh0ZW5kKEZyKGUscixuLGEsaSxvLHMsbCxjLHUpLHt1X2dhbW1hX3NjYWxlOmE/TWF0aC5jb3MoZi5fcGl0Y2gpKmYuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZToxLHVfZGV2aWNlX3BpeGVsX3JhdGlvOnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvLHVfaXNfaGFsbzoraH0pfSxOcj1mdW5jdGlvbih0LGUscil7cmV0dXJue3VfbWF0cml4OnQsdV9vcGFjaXR5OmUsdV9jb2xvcjpyfX0sanI9ZnVuY3Rpb24oZSxyLG4sYSxpLG8pe3JldHVybiB0LmV4dGVuZChmdW5jdGlvbih0LGUscixuKXt2YXIgYT1yLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQuZnJvbSksaT1yLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQudG8pLG89ci5pbWFnZU1hbmFnZXIuZ2V0UGl4ZWxTaXplKCkscz1vLndpZHRoLGw9by5oZWlnaHQsYz1NYXRoLnBvdygyLG4udGlsZUlELm92ZXJzY2FsZWRaKSx1PW4udGlsZVNpemUqTWF0aC5wb3coMixyLnRyYW5zZm9ybS50aWxlWm9vbSkvYyxoPXUqKG4udGlsZUlELmNhbm9uaWNhbC54K24udGlsZUlELndyYXAqYyksZj11Km4udGlsZUlELmNhbm9uaWNhbC55O3JldHVybnt1X2ltYWdlOjAsdV9wYXR0ZXJuX3RsX2E6YS50bCx1X3BhdHRlcm5fYnJfYTphLmJyLHVfcGF0dGVybl90bF9iOmkudGwsdV9wYXR0ZXJuX2JyX2I6aS5icix1X3RleHNpemU6W3MsbF0sdV9taXg6ZS50LHVfcGF0dGVybl9zaXplX2E6YS5kaXNwbGF5U2l6ZSx1X3BhdHRlcm5fc2l6ZV9iOmkuZGlzcGxheVNpemUsdV9zY2FsZV9hOmUuZnJvbVNjYWxlLHVfc2NhbGVfYjplLnRvU2NhbGUsdV90aWxlX3VuaXRzX3RvX3BpeGVsczoxL2NlKG4sMSxyLnRyYW5zZm9ybS50aWxlWm9vbSksdV9waXhlbF9jb29yZF91cHBlcjpbaD4+MTYsZj4+MTZdLHVfcGl4ZWxfY29vcmRfbG93ZXI6WzY1NTM1JmgsNjU1MzUmZl19fShhLG8sbixpKSx7dV9tYXRyaXg6ZSx1X29wYWNpdHk6cn0pfSxWcj17ZmlsbEV4dHJ1c2lvbjpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2xpZ2h0cG9zOm5ldyB0LlVuaWZvcm0zZihlLHIudV9saWdodHBvcyksdV9saWdodGludGVuc2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfbGlnaHRpbnRlbnNpdHkpLHVfbGlnaHRjb2xvcjpuZXcgdC5Vbmlmb3JtM2YoZSxyLnVfbGlnaHRjb2xvciksdV92ZXJ0aWNhbF9ncmFkaWVudDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdmVydGljYWxfZ3JhZGllbnQpLHVfb3BhY2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfb3BhY2l0eSl9fSxmaWxsRXh0cnVzaW9uUGF0dGVybjpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2xpZ2h0cG9zOm5ldyB0LlVuaWZvcm0zZihlLHIudV9saWdodHBvcyksdV9saWdodGludGVuc2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfbGlnaHRpbnRlbnNpdHkpLHVfbGlnaHRjb2xvcjpuZXcgdC5Vbmlmb3JtM2YoZSxyLnVfbGlnaHRjb2xvciksdV92ZXJ0aWNhbF9ncmFkaWVudDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdmVydGljYWxfZ3JhZGllbnQpLHVfaGVpZ2h0X2ZhY3RvcjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaGVpZ2h0X2ZhY3RvciksdV9pbWFnZTpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaW1hZ2UpLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV9waXhlbF9jb29yZF91cHBlcjpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGl4ZWxfY29vcmRfdXBwZXIpLHVfcGl4ZWxfY29vcmRfbG93ZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX2xvd2VyKSx1X3NjYWxlOm5ldyB0LlVuaWZvcm00ZihlLHIudV9zY2FsZSksdV9mYWRlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9mYWRlKSx1X29wYWNpdHk6bmV3IHQuVW5pZm9ybTFmKGUsci51X29wYWNpdHkpfX0sZmlsbDpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGZpbGxQYXR0ZXJuOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3RleHNpemU6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RleHNpemUpLHVfcGl4ZWxfY29vcmRfdXBwZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX3VwcGVyKSx1X3BpeGVsX2Nvb3JkX2xvd2VyOm5ldyB0LlVuaWZvcm0yZihlLHIudV9waXhlbF9jb29yZF9sb3dlciksdV9zY2FsZTpuZXcgdC5Vbmlmb3JtNGYoZSxyLnVfc2NhbGUpLHVfZmFkZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZSl9fSxmaWxsT3V0bGluZTpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X3dvcmxkOm5ldyB0LlVuaWZvcm0yZihlLHIudV93b3JsZCl9fSxmaWxsT3V0bGluZVBhdHRlcm46ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV93b3JsZDpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfd29ybGQpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3RleHNpemU6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RleHNpemUpLHVfcGl4ZWxfY29vcmRfdXBwZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX3VwcGVyKSx1X3BpeGVsX2Nvb3JkX2xvd2VyOm5ldyB0LlVuaWZvcm0yZihlLHIudV9waXhlbF9jb29yZF9sb3dlciksdV9zY2FsZTpuZXcgdC5Vbmlmb3JtNGYoZSxyLnVfc2NhbGUpLHVfZmFkZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZSl9fSxjaXJjbGU6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlKSx1X3NjYWxlX3dpdGhfbWFwOm5ldyB0LlVuaWZvcm0xaShlLHIudV9zY2FsZV93aXRoX21hcCksdV9waXRjaF93aXRoX21hcDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcGl0Y2hfd2l0aF9tYXApLHVfZXh0cnVkZV9zY2FsZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfZXh0cnVkZV9zY2FsZSksdV9kZXZpY2VfcGl4ZWxfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2RldmljZV9waXhlbF9yYXRpbyksdV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCl9fSxjb2xsaXNpb25Cb3g6X3IsY29sbGlzaW9uQ2lyY2xlOl9yLGRlYnVnOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfY29sb3I6bmV3IHQuVW5pZm9ybUNvbG9yKGUsci51X2NvbG9yKSx1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGNsaXBwaW5nTWFzazpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGhlYXRtYXA6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9leHRydWRlX3NjYWxlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9leHRydWRlX3NjYWxlKSx1X2ludGVuc2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaW50ZW5zaXR5KSx1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGhlYXRtYXBUZXh0dXJlOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfd29ybGQ6bmV3IHQuVW5pZm9ybTJmKGUsci51X3dvcmxkKSx1X2ltYWdlOm5ldyB0LlVuaWZvcm0xaShlLHIudV9pbWFnZSksdV9jb2xvcl9yYW1wOm5ldyB0LlVuaWZvcm0xaShlLHIudV9jb2xvcl9yYW1wKSx1X29wYWNpdHk6bmV3IHQuVW5pZm9ybTFmKGUsci51X29wYWNpdHkpfX0saGlsbHNoYWRlOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X2xhdHJhbmdlOm5ldyB0LlVuaWZvcm0yZihlLHIudV9sYXRyYW5nZSksdV9saWdodDpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfbGlnaHQpLHVfc2hhZG93Om5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9zaGFkb3cpLHVfaGlnaGxpZ2h0Om5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9oaWdobGlnaHQpLHVfYWNjZW50Om5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9hY2NlbnQpfX0saGlsbHNoYWRlUHJlcGFyZTpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2ltYWdlOm5ldyB0LlVuaWZvcm0xaShlLHIudV9pbWFnZSksdV9kaW1lbnNpb246bmV3IHQuVW5pZm9ybTJmKGUsci51X2RpbWVuc2lvbiksdV96b29tOm5ldyB0LlVuaWZvcm0xZihlLHIudV96b29tKSx1X21heHpvb206bmV3IHQuVW5pZm9ybTFmKGUsci51X21heHpvb20pfX0sbGluZTpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9yYXRpbyksdV9kZXZpY2VfcGl4ZWxfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2RldmljZV9waXhlbF9yYXRpbyksdV91bml0c190b19waXhlbHM6bmV3IHQuVW5pZm9ybTJmKGUsci51X3VuaXRzX3RvX3BpeGVscyl9fSxsaW5lR3JhZGllbnQ6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV9yYXRpbzpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcmF0aW8pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9kZXZpY2VfcGl4ZWxfcmF0aW8pLHVfdW5pdHNfdG9fcGl4ZWxzOm5ldyB0LlVuaWZvcm0yZihlLHIudV91bml0c190b19waXhlbHMpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKX19LGxpbmVQYXR0ZXJuOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV9yYXRpbzpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcmF0aW8pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9kZXZpY2VfcGl4ZWxfcmF0aW8pLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3VuaXRzX3RvX3BpeGVsczpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdW5pdHNfdG9fcGl4ZWxzKSx1X3NjYWxlOm5ldyB0LlVuaWZvcm00ZihlLHIudV9zY2FsZSksdV9mYWRlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9mYWRlKX19LGxpbmVTREY6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV9yYXRpbzpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcmF0aW8pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9kZXZpY2VfcGl4ZWxfcmF0aW8pLHVfdW5pdHNfdG9fcGl4ZWxzOm5ldyB0LlVuaWZvcm0yZihlLHIudV91bml0c190b19waXhlbHMpLHVfcGF0dGVybnNjYWxlX2E6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BhdHRlcm5zY2FsZV9hKSx1X3BhdHRlcm5zY2FsZV9iOm5ldyB0LlVuaWZvcm0yZihlLHIudV9wYXR0ZXJuc2NhbGVfYiksdV9zZGZnYW1tYTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2RmZ2FtbWEpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3RleF95X2E6bmV3IHQuVW5pZm9ybTFmKGUsci51X3RleF95X2EpLHVfdGV4X3lfYjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdGV4X3lfYiksdV9taXg6bmV3IHQuVW5pZm9ybTFmKGUsci51X21peCl9fSxyYXN0ZXI6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV90bF9wYXJlbnQ6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RsX3BhcmVudCksdV9zY2FsZV9wYXJlbnQ6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NjYWxlX3BhcmVudCksdV9idWZmZXJfc2NhbGU6bmV3IHQuVW5pZm9ybTFmKGUsci51X2J1ZmZlcl9zY2FsZSksdV9mYWRlX3Q6bmV3IHQuVW5pZm9ybTFmKGUsci51X2ZhZGVfdCksdV9vcGFjaXR5Om5ldyB0LlVuaWZvcm0xZihlLHIudV9vcGFjaXR5KSx1X2ltYWdlMDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaW1hZ2UwKSx1X2ltYWdlMTpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaW1hZ2UxKSx1X2JyaWdodG5lc3NfbG93Om5ldyB0LlVuaWZvcm0xZihlLHIudV9icmlnaHRuZXNzX2xvdyksdV9icmlnaHRuZXNzX2hpZ2g6bmV3IHQuVW5pZm9ybTFmKGUsci51X2JyaWdodG5lc3NfaGlnaCksdV9zYXR1cmF0aW9uX2ZhY3RvcjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2F0dXJhdGlvbl9mYWN0b3IpLHVfY29udHJhc3RfZmFjdG9yOm5ldyB0LlVuaWZvcm0xZihlLHIudV9jb250cmFzdF9mYWN0b3IpLHVfc3Bpbl93ZWlnaHRzOm5ldyB0LlVuaWZvcm0zZihlLHIudV9zcGluX3dlaWdodHMpfX0sc3ltYm9sSWNvbjpmdW5jdGlvbihlLHIpe3JldHVybnt1X2lzX3NpemVfem9vbV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV96b29tX2NvbnN0YW50KSx1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSx1X3NpemVfdDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2l6ZV90KSx1X3NpemU6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NpemUpLHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSksdV9waXRjaDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcGl0Y2gpLHVfcm90YXRlX3N5bWJvbDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcm90YXRlX3N5bWJvbCksdV9hc3BlY3RfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2FzcGVjdF9yYXRpbyksdV9mYWRlX2NoYW5nZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZV9jaGFuZ2UpLHVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfbGFiZWxfcGxhbmVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9sYWJlbF9wbGFuZV9tYXRyaXgpLHVfY29vcmRfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9jb29yZF9tYXRyaXgpLHVfaXNfdGV4dDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaXNfdGV4dCksdV9waXRjaF93aXRoX21hcDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcGl0Y2hfd2l0aF9tYXApLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV90ZXh0dXJlOm5ldyB0LlVuaWZvcm0xaShlLHIudV90ZXh0dXJlKX19LHN5bWJvbFNERjpmdW5jdGlvbihlLHIpe3JldHVybnt1X2lzX3NpemVfem9vbV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV96b29tX2NvbnN0YW50KSx1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSx1X3NpemVfdDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2l6ZV90KSx1X3NpemU6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NpemUpLHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSksdV9waXRjaDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcGl0Y2gpLHVfcm90YXRlX3N5bWJvbDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcm90YXRlX3N5bWJvbCksdV9hc3BlY3RfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2FzcGVjdF9yYXRpbyksdV9mYWRlX2NoYW5nZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZV9jaGFuZ2UpLHVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfbGFiZWxfcGxhbmVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9sYWJlbF9wbGFuZV9tYXRyaXgpLHVfY29vcmRfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9jb29yZF9tYXRyaXgpLHVfaXNfdGV4dDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaXNfdGV4dCksdV9waXRjaF93aXRoX21hcDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcGl0Y2hfd2l0aF9tYXApLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV90ZXh0dXJlOm5ldyB0LlVuaWZvcm0xaShlLHIudV90ZXh0dXJlKSx1X2dhbW1hX3NjYWxlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9nYW1tYV9zY2FsZSksdV9kZXZpY2VfcGl4ZWxfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2RldmljZV9waXhlbF9yYXRpbyksdV9pc19oYWxvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9pc19oYWxvKX19LGJhY2tncm91bmQ6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV9vcGFjaXR5Om5ldyB0LlVuaWZvcm0xZihlLHIudV9vcGFjaXR5KSx1X2NvbG9yOm5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9jb2xvcil9fSxiYWNrZ3JvdW5kUGF0dGVybjpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X29wYWNpdHk6bmV3IHQuVW5pZm9ybTFmKGUsci51X29wYWNpdHkpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3BhdHRlcm5fdGxfYTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl90bF9hKSx1X3BhdHRlcm5fYnJfYTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl9icl9hKSx1X3BhdHRlcm5fdGxfYjpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl90bF9iKSx1X3BhdHRlcm5fYnJfYjpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl9icl9iKSx1X3RleHNpemU6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RleHNpemUpLHVfbWl4Om5ldyB0LlVuaWZvcm0xZihlLHIudV9taXgpLHVfcGF0dGVybl9zaXplX2E6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BhdHRlcm5fc2l6ZV9hKSx1X3BhdHRlcm5fc2l6ZV9iOm5ldyB0LlVuaWZvcm0yZihlLHIudV9wYXR0ZXJuX3NpemVfYiksdV9zY2FsZV9hOm5ldyB0LlVuaWZvcm0xZihlLHIudV9zY2FsZV9hKSx1X3NjYWxlX2I6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NjYWxlX2IpLHVfcGl4ZWxfY29vcmRfdXBwZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX3VwcGVyKSx1X3BpeGVsX2Nvb3JkX2xvd2VyOm5ldyB0LlVuaWZvcm0yZihlLHIudV9waXhlbF9jb29yZF9sb3dlciksdV90aWxlX3VuaXRzX3RvX3BpeGVsczpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdGlsZV91bml0c190b19waXhlbHMpfX19O2Z1bmN0aW9uIFVyKGUscil7Zm9yKHZhciBuPWUuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LnRpbGVJRC5pc0xlc3NUaGFuKGUudGlsZUlEKT8tMTplLnRpbGVJRC5pc0xlc3NUaGFuKHQudGlsZUlEKT8xOjB9KSxhPTA7YTxuLmxlbmd0aDthKyspe3ZhciBpPXt9LG89blthXSxzPW4uc2xpY2UoYSsxKTtxcihvLnRpbGVJRC53cmFwcGVkKCksby50aWxlSUQscyxuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKDAsby50aWxlSUQud3JhcCsxLDAsMCwwKSxpKSxvLnNldE1hc2soaSxyKX19ZnVuY3Rpb24gcXIoZSxyLG4sYSxpKXtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHM9bltvXTtpZihhLmlzTGVzc1RoYW4ocy50aWxlSUQpKWJyZWFrO2lmKHIua2V5PT09cy50aWxlSUQua2V5KXJldHVybjtpZihzLnRpbGVJRC5pc0NoaWxkT2Yocikpe2Zvcih2YXIgbD1yLmNoaWxkcmVuKDEvMCksYz0wO2M8bC5sZW5ndGg7YysrKXFyKGUsbFtjXSxuLnNsaWNlKG8pLGEsaSk7cmV0dXJufX12YXIgdT1yLm92ZXJzY2FsZWRaLWUub3ZlcnNjYWxlZFosaD1uZXcgdC5DYW5vbmljYWxUaWxlSUQodSxyLmNhbm9uaWNhbC54LShlLmNhbm9uaWNhbC54PDx1KSxyLmNhbm9uaWNhbC55LShlLmNhbm9uaWNhbC55PDx1KSk7aVtoLmtleV09aVtoLmtleV18fGh9ZnVuY3Rpb24gSHIodCxlLHIsbixhKXtmb3IodmFyIGk9dC5jb250ZXh0LG89aS5nbCxzPWE/dC51c2VQcm9ncmFtKCJjb2xsaXNpb25DaXJjbGUiKTp0LnVzZVByb2dyYW0oImNvbGxpc2lvbkJveCIpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGM9bltsXSx1PWUuZ2V0VGlsZShjKSxoPXUuZ2V0QnVja2V0KHIpO2lmKGgpe3ZhciBmPWE/aC5jb2xsaXNpb25DaXJjbGU6aC5jb2xsaXNpb25Cb3g7ZiYmcy5kcmF3KGksYT9vLlRSSUFOR0xFUzpvLkxJTkVTLE10LmRpc2FibGVkLEF0LmRpc2FibGVkLHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLEV0LmRpc2FibGVkLHdyKGMucG9zTWF0cml4LHQudHJhbnNmb3JtLHUpLHIuaWQsZi5sYXlvdXRWZXJ0ZXhCdWZmZXIsZi5pbmRleEJ1ZmZlcixmLnNlZ21lbnRzLG51bGwsdC50cmFuc2Zvcm0uem9vbSxudWxsLG51bGwsZi5jb2xsaXNpb25WZXJ0ZXhCdWZmZXIpfX19dmFyIEdyPXQuaWRlbnRpdHkobmV3IEZsb2F0MzJBcnJheSgxNikpO2Z1bmN0aW9uIFlyKGUscixuLGEsaSxvKXt2YXIgcz10LmdldEFuY2hvckFsaWdubWVudChlKSxsPS0ocy5ob3Jpem9udGFsQWxpZ24tLjUpKnIsYz0tKHMudmVydGljYWxBbGlnbi0uNSkqbix1PXQuZXZhbHVhdGVSYWRpYWxPZmZzZXQoZSxhKTtyZXR1cm4gbmV3IHQuUG9pbnQoKGwvaSt1WzBdKSpvLChjL2krdVsxXSkqbyl9ZnVuY3Rpb24gV3IoZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGg9ZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LGY9ZS50ZXh0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhBcnJheTtmLmNsZWFyKCk7Zm9yKHZhciBwPTA7cDxoLmxlbmd0aDtwKyspe3ZhciBkPWguZ2V0KHApLGc9ZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiYhZC5wbGFjZWRPcmllbnRhdGlvbix2PWQuaGlkZGVufHwhZC5jcm9zc1RpbGVJRHx8Zz9udWxsOmFbZC5jcm9zc1RpbGVJRF07aWYodil7dmFyIG09bmV3IHQuUG9pbnQoZC5hbmNob3JYLGQuYW5jaG9yWSkseT1KdChtLG4/bDpzKSx4PS41K28uY2FtZXJhVG9DZW50ZXJEaXN0YW5jZS95LnNpZ25lZERpc3RhbmNlRnJvbUNhbWVyYSouNSxiPWkuZXZhbHVhdGVTaXplRm9yRmVhdHVyZShlLnRleHRTaXplRGF0YSx1LGQpKngvdC5PTkVfRU07biYmKGIqPWUudGlsZVBpeGVsUmF0aW8vYyk7Zm9yKHZhciBfPXYud2lkdGgsdz12LmhlaWdodCxrPXYucmFkaWFsT2Zmc2V0LFQ9di50ZXh0Qm94U2NhbGUsTT1Zcih2LmFuY2hvcixfLHcsayxULGIpLEE9bj9KdChtLmFkZChNKSxzKS5wb2ludDp5LnBvaW50LmFkZChyP00ucm90YXRlKC1vLmFuZ2xlKTpNKSxTPWUuYWxsb3dWZXJ0aWNhbFBsYWNlbWVudCYmZC5wbGFjZWRPcmllbnRhdGlvbj09PXQuV3JpdGluZ01vZGUudmVydGljYWw/TWF0aC5QSS8yOjAsRT0wO0U8ZC5udW1HbHlwaHM7RSsrKXQuYWRkRHluYW1pY0F0dHJpYnV0ZXMoZixBLFMpfWVsc2UgaWUoZC5udW1HbHlwaHMsZil9ZS50ZXh0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShmKX1mdW5jdGlvbiBYcihlKXt2YXIgcj1lLnRleHQucGxhY2VkU3ltYm9sQXJyYXksbj1lLnRleHQuZHluYW1pY0xheW91dFZlcnRleEFycmF5O24uY2xlYXIoKTtmb3IodmFyIGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGk9ci5nZXQoYSk7aWYoaS5oaWRkZW58fCFpLnBsYWNlZE9yaWVudGF0aW9uKWllKGkubnVtR2x5cGhzLG4pO2Vsc2UgZm9yKHZhciBvPW5ldyB0LlBvaW50KGkuYW5jaG9yWCxpLmFuY2hvclkpLHM9ZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZpLnBsYWNlZE9yaWVudGF0aW9uPT09dC5Xcml0aW5nTW9kZS52ZXJ0aWNhbD9NYXRoLlBJLzI6MCxsPTA7bDxpLm51bUdseXBocztsKyspdC5hZGREeW5hbWljQXR0cmlidXRlcyhuLG8scyl9ZS50ZXh0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShuKX1mdW5jdGlvbiBacihlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwKXtmb3IodmFyIGQsZyx2PWUuY29udGV4dCxtPXYuZ2wseT1lLnRyYW5zZm9ybSx4PSJtYXAiPT09bCxiPSJtYXAiPT09YyxfPXgmJiJwb2ludCIhPT1uLmxheW91dC5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKSx3PXgmJiFiJiYhXyxrPXZvaWQgMCE9PW4ubGF5b3V0LmdldCgic3ltYm9sLXNvcnQta2V5IikuY29uc3RhbnRPcigxKSxUPWUuZGVwdGhNb2RlRm9yU3VibGF5ZXIoMCxNdC5SZWFkT25seSksTT1uLmxheW91dC5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIiksQT1bXSxTPTAsRT1hO1M8RS5sZW5ndGg7Uys9MSl7dmFyIEw9RVtTXSxDPXIuZ2V0VGlsZShMKSxQPUMuZ2V0QnVja2V0KG4pO2lmKFApe3ZhciBPPWk/UC50ZXh0OlAuaWNvbjtpZihPJiZPLnNlZ21lbnRzLmdldCgpLmxlbmd0aCl7dmFyIHo9Ty5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZ2V0KG4uaWQpLEk9aXx8UC5zZGZJY29ucyxEPWk/UC50ZXh0U2l6ZURhdGE6UC5pY29uU2l6ZURhdGE7ZHx8KGQ9ZS51c2VQcm9ncmFtKEk/InN5bWJvbFNERiI6InN5bWJvbEljb24iLHopLGc9dC5ldmFsdWF0ZVNpemVGb3Jab29tKEQseS56b29tKSksdi5hY3RpdmVUZXh0dXJlLnNldChtLlRFWFRVUkUwKTt2YXIgUj12b2lkIDAsRj12b2lkIDAsQj12b2lkIDA7aWYoaSlGPUMuZ2x5cGhBdGxhc1RleHR1cmUsQj1tLkxJTkVBUixSPUMuZ2x5cGhBdGxhc1RleHR1cmUuc2l6ZTtlbHNle3ZhciBOPTEhPT1uLmxheW91dC5nZXQoImljb24tc2l6ZSIpLmNvbnN0YW50T3IoMCl8fFAuaWNvbnNOZWVkTGluZWFyLGo9Ynx8MCE9PXkucGl0Y2g7Rj1DLmltYWdlQXRsYXNUZXh0dXJlLEI9SXx8ZS5vcHRpb25zLnJvdGF0aW5nfHxlLm9wdGlvbnMuem9vbWluZ3x8Tnx8aj9tLkxJTkVBUjptLk5FQVJFU1QsUj1DLmltYWdlQXRsYXNUZXh0dXJlLnNpemV9dmFyIFY9Y2UoQywxLGUudHJhbnNmb3JtLnpvb20pLFU9WHQoTC5wb3NNYXRyaXgsYix4LGUudHJhbnNmb3JtLFYpLHE9WnQoTC5wb3NNYXRyaXgsYix4LGUudHJhbnNmb3JtLFYpO2lmKF8pUXQoUCxMLnBvc01hdHJpeCxlLGksVSxxLGIsdSk7ZWxzZSBpZihpJiZnJiZNKXt2YXIgSD1NYXRoLnBvdygyLHkuem9vbS1DLnRpbGVJRC5vdmVyc2NhbGVkWik7V3IoUCx4LGIscCx0LnN5bWJvbFNpemUseSxVLEwucG9zTWF0cml4LEgsZyl9ZWxzZSBpJiZnJiZQLmFsbG93VmVydGljYWxQbGFjZW1lbnQmJlhyKFApO3ZhciBHPWUudHJhbnNsYXRlUG9zTWF0cml4KEwucG9zTWF0cml4LEMsbyxzKSxZPV98fGkmJk0/R3I6VSxXPWUudHJhbnNsYXRlUG9zTWF0cml4KHEsQyxvLHMsITApLFg9SSYmMCE9PW4ucGFpbnQuZ2V0KGk/InRleHQtaGFsby13aWR0aCI6Imljb24taGFsby13aWR0aCIpLmNvbnN0YW50T3IoMSksWj17cHJvZ3JhbTpkLGJ1ZmZlcnM6Tyx1bmlmb3JtVmFsdWVzOkk/QnIoRC5raW5kLGcsdyxiLGUsRyxZLFcsaSxSLCEwKTpGcihELmtpbmQsZyx3LGIsZSxHLFksVyxpLFIpLGF0bGFzVGV4dHVyZTpGLGF0bGFzSW50ZXJwb2xhdGlvbjpCLGlzU0RGOkksaGFzSGFsbzpYfTtpZihrKWZvcih2YXIgSj0wLEs9Ty5zZWdtZW50cy5nZXQoKTtKPEsubGVuZ3RoO0orPTEpe3ZhciBRPUtbSl07QS5wdXNoKHtzZWdtZW50czpuZXcgdC5TZWdtZW50VmVjdG9yKFtRXSksc29ydEtleTpRLnNvcnRLZXksc3RhdGU6Wn0pfWVsc2UgQS5wdXNoKHtzZWdtZW50czpPLnNlZ21lbnRzLHNvcnRLZXk6MCxzdGF0ZTpafSl9fX1rJiZBLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zb3J0S2V5LWUuc29ydEtleX0pO2Zvcih2YXIgJD0wLHR0PUE7JDx0dC5sZW5ndGg7JCs9MSl7dmFyIGV0PXR0WyRdLHJ0PWV0LnN0YXRlO2lmKHJ0LmF0bGFzVGV4dHVyZS5iaW5kKHJ0LmF0bGFzSW50ZXJwb2xhdGlvbixtLkNMQU1QX1RPX0VER0UpLHJ0LmlzU0RGKXt2YXIgbnQ9cnQudW5pZm9ybVZhbHVlcztydC5oYXNIYWxvJiYobnQudV9pc19oYWxvPTEsSnIocnQuYnVmZmVycyxldC5zZWdtZW50cyxuLGUscnQucHJvZ3JhbSxULGgsZixudCkpLG50LnVfaXNfaGFsbz0wfUpyKHJ0LmJ1ZmZlcnMsZXQuc2VnbWVudHMsbixlLHJ0LnByb2dyYW0sVCxoLGYscnQudW5pZm9ybVZhbHVlcyl9fWZ1bmN0aW9uIEpyKHQsZSxyLG4sYSxpLG8scyxsKXt2YXIgYz1uLmNvbnRleHQsdT1jLmdsO2EuZHJhdyhjLHUuVFJJQU5HTEVTLGksbyxzLEV0LmRpc2FibGVkLGwsci5pZCx0LmxheW91dFZlcnRleEJ1ZmZlcix0LmluZGV4QnVmZmVyLGUsci5wYWludCxuLnRyYW5zZm9ybS56b29tLHQucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChyLmlkKSx0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIsdC5vcGFjaXR5VmVydGV4QnVmZmVyKX1mdW5jdGlvbiBLcih0LGUscixuLGEsaSxvKXt2YXIgcyxsLGMsdSxoLGY9dC5jb250ZXh0LmdsLHA9ci5wYWludC5nZXQoImZpbGwtcGF0dGVybiIpLGQ9cCYmcC5jb25zdGFudE9yKDEpLGc9ci5nZXRDcm9zc2ZhZGVQYXJhbWV0ZXJzKCk7bz8obD1kJiYhci5nZXRQYWludFByb3BlcnR5KCJmaWxsLW91dGxpbmUtY29sb3IiKT8iZmlsbE91dGxpbmVQYXR0ZXJuIjoiZmlsbE91dGxpbmUiLHM9Zi5MSU5FUyk6KGw9ZD8iZmlsbFBhdHRlcm4iOiJmaWxsIixzPWYuVFJJQU5HTEVTKTtmb3IodmFyIHY9MCxtPW47djxtLmxlbmd0aDt2Kz0xKXt2YXIgeT1tW3ZdLHg9ZS5nZXRUaWxlKHkpO2lmKCFkfHx4LnBhdHRlcm5zTG9hZGVkKCkpe3ZhciBiPXguZ2V0QnVja2V0KHIpO2lmKGIpe3ZhciBfPWIucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChyLmlkKSx3PXQudXNlUHJvZ3JhbShsLF8pO2QmJih0LmNvbnRleHQuYWN0aXZlVGV4dHVyZS5zZXQoZi5URVhUVVJFMCkseC5pbWFnZUF0bGFzVGV4dHVyZS5iaW5kKGYuTElORUFSLGYuQ0xBTVBfVE9fRURHRSksXy51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzKGcpKTt2YXIgaz1wLmNvbnN0YW50T3IobnVsbCk7aWYoayYmeC5pbWFnZUF0bGFzKXt2YXIgVD14LmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc1trLnRvXSxNPXguaW1hZ2VBdGxhcy5wYXR0ZXJuUG9zaXRpb25zW2suZnJvbV07VCYmTSYmXy5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnMoVCxNKX12YXIgQT10LnRyYW5zbGF0ZVBvc01hdHJpeCh5LnBvc01hdHJpeCx4LHIucGFpbnQuZ2V0KCJmaWxsLXRyYW5zbGF0ZSIpLHIucGFpbnQuZ2V0KCJmaWxsLXRyYW5zbGF0ZS1hbmNob3IiKSk7aWYobyl7dT1iLmluZGV4QnVmZmVyMixoPWIuc2VnbWVudHMyO3ZhciBTPVtmLmRyYXdpbmdCdWZmZXJXaWR0aCxmLmRyYXdpbmdCdWZmZXJIZWlnaHRdO2M9ImZpbGxPdXRsaW5lUGF0dGVybiI9PT1sJiZkP3hyKEEsdCxnLHgsUyk6eXIoQSxTKX1lbHNlIHU9Yi5pbmRleEJ1ZmZlcixoPWIuc2VnbWVudHMsYz1kP21yKEEsdCxnLHgpOnZyKEEpO3cuZHJhdyh0LmNvbnRleHQscyxhLHQuc3RlbmNpbE1vZGVGb3JDbGlwcGluZyh5KSxpLEV0LmRpc2FibGVkLGMsci5pZCxiLmxheW91dFZlcnRleEJ1ZmZlcix1LGgsci5wYWludCx0LnRyYW5zZm9ybS56b29tLF8pfX19fWZ1bmN0aW9uIFFyKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz10LmNvbnRleHQsbD1zLmdsLGM9ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iKSx1PWMuY29uc3RhbnRPcigxKSxoPXIuZ2V0Q3Jvc3NmYWRlUGFyYW1ldGVycygpLGY9ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLW9wYWNpdHkiKSxwPTAsZD1uO3A8ZC5sZW5ndGg7cCs9MSl7dmFyIGc9ZFtwXSx2PWUuZ2V0VGlsZShnKSxtPXYuZ2V0QnVja2V0KHIpO2lmKG0pe3ZhciB5PW0ucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChyLmlkKSx4PXQudXNlUHJvZ3JhbSh1PyJmaWxsRXh0cnVzaW9uUGF0dGVybiI6ImZpbGxFeHRydXNpb24iLHkpO3UmJih0LmNvbnRleHQuYWN0aXZlVGV4dHVyZS5zZXQobC5URVhUVVJFMCksdi5pbWFnZUF0bGFzVGV4dHVyZS5iaW5kKGwuTElORUFSLGwuQ0xBTVBfVE9fRURHRSkseS51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzKGgpKTt2YXIgYj1jLmNvbnN0YW50T3IobnVsbCk7aWYoYiYmdi5pbWFnZUF0bGFzKXt2YXIgXz12LmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc1tiLnRvXSx3PXYuaW1hZ2VBdGxhcy5wYXR0ZXJuUG9zaXRpb25zW2IuZnJvbV07XyYmdyYmeS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnMoXyx3KX12YXIgaz10LnRyYW5zbGF0ZVBvc01hdHJpeChnLnBvc01hdHJpeCx2LHIucGFpbnQuZ2V0KCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUiKSxyLnBhaW50LmdldCgiZmlsbC1leHRydXNpb24tdHJhbnNsYXRlLWFuY2hvciIpKSxUPXIucGFpbnQuZ2V0KCJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCIpLE09dT9ncihrLHQsVCxmLGcsaCx2KTpkcihrLHQsVCxmKTt4LmRyYXcocyxzLmdsLlRSSUFOR0xFUyxhLGksbyxFdC5iYWNrQ0NXLE0sci5pZCxtLmxheW91dFZlcnRleEJ1ZmZlcixtLmluZGV4QnVmZmVyLG0uc2VnbWVudHMsci5wYWludCx0LnRyYW5zZm9ybS56b29tLHkpfX19ZnVuY3Rpb24gJHIodCxlLHIsbixhLGkpe3ZhciBvPXQuY29udGV4dCxzPW8uZ2wsbD1lLmZibztpZihsKXt2YXIgYz10LnVzZVByb2dyYW0oImhpbGxzaGFkZSIpO28uYWN0aXZlVGV4dHVyZS5zZXQocy5URVhUVVJFMCkscy5iaW5kVGV4dHVyZShzLlRFWFRVUkVfMkQsbC5jb2xvckF0dGFjaG1lbnQuZ2V0KCkpO3ZhciB1PUFyKHQsZSxyKTtlLm1hc2tlZEJvdW5kc0J1ZmZlciYmZS5tYXNrZWRJbmRleEJ1ZmZlciYmZS5zZWdtZW50cz9jLmRyYXcobyxzLlRSSUFOR0xFUyxuLGEsaSxFdC5kaXNhYmxlZCx1LHIuaWQsZS5tYXNrZWRCb3VuZHNCdWZmZXIsZS5tYXNrZWRJbmRleEJ1ZmZlcixlLnNlZ21lbnRzKTpjLmRyYXcobyxzLlRSSUFOR0xFUyxuLGEsaSxFdC5kaXNhYmxlZCx1LHIuaWQsdC5yYXN0ZXJCb3VuZHNCdWZmZXIsdC5xdWFkVHJpYW5nbGVJbmRleEJ1ZmZlcix0LnJhc3RlckJvdW5kc1NlZ21lbnRzKX19ZnVuY3Rpb24gdG4oZSxyLG4sYSxpLG8scyl7dmFyIGw9ZS5jb250ZXh0LGM9bC5nbDtpZihyLmRlbSYmci5kZW0uZGF0YSl7dmFyIHU9ci5kZW0uZGltLGg9ci5kZW0uc3RyaWRlLGY9ci5kZW0uZ2V0UGl4ZWxzKCk7aWYobC5hY3RpdmVUZXh0dXJlLnNldChjLlRFWFRVUkUxKSxsLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLnNldCghMSksci5kZW1UZXh0dXJlPXIuZGVtVGV4dHVyZXx8ZS5nZXRUaWxlVGV4dHVyZShoKSxyLmRlbVRleHR1cmUpe3ZhciBwPXIuZGVtVGV4dHVyZTtwLnVwZGF0ZShmLHtwcmVtdWx0aXBseTohMX0pLHAuYmluZChjLk5FQVJFU1QsYy5DTEFNUF9UT19FREdFKX1lbHNlIHIuZGVtVGV4dHVyZT1uZXcgdC5UZXh0dXJlKGwsZixjLlJHQkEse3ByZW11bHRpcGx5OiExfSksci5kZW1UZXh0dXJlLmJpbmQoYy5ORUFSRVNULGMuQ0xBTVBfVE9fRURHRSk7bC5hY3RpdmVUZXh0dXJlLnNldChjLlRFWFRVUkUwKTt2YXIgZD1yLmZibztpZighZCl7dmFyIGc9bmV3IHQuVGV4dHVyZShsLHt3aWR0aDp1LGhlaWdodDp1LGRhdGE6bnVsbH0sYy5SR0JBKTtnLmJpbmQoYy5MSU5FQVIsYy5DTEFNUF9UT19FREdFKSwoZD1yLmZibz1sLmNyZWF0ZUZyYW1lYnVmZmVyKHUsdSkpLmNvbG9yQXR0YWNobWVudC5zZXQoZy50ZXh0dXJlKX1sLmJpbmRGcmFtZWJ1ZmZlci5zZXQoZC5mcmFtZWJ1ZmZlciksbC52aWV3cG9ydC5zZXQoWzAsMCx1LHVdKSxlLnVzZVByb2dyYW0oImhpbGxzaGFkZVByZXBhcmUiKS5kcmF3KGwsYy5UUklBTkdMRVMsaSxvLHMsRXQuZGlzYWJsZWQsU3IocixhKSxuLmlkLGUucmFzdGVyQm91bmRzQnVmZmVyLGUucXVhZFRyaWFuZ2xlSW5kZXhCdWZmZXIsZS5yYXN0ZXJCb3VuZHNTZWdtZW50cyksci5uZWVkc0hpbGxzaGFkZVByZXBhcmU9ITF9fWZ1bmN0aW9uIGVuKGUscixuLGEsaSl7dmFyIG89YS5wYWludC5nZXQoInJhc3Rlci1mYWRlLWR1cmF0aW9uIik7aWYobz4wKXt2YXIgcz10LmJyb3dzZXIubm93KCksbD0ocy1lLnRpbWVBZGRlZCkvbyxjPXI/KHMtci50aW1lQWRkZWQpL286LTEsdT1uLmdldFNvdXJjZSgpLGg9aS5jb3ZlcmluZ1pvb21MZXZlbCh7dGlsZVNpemU6dS50aWxlU2l6ZSxyb3VuZFpvb206dS5yb3VuZFpvb219KSxmPSFyfHxNYXRoLmFicyhyLnRpbGVJRC5vdmVyc2NhbGVkWi1oKT5NYXRoLmFicyhlLnRpbGVJRC5vdmVyc2NhbGVkWi1oKSxwPWYmJmUucmVmcmVzaGVkVXBvbkV4cGlyYXRpb24/MTp0LmNsYW1wKGY/bDoxLWMsMCwxKTtyZXR1cm4gZS5yZWZyZXNoZWRVcG9uRXhwaXJhdGlvbiYmbD49MSYmKGUucmVmcmVzaGVkVXBvbkV4cGlyYXRpb249ITEpLHI/e29wYWNpdHk6MSxtaXg6MS1wfTp7b3BhY2l0eTpwLG1peDowfX1yZXR1cm57b3BhY2l0eToxLG1peDowfX1mdW5jdGlvbiBybihlLHIsbil7dmFyIGE9ZS5jb250ZXh0LGk9YS5nbCxvPW4ucG9zTWF0cml4LHM9ZS51c2VQcm9ncmFtKCJkZWJ1ZyIpLGw9TXQuZGlzYWJsZWQsYz1BdC5kaXNhYmxlZCx1PWUuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLGg9IiRkZWJ1ZyI7cy5kcmF3KGEsaS5MSU5FX1NUUklQLGwsYyx1LEV0LmRpc2FibGVkLGtyKG8sdC5Db2xvci5yZWQpLGgsZS5kZWJ1Z0J1ZmZlcixlLnRpbGVCb3JkZXJJbmRleEJ1ZmZlcixlLmRlYnVnU2VnbWVudHMpO2Zvcih2YXIgZj1yLmdldFRpbGVCeUlEKG4ua2V5KS5sYXRlc3RSYXdUaWxlRGF0YSxwPWYmJmYuYnl0ZUxlbmd0aHx8MCxkPU1hdGguZmxvb3IocC8xMDI0KSxnPXIuZ2V0VGlsZShuKS50aWxlU2l6ZSx2PTUxMi9NYXRoLm1pbihnLDUxMiksbT1mdW5jdGlvbih0LGUscixuKXtuPW58fDE7dmFyIGEsaSxvLHMsbCxjLHUsaCxmPVtdO2ZvcihhPTAsaT10Lmxlbmd0aDthPGk7YSsrKWlmKGw9bm5bdFthXV0pe2ZvcihoPW51bGwsbz0wLHM9bFsxXS5sZW5ndGg7bzxzO28rPTIpLTE9PT1sWzFdW29dJiYtMT09PWxbMV1bbysxXT9oPW51bGw6KGM9ZStsWzFdW29dKm4sdT1yLWxbMV1bbysxXSpuLGgmJmYucHVzaChoLngsaC55LGMsdSksaD17eDpjLHk6dX0pO2UrPWxbMF0qbn1yZXR1cm4gZn0obi50b1N0cmluZygpKyIgIitkKyJrYiIsNTAsMjAwKnYsNSp2KSx5PW5ldyB0LlN0cnVjdEFycmF5TGF5b3V0Mmk0LHg9bmV3IHQuU3RydWN0QXJyYXlMYXlvdXQydWk0LGI9MDtiPG0ubGVuZ3RoO2IrPTIpeS5lbXBsYWNlQmFjayhtW2JdLG1bYisxXSkseC5lbXBsYWNlQmFjayhiLGIrMSk7Zm9yKHZhciBfPWEuY3JlYXRlVmVydGV4QnVmZmVyKHksRmUubWVtYmVycyksdz1hLmNyZWF0ZUluZGV4QnVmZmVyKHgpLGs9dC5TZWdtZW50VmVjdG9yLnNpbXBsZVNlZ21lbnQoMCwwLHkubGVuZ3RoLzIseS5sZW5ndGgvMiksVD10LkVYVEVOVC8oTWF0aC5wb3coMixlLnRyYW5zZm9ybS56b29tLW4ub3ZlcnNjYWxlZFopKmcqdiksTT1bXSxBPS0xO0E8PTE7QSsrKWZvcih2YXIgUz0tMTtTPD0xJiYoMCE9PUF8fDAhPT1TKTtTKyspTS5wdXNoKFtBLFNdKTtmb3IodmFyIEU9MDtFPE0ubGVuZ3RoO0UrKyl7dmFyIEw9TVtFXTtzLmRyYXcoYSxpLkxJTkVTLGwsYyx1LEV0LmRpc2FibGVkLGtyKHQudHJhbnNsYXRlKFtdLG8sW1QqTFswXSxUKkxbMV0sMF0pLHQuQ29sb3Iud2hpdGUpLGgsXyx3LGspfXMuZHJhdyhhLGkuTElORVMsbCxjLHUsRXQuZGlzYWJsZWQsa3Iobyx0LkNvbG9yLmJsYWNrKSxoLF8sdyxrKX12YXIgbm49eyIgIjpbMTYsW11dLCIhIjpbMTAsWzUsMjEsNSw3LC0xLC0xLDUsMiw0LDEsNSwwLDYsMSw1LDJdXSwnIic6WzE2LFs0LDIxLDQsMTQsLTEsLTEsMTIsMjEsMTIsMTRdXSwiIyI6WzIxLFsxMSwyNSw0LC03LC0xLC0xLDE3LDI1LDEwLC03LC0xLC0xLDQsMTIsMTgsMTIsLTEsLTEsMyw2LDE3LDZdXSwkOlsyMCxbOCwyNSw4LC00LC0xLC0xLDEyLDI1LDEyLC00LC0xLC0xLDE3LDE4LDE1LDIwLDEyLDIxLDgsMjEsNSwyMCwzLDE4LDMsMTYsNCwxNCw1LDEzLDcsMTIsMTMsMTAsMTUsOSwxNiw4LDE3LDYsMTcsMywxNSwxLDEyLDAsOCwwLDUsMSwzLDNdXSwiJSI6WzI0LFsyMSwyMSwzLDAsLTEsLTEsOCwyMSwxMCwxOSwxMCwxNyw5LDE1LDcsMTQsNSwxNCwzLDE2LDMsMTgsNCwyMCw2LDIxLDgsMjEsMTAsMjAsMTMsMTksMTYsMTksMTksMjAsMjEsMjEsLTEsLTEsMTcsNywxNSw2LDE0LDQsMTQsMiwxNiwwLDE4LDAsMjAsMSwyMSwzLDIxLDUsMTksNywxNyw3XV0sIiYiOlsyNixbMjMsMTIsMjMsMTMsMjIsMTQsMjEsMTQsMjAsMTMsMTksMTEsMTcsNiwxNSwzLDEzLDEsMTEsMCw3LDAsNSwxLDQsMiwzLDQsMyw2LDQsOCw1LDksMTIsMTMsMTMsMTQsMTQsMTYsMTQsMTgsMTMsMjAsMTEsMjEsOSwyMCw4LDE4LDgsMTYsOSwxMywxMSwxMCwxNiwzLDE4LDEsMjAsMCwyMiwwLDIzLDEsMjMsMl1dLCInIjpbMTAsWzUsMTksNCwyMCw1LDIxLDYsMjAsNiwxOCw1LDE2LDQsMTVdXSwiKCI6WzE0LFsxMSwyNSw5LDIzLDcsMjAsNSwxNiw0LDExLDQsNyw1LDIsNywtMiw5LC01LDExLC03XV0sIikiOlsxNCxbMywyNSw1LDIzLDcsMjAsOSwxNiwxMCwxMSwxMCw3LDksMiw3LC0yLDUsLTUsMywtN11dLCIqIjpbMTYsWzgsMjEsOCw5LC0xLC0xLDMsMTgsMTMsMTIsLTEsLTEsMTMsMTgsMywxMl1dLCIrIjpbMjYsWzEzLDE4LDEzLDAsLTEsLTEsNCw5LDIyLDldXSwiLCI6WzEwLFs2LDEsNSwwLDQsMSw1LDIsNiwxLDYsLTEsNSwtMyw0LC00XV0sIi0iOlsyNixbNCw5LDIyLDldXSwiLiI6WzEwLFs1LDIsNCwxLDUsMCw2LDEsNSwyXV0sIi8iOlsyMixbMjAsMjUsMiwtN11dLDA6WzIwLFs5LDIxLDYsMjAsNCwxNywzLDEyLDMsOSw0LDQsNiwxLDksMCwxMSwwLDE0LDEsMTYsNCwxNyw5LDE3LDEyLDE2LDE3LDE0LDIwLDExLDIxLDksMjFdXSwxOlsyMCxbNiwxNyw4LDE4LDExLDIxLDExLDBdXSwyOlsyMCxbNCwxNiw0LDE3LDUsMTksNiwyMCw4LDIxLDEyLDIxLDE0LDIwLDE1LDE5LDE2LDE3LDE2LDE1LDE1LDEzLDEzLDEwLDMsMCwxNywwXV0sMzpbMjAsWzUsMjEsMTYsMjEsMTAsMTMsMTMsMTMsMTUsMTIsMTYsMTEsMTcsOCwxNyw2LDE2LDMsMTQsMSwxMSwwLDgsMCw1LDEsNCwyLDMsNF1dLDQ6WzIwLFsxMywyMSwzLDcsMTgsNywtMSwtMSwxMywyMSwxMywwXV0sNTpbMjAsWzE1LDIxLDUsMjEsNCwxMiw1LDEzLDgsMTQsMTEsMTQsMTQsMTMsMTYsMTEsMTcsOCwxNyw2LDE2LDMsMTQsMSwxMSwwLDgsMCw1LDEsNCwyLDMsNF1dLDY6WzIwLFsxNiwxOCwxNSwyMCwxMiwyMSwxMCwyMSw3LDIwLDUsMTcsNCwxMiw0LDcsNSwzLDcsMSwxMCwwLDExLDAsMTQsMSwxNiwzLDE3LDYsMTcsNywxNiwxMCwxNCwxMiwxMSwxMywxMCwxMyw3LDEyLDUsMTAsNCw3XV0sNzpbMjAsWzE3LDIxLDcsMCwtMSwtMSwzLDIxLDE3LDIxXV0sODpbMjAsWzgsMjEsNSwyMCw0LDE4LDQsMTYsNSwxNCw3LDEzLDExLDEyLDE0LDExLDE2LDksMTcsNywxNyw0LDE2LDIsMTUsMSwxMiwwLDgsMCw1LDEsNCwyLDMsNCwzLDcsNCw5LDYsMTEsOSwxMiwxMywxMywxNSwxNCwxNiwxNiwxNiwxOCwxNSwyMCwxMiwyMSw4LDIxXV0sOTpbMjAsWzE2LDE0LDE1LDExLDEzLDksMTAsOCw5LDgsNiw5LDQsMTEsMywxNCwzLDE1LDQsMTgsNiwyMCw5LDIxLDEwLDIxLDEzLDIwLDE1LDE4LDE2LDE0LDE2LDksMTUsNCwxMywxLDEwLDAsOCwwLDUsMSw0LDNdXSwiOiI6WzEwLFs1LDE0LDQsMTMsNSwxMiw2LDEzLDUsMTQsLTEsLTEsNSwyLDQsMSw1LDAsNiwxLDUsMl1dLCI7IjpbMTAsWzUsMTQsNCwxMyw1LDEyLDYsMTMsNSwxNCwtMSwtMSw2LDEsNSwwLDQsMSw1LDIsNiwxLDYsLTEsNSwtMyw0LC00XV0sIjwiOlsyNCxbMjAsMTgsNCw5LDIwLDBdXSwiPSI6WzI2LFs0LDEyLDIyLDEyLC0xLC0xLDQsNiwyMiw2XV0sIj4iOlsyNCxbNCwxOCwyMCw5LDQsMF1dLCI/IjpbMTgsWzMsMTYsMywxNyw0LDE5LDUsMjAsNywyMSwxMSwyMSwxMywyMCwxNCwxOSwxNSwxNywxNSwxNSwxNCwxMywxMywxMiw5LDEwLDksNywtMSwtMSw5LDIsOCwxLDksMCwxMCwxLDksMl1dLCJAIjpbMjcsWzE4LDEzLDE3LDE1LDE1LDE2LDEyLDE2LDEwLDE1LDksMTQsOCwxMSw4LDgsOSw2LDExLDUsMTQsNSwxNiw2LDE3LDgsLTEsLTEsMTIsMTYsMTAsMTQsOSwxMSw5LDgsMTAsNiwxMSw1LC0xLC0xLDE4LDE2LDE3LDgsMTcsNiwxOSw1LDIxLDUsMjMsNywyNCwxMCwyNCwxMiwyMywxNSwyMiwxNywyMCwxOSwxOCwyMCwxNSwyMSwxMiwyMSw5LDIwLDcsMTksNSwxNyw0LDE1LDMsMTIsMyw5LDQsNiw1LDQsNywyLDksMSwxMiwwLDE1LDAsMTgsMSwyMCwyLDIxLDMsLTEsLTEsMTksMTYsMTgsOCwxOCw2LDE5LDVdXSxBOlsxOCxbOSwyMSwxLDAsLTEsLTEsOSwyMSwxNywwLC0xLC0xLDQsNywxNCw3XV0sQjpbMjEsWzQsMjEsNCwwLC0xLC0xLDQsMjEsMTMsMjEsMTYsMjAsMTcsMTksMTgsMTcsMTgsMTUsMTcsMTMsMTYsMTIsMTMsMTEsLTEsLTEsNCwxMSwxMywxMSwxNiwxMCwxNyw5LDE4LDcsMTgsNCwxNywyLDE2LDEsMTMsMCw0LDBdXSxDOlsyMSxbMTgsMTYsMTcsMTgsMTUsMjAsMTMsMjEsOSwyMSw3LDIwLDUsMTgsNCwxNiwzLDEzLDMsOCw0LDUsNSwzLDcsMSw5LDAsMTMsMCwxNSwxLDE3LDMsMTgsNV1dLEQ6WzIxLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDExLDIxLDE0LDIwLDE2LDE4LDE3LDE2LDE4LDEzLDE4LDgsMTcsNSwxNiwzLDE0LDEsMTEsMCw0LDBdXSxFOlsxOSxbNCwyMSw0LDAsLTEsLTEsNCwyMSwxNywyMSwtMSwtMSw0LDExLDEyLDExLC0xLC0xLDQsMCwxNywwXV0sRjpbMTgsWzQsMjEsNCwwLC0xLC0xLDQsMjEsMTcsMjEsLTEsLTEsNCwxMSwxMiwxMV1dLEc6WzIxLFsxOCwxNiwxNywxOCwxNSwyMCwxMywyMSw5LDIxLDcsMjAsNSwxOCw0LDE2LDMsMTMsMyw4LDQsNSw1LDMsNywxLDksMCwxMywwLDE1LDEsMTcsMywxOCw1LDE4LDgsLTEsLTEsMTMsOCwxOCw4XV0sSDpbMjIsWzQsMjEsNCwwLC0xLC0xLDE4LDIxLDE4LDAsLTEsLTEsNCwxMSwxOCwxMV1dLEk6WzgsWzQsMjEsNCwwXV0sSjpbMTYsWzEyLDIxLDEyLDUsMTEsMiwxMCwxLDgsMCw2LDAsNCwxLDMsMiwyLDUsMiw3XV0sSzpbMjEsWzQsMjEsNCwwLC0xLC0xLDE4LDIxLDQsNywtMSwtMSw5LDEyLDE4LDBdXSxMOlsxNyxbNCwyMSw0LDAsLTEsLTEsNCwwLDE2LDBdXSxNOlsyNCxbNCwyMSw0LDAsLTEsLTEsNCwyMSwxMiwwLC0xLC0xLDIwLDIxLDEyLDAsLTEsLTEsMjAsMjEsMjAsMF1dLE46WzIyLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDE4LDAsLTEsLTEsMTgsMjEsMTgsMF1dLE86WzIyLFs5LDIxLDcsMjAsNSwxOCw0LDE2LDMsMTMsMyw4LDQsNSw1LDMsNywxLDksMCwxMywwLDE1LDEsMTcsMywxOCw1LDE5LDgsMTksMTMsMTgsMTYsMTcsMTgsMTUsMjAsMTMsMjEsOSwyMV1dLFA6WzIxLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDEzLDIxLDE2LDIwLDE3LDE5LDE4LDE3LDE4LDE0LDE3LDEyLDE2LDExLDEzLDEwLDQsMTBdXSxROlsyMixbOSwyMSw3LDIwLDUsMTgsNCwxNiwzLDEzLDMsOCw0LDUsNSwzLDcsMSw5LDAsMTMsMCwxNSwxLDE3LDMsMTgsNSwxOSw4LDE5LDEzLDE4LDE2LDE3LDE4LDE1LDIwLDEzLDIxLDksMjEsLTEsLTEsMTIsNCwxOCwtMl1dLFI6WzIxLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDEzLDIxLDE2LDIwLDE3LDE5LDE4LDE3LDE4LDE1LDE3LDEzLDE2LDEyLDEzLDExLDQsMTEsLTEsLTEsMTEsMTEsMTgsMF1dLFM6WzIwLFsxNywxOCwxNSwyMCwxMiwyMSw4LDIxLDUsMjAsMywxOCwzLDE2LDQsMTQsNSwxMyw3LDEyLDEzLDEwLDE1LDksMTYsOCwxNyw2LDE3LDMsMTUsMSwxMiwwLDgsMCw1LDEsMywzXV0sVDpbMTYsWzgsMjEsOCwwLC0xLC0xLDEsMjEsMTUsMjFdXSxVOlsyMixbNCwyMSw0LDYsNSwzLDcsMSwxMCwwLDEyLDAsMTUsMSwxNywzLDE4LDYsMTgsMjFdXSxWOlsxOCxbMSwyMSw5LDAsLTEsLTEsMTcsMjEsOSwwXV0sVzpbMjQsWzIsMjEsNywwLC0xLC0xLDEyLDIxLDcsMCwtMSwtMSwxMiwyMSwxNywwLC0xLC0xLDIyLDIxLDE3LDBdXSxYOlsyMCxbMywyMSwxNywwLC0xLC0xLDE3LDIxLDMsMF1dLFk6WzE4LFsxLDIxLDksMTEsOSwwLC0xLC0xLDE3LDIxLDksMTFdXSxaOlsyMCxbMTcsMjEsMywwLC0xLC0xLDMsMjEsMTcsMjEsLTEsLTEsMywwLDE3LDBdXSwiWyI6WzE0LFs0LDI1LDQsLTcsLTEsLTEsNSwyNSw1LC03LC0xLC0xLDQsMjUsMTEsMjUsLTEsLTEsNCwtNywxMSwtN11dLCJcXCI6WzE0LFswLDIxLDE0LC0zXV0sIl0iOlsxNCxbOSwyNSw5LC03LC0xLC0xLDEwLDI1LDEwLC03LC0xLC0xLDMsMjUsMTAsMjUsLTEsLTEsMywtNywxMCwtN11dLCJeIjpbMTYsWzYsMTUsOCwxOCwxMCwxNSwtMSwtMSwzLDEyLDgsMTcsMTMsMTIsLTEsLTEsOCwxNyw4LDBdXSxfOlsxNixbMCwtMiwxNiwtMl1dLCJgIjpbMTAsWzYsMjEsNSwyMCw0LDE4LDQsMTYsNSwxNSw2LDE2LDUsMTddXSxhOlsxOSxbMTUsMTQsMTUsMCwtMSwtMSwxNSwxMSwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0sYjpbMTksWzQsMjEsNCwwLC0xLC0xLDQsMTEsNiwxMyw4LDE0LDExLDE0LDEzLDEzLDE1LDExLDE2LDgsMTYsNiwxNSwzLDEzLDEsMTEsMCw4LDAsNiwxLDQsM11dLGM6WzE4LFsxNSwxMSwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0sZDpbMTksWzE1LDIxLDE1LDAsLTEsLTEsMTUsMTEsMTMsMTMsMTEsMTQsOCwxNCw2LDEzLDQsMTEsMyw4LDMsNiw0LDMsNiwxLDgsMCwxMSwwLDEzLDEsMTUsM11dLGU6WzE4LFszLDgsMTUsOCwxNSwxMCwxNCwxMiwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0sZjpbMTIsWzEwLDIxLDgsMjEsNiwyMCw1LDE3LDUsMCwtMSwtMSwyLDE0LDksMTRdXSxnOlsxOSxbMTUsMTQsMTUsLTIsMTQsLTUsMTMsLTYsMTEsLTcsOCwtNyw2LC02LC0xLC0xLDE1LDExLDEzLDEzLDExLDE0LDgsMTQsNiwxMyw0LDExLDMsOCwzLDYsNCwzLDYsMSw4LDAsMTEsMCwxMywxLDE1LDNdXSxoOlsxOSxbNCwyMSw0LDAsLTEsLTEsNCwxMCw3LDEzLDksMTQsMTIsMTQsMTQsMTMsMTUsMTAsMTUsMF1dLGk6WzgsWzMsMjEsNCwyMCw1LDIxLDQsMjIsMywyMSwtMSwtMSw0LDE0LDQsMF1dLGo6WzEwLFs1LDIxLDYsMjAsNywyMSw2LDIyLDUsMjEsLTEsLTEsNiwxNCw2LC0zLDUsLTYsMywtNywxLC03XV0sazpbMTcsWzQsMjEsNCwwLC0xLC0xLDE0LDE0LDQsNCwtMSwtMSw4LDgsMTUsMF1dLGw6WzgsWzQsMjEsNCwwXV0sbTpbMzAsWzQsMTQsNCwwLC0xLC0xLDQsMTAsNywxMyw5LDE0LDEyLDE0LDE0LDEzLDE1LDEwLDE1LDAsLTEsLTEsMTUsMTAsMTgsMTMsMjAsMTQsMjMsMTQsMjUsMTMsMjYsMTAsMjYsMF1dLG46WzE5LFs0LDE0LDQsMCwtMSwtMSw0LDEwLDcsMTMsOSwxNCwxMiwxNCwxNCwxMywxNSwxMCwxNSwwXV0sbzpbMTksWzgsMTQsNiwxMyw0LDExLDMsOCwzLDYsNCwzLDYsMSw4LDAsMTEsMCwxMywxLDE1LDMsMTYsNiwxNiw4LDE1LDExLDEzLDEzLDExLDE0LDgsMTRdXSxwOlsxOSxbNCwxNCw0LC03LC0xLC0xLDQsMTEsNiwxMyw4LDE0LDExLDE0LDEzLDEzLDE1LDExLDE2LDgsMTYsNiwxNSwzLDEzLDEsMTEsMCw4LDAsNiwxLDQsM11dLHE6WzE5LFsxNSwxNCwxNSwtNywtMSwtMSwxNSwxMSwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0scjpbMTMsWzQsMTQsNCwwLC0xLC0xLDQsOCw1LDExLDcsMTMsOSwxNCwxMiwxNF1dLHM6WzE3LFsxNCwxMSwxMywxMywxMCwxNCw3LDE0LDQsMTMsMywxMSw0LDksNiw4LDExLDcsMTMsNiwxNCw0LDE0LDMsMTMsMSwxMCwwLDcsMCw0LDEsMywzXV0sdDpbMTIsWzUsMjEsNSw0LDYsMSw4LDAsMTAsMCwtMSwtMSwyLDE0LDksMTRdXSx1OlsxOSxbNCwxNCw0LDQsNSwxLDcsMCwxMCwwLDEyLDEsMTUsNCwtMSwtMSwxNSwxNCwxNSwwXV0sdjpbMTYsWzIsMTQsOCwwLC0xLC0xLDE0LDE0LDgsMF1dLHc6WzIyLFszLDE0LDcsMCwtMSwtMSwxMSwxNCw3LDAsLTEsLTEsMTEsMTQsMTUsMCwtMSwtMSwxOSwxNCwxNSwwXV0seDpbMTcsWzMsMTQsMTQsMCwtMSwtMSwxNCwxNCwzLDBdXSx5OlsxNixbMiwxNCw4LDAsLTEsLTEsMTQsMTQsOCwwLDYsLTQsNCwtNiwyLC03LDEsLTddXSx6OlsxNyxbMTQsMTQsMywwLC0xLC0xLDMsMTQsMTQsMTQsLTEsLTEsMywwLDE0LDBdXSwieyI6WzE0LFs5LDI1LDcsMjQsNiwyMyw1LDIxLDUsMTksNiwxNyw3LDE2LDgsMTQsOCwxMiw2LDEwLC0xLC0xLDcsMjQsNiwyMiw2LDIwLDcsMTgsOCwxNyw5LDE1LDksMTMsOCwxMSw0LDksOCw3LDksNSw5LDMsOCwxLDcsMCw2LC0yLDYsLTQsNywtNiwtMSwtMSw2LDgsOCw2LDgsNCw3LDIsNiwxLDUsLTEsNSwtMyw2LC01LDcsLTYsOSwtN11dLCJ8IjpbOCxbNCwyNSw0LC03XV0sIn0iOlsxNCxbNSwyNSw3LDI0LDgsMjMsOSwyMSw5LDE5LDgsMTcsNywxNiw2LDE0LDYsMTIsOCwxMCwtMSwtMSw3LDI0LDgsMjIsOCwyMCw3LDE4LDYsMTcsNSwxNSw1LDEzLDYsMTEsMTAsOSw2LDcsNSw1LDUsMyw2LDEsNywwLDgsLTIsOCwtNCw3LC02LC0xLC0xLDgsOCw2LDYsNiw0LDcsMiw4LDEsOSwtMSw5LC0zLDgsLTUsNywtNiw1LC03XV0sIn4iOlsyNCxbMyw2LDMsOCw0LDExLDYsMTIsOCwxMiwxMCwxMSwxNCw4LDE2LDcsMTgsNywyMCw4LDIxLDEwLC0xLC0xLDMsOCw0LDEwLDYsMTEsOCwxMSwxMCwxMCwxNCw3LDE2LDYsMTgsNiwyMCw3LDIxLDEwLDIxLDEyXV19LGFuPXtzeW1ib2w6ZnVuY3Rpb24odCxlLHIsbixhKXtpZigidHJhbnNsdWNlbnQiPT09dC5yZW5kZXJQYXNzKXt2YXIgaT1BdC5kaXNhYmxlZCxvPXQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpOzAhPT1yLnBhaW50LmdldCgiaWNvbi1vcGFjaXR5IikuY29uc3RhbnRPcigxKSYmWnIodCxlLHIsbiwhMSxyLnBhaW50LmdldCgiaWNvbi10cmFuc2xhdGUiKSxyLnBhaW50LmdldCgiaWNvbi10cmFuc2xhdGUtYW5jaG9yIiksci5sYXlvdXQuZ2V0KCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCIpLHIubGF5b3V0LmdldCgiaWNvbi1waXRjaC1hbGlnbm1lbnQiKSxyLmxheW91dC5nZXQoImljb24ta2VlcC11cHJpZ2h0IiksaSxvLGEpLDAhPT1yLnBhaW50LmdldCgidGV4dC1vcGFjaXR5IikuY29uc3RhbnRPcigxKSYmWnIodCxlLHIsbiwhMCxyLnBhaW50LmdldCgidGV4dC10cmFuc2xhdGUiKSxyLnBhaW50LmdldCgidGV4dC10cmFuc2xhdGUtYW5jaG9yIiksci5sYXlvdXQuZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpLHIubGF5b3V0LmdldCgidGV4dC1waXRjaC1hbGlnbm1lbnQiKSxyLmxheW91dC5nZXQoInRleHQta2VlcC11cHJpZ2h0IiksaSxvLGEpLGUubWFwLnNob3dDb2xsaXNpb25Cb3hlcyYmZnVuY3Rpb24odCxlLHIsbil7SHIodCxlLHIsbiwhMSksSHIodCxlLHIsbiwhMCl9KHQsZSxyLG4pfX0sY2lyY2xlOmZ1bmN0aW9uKGUscixuLGEpe2lmKCJ0cmFuc2x1Y2VudCI9PT1lLnJlbmRlclBhc3Mpe3ZhciBpPW4ucGFpbnQuZ2V0KCJjaXJjbGUtb3BhY2l0eSIpLG89bi5wYWludC5nZXQoImNpcmNsZS1zdHJva2Utd2lkdGgiKSxzPW4ucGFpbnQuZ2V0KCJjaXJjbGUtc3Ryb2tlLW9wYWNpdHkiKSxsPXZvaWQgMCE9PW4ubGF5b3V0LmdldCgiY2lyY2xlLXNvcnQta2V5IikuY29uc3RhbnRPcigxKTtpZigwIT09aS5jb25zdGFudE9yKDEpfHwwIT09by5jb25zdGFudE9yKDEpJiYwIT09cy5jb25zdGFudE9yKDEpKXtmb3IodmFyIGM9ZS5jb250ZXh0LHU9Yy5nbCxoPWUuZGVwdGhNb2RlRm9yU3VibGF5ZXIoMCxNdC5SZWFkT25seSksZj1BdC5kaXNhYmxlZCxwPWUuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLGQ9W10sZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgdj1hW2ddLG09ci5nZXRUaWxlKHYpLHk9bS5nZXRCdWNrZXQobik7aWYoeSl7dmFyIHg9eS5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZ2V0KG4uaWQpLGI9e3Byb2dyYW1Db25maWd1cmF0aW9uOngscHJvZ3JhbTplLnVzZVByb2dyYW0oImNpcmNsZSIseCksbGF5b3V0VmVydGV4QnVmZmVyOnkubGF5b3V0VmVydGV4QnVmZmVyLGluZGV4QnVmZmVyOnkuaW5kZXhCdWZmZXIsdW5pZm9ybVZhbHVlczpicihlLHYsbSxuKX07aWYobClmb3IodmFyIF89MCx3PXkuc2VnbWVudHMuZ2V0KCk7Xzx3Lmxlbmd0aDtfKz0xKXt2YXIgaz13W19dO2QucHVzaCh7c2VnbWVudHM6bmV3IHQuU2VnbWVudFZlY3Rvcihba10pLHNvcnRLZXk6ay5zb3J0S2V5LHN0YXRlOmJ9KX1lbHNlIGQucHVzaCh7c2VnbWVudHM6eS5zZWdtZW50cyxzb3J0S2V5OjAsc3RhdGU6Yn0pfX1sJiZkLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zb3J0S2V5LWUuc29ydEtleX0pO2Zvcih2YXIgVD0wLE09ZDtUPE0ubGVuZ3RoO1QrPTEpe3ZhciBBPU1bVF0sUz1BLnN0YXRlLEU9Uy5wcm9ncmFtQ29uZmlndXJhdGlvbixMPVMucHJvZ3JhbSxDPVMubGF5b3V0VmVydGV4QnVmZmVyLFA9Uy5pbmRleEJ1ZmZlcixPPVMudW5pZm9ybVZhbHVlcyx6PUEuc2VnbWVudHM7TC5kcmF3KGMsdS5UUklBTkdMRVMsaCxmLHAsRXQuZGlzYWJsZWQsTyxuLmlkLEMsUCx6LG4ucGFpbnQsZS50cmFuc2Zvcm0uem9vbSxFKX19fX0saGVhdG1hcDpmdW5jdGlvbihlLHIsbixhKXtpZigwIT09bi5wYWludC5nZXQoImhlYXRtYXAtb3BhY2l0eSIpKWlmKCJvZmZzY3JlZW4iPT09ZS5yZW5kZXJQYXNzKXt2YXIgaT1lLmNvbnRleHQsbz1pLmdsLHM9ZS5kZXB0aE1vZGVGb3JTdWJsYXllcigwLE10LlJlYWRPbmx5KSxsPUF0LmRpc2FibGVkLGM9bmV3IFN0KFtvLk9ORSxvLk9ORV0sdC5Db2xvci50cmFuc3BhcmVudCxbITAsITAsITAsITBdKTshZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZ2w7dC5hY3RpdmVUZXh0dXJlLnNldChuLlRFWFRVUkUxKSx0LnZpZXdwb3J0LnNldChbMCwwLGUud2lkdGgvNCxlLmhlaWdodC80XSk7dmFyIGE9ci5oZWF0bWFwRmJvO2lmKGEpbi5iaW5kVGV4dHVyZShuLlRFWFRVUkVfMkQsYS5jb2xvckF0dGFjaG1lbnQuZ2V0KCkpLHQuYmluZEZyYW1lYnVmZmVyLnNldChhLmZyYW1lYnVmZmVyKTtlbHNle3ZhciBpPW4uY3JlYXRlVGV4dHVyZSgpO24uYmluZFRleHR1cmUobi5URVhUVVJFXzJELGkpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX1dSQVBfUyxuLkNMQU1QX1RPX0VER0UpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX1dSQVBfVCxuLkNMQU1QX1RPX0VER0UpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX01JTl9GSUxURVIsbi5MSU5FQVIpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX01BR19GSUxURVIsbi5MSU5FQVIpLGE9ci5oZWF0bWFwRmJvPXQuY3JlYXRlRnJhbWVidWZmZXIoZS53aWR0aC80LGUuaGVpZ2h0LzQpLGZ1bmN0aW9uIHQoZSxyLG4sYSl7dmFyIGk9ZS5nbDtpLnRleEltYWdlMkQoaS5URVhUVVJFXzJELDAsaS5SR0JBLHIud2lkdGgvNCxyLmhlaWdodC80LDAsaS5SR0JBLGUuZXh0VGV4dHVyZUhhbGZGbG9hdD9lLmV4dFRleHR1cmVIYWxmRmxvYXQuSEFMRl9GTE9BVF9PRVM6aS5VTlNJR05FRF9CWVRFLG51bGwpLGEuY29sb3JBdHRhY2htZW50LnNldChuKSxlLmV4dFRleHR1cmVIYWxmRmxvYXQmJmkuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhpLkZSQU1FQlVGRkVSKSE9PWkuRlJBTUVCVUZGRVJfQ09NUExFVEUmJihlLmV4dFRleHR1cmVIYWxmRmxvYXQ9bnVsbCxhLmNvbG9yQXR0YWNobWVudC5zZXREaXJ0eSgpLHQoZSxyLG4sYSkpfSh0LGUsaSxhKX19KGksZSxuKSxpLmNsZWFyKHtjb2xvcjp0LkNvbG9yLnRyYW5zcGFyZW50fSk7Zm9yKHZhciB1PTA7dTxhLmxlbmd0aDt1Kyspe3ZhciBoPWFbdV07aWYoIXIuaGFzUmVuZGVyYWJsZVBhcmVudChoKSl7dmFyIGY9ci5nZXRUaWxlKGgpLHA9Zi5nZXRCdWNrZXQobik7aWYocCl7dmFyIGQ9cC5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZ2V0KG4uaWQpLGc9ZS51c2VQcm9ncmFtKCJoZWF0bWFwIixkKSx2PWUudHJhbnNmb3JtLnpvb207Zy5kcmF3KGksby5UUklBTkdMRVMscyxsLGMsRXQuZGlzYWJsZWQsTXIoaC5wb3NNYXRyaXgsZix2LG4ucGFpbnQuZ2V0KCJoZWF0bWFwLWludGVuc2l0eSIpKSxuLmlkLHAubGF5b3V0VmVydGV4QnVmZmVyLHAuaW5kZXhCdWZmZXIscC5zZWdtZW50cyxuLnBhaW50LGUudHJhbnNmb3JtLnpvb20sZCl9fX1pLnZpZXdwb3J0LnNldChbMCwwLGUud2lkdGgsZS5oZWlnaHRdKX1lbHNlInRyYW5zbHVjZW50Ij09PWUucmVuZGVyUGFzcyYmKGUuY29udGV4dC5zZXRDb2xvck1vZGUoZS5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCkpLGZ1bmN0aW9uKGUscil7dmFyIG49ZS5jb250ZXh0LGE9bi5nbCxpPXIuaGVhdG1hcEZibztpZihpKXtuLmFjdGl2ZVRleHR1cmUuc2V0KGEuVEVYVFVSRTApLGEuYmluZFRleHR1cmUoYS5URVhUVVJFXzJELGkuY29sb3JBdHRhY2htZW50LmdldCgpKSxuLmFjdGl2ZVRleHR1cmUuc2V0KGEuVEVYVFVSRTEpO3ZhciBvPXIuY29sb3JSYW1wVGV4dHVyZTtvfHwobz1yLmNvbG9yUmFtcFRleHR1cmU9bmV3IHQuVGV4dHVyZShuLHIuY29sb3JSYW1wLGEuUkdCQSkpLG8uYmluZChhLkxJTkVBUixhLkNMQU1QX1RPX0VER0UpLGUudXNlUHJvZ3JhbSgiaGVhdG1hcFRleHR1cmUiKS5kcmF3KG4sYS5UUklBTkdMRVMsTXQuZGlzYWJsZWQsQXQuZGlzYWJsZWQsZS5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCksRXQuZGlzYWJsZWQsZnVuY3Rpb24oZSxyLG4sYSl7dmFyIGk9dC5jcmVhdGUoKTt0Lm9ydGhvKGksMCxlLndpZHRoLGUuaGVpZ2h0LDAsMCwxKTt2YXIgbz1lLmNvbnRleHQuZ2w7cmV0dXJue3VfbWF0cml4OmksdV93b3JsZDpbby5kcmF3aW5nQnVmZmVyV2lkdGgsby5kcmF3aW5nQnVmZmVySGVpZ2h0XSx1X2ltYWdlOm4sdV9jb2xvcl9yYW1wOmEsdV9vcGFjaXR5OnIucGFpbnQuZ2V0KCJoZWF0bWFwLW9wYWNpdHkiKX19KGUsciwwLDEpLHIuaWQsZS52aWV3cG9ydEJ1ZmZlcixlLnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLGUudmlld3BvcnRTZWdtZW50cyxyLnBhaW50LGUudHJhbnNmb3JtLnpvb20pfX0oZSxuKSl9LGxpbmU6ZnVuY3Rpb24oZSxyLG4sYSl7aWYoInRyYW5zbHVjZW50Ij09PWUucmVuZGVyUGFzcyl7dmFyIGk9bi5wYWludC5nZXQoImxpbmUtb3BhY2l0eSIpLG89bi5wYWludC5nZXQoImxpbmUtd2lkdGgiKTtpZigwIT09aS5jb25zdGFudE9yKDEpJiYwIT09by5jb25zdGFudE9yKDEpKXt2YXIgcz1lLmRlcHRoTW9kZUZvclN1YmxheWVyKDAsTXQuUmVhZE9ubHkpLGw9ZS5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCksYz1uLnBhaW50LmdldCgibGluZS1kYXNoYXJyYXkiKSx1PW4ucGFpbnQuZ2V0KCJsaW5lLXBhdHRlcm4iKSxoPXUuY29uc3RhbnRPcigxKSxmPW4ucGFpbnQuZ2V0KCJsaW5lLWdyYWRpZW50IikscD1uLmdldENyb3NzZmFkZVBhcmFtZXRlcnMoKSxkPWM/ImxpbmVTREYiOmg/ImxpbmVQYXR0ZXJuIjpmPyJsaW5lR3JhZGllbnQiOiJsaW5lIixnPWUuY29udGV4dCx2PWcuZ2wsbT0hMDtpZihmKXtnLmFjdGl2ZVRleHR1cmUuc2V0KHYuVEVYVFVSRTApO3ZhciB5PW4uZ3JhZGllbnRUZXh0dXJlO2lmKCFuLmdyYWRpZW50KXJldHVybjt5fHwoeT1uLmdyYWRpZW50VGV4dHVyZT1uZXcgdC5UZXh0dXJlKGcsbi5ncmFkaWVudCx2LlJHQkEpKSx5LmJpbmQodi5MSU5FQVIsdi5DTEFNUF9UT19FREdFKX1mb3IodmFyIHg9MCxiPWE7eDxiLmxlbmd0aDt4Kz0xKXt2YXIgXz1iW3hdLHc9ci5nZXRUaWxlKF8pO2lmKCFofHx3LnBhdHRlcm5zTG9hZGVkKCkpe3ZhciBrPXcuZ2V0QnVja2V0KG4pO2lmKGspe3ZhciBUPWsucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChuLmlkKSxNPWUuY29udGV4dC5wcm9ncmFtLmdldCgpLEE9ZS51c2VQcm9ncmFtKGQsVCksUz1tfHxBLnByb2dyYW0hPT1NLEU9dS5jb25zdGFudE9yKG51bGwpO2lmKEUmJncuaW1hZ2VBdGxhcyl7dmFyIEw9dy5pbWFnZUF0bGFzLnBhdHRlcm5Qb3NpdGlvbnNbRS50b10sQz13LmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc1tFLmZyb21dO0wmJkMmJlQuc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zKEwsQyl9dmFyIFA9Yz9PcihlLHcsbixjLHApOmg/UHIoZSx3LG4scCk6Zj9DcihlLHcsbik6THIoZSx3LG4pO2MmJihTfHxlLmxpbmVBdGxhcy5kaXJ0eSk/KGcuYWN0aXZlVGV4dHVyZS5zZXQodi5URVhUVVJFMCksZS5saW5lQXRsYXMuYmluZChnKSk6aCYmKGcuYWN0aXZlVGV4dHVyZS5zZXQodi5URVhUVVJFMCksdy5pbWFnZUF0bGFzVGV4dHVyZS5iaW5kKHYuTElORUFSLHYuQ0xBTVBfVE9fRURHRSksVC51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzKHApKSxBLmRyYXcoZyx2LlRSSUFOR0xFUyxzLGUuc3RlbmNpbE1vZGVGb3JDbGlwcGluZyhfKSxsLEV0LmRpc2FibGVkLFAsbi5pZCxrLmxheW91dFZlcnRleEJ1ZmZlcixrLmluZGV4QnVmZmVyLGsuc2VnbWVudHMsbi5wYWludCxlLnRyYW5zZm9ybS56b29tLFQpLG09ITF9fX19fX0sZmlsbDpmdW5jdGlvbihlLHIsbixhKXt2YXIgaT1uLnBhaW50LmdldCgiZmlsbC1jb2xvciIpLG89bi5wYWludC5nZXQoImZpbGwtb3BhY2l0eSIpO2lmKDAhPT1vLmNvbnN0YW50T3IoMSkpe3ZhciBzPWUuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLGw9bi5wYWludC5nZXQoImZpbGwtcGF0dGVybiIpLGM9ZS5vcGFxdWVQYXNzRW5hYmxlZEZvckxheWVyKCkmJiFsLmNvbnN0YW50T3IoMSkmJjE9PT1pLmNvbnN0YW50T3IodC5Db2xvci50cmFuc3BhcmVudCkuYSYmMT09PW8uY29uc3RhbnRPcigwKT8ib3BhcXVlIjoidHJhbnNsdWNlbnQiO2lmKGUucmVuZGVyUGFzcz09PWMpe3ZhciB1PWUuZGVwdGhNb2RlRm9yU3VibGF5ZXIoMSwib3BhcXVlIj09PWUucmVuZGVyUGFzcz9NdC5SZWFkV3JpdGU6TXQuUmVhZE9ubHkpO0tyKGUscixuLGEsdSxzLCExKX1pZigidHJhbnNsdWNlbnQiPT09ZS5yZW5kZXJQYXNzJiZuLnBhaW50LmdldCgiZmlsbC1hbnRpYWxpYXMiKSl7dmFyIGg9ZS5kZXB0aE1vZGVGb3JTdWJsYXllcihuLmdldFBhaW50UHJvcGVydHkoImZpbGwtb3V0bGluZS1jb2xvciIpPzI6MCxNdC5SZWFkT25seSk7S3IoZSxyLG4sYSxoLHMsITApfX19LCJmaWxsLWV4dHJ1c2lvbiI6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLW9wYWNpdHkiKTtpZigwIT09YSYmInRyYW5zbHVjZW50Ij09PXQucmVuZGVyUGFzcyl7dmFyIGk9bmV3IE10KHQuY29udGV4dC5nbC5MRVFVQUwsTXQuUmVhZFdyaXRlLHQuZGVwdGhSYW5nZUZvcjNEKTtpZigxIT09YXx8ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iKS5jb25zdGFudE9yKDEpKVFyKHQsZSxyLG4saSxBdC5kaXNhYmxlZCxTdC5kaXNhYmxlZCksUXIodCxlLHIsbixpLHQuc3RlbmNpbE1vZGVGb3IzRCgpLHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpKTtlbHNle3ZhciBvPXQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpO1FyKHQsZSxyLG4saSxBdC5kaXNhYmxlZCxvKX19fSxoaWxsc2hhZGU6ZnVuY3Rpb24odCxlLHIsbil7aWYoIm9mZnNjcmVlbiI9PT10LnJlbmRlclBhc3N8fCJ0cmFuc2x1Y2VudCI9PT10LnJlbmRlclBhc3Mpe2Zvcih2YXIgYT10LmNvbnRleHQsaT1lLmdldFNvdXJjZSgpLm1heHpvb20sbz10LmRlcHRoTW9kZUZvclN1YmxheWVyKDAsTXQuUmVhZE9ubHkpLHM9QXQuZGlzYWJsZWQsbD10LmNvbG9yTW9kZUZvclJlbmRlclBhc3MoKSxjPTAsdT1uO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXSxmPWUuZ2V0VGlsZShoKTtmLm5lZWRzSGlsbHNoYWRlUHJlcGFyZSYmIm9mZnNjcmVlbiI9PT10LnJlbmRlclBhc3M/dG4odCxmLHIsaSxvLHMsbCk6InRyYW5zbHVjZW50Ij09PXQucmVuZGVyUGFzcyYmJHIodCxmLHIsbyxzLGwpfWEudmlld3BvcnQuc2V0KFswLDAsdC53aWR0aCx0LmhlaWdodF0pfX0scmFzdGVyOmZ1bmN0aW9uKHQsZSxyLG4pe2lmKCJ0cmFuc2x1Y2VudCI9PT10LnJlbmRlclBhc3MmJjAhPT1yLnBhaW50LmdldCgicmFzdGVyLW9wYWNpdHkiKSlmb3IodmFyIGE9dC5jb250ZXh0LGk9YS5nbCxvPWUuZ2V0U291cmNlKCkscz10LnVzZVByb2dyYW0oInJhc3RlciIpLGw9QXQuZGlzYWJsZWQsYz10LmNvbG9yTW9kZUZvclJlbmRlclBhc3MoKSx1PW4ubGVuZ3RoJiZuWzBdLm92ZXJzY2FsZWRaLGg9IXQub3B0aW9ucy5tb3ZpbmcsZj0wLHA9bjtmPHAubGVuZ3RoO2YrPTEpe3ZhciBkPXBbZl0sZz10LmRlcHRoTW9kZUZvclN1YmxheWVyKGQub3ZlcnNjYWxlZFotdSwxPT09ci5wYWludC5nZXQoInJhc3Rlci1vcGFjaXR5Iik/TXQuUmVhZFdyaXRlOk10LlJlYWRPbmx5LGkuTEVTUyksdj1lLmdldFRpbGUoZCksbT10LnRyYW5zZm9ybS5jYWxjdWxhdGVQb3NNYXRyaXgoZC50b1Vud3JhcHBlZCgpLGgpO3YucmVnaXN0ZXJGYWRlRHVyYXRpb24oci5wYWludC5nZXQoInJhc3Rlci1mYWRlLWR1cmF0aW9uIikpO3ZhciB5PWUuZmluZExvYWRlZFBhcmVudChkLDApLHg9ZW4odix5LGUscix0LnRyYW5zZm9ybSksYj12b2lkIDAsXz12b2lkIDAsdz0ibmVhcmVzdCI9PT1yLnBhaW50LmdldCgicmFzdGVyLXJlc2FtcGxpbmciKT9pLk5FQVJFU1Q6aS5MSU5FQVI7YS5hY3RpdmVUZXh0dXJlLnNldChpLlRFWFRVUkUwKSx2LnRleHR1cmUuYmluZCh3LGkuQ0xBTVBfVE9fRURHRSxpLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCksYS5hY3RpdmVUZXh0dXJlLnNldChpLlRFWFRVUkUxKSx5Pyh5LnRleHR1cmUuYmluZCh3LGkuQ0xBTVBfVE9fRURHRSxpLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCksYj1NYXRoLnBvdygyLHkudGlsZUlELm92ZXJzY2FsZWRaLXYudGlsZUlELm92ZXJzY2FsZWRaKSxfPVt2LnRpbGVJRC5jYW5vbmljYWwueCpiJTEsdi50aWxlSUQuY2Fub25pY2FsLnkqYiUxXSk6di50ZXh0dXJlLmJpbmQodyxpLkNMQU1QX1RPX0VER0UsaS5MSU5FQVJfTUlQTUFQX05FQVJFU1QpO3ZhciBrPURyKG0sX3x8WzAsMF0sYnx8MSx4LHIpO28gaW5zdGFuY2VvZiBQP3MuZHJhdyhhLGkuVFJJQU5HTEVTLGcsbCxjLEV0LmRpc2FibGVkLGssci5pZCxvLmJvdW5kc0J1ZmZlcix0LnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLG8uYm91bmRzU2VnbWVudHMpOnYubWFza2VkQm91bmRzQnVmZmVyJiZ2Lm1hc2tlZEluZGV4QnVmZmVyJiZ2LnNlZ21lbnRzP3MuZHJhdyhhLGkuVFJJQU5HTEVTLGcsbCxjLEV0LmRpc2FibGVkLGssci5pZCx2Lm1hc2tlZEJvdW5kc0J1ZmZlcix2Lm1hc2tlZEluZGV4QnVmZmVyLHYuc2VnbWVudHMsci5wYWludCx0LnRyYW5zZm9ybS56b29tKTpzLmRyYXcoYSxpLlRSSUFOR0xFUyxnLGwsYyxFdC5kaXNhYmxlZCxrLHIuaWQsdC5yYXN0ZXJCb3VuZHNCdWZmZXIsdC5xdWFkVHJpYW5nbGVJbmRleEJ1ZmZlcix0LnJhc3RlckJvdW5kc1NlZ21lbnRzKX19LGJhY2tncm91bmQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIucGFpbnQuZ2V0KCJiYWNrZ3JvdW5kLWNvbG9yIiksYT1yLnBhaW50LmdldCgiYmFja2dyb3VuZC1vcGFjaXR5Iik7aWYoMCE9PWEpe3ZhciBpPXQuY29udGV4dCxvPWkuZ2wscz10LnRyYW5zZm9ybSxsPXMudGlsZVNpemUsYz1yLnBhaW50LmdldCgiYmFja2dyb3VuZC1wYXR0ZXJuIik7aWYoIXQuaXNQYXR0ZXJuTWlzc2luZyhjKSl7dmFyIHU9IWMmJjE9PT1uLmEmJjE9PT1hJiZ0Lm9wYXF1ZVBhc3NFbmFibGVkRm9yTGF5ZXIoKT8ib3BhcXVlIjoidHJhbnNsdWNlbnQiO2lmKHQucmVuZGVyUGFzcz09PXUpe3ZhciBoPUF0LmRpc2FibGVkLGY9dC5kZXB0aE1vZGVGb3JTdWJsYXllcigwLCJvcGFxdWUiPT09dT9NdC5SZWFkV3JpdGU6TXQuUmVhZE9ubHkpLHA9dC5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCksZD10LnVzZVByb2dyYW0oYz8iYmFja2dyb3VuZFBhdHRlcm4iOiJiYWNrZ3JvdW5kIiksZz1zLmNvdmVyaW5nVGlsZXMoe3RpbGVTaXplOmx9KTtjJiYoaS5hY3RpdmVUZXh0dXJlLnNldChvLlRFWFRVUkUwKSx0LmltYWdlTWFuYWdlci5iaW5kKHQuY29udGV4dCkpO2Zvcih2YXIgdj1yLmdldENyb3NzZmFkZVBhcmFtZXRlcnMoKSxtPTAseT1nO208eS5sZW5ndGg7bSs9MSl7dmFyIHg9eVttXSxiPXQudHJhbnNmb3JtLmNhbGN1bGF0ZVBvc01hdHJpeCh4LnRvVW53cmFwcGVkKCkpLF89Yz9qcihiLGEsdCxjLHt0aWxlSUQ6eCx0aWxlU2l6ZTpsfSx2KTpOcihiLGEsbik7ZC5kcmF3KGksby5UUklBTkdMRVMsZixoLHAsRXQuZGlzYWJsZWQsXyxyLmlkLHQudGlsZUV4dGVudEJ1ZmZlcix0LnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLHQudGlsZUV4dGVudFNlZ21lbnRzKX19fX19LGRlYnVnOmZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKylybih0LGUscltuXSl9LGN1c3RvbTpmdW5jdGlvbih0LGUscil7dmFyIG49dC5jb250ZXh0LGE9ci5pbXBsZW1lbnRhdGlvbjtpZigib2Zmc2NyZWVuIj09PXQucmVuZGVyUGFzcyl7dmFyIGk9YS5wcmVyZW5kZXI7aSYmKHQuc2V0Q3VzdG9tTGF5ZXJEZWZhdWx0cygpLG4uc2V0Q29sb3JNb2RlKHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpKSxpLmNhbGwoYSxuLmdsLHQudHJhbnNmb3JtLmN1c3RvbUxheWVyTWF0cml4KCkpLG4uc2V0RGlydHkoKSx0LnNldEJhc2VTdGF0ZSgpKX1lbHNlIGlmKCJ0cmFuc2x1Y2VudCI9PT10LnJlbmRlclBhc3Mpe3Quc2V0Q3VzdG9tTGF5ZXJEZWZhdWx0cygpLG4uc2V0Q29sb3JNb2RlKHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpKSxuLnNldFN0ZW5jaWxNb2RlKEF0LmRpc2FibGVkKTt2YXIgbz0iM2QiPT09YS5yZW5kZXJpbmdNb2RlP25ldyBNdCh0LmNvbnRleHQuZ2wuTEVRVUFMLE10LlJlYWRXcml0ZSx0LmRlcHRoUmFuZ2VGb3IzRCk6dC5kZXB0aE1vZGVGb3JTdWJsYXllcigwLE10LlJlYWRPbmx5KTtuLnNldERlcHRoTW9kZShvKSxhLnJlbmRlcihuLmdsLHQudHJhbnNmb3JtLmN1c3RvbUxheWVyTWF0cml4KCkpLG4uc2V0RGlydHkoKSx0LnNldEJhc2VTdGF0ZSgpLG4uYmluZEZyYW1lYnVmZmVyLnNldChudWxsKX19fSxvbj1mdW5jdGlvbihlLHIpe3RoaXMuY29udGV4dD1uZXcgTHQoZSksdGhpcy50cmFuc2Zvcm09cix0aGlzLl90aWxlVGV4dHVyZXM9e30sdGhpcy5zZXR1cCgpLHRoaXMubnVtU3VibGF5ZXJzPUN0Lm1heFVuZGVyem9vbWluZytDdC5tYXhPdmVyem9vbWluZysxLHRoaXMuZGVwdGhFcHNpbG9uPTEvTWF0aC5wb3coMiwxNiksdGhpcy5kZXB0aFJib05lZWRzQ2xlYXI9ITAsdGhpcy5lbXB0eVByb2dyYW1Db25maWd1cmF0aW9uPW5ldyB0LlByb2dyYW1Db25maWd1cmF0aW9uLHRoaXMuY3Jvc3NUaWxlU3ltYm9sSW5kZXg9bmV3IE9lfTtmdW5jdGlvbiBzbih0LGUpe2lmKHQueT5lLnkpe3ZhciByPXQ7dD1lLGU9cn1yZXR1cm57eDA6dC54LHkwOnQueSx4MTplLngseTE6ZS55LGR4OmUueC10LngsZHk6ZS55LXQueX19ZnVuY3Rpb24gbG4odCxlLHIsbixhKXt2YXIgaT1NYXRoLm1heChyLE1hdGguZmxvb3IoZS55MCkpLG89TWF0aC5taW4obixNYXRoLmNlaWwoZS55MSkpO2lmKHQueDA9PT1lLngwJiZ0LnkwPT09ZS55MD90LngwK2UuZHkvdC5keSp0LmR4PGUueDE6dC54MS1lLmR5L3QuZHkqdC5keDxlLngwKXt2YXIgcz10O3Q9ZSxlPXN9Zm9yKHZhciBsPXQuZHgvdC5keSxjPWUuZHgvZS5keSx1PXQuZHg+MCxoPWUuZHg8MCxmPWk7ZjxvO2YrKyl7dmFyIHA9bCpNYXRoLm1heCgwLE1hdGgubWluKHQuZHksZit1LXQueTApKSt0LngwLGQ9YypNYXRoLm1heCgwLE1hdGgubWluKGUuZHksZitoLWUueTApKStlLngwO2EoTWF0aC5mbG9vcihkKSxNYXRoLmNlaWwocCksZil9fWZ1bmN0aW9uIGNuKHQsZSxyLG4sYSxpKXt2YXIgbyxzPXNuKHQsZSksbD1zbihlLHIpLGM9c24ocix0KTtzLmR5PmwuZHkmJihvPXMscz1sLGw9bykscy5keT5jLmR5JiYobz1zLHM9YyxjPW8pLGwuZHk+Yy5keSYmKG89bCxsPWMsYz1vKSxzLmR5JiZsbihjLHMsbixhLGkpLGwuZHkmJmxuKGMsbCxuLGEsaSl9b24ucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMuY29udGV4dC5nbDtpZih0aGlzLndpZHRoPWUqdC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sdGhpcy5oZWlnaHQ9cip0LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbyx0aGlzLmNvbnRleHQudmlld3BvcnQuc2V0KFswLDAsdGhpcy53aWR0aCx0aGlzLmhlaWdodF0pLHRoaXMuc3R5bGUpZm9yKHZhciBhPTAsaT10aGlzLnN0eWxlLl9vcmRlcjthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV07dGhpcy5zdHlsZS5fbGF5ZXJzW29dLnJlc2l6ZSgpfXRoaXMuZGVwdGhSYm8mJihuLmRlbGV0ZVJlbmRlcmJ1ZmZlcih0aGlzLmRlcHRoUmJvKSx0aGlzLmRlcHRoUmJvPW51bGwpfSxvbi5wcm90b3R5cGUuc2V0dXA9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQscj1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDJpNDtyLmVtcGxhY2VCYWNrKDAsMCksci5lbXBsYWNlQmFjayh0LkVYVEVOVCwwKSxyLmVtcGxhY2VCYWNrKDAsdC5FWFRFTlQpLHIuZW1wbGFjZUJhY2sodC5FWFRFTlQsdC5FWFRFTlQpLHRoaXMudGlsZUV4dGVudEJ1ZmZlcj1lLmNyZWF0ZVZlcnRleEJ1ZmZlcihyLEZlLm1lbWJlcnMpLHRoaXMudGlsZUV4dGVudFNlZ21lbnRzPXQuU2VnbWVudFZlY3Rvci5zaW1wbGVTZWdtZW50KDAsMCw0LDIpO3ZhciBuPW5ldyB0LlN0cnVjdEFycmF5TGF5b3V0Mmk0O24uZW1wbGFjZUJhY2soMCwwKSxuLmVtcGxhY2VCYWNrKHQuRVhURU5ULDApLG4uZW1wbGFjZUJhY2soMCx0LkVYVEVOVCksbi5lbXBsYWNlQmFjayh0LkVYVEVOVCx0LkVYVEVOVCksdGhpcy5kZWJ1Z0J1ZmZlcj1lLmNyZWF0ZVZlcnRleEJ1ZmZlcihuLEZlLm1lbWJlcnMpLHRoaXMuZGVidWdTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCw1KTt2YXIgYT1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDRpODthLmVtcGxhY2VCYWNrKDAsMCwwLDApLGEuZW1wbGFjZUJhY2sodC5FWFRFTlQsMCx0LkVYVEVOVCwwKSxhLmVtcGxhY2VCYWNrKDAsdC5FWFRFTlQsMCx0LkVYVEVOVCksYS5lbXBsYWNlQmFjayh0LkVYVEVOVCx0LkVYVEVOVCx0LkVYVEVOVCx0LkVYVEVOVCksdGhpcy5yYXN0ZXJCb3VuZHNCdWZmZXI9ZS5jcmVhdGVWZXJ0ZXhCdWZmZXIoYSx0LnJhc3RlckJvdW5kc0F0dHJpYnV0ZXMubWVtYmVycyksdGhpcy5yYXN0ZXJCb3VuZHNTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCwyKTt2YXIgaT1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDJpNDtpLmVtcGxhY2VCYWNrKDAsMCksaS5lbXBsYWNlQmFjaygxLDApLGkuZW1wbGFjZUJhY2soMCwxKSxpLmVtcGxhY2VCYWNrKDEsMSksdGhpcy52aWV3cG9ydEJ1ZmZlcj1lLmNyZWF0ZVZlcnRleEJ1ZmZlcihpLEZlLm1lbWJlcnMpLHRoaXMudmlld3BvcnRTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCwyKTt2YXIgbz1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDF1aTI7by5lbXBsYWNlQmFjaygwKSxvLmVtcGxhY2VCYWNrKDEpLG8uZW1wbGFjZUJhY2soMyksby5lbXBsYWNlQmFjaygyKSxvLmVtcGxhY2VCYWNrKDApLHRoaXMudGlsZUJvcmRlckluZGV4QnVmZmVyPWUuY3JlYXRlSW5kZXhCdWZmZXIobyk7dmFyIHM9bmV3IHQuU3RydWN0QXJyYXlMYXlvdXQzdWk2O3MuZW1wbGFjZUJhY2soMCwxLDIpLHMuZW1wbGFjZUJhY2soMiwxLDMpLHRoaXMucXVhZFRyaWFuZ2xlSW5kZXhCdWZmZXI9ZS5jcmVhdGVJbmRleEJ1ZmZlcihzKTt2YXIgbD10aGlzLmNvbnRleHQuZ2w7dGhpcy5zdGVuY2lsQ2xlYXJNb2RlPW5ldyBBdCh7ZnVuYzpsLkFMV0FZUyxtYXNrOjB9LDAsMjU1LGwuWkVSTyxsLlpFUk8sbC5aRVJPKX0sb24ucHJvdG90eXBlLmNsZWFyU3RlbmNpbD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuY29udGV4dCxyPWUuZ2w7dGhpcy5uZXh0U3RlbmNpbElEPTEsdGhpcy5jdXJyZW50U3RlbmNpbFNvdXJjZT12b2lkIDA7dmFyIG49dC5jcmVhdGUoKTt0Lm9ydGhvKG4sMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LDAsMCwxKSx0LnNjYWxlKG4sbixbci5kcmF3aW5nQnVmZmVyV2lkdGgsci5kcmF3aW5nQnVmZmVySGVpZ2h0LDBdKSx0aGlzLnVzZVByb2dyYW0oImNsaXBwaW5nTWFzayIpLmRyYXcoZSxyLlRSSUFOR0xFUyxNdC5kaXNhYmxlZCx0aGlzLnN0ZW5jaWxDbGVhck1vZGUsU3QuZGlzYWJsZWQsRXQuZGlzYWJsZWQsVHIobiksIiRjbGlwcGluZyIsdGhpcy52aWV3cG9ydEJ1ZmZlcix0aGlzLnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLHRoaXMudmlld3BvcnRTZWdtZW50cyl9LG9uLnByb3RvdHlwZS5fcmVuZGVyVGlsZUNsaXBwaW5nTWFza3M9ZnVuY3Rpb24odCxlKXtpZih0aGlzLmN1cnJlbnRTdGVuY2lsU291cmNlIT09dC5zb3VyY2UmJnQuaXNUaWxlQ2xpcHBlZCgpJiZlJiZlLmxlbmd0aCl7dGhpcy5jdXJyZW50U3RlbmNpbFNvdXJjZT10LnNvdXJjZTt2YXIgcj10aGlzLmNvbnRleHQsbj1yLmdsO3RoaXMubmV4dFN0ZW5jaWxJRCtlLmxlbmd0aD4yNTYmJnRoaXMuY2xlYXJTdGVuY2lsKCksci5zZXRDb2xvck1vZGUoU3QuZGlzYWJsZWQpLHIuc2V0RGVwdGhNb2RlKE10LmRpc2FibGVkKTt2YXIgYT10aGlzLnVzZVByb2dyYW0oImNsaXBwaW5nTWFzayIpO3RoaXMuX3RpbGVDbGlwcGluZ01hc2tJRHM9e307Zm9yKHZhciBpPTAsbz1lO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXRoaXMuX3RpbGVDbGlwcGluZ01hc2tJRHNbcy5rZXldPXRoaXMubmV4dFN0ZW5jaWxJRCsrO2EuZHJhdyhyLG4uVFJJQU5HTEVTLE10LmRpc2FibGVkLG5ldyBBdCh7ZnVuYzpuLkFMV0FZUyxtYXNrOjB9LGwsMjU1LG4uS0VFUCxuLktFRVAsbi5SRVBMQUNFKSxTdC5kaXNhYmxlZCxFdC5kaXNhYmxlZCxUcihzLnBvc01hdHJpeCksIiRjbGlwcGluZyIsdGhpcy50aWxlRXh0ZW50QnVmZmVyLHRoaXMucXVhZFRyaWFuZ2xlSW5kZXhCdWZmZXIsdGhpcy50aWxlRXh0ZW50U2VnbWVudHMpfX19LG9uLnByb3RvdHlwZS5zdGVuY2lsTW9kZUZvcjNEPWZ1bmN0aW9uKCl7dGhpcy5jdXJyZW50U3RlbmNpbFNvdXJjZT12b2lkIDAsdGhpcy5uZXh0U3RlbmNpbElEKzE+MjU2JiZ0aGlzLmNsZWFyU3RlbmNpbCgpO3ZhciB0PXRoaXMubmV4dFN0ZW5jaWxJRCsrLGU9dGhpcy5jb250ZXh0LmdsO3JldHVybiBuZXcgQXQoe2Z1bmM6ZS5OT1RFUVVBTCxtYXNrOjI1NX0sdCwyNTUsZS5LRUVQLGUuS0VFUCxlLlJFUExBQ0UpfSxvbi5wcm90b3R5cGUuc3RlbmNpbE1vZGVGb3JDbGlwcGluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmNvbnRleHQuZ2w7cmV0dXJuIG5ldyBBdCh7ZnVuYzplLkVRVUFMLG1hc2s6MjU1fSx0aGlzLl90aWxlQ2xpcHBpbmdNYXNrSURzW3Qua2V5XSwwLGUuS0VFUCxlLktFRVAsZS5SRVBMQUNFKX0sb24ucHJvdG90eXBlLmNvbG9yTW9kZUZvclJlbmRlclBhc3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQuZ2w7cmV0dXJuIHRoaXMuX3Nob3dPdmVyZHJhd0luc3BlY3Rvcj9uZXcgU3QoW2UuQ09OU1RBTlRfQ09MT1IsZS5PTkVdLG5ldyB0LkNvbG9yKDEvOCwxLzgsMS84LDApLFshMCwhMCwhMCwhMF0pOiJvcGFxdWUiPT09dGhpcy5yZW5kZXJQYXNzP1N0LnVuYmxlbmRlZDpTdC5hbHBoYUJsZW5kZWR9LG9uLnByb3RvdHlwZS5kZXB0aE1vZGVGb3JTdWJsYXllcj1mdW5jdGlvbih0LGUscil7aWYoIXRoaXMub3BhcXVlUGFzc0VuYWJsZWRGb3JMYXllcigpKXJldHVybiBNdC5kaXNhYmxlZDt2YXIgbj0xLSgoMSt0aGlzLmN1cnJlbnRMYXllcikqdGhpcy5udW1TdWJsYXllcnMrdCkqdGhpcy5kZXB0aEVwc2lsb247cmV0dXJuIG5ldyBNdChyfHx0aGlzLmNvbnRleHQuZ2wuTEVRVUFMLGUsW24sbl0pfSxvbi5wcm90b3R5cGUub3BhcXVlUGFzc0VuYWJsZWRGb3JMYXllcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRMYXllcjx0aGlzLm9wYXF1ZVBhc3NDdXRvZmZ9LG9uLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSxyKXt0aGlzLnN0eWxlPWUsdGhpcy5vcHRpb25zPXIsdGhpcy5saW5lQXRsYXM9ZS5saW5lQXRsYXMsdGhpcy5pbWFnZU1hbmFnZXI9ZS5pbWFnZU1hbmFnZXIsdGhpcy5nbHlwaE1hbmFnZXI9ZS5nbHlwaE1hbmFnZXIsdGhpcy5zeW1ib2xGYWRlQ2hhbmdlPWUucGxhY2VtZW50LnN5bWJvbEZhZGVDaGFuZ2UodC5icm93c2VyLm5vdygpKSx0aGlzLmltYWdlTWFuYWdlci5iZWdpbkZyYW1lKCk7dmFyIG49dGhpcy5zdHlsZS5fb3JkZXIsYT10aGlzLnN0eWxlLnNvdXJjZUNhY2hlcztmb3IodmFyIGkgaW4gYSl7dmFyIG89YVtpXTtvLnVzZWQmJm8ucHJlcGFyZSh0aGlzLmNvbnRleHQpfXZhciBzPXt9LGw9e30sYz17fTtmb3IodmFyIHUgaW4gYSl7dmFyIGg9YVt1XTtzW3VdPWguZ2V0VmlzaWJsZUNvb3JkaW5hdGVzKCksbFt1XT1zW3VdLnNsaWNlKCkucmV2ZXJzZSgpLGNbdV09aC5nZXRWaXNpYmxlQ29vcmRpbmF0ZXMoITApLnJldmVyc2UoKX1mb3IodmFyIGYgaW4gYSl7dmFyIHA9YVtmXSxkPXAuZ2V0U291cmNlKCk7aWYoInJhc3RlciI9PT1kLnR5cGV8fCJyYXN0ZXItZGVtIj09PWQudHlwZSl7Zm9yKHZhciBnPVtdLHY9MCxtPXNbZl07djxtLmxlbmd0aDt2Kz0xKXt2YXIgeT1tW3ZdO2cucHVzaChwLmdldFRpbGUoeSkpfVVyKGcsdGhpcy5jb250ZXh0KX19dGhpcy5vcGFxdWVQYXNzQ3V0b2ZmPTEvMDtmb3IodmFyIHg9MDt4PG4ubGVuZ3RoO3grKyl7dmFyIGI9blt4XTtpZih0aGlzLnN0eWxlLl9sYXllcnNbYl0uaXMzRCgpKXt0aGlzLm9wYXF1ZVBhc3NDdXRvZmY9eDticmVha319dGhpcy5yZW5kZXJQYXNzPSJvZmZzY3JlZW4iLHRoaXMuZGVwdGhSYm9OZWVkc0NsZWFyPSEwO2Zvcih2YXIgXz0wLHc9bjtfPHcubGVuZ3RoO18rPTEpe3ZhciBrPXdbX10sVD10aGlzLnN0eWxlLl9sYXllcnNba107aWYoVC5oYXNPZmZzY3JlZW5QYXNzKCkmJiFULmlzSGlkZGVuKHRoaXMudHJhbnNmb3JtLnpvb20pKXt2YXIgTT1sW1Quc291cmNlXTsoImN1c3RvbSI9PT1ULnR5cGV8fE0ubGVuZ3RoKSYmdGhpcy5yZW5kZXJMYXllcih0aGlzLGFbVC5zb3VyY2VdLFQsTSl9fWZvcih0aGlzLmNvbnRleHQuYmluZEZyYW1lYnVmZmVyLnNldChudWxsKSx0aGlzLmNvbnRleHQuY2xlYXIoe2NvbG9yOnIuc2hvd092ZXJkcmF3SW5zcGVjdG9yP3QuQ29sb3IuYmxhY2s6dC5Db2xvci50cmFuc3BhcmVudCxkZXB0aDoxfSksdGhpcy5jbGVhclN0ZW5jaWwoKSx0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3I9ci5zaG93T3ZlcmRyYXdJbnNwZWN0b3IsdGhpcy5kZXB0aFJhbmdlRm9yM0Q9WzAsMS0oZS5fb3JkZXIubGVuZ3RoKzIpKnRoaXMubnVtU3VibGF5ZXJzKnRoaXMuZGVwdGhFcHNpbG9uXSx0aGlzLnJlbmRlclBhc3M9Im9wYXF1ZSIsdGhpcy5jdXJyZW50TGF5ZXI9bi5sZW5ndGgtMTt0aGlzLmN1cnJlbnRMYXllcj49MDt0aGlzLmN1cnJlbnRMYXllci0tKXt2YXIgQT10aGlzLnN0eWxlLl9sYXllcnNbblt0aGlzLmN1cnJlbnRMYXllcl1dLFM9YVtBLnNvdXJjZV0sRT1zW0Euc291cmNlXTt0aGlzLl9yZW5kZXJUaWxlQ2xpcHBpbmdNYXNrcyhBLEUpLHRoaXMucmVuZGVyTGF5ZXIodGhpcyxTLEEsRSl9Zm9yKHRoaXMucmVuZGVyUGFzcz0idHJhbnNsdWNlbnQiLHRoaXMuY3VycmVudExheWVyPTA7dGhpcy5jdXJyZW50TGF5ZXI8bi5sZW5ndGg7dGhpcy5jdXJyZW50TGF5ZXIrKyl7dmFyIEw9dGhpcy5zdHlsZS5fbGF5ZXJzW25bdGhpcy5jdXJyZW50TGF5ZXJdXSxDPWFbTC5zb3VyY2VdLFA9KCJzeW1ib2wiPT09TC50eXBlP2M6bClbTC5zb3VyY2VdO3RoaXMuX3JlbmRlclRpbGVDbGlwcGluZ01hc2tzKEwsc1tMLnNvdXJjZV0pLHRoaXMucmVuZGVyTGF5ZXIodGhpcyxDLEwsUCl9aWYodGhpcy5vcHRpb25zLnNob3dUaWxlQm91bmRhcmllcylmb3IodmFyIE8gaW4gYSl7YW4uZGVidWcodGhpcyxhW09dLHNbT10pO2JyZWFrfXRoaXMuY29udGV4dC5zZXREZWZhdWx0KCl9LG9uLnByb3RvdHlwZS5zZXR1cE9mZnNjcmVlbkRlcHRoUmVuZGVyYnVmZmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZXh0O3RoaXMuZGVwdGhSYm98fCh0aGlzLmRlcHRoUmJvPXQuY3JlYXRlUmVuZGVyYnVmZmVyKHQuZ2wuREVQVEhfQ09NUE9ORU5UMTYsdGhpcy53aWR0aCx0aGlzLmhlaWdodCkpfSxvbi5wcm90b3R5cGUucmVuZGVyTGF5ZXI9ZnVuY3Rpb24odCxlLHIsbil7ci5pc0hpZGRlbih0aGlzLnRyYW5zZm9ybS56b29tKXx8KCJiYWNrZ3JvdW5kIj09PXIudHlwZXx8ImN1c3RvbSI9PT1yLnR5cGV8fG4ubGVuZ3RoKSYmKHRoaXMuaWQ9ci5pZCxhbltyLnR5cGVdKHQsZSxyLG4sdGhpcy5zdHlsZS5wbGFjZW1lbnQudmFyaWFibGVPZmZzZXRzKSl9LG9uLnByb3RvdHlwZS50cmFuc2xhdGVQb3NNYXRyaXg9ZnVuY3Rpb24oZSxyLG4sYSxpKXtpZighblswXSYmIW5bMV0pcmV0dXJuIGU7dmFyIG89aT8ibWFwIj09PWE/dGhpcy50cmFuc2Zvcm0uYW5nbGU6MDoidmlld3BvcnQiPT09YT8tdGhpcy50cmFuc2Zvcm0uYW5nbGU6MDtpZihvKXt2YXIgcz1NYXRoLnNpbihvKSxsPU1hdGguY29zKG8pO249W25bMF0qbC1uWzFdKnMsblswXSpzK25bMV0qbF19dmFyIGM9W2k/blswXTpjZShyLG5bMF0sdGhpcy50cmFuc2Zvcm0uem9vbSksaT9uWzFdOmNlKHIsblsxXSx0aGlzLnRyYW5zZm9ybS56b29tKSwwXSx1PW5ldyBGbG9hdDMyQXJyYXkoMTYpO3JldHVybiB0LnRyYW5zbGF0ZSh1LGUsYyksdX0sb24ucHJvdG90eXBlLnNhdmVUaWxlVGV4dHVyZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aWxlVGV4dHVyZXNbdC5zaXplWzBdXTtlP2UucHVzaCh0KTp0aGlzLl90aWxlVGV4dHVyZXNbdC5zaXplWzBdXT1bdF19LG9uLnByb3RvdHlwZS5nZXRUaWxlVGV4dHVyZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aWxlVGV4dHVyZXNbdF07cmV0dXJuIGUmJmUubGVuZ3RoPjA/ZS5wb3AoKTpudWxsfSxvbi5wcm90b3R5cGUuaXNQYXR0ZXJuTWlzc2luZz1mdW5jdGlvbih0KXtpZighdClyZXR1cm4hMTt2YXIgZT10aGlzLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQuZnJvbSkscj10aGlzLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQudG8pO3JldHVybiFlfHwhcn0sb24ucHJvdG90eXBlLnVzZVByb2dyYW09ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT10aGlzLmVtcHR5UHJvZ3JhbUNvbmZpZ3VyYXRpb24pLHRoaXMuY2FjaGU9dGhpcy5jYWNoZXx8e307dmFyIHI9IiIrdCsoZS5jYWNoZUtleXx8IiIpKyh0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3I/Ii9vdmVyZHJhdyI6IiIpO3JldHVybiB0aGlzLmNhY2hlW3JdfHwodGhpcy5jYWNoZVtyXT1uZXcgZnIodGhpcy5jb250ZXh0LHVyW3RdLGUsVnJbdF0sdGhpcy5fc2hvd092ZXJkcmF3SW5zcGVjdG9yKSksdGhpcy5jYWNoZVtyXX0sb24ucHJvdG90eXBlLnNldEN1c3RvbUxheWVyRGVmYXVsdHM9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQudW5iaW5kVkFPKCksdGhpcy5jb250ZXh0LmN1bGxGYWNlLnNldERlZmF1bHQoKSx0aGlzLmNvbnRleHQuYWN0aXZlVGV4dHVyZS5zZXREZWZhdWx0KCksdGhpcy5jb250ZXh0LnBpeGVsU3RvcmVVbnBhY2suc2V0RGVmYXVsdCgpLHRoaXMuY29udGV4dC5waXhlbFN0b3JlVW5wYWNrUHJlbXVsdGlwbHlBbHBoYS5zZXREZWZhdWx0KCksdGhpcy5jb250ZXh0LnBpeGVsU3RvcmVVbnBhY2tGbGlwWS5zZXREZWZhdWx0KCl9LG9uLnByb3RvdHlwZS5zZXRCYXNlU3RhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRleHQuZ2w7dGhpcy5jb250ZXh0LmN1bGxGYWNlLnNldCghMSksdGhpcy5jb250ZXh0LnZpZXdwb3J0LnNldChbMCwwLHRoaXMud2lkdGgsdGhpcy5oZWlnaHRdKSx0aGlzLmNvbnRleHQuYmxlbmRFcXVhdGlvbi5zZXQodC5GVU5DX0FERCl9O3ZhciB1bj1mdW5jdGlvbihlLHIsbil7dGhpcy50aWxlU2l6ZT01MTIsdGhpcy5tYXhWYWxpZExhdGl0dWRlPTg1LjA1MTEyOSx0aGlzLl9yZW5kZXJXb3JsZENvcGllcz12b2lkIDA9PT1ufHxuLHRoaXMuX21pblpvb209ZXx8MCx0aGlzLl9tYXhab29tPXJ8fDIyLHRoaXMuc2V0TWF4Qm91bmRzKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5fY2VudGVyPW5ldyB0LkxuZ0xhdCgwLDApLHRoaXMuem9vbT0wLHRoaXMuYW5nbGU9MCx0aGlzLl9mb3Y9LjY0MzUwMTEwODc5MzI4NDQsdGhpcy5fcGl0Y2g9MCx0aGlzLl91bm1vZGlmaWVkPSEwLHRoaXMuX3Bvc01hdHJpeENhY2hlPXt9LHRoaXMuX2FsaWduZWRQb3NNYXRyaXhDYWNoZT17fX0saG49e21pblpvb206e2NvbmZpZ3VyYWJsZTohMH0sbWF4Wm9vbTp7Y29uZmlndXJhYmxlOiEwfSxyZW5kZXJXb3JsZENvcGllczp7Y29uZmlndXJhYmxlOiEwfSx3b3JsZFNpemU6e2NvbmZpZ3VyYWJsZTohMH0sY2VudGVyUG9pbnQ6e2NvbmZpZ3VyYWJsZTohMH0sc2l6ZTp7Y29uZmlndXJhYmxlOiEwfSxiZWFyaW5nOntjb25maWd1cmFibGU6ITB9LHBpdGNoOntjb25maWd1cmFibGU6ITB9LGZvdjp7Y29uZmlndXJhYmxlOiEwfSx6b29tOntjb25maWd1cmFibGU6ITB9LGNlbnRlcjp7Y29uZmlndXJhYmxlOiEwfSx1bm1vZGlmaWVkOntjb25maWd1cmFibGU6ITB9LHBvaW50Ontjb25maWd1cmFibGU6ITB9fTt1bi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgdW4odGhpcy5fbWluWm9vbSx0aGlzLl9tYXhab29tLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzKTtyZXR1cm4gdC50aWxlU2l6ZT10aGlzLnRpbGVTaXplLHQubGF0UmFuZ2U9dGhpcy5sYXRSYW5nZSx0LndpZHRoPXRoaXMud2lkdGgsdC5oZWlnaHQ9dGhpcy5oZWlnaHQsdC5fY2VudGVyPXRoaXMuX2NlbnRlcix0Lnpvb209dGhpcy56b29tLHQuYW5nbGU9dGhpcy5hbmdsZSx0Ll9mb3Y9dGhpcy5fZm92LHQuX3BpdGNoPXRoaXMuX3BpdGNoLHQuX3VubW9kaWZpZWQ9dGhpcy5fdW5tb2RpZmllZCx0Ll9jYWxjTWF0cmljZXMoKSx0fSxobi5taW5ab29tLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9taW5ab29tfSxobi5taW5ab29tLnNldD1mdW5jdGlvbih0KXt0aGlzLl9taW5ab29tIT09dCYmKHRoaXMuX21pblpvb209dCx0aGlzLnpvb209TWF0aC5tYXgodGhpcy56b29tLHQpKX0saG4ubWF4Wm9vbS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4Wm9vbX0saG4ubWF4Wm9vbS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fbWF4Wm9vbSE9PXQmJih0aGlzLl9tYXhab29tPXQsdGhpcy56b29tPU1hdGgubWluKHRoaXMuem9vbSx0KSl9LGhuLnJlbmRlcldvcmxkQ29waWVzLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZW5kZXJXb3JsZENvcGllc30saG4ucmVuZGVyV29ybGRDb3BpZXMuc2V0PWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQ/dD0hMDpudWxsPT09dCYmKHQ9ITEpLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzPXR9LGhuLndvcmxkU2l6ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aWxlU2l6ZSp0aGlzLnNjYWxlfSxobi5jZW50ZXJQb2ludC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplLl9kaXYoMil9LGhuLnNpemUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0LlBvaW50KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfSxobi5iZWFyaW5nLmdldD1mdW5jdGlvbigpe3JldHVybi10aGlzLmFuZ2xlL01hdGguUEkqMTgwfSxobi5iZWFyaW5nLnNldD1mdW5jdGlvbihlKXt2YXIgcj0tdC53cmFwKGUsLTE4MCwxODApKk1hdGguUEkvMTgwO3RoaXMuYW5nbGUhPT1yJiYodGhpcy5fdW5tb2RpZmllZD0hMSx0aGlzLmFuZ2xlPXIsdGhpcy5fY2FsY01hdHJpY2VzKCksdGhpcy5yb3RhdGlvbk1hdHJpeD10LmNyZWF0ZSQyKCksdC5yb3RhdGUodGhpcy5yb3RhdGlvbk1hdHJpeCx0aGlzLnJvdGF0aW9uTWF0cml4LHRoaXMuYW5nbGUpKX0saG4ucGl0Y2guZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BpdGNoL01hdGguUEkqMTgwfSxobi5waXRjaC5zZXQ9ZnVuY3Rpb24oZSl7dmFyIHI9dC5jbGFtcChlLDAsNjApLzE4MCpNYXRoLlBJO3RoaXMuX3BpdGNoIT09ciYmKHRoaXMuX3VubW9kaWZpZWQ9ITEsdGhpcy5fcGl0Y2g9cix0aGlzLl9jYWxjTWF0cmljZXMoKSl9LGhuLmZvdi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm92L01hdGguUEkqMTgwfSxobi5mb3Yuc2V0PWZ1bmN0aW9uKHQpe3Q9TWF0aC5tYXgoLjAxLE1hdGgubWluKDYwLHQpKSx0aGlzLl9mb3YhPT10JiYodGhpcy5fdW5tb2RpZmllZD0hMSx0aGlzLl9mb3Y9dC8xODAqTWF0aC5QSSx0aGlzLl9jYWxjTWF0cmljZXMoKSl9LGhuLnpvb20uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3pvb219LGhuLnpvb20uc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWluKE1hdGgubWF4KHQsdGhpcy5taW5ab29tKSx0aGlzLm1heFpvb20pO3RoaXMuX3pvb20hPT1lJiYodGhpcy5fdW5tb2RpZmllZD0hMSx0aGlzLl96b29tPWUsdGhpcy5zY2FsZT10aGlzLnpvb21TY2FsZShlKSx0aGlzLnRpbGVab29tPU1hdGguZmxvb3IoZSksdGhpcy56b29tRnJhY3Rpb249ZS10aGlzLnRpbGVab29tLHRoaXMuX2NvbnN0cmFpbigpLHRoaXMuX2NhbGNNYXRyaWNlcygpKX0saG4uY2VudGVyLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jZW50ZXJ9LGhuLmNlbnRlci5zZXQ9ZnVuY3Rpb24odCl7dC5sYXQ9PT10aGlzLl9jZW50ZXIubGF0JiZ0LmxuZz09PXRoaXMuX2NlbnRlci5sbmd8fCh0aGlzLl91bm1vZGlmaWVkPSExLHRoaXMuX2NlbnRlcj10LHRoaXMuX2NvbnN0cmFpbigpLHRoaXMuX2NhbGNNYXRyaWNlcygpKX0sdW4ucHJvdG90eXBlLmNvdmVyaW5nWm9vbUxldmVsPWZ1bmN0aW9uKHQpe3JldHVybih0LnJvdW5kWm9vbT9NYXRoLnJvdW5kOk1hdGguZmxvb3IpKHRoaXMuem9vbSt0aGlzLnNjYWxlWm9vbSh0aGlzLnRpbGVTaXplL3QudGlsZVNpemUpKX0sdW4ucHJvdG90eXBlLmdldFZpc2libGVVbndyYXBwZWRDb29yZGluYXRlcz1mdW5jdGlvbihlKXt2YXIgcj1bbmV3IHQuVW53cmFwcGVkVGlsZUlEKDAsZSldO2lmKHRoaXMuX3JlbmRlcldvcmxkQ29waWVzKWZvcih2YXIgbj10aGlzLnBvaW50Q29vcmRpbmF0ZShuZXcgdC5Qb2ludCgwLDApKSxhPXRoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsMCkpLGk9dGhpcy5wb2ludENvb3JkaW5hdGUobmV3IHQuUG9pbnQodGhpcy53aWR0aCx0aGlzLmhlaWdodCkpLG89dGhpcy5wb2ludENvb3JkaW5hdGUobmV3IHQuUG9pbnQoMCx0aGlzLmhlaWdodCkpLHM9TWF0aC5mbG9vcihNYXRoLm1pbihuLngsYS54LGkueCxvLngpKSxsPU1hdGguZmxvb3IoTWF0aC5tYXgobi54LGEueCxpLngsby54KSksYz1zLTE7Yzw9bCsxO2MrKykwIT09YyYmci5wdXNoKG5ldyB0LlVud3JhcHBlZFRpbGVJRChjLGUpKTtyZXR1cm4gcn0sdW4ucHJvdG90eXBlLmNvdmVyaW5nVGlsZXM9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5jb3ZlcmluZ1pvb21MZXZlbChlKSxuPXI7aWYodm9pZCAwIT09ZS5taW56b29tJiZyPGUubWluem9vbSlyZXR1cm5bXTt2b2lkIDAhPT1lLm1heHpvb20mJnI+ZS5tYXh6b29tJiYocj1lLm1heHpvb20pO3ZhciBhPXQuTWVyY2F0b3JDb29yZGluYXRlLmZyb21MbmdMYXQodGhpcy5jZW50ZXIpLGk9TWF0aC5wb3coMixyKSxvPW5ldyB0LlBvaW50KGkqYS54LS41LGkqYS55LS41KTtyZXR1cm4gZnVuY3Rpb24oZSxyLG4sYSl7dm9pZCAwPT09YSYmKGE9ITApO3ZhciBpPTE8PGUsbz17fTtmdW5jdGlvbiBzKHIscyxsKXt2YXIgYyx1LGgsZjtpZihsPj0wJiZsPD1pKWZvcihjPXI7YzxzO2MrKyl1PU1hdGguZmxvb3IoYy9pKSxoPShjJWkraSklaSwwIT09dSYmITAhPT1hfHwoZj1uZXcgdC5PdmVyc2NhbGVkVGlsZUlEKG4sdSxlLGgsbCksb1tmLmtleV09Zil9dmFyIGw9ci5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0LlBvaW50KGUueCxlLnkpLl9tdWx0KGkpfSk7cmV0dXJuIGNuKGxbMF0sbFsxXSxsWzJdLDAsaSxzKSxjbihsWzJdLGxbM10sbFswXSwwLGkscyksT2JqZWN0LmtleXMobykubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvW3RdfSl9KHIsW3RoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KDAsMCkpLHRoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsMCkpLHRoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpKSx0aGlzLnBvaW50Q29vcmRpbmF0ZShuZXcgdC5Qb2ludCgwLHRoaXMuaGVpZ2h0KSldLGUucmVwYXJzZU92ZXJzY2FsZWQ/bjpyLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzKS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG8uZGlzdCh0LmNhbm9uaWNhbCktby5kaXN0KGUuY2Fub25pY2FsKX0pfSx1bi5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKHQsZSl7dGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PWUsdGhpcy5waXhlbHNUb0dMVW5pdHM9WzIvdCwtMi9lXSx0aGlzLl9jb25zdHJhaW4oKSx0aGlzLl9jYWxjTWF0cmljZXMoKX0saG4udW5tb2RpZmllZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdW5tb2RpZmllZH0sdW4ucHJvdG90eXBlLnpvb21TY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3coMix0KX0sdW4ucHJvdG90eXBlLnNjYWxlWm9vbT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5sb2codCkvTWF0aC5MTjJ9LHVuLnByb3RvdHlwZS5wcm9qZWN0PWZ1bmN0aW9uKGUpe3ZhciByPXQuY2xhbXAoZS5sYXQsLXRoaXMubWF4VmFsaWRMYXRpdHVkZSx0aGlzLm1heFZhbGlkTGF0aXR1ZGUpO3JldHVybiBuZXcgdC5Qb2ludCh0Lm1lcmNhdG9yWGZyb21MbmcoZS5sbmcpKnRoaXMud29ybGRTaXplLHQubWVyY2F0b3JZZnJvbUxhdChyKSp0aGlzLndvcmxkU2l6ZSl9LHVuLnByb3RvdHlwZS51bnByb2plY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZShlLngvdGhpcy53b3JsZFNpemUsZS55L3RoaXMud29ybGRTaXplKS50b0xuZ0xhdCgpfSxobi5wb2ludC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9qZWN0KHRoaXMuY2VudGVyKX0sdW4ucHJvdG90eXBlLnNldExvY2F0aW9uQXRQb2ludD1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMucG9pbnRDb29yZGluYXRlKHIpLGE9dGhpcy5wb2ludENvb3JkaW5hdGUodGhpcy5jZW50ZXJQb2ludCksaT10aGlzLmxvY2F0aW9uQ29vcmRpbmF0ZShlKSxvPW5ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZShpLngtKG4ueC1hLngpLGkueS0obi55LWEueSkpO3RoaXMuY2VudGVyPXRoaXMuY29vcmRpbmF0ZUxvY2F0aW9uKG8pLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzJiYodGhpcy5jZW50ZXI9dGhpcy5jZW50ZXIud3JhcCgpKX0sdW4ucHJvdG90eXBlLmxvY2F0aW9uUG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29vcmRpbmF0ZVBvaW50KHRoaXMubG9jYXRpb25Db29yZGluYXRlKHQpKX0sdW4ucHJvdG90eXBlLnBvaW50TG9jYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29vcmRpbmF0ZUxvY2F0aW9uKHRoaXMucG9pbnRDb29yZGluYXRlKHQpKX0sdW4ucHJvdG90eXBlLmxvY2F0aW9uQ29vcmRpbmF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gdC5NZXJjYXRvckNvb3JkaW5hdGUuZnJvbUxuZ0xhdChlKX0sdW4ucHJvdG90eXBlLmNvb3JkaW5hdGVMb2NhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdC50b0xuZ0xhdCgpfSx1bi5wcm90b3R5cGUucG9pbnRDb29yZGluYXRlPWZ1bmN0aW9uKGUpe3ZhciByPVtlLngsZS55LDAsMV0sbj1bZS54LGUueSwxLDFdO3QudHJhbnNmb3JtTWF0NChyLHIsdGhpcy5waXhlbE1hdHJpeEludmVyc2UpLHQudHJhbnNmb3JtTWF0NChuLG4sdGhpcy5waXhlbE1hdHJpeEludmVyc2UpO3ZhciBhPXJbM10saT1uWzNdLG89clswXS9hLHM9blswXS9pLGw9clsxXS9hLGM9blsxXS9pLHU9clsyXS9hLGg9blsyXS9pLGY9dT09PWg/MDooMC11KS8oaC11KTtyZXR1cm4gbmV3IHQuTWVyY2F0b3JDb29yZGluYXRlKHQubnVtYmVyKG8scyxmKS90aGlzLndvcmxkU2l6ZSx0Lm51bWJlcihsLGMsZikvdGhpcy53b3JsZFNpemUpfSx1bi5wcm90b3R5cGUuY29vcmRpbmF0ZVBvaW50PWZ1bmN0aW9uKGUpe3ZhciByPVtlLngqdGhpcy53b3JsZFNpemUsZS55KnRoaXMud29ybGRTaXplLDAsMV07cmV0dXJuIHQudHJhbnNmb3JtTWF0NChyLHIsdGhpcy5waXhlbE1hdHJpeCksbmV3IHQuUG9pbnQoclswXS9yWzNdLHJbMV0vclszXSl9LHVuLnByb3RvdHlwZS5nZXRCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHQuTG5nTGF0Qm91bmRzKS5leHRlbmQodGhpcy5wb2ludExvY2F0aW9uKG5ldyB0LlBvaW50KDAsMCkpKS5leHRlbmQodGhpcy5wb2ludExvY2F0aW9uKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsMCkpKS5leHRlbmQodGhpcy5wb2ludExvY2F0aW9uKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpKSkuZXh0ZW5kKHRoaXMucG9pbnRMb2NhdGlvbihuZXcgdC5Qb2ludCgwLHRoaXMuaGVpZ2h0KSkpfSx1bi5wcm90b3R5cGUuZ2V0TWF4Qm91bmRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGF0UmFuZ2UmJjI9PT10aGlzLmxhdFJhbmdlLmxlbmd0aCYmdGhpcy5sbmdSYW5nZSYmMj09PXRoaXMubG5nUmFuZ2UubGVuZ3RoP25ldyB0LkxuZ0xhdEJvdW5kcyhbdGhpcy5sbmdSYW5nZVswXSx0aGlzLmxhdFJhbmdlWzBdXSxbdGhpcy5sbmdSYW5nZVsxXSx0aGlzLmxhdFJhbmdlWzFdXSk6bnVsbH0sdW4ucHJvdG90eXBlLnNldE1heEJvdW5kcz1mdW5jdGlvbih0KXt0Pyh0aGlzLmxuZ1JhbmdlPVt0LmdldFdlc3QoKSx0LmdldEVhc3QoKV0sdGhpcy5sYXRSYW5nZT1bdC5nZXRTb3V0aCgpLHQuZ2V0Tm9ydGgoKV0sdGhpcy5fY29uc3RyYWluKCkpOih0aGlzLmxuZ1JhbmdlPW51bGwsdGhpcy5sYXRSYW5nZT1bLXRoaXMubWF4VmFsaWRMYXRpdHVkZSx0aGlzLm1heFZhbGlkTGF0aXR1ZGVdKX0sdW4ucHJvdG90eXBlLmNhbGN1bGF0ZVBvc01hdHJpeD1mdW5jdGlvbihlLHIpe3ZvaWQgMD09PXImJihyPSExKTt2YXIgbj1lLmtleSxhPXI/dGhpcy5fYWxpZ25lZFBvc01hdHJpeENhY2hlOnRoaXMuX3Bvc01hdHJpeENhY2hlO2lmKGFbbl0pcmV0dXJuIGFbbl07dmFyIGk9ZS5jYW5vbmljYWwsbz10aGlzLndvcmxkU2l6ZS90aGlzLnpvb21TY2FsZShpLnopLHM9aS54K01hdGgucG93KDIsaS56KSplLndyYXAsbD10LmlkZW50aXR5KG5ldyBGbG9hdDY0QXJyYXkoMTYpKTtyZXR1cm4gdC50cmFuc2xhdGUobCxsLFtzKm8saS55Km8sMF0pLHQuc2NhbGUobCxsLFtvL3QuRVhURU5ULG8vdC5FWFRFTlQsMV0pLHQubXVsdGlwbHkobCxyP3RoaXMuYWxpZ25lZFByb2pNYXRyaXg6dGhpcy5wcm9qTWF0cml4LGwpLGFbbl09bmV3IEZsb2F0MzJBcnJheShsKSxhW25dfSx1bi5wcm90b3R5cGUuY3VzdG9tTGF5ZXJNYXRyaXg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZXJjYXRvck1hdHJpeC5zbGljZSgpfSx1bi5wcm90b3R5cGUuX2NvbnN0cmFpbj1mdW5jdGlvbigpe2lmKHRoaXMuY2VudGVyJiZ0aGlzLndpZHRoJiZ0aGlzLmhlaWdodCYmIXRoaXMuX2NvbnN0cmFpbmluZyl7dGhpcy5fY29uc3RyYWluaW5nPSEwO3ZhciBlLHIsbixhLGk9LTkwLG89OTAscz0tMTgwLGw9MTgwLGM9dGhpcy5zaXplLHU9dGhpcy5fdW5tb2RpZmllZDtpZih0aGlzLmxhdFJhbmdlKXt2YXIgaD10aGlzLmxhdFJhbmdlO2k9dC5tZXJjYXRvcllmcm9tTGF0KGhbMV0pKnRoaXMud29ybGRTaXplLGU9KG89dC5tZXJjYXRvcllmcm9tTGF0KGhbMF0pKnRoaXMud29ybGRTaXplKS1pPGMueT9jLnkvKG8taSk6MH1pZih0aGlzLmxuZ1JhbmdlKXt2YXIgZj10aGlzLmxuZ1JhbmdlO3M9dC5tZXJjYXRvclhmcm9tTG5nKGZbMF0pKnRoaXMud29ybGRTaXplLHI9KGw9dC5tZXJjYXRvclhmcm9tTG5nKGZbMV0pKnRoaXMud29ybGRTaXplKS1zPGMueD9jLngvKGwtcyk6MH12YXIgcD10aGlzLnBvaW50LGQ9TWF0aC5tYXgocnx8MCxlfHwwKTtpZihkKXJldHVybiB0aGlzLmNlbnRlcj10aGlzLnVucHJvamVjdChuZXcgdC5Qb2ludChyPyhsK3MpLzI6cC54LGU/KG8raSkvMjpwLnkpKSx0aGlzLnpvb20rPXRoaXMuc2NhbGVab29tKGQpLHRoaXMuX3VubW9kaWZpZWQ9dSx2b2lkKHRoaXMuX2NvbnN0cmFpbmluZz0hMSk7aWYodGhpcy5sYXRSYW5nZSl7dmFyIGc9cC55LHY9Yy55LzI7Zy12PGkmJihhPWkrdiksZyt2Pm8mJihhPW8tdil9aWYodGhpcy5sbmdSYW5nZSl7dmFyIG09cC54LHk9Yy54LzI7bS15PHMmJihuPXMreSksbSt5PmwmJihuPWwteSl9dm9pZCAwPT09biYmdm9pZCAwPT09YXx8KHRoaXMuY2VudGVyPXRoaXMudW5wcm9qZWN0KG5ldyB0LlBvaW50KHZvaWQgMCE9PW4/bjpwLngsdm9pZCAwIT09YT9hOnAueSkpKSx0aGlzLl91bm1vZGlmaWVkPXUsdGhpcy5fY29uc3RyYWluaW5nPSExfX0sdW4ucHJvdG90eXBlLl9jYWxjTWF0cmljZXM9ZnVuY3Rpb24oKXtpZih0aGlzLmhlaWdodCl7dGhpcy5jYW1lcmFUb0NlbnRlckRpc3RhbmNlPS41L01hdGgudGFuKHRoaXMuX2Zvdi8yKSp0aGlzLmhlaWdodDt2YXIgZT10aGlzLl9mb3YvMixyPU1hdGguUEkvMit0aGlzLl9waXRjaCxuPU1hdGguc2luKGUpKnRoaXMuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZS9NYXRoLnNpbihNYXRoLlBJLXItZSksYT10aGlzLnBvaW50LGk9YS54LG89YS55LHM9MS4wMSooTWF0aC5jb3MoTWF0aC5QSS8yLXRoaXMuX3BpdGNoKSpuK3RoaXMuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZSksbD10aGlzLmhlaWdodC81MCxjPW5ldyBGbG9hdDY0QXJyYXkoMTYpO3QucGVyc3BlY3RpdmUoYyx0aGlzLl9mb3YsdGhpcy53aWR0aC90aGlzLmhlaWdodCxsLHMpLHQuc2NhbGUoYyxjLFsxLC0xLDFdKSx0LnRyYW5zbGF0ZShjLGMsWzAsMCwtdGhpcy5jYW1lcmFUb0NlbnRlckRpc3RhbmNlXSksdC5yb3RhdGVYKGMsYyx0aGlzLl9waXRjaCksdC5yb3RhdGVaKGMsYyx0aGlzLmFuZ2xlKSx0LnRyYW5zbGF0ZShjLGMsWy1pLC1vLDBdKSx0aGlzLm1lcmNhdG9yTWF0cml4PXQuc2NhbGUoW10sYyxbdGhpcy53b3JsZFNpemUsdGhpcy53b3JsZFNpemUsdGhpcy53b3JsZFNpemVdKSx0LnNjYWxlKGMsYyxbMSwxLHQubWVyY2F0b3JaZnJvbUFsdGl0dWRlKDEsdGhpcy5jZW50ZXIubGF0KSp0aGlzLndvcmxkU2l6ZSwxXSksdGhpcy5wcm9qTWF0cml4PWM7dmFyIHU9dGhpcy53aWR0aCUyLzIsaD10aGlzLmhlaWdodCUyLzIsZj1NYXRoLmNvcyh0aGlzLmFuZ2xlKSxwPU1hdGguc2luKHRoaXMuYW5nbGUpLGQ9aS1NYXRoLnJvdW5kKGkpK2YqdStwKmgsZz1vLU1hdGgucm91bmQobykrZipoK3AqdSx2PW5ldyBGbG9hdDY0QXJyYXkoYyk7aWYodC50cmFuc2xhdGUodix2LFtkPi41P2QtMTpkLGc+LjU/Zy0xOmcsMF0pLHRoaXMuYWxpZ25lZFByb2pNYXRyaXg9dixjPXQuY3JlYXRlKCksdC5zY2FsZShjLGMsW3RoaXMud2lkdGgvMiwtdGhpcy5oZWlnaHQvMiwxXSksdC50cmFuc2xhdGUoYyxjLFsxLC0xLDBdKSx0aGlzLmxhYmVsUGxhbmVNYXRyaXg9YyxjPXQuY3JlYXRlKCksdC5zY2FsZShjLGMsWzEsLTEsMV0pLHQudHJhbnNsYXRlKGMsYyxbLTEsLTEsMF0pLHQuc2NhbGUoYyxjLFsyL3RoaXMud2lkdGgsMi90aGlzLmhlaWdodCwxXSksdGhpcy5nbENvb3JkTWF0cml4PWMsdGhpcy5waXhlbE1hdHJpeD10Lm11bHRpcGx5KG5ldyBGbG9hdDY0QXJyYXkoMTYpLHRoaXMubGFiZWxQbGFuZU1hdHJpeCx0aGlzLnByb2pNYXRyaXgpLCEoYz10LmludmVydChuZXcgRmxvYXQ2NEFycmF5KDE2KSx0aGlzLnBpeGVsTWF0cml4KSkpdGhyb3cgbmV3IEVycm9yKCJmYWlsZWQgdG8gaW52ZXJ0IG1hdHJpeCIpO3RoaXMucGl4ZWxNYXRyaXhJbnZlcnNlPWMsdGhpcy5fcG9zTWF0cml4Q2FjaGU9e30sdGhpcy5fYWxpZ25lZFBvc01hdHJpeENhY2hlPXt9fX0sdW4ucHJvdG90eXBlLm1heFBpdGNoU2NhbGVGYWN0b3I9ZnVuY3Rpb24oKXtpZighdGhpcy5waXhlbE1hdHJpeEludmVyc2UpcmV0dXJuIDE7dmFyIGU9dGhpcy5wb2ludENvb3JkaW5hdGUobmV3IHQuUG9pbnQoMCwwKSkscj1bZS54KnRoaXMud29ybGRTaXplLGUueSp0aGlzLndvcmxkU2l6ZSwwLDFdO3JldHVybiB0LnRyYW5zZm9ybU1hdDQocixyLHRoaXMucGl4ZWxNYXRyaXgpWzNdL3RoaXMuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZX0sdW4ucHJvdG90eXBlLmdldENhbWVyYVBvaW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcGl0Y2gscj1NYXRoLnRhbihlKSoodGhpcy5jYW1lcmFUb0NlbnRlckRpc3RhbmNlfHwxKTtyZXR1cm4gdGhpcy5jZW50ZXJQb2ludC5hZGQobmV3IHQuUG9pbnQoMCxyKSl9LHVuLnByb3RvdHlwZS5nZXRDYW1lcmFRdWVyeUdlb21ldHJ5PWZ1bmN0aW9uKGUpe3ZhciByPXRoaXMuZ2V0Q2FtZXJhUG9pbnQoKTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuW2VbMF0scl07Zm9yKHZhciBuPXIueCxhPXIueSxpPXIueCxvPXIueSxzPTAsbD1lO3M8bC5sZW5ndGg7cys9MSl7dmFyIGM9bFtzXTtuPU1hdGgubWluKG4sYy54KSxhPU1hdGgubWluKGEsYy55KSxpPU1hdGgubWF4KGksYy54KSxvPU1hdGgubWF4KG8sYy55KX1yZXR1cm5bbmV3IHQuUG9pbnQobixhKSxuZXcgdC5Qb2ludChpLGEpLG5ldyB0LlBvaW50KGksbyksbmV3IHQuUG9pbnQobixvKSxuZXcgdC5Qb2ludChuLGEpXX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXModW4ucHJvdG90eXBlLGhuKTt2YXIgZm49ZnVuY3Rpb24oKXt2YXIgZSxyLG4sYTt0LmJpbmRBbGwoWyJfb25IYXNoQ2hhbmdlIiwiX3VwZGF0ZUhhc2giXSx0aGlzKSx0aGlzLl91cGRhdGVIYXNoPShlPXRoaXMuX3VwZGF0ZUhhc2hVbnRocm90dGxlZC5iaW5kKHRoaXMpLDMwMCxyPSExLG49bnVsbCxhPWZ1bmN0aW9uKCl7bj1udWxsLHImJihlKCksbj1zZXRUaW1lb3V0KGEsMzAwKSxyPSExKX0sZnVuY3Rpb24oKXtyZXR1cm4gcj0hMCxufHxhKCksbn0pfTtmbi5wcm90b3R5cGUuYWRkVG89ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX21hcD1lLHQud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHRoaXMuX29uSGFzaENoYW5nZSwhMSksdGhpcy5fbWFwLm9uKCJtb3ZlZW5kIix0aGlzLl91cGRhdGVIYXNoKSx0aGlzfSxmbi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHQud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHRoaXMuX29uSGFzaENoYW5nZSwhMSksdGhpcy5fbWFwLm9mZigibW92ZWVuZCIsdGhpcy5fdXBkYXRlSGFzaCksY2xlYXJUaW1lb3V0KHRoaXMuX3VwZGF0ZUhhc2goKSksZGVsZXRlIHRoaXMuX21hcCx0aGlzfSxmbi5wcm90b3R5cGUuZ2V0SGFzaFN0cmluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXAuZ2V0Q2VudGVyKCkscj1NYXRoLnJvdW5kKDEwMCp0aGlzLl9tYXAuZ2V0Wm9vbSgpKS8xMDAsbj1NYXRoLmNlaWwoKHIqTWF0aC5MTjIrTWF0aC5sb2coNTEyLzM2MC8uNSkpL01hdGguTE4xMCksYT1NYXRoLnBvdygxMCxuKSxpPU1hdGgucm91bmQoZS5sbmcqYSkvYSxvPU1hdGgucm91bmQoZS5sYXQqYSkvYSxzPXRoaXMuX21hcC5nZXRCZWFyaW5nKCksbD10aGlzLl9tYXAuZ2V0UGl0Y2goKSxjPSIiO3JldHVybiBjKz10PyIjLyIraSsiLyIrbysiLyIrcjoiIyIrcisiLyIrbysiLyIraSwoc3x8bCkmJihjKz0iLyIrTWF0aC5yb3VuZCgxMCpzKS8xMCksbCYmKGMrPSIvIitNYXRoLnJvdW5kKGwpKSxjfSxmbi5wcm90b3R5cGUuX29uSGFzaENoYW5nZT1mdW5jdGlvbigpe3ZhciBlPXQud2luZG93LmxvY2F0aW9uLmhhc2gucmVwbGFjZSgiIyIsIiIpLnNwbGl0KCIvIik7cmV0dXJuIGUubGVuZ3RoPj0zJiYodGhpcy5fbWFwLmp1bXBUbyh7Y2VudGVyOlsrZVsyXSwrZVsxXV0sem9vbTorZVswXSxiZWFyaW5nOisoZVszXXx8MCkscGl0Y2g6KyhlWzRdfHwwKX0pLCEwKX0sZm4ucHJvdG90eXBlLl91cGRhdGVIYXNoVW50aHJvdHRsZWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmdldEhhc2hTdHJpbmcoKTt0cnl7dC53aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUodC53aW5kb3cuaGlzdG9yeS5zdGF0ZSwiIixlKX1jYXRjaCh0KXt9fTt2YXIgcG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihuLGEsaSxvKXt2b2lkIDA9PT1vJiYobz17fSk7dmFyIHM9ci5tb3VzZVBvcyhhLmdldENhbnZhc0NvbnRhaW5lcigpLGkpLGw9YS51bnByb2plY3Qocyk7ZS5jYWxsKHRoaXMsbix0LmV4dGVuZCh7cG9pbnQ6cyxsbmdMYXQ6bCxvcmlnaW5hbEV2ZW50Oml9LG8pKSx0aGlzLl9kZWZhdWx0UHJldmVudGVkPSExLHRoaXMudGFyZ2V0PWF9ZSYmKG4uX19wcm90b19fPWUpLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW47dmFyIGE9e2RlZmF1bHRQcmV2ZW50ZWQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiBuLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRQcmV2ZW50ZWQ9ITB9LGEuZGVmYXVsdFByZXZlbnRlZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobi5wcm90b3R5cGUsYSksbn0odC5FdmVudCksZG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihuLGEsaSl7dmFyIG89ci50b3VjaFBvcyhhLmdldENhbnZhc0NvbnRhaW5lcigpLGkpLHM9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEudW5wcm9qZWN0KHQpfSksbD1vLnJlZHVjZShmdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdC5hZGQoZS5kaXYobi5sZW5ndGgpKX0sbmV3IHQuUG9pbnQoMCwwKSksYz1hLnVucHJvamVjdChsKTtlLmNhbGwodGhpcyxuLHtwb2ludHM6byxwb2ludDpsLGxuZ0xhdHM6cyxsbmdMYXQ6YyxvcmlnaW5hbEV2ZW50Oml9KSx0aGlzLl9kZWZhdWx0UHJldmVudGVkPSExfWUmJihuLl9fcHJvdG9fXz1lKSxuLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSxuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO3ZhciBhPXtkZWZhdWx0UHJldmVudGVkOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gbi5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLl9kZWZhdWx0UHJldmVudGVkPSEwfSxhLmRlZmF1bHRQcmV2ZW50ZWQuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRQcmV2ZW50ZWR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG4ucHJvdG90eXBlLGEpLG59KHQuRXZlbnQpLGduPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxyLG4pe3QuY2FsbCh0aGlzLGUse29yaWdpbmFsRXZlbnQ6bn0pLHRoaXMuX2RlZmF1bHRQcmV2ZW50ZWQ9ITF9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e2RlZmF1bHRQcmV2ZW50ZWQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiBlLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRQcmV2ZW50ZWQ9ITB9LHIuZGVmYXVsdFByZXZlbnRlZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsciksZX0odC5FdmVudCksdm49ZnVuY3Rpb24oZSl7dGhpcy5fbWFwPWUsdGhpcy5fZWw9ZS5nZXRDYW52YXNDb250YWluZXIoKSx0aGlzLl9kZWx0YT0wLHRoaXMuX2RlZmF1bHRab29tUmF0ZT0uMDEsdGhpcy5fd2hlZWxab29tUmF0ZT0xLzQ1MCx0LmJpbmRBbGwoWyJfb25XaGVlbCIsIl9vblRpbWVvdXQiLCJfb25TY3JvbGxGcmFtZSIsIl9vblNjcm9sbEZpbmlzaGVkIl0sdGhpcyl9O3ZuLnByb3RvdHlwZS5zZXRab29tUmF0ZT1mdW5jdGlvbih0KXt0aGlzLl9kZWZhdWx0Wm9vbVJhdGU9dH0sdm4ucHJvdG90eXBlLnNldFdoZWVsWm9vbVJhdGU9ZnVuY3Rpb24odCl7dGhpcy5fd2hlZWxab29tUmF0ZT10fSx2bi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfSx2bi5wcm90b3R5cGUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX2FjdGl2ZX0sdm4ucHJvdG90eXBlLmlzWm9vbWluZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fem9vbWluZ30sdm4ucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbih0KXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fZW5hYmxlZD0hMCx0aGlzLl9hcm91bmRDZW50ZXI9dCYmImNlbnRlciI9PT10LmFyb3VuZCl9LHZuLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKSYmKHRoaXMuX2VuYWJsZWQ9ITEpfSx2bi5wcm90b3R5cGUub25XaGVlbD1mdW5jdGlvbihlKXtpZih0aGlzLmlzRW5hYmxlZCgpKXt2YXIgcj1lLmRlbHRhTW9kZT09PXQud2luZG93LldoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkU/NDAqZS5kZWx0YVk6ZS5kZWx0YVksbj10LmJyb3dzZXIubm93KCksYT1uLSh0aGlzLl9sYXN0V2hlZWxFdmVudFRpbWV8fDApO3RoaXMuX2xhc3RXaGVlbEV2ZW50VGltZT1uLDAhPT1yJiZyJTQuMDAwMjQ0MTQwNjI1PT0wP3RoaXMuX3R5cGU9IndoZWVsIjowIT09ciYmTWF0aC5hYnMocik8ND90aGlzLl90eXBlPSJ0cmFja3BhZCI6YT40MDA/KHRoaXMuX3R5cGU9bnVsbCx0aGlzLl9sYXN0VmFsdWU9cix0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQodGhpcy5fb25UaW1lb3V0LDQwLGUpKTp0aGlzLl90eXBlfHwodGhpcy5fdHlwZT1NYXRoLmFicyhhKnIpPDIwMD8idHJhY2twYWQiOiJ3aGVlbCIsdGhpcy5fdGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGwscis9dGhpcy5fbGFzdFZhbHVlKSksZS5zaGlmdEtleSYmciYmKHIvPTQpLHRoaXMuX3R5cGUmJih0aGlzLl9sYXN0V2hlZWxFdmVudD1lLHRoaXMuX2RlbHRhLT1yLHRoaXMuaXNBY3RpdmUoKXx8dGhpcy5fc3RhcnQoZSkpLGUucHJldmVudERlZmF1bHQoKX19LHZuLnByb3RvdHlwZS5fb25UaW1lb3V0PWZ1bmN0aW9uKHQpe3RoaXMuX3R5cGU9IndoZWVsIix0aGlzLl9kZWx0YS09dGhpcy5fbGFzdFZhbHVlLHRoaXMuaXNBY3RpdmUoKXx8dGhpcy5fc3RhcnQodCl9LHZuLnByb3RvdHlwZS5fc3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fZGVsdGEpe3RoaXMuX2ZyYW1lSWQmJih0aGlzLl9tYXAuX2NhbmNlbFJlbmRlckZyYW1lKHRoaXMuX2ZyYW1lSWQpLHRoaXMuX2ZyYW1lSWQ9bnVsbCksdGhpcy5fYWN0aXZlPSEwLHRoaXMuaXNab29taW5nKCl8fCh0aGlzLl96b29taW5nPSEwLHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KCJtb3Zlc3RhcnQiLHtvcmlnaW5hbEV2ZW50OmV9KSksdGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQoInpvb21zdGFydCIse29yaWdpbmFsRXZlbnQ6ZX0pKSksdGhpcy5fZmluaXNoVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX2ZpbmlzaFRpbWVvdXQpO3ZhciBuPXIubW91c2VQb3ModGhpcy5fZWwsZSk7dGhpcy5fYXJvdW5kPXQuTG5nTGF0LmNvbnZlcnQodGhpcy5fYXJvdW5kQ2VudGVyP3RoaXMuX21hcC5nZXRDZW50ZXIoKTp0aGlzLl9tYXAudW5wcm9qZWN0KG4pKSx0aGlzLl9hcm91bmRQb2ludD10aGlzLl9tYXAudHJhbnNmb3JtLmxvY2F0aW9uUG9pbnQodGhpcy5fYXJvdW5kKSx0aGlzLl9mcmFtZUlkfHwodGhpcy5fZnJhbWVJZD10aGlzLl9tYXAuX3JlcXVlc3RSZW5kZXJGcmFtZSh0aGlzLl9vblNjcm9sbEZyYW1lKSl9fSx2bi5wcm90b3R5cGUuX29uU2Nyb2xsRnJhbWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKHRoaXMuX2ZyYW1lSWQ9bnVsbCx0aGlzLmlzQWN0aXZlKCkpe3ZhciByPXRoaXMuX21hcC50cmFuc2Zvcm07aWYoMCE9PXRoaXMuX2RlbHRhKXt2YXIgbj0id2hlZWwiPT09dGhpcy5fdHlwZSYmTWF0aC5hYnModGhpcy5fZGVsdGEpPjQuMDAwMjQ0MTQwNjI1P3RoaXMuX3doZWVsWm9vbVJhdGU6dGhpcy5fZGVmYXVsdFpvb21SYXRlLGE9Mi8oMStNYXRoLmV4cCgtTWF0aC5hYnModGhpcy5fZGVsdGEqbikpKTt0aGlzLl9kZWx0YTwwJiYwIT09YSYmKGE9MS9hKTt2YXIgaT0ibnVtYmVyIj09dHlwZW9mIHRoaXMuX3RhcmdldFpvb20/ci56b29tU2NhbGUodGhpcy5fdGFyZ2V0Wm9vbSk6ci5zY2FsZTt0aGlzLl90YXJnZXRab29tPU1hdGgubWluKHIubWF4Wm9vbSxNYXRoLm1heChyLm1pblpvb20sci5zY2FsZVpvb20oaSphKSkpLCJ3aGVlbCI9PT10aGlzLl90eXBlJiYodGhpcy5fc3RhcnRab29tPXIuem9vbSx0aGlzLl9lYXNpbmc9dGhpcy5fc21vb3RoT3V0RWFzaW5nKDIwMCkpLHRoaXMuX2RlbHRhPTB9dmFyIG89Im51bWJlciI9PXR5cGVvZiB0aGlzLl90YXJnZXRab29tP3RoaXMuX3RhcmdldFpvb206ci56b29tLHM9dGhpcy5fc3RhcnRab29tLGw9dGhpcy5fZWFzaW5nLGM9ITE7aWYoIndoZWVsIj09PXRoaXMuX3R5cGUmJnMmJmwpe3ZhciB1PU1hdGgubWluKCh0LmJyb3dzZXIubm93KCktdGhpcy5fbGFzdFdoZWVsRXZlbnRUaW1lKS8yMDAsMSksaD1sKHUpO3Iuem9vbT10Lm51bWJlcihzLG8saCksdTwxP3RoaXMuX2ZyYW1lSWR8fCh0aGlzLl9mcmFtZUlkPXRoaXMuX21hcC5fcmVxdWVzdFJlbmRlckZyYW1lKHRoaXMuX29uU2Nyb2xsRnJhbWUpKTpjPSEwfWVsc2Ugci56b29tPW8sYz0hMDtyLnNldExvY2F0aW9uQXRQb2ludCh0aGlzLl9hcm91bmQsdGhpcy5fYXJvdW5kUG9pbnQpLHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlIix7b3JpZ2luYWxFdmVudDp0aGlzLl9sYXN0V2hlZWxFdmVudH0pKSx0aGlzLl9tYXAuZmlyZShuZXcgdC5FdmVudCgiem9vbSIse29yaWdpbmFsRXZlbnQ6dGhpcy5fbGFzdFdoZWVsRXZlbnR9KSksYyYmKHRoaXMuX2FjdGl2ZT0hMSx0aGlzLl9maW5pc2hUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl96b29taW5nPSExLGUuX21hcC5maXJlKG5ldyB0LkV2ZW50KCJ6b29tZW5kIix7b3JpZ2luYWxFdmVudDplLl9sYXN0V2hlZWxFdmVudH0pKSxlLl9tYXAuZmlyZShuZXcgdC5FdmVudCgibW92ZWVuZCIse29yaWdpbmFsRXZlbnQ6ZS5fbGFzdFdoZWVsRXZlbnR9KSksZGVsZXRlIGUuX3RhcmdldFpvb219LDIwMCkpfX0sdm4ucHJvdG90eXBlLl9zbW9vdGhPdXRFYXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHI9dC5lYXNlO2lmKHRoaXMuX3ByZXZFYXNlKXt2YXIgbj10aGlzLl9wcmV2RWFzZSxhPSh0LmJyb3dzZXIubm93KCktbi5zdGFydCkvbi5kdXJhdGlvbixpPW4uZWFzaW5nKGErLjAxKS1uLmVhc2luZyhhKSxvPS4yNy9NYXRoLnNxcnQoaSppKzFlLTQpKi4wMSxzPU1hdGguc3FydCguMDcyOS1vKm8pO3I9dC5iZXppZXIobyxzLC4yNSwxKX1yZXR1cm4gdGhpcy5fcHJldkVhc2U9e3N0YXJ0OnQuYnJvd3Nlci5ub3coKSxkdXJhdGlvbjplLGVhc2luZzpyfSxyfTt2YXIgbW49ZnVuY3Rpb24oZSxyKXt0aGlzLl9tYXA9ZSx0aGlzLl9lbD1lLmdldENhbnZhc0NvbnRhaW5lcigpLHRoaXMuX2NvbnRhaW5lcj1lLmdldENvbnRhaW5lcigpLHRoaXMuX2NsaWNrVG9sZXJhbmNlPXIuY2xpY2tUb2xlcmFuY2V8fDEsdC5iaW5kQWxsKFsiX29uTW91c2VNb3ZlIiwiX29uTW91c2VVcCIsIl9vbktleURvd24iXSx0aGlzKX07bW4ucHJvdG90eXBlLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fZW5hYmxlZH0sbW4ucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9hY3RpdmV9LG1uLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fZW5hYmxlZD0hMCl9LG1uLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKSYmKHRoaXMuX2VuYWJsZWQ9ITEpfSxtbi5wcm90b3R5cGUub25Nb3VzZURvd249ZnVuY3Rpb24oZSl7dGhpcy5pc0VuYWJsZWQoKSYmZS5zaGlmdEtleSYmMD09PWUuYnV0dG9uJiYodC53aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdXNlTW92ZSwhMSksdC53aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLCExKSx0LndpbmRvdy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXAsITEpLHIuZGlzYWJsZURyYWcoKSx0aGlzLl9zdGFydFBvcz10aGlzLl9sYXN0UG9zPXIubW91c2VQb3ModGhpcy5fZWwsZSksdGhpcy5fYWN0aXZlPSEwKX0sbW4ucHJvdG90eXBlLl9vbk1vdXNlTW92ZT1mdW5jdGlvbih0KXt2YXIgZT1yLm1vdXNlUG9zKHRoaXMuX2VsLHQpO2lmKCEodGhpcy5fbGFzdFBvcy5lcXVhbHMoZSl8fCF0aGlzLl9ib3gmJmUuZGlzdCh0aGlzLl9zdGFydFBvcyk8dGhpcy5fY2xpY2tUb2xlcmFuY2UpKXt2YXIgbj10aGlzLl9zdGFydFBvczt0aGlzLl9sYXN0UG9zPWUsdGhpcy5fYm94fHwodGhpcy5fYm94PXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1ib3h6b29tIix0aGlzLl9jb250YWluZXIpLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jcm9zc2hhaXIiKSx0aGlzLl9maXJlRXZlbnQoImJveHpvb21zdGFydCIsdCkpO3ZhciBhPU1hdGgubWluKG4ueCxlLngpLGk9TWF0aC5tYXgobi54LGUueCksbz1NYXRoLm1pbihuLnksZS55KSxzPU1hdGgubWF4KG4ueSxlLnkpO3Iuc2V0VHJhbnNmb3JtKHRoaXMuX2JveCwidHJhbnNsYXRlKCIrYSsicHgsIitvKyJweCkiKSx0aGlzLl9ib3guc3R5bGUud2lkdGg9aS1hKyJweCIsdGhpcy5fYm94LnN0eWxlLmhlaWdodD1zLW8rInB4In19LG1uLnByb3RvdHlwZS5fb25Nb3VzZVVwPWZ1bmN0aW9uKGUpe2lmKDA9PT1lLmJ1dHRvbil7dmFyIG49dGhpcy5fc3RhcnRQb3MsYT1yLm1vdXNlUG9zKHRoaXMuX2VsLGUpO3RoaXMuX2ZpbmlzaCgpLHIuc3VwcHJlc3NDbGljaygpLG4ueD09PWEueCYmbi55PT09YS55P3RoaXMuX2ZpcmVFdmVudCgiYm94em9vbWNhbmNlbCIsZSk6dGhpcy5fbWFwLmZpdFNjcmVlbkNvb3JkaW5hdGVzKG4sYSx0aGlzLl9tYXAuZ2V0QmVhcmluZygpLHtsaW5lYXI6ITB9KS5maXJlKG5ldyB0LkV2ZW50KCJib3h6b29tZW5kIix7b3JpZ2luYWxFdmVudDplfSkpfX0sbW4ucHJvdG90eXBlLl9vbktleURvd249ZnVuY3Rpb24odCl7Mjc9PT10LmtleUNvZGUmJih0aGlzLl9maW5pc2goKSx0aGlzLl9maXJlRXZlbnQoImJveHpvb21jYW5jZWwiLHQpKX0sbW4ucHJvdG90eXBlLl9maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl9hY3RpdmU9ITEsdC53aW5kb3cuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdXNlTW92ZSwhMSksdC53aW5kb3cuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLCExKSx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXAsITEpLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jcm9zc2hhaXIiKSx0aGlzLl9ib3gmJihyLnJlbW92ZSh0aGlzLl9ib3gpLHRoaXMuX2JveD1udWxsKSxyLmVuYWJsZURyYWcoKSxkZWxldGUgdGhpcy5fc3RhcnRQb3MsZGVsZXRlIHRoaXMuX2xhc3RQb3N9LG1uLnByb3RvdHlwZS5fZmlyZUV2ZW50PWZ1bmN0aW9uKGUscil7cmV0dXJuIHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KGUse29yaWdpbmFsRXZlbnQ6cn0pKX07dmFyIHluPXQuYmV6aWVyKDAsMCwuMjUsMSkseG49ZnVuY3Rpb24oZSxyKXt0aGlzLl9tYXA9ZSx0aGlzLl9lbD1yLmVsZW1lbnR8fGUuZ2V0Q2FudmFzQ29udGFpbmVyKCksdGhpcy5fc3RhdGU9ImRpc2FibGVkIix0aGlzLl9idXR0b249ci5idXR0b258fCJyaWdodCIsdGhpcy5fYmVhcmluZ1NuYXA9ci5iZWFyaW5nU25hcHx8MCx0aGlzLl9waXRjaFdpdGhSb3RhdGU9ITEhPT1yLnBpdGNoV2l0aFJvdGF0ZSx0LmJpbmRBbGwoWyJvbk1vdXNlRG93biIsIl9vbk1vdXNlTW92ZSIsIl9vbk1vdXNlVXAiLCJfb25CbHVyIiwiX29uRHJhZ0ZyYW1lIl0sdGhpcyl9O3huLnByb3RvdHlwZS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4iZGlzYWJsZWQiIT09dGhpcy5fc3RhdGV9LHhuLnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiJhY3RpdmUiPT09dGhpcy5fc3RhdGV9LHhuLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fc3RhdGU9ImVuYWJsZWQiKX0seG4ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtpZih0aGlzLmlzRW5hYmxlZCgpKXN3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJkaXNhYmxlZCIsdGhpcy5fdW5iaW5kKCksdGhpcy5fZGVhY3RpdmF0ZSgpLHRoaXMuX2ZpcmVFdmVudCgicm90YXRlZW5kIiksdGhpcy5fcGl0Y2hXaXRoUm90YXRlJiZ0aGlzLl9maXJlRXZlbnQoInBpdGNoZW5kIiksdGhpcy5fZmlyZUV2ZW50KCJtb3ZlZW5kIik7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZGlzYWJsZWQiLHRoaXMuX3VuYmluZCgpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fc3RhdGU9ImRpc2FibGVkIn19LHhuLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbihlKXtpZigiZW5hYmxlZCI9PT10aGlzLl9zdGF0ZSl7dmFyIG49InRvdWNoc3RhcnQiPT09ZS50eXBlO2lmKG4pdGhpcy5fc3RhcnRUaW1lPURhdGUubm93KCk7ZWxzZSBpZigicmlnaHQiPT09dGhpcy5fYnV0dG9uKXtpZih0aGlzLl9ldmVudEJ1dHRvbj1yLm1vdXNlQnV0dG9uKGUpLHRoaXMuX2V2ZW50QnV0dG9uIT09KGUuY3RybEtleT8wOjIpKXJldHVybn1lbHNle2lmKGUuY3RybEtleXx8MCE9PXIubW91c2VCdXR0b24oZSkpcmV0dXJuO3RoaXMuX2V2ZW50QnV0dG9uPTB9ci5kaXNhYmxlRHJhZygpLG4/KHQud2luZG93LmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Nb3VzZVVwKSk6KHQud2luZG93LmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApKSx0LndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXIpLHRoaXMuX3N0YXRlPSJwZW5kaW5nIix0aGlzLl9pbmVydGlhPVtbdC5icm93c2VyLm5vdygpLHRoaXMuX21hcC5nZXRCZWFyaW5nKCldXSx0aGlzLl9zdGFydFBvcz10aGlzLl9wcmV2UG9zPXRoaXMuX2xhc3RQb3M9ci5tb3VzZVBvcyh0aGlzLl9lbCxlKSx0aGlzLl9jZW50ZXI9dGhpcy5fbWFwLnRyYW5zZm9ybS5jZW50ZXJQb2ludCxlLnByZXZlbnREZWZhdWx0KCl9fSx4bi5wcm90b3R5cGUuX29uTW91c2VNb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXIubW91c2VQb3ModGhpcy5fZWwsdCk7dGhpcy5fbGFzdFBvcy5lcXVhbHMoZSl8fCh0aGlzLl9sYXN0TW92ZUV2ZW50PXQsdGhpcy5fbGFzdFBvcz1lLCJwZW5kaW5nIj09PXRoaXMuX3N0YXRlJiYodGhpcy5fc3RhdGU9ImFjdGl2ZSIsdGhpcy5fZmlyZUV2ZW50KCJyb3RhdGVzdGFydCIsdCksdGhpcy5fZmlyZUV2ZW50KCJtb3Zlc3RhcnQiLHQpLHRoaXMuX3BpdGNoV2l0aFJvdGF0ZSYmdGhpcy5fZmlyZUV2ZW50KCJwaXRjaHN0YXJ0Iix0KSksdGhpcy5fZnJhbWVJZHx8KHRoaXMuX2ZyYW1lSWQ9dGhpcy5fbWFwLl9yZXF1ZXN0UmVuZGVyRnJhbWUodGhpcy5fb25EcmFnRnJhbWUpKSl9LHhuLnByb3RvdHlwZS5fb25EcmFnRnJhbWU9ZnVuY3Rpb24oKXt0aGlzLl9mcmFtZUlkPW51bGw7dmFyIGU9dGhpcy5fbGFzdE1vdmVFdmVudDtpZihlKXt2YXIgcj10aGlzLl9tYXAudHJhbnNmb3JtLG49dGhpcy5fcHJldlBvcyxhPXRoaXMuX2xhc3RQb3MsaT0uOCoobi54LWEueCksbz0tLjUqKG4ueS1hLnkpLHM9ci5iZWFyaW5nLWksbD1yLnBpdGNoLW8sYz10aGlzLl9pbmVydGlhLHU9Y1tjLmxlbmd0aC0xXTt0aGlzLl9kcmFpbkluZXJ0aWFCdWZmZXIoKSxjLnB1c2goW3QuYnJvd3Nlci5ub3coKSx0aGlzLl9tYXAuX25vcm1hbGl6ZUJlYXJpbmcocyx1WzFdKV0pLHIuYmVhcmluZz1zLHRoaXMuX3BpdGNoV2l0aFJvdGF0ZSYmKHRoaXMuX2ZpcmVFdmVudCgicGl0Y2giLGUpLHIucGl0Y2g9bCksdGhpcy5fZmlyZUV2ZW50KCJyb3RhdGUiLGUpLHRoaXMuX2ZpcmVFdmVudCgibW92ZSIsZSksZGVsZXRlIHRoaXMuX2xhc3RNb3ZlRXZlbnQsdGhpcy5fcHJldlBvcz10aGlzLl9sYXN0UG9zfX0seG4ucHJvdG90eXBlLl9vbk1vdXNlVXA9ZnVuY3Rpb24odCl7aWYoInRvdWNoZW5kIj09PXQudHlwZSYmdGhpcy5fc3RhcnRQb3M9PT10aGlzLl9sYXN0UG9zJiZEYXRlLm5vdygpLXRoaXMuX3N0YXJ0VGltZTwzMDAmJnRoaXMuX2VsLmNsaWNrKCksci5tb3VzZUJ1dHRvbih0KT09PXRoaXMuX2V2ZW50QnV0dG9uKXN3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJlbmFibGVkIixyLnN1cHByZXNzQ2xpY2soKSx0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5faW5lcnRpYWxSb3RhdGUodCk7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCl9fSx4bi5wcm90b3R5cGUuX29uQmx1cj1mdW5jdGlvbih0KXtzd2l0Y2godGhpcy5fc3RhdGUpe2Nhc2UiYWN0aXZlIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCksdGhpcy5fZGVhY3RpdmF0ZSgpLHRoaXMuX2ZpcmVFdmVudCgicm90YXRlZW5kIix0KSx0aGlzLl9waXRjaFdpdGhSb3RhdGUmJnRoaXMuX2ZpcmVFdmVudCgicGl0Y2hlbmQiLHQpLHRoaXMuX2ZpcmVFdmVudCgibW92ZWVuZCIsdCk7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCl9fSx4bi5wcm90b3R5cGUuX3VuYmluZD1mdW5jdGlvbigpe3Qud2luZG93LmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApLHQud2luZG93LmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Nb3VzZVVwKSx0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXIpLHIuZW5hYmxlRHJhZygpfSx4bi5wcm90b3R5cGUuX2RlYWN0aXZhdGU9ZnVuY3Rpb24oKXt0aGlzLl9mcmFtZUlkJiYodGhpcy5fbWFwLl9jYW5jZWxSZW5kZXJGcmFtZSh0aGlzLl9mcmFtZUlkKSx0aGlzLl9mcmFtZUlkPW51bGwpLGRlbGV0ZSB0aGlzLl9sYXN0TW92ZUV2ZW50LGRlbGV0ZSB0aGlzLl9zdGFydFBvcyxkZWxldGUgdGhpcy5fcHJldlBvcyxkZWxldGUgdGhpcy5fbGFzdFBvc30seG4ucHJvdG90eXBlLl9pbmVydGlhbFJvdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2ZpcmVFdmVudCgicm90YXRlZW5kIix0KSx0aGlzLl9kcmFpbkluZXJ0aWFCdWZmZXIoKTt2YXIgcj10aGlzLl9tYXAsbj1yLmdldEJlYXJpbmcoKSxhPXRoaXMuX2luZXJ0aWEsaT1mdW5jdGlvbigpe01hdGguYWJzKG4pPGUuX2JlYXJpbmdTbmFwP3IucmVzZXROb3J0aCh7bm9Nb3ZlU3RhcnQ6ITB9LHtvcmlnaW5hbEV2ZW50OnR9KTplLl9maXJlRXZlbnQoIm1vdmVlbmQiLHQpLGUuX3BpdGNoV2l0aFJvdGF0ZSYmZS5fZmlyZUV2ZW50KCJwaXRjaGVuZCIsdCl9O2lmKGEubGVuZ3RoPDIpaSgpO2Vsc2V7dmFyIG89YVswXSxzPWFbYS5sZW5ndGgtMV0sbD1hW2EubGVuZ3RoLTJdLGM9ci5fbm9ybWFsaXplQmVhcmluZyhuLGxbMV0pLHU9c1sxXS1vWzFdLGg9dTwwPy0xOjEsZj0oc1swXS1vWzBdKS8xZTM7aWYoMCE9PXUmJjAhPT1mKXt2YXIgcD1NYXRoLmFicyh1KiguMjUvZikpO3A+MTgwJiYocD0xODApO3ZhciBkPXAvMTgwO2MrPWgqcCooZC8yKSxNYXRoLmFicyhyLl9ub3JtYWxpemVCZWFyaW5nKGMsMCkpPHRoaXMuX2JlYXJpbmdTbmFwJiYoYz1yLl9ub3JtYWxpemVCZWFyaW5nKDAsYykpLHIucm90YXRlVG8oYyx7ZHVyYXRpb246MWUzKmQsZWFzaW5nOnluLG5vTW92ZVN0YXJ0OiEwfSx7b3JpZ2luYWxFdmVudDp0fSl9ZWxzZSBpKCl9fSx4bi5wcm90b3R5cGUuX2ZpcmVFdmVudD1mdW5jdGlvbihlLHIpe3JldHVybiB0aGlzLl9tYXAuZmlyZShuZXcgdC5FdmVudChlLHI/e29yaWdpbmFsRXZlbnQ6cn06e30pKX0seG4ucHJvdG90eXBlLl9kcmFpbkluZXJ0aWFCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5faW5lcnRpYSxyPXQuYnJvd3Nlci5ub3coKTtlLmxlbmd0aD4wJiZyLWVbMF1bMF0+MTYwOyllLnNoaWZ0KCl9O3ZhciBibj10LmJlemllcigwLDAsLjMsMSksX249ZnVuY3Rpb24oZSxyKXt0aGlzLl9tYXA9ZSx0aGlzLl9lbD1lLmdldENhbnZhc0NvbnRhaW5lcigpLHRoaXMuX3N0YXRlPSJkaXNhYmxlZCIsdGhpcy5fY2xpY2tUb2xlcmFuY2U9ci5jbGlja1RvbGVyYW5jZXx8MSx0LmJpbmRBbGwoWyJfb25Nb3ZlIiwiX29uTW91c2VVcCIsIl9vblRvdWNoRW5kIiwiX29uQmx1ciIsIl9vbkRyYWdGcmFtZSJdLHRoaXMpfTtfbi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuImRpc2FibGVkIiE9PXRoaXMuX3N0YXRlfSxfbi5wcm90b3R5cGUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4iYWN0aXZlIj09PXRoaXMuX3N0YXRlfSxfbi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKXx8KHRoaXMuX2VsLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLXRvdWNoLWRyYWctcGFuIiksdGhpcy5fc3RhdGU9ImVuYWJsZWQiKX0sX24ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtpZih0aGlzLmlzRW5hYmxlZCgpKXN3aXRjaCh0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC10b3VjaC1kcmFnLXBhbiIpLHRoaXMuX3N0YXRlKXtjYXNlImFjdGl2ZSI6dGhpcy5fc3RhdGU9ImRpc2FibGVkIix0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5fZmlyZUV2ZW50KCJkcmFnZW5kIiksdGhpcy5fZmlyZUV2ZW50KCJtb3ZlZW5kIik7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZGlzYWJsZWQiLHRoaXMuX3VuYmluZCgpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fc3RhdGU9ImRpc2FibGVkIn19LF9uLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbihlKXsiZW5hYmxlZCI9PT10aGlzLl9zdGF0ZSYmKGUuY3RybEtleXx8MCE9PXIubW91c2VCdXR0b24oZSl8fChyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwfSksci5hZGRFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApLHRoaXMuX3N0YXJ0KGUpKSl9LF9uLnByb3RvdHlwZS5vblRvdWNoU3RhcnQ9ZnVuY3Rpb24oZSl7ImVuYWJsZWQiPT09dGhpcy5fc3RhdGUmJihlLnRvdWNoZXMubGVuZ3RoPjF8fChyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITF9KSxyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRW5kKSx0aGlzLl9zdGFydChlKSkpfSxfbi5wcm90b3R5cGUuX3N0YXJ0PWZ1bmN0aW9uKGUpe3Qud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX29uQmx1ciksdGhpcy5fc3RhdGU9InBlbmRpbmciLHRoaXMuX3N0YXJ0UG9zPXRoaXMuX21vdXNlRG93blBvcz10aGlzLl9wcmV2UG9zPXRoaXMuX2xhc3RQb3M9ci5tb3VzZVBvcyh0aGlzLl9lbCxlKSx0aGlzLl9pbmVydGlhPVtbdC5icm93c2VyLm5vdygpLHRoaXMuX3N0YXJ0UG9zXV19LF9uLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbj1yLm1vdXNlUG9zKHRoaXMuX2VsLGUpO3RoaXMuX2xhc3RQb3MuZXF1YWxzKG4pfHwicGVuZGluZyI9PT10aGlzLl9zdGF0ZSYmbi5kaXN0KHRoaXMuX21vdXNlRG93blBvcyk8dGhpcy5fY2xpY2tUb2xlcmFuY2V8fCh0aGlzLl9sYXN0TW92ZUV2ZW50PWUsdGhpcy5fbGFzdFBvcz1uLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpLHRoaXMuX2luZXJ0aWEucHVzaChbdC5icm93c2VyLm5vdygpLHRoaXMuX2xhc3RQb3NdKSwicGVuZGluZyI9PT10aGlzLl9zdGF0ZSYmKHRoaXMuX3N0YXRlPSJhY3RpdmUiLHRoaXMuX2ZpcmVFdmVudCgiZHJhZ3N0YXJ0IixlKSx0aGlzLl9maXJlRXZlbnQoIm1vdmVzdGFydCIsZSkpLHRoaXMuX2ZyYW1lSWR8fCh0aGlzLl9mcmFtZUlkPXRoaXMuX21hcC5fcmVxdWVzdFJlbmRlckZyYW1lKHRoaXMuX29uRHJhZ0ZyYW1lKSkpfSxfbi5wcm90b3R5cGUuX29uRHJhZ0ZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5fZnJhbWVJZD1udWxsO3ZhciB0PXRoaXMuX2xhc3RNb3ZlRXZlbnQ7aWYodCl7dmFyIGU9dGhpcy5fbWFwLnRyYW5zZm9ybTtlLnNldExvY2F0aW9uQXRQb2ludChlLnBvaW50TG9jYXRpb24odGhpcy5fcHJldlBvcyksdGhpcy5fbGFzdFBvcyksdGhpcy5fZmlyZUV2ZW50KCJkcmFnIix0KSx0aGlzLl9maXJlRXZlbnQoIm1vdmUiLHQpLHRoaXMuX3ByZXZQb3M9dGhpcy5fbGFzdFBvcyxkZWxldGUgdGhpcy5fbGFzdE1vdmVFdmVudH19LF9uLnByb3RvdHlwZS5fb25Nb3VzZVVwPWZ1bmN0aW9uKHQpe2lmKDA9PT1yLm1vdXNlQnV0dG9uKHQpKXN3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJlbmFibGVkIixyLnN1cHByZXNzQ2xpY2soKSx0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5faW5lcnRpYWxQYW4odCk7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCl9fSxfbi5wcm90b3R5cGUuX29uVG91Y2hFbmQ9ZnVuY3Rpb24odCl7c3dpdGNoKHRoaXMuX3N0YXRlKXtjYXNlImFjdGl2ZSI6dGhpcy5fc3RhdGU9ImVuYWJsZWQiLHRoaXMuX3VuYmluZCgpLHRoaXMuX2RlYWN0aXZhdGUoKSx0aGlzLl9pbmVydGlhbFBhbih0KTticmVhaztjYXNlInBlbmRpbmciOnRoaXMuX3N0YXRlPSJlbmFibGVkIix0aGlzLl91bmJpbmQoKX19LF9uLnByb3RvdHlwZS5fb25CbHVyPWZ1bmN0aW9uKHQpe3N3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJlbmFibGVkIix0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5fZmlyZUV2ZW50KCJkcmFnZW5kIix0KSx0aGlzLl9maXJlRXZlbnQoIm1vdmVlbmQiLHQpO2JyZWFrO2Nhc2UicGVuZGluZyI6dGhpcy5fc3RhdGU9ImVuYWJsZWQiLHRoaXMuX3VuYmluZCgpfX0sX24ucHJvdG90eXBlLl91bmJpbmQ9ZnVuY3Rpb24oKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITF9KSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRW5kKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwfSksci5yZW1vdmVFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LndpbmRvdywiYmx1ciIsdGhpcy5fb25CbHVyKX0sX24ucHJvdG90eXBlLl9kZWFjdGl2YXRlPWZ1bmN0aW9uKCl7dGhpcy5fZnJhbWVJZCYmKHRoaXMuX21hcC5fY2FuY2VsUmVuZGVyRnJhbWUodGhpcy5fZnJhbWVJZCksdGhpcy5fZnJhbWVJZD1udWxsKSxkZWxldGUgdGhpcy5fbGFzdE1vdmVFdmVudCxkZWxldGUgdGhpcy5fc3RhcnRQb3MsZGVsZXRlIHRoaXMuX3ByZXZQb3MsZGVsZXRlIHRoaXMuX21vdXNlRG93blBvcyxkZWxldGUgdGhpcy5fbGFzdFBvc30sX24ucHJvdG90eXBlLl9pbmVydGlhbFBhbj1mdW5jdGlvbih0KXt0aGlzLl9maXJlRXZlbnQoImRyYWdlbmQiLHQpLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpO3ZhciBlPXRoaXMuX2luZXJ0aWE7aWYoZS5sZW5ndGg8Mil0aGlzLl9maXJlRXZlbnQoIm1vdmVlbmQiLHQpO2Vsc2V7dmFyIHI9ZVtlLmxlbmd0aC0xXSxuPWVbMF0sYT1yWzFdLnN1YihuWzFdKSxpPShyWzBdLW5bMF0pLzFlMztpZigwPT09aXx8clsxXS5lcXVhbHMoblsxXSkpdGhpcy5fZmlyZUV2ZW50KCJtb3ZlZW5kIix0KTtlbHNle3ZhciBvPWEubXVsdCguMy9pKSxzPW8ubWFnKCk7cz4xNDAwJiYocz0xNDAwLG8uX3VuaXQoKS5fbXVsdChzKSk7dmFyIGw9cy83NTAsYz1vLm11bHQoLWwvMik7dGhpcy5fbWFwLnBhbkJ5KGMse2R1cmF0aW9uOjFlMypsLGVhc2luZzpibixub01vdmVTdGFydDohMH0se29yaWdpbmFsRXZlbnQ6dH0pfX19LF9uLnByb3RvdHlwZS5fZmlyZUV2ZW50PWZ1bmN0aW9uKGUscil7cmV0dXJuIHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KGUscj97b3JpZ2luYWxFdmVudDpyfTp7fSkpfSxfbi5wcm90b3R5cGUuX2RyYWluSW5lcnRpYUJ1ZmZlcj1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLl9pbmVydGlhLHI9dC5icm93c2VyLm5vdygpO2UubGVuZ3RoPjAmJnItZVswXVswXT4xNjA7KWUuc2hpZnQoKX07dmFyIHduPWZ1bmN0aW9uKGUpe3RoaXMuX21hcD1lLHRoaXMuX2VsPWUuZ2V0Q2FudmFzQ29udGFpbmVyKCksdC5iaW5kQWxsKFsiX29uS2V5RG93biJdLHRoaXMpfTtmdW5jdGlvbiBrbih0KXtyZXR1cm4gdCooMi10KX13bi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfSx3bi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKXx8KHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uS2V5RG93biwhMSksdGhpcy5fZW5hYmxlZD0hMCl9LHduLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKSYmKHRoaXMuX2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uS2V5RG93biksdGhpcy5fZW5hYmxlZD0hMSl9LHduLnByb3RvdHlwZS5fb25LZXlEb3duPWZ1bmN0aW9uKHQpe2lmKCEodC5hbHRLZXl8fHQuY3RybEtleXx8dC5tZXRhS2V5KSl7dmFyIGU9MCxyPTAsbj0wLGE9MCxpPTA7c3dpdGNoKHQua2V5Q29kZSl7Y2FzZSA2MTpjYXNlIDEwNzpjYXNlIDE3MTpjYXNlIDE4NzplPTE7YnJlYWs7Y2FzZSAxODk6Y2FzZSAxMDk6Y2FzZSAxNzM6ZT0tMTticmVhaztjYXNlIDM3OnQuc2hpZnRLZXk/cj0tMToodC5wcmV2ZW50RGVmYXVsdCgpLGE9LTEpO2JyZWFrO2Nhc2UgMzk6dC5zaGlmdEtleT9yPTE6KHQucHJldmVudERlZmF1bHQoKSxhPTEpO2JyZWFrO2Nhc2UgMzg6dC5zaGlmdEtleT9uPTE6KHQucHJldmVudERlZmF1bHQoKSxpPS0xKTticmVhaztjYXNlIDQwOnQuc2hpZnRLZXk/bj0tMTooaT0xLHQucHJldmVudERlZmF1bHQoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59dmFyIG89dGhpcy5fbWFwLHM9by5nZXRab29tKCksbD17ZHVyYXRpb246MzAwLGRlbGF5RW5kRXZlbnRzOjUwMCxlYXNpbmc6a24sem9vbTplP01hdGgucm91bmQocykrZSoodC5zaGlmdEtleT8yOjEpOnMsYmVhcmluZzpvLmdldEJlYXJpbmcoKSsxNSpyLHBpdGNoOm8uZ2V0UGl0Y2goKSsxMCpuLG9mZnNldDpbMTAwKi1hLDEwMCotaV0sY2VudGVyOm8uZ2V0Q2VudGVyKCl9O28uZWFzZVRvKGwse29yaWdpbmFsRXZlbnQ6dH0pfX07dmFyIFRuPWZ1bmN0aW9uKGUpe3RoaXMuX21hcD1lLHQuYmluZEFsbChbIl9vbkRibENsaWNrIiwiX29uWm9vbUVuZCJdLHRoaXMpfTtUbi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfSxUbi5wcm90b3R5cGUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX2FjdGl2ZX0sVG4ucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuaXNFbmFibGVkKCl8fCh0aGlzLl9lbmFibGVkPSEwKX0sVG4ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLmlzRW5hYmxlZCgpJiYodGhpcy5fZW5hYmxlZD0hMSl9LFRuLnByb3RvdHlwZS5vblRvdWNoU3RhcnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0aGlzLmlzRW5hYmxlZCgpJiYhKHQucG9pbnRzLmxlbmd0aD4xKSlpZih0aGlzLl90YXBwZWQpe3ZhciByPXQucG9pbnRzWzBdLG49dGhpcy5fdGFwcGVkUG9pbnQ7aWYobiYmbi5kaXN0KHIpPD0zMCl7dC5vcmlnaW5hbEV2ZW50LnByZXZlbnREZWZhdWx0KCk7dmFyIGE9ZnVuY3Rpb24oKXtlLl90YXBwZWQmJmUuX3pvb20odCksZS5fbWFwLm9mZigidG91Y2hjYW5jZWwiLGkpLGUuX3Jlc2V0VGFwcGVkKCl9LGk9ZnVuY3Rpb24oKXtlLl9tYXAub2ZmKCJ0b3VjaGVuZCIsYSksZS5fcmVzZXRUYXBwZWQoKX07dGhpcy5fbWFwLm9uY2UoInRvdWNoZW5kIixhKSx0aGlzLl9tYXAub25jZSgidG91Y2hjYW5jZWwiLGkpfWVsc2UgdGhpcy5fcmVzZXRUYXBwZWQoKX1lbHNlIHRoaXMuX3RhcHBlZFBvaW50PXQucG9pbnRzWzBdLHRoaXMuX3RhcHBlZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fdGFwcGVkPW51bGwsZS5fdGFwcGVkUG9pbnQ9bnVsbH0sMzAwKX0sVG4ucHJvdG90eXBlLl9yZXNldFRhcHBlZD1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLl90YXBwZWQpLHRoaXMuX3RhcHBlZD1udWxsLHRoaXMuX3RhcHBlZFBvaW50PW51bGx9LFRuLnByb3RvdHlwZS5vbkRibENsaWNrPWZ1bmN0aW9uKHQpe3RoaXMuaXNFbmFibGVkKCkmJih0Lm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKSx0aGlzLl96b29tKHQpKX0sVG4ucHJvdG90eXBlLl96b29tPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMCx0aGlzLl9tYXAub24oInpvb21lbmQiLHRoaXMuX29uWm9vbUVuZCksdGhpcy5fbWFwLnpvb21Ubyh0aGlzLl9tYXAuZ2V0Wm9vbSgpKyh0Lm9yaWdpbmFsRXZlbnQuc2hpZnRLZXk/LTE6MSkse2Fyb3VuZDp0LmxuZ0xhdH0sdCl9LFRuLnByb3RvdHlwZS5fb25ab29tRW5kPWZ1bmN0aW9uKCl7dGhpcy5fYWN0aXZlPSExLHRoaXMuX21hcC5vZmYoInpvb21lbmQiLHRoaXMuX29uWm9vbUVuZCl9O3ZhciBNbj10LmJlemllcigwLDAsLjE1LDEpLEFuPWZ1bmN0aW9uKGUpe3RoaXMuX21hcD1lLHRoaXMuX2VsPWUuZ2V0Q2FudmFzQ29udGFpbmVyKCksdC5iaW5kQWxsKFsiX29uTW92ZSIsIl9vbkVuZCIsIl9vblRvdWNoRnJhbWUiXSx0aGlzKX07QW4ucHJvdG90eXBlLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fZW5hYmxlZH0sQW4ucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbih0KXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtdG91Y2gtem9vbS1yb3RhdGUiKSx0aGlzLl9lbmFibGVkPSEwLHRoaXMuX2Fyb3VuZENlbnRlcj0hIXQmJiJjZW50ZXIiPT09dC5hcm91bmQpfSxBbi5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuaXNFbmFibGVkKCkmJih0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC10b3VjaC16b29tLXJvdGF0ZSIpLHRoaXMuX2VuYWJsZWQ9ITEpfSxBbi5wcm90b3R5cGUuZGlzYWJsZVJvdGF0aW9uPWZ1bmN0aW9uKCl7dGhpcy5fcm90YXRpb25EaXNhYmxlZD0hMH0sQW4ucHJvdG90eXBlLmVuYWJsZVJvdGF0aW9uPWZ1bmN0aW9uKCl7dGhpcy5fcm90YXRpb25EaXNhYmxlZD0hMX0sQW4ucHJvdG90eXBlLm9uU3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5pc0VuYWJsZWQoKSYmMj09PWUudG91Y2hlcy5sZW5ndGgpe3ZhciBuPXIubW91c2VQb3ModGhpcy5fZWwsZS50b3VjaGVzWzBdKSxhPXIubW91c2VQb3ModGhpcy5fZWwsZS50b3VjaGVzWzFdKSxpPW4uYWRkKGEpLmRpdigyKTt0aGlzLl9zdGFydFZlYz1uLnN1YihhKSx0aGlzLl9zdGFydEFyb3VuZD10aGlzLl9tYXAudHJhbnNmb3JtLnBvaW50TG9jYXRpb24oaSksdGhpcy5fZ2VzdHVyZUludGVudD12b2lkIDAsdGhpcy5faW5lcnRpYT1bXSxyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtwYXNzaXZlOiExfSksci5hZGRFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJ0b3VjaGVuZCIsdGhpcy5fb25FbmQpfX0sQW4ucHJvdG90eXBlLl9nZXRUb3VjaEV2ZW50RGF0YT1mdW5jdGlvbih0KXt2YXIgZT1yLm1vdXNlUG9zKHRoaXMuX2VsLHQudG91Y2hlc1swXSksbj1yLm1vdXNlUG9zKHRoaXMuX2VsLHQudG91Y2hlc1sxXSksYT1lLnN1YihuKTtyZXR1cm57dmVjOmEsY2VudGVyOmUuYWRkKG4pLmRpdigyKSxzY2FsZTphLm1hZygpL3RoaXMuX3N0YXJ0VmVjLm1hZygpLGJlYXJpbmc6dGhpcy5fcm90YXRpb25EaXNhYmxlZD8wOjE4MCphLmFuZ2xlV2l0aCh0aGlzLl9zdGFydFZlYykvTWF0aC5QSX19LEFuLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKGUpe2lmKDI9PT1lLnRvdWNoZXMubGVuZ3RoKXt2YXIgcj10aGlzLl9nZXRUb3VjaEV2ZW50RGF0YShlKSxuPXIudmVjLGE9ci5zY2FsZSxpPXIuYmVhcmluZztpZighdGhpcy5fZ2VzdHVyZUludGVudCl7dmFyIG89dGhpcy5fcm90YXRpb25EaXNhYmxlZCYmMSE9PWF8fE1hdGguYWJzKDEtYSk+LjE1O01hdGguYWJzKGkpPjEwP3RoaXMuX2dlc3R1cmVJbnRlbnQ9InJvdGF0ZSI6byYmKHRoaXMuX2dlc3R1cmVJbnRlbnQ9Inpvb20iKSx0aGlzLl9nZXN0dXJlSW50ZW50JiYodGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQodGhpcy5fZ2VzdHVyZUludGVudCsic3RhcnQiLHtvcmlnaW5hbEV2ZW50OmV9KSksdGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQoIm1vdmVzdGFydCIse29yaWdpbmFsRXZlbnQ6ZX0pKSx0aGlzLl9zdGFydFZlYz1uKX10aGlzLl9sYXN0VG91Y2hFdmVudD1lLHRoaXMuX2ZyYW1lSWR8fCh0aGlzLl9mcmFtZUlkPXRoaXMuX21hcC5fcmVxdWVzdFJlbmRlckZyYW1lKHRoaXMuX29uVG91Y2hGcmFtZSkpLGUucHJldmVudERlZmF1bHQoKX19LEFuLnByb3RvdHlwZS5fb25Ub3VjaEZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5fZnJhbWVJZD1udWxsO3ZhciBlPXRoaXMuX2dlc3R1cmVJbnRlbnQ7aWYoZSl7dmFyIHI9dGhpcy5fbWFwLnRyYW5zZm9ybTt0aGlzLl9zdGFydFNjYWxlfHwodGhpcy5fc3RhcnRTY2FsZT1yLnNjYWxlLHRoaXMuX3N0YXJ0QmVhcmluZz1yLmJlYXJpbmcpO3ZhciBuPXRoaXMuX2dldFRvdWNoRXZlbnREYXRhKHRoaXMuX2xhc3RUb3VjaEV2ZW50KSxhPW4uY2VudGVyLGk9bi5iZWFyaW5nLG89bi5zY2FsZSxzPXIucG9pbnRMb2NhdGlvbihhKSxsPXIubG9jYXRpb25Qb2ludChzKTsicm90YXRlIj09PWUmJihyLmJlYXJpbmc9dGhpcy5fc3RhcnRCZWFyaW5nK2kpLHIuem9vbT1yLnNjYWxlWm9vbSh0aGlzLl9zdGFydFNjYWxlKm8pLHIuc2V0TG9jYXRpb25BdFBvaW50KHRoaXMuX3N0YXJ0QXJvdW5kLGwpLHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KGUse29yaWdpbmFsRXZlbnQ6dGhpcy5fbGFzdFRvdWNoRXZlbnR9KSksdGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQoIm1vdmUiLHtvcmlnaW5hbEV2ZW50OnRoaXMuX2xhc3RUb3VjaEV2ZW50fSkpLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpLHRoaXMuX2luZXJ0aWEucHVzaChbdC5icm93c2VyLm5vdygpLG8sYV0pfX0sQW4ucHJvdG90eXBlLl9vbkVuZD1mdW5jdGlvbihlKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtwYXNzaXZlOiExfSksci5yZW1vdmVFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJ0b3VjaGVuZCIsdGhpcy5fb25FbmQpO3ZhciBuPXRoaXMuX2dlc3R1cmVJbnRlbnQsYT10aGlzLl9zdGFydFNjYWxlO2lmKHRoaXMuX2ZyYW1lSWQmJih0aGlzLl9tYXAuX2NhbmNlbFJlbmRlckZyYW1lKHRoaXMuX2ZyYW1lSWQpLHRoaXMuX2ZyYW1lSWQ9bnVsbCksZGVsZXRlIHRoaXMuX2dlc3R1cmVJbnRlbnQsZGVsZXRlIHRoaXMuX3N0YXJ0U2NhbGUsZGVsZXRlIHRoaXMuX3N0YXJ0QmVhcmluZyxkZWxldGUgdGhpcy5fbGFzdFRvdWNoRXZlbnQsbil7dGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQobisiZW5kIix7b3JpZ2luYWxFdmVudDplfSkpLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpO3ZhciBpPXRoaXMuX2luZXJ0aWEsbz10aGlzLl9tYXA7aWYoaS5sZW5ndGg8MilvLnNuYXBUb05vcnRoKHt9LHtvcmlnaW5hbEV2ZW50OmV9KTtlbHNle3ZhciBzPWlbaS5sZW5ndGgtMV0sbD1pWzBdLGM9by50cmFuc2Zvcm0uc2NhbGVab29tKGEqc1sxXSksdT1vLnRyYW5zZm9ybS5zY2FsZVpvb20oYSpsWzFdKSxoPWMtdSxmPShzWzBdLWxbMF0pLzFlMyxwPXNbMl07aWYoMCE9PWYmJmMhPT11KXt2YXIgZD0uMTUqaC9mO01hdGguYWJzKGQpPjIuNSYmKGQ9ZD4wPzIuNTotMi41KTt2YXIgZz0xZTMqTWF0aC5hYnMoZC8oMTIqLjE1KSksdj1jK2QqZy8yZTM7djwwJiYodj0wKSxvLmVhc2VUbyh7em9vbTp2LGR1cmF0aW9uOmcsZWFzaW5nOk1uLGFyb3VuZDp0aGlzLl9hcm91bmRDZW50ZXI/by5nZXRDZW50ZXIoKTpvLnVucHJvamVjdChwKSxub01vdmVTdGFydDohMH0se29yaWdpbmFsRXZlbnQ6ZX0pfWVsc2Ugby5zbmFwVG9Ob3J0aCh7fSx7b3JpZ2luYWxFdmVudDplfSl9fX0sQW4ucHJvdG90eXBlLl9kcmFpbkluZXJ0aWFCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5faW5lcnRpYSxyPXQuYnJvd3Nlci5ub3coKTtlLmxlbmd0aD4yJiZyLWVbMF1bMF0+MTYwOyllLnNoaWZ0KCl9O3ZhciBTbj17c2Nyb2xsWm9vbTp2bixib3hab29tOm1uLGRyYWdSb3RhdGU6eG4sZHJhZ1BhbjpfbixrZXlib2FyZDp3bixkb3VibGVDbGlja1pvb206VG4sdG91Y2hab29tUm90YXRlOkFufSxFbj1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHIsbil7ZS5jYWxsKHRoaXMpLHRoaXMuX21vdmluZz0hMSx0aGlzLl96b29taW5nPSExLHRoaXMudHJhbnNmb3JtPXIsdGhpcy5fYmVhcmluZ1NuYXA9bi5iZWFyaW5nU25hcCx0LmJpbmRBbGwoWyJfcmVuZGVyRnJhbWVDYWxsYmFjayJdLHRoaXMpfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5nZXRDZW50ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHQuTG5nTGF0KHRoaXMudHJhbnNmb3JtLmNlbnRlci5sbmcsdGhpcy50cmFuc2Zvcm0uY2VudGVyLmxhdCl9LHIucHJvdG90eXBlLnNldENlbnRlcj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmp1bXBUbyh7Y2VudGVyOnR9LGUpfSxyLnByb3RvdHlwZS5wYW5CeT1mdW5jdGlvbihlLHIsbil7cmV0dXJuIGU9dC5Qb2ludC5jb252ZXJ0KGUpLm11bHQoLTEpLHRoaXMucGFuVG8odGhpcy50cmFuc2Zvcm0uY2VudGVyLHQuZXh0ZW5kKHtvZmZzZXQ6ZX0sciksbil9LHIucHJvdG90eXBlLnBhblRvPWZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdGhpcy5lYXNlVG8odC5leHRlbmQoe2NlbnRlcjplfSxyKSxuKX0sci5wcm90b3R5cGUuZ2V0Wm9vbT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybS56b29tfSxyLnByb3RvdHlwZS5zZXRab29tPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuanVtcFRvKHt6b29tOnR9LGUpLHRoaXN9LHIucHJvdG90eXBlLnpvb21Ubz1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHRoaXMuZWFzZVRvKHQuZXh0ZW5kKHt6b29tOmV9LHIpLG4pfSxyLnByb3RvdHlwZS56b29tSW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy56b29tVG8odGhpcy5nZXRab29tKCkrMSx0LGUpLHRoaXN9LHIucHJvdG90eXBlLnpvb21PdXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy56b29tVG8odGhpcy5nZXRab29tKCktMSx0LGUpLHRoaXN9LHIucHJvdG90eXBlLmdldEJlYXJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0uYmVhcmluZ30sci5wcm90b3R5cGUuc2V0QmVhcmluZz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmp1bXBUbyh7YmVhcmluZzp0fSxlKSx0aGlzfSxyLnByb3RvdHlwZS5yb3RhdGVUbz1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHRoaXMuZWFzZVRvKHQuZXh0ZW5kKHtiZWFyaW5nOmV9LHIpLG4pfSxyLnByb3RvdHlwZS5yZXNldE5vcnRoPWZ1bmN0aW9uKGUscil7cmV0dXJuIHRoaXMucm90YXRlVG8oMCx0LmV4dGVuZCh7ZHVyYXRpb246MWUzfSxlKSxyKSx0aGlzfSxyLnByb3RvdHlwZS5yZXNldE5vcnRoUGl0Y2g9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdGhpcy5lYXNlVG8odC5leHRlbmQoe2JlYXJpbmc6MCxwaXRjaDowLGR1cmF0aW9uOjFlM30sZSksciksdGhpc30sci5wcm90b3R5cGUuc25hcFRvTm9ydGg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5hYnModGhpcy5nZXRCZWFyaW5nKCkpPHRoaXMuX2JlYXJpbmdTbmFwP3RoaXMucmVzZXROb3J0aCh0LGUpOnRoaXN9LHIucHJvdG90eXBlLmdldFBpdGNoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLnBpdGNofSxyLnByb3RvdHlwZS5zZXRQaXRjaD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmp1bXBUbyh7cGl0Y2g6dH0sZSksdGhpc30sci5wcm90b3R5cGUuY2FtZXJhRm9yQm91bmRzPWZ1bmN0aW9uKGUscil7cmV0dXJuIGU9dC5MbmdMYXRCb3VuZHMuY29udmVydChlKSx0aGlzLl9jYW1lcmFGb3JCb3hBbmRCZWFyaW5nKGUuZ2V0Tm9ydGhXZXN0KCksZS5nZXRTb3V0aEVhc3QoKSwwLHIpfSxyLnByb3RvdHlwZS5fY2FtZXJhRm9yQm94QW5kQmVhcmluZz1mdW5jdGlvbihlLHIsbixhKXtpZigibnVtYmVyIj09dHlwZW9mKGE9dC5leHRlbmQoe3BhZGRpbmc6e3RvcDowLGJvdHRvbTowLHJpZ2h0OjAsbGVmdDowfSxvZmZzZXQ6WzAsMF0sbWF4Wm9vbTp0aGlzLnRyYW5zZm9ybS5tYXhab29tfSxhKSkucGFkZGluZyl7dmFyIGk9YS5wYWRkaW5nO2EucGFkZGluZz17dG9wOmksYm90dG9tOmkscmlnaHQ6aSxsZWZ0Oml9fWlmKHQuZGVlcEVxdWFsKE9iamVjdC5rZXlzKGEucGFkZGluZykuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6MH0pLFsiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wIl0pKXt2YXIgbz10aGlzLnRyYW5zZm9ybSxzPW8ucHJvamVjdCh0LkxuZ0xhdC5jb252ZXJ0KGUpKSxsPW8ucHJvamVjdCh0LkxuZ0xhdC5jb252ZXJ0KHIpKSxjPXMucm90YXRlKC1uKk1hdGguUEkvMTgwKSx1PWwucm90YXRlKC1uKk1hdGguUEkvMTgwKSxoPW5ldyB0LlBvaW50KE1hdGgubWF4KGMueCx1LngpLE1hdGgubWF4KGMueSx1LnkpKSxmPW5ldyB0LlBvaW50KE1hdGgubWluKGMueCx1LngpLE1hdGgubWluKGMueSx1LnkpKSxwPWguc3ViKGYpLGQ9KG8ud2lkdGgtYS5wYWRkaW5nLmxlZnQtYS5wYWRkaW5nLnJpZ2h0KS9wLngsZz0oby5oZWlnaHQtYS5wYWRkaW5nLnRvcC1hLnBhZGRpbmcuYm90dG9tKS9wLnk7aWYoIShnPDB8fGQ8MCkpe3ZhciB2PU1hdGgubWluKG8uc2NhbGVab29tKG8uc2NhbGUqTWF0aC5taW4oZCxnKSksYS5tYXhab29tKSxtPXQuUG9pbnQuY29udmVydChhLm9mZnNldCkseT0oYS5wYWRkaW5nLmxlZnQtYS5wYWRkaW5nLnJpZ2h0KS8yLHg9KGEucGFkZGluZy50b3AtYS5wYWRkaW5nLmJvdHRvbSkvMixiPW5ldyB0LlBvaW50KG0ueCt5LG0ueSt4KS5tdWx0KG8uc2NhbGUvby56b29tU2NhbGUodikpO3JldHVybntjZW50ZXI6by51bnByb2plY3Qocy5hZGQobCkuZGl2KDIpLnN1YihiKSksem9vbTp2LGJlYXJpbmc6bn19dC53YXJuT25jZSgiTWFwIGNhbm5vdCBmaXQgd2l0aGluIGNhbnZhcyB3aXRoIHRoZSBnaXZlbiBib3VuZHMsIHBhZGRpbmcsIGFuZC9vciBvZmZzZXQuIil9ZWxzZSB0Lndhcm5PbmNlKCJvcHRpb25zLnBhZGRpbmcgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciwgb3IgYW4gT2JqZWN0IHdpdGgga2V5cyAnYm90dG9tJywgJ2xlZnQnLCAncmlnaHQnLCAndG9wJyIpfSxyLnByb3RvdHlwZS5maXRCb3VuZHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl9maXRJbnRlcm5hbCh0aGlzLmNhbWVyYUZvckJvdW5kcyh0LGUpLGUscil9LHIucHJvdG90eXBlLmZpdFNjcmVlbkNvb3JkaW5hdGVzPWZ1bmN0aW9uKGUscixuLGEsaSl7cmV0dXJuIHRoaXMuX2ZpdEludGVybmFsKHRoaXMuX2NhbWVyYUZvckJveEFuZEJlYXJpbmcodGhpcy50cmFuc2Zvcm0ucG9pbnRMb2NhdGlvbih0LlBvaW50LmNvbnZlcnQoZSkpLHRoaXMudHJhbnNmb3JtLnBvaW50TG9jYXRpb24odC5Qb2ludC5jb252ZXJ0KHIpKSxuLGEpLGEsaSl9LHIucHJvdG90eXBlLl9maXRJbnRlcm5hbD1mdW5jdGlvbihlLHIsbil7cmV0dXJuIGU/KHI9dC5leHRlbmQoZSxyKSkubGluZWFyP3RoaXMuZWFzZVRvKHIsbik6dGhpcy5mbHlUbyhyLG4pOnRoaXN9LHIucHJvdG90eXBlLmp1bXBUbz1mdW5jdGlvbihlLHIpe3RoaXMuc3RvcCgpO3ZhciBuPXRoaXMudHJhbnNmb3JtLGE9ITEsaT0hMSxvPSExO3JldHVybiJ6b29tImluIGUmJm4uem9vbSE9PStlLnpvb20mJihhPSEwLG4uem9vbT0rZS56b29tKSx2b2lkIDAhPT1lLmNlbnRlciYmKG4uY2VudGVyPXQuTG5nTGF0LmNvbnZlcnQoZS5jZW50ZXIpKSwiYmVhcmluZyJpbiBlJiZuLmJlYXJpbmchPT0rZS5iZWFyaW5nJiYoaT0hMCxuLmJlYXJpbmc9K2UuYmVhcmluZyksInBpdGNoImluIGUmJm4ucGl0Y2ghPT0rZS5waXRjaCYmKG89ITAsbi5waXRjaD0rZS5waXRjaCksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3Zlc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlIixyKSksYSYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJ6b29tc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJ6b29tIixyKSkuZmlyZShuZXcgdC5FdmVudCgiem9vbWVuZCIscikpLGkmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicm90YXRlc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJyb3RhdGUiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJyb3RhdGVlbmQiLHIpKSxvJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInBpdGNoc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJwaXRjaCIscikpLmZpcmUobmV3IHQuRXZlbnQoInBpdGNoZW5kIixyKSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlZW5kIixyKSl9LHIucHJvdG90eXBlLmVhc2VUbz1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXM7dGhpcy5zdG9wKCksKCExPT09KGU9dC5leHRlbmQoe29mZnNldDpbMCwwXSxkdXJhdGlvbjo1MDAsZWFzaW5nOnQuZWFzZX0sZSkpLmFuaW1hdGV8fHQuYnJvd3Nlci5wcmVmZXJzUmVkdWNlZE1vdGlvbikmJihlLmR1cmF0aW9uPTApO3ZhciBhPXRoaXMudHJhbnNmb3JtLGk9dGhpcy5nZXRab29tKCksbz10aGlzLmdldEJlYXJpbmcoKSxzPXRoaXMuZ2V0UGl0Y2goKSxsPSJ6b29tImluIGU/K2Uuem9vbTppLGM9ImJlYXJpbmciaW4gZT90aGlzLl9ub3JtYWxpemVCZWFyaW5nKGUuYmVhcmluZyxvKTpvLHU9InBpdGNoImluIGU/K2UucGl0Y2g6cyxoPWEuY2VudGVyUG9pbnQuYWRkKHQuUG9pbnQuY29udmVydChlLm9mZnNldCkpLGY9YS5wb2ludExvY2F0aW9uKGgpLHA9dC5MbmdMYXQuY29udmVydChlLmNlbnRlcnx8Zik7dGhpcy5fbm9ybWFsaXplQ2VudGVyKHApO3ZhciBkLGcsdj1hLnByb2plY3QoZiksbT1hLnByb2plY3QocCkuc3ViKHYpLHk9YS56b29tU2NhbGUobC1pKTtyZXR1cm4gZS5hcm91bmQmJihkPXQuTG5nTGF0LmNvbnZlcnQoZS5hcm91bmQpLGc9YS5sb2NhdGlvblBvaW50KGQpKSx0aGlzLl96b29taW5nPWwhPT1pLHRoaXMuX3JvdGF0aW5nPW8hPT1jLHRoaXMuX3BpdGNoaW5nPXUhPT1zLHRoaXMuX3ByZXBhcmVFYXNlKHIsZS5ub01vdmVTdGFydCksY2xlYXJUaW1lb3V0KHRoaXMuX2Vhc2VFbmRUaW1lb3V0SUQpLHRoaXMuX2Vhc2UoZnVuY3Rpb24oZSl7aWYobi5fem9vbWluZyYmKGEuem9vbT10Lm51bWJlcihpLGwsZSkpLG4uX3JvdGF0aW5nJiYoYS5iZWFyaW5nPXQubnVtYmVyKG8sYyxlKSksbi5fcGl0Y2hpbmcmJihhLnBpdGNoPXQubnVtYmVyKHMsdSxlKSksZClhLnNldExvY2F0aW9uQXRQb2ludChkLGcpO2Vsc2V7dmFyIGY9YS56b29tU2NhbGUoYS56b29tLWkpLHA9bD5pP01hdGgubWluKDIseSk6TWF0aC5tYXgoLjUseSkseD1NYXRoLnBvdyhwLDEtZSksYj1hLnVucHJvamVjdCh2LmFkZChtLm11bHQoZSp4KSkubXVsdChmKSk7YS5zZXRMb2NhdGlvbkF0UG9pbnQoYS5yZW5kZXJXb3JsZENvcGllcz9iLndyYXAoKTpiLGgpfW4uX2ZpcmVNb3ZlRXZlbnRzKHIpfSxmdW5jdGlvbigpe2UuZGVsYXlFbmRFdmVudHM/bi5fZWFzZUVuZFRpbWVvdXRJRD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2FmdGVyRWFzZShyKX0sZS5kZWxheUVuZEV2ZW50cyk6bi5fYWZ0ZXJFYXNlKHIpfSxlKSx0aGlzfSxyLnByb3RvdHlwZS5fcHJlcGFyZUVhc2U9ZnVuY3Rpb24oZSxyKXt0aGlzLl9tb3Zpbmc9ITAscnx8dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3Zlc3RhcnQiLGUpKSx0aGlzLl96b29taW5nJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInpvb21zdGFydCIsZSkpLHRoaXMuX3JvdGF0aW5nJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInJvdGF0ZXN0YXJ0IixlKSksdGhpcy5fcGl0Y2hpbmcmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicGl0Y2hzdGFydCIsZSkpfSxyLnByb3RvdHlwZS5fZmlyZU1vdmVFdmVudHM9ZnVuY3Rpb24oZSl7dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlIixlKSksdGhpcy5fem9vbWluZyYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJ6b29tIixlKSksdGhpcy5fcm90YXRpbmcmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicm90YXRlIixlKSksdGhpcy5fcGl0Y2hpbmcmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicGl0Y2giLGUpKX0sci5wcm90b3R5cGUuX2FmdGVyRWFzZT1mdW5jdGlvbihlKXt2YXIgcj10aGlzLl96b29taW5nLG49dGhpcy5fcm90YXRpbmcsYT10aGlzLl9waXRjaGluZzt0aGlzLl9tb3Zpbmc9ITEsdGhpcy5fem9vbWluZz0hMSx0aGlzLl9yb3RhdGluZz0hMSx0aGlzLl9waXRjaGluZz0hMSxyJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInpvb21lbmQiLGUpKSxuJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInJvdGF0ZWVuZCIsZSkpLGEmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicGl0Y2hlbmQiLGUpKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoIm1vdmVlbmQiLGUpKX0sci5wcm90b3R5cGUuZmx5VG89ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzO2lmKHQuYnJvd3Nlci5wcmVmZXJzUmVkdWNlZE1vdGlvbil7dmFyIGE9dC5waWNrKGUsWyJjZW50ZXIiLCJ6b29tIiwiYmVhcmluZyIsInBpdGNoIiwiYXJvdW5kIl0pO3JldHVybiB0aGlzLmp1bXBUbyhhLHIpfXRoaXMuc3RvcCgpLGU9dC5leHRlbmQoe29mZnNldDpbMCwwXSxzcGVlZDoxLjIsY3VydmU6MS40MixlYXNpbmc6dC5lYXNlfSxlKTt2YXIgaT10aGlzLnRyYW5zZm9ybSxvPXRoaXMuZ2V0Wm9vbSgpLHM9dGhpcy5nZXRCZWFyaW5nKCksbD10aGlzLmdldFBpdGNoKCksYz0iem9vbSJpbiBlP3QuY2xhbXAoK2Uuem9vbSxpLm1pblpvb20saS5tYXhab29tKTpvLHU9ImJlYXJpbmciaW4gZT90aGlzLl9ub3JtYWxpemVCZWFyaW5nKGUuYmVhcmluZyxzKTpzLGg9InBpdGNoImluIGU/K2UucGl0Y2g6bCxmPWkuem9vbVNjYWxlKGMtbykscD1pLmNlbnRlclBvaW50LmFkZCh0LlBvaW50LmNvbnZlcnQoZS5vZmZzZXQpKSxkPWkucG9pbnRMb2NhdGlvbihwKSxnPXQuTG5nTGF0LmNvbnZlcnQoZS5jZW50ZXJ8fGQpO3RoaXMuX25vcm1hbGl6ZUNlbnRlcihnKTt2YXIgdj1pLnByb2plY3QoZCksbT1pLnByb2plY3QoZykuc3ViKHYpLHk9ZS5jdXJ2ZSx4PU1hdGgubWF4KGkud2lkdGgsaS5oZWlnaHQpLGI9eC9mLF89bS5tYWcoKTtpZigibWluWm9vbSJpbiBlKXt2YXIgdz10LmNsYW1wKE1hdGgubWluKGUubWluWm9vbSxvLGMpLGkubWluWm9vbSxpLm1heFpvb20pLGs9eC9pLnpvb21TY2FsZSh3LW8pO3k9TWF0aC5zcXJ0KGsvXyoyKX12YXIgVD15Knk7ZnVuY3Rpb24gTSh0KXt2YXIgZT0oYipiLXgqeCsodD8tMToxKSpUKlQqXypfKS8oMioodD9iOngpKlQqXyk7cmV0dXJuIE1hdGgubG9nKE1hdGguc3FydChlKmUrMSktZSl9ZnVuY3Rpb24gQSh0KXtyZXR1cm4oTWF0aC5leHAodCktTWF0aC5leHAoLXQpKS8yfWZ1bmN0aW9uIFModCl7cmV0dXJuKE1hdGguZXhwKHQpK01hdGguZXhwKC10KSkvMn12YXIgRT1NKDApLEw9ZnVuY3Rpb24odCl7cmV0dXJuIFMoRSkvUyhFK3kqdCl9LEM9ZnVuY3Rpb24odCl7cmV0dXJuIHgqKChTKEUpKihBKGU9RSt5KnQpL1MoZSkpLUEoRSkpL1QpL187dmFyIGV9LFA9KE0oMSktRSkveTtpZihNYXRoLmFicyhfKTwxZS02fHwhaXNGaW5pdGUoUCkpe2lmKE1hdGguYWJzKHgtYik8MWUtNilyZXR1cm4gdGhpcy5lYXNlVG8oZSxyKTt2YXIgTz1iPHg/LTE6MTtQPU1hdGguYWJzKE1hdGgubG9nKGIveCkpL3ksQz1mdW5jdGlvbigpe3JldHVybiAwfSxMPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmV4cChPKnkqdCl9fWlmKCJkdXJhdGlvbiJpbiBlKWUuZHVyYXRpb249K2UuZHVyYXRpb247ZWxzZXt2YXIgej0ic2NyZWVuU3BlZWQiaW4gZT8rZS5zY3JlZW5TcGVlZC95OitlLnNwZWVkO2UuZHVyYXRpb249MWUzKlAven1yZXR1cm4gZS5tYXhEdXJhdGlvbiYmZS5kdXJhdGlvbj5lLm1heER1cmF0aW9uJiYoZS5kdXJhdGlvbj0wKSx0aGlzLl96b29taW5nPSEwLHRoaXMuX3JvdGF0aW5nPXMhPT11LHRoaXMuX3BpdGNoaW5nPWghPT1sLHRoaXMuX3ByZXBhcmVFYXNlKHIsITEpLHRoaXMuX2Vhc2UoZnVuY3Rpb24oZSl7dmFyIGE9ZSpQLGY9MS9MKGEpO2kuem9vbT0xPT09ZT9jOm8raS5zY2FsZVpvb20oZiksbi5fcm90YXRpbmcmJihpLmJlYXJpbmc9dC5udW1iZXIocyx1LGUpKSxuLl9waXRjaGluZyYmKGkucGl0Y2g9dC5udW1iZXIobCxoLGUpKTt2YXIgZD0xPT09ZT9nOmkudW5wcm9qZWN0KHYuYWRkKG0ubXVsdChDKGEpKSkubXVsdChmKSk7aS5zZXRMb2NhdGlvbkF0UG9pbnQoaS5yZW5kZXJXb3JsZENvcGllcz9kLndyYXAoKTpkLHApLG4uX2ZpcmVNb3ZlRXZlbnRzKHIpfSxmdW5jdGlvbigpe3JldHVybiBuLl9hZnRlckVhc2Uocil9LGUpLHRoaXN9LHIucHJvdG90eXBlLmlzRWFzaW5nPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lYXNlRnJhbWVJZH0sci5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuX2Vhc2VGcmFtZUlkJiYodGhpcy5fY2FuY2VsUmVuZGVyRnJhbWUodGhpcy5fZWFzZUZyYW1lSWQpLGRlbGV0ZSB0aGlzLl9lYXNlRnJhbWVJZCxkZWxldGUgdGhpcy5fb25FYXNlRnJhbWUpLHRoaXMuX29uRWFzZUVuZCl7dmFyIHQ9dGhpcy5fb25FYXNlRW5kO2RlbGV0ZSB0aGlzLl9vbkVhc2VFbmQsdC5jYWxsKHRoaXMpfXJldHVybiB0aGlzfSxyLnByb3RvdHlwZS5fZWFzZT1mdW5jdGlvbihlLHIsbil7ITE9PT1uLmFuaW1hdGV8fDA9PT1uLmR1cmF0aW9uPyhlKDEpLHIoKSk6KHRoaXMuX2Vhc2VTdGFydD10LmJyb3dzZXIubm93KCksdGhpcy5fZWFzZU9wdGlvbnM9bix0aGlzLl9vbkVhc2VGcmFtZT1lLHRoaXMuX29uRWFzZUVuZD1yLHRoaXMuX2Vhc2VGcmFtZUlkPXRoaXMuX3JlcXVlc3RSZW5kZXJGcmFtZSh0aGlzLl9yZW5kZXJGcmFtZUNhbGxiYWNrKSl9LHIucHJvdG90eXBlLl9yZW5kZXJGcmFtZUNhbGxiYWNrPWZ1bmN0aW9uKCl7dmFyIGU9TWF0aC5taW4oKHQuYnJvd3Nlci5ub3coKS10aGlzLl9lYXNlU3RhcnQpL3RoaXMuX2Vhc2VPcHRpb25zLmR1cmF0aW9uLDEpO3RoaXMuX29uRWFzZUZyYW1lKHRoaXMuX2Vhc2VPcHRpb25zLmVhc2luZyhlKSksZTwxP3RoaXMuX2Vhc2VGcmFtZUlkPXRoaXMuX3JlcXVlc3RSZW5kZXJGcmFtZSh0aGlzLl9yZW5kZXJGcmFtZUNhbGxiYWNrKTp0aGlzLnN0b3AoKX0sci5wcm90b3R5cGUuX25vcm1hbGl6ZUJlYXJpbmc9ZnVuY3Rpb24oZSxyKXtlPXQud3JhcChlLC0xODAsMTgwKTt2YXIgbj1NYXRoLmFicyhlLXIpO3JldHVybiBNYXRoLmFicyhlLTM2MC1yKTxuJiYoZS09MzYwKSxNYXRoLmFicyhlKzM2MC1yKTxuJiYoZSs9MzYwKSxlfSxyLnByb3RvdHlwZS5fbm9ybWFsaXplQ2VudGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudHJhbnNmb3JtO2lmKGUucmVuZGVyV29ybGRDb3BpZXMmJiFlLmxuZ1JhbmdlKXt2YXIgcj10LmxuZy1lLmNlbnRlci5sbmc7dC5sbmcrPXI+MTgwPy0zNjA6cjwtMTgwPzM2MDowfX0scn0odC5FdmVudGVkKSxMbj1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT17fSksdGhpcy5vcHRpb25zPWUsdC5iaW5kQWxsKFsiX3VwZGF0ZUVkaXRMaW5rIiwiX3VwZGF0ZURhdGEiLCJfdXBkYXRlQ29tcGFjdCJdLHRoaXMpfTtMbi5wcm90b3R5cGUuZ2V0RGVmYXVsdFBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuImJvdHRvbS1yaWdodCJ9LExuLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5jb21wYWN0O3JldHVybiB0aGlzLl9tYXA9dCx0aGlzLl9jb250YWluZXI9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLWN0cmwgbWFwYm94Z2wtY3RybC1hdHRyaWIiKSx0aGlzLl9pbm5lckNvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybC1hdHRyaWItaW5uZXIiLHRoaXMuX2NvbnRhaW5lciksZSYmdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWNvbXBhY3QiKSx0aGlzLl91cGRhdGVBdHRyaWJ1dGlvbnMoKSx0aGlzLl91cGRhdGVFZGl0TGluaygpLHRoaXMuX21hcC5vbigic3R5bGVkYXRhIix0aGlzLl91cGRhdGVEYXRhKSx0aGlzLl9tYXAub24oInNvdXJjZWRhdGEiLHRoaXMuX3VwZGF0ZURhdGEpLHRoaXMuX21hcC5vbigibW92ZWVuZCIsdGhpcy5fdXBkYXRlRWRpdExpbmspLHZvaWQgMD09PWUmJih0aGlzLl9tYXAub24oInJlc2l6ZSIsdGhpcy5fdXBkYXRlQ29tcGFjdCksdGhpcy5fdXBkYXRlQ29tcGFjdCgpKSx0aGlzLl9jb250YWluZXJ9LExuLnByb3RvdHlwZS5vblJlbW92ZT1mdW5jdGlvbigpe3IucmVtb3ZlKHRoaXMuX2NvbnRhaW5lciksdGhpcy5fbWFwLm9mZigic3R5bGVkYXRhIix0aGlzLl91cGRhdGVEYXRhKSx0aGlzLl9tYXAub2ZmKCJzb3VyY2VkYXRhIix0aGlzLl91cGRhdGVEYXRhKSx0aGlzLl9tYXAub2ZmKCJtb3ZlZW5kIix0aGlzLl91cGRhdGVFZGl0TGluayksdGhpcy5fbWFwLm9mZigicmVzaXplIix0aGlzLl91cGRhdGVDb21wYWN0KSx0aGlzLl9tYXA9dm9pZCAwfSxMbi5wcm90b3R5cGUuX3VwZGF0ZUVkaXRMaW5rPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fZWRpdExpbms7ZXx8KGU9dGhpcy5fZWRpdExpbms9dGhpcy5fY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi5tYXBib3gtaW1wcm92ZS1tYXAiKSk7dmFyIHI9W3trZXk6Im93bmVyIix2YWx1ZTp0aGlzLnN0eWxlT3duZXJ9LHtrZXk6ImlkIix2YWx1ZTp0aGlzLnN0eWxlSWR9LHtrZXk6ImFjY2Vzc190b2tlbiIsdmFsdWU6dGhpcy5fbWFwLl9yZXF1ZXN0TWFuYWdlci5fY3VzdG9tQWNjZXNzVG9rZW58fHQuY29uZmlnLkFDQ0VTU19UT0tFTn1dO2lmKGUpe3ZhciBuPXIucmVkdWNlKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZS52YWx1ZSYmKHQrPWUua2V5KyI9IitlLnZhbHVlKyhuPHIubGVuZ3RoLTE/IiYiOiIiKSksdH0sIj8iKTtlLmhyZWY9dC5jb25maWcuRkVFREJBQ0tfVVJMKyIvIituKyh0aGlzLl9tYXAuX2hhc2g/dGhpcy5fbWFwLl9oYXNoLmdldEhhc2hTdHJpbmcoITApOiIiKSxlLnJlbD0ibm9vcGVuZXIgbm9mb2xsb3cifX0sTG4ucHJvdG90eXBlLl91cGRhdGVEYXRhPWZ1bmN0aW9uKHQpeyF0fHwibWV0YWRhdGEiIT09dC5zb3VyY2VEYXRhVHlwZSYmInN0eWxlIiE9PXQuZGF0YVR5cGV8fCh0aGlzLl91cGRhdGVBdHRyaWJ1dGlvbnMoKSx0aGlzLl91cGRhdGVFZGl0TGluaygpKX0sTG4ucHJvdG90eXBlLl91cGRhdGVBdHRyaWJ1dGlvbnM9ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXAuc3R5bGUpe3ZhciB0PVtdO2lmKHRoaXMub3B0aW9ucy5jdXN0b21BdHRyaWJ1dGlvbiYmKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLmN1c3RvbUF0dHJpYnV0aW9uKT90PXQuY29uY2F0KHRoaXMub3B0aW9ucy5jdXN0b21BdHRyaWJ1dGlvbi5tYXAoZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0PyIiOnR9KSk6InN0cmluZyI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuY3VzdG9tQXR0cmlidXRpb24mJnQucHVzaCh0aGlzLm9wdGlvbnMuY3VzdG9tQXR0cmlidXRpb24pKSx0aGlzLl9tYXAuc3R5bGUuc3R5bGVzaGVldCl7dmFyIGU9dGhpcy5fbWFwLnN0eWxlLnN0eWxlc2hlZXQ7dGhpcy5zdHlsZU93bmVyPWUub3duZXIsdGhpcy5zdHlsZUlkPWUuaWR9dmFyIHI9dGhpcy5fbWFwLnN0eWxlLnNvdXJjZUNhY2hlcztmb3IodmFyIG4gaW4gcil7dmFyIGE9cltuXTtpZihhLnVzZWQpe3ZhciBpPWEuZ2V0U291cmNlKCk7aS5hdHRyaWJ1dGlvbiYmdC5pbmRleE9mKGkuYXR0cmlidXRpb24pPDAmJnQucHVzaChpLmF0dHJpYnV0aW9uKX19dC5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGVuZ3RoLWUubGVuZ3RofSk7dmFyIG89KHQ9dC5maWx0ZXIoZnVuY3Rpb24oZSxyKXtmb3IodmFyIG49cisxO248dC5sZW5ndGg7bisrKWlmKHRbbl0uaW5kZXhPZihlKT49MClyZXR1cm4hMTtyZXR1cm4hMH0pKS5qb2luKCIgfCAiKTtvIT09dGhpcy5fYXR0cmliSFRNTCYmKHRoaXMuX2F0dHJpYkhUTUw9byx0Lmxlbmd0aD8odGhpcy5faW5uZXJDb250YWluZXIuaW5uZXJIVE1MPW8sdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWF0dHJpYi1lbXB0eSIpKTp0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtYXR0cmliLWVtcHR5IiksdGhpcy5fZWRpdExpbms9bnVsbCl9fSxMbi5wcm90b3R5cGUuX3VwZGF0ZUNvbXBhY3Q9ZnVuY3Rpb24oKXt0aGlzLl9tYXAuZ2V0Q2FudmFzQ29udGFpbmVyKCkub2Zmc2V0V2lkdGg8PTY0MD90aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY29tcGFjdCIpOnRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jb21wYWN0Iil9O3ZhciBDbj1mdW5jdGlvbigpe3QuYmluZEFsbChbIl91cGRhdGVMb2dvIl0sdGhpcyksdC5iaW5kQWxsKFsiX3VwZGF0ZUNvbXBhY3QiXSx0aGlzKX07Q24ucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3RoaXMuX21hcD10LHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybCIpO3ZhciBlPXIuY3JlYXRlKCJhIiwibWFwYm94Z2wtY3RybC1sb2dvIik7cmV0dXJuIGUudGFyZ2V0PSJfYmxhbmsiLGUucmVsPSJub29wZW5lciBub2ZvbGxvdyIsZS5ocmVmPSJodHRwczovL3d3dy5tYXBib3guY29tLyIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJNYXBib3ggbG9nbyIpLGUuc2V0QXR0cmlidXRlKCJyZWwiLCJub29wZW5lciBub2ZvbGxvdyIpLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChlKSx0aGlzLl9jb250YWluZXIuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fbWFwLm9uKCJzb3VyY2VkYXRhIix0aGlzLl91cGRhdGVMb2dvKSx0aGlzLl91cGRhdGVMb2dvKCksdGhpcy5fbWFwLm9uKCJyZXNpemUiLHRoaXMuX3VwZGF0ZUNvbXBhY3QpLHRoaXMuX3VwZGF0ZUNvbXBhY3QoKSx0aGlzLl9jb250YWluZXJ9LENuLnByb3RvdHlwZS5vblJlbW92ZT1mdW5jdGlvbigpe3IucmVtb3ZlKHRoaXMuX2NvbnRhaW5lciksdGhpcy5fbWFwLm9mZigic291cmNlZGF0YSIsdGhpcy5fdXBkYXRlTG9nbyksdGhpcy5fbWFwLm9mZigicmVzaXplIix0aGlzLl91cGRhdGVDb21wYWN0KX0sQ24ucHJvdG90eXBlLmdldERlZmF1bHRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiJib3R0b20tbGVmdCJ9LENuLnByb3RvdHlwZS5fdXBkYXRlTG9nbz1mdW5jdGlvbih0KXt0JiYibWV0YWRhdGEiIT09dC5zb3VyY2VEYXRhVHlwZXx8KHRoaXMuX2NvbnRhaW5lci5zdHlsZS5kaXNwbGF5PXRoaXMuX2xvZ29SZXF1aXJlZCgpPyJibG9jayI6Im5vbmUiKX0sQ24ucHJvdG90eXBlLl9sb2dvUmVxdWlyZWQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXAuc3R5bGUpe3ZhciB0PXRoaXMuX21hcC5zdHlsZS5zb3VyY2VDYWNoZXM7Zm9yKHZhciBlIGluIHQpaWYodFtlXS5nZXRTb3VyY2UoKS5tYXBib3hfbG9nbylyZXR1cm4hMDtyZXR1cm4hMX19LENuLnByb3RvdHlwZS5fdXBkYXRlQ29tcGFjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lci5jaGlsZHJlbjtpZih0Lmxlbmd0aCl7dmFyIGU9dFswXTt0aGlzLl9tYXAuZ2V0Q2FudmFzQ29udGFpbmVyKCkub2Zmc2V0V2lkdGg8MjUwP2UuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY29tcGFjdCIpOmUuY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY29tcGFjdCIpfX07dmFyIFBuPWZ1bmN0aW9uKCl7dGhpcy5fcXVldWU9W10sdGhpcy5faWQ9MCx0aGlzLl9jbGVhcmVkPSExLHRoaXMuX2N1cnJlbnRseVJ1bm5pbmc9ITF9O1BuLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU9Kyt0aGlzLl9pZDtyZXR1cm4gdGhpcy5fcXVldWUucHVzaCh7Y2FsbGJhY2s6dCxpZDplLGNhbmNlbGxlZDohMX0pLGV9LFBuLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2N1cnJlbnRseVJ1bm5pbmcscj0wLG49ZT90aGlzLl9xdWV1ZS5jb25jYXQoZSk6dGhpcy5fcXVldWU7cjxuLmxlbmd0aDtyKz0xKXt2YXIgYT1uW3JdO2lmKGEuaWQ9PT10KXJldHVybiB2b2lkKGEuY2FuY2VsbGVkPSEwKX19LFBuLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jdXJyZW50bHlSdW5uaW5nPXRoaXMuX3F1ZXVlO3RoaXMuX3F1ZXVlPVtdO2Zvcih2YXIgZT0wLHI9dDtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV07aWYoIW4uY2FuY2VsbGVkJiYobi5jYWxsYmFjaygpLHRoaXMuX2NsZWFyZWQpKWJyZWFrfXRoaXMuX2NsZWFyZWQ9ITEsdGhpcy5fY3VycmVudGx5UnVubmluZz0hMX0sUG4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fY3VycmVudGx5UnVubmluZyYmKHRoaXMuX2NsZWFyZWQ9ITApLHRoaXMuX3F1ZXVlPVtdfTt2YXIgT249dC53aW5kb3cuSFRNTEltYWdlRWxlbWVudCx6bj10LndpbmRvdy5IVE1MRWxlbWVudCxJbj17Y2VudGVyOlswLDBdLHpvb206MCxiZWFyaW5nOjAscGl0Y2g6MCxtaW5ab29tOjAsbWF4Wm9vbToyMixpbnRlcmFjdGl2ZTohMCxzY3JvbGxab29tOiEwLGJveFpvb206ITAsZHJhZ1JvdGF0ZTohMCxkcmFnUGFuOiEwLGtleWJvYXJkOiEwLGRvdWJsZUNsaWNrWm9vbTohMCx0b3VjaFpvb21Sb3RhdGU6ITAsYmVhcmluZ1NuYXA6NyxjbGlja1RvbGVyYW5jZTozLGhhc2g6ITEsYXR0cmlidXRpb25Db250cm9sOiEwLGZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ6ITEscHJlc2VydmVEcmF3aW5nQnVmZmVyOiExLHRyYWNrUmVzaXplOiEwLHJlbmRlcldvcmxkQ29waWVzOiEwLHJlZnJlc2hFeHBpcmVkVGlsZXM6ITAsbWF4VGlsZUNhY2hlU2l6ZTpudWxsLGxvY2FsSWRlb2dyYXBoRm9udEZhbWlseToic2Fucy1zZXJpZiIsdHJhbnNmb3JtUmVxdWVzdDpudWxsLGFjY2Vzc1Rva2VuOm51bGwsZmFkZUR1cmF0aW9uOjMwMCxjcm9zc1NvdXJjZUNvbGxpc2lvbnM6ITB9LERuPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGEoZSl7dmFyIGE9dGhpcztpZihudWxsIT0oZT10LmV4dGVuZCh7fSxJbixlKSkubWluWm9vbSYmbnVsbCE9ZS5tYXhab29tJiZlLm1pblpvb20+ZS5tYXhab29tKXRocm93IG5ldyBFcnJvcigibWF4Wm9vbSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBtaW5ab29tIik7dmFyIGk9bmV3IHVuKGUubWluWm9vbSxlLm1heFpvb20sZS5yZW5kZXJXb3JsZENvcGllcyk7aWYobi5jYWxsKHRoaXMsaSxlKSx0aGlzLl9pbnRlcmFjdGl2ZT1lLmludGVyYWN0aXZlLHRoaXMuX21heFRpbGVDYWNoZVNpemU9ZS5tYXhUaWxlQ2FjaGVTaXplLHRoaXMuX2ZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ9ZS5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0LHRoaXMuX3ByZXNlcnZlRHJhd2luZ0J1ZmZlcj1lLnByZXNlcnZlRHJhd2luZ0J1ZmZlcix0aGlzLl9hbnRpYWxpYXM9ZS5hbnRpYWxpYXMsdGhpcy5fdHJhY2tSZXNpemU9ZS50cmFja1Jlc2l6ZSx0aGlzLl9iZWFyaW5nU25hcD1lLmJlYXJpbmdTbmFwLHRoaXMuX3JlZnJlc2hFeHBpcmVkVGlsZXM9ZS5yZWZyZXNoRXhwaXJlZFRpbGVzLHRoaXMuX2ZhZGVEdXJhdGlvbj1lLmZhZGVEdXJhdGlvbix0aGlzLl9jcm9zc1NvdXJjZUNvbGxpc2lvbnM9ZS5jcm9zc1NvdXJjZUNvbGxpc2lvbnMsdGhpcy5fY3Jvc3NGYWRpbmdGYWN0b3I9MSx0aGlzLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmc9ZS5jb2xsZWN0UmVzb3VyY2VUaW1pbmcsdGhpcy5fcmVuZGVyVGFza1F1ZXVlPW5ldyBQbix0aGlzLl9jb250cm9scz1bXSx0aGlzLl9tYXBJZD10LnVuaXF1ZUlkKCksdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IHQuUmVxdWVzdE1hbmFnZXIoZS50cmFuc2Zvcm1SZXF1ZXN0LGUuYWNjZXNzVG9rZW4pLCJzdHJpbmciPT10eXBlb2YgZS5jb250YWluZXIpe2lmKHRoaXMuX2NvbnRhaW5lcj10LndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmNvbnRhaW5lciksIXRoaXMuX2NvbnRhaW5lcil0aHJvdyBuZXcgRXJyb3IoIkNvbnRhaW5lciAnIitlLmNvbnRhaW5lcisiJyBub3QgZm91bmQuIil9ZWxzZXtpZighKGUuY29udGFpbmVyIGluc3RhbmNlb2Ygem4pKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0eXBlOiAnY29udGFpbmVyJyBtdXN0IGJlIGEgU3RyaW5nIG9yIEhUTUxFbGVtZW50LiIpO3RoaXMuX2NvbnRhaW5lcj1lLmNvbnRhaW5lcn1pZihlLm1heEJvdW5kcyYmdGhpcy5zZXRNYXhCb3VuZHMoZS5tYXhCb3VuZHMpLHQuYmluZEFsbChbIl9vbldpbmRvd09ubGluZSIsIl9vbldpbmRvd1Jlc2l6ZSIsIl9jb250ZXh0TG9zdCIsIl9jb250ZXh0UmVzdG9yZWQiXSx0aGlzKSx0aGlzLl9zZXR1cENvbnRhaW5lcigpLHRoaXMuX3NldHVwUGFpbnRlcigpLHZvaWQgMD09PXRoaXMucGFpbnRlcil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIFdlYkdMLiIpO3RoaXMub24oIm1vdmUiLGZ1bmN0aW9uKCl7cmV0dXJuIGEuX3VwZGF0ZSghMSl9KSx0aGlzLm9uKCJtb3ZlZW5kIixmdW5jdGlvbigpe3JldHVybiBhLl91cGRhdGUoITEpfSksdGhpcy5vbigiem9vbSIsZnVuY3Rpb24oKXtyZXR1cm4gYS5fdXBkYXRlKCEwKX0pLHZvaWQgMCE9PXQud2luZG93JiYodC53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLl9vbldpbmRvd09ubGluZSwhMSksdC53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9vbldpbmRvd1Jlc2l6ZSwhMSkpLGZ1bmN0aW9uKHQsZSl7dmFyIG49dC5nZXRDYW52YXNDb250YWluZXIoKSxhPW51bGwsaT0hMSxvPW51bGw7Zm9yKHZhciBzIGluIFNuKXRbc109bmV3IFNuW3NdKHQsZSksZS5pbnRlcmFjdGl2ZSYmZVtzXSYmdFtzXS5lbmFibGUoZVtzXSk7ci5hZGRFdmVudExpc3RlbmVyKG4sIm1vdXNlb3V0IixmdW5jdGlvbihlKXt0LmZpcmUobmV3IHBuKCJtb3VzZW91dCIsdCxlKSl9KSxyLmFkZEV2ZW50TGlzdGVuZXIobiwibW91c2Vkb3duIixmdW5jdGlvbihhKXtpPSEwLG89ci5tb3VzZVBvcyhuLGEpO3ZhciBzPW5ldyBwbigibW91c2Vkb3duIix0LGEpO3QuZmlyZShzKSxzLmRlZmF1bHRQcmV2ZW50ZWR8fChlLmludGVyYWN0aXZlJiYhdC5kb3VibGVDbGlja1pvb20uaXNBY3RpdmUoKSYmdC5zdG9wKCksdC5ib3hab29tLm9uTW91c2VEb3duKGEpLHQuYm94Wm9vbS5pc0FjdGl2ZSgpfHx0LmRyYWdQYW4uaXNBY3RpdmUoKXx8dC5kcmFnUm90YXRlLm9uTW91c2VEb3duKGEpLHQuYm94Wm9vbS5pc0FjdGl2ZSgpfHx0LmRyYWdSb3RhdGUuaXNBY3RpdmUoKXx8dC5kcmFnUGFuLm9uTW91c2VEb3duKGEpKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJtb3VzZXVwIixmdW5jdGlvbihlKXt2YXIgcj10LmRyYWdSb3RhdGUuaXNBY3RpdmUoKTthJiYhciYmdC5maXJlKG5ldyBwbigiY29udGV4dG1lbnUiLHQsYSkpLGE9bnVsbCxpPSExLHQuZmlyZShuZXcgcG4oIm1vdXNldXAiLHQsZSkpfSksci5hZGRFdmVudExpc3RlbmVyKG4sIm1vdXNlbW92ZSIsZnVuY3Rpb24oZSl7aWYoIXQuZHJhZ1Bhbi5pc0FjdGl2ZSgpJiYhdC5kcmFnUm90YXRlLmlzQWN0aXZlKCkpe2Zvcih2YXIgcj1lLnRhcmdldDtyJiZyIT09bjspcj1yLnBhcmVudE5vZGU7cj09PW4mJnQuZmlyZShuZXcgcG4oIm1vdXNlbW92ZSIsdCxlKSl9fSksci5hZGRFdmVudExpc3RlbmVyKG4sIm1vdXNlb3ZlciIsZnVuY3Rpb24oZSl7Zm9yKHZhciByPWUudGFyZ2V0O3ImJnIhPT1uOylyPXIucGFyZW50Tm9kZTtyPT09biYmdC5maXJlKG5ldyBwbigibW91c2VvdmVyIix0LGUpKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJ0b3VjaHN0YXJ0IixmdW5jdGlvbihyKXt2YXIgbj1uZXcgZG4oInRvdWNoc3RhcnQiLHQscik7dC5maXJlKG4pLG4uZGVmYXVsdFByZXZlbnRlZHx8KGUuaW50ZXJhY3RpdmUmJnQuc3RvcCgpLHQuYm94Wm9vbS5pc0FjdGl2ZSgpfHx0LmRyYWdSb3RhdGUuaXNBY3RpdmUoKXx8dC5kcmFnUGFuLm9uVG91Y2hTdGFydChyKSx0LnRvdWNoWm9vbVJvdGF0ZS5vblN0YXJ0KHIpLHQuZG91YmxlQ2xpY2tab29tLm9uVG91Y2hTdGFydChuKSl9LHtwYXNzaXZlOiExfSksci5hZGRFdmVudExpc3RlbmVyKG4sInRvdWNobW92ZSIsZnVuY3Rpb24oZSl7dC5maXJlKG5ldyBkbigidG91Y2htb3ZlIix0LGUpKX0se3Bhc3NpdmU6ITF9KSxyLmFkZEV2ZW50TGlzdGVuZXIobiwidG91Y2hlbmQiLGZ1bmN0aW9uKGUpe3QuZmlyZShuZXcgZG4oInRvdWNoZW5kIix0LGUpKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJ0b3VjaGNhbmNlbCIsZnVuY3Rpb24oZSl7dC5maXJlKG5ldyBkbigidG91Y2hjYW5jZWwiLHQsZSkpfSksci5hZGRFdmVudExpc3RlbmVyKG4sImNsaWNrIixmdW5jdGlvbihhKXt2YXIgaT1yLm1vdXNlUG9zKG4sYSk7KCFvfHxpLmVxdWFscyhvKXx8aS5kaXN0KG8pPGUuY2xpY2tUb2xlcmFuY2UpJiZ0LmZpcmUobmV3IHBuKCJjbGljayIsdCxhKSl9KSxyLmFkZEV2ZW50TGlzdGVuZXIobiwiZGJsY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciByPW5ldyBwbigiZGJsY2xpY2siLHQsZSk7dC5maXJlKHIpLHIuZGVmYXVsdFByZXZlbnRlZHx8dC5kb3VibGVDbGlja1pvb20ub25EYmxDbGljayhyKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJjb250ZXh0bWVudSIsZnVuY3Rpb24oZSl7dmFyIHI9dC5kcmFnUm90YXRlLmlzQWN0aXZlKCk7aXx8cj9pJiYoYT1lKTp0LmZpcmUobmV3IHBuKCJjb250ZXh0bWVudSIsdCxlKSksKHQuZHJhZ1JvdGF0ZS5pc0VuYWJsZWQoKXx8dC5saXN0ZW5zKCJjb250ZXh0bWVudSIpKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSksci5hZGRFdmVudExpc3RlbmVyKG4sIndoZWVsIixmdW5jdGlvbihyKXtlLmludGVyYWN0aXZlJiZ0LnN0b3AoKTt2YXIgbj1uZXcgZ24oIndoZWVsIix0LHIpO3QuZmlyZShuKSxuLmRlZmF1bHRQcmV2ZW50ZWR8fHQuc2Nyb2xsWm9vbS5vbldoZWVsKHIpfSx7cGFzc2l2ZTohMX0pfSh0aGlzLGUpLHRoaXMuX2hhc2g9ZS5oYXNoJiYobmV3IGZuKS5hZGRUbyh0aGlzKSx0aGlzLl9oYXNoJiZ0aGlzLl9oYXNoLl9vbkhhc2hDaGFuZ2UoKXx8KHRoaXMuanVtcFRvKHtjZW50ZXI6ZS5jZW50ZXIsem9vbTplLnpvb20sYmVhcmluZzplLmJlYXJpbmcscGl0Y2g6ZS5waXRjaH0pLGUuYm91bmRzJiYodGhpcy5yZXNpemUoKSx0aGlzLmZpdEJvdW5kcyhlLmJvdW5kcyx0LmV4dGVuZCh7fSxlLmZpdEJvdW5kc09wdGlvbnMse2R1cmF0aW9uOjB9KSkpKSx0aGlzLnJlc2l6ZSgpLHRoaXMuX2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseT1lLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseSxlLnN0eWxlJiZ0aGlzLnNldFN0eWxlKGUuc3R5bGUse2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseTplLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseX0pLGUuYXR0cmlidXRpb25Db250cm9sJiZ0aGlzLmFkZENvbnRyb2wobmV3IExuKHtjdXN0b21BdHRyaWJ1dGlvbjplLmN1c3RvbUF0dHJpYnV0aW9ufSkpLHRoaXMuYWRkQ29udHJvbChuZXcgQ24sZS5sb2dvUG9zaXRpb24pLHRoaXMub24oInN0eWxlLmxvYWQiLGZ1bmN0aW9uKCl7YS50cmFuc2Zvcm0udW5tb2RpZmllZCYmYS5qdW1wVG8oYS5zdHlsZS5zdHlsZXNoZWV0KX0pLHRoaXMub24oImRhdGEiLGZ1bmN0aW9uKGUpe2EuX3VwZGF0ZSgic3R5bGUiPT09ZS5kYXRhVHlwZSksYS5maXJlKG5ldyB0LkV2ZW50KGUuZGF0YVR5cGUrImRhdGEiLGUpKX0pLHRoaXMub24oImRhdGFsb2FkaW5nIixmdW5jdGlvbihlKXthLmZpcmUobmV3IHQuRXZlbnQoZS5kYXRhVHlwZSsiZGF0YWxvYWRpbmciLGUpKX0pfW4mJihhLl9fcHJvdG9fXz1uKSxhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4mJm4ucHJvdG90eXBlKSxhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO3ZhciBpPXtzaG93VGlsZUJvdW5kYXJpZXM6e2NvbmZpZ3VyYWJsZTohMH0sc2hvd0NvbGxpc2lvbkJveGVzOntjb25maWd1cmFibGU6ITB9LHNob3dPdmVyZHJhd0luc3BlY3Rvcjp7Y29uZmlndXJhYmxlOiEwfSxyZXBhaW50Ontjb25maWd1cmFibGU6ITB9LHZlcnRpY2VzOntjb25maWd1cmFibGU6ITB9LHZlcnNpb246e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiBhLnByb3RvdHlwZS5fZ2V0TWFwSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwSWR9LGEucHJvdG90eXBlLmFkZENvbnRyb2w9ZnVuY3Rpb24oZSxyKXtpZih2b2lkIDA9PT1yJiZlLmdldERlZmF1bHRQb3NpdGlvbiYmKHI9ZS5nZXREZWZhdWx0UG9zaXRpb24oKSksdm9pZCAwPT09ciYmKHI9InRvcC1yaWdodCIpLCFlfHwhZS5vbkFkZClyZXR1cm4gdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJJbnZhbGlkIGFyZ3VtZW50IHRvIG1hcC5hZGRDb250cm9sKCkuIEFyZ3VtZW50IG11c3QgYmUgYSBjb250cm9sIHdpdGggb25BZGQgYW5kIG9uUmVtb3ZlIG1ldGhvZHMuIikpKTt2YXIgbj1lLm9uQWRkKHRoaXMpO3RoaXMuX2NvbnRyb2xzLnB1c2goZSk7dmFyIGE9dGhpcy5fY29udHJvbFBvc2l0aW9uc1tyXTtyZXR1cm4tMSE9PXIuaW5kZXhPZigiYm90dG9tIik/YS5pbnNlcnRCZWZvcmUobixhLmZpcnN0Q2hpbGQpOmEuYXBwZW5kQ2hpbGQobiksdGhpc30sYS5wcm90b3R5cGUucmVtb3ZlQ29udHJvbD1mdW5jdGlvbihlKXtpZighZXx8IWUub25SZW1vdmUpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiSW52YWxpZCBhcmd1bWVudCB0byBtYXAucmVtb3ZlQ29udHJvbCgpLiBBcmd1bWVudCBtdXN0IGJlIGEgY29udHJvbCB3aXRoIG9uQWRkIGFuZCBvblJlbW92ZSBtZXRob2RzLiIpKSk7dmFyIHI9dGhpcy5fY29udHJvbHMuaW5kZXhPZihlKTtyZXR1cm4gcj4tMSYmdGhpcy5fY29udHJvbHMuc3BsaWNlKHIsMSksZS5vblJlbW92ZSh0aGlzKSx0aGlzfSxhLnByb3RvdHlwZS5yZXNpemU9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5fY29udGFpbmVyRGltZW5zaW9ucygpLG49clswXSxhPXJbMV07cmV0dXJuIHRoaXMuX3Jlc2l6ZUNhbnZhcyhuLGEpLHRoaXMudHJhbnNmb3JtLnJlc2l6ZShuLGEpLHRoaXMucGFpbnRlci5yZXNpemUobixhKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoIm1vdmVzdGFydCIsZSkpLmZpcmUobmV3IHQuRXZlbnQoIm1vdmUiLGUpKS5maXJlKG5ldyB0LkV2ZW50KCJyZXNpemUiLGUpKS5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlZW5kIixlKSksdGhpc30sYS5wcm90b3R5cGUuZ2V0Qm91bmRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLmdldEJvdW5kcygpfSxhLnByb3RvdHlwZS5nZXRNYXhCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0uZ2V0TWF4Qm91bmRzKCl9LGEucHJvdG90eXBlLnNldE1heEJvdW5kcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0uc2V0TWF4Qm91bmRzKHQuTG5nTGF0Qm91bmRzLmNvbnZlcnQoZSkpLHRoaXMuX3VwZGF0ZSgpfSxhLnByb3RvdHlwZS5zZXRNaW5ab29tPWZ1bmN0aW9uKHQpe2lmKCh0PW51bGw9PXQ/MDp0KT49MCYmdDw9dGhpcy50cmFuc2Zvcm0ubWF4Wm9vbSlyZXR1cm4gdGhpcy50cmFuc2Zvcm0ubWluWm9vbT10LHRoaXMuX3VwZGF0ZSgpLHRoaXMuZ2V0Wm9vbSgpPHQmJnRoaXMuc2V0Wm9vbSh0KSx0aGlzO3Rocm93IG5ldyBFcnJvcigibWluWm9vbSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgdGhlIGN1cnJlbnQgbWF4Wm9vbSwgaW5jbHVzaXZlIil9LGEucHJvdG90eXBlLmdldE1pblpvb209ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0ubWluWm9vbX0sYS5wcm90b3R5cGUuc2V0TWF4Wm9vbT1mdW5jdGlvbih0KXtpZigodD1udWxsPT10PzIyOnQpPj10aGlzLnRyYW5zZm9ybS5taW5ab29tKXJldHVybiB0aGlzLnRyYW5zZm9ybS5tYXhab29tPXQsdGhpcy5fdXBkYXRlKCksdGhpcy5nZXRab29tKCk+dCYmdGhpcy5zZXRab29tKHQpLHRoaXM7dGhyb3cgbmV3IEVycm9yKCJtYXhab29tIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50IG1pblpvb20iKX0sYS5wcm90b3R5cGUuZ2V0UmVuZGVyV29ybGRDb3BpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0ucmVuZGVyV29ybGRDb3BpZXN9LGEucHJvdG90eXBlLnNldFJlbmRlcldvcmxkQ29waWVzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRyYW5zZm9ybS5yZW5kZXJXb3JsZENvcGllcz10LHRoaXMuX3VwZGF0ZSgpfSxhLnByb3RvdHlwZS5nZXRNYXhab29tPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLm1heFpvb219LGEucHJvdG90eXBlLnByb2plY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLmxvY2F0aW9uUG9pbnQodC5MbmdMYXQuY29udmVydChlKSl9LGEucHJvdG90eXBlLnVucHJvamVjdD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0ucG9pbnRMb2NhdGlvbih0LlBvaW50LmNvbnZlcnQoZSkpfSxhLnByb3RvdHlwZS5pc01vdmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb3Zpbmd8fHRoaXMuZHJhZ1Bhbi5pc0FjdGl2ZSgpfHx0aGlzLmRyYWdSb3RhdGUuaXNBY3RpdmUoKXx8dGhpcy5zY3JvbGxab29tLmlzQWN0aXZlKCl9LGEucHJvdG90eXBlLmlzWm9vbWluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl96b29taW5nfHx0aGlzLnNjcm9sbFpvb20uaXNab29taW5nKCl9LGEucHJvdG90eXBlLmlzUm90YXRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm90YXRpbmd8fHRoaXMuZHJhZ1JvdGF0ZS5pc0FjdGl2ZSgpfSxhLnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcztpZih2b2lkIDA9PT1yKXJldHVybiBuLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsdCxlKTt2YXIgaT1mdW5jdGlvbigpe3ZhciBuO2lmKCJtb3VzZWVudGVyIj09PXR8fCJtb3VzZW92ZXIiPT09dCl7dmFyIGk9ITE7cmV0dXJue2xheWVyOmUsbGlzdGVuZXI6cixkZWxlZ2F0ZXM6e21vdXNlbW92ZTpmdW5jdGlvbihuKXt2YXIgbz1hLmdldExheWVyKGUpP2EucXVlcnlSZW5kZXJlZEZlYXR1cmVzKG4ucG9pbnQse2xheWVyczpbZV19KTpbXTtvLmxlbmd0aD9pfHwoaT0hMCxyLmNhbGwoYSxuZXcgcG4odCxhLG4ub3JpZ2luYWxFdmVudCx7ZmVhdHVyZXM6b30pKSk6aT0hMX0sbW91c2VvdXQ6ZnVuY3Rpb24oKXtpPSExfX19fWlmKCJtb3VzZWxlYXZlIj09PXR8fCJtb3VzZW91dCI9PT10KXt2YXIgbz0hMTtyZXR1cm57bGF5ZXI6ZSxsaXN0ZW5lcjpyLGRlbGVnYXRlczp7bW91c2Vtb3ZlOmZ1bmN0aW9uKG4peyhhLmdldExheWVyKGUpP2EucXVlcnlSZW5kZXJlZEZlYXR1cmVzKG4ucG9pbnQse2xheWVyczpbZV19KTpbXSkubGVuZ3RoP289ITA6byYmKG89ITEsci5jYWxsKGEsbmV3IHBuKHQsYSxuLm9yaWdpbmFsRXZlbnQpKSl9LG1vdXNlb3V0OmZ1bmN0aW9uKGUpe28mJihvPSExLHIuY2FsbChhLG5ldyBwbih0LGEsZS5vcmlnaW5hbEV2ZW50KSkpfX19fXJldHVybntsYXllcjplLGxpc3RlbmVyOnIsZGVsZWdhdGVzOihuPXt9LG5bdF09ZnVuY3Rpb24odCl7dmFyIG49YS5nZXRMYXllcihlKT9hLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcyh0LnBvaW50LHtsYXllcnM6W2VdfSk6W107bi5sZW5ndGgmJih0LmZlYXR1cmVzPW4sci5jYWxsKGEsdCksZGVsZXRlIHQuZmVhdHVyZXMpfSxuKX19KCk7Zm9yKHZhciBvIGluIHRoaXMuX2RlbGVnYXRlZExpc3RlbmVycz10aGlzLl9kZWxlZ2F0ZWRMaXN0ZW5lcnN8fHt9LHRoaXMuX2RlbGVnYXRlZExpc3RlbmVyc1t0XT10aGlzLl9kZWxlZ2F0ZWRMaXN0ZW5lcnNbdF18fFtdLHRoaXMuX2RlbGVnYXRlZExpc3RlbmVyc1t0XS5wdXNoKGkpLGkuZGVsZWdhdGVzKXRoaXMub24obyxpLmRlbGVnYXRlc1tvXSk7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLm9mZj1mdW5jdGlvbih0LGUscil7aWYodm9pZCAwPT09cilyZXR1cm4gbi5wcm90b3R5cGUub2ZmLmNhbGwodGhpcyx0LGUpO2lmKHRoaXMuX2RlbGVnYXRlZExpc3RlbmVycyYmdGhpcy5fZGVsZWdhdGVkTGlzdGVuZXJzW3RdKWZvcih2YXIgYT10aGlzLl9kZWxlZ2F0ZWRMaXN0ZW5lcnNbdF0saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldO2lmKG8ubGF5ZXI9PT1lJiZvLmxpc3RlbmVyPT09cil7Zm9yKHZhciBzIGluIG8uZGVsZWdhdGVzKXRoaXMub2ZmKHMsby5kZWxlZ2F0ZXNbc10pO3JldHVybiBhLnNwbGljZShpLDEpLHRoaXN9fXJldHVybiB0aGlzfSxhLnByb3RvdHlwZS5xdWVyeVJlbmRlcmVkRmVhdHVyZXM9ZnVuY3Rpb24oZSxyKXtpZighdGhpcy5zdHlsZSlyZXR1cm5bXTt2YXIgbjtpZih2b2lkIDAhPT1yfHx2b2lkIDA9PT1lfHxlIGluc3RhbmNlb2YgdC5Qb2ludHx8QXJyYXkuaXNBcnJheShlKXx8KHI9ZSxlPXZvaWQgMCkscj1yfHx7fSwoZT1lfHxbWzAsMF0sW3RoaXMudHJhbnNmb3JtLndpZHRoLHRoaXMudHJhbnNmb3JtLmhlaWdodF1dKWluc3RhbmNlb2YgdC5Qb2ludHx8Im51bWJlciI9PXR5cGVvZiBlWzBdKW49W3QuUG9pbnQuY29udmVydChlKV07ZWxzZXt2YXIgYT10LlBvaW50LmNvbnZlcnQoZVswXSksaT10LlBvaW50LmNvbnZlcnQoZVsxXSk7bj1bYSxuZXcgdC5Qb2ludChpLngsYS55KSxpLG5ldyB0LlBvaW50KGEueCxpLnkpLGFdfXJldHVybiB0aGlzLnN0eWxlLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcyhuLHIsdGhpcy50cmFuc2Zvcm0pfSxhLnByb3RvdHlwZS5xdWVyeVNvdXJjZUZlYXR1cmVzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUucXVlcnlTb3VyY2VGZWF0dXJlcyh0LGUpfSxhLnByb3RvdHlwZS5zZXRTdHlsZT1mdW5jdGlvbihlLHIpe3JldHVybiExIT09KHI9dC5leHRlbmQoe30se2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseTp0aGlzLl9sb2NhbElkZW9ncmFwaEZvbnRGYW1pbHl9LHIpKS5kaWZmJiZyLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseT09PXRoaXMuX2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseSYmdGhpcy5zdHlsZSYmZT8odGhpcy5fZGlmZlN0eWxlKGUsciksdGhpcyk6KHRoaXMuX2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseT1yLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseSx0aGlzLl91cGRhdGVTdHlsZShlLHIpKX0sYS5wcm90b3R5cGUuX3VwZGF0ZVN0eWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUmJih0aGlzLnN0eWxlLnNldEV2ZW50ZWRQYXJlbnQobnVsbCksdGhpcy5zdHlsZS5fcmVtb3ZlKCkpLHQ/KHRoaXMuc3R5bGU9bmV3IFJlKHRoaXMsZXx8e30pLHRoaXMuc3R5bGUuc2V0RXZlbnRlZFBhcmVudCh0aGlzLHtzdHlsZTp0aGlzLnN0eWxlfSksInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuc3R5bGUubG9hZFVSTCh0KTp0aGlzLnN0eWxlLmxvYWRKU09OKHQpLHRoaXMpOihkZWxldGUgdGhpcy5zdHlsZSx0aGlzKX0sYS5wcm90b3R5cGUuX2RpZmZTdHlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiBlKXt2YXIgYT10aGlzLl9yZXF1ZXN0TWFuYWdlci5ub3JtYWxpemVTdHlsZVVSTChlKSxpPXRoaXMuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3QoYSx0LlJlc291cmNlVHlwZS5TdHlsZSk7dC5nZXRKU09OKGksZnVuY3Rpb24oZSxhKXtlP24uZmlyZShuZXcgdC5FcnJvckV2ZW50KGUpKTphJiZuLl91cGRhdGVEaWZmKGEscil9KX1lbHNlIm9iamVjdCI9PXR5cGVvZiBlJiZ0aGlzLl91cGRhdGVEaWZmKGUscil9LGEucHJvdG90eXBlLl91cGRhdGVEaWZmPWZ1bmN0aW9uKGUscil7dHJ5e3RoaXMuc3R5bGUuc2V0U3RhdGUoZSkmJnRoaXMuX3VwZGF0ZSghMCl9Y2F0Y2gobil7dC53YXJuT25jZSgiVW5hYmxlIHRvIHBlcmZvcm0gc3R5bGUgZGlmZjogIisobi5tZXNzYWdlfHxuLmVycm9yfHxuKSsiLiAgUmVidWlsZGluZyB0aGUgc3R5bGUgZnJvbSBzY3JhdGNoLiIpLHRoaXMuX3VwZGF0ZVN0eWxlKGUscil9fSxhLnByb3RvdHlwZS5nZXRTdHlsZT1mdW5jdGlvbigpe2lmKHRoaXMuc3R5bGUpcmV0dXJuIHRoaXMuc3R5bGUuc2VyaWFsaXplKCl9LGEucHJvdG90eXBlLmlzU3R5bGVMb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdHlsZT90aGlzLnN0eWxlLmxvYWRlZCgpOnQud2Fybk9uY2UoIlRoZXJlIGlzIG5vIHN0eWxlIGFkZGVkIHRvIHRoZSBtYXAuIil9LGEucHJvdG90eXBlLmFkZFNvdXJjZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN0eWxlLmFkZFNvdXJjZSh0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLmlzU291cmNlTG9hZGVkPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXMuc3R5bGUmJnRoaXMuc3R5bGUuc291cmNlQ2FjaGVzW2VdO2lmKHZvaWQgMCE9PXIpcmV0dXJuIHIubG9hZGVkKCk7dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJUaGVyZSBpcyBubyBzb3VyY2Ugd2l0aCBJRCAnIitlKyInIikpKX0sYS5wcm90b3R5cGUuYXJlVGlsZXNMb2FkZWQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN0eWxlJiZ0aGlzLnN0eWxlLnNvdXJjZUNhY2hlcztmb3IodmFyIGUgaW4gdCl7dmFyIHI9dFtlXS5fdGlsZXM7Zm9yKHZhciBuIGluIHIpe3ZhciBhPXJbbl07aWYoImxvYWRlZCIhPT1hLnN0YXRlJiYiZXJyb3JlZCIhPT1hLnN0YXRlKXJldHVybiExfX1yZXR1cm4hMH0sYS5wcm90b3R5cGUuYWRkU291cmNlVHlwZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3R5bGUuYWRkU291cmNlVHlwZSh0LGUscil9LGEucHJvdG90eXBlLnJlbW92ZVNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zdHlsZS5yZW1vdmVTb3VyY2UodCksdGhpcy5fdXBkYXRlKCEwKX0sYS5wcm90b3R5cGUuZ2V0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLmdldFNvdXJjZSh0KX0sYS5wcm90b3R5cGUuYWRkSW1hZ2U9ZnVuY3Rpb24oZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KTt2YXIgYT1uLnBpeGVsUmF0aW87dm9pZCAwPT09YSYmKGE9MSk7dmFyIGk9bi5zZGY7aWYodm9pZCAwPT09aSYmKGk9ITEpLHIgaW5zdGFuY2VvZiBPbil7dmFyIG89dC5icm93c2VyLmdldEltYWdlRGF0YShyKSxzPW8ud2lkdGgsbD1vLmhlaWdodCxjPW8uZGF0YTt0aGlzLnN0eWxlLmFkZEltYWdlKGUse2RhdGE6bmV3IHQuUkdCQUltYWdlKHt3aWR0aDpzLGhlaWdodDpsfSxjKSxwaXhlbFJhdGlvOmEsc2RmOmksdmVyc2lvbjowfSl9ZWxzZXtpZih2b2lkIDA9PT1yLndpZHRofHx2b2lkIDA9PT1yLmhlaWdodClyZXR1cm4gdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJJbnZhbGlkIGFyZ3VtZW50cyB0byBtYXAuYWRkSW1hZ2UoKS4gVGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGFuIGBIVE1MSW1hZ2VFbGVtZW50YCwgYEltYWdlRGF0YWAsIG9yIG9iamVjdCB3aXRoIGB3aWR0aGAsIGBoZWlnaHRgLCBhbmQgYGRhdGFgIHByb3BlcnRpZXMgd2l0aCB0aGUgc2FtZSBmb3JtYXQgYXMgYEltYWdlRGF0YWAiKSkpO3ZhciB1PXIud2lkdGgsaD1yLmhlaWdodCxmPXIuZGF0YSxwPXI7dGhpcy5zdHlsZS5hZGRJbWFnZShlLHtkYXRhOm5ldyB0LlJHQkFJbWFnZSh7d2lkdGg6dSxoZWlnaHQ6aH0sbmV3IFVpbnQ4QXJyYXkoZikpLHBpeGVsUmF0aW86YSxzZGY6aSx2ZXJzaW9uOjAsdXNlckltYWdlOnB9KSxwLm9uQWRkJiZwLm9uQWRkKHRoaXMsZSl9fSxhLnByb3RvdHlwZS51cGRhdGVJbWFnZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMuc3R5bGUuZ2V0SW1hZ2UoZSk7aWYoIW4pcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIG1hcCBoYXMgbm8gaW1hZ2Ugd2l0aCB0aGF0IGlkLiBJZiB5b3UgYXJlIGFkZGluZyBhIG5ldyBpbWFnZSB1c2UgYG1hcC5hZGRJbWFnZSguLi4pYCBpbnN0ZWFkLiIpKSk7dmFyIGE9ciBpbnN0YW5jZW9mIE9uP3QuYnJvd3Nlci5nZXRJbWFnZURhdGEocik6cixpPWEud2lkdGgsbz1hLmhlaWdodCxzPWEuZGF0YTtpZih2b2lkIDA9PT1pfHx2b2lkIDA9PT1vKXJldHVybiB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIkludmFsaWQgYXJndW1lbnRzIHRvIG1hcC51cGRhdGVJbWFnZSgpLiBUaGUgc2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYW4gYEhUTUxJbWFnZUVsZW1lbnRgLCBgSW1hZ2VEYXRhYCwgb3Igb2JqZWN0IHdpdGggYHdpZHRoYCwgYGhlaWdodGAsIGFuZCBgZGF0YWAgcHJvcGVydGllcyB3aXRoIHRoZSBzYW1lIGZvcm1hdCBhcyBgSW1hZ2VEYXRhYCIpKSk7aWYoaSE9PW4uZGF0YS53aWR0aHx8byE9PW4uZGF0YS5oZWlnaHQpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHVwZGF0ZWQgaW1hZ2UgbXVzdCBiZSB0aGF0IHNhbWUgYXMgdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlIGltYWdlIikpKTt2YXIgbD0hKHIgaW5zdGFuY2VvZiBPbik7bi5kYXRhLnJlcGxhY2UocyxsKSx0aGlzLnN0eWxlLnVwZGF0ZUltYWdlKGUsbil9LGEucHJvdG90eXBlLmhhc0ltYWdlPWZ1bmN0aW9uKGUpe3JldHVybiBlPyEhdGhpcy5zdHlsZS5nZXRJbWFnZShlKToodGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJNaXNzaW5nIHJlcXVpcmVkIGltYWdlIGlkIikpKSwhMSl9LGEucHJvdG90eXBlLnJlbW92ZUltYWdlPWZ1bmN0aW9uKHQpe3RoaXMuc3R5bGUucmVtb3ZlSW1hZ2UodCl9LGEucHJvdG90eXBlLmxvYWRJbWFnZT1mdW5jdGlvbihlLHIpe3QuZ2V0SW1hZ2UodGhpcy5fcmVxdWVzdE1hbmFnZXIudHJhbnNmb3JtUmVxdWVzdChlLHQuUmVzb3VyY2VUeXBlLkltYWdlKSxyKX0sYS5wcm90b3R5cGUubGlzdEltYWdlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0eWxlLmxpc3RJbWFnZXMoKX0sYS5wcm90b3R5cGUuYWRkTGF5ZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5zdHlsZS5hZGRMYXllcih0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLm1vdmVMYXllcj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN0eWxlLm1vdmVMYXllcih0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLnJlbW92ZUxheWVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLnJlbW92ZUxheWVyKHQpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLmdldExheWVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLmdldExheWVyKHQpfSxhLnByb3RvdHlwZS5zZXRGaWx0ZXI9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB2b2lkIDA9PT1yJiYocj17fSksdGhpcy5zdHlsZS5zZXRGaWx0ZXIodCxlLHIpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLnNldExheWVyWm9vbVJhbmdlPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHlsZS5zZXRMYXllclpvb21SYW5nZSh0LGUsciksdGhpcy5fdXBkYXRlKCEwKX0sYS5wcm90b3R5cGUuZ2V0RmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLmdldEZpbHRlcih0KX0sYS5wcm90b3R5cGUuc2V0UGFpbnRQcm9wZXJ0eT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49e30pLHRoaXMuc3R5bGUuc2V0UGFpbnRQcm9wZXJ0eSh0LGUscixuKSx0aGlzLl91cGRhdGUoITApfSxhLnByb3RvdHlwZS5nZXRQYWludFByb3BlcnR5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUuZ2V0UGFpbnRQcm9wZXJ0eSh0LGUpfSxhLnByb3RvdHlwZS5zZXRMYXlvdXRQcm9wZXJ0eT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49e30pLHRoaXMuc3R5bGUuc2V0TGF5b3V0UHJvcGVydHkodCxlLHIsbiksdGhpcy5fdXBkYXRlKCEwKX0sYS5wcm90b3R5cGUuZ2V0TGF5b3V0UHJvcGVydHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5zdHlsZS5nZXRMYXlvdXRQcm9wZXJ0eSh0LGUpfSxhLnByb3RvdHlwZS5zZXRMaWdodD1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT17fSksdGhpcy5zdHlsZS5zZXRMaWdodCh0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLmdldExpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3R5bGUuZ2V0TGlnaHQoKX0sYS5wcm90b3R5cGUuc2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUuc2V0RmVhdHVyZVN0YXRlKHQsZSksdGhpcy5fdXBkYXRlKCl9LGEucHJvdG90eXBlLnJlbW92ZUZlYXR1cmVTdGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN0eWxlLnJlbW92ZUZlYXR1cmVTdGF0ZSh0LGUpLHRoaXMuX3VwZGF0ZSgpfSxhLnByb3RvdHlwZS5nZXRGZWF0dXJlU3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3R5bGUuZ2V0RmVhdHVyZVN0YXRlKHQpfSxhLnByb3RvdHlwZS5nZXRDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyfSxhLnByb3RvdHlwZS5nZXRDYW52YXNDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FudmFzQ29udGFpbmVyfSxhLnByb3RvdHlwZS5nZXRDYW52YXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FudmFzfSxhLnByb3RvdHlwZS5fY29udGFpbmVyRGltZW5zaW9ucz1mdW5jdGlvbigpe3ZhciB0PTAsZT0wO3JldHVybiB0aGlzLl9jb250YWluZXImJih0PXRoaXMuX2NvbnRhaW5lci5jbGllbnRXaWR0aHx8NDAwLGU9dGhpcy5fY29udGFpbmVyLmNsaWVudEhlaWdodHx8MzAwKSxbdCxlXX0sYS5wcm90b3R5cGUuX2RldGVjdE1pc3NpbmdDU1M9ZnVuY3Rpb24oKXsicmdiKDI1MCwgMTI4LCAxMTQpIiE9PXQud2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fbWlzc2luZ0NTU0NhbmFyeSkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIpJiZ0Lndhcm5PbmNlKCJUaGlzIHBhZ2UgYXBwZWFycyB0byBiZSBtaXNzaW5nIENTUyBkZWNsYXJhdGlvbnMgZm9yIE1hcGJveCBHTCBKUywgd2hpY2ggbWF5IGNhdXNlIHRoZSBtYXAgdG8gZGlzcGxheSBpbmNvcnJlY3RseS4gUGxlYXNlIGVuc3VyZSB5b3VyIHBhZ2UgaW5jbHVkZXMgbWFwYm94LWdsLmNzcywgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vd3d3Lm1hcGJveC5jb20vbWFwYm94LWdsLWpzL2FwaS8uIil9LGEucHJvdG90eXBlLl9zZXR1cENvbnRhaW5lcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lcjt0LmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLW1hcCIpLCh0aGlzLl9taXNzaW5nQ1NTQ2FuYXJ5PXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1jYW5hcnkiLHQpKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHRoaXMuX2RldGVjdE1pc3NpbmdDU1MoKTt2YXIgZT10aGlzLl9jYW52YXNDb250YWluZXI9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLWNhbnZhcy1jb250YWluZXIiLHQpO3RoaXMuX2ludGVyYWN0aXZlJiZlLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWludGVyYWN0aXZlIiksdGhpcy5fY2FudmFzPXIuY3JlYXRlKCJjYW52YXMiLCJtYXBib3hnbC1jYW52YXMiLGUpLHRoaXMuX2NhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuX2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0Iix0aGlzLl9jb250ZXh0TG9zdCwhMSksdGhpcy5fY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIix0aGlzLl9jb250ZXh0UmVzdG9yZWQsITEpLHRoaXMuX2NhbnZhcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMuX2NhbnZhcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJNYXAiKTt2YXIgbj10aGlzLl9jb250YWluZXJEaW1lbnNpb25zKCk7dGhpcy5fcmVzaXplQ2FudmFzKG5bMF0sblsxXSk7dmFyIGE9dGhpcy5fY29udHJvbENvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY29udHJvbC1jb250YWluZXIiLHQpLGk9dGhpcy5fY29udHJvbFBvc2l0aW9ucz17fTtbInRvcC1sZWZ0IiwidG9wLXJpZ2h0IiwiYm90dG9tLWxlZnQiLCJib3R0b20tcmlnaHQiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lbdF09ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLWN0cmwtIit0LGEpfSl9LGEucHJvdG90eXBlLl9yZXNpemVDYW52YXM9ZnVuY3Rpb24oZSxyKXt2YXIgbj10LndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO3RoaXMuX2NhbnZhcy53aWR0aD1uKmUsdGhpcy5fY2FudmFzLmhlaWdodD1uKnIsdGhpcy5fY2FudmFzLnN0eWxlLndpZHRoPWUrInB4Iix0aGlzLl9jYW52YXMuc3R5bGUuaGVpZ2h0PXIrInB4In0sYS5wcm90b3R5cGUuX3NldHVwUGFpbnRlcj1mdW5jdGlvbigpe3ZhciByPXQuZXh0ZW5kKHt9LGUud2ViR0xDb250ZXh0QXR0cmlidXRlcyx7ZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDp0aGlzLl9mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0LHByZXNlcnZlRHJhd2luZ0J1ZmZlcjp0aGlzLl9wcmVzZXJ2ZURyYXdpbmdCdWZmZXIsYW50aWFsaWFzOnRoaXMuX2FudGlhbGlhc3x8ITF9KSxuPXRoaXMuX2NhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbCIscil8fHRoaXMuX2NhbnZhcy5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2ViZ2wiLHIpO24/KHRoaXMucGFpbnRlcj1uZXcgb24obix0aGlzLnRyYW5zZm9ybSksdC53ZWJwU3VwcG9ydGVkLnRlc3RTdXBwb3J0KG4pKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIFdlYkdMIikpKX0sYS5wcm90b3R5cGUuX2NvbnRleHRMb3N0PWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lLmNhbmNlbCgpLHRoaXMuX2ZyYW1lPW51bGwpLHRoaXMuZmlyZShuZXcgdC5FdmVudCgid2ViZ2xjb250ZXh0bG9zdCIse29yaWdpbmFsRXZlbnQ6ZX0pKX0sYS5wcm90b3R5cGUuX2NvbnRleHRSZXN0b3JlZD1mdW5jdGlvbihlKXt0aGlzLl9zZXR1cFBhaW50ZXIoKSx0aGlzLnJlc2l6ZSgpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuZmlyZShuZXcgdC5FdmVudCgid2ViZ2xjb250ZXh0cmVzdG9yZWQiLHtvcmlnaW5hbEV2ZW50OmV9KSl9LGEucHJvdG90eXBlLmxvYWRlZD1mdW5jdGlvbigpe3JldHVybiF0aGlzLl9zdHlsZURpcnR5JiYhdGhpcy5fc291cmNlc0RpcnR5JiYhIXRoaXMuc3R5bGUmJnRoaXMuc3R5bGUubG9hZGVkKCl9LGEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3R5bGU/KHRoaXMuX3N0eWxlRGlydHk9dGhpcy5fc3R5bGVEaXJ0eXx8dCx0aGlzLl9zb3VyY2VzRGlydHk9ITAsdGhpcy50cmlnZ2VyUmVwYWludCgpLHRoaXMpOnRoaXN9LGEucHJvdG90eXBlLl9yZXF1ZXN0UmVuZGVyRnJhbWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3VwZGF0ZSgpLHRoaXMuX3JlbmRlclRhc2tRdWV1ZS5hZGQodCl9LGEucHJvdG90eXBlLl9jYW5jZWxSZW5kZXJGcmFtZT1mdW5jdGlvbih0KXt0aGlzLl9yZW5kZXJUYXNrUXVldWUucmVtb3ZlKHQpfSxhLnByb3RvdHlwZS5fcmVuZGVyPWZ1bmN0aW9uKCl7dGhpcy5wYWludGVyLmNvbnRleHQuc2V0RGlydHkoKSx0aGlzLnBhaW50ZXIuc2V0QmFzZVN0YXRlKCksdGhpcy5fcmVuZGVyVGFza1F1ZXVlLnJ1bigpO3ZhciBlPSExO2lmKHRoaXMuc3R5bGUmJnRoaXMuX3N0eWxlRGlydHkpe3RoaXMuX3N0eWxlRGlydHk9ITE7dmFyIHI9dGhpcy50cmFuc2Zvcm0uem9vbSxuPXQuYnJvd3Nlci5ub3coKTt0aGlzLnN0eWxlLnpvb21IaXN0b3J5LnVwZGF0ZShyLG4pO3ZhciBhPW5ldyB0LkV2YWx1YXRpb25QYXJhbWV0ZXJzKHIse25vdzpuLGZhZGVEdXJhdGlvbjp0aGlzLl9mYWRlRHVyYXRpb24sem9vbUhpc3Rvcnk6dGhpcy5zdHlsZS56b29tSGlzdG9yeSx0cmFuc2l0aW9uOnRoaXMuc3R5bGUuZ2V0VHJhbnNpdGlvbigpfSksaT1hLmNyb3NzRmFkaW5nRmFjdG9yKCk7MT09PWkmJmk9PT10aGlzLl9jcm9zc0ZhZGluZ0ZhY3Rvcnx8KGU9ITAsdGhpcy5fY3Jvc3NGYWRpbmdGYWN0b3I9aSksdGhpcy5zdHlsZS51cGRhdGUoYSl9cmV0dXJuIHRoaXMuc3R5bGUmJnRoaXMuX3NvdXJjZXNEaXJ0eSYmKHRoaXMuX3NvdXJjZXNEaXJ0eT0hMSx0aGlzLnN0eWxlLl91cGRhdGVTb3VyY2VzKHRoaXMudHJhbnNmb3JtKSksdGhpcy5fcGxhY2VtZW50RGlydHk9dGhpcy5zdHlsZSYmdGhpcy5zdHlsZS5fdXBkYXRlUGxhY2VtZW50KHRoaXMucGFpbnRlci50cmFuc2Zvcm0sdGhpcy5zaG93Q29sbGlzaW9uQm94ZXMsdGhpcy5fZmFkZUR1cmF0aW9uLHRoaXMuX2Nyb3NzU291cmNlQ29sbGlzaW9ucyksdGhpcy5wYWludGVyLnJlbmRlcih0aGlzLnN0eWxlLHtzaG93VGlsZUJvdW5kYXJpZXM6dGhpcy5zaG93VGlsZUJvdW5kYXJpZXMsc2hvd092ZXJkcmF3SW5zcGVjdG9yOnRoaXMuX3Nob3dPdmVyZHJhd0luc3BlY3Rvcixyb3RhdGluZzp0aGlzLmlzUm90YXRpbmcoKSx6b29taW5nOnRoaXMuaXNab29taW5nKCksbW92aW5nOnRoaXMuaXNNb3ZpbmcoKSxmYWRlRHVyYXRpb246dGhpcy5fZmFkZUR1cmF0aW9ufSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJyZW5kZXIiKSksdGhpcy5sb2FkZWQoKSYmIXRoaXMuX2xvYWRlZCYmKHRoaXMuX2xvYWRlZD0hMCx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImxvYWQiKSkpLHRoaXMuc3R5bGUmJih0aGlzLnN0eWxlLmhhc1RyYW5zaXRpb25zKCl8fGUpJiYodGhpcy5fc3R5bGVEaXJ0eT0hMCksdGhpcy5zdHlsZSYmIXRoaXMuX3BsYWNlbWVudERpcnR5JiZ0aGlzLnN0eWxlLl9yZWxlYXNlU3ltYm9sRmFkZVRpbGVzKCksdGhpcy5fc291cmNlc0RpcnR5fHx0aGlzLl9yZXBhaW50fHx0aGlzLl9zdHlsZURpcnR5fHx0aGlzLl9wbGFjZW1lbnREaXJ0eT90aGlzLnRyaWdnZXJSZXBhaW50KCk6IXRoaXMuaXNNb3ZpbmcoKSYmdGhpcy5sb2FkZWQoKSYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJpZGxlIikpLHRoaXN9LGEucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX2hhc2gmJnRoaXMuX2hhc2gucmVtb3ZlKCk7Zm9yKHZhciBlPTAscj10aGlzLl9jb250cm9scztlPHIubGVuZ3RoO2UrPTEpcltlXS5vblJlbW92ZSh0aGlzKTt0aGlzLl9jb250cm9scz1bXSx0aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lLmNhbmNlbCgpLHRoaXMuX2ZyYW1lPW51bGwpLHRoaXMuX3JlbmRlclRhc2tRdWV1ZS5jbGVhcigpLHRoaXMuc2V0U3R5bGUobnVsbCksdm9pZCAwIT09dC53aW5kb3cmJih0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX29uV2luZG93UmVzaXplLCExKSx0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uV2luZG93T25saW5lLCExKSk7dmFyIG49dGhpcy5wYWludGVyLmNvbnRleHQuZ2wuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9sb3NlX2NvbnRleHQiKTtuJiZuLmxvc2VDb250ZXh0KCksUm4odGhpcy5fY2FudmFzQ29udGFpbmVyKSxSbih0aGlzLl9jb250cm9sQ29udGFpbmVyKSxSbih0aGlzLl9taXNzaW5nQ1NTQ2FuYXJ5KSx0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtbWFwIiksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJyZW1vdmUiKSl9LGEucHJvdG90eXBlLnRyaWdnZXJSZXBhaW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLnN0eWxlJiYhdGhpcy5fZnJhbWUmJih0aGlzLl9mcmFtZT10LmJyb3dzZXIuZnJhbWUoZnVuY3Rpb24oKXtlLl9mcmFtZT1udWxsLGUuX3JlbmRlcigpfSkpfSxhLnByb3RvdHlwZS5fb25XaW5kb3dPbmxpbmU9ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGUoKX0sYS5wcm90b3R5cGUuX29uV2luZG93UmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5fdHJhY2tSZXNpemUmJnRoaXMucmVzaXplKCkuX3VwZGF0ZSgpfSxpLnNob3dUaWxlQm91bmRhcmllcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX3Nob3dUaWxlQm91bmRhcmllc30saS5zaG93VGlsZUJvdW5kYXJpZXMuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3Nob3dUaWxlQm91bmRhcmllcyE9PXQmJih0aGlzLl9zaG93VGlsZUJvdW5kYXJpZXM9dCx0aGlzLl91cGRhdGUoKSl9LGkuc2hvd0NvbGxpc2lvbkJveGVzLmdldD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fc2hvd0NvbGxpc2lvbkJveGVzfSxpLnNob3dDb2xsaXNpb25Cb3hlcy5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc2hvd0NvbGxpc2lvbkJveGVzIT09dCYmKHRoaXMuX3Nob3dDb2xsaXNpb25Cb3hlcz10LHQ/dGhpcy5zdHlsZS5fZ2VuZXJhdGVDb2xsaXNpb25Cb3hlcygpOnRoaXMuX3VwZGF0ZSgpKX0saS5zaG93T3ZlcmRyYXdJbnNwZWN0b3IuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3J9LGkuc2hvd092ZXJkcmF3SW5zcGVjdG9yLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3IhPT10JiYodGhpcy5fc2hvd092ZXJkcmF3SW5zcGVjdG9yPXQsdGhpcy5fdXBkYXRlKCkpfSxpLnJlcGFpbnQuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9yZXBhaW50fSxpLnJlcGFpbnQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3JlcGFpbnQhPT10JiYodGhpcy5fcmVwYWludD10LHRoaXMudHJpZ2dlclJlcGFpbnQoKSl9LGkudmVydGljZXMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl92ZXJ0aWNlc30saS52ZXJ0aWNlcy5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fdmVydGljZXM9dCx0aGlzLl91cGRhdGUoKX0sYS5wcm90b3R5cGUuX3NldENhY2hlTGltaXRzPWZ1bmN0aW9uKGUscil7dC5zZXRDYWNoZUxpbWl0cyhlLHIpfSxpLnZlcnNpb24uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHQudmVyc2lvbn0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYS5wcm90b3R5cGUsaSksYX0oRW4pO2Z1bmN0aW9uIFJuKHQpe3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfXZhciBGbj17c2hvd0NvbXBhc3M6ITAsc2hvd1pvb206ITAsdmlzdWFsaXplUGl0Y2g6ITF9LEJuPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7dGhpcy5vcHRpb25zPXQuZXh0ZW5kKHt9LEZuLGUpLHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybCBtYXBib3hnbC1jdHJsLWdyb3VwIiksdGhpcy5fY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpfSksdGhpcy5vcHRpb25zLnNob3dab29tJiYodC5iaW5kQWxsKFsiX3VwZGF0ZVpvb21CdXR0b25zIl0sdGhpcyksdGhpcy5fem9vbUluQnV0dG9uPXRoaXMuX2NyZWF0ZUJ1dHRvbigibWFwYm94Z2wtY3RybC1pY29uIG1hcGJveGdsLWN0cmwtem9vbS1pbiIsIlpvb20gaW4iLGZ1bmN0aW9uKCl7cmV0dXJuIG4uX21hcC56b29tSW4oKX0pLHRoaXMuX3pvb21PdXRCdXR0b249dGhpcy5fY3JlYXRlQnV0dG9uKCJtYXBib3hnbC1jdHJsLWljb24gbWFwYm94Z2wtY3RybC16b29tLW91dCIsIlpvb20gb3V0IixmdW5jdGlvbigpe3JldHVybiBuLl9tYXAuem9vbU91dCgpfSkpLHRoaXMub3B0aW9ucy5zaG93Q29tcGFzcyYmKHQuYmluZEFsbChbIl9yb3RhdGVDb21wYXNzQXJyb3ciXSx0aGlzKSx0aGlzLl9jb21wYXNzPXRoaXMuX2NyZWF0ZUJ1dHRvbigibWFwYm94Z2wtY3RybC1pY29uIG1hcGJveGdsLWN0cmwtY29tcGFzcyIsIlJlc2V0IGJlYXJpbmcgdG8gbm9ydGgiLGZ1bmN0aW9uKCl7bi5vcHRpb25zLnZpc3VhbGl6ZVBpdGNoP24uX21hcC5yZXNldE5vcnRoUGl0Y2goKTpuLl9tYXAucmVzZXROb3J0aCgpfSksdGhpcy5fY29tcGFzc0Fycm93PXIuY3JlYXRlKCJzcGFuIiwibWFwYm94Z2wtY3RybC1jb21wYXNzLWFycm93Iix0aGlzLl9jb21wYXNzKSl9O2Z1bmN0aW9uIE5uKGUscixuKXtpZihlPW5ldyB0LkxuZ0xhdChlLmxuZyxlLmxhdCkscil7dmFyIGE9bmV3IHQuTG5nTGF0KGUubG5nLTM2MCxlLmxhdCksaT1uZXcgdC5MbmdMYXQoZS5sbmcrMzYwLGUubGF0KSxvPW4ubG9jYXRpb25Qb2ludChlKS5kaXN0U3FyKHIpO24ubG9jYXRpb25Qb2ludChhKS5kaXN0U3FyKHIpPG8/ZT1hOm4ubG9jYXRpb25Qb2ludChpKS5kaXN0U3FyKHIpPG8mJihlPWkpfWZvcig7TWF0aC5hYnMoZS5sbmctbi5jZW50ZXIubG5nKT4xODA7KXt2YXIgcz1uLmxvY2F0aW9uUG9pbnQoZSk7aWYocy54Pj0wJiZzLnk+PTAmJnMueDw9bi53aWR0aCYmcy55PD1uLmhlaWdodClicmVhaztlLmxuZz5uLmNlbnRlci5sbmc/ZS5sbmctPTM2MDplLmxuZys9MzYwfXJldHVybiBlfUJuLnByb3RvdHlwZS5fdXBkYXRlWm9vbUJ1dHRvbnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXAuZ2V0Wm9vbSgpO3Q9PT10aGlzLl9tYXAuZ2V0TWF4Wm9vbSgpP3RoaXMuX3pvb21JbkJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWljb24tZGlzYWJsZWQiKTp0aGlzLl96b29tSW5CdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1pY29uLWRpc2FibGVkIiksdD09PXRoaXMuX21hcC5nZXRNaW5ab29tKCk/dGhpcy5fem9vbU91dEJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWljb24tZGlzYWJsZWQiKTp0aGlzLl96b29tT3V0QnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtaWNvbi1kaXNhYmxlZCIpfSxCbi5wcm90b3R5cGUuX3JvdGF0ZUNvbXBhc3NBcnJvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy52aXN1YWxpemVQaXRjaD8ic2NhbGUoIisxL01hdGgucG93KE1hdGguY29zKHRoaXMuX21hcC50cmFuc2Zvcm0ucGl0Y2gqKE1hdGguUEkvMTgwKSksLjUpKyIpIHJvdGF0ZVgoIit0aGlzLl9tYXAudHJhbnNmb3JtLnBpdGNoKyJkZWcpIHJvdGF0ZVooIit0aGlzLl9tYXAudHJhbnNmb3JtLmFuZ2xlKigxODAvTWF0aC5QSSkrImRlZykiOiJyb3RhdGUoIit0aGlzLl9tYXAudHJhbnNmb3JtLmFuZ2xlKigxODAvTWF0aC5QSSkrImRlZykiO3RoaXMuX2NvbXBhc3NBcnJvdy5zdHlsZS50cmFuc2Zvcm09dH0sQm4ucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tYXA9dCx0aGlzLm9wdGlvbnMuc2hvd1pvb20mJih0aGlzLl9tYXAub24oInpvb20iLHRoaXMuX3VwZGF0ZVpvb21CdXR0b25zKSx0aGlzLl91cGRhdGVab29tQnV0dG9ucygpKSx0aGlzLm9wdGlvbnMuc2hvd0NvbXBhc3MmJih0aGlzLm9wdGlvbnMudmlzdWFsaXplUGl0Y2gmJnRoaXMuX21hcC5vbigicGl0Y2giLHRoaXMuX3JvdGF0ZUNvbXBhc3NBcnJvdyksdGhpcy5fbWFwLm9uKCJyb3RhdGUiLHRoaXMuX3JvdGF0ZUNvbXBhc3NBcnJvdyksdGhpcy5fcm90YXRlQ29tcGFzc0Fycm93KCksdGhpcy5faGFuZGxlcj1uZXcgeG4odCx7YnV0dG9uOiJsZWZ0IixlbGVtZW50OnRoaXMuX2NvbXBhc3N9KSxyLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywibW91c2Vkb3duIix0aGlzLl9oYW5kbGVyLm9uTW91c2VEb3duKSxyLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywidG91Y2hzdGFydCIsdGhpcy5faGFuZGxlci5vbk1vdXNlRG93bix7cGFzc2l2ZTohMX0pLHRoaXMuX2hhbmRsZXIuZW5hYmxlKCkpLHRoaXMuX2NvbnRhaW5lcn0sQm4ucHJvdG90eXBlLm9uUmVtb3ZlPWZ1bmN0aW9uKCl7ci5yZW1vdmUodGhpcy5fY29udGFpbmVyKSx0aGlzLm9wdGlvbnMuc2hvd1pvb20mJnRoaXMuX21hcC5vZmYoInpvb20iLHRoaXMuX3VwZGF0ZVpvb21CdXR0b25zKSx0aGlzLm9wdGlvbnMuc2hvd0NvbXBhc3MmJih0aGlzLm9wdGlvbnMudmlzdWFsaXplUGl0Y2gmJnRoaXMuX21hcC5vZmYoInBpdGNoIix0aGlzLl9yb3RhdGVDb21wYXNzQXJyb3cpLHRoaXMuX21hcC5vZmYoInJvdGF0ZSIsdGhpcy5fcm90YXRlQ29tcGFzc0Fycm93KSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywibW91c2Vkb3duIix0aGlzLl9oYW5kbGVyLm9uTW91c2VEb3duKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywidG91Y2hzdGFydCIsdGhpcy5faGFuZGxlci5vbk1vdXNlRG93bix7cGFzc2l2ZTohMX0pLHRoaXMuX2hhbmRsZXIuZGlzYWJsZSgpLGRlbGV0ZSB0aGlzLl9oYW5kbGVyKSxkZWxldGUgdGhpcy5fbWFwfSxCbi5wcm90b3R5cGUuX2NyZWF0ZUJ1dHRvbj1mdW5jdGlvbih0LGUsbil7dmFyIGE9ci5jcmVhdGUoImJ1dHRvbiIsdCx0aGlzLl9jb250YWluZXIpO3JldHVybiBhLnR5cGU9ImJ1dHRvbiIsYS50aXRsZT1lLGEuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuKSxhfTt2YXIgam49e2NlbnRlcjoidHJhbnNsYXRlKC01MCUsLTUwJSkiLHRvcDoidHJhbnNsYXRlKC01MCUsMCkiLCJ0b3AtbGVmdCI6InRyYW5zbGF0ZSgwLDApIiwidG9wLXJpZ2h0IjoidHJhbnNsYXRlKC0xMDAlLDApIixib3R0b206InRyYW5zbGF0ZSgtNTAlLC0xMDAlKSIsImJvdHRvbS1sZWZ0IjoidHJhbnNsYXRlKDAsLTEwMCUpIiwiYm90dG9tLXJpZ2h0IjoidHJhbnNsYXRlKC0xMDAlLC0xMDAlKSIsbGVmdDoidHJhbnNsYXRlKDAsLTUwJSkiLHJpZ2h0OiJ0cmFuc2xhdGUoLTEwMCUsLTUwJSkifTtmdW5jdGlvbiBWbih0LGUscil7dmFyIG49dC5jbGFzc0xpc3Q7Zm9yKHZhciBhIGluIGpuKW4ucmVtb3ZlKCJtYXBib3hnbC0iK3IrIi1hbmNob3ItIithKTtuLmFkZCgibWFwYm94Z2wtIityKyItYW5jaG9yLSIrZSl9dmFyIFVuLHFuPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4obixhKXtpZihlLmNhbGwodGhpcyksKG4gaW5zdGFuY2VvZiB0LndpbmRvdy5IVE1MRWxlbWVudHx8YSkmJihuPXQuZXh0ZW5kKHtlbGVtZW50Om59LGEpKSx0LmJpbmRBbGwoWyJfdXBkYXRlIiwiX29uTW92ZSIsIl9vblVwIiwiX2FkZERyYWdIYW5kbGVyIiwiX29uTWFwQ2xpY2siXSx0aGlzKSx0aGlzLl9hbmNob3I9biYmbi5hbmNob3J8fCJjZW50ZXIiLHRoaXMuX2NvbG9yPW4mJm4uY29sb3J8fCIjM0ZCMUNFIix0aGlzLl9kcmFnZ2FibGU9biYmbi5kcmFnZ2FibGV8fCExLHRoaXMuX3N0YXRlPSJpbmFjdGl2ZSIsbiYmbi5lbGVtZW50KXRoaXMuX2VsZW1lbnQ9bi5lbGVtZW50LHRoaXMuX29mZnNldD10LlBvaW50LmNvbnZlcnQobiYmbi5vZmZzZXR8fFswLDBdKTtlbHNle3RoaXMuX2RlZmF1bHRNYXJrZXI9ITAsdGhpcy5fZWxlbWVudD1yLmNyZWF0ZSgiZGl2Iik7dmFyIGk9ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKTtpLnNldEF0dHJpYnV0ZU5TKG51bGwsImRpc3BsYXkiLCJibG9jayIpLGkuc2V0QXR0cmlidXRlTlMobnVsbCwiaGVpZ2h0IiwiNDFweCIpLGkuc2V0QXR0cmlidXRlTlMobnVsbCwid2lkdGgiLCIyN3B4IiksaS5zZXRBdHRyaWJ1dGVOUyhudWxsLCJ2aWV3Qm94IiwiMCAwIDI3IDQxIik7dmFyIG89ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIik7by5zZXRBdHRyaWJ1dGVOUyhudWxsLCJzdHJva2UiLCJub25lIiksby5zZXRBdHRyaWJ1dGVOUyhudWxsLCJzdHJva2Utd2lkdGgiLCIxIiksby5zZXRBdHRyaWJ1dGVOUyhudWxsLCJmaWxsIiwibm9uZSIpLG8uc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbC1ydWxlIiwiZXZlbm9kZCIpO3ZhciBzPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO3Muc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbC1ydWxlIiwibm9uemVybyIpO3ZhciBsPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO2wuc2V0QXR0cmlidXRlTlMobnVsbCwidHJhbnNmb3JtIiwidHJhbnNsYXRlKDMuMCwgMjkuMCkiKSxsLnNldEF0dHJpYnV0ZU5TKG51bGwsImZpbGwiLCIjMDAwMDAwIik7Zm9yKHZhciBjPTAsdT1be3J4OiIxMC41IixyeToiNS4yNTAwMjI3MyJ9LHtyeDoiMTAuNSIscnk6IjUuMjUwMDIyNzMifSx7cng6IjkuNSIscnk6IjQuNzcyNzUwMDcifSx7cng6IjguNSIscnk6IjQuMjk1NDk5MzYifSx7cng6IjcuNSIscnk6IjMuODE4MjIzMDgifSx7cng6IjYuNSIscnk6IjMuMzQwOTQ2NzkifSx7cng6IjUuNSIscnk6IjIuODYzNjcwNTEifSx7cng6IjQuNSIscnk6IjIuMzg2MzY4NjQifV07Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdLGY9ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbGxpcHNlIik7Zi5zZXRBdHRyaWJ1dGVOUyhudWxsLCJvcGFjaXR5IiwiMC4wNCIpLGYuc2V0QXR0cmlidXRlTlMobnVsbCwiY3giLCIxMC41IiksZi5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeSIsIjUuODAwMjkwMDgiKSxmLnNldEF0dHJpYnV0ZU5TKG51bGwsInJ4IixoLnJ4KSxmLnNldEF0dHJpYnV0ZU5TKG51bGwsInJ5IixoLnJ5KSxsLmFwcGVuZENoaWxkKGYpfXZhciBwPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO3Auc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsdGhpcy5fY29sb3IpO3ZhciBkPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicGF0aCIpO2Quc2V0QXR0cmlidXRlTlMobnVsbCwiZCIsIk0yNywxMy41IEMyNywxOS4wNzQ2NDQgMjAuMjUwMDAxLDI3LjAwMDAwMiAxNC43NSwzNC41MDAwMDIgQzE0LjAxNjY2NSwzNS41MDAwMDQgMTIuOTgzMzM1LDM1LjUwMDAwNCAxMi4yNSwzNC41MDAwMDIgQzYuNzQ5OTk5MywyNy4wMDAwMDIgMCwxOS4yMjI1NjIgMCwxMy41IEMwLDYuMDQ0MTU1OSA2LjA0NDE1NTksMCAxMy41LDAgQzIwLjk1NTg0NCwwIDI3LDYuMDQ0MTU1OSAyNywxMy41IFoiKSxwLmFwcGVuZENoaWxkKGQpO3ZhciBnPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO2cuc2V0QXR0cmlidXRlTlMobnVsbCwib3BhY2l0eSIsIjAuMjUiKSxnLnNldEF0dHJpYnV0ZU5TKG51bGwsImZpbGwiLCIjMDAwMDAwIik7dmFyIHY9ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7di5zZXRBdHRyaWJ1dGVOUyhudWxsLCJkIiwiTTEzLjUsMCBDNi4wNDQxNTU5LDAgMCw2LjA0NDE1NTkgMCwxMy41IEMwLDE5LjIyMjU2MiA2Ljc0OTk5OTMsMjcgMTIuMjUsMzQuNSBDMTMsMzUuNTIyNzI3IDE0LjAxNjY2NCwzNS41MDAwMDQgMTQuNzUsMzQuNSBDMjAuMjUwMDAxLDI3IDI3LDE5LjA3NDY0NCAyNywxMy41IEMyNyw2LjA0NDE1NTkgMjAuOTU1ODQ0LDAgMTMuNSwwIFogTTEzLjUsMSBDMjAuNDE1NDA0LDEgMjYsNi41ODQ1OTYgMjYsMTMuNSBDMjYsMTUuODk4NjU3IDI0LjQ5NTU4NCwxOS4xODE0MzEgMjIuMjIwNzAzLDIyLjczODI4MSBDMTkuOTQ1ODIzLDI2LjI5NTEzMiAxNi43MDUxMTksMzAuMTQyMTY3IDEzLjk0MzM1OSwzMy45MDgyMDMgQzEzLjc0MzQ0NSwzNC4xODA4MTQgMTMuNjEyNzE1LDM0LjMyMjczOCAxMy41LDM0LjQ0MTQwNiBDMTMuMzg3Mjg1LDM0LjMyMjczOCAxMy4yNTY1NTUsMzQuMTgwODE0IDEzLjA1NjY0MSwzMy45MDgyMDMgQzEwLjI4NDQ4MSwzMC4xMjc5ODUgNy40MTQ4Njg0LDI2LjMxNDE1OSA1LjAxNTYyNSwyMi43NzM0MzggQzIuNjE2MzgxNiwxOS4yMzI3MTUgMSwxNS45NTM1MzggMSwxMy41IEMxLDYuNTg0NTk2IDYuNTg0NTk2LDEgMTMuNSwxIFoiKSxnLmFwcGVuZENoaWxkKHYpO3ZhciBtPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO20uc2V0QXR0cmlidXRlTlMobnVsbCwidHJhbnNmb3JtIiwidHJhbnNsYXRlKDYuMCwgNy4wKSIpLG0uc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsIiNGRkZGRkYiKTt2YXIgeT1yLmNyZWF0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKTt5LnNldEF0dHJpYnV0ZU5TKG51bGwsInRyYW5zZm9ybSIsInRyYW5zbGF0ZSg4LjAsIDguMCkiKTt2YXIgeD1yLmNyZWF0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImNpcmNsZSIpO3guc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsIiMwMDAwMDAiKSx4LnNldEF0dHJpYnV0ZU5TKG51bGwsIm9wYWNpdHkiLCIwLjI1IikseC5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeCIsIjUuNSIpLHguc2V0QXR0cmlidXRlTlMobnVsbCwiY3kiLCI1LjUiKSx4LnNldEF0dHJpYnV0ZU5TKG51bGwsInIiLCI1LjQ5OTk5NjIiKTt2YXIgYj1yLmNyZWF0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImNpcmNsZSIpO2Iuc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsIiNGRkZGRkYiKSxiLnNldEF0dHJpYnV0ZU5TKG51bGwsImN4IiwiNS41IiksYi5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeSIsIjUuNSIpLGIuc2V0QXR0cmlidXRlTlMobnVsbCwiciIsIjUuNDk5OTk2MiIpLHkuYXBwZW5kQ2hpbGQoeCkseS5hcHBlbmRDaGlsZChiKSxzLmFwcGVuZENoaWxkKGwpLHMuYXBwZW5kQ2hpbGQocCkscy5hcHBlbmRDaGlsZChnKSxzLmFwcGVuZENoaWxkKG0pLHMuYXBwZW5kQ2hpbGQoeSksaS5hcHBlbmRDaGlsZChzKSx0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGkpLHRoaXMuX29mZnNldD10LlBvaW50LmNvbnZlcnQobiYmbi5vZmZzZXR8fFswLC0xNF0pfXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtbWFya2VyIiksdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX0pLFZuKHRoaXMuX2VsZW1lbnQsdGhpcy5fYW5jaG9yLCJtYXJrZXIiKSx0aGlzLl9wb3B1cD1udWxsfXJldHVybiBlJiYobi5fX3Byb3RvX189ZSksbi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksbi5wcm90b3R5cGUuY29uc3RydWN0b3I9bixuLnByb3RvdHlwZS5hZGRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZW1vdmUoKSx0aGlzLl9tYXA9dCx0LmdldENhbnZhc0NvbnRhaW5lcigpLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpLHQub24oIm1vdmUiLHRoaXMuX3VwZGF0ZSksdC5vbigibW92ZWVuZCIsdGhpcy5fdXBkYXRlKSx0aGlzLnNldERyYWdnYWJsZSh0aGlzLl9kcmFnZ2FibGUpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX21hcC5vbigiY2xpY2siLHRoaXMuX29uTWFwQ2xpY2spLHRoaXN9LG4ucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJih0aGlzLl9tYXAub2ZmKCJjbGljayIsdGhpcy5fb25NYXBDbGljayksdGhpcy5fbWFwLm9mZigibW92ZSIsdGhpcy5fdXBkYXRlKSx0aGlzLl9tYXAub2ZmKCJtb3ZlZW5kIix0aGlzLl91cGRhdGUpLHRoaXMuX21hcC5vZmYoIm1vdXNlZG93biIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpLHRoaXMuX21hcC5vZmYoInRvdWNoc3RhcnQiLHRoaXMuX2FkZERyYWdIYW5kbGVyKSx0aGlzLl9tYXAub2ZmKCJtb3VzZXVwIix0aGlzLl9vblVwKSx0aGlzLl9tYXAub2ZmKCJ0b3VjaGVuZCIsdGhpcy5fb25VcCksdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdmUpLHRoaXMuX21hcC5vZmYoInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlKSxkZWxldGUgdGhpcy5fbWFwKSxyLnJlbW92ZSh0aGlzLl9lbGVtZW50KSx0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAucmVtb3ZlKCksdGhpc30sbi5wcm90b3R5cGUuZ2V0TG5nTGF0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xuZ0xhdH0sbi5wcm90b3R5cGUuc2V0TG5nTGF0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9sbmdMYXQ9dC5MbmdMYXQuY29udmVydChlKSx0aGlzLl9wb3M9bnVsbCx0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAuc2V0TG5nTGF0KHRoaXMuX2xuZ0xhdCksdGhpcy5fdXBkYXRlKCksdGhpc30sbi5wcm90b3R5cGUuZ2V0RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGVtZW50fSxuLnByb3RvdHlwZS5zZXRQb3B1cD1mdW5jdGlvbih0KXtpZih0aGlzLl9wb3B1cCYmKHRoaXMuX3BvcHVwLnJlbW92ZSgpLHRoaXMuX3BvcHVwPW51bGwpLHQpe2lmKCEoIm9mZnNldCJpbiB0Lm9wdGlvbnMpKXt2YXIgZT1NYXRoLnNxcnQoTWF0aC5wb3coMTMuNSwyKS8yKTt0Lm9wdGlvbnMub2Zmc2V0PXRoaXMuX2RlZmF1bHRNYXJrZXI/e3RvcDpbMCwwXSwidG9wLWxlZnQiOlswLDBdLCJ0b3AtcmlnaHQiOlswLDBdLGJvdHRvbTpbMCwtMzguMV0sImJvdHRvbS1sZWZ0IjpbZSwtMSooMjQuNitlKV0sImJvdHRvbS1yaWdodCI6Wy1lLC0xKigyNC42K2UpXSxsZWZ0OlsxMy41LC0yNC42XSxyaWdodDpbLTEzLjUsLTI0LjZdfTp0aGlzLl9vZmZzZXR9dGhpcy5fcG9wdXA9dCx0aGlzLl9sbmdMYXQmJnRoaXMuX3BvcHVwLnNldExuZ0xhdCh0aGlzLl9sbmdMYXQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5fb25NYXBDbGljaz1mdW5jdGlvbih0KXt2YXIgZT10Lm9yaWdpbmFsRXZlbnQudGFyZ2V0LHI9dGhpcy5fZWxlbWVudDt0aGlzLl9wb3B1cCYmKGU9PT1yfHxyLmNvbnRhaW5zKGUpKSYmdGhpcy50b2dnbGVQb3B1cCgpfSxuLnByb3RvdHlwZS5nZXRQb3B1cD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3B1cH0sbi5wcm90b3R5cGUudG9nZ2xlUG9wdXA9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wb3B1cDtyZXR1cm4gdD8odC5pc09wZW4oKT90LnJlbW92ZSgpOnQuYWRkVG8odGhpcy5fbWFwKSx0aGlzKTp0aGlzfSxuLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuX21hcCYmKHRoaXMuX21hcC50cmFuc2Zvcm0ucmVuZGVyV29ybGRDb3BpZXMmJih0aGlzLl9sbmdMYXQ9Tm4odGhpcy5fbG5nTGF0LHRoaXMuX3Bvcyx0aGlzLl9tYXAudHJhbnNmb3JtKSksdGhpcy5fcG9zPXRoaXMuX21hcC5wcm9qZWN0KHRoaXMuX2xuZ0xhdCkuX2FkZCh0aGlzLl9vZmZzZXQpLHQmJiJtb3ZlZW5kIiE9PXQudHlwZXx8KHRoaXMuX3Bvcz10aGlzLl9wb3Mucm91bmQoKSksci5zZXRUcmFuc2Zvcm0odGhpcy5fZWxlbWVudCxqblt0aGlzLl9hbmNob3JdKyIgdHJhbnNsYXRlKCIrdGhpcy5fcG9zLngrInB4LCAiK3RoaXMuX3Bvcy55KyJweCkiKSl9LG4ucHJvdG90eXBlLmdldE9mZnNldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9vZmZzZXR9LG4ucHJvdG90eXBlLnNldE9mZnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fb2Zmc2V0PXQuUG9pbnQuY29udmVydChlKSx0aGlzLl91cGRhdGUoKSx0aGlzfSxuLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKGUpe3RoaXMuX3Bvcz1lLnBvaW50LnN1Yih0aGlzLl9wb3NpdGlvbkRlbHRhKSx0aGlzLl9sbmdMYXQ9dGhpcy5fbWFwLnVucHJvamVjdCh0aGlzLl9wb3MpLHRoaXMuc2V0TG5nTGF0KHRoaXMuX2xuZ0xhdCksdGhpcy5fZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIiwicGVuZGluZyI9PT10aGlzLl9zdGF0ZSYmKHRoaXMuX3N0YXRlPSJhY3RpdmUiLHRoaXMuZmlyZShuZXcgdC5FdmVudCgiZHJhZ3N0YXJ0IikpKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRyYWciKSl9LG4ucHJvdG90eXBlLl9vblVwPWZ1bmN0aW9uKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzPSJhdXRvIix0aGlzLl9wb3NpdGlvbkRlbHRhPW51bGwsdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdmUpLHRoaXMuX21hcC5vZmYoInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlKSwiYWN0aXZlIj09PXRoaXMuX3N0YXRlJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRyYWdlbmQiKSksdGhpcy5fc3RhdGU9ImluYWN0aXZlIn0sbi5wcm90b3R5cGUuX2FkZERyYWdIYW5kbGVyPWZ1bmN0aW9uKHQpe3RoaXMuX2VsZW1lbnQuY29udGFpbnModC5vcmlnaW5hbEV2ZW50LnRhcmdldCkmJih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fcG9zaXRpb25EZWx0YT10LnBvaW50LnN1Yih0aGlzLl9wb3MpLmFkZCh0aGlzLl9vZmZzZXQpLHRoaXMuX3N0YXRlPSJwZW5kaW5nIix0aGlzLl9tYXAub24oIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3ZlKSx0aGlzLl9tYXAub24oInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlKSx0aGlzLl9tYXAub25jZSgibW91c2V1cCIsdGhpcy5fb25VcCksdGhpcy5fbWFwLm9uY2UoInRvdWNoZW5kIix0aGlzLl9vblVwKSl9LG4ucHJvdG90eXBlLnNldERyYWdnYWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlPSEhdCx0aGlzLl9tYXAmJih0Pyh0aGlzLl9tYXAub24oIm1vdXNlZG93biIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpLHRoaXMuX21hcC5vbigidG91Y2hzdGFydCIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpKToodGhpcy5fbWFwLm9mZigibW91c2Vkb3duIix0aGlzLl9hZGREcmFnSGFuZGxlciksdGhpcy5fbWFwLm9mZigidG91Y2hzdGFydCIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpKSksdGhpc30sbi5wcm90b3R5cGUuaXNEcmFnZ2FibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlfSxufSh0LkV2ZW50ZWQpLEhuPXtwb3NpdGlvbk9wdGlvbnM6e2VuYWJsZUhpZ2hBY2N1cmFjeTohMSxtYXhpbXVtQWdlOjAsdGltZW91dDo2ZTN9LGZpdEJvdW5kc09wdGlvbnM6e21heFpvb206MTV9LHRyYWNrVXNlckxvY2F0aW9uOiExLHNob3dVc2VyTG9jYXRpb246ITB9LEduPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4ocil7ZS5jYWxsKHRoaXMpLHRoaXMub3B0aW9ucz10LmV4dGVuZCh7fSxIbixyKSx0LmJpbmRBbGwoWyJfb25TdWNjZXNzIiwiX29uRXJyb3IiLCJfZmluaXNoIiwiX3NldHVwVUkiLCJfdXBkYXRlQ2FtZXJhIiwiX3VwZGF0ZU1hcmtlciJdLHRoaXMpfXJldHVybiBlJiYobi5fX3Byb3RvX189ZSksbi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksbi5wcm90b3R5cGUuY29uc3RydWN0b3I9bixuLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbihlKXt2YXIgbjtyZXR1cm4gdGhpcy5fbWFwPWUsdGhpcy5fY29udGFpbmVyPXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1jdHJsIG1hcGJveGdsLWN0cmwtZ3JvdXAiKSxuPXRoaXMuX3NldHVwVUksdm9pZCAwIT09VW4/bihVbik6dm9pZCAwIT09dC53aW5kb3cubmF2aWdhdG9yLnBlcm1pc3Npb25zP3Qud2luZG93Lm5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSh7bmFtZToiZ2VvbG9jYXRpb24ifSkudGhlbihmdW5jdGlvbih0KXtVbj0iZGVuaWVkIiE9PXQuc3RhdGUsbihVbil9KTooVW49ISF0LndpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24sbihVbikpLHRoaXMuX2NvbnRhaW5lcn0sbi5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXt2b2lkIDAhPT10aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQmJih0LndpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh0aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQpLHRoaXMuX2dlb2xvY2F0aW9uV2F0Y2hJRD12b2lkIDApLHRoaXMub3B0aW9ucy5zaG93VXNlckxvY2F0aW9uJiZ0aGlzLl91c2VyTG9jYXRpb25Eb3RNYXJrZXImJnRoaXMuX3VzZXJMb2NhdGlvbkRvdE1hcmtlci5yZW1vdmUoKSxyLnJlbW92ZSh0aGlzLl9jb250YWluZXIpLHRoaXMuX21hcD12b2lkIDB9LG4ucHJvdG90eXBlLl9vblN1Y2Nlc3M9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uKXN3aXRjaCh0aGlzLl9sYXN0S25vd25Qb3NpdGlvbj1lLHRoaXMuX3dhdGNoU3RhdGUpe2Nhc2UiV0FJVElOR19BQ1RJVkUiOmNhc2UiQUNUSVZFX0xPQ0siOmNhc2UiQUNUSVZFX0VSUk9SIjp0aGlzLl93YXRjaFN0YXRlPSJBQ1RJVkVfTE9DSyIsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSIpO2JyZWFrO2Nhc2UiQkFDS0dST1VORCI6Y2FzZSJCQUNLR1JPVU5EX0VSUk9SIjp0aGlzLl93YXRjaFN0YXRlPSJCQUNLR1JPVU5EIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKX10aGlzLm9wdGlvbnMuc2hvd1VzZXJMb2NhdGlvbiYmIk9GRiIhPT10aGlzLl93YXRjaFN0YXRlJiZ0aGlzLl91cGRhdGVNYXJrZXIoZSksdGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uJiYiQUNUSVZFX0xPQ0siIT09dGhpcy5fd2F0Y2hTdGF0ZXx8dGhpcy5fdXBkYXRlQ2FtZXJhKGUpLHRoaXMub3B0aW9ucy5zaG93VXNlckxvY2F0aW9uJiZ0aGlzLl9kb3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLXVzZXItbG9jYXRpb24tZG90LXN0YWxlIiksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJnZW9sb2NhdGUiLGUpKSx0aGlzLl9maW5pc2goKX0sbi5wcm90b3R5cGUuX3VwZGF0ZUNhbWVyYT1mdW5jdGlvbihlKXt2YXIgcj1uZXcgdC5MbmdMYXQoZS5jb29yZHMubG9uZ2l0dWRlLGUuY29vcmRzLmxhdGl0dWRlKSxuPWUuY29vcmRzLmFjY3VyYWN5LGE9dGhpcy5fbWFwLmdldEJlYXJpbmcoKSxpPXQuZXh0ZW5kKHtiZWFyaW5nOmF9LHRoaXMub3B0aW9ucy5maXRCb3VuZHNPcHRpb25zKTt0aGlzLl9tYXAuZml0Qm91bmRzKHIudG9Cb3VuZHMobiksaSx7Z2VvbG9jYXRlU291cmNlOiEwfSl9LG4ucHJvdG90eXBlLl91cGRhdGVNYXJrZXI9ZnVuY3Rpb24odCl7dD90aGlzLl91c2VyTG9jYXRpb25Eb3RNYXJrZXIuc2V0TG5nTGF0KFt0LmNvb3Jkcy5sb25naXR1ZGUsdC5jb29yZHMubGF0aXR1ZGVdKS5hZGRUbyh0aGlzLl9tYXApOnRoaXMuX3VzZXJMb2NhdGlvbkRvdE1hcmtlci5yZW1vdmUoKX0sbi5wcm90b3R5cGUuX29uRXJyb3I9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uKWlmKDE9PT1lLmNvZGUpdGhpcy5fd2F0Y2hTdGF0ZT0iT0ZGIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciIpLHZvaWQgMCE9PXRoaXMuX2dlb2xvY2F0aW9uV2F0Y2hJRCYmdGhpcy5fY2xlYXJXYXRjaCgpO2Vsc2Ugc3dpdGNoKHRoaXMuX3dhdGNoU3RhdGUpe2Nhc2UiV0FJVElOR19BQ1RJVkUiOnRoaXMuX3dhdGNoU3RhdGU9IkFDVElWRV9FUlJPUiIsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUtZXJyb3IiKTticmVhaztjYXNlIkFDVElWRV9MT0NLIjp0aGlzLl93YXRjaFN0YXRlPSJBQ1RJVkVfRVJST1IiLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKTticmVhaztjYXNlIkJBQ0tHUk9VTkQiOnRoaXMuX3dhdGNoU3RhdGU9IkJBQ0tHUk9VTkRfRVJST1IiLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQtZXJyb3IiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpfSJPRkYiIT09dGhpcy5fd2F0Y2hTdGF0ZSYmdGhpcy5vcHRpb25zLnNob3dVc2VyTG9jYXRpb24mJnRoaXMuX2RvdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtdXNlci1sb2NhdGlvbi1kb3Qtc3RhbGUiKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImVycm9yIixlKSksdGhpcy5fZmluaXNoKCl9LG4ucHJvdG90eXBlLl9maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl90aW1lb3V0SWQmJmNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0SWQpLHRoaXMuX3RpbWVvdXRJZD12b2lkIDB9LG4ucHJvdG90eXBlLl9zZXR1cFVJPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7ITEhPT1lPyh0aGlzLl9jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnByZXZlbnREZWZhdWx0KCl9KSx0aGlzLl9nZW9sb2NhdGVCdXR0b249ci5jcmVhdGUoImJ1dHRvbiIsIm1hcGJveGdsLWN0cmwtaWNvbiBtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZSIsdGhpcy5fY29udGFpbmVyKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24udHlwZT0iYnV0dG9uIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiR2VvbG9jYXRlIiksdGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uJiYodGhpcy5fZ2VvbG9jYXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKSx0aGlzLl93YXRjaFN0YXRlPSJPRkYiKSx0aGlzLm9wdGlvbnMuc2hvd1VzZXJMb2NhdGlvbiYmKHRoaXMuX2RvdEVsZW1lbnQ9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLXVzZXItbG9jYXRpb24tZG90IiksdGhpcy5fdXNlckxvY2F0aW9uRG90TWFya2VyPW5ldyBxbih0aGlzLl9kb3RFbGVtZW50KSx0aGlzLm9wdGlvbnMudHJhY2tVc2VyTG9jYXRpb24mJih0aGlzLl93YXRjaFN0YXRlPSJPRkYiKSksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLnRyaWdnZXIuYmluZCh0aGlzKSksdGhpcy5fc2V0dXA9ITAsdGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uJiZ0aGlzLl9tYXAub24oIm1vdmVzdGFydCIsZnVuY3Rpb24oZSl7ZS5nZW9sb2NhdGVTb3VyY2V8fCJBQ1RJVkVfTE9DSyIhPT1uLl93YXRjaFN0YXRlfHwobi5fd2F0Y2hTdGF0ZT0iQkFDS0dST1VORCIsbi5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSxuLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlIiksbi5maXJlKG5ldyB0LkV2ZW50KCJ0cmFja3VzZXJsb2NhdGlvbmVuZCIpKSl9KSk6dC53YXJuT25jZSgiR2VvbG9jYXRpb24gc3VwcG9ydCBpcyBub3QgYXZhaWxhYmxlLCB0aGUgR2VvbG9jYXRlQ29udHJvbCB3aWxsIG5vdCBiZSB2aXNpYmxlLiIpfSxuLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX3NldHVwKXJldHVybiB0Lndhcm5PbmNlKCJHZW9sb2NhdGUgY29udHJvbCB0cmlnZ2VyZWQgYmVmb3JlIGFkZGVkIHRvIGEgbWFwIiksITE7aWYodGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uKXtzd2l0Y2godGhpcy5fd2F0Y2hTdGF0ZSl7Y2FzZSJPRkYiOnRoaXMuX3dhdGNoU3RhdGU9IldBSVRJTkdfQUNUSVZFIix0aGlzLmZpcmUobmV3IHQuRXZlbnQoInRyYWNrdXNlcmxvY2F0aW9uc3RhcnQiKSk7YnJlYWs7Y2FzZSJXQUlUSU5HX0FDVElWRSI6Y2FzZSJBQ1RJVkVfTE9DSyI6Y2FzZSJBQ1RJVkVfRVJST1IiOmNhc2UiQkFDS0dST1VORF9FUlJPUiI6dGhpcy5fd2F0Y2hTdGF0ZT0iT0ZGIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciIpLHRoaXMuZmlyZShuZXcgdC5FdmVudCgidHJhY2t1c2VybG9jYXRpb25lbmQiKSk7YnJlYWs7Y2FzZSJCQUNLR1JPVU5EIjp0aGlzLl93YXRjaFN0YXRlPSJBQ1RJVkVfTE9DSyIsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSx0aGlzLl9sYXN0S25vd25Qb3NpdGlvbiYmdGhpcy5fdXBkYXRlQ2FtZXJhKHRoaXMuX2xhc3RLbm93blBvc2l0aW9uKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoInRyYWNrdXNlcmxvY2F0aW9uc3RhcnQiKSl9c3dpdGNoKHRoaXMuX3dhdGNoU3RhdGUpe2Nhc2UiV0FJVElOR19BQ1RJVkUiOnRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS13YWl0aW5nIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSIpO2JyZWFrO2Nhc2UiQUNUSVZFX0xPQ0siOnRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKTticmVhaztjYXNlIkFDVElWRV9FUlJPUiI6dGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIik7YnJlYWs7Y2FzZSJCQUNLR1JPVU5EIjp0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZCIpO2JyZWFrO2Nhc2UiQkFDS0dST1VORF9FUlJPUiI6dGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciIpfSJPRkYiPT09dGhpcy5fd2F0Y2hTdGF0ZSYmdm9pZCAwIT09dGhpcy5fZ2VvbG9jYXRpb25XYXRjaElEP3RoaXMuX2NsZWFyV2F0Y2goKTp2b2lkIDA9PT10aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQmJih0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKSx0aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQ9dC53aW5kb3cubmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24odGhpcy5fb25TdWNjZXNzLHRoaXMuX29uRXJyb3IsdGhpcy5vcHRpb25zLnBvc2l0aW9uT3B0aW9ucykpfWVsc2UgdC53aW5kb3cubmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbih0aGlzLl9vblN1Y2Nlc3MsdGhpcy5fb25FcnJvcix0aGlzLm9wdGlvbnMucG9zaXRpb25PcHRpb25zKSx0aGlzLl90aW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9maW5pc2gsMWU0KTtyZXR1cm4hMH0sbi5wcm90b3R5cGUuX2NsZWFyV2F0Y2g9ZnVuY3Rpb24oKXt0LndpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh0aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQpLHRoaXMuX2dlb2xvY2F0aW9uV2F0Y2hJRD12b2lkIDAsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpLHRoaXMub3B0aW9ucy5zaG93VXNlckxvY2F0aW9uJiZ0aGlzLl91cGRhdGVNYXJrZXIobnVsbCl9LG59KHQuRXZlbnRlZCksWW49e21heFdpZHRoOjEwMCx1bml0OiJtZXRyaWMifSxXbj1mdW5jdGlvbihlKXt0aGlzLm9wdGlvbnM9dC5leHRlbmQoe30sWW4sZSksdC5iaW5kQWxsKFsiX29uTW92ZSIsInNldFVuaXQiXSx0aGlzKX07ZnVuY3Rpb24gWG4odCxlLHIpe3ZhciBuLGEsaSxvLHMsbCxjPXImJnIubWF4V2lkdGh8fDEwMCx1PXQuX2NvbnRhaW5lci5jbGllbnRIZWlnaHQvMixoPShuPXQudW5wcm9qZWN0KFswLHVdKSxhPXQudW5wcm9qZWN0KFtjLHVdKSxpPU1hdGguUEkvMTgwLG89bi5sYXQqaSxzPWEubGF0KmksbD1NYXRoLnNpbihvKSpNYXRoLnNpbihzKStNYXRoLmNvcyhvKSpNYXRoLmNvcyhzKSpNYXRoLmNvcygoYS5sbmctbi5sbmcpKmkpLDYzNzFlMypNYXRoLmFjb3MoTWF0aC5taW4obCwxKSkpO2lmKHImJiJpbXBlcmlhbCI9PT1yLnVuaXQpe3ZhciBmPTMuMjgwOCpoO2Y+NTI4MD9abihlLGMsZi81MjgwLCJtaSIpOlpuKGUsYyxmLCJmdCIpfWVsc2UgciYmIm5hdXRpY2FsIj09PXIudW5pdD9abihlLGMsaC8xODUyLCJubSIpOlpuKGUsYyxoLCJtIil9ZnVuY3Rpb24gWm4odCxlLHIsbil7dmFyIGEsaSxvLHM9KGE9ciwoaT1NYXRoLnBvdygxMCwoIiIrTWF0aC5mbG9vcihhKSkubGVuZ3RoLTEpKSoobz0obz1hL2kpPj0xMD8xMDpvPj01PzU6bz49Mz8zOm8+PTI/MjpvPj0xPzE6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5wb3coMTAsTWF0aC5jZWlsKC1NYXRoLmxvZyh0KS9NYXRoLkxOMTApKTtyZXR1cm4gTWF0aC5yb3VuZCh0KmUpL2V9KG8pKSksbD1zL3I7Im0iPT09biYmcz49MWUzJiYocy89MWUzLG49ImttIiksdC5zdHlsZS53aWR0aD1lKmwrInB4Iix0LmlubmVySFRNTD1zK259V24ucHJvdG90eXBlLmdldERlZmF1bHRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiJib3R0b20tbGVmdCJ9LFduLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKCl7WG4odGhpcy5fbWFwLHRoaXMuX2NvbnRhaW5lcix0aGlzLm9wdGlvbnMpfSxXbi5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcD10LHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybCBtYXBib3hnbC1jdHJsLXNjYWxlIix0LmdldENvbnRhaW5lcigpKSx0aGlzLl9tYXAub24oIm1vdmUiLHRoaXMuX29uTW92ZSksdGhpcy5fb25Nb3ZlKCksdGhpcy5fY29udGFpbmVyfSxXbi5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXtyLnJlbW92ZSh0aGlzLl9jb250YWluZXIpLHRoaXMuX21hcC5vZmYoIm1vdmUiLHRoaXMuX29uTW92ZSksdGhpcy5fbWFwPXZvaWQgMH0sV24ucHJvdG90eXBlLnNldFVuaXQ9ZnVuY3Rpb24odCl7dGhpcy5vcHRpb25zLnVuaXQ9dCxYbih0aGlzLl9tYXAsdGhpcy5fY29udGFpbmVyLHRoaXMub3B0aW9ucyl9O3ZhciBKbj1mdW5jdGlvbihlKXt0aGlzLl9mdWxsc2NyZWVuPSExLGUmJmUuY29udGFpbmVyJiYoZS5jb250YWluZXIgaW5zdGFuY2VvZiB0LndpbmRvdy5IVE1MRWxlbWVudD90aGlzLl9jb250YWluZXI9ZS5jb250YWluZXI6dC53YXJuT25jZSgiRnVsbCBzY3JlZW4gY29udHJvbCAnY29udGFpbmVyJyBtdXN0IGJlIGEgRE9NIGVsZW1lbnQuIikpLHQuYmluZEFsbChbIl9vbkNsaWNrRnVsbHNjcmVlbiIsIl9jaGFuZ2VJY29uIl0sdGhpcyksIm9uZnVsbHNjcmVlbmNoYW5nZSJpbiB0LndpbmRvdy5kb2N1bWVudD90aGlzLl9mdWxsc2NyZWVuY2hhbmdlPSJmdWxsc2NyZWVuY2hhbmdlIjoib25tb3pmdWxsc2NyZWVuY2hhbmdlImluIHQud2luZG93LmRvY3VtZW50P3RoaXMuX2Z1bGxzY3JlZW5jaGFuZ2U9Im1vemZ1bGxzY3JlZW5jaGFuZ2UiOiJvbndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiaW4gdC53aW5kb3cuZG9jdW1lbnQ/dGhpcy5fZnVsbHNjcmVlbmNoYW5nZT0id2Via2l0ZnVsbHNjcmVlbmNoYW5nZSI6Im9ubXNmdWxsc2NyZWVuY2hhbmdlImluIHQud2luZG93LmRvY3VtZW50JiYodGhpcy5fZnVsbHNjcmVlbmNoYW5nZT0iTVNGdWxsc2NyZWVuQ2hhbmdlIiksdGhpcy5fY2xhc3NOYW1lPSJtYXBib3hnbC1jdHJsIn07Sm4ucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9tYXA9ZSx0aGlzLl9jb250YWluZXJ8fCh0aGlzLl9jb250YWluZXI9dGhpcy5fbWFwLmdldENvbnRhaW5lcigpKSx0aGlzLl9jb250cm9sQ29udGFpbmVyPXIuY3JlYXRlKCJkaXYiLHRoaXMuX2NsYXNzTmFtZSsiIG1hcGJveGdsLWN0cmwtZ3JvdXAiKSx0aGlzLl9jaGVja0Z1bGxzY3JlZW5TdXBwb3J0KCk/dGhpcy5fc2V0dXBVSSgpOih0aGlzLl9jb250cm9sQ29udGFpbmVyLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHQud2Fybk9uY2UoIlRoaXMgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgZnVsbHNjcmVlbiBtb2RlLiIpKSx0aGlzLl9jb250cm9sQ29udGFpbmVyfSxKbi5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXtyLnJlbW92ZSh0aGlzLl9jb250cm9sQ29udGFpbmVyKSx0aGlzLl9tYXA9bnVsbCx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMuX2Z1bGxzY3JlZW5jaGFuZ2UsdGhpcy5fY2hhbmdlSWNvbil9LEpuLnByb3RvdHlwZS5fY2hlY2tGdWxsc2NyZWVuU3VwcG9ydD1mdW5jdGlvbigpe3JldHVybiEhKHQud2luZG93LmRvY3VtZW50LmZ1bGxzY3JlZW5FbmFibGVkfHx0LndpbmRvdy5kb2N1bWVudC5tb3pGdWxsU2NyZWVuRW5hYmxlZHx8dC53aW5kb3cuZG9jdW1lbnQubXNGdWxsc2NyZWVuRW5hYmxlZHx8dC53aW5kb3cuZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpfSxKbi5wcm90b3R5cGUuX3NldHVwVUk9ZnVuY3Rpb24oKXsodGhpcy5fZnVsbHNjcmVlbkJ1dHRvbj1yLmNyZWF0ZSgiYnV0dG9uIix0aGlzLl9jbGFzc05hbWUrIi1pY29uICIrdGhpcy5fY2xhc3NOYW1lKyItZnVsbHNjcmVlbiIsdGhpcy5fY29udHJvbENvbnRhaW5lcikpLnR5cGU9ImJ1dHRvbiIsdGhpcy5fdXBkYXRlVGl0bGUoKSx0aGlzLl9mdWxsc2NyZWVuQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9vbkNsaWNrRnVsbHNjcmVlbiksdC53aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl9mdWxsc2NyZWVuY2hhbmdlLHRoaXMuX2NoYW5nZUljb24pfSxKbi5wcm90b3R5cGUuX3VwZGF0ZVRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faXNGdWxsc2NyZWVuKCk/IkV4aXQgZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGxzY3JlZW4iO3RoaXMuX2Z1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIix0KSx0aGlzLl9mdWxsc2NyZWVuQnV0dG9uLnRpdGxlPXR9LEpuLnByb3RvdHlwZS5faXNGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW59LEpuLnByb3RvdHlwZS5fY2hhbmdlSWNvbj1mdW5jdGlvbigpeyh0LndpbmRvdy5kb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudHx8dC53aW5kb3cuZG9jdW1lbnQubW96RnVsbFNjcmVlbkVsZW1lbnR8fHQud2luZG93LmRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50fHx0LndpbmRvdy5kb2N1bWVudC5tc0Z1bGxzY3JlZW5FbGVtZW50KT09PXRoaXMuX2NvbnRhaW5lciE9PXRoaXMuX2Z1bGxzY3JlZW4mJih0aGlzLl9mdWxsc2NyZWVuPSF0aGlzLl9mdWxsc2NyZWVuLHRoaXMuX2Z1bGxzY3JlZW5CdXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLl9jbGFzc05hbWUrIi1zaHJpbmsiKSx0aGlzLl9mdWxsc2NyZWVuQnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5fY2xhc3NOYW1lKyItZnVsbHNjcmVlbiIpLHRoaXMuX3VwZGF0ZVRpdGxlKCkpfSxKbi5wcm90b3R5cGUuX29uQ2xpY2tGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7dGhpcy5faXNGdWxsc2NyZWVuKCk/dC53aW5kb3cuZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4/dC53aW5kb3cuZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTp0LndpbmRvdy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuP3Qud2luZG93LmRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKTp0LndpbmRvdy5kb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuP3Qud2luZG93LmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4oKTp0LndpbmRvdy5kb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuJiZ0LndpbmRvdy5kb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk6dGhpcy5fY29udGFpbmVyLnJlcXVlc3RGdWxsc2NyZWVuP3RoaXMuX2NvbnRhaW5lci5yZXF1ZXN0RnVsbHNjcmVlbigpOnRoaXMuX2NvbnRhaW5lci5tb3pSZXF1ZXN0RnVsbFNjcmVlbj90aGlzLl9jb250YWluZXIubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTp0aGlzLl9jb250YWluZXIubXNSZXF1ZXN0RnVsbHNjcmVlbj90aGlzLl9jb250YWluZXIubXNSZXF1ZXN0RnVsbHNjcmVlbigpOnRoaXMuX2NvbnRhaW5lci53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiYmdGhpcy5fY29udGFpbmVyLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCl9O3ZhciBLbj17Y2xvc2VCdXR0b246ITAsY2xvc2VPbkNsaWNrOiEwLGNsYXNzTmFtZToiIixtYXhXaWR0aDoiMjQwcHgifSxRbj1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKHIpe2UuY2FsbCh0aGlzKSx0aGlzLm9wdGlvbnM9dC5leHRlbmQoT2JqZWN0LmNyZWF0ZShLbiksciksdC5iaW5kQWxsKFsiX3VwZGF0ZSIsIl9vbkNsaWNrQ2xvc2UiLCJyZW1vdmUiXSx0aGlzKX1yZXR1cm4gZSYmKG4uX19wcm90b19fPWUpLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sbi5wcm90b3R5cGUuYWRkVG89ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcztyZXR1cm4gdGhpcy5fbWFwPWUsdGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmdGhpcy5fbWFwLm9uKCJjbGljayIsdGhpcy5fb25DbGlja0Nsb3NlKSx0aGlzLl9tYXAub24oInJlbW92ZSIsdGhpcy5yZW1vdmUpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX3RyYWNrUG9pbnRlcj8odGhpcy5fbWFwLm9uKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKHQpe3IuX3VwZGF0ZSh0LnBvaW50KX0pLHRoaXMuX21hcC5vbigibW91c2V1cCIsZnVuY3Rpb24odCl7ci5fdXBkYXRlKHQucG9pbnQpfSksdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLXBvcHVwLXRyYWNrLXBvaW50ZXIiKSx0aGlzLl9tYXAuX2NhbnZhc0NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC10cmFjay1wb2ludGVyIikpOnRoaXMuX21hcC5vbigibW92ZSIsdGhpcy5fdXBkYXRlKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoIm9wZW4iKSksdGhpc30sbi5wcm90b3R5cGUuaXNPcGVuPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9tYXB9LG4ucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250ZW50JiZyLnJlbW92ZSh0aGlzLl9jb250ZW50KSx0aGlzLl9jb250YWluZXImJihyLnJlbW92ZSh0aGlzLl9jb250YWluZXIpLGRlbGV0ZSB0aGlzLl9jb250YWluZXIpLHRoaXMuX21hcCYmKHRoaXMuX21hcC5vZmYoIm1vdmUiLHRoaXMuX3VwZGF0ZSksdGhpcy5fbWFwLm9mZigiY2xpY2siLHRoaXMuX29uQ2xpY2tDbG9zZSksdGhpcy5fbWFwLm9mZigicmVtb3ZlIix0aGlzLnJlbW92ZSksdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIiksZGVsZXRlIHRoaXMuX21hcCksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJjbG9zZSIpKSx0aGlzfSxuLnByb3RvdHlwZS5nZXRMbmdMYXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG5nTGF0fSxuLnByb3RvdHlwZS5zZXRMbmdMYXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2xuZ0xhdD10LkxuZ0xhdC5jb252ZXJ0KGUpLHRoaXMuX3Bvcz1udWxsLHRoaXMuX3RyYWNrUG9pbnRlcj0hMSx0aGlzLl91cGRhdGUoKSx0aGlzLl9tYXAmJih0aGlzLl9tYXAub24oIm1vdmUiLHRoaXMuX3VwZGF0ZSksdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIiksdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLXBvcHVwLXRyYWNrLXBvaW50ZXIiKSx0aGlzLl9tYXAuX2NhbnZhc0NvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC10cmFjay1wb2ludGVyIikpLHRoaXN9LG4ucHJvdG90eXBlLnRyYWNrUG9pbnRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuX3RyYWNrUG9pbnRlcj0hMCx0aGlzLl9wb3M9bnVsbCx0aGlzLl9tYXAmJih0aGlzLl9tYXAub2ZmKCJtb3ZlIix0aGlzLl91cGRhdGUpLHRoaXMuX21hcC5vbigibW91c2Vtb3ZlIixmdW5jdGlvbihlKXt0Ll91cGRhdGUoZS5wb2ludCl9KSx0aGlzLl9tYXAub24oImRyYWciLGZ1bmN0aW9uKGUpe3QuX3VwZGF0ZShlLnBvaW50KX0pLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1wb3B1cC10cmFjay1wb2ludGVyIiksdGhpcy5fbWFwLl9jYW52YXNDb250YWluZXIuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtdHJhY2stcG9pbnRlciIpKSx0aGlzfSxuLnByb3RvdHlwZS5nZXRFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sbi5wcm90b3R5cGUuc2V0VGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zZXRET01Db250ZW50KHQud2luZG93LmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKX0sbi5wcm90b3R5cGUuc2V0SFRNTD1mdW5jdGlvbihlKXt2YXIgcixuPXQud2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXQud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTtmb3IoYS5pbm5lckhUTUw9ZTtyPWEuZmlyc3RDaGlsZDspbi5hcHBlbmRDaGlsZChyKTtyZXR1cm4gdGhpcy5zZXRET01Db250ZW50KG4pfSxuLnByb3RvdHlwZS5nZXRNYXhXaWR0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250YWluZXIuc3R5bGUubWF4V2lkdGh9LG4ucHJvdG90eXBlLnNldE1heFdpZHRoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubWF4V2lkdGg9dCx0aGlzLl91cGRhdGUoKSx0aGlzfSxuLnByb3RvdHlwZS5zZXRET01Db250ZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jcmVhdGVDb250ZW50KCksdGhpcy5fY29udGVudC5hcHBlbmRDaGlsZCh0KSx0aGlzLl91cGRhdGUoKSx0aGlzfSxuLnByb3RvdHlwZS5fY3JlYXRlQ29udGVudD1mdW5jdGlvbigpe3RoaXMuX2NvbnRlbnQmJnIucmVtb3ZlKHRoaXMuX2NvbnRlbnQpLHRoaXMuX2NvbnRlbnQ9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLXBvcHVwLWNvbnRlbnQiLHRoaXMuX2NvbnRhaW5lciksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYodGhpcy5fY2xvc2VCdXR0b249ci5jcmVhdGUoImJ1dHRvbiIsIm1hcGJveGdsLXBvcHVwLWNsb3NlLWJ1dHRvbiIsdGhpcy5fY29udGVudCksdGhpcy5fY2xvc2VCdXR0b24udHlwZT0iYnV0dG9uIix0aGlzLl9jbG9zZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJDbG9zZSBwb3B1cCIpLHRoaXMuX2Nsb3NlQnV0dG9uLmlubmVySFRNTD0iJiMyMTU7Iix0aGlzLl9jbG9zZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fb25DbGlja0Nsb3NlKSl9LG4ucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxhPXRoaXMuX2xuZ0xhdHx8dGhpcy5fdHJhY2tQb2ludGVyO2lmKHRoaXMuX21hcCYmYSYmdGhpcy5fY29udGVudCYmKHRoaXMuX2NvbnRhaW5lcnx8KHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtcG9wdXAiLHRoaXMuX21hcC5nZXRDb250YWluZXIoKSksdGhpcy5fdGlwPXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1wb3B1cC10aXAiLHRoaXMuX2NvbnRhaW5lciksdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRlbnQpLHRoaXMub3B0aW9ucy5jbGFzc05hbWUmJnRoaXMub3B0aW9ucy5jbGFzc05hbWUuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCh0KX0pKSx0aGlzLm9wdGlvbnMubWF4V2lkdGgmJnRoaXMuX2NvbnRhaW5lci5zdHlsZS5tYXhXaWR0aCE9PXRoaXMub3B0aW9ucy5tYXhXaWR0aCYmKHRoaXMuX2NvbnRhaW5lci5zdHlsZS5tYXhXaWR0aD10aGlzLm9wdGlvbnMubWF4V2lkdGgpLHRoaXMuX21hcC50cmFuc2Zvcm0ucmVuZGVyV29ybGRDb3BpZXMmJiF0aGlzLl90cmFja1BvaW50ZXImJih0aGlzLl9sbmdMYXQ9Tm4odGhpcy5fbG5nTGF0LHRoaXMuX3Bvcyx0aGlzLl9tYXAudHJhbnNmb3JtKSksIXRoaXMuX3RyYWNrUG9pbnRlcnx8ZSkpe3ZhciBpPXRoaXMuX3Bvcz10aGlzLl90cmFja1BvaW50ZXImJmU/ZTp0aGlzLl9tYXAucHJvamVjdCh0aGlzLl9sbmdMYXQpLG89dGhpcy5vcHRpb25zLmFuY2hvcixzPWZ1bmN0aW9uIGUocil7aWYocil7aWYoIm51bWJlciI9PXR5cGVvZiByKXt2YXIgbj1NYXRoLnJvdW5kKE1hdGguc3FydCguNSpNYXRoLnBvdyhyLDIpKSk7cmV0dXJue2NlbnRlcjpuZXcgdC5Qb2ludCgwLDApLHRvcDpuZXcgdC5Qb2ludCgwLHIpLCJ0b3AtbGVmdCI6bmV3IHQuUG9pbnQobixuKSwidG9wLXJpZ2h0IjpuZXcgdC5Qb2ludCgtbixuKSxib3R0b206bmV3IHQuUG9pbnQoMCwtciksImJvdHRvbS1sZWZ0IjpuZXcgdC5Qb2ludChuLC1uKSwiYm90dG9tLXJpZ2h0IjpuZXcgdC5Qb2ludCgtbiwtbiksbGVmdDpuZXcgdC5Qb2ludChyLDApLHJpZ2h0Om5ldyB0LlBvaW50KC1yLDApfX1pZihyIGluc3RhbmNlb2YgdC5Qb2ludHx8QXJyYXkuaXNBcnJheShyKSl7dmFyIGE9dC5Qb2ludC5jb252ZXJ0KHIpO3JldHVybntjZW50ZXI6YSx0b3A6YSwidG9wLWxlZnQiOmEsInRvcC1yaWdodCI6YSxib3R0b206YSwiYm90dG9tLWxlZnQiOmEsImJvdHRvbS1yaWdodCI6YSxsZWZ0OmEscmlnaHQ6YX19cmV0dXJue2NlbnRlcjp0LlBvaW50LmNvbnZlcnQoci5jZW50ZXJ8fFswLDBdKSx0b3A6dC5Qb2ludC5jb252ZXJ0KHIudG9wfHxbMCwwXSksInRvcC1sZWZ0Ijp0LlBvaW50LmNvbnZlcnQoclsidG9wLWxlZnQiXXx8WzAsMF0pLCJ0b3AtcmlnaHQiOnQuUG9pbnQuY29udmVydChyWyJ0b3AtcmlnaHQiXXx8WzAsMF0pLGJvdHRvbTp0LlBvaW50LmNvbnZlcnQoci5ib3R0b218fFswLDBdKSwiYm90dG9tLWxlZnQiOnQuUG9pbnQuY29udmVydChyWyJib3R0b20tbGVmdCJdfHxbMCwwXSksImJvdHRvbS1yaWdodCI6dC5Qb2ludC5jb252ZXJ0KHJbImJvdHRvbS1yaWdodCJdfHxbMCwwXSksbGVmdDp0LlBvaW50LmNvbnZlcnQoci5sZWZ0fHxbMCwwXSkscmlnaHQ6dC5Qb2ludC5jb252ZXJ0KHIucmlnaHR8fFswLDBdKX19cmV0dXJuIGUobmV3IHQuUG9pbnQoMCwwKSl9KHRoaXMub3B0aW9ucy5vZmZzZXQpO2lmKCFvKXt2YXIgbCxjPXRoaXMuX2NvbnRhaW5lci5vZmZzZXRXaWR0aCx1PXRoaXMuX2NvbnRhaW5lci5vZmZzZXRIZWlnaHQ7bD1pLnkrcy5ib3R0b20ueTx1P1sidG9wIl06aS55PnRoaXMuX21hcC50cmFuc2Zvcm0uaGVpZ2h0LXU/WyJib3R0b20iXTpbXSxpLng8Yy8yP2wucHVzaCgibGVmdCIpOmkueD50aGlzLl9tYXAudHJhbnNmb3JtLndpZHRoLWMvMiYmbC5wdXNoKCJyaWdodCIpLG89MD09PWwubGVuZ3RoPyJib3R0b20iOmwuam9pbigiLSIpfXZhciBoPWkuYWRkKHNbb10pLnJvdW5kKCk7ci5zZXRUcmFuc2Zvcm0odGhpcy5fY29udGFpbmVyLGpuW29dKyIgdHJhbnNsYXRlKCIraC54KyJweCwiK2gueSsicHgpIiksVm4odGhpcy5fY29udGFpbmVyLG8sInBvcHVwIil9fSxuLnByb3RvdHlwZS5fb25DbGlja0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy5yZW1vdmUoKX0sbn0odC5FdmVudGVkKSwkbj17dmVyc2lvbjp0LnZlcnNpb24sc3VwcG9ydGVkOmUsc2V0UlRMVGV4dFBsdWdpbjp0LnNldFJUTFRleHRQbHVnaW4sTWFwOkRuLE5hdmlnYXRpb25Db250cm9sOkJuLEdlb2xvY2F0ZUNvbnRyb2w6R24sQXR0cmlidXRpb25Db250cm9sOkxuLFNjYWxlQ29udHJvbDpXbixGdWxsc2NyZWVuQ29udHJvbDpKbixQb3B1cDpRbixNYXJrZXI6cW4sU3R5bGU6UmUsTG5nTGF0OnQuTG5nTGF0LExuZ0xhdEJvdW5kczp0LkxuZ0xhdEJvdW5kcyxQb2ludDp0LlBvaW50LE1lcmNhdG9yQ29vcmRpbmF0ZTp0Lk1lcmNhdG9yQ29vcmRpbmF0ZSxFdmVudGVkOnQuRXZlbnRlZCxjb25maWc6dC5jb25maWcsZ2V0IGFjY2Vzc1Rva2VuKCl7cmV0dXJuIHQuY29uZmlnLkFDQ0VTU19UT0tFTn0sc2V0IGFjY2Vzc1Rva2VuKGUpe3QuY29uZmlnLkFDQ0VTU19UT0tFTj1lfSxnZXQgYmFzZUFwaVVybCgpe3JldHVybiB0LmNvbmZpZy5BUElfVVJMfSxzZXQgYmFzZUFwaVVybChlKXt0LmNvbmZpZy5BUElfVVJMPWV9LGdldCB3b3JrZXJDb3VudCgpe3JldHVybiBJdC53b3JrZXJDb3VudH0sc2V0IHdvcmtlckNvdW50KHQpe0l0LndvcmtlckNvdW50PXR9LGdldCBtYXhQYXJhbGxlbEltYWdlUmVxdWVzdHMoKXtyZXR1cm4gdC5jb25maWcuTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTfSxzZXQgbWF4UGFyYWxsZWxJbWFnZVJlcXVlc3RzKGUpe3QuY29uZmlnLk1BWF9QQVJBTExFTF9JTUFHRV9SRVFVRVNUUz1lfSxjbGVhclN0b3JhZ2U6ZnVuY3Rpb24oZSl7dC5jbGVhclRpbGVDYWNoZShlKX0sd29ya2VyVXJsOiIifTtyZXR1cm4gJG59KSxyfSwib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9lLmV4cG9ydHM9YSgpOihuPW58fHNlbGYpLm1hcGJveGdsPWEoKX0se31dLDQyOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE8PHQrMSxyPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilyW25dPWkodCxuKTtyZXR1cm4gcn07dmFyIG49dCgiY29udmV4LWh1bGwiKTtmdW5jdGlvbiBhKHQsZSxyKXtmb3IodmFyIG49bmV3IEFycmF5KHQpLGE9MDthPHQ7KythKW5bYV09MCxhPT09ZSYmKG5bYV0rPS41KSxhPT09ciYmKG5bYV0rPS41KTtyZXR1cm4gbn1mdW5jdGlvbiBpKHQsZSl7aWYoMD09PWV8fGU9PT0oMTw8dCsxKS0xKXJldHVybltdO2Zvcih2YXIgcj1bXSxpPVtdLG89MDtvPD10OysrbylpZihlJjE8PG8pe3IucHVzaChhKHQsby0xLG8tMSkpLGkucHVzaChudWxsKTtmb3IodmFyIHM9MDtzPD10Oysrcyl+ZSYxPDxzJiYoci5wdXNoKGEodCxvLTEscy0xKSksaS5wdXNoKFtvLHNdKSl9dmFyIGw9bihyKSxjPVtdO3Q6Zm9yKG89MDtvPGwubGVuZ3RoOysrbyl7dmFyIHU9bFtvXSxoPVtdO2ZvcihzPTA7czx1Lmxlbmd0aDsrK3Mpe2lmKCFpW3Vbc11dKWNvbnRpbnVlIHQ7aC5wdXNoKGlbdVtzXV0uc2xpY2UoKSl9Yy5wdXNoKGgpfXJldHVybiBjfX0seyJjb252ZXgtaHVsbCI6MTMyfV0sNDMwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9ub3JtYWxpemUiKSxhPXQoImdsLW1hdDQvY3JlYXRlIiksaT10KCJnbC1tYXQ0L2Nsb25lIiksbz10KCJnbC1tYXQ0L2RldGVybWluYW50Iikscz10KCJnbC1tYXQ0L2ludmVydCIpLGw9dCgiZ2wtbWF0NC90cmFuc3Bvc2UiKSxjPXtsZW5ndGg6dCgiZ2wtdmVjMy9sZW5ndGgiKSxub3JtYWxpemU6dCgiZ2wtdmVjMy9ub3JtYWxpemUiKSxkb3Q6dCgiZ2wtdmVjMy9kb3QiKSxjcm9zczp0KCJnbC12ZWMzL2Nyb3NzIil9LHU9YSgpLGg9YSgpLGY9WzAsMCwwLDBdLHA9W1swLDAsMF0sWzAsMCwwXSxbMCwwLDBdXSxkPVswLDAsMF07ZnVuY3Rpb24gZyh0LGUscixuLGEpe3RbMF09ZVswXSpuK3JbMF0qYSx0WzFdPWVbMV0qbityWzFdKmEsdFsyXT1lWzJdKm4rclsyXSphfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhLHYsbSl7aWYoZXx8KGU9WzAsMCwwXSkscnx8KHI9WzAsMCwwXSksYXx8KGE9WzAsMCwwXSksdnx8KHY9WzAsMCwwLDFdKSxtfHwobT1bMCwwLDAsMV0pLCFuKHUsdCkpcmV0dXJuITE7aWYoaShoLHUpLGhbM109MCxoWzddPTAsaFsxMV09MCxoWzE1XT0xLE1hdGguYWJzKG8oaCk8MWUtOCkpcmV0dXJuITE7dmFyIHkseCxiLF8sdyxrLFQsTT11WzNdLEE9dVs3XSxTPXVbMTFdLEU9dVsxMl0sTD11WzEzXSxDPXVbMTRdLFA9dVsxNV07aWYoMCE9PU18fDAhPT1BfHwwIT09Uyl7aWYoZlswXT1NLGZbMV09QSxmWzJdPVMsZlszXT1QLCFzKGgsaCkpcmV0dXJuITE7bChoLGgpLHk9dixiPWgsXz0oeD1mKVswXSx3PXhbMV0saz14WzJdLFQ9eFszXSx5WzBdPWJbMF0qXytiWzRdKncrYls4XSprK2JbMTJdKlQseVsxXT1iWzFdKl8rYls1XSp3K2JbOV0qaytiWzEzXSpULHlbMl09YlsyXSpfK2JbNl0qdytiWzEwXSprK2JbMTRdKlQseVszXT1iWzNdKl8rYls3XSp3K2JbMTFdKmsrYlsxNV0qVH1lbHNlIHZbMF09dlsxXT12WzJdPTAsdlszXT0xO2lmKGVbMF09RSxlWzFdPUwsZVsyXT1DLGZ1bmN0aW9uKHQsZSl7dFswXVswXT1lWzBdLHRbMF1bMV09ZVsxXSx0WzBdWzJdPWVbMl0sdFsxXVswXT1lWzRdLHRbMV1bMV09ZVs1XSx0WzFdWzJdPWVbNl0sdFsyXVswXT1lWzhdLHRbMl1bMV09ZVs5XSx0WzJdWzJdPWVbMTBdfShwLHUpLHJbMF09Yy5sZW5ndGgocFswXSksYy5ub3JtYWxpemUocFswXSxwWzBdKSxhWzBdPWMuZG90KHBbMF0scFsxXSksZyhwWzFdLHBbMV0scFswXSwxLC1hWzBdKSxyWzFdPWMubGVuZ3RoKHBbMV0pLGMubm9ybWFsaXplKHBbMV0scFsxXSksYVswXS89clsxXSxhWzFdPWMuZG90KHBbMF0scFsyXSksZyhwWzJdLHBbMl0scFswXSwxLC1hWzFdKSxhWzJdPWMuZG90KHBbMV0scFsyXSksZyhwWzJdLHBbMl0scFsxXSwxLC1hWzJdKSxyWzJdPWMubGVuZ3RoKHBbMl0pLGMubm9ybWFsaXplKHBbMl0scFsyXSksYVsxXS89clsyXSxhWzJdLz1yWzJdLGMuY3Jvc3MoZCxwWzFdLHBbMl0pLGMuZG90KHBbMF0sZCk8MClmb3IodmFyIE89MDtPPDM7TysrKXJbT10qPS0xLHBbT11bMF0qPS0xLHBbT11bMV0qPS0xLHBbT11bMl0qPS0xO3JldHVybiBtWzBdPS41Kk1hdGguc3FydChNYXRoLm1heCgxK3BbMF1bMF0tcFsxXVsxXS1wWzJdWzJdLDApKSxtWzFdPS41Kk1hdGguc3FydChNYXRoLm1heCgxLXBbMF1bMF0rcFsxXVsxXS1wWzJdWzJdLDApKSxtWzJdPS41Kk1hdGguc3FydChNYXRoLm1heCgxLXBbMF1bMF0tcFsxXVsxXStwWzJdWzJdLDApKSxtWzNdPS41Kk1hdGguc3FydChNYXRoLm1heCgxK3BbMF1bMF0rcFsxXVsxXStwWzJdWzJdLDApKSxwWzJdWzFdPnBbMV1bMl0mJihtWzBdPS1tWzBdKSxwWzBdWzJdPnBbMl1bMF0mJihtWzFdPS1tWzFdKSxwWzFdWzBdPnBbMF1bMV0mJihtWzJdPS1tWzJdKSwhMH19LHsiLi9ub3JtYWxpemUiOjQzMSwiZ2wtbWF0NC9jbG9uZSI6MjYyLCJnbC1tYXQ0L2NyZWF0ZSI6MjYzLCJnbC1tYXQ0L2RldGVybWluYW50IjoyNjQsImdsLW1hdDQvaW52ZXJ0IjoyNjgsImdsLW1hdDQvdHJhbnNwb3NlIjoyNzksImdsLXZlYzMvY3Jvc3MiOjMzNiwiZ2wtdmVjMy9kb3QiOjM0MSwiZ2wtdmVjMy9sZW5ndGgiOjM1MSwiZ2wtdmVjMy9ub3JtYWxpemUiOjM1OH1dLDQzMTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMTVdO2lmKDA9PT1yKXJldHVybiExO2Zvcih2YXIgbj0xL3IsYT0wO2E8MTY7YSsrKXRbYV09ZVthXSpuO3JldHVybiEwfX0se31dLDQzMjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsLXZlYzMvbGVycCIpLGE9dCgibWF0NC1yZWNvbXBvc2UiKSxpPXQoIm1hdDQtZGVjb21wb3NlIiksbz10KCJnbC1tYXQ0L2RldGVybWluYW50Iikscz10KCJxdWF0LXNsZXJwIiksbD1oKCksYz1oKCksdT1oKCk7ZnVuY3Rpb24gaCgpe3JldHVybnt0cmFuc2xhdGU6ZigpLHNjYWxlOmYoMSksc2tldzpmKCkscGVyc3BlY3RpdmU6WzAsMCwwLDFdLHF1YXRlcm5pb246WzAsMCwwLDFdfX1mdW5jdGlvbiBmKHQpe3JldHVyblt0fHwwLHR8fDAsdHx8MF19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGgpe2lmKDA9PT1vKGUpfHwwPT09byhyKSlyZXR1cm4hMTt2YXIgZj1pKGUsbC50cmFuc2xhdGUsbC5zY2FsZSxsLnNrZXcsbC5wZXJzcGVjdGl2ZSxsLnF1YXRlcm5pb24pLHA9aShyLGMudHJhbnNsYXRlLGMuc2NhbGUsYy5za2V3LGMucGVyc3BlY3RpdmUsYy5xdWF0ZXJuaW9uKTtyZXR1cm4hKCFmfHwhcHx8KG4odS50cmFuc2xhdGUsbC50cmFuc2xhdGUsYy50cmFuc2xhdGUsaCksbih1LnNrZXcsbC5za2V3LGMuc2tldyxoKSxuKHUuc2NhbGUsbC5zY2FsZSxjLnNjYWxlLGgpLG4odS5wZXJzcGVjdGl2ZSxsLnBlcnNwZWN0aXZlLGMucGVyc3BlY3RpdmUsaCkscyh1LnF1YXRlcm5pb24sbC5xdWF0ZXJuaW9uLGMucXVhdGVybmlvbixoKSxhKHQsdS50cmFuc2xhdGUsdS5zY2FsZSx1LnNrZXcsdS5wZXJzcGVjdGl2ZSx1LnF1YXRlcm5pb24pLDApKX19LHsiZ2wtbWF0NC9kZXRlcm1pbmFudCI6MjY0LCJnbC12ZWMzL2xlcnAiOjM1MiwibWF0NC1kZWNvbXBvc2UiOjQzMCwibWF0NC1yZWNvbXBvc2UiOjQzMywicXVhdC1zbGVycCI6NDg1fV0sNDMzOltmdW5jdGlvbih0LGUscil7dmFyIG49e2lkZW50aXR5OnQoImdsLW1hdDQvaWRlbnRpdHkiKSx0cmFuc2xhdGU6dCgiZ2wtbWF0NC90cmFuc2xhdGUiKSxtdWx0aXBseTp0KCJnbC1tYXQ0L211bHRpcGx5IiksY3JlYXRlOnQoImdsLW1hdDQvY3JlYXRlIiksc2NhbGU6dCgiZ2wtbWF0NC9zY2FsZSIpLGZyb21Sb3RhdGlvblRyYW5zbGF0aW9uOnQoImdsLW1hdDQvZnJvbVJvdGF0aW9uVHJhbnNsYXRpb24iKX0sYT0obi5jcmVhdGUoKSxuLmNyZWF0ZSgpKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxvLHMpe3JldHVybiBuLmlkZW50aXR5KHQpLG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb24odCxzLGUpLHRbM109b1swXSx0WzddPW9bMV0sdFsxMV09b1syXSx0WzE1XT1vWzNdLG4uaWRlbnRpdHkoYSksMCE9PWlbMl0mJihhWzldPWlbMl0sbi5tdWx0aXBseSh0LHQsYSkpLDAhPT1pWzFdJiYoYVs5XT0wLGFbOF09aVsxXSxuLm11bHRpcGx5KHQsdCxhKSksMCE9PWlbMF0mJihhWzhdPTAsYVs0XT1pWzBdLG4ubXVsdGlwbHkodCx0LGEpKSxuLnNjYWxlKHQsdCxyKSx0fX0seyJnbC1tYXQ0L2NyZWF0ZSI6MjYzLCJnbC1tYXQ0L2Zyb21Sb3RhdGlvblRyYW5zbGF0aW9uIjoyNjYsImdsLW1hdDQvaWRlbnRpdHkiOjI2NywiZ2wtbWF0NC9tdWx0aXBseSI6MjcwLCJnbC1tYXQ0L3NjYWxlIjoyNzcsImdsLW1hdDQvdHJhbnNsYXRlIjoyNzh9XSw0MzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPU1hdGgubG9nMnx8ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubG9nKHQpKk1hdGguTE9HMkV9fSx7fV0sNDM1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJtYXQ0LWludGVycG9sYXRlIiksaT10KCJnbC1tYXQ0L2ludmVydCIpLG89dCgiZ2wtbWF0NC9yb3RhdGVYIikscz10KCJnbC1tYXQ0L3JvdGF0ZVkiKSxsPXQoImdsLW1hdDQvcm90YXRlWiIpLGM9dCgiZ2wtbWF0NC9sb29rQXQiKSx1PXQoImdsLW1hdDQvdHJhbnNsYXRlIiksaD0odCgiZ2wtbWF0NC9zY2FsZSIpLHQoImdsLXZlYzMvbm9ybWFsaXplIikpLGY9WzAsMCwwXTtmdW5jdGlvbiBwKHQpe3RoaXMuX2NvbXBvbmVudHM9dC5zbGljZSgpLHRoaXMuX3RpbWU9WzBdLHRoaXMucHJldk1hdHJpeD10LnNsaWNlKCksdGhpcy5uZXh0TWF0cml4PXQuc2xpY2UoKSx0aGlzLmNvbXB1dGVkTWF0cml4PXQuc2xpY2UoKSx0aGlzLmNvbXB1dGVkSW52ZXJzZT10LnNsaWNlKCksdGhpcy5jb21wdXRlZEV5ZT1bMCwwLDBdLHRoaXMuY29tcHV0ZWRVcD1bMCwwLDBdLHRoaXMuY29tcHV0ZWRDZW50ZXI9WzAsMCwwXSx0aGlzLmNvbXB1dGVkUmFkaXVzPVswXSx0aGlzLl9saW1pdHM9Wy0xLzAsMS8wXX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBwKCh0PXR8fHt9KS5tYXRyaXh8fFsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXSl9O3ZhciBkPXAucHJvdG90eXBlO2QucmVjYWxjTWF0cml4PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpbWUscj1uLmxlKGUsdCksbz10aGlzLmNvbXB1dGVkTWF0cml4O2lmKCEocjwwKSl7dmFyIHM9dGhpcy5fY29tcG9uZW50cztpZihyPT09ZS5sZW5ndGgtMSlmb3IodmFyIGw9MTYqcixjPTA7YzwxNjsrK2Mpb1tjXT1zW2wrK107ZWxzZXt2YXIgdT1lW3IrMV0tZVtyXSxmPShsPTE2KnIsdGhpcy5wcmV2TWF0cml4KSxwPSEwO2ZvcihjPTA7YzwxNjsrK2MpZltjXT1zW2wrK107dmFyIGQ9dGhpcy5uZXh0TWF0cml4O2ZvcihjPTA7YzwxNjsrK2MpZFtjXT1zW2wrK10scD1wJiZmW2NdPT09ZFtjXTtpZih1PDFlLTZ8fHApZm9yKGM9MDtjPDE2OysrYylvW2NdPWZbY107ZWxzZSBhKG8sZixkLCh0LWVbcl0pL3UpfXZhciBnPXRoaXMuY29tcHV0ZWRVcDtnWzBdPW9bMV0sZ1sxXT1vWzVdLGdbMl09b1s5XSxoKGcsZyk7dmFyIHY9dGhpcy5jb21wdXRlZEludmVyc2U7aSh2LG8pO3ZhciBtPXRoaXMuY29tcHV0ZWRFeWUseT12WzE1XTttWzBdPXZbMTJdL3ksbVsxXT12WzEzXS95LG1bMl09dlsxNF0veTt2YXIgeD10aGlzLmNvbXB1dGVkQ2VudGVyLGI9TWF0aC5leHAodGhpcy5jb21wdXRlZFJhZGl1c1swXSk7Zm9yKGM9MDtjPDM7KytjKXhbY109bVtjXS1vWzIrNCpjXSpifX0sZC5pZGxlPWZ1bmN0aW9uKHQpe2lmKCEodDx0aGlzLmxhc3RUKCkpKXtmb3IodmFyIGU9dGhpcy5fY29tcG9uZW50cyxyPWUubGVuZ3RoLTE2LG49MDtuPDE2OysrbillLnB1c2goZVtyKytdKTt0aGlzLl90aW1lLnB1c2godCl9fSxkLmZsdXNoPWZ1bmN0aW9uKHQpe3ZhciBlPW4uZ3QodGhpcy5fdGltZSx0KS0yO2U8MHx8KHRoaXMuX3RpbWUuc3BsaWNlKDAsZSksdGhpcy5fY29tcG9uZW50cy5zcGxpY2UoMCwxNiplKSl9LGQubGFzdFQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGltZVt0aGlzLl90aW1lLmxlbmd0aC0xXX0sZC5sb29rQXQ9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5yZWNhbGNNYXRyaXgodCksZT1lfHx0aGlzLmNvbXB1dGVkRXllLHI9cnx8ZixuPW58fHRoaXMuY29tcHV0ZWRVcCx0aGlzLnNldE1hdHJpeCh0LGModGhpcy5jb21wdXRlZE1hdHJpeCxlLHIsbikpO2Zvcih2YXIgYT0wLGk9MDtpPDM7KytpKWErPU1hdGgucG93KHJbaV0tZVtpXSwyKTthPU1hdGgubG9nKE1hdGguc3FydChhKSksdGhpcy5jb21wdXRlZFJhZGl1c1swXT1hfSxkLnJvdGF0ZT1mdW5jdGlvbih0LGUscixuKXt0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgYT10aGlzLmNvbXB1dGVkSW52ZXJzZTtlJiZzKGEsYSxlKSxyJiZvKGEsYSxyKSxuJiZsKGEsYSxuKSx0aGlzLnNldE1hdHJpeCh0LGkodGhpcy5jb21wdXRlZE1hdHJpeCxhKSl9O3ZhciBnPVswLDAsMF07ZC5wYW49ZnVuY3Rpb24odCxlLHIsbil7Z1swXT0tKGV8fDApLGdbMV09LShyfHwwKSxnWzJdPS0obnx8MCksdGhpcy5yZWNhbGNNYXRyaXgodCk7dmFyIGE9dGhpcy5jb21wdXRlZEludmVyc2U7dShhLGEsZyksdGhpcy5zZXRNYXRyaXgodCxpKGEsYSkpfSxkLnRyYW5zbGF0ZT1mdW5jdGlvbih0LGUscixuKXtnWzBdPWV8fDAsZ1sxXT1yfHwwLGdbMl09bnx8MCx0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgYT10aGlzLmNvbXB1dGVkTWF0cml4O3UoYSxhLGcpLHRoaXMuc2V0TWF0cml4KHQsYSl9LGQuc2V0TWF0cml4PWZ1bmN0aW9uKHQsZSl7aWYoISh0PHRoaXMubGFzdFQoKSkpe3RoaXMuX3RpbWUucHVzaCh0KTtmb3IodmFyIHI9MDtyPDE2Oysrcil0aGlzLl9jb21wb25lbnRzLnB1c2goZVtyXSl9fSxkLnNldERpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dGhpcy5jb21wdXRlZFJhZGl1c1swXT1lfSxkLnNldERpc3RhbmNlTGltaXRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fbGltaXRzO3JbMF09dCxyWzFdPWV9LGQuZ2V0RGlzdGFuY2VMaW1pdHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbGltaXRzO3JldHVybiB0Pyh0WzBdPWVbMF0sdFsxXT1lWzFdLHQpOmV9fSx7ImJpbmFyeS1zZWFyY2gtYm91bmRzIjo5MywiZ2wtbWF0NC9pbnZlcnQiOjI2OCwiZ2wtbWF0NC9sb29rQXQiOjI2OSwiZ2wtbWF0NC9yb3RhdGVYIjoyNzQsImdsLW1hdDQvcm90YXRlWSI6Mjc1LCJnbC1tYXQ0L3JvdGF0ZVoiOjI3NiwiZ2wtbWF0NC9zY2FsZSI6Mjc3LCJnbC1tYXQ0L3RyYW5zbGF0ZSI6Mjc4LCJnbC12ZWMzL25vcm1hbGl6ZSI6MzU4LCJtYXQ0LWludGVycG9sYXRlIjo0MzJ9XSw0MzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGU8Myl7Zm9yKHZhciByPW5ldyBBcnJheShlKSxhPTA7YTxlOysrYSlyW2FdPWE7cmV0dXJuIDI9PT1lJiZ0WzBdWzBdPT09dFsxXVswXSYmdFswXVsxXT09PXRbMV1bMV0/WzBdOnJ9Zm9yKHZhciBpPW5ldyBBcnJheShlKSxhPTA7YTxlOysrYSlpW2FdPWE7aS5zb3J0KGZ1bmN0aW9uKGUscil7dmFyIG49dFtlXVswXS10W3JdWzBdO3JldHVybiBufHx0W2VdWzFdLXRbcl1bMV19KTtmb3IodmFyIG89W2lbMF0saVsxXV0scz1baVswXSxpWzFdXSxhPTI7YTxlOysrYSl7Zm9yKHZhciBsPWlbYV0sYz10W2xdLHU9by5sZW5ndGg7dT4xJiZuKHRbb1t1LTJdXSx0W29bdS0xXV0sYyk8PTA7KXUtPTEsby5wb3AoKTtmb3Ioby5wdXNoKGwpLHU9cy5sZW5ndGg7dT4xJiZuKHRbc1t1LTJdXSx0W3NbdS0xXV0sYyk+PTA7KXUtPTEscy5wb3AoKTtzLnB1c2gobCl9Zm9yKHZhciByPW5ldyBBcnJheShzLmxlbmd0aCtvLmxlbmd0aC0yKSxoPTAsYT0wLGY9by5sZW5ndGg7YTxmOysrYSlyW2grK109b1thXTtmb3IodmFyIHA9cy5sZW5ndGgtMjtwPjA7LS1wKXJbaCsrXT1zW3BdO3JldHVybiByfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKVszXX0seyJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOX1dLDQzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlfHwoZT10LHQ9d2luZG93KTt2YXIgcj0wLGE9MCxpPTAsbz17c2hpZnQ6ITEsYWx0OiExLGNvbnRyb2w6ITEsbWV0YTohMX0scz0hMTtmdW5jdGlvbiBsKHQpe3ZhciBlPSExO3JldHVybiJhbHRLZXkiaW4gdCYmKGU9ZXx8dC5hbHRLZXkhPT1vLmFsdCxvLmFsdD0hIXQuYWx0S2V5KSwic2hpZnRLZXkiaW4gdCYmKGU9ZXx8dC5zaGlmdEtleSE9PW8uc2hpZnQsby5zaGlmdD0hIXQuc2hpZnRLZXkpLCJjdHJsS2V5ImluIHQmJihlPWV8fHQuY3RybEtleSE9PW8uY29udHJvbCxvLmNvbnRyb2w9ISF0LmN0cmxLZXkpLCJtZXRhS2V5ImluIHQmJihlPWV8fHQubWV0YUtleSE9PW8ubWV0YSxvLm1ldGE9ISF0Lm1ldGFLZXkpLGV9ZnVuY3Rpb24gYyh0LHMpe3ZhciBjPW4ueChzKSx1PW4ueShzKTsiYnV0dG9ucyJpbiBzJiYodD0wfHMuYnV0dG9ucyksKHQhPT1yfHxjIT09YXx8dSE9PWl8fGwocykpJiYocj0wfHQsYT1jfHwwLGk9dXx8MCxlJiZlKHIsYSxpLG8pKX1mdW5jdGlvbiB1KHQpe2MoMCx0KX1mdW5jdGlvbiBoKCl7KHJ8fGF8fGl8fG8uc2hpZnR8fG8uYWx0fHxvLm1ldGF8fG8uY29udHJvbCkmJihhPWk9MCxyPTAsby5zaGlmdD1vLmFsdD1vLmNvbnRyb2w9by5tZXRhPSExLGUmJmUoMCwwLDAsbykpfWZ1bmN0aW9uIGYodCl7bCh0KSYmZSYmZShyLGEsaSxvKX1mdW5jdGlvbiBwKHQpezA9PT1uLmJ1dHRvbnModCk/YygwLHQpOmMocix0KX1mdW5jdGlvbiBkKHQpe2MocnxuLmJ1dHRvbnModCksdCl9ZnVuY3Rpb24gZyh0KXtjKHImfm4uYnV0dG9ucyh0KSx0KX1mdW5jdGlvbiB2KCl7c3x8KHM9ITAsdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHApLHQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixkKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGcpLHQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix1KSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0Iix1KSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsdSksdC5hZGRFdmVudExpc3RlbmVyKCJibHVyIixoKSx0LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixmKSx0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGYpLHQuYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLGYpLHQhPT13aW5kb3cmJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsaCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixmKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIixmKSkpfXYoKTt2YXIgbT17ZWxlbWVudDp0fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobSx7ZW5hYmxlZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlKXtlP3YoKTpzJiYocz0hMSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIscCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGQpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZyksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix1KSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLHUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLHUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIix1KSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGgpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGYpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlwcmVzcyIsZiksdCE9PXdpbmRvdyYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixoKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGYpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixmKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLGYpKSl9LGVudW1lcmFibGU6ITB9LGJ1dHRvbnM6e2dldDpmdW5jdGlvbigpe3JldHVybiByfSxlbnVtZXJhYmxlOiEwfSx4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW51bWVyYWJsZTohMH0seTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGVudW1lcmFibGU6ITB9LG1vZHM6e2dldDpmdW5jdGlvbigpe3JldHVybiBvfSxlbnVtZXJhYmxlOiEwfX0pLG19O3ZhciBuPXQoIm1vdXNlLWV2ZW50Iil9LHsibW91c2UtZXZlbnQiOjQzOX1dLDQzODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXtsZWZ0OjAsdG9wOjB9O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7ZT1lfHx0LmN1cnJlbnRUYXJnZXR8fHQuc3JjRWxlbWVudCxBcnJheS5pc0FycmF5KHIpfHwocj1bMCwwXSk7dmFyIGE9dC5jbGllbnRYfHwwLGk9dC5jbGllbnRZfHwwLG89KHM9ZSxzPT09d2luZG93fHxzPT09ZG9jdW1lbnR8fHM9PT1kb2N1bWVudC5ib2R5P246cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7dmFyIHM7cmV0dXJuIHJbMF09YS1vLmxlZnQsclsxXT1pLW8udG9wLHJ9fSx7fV0sNDM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCl7cmV0dXJuIHQudGFyZ2V0fHx0LnNyY0VsZW1lbnR8fHdpbmRvd31yLmJ1dHRvbnM9ZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZigiYnV0dG9ucyJpbiB0KXJldHVybiB0LmJ1dHRvbnM7aWYoIndoaWNoImluIHQpe2lmKDI9PT0oZT10LndoaWNoKSlyZXR1cm4gNDtpZigzPT09ZSlyZXR1cm4gMjtpZihlPjApcmV0dXJuIDE8PGUtMX1lbHNlIGlmKCJidXR0b24iaW4gdCl7dmFyIGU7aWYoMT09PShlPXQuYnV0dG9uKSlyZXR1cm4gNDtpZigyPT09ZSlyZXR1cm4gMjtpZihlPj0wKXJldHVybiAxPDxlfX1yZXR1cm4gMH0sci5lbGVtZW50PW4sci54PWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoIm9mZnNldFgiaW4gdClyZXR1cm4gdC5vZmZzZXRYO3ZhciBlPW4odCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHQuY2xpZW50WC1lLmxlZnR9cmV0dXJuIDB9LHIueT1mdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIHQpe2lmKCJvZmZzZXRZImluIHQpcmV0dXJuIHQub2Zmc2V0WTt2YXIgZT1uKHQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiB0LmNsaWVudFktZS50b3B9cmV0dXJuIDB9fSx7fV0sNDQwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInRvLXB4Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXsiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHI9ISFlLGU9dCx0PXdpbmRvdyk7dmFyIGE9bigiZXgiLHQpLGk9ZnVuY3Rpb24odCl7ciYmdC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBuPXQuZGVsdGFYfHwwLGk9dC5kZWx0YVl8fDAsbz10LmRlbHRhWnx8MCxzPXQuZGVsdGFNb2RlLGw9MTtzd2l0Y2gocyl7Y2FzZSAxOmw9YTticmVhaztjYXNlIDI6bD13aW5kb3cuaW5uZXJIZWlnaHR9aWYoaSo9bCxvKj1sLChuKj1sKXx8aXx8bylyZXR1cm4gZShuLGksbyx0KX07cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLGkpLGl9fSx7InRvLXB4Ijo1Mzh9XSw0NDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgidHlwZWRhcnJheS1wb29sIik7ZnVuY3Rpb24gYSh0KXtyZXR1cm4iYSIrdH1mdW5jdGlvbiBpKHQpe3JldHVybiJkIit0fWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4iYyIrdCsiXyIrZX1mdW5jdGlvbiBzKHQpe3JldHVybiJzIit0fWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4idCIrdCsiXyIrZX1mdW5jdGlvbiBjKHQpe3JldHVybiJvIit0fWZ1bmN0aW9uIHUodCl7cmV0dXJuIngiK3R9ZnVuY3Rpb24gaCh0KXtyZXR1cm4icCIrdH1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuImQiK3QrIl8iK2V9ZnVuY3Rpb24gcCh0KXtyZXR1cm4iaSIrdH1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuInUiK3QrIl8iK2V9ZnVuY3Rpb24gZyh0KXtyZXR1cm4iYiIrdH1mdW5jdGlvbiB2KHQpe3JldHVybiJ5Iit0fWZ1bmN0aW9uIG0odCl7cmV0dXJuImUiK3R9ZnVuY3Rpb24geSh0KXtyZXR1cm4idiIrdH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXt0aHJvdyBuZXcgRXJyb3IoIm5kYXJyYXktZXh0cmFjdC1jb250b3VyOiAiK3QpfSJvYmplY3QiIT10eXBlb2YgdCYmZSgiTXVzdCBzcGVjaWZ5IGFyZ3VtZW50cyIpO3ZhciByPXQub3JkZXI7QXJyYXkuaXNBcnJheShyKXx8ZSgiTXVzdCBzcGVjaWZ5IG9yZGVyIik7dmFyIEE9dC5hcnJheUFyZ3VtZW50c3x8MTtBPDEmJmUoIk11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgYXJyYXkgYXJndW1lbnQiKTt2YXIgUz10LnNjYWxhckFyZ3VtZW50c3x8MDtTPDAmJmUoIlNjYWxhciBhcmcgY291bnQgbXVzdCBiZSA+IDAiKTsiZnVuY3Rpb24iIT10eXBlb2YgdC52ZXJ0ZXgmJmUoIk11c3Qgc3BlY2lmeSB2ZXJ0ZXggY3JlYXRpb24gZnVuY3Rpb24iKTsiZnVuY3Rpb24iIT10eXBlb2YgdC5jZWxsJiZlKCJNdXN0IHNwZWNpZnkgY2VsbCBjcmVhdGlvbiBmdW5jdGlvbiIpOyJmdW5jdGlvbiIhPXR5cGVvZiB0LnBoYXNlJiZlKCJNdXN0IHNwZWNpZnkgcGhhc2UgZnVuY3Rpb24iKTtmb3IodmFyIEU9dC5nZXR0ZXJzfHxbXSxMPW5ldyBBcnJheShBKSxDPTA7QzxBOysrQylFLmluZGV4T2YoQyk+PTA/TFtDXT0hMDpMW0NdPSExO3JldHVybiBmdW5jdGlvbih0LGUscixBLFMsRSl7dmFyIEw9RS5sZW5ndGgsQz1TLmxlbmd0aDtpZihDPDIpdGhyb3cgbmV3IEVycm9yKCJuZGFycmF5LWV4dHJhY3QtY29udG91cjogRGltZW5zaW9uIG11c3QgYmUgYXQgbGVhc3QgMiIpO2Zvcih2YXIgUD0iZXh0cmFjdENvbnRvdXIiK1Muam9pbigiXyIpLE89W10sej1bXSxJPVtdLEQ9MDtEPEw7KytEKUkucHVzaChhKEQpKTtmb3IodmFyIEQ9MDtEPEE7KytEKUkucHVzaCh1KEQpKTtmb3IodmFyIEQ9MDtEPEM7KytEKXoucHVzaChzKEQpKyI9IithKDApKyIuc2hhcGVbIitEKyJdfDAiKTtmb3IodmFyIEQ9MDtEPEw7KytEKXt6LnB1c2goaShEKSsiPSIrYShEKSsiLmRhdGEiLGMoRCkrIj0iK2EoRCkrIi5vZmZzZXR8MCIpO2Zvcih2YXIgUj0wO1I8QzsrK1Ipei5wdXNoKGwoRCxSKSsiPSIrYShEKSsiLnN0cmlkZVsiK1IrIl18MCIpfWZvcih2YXIgRD0wO0Q8TDsrK0Qpe3oucHVzaChoKEQpKyI9IitjKEQpKSx6LnB1c2gobyhELDApKTtmb3IodmFyIFI9MTtSPDE8PEM7KytSKXtmb3IodmFyIEY9W10sQj0wO0I8QzsrK0IpUiYxPDxCJiZGLnB1c2goIi0iK2woRCxCKSk7ei5wdXNoKGYoRCxSKSsiPSgiK0Yuam9pbigiIikrIil8MCIpLHoucHVzaChvKEQsUikrIj0wIil9fWZvcih2YXIgRD0wO0Q8TDsrK0QpZm9yKHZhciBSPTA7UjxDOysrUil7dmFyIE49W2woRCxTW1JdKV07Uj4wJiZOLnB1c2gobChELFNbUi0xXSkrIioiK3MoU1tSLTFdKSksei5wdXNoKGQoRCxTW1JdKSsiPSgiK04uam9pbigiLSIpKyIpfDAiKX1mb3IodmFyIEQ9MDtEPEM7KytEKXoucHVzaChwKEQpKyI9MCIpO3oucHVzaChfKyI9MCIpO2Zvcih2YXIgaj1bIjIiXSxEPUMtMjtEPj0wOy0tRClqLnB1c2gocyhTW0RdKSk7ei5wdXNoKHcrIj0oIitqLmpvaW4oIioiKSsiKXwwIixiKyI9bWFsbG9jVWludDMyKCIrdysiKSIseCsiPW1hbGxvY1VpbnQzMigiK3crIikiLGsrIj0wIiksei5wdXNoKGcoMCkrIj0wIik7Zm9yKHZhciBSPTE7UjwxPDxDOysrUil7Zm9yKHZhciBWPVtdLFU9W10sQj0wO0I8QzsrK0IpUiYxPDxCJiYoMD09PVUubGVuZ3RoP1YucHVzaCgiMSIpOlYudW5zaGlmdChVLmpvaW4oIioiKSkpLFUucHVzaChzKFNbQl0pKTt2YXIgcT0iIjtWWzBdLmluZGV4T2YocyhTW0MtMl0pKTwwJiYocT0iLSIpO3ZhciBIPU0oQyxSLFMpO3oucHVzaChtKEgpKyI9KC0iK1Yuam9pbigiLSIpKyIpfDAiLHYoSCkrIj0oIitxK1Yuam9pbigiLSIpKyIpfDAiLGcoSCkrIj0wIil9ZnVuY3Rpb24gRyh0LGUpe08ucHVzaCgiZm9yKCIscChTW3RdKSwiPSIsZSwiOyIscChTW3RdKSwiPCIscyhTW3RdKSwiOyIsIisrIixwKFNbdF0pLCIpeyIpfWZ1bmN0aW9uIFkodCl7Zm9yKHZhciBlPTA7ZTxMOysrZSlPLnB1c2goaChlKSwiKz0iLGQoZSxTW3RdKSwiOyIpO08ucHVzaCgifSIpfWZ1bmN0aW9uIFcoKXtmb3IodmFyIHQ9MTt0PDE8PEM7Kyt0KU8ucHVzaChULCI9IixtKHQpLCI7IixtKHQpLCI9Iix2KHQpLCI7Iix2KHQpLCI9IixULCI7Iil9ei5wdXNoKHkoMCkrIj0wIixUKyI9MCIpLGZ1bmN0aW9uIHQoZSxyKXtpZihlPDApcmV0dXJuIHZvaWQgZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTxMOysrZSlFW2VdP08ucHVzaChvKGUsMCksIj0iLGkoZSksIi5nZXQoIixoKGUpLCIpOyIpOk8ucHVzaChvKGUsMCksIj0iLGkoZSksIlsiLGgoZSksIl07Iik7Zm9yKHZhciByPVtdLGU9MDtlPEw7KytlKXIucHVzaChvKGUsMCkpO2Zvcih2YXIgZT0wO2U8QTsrK2Upci5wdXNoKHUoZSkpO08ucHVzaChnKDApLCI9IixiLCJbIixrLCJdPXBoYXNlKCIsci5qb2luKCksIik7Iik7Zm9yKHZhciBuPTE7bjwxPDxDOysrbilPLnB1c2goZyhuKSwiPSIsYiwiWyIsaywiKyIsbShuKSwiXTsiKTtmb3IodmFyIGE9W10sbj0xO248MTw8QzsrK24pYS5wdXNoKCIoIitnKDApKyIhPT0iK2cobikrIikiKTtPLnB1c2goImlmKCIsYS5qb2luKCJ8fCIpLCIpeyIpO2Zvcih2YXIgcz1bXSxlPTA7ZTxDOysrZSlzLnB1c2gocChlKSk7Zm9yKHZhciBlPTA7ZTxMOysrZSl7cy5wdXNoKG8oZSwwKSk7Zm9yKHZhciBuPTE7bjwxPDxDOysrbilFW2VdP08ucHVzaChvKGUsbiksIj0iLGkoZSksIi5nZXQoIixoKGUpLCIrIixmKGUsbiksIik7Iik6Ty5wdXNoKG8oZSxuKSwiPSIsaShlKSwiWyIsaChlKSwiKyIsZihlLG4pLCJdOyIpLHMucHVzaChvKGUsbikpfWZvcih2YXIgZT0wO2U8MTw8QzsrK2Upcy5wdXNoKGcoZSkpO2Zvcih2YXIgZT0wO2U8QTsrK2Upcy5wdXNoKHUoZSkpO08ucHVzaCgidmVydGV4KCIscy5qb2luKCksIik7Iix5KDApLCI9Iix4LCJbIixrLCJdPSIsXywiKys7Iik7Zm9yKHZhciBsPSgxPDxDKS0xLGM9ZyhsKSxuPTA7bjxDOysrbilpZigwPT0odCZ+KDE8PG4pKSl7Zm9yKHZhciBkPWxeMTw8bix2PWcoZCksdz1bXSxUPWQ7VD4wO1Q9VC0xJmQpdy5wdXNoKHgrIlsiK2srIisiK20oVCkrIl0iKTt3LnB1c2goeSgwKSk7Zm9yKHZhciBUPTA7VDxMOysrVCkxJm4/dy5wdXNoKG8oVCxsKSxvKFQsZCkpOncucHVzaChvKFQsZCksbyhULGwpKTsxJm4/dy5wdXNoKGMsdik6dy5wdXNoKHYsYyk7Zm9yKHZhciBUPTA7VDxBOysrVCl3LnB1c2godShUKSk7Ty5wdXNoKCJpZigiLGMsIiE9PSIsdiwiKXsiLCJmYWNlKCIsdy5qb2luKCksIil9Iil9Ty5wdXNoKCJ9IixrLCIrPTE7Iil9KHIpOyFmdW5jdGlvbih0KXtmb3IodmFyIGU9dC0xO2U+PTA7LS1lKUcoZSwwKTtmb3IodmFyIHI9W10sZT0wO2U8TDsrK2UpRVtlXT9yLnB1c2goaShlKSsiLmdldCgiK2goZSkrIikiKTpyLnB1c2goaShlKSsiWyIraChlKSsiXSIpO2Zvcih2YXIgZT0wO2U8QTsrK2Upci5wdXNoKHUoZSkpO08ucHVzaChiLCJbIixrLCIrK109cGhhc2UoIixyLmpvaW4oKSwiKTsiKTtmb3IodmFyIGU9MDtlPHQ7KytlKVkoZSk7Zm9yKHZhciBuPTA7bjxMOysrbilPLnB1c2goaChuKSwiKz0iLGQobixTW3RdKSwiOyIpfShlKTtPLnB1c2goImlmKCIscyhTW2VdKSwiPjApeyIscChTW2VdKSwiPTE7Iik7dChlLTEscnwxPDxTW2VdKTtmb3IodmFyIG49MDtuPEw7KytuKU8ucHVzaChoKG4pLCIrPSIsZChuLFNbZV0pLCI7Iik7ZT09PUMtMSYmKE8ucHVzaChrLCI9MDsiKSxXKCkpO0coZSwyKTt0KGUtMSxyKTtlPT09Qy0xJiYoTy5wdXNoKCJpZigiLHAoU1tDLTFdKSwiJjEpeyIsaywiPTA7fSIpLFcoKSk7WShlKTtPLnB1c2goIn0iKX0oQy0xLDApLE8ucHVzaCgiZnJlZVVpbnQzMigiLHgsIik7ZnJlZVVpbnQzMigiLGIsIik7Iik7dmFyIFg9WyIndXNlIHN0cmljdCc7IiwiZnVuY3Rpb24gIixQLCIoIixJLmpvaW4oKSwiKXsiLCJ2YXIgIix6LmpvaW4oKSwiOyIsTy5qb2luKCIiKSwifSIsInJldHVybiAiLFBdLmpvaW4oIiIpO3JldHVybiBuZXcgRnVuY3Rpb24oInZlcnRleCIsImZhY2UiLCJwaGFzZSIsIm1hbGxvY1VpbnQzMiIsImZyZWVVaW50MzIiLFgpKHQsZSxyLG4ubWFsbG9jVWludDMyLG4uZnJlZVVpbnQzMil9KHQudmVydGV4LHQuY2VsbCx0LnBoYXNlLFMscixMKX07dmFyIHg9IlYiLGI9IlAiLF89Ik4iLHc9IlEiLGs9IlgiLFQ9IlQiO2Z1bmN0aW9uIE0odCxlLHIpe2Zvcih2YXIgbj0wLGE9MDthPHQ7KythKWUmMTw8YSYmKG58PTE8PHJbYV0pO3JldHVybiBufX0seyJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDQ0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjd2lzZS9saWIvd3JhcHBlciIpKHthcmdzOlsiaW5kZXgiLCJhcnJheSIsInNjYWxhciJdLHByZTp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxib2R5Ontib2R5OiJ7X2lubGluZV8xX2FyZzFfPV9pbmxpbmVfMV9hcmcyXy5hcHBseSh2b2lkIDAsX2lubGluZV8xX2FyZzBfKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzFfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMV9hcmcxXyIsbHZhbHVlOiEwLHJ2YWx1ZTohMSxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6Int9IixhcmdzOltdLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbXX0sZGVidWc6ITEsZnVuY05hbWU6ImN3aXNlIixibG9ja1NpemU6NjR9KTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0LGUpLHR9fSx7ImN3aXNlL2xpYi93cmFwcGVyIjoxNTF9XSw0NDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZihBcnJheS5pc0FycmF5KHIpKXtpZihyLmxlbmd0aCE9PWUuZGltZW5zaW9uKXRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogaW52YWxpZCBib3VuZGFyeSBjb25kaXRpb25zIil9ZWxzZSByPW4oZS5kaW1lbnNpb24sInN0cmluZyI9PXR5cGVvZiByP3I6ImNsYW1wIik7aWYodC5kaW1lbnNpb24hPT1lLmRpbWVuc2lvbisxKXRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogb3V0cHV0IGRpbWVuc2lvbiBtdXN0IGJlICsxIGlucHV0IGRpbWVuc2lvbiIpO2lmKHQuc2hhcGVbZS5kaW1lbnNpb25dIT09ZS5kaW1lbnNpb24pdGhyb3cgbmV3IEVycm9yKCJuZGFycmF5LWdyYWRpZW50OiBvdXRwdXQgc2hhcGUgbXVzdCBtYXRjaCBpbnB1dCBzaGFwZSIpO2Zvcih2YXIgYT0wO2E8ZS5kaW1lbnNpb247KythKWlmKHQuc2hhcGVbYV0hPT1lLnNoYXBlW2FdKXRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogc2hhcGUgbWlzbWF0Y2giKTtpZigwPT09ZS5zaXplKXJldHVybiB0O2lmKGUuZGltZW5zaW9uPD0wKXJldHVybiB0LnNldCgwKSx0O3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10LmpvaW4oKTtpZihtPW9bZV0pcmV0dXJuIG07dmFyIHI9dC5sZW5ndGgsbj1bImZ1bmN0aW9uIGdyYWRpZW50KGRzdCxzcmMpe3ZhciBzPXNyYy5zaGFwZS5zbGljZSgpOyJdO2Z1bmN0aW9uIGEoZSl7Zm9yKHZhciBhPXItZS5sZW5ndGgsaT1bXSxvPVtdLHM9W10sbD0wO2w8cjsrK2wpZS5pbmRleE9mKGwrMSk+PTA/cy5wdXNoKCIwIik6ZS5pbmRleE9mKC0obCsxKSk+PTA/cy5wdXNoKCJzWyIrbCsiXS0xIik6KHMucHVzaCgiLTEiKSxpLnB1c2goIjEiKSxvLnB1c2goInNbIitsKyJdLTIiKSk7dmFyIGM9Ii5sbygiK2kuam9pbigpKyIpLmhpKCIrby5qb2luKCkrIikiO2lmKDA9PT1pLmxlbmd0aCYmKGM9IiIpLGE+MCl7bi5wdXNoKCJpZigxIik7Zm9yKHZhciBsPTA7bDxyOysrbCllLmluZGV4T2YobCsxKT49MHx8ZS5pbmRleE9mKC0obCsxKSk+PTB8fG4ucHVzaCgiJiZzWyIsbCwiXT4yIik7bi5wdXNoKCIpe2dyYWQiLGEsIihzcmMucGljaygiLHMuam9pbigpLCIpIixjKTtmb3IodmFyIGw9MDtsPHI7KytsKWUuaW5kZXhPZihsKzEpPj0wfHxlLmluZGV4T2YoLShsKzEpKT49MHx8bi5wdXNoKCIsZHN0LnBpY2soIixzLmpvaW4oKSwiLCIsbCwiKSIsYyk7bi5wdXNoKCIpOyIpfWZvcih2YXIgbD0wO2w8ZS5sZW5ndGg7KytsKXt2YXIgdT1NYXRoLmFicyhlW2xdKS0xLGg9ImRzdC5waWNrKCIrcy5qb2luKCkrIiwiK3UrIikiK2M7c3dpdGNoKHRbdV0pe2Nhc2UiY2xhbXAiOnZhciBmPXMuc2xpY2UoKSxwPXMuc2xpY2UoKTtlW2xdPDA/Zlt1XT0ic1siK3UrIl0tMiI6cFt1XT0iMSIsMD09PWE/bi5wdXNoKCJpZihzWyIsdSwiXT4xKXtkc3Quc2V0KCIscy5qb2luKCksIiwiLHUsIiwwLjUqKHNyYy5nZXQoIixmLmpvaW4oKSwiKS1zcmMuZ2V0KCIscC5qb2luKCksIikpKX1lbHNle2RzdC5zZXQoIixzLmpvaW4oKSwiLCIsdSwiLDApfTsiKTpuLnB1c2goImlmKHNbIix1LCJdPjEpe2RpZmYoIixoLCIsc3JjLnBpY2soIixmLmpvaW4oKSwiKSIsYywiLHNyYy5waWNrKCIscC5qb2luKCksIikiLGMsIik7fWVsc2V7emVybygiLGgsIik7fTsiKTticmVhaztjYXNlIm1pcnJvciI6MD09PWE/bi5wdXNoKCJkc3Quc2V0KCIscy5qb2luKCksIiwiLHUsIiwwKTsiKTpuLnB1c2goInplcm8oIixoLCIpOyIpO2JyZWFrO2Nhc2Uid3JhcCI6dmFyIGQ9cy5zbGljZSgpLGc9cy5zbGljZSgpO2VbbF08MD8oZFt1XT0ic1siK3UrIl0tMiIsZ1t1XT0iMCIpOihkW3VdPSJzWyIrdSsiXS0xIixnW3VdPSIxIiksMD09PWE/bi5wdXNoKCJpZihzWyIsdSwiXT4yKXtkc3Quc2V0KCIscy5qb2luKCksIiwiLHUsIiwwLjUqKHNyYy5nZXQoIixkLmpvaW4oKSwiKS1zcmMuZ2V0KCIsZy5qb2luKCksIikpKX1lbHNle2RzdC5zZXQoIixzLmpvaW4oKSwiLCIsdSwiLDApfTsiKTpuLnB1c2goImlmKHNbIix1LCJdPjIpe2RpZmYoIixoLCIsc3JjLnBpY2soIixkLmpvaW4oKSwiKSIsYywiLHNyYy5waWNrKCIsZy5qb2luKCksIikiLGMsIik7fWVsc2V7emVybygiLGgsIik7fTsiKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogSW52YWxpZCBib3VuZGFyeSBjb25kaXRpb24iKX19YT4wJiZuLnB1c2goIn07Iil9Zm9yKHZhciBzPTA7czwxPDxyOysrcyl7Zm9yKHZhciBoPVtdLGY9MDtmPHI7KytmKXMmMTw8ZiYmaC5wdXNoKGYrMSk7Zm9yKHZhciBwPTA7cDwxPDxoLmxlbmd0aDsrK3Ape2Zvcih2YXIgZD1oLnNsaWNlKCksZj0wO2Y8aC5sZW5ndGg7KytmKXAmMTw8ZiYmKGRbZl09LWRbZl0pO2EoZCl9fW4ucHVzaCgicmV0dXJuIGRzdDt9O3JldHVybiBncmFkaWVudCIpO2Zvcih2YXIgZz1bImRpZmYiLCJ6ZXJvIl0sdj1bbCxjXSxzPTE7czw9cjsrK3MpZy5wdXNoKCJncmFkIitzKSx2LnB1c2godShzKSk7Zy5wdXNoKG4uam9pbigiIikpO3ZhciBtPUZ1bmN0aW9uLmFwcGx5KHZvaWQgMCxnKS5hcHBseSh2b2lkIDAsdik7cmV0dXJuIGlbZV09bSxtfShyKSh0LGUpfTt2YXIgbj10KCJkdXAiKSxhPXQoImN3aXNlLWNvbXBpbGVyIiksaT17fSxvPXt9LHM9e2JvZHk6IiIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGw9YSh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJhcnJheSJdLHByZTpzLHBvc3Q6cyxib2R5OnthcmdzOlt7bmFtZToib3V0IixsdmFsdWU6ITAscnZhbHVlOiExLGNvdW50OjF9LHtuYW1lOiJsZWZ0IixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJyaWdodCIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sYm9keToib3V0PTAuNSoobGVmdC1yaWdodCkiLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbXX0sZnVuY05hbWU6ImNkaWZmIn0pLGM9YSh7YXJnczpbImFycmF5Il0scHJlOnMscG9zdDpzLGJvZHk6e2FyZ3M6W3tuYW1lOiJvdXQiLGx2YWx1ZTohMCxydmFsdWU6ITEsY291bnQ6MX1dLGJvZHk6Im91dD0wIix0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGZ1bmNOYW1lOiJ6ZXJvIn0pO2Z1bmN0aW9uIHUodCl7aWYodCBpbiBpKXJldHVybiBpW3RdO2Zvcih2YXIgZT1bXSxyPTA7cjx0OysrcillLnB1c2goIm91dCIsciwicz0wLjUqKGlucCIsciwibC1pbnAiLHIsInIpOyIpO3ZhciBvPVsiYXJyYXkiXSxsPVsianVuayJdO2ZvcihyPTA7cjx0Oysrcil7by5wdXNoKCJhcnJheSIpLGwucHVzaCgib3V0IityKyJzIik7dmFyIGM9bih0KTtjW3JdPS0xLG8ucHVzaCh7YXJyYXk6MCxvZmZzZXQ6Yy5zbGljZSgpfSksY1tyXT0xLG8ucHVzaCh7YXJyYXk6MCxvZmZzZXQ6Yy5zbGljZSgpfSksbC5wdXNoKCJpbnAiK3IrImwiLCJpbnAiK3IrInIiKX1yZXR1cm4gaVt0XT1hKHthcmdzOm8scHJlOnMscG9zdDpzLGJvZHk6e2JvZHk6ZS5qb2luKCIiKSxhcmdzOmwubWFwKGZ1bmN0aW9uKHQpe3JldHVybntuYW1lOnQsbHZhbHVlOjA9PT10LmluZGV4T2YoIm91dCIpLHJ2YWx1ZTowPT09dC5pbmRleE9mKCJpbnAiKSxjb3VudDoianVuayIhPT10fDB9fSksdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxmdW5jTmFtZToiZmRUZW1wbGF0ZSIrdH0pfX0seyJjd2lzZS1jb21waWxlciI6MTQ4LGR1cDoxNzJ9XSw0NDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibmRhcnJheS13YXJwIiksYT10KCJnbC1tYXRyaXgtaW52ZXJ0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1lLmRpbWVuc2lvbixvPWEoW10scik7cmV0dXJuIG4odCxlLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjxpOysrcil7dFtyXT1vWyhpKzEpKmkrcl07Zm9yKHZhciBuPTA7bjxpOysrbil0W3JdKz1vWyhpKzEpKm4rcl0qZVtuXX12YXIgYT1vWyhpKzEpKihpKzEpLTFdO2ZvcihuPTA7bjxpOysrbilhKz1vWyhpKzEpKm4raV0qZVtuXTt2YXIgcz0xL2E7Zm9yKHI9MDtyPGk7KytyKXRbcl0qPXM7cmV0dXJuIHR9KSx0fX0seyJnbC1tYXRyaXgtaW52ZXJ0IjoyODAsIm5kYXJyYXktd2FycCI6NDUxfV0sNDQ1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlKXt2YXIgcj1NYXRoLmZsb29yKGUpLG49ZS1yLGE9MDw9ciYmcjx0LnNoYXBlWzBdLGk9MDw9cisxJiZyKzE8dC5zaGFwZVswXTtyZXR1cm4oMS1uKSooYT8rdC5nZXQocik6MCkrbiooaT8rdC5nZXQocisxKTowKX1mdW5jdGlvbiBhKHQsZSxyKXt2YXIgbj1NYXRoLmZsb29yKGUpLGE9ZS1uLGk9MDw9biYmbjx0LnNoYXBlWzBdLG89MDw9bisxJiZuKzE8dC5zaGFwZVswXSxzPU1hdGguZmxvb3IociksbD1yLXMsYz0wPD1zJiZzPHQuc2hhcGVbMV0sdT0wPD1zKzEmJnMrMTx0LnNoYXBlWzFdLGg9aSYmYz90LmdldChuLHMpOjAsZj1pJiZ1P3QuZ2V0KG4scysxKTowO3JldHVybigxLWwpKigoMS1hKSpoK2EqKG8mJmM/dC5nZXQobisxLHMpOjApKStsKigoMS1hKSpmK2EqKG8mJnU/dC5nZXQobisxLHMrMSk6MCkpfWZ1bmN0aW9uIGkodCxlLHIsbil7dmFyIGE9TWF0aC5mbG9vcihlKSxpPWUtYSxvPTA8PWEmJmE8dC5zaGFwZVswXSxzPTA8PWErMSYmYSsxPHQuc2hhcGVbMF0sbD1NYXRoLmZsb29yKHIpLGM9ci1sLHU9MDw9bCYmbDx0LnNoYXBlWzFdLGg9MDw9bCsxJiZsKzE8dC5zaGFwZVsxXSxmPU1hdGguZmxvb3IobikscD1uLWYsZD0wPD1mJiZmPHQuc2hhcGVbMl0sZz0wPD1mKzEmJmYrMTx0LnNoYXBlWzJdLHY9byYmdSYmZD90LmdldChhLGwsZik6MCxtPW8mJmgmJmQ/dC5nZXQoYSxsKzEsZik6MCx5PXMmJnUmJmQ/dC5nZXQoYSsxLGwsZik6MCx4PXMmJmgmJmQ/dC5nZXQoYSsxLGwrMSxmKTowLGI9byYmdSYmZz90LmdldChhLGwsZisxKTowLF89byYmaCYmZz90LmdldChhLGwrMSxmKzEpOjA7cmV0dXJuKDEtcCkqKCgxLWMpKigoMS1pKSp2K2kqeSkrYyooKDEtaSkqbStpKngpKStwKigoMS1jKSooKDEtaSkqYitpKihzJiZ1JiZnP3QuZ2V0KGErMSxsLGYrMSk6MCkpK2MqKCgxLWkpKl8raSoocyYmaCYmZz90LmdldChhKzEsbCsxLGYrMSk6MCkpKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbyl7c3dpdGNoKHQuc2hhcGUubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiBuKHQsZSk7Y2FzZSAyOnJldHVybiBhKHQsZSxyKTtjYXNlIDM6cmV0dXJuIGkodCxlLHIsbyk7ZGVmYXVsdDpyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGUscixuPTB8dC5zaGFwZS5sZW5ndGgsYT1uZXcgQXJyYXkobiksaT1uZXcgQXJyYXkobiksbz1uZXcgQXJyYXkobikscz1uZXcgQXJyYXkobik7Zm9yKGU9MDtlPG47KytlKXI9K2FyZ3VtZW50c1tlKzFdLGFbZV09TWF0aC5mbG9vcihyKSxpW2VdPXItYVtlXSxvW2VdPTA8PWFbZV0mJmFbZV08dC5zaGFwZVtlXSxzW2VdPTA8PWFbZV0rMSYmYVtlXSsxPHQuc2hhcGVbZV07dmFyIGwsYyx1LGg9MDt0OmZvcihlPTA7ZTwxPDxuOysrZSl7Zm9yKGM9MSx1PXQub2Zmc2V0LGw9MDtsPG47KytsKWlmKGUmMTw8bCl7aWYoIXNbbF0pY29udGludWUgdDtjKj1pW2xdLHUrPXQuc3RyaWRlW2xdKihhW2xdKzEpfWVsc2V7aWYoIW9bbF0pY29udGludWUgdDtjKj0xLWlbbF0sdSs9dC5zdHJpZGVbbF0qYVtsXX1oKz1jKnQuZGF0YVt1XX1yZXR1cm4gaH0uYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fSxlLmV4cG9ydHMuZDE9bixlLmV4cG9ydHMuZDI9YSxlLmV4cG9ydHMuZDM9aX0se31dLDQ0NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjd2lzZS1jb21waWxlciIpLGE9e2JvZHk6IiIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119O2Z1bmN0aW9uIGkodCl7aWYoIXQpcmV0dXJuIGE7Zm9yKHZhciBlPTA7ZTx0LmFyZ3MubGVuZ3RoOysrZSl7dmFyIHI9dC5hcmdzW2VdO3QuYXJnc1tlXT0wPT09ZT97bmFtZTpyLGx2YWx1ZTohMCxydmFsdWU6ISF0LnJ2YWx1ZSxjb3VudDp0LmNvdW50fHwxfTp7bmFtZTpyLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX19cmV0dXJuIHQudGhpc1ZhcnN8fCh0LnRoaXNWYXJzPVtdKSx0LmxvY2FsVmFyc3x8KHQubG9jYWxWYXJzPVtdKSx0fWZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQuYXJncy5sZW5ndGg7KytyKWUucHVzaCgiYSIrcik7cmV0dXJuIG5ldyBGdW5jdGlvbigiUCIsWyJyZXR1cm4gZnVuY3Rpb24gIix0LmZ1bmNOYW1lLCJfbmRhcnJheW9wcygiLGUuam9pbigiLCIpLCIpIHtQKCIsZS5qb2luKCIsIiksIik7cmV0dXJuIGEwfSJdLmpvaW4oIiIpKShmdW5jdGlvbih0KXtyZXR1cm4gbih7YXJnczp0LmFyZ3MscHJlOmkodC5wcmUpLGJvZHk6aSh0LmJvZHkpLHBvc3Q6aSh0LnByb2MpLGZ1bmNOYW1lOnQuZnVuY05hbWV9KX0odCkpfXZhciBzPXthZGQ6IisiLHN1YjoiLSIsbXVsOiIqIixkaXY6Ii8iLG1vZDoiJSIsYmFuZDoiJiIsYm9yOiJ8IixieG9yOiJeIixsc2hpZnQ6Ijw8Iixyc2hpZnQ6Ij4+IixycnNoaWZ0OiI+Pj4ifTshZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gcyl7dmFyIGU9c1t0XTtyW3RdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5IiwiYXJyYXkiXSxib2R5OnthcmdzOlsiYSIsImIiLCJjIl0sYm9keToiYT1iIitlKyJjIn0sZnVuY05hbWU6dH0pLHJbdCsiZXEiXT1vKHthcmdzOlsiYXJyYXkiLCJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImEiK2UrIj1iIn0scnZhbHVlOiEwLGZ1bmNOYW1lOnQrImVxIn0pLHJbdCsicyJdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Iiwic2NhbGFyIl0sYm9keTp7YXJnczpbImEiLCJiIiwicyJdLGJvZHk6ImE9YiIrZSsicyJ9LGZ1bmNOYW1lOnQrInMifSksclt0KyJzZXEiXT1vKHthcmdzOlsiYXJyYXkiLCJzY2FsYXIiXSxib2R5OnthcmdzOlsiYSIsInMiXSxib2R5OiJhIitlKyI9cyJ9LHJ2YWx1ZTohMCxmdW5jTmFtZTp0KyJzZXEifSl9fSgpO3ZhciBsPXtub3Q6IiEiLGJub3Q6In4iLG5lZzoiLSIscmVjaXA6IjEuMC8ifTshZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gbCl7dmFyIGU9bFt0XTtyW3RdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Il0sYm9keTp7YXJnczpbImEiLCJiIl0sYm9keToiYT0iK2UrImIifSxmdW5jTmFtZTp0fSksclt0KyJlcSJdPW8oe2FyZ3M6WyJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIl0sYm9keToiYT0iK2UrImEifSxydmFsdWU6ITAsY291bnQ6MixmdW5jTmFtZTp0KyJlcSJ9KX19KCk7dmFyIGM9e2FuZDoiJiYiLG9yOiJ8fCIsZXE6Ij09PSIsbmVxOiIhPT0iLGx0OiI8IixndDoiPiIsbGVxOiI8PSIsZ2VxOiI+PSJ9OyFmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiBjKXt2YXIgZT1jW3RdO3JbdF09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIiwiYiIsImMiXSxib2R5OiJhPWIiK2UrImMifSxmdW5jTmFtZTp0fSksclt0KyJzIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJzY2FsYXIiXSxib2R5OnthcmdzOlsiYSIsImIiLCJzIl0sYm9keToiYT1iIitlKyJzIn0sZnVuY05hbWU6dCsicyJ9KSxyW3QrImVxIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiXSxib2R5OnthcmdzOlsiYSIsImIiXSxib2R5OiJhPWEiK2UrImIifSxydmFsdWU6ITAsY291bnQ6MixmdW5jTmFtZTp0KyJlcSJ9KSxyW3QrInNlcSJdPW8oe2FyZ3M6WyJhcnJheSIsInNjYWxhciJdLGJvZHk6e2FyZ3M6WyJhIiwicyJdLGJvZHk6ImE9YSIrZSsicyJ9LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOnQrInNlcSJ9KX19KCk7dmFyIHU9WyJhYnMiLCJhY29zIiwiYXNpbiIsImF0YW4iLCJjZWlsIiwiY29zIiwiZXhwIiwiZmxvb3IiLCJsb2ciLCJyb3VuZCIsInNpbiIsInNxcnQiLCJ0YW4iXTshZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHUubGVuZ3RoOysrdCl7dmFyIGU9dVt0XTtyW2VdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Il0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiXSxib2R5OiJhPXRoaXNfZihiKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6ZX0pLHJbZSsiZXEiXT1vKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIl0sYm9keToiYT10aGlzX2YoYSkiLHRoaXNWYXJzOlsidGhpc19mIl19LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOmUrImVxIn0pfX0oKTt2YXIgaD1bIm1heCIsIm1pbiIsImF0YW4yIiwicG93Il07IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDxoLmxlbmd0aDsrK3Qpe3ZhciBlPWhbdF07cltlXT1vKHthcmdzOlsiYXJyYXkiLCJhcnJheSIsImFycmF5Il0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiLCJjIl0sYm9keToiYT10aGlzX2YoYixjKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6ZX0pLHJbZSsicyJdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Iiwic2NhbGFyIl0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiLCJjIl0sYm9keToiYT10aGlzX2YoYixjKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6ZSsicyJ9KSxyW2UrImVxIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9dGhpc19mKGEsYikiLHRoaXNWYXJzOlsidGhpc19mIl19LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOmUrImVxIn0pLHJbZSsic2VxIl09byh7YXJnczpbImFycmF5Iiwic2NhbGFyIl0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiXSxib2R5OiJhPXRoaXNfZihhLGIpIix0aGlzVmFyczpbInRoaXNfZiJdfSxydmFsdWU6ITAsY291bnQ6MixmdW5jTmFtZTplKyJzZXEifSl9fSgpO3ZhciBmPVsiYXRhbjIiLCJwb3ciXTshZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PGYubGVuZ3RoOysrdCl7dmFyIGU9Zlt0XTtyW2UrIm9wIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJhcnJheSJdLHByZTp7YXJnczpbXSxib2R5OiJ0aGlzX2Y9TWF0aC4iK2UsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sYm9keTp7YXJnczpbImEiLCJiIiwiYyJdLGJvZHk6ImE9dGhpc19mKGMsYikiLHRoaXNWYXJzOlsidGhpc19mIl19LGZ1bmNOYW1lOmUrIm9wIn0pLHJbZSsib3BzIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJzY2FsYXIiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIiwiYiIsImMiXSxib2R5OiJhPXRoaXNfZihjLGIpIix0aGlzVmFyczpbInRoaXNfZiJdfSxmdW5jTmFtZTplKyJvcHMifSkscltlKyJvcGVxIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9dGhpc19mKGIsYSkiLHRoaXNWYXJzOlsidGhpc19mIl19LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOmUrIm9wZXEifSkscltlKyJvcHNlcSJdPW8oe2FyZ3M6WyJhcnJheSIsInNjYWxhciJdLHByZTp7YXJnczpbXSxib2R5OiJ0aGlzX2Y9TWF0aC4iK2UsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sYm9keTp7YXJnczpbImEiLCJiIl0sYm9keToiYT10aGlzX2YoYixhKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0scnZhbHVlOiEwLGNvdW50OjIsZnVuY05hbWU6ZSsib3BzZXEifSl9fSgpLHIuYW55PW4oe2FyZ3M6WyJhcnJheSJdLHByZTphLGJvZHk6e2FyZ3M6W3tuYW1lOiJhIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSxib2R5OiJpZihhKXtyZXR1cm4gdHJ1ZX0iLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6W10sYm9keToicmV0dXJuIGZhbHNlIn0sZnVuY05hbWU6ImFueSJ9KSxyLmFsbD1uKHthcmdzOlsiYXJyYXkiXSxwcmU6YSxib2R5OnthcmdzOlt7bmFtZToieCIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sYm9keToiaWYoIXgpe3JldHVybiBmYWxzZX0iLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6W10sYm9keToicmV0dXJuIHRydWUifSxmdW5jTmFtZToiYWxsIn0pLHIuc3VtPW4oe2FyZ3M6WyJhcnJheSJdLHByZTp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJ0aGlzX3M9MCJ9LGJvZHk6e2FyZ3M6W3tuYW1lOiJhIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSxib2R5OiJ0aGlzX3MrPWEiLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbInRoaXNfcyJdfSxwb3N0OnthcmdzOltdLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbInRoaXNfcyJdLGJvZHk6InJldHVybiB0aGlzX3MifSxmdW5jTmFtZToic3VtIn0pLHIucHJvZD1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToidGhpc19zPTEifSxib2R5OnthcmdzOlt7bmFtZToiYSIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sYm9keToidGhpc19zKj1hIixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJyZXR1cm4gdGhpc19zIn0sZnVuY05hbWU6InByb2QifSksci5ub3JtMnNxdWFyZWQ9bih7YXJnczpbImFycmF5Il0scHJlOnthcmdzOltdLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbInRoaXNfcyJdLGJvZHk6InRoaXNfcz0wIn0sYm9keTp7YXJnczpbe25hbWU6ImEiLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6Mn1dLGJvZHk6InRoaXNfcys9YSphIixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJyZXR1cm4gdGhpc19zIn0sZnVuY05hbWU6Im5vcm0yc3F1YXJlZCJ9KSxyLm5vcm0yPW4oe2FyZ3M6WyJhcnJheSJdLHByZTp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJ0aGlzX3M9MCJ9LGJvZHk6e2FyZ3M6W3tuYW1lOiJhIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjJ9XSxib2R5OiJ0aGlzX3MrPWEqYSIsbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl19LHBvc3Q6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToicmV0dXJuIE1hdGguc3FydCh0aGlzX3MpIn0sZnVuY05hbWU6Im5vcm0yIn0pLHIubm9ybWluZj1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToidGhpc19zPTAifSxib2R5OnthcmdzOlt7bmFtZToiYSIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDo0fV0sYm9keToiaWYoLWE+dGhpc19zKXt0aGlzX3M9LWF9ZWxzZSBpZihhPnRoaXNfcyl7dGhpc19zPWF9Iixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJyZXR1cm4gdGhpc19zIn0sZnVuY05hbWU6Im5vcm1pbmYifSksci5ub3JtMT1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToidGhpc19zPTAifSxib2R5OnthcmdzOlt7bmFtZToiYSIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDozfV0sYm9keToidGhpc19zKz1hPDA/LWE6YSIsbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl19LHBvc3Q6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToicmV0dXJuIHRoaXNfcyJ9LGZ1bmNOYW1lOiJub3JtMSJ9KSxyLnN1cD1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2JvZHk6InRoaXNfaD0tSW5maW5pdHkiLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6ImlmKF9pbmxpbmVfMV9hcmcwXz50aGlzX2gpdGhpc19oPV9pbmxpbmVfMV9hcmcwXyIsYXJnczpbe25hbWU6Il9pbmxpbmVfMV9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoyfV0sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6InJldHVybiB0aGlzX2giLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119fSksci5pbmY9bih7YXJnczpbImFycmF5Il0scHJlOntib2R5OiJ0aGlzX2g9SW5maW5pdHkiLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6ImlmKF9pbmxpbmVfMV9hcmcwXzx0aGlzX2gpdGhpc19oPV9pbmxpbmVfMV9hcmcwXyIsYXJnczpbe25hbWU6Il9pbmxpbmVfMV9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoyfV0sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6InJldHVybiB0aGlzX2giLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119fSksci5hcmdtaW49bih7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzaGFwZSJdLHByZTp7Ym9keToie3RoaXNfdj1JbmZpbml0eTt0aGlzX2k9X2lubGluZV8wX2FyZzJfLnNsaWNlKDApfSIsYXJnczpbe25hbWU6Il9pbmxpbmVfMF9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfSx7bmFtZToiX2lubGluZV8wX2FyZzFfIixsdmFsdWU6ITEscnZhbHVlOiExLGNvdW50OjB9LHtuYW1lOiJfaW5saW5lXzBfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLHRoaXNWYXJzOlsidGhpc19pIiwidGhpc192Il0sbG9jYWxWYXJzOltdfSxib2R5Ontib2R5OiJ7aWYoX2lubGluZV8xX2FyZzFfPHRoaXNfdil7dGhpc192PV9pbmxpbmVfMV9hcmcxXztmb3IodmFyIF9pbmxpbmVfMV9rPTA7X2lubGluZV8xX2s8X2lubGluZV8xX2FyZzBfLmxlbmd0aDsrK19pbmxpbmVfMV9rKXt0aGlzX2lbX2lubGluZV8xX2tdPV9pbmxpbmVfMV9hcmcwX1tfaW5saW5lXzFfa119fX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzFfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6Mn0se25hbWU6Il9pbmxpbmVfMV9hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoyfV0sdGhpc1ZhcnM6WyJ0aGlzX2kiLCJ0aGlzX3YiXSxsb2NhbFZhcnM6WyJfaW5saW5lXzFfayJdfSxwb3N0Ontib2R5OiJ7cmV0dXJuIHRoaXNfaX0iLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2kiXSxsb2NhbFZhcnM6W119fSksci5hcmdtYXg9bih7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzaGFwZSJdLHByZTp7Ym9keToie3RoaXNfdj0tSW5maW5pdHk7dGhpc19pPV9pbmxpbmVfMF9hcmcyXy5zbGljZSgwKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzBfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITEsY291bnQ6MH0se25hbWU6Il9pbmxpbmVfMF9hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfSx7bmFtZToiX2lubGluZV8wX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbInRoaXNfaSIsInRoaXNfdiJdLGxvY2FsVmFyczpbXX0sYm9keTp7Ym9keToie2lmKF9pbmxpbmVfMV9hcmcxXz50aGlzX3Ype3RoaXNfdj1faW5saW5lXzFfYXJnMV87Zm9yKHZhciBfaW5saW5lXzFfaz0wO19pbmxpbmVfMV9rPF9pbmxpbmVfMV9hcmcwXy5sZW5ndGg7KytfaW5saW5lXzFfayl7dGhpc19pW19pbmxpbmVfMV9rXT1faW5saW5lXzFfYXJnMF9bX2lubGluZV8xX2tdfX19IixhcmdzOlt7bmFtZToiX2lubGluZV8xX2FyZzBfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjJ9LHtuYW1lOiJfaW5saW5lXzFfYXJnMV8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6Mn1dLHRoaXNWYXJzOlsidGhpc19pIiwidGhpc192Il0sbG9jYWxWYXJzOlsiX2lubGluZV8xX2siXX0scG9zdDp7Ym9keToie3JldHVybiB0aGlzX2l9IixhcmdzOltdLHRoaXNWYXJzOlsidGhpc19pIl0sbG9jYWxWYXJzOltdfX0pLHIucmFuZG9tPW8oe2FyZ3M6WyJhcnJheSJdLHByZTp7YXJnczpbXSxib2R5OiJ0aGlzX2Y9TWF0aC5yYW5kb20iLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIl0sYm9keToiYT10aGlzX2YoKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6InJhbmRvbSJ9KSxyLmFzc2lnbj1vKHthcmdzOlsiYXJyYXkiLCJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9YiJ9LGZ1bmNOYW1lOiJhc3NpZ24ifSksci5hc3NpZ25zPW8oe2FyZ3M6WyJhcnJheSIsInNjYWxhciJdLGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9YiJ9LGZ1bmNOYW1lOiJhc3NpZ25zIn0pLHIuZXF1YWxzPW4oe2FyZ3M6WyJhcnJheSIsImFycmF5Il0scHJlOmEsYm9keTp7YXJnczpbe25hbWU6IngiLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6InkiLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLGJvZHk6ImlmKHghPT15KXtyZXR1cm4gZmFsc2V9Iixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6W119LHBvc3Q6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOltdLGJvZHk6InJldHVybiB0cnVlIn0sZnVuY05hbWU6ImVxdWFscyJ9KX0seyJjd2lzZS1jb21waWxlciI6MTQ4fV0sNDQ3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIm5kYXJyYXkiKSxhPXQoIi4vZG9Db252ZXJ0LmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLGk9dCxvPTE7QXJyYXkuaXNBcnJheShpKTspci5wdXNoKGkubGVuZ3RoKSxvKj1pLmxlbmd0aCxpPWlbMF07cmV0dXJuIDA9PT1yLmxlbmd0aD9uKCk6KGV8fChlPW4obmV3IEZsb2F0NjRBcnJheShvKSxyKSksYShlLHQpLGUpfX0seyIuL2RvQ29udmVydC5qcyI6NDQ4LG5kYXJyYXk6NDUyfV0sNDQ4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoImN3aXNlLWNvbXBpbGVyIikoe2FyZ3M6WyJhcnJheSIsInNjYWxhciIsImluZGV4Il0scHJlOntib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntcbnZhciBfaW5saW5lXzFfdj1faW5saW5lXzFfYXJnMV8sX2lubGluZV8xX2lcbmZvcihfaW5saW5lXzFfaT0wO19pbmxpbmVfMV9pPF9pbmxpbmVfMV9hcmcyXy5sZW5ndGgtMTsrK19pbmxpbmVfMV9pKSB7XG5faW5saW5lXzFfdj1faW5saW5lXzFfdltfaW5saW5lXzFfYXJnMl9bX2lubGluZV8xX2ldXVxufVxuX2lubGluZV8xX2FyZzBfPV9pbmxpbmVfMV92W19pbmxpbmVfMV9hcmcyX1tfaW5saW5lXzFfYXJnMl8ubGVuZ3RoLTFdXVxufSIsYXJnczpbe25hbWU6Il9pbmxpbmVfMV9hcmcwXyIsbHZhbHVlOiEwLHJ2YWx1ZTohMSxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xX2FyZzFfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzFfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6NH1dLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbIl9pbmxpbmVfMV9pIiwiX2lubGluZV8xX3YiXX0scG9zdDp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxmdW5jTmFtZToiY29udmVydCIsYmxvY2tTaXplOjY0fSl9LHsiY3dpc2UtY29tcGlsZXIiOjE0OH1dLDQ0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0eXBlZGFycmF5LXBvb2wiKSxhPTMyO2Z1bmN0aW9uIGkodCl7c3dpdGNoKHQpe2Nhc2UidWludDgiOnJldHVybltuLm1hbGxvY1VpbnQ4LG4uZnJlZVVpbnQ4XTtjYXNlInVpbnQxNiI6cmV0dXJuW24ubWFsbG9jVWludDE2LG4uZnJlZVVpbnQxNl07Y2FzZSJ1aW50MzIiOnJldHVybltuLm1hbGxvY1VpbnQzMixuLmZyZWVVaW50MzJdO2Nhc2UiaW50OCI6cmV0dXJuW24ubWFsbG9jSW50OCxuLmZyZWVJbnQ4XTtjYXNlImludDE2IjpyZXR1cm5bbi5tYWxsb2NJbnQxNixuLmZyZWVJbnQxNl07Y2FzZSJpbnQzMiI6cmV0dXJuW24ubWFsbG9jSW50MzIsbi5mcmVlSW50MzJdO2Nhc2UiZmxvYXQzMiI6cmV0dXJuW24ubWFsbG9jRmxvYXQsbi5mcmVlRmxvYXRdO2Nhc2UiZmxvYXQ2NCI6cmV0dXJuW24ubWFsbG9jRG91YmxlLG4uZnJlZURvdWJsZV07ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9W10scj0wO3I8dDsrK3IpZS5wdXNoKCJzIityKTtmb3Iocj0wO3I8dDsrK3IpZS5wdXNoKCJuIityKTtmb3Iocj0xO3I8dDsrK3IpZS5wdXNoKCJkIityKTtmb3Iocj0xO3I8dDsrK3IpZS5wdXNoKCJlIityKTtmb3Iocj0xO3I8dDsrK3IpZS5wdXNoKCJmIityKTtyZXR1cm4gZX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1bIid1c2Ugc3RyaWN0JyJdLG49WyJuZGFycmF5U29ydFdyYXBwZXIiLHQuam9pbigiZCIpLGVdLmpvaW4oIiIpO3IucHVzaChbImZ1bmN0aW9uICIsbiwiKCIsWyJhcnJheSJdLmpvaW4oIiwiKSwiKXsiXS5qb2luKCIiKSk7Zm9yKHZhciBzPVsiZGF0YT1hcnJheS5kYXRhLG9mZnNldD1hcnJheS5vZmZzZXR8MCxzaGFwZT1hcnJheS5zaGFwZSxzdHJpZGU9YXJyYXkuc3RyaWRlIl0sbD0wO2w8dC5sZW5ndGg7KytsKXMucHVzaChbInMiLGwsIj1zdHJpZGVbIixsLCJdfDAsbiIsbCwiPXNoYXBlWyIsbCwiXXwwIl0uam9pbigiIikpO3ZhciBjPW5ldyBBcnJheSh0Lmxlbmd0aCksdT1bXTtmb3IobD0wO2w8dC5sZW5ndGg7KytsKTAhPT0ocD10W2xdKSYmKDA9PT11Lmxlbmd0aD9jW3BdPSIxIjpjW3BdPXUuam9pbigiKiIpLHUucHVzaCgibiIrcCkpO3ZhciBoPS0xLGY9LTE7Zm9yKGw9MDtsPHQubGVuZ3RoOysrbCl7dmFyIHAsZD10W2xdOzAhPT1kJiYoaD4wP3MucHVzaChbImQiLGQsIj1zIixkLCItZCIsaCwiKm4iLGhdLmpvaW4oIiIpKTpzLnB1c2goWyJkIixkLCI9cyIsZF0uam9pbigiIikpLGg9ZCksMCE9KHA9dC5sZW5ndGgtMS1sKSYmKGY+MD9zLnB1c2goWyJlIixwLCI9cyIscCwiLWUiLGYsIipuIixmLCIsZiIscCwiPSIsY1twXSwiLWYiLGYsIipuIixmXS5qb2luKCIiKSk6cy5wdXNoKFsiZSIscCwiPXMiLHAsIixmIixwLCI9IixjW3BdXS5qb2luKCIiKSksZj1wKX1yLnB1c2goInZhciAiK3Muam9pbigiLCIpKTt2YXIgZz1bIjAiLCJuMC0xIiwiZGF0YSIsIm9mZnNldCJdLmNvbmNhdChvKHQubGVuZ3RoKSk7ci5wdXNoKFsiaWYobjA8PSIsYSwiKXsiLCJpbnNlcnRpb25Tb3J0KCIsZy5qb2luKCIsIiksIil9ZWxzZXsiLCJxdWlja1NvcnQoIixnLmpvaW4oIiwiKSwiKX0iXS5qb2luKCIiKSksci5wdXNoKCJ9cmV0dXJuICIrbik7dmFyIHY9bmV3IEZ1bmN0aW9uKCJpbnNlcnRpb25Tb3J0IiwicXVpY2tTb3J0IixyLmpvaW4oIlxuIikpLG09ZnVuY3Rpb24odCxlKXt2YXIgcj1bIid1c2Ugc3RyaWN0JyJdLG49WyJuZGFycmF5SW5zZXJ0aW9uU29ydCIsdC5qb2luKCJkIiksZV0uam9pbigiIiksYT1bImxlZnQiLCJyaWdodCIsImRhdGEiLCJvZmZzZXQiXS5jb25jYXQobyh0Lmxlbmd0aCkpLHM9aShlKSxsPVsiaSxqLGNwdHIscHRyPWxlZnQqczArb2Zmc2V0Il07aWYodC5sZW5ndGg+MSl7Zm9yKHZhciBjPVtdLHU9MTt1PHQubGVuZ3RoOysrdSlsLnB1c2goImkiK3UpLGMucHVzaCgibiIrdSk7cz9sLnB1c2goInNjcmF0Y2g9bWFsbG9jKCIrYy5qb2luKCIqIikrIikiKTpsLnB1c2goInNjcmF0Y2g9bmV3IEFycmF5KCIrYy5qb2luKCIqIikrIikiKSxsLnB1c2goImRwdHIiLCJzcHRyIiwiYSIsImIiKX1lbHNlIGwucHVzaCgic2NyYXRjaCIpO2Z1bmN0aW9uIGgodCl7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuZ2V0KCIsdCwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl0iXS5qb2luKCIiKX1mdW5jdGlvbiBmKHQscil7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuc2V0KCIsdCwiLCIsciwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl09IixyXS5qb2luKCIiKX1pZihyLnB1c2goWyJmdW5jdGlvbiAiLG4sIigiLGEuam9pbigiLCIpLCIpe3ZhciAiLGwuam9pbigiLCIpXS5qb2luKCIiKSwiZm9yKGk9bGVmdCsxO2k8PXJpZ2h0OysraSl7Iiwiaj1pO3B0cis9czAiLCJjcHRyPXB0ciIpLHQubGVuZ3RoPjEpe2ZvcihyLnB1c2goImRwdHI9MDtzcHRyPXB0ciIpLHU9dC5sZW5ndGgtMTt1Pj0wOy0tdSkwIT09KHA9dFt1XSkmJnIucHVzaChbImZvcihpIixwLCI9MDtpIixwLCI8biIscCwiOysraSIscCwiKXsiXS5qb2luKCIiKSk7Zm9yKHIucHVzaCgic2NyYXRjaFtkcHRyKytdPSIsaCgic3B0ciIpKSx1PTA7dTx0Lmxlbmd0aDsrK3UpMCE9PShwPXRbdV0pJiZyLnB1c2goInNwdHIrPWQiK3AsIn0iKTtmb3Ioci5wdXNoKCJfX2c6d2hpbGUoai0tXHgzZWxlZnQpeyIsImRwdHI9MCIsInNwdHI9Y3B0ci1zMCIpLHU9MTt1PHQubGVuZ3RoOysrdSkxPT09dSYmci5wdXNoKCJfX2w6Iiksci5wdXNoKFsiZm9yKGkiLHUsIj0wO2kiLHUsIjxuIix1LCI7KytpIix1LCIpeyJdLmpvaW4oIiIpKTtmb3Ioci5wdXNoKFsiYT0iLGgoInNwdHIiKSwiXG5iPXNjcmF0Y2hbZHB0cl1cbmlmKGE8Yil7YnJlYWsgX19nfVxuaWYoYT5iKXticmVhayBfX2x9Il0uam9pbigiIikpLHU9dC5sZW5ndGgtMTt1Pj0xOy0tdSlyLnB1c2goInNwdHIrPWUiK3UsImRwdHIrPWYiK3UsIn0iKTtmb3Ioci5wdXNoKCJkcHRyPWNwdHI7c3B0cj1jcHRyLXMwIiksdT10Lmxlbmd0aC0xO3U+PTA7LS11KTAhPT0ocD10W3VdKSYmci5wdXNoKFsiZm9yKGkiLHAsIj0wO2kiLHAsIjxuIixwLCI7KytpIixwLCIpeyJdLmpvaW4oIiIpKTtmb3Ioci5wdXNoKGYoImRwdHIiLGgoInNwdHIiKSkpLHU9MDt1PHQubGVuZ3RoOysrdSkwIT09KHA9dFt1XSkmJnIucHVzaChbImRwdHIrPWQiLHAsIjtzcHRyKz1kIixwXS5qb2luKCIiKSwifSIpO2ZvcihyLnB1c2goImNwdHItPXMwXG59Iiksci5wdXNoKCJkcHRyPWNwdHI7c3B0cj0wIiksdT10Lmxlbmd0aC0xO3U+PTA7LS11KTAhPT0ocD10W3VdKSYmci5wdXNoKFsiZm9yKGkiLHAsIj0wO2kiLHAsIjxuIixwLCI7KytpIixwLCIpeyJdLmpvaW4oIiIpKTtmb3Ioci5wdXNoKGYoImRwdHIiLCJzY3JhdGNoW3NwdHIrK10iKSksdT0wO3U8dC5sZW5ndGg7Kyt1KXt2YXIgcDswIT09KHA9dFt1XSkmJnIucHVzaCgiZHB0cis9ZCIrcCwifSIpfX1lbHNlIHIucHVzaCgic2NyYXRjaD0iK2goInB0ciIpLCJ3aGlsZSgoai0tXHgzZWxlZnQpJiYoIitoKCJjcHRyLXMwIikrIj5zY3JhdGNoKSl7IixmKCJjcHRyIixoKCJjcHRyLXMwIikpLCJjcHRyLT1zMCIsIn0iLGYoImNwdHIiLCJzY3JhdGNoIikpO3JldHVybiByLnB1c2goIn0iKSx0Lmxlbmd0aD4xJiZzJiZyLnB1c2goImZyZWUoc2NyYXRjaCkiKSxyLnB1c2goIn0gcmV0dXJuICIrbikscz9uZXcgRnVuY3Rpb24oIm1hbGxvYyIsImZyZWUiLHIuam9pbigiXG4iKSkoc1swXSxzWzFdKTpuZXcgRnVuY3Rpb24oci5qb2luKCJcbiIpKSgpfSh0LGUpLHk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVsiJ3VzZSBzdHJpY3QnIl0scz1bIm5kYXJyYXlRdWlja1NvcnQiLHQuam9pbigiZCIpLGVdLmpvaW4oIiIpLGw9WyJsZWZ0IiwicmlnaHQiLCJkYXRhIiwib2Zmc2V0Il0uY29uY2F0KG8odC5sZW5ndGgpKSxjPWkoZSksdT0wO24ucHVzaChbImZ1bmN0aW9uICIscywiKCIsbC5qb2luKCIsIiksIil7Il0uam9pbigiIikpO3ZhciBoPVsic2l4dGg9KChyaWdodC1sZWZ0KzEpLzYpfDAiLCJpbmRleDE9bGVmdCtzaXh0aCIsImluZGV4NT1yaWdodC1zaXh0aCIsImluZGV4Mz0obGVmdCtyaWdodCk+PjEiLCJpbmRleDI9aW5kZXgzLXNpeHRoIiwiaW5kZXg0PWluZGV4MytzaXh0aCIsImVsMT1pbmRleDEiLCJlbDI9aW5kZXgyIiwiZWwzPWluZGV4MyIsImVsND1pbmRleDQiLCJlbDU9aW5kZXg1IiwibGVzcz1sZWZ0KzEiLCJncmVhdD1yaWdodC0xIiwicGl2b3RzX2FyZV9lcXVhbD10cnVlIiwidG1wIiwidG1wMCIsIngiLCJ5IiwieiIsImsiLCJwdHIwIiwicHRyMSIsInB0cjIiLCJjb21wX3Bpdm90MT0wIiwiY29tcF9waXZvdDI9MCIsImNvbXA9MCJdO2lmKHQubGVuZ3RoPjEpe2Zvcih2YXIgZj1bXSxwPTE7cDx0Lmxlbmd0aDsrK3ApZi5wdXNoKCJuIitwKSxoLnB1c2goImkiK3ApO2ZvcihwPTA7cDw4OysrcCloLnB1c2goImJfcHRyIitwKTtoLnB1c2goInB0cjMiLCJwdHI0IiwicHRyNSIsInB0cjYiLCJwdHI3IiwicGl2b3RfcHRyIiwicHRyX3NoaWZ0IiwiZWxlbWVudFNpemU9IitmLmpvaW4oIioiKSksYz9oLnB1c2goInBpdm90MT1tYWxsb2MoZWxlbWVudFNpemUpIiwicGl2b3QyPW1hbGxvYyhlbGVtZW50U2l6ZSkiKTpoLnB1c2goInBpdm90MT1uZXcgQXJyYXkoZWxlbWVudFNpemUpLHBpdm90Mj1uZXcgQXJyYXkoZWxlbWVudFNpemUpIil9ZWxzZSBoLnB1c2goInBpdm90MSIsInBpdm90MiIpO2Z1bmN0aW9uIGQodCl7cmV0dXJuWyIob2Zmc2V0KyIsdCwiKnMwKSJdLmpvaW4oIiIpfWZ1bmN0aW9uIGcodCl7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuZ2V0KCIsdCwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl0iXS5qb2luKCIiKX1mdW5jdGlvbiB2KHQscil7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuc2V0KCIsdCwiLCIsciwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl09IixyXS5qb2luKCIiKX1mdW5jdGlvbiBtKGUscixhKXtpZigxPT09ZS5sZW5ndGgpbi5wdXNoKCJwdHIwPSIrZChlWzBdKSk7ZWxzZSBmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSluLnB1c2goWyJiX3B0ciIsaSwiPXMwKiIsZVtpXV0uam9pbigiIikpO2ZvcihyJiZuLnB1c2goInBpdm90X3B0cj0wIiksbi5wdXNoKCJwdHJfc2hpZnQ9b2Zmc2V0IiksaT10Lmxlbmd0aC0xO2k+PTA7LS1pKTAhPT0obz10W2ldKSYmbi5wdXNoKFsiZm9yKGkiLG8sIj0wO2kiLG8sIjxuIixvLCI7KytpIixvLCIpeyJdLmpvaW4oIiIpKTtpZihlLmxlbmd0aD4xKWZvcihpPTA7aTxlLmxlbmd0aDsrK2kpbi5wdXNoKFsicHRyIixpLCI9Yl9wdHIiLGksIitwdHJfc2hpZnQiXS5qb2luKCIiKSk7Zm9yKG4ucHVzaChhKSxyJiZuLnB1c2goIisrcGl2b3RfcHRyIiksaT0wO2k8dC5sZW5ndGg7KytpKXt2YXIgbzswIT09KG89dFtpXSkmJihlLmxlbmd0aD4xP24ucHVzaCgicHRyX3NoaWZ0Kz1kIitvKTpuLnB1c2goInB0cjArPWQiK28pLG4ucHVzaCgifSIpKX19ZnVuY3Rpb24geShlLHIsYSxpKXtpZigxPT09ci5sZW5ndGgpbi5wdXNoKCJwdHIwPSIrZChyWzBdKSk7ZWxzZXtmb3IodmFyIG89MDtvPHIubGVuZ3RoOysrbyluLnB1c2goWyJiX3B0ciIsbywiPXMwKiIscltvXV0uam9pbigiIikpO24ucHVzaCgicHRyX3NoaWZ0PW9mZnNldCIpfWZvcihhJiZuLnB1c2goInBpdm90X3B0cj0wIiksZSYmbi5wdXNoKGUrIjoiKSxvPTE7bzx0Lmxlbmd0aDsrK28pbi5wdXNoKFsiZm9yKGkiLG8sIj0wO2kiLG8sIjxuIixvLCI7KytpIixvLCIpeyJdLmpvaW4oIiIpKTtpZihyLmxlbmd0aD4xKWZvcihvPTA7bzxyLmxlbmd0aDsrK28pbi5wdXNoKFsicHRyIixvLCI9Yl9wdHIiLG8sIitwdHJfc2hpZnQiXS5qb2luKCIiKSk7Zm9yKG4ucHVzaChpKSxvPXQubGVuZ3RoLTE7bz49MTstLW8pYSYmbi5wdXNoKCJwaXZvdF9wdHIrPWYiK28pLHIubGVuZ3RoPjE/bi5wdXNoKCJwdHJfc2hpZnQrPWUiK28pOm4ucHVzaCgicHRyMCs9ZSIrbyksbi5wdXNoKCJ9Iil9ZnVuY3Rpb24geCgpe3QubGVuZ3RoPjEmJmMmJm4ucHVzaCgiZnJlZShwaXZvdDEpIiwiZnJlZShwaXZvdDIpIil9ZnVuY3Rpb24gYihlLHIpe3ZhciBhPSJlbCIrZSxpPSJlbCIrcjtpZih0Lmxlbmd0aD4xKXt2YXIgbz0iX19sIisgKyt1O3kobyxbYSxpXSwhMSxbImNvbXA9IixnKCJwdHIwIiksIi0iLGcoInB0cjEiKSwiXG4iLCJpZihjb21wPjApe3RtcDA9IixhLCI7IixhLCI9IixpLCI7IixpLCI9dG1wMDticmVhayAiLG8sIn1cbiIsImlmKGNvbXA8MCl7YnJlYWsgIixvLCJ9Il0uam9pbigiIikpfWVsc2Ugbi5wdXNoKFsiaWYoIixnKGQoYSkpLCI+IixnKGQoaSkpLCIpe3RtcDA9IixhLCI7IixhLCI9IixpLCI7IixpLCI9dG1wMH0iXS5qb2luKCIiKSl9ZnVuY3Rpb24gXyhlLHIpe3QubGVuZ3RoPjE/bShbZSxyXSwhMSx2KCJwdHIwIixnKCJwdHIxIikpKTpuLnB1c2godihkKGUpLGcoZChyKSkpKX1mdW5jdGlvbiB3KGUscixhKXtpZih0Lmxlbmd0aD4xKXt2YXIgaT0iX19sIisgKyt1O3koaSxbcl0sITAsW2UsIj0iLGcoInB0cjAiKSwiLXBpdm90IixhLCJbcGl2b3RfcHRyXVxuIiwiaWYoIixlLCIhPT0wKXticmVhayAiLGksIn0iXS5qb2luKCIiKSl9ZWxzZSBuLnB1c2goW2UsIj0iLGcoZChyKSksIi1waXZvdCIsYV0uam9pbigiIikpfWZ1bmN0aW9uIGsoZSxyKXt0Lmxlbmd0aD4xP20oW2Uscl0sITEsWyJ0bXA9IixnKCJwdHIwIiksIlxuIix2KCJwdHIwIixnKCJwdHIxIikpLCJcbiIsdigicHRyMSIsInRtcCIpXS5qb2luKCIiKSk6bi5wdXNoKFsicHRyMD0iLGQoZSksIlxuIiwicHRyMT0iLGQociksIlxuIiwidG1wPSIsZygicHRyMCIpLCJcbiIsdigicHRyMCIsZygicHRyMSIpKSwiXG4iLHYoInB0cjEiLCJ0bXAiKV0uam9pbigiIikpfWZ1bmN0aW9uIFQoZSxyLGEpe3QubGVuZ3RoPjE/KG0oW2UscixhXSwhMSxbInRtcD0iLGcoInB0cjAiKSwiXG4iLHYoInB0cjAiLGcoInB0cjEiKSksIlxuIix2KCJwdHIxIixnKCJwdHIyIikpLCJcbiIsdigicHRyMiIsInRtcCIpXS5qb2luKCIiKSksbi5wdXNoKCIrKyIrciwiLS0iK2EpKTpuLnB1c2goWyJwdHIwPSIsZChlKSwiXG4iLCJwdHIxPSIsZChyKSwiXG4iLCJwdHIyPSIsZChhKSwiXG4iLCIrKyIsciwiXG4iLCItLSIsYSwiXG4iLCJ0bXA9IixnKCJwdHIwIiksIlxuIix2KCJwdHIwIixnKCJwdHIxIikpLCJcbiIsdigicHRyMSIsZygicHRyMiIpKSwiXG4iLHYoInB0cjIiLCJ0bXAiKV0uam9pbigiIikpfWZ1bmN0aW9uIE0odCxlKXtrKHQsZSksbi5wdXNoKCItLSIrZSl9ZnVuY3Rpb24gQShlLHIsYSl7dC5sZW5ndGg+MT9tKFtlLHJdLCEwLFt2KCJwdHIwIixnKCJwdHIxIikpLCJcbiIsdigicHRyMSIsWyJwaXZvdCIsYSwiW3Bpdm90X3B0cl0iXS5qb2luKCIiKSldLmpvaW4oIiIpKTpuLnB1c2godihkKGUpLGcoZChyKSkpLHYoZChyKSwicGl2b3QiK2EpKX1mdW5jdGlvbiBTKGUscil7bi5wdXNoKFsiaWYoKCIsciwiLSIsZSwiKTw9IixhLCIpe1xuIiwiaW5zZXJ0aW9uU29ydCgiLGUsIiwiLHIsIixkYXRhLG9mZnNldCwiLG8odC5sZW5ndGgpLmpvaW4oIiwiKSwiKVxuIiwifWVsc2V7XG4iLHMsIigiLGUsIiwiLHIsIixkYXRhLG9mZnNldCwiLG8odC5sZW5ndGgpLmpvaW4oIiwiKSwiKVxuIiwifSJdLmpvaW4oIiIpKX1mdW5jdGlvbiBFKGUscixhKXt0Lmxlbmd0aD4xPyhuLnB1c2goWyJfX2wiLCsrdSwiOndoaWxlKHRydWUpeyJdLmpvaW4oIiIpKSxtKFtlXSwhMCxbImlmKCIsZygicHRyMCIpLCIhPT1waXZvdCIsciwiW3Bpdm90X3B0cl0pe2JyZWFrIF9fbCIsdSwifSJdLmpvaW4oIiIpKSxuLnB1c2goYSwifSIpKTpuLnB1c2goWyJ3aGlsZSgiLGcoZChlKSksIj09PXBpdm90IixyLCIpeyIsYSwifSJdLmpvaW4oIiIpKX1yZXR1cm4gbi5wdXNoKCJ2YXIgIitoLmpvaW4oIiwiKSksYigxLDIpLGIoNCw1KSxiKDEsMyksYigyLDMpLGIoMSw0KSxiKDMsNCksYigyLDUpLGIoMiwzKSxiKDQsNSksdC5sZW5ndGg+MT9tKFsiZWwxIiwiZWwyIiwiZWwzIiwiZWw0IiwiZWw1IiwiaW5kZXgxIiwiaW5kZXgzIiwiaW5kZXg1Il0sITAsWyJwaXZvdDFbcGl2b3RfcHRyXT0iLGcoInB0cjEiKSwiXG4iLCJwaXZvdDJbcGl2b3RfcHRyXT0iLGcoInB0cjMiKSwiXG4iLCJwaXZvdHNfYXJlX2VxdWFsPXBpdm90c19hcmVfZXF1YWwmJihwaXZvdDFbcGl2b3RfcHRyXT09PXBpdm90MltwaXZvdF9wdHJdKVxuIiwieD0iLGcoInB0cjAiKSwiXG4iLCJ5PSIsZygicHRyMiIpLCJcbiIsIno9IixnKCJwdHI0IiksIlxuIix2KCJwdHI1IiwieCIpLCJcbiIsdigicHRyNiIsInkiKSwiXG4iLHYoInB0cjciLCJ6IildLmpvaW4oIiIpKTpuLnB1c2goWyJwaXZvdDE9IixnKGQoImVsMiIpKSwiXG4iLCJwaXZvdDI9IixnKGQoImVsNCIpKSwiXG4iLCJwaXZvdHNfYXJlX2VxdWFsPXBpdm90MT09PXBpdm90MlxuIiwieD0iLGcoZCgiZWwxIikpLCJcbiIsInk9IixnKGQoImVsMyIpKSwiXG4iLCJ6PSIsZyhkKCJlbDUiKSksIlxuIix2KGQoImluZGV4MSIpLCJ4IiksIlxuIix2KGQoImluZGV4MyIpLCJ5IiksIlxuIix2KGQoImluZGV4NSIpLCJ6IildLmpvaW4oIiIpKSxfKCJpbmRleDIiLCJsZWZ0IiksXygiaW5kZXg0IiwicmlnaHQiKSxuLnB1c2goImlmKHBpdm90c19hcmVfZXF1YWwpeyIpLG4ucHVzaCgiZm9yKGs9bGVzcztrPD1ncmVhdDsrK2speyIpLHcoImNvbXAiLCJrIiwxKSxuLnB1c2goImlmKGNvbXA9PT0wKXtjb250aW51ZX0iKSxuLnB1c2goImlmKGNvbXA8MCl7Iiksbi5wdXNoKCJpZihrIT09bGVzcyl7IiksaygiayIsImxlc3MiKSxuLnB1c2goIn0iKSxuLnB1c2goIisrbGVzcyIpLG4ucHVzaCgifWVsc2V7Iiksbi5wdXNoKCJ3aGlsZSh0cnVlKXsiKSx3KCJjb21wIiwiZ3JlYXQiLDEpLG4ucHVzaCgiaWYoY29tcD4wKXsiKSxuLnB1c2goImdyZWF0LS0iKSxuLnB1c2goIn1lbHNlIGlmKGNvbXA8MCl7IiksVCgiayIsImxlc3MiLCJncmVhdCIpLG4ucHVzaCgiYnJlYWsiKSxuLnB1c2goIn1lbHNleyIpLE0oImsiLCJncmVhdCIpLG4ucHVzaCgiYnJlYWsiKSxuLnB1c2goIn0iKSxuLnB1c2goIn0iKSxuLnB1c2goIn0iKSxuLnB1c2goIn0iKSxuLnB1c2goIn1lbHNleyIpLG4ucHVzaCgiZm9yKGs9bGVzcztrPD1ncmVhdDsrK2speyIpLHcoImNvbXBfcGl2b3QxIiwiayIsMSksbi5wdXNoKCJpZihjb21wX3Bpdm90MTwwKXsiKSxuLnB1c2goImlmKGshPT1sZXNzKXsiKSxrKCJrIiwibGVzcyIpLG4ucHVzaCgifSIpLG4ucHVzaCgiKytsZXNzIiksbi5wdXNoKCJ9ZWxzZXsiKSx3KCJjb21wX3Bpdm90MiIsImsiLDIpLG4ucHVzaCgiaWYoY29tcF9waXZvdDI+MCl7Iiksbi5wdXNoKCJ3aGlsZSh0cnVlKXsiKSx3KCJjb21wIiwiZ3JlYXQiLDIpLG4ucHVzaCgiaWYoY29tcD4wKXsiKSxuLnB1c2goImlmKC0tZ3JlYXQ8ayl7YnJlYWt9Iiksbi5wdXNoKCJjb250aW51ZSIpLG4ucHVzaCgifWVsc2V7IiksdygiY29tcCIsImdyZWF0IiwxKSxuLnB1c2goImlmKGNvbXA8MCl7IiksVCgiayIsImxlc3MiLCJncmVhdCIpLG4ucHVzaCgifWVsc2V7IiksTSgiayIsImdyZWF0Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJicmVhayIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLEEoImxlZnQiLCIobGVzcy0xKSIsMSksQSgicmlnaHQiLCIoZ3JlYXQrMSkiLDIpLFMoImxlZnQiLCIobGVzcy0yKSIpLFMoIihncmVhdCsyKSIsInJpZ2h0Iiksbi5wdXNoKCJpZihwaXZvdHNfYXJlX2VxdWFsKXsiKSx4KCksbi5wdXNoKCJyZXR1cm4iKSxuLnB1c2goIn0iKSxuLnB1c2goImlmKGxlc3M8aW5kZXgxJiZncmVhdD5pbmRleDUpeyIpLEUoImxlc3MiLDEsIisrbGVzcyIpLEUoImdyZWF0IiwyLCItLWdyZWF0Iiksbi5wdXNoKCJmb3Ioaz1sZXNzO2s8PWdyZWF0Oysrayl7IiksdygiY29tcF9waXZvdDEiLCJrIiwxKSxuLnB1c2goImlmKGNvbXBfcGl2b3QxPT09MCl7Iiksbi5wdXNoKCJpZihrIT09bGVzcyl7IiksaygiayIsImxlc3MiKSxuLnB1c2goIn0iKSxuLnB1c2goIisrbGVzcyIpLG4ucHVzaCgifWVsc2V7IiksdygiY29tcF9waXZvdDIiLCJrIiwyKSxuLnB1c2goImlmKGNvbXBfcGl2b3QyPT09MCl7Iiksbi5wdXNoKCJ3aGlsZSh0cnVlKXsiKSx3KCJjb21wIiwiZ3JlYXQiLDIpLG4ucHVzaCgiaWYoY29tcD09PTApeyIpLG4ucHVzaCgiaWYoLS1ncmVhdDxrKXticmVha30iKSxuLnB1c2goImNvbnRpbnVlIiksbi5wdXNoKCJ9ZWxzZXsiKSx3KCJjb21wIiwiZ3JlYXQiLDEpLG4ucHVzaCgiaWYoY29tcDwwKXsiKSxUKCJrIiwibGVzcyIsImdyZWF0Iiksbi5wdXNoKCJ9ZWxzZXsiKSxNKCJrIiwiZ3JlYXQiKSxuLnB1c2goIn0iKSxuLnB1c2goImJyZWFrIiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9IikseCgpLFMoImxlc3MiLCJncmVhdCIpLG4ucHVzaCgifXJldHVybiAiK3MpLHQubGVuZ3RoPjEmJmM/bmV3IEZ1bmN0aW9uKCJpbnNlcnRpb25Tb3J0IiwibWFsbG9jIiwiZnJlZSIsbi5qb2luKCJcbiIpKShyLGNbMF0sY1sxXSk6bmV3IEZ1bmN0aW9uKCJpbnNlcnRpb25Tb3J0IixuLmpvaW4oIlxuIikpKHIpfSh0LGUsbSk7cmV0dXJuIHYobSx5KX19LHsidHlwZWRhcnJheS1wb29sIjo1NDR9XSw0NTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvY29tcGlsZV9zb3J0LmpzIiksYT17fTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5vcmRlcixyPXQuZHR5cGUsaT1bZSxyXS5qb2luKCI6Iiksbz1hW2ldO3JldHVybiBvfHwoYVtpXT1vPW4oZSxyKSksbyh0KSx0fX0seyIuL2xpYi9jb21waWxlX3NvcnQuanMiOjQ0OX1dLDQ1MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJuZGFycmF5LWxpbmVhci1pbnRlcnBvbGF0ZSIpLGE9dCgiY3dpc2UvbGliL3dyYXBwZXIiKSh7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzY2FsYXIiLCJzY2FsYXIiLCJzY2FsYXIiXSxwcmU6e2JvZHk6Int0aGlzX3dhcnBlZD1uZXcgQXJyYXkoX2lubGluZV8zX2FyZzRfKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzNfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITEsY291bnQ6MH0se25hbWU6Il9pbmxpbmVfM19hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfSx7bmFtZToiX2lubGluZV8zX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiExLGNvdW50OjB9LHtuYW1lOiJfaW5saW5lXzNfYXJnM18iLGx2YWx1ZTohMSxydmFsdWU6ITEsY291bnQ6MH0se25hbWU6Il9pbmxpbmVfM19hcmc0XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sdGhpc1ZhcnM6WyJ0aGlzX3dhcnBlZCJdLGxvY2FsVmFyczpbXX0sYm9keTp7Ym9keToie19pbmxpbmVfNF9hcmcyXyh0aGlzX3dhcnBlZCxfaW5saW5lXzRfYXJnMF8pLF9pbmxpbmVfNF9hcmcxXz1faW5saW5lXzRfYXJnM18uYXBwbHkodm9pZCAwLHRoaXNfd2FycGVkKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzRfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfNF9hcmcxXyIsbHZhbHVlOiEwLHJ2YWx1ZTohMSxjb3VudDoxfSx7bmFtZToiX2lubGluZV80X2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzRfYXJnM18iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfNF9hcmc0XyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfV0sdGhpc1ZhcnM6WyJ0aGlzX3dhcnBlZCJdLGxvY2FsVmFyczpbXX0scG9zdDp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxkZWJ1ZzohMSxmdW5jTmFtZToid2FycE5EIixibG9ja1NpemU6NjR9KSxpPXQoImN3aXNlL2xpYi93cmFwcGVyIikoe2FyZ3M6WyJpbmRleCIsImFycmF5Iiwic2NhbGFyIiwic2NhbGFyIiwic2NhbGFyIl0scHJlOntib2R5OiJ7dGhpc193YXJwZWQ9WzBdfSIsYXJnczpbXSx0aGlzVmFyczpbInRoaXNfd2FycGVkIl0sbG9jYWxWYXJzOltdfSxib2R5Ontib2R5OiJ7X2lubGluZV83X2FyZzJfKHRoaXNfd2FycGVkLF9pbmxpbmVfN19hcmcwXyksX2lubGluZV83X2FyZzFfPV9pbmxpbmVfN19hcmczXyhfaW5saW5lXzdfYXJnNF8sdGhpc193YXJwZWRbMF0pfSIsYXJnczpbe25hbWU6Il9pbmxpbmVfN19hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV83X2FyZzFfIixsdmFsdWU6ITAscnZhbHVlOiExLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzdfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfN19hcmczXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV83X2FyZzRfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbInRoaXNfd2FycGVkIl0sbG9jYWxWYXJzOltdfSxwb3N0Ontib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGRlYnVnOiExLGZ1bmNOYW1lOiJ3YXJwMUQiLGJsb2NrU2l6ZTo2NH0pLG89dCgiY3dpc2UvbGliL3dyYXBwZXIiKSh7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzY2FsYXIiLCJzY2FsYXIiLCJzY2FsYXIiXSxwcmU6e2JvZHk6Int0aGlzX3dhcnBlZD1bMCwwXX0iLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX3dhcnBlZCJdLGxvY2FsVmFyczpbXX0sYm9keTp7Ym9keToie19pbmxpbmVfMTBfYXJnMl8odGhpc193YXJwZWQsX2lubGluZV8xMF9hcmcwXyksX2lubGluZV8xMF9hcmcxXz1faW5saW5lXzEwX2FyZzNfKF9pbmxpbmVfMTBfYXJnNF8sdGhpc193YXJwZWRbMF0sdGhpc193YXJwZWRbMV0pfSIsYXJnczpbe25hbWU6Il9pbmxpbmVfMTBfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnMV8iLGx2YWx1ZTohMCxydmFsdWU6ITEsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnM18iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnNF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLHRoaXNWYXJzOlsidGhpc193YXJwZWQiXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6Int9IixhcmdzOltdLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbXX0sZGVidWc6ITEsZnVuY05hbWU6IndhcnAyRCIsYmxvY2tTaXplOjY0fSkscz10KCJjd2lzZS9saWIvd3JhcHBlciIpKHthcmdzOlsiaW5kZXgiLCJhcnJheSIsInNjYWxhciIsInNjYWxhciIsInNjYWxhciJdLHByZTp7Ym9keToie3RoaXNfd2FycGVkPVswLDAsMF19IixhcmdzOltdLHRoaXNWYXJzOlsidGhpc193YXJwZWQiXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntfaW5saW5lXzEzX2FyZzJfKHRoaXNfd2FycGVkLF9pbmxpbmVfMTNfYXJnMF8pLF9pbmxpbmVfMTNfYXJnMV89X2lubGluZV8xM19hcmczXyhfaW5saW5lXzEzX2FyZzRfLHRoaXNfd2FycGVkWzBdLHRoaXNfd2FycGVkWzFdLHRoaXNfd2FycGVkWzJdKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzEzX2FyZzBfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzFfIixsdmFsdWU6ITAscnZhbHVlOiExLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzNfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzRfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbInRoaXNfd2FycGVkIl0sbG9jYWxWYXJzOltdfSxwb3N0Ontib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGRlYnVnOiExLGZ1bmNOYW1lOiJ3YXJwM0QiLGJsb2NrU2l6ZTo2NH0pO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7c3dpdGNoKGUuc2hhcGUubGVuZ3RoKXtjYXNlIDE6aSh0LHIsbi5kMSxlKTticmVhaztjYXNlIDI6byh0LHIsbi5kMixlKTticmVhaztjYXNlIDM6cyh0LHIsbi5kMyxlKTticmVhaztkZWZhdWx0OmEodCxyLG4uYmluZCh2b2lkIDAsZSksZS5zaGFwZS5sZW5ndGgpfXJldHVybiB0fX0seyJjd2lzZS9saWIvd3JhcHBlciI6MTUxLCJuZGFycmF5LWxpbmVhci1pbnRlcnBvbGF0ZSI6NDQ1fV0sNDUyOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW90YS1hcnJheSIpLGE9dCgiaXMtYnVmZmVyIiksaT0idW5kZWZpbmVkIiE9dHlwZW9mIEZsb2F0NjRBcnJheTtmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBzKCl7dmFyIHQsZT10aGlzLnN0cmlkZSxyPW5ldyBBcnJheShlLmxlbmd0aCk7Zm9yKHQ9MDt0PHIubGVuZ3RoOysrdClyW3RdPVtNYXRoLmFicyhlW3RdKSx0XTtyLnNvcnQobyk7dmFyIG49bmV3IEFycmF5KHIubGVuZ3RoKTtmb3IodD0wO3Q8bi5sZW5ndGg7Kyt0KW5bdF09clt0XVsxXTtyZXR1cm4gbn1mdW5jdGlvbiBsKHQsZSl7dmFyIHI9WyJWaWV3IixlLCJkIix0XS5qb2luKCIiKTtlPDAmJihyPSJWaWV3X05pbCIrdCk7dmFyIGE9ImdlbmVyaWMiPT09dDtpZigtMT09PWUpe3ZhciBpPSJmdW5jdGlvbiAiK3IrIihhKXt0aGlzLmRhdGE9YTt9O3ZhciBwcm90bz0iK3IrIi5wcm90b3R5cGU7cHJvdG8uZHR5cGU9JyIrdCsiJztwcm90by5pbmRleD1mdW5jdGlvbigpe3JldHVybiAtMX07cHJvdG8uc2l6ZT0wO3Byb3RvLmRpbWVuc2lvbj0tMTtwcm90by5zaGFwZT1wcm90by5zdHJpZGU9cHJvdG8ub3JkZXI9W107cHJvdG8ubG89cHJvdG8uaGk9cHJvdG8udHJhbnNwb3NlPXByb3RvLnN0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3ICIrcisiKHRoaXMuZGF0YSk7fTtwcm90by5nZXQ9cHJvdG8uc2V0PWZ1bmN0aW9uKCl7fTtwcm90by5waWNrPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RfIityKyIoYSl7cmV0dXJuIG5ldyAiK3IrIihhKTt9IjtyZXR1cm4gbmV3IEZ1bmN0aW9uKGkpKCl9aWYoMD09PWUpe2k9ImZ1bmN0aW9uICIrcisiKGEsZCkge3RoaXMuZGF0YSA9IGE7dGhpcy5vZmZzZXQgPSBkfTt2YXIgcHJvdG89IityKyIucHJvdG90eXBlO3Byb3RvLmR0eXBlPSciK3QrIic7cHJvdG8uaW5kZXg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vZmZzZXR9O3Byb3RvLmRpbWVuc2lvbj0wO3Byb3RvLnNpemU9MTtwcm90by5zaGFwZT1wcm90by5zdHJpZGU9cHJvdG8ub3JkZXI9W107cHJvdG8ubG89cHJvdG8uaGk9cHJvdG8udHJhbnNwb3NlPXByb3RvLnN0ZXA9ZnVuY3Rpb24gIityKyJfY29weSgpIHtyZXR1cm4gbmV3ICIrcisiKHRoaXMuZGF0YSx0aGlzLm9mZnNldCl9O3Byb3RvLnBpY2s9ZnVuY3Rpb24gIityKyJfcGljaygpe3JldHVybiBUcml2aWFsQXJyYXkodGhpcy5kYXRhKTt9O3Byb3RvLnZhbHVlT2Y9cHJvdG8uZ2V0PWZ1bmN0aW9uICIrcisiX2dldCgpe3JldHVybiAiKyhhPyJ0aGlzLmRhdGEuZ2V0KHRoaXMub2Zmc2V0KSI6InRoaXMuZGF0YVt0aGlzLm9mZnNldF0iKSsifTtwcm90by5zZXQ9ZnVuY3Rpb24gIityKyJfc2V0KHYpe3JldHVybiAiKyhhPyJ0aGlzLmRhdGEuc2V0KHRoaXMub2Zmc2V0LHYpIjoidGhpcy5kYXRhW3RoaXMub2Zmc2V0XT12IikrIn07cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdF8iK3IrIihhLGIsYyxkKXtyZXR1cm4gbmV3ICIrcisiKGEsZCl9IjtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJUcml2aWFsQXJyYXkiLGkpKGNbdF1bMF0pfWk9WyIndXNlIHN0cmljdCciXTt2YXIgbz1uKGUpLGw9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImkiK3R9KSx1PSJ0aGlzLm9mZnNldCsiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJ0aGlzLnN0cmlkZVsiK3QrIl0qaSIrdH0pLmpvaW4oIisiKSxoPW8ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJiIit0fSkuam9pbigiLCIpLGY9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImMiK3R9KS5qb2luKCIsIik7aS5wdXNoKCJmdW5jdGlvbiAiK3IrIihhLCIraCsiLCIrZisiLGQpe3RoaXMuZGF0YT1hIiwidGhpcy5zaGFwZT1bIitoKyJdIiwidGhpcy5zdHJpZGU9WyIrZisiXSIsInRoaXMub2Zmc2V0PWR8MH0iLCJ2YXIgcHJvdG89IityKyIucHJvdG90eXBlIiwicHJvdG8uZHR5cGU9JyIrdCsiJyIsInByb3RvLmRpbWVuc2lvbj0iK2UpLGkucHVzaCgiT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCdzaXplJyx7Z2V0OmZ1bmN0aW9uICIrcisiX3NpemUoKXtyZXR1cm4gIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idGhpcy5zaGFwZVsiK3QrIl0ifSkuam9pbigiKiIpLCJ9fSkiKSwxPT09ZT9pLnB1c2goInByb3RvLm9yZGVyPVswXSIpOihpLnB1c2goIk9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywnb3JkZXInLHtnZXQ6IiksZTw0PyhpLnB1c2goImZ1bmN0aW9uICIrcisiX29yZGVyKCl7IiksMj09PWU/aS5wdXNoKCJyZXR1cm4gKE1hdGguYWJzKHRoaXMuc3RyaWRlWzBdKT5NYXRoLmFicyh0aGlzLnN0cmlkZVsxXSkpP1sxLDBdOlswLDFdfX0pIik6Mz09PWUmJmkucHVzaCgidmFyIHMwPU1hdGguYWJzKHRoaXMuc3RyaWRlWzBdKSxzMT1NYXRoLmFicyh0aGlzLnN0cmlkZVsxXSksczI9TWF0aC5hYnModGhpcy5zdHJpZGVbMl0pO2lmKHMwPnMxKXtpZihzMT5zMil7cmV0dXJuIFsyLDEsMF07fWVsc2UgaWYoczA+czIpe3JldHVybiBbMSwyLDBdO31lbHNle3JldHVybiBbMSwwLDJdO319ZWxzZSBpZihzMD5zMil7cmV0dXJuIFsyLDAsMV07fWVsc2UgaWYoczI+czEpe3JldHVybiBbMCwxLDJdO31lbHNle3JldHVybiBbMCwyLDFdO319fSkiKSk6aS5wdXNoKCJPUkRFUn0pIikpLGkucHVzaCgicHJvdG8uc2V0PWZ1bmN0aW9uICIrcisiX3NldCgiK2wuam9pbigiLCIpKyIsdil7IiksYT9pLnB1c2goInJldHVybiB0aGlzLmRhdGEuc2V0KCIrdSsiLHYpfSIpOmkucHVzaCgicmV0dXJuIHRoaXMuZGF0YVsiK3UrIl09dn0iKSxpLnB1c2goInByb3RvLmdldD1mdW5jdGlvbiAiK3IrIl9nZXQoIitsLmpvaW4oIiwiKSsiKXsiKSxhP2kucHVzaCgicmV0dXJuIHRoaXMuZGF0YS5nZXQoIit1KyIpfSIpOmkucHVzaCgicmV0dXJuIHRoaXMuZGF0YVsiK3UrIl19IiksaS5wdXNoKCJwcm90by5pbmRleD1mdW5jdGlvbiAiK3IrIl9pbmRleCgiLGwuam9pbigpLCIpe3JldHVybiAiK3UrIn0iKSxpLnB1c2goInByb3RvLmhpPWZ1bmN0aW9uICIrcisiX2hpKCIrbC5qb2luKCIsIikrIil7cmV0dXJuIG5ldyAiK3IrIih0aGlzLmRhdGEsIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm5bIih0eXBlb2YgaSIsdCwiIT09J251bWJlcid8fGkiLHQsIjwwKT90aGlzLnNoYXBlWyIsdCwiXTppIix0LCJ8MCJdLmpvaW4oIiIpfSkuam9pbigiLCIpKyIsIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idGhpcy5zdHJpZGVbIit0KyJdIn0pLmpvaW4oIiwiKSsiLHRoaXMub2Zmc2V0KX0iKTt2YXIgcD1vLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iYSIrdCsiPXRoaXMuc2hhcGVbIit0KyJdIn0pLGQ9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImMiK3QrIj10aGlzLnN0cmlkZVsiK3QrIl0ifSk7aS5wdXNoKCJwcm90by5sbz1mdW5jdGlvbiAiK3IrIl9sbygiK2wuam9pbigiLCIpKyIpe3ZhciBiPXRoaXMub2Zmc2V0LGQ9MCwiK3Auam9pbigiLCIpKyIsIitkLmpvaW4oIiwiKSk7Zm9yKHZhciBnPTA7ZzxlOysrZylpLnB1c2goImlmKHR5cGVvZiBpIitnKyI9PT0nbnVtYmVyJyYmaSIrZysiPj0wKXtkPWkiK2crInwwO2IrPWMiK2crIipkO2EiK2crIi09ZH0iKTtpLnB1c2goInJldHVybiBuZXcgIityKyIodGhpcy5kYXRhLCIrby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImEiK3R9KS5qb2luKCIsIikrIiwiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJjIit0fSkuam9pbigiLCIpKyIsYil9IiksaS5wdXNoKCJwcm90by5zdGVwPWZ1bmN0aW9uICIrcisiX3N0ZXAoIitsLmpvaW4oIiwiKSsiKXt2YXIgIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iYSIrdCsiPXRoaXMuc2hhcGVbIit0KyJdIn0pLmpvaW4oIiwiKSsiLCIrby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImIiK3QrIj10aGlzLnN0cmlkZVsiK3QrIl0ifSkuam9pbigiLCIpKyIsYz10aGlzLm9mZnNldCxkPTAsY2VpbD1NYXRoLmNlaWwiKTtmb3IoZz0wO2c8ZTsrK2cpaS5wdXNoKCJpZih0eXBlb2YgaSIrZysiPT09J251bWJlcicpe2Q9aSIrZysifDA7aWYoZDwwKXtjKz1iIitnKyIqKGEiK2crIi0xKTthIitnKyI9Y2VpbCgtYSIrZysiL2QpfWVsc2V7YSIrZysiPWNlaWwoYSIrZysiL2QpfWIiK2crIio9ZH0iKTtpLnB1c2goInJldHVybiBuZXcgIityKyIodGhpcy5kYXRhLCIrby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImEiK3R9KS5qb2luKCIsIikrIiwiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJiIit0fSkuam9pbigiLCIpKyIsYyl9Iik7dmFyIHY9bmV3IEFycmF5KGUpLG09bmV3IEFycmF5KGUpO2ZvcihnPTA7ZzxlOysrZyl2W2ddPSJhW2kiK2crIl0iLG1bZ109ImJbaSIrZysiXSI7aS5wdXNoKCJwcm90by50cmFuc3Bvc2U9ZnVuY3Rpb24gIityKyJfdHJhbnNwb3NlKCIrbCsiKXsiK2wubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrIj0oIit0KyI9PT11bmRlZmluZWQ/IitlKyI6Iit0KyJ8MCkifSkuam9pbigiOyIpLCJ2YXIgYT10aGlzLnNoYXBlLGI9dGhpcy5zdHJpZGU7cmV0dXJuIG5ldyAiK3IrIih0aGlzLmRhdGEsIit2LmpvaW4oIiwiKSsiLCIrbS5qb2luKCIsIikrIix0aGlzLm9mZnNldCl9IiksaS5wdXNoKCJwcm90by5waWNrPWZ1bmN0aW9uICIrcisiX3BpY2soIitsKyIpe3ZhciBhPVtdLGI9W10sYz10aGlzLm9mZnNldCIpO2ZvcihnPTA7ZzxlOysrZylpLnB1c2goImlmKHR5cGVvZiBpIitnKyI9PT0nbnVtYmVyJyYmaSIrZysiPj0wKXtjPShjK3RoaXMuc3RyaWRlWyIrZysiXSppIitnKyIpfDB9ZWxzZXthLnB1c2godGhpcy5zaGFwZVsiK2crIl0pO2IucHVzaCh0aGlzLnN0cmlkZVsiK2crIl0pfSIpO3JldHVybiBpLnB1c2goInZhciBjdG9yPUNUT1JfTElTVFthLmxlbmd0aCsxXTtyZXR1cm4gY3Rvcih0aGlzLmRhdGEsYSxiLGMpfSIpLGkucHVzaCgicmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdF8iK3IrIihkYXRhLHNoYXBlLHN0cmlkZSxvZmZzZXQpe3JldHVybiBuZXcgIityKyIoZGF0YSwiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJzaGFwZVsiK3QrIl0ifSkuam9pbigiLCIpKyIsIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4ic3RyaWRlWyIrdCsiXSJ9KS5qb2luKCIsIikrIixvZmZzZXQpfSIpLG5ldyBGdW5jdGlvbigiQ1RPUl9MSVNUIiwiT1JERVIiLGkuam9pbigiXG4iKSkoY1t0XSxzKX12YXIgYz17ZmxvYXQzMjpbXSxmbG9hdDY0OltdLGludDg6W10saW50MTY6W10saW50MzI6W10sdWludDg6W10sdWludDE2OltdLHVpbnQzMjpbXSxhcnJheTpbXSx1aW50OF9jbGFtcGVkOltdLGJ1ZmZlcjpbXSxnZW5lcmljOltdfTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7aWYodm9pZCAwPT09dClyZXR1cm4oMCxjLmFycmF5WzBdKShbXSk7Im51bWJlciI9PXR5cGVvZiB0JiYodD1bdF0pLHZvaWQgMD09PWUmJihlPVt0Lmxlbmd0aF0pO3ZhciBvPWUubGVuZ3RoO2lmKHZvaWQgMD09PXIpe3I9bmV3IEFycmF5KG8pO2Zvcih2YXIgcz1vLTEsdT0xO3M+PTA7LS1zKXJbc109dSx1Kj1lW3NdfWlmKHZvaWQgMD09PW4pZm9yKG49MCxzPTA7czxvOysrcylyW3NdPDAmJihuLT0oZVtzXS0xKSpyW3NdKTtmb3IodmFyIGg9ZnVuY3Rpb24odCl7aWYoYSh0KSlyZXR1cm4iYnVmZmVyIjtpZihpKXN3aXRjaChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkpe2Nhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjpyZXR1cm4iZmxvYXQ2NCI7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOnJldHVybiJmbG9hdDMyIjtjYXNlIltvYmplY3QgSW50OEFycmF5XSI6cmV0dXJuImludDgiO2Nhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6cmV0dXJuImludDE2IjtjYXNlIltvYmplY3QgSW50MzJBcnJheV0iOnJldHVybiJpbnQzMiI7Y2FzZSJbb2JqZWN0IFVpbnQ4QXJyYXldIjpyZXR1cm4idWludDgiO2Nhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOnJldHVybiJ1aW50MTYiO2Nhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybiJ1aW50MzIiO2Nhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOnJldHVybiJ1aW50OF9jbGFtcGVkIn1yZXR1cm4gQXJyYXkuaXNBcnJheSh0KT8iYXJyYXkiOiJnZW5lcmljIn0odCksZj1jW2hdO2YubGVuZ3RoPD1vKzE7KWYucHVzaChsKGgsZi5sZW5ndGgtMSkpO3JldHVybigwLGZbbysxXSkodCxlLHIsbil9fSx7ImlvdGEtYXJyYXkiOjQxOCwiaXMtYnVmZmVyIjo0MjB9XSw0NTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZG91YmxlLWJpdHMiKSxhPU1hdGgucG93KDIsLTEwNzQpLGk9LTE+Pj4wO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGlzTmFOKHQpfHxpc05hTihlKSlyZXR1cm4gTmFOO2lmKHQ9PT1lKXJldHVybiB0O2lmKDA9PT10KXJldHVybiBlPDA/LWE6YTt2YXIgcj1uLmhpKHQpLG89bi5sbyh0KTtlPnQ9PXQ+MD9vPT09aT8ocis9MSxvPTApOm8rPTE6MD09PW8/KG89aSxyLT0xKTpvLT0xO3JldHVybiBuLnBhY2sobyxyKX19LHsiZG91YmxlLWJpdHMiOjE2OX1dLDQ1NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGguUEksYT1jKDEyMCk7ZnVuY3Rpb24gaSh0LGUscixuKXtyZXR1cm5bIkMiLHQsZSxyLG4scixuXX1mdW5jdGlvbiBvKHQsZSxyLG4sYSxpKXtyZXR1cm5bIkMiLHQvMysyLzMqcixlLzMrMi8zKm4sYS8zKzIvMypyLGkvMysyLzMqbixhLGldfWZ1bmN0aW9uIHModCxlLHIsaSxvLGMsdSxoLGYscCl7aWYocClrPXBbMF0sVD1wWzFdLF89cFsyXSx3PXBbM107ZWxzZXt2YXIgZD1sKHQsZSwtbyk7dD1kLngsZT1kLnk7dmFyIGc9KHQtKGg9KGQ9bChoLGYsLW8pKS54KSkvMix2PShlLShmPWQueSkpLzIsbT1nKmcvKHIqcikrdip2LyhpKmkpO20+MSYmKHIqPW09TWF0aC5zcXJ0KG0pLGkqPW0pO3ZhciB5PXIqcix4PWkqaSxiPShjPT11Py0xOjEpKk1hdGguc3FydChNYXRoLmFicygoeSp4LXkqdip2LXgqZypnKS8oeSp2KnYreCpnKmcpKSk7Yj09MS8wJiYoYj0xKTt2YXIgXz1iKnIqdi9pKyh0K2gpLzIsdz1iKi1pKmcvcisoZStmKS8yLGs9TWF0aC5hc2luKCgoZS13KS9pKS50b0ZpeGVkKDkpKSxUPU1hdGguYXNpbigoKGYtdykvaSkudG9GaXhlZCg5KSk7KGs9dDxfP24tazprKTwwJiYoaz0yKm4rayksKFQ9aDxfP24tVDpUKTwwJiYoVD0yKm4rVCksdSYmaz5UJiYoay09MipuKSwhdSYmVD5rJiYoVC09MipuKX1pZihNYXRoLmFicyhULWspPmEpe3ZhciBNPVQsQT1oLFM9ZjtUPWsrYSoodSYmVD5rPzE6LTEpO3ZhciBFPXMoaD1fK3IqTWF0aC5jb3MoVCksZj13K2kqTWF0aC5zaW4oVCkscixpLG8sMCx1LEEsUyxbVCxNLF8sd10pfXZhciBMPU1hdGgudGFuKChULWspLzQpLEM9NC8zKnIqTCxQPTQvMyppKkwsTz1bMip0LSh0K0MqTWF0aC5zaW4oaykpLDIqZS0oZS1QKk1hdGguY29zKGspKSxoK0MqTWF0aC5zaW4oVCksZi1QKk1hdGguY29zKFQpLGgsZl07aWYocClyZXR1cm4gTztFJiYoTz1PLmNvbmNhdChFKSk7Zm9yKHZhciB6PTA7ejxPLmxlbmd0aDspe3ZhciBJPWwoT1t6XSxPW3orMV0sbyk7T1t6KytdPUkueCxPW3orK109SS55fXJldHVybiBPfWZ1bmN0aW9uIGwodCxlLHIpe3JldHVybnt4OnQqTWF0aC5jb3MociktZSpNYXRoLnNpbihyKSx5OnQqTWF0aC5zaW4ocikrZSpNYXRoLmNvcyhyKX19ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdCoobi8xODApfWUuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGUscj1bXSxuPTAsYT0wLGw9MCx1PTAsaD1udWxsLGY9bnVsbCxwPTAsZD0wLGc9MCx2PXQubGVuZ3RoO2c8djtnKyspe3ZhciBtPXRbZ10seT1tWzBdO3N3aXRjaCh5KXtjYXNlIk0iOmw9bVsxXSx1PW1bMl07YnJlYWs7Y2FzZSJBIjoobT1zKHAsZCxtWzFdLG1bMl0sYyhtWzNdKSxtWzRdLG1bNV0sbVs2XSxtWzddKSkudW5zaGlmdCgiQyIpLG0ubGVuZ3RoPjcmJihyLnB1c2gobS5zcGxpY2UoMCw3KSksbS51bnNoaWZ0KCJDIikpO2JyZWFrO2Nhc2UiUyI6dmFyIHg9cCxiPWQ7IkMiIT1lJiYiUyIhPWV8fCh4Kz14LW4sYis9Yi1hKSxtPVsiQyIseCxiLG1bMV0sbVsyXSxtWzNdLG1bNF1dO2JyZWFrO2Nhc2UiVCI6IlEiPT1lfHwiVCI9PWU/KGg9MipwLWgsZj0yKmQtZik6KGg9cCxmPWQpLG09byhwLGQsaCxmLG1bMV0sbVsyXSk7YnJlYWs7Y2FzZSJRIjpoPW1bMV0sZj1tWzJdLG09byhwLGQsbVsxXSxtWzJdLG1bM10sbVs0XSk7YnJlYWs7Y2FzZSJMIjptPWkocCxkLG1bMV0sbVsyXSk7YnJlYWs7Y2FzZSJIIjptPWkocCxkLG1bMV0sZCk7YnJlYWs7Y2FzZSJWIjptPWkocCxkLHAsbVsxXSk7YnJlYWs7Y2FzZSJaIjptPWkocCxkLGwsdSl9ZT15LHA9bVttLmxlbmd0aC0yXSxkPW1bbS5sZW5ndGgtMV0sbS5sZW5ndGg+ND8obj1tW20ubGVuZ3RoLTRdLGE9bVttLmxlbmd0aC0zXSk6KG49cCxhPWQpLHIucHVzaChtKX1yZXR1cm4gcn19LHt9XSw0NTU6W2Z1bmN0aW9uKHQsZSxyKXtyLnZlcnRleE5vcm1hbHM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1lLmxlbmd0aCxhPW5ldyBBcnJheShuKSxpPXZvaWQgMD09PXI/MWUtNjpyLG89MDtvPG47KytvKWFbb109WzAsMCwwXTtmb3Iobz0wO288dC5sZW5ndGg7KytvKWZvcih2YXIgcz10W29dLGw9MCxjPXNbcy5sZW5ndGgtMV0sdT1zWzBdLGg9MDtoPHMubGVuZ3RoOysraCl7bD1jLGM9dSx1PXNbKGgrMSklcy5sZW5ndGhdO2Zvcih2YXIgZj1lW2xdLHA9ZVtjXSxkPWVbdV0sZz1uZXcgQXJyYXkoMyksdj0wLG09bmV3IEFycmF5KDMpLHk9MCx4PTA7eDwzOysreClnW3hdPWZbeF0tcFt4XSx2Kz1nW3hdKmdbeF0sbVt4XT1kW3hdLXBbeF0seSs9bVt4XSptW3hdO2lmKHYqeT5pKXt2YXIgYj1hW2NdLF89MS9NYXRoLnNxcnQodip5KTtmb3IoeD0wO3g8MzsrK3gpe3ZhciB3PSh4KzEpJTMsaz0oeCsyKSUzO2JbeF0rPV8qKG1bd10qZ1trXS1tW2tdKmdbd10pfX19Zm9yKG89MDtvPG47KytvKXtiPWFbb107dmFyIFQ9MDtmb3IoeD0wO3g8MzsrK3gpVCs9Ylt4XSpiW3hdO2lmKFQ+aSlmb3IoXz0xL01hdGguc3FydChUKSx4PTA7eDwzOysreCliW3hdKj1fO2Vsc2UgZm9yKHg9MDt4PDM7Kyt4KWJbeF09MH1yZXR1cm4gYX0sci5mYWNlTm9ybWFscz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXQubGVuZ3RoLGE9bmV3IEFycmF5KG4pLGk9dm9pZCAwPT09cj8xZS02OnIsbz0wO288bjsrK28pe2Zvcih2YXIgcz10W29dLGw9bmV3IEFycmF5KDMpLGM9MDtjPDM7KytjKWxbY109ZVtzW2NdXTt2YXIgdT1uZXcgQXJyYXkoMyksaD1uZXcgQXJyYXkoMyk7Zm9yKGM9MDtjPDM7KytjKXVbY109bFsxXVtjXS1sWzBdW2NdLGhbY109bFsyXVtjXS1sWzBdW2NdO3ZhciBmPW5ldyBBcnJheSgzKSxwPTA7Zm9yKGM9MDtjPDM7KytjKXt2YXIgZD0oYysxKSUzLGc9KGMrMiklMztmW2NdPXVbZF0qaFtnXS11W2ddKmhbZF0scCs9ZltjXSpmW2NdfXA9cD5pPzEvTWF0aC5zcXJ0KHApOjA7Zm9yKGM9MDtjPDM7KytjKWZbY10qPXA7YVtvXT1mfXJldHVybiBhfX0se31dLDQ1NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxpPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dHJ5e2lmKCFPYmplY3QuYXNzaWduKXJldHVybiExO3ZhciB0PW5ldyBTdHJpbmcoImFiYyIpO2lmKHRbNV09ImRlIiwiNSI9PT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KVswXSlyZXR1cm4hMTtmb3IodmFyIGU9e30scj0wO3I8MTA7cisrKWVbIl8iK1N0cmluZy5mcm9tQ2hhckNvZGUocildPXI7aWYoIjAxMjM0NTY3ODkiIT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSkuam9pbigiIikpcmV0dXJuITE7dmFyIG49e307cmV0dXJuImFiY2RlZmdoaWprbG1ub3BxcnN0Ii5zcGxpdCgiIikuZm9yRWFjaChmdW5jdGlvbih0KXtuW3RdPXR9KSwiYWJjZGVmZ2hpamtsbW5vcHFyc3QiPT09T2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSxuKSkuam9pbigiIil9Y2F0Y2godCl7cmV0dXJuITF9fSgpP09iamVjdC5hc3NpZ246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbyxzPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm4gT2JqZWN0KHQpfSh0KSxsPTE7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyl7Zm9yKHZhciBjIGluIHI9T2JqZWN0KGFyZ3VtZW50c1tsXSkpYS5jYWxsKHIsYykmJihzW2NdPXJbY10pO2lmKG4pe289bihyKTtmb3IodmFyIHU9MDt1PG8ubGVuZ3RoO3UrKylpLmNhbGwocixvW3VdKSYmKHNbb1t1XV09cltvW3VdXSl9fXJldHVybiBzfX0se31dLDQ1NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyl7dmFyIHU9ZStpK2M7aWYoaD4wKXt2YXIgaD1NYXRoLnNxcnQodSsxKTt0WzBdPS41KihvLWwpL2gsdFsxXT0uNSoocy1uKS9oLHRbMl09LjUqKHItaSkvaCx0WzNdPS41Kmh9ZWxzZXt2YXIgZj1NYXRoLm1heChlLGksYyksaD1NYXRoLnNxcnQoMipmLXUrMSk7ZT49Zj8odFswXT0uNSpoLHRbMV09LjUqKGErcikvaCx0WzJdPS41KihzK24pL2gsdFszXT0uNSooby1sKS9oKTppPj1mPyh0WzBdPS41KihyK2EpL2gsdFsxXT0uNSpoLHRbMl09LjUqKGwrbykvaCx0WzNdPS41KihzLW4pL2gpOih0WzBdPS41KihuK3MpL2gsdFsxXT0uNSoobytsKS9oLHRbMl09LjUqaCx0WzNdPS41KihyLWEpL2gpfXJldHVybiB0fX0se31dLDQ1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9KHQ9dHx8e30pLmNlbnRlcnx8WzAsMCwwXSxyPXQucm90YXRpb258fFswLDAsMCwxXSxuPXQucmFkaXVzfHwxO2U9W10uc2xpY2UuY2FsbChlLDAsMyksdShyPVtdLnNsaWNlLmNhbGwociwwLDQpLHIpO3ZhciBhPW5ldyBoKHIsZSxNYXRoLmxvZyhuKSk7YS5zZXREaXN0YW5jZUxpbWl0cyh0Lnpvb21NaW4sdC56b29tTWF4KSwoImV5ZSJpbiB0fHwidXAiaW4gdCkmJmEubG9va0F0KDAsdC5leWUsdC5jZW50ZXIsdC51cCk7cmV0dXJuIGF9O3ZhciBuPXQoImZpbHRlcmVkLXZlY3RvciIpLGE9dCgiZ2wtbWF0NC9sb29rQXQiKSxpPXQoImdsLW1hdDQvZnJvbVF1YXQiKSxvPXQoImdsLW1hdDQvaW52ZXJ0Iikscz10KCIuL2xpYi9xdWF0RnJvbUZyYW1lIik7ZnVuY3Rpb24gbCh0LGUscil7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0LDIpK01hdGgucG93KGUsMikrTWF0aC5wb3cociwyKSl9ZnVuY3Rpb24gYyh0LGUscixuKXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHQsMikrTWF0aC5wb3coZSwyKStNYXRoLnBvdyhyLDIpK01hdGgucG93KG4sMikpfWZ1bmN0aW9uIHUodCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPWVbMl0saT1lWzNdLG89YyhyLG4sYSxpKTtvPjFlLTY/KHRbMF09ci9vLHRbMV09bi9vLHRbMl09YS9vLHRbM109aS9vKToodFswXT10WzFdPXRbMl09MCx0WzNdPTEpfWZ1bmN0aW9uIGgodCxlLHIpe3RoaXMucmFkaXVzPW4oW3JdKSx0aGlzLmNlbnRlcj1uKGUpLHRoaXMucm90YXRpb249bih0KSx0aGlzLmNvbXB1dGVkUmFkaXVzPXRoaXMucmFkaXVzLmN1cnZlKDApLHRoaXMuY29tcHV0ZWRDZW50ZXI9dGhpcy5jZW50ZXIuY3VydmUoMCksdGhpcy5jb21wdXRlZFJvdGF0aW9uPXRoaXMucm90YXRpb24uY3VydmUoMCksdGhpcy5jb21wdXRlZFVwPVsuMSwwLDBdLHRoaXMuY29tcHV0ZWRFeWU9Wy4xLDAsMF0sdGhpcy5jb21wdXRlZE1hdHJpeD1bLjEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdLHRoaXMucmVjYWxjTWF0cml4KDApfXZhciBmPWgucHJvdG90eXBlO2YubGFzdFQ9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5tYXgodGhpcy5yYWRpdXMubGFzdFQoKSx0aGlzLmNlbnRlci5sYXN0VCgpLHRoaXMucm90YXRpb24ubGFzdFQoKSl9LGYucmVjYWxjTWF0cml4PWZ1bmN0aW9uKHQpe3RoaXMucmFkaXVzLmN1cnZlKHQpLHRoaXMuY2VudGVyLmN1cnZlKHQpLHRoaXMucm90YXRpb24uY3VydmUodCk7dmFyIGU9dGhpcy5jb21wdXRlZFJvdGF0aW9uO3UoZSxlKTt2YXIgcj10aGlzLmNvbXB1dGVkTWF0cml4O2kocixlKTt2YXIgbj10aGlzLmNvbXB1dGVkQ2VudGVyLGE9dGhpcy5jb21wdXRlZEV5ZSxvPXRoaXMuY29tcHV0ZWRVcCxzPU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pO2FbMF09blswXStzKnJbMl0sYVsxXT1uWzFdK3Mqcls2XSxhWzJdPW5bMl0rcypyWzEwXSxvWzBdPXJbMV0sb1sxXT1yWzVdLG9bMl09cls5XTtmb3IodmFyIGw9MDtsPDM7KytsKXtmb3IodmFyIGM9MCxoPTA7aDwzOysraCljKz1yW2wrNCpoXSphW2hdO3JbMTIrbF09LWN9fSxmLmdldE1hdHJpeD1mdW5jdGlvbih0LGUpe3RoaXMucmVjYWxjTWF0cml4KHQpO3ZhciByPXRoaXMuY29tcHV0ZWRNYXRyaXg7aWYoZSl7Zm9yKHZhciBuPTA7bjwxNjsrK24pZVtuXT1yW25dO3JldHVybiBlfXJldHVybiByfSxmLmlkbGU9ZnVuY3Rpb24odCl7dGhpcy5jZW50ZXIuaWRsZSh0KSx0aGlzLnJhZGl1cy5pZGxlKHQpLHRoaXMucm90YXRpb24uaWRsZSh0KX0sZi5mbHVzaD1mdW5jdGlvbih0KXt0aGlzLmNlbnRlci5mbHVzaCh0KSx0aGlzLnJhZGl1cy5mbHVzaCh0KSx0aGlzLnJvdGF0aW9uLmZsdXNoKHQpfSxmLnBhbj1mdW5jdGlvbih0LGUscixuKXtlPWV8fDAscj1yfHwwLG49bnx8MCx0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgYT10aGlzLmNvbXB1dGVkTWF0cml4LGk9YVsxXSxvPWFbNV0scz1hWzldLGM9bChpLG8scyk7aS89YyxvLz1jLHMvPWM7dmFyIHU9YVswXSxoPWFbNF0sZj1hWzhdLHA9dSppK2gqbytmKnMsZD1sKHUtPWkqcCxoLT1vKnAsZi09cypwKTt1Lz1kLGgvPWQsZi89ZDt2YXIgZz1hWzJdLHY9YVs2XSxtPWFbMTBdLHk9ZyppK3YqbyttKnMseD1nKnUrdipoK20qZixiPWwoZy09eSppK3gqdSx2LT15Km8reCpoLG0tPXkqcyt4KmYpO2cvPWIsdi89YixtLz1iO3ZhciBfPXUqZStpKnIsdz1oKmUrbypyLGs9ZiplK3Mqcjt0aGlzLmNlbnRlci5tb3ZlKHQsXyx3LGspO3ZhciBUPU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pO1Q9TWF0aC5tYXgoMWUtNCxUK24pLHRoaXMucmFkaXVzLnNldCh0LE1hdGgubG9nKFQpKX0sZi5yb3RhdGU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5yZWNhbGNNYXRyaXgodCksZT1lfHwwLHI9cnx8MDt2YXIgYT10aGlzLmNvbXB1dGVkTWF0cml4LGk9YVswXSxvPWFbNF0scz1hWzhdLHU9YVsxXSxoPWFbNV0sZj1hWzldLHA9YVsyXSxkPWFbNl0sZz1hWzEwXSx2PWUqaStyKnUsbT1lKm8rcipoLHk9ZSpzK3IqZix4PS0oZCp5LWcqbSksYj0tKGcqdi1wKnkpLF89LShwKm0tZCp2KSx3PU1hdGguc3FydChNYXRoLm1heCgwLDEtTWF0aC5wb3coeCwyKS1NYXRoLnBvdyhiLDIpLU1hdGgucG93KF8sMikpKSxrPWMoeCxiLF8sdyk7az4xZS02Pyh4Lz1rLGIvPWssXy89ayx3Lz1rKTooeD1iPV89MCx3PTEpO3ZhciBUPXRoaXMuY29tcHV0ZWRSb3RhdGlvbixNPVRbMF0sQT1UWzFdLFM9VFsyXSxFPVRbM10sTD1NKncrRSp4K0EqXy1TKmIsQz1BKncrRSpiK1MqeC1NKl8sUD1TKncrRSpfK00qYi1BKngsTz1FKnctTSp4LUEqYi1TKl87aWYobil7eD1wLGI9ZCxfPWc7dmFyIHo9TWF0aC5zaW4obikvbCh4LGIsXyk7eCo9eixiKj16LF8qPXosTz1PKih3PU1hdGguY29zKGUpKS0oTD1MKncrTyp4K0MqXy1QKmIpKngtKEM9Qyp3K08qYitQKngtTCpfKSpiLShQPVAqdytPKl8rTCpiLUMqeCkqX312YXIgST1jKEwsQyxQLE8pO0k+MWUtNj8oTC89SSxDLz1JLFAvPUksTy89SSk6KEw9Qz1QPTAsTz0xKSx0aGlzLnJvdGF0aW9uLnNldCh0LEwsQyxQLE8pfSxmLmxvb2tBdD1mdW5jdGlvbih0LGUscixuKXt0aGlzLnJlY2FsY01hdHJpeCh0KSxyPXJ8fHRoaXMuY29tcHV0ZWRDZW50ZXIsZT1lfHx0aGlzLmNvbXB1dGVkRXllLG49bnx8dGhpcy5jb21wdXRlZFVwO3ZhciBpPXRoaXMuY29tcHV0ZWRNYXRyaXg7YShpLGUscixuKTt2YXIgbz10aGlzLmNvbXB1dGVkUm90YXRpb247cyhvLGlbMF0saVsxXSxpWzJdLGlbNF0saVs1XSxpWzZdLGlbOF0saVs5XSxpWzEwXSksdShvLG8pLHRoaXMucm90YXRpb24uc2V0KHQsb1swXSxvWzFdLG9bMl0sb1szXSk7Zm9yKHZhciBsPTAsYz0wO2M8MzsrK2MpbCs9TWF0aC5wb3cocltjXS1lW2NdLDIpO3RoaXMucmFkaXVzLnNldCh0LC41Kk1hdGgubG9nKE1hdGgubWF4KGwsMWUtNikpKSx0aGlzLmNlbnRlci5zZXQodCxyWzBdLHJbMV0sclsyXSl9LGYudHJhbnNsYXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMuY2VudGVyLm1vdmUodCxlfHwwLHJ8fDAsbnx8MCl9LGYuc2V0TWF0cml4PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5jb21wdXRlZFJvdGF0aW9uO3MocixlWzBdLGVbMV0sZVsyXSxlWzRdLGVbNV0sZVs2XSxlWzhdLGVbOV0sZVsxMF0pLHUocixyKSx0aGlzLnJvdGF0aW9uLnNldCh0LHJbMF0sclsxXSxyWzJdLHJbM10pO3ZhciBuPXRoaXMuY29tcHV0ZWRNYXRyaXg7byhuLGUpO3ZhciBhPW5bMTVdO2lmKE1hdGguYWJzKGEpPjFlLTYpe3ZhciBpPW5bMTJdL2EsbD1uWzEzXS9hLGM9blsxNF0vYTt0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgaD1NYXRoLmV4cCh0aGlzLmNvbXB1dGVkUmFkaXVzWzBdKTt0aGlzLmNlbnRlci5zZXQodCxpLW5bMl0qaCxsLW5bNl0qaCxjLW5bMTBdKmgpLHRoaXMucmFkaXVzLmlkbGUodCl9ZWxzZSB0aGlzLmNlbnRlci5pZGxlKHQpLHRoaXMucmFkaXVzLmlkbGUodCl9LGYuc2V0RGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtlPjAmJnRoaXMucmFkaXVzLnNldCh0LE1hdGgubG9nKGUpKX0sZi5zZXREaXN0YW5jZUxpbWl0cz1mdW5jdGlvbih0LGUpe3Q9dD4wP01hdGgubG9nKHQpOi0xLzAsZT1lPjA/TWF0aC5sb2coZSk6MS8wLGU9TWF0aC5tYXgoZSx0KSx0aGlzLnJhZGl1cy5ib3VuZHNbMF1bMF09dCx0aGlzLnJhZGl1cy5ib3VuZHNbMV1bMF09ZX0sZi5nZXREaXN0YW5jZUxpbWl0cz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnJhZGl1cy5ib3VuZHM7cmV0dXJuIHQ/KHRbMF09TWF0aC5leHAoZVswXVswXSksdFsxXT1NYXRoLmV4cChlWzFdWzBdKSx0KTpbTWF0aC5leHAoZVswXVswXSksTWF0aC5leHAoZVsxXVswXSldfSxmLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlY2FsY01hdHJpeCh0aGlzLmxhc3RUKCkpLHtjZW50ZXI6dGhpcy5jb21wdXRlZENlbnRlci5zbGljZSgpLHJvdGF0aW9uOnRoaXMuY29tcHV0ZWRSb3RhdGlvbi5zbGljZSgpLGRpc3RhbmNlOk1hdGgubG9nKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pLHpvb21NaW46dGhpcy5yYWRpdXMuYm91bmRzWzBdWzBdLHpvb21NYXg6dGhpcy5yYWRpdXMuYm91bmRzWzFdWzBdfX0sZi5mcm9tSlNPTj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhc3RUKCkscj10LmNlbnRlcjtyJiZ0aGlzLmNlbnRlci5zZXQoZSxyWzBdLHJbMV0sclsyXSk7dmFyIG49dC5yb3RhdGlvbjtuJiZ0aGlzLnJvdGF0aW9uLnNldChlLG5bMF0sblsxXSxuWzJdLG5bM10pO3ZhciBhPXQuZGlzdGFuY2U7YSYmYT4wJiZ0aGlzLnJhZGl1cy5zZXQoZSxNYXRoLmxvZyhhKSksdGhpcy5zZXREaXN0YW5jZUxpbWl0cyh0Lnpvb21NaW4sdC56b29tTWF4KX19LHsiLi9saWIvcXVhdEZyb21GcmFtZSI6NDU3LCJmaWx0ZXJlZC12ZWN0b3IiOjIyOSwiZ2wtbWF0NC9mcm9tUXVhdCI6MjY1LCJnbC1tYXQ0L2ludmVydCI6MjY4LCJnbC1tYXQ0L2xvb2tBdCI6MjY5fV0sNDU5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInJlcGVhdC1zdHJpbmciKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKHI9InVuZGVmaW5lZCIhPXR5cGVvZiByP3IrIiI6IiAiLGUpK3R9fSx7InJlcGVhdC1zdHJpbmciOjUwMn1dLDQ2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVyblt0XTt2YXIgcj1bdF07InN0cmluZyI9PXR5cGVvZiBlfHxBcnJheS5pc0FycmF5KGUpP2U9e2JyYWNrZXRzOmV9OmV8fChlPXt9KTt2YXIgbj1lLmJyYWNrZXRzP0FycmF5LmlzQXJyYXkoZS5icmFja2V0cyk/ZS5icmFja2V0czpbZS5icmFja2V0c106WyJ7fSIsIltdIiwiKCkiXSxhPWUuZXNjYXBlfHwiX19fIixpPSEhZS5mbGF0O24uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1uZXcgUmVnRXhwKFsiXFwiLHRbMF0sIlteXFwiLHRbMF0sIlxcIix0WzFdLCJdKlxcIix0WzFdXS5qb2luKCIiKSksbj1bXTtmdW5jdGlvbiBpKGUsaSxvKXt2YXIgcz1yLnB1c2goZS5zbGljZSh0WzBdLmxlbmd0aCwtdFsxXS5sZW5ndGgpKS0xO3JldHVybiBuLnB1c2gocyksYStzK2F9ci5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7Zm9yKHZhciBhLG89MDt0IT1hOylpZihhPXQsdD10LnJlcGxhY2UoZSxpKSxvKys+MWU0KXRocm93IEVycm9yKCJSZWZlcmVuY2VzIGhhdmUgY2lyY3VsYXIgZGVwZW5kZW5jeS4gUGxlYXNlLCBjaGVjayB0aGVtLiIpO3Jbbl09dH0pLG49bi5yZXZlcnNlKCkscj1yLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKHIpe2U9ZS5yZXBsYWNlKG5ldyBSZWdFeHAoIihcXCIrYStyKyJcXCIrYSsiKSIsImciKSx0WzBdKyIkMSIrdFsxXSl9KSxlfSl9KTt2YXIgbz1uZXcgUmVnRXhwKCJcXCIrYSsiKFswLTldKylcXCIrYSk7cmV0dXJuIGk/cjpmdW5jdGlvbiB0KGUscixuKXtmb3IodmFyIGEsaT1bXSxzPTA7YT1vLmV4ZWMoZSk7KXtpZihzKys+MWU0KXRocm93IEVycm9yKCJDaXJjdWxhciByZWZlcmVuY2VzIGluIHBhcmVudGhlc2lzIik7aS5wdXNoKGUuc2xpY2UoMCxhLmluZGV4KSksaS5wdXNoKHQoclthWzFdXSxyKSksZT1lLnNsaWNlKGEuaW5kZXgrYVswXS5sZW5ndGgpfXJldHVybiBpLnB1c2goZSksaX0oclswXSxyKX1mdW5jdGlvbiBhKHQsZSl7aWYoZSYmZS5mbGF0KXt2YXIgcixuPWUmJmUuZXNjYXBlfHwiX19fIixhPXRbMF07aWYoIWEpcmV0dXJuIiI7Zm9yKHZhciBpPW5ldyBSZWdFeHAoIlxcIituKyIoWzAtOV0rKVxcIituKSxvPTA7YSE9cjspe2lmKG8rKz4xZTQpdGhyb3cgRXJyb3IoIkNpcmN1bGFyIHJlZmVyZW5jZXMgaW4gIit0KTtyPWEsYT1hLnJlcGxhY2UoaSxzKX1yZXR1cm4gYX1yZXR1cm4gdC5yZWR1Y2UoZnVuY3Rpb24gdChlLHIpe3JldHVybiBBcnJheS5pc0FycmF5KHIpJiYocj1yLnJlZHVjZSh0LCIiKSksZStyfSwiIik7ZnVuY3Rpb24gcyhlLHIpe2lmKG51bGw9PXRbcl0pdGhyb3cgRXJyb3IoIlJlZmVyZW5jZSAiK3IrImlzIHVuZGVmaW5lZCIpO3JldHVybiB0W3JdfX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/YSh0LGUpOm4odCxlKX1pLnBhcnNlPW4saS5zdHJpbmdpZnk9YSxlLmV4cG9ydHM9aX0se31dLDQ2MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJwaWNrLWJ5LWFsaWFzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlO2FyZ3VtZW50cy5sZW5ndGg+MSYmKHQ9YXJndW1lbnRzKTsic3RyaW5nIj09dHlwZW9mIHQ/dD10LnNwbGl0KC9ccy8pLm1hcChwYXJzZUZsb2F0KToibnVtYmVyIj09dHlwZW9mIHQmJih0PVt0XSk7dC5sZW5ndGgmJiJudW1iZXIiPT10eXBlb2YgdFswXT9lPTE9PT10Lmxlbmd0aD97d2lkdGg6dFswXSxoZWlnaHQ6dFswXSx4OjAseTowfToyPT09dC5sZW5ndGg/e3dpZHRoOnRbMF0saGVpZ2h0OnRbMV0seDowLHk6MH06e3g6dFswXSx5OnRbMV0sd2lkdGg6dFsyXS10WzBdfHwwLGhlaWdodDp0WzNdLXRbMV18fDB9OnQmJih0PW4odCx7bGVmdDoieCBsIGxlZnQgTGVmdCIsdG9wOiJ5IHQgdG9wIFRvcCIsd2lkdGg6Incgd2lkdGggVyBXaWR0aCIsaGVpZ2h0OiJoIGhlaWdodCBXIFdpZHRoIixib3R0b206ImIgYm90dG9tIEJvdHRvbSIscmlnaHQ6InIgcmlnaHQgUmlnaHQifSksZT17eDp0LmxlZnR8fDAseTp0LnRvcHx8MH0sbnVsbD09dC53aWR0aD90LnJpZ2h0P2Uud2lkdGg9dC5yaWdodC1lLng6ZS53aWR0aD0wOmUud2lkdGg9dC53aWR0aCxudWxsPT10LmhlaWdodD90LmJvdHRvbT9lLmhlaWdodD10LmJvdHRvbS1lLnk6ZS5oZWlnaHQ9MDplLmhlaWdodD10LmhlaWdodCk7cmV0dXJuIGV9fSx7InBpY2stYnktYWxpYXMiOjQ2N31dLDQ2MjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdC5yZXBsYWNlKGEsZnVuY3Rpb24odCxyLGEpe3ZhciBvPXIudG9Mb3dlckNhc2UoKTtmb3IoYT1mdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKGkpO3JldHVybiBlP2UubWFwKE51bWJlcik6W119KGEpLCJtIj09byYmYS5sZW5ndGg+MiYmKGUucHVzaChbcl0uY29uY2F0KGEuc3BsaWNlKDAsMikpKSxvPSJsIixyPSJtIj09cj8ibCI6IkwiKTs7KXtpZihhLmxlbmd0aD09bltvXSlyZXR1cm4gYS51bnNoaWZ0KHIpLGUucHVzaChhKTtpZihhLmxlbmd0aDxuW29dKXRocm93IG5ldyBFcnJvcigibWFsZm9ybWVkIHBhdGggZGF0YSIpO2UucHVzaChbcl0uY29uY2F0KGEuc3BsaWNlKDAsbltvXSkpKX19KSxlfTt2YXIgbj17YTo3LGM6NixoOjEsbDoyLG06MixxOjQsczo0LHQ6Mix2OjEsejowfSxhPS8oW2FzdHZ6cW1obGNdKShbXmFzdHZ6cW1obGNdKikvZ2k7dmFyIGk9Ly0/WzAtOV0qXC4/WzAtOV0rKD86ZVstK10/XGQrKT8vZ2l9LHt9XSw0NjM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlfHwoZT1bMCwiIl0pLHQ9U3RyaW5nKHQpO3ZhciByPXBhcnNlRmxvYXQodCwxMCk7cmV0dXJuIGVbMF09cixlWzFdPXQubWF0Y2goL1tcZC5cLVwrXSpccyooLiopLylbMV18fCIiLGV9fSx7fV0sNDY0OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpeyhmdW5jdGlvbigpe3ZhciByLG4sYSxpLG8sczsidW5kZWZpbmVkIiE9dHlwZW9mIHBlcmZvcm1hbmNlJiZudWxsIT09cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm5vdz9lLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCl9OiJ1bmRlZmluZWQiIT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuaHJ0aW1lPyhlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4ocigpLW8pLzFlNn0sbj10LmhydGltZSxpPShyPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIDFlOSoodD1uKCkpWzBdK3RbMV19KSgpLHM9MWU5KnQudXB0aW1lKCksbz1pLXMpOkRhdGUubm93PyhlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKS1hfSxhPURhdGUubm93KCkpOihlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKS1hfSxhPShuZXcgRGF0ZSkuZ2V0VGltZSgpKX0pLmNhbGwodGhpcyl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHtfcHJvY2Vzczo0ODR9XSw0NjU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGU8bil7Zm9yKHZhciByPTEsaT0wO2k8ZTsrK2kpZm9yKHZhciBvPTA7bzxpOysrbylpZih0W2ldPHRbb10pcj0tcjtlbHNlIGlmKHRbaV09PT10W29dKXJldHVybiAwO3JldHVybiByfWZvcih2YXIgcz1hLm1hbGxvY1VpbnQ4KGUpLGk9MDtpPGU7KytpKXNbaV09MDtmb3IodmFyIHI9MSxpPTA7aTxlOysraSlpZighc1tpXSl7dmFyIGw9MTtzW2ldPTE7Zm9yKHZhciBvPXRbaV07byE9PWk7bz10W29dKXtpZihzW29dKXJldHVybiBhLmZyZWVVaW50OChzKSwwO2wrPTEsc1tvXT0xfTEmbHx8KHI9LXIpfXJldHVybiBhLmZyZWVVaW50OChzKSxyfTt2YXIgbj0zMixhPXQoInR5cGVkYXJyYXktcG9vbCIpfSx7InR5cGVkYXJyYXktcG9vbCI6NTQ0fV0sNDY2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInR5cGVkYXJyYXktcG9vbCIpLGE9dCgiaW52ZXJ0LXBlcm11dGF0aW9uIik7ci5yYW5rPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO3N3aXRjaChlKXtjYXNlIDA6Y2FzZSAxOnJldHVybiAwO2Nhc2UgMjpyZXR1cm4gdFsxXX12YXIgcixpLG8scz1uLm1hbGxvY1VpbnQzMihlKSxsPW4ubWFsbG9jVWludDMyKGUpLGM9MDtmb3IoYSh0LGwpLG89MDtvPGU7KytvKXNbb109dFtvXTtmb3Iobz1lLTE7bz4wOy0tbylpPWxbb10scj1zW29dLHNbb109c1tpXSxzW2ldPXIsbFtvXT1sW3JdLGxbcl09aSxjPShjK3IpKm87cmV0dXJuIG4uZnJlZVVpbnQzMihsKSxuLmZyZWVVaW50MzIocyksY30sci51bnJhbms9ZnVuY3Rpb24odCxlLHIpe3N3aXRjaCh0KXtjYXNlIDA6cmV0dXJuIHJ8fFtdO2Nhc2UgMTpyZXR1cm4gcj8oclswXT0wLHIpOlswXTtjYXNlIDI6cmV0dXJuIHI/KGU/KHJbMF09MCxyWzFdPTEpOihyWzBdPTEsclsxXT0wKSxyKTplP1swLDFdOlsxLDBdfXZhciBuLGEsaSxvPTE7Zm9yKChyPXJ8fG5ldyBBcnJheSh0KSlbMF09MCxpPTE7aTx0OysraSlyW2ldPWksbz1vKml8MDtmb3IoaT10LTE7aT4wOy0taSllPWUtKG49ZS9vfDApKm98MCxvPW8vaXwwLGE9MHxyW2ldLHJbaV09MHxyW25dLHJbbl09MHxhO3JldHVybiByfX0seyJpbnZlcnQtcGVybXV0YXRpb24iOjQxNywidHlwZWRhcnJheS1wb29sIjo1NDR9XSw0Njc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG89e307aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT1hKGUpKSxBcnJheS5pc0FycmF5KGUpKXt2YXIgcz17fTtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXNbZVtpXV09ITA7ZT1zfWZvcihuIGluIGUpZVtuXT1hKGVbbl0pO3ZhciBsPXt9O2ZvcihuIGluIGUpe3ZhciBjPWVbbl07aWYoQXJyYXkuaXNBcnJheShjKSlmb3IoaT0wO2k8Yy5sZW5ndGg7aSsrKXt2YXIgdT1jW2ldO2lmKHImJihsW3VdPSEwKSx1IGluIHQpe2lmKG9bbl09dFt1XSxyKWZvcih2YXIgaD1pO2g8Yy5sZW5ndGg7aCsrKWxbY1toXV09ITA7YnJlYWt9fWVsc2UgbiBpbiB0JiYoZVtuXSYmKG9bbl09dFtuXSksciYmKGxbbl09ITApKX1pZihyKWZvcihuIGluIHQpbFtuXXx8KG9bbl09dFtuXSk7cmV0dXJuIG99O3ZhciBuPXt9O2Z1bmN0aW9uIGEodCl7cmV0dXJuIG5bdF0/blt0XTooInN0cmluZyI9PXR5cGVvZiB0JiYodD1uW3RdPXQuc3BsaXQoL1xzKixccyp8XHMrLykpLHQpfX0se31dLDQ2ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MHxlLmxlbmd0aCxhPXQubGVuZ3RoLGk9W25ldyBBcnJheShyKSxuZXcgQXJyYXkocildLG89MDtvPHI7KytvKWlbMF1bb109W10saVsxXVtvXT1bXTtmb3IodmFyIG89MDtvPGE7KytvKXt2YXIgcz10W29dO2lbMF1bc1swXV0ucHVzaChzKSxpWzFdW3NbMV1dLnB1c2gocyl9Zm9yKHZhciBsPVtdLG89MDtvPHI7KytvKWlbMF1bb10ubGVuZ3RoK2lbMV1bb10ubGVuZ3RoPT09MCYmbC5wdXNoKFtvXSk7ZnVuY3Rpb24gYyh0LGUpe3ZhciByPWlbZV1bdFtlXV07ci5zcGxpY2Uoci5pbmRleE9mKHQpLDEpfWZ1bmN0aW9uIHUodCxyLGEpe2Zvcih2YXIgbyxzLGwsdT0wO3U8MjsrK3UpaWYoaVt1XVtyXS5sZW5ndGg+MCl7bz1pW3VdW3JdWzBdLGw9dTticmVha31zPW9bMV5sXTtmb3IodmFyIGg9MDtoPDI7KytoKWZvcih2YXIgZj1pW2hdW3JdLHA9MDtwPGYubGVuZ3RoOysrcCl7dmFyIGQ9ZltwXSxnPWRbMV5oXSx2PW4oZVt0XSxlW3JdLGVbc10sZVtnXSk7dj4wJiYobz1kLHM9ZyxsPWgpfXJldHVybiBhP3M6KG8mJmMobyxsKSxzKX1mdW5jdGlvbiBoKHQscil7dmFyIGE9aVtyXVt0XVswXSxvPVt0XTtjKGEscik7Zm9yKHZhciBzPWFbMV5yXTs7KXtmb3IoO3MhPT10OylvLnB1c2gocykscz11KG9bby5sZW5ndGgtMl0scywhMSk7aWYoaVswXVt0XS5sZW5ndGgraVsxXVt0XS5sZW5ndGg9PT0wKWJyZWFrO3ZhciBsPW9bby5sZW5ndGgtMV0saD10LGY9b1sxXSxwPXUobCxoLCEwKTtpZihuKGVbbF0sZVtoXSxlW2ZdLGVbcF0pPDApYnJlYWs7by5wdXNoKHQpLHM9dShsLGgpfXJldHVybiBvfWZ1bmN0aW9uIGYodCxlKXtyZXR1cm4gZVsxXT09PWVbZS5sZW5ndGgtMV19Zm9yKHZhciBvPTA7bzxyOysrbylmb3IodmFyIHA9MDtwPDI7KytwKXtmb3IodmFyIGQ9W107aVtwXVtvXS5sZW5ndGg+MDspe2lbMF1bb10ubGVuZ3RoO3ZhciBnPWgobyxwKTtmKGQsZyk/ZC5wdXNoLmFwcGx5KGQsZyk6KGQubGVuZ3RoPjAmJmwucHVzaChkKSxkPWcpfWQubGVuZ3RoPjAmJmwucHVzaChkKX1yZXR1cm4gbH07dmFyIG49dCgiY29tcGFyZS1hbmdsZSIpfSx7ImNvbXBhcmUtYW5nbGUiOjEyOX1dLDQ2OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bih0LGUubGVuZ3RoKSxhPW5ldyBBcnJheShlLmxlbmd0aCksaT1uZXcgQXJyYXkoZS5sZW5ndGgpLG89W10scz0wO3M8ZS5sZW5ndGg7KytzKXt2YXIgbD1yW3NdLmxlbmd0aDtpW3NdPWwsYVtzXT0hMCxsPD0xJiZvLnB1c2gocyl9Zm9yKDtvLmxlbmd0aD4wOyl7dmFyIGM9by5wb3AoKTthW2NdPSExO2Zvcih2YXIgdT1yW2NdLHM9MDtzPHUubGVuZ3RoOysrcyl7dmFyIGg9dVtzXTswPT0tLWlbaF0mJm8ucHVzaChoKX19Zm9yKHZhciBmPW5ldyBBcnJheShlLmxlbmd0aCkscD1bXSxzPTA7czxlLmxlbmd0aDsrK3MpaWYoYVtzXSl7dmFyIGM9cC5sZW5ndGg7ZltzXT1jLHAucHVzaChlW3NdKX1lbHNlIGZbc109LTE7Zm9yKHZhciBkPVtdLHM9MDtzPHQubGVuZ3RoOysrcyl7dmFyIGc9dFtzXTthW2dbMF1dJiZhW2dbMV1dJiZkLnB1c2goW2ZbZ1swXV0sZltnWzFdXV0pfXJldHVybltkLHBdfTt2YXIgbj10KCJlZGdlcy10by1hZGphY2VuY3ktbGlzdCIpfSx7ImVkZ2VzLXRvLWFkamFjZW5jeS1saXN0IjoxNzR9XSw0NzA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9Yyh0LGUpO3Q9clswXTtmb3IodmFyIGg9KGU9clsxXSkubGVuZ3RoLGY9KHQubGVuZ3RoLG4odCxlLmxlbmd0aCkpLHA9MDtwPGg7KytwKWlmKGZbcF0ubGVuZ3RoJTI9PTEpdGhyb3cgbmV3IEVycm9yKCJwbGFuYXItZ3JhcGgtdG8tcG9seWxpbmU6IGdyYXBoIG11c3QgYmUgbWFuaWZvbGQiKTt2YXIgZD1hKHQsZSk7Zm9yKHZhciBnPShkPWQuZmlsdGVyKGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aCxuPVswXSxhPTA7YTxyOysrYSl7dmFyIGk9ZVt0W2FdXSxsPWVbdFsoYSsxKSVyXV0sYz1vKC1pWzBdLGlbMV0pLHU9bygtaVswXSxsWzFdKSxoPW8obFswXSxpWzFdKSxmPW8obFswXSxsWzFdKTtuPXMobixzKHMoYyx1KSxzKGgsZikpKX1yZXR1cm4gbltuLmxlbmd0aC0xXT4wfSkpLmxlbmd0aCx2PW5ldyBBcnJheShnKSxtPW5ldyBBcnJheShnKSxwPTA7cDxnOysrcCl7dltwXT1wO3ZhciB5PW5ldyBBcnJheShnKSx4PWRbcF0ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSksYj1pKFt4XSksXz0wO3Q6Zm9yKHZhciB3PTA7dzxnOysrdylpZih5W3ddPTAscCE9PXcpe2Zvcih2YXIgaz1kW3ddLFQ9ay5sZW5ndGgsTT0wO008VDsrK00pe3ZhciBBPWIoZVtrW01dXSk7aWYoMCE9PUEpe0E8MCYmKHlbd109MSxfKz0xKTtjb250aW51ZSB0fX15W3ddPTEsXys9MX1tW3BdPVtfLHAseV19bS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMF0tdFswXX0pO2Zvcih2YXIgcD0wO3A8ZzsrK3ApZm9yKHZhciB5PW1bcF0sUz15WzFdLEU9eVsyXSx3PTA7dzxnOysrdylFW3ddJiYodlt3XT1TKTtmb3IodmFyIEw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPTA7cjx0OysrcillW3JdPVtdO3JldHVybiBlfShnKSxwPTA7cDxnOysrcClMW3BdLnB1c2godltwXSksTFt2W3BdXS5wdXNoKHApO2Zvcih2YXIgQz17fSxQPXUoaCwhMSkscD0wO3A8ZzsrK3ApZm9yKHZhciBrPWRbcF0sVD1rLmxlbmd0aCx3PTA7dzxUOysrdyl7dmFyIE89a1t3XSx6PWtbKHcrMSklVF0sST1NYXRoLm1pbihPLHopKyI6IitNYXRoLm1heChPLHopO2lmKEkgaW4gQyl7dmFyIEQ9Q1tJXTtMW0RdLnB1c2gocCksTFtwXS5wdXNoKEQpLFBbT109UFt6XT0hMH1lbHNlIENbSV09cH1mdW5jdGlvbiBSKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPTA7cjxlOysrcilpZighUFt0W3JdXSlyZXR1cm4hMTtyZXR1cm4hMH1mb3IodmFyIEY9W10sQj11KGcsLTEpLHA9MDtwPGc7KytwKXZbcF0hPT1wfHxSKGRbcF0pP0JbcF09LTE6KEYucHVzaChwKSxCW3BdPTApO3ZhciByPVtdO2Zvcig7Ri5sZW5ndGg+MDspe3ZhciBOPUYucG9wKCksaj1MW05dO2woaixmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KTt2YXIgVixVPWoubGVuZ3RoLHE9QltOXTtpZigwPT09cSl7dmFyIGs9ZFtOXTtWPVtrXX1mb3IodmFyIHA9MDtwPFU7KytwKXt2YXIgSD1qW3BdO2lmKCEoQltIXT49MCkmJihCW0hdPTFecSxGLnB1c2goSCksMD09PXEpKXt2YXIgaz1kW0hdO1Ioayl8fChrLnJldmVyc2UoKSxWLnB1c2goaykpfX0wPT09cSYmci5wdXNoKFYpfXJldHVybiByfTt2YXIgbj10KCJlZGdlcy10by1hZGphY2VuY3ktbGlzdCIpLGE9dCgicGxhbmFyLWR1YWwiKSxpPXQoInBvaW50LWluLWJpZy1wb2x5Z29uIiksbz10KCJ0d28tcHJvZHVjdCIpLHM9dCgicm9idXN0LXN1bSIpLGw9dCgidW5pcSIpLGM9dCgiLi9saWIvdHJpbS1sZWF2ZXMiKTtmdW5jdGlvbiB1KHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbilyW25dPWU7cmV0dXJuIHJ9fSx7Ii4vbGliL3RyaW0tbGVhdmVzIjo0NjksImVkZ2VzLXRvLWFkamFjZW5jeS1saXN0IjoxNzQsInBsYW5hci1kdWFsIjo0NjgsInBvaW50LWluLWJpZy1wb2x5Z29uIjo0NzQsInJvYnVzdC1zdW0iOjUxNCwidHdvLXByb2R1Y3QiOjU0Mix1bmlxOjU0Nn1dLDQ3MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9xdWFkIil9LHsiLi9xdWFkIjo0NzN9XSw0NzI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTEzfV0sNDczOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJjbGFtcCIpLGk9dCgicGFyc2UtcmVjdCIpLG89dCgiYXJyYXktYm91bmRzIikscz10KCJwaWNrLWJ5LWFsaWFzIiksbD10KCJkZWZpbmVkIiksYz10KCJmbGF0dGVuLXZlcnRleC1kYXRhIiksdT10KCJpcy1vYmoiKSxoPXQoImR0eXBlIiksZj10KCJtYXRoLWxvZzIiKSxwPTEwNzM3NDE4MjQ7ZnVuY3Rpb24gZCh0LGUpe2Zvcih2YXIgcj1lWzBdLG49ZVsxXSxpPTEvKGVbMl0tciksbz0xLyhlWzNdLW4pLHM9bmV3IEFycmF5KHQubGVuZ3RoKSxsPTAsYz10Lmxlbmd0aC8yO2w8YztsKyspc1syKmxdPWEoKHRbMipsXS1yKSppLDAsMSksc1syKmwrMV09YSgodFsyKmwrMV0tbikqbywwLDEpO3JldHVybiBzfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSx0PWModCwiZmxvYXQ2NCIpLGU9cyhlLHtib3VuZHM6InJhbmdlIGJvdW5kcyBkYXRhQm94IGRhdGFib3giLG1heERlcHRoOiJkZXB0aCBtYXhEZXB0aCBtYXhkZXB0aCBsZXZlbCBtYXhMZXZlbCBtYXhsZXZlbCBsZXZlbHMiLGR0eXBlOiJ0eXBlIGR0eXBlIGZvcm1hdCBvdXQgZHN0IG91dHB1dCBkZXN0aW5hdGlvbiJ9KTt2YXIgcj1sKGUubWF4RGVwdGgsMjU1KSxhPWwoZS5ib3VuZHMsbyh0LDIpKTthWzBdPT09YVsyXSYmYVsyXSsrLGFbMV09PT1hWzNdJiZhWzNdKys7dmFyIGcsdj1kKHQsYSksbT10Lmxlbmd0aD4+PjE7ZS5kdHlwZXx8KGUuZHR5cGU9ImFycmF5IiksInN0cmluZyI9PXR5cGVvZiBlLmR0eXBlP2c9bmV3KGgoZS5kdHlwZSkpKG0pOmUuZHR5cGUmJihnPWUuZHR5cGUsQXJyYXkuaXNBcnJheShnKSYmKGcubGVuZ3RoPW0pKTtmb3IodmFyIHk9MDt5PG07Kyt5KWdbeV09eTt2YXIgeD1bXSxiPVtdLF89W10sdz1bXTshZnVuY3Rpb24gdChlLG4sYSxpLG8scyl7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3ZhciBsPXhbb118fCh4W29dPVtdKTt2YXIgYz1fW29dfHwoX1tvXT1bXSk7dmFyIHU9YltvXXx8KGJbb109W10pO3ZhciBoPWwubGVuZ3RoO28rKztpZihvPnJ8fHM+cCl7Zm9yKHZhciBmPTA7ZjxpLmxlbmd0aDtmKyspbC5wdXNoKGlbZl0pLGMucHVzaChzKSx1LnB1c2gobnVsbCxudWxsLG51bGwsbnVsbCk7cmV0dXJuIGh9bC5wdXNoKGlbMF0pO2MucHVzaChzKTtpZihpLmxlbmd0aDw9MSlyZXR1cm4gdS5wdXNoKG51bGwsbnVsbCxudWxsLG51bGwpLGg7dmFyIGQ9LjUqYTt2YXIgZz1lK2QsbT1uK2Q7dmFyIHk9W10sdz1bXSxrPVtdLFQ9W107Zm9yKHZhciBNPTEsQT1pLmxlbmd0aDtNPEE7TSsrKXt2YXIgUz1pW01dLEU9dlsyKlNdLEw9dlsyKlMrMV07RTxnP0w8bT95LnB1c2goUyk6dy5wdXNoKFMpOkw8bT9rLnB1c2goUyk6VC5wdXNoKFMpfXM8PD0yO3UucHVzaCh0KGUsbixkLHksbyxzKSx0KGUsbSxkLHcsbyxzKzEpLHQoZyxuLGQsayxvLHMrMiksdChnLG0sZCxULG8scyszKSk7cmV0dXJuIGh9KDAsMCwxLGcsMCwxKTtmb3IodmFyIGs9MCxUPTA7VDx4Lmxlbmd0aDtUKyspe3ZhciBNPXhbVF07aWYoZy5zZXQpZy5zZXQoTSxrKTtlbHNlIGZvcih2YXIgQT0wLFM9TS5sZW5ndGg7QTxTO0ErKylnW0Era109TVtBXTt2YXIgRT1rK3hbVF0ubGVuZ3RoO3dbVF09W2ssRV0saz1FfXJldHVybiBnLnJhbmdlPWZ1bmN0aW9uKCl7dmFyIGUscj1bXSxvPWFyZ3VtZW50cy5sZW5ndGg7Zm9yKDtvLS07KXJbb109YXJndW1lbnRzW29dO2lmKHUocltyLmxlbmd0aC0xXSkpe3ZhciBjPXIucG9wKCk7ci5sZW5ndGh8fG51bGw9PWMueCYmbnVsbD09Yy5sJiZudWxsPT1jLmxlZnR8fChyPVtjXSxlPXt9KSxlPXMoYyx7bGV2ZWw6ImxldmVsIG1heExldmVsIixkOiJkIGRpYW0gZGlhbWV0ZXIgciByYWRpdXMgcHggcHhTaXplIHBpeGVsIHBpeGVsU2l6ZSBtYXhEIHNpemUgbWluU2l6ZSIsbG9kOiJsb2QgZGV0YWlscyByYW5nZXMgb2Zmc2V0cyJ9KX1lbHNlIGU9e307ci5sZW5ndGh8fChyPWEpO3ZhciBoPWkuYXBwbHkodm9pZCAwLHIpLHA9W01hdGgubWluKGgueCxoLngraC53aWR0aCksTWF0aC5taW4oaC55LGgueStoLmhlaWdodCksTWF0aC5tYXgoaC54LGgueCtoLndpZHRoKSxNYXRoLm1heChoLnksaC55K2guaGVpZ2h0KV0sZz1wWzBdLHY9cFsxXSxtPXBbMl0seT1wWzNdLGs9ZChbZyx2LG0seV0sYSksVD1rWzBdLE09a1sxXSxBPWtbMl0sUz1rWzNdLEU9bChlLmxldmVsLHgubGVuZ3RoKTtpZihudWxsIT1lLmQpe3ZhciBDOyJudW1iZXIiPT10eXBlb2YgZS5kP0M9W2UuZCxlLmRdOmUuZC5sZW5ndGgmJihDPWUuZCksRT1NYXRoLm1pbihNYXRoLm1heChNYXRoLmNlaWwoLWYoTWF0aC5hYnMoQ1swXSkvKGFbMl0tYVswXSkpKSxNYXRoLmNlaWwoLWYoTWF0aC5hYnMoQ1sxXSkvKGFbM10tYVsxXSkpKSksRSl9aWYoRT1NYXRoLm1pbihFLHgubGVuZ3RoKSxlLmxvZClyZXR1cm4gZnVuY3Rpb24odCxlLHIsYSxpKXtmb3IodmFyIG89W10scz0wO3M8aTtzKyspe3ZhciBsPV9bc10sYz13W3NdWzBdLHU9TCh0LGUscyksaD1MKHIsYSxzKSxmPW4uZ2UobCx1KSxwPW4uZ3QobCxoLGYsbC5sZW5ndGgtMSk7b1tzXT1bZitjLHArY119cmV0dXJuIG99KFQsTSxBLFMsRSk7dmFyIFA9W107cmV0dXJuIGZ1bmN0aW9uIGUocixuLGEsaSxvLHMpe2lmKG51bGwhPT1vJiZudWxsIT09cyl7dmFyIGw9cithLGM9bithO2lmKCEoVD5sfHxNPmN8fEE8cnx8UzxufHxpPj1FfHxvPT09cykpe3ZhciB1PXhbaV07dm9pZCAwPT09cyYmKHM9dS5sZW5ndGgpO2Zvcih2YXIgaD1vO2g8cztoKyspe3ZhciBmPXVbaF0scD10WzIqZl0sZD10WzIqZisxXTtwPj1nJiZwPD1tJiZkPj12JiZkPD15JiZQLnB1c2goZil9dmFyIF89YltpXSx3PV9bNCpvKzBdLGs9X1s0Km8rMV0sTD1fWzQqbysyXSxDPV9bNCpvKzNdLE89ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bnVsbCxuPTA7bnVsbD09PXI7KWlmKHI9dFs0KmUrbl0sKytuPnQubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiByfShfLG8rMSksej0uNSphLEk9aSsxO2UocixuLHosSSx3LGt8fEx8fEN8fE8pLGUocixuK3oseixJLGssTHx8Q3x8TyksZShyK3osbix6LEksTCxDfHxPKSxlKHIreixuK3oseixJLEMsTyl9fX0oMCwwLDEsMCwwLDEpLFB9LGc7ZnVuY3Rpb24gTCh0LGUscil7Zm9yKHZhciBuPTEsYT0uNSxpPS41LG89LjUscz0wO3M8cjtzKyspbjw8PTIsbis9dDxhP2U8aT8wOjE6ZTxpPzI6MyxvKj0uNSxhKz10PGE/LW86byxpKz1lPGk/LW86bztyZXR1cm4gbn19fSx7ImFycmF5LWJvdW5kcyI6NjgsImJpbmFyeS1zZWFyY2gtYm91bmRzIjo0NzIsY2xhbXA6MTE3LGRlZmluZWQ6MTY2LGR0eXBlOjE3MSwiZmxhdHRlbi12ZXJ0ZXgtZGF0YSI6MjMwLCJpcy1vYmoiOjQyMywibWF0aC1sb2cyIjo0MzQsInBhcnNlLXJlY3QiOjQ2MSwicGljay1ieS1hbGlhcyI6NDY3fV0sNDc0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPVtdLGk9W10scz0wO3M8ZTsrK3MpZm9yKHZhciB1PXRbc10saD11Lmxlbmd0aCxmPWgtMSxwPTA7cDxoO2Y9cCsrKXt2YXIgZD11W2ZdLGc9dVtwXTtkWzBdPT09Z1swXT9pLnB1c2goW2QsZ10pOnIucHVzaChbZCxnXSl9aWYoMD09PXIubGVuZ3RoKXJldHVybiAwPT09aS5sZW5ndGg/Yzoodj1sKGkpLGZ1bmN0aW9uKHQpe3JldHVybiB2KHRbMF0sdFsxXSk/MDoxfSk7dmFyIHY7dmFyIG09YShyKSx5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBhPW8ubGUoZSxyWzBdKTtpZihhPDApcmV0dXJuIDE7dmFyIGk9dFthXTtpZighaSl7aWYoIShhPjAmJmVbYV09PT1yWzBdKSlyZXR1cm4gMTtpPXRbYS0xXX1mb3IodmFyIHM9MTtpOyl7dmFyIGw9aS5rZXksYz1uKHIsbFswXSxsWzFdKTtpZihsWzBdWzBdPGxbMV1bMF0paWYoYzwwKWk9aS5sZWZ0O2Vsc2V7aWYoIShjPjApKXJldHVybiAwO3M9LTEsaT1pLnJpZ2h0fWVsc2UgaWYoYz4wKWk9aS5sZWZ0O2Vsc2V7aWYoIShjPDApKXJldHVybiAwO3M9MSxpPWkucmlnaHR9fXJldHVybiBzfX0obS5zbGFicyxtLmNvb3JkaW5hdGVzKTtyZXR1cm4gMD09PWkubGVuZ3RoP3k6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoclswXSxyWzFdKT8wOmUocil9fShsKGkpLHkpfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKVszXSxhPXQoInNsYWItZGVjb21wb3NpdGlvbiIpLGk9dCgiaW50ZXJ2YWwtdHJlZS0xZCIpLG89dCgiYmluYXJ5LXNlYXJjaC1ib3VuZHMiKTtmdW5jdGlvbiBzKCl7cmV0dXJuITB9ZnVuY3Rpb24gbCh0KXtmb3IodmFyIGU9e30scj0wO3I8dC5sZW5ndGg7KytyKXt2YXIgbj10W3JdLGE9blswXVswXSxvPW5bMF1bMV0sbD1uWzFdWzFdLGM9W01hdGgubWluKG8sbCksTWF0aC5tYXgobyxsKV07YSBpbiBlP2VbYV0ucHVzaChjKTplW2FdPVtjXX12YXIgdT17fSxoPU9iamVjdC5rZXlzKGUpO2ZvcihyPTA7cjxoLmxlbmd0aDsrK3Ipe3ZhciBmPWVbaFtyXV07dVtoW3JdXT1pKGYpfXJldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXt2YXIgbj10W2VdO3JldHVybiEhbiYmISFuLnF1ZXJ5UG9pbnQocixzKX19KHUpfWZ1bmN0aW9uIGModCl7cmV0dXJuIDF9fSx7ImJpbmFyeS1zZWFyY2gtYm91bmRzIjo5MywiaW50ZXJ2YWwtdHJlZS0xZCI6NDE2LCJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOSwic2xhYi1kZWNvbXBvc2l0aW9uIjo1MjV9XSw0NzU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbixhPXQoIi4vbGliL2J1aWxkLWxvZyIpLGk9dCgiLi9saWIvZXBzaWxvbiIpLG89dCgiLi9saWIvaW50ZXJzZWN0ZXIiKSxzPXQoIi4vbGliL3NlZ21lbnQtY2hhaW5lciIpLGw9dCgiLi9saWIvc2VnbWVudC1zZWxlY3RvciIpLGM9dCgiLi9saWIvZ2VvanNvbiIpLHU9ITEsaD1pKCk7ZnVuY3Rpb24gZih0LGUscil7dmFyIGE9bi5zZWdtZW50cyh0KSxpPW4uc2VnbWVudHMoZSksbz1yKG4uY29tYmluZShhLGkpKTtyZXR1cm4gbi5wb2x5Z29uKG8pfW49e2J1aWxkTG9nOmZ1bmN0aW9uKHQpe3JldHVybiEwPT09dD91PWEoKTohMT09PXQmJih1PSExKSwhMSE9PXUmJnUubGlzdH0sZXBzaWxvbjpmdW5jdGlvbih0KXtyZXR1cm4gaC5lcHNpbG9uKHQpfSxzZWdtZW50czpmdW5jdGlvbih0KXt2YXIgZT1vKCEwLGgsdSk7cmV0dXJuIHQucmVnaW9ucy5mb3JFYWNoKGUuYWRkUmVnaW9uKSx7c2VnbWVudHM6ZS5jYWxjdWxhdGUodC5pbnZlcnRlZCksaW52ZXJ0ZWQ6dC5pbnZlcnRlZH19LGNvbWJpbmU6ZnVuY3Rpb24odCxlKXtyZXR1cm57Y29tYmluZWQ6byghMSxoLHUpLmNhbGN1bGF0ZSh0LnNlZ21lbnRzLHQuaW52ZXJ0ZWQsZS5zZWdtZW50cyxlLmludmVydGVkKSxpbnZlcnRlZDE6dC5pbnZlcnRlZCxpbnZlcnRlZDI6ZS5pbnZlcnRlZH19LHNlbGVjdFVuaW9uOmZ1bmN0aW9uKHQpe3JldHVybntzZWdtZW50czpsLnVuaW9uKHQuY29tYmluZWQsdSksaW52ZXJ0ZWQ6dC5pbnZlcnRlZDF8fHQuaW52ZXJ0ZWQyfX0sc2VsZWN0SW50ZXJzZWN0OmZ1bmN0aW9uKHQpe3JldHVybntzZWdtZW50czpsLmludGVyc2VjdCh0LmNvbWJpbmVkLHUpLGludmVydGVkOnQuaW52ZXJ0ZWQxJiZ0LmludmVydGVkMn19LHNlbGVjdERpZmZlcmVuY2U6ZnVuY3Rpb24odCl7cmV0dXJue3NlZ21lbnRzOmwuZGlmZmVyZW5jZSh0LmNvbWJpbmVkLHUpLGludmVydGVkOnQuaW52ZXJ0ZWQxJiYhdC5pbnZlcnRlZDJ9fSxzZWxlY3REaWZmZXJlbmNlUmV2OmZ1bmN0aW9uKHQpe3JldHVybntzZWdtZW50czpsLmRpZmZlcmVuY2VSZXYodC5jb21iaW5lZCx1KSxpbnZlcnRlZDohdC5pbnZlcnRlZDEmJnQuaW52ZXJ0ZWQyfX0sc2VsZWN0WG9yOmZ1bmN0aW9uKHQpe3JldHVybntzZWdtZW50czpsLnhvcih0LmNvbWJpbmVkLHUpLGludmVydGVkOnQuaW52ZXJ0ZWQxIT09dC5pbnZlcnRlZDJ9fSxwb2x5Z29uOmZ1bmN0aW9uKHQpe3JldHVybntyZWdpb25zOnModC5zZWdtZW50cyxoLHUpLGludmVydGVkOnQuaW52ZXJ0ZWR9fSxwb2x5Z29uRnJvbUdlb0pTT046ZnVuY3Rpb24odCl7cmV0dXJuIGMudG9Qb2x5Z29uKG4sdCl9LHBvbHlnb25Ub0dlb0pTT046ZnVuY3Rpb24odCl7cmV0dXJuIGMuZnJvbVBvbHlnb24obixoLHQpfSx1bmlvbjpmdW5jdGlvbih0LGUpe3JldHVybiBmKHQsZSxuLnNlbGVjdFVuaW9uKX0saW50ZXJzZWN0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGYodCxlLG4uc2VsZWN0SW50ZXJzZWN0KX0sZGlmZmVyZW5jZTpmdW5jdGlvbih0LGUpe3JldHVybiBmKHQsZSxuLnNlbGVjdERpZmZlcmVuY2UpfSxkaWZmZXJlbmNlUmV2OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGYodCxlLG4uc2VsZWN0RGlmZmVyZW5jZVJldil9LHhvcjpmdW5jdGlvbih0LGUpe3JldHVybiBmKHQsZSxuLnNlbGVjdFhvcil9fSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5Qb2x5Qm9vbD1uKSxlLmV4cG9ydHM9bn0seyIuL2xpYi9idWlsZC1sb2ciOjQ3NiwiLi9saWIvZXBzaWxvbiI6NDc3LCIuL2xpYi9nZW9qc29uIjo0NzgsIi4vbGliL2ludGVyc2VjdGVyIjo0NzksIi4vbGliL3NlZ21lbnQtY2hhaW5lciI6NDgxLCIuL2xpYi9zZWdtZW50LXNlbGVjdG9yIjo0ODJ9XSw0NzY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdCxlPTAscj0hMTtmdW5jdGlvbiBuKGUscil7cmV0dXJuIHQubGlzdC5wdXNoKHt0eXBlOmUsZGF0YTpyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocikpOnZvaWQgMH0pLHR9cmV0dXJuIHQ9e2xpc3Q6W10sc2VnbWVudElkOmZ1bmN0aW9uKCl7cmV0dXJuIGUrK30sY2hlY2tJbnRlcnNlY3Rpb246ZnVuY3Rpb24odCxlKXtyZXR1cm4gbigiY2hlY2siLHtzZWcxOnQsc2VnMjplfSl9LHNlZ21lbnRDaG9wOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oImRpdl9zZWciLHtzZWc6dCxwdDplfSksbigiY2hvcCIse3NlZzp0LHB0OmV9KX0sc3RhdHVzUmVtb3ZlOmZ1bmN0aW9uKHQpe3JldHVybiBuKCJwb3Bfc2VnIix7c2VnOnR9KX0sc2VnbWVudFVwZGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gbigic2VnX3VwZGF0ZSIse3NlZzp0fSl9LHNlZ21lbnROZXc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbigibmV3X3NlZyIse3NlZzp0LHByaW1hcnk6ZX0pfSxzZWdtZW50UmVtb3ZlOmZ1bmN0aW9uKHQpe3JldHVybiBuKCJyZW1fc2VnIix7c2VnOnR9KX0sdGVtcFN0YXR1czpmdW5jdGlvbih0LGUscil7cmV0dXJuIG4oInRlbXBfc3RhdHVzIix7c2VnOnQsYWJvdmU6ZSxiZWxvdzpyfSl9LHJld2luZDpmdW5jdGlvbih0KXtyZXR1cm4gbigicmV3aW5kIix7c2VnOnR9KX0sc3RhdHVzOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbigic3RhdHVzIix7c2VnOnQsYWJvdmU6ZSxiZWxvdzpyfSl9LHZlcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1yP3Q6KHI9ZSxuKCJ2ZXJ0Iix7eDplfSkpfSxsb2c6ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0JiYodD1KU09OLnN0cmluZ2lmeSh0LCExLCIgICIpKSxuKCJsb2ciLHt0eHQ6dH0pfSxyZXNldDpmdW5jdGlvbigpe3JldHVybiBuKCJyZXNldCIpfSxzZWxlY3RlZDpmdW5jdGlvbih0KXtyZXR1cm4gbigic2VsZWN0ZWQiLHtzZWdzOnR9KX0sY2hhaW5TdGFydDpmdW5jdGlvbih0KXtyZXR1cm4gbigiY2hhaW5fc3RhcnQiLHtzZWc6dH0pfSxjaGFpblJlbW92ZUhlYWQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbigiY2hhaW5fcmVtX2hlYWQiLHtpbmRleDp0LHB0OmV9KX0sY2hhaW5SZW1vdmVUYWlsOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oImNoYWluX3JlbV90YWlsIix7aW5kZXg6dCxwdDplfSl9LGNoYWluTmV3OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oImNoYWluX25ldyIse3B0MTp0LHB0MjplfSl9LGNoYWluTWF0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIG4oImNoYWluX21hdGNoIix7aW5kZXg6dH0pfSxjaGFpbkNsb3NlOmZ1bmN0aW9uKHQpe3JldHVybiBuKCJjaGFpbl9jbG9zZSIse2luZGV4OnR9KX0sY2hhaW5BZGRIZWFkOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oImNoYWluX2FkZF9oZWFkIix7aW5kZXg6dCxwdDplfSl9LGNoYWluQWRkVGFpbDpmdW5jdGlvbih0LGUpe3JldHVybiBuKCJjaGFpbl9hZGRfdGFpbCIse2luZGV4OnQscHQ6ZX0pfSxjaGFpbkNvbm5lY3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbigiY2hhaW5fY29uIix7aW5kZXgxOnQsaW5kZXgyOmV9KX0sY2hhaW5SZXZlcnNlOmZ1bmN0aW9uKHQpe3JldHVybiBuKCJjaGFpbl9yZXYiLHtpbmRleDp0fSl9LGNoYWluSm9pbjpmdW5jdGlvbih0LGUpe3JldHVybiBuKCJjaGFpbl9qb2luIix7aW5kZXgxOnQsaW5kZXgyOmV9KX0sZG9uZTpmdW5jdGlvbigpe3JldHVybiBuKCJkb25lIil9fX19LHt9XSw0Nzc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Im51bWJlciIhPXR5cGVvZiB0JiYodD0xZS0xMCk7dmFyIGU9e2Vwc2lsb246ZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiYodD1lKSx0fSxwb2ludEFib3ZlT3JPbkxpbmU6ZnVuY3Rpb24oZSxyLG4pe3ZhciBhPXJbMF0saT1yWzFdLG89blswXSxzPW5bMV0sbD1lWzBdO3JldHVybihvLWEpKihlWzFdLWkpLShzLWkpKihsLWEpPj0tdH0scG9pbnRCZXR3ZWVuOmZ1bmN0aW9uKGUscixuKXt2YXIgYT1lWzFdLXJbMV0saT1uWzBdLXJbMF0sbz1lWzBdLXJbMF0scz1uWzFdLXJbMV0sbD1vKmkrYSpzO3JldHVybiEobDx0fHxsLShpKmkrcypzKT4tdCl9LHBvaW50c1NhbWVYOmZ1bmN0aW9uKGUscil7cmV0dXJuIE1hdGguYWJzKGVbMF0tclswXSk8dH0scG9pbnRzU2FtZVk6ZnVuY3Rpb24oZSxyKXtyZXR1cm4gTWF0aC5hYnMoZVsxXS1yWzFdKTx0fSxwb2ludHNTYW1lOmZ1bmN0aW9uKHQscil7cmV0dXJuIGUucG9pbnRzU2FtZVgodCxyKSYmZS5wb2ludHNTYW1lWSh0LHIpfSxwb2ludHNDb21wYXJlOmZ1bmN0aW9uKHQscil7cmV0dXJuIGUucG9pbnRzU2FtZVgodCxyKT9lLnBvaW50c1NhbWVZKHQscik/MDp0WzFdPHJbMV0/LTE6MTp0WzBdPHJbMF0/LTE6MX0scG9pbnRzQ29sbGluZWFyOmZ1bmN0aW9uKGUscixuKXt2YXIgYT1lWzBdLXJbMF0saT1lWzFdLXJbMV0sbz1yWzBdLW5bMF0scz1yWzFdLW5bMV07cmV0dXJuIE1hdGguYWJzKGEqcy1vKmkpPHR9LGxpbmVzSW50ZXJzZWN0OmZ1bmN0aW9uKGUscixuLGEpe3ZhciBpPXJbMF0tZVswXSxvPXJbMV0tZVsxXSxzPWFbMF0tblswXSxsPWFbMV0tblsxXSxjPWkqbC1vKnM7aWYoTWF0aC5hYnMoYyk8dClyZXR1cm4hMTt2YXIgdT1lWzBdLW5bMF0saD1lWzFdLW5bMV0sZj0ocypoLWwqdSkvYyxwPShpKmgtbyp1KS9jLGQ9e2Fsb25nQTowLGFsb25nQjowLHB0OltlWzBdK2YqaSxlWzFdK2Yqb119O3JldHVybiBkLmFsb25nQT1mPD0tdD8tMjpmPHQ/LTE6Zi0xPD0tdD8wOmYtMTx0PzE6MixkLmFsb25nQj1wPD0tdD8tMjpwPHQ/LTE6cC0xPD0tdD8wOnAtMTx0PzE6MixkfSxwb2ludEluc2lkZVJlZ2lvbjpmdW5jdGlvbihlLHIpe2Zvcih2YXIgbj1lWzBdLGE9ZVsxXSxpPXJbci5sZW5ndGgtMV1bMF0sbz1yW3IubGVuZ3RoLTFdWzFdLHM9ITEsbD0wO2w8ci5sZW5ndGg7bCsrKXt2YXIgYz1yW2xdWzBdLHU9cltsXVsxXTt1LWE+dCE9by1hPnQmJihpLWMpKihhLXUpLyhvLXUpK2Mtbj50JiYocz0hcyksaT1jLG89dX1yZXR1cm4gc319O3JldHVybiBlfX0se31dLDQ3ODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXt0b1BvbHlnb246ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKGUpe2lmKGUubGVuZ3RoPD0wKXJldHVybiB0LnNlZ21lbnRzKHtpbnZlcnRlZDohMSxyZWdpb25zOltdfSk7ZnVuY3Rpb24gcihlKXt2YXIgcj1lLnNsaWNlKDAsZS5sZW5ndGgtMSk7cmV0dXJuIHQuc2VnbWVudHMoe2ludmVydGVkOiExLHJlZ2lvbnM6W3JdfSl9Zm9yKHZhciBuPXIoZVswXSksYT0xO2E8ZS5sZW5ndGg7YSsrKW49dC5zZWxlY3REaWZmZXJlbmNlKHQuY29tYmluZShuLHIoZVthXSkpKTtyZXR1cm4gbn1pZigiUG9seWdvbiI9PT1lLnR5cGUpcmV0dXJuIHQucG9seWdvbihyKGUuY29vcmRpbmF0ZXMpKTtpZigiTXVsdGlQb2x5Z29uIj09PWUudHlwZSl7Zm9yKHZhciBuPXQuc2VnbWVudHMoe2ludmVydGVkOiExLHJlZ2lvbnM6W119KSxhPTA7YTxlLmNvb3JkaW5hdGVzLmxlbmd0aDthKyspbj10LnNlbGVjdFVuaW9uKHQuY29tYmluZShuLHIoZS5jb29yZGluYXRlc1thXSkpKTtyZXR1cm4gdC5wb2x5Z29uKG4pfXRocm93IG5ldyBFcnJvcigiUG9seUJvb2w6IENhbm5vdCBjb252ZXJ0IEdlb0pTT04gb2JqZWN0IHRvIFBvbHlCb29sIHBvbHlnb24iKX0sZnJvbVBvbHlnb246ZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIG4odCxyKXtyZXR1cm4gZS5wb2ludEluc2lkZVJlZ2lvbihbLjUqKHRbMF1bMF0rdFsxXVswXSksLjUqKHRbMF1bMV0rdFsxXVsxXSldLHIpfWZ1bmN0aW9uIGEodCl7cmV0dXJue3JlZ2lvbjp0LGNoaWxkcmVuOltdfX1yPXQucG9seWdvbih0LnNlZ21lbnRzKHIpKTt2YXIgaT1hKG51bGwpO2Z1bmN0aW9uIG8odCxlKXtmb3IodmFyIHI9MDtyPHQuY2hpbGRyZW4ubGVuZ3RoO3IrKyl7aWYobihlLChzPXQuY2hpbGRyZW5bcl0pLnJlZ2lvbikpcmV0dXJuIHZvaWQgbyhzLGUpfXZhciBpPWEoZSk7Zm9yKHI9MDtyPHQuY2hpbGRyZW4ubGVuZ3RoO3IrKyl7dmFyIHM7bigocz10LmNoaWxkcmVuW3JdKS5yZWdpb24sZSkmJihpLmNoaWxkcmVuLnB1c2gocyksdC5jaGlsZHJlbi5zcGxpY2UociwxKSxyLS0pfXQuY2hpbGRyZW4ucHVzaChpKX1mb3IodmFyIHM9MDtzPHIucmVnaW9ucy5sZW5ndGg7cysrKXt2YXIgbD1yLnJlZ2lvbnNbc107bC5sZW5ndGg8M3x8byhpLGwpfWZ1bmN0aW9uIGModCxlKXtmb3IodmFyIHI9MCxuPXRbdC5sZW5ndGgtMV1bMF0sYT10W3QubGVuZ3RoLTFdWzFdLGk9W10sbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10W29dWzBdLGw9dFtvXVsxXTtpLnB1c2goW3MsbF0pLHIrPWwqbi1zKmEsbj1zLGE9bH1yZXR1cm4gcjwwIT09ZSYmaS5yZXZlcnNlKCksaS5wdXNoKFtpWzBdWzBdLGlbMF1bMV1dKSxpfXZhciB1PVtdO2Z1bmN0aW9uIGgodCl7dmFyIGU9W2ModC5yZWdpb24sITEpXTt1LnB1c2goZSk7Zm9yKHZhciByPTA7cjx0LmNoaWxkcmVuLmxlbmd0aDtyKyspZS5wdXNoKGYodC5jaGlsZHJlbltyXSkpfWZ1bmN0aW9uIGYodCl7Zm9yKHZhciBlPTA7ZTx0LmNoaWxkcmVuLmxlbmd0aDtlKyspaCh0LmNoaWxkcmVuW2VdKTtyZXR1cm4gYyh0LnJlZ2lvbiwhMCl9Zm9yKHM9MDtzPGkuY2hpbGRyZW4ubGVuZ3RoO3MrKyloKGkuY2hpbGRyZW5bc10pO3JldHVybiB1Lmxlbmd0aDw9MD97dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6W119OjE9PXUubGVuZ3RoP3t0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczp1WzBdfTp7dHlwZToiTXVsdGlQb2x5Z29uIixjb29yZGluYXRlczp1fX19O2UuZXhwb3J0cz1ufSx7fV0sNDc5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9saW5rZWQtbGlzdCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7ZnVuY3Rpb24gYSh0LGUsbil7cmV0dXJue2lkOnI/ci5zZWdtZW50SWQoKTotMSxzdGFydDp0LGVuZDplLG15RmlsbDp7YWJvdmU6bi5teUZpbGwuYWJvdmUsYmVsb3c6bi5teUZpbGwuYmVsb3d9LG90aGVyRmlsbDpudWxsfX12YXIgaT1uLmNyZWF0ZSgpO2Z1bmN0aW9uIG8odCxyKXtpLmluc2VydEJlZm9yZSh0LGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0LHIsbixhLGksbyl7dmFyIHM9ZS5wb2ludHNDb21wYXJlKHIsaSk7cmV0dXJuIDAhPT1zP3M6ZS5wb2ludHNTYW1lKG4sbyk/MDp0IT09YT90PzE6LTE6ZS5wb2ludEFib3ZlT3JPbkxpbmUobixhP2k6byxhP286aSk/MTotMX0odC5pc1N0YXJ0LHQucHQscixuLmlzU3RhcnQsbi5wdCxuLm90aGVyLnB0KTwwfSl9ZnVuY3Rpb24gcyh0LGUpe3ZhciByPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bi5ub2RlKHtpc1N0YXJ0OiEwLHB0OnQuc3RhcnQsc2VnOnQscHJpbWFyeTplLG90aGVyOm51bGwsc3RhdHVzOm51bGx9KTtyZXR1cm4gbyhyLHQuZW5kKSxyfSh0LGUpO3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIGE9bi5ub2RlKHtpc1N0YXJ0OiExLHB0OmUuZW5kLHNlZzplLHByaW1hcnk6cixvdGhlcjp0LHN0YXR1czpudWxsfSk7dC5vdGhlcj1hLG8oYSx0LnB0KX0ocix0LGUpLHJ9ZnVuY3Rpb24gbCh0LGUpe3ZhciBuPWEoZSx0LnNlZy5lbmQsdC5zZWcpO3JldHVybiBmdW5jdGlvbih0LGUpe3ImJnIuc2VnbWVudENob3AodC5zZWcsZSksdC5vdGhlci5yZW1vdmUoKSx0LnNlZy5lbmQ9ZSx0Lm90aGVyLnB0PWUsbyh0Lm90aGVyLHQucHQpfSh0LGUpLHMobix0LnByaW1hcnkpfWZ1bmN0aW9uIGMoYSxvKXt2YXIgcz1uLmNyZWF0ZSgpO2Z1bmN0aW9uIGModCl7cmV0dXJuIHMuZmluZFRyYW5zaXRpb24oZnVuY3Rpb24ocil7dmFyIG4sYSxpLG8scyxsO3JldHVybiBuPXQsYT1yLmV2LGk9bi5zZWcuc3RhcnQsbz1uLnNlZy5lbmQscz1hLnNlZy5zdGFydCxsPWEuc2VnLmVuZCwoZS5wb2ludHNDb2xsaW5lYXIoaSxzLGwpP2UucG9pbnRzQ29sbGluZWFyKG8scyxsKT8xOmUucG9pbnRBYm92ZU9yT25MaW5lKG8scyxsKT8xOi0xOmUucG9pbnRBYm92ZU9yT25MaW5lKGkscyxsKT8xOi0xKT4wfSl9ZnVuY3Rpb24gdSh0LG4pe3ZhciBhPXQuc2VnLGk9bi5zZWcsbz1hLnN0YXJ0LHM9YS5lbmQsYz1pLnN0YXJ0LHU9aS5lbmQ7ciYmci5jaGVja0ludGVyc2VjdGlvbihhLGkpO3ZhciBoPWUubGluZXNJbnRlcnNlY3QobyxzLGMsdSk7aWYoITE9PT1oKXtpZighZS5wb2ludHNDb2xsaW5lYXIobyxzLGMpKXJldHVybiExO2lmKGUucG9pbnRzU2FtZShvLHUpfHxlLnBvaW50c1NhbWUocyxjKSlyZXR1cm4hMTt2YXIgZj1lLnBvaW50c1NhbWUobyxjKSxwPWUucG9pbnRzU2FtZShzLHUpO2lmKGYmJnApcmV0dXJuIG47dmFyIGQ9IWYmJmUucG9pbnRCZXR3ZWVuKG8sYyx1KSxnPSFwJiZlLnBvaW50QmV0d2VlbihzLGMsdSk7aWYoZilyZXR1cm4gZz9sKG4scyk6bCh0LHUpLG47ZCYmKHB8fChnP2wobixzKTpsKHQsdSkpLGwobixvKSl9ZWxzZSAwPT09aC5hbG9uZ0EmJigtMT09PWguYWxvbmdCP2wodCxjKTowPT09aC5hbG9uZ0I/bCh0LGgucHQpOjE9PT1oLmFsb25nQiYmbCh0LHUpKSwwPT09aC5hbG9uZ0ImJigtMT09PWguYWxvbmdBP2wobixvKTowPT09aC5hbG9uZ0E/bChuLGgucHQpOjE9PT1oLmFsb25nQSYmbChuLHMpKTtyZXR1cm4hMX1mb3IodmFyIGg9W107IWkuaXNFbXB0eSgpOyl7dmFyIGY9aS5nZXRIZWFkKCk7aWYociYmci52ZXJ0KGYucHRbMF0pLGYuaXNTdGFydCl7ciYmci5zZWdtZW50TmV3KGYuc2VnLGYucHJpbWFyeSk7dmFyIHA9YyhmKSxkPXAuYmVmb3JlP3AuYmVmb3JlLmV2Om51bGwsZz1wLmFmdGVyP3AuYWZ0ZXIuZXY6bnVsbDtmdW5jdGlvbiB2KCl7aWYoZCl7dmFyIHQ9dShmLGQpO2lmKHQpcmV0dXJuIHR9cmV0dXJuISFnJiZ1KGYsZyl9ciYmci50ZW1wU3RhdHVzKGYuc2VnLCEhZCYmZC5zZWcsISFnJiZnLnNlZyk7dmFyIG0seSx4PXYoKTtpZih4KXQ/KHk9bnVsbD09PWYuc2VnLm15RmlsbC5iZWxvd3x8Zi5zZWcubXlGaWxsLmFib3ZlIT09Zi5zZWcubXlGaWxsLmJlbG93KSYmKHguc2VnLm15RmlsbC5hYm92ZT0heC5zZWcubXlGaWxsLmFib3ZlKTp4LnNlZy5vdGhlckZpbGw9Zi5zZWcubXlGaWxsLHImJnIuc2VnbWVudFVwZGF0ZSh4LnNlZyksZi5vdGhlci5yZW1vdmUoKSxmLnJlbW92ZSgpO2lmKGkuZ2V0SGVhZCgpIT09Zil7ciYmci5yZXdpbmQoZi5zZWcpO2NvbnRpbnVlfXQ/KHk9bnVsbD09PWYuc2VnLm15RmlsbC5iZWxvd3x8Zi5zZWcubXlGaWxsLmFib3ZlIT09Zi5zZWcubXlGaWxsLmJlbG93LGYuc2VnLm15RmlsbC5iZWxvdz1nP2cuc2VnLm15RmlsbC5hYm92ZTphLGYuc2VnLm15RmlsbC5hYm92ZT15PyFmLnNlZy5teUZpbGwuYmVsb3c6Zi5zZWcubXlGaWxsLmJlbG93KTpudWxsPT09Zi5zZWcub3RoZXJGaWxsJiYobT1nP2YucHJpbWFyeT09PWcucHJpbWFyeT9nLnNlZy5vdGhlckZpbGwuYWJvdmU6Zy5zZWcubXlGaWxsLmFib3ZlOmYucHJpbWFyeT9vOmEsZi5zZWcub3RoZXJGaWxsPXthYm92ZTptLGJlbG93Om19KSxyJiZyLnN0YXR1cyhmLnNlZywhIWQmJmQuc2VnLCEhZyYmZy5zZWcpLGYub3RoZXIuc3RhdHVzPXAuaW5zZXJ0KG4ubm9kZSh7ZXY6Zn0pKX1lbHNle3ZhciBiPWYuc3RhdHVzO2lmKG51bGw9PT1iKXRocm93IG5ldyBFcnJvcigiUG9seUJvb2w6IFplcm8tbGVuZ3RoIHNlZ21lbnQgZGV0ZWN0ZWQ7IHlvdXIgZXBzaWxvbiBpcyBwcm9iYWJseSB0b28gc21hbGwgb3IgdG9vIGxhcmdlIik7aWYocy5leGlzdHMoYi5wcmV2KSYmcy5leGlzdHMoYi5uZXh0KSYmdShiLnByZXYuZXYsYi5uZXh0LmV2KSxyJiZyLnN0YXR1c1JlbW92ZShiLmV2LnNlZyksYi5yZW1vdmUoKSwhZi5wcmltYXJ5KXt2YXIgXz1mLnNlZy5teUZpbGw7Zi5zZWcubXlGaWxsPWYuc2VnLm90aGVyRmlsbCxmLnNlZy5vdGhlckZpbGw9X31oLnB1c2goZi5zZWcpfWkuZ2V0SGVhZCgpLnJlbW92ZSgpfXJldHVybiByJiZyLmRvbmUoKSxofXJldHVybiB0P3thZGRSZWdpb246ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGEsaSxvPXRbdC5sZW5ndGgtMV0sbD0wO2w8dC5sZW5ndGg7bCsrKXtuPW8sbz10W2xdO3ZhciBjPWUucG9pbnRzQ29tcGFyZShuLG8pOzAhPT1jJiZzKChhPWM8MD9uOm8saT1jPDA/bzpuLHtpZDpyP3Iuc2VnbWVudElkKCk6LTEsc3RhcnQ6YSxlbmQ6aSxteUZpbGw6e2Fib3ZlOm51bGwsYmVsb3c6bnVsbH0sb3RoZXJGaWxsOm51bGx9KSwhMCl9fSxjYWxjdWxhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGModCwhMSl9fTp7Y2FsY3VsYXRlOmZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24odCl7cyhhKHQuc3RhcnQsdC5lbmQsdCksITApfSksci5mb3JFYWNoKGZ1bmN0aW9uKHQpe3MoYSh0LnN0YXJ0LHQuZW5kLHQpLCExKX0pLGMoZSxuKX19fX0seyIuL2xpbmtlZC1saXN0Ijo0ODB9XSw0ODA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e2NyZWF0ZTpmdW5jdGlvbigpe3ZhciB0PXtyb290Ontyb290OiEwLG5leHQ6bnVsbH0sZXhpc3RzOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT09ZSYmZSE9PXQucm9vdH0saXNFbXB0eTpmdW5jdGlvbigpe3JldHVybiBudWxsPT09dC5yb290Lm5leHR9LGdldEhlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5yb290Lm5leHR9LGluc2VydEJlZm9yZTpmdW5jdGlvbihlLHIpe2Zvcih2YXIgbj10LnJvb3QsYT10LnJvb3QubmV4dDtudWxsIT09YTspe2lmKHIoYSkpcmV0dXJuIGUucHJldj1hLnByZXYsZS5uZXh0PWEsYS5wcmV2Lm5leHQ9ZSx2b2lkKGEucHJldj1lKTtuPWEsYT1hLm5leHR9bi5uZXh0PWUsZS5wcmV2PW4sZS5uZXh0PW51bGx9LGZpbmRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe2Zvcih2YXIgcj10LnJvb3Qsbj10LnJvb3QubmV4dDtudWxsIT09biYmIWUobik7KXI9bixuPW4ubmV4dDtyZXR1cm57YmVmb3JlOnI9PT10LnJvb3Q/bnVsbDpyLGFmdGVyOm4saW5zZXJ0OmZ1bmN0aW9uKHQpe3JldHVybiB0LnByZXY9cix0Lm5leHQ9bixyLm5leHQ9dCxudWxsIT09biYmKG4ucHJldj10KSx0fX19fTtyZXR1cm4gdH0sbm9kZTpmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmV2PW51bGwsdC5uZXh0PW51bGwsdC5yZW1vdmU9ZnVuY3Rpb24oKXt0LnByZXYubmV4dD10Lm5leHQsdC5uZXh0JiYodC5uZXh0LnByZXY9dC5wcmV2KSx0LnByZXY9bnVsbCx0Lm5leHQ9bnVsbH0sdH19fSx7fV0sNDgxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1bXSxhPVtdO3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGk9dC5zdGFydCxvPXQuZW5kO2lmKGUucG9pbnRzU2FtZShpLG8pKWNvbnNvbGUud2FybigiUG9seUJvb2w6IFdhcm5pbmc6IFplcm8tbGVuZ3RoIHNlZ21lbnQgZGV0ZWN0ZWQ7IHlvdXIgZXBzaWxvbiBpcyBwcm9iYWJseSB0b28gc21hbGwgb3IgdG9vIGxhcmdlIik7ZWxzZXtyJiZyLmNoYWluU3RhcnQodCk7Zm9yKHZhciBzPXtpbmRleDowLG1hdGNoZXNfaGVhZDohMSxtYXRjaGVzX3B0MTohMX0sbD17aW5kZXg6MCxtYXRjaGVzX2hlYWQ6ITEsbWF0Y2hlc19wdDE6ITF9LGM9cyx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBoPSh2PW5bdV0pWzBdLGY9KHZbMV0sdlt2Lmxlbmd0aC0xXSk7aWYodlt2Lmxlbmd0aC0yXSxlLnBvaW50c1NhbWUoaCxpKSl7aWYoVCh1LCEwLCEwKSlicmVha31lbHNlIGlmKGUucG9pbnRzU2FtZShoLG8pKXtpZihUKHUsITAsITEpKWJyZWFrfWVsc2UgaWYoZS5wb2ludHNTYW1lKGYsaSkpe2lmKFQodSwhMSwhMCkpYnJlYWt9ZWxzZSBpZihlLnBvaW50c1NhbWUoZixvKSYmVCh1LCExLCExKSlicmVha31pZihjPT09cylyZXR1cm4gbi5wdXNoKFtpLG9dKSx2b2lkKHImJnIuY2hhaW5OZXcoaSxvKSk7aWYoYz09PWwpe3ImJnIuY2hhaW5NYXRjaChzLmluZGV4KTt2YXIgcD1zLmluZGV4LGQ9cy5tYXRjaGVzX3B0MT9vOmksZz1zLm1hdGNoZXNfaGVhZCx2PW5bcF0sbT1nP3ZbMF06dlt2Lmxlbmd0aC0xXSx5PWc/dlsxXTp2W3YubGVuZ3RoLTJdLHg9Zz92W3YubGVuZ3RoLTFdOnZbMF0sYj1nP3Zbdi5sZW5ndGgtMl06dlsxXTtyZXR1cm4gZS5wb2ludHNDb2xsaW5lYXIoeSxtLGQpJiYoZz8ociYmci5jaGFpblJlbW92ZUhlYWQocy5pbmRleCxkKSx2LnNoaWZ0KCkpOihyJiZyLmNoYWluUmVtb3ZlVGFpbChzLmluZGV4LGQpLHYucG9wKCkpLG09eSksZS5wb2ludHNTYW1lKHgsZCk/KG4uc3BsaWNlKHAsMSksZS5wb2ludHNDb2xsaW5lYXIoYix4LG0pJiYoZz8ociYmci5jaGFpblJlbW92ZVRhaWwocy5pbmRleCxtKSx2LnBvcCgpKToociYmci5jaGFpblJlbW92ZUhlYWQocy5pbmRleCxtKSx2LnNoaWZ0KCkpKSxyJiZyLmNoYWluQ2xvc2Uocy5pbmRleCksdm9pZCBhLnB1c2godikpOnZvaWQoZz8ociYmci5jaGFpbkFkZEhlYWQocy5pbmRleCxkKSx2LnVuc2hpZnQoZCkpOihyJiZyLmNoYWluQWRkVGFpbChzLmluZGV4LGQpLHYucHVzaChkKSkpfXZhciBfPXMuaW5kZXgsdz1sLmluZGV4O3ImJnIuY2hhaW5Db25uZWN0KF8sdyk7dmFyIGs9bltfXS5sZW5ndGg8blt3XS5sZW5ndGg7cy5tYXRjaGVzX2hlYWQ/bC5tYXRjaGVzX2hlYWQ/az8oTShfKSxBKF8sdykpOihNKHcpLEEodyxfKSk6QSh3LF8pOmwubWF0Y2hlc19oZWFkP0EoXyx3KTprPyhNKF8pLEEodyxfKSk6KE0odyksQShfLHcpKX1mdW5jdGlvbiBUKHQsZSxyKXtyZXR1cm4gYy5pbmRleD10LGMubWF0Y2hlc19oZWFkPWUsYy5tYXRjaGVzX3B0MT1yLGM9PT1zPyhjPWwsITEpOihjPW51bGwsITApfWZ1bmN0aW9uIE0odCl7ciYmci5jaGFpblJldmVyc2UodCksblt0XS5yZXZlcnNlKCl9ZnVuY3Rpb24gQSh0LGEpe3ZhciBpPW5bdF0sbz1uW2FdLHM9aVtpLmxlbmd0aC0xXSxsPWlbaS5sZW5ndGgtMl0sYz1vWzBdLHU9b1sxXTtlLnBvaW50c0NvbGxpbmVhcihsLHMsYykmJihyJiZyLmNoYWluUmVtb3ZlVGFpbCh0LHMpLGkucG9wKCkscz1sKSxlLnBvaW50c0NvbGxpbmVhcihzLGMsdSkmJihyJiZyLmNoYWluUmVtb3ZlSGVhZChhLGMpLG8uc2hpZnQoKSksciYmci5jaGFpbkpvaW4odCxhKSxuW3RdPWkuY29uY2F0KG8pLG4uc3BsaWNlKGEsMSl9fSksYX19LHt9XSw0ODI6W2Z1bmN0aW9uKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSxyKXt2YXIgbj1bXTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBhPSh0Lm15RmlsbC5hYm92ZT84OjApKyh0Lm15RmlsbC5iZWxvdz80OjApKyh0Lm90aGVyRmlsbCYmdC5vdGhlckZpbGwuYWJvdmU/MjowKSsodC5vdGhlckZpbGwmJnQub3RoZXJGaWxsLmJlbG93PzE6MCk7MCE9PWVbYV0mJm4ucHVzaCh7aWQ6cj9yLnNlZ21lbnRJZCgpOi0xLHN0YXJ0OnQuc3RhcnQsZW5kOnQuZW5kLG15RmlsbDp7YWJvdmU6MT09PWVbYV0sYmVsb3c6Mj09PWVbYV19LG90aGVyRmlsbDpudWxsfSl9KSxyJiZyLnNlbGVjdGVkKG4pLG59dmFyIGE9e3VuaW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxbMCwyLDEsMCwyLDIsMCwwLDEsMCwxLDAsMCwwLDAsMF0sZSl9LGludGVyc2VjdDpmdW5jdGlvbih0LGUpe3JldHVybiBuKHQsWzAsMCwwLDAsMCwyLDAsMiwwLDAsMSwxLDAsMiwxLDBdLGUpfSxkaWZmZXJlbmNlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxbMCwwLDAsMCwyLDAsMiwwLDEsMSwwLDAsMCwxLDIsMF0sZSl9LGRpZmZlcmVuY2VSZXY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0LFswLDIsMSwwLDAsMCwxLDEsMCwyLDAsMiwwLDAsMCwwXSxlKX0seG9yOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxbMCwyLDEsMCwyLDAsMCwxLDEsMCwwLDIsMCwxLDIsMF0sZSl9fTtlLmV4cG9ydHM9YX0se31dLDQ4MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1uZXcgRmxvYXQ2NEFycmF5KDQpLGE9bmV3IEZsb2F0NjRBcnJheSg0KSxpPW5ldyBGbG9hdDY0QXJyYXkoNCk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8scyl7bi5sZW5ndGg8by5sZW5ndGgmJihuPW5ldyBGbG9hdDY0QXJyYXkoby5sZW5ndGgpLGE9bmV3IEZsb2F0NjRBcnJheShvLmxlbmd0aCksaT1uZXcgRmxvYXQ2NEFycmF5KG8ubGVuZ3RoKSk7Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDsrK2wpbltsXT10W2xdLW9bbF0sYVtsXT1lW2xdLXRbbF0saVtsXT1yW2xdLXRbbF07dmFyIGM9MCx1PTAsaD0wLGY9MCxwPTAsZD0wO2ZvcihsPTA7bDxvLmxlbmd0aDsrK2wpe3ZhciBnPWFbbF0sdj1pW2xdLG09bltsXTtjKz1nKmcsdSs9Zyp2LGgrPXYqdixmKz1tKmcscCs9bSp2LGQrPW0qbX12YXIgeSx4LGIsXyx3LGs9TWF0aC5hYnMoYypoLXUqdSksVD11KnAtaCpmLE09dSpmLWMqcDtpZihUK008PWspaWYoVDwwKU08MCYmZjwwPyhNPTAsLWY+PWM/KFQ9MSx5PWMrMipmK2QpOnk9ZiooVD0tZi9jKStkKTooVD0wLHA+PTA/KE09MCx5PWQpOi1wPj1oPyhNPTEseT1oKzIqcCtkKTp5PXAqKE09LXAvaCkrZCk7ZWxzZSBpZihNPDApTT0wLGY+PTA/KFQ9MCx5PWQpOi1mPj1jPyhUPTEseT1jKzIqZitkKTp5PWYqKFQ9LWYvYykrZDtlbHNle3ZhciBBPTEvazt5PShUKj1BKSooYypUK3UqKE0qPUEpKzIqZikrTSoodSpUK2gqTSsyKnApK2R9ZWxzZSBUPDA/KGI9aCtwKT4oeD11K2YpPyhfPWIteCk+PSh3PWMtMip1K2gpPyhUPTEsTT0wLHk9YysyKmYrZCk6eT0oVD1fL3cpKihjKlQrdSooTT0xLVQpKzIqZikrTSoodSpUK2gqTSsyKnApK2Q6KFQ9MCxiPD0wPyhNPTEseT1oKzIqcCtkKTpwPj0wPyhNPTAseT1kKTp5PXAqKE09LXAvaCkrZCk6TTwwPyhiPWMrZik+KHg9dStwKT8oXz1iLXgpPj0odz1jLTIqdStoKT8oTT0xLFQ9MCx5PWgrMipwK2QpOnk9KFQ9MS0oTT1fL3cpKSooYypUK3UqTSsyKmYpK00qKHUqVCtoKk0rMipwKStkOihNPTAsYjw9MD8oVD0xLHk9YysyKmYrZCk6Zj49MD8oVD0wLHk9ZCk6eT1mKihUPS1mL2MpK2QpOihfPWgrcC11LWYpPD0wPyhUPTAsTT0xLHk9aCsyKnArZCk6Xz49KHc9Yy0yKnUraCk/KFQ9MSxNPTAseT1jKzIqZitkKTp5PShUPV8vdykqKGMqVCt1KihNPTEtVCkrMipmKStNKih1KlQraCpNKzIqcCkrZDt2YXIgUz0xLVQtTTtmb3IobD0wO2w8by5sZW5ndGg7KytsKXNbbF09Uyp0W2xdK1QqZVtsXStNKnJbbF07cmV0dXJuIHk8MD8wOnl9fSx7fV0sNDg0OltmdW5jdGlvbih0LGUscil7dmFyIG4sYSxpPWUuZXhwb3J0cz17fTtmdW5jdGlvbiBvKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gcygpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gbCh0KXtpZihuPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dCh0LDApO2lmKChuPT09b3x8IW4pJiZzZXRUaW1lb3V0KXJldHVybiBuPXNldFRpbWVvdXQsc2V0VGltZW91dCh0LDApO3RyeXtyZXR1cm4gbih0LDApfWNhdGNoKGUpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsdCwwKX1jYXRjaChlKXtyZXR1cm4gbi5jYWxsKHRoaXMsdCwwKX19fSFmdW5jdGlvbigpe3RyeXtuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6b31jYXRjaCh0KXtuPW99dHJ5e2E9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6c31jYXRjaCh0KXthPXN9fSgpO3ZhciBjLHU9W10saD0hMSxmPS0xO2Z1bmN0aW9uIHAoKXtoJiZjJiYoaD0hMSxjLmxlbmd0aD91PWMuY29uY2F0KHUpOmY9LTEsdS5sZW5ndGgmJmQoKSl9ZnVuY3Rpb24gZCgpe2lmKCFoKXt2YXIgdD1sKHApO2g9ITA7Zm9yKHZhciBlPXUubGVuZ3RoO2U7KXtmb3IoYz11LHU9W107KytmPGU7KWMmJmNbZl0ucnVuKCk7Zj0tMSxlPXUubGVuZ3RofWM9bnVsbCxoPSExLGZ1bmN0aW9uKHQpe2lmKGE9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dCh0KTtpZigoYT09PXN8fCFhKSYmY2xlYXJUaW1lb3V0KXJldHVybiBhPWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQodCk7dHJ5e2EodCl9Y2F0Y2goZSl7dHJ5e3JldHVybiBhLmNhbGwobnVsbCx0KX1jYXRjaChlKXtyZXR1cm4gYS5jYWxsKHRoaXMsdCl9fX0odCl9fWZ1bmN0aW9uIGcodCxlKXt0aGlzLmZ1bj10LHRoaXMuYXJyYXk9ZX1mdW5jdGlvbiB2KCl7fWkubmV4dFRpY2s9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgcj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspZVtyLTFdPWFyZ3VtZW50c1tyXTt1LnB1c2gobmV3IGcodCxlKSksMSE9PXUubGVuZ3RofHxofHxsKGQpfSxnLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxpLnRpdGxlPSJicm93c2VyIixpLmJyb3dzZXI9ITAsaS5lbnY9e30saS5hcmd2PVtdLGkudmVyc2lvbj0iIixpLnZlcnNpb25zPXt9LGkub249dixpLmFkZExpc3RlbmVyPXYsaS5vbmNlPXYsaS5vZmY9dixpLnJlbW92ZUxpc3RlbmVyPXYsaS5yZW1vdmVBbGxMaXN0ZW5lcnM9dixpLmVtaXQ9dixpLnByZXBlbmRMaXN0ZW5lcj12LGkucHJlcGVuZE9uY2VMaXN0ZW5lcj12LGkubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybltdfSxpLmJpbmRpbmc9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxpLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0saS5jaGRpcj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxpLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7fV0sNDg1OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoImdsLXF1YXQvc2xlcnAiKX0seyJnbC1xdWF0L3NsZXJwIjoyOTZ9XSw0ODY6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7Zm9yKHZhciBuPXQoInBlcmZvcm1hbmNlLW5vdyIpLGE9InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/cjp3aW5kb3csaT1bIm1veiIsIndlYmtpdCJdLG89IkFuaW1hdGlvbkZyYW1lIixzPWFbInJlcXVlc3QiK29dLGw9YVsiY2FuY2VsIitvXXx8YVsiY2FuY2VsUmVxdWVzdCIrb10sYz0wOyFzJiZjPGkubGVuZ3RoO2MrKylzPWFbaVtjXSsiUmVxdWVzdCIrb10sbD1hW2lbY10rIkNhbmNlbCIrb118fGFbaVtjXSsiQ2FuY2VsUmVxdWVzdCIrb107aWYoIXN8fCFsKXt2YXIgdT0wLGg9MCxmPVtdO3M9ZnVuY3Rpb24odCl7aWYoMD09PWYubGVuZ3RoKXt2YXIgZT1uKCkscj1NYXRoLm1heCgwLDFlMy82MC0oZS11KSk7dT1yK2Usc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciB0PWYuc2xpY2UoMCk7Zi5sZW5ndGg9MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZighdFtlXS5jYW5jZWxsZWQpdHJ5e3RbZV0uY2FsbGJhY2sodSl9Y2F0Y2godCl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IHR9LDApfX0sTWF0aC5yb3VuZChyKSl9cmV0dXJuIGYucHVzaCh7aGFuZGxlOisraCxjYWxsYmFjazp0LGNhbmNlbGxlZDohMX0pLGh9LGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTxmLmxlbmd0aDtlKyspZltlXS5oYW5kbGU9PT10JiYoZltlXS5jYW5jZWxsZWQ9ITApfX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHMuY2FsbChhLHQpfSxlLmV4cG9ydHMuY2FuY2VsPWZ1bmN0aW9uKCl7bC5hcHBseShhLGFyZ3VtZW50cyl9LGUuZXhwb3J0cy5wb2x5ZmlsbD1mdW5jdGlvbih0KXt0fHwodD1hKSx0LnJlcXVlc3RBbmltYXRpb25GcmFtZT1zLHQuY2FuY2VsQW5pbWF0aW9uRnJhbWU9bH19KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsicGVyZm9ybWFuY2Utbm93Ijo0NjR9XSw0ODc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiYmlnLXJhdC9hZGQiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsYT1uZXcgQXJyYXkociksaT0wO2k8cjsrK2kpYVtpXT1uKHRbaV0sZVtpXSk7cmV0dXJuIGF9fSx7ImJpZy1yYXQvYWRkIjo3N31dLDQ4ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wO3I8dC5sZW5ndGg7KytyKWVbcl09bih0W3JdKTtyZXR1cm4gZX07dmFyIG49dCgiYmlnLXJhdCIpfSx7ImJpZy1yYXQiOjgwfV0sNDg5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpZy1yYXQiKSxhPXQoImJpZy1yYXQvbXVsIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW4oZSksaT10Lmxlbmd0aCxvPW5ldyBBcnJheShpKSxzPTA7czxpOysrcylvW3NdPWEodFtzXSxyKTtyZXR1cm4gb319LHsiYmlnLXJhdCI6ODAsImJpZy1yYXQvbXVsIjo4OX1dLDQ5MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJiaWctcmF0L3N1YiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxhPW5ldyBBcnJheShyKSxpPTA7aTxyOysraSlhW2ldPW4odFtpXSxlW2ldKTtyZXR1cm4gYX19LHsiYmlnLXJhdC9zdWIiOjkxfV0sNDkxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImNvbXBhcmUtY2VsbCIpLGE9dCgiY29tcGFyZS1vcmllbnRlZC1jZWxsIiksaT10KCJjZWxsLW9yaWVudGF0aW9uIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3Quc29ydChhKTtmb3IodmFyIGU9dC5sZW5ndGgscj0wLG89MDtvPGU7KytvKXt2YXIgcz10W29dLGw9aShzKTtpZigwIT09bCl7aWYocj4wKXt2YXIgYz10W3ItMV07aWYoMD09PW4ocyxjKSYmaShjKSE9PWwpe3ItPTE7Y29udGludWV9fXRbcisrXT1zfX1yZXR1cm4gdC5sZW5ndGg9cix0fX0seyJjZWxsLW9yaWVudGF0aW9uIjoxMTQsImNvbXBhcmUtY2VsbCI6MTMwLCJjb21wYXJlLW9yaWVudGVkLWNlbGwiOjEzMX1dLDQ5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJhcnJheS1ib3VuZHMiKSxhPXQoImNvbG9yLW5vcm1hbGl6ZSIpLGk9dCgidXBkYXRlLWRpZmYiKSxvPXQoInBpY2stYnktYWxpYXMiKSxzPXQoIm9iamVjdC1hc3NpZ24iKSxsPXQoImZsYXR0ZW4tdmVydGV4LWRhdGEiKSxjPXQoInRvLWZsb2F0MzIiKSx1PWMuZmxvYXQzMixoPWMuZnJhY3QzMjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgdD8oZXx8KGU9e30pLGUucmVnbD10KTplPXQ7ZS5sZW5ndGgmJihlLnBvc2l0aW9ucz1lKTtpZighKHQ9ZS5yZWdsKS5oYXNFeHRlbnNpb24oIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSl0aHJvdyBFcnJvcigicmVnbC1lcnJvcjJkOiBgQU5HTEVfaW5zdGFuY2VkX2FycmF5c2AgZXh0ZW5zaW9uIHNob3VsZCBiZSBlbmFibGVkIik7dmFyIHIsYyxwLGQsZyx2LG09dC5fZ2wseT17Y29sb3I6ImJsYWNrIixjYXBTaXplOjUsbGluZVdpZHRoOjEsb3BhY2l0eToxLHZpZXdwb3J0Om51bGwscmFuZ2U6bnVsbCxvZmZzZXQ6MCxjb3VudDowLGJvdW5kczpudWxsLHBvc2l0aW9uczpbXSxlcnJvcnM6W119LHg9W107cmV0dXJuIGQ9dC5idWZmZXIoe3VzYWdlOiJkeW5hbWljIix0eXBlOiJ1aW50OCIsZGF0YTpuZXcgVWludDhBcnJheSgwKX0pLGM9dC5idWZmZXIoe3VzYWdlOiJkeW5hbWljIix0eXBlOiJmbG9hdCIsZGF0YTpuZXcgVWludDhBcnJheSgwKX0pLHA9dC5idWZmZXIoe3VzYWdlOiJkeW5hbWljIix0eXBlOiJmbG9hdCIsZGF0YTpuZXcgVWludDhBcnJheSgwKX0pLGc9dC5idWZmZXIoe3VzYWdlOiJkeW5hbWljIix0eXBlOiJmbG9hdCIsZGF0YTpuZXcgVWludDhBcnJheSgwKX0pLHY9dC5idWZmZXIoe3VzYWdlOiJzdGF0aWMiLHR5cGU6ImZsb2F0IixkYXRhOmZ9KSxrKGUpLHI9dCh7dmVydDoiXG5cdFx0cHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuXG5cdFx0YXR0cmlidXRlIHZlYzIgcG9zaXRpb24sIHBvc2l0aW9uRnJhY3Q7XG5cdFx0YXR0cmlidXRlIHZlYzQgZXJyb3I7XG5cdFx0YXR0cmlidXRlIHZlYzQgY29sb3I7XG5cblx0XHRhdHRyaWJ1dGUgdmVjMiBkaXJlY3Rpb24sIGxpbmVPZmZzZXQsIGNhcE9mZnNldDtcblxuXHRcdHVuaWZvcm0gdmVjNCB2aWV3cG9ydDtcblx0XHR1bmlmb3JtIGZsb2F0IGxpbmVXaWR0aCwgY2FwU2l6ZTtcblx0XHR1bmlmb3JtIHZlYzIgc2NhbGUsIHNjYWxlRnJhY3QsIHRyYW5zbGF0ZSwgdHJhbnNsYXRlRnJhY3Q7XG5cblx0XHR2YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG5cdFx0dm9pZCBtYWluKCkge1xuXHRcdFx0ZnJhZ0NvbG9yID0gY29sb3IgLyAyNTUuO1xuXG5cdFx0XHR2ZWMyIHBpeGVsT2Zmc2V0ID0gbGluZVdpZHRoICogbGluZU9mZnNldCArIChjYXBTaXplICsgbGluZVdpZHRoKSAqIGNhcE9mZnNldDtcblxuXHRcdFx0dmVjMiBkeHkgPSAtc3RlcCguNSwgZGlyZWN0aW9uLnh5KSAqIGVycm9yLnh6ICsgc3RlcChkaXJlY3Rpb24ueHksIHZlYzIoLS41KSkgKiBlcnJvci55dztcblxuXHRcdFx0dmVjMiBwb3NpdGlvbiA9IHBvc2l0aW9uICsgZHh5O1xuXG5cdFx0XHR2ZWMyIHBvcyA9IChwb3NpdGlvbiArIHRyYW5zbGF0ZSkgKiBzY2FsZVxuXHRcdFx0XHQrIChwb3NpdGlvbkZyYWN0ICsgdHJhbnNsYXRlRnJhY3QpICogc2NhbGVcblx0XHRcdFx0KyAocG9zaXRpb24gKyB0cmFuc2xhdGUpICogc2NhbGVGcmFjdFxuXHRcdFx0XHQrIChwb3NpdGlvbkZyYWN0ICsgdHJhbnNsYXRlRnJhY3QpICogc2NhbGVGcmFjdDtcblxuXHRcdFx0cG9zICs9IHBpeGVsT2Zmc2V0IC8gdmlld3BvcnQuenc7XG5cblx0XHRcdGdsX1Bvc2l0aW9uID0gdmVjNChwb3MgKiAyLiAtIDEuLCAwLCAxKTtcblx0XHR9XG5cdFx0IixmcmFnOiJcblx0XHRwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cblx0XHR2YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG5cdFx0dW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuXG5cdFx0dm9pZCBtYWluKCkge1xuXHRcdFx0Z2xfRnJhZ0NvbG9yID0gZnJhZ0NvbG9yO1xuXHRcdFx0Z2xfRnJhZ0NvbG9yLmEgKj0gb3BhY2l0eTtcblx0XHR9XG5cdFx0Iix1bmlmb3Jtczp7cmFuZ2U6dC5wcm9wKCJyYW5nZSIpLGxpbmVXaWR0aDp0LnByb3AoImxpbmVXaWR0aCIpLGNhcFNpemU6dC5wcm9wKCJjYXBTaXplIiksb3BhY2l0eTp0LnByb3AoIm9wYWNpdHkiKSxzY2FsZTp0LnByb3AoInNjYWxlIiksdHJhbnNsYXRlOnQucHJvcCgidHJhbnNsYXRlIiksc2NhbGVGcmFjdDp0LnByb3AoInNjYWxlRnJhY3QiKSx0cmFuc2xhdGVGcmFjdDp0LnByb3AoInRyYW5zbGF0ZUZyYWN0Iiksdmlld3BvcnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm5bZS52aWV3cG9ydC54LGUudmlld3BvcnQueSx0LnZpZXdwb3J0V2lkdGgsdC52aWV3cG9ydEhlaWdodF19fSxhdHRyaWJ1dGVzOntjb2xvcjp7YnVmZmVyOmQsb2Zmc2V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIDQqZS5vZmZzZXR9LGRpdmlzb3I6MX0scG9zaXRpb246e2J1ZmZlcjpjLG9mZnNldDpmdW5jdGlvbih0LGUpe3JldHVybiA4KmUub2Zmc2V0fSxkaXZpc29yOjF9LHBvc2l0aW9uRnJhY3Q6e2J1ZmZlcjpwLG9mZnNldDpmdW5jdGlvbih0LGUpe3JldHVybiA4KmUub2Zmc2V0fSxkaXZpc29yOjF9LGVycm9yOntidWZmZXI6ZyxvZmZzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMTYqZS5vZmZzZXR9LGRpdmlzb3I6MX0sZGlyZWN0aW9uOntidWZmZXI6dixzdHJpZGU6MjQsb2Zmc2V0OjB9LGxpbmVPZmZzZXQ6e2J1ZmZlcjp2LHN0cmlkZToyNCxvZmZzZXQ6OH0sY2FwT2Zmc2V0OntidWZmZXI6dixzdHJpZGU6MjQsb2Zmc2V0OjE2fX0scHJpbWl0aXZlOiJ0cmlhbmdsZXMiLGJsZW5kOntlbmFibGU6ITAsY29sb3I6WzAsMCwwLDBdLGVxdWF0aW9uOntyZ2I6ImFkZCIsYWxwaGE6ImFkZCJ9LGZ1bmM6e3NyY1JHQjoic3JjIGFscGhhIixkc3RSR0I6Im9uZSBtaW51cyBzcmMgYWxwaGEiLHNyY0FscGhhOiJvbmUgbWludXMgZHN0IGFscGhhIixkc3RBbHBoYToib25lIn19LGRlcHRoOntlbmFibGU6ITF9LHNjaXNzb3I6e2VuYWJsZTohMCxib3g6dC5wcm9wKCJ2aWV3cG9ydCIpfSx2aWV3cG9ydDp0LnByb3AoInZpZXdwb3J0Iiksc3RlbmNpbDohMSxpbnN0YW5jZXM6dC5wcm9wKCJjb3VudCIpLGNvdW50OmYubGVuZ3RofSkscyhiLHt1cGRhdGU6ayxkcmF3Ol8sZGVzdHJveTpULHJlZ2w6dCxnbDptLGNhbnZhczptLmNhbnZhcyxncm91cHM6eH0pLGI7ZnVuY3Rpb24gYih0KXt0P2sodCk6bnVsbD09PXQmJlQoKSxfKCl9ZnVuY3Rpb24gXyhlKXtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuIHcoZSk7ZSYmIUFycmF5LmlzQXJyYXkoZSkmJihlPVtlXSksdC5fcmVmcmVzaCgpLHguZm9yRWFjaChmdW5jdGlvbih0LHIpe3QmJihlJiYoZVtyXT90LmRyYXc9ITA6dC5kcmF3PSExKSx0LmRyYXc/dyhyKTp0LmRyYXc9ITApfSl9ZnVuY3Rpb24gdyh0KXsibnVtYmVyIj09dHlwZW9mIHQmJih0PXhbdF0pLG51bGwhPXQmJnQmJnQuY291bnQmJnQuY29sb3ImJnQub3BhY2l0eSYmdC5wb3NpdGlvbnMmJnQucG9zaXRpb25zLmxlbmd0aD4xJiYodC5zY2FsZVJhdGlvPVt0LnNjYWxlWzBdKnQudmlld3BvcnQud2lkdGgsdC5zY2FsZVsxXSp0LnZpZXdwb3J0LmhlaWdodF0scih0KSx0LmFmdGVyJiZ0LmFmdGVyKHQpKX1mdW5jdGlvbiBrKHQpe2lmKHQpe251bGwhPXQubGVuZ3RoPyJudW1iZXIiPT10eXBlb2YgdFswXSYmKHQ9W3twb3NpdGlvbnM6dH1dKTpBcnJheS5pc0FycmF5KHQpfHwodD1bdF0pO3ZhciBlPTAscj0wO2lmKGIuZ3JvdXBzPXg9dC5tYXAoZnVuY3Rpb24odCxjKXt2YXIgdT14W2NdO3JldHVybiB0PygiZnVuY3Rpb24iPT10eXBlb2YgdD90PXthZnRlcjp0fToibnVtYmVyIj09dHlwZW9mIHRbMF0mJih0PXtwb3NpdGlvbnM6dH0pLHQ9byh0LHtjb2xvcjoiY29sb3IgY29sb3JzIGZpbGwiLGNhcFNpemU6ImNhcFNpemUgY2FwIGNhcHNpemUgY2FwLXNpemUiLGxpbmVXaWR0aDoibGluZVdpZHRoIGxpbmUtd2lkdGggd2lkdGggbGluZSB0aGlja25lc3MiLG9wYWNpdHk6Im9wYWNpdHkgYWxwaGEiLHJhbmdlOiJyYW5nZSBkYXRhQm94Iix2aWV3cG9ydDoidmlld3BvcnQgdmlld0JveCIsZXJyb3JzOiJlcnJvcnMgZXJyb3IiLHBvc2l0aW9uczoicG9zaXRpb25zIHBvc2l0aW9uIGRhdGEgcG9pbnRzIn0pLHV8fCh4W2NdPXU9e2lkOmMsc2NhbGU6bnVsbCx0cmFuc2xhdGU6bnVsbCxzY2FsZUZyYWN0Om51bGwsdHJhbnNsYXRlRnJhY3Q6bnVsbCxkcmF3OiEwfSx0PXMoe30seSx0KSksaSh1LHQsW3tsaW5lV2lkdGg6ZnVuY3Rpb24odCl7cmV0dXJuLjUqK3R9LGNhcFNpemU6ZnVuY3Rpb24odCl7cmV0dXJuLjUqK3R9LG9wYWNpdHk6cGFyc2VGbG9hdCxlcnJvcnM6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bCh0KSxyKz10Lmxlbmd0aCx0fSxwb3NpdGlvbnM6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdD1sKHQsImZsb2F0NjQiKSxyLmNvdW50PU1hdGguZmxvb3IodC5sZW5ndGgvMiksci5ib3VuZHM9bih0LDIpLHIub2Zmc2V0PWUsZSs9ci5jb3VudCx0fX0se2NvbG9yOmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5jb3VudDtpZih0fHwodD0idHJhbnNwYXJlbnQiKSwhQXJyYXkuaXNBcnJheSh0KXx8Im51bWJlciI9PXR5cGVvZiB0WzBdKXt2YXIgbj10O3Q9QXJyYXkocik7Zm9yKHZhciBpPTA7aTxyO2krKyl0W2ldPW59aWYodC5sZW5ndGg8cil0aHJvdyBFcnJvcigiTm90IGVub3VnaCBjb2xvcnMiKTtmb3IodmFyIG89bmV3IFVpbnQ4QXJyYXkoNCpyKSxzPTA7czxyO3MrKyl7dmFyIGw9YSh0W3NdLCJ1aW50OCIpO28uc2V0KGwsNCpzKX1yZXR1cm4gb30scmFuZ2U6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWUuYm91bmRzO3JldHVybiB0fHwodD1uKSxlLnNjYWxlPVsxLyh0WzJdLXRbMF0pLDEvKHRbM10tdFsxXSldLGUudHJhbnNsYXRlPVstdFswXSwtdFsxXV0sZS5zY2FsZUZyYWN0PWgoZS5zY2FsZSksZS50cmFuc2xhdGVGcmFjdD1oKGUudHJhbnNsYXRlKSx0fSx2aWV3cG9ydDpmdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9lPXt4OnRbMF0seTp0WzFdLHdpZHRoOnRbMl0tdFswXSxoZWlnaHQ6dFszXS10WzFdfTp0PyhlPXt4OnQueHx8dC5sZWZ0fHwwLHk6dC55fHx0LnRvcHx8MH0sdC5yaWdodD9lLndpZHRoPXQucmlnaHQtZS54OmUud2lkdGg9dC53fHx0LndpZHRofHwwLHQuYm90dG9tP2UuaGVpZ2h0PXQuYm90dG9tLWUueTplLmhlaWdodD10Lmh8fHQuaGVpZ2h0fHwwKTplPXt4OjAseTowLHdpZHRoOm0uZHJhd2luZ0J1ZmZlcldpZHRoLGhlaWdodDptLmRyYXdpbmdCdWZmZXJIZWlnaHR9LGV9fV0pLHUpOnV9KSxlfHxyKXt2YXIgZj14LnJlZHVjZShmdW5jdGlvbih0LGUscil7cmV0dXJuIHQrKGU/ZS5jb3VudDowKX0sMCksdj1uZXcgRmxvYXQ2NEFycmF5KDIqZiksXz1uZXcgVWludDhBcnJheSg0KmYpLHc9bmV3IEZsb2F0MzJBcnJheSg0KmYpO3guZm9yRWFjaChmdW5jdGlvbih0LGUpe2lmKHQpe3ZhciByPXQucG9zaXRpb25zLG49dC5jb3VudCxhPXQub2Zmc2V0LGk9dC5jb2xvcixvPXQuZXJyb3JzO24mJihfLnNldChpLDQqYSksdy5zZXQobyw0KmEpLHYuc2V0KHIsMiphKSl9fSksYyh1KHYpKSxwKGgodikpLGQoXyksZyh3KX19fWZ1bmN0aW9uIFQoKXtjLmRlc3Ryb3koKSxwLmRlc3Ryb3koKSxkLmRlc3Ryb3koKSxnLmRlc3Ryb3koKSx2LmRlc3Ryb3koKX19O3ZhciBmPVtbMSwwLDAsMSwwLDBdLFsxLDAsMCwtMSwwLDBdLFstMSwwLDAsLTEsMCwwXSxbLTEsMCwwLC0xLDAsMF0sWy0xLDAsMCwxLDAsMF0sWzEsMCwwLDEsMCwwXSxbMSwwLC0xLDAsMCwxXSxbMSwwLC0xLDAsMCwtMV0sWzEsMCwxLDAsMCwtMV0sWzEsMCwxLDAsMCwtMV0sWzEsMCwxLDAsMCwxXSxbMSwwLC0xLDAsMCwxXSxbLTEsMCwtMSwwLDAsMV0sWy0xLDAsLTEsMCwwLC0xXSxbLTEsMCwxLDAsMCwtMV0sWy0xLDAsMSwwLDAsLTFdLFstMSwwLDEsMCwwLDFdLFstMSwwLC0xLDAsMCwxXSxbMCwxLDEsMCwwLDBdLFswLDEsLTEsMCwwLDBdLFswLC0xLC0xLDAsMCwwXSxbMCwtMSwtMSwwLDAsMF0sWzAsMSwxLDAsMCwwXSxbMCwtMSwxLDAsMCwwXSxbMCwxLDAsLTEsMSwwXSxbMCwxLDAsLTEsLTEsMF0sWzAsMSwwLDEsLTEsMF0sWzAsMSwwLDEsMSwwXSxbMCwxLDAsLTEsMSwwXSxbMCwxLDAsMSwtMSwwXSxbMCwtMSwwLC0xLDEsMF0sWzAsLTEsMCwtMSwtMSwwXSxbMCwtMSwwLDEsLTEsMF0sWzAsLTEsMCwxLDEsMF0sWzAsLTEsMCwtMSwxLDBdLFswLC0xLDAsMSwtMSwwXV19LHsiYXJyYXktYm91bmRzIjo2OCwiY29sb3Itbm9ybWFsaXplIjoxMjIsImZsYXR0ZW4tdmVydGV4LWRhdGEiOjIzMCwib2JqZWN0LWFzc2lnbiI6NDU2LCJwaWNrLWJ5LWFsaWFzIjo0NjcsInRvLWZsb2F0MzIiOjUzNywidXBkYXRlLWRpZmYiOjU0OH1dLDQ5MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjb2xvci1ub3JtYWxpemUiKSxhPXQoImFycmF5LWJvdW5kcyIpLGk9dCgib2JqZWN0LWFzc2lnbiIpLG89dCgiZ2xzbGlmeSIpLHM9dCgicGljay1ieS1hbGlhcyIpLGw9dCgiZmxhdHRlbi12ZXJ0ZXgtZGF0YSIpLGM9dCgiZWFyY3V0IiksdT10KCJhcnJheS1ub3JtYWxpemUiKSxoPXQoInRvLWZsb2F0MzIiKSxmPWguZmxvYXQzMixwPWguZnJhY3QzMixkPXQoImVzNi13ZWFrLW1hcCIpLGc9dCgicGFyc2UtcmVjdCIpO2Z1bmN0aW9uIHYodCxlKXtpZighKHRoaXMgaW5zdGFuY2VvZiB2KSlyZXR1cm4gbmV3IHYodCxlKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdD8oZXx8KGU9e30pLGUucmVnbD10KTplPXQsZS5sZW5ndGgmJihlLnBvc2l0aW9ucz1lKSwhKHQ9ZS5yZWdsKS5oYXNFeHRlbnNpb24oIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSl0aHJvdyBFcnJvcigicmVnbC1lcnJvcjJkOiBgQU5HTEVfaW5zdGFuY2VkX2FycmF5c2AgZXh0ZW5zaW9uIHNob3VsZCBiZSBlbmFibGVkIik7dGhpcy5nbD10Ll9nbCx0aGlzLnJlZ2w9dCx0aGlzLnBhc3Nlcz1bXSx0aGlzLnNoYWRlcnM9di5zaGFkZXJzLmhhcyh0KT92LnNoYWRlcnMuZ2V0KHQpOnYuc2hhZGVycy5zZXQodCx2LmNyZWF0ZVNoYWRlcnModCkpLmdldCh0KSx0aGlzLnVwZGF0ZShlKX1lLmV4cG9ydHM9dix2LmRhc2hNdWx0PTIsdi5tYXhQYXR0ZXJuTGVuZ3RoPTI1Nix2LnByZWNpc2lvblRocmVzaG9sZD0zZTYsdi5tYXhQb2ludHM9MWU0LHYubWF4TGluZXM9MjA0OCx2LnNoYWRlcnM9bmV3IGQsdi5jcmVhdGVTaGFkZXJzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dC5idWZmZXIoe3VzYWdlOiJzdGF0aWMiLHR5cGU6ImZsb2F0IixkYXRhOlswLDEsMCwwLDEsMSwxLDBdfSksbj17cHJpbWl0aXZlOiJ0cmlhbmdsZSBzdHJpcCIsaW5zdGFuY2VzOnQucHJvcCgiY291bnQiKSxjb3VudDo0LG9mZnNldDowLHVuaWZvcm1zOnttaXRlck1vZGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4icm91bmQiPT09ZS5qb2luPzI6MX0sbWl0ZXJMaW1pdDp0LnByb3AoIm1pdGVyTGltaXQiKSxzY2FsZTp0LnByb3AoInNjYWxlIiksc2NhbGVGcmFjdDp0LnByb3AoInNjYWxlRnJhY3QiKSx0cmFuc2xhdGVGcmFjdDp0LnByb3AoInRyYW5zbGF0ZUZyYWN0IiksdHJhbnNsYXRlOnQucHJvcCgidHJhbnNsYXRlIiksdGhpY2tuZXNzOnQucHJvcCgidGhpY2tuZXNzIiksZGFzaFBhdHRlcm46dC5wcm9wKCJkYXNoVGV4dHVyZSIpLG9wYWNpdHk6dC5wcm9wKCJvcGFjaXR5IikscGl4ZWxSYXRpbzp0LmNvbnRleHQoInBpeGVsUmF0aW8iKSxpZDp0LnByb3AoImlkIiksZGFzaFNpemU6dC5wcm9wKCJkYXNoTGVuZ3RoIiksdmlld3BvcnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm5bZS52aWV3cG9ydC54LGUudmlld3BvcnQueSx0LnZpZXdwb3J0V2lkdGgsdC52aWV3cG9ydEhlaWdodF19LGRlcHRoOnQucHJvcCgiZGVwdGgiKX0sYmxlbmQ6e2VuYWJsZTohMCxjb2xvcjpbMCwwLDAsMF0sZXF1YXRpb246e3JnYjoiYWRkIixhbHBoYToiYWRkIn0sZnVuYzp7c3JjUkdCOiJzcmMgYWxwaGEiLGRzdFJHQjoib25lIG1pbnVzIHNyYyBhbHBoYSIsc3JjQWxwaGE6Im9uZSBtaW51cyBkc3QgYWxwaGEiLGRzdEFscGhhOiJvbmUifX0sZGVwdGg6e2VuYWJsZTpmdW5jdGlvbih0LGUpe3JldHVybiFlLm92ZXJsYXl9fSxzdGVuY2lsOntlbmFibGU6ITF9LHNjaXNzb3I6e2VuYWJsZTohMCxib3g6dC5wcm9wKCJ2aWV3cG9ydCIpfSx2aWV3cG9ydDp0LnByb3AoInZpZXdwb3J0Iil9LGE9dChpKHt2ZXJ0Om8oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMiBhQ29vcmQsIGJDb29yZCwgYUNvb3JkRnJhY3QsIGJDb29yZEZyYWN0O1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgZmxvYXQgbGluZUVuZCwgbGluZVRvcDtcblxudW5pZm9ybSB2ZWMyIHNjYWxlLCBzY2FsZUZyYWN0LCB0cmFuc2xhdGUsIHRyYW5zbGF0ZUZyYWN0O1xudW5pZm9ybSBmbG9hdCB0aGlja25lc3MsIHBpeGVsUmF0aW8sIGlkLCBkZXB0aDtcbnVuaWZvcm0gdmVjNCB2aWV3cG9ydDtcblxudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcbnZhcnlpbmcgdmVjMiB0YW5nZW50O1xuXG52ZWMyIHByb2plY3QodmVjMiBwb3NpdGlvbiwgdmVjMiBwb3NpdGlvbkZyYWN0LCB2ZWMyIHNjYWxlLCB2ZWMyIHNjYWxlRnJhY3QsIHZlYzIgdHJhbnNsYXRlLCB2ZWMyIHRyYW5zbGF0ZUZyYWN0KSB7XG5cdC8vIHRoZSBvcmRlciBpcyBpbXBvcnRhbnRcblx0cmV0dXJuIHBvc2l0aW9uICogc2NhbGUgKyB0cmFuc2xhdGVcbiAgICAgICArIHBvc2l0aW9uRnJhY3QgKiBzY2FsZSArIHRyYW5zbGF0ZUZyYWN0XG4gICAgICAgKyBwb3NpdGlvbiAqIHNjYWxlRnJhY3RcbiAgICAgICArIHBvc2l0aW9uRnJhY3QgKiBzY2FsZUZyYWN0O1xufVxuXG52b2lkIG1haW4oKSB7XG5cdGZsb2F0IGxpbmVTdGFydCA9IDEuIC0gbGluZUVuZDtcblx0ZmxvYXQgbGluZU9mZnNldCA9IGxpbmVUb3AgKiAyLiAtIDEuO1xuXG5cdHZlYzIgZGlmZiA9IChiQ29vcmQgKyBiQ29vcmRGcmFjdCAtIGFDb29yZCAtIGFDb29yZEZyYWN0KTtcblx0dGFuZ2VudCA9IG5vcm1hbGl6ZShkaWZmICogc2NhbGUgKiB2aWV3cG9ydC56dyk7XG5cdHZlYzIgbm9ybWFsID0gdmVjMigtdGFuZ2VudC55LCB0YW5nZW50LngpO1xuXG5cdHZlYzIgcG9zaXRpb24gPSBwcm9qZWN0KGFDb29yZCwgYUNvb3JkRnJhY3QsIHNjYWxlLCBzY2FsZUZyYWN0LCB0cmFuc2xhdGUsIHRyYW5zbGF0ZUZyYWN0KSAqIGxpbmVTdGFydFxuXHRcdCsgcHJvamVjdChiQ29vcmQsIGJDb29yZEZyYWN0LCBzY2FsZSwgc2NhbGVGcmFjdCwgdHJhbnNsYXRlLCB0cmFuc2xhdGVGcmFjdCkgKiBsaW5lRW5kXG5cblx0XHQrIHRoaWNrbmVzcyAqIG5vcm1hbCAqIC41ICogbGluZU9mZnNldCAvIHZpZXdwb3J0Lnp3O1xuXG5cdGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiAqIDIuMCAtIDEuMCwgZGVwdGgsIDEpO1xuXG5cdGZyYWdDb2xvciA9IGNvbG9yIC8gMjU1Ljtcbn1cbiJdKSxmcmFnOm8oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG51bmlmb3JtIHNhbXBsZXIyRCBkYXNoUGF0dGVybjtcblxudW5pZm9ybSBmbG9hdCBkYXNoU2l6ZSwgcGl4ZWxSYXRpbywgdGhpY2tuZXNzLCBvcGFjaXR5LCBpZDtcblxudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcbnZhcnlpbmcgdmVjMiB0YW5nZW50O1xuXG52b2lkIG1haW4oKSB7XG5cdGZsb2F0IGFscGhhID0gMS47XG5cblx0ZmxvYXQgdCA9IGZyYWN0KGRvdCh0YW5nZW50LCBnbF9GcmFnQ29vcmQueHkpIC8gZGFzaFNpemUpICogLjUgKyAuMjU7XG5cdGZsb2F0IGRhc2ggPSB0ZXh0dXJlMkQoZGFzaFBhdHRlcm4sIHZlYzIodCwgLjUpKS5yO1xuXG5cdGdsX0ZyYWdDb2xvciA9IGZyYWdDb2xvcjtcblx0Z2xfRnJhZ0NvbG9yLmEgKj0gYWxwaGEgKiBvcGFjaXR5ICogZGFzaDtcbn1cbiJdKSxhdHRyaWJ1dGVzOntsaW5lRW5kOntidWZmZXI6cixkaXZpc29yOjAsc3RyaWRlOjgsb2Zmc2V0OjB9LGxpbmVUb3A6e2J1ZmZlcjpyLGRpdmlzb3I6MCxzdHJpZGU6OCxvZmZzZXQ6NH0sYUNvb3JkOntidWZmZXI6dC5wcm9wKCJwb3NpdGlvbkJ1ZmZlciIpLHN0cmlkZTo4LG9mZnNldDo4LGRpdmlzb3I6MX0sYkNvb3JkOntidWZmZXI6dC5wcm9wKCJwb3NpdGlvbkJ1ZmZlciIpLHN0cmlkZTo4LG9mZnNldDoxNixkaXZpc29yOjF9LGFDb29yZEZyYWN0OntidWZmZXI6dC5wcm9wKCJwb3NpdGlvbkZyYWN0QnVmZmVyIiksc3RyaWRlOjgsb2Zmc2V0OjgsZGl2aXNvcjoxfSxiQ29vcmRGcmFjdDp7YnVmZmVyOnQucHJvcCgicG9zaXRpb25GcmFjdEJ1ZmZlciIpLHN0cmlkZTo4LG9mZnNldDoxNixkaXZpc29yOjF9LGNvbG9yOntidWZmZXI6dC5wcm9wKCJjb2xvckJ1ZmZlciIpLHN0cmlkZTo0LG9mZnNldDowLGRpdmlzb3I6MX19fSxuKSk7dHJ5e2U9dChpKHtjdWxsOntlbmFibGU6ITAsZmFjZToiYmFjayJ9LHZlcnQ6byhbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIGFDb29yZCwgYkNvb3JkLCBuZXh0Q29vcmQsIHByZXZDb29yZDtcbmF0dHJpYnV0ZSB2ZWM0IGFDb2xvciwgYkNvbG9yO1xuYXR0cmlidXRlIGZsb2F0IGxpbmVFbmQsIGxpbmVUb3A7XG5cbnVuaWZvcm0gdmVjMiBzY2FsZSwgdHJhbnNsYXRlO1xudW5pZm9ybSBmbG9hdCB0aGlja25lc3MsIHBpeGVsUmF0aW8sIGlkLCBkZXB0aDtcbnVuaWZvcm0gdmVjNCB2aWV3cG9ydDtcbnVuaWZvcm0gZmxvYXQgbWl0ZXJMaW1pdCwgbWl0ZXJNb2RlO1xuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xudmFyeWluZyB2ZWM0IHN0YXJ0Q3V0b2ZmLCBlbmRDdXRvZmY7XG52YXJ5aW5nIHZlYzIgdGFuZ2VudDtcbnZhcnlpbmcgdmVjMiBzdGFydENvb3JkLCBlbmRDb29yZDtcbnZhcnlpbmcgZmxvYXQgZW5hYmxlU3RhcnRNaXRlciwgZW5hYmxlRW5kTWl0ZXI7XG5cbmNvbnN0IGZsb2F0IFJFVkVSU0VfVEhSRVNIT0xEID0gLS44NzU7XG5jb25zdCBmbG9hdCBNSU5fRElGRiA9IDFlLTY7XG5cbi8vIFRPRE86IHBvc3NpYmxlIG9wdGltaXphdGlvbnM6IGF2b2lkIG92ZXJjYWxjdWxhdGluZyBhbGwgZm9yIHZlcnRpY2VzIGFuZCBjYWxjIGp1c3Qgb25lIGluc3RlYWRcbi8vIFRPRE86IHByZWNhbGN1bGF0ZSBkb3QgcHJvZHVjdHMsIG5vcm1hbGl6ZSB0aGluZ3MgYmVmb3JlaGVhZCBldGMuXG4vLyBUT0RPOiByZWZhY3RvciB0byByZWN0YW5ndWxhciBhbGdvcml0aG1cblxuZmxvYXQgZGlzdFRvTGluZSh2ZWMyIHAsIHZlYzIgYSwgdmVjMiBiKSB7XG5cdHZlYzIgZGlmZiA9IGIgLSBhO1xuXHR2ZWMyIHBlcnAgPSBub3JtYWxpemUodmVjMigtZGlmZi55LCBkaWZmLngpKTtcblx0cmV0dXJuIGRvdChwIC0gYSwgcGVycCk7XG59XG5cbmJvb2wgaXNOYU4oIGZsb2F0IHZhbCApe1xuICByZXR1cm4gKCB2YWwgPCAwLjAgfHwgMC4wIDwgdmFsIHx8IHZhbCA9PSAwLjAgKSA/IGZhbHNlIDogdHJ1ZTtcbn1cblxudm9pZCBtYWluKCkge1xuXHR2ZWMyIGFDb29yZCA9IGFDb29yZCwgYkNvb3JkID0gYkNvb3JkLCBwcmV2Q29vcmQgPSBwcmV2Q29vcmQsIG5leHRDb29yZCA9IG5leHRDb29yZDtcblxuICB2ZWMyIGFkanVzdGVkU2NhbGU7XG4gIGFkanVzdGVkU2NhbGUueCA9IChhYnMoc2NhbGUueCkgPCBNSU5fRElGRikgPyBNSU5fRElGRiA6IHNjYWxlLng7XG4gIGFkanVzdGVkU2NhbGUueSA9IChhYnMoc2NhbGUueSkgPCBNSU5fRElGRikgPyBNSU5fRElGRiA6IHNjYWxlLnk7XG5cbiAgdmVjMiBzY2FsZVJhdGlvID0gYWRqdXN0ZWRTY2FsZSAqIHZpZXdwb3J0Lnp3O1xuXHR2ZWMyIG5vcm1hbFdpZHRoID0gdGhpY2tuZXNzIC8gc2NhbGVSYXRpbztcblxuXHRmbG9hdCBsaW5lU3RhcnQgPSAxLiAtIGxpbmVFbmQ7XG5cdGZsb2F0IGxpbmVCb3QgPSAxLiAtIGxpbmVUb3A7XG5cblx0ZnJhZ0NvbG9yID0gKGxpbmVTdGFydCAqIGFDb2xvciArIGxpbmVFbmQgKiBiQ29sb3IpIC8gMjU1LjtcblxuXHRpZiAoaXNOYU4oYUNvb3JkLngpIHx8IGlzTmFOKGFDb29yZC55KSB8fCBpc05hTihiQ29vcmQueCkgfHwgaXNOYU4oYkNvb3JkLnkpKSByZXR1cm47XG5cblx0aWYgKGFDb29yZCA9PSBwcmV2Q29vcmQpIHByZXZDb29yZCA9IGFDb29yZCArIG5vcm1hbGl6ZShiQ29vcmQgLSBhQ29vcmQpO1xuXHRpZiAoYkNvb3JkID09IG5leHRDb29yZCkgbmV4dENvb3JkID0gYkNvb3JkIC0gbm9ybWFsaXplKGJDb29yZCAtIGFDb29yZCk7XG5cblx0dmVjMiBwcmV2RGlmZiA9IGFDb29yZCAtIHByZXZDb29yZDtcblx0dmVjMiBjdXJyRGlmZiA9IGJDb29yZCAtIGFDb29yZDtcblx0dmVjMiBuZXh0RGlmZiA9IG5leHRDb29yZCAtIGJDb29yZDtcblxuXHR2ZWMyIHByZXZUYW5nZW50ID0gbm9ybWFsaXplKHByZXZEaWZmICogc2NhbGVSYXRpbyk7XG5cdHZlYzIgY3VyclRhbmdlbnQgPSBub3JtYWxpemUoY3VyckRpZmYgKiBzY2FsZVJhdGlvKTtcblx0dmVjMiBuZXh0VGFuZ2VudCA9IG5vcm1hbGl6ZShuZXh0RGlmZiAqIHNjYWxlUmF0aW8pO1xuXG5cdHZlYzIgcHJldk5vcm1hbCA9IHZlYzIoLXByZXZUYW5nZW50LnksIHByZXZUYW5nZW50LngpO1xuXHR2ZWMyIGN1cnJOb3JtYWwgPSB2ZWMyKC1jdXJyVGFuZ2VudC55LCBjdXJyVGFuZ2VudC54KTtcblx0dmVjMiBuZXh0Tm9ybWFsID0gdmVjMigtbmV4dFRhbmdlbnQueSwgbmV4dFRhbmdlbnQueCk7XG5cblx0dmVjMiBzdGFydEpvaW5EaXJlY3Rpb24gPSBub3JtYWxpemUocHJldlRhbmdlbnQgLSBjdXJyVGFuZ2VudCk7XG5cdHZlYzIgZW5kSm9pbkRpcmVjdGlvbiA9IG5vcm1hbGl6ZShjdXJyVGFuZ2VudCAtIG5leHRUYW5nZW50KTtcblxuXHQvLyBjb2xsYXBzZWQvdW5pZGlyZWN0aW9uYWwgc2VnbWVudCBjYXNlc1xuXHQvLyBGSVhNRTogdGhlcmUgc2hvdWxkIGJlIG1vcmUgZWxlZ2FudCBzb2x1dGlvblxuXHR2ZWMyIHByZXZUYW5EaWZmID0gYWJzKHByZXZUYW5nZW50IC0gY3VyclRhbmdlbnQpO1xuXHR2ZWMyIG5leHRUYW5EaWZmID0gYWJzKG5leHRUYW5nZW50IC0gY3VyclRhbmdlbnQpO1xuXHRpZiAobWF4KHByZXZUYW5EaWZmLngsIHByZXZUYW5EaWZmLnkpIDwgTUlOX0RJRkYpIHtcblx0XHRzdGFydEpvaW5EaXJlY3Rpb24gPSBjdXJyTm9ybWFsO1xuXHR9XG5cdGlmIChtYXgobmV4dFRhbkRpZmYueCwgbmV4dFRhbkRpZmYueSkgPCBNSU5fRElGRikge1xuXHRcdGVuZEpvaW5EaXJlY3Rpb24gPSBjdXJyTm9ybWFsO1xuXHR9XG5cdGlmIChhQ29vcmQgPT0gYkNvb3JkKSB7XG5cdFx0ZW5kSm9pbkRpcmVjdGlvbiA9IHN0YXJ0Sm9pbkRpcmVjdGlvbjtcblx0XHRjdXJyTm9ybWFsID0gcHJldk5vcm1hbDtcblx0XHRjdXJyVGFuZ2VudCA9IHByZXZUYW5nZW50O1xuXHR9XG5cblx0dGFuZ2VudCA9IGN1cnJUYW5nZW50O1xuXG5cdC8vY2FsY3VsYXRlIGpvaW4gc2hpZnRzIHJlbGF0aXZlIHRvIG5vcm1hbHNcblx0ZmxvYXQgc3RhcnRKb2luU2hpZnQgPSBkb3QoY3Vyck5vcm1hbCwgc3RhcnRKb2luRGlyZWN0aW9uKTtcblx0ZmxvYXQgZW5kSm9pblNoaWZ0ID0gZG90KGN1cnJOb3JtYWwsIGVuZEpvaW5EaXJlY3Rpb24pO1xuXG5cdGZsb2F0IHN0YXJ0TWl0ZXJSYXRpbyA9IGFicygxLiAvIHN0YXJ0Sm9pblNoaWZ0KTtcblx0ZmxvYXQgZW5kTWl0ZXJSYXRpbyA9IGFicygxLiAvIGVuZEpvaW5TaGlmdCk7XG5cblx0dmVjMiBzdGFydEpvaW4gPSBzdGFydEpvaW5EaXJlY3Rpb24gKiBzdGFydE1pdGVyUmF0aW87XG5cdHZlYzIgZW5kSm9pbiA9IGVuZEpvaW5EaXJlY3Rpb24gKiBlbmRNaXRlclJhdGlvO1xuXG5cdHZlYzIgc3RhcnRUb3BKb2luLCBzdGFydEJvdEpvaW4sIGVuZFRvcEpvaW4sIGVuZEJvdEpvaW47XG5cdHN0YXJ0VG9wSm9pbiA9IHNpZ24oc3RhcnRKb2luU2hpZnQpICogc3RhcnRKb2luICogLjU7XG5cdHN0YXJ0Qm90Sm9pbiA9IC1zdGFydFRvcEpvaW47XG5cblx0ZW5kVG9wSm9pbiA9IHNpZ24oZW5kSm9pblNoaWZ0KSAqIGVuZEpvaW4gKiAuNTtcblx0ZW5kQm90Sm9pbiA9IC1lbmRUb3BKb2luO1xuXG5cdHZlYzIgYVRvcENvb3JkID0gYUNvb3JkICsgbm9ybWFsV2lkdGggKiBzdGFydFRvcEpvaW47XG5cdHZlYzIgYlRvcENvb3JkID0gYkNvb3JkICsgbm9ybWFsV2lkdGggKiBlbmRUb3BKb2luO1xuXHR2ZWMyIGFCb3RDb29yZCA9IGFDb29yZCArIG5vcm1hbFdpZHRoICogc3RhcnRCb3RKb2luO1xuXHR2ZWMyIGJCb3RDb29yZCA9IGJDb29yZCArIG5vcm1hbFdpZHRoICogZW5kQm90Sm9pbjtcblxuXHQvL21pdGVyIGFudGktY2xpcHBpbmdcblx0ZmxvYXQgYmFDbGlwcGluZyA9IGRpc3RUb0xpbmUoYkNvb3JkLCBhQ29vcmQsIGFCb3RDb29yZCkgLyBkb3Qobm9ybWFsaXplKG5vcm1hbFdpZHRoICogZW5kQm90Sm9pbiksIG5vcm1hbGl6ZShub3JtYWxXaWR0aC55eCAqIHZlYzIoLXN0YXJ0Qm90Sm9pbi55LCBzdGFydEJvdEpvaW4ueCkpKTtcblx0ZmxvYXQgYWJDbGlwcGluZyA9IGRpc3RUb0xpbmUoYUNvb3JkLCBiQ29vcmQsIGJUb3BDb29yZCkgLyBkb3Qobm9ybWFsaXplKG5vcm1hbFdpZHRoICogc3RhcnRCb3RKb2luKSwgbm9ybWFsaXplKG5vcm1hbFdpZHRoLnl4ICogdmVjMigtZW5kQm90Sm9pbi55LCBlbmRCb3RKb2luLngpKSk7XG5cblx0Ly9wcmV2ZW50IGNsb3NlIHRvIHJldmVyc2UgZGlyZWN0aW9uIHN3aXRjaFxuXHRib29sIHByZXZSZXZlcnNlID0gZG90KGN1cnJUYW5nZW50LCBwcmV2VGFuZ2VudCkgPD0gUkVWRVJTRV9USFJFU0hPTEQgJiYgYWJzKGRvdChjdXJyVGFuZ2VudCwgcHJldk5vcm1hbCkpICogbWluKGxlbmd0aChwcmV2RGlmZiksIGxlbmd0aChjdXJyRGlmZikpIDwgIGxlbmd0aChub3JtYWxXaWR0aCAqIGN1cnJOb3JtYWwpO1xuXHRib29sIG5leHRSZXZlcnNlID0gZG90KGN1cnJUYW5nZW50LCBuZXh0VGFuZ2VudCkgPD0gUkVWRVJTRV9USFJFU0hPTEQgJiYgYWJzKGRvdChjdXJyVGFuZ2VudCwgbmV4dE5vcm1hbCkpICogbWluKGxlbmd0aChuZXh0RGlmZiksIGxlbmd0aChjdXJyRGlmZikpIDwgIGxlbmd0aChub3JtYWxXaWR0aCAqIGN1cnJOb3JtYWwpO1xuXG5cdGlmIChwcmV2UmV2ZXJzZSkge1xuXHRcdC8vbWFrZSBqb2luIHJlY3Rhbmd1bGFyXG5cdFx0dmVjMiBtaXRlclNoaWZ0ID0gbm9ybWFsV2lkdGggKiBzdGFydEpvaW5EaXJlY3Rpb24gKiBtaXRlckxpbWl0ICogLjU7XG5cdFx0ZmxvYXQgbm9ybWFsQWRqdXN0ID0gMS4gLSBtaW4obWl0ZXJMaW1pdCAvIHN0YXJ0TWl0ZXJSYXRpbywgMS4pO1xuXHRcdGFCb3RDb29yZCA9IGFDb29yZCArIG1pdGVyU2hpZnQgLSBub3JtYWxBZGp1c3QgKiBub3JtYWxXaWR0aCAqIGN1cnJOb3JtYWwgKiAuNTtcblx0XHRhVG9wQ29vcmQgPSBhQ29vcmQgKyBtaXRlclNoaWZ0ICsgbm9ybWFsQWRqdXN0ICogbm9ybWFsV2lkdGggKiBjdXJyTm9ybWFsICogLjU7XG5cdH1cblx0ZWxzZSBpZiAoIW5leHRSZXZlcnNlICYmIGJhQ2xpcHBpbmcgPiAwLiAmJiBiYUNsaXBwaW5nIDwgbGVuZ3RoKG5vcm1hbFdpZHRoICogZW5kQm90Sm9pbikpIHtcblx0XHQvL2hhbmRsZSBtaXRlciBjbGlwcGluZ1xuXHRcdGJUb3BDb29yZCAtPSBub3JtYWxXaWR0aCAqIGVuZFRvcEpvaW47XG5cdFx0YlRvcENvb3JkICs9IG5vcm1hbGl6ZShlbmRUb3BKb2luICogbm9ybWFsV2lkdGgpICogYmFDbGlwcGluZztcblx0fVxuXG5cdGlmIChuZXh0UmV2ZXJzZSkge1xuXHRcdC8vbWFrZSBqb2luIHJlY3Rhbmd1bGFyXG5cdFx0dmVjMiBtaXRlclNoaWZ0ID0gbm9ybWFsV2lkdGggKiBlbmRKb2luRGlyZWN0aW9uICogbWl0ZXJMaW1pdCAqIC41O1xuXHRcdGZsb2F0IG5vcm1hbEFkanVzdCA9IDEuIC0gbWluKG1pdGVyTGltaXQgLyBlbmRNaXRlclJhdGlvLCAxLik7XG5cdFx0YkJvdENvb3JkID0gYkNvb3JkICsgbWl0ZXJTaGlmdCAtIG5vcm1hbEFkanVzdCAqIG5vcm1hbFdpZHRoICogY3Vyck5vcm1hbCAqIC41O1xuXHRcdGJUb3BDb29yZCA9IGJDb29yZCArIG1pdGVyU2hpZnQgKyBub3JtYWxBZGp1c3QgKiBub3JtYWxXaWR0aCAqIGN1cnJOb3JtYWwgKiAuNTtcblx0fVxuXHRlbHNlIGlmICghcHJldlJldmVyc2UgJiYgYWJDbGlwcGluZyA+IDAuICYmIGFiQ2xpcHBpbmcgPCBsZW5ndGgobm9ybWFsV2lkdGggKiBzdGFydEJvdEpvaW4pKSB7XG5cdFx0Ly9oYW5kbGUgbWl0ZXIgY2xpcHBpbmdcblx0XHRhQm90Q29vcmQgLT0gbm9ybWFsV2lkdGggKiBzdGFydEJvdEpvaW47XG5cdFx0YUJvdENvb3JkICs9IG5vcm1hbGl6ZShzdGFydEJvdEpvaW4gKiBub3JtYWxXaWR0aCkgKiBhYkNsaXBwaW5nO1xuXHR9XG5cblx0dmVjMiBhVG9wUG9zaXRpb24gPSAoYVRvcENvb3JkKSAqIGFkanVzdGVkU2NhbGUgKyB0cmFuc2xhdGU7XG5cdHZlYzIgYUJvdFBvc2l0aW9uID0gKGFCb3RDb29yZCkgKiBhZGp1c3RlZFNjYWxlICsgdHJhbnNsYXRlO1xuXG5cdHZlYzIgYlRvcFBvc2l0aW9uID0gKGJUb3BDb29yZCkgKiBhZGp1c3RlZFNjYWxlICsgdHJhbnNsYXRlO1xuXHR2ZWMyIGJCb3RQb3NpdGlvbiA9IChiQm90Q29vcmQpICogYWRqdXN0ZWRTY2FsZSArIHRyYW5zbGF0ZTtcblxuXHQvL3Bvc2l0aW9uIGlzIG5vcm1hbGl6ZWQgMC4uMSBjb29yZCBvbiB0aGUgc2NyZWVuXG5cdHZlYzIgcG9zaXRpb24gPSAoYVRvcFBvc2l0aW9uICogbGluZVRvcCArIGFCb3RQb3NpdGlvbiAqIGxpbmVCb3QpICogbGluZVN0YXJ0ICsgKGJUb3BQb3NpdGlvbiAqIGxpbmVUb3AgKyBiQm90UG9zaXRpb24gKiBsaW5lQm90KSAqIGxpbmVFbmQ7XG5cblx0c3RhcnRDb29yZCA9IGFDb29yZCAqIHNjYWxlUmF0aW8gKyB0cmFuc2xhdGUgKiB2aWV3cG9ydC56dyArIHZpZXdwb3J0Lnh5O1xuXHRlbmRDb29yZCA9IGJDb29yZCAqIHNjYWxlUmF0aW8gKyB0cmFuc2xhdGUgKiB2aWV3cG9ydC56dyArIHZpZXdwb3J0Lnh5O1xuXG5cdGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiAgKiAyLjAgLSAxLjAsIGRlcHRoLCAxKTtcblxuXHRlbmFibGVTdGFydE1pdGVyID0gc3RlcChkb3QoY3VyclRhbmdlbnQsIHByZXZUYW5nZW50KSwgLjUpO1xuXHRlbmFibGVFbmRNaXRlciA9IHN0ZXAoZG90KGN1cnJUYW5nZW50LCBuZXh0VGFuZ2VudCksIC41KTtcblxuXHQvL2JldmVsIG1pdGVyIGN1dG9mZnNcblx0aWYgKG1pdGVyTW9kZSA9PSAxLikge1xuXHRcdGlmIChlbmFibGVTdGFydE1pdGVyID09IDEuKSB7XG5cdFx0XHR2ZWMyIHN0YXJ0TWl0ZXJXaWR0aCA9IHZlYzIoc3RhcnRKb2luRGlyZWN0aW9uKSAqIHRoaWNrbmVzcyAqIG1pdGVyTGltaXQgKiAuNTtcblx0XHRcdHN0YXJ0Q3V0b2ZmID0gdmVjNChhQ29vcmQsIGFDb29yZCk7XG5cdFx0XHRzdGFydEN1dG9mZi56dyArPSB2ZWMyKC1zdGFydEpvaW5EaXJlY3Rpb24ueSwgc3RhcnRKb2luRGlyZWN0aW9uLngpIC8gc2NhbGVSYXRpbztcblx0XHRcdHN0YXJ0Q3V0b2ZmID0gc3RhcnRDdXRvZmYgKiBzY2FsZVJhdGlvLnh5eHkgKyB0cmFuc2xhdGUueHl4eSAqIHZpZXdwb3J0Lnp3enc7XG5cdFx0XHRzdGFydEN1dG9mZiArPSB2aWV3cG9ydC54eXh5O1xuXHRcdFx0c3RhcnRDdXRvZmYgKz0gc3RhcnRNaXRlcldpZHRoLnh5eHk7XG5cdFx0fVxuXG5cdFx0aWYgKGVuYWJsZUVuZE1pdGVyID09IDEuKSB7XG5cdFx0XHR2ZWMyIGVuZE1pdGVyV2lkdGggPSB2ZWMyKGVuZEpvaW5EaXJlY3Rpb24pICogdGhpY2tuZXNzICogbWl0ZXJMaW1pdCAqIC41O1xuXHRcdFx0ZW5kQ3V0b2ZmID0gdmVjNChiQ29vcmQsIGJDb29yZCk7XG5cdFx0XHRlbmRDdXRvZmYuencgKz0gdmVjMigtZW5kSm9pbkRpcmVjdGlvbi55LCBlbmRKb2luRGlyZWN0aW9uLngpICAvIHNjYWxlUmF0aW87XG5cdFx0XHRlbmRDdXRvZmYgPSBlbmRDdXRvZmYgKiBzY2FsZVJhdGlvLnh5eHkgKyB0cmFuc2xhdGUueHl4eSAqIHZpZXdwb3J0Lnp3enc7XG5cdFx0XHRlbmRDdXRvZmYgKz0gdmlld3BvcnQueHl4eTtcblx0XHRcdGVuZEN1dG9mZiArPSBlbmRNaXRlcldpZHRoLnh5eHk7XG5cdFx0fVxuXHR9XG5cblx0Ly9yb3VuZCBtaXRlciBjdXRvZmZzXG5cdGVsc2UgaWYgKG1pdGVyTW9kZSA9PSAyLikge1xuXHRcdGlmIChlbmFibGVTdGFydE1pdGVyID09IDEuKSB7XG5cdFx0XHR2ZWMyIHN0YXJ0TWl0ZXJXaWR0aCA9IHZlYzIoc3RhcnRKb2luRGlyZWN0aW9uKSAqIHRoaWNrbmVzcyAqIGFicyhkb3Qoc3RhcnRKb2luRGlyZWN0aW9uLCBjdXJyTm9ybWFsKSkgKiAuNTtcblx0XHRcdHN0YXJ0Q3V0b2ZmID0gdmVjNChhQ29vcmQsIGFDb29yZCk7XG5cdFx0XHRzdGFydEN1dG9mZi56dyArPSB2ZWMyKC1zdGFydEpvaW5EaXJlY3Rpb24ueSwgc3RhcnRKb2luRGlyZWN0aW9uLngpIC8gc2NhbGVSYXRpbztcblx0XHRcdHN0YXJ0Q3V0b2ZmID0gc3RhcnRDdXRvZmYgKiBzY2FsZVJhdGlvLnh5eHkgKyB0cmFuc2xhdGUueHl4eSAqIHZpZXdwb3J0Lnp3enc7XG5cdFx0XHRzdGFydEN1dG9mZiArPSB2aWV3cG9ydC54eXh5O1xuXHRcdFx0c3RhcnRDdXRvZmYgKz0gc3RhcnRNaXRlcldpZHRoLnh5eHk7XG5cdFx0fVxuXG5cdFx0aWYgKGVuYWJsZUVuZE1pdGVyID09IDEuKSB7XG5cdFx0XHR2ZWMyIGVuZE1pdGVyV2lkdGggPSB2ZWMyKGVuZEpvaW5EaXJlY3Rpb24pICogdGhpY2tuZXNzICogYWJzKGRvdChlbmRKb2luRGlyZWN0aW9uLCBjdXJyTm9ybWFsKSkgKiAuNTtcblx0XHRcdGVuZEN1dG9mZiA9IHZlYzQoYkNvb3JkLCBiQ29vcmQpO1xuXHRcdFx0ZW5kQ3V0b2ZmLnp3ICs9IHZlYzIoLWVuZEpvaW5EaXJlY3Rpb24ueSwgZW5kSm9pbkRpcmVjdGlvbi54KSAgLyBzY2FsZVJhdGlvO1xuXHRcdFx0ZW5kQ3V0b2ZmID0gZW5kQ3V0b2ZmICogc2NhbGVSYXRpby54eXh5ICsgdHJhbnNsYXRlLnh5eHkgKiB2aWV3cG9ydC56d3p3O1xuXHRcdFx0ZW5kQ3V0b2ZmICs9IHZpZXdwb3J0Lnh5eHk7XG5cdFx0XHRlbmRDdXRvZmYgKz0gZW5kTWl0ZXJXaWR0aC54eXh5O1xuXHRcdH1cblx0fVxufVxuIl0pLGZyYWc6byhbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnVuaWZvcm0gc2FtcGxlcjJEIGRhc2hQYXR0ZXJuO1xudW5pZm9ybSBmbG9hdCBkYXNoU2l6ZSwgcGl4ZWxSYXRpbywgdGhpY2tuZXNzLCBvcGFjaXR5LCBpZCwgbWl0ZXJNb2RlO1xuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xudmFyeWluZyB2ZWMyIHRhbmdlbnQ7XG52YXJ5aW5nIHZlYzQgc3RhcnRDdXRvZmYsIGVuZEN1dG9mZjtcbnZhcnlpbmcgdmVjMiBzdGFydENvb3JkLCBlbmRDb29yZDtcbnZhcnlpbmcgZmxvYXQgZW5hYmxlU3RhcnRNaXRlciwgZW5hYmxlRW5kTWl0ZXI7XG5cbmZsb2F0IGRpc3RUb0xpbmUodmVjMiBwLCB2ZWMyIGEsIHZlYzIgYikge1xuXHR2ZWMyIGRpZmYgPSBiIC0gYTtcblx0dmVjMiBwZXJwID0gbm9ybWFsaXplKHZlYzIoLWRpZmYueSwgZGlmZi54KSk7XG5cdHJldHVybiBkb3QocCAtIGEsIHBlcnApO1xufVxuXG52b2lkIG1haW4oKSB7XG5cdGZsb2F0IGFscGhhID0gMS4sIGRpc3RUb1N0YXJ0LCBkaXN0VG9FbmQ7XG5cdGZsb2F0IGN1dG9mZiA9IHRoaWNrbmVzcyAqIC41O1xuXG5cdC8vYmV2ZWwgbWl0ZXJcblx0aWYgKG1pdGVyTW9kZSA9PSAxLikge1xuXHRcdGlmIChlbmFibGVTdGFydE1pdGVyID09IDEuKSB7XG5cdFx0XHRkaXN0VG9TdGFydCA9IGRpc3RUb0xpbmUoZ2xfRnJhZ0Nvb3JkLnh5LCBzdGFydEN1dG9mZi54eSwgc3RhcnRDdXRvZmYuencpO1xuXHRcdFx0aWYgKGRpc3RUb1N0YXJ0IDwgLTEuKSB7XG5cdFx0XHRcdGRpc2NhcmQ7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGFscGhhICo9IG1pbihtYXgoZGlzdFRvU3RhcnQgKyAxLiwgMC4pLCAxLik7XG5cdFx0fVxuXG5cdFx0aWYgKGVuYWJsZUVuZE1pdGVyID09IDEuKSB7XG5cdFx0XHRkaXN0VG9FbmQgPSBkaXN0VG9MaW5lKGdsX0ZyYWdDb29yZC54eSwgZW5kQ3V0b2ZmLnh5LCBlbmRDdXRvZmYuencpO1xuXHRcdFx0aWYgKGRpc3RUb0VuZCA8IC0xLikge1xuXHRcdFx0XHRkaXNjYXJkO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRhbHBoYSAqPSBtaW4obWF4KGRpc3RUb0VuZCArIDEuLCAwLiksIDEuKTtcblx0XHR9XG5cdH1cblxuXHQvLyByb3VuZCBtaXRlclxuXHRlbHNlIGlmIChtaXRlck1vZGUgPT0gMi4pIHtcblx0XHRpZiAoZW5hYmxlU3RhcnRNaXRlciA9PSAxLikge1xuXHRcdFx0ZGlzdFRvU3RhcnQgPSBkaXN0VG9MaW5lKGdsX0ZyYWdDb29yZC54eSwgc3RhcnRDdXRvZmYueHksIHN0YXJ0Q3V0b2ZmLnp3KTtcblx0XHRcdGlmIChkaXN0VG9TdGFydCA8IDAuKSB7XG5cdFx0XHRcdGZsb2F0IHJhZGl1cyA9IGxlbmd0aChnbF9GcmFnQ29vcmQueHkgLSBzdGFydENvb3JkKTtcblxuXHRcdFx0XHRpZihyYWRpdXMgPiBjdXRvZmYgKyAuNSkge1xuXHRcdFx0XHRcdGRpc2NhcmQ7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YWxwaGEgLT0gc21vb3Roc3RlcChjdXRvZmYgLSAuNSwgY3V0b2ZmICsgLjUsIHJhZGl1cyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGVuYWJsZUVuZE1pdGVyID09IDEuKSB7XG5cdFx0XHRkaXN0VG9FbmQgPSBkaXN0VG9MaW5lKGdsX0ZyYWdDb29yZC54eSwgZW5kQ3V0b2ZmLnh5LCBlbmRDdXRvZmYuencpO1xuXHRcdFx0aWYgKGRpc3RUb0VuZCA8IDAuKSB7XG5cdFx0XHRcdGZsb2F0IHJhZGl1cyA9IGxlbmd0aChnbF9GcmFnQ29vcmQueHkgLSBlbmRDb29yZCk7XG5cblx0XHRcdFx0aWYocmFkaXVzID4gY3V0b2ZmICsgLjUpIHtcblx0XHRcdFx0XHRkaXNjYXJkO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGFscGhhIC09IHNtb290aHN0ZXAoY3V0b2ZmIC0gLjUsIGN1dG9mZiArIC41LCByYWRpdXMpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGZsb2F0IHQgPSBmcmFjdChkb3QodGFuZ2VudCwgZ2xfRnJhZ0Nvb3JkLnh5KSAvIGRhc2hTaXplKSAqIC41ICsgLjI1O1xuXHRmbG9hdCBkYXNoID0gdGV4dHVyZTJEKGRhc2hQYXR0ZXJuLCB2ZWMyKHQsIC41KSkucjtcblxuXHRnbF9GcmFnQ29sb3IgPSBmcmFnQ29sb3I7XG5cdGdsX0ZyYWdDb2xvci5hICo9IGFscGhhICogb3BhY2l0eSAqIGRhc2g7XG59XG4iXSksYXR0cmlidXRlczp7bGluZUVuZDp7YnVmZmVyOnIsZGl2aXNvcjowLHN0cmlkZTo4LG9mZnNldDowfSxsaW5lVG9wOntidWZmZXI6cixkaXZpc29yOjAsc3RyaWRlOjgsb2Zmc2V0OjR9LGFDb2xvcjp7YnVmZmVyOnQucHJvcCgiY29sb3JCdWZmZXIiKSxzdHJpZGU6NCxvZmZzZXQ6MCxkaXZpc29yOjF9LGJDb2xvcjp7YnVmZmVyOnQucHJvcCgiY29sb3JCdWZmZXIiKSxzdHJpZGU6NCxvZmZzZXQ6NCxkaXZpc29yOjF9LHByZXZDb29yZDp7YnVmZmVyOnQucHJvcCgicG9zaXRpb25CdWZmZXIiKSxzdHJpZGU6OCxvZmZzZXQ6MCxkaXZpc29yOjF9LGFDb29yZDp7YnVmZmVyOnQucHJvcCgicG9zaXRpb25CdWZmZXIiKSxzdHJpZGU6OCxvZmZzZXQ6OCxkaXZpc29yOjF9LGJDb29yZDp7YnVmZmVyOnQucHJvcCgicG9zaXRpb25CdWZmZXIiKSxzdHJpZGU6OCxvZmZzZXQ6MTYsZGl2aXNvcjoxfSxuZXh0Q29vcmQ6e2J1ZmZlcjp0LnByb3AoInBvc2l0aW9uQnVmZmVyIiksc3RyaWRlOjgsb2Zmc2V0OjI0LGRpdmlzb3I6MX19fSxuKSl9Y2F0Y2godCl7ZT1hfXJldHVybntmaWxsOnQoe3ByaW1pdGl2ZToidHJpYW5nbGUiLGVsZW1lbnRzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUudHJpYW5nbGVzfSxvZmZzZXQ6MCx2ZXJ0Om8oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbiwgcG9zaXRpb25GcmFjdDtcblxudW5pZm9ybSB2ZWM0IGNvbG9yO1xudW5pZm9ybSB2ZWMyIHNjYWxlLCBzY2FsZUZyYWN0LCB0cmFuc2xhdGUsIHRyYW5zbGF0ZUZyYWN0O1xudW5pZm9ybSBmbG9hdCBwaXhlbFJhdGlvLCBpZDtcbnVuaWZvcm0gdmVjNCB2aWV3cG9ydDtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcblxudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcblxuY29uc3QgZmxvYXQgTUFYX0xJTkVTID0gMjU2Ljtcblxudm9pZCBtYWluKCkge1xuXHRmbG9hdCBkZXB0aCA9IChNQVhfTElORVMgLSA0LiAtIGlkKSAvIChNQVhfTElORVMpO1xuXG5cdHZlYzIgcG9zaXRpb24gPSBwb3NpdGlvbiAqIHNjYWxlICsgdHJhbnNsYXRlXG4gICAgICAgKyBwb3NpdGlvbkZyYWN0ICogc2NhbGUgKyB0cmFuc2xhdGVGcmFjdFxuICAgICAgICsgcG9zaXRpb24gKiBzY2FsZUZyYWN0XG4gICAgICAgKyBwb3NpdGlvbkZyYWN0ICogc2NhbGVGcmFjdDtcblxuXHRnbF9Qb3NpdGlvbiA9IHZlYzQocG9zaXRpb24gKiAyLjAgLSAxLjAsIGRlcHRoLCAxKTtcblxuXHRmcmFnQ29sb3IgPSBjb2xvciAvIDI1NS47XG5cdGZyYWdDb2xvci5hICo9IG9wYWNpdHk7XG59XG4iXSksZnJhZzpvKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuXHRnbF9GcmFnQ29sb3IgPSBmcmFnQ29sb3I7XG59XG4iXSksdW5pZm9ybXM6e3NjYWxlOnQucHJvcCgic2NhbGUiKSxjb2xvcjp0LnByb3AoImZpbGwiKSxzY2FsZUZyYWN0OnQucHJvcCgic2NhbGVGcmFjdCIpLHRyYW5zbGF0ZUZyYWN0OnQucHJvcCgidHJhbnNsYXRlRnJhY3QiKSx0cmFuc2xhdGU6dC5wcm9wKCJ0cmFuc2xhdGUiKSxvcGFjaXR5OnQucHJvcCgib3BhY2l0eSIpLHBpeGVsUmF0aW86dC5jb250ZXh0KCJwaXhlbFJhdGlvIiksaWQ6dC5wcm9wKCJpZCIpLHZpZXdwb3J0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuW2Uudmlld3BvcnQueCxlLnZpZXdwb3J0LnksdC52aWV3cG9ydFdpZHRoLHQudmlld3BvcnRIZWlnaHRdfX0sYXR0cmlidXRlczp7cG9zaXRpb246e2J1ZmZlcjp0LnByb3AoInBvc2l0aW9uQnVmZmVyIiksc3RyaWRlOjgsb2Zmc2V0Ojh9LHBvc2l0aW9uRnJhY3Q6e2J1ZmZlcjp0LnByb3AoInBvc2l0aW9uRnJhY3RCdWZmZXIiKSxzdHJpZGU6OCxvZmZzZXQ6OH19LGJsZW5kOm4uYmxlbmQsZGVwdGg6e2VuYWJsZTohMX0sc2Npc3NvcjpuLnNjaXNzb3Isc3RlbmNpbDpuLnN0ZW5jaWwsdmlld3BvcnQ6bi52aWV3cG9ydH0pLHJlY3Q6YSxtaXRlcjplfX0sdi5kZWZhdWx0cz17ZGFzaGVzOm51bGwsam9pbjoibWl0ZXIiLG1pdGVyTGltaXQ6MSx0aGlja25lc3M6MTAsY2FwOiJzcXVhcmUiLGNvbG9yOiJibGFjayIsb3BhY2l0eToxLG92ZXJsYXk6ITEsdmlld3BvcnQ6bnVsbCxyYW5nZTpudWxsLGNsb3NlOiExLGZpbGw6bnVsbH0sdi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9W10scj1hcmd1bWVudHMubGVuZ3RoO3ItLTspZVtyXT1hcmd1bWVudHNbcl07ZS5sZW5ndGgmJih0PXRoaXMpLnVwZGF0ZS5hcHBseSh0LGUpLHRoaXMuZHJhdygpfSx2LnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT1bXSxyPWFyZ3VtZW50cy5sZW5ndGg7ci0tOyllW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4oZS5sZW5ndGg/ZTp0aGlzLnBhc3NlcykuZm9yRWFjaChmdW5jdGlvbihlLHIpe3ZhciBuO2lmKGUmJkFycmF5LmlzQXJyYXkoZSkpcmV0dXJuKG49dCkuZHJhdy5hcHBseShuLGUpOyJudW1iZXIiPT10eXBlb2YgZSYmKGU9dC5wYXNzZXNbZV0pLGUmJmUuY291bnQ+MSYmZS5vcGFjaXR5JiYodC5yZWdsLl9yZWZyZXNoKCksZS5maWxsJiZlLnRyaWFuZ2xlcyYmZS50cmlhbmdsZXMubGVuZ3RoPjImJnQuc2hhZGVycy5maWxsKGUpLGUudGhpY2tuZXNzJiYoZS5zY2FsZVswXSplLnZpZXdwb3J0LndpZHRoPnYucHJlY2lzaW9uVGhyZXNob2xkfHxlLnNjYWxlWzFdKmUudmlld3BvcnQuaGVpZ2h0PnYucHJlY2lzaW9uVGhyZXNob2xkP3Quc2hhZGVycy5yZWN0KGUpOiJyZWN0Ij09PWUuam9pbnx8IWUuam9pbiYmKGUudGhpY2tuZXNzPD0yfHxlLmNvdW50Pj12Lm1heFBvaW50cyk/dC5zaGFkZXJzLnJlY3QoZSk6dC5zaGFkZXJzLm1pdGVyKGUpKSl9KSx0aGlzfSx2LnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0KXtudWxsIT10Lmxlbmd0aD8ibnVtYmVyIj09dHlwZW9mIHRbMF0mJih0PVt7cG9zaXRpb25zOnR9XSk6QXJyYXkuaXNBcnJheSh0KXx8KHQ9W3RdKTt2YXIgcj10aGlzLnJlZ2wsbz10aGlzLmdsO2lmKHQuZm9yRWFjaChmdW5jdGlvbih0LGgpe3ZhciBkPWUucGFzc2VzW2hdO2lmKHZvaWQgMCE9PXQpaWYobnVsbCE9PXQpe2lmKCJudW1iZXIiPT10eXBlb2YgdFswXSYmKHQ9e3Bvc2l0aW9uczp0fSksdD1zKHQse3Bvc2l0aW9uczoicG9zaXRpb25zIHBvaW50cyBkYXRhIGNvb3JkcyIsdGhpY2tuZXNzOiJ0aGlja25lc3MgbGluZVdpZHRoIGxpbmVXaWR0aHMgbGluZS13aWR0aCBsaW5ld2lkdGggd2lkdGggc3Ryb2tlLXdpZHRoIHN0cm9rZXdpZHRoIHN0cm9rZVdpZHRoIixqb2luOiJsaW5lSm9pbiBsaW5lam9pbiBqb2luIHR5cGUgbW9kZSIsbWl0ZXJMaW1pdDoibWl0ZXJsaW1pdCBtaXRlckxpbWl0IixkYXNoZXM6ImRhc2ggZGFzaGVzIGRhc2hhcnJheSBkYXNoLWFycmF5IGRhc2hBcnJheSIsY29sb3I6ImNvbG9yIGNvbG91ciBzdHJva2UgY29sb3JzIGNvbG91cnMgc3Ryb2tlLWNvbG9yIHN0cm9rZUNvbG9yIixmaWxsOiJmaWxsIGZpbGwtY29sb3IgZmlsbENvbG9yIixvcGFjaXR5OiJhbHBoYSBvcGFjaXR5IixvdmVybGF5OiJvdmVybGF5IGNyZWFzZSBvdmVybGFwIGludGVyc2VjdCIsY2xvc2U6ImNsb3NlZCBjbG9zZSBjbG9zZWQtcGF0aCBjbG9zZVBhdGgiLHJhbmdlOiJyYW5nZSBkYXRhQm94Iix2aWV3cG9ydDoidmlld3BvcnQgdmlld0JveCIsaG9sZToiaG9sZXMgaG9sZSBob2xsb3cifSksZHx8KGUucGFzc2VzW2hdPWQ9e2lkOmgsc2NhbGU6bnVsbCxzY2FsZUZyYWN0Om51bGwsdHJhbnNsYXRlOm51bGwsdHJhbnNsYXRlRnJhY3Q6bnVsbCxjb3VudDowLGhvbGU6W10sZGVwdGg6MCxkYXNoTGVuZ3RoOjEsZGFzaFRleHR1cmU6ci50ZXh0dXJlKHtjaGFubmVsczoxLGRhdGE6bmV3IFVpbnQ4QXJyYXkoWzI1NV0pLHdpZHRoOjEsaGVpZ2h0OjEsbWFnOiJsaW5lYXIiLG1pbjoibGluZWFyIn0pLGNvbG9yQnVmZmVyOnIuYnVmZmVyKHt1c2FnZToiZHluYW1pYyIsdHlwZToidWludDgiLGRhdGE6bmV3IFVpbnQ4QXJyYXl9KSxwb3NpdGlvbkJ1ZmZlcjpyLmJ1ZmZlcih7dXNhZ2U6ImR5bmFtaWMiLHR5cGU6ImZsb2F0IixkYXRhOm5ldyBVaW50OEFycmF5fSkscG9zaXRpb25GcmFjdEJ1ZmZlcjpyLmJ1ZmZlcih7dXNhZ2U6ImR5bmFtaWMiLHR5cGU6ImZsb2F0IixkYXRhOm5ldyBVaW50OEFycmF5fSl9LHQ9aSh7fSx2LmRlZmF1bHRzLHQpKSxudWxsIT10LnRoaWNrbmVzcyYmKGQudGhpY2tuZXNzPXBhcnNlRmxvYXQodC50aGlja25lc3MpKSxudWxsIT10Lm9wYWNpdHkmJihkLm9wYWNpdHk9cGFyc2VGbG9hdCh0Lm9wYWNpdHkpKSxudWxsIT10Lm1pdGVyTGltaXQmJihkLm1pdGVyTGltaXQ9cGFyc2VGbG9hdCh0Lm1pdGVyTGltaXQpKSxudWxsIT10Lm92ZXJsYXkmJihkLm92ZXJsYXk9ISF0Lm92ZXJsYXksaDx2Lm1heExpbmVzJiYoZC5kZXB0aD0yKih2Lm1heExpbmVzLTEtaCV2Lm1heExpbmVzKS92Lm1heExpbmVzLTEpKSxudWxsIT10LmpvaW4mJihkLmpvaW49dC5qb2luKSxudWxsIT10LmhvbGUmJihkLmhvbGU9dC5ob2xlKSxudWxsIT10LmZpbGwmJihkLmZpbGw9dC5maWxsP24odC5maWxsLCJ1aW50OCIpOm51bGwpLG51bGwhPXQudmlld3BvcnQmJihkLnZpZXdwb3J0PWcodC52aWV3cG9ydCkpLGQudmlld3BvcnR8fChkLnZpZXdwb3J0PWcoW28uZHJhd2luZ0J1ZmZlcldpZHRoLG8uZHJhd2luZ0J1ZmZlckhlaWdodF0pKSxudWxsIT10LmNsb3NlJiYoZC5jbG9zZT10LmNsb3NlKSxudWxsPT09dC5wb3NpdGlvbnMmJih0LnBvc2l0aW9ucz1bXSksdC5wb3NpdGlvbnMpe3ZhciBtLHk7aWYodC5wb3NpdGlvbnMueCYmdC5wb3NpdGlvbnMueSl7dmFyIHg9dC5wb3NpdGlvbnMueCxiPXQucG9zaXRpb25zLnk7eT1kLmNvdW50PU1hdGgubWF4KHgubGVuZ3RoLGIubGVuZ3RoKSxtPW5ldyBGbG9hdDY0QXJyYXkoMip5KTtmb3IodmFyIF89MDtfPHk7XysrKW1bMipfXT14W19dLG1bMipfKzFdPWJbX119ZWxzZSBtPWwodC5wb3NpdGlvbnMsImZsb2F0NjQiKSx5PWQuY291bnQ9TWF0aC5mbG9vcihtLmxlbmd0aC8yKTt2YXIgdz1kLmJvdW5kcz1hKG0sMik7aWYoZC5maWxsKXtmb3IodmFyIGs9W10sVD17fSxNPTAsQT0wLFM9MCxFPWQuY291bnQ7QTxFO0ErKyl7dmFyIEw9bVsyKkFdLEM9bVsyKkErMV07aXNOYU4oTCl8fGlzTmFOKEMpfHxudWxsPT1MfHxudWxsPT1DPyhMPW1bMipNXSxDPW1bMipNKzFdLFRbQV09TSk6TT1BLGtbUysrXT1MLGtbUysrXT1DfWZvcih2YXIgUD1jKGssZC5ob2xlfHxbXSksTz0wLHo9UC5sZW5ndGg7Tzx6O08rKyludWxsIT1UW1BbT11dJiYoUFtPXT1UW1BbT11dKTtkLnRyaWFuZ2xlcz1QfXZhciBJPW5ldyBGbG9hdDY0QXJyYXkobSk7dShJLDIsdyk7dmFyIEQ9bmV3IEZsb2F0NjRBcnJheSgyKnkrNik7ZC5jbG9zZT9tWzBdPT09bVsyKnktMl0mJm1bMV09PT1tWzIqeS0xXT8oRFswXT1JWzIqeS00XSxEWzFdPUlbMip5LTNdKTooRFswXT1JWzIqeS0yXSxEWzFdPUlbMip5LTFdKTooRFswXT1JWzBdLERbMV09SVsxXSksRC5zZXQoSSwyKSxkLmNsb3NlP21bMF09PT1tWzIqeS0yXSYmbVsxXT09PW1bMip5LTFdPyhEWzIqeSsyXT1JWzJdLERbMip5KzNdPUlbM10sZC5jb3VudC09MSk6KERbMip5KzJdPUlbMF0sRFsyKnkrM109SVsxXSxEWzIqeSs0XT1JWzJdLERbMip5KzVdPUlbM10pOihEWzIqeSsyXT1JWzIqeS0yXSxEWzIqeSszXT1JWzIqeS0xXSxEWzIqeSs0XT1JWzIqeS0yXSxEWzIqeSs1XT1JWzIqeS0xXSksZC5wb3NpdGlvbkJ1ZmZlcihmKEQpKSxkLnBvc2l0aW9uRnJhY3RCdWZmZXIocChEKSl9aWYodC5yYW5nZT9kLnJhbmdlPXQucmFuZ2U6ZC5yYW5nZXx8KGQucmFuZ2U9ZC5ib3VuZHMpLCh0LnJhbmdlfHx0LnBvc2l0aW9ucykmJmQuY291bnQpe3ZhciBSPWQuYm91bmRzLEY9UlsyXS1SWzBdLEI9UlszXS1SWzFdLE49ZC5yYW5nZVsyXS1kLnJhbmdlWzBdLGo9ZC5yYW5nZVszXS1kLnJhbmdlWzFdO2Quc2NhbGU9W0YvTixCL2pdLGQudHJhbnNsYXRlPVstZC5yYW5nZVswXS9OK1JbMF0vTnx8MCwtZC5yYW5nZVsxXS9qK1JbMV0vanx8MF0sZC5zY2FsZUZyYWN0PXAoZC5zY2FsZSksZC50cmFuc2xhdGVGcmFjdD1wKGQudHJhbnNsYXRlKX1pZih0LmRhc2hlcyl7dmFyIFYsVT0wO2lmKCF0LmRhc2hlc3x8dC5kYXNoZXMubGVuZ3RoPDIpVT0xLFY9bmV3IFVpbnQ4QXJyYXkoWzI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTVdKTtlbHNle1U9MDtmb3IodmFyIHE9MDtxPHQuZGFzaGVzLmxlbmd0aDsrK3EpVSs9dC5kYXNoZXNbcV07Vj1uZXcgVWludDhBcnJheShVKnYuZGFzaE11bHQpO2Zvcih2YXIgSD0wLEc9MjU1LFk9MDtZPDI7WSsrKWZvcih2YXIgVz0wO1c8dC5kYXNoZXMubGVuZ3RoOysrVyl7Zm9yKHZhciBYPTAsWj10LmRhc2hlc1tXXSp2LmRhc2hNdWx0Ki41O1g8WjsrK1gpVltIKytdPUc7R149MjU1fX1kLmRhc2hMZW5ndGg9VSxkLmRhc2hUZXh0dXJlKHtjaGFubmVsczoxLGRhdGE6Vix3aWR0aDpWLmxlbmd0aCxoZWlnaHQ6MSxtYWc6ImxpbmVhciIsbWluOiJsaW5lYXIifSwwLDApfWlmKHQuY29sb3Ipe3ZhciBKPWQuY291bnQsSz10LmNvbG9yO0t8fChLPSJ0cmFuc3BhcmVudCIpO3ZhciBRPW5ldyBVaW50OEFycmF5KDQqSis0KTtpZihBcnJheS5pc0FycmF5KEspJiYibnVtYmVyIiE9dHlwZW9mIEtbMF0pe2Zvcih2YXIgJD0wOyQ8SjskKyspe3ZhciB0dD1uKEtbJF0sInVpbnQ4Iik7US5zZXQodHQsNCokKX1RLnNldChuKEtbMF0sInVpbnQ4IiksNCpKKX1lbHNlIGZvcih2YXIgZXQ9bihLLCJ1aW50OCIpLHJ0PTA7cnQ8SisxO3J0KyspUS5zZXQoZXQsNCpydCk7ZC5jb2xvckJ1ZmZlcih7dXNhZ2U6ImR5bmFtaWMiLHR5cGU6InVpbnQ4IixkYXRhOlF9KX19ZWxzZSBlLnBhc3Nlc1toXT1udWxsfSksdC5sZW5ndGg8dGhpcy5wYXNzZXMubGVuZ3RoKXtmb3IodmFyIGg9dC5sZW5ndGg7aDx0aGlzLnBhc3Nlcy5sZW5ndGg7aCsrKXt2YXIgZD1lLnBhc3Nlc1toXTtkJiYoZC5jb2xvckJ1ZmZlci5kZXN0cm95KCksZC5wb3NpdGlvbkJ1ZmZlci5kZXN0cm95KCksZC5kYXNoVGV4dHVyZS5kZXN0cm95KCkpfXRoaXMucGFzc2VzLmxlbmd0aD10Lmxlbmd0aH1mb3IodmFyIG09W10seT0wO3k8dGhpcy5wYXNzZXMubGVuZ3RoO3krKyludWxsIT09ZS5wYXNzZXNbeV0mJm0ucHVzaChlLnBhc3Nlc1t5XSk7cmV0dXJuIHRoaXMucGFzc2VzPW0sdGhpc319LHYucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXNzZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNvbG9yQnVmZmVyLmRlc3Ryb3koKSx0LnBvc2l0aW9uQnVmZmVyLmRlc3Ryb3koKSx0LmRhc2hUZXh0dXJlLmRlc3Ryb3koKX0pLHRoaXMucGFzc2VzLmxlbmd0aD0wLHRoaXN9fSx7ImFycmF5LWJvdW5kcyI6NjgsImFycmF5LW5vcm1hbGl6ZSI6NDk0LCJjb2xvci1ub3JtYWxpemUiOjEyMixlYXJjdXQ6MTczLCJlczYtd2Vhay1tYXAiOjQ5NSwiZmxhdHRlbi12ZXJ0ZXgtZGF0YSI6MjMwLGdsc2xpZnk6NDExLCJvYmplY3QtYXNzaWduIjo0NTYsInBhcnNlLXJlY3QiOjQ2MSwicGljay1ieS1hbGlhcyI6NDY3LCJ0by1mbG9hdDMyIjo1Mzd9XSw0OTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiYXJyYXktYm91bmRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZighdHx8bnVsbD09dC5sZW5ndGgpdGhyb3cgRXJyb3IoIkFyZ3VtZW50IHNob3VsZCBiZSBhbiBhcnJheSIpO251bGw9PWUmJihlPTEpO251bGw9PXImJihyPW4odCxlKSk7Zm9yKHZhciBhPTA7YTxlO2ErKyl7dmFyIGk9cltlK2FdLG89clthXSxzPWEsbD10Lmxlbmd0aDtpZihpPT09MS8wJiZvPT09LTEvMClmb3Iocz1hO3M8bDtzKz1lKXRbc109dFtzXT09PWk/MTp0W3NdPT09bz8wOi41O2Vsc2UgaWYoaT09PTEvMClmb3Iocz1hO3M8bDtzKz1lKXRbc109dFtzXT09PWk/MTowO2Vsc2UgaWYobz09PS0xLzApZm9yKHM9YTtzPGw7cys9ZSl0W3NdPXRbc109PT1vPzA6MTtlbHNle3ZhciBjPWktbztmb3Iocz1hO3M8bDtzKz1lKWlzTmFOKHRbc10pfHwodFtzXT0wPT09Yz8uNToodFtzXS1vKS9jKX19cmV0dXJuIHR9fSx7ImFycmF5LWJvdW5kcyI6Njh9XSw0OTU6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMzIwXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9pcy1pbXBsZW1lbnRlZCI6NDk2LCIuL3BvbHlmaWxsIjo0OTgsZHVwOjMyMH1dLDQ5NjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVszMjFdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDozMjF9XSw0OTc6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMzIyXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MzIyfV0sNDk4OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzMyM11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaXMtbmF0aXZlLWltcGxlbWVudGVkIjo0OTcsZDoxNTMsZHVwOjMyMywiZXM1LWV4dC9vYmplY3QvaXMtdmFsdWUiOjE5NywiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiI6MjAzLCJlczUtZXh0L29iamVjdC92YWxpZC1vYmplY3QiOjIwNywiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOCwiZXM1LWV4dC9zdHJpbmcvcmFuZG9tLXVuaXEiOjIxMywiZXM2LWl0ZXJhdG9yL2Zvci1vZiI6MjE1LCJlczYtaXRlcmF0b3IvZ2V0IjoyMTYsImVzNi1zeW1ib2wiOjIyMn1dLDQ5OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHR9KHQpfHxmdW5jdGlvbih0LGUpe3ZhciByPVtdLG49ITAsYT0hMSxpPXZvaWQgMDt0cnl7Zm9yKHZhciBvLHM9dFtTeW1ib2wuaXRlcmF0b3JdKCk7IShuPShvPXMubmV4dCgpKS5kb25lKSYmKHIucHVzaChvLnZhbHVlKSwhZXx8ci5sZW5ndGghPT1lKTtuPSEwKTt9Y2F0Y2godCl7YT0hMCxpPXR9ZmluYWxseXt0cnl7bnx8bnVsbD09cy5yZXR1cm58fHMucmV0dXJuKCl9ZmluYWxseXtpZihhKXRocm93IGl9fXJldHVybiByfSh0LGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UiKX0oKX1mdW5jdGlvbiBhKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIGU9MCxyPW5ldyBBcnJheSh0Lmxlbmd0aCk7ZTx0Lmxlbmd0aDtlKyspcltlXT10W2VdO3JldHVybiByfX0odCl8fGZ1bmN0aW9uKHQpe2lmKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCl8fCJbb2JqZWN0IEFyZ3VtZW50c10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKXJldHVybiBBcnJheS5mcm9tKHQpfSh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZSIpfSgpfXZhciBpPXQoImNvbG9yLW5vcm1hbGl6ZSIpLG89dCgiYXJyYXktYm91bmRzIikscz10KCJjb2xvci1pZCIpLGw9dCgicG9pbnQtY2x1c3RlciIpLGM9dCgib2JqZWN0LWFzc2lnbiIpLHU9dCgiZ2xzbGlmeSIpLGg9dCgicGljay1ieS1hbGlhcyIpLGY9dCgidXBkYXRlLWRpZmYiKSxwPXQoImZsYXR0ZW4tdmVydGV4LWRhdGEiKSxkPXQoImlzLWlleHBsb3JlciIpLGc9dCgidG8tZmxvYXQzMiIpLHY9dCgicGFyc2UtcmVjdCIpLG09eTtmdW5jdGlvbiB5KHQsZSl7dmFyIHI9dGhpcztpZighKHRoaXMgaW5zdGFuY2VvZiB5KSlyZXR1cm4gbmV3IHkodCxlKTsiZnVuY3Rpb24iPT10eXBlb2YgdD8oZXx8KGU9e30pLGUucmVnbD10KTooZT10LHQ9bnVsbCksZSYmZS5sZW5ndGgmJihlLnBvc2l0aW9ucz1lKTt2YXIgbixhPSh0PWUucmVnbCkuX2dsLGk9W107dGhpcy50b29NYW55Q29sb3JzPWQsbj10LnRleHR1cmUoe2RhdGE6bmV3IFVpbnQ4QXJyYXkoMTAyMCksd2lkdGg6MjU1LGhlaWdodDoxLHR5cGU6InVpbnQ4Iixmb3JtYXQ6InJnYmEiLHdyYXBTOiJjbGFtcCIsd3JhcFQ6ImNsYW1wIixtYWc6Im5lYXJlc3QiLG1pbjoibmVhcmVzdCJ9KSxjKHRoaXMse3JlZ2w6dCxnbDphLGdyb3VwczpbXSxtYXJrZXJDYWNoZTpbbnVsbF0sbWFya2VyVGV4dHVyZXM6W251bGxdLHBhbGV0dGU6aSxwYWxldHRlSWRzOnt9LHBhbGV0dGVUZXh0dXJlOm4sbWF4Q29sb3JzOjI1NSxtYXhTaXplOjEwMCxjYW52YXM6YS5jYW52YXN9KSx0aGlzLnVwZGF0ZShlKTt2YXIgbz17dW5pZm9ybXM6e3BpeGVsUmF0aW86dC5jb250ZXh0KCJwaXhlbFJhdGlvIikscGFsZXR0ZTpuLHBhbGV0dGVTaXplOmZ1bmN0aW9uKHQsZSl7cmV0dXJuW3IudG9vTWFueUNvbG9ycz8wOjI1NSxuLmhlaWdodF19LHNjYWxlOnQucHJvcCgic2NhbGUiKSxzY2FsZUZyYWN0OnQucHJvcCgic2NhbGVGcmFjdCIpLHRyYW5zbGF0ZTp0LnByb3AoInRyYW5zbGF0ZSIpLHRyYW5zbGF0ZUZyYWN0OnQucHJvcCgidHJhbnNsYXRlRnJhY3QiKSxvcGFjaXR5OnQucHJvcCgib3BhY2l0eSIpLG1hcmtlcjp0LnByb3AoIm1hcmtlclRleHR1cmUiKX0sYXR0cmlidXRlczp7eDpmdW5jdGlvbih0LGUpe3JldHVybiBlLnhBdHRyfHx7YnVmZmVyOmUucG9zaXRpb25CdWZmZXIsc3RyaWRlOjgsb2Zmc2V0OjB9fSx5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUueUF0dHJ8fHtidWZmZXI6ZS5wb3NpdGlvbkJ1ZmZlcixzdHJpZGU6OCxvZmZzZXQ6NH19LHhGcmFjdDpmdW5jdGlvbih0LGUpe3JldHVybiBlLnhBdHRyP3tjb25zdGFudDpbMCwwXX06e2J1ZmZlcjplLnBvc2l0aW9uRnJhY3RCdWZmZXIsc3RyaWRlOjgsb2Zmc2V0OjB9fSx5RnJhY3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS55QXR0cj97Y29uc3RhbnQ6WzAsMF19OntidWZmZXI6ZS5wb3NpdGlvbkZyYWN0QnVmZmVyLHN0cmlkZTo4LG9mZnNldDo0fX0sc2l6ZTpmdW5jdGlvbih0LGUpe3JldHVybiBlLnNpemUubGVuZ3RoP3tidWZmZXI6ZS5zaXplQnVmZmVyLHN0cmlkZToyLG9mZnNldDowfTp7Y29uc3RhbnQ6W01hdGgucm91bmQoMjU1KmUuc2l6ZS9yLm1heFNpemUpXX19LGJvcmRlclNpemU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5ib3JkZXJTaXplLmxlbmd0aD97YnVmZmVyOmUuc2l6ZUJ1ZmZlcixzdHJpZGU6MixvZmZzZXQ6MX06e2NvbnN0YW50OltNYXRoLnJvdW5kKDI1NSplLmJvcmRlclNpemUvci5tYXhTaXplKV19fSxjb2xvcklkOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuY29sb3IubGVuZ3RoP3tidWZmZXI6ZS5jb2xvckJ1ZmZlcixzdHJpZGU6ci50b29NYW55Q29sb3JzPzg6NCxvZmZzZXQ6MH06e2NvbnN0YW50OnIudG9vTWFueUNvbG9ycz9pLnNsaWNlKDQqZS5jb2xvciw0KmUuY29sb3IrNCk6W2UuY29sb3JdfX0sYm9yZGVyQ29sb3JJZDpmdW5jdGlvbih0LGUpe3JldHVybiBlLmJvcmRlckNvbG9yLmxlbmd0aD97YnVmZmVyOmUuY29sb3JCdWZmZXIsc3RyaWRlOnIudG9vTWFueUNvbG9ycz84OjQsb2Zmc2V0OnIudG9vTWFueUNvbG9ycz80OjJ9Ontjb25zdGFudDpyLnRvb01hbnlDb2xvcnM/aS5zbGljZSg0KmUuYm9yZGVyQ29sb3IsNCplLmJvcmRlckNvbG9yKzQpOltlLmJvcmRlckNvbG9yXX19LGlzQWN0aXZlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuITA9PT1lLmFjdGl2YXRpb24/e2NvbnN0YW50OlsxXX06ZS5hY3RpdmF0aW9uP2UuYWN0aXZhdGlvbjp7Y29uc3RhbnQ6WzBdfX19LGJsZW5kOntlbmFibGU6ITAsY29sb3I6WzAsMCwwLDFdLGZ1bmM6e3NyY1JHQjoic3JjIGFscGhhIixkc3RSR0I6Im9uZSBtaW51cyBzcmMgYWxwaGEiLHNyY0FscGhhOiJvbmUgbWludXMgZHN0IGFscGhhIixkc3RBbHBoYToib25lIn19LHNjaXNzb3I6e2VuYWJsZTohMCxib3g6dC5wcm9wKCJ2aWV3cG9ydCIpfSx2aWV3cG9ydDp0LnByb3AoInZpZXdwb3J0Iiksc3RlbmNpbDp7ZW5hYmxlOiExfSxkZXB0aDp7ZW5hYmxlOiExfSxlbGVtZW50czp0LnByb3AoImVsZW1lbnRzIiksY291bnQ6dC5wcm9wKCJjb3VudCIpLG9mZnNldDp0LnByb3AoIm9mZnNldCIpLHByaW1pdGl2ZToicG9pbnRzIn0scz1jKHt9LG8pO3MuZnJhZz11KFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudmFyeWluZyB2ZWM0IGZyYWdDb2xvciwgZnJhZ0JvcmRlckNvbG9yO1xudmFyeWluZyBmbG9hdCBmcmFnV2lkdGgsIGZyYWdCb3JkZXJDb2xvckxldmVsLCBmcmFnQ29sb3JMZXZlbDtcblxudW5pZm9ybSBzYW1wbGVyMkQgbWFya2VyO1xudW5pZm9ybSBmbG9hdCBwaXhlbFJhdGlvLCBvcGFjaXR5O1xuXG5mbG9hdCBzbW9vdGhTdGVwKGZsb2F0IHgsIGZsb2F0IHkpIHtcbiAgcmV0dXJuIDEuMCAvICgxLjAgKyBleHAoNTAuMCooeCAtIHkpKSk7XG59XG5cbnZvaWQgbWFpbigpIHtcbiAgZmxvYXQgZGlzdCA9IHRleHR1cmUyRChtYXJrZXIsIGdsX1BvaW50Q29vcmQpLnIsIGRlbHRhID0gZnJhZ1dpZHRoO1xuXG4gIC8vIG1heC1kaXN0YW5jZSBhbHBoYVxuICBpZiAoZGlzdCA8IDAuMDAzKSBkaXNjYXJkO1xuXG4gIC8vIG51bGwtYm9yZGVyIGNhc2VcbiAgaWYgKGZyYWdCb3JkZXJDb2xvckxldmVsID09IGZyYWdDb2xvckxldmVsIHx8IGZyYWdCb3JkZXJDb2xvci5hID09IDAuKSB7XG4gICAgZmxvYXQgY29sb3JBbXQgPSBzbW9vdGhzdGVwKC41IC0gZGVsdGEsIC41ICsgZGVsdGEsIGRpc3QpO1xuICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoZnJhZ0NvbG9yLnJnYiwgY29sb3JBbXQgKiBmcmFnQ29sb3IuYSAqIG9wYWNpdHkpO1xuICB9XG4gIGVsc2Uge1xuICAgIGZsb2F0IGJvcmRlckNvbG9yQW10ID0gc21vb3Roc3RlcChmcmFnQm9yZGVyQ29sb3JMZXZlbCAtIGRlbHRhLCBmcmFnQm9yZGVyQ29sb3JMZXZlbCArIGRlbHRhLCBkaXN0KTtcbiAgICBmbG9hdCBjb2xvckFtdCA9IHNtb290aHN0ZXAoZnJhZ0NvbG9yTGV2ZWwgLSBkZWx0YSwgZnJhZ0NvbG9yTGV2ZWwgKyBkZWx0YSwgZGlzdCk7XG5cbiAgICB2ZWM0IGNvbG9yID0gZnJhZ0JvcmRlckNvbG9yO1xuICAgIGNvbG9yLmEgKj0gYm9yZGVyQ29sb3JBbXQ7XG4gICAgY29sb3IgPSBtaXgoY29sb3IsIGZyYWdDb2xvciwgY29sb3JBbXQpO1xuICAgIGNvbG9yLmEgKj0gb3BhY2l0eTtcblxuICAgIGdsX0ZyYWdDb2xvciA9IGNvbG9yO1xuICB9XG5cbn1cbiJdKSxzLnZlcnQ9dShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSBmbG9hdCB4LCB5LCB4RnJhY3QsIHlGcmFjdDtcbmF0dHJpYnV0ZSBmbG9hdCBzaXplLCBib3JkZXJTaXplO1xuYXR0cmlidXRlIHZlYzQgY29sb3JJZCwgYm9yZGVyQ29sb3JJZDtcbmF0dHJpYnV0ZSBmbG9hdCBpc0FjdGl2ZTtcblxudW5pZm9ybSB2ZWMyIHNjYWxlLCBzY2FsZUZyYWN0LCB0cmFuc2xhdGUsIHRyYW5zbGF0ZUZyYWN0LCBwYWxldHRlU2l6ZTtcbnVuaWZvcm0gZmxvYXQgcGl4ZWxSYXRpbztcbnVuaWZvcm0gc2FtcGxlcjJEIHBhbGV0dGU7XG5cbmNvbnN0IGZsb2F0IG1heFNpemUgPSAxMDAuO1xuY29uc3QgZmxvYXQgYm9yZGVyTGV2ZWwgPSAuNTtcblxudmFyeWluZyB2ZWM0IGZyYWdDb2xvciwgZnJhZ0JvcmRlckNvbG9yO1xudmFyeWluZyBmbG9hdCBmcmFnUG9pbnRTaXplLCBmcmFnQm9yZGVyUmFkaXVzLCBmcmFnV2lkdGgsIGZyYWdCb3JkZXJDb2xvckxldmVsLCBmcmFnQ29sb3JMZXZlbDtcblxuYm9vbCBpc0RpcmVjdCA9IChwYWxldHRlU2l6ZS54IDwgMS4pO1xuXG52ZWM0IGdldENvbG9yKHZlYzQgaWQpIHtcbiAgcmV0dXJuIGlzRGlyZWN0ID8gaWQgLyAyNTUuIDogdGV4dHVyZTJEKHBhbGV0dGUsXG4gICAgdmVjMihcbiAgICAgIChpZC54ICsgLjUpIC8gcGFsZXR0ZVNpemUueCxcbiAgICAgIChpZC55ICsgLjUpIC8gcGFsZXR0ZVNpemUueVxuICAgIClcbiAgKTtcbn1cblxudm9pZCBtYWluKCkge1xuICBpZiAoaXNBY3RpdmUgPT0gMC4pIHJldHVybjtcblxuICB2ZWMyIHBvc2l0aW9uID0gdmVjMih4LCB5KTtcbiAgdmVjMiBwb3NpdGlvbkZyYWN0ID0gdmVjMih4RnJhY3QsIHlGcmFjdCk7XG5cbiAgdmVjNCBjb2xvciA9IGdldENvbG9yKGNvbG9ySWQpO1xuICB2ZWM0IGJvcmRlckNvbG9yID0gZ2V0Q29sb3IoYm9yZGVyQ29sb3JJZCk7XG5cbiAgZmxvYXQgc2l6ZSA9IHNpemUgKiBtYXhTaXplIC8gMjU1LjtcbiAgZmxvYXQgYm9yZGVyU2l6ZSA9IGJvcmRlclNpemUgKiBtYXhTaXplIC8gMjU1LjtcblxuICBnbF9Qb2ludFNpemUgPSAyLiAqIHNpemUgKiBwaXhlbFJhdGlvO1xuICBmcmFnUG9pbnRTaXplID0gc2l6ZSAqIHBpeGVsUmF0aW87XG5cbiAgdmVjMiBwb3MgPSAocG9zaXRpb24gKyB0cmFuc2xhdGUpICogc2NhbGVcbiAgICAgICsgKHBvc2l0aW9uRnJhY3QgKyB0cmFuc2xhdGVGcmFjdCkgKiBzY2FsZVxuICAgICAgKyAocG9zaXRpb24gKyB0cmFuc2xhdGUpICogc2NhbGVGcmFjdFxuICAgICAgKyAocG9zaXRpb25GcmFjdCArIHRyYW5zbGF0ZUZyYWN0KSAqIHNjYWxlRnJhY3Q7XG5cbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvcyAqIDIuIC0gMS4sIDAsIDEpO1xuXG4gIGZyYWdDb2xvciA9IGNvbG9yO1xuICBmcmFnQm9yZGVyQ29sb3IgPSBib3JkZXJDb2xvcjtcbiAgZnJhZ1dpZHRoID0gMS4gLyBnbF9Qb2ludFNpemU7XG5cbiAgZnJhZ0JvcmRlckNvbG9yTGV2ZWwgPSBjbGFtcChib3JkZXJMZXZlbCAtIGJvcmRlckxldmVsICogYm9yZGVyU2l6ZSAvIHNpemUsIDAuLCAxLik7XG4gIGZyYWdDb2xvckxldmVsID0gY2xhbXAoYm9yZGVyTGV2ZWwgKyAoMS4gLSBib3JkZXJMZXZlbCkgKiBib3JkZXJTaXplIC8gc2l6ZSwgMC4sIDEuKTtcbn0iXSksdGhpcy5kcmF3TWFya2VyPXQocyk7dmFyIGw9Yyh7fSxvKTtsLmZyYWc9dShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3IsIGZyYWdCb3JkZXJDb2xvcjtcblxudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyBmbG9hdCBmcmFnQm9yZGVyUmFkaXVzLCBmcmFnV2lkdGg7XG5cbmZsb2F0IHNtb290aFN0ZXAoZmxvYXQgZWRnZTAsIGZsb2F0IGVkZ2UxLCBmbG9hdCB4KSB7XG5cdGZsb2F0IHQ7XG5cdHQgPSBjbGFtcCgoeCAtIGVkZ2UwKSAvIChlZGdlMSAtIGVkZ2UwKSwgMC4wLCAxLjApO1xuXHRyZXR1cm4gdCAqIHQgKiAoMy4wIC0gMi4wICogdCk7XG59XG5cbnZvaWQgbWFpbigpIHtcblx0ZmxvYXQgcmFkaXVzLCBhbHBoYSA9IDEuMCwgZGVsdGEgPSBmcmFnV2lkdGg7XG5cblx0cmFkaXVzID0gbGVuZ3RoKDIuMCAqIGdsX1BvaW50Q29vcmQueHkgLSAxLjApO1xuXG5cdGlmIChyYWRpdXMgPiAxLjAgKyBkZWx0YSkge1xuXHRcdGRpc2NhcmQ7XG5cdH1cblxuXHRhbHBoYSAtPSBzbW9vdGhzdGVwKDEuMCAtIGRlbHRhLCAxLjAgKyBkZWx0YSwgcmFkaXVzKTtcblxuXHRmbG9hdCBib3JkZXJSYWRpdXMgPSBmcmFnQm9yZGVyUmFkaXVzO1xuXHRmbG9hdCByYXRpbyA9IHNtb290aHN0ZXAoYm9yZGVyUmFkaXVzIC0gZGVsdGEsIGJvcmRlclJhZGl1cyArIGRlbHRhLCByYWRpdXMpO1xuXHR2ZWM0IGNvbG9yID0gbWl4KGZyYWdDb2xvciwgZnJhZ0JvcmRlckNvbG9yLCByYXRpbyk7XG5cdGNvbG9yLmEgKj0gYWxwaGEgKiBvcGFjaXR5O1xuXHRnbF9GcmFnQ29sb3IgPSBjb2xvcjtcbn1cbiJdKSxsLnZlcnQ9dShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSBmbG9hdCB4LCB5LCB4RnJhY3QsIHlGcmFjdDtcbmF0dHJpYnV0ZSBmbG9hdCBzaXplLCBib3JkZXJTaXplO1xuYXR0cmlidXRlIHZlYzQgY29sb3JJZCwgYm9yZGVyQ29sb3JJZDtcbmF0dHJpYnV0ZSBmbG9hdCBpc0FjdGl2ZTtcblxudW5pZm9ybSB2ZWMyIHNjYWxlLCBzY2FsZUZyYWN0LCB0cmFuc2xhdGUsIHRyYW5zbGF0ZUZyYWN0O1xudW5pZm9ybSBmbG9hdCBwaXhlbFJhdGlvO1xudW5pZm9ybSBzYW1wbGVyMkQgcGFsZXR0ZTtcbnVuaWZvcm0gdmVjMiBwYWxldHRlU2l6ZTtcblxuY29uc3QgZmxvYXQgbWF4U2l6ZSA9IDEwMC47XG5cbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3IsIGZyYWdCb3JkZXJDb2xvcjtcbnZhcnlpbmcgZmxvYXQgZnJhZ0JvcmRlclJhZGl1cywgZnJhZ1dpZHRoO1xuXG5ib29sIGlzRGlyZWN0ID0gKHBhbGV0dGVTaXplLnggPCAxLik7XG5cbnZlYzQgZ2V0Q29sb3IodmVjNCBpZCkge1xuICByZXR1cm4gaXNEaXJlY3QgPyBpZCAvIDI1NS4gOiB0ZXh0dXJlMkQocGFsZXR0ZSxcbiAgICB2ZWMyKFxuICAgICAgKGlkLnggKyAuNSkgLyBwYWxldHRlU2l6ZS54LFxuICAgICAgKGlkLnkgKyAuNSkgLyBwYWxldHRlU2l6ZS55XG4gICAgKVxuICApO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIC8vIGlnbm9yZSBpbmFjdGl2ZSBwb2ludHNcbiAgaWYgKGlzQWN0aXZlID09IDAuKSByZXR1cm47XG5cbiAgdmVjMiBwb3NpdGlvbiA9IHZlYzIoeCwgeSk7XG4gIHZlYzIgcG9zaXRpb25GcmFjdCA9IHZlYzIoeEZyYWN0LCB5RnJhY3QpO1xuXG4gIHZlYzQgY29sb3IgPSBnZXRDb2xvcihjb2xvcklkKTtcbiAgdmVjNCBib3JkZXJDb2xvciA9IGdldENvbG9yKGJvcmRlckNvbG9ySWQpO1xuXG4gIGZsb2F0IHNpemUgPSBzaXplICogbWF4U2l6ZSAvIDI1NS47XG4gIGZsb2F0IGJvcmRlclNpemUgPSBib3JkZXJTaXplICogbWF4U2l6ZSAvIDI1NS47XG5cbiAgZ2xfUG9pbnRTaXplID0gKHNpemUgKyBib3JkZXJTaXplKSAqIHBpeGVsUmF0aW87XG5cbiAgdmVjMiBwb3MgPSAocG9zaXRpb24gKyB0cmFuc2xhdGUpICogc2NhbGVcbiAgICAgICsgKHBvc2l0aW9uRnJhY3QgKyB0cmFuc2xhdGVGcmFjdCkgKiBzY2FsZVxuICAgICAgKyAocG9zaXRpb24gKyB0cmFuc2xhdGUpICogc2NhbGVGcmFjdFxuICAgICAgKyAocG9zaXRpb25GcmFjdCArIHRyYW5zbGF0ZUZyYWN0KSAqIHNjYWxlRnJhY3Q7XG5cbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvcyAqIDIuIC0gMS4sIDAsIDEpO1xuXG4gIGZyYWdCb3JkZXJSYWRpdXMgPSAxLiAtIDIuICogYm9yZGVyU2l6ZSAvIChzaXplICsgYm9yZGVyU2l6ZSk7XG4gIGZyYWdDb2xvciA9IGNvbG9yO1xuICBmcmFnQm9yZGVyQ29sb3IgPSBib3JkZXJDb2xvci5hID09IDAuIHx8IGJvcmRlclNpemUgPT0gMC4gPyB2ZWM0KGNvbG9yLnJnYiwgMC4pIDogYm9yZGVyQ29sb3I7XG4gIGZyYWdXaWR0aCA9IDEuIC8gZ2xfUG9pbnRTaXplO1xufVxuIl0pLGQmJihsLmZyYWc9bC5mcmFnLnJlcGxhY2UoInNtb290aHN0ZXAiLCJzbW9vdGhTdGVwIikscy5mcmFnPXMuZnJhZy5yZXBsYWNlKCJzbW9vdGhzdGVwIiwic21vb3RoU3RlcCIpKSx0aGlzLmRyYXdDaXJjbGU9dChsKX15LmRlZmF1bHRzPXtjb2xvcjoiYmxhY2siLGJvcmRlckNvbG9yOiJ0cmFuc3BhcmVudCIsYm9yZGVyU2l6ZTowLHNpemU6MTIsb3BhY2l0eToxLG1hcmtlcjp2b2lkIDAsdmlld3BvcnQ6bnVsbCxyYW5nZTpudWxsLHBpeGVsU2l6ZTpudWxsLGNvdW50OjAsb2Zmc2V0OjAsYm91bmRzOm51bGwscG9zaXRpb25zOltdLHNuYXA6MWU0fSx5LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCYmdGhpcy51cGRhdGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuZHJhdygpLHRoaXN9LHkucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspcltuXT1hcmd1bWVudHNbbl07dmFyIGE9dGhpcy5ncm91cHM7aWYoMT09PXIubGVuZ3RoJiZBcnJheS5pc0FycmF5KHJbMF0pJiYobnVsbD09PXJbMF1bMF18fEFycmF5LmlzQXJyYXkoclswXVswXSkpJiYocj1yWzBdKSx0aGlzLnJlZ2wuX3JlZnJlc2goKSxyLmxlbmd0aClmb3IodmFyIGk9MDtpPHIubGVuZ3RoO2krKyl0aGlzLmRyYXdJdGVtKGkscltpXSk7ZWxzZSBhLmZvckVhY2goZnVuY3Rpb24oZSxyKXt0LmRyYXdJdGVtKHIpfSk7cmV0dXJuIHRoaXN9LHkucHJvdG90eXBlLmRyYXdJdGVtPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5ncm91cHMsbj1yW3RdO2lmKCJudW1iZXIiPT10eXBlb2YgZSYmKHQ9ZSxuPXJbZV0sZT1udWxsKSxuJiZuLmNvdW50JiZuLm9wYWNpdHkpe24uYWN0aXZhdGlvblswXSYmdGhpcy5kcmF3Q2lyY2xlKHRoaXMuZ2V0TWFya2VyRHJhd09wdGlvbnMoMCxuLGUpKTtmb3IodmFyIGk9W10sbz0xO288bi5hY3RpdmF0aW9uLmxlbmd0aDtvKyspbi5hY3RpdmF0aW9uW29dJiYoITA9PT1uLmFjdGl2YXRpb25bb118fG4uYWN0aXZhdGlvbltvXS5kYXRhLmxlbmd0aCkmJmkucHVzaC5hcHBseShpLGEodGhpcy5nZXRNYXJrZXJEcmF3T3B0aW9ucyhvLG4sZSkpKTtpLmxlbmd0aCYmdGhpcy5kcmF3TWFya2VyKGkpfX0seS5wcm90b3R5cGUuZ2V0TWFya2VyRHJhd09wdGlvbnM9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUucmFuZ2UsaT1lLnRyZWUsbz1lLnZpZXdwb3J0LHM9ZS5hY3RpdmF0aW9uLGw9ZS5zZWxlY3Rpb25CdWZmZXIsdT1lLmNvdW50O3RoaXMucmVnbDtpZighaSlyZXR1cm4gcj9bYyh7fSxlLHttYXJrZXJUZXh0dXJlOnRoaXMubWFya2VyVGV4dHVyZXNbdF0sYWN0aXZhdGlvbjpzW3RdLGNvdW50OnIubGVuZ3RoLGVsZW1lbnRzOnIsb2Zmc2V0OjB9KV06W2Moe30sZSx7bWFya2VyVGV4dHVyZTp0aGlzLm1hcmtlclRleHR1cmVzW3RdLGFjdGl2YXRpb246c1t0XSxvZmZzZXQ6MH0pXTt2YXIgaD1bXSxmPWkucmFuZ2UoYSx7bG9kOiEwLHB4OlsoYVsyXS1hWzBdKS9vLndpZHRoLChhWzNdLWFbMV0pL28uaGVpZ2h0XX0pO2lmKHIpe2Zvcih2YXIgcD1zW3RdLmRhdGEsZD1uZXcgVWludDhBcnJheSh1KSxnPTA7ZzxyLmxlbmd0aDtnKyspe3ZhciB2PXJbZ107ZFt2XT1wP3Bbdl06MX1sLnN1YmRhdGEoZCl9Zm9yKHZhciBtPWYubGVuZ3RoO20tLTspe3ZhciB5PW4oZlttXSwyKSx4PXlbMF0sYj15WzFdO2gucHVzaChjKHt9LGUse21hcmtlclRleHR1cmU6dGhpcy5tYXJrZXJUZXh0dXJlc1t0XSxhY3RpdmF0aW9uOnI/bDpzW3RdLG9mZnNldDp4LGNvdW50OmIteH0pKX1yZXR1cm4gaH0seS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09YXJndW1lbnRzW25dO2lmKHIubGVuZ3RoKXsxPT09ci5sZW5ndGgmJkFycmF5LmlzQXJyYXkoclswXSkmJihyPXJbMF0pO3ZhciBhPXRoaXMuZ3JvdXBzLGk9dGhpcy5nbCxzPXRoaXMucmVnbCx1PXRoaXMubWF4U2l6ZSxkPXRoaXMubWF4Q29sb3JzLG09dGhpcy5wYWxldHRlO3RoaXMuZ3JvdXBzPWE9ci5tYXAoZnVuY3Rpb24oZSxyKXt2YXIgbj1hW3JdO2lmKHZvaWQgMD09PWUpcmV0dXJuIG47bnVsbD09PWU/ZT17cG9zaXRpb25zOm51bGx9OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U9e29uZHJhdzplfToibnVtYmVyIj09dHlwZW9mIGVbMF0mJihlPXtwb3NpdGlvbnM6ZX0pLG51bGw9PT0oZT1oKGUse3Bvc2l0aW9uczoicG9zaXRpb25zIGRhdGEgcG9pbnRzIixzbmFwOiJzbmFwIGNsdXN0ZXIgbG9kIHRyZWUiLHNpemU6InNpemVzIHNpemUgcmFkaXVzIixib3JkZXJTaXplOiJib3JkZXJTaXplcyBib3JkZXJTaXplIGJvcmRlci1zaXplIGJvcmRlcnNpemUgYm9yZGVyV2lkdGggYm9yZGVyV2lkdGhzIGJvcmRlci13aWR0aCBib3JkZXJ3aWR0aCBzdHJva2Utd2lkdGggc3Ryb2tlV2lkdGggc3Ryb2tld2lkdGggb3V0bGluZSIsY29sb3I6ImNvbG9ycyBjb2xvciBmaWxsIGZpbGwtY29sb3IgZmlsbENvbG9yIixib3JkZXJDb2xvcjoiYm9yZGVyQ29sb3JzIGJvcmRlckNvbG9yIHN0cm9rZSBzdHJva2UtY29sb3Igc3Ryb2tlQ29sb3IiLG1hcmtlcjoibWFya2VycyBtYXJrZXIgc2hhcGUiLHJhbmdlOiJyYW5nZSBkYXRhQm94IGRhdGFib3giLHZpZXdwb3J0OiJ2aWV3cG9ydCB2aWV3UG9ydCB2aWV3Qm94IHZpZXdib3giLG9wYWNpdHk6Im9wYWNpdHkgYWxwaGEgdHJhbnNwYXJlbmN5Iixib3VuZHM6ImJvdW5kIGJvdW5kcyBib3VuZGFyaWVzIGxpbWl0cyIsdG9vTWFueUNvbG9yczoidG9vTWFueUNvbG9ycyBwYWxldHRlIHBhbGV0dGVNb2RlIG9wdGltaXplUGFsZXR0ZSBlbmFibGVQYWxldHRlIn0pKS5wb3NpdGlvbnMmJihlLnBvc2l0aW9ucz1bXSksbnVsbCE9ZS50b29NYW55Q29sb3JzJiYodC50b29NYW55Q29sb3JzPWUudG9vTWFueUNvbG9ycyksbnx8KGFbcl09bj17aWQ6cixzY2FsZTpudWxsLHRyYW5zbGF0ZTpudWxsLHNjYWxlRnJhY3Q6bnVsbCx0cmFuc2xhdGVGcmFjdDpudWxsLGFjdGl2YXRpb246W10sc2VsZWN0aW9uQnVmZmVyOnMuYnVmZmVyKHtkYXRhOm5ldyBVaW50OEFycmF5KDApLHVzYWdlOiJzdHJlYW0iLHR5cGU6InVpbnQ4In0pLHNpemVCdWZmZXI6cy5idWZmZXIoe2RhdGE6bmV3IFVpbnQ4QXJyYXkoMCksdXNhZ2U6ImR5bmFtaWMiLHR5cGU6InVpbnQ4In0pLGNvbG9yQnVmZmVyOnMuYnVmZmVyKHtkYXRhOm5ldyBVaW50OEFycmF5KDApLHVzYWdlOiJkeW5hbWljIix0eXBlOiJ1aW50OCJ9KSxwb3NpdGlvbkJ1ZmZlcjpzLmJ1ZmZlcih7ZGF0YTpuZXcgVWludDhBcnJheSgwKSx1c2FnZToiZHluYW1pYyIsdHlwZToiZmxvYXQifSkscG9zaXRpb25GcmFjdEJ1ZmZlcjpzLmJ1ZmZlcih7ZGF0YTpuZXcgVWludDhBcnJheSgwKSx1c2FnZToiZHluYW1pYyIsdHlwZToiZmxvYXQifSl9LGU9Yyh7fSx5LmRlZmF1bHRzLGUpKSwhZS5wb3NpdGlvbnN8fCJtYXJrZXIiaW4gZXx8KGUubWFya2VyPW4ubWFya2VyLGRlbGV0ZSBuLm1hcmtlciksIWUubWFya2VyfHwicG9zaXRpb25zImluIGV8fChlLnBvc2l0aW9ucz1uLnBvc2l0aW9ucyxkZWxldGUgbi5wb3NpdGlvbnMpO3ZhciB4PTAsYj0wO2lmKGYobixlLFt7c25hcDohMCxzaXplOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQmJih0PXkuZGVmYXVsdHMuc2l6ZSkseCs9dCYmdC5sZW5ndGg/MTowLHR9LGJvcmRlclNpemU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dCYmKHQ9eS5kZWZhdWx0cy5ib3JkZXJTaXplKSx4Kz10JiZ0Lmxlbmd0aD8xOjAsdH0sb3BhY2l0eTpwYXJzZUZsb2F0LGNvbG9yOmZ1bmN0aW9uKGUscil7cmV0dXJuIG51bGw9PWUmJihlPXkuZGVmYXVsdHMuY29sb3IpLGU9dC51cGRhdGVDb2xvcihlKSxiKyssZX0sYm9yZGVyQ29sb3I6ZnVuY3Rpb24oZSxyKXtyZXR1cm4gbnVsbD09ZSYmKGU9eS5kZWZhdWx0cy5ib3JkZXJDb2xvciksZT10LnVwZGF0ZUNvbG9yKGUpLGIrKyxlfSxib3VuZHM6ZnVuY3Rpb24odCxlLHIpe3JldHVybiJyYW5nZSJpbiByfHwoci5yYW5nZT1udWxsKSx0fSxwb3NpdGlvbnM6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWUuc25hcCxhPWUucG9zaXRpb25CdWZmZXIsaT1lLnBvc2l0aW9uRnJhY3RCdWZmZXIsYz1lLnNlbGVjdGlvbkJ1ZmZlcjtpZih0Lnh8fHQueSlyZXR1cm4gdC54Lmxlbmd0aD9lLnhBdHRyPXtidWZmZXI6cy5idWZmZXIodC54KSxvZmZzZXQ6MCxzdHJpZGU6NCxjb3VudDp0LngubGVuZ3RofTplLnhBdHRyPXtidWZmZXI6dC54LmJ1ZmZlcixvZmZzZXQ6NCp0Lngub2Zmc2V0fHwwLHN0cmlkZTo0Kih0Lnguc3RyaWRlfHwxKSxjb3VudDp0LnguY291bnR9LHQueS5sZW5ndGg/ZS55QXR0cj17YnVmZmVyOnMuYnVmZmVyKHQueSksb2Zmc2V0OjAsc3RyaWRlOjQsY291bnQ6dC55Lmxlbmd0aH06ZS55QXR0cj17YnVmZmVyOnQueS5idWZmZXIsb2Zmc2V0OjQqdC55Lm9mZnNldHx8MCxzdHJpZGU6NCoodC55LnN0cmlkZXx8MSksY291bnQ6dC55LmNvdW50fSxlLmNvdW50PU1hdGgubWF4KGUueEF0dHIuY291bnQsZS55QXR0ci5jb3VudCksdDt0PXAodCwiZmxvYXQ2NCIpO3ZhciB1PWUuY291bnQ9TWF0aC5mbG9vcih0Lmxlbmd0aC8yKSxoPWUuYm91bmRzPXU/byh0LDIpOm51bGw7aWYoci5yYW5nZXx8ZS5yYW5nZXx8KGRlbGV0ZSBlLnJhbmdlLHIucmFuZ2U9aCksci5tYXJrZXJ8fGUubWFya2VyfHwoZGVsZXRlIGUubWFya2VyLHIubWFya2VyPW51bGwpLG4mJighMD09PW58fHU+bik/ZS50cmVlPWwodCx7Ym91bmRzOmh9KTpuJiZuLmxlbmd0aCYmKGUudHJlZT1uKSxlLnRyZWUpe3ZhciBmPXtwcmltaXRpdmU6InBvaW50cyIsdXNhZ2U6InN0YXRpYyIsZGF0YTplLnRyZWUsdHlwZToidWludDMyIn07ZS5lbGVtZW50cz9lLmVsZW1lbnRzKGYpOmUuZWxlbWVudHM9cy5lbGVtZW50cyhmKX1yZXR1cm4gYSh7ZGF0YTpnLmZsb2F0KHQpLHVzYWdlOiJkeW5hbWljIn0pLGkoe2RhdGE6Zy5mcmFjdCh0KSx1c2FnZToiZHluYW1pYyJ9KSxjKHtkYXRhOm5ldyBVaW50OEFycmF5KHUpLHR5cGU6InVpbnQ4Iix1c2FnZToic3RyZWFtIn0pLHR9fSx7bWFya2VyOmZ1bmN0aW9uKGUscixuKXt2YXIgYT1yLmFjdGl2YXRpb247aWYoYS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0LmRlc3Ryb3kmJnQuZGVzdHJveSgpfSksYS5sZW5ndGg9MCxlJiYibnVtYmVyIiE9dHlwZW9mIGVbMF0pe2Zvcih2YXIgaT1bXSxvPTAsbD1NYXRoLm1pbihlLmxlbmd0aCxyLmNvdW50KTtvPGw7bysrKXt2YXIgYz10LmFkZE1hcmtlcihlW29dKTtpW2NdfHwoaVtjXT1uZXcgVWludDhBcnJheShyLmNvdW50KSksaVtjXVtvXT0xfWZvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKWlmKGlbdV0pe3ZhciBoPXtkYXRhOmlbdV0sdHlwZToidWludDgiLHVzYWdlOiJzdGF0aWMifTthW3VdP2FbdV0oaCk6YVt1XT1zLmJ1ZmZlcihoKSxhW3VdLmRhdGE9aVt1XX19ZWxzZXthW3QuYWRkTWFya2VyKGUpXT0hMH1yZXR1cm4gZX0scmFuZ2U6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWUuYm91bmRzO2lmKG4pcmV0dXJuIHR8fCh0PW4pLGUuc2NhbGU9WzEvKHRbMl0tdFswXSksMS8odFszXS10WzFdKV0sZS50cmFuc2xhdGU9Wy10WzBdLC10WzFdXSxlLnNjYWxlRnJhY3Q9Zy5mcmFjdChlLnNjYWxlKSxlLnRyYW5zbGF0ZUZyYWN0PWcuZnJhY3QoZS50cmFuc2xhdGUpLHR9LHZpZXdwb3J0OmZ1bmN0aW9uKHQpe3JldHVybiB2KHR8fFtpLmRyYXdpbmdCdWZmZXJXaWR0aCxpLmRyYXdpbmdCdWZmZXJIZWlnaHRdKX19XSkseCl7dmFyIF89bix3PV8uY291bnQsaz1fLnNpemUsVD1fLmJvcmRlclNpemUsTT1fLnNpemVCdWZmZXIsQT1uZXcgVWludDhBcnJheSgyKncpO2lmKGsubGVuZ3RofHxULmxlbmd0aClmb3IodmFyIFM9MDtTPHc7UysrKUFbMipTXT1NYXRoLnJvdW5kKDI1NSoobnVsbD09a1tTXT9rOmtbU10pL3UpLEFbMipTKzFdPU1hdGgucm91bmQoMjU1KihudWxsPT1UW1NdP1Q6VFtTXSkvdSk7TSh7ZGF0YTpBLHVzYWdlOiJkeW5hbWljIn0pfWlmKGIpe3ZhciBFLEw9bixDPUwuY291bnQsUD1MLmNvbG9yLE89TC5ib3JkZXJDb2xvcix6PUwuY29sb3JCdWZmZXI7aWYodC50b29NYW55Q29sb3JzKXtpZihQLmxlbmd0aHx8Ty5sZW5ndGgpe0U9bmV3IFVpbnQ4QXJyYXkoOCpDKTtmb3IodmFyIEk9MDtJPEM7SSsrKXt2YXIgRD1QW0ldO0VbOCpJXT1tWzQqRF0sRVs4KkkrMV09bVs0KkQrMV0sRVs4KkkrMl09bVs0KkQrMl0sRVs4KkkrM109bVs0KkQrM107dmFyIFI9T1tJXTtFWzgqSSs0XT1tWzQqUl0sRVs4KkkrNV09bVs0KlIrMV0sRVs4KkkrNl09bVs0KlIrMl0sRVs4KkkrN109bVs0KlIrM119fX1lbHNlIGlmKFAubGVuZ3RofHxPLmxlbmd0aCl7RT1uZXcgVWludDhBcnJheSg0KkMrMik7Zm9yKHZhciBGPTA7RjxDO0YrKyludWxsIT1QW0ZdJiYoRVs0KkZdPVBbRl0lZCxFWzQqRisxXT1NYXRoLmZsb29yKFBbRl0vZCkpLG51bGwhPU9bRl0mJihFWzQqRisyXT1PW0ZdJWQsRVs0KkYrM109TWF0aC5mbG9vcihPW0ZdL2QpKX16KHtkYXRhOkV8fG5ldyBVaW50OEFycmF5KDApLHR5cGU6InVpbnQ4Iix1c2FnZToiZHluYW1pYyJ9KX1yZXR1cm4gbn0pfX0seS5wcm90b3R5cGUuYWRkTWFya2VyPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5tYXJrZXJUZXh0dXJlcyxuPXRoaXMucmVnbCxhPXRoaXMubWFya2VyQ2FjaGUsaT1udWxsPT10PzA6YS5pbmRleE9mKHQpO2lmKGk+PTApcmV0dXJuIGk7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSllPXQ7ZWxzZXtlPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKTtmb3IodmFyIG89MCxzPXQubGVuZ3RoO288cztvKyspZVtvXT0yNTUqdFtvXX12YXIgbD1NYXRoLmZsb29yKE1hdGguc3FydChlLmxlbmd0aCkpO3JldHVybiBpPXIubGVuZ3RoLGEucHVzaCh0KSxyLnB1c2gobi50ZXh0dXJlKHtjaGFubmVsczoxLGRhdGE6ZSxyYWRpdXM6bCxtYWc6ImxpbmVhciIsbWluOiJsaW5lYXIifSkpLGl9LHkucHJvdG90eXBlLnVwZGF0ZUNvbG9yPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucGFsZXR0ZUlkcyxyPXRoaXMucGFsZXR0ZSxuPXRoaXMubWF4Q29sb3JzO0FycmF5LmlzQXJyYXkodCl8fCh0PVt0XSk7dmFyIGE9W107aWYoIm51bWJlciI9PXR5cGVvZiB0WzBdKXt2YXIgbz1bXTtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgbD0wO2w8dC5sZW5ndGg7bCs9NClvLnB1c2godC5zbGljZShsLGwrNCkpO2Vsc2UgZm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKz00KW8ucHVzaCh0LnN1YmFycmF5KGMsYys0KSk7dD1vfWZvcih2YXIgdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgaD10W3VdO2g9aShoLCJ1aW50OCIpO3ZhciBmPXMoaCwhMSk7aWYobnVsbD09ZVtmXSl7dmFyIHA9ci5sZW5ndGg7ZVtmXT1NYXRoLmZsb29yKHAvNCkscltwXT1oWzBdLHJbcCsxXT1oWzFdLHJbcCsyXT1oWzJdLHJbcCszXT1oWzNdfWFbdV09ZVtmXX1yZXR1cm4hdGhpcy50b29NYW55Q29sb3JzJiZyLmxlbmd0aD40Km4mJih0aGlzLnRvb01hbnlDb2xvcnM9ITApLHRoaXMudXBkYXRlUGFsZXR0ZShyKSwxPT09YS5sZW5ndGg/YVswXTphfSx5LnByb3RvdHlwZS51cGRhdGVQYWxldHRlPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLnRvb01hbnlDb2xvcnMpe3ZhciBlPXRoaXMubWF4Q29sb3JzLHI9dGhpcy5wYWxldHRlVGV4dHVyZSxuPU1hdGguY2VpbCguMjUqdC5sZW5ndGgvZSk7aWYobj4xKWZvcih2YXIgYT0uMjUqKHQ9dC5zbGljZSgpKS5sZW5ndGglZTthPG4qZTthKyspdC5wdXNoKDAsMCwwLDApO3IuaGVpZ2h0PG4mJnIucmVzaXplKGUsbiksci5zdWJpbWFnZSh7d2lkdGg6TWF0aC5taW4oLjI1KnQubGVuZ3RoLGUpLGhlaWdodDpuLGRhdGE6dH0sMCwwKX19LHkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ncm91cHMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnNpemVCdWZmZXIuZGVzdHJveSgpLHQucG9zaXRpb25CdWZmZXIuZGVzdHJveSgpLHQucG9zaXRpb25GcmFjdEJ1ZmZlci5kZXN0cm95KCksdC5jb2xvckJ1ZmZlci5kZXN0cm95KCksdC5hY3RpdmF0aW9uLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuZGVzdHJveSYmdC5kZXN0cm95KCl9KSx0LnNlbGVjdGlvbkJ1ZmZlci5kZXN0cm95KCksdC5lbGVtZW50cyYmdC5lbGVtZW50cy5kZXN0cm95KCl9KSx0aGlzLmdyb3Vwcy5sZW5ndGg9MCx0aGlzLnBhbGV0dGVUZXh0dXJlLmRlc3Ryb3koKSx0aGlzLm1hcmtlclRleHR1cmVzLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuZGVzdHJveSYmdC5kZXN0cm95KCl9KSx0aGlzfTt2YXIgeD10KCJvYmplY3QtYXNzaWduIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IG0odCxlKSxuPXIucmVuZGVyLmJpbmQocik7cmV0dXJuIHgobix7cmVuZGVyOm4sdXBkYXRlOnIudXBkYXRlLmJpbmQociksZHJhdzpyLmRyYXcuYmluZChyKSxkZXN0cm95OnIuZGVzdHJveS5iaW5kKHIpLHJlZ2w6ci5yZWdsLGdsOnIuZ2wsY2FudmFzOnIuZ2wuY2FudmFzLGdyb3VwczpyLmdyb3VwcyxtYXJrZXJzOnIubWFya2VyQ2FjaGUscGFsZXR0ZTpyLnBhbGV0dGV9KSxufX0seyJhcnJheS1ib3VuZHMiOjY4LCJjb2xvci1pZCI6MTIwLCJjb2xvci1ub3JtYWxpemUiOjEyMiwiZmxhdHRlbi12ZXJ0ZXgtZGF0YSI6MjMwLGdsc2xpZnk6NDExLCJpcy1pZXhwbG9yZXIiOjQyMSwib2JqZWN0LWFzc2lnbiI6NDU2LCJwYXJzZS1yZWN0Ijo0NjEsInBpY2stYnktYWxpYXMiOjQ2NywicG9pbnQtY2x1c3RlciI6NDcxLCJ0by1mbG9hdDMyIjo1MzcsInVwZGF0ZS1kaWZmIjo1NDh9XSw1MDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicmVnbC1zY2F0dGVyMmQiKSxhPXQoInBpY2stYnktYWxpYXMiKSxpPXQoImFycmF5LWJvdW5kcyIpLG89dCgicmFmIikscz10KCJhcnJheS1yYW5nZSIpLGw9dCgicGFyc2UtcmVjdCIpLGM9dCgiZmxhdHRlbi12ZXJ0ZXgtZGF0YSIpO2Z1bmN0aW9uIHUodCxlKXtpZighKHRoaXMgaW5zdGFuY2VvZiB1KSlyZXR1cm4gbmV3IHUodCxlKTt0aGlzLnRyYWNlcz1bXSx0aGlzLnBhc3Nlcz17fSx0aGlzLnJlZ2w9dCx0aGlzLnNjYXR0ZXI9bih0KSx0aGlzLmNhbnZhcz10aGlzLnNjYXR0ZXIuY2FudmFzfWZ1bmN0aW9uIGgodCxlLHIpe3JldHVybihudWxsIT10LmlkP3QuaWQ6dCk8PDE2fCgyNTUmZSk8PDh8MjU1JnJ9ZnVuY3Rpb24gZih0LGUscil7dmFyIG4sYSxpLG8scz10W2VdLGw9dFtyXTtyZXR1cm4gcy5sZW5ndGg+Mj8oc1swXSxzWzJdLG49c1sxXSxhPXNbM10pOnMubGVuZ3RoPyhuPXNbMF0sYT1zWzFdKToocy54LG49cy55LHMueCtzLndpZHRoLGE9cy55K3MuaGVpZ2h0KSxsLmxlbmd0aD4yPyhpPWxbMF0sbz1sWzJdLGxbMV0sbFszXSk6bC5sZW5ndGg/KGk9bFswXSxvPWxbMV0pOihpPWwueCxsLnksbz1sLngrbC53aWR0aCxsLnkrbC5oZWlnaHQpLFtpLG4sbyxhXX1mdW5jdGlvbiBwKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm5bdCx0LHQsdF07aWYoMj09PXQubGVuZ3RoKXJldHVyblt0WzBdLHRbMV0sdFswXSx0WzFdXTt2YXIgZT1sKHQpO3JldHVybltlLngsZS55LGUueCtlLndpZHRoLGUueStlLmhlaWdodF19ZS5leHBvcnRzPXUsdS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9dGhpcyxyPVtdLG49YXJndW1lbnRzLmxlbmd0aDtuLS07KXJbbl09YXJndW1lbnRzW25dO3JldHVybiByLmxlbmd0aCYmKHQ9dGhpcykudXBkYXRlLmFwcGx5KHQsciksdGhpcy5yZWdsLmF0dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5nQnVmZmVyP3RoaXMuZHJhdygpOih0aGlzLmRpcnR5P251bGw9PXRoaXMucGxhbm5lZCYmKHRoaXMucGxhbm5lZD1vKGZ1bmN0aW9uKCl7ZS5kcmF3KCksZS5kaXJ0eT0hMCxlLnBsYW5uZWQ9bnVsbH0pKToodGhpcy5kcmF3KCksdGhpcy5kaXJ0eT0hMCxvKGZ1bmN0aW9uKCl7ZS5kaXJ0eT0hMX0pKSx0aGlzKX0sdS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9W10scj1hcmd1bWVudHMubGVuZ3RoO3ItLTspZVtyXT1hcmd1bWVudHNbcl07aWYoZS5sZW5ndGgpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXRoaXMudXBkYXRlSXRlbShuLGVbbl0pO3RoaXMudHJhY2VzPXRoaXMudHJhY2VzLmZpbHRlcihCb29sZWFuKTtmb3IodmFyIGE9W10saT0wLG89MDtvPHRoaXMudHJhY2VzLmxlbmd0aDtvKyspe2Zvcih2YXIgcz10aGlzLnRyYWNlc1tvXSxsPXRoaXMudHJhY2VzW29dLnBhc3NlcyxjPTA7YzxsLmxlbmd0aDtjKyspYS5wdXNoKHRoaXMucGFzc2VzW2xbY11dKTtzLnBhc3NPZmZzZXQ9aSxpKz1zLnBhc3Nlcy5sZW5ndGh9cmV0dXJuKHQ9dGhpcy5zY2F0dGVyKS51cGRhdGUuYXBwbHkodCxhKSx0aGlzfX0sdS5wcm90b3R5cGUudXBkYXRlSXRlbT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMucmVnbDtpZihudWxsPT09ZSlyZXR1cm4gdGhpcy50cmFjZXNbdF09bnVsbCx0aGlzO2lmKCFlKXJldHVybiB0aGlzO3ZhciBuLG89YShlLHtkYXRhOiJkYXRhIGl0ZW1zIGNvbHVtbnMgcm93cyB2YWx1ZXMgZGltZW5zaW9ucyBzYW1wbGVzIHgiLHNuYXA6InNuYXAgY2x1c3RlciIsc2l6ZToic2l6ZXMgc2l6ZSByYWRpdXMiLGNvbG9yOiJjb2xvcnMgY29sb3IgZmlsbCBmaWxsLWNvbG9yIGZpbGxDb2xvciIsb3BhY2l0eToib3BhY2l0eSBhbHBoYSB0cmFuc3BhcmVuY3kgb3BhcXVlIixib3JkZXJTaXplOiJib3JkZXJTaXplcyBib3JkZXJTaXplIGJvcmRlci1zaXplIGJvcmRlcnNpemUgYm9yZGVyV2lkdGggYm9yZGVyV2lkdGhzIGJvcmRlci13aWR0aCBib3JkZXJ3aWR0aCBzdHJva2Utd2lkdGggc3Ryb2tlV2lkdGggc3Ryb2tld2lkdGggb3V0bGluZSIsYm9yZGVyQ29sb3I6ImJvcmRlckNvbG9ycyBib3JkZXJDb2xvciBib3JkZXJjb2xvciBzdHJva2Ugc3Ryb2tlLWNvbG9yIHN0cm9rZUNvbG9yIixtYXJrZXI6Im1hcmtlcnMgbWFya2VyIHNoYXBlIixyYW5nZToicmFuZ2UgcmFuZ2VzIGRhdGFib3ggZGF0YUJveCIsdmlld3BvcnQ6InZpZXdwb3J0IHZpZXdCb3ggdmlld2JveCIsZG9tYWluOiJkb21haW4gZG9tYWlucyBhcmVhIGFyZWFzIixwYWRkaW5nOiJwYWQgcGFkZGluZyBwYWRkaW5ncyBwYWRzIG1hcmdpbiBtYXJnaW5zIix0cmFuc3Bvc2U6InRyYW5zcG9zZSB0cmFuc3Bvc2VkIixkaWFnb25hbDoiZGlhZ29uYWwgZGlhZyBzaG93RGlhZ29uYWwiLHVwcGVyOiJ1cHBlciB1cCB0b3AgdXBwZXJoYWxmIHVwcGVySGFsZiBzaG93dXBwZXJoYWxmIHNob3dVcHBlciBzaG93VXBwZXJIYWxmIixsb3dlcjoibG93ZXIgbG93IGJvdHRvbSBsb3dlcmhhbGYgbG93ZXJIYWxmIHNob3dsb3dlcmhhbGYgc2hvd0xvd2VySGFsZiBzaG93TG93ZXIifSkscz10aGlzLnRyYWNlc1t0XXx8KHRoaXMudHJhY2VzW3RdPXtpZDp0LGJ1ZmZlcjpyLmJ1ZmZlcih7dXNhZ2U6ImR5bmFtaWMiLHR5cGU6ImZsb2F0IixkYXRhOm5ldyBVaW50OEFycmF5fSksY29sb3I6ImJsYWNrIixtYXJrZXI6bnVsbCxzaXplOjEyLGJvcmRlckNvbG9yOiJ0cmFuc3BhcmVudCIsYm9yZGVyU2l6ZToxLHZpZXdwb3J0OmwoW3IuX2dsLmRyYXdpbmdCdWZmZXJXaWR0aCxyLl9nbC5kcmF3aW5nQnVmZmVySGVpZ2h0XSkscGFkZGluZzpbMCwwLDAsMF0sb3BhY2l0eToxLGRpYWdvbmFsOiEwLHVwcGVyOiEwLGxvd2VyOiEwfSk7aWYobnVsbCE9by5jb2xvciYmKHMuY29sb3I9by5jb2xvciksbnVsbCE9by5zaXplJiYocy5zaXplPW8uc2l6ZSksbnVsbCE9by5tYXJrZXImJihzLm1hcmtlcj1vLm1hcmtlciksbnVsbCE9by5ib3JkZXJDb2xvciYmKHMuYm9yZGVyQ29sb3I9by5ib3JkZXJDb2xvciksbnVsbCE9by5ib3JkZXJTaXplJiYocy5ib3JkZXJTaXplPW8uYm9yZGVyU2l6ZSksbnVsbCE9by5vcGFjaXR5JiYocy5vcGFjaXR5PW8ub3BhY2l0eSksby52aWV3cG9ydCYmKHMudmlld3BvcnQ9bChvLnZpZXdwb3J0KSksbnVsbCE9by5kaWFnb25hbCYmKHMuZGlhZ29uYWw9by5kaWFnb25hbCksbnVsbCE9by51cHBlciYmKHMudXBwZXI9by51cHBlciksbnVsbCE9by5sb3dlciYmKHMubG93ZXI9by5sb3dlciksby5kYXRhKXtzLmJ1ZmZlcihjKG8uZGF0YSkpLHMuY29sdW1ucz1vLmRhdGEubGVuZ3RoLHMuY291bnQ9by5kYXRhWzBdLmxlbmd0aCxzLmJvdW5kcz1bXTtmb3IodmFyIHU9MDt1PHMuY29sdW1uczt1Kyspcy5ib3VuZHNbdV09aShvLmRhdGFbdV0sMSl9by5yYW5nZSYmKHMucmFuZ2U9by5yYW5nZSxuPXMucmFuZ2UmJiJudW1iZXIiIT10eXBlb2Ygcy5yYW5nZVswXSksby5kb21haW4mJihzLmRvbWFpbj1vLmRvbWFpbik7dmFyIGQ9ITE7bnVsbCE9by5wYWRkaW5nJiYoQXJyYXkuaXNBcnJheShvLnBhZGRpbmcpJiZvLnBhZGRpbmcubGVuZ3RoPT09cy5jb2x1bW5zJiYibnVtYmVyIj09dHlwZW9mIG8ucGFkZGluZ1tvLnBhZGRpbmcubGVuZ3RoLTFdPyhzLnBhZGRpbmc9by5wYWRkaW5nLm1hcChwKSxkPSEwKTpzLnBhZGRpbmc9cChvLnBhZGRpbmcpKTt2YXIgZz1zLmNvbHVtbnMsdj1zLmNvdW50LG09cy52aWV3cG9ydC53aWR0aCx5PXMudmlld3BvcnQuaGVpZ2h0LHg9cy52aWV3cG9ydC54LGI9cy52aWV3cG9ydC55LF89bS9nLHc9eS9nO3MucGFzc2VzPVtdO2Zvcih2YXIgaz0wO2s8ZztrKyspZm9yKHZhciBUPTA7VDxnO1QrKylpZigocy5kaWFnb25hbHx8VCE9PWspJiYocy51cHBlcnx8IShrPlQpKSYmKHMubG93ZXJ8fCEoazxUKSkpe3ZhciBNPWgocy5pZCxrLFQpLEE9dGhpcy5wYXNzZXNbTV18fCh0aGlzLnBhc3Nlc1tNXT17fSk7aWYoby5kYXRhJiYoby50cmFuc3Bvc2U/QS5wb3NpdGlvbnM9e3g6e2J1ZmZlcjpzLmJ1ZmZlcixvZmZzZXQ6VCxjb3VudDp2LHN0cmlkZTpnfSx5OntidWZmZXI6cy5idWZmZXIsb2Zmc2V0OmssY291bnQ6dixzdHJpZGU6Z319OkEucG9zaXRpb25zPXt4OntidWZmZXI6cy5idWZmZXIsb2Zmc2V0OlQqdixjb3VudDp2fSx5OntidWZmZXI6cy5idWZmZXIsb2Zmc2V0Omsqdixjb3VudDp2fX0sQS5ib3VuZHM9ZihzLmJvdW5kcyxrLFQpKSxvLmRvbWFpbnx8by52aWV3cG9ydHx8by5kYXRhKXt2YXIgUz1kP2Yocy5wYWRkaW5nLGssVCk6cy5wYWRkaW5nO2lmKHMuZG9tYWluKXt2YXIgRT1mKHMuZG9tYWluLGssVCksTD1FWzBdLEM9RVsxXSxQPUVbMl0sTz1FWzNdO0Eudmlld3BvcnQ9W3grTCptK1NbMF0sYitDKnkrU1sxXSx4K1AqbS1TWzJdLGIrTyp5LVNbM11dfWVsc2UgQS52aWV3cG9ydD1beCtUKl8rXypTWzBdLGIrayp3K3cqU1sxXSx4KyhUKzEpKl8tXypTWzJdLGIrKGsrMSkqdy13KlNbM11dfW8uY29sb3ImJihBLmNvbG9yPXMuY29sb3IpLG8uc2l6ZSYmKEEuc2l6ZT1zLnNpemUpLG8ubWFya2VyJiYoQS5tYXJrZXI9cy5tYXJrZXIpLG8uYm9yZGVyU2l6ZSYmKEEuYm9yZGVyU2l6ZT1zLmJvcmRlclNpemUpLG8uYm9yZGVyQ29sb3ImJihBLmJvcmRlckNvbG9yPXMuYm9yZGVyQ29sb3IpLG8ub3BhY2l0eSYmKEEub3BhY2l0eT1zLm9wYWNpdHkpLG8ucmFuZ2UmJihBLnJhbmdlPW4/ZihzLnJhbmdlLGssVCk6cy5yYW5nZXx8QS5ib3VuZHMpLHMucGFzc2VzLnB1c2goTSl9cmV0dXJuIHRoaXN9LHUucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24oKXtmb3IodmFyIHQsZT1bXSxyPWFyZ3VtZW50cy5sZW5ndGg7ci0tOyllW3JdPWFyZ3VtZW50c1tyXTtpZihlLmxlbmd0aCl7Zm9yKHZhciBuPVtdLGE9MDthPGUubGVuZ3RoO2ErKylpZigibnVtYmVyIj09dHlwZW9mIGVbYV0pe3ZhciBpPXRoaXMudHJhY2VzW2VbYV1dLG89aS5wYXNzZXMsbD1pLnBhc3NPZmZzZXQ7bi5wdXNoLmFwcGx5KG4scyhsLGwrby5sZW5ndGgpKX1lbHNlIGlmKGVbYV0ubGVuZ3RoKXt2YXIgYz1lW2FdLHU9dGhpcy50cmFjZXNbYV0saD11LnBhc3NlcyxmPXUucGFzc09mZnNldDtoPWgubWFwKGZ1bmN0aW9uKHQsZSl7bltmK2VdPWN9KX0odD10aGlzLnNjYXR0ZXIpLmRyYXcuYXBwbHkodCxuKX1lbHNlIHRoaXMuc2NhdHRlci5kcmF3KCk7cmV0dXJuIHRoaXN9LHUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFjZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmJ1ZmZlciYmdC5idWZmZXIuZGVzdHJveSYmdC5idWZmZXIuZGVzdHJveSgpfSksdGhpcy50cmFjZXM9bnVsbCx0aGlzLnBhc3Nlcz1udWxsLHRoaXMuc2NhdHRlci5kZXN0cm95KCksdGhpc319LHsiYXJyYXktYm91bmRzIjo2OCwiYXJyYXktcmFuZ2UiOjY5LCJmbGF0dGVuLXZlcnRleC1kYXRhIjoyMzAsInBhcnNlLXJlY3QiOjQ2MSwicGljay1ieS1hbGlhcyI6NDY3LHJhZjo0ODYsInJlZ2wtc2NhdHRlcjJkIjo0OTl9XSw1MDE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbixhO249dGhpcyxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuaWQ9VisrLHRoaXMudHlwZT10LHRoaXMuZGF0YT1lfWZ1bmN0aW9uIGUodCl7cmV0dXJuIlsiK2Z1bmN0aW9uIHQoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO3ZhciByPWUuY2hhckF0KDApLG49ZS5jaGFyQXQoZS5sZW5ndGgtMSk7aWYoMTxlLmxlbmd0aCYmcj09PW4mJignIic9PT1yfHwiJyI9PT1yKSlyZXR1cm5bJyInK2Uuc3Vic3RyKDEsZS5sZW5ndGgtMikucmVwbGFjZSgvXFwvZywiXFxcXCIpLnJlcGxhY2UoLyIvZywnXFwiJykrJyInXTtpZihyPS9cWyhmYWxzZXx0cnVlfG51bGx8XGQrfCdbXiddKid8IlteIl0qIilcXS8uZXhlYyhlKSlyZXR1cm4gdChlLnN1YnN0cigwLHIuaW5kZXgpKS5jb25jYXQodChyWzFdKSkuY29uY2F0KHQoZS5zdWJzdHIoci5pbmRleCtyWzBdLmxlbmd0aCkpKTtpZigxPT09KHI9ZS5zcGxpdCgiLiIpKS5sZW5ndGgpcmV0dXJuWyciJytlLnJlcGxhY2UoL1xcL2csIlxcXFwiKS5yZXBsYWNlKC8iL2csJ1xcIicpKyciJ107Zm9yKGU9W10sbj0wO248ci5sZW5ndGg7KytuKWU9ZS5jb25jYXQodChyW25dKSk7cmV0dXJuIGV9KHQpLmpvaW4oIl1bIikrIl0ifWZ1bmN0aW9uIHIodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoKTp0fWZ1bmN0aW9uIG4odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCk6dH1mdW5jdGlvbiBhKHQpe3ZhciBlLGEsaSxvLHM9dHx8e307dD17fTt2YXIgbD1bXSxjPVtdLHU9InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/MTp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyxoPSExLGY9ZnVuY3Rpb24odCl7fSxwPWZ1bmN0aW9uKCl7fTtpZigic3RyaW5nIj09dHlwZW9mIHM/ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHMpOiJvYmplY3QiPT10eXBlb2YgcyYmKCJzdHJpbmciPT10eXBlb2Ygcy5ub2RlTmFtZSYmImZ1bmN0aW9uIj09dHlwZW9mIHMuYXBwZW5kQ2hpbGQmJiJmdW5jdGlvbiI9PXR5cGVvZiBzLmdldEJvdW5kaW5nQ2xpZW50UmVjdD9lPXM6ImZ1bmN0aW9uIj09dHlwZW9mIHMuZHJhd0FycmF5c3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMuZHJhd0VsZW1lbnRzP2k9KG89cykuY2FudmFzOigiZ2wiaW4gcz9vPXMuZ2w6ImNhbnZhcyJpbiBzP2k9bihzLmNhbnZhcyk6ImNvbnRhaW5lciJpbiBzJiYoYT1uKHMuY29udGFpbmVyKSksImF0dHJpYnV0ZXMiaW4gcyYmKHQ9cy5hdHRyaWJ1dGVzKSwiZXh0ZW5zaW9ucyJpbiBzJiYobD1yKHMuZXh0ZW5zaW9ucykpLCJvcHRpb25hbEV4dGVuc2lvbnMiaW4gcyYmKGM9cihzLm9wdGlvbmFsRXh0ZW5zaW9ucykpLCJvbkRvbmUiaW4gcyYmKGY9cy5vbkRvbmUpLCJwcm9maWxlImluIHMmJihoPSEhcy5wcm9maWxlKSwicGl4ZWxSYXRpbyJpbiBzJiYodT0rcy5waXhlbFJhdGlvKSkpLGUmJigiY2FudmFzIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9pPWU6YT1lKSwhbyl7aWYoIWkpe2lmKCEoZT1mdW5jdGlvbih0LGUscil7ZnVuY3Rpb24gbigpe3ZhciBlPXdpbmRvdy5pbm5lcldpZHRoLG49d2luZG93LmlubmVySGVpZ2h0O3QhPT1kb2N1bWVudC5ib2R5JiYoZT0obj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKS5yaWdodC1uLmxlZnQsbj1uLmJvdHRvbS1uLnRvcCksYS53aWR0aD1yKmUsYS5oZWlnaHQ9cipuLGooYS5zdHlsZSx7d2lkdGg6ZSsicHgiLGhlaWdodDpuKyJweCJ9KX12YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gaihhLnN0eWxlLHtib3JkZXI6MCxtYXJnaW46MCxwYWRkaW5nOjAsdG9wOjAsbGVmdDowfSksdC5hcHBlbmRDaGlsZChhKSx0PT09ZG9jdW1lbnQuYm9keSYmKGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixqKHQuc3R5bGUse21hcmdpbjowLHBhZGRpbmc6MH0pKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLCExKSxuKCkse2NhbnZhczphLG9uRGVzdHJveTpmdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLG4pLHQucmVtb3ZlQ2hpbGQoYSl9fX0oYXx8ZG9jdW1lbnQuYm9keSwwLHUpKSlyZXR1cm4gbnVsbDtpPWUuY2FudmFzLHA9ZS5vbkRlc3Ryb3l9bz1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIocil7dHJ5e3JldHVybiB0LmdldENvbnRleHQocixlKX1jYXRjaCh0KXtyZXR1cm4gbnVsbH19cmV0dXJuIHIoIndlYmdsIil8fHIoImV4cGVyaW1lbnRhbC13ZWJnbCIpfHxyKCJ3ZWJnbC1leHBlcmltZW50YWwiKX0oaSx0KX1yZXR1cm4gbz97Z2w6byxjYW52YXM6aSxjb250YWluZXI6YSxleHRlbnNpb25zOmwsb3B0aW9uYWxFeHRlbnNpb25zOmMscGl4ZWxSYXRpbzp1LHByb2ZpbGU6aCxvbkRvbmU6ZixvbkRlc3Ryb3k6cH06KHAoKSxmKCJ3ZWJnbCBub3Qgc3VwcG9ydGVkLCB0cnkgdXBncmFkaW5nIHlvdXIgYnJvd3NlciBvciBncmFwaGljcyBkcml2ZXJzIGh0dHA6Ly9nZXQud2ViZ2wub3JnIiksbnVsbCl9ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgcj1BcnJheSh0KSxuPTA7bjx0OysrbilyW25dPWUobik7cmV0dXJuIHJ9ZnVuY3Rpb24gbyh0KXt2YXIgZSxyO3JldHVybiBlPSg2NTUzNTx0KTw8NCxlfD1yPSgyNTU8KHQ+Pj49ZSkpPDwzLChlfD1yPSgxNTwodD4+Pj1yKSk8PDIpfChyPSgzPCh0Pj4+PXIpKTw8MSl8dD4+PnI+PjF9ZnVuY3Rpb24gcygpe2Z1bmN0aW9uIHQodCl7dDp7Zm9yKHZhciBlPTE2OzI2ODQzNTQ1Nj49ZTtlKj0xNilpZih0PD1lKXt0PWU7YnJlYWsgdH10PTB9cmV0dXJuIDA8KGU9cltvKHQpPj4yXSkubGVuZ3RoP2UucG9wKCk6bmV3IEFycmF5QnVmZmVyKHQpfWZ1bmN0aW9uIGUodCl7cltvKHQuYnl0ZUxlbmd0aCk+PjJdLnB1c2godCl9dmFyIHI9aSg4LGZ1bmN0aW9uKCl7cmV0dXJuW119KTtyZXR1cm57YWxsb2M6dCxmcmVlOmUsYWxsb2NUeXBlOmZ1bmN0aW9uKGUscil7dmFyIG49bnVsbDtzd2l0Y2goZSl7Y2FzZSA1MTIwOm49bmV3IEludDhBcnJheSh0KHIpLDAscik7YnJlYWs7Y2FzZSA1MTIxOm49bmV3IFVpbnQ4QXJyYXkodChyKSwwLHIpO2JyZWFrO2Nhc2UgNTEyMjpuPW5ldyBJbnQxNkFycmF5KHQoMipyKSwwLHIpO2JyZWFrO2Nhc2UgNTEyMzpuPW5ldyBVaW50MTZBcnJheSh0KDIqciksMCxyKTticmVhaztjYXNlIDUxMjQ6bj1uZXcgSW50MzJBcnJheSh0KDQqciksMCxyKTticmVhaztjYXNlIDUxMjU6bj1uZXcgVWludDMyQXJyYXkodCg0KnIpLDAscik7YnJlYWs7Y2FzZSA1MTI2Om49bmV3IEZsb2F0MzJBcnJheSh0KDQqciksMCxyKTticmVhaztkZWZhdWx0OnJldHVybiBudWxsfXJldHVybiBuLmxlbmd0aCE9PXI/bi5zdWJhcnJheSgwLHIpOm59LGZyZWVUeXBlOmZ1bmN0aW9uKHQpe2UodC5idWZmZXIpfX19ZnVuY3Rpb24gbCh0KXtyZXR1cm4hIXQmJiJvYmplY3QiPT10eXBlb2YgdCYmQXJyYXkuaXNBcnJheSh0LnNoYXBlKSYmQXJyYXkuaXNBcnJheSh0LnN0cmlkZSkmJiJudW1iZXIiPT10eXBlb2YgdC5vZmZzZXQmJnQuc2hhcGUubGVuZ3RoPT09dC5zdHJpZGUubGVuZ3RoJiYoQXJyYXkuaXNBcnJheSh0LmRhdGEpfHxXKHQuZGF0YSkpfWZ1bmN0aW9uIGModCxlLHIsbixhLGkpe2Zvcih2YXIgbz0wO288ZTsrK28pZm9yKHZhciBzPXRbb10sbD0wO2w8cjsrK2wpZm9yKHZhciBjPXNbbF0sdT0wO3U8bjsrK3UpYVtpKytdPWNbdV19ZnVuY3Rpb24gdSh0KXtyZXR1cm4gMHxKW09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KV19ZnVuY3Rpb24gaCh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7KytyKXRbcl09ZVtyXX1mdW5jdGlvbiBmKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz0wLGw9MDtsPHI7KytsKWZvcih2YXIgYz0wO2M8bjsrK2MpdFtzKytdPWVbYSpsK2kqYytvXX1mdW5jdGlvbiBwKHQsZSxyLG4pe2Z1bmN0aW9uIGEoZSl7dGhpcy5pZD1jKyssdGhpcy5idWZmZXI9dC5jcmVhdGVCdWZmZXIoKSx0aGlzLnR5cGU9ZSx0aGlzLnVzYWdlPTM1MDQ0LHRoaXMuYnl0ZUxlbmd0aD0wLHRoaXMuZGltZW5zaW9uPTEsdGhpcy5kdHlwZT01MTIxLHRoaXMucGVyc2lzdGVudERhdGE9bnVsbCxyLnByb2ZpbGUmJih0aGlzLnN0YXRzPXtzaXplOjB9KX1mdW5jdGlvbiBpKGUscixuKXtlLmJ5dGVMZW5ndGg9ci5ieXRlTGVuZ3RoLHQuYnVmZmVyRGF0YShlLnR5cGUscixuKX1mdW5jdGlvbiBvKHQsZSxyLG4sYSxvKXtpZih0LnVzYWdlPXIsQXJyYXkuaXNBcnJheShlKSl7aWYodC5kdHlwZT1ufHw1MTI2LDA8ZS5sZW5ndGgpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7YT10dChlKTtmb3IodmFyIHM9bj0xO3M8YS5sZW5ndGg7KytzKW4qPWFbc107dC5kaW1lbnNpb249bixpKHQsZT0kKGUsYSx0LmR0eXBlKSxyKSxvP3QucGVyc2lzdGVudERhdGE9ZTpHLmZyZWVUeXBlKGUpfWVsc2UibnVtYmVyIj09dHlwZW9mIGVbMF0/KHQuZGltZW5zaW9uPWEsaChhPUcuYWxsb2NUeXBlKHQuZHR5cGUsZS5sZW5ndGgpLGUpLGkodCxhLHIpLG8/dC5wZXJzaXN0ZW50RGF0YT1hOkcuZnJlZVR5cGUoYSkpOlcoZVswXSkmJih0LmRpbWVuc2lvbj1lWzBdLmxlbmd0aCx0LmR0eXBlPW58fHUoZVswXSl8fDUxMjYsaSh0LGU9JChlLFtlLmxlbmd0aCxlWzBdLmxlbmd0aF0sdC5kdHlwZSksciksbz90LnBlcnNpc3RlbnREYXRhPWU6Ry5mcmVlVHlwZShlKSl9ZWxzZSBpZihXKGUpKXQuZHR5cGU9bnx8dShlKSx0LmRpbWVuc2lvbj1hLGkodCxlLHIpLG8mJih0LnBlcnNpc3RlbnREYXRhPW5ldyBVaW50OEFycmF5KG5ldyBVaW50OEFycmF5KGUuYnVmZmVyKSkpO2Vsc2UgaWYobChlKSl7YT1lLnNoYXBlO3ZhciBjPWUuc3RyaWRlLHA9KHM9ZS5vZmZzZXQsMCksZD0wLGc9MCx2PTA7MT09PWEubGVuZ3RoPyhwPWFbMF0sZD0xLGc9Y1swXSx2PTApOjI9PT1hLmxlbmd0aCYmKHA9YVswXSxkPWFbMV0sZz1jWzBdLHY9Y1sxXSksdC5kdHlwZT1ufHx1KGUuZGF0YSl8fDUxMjYsdC5kaW1lbnNpb249ZCxmKGE9Ry5hbGxvY1R5cGUodC5kdHlwZSxwKmQpLGUuZGF0YSxwLGQsZyx2LHMpLGkodCxhLHIpLG8/dC5wZXJzaXN0ZW50RGF0YT1hOkcuZnJlZVR5cGUoYSl9fWZ1bmN0aW9uIHMocil7ZS5idWZmZXJDb3VudC0tO2Zvcih2YXIgYT0wO2E8bi5zdGF0ZS5sZW5ndGg7KythKXt2YXIgaT1uLnN0YXRlW2FdO2kuYnVmZmVyPT09ciYmKHQuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGEpLGkuYnVmZmVyPW51bGwpfXQuZGVsZXRlQnVmZmVyKHIuYnVmZmVyKSxyLmJ1ZmZlcj1udWxsLGRlbGV0ZSBwW3IuaWRdfXZhciBjPTAscD17fTthLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dC5iaW5kQnVmZmVyKHRoaXMudHlwZSx0aGlzLmJ1ZmZlcil9LGEucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtzKHRoaXMpfTt2YXIgZD1bXTtyZXR1cm4gci5wcm9maWxlJiYoZS5nZXRUb3RhbEJ1ZmZlclNpemU9ZnVuY3Rpb24oKXt2YXIgdD0wO3JldHVybiBPYmplY3Qua2V5cyhwKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QrPXBbZV0uc3RhdHMuc2l6ZX0pLHR9KSx7Y3JlYXRlOmZ1bmN0aW9uKG4saSxjLGQpe2Z1bmN0aW9uIGcoZSl7dmFyIG49MzUwNDQsYT1udWxsLGk9MCxzPTAsYz0xO3JldHVybiBBcnJheS5pc0FycmF5KGUpfHxXKGUpfHxsKGUpP2E9ZToibnVtYmVyIj09dHlwZW9mIGU/aT0wfGU6ZSYmKCJkYXRhImluIGUmJihhPWUuZGF0YSksInVzYWdlImluIGUmJihuPVFbZS51c2FnZV0pLCJ0eXBlImluIGUmJihzPUtbZS50eXBlXSksImRpbWVuc2lvbiJpbiBlJiYoYz0wfGUuZGltZW5zaW9uKSwibGVuZ3RoImluIGUmJihpPTB8ZS5sZW5ndGgpKSx2LmJpbmQoKSxhP28odixhLG4scyxjLGQpOihpJiZ0LmJ1ZmZlckRhdGEodi50eXBlLGksbiksdi5kdHlwZT1zfHw1MTIxLHYudXNhZ2U9bix2LmRpbWVuc2lvbj1jLHYuYnl0ZUxlbmd0aD1pKSxyLnByb2ZpbGUmJih2LnN0YXRzLnNpemU9di5ieXRlTGVuZ3RoKmV0W3YuZHR5cGVdKSxnfWUuYnVmZmVyQ291bnQrKzt2YXIgdj1uZXcgYShpKTtyZXR1cm4gcFt2LmlkXT12LGN8fGcobiksZy5fcmVnbFR5cGU9ImJ1ZmZlciIsZy5fYnVmZmVyPXYsZy5zdWJkYXRhPWZ1bmN0aW9uKGUscil7dmFyIG4sYT0wfChyfHwwKTtpZih2LmJpbmQoKSxXKGUpKXQuYnVmZmVyU3ViRGF0YSh2LnR5cGUsYSxlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2lmKDA8ZS5sZW5ndGgpaWYoIm51bWJlciI9PXR5cGVvZiBlWzBdKXt2YXIgaT1HLmFsbG9jVHlwZSh2LmR0eXBlLGUubGVuZ3RoKTtoKGksZSksdC5idWZmZXJTdWJEYXRhKHYudHlwZSxhLGkpLEcuZnJlZVR5cGUoaSl9ZWxzZShBcnJheS5pc0FycmF5KGVbMF0pfHxXKGVbMF0pKSYmKG49dHQoZSksaT0kKGUsbix2LmR0eXBlKSx0LmJ1ZmZlclN1YkRhdGEodi50eXBlLGEsaSksRy5mcmVlVHlwZShpKSl9ZWxzZSBpZihsKGUpKXtuPWUuc2hhcGU7dmFyIG89ZS5zdHJpZGUscz1pPTAsYz0wLHA9MDsxPT09bi5sZW5ndGg/KGk9blswXSxzPTEsYz1vWzBdLHA9MCk6Mj09PW4ubGVuZ3RoJiYoaT1uWzBdLHM9blsxXSxjPW9bMF0scD1vWzFdKSxuPUFycmF5LmlzQXJyYXkoZS5kYXRhKT92LmR0eXBlOnUoZS5kYXRhKSxmKG49Ry5hbGxvY1R5cGUobixpKnMpLGUuZGF0YSxpLHMsYyxwLGUub2Zmc2V0KSx0LmJ1ZmZlclN1YkRhdGEodi50eXBlLGEsbiksRy5mcmVlVHlwZShuKX1yZXR1cm4gZ30sci5wcm9maWxlJiYoZy5zdGF0cz12LnN0YXRzKSxnLmRlc3Ryb3k9ZnVuY3Rpb24oKXtzKHYpfSxnfSxjcmVhdGVTdHJlYW06ZnVuY3Rpb24odCxlKXt2YXIgcj1kLnBvcCgpO3JldHVybiByfHwocj1uZXcgYSh0KSksci5iaW5kKCksbyhyLGUsMzUwNDAsMCwxLCExKSxyfSxkZXN0cm95U3RyZWFtOmZ1bmN0aW9uKHQpe2QucHVzaCh0KX0sY2xlYXI6ZnVuY3Rpb24oKXtYKHApLmZvckVhY2gocyksZC5mb3JFYWNoKHMpfSxnZXRCdWZmZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuX2J1ZmZlciBpbnN0YW5jZW9mIGE/dC5fYnVmZmVyOm51bGx9LHJlc3RvcmU6ZnVuY3Rpb24oKXtYKHApLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5idWZmZXI9dC5jcmVhdGVCdWZmZXIoKSx0LmJpbmRCdWZmZXIoZS50eXBlLGUuYnVmZmVyKSx0LmJ1ZmZlckRhdGEoZS50eXBlLGUucGVyc2lzdGVudERhdGF8fGUuYnl0ZUxlbmd0aCxlLnVzYWdlKX0pfSxfaW5pdEJ1ZmZlcjpvfX1mdW5jdGlvbiBkKHQsZSxyLG4pe2Z1bmN0aW9uIGEodCl7dGhpcy5pZD1jKyssc1t0aGlzLmlkXT10aGlzLHRoaXMuYnVmZmVyPXQsdGhpcy5wcmltVHlwZT00LHRoaXMudHlwZT10aGlzLnZlcnRDb3VudD0wfWZ1bmN0aW9uIGkobixhLGksbyxzLGMsdSl7aWYobi5idWZmZXIuYmluZCgpLGEpe3ZhciBoPXU7dXx8VyhhKSYmKCFsKGEpfHxXKGEuZGF0YSkpfHwoaD1lLm9lc19lbGVtZW50X2luZGV4X3VpbnQ/NTEyNTo1MTIzKSxyLl9pbml0QnVmZmVyKG4uYnVmZmVyLGEsaSxoLDMpfWVsc2UgdC5idWZmZXJEYXRhKDM0OTYzLGMsaSksbi5idWZmZXIuZHR5cGU9aHx8NTEyMSxuLmJ1ZmZlci51c2FnZT1pLG4uYnVmZmVyLmRpbWVuc2lvbj0zLG4uYnVmZmVyLmJ5dGVMZW5ndGg9YztpZihoPXUsIXUpe3N3aXRjaChuLmJ1ZmZlci5kdHlwZSl7Y2FzZSA1MTIxOmNhc2UgNTEyMDpoPTUxMjE7YnJlYWs7Y2FzZSA1MTIzOmNhc2UgNTEyMjpoPTUxMjM7YnJlYWs7Y2FzZSA1MTI1OmNhc2UgNTEyNDpoPTUxMjV9bi5idWZmZXIuZHR5cGU9aH1uLnR5cGU9aCwwPihhPXMpJiYoYT1uLmJ1ZmZlci5ieXRlTGVuZ3RoLDUxMjM9PT1oP2E+Pj0xOjUxMjU9PT1oJiYoYT4+PTIpKSxuLnZlcnRDb3VudD1hLGE9bywwPm8mJihhPTQsMT09PShvPW4uYnVmZmVyLmRpbWVuc2lvbikmJihhPTApLDI9PT1vJiYoYT0xKSwzPT09byYmKGE9NCkpLG4ucHJpbVR5cGU9YX1mdW5jdGlvbiBvKHQpe24uZWxlbWVudHNDb3VudC0tLGRlbGV0ZSBzW3QuaWRdLHQuYnVmZmVyLmRlc3Ryb3koKSx0LmJ1ZmZlcj1udWxsfXZhciBzPXt9LGM9MCx1PXt1aW50ODo1MTIxLHVpbnQxNjo1MTIzfTtlLm9lc19lbGVtZW50X2luZGV4X3VpbnQmJih1LnVpbnQzMj01MTI1KSxhLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dGhpcy5idWZmZXIuYmluZCgpfTt2YXIgaD1bXTtyZXR1cm57Y3JlYXRlOmZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcyh0KXtpZih0KWlmKCJudW1iZXIiPT10eXBlb2YgdCljKHQpLGgucHJpbVR5cGU9NCxoLnZlcnRDb3VudD0wfHQsaC50eXBlPTUxMjE7ZWxzZXt2YXIgZT1udWxsLHI9MzUwNDQsbj0tMSxhPS0xLG89MCxmPTA7QXJyYXkuaXNBcnJheSh0KXx8Vyh0KXx8bCh0KT9lPXQ6KCJkYXRhImluIHQmJihlPXQuZGF0YSksInVzYWdlImluIHQmJihyPVFbdC51c2FnZV0pLCJwcmltaXRpdmUiaW4gdCYmKG49cnRbdC5wcmltaXRpdmVdKSwiY291bnQiaW4gdCYmKGE9MHx0LmNvdW50KSwidHlwZSJpbiB0JiYoZj11W3QudHlwZV0pLCJsZW5ndGgiaW4gdD9vPTB8dC5sZW5ndGg6KG89YSw1MTIzPT09Znx8NTEyMj09PWY/byo9Mjo1MTI1IT09ZiYmNTEyNCE9PWZ8fChvKj00KSkpLGkoaCxlLHIsbixhLG8sZil9ZWxzZSBjKCksaC5wcmltVHlwZT00LGgudmVydENvdW50PTAsaC50eXBlPTUxMjE7cmV0dXJuIHN9dmFyIGM9ci5jcmVhdGUobnVsbCwzNDk2MywhMCksaD1uZXcgYShjLl9idWZmZXIpO3JldHVybiBuLmVsZW1lbnRzQ291bnQrKyxzKHQpLHMuX3JlZ2xUeXBlPSJlbGVtZW50cyIscy5fZWxlbWVudHM9aCxzLnN1YmRhdGE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYy5zdWJkYXRhKHQsZSksc30scy5kZXN0cm95PWZ1bmN0aW9uKCl7byhoKX0sc30sY3JlYXRlU3RyZWFtOmZ1bmN0aW9uKHQpe3ZhciBlPWgucG9wKCk7cmV0dXJuIGV8fChlPW5ldyBhKHIuY3JlYXRlKG51bGwsMzQ5NjMsITAsITEpLl9idWZmZXIpKSxpKGUsdCwzNTA0MCwtMSwtMSwwLDApLGV9LGRlc3Ryb3lTdHJlYW06ZnVuY3Rpb24odCl7aC5wdXNoKHQpfSxnZXRFbGVtZW50czpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5fZWxlbWVudHMgaW5zdGFuY2VvZiBhP3QuX2VsZW1lbnRzOm51bGx9LGNsZWFyOmZ1bmN0aW9uKCl7WChzKS5mb3JFYWNoKG8pfX19ZnVuY3Rpb24gZyh0KXtmb3IodmFyIGU9Ry5hbGxvY1R5cGUoNTEyMyx0Lmxlbmd0aCkscj0wO3I8dC5sZW5ndGg7KytyKWlmKGlzTmFOKHRbcl0pKWVbcl09NjU1MzU7ZWxzZSBpZigxLzA9PT10W3JdKWVbcl09MzE3NDQ7ZWxzZSBpZigtMS8wPT09dFtyXSllW3JdPTY0NTEyO2Vsc2V7bnRbMF09dFtyXTt2YXIgbj0oaT1hdFswXSk+Pj4zMTw8MTUsYT0oaTw8MT4+PjI0KS0xMjcsaT1pPj4xMyYxMDIzO2Vbcl09LTI0PmE/bjotMTQ+YT9uKyhpKzEwMjQ+Pi0xNC1hKToxNTxhP24rMzE3NDQ6bisoYSsxNTw8MTApK2l9cmV0dXJuIGV9ZnVuY3Rpb24gdih0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KXx8Vyh0KX1mdW5jdGlvbiBtKHQpe3JldHVybiJbb2JqZWN0ICIrdCsiXSJ9ZnVuY3Rpb24geSh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmKDA9PT10Lmxlbmd0aHx8Im51bWJlciI9PXR5cGVvZiB0WzBdKX1mdW5jdGlvbiB4KHQpe3JldHVybiEoIUFycmF5LmlzQXJyYXkodCl8fDA9PT10Lmxlbmd0aHx8IXYodFswXSkpfWZ1bmN0aW9uIGIodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBfKHQpe2lmKCF0KXJldHVybiExO3ZhciBlPWIodCk7cmV0dXJuIDA8PXB0LmluZGV4T2YoZSl8fCh5KHQpfHx4KHQpfHxsKHQpKX1mdW5jdGlvbiB3KHQsZSl7MzYxOTM9PT10LnR5cGU/KHQuZGF0YT1nKGUpLEcuZnJlZVR5cGUoZSkpOnQuZGF0YT1lfWZ1bmN0aW9uIGsodCxlLHIsbixhLGkpe2lmKHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBndFt0XT9ndFt0XTpzdFt0XSpkdFtlXSxpJiYodCo9NiksYSl7Zm9yKG49MDsxPD1yOyluKz10KnIqcixyLz0yO3JldHVybiBufXJldHVybiB0KnIqbn1mdW5jdGlvbiBUKHQsZSxyLG4sYSxpLG8pe2Z1bmN0aW9uIHMoKXt0aGlzLmZvcm1hdD10aGlzLmludGVybmFsZm9ybWF0PTY0MDgsdGhpcy50eXBlPTUxMjEsdGhpcy5mbGlwWT10aGlzLnByZW11bHRpcGx5QWxwaGE9dGhpcy5jb21wcmVzc2VkPSExLHRoaXMudW5wYWNrQWxpZ25tZW50PTEsdGhpcy5jb2xvclNwYWNlPTM3NDQ0LHRoaXMuY2hhbm5lbHM9dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD0wfWZ1bmN0aW9uIGModCxlKXt0LmludGVybmFsZm9ybWF0PWUuaW50ZXJuYWxmb3JtYXQsdC5mb3JtYXQ9ZS5mb3JtYXQsdC50eXBlPWUudHlwZSx0LmNvbXByZXNzZWQ9ZS5jb21wcmVzc2VkLHQucHJlbXVsdGlwbHlBbHBoYT1lLnByZW11bHRpcGx5QWxwaGEsdC5mbGlwWT1lLmZsaXBZLHQudW5wYWNrQWxpZ25tZW50PWUudW5wYWNrQWxpZ25tZW50LHQuY29sb3JTcGFjZT1lLmNvbG9yU3BhY2UsdC53aWR0aD1lLndpZHRoLHQuaGVpZ2h0PWUuaGVpZ2h0LHQuY2hhbm5lbHM9ZS5jaGFubmVsc31mdW5jdGlvbiB1KHQsZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXsicHJlbXVsdGlwbHlBbHBoYSJpbiBlJiYodC5wcmVtdWx0aXBseUFscGhhPWUucHJlbXVsdGlwbHlBbHBoYSksImZsaXBZImluIGUmJih0LmZsaXBZPWUuZmxpcFkpLCJhbGlnbm1lbnQiaW4gZSYmKHQudW5wYWNrQWxpZ25tZW50PWUuYWxpZ25tZW50KSwiY29sb3JTcGFjZSJpbiBlJiYodC5jb2xvclNwYWNlPXFbZS5jb2xvclNwYWNlXSksInR5cGUiaW4gZSYmKHQudHlwZT1IW2UudHlwZV0pO3ZhciByPXQud2lkdGgsbj10LmhlaWdodCxhPXQuY2hhbm5lbHMsaT0hMTsic2hhcGUiaW4gZT8ocj1lLnNoYXBlWzBdLG49ZS5zaGFwZVsxXSwzPT09ZS5zaGFwZS5sZW5ndGgmJihhPWUuc2hhcGVbMl0saT0hMCkpOigicmFkaXVzImluIGUmJihyPW49ZS5yYWRpdXMpLCJ3aWR0aCJpbiBlJiYocj1lLndpZHRoKSwiaGVpZ2h0ImluIGUmJihuPWUuaGVpZ2h0KSwiY2hhbm5lbHMiaW4gZSYmKGE9ZS5jaGFubmVscyxpPSEwKSksdC53aWR0aD0wfHIsdC5oZWlnaHQ9MHxuLHQuY2hhbm5lbHM9MHxhLHI9ITEsImZvcm1hdCJpbiBlJiYocj1lLmZvcm1hdCxuPXQuaW50ZXJuYWxmb3JtYXQ9WVtyXSx0LmZvcm1hdD1wdFtuXSxyIGluIEgmJiEoInR5cGUiaW4gZSkmJih0LnR5cGU9SFtyXSksciBpbiBLJiYodC5jb21wcmVzc2VkPSEwKSxyPSEwKSwhaSYmcj90LmNoYW5uZWxzPXN0W3QuZm9ybWF0XTppJiYhciYmdC5jaGFubmVscyE9PW90W3QuZm9ybWF0XSYmKHQuZm9ybWF0PXQuaW50ZXJuYWxmb3JtYXQ9b3RbdC5jaGFubmVsc10pfX1mdW5jdGlvbiBoKGUpe3QucGl4ZWxTdG9yZWkoMzc0NDAsZS5mbGlwWSksdC5waXhlbFN0b3JlaSgzNzQ0MSxlLnByZW11bHRpcGx5QWxwaGEpLHQucGl4ZWxTdG9yZWkoMzc0NDMsZS5jb2xvclNwYWNlKSx0LnBpeGVsU3RvcmVpKDMzMTcsZS51bnBhY2tBbGlnbm1lbnQpfWZ1bmN0aW9uIGYoKXtzLmNhbGwodGhpcyksdGhpcy55T2Zmc2V0PXRoaXMueE9mZnNldD0wLHRoaXMuZGF0YT1udWxsLHRoaXMubmVlZHNGcmVlPSExLHRoaXMuZWxlbWVudD1udWxsLHRoaXMubmVlZHNDb3B5PSExfWZ1bmN0aW9uIHAodCxlKXt2YXIgcj1udWxsO2lmKF8oZSk/cj1lOmUmJih1KHQsZSksIngiaW4gZSYmKHQueE9mZnNldD0wfGUueCksInkiaW4gZSYmKHQueU9mZnNldD0wfGUueSksXyhlLmRhdGEpJiYocj1lLmRhdGEpKSxlLmNvcHkpe3ZhciBuPWEudmlld3BvcnRXaWR0aCxpPWEudmlld3BvcnRIZWlnaHQ7dC53aWR0aD10LndpZHRofHxuLXQueE9mZnNldCx0LmhlaWdodD10LmhlaWdodHx8aS10LnlPZmZzZXQsdC5uZWVkc0NvcHk9ITB9ZWxzZSBpZihyKXtpZihXKHIpKXQuY2hhbm5lbHM9dC5jaGFubmVsc3x8NCx0LmRhdGE9ciwidHlwZSJpbiBlfHw1MTIxIT09dC50eXBlfHwodC50eXBlPTB8SltPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocildKTtlbHNlIGlmKHkocikpe3N3aXRjaCh0LmNoYW5uZWxzPXQuY2hhbm5lbHN8fDQsaT0obj1yKS5sZW5ndGgsdC50eXBlKXtjYXNlIDUxMjE6Y2FzZSA1MTIzOmNhc2UgNTEyNTpjYXNlIDUxMjY6KGk9Ry5hbGxvY1R5cGUodC50eXBlLGkpKS5zZXQobiksdC5kYXRhPWk7YnJlYWs7Y2FzZSAzNjE5Mzp0LmRhdGE9ZyhuKX10LmFsaWdubWVudD0xLHQubmVlZHNGcmVlPSEwfWVsc2UgaWYobChyKSl7bj1yLmRhdGEsQXJyYXkuaXNBcnJheShuKXx8NTEyMSE9PXQudHlwZXx8KHQudHlwZT0wfEpbT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG4pXSk7aT1yLnNoYXBlO3ZhciBvLHMsYyxoLGY9ci5zdHJpZGU7Mz09PWkubGVuZ3RoPyhjPWlbMl0saD1mWzJdKTpoPWM9MSxvPWlbMF0scz1pWzFdLGk9ZlswXSxmPWZbMV0sdC5hbGlnbm1lbnQ9MSx0LndpZHRoPW8sdC5oZWlnaHQ9cyx0LmNoYW5uZWxzPWMsdC5mb3JtYXQ9dC5pbnRlcm5hbGZvcm1hdD1vdFtjXSx0Lm5lZWRzRnJlZT0hMCxvPWgscj1yLm9mZnNldCxjPXQud2lkdGgsaD10LmhlaWdodCxzPXQuY2hhbm5lbHM7Zm9yKHZhciBwPUcuYWxsb2NUeXBlKDM2MTkzPT09dC50eXBlPzUxMjY6dC50eXBlLGMqaCpzKSxkPTAsbT0wO208aDsrK20pZm9yKHZhciBrPTA7azxjOysraylmb3IodmFyIFQ9MDtUPHM7KytUKXBbZCsrXT1uW2kqaytmKm0rbypUK3JdO3codCxwKX1lbHNlIGlmKGIocik9PT1sdHx8YihyKT09PWN0KWIocik9PT1sdD90LmVsZW1lbnQ9cjp0LmVsZW1lbnQ9ci5jYW52YXMsdC53aWR0aD10LmVsZW1lbnQud2lkdGgsdC5oZWlnaHQ9dC5lbGVtZW50LmhlaWdodCx0LmNoYW5uZWxzPTQ7ZWxzZSBpZihiKHIpPT09dXQpdC5lbGVtZW50PXIsdC53aWR0aD1yLndpZHRoLHQuaGVpZ2h0PXIuaGVpZ2h0LHQuY2hhbm5lbHM9NDtlbHNlIGlmKGIocik9PT1odCl0LmVsZW1lbnQ9cix0LndpZHRoPXIubmF0dXJhbFdpZHRoLHQuaGVpZ2h0PXIubmF0dXJhbEhlaWdodCx0LmNoYW5uZWxzPTQ7ZWxzZSBpZihiKHIpPT09ZnQpdC5lbGVtZW50PXIsdC53aWR0aD1yLnZpZGVvV2lkdGgsdC5oZWlnaHQ9ci52aWRlb0hlaWdodCx0LmNoYW5uZWxzPTQ7ZWxzZSBpZih4KHIpKXtmb3Iobj10LndpZHRofHxyWzBdLmxlbmd0aCxpPXQuaGVpZ2h0fHxyLmxlbmd0aCxmPXQuY2hhbm5lbHMsZj12KHJbMF1bMF0pP2Z8fHJbMF1bMF0ubGVuZ3RoOmZ8fDEsbz1aLnNoYXBlKHIpLGM9MSxoPTA7aDxvLmxlbmd0aDsrK2gpYyo9b1toXTtjPUcuYWxsb2NUeXBlKDM2MTkzPT09dC50eXBlPzUxMjY6dC50eXBlLGMpLFouZmxhdHRlbihyLG8sIiIsYyksdyh0LGMpLHQuYWxpZ25tZW50PTEsdC53aWR0aD1uLHQuaGVpZ2h0PWksdC5jaGFubmVscz1mLHQuZm9ybWF0PXQuaW50ZXJuYWxmb3JtYXQ9b3RbZl0sdC5uZWVkc0ZyZWU9ITB9fWVsc2UgdC53aWR0aD10LndpZHRofHwxLHQuaGVpZ2h0PXQuaGVpZ2h0fHwxLHQuY2hhbm5lbHM9dC5jaGFubmVsc3x8NH1mdW5jdGlvbiBkKGUscixhLGksbyl7dmFyIHM9ZS5lbGVtZW50LGw9ZS5kYXRhLGM9ZS5pbnRlcm5hbGZvcm1hdCx1PWUuZm9ybWF0LGY9ZS50eXBlLHA9ZS53aWR0aCxkPWUuaGVpZ2h0O2goZSkscz90LnRleFN1YkltYWdlMkQocixvLGEsaSx1LGYscyk6ZS5jb21wcmVzc2VkP3QuY29tcHJlc3NlZFRleFN1YkltYWdlMkQocixvLGEsaSxjLHAsZCxsKTplLm5lZWRzQ29weT8obigpLHQuY29weVRleFN1YkltYWdlMkQocixvLGEsaSxlLnhPZmZzZXQsZS55T2Zmc2V0LHAsZCkpOnQudGV4U3ViSW1hZ2UyRChyLG8sYSxpLHAsZCx1LGYsbCl9ZnVuY3Rpb24gbSgpe3JldHVybiBkdC5wb3AoKXx8bmV3IGZ9ZnVuY3Rpb24gVCh0KXt0Lm5lZWRzRnJlZSYmRy5mcmVlVHlwZSh0LmRhdGEpLGYuY2FsbCh0KSxkdC5wdXNoKHQpfWZ1bmN0aW9uIE0oKXtzLmNhbGwodGhpcyksdGhpcy5nZW5NaXBtYXBzPSExLHRoaXMubWlwbWFwSGludD00MzUyLHRoaXMubWlwbWFzaz0wLHRoaXMuaW1hZ2VzPUFycmF5KDE2KX1mdW5jdGlvbiBBKHQsZSxyKXt2YXIgbj10LmltYWdlc1swXT1tKCk7dC5taXBtYXNrPTEsbi53aWR0aD10LndpZHRoPWUsbi5oZWlnaHQ9dC5oZWlnaHQ9cixuLmNoYW5uZWxzPXQuY2hhbm5lbHM9NH1mdW5jdGlvbiBTKHQsZSl7dmFyIHI9bnVsbDtpZihfKGUpKWMocj10LmltYWdlc1swXT1tKCksdCkscChyLGUpLHQubWlwbWFzaz0xO2Vsc2UgaWYodSh0LGUpLEFycmF5LmlzQXJyYXkoZS5taXBtYXApKWZvcih2YXIgbj1lLm1pcG1hcCxhPTA7YTxuLmxlbmd0aDsrK2EpYyhyPXQuaW1hZ2VzW2FdPW0oKSx0KSxyLndpZHRoPj49YSxyLmhlaWdodD4+PWEscChyLG5bYV0pLHQubWlwbWFza3w9MTw8YTtlbHNlIGMocj10LmltYWdlc1swXT1tKCksdCkscChyLGUpLHQubWlwbWFzaz0xO2ModCx0LmltYWdlc1swXSl9ZnVuY3Rpb24gRShlLHIpe2Zvcih2YXIgYT1lLmltYWdlcyxpPTA7aTxhLmxlbmd0aCYmYVtpXTsrK2kpe3ZhciBvPWFbaV0scz1yLGw9aSxjPW8uZWxlbWVudCx1PW8uZGF0YSxmPW8uaW50ZXJuYWxmb3JtYXQscD1vLmZvcm1hdCxkPW8udHlwZSxnPW8ud2lkdGgsdj1vLmhlaWdodCxtPW8uY2hhbm5lbHM7aChvKSxjP3QudGV4SW1hZ2UyRChzLGwscCxwLGQsYyk6by5jb21wcmVzc2VkP3QuY29tcHJlc3NlZFRleEltYWdlMkQocyxsLGYsZyx2LDAsdSk6by5uZWVkc0NvcHk/KG4oKSx0LmNvcHlUZXhJbWFnZTJEKHMsbCxwLG8ueE9mZnNldCxvLnlPZmZzZXQsZyx2LDApKTooKG89IXUpJiYodT1HLnplcm8uYWxsb2NUeXBlKGQsZyp2Km0pKSx0LnRleEltYWdlMkQocyxsLHAsZyx2LDAscCxkLHUpLG8mJnUmJkcuemVyby5mcmVlVHlwZSh1KSl9fWZ1bmN0aW9uIEwoKXt2YXIgdD1ndC5wb3AoKXx8bmV3IE07cy5jYWxsKHQpO2Zvcih2YXIgZT10Lm1pcG1hc2s9MDsxNj5lOysrZSl0LmltYWdlc1tlXT1udWxsO3JldHVybiB0fWZ1bmN0aW9uIEModCl7Zm9yKHZhciBlPXQuaW1hZ2VzLHI9MDtyPGUubGVuZ3RoOysrcillW3JdJiZUKGVbcl0pLGVbcl09bnVsbDtndC5wdXNoKHQpfWZ1bmN0aW9uIFAoKXt0aGlzLm1hZ0ZpbHRlcj10aGlzLm1pbkZpbHRlcj05NzI4LHRoaXMud3JhcFQ9dGhpcy53cmFwUz0zMzA3MSx0aGlzLmFuaXNvdHJvcGljPTEsdGhpcy5nZW5NaXBtYXBzPSExLHRoaXMubWlwbWFwSGludD00MzUyfWZ1bmN0aW9uIE8odCxlKXsibWluImluIGUmJih0Lm1pbkZpbHRlcj1VW2UubWluXSwwPD1pdC5pbmRleE9mKHQubWluRmlsdGVyKSYmISgiZmFjZXMiaW4gZSkmJih0Lmdlbk1pcG1hcHM9ITApKSwibWFnImluIGUmJih0Lm1hZ0ZpbHRlcj1WW2UubWFnXSk7dmFyIHI9dC53cmFwUyxuPXQud3JhcFQ7aWYoIndyYXAiaW4gZSl7dmFyIGE9ZS53cmFwOyJzdHJpbmciPT10eXBlb2YgYT9yPW49TlthXTpBcnJheS5pc0FycmF5KGEpJiYocj1OW2FbMF1dLG49TlthWzFdXSl9ZWxzZSJ3cmFwUyJpbiBlJiYocj1OW2Uud3JhcFNdKSwid3JhcFQiaW4gZSYmKG49TltlLndyYXBUXSk7aWYodC53cmFwUz1yLHQud3JhcFQ9biwiYW5pc290cm9waWMiaW4gZSYmKHQuYW5pc290cm9waWM9ZS5hbmlzb3Ryb3BpYyksIm1pcG1hcCJpbiBlKXtzd2l0Y2gocj0hMSx0eXBlb2YgZS5taXBtYXApe2Nhc2Uic3RyaW5nIjp0Lm1pcG1hcEhpbnQ9QltlLm1pcG1hcF0scj10Lmdlbk1pcG1hcHM9ITA7YnJlYWs7Y2FzZSJib29sZWFuIjpyPXQuZ2VuTWlwbWFwcz1lLm1pcG1hcDticmVhaztjYXNlIm9iamVjdCI6dC5nZW5NaXBtYXBzPSExLHI9ITB9IXJ8fCJtaW4iaW4gZXx8KHQubWluRmlsdGVyPTk5ODQpfX1mdW5jdGlvbiB6KHIsbil7dC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDEsci5taW5GaWx0ZXIpLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLHIubWFnRmlsdGVyKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MixyLndyYXBTKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MyxyLndyYXBUKSxlLmV4dF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyYmdC50ZXhQYXJhbWV0ZXJpKG4sMzQwNDYsci5hbmlzb3Ryb3BpYyksci5nZW5NaXBtYXBzJiYodC5oaW50KDMzMTcwLHIubWlwbWFwSGludCksdC5nZW5lcmF0ZU1pcG1hcChuKSl9ZnVuY3Rpb24gSShlKXtzLmNhbGwodGhpcyksdGhpcy5taXBtYXNrPTAsdGhpcy5pbnRlcm5hbGZvcm1hdD02NDA4LHRoaXMuaWQ9dnQrKyx0aGlzLnJlZkNvdW50PTEsdGhpcy50YXJnZXQ9ZSx0aGlzLnRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksdGhpcy51bml0PS0xLHRoaXMuYmluZENvdW50PTAsdGhpcy50ZXhJbmZvPW5ldyBQLG8ucHJvZmlsZSYmKHRoaXMuc3RhdHM9e3NpemU6MH0pfWZ1bmN0aW9uIEQoZSl7dC5hY3RpdmVUZXh0dXJlKDMzOTg0KSx0LmJpbmRUZXh0dXJlKGUudGFyZ2V0LGUudGV4dHVyZSl9ZnVuY3Rpb24gUigpe3ZhciBlPXh0WzBdO2U/dC5iaW5kVGV4dHVyZShlLnRhcmdldCxlLnRleHR1cmUpOnQuYmluZFRleHR1cmUoMzU1MyxudWxsKX1mdW5jdGlvbiBGKGUpe3ZhciByPWUudGV4dHVyZSxuPWUudW5pdCxhPWUudGFyZ2V0OzA8PW4mJih0LmFjdGl2ZVRleHR1cmUoMzM5ODQrbiksdC5iaW5kVGV4dHVyZShhLG51bGwpLHh0W25dPW51bGwpLHQuZGVsZXRlVGV4dHVyZShyKSxlLnRleHR1cmU9bnVsbCxlLnBhcmFtcz1udWxsLGUucGl4ZWxzPW51bGwsZS5yZWZDb3VudD0wLGRlbGV0ZSBtdFtlLmlkXSxpLnRleHR1cmVDb3VudC0tfXZhciBCPXsiZG9uJ3QgY2FyZSI6NDM1MiwiZG9udCBjYXJlIjo0MzUyLG5pY2U6NDM1NCxmYXN0OjQzNTN9LE49e3JlcGVhdDoxMDQ5NyxjbGFtcDozMzA3MSxtaXJyb3I6MzM2NDh9LFY9e25lYXJlc3Q6OTcyOCxsaW5lYXI6OTcyOX0sVT1qKHttaXBtYXA6OTk4NywibmVhcmVzdCBtaXBtYXAgbmVhcmVzdCI6OTk4NCwibGluZWFyIG1pcG1hcCBuZWFyZXN0Ijo5OTg1LCJuZWFyZXN0IG1pcG1hcCBsaW5lYXIiOjk5ODYsImxpbmVhciBtaXBtYXAgbGluZWFyIjo5OTg3fSxWKSxxPXtub25lOjAsYnJvd3NlcjozNzQ0NH0sSD17dWludDg6NTEyMSxyZ2JhNDozMjgxOSxyZ2I1NjU6MzM2MzUsInJnYjUgYTEiOjMyODIwfSxZPXthbHBoYTo2NDA2LGx1bWluYW5jZTo2NDA5LCJsdW1pbmFuY2UgYWxwaGEiOjY0MTAscmdiOjY0MDcscmdiYTo2NDA4LHJnYmE0OjMyODU0LCJyZ2I1IGExIjozMjg1NSxyZ2I1NjU6MzYxOTR9LEs9e307ZS5leHRfc3JnYiYmKFkuc3JnYj0zNTkwNCxZLnNyZ2JhPTM1OTA2KSxlLm9lc190ZXh0dXJlX2Zsb2F0JiYoSC5mbG9hdDMyPUguZmxvYXQ9NTEyNiksZS5vZXNfdGV4dHVyZV9oYWxmX2Zsb2F0JiYoSC5mbG9hdDE2PUhbImhhbGYgZmxvYXQiXT0zNjE5MyksZS53ZWJnbF9kZXB0aF90ZXh0dXJlJiYoaihZLHtkZXB0aDo2NDAyLCJkZXB0aCBzdGVuY2lsIjozNDA0MX0pLGooSCx7dWludDE2OjUxMjMsdWludDMyOjUxMjUsImRlcHRoIHN0ZW5jaWwiOjM0MDQyfSkpLGUud2ViZ2xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMmJmooSyx7InJnYiBzM3RjIGR4dDEiOjMzNzc2LCJyZ2JhIHMzdGMgZHh0MSI6MzM3NzcsInJnYmEgczN0YyBkeHQzIjozMzc3OCwicmdiYSBzM3RjIGR4dDUiOjMzNzc5fSksZS53ZWJnbF9jb21wcmVzc2VkX3RleHR1cmVfYXRjJiZqKEsseyJyZ2IgYXRjIjozNTk4NiwicmdiYSBhdGMgZXhwbGljaXQgYWxwaGEiOjM1OTg3LCJyZ2JhIGF0YyBpbnRlcnBvbGF0ZWQgYWxwaGEiOjM0Nzk4fSksZS53ZWJnbF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMmJmooSyx7InJnYiBwdnJ0YyA0YnBwdjEiOjM1ODQwLCJyZ2IgcHZydGMgMmJwcHYxIjozNTg0MSwicmdiYSBwdnJ0YyA0YnBwdjEiOjM1ODQyLCJyZ2JhIHB2cnRjIDJicHB2MSI6MzU4NDN9KSxlLndlYmdsX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMxJiYoS1sicmdiIGV0YzEiXT0zNjE5Nik7dmFyIFE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5nZXRQYXJhbWV0ZXIoMzQ0NjcpKTtPYmplY3Qua2V5cyhLKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPUtbdF07MDw9US5pbmRleE9mKGUpJiYoWVt0XT1lKX0pO3ZhciAkPU9iamVjdC5rZXlzKFkpO3IudGV4dHVyZUZvcm1hdHM9JDt2YXIgdHQ9W107T2JqZWN0LmtleXMoWSkuZm9yRWFjaChmdW5jdGlvbih0KXt0dFtZW3RdXT10fSk7dmFyIGV0PVtdO09iamVjdC5rZXlzKEgpLmZvckVhY2goZnVuY3Rpb24odCl7ZXRbSFt0XV09dH0pO3ZhciBydD1bXTtPYmplY3Qua2V5cyhWKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3J0W1ZbdF1dPXR9KTt2YXIgbnQ9W107T2JqZWN0LmtleXMoVSkuZm9yRWFjaChmdW5jdGlvbih0KXtudFtVW3RdXT10fSk7dmFyIGF0PVtdO09iamVjdC5rZXlzKE4pLmZvckVhY2goZnVuY3Rpb24odCl7YXRbTlt0XV09dH0pO3ZhciBwdD0kLnJlZHVjZShmdW5jdGlvbih0LGUpe3ZhciByPVlbZV07cmV0dXJuIDY0MDk9PT1yfHw2NDA2PT09cnx8NjQwOT09PXJ8fDY0MTA9PT1yfHw2NDAyPT09cnx8MzQwNDE9PT1yP3Rbcl09cjozMjg1NT09PXJ8fDA8PWUuaW5kZXhPZigicmdiYSIpP3Rbcl09NjQwODp0W3JdPTY0MDcsdH0se30pLGR0PVtdLGd0PVtdLHZ0PTAsbXQ9e30seXQ9ci5tYXhUZXh0dXJlVW5pdHMseHQ9QXJyYXkoeXQpLm1hcChmdW5jdGlvbigpe3JldHVybiBudWxsfSk7cmV0dXJuIGooSS5wcm90b3R5cGUse2JpbmQ6ZnVuY3Rpb24oKXt0aGlzLmJpbmRDb3VudCs9MTt2YXIgZT10aGlzLnVuaXQ7aWYoMD5lKXtmb3IodmFyIHI9MDtyPHl0Oysrcil7dmFyIG49eHRbcl07aWYobil7aWYoMDxuLmJpbmRDb3VudCljb250aW51ZTtuLnVuaXQ9LTF9eHRbcl09dGhpcyxlPXI7YnJlYWt9by5wcm9maWxlJiZpLm1heFRleHR1cmVVbml0czxlKzEmJihpLm1heFRleHR1cmVVbml0cz1lKzEpLHRoaXMudW5pdD1lLHQuYWN0aXZlVGV4dHVyZSgzMzk4NCtlKSx0LmJpbmRUZXh0dXJlKHRoaXMudGFyZ2V0LHRoaXMudGV4dHVyZSl9cmV0dXJuIGV9LHVuYmluZDpmdW5jdGlvbigpey0tdGhpcy5iaW5kQ291bnR9LGRlY1JlZjpmdW5jdGlvbigpezA+PS0tdGhpcy5yZWZDb3VudCYmRih0aGlzKX19KSxvLnByb2ZpbGUmJihpLmdldFRvdGFsVGV4dHVyZVNpemU9ZnVuY3Rpb24oKXt2YXIgdD0wO3JldHVybiBPYmplY3Qua2V5cyhtdCkuZm9yRWFjaChmdW5jdGlvbihlKXt0Kz1tdFtlXS5zdGF0cy5zaXplfSksdH0pLHtjcmVhdGUyRDpmdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG4odCxlKXt2YXIgcj1hLnRleEluZm87UC5jYWxsKHIpO3ZhciBpPUwoKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQ/QShpLDB8dCwibnVtYmVyIj09dHlwZW9mIGU/MHxlOjB8dCk6dD8oTyhyLHQpLFMoaSx0KSk6QShpLDEsMSksci5nZW5NaXBtYXBzJiYoaS5taXBtYXNrPShpLndpZHRoPDwxKS0xKSxhLm1pcG1hc2s9aS5taXBtYXNrLGMoYSxpKSxhLmludGVybmFsZm9ybWF0PWkuaW50ZXJuYWxmb3JtYXQsbi53aWR0aD1pLndpZHRoLG4uaGVpZ2h0PWkuaGVpZ2h0LEQoYSksRShpLDM1NTMpLHoociwzNTUzKSxSKCksQyhpKSxvLnByb2ZpbGUmJihhLnN0YXRzLnNpemU9ayhhLmludGVybmFsZm9ybWF0LGEudHlwZSxpLndpZHRoLGkuaGVpZ2h0LHIuZ2VuTWlwbWFwcywhMSkpLG4uZm9ybWF0PXR0W2EuaW50ZXJuYWxmb3JtYXRdLG4udHlwZT1ldFthLnR5cGVdLG4ubWFnPXJ0W3IubWFnRmlsdGVyXSxuLm1pbj1udFtyLm1pbkZpbHRlcl0sbi53cmFwUz1hdFtyLndyYXBTXSxuLndyYXBUPWF0W3Iud3JhcFRdLG59dmFyIGE9bmV3IEkoMzU1Myk7cmV0dXJuIG10W2EuaWRdPWEsaS50ZXh0dXJlQ291bnQrKyxuKGUsciksbi5zdWJpbWFnZT1mdW5jdGlvbih0LGUscixpKXtlfD0wLHJ8PTAsaXw9MDt2YXIgbz1tKCk7cmV0dXJuIGMobyxhKSxvLndpZHRoPTAsby5oZWlnaHQ9MCxwKG8sdCksby53aWR0aD1vLndpZHRofHwoYS53aWR0aD4+aSktZSxvLmhlaWdodD1vLmhlaWdodHx8KGEuaGVpZ2h0Pj5pKS1yLEQoYSksZChvLDM1NTMsZSxyLGkpLFIoKSxUKG8pLG59LG4ucmVzaXplPWZ1bmN0aW9uKGUscil7dmFyIGk9MHxlLHM9MHxyfHxpO2lmKGk9PT1hLndpZHRoJiZzPT09YS5oZWlnaHQpcmV0dXJuIG47bi53aWR0aD1hLndpZHRoPWksbi5oZWlnaHQ9YS5oZWlnaHQ9cyxEKGEpO2Zvcih2YXIgbCxjPWEuY2hhbm5lbHMsdT1hLnR5cGUsaD0wO2EubWlwbWFzaz4+aDsrK2gpe3ZhciBmPWk+PmgscD1zPj5oO2lmKCFmfHwhcClicmVhaztsPUcuemVyby5hbGxvY1R5cGUodSxmKnAqYyksdC50ZXhJbWFnZTJEKDM1NTMsaCxhLmZvcm1hdCxmLHAsMCxhLmZvcm1hdCxhLnR5cGUsbCksbCYmRy56ZXJvLmZyZWVUeXBlKGwpfXJldHVybiBSKCksby5wcm9maWxlJiYoYS5zdGF0cy5zaXplPWsoYS5pbnRlcm5hbGZvcm1hdCxhLnR5cGUsaSxzLCExLCExKSksbn0sbi5fcmVnbFR5cGU9InRleHR1cmUyZCIsbi5fdGV4dHVyZT1hLG8ucHJvZmlsZSYmKG4uc3RhdHM9YS5zdGF0cyksbi5kZXN0cm95PWZ1bmN0aW9uKCl7YS5kZWNSZWYoKX0sbn0sY3JlYXRlQ3ViZTpmdW5jdGlvbihlLHIsbixhLHMsbCl7ZnVuY3Rpb24gaCh0LGUscixuLGEsaSl7dmFyIHMsbD1mLnRleEluZm87Zm9yKFAuY2FsbChsKSxzPTA7Nj5zOysrcylnW3NdPUwoKTtpZigibnVtYmVyIiE9dHlwZW9mIHQmJnQpe2lmKCJvYmplY3QiPT10eXBlb2YgdClpZihlKVMoZ1swXSx0KSxTKGdbMV0sZSksUyhnWzJdLHIpLFMoZ1szXSxuKSxTKGdbNF0sYSksUyhnWzVdLGkpO2Vsc2UgaWYoTyhsLHQpLHUoZix0KSwiZmFjZXMiaW4gdClmb3IodD10LmZhY2VzLHM9MDs2PnM7KytzKWMoZ1tzXSxmKSxTKGdbc10sdFtzXSk7ZWxzZSBmb3Iocz0wOzY+czsrK3MpUyhnW3NdLHQpfWVsc2UgZm9yKHQ9MHx0fHwxLHM9MDs2PnM7KytzKUEoZ1tzXSx0LHQpO2ZvcihjKGYsZ1swXSksZi5taXBtYXNrPWwuZ2VuTWlwbWFwcz8oZ1swXS53aWR0aDw8MSktMTpnWzBdLm1pcG1hc2ssZi5pbnRlcm5hbGZvcm1hdD1nWzBdLmludGVybmFsZm9ybWF0LGgud2lkdGg9Z1swXS53aWR0aCxoLmhlaWdodD1nWzBdLmhlaWdodCxEKGYpLHM9MDs2PnM7KytzKUUoZ1tzXSwzNDA2OStzKTtmb3IoeihsLDM0MDY3KSxSKCksby5wcm9maWxlJiYoZi5zdGF0cy5zaXplPWsoZi5pbnRlcm5hbGZvcm1hdCxmLnR5cGUsaC53aWR0aCxoLmhlaWdodCxsLmdlbk1pcG1hcHMsITApKSxoLmZvcm1hdD10dFtmLmludGVybmFsZm9ybWF0XSxoLnR5cGU9ZXRbZi50eXBlXSxoLm1hZz1ydFtsLm1hZ0ZpbHRlcl0saC5taW49bnRbbC5taW5GaWx0ZXJdLGgud3JhcFM9YXRbbC53cmFwU10saC53cmFwVD1hdFtsLndyYXBUXSxzPTA7Nj5zOysrcylDKGdbc10pO3JldHVybiBofXZhciBmPW5ldyBJKDM0MDY3KTttdFtmLmlkXT1mLGkuY3ViZUNvdW50Kys7dmFyIGc9QXJyYXkoNik7cmV0dXJuIGgoZSxyLG4sYSxzLGwpLGguc3ViaW1hZ2U9ZnVuY3Rpb24odCxlLHIsbixhKXtyfD0wLG58PTAsYXw9MDt2YXIgaT1tKCk7cmV0dXJuIGMoaSxmKSxpLndpZHRoPTAsaS5oZWlnaHQ9MCxwKGksZSksaS53aWR0aD1pLndpZHRofHwoZi53aWR0aD4+YSktcixpLmhlaWdodD1pLmhlaWdodHx8KGYuaGVpZ2h0Pj5hKS1uLEQoZiksZChpLDM0MDY5K3QscixuLGEpLFIoKSxUKGkpLGh9LGgucmVzaXplPWZ1bmN0aW9uKGUpe2lmKChlfD0wKSE9PWYud2lkdGgpe2gud2lkdGg9Zi53aWR0aD1lLGguaGVpZ2h0PWYuaGVpZ2h0PWUsRChmKTtmb3IodmFyIHI9MDs2PnI7KytyKWZvcih2YXIgbj0wO2YubWlwbWFzaz4+bjsrK24pdC50ZXhJbWFnZTJEKDM0MDY5K3IsbixmLmZvcm1hdCxlPj5uLGU+Pm4sMCxmLmZvcm1hdCxmLnR5cGUsbnVsbCk7cmV0dXJuIFIoKSxvLnByb2ZpbGUmJihmLnN0YXRzLnNpemU9ayhmLmludGVybmFsZm9ybWF0LGYudHlwZSxoLndpZHRoLGguaGVpZ2h0LCExLCEwKSksaH19LGguX3JlZ2xUeXBlPSJ0ZXh0dXJlQ3ViZSIsaC5fdGV4dHVyZT1mLG8ucHJvZmlsZSYmKGguc3RhdHM9Zi5zdGF0cyksaC5kZXN0cm95PWZ1bmN0aW9uKCl7Zi5kZWNSZWYoKX0saH0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPHl0OysrZSl0LmFjdGl2ZVRleHR1cmUoMzM5ODQrZSksdC5iaW5kVGV4dHVyZSgzNTUzLG51bGwpLHh0W2VdPW51bGw7WChtdCkuZm9yRWFjaChGKSxpLmN1YmVDb3VudD0wLGkudGV4dHVyZUNvdW50PTB9LGdldFRleHR1cmU6ZnVuY3Rpb24odCl7cmV0dXJuIG51bGx9LHJlc3RvcmU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPHl0OysrZSl7dmFyIHI9eHRbZV07ciYmKHIuYmluZENvdW50PTAsci51bml0PS0xLHh0W2VdPW51bGwpfVgobXQpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS50ZXh0dXJlPXQuY3JlYXRlVGV4dHVyZSgpLHQuYmluZFRleHR1cmUoZS50YXJnZXQsZS50ZXh0dXJlKTtmb3IodmFyIHI9MDszMj5yOysrcilpZigwIT0oZS5taXBtYXNrJjE8PHIpKWlmKDM1NTM9PT1lLnRhcmdldCl0LnRleEltYWdlMkQoMzU1MyxyLGUuaW50ZXJuYWxmb3JtYXQsZS53aWR0aD4+cixlLmhlaWdodD4+ciwwLGUuaW50ZXJuYWxmb3JtYXQsZS50eXBlLG51bGwpO2Vsc2UgZm9yKHZhciBuPTA7Nj5uOysrbil0LnRleEltYWdlMkQoMzQwNjkrbixyLGUuaW50ZXJuYWxmb3JtYXQsZS53aWR0aD4+cixlLmhlaWdodD4+ciwwLGUuaW50ZXJuYWxmb3JtYXQsZS50eXBlLG51bGwpO3ooZS50ZXhJbmZvLGUudGFyZ2V0KX0pfX19ZnVuY3Rpb24gTSh0LGUscixuLGEsaSl7ZnVuY3Rpb24gbyh0LGUscil7dGhpcy50YXJnZXQ9dCx0aGlzLnRleHR1cmU9ZSx0aGlzLnJlbmRlcmJ1ZmZlcj1yO3ZhciBuPXQ9MDtlPyh0PWUud2lkdGgsbj1lLmhlaWdodCk6ciYmKHQ9ci53aWR0aCxuPXIuaGVpZ2h0KSx0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9bn1mdW5jdGlvbiBzKHQpe3QmJih0LnRleHR1cmUmJnQudGV4dHVyZS5fdGV4dHVyZS5kZWNSZWYoKSx0LnJlbmRlcmJ1ZmZlciYmdC5yZW5kZXJidWZmZXIuX3JlbmRlcmJ1ZmZlci5kZWNSZWYoKSl9ZnVuY3Rpb24gbCh0LGUscil7dCYmKHQudGV4dHVyZT90LnRleHR1cmUuX3RleHR1cmUucmVmQ291bnQrPTE6dC5yZW5kZXJidWZmZXIuX3JlbmRlcmJ1ZmZlci5yZWZDb3VudCs9MSl9ZnVuY3Rpb24gYyhlLHIpe3ImJihyLnRleHR1cmU/dC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCxlLHIudGFyZ2V0LHIudGV4dHVyZS5fdGV4dHVyZS50ZXh0dXJlLDApOnQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsZSwzNjE2MSxyLnJlbmRlcmJ1ZmZlci5fcmVuZGVyYnVmZmVyLnJlbmRlcmJ1ZmZlcikpfWZ1bmN0aW9uIHUodCl7dmFyIGU9MzU1MyxyPW51bGwsbj1udWxsLGE9dDtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJihhPXQuZGF0YSwidGFyZ2V0ImluIHQmJihlPTB8dC50YXJnZXQpKSwidGV4dHVyZTJkIj09PSh0PWEuX3JlZ2xUeXBlKT9yPWE6InRleHR1cmVDdWJlIj09PXQ/cj1hOiJyZW5kZXJidWZmZXIiPT09dCYmKG49YSxlPTM2MTYxKSxuZXcgbyhlLHIsbil9ZnVuY3Rpb24gaCh0LGUscixpLHMpe3JldHVybiByPygodD1uLmNyZWF0ZTJEKHt3aWR0aDp0LGhlaWdodDplLGZvcm1hdDppLHR5cGU6c30pKS5fdGV4dHVyZS5yZWZDb3VudD0wLG5ldyBvKDM1NTMsdCxudWxsKSk6KCh0PWEuY3JlYXRlKHt3aWR0aDp0LGhlaWdodDplLGZvcm1hdDppfSkpLl9yZW5kZXJidWZmZXIucmVmQ291bnQ9MCxuZXcgbygzNjE2MSxudWxsLHQpKX1mdW5jdGlvbiBmKHQpe3JldHVybiB0JiYodC50ZXh0dXJlfHx0LnJlbmRlcmJ1ZmZlcil9ZnVuY3Rpb24gcCh0LGUscil7dCYmKHQudGV4dHVyZT90LnRleHR1cmUucmVzaXplKGUscik6dC5yZW5kZXJidWZmZXImJnQucmVuZGVyYnVmZmVyLnJlc2l6ZShlLHIpLHQud2lkdGg9ZSx0LmhlaWdodD1yKX1mdW5jdGlvbiBkKCl7dGhpcy5pZD1rKyssVFt0aGlzLmlkXT10aGlzLHRoaXMuZnJhbWVidWZmZXI9dC5jcmVhdGVGcmFtZWJ1ZmZlcigpLHRoaXMuaGVpZ2h0PXRoaXMud2lkdGg9MCx0aGlzLmNvbG9yQXR0YWNobWVudHM9W10sdGhpcy5kZXB0aFN0ZW5jaWxBdHRhY2htZW50PXRoaXMuc3RlbmNpbEF0dGFjaG1lbnQ9dGhpcy5kZXB0aEF0dGFjaG1lbnQ9bnVsbH1mdW5jdGlvbiBnKHQpe3QuY29sb3JBdHRhY2htZW50cy5mb3JFYWNoKHMpLHModC5kZXB0aEF0dGFjaG1lbnQpLHModC5zdGVuY2lsQXR0YWNobWVudCkscyh0LmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQpfWZ1bmN0aW9uIHYoZSl7dC5kZWxldGVGcmFtZWJ1ZmZlcihlLmZyYW1lYnVmZmVyKSxlLmZyYW1lYnVmZmVyPW51bGwsaS5mcmFtZWJ1ZmZlckNvdW50LS0sZGVsZXRlIFRbZS5pZF19ZnVuY3Rpb24gbShlKXt2YXIgbjt0LmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxlLmZyYW1lYnVmZmVyKTt2YXIgYT1lLmNvbG9yQXR0YWNobWVudHM7Zm9yKG49MDtuPGEubGVuZ3RoOysrbiljKDM2MDY0K24sYVtuXSk7Zm9yKG49YS5sZW5ndGg7bjxyLm1heENvbG9yQXR0YWNobWVudHM7KytuKXQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwNjQrbiwzNTUzLG51bGwsMCk7dC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzMzMwNiwzNTUzLG51bGwsMCksdC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLG51bGwsMCksdC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjEyOCwzNTUzLG51bGwsMCksYygzNjA5NixlLmRlcHRoQXR0YWNobWVudCksYygzNjEyOCxlLnN0ZW5jaWxBdHRhY2htZW50KSxjKDMzMzA2LGUuZGVwdGhTdGVuY2lsQXR0YWNobWVudCksdC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKDM2MTYwKSx0LmlzQ29udGV4dExvc3QoKSx0LmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCx4Lm5leHQ/eC5uZXh0LmZyYW1lYnVmZmVyOm51bGwpLHguY3VyPXgubmV4dCx0LmdldEVycm9yKCl9ZnVuY3Rpb24geSh0LGUpe2Z1bmN0aW9uIHIodCxlKXt2YXIgYSxpPTAsbz0wLHM9ITAsYz0hMDthPW51bGw7dmFyIHA9ITAsZD0icmdiYSIsdj0idWludDgiLHk9MSx4PW51bGwsdz1udWxsLGs9bnVsbCxUPSExOyJudW1iZXIiPT10eXBlb2YgdD8oaT0wfHQsbz0wfGV8fGkpOnQ/KCJzaGFwZSJpbiB0PyhpPShvPXQuc2hhcGUpWzBdLG89b1sxXSk6KCJyYWRpdXMiaW4gdCYmKGk9bz10LnJhZGl1cyksIndpZHRoImluIHQmJihpPXQud2lkdGgpLCJoZWlnaHQiaW4gdCYmKG89dC5oZWlnaHQpKSwoImNvbG9yImluIHR8fCJjb2xvcnMiaW4gdCkmJihhPXQuY29sb3J8fHQuY29sb3JzLEFycmF5LmlzQXJyYXkoYSkpLGF8fCgiY29sb3JDb3VudCJpbiB0JiYoeT0wfHQuY29sb3JDb3VudCksImNvbG9yVGV4dHVyZSJpbiB0JiYocD0hIXQuY29sb3JUZXh0dXJlLGQ9InJnYmE0IiksImNvbG9yVHlwZSJpbiB0JiYodj10LmNvbG9yVHlwZSwhcCkmJigiaGFsZiBmbG9hdCI9PT12fHwiZmxvYXQxNiI9PT12P2Q9InJnYmExNmYiOiJmbG9hdCIhPT12JiYiZmxvYXQzMiIhPT12fHwoZD0icmdiYTMyZiIpKSwiY29sb3JGb3JtYXQiaW4gdCYmKGQ9dC5jb2xvckZvcm1hdCwwPD1iLmluZGV4T2YoZCk/cD0hMDowPD1fLmluZGV4T2YoZCkmJihwPSExKSkpLCgiZGVwdGhUZXh0dXJlImluIHR8fCJkZXB0aFN0ZW5jaWxUZXh0dXJlImluIHQpJiYoVD0hKCF0LmRlcHRoVGV4dHVyZSYmIXQuZGVwdGhTdGVuY2lsVGV4dHVyZSkpLCJkZXB0aCJpbiB0JiYoImJvb2xlYW4iPT10eXBlb2YgdC5kZXB0aD9zPXQuZGVwdGg6KHg9dC5kZXB0aCxjPSExKSksInN0ZW5jaWwiaW4gdCYmKCJib29sZWFuIj09dHlwZW9mIHQuc3RlbmNpbD9jPXQuc3RlbmNpbDoodz10LnN0ZW5jaWwscz0hMSkpLCJkZXB0aFN0ZW5jaWwiaW4gdCYmKCJib29sZWFuIj09dHlwZW9mIHQuZGVwdGhTdGVuY2lsP3M9Yz10LmRlcHRoU3RlbmNpbDooaz10LmRlcHRoU3RlbmNpbCxjPXM9ITEpKSk6aT1vPTE7dmFyIE09bnVsbCxBPW51bGwsUz1udWxsLEU9bnVsbDtpZihBcnJheS5pc0FycmF5KGEpKU09YS5tYXAodSk7ZWxzZSBpZihhKU09W3UoYSldO2Vsc2UgZm9yKE09QXJyYXkoeSksYT0wO2E8eTsrK2EpTVthXT1oKGksbyxwLGQsdik7Zm9yKGk9aXx8TVswXS53aWR0aCxvPW98fE1bMF0uaGVpZ2h0LHg/QT11KHgpOnMmJiFjJiYoQT1oKGksbyxULCJkZXB0aCIsInVpbnQzMiIpKSx3P1M9dSh3KTpjJiYhcyYmKFM9aChpLG8sITEsInN0ZW5jaWwiLCJ1aW50OCIpKSxrP0U9dShrKToheCYmIXcmJmMmJnMmJihFPWgoaSxvLFQsImRlcHRoIHN0ZW5jaWwiLCJkZXB0aCBzdGVuY2lsIikpLHM9bnVsbCxhPTA7YTxNLmxlbmd0aDsrK2EpbChNW2FdKSxNW2FdJiZNW2FdLnRleHR1cmUmJihjPXl0W01bYV0udGV4dHVyZS5fdGV4dHVyZS5mb3JtYXRdKnh0W01bYV0udGV4dHVyZS5fdGV4dHVyZS50eXBlXSxudWxsPT09cyYmKHM9YykpO3JldHVybiBsKEEpLGwoUyksbChFKSxnKG4pLG4ud2lkdGg9aSxuLmhlaWdodD1vLG4uY29sb3JBdHRhY2htZW50cz1NLG4uZGVwdGhBdHRhY2htZW50PUEsbi5zdGVuY2lsQXR0YWNobWVudD1TLG4uZGVwdGhTdGVuY2lsQXR0YWNobWVudD1FLHIuY29sb3I9TS5tYXAoZiksci5kZXB0aD1mKEEpLHIuc3RlbmNpbD1mKFMpLHIuZGVwdGhTdGVuY2lsPWYoRSksci53aWR0aD1uLndpZHRoLHIuaGVpZ2h0PW4uaGVpZ2h0LG0obikscn12YXIgbj1uZXcgZDtyZXR1cm4gaS5mcmFtZWJ1ZmZlckNvdW50Kysscih0LGUpLGoocix7cmVzaXplOmZ1bmN0aW9uKHQsZSl7dmFyIGE9TWF0aC5tYXgoMHx0LDEpLGk9TWF0aC5tYXgoMHxlfHxhLDEpO2lmKGE9PT1uLndpZHRoJiZpPT09bi5oZWlnaHQpcmV0dXJuIHI7Zm9yKHZhciBvPW4uY29sb3JBdHRhY2htZW50cyxzPTA7czxvLmxlbmd0aDsrK3MpcChvW3NdLGEsaSk7cmV0dXJuIHAobi5kZXB0aEF0dGFjaG1lbnQsYSxpKSxwKG4uc3RlbmNpbEF0dGFjaG1lbnQsYSxpKSxwKG4uZGVwdGhTdGVuY2lsQXR0YWNobWVudCxhLGkpLG4ud2lkdGg9ci53aWR0aD1hLG4uaGVpZ2h0PXIuaGVpZ2h0PWksbShuKSxyfSxfcmVnbFR5cGU6ImZyYW1lYnVmZmVyIixfZnJhbWVidWZmZXI6bixkZXN0cm95OmZ1bmN0aW9uKCl7dihuKSxnKG4pfSx1c2U6ZnVuY3Rpb24odCl7eC5zZXRGQk8oe2ZyYW1lYnVmZmVyOnJ9LHQpfX0pfXZhciB4PXtjdXI6bnVsbCxuZXh0Om51bGwsZGlydHk6ITEsc2V0RkJPOm51bGx9LGI9WyJyZ2JhIl0sXz1bInJnYmE0IiwicmdiNTY1IiwicmdiNSBhMSJdO2UuZXh0X3NyZ2ImJl8ucHVzaCgic3JnYmEiKSxlLmV4dF9jb2xvcl9idWZmZXJfaGFsZl9mbG9hdCYmXy5wdXNoKCJyZ2JhMTZmIiwicmdiMTZmIiksZS53ZWJnbF9jb2xvcl9idWZmZXJfZmxvYXQmJl8ucHVzaCgicmdiYTMyZiIpO3ZhciB3PVsidWludDgiXTtlLm9lc190ZXh0dXJlX2hhbGZfZmxvYXQmJncucHVzaCgiaGFsZiBmbG9hdCIsImZsb2F0MTYiKSxlLm9lc190ZXh0dXJlX2Zsb2F0JiZ3LnB1c2goImZsb2F0IiwiZmxvYXQzMiIpO3ZhciBrPTAsVD17fTtyZXR1cm4gaih4LHtnZXRGcmFtZWJ1ZmZlcjpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmImZyYW1lYnVmZmVyIj09PXQuX3JlZ2xUeXBlJiYodD10Ll9mcmFtZWJ1ZmZlcilpbnN0YW5jZW9mIGQ/dDpudWxsfSxjcmVhdGU6eSxjcmVhdGVDdWJlOmZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCl7dmFyIGEsaT17Y29sb3I6bnVsbH0sbz0wLHM9bnVsbDthPSJyZ2JhIjt2YXIgbD0idWludDgiLGM9MTtpZigibnVtYmVyIj09dHlwZW9mIHQ/bz0wfHQ6dD8oInNoYXBlImluIHQ/bz10LnNoYXBlWzBdOigicmFkaXVzImluIHQmJihvPTB8dC5yYWRpdXMpLCJ3aWR0aCJpbiB0P289MHx0LndpZHRoOiJoZWlnaHQiaW4gdCYmKG89MHx0LmhlaWdodCkpLCgiY29sb3IiaW4gdHx8ImNvbG9ycyJpbiB0KSYmKHM9dC5jb2xvcnx8dC5jb2xvcnMsQXJyYXkuaXNBcnJheShzKSksc3x8KCJjb2xvckNvdW50ImluIHQmJihjPTB8dC5jb2xvckNvdW50KSwiY29sb3JUeXBlImluIHQmJihsPXQuY29sb3JUeXBlKSwiY29sb3JGb3JtYXQiaW4gdCYmKGE9dC5jb2xvckZvcm1hdCkpLCJkZXB0aCJpbiB0JiYoaS5kZXB0aD10LmRlcHRoKSwic3RlbmNpbCJpbiB0JiYoaS5zdGVuY2lsPXQuc3RlbmNpbCksImRlcHRoU3RlbmNpbCJpbiB0JiYoaS5kZXB0aFN0ZW5jaWw9dC5kZXB0aFN0ZW5jaWwpKTpvPTEscylpZihBcnJheS5pc0FycmF5KHMpKWZvcih0PVtdLGE9MDthPHMubGVuZ3RoOysrYSl0W2FdPXNbYV07ZWxzZSB0PVtzXTtlbHNlIGZvcih0PUFycmF5KGMpLHM9e3JhZGl1czpvLGZvcm1hdDphLHR5cGU6bH0sYT0wO2E8YzsrK2EpdFthXT1uLmNyZWF0ZUN1YmUocyk7Zm9yKGkuY29sb3I9QXJyYXkodC5sZW5ndGgpLGE9MDthPHQubGVuZ3RoOysrYSljPXRbYV0sbz1vfHxjLndpZHRoLGkuY29sb3JbYV09e3RhcmdldDozNDA2OSxkYXRhOnRbYV19O2ZvcihhPTA7Nj5hOysrYSl7Zm9yKGM9MDtjPHQubGVuZ3RoOysrYylpLmNvbG9yW2NdLnRhcmdldD0zNDA2OSthOzA8YSYmKGkuZGVwdGg9clswXS5kZXB0aCxpLnN0ZW5jaWw9clswXS5zdGVuY2lsLGkuZGVwdGhTdGVuY2lsPXJbMF0uZGVwdGhTdGVuY2lsKSxyW2FdP3JbYV0oaSk6clthXT15KGkpfXJldHVybiBqKGUse3dpZHRoOm8saGVpZ2h0Om8sY29sb3I6dH0pfXZhciByPUFycmF5KDYpO3JldHVybiBlKHQpLGooZSx7ZmFjZXM6cixyZXNpemU6ZnVuY3Rpb24odCl7dmFyIG49MHx0O2lmKG49PT1lLndpZHRoKXJldHVybiBlO3ZhciBhPWUuY29sb3I7Zm9yKHQ9MDt0PGEubGVuZ3RoOysrdClhW3RdLnJlc2l6ZShuKTtmb3IodD0wOzY+dDsrK3Qpclt0XS5yZXNpemUobik7cmV0dXJuIGUud2lkdGg9ZS5oZWlnaHQ9bixlfSxfcmVnbFR5cGU6ImZyYW1lYnVmZmVyQ3ViZSIsZGVzdHJveTpmdW5jdGlvbigpe3IuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlc3Ryb3koKX0pfX0pfSxjbGVhcjpmdW5jdGlvbigpe1goVCkuZm9yRWFjaCh2KX0scmVzdG9yZTpmdW5jdGlvbigpe3guY3VyPW51bGwseC5uZXh0PW51bGwseC5kaXJ0eT0hMCxYKFQpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5mcmFtZWJ1ZmZlcj10LmNyZWF0ZUZyYW1lYnVmZmVyKCksbShlKX0pfX0pfWZ1bmN0aW9uIEEoKXt0aGlzLnc9dGhpcy56PXRoaXMueT10aGlzLng9dGhpcy5zdGF0ZT0wLHRoaXMuYnVmZmVyPW51bGwsdGhpcy5zaXplPTAsdGhpcy5ub3JtYWxpemVkPSExLHRoaXMudHlwZT01MTI2LHRoaXMuZGl2aXNvcj10aGlzLnN0cmlkZT10aGlzLm9mZnNldD0wfWZ1bmN0aW9uIFModCxlLHIsbil7ZnVuY3Rpb24gYSh0LGUscixuKXt0aGlzLm5hbWU9dCx0aGlzLmlkPWUsdGhpcy5sb2NhdGlvbj1yLHRoaXMuaW5mbz1ufWZ1bmN0aW9uIGkodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoOysrcilpZih0W3JdLmlkPT09ZS5pZClyZXR1cm4gdm9pZCh0W3JdLmxvY2F0aW9uPWUubG9jYXRpb24pO3QucHVzaChlKX1mdW5jdGlvbiBvKHIsbixhKXtpZighKG89KGE9MzU2MzI9PT1yP2M6dSlbbl0pKXt2YXIgaT1lLnN0cihuKSxvPXQuY3JlYXRlU2hhZGVyKHIpO3Quc2hhZGVyU291cmNlKG8saSksdC5jb21waWxlU2hhZGVyKG8pLGFbbl09b31yZXR1cm4gb31mdW5jdGlvbiBzKHQsZSl7dGhpcy5pZD1wKyssdGhpcy5mcmFnSWQ9dCx0aGlzLnZlcnRJZD1lLHRoaXMucHJvZ3JhbT1udWxsLHRoaXMudW5pZm9ybXM9W10sdGhpcy5hdHRyaWJ1dGVzPVtdLG4ucHJvZmlsZSYmKHRoaXMuc3RhdHM9e3VuaWZvcm1zQ291bnQ6MCxhdHRyaWJ1dGVzQ291bnQ6MH0pfWZ1bmN0aW9uIGwocixzKXt2YXIgbCxjO2w9bygzNTYzMixyLmZyYWdJZCksYz1vKDM1NjMzLHIudmVydElkKTt2YXIgdT1yLnByb2dyYW09dC5jcmVhdGVQcm9ncmFtKCk7dC5hdHRhY2hTaGFkZXIodSxsKSx0LmF0dGFjaFNoYWRlcih1LGMpLHQubGlua1Byb2dyYW0odSk7dmFyIGg9dC5nZXRQcm9ncmFtUGFyYW1ldGVyKHUsMzU3MTgpO24ucHJvZmlsZSYmKHIuc3RhdHMudW5pZm9ybXNDb3VudD1oKTt2YXIgZj1yLnVuaWZvcm1zO2ZvcihsPTA7bDxoOysrbClpZihjPXQuZ2V0QWN0aXZlVW5pZm9ybSh1LGwpKWlmKDE8Yy5zaXplKWZvcih2YXIgcD0wO3A8Yy5zaXplOysrcCl7dmFyIGQ9Yy5uYW1lLnJlcGxhY2UoIlswXSIsIlsiK3ArIl0iKTtpKGYsbmV3IGEoZCxlLmlkKGQpLHQuZ2V0VW5pZm9ybUxvY2F0aW9uKHUsZCksYykpfWVsc2UgaShmLG5ldyBhKGMubmFtZSxlLmlkKGMubmFtZSksdC5nZXRVbmlmb3JtTG9jYXRpb24odSxjLm5hbWUpLGMpKTtmb3IoaD10LmdldFByb2dyYW1QYXJhbWV0ZXIodSwzNTcyMSksbi5wcm9maWxlJiYoci5zdGF0cy5hdHRyaWJ1dGVzQ291bnQ9aCksZj1yLmF0dHJpYnV0ZXMsbD0wO2w8aDsrK2wpKGM9dC5nZXRBY3RpdmVBdHRyaWIodSxsKSkmJmkoZixuZXcgYShjLm5hbWUsZS5pZChjLm5hbWUpLHQuZ2V0QXR0cmliTG9jYXRpb24odSxjLm5hbWUpLGMpKX12YXIgYz17fSx1PXt9LGg9e30sZj1bXSxwPTA7cmV0dXJuIG4ucHJvZmlsZSYmKHIuZ2V0TWF4VW5pZm9ybXNDb3VudD1mdW5jdGlvbigpe3ZhciB0PTA7cmV0dXJuIGYuZm9yRWFjaChmdW5jdGlvbihlKXtlLnN0YXRzLnVuaWZvcm1zQ291bnQ+dCYmKHQ9ZS5zdGF0cy51bmlmb3Jtc0NvdW50KX0pLHR9LHIuZ2V0TWF4QXR0cmlidXRlc0NvdW50PWZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gZi5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc3RhdHMuYXR0cmlidXRlc0NvdW50PnQmJih0PWUuc3RhdHMuYXR0cmlidXRlc0NvdW50KX0pLHR9KSx7Y2xlYXI6ZnVuY3Rpb24oKXt2YXIgZT10LmRlbGV0ZVNoYWRlci5iaW5kKHQpO1goYykuZm9yRWFjaChlKSxjPXt9LFgodSkuZm9yRWFjaChlKSx1PXt9LGYuZm9yRWFjaChmdW5jdGlvbihlKXt0LmRlbGV0ZVByb2dyYW0oZS5wcm9ncmFtKX0pLGYubGVuZ3RoPTAsaD17fSxyLnNoYWRlckNvdW50PTB9LHByb2dyYW06ZnVuY3Rpb24odCxlLG4pe3ZhciBhPWhbZV07YXx8KGE9aFtlXT17fSk7dmFyIGk9YVt0XTtyZXR1cm4gaXx8KGk9bmV3IHMoZSx0KSxyLnNoYWRlckNvdW50KyssbChpKSxhW3RdPWksZi5wdXNoKGkpKSxpfSxyZXN0b3JlOmZ1bmN0aW9uKCl7Yz17fSx1PXt9O2Zvcih2YXIgdD0wO3Q8Zi5sZW5ndGg7Kyt0KWwoZlt0XSl9LHNoYWRlcjpvLGZyYWc6LTEsdmVydDotMX19ZnVuY3Rpb24gRSh0LGUscixuLGEsaSxvKXtmdW5jdGlvbiBzKGEpe3ZhciBpO2k9bnVsbD09PWUubmV4dD81MTIxOmUubmV4dC5jb2xvckF0dGFjaG1lbnRzWzBdLnRleHR1cmUuX3RleHR1cmUudHlwZTt2YXIgbz0wLHM9MCxsPW4uZnJhbWVidWZmZXJXaWR0aCxjPW4uZnJhbWVidWZmZXJIZWlnaHQsdT1udWxsO3JldHVybiBXKGEpP3U9YTphJiYobz0wfGEueCxzPTB8YS55LGw9MHwoYS53aWR0aHx8bi5mcmFtZWJ1ZmZlcldpZHRoLW8pLGM9MHwoYS5oZWlnaHR8fG4uZnJhbWVidWZmZXJIZWlnaHQtcyksdT1hLmRhdGF8fG51bGwpLHIoKSxhPWwqYyo0LHV8fCg1MTIxPT09aT91PW5ldyBVaW50OEFycmF5KGEpOjUxMjY9PT1pJiYodT11fHxuZXcgRmxvYXQzMkFycmF5KGEpKSksdC5waXhlbFN0b3JlaSgzMzMzLDQpLHQucmVhZFBpeGVscyhvLHMsbCxjLDY0MDgsaSx1KSx1fXJldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZyYW1lYnVmZmVyImluIHQ/ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuIGUuc2V0RkJPKHtmcmFtZWJ1ZmZlcjp0LmZyYW1lYnVmZmVyfSxmdW5jdGlvbigpe3I9cyh0KX0pLHJ9KHQpOnModCl9fWZ1bmN0aW9uIEwodCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpfWZ1bmN0aW9uIEModCl7cmV0dXJuIEwodCkuam9pbigiIil9ZnVuY3Rpb24gUCgpe2Z1bmN0aW9uIHQoKXt2YXIgdD1bXSxlPVtdO3JldHVybiBqKGZ1bmN0aW9uKCl7dC5wdXNoLmFwcGx5KHQsTChhcmd1bWVudHMpKX0se2RlZjpmdW5jdGlvbigpe3ZhciBuPSJ2IityKys7cmV0dXJuIGUucHVzaChuKSwwPGFyZ3VtZW50cy5sZW5ndGgmJih0LnB1c2gobiwiPSIpLHQucHVzaC5hcHBseSh0LEwoYXJndW1lbnRzKSksdC5wdXNoKCI7IikpLG59LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIEMoWzA8ZS5sZW5ndGg/InZhciAiK2UrIjsiOiIiLEModCldKX19KX1mdW5jdGlvbiBlKCl7ZnVuY3Rpb24gZSh0LGUpe24odCxlLCI9IixyLmRlZih0LGUpLCI7Iil9dmFyIHI9dCgpLG49dCgpLGE9ci50b1N0cmluZyxpPW4udG9TdHJpbmc7cmV0dXJuIGooZnVuY3Rpb24oKXtyLmFwcGx5KHIsTChhcmd1bWVudHMpKX0se2RlZjpyLmRlZixlbnRyeTpyLGV4aXQ6bixzYXZlOmUsc2V0OmZ1bmN0aW9uKHQsbixhKXtlKHQsbikscih0LG4sIj0iLGEsIjsiKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gYSgpK2koKX19KX12YXIgcj0wLG49W10sYT1bXSxpPXQoKSxvPXt9O3JldHVybntnbG9iYWw6aSxsaW5rOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8YS5sZW5ndGg7KytlKWlmKGFbZV09PT10KXJldHVybiBuW2VdO3JldHVybiBlPSJnIityKyssbi5wdXNoKGUpLGEucHVzaCh0KSxlfSxibG9jazp0LHByb2M6ZnVuY3Rpb24odCxyKXtmdW5jdGlvbiBuKCl7dmFyIHQ9ImEiK2EubGVuZ3RoO3JldHVybiBhLnB1c2godCksdH12YXIgYT1bXTtyPXJ8fDA7Zm9yKHZhciBpPTA7aTxyOysraSluKCk7dmFyIHM9KGk9ZSgpKS50b1N0cmluZztyZXR1cm4gb1t0XT1qKGkse2FyZzpuLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIEMoWyJmdW5jdGlvbigiLGEuam9pbigpLCIpeyIscygpLCJ9Il0pfX0pfSxzY29wZTplLGNvbmQ6ZnVuY3Rpb24oKXt2YXIgdD1DKGFyZ3VtZW50cykscj1lKCksbj1lKCksYT1yLnRvU3RyaW5nLGk9bi50b1N0cmluZztyZXR1cm4gaihyLHt0aGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHIuYXBwbHkocixMKGFyZ3VtZW50cykpLHRoaXN9LGVsc2U6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseShuLEwoYXJndW1lbnRzKSksdGhpc30sdG9TdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT1pKCk7cmV0dXJuIGUmJihlPSJlbHNleyIrZSsifSIpLEMoWyJpZigiLHQsIil7IixhKCksIn0iLGVdKX19KX0sY29tcGlsZTpmdW5jdGlvbigpe3ZhciB0PVsnInVzZSBzdHJpY3QiOycsaSwicmV0dXJuIHsiXTtPYmplY3Qua2V5cyhvKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QucHVzaCgnIicsZSwnIjonLG9bZV0udG9TdHJpbmcoKSwiLCIpfSksdC5wdXNoKCJ9Iik7dmFyIGU9Qyh0KS5yZXBsYWNlKC87L2csIjtcbiIpLnJlcGxhY2UoL30vZywifVxuIikucmVwbGFjZSgvey9nLCJ7XG4iKTtyZXR1cm4gRnVuY3Rpb24uYXBwbHkobnVsbCxuLmNvbmNhdChlKSkuYXBwbHkobnVsbCxhKX19fWZ1bmN0aW9uIE8odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCl8fFcodCl8fGwodCl9ZnVuY3Rpb24geih0KXtyZXR1cm4gdC5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuInZpZXdwb3J0Ij09PXQ/LTE6InZpZXdwb3J0Ij09PWU/MTp0PGU/LTE6MX0pfWZ1bmN0aW9uIEkodCxlLHIsbil7dGhpcy50aGlzRGVwPXQsdGhpcy5jb250ZXh0RGVwPWUsdGhpcy5wcm9wRGVwPXIsdGhpcy5hcHBlbmQ9bn1mdW5jdGlvbiBEKHQpe3JldHVybiB0JiYhKHQudGhpc0RlcHx8dC5jb250ZXh0RGVwfHx0LnByb3BEZXApfWZ1bmN0aW9uIFIodCl7cmV0dXJuIG5ldyBJKCExLCExLCExLHQpfWZ1bmN0aW9uIEYodCxlKXt2YXIgcj10LnR5cGU7cmV0dXJuIDA9PT1yP25ldyBJKCEwLDE8PShyPXQuZGF0YS5sZW5ndGgpLDI8PXIsZSk6ND09PXI/bmV3IEkoKHI9dC5kYXRhKS50aGlzRGVwLHIuY29udGV4dERlcCxyLnByb3BEZXAsZSk6bmV3IEkoMz09PXIsMj09PXIsMT09PXIsZSl9ZnVuY3Rpb24gQih0LGUscixuLGEsbyxzLGwsYyx1LGgsZixwLGQsZyl7ZnVuY3Rpb24gbSh0KXtyZXR1cm4gdC5yZXBsYWNlKCIuIiwiXyIpfWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPW0odCk7bnQucHVzaCh0KSxldFtuXT10dFtuXT0hIXIsYXRbbl09ZX1mdW5jdGlvbiB4KHQsZSxyKXt2YXIgbj1tKHQpO250LnB1c2godCksQXJyYXkuaXNBcnJheShyKT8odHRbbl09ci5zbGljZSgpLGV0W25dPXIuc2xpY2UoKSk6dHRbbl09ZXRbbl09cixpdFtuXT1lfWZ1bmN0aW9uIGIoKXt2YXIgdD1QKCkscj10Lmxpbmssbj10Lmdsb2JhbDt0LmlkPWx0KyssdC5iYXRjaElkPSIwIjt2YXIgYT1yKG90KSxpPXQuc2hhcmVkPXtwcm9wczoiYTAifTtPYmplY3Qua2V5cyhvdCkuZm9yRWFjaChmdW5jdGlvbih0KXtpW3RdPW4uZGVmKGEsIi4iLHQpfSk7dmFyIG89dC5uZXh0PXt9LHM9dC5jdXJyZW50PXt9O09iamVjdC5rZXlzKGl0KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe0FycmF5LmlzQXJyYXkodHRbdF0pJiYob1t0XT1uLmRlZihpLm5leHQsIi4iLHQpLHNbdF09bi5kZWYoaS5jdXJyZW50LCIuIix0KSl9KTt2YXIgbD10LmNvbnN0YW50cz17fTtPYmplY3Qua2V5cyhzdCkuZm9yRWFjaChmdW5jdGlvbih0KXtsW3RdPW4uZGVmKEpTT04uc3RyaW5naWZ5KHN0W3RdKSl9KSx0Lmludm9rZT1mdW5jdGlvbihlLG4pe3N3aXRjaChuLnR5cGUpe2Nhc2UgMDp2YXIgYT1bInRoaXMiLGkuY29udGV4dCxpLnByb3BzLHQuYmF0Y2hJZF07cmV0dXJuIGUuZGVmKHIobi5kYXRhKSwiLmNhbGwoIixhLnNsaWNlKDAsTWF0aC5tYXgobi5kYXRhLmxlbmd0aCsxLDQpKSwiKSIpO2Nhc2UgMTpyZXR1cm4gZS5kZWYoaS5wcm9wcyxuLmRhdGEpO2Nhc2UgMjpyZXR1cm4gZS5kZWYoaS5jb250ZXh0LG4uZGF0YSk7Y2FzZSAzOnJldHVybiBlLmRlZigidGhpcyIsbi5kYXRhKTtjYXNlIDQ6cmV0dXJuIG4uZGF0YS5hcHBlbmQodCxlKSxuLmRhdGEucmVmfX0sdC5hdHRyaWJDYWNoZT17fTt2YXIgYz17fTtyZXR1cm4gdC5zY29wZUF0dHJpYj1mdW5jdGlvbih0KXtpZigodD1lLmlkKHQpKWluIGMpcmV0dXJuIGNbdF07dmFyIG49dS5zY29wZVt0XTtyZXR1cm4gbnx8KG49dS5zY29wZVt0XT1uZXcgWiksY1t0XT1yKG4pfSx0fWZ1bmN0aW9uIF8odCxlKXt2YXIgcj10LnN0YXRpYyxuPXQuZHluYW1pYztpZigiZnJhbWVidWZmZXIiaW4gcil7dmFyIGE9ci5mcmFtZWJ1ZmZlcjtyZXR1cm4gYT8oYT1sLmdldEZyYW1lYnVmZmVyKGEpLFIoZnVuY3Rpb24odCxlKXt2YXIgcj10LmxpbmsoYSksbj10LnNoYXJlZDtyZXR1cm4gZS5zZXQobi5mcmFtZWJ1ZmZlciwiLm5leHQiLHIpLG49bi5jb250ZXh0LGUuc2V0KG4sIi5mcmFtZWJ1ZmZlcldpZHRoIixyKyIud2lkdGgiKSxlLnNldChuLCIuZnJhbWVidWZmZXJIZWlnaHQiLHIrIi5oZWlnaHQiKSxyfSkpOlIoZnVuY3Rpb24odCxlKXt2YXIgcj10LnNoYXJlZDtyZXR1cm4gZS5zZXQoci5mcmFtZWJ1ZmZlciwiLm5leHQiLCJudWxsIikscj1yLmNvbnRleHQsZS5zZXQociwiLmZyYW1lYnVmZmVyV2lkdGgiLHIrIi5kcmF3aW5nQnVmZmVyV2lkdGgiKSxlLnNldChyLCIuZnJhbWVidWZmZXJIZWlnaHQiLHIrIi5kcmF3aW5nQnVmZmVySGVpZ2h0IiksIm51bGwifSl9aWYoImZyYW1lYnVmZmVyImluIG4pe3ZhciBpPW4uZnJhbWVidWZmZXI7cmV0dXJuIEYoaSxmdW5jdGlvbih0LGUpe3ZhciByPXQuaW52b2tlKGUsaSksbj10LnNoYXJlZCxhPW4uZnJhbWVidWZmZXI7cj1lLmRlZihhLCIuZ2V0RnJhbWVidWZmZXIoIixyLCIpIik7cmV0dXJuIGUuc2V0KGEsIi5uZXh0IixyKSxuPW4uY29udGV4dCxlLnNldChuLCIuZnJhbWVidWZmZXJXaWR0aCIscisiPyIrcisiLndpZHRoOiIrbisiLmRyYXdpbmdCdWZmZXJXaWR0aCIpLGUuc2V0KG4sIi5mcmFtZWJ1ZmZlckhlaWdodCIscisiPyIrcisiLmhlaWdodDoiK24rIi5kcmF3aW5nQnVmZmVySGVpZ2h0Iikscn0pfXJldHVybiBudWxsfWZ1bmN0aW9uIHcodCl7ZnVuY3Rpb24gcih0KXtpZih0IGluIG4pe3ZhciByPWUuaWQoblt0XSk7cmV0dXJuKHQ9UihmdW5jdGlvbigpe3JldHVybiByfSkpLmlkPXIsdH1pZih0IGluIGEpe3ZhciBpPWFbdF07cmV0dXJuIEYoaSxmdW5jdGlvbih0LGUpe3ZhciByPXQuaW52b2tlKGUsaSk7cmV0dXJuIGUuZGVmKHQuc2hhcmVkLnN0cmluZ3MsIi5pZCgiLHIsIikiKX0pfXJldHVybiBudWxsfXZhciBuPXQuc3RhdGljLGE9dC5keW5hbWljLGk9cigiZnJhZyIpLG89cigidmVydCIpLHM9bnVsbDtyZXR1cm4gRChpKSYmRChvKT8ocz1oLnByb2dyYW0oby5pZCxpLmlkKSx0PVIoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5saW5rKHMpfSkpOnQ9bmV3IEkoaSYmaS50aGlzRGVwfHxvJiZvLnRoaXNEZXAsaSYmaS5jb250ZXh0RGVwfHxvJiZvLmNvbnRleHREZXAsaSYmaS5wcm9wRGVwfHxvJiZvLnByb3BEZXAsZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9dC5zaGFyZWQuc2hhZGVyO3JldHVybiByPWk/aS5hcHBlbmQodCxlKTplLmRlZihhLCIuIiwiZnJhZyIpLG49bz9vLmFwcGVuZCh0LGUpOmUuZGVmKGEsIi4iLCJ2ZXJ0IiksZS5kZWYoYSsiLnByb2dyYW0oIituKyIsIityKyIpIil9KSx7ZnJhZzppLHZlcnQ6byxwcm9nVmFyOnQscHJvZ3JhbTpzfX1mdW5jdGlvbiBrKHQsZSl7ZnVuY3Rpb24gcih0LGUpe2lmKHQgaW4gbil7dmFyIHI9MHxuW3RdO3JldHVybiBSKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUmJih0Lk9GRlNFVD1yKSxyfSl9aWYodCBpbiBhKXt2YXIgbz1hW3RdO3JldHVybiBGKG8sZnVuY3Rpb24odCxyKXt2YXIgbj10Lmludm9rZShyLG8pO3JldHVybiBlJiYodC5PRkZTRVQ9biksbn0pfXJldHVybiBlJiZpP1IoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5PRkZTRVQ9IjAiLDB9KTpudWxsfXZhciBuPXQuc3RhdGljLGE9dC5keW5hbWljLGk9ZnVuY3Rpb24oKXtpZigiZWxlbWVudHMiaW4gbil7dmFyIHQ9bi5lbGVtZW50cztPKHQpP3Q9by5nZXRFbGVtZW50cyhvLmNyZWF0ZSh0LCEwKSk6dCYmKHQ9by5nZXRFbGVtZW50cyh0KSk7dmFyIGU9UihmdW5jdGlvbihlLHIpe2lmKHQpe3ZhciBuPWUubGluayh0KTtyZXR1cm4gZS5FTEVNRU5UUz1ufXJldHVybiBlLkVMRU1FTlRTPW51bGx9KTtyZXR1cm4gZS52YWx1ZT10LGV9aWYoImVsZW1lbnRzImluIGEpe3ZhciByPWEuZWxlbWVudHM7cmV0dXJuIEYocixmdW5jdGlvbih0LGUpe3ZhciBuPShhPXQuc2hhcmVkKS5pc0J1ZmZlckFyZ3MsYT1hLmVsZW1lbnRzLGk9dC5pbnZva2UoZSxyKSxvPWUuZGVmKCJudWxsIik7bj1lLmRlZihuLCIoIixpLCIpIiksaT10LmNvbmQobikudGhlbihvLCI9IixhLCIuY3JlYXRlU3RyZWFtKCIsaSwiKTsiKS5lbHNlKG8sIj0iLGEsIi5nZXRFbGVtZW50cygiLGksIik7Iik7cmV0dXJuIGUuZW50cnkoaSksZS5leGl0KHQuY29uZChuKS50aGVuKGEsIi5kZXN0cm95U3RyZWFtKCIsbywiKTsiKSksdC5FTEVNRU5UUz1vfSl9cmV0dXJuIG51bGx9KCkscz1yKCJvZmZzZXQiLCEwKTtyZXR1cm57ZWxlbWVudHM6aSxwcmltaXRpdmU6ZnVuY3Rpb24oKXtpZigicHJpbWl0aXZlImluIG4pe3ZhciB0PW4ucHJpbWl0aXZlO3JldHVybiBSKGZ1bmN0aW9uKGUscil7cmV0dXJuIHJ0W3RdfSl9aWYoInByaW1pdGl2ZSJpbiBhKXt2YXIgZT1hLnByaW1pdGl2ZTtyZXR1cm4gRihlLGZ1bmN0aW9uKHQscil7dmFyIG49dC5jb25zdGFudHMucHJpbVR5cGVzLGE9dC5pbnZva2UocixlKTtyZXR1cm4gci5kZWYobiwiWyIsYSwiXSIpfSl9cmV0dXJuIGk/RChpKT9pLnZhbHVlP1IoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5kZWYodC5FTEVNRU5UUywiLnByaW1UeXBlIil9KTpSKGZ1bmN0aW9uKCl7cmV0dXJuIDR9KTpuZXcgSShpLnRoaXNEZXAsaS5jb250ZXh0RGVwLGkucHJvcERlcCxmdW5jdGlvbih0LGUpe3ZhciByPXQuRUxFTUVOVFM7cmV0dXJuIGUuZGVmKHIsIj8iLHIsIi5wcmltVHlwZToiLDQpfSk6bnVsbH0oKSxjb3VudDpmdW5jdGlvbigpe2lmKCJjb3VudCJpbiBuKXt2YXIgdD0wfG4uY291bnQ7cmV0dXJuIFIoZnVuY3Rpb24oKXtyZXR1cm4gdH0pfWlmKCJjb3VudCJpbiBhKXt2YXIgZT1hLmNvdW50O3JldHVybiBGKGUsZnVuY3Rpb24odCxyKXtyZXR1cm4gdC5pbnZva2UocixlKX0pfXJldHVybiBpP0QoaSk/aT9zP25ldyBJKHMudGhpc0RlcCxzLmNvbnRleHREZXAscy5wcm9wRGVwLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZGVmKHQuRUxFTUVOVFMsIi52ZXJ0Q291bnQtIix0Lk9GRlNFVCl9KTpSKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZGVmKHQuRUxFTUVOVFMsIi52ZXJ0Q291bnQiKX0pOlIoZnVuY3Rpb24oKXtyZXR1cm4tMX0pOm5ldyBJKGkudGhpc0RlcHx8cy50aGlzRGVwLGkuY29udGV4dERlcHx8cy5jb250ZXh0RGVwLGkucHJvcERlcHx8cy5wcm9wRGVwLGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5FTEVNRU5UUztyZXR1cm4gdC5PRkZTRVQ/ZS5kZWYociwiPyIsciwiLnZlcnRDb3VudC0iLHQuT0ZGU0VULCI6LTEiKTplLmRlZihyLCI/IixyLCIudmVydENvdW50Oi0xIil9KTpudWxsfSgpLGluc3RhbmNlczpyKCJpbnN0YW5jZXMiLCExKSxvZmZzZXQ6c319ZnVuY3Rpb24gVCh0LHIpe3ZhciBuPXQuc3RhdGljLGk9dC5keW5hbWljLG89e307cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHI9blt0XSxpPWUuaWQodCkscz1uZXcgWjtpZihPKHIpKXMuc3RhdGU9MSxzLmJ1ZmZlcj1hLmdldEJ1ZmZlcihhLmNyZWF0ZShyLDM0OTYyLCExLCEwKSkscy50eXBlPTA7ZWxzZSBpZihjPWEuZ2V0QnVmZmVyKHIpKXMuc3RhdGU9MSxzLmJ1ZmZlcj1jLHMudHlwZT0wO2Vsc2UgaWYoImNvbnN0YW50ImluIHIpe3ZhciBsPXIuY29uc3RhbnQ7cy5idWZmZXI9Im51bGwiLHMuc3RhdGU9MiwibnVtYmVyIj09dHlwZW9mIGw/cy54PWw6YnQuZm9yRWFjaChmdW5jdGlvbih0LGUpe2U8bC5sZW5ndGgmJihzW3RdPWxbZV0pfSl9ZWxzZXt2YXIgYz1PKHIuYnVmZmVyKT9hLmdldEJ1ZmZlcihhLmNyZWF0ZShyLmJ1ZmZlciwzNDk2MiwhMSwhMCkpOmEuZ2V0QnVmZmVyKHIuYnVmZmVyKSx1PTB8ci5vZmZzZXQsaD0wfHIuc3RyaWRlLGY9MHxyLnNpemUscD0hIXIubm9ybWFsaXplZCxkPTA7InR5cGUiaW4gciYmKGQ9S1tyLnR5cGVdKSxyPTB8ci5kaXZpc29yLHMuYnVmZmVyPWMscy5zdGF0ZT0xLHMuc2l6ZT1mLHMubm9ybWFsaXplZD1wLHMudHlwZT1kfHxjLmR0eXBlLHMub2Zmc2V0PXUscy5zdHJpZGU9aCxzLmRpdmlzb3I9cn1vW3RdPVIoZnVuY3Rpb24odCxlKXt2YXIgcj10LmF0dHJpYkNhY2hlO2lmKGkgaW4gcilyZXR1cm4gcltpXTt2YXIgbj17aXNTdHJlYW06ITF9O3JldHVybiBPYmplY3Qua2V5cyhzKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe25bdF09c1t0XX0pLHMuYnVmZmVyJiYobi5idWZmZXI9dC5saW5rKHMuYnVmZmVyKSxuLnR5cGU9bi50eXBlfHxuLmJ1ZmZlcisiLmR0eXBlIikscltpXT1ufSl9KSxPYmplY3Qua2V5cyhpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPWlbdF07b1t0XT1GKGUsZnVuY3Rpb24odCxyKXtmdW5jdGlvbiBuKHQpe3IobFt0XSwiPSIsYSwiLiIsdCwifDA7Iil9dmFyIGE9dC5pbnZva2UocixlKSxpPXQuc2hhcmVkLG89aS5pc0J1ZmZlckFyZ3Mscz1pLmJ1ZmZlcixsPXtpc1N0cmVhbTpyLmRlZighMSl9LGM9bmV3IFo7Yy5zdGF0ZT0xLE9iamVjdC5rZXlzKGMpLmZvckVhY2goZnVuY3Rpb24odCl7bFt0XT1yLmRlZigiIitjW3RdKX0pO3ZhciB1PWwuYnVmZmVyLGg9bC50eXBlO3JldHVybiByKCJpZigiLG8sIigiLGEsIikpeyIsbC5pc1N0cmVhbSwiPXRydWU7Iix1LCI9IixzLCIuY3JlYXRlU3RyZWFtKCIsMzQ5NjIsIiwiLGEsIik7IixoLCI9Iix1LCIuZHR5cGU7IiwifWVsc2V7Iix1LCI9IixzLCIuZ2V0QnVmZmVyKCIsYSwiKTsiLCJpZigiLHUsIil7IixoLCI9Iix1LCIuZHR5cGU7IiwnfWVsc2UgaWYoImNvbnN0YW50IiBpbiAnLGEsIil7IixsLnN0YXRlLCI9IiwyLCI7IiwiaWYodHlwZW9mICIrYSsnLmNvbnN0YW50ID09PSAibnVtYmVyIil7JyxsW2J0WzBdXSwiPSIsYSwiLmNvbnN0YW50OyIsYnQuc2xpY2UoMSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBsW3RdfSkuam9pbigiPSIpLCI9MDsiLCJ9ZWxzZXsiLGJ0Lm1hcChmdW5jdGlvbih0LGUpe3JldHVybiBsW3RdKyI9IithKyIuY29uc3RhbnQubGVuZ3RoPiIrZSsiPyIrYSsiLmNvbnN0YW50WyIrZSsiXTowOyJ9KS5qb2luKCIiKSwifX1lbHNleyIsImlmKCIsbywiKCIsYSwiLmJ1ZmZlcikpeyIsdSwiPSIscywiLmNyZWF0ZVN0cmVhbSgiLDM0OTYyLCIsIixhLCIuYnVmZmVyKTsiLCJ9ZWxzZXsiLHUsIj0iLHMsIi5nZXRCdWZmZXIoIixhLCIuYnVmZmVyKTsiLCJ9IixoLCc9InR5cGUiIGluICcsYSwiPyIsaS5nbFR5cGVzLCJbIixhLCIudHlwZV06Iix1LCIuZHR5cGU7IixsLm5vcm1hbGl6ZWQsIj0hISIsYSwiLm5vcm1hbGl6ZWQ7Iiksbigic2l6ZSIpLG4oIm9mZnNldCIpLG4oInN0cmlkZSIpLG4oImRpdmlzb3IiKSxyKCJ9fSIpLHIuZXhpdCgiaWYoIixsLmlzU3RyZWFtLCIpeyIscywiLmRlc3Ryb3lTdHJlYW0oIix1LCIpOyIsIn0iKSxsfSl9KSxvfWZ1bmN0aW9uIE0odCxlLHIsbixhKXt2YXIgbz1fKHQpLHM9ZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIG4odCl7aWYodCBpbiBhKXt2YXIgcj1hW3RdO3Q9ITA7dmFyIG4sbyxzPTB8ci54LGw9MHxyLnk7cmV0dXJuIndpZHRoImluIHI/bj0wfHIud2lkdGg6dD0hMSwiaGVpZ2h0ImluIHI/bz0wfHIuaGVpZ2h0OnQ9ITEsbmV3IEkoIXQmJmUmJmUudGhpc0RlcCwhdCYmZSYmZS5jb250ZXh0RGVwLCF0JiZlJiZlLnByb3BEZXAsZnVuY3Rpb24odCxlKXt2YXIgYT10LnNoYXJlZC5jb250ZXh0LGk9bjsid2lkdGgiaW4gcnx8KGk9ZS5kZWYoYSwiLiIsImZyYW1lYnVmZmVyV2lkdGgiLCItIixzKSk7dmFyIGM9bztyZXR1cm4iaGVpZ2h0ImluIHJ8fChjPWUuZGVmKGEsIi4iLCJmcmFtZWJ1ZmZlckhlaWdodCIsIi0iLGwpKSxbcyxsLGksY119KX1pZih0IGluIGkpe3ZhciBjPWlbdF07cmV0dXJuIHQ9RihjLGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5pbnZva2UoZSxjKSxuPXQuc2hhcmVkLmNvbnRleHQsYT1lLmRlZihyLCIueHwwIiksaT1lLmRlZihyLCIueXwwIik7cmV0dXJuW2EsaSxlLmRlZignIndpZHRoIiBpbiAnLHIsIj8iLHIsIi53aWR0aHwwOiIsIigiLG4sIi4iLCJmcmFtZWJ1ZmZlcldpZHRoIiwiLSIsYSwiKSIpLHI9ZS5kZWYoJyJoZWlnaHQiIGluICcsciwiPyIsciwiLmhlaWdodHwwOiIsIigiLG4sIi4iLCJmcmFtZWJ1ZmZlckhlaWdodCIsIi0iLGksIikiKV19KSxlJiYodC50aGlzRGVwPXQudGhpc0RlcHx8ZS50aGlzRGVwLHQuY29udGV4dERlcD10LmNvbnRleHREZXB8fGUuY29udGV4dERlcCx0LnByb3BEZXA9dC5wcm9wRGVwfHxlLnByb3BEZXApLHR9cmV0dXJuIGU/bmV3IEkoZS50aGlzRGVwLGUuY29udGV4dERlcCxlLnByb3BEZXAsZnVuY3Rpb24odCxlKXt2YXIgcj10LnNoYXJlZC5jb250ZXh0O3JldHVyblswLDAsZS5kZWYociwiLiIsImZyYW1lYnVmZmVyV2lkdGgiKSxlLmRlZihyLCIuIiwiZnJhbWVidWZmZXJIZWlnaHQiKV19KTpudWxsfXZhciBhPXQuc3RhdGljLGk9dC5keW5hbWljO2lmKHQ9bigidmlld3BvcnQiKSl7dmFyIG89dDt0PW5ldyBJKHQudGhpc0RlcCx0LmNvbnRleHREZXAsdC5wcm9wRGVwLGZ1bmN0aW9uKHQsZSl7dmFyIHI9by5hcHBlbmQodCxlKSxuPXQuc2hhcmVkLmNvbnRleHQ7cmV0dXJuIGUuc2V0KG4sIi52aWV3cG9ydFdpZHRoIixyWzJdKSxlLnNldChuLCIudmlld3BvcnRIZWlnaHQiLHJbM10pLHJ9KX1yZXR1cm57dmlld3BvcnQ6dCxzY2lzc29yX2JveDpuKCJzY2lzc29yLmJveCIpfX0odCxvKSxsPWsodCksYz1mdW5jdGlvbih0LGUpe3ZhciByPXQuc3RhdGljLG49dC5keW5hbWljLGE9e307cmV0dXJuIG50LmZvckVhY2goZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLGkpe2lmKHQgaW4gcil7dmFyIHM9ZShyW3RdKTthW29dPVIoZnVuY3Rpb24oKXtyZXR1cm4gc30pfWVsc2UgaWYodCBpbiBuKXt2YXIgbD1uW3RdO2Fbb109RihsLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkodCxlLHQuaW52b2tlKGUsbCkpfSl9fXZhciBvPW0odCk7c3dpdGNoKHQpe2Nhc2UiY3VsbC5lbmFibGUiOmNhc2UiYmxlbmQuZW5hYmxlIjpjYXNlImRpdGhlciI6Y2FzZSJzdGVuY2lsLmVuYWJsZSI6Y2FzZSJkZXB0aC5lbmFibGUiOmNhc2Uic2Npc3Nvci5lbmFibGUiOmNhc2UicG9seWdvbk9mZnNldC5lbmFibGUiOmNhc2Uic2FtcGxlLmFscGhhIjpjYXNlInNhbXBsZS5lbmFibGUiOmNhc2UiZGVwdGgubWFzayI6cmV0dXJuIGUoZnVuY3Rpb24odCl7cmV0dXJuIHR9LGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gcn0pO2Nhc2UiZGVwdGguZnVuYyI6cmV0dXJuIGUoZnVuY3Rpb24odCl7cmV0dXJuIGt0W3RdfSxmdW5jdGlvbih0LGUscil7cmV0dXJuIGUuZGVmKHQuY29uc3RhbnRzLmNvbXBhcmVGdW5jcywiWyIsciwiXSIpfSk7Y2FzZSJkZXB0aC5yYW5nZSI6cmV0dXJuIGUoZnVuY3Rpb24odCl7cmV0dXJuIHR9LGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm5bZS5kZWYoIisiLHIsIlswXSIpLGU9ZS5kZWYoIisiLHIsIlsxXSIpXX0pO2Nhc2UiYmxlbmQuZnVuYyI6cmV0dXJuIGUoZnVuY3Rpb24odCl7cmV0dXJuW3d0WyJzcmNSR0IiaW4gdD90LnNyY1JHQjp0LnNyY10sd3RbImRzdFJHQiJpbiB0P3QuZHN0UkdCOnQuZHN0XSx3dFsic3JjQWxwaGEiaW4gdD90LnNyY0FscGhhOnQuc3JjXSx3dFsiZHN0QWxwaGEiaW4gdD90LmRzdEFscGhhOnQuZHN0XV19LGZ1bmN0aW9uKHQsZSxyKXtmdW5jdGlvbiBuKHQsbil7cmV0dXJuIGUuZGVmKCciJyx0LG4sJyIgaW4gJyxyLCI/IixyLCIuIix0LG4sIjoiLHIsIi4iLHQpfXQ9dC5jb25zdGFudHMuYmxlbmRGdW5jczt2YXIgYT1uKCJzcmMiLCJSR0IiKSxpPW4oImRzdCIsIlJHQiIpLG89KGE9ZS5kZWYodCwiWyIsYSwiXSIpLGUuZGVmKHQsIlsiLG4oInNyYyIsIkFscGhhIiksIl0iKSk7cmV0dXJuW2EsaT1lLmRlZih0LCJbIixpLCJdIiksbyx0PWUuZGVmKHQsIlsiLG4oImRzdCIsIkFscGhhIiksIl0iKV19KTtjYXNlImJsZW5kLmVxdWF0aW9uIjpyZXR1cm4gZShmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/W0pbdF0sSlt0XV06Im9iamVjdCI9PXR5cGVvZiB0P1tKW3QucmdiXSxKW3QuYWxwaGFdXTp2b2lkIDB9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0YW50cy5ibGVuZEVxdWF0aW9ucyxhPWUuZGVmKCksaT1lLmRlZigpO3JldHVybih0PXQuY29uZCgidHlwZW9mICIsciwnPT09InN0cmluZyInKSkudGhlbihhLCI9IixpLCI9IixuLCJbIixyLCJdOyIpLHQuZWxzZShhLCI9IixuLCJbIixyLCIucmdiXTsiLGksIj0iLG4sIlsiLHIsIi5hbHBoYV07IiksZSh0KSxbYSxpXX0pO2Nhc2UiYmxlbmQuY29sb3IiOnJldHVybiBlKGZ1bmN0aW9uKHQpe3JldHVybiBpKDQsZnVuY3Rpb24oZSl7cmV0dXJuK3RbZV19KX0sZnVuY3Rpb24odCxlLHIpe3JldHVybiBpKDQsZnVuY3Rpb24odCl7cmV0dXJuIGUuZGVmKCIrIixyLCJbIix0LCJdIil9KX0pO2Nhc2Uic3RlbmNpbC5tYXNrIjpyZXR1cm4gZShmdW5jdGlvbih0KXtyZXR1cm4gMHx0fSxmdW5jdGlvbih0LGUscil7cmV0dXJuIGUuZGVmKHIsInwwIil9KTtjYXNlInN0ZW5jaWwuZnVuYyI6cmV0dXJuIGUoZnVuY3Rpb24odCl7cmV0dXJuW2t0W3QuY21wfHwia2VlcCJdLHQucmVmfHwwLCJtYXNrImluIHQ/dC5tYXNrOi0xXX0sZnVuY3Rpb24odCxlLHIpe3JldHVyblt0PWUuZGVmKCciY21wIiBpbiAnLHIsIj8iLHQuY29uc3RhbnRzLmNvbXBhcmVGdW5jcywiWyIsciwiLmNtcF0iLCI6Iiw3NjgwKSxlLmRlZihyLCIucmVmfDAiKSxlPWUuZGVmKCcibWFzayIgaW4gJyxyLCI/IixyLCIubWFza3wwOi0xIildfSk7Y2FzZSJzdGVuY2lsLm9wRnJvbnQiOmNhc2Uic3RlbmNpbC5vcEJhY2siOnJldHVybiBlKGZ1bmN0aW9uKGUpe3JldHVyblsic3RlbmNpbC5vcEJhY2siPT09dD8xMDI5OjEwMjgsVHRbZS5mYWlsfHwia2VlcCJdLFR0W2UuemZhaWx8fCJrZWVwIl0sVHRbZS56cGFzc3x8ImtlZXAiXV19LGZ1bmN0aW9uKGUscixuKXtmdW5jdGlvbiBhKHQpe3JldHVybiByLmRlZignIicsdCwnIiBpbiAnLG4sIj8iLGksIlsiLG4sIi4iLHQsIl06Iiw3NjgwKX12YXIgaT1lLmNvbnN0YW50cy5zdGVuY2lsT3BzO3JldHVyblsic3RlbmNpbC5vcEJhY2siPT09dD8xMDI5OjEwMjgsYSgiZmFpbCIpLGEoInpmYWlsIiksYSgienBhc3MiKV19KTtjYXNlInBvbHlnb25PZmZzZXQub2Zmc2V0IjpyZXR1cm4gZShmdW5jdGlvbih0KXtyZXR1cm5bMHx0LmZhY3RvciwwfHQudW5pdHNdfSxmdW5jdGlvbih0LGUscil7cmV0dXJuW2UuZGVmKHIsIi5mYWN0b3J8MCIpLGU9ZS5kZWYociwiLnVuaXRzfDAiKV19KTtjYXNlImN1bGwuZmFjZSI6cmV0dXJuIGUoZnVuY3Rpb24odCl7dmFyIGU9MDtyZXR1cm4iZnJvbnQiPT09dD9lPTEwMjg6ImJhY2siPT09dCYmKGU9MTAyOSksZX0sZnVuY3Rpb24odCxlLHIpe3JldHVybiBlLmRlZihyLCc9PT0iZnJvbnQiPycsMTAyOCwiOiIsMTAyOSl9KTtjYXNlImxpbmVXaWR0aCI6cmV0dXJuIGUoZnVuY3Rpb24odCl7cmV0dXJuIHR9LGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gcn0pO2Nhc2UiZnJvbnRGYWNlIjpyZXR1cm4gZShmdW5jdGlvbih0KXtyZXR1cm4gTXRbdF19LGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZS5kZWYocisnPT09ImN3Ij8yMzA0OjIzMDUnKX0pO2Nhc2UiY29sb3JNYXNrIjpyZXR1cm4gZShmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuISF0fSl9LGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gaSg0LGZ1bmN0aW9uKHQpe3JldHVybiIhISIrcisiWyIrdCsiXSJ9KX0pO2Nhc2Uic2FtcGxlLmNvdmVyYWdlIjpyZXR1cm4gZShmdW5jdGlvbih0KXtyZXR1cm5bInZhbHVlImluIHQ/dC52YWx1ZToxLCEhdC5pbnZlcnRdfSxmdW5jdGlvbih0LGUscil7cmV0dXJuW2UuZGVmKCcidmFsdWUiIGluICcsciwiPysiLHIsIi52YWx1ZToxIiksZT1lLmRlZigiISEiLHIsIi5pbnZlcnQiKV19KX19KSxhfSh0KSx1PXcodCksaD1zLnZpZXdwb3J0O3JldHVybiBoJiYoYy52aWV3cG9ydD1oKSwocz1zW2g9bSgic2Npc3Nvci5ib3giKV0pJiYoY1toXT1zKSwobz17ZnJhbWVidWZmZXI6byxkcmF3Omwsc2hhZGVyOnUsc3RhdGU6YyxkaXJ0eTpzPTA8T2JqZWN0LmtleXMoYykubGVuZ3RofSkucHJvZmlsZT1mdW5jdGlvbih0KXt2YXIgZSxyPXQuc3RhdGljO2lmKHQ9dC5keW5hbWljLCJwcm9maWxlImluIHIpe3ZhciBuPSEhci5wcm9maWxlOyhlPVIoZnVuY3Rpb24odCxlKXtyZXR1cm4gbn0pKS5lbmFibGU9bn1lbHNlIGlmKCJwcm9maWxlImluIHQpe3ZhciBhPXQucHJvZmlsZTtlPUYoYSxmdW5jdGlvbih0LGUpe3JldHVybiB0Lmludm9rZShlLGEpfSl9cmV0dXJuIGV9KHQpLG8udW5pZm9ybXM9ZnVuY3Rpb24odCxlKXt2YXIgcj10LnN0YXRpYyxuPXQuZHluYW1pYyxhPXt9O3JldHVybiBPYmplY3Qua2V5cyhyKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlLG49clt0XTtpZigibnVtYmVyIj09dHlwZW9mIG58fCJib29sZWFuIj09dHlwZW9mIG4pZT1SKGZ1bmN0aW9uKCl7cmV0dXJuIG59KTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXt2YXIgbz1uLl9yZWdsVHlwZTsidGV4dHVyZTJkIj09PW98fCJ0ZXh0dXJlQ3ViZSI9PT1vP2U9UihmdW5jdGlvbih0KXtyZXR1cm4gdC5saW5rKG4pfSk6ImZyYW1lYnVmZmVyIiE9PW8mJiJmcmFtZWJ1ZmZlckN1YmUiIT09b3x8KGU9UihmdW5jdGlvbih0KXtyZXR1cm4gdC5saW5rKG4uY29sb3JbMF0pfSkpfWVsc2UgdihuKSYmKGU9UihmdW5jdGlvbih0KXtyZXR1cm4gdC5nbG9iYWwuZGVmKCJbIixpKG4ubGVuZ3RoLGZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfSksIl0iKX0pKTtlLnZhbHVlPW4sYVt0XT1lfSksT2JqZWN0LmtleXMobikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1uW3RdO2FbdF09RihlLGZ1bmN0aW9uKHQscil7cmV0dXJuIHQuaW52b2tlKHIsZSl9KX0pLGF9KHIpLG8uYXR0cmlidXRlcz1UKGUpLG8uY29udGV4dD1mdW5jdGlvbih0KXt2YXIgZT10LnN0YXRpYyxyPXQuZHluYW1pYyxuPXt9O3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciByPWVbdF07blt0XT1SKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByPyIiK3I6dC5saW5rKHIpfSl9KSxPYmplY3Qua2V5cyhyKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXJbdF07blt0XT1GKGUsZnVuY3Rpb24odCxyKXtyZXR1cm4gdC5pbnZva2UocixlKX0pfSksbn0obiksb31mdW5jdGlvbiBBKHQsZSxyKXt2YXIgbj10LnNoYXJlZC5jb250ZXh0LGE9dC5zY29wZSgpO09iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY3Rpb24oaSl7ZS5zYXZlKG4sIi4iK2kpLGEobiwiLiIsaSwiPSIscltpXS5hcHBlbmQodCxlKSwiOyIpfSksZShhKX1mdW5jdGlvbiBTKHQsZSxyLG4pe3ZhciBhLGk9KHM9dC5zaGFyZWQpLmdsLG89cy5mcmFtZWJ1ZmZlcjskJiYoYT1lLmRlZihzLmV4dGVuc2lvbnMsIi53ZWJnbF9kcmF3X2J1ZmZlcnMiKSk7dmFyIHM9KGw9dC5jb25zdGFudHMpLmRyYXdCdWZmZXIsbD1sLmJhY2tCdWZmZXI7dD1yP3IuYXBwZW5kKHQsZSk6ZS5kZWYobywiLm5leHQiKSxufHxlKCJpZigiLHQsIiE9PSIsbywiLmN1cil7IiksZSgiaWYoIix0LCIpeyIsaSwiLmJpbmRGcmFtZWJ1ZmZlcigiLDM2MTYwLCIsIix0LCIuZnJhbWVidWZmZXIpOyIpLCQmJmUoYSwiLmRyYXdCdWZmZXJzV0VCR0woIixzLCJbIix0LCIuY29sb3JBdHRhY2htZW50cy5sZW5ndGhdKTsiKSxlKCJ9ZWxzZXsiLGksIi5iaW5kRnJhbWVidWZmZXIoIiwzNjE2MCwiLG51bGwpOyIpLCQmJmUoYSwiLmRyYXdCdWZmZXJzV0VCR0woIixsLCIpOyIpLGUoIn0iLG8sIi5jdXI9Iix0LCI7Iiksbnx8ZSgifSIpfWZ1bmN0aW9uIEUodCxlLHIpe3ZhciBuPXQuc2hhcmVkLGE9bi5nbCxvPXQuY3VycmVudCxzPXQubmV4dCxsPW4uY3VycmVudCxjPW4ubmV4dCx1PXQuY29uZChsLCIuZGlydHkiKTtudC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBuLGg7aWYoISgoZT1tKGUpKWluIHIuc3RhdGUpKWlmKGUgaW4gcyl7bj1zW2VdLGg9b1tlXTt2YXIgZj1pKHR0W2VdLmxlbmd0aCxmdW5jdGlvbih0KXtyZXR1cm4gdS5kZWYobiwiWyIsdCwiXSIpfSk7dSh0LmNvbmQoZi5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCsiIT09IitoKyJbIitlKyJdIn0pLmpvaW4oInx8IikpLnRoZW4oYSwiLiIsaXRbZV0sIigiLGYsIik7IixmLm1hcChmdW5jdGlvbih0LGUpe3JldHVybiBoKyJbIitlKyJdPSIrdH0pLmpvaW4oIjsiKSwiOyIpKX1lbHNlIG49dS5kZWYoYywiLiIsZSksZj10LmNvbmQobiwiIT09IixsLCIuIixlKSx1KGYpLGUgaW4gYXQ/Zih0LmNvbmQobikudGhlbihhLCIuZW5hYmxlKCIsYXRbZV0sIik7IikuZWxzZShhLCIuZGlzYWJsZSgiLGF0W2VdLCIpOyIpLGwsIi4iLGUsIj0iLG4sIjsiKTpmKGEsIi4iLGl0W2VdLCIoIixuLCIpOyIsbCwiLiIsZSwiPSIsbiwiOyIpfSksMD09PU9iamVjdC5rZXlzKHIuc3RhdGUpLmxlbmd0aCYmdShsLCIuZGlydHk9ZmFsc2U7IiksZSh1KX1mdW5jdGlvbiBMKHQsZSxyLG4pe3ZhciBhPXQuc2hhcmVkLGk9dC5jdXJyZW50LG89YS5jdXJyZW50LHM9YS5nbDt6KE9iamVjdC5rZXlzKHIpKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBsPXJbYV07aWYoIW58fG4obCkpe3ZhciBjPWwuYXBwZW5kKHQsZSk7aWYoYXRbYV0pe3ZhciB1PWF0W2FdO0QobCk/ZShzLGM/Ii5lbmFibGUoIjoiLmRpc2FibGUoIix1LCIpOyIpOmUodC5jb25kKGMpLnRoZW4ocywiLmVuYWJsZSgiLHUsIik7IikuZWxzZShzLCIuZGlzYWJsZSgiLHUsIik7IikpLGUobywiLiIsYSwiPSIsYywiOyIpfWVsc2UgaWYodihjKSl7dmFyIGg9aVthXTtlKHMsIi4iLGl0W2FdLCIoIixjLCIpOyIsYy5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gaCsiWyIrZSsiXT0iK3R9KS5qb2luKCI7IiksIjsiKX1lbHNlIGUocywiLiIsaXRbYV0sIigiLGMsIik7IixvLCIuIixhLCI9IixjLCI7Iil9fSl9ZnVuY3Rpb24gQyh0LGUpe1EmJih0Lmluc3RhbmNpbmc9ZS5kZWYodC5zaGFyZWQuZXh0ZW5zaW9ucywiLmFuZ2xlX2luc3RhbmNlZF9hcnJheXMiKSl9ZnVuY3Rpb24gQih0LGUscixuLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIHBlcmZvcm1hbmNlPyJEYXRlLm5vdygpIjoicGVyZm9ybWFuY2Uubm93KCkifWZ1bmN0aW9uIG8odCl7dChjPWUuZGVmKCksIj0iLGkoKSwiOyIpLCJzdHJpbmciPT10eXBlb2YgYT90KGYsIi5jb3VudCs9IixhLCI7Iik6dChmLCIuY291bnQrKzsiKSxkJiYobj90KHU9ZS5kZWYoKSwiPSIsZywiLmdldE51bVBlbmRpbmdRdWVyaWVzKCk7Iik6dChnLCIuYmVnaW5RdWVyeSgiLGYsIik7IikpfWZ1bmN0aW9uIHModCl7dChmLCIuY3B1VGltZSs9IixpKCksIi0iLGMsIjsiKSxkJiYobj90KGcsIi5wdXNoU2NvcGVTdGF0cygiLHUsIiwiLGcsIi5nZXROdW1QZW5kaW5nUXVlcmllcygpLCIsZiwiKTsiKTp0KGcsIi5lbmRRdWVyeSgpOyIpKX1mdW5jdGlvbiBsKHQpe3ZhciByPWUuZGVmKHAsIi5wcm9maWxlIik7ZShwLCIucHJvZmlsZT0iLHQsIjsiKSxlLmV4aXQocCwiLnByb2ZpbGU9IixyLCI7Iil9dmFyIGMsdSxoPXQuc2hhcmVkLGY9dC5zdGF0cyxwPWguY3VycmVudCxnPWgudGltZXI7aWYocj1yLnByb2ZpbGUpe2lmKEQocikpcmV0dXJuIHZvaWQoci5lbmFibGU/KG8oZSkscyhlLmV4aXQpLGwoInRydWUiKSk6bCgiZmFsc2UiKSk7bChyPXIuYXBwZW5kKHQsZSkpfWVsc2Ugcj1lLmRlZihwLCIucHJvZmlsZSIpO28oaD10LmJsb2NrKCkpLGUoImlmKCIsciwiKXsiLGgsIn0iKSxzKHQ9dC5ibG9jaygpKSxlLmV4aXQoImlmKCIsciwiKXsiLHQsIn0iKX1mdW5jdGlvbiBOKHQsZSxyLG4sYSl7ZnVuY3Rpb24gaShyLG4sYSl7ZnVuY3Rpb24gaSgpe2UoImlmKCEiLHUsIi5idWZmZXIpeyIsbCwiLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KCIsYywiKTt9Iik7dmFyIHIsaT1hLnR5cGU7cj1hLnNpemU/ZS5kZWYoYS5zaXplLCJ8fCIsbik6bixlKCJpZigiLHUsIi50eXBlIT09IixpLCJ8fCIsdSwiLnNpemUhPT0iLHIsInx8IixwLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdSsiLiIrdCsiIT09IithW3RdfSkuam9pbigifHwiKSwiKXsiLGwsIi5iaW5kQnVmZmVyKCIsMzQ5NjIsIiwiLGgsIi5idWZmZXIpOyIsbCwiLnZlcnRleEF0dHJpYlBvaW50ZXIoIixbYyxyLGksYS5ub3JtYWxpemVkLGEuc3RyaWRlLGEub2Zmc2V0XSwiKTsiLHUsIi50eXBlPSIsaSwiOyIsdSwiLnNpemU9IixyLCI7IixwLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdSsiLiIrdCsiPSIrYVt0XSsiOyJ9KS5qb2luKCIiKSwifSIpLFEmJihpPWEuZGl2aXNvcixlKCJpZigiLHUsIi5kaXZpc29yIT09IixpLCIpeyIsdC5pbnN0YW5jaW5nLCIudmVydGV4QXR0cmliRGl2aXNvckFOR0xFKCIsW2MsaV0sIik7Iix1LCIuZGl2aXNvcj0iLGksIjt9IikpfWZ1bmN0aW9uIHMoKXtlKCJpZigiLHUsIi5idWZmZXIpeyIsbCwiLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgiLGMsIik7IiwifWlmKCIsYnQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHUrIi4iK3QrIiE9PSIrZltlXX0pLmpvaW4oInx8IiksIil7IixsLCIudmVydGV4QXR0cmliNGYoIixjLCIsIixmLCIpOyIsYnQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHUrIi4iK3QrIj0iK2ZbZV0rIjsifSkuam9pbigiIiksIn0iKX12YXIgbD1vLmdsLGM9ZS5kZWYociwiLmxvY2F0aW9uIiksdT1lLmRlZihvLmF0dHJpYnV0ZXMsIlsiLGMsIl0iKTtyPWEuc3RhdGU7dmFyIGg9YS5idWZmZXIsZj1bYS54LGEueSxhLnosYS53XSxwPVsiYnVmZmVyIiwibm9ybWFsaXplZCIsIm9mZnNldCIsInN0cmlkZSJdOzE9PT1yP2koKToyPT09cj9zKCk6KGUoImlmKCIsciwiPT09IiwxLCIpeyIpLGkoKSxlKCJ9ZWxzZXsiKSxzKCksZSgifSIpKX12YXIgbz10LnNoYXJlZDtuLmZvckVhY2goZnVuY3Rpb24obil7dmFyIG8scz1uLm5hbWUsbD1yLmF0dHJpYnV0ZXNbc107aWYobCl7aWYoIWEobCkpcmV0dXJuO289bC5hcHBlbmQodCxlKX1lbHNle2lmKCFhKEF0KSlyZXR1cm47dmFyIGM9dC5zY29wZUF0dHJpYihzKTtvPXt9LE9iamVjdC5rZXlzKG5ldyBaKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe29bdF09ZS5kZWYoYywiLiIsdCl9KX1pKHQubGluayhuKSxmdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSAzNTY2NDpjYXNlIDM1NjY3OmNhc2UgMzU2NzE6cmV0dXJuIDI7Y2FzZSAzNTY2NTpjYXNlIDM1NjY4OmNhc2UgMzU2NzI6cmV0dXJuIDM7Y2FzZSAzNTY2NjpjYXNlIDM1NjY5OmNhc2UgMzU2NzM6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMX19KG4uaW5mby50eXBlKSxvKX0pfWZ1bmN0aW9uIGoodCxyLG4sYSxvKXtmb3IodmFyIHMsbD10LnNoYXJlZCxjPWwuZ2wsdT0wO3U8YS5sZW5ndGg7Kyt1KXt2YXIgaCxmPShnPWFbdV0pLm5hbWUscD1nLmluZm8udHlwZSxkPW4udW5pZm9ybXNbZl0sZz10LmxpbmsoZykrIi5sb2NhdGlvbiI7aWYoZCl7aWYoIW8oZCkpY29udGludWU7aWYoRChkKSl7aWYoZj1kLnZhbHVlLDM1Njc4PT09cHx8MzU2ODA9PT1wKXIoYywiLnVuaWZvcm0xaSgiLGcsIiwiLChwPXQubGluayhmLl90ZXh0dXJlfHxmLmNvbG9yWzBdLl90ZXh0dXJlKSkrIi5iaW5kKCkpOyIpLHIuZXhpdChwLCIudW5iaW5kKCk7Iik7ZWxzZSBpZigzNTY3ND09PXB8fDM1Njc1PT09cHx8MzU2NzY9PT1wKWQ9MiwzNTY3NT09PXA/ZD0zOjM1Njc2PT09cCYmKGQ9NCkscihjLCIudW5pZm9ybU1hdHJpeCIsZCwiZnYoIixnLCIsZmFsc2UsIixmPXQuZ2xvYmFsLmRlZigibmV3IEZsb2F0MzJBcnJheShbIitBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmKSsiXSkiKSwiKTsiKTtlbHNle3N3aXRjaChwKXtjYXNlIDUxMjY6cz0iMWYiO2JyZWFrO2Nhc2UgMzU2NjQ6cz0iMmYiO2JyZWFrO2Nhc2UgMzU2NjU6cz0iM2YiO2JyZWFrO2Nhc2UgMzU2NjY6cz0iNGYiO2JyZWFrO2Nhc2UgMzU2NzA6Y2FzZSA1MTI0OnM9IjFpIjticmVhaztjYXNlIDM1NjcxOmNhc2UgMzU2Njc6cz0iMmkiO2JyZWFrO2Nhc2UgMzU2NzI6Y2FzZSAzNTY2ODpzPSIzaSI7YnJlYWs7Y2FzZSAzNTY3MzpzPSI0aSI7YnJlYWs7Y2FzZSAzNTY2OTpzPSI0aSJ9cihjLCIudW5pZm9ybSIscywiKCIsZywiLCIsdihmKT9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmKTpmLCIpOyIpfWNvbnRpbnVlfWg9ZC5hcHBlbmQodCxyKX1lbHNle2lmKCFvKEF0KSljb250aW51ZTtoPXIuZGVmKGwudW5pZm9ybXMsIlsiLGUuaWQoZiksIl0iKX1zd2l0Y2goMzU2Nzg9PT1wP3IoImlmKCIsaCwiJiYiLGgsJy5fcmVnbFR5cGU9PT0iZnJhbWVidWZmZXIiKXsnLGgsIj0iLGgsIi5jb2xvclswXTsiLCJ9Iik6MzU2ODA9PT1wJiZyKCJpZigiLGgsIiYmIixoLCcuX3JlZ2xUeXBlPT09ImZyYW1lYnVmZmVyQ3ViZSIpeycsaCwiPSIsaCwiLmNvbG9yWzBdOyIsIn0iKSxmPTEscCl7Y2FzZSAzNTY3ODpjYXNlIDM1NjgwOnA9ci5kZWYoaCwiLl90ZXh0dXJlIikscihjLCIudW5pZm9ybTFpKCIsZywiLCIscCwiLmJpbmQoKSk7Iiksci5leGl0KHAsIi51bmJpbmQoKTsiKTtjb250aW51ZTtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpzPSIxaSI7YnJlYWs7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnM9IjJpIixmPTI7YnJlYWs7Y2FzZSAzNTY2ODpjYXNlIDM1NjcyOnM9IjNpIixmPTM7YnJlYWs7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnM9IjRpIixmPTQ7YnJlYWs7Y2FzZSA1MTI2OnM9IjFmIjticmVhaztjYXNlIDM1NjY0OnM9IjJmIixmPTI7YnJlYWs7Y2FzZSAzNTY2NTpzPSIzZiIsZj0zO2JyZWFrO2Nhc2UgMzU2NjY6cz0iNGYiLGY9NDticmVhaztjYXNlIDM1Njc0OnM9Ik1hdHJpeDJmdiI7YnJlYWs7Y2FzZSAzNTY3NTpzPSJNYXRyaXgzZnYiO2JyZWFrO2Nhc2UgMzU2NzY6cz0iTWF0cml4NGZ2In1pZihyKGMsIi51bmlmb3JtIixzLCIoIixnLCIsIiksIk0iPT09cy5jaGFyQXQoMCkpe2c9TWF0aC5wb3cocC0zNTY3NCsyLDIpO3ZhciBtPXQuZ2xvYmFsLmRlZigibmV3IEZsb2F0MzJBcnJheSgiLGcsIikiKTtyKCJmYWxzZSwoQXJyYXkuaXNBcnJheSgiLGgsIil8fCIsaCwiIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5KT8iLGgsIjooIixpKGcsZnVuY3Rpb24odCl7cmV0dXJuIG0rIlsiK3QrIl09IitoKyJbIit0KyJdIn0pLCIsIixtLCIpIil9ZWxzZSByKDE8Zj9pKGYsZnVuY3Rpb24odCl7cmV0dXJuIGgrIlsiK3QrIl0ifSk6aCk7cigiKTsiKX19ZnVuY3Rpb24gVih0LGUscixuKXtmdW5jdGlvbiBhKGEpe3ZhciBpPWZbYV07cmV0dXJuIGk/aS5jb250ZXh0RGVwJiZuLmNvbnRleHREeW5hbWljfHxpLnByb3BEZXA/aS5hcHBlbmQodCxyKTppLmFwcGVuZCh0LGUpOmUuZGVmKGgsIi4iLGEpfWZ1bmN0aW9uIGkoKXtmdW5jdGlvbiB0KCl7cihsLCIuZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUoIixbZCx2LG0sZysiPDwoKCIrbSsiLTUxMjEpPj4xKSIsc10sIik7Iil9ZnVuY3Rpb24gZSgpe3IobCwiLmRyYXdBcnJheXNJbnN0YW5jZWRBTkdMRSgiLFtkLGcsdixzXSwiKTsiKX1wP3k/dCgpOihyKCJpZigiLHAsIil7IiksdCgpLHIoIn1lbHNleyIpLGUoKSxyKCJ9IikpOmUoKX1mdW5jdGlvbiBvKCl7ZnVuY3Rpb24gdCgpe3IodSsiLmRyYXdFbGVtZW50cygiK1tkLHYsbSxnKyI8PCgoIittKyItNTEyMSk+PjEpIl0rIik7Iil9ZnVuY3Rpb24gZSgpe3IodSsiLmRyYXdBcnJheXMoIitbZCxnLHZdKyIpOyIpfXA/eT90KCk6KHIoImlmKCIscCwiKXsiKSx0KCkscigifWVsc2V7IiksZSgpLHIoIn0iKSk6ZSgpfXZhciBzLGwsYz10LnNoYXJlZCx1PWMuZ2wsaD1jLmRyYXcsZj1uLmRyYXcscD1mdW5jdGlvbigpe3ZhciBhPWYuZWxlbWVudHMsaT1lO3JldHVybiBhPygoYS5jb250ZXh0RGVwJiZuLmNvbnRleHREeW5hbWljfHxhLnByb3BEZXApJiYoaT1yKSxhPWEuYXBwZW5kKHQsaSkpOmE9aS5kZWYoaCwiLiIsImVsZW1lbnRzIiksYSYmaSgiaWYoIithKyIpIit1KyIuYmluZEJ1ZmZlcigzNDk2MywiK2ErIi5idWZmZXIuYnVmZmVyKTsiKSxhfSgpLGQ9YSgicHJpbWl0aXZlIiksZz1hKCJvZmZzZXQiKSx2PWZ1bmN0aW9uKCl7dmFyIGE9Zi5jb3VudCxpPWU7cmV0dXJuIGE/KChhLmNvbnRleHREZXAmJm4uY29udGV4dER5bmFtaWN8fGEucHJvcERlcCkmJihpPXIpLGE9YS5hcHBlbmQodCxpKSk6YT1pLmRlZihoLCIuIiwiY291bnQiKSxhfSgpO2lmKCJudW1iZXIiPT10eXBlb2Ygdil7aWYoMD09PXYpcmV0dXJufWVsc2UgcigiaWYoIix2LCIpeyIpLHIuZXhpdCgifSIpO1EmJihzPWEoImluc3RhbmNlcyIpLGw9dC5pbnN0YW5jaW5nKTt2YXIgbT1wKyIudHlwZSIseT1mLmVsZW1lbnRzJiZEKGYuZWxlbWVudHMpO1EmJigibnVtYmVyIiE9dHlwZW9mIHN8fDA8PXMpPyJzdHJpbmciPT10eXBlb2Ygcz8ocigiaWYoIixzLCI+MCl7IiksaSgpLHIoIn1lbHNlIGlmKCIscywiPDApeyIpLG8oKSxyKCJ9IikpOmkoKTpvKCl9ZnVuY3Rpb24gcSh0LGUscixuLGEpe3JldHVybiBhPShlPWIoKSkucHJvYygiYm9keSIsYSksUSYmKGUuaW5zdGFuY2luZz1hLmRlZihlLnNoYXJlZC5leHRlbnNpb25zLCIuYW5nbGVfaW5zdGFuY2VkX2FycmF5cyIpKSx0KGUsYSxyLG4pLGUuY29tcGlsZSgpLmJvZHl9ZnVuY3Rpb24gSCh0LGUscixuKXtDKHQsZSksTih0LGUscixuLmF0dHJpYnV0ZXMsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLGoodCxlLHIsbi51bmlmb3JtcyxmdW5jdGlvbigpe3JldHVybiEwfSksVih0LGUsZSxyKX1mdW5jdGlvbiBHKHQsZSxyLG4pe2Z1bmN0aW9uIGEoKXtyZXR1cm4hMH10LmJhdGNoSWQ9ImExIixDKHQsZSksTih0LGUscixuLmF0dHJpYnV0ZXMsYSksaih0LGUscixuLnVuaWZvcm1zLGEpLFYodCxlLGUscil9ZnVuY3Rpb24gWSh0LGUscixuKXtmdW5jdGlvbiBhKHQpe3JldHVybiB0LmNvbnRleHREZXAmJm98fHQucHJvcERlcH1mdW5jdGlvbiBpKHQpe3JldHVybiFhKHQpfUModCxlKTt2YXIgbz1yLmNvbnRleHREZXAscz1lLmRlZigpLGw9ZS5kZWYoKTt0LnNoYXJlZC5wcm9wcz1sLHQuYmF0Y2hJZD1zO3ZhciBjPXQuc2NvcGUoKSx1PXQuc2NvcGUoKTtlKGMuZW50cnksImZvcigiLHMsIj0wOyIscywiPCIsImExIiwiOysrIixzLCIpeyIsbCwiPSIsImEwIiwiWyIscywiXTsiLHUsIn0iLGMuZXhpdCksci5uZWVkc0NvbnRleHQmJkEodCx1LHIuY29udGV4dCksci5uZWVkc0ZyYW1lYnVmZmVyJiZTKHQsdSxyLmZyYW1lYnVmZmVyKSxMKHQsdSxyLnN0YXRlLGEpLHIucHJvZmlsZSYmYShyLnByb2ZpbGUpJiZCKHQsdSxyLCExLCEwKSxuPyhOKHQsYyxyLG4uYXR0cmlidXRlcyxpKSxOKHQsdSxyLG4uYXR0cmlidXRlcyxhKSxqKHQsYyxyLG4udW5pZm9ybXMsaSksaih0LHUscixuLnVuaWZvcm1zLGEpLFYodCxjLHUscikpOihlPXQuZ2xvYmFsLmRlZigie30iKSxuPXIuc2hhZGVyLnByb2dWYXIuYXBwZW5kKHQsdSksbD11LmRlZihuLCIuaWQiKSxjPXUuZGVmKGUsIlsiLGwsIl0iKSx1KHQuc2hhcmVkLmdsLCIudXNlUHJvZ3JhbSgiLG4sIi5wcm9ncmFtKTsiLCJpZighIixjLCIpeyIsYywiPSIsZSwiWyIsbCwiXT0iLHQubGluayhmdW5jdGlvbihlKXtyZXR1cm4gcShHLHQscixlLDIpfSksIigiLG4sIik7fSIsYywiLmNhbGwodGhpcyxhMFsiLHMsIl0sIixzLCIpOyIpKX1mdW5jdGlvbiBXKHQscil7ZnVuY3Rpb24gbihlKXt2YXIgbj1yLnNoYWRlcltlXTtuJiZhLnNldChpLnNoYWRlciwiLiIrZSxuLmFwcGVuZCh0LGEpKX12YXIgYT10LnByb2MoInNjb3BlIiwzKTt0LmJhdGNoSWQ9ImEyIjt2YXIgaT10LnNoYXJlZCxvPWkuY3VycmVudDtBKHQsYSxyLmNvbnRleHQpLHIuZnJhbWVidWZmZXImJnIuZnJhbWVidWZmZXIuYXBwZW5kKHQsYSkseihPYmplY3Qua2V5cyhyLnN0YXRlKSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj1yLnN0YXRlW2VdLmFwcGVuZCh0LGEpO3Yobik/bi5mb3JFYWNoKGZ1bmN0aW9uKHIsbil7YS5zZXQodC5uZXh0W2VdLCJbIituKyJdIixyKX0pOmEuc2V0KGkubmV4dCwiLiIrZSxuKX0pLEIodCxhLHIsITAsITApLFsiZWxlbWVudHMiLCJvZmZzZXQiLCJjb3VudCIsImluc3RhbmNlcyIsInByaW1pdGl2ZSJdLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49ci5kcmF3W2VdO24mJmEuc2V0KGkuZHJhdywiLiIrZSwiIituLmFwcGVuZCh0LGEpKX0pLE9iamVjdC5rZXlzKHIudW5pZm9ybXMpLmZvckVhY2goZnVuY3Rpb24obil7YS5zZXQoaS51bmlmb3JtcywiWyIrZS5pZChuKSsiXSIsci51bmlmb3Jtc1tuXS5hcHBlbmQodCxhKSl9KSxPYmplY3Qua2V5cyhyLmF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49ci5hdHRyaWJ1dGVzW2VdLmFwcGVuZCh0LGEpLGk9dC5zY29wZUF0dHJpYihlKTtPYmplY3Qua2V5cyhuZXcgWikuZm9yRWFjaChmdW5jdGlvbih0KXthLnNldChpLCIuIit0LG5bdF0pfSl9KSxuKCJ2ZXJ0IiksbigiZnJhZyIpLDA8T2JqZWN0LmtleXMoci5zdGF0ZSkubGVuZ3RoJiYoYShvLCIuZGlydHk9dHJ1ZTsiKSxhLmV4aXQobywiLmRpcnR5PXRydWU7IikpLGEoImExKCIsdC5zaGFyZWQuY29udGV4dCwiLGEwLCIsdC5iYXRjaElkLCIpOyIpfWZ1bmN0aW9uIFgodCxlLHIpe3ZhciBuPWUuc3RhdGljW3JdO2lmKG4mJmZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmIXYodCkpe2Zvcih2YXIgZT1PYmplY3Qua2V5cyh0KSxyPTA7cjxlLmxlbmd0aDsrK3IpaWYoVS5pc0R5bmFtaWModFtlW3JdXSkpcmV0dXJuITA7cmV0dXJuITF9fShuKSl7dmFyIGE9dC5nbG9iYWwsaT1PYmplY3Qua2V5cyhuKSxvPSExLHM9ITEsbD0hMSxjPXQuZ2xvYmFsLmRlZigie30iKTtpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHI9bltlXTtpZihVLmlzRHluYW1pYyhyKSkiZnVuY3Rpb24iPT10eXBlb2YgciYmKHI9bltlXT1VLnVuYm94KHIpKSxlPUYocixudWxsKSxvPW98fGUudGhpc0RlcCxsPWx8fGUucHJvcERlcCxzPXN8fGUuY29udGV4dERlcDtlbHNle3N3aXRjaChhKGMsIi4iLGUsIj0iKSx0eXBlb2Ygcil7Y2FzZSJudW1iZXIiOmEocik7YnJlYWs7Y2FzZSJzdHJpbmciOmEoJyInLHIsJyInKTticmVhaztjYXNlIm9iamVjdCI6QXJyYXkuaXNBcnJheShyKSYmYSgiWyIsci5qb2luKCksIl0iKTticmVhaztkZWZhdWx0OmEodC5saW5rKHIpKX1hKCI7Iil9fSksZS5keW5hbWljW3JdPW5ldyBVLkR5bmFtaWNWYXJpYWJsZSg0LHt0aGlzRGVwOm8sY29udGV4dERlcDpzLHByb3BEZXA6bCxyZWY6YyxhcHBlbmQ6ZnVuY3Rpb24odCxlKXtpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGE9bltyXTtVLmlzRHluYW1pYyhhKSYmKGE9dC5pbnZva2UoZSxhKSxlKGMsIi4iLHIsIj0iLGEsIjsiKSl9KX19KSxkZWxldGUgZS5zdGF0aWNbcl19fXZhciBaPXUuUmVjb3JkLEo9e2FkZDozMjc3NCxzdWJ0cmFjdDozMjc3OCwicmV2ZXJzZSBzdWJ0cmFjdCI6MzI3Nzl9O3IuZXh0X2JsZW5kX21pbm1heCYmKEoubWluPTMyNzc1LEoubWF4PTMyNzc2KTt2YXIgUT1yLmFuZ2xlX2luc3RhbmNlZF9hcnJheXMsJD1yLndlYmdsX2RyYXdfYnVmZmVycyx0dD17ZGlydHk6ITAscHJvZmlsZTpnLnByb2ZpbGV9LGV0PXt9LG50PVtdLGF0PXt9LGl0PXt9O3koImRpdGhlciIsMzAyNCkseSgiYmxlbmQuZW5hYmxlIiwzMDQyKSx4KCJibGVuZC5jb2xvciIsImJsZW5kQ29sb3IiLFswLDAsMCwwXSkseCgiYmxlbmQuZXF1YXRpb24iLCJibGVuZEVxdWF0aW9uU2VwYXJhdGUiLFszMjc3NCwzMjc3NF0pLHgoImJsZW5kLmZ1bmMiLCJibGVuZEZ1bmNTZXBhcmF0ZSIsWzEsMCwxLDBdKSx5KCJkZXB0aC5lbmFibGUiLDI5MjksITApLHgoImRlcHRoLmZ1bmMiLCJkZXB0aEZ1bmMiLDUxMykseCgiZGVwdGgucmFuZ2UiLCJkZXB0aFJhbmdlIixbMCwxXSkseCgiZGVwdGgubWFzayIsImRlcHRoTWFzayIsITApLHgoImNvbG9yTWFzayIsImNvbG9yTWFzayIsWyEwLCEwLCEwLCEwXSkseSgiY3VsbC5lbmFibGUiLDI4ODQpLHgoImN1bGwuZmFjZSIsImN1bGxGYWNlIiwxMDI5KSx4KCJmcm9udEZhY2UiLCJmcm9udEZhY2UiLDIzMDUpLHgoImxpbmVXaWR0aCIsImxpbmVXaWR0aCIsMSkseSgicG9seWdvbk9mZnNldC5lbmFibGUiLDMyODIzKSx4KCJwb2x5Z29uT2Zmc2V0Lm9mZnNldCIsInBvbHlnb25PZmZzZXQiLFswLDBdKSx5KCJzYW1wbGUuYWxwaGEiLDMyOTI2KSx5KCJzYW1wbGUuZW5hYmxlIiwzMjkyOCkseCgic2FtcGxlLmNvdmVyYWdlIiwic2FtcGxlQ292ZXJhZ2UiLFsxLCExXSkseSgic3RlbmNpbC5lbmFibGUiLDI5NjApLHgoInN0ZW5jaWwubWFzayIsInN0ZW5jaWxNYXNrIiwtMSkseCgic3RlbmNpbC5mdW5jIiwic3RlbmNpbEZ1bmMiLFs1MTksMCwtMV0pLHgoInN0ZW5jaWwub3BGcm9udCIsInN0ZW5jaWxPcFNlcGFyYXRlIixbMTAyOCw3NjgwLDc2ODAsNzY4MF0pLHgoInN0ZW5jaWwub3BCYWNrIiwic3RlbmNpbE9wU2VwYXJhdGUiLFsxMDI5LDc2ODAsNzY4MCw3NjgwXSkseSgic2Npc3Nvci5lbmFibGUiLDMwODkpLHgoInNjaXNzb3IuYm94Iiwic2Npc3NvciIsWzAsMCx0LmRyYXdpbmdCdWZmZXJXaWR0aCx0LmRyYXdpbmdCdWZmZXJIZWlnaHRdKSx4KCJ2aWV3cG9ydCIsInZpZXdwb3J0IixbMCwwLHQuZHJhd2luZ0J1ZmZlcldpZHRoLHQuZHJhd2luZ0J1ZmZlckhlaWdodF0pO3ZhciBvdD17Z2w6dCxjb250ZXh0OnAsc3RyaW5nczplLG5leHQ6ZXQsY3VycmVudDp0dCxkcmF3OmYsZWxlbWVudHM6byxidWZmZXI6YSxzaGFkZXI6aCxhdHRyaWJ1dGVzOnUuc3RhdGUsdW5pZm9ybXM6YyxmcmFtZWJ1ZmZlcjpsLGV4dGVuc2lvbnM6cix0aW1lcjpkLGlzQnVmZmVyQXJnczpPfSxzdD17cHJpbVR5cGVzOnJ0LGNvbXBhcmVGdW5jczprdCxibGVuZEZ1bmNzOnd0LGJsZW5kRXF1YXRpb25zOkosc3RlbmNpbE9wczpUdCxnbFR5cGVzOkssb3JpZW50YXRpb25UeXBlOk10fTskJiYoc3QuYmFja0J1ZmZlcj1bMTAyOV0sc3QuZHJhd0J1ZmZlcj1pKG4ubWF4RHJhd2J1ZmZlcnMsZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10P1swXTppKHQsZnVuY3Rpb24odCl7cmV0dXJuIDM2MDY0K3R9KX0pKTt2YXIgbHQ9MDtyZXR1cm57bmV4dDpldCxjdXJyZW50OnR0LHByb2NzOmZ1bmN0aW9uKCl7dmFyIHQ9YigpLGU9dC5wcm9jKCJwb2xsIikscj10LnByb2MoInJlZnJlc2giKSxhPXQuYmxvY2soKTtlKGEpLHIoYSk7dmFyIG8scz10LnNoYXJlZCxsPXMuZ2wsYz1zLm5leHQsdT1zLmN1cnJlbnQ7YSh1LCIuZGlydHk9ZmFsc2U7IiksUyh0LGUpLFModCxyLG51bGwsITApLFEmJihvPXQubGluayhRKSk7Zm9yKHZhciBoPTA7aDxuLm1heEF0dHJpYnV0ZXM7KytoKXt2YXIgZj1yLmRlZihzLmF0dHJpYnV0ZXMsIlsiLGgsIl0iKSxwPXQuY29uZChmLCIuYnVmZmVyIik7cC50aGVuKGwsIi5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgiLGgsIik7IixsLCIuYmluZEJ1ZmZlcigiLDM0OTYyLCIsIixmLCIuYnVmZmVyLmJ1ZmZlcik7IixsLCIudmVydGV4QXR0cmliUG9pbnRlcigiLGgsIiwiLGYsIi5zaXplLCIsZiwiLnR5cGUsIixmLCIubm9ybWFsaXplZCwiLGYsIi5zdHJpZGUsIixmLCIub2Zmc2V0KTsiKS5lbHNlKGwsIi5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoIixoLCIpOyIsbCwiLnZlcnRleEF0dHJpYjRmKCIsaCwiLCIsZiwiLngsIixmLCIueSwiLGYsIi56LCIsZiwiLncpOyIsZiwiLmJ1ZmZlcj1udWxsOyIpLHIocCksUSYmcihvLCIudmVydGV4QXR0cmliRGl2aXNvckFOR0xFKCIsaCwiLCIsZiwiLmRpdmlzb3IpOyIpfXJldHVybiBPYmplY3Qua2V5cyhhdCkuZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgaT1hdFtuXSxvPWEuZGVmKGMsIi4iLG4pLHM9dC5ibG9jaygpO3MoImlmKCIsbywiKXsiLGwsIi5lbmFibGUoIixpLCIpfWVsc2V7IixsLCIuZGlzYWJsZSgiLGksIil9Iix1LCIuIixuLCI9IixvLCI7IikscihzKSxlKCJpZigiLG8sIiE9PSIsdSwiLiIsbiwiKXsiLHMsIn0iKX0pLE9iamVjdC5rZXlzKGl0KS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciBvLHMsaD1pdFtuXSxmPXR0W25dLHA9dC5ibG9jaygpO3AobCwiLiIsaCwiKCIpLHYoZik/KGg9Zi5sZW5ndGgsbz10Lmdsb2JhbC5kZWYoYywiLiIsbikscz10Lmdsb2JhbC5kZWYodSwiLiIsbikscChpKGgsZnVuY3Rpb24odCl7cmV0dXJuIG8rIlsiK3QrIl0ifSksIik7IixpKGgsZnVuY3Rpb24odCl7cmV0dXJuIHMrIlsiK3QrIl09IitvKyJbIit0KyJdOyJ9KS5qb2luKCIiKSksZSgiaWYoIixpKGgsZnVuY3Rpb24odCl7cmV0dXJuIG8rIlsiK3QrIl0hPT0iK3MrIlsiK3QrIl0ifSkuam9pbigifHwiKSwiKXsiLHAsIn0iKSk6KG89YS5kZWYoYywiLiIsbikscz1hLmRlZih1LCIuIixuKSxwKG8sIik7Iix1LCIuIixuLCI9IixvLCI7IiksZSgiaWYoIixvLCIhPT0iLHMsIil7IixwLCJ9IikpLHIocCl9KSx0LmNvbXBpbGUoKX0oKSxjb21waWxlOmZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9YigpO3JldHVybiBpLnN0YXRzPWkubGluayhhKSxPYmplY3Qua2V5cyhlLnN0YXRpYykuZm9yRWFjaChmdW5jdGlvbih0KXtYKGksZSx0KX0pLF90LmZvckVhY2goZnVuY3Rpb24oZSl7WChpLHQsZSl9KSxyPU0odCxlLHIsbiksZnVuY3Rpb24odCxlKXt2YXIgcj10LnByb2MoImRyYXciLDEpO0ModCxyKSxBKHQscixlLmNvbnRleHQpLFModCxyLGUuZnJhbWVidWZmZXIpLEUodCxyLGUpLEwodCxyLGUuc3RhdGUpLEIodCxyLGUsITEsITApO3ZhciBuPWUuc2hhZGVyLnByb2dWYXIuYXBwZW5kKHQscik7aWYocih0LnNoYXJlZC5nbCwiLnVzZVByb2dyYW0oIixuLCIucHJvZ3JhbSk7IiksZS5zaGFkZXIucHJvZ3JhbSlIKHQscixlLGUuc2hhZGVyLnByb2dyYW0pO2Vsc2V7dmFyIGE9dC5nbG9iYWwuZGVmKCJ7fSIpLGk9ci5kZWYobiwiLmlkIiksbz1yLmRlZihhLCJbIixpLCJdIik7cih0LmNvbmQobykudGhlbihvLCIuY2FsbCh0aGlzLGEwKTsiKS5lbHNlKG8sIj0iLGEsIlsiLGksIl09Iix0LmxpbmsoZnVuY3Rpb24ocil7cmV0dXJuIHEoSCx0LGUsciwxKX0pLCIoIixuLCIpOyIsbywiLmNhbGwodGhpcyxhMCk7IikpfTA8T2JqZWN0LmtleXMoZS5zdGF0ZSkubGVuZ3RoJiZyKHQuc2hhcmVkLmN1cnJlbnQsIi5kaXJ0eT10cnVlOyIpfShpLHIpLFcoaSxyKSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQuY29udGV4dERlcCYmYXx8dC5wcm9wRGVwfXZhciBuPXQucHJvYygiYmF0Y2giLDIpO3QuYmF0Y2hJZD0iMCIsQyh0LG4pO3ZhciBhPSExLGk9ITA7T2JqZWN0LmtleXMoZS5jb250ZXh0KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2E9YXx8ZS5jb250ZXh0W3RdLnByb3BEZXB9KSxhfHwoQSh0LG4sZS5jb250ZXh0KSxpPSExKTt2YXIgbz0hMTtpZigocz1lLmZyYW1lYnVmZmVyKT8ocy5wcm9wRGVwP2E9bz0hMDpzLmNvbnRleHREZXAmJmEmJihvPSEwKSxvfHxTKHQsbixzKSk6Uyh0LG4sbnVsbCksZS5zdGF0ZS52aWV3cG9ydCYmZS5zdGF0ZS52aWV3cG9ydC5wcm9wRGVwJiYoYT0hMCksRSh0LG4sZSksTCh0LG4sZS5zdGF0ZSxmdW5jdGlvbih0KXtyZXR1cm4hcih0KX0pLGUucHJvZmlsZSYmcihlLnByb2ZpbGUpfHxCKHQsbixlLCExLCJhMSIpLGUuY29udGV4dERlcD1hLGUubmVlZHNDb250ZXh0PWksZS5uZWVkc0ZyYW1lYnVmZmVyPW8sKGk9ZS5zaGFkZXIucHJvZ1ZhcikuY29udGV4dERlcCYmYXx8aS5wcm9wRGVwKVkodCxuLGUsbnVsbCk7ZWxzZSBpZihpPWkuYXBwZW5kKHQsbiksbih0LnNoYXJlZC5nbCwiLnVzZVByb2dyYW0oIixpLCIucHJvZ3JhbSk7IiksZS5zaGFkZXIucHJvZ3JhbSlZKHQsbixlLGUuc2hhZGVyLnByb2dyYW0pO2Vsc2V7dmFyIHM9dC5nbG9iYWwuZGVmKCJ7fSIpLGw9KG89bi5kZWYoaSwiLmlkIiksbi5kZWYocywiWyIsbywiXSIpKTtuKHQuY29uZChsKS50aGVuKGwsIi5jYWxsKHRoaXMsYTAsYTEpOyIpLmVsc2UobCwiPSIscywiWyIsbywiXT0iLHQubGluayhmdW5jdGlvbihyKXtyZXR1cm4gcShZLHQsZSxyLDIpfSksIigiLGksIik7IixsLCIuY2FsbCh0aGlzLGEwLGExKTsiKSl9MDxPYmplY3Qua2V5cyhlLnN0YXRlKS5sZW5ndGgmJm4odC5zaGFyZWQuY3VycmVudCwiLmRpcnR5PXRydWU7Iil9KGksciksaS5jb21waWxlKCl9fX1mdW5jdGlvbiBOKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpaWYodFtyXT09PWUpcmV0dXJuIHI7cmV0dXJuLTF9dmFyIGo9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9T2JqZWN0LmtleXMoZSksbj0wO248ci5sZW5ndGg7KytuKXRbcltuXV09ZVtyW25dXTtyZXR1cm4gdH0sVj0wLFU9e0R5bmFtaWNWYXJpYWJsZTp0LGRlZmluZTpmdW5jdGlvbihyLG4pe3JldHVybiBuZXcgdChyLGUobisiIikpfSxpc0R5bmFtaWM6ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJiFlLl9yZWdsVHlwZXx8ZSBpbnN0YW5jZW9mIHR9LHVuYm94OmZ1bmN0aW9uKGUscil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/bmV3IHQoMCxlKTplfSxhY2Nlc3NvcjplfSxxPXtuZXh0OiJmdW5jdGlvbiI9PXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU/ZnVuY3Rpb24odCl7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZSh0KX06ZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQodCwxNil9LGNhbmNlbDoiZnVuY3Rpb24iPT10eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWU/ZnVuY3Rpb24odCl7cmV0dXJuIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHQpfTpjbGVhclRpbWVvdXR9LEg9InVuZGVmaW5lZCIhPXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sRz1zKCk7Ry56ZXJvPXMoKTt2YXIgWT1mdW5jdGlvbih0LGUpe3ZhciByPTE7ZS5leHRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMmJihyPXQuZ2V0UGFyYW1ldGVyKDM0MDQ3KSk7dmFyIG49MSxhPTE7ZS53ZWJnbF9kcmF3X2J1ZmZlcnMmJihuPXQuZ2V0UGFyYW1ldGVyKDM0ODUyKSxhPXQuZ2V0UGFyYW1ldGVyKDM2MDYzKSk7dmFyIGk9ISFlLm9lc190ZXh0dXJlX2Zsb2F0O2lmKGkpe2k9dC5jcmVhdGVUZXh0dXJlKCksdC5iaW5kVGV4dHVyZSgzNTUzLGkpLHQudGV4SW1hZ2UyRCgzNTUzLDAsNjQwOCwxLDEsMCw2NDA4LDUxMjYsbnVsbCk7dmFyIG89dC5jcmVhdGVGcmFtZWJ1ZmZlcigpO2lmKHQuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG8pLHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwNjQsMzU1MyxpLDApLHQuYmluZFRleHR1cmUoMzU1MyxudWxsKSwzNjA1MyE9PXQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCkpaT0hMTtlbHNle3Qudmlld3BvcnQoMCwwLDEsMSksdC5jbGVhckNvbG9yKDEsMCwwLDEpLHQuY2xlYXIoMTYzODQpO3ZhciBzPUcuYWxsb2NUeXBlKDUxMjYsNCk7dC5yZWFkUGl4ZWxzKDAsMCwxLDEsNjQwOCw1MTI2LHMpLHQuZ2V0RXJyb3IoKT9pPSExOih0LmRlbGV0ZUZyYW1lYnVmZmVyKG8pLHQuZGVsZXRlVGV4dHVyZShpKSxpPTE9PT1zWzBdKSxHLmZyZWVUeXBlKHMpfX1yZXR1cm4gcz0hMCwidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmKC9NU0lFLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwvVHJpZGVudFwvLy50ZXN0KG5hdmlnYXRvci5hcHBWZXJzaW9uKXx8L0VkZ2UvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpfHwocz10LmNyZWF0ZVRleHR1cmUoKSxvPUcuYWxsb2NUeXBlKDUxMjEsMzYpLHQuYWN0aXZlVGV4dHVyZSgzMzk4NCksdC5iaW5kVGV4dHVyZSgzNDA2NyxzKSx0LnRleEltYWdlMkQoMzQwNjksMCw2NDA4LDMsMywwLDY0MDgsNTEyMSxvKSxHLmZyZWVUeXBlKG8pLHQuYmluZFRleHR1cmUoMzQwNjcsbnVsbCksdC5kZWxldGVUZXh0dXJlKHMpLHM9IXQuZ2V0RXJyb3IoKSkse2NvbG9yQml0czpbdC5nZXRQYXJhbWV0ZXIoMzQxMCksdC5nZXRQYXJhbWV0ZXIoMzQxMSksdC5nZXRQYXJhbWV0ZXIoMzQxMiksdC5nZXRQYXJhbWV0ZXIoMzQxMyldLGRlcHRoQml0czp0LmdldFBhcmFtZXRlcigzNDE0KSxzdGVuY2lsQml0czp0LmdldFBhcmFtZXRlcigzNDE1KSxzdWJwaXhlbEJpdHM6dC5nZXRQYXJhbWV0ZXIoMzQwOCksZXh0ZW5zaW9uczpPYmplY3Qua2V5cyhlKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuISFlW3RdfSksbWF4QW5pc290cm9waWM6cixtYXhEcmF3YnVmZmVyczpuLG1heENvbG9yQXR0YWNobWVudHM6YSxwb2ludFNpemVEaW1zOnQuZ2V0UGFyYW1ldGVyKDMzOTAxKSxsaW5lV2lkdGhEaW1zOnQuZ2V0UGFyYW1ldGVyKDMzOTAyKSxtYXhWaWV3cG9ydERpbXM6dC5nZXRQYXJhbWV0ZXIoMzM4NiksbWF4Q29tYmluZWRUZXh0dXJlVW5pdHM6dC5nZXRQYXJhbWV0ZXIoMzU2NjEpLG1heEN1YmVNYXBTaXplOnQuZ2V0UGFyYW1ldGVyKDM0MDc2KSxtYXhSZW5kZXJidWZmZXJTaXplOnQuZ2V0UGFyYW1ldGVyKDM0MDI0KSxtYXhUZXh0dXJlVW5pdHM6dC5nZXRQYXJhbWV0ZXIoMzQ5MzApLG1heFRleHR1cmVTaXplOnQuZ2V0UGFyYW1ldGVyKDMzNzkpLG1heEF0dHJpYnV0ZXM6dC5nZXRQYXJhbWV0ZXIoMzQ5MjEpLG1heFZlcnRleFVuaWZvcm1zOnQuZ2V0UGFyYW1ldGVyKDM2MzQ3KSxtYXhWZXJ0ZXhUZXh0dXJlVW5pdHM6dC5nZXRQYXJhbWV0ZXIoMzU2NjApLG1heFZhcnlpbmdWZWN0b3JzOnQuZ2V0UGFyYW1ldGVyKDM2MzQ4KSxtYXhGcmFnbWVudFVuaWZvcm1zOnQuZ2V0UGFyYW1ldGVyKDM2MzQ5KSxnbHNsOnQuZ2V0UGFyYW1ldGVyKDM1NzI0KSxyZW5kZXJlcjp0LmdldFBhcmFtZXRlcig3OTM3KSx2ZW5kb3I6dC5nZXRQYXJhbWV0ZXIoNzkzNiksdmVyc2lvbjp0LmdldFBhcmFtZXRlcig3OTM4KSxyZWFkRmxvYXQ6aSxucG90VGV4dHVyZUN1YmU6c319LFc9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBVaW50OEFycmF5fHx0IGluc3RhbmNlb2YgVWludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheXx8dCBpbnN0YW5jZW9mIEludDhBcnJheXx8dCBpbnN0YW5jZW9mIEludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQzMkFycmF5fHx0IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5fHx0IGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5fHx0IGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl9LFg9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pfSxaPXtzaGFwZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9W107dC5sZW5ndGg7dD10WzBdKWUucHVzaCh0Lmxlbmd0aCk7cmV0dXJuIGV9LGZsYXR0ZW46ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9MTtpZihlLmxlbmd0aClmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSlhKj1lW2ldO2Vsc2UgYT0wO3N3aXRjaChyPW58fEcuYWxsb2NUeXBlKHIsYSksZS5sZW5ndGgpe2Nhc2UgMDpicmVhaztjYXNlIDE6Zm9yKG49ZVswXSxlPTA7ZTxuOysrZSlyW2VdPXRbZV07YnJlYWs7Y2FzZSAyOmZvcihuPWVbMF0sZT1lWzFdLGk9YT0wO2k8bjsrK2kpZm9yKHZhciBvPXRbaV0scz0wO3M8ZTsrK3MpclthKytdPW9bc107YnJlYWs7Y2FzZSAzOmModCxlWzBdLGVbMV0sZVsyXSxyLDApO2JyZWFrO2RlZmF1bHQ6IWZ1bmN0aW9uIHQoZSxyLG4sYSxpKXtmb3IodmFyIG89MSxzPW4rMTtzPHIubGVuZ3RoOysrcylvKj1yW3NdO3ZhciBsPXJbbl07aWYoND09ci5sZW5ndGgtbil7dmFyIHU9cltuKzFdLGg9cltuKzJdO2ZvcihyPXJbbiszXSxzPTA7czxsOysrcyljKGVbc10sdSxoLHIsYSxpKSxpKz1vfWVsc2UgZm9yKHM9MDtzPGw7KytzKXQoZVtzXSxyLG4rMSxhLGkpLGkrPW99KHQsZSwwLHIsMCl9cmV0dXJuIHJ9fSxKPXsiW29iamVjdCBJbnQ4QXJyYXldIjo1MTIwLCJbb2JqZWN0IEludDE2QXJyYXldIjo1MTIyLCJbb2JqZWN0IEludDMyQXJyYXldIjo1MTI0LCJbb2JqZWN0IFVpbnQ4QXJyYXldIjo1MTIxLCJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSI6NTEyMSwiW29iamVjdCBVaW50MTZBcnJheV0iOjUxMjMsIltvYmplY3QgVWludDMyQXJyYXldIjo1MTI1LCJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOjUxMjYsIltvYmplY3QgRmxvYXQ2NEFycmF5XSI6NTEyMSwiW29iamVjdCBBcnJheUJ1ZmZlcl0iOjUxMjF9LEs9e2ludDg6NTEyMCxpbnQxNjo1MTIyLGludDMyOjUxMjQsdWludDg6NTEyMSx1aW50MTY6NTEyMyx1aW50MzI6NTEyNSxmbG9hdDo1MTI2LGZsb2F0MzI6NTEyNn0sUT17ZHluYW1pYzozNTA0OCxzdHJlYW06MzUwNDAsc3RhdGljOjM1MDQ0fSwkPVouZmxhdHRlbix0dD1aLnNoYXBlLGV0PVtdO2V0WzUxMjBdPTEsZXRbNTEyMl09MixldFs1MTI0XT00LGV0WzUxMjFdPTEsZXRbNTEyM109MixldFs1MTI1XT00LGV0WzUxMjZdPTQ7dmFyIHJ0PXtwb2ludHM6MCxwb2ludDowLGxpbmVzOjEsbGluZToxLHRyaWFuZ2xlczo0LHRyaWFuZ2xlOjQsImxpbmUgbG9vcCI6MiwibGluZSBzdHJpcCI6MywidHJpYW5nbGUgc3RyaXAiOjUsInRyaWFuZ2xlIGZhbiI6Nn0sbnQ9bmV3IEZsb2F0MzJBcnJheSgxKSxhdD1uZXcgVWludDMyQXJyYXkobnQuYnVmZmVyKSxpdD1bOTk4NCw5OTg2LDk5ODUsOTk4N10sb3Q9WzAsNjQwOSw2NDEwLDY0MDcsNjQwOF0sc3Q9e307c3RbNjQwOV09c3RbNjQwNl09c3RbNjQwMl09MSxzdFszNDA0MV09c3RbNjQxMF09MixzdFs2NDA3XT1zdFszNTkwNF09MyxzdFs2NDA4XT1zdFszNTkwNl09NDt2YXIgbHQ9bSgiSFRNTENhbnZhc0VsZW1lbnQiKSxjdD1tKCJDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQiKSx1dD1tKCJJbWFnZUJpdG1hcCIpLGh0PW0oIkhUTUxJbWFnZUVsZW1lbnQiKSxmdD1tKCJIVE1MVmlkZW9FbGVtZW50IikscHQ9T2JqZWN0LmtleXMoSikuY29uY2F0KFtsdCxjdCx1dCxodCxmdF0pLGR0PVtdO2R0WzUxMjFdPTEsZHRbNTEyNl09NCxkdFszNjE5M109MixkdFs1MTIzXT0yLGR0WzUxMjVdPTQ7dmFyIGd0PVtdO2d0WzMyODU0XT0yLGd0WzMyODU1XT0yLGd0WzM2MTk0XT0yLGd0WzM0MDQxXT00LGd0WzMzNzc2XT0uNSxndFszMzc3N109LjUsZ3RbMzM3NzhdPTEsZ3RbMzM3NzldPTEsZ3RbMzU5ODZdPS41LGd0WzM1OTg3XT0xLGd0WzM0Nzk4XT0xLGd0WzM1ODQwXT0uNSxndFszNTg0MV09LjI1LGd0WzM1ODQyXT0uNSxndFszNTg0M109LjI1LGd0WzM2MTk2XT0uNTt2YXIgdnQ9W107dnRbMzI4NTRdPTIsdnRbMzI4NTVdPTIsdnRbMzYxOTRdPTIsdnRbMzMxODldPTIsdnRbMzYxNjhdPTEsdnRbMzQwNDFdPTQsdnRbMzU5MDddPTQsdnRbMzQ4MzZdPTE2LHZ0WzM0ODQyXT04LHZ0WzM0ODQzXT02O3ZhciBtdD1mdW5jdGlvbih0LGUscixuLGEpe2Z1bmN0aW9uIGkodCl7dGhpcy5pZD1jKyssdGhpcy5yZWZDb3VudD0xLHRoaXMucmVuZGVyYnVmZmVyPXQsdGhpcy5mb3JtYXQ9MzI4NTQsdGhpcy5oZWlnaHQ9dGhpcy53aWR0aD0wLGEucHJvZmlsZSYmKHRoaXMuc3RhdHM9e3NpemU6MH0pfWZ1bmN0aW9uIG8oZSl7dmFyIHI9ZS5yZW5kZXJidWZmZXI7dC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpLHQuZGVsZXRlUmVuZGVyYnVmZmVyKHIpLGUucmVuZGVyYnVmZmVyPW51bGwsZS5yZWZDb3VudD0wLGRlbGV0ZSB1W2UuaWRdLG4ucmVuZGVyYnVmZmVyQ291bnQtLX12YXIgcz17cmdiYTQ6MzI4NTQscmdiNTY1OjM2MTk0LCJyZ2I1IGExIjozMjg1NSxkZXB0aDozMzE4OSxzdGVuY2lsOjM2MTY4LCJkZXB0aCBzdGVuY2lsIjozNDA0MX07ZS5leHRfc3JnYiYmKHMuc3JnYmE9MzU5MDcpLGUuZXh0X2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0JiYocy5yZ2JhMTZmPTM0ODQyLHMucmdiMTZmPTM0ODQzKSxlLndlYmdsX2NvbG9yX2J1ZmZlcl9mbG9hdCYmKHMucmdiYTMyZj0zNDgzNik7dmFyIGw9W107T2JqZWN0LmtleXMocykuZm9yRWFjaChmdW5jdGlvbih0KXtsW3NbdF1dPXR9KTt2YXIgYz0wLHU9e307cmV0dXJuIGkucHJvdG90eXBlLmRlY1JlZj1mdW5jdGlvbigpezA+PS0tdGhpcy5yZWZDb3VudCYmbyh0aGlzKX0sYS5wcm9maWxlJiYobi5nZXRUb3RhbFJlbmRlcmJ1ZmZlclNpemU9ZnVuY3Rpb24oKXt2YXIgdD0wO3JldHVybiBPYmplY3Qua2V5cyh1KS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QrPXVbZV0uc3RhdHMuc2l6ZX0pLHR9KSx7Y3JlYXRlOmZ1bmN0aW9uKGUscil7ZnVuY3Rpb24gbyhlLHIpe3ZhciBuPTAsaT0wLHU9MzI4NTQ7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlPygic2hhcGUiaW4gZT8obj0wfChpPWUuc2hhcGUpWzBdLGk9MHxpWzFdKTooInJhZGl1cyJpbiBlJiYobj1pPTB8ZS5yYWRpdXMpLCJ3aWR0aCJpbiBlJiYobj0wfGUud2lkdGgpLCJoZWlnaHQiaW4gZSYmKGk9MHxlLmhlaWdodCkpLCJmb3JtYXQiaW4gZSYmKHU9c1tlLmZvcm1hdF0pKToibnVtYmVyIj09dHlwZW9mIGU/KG49MHxlLGk9Im51bWJlciI9PXR5cGVvZiByPzB8cjpuKTplfHwobj1pPTEpLG4hPT1jLndpZHRofHxpIT09Yy5oZWlnaHR8fHUhPT1jLmZvcm1hdClyZXR1cm4gby53aWR0aD1jLndpZHRoPW4sby5oZWlnaHQ9Yy5oZWlnaHQ9aSxjLmZvcm1hdD11LHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxjLnJlbmRlcmJ1ZmZlciksdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLHUsbixpKSxhLnByb2ZpbGUmJihjLnN0YXRzLnNpemU9dnRbYy5mb3JtYXRdKmMud2lkdGgqYy5oZWlnaHQpLG8uZm9ybWF0PWxbYy5mb3JtYXRdLG99dmFyIGM9bmV3IGkodC5jcmVhdGVSZW5kZXJidWZmZXIoKSk7cmV0dXJuIHVbYy5pZF09YyxuLnJlbmRlcmJ1ZmZlckNvdW50KyssbyhlLHIpLG8ucmVzaXplPWZ1bmN0aW9uKGUscil7dmFyIG49MHxlLGk9MHxyfHxuO3JldHVybiBuPT09Yy53aWR0aCYmaT09PWMuaGVpZ2h0P286KG8ud2lkdGg9Yy53aWR0aD1uLG8uaGVpZ2h0PWMuaGVpZ2h0PWksdC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLGMucmVuZGVyYnVmZmVyKSx0LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoMzYxNjEsYy5mb3JtYXQsbixpKSxhLnByb2ZpbGUmJihjLnN0YXRzLnNpemU9dnRbYy5mb3JtYXRdKmMud2lkdGgqYy5oZWlnaHQpLG8pfSxvLl9yZWdsVHlwZT0icmVuZGVyYnVmZmVyIixvLl9yZW5kZXJidWZmZXI9YyxhLnByb2ZpbGUmJihvLnN0YXRzPWMuc3RhdHMpLG8uZGVzdHJveT1mdW5jdGlvbigpe2MuZGVjUmVmKCl9LG99LGNsZWFyOmZ1bmN0aW9uKCl7WCh1KS5mb3JFYWNoKG8pfSxyZXN0b3JlOmZ1bmN0aW9uKCl7WCh1KS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucmVuZGVyYnVmZmVyPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksdC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLGUucmVuZGVyYnVmZmVyKSx0LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoMzYxNjEsZS5mb3JtYXQsZS53aWR0aCxlLmhlaWdodCl9KSx0LmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCl9fX0seXQ9W107eXRbNjQwOF09NCx5dFs2NDA3XT0zO3ZhciB4dD1bXTt4dFs1MTIxXT0xLHh0WzUxMjZdPTQseHRbMzYxOTNdPTI7dmFyIGJ0PVsieCIsInkiLCJ6IiwidyJdLF90PSJibGVuZC5mdW5jIGJsZW5kLmVxdWF0aW9uIHN0ZW5jaWwuZnVuYyBzdGVuY2lsLm9wRnJvbnQgc3RlbmNpbC5vcEJhY2sgc2FtcGxlLmNvdmVyYWdlIHZpZXdwb3J0IHNjaXNzb3IuYm94IHBvbHlnb25PZmZzZXQub2Zmc2V0Ii5zcGxpdCgiICIpLHd0PXswOjAsMToxLHplcm86MCxvbmU6MSwic3JjIGNvbG9yIjo3NjgsIm9uZSBtaW51cyBzcmMgY29sb3IiOjc2OSwic3JjIGFscGhhIjo3NzAsIm9uZSBtaW51cyBzcmMgYWxwaGEiOjc3MSwiZHN0IGNvbG9yIjo3NzQsIm9uZSBtaW51cyBkc3QgY29sb3IiOjc3NSwiZHN0IGFscGhhIjo3NzIsIm9uZSBtaW51cyBkc3QgYWxwaGEiOjc3MywiY29uc3RhbnQgY29sb3IiOjMyNzY5LCJvbmUgbWludXMgY29uc3RhbnQgY29sb3IiOjMyNzcwLCJjb25zdGFudCBhbHBoYSI6MzI3NzEsIm9uZSBtaW51cyBjb25zdGFudCBhbHBoYSI6MzI3NzIsInNyYyBhbHBoYSBzYXR1cmF0ZSI6Nzc2fSxrdD17bmV2ZXI6NTEyLGxlc3M6NTEzLCI8Ijo1MTMsZXF1YWw6NTE0LCI9Ijo1MTQsIj09Ijo1MTQsIj09PSI6NTE0LGxlcXVhbDo1MTUsIjw9Ijo1MTUsZ3JlYXRlcjo1MTYsIj4iOjUxNixub3RlcXVhbDo1MTcsIiE9Ijo1MTcsIiE9PSI6NTE3LGdlcXVhbDo1MTgsIj49Ijo1MTgsYWx3YXlzOjUxOX0sVHQ9ezA6MCx6ZXJvOjAsa2VlcDo3NjgwLHJlcGxhY2U6NzY4MSxpbmNyZW1lbnQ6NzY4MixkZWNyZW1lbnQ6NzY4MywiaW5jcmVtZW50IHdyYXAiOjM0MDU1LCJkZWNyZW1lbnQgd3JhcCI6MzQwNTYsaW52ZXJ0OjUzODZ9LE10PXtjdzoyMzA0LGNjdzoyMzA1fSxBdD1uZXcgSSghMSwhMSwhMSxmdW5jdGlvbigpe30pO3JldHVybiBmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7aWYoMD09PVoubGVuZ3RoKXcmJncudXBkYXRlKCksJD1udWxsO2Vsc2V7JD1xLm5leHQoZSksaCgpO2Zvcih2YXIgdD1aLmxlbmd0aC0xOzA8PXQ7LS10KXt2YXIgcj1aW3RdO3ImJnIoUCxudWxsLDApfXYuZmx1c2goKSx3JiZ3LnVwZGF0ZSgpfX1mdW5jdGlvbiByKCl7ISQmJjA8Wi5sZW5ndGgmJigkPXEubmV4dChlKSl9ZnVuY3Rpb24gbigpeyQmJihxLmNhbmNlbChlKSwkPW51bGwpfWZ1bmN0aW9uIGkodCl7dC5wcmV2ZW50RGVmYXVsdCgpLG4oKSxKLmZvckVhY2goZnVuY3Rpb24odCl7dCgpfSl9ZnVuY3Rpb24gbyh0KXt2LmdldEVycm9yKCkseS5yZXN0b3JlKCksRC5yZXN0b3JlKCksei5yZXN0b3JlKCksUi5yZXN0b3JlKCksRi5yZXN0b3JlKCksVi5yZXN0b3JlKCksdyYmdy5yZXN0b3JlKCksRy5wcm9jcy5yZWZyZXNoKCkscigpLEsuZm9yRWFjaChmdW5jdGlvbih0KXt0KCl9KX1mdW5jdGlvbiBzKHQpe2Z1bmN0aW9uIGUodCl7dmFyIGU9e30scj17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgYT10W25dO1UuaXNEeW5hbWljKGEpP3Jbbl09VS51bmJveChhLG4pOmVbbl09YX0pLHtkeW5hbWljOnIsc3RhdGljOmV9fXZhciByPWUodC5jb250ZXh0fHx7fSksbj1lKHQudW5pZm9ybXN8fHt9KSxhPWUodC5hdHRyaWJ1dGVzfHx7fSksaT1lKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCl7aWYodCBpbiByKXt2YXIgZT1yW3RdO2RlbGV0ZSByW3RdLE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24obil7clt0KyIuIituXT1lW25dfSl9fXZhciByPWooe30sdCk7cmV0dXJuIGRlbGV0ZSByLnVuaWZvcm1zLGRlbGV0ZSByLmF0dHJpYnV0ZXMsZGVsZXRlIHIuY29udGV4dCwic3RlbmNpbCJpbiByJiZyLnN0ZW5jaWwub3AmJihyLnN0ZW5jaWwub3BCYWNrPXIuc3RlbmNpbC5vcEZyb250PXIuc3RlbmNpbC5vcCxkZWxldGUgci5zdGVuY2lsLm9wKSxlKCJibGVuZCIpLGUoImRlcHRoIiksZSgiY3VsbCIpLGUoInN0ZW5jaWwiKSxlKCJwb2x5Z29uT2Zmc2V0IiksZSgic2Npc3NvciIpLGUoInNhbXBsZSIpLHJ9KHQpKTt0PXtncHVUaW1lOjAsY3B1VGltZTowLGNvdW50OjB9O3ZhciBvPShyPUcuY29tcGlsZShpLGEsbixyLHQpKS5kcmF3LHM9ci5iYXRjaCxsPXIuc2NvcGUsYz1bXTtyZXR1cm4gaihmdW5jdGlvbih0LGUpe3ZhciByO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXJldHVybiBsLmNhbGwodGhpcyxudWxsLHQsMCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpaWYoIm51bWJlciI9PXR5cGVvZiB0KWZvcihyPTA7cjx0OysrcilsLmNhbGwodGhpcyxudWxsLGUscik7ZWxzZXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbC5jYWxsKHRoaXMsdCxlLDApO2ZvcihyPTA7cjx0Lmxlbmd0aDsrK3IpbC5jYWxsKHRoaXMsdFtyXSxlLHIpfWVsc2UgaWYoIm51bWJlciI9PXR5cGVvZiB0KXtpZigwPHQpcmV0dXJuIHMuY2FsbCh0aGlzLGZ1bmN0aW9uKHQpe2Zvcig7Yy5sZW5ndGg8dDspYy5wdXNoKG51bGwpO3JldHVybiBjfSgwfHQpLDB8dCl9ZWxzZXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gby5jYWxsKHRoaXMsdCk7aWYodC5sZW5ndGgpcmV0dXJuIHMuY2FsbCh0aGlzLHQsdC5sZW5ndGgpfX0se3N0YXRzOnR9KX1mdW5jdGlvbiBsKHQsZSl7dmFyIHI9MDtHLnByb2NzLnBvbGwoKTt2YXIgbj1lLmNvbG9yO24mJih2LmNsZWFyQ29sb3IoK25bMF18fDAsK25bMV18fDAsK25bMl18fDAsK25bM118fDApLHJ8PTE2Mzg0KSwiZGVwdGgiaW4gZSYmKHYuY2xlYXJEZXB0aCgrZS5kZXB0aCkscnw9MjU2KSwic3RlbmNpbCJpbiBlJiYodi5jbGVhclN0ZW5jaWwoMHxlLnN0ZW5jaWwpLHJ8PTEwMjQpLHYuY2xlYXIocil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gWi5wdXNoKHQpLHIoKSx7Y2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGU9TihaLHQpO1pbZV09ZnVuY3Rpb24gdCgpe3ZhciBlPU4oWix0KTtaW2VdPVpbWi5sZW5ndGgtMV0sLS1aLmxlbmd0aCwwPj1aLmxlbmd0aCYmbigpfX19fWZ1bmN0aW9uIHUoKXt2YXIgdD1XLnZpZXdwb3J0LGU9Vy5zY2lzc29yX2JveDt0WzBdPXRbMV09ZVswXT1lWzFdPTAsUC52aWV3cG9ydFdpZHRoPVAuZnJhbWVidWZmZXJXaWR0aD1QLmRyYXdpbmdCdWZmZXJXaWR0aD10WzJdPWVbMl09di5kcmF3aW5nQnVmZmVyV2lkdGgsUC52aWV3cG9ydEhlaWdodD1QLmZyYW1lYnVmZmVySGVpZ2h0PVAuZHJhd2luZ0J1ZmZlckhlaWdodD10WzNdPWVbM109di5kcmF3aW5nQnVmZmVySGVpZ2h0fWZ1bmN0aW9uIGgoKXtQLnRpY2srPTEsUC50aW1lPWcoKSx1KCksRy5wcm9jcy5wb2xsKCl9ZnVuY3Rpb24gZigpe3UoKSxHLnByb2NzLnJlZnJlc2goKSx3JiZ3LnVwZGF0ZSgpfWZ1bmN0aW9uIGcoKXtyZXR1cm4oSCgpLWspLzFlM31pZighKHQ9YSh0KSkpcmV0dXJuIG51bGw7dmFyIHY9dC5nbCxtPXYuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKTt2LmlzQ29udGV4dExvc3QoKTt2YXIgeT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoZSl7dmFyIHI7ZT1lLnRvTG93ZXJDYXNlKCk7dHJ5e3I9bltlXT10LmdldEV4dGVuc2lvbihlKX1jYXRjaCh0KXt9cmV0dXJuISFyfWZvcih2YXIgbj17fSxhPTA7YTxlLmV4dGVuc2lvbnMubGVuZ3RoOysrYSl7dmFyIGk9ZS5leHRlbnNpb25zW2FdO2lmKCFyKGkpKXJldHVybiBlLm9uRGVzdHJveSgpLGUub25Eb25lKCciJytpKyciIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IFdlYkdMIGNvbnRleHQsIHRyeSB1cGdyYWRpbmcgeW91ciBzeXN0ZW0gb3IgYSBkaWZmZXJlbnQgYnJvd3NlcicpLG51bGx9cmV0dXJuIGUub3B0aW9uYWxFeHRlbnNpb25zLmZvckVhY2gocikse2V4dGVuc2lvbnM6bixyZXN0b3JlOmZ1bmN0aW9uKCl7T2JqZWN0LmtleXMobikuZm9yRWFjaChmdW5jdGlvbih0KXtpZihuW3RdJiYhcih0KSl0aHJvdyBFcnJvcigiKHJlZ2wpOiBlcnJvciByZXN0b3JpbmcgZXh0ZW5zaW9uICIrdCl9KX19fSh2LHQpO2lmKCF5KXJldHVybiBudWxsO3ZhciB4PWZ1bmN0aW9uKCl7dmFyIHQ9eyIiOjB9LGU9WyIiXTtyZXR1cm57aWQ6ZnVuY3Rpb24ocil7dmFyIG49dFtyXTtyZXR1cm4gbnx8KG49dFtyXT1lLmxlbmd0aCxlLnB1c2gociksbil9LHN0cjpmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX19fSgpLGI9e2J1ZmZlckNvdW50OjAsZWxlbWVudHNDb3VudDowLGZyYW1lYnVmZmVyQ291bnQ6MCxzaGFkZXJDb3VudDowLHRleHR1cmVDb3VudDowLGN1YmVDb3VudDowLHJlbmRlcmJ1ZmZlckNvdW50OjAsbWF4VGV4dHVyZVVuaXRzOjB9LF89eS5leHRlbnNpb25zLHc9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKCl7dGhpcy5lbmRRdWVyeUluZGV4PXRoaXMuc3RhcnRRdWVyeUluZGV4PS0xLHRoaXMuc3VtPTAsdGhpcy5zdGF0cz1udWxsfWZ1bmN0aW9uIG4odCxlLG4pe3ZhciBhPW8ucG9wKCl8fG5ldyByO2Euc3RhcnRRdWVyeUluZGV4PXQsYS5lbmRRdWVyeUluZGV4PWUsYS5zdW09MCxhLnN0YXRzPW4scy5wdXNoKGEpfWlmKCFlLmV4dF9kaXNqb2ludF90aW1lcl9xdWVyeSlyZXR1cm4gbnVsbDt2YXIgYT1bXSxpPVtdLG89W10scz1bXSxsPVtdLGM9W107cmV0dXJue2JlZ2luUXVlcnk6ZnVuY3Rpb24odCl7dmFyIHI9YS5wb3AoKXx8ZS5leHRfZGlzam9pbnRfdGltZXJfcXVlcnkuY3JlYXRlUXVlcnlFWFQoKTtlLmV4dF9kaXNqb2ludF90aW1lcl9xdWVyeS5iZWdpblF1ZXJ5RVhUKDM1MDA3LHIpLGkucHVzaChyKSxuKGkubGVuZ3RoLTEsaS5sZW5ndGgsdCl9LGVuZFF1ZXJ5OmZ1bmN0aW9uKCl7ZS5leHRfZGlzam9pbnRfdGltZXJfcXVlcnkuZW5kUXVlcnlFWFQoMzUwMDcpfSxwdXNoU2NvcGVTdGF0czpuLHVwZGF0ZTpmdW5jdGlvbigpe3ZhciB0LHI7aWYoMCE9PSh0PWkubGVuZ3RoKSl7Yy5sZW5ndGg9TWF0aC5tYXgoYy5sZW5ndGgsdCsxKSxsLmxlbmd0aD1NYXRoLm1heChsLmxlbmd0aCx0KzEpLGxbMF09MDt2YXIgbj1jWzBdPTA7Zm9yKHI9dD0wO3I8aS5sZW5ndGg7KytyKXt2YXIgdT1pW3JdO2UuZXh0X2Rpc2pvaW50X3RpbWVyX3F1ZXJ5LmdldFF1ZXJ5T2JqZWN0RVhUKHUsMzQ5MTkpPyhuKz1lLmV4dF9kaXNqb2ludF90aW1lcl9xdWVyeS5nZXRRdWVyeU9iamVjdEVYVCh1LDM0OTE4KSxhLnB1c2godSkpOmlbdCsrXT11LGxbcisxXT1uLGNbcisxXT10fWZvcihpLmxlbmd0aD10LHI9dD0wO3I8cy5sZW5ndGg7KytyKXt2YXIgaD0obj1zW3JdKS5zdGFydFF1ZXJ5SW5kZXg7dT1uLmVuZFF1ZXJ5SW5kZXgsbi5zdW0rPWxbdV0tbFtoXSxoPWNbaF0sKHU9Y1t1XSk9PT1oPyhuLnN0YXRzLmdwdVRpbWUrPW4uc3VtLzFlNixvLnB1c2gobikpOihuLnN0YXJ0UXVlcnlJbmRleD1oLG4uZW5kUXVlcnlJbmRleD11LHNbdCsrXT1uKX1zLmxlbmd0aD10fX0sZ2V0TnVtUGVuZGluZ1F1ZXJpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gaS5sZW5ndGh9LGNsZWFyOmZ1bmN0aW9uKCl7YS5wdXNoLmFwcGx5KGEsaSk7Zm9yKHZhciB0PTA7dDxhLmxlbmd0aDt0KyspZS5leHRfZGlzam9pbnRfdGltZXJfcXVlcnkuZGVsZXRlUXVlcnlFWFQoYVt0XSk7aS5sZW5ndGg9MCxhLmxlbmd0aD0wfSxyZXN0b3JlOmZ1bmN0aW9uKCl7aS5sZW5ndGg9MCxhLmxlbmd0aD0wfX19KDAsXyksaz1IKCksTD12LmRyYXdpbmdCdWZmZXJXaWR0aCxDPXYuZHJhd2luZ0J1ZmZlckhlaWdodCxQPXt0aWNrOjAsdGltZTowLHZpZXdwb3J0V2lkdGg6TCx2aWV3cG9ydEhlaWdodDpDLGZyYW1lYnVmZmVyV2lkdGg6TCxmcmFtZWJ1ZmZlckhlaWdodDpDLGRyYXdpbmdCdWZmZXJXaWR0aDpMLGRyYXdpbmdCdWZmZXJIZWlnaHQ6QyxwaXhlbFJhdGlvOnQucGl4ZWxSYXRpb30sTz1ZKHYsXyksej0oTD1mdW5jdGlvbih0LGUscixuKXtmb3IodD1yLm1heEF0dHJpYnV0ZXMsZT1BcnJheSh0KSxyPTA7cjx0OysrcillW3JdPW5ldyBBO3JldHVybntSZWNvcmQ6QSxzY29wZTp7fSxzdGF0ZTplfX0odixfLE8pLHAodixiLHQsTCkpLEk9ZCh2LF8seixiKSxEPVModix4LGIsdCksUj1UKHYsXyxPLGZ1bmN0aW9uKCl7Ry5wcm9jcy5wb2xsKCl9LFAsYix0KSxGPW10KHYsXywwLGIsdCksVj1NKHYsXyxPLFIsRixiKSxHPUIodix4LF8sTyx6LEksMCxWLHt9LEwsRCx7ZWxlbWVudHM6bnVsbCxwcmltaXRpdmU6NCxjb3VudDotMSxvZmZzZXQ6MCxpbnN0YW5jZXM6LTF9LFAsdyx0KSxXPSh4PUUodixWLEcucHJvY3MucG9sbCxQKSxHLm5leHQpLFg9di5jYW52YXMsWj1bXSxKPVtdLEs9W10sUT1bdC5vbkRlc3Ryb3ldLCQ9bnVsbDtYJiYoWC5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IixpLCExKSxYLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIixvLCExKSk7dmFyIHR0PVYuc2V0RkJPPXMoe2ZyYW1lYnVmZmVyOlUuZGVmaW5lLmNhbGwobnVsbCwxLCJmcmFtZWJ1ZmZlciIpfSk7cmV0dXJuIGYoKSxtPWoocyx7Y2xlYXI6ZnVuY3Rpb24odCl7aWYoImZyYW1lYnVmZmVyImluIHQpaWYodC5mcmFtZWJ1ZmZlciYmImZyYW1lYnVmZmVyQ3ViZSI9PT10LmZyYW1lYnVmZmVyX3JlZ2xUeXBlKWZvcih2YXIgZT0wOzY+ZTsrK2UpdHQoaih7ZnJhbWVidWZmZXI6dC5mcmFtZWJ1ZmZlci5mYWNlc1tlXX0sdCksbCk7ZWxzZSB0dCh0LGwpO2Vsc2UgbCgwLHQpfSxwcm9wOlUuZGVmaW5lLmJpbmQobnVsbCwxKSxjb250ZXh0OlUuZGVmaW5lLmJpbmQobnVsbCwyKSx0aGlzOlUuZGVmaW5lLmJpbmQobnVsbCwzKSxkcmF3OnMoe30pLGJ1ZmZlcjpmdW5jdGlvbih0KXtyZXR1cm4gei5jcmVhdGUodCwzNDk2MiwhMSwhMSl9LGVsZW1lbnRzOmZ1bmN0aW9uKHQpe3JldHVybiBJLmNyZWF0ZSh0LCExKX0sdGV4dHVyZTpSLmNyZWF0ZTJELGN1YmU6Ui5jcmVhdGVDdWJlLHJlbmRlcmJ1ZmZlcjpGLmNyZWF0ZSxmcmFtZWJ1ZmZlcjpWLmNyZWF0ZSxmcmFtZWJ1ZmZlckN1YmU6Vi5jcmVhdGVDdWJlLGF0dHJpYnV0ZXM6bSxmcmFtZTpjLG9uOmZ1bmN0aW9uKHQsZSl7dmFyIHI7c3dpdGNoKHQpe2Nhc2UiZnJhbWUiOnJldHVybiBjKGUpO2Nhc2UibG9zdCI6cj1KO2JyZWFrO2Nhc2UicmVzdG9yZSI6cj1LO2JyZWFrO2Nhc2UiZGVzdHJveSI6cj1RfXJldHVybiByLnB1c2goZSkse2NhbmNlbDpmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8ci5sZW5ndGg7Kyt0KWlmKHJbdF09PT1lKXtyW3RdPXJbci5sZW5ndGgtMV0sci5wb3AoKTticmVha319fX0sbGltaXRzOk8saGFzRXh0ZW5zaW9uOmZ1bmN0aW9uKHQpe3JldHVybiAwPD1PLmV4dGVuc2lvbnMuaW5kZXhPZih0LnRvTG93ZXJDYXNlKCkpfSxyZWFkOngsZGVzdHJveTpmdW5jdGlvbigpe1oubGVuZ3RoPTAsbigpLFgmJihYLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLGkpLFgucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLG8pKSxELmNsZWFyKCksVi5jbGVhcigpLEYuY2xlYXIoKSxSLmNsZWFyKCksSS5jbGVhcigpLHouY2xlYXIoKSx3JiZ3LmNsZWFyKCksUS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QoKX0pfSxfZ2w6dixfcmVmcmVzaDpmLHBvbGw6ZnVuY3Rpb24oKXtoKCksdyYmdy51cGRhdGUoKX0sbm93Omcsc3RhdHM6Yn0pLHQub25Eb25lKG51bGwsbSksbX19LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2UuZXhwb3J0cz1hKCk6bi5jcmVhdGVSRUdMPWEoKX0se31dLDUwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPSIiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHBlY3RlZCBhIHN0cmluZyIpO2lmKDE9PT1lKXJldHVybiB0O2lmKDI9PT1lKXJldHVybiB0K3Q7dmFyIHI9dC5sZW5ndGgqZTtpZihuIT09dHx8InVuZGVmaW5lZCI9PXR5cGVvZiBuKW49dCxhPSIiO2Vsc2UgaWYoYS5sZW5ndGg+PXIpcmV0dXJuIGEuc3Vic3RyKDAscik7Zm9yKDtyPmEubGVuZ3RoJiZlPjE7KTEmZSYmKGErPXQpLGU+Pj0xLHQrPXQ7cmV0dXJuIGE9KGErPXQpLnN1YnN0cigwLHIpfX0se31dLDUwMzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXtlLmV4cG9ydHM9dC5wZXJmb3JtYW5jZSYmdC5wZXJmb3JtYW5jZS5ub3c/ZnVuY3Rpb24oKXtyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCl9OkRhdGUubm93fHxmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX19KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHt9XSw1MDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPXRbdC5sZW5ndGgtMV0sbj1lLGE9ZS0yO2E+PTA7LS1hKXt2YXIgaT1yLG89dFthXSxzPShyPWkrbyktaSxsPW8tcztsJiYodFstLW5dPXIscj1sKX1mb3IodmFyIGM9MCxhPW47YTxlOysrYSl7dmFyIGk9dFthXSxvPXIscz0ocj1pK28pLWksbD1vLXM7bCYmKHRbYysrXT1sKX1yZXR1cm4gdFtjKytdPXIsdC5sZW5ndGg9Yyx0fX0se31dLDUwNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0d28tcHJvZHVjdCIpLGE9dCgicm9idXN0LXN1bSIpLGk9dCgicm9idXN0LXNjYWxlIiksbz10KCJyb2J1c3QtY29tcHJlc3MiKSxzPTY7ZnVuY3Rpb24gbCh0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodC5sZW5ndGgtMSksbj0xO248dC5sZW5ndGg7KytuKWZvcih2YXIgYT1yW24tMV09bmV3IEFycmF5KHQubGVuZ3RoLTEpLGk9MCxvPTA7aTx0Lmxlbmd0aDsrK2kpaSE9PWUmJihhW28rK109dFtuXVtpXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gYyh0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7KytyKXtlW3JdPW5ldyBBcnJheSh0KTtmb3IodmFyIG49MDtuPHQ7KytuKWVbcl1bbl09WyJtWyIsciwiXVsiLG4sIl0iXS5qb2luKCIiKX1yZXR1cm4gZX1mdW5jdGlvbiB1KHQpe2lmKDI9PT10Lmxlbmd0aClyZXR1cm5bInN1bShwcm9kKCIsdFswXVswXSwiLCIsdFsxXVsxXSwiKSxwcm9kKC0iLHRbMF1bMV0sIiwiLHRbMV1bMF0sIikpIl0uam9pbigiIik7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goWyJzY2FsZSgiLHUobCh0LHIpKSwiLCIsKG49ciwxJm4/Ii0iOiIiKSx0WzBdW3JdLCIpIl0uam9pbigiIikpO3JldHVybiBmdW5jdGlvbiB0KGUpe2lmKDE9PT1lLmxlbmd0aClyZXR1cm4gZVswXTtpZigyPT09ZS5sZW5ndGgpcmV0dXJuWyJzdW0oIixlWzBdLCIsIixlWzFdLCIpIl0uam9pbigiIik7dmFyIHI9ZS5sZW5ndGg+PjE7cmV0dXJuWyJzdW0oIix0KGUuc2xpY2UoMCxyKSksIiwiLHQoZS5zbGljZShyKSksIikiXS5qb2luKCIiKX0oZSk7dmFyIG59ZnVuY3Rpb24gaCh0KXtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJzdW0iLCJzY2FsZSIsInByb2QiLCJjb21wcmVzcyIsWyJmdW5jdGlvbiByb2J1c3REZXRlcm1pbmFudCIsdCwiKG0pe3JldHVybiBjb21wcmVzcygiLHUoYyh0KSksIil9O3JldHVybiByb2J1c3REZXRlcm1pbmFudCIsdF0uam9pbigiIikpKGEsaSxuLG8pfXZhciBmPVtmdW5jdGlvbigpe3JldHVyblswXX0sZnVuY3Rpb24odCl7cmV0dXJuW3RbMF1bMF1dfV07IWZ1bmN0aW9uKCl7Zm9yKDtmLmxlbmd0aDxzOylmLnB1c2goaChmLmxlbmd0aCkpO2Zvcih2YXIgdD1bXSxyPVsiZnVuY3Rpb24gcm9idXN0RGV0ZXJtaW5hbnQobSl7c3dpdGNoKG0ubGVuZ3RoKXsiXSxuPTA7bjxzOysrbil0LnB1c2goImRldCIrbiksci5wdXNoKCJjYXNlICIsbiwiOnJldHVybiBkZXQiLG4sIihtKTsiKTtyLnB1c2goIn12YXIgZGV0PUNBQ0hFW20ubGVuZ3RoXTtpZighZGV0KWRldD1DQUNIRVttLmxlbmd0aF09Z2VuKG0ubGVuZ3RoKTtyZXR1cm4gZGV0KG0pO31yZXR1cm4gcm9idXN0RGV0ZXJtaW5hbnQiKSx0LnB1c2goIkNBQ0hFIiwiZ2VuIixyLmpvaW4oIiIpKTt2YXIgYT1GdW5jdGlvbi5hcHBseSh2b2lkIDAsdCk7Zm9yKGUuZXhwb3J0cz1hLmFwcGx5KHZvaWQgMCxmLmNvbmNhdChbZixoXSkpLG49MDtuPGYubGVuZ3RoOysrbillLmV4cG9ydHNbbl09ZltuXX0oKX0seyJyb2J1c3QtY29tcHJlc3MiOjUwNCwicm9idXN0LXNjYWxlIjo1MTEsInJvYnVzdC1zdW0iOjUxNCwidHdvLXByb2R1Y3QiOjU0Mn1dLDUwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0d28tcHJvZHVjdCIpLGE9dCgicm9idXN0LXN1bSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uKHRbMF0sZVswXSksaT0xO2k8dC5sZW5ndGg7KytpKXI9YShyLG4odFtpXSxlW2ldKSk7cmV0dXJuIHJ9fSx7InJvYnVzdC1zdW0iOjUxNCwidHdvLXByb2R1Y3QiOjU0Mn1dLDUwNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0d28tcHJvZHVjdCIpLGE9dCgicm9idXN0LXN1bSIpLGk9dCgicm9idXN0LXN1YnRyYWN0Iiksbz10KCJyb2J1c3Qtc2NhbGUiKSxzPTY7ZnVuY3Rpb24gbCh0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodC5sZW5ndGgtMSksbj0xO248dC5sZW5ndGg7KytuKWZvcih2YXIgYT1yW24tMV09bmV3IEFycmF5KHQubGVuZ3RoLTEpLGk9MCxvPTA7aTx0Lmxlbmd0aDsrK2kpaSE9PWUmJihhW28rK109dFtuXVtpXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gYyh0KXtpZigxPT09dC5sZW5ndGgpcmV0dXJuIHRbMF07aWYoMj09PXQubGVuZ3RoKXJldHVyblsic3VtKCIsdFswXSwiLCIsdFsxXSwiKSJdLmpvaW4oIiIpO3ZhciBlPXQubGVuZ3RoPj4xO3JldHVyblsic3VtKCIsYyh0LnNsaWNlKDAsZSkpLCIsIixjKHQuc2xpY2UoZSkpLCIpIl0uam9pbigiIil9ZnVuY3Rpb24gdSh0LGUpe2lmKCJtIj09PXQuY2hhckF0KDApKXtpZigidyI9PT1lLmNoYXJBdCgwKSl7dmFyIHI9dC5zcGxpdCgiWyIpO3JldHVyblsidyIsZS5zdWJzdHIoMSksIm0iLHJbMF0uc3Vic3RyKDEpXS5qb2luKCIiKX1yZXR1cm5bInByb2QoIix0LCIsIixlLCIpIl0uam9pbigiIil9cmV0dXJuIHUoZSx0KX1mdW5jdGlvbiBoKHQpe2lmKDI9PT10Lmxlbmd0aClyZXR1cm5bWyJkaWZmKCIsdSh0WzBdWzBdLHRbMV1bMV0pLCIsIix1KHRbMV1bMF0sdFswXVsxXSksIikiXS5qb2luKCIiKV07Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goWyJzY2FsZSgiLGMoaChsKHQscikpKSwiLCIsKG49ciwhMCZuPyItIjoiIiksdFswXVtyXSwiKSJdLmpvaW4oIiIpKTtyZXR1cm4gZTt2YXIgbn1mdW5jdGlvbiBmKHQsZSl7Zm9yKHZhciByPVtdLG49MDtuPGUtMjsrK24pci5wdXNoKFsicHJvZChtIix0LCJbIixuLCJdLG0iLHQsIlsiLG4sIl0pIl0uam9pbigiIikpO3JldHVybiBjKHIpfWZ1bmN0aW9uIHAodCl7Zm9yKHZhciBlPVtdLHI9W10scz1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7KytyKXtlW3JdPW5ldyBBcnJheSh0KTtmb3IodmFyIG49MDtuPHQ7KytuKWVbcl1bbl09WyJtIixuLCJbIix0LXItMiwiXSJdLmpvaW4oIiIpfXJldHVybiBlfSh0KSx1PTA7dTx0OysrdSlzWzBdW3VdPSIxIixzW3QtMV1bdV09InciK3U7Zm9yKHU9MDt1PHQ7Kyt1KTA9PSgxJnUpP2UucHVzaC5hcHBseShlLGgobChzLHUpKSk6ci5wdXNoLmFwcGx5KHIsaChsKHMsdSkpKTt2YXIgcD1jKGUpLGQ9YyhyKSxnPSJleGFjdEluU3BoZXJlIit0LHY9W107Zm9yKHU9MDt1PHQ7Kyt1KXYucHVzaCgibSIrdSk7dmFyIG09WyJmdW5jdGlvbiAiLGcsIigiLHYuam9pbigpLCIpeyJdO2Zvcih1PTA7dTx0OysrdSl7bS5wdXNoKCJ2YXIgdyIsdSwiPSIsZih1LHQpLCI7Iik7Zm9yKHZhciB5PTA7eTx0OysreSl5IT09dSYmbS5wdXNoKCJ2YXIgdyIsdSwibSIseSwiPXNjYWxlKHciLHUsIixtIix5LCJbMF0pOyIpfXJldHVybiBtLnB1c2goInZhciBwPSIscCwiLG49IixkLCIsZD1kaWZmKHAsbik7cmV0dXJuIGRbZC5sZW5ndGgtMV07fXJldHVybiAiLGcpLG5ldyBGdW5jdGlvbigic3VtIiwiZGlmZiIsInByb2QiLCJzY2FsZSIsbS5qb2luKCIiKSkoYSxpLG4sbyl9dmFyIGQ9W2Z1bmN0aW9uKCl7cmV0dXJuIDB9LGZ1bmN0aW9uKCl7cmV0dXJuIDB9LGZ1bmN0aW9uKCl7cmV0dXJuIDB9XTtmdW5jdGlvbiBnKHQpe3ZhciBlPWRbdC5sZW5ndGhdO3JldHVybiBlfHwoZT1kW3QubGVuZ3RoXT1wKHQubGVuZ3RoKSksZS5hcHBseSh2b2lkIDAsdCl9IWZ1bmN0aW9uKCl7Zm9yKDtkLmxlbmd0aDw9czspZC5wdXNoKHAoZC5sZW5ndGgpKTtmb3IodmFyIHQ9W10scj1bInNsb3ciXSxuPTA7bjw9czsrK24pdC5wdXNoKCJhIituKSxyLnB1c2goIm8iK24pO3ZhciBhPVsiZnVuY3Rpb24gdGVzdEluU3BoZXJlKCIsdC5qb2luKCksIil7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMDpjYXNlIDE6cmV0dXJuIDA7Il07Zm9yKG49MjtuPD1zOysrbilhLnB1c2goImNhc2UgIixuLCI6cmV0dXJuIG8iLG4sIigiLHQuc2xpY2UoMCxuKS5qb2luKCksIik7Iik7YS5wdXNoKCJ9dmFyIHM9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDsrK2kpe3NbaV09YXJndW1lbnRzW2ldfTtyZXR1cm4gc2xvdyhzKTt9cmV0dXJuIHRlc3RJblNwaGVyZSIpLHIucHVzaChhLmpvaW4oIiIpKTt2YXIgaT1GdW5jdGlvbi5hcHBseSh2b2lkIDAscik7Zm9yKGUuZXhwb3J0cz1pLmFwcGx5KHZvaWQgMCxbZ10uY29uY2F0KGQpKSxuPTA7bjw9czsrK24pZS5leHBvcnRzW25dPWRbbl19KCl9LHsicm9idXN0LXNjYWxlIjo1MTEsInJvYnVzdC1zdWJ0cmFjdCI6NTEzLCJyb2J1c3Qtc3VtIjo1MTQsInR3by1wcm9kdWN0Ijo1NDJ9XSw1MDg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicm9idXN0LWRldGVybWluYW50IiksYT02O2Z1bmN0aW9uIGkodCl7Zm9yKHZhciBlPSJyb2J1c3RMaW5lYXJTb2x2ZSIrdCsiZCIscj1bImZ1bmN0aW9uICIsZSwiKEEsYil7cmV0dXJuIFsiXSxhPTA7YTx0OysrYSl7ci5wdXNoKCJkZXQoWyIpO2Zvcih2YXIgaT0wO2k8dDsrK2kpe2k+MCYmci5wdXNoKCIsIiksci5wdXNoKCJbIik7Zm9yKHZhciBvPTA7bzx0OysrbylvPjAmJnIucHVzaCgiLCIpLG89PT1hP3IucHVzaCgiK2JbIixpLCJdIik6ci5wdXNoKCIrQVsiLGksIl1bIixvLCJdIik7ci5wdXNoKCJdIil9ci5wdXNoKCJdKSwiKX1yLnB1c2goImRldChBKV19cmV0dXJuICIsZSk7dmFyIHM9bmV3IEZ1bmN0aW9uKCJkZXQiLHIuam9pbigiIikpO3JldHVybiBzKHQ8Nj9uW3RdOm4pfXZhciBvPVtmdW5jdGlvbigpe3JldHVyblswXX0sZnVuY3Rpb24odCxlKXtyZXR1cm5bW2VbMF1dLFt0WzBdWzBdXV19XTshZnVuY3Rpb24oKXtmb3IoO28ubGVuZ3RoPGE7KW8ucHVzaChpKG8ubGVuZ3RoKSk7Zm9yKHZhciB0PVtdLHI9WyJmdW5jdGlvbiBkaXNwYXRjaExpbmVhclNvbHZlKEEsYil7c3dpdGNoKEEubGVuZ3RoKXsiXSxuPTA7bjxhOysrbil0LnB1c2goInMiK24pLHIucHVzaCgiY2FzZSAiLG4sIjpyZXR1cm4gcyIsbiwiKEEsYik7Iik7ci5wdXNoKCJ9dmFyIHM9Q0FDSEVbQS5sZW5ndGhdO2lmKCFzKXM9Q0FDSEVbQS5sZW5ndGhdPWcoQS5sZW5ndGgpO3JldHVybiBzKEEsYil9cmV0dXJuIGRpc3BhdGNoTGluZWFyU29sdmUiKSx0LnB1c2goIkNBQ0hFIiwiZyIsci5qb2luKCIiKSk7dmFyIHM9RnVuY3Rpb24uYXBwbHkodm9pZCAwLHQpO2ZvcihlLmV4cG9ydHM9cy5hcHBseSh2b2lkIDAsby5jb25jYXQoW28saV0pKSxuPTA7bjxhOysrbillLmV4cG9ydHNbbl09b1tuXX0oKX0seyJyb2J1c3QtZGV0ZXJtaW5hbnQiOjUwNX1dLDUwOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0d28tcHJvZHVjdCIpLGE9dCgicm9idXN0LXN1bSIpLGk9dCgicm9idXN0LXNjYWxlIiksbz10KCJyb2J1c3Qtc3VidHJhY3QiKSxzPTU7ZnVuY3Rpb24gbCh0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodC5sZW5ndGgtMSksbj0xO248dC5sZW5ndGg7KytuKWZvcih2YXIgYT1yW24tMV09bmV3IEFycmF5KHQubGVuZ3RoLTEpLGk9MCxvPTA7aTx0Lmxlbmd0aDsrK2kpaSE9PWUmJihhW28rK109dFtuXVtpXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gYyh0KXtpZigxPT09dC5sZW5ndGgpcmV0dXJuIHRbMF07aWYoMj09PXQubGVuZ3RoKXJldHVyblsic3VtKCIsdFswXSwiLCIsdFsxXSwiKSJdLmpvaW4oIiIpO3ZhciBlPXQubGVuZ3RoPj4xO3JldHVyblsic3VtKCIsYyh0LnNsaWNlKDAsZSkpLCIsIixjKHQuc2xpY2UoZSkpLCIpIl0uam9pbigiIil9ZnVuY3Rpb24gdSh0KXtpZigyPT09dC5sZW5ndGgpcmV0dXJuW1sic3VtKHByb2QoIix0WzBdWzBdLCIsIix0WzFdWzFdLCIpLHByb2QoLSIsdFswXVsxXSwiLCIsdFsxXVswXSwiKSkiXS5qb2luKCIiKV07Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goWyJzY2FsZSgiLGModShsKHQscikpKSwiLCIsKG49ciwxJm4/Ii0iOiIiKSx0WzBdW3JdLCIpIl0uam9pbigiIikpO3JldHVybiBlO3ZhciBufWZ1bmN0aW9uIGgodCl7Zm9yKHZhciBlPVtdLHI9W10scz1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7KytyKXtlW3JdPW5ldyBBcnJheSh0KTtmb3IodmFyIG49MDtuPHQ7KytuKWVbcl1bbl09WyJtIixuLCJbIix0LXItMSwiXSJdLmpvaW4oIiIpfXJldHVybiBlfSh0KSxoPVtdLGY9MDtmPHQ7KytmKTA9PSgxJmYpP2UucHVzaC5hcHBseShlLHUobChzLGYpKSk6ci5wdXNoLmFwcGx5KHIsdShsKHMsZikpKSxoLnB1c2goIm0iK2YpO3ZhciBwPWMoZSksZD1jKHIpLGc9Im9yaWVudGF0aW9uIit0KyJFeGFjdCIsdj1bImZ1bmN0aW9uICIsZywiKCIsaC5qb2luKCksIil7dmFyIHA9IixwLCIsbj0iLGQsIixkPXN1YihwLG4pO3JldHVybiBkW2QubGVuZ3RoLTFdO307cmV0dXJuICIsZ10uam9pbigiIik7cmV0dXJuIG5ldyBGdW5jdGlvbigic3VtIiwicHJvZCIsInNjYWxlIiwic3ViIix2KShhLG4saSxvKX12YXIgZj1oKDMpLHA9aCg0KSxkPVtmdW5jdGlvbigpe3JldHVybiAwfSxmdW5jdGlvbigpe3JldHVybiAwfSxmdW5jdGlvbih0LGUpe3JldHVybiBlWzBdLXRbMF19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhPSh0WzFdLXJbMV0pKihlWzBdLXJbMF0pLGk9KHRbMF0tclswXSkqKGVbMV0tclsxXSksbz1hLWk7aWYoYT4wKXtpZihpPD0wKXJldHVybiBvO249YStpfWVsc2V7aWYoIShhPDApKXJldHVybiBvO2lmKGk+PTApcmV0dXJuIG87bj0tKGEraSl9dmFyIHM9My4zMzA2NjkwNzM4NzU0NzE2ZS0xNipuO3JldHVybiBvPj1zfHxvPD0tcz9vOmYodCxlLHIpfSxmdW5jdGlvbih0LGUscixuKXt2YXIgYT10WzBdLW5bMF0saT1lWzBdLW5bMF0sbz1yWzBdLW5bMF0scz10WzFdLW5bMV0sbD1lWzFdLW5bMV0sYz1yWzFdLW5bMV0sdT10WzJdLW5bMl0saD1lWzJdLW5bMl0sZj1yWzJdLW5bMl0sZD1pKmMsZz1vKmwsdj1vKnMsbT1hKmMseT1hKmwseD1pKnMsYj11KihkLWcpK2gqKHYtbSkrZiooeS14KSxfPTcuNzcxNTYxMTcyMzc2MTAzZS0xNiooKE1hdGguYWJzKGQpK01hdGguYWJzKGcpKSpNYXRoLmFicyh1KSsoTWF0aC5hYnModikrTWF0aC5hYnMobSkpKk1hdGguYWJzKGgpKyhNYXRoLmFicyh5KStNYXRoLmFicyh4KSkqTWF0aC5hYnMoZikpO3JldHVybiBiPl98fC1iPl8/YjpwKHQsZSxyLG4pfV07ZnVuY3Rpb24gZyh0KXt2YXIgZT1kW3QubGVuZ3RoXTtyZXR1cm4gZXx8KGU9ZFt0Lmxlbmd0aF09aCh0Lmxlbmd0aCkpLGUuYXBwbHkodm9pZCAwLHQpfSFmdW5jdGlvbigpe2Zvcig7ZC5sZW5ndGg8PXM7KWQucHVzaChoKGQubGVuZ3RoKSk7Zm9yKHZhciB0PVtdLHI9WyJzbG93Il0sbj0wO248PXM7KytuKXQucHVzaCgiYSIrbiksci5wdXNoKCJvIituKTt2YXIgYT1bImZ1bmN0aW9uIGdldE9yaWVudGF0aW9uKCIsdC5qb2luKCksIil7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMDpjYXNlIDE6cmV0dXJuIDA7Il07Zm9yKG49MjtuPD1zOysrbilhLnB1c2goImNhc2UgIixuLCI6cmV0dXJuIG8iLG4sIigiLHQuc2xpY2UoMCxuKS5qb2luKCksIik7Iik7YS5wdXNoKCJ9dmFyIHM9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDsrK2kpe3NbaV09YXJndW1lbnRzW2ldfTtyZXR1cm4gc2xvdyhzKTt9cmV0dXJuIGdldE9yaWVudGF0aW9uIiksci5wdXNoKGEuam9pbigiIikpO3ZhciBpPUZ1bmN0aW9uLmFwcGx5KHZvaWQgMCxyKTtmb3IoZS5leHBvcnRzPWkuYXBwbHkodm9pZCAwLFtnXS5jb25jYXQoZCkpLG49MDtuPD1zOysrbillLmV4cG9ydHNbbl09ZFtuXX0oKX0seyJyb2J1c3Qtc2NhbGUiOjUxMSwicm9idXN0LXN1YnRyYWN0Ijo1MTMsInJvYnVzdC1zdW0iOjUxNCwidHdvLXByb2R1Y3QiOjU0Mn1dLDUxMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJyb2J1c3Qtc3VtIiksYT10KCJyb2J1c3Qtc2NhbGUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGEoZSx0WzBdKTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIGEodCxlWzBdKTtpZigwPT09dC5sZW5ndGh8fDA9PT1lLmxlbmd0aClyZXR1cm5bMF07dmFyIHI9WzBdO2lmKHQubGVuZ3RoPGUubGVuZ3RoKWZvcih2YXIgaT0wO2k8dC5sZW5ndGg7KytpKXI9bihyLGEoZSx0W2ldKSk7ZWxzZSBmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSlyPW4ocixhKHQsZVtpXSkpO3JldHVybiByfX0seyJyb2J1c3Qtc2NhbGUiOjUxMSwicm9idXN0LXN1bSI6NTE0fV0sNTExOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInR3by1wcm9kdWN0IiksYT10KCJ0d28tc3VtIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGg7aWYoMT09PXIpe3ZhciBpPW4odFswXSxlKTtyZXR1cm4gaVswXT9pOltpWzFdXX12YXIgbz1uZXcgQXJyYXkoMipyKSxzPVsuMSwuMV0sbD1bLjEsLjFdLGM9MDtuKHRbMF0sZSxzKSxzWzBdJiYob1tjKytdPXNbMF0pO2Zvcih2YXIgdT0xO3U8cjsrK3Upe24odFt1XSxlLGwpO3ZhciBoPXNbMV07YShoLGxbMF0scyksc1swXSYmKG9bYysrXT1zWzBdKTt2YXIgZj1sWzFdLHA9c1sxXSxkPWYrcCxnPWQtZix2PXAtZztzWzFdPWQsdiYmKG9bYysrXT12KX1zWzFdJiYob1tjKytdPXNbMV0pOzA9PT1jJiYob1tjKytdPTApO3JldHVybiBvLmxlbmd0aD1jLG99fSx7InR3by1wcm9kdWN0Ijo1NDIsInR3by1zdW0iOjU0M31dLDUxMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGk9bih0LHIsYSksbz1uKGUscixhKTtpZihpPjAmJm8+MHx8aTwwJiZvPDApcmV0dXJuITE7dmFyIHM9bihyLHQsZSksbD1uKGEsdCxlKTtpZihzPjAmJmw+MHx8czwwJiZsPDApcmV0dXJuITE7aWYoMD09PWkmJjA9PT1vJiYwPT09cyYmMD09PWwpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYT0wO2E8MjsrK2Epe3ZhciBpPXRbYV0sbz1lW2FdLHM9TWF0aC5taW4oaSxvKSxsPU1hdGgubWF4KGksbyksYz1yW2FdLHU9blthXSxoPU1hdGgubWluKGMsdSksZj1NYXRoLm1heChjLHUpO2lmKGY8c3x8bDxoKXJldHVybiExfXJldHVybiEwfSh0LGUscixhKTtyZXR1cm4hMH07dmFyIG49dCgicm9idXN0LW9yaWVudGF0aW9uIilbM119LHsicm9idXN0LW9yaWVudGF0aW9uIjo1MDl9XSw1MTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MHx0Lmxlbmd0aCxuPTB8ZS5sZW5ndGg7aWYoMT09PXImJjE9PT1uKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPXQrZSxuPXItdCxhPXQtKHItbikrKGUtbik7aWYoYSlyZXR1cm5bYSxyXTtyZXR1cm5bcl19KHRbMF0sLWVbMF0pO3ZhciBhLGksbz1uZXcgQXJyYXkocituKSxzPTAsbD0wLGM9MCx1PU1hdGguYWJzLGg9dFtsXSxmPXUoaCkscD0tZVtjXSxkPXUocCk7ZjxkPyhpPWgsKGwrPTEpPHImJihoPXRbbF0sZj11KGgpKSk6KGk9cCwoYys9MSk8biYmKHA9LWVbY10sZD11KHApKSk7bDxyJiZmPGR8fGM+PW4/KGE9aCwobCs9MSk8ciYmKGg9dFtsXSxmPXUoaCkpKTooYT1wLChjKz0xKTxuJiYocD0tZVtjXSxkPXUocCkpKTt2YXIgZyx2LG09YStpLHk9bS1hLHg9aS15LGI9eCxfPW07Zm9yKDtsPHImJmM8bjspZjxkPyhhPWgsKGwrPTEpPHImJihoPXRbbF0sZj11KGgpKSk6KGE9cCwoYys9MSk8biYmKHA9LWVbY10sZD11KHApKSksKHg9KGk9YiktKHk9KG09YStpKS1hKSkmJihvW3MrK109eCksYj1fLSgoZz1fK20pLSh2PWctXykpKyhtLXYpLF89Zztmb3IoO2w8cjspKHg9KGk9YiktKHk9KG09KGE9aCkraSktYSkpJiYob1tzKytdPXgpLGI9Xy0oKGc9XyttKS0odj1nLV8pKSsobS12KSxfPWcsKGwrPTEpPHImJihoPXRbbF0pO2Zvcig7YzxuOykoeD0oaT1iKS0oeT0obT0oYT1wKStpKS1hKSkmJihvW3MrK109eCksYj1fLSgoZz1fK20pLSh2PWctXykpKyhtLXYpLF89ZywoYys9MSk8biYmKHA9LWVbY10pO2ImJihvW3MrK109Yik7XyYmKG9bcysrXT1fKTtzfHwob1tzKytdPTApO3JldHVybiBvLmxlbmd0aD1zLG99fSx7fV0sNTE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPTB8dC5sZW5ndGgsbj0wfGUubGVuZ3RoO2lmKDE9PT1yJiYxPT09bilyZXR1cm4gZnVuY3Rpb24odCxlKXt2YXIgcj10K2Usbj1yLXQsYT10LShyLW4pKyhlLW4pO2lmKGEpcmV0dXJuW2Escl07cmV0dXJuW3JdfSh0WzBdLGVbMF0pO3ZhciBhLGksbz1uZXcgQXJyYXkocituKSxzPTAsbD0wLGM9MCx1PU1hdGguYWJzLGg9dFtsXSxmPXUoaCkscD1lW2NdLGQ9dShwKTtmPGQ/KGk9aCwobCs9MSk8ciYmKGg9dFtsXSxmPXUoaCkpKTooaT1wLChjKz0xKTxuJiYocD1lW2NdLGQ9dShwKSkpO2w8ciYmZjxkfHxjPj1uPyhhPWgsKGwrPTEpPHImJihoPXRbbF0sZj11KGgpKSk6KGE9cCwoYys9MSk8biYmKHA9ZVtjXSxkPXUocCkpKTt2YXIgZyx2LG09YStpLHk9bS1hLHg9aS15LGI9eCxfPW07Zm9yKDtsPHImJmM8bjspZjxkPyhhPWgsKGwrPTEpPHImJihoPXRbbF0sZj11KGgpKSk6KGE9cCwoYys9MSk8biYmKHA9ZVtjXSxkPXUocCkpKSwoeD0oaT1iKS0oeT0obT1hK2kpLWEpKSYmKG9bcysrXT14KSxiPV8tKChnPV8rbSktKHY9Zy1fKSkrKG0tdiksXz1nO2Zvcig7bDxyOykoeD0oaT1iKS0oeT0obT0oYT1oKStpKS1hKSkmJihvW3MrK109eCksYj1fLSgoZz1fK20pLSh2PWctXykpKyhtLXYpLF89ZywobCs9MSk8ciYmKGg9dFtsXSk7Zm9yKDtjPG47KSh4PShpPWIpLSh5PShtPShhPXApK2kpLWEpKSYmKG9bcysrXT14KSxiPV8tKChnPV8rbSktKHY9Zy1fKSkrKG0tdiksXz1nLChjKz0xKTxuJiYocD1lW2NdKTtiJiYob1tzKytdPWIpO18mJihvW3MrK109Xyk7c3x8KG9bcysrXT0wKTtyZXR1cm4gby5sZW5ndGg9cyxvfX0se31dLDUxNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ8MD8tMTp0PjA/MTowfX0se31dLDUxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEobih0KSl9O3ZhciBuPXQoImJvdW5kYXJ5LWNlbGxzIiksYT10KCJyZWR1Y2Utc2ltcGxpY2lhbC1jb21wbGV4Iil9LHsiYm91bmRhcnktY2VsbHMiOjk3LCJyZWR1Y2Utc2ltcGxpY2lhbC1jb21wbGV4Ijo0OTF9XSw1MTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe3I9cnx8MCwidW5kZWZpbmVkIj09dHlwZW9mIHMmJihzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPTAsbj0wO248ZTsrK24pcj0wfE1hdGgubWF4KHIsdFtuXS5sZW5ndGgpO3JldHVybiByLTF9KHQpKTtpZigwPT09dC5sZW5ndGh8fHM8MSlyZXR1cm57Y2VsbHM6W10sdmVydGV4SWRzOltdLHZlcnRleFdlaWdodHM6W119O3ZhciBsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGVuZ3RoLG49YS5tYWxsb2NVaW50OChyKSxpPTA7aTxyOysraSluW2ldPXRbaV08ZXwwO3JldHVybiBufShlLCtyKSxjPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGVuZ3RoLG89ZSooZSsxKS8yKnJ8MCxzPWEubWFsbG9jVWludDMyKDIqbyksbD0wLGM9MDtjPHI7KytjKWZvcih2YXIgdT10W2NdLGU9dS5sZW5ndGgsaD0wO2g8ZTsrK2gpZm9yKHZhciBmPTA7ZjxoOysrZil7dmFyIHA9dVtmXSxkPXVbaF07c1tsKytdPTB8TWF0aC5taW4ocCxkKSxzW2wrK109MHxNYXRoLm1heChwLGQpfWkobihzLFtsLzJ8MCwyXSkpO2Zvcih2YXIgZz0yLGM9MjtjPGw7Yys9MilzW2MtMl09PT1zW2NdJiZzW2MtMV09PT1zW2MrMV18fChzW2crK109c1tjXSxzW2crK109c1tjKzFdKTtyZXR1cm4gbihzLFtnLzJ8MCwyXSl9KHQscyksdT1mdW5jdGlvbih0LGUscixpKXtmb3IodmFyIG89dC5kYXRhLHM9dC5zaGFwZVswXSxsPWEubWFsbG9jRG91YmxlKHMpLGM9MCx1PTA7dTxzOysrdSl7dmFyIGg9b1syKnVdLGY9b1syKnUrMV07aWYocltoXSE9PXJbZl0pe3ZhciBwPWVbaF0sZD1lW2ZdO29bMipjXT1oLG9bMipjKzFdPWYsbFtjKytdPShkLWkpLyhkLXApfX1yZXR1cm4gdC5zaGFwZVswXT1jLG4obCxbY10pfShjLGUsbCwrciksaD1mdW5jdGlvbih0LGUpe3ZhciByPWEubWFsbG9jSW50MzIoMiplKSxuPXQuc2hhcGVbMF0saT10LmRhdGE7clswXT0wO2Zvcih2YXIgbz0wLHM9MDtzPG47KytzKXt2YXIgbD1pWzIqc107aWYobCE9PW8pe2ZvcihyWzIqbysxXT1zOysrbzxsOylyWzIqb109cyxyWzIqbysxXT1zO3JbMipvXT1zfX1yWzIqbysxXT1uO2Zvcig7KytvPGU7KXJbMipvXT1yWzIqbysxXT1uO3JldHVybiByfShjLDB8ZS5sZW5ndGgpLGY9byhzKSh0LGMuZGF0YSxoLGwpLHA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTB8dC5zaGFwZVswXSxyPXQuZGF0YSxuPW5ldyBBcnJheShlKSxhPTA7YTxlOysrYSluW2FdPVtyWzIqYV0sclsyKmErMV1dO3JldHVybiBufShjKSxkPVtdLnNsaWNlLmNhbGwodS5kYXRhLDAsdS5zaGFwZVswXSk7cmV0dXJuIGEuZnJlZShsKSxhLmZyZWUoYy5kYXRhKSxhLmZyZWUodS5kYXRhKSxhLmZyZWUoaCkse2NlbGxzOmYsdmVydGV4SWRzOnAsdmVydGV4V2VpZ2h0czpkfX07dmFyIG49dCgibmRhcnJheSIpLGE9dCgidHlwZWRhcnJheS1wb29sIiksaT10KCJuZGFycmF5LXNvcnQiKSxvPXQoIi4vbGliL2NvZGVnZW4iKX0seyIuL2xpYi9jb2RlZ2VuIjo1MTgsbmRhcnJheTo0NTIsIm5kYXJyYXktc29ydCI6NDUwLCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDUxODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9aVt0XTtlfHwoZT1pW3RdPWZ1bmN0aW9uKHQpe3ZhciBlPTAscj1uZXcgQXJyYXkodCsxKTtyWzBdPVtbXV07Zm9yKHZhciBpPTE7aTw9dDsrK2kpZm9yKHZhciBvPXJbaV09YShpKSxzPTA7czxvLmxlbmd0aDsrK3MpZT1NYXRoLm1heChlLG9baV0ubGVuZ3RoKTt2YXIgbD1bImZ1bmN0aW9uIEIoQyxFLGksail7IiwidmFyIGE9TWF0aC5taW4oaSxqKXwwLGI9TWF0aC5tYXgoaSxqKXwwLGw9Q1syKmFdLGg9Q1syKmErMV07Iiwid2hpbGUobDxoKXsiLCJ2YXIgbT0obCtoKT4+MSx2PUVbMiptKzFdOyIsImlmKHY9PT1iKXtyZXR1cm4gbX0iLCJpZihiPHYpe2g9bX1lbHNle2w9bSsxfSIsIn0iLCJyZXR1cm4gbDsiLCJ9OyIsImZ1bmN0aW9uIGdldENvbnRvdXIiLHQsImQoRixFLEMsUyl7IiwidmFyIG49Ri5sZW5ndGgsUj1bXTsiLCJmb3IodmFyIGk9MDtpPG47KytpKXt2YXIgYz1GW2ldLGw9Yy5sZW5ndGg7Il07ZnVuY3Rpb24gYyh0KXtpZighKHQubGVuZ3RoPD0wKSl7bC5wdXNoKCJSLnB1c2goIik7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDsrK2Upe3ZhciByPXRbZV07ZT4wJiZsLnB1c2goIiwiKSxsLnB1c2goIlsiKTtmb3IodmFyIG49MDtuPHIubGVuZ3RoOysrbil7dmFyIGE9cltuXTtuPjAmJmwucHVzaCgiLCIpLGwucHVzaCgiQihDLEUsY1siLGFbMF0sIl0sY1siLGFbMV0sIl0pIil9bC5wdXNoKCJdIil9bC5wdXNoKCIpOyIpfX1mb3IodmFyIGk9dCsxO2k+MTstLWkpe2k8dCsxJiZsLnB1c2goImVsc2UgIiksbC5wdXNoKCJpZihsPT09IixpLCIpeyIpO2Zvcih2YXIgdT1bXSxzPTA7czxpOysrcyl1LnB1c2goIihTW2NbIitzKyJdXTw8IitzKyIpIik7bC5wdXNoKCJ2YXIgTT0iLHUuam9pbigiKyIpLCI7aWYoTT09PTB8fE09PT0iLCgxPDxpKS0xLCIpe2NvbnRpbnVlfXN3aXRjaChNKXsiKTtmb3IodmFyIG89cltpLTFdLHM9MDtzPG8ubGVuZ3RoOysrcylsLnB1c2goImNhc2UgIixzLCI6IiksYyhvW3NdKSxsLnB1c2goImJyZWFrOyIpO2wucHVzaCgifX0iKX1yZXR1cm4gbC5wdXNoKCJ9cmV0dXJuIFI7fTtyZXR1cm4gZ2V0Q29udG91ciIsdCwiZCIpLG5ldyBGdW5jdGlvbigicG9vbCIsbC5qb2luKCIiKSkobil9KHQpKTtyZXR1cm4gZX07dmFyIG49dCgidHlwZWRhcnJheS1wb29sIiksYT10KCJtYXJjaGluZy1zaW1wbGV4LXRhYmxlIiksaT17fX0seyJtYXJjaGluZy1zaW1wbGV4LXRhYmxlIjo0MjksInR5cGVkYXJyYXktcG9vbCI6NTQ0fV0sNTE5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpdC10d2lkZGxlIiksYT10KCJ1bmlvbi1maW5kIik7ZnVuY3Rpb24gaSh0LGUpe3ZhciByPXQubGVuZ3RoLG49dC5sZW5ndGgtZS5sZW5ndGgsYT1NYXRoLm1pbjtpZihuKXJldHVybiBuO3N3aXRjaChyKXtjYXNlIDA6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiB0WzBdLWVbMF07Y2FzZSAyOnJldHVybihzPXRbMF0rdFsxXS1lWzBdLWVbMV0pfHxhKHRbMF0sdFsxXSktYShlWzBdLGVbMV0pO2Nhc2UgMzp2YXIgaT10WzBdK3RbMV0sbz1lWzBdK2VbMV07aWYocz1pK3RbMl0tKG8rZVsyXSkpcmV0dXJuIHM7dmFyIHMsbD1hKHRbMF0sdFsxXSksYz1hKGVbMF0sZVsxXSk7cmV0dXJuKHM9YShsLHRbMl0pLWEoYyxlWzJdKSl8fGEobCt0WzJdLGkpLWEoYytlWzJdLG8pO2RlZmF1bHQ6dmFyIHU9dC5zbGljZSgwKTt1LnNvcnQoKTt2YXIgaD1lLnNsaWNlKDApO2guc29ydCgpO2Zvcih2YXIgZj0wO2Y8cjsrK2YpaWYobj11W2ZdLWhbZl0pcmV0dXJuIG47cmV0dXJuIDB9fWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gaSh0WzBdLGVbMF0pfWZ1bmN0aW9uIHModCxlKXtpZihlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj1uZXcgQXJyYXkociksYT0wO2E8cjsrK2EpblthXT1bdFthXSxlW2FdXTtuLnNvcnQobyk7Zm9yKGE9MDthPHI7KythKXRbYV09blthXVswXSxlW2FdPW5bYV1bMV07cmV0dXJuIHR9cmV0dXJuIHQuc29ydChpKSx0fWZ1bmN0aW9uIGwodCl7aWYoMD09PXQubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgZT0xLHI9dC5sZW5ndGgsbj0xO248cjsrK24pe3ZhciBhPXRbbl07aWYoaShhLHRbbi0xXSkpe2lmKG49PT1lKXtlKys7Y29udGludWV9dFtlKytdPWF9fXJldHVybiB0Lmxlbmd0aD1lLHR9ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgcj0wLG49dC5sZW5ndGgtMSxhPS0xO3I8PW47KXt2YXIgbz1yK24+PjEscz1pKHRbb10sZSk7czw9MD8oMD09PXMmJihhPW8pLHI9bysxKTpzPjAmJihuPW8tMSl9cmV0dXJuIGF9ZnVuY3Rpb24gdSh0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodC5sZW5ndGgpLGE9MCxvPXIubGVuZ3RoO2E8bzsrK2EpclthXT1bXTtmb3IodmFyIHM9W10sbD0oYT0wLGUubGVuZ3RoKTthPGw7KythKWZvcih2YXIgdT1lW2FdLGg9dS5sZW5ndGgsZj0xLHA9MTw8aDtmPHA7KytmKXtzLmxlbmd0aD1uLnBvcENvdW50KGYpO2Zvcih2YXIgZD0wLGc9MDtnPGg7KytnKWYmMTw8ZyYmKHNbZCsrXT11W2ddKTt2YXIgdj1jKHQscyk7aWYoISh2PDApKWZvcig7clt2KytdLnB1c2goYSksISh2Pj10Lmxlbmd0aHx8MCE9PWkodFt2XSxzKSk7KTt9cmV0dXJuIHJ9ZnVuY3Rpb24gaCh0LGUpe2lmKGU8MClyZXR1cm5bXTtmb3IodmFyIHI9W10sYT0oMTw8ZSsxKS0xLGk9MDtpPHQubGVuZ3RoOysraSlmb3IodmFyIG89dFtpXSxsPWE7bDwxPDxvLmxlbmd0aDtsPW4ubmV4dENvbWJpbmF0aW9uKGwpKXtmb3IodmFyIGM9bmV3IEFycmF5KGUrMSksdT0wLGg9MDtoPG8ubGVuZ3RoOysraClsJjE8PGgmJihjW3UrK109b1toXSk7ci5wdXNoKGMpfXJldHVybiBzKHIpfXIuZGltZW5zaW9uPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9TWF0aC5tYXgsbj0wLGE9dC5sZW5ndGg7bjxhOysrbillPXIoZSx0W25dLmxlbmd0aCk7cmV0dXJuIGUtMX0sci5jb3VudFZlcnRpY2VzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0tMSxyPU1hdGgubWF4LG49MCxhPXQubGVuZ3RoO248YTsrK24pZm9yKHZhciBpPXRbbl0sbz0wLHM9aS5sZW5ndGg7bzxzOysrbyllPXIoZSxpW29dKTtyZXR1cm4gZSsxfSxyLmNsb25lQ2VsbHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wLG49dC5sZW5ndGg7cjxuOysrcillW3JdPXRbcl0uc2xpY2UoMCk7cmV0dXJuIGV9LHIuY29tcGFyZUNlbGxzPWksci5ub3JtYWxpemU9cyxyLnVuaXF1ZT1sLHIuZmluZENlbGw9YyxyLmluY2lkZW5jZT11LHIuZHVhbD1mdW5jdGlvbih0LGUpe2lmKCFlKXJldHVybiB1KGwoaCh0LDApKSx0KTtmb3IodmFyIHI9bmV3IEFycmF5KGUpLG49MDtuPGU7KytuKXJbbl09W107bj0wO2Zvcih2YXIgYT10Lmxlbmd0aDtuPGE7KytuKWZvcih2YXIgaT10W25dLG89MCxzPWkubGVuZ3RoO288czsrK28pcltpW29dXS5wdXNoKG4pO3JldHVybiByfSxyLmV4cGxvZGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MCxuPXQubGVuZ3RoO3I8bjsrK3IpZm9yKHZhciBhPXRbcl0saT0wfGEubGVuZ3RoLG89MSxsPTE8PGk7bzxsOysrbyl7Zm9yKHZhciBjPVtdLHU9MDt1PGk7Kyt1KW8+Pj51JjEmJmMucHVzaChhW3VdKTtlLnB1c2goYyl9cmV0dXJuIHMoZSl9LHIuc2tlbGV0b249aCxyLmJvdW5kYXJ5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTAsbj10Lmxlbmd0aDtyPG47KytyKWZvcih2YXIgYT10W3JdLGk9MCxvPWEubGVuZ3RoO2k8bzsrK2kpe2Zvcih2YXIgbD1uZXcgQXJyYXkoYS5sZW5ndGgtMSksYz0wLHU9MDtjPG87KytjKWMhPT1pJiYobFt1KytdPWFbY10pO2UucHVzaChsKX1yZXR1cm4gcyhlKX0sci5jb25uZWN0ZWRDb21wb25lbnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmV3IGEoZSksbj0wO248dC5sZW5ndGg7KytuKWZvcih2YXIgaT10W25dLG89MDtvPGkubGVuZ3RoOysrbylmb3IodmFyIHM9bysxO3M8aS5sZW5ndGg7KytzKXIubGluayhpW29dLGlbc10pO3ZhciBsPVtdLGM9ci5yYW5rcztmb3Iobj0wO248Yy5sZW5ndGg7KytuKWNbbl09LTE7Zm9yKG49MDtuPHQubGVuZ3RoOysrbil7dmFyIHU9ci5maW5kKHRbbl1bMF0pO2NbdV08MD8oY1t1XT1sLmxlbmd0aCxsLnB1c2goW3Rbbl0uc2xpY2UoMCldKSk6bFtjW3VdXS5wdXNoKHRbbl0uc2xpY2UoMCkpfXJldHVybiBsfSh0LGUpOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1sKHMoaCh0LDApKSkscj1uZXcgYShlLmxlbmd0aCksbj0wO248dC5sZW5ndGg7KytuKWZvcih2YXIgaT10W25dLG89MDtvPGkubGVuZ3RoOysrbylmb3IodmFyIHU9YyhlLFtpW29dXSksZj1vKzE7ZjxpLmxlbmd0aDsrK2Ypci5saW5rKHUsYyhlLFtpW2ZdXSkpO3ZhciBwPVtdLGQ9ci5yYW5rcztmb3Iobj0wO248ZC5sZW5ndGg7KytuKWRbbl09LTE7Zm9yKG49MDtuPHQubGVuZ3RoOysrbil7dmFyIGc9ci5maW5kKGMoZSxbdFtuXVswXV0pKTtkW2ddPDA/KGRbZ109cC5sZW5ndGgscC5wdXNoKFt0W25dLnNsaWNlKDApXSkpOnBbZFtnXV0ucHVzaCh0W25dLnNsaWNlKDApKX1yZXR1cm4gcH0odCl9fSx7ImJpdC10d2lkZGxlIjo5NCwidW5pb24tZmluZCI6NTQ1fV0sNTIwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzk0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6OTR9XSw1MjE6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNTE5XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiYml0LXR3aWRkbGUiOjUyMCxkdXA6NTE5LCJ1bmlvbi1maW5kIjo1MjJ9XSw1MjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXt0aGlzLnJvb3RzPW5ldyBBcnJheSh0KSx0aGlzLnJhbmtzPW5ldyBBcnJheSh0KTtmb3IodmFyIGU9MDtlPHQ7KytlKXRoaXMucm9vdHNbZV09ZSx0aGlzLnJhbmtzW2VdPTB9ZS5leHBvcnRzPW4sbi5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdHMubGVuZ3RofSxuLnByb3RvdHlwZS5tYWtlU2V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yb290cy5sZW5ndGg7cmV0dXJuIHRoaXMucm9vdHMucHVzaCh0KSx0aGlzLnJhbmtzLnB1c2goMCksdH0sbi5wcm90b3R5cGUuZmluZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5yb290cztlW3RdIT09dDspe3ZhciByPWVbdF07ZVt0XT1lW3JdLHQ9cn1yZXR1cm4gdH0sbi5wcm90b3R5cGUubGluaz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuZmluZCh0KSxuPXRoaXMuZmluZChlKTtpZihyIT09bil7dmFyIGE9dGhpcy5yYW5rcyxpPXRoaXMucm9vdHMsbz1hW3JdLHM9YVtuXTtvPHM/aVtyXT1uOnM8bz9pW25dPXI6KGlbbl09ciwrK2Fbcl0pfX19LHt9XSw1MjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIGk9ZS5sZW5ndGgsbz10Lmxlbmd0aCxzPW5ldyBBcnJheShpKSxsPW5ldyBBcnJheShpKSxjPW5ldyBBcnJheShpKSx1PW5ldyBBcnJheShpKSxoPTA7aDxpOysraClzW2hdPWxbaF09LTEsY1toXT0xLzAsdVtoXT0hMTtmb3IodmFyIGg9MDtoPG87KytoKXt2YXIgZj10W2hdO2lmKDIhPT1mLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIklucHV0IG11c3QgYmUgYSBncmFwaCIpO3ZhciBwPWZbMV0sZD1mWzBdOy0xIT09bFtkXT9sW2RdPS0yOmxbZF09cCwtMSE9PXNbcF0/c1twXT0tMjpzW3BdPWR9ZnVuY3Rpb24gZyh0KXtpZih1W3RdKXJldHVybiAxLzA7dmFyIHIsYSxpLG8sYyxoPXNbdF0sZj1sW3RdO3JldHVybiBoPDB8fGY8MD8xLzA6KHI9ZVt0XSxhPWVbaF0saT1lW2ZdLG89TWF0aC5hYnMobihyLGEsaSkpLGM9TWF0aC5zcXJ0KE1hdGgucG93KGFbMF0taVswXSwyKStNYXRoLnBvdyhhWzFdLWlbMV0sMikpLG8vYyl9ZnVuY3Rpb24gdih0LGUpe3ZhciByPVRbdF0sbj1UW2VdO1RbdF09bixUW2VdPXIsTVtyXT1lLE1bbl09dH1mdW5jdGlvbiBtKHQpe3JldHVybiBjW1RbdF1dfWZ1bmN0aW9uIHkodCl7cmV0dXJuIDEmdD90LTE+PjE6KHQ+PjEpLTF9ZnVuY3Rpb24geCh0KXtmb3IodmFyIGU9bSh0KTs7KXt2YXIgcj1lLG49Mip0KzEsYT0yKih0KzEpLGk9dDtpZihuPFMpe3ZhciBvPW0obik7bzxyJiYoaT1uLHI9byl9aWYoYTxTKXt2YXIgcz1tKGEpO3M8ciYmKGk9YSl9aWYoaT09PXQpcmV0dXJuIHQ7dih0LGkpLHQ9aX19ZnVuY3Rpb24gYih0KXtmb3IodmFyIGU9bSh0KTt0PjA7KXt2YXIgcj15KHQpO2lmKHI+PTApe3ZhciBuPW0ocik7aWYoZTxuKXt2KHQsciksdD1yO2NvbnRpbnVlfX1yZXR1cm4gdH19ZnVuY3Rpb24gXygpe2lmKFM+MCl7dmFyIHQ9VFswXTtyZXR1cm4gdigwLFMtMSksUy09MSx4KDApLHR9cmV0dXJuLTF9ZnVuY3Rpb24gdyh0LGUpe3ZhciByPVRbdF07cmV0dXJuIGNbcl09PT1lP3Q6KGNbcl09LTEvMCxiKHQpLF8oKSxjW3JdPWUsYigoUys9MSktMSkpfWZ1bmN0aW9uIGsodCl7aWYoIXVbdF0pe3VbdF09ITA7dmFyIGU9c1t0XSxyPWxbdF07c1tyXT49MCYmKHNbcl09ZSksbFtlXT49MCYmKGxbZV09ciksTVtlXT49MCYmdyhNW2VdLGcoZSkpLE1bcl0+PTAmJncoTVtyXSxnKHIpKX19Zm9yKHZhciBUPVtdLE09bmV3IEFycmF5KGkpLGg9MDtoPGk7KytoKXt2YXIgQT1jW2hdPWcoaCk7QTwxLzA/KE1baF09VC5sZW5ndGgsVC5wdXNoKGgpKTpNW2hdPS0xfWZvcih2YXIgUz1ULmxlbmd0aCxoPVM+PjE7aD49MDstLWgpeChoKTtmb3IoOzspe3ZhciBFPV8oKTtpZihFPDB8fGNbRV0+cilicmVhaztrKEUpfWZvcih2YXIgTD1bXSxoPTA7aDxpOysraCl1W2hdfHwoTVtoXT1MLmxlbmd0aCxMLnB1c2goZVtoXS5zbGljZSgpKSk7TC5sZW5ndGg7ZnVuY3Rpb24gQyh0LGUpe2lmKHRbZV08MClyZXR1cm4gZTt2YXIgcj1lLG49ZTtkb3t2YXIgYT10W25dO2lmKCF1W25dfHxhPDB8fGE9PT1uKWJyZWFrO2lmKGE9dFtuPWFdLCF1W25dfHxhPDB8fGE9PT1uKWJyZWFrO249YSxyPXRbcl19d2hpbGUociE9PW4pO2Zvcih2YXIgaT1lO2khPT1uO2k9dFtpXSl0W2ldPW47cmV0dXJuIG59dmFyIFA9W107cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1DKHMsdFswXSkscj1DKGwsdFsxXSk7aWYoZT49MCYmcj49MCYmZSE9PXIpe3ZhciBuPU1bZV0sYT1NW3JdO24hPT1hJiZQLnB1c2goW24sYV0pfX0pLGEudW5pcXVlKGEubm9ybWFsaXplKFApKSx7cG9zaXRpb25zOkwsZWRnZXM6UH19O3ZhciBuPXQoInJvYnVzdC1vcmllbnRhdGlvbiIpLGE9dCgic2ltcGxpY2lhbC1jb21wbGV4Iil9LHsicm9idXN0LW9yaWVudGF0aW9uIjo1MDksInNpbXBsaWNpYWwtY29tcGxleCI6NTIxfV0sNTI0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGksbyxzO2lmKGVbMF1bMF08ZVsxXVswXSlyPWVbMF0saT1lWzFdO2Vsc2V7aWYoIShlWzBdWzBdPmVbMV1bMF0pKXJldHVybiBhKGUsdCk7cj1lWzFdLGk9ZVswXX1pZih0WzBdWzBdPHRbMV1bMF0pbz10WzBdLHM9dFsxXTtlbHNle2lmKCEodFswXVswXT50WzFdWzBdKSlyZXR1cm4tYSh0LGUpO289dFsxXSxzPXRbMF19dmFyIGw9bihyLGkscyksYz1uKHIsaSxvKTtpZihsPDApe2lmKGM8PTApcmV0dXJuIGx9ZWxzZSBpZihsPjApe2lmKGM+PTApcmV0dXJuIGx9ZWxzZSBpZihjKXJldHVybiBjO2lmKGw9bihzLG8saSksYz1uKHMsbyxyKSxsPDApe2lmKGM8PTApcmV0dXJuIGx9ZWxzZSBpZihsPjApe2lmKGM+PTApcmV0dXJuIGx9ZWxzZSBpZihjKXJldHVybiBjO3JldHVybiBpWzBdLXNbMF19O3ZhciBuPXQoInJvYnVzdC1vcmllbnRhdGlvbiIpO2Z1bmN0aW9uIGEodCxlKXt2YXIgcixhLGksbztpZihlWzBdWzBdPGVbMV1bMF0pcj1lWzBdLGE9ZVsxXTtlbHNle2lmKCEoZVswXVswXT5lWzFdWzBdKSl7dmFyIHM9TWF0aC5taW4odFswXVsxXSx0WzFdWzFdKSxsPU1hdGgubWF4KHRbMF1bMV0sdFsxXVsxXSksYz1NYXRoLm1pbihlWzBdWzFdLGVbMV1bMV0pLHU9TWF0aC5tYXgoZVswXVsxXSxlWzFdWzFdKTtyZXR1cm4gbDxjP2wtYzpzPnU/cy11OmwtdX1yPWVbMV0sYT1lWzBdfXRbMF1bMV08dFsxXVsxXT8oaT10WzBdLG89dFsxXSk6KGk9dFsxXSxvPXRbMF0pO3ZhciBoPW4oYSxyLGkpO3JldHVybiBofHwoKGg9bihhLHIsbykpfHxvLWEpfX0seyJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOX1dLDUyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9MiplLG49bmV3IEFycmF5KHIpLGk9MDtpPGU7KytpKXt2YXIgbD10W2ldLGM9bFswXVswXTxsWzFdWzBdO25bMippXT1uZXcgaChsWzBdWzBdLGwsYyxpKSxuWzIqaSsxXT1uZXcgaChsWzFdWzBdLGwsIWMsaSl9bi5zb3J0KGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC54LWUueDtyZXR1cm4gcnx8KChyPXQuY3JlYXRlLWUuY3JlYXRlKXx8TWF0aC5taW4odC5zZWdtZW50WzBdWzFdLHQuc2VnbWVudFsxXVsxXSktTWF0aC5taW4oZS5zZWdtZW50WzBdWzFdLGUuc2VnbWVudFsxXVsxXSkpfSk7Zm9yKHZhciBmPWEobykscD1bXSxkPVtdLGc9W10saT0wO2k8cjspe2Zvcih2YXIgdj1uW2ldLngsbT1bXTtpPHI7KXt2YXIgeT1uW2ldO2lmKHkueCE9PXYpYnJlYWs7aSs9MSx5LnNlZ21lbnRbMF1bMF09PT15LngmJnkuc2VnbWVudFsxXVswXT09PXkueD95LmNyZWF0ZSYmKHkuc2VnbWVudFswXVsxXTx5LnNlZ21lbnRbMV1bMV0/KG0ucHVzaChuZXcgdSh5LnNlZ21lbnRbMF1bMV0seS5pbmRleCwhMCwhMCkpLG0ucHVzaChuZXcgdSh5LnNlZ21lbnRbMV1bMV0seS5pbmRleCwhMSwhMSkpKToobS5wdXNoKG5ldyB1KHkuc2VnbWVudFsxXVsxXSx5LmluZGV4LCEwLCExKSksbS5wdXNoKG5ldyB1KHkuc2VnbWVudFswXVsxXSx5LmluZGV4LCExLCEwKSkpKTpmPXkuY3JlYXRlP2YuaW5zZXJ0KHkuc2VnbWVudCx5LmluZGV4KTpmLnJlbW92ZSh5LnNlZ21lbnQpfXAucHVzaChmLnJvb3QpLGQucHVzaCh2KSxnLnB1c2gobSl9cmV0dXJuIG5ldyBzKHAsZCxnKX07dmFyIG49dCgiYmluYXJ5LXNlYXJjaC1ib3VuZHMiKSxhPXQoImZ1bmN0aW9uYWwtcmVkLWJsYWNrLXRyZWUiKSxpPXQoInJvYnVzdC1vcmllbnRhdGlvbiIpLG89dCgiLi9saWIvb3JkZXItc2VnbWVudHMiKTtmdW5jdGlvbiBzKHQsZSxyKXt0aGlzLnNsYWJzPXQsdGhpcy5jb29yZGluYXRlcz1lLHRoaXMuaG9yaXpvbnRhbD1yfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdC55LWV9ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgcj1udWxsO3Q7KXt2YXIgbixhLG89dC5rZXk7b1swXVswXTxvWzFdWzBdPyhuPW9bMF0sYT1vWzFdKToobj1vWzFdLGE9b1swXSk7dmFyIHM9aShuLGEsZSk7aWYoczwwKXQ9dC5sZWZ0O2Vsc2UgaWYocz4wKWlmKGVbMF0hPT1vWzFdWzBdKXI9dCx0PXQucmlnaHQ7ZWxzZXtpZihsPWModC5yaWdodCxlKSlyZXR1cm4gbDt0PXQubGVmdH1lbHNle2lmKGVbMF0hPT1vWzFdWzBdKXJldHVybiB0O3ZhciBsO2lmKGw9Yyh0LnJpZ2h0LGUpKXJldHVybiBsO3Q9dC5sZWZ0fX1yZXR1cm4gcn1mdW5jdGlvbiB1KHQsZSxyLG4pe3RoaXMueT10LHRoaXMuaW5kZXg9ZSx0aGlzLnN0YXJ0PXIsdGhpcy5jbG9zZWQ9bn1mdW5jdGlvbiBoKHQsZSxyLG4pe3RoaXMueD10LHRoaXMuc2VnbWVudD1lLHRoaXMuY3JlYXRlPXIsdGhpcy5pbmRleD1ufXMucHJvdG90eXBlLmNhc3RVcD1mdW5jdGlvbih0KXt2YXIgZT1uLmxlKHRoaXMuY29vcmRpbmF0ZXMsdFswXSk7aWYoZTwwKXJldHVybi0xO3RoaXMuc2xhYnNbZV07dmFyIHI9Yyh0aGlzLnNsYWJzW2VdLHQpLGE9LTE7aWYociYmKGE9ci52YWx1ZSksdGhpcy5jb29yZGluYXRlc1tlXT09PXRbMF0pe3ZhciBzPW51bGw7aWYociYmKHM9ci5rZXkpLGU+MCl7dmFyIHU9Yyh0aGlzLnNsYWJzW2UtMV0sdCk7dSYmKHM/byh1LmtleSxzKT4wJiYocz11LmtleSxhPXUudmFsdWUpOihhPXUudmFsdWUscz11LmtleSkpfXZhciBoPXRoaXMuaG9yaXpvbnRhbFtlXTtpZihoLmxlbmd0aD4wKXt2YXIgZj1uLmdlKGgsdFsxXSxsKTtpZihmPGgubGVuZ3RoKXt2YXIgcD1oW2ZdO2lmKHRbMV09PT1wLnkpe2lmKHAuY2xvc2VkKXJldHVybiBwLmluZGV4O2Zvcig7ZjxoLmxlbmd0aC0xJiZoW2YrMV0ueT09PXRbMV07KWlmKChwPWhbZis9MV0pLmNsb3NlZClyZXR1cm4gcC5pbmRleDtpZihwLnk9PT10WzFdJiYhcC5zdGFydCl7aWYoKGYrPTEpPj1oLmxlbmd0aClyZXR1cm4gYTtwPWhbZl19fWlmKHAuc3RhcnQpaWYocyl7dmFyIGQ9aShzWzBdLHNbMV0sW3RbMF0scC55XSk7c1swXVswXT5zWzFdWzBdJiYoZD0tZCksZD4wJiYoYT1wLmluZGV4KX1lbHNlIGE9cC5pbmRleDtlbHNlIHAueSE9PXRbMV0mJihhPXAuaW5kZXgpfX19cmV0dXJuIGF9fSx7Ii4vbGliL29yZGVyLXNlZ21lbnRzIjo1MjQsImJpbmFyeS1zZWFyY2gtYm91bmRzIjo5MywiZnVuY3Rpb25hbC1yZWQtYmxhY2stdHJlZSI6MjMzLCJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOX1dLDUyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJyb2J1c3QtZG90LXByb2R1Y3QiKSxhPXQoInJvYnVzdC1zdW0iKTtmdW5jdGlvbiBpKHQsZSl7dmFyIHI9YShuKHQsZSksW2VbZS5sZW5ndGgtMV1dKTtyZXR1cm4gcltyLmxlbmd0aC0xXX1mdW5jdGlvbiBvKHQsZSxyLG4pe3ZhciBhPS1lLyhuLWUpO2E8MD9hPTA6YT4xJiYoYT0xKTtmb3IodmFyIGk9MS1hLG89dC5sZW5ndGgscz1uZXcgQXJyYXkobyksbD0wO2w8bzsrK2wpc1tsXT1hKnRbbF0raSpyW2xdO3JldHVybiBzfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPVtdLGE9aSh0W3QubGVuZ3RoLTFdLGUpLHM9dFt0Lmxlbmd0aC0xXSxsPXRbMF0sYz0wO2M8dC5sZW5ndGg7KytjLHM9bCl7dmFyIHU9aShsPXRbY10sZSk7aWYoYTwwJiZ1PjB8fGE+MCYmdTwwKXt2YXIgaD1vKHMsdSxsLGEpO3IucHVzaChoKSxuLnB1c2goaC5zbGljZSgpKX11PDA/bi5wdXNoKGwuc2xpY2UoKSk6dT4wP3IucHVzaChsLnNsaWNlKCkpOihyLnB1c2gobC5zbGljZSgpKSxuLnB1c2gobC5zbGljZSgpKSksYT11fXJldHVybntwb3NpdGl2ZTpyLG5lZ2F0aXZlOm59fSxlLmV4cG9ydHMucG9zaXRpdmU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9W10sbj1pKHRbdC5sZW5ndGgtMV0sZSksYT10W3QubGVuZ3RoLTFdLHM9dFswXSxsPTA7bDx0Lmxlbmd0aDsrK2wsYT1zKXt2YXIgYz1pKHM9dFtsXSxlKTsobjwwJiZjPjB8fG4+MCYmYzwwKSYmci5wdXNoKG8oYSxjLHMsbikpLGM+PTAmJnIucHVzaChzLnNsaWNlKCkpLG49Y31yZXR1cm4gcn0sZS5leHBvcnRzLm5lZ2F0aXZlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49aSh0W3QubGVuZ3RoLTFdLGUpLGE9dFt0Lmxlbmd0aC0xXSxzPXRbMF0sbD0wO2w8dC5sZW5ndGg7KytsLGE9cyl7dmFyIGM9aShzPXRbbF0sZSk7KG48MCYmYz4wfHxuPjAmJmM8MCkmJnIucHVzaChvKGEsYyxzLG4pKSxjPD0wJiZyLnB1c2gocy5zbGljZSgpKSxuPWN9cmV0dXJuIHJ9fSx7InJvYnVzdC1kb3QtcHJvZHVjdCI6NTA2LCJyb2J1c3Qtc3VtIjo1MTR9XSw1Mjc6W2Z1bmN0aW9uKHQsZSxyKXshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHQ9e25vdF9zdHJpbmc6L1tec10vLG5vdF9ib29sOi9bXnRdLyxub3RfdHlwZTovW15UXS8sbm90X3ByaW1pdGl2ZTovW152XS8sbnVtYmVyOi9bZGllZmddLyxudW1lcmljX2FyZzovW2JjZGllZmd1eFhdLyxqc29uOi9bal0vLG5vdF9qc29uOi9bXmpdLyx0ZXh0Oi9eW15ceDI1XSsvLG1vZHVsbzovXlx4MjV7Mn0vLHBsYWNlaG9sZGVyOi9eXHgyNSg/OihbMS05XVxkKilcJHxcKChbXildKylcKSk/KFwrKT8oMHwnW14kXSk/KC0pPyhcZCspPyg/OlwuKFxkKykpPyhbYi1naWpvc3RUdXZ4WF0pLyxrZXk6L14oW2Etel9dW2Etel9cZF0qKS9pLGtleV9hY2Nlc3M6L15cLihbYS16X11bYS16X1xkXSopL2ksaW5kZXhfYWNjZXNzOi9eXFsoXGQrKVxdLyxzaWduOi9eWystXS99O2Z1bmN0aW9uIGUocil7cmV0dXJuIGZ1bmN0aW9uKHIsbil7dmFyIGEsaSxvLHMsbCxjLHUsaCxmLHA9MSxkPXIubGVuZ3RoLGc9IiI7Zm9yKGk9MDtpPGQ7aSsrKWlmKCJzdHJpbmciPT10eXBlb2YgcltpXSlnKz1yW2ldO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByW2ldKXtpZigocz1yW2ldKS5rZXlzKWZvcihhPW5bcF0sbz0wO288cy5rZXlzLmxlbmd0aDtvKyspe2lmKG51bGw9PWEpdGhyb3cgbmV3IEVycm9yKGUoJ1tzcHJpbnRmXSBDYW5ub3QgYWNjZXNzIHByb3BlcnR5ICIlcyIgb2YgdW5kZWZpbmVkIHZhbHVlICIlcyInLHMua2V5c1tvXSxzLmtleXNbby0xXSkpO2E9YVtzLmtleXNbb11dfWVsc2UgYT1zLnBhcmFtX25vP25bcy5wYXJhbV9ub106bltwKytdO2lmKHQubm90X3R5cGUudGVzdChzLnR5cGUpJiZ0Lm5vdF9wcmltaXRpdmUudGVzdChzLnR5cGUpJiZhIGluc3RhbmNlb2YgRnVuY3Rpb24mJihhPWEoKSksdC5udW1lcmljX2FyZy50ZXN0KHMudHlwZSkmJiJudW1iZXIiIT10eXBlb2YgYSYmaXNOYU4oYSkpdGhyb3cgbmV3IFR5cGVFcnJvcihlKCJbc3ByaW50Zl0gZXhwZWN0aW5nIG51bWJlciBidXQgZm91bmQgJVQiLGEpKTtzd2l0Y2godC5udW1iZXIudGVzdChzLnR5cGUpJiYoaD1hPj0wKSxzLnR5cGUpe2Nhc2UiYiI6YT1wYXJzZUludChhLDEwKS50b1N0cmluZygyKTticmVhaztjYXNlImMiOmE9U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChhLDEwKSk7YnJlYWs7Y2FzZSJkIjpjYXNlImkiOmE9cGFyc2VJbnQoYSwxMCk7YnJlYWs7Y2FzZSJqIjphPUpTT04uc3RyaW5naWZ5KGEsbnVsbCxzLndpZHRoP3BhcnNlSW50KHMud2lkdGgpOjApO2JyZWFrO2Nhc2UiZSI6YT1zLnByZWNpc2lvbj9wYXJzZUZsb2F0KGEpLnRvRXhwb25lbnRpYWwocy5wcmVjaXNpb24pOnBhcnNlRmxvYXQoYSkudG9FeHBvbmVudGlhbCgpO2JyZWFrO2Nhc2UiZiI6YT1zLnByZWNpc2lvbj9wYXJzZUZsb2F0KGEpLnRvRml4ZWQocy5wcmVjaXNpb24pOnBhcnNlRmxvYXQoYSk7YnJlYWs7Y2FzZSJnIjphPXMucHJlY2lzaW9uP1N0cmluZyhOdW1iZXIoYS50b1ByZWNpc2lvbihzLnByZWNpc2lvbikpKTpwYXJzZUZsb2F0KGEpO2JyZWFrO2Nhc2UibyI6YT0ocGFyc2VJbnQoYSwxMCk+Pj4wKS50b1N0cmluZyg4KTticmVhaztjYXNlInMiOmE9U3RyaW5nKGEpLGE9cy5wcmVjaXNpb24/YS5zdWJzdHJpbmcoMCxzLnByZWNpc2lvbik6YTticmVhaztjYXNlInQiOmE9U3RyaW5nKCEhYSksYT1zLnByZWNpc2lvbj9hLnN1YnN0cmluZygwLHMucHJlY2lzaW9uKTphO2JyZWFrO2Nhc2UiVCI6YT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSkuc2xpY2UoOCwtMSkudG9Mb3dlckNhc2UoKSxhPXMucHJlY2lzaW9uP2Euc3Vic3RyaW5nKDAscy5wcmVjaXNpb24pOmE7YnJlYWs7Y2FzZSJ1IjphPXBhcnNlSW50KGEsMTApPj4+MDticmVhaztjYXNlInYiOmE9YS52YWx1ZU9mKCksYT1zLnByZWNpc2lvbj9hLnN1YnN0cmluZygwLHMucHJlY2lzaW9uKTphO2JyZWFrO2Nhc2UieCI6YT0ocGFyc2VJbnQoYSwxMCk+Pj4wKS50b1N0cmluZygxNik7YnJlYWs7Y2FzZSJYIjphPShwYXJzZUludChhLDEwKT4+PjApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfXQuanNvbi50ZXN0KHMudHlwZSk/Zys9YTooIXQubnVtYmVyLnRlc3Qocy50eXBlKXx8aCYmIXMuc2lnbj9mPSIiOihmPWg/IisiOiItIixhPWEudG9TdHJpbmcoKS5yZXBsYWNlKHQuc2lnbiwiIikpLGM9cy5wYWRfY2hhcj8iMCI9PT1zLnBhZF9jaGFyPyIwIjpzLnBhZF9jaGFyLmNoYXJBdCgxKToiICIsdT1zLndpZHRoLShmK2EpLmxlbmd0aCxsPXMud2lkdGgmJnU+MD9jLnJlcGVhdCh1KToiIixnKz1zLmFsaWduP2YrYStsOiIwIj09PWM/ZitsK2E6bCtmK2EpfXJldHVybiBnfShmdW5jdGlvbihlKXtpZihhW2VdKXJldHVybiBhW2VdO3ZhciByLG49ZSxpPVtdLG89MDtmb3IoO247KXtpZihudWxsIT09KHI9dC50ZXh0LmV4ZWMobikpKWkucHVzaChyWzBdKTtlbHNlIGlmKG51bGwhPT0ocj10Lm1vZHVsby5leGVjKG4pKSlpLnB1c2goIiUiKTtlbHNle2lmKG51bGw9PT0ocj10LnBsYWNlaG9sZGVyLmV4ZWMobikpKXRocm93IG5ldyBTeW50YXhFcnJvcigiW3NwcmludGZdIHVuZXhwZWN0ZWQgcGxhY2Vob2xkZXIiKTtpZihyWzJdKXtvfD0xO3ZhciBzPVtdLGw9clsyXSxjPVtdO2lmKG51bGw9PT0oYz10LmtleS5leGVjKGwpKSl0aHJvdyBuZXcgU3ludGF4RXJyb3IoIltzcHJpbnRmXSBmYWlsZWQgdG8gcGFyc2UgbmFtZWQgYXJndW1lbnQga2V5Iik7Zm9yKHMucHVzaChjWzFdKTsiIiE9PShsPWwuc3Vic3RyaW5nKGNbMF0ubGVuZ3RoKSk7KWlmKG51bGwhPT0oYz10LmtleV9hY2Nlc3MuZXhlYyhsKSkpcy5wdXNoKGNbMV0pO2Vsc2V7aWYobnVsbD09PShjPXQuaW5kZXhfYWNjZXNzLmV4ZWMobCkpKXRocm93IG5ldyBTeW50YXhFcnJvcigiW3NwcmludGZdIGZhaWxlZCB0byBwYXJzZSBuYW1lZCBhcmd1bWVudCBrZXkiKTtzLnB1c2goY1sxXSl9clsyXT1zfWVsc2Ugb3w9MjtpZigzPT09byl0aHJvdyBuZXcgRXJyb3IoIltzcHJpbnRmXSBtaXhpbmcgcG9zaXRpb25hbCBhbmQgbmFtZWQgcGxhY2Vob2xkZXJzIGlzIG5vdCAoeWV0KSBzdXBwb3J0ZWQiKTtpLnB1c2goe3BsYWNlaG9sZGVyOnJbMF0scGFyYW1fbm86clsxXSxrZXlzOnJbMl0sc2lnbjpyWzNdLHBhZF9jaGFyOnJbNF0sYWxpZ246cls1XSx3aWR0aDpyWzZdLHByZWNpc2lvbjpyWzddLHR5cGU6cls4XX0pfW49bi5zdWJzdHJpbmcoclswXS5sZW5ndGgpfXJldHVybiBhW2VdPWl9KHIpLGFyZ3VtZW50cyl9ZnVuY3Rpb24gbih0LHIpe3JldHVybiBlLmFwcGx5KG51bGwsW3RdLmNvbmNhdChyfHxbXSkpfXZhciBhPU9iamVjdC5jcmVhdGUobnVsbCk7InVuZGVmaW5lZCIhPXR5cGVvZiByJiYoci5zcHJpbnRmPWUsci52c3ByaW50Zj1uKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5zcHJpbnRmPWUsd2luZG93LnZzcHJpbnRmPW4pfSgpfSx7fV0sNTI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInBhcmVudGhlc2lzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZihudWxsPT10KXRocm93IEVycm9yKCJGaXJzdCBhcmd1bWVudCBzaG91bGQgYmUgYSBzdHJpbmciKTtpZihudWxsPT1lKXRocm93IEVycm9yKCJTZXBhcmF0b3Igc2hvdWxkIGJlIGEgc3RyaW5nIG9yIGEgUmVnRXhwIik7cj8oInN0cmluZyI9PXR5cGVvZiByfHxBcnJheS5pc0FycmF5KHIpKSYmKHI9e2lnbm9yZTpyfSk6cj17fSxudWxsPT1yLmVzY2FwZSYmKHIuZXNjYXBlPSEwKSxudWxsPT1yLmlnbm9yZT9yLmlnbm9yZT1bIltdIiwiKCkiLCJ7fSIsIjw+IiwnIiInLCInJyIsImBgIiwiXHUyMDFjXHUyMDFkIiwiXHhhYlx4YmIiXTooInN0cmluZyI9PXR5cGVvZiByLmlnbm9yZSYmKHIuaWdub3JlPVtyLmlnbm9yZV0pLHIuaWdub3JlPXIuaWdub3JlLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodCs9dCksdH0pKTt2YXIgYT1uLnBhcnNlKHQse2ZsYXQ6ITAsYnJhY2tldHM6ci5pZ25vcmV9KSxpPWFbMF0uc3BsaXQoZSk7aWYoci5lc2NhcGUpe2Zvcih2YXIgbz1bXSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBsPWlbc10sYz1pW3MrMV07IlxcIj09PWxbbC5sZW5ndGgtMV0mJiJcXCIhPT1sW2wubGVuZ3RoLTJdPyhvLnB1c2gobCtlK2MpLHMrKyk6by5wdXNoKGwpfWk9b31mb3Iocz0wO3M8aS5sZW5ndGg7cysrKWFbMF09aVtzXSxpW3NdPW4uc3RyaW5naWZ5KGEse2ZsYXQ6ITB9KTtyZXR1cm4gaX19LHtwYXJlbnRoZXNpczo0NjB9XSw1Mjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPW5ldyBBcnJheShlKSxhPW5ldyBBcnJheShlKSxpPW5ldyBBcnJheShlKSxvPW5ldyBBcnJheShlKSxzPW5ldyBBcnJheShlKSxsPTA7bDxlOysrbClyW2xdPS0xLG5bbF09MCxhW2xdPSExLGlbbF09MCxvW2xdPS0xLHNbbF09W107dmFyIGMsdT0wLGg9W10sZj1bXTtmdW5jdGlvbiBwKGUpe3ZhciBsPVtlXSxjPVtlXTtmb3IocltlXT1uW2VdPXUsYVtlXT0hMCx1Kz0xO2MubGVuZ3RoPjA7KXtlPWNbYy5sZW5ndGgtMV07dmFyIHA9dFtlXTtpZihpW2VdPHAubGVuZ3RoKXtmb3IodmFyIGQ9aVtlXTtkPHAubGVuZ3RoOysrZCl7dmFyIGc9cFtkXTtpZihyW2ddPDApe3JbZ109bltnXT11LGFbZ109ITAsdSs9MSxsLnB1c2goZyksYy5wdXNoKGcpO2JyZWFrfWFbZ10mJihuW2VdPTB8TWF0aC5taW4obltlXSxuW2ddKSksb1tnXT49MCYmc1tlXS5wdXNoKG9bZ10pfWlbZV09ZH1lbHNle2lmKG5bZV09PT1yW2VdKXtmb3IodmFyIHY9W10sbT1bXSx5PTAsZD1sLmxlbmd0aC0xO2Q+PTA7LS1kKXt2YXIgeD1sW2RdO2lmKGFbeF09ITEsdi5wdXNoKHgpLG0ucHVzaChzW3hdKSx5Kz1zW3hdLmxlbmd0aCxvW3hdPWgubGVuZ3RoLHg9PT1lKXtsLmxlbmd0aD1kO2JyZWFrfX1oLnB1c2godik7Zm9yKHZhciBiPW5ldyBBcnJheSh5KSxkPTA7ZDxtLmxlbmd0aDtkKyspZm9yKHZhciBfPTA7XzxtW2RdLmxlbmd0aDtfKyspYlstLXldPW1bZF1bX107Zi5wdXNoKGIpfWMucG9wKCl9fX1mb3IodmFyIGw9MDtsPGU7KytsKXJbbF08MCYmcChsKTtmb3IodmFyIGw9MDtsPGYubGVuZ3RoO2wrKyl7dmFyIGQ9ZltsXTtpZigwIT09ZC5sZW5ndGgpe2Quc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSxjPVtkWzBdXTtmb3IodmFyIGc9MTtnPGQubGVuZ3RoO2crKylkW2ddIT09ZFtnLTFdJiZjLnB1c2goZFtnXSk7ZltsXT1jfX1yZXR1cm57Y29tcG9uZW50czpoLGFkamFjZW5jeUxpc3Q6Zn19fSx7fV0sNTMwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKHQuZGltZW5zaW9uPD0wKXJldHVybntwb3NpdGlvbnM6W10sY2VsbHM6W119O2lmKDE9PT10LmRpbWVuc2lvbilyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9aSh0LGUpLG49ci5sZW5ndGgsYT1uZXcgQXJyYXkobiksbz1uZXcgQXJyYXkobikscz0wO3M8bjsrK3MpYVtzXT1bcltzXV0sb1tzXT1bc107cmV0dXJue3Bvc2l0aW9uczphLGNlbGxzOm99fSh0LGUpO3ZhciByPXQub3JkZXIuam9pbigpKyItIit0LmR0eXBlLHM9b1tyXSxlPStlfHwwO3N8fChzPW9bcl09ZnVuY3Rpb24odCxlKXt2YXIgcj10Lmxlbmd0aCxpPVsiJ3VzZSBzdHJpY3QnOyJdLG89InN1cmZhY2VOZXRzIit0LmpvaW4oIl8iKSsiZCIrZTtpLnB1c2goInZhciBjb250b3VyPWdlbkNvbnRvdXIoeyIsIm9yZGVyOlsiLHQuam9pbigpLCJdLCIsInNjYWxhckFyZ3VtZW50czogMywiLCJwaGFzZTpmdW5jdGlvbiBwaGFzZUZ1bmMocCxhLGIsYykgeyByZXR1cm4gKHAgPiBjKXwwIH0sIiksImdlbmVyaWMiPT09ZSYmaS5wdXNoKCJnZXR0ZXJzOlswXSwiKTtmb3IodmFyIHM9W10sbD1bXSxjPTA7YzxyOysrYylzLnB1c2goImQiK2MpLGwucHVzaCgiZCIrYyk7Zm9yKHZhciBjPTA7YzwxPDxyOysrYylzLnB1c2goInYiK2MpLGwucHVzaCgidiIrYyk7Zm9yKHZhciBjPTA7YzwxPDxyOysrYylzLnB1c2goInAiK2MpLGwucHVzaCgicCIrYyk7cy5wdXNoKCJhIiwiYiIsImMiKSxsLnB1c2goImEiLCJjIiksaS5wdXNoKCJ2ZXJ0ZXg6ZnVuY3Rpb24gdmVydGV4RnVuYygiLHMuam9pbigpLCIpeyIpO2Zvcih2YXIgdT1bXSxjPTA7YzwxPDxyOysrYyl1LnB1c2goIihwIitjKyI8PCIrYysiKSIpO2kucHVzaCgidmFyIG09KCIsdS5qb2luKCIrIiksIil8MDtpZihtPT09MHx8bT09PSIsKDE8PCgxPDxyKSktMSwiKXtyZXR1cm59Iik7dmFyIGg9W10sZj1bXTsxPDwoMTw8cik8PTEyOD8oaS5wdXNoKCJzd2l0Y2gobSl7IiksZj1pKTppLnB1c2goInN3aXRjaChtPj4+Nyl7Iik7Zm9yKHZhciBjPTA7YzwxPDwoMTw8cik7KytjKXtpZigxPDwoMTw8cik+MTI4JiZjJTEyOD09MCl7aC5sZW5ndGg+MCYmZi5wdXNoKCJ9fSIpO3ZhciBwPSJ2RXh0cmEiK2gubGVuZ3RoO2kucHVzaCgiY2FzZSAiLGM+Pj43LCI6IixwLCIobSYweDdmLCIsbC5qb2luKCksIik7YnJlYWs7IiksZj1bImZ1bmN0aW9uICIscCwiKG0sIixsLmpvaW4oKSwiKXtzd2l0Y2gobSl7Il0saC5wdXNoKGYpfWYucHVzaCgiY2FzZSAiLDEyNyZjLCI6Iik7Zm9yKHZhciBkPW5ldyBBcnJheShyKSxnPW5ldyBBcnJheShyKSx2PW5ldyBBcnJheShyKSxtPW5ldyBBcnJheShyKSx5PTAseD0wO3g8cjsrK3gpZFt4XT1bXSxnW3hdPVtdLHZbeF09MCxtW3hdPTA7Zm9yKHZhciB4PTA7eDwxPDxyOysreClmb3IodmFyIGI9MDtiPHI7KytiKXt2YXIgXz14XjE8PGI7aWYoIShfPngpJiYhKGMmMTw8XykhPSEoYyYxPDx4KSl7dmFyIHc9MTtjJjE8PF8/Z1tiXS5wdXNoKCJ2IitfKyItdiIreCk6KGdbYl0ucHVzaCgidiIreCsiLXYiK18pLHc9LXcpLHc8MD8oZFtiXS5wdXNoKCItdiIreCsiLXYiK18pLHZbYl0rPTIpOihkW2JdLnB1c2goInYiK3grIit2IitfKSx2W2JdLT0yKSx5Kz0xO2Zvcih2YXIgaz0wO2s8cjsrK2spayE9PWImJihfJjE8PGs/bVtrXSs9MTptW2tdLT0xKX19Zm9yKHZhciBUPVtdLGI9MDtiPHI7KytiKWlmKDA9PT1kW2JdLmxlbmd0aClULnB1c2goImQiK2IrIi0wLjUiKTtlbHNle3ZhciBNPSIiO3ZbYl08MD9NPXZbYl0rIipjIjp2W2JdPjAmJihNPSIrIit2W2JdKyIqYyIpO3ZhciBBPWRbYl0ubGVuZ3RoL3kqLjUsUz0uNSttW2JdL3kqLjU7VC5wdXNoKCJkIitiKyItIitTKyItIitBKyIqKCIrZFtiXS5qb2luKCIrIikrTSsiKS8oIitnW2JdLmpvaW4oIisiKSsiKSIpfWYucHVzaCgiYS5wdXNoKFsiLFQuam9pbigpLCJdKTsiLCJicmVhazsiKX1pLnB1c2goIn19LCIpLGgubGVuZ3RoPjAmJmYucHVzaCgifX0iKTtmb3IodmFyIEU9W10sYz0wO2M8MTw8ci0xOysrYylFLnB1c2goInYiK2MpO0UucHVzaCgiYzAiLCJjMSIsInAwIiwicDEiLCJhIiwiYiIsImMiKSxpLnB1c2goImNlbGw6ZnVuY3Rpb24gY2VsbEZ1bmMoIixFLmpvaW4oKSwiKXsiKTt2YXIgTD1hKHItMSk7aS5wdXNoKCJpZihwMCl7Yi5wdXNoKCIsTC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIlsiK3QubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJ2Iit0fSkrIl0ifSkuam9pbigpLCIpfWVsc2V7Yi5wdXNoKCIsTC5tYXAoZnVuY3Rpb24odCl7dmFyIGU9dC5zbGljZSgpO3JldHVybiBlLnJldmVyc2UoKSwiWyIrZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuInYiK3R9KSsiXSJ9KS5qb2luKCksIil9fX0pO2Z1bmN0aW9uICIsbywiKGFycmF5LGxldmVsKXt2YXIgdmVydHM9W10sY2VsbHM9W107Y29udG91cihhcnJheSx2ZXJ0cyxjZWxscyxsZXZlbCk7cmV0dXJuIHtwb3NpdGlvbnM6dmVydHMsY2VsbHM6Y2VsbHN9O30gcmV0dXJuICIsbywiOyIpO2Zvcih2YXIgYz0wO2M8aC5sZW5ndGg7KytjKWkucHVzaChoW2NdLmpvaW4oIiIpKTtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJnZW5Db250b3VyIixpLmpvaW4oIiIpKShuKX0odC5vcmRlcix0LmR0eXBlKSk7cmV0dXJuIHModCxlKX07dmFyIG49dCgibmRhcnJheS1leHRyYWN0LWNvbnRvdXIiKSxhPXQoInRyaWFuZ3VsYXRlLWh5cGVyY3ViZSIpLGk9dCgiemVyby1jcm9zc2luZ3MiKTt2YXIgbz17fX0seyJuZGFycmF5LWV4dHJhY3QtY29udG91ciI6NDQxLCJ0cmlhbmd1bGF0ZS1oeXBlcmN1YmUiOjU0MCwiemVyby1jcm9zc2luZ3MiOjU3M31dLDUzMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlKXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0O2lmKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpcmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9W10sbj0hMCxhPSExLGk9dm9pZCAwO3RyeXtmb3IodmFyIG8scz10W1N5bWJvbC5pdGVyYXRvcl0oKTshKG49KG89cy5uZXh0KCkpLmRvbmUpJiYoci5wdXNoKG8udmFsdWUpLCFlfHxyLmxlbmd0aCE9PWUpO249ITApO31jYXRjaCh0KXthPSEwLGk9dH1maW5hbGx5e3RyeXshbiYmcy5yZXR1cm4mJnMucmV0dXJuKCl9ZmluYWxseXtpZihhKXRocm93IGl9fXJldHVybiByfSh0LGUpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UiKX19KCksYT0yKk1hdGguUEksaT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcz10LngsbD10Lnk7cmV0dXJue3g6bioocyo9ZSktYSoobCo9cikraSx5OmEqcytuKmwrb319LG89ZnVuY3Rpb24odCxlKXt2YXIgcj0uNTUxOTE1MDI0NDk0KihlPDA/LTE6MSksbj1NYXRoLmNvcyh0KSxhPU1hdGguc2luKHQpLGk9TWF0aC5jb3ModCtlKSxvPU1hdGguc2luKHQrZSk7cmV0dXJuW3t4Om4tYSpyLHk6YStuKnJ9LHt4OmkrbypyLHk6by1pKnJ9LHt4OmkseTpvfV19LHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dCpuLWUqcjwwPy0xOjEsaT0odCpyK2UqbikvKE1hdGguc3FydCh0KnQrZSplKSpNYXRoLnNxcnQodCp0K2UqZSkpO3JldHVybiBpPjEmJihpPTEpLGk8LTEmJihpPS0xKSxhKk1hdGguYWNvcyhpKX07ci5kZWZhdWx0PWZ1bmN0aW9uKHQpe3ZhciBlPXQucHgscj10LnB5LGw9dC5jeCxjPXQuY3ksdT10LnJ4LGg9dC5yeSxmPXQueEF4aXNSb3RhdGlvbixwPXZvaWQgMD09PWY/MDpmLGQ9dC5sYXJnZUFyY0ZsYWcsZz12b2lkIDA9PT1kPzA6ZCx2PXQuc3dlZXBGbGFnLG09dm9pZCAwPT09dj8wOnYseT1bXTtpZigwPT09dXx8MD09PWgpcmV0dXJuW107dmFyIHg9TWF0aC5zaW4ocCphLzM2MCksYj1NYXRoLmNvcyhwKmEvMzYwKSxfPWIqKGUtbCkvMit4KihyLWMpLzIsdz0teCooZS1sKS8yK2IqKHItYykvMjtpZigwPT09XyYmMD09PXcpcmV0dXJuW107dT1NYXRoLmFicyh1KSxoPU1hdGguYWJzKGgpO3ZhciBrPU1hdGgucG93KF8sMikvTWF0aC5wb3codSwyKStNYXRoLnBvdyh3LDIpL01hdGgucG93KGgsMik7az4xJiYodSo9TWF0aC5zcXJ0KGspLGgqPU1hdGguc3FydChrKSk7dmFyIFQ9ZnVuY3Rpb24odCxlLHIsbixpLG8sbCxjLHUsaCxmLHApe3ZhciBkPU1hdGgucG93KGksMiksZz1NYXRoLnBvdyhvLDIpLHY9TWF0aC5wb3coZiwyKSxtPU1hdGgucG93KHAsMikseT1kKmctZCptLWcqdjt5PDAmJih5PTApLHkvPWQqbStnKnY7dmFyIHg9KHk9TWF0aC5zcXJ0KHkpKihsPT09Yz8tMToxKSkqaS9vKnAsYj15Ki1vL2kqZixfPWgqeC11KmIrKHQrcikvMix3PXUqeCtoKmIrKGUrbikvMixrPShmLXgpL2ksVD0ocC1iKS9vLE09KC1mLXgpL2ksQT0oLXAtYikvbyxTPXMoMSwwLGssVCksRT1zKGssVCxNLEEpO3JldHVybiAwPT09YyYmRT4wJiYoRS09YSksMT09PWMmJkU8MCYmKEUrPWEpLFtfLHcsUyxFXX0oZSxyLGwsYyx1LGgsZyxtLHgsYixfLHcpLE09bihULDQpLEE9TVswXSxTPU1bMV0sRT1NWzJdLEw9TVszXSxDPU1hdGguYWJzKEwpLyhhLzQpO01hdGguYWJzKDEtQyk8MWUtNyYmKEM9MSk7dmFyIFA9TWF0aC5tYXgoTWF0aC5jZWlsKEMpLDEpO0wvPVA7Zm9yKHZhciBPPTA7TzxQO08rKyl5LnB1c2gobyhFLEwpKSxFKz1MO3JldHVybiB5Lm1hcChmdW5jdGlvbih0KXt2YXIgZT1pKHRbMF0sdSxoLGIseCxBLFMpLHI9ZS54LG49ZS55LGE9aSh0WzFdLHUsaCxiLHgsQSxTKSxvPWEueCxzPWEueSxsPWkodFsyXSx1LGgsYix4LEEsUyk7cmV0dXJue3gxOnIseTE6bix4MjpvLHkyOnMseDpsLngseTpsLnl9fSl9LGUuZXhwb3J0cz1yLmRlZmF1bHR9LHt9XSw1MzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicGFyc2Utc3ZnLXBhdGgiKSxhPXQoImFicy1zdmctcGF0aCIpLGk9dCgibm9ybWFsaXplLXN2Zy1wYXRoIiksbz10KCJpcy1zdmctcGF0aCIpLHM9dCgiYXNzZXJ0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe0FycmF5LmlzQXJyYXkodCkmJjE9PT10Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiB0WzBdJiYodD10WzBdKTsic3RyaW5nIj09dHlwZW9mIHQmJihzKG8odCksIlN0cmluZyBpcyBub3QgYW4gU1ZHIHBhdGguIiksdD1uKHQpKTtpZihzKEFycmF5LmlzQXJyYXkodCksIkFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyBvciBhbiBhcnJheSBvZiBwYXRoIHNlZ21lbnRzLiIpLHQ9YSh0KSwhKHQ9aSh0KSkubGVuZ3RoKXJldHVyblswLDAsMCwwXTtmb3IodmFyIGU9WzEvMCwxLzAsLTEvMCwtMS8wXSxyPTAsbD10Lmxlbmd0aDtyPGw7cisrKWZvcih2YXIgYz10W3JdLnNsaWNlKDEpLHU9MDt1PGMubGVuZ3RoO3UrPTIpY1t1KzBdPGVbMF0mJihlWzBdPWNbdSswXSksY1t1KzFdPGVbMV0mJihlWzFdPWNbdSsxXSksY1t1KzBdPmVbMl0mJihlWzJdPWNbdSswXSksY1t1KzFdPmVbM10mJihlWzNdPWNbdSsxXSk7cmV0dXJuIGV9fSx7ImFicy1zdmctcGF0aCI6NjMsYXNzZXJ0OjcwLCJpcy1zdmctcGF0aCI6NDI2LCJub3JtYWxpemUtc3ZnLXBhdGgiOjUzMywicGFyc2Utc3ZnLXBhdGgiOjQ2Mn1dLDUzMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9W10sbz0wLHM9MCxsPTAsYz0wLHU9bnVsbCxoPW51bGwsZj0wLHA9MCxkPTAsZz10Lmxlbmd0aDtkPGc7ZCsrKXt2YXIgdj10W2RdLG09dlswXTtzd2l0Y2gobSl7Y2FzZSJNIjpsPXZbMV0sYz12WzJdO2JyZWFrO2Nhc2UiQSI6dmFyIHk9bih7cHg6ZixweTpwLGN4OnZbNl0sY3k6dls3XSxyeDp2WzFdLHJ5OnZbMl0seEF4aXNSb3RhdGlvbjp2WzNdLGxhcmdlQXJjRmxhZzp2WzRdLHN3ZWVwRmxhZzp2WzVdfSk7aWYoIXkubGVuZ3RoKWNvbnRpbnVlO2Zvcih2YXIgeCxiPTA7Yjx5Lmxlbmd0aDtiKyspeD15W2JdLHY9WyJDIix4LngxLHgueTEseC54Mix4LnkyLHgueCx4LnldLGI8eS5sZW5ndGgtMSYmci5wdXNoKHYpO2JyZWFrO2Nhc2UiUyI6dmFyIF89Zix3PXA7IkMiIT1lJiYiUyIhPWV8fChfKz1fLW8sdys9dy1zKSx2PVsiQyIsXyx3LHZbMV0sdlsyXSx2WzNdLHZbNF1dO2JyZWFrO2Nhc2UiVCI6IlEiPT1lfHwiVCI9PWU/KHU9MipmLXUsaD0yKnAtaCk6KHU9ZixoPXApLHY9aShmLHAsdSxoLHZbMV0sdlsyXSk7YnJlYWs7Y2FzZSJRIjp1PXZbMV0saD12WzJdLHY9aShmLHAsdlsxXSx2WzJdLHZbM10sdls0XSk7YnJlYWs7Y2FzZSJMIjp2PWEoZixwLHZbMV0sdlsyXSk7YnJlYWs7Y2FzZSJIIjp2PWEoZixwLHZbMV0scCk7YnJlYWs7Y2FzZSJWIjp2PWEoZixwLGYsdlsxXSk7YnJlYWs7Y2FzZSJaIjp2PWEoZixwLGwsYyl9ZT1tLGY9dlt2Lmxlbmd0aC0yXSxwPXZbdi5sZW5ndGgtMV0sdi5sZW5ndGg+ND8obz12W3YubGVuZ3RoLTRdLHM9dlt2Lmxlbmd0aC0zXSk6KG89ZixzPXApLHIucHVzaCh2KX1yZXR1cm4gcn07dmFyIG49dCgic3ZnLWFyYy10by1jdWJpYy1iZXppZXIiKTtmdW5jdGlvbiBhKHQsZSxyLG4pe3JldHVyblsiQyIsdCxlLHIsbixyLG5dfWZ1bmN0aW9uIGkodCxlLHIsbixhLGkpe3JldHVyblsiQyIsdC8zKzIvMypyLGUvMysyLzMqbixhLzMrMi8zKnIsaS8zKzIvMypuLGEsaV19fSx7InN2Zy1hcmMtdG8tY3ViaWMtYmV6aWVyIjo1MzF9XSw1MzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG4sYT10KCJzdmctcGF0aC1ib3VuZHMiKSxpPXQoInBhcnNlLXN2Zy1wYXRoIiksbz10KCJkcmF3LXN2Zy1wYXRoIikscz10KCJpcy1zdmctcGF0aCIpLGw9dCgiYml0bWFwLXNkZiIpLGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdT1jLmdldENvbnRleHQoIjJkIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoIXModCkpdGhyb3cgRXJyb3IoIkFyZ3VtZW50IHNob3VsZCBiZSB2YWxpZCBzdmcgcGF0aCBzdHJpbmciKTtlfHwoZT17fSk7dmFyIHIsaDtlLnNoYXBlPyhyPWUuc2hhcGVbMF0saD1lLnNoYXBlWzFdKToocj1jLndpZHRoPWUud3x8ZS53aWR0aHx8MjAwLGg9Yy5oZWlnaHQ9ZS5ofHxlLmhlaWdodHx8MjAwKTt2YXIgZj1NYXRoLm1pbihyLGgpLHA9ZS5zdHJva2V8fDAsZD1lLnZpZXdib3h8fGUudmlld0JveHx8YSh0KSxnPVtyLyhkWzJdLWRbMF0pLGgvKGRbM10tZFsxXSldLHY9TWF0aC5taW4oZ1swXXx8MCxnWzFdfHwwKS8yO3UuZmlsbFN0eWxlPSJibGFjayIsdS5maWxsUmVjdCgwLDAscixoKSx1LmZpbGxTdHlsZT0id2hpdGUiLHAmJigibnVtYmVyIiE9dHlwZW9mIHAmJihwPTEpLHUuc3Ryb2tlU3R5bGU9cD4wPyJ3aGl0ZSI6ImJsYWNrIix1LmxpbmVXaWR0aD1NYXRoLmFicyhwKSk7aWYodS50cmFuc2xhdGUoLjUqciwuNSpoKSx1LnNjYWxlKHYsdiksZnVuY3Rpb24oKXtpZihudWxsIT1uKXJldHVybiBuO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7aWYodC5jYW52YXMud2lkdGg9dC5jYW52YXMuaGVpZ2h0PTEsIXdpbmRvdy5QYXRoMkQpcmV0dXJuIG49ITE7dmFyIGU9bmV3IFBhdGgyRCgiTTAsMGgxdjFoLTF2LTFaIik7dC5maWxsU3R5bGU9ImJsYWNrIix0LmZpbGwoZSk7dmFyIHI9dC5nZXRJbWFnZURhdGEoMCwwLDEsMSk7cmV0dXJuIG49ciYmci5kYXRhJiYyNTU9PT1yLmRhdGFbM119KCkpe3ZhciBtPW5ldyBQYXRoMkQodCk7dS5maWxsKG0pLHAmJnUuc3Ryb2tlKG0pfWVsc2V7dmFyIHk9aSh0KTtvKHUseSksdS5maWxsKCkscCYmdS5zdHJva2UoKX1yZXR1cm4gdS5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApLGwodSx7Y3V0b2ZmOm51bGwhPWUuY3V0b2ZmP2UuY3V0b2ZmOi41LHJhZGl1czpudWxsIT1lLnJhZGl1cz9lLnJhZGl1czouNSpmfSl9fSx7ImJpdG1hcC1zZGYiOjk1LCJkcmF3LXN2Zy1wYXRoIjoxNzAsImlzLXN2Zy1wYXRoIjo0MjYsInBhcnNlLXN2Zy1wYXRoIjo0NjIsInN2Zy1wYXRoLWJvdW5kcyI6NTMyfV0sNTM1OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24gdChlLHIsYSl7dmFyIGE9YXx8e307dmFyIG89aVtlXTtvfHwobz1pW2VdPXsiICI6e2RhdGE6bmV3IEZsb2F0MzJBcnJheSgwKSxzaGFwZTouMn19KTt2YXIgcz1vW3JdO2lmKCFzKWlmKHIubGVuZ3RoPD0xfHwhL1xkLy50ZXN0KHIpKXM9b1tyXT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5jZWxscyxyPXQucG9zaXRpb25zLG49bmV3IEZsb2F0MzJBcnJheSg2KmUubGVuZ3RoKSxhPTAsaT0wLG89MDtvPGUubGVuZ3RoOysrbylmb3IodmFyIHM9ZVtvXSxsPTA7bDwzOysrbCl7dmFyIGM9cltzW2xdXTtuW2ErK109Y1swXSxuW2ErK109Y1sxXSsxLjQsaT1NYXRoLm1heChjWzBdLGkpfXJldHVybntkYXRhOm4sc2hhcGU6aX19KG4ocix7dHJpYW5nbGVzOiEwLGZvbnQ6ZSx0ZXh0QWxpZ246YS50ZXh0QWxpZ258fCJsZWZ0Iix0ZXh0QmFzZWxpbmU6ImFscGhhYmV0aWMiLHN0eWxldGFnczp7YnJlYWtsaW5lczohMCxib2xkczohMCxpdGFsaWNzOiEwLHN1YnNjcmlwdHM6ITAsc3VwZXJzY3JpcHRzOiEwfX0pKTtlbHNle2Zvcih2YXIgbD1yLnNwbGl0KC8oXGR8XHMpLyksYz1uZXcgQXJyYXkobC5sZW5ndGgpLHU9MCxoPTAsZj0wO2Y8bC5sZW5ndGg7KytmKWNbZl09dChlLGxbZl0pLHUrPWNbZl0uZGF0YS5sZW5ndGgsaCs9Y1tmXS5zaGFwZSxmPjAmJihoKz0uMDIpO2Zvcih2YXIgcD1uZXcgRmxvYXQzMkFycmF5KHUpLGQ9MCxnPS0uNSpoLGY9MDtmPGMubGVuZ3RoOysrZil7Zm9yKHZhciB2PWNbZl0uZGF0YSxtPTA7bTx2Lmxlbmd0aDttKz0yKXBbZCsrXT12W21dK2cscFtkKytdPXZbbSsxXTtnKz1jW2ZdLnNoYXBlKy4wMn1zPW9bcl09e2RhdGE6cCxzaGFwZTpofX1yZXR1cm4gc307dmFyIG49dCgidmVjdG9yaXplLXRleHQiKSxhPXdpbmRvd3x8ci5nbG9iYWx8fHt9LGk9YS5fX1RFWFRfQ0FDSEV8fHt9O2EuX19URVhUX0NBQ0hFPXt9fSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIikpfSx7X3Byb2Nlc3M6NDg0LCJ2ZWN0b3JpemUtdGV4dCI6NTQ5fV0sNTM2OltmdW5jdGlvbih0LGUscil7IWZ1bmN0aW9uKHQpe3ZhciByPS9eXHMrLyxuPS9ccyskLyxhPTAsaT10LnJvdW5kLG89dC5taW4scz10Lm1heCxsPXQucmFuZG9tO2Z1bmN0aW9uIGMoZSxsKXtpZihsPWx8fHt9LChlPWV8fCIiKWluc3RhbmNlb2YgYylyZXR1cm4gZTtpZighKHRoaXMgaW5zdGFuY2VvZiBjKSlyZXR1cm4gbmV3IGMoZSxsKTt2YXIgdT1mdW5jdGlvbihlKXt2YXIgYT17cjowLGc6MCxiOjB9LGk9MSxsPW51bGwsYz1udWxsLHU9bnVsbCxoPSExLGY9ITE7InN0cmluZyI9PXR5cGVvZiBlJiYoZT1mdW5jdGlvbih0KXt0PXQucmVwbGFjZShyLCIiKS5yZXBsYWNlKG4sIiIpLnRvTG93ZXJDYXNlKCk7dmFyIGUsYT0hMTtpZihTW3RdKXQ9U1t0XSxhPSEwO2Vsc2UgaWYoInRyYW5zcGFyZW50Ij09dClyZXR1cm57cjowLGc6MCxiOjAsYTowLGZvcm1hdDoibmFtZSJ9O2lmKGU9ai5yZ2IuZXhlYyh0KSlyZXR1cm57cjplWzFdLGc6ZVsyXSxiOmVbM119O2lmKGU9ai5yZ2JhLmV4ZWModCkpcmV0dXJue3I6ZVsxXSxnOmVbMl0sYjplWzNdLGE6ZVs0XX07aWYoZT1qLmhzbC5leGVjKHQpKXJldHVybntoOmVbMV0sczplWzJdLGw6ZVszXX07aWYoZT1qLmhzbGEuZXhlYyh0KSlyZXR1cm57aDplWzFdLHM6ZVsyXSxsOmVbM10sYTplWzRdfTtpZihlPWouaHN2LmV4ZWModCkpcmV0dXJue2g6ZVsxXSxzOmVbMl0sdjplWzNdfTtpZihlPWouaHN2YS5leGVjKHQpKXJldHVybntoOmVbMV0sczplWzJdLHY6ZVszXSxhOmVbNF19O2lmKGU9ai5oZXg4LmV4ZWModCkpcmV0dXJue3I6TyhlWzFdKSxnOk8oZVsyXSksYjpPKGVbM10pLGE6UihlWzRdKSxmb3JtYXQ6YT8ibmFtZSI6ImhleDgifTtpZihlPWouaGV4Ni5leGVjKHQpKXJldHVybntyOk8oZVsxXSksZzpPKGVbMl0pLGI6TyhlWzNdKSxmb3JtYXQ6YT8ibmFtZSI6ImhleCJ9O2lmKGU9ai5oZXg0LmV4ZWModCkpcmV0dXJue3I6TyhlWzFdKyIiK2VbMV0pLGc6TyhlWzJdKyIiK2VbMl0pLGI6TyhlWzNdKyIiK2VbM10pLGE6UihlWzRdKyIiK2VbNF0pLGZvcm1hdDphPyJuYW1lIjoiaGV4OCJ9O2lmKGU9ai5oZXgzLmV4ZWModCkpcmV0dXJue3I6TyhlWzFdKyIiK2VbMV0pLGc6TyhlWzJdKyIiK2VbMl0pLGI6TyhlWzNdKyIiK2VbM10pLGZvcm1hdDphPyJuYW1lIjoiaGV4In07cmV0dXJuITF9KGUpKTsib2JqZWN0Ij09dHlwZW9mIGUmJihWKGUucikmJlYoZS5nKSYmVihlLmIpPyhwPWUucixkPWUuZyxnPWUuYixhPXtyOjI1NSpDKHAsMjU1KSxnOjI1NSpDKGQsMjU1KSxiOjI1NSpDKGcsMjU1KX0saD0hMCxmPSIlIj09PVN0cmluZyhlLnIpLnN1YnN0cigtMSk/InByZ2IiOiJyZ2IiKTpWKGUuaCkmJlYoZS5zKSYmVihlLnYpPyhsPUkoZS5zKSxjPUkoZS52KSxhPWZ1bmN0aW9uKGUscixuKXtlPTYqQyhlLDM2MCkscj1DKHIsMTAwKSxuPUMobiwxMDApO3ZhciBhPXQuZmxvb3IoZSksaT1lLWEsbz1uKigxLXIpLHM9biooMS1pKnIpLGw9biooMS0oMS1pKSpyKSxjPWElNjtyZXR1cm57cjoyNTUqW24scyxvLG8sbCxuXVtjXSxnOjI1NSpbbCxuLG4scyxvLG9dW2NdLGI6MjU1KltvLG8sbCxuLG4sc11bY119fShlLmgsbCxjKSxoPSEwLGY9ImhzdiIpOlYoZS5oKSYmVihlLnMpJiZWKGUubCkmJihsPUkoZS5zKSx1PUkoZS5sKSxhPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGk7ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIHI8MCYmKHIrPTEpLHI+MSYmKHItPTEpLHI8MS82P3QrNiooZS10KSpyOnI8LjU/ZTpyPDIvMz90KyhlLXQpKigyLzMtcikqNjp0fWlmKHQ9Qyh0LDM2MCksZT1DKGUsMTAwKSxyPUMociwxMDApLDA9PT1lKW49YT1pPXI7ZWxzZXt2YXIgcz1yPC41P3IqKDErZSk6citlLXIqZSxsPTIqci1zO249byhsLHMsdCsxLzMpLGE9byhsLHMsdCksaT1vKGwscyx0LTEvMyl9cmV0dXJue3I6MjU1Km4sZzoyNTUqYSxiOjI1NSppfX0oZS5oLGwsdSksaD0hMCxmPSJoc2wiKSxlLmhhc093blByb3BlcnR5KCJhIikmJihpPWUuYSkpO3ZhciBwLGQsZztyZXR1cm4gaT1MKGkpLHtvazpoLGZvcm1hdDplLmZvcm1hdHx8ZixyOm8oMjU1LHMoYS5yLDApKSxnOm8oMjU1LHMoYS5nLDApKSxiOm8oMjU1LHMoYS5iLDApKSxhOml9fShlKTt0aGlzLl9vcmlnaW5hbElucHV0PWUsdGhpcy5fcj11LnIsdGhpcy5fZz11LmcsdGhpcy5fYj11LmIsdGhpcy5fYT11LmEsdGhpcy5fcm91bmRBPWkoMTAwKnRoaXMuX2EpLzEwMCx0aGlzLl9mb3JtYXQ9bC5mb3JtYXR8fHUuZm9ybWF0LHRoaXMuX2dyYWRpZW50VHlwZT1sLmdyYWRpZW50VHlwZSx0aGlzLl9yPDEmJih0aGlzLl9yPWkodGhpcy5fcikpLHRoaXMuX2c8MSYmKHRoaXMuX2c9aSh0aGlzLl9nKSksdGhpcy5fYjwxJiYodGhpcy5fYj1pKHRoaXMuX2IpKSx0aGlzLl9vaz11Lm9rLHRoaXMuX3RjX2lkPWErK31mdW5jdGlvbiB1KHQsZSxyKXt0PUModCwyNTUpLGU9QyhlLDI1NSkscj1DKHIsMjU1KTt2YXIgbixhLGk9cyh0LGUsciksbD1vKHQsZSxyKSxjPShpK2wpLzI7aWYoaT09bCluPWE9MDtlbHNle3ZhciB1PWktbDtzd2l0Y2goYT1jPi41P3UvKDItaS1sKTp1LyhpK2wpLGkpe2Nhc2UgdDpuPShlLXIpL3UrKGU8cj82OjApO2JyZWFrO2Nhc2UgZTpuPShyLXQpL3UrMjticmVhaztjYXNlIHI6bj0odC1lKS91KzR9bi89Nn1yZXR1cm57aDpuLHM6YSxsOmN9fWZ1bmN0aW9uIGgodCxlLHIpe3Q9Qyh0LDI1NSksZT1DKGUsMjU1KSxyPUMociwyNTUpO3ZhciBuLGEsaT1zKHQsZSxyKSxsPW8odCxlLHIpLGM9aSx1PWktbDtpZihhPTA9PT1pPzA6dS9pLGk9PWwpbj0wO2Vsc2V7c3dpdGNoKGkpe2Nhc2UgdDpuPShlLXIpL3UrKGU8cj82OjApO2JyZWFrO2Nhc2UgZTpuPShyLXQpL3UrMjticmVhaztjYXNlIHI6bj0odC1lKS91KzR9bi89Nn1yZXR1cm57aDpuLHM6YSx2OmN9fWZ1bmN0aW9uIGYodCxlLHIsbil7dmFyIGE9W3ooaSh0KS50b1N0cmluZygxNikpLHooaShlKS50b1N0cmluZygxNikpLHooaShyKS50b1N0cmluZygxNikpXTtyZXR1cm4gbiYmYVswXS5jaGFyQXQoMCk9PWFbMF0uY2hhckF0KDEpJiZhWzFdLmNoYXJBdCgwKT09YVsxXS5jaGFyQXQoMSkmJmFbMl0uY2hhckF0KDApPT1hWzJdLmNoYXJBdCgxKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKTphLmpvaW4oIiIpfWZ1bmN0aW9uIHAodCxlLHIsbil7cmV0dXJuW3ooRChuKSkseihpKHQpLnRvU3RyaW5nKDE2KSkseihpKGUpLnRvU3RyaW5nKDE2KSkseihpKHIpLnRvU3RyaW5nKDE2KSldLmpvaW4oIiIpfWZ1bmN0aW9uIGQodCxlKXtlPTA9PT1lPzA6ZXx8MTA7dmFyIHI9Yyh0KS50b0hzbCgpO3JldHVybiByLnMtPWUvMTAwLHIucz1QKHIucyksYyhyKX1mdW5jdGlvbiBnKHQsZSl7ZT0wPT09ZT8wOmV8fDEwO3ZhciByPWModCkudG9Ic2woKTtyZXR1cm4gci5zKz1lLzEwMCxyLnM9UChyLnMpLGMocil9ZnVuY3Rpb24gdih0KXtyZXR1cm4gYyh0KS5kZXNhdHVyYXRlKDEwMCl9ZnVuY3Rpb24gbSh0LGUpe2U9MD09PWU/MDplfHwxMDt2YXIgcj1jKHQpLnRvSHNsKCk7cmV0dXJuIHIubCs9ZS8xMDAsci5sPVAoci5sKSxjKHIpfWZ1bmN0aW9uIHkodCxlKXtlPTA9PT1lPzA6ZXx8MTA7dmFyIHI9Yyh0KS50b1JnYigpO3JldHVybiByLnI9cygwLG8oMjU1LHIuci1pKC1lLzEwMCoyNTUpKSksci5nPXMoMCxvKDI1NSxyLmctaSgtZS8xMDAqMjU1KSkpLHIuYj1zKDAsbygyNTUsci5iLWkoLWUvMTAwKjI1NSkpKSxjKHIpfWZ1bmN0aW9uIHgodCxlKXtlPTA9PT1lPzA6ZXx8MTA7dmFyIHI9Yyh0KS50b0hzbCgpO3JldHVybiByLmwtPWUvMTAwLHIubD1QKHIubCksYyhyKX1mdW5jdGlvbiBiKHQsZSl7dmFyIHI9Yyh0KS50b0hzbCgpLG49KHIuaCtlKSUzNjA7cmV0dXJuIHIuaD1uPDA/MzYwK246bixjKHIpfWZ1bmN0aW9uIF8odCl7dmFyIGU9Yyh0KS50b0hzbCgpO3JldHVybiBlLmg9KGUuaCsxODApJTM2MCxjKGUpfWZ1bmN0aW9uIHcodCl7dmFyIGU9Yyh0KS50b0hzbCgpLHI9ZS5oO3JldHVybltjKHQpLGMoe2g6KHIrMTIwKSUzNjAsczplLnMsbDplLmx9KSxjKHtoOihyKzI0MCklMzYwLHM6ZS5zLGw6ZS5sfSldfWZ1bmN0aW9uIGsodCl7dmFyIGU9Yyh0KS50b0hzbCgpLHI9ZS5oO3JldHVybltjKHQpLGMoe2g6KHIrOTApJTM2MCxzOmUucyxsOmUubH0pLGMoe2g6KHIrMTgwKSUzNjAsczplLnMsbDplLmx9KSxjKHtoOihyKzI3MCklMzYwLHM6ZS5zLGw6ZS5sfSldfWZ1bmN0aW9uIFQodCl7dmFyIGU9Yyh0KS50b0hzbCgpLHI9ZS5oO3JldHVybltjKHQpLGMoe2g6KHIrNzIpJTM2MCxzOmUucyxsOmUubH0pLGMoe2g6KHIrMjE2KSUzNjAsczplLnMsbDplLmx9KV19ZnVuY3Rpb24gTSh0LGUscil7ZT1lfHw2LHI9cnx8MzA7dmFyIG49Yyh0KS50b0hzbCgpLGE9MzYwL3IsaT1bYyh0KV07Zm9yKG4uaD0obi5oLShhKmU+PjEpKzcyMCklMzYwOy0tZTspbi5oPShuLmgrYSklMzYwLGkucHVzaChjKG4pKTtyZXR1cm4gaX1mdW5jdGlvbiBBKHQsZSl7ZT1lfHw2O2Zvcih2YXIgcj1jKHQpLnRvSHN2KCksbj1yLmgsYT1yLnMsaT1yLnYsbz1bXSxzPTEvZTtlLS07KW8ucHVzaChjKHtoOm4sczphLHY6aX0pKSxpPShpK3MpJTE7cmV0dXJuIG99Yy5wcm90b3R5cGU9e2lzRGFyazpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJyaWdodG5lc3MoKTwxMjh9LGlzTGlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0RhcmsoKX0saXNWYWxpZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9va30sZ2V0T3JpZ2luYWxJbnB1dDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vcmlnaW5hbElucHV0fSxnZXRGb3JtYXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9ybWF0fSxnZXRBbHBoYTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hfSxnZXRCcmlnaHRuZXNzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50b1JnYigpO3JldHVybigyOTkqdC5yKzU4Nyp0LmcrMTE0KnQuYikvMWUzfSxnZXRMdW1pbmFuY2U6ZnVuY3Rpb24oKXt2YXIgZSxyLG4sYT10aGlzLnRvUmdiKCk7cmV0dXJuIGU9YS5yLzI1NSxyPWEuZy8yNTUsbj1hLmIvMjU1LC4yMTI2KihlPD0uMDM5Mjg/ZS8xMi45Mjp0LnBvdygoZSsuMDU1KS8xLjA1NSwyLjQpKSsuNzE1Mioocjw9LjAzOTI4P3IvMTIuOTI6dC5wb3coKHIrLjA1NSkvMS4wNTUsMi40KSkrLjA3MjIqKG48PS4wMzkyOD9uLzEyLjkyOnQucG93KChuKy4wNTUpLzEuMDU1LDIuNCkpfSxzZXRBbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYT1MKHQpLHRoaXMuX3JvdW5kQT1pKDEwMCp0aGlzLl9hKS8xMDAsdGhpc30sdG9Ic3Y6ZnVuY3Rpb24oKXt2YXIgdD1oKHRoaXMuX3IsdGhpcy5fZyx0aGlzLl9iKTtyZXR1cm57aDozNjAqdC5oLHM6dC5zLHY6dC52LGE6dGhpcy5fYX19LHRvSHN2U3RyaW5nOmZ1bmN0aW9uKCl7dmFyIHQ9aCh0aGlzLl9yLHRoaXMuX2csdGhpcy5fYiksZT1pKDM2MCp0LmgpLHI9aSgxMDAqdC5zKSxuPWkoMTAwKnQudik7cmV0dXJuIDE9PXRoaXMuX2E/ImhzdigiK2UrIiwgIityKyIlLCAiK24rIiUpIjoiaHN2YSgiK2UrIiwgIityKyIlLCAiK24rIiUsICIrdGhpcy5fcm91bmRBKyIpIn0sdG9Ic2w6ZnVuY3Rpb24oKXt2YXIgdD11KHRoaXMuX3IsdGhpcy5fZyx0aGlzLl9iKTtyZXR1cm57aDozNjAqdC5oLHM6dC5zLGw6dC5sLGE6dGhpcy5fYX19LHRvSHNsU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIHQ9dSh0aGlzLl9yLHRoaXMuX2csdGhpcy5fYiksZT1pKDM2MCp0LmgpLHI9aSgxMDAqdC5zKSxuPWkoMTAwKnQubCk7cmV0dXJuIDE9PXRoaXMuX2E/ImhzbCgiK2UrIiwgIityKyIlLCAiK24rIiUpIjoiaHNsYSgiK2UrIiwgIityKyIlLCAiK24rIiUsICIrdGhpcy5fcm91bmRBKyIpIn0sdG9IZXg6ZnVuY3Rpb24odCl7cmV0dXJuIGYodGhpcy5fcix0aGlzLl9nLHRoaXMuX2IsdCl9LHRvSGV4U3RyaW5nOmZ1bmN0aW9uKHQpe3JldHVybiIjIit0aGlzLnRvSGV4KHQpfSx0b0hleDg6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIG89W3ooaSh0KS50b1N0cmluZygxNikpLHooaShlKS50b1N0cmluZygxNikpLHooaShyKS50b1N0cmluZygxNikpLHooRChuKSldO2lmKGEmJm9bMF0uY2hhckF0KDApPT1vWzBdLmNoYXJBdCgxKSYmb1sxXS5jaGFyQXQoMCk9PW9bMV0uY2hhckF0KDEpJiZvWzJdLmNoYXJBdCgwKT09b1syXS5jaGFyQXQoMSkmJm9bM10uY2hhckF0KDApPT1vWzNdLmNoYXJBdCgxKSlyZXR1cm4gb1swXS5jaGFyQXQoMCkrb1sxXS5jaGFyQXQoMCkrb1syXS5jaGFyQXQoMCkrb1szXS5jaGFyQXQoMCk7cmV0dXJuIG8uam9pbigiIil9KHRoaXMuX3IsdGhpcy5fZyx0aGlzLl9iLHRoaXMuX2EsdCl9LHRvSGV4OFN0cmluZzpmdW5jdGlvbih0KXtyZXR1cm4iIyIrdGhpcy50b0hleDgodCl9LHRvUmdiOmZ1bmN0aW9uKCl7cmV0dXJue3I6aSh0aGlzLl9yKSxnOmkodGhpcy5fZyksYjppKHRoaXMuX2IpLGE6dGhpcy5fYX19LHRvUmdiU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE9PXRoaXMuX2E/InJnYigiK2kodGhpcy5fcikrIiwgIitpKHRoaXMuX2cpKyIsICIraSh0aGlzLl9iKSsiKSI6InJnYmEoIitpKHRoaXMuX3IpKyIsICIraSh0aGlzLl9nKSsiLCAiK2kodGhpcy5fYikrIiwgIit0aGlzLl9yb3VuZEErIikifSx0b1BlcmNlbnRhZ2VSZ2I6ZnVuY3Rpb24oKXtyZXR1cm57cjppKDEwMCpDKHRoaXMuX3IsMjU1KSkrIiUiLGc6aSgxMDAqQyh0aGlzLl9nLDI1NSkpKyIlIixiOmkoMTAwKkModGhpcy5fYiwyNTUpKSsiJSIsYTp0aGlzLl9hfX0sdG9QZXJjZW50YWdlUmdiU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE9PXRoaXMuX2E/InJnYigiK2koMTAwKkModGhpcy5fciwyNTUpKSsiJSwgIitpKDEwMCpDKHRoaXMuX2csMjU1KSkrIiUsICIraSgxMDAqQyh0aGlzLl9iLDI1NSkpKyIlKSI6InJnYmEoIitpKDEwMCpDKHRoaXMuX3IsMjU1KSkrIiUsICIraSgxMDAqQyh0aGlzLl9nLDI1NSkpKyIlLCAiK2koMTAwKkModGhpcy5fYiwyNTUpKSsiJSwgIit0aGlzLl9yb3VuZEErIikifSx0b05hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuX2E/InRyYW5zcGFyZW50IjohKHRoaXMuX2E8MSkmJihFW2YodGhpcy5fcix0aGlzLl9nLHRoaXMuX2IsITApXXx8ITEpfSx0b0ZpbHRlcjpmdW5jdGlvbih0KXt2YXIgZT0iIyIrcCh0aGlzLl9yLHRoaXMuX2csdGhpcy5fYix0aGlzLl9hKSxyPWUsbj10aGlzLl9ncmFkaWVudFR5cGU/IkdyYWRpZW50VHlwZSA9IDEsICI6IiI7aWYodCl7dmFyIGE9Yyh0KTtyPSIjIitwKGEuX3IsYS5fZyxhLl9iLGEuX2EpfXJldHVybiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIituKyJzdGFydENvbG9yc3RyPSIrZSsiLGVuZENvbG9yc3RyPSIrcisiKSJ9LHRvU3RyaW5nOmZ1bmN0aW9uKHQpe3ZhciBlPSEhdDt0PXR8fHRoaXMuX2Zvcm1hdDt2YXIgcj0hMSxuPXRoaXMuX2E8MSYmdGhpcy5fYT49MDtyZXR1cm4gZXx8IW58fCJoZXgiIT09dCYmImhleDYiIT09dCYmImhleDMiIT09dCYmImhleDQiIT09dCYmImhleDgiIT09dCYmIm5hbWUiIT09dD8oInJnYiI9PT10JiYocj10aGlzLnRvUmdiU3RyaW5nKCkpLCJwcmdiIj09PXQmJihyPXRoaXMudG9QZXJjZW50YWdlUmdiU3RyaW5nKCkpLCJoZXgiIT09dCYmImhleDYiIT09dHx8KHI9dGhpcy50b0hleFN0cmluZygpKSwiaGV4MyI9PT10JiYocj10aGlzLnRvSGV4U3RyaW5nKCEwKSksImhleDQiPT09dCYmKHI9dGhpcy50b0hleDhTdHJpbmcoITApKSwiaGV4OCI9PT10JiYocj10aGlzLnRvSGV4OFN0cmluZygpKSwibmFtZSI9PT10JiYocj10aGlzLnRvTmFtZSgpKSwiaHNsIj09PXQmJihyPXRoaXMudG9Ic2xTdHJpbmcoKSksImhzdiI9PT10JiYocj10aGlzLnRvSHN2U3RyaW5nKCkpLHJ8fHRoaXMudG9IZXhTdHJpbmcoKSk6Im5hbWUiPT09dCYmMD09PXRoaXMuX2E/dGhpcy50b05hbWUoKTp0aGlzLnRvUmdiU3RyaW5nKCl9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcy50b1N0cmluZygpKX0sX2FwcGx5TW9kaWZpY2F0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5hcHBseShudWxsLFt0aGlzXS5jb25jYXQoW10uc2xpY2UuY2FsbChlKSkpO3JldHVybiB0aGlzLl9yPXIuX3IsdGhpcy5fZz1yLl9nLHRoaXMuX2I9ci5fYix0aGlzLnNldEFscGhhKHIuX2EpLHRoaXN9LGxpZ2h0ZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24obSxhcmd1bWVudHMpfSxicmlnaHRlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbih5LGFyZ3VtZW50cyl9LGRhcmtlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbih4LGFyZ3VtZW50cyl9LGRlc2F0dXJhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oZCxhcmd1bWVudHMpfSxzYXR1cmF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihnLGFyZ3VtZW50cyl9LGdyZXlzY2FsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbih2LGFyZ3VtZW50cyl9LHNwaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXBwbHlNb2RpZmljYXRpb24oYixhcmd1bWVudHMpfSxfYXBwbHlDb21iaW5hdGlvbjpmdW5jdGlvbih0LGUpe3JldHVybiB0LmFwcGx5KG51bGwsW3RoaXNdLmNvbmNhdChbXS5zbGljZS5jYWxsKGUpKSl9LGFuYWxvZ291czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKE0sYXJndW1lbnRzKX0sY29tcGxlbWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKF8sYXJndW1lbnRzKX0sbW9ub2Nocm9tYXRpYzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKEEsYXJndW1lbnRzKX0sc3BsaXRjb21wbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24oVCxhcmd1bWVudHMpfSx0cmlhZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKHcsYXJndW1lbnRzKX0sdGV0cmFkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24oayxhcmd1bWVudHMpfX0sYy5mcm9tUmF0aW89ZnVuY3Rpb24odCxlKXtpZigib2JqZWN0Ij09dHlwZW9mIHQpe3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0KXQuaGFzT3duUHJvcGVydHkobikmJihyW25dPSJhIj09PW4/dFtuXTpJKHRbbl0pKTt0PXJ9cmV0dXJuIGModCxlKX0sYy5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hKCF0fHwhZSkmJmModCkudG9SZ2JTdHJpbmcoKT09YyhlKS50b1JnYlN0cmluZygpfSxjLnJhbmRvbT1mdW5jdGlvbigpe3JldHVybiBjLmZyb21SYXRpbyh7cjpsKCksZzpsKCksYjpsKCl9KX0sYy5taXg9ZnVuY3Rpb24odCxlLHIpe3I9MD09PXI/MDpyfHw1MDt2YXIgbj1jKHQpLnRvUmdiKCksYT1jKGUpLnRvUmdiKCksaT1yLzEwMDtyZXR1cm4gYyh7cjooYS5yLW4ucikqaStuLnIsZzooYS5nLW4uZykqaStuLmcsYjooYS5iLW4uYikqaStuLmIsYTooYS5hLW4uYSkqaStuLmF9KX0sYy5yZWFkYWJpbGl0eT1mdW5jdGlvbihlLHIpe3ZhciBuPWMoZSksYT1jKHIpO3JldHVybih0Lm1heChuLmdldEx1bWluYW5jZSgpLGEuZ2V0THVtaW5hbmNlKCkpKy4wNSkvKHQubWluKG4uZ2V0THVtaW5hbmNlKCksYS5nZXRMdW1pbmFuY2UoKSkrLjA1KX0sYy5pc1JlYWRhYmxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGk9Yy5yZWFkYWJpbGl0eSh0LGUpO3N3aXRjaChhPSExLChuPWZ1bmN0aW9uKHQpe3ZhciBlLHI7ZT0oKHQ9dHx8e2xldmVsOiJBQSIsc2l6ZToic21hbGwifSkubGV2ZWx8fCJBQSIpLnRvVXBwZXJDYXNlKCkscj0odC5zaXplfHwic21hbGwiKS50b0xvd2VyQ2FzZSgpLCJBQSIhPT1lJiYiQUFBIiE9PWUmJihlPSJBQSIpOyJzbWFsbCIhPT1yJiYibGFyZ2UiIT09ciYmKHI9InNtYWxsIik7cmV0dXJue2xldmVsOmUsc2l6ZTpyfX0ocikpLmxldmVsK24uc2l6ZSl7Y2FzZSJBQXNtYWxsIjpjYXNlIkFBQWxhcmdlIjphPWk+PTQuNTticmVhaztjYXNlIkFBbGFyZ2UiOmE9aT49MzticmVhaztjYXNlIkFBQXNtYWxsIjphPWk+PTd9cmV0dXJuIGF9LGMubW9zdFJlYWRhYmxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGksbyxzPW51bGwsbD0wO2E9KHI9cnx8e30pLmluY2x1ZGVGYWxsYmFja0NvbG9ycyxpPXIubGV2ZWwsbz1yLnNpemU7Zm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1KyspKG49Yy5yZWFkYWJpbGl0eSh0LGVbdV0pKT5sJiYobD1uLHM9YyhlW3VdKSk7cmV0dXJuIGMuaXNSZWFkYWJsZSh0LHMse2xldmVsOmksc2l6ZTpvfSl8fCFhP3M6KHIuaW5jbHVkZUZhbGxiYWNrQ29sb3JzPSExLGMubW9zdFJlYWRhYmxlKHQsWyIjZmZmIiwiIzAwMCJdLHIpKX07dmFyIFM9Yy5uYW1lcz17YWxpY2VibHVlOiJmMGY4ZmYiLGFudGlxdWV3aGl0ZToiZmFlYmQ3IixhcXVhOiIwZmYiLGFxdWFtYXJpbmU6IjdmZmZkNCIsYXp1cmU6ImYwZmZmZiIsYmVpZ2U6ImY1ZjVkYyIsYmlzcXVlOiJmZmU0YzQiLGJsYWNrOiIwMDAiLGJsYW5jaGVkYWxtb25kOiJmZmViY2QiLGJsdWU6IjAwZiIsYmx1ZXZpb2xldDoiOGEyYmUyIixicm93bjoiYTUyYTJhIixidXJseXdvb2Q6ImRlYjg4NyIsYnVybnRzaWVubmE6ImVhN2U1ZCIsY2FkZXRibHVlOiI1ZjllYTAiLGNoYXJ0cmV1c2U6IjdmZmYwMCIsY2hvY29sYXRlOiJkMjY5MWUiLGNvcmFsOiJmZjdmNTAiLGNvcm5mbG93ZXJibHVlOiI2NDk1ZWQiLGNvcm5zaWxrOiJmZmY4ZGMiLGNyaW1zb246ImRjMTQzYyIsY3lhbjoiMGZmIixkYXJrYmx1ZToiMDAwMDhiIixkYXJrY3lhbjoiMDA4YjhiIixkYXJrZ29sZGVucm9kOiJiODg2MGIiLGRhcmtncmF5OiJhOWE5YTkiLGRhcmtncmVlbjoiMDA2NDAwIixkYXJrZ3JleToiYTlhOWE5IixkYXJra2hha2k6ImJkYjc2YiIsZGFya21hZ2VudGE6IjhiMDA4YiIsZGFya29saXZlZ3JlZW46IjU1NmIyZiIsZGFya29yYW5nZToiZmY4YzAwIixkYXJrb3JjaGlkOiI5OTMyY2MiLGRhcmtyZWQ6IjhiMDAwMCIsZGFya3NhbG1vbjoiZTk5NjdhIixkYXJrc2VhZ3JlZW46IjhmYmM4ZiIsZGFya3NsYXRlYmx1ZToiNDgzZDhiIixkYXJrc2xhdGVncmF5OiIyZjRmNGYiLGRhcmtzbGF0ZWdyZXk6IjJmNGY0ZiIsZGFya3R1cnF1b2lzZToiMDBjZWQxIixkYXJrdmlvbGV0OiI5NDAwZDMiLGRlZXBwaW5rOiJmZjE0OTMiLGRlZXBza3libHVlOiIwMGJmZmYiLGRpbWdyYXk6IjY5Njk2OSIsZGltZ3JleToiNjk2OTY5Iixkb2RnZXJibHVlOiIxZTkwZmYiLGZpcmVicmljazoiYjIyMjIyIixmbG9yYWx3aGl0ZToiZmZmYWYwIixmb3Jlc3RncmVlbjoiMjI4YjIyIixmdWNoc2lhOiJmMGYiLGdhaW5zYm9ybzoiZGNkY2RjIixnaG9zdHdoaXRlOiJmOGY4ZmYiLGdvbGQ6ImZmZDcwMCIsZ29sZGVucm9kOiJkYWE1MjAiLGdyYXk6IjgwODA4MCIsZ3JlZW46IjAwODAwMCIsZ3JlZW55ZWxsb3c6ImFkZmYyZiIsZ3JleToiODA4MDgwIixob25leWRldzoiZjBmZmYwIixob3RwaW5rOiJmZjY5YjQiLGluZGlhbnJlZDoiY2Q1YzVjIixpbmRpZ286IjRiMDA4MiIsaXZvcnk6ImZmZmZmMCIsa2hha2k6ImYwZTY4YyIsbGF2ZW5kZXI6ImU2ZTZmYSIsbGF2ZW5kZXJibHVzaDoiZmZmMGY1IixsYXduZ3JlZW46IjdjZmMwMCIsbGVtb25jaGlmZm9uOiJmZmZhY2QiLGxpZ2h0Ymx1ZToiYWRkOGU2IixsaWdodGNvcmFsOiJmMDgwODAiLGxpZ2h0Y3lhbjoiZTBmZmZmIixsaWdodGdvbGRlbnJvZHllbGxvdzoiZmFmYWQyIixsaWdodGdyYXk6ImQzZDNkMyIsbGlnaHRncmVlbjoiOTBlZTkwIixsaWdodGdyZXk6ImQzZDNkMyIsbGlnaHRwaW5rOiJmZmI2YzEiLGxpZ2h0c2FsbW9uOiJmZmEwN2EiLGxpZ2h0c2VhZ3JlZW46IjIwYjJhYSIsbGlnaHRza3libHVlOiI4N2NlZmEiLGxpZ2h0c2xhdGVncmF5OiI3ODkiLGxpZ2h0c2xhdGVncmV5OiI3ODkiLGxpZ2h0c3RlZWxibHVlOiJiMGM0ZGUiLGxpZ2h0eWVsbG93OiJmZmZmZTAiLGxpbWU6IjBmMCIsbGltZWdyZWVuOiIzMmNkMzIiLGxpbmVuOiJmYWYwZTYiLG1hZ2VudGE6ImYwZiIsbWFyb29uOiI4MDAwMDAiLG1lZGl1bWFxdWFtYXJpbmU6IjY2Y2RhYSIsbWVkaXVtYmx1ZToiMDAwMGNkIixtZWRpdW1vcmNoaWQ6ImJhNTVkMyIsbWVkaXVtcHVycGxlOiI5MzcwZGIiLG1lZGl1bXNlYWdyZWVuOiIzY2IzNzEiLG1lZGl1bXNsYXRlYmx1ZToiN2I2OGVlIixtZWRpdW1zcHJpbmdncmVlbjoiMDBmYTlhIixtZWRpdW10dXJxdW9pc2U6IjQ4ZDFjYyIsbWVkaXVtdmlvbGV0cmVkOiJjNzE1ODUiLG1pZG5pZ2h0Ymx1ZToiMTkxOTcwIixtaW50Y3JlYW06ImY1ZmZmYSIsbWlzdHlyb3NlOiJmZmU0ZTEiLG1vY2Nhc2luOiJmZmU0YjUiLG5hdmFqb3doaXRlOiJmZmRlYWQiLG5hdnk6IjAwMDA4MCIsb2xkbGFjZToiZmRmNWU2IixvbGl2ZToiODA4MDAwIixvbGl2ZWRyYWI6IjZiOGUyMyIsb3JhbmdlOiJmZmE1MDAiLG9yYW5nZXJlZDoiZmY0NTAwIixvcmNoaWQ6ImRhNzBkNiIscGFsZWdvbGRlbnJvZDoiZWVlOGFhIixwYWxlZ3JlZW46Ijk4ZmI5OCIscGFsZXR1cnF1b2lzZToiYWZlZWVlIixwYWxldmlvbGV0cmVkOiJkYjcwOTMiLHBhcGF5YXdoaXA6ImZmZWZkNSIscGVhY2hwdWZmOiJmZmRhYjkiLHBlcnU6ImNkODUzZiIscGluazoiZmZjMGNiIixwbHVtOiJkZGEwZGQiLHBvd2RlcmJsdWU6ImIwZTBlNiIscHVycGxlOiI4MDAwODAiLHJlYmVjY2FwdXJwbGU6IjY2MzM5OSIscmVkOiJmMDAiLHJvc3licm93bjoiYmM4ZjhmIixyb3lhbGJsdWU6IjQxNjllMSIsc2FkZGxlYnJvd246IjhiNDUxMyIsc2FsbW9uOiJmYTgwNzIiLHNhbmR5YnJvd246ImY0YTQ2MCIsc2VhZ3JlZW46IjJlOGI1NyIsc2Vhc2hlbGw6ImZmZjVlZSIsc2llbm5hOiJhMDUyMmQiLHNpbHZlcjoiYzBjMGMwIixza3libHVlOiI4N2NlZWIiLHNsYXRlYmx1ZToiNmE1YWNkIixzbGF0ZWdyYXk6IjcwODA5MCIsc2xhdGVncmV5OiI3MDgwOTAiLHNub3c6ImZmZmFmYSIsc3ByaW5nZ3JlZW46IjAwZmY3ZiIsc3RlZWxibHVlOiI0NjgyYjQiLHRhbjoiZDJiNDhjIix0ZWFsOiIwMDgwODAiLHRoaXN0bGU6ImQ4YmZkOCIsdG9tYXRvOiJmZjYzNDciLHR1cnF1b2lzZToiNDBlMGQwIix2aW9sZXQ6ImVlODJlZSIsd2hlYXQ6ImY1ZGViMyIsd2hpdGU6ImZmZiIsd2hpdGVzbW9rZToiZjVmNWY1Iix5ZWxsb3c6ImZmMCIseWVsbG93Z3JlZW46IjlhY2QzMiJ9LEU9Yy5oZXhOYW1lcz1mdW5jdGlvbih0KXt2YXIgZT17fTtmb3IodmFyIHIgaW4gdCl0Lmhhc093blByb3BlcnR5KHIpJiYoZVt0W3JdXT1yKTtyZXR1cm4gZX0oUyk7ZnVuY3Rpb24gTCh0KXtyZXR1cm4gdD1wYXJzZUZsb2F0KHQpLChpc05hTih0KXx8dDwwfHx0PjEpJiYodD0xKSx0fWZ1bmN0aW9uIEMoZSxyKXsoZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYtMSE9dC5pbmRleE9mKCIuIikmJjE9PT1wYXJzZUZsb2F0KHQpfSkoZSkmJihlPSIxMDAlIik7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYtMSE9dC5pbmRleE9mKCIlIil9KGUpO3JldHVybiBlPW8ocixzKDAscGFyc2VGbG9hdChlKSkpLG4mJihlPXBhcnNlSW50KGUqciwxMCkvMTAwKSx0LmFicyhlLXIpPDFlLTY/MTplJXIvcGFyc2VGbG9hdChyKX1mdW5jdGlvbiBQKHQpe3JldHVybiBvKDEscygwLHQpKX1mdW5jdGlvbiBPKHQpe3JldHVybiBwYXJzZUludCh0LDE2KX1mdW5jdGlvbiB6KHQpe3JldHVybiAxPT10Lmxlbmd0aD8iMCIrdDoiIit0fWZ1bmN0aW9uIEkodCl7cmV0dXJuIHQ8PTEmJih0PTEwMCp0KyIlIiksdH1mdW5jdGlvbiBEKGUpe3JldHVybiB0LnJvdW5kKDI1NSpwYXJzZUZsb2F0KGUpKS50b1N0cmluZygxNil9ZnVuY3Rpb24gUih0KXtyZXR1cm4gTyh0KS8yNTV9dmFyIEYsQixOLGo9KEI9IltcXHN8XFwoXSsoIisoRj0iKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pIikrIilbLHxcXHNdKygiK0YrIilbLHxcXHNdKygiK0YrIilcXHMqXFwpPyIsTj0iW1xcc3xcXChdKygiK0YrIilbLHxcXHNdKygiK0YrIilbLHxcXHNdKygiK0YrIilbLHxcXHNdKygiK0YrIilcXHMqXFwpPyIse0NTU19VTklUOm5ldyBSZWdFeHAoRikscmdiOm5ldyBSZWdFeHAoInJnYiIrQikscmdiYTpuZXcgUmVnRXhwKCJyZ2JhIitOKSxoc2w6bmV3IFJlZ0V4cCgiaHNsIitCKSxoc2xhOm5ldyBSZWdFeHAoImhzbGEiK04pLGhzdjpuZXcgUmVnRXhwKCJoc3YiK0IpLGhzdmE6bmV3IFJlZ0V4cCgiaHN2YSIrTiksaGV4MzovXiM/KFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4NjovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC8saGV4NDovXiM/KFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KSQvLGhleDg6L14jPyhbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkL30pO2Z1bmN0aW9uIFYodCl7cmV0dXJuISFqLkNTU19VTklULmV4ZWModCl9InVuZGVmaW5lZCIhPXR5cGVvZiBlJiZlLmV4cG9ydHM/ZS5leHBvcnRzPWM6d2luZG93LnRpbnljb2xvcj1jfShNYXRoKX0se31dLDUzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9YSxlLmV4cG9ydHMuZmxvYXQzMj1lLmV4cG9ydHMuZmxvYXQ9YSxlLmV4cG9ydHMuZnJhY3QzMj1lLmV4cG9ydHMuZnJhY3Q9ZnVuY3Rpb24odCl7aWYodC5sZW5ndGgpe2Zvcih2YXIgZT1hKHQpLHI9MCxuPWUubGVuZ3RoO3I8bjtyKyspZVtyXT10W3JdLWVbcl07cmV0dXJuIGV9cmV0dXJuIGEodC1hKHQpKX07dmFyIG49bmV3IEZsb2F0MzJBcnJheSgxKTtmdW5jdGlvbiBhKHQpe2lmKHQubGVuZ3RoKXtpZih0IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5KXJldHVybiB0O3ZhciBlPW5ldyBGbG9hdDMyQXJyYXkodCk7cmV0dXJuIGUuc2V0KHQpLGV9cmV0dXJuIG5bMF09dCxuWzBdfX0se31dLDUzODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJwYXJzZS11bml0Iik7ZS5leHBvcnRzPW87dmFyIGE9OTY7ZnVuY3Rpb24gaSh0LGUpe3ZhciByPW4oZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKGUpKTtyZXR1cm4gclswXSpvKHJbMV0sdCl9ZnVuY3Rpb24gbyh0LGUpe3N3aXRjaChlPWV8fGRvY3VtZW50LmJvZHksdD0odHx8InB4IikudHJpbSgpLnRvTG93ZXJDYXNlKCksZSE9PXdpbmRvdyYmZSE9PWRvY3VtZW50fHwoZT1kb2N1bWVudC5ib2R5KSx0KXtjYXNlIiUiOnJldHVybiBlLmNsaWVudEhlaWdodC8xMDA7Y2FzZSJjaCI6Y2FzZSJleCI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5zdHlsZVsiZm9udC1zaXplIl09IjEyOCIrdCxlLmFwcGVuZENoaWxkKHIpO3ZhciBuPWkociwiZm9udC1zaXplIikvMTI4O3JldHVybiBlLnJlbW92ZUNoaWxkKHIpLG59KHQsZSk7Y2FzZSJlbSI6cmV0dXJuIGkoZSwiZm9udC1zaXplIik7Y2FzZSJyZW0iOnJldHVybiBpKGRvY3VtZW50LmJvZHksImZvbnQtc2l6ZSIpO2Nhc2UidnciOnJldHVybiB3aW5kb3cuaW5uZXJXaWR0aC8xMDA7Y2FzZSJ2aCI6cmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodC8xMDA7Y2FzZSJ2bWluIjpyZXR1cm4gTWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsd2luZG93LmlubmVySGVpZ2h0KS8xMDA7Y2FzZSJ2bWF4IjpyZXR1cm4gTWF0aC5tYXgod2luZG93LmlubmVyV2lkdGgsd2luZG93LmlubmVySGVpZ2h0KS8xMDA7Y2FzZSJpbiI6cmV0dXJuIGE7Y2FzZSJjbSI6cmV0dXJuIGEvMi41NDtjYXNlIm1tIjpyZXR1cm4gYS8yNS40O2Nhc2UicHQiOnJldHVybiBhLzcyO2Nhc2UicGMiOnJldHVybiBhLzZ9cmV0dXJuIDF9fSx7InBhcnNlLXVuaXQiOjQ2M31dLDUzOTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR9LHI9ZnVuY3Rpb24odCl7aWYobnVsbD09KHI9dC50cmFuc2Zvcm0pKXJldHVybiBlO3ZhciByLG4sYSxpPXIuc2NhbGVbMF0sbz1yLnNjYWxlWzFdLHM9ci50cmFuc2xhdGVbMF0sbD1yLnRyYW5zbGF0ZVsxXTtyZXR1cm4gZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8KG49YT0wKSx0WzBdPShuKz10WzBdKSppK3MsdFsxXT0oYSs9dFsxXSkqbytsLHR9fSxuPWZ1bmN0aW9uKHQpe3ZhciBlPXQuYmJveDtmdW5jdGlvbiBuKHQpe2xbMF09dFswXSxsWzFdPXRbMV0scyhsKSxsWzBdPGMmJihjPWxbMF0pLGxbMF0+aCYmKGg9bFswXSksbFsxXTx1JiYodT1sWzFdKSxsWzFdPmYmJihmPWxbMV0pfWZ1bmN0aW9uIGEodCl7c3dpdGNoKHQudHlwZSl7Y2FzZSJHZW9tZXRyeUNvbGxlY3Rpb24iOnQuZ2VvbWV0cmllcy5mb3JFYWNoKGEpO2JyZWFrO2Nhc2UiUG9pbnQiOm4odC5jb29yZGluYXRlcyk7YnJlYWs7Y2FzZSJNdWx0aVBvaW50Ijp0LmNvb3JkaW5hdGVzLmZvckVhY2gobil9fWlmKCFlKXt2YXIgaSxvLHM9cih0KSxsPW5ldyBBcnJheSgyKSxjPTEvMCx1PWMsaD0tYyxmPS1jO2ZvcihvIGluIHQuYXJjcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0tMSxyPXQubGVuZ3RoOysrZTxyOylpPXRbZV0sbFswXT1pWzBdLGxbMV09aVsxXSxzKGwsZSksbFswXTxjJiYoYz1sWzBdKSxsWzBdPmgmJihoPWxbMF0pLGxbMV08dSYmKHU9bFsxXSksbFsxXT5mJiYoZj1sWzFdKX0pLHQub2JqZWN0cylhKHQub2JqZWN0c1tvXSk7ZT10LmJib3g9W2MsdSxoLGZdfXJldHVybiBlfSxhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLG49dC5sZW5ndGgsYT1uLWU7YTwtLW47KXI9dFthXSx0W2ErK109dFtuXSx0W25dPXJ9O2Z1bmN0aW9uIGkodCxlKXt2YXIgcj1lLmlkLG49ZS5iYm94LGE9bnVsbD09ZS5wcm9wZXJ0aWVzP3t9OmUucHJvcGVydGllcyxpPW8odCxlKTtyZXR1cm4gbnVsbD09ciYmbnVsbD09bj97dHlwZToiRmVhdHVyZSIscHJvcGVydGllczphLGdlb21ldHJ5Oml9Om51bGw9PW4/e3R5cGU6IkZlYXR1cmUiLGlkOnIscHJvcGVydGllczphLGdlb21ldHJ5Oml9Ont0eXBlOiJGZWF0dXJlIixpZDpyLGJib3g6bixwcm9wZXJ0aWVzOmEsZ2VvbWV0cnk6aX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXIodCksaT10LmFyY3M7ZnVuY3Rpb24gbyh0LGUpe2UubGVuZ3RoJiZlLnBvcCgpO2Zvcih2YXIgcj1pW3Q8MD9+dDp0XSxvPTAscz1yLmxlbmd0aDtvPHM7KytvKWUucHVzaChuKHJbb10uc2xpY2UoKSxvKSk7dDwwJiZhKGUscyl9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gbih0LnNsaWNlKCkpfWZ1bmN0aW9uIGwodCl7Zm9yKHZhciBlPVtdLHI9MCxuPXQubGVuZ3RoO3I8bjsrK3Ipbyh0W3JdLGUpO3JldHVybiBlLmxlbmd0aDwyJiZlLnB1c2goZVswXS5zbGljZSgpKSxlfWZ1bmN0aW9uIGModCl7Zm9yKHZhciBlPWwodCk7ZS5sZW5ndGg8NDspZS5wdXNoKGVbMF0uc2xpY2UoKSk7cmV0dXJuIGV9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC5tYXAoYyl9cmV0dXJuIGZ1bmN0aW9uIHQoZSl7dmFyIHIsbj1lLnR5cGU7c3dpdGNoKG4pe2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpyZXR1cm57dHlwZTpuLGdlb21ldHJpZXM6ZS5nZW9tZXRyaWVzLm1hcCh0KX07Y2FzZSJQb2ludCI6cj1zKGUuY29vcmRpbmF0ZXMpO2JyZWFrO2Nhc2UiTXVsdGlQb2ludCI6cj1lLmNvb3JkaW5hdGVzLm1hcChzKTticmVhaztjYXNlIkxpbmVTdHJpbmciOnI9bChlLmFyY3MpO2JyZWFrO2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpyPWUuYXJjcy5tYXAobCk7YnJlYWs7Y2FzZSJQb2x5Z29uIjpyPXUoZS5hcmNzKTticmVhaztjYXNlIk11bHRpUG9seWdvbiI6cj1lLmFyY3MubWFwKHUpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIG51bGx9cmV0dXJue3R5cGU6bixjb29yZGluYXRlczpyfX0oZSl9dmFyIHM9ZnVuY3Rpb24odCxlKXt2YXIgcj17fSxuPXt9LGE9e30saT1bXSxvPS0xO2Z1bmN0aW9uIHModCxlKXtmb3IodmFyIG4gaW4gdCl7dmFyIGE9dFtuXTtkZWxldGUgZVthLnN0YXJ0XSxkZWxldGUgYS5zdGFydCxkZWxldGUgYS5lbmQsYS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JbdDwwP350OnRdPTF9KSxpLnB1c2goYSl9fXJldHVybiBlLmZvckVhY2goZnVuY3Rpb24ocixuKXt2YXIgYSxpPXQuYXJjc1tyPDA/fnI6cl07aS5sZW5ndGg8MyYmIWlbMV1bMF0mJiFpWzFdWzFdJiYoYT1lWysrb10sZVtvXT1yLGVbbl09YSl9KSxlLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHIsaSxvPWZ1bmN0aW9uKGUpe3ZhciByLG49dC5hcmNzW2U8MD9+ZTplXSxhPW5bMF07dC50cmFuc2Zvcm0/KHI9WzAsMF0sbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JbMF0rPXRbMF0sclsxXSs9dFsxXX0pKTpyPW5bbi5sZW5ndGgtMV07cmV0dXJuIGU8MD9bcixhXTpbYSxyXX0oZSkscz1vWzBdLGw9b1sxXTtpZihyPWFbc10paWYoZGVsZXRlIGFbci5lbmRdLHIucHVzaChlKSxyLmVuZD1sLGk9bltsXSl7ZGVsZXRlIG5baS5zdGFydF07dmFyIGM9aT09PXI/cjpyLmNvbmNhdChpKTtuW2Muc3RhcnQ9ci5zdGFydF09YVtjLmVuZD1pLmVuZF09Y31lbHNlIG5bci5zdGFydF09YVtyLmVuZF09cjtlbHNlIGlmKHI9bltsXSlpZihkZWxldGUgbltyLnN0YXJ0XSxyLnVuc2hpZnQoZSksci5zdGFydD1zLGk9YVtzXSl7ZGVsZXRlIGFbaS5lbmRdO3ZhciB1PWk9PT1yP3I6aS5jb25jYXQocik7blt1LnN0YXJ0PWkuc3RhcnRdPWFbdS5lbmQ9ci5lbmRdPXV9ZWxzZSBuW3Iuc3RhcnRdPWFbci5lbmRdPXI7ZWxzZSBuWyhyPVtlXSkuc3RhcnQ9c109YVtyLmVuZD1sXT1yfSkscyhhLG4pLHMobixhKSxlLmZvckVhY2goZnVuY3Rpb24odCl7clt0PDA/fnQ6dF18fGkucHVzaChbdF0pfSksaX07ZnVuY3Rpb24gbCh0LGUscil7dmFyIG4sYSxpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSluPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhPVtdLGk9W107ZnVuY3Rpb24gbyh0KXt2YXIgZT10PDA/fnQ6dDsoaVtlXXx8KGlbZV09W10pKS5wdXNoKHtpOnQsZzpufSl9ZnVuY3Rpb24gcyh0KXt0LmZvckVhY2gobyl9ZnVuY3Rpb24gbCh0KXt0LmZvckVhY2gocyl9cmV0dXJuIGZ1bmN0aW9uIHQoZSl7c3dpdGNoKG49ZSxlLnR5cGUpe2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjplLmdlb21ldHJpZXMuZm9yRWFjaCh0KTticmVhaztjYXNlIkxpbmVTdHJpbmciOnMoZS5hcmNzKTticmVhaztjYXNlIk11bHRpTGluZVN0cmluZyI6Y2FzZSJQb2x5Z29uIjpsKGUuYXJjcyk7YnJlYWs7Y2FzZSJNdWx0aVBvbHlnb24iOmUuYXJjcy5mb3JFYWNoKGwpfX0oZSksaS5mb3JFYWNoKG51bGw9PXI/ZnVuY3Rpb24odCl7YS5wdXNoKHRbMF0uaSl9OmZ1bmN0aW9uKHQpe3IodFswXS5nLHRbdC5sZW5ndGgtMV0uZykmJmEucHVzaCh0WzBdLmkpfSksYX0oMCxlLHIpO2Vsc2UgZm9yKGE9MCxuPW5ldyBBcnJheShpPXQuYXJjcy5sZW5ndGgpO2E8aTsrK2EpblthXT1hO3JldHVybnt0eXBlOiJNdWx0aUxpbmVTdHJpbmciLGFyY3M6cyh0LG4pfX1mdW5jdGlvbiBjKHQsZSl7dmFyIHI9e30sbj1bXSxhPVtdO2Z1bmN0aW9uIGkodCl7dC5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuZm9yRWFjaChmdW5jdGlvbihlKXsocltlPWU8MD9+ZTplXXx8KHJbZV09W10pKS5wdXNoKHQpfSl9KSxuLnB1c2godCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9LTEsbj10Lmxlbmd0aCxhPXRbbi0xXSxpPTA7KytyPG47KWU9YSxhPXRbcl0saSs9ZVswXSphWzFdLWVbMV0qYVswXTtyZXR1cm4gTWF0aC5hYnMoaSl9KG8odCx7dHlwZToiUG9seWdvbiIsYXJjczpbZV19KS5jb29yZGluYXRlc1swXSl9cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbiB0KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjplLmdlb21ldHJpZXMuZm9yRWFjaCh0KTticmVhaztjYXNlIlBvbHlnb24iOmkoZS5hcmNzKTticmVhaztjYXNlIk11bHRpUG9seWdvbiI6ZS5hcmNzLmZvckVhY2goaSl9fSksbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCF0Ll8pe3ZhciBlPVtdLG49W3RdO2Zvcih0Ll89MSxhLnB1c2goZSk7dD1uLnBvcCgpOyllLnB1c2godCksdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZm9yRWFjaChmdW5jdGlvbih0KXtyW3Q8MD9+dDp0XS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuX3x8KHQuXz0xLG4ucHVzaCh0KSl9KX0pfSl9fSksbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RlbGV0ZSB0Ll99KSx7dHlwZToiTXVsdGlQb2x5Z29uIixhcmNzOmEubWFwKGZ1bmN0aW9uKGUpe3ZhciBuLGE9W107aWYoZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZm9yRWFjaChmdW5jdGlvbih0KXt0LmZvckVhY2goZnVuY3Rpb24odCl7clt0PDA/fnQ6dF0ubGVuZ3RoPDImJmEucHVzaCh0KX0pfSl9KSwobj0oYT1zKHQsYSkpLmxlbmd0aCk+MSlmb3IodmFyIGksbyxjPTEsdT1sKGFbMF0pO2M8bjsrK2MpKGk9bChhW2NdKSk+dSYmKG89YVswXSxhWzBdPWFbY10sYVtjXT1vLHU9aSk7cmV0dXJuIGF9KX19dmFyIHU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjspe3ZhciBhPXIrbj4+PjE7dFthXTxlP3I9YSsxOm49YX1yZXR1cm4gcn07dC5iYm94PW4sdC5mZWF0dXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIkdlb21ldHJ5Q29sbGVjdGlvbiI9PT1lLnR5cGU/e3R5cGU6IkZlYXR1cmVDb2xsZWN0aW9uIixmZWF0dXJlczplLmdlb21ldHJpZXMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBpKHQsZSl9KX06aSh0LGUpfSx0Lm1lc2g9ZnVuY3Rpb24odCl7cmV0dXJuIG8odCxsLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LHQubWVzaEFyY3M9bCx0Lm1lcmdlPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQsYy5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSx0Lm1lcmdlQXJjcz1jLHQubmVpZ2hib3JzPWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHI9dC5tYXAoZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2Z1bmN0aW9uIG4odCxyKXt0LmZvckVhY2goZnVuY3Rpb24odCl7dDwwJiYodD1+dCk7dmFyIG49ZVt0XTtuP24ucHVzaChyKTplW3RdPVtyXX0pfWZ1bmN0aW9uIGEodCxlKXt0LmZvckVhY2goZnVuY3Rpb24odCl7bih0LGUpfSl9dmFyIGk9e0xpbmVTdHJpbmc6bixNdWx0aUxpbmVTdHJpbmc6YSxQb2x5Z29uOmEsTXVsdGlQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2EodCxlKX0pfX07Zm9yKHZhciBvIGluIHQuZm9yRWFjaChmdW5jdGlvbiB0KGUscil7Ikdlb21ldHJ5Q29sbGVjdGlvbiI9PT1lLnR5cGU/ZS5nZW9tZXRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7dChlLHIpfSk6ZS50eXBlIGluIGkmJmlbZS50eXBlXShlLmFyY3Mscil9KSxlKWZvcih2YXIgcz1lW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpZm9yKHZhciBoPWMrMTtoPGw7KytoKXt2YXIgZixwPXNbY10sZD1zW2hdOyhmPXJbcF0pW289dShmLGQpXSE9PWQmJmYuc3BsaWNlKG8sMCxkKSwoZj1yW2RdKVtvPXUoZixwKV0hPT1wJiZmLnNwbGljZShvLDAscCl9cmV0dXJuIHJ9LHQucXVhbnRpemU9ZnVuY3Rpb24odCxlKXtpZighKChlPU1hdGguZmxvb3IoZSkpPj0yKSl0aHJvdyBuZXcgRXJyb3IoIm4gbXVzdCBiZSBcdTIyNjUyIik7aWYodC50cmFuc2Zvcm0pdGhyb3cgbmV3IEVycm9yKCJhbHJlYWR5IHF1YW50aXplZCIpO3ZhciByLGE9bih0KSxpPWFbMF0sbz0oYVsyXS1pKS8oZS0xKXx8MSxzPWFbMV0sbD0oYVszXS1zKS8oZS0xKXx8MTtmdW5jdGlvbiBjKHQpe3RbMF09TWF0aC5yb3VuZCgodFswXS1pKS9vKSx0WzFdPU1hdGgucm91bmQoKHRbMV0tcykvbCl9ZnVuY3Rpb24gdSh0KXtzd2l0Y2godC50eXBlKXtjYXNlIkdlb21ldHJ5Q29sbGVjdGlvbiI6dC5nZW9tZXRyaWVzLmZvckVhY2godSk7YnJlYWs7Y2FzZSJQb2ludCI6Yyh0LmNvb3JkaW5hdGVzKTticmVhaztjYXNlIk11bHRpUG9pbnQiOnQuY29vcmRpbmF0ZXMuZm9yRWFjaChjKX19Zm9yKHIgaW4gdC5hcmNzLmZvckVhY2goZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbixhPTEsYz0xLHU9dC5sZW5ndGgsaD10WzBdLGY9aFswXT1NYXRoLnJvdW5kKChoWzBdLWkpL28pLHA9aFsxXT1NYXRoLnJvdW5kKChoWzFdLXMpL2wpO2E8dTsrK2EpaD10W2FdLHI9TWF0aC5yb3VuZCgoaFswXS1pKS9vKSxuPU1hdGgucm91bmQoKGhbMV0tcykvbCkscj09PWYmJm49PT1wfHwoKGU9dFtjKytdKVswXT1yLWYsZj1yLGVbMV09bi1wLHA9bik7YzwyJiYoKGU9dFtjKytdKVswXT0wLGVbMV09MCksdC5sZW5ndGg9Y30pLHQub2JqZWN0cyl1KHQub2JqZWN0c1tyXSk7cmV0dXJuIHQudHJhbnNmb3JtPXtzY2FsZTpbbyxsXSx0cmFuc2xhdGU6W2ksc119LHR9LHQudHJhbnNmb3JtPXIsdC51bnRyYW5zZm9ybT1mdW5jdGlvbih0KXtpZihudWxsPT0ocj10LnRyYW5zZm9ybSkpcmV0dXJuIGU7dmFyIHIsbixhLGk9ci5zY2FsZVswXSxvPXIuc2NhbGVbMV0scz1yLnRyYW5zbGF0ZVswXSxsPXIudHJhbnNsYXRlWzFdO3JldHVybiBmdW5jdGlvbih0LGUpe2V8fChuPWE9MCk7dmFyIHI9TWF0aC5yb3VuZCgodFswXS1zKS9pKSxjPU1hdGgucm91bmQoKHRbMV0tbCkvbyk7cmV0dXJuIHRbMF09ci1uLG49cix0WzFdPWMtYSxhPWMsdH19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLnRvcG9qc29uPW4udG9wb2pzb258fHt9KX0se31dLDU0MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodDwwKXJldHVybltdO2lmKDA9PT10KXJldHVybltbMF1dO2Zvcih2YXIgZT0wfE1hdGgucm91bmQoaSh0KzEpKSxyPVtdLG89MDtvPGU7KytvKXtmb3IodmFyIHM9bi51bnJhbmsodCxvKSxsPVswXSxjPTAsdT0wO3U8cy5sZW5ndGg7Kyt1KWMrPTE8PHNbdV0sbC5wdXNoKGMpO2Eocyk8MSYmKGxbMF09YyxsW3RdPTApLHIucHVzaChsKX1yZXR1cm4gcn07dmFyIG49dCgicGVybXV0YXRpb24tcmFuayIpLGE9dCgicGVybXV0YXRpb24tcGFyaXR5IiksaT10KCJnYW1tYSIpfSx7Z2FtbWE6MjM0LCJwZXJtdXRhdGlvbi1wYXJpdHkiOjQ2NSwicGVybXV0YXRpb24tcmFuayI6NDY2fV0sNTQxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT0odD10fHx7fSkuY2VudGVyfHxbMCwwLDBdLHI9dC51cHx8WzAsMSwwXSxuPXQucmlnaHR8fGgociksYT10LnJhZGl1c3x8MSxpPXQudGhldGF8fDAsdT10LnBoaXx8MDtpZihlPVtdLnNsaWNlLmNhbGwoZSwwLDMpLHI9W10uc2xpY2UuY2FsbChyLDAsMykscyhyLHIpLG49W10uc2xpY2UuY2FsbChuLDAsMykscyhuLG4pLCJleWUiaW4gdCl7dmFyIHA9dC5leWUsZD1bcFswXS1lWzBdLHBbMV0tZVsxXSxwWzJdLWVbMl1dO28obixkLHIpLGMoblswXSxuWzFdLG5bMl0pPDFlLTY/bj1oKHIpOnMobixuKSxhPWMoZFswXSxkWzFdLGRbMl0pO3ZhciBnPWwocixkKS9hLHY9bChuLGQpL2E7dT1NYXRoLmFjb3MoZyksaT1NYXRoLmFjb3Modil9cmV0dXJuIGE9TWF0aC5sb2coYSksbmV3IGYodC56b29tTWluLHQuem9vbU1heCxlLHIsbixhLGksdSl9O3ZhciBuPXQoImZpbHRlcmVkLXZlY3RvciIpLGE9dCgiZ2wtbWF0NC9pbnZlcnQiKSxpPXQoImdsLW1hdDQvcm90YXRlIiksbz10KCJnbC12ZWMzL2Nyb3NzIikscz10KCJnbC12ZWMzL25vcm1hbGl6ZSIpLGw9dCgiZ2wtdmVjMy9kb3QiKTtmdW5jdGlvbiBjKHQsZSxyKXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHQsMikrTWF0aC5wb3coZSwyKStNYXRoLnBvdyhyLDIpKX1mdW5jdGlvbiB1KHQpe3JldHVybiBNYXRoLm1pbigxLE1hdGgubWF4KC0xLHQpKX1mdW5jdGlvbiBoKHQpe3ZhciBlPU1hdGguYWJzKHRbMF0pLHI9TWF0aC5hYnModFsxXSksbj1NYXRoLmFicyh0WzJdKSxhPVswLDAsMF07ZT5NYXRoLm1heChyLG4pP2FbMl09MTpyPk1hdGgubWF4KGUsbik/YVswXT0xOmFbMV09MTtmb3IodmFyIGk9MCxvPTAsbD0wO2w8MzsrK2wpaSs9dFtsXSp0W2xdLG8rPWFbbF0qdFtsXTtmb3IobD0wO2w8MzsrK2wpYVtsXS09by9pKnRbbF07cmV0dXJuIHMoYSxhKSxhfWZ1bmN0aW9uIGYodCxlLHIsYSxpLG8scyxsKXt0aGlzLmNlbnRlcj1uKHIpLHRoaXMudXA9bihhKSx0aGlzLnJpZ2h0PW4oaSksdGhpcy5yYWRpdXM9bihbb10pLHRoaXMuYW5nbGU9bihbcyxsXSksdGhpcy5hbmdsZS5ib3VuZHM9W1stMS8wLC1NYXRoLlBJLzJdLFsxLzAsTWF0aC5QSS8yXV0sdGhpcy5zZXREaXN0YW5jZUxpbWl0cyh0LGUpLHRoaXMuY29tcHV0ZWRDZW50ZXI9dGhpcy5jZW50ZXIuY3VydmUoMCksdGhpcy5jb21wdXRlZFVwPXRoaXMudXAuY3VydmUoMCksdGhpcy5jb21wdXRlZFJpZ2h0PXRoaXMucmlnaHQuY3VydmUoMCksdGhpcy5jb21wdXRlZFJhZGl1cz10aGlzLnJhZGl1cy5jdXJ2ZSgwKSx0aGlzLmNvbXB1dGVkQW5nbGU9dGhpcy5hbmdsZS5jdXJ2ZSgwKSx0aGlzLmNvbXB1dGVkVG93YXJkPVswLDAsMF0sdGhpcy5jb21wdXRlZEV5ZT1bMCwwLDBdLHRoaXMuY29tcHV0ZWRNYXRyaXg9bmV3IEFycmF5KDE2KTtmb3IodmFyIGM9MDtjPDE2OysrYyl0aGlzLmNvbXB1dGVkTWF0cml4W2NdPS41O3RoaXMucmVjYWxjTWF0cml4KDApfXZhciBwPWYucHJvdG90eXBlO3Auc2V0RGlzdGFuY2VMaW1pdHM9ZnVuY3Rpb24odCxlKXt0PXQ+MD9NYXRoLmxvZyh0KTotMS8wLGU9ZT4wP01hdGgubG9nKGUpOjEvMCxlPU1hdGgubWF4KGUsdCksdGhpcy5yYWRpdXMuYm91bmRzWzBdWzBdPXQsdGhpcy5yYWRpdXMuYm91bmRzWzFdWzBdPWV9LHAuZ2V0RGlzdGFuY2VMaW1pdHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5yYWRpdXMuYm91bmRzWzBdO3JldHVybiB0Pyh0WzBdPU1hdGguZXhwKGVbMF1bMF0pLHRbMV09TWF0aC5leHAoZVsxXVswXSksdCk6W01hdGguZXhwKGVbMF1bMF0pLE1hdGguZXhwKGVbMV1bMF0pXX0scC5yZWNhbGNNYXRyaXg9ZnVuY3Rpb24odCl7dGhpcy5jZW50ZXIuY3VydmUodCksdGhpcy51cC5jdXJ2ZSh0KSx0aGlzLnJpZ2h0LmN1cnZlKHQpLHRoaXMucmFkaXVzLmN1cnZlKHQpLHRoaXMuYW5nbGUuY3VydmUodCk7Zm9yKHZhciBlPXRoaXMuY29tcHV0ZWRVcCxyPXRoaXMuY29tcHV0ZWRSaWdodCxuPTAsYT0wLGk9MDtpPDM7KytpKWErPWVbaV0qcltpXSxuKz1lW2ldKmVbaV07dmFyIGw9TWF0aC5zcXJ0KG4pLHU9MDtmb3IoaT0wO2k8MzsrK2kpcltpXS09ZVtpXSphL24sdSs9cltpXSpyW2ldLGVbaV0vPWw7dmFyIGg9TWF0aC5zcXJ0KHUpO2ZvcihpPTA7aTwzOysraSlyW2ldLz1oO3ZhciBmPXRoaXMuY29tcHV0ZWRUb3dhcmQ7byhmLGUscikscyhmLGYpO3ZhciBwPU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pLGQ9dGhpcy5jb21wdXRlZEFuZ2xlWzBdLGc9dGhpcy5jb21wdXRlZEFuZ2xlWzFdLHY9TWF0aC5jb3MoZCksbT1NYXRoLnNpbihkKSx5PU1hdGguY29zKGcpLHg9TWF0aC5zaW4oZyksYj10aGlzLmNvbXB1dGVkQ2VudGVyLF89dip5LHc9bSp5LGs9eCxUPS12KngsTT0tbSp4LEE9eSxTPXRoaXMuY29tcHV0ZWRFeWUsRT10aGlzLmNvbXB1dGVkTWF0cml4O2ZvcihpPTA7aTwzOysraSl7dmFyIEw9XypyW2ldK3cqZltpXStrKmVbaV07RVs0KmkrMV09VCpyW2ldK00qZltpXStBKmVbaV0sRVs0KmkrMl09TCxFWzQqaSszXT0wfXZhciBDPUVbMV0sUD1FWzVdLE89RVs5XSx6PUVbMl0sST1FWzZdLEQ9RVsxMF0sUj1QKkQtTypJLEY9Typ6LUMqRCxCPUMqSS1QKnosTj1jKFIsRixCKTtSLz1OLEYvPU4sQi89TixFWzBdPVIsRVs0XT1GLEVbOF09Qjtmb3IoaT0wO2k8MzsrK2kpU1tpXT1iW2ldK0VbMis0KmldKnA7Zm9yKGk9MDtpPDM7KytpKXt1PTA7Zm9yKHZhciBqPTA7ajwzOysrail1Kz1FW2krNCpqXSpTW2pdO0VbMTIraV09LXV9RVsxNV09MX0scC5nZXRNYXRyaXg9ZnVuY3Rpb24odCxlKXt0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgcj10aGlzLmNvbXB1dGVkTWF0cml4O2lmKGUpe2Zvcih2YXIgbj0wO248MTY7KytuKWVbbl09cltuXTtyZXR1cm4gZX1yZXR1cm4gcn07dmFyIGQ9WzAsMCwwXTtwLnJvdGF0ZT1mdW5jdGlvbih0LGUscixuKXtpZih0aGlzLmFuZ2xlLm1vdmUodCxlLHIpLG4pe3RoaXMucmVjYWxjTWF0cml4KHQpO3ZhciBhPXRoaXMuY29tcHV0ZWRNYXRyaXg7ZFswXT1hWzJdLGRbMV09YVs2XSxkWzJdPWFbMTBdO2Zvcih2YXIgbz10aGlzLmNvbXB1dGVkVXAscz10aGlzLmNvbXB1dGVkUmlnaHQsbD10aGlzLmNvbXB1dGVkVG93YXJkLGM9MDtjPDM7KytjKWFbNCpjXT1vW2NdLGFbNCpjKzFdPXNbY10sYVs0KmMrMl09bFtjXTtpKGEsYSxuLGQpO2ZvcihjPTA7YzwzOysrYylvW2NdPWFbNCpjXSxzW2NdPWFbNCpjKzFdO3RoaXMudXAuc2V0KHQsb1swXSxvWzFdLG9bMl0pLHRoaXMucmlnaHQuc2V0KHQsc1swXSxzWzFdLHNbMl0pfX0scC5wYW49ZnVuY3Rpb24odCxlLHIsbil7ZT1lfHwwLHI9cnx8MCxuPW58fDAsdGhpcy5yZWNhbGNNYXRyaXgodCk7dmFyIGE9dGhpcy5jb21wdXRlZE1hdHJpeCxpPShNYXRoLmV4cCh0aGlzLmNvbXB1dGVkUmFkaXVzWzBdKSxhWzFdKSxvPWFbNV0scz1hWzldLGw9YyhpLG8scyk7aS89bCxvLz1sLHMvPWw7dmFyIHU9YVswXSxoPWFbNF0sZj1hWzhdLHA9dSppK2gqbytmKnMsZD1jKHUtPWkqcCxoLT1vKnAsZi09cypwKSxnPSh1Lz1kKSplK2kqcix2PShoLz1kKSplK28qcixtPShmLz1kKSplK3Mqcjt0aGlzLmNlbnRlci5tb3ZlKHQsZyx2LG0pO3ZhciB5PU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pO3k9TWF0aC5tYXgoMWUtNCx5K24pLHRoaXMucmFkaXVzLnNldCh0LE1hdGgubG9nKHkpKX0scC50cmFuc2xhdGU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5jZW50ZXIubW92ZSh0LGV8fDAscnx8MCxufHwwKX0scC5zZXRNYXRyaXg9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9MTsibnVtYmVyIj09dHlwZW9mIHImJihpPTB8ciksKGk8MHx8aT4zKSYmKGk9MSk7dmFyIG89KGkrMiklMztlfHwodGhpcy5yZWNhbGNNYXRyaXgodCksZT10aGlzLmNvbXB1dGVkTWF0cml4KTt2YXIgcz1lW2ldLGw9ZVtpKzRdLGg9ZVtpKzhdO2lmKG4pe3ZhciBmPU1hdGguYWJzKHMpLHA9TWF0aC5hYnMobCksZD1NYXRoLmFicyhoKSxnPU1hdGgubWF4KGYscCxkKTtmPT09Zz8ocz1zPDA/LTE6MSxsPWg9MCk6ZD09PWc/KGg9aDwwPy0xOjEscz1sPTApOihsPWw8MD8tMToxLHM9aD0wKX1lbHNle3ZhciB2PWMocyxsLGgpO3MvPXYsbC89dixoLz12fXZhciBtLHkseD1lW29dLGI9ZVtvKzRdLF89ZVtvKzhdLHc9eCpzK2IqbCtfKmgsaz1jKHgtPXMqdyxiLT1sKncsXy09aCp3KSxUPWwqKF8vPWspLWgqKGIvPWspLE09aCooeC89ayktcypfLEE9cypiLWwqeCxTPWMoVCxNLEEpO2lmKFQvPVMsTS89UyxBLz1TLHRoaXMuY2VudGVyLmp1bXAodCxILEcsWSksdGhpcy5yYWRpdXMuaWRsZSh0KSx0aGlzLnVwLmp1bXAodCxzLGwsaCksdGhpcy5yaWdodC5qdW1wKHQseCxiLF8pLDI9PT1pKXt2YXIgRT1lWzFdLEw9ZVs1XSxDPWVbOV0sUD1FKngrTCpiK0MqXyxPPUUqVCtMKk0rQypBO209UjwwPy1NYXRoLlBJLzI6TWF0aC5QSS8yLHk9TWF0aC5hdGFuMihPLFApfWVsc2V7dmFyIHo9ZVsyXSxJPWVbNl0sRD1lWzEwXSxSPXoqcytJKmwrRCpoLEY9eip4K0kqYitEKl8sQj16KlQrSSpNK0QqQTttPU1hdGguYXNpbih1KFIpKSx5PU1hdGguYXRhbjIoQixGKX10aGlzLmFuZ2xlLmp1bXAodCx5LG0pLHRoaXMucmVjYWxjTWF0cml4KHQpO3ZhciBOPWVbMl0saj1lWzZdLFY9ZVsxMF0sVT10aGlzLmNvbXB1dGVkTWF0cml4O2EoVSxlKTt2YXIgcT1VWzE1XSxIPVVbMTJdL3EsRz1VWzEzXS9xLFk9VVsxNF0vcSxXPU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pO3RoaXMuY2VudGVyLmp1bXAodCxILU4qVyxHLWoqVyxZLVYqVyl9LHAubGFzdFQ9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5tYXgodGhpcy5jZW50ZXIubGFzdFQoKSx0aGlzLnVwLmxhc3RUKCksdGhpcy5yaWdodC5sYXN0VCgpLHRoaXMucmFkaXVzLmxhc3RUKCksdGhpcy5hbmdsZS5sYXN0VCgpKX0scC5pZGxlPWZ1bmN0aW9uKHQpe3RoaXMuY2VudGVyLmlkbGUodCksdGhpcy51cC5pZGxlKHQpLHRoaXMucmlnaHQuaWRsZSh0KSx0aGlzLnJhZGl1cy5pZGxlKHQpLHRoaXMuYW5nbGUuaWRsZSh0KX0scC5mbHVzaD1mdW5jdGlvbih0KXt0aGlzLmNlbnRlci5mbHVzaCh0KSx0aGlzLnVwLmZsdXNoKHQpLHRoaXMucmlnaHQuZmx1c2godCksdGhpcy5yYWRpdXMuZmx1c2godCksdGhpcy5hbmdsZS5mbHVzaCh0KX0scC5zZXREaXN0YW5jZT1mdW5jdGlvbih0LGUpe2U+MCYmdGhpcy5yYWRpdXMuc2V0KHQsTWF0aC5sb2coZSkpfSxwLmxvb2tBdD1mdW5jdGlvbih0LGUscixuKXt0aGlzLnJlY2FsY01hdHJpeCh0KSxlPWV8fHRoaXMuY29tcHV0ZWRFeWUscj1yfHx0aGlzLmNvbXB1dGVkQ2VudGVyO3ZhciBhPShuPW58fHRoaXMuY29tcHV0ZWRVcClbMF0saT1uWzFdLG89blsyXSxzPWMoYSxpLG8pO2lmKCEoczwxZS02KSl7YS89cyxpLz1zLG8vPXM7dmFyIGw9ZVswXS1yWzBdLGg9ZVsxXS1yWzFdLGY9ZVsyXS1yWzJdLHA9YyhsLGgsZik7aWYoIShwPDFlLTYpKXtsLz1wLGgvPXAsZi89cDt2YXIgZD10aGlzLmNvbXB1dGVkUmlnaHQsZz1kWzBdLHY9ZFsxXSxtPWRbMl0seT1hKmcraSp2K28qbSx4PWMoZy09eSphLHYtPXkqaSxtLT15Km8pO2lmKCEoeDwuMDEmJih4PWMoZz1pKmYtbypoLHY9bypsLWEqZixtPWEqaC1pKmwpKTwxZS02KSl7Zy89eCx2Lz14LG0vPXgsdGhpcy51cC5zZXQodCxhLGksbyksdGhpcy5yaWdodC5zZXQodCxnLHYsbSksdGhpcy5jZW50ZXIuc2V0KHQsclswXSxyWzFdLHJbMl0pLHRoaXMucmFkaXVzLnNldCh0LE1hdGgubG9nKHApKTt2YXIgYj1pKm0tbyp2LF89bypnLWEqbSx3PWEqdi1pKmcsaz1jKGIsXyx3KSxUPWEqbCtpKmgrbypmLE09ZypsK3YqaCttKmYsQT0oYi89aykqbCsoXy89aykqaCsody89aykqZixTPU1hdGguYXNpbih1KFQpKSxFPU1hdGguYXRhbjIoQSxNKSxMPXRoaXMuYW5nbGUuX3N0YXRlLEM9TFtMLmxlbmd0aC0xXSxQPUxbTC5sZW5ndGgtMl07QyU9MipNYXRoLlBJO3ZhciBPPU1hdGguYWJzKEMrMipNYXRoLlBJLUUpLHo9TWF0aC5hYnMoQy1FKSxJPU1hdGguYWJzKEMtMipNYXRoLlBJLUUpO088eiYmKEMrPTIqTWF0aC5QSSksSTx6JiYoQy09MipNYXRoLlBJKSx0aGlzLmFuZ2xlLmp1bXAodGhpcy5hbmdsZS5sYXN0VCgpLEMsUCksdGhpcy5hbmdsZS5zZXQodCxFLFMpfX19fX0seyJmaWx0ZXJlZC12ZWN0b3IiOjIyOSwiZ2wtbWF0NC9pbnZlcnQiOjI2OCwiZ2wtbWF0NC9yb3RhdGUiOjI3MywiZ2wtdmVjMy9jcm9zcyI6MzM2LCJnbC12ZWMzL2RvdCI6MzQxLCJnbC12ZWMzL25vcm1hbGl6ZSI6MzU4fV0sNTQyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGE9dCplLGk9bip0LG89aS0oaS10KSxzPXQtbyxsPW4qZSxjPWwtKGwtZSksdT1lLWMsaD1zKnUtKGEtbypjLXMqYy1vKnUpO2lmKHIpcmV0dXJuIHJbMF09aCxyWzFdPWEscjtyZXR1cm5baCxhXX07dmFyIG49KyhNYXRoLnBvdygyLDI3KSsxKX0se31dLDU0MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQrZSxhPW4tdCxpPWUtYSxvPXQtKG4tYSk7aWYocilyZXR1cm4gclswXT1vK2ksclsxXT1uLHI7cmV0dXJuW28raSxuXX19LHt9XSw1NDQ6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSxuKXsidXNlIHN0cmljdCI7dmFyIGE9dCgiYml0LXR3aWRkbGUiKSxpPXQoImR1cCIpO2UuX19UWVBFREFSUkFZX1BPT0x8fChlLl9fVFlQRURBUlJBWV9QT09MPXtVSU5UODppKFszMiwwXSksVUlOVDE2OmkoWzMyLDBdKSxVSU5UMzI6aShbMzIsMF0pLElOVDg6aShbMzIsMF0pLElOVDE2OmkoWzMyLDBdKSxJTlQzMjppKFszMiwwXSksRkxPQVQ6aShbMzIsMF0pLERPVUJMRTppKFszMiwwXSksREFUQTppKFszMiwwXSksVUlOVDhDOmkoWzMyLDBdKSxCVUZGRVI6aShbMzIsMF0pfSk7dmFyIG89InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OENsYW1wZWRBcnJheSxzPWUuX19UWVBFREFSUkFZX1BPT0w7cy5VSU5UOEN8fChzLlVJTlQ4Qz1pKFszMiwwXSkpLHMuQlVGRkVSfHwocy5CVUZGRVI9aShbMzIsMF0pKTt2YXIgbD1zLkRBVEEsYz1zLkJVRkZFUjtmdW5jdGlvbiB1KHQpe2lmKHQpe3ZhciBlPXQubGVuZ3RofHx0LmJ5dGVMZW5ndGgscj1hLmxvZzIoZSk7bFtyXS5wdXNoKHQpfX1mdW5jdGlvbiBoKHQpe3Q9YS5uZXh0UG93Mih0KTt2YXIgZT1hLmxvZzIodCkscj1sW2VdO3JldHVybiByLmxlbmd0aD4wP3IucG9wKCk6bmV3IEFycmF5QnVmZmVyKHQpfWZ1bmN0aW9uIGYodCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGgodCksMCx0KX1mdW5jdGlvbiBwKHQpe3JldHVybiBuZXcgVWludDE2QXJyYXkoaCgyKnQpLDAsdCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gbmV3IFVpbnQzMkFycmF5KGgoNCp0KSwwLHQpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIG5ldyBJbnQ4QXJyYXkoaCh0KSwwLHQpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIG5ldyBJbnQxNkFycmF5KGgoMip0KSwwLHQpfWZ1bmN0aW9uIG0odCl7cmV0dXJuIG5ldyBJbnQzMkFycmF5KGgoNCp0KSwwLHQpfWZ1bmN0aW9uIHkodCl7cmV0dXJuIG5ldyBGbG9hdDMyQXJyYXkoaCg0KnQpLDAsdCl9ZnVuY3Rpb24geCh0KXtyZXR1cm4gbmV3IEZsb2F0NjRBcnJheShoKDgqdCksMCx0KX1mdW5jdGlvbiBiKHQpe3JldHVybiBvP25ldyBVaW50OENsYW1wZWRBcnJheShoKHQpLDAsdCk6Zih0KX1mdW5jdGlvbiBfKHQpe3JldHVybiBuZXcgRGF0YVZpZXcoaCh0KSwwLHQpfWZ1bmN0aW9uIHcodCl7dD1hLm5leHRQb3cyKHQpO3ZhciBlPWEubG9nMih0KSxyPWNbZV07cmV0dXJuIHIubGVuZ3RoPjA/ci5wb3AoKTpuZXcgbih0KX1yLmZyZWU9ZnVuY3Rpb24odCl7aWYobi5pc0J1ZmZlcih0KSljW2EubG9nMih0Lmxlbmd0aCldLnB1c2godCk7ZWxzZXtpZigiW29iamVjdCBBcnJheUJ1ZmZlcl0iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpJiYodD10LmJ1ZmZlciksIXQpcmV0dXJuO3ZhciBlPXQubGVuZ3RofHx0LmJ5dGVMZW5ndGgscj0wfGEubG9nMihlKTtsW3JdLnB1c2godCl9fSxyLmZyZWVVaW50OD1yLmZyZWVVaW50MTY9ci5mcmVlVWludDMyPXIuZnJlZUludDg9ci5mcmVlSW50MTY9ci5mcmVlSW50MzI9ci5mcmVlRmxvYXQzMj1yLmZyZWVGbG9hdD1yLmZyZWVGbG9hdDY0PXIuZnJlZURvdWJsZT1yLmZyZWVVaW50OENsYW1wZWQ9ci5mcmVlRGF0YVZpZXc9ZnVuY3Rpb24odCl7dSh0LmJ1ZmZlcil9LHIuZnJlZUFycmF5QnVmZmVyPXUsci5mcmVlQnVmZmVyPWZ1bmN0aW9uKHQpe2NbYS5sb2cyKHQubGVuZ3RoKV0ucHVzaCh0KX0sci5tYWxsb2M9ZnVuY3Rpb24odCxlKXtpZih2b2lkIDA9PT1lfHwiYXJyYXlidWZmZXIiPT09ZSlyZXR1cm4gaCh0KTtzd2l0Y2goZSl7Y2FzZSJ1aW50OCI6cmV0dXJuIGYodCk7Y2FzZSJ1aW50MTYiOnJldHVybiBwKHQpO2Nhc2UidWludDMyIjpyZXR1cm4gZCh0KTtjYXNlImludDgiOnJldHVybiBnKHQpO2Nhc2UiaW50MTYiOnJldHVybiB2KHQpO2Nhc2UiaW50MzIiOnJldHVybiBtKHQpO2Nhc2UiZmxvYXQiOmNhc2UiZmxvYXQzMiI6cmV0dXJuIHkodCk7Y2FzZSJkb3VibGUiOmNhc2UiZmxvYXQ2NCI6cmV0dXJuIHgodCk7Y2FzZSJ1aW50OF9jbGFtcGVkIjpyZXR1cm4gYih0KTtjYXNlImJ1ZmZlciI6cmV0dXJuIHcodCk7Y2FzZSJkYXRhIjpjYXNlImRhdGF2aWV3IjpyZXR1cm4gXyh0KTtkZWZhdWx0OnJldHVybiBudWxsfXJldHVybiBudWxsfSxyLm1hbGxvY0FycmF5QnVmZmVyPWgsci5tYWxsb2NVaW50OD1mLHIubWFsbG9jVWludDE2PXAsci5tYWxsb2NVaW50MzI9ZCxyLm1hbGxvY0ludDg9ZyxyLm1hbGxvY0ludDE2PXYsci5tYWxsb2NJbnQzMj1tLHIubWFsbG9jRmxvYXQzMj1yLm1hbGxvY0Zsb2F0PXksci5tYWxsb2NGbG9hdDY0PXIubWFsbG9jRG91YmxlPXgsci5tYWxsb2NVaW50OENsYW1wZWQ9YixyLm1hbGxvY0RhdGFWaWV3PV8sci5tYWxsb2NCdWZmZXI9dyxyLmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDMyOysrdClzLlVJTlQ4W3RdLmxlbmd0aD0wLHMuVUlOVDE2W3RdLmxlbmd0aD0wLHMuVUlOVDMyW3RdLmxlbmd0aD0wLHMuSU5UOFt0XS5sZW5ndGg9MCxzLklOVDE2W3RdLmxlbmd0aD0wLHMuSU5UMzJbdF0ubGVuZ3RoPTAscy5GTE9BVFt0XS5sZW5ndGg9MCxzLkRPVUJMRVt0XS5sZW5ndGg9MCxzLlVJTlQ4Q1t0XS5sZW5ndGg9MCxsW3RdLmxlbmd0aD0wLGNbdF0ubGVuZ3RoPTB9fSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30sdCgiYnVmZmVyIikuQnVmZmVyKX0seyJiaXQtdHdpZGRsZSI6OTQsYnVmZmVyOjEwNyxkdXA6MTcyfV0sNTQ1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCl7dGhpcy5yb290cz1uZXcgQXJyYXkodCksdGhpcy5yYW5rcz1uZXcgQXJyYXkodCk7Zm9yKHZhciBlPTA7ZTx0OysrZSl0aGlzLnJvb3RzW2VdPWUsdGhpcy5yYW5rc1tlXT0wfWUuZXhwb3J0cz1uO3ZhciBhPW4ucHJvdG90eXBlO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJsZW5ndGgiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290cy5sZW5ndGh9fSksYS5tYWtlU2V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yb290cy5sZW5ndGg7cmV0dXJuIHRoaXMucm9vdHMucHVzaCh0KSx0aGlzLnJhbmtzLnB1c2goMCksdH0sYS5maW5kPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LHI9dGhpcy5yb290cztyW3RdIT09dDspdD1yW3RdO2Zvcig7cltlXSE9PXQ7KXt2YXIgbj1yW2VdO3JbZV09dCxlPW59cmV0dXJuIHR9LGEubGluaz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuZmluZCh0KSxuPXRoaXMuZmluZChlKTtpZihyIT09bil7dmFyIGE9dGhpcy5yYW5rcyxpPXRoaXMucm9vdHMsbz1hW3JdLHM9YVtuXTtvPHM/aVtyXT1uOnM8bz9pW25dPXI6KGlbbl09ciwrK2Fbcl0pfX19LHt9XSw1NDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gMD09PXQubGVuZ3RoP3Q6ZT8ocnx8dC5zb3J0KGUpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEsbj10Lmxlbmd0aCxhPXRbMF0saT10WzBdLG89MTtvPG47KytvKWlmKGk9YSxlKGE9dFtvXSxpKSl7aWYobz09PXIpe3IrKztjb250aW51ZX10W3IrK109YX1yZXR1cm4gdC5sZW5ndGg9cix0fSh0LGUpKToocnx8dC5zb3J0KCksZnVuY3Rpb24odCl7Zm9yKHZhciBlPTEscj10Lmxlbmd0aCxuPXRbMF0sYT10WzBdLGk9MTtpPHI7KytpLGE9bilpZihhPW4sKG49dFtpXSkhPT1hKXtpZihpPT09ZSl7ZSsrO2NvbnRpbnVlfXRbZSsrXT1ufXJldHVybiB0Lmxlbmd0aD1lLHR9KHQpKX19LHt9XSw1NDc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj0vW1wnXCJdLztlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KG4udGVzdCh0LmNoYXJBdCgwKSkmJih0PXQuc3Vic3RyKDEpKSxuLnRlc3QodC5jaGFyQXQodC5sZW5ndGgtMSkpJiYodD10LnN1YnN0cigwLHQubGVuZ3RoLTEpKSx0KToiIn19LHt9XSw1NDg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtBcnJheS5pc0FycmF5KHIpfHwocj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKSk7Zm9yKHZhciBuPTAsYT1yLmxlbmd0aDtuPGE7bisrKXt2YXIgaT1yW25dO2Zvcih2YXIgbyBpbiBpKWlmKCh2b2lkIDA9PT1lW29dfHxBcnJheS5pc0FycmF5KGVbb10pfHx0W29dIT09ZVtvXSkmJm8gaW4gZSl7dmFyIHM7aWYoITA9PT1pW29dKXM9ZVtvXTtlbHNle2lmKCExPT09aVtvXSljb250aW51ZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaVtvXSYmdm9pZCAwPT09KHM9aVtvXShlW29dLHQsZSkpKWNvbnRpbnVlfXRbb109c319cmV0dXJuIHR9fSx7fV0sNTQ5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpeyJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV8fChlPXt9KTtyZXR1cm4gbih0LGUuY2FudmFzfHxhLGUuY29udGV4dHx8aSxlKX07dmFyIG49dCgiLi9saWIvdnRleHQiKSxhPW51bGwsaT1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigoYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSkud2lkdGg9ODE5MixhLmhlaWdodD0xMDI0LGk9YS5nZXRDb250ZXh0KCIyZCIpKX0seyIuL2xpYi92dGV4dCI6NTUwfV0sNTUwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPTY0LG89MS4yNSxzPXticmVha2xpbmVzOiExLGJvbGRzOiExLGl0YWxpY3M6ITEsc3Vic2NyaXB0czohMSxzdXBlcnNjcmlwdHM6ITF9O24mJihuLnNpemUmJm4uc2l6ZT4wJiYoaT1uLnNpemUpLG4ubGluZVNwYWNpbmcmJm4ubGluZVNwYWNpbmc+MCYmKG89bi5saW5lU3BhY2luZyksbi5zdHlsZXRhZ3MmJm4uc3R5bGV0YWdzLmJyZWFrbGluZXMmJihzLmJyZWFrbGluZXM9ISFuLnN0eWxldGFncy5icmVha2xpbmVzKSxuLnN0eWxldGFncyYmbi5zdHlsZXRhZ3MuYm9sZHMmJihzLmJvbGRzPSEhbi5zdHlsZXRhZ3MuYm9sZHMpLG4uc3R5bGV0YWdzJiZuLnN0eWxldGFncy5pdGFsaWNzJiYocy5pdGFsaWNzPSEhbi5zdHlsZXRhZ3MuaXRhbGljcyksbi5zdHlsZXRhZ3MmJm4uc3R5bGV0YWdzLnN1YnNjcmlwdHMmJihzLnN1YnNjcmlwdHM9ISFuLnN0eWxldGFncy5zdWJzY3JpcHRzKSxuLnN0eWxldGFncyYmbi5zdHlsZXRhZ3Muc3VwZXJzY3JpcHRzJiYocy5zdXBlcnNjcmlwdHM9ISFuLnN0eWxldGFncy5zdXBlcnNjcmlwdHMpKTtyZXR1cm4gci5mb250PVtuLmZvbnRTdHlsZSxuLmZvbnRWYXJpYW50LG4uZm9udFdlaWdodCxpKyJweCIsbi5mb250XS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHR9KS5qb2luKCIgIiksci50ZXh0QWxpZ249InN0YXJ0IixyLnRleHRCYXNlbGluZT0iYWxwaGFiZXRpYyIsci5kaXJlY3Rpb249Imx0ciIsdyhmdW5jdGlvbih0LGUscixuLGksbyl7cj1yLnJlcGxhY2UoL1xuL2csIiIpLHI9ITA9PT1vLmJyZWFrbGluZXM/ci5yZXBsYWNlKC9cPGJyXD4vZywiXG4iKTpyLnJlcGxhY2UoL1w8YnJcPi9nLCIgIik7dmFyIHM9IiIsbD1bXTtmb3Ioaz0wO2s8ci5sZW5ndGg7KytrKWxba109czshMD09PW8uYm9sZHMmJihsPXgoYyx1LHIsbCkpLCEwPT09by5pdGFsaWNzJiYobD14KGgsZixyLGwpKSwhMD09PW8uc3VwZXJzY3JpcHRzJiYobD14KHAsZyxyLGwpKSwhMD09PW8uc3Vic2NyaXB0cyYmKGw9eCh2LHkscixsKSk7dmFyIGI9W10sXz0iIjtmb3Ioaz0wO2s8ci5sZW5ndGg7KytrKW51bGwhPT1sW2tdJiYoXys9cltrXSxiLnB1c2gobFtrXSkpO3ZhciB3LGssVCxNLEEsUz1fLnNwbGl0KCJcbiIpLEU9Uy5sZW5ndGgsTD1NYXRoLnJvdW5kKGkqbiksQz1uLFA9MipuLE89MCx6PUUqTCtQO3QuaGVpZ2h0PHomJih0LmhlaWdodD16KSxlLmZpbGxTdHlsZT0iIzAwMCIsZS5maWxsUmVjdCgwLDAsdC53aWR0aCx0LmhlaWdodCksZS5maWxsU3R5bGU9IiNmZmYiO3ZhciBJPTAsRD0iIjtmdW5jdGlvbiBSKCl7aWYoIiIhPT1EKXt2YXIgdD1lLm1lYXN1cmVUZXh0KEQpLndpZHRoO2UuZmlsbFRleHQoRCxDK1QsUCtNKSxUKz10fX1mdW5jdGlvbiBGKCl7cmV0dXJuIE1hdGgucm91bmQoQSkrInB4ICJ9ZnVuY3Rpb24gQih0LHIpe3ZhciBuPSIiK2UuZm9udDtpZighMD09PW8uc3Vic2NyaXB0cyl7dmFyIGE9dC5pbmRleE9mKG0pLGk9ci5pbmRleE9mKG0pLHM9YT4tMT9wYXJzZUludCh0WzErYV0pOjAsbD1pPi0xP3BhcnNlSW50KHJbMStpXSk6MDtzIT09bCYmKG49bi5yZXBsYWNlKEYoKSwiP3B4ICIpLEEqPU1hdGgucG93KC43NSxsLXMpLG49bi5yZXBsYWNlKCI/cHggIixGKCkpKSxNKz0uMjUqTCoobC1zKX1pZighMD09PW8uc3VwZXJzY3JpcHRzKXt2YXIgYz10LmluZGV4T2YoZCksaD1yLmluZGV4T2YoZCkscD1jPi0xP3BhcnNlSW50KHRbMStjXSk6MCxnPWg+LTE/cGFyc2VJbnQoclsxK2hdKTowO3AhPT1nJiYobj1uLnJlcGxhY2UoRigpLCI/cHggIiksQSo9TWF0aC5wb3coLjc1LGctcCksbj1uLnJlcGxhY2UoIj9weCAiLEYoKSkpLE0tPS4yNSpMKihnLXApfWlmKCEwPT09by5ib2xkcyl7dmFyIHY9dC5pbmRleE9mKHUpPi0xLHk9ci5pbmRleE9mKHUpPi0xOyF2JiZ5JiYobj14P24ucmVwbGFjZSgiaXRhbGljICIsIml0YWxpYyBib2xkICIpOiJib2xkICIrbiksdiYmIXkmJihuPW4ucmVwbGFjZSgiYm9sZCAiLCIiKSl9aWYoITA9PT1vLml0YWxpY3Mpe3ZhciB4PXQuaW5kZXhPZihmKT4tMSxiPXIuaW5kZXhPZihmKT4tMTsheCYmYiYmKG49Iml0YWxpYyAiK24pLHgmJiFiJiYobj1uLnJlcGxhY2UoIml0YWxpYyAiLCIiKSl9ZS5mb250PW59Zm9yKHc9MDt3PEU7Kyt3KXt2YXIgTj1TW3ddKyJcbiI7Zm9yKFQ9MCxNPXcqTCxBPW4sRD0iIixrPTA7azxOLmxlbmd0aDsrK2spe3ZhciBqPWsrSTxiLmxlbmd0aD9iW2srSV06YltiLmxlbmd0aC0xXTtzPT09aj9EKz1OW2tdOihSKCksRD1OW2tdLHZvaWQgMCE9PWomJihCKHMsaikscz1qKSl9UigpLEkrPU4ubGVuZ3RoO3ZhciBWPTB8TWF0aC5yb3VuZChUKzIqQyk7TzxWJiYoTz1WKX12YXIgVT1PLHE9UCtMKkU7cmV0dXJuIGEoZS5nZXRJbWFnZURhdGEoMCwwLFUscSkuZGF0YSxbcSxVLDRdKS5waWNrKC0xLC0xLDApLnRyYW5zcG9zZSgxLDApfShlLHIsdCxpLG8scyksbixpKX0sZS5leHBvcnRzLnByb2Nlc3NQaXhlbHM9dzt2YXIgbj10KCJzdXJmYWNlLW5ldHMiKSxhPXQoIm5kYXJyYXkiKSxpPXQoInNpbXBsaWZ5LXBsYW5hci1ncmFwaCIpLG89dCgiY2xlYW4tcHNsZyIpLHM9dCgiY2R0MmQiKSxsPXQoInBsYW5hci1ncmFwaC10by1wb2x5bGluZSIpLGM9ImIiLHU9ImJ8IixoPSJpIixmPSJpfCIscD0ic3VwIixkPSIrIixnPSIrMSIsdj0ic3ViIixtPSItIix5PSItMSI7ZnVuY3Rpb24geCh0LGUscixuKXtmb3IodmFyIGE9IjwiK3QrIj4iLGk9IjwvIit0KyI+IixvPWEubGVuZ3RoLHM9aS5sZW5ndGgsbD1lWzBdPT09ZHx8ZVswXT09PW0sYz0wLHU9LXM7Yz4tMSYmLTEhPT0oYz1yLmluZGV4T2YoYSxjKSkmJi0xIT09KHU9ci5pbmRleE9mKGksYytvKSkmJiEodTw9Yyk7KXtmb3IodmFyIGg9YztoPHUrczsrK2gpaWYoaDxjK298fGg+PXUpbltoXT1udWxsLHI9ci5zdWJzdHIoMCxoKSsiICIrci5zdWJzdHIoaCsxKTtlbHNlIGlmKG51bGwhPT1uW2hdKXt2YXIgZj1uW2hdLmluZGV4T2YoZVswXSk7LTE9PT1mP25baF0rPWU6bCYmKG5baF09bltoXS5zdWJzdHIoMCxmKzEpKygxK3BhcnNlSW50KG5baF1bZisxXSkpK25baF0uc3Vic3RyKGYrMikpfXZhciBwPWMrbyxnPXIuc3Vic3RyKHAsdS1wKS5pbmRleE9mKGEpO2M9LTEhPT1nP2c6dStzfXJldHVybiBufWZ1bmN0aW9uIGIodCxlKXt2YXIgcj1uKHQsMTI4KTtyZXR1cm4gZT9pKHIuY2VsbHMsci5wb3NpdGlvbnMsLjI1KTp7ZWRnZXM6ci5jZWxscyxwb3NpdGlvbnM6ci5wb3NpdGlvbnN9fWZ1bmN0aW9uIF8odCxlLHIsbil7dmFyIGE9Yih0LG4pLGk9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1lLnRleHRBbGlnbnx8InN0YXJ0IixhPWUudGV4dEJhc2VsaW5lfHwiYWxwaGFiZXRpYyIsaT1bMTw8MzAsMTw8MzBdLG89WzAsMF0scz10Lmxlbmd0aCxsPTA7bDxzOysrbClmb3IodmFyIGM9dFtsXSx1PTA7dTwyOysrdSlpW3VdPTB8TWF0aC5taW4oaVt1XSxjW3VdKSxvW3VdPTB8TWF0aC5tYXgob1t1XSxjW3VdKTt2YXIgaD0wO3N3aXRjaChuKXtjYXNlImNlbnRlciI6aD0tLjUqKGlbMF0rb1swXSk7YnJlYWs7Y2FzZSJyaWdodCI6Y2FzZSJlbmQiOmg9LW9bMF07YnJlYWs7Y2FzZSJsZWZ0IjpjYXNlInN0YXJ0IjpoPS1pWzBdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ2ZWN0b3JpemUtdGV4dDogVW5yZWNvZ25pemVkIHRleHRBbGlnbjogJyIrbisiJyIpfXZhciBmPTA7c3dpdGNoKGEpe2Nhc2UiaGFuZ2luZyI6Y2FzZSJ0b3AiOmY9LWlbMV07YnJlYWs7Y2FzZSJtaWRkbGUiOmY9LS41KihpWzFdK29bMV0pO2JyZWFrO2Nhc2UiYWxwaGFiZXRpYyI6Y2FzZSJpZGVvZ3JhcGhpYyI6Zj0tMypyO2JyZWFrO2Nhc2UiYm90dG9tIjpmPS1vWzFdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ2ZWN0b3JpemUtdGV4dDogVW5yZWNvZ2luaXplZCB0ZXh0QmFzZWxpbmU6ICciK2ErIiciKX12YXIgcD0xL3I7cmV0dXJuImxpbmVIZWlnaHQiaW4gZT9wKj0rZS5saW5lSGVpZ2h0OiJ3aWR0aCJpbiBlP3A9ZS53aWR0aC8ob1swXS1pWzBdKToiaGVpZ2h0ImluIGUmJihwPWUuaGVpZ2h0LyhvWzFdLWlbMV0pKSx0Lm1hcChmdW5jdGlvbih0KXtyZXR1cm5bcCoodFswXStoKSxwKih0WzFdK2YpXX0pfShhLnBvc2l0aW9ucyxlLHIpLGM9YS5lZGdlcyx1PSJjY3ciPT09ZS5vcmllbnRhdGlvbjtpZihvKGksYyksZS5wb2x5Z29uc3x8ZS5wb2x5Z29ufHxlLnBvbHlsaW5lKXtmb3IodmFyIGg9bChjLGkpLGY9bmV3IEFycmF5KGgubGVuZ3RoKSxwPTA7cDxoLmxlbmd0aDsrK3Ape2Zvcih2YXIgZD1oW3BdLGc9bmV3IEFycmF5KGQubGVuZ3RoKSx2PTA7djxkLmxlbmd0aDsrK3Ype2Zvcih2YXIgbT1kW3ZdLHk9bmV3IEFycmF5KG0ubGVuZ3RoKSx4PTA7eDxtLmxlbmd0aDsrK3gpeVt4XT1pW21beF1dLnNsaWNlKCk7dSYmeS5yZXZlcnNlKCksZ1t2XT15fWZbcF09Z31yZXR1cm4gZn1yZXR1cm4gZS50cmlhbmdsZXN8fGUudHJpYW5ndWxhdGV8fGUudHJpYW5nbGU/e2NlbGxzOnMoaSxjLHtkZWxhdW5heTohMSxleHRlcmlvcjohMSxpbnRlcmlvcjohMH0pLHBvc2l0aW9uczppfTp7ZWRnZXM6Yyxwb3NpdGlvbnM6aX19ZnVuY3Rpb24gdyh0LGUscil7dHJ5e3JldHVybiBfKHQsZSxyLCEwKX1jYXRjaCh0KXt9dHJ5e3JldHVybiBfKHQsZSxyLCExKX1jYXRjaCh0KXt9cmV0dXJuIGUucG9seWdvbnN8fGUucG9seWxpbmV8fGUucG9seWdvbj9bXTplLnRyaWFuZ2xlc3x8ZS50cmlhbmd1bGF0ZXx8ZS50cmlhbmdsZT97Y2VsbHM6W10scG9zaXRpb25zOltdfTp7ZWRnZXM6W10scG9zaXRpb25zOltdfX19LHtjZHQyZDoxMDgsImNsZWFuLXBzbGciOjExOCxuZGFycmF5OjQ1MiwicGxhbmFyLWdyYXBoLXRvLXBvbHlsaW5lIjo0NzAsInNpbXBsaWZ5LXBsYW5hci1ncmFwaCI6NTIzLCJzdXJmYWNlLW5ldHMiOjUzMH1dLDU1MTpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtpZigidW5kZWZpbmVkIj09dHlwZW9mIHNlc3x8IXNlcy5va3x8c2VzLm9rKCkpeyJ1bmRlZmluZWQiIT10eXBlb2Ygc2VzJiYoc2VzLndlYWtNYXBQZXJtaXRIb3N0T2JqZWN0cz12KTt2YXIgdD0hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcCl7dmFyIHI9V2Vha01hcDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmL0ZpcmVmb3gvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpO2Vsc2V7dmFyIG49bmV3IHIsYT1PYmplY3QuZnJlZXplKHt9KTtpZihuLnNldChhLDEpLDE9PT1uLmdldChhKSlyZXR1cm4gdm9pZChlLmV4cG9ydHM9V2Vha01hcCk7dD0hMH19T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxzPU9iamVjdC5pc0V4dGVuc2libGUsbD0id2Vha21hcDoiLGM9bCsiaWRlbnQ6IitNYXRoLnJhbmRvbSgpKyJfX18iO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgY3J5cHRvJiYiZnVuY3Rpb24iPT10eXBlb2YgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyYmImZ1bmN0aW9uIj09dHlwZW9mIEFycmF5QnVmZmVyJiYiZnVuY3Rpb24iPT10eXBlb2YgVWludDhBcnJheSl7dmFyIHU9bmV3IEFycmF5QnVmZmVyKDI1KSxoPW5ldyBVaW50OEFycmF5KHUpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXMoaCksYz1sKyJyYW5kOiIrQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGgsZnVuY3Rpb24odCl7cmV0dXJuKHQlMzYpLnRvU3RyaW5nKDM2KX0pLmpvaW4oIiIpKyJfX18ifWlmKG8oT2JqZWN0LCJnZXRPd25Qcm9wZXJ0eU5hbWVzIix7dmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGkodCkuZmlsdGVyKG0pfX0pLCJnZXRQcm9wZXJ0eU5hbWVzImluIE9iamVjdCl7dmFyIGY9T2JqZWN0LmdldFByb3BlcnR5TmFtZXM7byhPYmplY3QsImdldFByb3BlcnR5TmFtZXMiLHt2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gZih0KS5maWx0ZXIobSl9fSl9IWZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LmZyZWV6ZTtvKE9iamVjdCwiZnJlZXplIix7dmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHkoZSksdChlKX19KTt2YXIgZT1PYmplY3Quc2VhbDtvKE9iamVjdCwic2VhbCIse3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB5KHQpLGUodCl9fSk7dmFyIHI9T2JqZWN0LnByZXZlbnRFeHRlbnNpb25zO28oT2JqZWN0LCJwcmV2ZW50RXh0ZW5zaW9ucyIse3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB5KHQpLHIodCl9fSl9KCk7dmFyIHA9ITEsZD0wLGc9ZnVuY3Rpb24oKXt0aGlzIGluc3RhbmNlb2YgZ3x8YigpO3ZhciB0PVtdLGU9W10scj1kKys7cmV0dXJuIE9iamVjdC5jcmVhdGUoZy5wcm90b3R5cGUse2dldF9fXzp7dmFsdWU6eChmdW5jdGlvbihuLGEpe3ZhciBpLG89eShuKTtyZXR1cm4gbz9yIGluIG8/b1tyXTphOihpPXQuaW5kZXhPZihuKSk+PTA/ZVtpXTphfSl9LGhhc19fXzp7dmFsdWU6eChmdW5jdGlvbihlKXt2YXIgbj15KGUpO3JldHVybiBuP3IgaW4gbjp0LmluZGV4T2YoZSk+PTB9KX0sc2V0X19fOnt2YWx1ZTp4KGZ1bmN0aW9uKG4sYSl7dmFyIGksbz15KG4pO3JldHVybiBvP29bcl09YTooaT10LmluZGV4T2YobikpPj0wP2VbaV09YTooaT10Lmxlbmd0aCxlW2ldPWEsdFtpXT1uKSx0aGlzfSl9LGRlbGV0ZV9fXzp7dmFsdWU6eChmdW5jdGlvbihuKXt2YXIgYSxpLG89eShuKTtyZXR1cm4gbz9yIGluIG8mJmRlbGV0ZSBvW3JdOiEoKGE9dC5pbmRleE9mKG4pKTwwfHwoaT10Lmxlbmd0aC0xLHRbYV09dm9pZCAwLGVbYV09ZVtpXSx0W2FdPXRbaV0sdC5sZW5ndGg9aSxlLmxlbmd0aD1pLDApKX0pfX0pfTtnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKE9iamVjdC5wcm90b3R5cGUse2dldDp7dmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5nZXRfX18odCxlKX0sd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSxoYXM6e3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhc19fXyh0KX0sd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSxzZXQ6e3ZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc2V0X19fKHQsZSl9LHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0sZGVsZXRlOnt2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kZWxldGVfX18odCl9LHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSwiZnVuY3Rpb24iPT10eXBlb2Ygcj9mdW5jdGlvbigpe2Z1bmN0aW9uIG4oKXt0aGlzIGluc3RhbmNlb2YgZ3x8YigpO3ZhciBlLG49bmV3IHIsYT12b2lkIDAsaT0hMTtyZXR1cm4gZT10P2Z1bmN0aW9uKHQsZSl7cmV0dXJuIG4uc2V0KHQsZSksbi5oYXModCl8fChhfHwoYT1uZXcgZyksYS5zZXQodCxlKSksdGhpc306ZnVuY3Rpb24odCxlKXtpZihpKXRyeXtuLnNldCh0LGUpfWNhdGNoKHIpe2F8fChhPW5ldyBnKSxhLnNldF9fXyh0LGUpfWVsc2Ugbi5zZXQodCxlKTtyZXR1cm4gdGhpc30sT2JqZWN0LmNyZWF0ZShnLnByb3RvdHlwZSx7Z2V0X19fOnt2YWx1ZTp4KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGE/bi5oYXModCk/bi5nZXQodCk6YS5nZXRfX18odCxlKTpuLmdldCh0LGUpfSl9LGhhc19fXzp7dmFsdWU6eChmdW5jdGlvbih0KXtyZXR1cm4gbi5oYXModCl8fCEhYSYmYS5oYXNfX18odCl9KX0sc2V0X19fOnt2YWx1ZTp4KGUpfSxkZWxldGVfX186e3ZhbHVlOngoZnVuY3Rpb24odCl7dmFyIGU9ISFuLmRlbGV0ZSh0KTtyZXR1cm4gYSYmYS5kZWxldGVfX18odCl8fGV9KX0scGVybWl0SG9zdE9iamVjdHNfX186e3ZhbHVlOngoZnVuY3Rpb24odCl7aWYodCE9PXYpdGhyb3cgbmV3IEVycm9yKCJib2d1cyBjYWxsIHRvIHBlcm1pdEhvc3RPYmplY3RzX19fIik7aT0hMH0pfX0pfXQmJiJ1bmRlZmluZWQiIT10eXBlb2YgUHJveHkmJihQcm94eT12b2lkIDApLG4ucHJvdG90eXBlPWcucHJvdG90eXBlLGUuZXhwb3J0cz1uLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXZWFrTWFwLnByb3RvdHlwZSwiY29uc3RydWN0b3IiLHt2YWx1ZTpXZWFrTWFwLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSl9KCk6KCJ1bmRlZmluZWQiIT10eXBlb2YgUHJveHkmJihQcm94eT12b2lkIDApLGUuZXhwb3J0cz1nKX1mdW5jdGlvbiB2KHQpe3QucGVybWl0SG9zdE9iamVjdHNfX18mJnQucGVybWl0SG9zdE9iamVjdHNfX18odil9ZnVuY3Rpb24gbSh0KXtyZXR1cm4hKHQuc3Vic3RyKDAsbC5sZW5ndGgpPT1sJiYiX19fIj09PXQuc3Vic3RyKHQubGVuZ3RoLTMpKX1mdW5jdGlvbiB5KHQpe2lmKHQhPT1PYmplY3QodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiTm90IGFuIG9iamVjdDogIit0KTt2YXIgZT10W2NdO2lmKGUmJmUua2V5PT09dClyZXR1cm4gZTtpZihzKHQpKXtlPXtrZXk6dH07dHJ5e3JldHVybiBvKHQsYyx7dmFsdWU6ZSx3cml0YWJsZTohMSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMX0pLGV9Y2F0Y2godCl7cmV0dXJufX19ZnVuY3Rpb24geCh0KXtyZXR1cm4gdC5wcm90b3R5cGU9bnVsbCxPYmplY3QuZnJlZXplKHQpfWZ1bmN0aW9uIGIoKXtwfHwidW5kZWZpbmVkIj09dHlwZW9mIGNvbnNvbGV8fChwPSEwLGNvbnNvbGUud2FybigiV2Vha01hcCBzaG91bGQgYmUgaW52b2tlZCBhcyBuZXcgV2Vha01hcCgpLCBub3QgV2Vha01hcCgpLiBUaGlzIHdpbGwgYmUgYW4gZXJyb3IgaW4gdGhlIGZ1dHVyZS4iKSl9fSgpfSx7fV0sNTUyOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9oaWRkZW4tc3RvcmUuanMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWUpJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIldlYWttYXAtc2hpbTogS2V5IG11c3QgYmUgb2JqZWN0Iik7dmFyIHI9ZS52YWx1ZU9mKHQpO3JldHVybiByJiZyLmlkZW50aXR5PT09dD9yOm4oZSx0KX19fSx7Ii4vaGlkZGVuLXN0b3JlLmpzIjo1NTN9XSw1NTM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj17aWRlbnRpdHk6ZX0sbj10LnZhbHVlT2Y7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ2YWx1ZU9mIix7dmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHQhPT1lP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOnJ9LHdyaXRhYmxlOiEwfSkscn19LHt9XSw1NTQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL2NyZWF0ZS1zdG9yZS5qcyIpO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0PW4oKTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUscil7dmFyIG49dChlKTtyZXR1cm4gbi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKT9uLnZhbHVlOnJ9LHNldDpmdW5jdGlvbihlLHIpe3JldHVybiB0KGUpLnZhbHVlPXIsdGhpc30saGFzOmZ1bmN0aW9uKGUpe3JldHVybiJ2YWx1ZSJpbiB0KGUpfSxkZWxldGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGRlbGV0ZSB0KGUpLnZhbHVlfX19fSx7Ii4vY3JlYXRlLXN0b3JlLmpzIjo1NTJ9XSw1NTU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJnZXQtY2FudmFzLWNvbnRleHQiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIndlYmdsIix0KX19LHsiZ2V0LWNhbnZhcy1jb250ZXh0IjoyMzV9XSw1NTY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9tYWluIiksYT10KCJvYmplY3QtYXNzaWduIiksaT1uLmluc3RhbmNlKCk7ZnVuY3Rpb24gbyh0KXt0aGlzLmxvY2FsPXRoaXMucmVnaW9uYWxPcHRpb25zW3R8fCIiXXx8dGhpcy5yZWdpb25hbE9wdGlvbnNbIiJdfW8ucHJvdG90eXBlPW5ldyBuLmJhc2VDYWxlbmRhcixhKG8ucHJvdG90eXBlLHtuYW1lOiJDaGluZXNlIixqZEVwb2NoOjE3MjE0MjUuNSxoYXNZZWFyWmVybzohMSxtaW5Nb250aDowLGZpcnN0TW9udGg6MCxtaW5EYXk6MSxyZWdpb25hbE9wdGlvbnM6eyIiOntuYW1lOiJDaGluZXNlIixlcG9jaHM6WyJCRUMiLCJFQyJdLG1vbnRoTnVtYmVyczpmdW5jdGlvbih0LGUpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIHI9dC5tYXRjaChsKTtyZXR1cm4gcj9yWzBdOiIifXZhciBuPXRoaXMuX3ZhbGlkYXRlWWVhcih0KSxhPXQubW9udGgoKSxpPSIiK3RoaXMudG9DaGluZXNlTW9udGgobixhKTtyZXR1cm4gZSYmaS5sZW5ndGg8MiYmKGk9IjAiK2kpLHRoaXMuaXNJbnRlcmNhbGFyeU1vbnRoKG4sYSkmJihpKz0iaSIpLGl9LG1vbnRoTmFtZXM6ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT10Lm1hdGNoKGMpO3JldHVybiBlP2VbMF06IiJ9dmFyIHI9dGhpcy5fdmFsaWRhdGVZZWFyKHQpLG49dC5tb250aCgpLGE9WyJcdTRlMDBcdTY3MDgiLCJcdTRlOGNcdTY3MDgiLCJcdTRlMDlcdTY3MDgiLCJcdTU2ZGJcdTY3MDgiLCJcdTRlOTRcdTY3MDgiLCJcdTUxNmRcdTY3MDgiLCJcdTRlMDNcdTY3MDgiLCJcdTUxNmJcdTY3MDgiLCJcdTRlNWRcdTY3MDgiLCJcdTUzNDFcdTY3MDgiLCJcdTUzNDFcdTRlMDBcdTY3MDgiLCJcdTUzNDFcdTRlOGNcdTY3MDgiXVt0aGlzLnRvQ2hpbmVzZU1vbnRoKHIsbiktMV07cmV0dXJuIHRoaXMuaXNJbnRlcmNhbGFyeU1vbnRoKHIsbikmJihhPSJcdTk1ZjAiK2EpLGF9LG1vbnRoTmFtZXNTaG9ydDpmdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBlPXQubWF0Y2godSk7cmV0dXJuIGU/ZVswXToiIn12YXIgcj10aGlzLl92YWxpZGF0ZVllYXIodCksbj10Lm1vbnRoKCksYT1bIlx1NGUwMCIsIlx1NGU4YyIsIlx1NGUwOSIsIlx1NTZkYiIsIlx1NGU5NCIsIlx1NTE2ZCIsIlx1NGUwMyIsIlx1NTE2YiIsIlx1NGU1ZCIsIlx1NTM0MSIsIlx1NTM0MVx1NGUwMCIsIlx1NTM0MVx1NGU4YyJdW3RoaXMudG9DaGluZXNlTW9udGgocixuKS0xXTtyZXR1cm4gdGhpcy5pc0ludGVyY2FsYXJ5TW9udGgocixuKSYmKGE9Ilx1OTVmMCIrYSksYX0scGFyc2VNb250aDpmdW5jdGlvbih0LGUpe3Q9dGhpcy5fdmFsaWRhdGVZZWFyKHQpO3ZhciByLG49cGFyc2VJbnQoZSk7aWYoaXNOYU4obikpIlx1OTVmMCI9PT1lWzBdJiYocj0hMCxlPWUuc3Vic3RyaW5nKDEpKSwiXHU2NzA4Ij09PWVbZS5sZW5ndGgtMV0mJihlPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSkpLG49MStbIlx1NGUwMCIsIlx1NGU4YyIsIlx1NGUwOSIsIlx1NTZkYiIsIlx1NGU5NCIsIlx1NTE2ZCIsIlx1NGUwMyIsIlx1NTE2YiIsIlx1NGU1ZCIsIlx1NTM0MSIsIlx1NTM0MVx1NGUwMCIsIlx1NTM0MVx1NGU4YyJdLmluZGV4T2YoZSk7ZWxzZXt2YXIgYT1lW2UubGVuZ3RoLTFdO3I9ImkiPT09YXx8IkkiPT09YX1yZXR1cm4gdGhpcy50b01vbnRoSW5kZXgodCxuLHIpfSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJ5eXl5L21tL2RkIixmaXJzdERheToxLGlzUlRMOiExfX0sX3ZhbGlkYXRlWWVhcjpmdW5jdGlvbih0LGUpe2lmKHQueWVhciYmKHQ9dC55ZWFyKCkpLCJudW1iZXIiIT10eXBlb2YgdHx8dDwxODg4fHx0PjIxMTEpdGhyb3cgZS5yZXBsYWNlKC9cezBcfS8sdGhpcy5sb2NhbC5uYW1lKTtyZXR1cm4gdH0sdG9Nb250aEluZGV4OmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLmludGVyY2FsYXJ5TW9udGgodCk7aWYociYmZSE9PWF8fGU8MXx8ZT4xMil0aHJvdyBuLmxvY2FsLmludmFsaWRNb250aC5yZXBsYWNlKC9cezBcfS8sdGhpcy5sb2NhbC5uYW1lKTtyZXR1cm4gYT8hciYmZTw9YT9lLTE6ZTplLTF9LHRvQ2hpbmVzZU1vbnRoOmZ1bmN0aW9uKHQsZSl7dC55ZWFyJiYoZT0odD10LnllYXIoKSkubW9udGgoKSk7dmFyIHI9dGhpcy5pbnRlcmNhbGFyeU1vbnRoKHQpO2lmKGU8MHx8ZT4ocj8xMjoxMSkpdGhyb3cgbi5sb2NhbC5pbnZhbGlkTW9udGgucmVwbGFjZSgvXHswXH0vLHRoaXMubG9jYWwubmFtZSk7cmV0dXJuIHI/ZTxyP2UrMTplOmUrMX0saW50ZXJjYWxhcnlNb250aDpmdW5jdGlvbih0KXtyZXR1cm4gdD10aGlzLl92YWxpZGF0ZVllYXIodCksaFt0LWhbMF1dPj4xM30saXNJbnRlcmNhbGFyeU1vbnRoOmZ1bmN0aW9uKHQsZSl7dC55ZWFyJiYoZT0odD10LnllYXIoKSkubW9udGgoKSk7dmFyIHI9dGhpcy5pbnRlcmNhbGFyeU1vbnRoKHQpO3JldHVybiEhciYmcj09PWV9LGxlYXBZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dGhpcy5pbnRlcmNhbGFyeU1vbnRoKHQpfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYSxvPXRoaXMuX3ZhbGlkYXRlWWVhcih0LG4ubG9jYWwuaW52YWxpZHllYXIpLHM9ZltvLWZbMF1dLGw9cz4+OSY0MDk1LGM9cz4+NSYxNSx1PTMxJnM7KGE9aS5uZXdEYXRlKGwsYyx1KSkuYWRkKDQtKGEuZGF5T2ZXZWVrKCl8fDcpLCJkIik7dmFyIGg9dGhpcy50b0pEKHQsZSxyKS1hLnRvSkQoKTtyZXR1cm4gMStNYXRoLmZsb29yKGgvNyl9LG1vbnRoc0luWWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZWFwWWVhcih0KT8xMzoxMn0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXt0LnllYXImJihlPXQubW9udGgoKSx0PXQueWVhcigpKSx0PXRoaXMuX3ZhbGlkYXRlWWVhcih0KTt2YXIgcj1oW3QtaFswXV07aWYoZT4ocj4+MTM/MTI6MTEpKXRocm93IG4ubG9jYWwuaW52YWxpZE1vbnRoLnJlcGxhY2UoL1x7MFx9Lyx0aGlzLmxvY2FsLm5hbWUpO3JldHVybiByJjE8PDEyLWU/MzA6Mjl9LHdlZWtEYXk6ZnVuY3Rpb24odCxlLHIpe3JldHVybih0aGlzLmRheU9mV2Vlayh0LGUscil8fDcpPDZ9LHRvSkQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXRoaXMuX3ZhbGlkYXRlKHQscyxyLG4ubG9jYWwuaW52YWxpZERhdGUpO3Q9dGhpcy5fdmFsaWRhdGVZZWFyKGEueWVhcigpKSxlPWEubW9udGgoKSxyPWEuZGF5KCk7dmFyIG89dGhpcy5pc0ludGVyY2FsYXJ5TW9udGgodCxlKSxzPXRoaXMudG9DaGluZXNlTW9udGgodCxlKSxsPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbyxzO2lmKCJvYmplY3QiPT10eXBlb2YgdClvPXQsaT1lfHx7fTtlbHNle3ZhciBsPSJudW1iZXIiPT10eXBlb2YgdCYmdD49MTg4OCYmdDw9MjExMTtpZighbCl0aHJvdyBuZXcgRXJyb3IoIkx1bmFyIHllYXIgb3V0c2lkZSByYW5nZSAxODg4LTIxMTEiKTt2YXIgYz0ibnVtYmVyIj09dHlwZW9mIGUmJmU+PTEmJmU8PTEyO2lmKCFjKXRocm93IG5ldyBFcnJvcigiTHVuYXIgbW9udGggb3V0c2lkZSByYW5nZSAxIC0gMTIiKTt2YXIgdSxwPSJudW1iZXIiPT10eXBlb2YgciYmcj49MSYmcjw9MzA7aWYoIXApdGhyb3cgbmV3IEVycm9yKCJMdW5hciBkYXkgb3V0c2lkZSByYW5nZSAxIC0gMzAiKTsib2JqZWN0Ij09dHlwZW9mIG4/KHU9ITEsaT1uKToodT0hIW4saT1hfHx7fSksbz17eWVhcjp0LG1vbnRoOmUsZGF5OnIsaXNJbnRlcmNhbGFyeTp1fX1zPW8uZGF5LTE7dmFyIGQsZz1oW28ueWVhci1oWzBdXSx2PWc+PjEzO2Q9dj9vLm1vbnRoPnY/by5tb250aDpvLmlzSW50ZXJjYWxhcnk/by5tb250aDpvLm1vbnRoLTE6by5tb250aC0xO2Zvcih2YXIgbT0wO208ZDttKyspe3ZhciB5PWcmMTw8MTItbT8zMDoyOTtzKz15fXZhciB4PWZbby55ZWFyLWZbMF1dLGI9bmV3IERhdGUoeD4+OSY0MDk1LCh4Pj41JjE1KS0xLCgzMSZ4KStzKTtyZXR1cm4gaS55ZWFyPWIuZ2V0RnVsbFllYXIoKSxpLm1vbnRoPTErYi5nZXRNb250aCgpLGkuZGF5PWIuZ2V0RGF0ZSgpLGl9KHQscyxyLG8pO3JldHVybiBpLnRvSkQobC55ZWFyLGwubW9udGgsbC5kYXkpfSxmcm9tSkQ6ZnVuY3Rpb24odCl7dmFyIGU9aS5mcm9tSkQodCkscj1mdW5jdGlvbih0LGUscixuKXt2YXIgYSxpO2lmKCJvYmplY3QiPT10eXBlb2YgdClhPXQsaT1lfHx7fTtlbHNle3ZhciBvPSJudW1iZXIiPT10eXBlb2YgdCYmdD49MTg4OCYmdDw9MjExMTtpZighbyl0aHJvdyBuZXcgRXJyb3IoIlNvbGFyIHllYXIgb3V0c2lkZSByYW5nZSAxODg4LTIxMTEiKTt2YXIgcz0ibnVtYmVyIj09dHlwZW9mIGUmJmU+PTEmJmU8PTEyO2lmKCFzKXRocm93IG5ldyBFcnJvcigiU29sYXIgbW9udGggb3V0c2lkZSByYW5nZSAxIC0gMTIiKTt2YXIgbD0ibnVtYmVyIj09dHlwZW9mIHImJnI+PTEmJnI8PTMxO2lmKCFsKXRocm93IG5ldyBFcnJvcigiU29sYXIgZGF5IG91dHNpZGUgcmFuZ2UgMSAtIDMxIik7YT17eWVhcjp0LG1vbnRoOmUsZGF5OnJ9LGk9bnx8e319dmFyIGM9ZlthLnllYXItZlswXV0sdT1hLnllYXI8PDl8YS5tb250aDw8NXxhLmRheTtpLnllYXI9dT49Yz9hLnllYXI6YS55ZWFyLTEsYz1mW2kueWVhci1mWzBdXTt2YXIgcCxkPW5ldyBEYXRlKGM+PjkmNDA5NSwoYz4+NSYxNSktMSwzMSZjKSxnPW5ldyBEYXRlKGEueWVhcixhLm1vbnRoLTEsYS5kYXkpO3A9TWF0aC5yb3VuZCgoZy1kKS84NjRlNSk7dmFyIHYsbT1oW2kueWVhci1oWzBdXTtmb3Iodj0wO3Y8MTM7disrKXt2YXIgeT1tJjE8PDEyLXY/MzA6Mjk7aWYocDx5KWJyZWFrO3AtPXl9dmFyIHg9bT4+MTM7IXh8fHY8eD8oaS5pc0ludGVyY2FsYXJ5PSExLGkubW9udGg9MSt2KTp2PT09eD8oaS5pc0ludGVyY2FsYXJ5PSEwLGkubW9udGg9dik6KGkuaXNJbnRlcmNhbGFyeT0hMSxpLm1vbnRoPXYpO3JldHVybiBpLmRheT0xK3AsaX0oZS55ZWFyKCksZS5tb250aCgpLGUuZGF5KCkpLG49dGhpcy50b01vbnRoSW5kZXgoci55ZWFyLHIubW9udGgsci5pc0ludGVyY2FsYXJ5KTtyZXR1cm4gdGhpcy5uZXdEYXRlKHIueWVhcixuLHIuZGF5KX0sZnJvbVN0cmluZzpmdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKHMpLHI9dGhpcy5fdmFsaWRhdGVZZWFyKCtlWzFdKSxuPStlWzJdLGE9ISFlWzNdLGk9dGhpcy50b01vbnRoSW5kZXgocixuLGEpLG89K2VbNF07cmV0dXJuIHRoaXMubmV3RGF0ZShyLGksbyl9LGFkZDpmdW5jdGlvbih0LGUscil7dmFyIG49dC55ZWFyKCksYT10Lm1vbnRoKCksaT10aGlzLmlzSW50ZXJjYWxhcnlNb250aChuLGEpLHM9dGhpcy50b0NoaW5lc2VNb250aChuLGEpLGw9T2JqZWN0LmdldFByb3RvdHlwZU9mKG8ucHJvdG90eXBlKS5hZGQuY2FsbCh0aGlzLHQsZSxyKTtpZigieSI9PT1yKXt2YXIgYz1sLnllYXIoKSx1PWwubW9udGgoKSxoPXRoaXMuaXNJbnRlcmNhbGFyeU1vbnRoKGMscyksZj1pJiZoP3RoaXMudG9Nb250aEluZGV4KGMscywhMCk6dGhpcy50b01vbnRoSW5kZXgoYyxzLCExKTtmIT09dSYmbC5tb250aChmKX1yZXR1cm4gbH19KTt2YXIgcz0vXlxzKigtP1xkXGRcZFxkfFxkXGQpWy0vXShcZD9cZCkoW2lJXT8pWy0vXShcZD9cZCkvbSxsPS9eXGQ/XGRbaUldPy9tLGM9L15cdTk1ZjA/XHU1MzQxP1tcdTRlMDBcdTRlOGNcdTRlMDlcdTU2ZGJcdTRlOTRcdTUxNmRcdTRlMDNcdTUxNmJcdTRlNWRdP1x1NjcwOC9tLHU9L15cdTk1ZjA/XHU1MzQxP1tcdTRlMDBcdTRlOGNcdTRlMDlcdTU2ZGJcdTRlOTRcdTUxNmRcdTRlMDNcdTUxNmJcdTRlNWRdPy9tO24uY2FsZW5kYXJzLmNoaW5lc2U9bzt2YXIgaD1bMTg4Nyw1NzgwLDU4MDIsMTkxNTcsMjc0Miw1MDM1OSwxMTk4LDI2NDYsNDYzNzgsNzQ2NiwzNDEyLDMwMTIyLDU0ODIsNjc5NDksMjM5Niw1Mjk0LDQzNTk3LDY3MzIsNjk1NCwzNjE4MSwyNzcyLDQ5NTQsMTg3ODEsMjM5Niw1NDQyNyw1Mjc0LDY3MzAsNDc3ODEsNTgwMCw2ODY4LDIxMjEwLDQ3OTAsNTk3MDMsMjM1MCw1MjcwLDQ2NjY3LDM0MDIsMzQ5NiwzODMyNSwxMzg4LDQ3ODIsMTg3MzUsMjM1MCw1MjM3NCw2ODA0LDc0OTgsNDQ0NTcsMjkwNiwxMzg4LDI5Mjk0LDQ3MDAsNjM3ODksNjQ0Miw2ODA0LDU2MTM4LDU4MDIsMjc3MiwzODIzNSwxMjEwLDQ2OTgsMjI4MjcsNTQxOCw2MzEyNSwzNDc2LDU4MDIsNDM3MDEsMjQ4NCw1MzAyLDI3MjIzLDI2NDYsNzA5NTQsNzQ2NiwzNDEyLDU0Njk4LDU0ODIsMjQxMiwzODA2Miw1Mjk0LDI2MzYsMzIwMzgsNjk1NCw2MDI0NSwyNzcyLDQ4MjYsNDMzNTcsMjM5NCw1Mjc0LDM5NTAxLDY3MzAsNzIzNTcsNTgwMCw1ODQ0LDUzOTc4LDQ3OTAsMjM1OCwzODAzOSw1MjcwLDg3NjI3LDM0MDIsMzQ5Niw1NDcwOCw1NDg0LDQ3ODIsNDMzMTEsMjM1MCwzMjIyLDI3OTc4LDc0OTgsNjg5NjUsMjkwNCw1NDg0LDQ1Njc3LDQ3MDAsNjQ0NCwzOTU3Myw2ODA0LDY5ODYsMTkyODUsMjc3Miw2MjgxMSwxMjEwLDQ2OTgsNDc0MDMsNTQxOCw1NzgwLDM4NTcwLDU1NDYsNzY0NjksMjQyMCw1MzAyLDUxNzk5LDI2NDYsNTQxNCwzNjUwMSwzNDEyLDU1NDYsMTg4NjksMjQxMiw1NDQ0Niw1Mjc2LDY3MzIsNDg0MjIsNjgyMiwyOTAwLDI4MDEwLDQ4MjYsOTI1MDksMjM5NCw1Mjc0LDU1ODgzLDY3MzAsNjgyMCw0Nzk1Niw1ODEyLDI3NzgsMTg3NzksMjM1OCw2MjYxNSw1MjcwLDU0NTAsNDY3NTcsMzQ5Miw1NTU2LDI3MzE4LDQ3MTgsNjc4ODcsMjM1MCwzMjIyLDUyNTU0LDc0OTgsMzQyOCwzODI1Miw1NDY4LDQ3MDAsMzEwMjIsNjQ0NCw2NDE0OSw2ODA0LDY5ODYsNDM4NjEsMjc3Miw1MzM4LDM1NDIxLDI2NTAsNzA5NTUsNTQxOCw1NzgwLDU0OTU0LDU1NDYsMjc0MCwzODA3NCw1MzAyLDI2NDYsMjk5OTEsMzM2Niw2MTAxMSwzNDEyLDU1NDYsNDM0NDUsMjQxMiw1Mjk0LDM1NDA2LDY3MzIsNzI5OTgsNjgyMCw2OTk2LDUyNTg2LDI3NzgsMjM5NiwzODA0NSw1Mjc0LDY2OTgsMjMzMzMsNjgyMCw2NDMzOCw1ODEyLDI3NDYsNDMzNTUsMjM1OCw1MjcwLDM5NDk5LDU0NTAsNzk1MjUsMzQ5Miw1NTQ4XSxmPVsxODg3LDk2NjczMiw5NjcyMzEsOTY3NzMzLDk2ODI2NSw5Njg3NjYsOTY5Mjk3LDk2OTc5OCw5NzAyOTgsOTcwODI5LDk3MTMzMCw5NzE4MzAsOTcyMzYyLDk3Mjg2Myw5NzMzOTUsOTczODk2LDk3NDM5Nyw5NzQ5MjgsOTc1NDI4LDk3NTkyOSw5NzY0NjEsOTc2OTYyLDk3NzQ2Miw5Nzc5OTQsOTc4NDk0LDk3OTAyNiw5Nzk1MjYsOTgwMDI2LDk4MDU1OCw5ODEwNTksOTgxNTU5LDk4MjA5MSw5ODI1OTMsOTgzMTI0LDk4MzYyNCw5ODQxMjQsOTg0NjU2LDk4NTE1Nyw5ODU2NTYsOTg2MTg5LDk4NjY5MCw5ODcxOTEsOTg3NzIyLDk4ODIyMiw5ODg3NTMsOTg5MjU0LDk4OTc1NCw5OTAyODYsOTkwNzg4LDk5MTI4OCw5OTE4MTksOTkyMzE5LDk5Mjg1MSw5OTMzNTIsOTkzODUxLDk5NDM4Myw5OTQ4ODUsOTk1Mzg1LDk5NTkxNyw5OTY0MTgsOTk2OTE4LDk5NzQ1MCw5OTc5NDksOTk4NDgxLDk5ODk4Miw5OTk0ODMsMTAwMDAxNCwxMDAwNTE1LDEwMDEwMTYsMTAwMTU0OCwxMDAyMDQ3LDEwMDI1NzgsMTAwMzA4MCwxMDAzNTgwLDEwMDQxMTEsMTAwNDYxMywxMDA1MTEzLDEwMDU2NDUsMTAwNjE0NiwxMDA2NjQ1LDEwMDcxNzcsMTAwNzY3OCwxMDA4MjA5LDEwMDg3MTAsMTAwOTIxMSwxMDA5NzQzLDEwMTAyNDMsMTAxMDc0MywxMDExMjc1LDEwMTE3NzUsMTAxMjMwNiwxMDEyODA3LDEwMTMzMDgsMTAxMzg0MCwxMDE0MzQxLDEwMTQ4NDEsMTAxNTM3MywxMDE1ODc0LDEwMTY0MDQsMTAxNjkwNSwxMDE3NDA1LDEwMTc5MzcsMTAxODQzOCwxMDE4OTM5LDEwMTk0NzEsMTAxOTk3MiwxMDIwNDcxLDEwMjEwMDIsMTAyMTUwMywxMDIyMDM1LDEwMjI1MzUsMTAyMzAzNiwxMDIzNTY4LDEwMjQwNjksMTAyNDU2OCwxMDI1MTAwLDEwMjU2MDEsMTAyNjEwMiwxMDI2NjMzLDEwMjcxMzMsMTAyNzY2NiwxMDI4MTY3LDEwMjg2NjYsMTAyOTE5OCwxMDI5Njk5LDEwMzAxOTksMTAzMDczMCwxMDMxMjMxLDEwMzE3NjMsMTAzMjI2NCwxMDMyNzY0LDEwMzMyOTYsMTAzMzc5NywxMDM0Mjk3LDEwMzQ4MjgsMTAzNTMyOSwxMDM1ODMwLDEwMzYzNjIsMTAzNjg2MSwxMDM3MzkzLDEwMzc4OTQsMTAzODM5NCwxMDM4OTI1LDEwMzk0MjcsMTAzOTkyNywxMDQwNDU5LDEwNDA5NTksMTA0MTQ5MSwxMDQxOTkyLDEwNDI0OTIsMTA0MzAyMywxMDQzNTI0LDEwNDQwMjQsMTA0NDU1NiwxMDQ1MDU3LDEwNDU1NTgsMTA0NjA5MCwxMDQ2NTkwLDEwNDcxMjEsMTA0NzYyMiwxMDQ4MTIyLDEwNDg2NTQsMTA0OTE1NCwxMDQ5NjU1LDEwNTAxODcsMTA1MDY4OSwxMDUxMjE5LDEwNTE3MjAsMTA1MjIyMCwxMDUyNzUxLDEwNTMyNTIsMTA1Mzc1MiwxMDU0Mjg0LDEwNTQ3ODYsMTA1NTI4NSwxMDU1ODE3LDEwNTYzMTcsMTA1Njg0OSwxMDU3MzQ5LDEwNTc4NTAsMTA1ODM4MiwxMDU4ODgzLDEwNTkzODMsMTA1OTkxNSwxMDYwNDE1LDEwNjA5NDcsMTA2MTQ0NywxMDYxOTQ3LDEwNjI0NzksMTA2Mjk4MSwxMDYzNDgwLDEwNjQwMTIsMTA2NDUxNCwxMDY1MDE0LDEwNjU1NDUsMTA2NjA0NSwxMDY2NTc3LDEwNjcwNzgsMTA2NzU3OCwxMDY4MTEwLDEwNjg2MTEsMTA2OTExMiwxMDY5NjQyLDEwNzAxNDIsMTA3MDY3NCwxMDcxMTc1LDEwNzE2NzUsMTA3MjIwNywxMDcyNzA5LDEwNzMyMDksMTA3Mzc0MCwxMDc0MjQxLDEwNzQ3NDEsMTA3NTI3MywxMDc1NzczLDEwNzYzMDUsMTA3NjgwNywxMDc3MzA4LDEwNzc4MzksMTA3ODM0MCwxMDc4ODQwLDEwNzkzNzIsMTA3OTg3MSwxMDgwNDAzLDEwODA5MDRdfSx7Ii4uL21haW4iOjU3MCwib2JqZWN0LWFzc2lnbiI6NDU2fV0sNTU3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vbWFpbiIpLGE9dCgib2JqZWN0LWFzc2lnbiIpO2Z1bmN0aW9uIGkodCl7dGhpcy5sb2NhbD10aGlzLnJlZ2lvbmFsT3B0aW9uc1t0fHwiIl18fHRoaXMucmVnaW9uYWxPcHRpb25zWyIiXX1pLnByb3RvdHlwZT1uZXcgbi5iYXNlQ2FsZW5kYXIsYShpLnByb3RvdHlwZSx7bmFtZToiQ29wdGljIixqZEVwb2NoOjE4MjUwMjkuNSxkYXlzUGVyTW9udGg6WzMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDVdLGhhc1llYXJaZXJvOiExLG1pbk1vbnRoOjEsZmlyc3RNb250aDoxLG1pbkRheToxLHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6IkNvcHRpYyIsZXBvY2hzOlsiQkFNIiwiQU0iXSxtb250aE5hbWVzOlsiVGhvdXQiLCJQYW9waSIsIkhhdGhvciIsIktvaWFrIiwiVG9iaSIsIk1lc2hpciIsIlBhcmVtaGF0IiwiUGFyZW1vdWRlIiwiUGFzaG9ucyIsIlBhb25pIiwiRXBpcCIsIk1lc29yaSIsIlBpIEtvZ2kgRW5hdm90Il0sbW9udGhOYW1lc1Nob3J0OlsiVGhvIiwiUGFvIiwiSGF0aCIsIktvaSIsIlRvYiIsIk1lc2giLCJQYXQiLCJQYWQiLCJQYXNoIiwiUGFvIiwiRXBpIiwiTWVzbyIsIlBpSyJdLGRheU5hbWVzOlsiVGt5cmlha2EiLCJQZXNuYXUiLCJQc2hvbWVudCIsIlBlZnRvb3UiLCJQdGlvdSIsIlBzb291IiwiUHNhYmJhdG9uIl0sZGF5TmFtZXNTaG9ydDpbIlRreSIsIlBlcyIsIlBzaCIsIlBlZiIsIlB0aSIsIlBzbyIsIlBzYSJdLGRheU5hbWVzTWluOlsiVGsiLCJQZXMiLCJQc2giLCJQZWYiLCJQdCIsIlBzbyIsIlBzYSJdLGRpZ2l0czpudWxsLGRhdGVGb3JtYXQ6ImRkL21tL3l5eXkiLGZpcnN0RGF5OjAsaXNSVEw6ITF9fSxsZWFwWWVhcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhcik7cmV0dXJuKHQ9ZS55ZWFyKCkrKGUueWVhcigpPDA/MTowKSklND09M3x8dCU0PT0tMX0sbW9udGhzSW5ZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhcnx8bi5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWRZZWFyKSwxM30sd2Vla09mWWVhcjpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5uZXdEYXRlKHQsZSxyKTtyZXR1cm4gbi5hZGQoLW4uZGF5T2ZXZWVrKCksImQiKSxNYXRoLmZsb29yKChuLmRheU9mWWVhcigpLTEpLzcpKzF9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fdmFsaWRhdGUodCxlLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZE1vbnRoKTtyZXR1cm4gdGhpcy5kYXlzUGVyTW9udGhbci5tb250aCgpLTFdKygxMz09PXIubW9udGgoKSYmdGhpcy5sZWFwWWVhcihyLnllYXIoKSk/MTowKX0sd2Vla0RheTpmdW5jdGlvbih0LGUscil7cmV0dXJuKHRoaXMuZGF5T2ZXZWVrKHQsZSxyKXx8Nyk8Nn0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSk7cmV0dXJuKHQ9YS55ZWFyKCkpPDAmJnQrKyxhLmRheSgpKzMwKihhLm1vbnRoKCktMSkrMzY1Kih0LTEpK01hdGguZmxvb3IodC80KSt0aGlzLmpkRXBvY2gtMX0sZnJvbUpEOmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguZmxvb3IodCkrLjUtdGhpcy5qZEVwb2NoLHI9TWF0aC5mbG9vcigoZS1NYXRoLmZsb29yKChlKzM2NikvMTQ2MSkpLzM2NSkrMTtyPD0wJiZyLS0sZT1NYXRoLmZsb29yKHQpKy41LXRoaXMubmV3RGF0ZShyLDEsMSkudG9KRCgpO3ZhciBuPU1hdGguZmxvb3IoZS8zMCkrMSxhPWUtMzAqKG4tMSkrMTtyZXR1cm4gdGhpcy5uZXdEYXRlKHIsbixhKX19KSxuLmNhbGVuZGFycy5jb3B0aWM9aX0seyIuLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU1ODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL21haW4iKSxhPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBpKHQpe3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbE9wdGlvbnNbdHx8IiJdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19aS5wcm90b3R5cGU9bmV3IG4uYmFzZUNhbGVuZGFyLGEoaS5wcm90b3R5cGUse25hbWU6IkRpc2N3b3JsZCIsamRFcG9jaDoxNzIxNDI1LjUsZGF5c1Blck1vbnRoOlsxNiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMl0saGFzWWVhclplcm86ITEsbWluTW9udGg6MSxmaXJzdE1vbnRoOjEsbWluRGF5OjEscmVnaW9uYWxPcHRpb25zOnsiIjp7bmFtZToiRGlzY3dvcmxkIixlcG9jaHM6WyJCVUMiLCJVQyJdLG1vbnRoTmFtZXM6WyJJY2siLCJPZmZsZSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJHcnVuZSIsIkF1Z3VzdCIsIlNwdW5lIiwiU2VrdG9iZXIiLCJFbWJlciIsIkRlY2VtYmVyIl0sbW9udGhOYW1lc1Nob3J0OlsiSWNrIiwiT2ZmIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiR3J1IiwiQXVnIiwiU3B1IiwiU2VrIiwiRW1iIiwiRGVjIl0sZGF5TmFtZXM6WyJTdW5kYXkiLCJPY3RlZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxkYXlOYW1lc1Nob3J0OlsiU3VuIiwiT2N0IiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5TmFtZXNNaW46WyJTdSIsIk9jIiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sZGlnaXRzOm51bGwsZGF0ZUZvcm1hdDoieXl5eS9tbS9kZCIsZmlyc3REYXk6Mixpc1JUTDohMX19LGxlYXBZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhciksITF9LG1vbnRoc0luWWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpLDEzfSxkYXlzSW5ZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhciksNDAwfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLm5ld0RhdGUodCxlLHIpO3JldHVybiBuLmFkZCgtbi5kYXlPZldlZWsoKSwiZCIpLE1hdGguZmxvb3IoKG4uZGF5T2ZZZWFyKCktMSkvOCkrMX0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl92YWxpZGF0ZSh0LGUsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkTW9udGgpO3JldHVybiB0aGlzLmRheXNQZXJNb250aFtyLm1vbnRoKCktMV19LGRheXNJbldlZWs6ZnVuY3Rpb24oKXtyZXR1cm4gOH0sZGF5T2ZXZWVrOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSkuZGF5KCkrMSklOH0sd2Vla0RheTpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5kYXlPZldlZWsodCxlLHIpO3JldHVybiBuPj0yJiZuPD02fSxleHRyYUluZm86ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXRoaXMuX3ZhbGlkYXRlKHQsZSxyLG4ubG9jYWwuaW52YWxpZERhdGUpO3JldHVybntjZW50dXJ5Om9bTWF0aC5mbG9vcigoYS55ZWFyKCktMSkvMTAwKSsxXXx8IiJ9fSx0b0pEOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKTtyZXR1cm4gdD1hLnllYXIoKSsoYS55ZWFyKCk8MD8xOjApLGU9YS5tb250aCgpLChyPWEuZGF5KCkpKyhlPjE/MTY6MCkrKGU+Mj8zMiooZS0yKTowKSs0MDAqKHQtMSkrdGhpcy5qZEVwb2NoLTF9LGZyb21KRDpmdW5jdGlvbih0KXt0PU1hdGguZmxvb3IodCsuNSktTWF0aC5mbG9vcih0aGlzLmpkRXBvY2gpLTE7dmFyIGU9TWF0aC5mbG9vcih0LzQwMCkrMTt0LT00MDAqKGUtMSksdCs9dD4xNT8xNjowO3ZhciByPU1hdGguZmxvb3IodC8zMikrMSxuPXQtMzIqKHItMSkrMTtyZXR1cm4gdGhpcy5uZXdEYXRlKGU8PTA/ZS0xOmUscixuKX19KTt2YXIgbz17MjA6IkZydWl0YmF0IiwyMToiQW5jaG92eSJ9O24uY2FsZW5kYXJzLmRpc2N3b3JsZD1pfSx7Ii4uL21haW4iOjU3MCwib2JqZWN0LWFzc2lnbiI6NDU2fV0sNTU5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vbWFpbiIpLGE9dCgib2JqZWN0LWFzc2lnbiIpO2Z1bmN0aW9uIGkodCl7dGhpcy5sb2NhbD10aGlzLnJlZ2lvbmFsT3B0aW9uc1t0fHwiIl18fHRoaXMucmVnaW9uYWxPcHRpb25zWyIiXX1pLnByb3RvdHlwZT1uZXcgbi5iYXNlQ2FsZW5kYXIsYShpLnByb3RvdHlwZSx7bmFtZToiRXRoaW9waWFuIixqZEVwb2NoOjE3MjQyMjAuNSxkYXlzUGVyTW9udGg6WzMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDMwLDVdLGhhc1llYXJaZXJvOiExLG1pbk1vbnRoOjEsZmlyc3RNb250aDoxLG1pbkRheToxLHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6IkV0aGlvcGlhbiIsZXBvY2hzOlsiQkVFIiwiRUUiXSxtb250aE5hbWVzOlsiTWVza2VyZW0iLCJUaWtlbWV0IiwiSGlkYXIiLCJUYWhlc2FzIiwiVGlyIiwiWWVrYXRpdCIsIk1lZ2FiaXQiLCJNaWF6aWEiLCJHZW5ib3QiLCJTZW5lIiwiSGFtbGUiLCJOZWhhc2UiLCJQYWd1bWUiXSxtb250aE5hbWVzU2hvcnQ6WyJNZXMiLCJUaWsiLCJIaWQiLCJUYWgiLCJUaXIiLCJZZWsiLCJNZWciLCJNaWEiLCJHZW4iLCJTZW4iLCJIYW0iLCJOZWgiLCJQYWciXSxkYXlOYW1lczpbIkVodWQiLCJTZWdubyIsIk1ha3NlZ25vIiwiSXJvYiIsIkhhbXVzIiwiQXJiIiwiS2lkYW1lIl0sZGF5TmFtZXNTaG9ydDpbIkVodSIsIlNlZyIsIk1hayIsIklybyIsIkhhbSIsIkFyYiIsIktpZCJdLGRheU5hbWVzTWluOlsiRWgiLCJTZSIsIk1hIiwiSXIiLCJIYSIsIkFyIiwiS2kiXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJkZC9tbS95eXl5IixmaXJzdERheTowLGlzUlRMOiExfX0sbGVhcFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpO3JldHVybih0PWUueWVhcigpKyhlLnllYXIoKTwwPzE6MCkpJTQ9PTN8fHQlND09LTF9LG1vbnRoc0luWWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXJ8fG4ucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkWWVhciksMTN9LHdlZWtPZlllYXI6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMubmV3RGF0ZSh0LGUscik7cmV0dXJuIG4uYWRkKC1uLmRheU9mV2VlaygpLCJkIiksTWF0aC5mbG9vcigobi5kYXlPZlllYXIoKS0xKS83KSsxfSxkYXlzSW5Nb250aDpmdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX3ZhbGlkYXRlKHQsZSx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRNb250aCk7cmV0dXJuIHRoaXMuZGF5c1Blck1vbnRoW3IubW9udGgoKS0xXSsoMTM9PT1yLm1vbnRoKCkmJnRoaXMubGVhcFllYXIoci55ZWFyKCkpPzE6MCl9LHdlZWtEYXk6ZnVuY3Rpb24odCxlLHIpe3JldHVybih0aGlzLmRheU9mV2Vlayh0LGUscil8fDcpPDZ9LHRvSkQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXRoaXMuX3ZhbGlkYXRlKHQsZSxyLG4ubG9jYWwuaW52YWxpZERhdGUpO3JldHVybih0PWEueWVhcigpKTwwJiZ0KyssYS5kYXkoKSszMCooYS5tb250aCgpLTEpKzM2NSoodC0xKStNYXRoLmZsb29yKHQvNCkrdGhpcy5qZEVwb2NoLTF9LGZyb21KRDpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmZsb29yKHQpKy41LXRoaXMuamRFcG9jaCxyPU1hdGguZmxvb3IoKGUtTWF0aC5mbG9vcigoZSszNjYpLzE0NjEpKS8zNjUpKzE7cjw9MCYmci0tLGU9TWF0aC5mbG9vcih0KSsuNS10aGlzLm5ld0RhdGUociwxLDEpLnRvSkQoKTt2YXIgbj1NYXRoLmZsb29yKGUvMzApKzEsYT1lLTMwKihuLTEpKzE7cmV0dXJuIHRoaXMubmV3RGF0ZShyLG4sYSl9fSksbi5jYWxlbmRhcnMuZXRoaW9waWFuPWl9LHsiLi4vbWFpbiI6NTcwLCJvYmplY3QtYXNzaWduIjo0NTZ9XSw1NjA6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9tYWluIiksYT10KCJvYmplY3QtYXNzaWduIik7ZnVuY3Rpb24gaSh0KXt0aGlzLmxvY2FsPXRoaXMucmVnaW9uYWxPcHRpb25zW3R8fCIiXXx8dGhpcy5yZWdpb25hbE9wdGlvbnNbIiJdfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gdC1lKk1hdGguZmxvb3IodC9lKX1pLnByb3RvdHlwZT1uZXcgbi5iYXNlQ2FsZW5kYXIsYShpLnByb3RvdHlwZSx7bmFtZToiSGVicmV3IixqZEVwb2NoOjM0Nzk5NS41LGRheXNQZXJNb250aDpbMzAsMjksMzAsMjksMzAsMjksMzAsMjksMzAsMjksMzAsMjksMjldLGhhc1llYXJaZXJvOiExLG1pbk1vbnRoOjEsZmlyc3RNb250aDo3LG1pbkRheToxLHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6IkhlYnJldyIsZXBvY2hzOlsiQkFNIiwiQU0iXSxtb250aE5hbWVzOlsiTmlzYW4iLCJJeWFyIiwiU2l2YW4iLCJUYW1tdXoiLCJBdiIsIkVsdWwiLCJUaXNocmVpIiwiQ2hlc2h2YW4iLCJLaXNsZXYiLCJUZXZldCIsIlNoZXZhdCIsIkFkYXIiLCJBZGFyIElJIl0sbW9udGhOYW1lc1Nob3J0OlsiTmlzIiwiSXlhIiwiU2l2IiwiVGFtIiwiQXYiLCJFbHUiLCJUaXMiLCJDaGUiLCJLaXMiLCJUZXYiLCJTaGUiLCJBZGEiLCJBZDIiXSxkYXlOYW1lczpbIllvbSBSaXNob24iLCJZb20gU2hlbmkiLCJZb20gU2hsaXNoaSIsIllvbSBSZXZpJ2kiLCJZb20gQ2hhbWlzaGkiLCJZb20gU2hpc2hpIiwiWW9tIFNoYWJiYXQiXSxkYXlOYW1lc1Nob3J0OlsiUmlzIiwiU2hlIiwiU2hsIiwiUmV2IiwiQ2hhIiwiU2hpIiwiU2hhIl0sZGF5TmFtZXNNaW46WyJSaSIsIlNoZSIsIlNobCIsIlJlIiwiQ2giLCJTaGkiLCJTaGEiXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJkZC9tbS95eXl5IixmaXJzdERheTowLGlzUlRMOiExfX0sbGVhcFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpO3JldHVybiB0aGlzLl9sZWFwWWVhcihlLnllYXIoKSl9LF9sZWFwWWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gbyg3Kih0PXQ8MD90KzE6dCkrMSwxOSk8N30sbW9udGhzSW5ZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhciksdGhpcy5fbGVhcFllYXIodC55ZWFyP3QueWVhcigpOnQpPzEzOjEyfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLm5ld0RhdGUodCxlLHIpO3JldHVybiBuLmFkZCgtbi5kYXlPZldlZWsoKSwiZCIpLE1hdGguZmxvb3IoKG4uZGF5T2ZZZWFyKCktMSkvNykrMX0sZGF5c0luWWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdD10aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhcikueWVhcigpLHRoaXMudG9KRCgtMT09PXQ/MTp0KzEsNywxKS10aGlzLnRvSkQodCw3LDEpfSxkYXlzSW5Nb250aDpmdW5jdGlvbih0LGUpe3JldHVybiB0LnllYXImJihlPXQubW9udGgoKSx0PXQueWVhcigpKSx0aGlzLl92YWxpZGF0ZSh0LGUsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkTW9udGgpLDEyPT09ZSYmdGhpcy5sZWFwWWVhcih0KT8zMDo4PT09ZSYmNT09PW8odGhpcy5kYXlzSW5ZZWFyKHQpLDEwKT8zMDo5PT09ZSYmMz09PW8odGhpcy5kYXlzSW5ZZWFyKHQpLDEwKT8yOTp0aGlzLmRheXNQZXJNb250aFtlLTFdfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gNiE9PXRoaXMuZGF5T2ZXZWVrKHQsZSxyKX0sZXh0cmFJbmZvOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKTtyZXR1cm57eWVhclR5cGU6KHRoaXMubGVhcFllYXIoYSk/ImVtYm9saXNtaWMiOiJjb21tb24iKSsiICIrWyJkZWZpY2llbnQiLCJyZWd1bGFyIiwiY29tcGxldGUiXVt0aGlzLmRheXNJblllYXIoYSklMTAtM119fSx0b0pEOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKTt0PWEueWVhcigpLGU9YS5tb250aCgpLHI9YS5kYXkoKTt2YXIgaT10PD0wP3QrMTp0LG89dGhpcy5qZEVwb2NoK3RoaXMuX2RlbGF5MShpKSt0aGlzLl9kZWxheTIoaSkrcisxO2lmKGU8Nyl7Zm9yKHZhciBzPTc7czw9dGhpcy5tb250aHNJblllYXIodCk7cysrKW8rPXRoaXMuZGF5c0luTW9udGgodCxzKTtmb3Iocz0xO3M8ZTtzKyspbys9dGhpcy5kYXlzSW5Nb250aCh0LHMpfWVsc2UgZm9yKHM9NztzPGU7cysrKW8rPXRoaXMuZGF5c0luTW9udGgodCxzKTtyZXR1cm4gb30sX2RlbGF5MTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmZsb29yKCgyMzUqdC0yMzQpLzE5KSxyPTEyMDg0KzEzNzUzKmUsbj0yOSplK01hdGguZmxvb3Ioci8yNTkyMCk7cmV0dXJuIG8oMyoobisxKSw3KTwzJiZuKyssbn0sX2RlbGF5MjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kZWxheTEodC0xKSxyPXRoaXMuX2RlbGF5MSh0KTtyZXR1cm4gdGhpcy5fZGVsYXkxKHQrMSktcj09MzU2PzI6ci1lPT0zODI/MTowfSxmcm9tSkQ6ZnVuY3Rpb24odCl7dD1NYXRoLmZsb29yKHQpKy41O2Zvcih2YXIgZT1NYXRoLmZsb29yKDk4NDk2Kih0LXRoaXMuamRFcG9jaCkvMzU5NzUzNTEpLTE7dD49dGhpcy50b0pEKC0xPT09ZT8xOmUrMSw3LDEpOyllKys7Zm9yKHZhciByPXQ8dGhpcy50b0pEKGUsMSwxKT83OjE7dD50aGlzLnRvSkQoZSxyLHRoaXMuZGF5c0luTW9udGgoZSxyKSk7KXIrKzt2YXIgbj10LXRoaXMudG9KRChlLHIsMSkrMTtyZXR1cm4gdGhpcy5uZXdEYXRlKGUscixuKX19KSxuLmNhbGVuZGFycy5oZWJyZXc9aX0seyIuLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU2MTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL21haW4iKSxhPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBpKHQpe3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbE9wdGlvbnNbdHx8IiJdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19aS5wcm90b3R5cGU9bmV3IG4uYmFzZUNhbGVuZGFyLGEoaS5wcm90b3R5cGUse25hbWU6IklzbGFtaWMiLGpkRXBvY2g6MTk0ODQzOS41LGRheXNQZXJNb250aDpbMzAsMjksMzAsMjksMzAsMjksMzAsMjksMzAsMjksMzAsMjldLGhhc1llYXJaZXJvOiExLG1pbk1vbnRoOjEsZmlyc3RNb250aDoxLG1pbkRheToxLHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6IklzbGFtaWMiLGVwb2NoczpbIkJIIiwiQUgiXSxtb250aE5hbWVzOlsiTXVoYXJyYW0iLCJTYWZhciIsIlJhYmknIGFsLWF3d2FsIiwiUmFiaScgYWwtdGhhbmkiLCJKdW1hZGEgYWwtYXd3YWwiLCJKdW1hZGEgYWwtdGhhbmkiLCJSYWphYiIsIlNoYSdhYmFuIiwiUmFtYWRhbiIsIlNoYXd3YWwiLCJEaHUgYWwtUWknZGFoIiwiRGh1IGFsLUhpamphaCJdLG1vbnRoTmFtZXNTaG9ydDpbIk11aCIsIlNhZiIsIlJhYjEiLCJSYWIyIiwiSnVtMSIsIkp1bTIiLCJSYWoiLCJTaGEnIiwiUmFtIiwiU2hhdyIsIkRodVEiLCJEaHVIIl0sZGF5TmFtZXM6WyJZYXdtIGFsLWFoYWQiLCJZYXdtIGFsLWl0aG5heW4iLCJZYXdtIGF0aC10aHVsYWF0aGFhJyIsIllhd20gYWwtYXJiaSdhYSciLCJZYXdtIGFsLWtoYW1cdTAxMmJzIiwiWWF3bSBhbC1qdW0nYSIsIllhd20gYXMtc2FidCJdLGRheU5hbWVzU2hvcnQ6WyJBaGEiLCJJdGgiLCJUaHUiLCJBcmIiLCJLaGEiLCJKdW0iLCJTYWIiXSxkYXlOYW1lc01pbjpbIkFoIiwiSXQiLCJUaCIsIkFyIiwiS2giLCJKdSIsIlNhIl0sZGlnaXRzOm51bGwsZGF0ZUZvcm1hdDoieXl5eS9tbS9kZCIsZmlyc3REYXk6Nixpc1JUTDohMX19LGxlYXBZZWFyOmZ1bmN0aW9uKHQpe3JldHVybigxMSp0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhcikueWVhcigpKzE0KSUzMDwxMX0sd2Vla09mWWVhcjpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5uZXdEYXRlKHQsZSxyKTtyZXR1cm4gbi5hZGQoLW4uZGF5T2ZXZWVrKCksImQiKSxNYXRoLmZsb29yKChuLmRheU9mWWVhcigpLTEpLzcpKzF9LGRheXNJblllYXI6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVhcFllYXIodCk/MzU1OjM1NH0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl92YWxpZGF0ZSh0LGUsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkTW9udGgpO3JldHVybiB0aGlzLmRheXNQZXJNb250aFtyLm1vbnRoKCktMV0rKDEyPT09ci5tb250aCgpJiZ0aGlzLmxlYXBZZWFyKHIueWVhcigpKT8xOjApfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gNSE9PXRoaXMuZGF5T2ZXZWVrKHQsZSxyKX0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSk7cmV0dXJuIHQ9YS55ZWFyKCksZT1hLm1vbnRoKCksdD10PD0wP3QrMTp0LChyPWEuZGF5KCkpK01hdGguY2VpbCgyOS41KihlLTEpKSszNTQqKHQtMSkrTWF0aC5mbG9vcigoMysxMSp0KS8zMCkrdGhpcy5qZEVwb2NoLTF9LGZyb21KRDpmdW5jdGlvbih0KXt0PU1hdGguZmxvb3IodCkrLjU7dmFyIGU9TWF0aC5mbG9vcigoMzAqKHQtdGhpcy5qZEVwb2NoKSsxMDY0NikvMTA2MzEpO2U9ZTw9MD9lLTE6ZTt2YXIgcj1NYXRoLm1pbigxMixNYXRoLmNlaWwoKHQtMjktdGhpcy50b0pEKGUsMSwxKSkvMjkuNSkrMSksbj10LXRoaXMudG9KRChlLHIsMSkrMTtyZXR1cm4gdGhpcy5uZXdEYXRlKGUscixuKX19KSxuLmNhbGVuZGFycy5pc2xhbWljPWl9LHsiLi4vbWFpbiI6NTcwLCJvYmplY3QtYXNzaWduIjo0NTZ9XSw1NjI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9tYWluIiksYT10KCJvYmplY3QtYXNzaWduIik7ZnVuY3Rpb24gaSh0KXt0aGlzLmxvY2FsPXRoaXMucmVnaW9uYWxPcHRpb25zW3R8fCIiXXx8dGhpcy5yZWdpb25hbE9wdGlvbnNbIiJdfWkucHJvdG90eXBlPW5ldyBuLmJhc2VDYWxlbmRhcixhKGkucHJvdG90eXBlLHtuYW1lOiJKdWxpYW4iLGpkRXBvY2g6MTcyMTQyMy41LGRheXNQZXJNb250aDpbMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdLGhhc1llYXJaZXJvOiExLG1pbk1vbnRoOjEsZmlyc3RNb250aDoxLG1pbkRheToxLHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6Ikp1bGlhbiIsZXBvY2hzOlsiQkMiLCJBRCJdLG1vbnRoTmFtZXM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLG1vbnRoTmFtZXNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLGRheU5hbWVzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxkYXlOYW1lc1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5TmFtZXNNaW46WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGRpZ2l0czpudWxsLGRhdGVGb3JtYXQ6Im1tL2RkL3l5eXkiLGZpcnN0RGF5OjAsaXNSVEw6ITF9fSxsZWFwWWVhcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkWWVhcik7cmV0dXJuKHQ9ZS55ZWFyKCk8MD9lLnllYXIoKSsxOmUueWVhcigpKSU0PT0wfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLm5ld0RhdGUodCxlLHIpO3JldHVybiBuLmFkZCg0LShuLmRheU9mV2VlaygpfHw3KSwiZCIpLE1hdGguZmxvb3IoKG4uZGF5T2ZZZWFyKCktMSkvNykrMX0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl92YWxpZGF0ZSh0LGUsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkTW9udGgpO3JldHVybiB0aGlzLmRheXNQZXJNb250aFtyLm1vbnRoKCktMV0rKDI9PT1yLm1vbnRoKCkmJnRoaXMubGVhcFllYXIoci55ZWFyKCkpPzE6MCl9LHdlZWtEYXk6ZnVuY3Rpb24odCxlLHIpe3JldHVybih0aGlzLmRheU9mV2Vlayh0LGUscil8fDcpPDZ9LHRvSkQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXRoaXMuX3ZhbGlkYXRlKHQsZSxyLG4ubG9jYWwuaW52YWxpZERhdGUpO3JldHVybiB0PWEueWVhcigpLGU9YS5tb250aCgpLHI9YS5kYXkoKSx0PDAmJnQrKyxlPD0yJiYodC0tLGUrPTEyKSxNYXRoLmZsb29yKDM2NS4yNSoodCs0NzE2KSkrTWF0aC5mbG9vcigzMC42MDAxKihlKzEpKStyLTE1MjQuNX0sZnJvbUpEOmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguZmxvb3IodCsuNSkrMTUyNCxyPU1hdGguZmxvb3IoKGUtMTIyLjEpLzM2NS4yNSksbj1NYXRoLmZsb29yKDM2NS4yNSpyKSxhPU1hdGguZmxvb3IoKGUtbikvMzAuNjAwMSksaT1hLU1hdGguZmxvb3IoYTwxND8xOjEzKSxvPXItTWF0aC5mbG9vcihpPjI/NDcxNjo0NzE1KSxzPWUtbi1NYXRoLmZsb29yKDMwLjYwMDEqYSk7cmV0dXJuIG88PTAmJm8tLSx0aGlzLm5ld0RhdGUobyxpLHMpfX0pLG4uY2FsZW5kYXJzLmp1bGlhbj1pfSx7Ii4uL21haW4iOjU3MCwib2JqZWN0LWFzc2lnbiI6NDU2fV0sNTYzOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vbWFpbiIpLGE9dCgib2JqZWN0LWFzc2lnbiIpO2Z1bmN0aW9uIGkodCl7dGhpcy5sb2NhbD10aGlzLnJlZ2lvbmFsT3B0aW9uc1t0fHwiIl18fHRoaXMucmVnaW9uYWxPcHRpb25zWyIiXX1mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIHQtZSpNYXRoLmZsb29yKHQvZSl9ZnVuY3Rpb24gcyh0LGUpe3JldHVybiBvKHQtMSxlKSsxfWkucHJvdG90eXBlPW5ldyBuLmJhc2VDYWxlbmRhcixhKGkucHJvdG90eXBlLHtuYW1lOiJNYXlhbiIsamRFcG9jaDo1ODQyODIuNSxoYXNZZWFyWmVybzohMCxtaW5Nb250aDowLGZpcnN0TW9udGg6MCxtaW5EYXk6MCxyZWdpb25hbE9wdGlvbnM6eyIiOntuYW1lOiJNYXlhbiIsZXBvY2hzOlsiIiwiIl0sbW9udGhOYW1lczpbIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCIxMCIsIjExIiwiMTIiLCIxMyIsIjE0IiwiMTUiLCIxNiIsIjE3Il0sbW9udGhOYW1lc1Nob3J0OlsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIjEwIiwiMTEiLCIxMiIsIjEzIiwiMTQiLCIxNSIsIjE2IiwiMTciXSxkYXlOYW1lczpbIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCIxMCIsIjExIiwiMTIiLCIxMyIsIjE0IiwiMTUiLCIxNiIsIjE3IiwiMTgiLCIxOSJdLGRheU5hbWVzU2hvcnQ6WyIwIiwiMSIsIjIiLCIzIiwiNCIsIjUiLCI2IiwiNyIsIjgiLCI5IiwiMTAiLCIxMSIsIjEyIiwiMTMiLCIxNCIsIjE1IiwiMTYiLCIxNyIsIjE4IiwiMTkiXSxkYXlOYW1lc01pbjpbIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCIxMCIsIjExIiwiMTIiLCIxMyIsIjE0IiwiMTUiLCIxNiIsIjE3IiwiMTgiLCIxOSJdLGRpZ2l0czpudWxsLGRhdGVGb3JtYXQ6IllZWVkubS5kIixmaXJzdERheTowLGlzUlRMOiExLGhhYWJNb250aHM6WyJQb3AiLCJVbyIsIlppcCIsIlpvdHoiLCJUemVjIiwiWHVsIiwiWWF4a2luIiwiTW9sIiwiQ2hlbiIsIllheCIsIlphYyIsIkNlaCIsIk1hYyIsIkthbmtpbiIsIk11YW4iLCJQYXgiLCJLYXlhYiIsIkN1bWt1IiwiVWF5ZWIiXSx0em9sa2luTW9udGhzOlsiSW1peCIsIklrIiwiQWtiYWwiLCJLYW4iLCJDaGljY2hhbiIsIkNpbWkiLCJNYW5payIsIkxhbWF0IiwiTXVsdWMiLCJPYyIsIkNodWVuIiwiRWIiLCJCZW4iLCJJeCIsIk1lbiIsIkNpYiIsIkNhYmFuIiwiRXR6bmFiIiwiQ2F1YWMiLCJBaGF1Il19fSxsZWFwWWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpLCExfSxmb3JtYXRZZWFyOmZ1bmN0aW9uKHQpe3Q9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpLnllYXIoKTt2YXIgZT1NYXRoLmZsb29yKHQvNDAwKTtyZXR1cm4gdCU9NDAwLHQrPXQ8MD80MDA6MCxlKyIuIitNYXRoLmZsb29yKHQvMjApKyIuIit0JTIwfSxmb3JZZWFyOmZ1bmN0aW9uKHQpe2lmKCh0PXQuc3BsaXQoIi4iKSkubGVuZ3RoPDMpdGhyb3ciSW52YWxpZCBNYXlhbiB5ZWFyIjtmb3IodmFyIGU9MCxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXBhcnNlSW50KHRbcl0sMTApO2lmKE1hdGguYWJzKG4pPjE5fHxyPjAmJm48MCl0aHJvdyJJbnZhbGlkIE1heWFuIHllYXIiO2U9MjAqZStufXJldHVybiBlfSxtb250aHNJblllYXI6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRZZWFyKSwxOH0sd2Vla09mWWVhcjpmdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlKHQsZSxyLG4ubG9jYWwuaW52YWxpZERhdGUpLDB9LGRheXNJblllYXI6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRZZWFyKSwzNjB9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlKHQsZSx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRNb250aCksMjB9LGRheXNJbldlZWs6ZnVuY3Rpb24oKXtyZXR1cm4gNX0sZGF5T2ZXZWVrOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSkuZGF5KCl9LHdlZWtEYXk6ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKSwhMH0sZXh0cmFJbmZvOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKS50b0pEKCksaT10aGlzLl90b0hhYWIoYSksbz10aGlzLl90b1R6b2xraW4oYSk7cmV0dXJue2hhYWJNb250aE5hbWU6dGhpcy5sb2NhbC5oYWFiTW9udGhzW2lbMF0tMV0saGFhYk1vbnRoOmlbMF0saGFhYkRheTppWzFdLHR6b2xraW5EYXlOYW1lOnRoaXMubG9jYWwudHpvbGtpbk1vbnRoc1tvWzBdLTFdLHR6b2xraW5EYXk6b1swXSx0em9sa2luVHJlY2VuYTpvWzFdfX0sX3RvSGFhYjpmdW5jdGlvbih0KXt2YXIgZT1vKCh0LT10aGlzLmpkRXBvY2gpKzgrMzQwLDM2NSk7cmV0dXJuW01hdGguZmxvb3IoZS8yMCkrMSxvKGUsMjApXX0sX3RvVHpvbGtpbjpmdW5jdGlvbih0KXtyZXR1cm5bcygodC09dGhpcy5qZEVwb2NoKSsyMCwyMCkscyh0KzQsMTMpXX0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSk7cmV0dXJuIGEuZGF5KCkrMjAqYS5tb250aCgpKzM2MCphLnllYXIoKSt0aGlzLmpkRXBvY2h9LGZyb21KRDpmdW5jdGlvbih0KXt0PU1hdGguZmxvb3IodCkrLjUtdGhpcy5qZEVwb2NoO3ZhciBlPU1hdGguZmxvb3IodC8zNjApO3QlPTM2MCx0Kz10PDA/MzYwOjA7dmFyIHI9TWF0aC5mbG9vcih0LzIwKSxuPXQlMjA7cmV0dXJuIHRoaXMubmV3RGF0ZShlLHIsbil9fSksbi5jYWxlbmRhcnMubWF5YW49aX0seyIuLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU2NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL21haW4iKSxhPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBpKHQpe3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbE9wdGlvbnNbdHx8IiJdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19aS5wcm90b3R5cGU9bmV3IG4uYmFzZUNhbGVuZGFyO3ZhciBvPW4uaW5zdGFuY2UoImdyZWdvcmlhbiIpO2EoaS5wcm90b3R5cGUse25hbWU6Ik5hbmFrc2hhaGkiLGpkRXBvY2g6MjI1NzY3My41LGRheXNQZXJNb250aDpbMzEsMzEsMzEsMzEsMzEsMzAsMzAsMzAsMzAsMzAsMzAsMzBdLGhhc1llYXJaZXJvOiExLG1pbk1vbnRoOjEsZmlyc3RNb250aDoxLG1pbkRheToxLHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6Ik5hbmFrc2hhaGkiLGVwb2NoczpbIkJOIiwiQU4iXSxtb250aE5hbWVzOlsiQ2hldCIsIlZhaXNha2giLCJKZXRoIiwiSGFyaCIsIlNhd2FuIiwiQmhhZG9uIiwiQXNzdSIsIkthdGFrIiwiTWFnaGFyIiwiUG9oIiwiTWFnaCIsIlBoYWd1biJdLG1vbnRoTmFtZXNTaG9ydDpbIkNoZSIsIlZhaSIsIkpldCIsIkhhciIsIlNhdyIsIkJoYSIsIkFzcyIsIkthdCIsIk1nciIsIlBvaCIsIk1naCIsIlBoYSJdLGRheU5hbWVzOlsiU29tdmFhciIsIk1hbmdhbHZhciIsIkJ1ZGh2YWFyIiwiVmVlcnZhYXIiLCJTaHVrYXJ2YWFyIiwiU2FuaWNoYXJ2YWFyIiwiRXR2YWFyIl0sZGF5TmFtZXNTaG9ydDpbIlNvbSIsIk1hbmdhbCIsIkJ1ZGgiLCJWZWVyIiwiU2h1a2FyIiwiU2FuaWNoYXIiLCJFdCJdLGRheU5hbWVzTWluOlsiU28iLCJNYSIsIkJ1IiwiVmUiLCJTaCIsIlNhIiwiRXQiXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJkZC1tbS15eXl5IixmaXJzdERheTowLGlzUlRMOiExfX0sbGVhcFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXJ8fG4ucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkWWVhcik7cmV0dXJuIG8ubGVhcFllYXIoZS55ZWFyKCkrKGUueWVhcigpPDE/MTowKSsxNDY5KX0sd2Vla09mWWVhcjpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5uZXdEYXRlKHQsZSxyKTtyZXR1cm4gbi5hZGQoMS0obi5kYXlPZldlZWsoKXx8NyksImQiKSxNYXRoLmZsb29yKChuLmRheU9mWWVhcigpLTEpLzcpKzF9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fdmFsaWRhdGUodCxlLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZE1vbnRoKTtyZXR1cm4gdGhpcy5kYXlzUGVyTW9udGhbci5tb250aCgpLTFdKygxMj09PXIubW9udGgoKSYmdGhpcy5sZWFwWWVhcihyLnllYXIoKSk/MTowKX0sd2Vla0RheTpmdW5jdGlvbih0LGUscil7cmV0dXJuKHRoaXMuZGF5T2ZXZWVrKHQsZSxyKXx8Nyk8Nn0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkTW9udGgpOyh0PWEueWVhcigpKTwwJiZ0Kys7Zm9yKHZhciBpPWEuZGF5KCkscz0xO3M8YS5tb250aCgpO3MrKylpKz10aGlzLmRheXNQZXJNb250aFtzLTFdO3JldHVybiBpK28udG9KRCh0KzE0NjgsMywxMyl9LGZyb21KRDpmdW5jdGlvbih0KXt0PU1hdGguZmxvb3IodCsuNSk7Zm9yKHZhciBlPU1hdGguZmxvb3IoKHQtKHRoaXMuamRFcG9jaC0xKSkvMzY2KTt0Pj10aGlzLnRvSkQoZSsxLDEsMSk7KWUrKztmb3IodmFyIHI9dC1NYXRoLmZsb29yKHRoaXMudG9KRChlLDEsMSkrLjUpKzEsbj0xO3I+dGhpcy5kYXlzSW5Nb250aChlLG4pOylyLT10aGlzLmRheXNJbk1vbnRoKGUsbiksbisrO3JldHVybiB0aGlzLm5ld0RhdGUoZSxuLHIpfX0pLG4uY2FsZW5kYXJzLm5hbmFrc2hhaGk9aX0seyIuLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU2NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL21haW4iKSxhPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBpKHQpe3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbE9wdGlvbnNbdHx8IiJdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19aS5wcm90b3R5cGU9bmV3IG4uYmFzZUNhbGVuZGFyLGEoaS5wcm90b3R5cGUse25hbWU6Ik5lcGFsaSIsamRFcG9jaDoxNzAwNzA5LjUsZGF5c1Blck1vbnRoOlszMSwzMSwzMiwzMiwzMSwzMCwzMCwyOSwzMCwyOSwzMCwzMF0saGFzWWVhclplcm86ITEsbWluTW9udGg6MSxmaXJzdE1vbnRoOjEsbWluRGF5OjEsZGF5c1BlclllYXI6MzY1LHJlZ2lvbmFsT3B0aW9uczp7IiI6e25hbWU6Ik5lcGFsaSIsZXBvY2hzOlsiQkJTIiwiQUJTIl0sbW9udGhOYW1lczpbIkJhaXNha2giLCJKZXN0aGEiLCJBc2hhZGgiLCJTaHJhd2FuIiwiQmhhZHJhIiwiQXNod2luIiwiS2FydGlrIiwiTWFuZ3NpciIsIlBhdXNoIiwiTWFuZ2giLCJGYWxndW4iLCJDaGFpdHJhIl0sbW9udGhOYW1lc1Nob3J0OlsiQmFpIiwiSmUiLCJBcyIsIlNocmEiLCJCaGEiLCJBc2giLCJLYXIiLCJNYW5nIiwiUGF1IiwiTWEiLCJGYWwiLCJDaGFpIl0sZGF5TmFtZXM6WyJBYWl0YWJhYXIiLCJTb21iYWFyIiwiTWFuZ2xiYWFyIiwiQnVkaGFiYWFyIiwiQmloaWJhYXIiLCJTaHVrcmFiYWFyIiwiU2hhbmliYWFyIl0sZGF5TmFtZXNTaG9ydDpbIkFhaXRhIiwiU29tIiwiTWFuZ2wiLCJCdWRoYSIsIkJpaGkiLCJTaHVrcmEiLCJTaGFuaSJdLGRheU5hbWVzTWluOlsiQWFpIiwiU28iLCJNYW4iLCJCdSIsIkJpIiwiU2h1IiwiU2hhIl0sZGlnaXRzOm51bGwsZGF0ZUZvcm1hdDoiZGQvbW0veXl5eSIsZmlyc3REYXk6MSxpc1JUTDohMX19LGxlYXBZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRheXNJblllYXIodCkhPT10aGlzLmRheXNQZXJZZWFyfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLm5ld0RhdGUodCxlLHIpO3JldHVybiBuLmFkZCgtbi5kYXlPZldlZWsoKSwiZCIpLE1hdGguZmxvb3IoKG4uZGF5T2ZZZWFyKCktMSkvNykrMX0sZGF5c0luWWVhcjpmdW5jdGlvbih0KXtpZih0PXRoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRZZWFyKS55ZWFyKCksInVuZGVmaW5lZCI9PXR5cGVvZiB0aGlzLk5FUEFMSV9DQUxFTkRBUl9EQVRBW3RdKXJldHVybiB0aGlzLmRheXNQZXJZZWFyO2Zvcih2YXIgZT0wLHI9dGhpcy5taW5Nb250aDtyPD0xMjtyKyspZSs9dGhpcy5ORVBBTElfQ0FMRU5EQVJfREFUQVt0XVtyXTtyZXR1cm4gZX0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC55ZWFyJiYoZT10Lm1vbnRoKCksdD10LnllYXIoKSksdGhpcy5fdmFsaWRhdGUodCxlLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZE1vbnRoKSwidW5kZWZpbmVkIj09dHlwZW9mIHRoaXMuTkVQQUxJX0NBTEVOREFSX0RBVEFbdF0/dGhpcy5kYXlzUGVyTW9udGhbZS0xXTp0aGlzLk5FUEFMSV9DQUxFTkRBUl9EQVRBW3RdW2VdfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gNiE9PXRoaXMuZGF5T2ZXZWVrKHQsZSxyKX0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSk7dD1hLnllYXIoKSxlPWEubW9udGgoKSxyPWEuZGF5KCk7dmFyIGk9bi5pbnN0YW5jZSgpLG89MCxzPWUsbD10O3RoaXMuX2NyZWF0ZU1pc3NpbmdDYWxlbmRhckRhdGEodCk7dmFyIGM9dC0ocz45fHw5PT09cyYmcj49dGhpcy5ORVBBTElfQ0FMRU5EQVJfREFUQVtsXVswXT81Njo1Nyk7Zm9yKDkhPT1lJiYobz1yLHMtLSk7OSE9PXM7KXM8PTAmJihzPTEyLGwtLSksbys9dGhpcy5ORVBBTElfQ0FMRU5EQVJfREFUQVtsXVtzXSxzLS07cmV0dXJuIDk9PT1lPyhvKz1yLXRoaXMuTkVQQUxJX0NBTEVOREFSX0RBVEFbbF1bMF0pPDAmJihvKz1pLmRheXNJblllYXIoYykpOm8rPXRoaXMuTkVQQUxJX0NBTEVOREFSX0RBVEFbbF1bOV0tdGhpcy5ORVBBTElfQ0FMRU5EQVJfREFUQVtsXVswXSxpLm5ld0RhdGUoYywxLDEpLmFkZChvLCJkIikudG9KRCgpfSxmcm9tSkQ6ZnVuY3Rpb24odCl7dmFyIGU9bi5pbnN0YW5jZSgpLmZyb21KRCh0KSxyPWUueWVhcigpLGE9ZS5kYXlPZlllYXIoKSxpPXIrNTY7dGhpcy5fY3JlYXRlTWlzc2luZ0NhbGVuZGFyRGF0YShpKTtmb3IodmFyIG89OSxzPXRoaXMuTkVQQUxJX0NBTEVOREFSX0RBVEFbaV1bMF0sbD10aGlzLk5FUEFMSV9DQUxFTkRBUl9EQVRBW2ldW29dLXMrMTthPmw7KSsrbz4xMiYmKG89MSxpKyspLGwrPXRoaXMuTkVQQUxJX0NBTEVOREFSX0RBVEFbaV1bb107dmFyIGM9dGhpcy5ORVBBTElfQ0FMRU5EQVJfREFUQVtpXVtvXS0obC1hKTtyZXR1cm4gdGhpcy5uZXdEYXRlKGksbyxjKX0sX2NyZWF0ZU1pc3NpbmdDYWxlbmRhckRhdGE6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5kYXlzUGVyTW9udGguc2xpY2UoMCk7ZS51bnNoaWZ0KDE3KTtmb3IodmFyIHI9dC0xO3I8dCsyO3IrKykidW5kZWZpbmVkIj09dHlwZW9mIHRoaXMuTkVQQUxJX0NBTEVOREFSX0RBVEFbcl0mJih0aGlzLk5FUEFMSV9DQUxFTkRBUl9EQVRBW3JdPWUpfSxORVBBTElfQ0FMRU5EQVJfREFUQTp7MTk3MDpbMTgsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDE5NzE6WzE4LDMxLDMxLDMyLDMxLDMyLDMwLDMwLDI5LDMwLDI5LDMwLDMwXSwxOTcyOlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMF0sMTk3MzpbMTksMzAsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMzAsMjksMzFdLDE5NzQ6WzE5LDMxLDMxLDMyLDMwLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwxOTc1OlsxOCwzMSwzMSwzMiwzMiwzMCwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMTk3NjpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDE5Nzc6WzE4LDMxLDMyLDMxLDMyLDMxLDMxLDI5LDMwLDI5LDMwLDI5LDMxXSwxOTc4OlsxOCwzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMTk3OTpbMTgsMzEsMzEsMzIsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDE5ODA6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMxXSwxOTgxOlsxOCwzMSwzMSwzMSwzMiwzMSwzMSwyOSwzMCwzMCwyOSwzMCwzMF0sMTk4MjpbMTgsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDE5ODM6WzE4LDMxLDMxLDMyLDMyLDMxLDMwLDMwLDI5LDMwLDI5LDMwLDMwXSwxOTg0OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMV0sMTk4NTpbMTgsMzEsMzEsMzEsMzIsMzEsMzEsMjksMzAsMzAsMjksMzAsMzBdLDE5ODY6WzE4LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwxOTg3OlsxOCwzMSwzMiwzMSwzMiwzMSwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMTk4ODpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDE5ODk6WzE4LDMxLDMxLDMxLDMyLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwxOTkwOlsxOCwzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMTk5MTpbMTgsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDE5OTI6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDMwLDI5LDMxXSwxOTkzOlsxOCwzMSwzMSwzMSwzMiwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMTk5NDpbMTgsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDE5OTU6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMwXSwxOTk2OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwzMCwyOSwzMV0sMTk5NzpbMTgsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDE5OTg6WzE4LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwxOTk5OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMV0sMjAwMDpbMTcsMzAsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMzAsMjksMzFdLDIwMDE6WzE4LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDAyOlsxOCwzMSwzMSwzMiwzMiwzMSwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMjAwMzpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDIwMDQ6WzE3LDMwLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDMwLDI5LDMxXSwyMDA1OlsxOCwzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjAwNjpbMTgsMzEsMzEsMzIsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwMDc6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMxXSwyMDA4OlsxNywzMSwzMSwzMSwzMiwzMSwzMSwyOSwzMCwzMCwyOSwyOSwzMV0sMjAwOTpbMTgsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwMTA6WzE4LDMxLDMxLDMyLDMyLDMxLDMwLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDExOlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMV0sMjAxMjpbMTcsMzEsMzEsMzEsMzIsMzEsMzEsMjksMzAsMzAsMjksMzAsMzBdLDIwMTM6WzE4LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDE0OlsxOCwzMSwzMSwzMiwzMiwzMSwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMjAxNTpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDIwMTY6WzE3LDMxLDMxLDMxLDMyLDMxLDMxLDI5LDMwLDMwLDI5LDMwLDMwXSwyMDE3OlsxOCwzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjAxODpbMTgsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwMTk6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDMwLDI5LDMxXSwyMDIwOlsxNywzMSwzMSwzMSwzMiwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjAyMTpbMTgsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwMjI6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMwXSwyMDIzOlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwzMCwyOSwzMV0sMjAyNDpbMTcsMzEsMzEsMzEsMzIsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwMjU6WzE4LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDI2OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMV0sMjAyNzpbMTcsMzAsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMzAsMjksMzFdLDIwMjg6WzE3LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDI5OlsxOCwzMSwzMSwzMiwzMSwzMiwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMjAzMDpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMzAsMzAsMzAsMzFdLDIwMzE6WzE3LDMxLDMyLDMxLDMyLDMxLDMxLDMxLDMxLDMxLDMxLDMxLDMxXSwyMDMyOlsxNywzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMl0sMjAzMzpbMTgsMzEsMzEsMzIsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwMzQ6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMxXSwyMDM1OlsxNywzMCwzMiwzMSwzMiwzMSwzMSwyOSwzMCwzMCwyOSwyOSwzMV0sMjAzNjpbMTcsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwMzc6WzE4LDMxLDMxLDMyLDMyLDMxLDMwLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDM4OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMV0sMjAzOTpbMTcsMzEsMzEsMzEsMzIsMzEsMzEsMjksMzAsMzAsMjksMzAsMzBdLDIwNDA6WzE3LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDQxOlsxOCwzMSwzMSwzMiwzMiwzMSwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMjA0MjpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDIwNDM6WzE3LDMxLDMxLDMxLDMyLDMxLDMxLDI5LDMwLDMwLDI5LDMwLDMwXSwyMDQ0OlsxNywzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjA0NTpbMTgsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwNDY6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMxXSwyMDQ3OlsxNywzMSwzMSwzMSwzMiwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjA0ODpbMTcsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwNDk6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMwXSwyMDUwOlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwzMCwyOSwzMV0sMjA1MTpbMTcsMzEsMzEsMzEsMzIsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwNTI6WzE3LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDUzOlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMF0sMjA1NDpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMzAsMjksMzFdLDIwNTU6WzE3LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDMwLDI5LDMwXSwyMDU2OlsxNywzMSwzMSwzMiwzMSwzMiwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMjA1NzpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDIwNTg6WzE3LDMwLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDMwLDI5LDMxXSwyMDU5OlsxNywzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjA2MDpbMTcsMzEsMzEsMzIsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwNjE6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMxXSwyMDYyOlsxNywzMCwzMiwzMSwzMiwzMSwzMSwyOSwzMCwyOSwzMCwyOSwzMV0sMjA2MzpbMTcsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwNjQ6WzE3LDMxLDMxLDMyLDMyLDMxLDMwLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDY1OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMV0sMjA2NjpbMTcsMzEsMzEsMzEsMzIsMzEsMzEsMjksMzAsMzAsMjksMjksMzFdLDIwNjc6WzE3LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDY4OlsxNywzMSwzMSwzMiwzMiwzMSwzMCwzMCwyOSwzMCwyOSwzMCwzMF0sMjA2OTpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMjksMzAsMzFdLDIwNzA6WzE3LDMxLDMxLDMxLDMyLDMxLDMxLDI5LDMwLDMwLDI5LDMwLDMwXSwyMDcxOlsxNywzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjA3MjpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwNzM6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMxXSwyMDc0OlsxNywzMSwzMSwzMSwzMiwzMSwzMSwzMCwyOSwzMCwyOSwzMCwzMF0sMjA3NTpbMTcsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwNzY6WzE2LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDI5LDMwLDMwXSwyMDc3OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwzMCwyOSwzMV0sMjA3ODpbMTcsMzEsMzEsMzEsMzIsMzEsMzEsMzAsMjksMzAsMjksMzAsMzBdLDIwNzk6WzE3LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDI5LDMwLDI5LDMwLDMwXSwyMDgwOlsxNiwzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwyOSwzMCwzMF0sMjA4MTpbMTcsMzEsMzEsMzIsMzIsMzEsMzAsMzAsMzAsMjksMzAsMzAsMzBdLDIwODI6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDMwLDMwLDMwXSwyMDgzOlsxNywzMSwzMSwzMiwzMSwzMSwzMCwzMCwzMCwyOSwzMCwzMCwzMF0sMjA4NDpbMTcsMzEsMzEsMzIsMzEsMzEsMzAsMzAsMzAsMjksMzAsMzAsMzBdLDIwODU6WzE3LDMxLDMyLDMxLDMyLDMxLDMxLDMwLDMwLDI5LDMwLDMwLDMwXSwyMDg2OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwzMCwzMCwzMF0sMjA4NzpbMTYsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMzAsMjksMzAsMzAsMzBdLDIwODg6WzE2LDMwLDMxLDMyLDMyLDMwLDMxLDMwLDMwLDI5LDMwLDMwLDMwXSwyMDg5OlsxNywzMSwzMiwzMSwzMiwzMSwzMCwzMCwzMCwyOSwzMCwzMCwzMF0sMjA5MDpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMzAsMzAsMzBdLDIwOTE6WzE2LDMxLDMxLDMyLDMxLDMxLDMxLDMwLDMwLDI5LDMwLDMwLDMwXSwyMDkyOlsxNiwzMSwzMSwzMiwzMiwzMSwzMCwzMCwzMCwyOSwzMCwzMCwzMF0sMjA5MzpbMTcsMzEsMzIsMzEsMzIsMzEsMzAsMzAsMzAsMjksMzAsMzAsMzBdLDIwOTQ6WzE3LDMxLDMxLDMyLDMxLDMxLDMwLDMwLDMwLDI5LDMwLDMwLDMwXSwyMDk1OlsxNywzMSwzMSwzMiwzMSwzMSwzMSwzMCwyOSwzMCwzMCwzMCwzMF0sMjA5NjpbMTcsMzAsMzEsMzIsMzIsMzEsMzAsMzAsMjksMzAsMjksMzAsMzBdLDIwOTc6WzE3LDMxLDMyLDMxLDMyLDMxLDMwLDMwLDMwLDI5LDMwLDMwLDMwXSwyMDk4OlsxNywzMSwzMSwzMiwzMSwzMSwzMSwyOSwzMCwyOSwzMCwzMCwzMV0sMjA5OTpbMTcsMzEsMzEsMzIsMzEsMzEsMzEsMzAsMjksMjksMzAsMzAsMzBdLDIxMDA6WzE3LDMxLDMyLDMxLDMyLDMwLDMxLDMwLDI5LDMwLDI5LDMwLDMwXX19KSxuLmNhbGVuZGFycy5uZXBhbGk9aX0seyIuLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU2NjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL21haW4iKSxhPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBpKHQpe3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbE9wdGlvbnNbdHx8IiJdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19ZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0LWUqTWF0aC5mbG9vcih0L2UpfWkucHJvdG90eXBlPW5ldyBuLmJhc2VDYWxlbmRhcixhKGkucHJvdG90eXBlLHtuYW1lOiJQZXJzaWFuIixqZEVwb2NoOjE5NDgzMjAuNSxkYXlzUGVyTW9udGg6WzMxLDMxLDMxLDMxLDMxLDMxLDMwLDMwLDMwLDMwLDMwLDI5XSxoYXNZZWFyWmVybzohMSxtaW5Nb250aDoxLGZpcnN0TW9udGg6MSxtaW5EYXk6MSxyZWdpb25hbE9wdGlvbnM6eyIiOntuYW1lOiJQZXJzaWFuIixlcG9jaHM6WyJCUCIsIkFQIl0sbW9udGhOYW1lczpbIkZhcnZhcmRpbiIsIk9yZGliZWhlc2h0IiwiS2hvcmRhZCIsIlRpciIsIk1vcmRhZCIsIlNoYWhyaXZhciIsIk1laHIiLCJBYmFuIiwiQXphciIsIkRheSIsIkJhaG1hbiIsIkVzZmFuZCJdLG1vbnRoTmFtZXNTaG9ydDpbIkZhciIsIk9yZCIsIktobyIsIlRpciIsIk1vciIsIlNoYSIsIk1laCIsIkFiYSIsIkF6YSIsIkRheSIsIkJhaCIsIkVzZiJdLGRheU5hbWVzOlsiWWVrc2hhbWJlIiwiRG9zaGFtYmUiLCJTZXNoYW1iZSIsIkNoXHhlNmhhcnNoYW1iZSIsIlBhbmpzaGFtYmUiLCJKb20nZSIsIlNoYW1iZSJdLGRheU5hbWVzU2hvcnQ6WyJZZWsiLCJEbyIsIlNlIiwiQ2hceGU2IiwiUGFuaiIsIkpvbSIsIlNoYSJdLGRheU5hbWVzTWluOlsiWWUiLCJEbyIsIlNlIiwiQ2giLCJQYSIsIkpvIiwiU2giXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJ5eXl5L21tL2RkIixmaXJzdERheTo2LGlzUlRMOiExfX0sbGVhcFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpO3JldHVybiA2ODIqKChlLnllYXIoKS0oZS55ZWFyKCk+MD80NzQ6NDczKSklMjgyMCs0NzQrMzgpJTI4MTY8NjgyfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLm5ld0RhdGUodCxlLHIpO3JldHVybiBuLmFkZCgtKG4uZGF5T2ZXZWVrKCkrMSklNywiZCIpLE1hdGguZmxvb3IoKG4uZGF5T2ZZZWFyKCktMSkvNykrMX0sZGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl92YWxpZGF0ZSh0LGUsdGhpcy5taW5EYXksbi5sb2NhbC5pbnZhbGlkTW9udGgpO3JldHVybiB0aGlzLmRheXNQZXJNb250aFtyLm1vbnRoKCktMV0rKDEyPT09ci5tb250aCgpJiZ0aGlzLmxlYXBZZWFyKHIueWVhcigpKT8xOjApfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gNSE9PXRoaXMuZGF5T2ZXZWVrKHQsZSxyKX0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSk7dD1hLnllYXIoKSxlPWEubW9udGgoKSxyPWEuZGF5KCk7dmFyIGk9dC0odD49MD80NzQ6NDczKSxzPTQ3NCtvKGksMjgyMCk7cmV0dXJuIHIrKGU8PTc/MzEqKGUtMSk6MzAqKGUtMSkrNikrTWF0aC5mbG9vcigoNjgyKnMtMTEwKS8yODE2KSszNjUqKHMtMSkrMTAyOTk4MypNYXRoLmZsb29yKGkvMjgyMCkrdGhpcy5qZEVwb2NoLTF9LGZyb21KRDpmdW5jdGlvbih0KXt2YXIgZT0odD1NYXRoLmZsb29yKHQpKy41KS10aGlzLnRvSkQoNDc1LDEsMSkscj1NYXRoLmZsb29yKGUvMTAyOTk4Myksbj1vKGUsMTAyOTk4MyksYT0yODIwO2lmKDEwMjk5ODIhPT1uKXt2YXIgaT1NYXRoLmZsb29yKG4vMzY2KSxzPW8obiwzNjYpO2E9TWF0aC5mbG9vcigoMjEzNCppKzI4MTYqcysyODE1KS8xMDI4NTIyKStpKzF9dmFyIGw9YSsyODIwKnIrNDc0O2w9bDw9MD9sLTE6bDt2YXIgYz10LXRoaXMudG9KRChsLDEsMSkrMSx1PWM8PTE4Nj9NYXRoLmNlaWwoYy8zMSk6TWF0aC5jZWlsKChjLTYpLzMwKSxoPXQtdGhpcy50b0pEKGwsdSwxKSsxO3JldHVybiB0aGlzLm5ld0RhdGUobCx1LGgpfX0pLG4uY2FsZW5kYXJzLnBlcnNpYW49aSxuLmNhbGVuZGFycy5qYWxhbGk9aX0seyIuLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU2NzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL21haW4iKSxhPXQoIm9iamVjdC1hc3NpZ24iKSxpPW4uaW5zdGFuY2UoKTtmdW5jdGlvbiBvKHQpe3RoaXMubG9jYWw9dGhpcy5yZWdpb25hbE9wdGlvbnNbdHx8IiJdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19by5wcm90b3R5cGU9bmV3IG4uYmFzZUNhbGVuZGFyLGEoby5wcm90b3R5cGUse25hbWU6IlRhaXdhbiIsamRFcG9jaDoyNDE5NDAyLjUseWVhcnNPZmZzZXQ6MTkxMSxkYXlzUGVyTW9udGg6WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxoYXNZZWFyWmVybzohMSxtaW5Nb250aDoxLGZpcnN0TW9udGg6MSxtaW5EYXk6MSxyZWdpb25hbE9wdGlvbnM6eyIiOntuYW1lOiJUYWl3YW4iLGVwb2NoczpbIkJST0MiLCJST0MiXSxtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJ5eXl5L21tL2RkIixmaXJzdERheToxLGlzUlRMOiExfX0sbGVhcFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpO3Q9dGhpcy5fdDJnWWVhcihlLnllYXIoKSk7cmV0dXJuIGkubGVhcFllYXIodCl9LHdlZWtPZlllYXI6ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXRoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRZZWFyKTt0PXRoaXMuX3QyZ1llYXIoYS55ZWFyKCkpO3JldHVybiBpLndlZWtPZlllYXIodCxhLm1vbnRoKCksYS5kYXkoKSl9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fdmFsaWRhdGUodCxlLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZE1vbnRoKTtyZXR1cm4gdGhpcy5kYXlzUGVyTW9udGhbci5tb250aCgpLTFdKygyPT09ci5tb250aCgpJiZ0aGlzLmxlYXBZZWFyKHIueWVhcigpKT8xOjApfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odGhpcy5kYXlPZldlZWsodCxlLHIpfHw3KTw2fSx0b0pEOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKTt0PXRoaXMuX3QyZ1llYXIoYS55ZWFyKCkpO3JldHVybiBpLnRvSkQodCxhLm1vbnRoKCksYS5kYXkoKSl9LGZyb21KRDpmdW5jdGlvbih0KXt2YXIgZT1pLmZyb21KRCh0KSxyPXRoaXMuX2cydFllYXIoZS55ZWFyKCkpO3JldHVybiB0aGlzLm5ld0RhdGUocixlLm1vbnRoKCksZS5kYXkoKSl9LF90MmdZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0K3RoaXMueWVhcnNPZmZzZXQrKHQ+PS10aGlzLnllYXJzT2Zmc2V0JiZ0PD0tMT8xOjApfSxfZzJ0WWVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdC10aGlzLnllYXJzT2Zmc2V0LSh0Pj0xJiZ0PD10aGlzLnllYXJzT2Zmc2V0PzE6MCl9fSksbi5jYWxlbmRhcnMudGFpd2FuPW99LHsiLi4vbWFpbiI6NTcwLCJvYmplY3QtYXNzaWduIjo0NTZ9XSw1Njg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9tYWluIiksYT10KCJvYmplY3QtYXNzaWduIiksaT1uLmluc3RhbmNlKCk7ZnVuY3Rpb24gbyh0KXt0aGlzLmxvY2FsPXRoaXMucmVnaW9uYWxPcHRpb25zW3R8fCIiXXx8dGhpcy5yZWdpb25hbE9wdGlvbnNbIiJdfW8ucHJvdG90eXBlPW5ldyBuLmJhc2VDYWxlbmRhcixhKG8ucHJvdG90eXBlLHtuYW1lOiJUaGFpIixqZEVwb2NoOjE1MjMwOTguNSx5ZWFyc09mZnNldDo1NDMsZGF5c1Blck1vbnRoOlszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0saGFzWWVhclplcm86ITEsbWluTW9udGg6MSxmaXJzdE1vbnRoOjEsbWluRGF5OjEscmVnaW9uYWxPcHRpb25zOnsiIjp7bmFtZToiVGhhaSIsZXBvY2hzOlsiQkJFIiwiQkUiXSxtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSxkaWdpdHM6bnVsbCxkYXRlRm9ybWF0OiJkZC9tbS95eXl5IixmaXJzdERheTowLGlzUlRMOiExfX0sbGVhcFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZFllYXIpO3Q9dGhpcy5fdDJnWWVhcihlLnllYXIoKSk7cmV0dXJuIGkubGVhcFllYXIodCl9LHdlZWtPZlllYXI6ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXRoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRZZWFyKTt0PXRoaXMuX3QyZ1llYXIoYS55ZWFyKCkpO3JldHVybiBpLndlZWtPZlllYXIodCxhLm1vbnRoKCksYS5kYXkoKSl9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fdmFsaWRhdGUodCxlLHRoaXMubWluRGF5LG4ubG9jYWwuaW52YWxpZE1vbnRoKTtyZXR1cm4gdGhpcy5kYXlzUGVyTW9udGhbci5tb250aCgpLTFdKygyPT09ci5tb250aCgpJiZ0aGlzLmxlYXBZZWFyKHIueWVhcigpKT8xOjApfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odGhpcy5kYXlPZldlZWsodCxlLHIpfHw3KTw2fSx0b0pEOmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10aGlzLl92YWxpZGF0ZSh0LGUscixuLmxvY2FsLmludmFsaWREYXRlKTt0PXRoaXMuX3QyZ1llYXIoYS55ZWFyKCkpO3JldHVybiBpLnRvSkQodCxhLm1vbnRoKCksYS5kYXkoKSl9LGZyb21KRDpmdW5jdGlvbih0KXt2YXIgZT1pLmZyb21KRCh0KSxyPXRoaXMuX2cydFllYXIoZS55ZWFyKCkpO3JldHVybiB0aGlzLm5ld0RhdGUocixlLm1vbnRoKCksZS5kYXkoKSl9LF90MmdZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0LXRoaXMueWVhcnNPZmZzZXQtKHQ+PTEmJnQ8PXRoaXMueWVhcnNPZmZzZXQ/MTowKX0sX2cydFllYXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQrdGhpcy55ZWFyc09mZnNldCsodD49LXRoaXMueWVhcnNPZmZzZXQmJnQ8PS0xPzE6MCl9fSksbi5jYWxlbmRhcnMudGhhaT1vfSx7Ii4uL21haW4iOjU3MCwib2JqZWN0LWFzc2lnbiI6NDU2fV0sNTY5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vbWFpbiIpLGE9dCgib2JqZWN0LWFzc2lnbiIpO2Z1bmN0aW9uIGkodCl7dGhpcy5sb2NhbD10aGlzLnJlZ2lvbmFsT3B0aW9uc1t0fHwiIl18fHRoaXMucmVnaW9uYWxPcHRpb25zWyIiXX1pLnByb3RvdHlwZT1uZXcgbi5iYXNlQ2FsZW5kYXIsYShpLnByb3RvdHlwZSx7bmFtZToiVW1tQWxRdXJhIixoYXNZZWFyWmVybzohMSxtaW5Nb250aDoxLGZpcnN0TW9udGg6MSxtaW5EYXk6MSxyZWdpb25hbE9wdGlvbnM6eyIiOntuYW1lOiJVbW0gYWwtUXVyYSIsZXBvY2hzOlsiQkgiLCJBSCJdLG1vbnRoTmFtZXM6WyJBbC1NdWhhcnJhbSIsIlNhZmFyIiwiUmFiaScgYWwtYXd3YWwiLCJSYWJpJyBBbC1UaGFuaSIsIkp1bWFkYSBBbC1Bd3dhbCIsIkp1bWFkYSBBbC1UaGFuaSIsIlJhamFiIiwiU2hhJ2FiYW4iLCJSYW1hZGFuIiwiU2hhd3dhbCIsIkRodSBhbC1RaSdkYWgiLCJEaHUgYWwtSGlqamFoIl0sbW9udGhOYW1lc1Nob3J0OlsiTXVoIiwiU2FmIiwiUmFiMSIsIlJhYjIiLCJKdW0xIiwiSnVtMiIsIlJhaiIsIlNoYSciLCJSYW0iLCJTaGF3IiwiRGh1USIsIkRodUgiXSxkYXlOYW1lczpbIllhd20gYWwtQWhhZCIsIllhd20gYWwtSXRobmFpbiIsIllhd20gYWwtVGhhbFx1MDEwMXRoXHUwMTAxXHUyMDE5IiwiWWF3bSBhbC1BcmJhXHUyMDE4XHUwMTAxXHUyMDE5IiwiWWF3bSBhbC1LaGFtXHUwMTJicyIsIllhd20gYWwtSnVtXHUyMDE4YSIsIllhd20gYWwtU2FidCJdLGRheU5hbWVzTWluOlsiQWgiLCJJdGgiLCJUaCIsIkFyIiwiS2giLCJKdSIsIlNhIl0sZGlnaXRzOm51bGwsZGF0ZUZvcm1hdDoieXl5eS9tbS9kZCIsZmlyc3REYXk6Nixpc1JUTDohMH19LGxlYXBZZWFyOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRZZWFyKTtyZXR1cm4gMzU1PT09dGhpcy5kYXlzSW5ZZWFyKGUueWVhcigpKX0sd2Vla09mWWVhcjpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5uZXdEYXRlKHQsZSxyKTtyZXR1cm4gbi5hZGQoLW4uZGF5T2ZXZWVrKCksImQiKSxNYXRoLmZsb29yKChuLmRheU9mWWVhcigpLTEpLzcpKzF9LGRheXNJblllYXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0xO3I8PTEyO3IrKyllKz10aGlzLmRheXNJbk1vbnRoKHQscik7cmV0dXJuIGV9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuX3ZhbGlkYXRlKHQsZSx0aGlzLm1pbkRheSxuLmxvY2FsLmludmFsaWRNb250aCkudG9KRCgpLTI0ZTUrLjUsYT0wLGk9MDtpPG8ubGVuZ3RoO2krKyl7aWYob1tpXT5yKXJldHVybiBvW2FdLW9bYS0xXTthKyt9cmV0dXJuIDMwfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gNSE9PXRoaXMuZGF5T2ZXZWVrKHQsZSxyKX0sdG9KRDpmdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5fdmFsaWRhdGUodCxlLHIsbi5sb2NhbC5pbnZhbGlkRGF0ZSksaT0xMiooYS55ZWFyKCktMSkrYS5tb250aCgpLTE1MjkyO3JldHVybiBhLmRheSgpK29baS0xXS0xKzI0ZTUtLjV9LGZyb21KRDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC0yNGU1Ky41LHI9MCxuPTA7bjxvLmxlbmd0aCYmIShvW25dPmUpO24rKylyKys7dmFyIGE9cisxNTI5MixpPU1hdGguZmxvb3IoKGEtMSkvMTIpLHM9aSsxLGw9YS0xMippLGM9ZS1vW3ItMV0rMTtyZXR1cm4gdGhpcy5uZXdEYXRlKHMsbCxjKX0saXNWYWxpZDpmdW5jdGlvbih0LGUscil7dmFyIGE9bi5iYXNlQ2FsZW5kYXIucHJvdG90eXBlLmlzVmFsaWQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBhJiYoYT0odD1udWxsIT10LnllYXI/dC55ZWFyOnQpPj0xMjc2JiZ0PD0xNTAwKSxhfSxfdmFsaWRhdGU6ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGk9bi5iYXNlQ2FsZW5kYXIucHJvdG90eXBlLl92YWxpZGF0ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoaS55ZWFyPDEyNzZ8fGkueWVhcj4xNTAwKXRocm93IGEucmVwbGFjZSgvXHswXH0vLHRoaXMubG9jYWwubmFtZSk7cmV0dXJuIGl9fSksbi5jYWxlbmRhcnMudW1tYWxxdXJhPWk7dmFyIG89WzIwLDUwLDc5LDEwOSwxMzgsMTY4LDE5NywyMjcsMjU2LDI4NiwzMTUsMzQ1LDM3NCw0MDQsNDMzLDQ2Myw0OTIsNTIyLDU1MSw1ODEsNjExLDY0MSw2NzAsNzAwLDcyOSw3NTksNzg4LDgxOCw4NDcsODc3LDkwNiw5MzYsOTY1LDk5NSwxMDI0LDEwNTQsMTA4MywxMTEzLDExNDIsMTE3MiwxMjAxLDEyMzEsMTI2MCwxMjkwLDEzMjAsMTM1MCwxMzc5LDE0MDksMTQzOCwxNDY4LDE0OTcsMTUyNywxNTU2LDE1ODYsMTYxNSwxNjQ1LDE2NzQsMTcwNCwxNzMzLDE3NjMsMTc5MiwxODIyLDE4NTEsMTg4MSwxOTEwLDE5NDAsMTk2OSwxOTk5LDIwMjgsMjA1OCwyMDg3LDIxMTcsMjE0NiwyMTc2LDIyMDUsMjIzNSwyMjY0LDIyOTQsMjMyMywyMzUzLDIzODMsMjQxMywyNDQyLDI0NzIsMjUwMSwyNTMxLDI1NjAsMjU5MCwyNjE5LDI2NDksMjY3OCwyNzA4LDI3MzcsMjc2NywyNzk2LDI4MjYsMjg1NSwyODg1LDI5MTQsMjk0NCwyOTczLDMwMDMsMzAzMiwzMDYyLDMwOTEsMzEyMSwzMTUwLDMxODAsMzIwOSwzMjM5LDMyNjgsMzI5OCwzMzI3LDMzNTcsMzM4NiwzNDE2LDM0NDYsMzQ3NiwzNTA1LDM1MzUsMzU2NCwzNTk0LDM2MjMsMzY1MywzNjgyLDM3MTIsMzc0MSwzNzcxLDM4MDAsMzgzMCwzODU5LDM4ODksMzkxOCwzOTQ4LDM5NzcsNDAwNyw0MDM2LDQwNjYsNDA5NSw0MTI1LDQxNTUsNDE4NSw0MjE0LDQyNDQsNDI3Myw0MzAzLDQzMzIsNDM2Miw0MzkxLDQ0MjEsNDQ1MCw0NDgwLDQ1MDksNDUzOSw0NTY4LDQ1OTgsNDYyNyw0NjU3LDQ2ODYsNDcxNiw0NzQ1LDQ3NzUsNDgwNCw0ODM0LDQ4NjMsNDg5Myw0OTIyLDQ5NTIsNDk4MSw1MDExLDUwNDAsNTA3MCw1MDk5LDUxMjksNTE1OCw1MTg4LDUyMTgsNTI0OCw1Mjc3LDUzMDcsNTMzNiw1MzY2LDUzOTUsNTQyNSw1NDU0LDU0ODQsNTUxMyw1NTQzLDU1NzIsNTYwMiw1NjMxLDU2NjEsNTY5MCw1NzIwLDU3NDksNTc3OSw1ODA4LDU4MzgsNTg2Nyw1ODk3LDU5MjYsNTk1Niw1OTg1LDYwMTUsNjA0NCw2MDc0LDYxMDMsNjEzMyw2MTYyLDYxOTIsNjIyMSw2MjUxLDYyODEsNjMxMSw2MzQwLDYzNzAsNjM5OSw2NDI5LDY0NTgsNjQ4OCw2NTE3LDY1NDcsNjU3Niw2NjA2LDY2MzUsNjY2NSw2Njk0LDY3MjQsNjc1Myw2NzgzLDY4MTIsNjg0Miw2ODcxLDY5MDEsNjkzMCw2OTYwLDY5ODksNzAxOSw3MDQ4LDcwNzgsNzEwNyw3MTM3LDcxNjYsNzE5Niw3MjI1LDcyNTUsNzI4NCw3MzE0LDczNDQsNzM3NCw3NDAzLDc0MzMsNzQ2Miw3NDkyLDc1MjEsNzU1MSw3NTgwLDc2MTAsNzYzOSw3NjY5LDc2OTgsNzcyOCw3NzU3LDc3ODcsNzgxNiw3ODQ2LDc4NzUsNzkwNSw3OTM0LDc5NjQsNzk5Myw4MDIzLDgwNTMsODA4Myw4MTEyLDgxNDIsODE3MSw4MjAxLDgyMzAsODI2MCw4Mjg5LDgzMTksODM0OCw4Mzc4LDg0MDcsODQzNyw4NDY2LDg0OTYsODUyNSw4NTU1LDg1ODQsODYxNCw4NjQzLDg2NzMsODcwMiw4NzMyLDg3NjEsODc5MSw4ODIxLDg4NTAsODg4MCw4OTA5LDg5MzgsODk2OCw4OTk3LDkwMjcsOTA1Niw5MDg2LDkxMTUsOTE0NSw5MTc1LDkyMDUsOTIzNCw5MjY0LDkyOTMsOTMyMiw5MzUyLDkzODEsOTQxMCw5NDQwLDk0NzAsOTQ5OSw5NTI5LDk1NTksOTU4OSw5NjE4LDk2NDgsOTY3Nyw5NzA2LDk3MzYsOTc2NSw5Nzk0LDk4MjQsOTg1Myw5ODgzLDk5MTMsOTk0Myw5OTcyLDEwMDAyLDEwMDMyLDEwMDYxLDEwMDkwLDEwMTIwLDEwMTQ5LDEwMTc4LDEwMjA4LDEwMjM3LDEwMjY3LDEwMjk3LDEwMzI2LDEwMzU2LDEwMzg2LDEwNDE1LDEwNDQ1LDEwNDc0LDEwNTA0LDEwNTMzLDEwNTYyLDEwNTkyLDEwNjIxLDEwNjUxLDEwNjgwLDEwNzEwLDEwNzQwLDEwNzcwLDEwNzk5LDEwODI5LDEwODU4LDEwODg4LDEwOTE3LDEwOTQ3LDEwOTc2LDExMDA1LDExMDM1LDExMDY0LDExMDk0LDExMTI0LDExMTUzLDExMTgzLDExMjEzLDExMjQyLDExMjcyLDExMzAxLDExMzMxLDExMzYwLDExMzg5LDExNDE5LDExNDQ4LDExNDc4LDExNTA3LDExNTM3LDExNTY3LDExNTk2LDExNjI2LDExNjU1LDExNjg1LDExNzE1LDExNzQ0LDExNzc0LDExODAzLDExODMyLDExODYyLDExODkxLDExOTIxLDExOTUwLDExOTgwLDEyMDEwLDEyMDM5LDEyMDY5LDEyMDk5LDEyMTI4LDEyMTU4LDEyMTg3LDEyMjE2LDEyMjQ2LDEyMjc1LDEyMzA0LDEyMzM0LDEyMzY0LDEyMzkzLDEyNDIzLDEyNDUzLDEyNDgzLDEyNTEyLDEyNTQyLDEyNTcxLDEyNjAwLDEyNjMwLDEyNjU5LDEyNjg4LDEyNzE4LDEyNzQ3LDEyNzc3LDEyODA3LDEyODM3LDEyODY2LDEyODk2LDEyOTI2LDEyOTU1LDEyOTg0LDEzMDE0LDEzMDQzLDEzMDcyLDEzMTAyLDEzMTMxLDEzMTYxLDEzMTkxLDEzMjIwLDEzMjUwLDEzMjgwLDEzMzEwLDEzMzM5LDEzMzY4LDEzMzk4LDEzNDI3LDEzNDU2LDEzNDg2LDEzNTE1LDEzNTQ1LDEzNTc0LDEzNjA0LDEzNjM0LDEzNjY0LDEzNjkzLDEzNzIzLDEzNzUyLDEzNzgyLDEzODExLDEzODQwLDEzODcwLDEzODk5LDEzOTI5LDEzOTU4LDEzOTg4LDE0MDE4LDE0MDQ3LDE0MDc3LDE0MTA3LDE0MTM2LDE0MTY2LDE0MTk1LDE0MjI0LDE0MjU0LDE0MjgzLDE0MzEzLDE0MzQyLDE0MzcyLDE0NDAxLDE0NDMxLDE0NDYxLDE0NDkwLDE0NTIwLDE0NTUwLDE0NTc5LDE0NjA5LDE0NjM4LDE0NjY3LDE0Njk3LDE0NzI2LDE0NzU2LDE0Nzg1LDE0ODE1LDE0ODQ0LDE0ODc0LDE0OTA0LDE0OTMzLDE0OTYzLDE0OTkzLDE1MDIxLDE1MDUxLDE1MDgxLDE1MTEwLDE1MTQwLDE1MTY5LDE1MTk5LDE1MjI4LDE1MjU4LDE1Mjg3LDE1MzE3LDE1MzQ3LDE1Mzc3LDE1NDA2LDE1NDM2LDE1NDY1LDE1NDk0LDE1NTI0LDE1NTUzLDE1NTgyLDE1NjEyLDE1NjQxLDE1NjcxLDE1NzAxLDE1NzMxLDE1NzYwLDE1NzkwLDE1ODIwLDE1ODQ5LDE1ODc4LDE1OTA4LDE1OTM3LDE1OTY2LDE1OTk2LDE2MDI1LDE2MDU1LDE2MDg1LDE2MTE0LDE2MTQ0LDE2MTc0LDE2MjA0LDE2MjMzLDE2MjYyLDE2MjkyLDE2MzIxLDE2MzUwLDE2MzgwLDE2NDA5LDE2NDM5LDE2NDY4LDE2NDk4LDE2NTI4LDE2NTU4LDE2NTg3LDE2NjE3LDE2NjQ2LDE2Njc2LDE2NzA1LDE2NzM0LDE2NzY0LDE2NzkzLDE2ODIzLDE2ODUyLDE2ODgyLDE2OTEyLDE2OTQxLDE2OTcxLDE3MDAxLDE3MDMwLDE3MDYwLDE3MDg5LDE3MTE4LDE3MTQ4LDE3MTc3LDE3MjA3LDE3MjM2LDE3MjY2LDE3Mjk1LDE3MzI1LDE3MzU1LDE3Mzg0LDE3NDE0LDE3NDQ0LDE3NDczLDE3NTAyLDE3NTMyLDE3NTYxLDE3NTkxLDE3NjIwLDE3NjUwLDE3Njc5LDE3NzA5LDE3NzM4LDE3NzY4LDE3Nzk4LDE3ODI3LDE3ODU3LDE3ODg2LDE3OTE2LDE3OTQ1LDE3OTc1LDE4MDA0LDE4MDM0LDE4MDYzLDE4MDkzLDE4MTIyLDE4MTUyLDE4MTgxLDE4MjExLDE4MjQxLDE4MjcwLDE4MzAwLDE4MzMwLDE4MzU5LDE4Mzg4LDE4NDE4LDE4NDQ3LDE4NDc2LDE4NTA2LDE4NTM1LDE4NTY1LDE4NTk1LDE4NjI1LDE4NjU0LDE4Njg0LDE4NzE0LDE4NzQzLDE4NzcyLDE4ODAyLDE4ODMxLDE4ODYwLDE4ODkwLDE4OTE5LDE4OTQ5LDE4OTc5LDE5MDA4LDE5MDM4LDE5MDY4LDE5MDk4LDE5MTI3LDE5MTU2LDE5MTg2LDE5MjE1LDE5MjQ0LDE5Mjc0LDE5MzAzLDE5MzMzLDE5MzYyLDE5MzkyLDE5NDIyLDE5NDUyLDE5NDgxLDE5NTExLDE5NTQwLDE5NTcwLDE5NTk5LDE5NjI4LDE5NjU4LDE5Njg3LDE5NzE3LDE5NzQ2LDE5Nzc2LDE5ODA2LDE5ODM2LDE5ODY1LDE5ODk1LDE5OTI0LDE5OTU0LDE5OTgzLDIwMDEyLDIwMDQyLDIwMDcxLDIwMTAxLDIwMTMwLDIwMTYwLDIwMTkwLDIwMjE5LDIwMjQ5LDIwMjc5LDIwMzA4LDIwMzM4LDIwMzY3LDIwMzk2LDIwNDI2LDIwNDU1LDIwNDg1LDIwNTE0LDIwNTQ0LDIwNTczLDIwNjAzLDIwNjMzLDIwNjYyLDIwNjkyLDIwNzIxLDIwNzUxLDIwNzgwLDIwODEwLDIwODM5LDIwODY5LDIwODk4LDIwOTI4LDIwOTU3LDIwOTg3LDIxMDE2LDIxMDQ2LDIxMDc2LDIxMTA1LDIxMTM1LDIxMTY0LDIxMTk0LDIxMjIzLDIxMjUzLDIxMjgyLDIxMzEyLDIxMzQxLDIxMzcxLDIxNDAwLDIxNDMwLDIxNDU5LDIxNDg5LDIxNTE5LDIxNTQ4LDIxNTc4LDIxNjA3LDIxNjM3LDIxNjY2LDIxNjk2LDIxNzI1LDIxNzU0LDIxNzg0LDIxODEzLDIxODQzLDIxODczLDIxOTAyLDIxOTMyLDIxOTYyLDIxOTkxLDIyMDIxLDIyMDUwLDIyMDgwLDIyMTA5LDIyMTM4LDIyMTY4LDIyMTk3LDIyMjI3LDIyMjU2LDIyMjg2LDIyMzE2LDIyMzQ2LDIyMzc1LDIyNDA1LDIyNDM0LDIyNDY0LDIyNDkzLDIyNTIyLDIyNTUyLDIyNTgxLDIyNjExLDIyNjQwLDIyNjcwLDIyNzAwLDIyNzMwLDIyNzU5LDIyNzg5LDIyODE4LDIyODQ4LDIyODc3LDIyOTA2LDIyOTM2LDIyOTY1LDIyOTk0LDIzMDI0LDIzMDU0LDIzMDgzLDIzMTEzLDIzMTQzLDIzMTczLDIzMjAyLDIzMjMyLDIzMjYxLDIzMjkwLDIzMzIwLDIzMzQ5LDIzMzc5LDIzNDA4LDIzNDM4LDIzNDY3LDIzNDk3LDIzNTI3LDIzNTU2LDIzNTg2LDIzNjE2LDIzNjQ1LDIzNjc0LDIzNzA0LDIzNzMzLDIzNzYzLDIzNzkyLDIzODIyLDIzODUxLDIzODgxLDIzOTEwLDIzOTQwLDIzOTcwLDIzOTk5LDI0MDI5LDI0MDU4LDI0MDg4LDI0MTE3LDI0MTQ3LDI0MTc2LDI0MjA2LDI0MjM1LDI0MjY1LDI0Mjk0LDI0MzI0LDI0MzUzLDI0MzgzLDI0NDEzLDI0NDQyLDI0NDcyLDI0NTAxLDI0NTMxLDI0NTYwLDI0NTkwLDI0NjE5LDI0NjQ4LDI0Njc4LDI0NzA3LDI0NzM3LDI0NzY3LDI0Nzk2LDI0ODI2LDI0ODU2LDI0ODg1LDI0OTE1LDI0OTQ0LDI0OTc0LDI1MDAzLDI1MDMyLDI1MDYyLDI1MDkxLDI1MTIxLDI1MTUwLDI1MTgwLDI1MjEwLDI1MjQwLDI1MjY5LDI1Mjk5LDI1MzI4LDI1MzU4LDI1Mzg3LDI1NDE2LDI1NDQ2LDI1NDc1LDI1NTA1LDI1NTM0LDI1NTY0LDI1NTk0LDI1NjI0LDI1NjUzLDI1NjgzLDI1NzEyLDI1NzQyLDI1NzcxLDI1ODAwLDI1ODMwLDI1ODU5LDI1ODg4LDI1OTE4LDI1OTQ4LDI1OTc3LDI2MDA3LDI2MDM3LDI2MDY3LDI2MDk2LDI2MTI2LDI2MTU1LDI2MTg0LDI2MjE0LDI2MjQzLDI2MjcyLDI2MzAyLDI2MzMyLDI2MzYxLDI2MzkxLDI2NDIxLDI2NDUxLDI2NDgwLDI2NTEwLDI2NTM5LDI2NTY4LDI2NTk4LDI2NjI3LDI2NjU2LDI2Njg2LDI2NzE1LDI2NzQ1LDI2Nzc1LDI2ODA1LDI2ODM0LDI2ODY0LDI2ODkzLDI2OTIzLDI2OTUyLDI2OTgyLDI3MDExLDI3MDQxLDI3MDcwLDI3MDk5LDI3MTI5LDI3MTU5LDI3MTg4LDI3MjE4LDI3MjQ4LDI3Mjc3LDI3MzA3LDI3MzM2LDI3MzY2LDI3Mzk1LDI3NDI1LDI3NDU0LDI3NDg0LDI3NTEzLDI3NTQyLDI3NTcyLDI3NjAyLDI3NjMxLDI3NjYxLDI3NjkxLDI3NzIwLDI3NzUwLDI3Nzc5LDI3ODA5LDI3ODM4LDI3ODY4LDI3ODk3LDI3OTI2LDI3OTU2LDI3OTg1LDI4MDE1LDI4MDQ1LDI4MDc0LDI4MTA0LDI4MTM0LDI4MTYzLDI4MTkzLDI4MjIyLDI4MjUyLDI4MjgxLDI4MzEwLDI4MzQwLDI4MzY5LDI4Mzk5LDI4NDI4LDI4NDU4LDI4NDg4LDI4NTE3LDI4NTQ3LDI4NTc3LDI4NjA3LDI4NjM2LDI4NjY1LDI4Njk1LDI4NzI0LDI4NzU0LDI4NzgzLDI4ODEzLDI4ODQzLDI4ODcyLDI4OTAxLDI4OTMxLDI4OTYwLDI4OTkwLDI5MDE5LDI5MDQ5LDI5MDc4LDI5MTA4LDI5MTM3LDI5MTY3LDI5MTk2LDI5MjI2LDI5MjU1LDI5Mjg1LDI5MzE1LDI5MzQ1LDI5Mzc1LDI5NDA0LDI5NDM0LDI5NDYzLDI5NDkyLDI5NTIyLDI5NTUxLDI5NTgwLDI5NjEwLDI5NjQwLDI5NjY5LDI5Njk5LDI5NzI5LDI5NzU5LDI5Nzg4LDI5ODE4LDI5ODQ3LDI5ODc2LDI5OTA2LDI5OTM1LDI5OTY0LDI5OTk0LDMwMDIzLDMwMDUzLDMwMDgyLDMwMTEyLDMwMTQxLDMwMTcxLDMwMjAwLDMwMjMwLDMwMjU5LDMwMjg5LDMwMzE4LDMwMzQ4LDMwMzc4LDMwNDA4LDMwNDM3LDMwNDY3LDMwNDk2LDMwNTI2LDMwNTU1LDMwNTg1LDMwNjE0LDMwNjQ0LDMwNjczLDMwNzAzLDMwNzMyLDMwNzYyLDMwNzkxLDMwODIxLDMwODUwLDMwODgwLDMwOTA5LDMwOTM5LDMwOTY4LDMwOTk4LDMxMDI3LDMxMDU3LDMxMDg2LDMxMTE2LDMxMTQ1LDMxMTc1LDMxMjA0LDMxMjM0LDMxMjYzLDMxMjkzLDMxMzIyLDMxMzUyLDMxMzgxLDMxNDExLDMxNDQxLDMxNDcxLDMxNTAwLDMxNTMwLDMxNTU5LDMxNTg5LDMxNjE4LDMxNjQ4LDMxNjc2LDMxNzA2LDMxNzM2LDMxNzY2LDMxNzk1LDMxODI1LDMxODU0LDMxODg0LDMxOTEzLDMxOTQzLDMxOTcyLDMyMDAyLDMyMDMxLDMyMDYxLDMyMDkwLDMyMTIwLDMyMTUwLDMyMTgwLDMyMjA5LDMyMjM5LDMyMjY4LDMyMjk4LDMyMzI3LDMyMzU3LDMyMzg2LDMyNDE2LDMyNDQ1LDMyNDc1LDMyNTA0LDMyNTM0LDMyNTYzLDMyNTkzLDMyNjIyLDMyNjUyLDMyNjgxLDMyNzExLDMyNzQwLDMyNzcwLDMyNzk5LDMyODI5LDMyODU4LDMyODg4LDMyOTE3LDMyOTQ3LDMyOTc2LDMzMDA2LDMzMDM1LDMzMDY1LDMzMDk0LDMzMTI0LDMzMTUzLDMzMTgzLDMzMjEzLDMzMjQzLDMzMjcyLDMzMzAyLDMzMzMxLDMzMzYxLDMzMzkwLDMzNDIwLDMzNDUwLDMzNDc5LDMzNTA5LDMzNTM5LDMzNTY4LDMzNTk4LDMzNjI3LDMzNjU3LDMzNjg2LDMzNzE2LDMzNzQ1LDMzNzc1LDMzODA0LDMzODM0LDMzODYzLDMzODkzLDMzOTIyLDMzOTUyLDMzOTgxLDM0MDExLDM0MDQwLDM0MDY5LDM0MDk5LDM0MTI4LDM0MTU4LDM0MTg3LDM0MjE3LDM0MjQ3LDM0Mjc3LDM0MzA2LDM0MzM2LDM0MzY1LDM0Mzk1LDM0NDI0LDM0NDU0LDM0NDgzLDM0NTEyLDM0NTQyLDM0NTcxLDM0NjAxLDM0NjMxLDM0NjYwLDM0NjkwLDM0NzE5LDM0NzQ5LDM0Nzc4LDM0ODA4LDM0ODM3LDM0ODY3LDM0ODk2LDM0OTI2LDM0OTU1LDM0OTg1LDM1MDE1LDM1MDQ0LDM1MDc0LDM1MTAzLDM1MTMzLDM1MTYyLDM1MTkyLDM1MjIyLDM1MjUxLDM1MjgwLDM1MzEwLDM1MzQwLDM1MzcwLDM1Mzk5LDM1NDI5LDM1NDU4LDM1NDg4LDM1NTE3LDM1NTQ3LDM1NTc2LDM1NjA1LDM1NjM1LDM1NjY1LDM1Njk0LDM1NzIzLDM1NzUzLDM1NzgyLDM1ODExLDM1ODQxLDM1ODcxLDM1OTAxLDM1OTMwLDM1OTYwLDM1OTg5LDM2MDE5LDM2MDQ4LDM2MDc4LDM2MTA3LDM2MTM2LDM2MTY2LDM2MTk1LDM2MjI1LDM2MjU0LDM2Mjg0LDM2MzE0LDM2MzQzLDM2MzczLDM2NDAzLDM2NDMzLDM2NDYyLDM2NDkyLDM2NTIxLDM2NTUxLDM2NTgwLDM2NjEwLDM2NjM5LDM2NjY5LDM2Njk4LDM2NzI4LDM2NzU3LDM2Nzg2LDM2ODE2LDM2ODQ1LDM2ODc1LDM2OTA0LDM2OTM0LDM2OTYzLDM2OTkzLDM3MDIyLDM3MDUyLDM3MDgxLDM3MTExLDM3MTQxLDM3MTcwLDM3MjAwLDM3MjI5LDM3MjU5LDM3Mjg4LDM3MzE4LDM3MzQ3LDM3Mzc3LDM3NDA2LDM3NDM2LDM3NDY1LDM3NDk1LDM3NTI0LDM3NTU0LDM3NTg0LDM3NjEzLDM3NjQzLDM3NjcyLDM3NzAxLDM3NzMxLDM3NzYwLDM3NzkwLDM3ODE5LDM3ODQ5LDM3ODc4LDM3OTA4LDM3OTM4LDM3OTY3LDM3OTk3LDM4MDI3LDM4MDU2LDM4MDg1LDM4MTE1LDM4MTQ0LDM4MTc0LDM4MjAzLDM4MjMzLDM4MjYyLDM4MjkyLDM4MzIyLDM4MzUxLDM4MzgxLDM4NDEwLDM4NDQwLDM4NDY5LDM4NDk5LDM4NTI4LDM4NTU4LDM4NTg3LDM4NjE3LDM4NjQ2LDM4Njc2LDM4NzA1LDM4NzM1LDM4NzY0LDM4Nzk0LDM4ODIzLDM4ODUzLDM4ODgyLDM4OTEyLDM4OTQxLDM4OTcxLDM5MDAxLDM5MDMwLDM5MDU5LDM5MDg5LDM5MTE4LDM5MTQ4LDM5MTc4LDM5MjA4LDM5MjM3LDM5MjY3LDM5Mjk3LDM5MzI2LDM5MzU1LDM5Mzg1LDM5NDE0LDM5NDQ0LDM5NDczLDM5NTAzLDM5NTMyLDM5NTYyLDM5NTkyLDM5NjIxLDM5NjUwLDM5NjgwLDM5NzA5LDM5NzM5LDM5NzY4LDM5Nzk4LDM5ODI3LDM5ODU3LDM5ODg2LDM5OTE2LDM5OTQ2LDM5OTc1LDQwMDA1LDQwMDM1LDQwMDY0LDQwMDk0LDQwMTIzLDQwMTUzLDQwMTgyLDQwMjEyLDQwMjQxLDQwMjcxLDQwMzAwLDQwMzMwLDQwMzU5LDQwMzg5LDQwNDE4LDQwNDQ4LDQwNDc3LDQwNTA3LDQwNTM2LDQwNTY2LDQwNTk1LDQwNjI1LDQwNjU1LDQwNjg1LDQwNzE0LDQwNzQ0LDQwNzczLDQwODAzLDQwODMyLDQwODYyLDQwODkyLDQwOTIxLDQwOTUxLDQwOTgwLDQxMDA5LDQxMDM5LDQxMDY4LDQxMDk4LDQxMTI3LDQxMTU3LDQxMTg2LDQxMjE2LDQxMjQ1LDQxMjc1LDQxMzA0LDQxMzM0LDQxMzY0LDQxMzkzLDQxNDIyLDQxNDUyLDQxNDgxLDQxNTExLDQxNTQwLDQxNTcwLDQxNTk5LDQxNjI5LDQxNjU4LDQxNjg4LDQxNzE4LDQxNzQ4LDQxNzc3LDQxODA3LDQxODM2LDQxODY1LDQxODk0LDQxOTI0LDQxOTUzLDQxOTgzLDQyMDEyLDQyMDQyLDQyMDcyLDQyMTAyLDQyMTMxLDQyMTYxLDQyMTkwLDQyMjIwLDQyMjQ5LDQyMjc5LDQyMzA4LDQyMzM3LDQyMzY3LDQyMzk3LDQyNDI2LDQyNDU2LDQyNDg1LDQyNTE1LDQyNTQ1LDQyNTc0LDQyNjA0LDQyNjMzLDQyNjYyLDQyNjkyLDQyNzIxLDQyNzUxLDQyNzgwLDQyODEwLDQyODM5LDQyODY5LDQyODk5LDQyOTI5LDQyOTU4LDQyOTg4LDQzMDE3LDQzMDQ2LDQzMDc2LDQzMTA1LDQzMTM1LDQzMTY0LDQzMTk0LDQzMjIzLDQzMjUzLDQzMjgzLDQzMzEyLDQzMzQyLDQzMzcxLDQzNDAxLDQzNDMwLDQzNDYwLDQzNDg5LDQzNTE5LDQzNTQ4LDQzNTc4LDQzNjA3LDQzNjM3LDQzNjY2LDQzNjk2LDQzNzI2LDQzNzU1LDQzNzg1LDQzODE0LDQzODQ0LDQzODczLDQzOTAzLDQzOTMyLDQzOTYyLDQzOTkxLDQ0MDIxLDQ0MDUwLDQ0MDgwLDQ0MTA5LDQ0MTM5LDQ0MTY5LDQ0MTk4LDQ0MjI4LDQ0MjU4LDQ0Mjg3LDQ0MzE3LDQ0MzQ2LDQ0Mzc1LDQ0NDA1LDQ0NDM0LDQ0NDY0LDQ0NDkzLDQ0NTIzLDQ0NTUzLDQ0NTgyLDQ0NjEyLDQ0NjQxLDQ0NjcxLDQ0NzAwLDQ0NzMwLDQ0NzU5LDQ0Nzg4LDQ0ODE4LDQ0ODQ3LDQ0ODc3LDQ0OTA2LDQ0OTM2LDQ0OTY2LDQ0OTk2LDQ1MDI1LDQ1MDU1LDQ1MDg0LDQ1MTE0LDQ1MTQzLDQ1MTcyLDQ1MjAyLDQ1MjMxLDQ1MjYxLDQ1MjkwLDQ1MzIwLDQ1MzUwLDQ1MzgwLDQ1NDA5LDQ1NDM5LDQ1NDY4LDQ1NDk4LDQ1NTI3LDQ1NTU2LDQ1NTg2LDQ1NjE1LDQ1NjQ0LDQ1Njc0LDQ1NzA0LDQ1NzMzLDQ1NzYzLDQ1NzkzLDQ1ODIzLDQ1ODUyLDQ1ODgyLDQ1OTExLDQ1OTQwLDQ1OTcwLDQ1OTk5LDQ2MDI4LDQ2MDU4LDQ2MDg4LDQ2MTE3LDQ2MTQ3LDQ2MTc3LDQ2MjA2LDQ2MjM2LDQ2MjY1LDQ2Mjk1LDQ2MzI0LDQ2MzU0LDQ2MzgzLDQ2NDEzLDQ2NDQyLDQ2NDcyLDQ2NTAxLDQ2NTMxLDQ2NTYwLDQ2NTkwLDQ2NjIwLDQ2NjQ5LDQ2Njc5LDQ2NzA4LDQ2NzM4LDQ2NzY3LDQ2Nzk3LDQ2ODI2LDQ2ODU2LDQ2ODg1LDQ2OTE1LDQ2OTQ0LDQ2OTc0LDQ3MDAzLDQ3MDMzLDQ3MDYzLDQ3MDkyLDQ3MTIyLDQ3MTUxLDQ3MTgxLDQ3MjEwLDQ3MjQwLDQ3MjY5LDQ3Mjk4LDQ3MzI4LDQ3MzU3LDQ3Mzg3LDQ3NDE3LDQ3NDQ2LDQ3NDc2LDQ3NTA2LDQ3NTM1LDQ3NTY1LDQ3NTk0LDQ3NjI0LDQ3NjUzLDQ3NjgyLDQ3NzEyLDQ3NzQxLDQ3NzcxLDQ3ODAwLDQ3ODMwLDQ3ODYwLDQ3ODkwLDQ3OTE5LDQ3OTQ5LDQ3OTc4LDQ4MDA4LDQ4MDM3LDQ4MDY2LDQ4MDk2LDQ4MTI1LDQ4MTU1LDQ4MTg0LDQ4MjE0LDQ4MjQ0LDQ4MjczLDQ4MzAzLDQ4MzMzLDQ4MzYyLDQ4MzkyLDQ4NDIxLDQ4NDUwLDQ4NDgwLDQ4NTA5LDQ4NTM4LDQ4NTY4LDQ4NTk4LDQ4NjI3LDQ4NjU3LDQ4Njg3LDQ4NzE3LDQ4NzQ2LDQ4Nzc2LDQ4ODA1LDQ4ODM0LDQ4ODY0LDQ4ODkzLDQ4OTIyLDQ4OTUyLDQ4OTgyLDQ5MDExLDQ5MDQxLDQ5MDcxLDQ5MTAwLDQ5MTMwLDQ5MTYwLDQ5MTg5LDQ5MjE4LDQ5MjQ4LDQ5Mjc3LDQ5MzA2LDQ5MzM2LDQ5MzY1LDQ5Mzk1LDQ5NDI1LDQ5NDU1LDQ5NDg0LDQ5NTE0LDQ5NTQzLDQ5NTczLDQ5NjAyLDQ5NjMyLDQ5NjYxLDQ5NjkwLDQ5NzIwLDQ5NzQ5LDQ5Nzc5LDQ5ODA5LDQ5ODM4LDQ5ODY4LDQ5ODk4LDQ5OTI3LDQ5OTU3LDQ5OTg2LDUwMDE2LDUwMDQ1LDUwMDc1LDUwMTA0LDUwMTMzLDUwMTYzLDUwMTkyLDUwMjIyLDUwMjUyLDUwMjgxLDUwMzExLDUwMzQwLDUwMzcwLDUwNDAwLDUwNDI5LDUwNDU5LDUwNDg4LDUwNTE4LDUwNTQ3LDUwNTc2LDUwNjA2LDUwNjM1LDUwNjY1LDUwNjk0LDUwNzI0LDUwNzU0LDUwNzg0LDUwODEzLDUwODQzLDUwODcyLDUwOTAyLDUwOTMxLDUwOTYwLDUwOTkwLDUxMDE5LDUxMDQ5LDUxMDc4LDUxMTA4LDUxMTM4LDUxMTY3LDUxMTk3LDUxMjI3LDUxMjU2LDUxMjg2LDUxMzE1LDUxMzQ1LDUxMzc0LDUxNDAzLDUxNDMzLDUxNDYyLDUxNDkyLDUxNTIyLDUxNTUyLDUxNTgyLDUxNjExLDUxNjQxLDUxNjcwLDUxNjk5LDUxNzI5LDUxNzU4LDUxNzg3LDUxODE2LDUxODQ2LDUxODc2LDUxOTA2LDUxOTM2LDUxOTY1LDUxOTk1LDUyMDI1LDUyMDU0LDUyMDgzLDUyMTEzLDUyMTQyLDUyMTcxLDUyMjAwLDUyMjMwLDUyMjYwLDUyMjkwLDUyMzE5LDUyMzQ5LDUyMzc5LDUyNDA4LDUyNDM4LDUyNDY3LDUyNDk3LDUyNTI2LDUyNTU1LDUyNTg1LDUyNjE0LDUyNjQ0LDUyNjczLDUyNzAzLDUyNzMzLDUyNzYyLDUyNzkyLDUyODIyLDUyODUxLDUyODgxLDUyOTEwLDUyOTM5LDUyOTY5LDUyOTk4LDUzMDI4LDUzMDU3LDUzMDg3LDUzMTE2LDUzMTQ2LDUzMTc2LDUzMjA1LDUzMjM1LDUzMjY0LDUzMjk0LDUzMzI0LDUzMzUzLDUzMzgzLDUzNDEyLDUzNDQxLDUzNDcxLDUzNTAwLDUzNTMwLDUzNTU5LDUzNTg5LDUzNjE5LDUzNjQ4LDUzNjc4LDUzNzA4LDUzNzM3LDUzNzY3LDUzNzk2LDUzODI1LDUzODU1LDUzODg0LDUzOTEzLDUzOTQzLDUzOTczLDU0MDAzLDU0MDMyLDU0MDYyLDU0MDkyLDU0MTIxLDU0MTUxLDU0MTgwLDU0MjA5LDU0MjM5LDU0MjY4LDU0Mjk3LDU0MzI3LDU0MzU3LDU0Mzg3LDU0NDE2LDU0NDQ2LDU0NDc2LDU0NTA1LDU0NTM1LDU0NTY0LDU0NTkzLDU0NjIzLDU0NjUyLDU0NjgxLDU0NzExLDU0NzQxLDU0NzcwLDU0ODAwLDU0ODMwLDU0ODU5LDU0ODg5LDU0OTE5LDU0OTQ4LDU0OTc3LDU1MDA3LDU1MDM2LDU1MDY2LDU1MDk1LDU1MTI1LDU1MTU0LDU1MTg0LDU1MjEzLDU1MjQzLDU1MjczLDU1MzAyLDU1MzMyLDU1MzYxLDU1MzkxLDU1NDIwLDU1NDUwLDU1NDc5LDU1NTA4LDU1NTM4LDU1NTY3LDU1NTk3LDU1NjI3LDU1NjU3LDU1Njg2LDU1NzE2LDU1NzQ1LDU1Nzc1LDU1ODA0LDU1ODM0LDU1ODYzLDU1ODkyLDU1OTIyLDU1OTUxLDU1OTgxLDU2MDExLDU2MDQwLDU2MDcwLDU2MTAwLDU2MTI5LDU2MTU5LDU2MTg4LDU2MjE4LDU2MjQ3LDU2Mjc2LDU2MzA2LDU2MzM1LDU2MzY1LDU2Mzk0LDU2NDI0LDU2NDU0LDU2NDgzLDU2NTEzLDU2NTQzLDU2NTcyLDU2NjAxLDU2NjMxLDU2NjYwLDU2NjkwLDU2NzE5LDU2NzQ5LDU2Nzc4LDU2ODA4LDU2ODM3LDU2ODY3LDU2ODk3LDU2OTI2LDU2OTU2LDU2OTg1LDU3MDE1LDU3MDQ0LDU3MDc0LDU3MTAzLDU3MTMzLDU3MTYyLDU3MTkyLDU3MjIxLDU3MjUxLDU3MjgwLDU3MzEwLDU3MzQwLDU3MzY5LDU3Mzk5LDU3NDI5LDU3NDU4LDU3NDg3LDU3NTE3LDU3NTQ2LDU3NTc2LDU3NjA1LDU3NjM0LDU3NjY0LDU3Njk0LDU3NzIzLDU3NzUzLDU3NzgzLDU3ODEzLDU3ODQyLDU3ODcxLDU3OTAxLDU3OTMwLDU3OTU5LDU3OTg5LDU4MDE4LDU4MDQ4LDU4MDc3LDU4MTA3LDU4MTM3LDU4MTY3LDU4MTk2LDU4MjI2LDU4MjU1LDU4Mjg1LDU4MzE0LDU4MzQzLDU4MzczLDU4NDAyLDU4NDMyLDU4NDYxLDU4NDkxLDU4NTIxLDU4NTUxLDU4NTgwLDU4NjEwLDU4NjM5LDU4NjY5LDU4Njk4LDU4NzI3LDU4NzU3LDU4Nzg2LDU4ODE2LDU4ODQ1LDU4ODc1LDU4OTA1LDU4OTM0LDU4OTY0LDU4OTk0LDU5MDIzLDU5MDUzLDU5MDgyLDU5MTExLDU5MTQxLDU5MTcwLDU5MjAwLDU5MjI5LDU5MjU5LDU5Mjg4LDU5MzE4LDU5MzQ4LDU5Mzc3LDU5NDA3LDU5NDM2LDU5NDY2LDU5NDk1LDU5NTI1LDU5NTU0LDU5NTg0LDU5NjEzLDU5NjQzLDU5NjcyLDU5NzAyLDU5NzMxLDU5NzYxLDU5NzkxLDU5ODIwLDU5ODUwLDU5ODc5LDU5OTA5LDU5OTM5LDU5OTY4LDU5OTk3LDYwMDI3LDYwMDU2LDYwMDg2LDYwMTE1LDYwMTQ1LDYwMTc0LDYwMjA0LDYwMjM0LDYwMjY0LDYwMjkzLDYwMzIzLDYwMzUyLDYwMzgxLDYwNDExLDYwNDQwLDYwNDY5LDYwNDk5LDYwNTI4LDYwNTU4LDYwNTg4LDYwNjE4LDYwNjQ4LDYwNjc3LDYwNzA3LDYwNzM2LDYwNzY1LDYwNzk1LDYwODI0LDYwODUzLDYwODgzLDYwOTEyLDYwOTQyLDYwOTcyLDYxMDAyLDYxMDMxLDYxMDYxLDYxMDkwLDYxMTIwLDYxMTQ5LDYxMTc5LDYxMjA4LDYxMjM3LDYxMjY3LDYxMjk2LDYxMzI2LDYxMzU2LDYxMzg1LDYxNDE1LDYxNDQ1LDYxNDc0LDYxNTA0LDYxNTMzLDYxNTYzLDYxNTkyLDYxNjIxLDYxNjUxLDYxNjgwLDYxNzEwLDYxNzM5LDYxNzY5LDYxNzk5LDYxODI4LDYxODU4LDYxODg4LDYxOTE3LDYxOTQ3LDYxOTc2LDYyMDA2LDYyMDM1LDYyMDY0LDYyMDk0LDYyMTIzLDYyMTUzLDYyMTgyLDYyMjEyLDYyMjQyLDYyMjcxLDYyMzAxLDYyMzMxLDYyMzYwLDYyMzkwLDYyNDE5LDYyNDQ4LDYyNDc4LDYyNTA3LDYyNTM3LDYyNTY2LDYyNTk2LDYyNjI1LDYyNjU1LDYyNjg1LDYyNzE1LDYyNzQ0LDYyNzc0LDYyODAzLDYyODMyLDYyODYyLDYyODkxLDYyOTIxLDYyOTUwLDYyOTgwLDYzMDA5LDYzMDM5LDYzMDY5LDYzMDk5LDYzMTI4LDYzMTU3LDYzMTg3LDYzMjE2LDYzMjQ2LDYzMjc1LDYzMzA1LDYzMzM0LDYzMzYzLDYzMzkzLDYzNDIzLDYzNDUzLDYzNDgyLDYzNTEyLDYzNTQxLDYzNTcxLDYzNjAwLDYzNjMwLDYzNjU5LDYzNjg5LDYzNzE4LDYzNzQ3LDYzNzc3LDYzODA3LDYzODM2LDYzODY2LDYzODk1LDYzOTI1LDYzOTU1LDYzOTg0LDY0MDE0LDY0MDQzLDY0MDczLDY0MTAyLDY0MTMxLDY0MTYxLDY0MTkwLDY0MjIwLDY0MjQ5LDY0Mjc5LDY0MzA5LDY0MzM5LDY0MzY4LDY0Mzk4LDY0NDI3LDY0NDU3LDY0NDg2LDY0NTE1LDY0NTQ1LDY0NTc0LDY0NjAzLDY0NjMzLDY0NjYzLDY0NjkyLDY0NzIyLDY0NzUyLDY0NzgyLDY0ODExLDY0ODQxLDY0ODcwLDY0ODk5LDY0OTI5LDY0OTU4LDY0OTg3LDY1MDE3LDY1MDQ3LDY1MDc2LDY1MTA2LDY1MTM2LDY1MTY2LDY1MTk1LDY1MjI1LDY1MjU0LDY1MjgzLDY1MzEzLDY1MzQyLDY1MzcxLDY1NDAxLDY1NDMxLDY1NDYwLDY1NDkwLDY1NTIwLDY1NTQ5LDY1NTc5LDY1NjA4LDY1NjM4LDY1NjY3LDY1Njk3LDY1NzI2LDY1NzU1LDY1Nzg1LDY1ODE1LDY1ODQ0LDY1ODc0LDY1OTAzLDY1OTMzLDY1OTYzLDY1OTkyLDY2MDIyLDY2MDUxLDY2MDgxLDY2MTEwLDY2MTQwLDY2MTY5LDY2MTk5LDY2MjI4LDY2MjU4LDY2Mjg3LDY2MzE3LDY2MzQ2LDY2Mzc2LDY2NDA1LDY2NDM1LDY2NDY1LDY2NDk0LDY2NTI0LDY2NTUzLDY2NTgzLDY2NjEyLDY2NjQxLDY2NjcxLDY2NzAwLDY2NzMwLDY2NzYwLDY2Nzg5LDY2ODE5LDY2ODQ5LDY2ODc4LDY2OTA4LDY2OTM3LDY2OTY3LDY2OTk2LDY3MDI1LDY3MDU1LDY3MDg0LDY3MTE0LDY3MTQzLDY3MTczLDY3MjAzLDY3MjMzLDY3MjYyLDY3MjkyLDY3MzIxLDY3MzUxLDY3MzgwLDY3NDA5LDY3NDM5LDY3NDY4LDY3NDk3LDY3NTI3LDY3NTU3LDY3NTg3LDY3NjE3LDY3NjQ2LDY3Njc2LDY3NzA1LDY3NzM1LDY3NzY0LDY3NzkzLDY3ODIzLDY3ODUyLDY3ODgyLDY3OTExLDY3OTQxLDY3OTcxLDY4ZTMsNjgwMzAsNjgwNjAsNjgwODksNjgxMTksNjgxNDgsNjgxNzcsNjgyMDcsNjgyMzYsNjgyNjYsNjgyOTUsNjgzMjUsNjgzNTQsNjgzODQsNjg0MTQsNjg0NDMsNjg0NzMsNjg1MDIsNjg1MzIsNjg1NjEsNjg1OTEsNjg2MjAsNjg2NTAsNjg2NzksNjg3MDgsNjg3MzgsNjg3NjgsNjg3OTcsNjg4MjcsNjg4NTcsNjg4ODYsNjg5MTYsNjg5NDYsNjg5NzUsNjkwMDQsNjkwMzQsNjkwNjMsNjkwOTIsNjkxMjIsNjkxNTIsNjkxODEsNjkyMTEsNjkyNDAsNjkyNzAsNjkzMDAsNjkzMzAsNjkzNTksNjkzODgsNjk0MTgsNjk0NDcsNjk0NzYsNjk1MDYsNjk1MzUsNjk1NjUsNjk1OTUsNjk2MjQsNjk2NTQsNjk2ODQsNjk3MTMsNjk3NDMsNjk3NzIsNjk4MDIsNjk4MzEsNjk4NjEsNjk4OTAsNjk5MTksNjk5NDksNjk5NzgsNzAwMDgsNzAwMzgsNzAwNjcsNzAwOTcsNzAxMjYsNzAxNTYsNzAxODYsNzAyMTUsNzAyNDUsNzAyNzQsNzAzMDMsNzAzMzMsNzAzNjIsNzAzOTIsNzA0MjEsNzA0NTEsNzA0ODEsNzA1MTAsNzA1NDAsNzA1NzAsNzA1OTksNzA2MjksNzA2NTgsNzA2ODcsNzA3MTcsNzA3NDYsNzA3NzYsNzA4MDUsNzA4MzUsNzA4NjQsNzA4OTQsNzA5MjQsNzA5NTQsNzA5ODMsNzEwMTMsNzEwNDIsNzEwNzEsNzExMDEsNzExMzAsNzExNTksNzExODksNzEyMTgsNzEyNDgsNzEyNzgsNzEzMDgsNzEzMzcsNzEzNjcsNzEzOTcsNzE0MjYsNzE0NTUsNzE0ODUsNzE1MTQsNzE1NDMsNzE1NzMsNzE2MDIsNzE2MzIsNzE2NjIsNzE2OTEsNzE3MjEsNzE3NTEsNzE3ODEsNzE4MTAsNzE4MzksNzE4NjksNzE4OTgsNzE5MjcsNzE5NTcsNzE5ODYsNzIwMTYsNzIwNDYsNzIwNzUsNzIxMDUsNzIxMzUsNzIxNjQsNzIxOTQsNzIyMjMsNzIyNTMsNzIyODIsNzIzMTEsNzIzNDEsNzIzNzAsNzI0MDAsNzI0MjksNzI0NTksNzI0ODksNzI1MTgsNzI1NDgsNzI1NzcsNzI2MDcsNzI2MzcsNzI2NjYsNzI2OTUsNzI3MjUsNzI3NTQsNzI3ODQsNzI4MTMsNzI4NDMsNzI4NzIsNzI5MDIsNzI5MzEsNzI5NjEsNzI5OTEsNzMwMjAsNzMwNTAsNzMwODAsNzMxMDksNzMxMzksNzMxNjgsNzMxOTcsNzMyMjcsNzMyNTYsNzMyODYsNzMzMTUsNzMzNDUsNzMzNzUsNzM0MDQsNzM0MzQsNzM0NjQsNzM0OTMsNzM1MjMsNzM1NTIsNzM1ODEsNzM2MTEsNzM2NDAsNzM2NjksNzM2OTksNzM3MjksNzM3NTgsNzM3ODgsNzM4MTgsNzM4NDgsNzM4NzcsNzM5MDcsNzM5MzYsNzM5NjUsNzM5OTUsNzQwMjQsNzQwNTMsNzQwODMsNzQxMTMsNzQxNDIsNzQxNzIsNzQyMDIsNzQyMzEsNzQyNjEsNzQyOTEsNzQzMjAsNzQzNDksNzQzNzksNzQ0MDgsNzQ0MzcsNzQ0NjcsNzQ0OTcsNzQ1MjYsNzQ1NTYsNzQ1ODYsNzQ2MTUsNzQ2NDUsNzQ2NzUsNzQ3MDQsNzQ3MzMsNzQ3NjMsNzQ3OTIsNzQ4MjIsNzQ4NTEsNzQ4ODEsNzQ5MTAsNzQ5NDAsNzQ5NjksNzQ5OTksNzUwMjksNzUwNTgsNzUwODgsNzUxMTcsNzUxNDcsNzUxNzYsNzUyMDYsNzUyMzUsNzUyNjQsNzUyOTQsNzUzMjMsNzUzNTMsNzUzODMsNzU0MTIsNzU0NDIsNzU0NzIsNzU1MDEsNzU1MzEsNzU1NjAsNzU1OTAsNzU2MTksNzU2NDgsNzU2NzgsNzU3MDcsNzU3MzcsNzU3NjYsNzU3OTYsNzU4MjYsNzU4NTYsNzU4ODUsNzU5MTUsNzU5NDQsNzU5NzQsNzYwMDMsNzYwMzIsNzYwNjIsNzYwOTEsNzYxMjEsNzYxNTAsNzYxODAsNzYyMTAsNzYyMzksNzYyNjksNzYyOTksNzYzMjgsNzYzNTgsNzYzODcsNzY0MTYsNzY0NDYsNzY0NzUsNzY1MDUsNzY1MzQsNzY1NjQsNzY1OTMsNzY2MjMsNzY2NTMsNzY2ODIsNzY3MTIsNzY3NDEsNzY3NzEsNzY4MDEsNzY4MzAsNzY4NTksNzY4ODksNzY5MTgsNzY5NDgsNzY5NzcsNzcwMDcsNzcwMzYsNzcwNjYsNzcwOTYsNzcxMjUsNzcxNTUsNzcxODUsNzcyMTQsNzcyNDMsNzcyNzMsNzczMDIsNzczMzIsNzczNjEsNzczOTAsNzc0MjAsNzc0NTAsNzc0NzksNzc1MDksNzc1MzksNzc1NjksNzc1OTgsNzc2MjcsNzc2NTcsNzc2ODYsNzc3MTUsNzc3NDUsNzc3NzQsNzc4MDQsNzc4MzMsNzc4NjMsNzc4OTMsNzc5MjMsNzc5NTIsNzc5ODIsNzgwMTEsNzgwNDEsNzgwNzAsNzgwOTksNzgxMjksNzgxNTgsNzgxODgsNzgyMTcsNzgyNDcsNzgyNzcsNzgzMDcsNzgzMzYsNzgzNjYsNzgzOTUsNzg0MjUsNzg0NTQsNzg0ODMsNzg1MTMsNzg1NDIsNzg1NzIsNzg2MDEsNzg2MzEsNzg2NjEsNzg2OTAsNzg3MjAsNzg3NTAsNzg3NzksNzg4MDgsNzg4MzgsNzg4NjcsNzg4OTcsNzg5MjYsNzg5NTYsNzg5ODUsNzkwMTUsNzkwNDQsNzkwNzQsNzkxMDQsNzkxMzMsNzkxNjMsNzkxOTIsNzkyMjIsNzkyNTEsNzkyODEsNzkzMTAsNzkzNDAsNzkzNjksNzkzOTksNzk0MjgsNzk0NTgsNzk0ODcsNzk1MTcsNzk1NDYsNzk1NzYsNzk2MDYsNzk2MzUsNzk2NjUsNzk2OTUsNzk3MjQsNzk3NTMsNzk3ODMsNzk4MTIsNzk4NDEsNzk4NzEsNzk5MDAsNzk5MzAsNzk5NjAsNzk5OTBdfSx7Ii4uL21haW4iOjU3MCwib2JqZWN0LWFzc2lnbiI6NDU2fV0sNTcwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgib2JqZWN0LWFzc2lnbiIpO2Z1bmN0aW9uIGEoKXt0aGlzLnJlZ2lvbmFsT3B0aW9ucz1bXSx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl09e2ludmFsaWRDYWxlbmRhcjoiQ2FsZW5kYXIgezB9IG5vdCBmb3VuZCIsaW52YWxpZERhdGU6IkludmFsaWQgezB9IGRhdGUiLGludmFsaWRNb250aDoiSW52YWxpZCB7MH0gbW9udGgiLGludmFsaWRZZWFyOiJJbnZhbGlkIHswfSB5ZWFyIixkaWZmZXJlbnRDYWxlbmRhcnM6IkNhbm5vdCBtaXggezB9IGFuZCB7MX0gZGF0ZXMifSx0aGlzLmxvY2FsPXRoaXMucmVnaW9uYWxPcHRpb25zWyIiXSx0aGlzLmNhbGVuZGFycz17fSx0aGlzLl9sb2NhbENhbHM9e319ZnVuY3Rpb24gaSh0LGUscixuKXtpZih0aGlzLl9jYWxlbmRhcj10LHRoaXMuX3llYXI9ZSx0aGlzLl9tb250aD1yLHRoaXMuX2RheT1uLDA9PT10aGlzLl9jYWxlbmRhci5fdmFsaWRhdGVMZXZlbCYmIXRoaXMuX2NhbGVuZGFyLmlzVmFsaWQodGhpcy5feWVhcix0aGlzLl9tb250aCx0aGlzLl9kYXkpKXRocm93KGMubG9jYWwuaW52YWxpZERhdGV8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkRGF0ZSkucmVwbGFjZSgvXHswXH0vLHRoaXMuX2NhbGVuZGFyLmxvY2FsLm5hbWUpfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4iMDAwMDAwIi5zdWJzdHJpbmcoMCxlLSh0PSIiK3QpLmxlbmd0aCkrdH1mdW5jdGlvbiBzKCl7dGhpcy5zaG9ydFllYXJDdXRvZmY9IisxMCJ9ZnVuY3Rpb24gbCh0KXt0aGlzLmxvY2FsPXRoaXMucmVnaW9uYWxPcHRpb25zW3RdfHx0aGlzLnJlZ2lvbmFsT3B0aW9uc1siIl19bihhLnByb3RvdHlwZSx7aW5zdGFuY2U6ZnVuY3Rpb24odCxlKXt0PSh0fHwiZ3JlZ29yaWFuIikudG9Mb3dlckNhc2UoKSxlPWV8fCIiO3ZhciByPXRoaXMuX2xvY2FsQ2Fsc1t0KyItIitlXTtpZighciYmdGhpcy5jYWxlbmRhcnNbdF0mJihyPW5ldyB0aGlzLmNhbGVuZGFyc1t0XShlKSx0aGlzLl9sb2NhbENhbHNbdCsiLSIrZV09ciksIXIpdGhyb3codGhpcy5sb2NhbC5pbnZhbGlkQ2FsZW5kYXJ8fHRoaXMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkQ2FsZW5kYXIpLnJlcGxhY2UoL1x7MFx9Lyx0KTtyZXR1cm4gcn0sbmV3RGF0ZTpmdW5jdGlvbih0LGUscixuLGEpe3JldHVybihuPShudWxsIT10JiZ0LnllYXI/dC5jYWxlbmRhcigpOiJzdHJpbmciPT10eXBlb2Ygbj90aGlzLmluc3RhbmNlKG4sYSk6bil8fHRoaXMuaW5zdGFuY2UoKSkubmV3RGF0ZSh0LGUscil9LHN1YnN0aXR1dGVEaWdpdHM6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybihlKyIiKS5yZXBsYWNlKC9bMC05XS9nLGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSl9fSxzdWJzdGl0dXRlQ2hpbmVzZURpZ2l0czpmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihyKXtmb3IodmFyIG49IiIsYT0wO3I+MDspe3ZhciBpPXIlMTA7bj0oMD09PWk/IiI6dFtpXStlW2FdKStuLGErKyxyPU1hdGguZmxvb3Ioci8xMCl9cmV0dXJuIDA9PT1uLmluZGV4T2YodFsxXStlWzFdKSYmKG49bi5zdWJzdHIoMSkpLG58fHRbMF19fX0pLG4oaS5wcm90b3R5cGUse25ld0RhdGU6ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl9jYWxlbmRhci5uZXdEYXRlKG51bGw9PXQ/dGhpczp0LGUscil9LHllYXI6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX3llYXI6dGhpcy5zZXQodCwieSIpfSxtb250aDpmdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fbW9udGg6dGhpcy5zZXQodCwibSIpfSxkYXk6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX2RheTp0aGlzLnNldCh0LCJkIil9LGRhdGU6ZnVuY3Rpb24odCxlLHIpe2lmKCF0aGlzLl9jYWxlbmRhci5pc1ZhbGlkKHQsZSxyKSl0aHJvdyhjLmxvY2FsLmludmFsaWREYXRlfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZERhdGUpLnJlcGxhY2UoL1x7MFx9Lyx0aGlzLl9jYWxlbmRhci5sb2NhbC5uYW1lKTtyZXR1cm4gdGhpcy5feWVhcj10LHRoaXMuX21vbnRoPWUsdGhpcy5fZGF5PXIsdGhpc30sbGVhcFllYXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FsZW5kYXIubGVhcFllYXIodGhpcyl9LGVwb2NoOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmVwb2NoKHRoaXMpfSxmb3JtYXRZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmZvcm1hdFllYXIodGhpcyl9LG1vbnRoT2ZZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLm1vbnRoT2ZZZWFyKHRoaXMpfSx3ZWVrT2ZZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLndlZWtPZlllYXIodGhpcyl9LGRheXNJblllYXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FsZW5kYXIuZGF5c0luWWVhcih0aGlzKX0sZGF5T2ZZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmRheU9mWWVhcih0aGlzKX0sZGF5c0luTW9udGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FsZW5kYXIuZGF5c0luTW9udGgodGhpcyl9LGRheU9mV2VlazpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYWxlbmRhci5kYXlPZldlZWsodGhpcyl9LHdlZWtEYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FsZW5kYXIud2Vla0RheSh0aGlzKX0sZXh0cmFJbmZvOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmV4dHJhSW5mbyh0aGlzKX0sYWRkOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmFkZCh0aGlzLHQsZSl9LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9jYWxlbmRhci5zZXQodGhpcyx0LGUpfSxjb21wYXJlVG86ZnVuY3Rpb24odCl7aWYodGhpcy5fY2FsZW5kYXIubmFtZSE9PXQuX2NhbGVuZGFyLm5hbWUpdGhyb3coYy5sb2NhbC5kaWZmZXJlbnRDYWxlbmRhcnN8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5kaWZmZXJlbnRDYWxlbmRhcnMpLnJlcGxhY2UoL1x7MFx9Lyx0aGlzLl9jYWxlbmRhci5sb2NhbC5uYW1lKS5yZXBsYWNlKC9cezFcfS8sdC5fY2FsZW5kYXIubG9jYWwubmFtZSk7dmFyIGU9dGhpcy5feWVhciE9PXQuX3llYXI/dGhpcy5feWVhci10Ll95ZWFyOnRoaXMuX21vbnRoIT09dC5fbW9udGg/dGhpcy5tb250aE9mWWVhcigpLXQubW9udGhPZlllYXIoKTp0aGlzLl9kYXktdC5fZGF5O3JldHVybiAwPT09ZT8wOmU8MD8tMToxfSxjYWxlbmRhcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYWxlbmRhcn0sdG9KRDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYWxlbmRhci50b0pEKHRoaXMpfSxmcm9tSkQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmZyb21KRCh0KX0sdG9KU0RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FsZW5kYXIudG9KU0RhdGUodGhpcyl9LGZyb21KU0RhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyLmZyb21KU0RhdGUodCl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMueWVhcigpPDA/Ii0iOiIiKStvKE1hdGguYWJzKHRoaXMueWVhcigpKSw0KSsiLSIrbyh0aGlzLm1vbnRoKCksMikrIi0iK28odGhpcy5kYXkoKSwyKX19KSxuKHMucHJvdG90eXBlLHtfdmFsaWRhdGVMZXZlbDowLG5ld0RhdGU6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBudWxsPT10P3RoaXMudG9kYXkoKToodC55ZWFyJiYodGhpcy5fdmFsaWRhdGUodCxlLHIsYy5sb2NhbC5pbnZhbGlkRGF0ZXx8Yy5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWREYXRlKSxyPXQuZGF5KCksZT10Lm1vbnRoKCksdD10LnllYXIoKSksbmV3IGkodGhpcyx0LGUscikpfSx0b2RheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZyb21KU0RhdGUobmV3IERhdGUpfSxlcG9jaDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LGMubG9jYWwuaW52YWxpZFllYXJ8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkWWVhcikueWVhcigpPDA/dGhpcy5sb2NhbC5lcG9jaHNbMF06dGhpcy5sb2NhbC5lcG9jaHNbMV19LGZvcm1hdFllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LGMubG9jYWwuaW52YWxpZFllYXJ8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkWWVhcik7cmV0dXJuKGUueWVhcigpPDA/Ii0iOiIiKStvKE1hdGguYWJzKGUueWVhcigpKSw0KX0sbW9udGhzSW5ZZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksYy5sb2NhbC5pbnZhbGlkWWVhcnx8Yy5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWRZZWFyKSwxMn0sbW9udGhPZlllYXI6ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl92YWxpZGF0ZSh0LGUsdGhpcy5taW5EYXksYy5sb2NhbC5pbnZhbGlkTW9udGh8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkTW9udGgpO3JldHVybihyLm1vbnRoKCkrdGhpcy5tb250aHNJblllYXIociktdGhpcy5maXJzdE1vbnRoKSV0aGlzLm1vbnRoc0luWWVhcihyKSt0aGlzLm1pbk1vbnRofSxmcm9tTW9udGhPZlllYXI6ZnVuY3Rpb24odCxlKXt2YXIgcj0oZSt0aGlzLmZpcnN0TW9udGgtMip0aGlzLm1pbk1vbnRoKSV0aGlzLm1vbnRoc0luWWVhcih0KSt0aGlzLm1pbk1vbnRoO3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHIsdGhpcy5taW5EYXksYy5sb2NhbC5pbnZhbGlkTW9udGh8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkTW9udGgpLHJ9LGRheXNJblllYXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsaWRhdGUodCx0aGlzLm1pbk1vbnRoLHRoaXMubWluRGF5LGMubG9jYWwuaW52YWxpZFllYXJ8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkWWVhcik7cmV0dXJuIHRoaXMubGVhcFllYXIoZSk/MzY2OjM2NX0sZGF5T2ZZZWFyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLl92YWxpZGF0ZSh0LGUscixjLmxvY2FsLmludmFsaWREYXRlfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZERhdGUpO3JldHVybiBuLnRvSkQoKS10aGlzLm5ld0RhdGUobi55ZWFyKCksdGhpcy5mcm9tTW9udGhPZlllYXIobi55ZWFyKCksdGhpcy5taW5Nb250aCksdGhpcy5taW5EYXkpLnRvSkQoKSsxfSxkYXlzSW5XZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIDd9LGRheU9mV2VlazpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5fdmFsaWRhdGUodCxlLHIsYy5sb2NhbC5pbnZhbGlkRGF0ZXx8Yy5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWREYXRlKTtyZXR1cm4oTWF0aC5mbG9vcih0aGlzLnRvSkQobikpKzIpJXRoaXMuZGF5c0luV2VlaygpfSxleHRyYUluZm86ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LGUscixjLmxvY2FsLmludmFsaWREYXRlfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZERhdGUpLHt9fSxhZGQ6ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksYy5sb2NhbC5pbnZhbGlkRGF0ZXx8Yy5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWREYXRlKSx0aGlzLl9jb3JyZWN0QWRkKHQsdGhpcy5fYWRkKHQsZSxyKSxlLHIpfSxfYWRkOmZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLl92YWxpZGF0ZUxldmVsKyssImQiPT09cnx8InciPT09cil7dmFyIG49dC50b0pEKCkrZSooInciPT09cj90aGlzLmRheXNJbldlZWsoKToxKSxhPXQuY2FsZW5kYXIoKS5mcm9tSkQobik7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlTGV2ZWwtLSxbYS55ZWFyKCksYS5tb250aCgpLGEuZGF5KCldfXRyeXt2YXIgaT10LnllYXIoKSsoInkiPT09cj9lOjApLG89dC5tb250aE9mWWVhcigpKygibSI9PT1yP2U6MCk7YT10LmRheSgpOyJ5Ij09PXI/KHQubW9udGgoKSE9PXRoaXMuZnJvbU1vbnRoT2ZZZWFyKGksbykmJihvPXRoaXMubmV3RGF0ZShpLHQubW9udGgoKSx0aGlzLm1pbkRheSkubW9udGhPZlllYXIoKSksbz1NYXRoLm1pbihvLHRoaXMubW9udGhzSW5ZZWFyKGkpKSxhPU1hdGgubWluKGEsdGhpcy5kYXlzSW5Nb250aChpLHRoaXMuZnJvbU1vbnRoT2ZZZWFyKGksbykpKSk6Im0iPT09ciYmKCFmdW5jdGlvbih0KXtmb3IoO288dC5taW5Nb250aDspaS0tLG8rPXQubW9udGhzSW5ZZWFyKGkpO2Zvcih2YXIgZT10Lm1vbnRoc0luWWVhcihpKTtvPmUtMSt0Lm1pbk1vbnRoOylpKyssby09ZSxlPXQubW9udGhzSW5ZZWFyKGkpfSh0aGlzKSxhPU1hdGgubWluKGEsdGhpcy5kYXlzSW5Nb250aChpLHRoaXMuZnJvbU1vbnRoT2ZZZWFyKGksbykpKSk7dmFyIHM9W2ksdGhpcy5mcm9tTW9udGhPZlllYXIoaSxvKSxhXTtyZXR1cm4gdGhpcy5fdmFsaWRhdGVMZXZlbC0tLHN9Y2F0Y2godCl7dGhyb3cgdGhpcy5fdmFsaWRhdGVMZXZlbC0tLHR9fSxfY29ycmVjdEFkZDpmdW5jdGlvbih0LGUscixuKXtpZighKHRoaXMuaGFzWWVhclplcm98fCJ5IiE9PW4mJiJtIiE9PW58fDAhPT1lWzBdJiZ0LnllYXIoKT4wPT1lWzBdPjApKXt2YXIgYT17eTpbMSwxLCJ5Il0sbTpbMSx0aGlzLm1vbnRoc0luWWVhcigtMSksIm0iXSx3Olt0aGlzLmRheXNJbldlZWsoKSx0aGlzLmRheXNJblllYXIoLTEpLCJkIl0sZDpbMSx0aGlzLmRheXNJblllYXIoLTEpLCJkIl19W25dLGk9cjwwPy0xOjE7ZT10aGlzLl9hZGQodCxyKmFbMF0raSphWzFdLGFbMl0pfXJldHVybiB0LmRhdGUoZVswXSxlWzFdLGVbMl0pfSxzZXQ6ZnVuY3Rpb24odCxlLHIpe3RoaXMuX3ZhbGlkYXRlKHQsdGhpcy5taW5Nb250aCx0aGlzLm1pbkRheSxjLmxvY2FsLmludmFsaWREYXRlfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZERhdGUpO3ZhciBuPSJ5Ij09PXI/ZTp0LnllYXIoKSxhPSJtIj09PXI/ZTp0Lm1vbnRoKCksaT0iZCI9PT1yP2U6dC5kYXkoKTtyZXR1cm4ieSIhPT1yJiYibSIhPT1yfHwoaT1NYXRoLm1pbihpLHRoaXMuZGF5c0luTW9udGgobixhKSkpLHQuZGF0ZShuLGEsaSl9LGlzVmFsaWQ6ZnVuY3Rpb24odCxlLHIpe3RoaXMuX3ZhbGlkYXRlTGV2ZWwrKzt2YXIgbj10aGlzLmhhc1llYXJaZXJvfHwwIT09dDtpZihuKXt2YXIgYT10aGlzLm5ld0RhdGUodCxlLHRoaXMubWluRGF5KTtuPWU+PXRoaXMubWluTW9udGgmJmUtdGhpcy5taW5Nb250aDx0aGlzLm1vbnRoc0luWWVhcihhKSYmcj49dGhpcy5taW5EYXkmJnItdGhpcy5taW5EYXk8dGhpcy5kYXlzSW5Nb250aChhKX1yZXR1cm4gdGhpcy5fdmFsaWRhdGVMZXZlbC0tLG59LHRvSlNEYXRlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLl92YWxpZGF0ZSh0LGUscixjLmxvY2FsLmludmFsaWREYXRlfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZERhdGUpO3JldHVybiBjLmluc3RhbmNlKCkuZnJvbUpEKHRoaXMudG9KRChuKSkudG9KU0RhdGUoKX0sZnJvbUpTRGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5mcm9tSkQoYy5pbnN0YW5jZSgpLmZyb21KU0RhdGUodCkudG9KRCgpKX0sX3ZhbGlkYXRlOmZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQueWVhcil7aWYoMD09PXRoaXMuX3ZhbGlkYXRlTGV2ZWwmJnRoaXMubmFtZSE9PXQuY2FsZW5kYXIoKS5uYW1lKXRocm93KGMubG9jYWwuZGlmZmVyZW50Q2FsZW5kYXJzfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uZGlmZmVyZW50Q2FsZW5kYXJzKS5yZXBsYWNlKC9cezBcfS8sdGhpcy5sb2NhbC5uYW1lKS5yZXBsYWNlKC9cezFcfS8sdC5jYWxlbmRhcigpLmxvY2FsLm5hbWUpO3JldHVybiB0fXRyeXtpZih0aGlzLl92YWxpZGF0ZUxldmVsKyssMT09PXRoaXMuX3ZhbGlkYXRlTGV2ZWwmJiF0aGlzLmlzVmFsaWQodCxlLHIpKXRocm93IG4ucmVwbGFjZSgvXHswXH0vLHRoaXMubG9jYWwubmFtZSk7dmFyIGE9dGhpcy5uZXdEYXRlKHQsZSxyKTtyZXR1cm4gdGhpcy5fdmFsaWRhdGVMZXZlbC0tLGF9Y2F0Y2godCl7dGhyb3cgdGhpcy5fdmFsaWRhdGVMZXZlbC0tLHR9fX0pLGwucHJvdG90eXBlPW5ldyBzLG4obC5wcm90b3R5cGUse25hbWU6IkdyZWdvcmlhbiIsamRFcG9jaDoxNzIxNDI1LjUsZGF5c1Blck1vbnRoOlszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0saGFzWWVhclplcm86ITEsbWluTW9udGg6MSxmaXJzdE1vbnRoOjEsbWluRGF5OjEscmVnaW9uYWxPcHRpb25zOnsiIjp7bmFtZToiR3JlZ29yaWFuIixlcG9jaHM6WyJCQ0UiLCJDRSJdLG1vbnRoTmFtZXM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLG1vbnRoTmFtZXNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLGRheU5hbWVzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxkYXlOYW1lc1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5TmFtZXNNaW46WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGRpZ2l0czpudWxsLGRhdGVGb3JtYXQ6Im1tL2RkL3l5eXkiLGZpcnN0RGF5OjAsaXNSVEw6ITF9fSxsZWFwWWVhcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl92YWxpZGF0ZSh0LHRoaXMubWluTW9udGgsdGhpcy5taW5EYXksYy5sb2NhbC5pbnZhbGlkWWVhcnx8Yy5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWRZZWFyKTtyZXR1cm4odD1lLnllYXIoKSsoZS55ZWFyKCk8MD8xOjApKSU0PT0wJiYodCUxMDAhPTB8fHQlNDAwPT0wKX0sd2Vla09mWWVhcjpmdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5uZXdEYXRlKHQsZSxyKTtyZXR1cm4gbi5hZGQoNC0obi5kYXlPZldlZWsoKXx8NyksImQiKSxNYXRoLmZsb29yKChuLmRheU9mWWVhcigpLTEpLzcpKzF9LGRheXNJbk1vbnRoOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fdmFsaWRhdGUodCxlLHRoaXMubWluRGF5LGMubG9jYWwuaW52YWxpZE1vbnRofHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZE1vbnRoKTtyZXR1cm4gdGhpcy5kYXlzUGVyTW9udGhbci5tb250aCgpLTFdKygyPT09ci5tb250aCgpJiZ0aGlzLmxlYXBZZWFyKHIueWVhcigpKT8xOjApfSx3ZWVrRGF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odGhpcy5kYXlPZldlZWsodCxlLHIpfHw3KTw2fSx0b0pEOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLl92YWxpZGF0ZSh0LGUscixjLmxvY2FsLmludmFsaWREYXRlfHxjLnJlZ2lvbmFsT3B0aW9uc1siIl0uaW52YWxpZERhdGUpO3Q9bi55ZWFyKCksZT1uLm1vbnRoKCkscj1uLmRheSgpLHQ8MCYmdCsrLGU8MyYmKGUrPTEyLHQtLSk7dmFyIGE9TWF0aC5mbG9vcih0LzEwMCksaT0yLWErTWF0aC5mbG9vcihhLzQpO3JldHVybiBNYXRoLmZsb29yKDM2NS4yNSoodCs0NzE2KSkrTWF0aC5mbG9vcigzMC42MDAxKihlKzEpKStyK2ktMTUyNC41fSxmcm9tSkQ6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5mbG9vcih0Ky41KSxyPU1hdGguZmxvb3IoKGUtMTg2NzIxNi4yNSkvMzY1MjQuMjUpLG49KHI9ZSsxK3ItTWF0aC5mbG9vcihyLzQpKSsxNTI0LGE9TWF0aC5mbG9vcigobi0xMjIuMSkvMzY1LjI1KSxpPU1hdGguZmxvb3IoMzY1LjI1KmEpLG89TWF0aC5mbG9vcigobi1pKS8zMC42MDAxKSxzPW4taS1NYXRoLmZsb29yKDMwLjYwMDEqbyksbD1vLShvPjEzLjU/MTM6MSksYz1hLShsPjIuNT80NzE2OjQ3MTUpO3JldHVybiBjPD0wJiZjLS0sdGhpcy5uZXdEYXRlKGMsbCxzKX0sdG9KU0RhdGU6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3ZhbGlkYXRlKHQsZSxyLGMubG9jYWwuaW52YWxpZERhdGV8fGMucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkRGF0ZSksYT1uZXcgRGF0ZShuLnllYXIoKSxuLm1vbnRoKCktMSxuLmRheSgpKTtyZXR1cm4gYS5zZXRIb3VycygwKSxhLnNldE1pbnV0ZXMoMCksYS5zZXRTZWNvbmRzKDApLGEuc2V0TWlsbGlzZWNvbmRzKDApLGEuc2V0SG91cnMoYS5nZXRIb3VycygpPjEyP2EuZ2V0SG91cnMoKSsyOjApLGF9LGZyb21KU0RhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubmV3RGF0ZSh0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpKzEsdC5nZXREYXRlKCkpfX0pO3ZhciBjPWUuZXhwb3J0cz1uZXcgYTtjLmNkYXRlPWksYy5iYXNlQ2FsZW5kYXI9cyxjLmNhbGVuZGFycy5ncmVnb3JpYW49bH0seyJvYmplY3QtYXNzaWduIjo0NTZ9XSw1NzE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJvYmplY3QtYXNzaWduIiksYT10KCIuL21haW4iKTtuKGEucmVnaW9uYWxPcHRpb25zWyIiXSx7aW52YWxpZEFyZ3VtZW50czoiSW52YWxpZCBhcmd1bWVudHMiLGludmFsaWRGb3JtYXQ6IkNhbm5vdCBmb3JtYXQgYSBkYXRlIGZyb20gYW5vdGhlciBjYWxlbmRhciIsbWlzc2luZ051bWJlckF0OiJNaXNzaW5nIG51bWJlciBhdCBwb3NpdGlvbiB7MH0iLHVua25vd25OYW1lQXQ6IlVua25vd24gbmFtZSBhdCBwb3NpdGlvbiB7MH0iLHVuZXhwZWN0ZWRMaXRlcmFsQXQ6IlVuZXhwZWN0ZWQgbGl0ZXJhbCBhdCBwb3NpdGlvbiB7MH0iLHVuZXhwZWN0ZWRUZXh0OiJBZGRpdGlvbmFsIHRleHQgZm91bmQgYXQgZW5kIn0pLGEubG9jYWw9YS5yZWdpb25hbE9wdGlvbnNbIiJdLG4oYS5jZGF0ZS5wcm90b3R5cGUse2Zvcm1hdERhdGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHQmJihlPXQsdD0iIiksdGhpcy5fY2FsZW5kYXIuZm9ybWF0RGF0ZSh0fHwiIix0aGlzLGUpfX0pLG4oYS5iYXNlQ2FsZW5kYXIucHJvdG90eXBlLHtVTklYX0VQT0NIOmEuaW5zdGFuY2UoKS5uZXdEYXRlKDE5NzAsMSwxKS50b0pEKCksU0VDU19QRVJfREFZOjg2NDAwLFRJQ0tTX0VQT0NIOmEuaW5zdGFuY2UoKS5qZEVwb2NoLFRJQ0tTX1BFUl9EQVk6ODY0ZTksQVRPTToieXl5eS1tbS1kZCIsQ09PS0lFOiJELCBkZCBNIHl5eXkiLEZVTEw6IkRELCBNTSBkLCB5eXl5IixJU09fODYwMToieXl5eS1tbS1kZCIsSlVMSUFOOiJKIixSRkNfODIyOiJELCBkIE0geXkiLFJGQ184NTA6IkRELCBkZC1NLXl5IixSRkNfMTAzNjoiRCwgZCBNIHl5IixSRkNfMTEyMzoiRCwgZCBNIHl5eXkiLFJGQ18yODIyOiJELCBkIE0geXl5eSIsUlNTOiJELCBkIE0geXkiLFRJQ0tTOiIhIixUSU1FU1RBTVA6IkAiLFczQzoieXl5eS1tbS1kZCIsZm9ybWF0RGF0ZTpmdW5jdGlvbih0LGUscil7aWYoInN0cmluZyIhPXR5cGVvZiB0JiYocj1lLGU9dCx0PSIiKSwhZSlyZXR1cm4iIjtpZihlLmNhbGVuZGFyKCkhPT10aGlzKXRocm93IGEubG9jYWwuaW52YWxpZEZvcm1hdHx8YS5yZWdpb25hbE9wdGlvbnNbIiJdLmludmFsaWRGb3JtYXQ7dD10fHx0aGlzLmxvY2FsLmRhdGVGb3JtYXQ7Zm9yKHZhciBuLGksbyxzLGw9KHI9cnx8e30pLmRheU5hbWVzU2hvcnR8fHRoaXMubG9jYWwuZGF5TmFtZXNTaG9ydCxjPXIuZGF5TmFtZXN8fHRoaXMubG9jYWwuZGF5TmFtZXMsdT1yLm1vbnRoTnVtYmVyc3x8dGhpcy5sb2NhbC5tb250aE51bWJlcnMsaD1yLm1vbnRoTmFtZXNTaG9ydHx8dGhpcy5sb2NhbC5tb250aE5hbWVzU2hvcnQsZj1yLm1vbnRoTmFtZXN8fHRoaXMubG9jYWwubW9udGhOYW1lcyxwPShyLmNhbGN1bGF0ZVdlZWt8fHRoaXMubG9jYWwuY2FsY3VsYXRlV2VlayxmdW5jdGlvbihlLHIpe2Zvcih2YXIgbj0xO3crbjx0Lmxlbmd0aCYmdC5jaGFyQXQodytuKT09PWU7KW4rKztyZXR1cm4gdys9bi0xLE1hdGguZmxvb3Iobi8ocnx8MSkpPjF9KSxkPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPSIiK2U7aWYocCh0LG4pKWZvcig7YS5sZW5ndGg8cjspYT0iMCIrYTtyZXR1cm4gYX0sZz10aGlzLHY9ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHU/dS5jYWxsKGcsdCxwKCJtIikpOngoZCgibSIsdC5tb250aCgpLDIpKX0sbT1mdW5jdGlvbih0LGUpe3JldHVybiBlPyJmdW5jdGlvbiI9PXR5cGVvZiBmP2YuY2FsbChnLHQpOmZbdC5tb250aCgpLWcubWluTW9udGhdOiJmdW5jdGlvbiI9PXR5cGVvZiBoP2guY2FsbChnLHQpOmhbdC5tb250aCgpLWcubWluTW9udGhdfSx5PXRoaXMubG9jYWwuZGlnaXRzLHg9ZnVuY3Rpb24odCl7cmV0dXJuIHIubG9jYWxOdW1iZXJzJiZ5P3kodCk6dH0sYj0iIixfPSExLHc9MDt3PHQubGVuZ3RoO3crKylpZihfKSInIiE9PXQuY2hhckF0KHcpfHxwKCInIik/Yis9dC5jaGFyQXQodyk6Xz0hMTtlbHNlIHN3aXRjaCh0LmNoYXJBdCh3KSl7Y2FzZSJkIjpiKz14KGQoImQiLGUuZGF5KCksMikpO2JyZWFrO2Nhc2UiRCI6Yis9KG49IkQiLGk9ZS5kYXlPZldlZWsoKSxvPWwscz1jLHAobik/c1tpXTpvW2ldKTticmVhaztjYXNlIm8iOmIrPWQoIm8iLGUuZGF5T2ZZZWFyKCksMyk7YnJlYWs7Y2FzZSJ3IjpiKz1kKCJ3IixlLndlZWtPZlllYXIoKSwyKTticmVhaztjYXNlIm0iOmIrPXYoZSk7YnJlYWs7Y2FzZSJNIjpiKz1tKGUscCgiTSIpKTticmVhaztjYXNlInkiOmIrPXAoInkiLDIpP2UueWVhcigpOihlLnllYXIoKSUxMDA8MTA/IjAiOiIiKStlLnllYXIoKSUxMDA7YnJlYWs7Y2FzZSJZIjpwKCJZIiwyKSxiKz1lLmZvcm1hdFllYXIoKTticmVhaztjYXNlIkoiOmIrPWUudG9KRCgpO2JyZWFrO2Nhc2UiQCI6Yis9KGUudG9KRCgpLXRoaXMuVU5JWF9FUE9DSCkqdGhpcy5TRUNTX1BFUl9EQVk7YnJlYWs7Y2FzZSIhIjpiKz0oZS50b0pEKCktdGhpcy5USUNLU19FUE9DSCkqdGhpcy5USUNLU19QRVJfREFZO2JyZWFrO2Nhc2UiJyI6cCgiJyIpP2IrPSInIjpfPSEwO2JyZWFrO2RlZmF1bHQ6Yis9dC5jaGFyQXQodyl9cmV0dXJuIGJ9LHBhcnNlRGF0ZTpmdW5jdGlvbih0LGUscil7aWYobnVsbD09ZSl0aHJvdyBhLmxvY2FsLmludmFsaWRBcmd1bWVudHN8fGEucmVnaW9uYWxPcHRpb25zWyIiXS5pbnZhbGlkQXJndW1lbnRzO2lmKCIiPT09KGU9Im9iamVjdCI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTplKyIiKSlyZXR1cm4gbnVsbDt0PXR8fHRoaXMubG9jYWwuZGF0ZUZvcm1hdDt2YXIgbj0ocj1yfHx7fSkuc2hvcnRZZWFyQ3V0b2ZmfHx0aGlzLnNob3J0WWVhckN1dG9mZjtuPSJzdHJpbmciIT10eXBlb2Ygbj9uOnRoaXMudG9kYXkoKS55ZWFyKCklMTAwK3BhcnNlSW50KG4sMTApO2Zvcih2YXIgaT1yLmRheU5hbWVzU2hvcnR8fHRoaXMubG9jYWwuZGF5TmFtZXNTaG9ydCxvPXIuZGF5TmFtZXN8fHRoaXMubG9jYWwuZGF5TmFtZXMscz1yLnBhcnNlTW9udGh8fHRoaXMubG9jYWwucGFyc2VNb250aCxsPXIubW9udGhOdW1iZXJzfHx0aGlzLmxvY2FsLm1vbnRoTnVtYmVycyxjPXIubW9udGhOYW1lc1Nob3J0fHx0aGlzLmxvY2FsLm1vbnRoTmFtZXNTaG9ydCx1PXIubW9udGhOYW1lc3x8dGhpcy5sb2NhbC5tb250aE5hbWVzLGg9LTEsZj0tMSxwPS0xLGQ9LTEsZz0tMSx2PSExLG09ITEseT1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj0xO0Erbjx0Lmxlbmd0aCYmdC5jaGFyQXQoQStuKT09PWU7KW4rKztyZXR1cm4gQSs9bi0xLE1hdGguZmxvb3Iobi8ocnx8MSkpPjF9LHg9ZnVuY3Rpb24odCxyKXt2YXIgbj15KHQsciksaT1bMiwzLG4/NDoyLG4/NDoyLDEwLDExLDIwXVsib3lZSkAhIi5pbmRleE9mKHQpKzFdLG89bmV3IFJlZ0V4cCgiXi0/XFxkezEsIitpKyJ9Iikscz1lLnN1YnN0cmluZyhNKS5tYXRjaChvKTtpZighcyl0aHJvdyhhLmxvY2FsLm1pc3NpbmdOdW1iZXJBdHx8YS5yZWdpb25hbE9wdGlvbnNbIiJdLm1pc3NpbmdOdW1iZXJBdCkucmVwbGFjZSgvXHswXH0vLE0pO3JldHVybiBNKz1zWzBdLmxlbmd0aCxwYXJzZUludChzWzBdLDEwKX0sYj10aGlzLF89ZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgbCl7eSgibSIpO3ZhciB0PWwuY2FsbChiLGUuc3Vic3RyaW5nKE0pKTtyZXR1cm4gTSs9dC5sZW5ndGgsdH1yZXR1cm4geCgibSIpfSx3PWZ1bmN0aW9uKHQscixuLGkpe2Zvcih2YXIgbz15KHQsaSk/bjpyLHM9MDtzPG8ubGVuZ3RoO3MrKylpZihlLnN1YnN0cihNLG9bc10ubGVuZ3RoKS50b0xvd2VyQ2FzZSgpPT09b1tzXS50b0xvd2VyQ2FzZSgpKXJldHVybiBNKz1vW3NdLmxlbmd0aCxzK2IubWluTW9udGg7dGhyb3coYS5sb2NhbC51bmtub3duTmFtZUF0fHxhLnJlZ2lvbmFsT3B0aW9uc1siIl0udW5rbm93bk5hbWVBdCkucmVwbGFjZSgvXHswXH0vLE0pfSxrPWZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe3ZhciB0PXkoIk0iKT91LmNhbGwoYixlLnN1YnN0cmluZyhNKSk6Yy5jYWxsKGIsZS5zdWJzdHJpbmcoTSkpO3JldHVybiBNKz10Lmxlbmd0aCx0fXJldHVybiB3KCJNIixjLHUpfSxUPWZ1bmN0aW9uKCl7aWYoZS5jaGFyQXQoTSkhPT10LmNoYXJBdChBKSl0aHJvdyhhLmxvY2FsLnVuZXhwZWN0ZWRMaXRlcmFsQXR8fGEucmVnaW9uYWxPcHRpb25zWyIiXS51bmV4cGVjdGVkTGl0ZXJhbEF0KS5yZXBsYWNlKC9cezBcfS8sTSk7TSsrfSxNPTAsQT0wO0E8dC5sZW5ndGg7QSsrKWlmKG0pIiciIT09dC5jaGFyQXQoQSl8fHkoIiciKT9UKCk6bT0hMTtlbHNlIHN3aXRjaCh0LmNoYXJBdChBKSl7Y2FzZSJkIjpkPXgoImQiKTticmVhaztjYXNlIkQiOncoIkQiLGksbyk7YnJlYWs7Y2FzZSJvIjpnPXgoIm8iKTticmVhaztjYXNlInciOngoInciKTticmVhaztjYXNlIm0iOnA9XygpO2JyZWFrO2Nhc2UiTSI6cD1rKCk7YnJlYWs7Y2FzZSJ5Ijp2YXIgUz1BO3Y9IXkoInkiLDIpLEE9UyxmPXgoInkiLDIpO2JyZWFrO2Nhc2UiWSI6Zj14KCJZIiwyKTticmVhaztjYXNlIkoiOmg9eCgiSiIpKy41LCIuIj09PWUuY2hhckF0KE0pJiYoTSsrLHgoIkoiKSk7YnJlYWs7Y2FzZSJAIjpoPXgoIkAiKS90aGlzLlNFQ1NfUEVSX0RBWSt0aGlzLlVOSVhfRVBPQ0g7YnJlYWs7Y2FzZSIhIjpoPXgoIiEiKS90aGlzLlRJQ0tTX1BFUl9EQVkrdGhpcy5USUNLU19FUE9DSDticmVhaztjYXNlIioiOk09ZS5sZW5ndGg7YnJlYWs7Y2FzZSInIjp5KCInIik/VCgpOm09ITA7YnJlYWs7ZGVmYXVsdDpUKCl9aWYoTTxlLmxlbmd0aCl0aHJvdyBhLmxvY2FsLnVuZXhwZWN0ZWRUZXh0fHxhLnJlZ2lvbmFsT3B0aW9uc1siIl0udW5leHBlY3RlZFRleHQ7aWYoLTE9PT1mP2Y9dGhpcy50b2RheSgpLnllYXIoKTpmPDEwMCYmdiYmKGYrPS0xPT09bj8xOTAwOnRoaXMudG9kYXkoKS55ZWFyKCktdGhpcy50b2RheSgpLnllYXIoKSUxMDAtKGY8PW4/MDoxMDApKSwic3RyaW5nIj09dHlwZW9mIHAmJihwPXMuY2FsbCh0aGlzLGYscCkpLGc+LTEpe3A9MSxkPWc7Zm9yKHZhciBFPXRoaXMuZGF5c0luTW9udGgoZixwKTtkPkU7RT10aGlzLmRheXNJbk1vbnRoKGYscCkpcCsrLGQtPUV9cmV0dXJuIGg+LTE/dGhpcy5mcm9tSkQoaCk6dGhpcy5uZXdEYXRlKGYscCxkKX0sZGV0ZXJtaW5lRGF0ZTpmdW5jdGlvbih0LGUscixuLGEpe3ImJiJvYmplY3QiIT10eXBlb2YgciYmKGE9bixuPXIscj1udWxsKSwic3RyaW5nIiE9dHlwZW9mIG4mJihhPW4sbj0iIik7dmFyIGk9dGhpcztyZXR1cm4gZT1lP2UubmV3RGF0ZSgpOm51bGwsdD1udWxsPT10P2U6InN0cmluZyI9PXR5cGVvZiB0P2Z1bmN0aW9uKHQpe3RyeXtyZXR1cm4gaS5wYXJzZURhdGUobix0LGEpfWNhdGNoKHQpe31mb3IodmFyIGU9KCh0PXQudG9Mb3dlckNhc2UoKSkubWF0Y2goL15jLykmJnI/ci5uZXdEYXRlKCk6bnVsbCl8fGkudG9kYXkoKSxvPS8oWystXT9bMC05XSspXHMqKGR8d3xtfHkpPy9nLHM9by5leGVjKHQpO3M7KWUuYWRkKHBhcnNlSW50KHNbMV0sMTApLHNbMl18fCJkIikscz1vLmV4ZWModCk7cmV0dXJuIGV9KHQpOiJudW1iZXIiPT10eXBlb2YgdD9pc05hTih0KXx8dD09PTEvMHx8dD09PS0xLzA/ZTppLnRvZGF5KCkuYWRkKHQsImQiKTppLm5ld0RhdGUodCl9fSl9LHsiLi9tYWluIjo1NzAsIm9iamVjdC1hc3NpZ24iOjQ1Nn1dLDU3MjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCJjd2lzZS1jb21waWxlciIpKHthcmdzOlsiYXJyYXkiLHtvZmZzZXQ6WzFdLGFycmF5OjB9LCJzY2FsYXIiLCJzY2FsYXIiLCJpbmRleCJdLHByZTp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxwb3N0Ontib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntcbiAgICAgICAgdmFyIF9pbmxpbmVfMV9kYSA9IF9pbmxpbmVfMV9hcmcwXyAtIF9pbmxpbmVfMV9hcmczX1xuICAgICAgICB2YXIgX2lubGluZV8xX2RiID0gX2lubGluZV8xX2FyZzFfIC0gX2lubGluZV8xX2FyZzNfXG4gICAgICAgIGlmKChfaW5saW5lXzFfZGEgPj0gMCkgIT09IChfaW5saW5lXzFfZGIgPj0gMCkpIHtcbiAgICAgICAgICBfaW5saW5lXzFfYXJnMl8ucHVzaChfaW5saW5lXzFfYXJnNF9bMF0gKyAwLjUgKyAwLjUgKiAoX2lubGluZV8xX2RhICsgX2lubGluZV8xX2RiKSAvIChfaW5saW5lXzFfZGEgLSBfaW5saW5lXzFfZGIpKVxuICAgICAgICB9XG4gICAgICB9IixhcmdzOlt7bmFtZToiX2lubGluZV8xX2FyZzBfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzFfYXJnMV8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMV9hcmcyXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xX2FyZzNfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjJ9LHtuYW1lOiJfaW5saW5lXzFfYXJnNF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbIl9pbmxpbmVfMV9kYSIsIl9pbmxpbmVfMV9kYiJdfSxmdW5jTmFtZToiemVyb0Nyb3NzaW5ncyJ9KX0seyJjd2lzZS1jb21waWxlciI6MTQ4fV0sNTczOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPVtdO3JldHVybiBlPStlfHwwLG4odC5oaSh0LnNoYXBlWzBdLTEpLHIsZSkscn07dmFyIG49dCgiLi9saWIvemMtY29yZSIpfSx7Ii4vbGliL3pjLWNvcmUiOjU3Mn1dLDU3NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9W3twYXRoOiIiLGJhY2tvZmY6MH0se3BhdGg6Ik0tMi40LC0zVjNMMC42LDBaIixiYWNrb2ZmOi42fSx7cGF0aDoiTS0zLjcsLTIuNVYyLjVMMS4zLDBaIixiYWNrb2ZmOjEuM30se3BhdGg6Ik0tNC40NSwtM0wtMS42NSwtMC4yVjAuMkwtNC40NSwzTDEuNTUsMFoiLGJhY2tvZmY6MS41NX0se3BhdGg6Ik0tMi4yLC0yLjJMLTAuMiwtMC4yVjAuMkwtMi4yLDIuMkwtMS40LDNMMS42LDBMLTEuNCwtM1oiLGJhY2tvZmY6MS42fSx7cGF0aDoiTS00LjQsLTIuMUwtMC42LC0wLjJWMC4yTC00LjQsMi4xTC00LDNMMiwwTC00LC0zWiIsYmFja29mZjoyfSx7cGF0aDoiTTIsMEEyLDIgMCAxLDEgMCwtMkEyLDIgMCAwLDEgMiwwWiIsYmFja29mZjowLG5vUm90YXRlOiEwfSx7cGF0aDoiTTIsMlYtMkgtMlYyWiIsYmFja29mZjowLG5vUm90YXRlOiEwfV19LHt9XSw1NzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9hcnJvd19wYXRocyIpLGE9dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vY29uc3RhbnRzIiksbz10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIikudGVtcGxhdGVkQXJyYXk7ZS5leHBvcnRzPW8oImFubm90YXRpb24iLHt2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LHRleHQ6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0sdGV4dGFuZ2xlOnt2YWxUeXBlOiJhbmdsZSIsZGZsdDowLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LGZvbnQ6YSh7ZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3Iixjb2xvckVkaXRUeXBlOiJhcnJheWRyYXcifSksd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjEsZGZsdDpudWxsLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LGhlaWdodDp7dmFsVHlwZToibnVtYmVyIixtaW46MSxkZmx0Om51bGwsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0sb3BhY2l0eTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjEsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LGFsaWduOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiXSxkZmx0OiJjZW50ZXIiLGVkaXRUeXBlOiJhcnJheWRyYXcifSx2YWxpZ246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvcCIsIm1pZGRsZSIsImJvdHRvbSJdLGRmbHQ6Im1pZGRsZSIsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LGJnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OiJyZ2JhKDAsMCwwLDApIixlZGl0VHlwZToiYXJyYXlkcmF3In0sYm9yZGVyY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OiJyZ2JhKDAsMCwwLDApIixlZGl0VHlwZToiYXJyYXlkcmF3In0sYm9yZGVycGFkOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MSxlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxib3JkZXJ3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0sc2hvd2Fycm93Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LGFycm93Y29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToiYXJyYXlkcmF3In0sYXJyb3doZWFkOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxtYXg6bi5sZW5ndGgsZGZsdDoxLGVkaXRUeXBlOiJhcnJheWRyYXcifSxzdGFydGFycm93aGVhZDp7dmFsVHlwZToiaW50ZWdlciIsbWluOjAsbWF4Om4ubGVuZ3RoLGRmbHQ6MSxlZGl0VHlwZToiYXJyYXlkcmF3In0sYXJyb3dzaWRlOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJlbmQiLCJzdGFydCJdLGV4dHJhczpbIm5vbmUiXSxkZmx0OiJlbmQiLGVkaXRUeXBlOiJhcnJheWRyYXcifSxhcnJvd3NpemU6e3ZhbFR5cGU6Im51bWJlciIsbWluOi4zLGRmbHQ6MSxlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxzdGFydGFycm93c2l6ZTp7dmFsVHlwZToibnVtYmVyIixtaW46LjMsZGZsdDoxLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LGFycm93d2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOi4xLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LHN0YW5kb2ZmOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxzdGFydHN0YW5kb2ZmOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxheDp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxheTp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxheHJlZjp7dmFsVHlwZToiZW51bWVyYXRlZCIsZGZsdDoicGl4ZWwiLHZhbHVlczpbInBpeGVsIixpLmlkUmVnZXgueC50b1N0cmluZygpXSxlZGl0VHlwZToiY2FsYyJ9LGF5cmVmOnt2YWxUeXBlOiJlbnVtZXJhdGVkIixkZmx0OiJwaXhlbCIsdmFsdWVzOlsicGl4ZWwiLGkuaWRSZWdleC55LnRvU3RyaW5nKCldLGVkaXRUeXBlOiJjYWxjIn0seHJlZjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsicGFwZXIiLGkuaWRSZWdleC54LnRvU3RyaW5nKCldLGVkaXRUeXBlOiJjYWxjIn0seDp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSx4YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhdXRvIiwibGVmdCIsImNlbnRlciIsInJpZ2h0Il0sZGZsdDoiYXV0byIsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0seHNoaWZ0Ont2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MCxlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSx5cmVmOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJwYXBlciIsaS5pZFJlZ2V4LnkudG9TdHJpbmcoKV0sZWRpdFR5cGU6ImNhbGMifSx5Ont2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LHlhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImF1dG8iLCJ0b3AiLCJtaWRkbGUiLCJib3R0b20iXSxkZmx0OiJhdXRvIixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSx5c2hpZnQ6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LGNsaWNrdG9zaG93Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyExLCJvbm9mZiIsIm9ub3V0Il0sZGZsdDohMSxlZGl0VHlwZToiYXJyYXlkcmF3In0seGNsaWNrOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJhcnJheWRyYXcifSx5Y2xpY2s6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LGhvdmVydGV4dDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiYXJyYXlkcmF3In0saG92ZXJsYWJlbDp7Ymdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJhcnJheWRyYXcifSxib3JkZXJjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJhcnJheWRyYXcifSxmb250OmEoe2VkaXRUeXBlOiJhcnJheWRyYXcifSksZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LGNhcHR1cmVldmVudHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJhcnJheWRyYXcifSxlZGl0VHlwZToiY2FsYyIsX2RlcHJlY2F0ZWQ6e3JlZjp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYyJ9fX0pfSx7Ii4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2NvbnN0YW50cyI6NzcxLCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiOjc5MSwiLi9hcnJvd19wYXRocyI6NTc0fV0sNTc2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxpPXQoIi4vZHJhdyIpLmRyYXc7ZnVuY3Rpb24gbyh0KXt2YXIgZT10Ll9mdWxsTGF5b3V0O24uZmlsdGVyVmlzaWJsZShlLmFubm90YXRpb25zKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByPWEuZ2V0RnJvbUlkKHQsZS54cmVmKSxuPWEuZ2V0RnJvbUlkKHQsZS55cmVmKTtlLl9leHRyZW1lcz17fSxyJiZzKGUsciksbiYmcyhlLG4pfSl9ZnVuY3Rpb24gcyh0LGUpe3ZhciByLG49ZS5faWQsaT1uLmNoYXJBdCgwKSxvPXRbaV0scz10WyJhIitpXSxsPXRbaSsicmVmIl0sYz10WyJhIitpKyJyZWYiXSx1PXRbIl8iK2krInBhZHBsdXMiXSxoPXRbIl8iK2krInBhZG1pbnVzIl0sZj17eDoxLHk6LTF9W2ldKnRbaSsic2hpZnQiXSxwPTMqdC5hcnJvd3NpemUqdC5hcnJvd3dpZHRofHwwLGQ9cCtmLGc9cC1mLHY9Myp0LnN0YXJ0YXJyb3dzaXplKnQuYXJyb3d3aWR0aHx8MCxtPXYrZix5PXYtZjtpZihjPT09bCl7dmFyIHg9YS5maW5kRXh0cmVtZXMoZSxbZS5yMmMobyldLHtwcGFkcGx1czpkLHBwYWRtaW51czpnfSksYj1hLmZpbmRFeHRyZW1lcyhlLFtlLnIyYyhzKV0se3BwYWRwbHVzOk1hdGgubWF4KHUsbSkscHBhZG1pbnVzOk1hdGgubWF4KGgseSl9KTtyPXttaW46W3gubWluWzBdLGIubWluWzBdXSxtYXg6W3gubWF4WzBdLGIubWF4WzBdXX19ZWxzZSBtPXM/bStzOm0seT1zP3ktczp5LHI9YS5maW5kRXh0cmVtZXMoZSxbZS5yMmMobyldLHtwcGFkcGx1czpNYXRoLm1heCh1LGQsbSkscHBhZG1pbnVzOk1hdGgubWF4KGgsZyx5KX0pO3QuX2V4dHJlbWVzW25dPXJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQ7aWYobi5maWx0ZXJWaXNpYmxlKGUuYW5ub3RhdGlvbnMpLmxlbmd0aCYmdC5fZnVsbERhdGEubGVuZ3RoKXJldHVybiBuLnN5bmNPckFzeW5jKFtpLG9dLHQpfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi9kcmF3Ijo1ODF9XSw1Nzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLmFycmF5RWRpdG9yO2Z1bmN0aW9uIG8odCxlKXt2YXIgcixuLGEsaSxvLGwsYyx1PXQuX2Z1bGxMYXlvdXQuYW5ub3RhdGlvbnMsaD1bXSxmPVtdLHA9W10sZD0oZXx8W10pLmxlbmd0aDtmb3Iocj0wO3I8dS5sZW5ndGg7cisrKWlmKGk9KGE9dVtyXSkuY2xpY2t0b3Nob3cpe2ZvcihuPTA7bjxkO24rKylpZihsPShvPWVbbl0pLnhheGlzLGM9by55YXhpcyxsLl9pZD09PWEueHJlZiYmYy5faWQ9PT1hLnlyZWYmJmwuZDJyKG8ueCk9PT1zKGEuX3hjbGljayxsKSYmYy5kMnIoby55KT09PXMoYS5feWNsaWNrLGMpKXsoYS52aXNpYmxlPyJvbm91dCI9PT1pP2Y6cDpoKS5wdXNoKHIpO2JyZWFrfW49PT1kJiZhLnZpc2libGUmJiJvbm91dCI9PT1pJiZmLnB1c2gocil9cmV0dXJue29uOmgsb2ZmOmYsZXhwbGljaXRPZmY6cH19ZnVuY3Rpb24gcyh0LGUpe3JldHVybiJsb2ciPT09ZS50eXBlP2UubDJyKHQpOmUuZDJyKHQpfWUuZXhwb3J0cz17aGFzQ2xpY2tUb1Nob3c6ZnVuY3Rpb24odCxlKXt2YXIgcj1vKHQsZSk7cmV0dXJuIHIub24ubGVuZ3RoPjB8fHIuZXhwbGljaXRPZmYubGVuZ3RoPjB9LG9uQ2xpY2s6ZnVuY3Rpb24odCxlKXt2YXIgcixzLGw9byh0LGUpLGM9bC5vbix1PWwub2ZmLmNvbmNhdChsLmV4cGxpY2l0T2ZmKSxoPXt9LGY9dC5fZnVsbExheW91dC5hbm5vdGF0aW9ucztpZighYy5sZW5ndGgmJiF1Lmxlbmd0aClyZXR1cm47Zm9yKHI9MDtyPGMubGVuZ3RoO3IrKykocz1pKHQubGF5b3V0LCJhbm5vdGF0aW9ucyIsZltjW3JdXSkpLm1vZGlmeUl0ZW0oInZpc2libGUiLCEwKSxuLmV4dGVuZEZsYXQoaCxzLmdldFVwZGF0ZU9iaigpKTtmb3Iocj0wO3I8dS5sZW5ndGg7cisrKShzPWkodC5sYXlvdXQsImFubm90YXRpb25zIixmW3Vbcl1dKSkubW9kaWZ5SXRlbSgidmlzaWJsZSIsITEpLG4uZXh0ZW5kRmxhdChoLHMuZ2V0VXBkYXRlT2JqKCkpO3JldHVybiBhLmNhbGwoInVwZGF0ZSIsdCx7fSxoKX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDZ9XSw1Nzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9jb2xvciIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXtpKCJvcGFjaXR5Iik7dmFyIG89aSgiYmdjb2xvciIpLHM9aSgiYm9yZGVyY29sb3IiKSxsPWEub3BhY2l0eShzKTtpKCJib3JkZXJwYWQiKTt2YXIgYz1pKCJib3JkZXJ3aWR0aCIpLHU9aSgic2hvd2Fycm93Iik7aWYoaSgidGV4dCIsdT8iICI6ci5fZGZsdFRpdGxlLmFubm90YXRpb24pLGkoInRleHRhbmdsZSIpLG4uY29lcmNlRm9udChpLCJmb250IixyLmZvbnQpLGkoIndpZHRoIiksaSgiYWxpZ24iKSxpKCJoZWlnaHQiKSYmaSgidmFsaWduIiksdSl7dmFyIGgsZixwPWkoImFycm93c2lkZSIpOy0xIT09cC5pbmRleE9mKCJlbmQiKSYmKGg9aSgiYXJyb3doZWFkIiksZj1pKCJhcnJvd3NpemUiKSksLTEhPT1wLmluZGV4T2YoInN0YXJ0IikmJihpKCJzdGFydGFycm93aGVhZCIsaCksaSgic3RhcnRhcnJvd3NpemUiLGYpKSxpKCJhcnJvd2NvbG9yIixsP2UuYm9yZGVyY29sb3I6YS5kZWZhdWx0TGluZSksaSgiYXJyb3d3aWR0aCIsMioobCYmY3x8MSkpLGkoInN0YW5kb2ZmIiksaSgic3RhcnRzdGFuZG9mZiIpfXZhciBkPWkoImhvdmVydGV4dCIpLGc9ci5ob3ZlcmxhYmVsfHx7fTtpZihkKXt2YXIgdj1pKCJob3ZlcmxhYmVsLmJnY29sb3IiLGcuYmdjb2xvcnx8KGEub3BhY2l0eShvKT9hLnJnYihvKTphLmRlZmF1bHRMaW5lKSksbT1pKCJob3ZlcmxhYmVsLmJvcmRlcmNvbG9yIixnLmJvcmRlcmNvbG9yfHxhLmNvbnRyYXN0KHYpKTtuLmNvZXJjZUZvbnQoaSwiaG92ZXJsYWJlbC5mb250Iix7ZmFtaWx5OmcuZm9udC5mYW1pbHksc2l6ZTpnLmZvbnQuc2l6ZSxjb2xvcjpnLmZvbnQuY29sb3J8fG19KX1pKCJjYXB0dXJlZXZlbnRzIiwhIWQpfX0seyIuLi8uLi9saWIiOjcxNywiLi4vY29sb3IiOjU5Mn1dLDU3OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliL3RvX2xvZ19yYW5nZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXtlPWV8fHt9O3ZhciBvPSJsb2ciPT09ciYmImxpbmVhciI9PT1lLnR5cGUscz0ibGluZWFyIj09PXImJiJsb2ciPT09ZS50eXBlO2lmKG98fHMpZm9yKHZhciBsLGMsdT10Ll9mdWxsTGF5b3V0LmFubm90YXRpb25zLGg9ZS5faWQuY2hhckF0KDApLGY9MDtmPHUubGVuZ3RoO2YrKylsPXVbZl0sYz0iYW5ub3RhdGlvbnNbIitmKyJdLiIsbFtoKyJyZWYiXT09PWUuX2lkJiZwKGgpLGxbImEiK2grInJlZiJdPT09ZS5faWQmJnAoImEiK2gpO2Z1bmN0aW9uIHAodCl7dmFyIHI9bFt0XSxzPW51bGw7cz1vP2EocixlLnJhbmdlKTpNYXRoLnBvdygxMCxyKSxuKHMpfHwocz1udWxsKSxpKGMrdCxzKX19fSx7Ii4uLy4uL2xpYi90b19sb2dfcmFuZ2UiOjc0MywiZmFzdC1pc251bWVyaWMiOjIyOH1dLDU4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksaT10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxvPXQoIi4vY29tbW9uX2RlZmF1bHRzIikscz10KCIuL2F0dHJpYnV0ZXMiKTtmdW5jdGlvbiBsKHQsZSxyKXtmdW5jdGlvbiBpKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxzLHIsYSl9dmFyIGw9aSgidmlzaWJsZSIpLGM9aSgiY2xpY2t0b3Nob3ciKTtpZihsfHxjKXtvKHQsZSxyLGkpO2Zvcih2YXIgdT1lLnNob3dhcnJvdyxoPVsieCIsInkiXSxmPVstMTAsLTMwXSxwPXtfZnVsbExheW91dDpyfSxkPTA7ZDwyO2QrKyl7dmFyIGc9aFtkXSx2PWEuY29lcmNlUmVmKHQsZSxwLGcsIiIsInBhcGVyIik7aWYoInBhcGVyIiE9PXYpYS5nZXRGcm9tSWQocCx2KS5fYW5uSW5kaWNlcy5wdXNoKGUuX2luZGV4KTtpZihhLmNvZXJjZVBvc2l0aW9uKGUscCxpLHYsZywuNSksdSl7dmFyIG09ImEiK2cseT1hLmNvZXJjZVJlZih0LGUscCxtLCJwaXhlbCIpOyJwaXhlbCIhPT15JiZ5IT09diYmKHk9ZVttXT0icGl4ZWwiKTt2YXIgeD0icGl4ZWwiPT09eT9mW2RdOi40O2EuY29lcmNlUG9zaXRpb24oZSxwLGkseSxtLHgpfWkoZysiYW5jaG9yIiksaShnKyJzaGlmdCIpfWlmKG4ubm9uZU9yQWxsKHQsZSxbIngiLCJ5Il0pLHUmJm4ubm9uZU9yQWxsKHQsZSxbImF4IiwiYXkiXSksYyl7dmFyIGI9aSgieGNsaWNrIiksXz1pKCJ5Y2xpY2siKTtlLl94Y2xpY2s9dm9pZCAwPT09Yj9lLng6YS5jbGVhblBvc2l0aW9uKGIscCxlLnhyZWYpLGUuX3ljbGljaz12b2lkIDA9PT1fP2UueTphLmNsZWFuUG9zaXRpb24oXyxwLGUueXJlZil9fX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpKHQsZSx7bmFtZToiYW5ub3RhdGlvbnMiLGhhbmRsZUl0ZW1EZWZhdWx0czpsfSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi9hdHRyaWJ1dGVzIjo1NzUsIi4vY29tbW9uX2RlZmF1bHRzIjo1Nzh9XSw1ODE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL3JlZ2lzdHJ5IiksaT10KCIuLi8uLi9wbG90cy9wbG90cyIpLG89dCgiLi4vLi4vbGliIikscz10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGw9dCgiLi4vY29sb3IiKSxjPXQoIi4uL2RyYXdpbmciKSx1PXQoIi4uL2Z4IiksaD10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxmPXQoIi4uLy4uL2xpYi9zZXRjdXJzb3IiKSxwPXQoIi4uL2RyYWdlbGVtZW50IiksZD10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIikuYXJyYXlFZGl0b3IsZz10KCIuL2RyYXdfYXJyb3dfaGVhZCIpO2Z1bmN0aW9uIHYodCxlKXt2YXIgcj10Ll9mdWxsTGF5b3V0LmFubm90YXRpb25zW2VdfHx7fSxuPXMuZ2V0RnJvbUlkKHQsci54cmVmKSxhPXMuZ2V0RnJvbUlkKHQsci55cmVmKTtuJiZuLnNldFNjYWxlKCksYSYmYS5zZXRTY2FsZSgpLG0odCxyLGUsITEsbixhKX1mdW5jdGlvbiBtKHQsZSxyLGkscyx2KXt2YXIgbSx5LHg9dC5fZnVsbExheW91dCxiPXQuX2Z1bGxMYXlvdXQuX3NpemUsXz10Ll9jb250ZXh0LmVkaXRzO2k/KG09ImFubm90YXRpb24tIitpLHk9aSsiLmFubm90YXRpb25zIik6KG09ImFubm90YXRpb24iLHk9ImFubm90YXRpb25zIik7dmFyIHc9ZCh0LmxheW91dCx5LGUpLGs9dy5tb2RpZnlCYXNlLFQ9dy5tb2RpZnlJdGVtLE09dy5nZXRVcGRhdGVPYmo7eC5faW5mb2xheWVyLnNlbGVjdEFsbCgiLiIrbSsnW2RhdGEtaW5kZXg9IicrcisnIl0nKS5yZW1vdmUoKTt2YXIgQT0iY2xpcCIreC5fdWlkKyJfYW5uIityO2lmKGUuX2lucHV0JiYhMSE9PWUudmlzaWJsZSl7dmFyIFM9e3g6e30seTp7fX0sRT0rZS50ZXh0YW5nbGV8fDAsTD14Ll9pbmZvbGF5ZXIuYXBwZW5kKCJnIikuY2xhc3NlZChtLCEwKS5hdHRyKCJkYXRhLWluZGV4IixTdHJpbmcocikpLnN0eWxlKCJvcGFjaXR5IixlLm9wYWNpdHkpLEM9TC5hcHBlbmQoImciKS5jbGFzc2VkKCJhbm5vdGF0aW9uLXRleHQtZyIsITApLFA9X1tlLnNob3dhcnJvdz8iYW5ub3RhdGlvblRhaWwiOiJhbm5vdGF0aW9uUG9zaXRpb24iXSxPPWUuY2FwdHVyZWV2ZW50c3x8Xy5hbm5vdGF0aW9uVGV4dHx8UCx6PUMuYXBwZW5kKCJnIikuc3R5bGUoInBvaW50ZXItZXZlbnRzIixPPyJhbGwiOm51bGwpLmNhbGwoZiwicG9pbnRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt0Ll9kcmFnZ2luZz0hMSx0LmVtaXQoInBsb3RseV9jbGlja2Fubm90YXRpb24iLHEobi5ldmVudCkpfSk7ZS5ob3ZlcnRleHQmJnoub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXt2YXIgcj1lLmhvdmVybGFiZWwsbj1yLmZvbnQsYT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt1LmxvbmVIb3Zlcih7eDA6YS5sZWZ0LWkubGVmdCx4MTphLnJpZ2h0LWkubGVmdCx5OihhLnRvcCthLmJvdHRvbSkvMi1pLnRvcCx0ZXh0OmUuaG92ZXJ0ZXh0LGNvbG9yOnIuYmdjb2xvcixib3JkZXJDb2xvcjpyLmJvcmRlcmNvbG9yLGZvbnRGYW1pbHk6bi5mYW1pbHksZm9udFNpemU6bi5zaXplLGZvbnRDb2xvcjpuLmNvbG9yfSx7Y29udGFpbmVyOnguX2hvdmVybGF5ZXIubm9kZSgpLG91dGVyQ29udGFpbmVyOnguX3BhcGVyLm5vZGUoKSxnZDp0fSl9KS5vbigibW91c2VvdXQiLGZ1bmN0aW9uKCl7dS5sb25lVW5ob3Zlcih4Ll9ob3ZlcmxheWVyLm5vZGUoKSl9KTt2YXIgST1lLmJvcmRlcndpZHRoLEQ9ZS5ib3JkZXJwYWQsUj1JK0QsRj16LmFwcGVuZCgicmVjdCIpLmF0dHIoImNsYXNzIiwiYmciKS5zdHlsZSgic3Ryb2tlLXdpZHRoIixJKyJweCIpLmNhbGwobC5zdHJva2UsZS5ib3JkZXJjb2xvcikuY2FsbChsLmZpbGwsZS5iZ2NvbG9yKSxCPWUud2lkdGh8fGUuaGVpZ2h0LE49eC5fdG9wY2xpcHMuc2VsZWN0QWxsKCIjIitBKS5kYXRhKEI/WzBdOltdKTtOLmVudGVyKCkuYXBwZW5kKCJjbGlwUGF0aCIpLmNsYXNzZWQoImFubmNsaXAiLCEwKS5hdHRyKCJpZCIsQSkuYXBwZW5kKCJyZWN0IiksTi5leGl0KCkucmVtb3ZlKCk7dmFyIGo9ZS5mb250LFY9eC5fbWV0YT9vLnRlbXBsYXRlU3RyaW5nKGUudGV4dCx4Ll9tZXRhKTplLnRleHQsVT16LmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoImFubm90YXRpb24tdGV4dCIsITApLnRleHQoVik7Xy5hbm5vdGF0aW9uVGV4dD9VLmNhbGwoaC5tYWtlRWRpdGFibGUse2RlbGVnYXRlOnosZ2Q6dH0pLmNhbGwoSCkub24oImVkaXQiLGZ1bmN0aW9uKHIpe2UudGV4dD1yLHRoaXMuY2FsbChIKSxUKCJ0ZXh0IixyKSxzJiZzLmF1dG9yYW5nZSYmayhzLl9uYW1lKyIuYXV0b3JhbmdlIiwhMCksdiYmdi5hdXRvcmFuZ2UmJmsodi5fbmFtZSsiLmF1dG9yYW5nZSIsITApLGEuY2FsbCgiX2d1aVJlbGF5b3V0Iix0LE0oKSl9KTpVLmNhbGwoSCl9ZWxzZSBuLnNlbGVjdEFsbCgiIyIrQSkucmVtb3ZlKCk7ZnVuY3Rpb24gcSh0KXt2YXIgbj17aW5kZXg6cixhbm5vdGF0aW9uOmUuX2lucHV0LGZ1bGxBbm5vdGF0aW9uOmUsZXZlbnQ6dH07cmV0dXJuIGkmJihuLnN1YnBsb3RJZD1pKSxufWZ1bmN0aW9uIEgocil7cmV0dXJuIHIuY2FsbChjLmZvbnQsaikuYXR0cih7InRleHQtYW5jaG9yIjp7bGVmdDoic3RhcnQiLHJpZ2h0OiJlbmQifVtlLmFsaWduXXx8Im1pZGRsZSJ9KSxoLmNvbnZlcnRUb1RzcGFucyhyLHQsRykscn1mdW5jdGlvbiBHKCl7dmFyIHI9VS5zZWxlY3RBbGwoImEiKTsxPT09ci5zaXplKCkmJnIudGV4dCgpPT09VS50ZXh0KCkmJnouaW5zZXJ0KCJhIiwiOmZpcnN0LWNoaWxkIikuYXR0cih7InhsaW5rOnhsaW5rOmhyZWYiOnIuYXR0cigieGxpbms6aHJlZiIpLCJ4bGluazp4bGluazpzaG93IjpyLmF0dHIoInhsaW5rOnNob3ciKX0pLnN0eWxlKHtjdXJzb3I6InBvaW50ZXIifSkubm9kZSgpLmFwcGVuZENoaWxkKEYubm9kZSgpKTt2YXIgbj16LnNlbGVjdCgiLmFubm90YXRpb24tdGV4dC1tYXRoLWdyb3VwIiksdT0hbi5lbXB0eSgpLGQ9Yy5iQm94KCh1P246VSkubm9kZSgpKSxtPWQud2lkdGgseT1kLmhlaWdodCx3PWUud2lkdGh8fG0sTz1lLmhlaWdodHx8eSxEPU1hdGgucm91bmQodysyKlIpLGo9TWF0aC5yb3VuZChPKzIqUik7ZnVuY3Rpb24gVih0LGUpe3JldHVybiJhdXRvIj09PWUmJihlPXQ8MS8zPyJsZWZ0Ijp0PjIvMz8icmlnaHQiOiJjZW50ZXIiKSx7Y2VudGVyOjAsbWlkZGxlOjAsbGVmdDouNSxib3R0b206LS41LHJpZ2h0Oi0uNSx0b3A6LjV9W2VdfWZvcih2YXIgSD0hMSxHPVsieCIsInkiXSxZPTA7WTxHLmxlbmd0aDtZKyspe3ZhciBXLFgsWixKLEssUT1HW1ldLCQ9ZVtRKyJyZWYiXXx8USx0dD1lWyJhIitRKyJyZWYiXSxldD17eDpzLHk6dn1bUV0scnQ9KEUrKCJ4Ij09PVE/MDotOTApKSpNYXRoLlBJLzE4MCxudD1EKk1hdGguY29zKHJ0KSxhdD1qKk1hdGguc2luKHJ0KSxpdD1NYXRoLmFicyhudCkrTWF0aC5hYnMoYXQpLG90PWVbUSsiYW5jaG9yIl0sc3Q9ZVtRKyJzaGlmdCJdKigieCI9PT1RPzE6LTEpLGx0PVNbUV07aWYoZXQpe3ZhciBjdD1ldC5yMmZyYWN0aW9uKGVbUV0pOyhjdDwwfHxjdD4xKSYmKHR0PT09JD8oKGN0PWV0LnIyZnJhY3Rpb24oZVsiYSIrUV0pKTwwfHxjdD4xKSYmKEg9ITApOkg9ITApLFc9ZXQuX29mZnNldCtldC5yMnAoZVtRXSksSj0uNX1lbHNlIngiPT09UT8oWj1lW1FdLFc9Yi5sK2IudypaKTooWj0xLWVbUV0sVz1iLnQrYi5oKlopLEo9ZS5zaG93YXJyb3c/LjU6WjtpZihlLnNob3dhcnJvdyl7bHQuaGVhZD1XO3ZhciB1dD1lWyJhIitRXTtLPW50KlYoLjUsZS54YW5jaG9yKS1hdCpWKC41LGUueWFuY2hvciksdHQ9PT0kPyhsdC50YWlsPWV0Ll9vZmZzZXQrZXQucjJwKHV0KSxYPUspOihsdC50YWlsPVcrdXQsWD1LK3V0KSxsdC50ZXh0PWx0LnRhaWwrSzt2YXIgaHQ9eFsieCI9PT1RPyJ3aWR0aCI6ImhlaWdodCJdO2lmKCJwYXBlciI9PT0kJiYobHQuaGVhZD1vLmNvbnN0cmFpbihsdC5oZWFkLDEsaHQtMSkpLCJwaXhlbCI9PT10dCl7dmFyIGZ0PS1NYXRoLm1heChsdC50YWlsLTMsbHQudGV4dCkscHQ9TWF0aC5taW4obHQudGFpbCszLGx0LnRleHQpLWh0O2Z0PjA/KGx0LnRhaWwrPWZ0LGx0LnRleHQrPWZ0KTpwdD4wJiYobHQudGFpbC09cHQsbHQudGV4dC09cHQpfWx0LnRhaWwrPXN0LGx0LmhlYWQrPXN0fWVsc2UgWD1LPWl0KlYoSixvdCksbHQudGV4dD1XK0s7bHQudGV4dCs9c3QsSys9c3QsWCs9c3QsZVsiXyIrUSsicGFkcGx1cyJdPWl0LzIrWCxlWyJfIitRKyJwYWRtaW51cyJdPWl0LzItWCxlWyJfIitRKyJzaXplIl09aXQsZVsiXyIrUSsic2hpZnQiXT1LfWlmKEgpei5yZW1vdmUoKTtlbHNle3ZhciBkdD0wLGd0PTA7aWYoImxlZnQiIT09ZS5hbGlnbiYmKGR0PSh3LW0pKigiY2VudGVyIj09PWUuYWxpZ24/LjU6MSkpLCJ0b3AiIT09ZS52YWxpZ24mJihndD0oTy15KSooIm1pZGRsZSI9PT1lLnZhbGlnbj8uNToxKSksdSluLnNlbGVjdCgic3ZnIikuYXR0cih7eDpSK2R0LTEseTpSK2d0fSkuY2FsbChjLnNldENsaXBVcmwsQj9BOm51bGwsdCk7ZWxzZXt2YXIgdnQ9UitndC1kLnRvcCxtdD1SK2R0LWQubGVmdDtVLmNhbGwoaC5wb3NpdGlvblRleHQsbXQsdnQpLmNhbGwoYy5zZXRDbGlwVXJsLEI/QTpudWxsLHQpfU4uc2VsZWN0KCJyZWN0IikuY2FsbChjLnNldFJlY3QsUixSLHcsTyksRi5jYWxsKGMuc2V0UmVjdCxJLzIsSS8yLEQtSSxqLUkpLHouY2FsbChjLnNldFRyYW5zbGF0ZSxNYXRoLnJvdW5kKFMueC50ZXh0LUQvMiksTWF0aC5yb3VuZChTLnkudGV4dC1qLzIpKSxDLmF0dHIoe3RyYW5zZm9ybToicm90YXRlKCIrRSsiLCIrUy54LnRleHQrIiwiK1MueS50ZXh0KyIpIn0pO3ZhciB5dCx4dD1mdW5jdGlvbihyLG4pe0wuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1hcnJvdy1nIikucmVtb3ZlKCk7dmFyIHU9Uy54LmhlYWQsaD1TLnkuaGVhZCxmPVMueC50YWlsK3IsZD1TLnkudGFpbCtuLG09Uy54LnRleHQrcix5PVMueS50ZXh0K24seD1vLnJvdGF0aW9uWFlNYXRyaXgoRSxtLHkpLHc9by5hcHBseTJEVHJhbnNmb3JtKHgpLEE9by5hcHBseTJEVHJhbnNmb3JtMih4KSxQPStGLmF0dHIoIndpZHRoIiksTz0rRi5hdHRyKCJoZWlnaHQiKSxJPW0tLjUqUCxEPUkrUCxSPXktLjUqTyxCPVIrTyxOPVtbSSxSLEksQl0sW0ksQixELEJdLFtELEIsRCxSXSxbRCxSLEksUl1dLm1hcChBKTtpZighTi5yZWR1Y2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gdF4hIW8uc2VnbWVudHNJbnRlcnNlY3QodSxoLHUrMWU2LGgrMWU2LGVbMF0sZVsxXSxlWzJdLGVbM10pfSwhMSkpe04uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1vLnNlZ21lbnRzSW50ZXJzZWN0KGYsZCx1LGgsdFswXSx0WzFdLHRbMl0sdFszXSk7ZSYmKGY9ZS54LGQ9ZS55KX0pO3ZhciBqPWUuYXJyb3d3aWR0aCxWPWUuYXJyb3djb2xvcixVPWUuYXJyb3dzaWRlLHE9TC5hcHBlbmQoImciKS5zdHlsZSh7b3BhY2l0eTpsLm9wYWNpdHkoVil9KS5jbGFzc2VkKCJhbm5vdGF0aW9uLWFycm93LWciLCEwKSxIPXEuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsIk0iK2YrIiwiK2QrIkwiK3UrIiwiK2gpLnN0eWxlKCJzdHJva2Utd2lkdGgiLGorInB4IikuY2FsbChsLnN0cm9rZSxsLnJnYihWKSk7aWYoZyhILFUsZSksXy5hbm5vdGF0aW9uUG9zaXRpb24mJkgubm9kZSgpLnBhcmVudE5vZGUmJiFpKXt2YXIgRz11LFk9aDtpZihlLnN0YW5kb2ZmKXt2YXIgVz1NYXRoLnNxcnQoTWF0aC5wb3codS1mLDIpK01hdGgucG93KGgtZCwyKSk7Rys9ZS5zdGFuZG9mZiooZi11KS9XLFkrPWUuc3RhbmRvZmYqKGQtaCkvV312YXIgWCxaLEo9cS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJhbm5vdGF0aW9uLWFycm93IiwhMCkuY2xhc3NlZCgiYW5uZHJhZyIsITApLmNsYXNzZWQoImN1cnNvci1tb3ZlIiwhMCkuYXR0cih7ZDoiTTMsM0gtM1YtM0gzWk0wLDBMIisoZi1HKSsiLCIrKGQtWSksdHJhbnNmb3JtOiJ0cmFuc2xhdGUoIitHKyIsIitZKyIpIn0pLnN0eWxlKCJzdHJva2Utd2lkdGgiLGorNisicHgiKS5jYWxsKGwuc3Ryb2tlLCJyZ2JhKDAsMCwwLDApIikuY2FsbChsLmZpbGwsInJnYmEoMCwwLDAsMCkiKTtwLmluaXQoe2VsZW1lbnQ6Si5ub2RlKCksZ2Q6dCxwcmVwRm46ZnVuY3Rpb24oKXt2YXIgdD1jLmdldFRyYW5zbGF0ZSh6KTtYPXQueCxaPXQueSxzJiZzLmF1dG9yYW5nZSYmayhzLl9uYW1lKyIuYXV0b3JhbmdlIiwhMCksdiYmdi5hdXRvcmFuZ2UmJmsodi5fbmFtZSsiLmF1dG9yYW5nZSIsITApfSxtb3ZlRm46ZnVuY3Rpb24odCxyKXt2YXIgbj13KFgsWiksYT1uWzBdK3QsaT1uWzFdK3I7ei5jYWxsKGMuc2V0VHJhbnNsYXRlLGEsaSksVCgieCIscz9zLnAycihzLnIycChlLngpK3QpOmUueCt0L2IudyksVCgieSIsdj92LnAycih2LnIycChlLnkpK3IpOmUueS1yL2IuaCksZS5heHJlZj09PWUueHJlZiYmVCgiYXgiLHMucDJyKHMucjJwKGUuYXgpK3QpKSxlLmF5cmVmPT09ZS55cmVmJiZUKCJheSIsdi5wMnIodi5yMnAoZS5heSkrcikpLHEuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdCsiLCIrcisiKSIpLEMuYXR0cih7dHJhbnNmb3JtOiJyb3RhdGUoIitFKyIsIithKyIsIitpKyIpIn0pfSxkb25lRm46ZnVuY3Rpb24oKXthLmNhbGwoIl9ndWlSZWxheW91dCIsdCxNKCkpO3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1ub3Rlcy1ib3gtcGFuZWwiKTtlJiZlLnJlZHJhdyhlLnNlbGVjdGVkT2JqKX19KX19fTtpZihlLnNob3dhcnJvdyYmeHQoMCwwKSxQKXAuaW5pdCh7ZWxlbWVudDp6Lm5vZGUoKSxnZDp0LHByZXBGbjpmdW5jdGlvbigpe3l0PUMuYXR0cigidHJhbnNmb3JtIil9LG1vdmVGbjpmdW5jdGlvbih0LHIpe3ZhciBuPSJwb2ludGVyIjtpZihlLnNob3dhcnJvdyllLmF4cmVmPT09ZS54cmVmP1QoImF4IixzLnAycihzLnIycChlLmF4KSt0KSk6VCgiYXgiLGUuYXgrdCksZS5heXJlZj09PWUueXJlZj9UKCJheSIsdi5wMnIodi5yMnAoZS5heSkrcikpOlQoImF5IixlLmF5K3IpLHh0KHQscik7ZWxzZXtpZihpKXJldHVybjt2YXIgYSxvO2lmKHMpYT1zLnAycihzLnIycChlLngpK3QpO2Vsc2V7dmFyIGw9ZS5feHNpemUvYi53LGM9ZS54KyhlLl94c2hpZnQtZS54c2hpZnQpL2Iudy1sLzI7YT1wLmFsaWduKGMrdC9iLncsbCwwLDEsZS54YW5jaG9yKX1pZih2KW89di5wMnIodi5yMnAoZS55KStyKTtlbHNle3ZhciB1PWUuX3lzaXplL2IuaCxoPWUueS0oZS5feXNoaWZ0K2UueXNoaWZ0KS9iLmgtdS8yO289cC5hbGlnbihoLXIvYi5oLHUsMCwxLGUueWFuY2hvcil9VCgieCIsYSksVCgieSIsbykscyYmdnx8KG49cC5nZXRDdXJzb3Iocz8uNTphLHY/LjU6byxlLnhhbmNob3IsZS55YW5jaG9yKSl9Qy5hdHRyKHt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiK3QrIiwiK3IrIikiK3l0fSksZih6LG4pfSxjbGlja0ZuOmZ1bmN0aW9uKHIsbil7ZS5jYXB0dXJlZXZlbnRzJiZ0LmVtaXQoInBsb3RseV9jbGlja2Fubm90YXRpb24iLHEobikpfSxkb25lRm46ZnVuY3Rpb24oKXtmKHopLGEuY2FsbCgiX2d1aVJlbGF5b3V0Iix0LE0oKSk7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmpzLW5vdGVzLWJveC1wYW5lbCIpO2UmJmUucmVkcmF3KGUuc2VsZWN0ZWRPYmopfX0pfX19ZS5leHBvcnRzPXtkcmF3OmZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQ7ZS5faW5mb2xheWVyLnNlbGVjdEFsbCgiLmFubm90YXRpb24iKS5yZW1vdmUoKTtmb3IodmFyIHI9MDtyPGUuYW5ub3RhdGlvbnMubGVuZ3RoO3IrKyllLmFubm90YXRpb25zW3JdLnZpc2libGUmJnYodCxyKTtyZXR1cm4gaS5wcmV2aW91c1Byb21pc2VzKHQpfSxkcmF3T25lOnYsZHJhd1JhdzptfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3NldGN1cnNvciI6NzM3LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9wbG90cy9wbG90cyI6ODI2LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9jb2xvciI6NTkyLCIuLi9kcmFnZWxlbWVudCI6NjEwLCIuLi9kcmF3aW5nIjo2MTMsIi4uL2Z4Ijo2MzAsIi4vZHJhd19hcnJvd19oZWFkIjo1ODIsZDM6MTY1fV0sNTgyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi9jb2xvciIpLGk9dCgiLi9hcnJvd19wYXRocyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG8scyxsLGMsdT10Lm5vZGUoKSxoPWlbci5hcnJvd2hlYWR8fDBdLGY9aVtyLnN0YXJ0YXJyb3doZWFkfHwwXSxwPShyLmFycm93d2lkdGh8fDEpKihyLmFycm93c2l6ZXx8MSksZD0oci5hcnJvd3dpZHRofHwxKSooci5zdGFydGFycm93c2l6ZXx8MSksZz1lLmluZGV4T2YoInN0YXJ0Iik+PTAsdj1lLmluZGV4T2YoImVuZCIpPj0wLG09aC5iYWNrb2ZmKnArci5zdGFuZG9mZix5PWYuYmFja29mZipkK3Iuc3RhcnRzdGFuZG9mZjtpZigibGluZSI9PT11Lm5vZGVOYW1lKXtvPXt4Oit0LmF0dHIoIngxIikseTordC5hdHRyKCJ5MSIpfSxzPXt4Oit0LmF0dHIoIngyIikseTordC5hdHRyKCJ5MiIpfTt2YXIgeD1vLngtcy54LGI9by55LXMueTtpZihjPShsPU1hdGguYXRhbjIoYix4KSkrTWF0aC5QSSxtJiZ5JiZtK3k+TWF0aC5zcXJ0KHgqeCtiKmIpKXJldHVybiB2b2lkIFAoKTtpZihtKXtpZihtKm0+eCp4K2IqYilyZXR1cm4gdm9pZCBQKCk7dmFyIF89bSpNYXRoLmNvcyhsKSx3PW0qTWF0aC5zaW4obCk7cy54Kz1fLHMueSs9dyx0LmF0dHIoe3gyOnMueCx5MjpzLnl9KX1pZih5KXtpZih5Knk+eCp4K2IqYilyZXR1cm4gdm9pZCBQKCk7dmFyIGs9eSpNYXRoLmNvcyhsKSxUPXkqTWF0aC5zaW4obCk7by54LT1rLG8ueS09VCx0LmF0dHIoe3gxOm8ueCx5MTpvLnl9KX19ZWxzZSBpZigicGF0aCI9PT11Lm5vZGVOYW1lKXt2YXIgTT11LmdldFRvdGFsTGVuZ3RoKCksQT0iIjtpZihNPG0reSlyZXR1cm4gdm9pZCBQKCk7dmFyIFM9dS5nZXRQb2ludEF0TGVuZ3RoKDApLEU9dS5nZXRQb2ludEF0TGVuZ3RoKC4xKTtsPU1hdGguYXRhbjIoUy55LUUueSxTLngtRS54KSxvPXUuZ2V0UG9pbnRBdExlbmd0aChNYXRoLm1pbih5LE0pKSxBPSIwcHgsIit5KyJweCwiO3ZhciBMPXUuZ2V0UG9pbnRBdExlbmd0aChNKSxDPXUuZ2V0UG9pbnRBdExlbmd0aChNLS4xKTtjPU1hdGguYXRhbjIoTC55LUMueSxMLngtQy54KSxzPXUuZ2V0UG9pbnRBdExlbmd0aChNYXRoLm1heCgwLE0tbSkpLEErPU0tKEE/eSttOm0pKyJweCwiK00rInB4Iix0LnN0eWxlKCJzdHJva2UtZGFzaGFycmF5IixBKX1mdW5jdGlvbiBQKCl7dC5zdHlsZSgic3Ryb2tlLWRhc2hhcnJheSIsIjBweCwxMDBweCIpfWZ1bmN0aW9uIE8oZSxpLG8scyl7ZS5wYXRoJiYoZS5ub1JvdGF0ZSYmKG89MCksbi5zZWxlY3QodS5wYXJlbnROb2RlKS5hcHBlbmQoInBhdGgiKS5hdHRyKHtjbGFzczp0LmF0dHIoImNsYXNzIiksZDplLnBhdGgsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoIitpLngrIiwiK2kueSsiKSIrKG8/InJvdGF0ZSgiKzE4MCpvL01hdGguUEkrIikiOiIiKSsic2NhbGUoIitzKyIpIn0pLnN0eWxlKHtmaWxsOmEucmdiKHIuYXJyb3djb2xvciksInN0cm9rZS13aWR0aCI6MH0pKX1nJiZPKGYsbyxsLGQpLHYmJk8oaCxzLGMscCl9fSx7Ii4uL2NvbG9yIjo1OTIsIi4vYXJyb3dfcGF0aHMiOjU3NCxkMzoxNjV9XSw1ODM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9kcmF3IiksYT10KCIuL2NsaWNrIik7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6ImFubm90YXRpb25zIixsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxpbmNsdWRlQmFzZVBsb3Q6dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2luY2x1ZGVfY29tcG9uZW50cyIpKCJhbm5vdGF0aW9ucyIpLGNhbGNBdXRvcmFuZ2U6dCgiLi9jYWxjX2F1dG9yYW5nZSIpLGRyYXc6bi5kcmF3LGRyYXdPbmU6bi5kcmF3T25lLGRyYXdSYXc6bi5kcmF3UmF3LGhhc0NsaWNrVG9TaG93OmEuaGFzQ2xpY2tUb1Nob3csb25DbGljazphLm9uQ2xpY2ssY29udmVydENvb3Jkczp0KCIuL2NvbnZlcnRfY29vcmRzIil9fSx7Ii4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9pbmNsdWRlX2NvbXBvbmVudHMiOjc3NSwiLi9hdHRyaWJ1dGVzIjo1NzUsIi4vY2FsY19hdXRvcmFuZ2UiOjU3NiwiLi9jbGljayI6NTc3LCIuL2NvbnZlcnRfY29vcmRzIjo1NzksIi4vZGVmYXVsdHMiOjU4MCwiLi9kcmF3Ijo1ODF9XSw1ODQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vYW5ub3RhdGlvbnMvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLGk9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLnRlbXBsYXRlZEFycmF5O2UuZXhwb3J0cz1hKGkoImFubm90YXRpb24iLHt2aXNpYmxlOm4udmlzaWJsZSx4Ont2YWxUeXBlOiJhbnkifSx5Ont2YWxUeXBlOiJhbnkifSx6Ont2YWxUeXBlOiJhbnkifSxheDp7dmFsVHlwZToibnVtYmVyIn0sYXk6e3ZhbFR5cGU6Im51bWJlciJ9LHhhbmNob3I6bi54YW5jaG9yLHhzaGlmdDpuLnhzaGlmdCx5YW5jaG9yOm4ueWFuY2hvcix5c2hpZnQ6bi55c2hpZnQsdGV4dDpuLnRleHQsdGV4dGFuZ2xlOm4udGV4dGFuZ2xlLGZvbnQ6bi5mb250LHdpZHRoOm4ud2lkdGgsaGVpZ2h0Om4uaGVpZ2h0LG9wYWNpdHk6bi5vcGFjaXR5LGFsaWduOm4uYWxpZ24sdmFsaWduOm4udmFsaWduLGJnY29sb3I6bi5iZ2NvbG9yLGJvcmRlcmNvbG9yOm4uYm9yZGVyY29sb3IsYm9yZGVycGFkOm4uYm9yZGVycGFkLGJvcmRlcndpZHRoOm4uYm9yZGVyd2lkdGgsc2hvd2Fycm93Om4uc2hvd2Fycm93LGFycm93Y29sb3I6bi5hcnJvd2NvbG9yLGFycm93aGVhZDpuLmFycm93aGVhZCxzdGFydGFycm93aGVhZDpuLnN0YXJ0YXJyb3doZWFkLGFycm93c2lkZTpuLmFycm93c2lkZSxhcnJvd3NpemU6bi5hcnJvd3NpemUsc3RhcnRhcnJvd3NpemU6bi5zdGFydGFycm93c2l6ZSxhcnJvd3dpZHRoOm4uYXJyb3d3aWR0aCxzdGFuZG9mZjpuLnN0YW5kb2ZmLHN0YXJ0c3RhbmRvZmY6bi5zdGFydHN0YW5kb2ZmLGhvdmVydGV4dDpuLmhvdmVydGV4dCxob3ZlcmxhYmVsOm4uaG92ZXJsYWJlbCxjYXB0dXJlZXZlbnRzOm4uY2FwdHVyZWV2ZW50c30pLCJjYWxjIiwiZnJvbS1yb290Iil9LHsiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uL2Fubm90YXRpb25zL2F0dHJpYnV0ZXMiOjU3NX1dLDU4NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIik7ZnVuY3Rpb24gaSh0LGUpe3ZhciByPWUuZnVsbFNjZW5lTGF5b3V0LmRvbWFpbixpPWUuZnVsbExheW91dC5fc2l6ZSxvPXtwZGF0YTpudWxsLHR5cGU6ImxpbmVhciIsYXV0b3JhbmdlOiExLHJhbmdlOlstMS8wLDEvMF19O3QuX3hhPXt9LG4uZXh0ZW5kRmxhdCh0Ll94YSxvKSxhLnNldENvbnZlcnQodC5feGEpLHQuX3hhLl9vZmZzZXQ9aS5sK3IueFswXSppLncsdC5feGEubDJwPWZ1bmN0aW9uKCl7cmV0dXJuLjUqKDErdC5fcGRhdGFbMF0vdC5fcGRhdGFbM10pKmkudyooci54WzFdLXIueFswXSl9LHQuX3lhPXt9LG4uZXh0ZW5kRmxhdCh0Ll95YSxvKSxhLnNldENvbnZlcnQodC5feWEpLHQuX3lhLl9vZmZzZXQ9aS50KygxLXIueVsxXSkqaS5oLHQuX3lhLmwycD1mdW5jdGlvbigpe3JldHVybi41KigxLXQuX3BkYXRhWzFdL3QuX3BkYXRhWzNdKSppLmgqKHIueVsxXS1yLnlbMF0pfX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuZnVsbFNjZW5lTGF5b3V0LmFubm90YXRpb25zLHI9MDtyPGUubGVuZ3RoO3IrKylpKGVbcl0sdCk7dC5mdWxsTGF5b3V0Ll9pbmZvbGF5ZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi0iK3QuaWQpLnJlbW92ZSgpfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDU4NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksaT10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxvPXQoIi4uL2Fubm90YXRpb25zL2NvbW1vbl9kZWZhdWx0cyIpLHM9dCgiLi9hdHRyaWJ1dGVzIik7ZnVuY3Rpb24gbCh0LGUscixpKXtmdW5jdGlvbiBsKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxzLHIsYSl9ZnVuY3Rpb24gYyh0KXt2YXIgbj10KyJheGlzIixpPXtfZnVsbExheW91dDp7fX07cmV0dXJuIGkuX2Z1bGxMYXlvdXRbbl09cltuXSxhLmNvZXJjZVBvc2l0aW9uKGUsaSxsLHQsdCwuNSl9bCgidmlzaWJsZSIpJiYobyh0LGUsaS5mdWxsTGF5b3V0LGwpLGMoIngiKSxjKCJ5IiksYygieiIpLG4ubm9uZU9yQWxsKHQsZSxbIngiLCJ5IiwieiJdKSxlLnhyZWY9IngiLGUueXJlZj0ieSIsZS56cmVmPSJ6IixsKCJ4YW5jaG9yIiksbCgieWFuY2hvciIpLGwoInhzaGlmdCIpLGwoInlzaGlmdCIpLGUuc2hvd2Fycm93JiYoZS5heHJlZj0icGl4ZWwiLGUuYXlyZWY9InBpeGVsIixsKCJheCIsLTEwKSxsKCJheSIsLTMwKSxuLm5vbmVPckFsbCh0LGUsWyJheCIsImF5Il0pKSl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpKHQsZSx7bmFtZToiYW5ub3RhdGlvbnMiLGhhbmRsZUl0ZW1EZWZhdWx0czpsLGZ1bGxMYXlvdXQ6ci5mdWxsTGF5b3V0fSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vYW5ub3RhdGlvbnMvY29tbW9uX2RlZmF1bHRzIjo1NzgsIi4vYXR0cmlidXRlcyI6NTg0fV0sNTg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Fubm90YXRpb25zL2RyYXciKS5kcmF3UmF3LGE9dCgiLi4vLi4vcGxvdHMvZ2wzZC9wcm9qZWN0IiksaT1bIngiLCJ5IiwieiJdO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5mdWxsU2NlbmVMYXlvdXQscj10LmRhdGFTY2FsZSxvPWUuYW5ub3RhdGlvbnMscz0wO3M8by5sZW5ndGg7cysrKXtmb3IodmFyIGw9b1tzXSxjPSExLHU9MDt1PDM7dSsrKXt2YXIgaD1pW3VdLGY9bFtoXSxwPWVbaCsiYXhpcyJdLnIyZnJhY3Rpb24oZik7aWYocDwwfHxwPjEpe2M9ITA7YnJlYWt9fWM/dC5mdWxsTGF5b3V0Ll9pbmZvbGF5ZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi0iK3QuaWQrJ1tkYXRhLWluZGV4PSInK3MrJyJdJykucmVtb3ZlKCk6KGwuX3BkYXRhPWEodC5nbHBsb3QuY2FtZXJhUGFyYW1zLFtlLnhheGlzLnIybChsLngpKnJbMF0sZS55YXhpcy5yMmwobC55KSpyWzFdLGUuemF4aXMucjJsKGwueikqclsyXV0pLG4odC5ncmFwaERpdixsLHMsdC5pZCxsLl94YSxsLl95YSkpfX19LHsiLi4vLi4vcGxvdHMvZ2wzZC9wcm9qZWN0Ijo4MTQsIi4uL2Fubm90YXRpb25zL2RyYXciOjU4MX1dLDU4ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6ImFubm90YXRpb25zM2QiLHNjaGVtYTp7c3VicGxvdHM6e3NjZW5lOnthbm5vdGF0aW9uczp0KCIuL2F0dHJpYnV0ZXMiKX19fSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLGhhbmRsZURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxpbmNsdWRlQmFzZVBsb3Q6ZnVuY3Rpb24odCxlKXt2YXIgcj1uLnN1YnBsb3RzUmVnaXN0cnkuZ2wzZDtpZighcilyZXR1cm47Zm9yKHZhciBpPXIuYXR0clJlZ2V4LG89T2JqZWN0LmtleXModCkscz0wO3M8by5sZW5ndGg7cysrKXt2YXIgbD1vW3NdO2kudGVzdChsKSYmKHRbbF0uYW5ub3RhdGlvbnN8fFtdKS5sZW5ndGgmJihhLnB1c2hVbmlxdWUoZS5fYmFzZVBsb3RNb2R1bGVzLHIpLGEucHVzaFVuaXF1ZShlLl9zdWJwbG90cy5nbDNkLGwpKX19LGNvbnZlcnQ6dCgiLi9jb252ZXJ0IiksZHJhdzp0KCIuL2RyYXciKX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vYXR0cmlidXRlcyI6NTg0LCIuL2NvbnZlcnQiOjU4NSwiLi9kZWZhdWx0cyI6NTg2LCIuL2RyYXciOjU4N31dLDU4OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgid29ybGQtY2FsZW5kYXJzL2Rpc3QvbWFpbiIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L3BsdXMiKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvY2hpbmVzZSIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9jb3B0aWMiKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvZGlzY3dvcmxkIiksdCgid29ybGQtY2FsZW5kYXJzL2Rpc3QvY2FsZW5kYXJzL2V0aGlvcGlhbiIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9oZWJyZXciKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvaXNsYW1pYyIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9qdWxpYW4iKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvbWF5YW4iKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvbmFuYWtzaGFoaSIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9uZXBhbGkiKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvcGVyc2lhbiIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy90YWl3YW4iKSx0KCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvdGhhaSIpLHQoIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy91bW1hbHF1cmEiKX0seyJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvY2hpbmVzZSI6NTU2LCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvY29wdGljIjo1NTcsIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9kaXNjd29ybGQiOjU1OCwid29ybGQtY2FsZW5kYXJzL2Rpc3QvY2FsZW5kYXJzL2V0aGlvcGlhbiI6NTU5LCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvaGVicmV3Ijo1NjAsIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9pc2xhbWljIjo1NjEsIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9qdWxpYW4iOjU2Miwid29ybGQtY2FsZW5kYXJzL2Rpc3QvY2FsZW5kYXJzL21heWFuIjo1NjMsIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9uYW5ha3NoYWhpIjo1NjQsIndvcmxkLWNhbGVuZGFycy9kaXN0L2NhbGVuZGFycy9uZXBhbGkiOjU2NSwid29ybGQtY2FsZW5kYXJzL2Rpc3QvY2FsZW5kYXJzL3BlcnNpYW4iOjU2Niwid29ybGQtY2FsZW5kYXJzL2Rpc3QvY2FsZW5kYXJzL3RhaXdhbiI6NTY3LCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvdGhhaSI6NTY4LCJ3b3JsZC1jYWxlbmRhcnMvZGlzdC9jYWxlbmRhcnMvdW1tYWxxdXJhIjo1NjksIndvcmxkLWNhbGVuZGFycy9kaXN0L21haW4iOjU3MCwid29ybGQtY2FsZW5kYXJzL2Rpc3QvcGx1cyI6NTcxfV0sNTkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vY2FsZW5kYXJzIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKSxvPWkuRVBPQ0hKRCxzPWkuT05FREFZLGw9e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpPYmplY3Qua2V5cyhuLmNhbGVuZGFycyksZWRpdFR5cGU6ImNhbGMiLGRmbHQ6ImdyZWdvcmlhbiJ9LGM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9e307cmV0dXJuIGlbcl09bCxhLmNvZXJjZSh0LGUsaSxyLG4pfSx1PSIjIyIsaD17ZDp7MDoiZGQiLCItIjoiZCJ9LGU6ezA6ImQiLCItIjoiZCJ9LGE6ezA6IkQiLCItIjoiRCJ9LEE6ezA6IkREIiwiLSI6IkREIn0sajp7MDoib28iLCItIjoibyJ9LFc6ezA6Ind3IiwiLSI6IncifSxtOnswOiJtbSIsIi0iOiJtIn0sYjp7MDoiTSIsIi0iOiJNIn0sQjp7MDoiTU0iLCItIjoiTU0ifSx5OnswOiJ5eSIsIi0iOiJ5eSJ9LFk6ezA6Inl5eXkiLCItIjoieXl5eSJ9LFU6dSx3OnUsYzp7MDoiRCBNIGQgJVggeXl5eSIsIi0iOiJEIE0gZCAlWCB5eXl5In0seDp7MDoibW0vZGQveXl5eSIsIi0iOiJtbS9kZC95eXl5In19O3ZhciBmPXt9O2Z1bmN0aW9uIHAodCl7dmFyIGU9Zlt0XTtyZXR1cm4gZXx8KGU9Zlt0XT1uLmluc3RhbmNlKHQpKX1mdW5jdGlvbiBkKHQpe3JldHVybiBhLmV4dGVuZEZsYXQoe30sbCx7ZGVzY3JpcHRpb246dH0pfWZ1bmN0aW9uIGcodCl7cmV0dXJuIlNldHMgdGhlIGNhbGVuZGFyIHN5c3RlbSB0byB1c2Ugd2l0aCBgIit0KyJgIGRhdGUgZGF0YS4ifXZhciB2PXt4Y2FsZW5kYXI6ZChnKCJ4IikpfSxtPWEuZXh0ZW5kRmxhdCh7fSx2LHt5Y2FsZW5kYXI6ZChnKCJ5IikpfSkseT1hLmV4dGVuZEZsYXQoe30sbSx7emNhbGVuZGFyOmQoZygieiIpKX0pLHg9ZChbIlNldHMgdGhlIGNhbGVuZGFyIHN5c3RlbSB0byB1c2UgZm9yIGByYW5nZWAgYW5kIGB0aWNrMGAiLCJpZiB0aGlzIGlzIGEgZGF0ZSBheGlzLiBUaGlzIGRvZXMgbm90IHNldCB0aGUgY2FsZW5kYXIgZm9yIiwiaW50ZXJwcmV0aW5nIGRhdGEgb24gdGhpcyBheGlzLCB0aGF0J3Mgc3BlY2lmaWVkIGluIHRoZSB0cmFjZSIsIm9yIHZpYSB0aGUgZ2xvYmFsIGBsYXlvdXQuY2FsZW5kYXJgIl0uam9pbigiICIpKTtlLmV4cG9ydHM9e21vZHVsZVR5cGU6ImNvbXBvbmVudCIsbmFtZToiY2FsZW5kYXJzIixzY2hlbWE6e3RyYWNlczp7c2NhdHRlcjptLGJhcjptLGJveDptLGhlYXRtYXA6bSxjb250b3VyOm0saGlzdG9ncmFtOm0saGlzdG9ncmFtMmQ6bSxoaXN0b2dyYW0yZGNvbnRvdXI6bSxzY2F0dGVyM2Q6eSxzdXJmYWNlOnksbWVzaDNkOnksc2NhdHRlcmdsOm0sb2hsYzp2LGNhbmRsZXN0aWNrOnZ9LGxheW91dDp7Y2FsZW5kYXI6ZChbIlNldHMgdGhlIGRlZmF1bHQgY2FsZW5kYXIgc3lzdGVtIHRvIHVzZSBmb3IgaW50ZXJwcmV0aW5nIGFuZCIsImRpc3BsYXlpbmcgZGF0ZXMgdGhyb3VnaG91dCB0aGUgcGxvdC4iXS5qb2luKCIgIikpfSxzdWJwbG90czp7eGF4aXM6e2NhbGVuZGFyOnh9LHlheGlzOntjYWxlbmRhcjp4fSxzY2VuZTp7eGF4aXM6e2NhbGVuZGFyOnh9LHlheGlzOntjYWxlbmRhcjp4fSx6YXhpczp7Y2FsZW5kYXI6eH19LHBvbGFyOntyYWRpYWxheGlzOntjYWxlbmRhcjp4fX19LHRyYW5zZm9ybXM6e2ZpbHRlcjp7dmFsdWVjYWxlbmRhcjpkKFsiU2V0cyB0aGUgY2FsZW5kYXIgc3lzdGVtIHRvIHVzZSBmb3IgYHZhbHVlYCwgaWYgaXQgaXMgYSBkYXRlLiJdLmpvaW4oIiAiKSksdGFyZ2V0Y2FsZW5kYXI6ZChbIlNldHMgdGhlIGNhbGVuZGFyIHN5c3RlbSB0byB1c2UgZm9yIGB0YXJnZXRgLCBpZiBpdCBpcyBhbiIsImFycmF5IG9mIGRhdGVzLiBJZiBgdGFyZ2V0YCBpcyBhIHN0cmluZyAoZWcgKngqKSB3ZSB1c2UgdGhlIiwiY29ycmVzcG9uZGluZyB0cmFjZSBhdHRyaWJ1dGUgKGVnIGB4Y2FsZW5kYXJgKSBpZiBpdCBleGlzdHMsIiwiZXZlbiBpZiBgdGFyZ2V0Y2FsZW5kYXJgIGlzIHByb3ZpZGVkLiJdLmpvaW4oIiAiKSl9fX0sbGF5b3V0QXR0cmlidXRlczpsLGhhbmRsZURlZmF1bHRzOmMsaGFuZGxlVHJhY2VEZWZhdWx0czpmdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MDthPHIubGVuZ3RoO2ErKyljKHQsZSxyW2FdKyJjYWxlbmRhciIsbi5jYWxlbmRhcil9LENBTk9OSUNBTF9TVU5EQVk6e2NoaW5lc2U6IjIwMDAtMDEtMDIiLGNvcHRpYzoiMjAwMC0wMS0wMyIsZGlzY3dvcmxkOiIyMDAwLTAxLTAzIixldGhpb3BpYW46IjIwMDAtMDEtMDUiLGhlYnJldzoiNTAwMC0wMS0wMSIsaXNsYW1pYzoiMTAwMC0wMS0wMiIsanVsaWFuOiIyMDAwLTAxLTAzIixtYXlhbjoiNTAwMC0wMS0wMSIsbmFuYWtzaGFoaToiMTAwMC0wMS0wNSIsbmVwYWxpOiIyMDAwLTAxLTA1IixwZXJzaWFuOiIxMDAwLTAxLTAxIixqYWxhbGk6IjEwMDAtMDEtMDEiLHRhaXdhbjoiMTAwMC0wMS0wNCIsdGhhaToiMjAwMC0wMS0wNCIsdW1tYWxxdXJhOiIxNDAwLTAxLTA2In0sQ0FOT05JQ0FMX1RJQ0s6e2NoaW5lc2U6IjIwMDAtMDEtMDEiLGNvcHRpYzoiMjAwMC0wMS0wMSIsZGlzY3dvcmxkOiIyMDAwLTAxLTAxIixldGhpb3BpYW46IjIwMDAtMDEtMDEiLGhlYnJldzoiNTAwMC0wMS0wMSIsaXNsYW1pYzoiMTAwMC0wMS0wMSIsanVsaWFuOiIyMDAwLTAxLTAxIixtYXlhbjoiNTAwMC0wMS0wMSIsbmFuYWtzaGFoaToiMTAwMC0wMS0wMSIsbmVwYWxpOiIyMDAwLTAxLTAxIixwZXJzaWFuOiIxMDAwLTAxLTAxIixqYWxhbGk6IjEwMDAtMDEtMDEiLHRhaXdhbjoiMTAwMC0wMS0wMSIsdGhhaToiMjAwMC0wMS0wMSIsdW1tYWxxdXJhOiIxNDAwLTAxLTAxIn0sREZMVFJBTkdFOntjaGluZXNlOlsiMjAwMC0wMS0wMSIsIjIwMDEtMDEtMDEiXSxjb3B0aWM6WyIxNzAwLTAxLTAxIiwiMTcwMS0wMS0wMSJdLGRpc2N3b3JsZDpbIjE4MDAtMDEtMDEiLCIxODAxLTAxLTAxIl0sZXRoaW9waWFuOlsiMjAwMC0wMS0wMSIsIjIwMDEtMDEtMDEiXSxoZWJyZXc6WyI1NzAwLTAxLTAxIiwiNTcwMS0wMS0wMSJdLGlzbGFtaWM6WyIxNDAwLTAxLTAxIiwiMTQwMS0wMS0wMSJdLGp1bGlhbjpbIjIwMDAtMDEtMDEiLCIyMDAxLTAxLTAxIl0sbWF5YW46WyI1MjAwLTAxLTAxIiwiNTIwMS0wMS0wMSJdLG5hbmFrc2hhaGk6WyIwNTAwLTAxLTAxIiwiMDUwMS0wMS0wMSJdLG5lcGFsaTpbIjIwMDAtMDEtMDEiLCIyMDAxLTAxLTAxIl0scGVyc2lhbjpbIjE0MDAtMDEtMDEiLCIxNDAxLTAxLTAxIl0samFsYWxpOlsiMTQwMC0wMS0wMSIsIjE0MDEtMDEtMDEiXSx0YWl3YW46WyIwMTAwLTAxLTAxIiwiMDEwMS0wMS0wMSJdLHRoYWk6WyIyNTAwLTAxLTAxIiwiMjUwMS0wMS0wMSJdLHVtbWFscXVyYTpbIjE0MDAtMDEtMDEiLCIxNDAxLTAxLTAxIl19LGdldENhbDpwLHdvcmxkQ2FsRm10OmZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4sYSxpLGwsYyxmPU1hdGguZmxvb3IoKGUrLjA1KS9zKStvLGQ9cChyKS5mcm9tSkQoZiksZz0wOy0xIT09KGc9dC5pbmRleE9mKCIlIixnKSk7KSIwIj09PShuPXQuY2hhckF0KGcrMSkpfHwiLSI9PT1ufHwiXyI9PT1uPyhpPTMsYT10LmNoYXJBdChnKzIpLCJfIj09PW4mJihuPSItIikpOihhPW4sbj0iMCIsaT0yKSwobD1oW2FdKT8oYz1sPT09dT91OmQuZm9ybWF0RGF0ZShsW25dKSx0PXQuc3Vic3RyKDAsZykrYyt0LnN1YnN0cihnK2kpLGcrPWMubGVuZ3RoKTpnKz1pO3JldHVybiB0fX19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi9jYWxlbmRhcnMiOjU4OX1dLDU5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmRlZmF1bHRzPVsiIzFmNzdiNCIsIiNmZjdmMGUiLCIjMmNhMDJjIiwiI2Q2MjcyOCIsIiM5NDY3YmQiLCIjOGM1NjRiIiwiI2UzNzdjMiIsIiM3ZjdmN2YiLCIjYmNiZDIyIiwiIzE3YmVjZiJdLHIuZGVmYXVsdExpbmU9IiM0NDQiLHIubGlnaHRMaW5lPSIjZWVlIixyLmJhY2tncm91bmQ9IiNmZmYiLHIuYm9yZGVyTGluZT0iI0JFQzhEOSIsci5saWdodEZyYWN0aW9uPTFlMy8xMX0se31dLDU5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0aW55Y29sb3IyIiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9ZS5leHBvcnRzPXt9LG89dCgiLi9hdHRyaWJ1dGVzIik7aS5kZWZhdWx0cz1vLmRlZmF1bHRzO3ZhciBzPWkuZGVmYXVsdExpbmU9by5kZWZhdWx0TGluZTtpLmxpZ2h0TGluZT1vLmxpZ2h0TGluZTt2YXIgbD1pLmJhY2tncm91bmQ9by5iYWNrZ3JvdW5kO2Z1bmN0aW9uIGModCl7aWYoYSh0KXx8InN0cmluZyIhPXR5cGVvZiB0KXJldHVybiB0O3ZhciBlPXQudHJpbSgpO2lmKCJyZ2IiIT09ZS5zdWJzdHIoMCwzKSlyZXR1cm4gdDt2YXIgcj1lLm1hdGNoKC9ecmdiYT9ccypcKChbXigpXSopXCkkLyk7aWYoIXIpcmV0dXJuIHQ7dmFyIG49clsxXS50cmltKCkuc3BsaXQoL1xzKltccyxdXHMqLyksaT0iYSI9PT1lLmNoYXJBdCgzKSYmND09PW4ubGVuZ3RoO2lmKCFpJiYzIT09bi5sZW5ndGgpcmV0dXJuIHQ7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspe2lmKCFuW29dLmxlbmd0aClyZXR1cm4gdDtpZihuW29dPU51bWJlcihuW29dKSwhKG5bb10+PTApKXJldHVybiB0O2lmKDM9PT1vKW5bb10+MSYmKG5bb109MSk7ZWxzZSBpZihuW29dPj0xKXJldHVybiB0fXZhciBzPU1hdGgucm91bmQoMjU1Km5bMF0pKyIsICIrTWF0aC5yb3VuZCgyNTUqblsxXSkrIiwgIitNYXRoLnJvdW5kKDI1NSpuWzJdKTtyZXR1cm4gaT8icmdiYSgiK3MrIiwgIituWzNdKyIpIjoicmdiKCIrcysiKSJ9aS50aW55UkdCPWZ1bmN0aW9uKHQpe3ZhciBlPXQudG9SZ2IoKTtyZXR1cm4icmdiKCIrTWF0aC5yb3VuZChlLnIpKyIsICIrTWF0aC5yb3VuZChlLmcpKyIsICIrTWF0aC5yb3VuZChlLmIpKyIpIn0saS5yZ2I9ZnVuY3Rpb24odCl7cmV0dXJuIGkudGlueVJHQihuKHQpKX0saS5vcGFjaXR5PWZ1bmN0aW9uKHQpe3JldHVybiB0P24odCkuZ2V0QWxwaGEoKTowfSxpLmFkZE9wYWNpdHk9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHQpLnRvUmdiKCk7cmV0dXJuInJnYmEoIitNYXRoLnJvdW5kKHIucikrIiwgIitNYXRoLnJvdW5kKHIuZykrIiwgIitNYXRoLnJvdW5kKHIuYikrIiwgIitlKyIpIn0saS5jb21iaW5lPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bih0KS50b1JnYigpO2lmKDE9PT1yLmEpcmV0dXJuIG4odCkudG9SZ2JTdHJpbmcoKTt2YXIgYT1uKGV8fGwpLnRvUmdiKCksaT0xPT09YS5hP2E6e3I6MjU1KigxLWEuYSkrYS5yKmEuYSxnOjI1NSooMS1hLmEpK2EuZyphLmEsYjoyNTUqKDEtYS5hKSthLmIqYS5hfSxvPXtyOmkuciooMS1yLmEpK3IucipyLmEsZzppLmcqKDEtci5hKStyLmcqci5hLGI6aS5iKigxLXIuYSkrci5iKnIuYX07cmV0dXJuIG4obykudG9SZ2JTdHJpbmcoKX0saS5jb250cmFzdD1mdW5jdGlvbih0LGUscil7dmFyIGE9bih0KTtyZXR1cm4gMSE9PWEuZ2V0QWxwaGEoKSYmKGE9bihpLmNvbWJpbmUodCxsKSkpLChhLmlzRGFyaygpP2U/YS5saWdodGVuKGUpOmw6cj9hLmRhcmtlbihyKTpzKS50b1N0cmluZygpfSxpLnN0cm9rZT1mdW5jdGlvbih0LGUpe3ZhciByPW4oZSk7dC5zdHlsZSh7c3Ryb2tlOmkudGlueVJHQihyKSwic3Ryb2tlLW9wYWNpdHkiOnIuZ2V0QWxwaGEoKX0pfSxpLmZpbGw9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKGUpO3Quc3R5bGUoe2ZpbGw6aS50aW55UkdCKHIpLCJmaWxsLW9wYWNpdHkiOnIuZ2V0QWxwaGEoKX0pfSxpLmNsZWFuPWZ1bmN0aW9uKHQpe2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCl7dmFyIGUscixuLGEsbz1PYmplY3Qua2V5cyh0KTtmb3IoZT0wO2U8by5sZW5ndGg7ZSsrKWlmKGE9dFtuPW9bZV1dLCJjb2xvciI9PT1uLnN1YnN0cihuLmxlbmd0aC01KSlpZihBcnJheS5pc0FycmF5KGEpKWZvcihyPTA7cjxhLmxlbmd0aDtyKyspYVtyXT1jKGFbcl0pO2Vsc2UgdFtuXT1jKGEpO2Vsc2UgaWYoImNvbG9yc2NhbGUiPT09bi5zdWJzdHIobi5sZW5ndGgtMTApJiZBcnJheS5pc0FycmF5KGEpKWZvcihyPTA7cjxhLmxlbmd0aDtyKyspQXJyYXkuaXNBcnJheShhW3JdKSYmKGFbcl1bMV09YyhhW3JdWzFdKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgcz1hWzBdO2lmKCFBcnJheS5pc0FycmF5KHMpJiZzJiYib2JqZWN0Ij09dHlwZW9mIHMpZm9yKHI9MDtyPGEubGVuZ3RoO3IrKylpLmNsZWFuKGFbcl0pfWVsc2UgYSYmIm9iamVjdCI9PXR5cGVvZiBhJiZpLmNsZWFuKGEpfX19LHsiLi9hdHRyaWJ1dGVzIjo1OTEsImZhc3QtaXNudW1lcmljIjoyMjgsdGlueWNvbG9yMjo1MzZ9XSw1OTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2xheW91dF9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LG89dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsO2UuZXhwb3J0cz1vKHt0aGlja25lc3Ntb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJmcmFjdGlvbiIsInBpeGVscyJdLGRmbHQ6InBpeGVscyJ9LHRoaWNrbmVzczp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjMwfSxsZW5tb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJmcmFjdGlvbiIsInBpeGVscyJdLGRmbHQ6ImZyYWN0aW9uIn0sbGVuOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX0seDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjEuMDIsbWluOi0yLG1heDozfSx4YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiXSxkZmx0OiJsZWZ0In0seHBhZDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEwfSx5Ont2YWxUeXBlOiJudW1iZXIiLGRmbHQ6LjUsbWluOi0yLG1heDozfSx5YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AiLCJtaWRkbGUiLCJib3R0b20iXSxkZmx0OiJtaWRkbGUifSx5cGFkOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MTB9LG91dGxpbmVjb2xvcjpuLmxpbmVjb2xvcixvdXRsaW5ld2lkdGg6bi5saW5ld2lkdGgsYm9yZGVyY29sb3I6bi5saW5lY29sb3IsYm9yZGVyd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDowfSxiZ2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDoicmdiYSgwLDAsMCwwKSJ9LHRpY2ttb2RlOm4udGlja21vZGUsbnRpY2tzOm4ubnRpY2tzLHRpY2swOm4udGljazAsZHRpY2s6bi5kdGljayx0aWNrdmFsczpuLnRpY2t2YWxzLHRpY2t0ZXh0Om4udGlja3RleHQsdGlja3M6aSh7fSxuLnRpY2tzLHtkZmx0OiIifSksdGlja2xlbjpuLnRpY2tsZW4sdGlja3dpZHRoOm4udGlja3dpZHRoLHRpY2tjb2xvcjpuLnRpY2tjb2xvcixzaG93dGlja2xhYmVsczpuLnNob3d0aWNrbGFiZWxzLHRpY2tmb250OmEoe30pLHRpY2thbmdsZTpuLnRpY2thbmdsZSx0aWNrZm9ybWF0Om4udGlja2Zvcm1hdCx0aWNrZm9ybWF0c3RvcHM6bi50aWNrZm9ybWF0c3RvcHMsdGlja3ByZWZpeDpuLnRpY2twcmVmaXgsc2hvd3RpY2twcmVmaXg6bi5zaG93dGlja3ByZWZpeCx0aWNrc3VmZml4Om4udGlja3N1ZmZpeCxzaG93dGlja3N1ZmZpeDpuLnNob3d0aWNrc3VmZml4LHNlcGFyYXRldGhvdXNhbmRzOm4uc2VwYXJhdGV0aG91c2FuZHMsZXhwb25lbnRmb3JtYXQ6bi5leHBvbmVudGZvcm1hdCxzaG93ZXhwb25lbnQ6bi5zaG93ZXhwb25lbnQsdGl0bGU6e3RleHQ6e3ZhbFR5cGU6InN0cmluZyJ9LGZvbnQ6YSh7fSksc2lkZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsicmlnaHQiLCJ0b3AiLCJib3R0b20iXSxkZmx0OiJ0b3AifX0sX2RlcHJlY2F0ZWQ6e3RpdGxlOnt2YWxUeXBlOiJzdHJpbmcifSx0aXRsZWZvbnQ6YSh7fSksdGl0bGVzaWRlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJyaWdodCIsInRvcCIsImJvdHRvbSJdLGRmbHQ6InRvcCJ9fX0sImNvbG9yYmFycyIsImZyb20tcm9vdCIpfSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTF9XSw1OTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtjbjp7Y29sb3JiYXI6ImNvbG9yYmFyIixjYmJnOiJjYmJnIixjYmZpbGw6ImNiZmlsbCIsY2JmaWxsczoiY2JmaWxscyIsY2JsaW5lOiJjYmxpbmUiLGNibGluZXM6ImNibGluZXMiLGNiYXhpczoiY2JheGlzIixjYnRpdGxldW5zaGlmdDoiY2J0aXRsZXVuc2hpZnQiLGNidGl0bGU6ImNidGl0bGUiLGNib3V0bGluZToiY2JvdXRsaW5lIixjcmlzcDoiY3Jpc3AiLGpzUGxhY2Vob2xkZXI6ImpzLXBsYWNlaG9sZGVyIn19fSx7fV0sNTk1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLGk9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3RpY2tfdmFsdWVfZGVmYXVsdHMiKSxvPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX21hcmtfZGVmYXVsdHMiKSxzPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX2xhYmVsX2RlZmF1bHRzIiksbD10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBjPWEubmV3Q29udGFpbmVyKGUsImNvbG9yYmFyIiksdT10LmNvbG9yYmFyfHx7fTtmdW5jdGlvbiBoKHQsZSl7cmV0dXJuIG4uY29lcmNlKHUsYyxsLHQsZSl9dmFyIGY9aCgidGhpY2tuZXNzbW9kZSIpO2goInRoaWNrbmVzcyIsImZyYWN0aW9uIj09PWY/MzAvKHIud2lkdGgtci5tYXJnaW4ubC1yLm1hcmdpbi5yKTozMCk7dmFyIHA9aCgibGVubW9kZSIpO2goImxlbiIsImZyYWN0aW9uIj09PXA/MTpyLmhlaWdodC1yLm1hcmdpbi50LXIubWFyZ2luLmIpLGgoIngiKSxoKCJ4YW5jaG9yIiksaCgieHBhZCIpLGgoInkiKSxoKCJ5YW5jaG9yIiksaCgieXBhZCIpLG4ubm9uZU9yQWxsKHUsYyxbIngiLCJ5Il0pLGgoIm91dGxpbmVjb2xvciIpLGgoIm91dGxpbmV3aWR0aCIpLGgoImJvcmRlcmNvbG9yIiksaCgiYm9yZGVyd2lkdGgiKSxoKCJiZ2NvbG9yIiksaSh1LGMsaCwibGluZWFyIik7dmFyIGQ9e291dGVyVGlja3M6ITEsZm9udDpyLmZvbnR9O3ModSxjLGgsImxpbmVhciIsZCksbyh1LGMsaCwibGluZWFyIixkKSxoKCJ0aXRsZS50ZXh0IixyLl9kZmx0VGl0bGUuY29sb3JiYXIpLG4uY29lcmNlRm9udChoLCJ0aXRsZS5mb250IixyLmZvbnQpLGgoInRpdGxlLnNpZGUiKX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3RpY2tfbGFiZWxfZGVmYXVsdHMiOjc4NCwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3RpY2tfbWFya19kZWZhdWx0cyI6Nzg1LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vdGlja192YWx1ZV9kZWZhdWx0cyI6Nzg2LCIuL2F0dHJpYnV0ZXMiOjU5M31dLDU5NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgidGlueWNvbG9yMiIpLGk9dCgiLi4vLi4vcGxvdHMvcGxvdHMiKSxvPXQoIi4uLy4uL3JlZ2lzdHJ5Iikscz10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGw9dCgiLi4vZHJhZ2VsZW1lbnQiKSxjPXQoIi4uLy4uL2xpYiIpLHU9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsaD10KCIuLi8uLi9saWIvc2V0Y3Vyc29yIiksZj10KCIuLi9kcmF3aW5nIikscD10KCIuLi9jb2xvciIpLGQ9dCgiLi4vdGl0bGVzIiksZz10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSx2PXQoIi4uL2NvbG9yc2NhbGUvaGVscGVycyIpLmZsaXBTY2FsZSxtPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2RlZmF1bHRzIikseT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vcG9zaXRpb25fZGVmYXVsdHMiKSx4PXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyIpLGI9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLF89Yi5MSU5FX1NQQUNJTkcsdz1iLkZST01fVEwsaz1iLkZST01fQlIsVD10KCIuL2NvbnN0YW50cyIpLmNuO2UuZXhwb3J0cz17ZHJhdzpmdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0Ll9pbmZvbGF5ZXIuc2VsZWN0QWxsKCJnLiIrVC5jb2xvcmJhcikuZGF0YShmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPXQuX2Z1bGxMYXlvdXQsbz10LmNhbGNkYXRhLHM9W107ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdSh0LHtfZmlsbGNvbG9yOm51bGwsX2xpbmU6e2NvbG9yOm51bGwsd2lkdGg6bnVsbCxkYXNoOm51bGx9LF9sZXZlbHM6e3N0YXJ0Om51bGwsZW5kOm51bGwsc2l6ZTpudWxsfSxfZmlsbGxldmVsczpudWxsLF9maWxsZ3JhZGllbnQ6bnVsbCxfenJhbmdlOm51bGx9KX1mdW5jdGlvbiBjKCl7ImZ1bmN0aW9uIj09dHlwZW9mIGEuY2FsYz9hLmNhbGModCxuLGUpOihlLl9maWxsZ3JhZGllbnQ9ci5yZXZlcnNlc2NhbGU/dihyLmNvbG9yc2NhbGUpOnIuY29sb3JzY2FsZSxlLl96cmFuZ2U9W3JbYS5taW5dLHJbYS5tYXhdXSl9Zm9yKHZhciBoPTA7aDxvLmxlbmd0aDtoKyspe3ZhciBmPW9baF0scD0obj1mWzBdLnRyYWNlKS5fbW9kdWxlLmNvbG9yYmFyO2lmKCEwPT09bi52aXNpYmxlJiZwKWZvcih2YXIgZD1BcnJheS5pc0FycmF5KHApLGc9ZD9wOltwXSxtPTA7bTxnLmxlbmd0aDttKyspe3ZhciB5PShhPWdbbV0pLmNvbnRhaW5lcjsocj15P25beV06bikmJnIuc2hvd3NjYWxlJiYoKGU9bChyLmNvbG9yYmFyKSkuX2lkPSJjYiIrbi51aWQrKGQmJnk/Ii0iK3k6IiIpLGUuX3RyYWNlSW5kZXg9bi5pbmRleCxlLl9wcm9wUHJlZml4PSh5P3krIi4iOiIiKSsiY29sb3JiYXIuIixlLl9tZXRhPW4uX21ldGEsYygpLHMucHVzaChlKSl9fWZvcih2YXIgeCBpbiBpLl9jb2xvckF4ZXMpaWYoKHI9aVt4XSkuc2hvd3NjYWxlKXt2YXIgYj1pLl9jb2xvckF4ZXNbeF07KGU9bChyLmNvbG9yYmFyKSkuX2lkPSJjYiIreCxlLl9wcm9wUHJlZml4PXgrIi5jb2xvcmJhci4iLGUuX21ldGE9aS5fbWV0YSxhPXttaW46ImNtaW4iLG1heDoiY21heCJ9LCJoZWF0bWFwIiE9PWJbMF0mJihuPWJbMV0sYS5jYWxjPW4uX21vZHVsZS5jb2xvcmJhci5jYWxjKSxjKCkscy5wdXNoKGUpfXJldHVybiBzfSh0KSxmdW5jdGlvbih0KXtyZXR1cm4gdC5faWR9KTtlLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLGZ1bmN0aW9uKHQpe3JldHVybiB0Ll9pZH0pLmNsYXNzZWQoVC5jb2xvcmJhciwhMCksZS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW4uc2VsZWN0KHRoaXMpO2MuZW5zdXJlU2luZ2xlKHIsInJlY3QiLFQuY2JiZyksYy5lbnN1cmVTaW5nbGUociwiZyIsVC5jYmZpbGxzKSxjLmVuc3VyZVNpbmdsZShyLCJnIixULmNibGluZXMpLGMuZW5zdXJlU2luZ2xlKHIsImciLFQuY2JheGlzLGZ1bmN0aW9uKHQpe3QuY2xhc3NlZChULmNyaXNwLCEwKX0pLGMuZW5zdXJlU2luZ2xlKHIsImciLFQuY2J0aXRsZXVuc2hpZnQsZnVuY3Rpb24odCl7dC5hcHBlbmQoImciKS5jbGFzc2VkKFQuY2J0aXRsZSwhMCl9KSxjLmVuc3VyZVNpbmdsZShyLCJyZWN0IixULmNib3V0bGluZSk7dmFyIHY9ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXIuX2Z1bGxMYXlvdXQsbD1vLl9zaXplLGg9ZS5fZmlsbGNvbG9yLHY9ZS5fbGluZSxiPWUudGl0bGUsTT1iLnNpZGUsQT1lLl96cmFuZ2V8fG4uZXh0ZW50KCgiZnVuY3Rpb24iPT10eXBlb2YgaD9oOnYuY29sb3IpLmRvbWFpbigpKSxTPSJmdW5jdGlvbiI9PXR5cGVvZiB2LmNvbG9yP3YuY29sb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdi5jb2xvcn0sRT0iZnVuY3Rpb24iPT10eXBlb2YgaD9oOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LEw9ZS5fbGV2ZWxzLEM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaT1lLl9sZXZlbHMsbz1bXSxzPVtdLGw9aS5lbmQraS5zaXplLzEwMCxjPWkuc2l6ZSx1PTEuMDAxKnJbMF0tLjAwMSpyWzFdLGg9MS4wMDEqclsxXS0uMDAxKnJbMF07Zm9yKGE9MDthPDFlNSYmKG49aS5zdGFydCthKmMsIShjPjA/bj49bDpuPD1sKSk7YSsrKW4+dSYmbjxoJiZvLnB1c2gobik7aWYoZS5fZmlsbGdyYWRpZW50KXM9WzBdO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIGUuX2ZpbGxjb2xvcil7dmFyIGY9ZS5fZmlsbGxldmVscztpZihmKWZvcihsPWYuZW5kK2Yuc2l6ZS8xMDAsYz1mLnNpemUsYT0wO2E8MWU1JiYobj1mLnN0YXJ0K2EqYywhKGM+MD9uPj1sOm48PWwpKTthKyspbj5yWzBdJiZuPHJbMV0mJnMucHVzaChuKTtlbHNlKHM9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQtaS5zaXplLzJ9KSkucHVzaChzW3MubGVuZ3RoLTFdK2kuc2l6ZSl9ZWxzZSBlLl9maWxsY29sb3ImJiJzdHJpbmciPT10eXBlb2YgZS5fZmlsbGNvbG9yJiYocz1bMF0pO3JldHVybiBpLnNpemU8MCYmKG8ucmV2ZXJzZSgpLHMucmV2ZXJzZSgpKSx7bGluZTpvLGZpbGw6c319KDAsZSxBKSxQPUMuZmlsbCxPPUMubGluZSx6PU1hdGgucm91bmQoZS50aGlja25lc3MqKCJmcmFjdGlvbiI9PT1lLnRoaWNrbmVzc21vZGU/bC53OjEpKSxJPXovbC53LEQ9TWF0aC5yb3VuZChlLmxlbiooImZyYWN0aW9uIj09PWUubGVubW9kZT9sLmg6MSkpLFI9RC9sLmgsRj1lLnhwYWQvbC53LEI9KGUuYm9yZGVyd2lkdGgrZS5vdXRsaW5ld2lkdGgpLzIsTj1lLnlwYWQvbC5oLGo9TWF0aC5yb3VuZChlLngqbC53K2UueHBhZCksVj1lLngtSSooe21pZGRsZTouNSxyaWdodDoxfVtlLnhhbmNob3JdfHwwKSxVPWUueStSKigoe3RvcDotLjUsYm90dG9tOi41fVtlLnlhbmNob3JdfHwwKS0uNSkscT1NYXRoLnJvdW5kKGwuaCooMS1VKSksSD1xLUQ7ZS5fbGVuRnJhYz1SLGUuX3RoaWNrRnJhYz1JLGUuX3hMZWZ0RnJhYz1WLGUuX3lCb3R0b21GcmFjPVU7dmFyIEc9ZS5fYXhpcz1mdW5jdGlvbih0LGUscil7dmFyIG49dC5fZnVsbExheW91dCxhPXt0eXBlOiJsaW5lYXIiLHJhbmdlOnIsdGlja21vZGU6ZS50aWNrbW9kZSxudGlja3M6ZS5udGlja3MsdGljazA6ZS50aWNrMCxkdGljazplLmR0aWNrLHRpY2t2YWxzOmUudGlja3ZhbHMsdGlja3RleHQ6ZS50aWNrdGV4dCx0aWNrczplLnRpY2tzLHRpY2tsZW46ZS50aWNrbGVuLHRpY2t3aWR0aDplLnRpY2t3aWR0aCx0aWNrY29sb3I6ZS50aWNrY29sb3Isc2hvd3RpY2tsYWJlbHM6ZS5zaG93dGlja2xhYmVscyx0aWNrZm9udDplLnRpY2tmb250LHRpY2thbmdsZTplLnRpY2thbmdsZSx0aWNrZm9ybWF0OmUudGlja2Zvcm1hdCxleHBvbmVudGZvcm1hdDplLmV4cG9uZW50Zm9ybWF0LHNlcGFyYXRldGhvdXNhbmRzOmUuc2VwYXJhdGV0aG91c2FuZHMsc2hvd2V4cG9uZW50OmUuc2hvd2V4cG9uZW50LHNob3d0aWNrcHJlZml4OmUuc2hvd3RpY2twcmVmaXgsdGlja3ByZWZpeDplLnRpY2twcmVmaXgsc2hvd3RpY2tzdWZmaXg6ZS5zaG93dGlja3N1ZmZpeCx0aWNrc3VmZml4OmUudGlja3N1ZmZpeCx0aXRsZTplLnRpdGxlLHNob3dsaW5lOiEwLGFuY2hvcjoiZnJlZSIsc2lkZToicmlnaHQiLHBvc2l0aW9uOjF9LGk9e3R5cGU6ImxpbmVhciIsX2lkOiJ5IitlLl9pZH0sbz17bGV0dGVyOiJ5Iixmb250Om4uZm9udCxub0hvdmVyOiEwLG5vVGlja3NvbjohMCxjYWxlbmRhcjpuLmNhbGVuZGFyfTtmdW5jdGlvbiBzKHQsZSl7cmV0dXJuIGMuY29lcmNlKGEsaSx4LHQsZSl9cmV0dXJuIG0oYSxpLHMsbyxuKSx5KGEsaSxzLG8pLGl9KHIsZSxBKTtpZihHLnBvc2l0aW9uPWUueCtGK0ksLTEhPT1bInRvcCIsImJvdHRvbSJdLmluZGV4T2YoTSkmJihHLnRpdGxlLnNpZGU9TSxHLnRpdGxleD1lLngrRixHLnRpdGxleT1VKygidG9wIj09PWIuc2lkZT9SLU46TikpLHYuY29sb3ImJiJhdXRvIj09PWUudGlja21vZGUpe0cudGlja21vZGU9ImxpbmVhciIsRy50aWNrMD1MLnN0YXJ0O3ZhciBZPUwuc2l6ZSxXPWMuY29uc3RyYWluKChxLUgpLzUwLDQsMTUpKzEsWD0oQVsxXS1BWzBdKS8oKGUubnRpY2tzfHxXKSpZKTtpZihYPjEpe3ZhciBaPU1hdGgucG93KDEwLE1hdGguZmxvb3IoTWF0aC5sb2coWCkvTWF0aC5MTjEwKSk7WSo9WipjLnJvdW5kVXAoWC9aLFsyLDUsMTBdKSwoTWF0aC5hYnMoTC5zdGFydCkvTC5zaXplKzFlLTYpJTE8MmUtNiYmKEcudGljazA9MCl9Ry5kdGljaz1ZfUcuZG9tYWluPVtVK04sVStSLU5dLEcuc2V0U2NhbGUoKSx0LmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK01hdGgucm91bmQobC5sKSsiLCIrTWF0aC5yb3VuZChsLnQpKyIpIik7dmFyIEosSz10LnNlbGVjdCgiLiIrVC5jYnRpdGxldW5zaGlmdCkuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKC0iK01hdGgucm91bmQobC5sKSsiLC0iK01hdGgucm91bmQobC50KSsiKSIpLFE9dC5zZWxlY3QoIi4iK1QuY2JheGlzKSwkPTA7ZnVuY3Rpb24gdHQobixhKXt2YXIgaT17cHJvcENvbnRhaW5lcjpHLHByb3BOYW1lOmUuX3Byb3BQcmVmaXgrInRpdGxlIix0cmFjZUluZGV4OmUuX3RyYWNlSW5kZXgsX21ldGE6ZS5fbWV0YSxwbGFjZWhvbGRlcjpvLl9kZmx0VGl0bGUuY29sb3JiYXIsY29udGFpbmVyR3JvdXA6dC5zZWxlY3QoIi4iK1QuY2J0aXRsZSl9LHM9ImgiPT09bi5jaGFyQXQoMCk/bi5zdWJzdHIoMSk6ImgiK247dC5zZWxlY3RBbGwoIi4iK3MrIiwuIitzKyItbWF0aC1ncm91cCIpLnJlbW92ZSgpLGQuZHJhdyhyLG4sdShpLGF8fHt9KSl9cmV0dXJuIGMuc3luY09yQXN5bmMoW2kucHJldmlvdXNQcm9taXNlcyxmdW5jdGlvbigpe2lmKC0xIT09WyJ0b3AiLCJib3R0b20iXS5pbmRleE9mKE0pKXt2YXIgdCxyPWwubCsoZS54K0YpKmwudyxuPUcudGl0bGUuZm9udC5zaXplO3Q9InRvcCI9PT1NPygxLShVK1ItTikpKmwuaCtsLnQrMysuNzUqbjooMS0oVStOKSkqbC5oK2wudC0zLS4yNSpuLHR0KEcuX2lkKyJ0aXRsZSIse2F0dHJpYnV0ZXM6e3g6cix5OnQsInRleHQtYW5jaG9yIjoic3RhcnQifX0pfX0sZnVuY3Rpb24oKXtpZigtMSE9PVsidG9wIiwiYm90dG9tIl0uaW5kZXhPZihNKSl7dmFyIGk9dC5zZWxlY3QoIi4iK1QuY2J0aXRsZSksbz1pLnNlbGVjdCgidGV4dCIpLHU9Wy1lLm91dGxpbmV3aWR0aC8yLGUub3V0bGluZXdpZHRoLzJdLGg9aS5zZWxlY3QoIi5oIitHLl9pZCsidGl0bGUtbWF0aC1ncm91cCIpLm5vZGUoKSxwPTE1LjY7aWYoby5ub2RlKCkmJihwPXBhcnNlSW50KG8ubm9kZSgpLnN0eWxlLmZvbnRTaXplLDEwKSpfKSxoPygkPWYuYkJveChoKS5oZWlnaHQpPnAmJih1WzFdLT0oJC1wKS8yKTpvLm5vZGUoKSYmIW8uY2xhc3NlZChULmpzUGxhY2Vob2xkZXIpJiYoJD1mLmJCb3goby5ub2RlKCkpLmhlaWdodCksJCl7aWYoJCs9NSwidG9wIj09PU0pRy5kb21haW5bMV0tPSQvbC5oLHVbMV0qPS0xO2Vsc2V7Ry5kb21haW5bMF0rPSQvbC5oO3ZhciBkPWcubGluZUNvdW50KG8pO3VbMV0rPSgxLWQpKnB9aS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIit1KyIpIiksRy5zZXRTY2FsZSgpfX10LnNlbGVjdEFsbCgiLiIrVC5jYmZpbGxzKyIsLiIrVC5jYmxpbmVzKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMCwiK01hdGgucm91bmQobC5oKigxLUcuZG9tYWluWzFdKSkrIikiKSxRLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgwLCIrTWF0aC5yb3VuZCgtbC50KSsiKSIpO3ZhciBtPXQuc2VsZWN0KCIuIitULmNiZmlsbHMpLnNlbGVjdEFsbCgicmVjdC4iK1QuY2JmaWxsKS5kYXRhKFApO20uZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKFQuY2JmaWxsLCEwKS5zdHlsZSgic3Ryb2tlIiwibm9uZSIpLG0uZXhpdCgpLnJlbW92ZSgpO3ZhciB5PUEubWFwKEcuYzJwKS5tYXAoTWF0aC5yb3VuZCkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KTttLmVhY2goZnVuY3Rpb24odCxpKXt2YXIgbz1bMD09PWk/QVswXTooUFtpXStQW2ktMV0pLzIsaT09PVAubGVuZ3RoLTE/QVsxXTooUFtpXStQW2krMV0pLzJdLm1hcChHLmMycCkubWFwKE1hdGgucm91bmQpO29bMV09Yy5jb25zdHJhaW4ob1sxXSsob1sxXT5vWzBdKT8xOi0xLHlbMF0seVsxXSk7dmFyIHM9bi5zZWxlY3QodGhpcykuYXR0cih7eDpqLHdpZHRoOk1hdGgubWF4KHosMikseTpuLm1pbihvKSxoZWlnaHQ6TWF0aC5tYXgobi5tYXgobyktbi5taW4obyksMil9KTtpZihlLl9maWxsZ3JhZGllbnQpZi5ncmFkaWVudChzLHIsZS5faWQsInZlcnRpY2FsIixlLl9maWxsZ3JhZGllbnQsImZpbGwiKTtlbHNle3ZhciBsPUUodCkucmVwbGFjZSgiZS0iLCIiKTtzLmF0dHIoImZpbGwiLGEobCkudG9IZXhTdHJpbmcoKSl9fSk7dmFyIHg9dC5zZWxlY3QoIi4iK1QuY2JsaW5lcykuc2VsZWN0QWxsKCJwYXRoLiIrVC5jYmxpbmUpLmRhdGEodi5jb2xvciYmdi53aWR0aD9POltdKTt4LmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZChULmNibGluZSwhMCkseC5leGl0KCkucmVtb3ZlKCkseC5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLmF0dHIoImQiLCJNIitqKyIsIisoTWF0aC5yb3VuZChHLmMycCh0KSkrdi53aWR0aC8yJTEpKyJoIit6KS5jYWxsKGYubGluZUdyb3VwU3R5bGUsdi53aWR0aCxTKHQpLHYuZGFzaCl9KSxRLnNlbGVjdEFsbCgiZy4iK0cuX2lkKyJ0aWNrLHBhdGgiKS5yZW1vdmUoKTt2YXIgYj1qK3orKGUub3V0bGluZXdpZHRofHwwKS8yLSgib3V0c2lkZSI9PT1lLnRpY2tzPzE6MCksdz1zLmNhbGNUaWNrcyhHKSxrPXMubWFrZVRyYW5zRm4oRyksTD1zLmdldFRpY2tTaWducyhHKVsyXTtyZXR1cm4gcy5kcmF3VGlja3MocixHLHt2YWxzOiJpbnNpZGUiPT09Ry50aWNrcz9zLmNsaXBFbmRzKEcsdyk6dyxsYXllcjpRLHBhdGg6cy5tYWtlVGlja1BhdGgoRyxiLEwpLHRyYW5zRm46a30pLHMuZHJhd0xhYmVscyhyLEcse3ZhbHM6dyxsYXllcjpRLHRyYW5zRm46ayxsYWJlbEZuczpzLm1ha2VMYWJlbEZucyhHLGIpfSl9LGZ1bmN0aW9uKCl7aWYoLTE9PT1bInRvcCIsImJvdHRvbSJdLmluZGV4T2YoTSkpe3ZhciB0PUcudGl0bGUuZm9udC5zaXplLGU9Ry5fb2Zmc2V0K0cuX2xlbmd0aC8yLGE9bC5sKyhHLnBvc2l0aW9ufHwwKSpsLncrKCJyaWdodCI9PT1HLnNpZGU/MTArdCooRy5zaG93dGlja2xhYmVscz8xOi41KTotMTAtdCooRy5zaG93dGlja2xhYmVscz8uNTowKSk7dHQoImgiK0cuX2lkKyJ0aXRsZSIse2F2b2lkOntzZWxlY3Rpb246bi5zZWxlY3Qocikuc2VsZWN0QWxsKCJnLiIrRy5faWQrInRpY2siKSxzaWRlOk0sb2Zmc2V0TGVmdDpsLmwsb2Zmc2V0VG9wOjAsbWF4U2hpZnQ6by53aWR0aH0sYXR0cmlidXRlczp7eDphLHk6ZSwidGV4dC1hbmNob3IiOiJtaWRkbGUifSx0cmFuc2Zvcm06e3JvdGF0ZToiLTkwIixvZmZzZXQ6MH19KX19LGkucHJldmlvdXNQcm9taXNlcyxmdW5jdGlvbigpe3ZhciBuPXorZS5vdXRsaW5ld2lkdGgvMitmLmJCb3goUS5ub2RlKCkpLndpZHRoO2lmKChKPUsuc2VsZWN0KCJ0ZXh0IikpLm5vZGUoKSYmIUouY2xhc3NlZChULmpzUGxhY2Vob2xkZXIpKXt2YXIgYSxvPUsuc2VsZWN0KCIuaCIrRy5faWQrInRpdGxlLW1hdGgtZ3JvdXAiKS5ub2RlKCk7YT1vJiYtMSE9PVsidG9wIiwiYm90dG9tIl0uaW5kZXhPZihNKT9mLmJCb3gobykud2lkdGg6Zi5iQm94KEsubm9kZSgpKS5yaWdodC1qLWwubCxuPU1hdGgubWF4KG4sYSl9dmFyIHM9MiplLnhwYWQrbitlLmJvcmRlcndpZHRoK2Uub3V0bGluZXdpZHRoLzIsYz1xLUg7dC5zZWxlY3QoIi4iK1QuY2JiZykuYXR0cih7eDpqLWUueHBhZC0oZS5ib3JkZXJ3aWR0aCtlLm91dGxpbmV3aWR0aCkvMix5OkgtQix3aWR0aDpNYXRoLm1heChzLDIpLGhlaWdodDpNYXRoLm1heChjKzIqQiwyKX0pLmNhbGwocC5maWxsLGUuYmdjb2xvcikuY2FsbChwLnN0cm9rZSxlLmJvcmRlcmNvbG9yKS5zdHlsZSgic3Ryb2tlLXdpZHRoIixlLmJvcmRlcndpZHRoKSx0LnNlbGVjdEFsbCgiLiIrVC5jYm91dGxpbmUpLmF0dHIoe3g6aix5OkgrZS55cGFkKygidG9wIj09PU0/JDowKSx3aWR0aDpNYXRoLm1heCh6LDIpLGhlaWdodDpNYXRoLm1heChjLTIqZS55cGFkLSQsMil9KS5jYWxsKHAuc3Ryb2tlLGUub3V0bGluZWNvbG9yKS5zdHlsZSh7ZmlsbDoibm9uZSIsInN0cm9rZS13aWR0aCI6ZS5vdXRsaW5ld2lkdGh9KTt2YXIgdT0oe2NlbnRlcjouNSxyaWdodDoxfVtlLnhhbmNob3JdfHwwKSpzO3QuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrKGwubC11KSsiLCIrbC50KyIpIik7dmFyIGg9e30sZD13W2UueWFuY2hvcl0sZz1rW2UueWFuY2hvcl07InBpeGVscyI9PT1lLmxlbm1vZGU/KGgueT1lLnksaC50PWMqZCxoLmI9YypnKTooaC50PWguYj0wLGgueXQ9ZS55K2UubGVuKmQsaC55Yj1lLnktZS5sZW4qZyk7dmFyIHY9d1tlLnhhbmNob3JdLG09a1tlLnhhbmNob3JdO2lmKCJwaXhlbHMiPT09ZS50aGlja25lc3Ntb2RlKWgueD1lLngsaC5sPXMqdixoLnI9cyptO2Vsc2V7dmFyIHk9cy16O2gubD15KnYsaC5yPXkqbSxoLnhsPWUueC1lLnRoaWNrbmVzcyp2LGgueHI9ZS54K2UudGhpY2tuZXNzKm19aS5hdXRvTWFyZ2luKHIsZS5faWQsaCl9XSxyKX0ocixlLHQpO3YmJnYudGhlbiYmKHQuX3Byb21pc2VzfHxbXSkucHVzaCh2KSx0Ll9jb250ZXh0LmVkaXRzLmNvbG9yYmFyUG9zaXRpb24mJmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGkscz1yLl9mdWxsTGF5b3V0Ll9zaXplO2wuaW5pdCh7ZWxlbWVudDp0Lm5vZGUoKSxnZDpyLHByZXBGbjpmdW5jdGlvbigpe249dC5hdHRyKCJ0cmFuc2Zvcm0iKSxoKHQpfSxtb3ZlRm46ZnVuY3Rpb24ocixvKXt0LmF0dHIoInRyYW5zZm9ybSIsbisiIHRyYW5zbGF0ZSgiK3IrIiwiK28rIikiKSxhPWwuYWxpZ24oZS5feExlZnRGcmFjK3Ivcy53LGUuX3RoaWNrRnJhYywwLDEsZS54YW5jaG9yKSxpPWwuYWxpZ24oZS5feUJvdHRvbUZyYWMtby9zLmgsZS5fbGVuRnJhYywwLDEsZS55YW5jaG9yKTt2YXIgYz1sLmdldEN1cnNvcihhLGksZS54YW5jaG9yLGUueWFuY2hvcik7aCh0LGMpfSxkb25lRm46ZnVuY3Rpb24oKXtpZihoKHQpLHZvaWQgMCE9PWEmJnZvaWQgMCE9PWkpe3ZhciBuPXt9O25bZS5fcHJvcFByZWZpeCsieCJdPWEsbltlLl9wcm9wUHJlZml4KyJ5Il09aSx2b2lkIDAhPT1lLl90cmFjZUluZGV4P28uY2FsbCgiX2d1aVJlc3R5bGUiLHIsbixlLl90cmFjZUluZGV4KTpvLmNhbGwoIl9ndWlSZWxheW91dCIscixuKX19fSl9KHIsZSx0KX0pLGUuZXhpdCgpLmVhY2goZnVuY3Rpb24oZSl7aS5hdXRvTWFyZ2luKHQsZS5faWQpfSkucmVtb3ZlKCksZS5vcmRlcigpfX19LHsiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCI6Njg2LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9saWIvc2V0Y3Vyc29yIjo3MzcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19kZWZhdWx0cyI6NzY3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3Bvc2l0aW9uX2RlZmF1bHRzIjo3ODAsIi4uLy4uL3Bsb3RzL3Bsb3RzIjo4MjYsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL2NvbG9yIjo1OTIsIi4uL2NvbG9yc2NhbGUvaGVscGVycyI6NjAzLCIuLi9kcmFnZWxlbWVudCI6NjEwLCIuLi9kcmF3aW5nIjo2MTMsIi4uL3RpdGxlcyI6Njc5LCIuL2NvbnN0YW50cyI6NTk0LGQzOjE2NSx0aW55Y29sb3IyOjUzNn1dLDU5NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4uaXNQbGFpbk9iamVjdCh0LmNvbG9yYmFyKX19LHsiLi4vLi4vbGliIjo3MTd9XSw1OTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6ImNvbG9yYmFyIixhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxkcmF3OnQoIi4vZHJhdyIpLmRyYXcsaGFzQ29sb3JiYXI6dCgiLi9oYXNfY29sb3JiYXIiKX19LHsiLi9hdHRyaWJ1dGVzIjo1OTMsIi4vZGVmYXVsdHMiOjU5NSwiLi9kcmF3Ijo1OTYsIi4vaGFzX2NvbG9yYmFyIjo1OTd9XSw1OTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vY29sb3JiYXIvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vbGliL3JlZ2V4IikuY291bnRlcixpPXQoIi4vc2NhbGVzLmpzIikuc2NhbGVzO09iamVjdC5rZXlzKGkpO2Z1bmN0aW9uIG8odCl7cmV0dXJuImAiK3QrImAifWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3Q9dHx8IiI7dmFyIHIscz0oZT1lfHx7fSkuY0xldHRlcnx8ImMiLGw9KCJvbmx5SWZOdW1lcmljYWwiaW4gZT9lLm9ubHlJZk51bWVyaWNhbDpCb29sZWFuKHQpLCJub1NjYWxlImluIGU/ZS5ub1NjYWxlOiJtYXJrZXIubGluZSI9PT10KSxjPSJzaG93U2NhbGVEZmx0ImluIGU/ZS5zaG93U2NhbGVEZmx0OiJ6Ij09PXMsdT0ic3RyaW5nIj09dHlwZW9mIGUuY29sb3JzY2FsZURmbHQ/aVtlLmNvbG9yc2NhbGVEZmx0XTpudWxsLGg9ZS5lZGl0VHlwZU92ZXJyaWRlfHwiIixmPXQ/dCsiLiI6IiI7ImNvbG9yQXR0ciJpbiBlPyhyPWUuY29sb3JBdHRyLGUuY29sb3JBdHRyKTpvKGYrKHI9e3o6InoiLGM6ImNvbG9yIn1bc10pKTt2YXIgcD1zKyJhdXRvIixkPXMrIm1pbiIsZz1zKyJtYXgiLHY9cysibWlkIixtPShvKGYrcCksbyhmK2QpLG8oZitnKSx7fSk7bVtkXT1tW2ddPXZvaWQgMDt2YXIgeT17fTt5W3BdPSExO3ZhciB4PXt9O3JldHVybiJjb2xvciI9PT1yJiYoeC5jb2xvcj17dmFsVHlwZToiY29sb3IiLGFycmF5T2s6ITAsZWRpdFR5cGU6aHx8InN0eWxlIn0sZS5hbmltJiYoeC5jb2xvci5hbmltPSEwKSkseFtwXT17dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyIsaW1wbGllZEVkaXRzOm19LHhbZF09e3ZhbFR5cGU6Im51bWJlciIsZGZsdDpudWxsLGVkaXRUeXBlOmh8fCJwbG90IixpbXBsaWVkRWRpdHM6eX0seFtnXT17dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsZWRpdFR5cGU6aHx8InBsb3QiLGltcGxpZWRFZGl0czp5fSx4W3ZdPXt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6bnVsbCxlZGl0VHlwZToiY2FsYyIsaW1wbGllZEVkaXRzOm19LHguY29sb3JzY2FsZT17dmFsVHlwZToiY29sb3JzY2FsZSIsZWRpdFR5cGU6ImNhbGMiLGRmbHQ6dSxpbXBsaWVkRWRpdHM6e2F1dG9jb2xvcnNjYWxlOiExfX0seC5hdXRvY29sb3JzY2FsZT17dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSE9PWUuYXV0b0NvbG9yRGZsdCxlZGl0VHlwZToiY2FsYyIsaW1wbGllZEVkaXRzOntjb2xvcnNjYWxlOnZvaWQgMH19LHgucmV2ZXJzZXNjYWxlPXt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExLGVkaXRUeXBlOiJwbG90In0sbHx8KHguc2hvd3NjYWxlPXt2YWxUeXBlOiJib29sZWFuIixkZmx0OmMsZWRpdFR5cGU6ImNhbGMifSx4LmNvbG9yYmFyPW4pLGUubm9Db2xvckF4aXN8fCh4LmNvbG9yYXhpcz17dmFsVHlwZToic3VicGxvdGlkIixyZWdleDphKCJjb2xvcmF4aXMiKSxkZmx0Om51bGwsZWRpdFR5cGU6ImNhbGMifSkseH19LHsiLi4vLi4vbGliL3JlZ2V4Ijo3MzMsIi4uL2NvbG9yYmFyL2F0dHJpYnV0ZXMiOjU5MywiLi9zY2FsZXMuanMiOjYwN31dLDYwMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuL2hlbHBlcnMiKS5leHRyYWN0T3B0cztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBvLHM9dC5fZnVsbExheW91dCxsPXIudmFscyxjPXIuY29udGFpbmVyU3RyLHU9Yz9hLm5lc3RlZFByb3BlcnR5KGUsYykuZ2V0KCk6ZSxoPWkodSksZj0hMSE9PWguYXV0byxwPWgubWluLGQ9aC5tYXgsZz1oLm1pZCx2PWZ1bmN0aW9uKCl7cmV0dXJuIGEuYWdnTnVtcyhNYXRoLm1pbixudWxsLGwpfSxtPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYWdnTnVtcyhNYXRoLm1heCxudWxsLGwpfTsodm9pZCAwPT09cD9wPXYoKTpmJiYocD11Ll9jb2xvckF4JiZuKHApP01hdGgubWluKHAsdigpKTp2KCkpLHZvaWQgMD09PWQ/ZD1tKCk6ZiYmKGQ9dS5fY29sb3JBeCYmbihkKT9NYXRoLm1heChkLG0oKSk6bSgpKSxmJiZ2b2lkIDAhPT1nJiYoZC1nPmctcD9wPWctKGQtZyk6ZC1nPGctcCYmKGQ9ZysoZy1wKSkpLHA9PT1kJiYocC09LjUsZCs9LjUpLGguX3N5bmMoIm1pbiIscCksaC5fc3luYygibWF4IixkKSxoLmF1dG9jb2xvcnNjYWxlKSYmKG89cCpkPDA/cy5jb2xvcnNjYWxlLmRpdmVyZ2luZzpwPj0wP3MuY29sb3JzY2FsZS5zZXF1ZW50aWFsOnMuY29sb3JzY2FsZS5zZXF1ZW50aWFsbWludXMsaC5fc3luYygiY29sb3JzY2FsZSIsbykpfX0seyIuLi8uLi9saWIiOjcxNywiLi9oZWxwZXJzIjo2MDMsImZhc3QtaXNudW1lcmljIjoyMjh9XSw2MDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2hlbHBlcnMiKS5oYXNDb2xvcnNjYWxlLGk9dCgiLi9oZWxwZXJzIikuZXh0cmFjdE9wdHM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0LGUpe3ZhciByPXRbIl8iK2VdO3ZvaWQgMCE9PXImJih0W2VdPXIpfWZ1bmN0aW9uIG8odCxhKXt2YXIgbz1hLmNvbnRhaW5lcj9uLm5lc3RlZFByb3BlcnR5KHQsYS5jb250YWluZXIpLmdldCgpOnQ7aWYobylpZihvLmNvbG9yYXhpcylvLl9jb2xvckF4PWVbby5jb2xvcmF4aXNdO2Vsc2V7dmFyIHM9aShvKSxsPXMuYXV0bzsobHx8dm9pZCAwPT09cy5taW4pJiZyKG8sYS5taW4pLChsfHx2b2lkIDA9PT1zLm1heCkmJnIobyxhLm1heCkscy5hdXRvY29sb3JzY2FsZSYmcihvLCJjb2xvcnNjYWxlIil9fWZvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgbD10W3NdLGM9bC5fbW9kdWxlLmNvbG9yYmFyO2lmKGMpaWYoQXJyYXkuaXNBcnJheShjKSlmb3IodmFyIHU9MDt1PGMubGVuZ3RoO3UrKylvKGwsY1t1XSk7ZWxzZSBvKGwsYyk7YShsLCJtYXJrZXIubGluZSIpJiZvKGwse2NvbnRhaW5lcjoibWFya2VyLmxpbmUiLG1pbjoiY21pbiIsbWF4OiJjbWF4In0pfWZvcih2YXIgaCBpbiBlLl9jb2xvckF4ZXMpbyhlW2hdLHttaW46ImNtaW4iLG1heDoiY21heCJ9KX19LHsiLi4vLi4vbGliIjo3MTcsIi4vaGVscGVycyI6NjAzfV0sNjAyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uL2NvbG9yYmFyL2hhc19jb2xvcmJhciIpLG89dCgiLi4vY29sb3JiYXIvZGVmYXVsdHMiKSxzPXQoIi4vc2NhbGVzIikuaXNWYWxpZCxsPXQoIi4uLy4uL3JlZ2lzdHJ5IikudHJhY2VJcztmdW5jdGlvbiBjKHQsZSl7dmFyIHI9ZS5zbGljZSgwLGUubGVuZ3RoLTEpO3JldHVybiBlP2EubmVzdGVkUHJvcGVydHkodCxyKS5nZXQoKXx8e306dH1lLmV4cG9ydHM9ZnVuY3Rpb24gdChlLHIsdSxoLGYpe3ZhciBwPWYucHJlZml4LGQ9Zi5jTGV0dGVyLGc9Il9tb2R1bGUiaW4gcix2PWMoZSxwKSxtPWMocixwKSx5PWMoci5fdGVtcGxhdGV8fHt9LHApfHx7fSx4PWZ1bmN0aW9uKCl7cmV0dXJuIGRlbGV0ZSBlLmNvbG9yYXhpcyxkZWxldGUgci5jb2xvcmF4aXMsdChlLHIsdSxoLGYpfTtpZihnKXt2YXIgYj11Ll9jb2xvckF4ZXN8fHt9LF89aChwKyJjb2xvcmF4aXMiKTtpZihfKXt2YXIgdz1sKHIsImNvbnRvdXIiKSYmYS5uZXN0ZWRQcm9wZXJ0eShyLCJjb250b3Vycy5jb2xvcmluZyIpLmdldCgpfHwiaGVhdG1hcCIsaz1iW19dO3JldHVybiB2b2lkKGs/KGtbMl0ucHVzaCh4KSxrWzBdIT09dyYmKGtbMF09ITEsYS53YXJuKFsiSWdub3JpbmcgY29sb3JheGlzOiIsXywic2V0dGluZyIsImFzIGl0IGlzIGxpbmtlZCB0byBpbmNvbXBhdGlibGUgY29sb3JzY2FsZXMuIl0uam9pbigiICIpKSkpOmJbX109W3cscixbeF1dKX19dmFyIFQ9dltkKyJtaW4iXSxNPXZbZCsibWF4Il0sQT1uKFQpJiZuKE0pJiZUPE07aChwK2QrImF1dG8iLCFBKT9oKHArZCsibWlkIik6KGgocCtkKyJtaW4iKSxoKHArZCsibWF4IikpO3ZhciBTLEUsTD12LmNvbG9yc2NhbGUsQz15LmNvbG9yc2NhbGU7KHZvaWQgMCE9PUwmJihTPSFzKEwpKSx2b2lkIDAhPT1DJiYoUz0hcyhDKSksaChwKyJhdXRvY29sb3JzY2FsZSIsUyksaChwKyJjb2xvcnNjYWxlIiksaChwKyJyZXZlcnNlc2NhbGUiKSwibWFya2VyLmxpbmUuIiE9PXApJiYocCYmZyYmKEU9aSh2KSksaChwKyJzaG93c2NhbGUiLEUpJiYocCYmeSYmKG0uX3RlbXBsYXRlPXkpLG8odixtLHUpKSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9jb2xvcmJhci9kZWZhdWx0cyI6NTk1LCIuLi9jb2xvcmJhci9oYXNfY29sb3JiYXIiOjU5NywiLi9zY2FsZXMiOjYwNywiZmFzdC1pc251bWVyaWMiOjIyOH1dLDYwMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgidGlueWNvbG9yMiIpLGk9dCgiZmFzdC1pc251bWVyaWMiKSxvPXQoIi4uLy4uL2xpYiIpLHM9dCgiLi4vY29sb3IiKSxsPXQoIi4vc2NhbGVzIikuaXNWYWxpZDt2YXIgYz1bInNob3dzY2FsZSIsImF1dG9jb2xvcnNjYWxlIiwiY29sb3JzY2FsZSIsInJldmVyc2VzY2FsZSIsImNvbG9yYmFyIl0sdT1bIm1pbiIsIm1heCIsIm1pZCIsImF1dG8iXTtmdW5jdGlvbiBoKHQpe3ZhciBlLHIsbixhPXQuX2NvbG9yQXgsaT1hfHx0LG89e307Zm9yKHI9MDtyPGMubGVuZ3RoO3IrKylvW249Y1tyXV09aVtuXTtpZihhKWZvcihlPSJjIixyPTA7cjx1Lmxlbmd0aDtyKyspb1tuPXVbcl1dPWlbImMiK25dO2Vsc2V7dmFyIHM7Zm9yKHI9MDtyPHUubGVuZ3RoO3IrKykocz0iYyIrKG49dVtyXSkpaW4gaT9vW25dPWlbc106KHM9InoiK24paW4gaSYmKG9bbl09aVtzXSk7ZT1zLmNoYXJBdCgwKX1yZXR1cm4gby5fc3luYz1mdW5jdGlvbih0LHIpe3ZhciBuPS0xIT09dS5pbmRleE9mKHQpP2UrdDp0O2lbbl09aVsiXyIrbl09cn0sb31mdW5jdGlvbiBmKHQpe2Zvcih2YXIgZT1oKHQpLHI9ZS5taW4sbj1lLm1heCxhPWUucmV2ZXJzZXNjYWxlP3AoZS5jb2xvcnNjYWxlKTplLmNvbG9yc2NhbGUsaT1hLmxlbmd0aCxvPW5ldyBBcnJheShpKSxzPW5ldyBBcnJheShpKSxsPTA7bDxpO2wrKyl7dmFyIGM9YVtsXTtvW2xdPXIrY1swXSoobi1yKSxzW2xdPWNbMV19cmV0dXJue2RvbWFpbjpvLHJhbmdlOnN9fWZ1bmN0aW9uIHAodCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49ZS0xLGE9MDtuPj0wO24tLSxhKyspe3ZhciBpPXRbbl07clthXT1bMS1pWzBdLGlbMV1dfXJldHVybiByfWZ1bmN0aW9uIGQodCxlKXtlPWV8fHt9O2Zvcih2YXIgcj10LmRvbWFpbixvPXQucmFuZ2UsbD1vLmxlbmd0aCxjPW5ldyBBcnJheShsKSx1PTA7dTxsO3UrKyl7dmFyIGg9YShvW3VdKS50b1JnYigpO2NbdV09W2gucixoLmcsaC5iLGguYV19dmFyIGYscD1uLnNjYWxlLmxpbmVhcigpLmRvbWFpbihyKS5yYW5nZShjKS5jbGFtcCghMCksZD1lLm5vTnVtZXJpY0NoZWNrLHY9ZS5yZXR1cm5BcnJheTtyZXR1cm4oZj1kJiZ2P3A6ZD9mdW5jdGlvbih0KXtyZXR1cm4gZyhwKHQpKX06dj9mdW5jdGlvbih0KXtyZXR1cm4gaSh0KT9wKHQpOmEodCkuaXNWYWxpZCgpP3Q6cy5kZWZhdWx0TGluZX06ZnVuY3Rpb24odCl7cmV0dXJuIGkodCk/ZyhwKHQpKTphKHQpLmlzVmFsaWQoKT90OnMuZGVmYXVsdExpbmV9KS5kb21haW49cC5kb21haW4sZi5yYW5nZT1mdW5jdGlvbigpe3JldHVybiBvfSxmfWZ1bmN0aW9uIGcodCl7dmFyIGU9e3I6dFswXSxnOnRbMV0sYjp0WzJdLGE6dFszXX07cmV0dXJuIGEoZSkudG9SZ2JTdHJpbmcoKX1lLmV4cG9ydHM9e2hhc0NvbG9yc2NhbGU6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWU/by5uZXN0ZWRQcm9wZXJ0eSh0LGUpLmdldCgpfHx7fTp0LGE9bltyfHwiY29sb3IiXSxzPSExO2lmKG8uaXNBcnJheU9yVHlwZWRBcnJheShhKSlmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihpKGFbY10pKXtzPSEwO2JyZWFrfXJldHVybiBvLmlzUGxhaW5PYmplY3QobikmJihzfHwhMD09PW4uc2hvd3NjYWxlfHxpKG4uY21pbikmJmkobi5jbWF4KXx8bChuLmNvbG9yc2NhbGUpfHxvLmlzUGxhaW5PYmplY3Qobi5jb2xvcmJhcikpfSxleHRyYWN0T3B0czpoLGV4dHJhY3RTY2FsZTpmLGZsaXBTY2FsZTpwLG1ha2VDb2xvclNjYWxlRnVuYzpkLG1ha2VDb2xvclNjYWxlRnVuY0Zyb21UcmFjZTpmdW5jdGlvbih0LGUpe3JldHVybiBkKGYodCksZSl9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vY29sb3IiOjU5MiwiLi9zY2FsZXMiOjYwNyxkMzoxNjUsImZhc3QtaXNudW1lcmljIjoyMjgsdGlueWNvbG9yMjo1MzZ9XSw2MDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9zY2FsZXMiKSxhPXQoIi4vaGVscGVycyIpO2UuZXhwb3J0cz17bW9kdWxlVHlwZToiY29tcG9uZW50IixuYW1lOiJjb2xvcnNjYWxlIixhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLGxheW91dEF0dHJpYnV0ZXM6dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vbGF5b3V0X2RlZmF1bHRzIiksaGFuZGxlRGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNyb3NzVHJhY2VEZWZhdWx0czp0KCIuL2Nyb3NzX3RyYWNlX2RlZmF1bHRzIiksY2FsYzp0KCIuL2NhbGMiKSxzY2FsZXM6bi5zY2FsZXMsZGVmYXVsdFNjYWxlOm4uZGVmYXVsdFNjYWxlLGdldFNjYWxlOm4uZ2V0LGlzVmFsaWRTY2FsZTpuLmlzVmFsaWQsaGFzQ29sb3JzY2FsZTphLmhhc0NvbG9yc2NhbGUsZXh0cmFjdE9wdHM6YS5leHRyYWN0T3B0cyxleHRyYWN0U2NhbGU6YS5leHRyYWN0U2NhbGUsZmxpcFNjYWxlOmEuZmxpcFNjYWxlLG1ha2VDb2xvclNjYWxlRnVuYzphLm1ha2VDb2xvclNjYWxlRnVuYyxtYWtlQ29sb3JTY2FsZUZ1bmNGcm9tVHJhY2U6YS5tYWtlQ29sb3JTY2FsZUZ1bmNGcm9tVHJhY2V9fSx7Ii4vYXR0cmlidXRlcyI6NTk5LCIuL2NhbGMiOjYwMCwiLi9jcm9zc190cmFjZV9kZWZhdWx0cyI6NjAxLCIuL2RlZmF1bHRzIjo2MDIsIi4vaGVscGVycyI6NjAzLCIuL2xheW91dF9hdHRyaWJ1dGVzIjo2MDUsIi4vbGF5b3V0X2RlZmF1bHRzIjo2MDYsIi4vc2NhbGVzIjo2MDd9XSw2MDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsYT10KCIuL2F0dHJpYnV0ZXMiKSxpPXQoIi4vc2NhbGVzIikuc2NhbGVzO2UuZXhwb3J0cz17ZWRpdFR5cGU6ImNhbGMiLGNvbG9yc2NhbGU6e2VkaXRUeXBlOiJjYWxjIixzZXF1ZW50aWFsOnt2YWxUeXBlOiJjb2xvcnNjYWxlIixkZmx0OmkuUmVkcyxlZGl0VHlwZToiY2FsYyJ9LHNlcXVlbnRpYWxtaW51czp7dmFsVHlwZToiY29sb3JzY2FsZSIsZGZsdDppLkJsdWVzLGVkaXRUeXBlOiJjYWxjIn0sZGl2ZXJnaW5nOnt2YWxUeXBlOiJjb2xvcnNjYWxlIixkZmx0OmkuUmRCdSxlZGl0VHlwZToiY2FsYyJ9fSxjb2xvcmF4aXM6bih7X2lzU3VicGxvdE9iajohMCxlZGl0VHlwZToiY2FsYyJ9LGEoIiIse2NvbG9yQXR0cjoiY29ycmVzcG9uZGluZyB0cmFjZSBjb2xvciBhcnJheShzKSIsbm9Db2xvckF4aXM6ITAsc2hvd1NjYWxlRGZsdDohMH0pKX19LHsiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuL2F0dHJpYnV0ZXMiOjU5OSwiLi9zY2FsZXMiOjYwN31dLDYwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKSxpPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxvPXQoIi4vZGVmYXVsdHMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLHIsYSl9cigiY29sb3JzY2FsZS5zZXF1ZW50aWFsIikscigiY29sb3JzY2FsZS5zZXF1ZW50aWFsbWludXMiKSxyKCJjb2xvcnNjYWxlLmRpdmVyZ2luZyIpO3ZhciBzLGwsYz1lLl9jb2xvckF4ZXM7ZnVuY3Rpb24gdSh0LGUpe3JldHVybiBuLmNvZXJjZShzLGwsaS5jb2xvcmF4aXMsdCxlKX1mb3IodmFyIGggaW4gYyl7dmFyIGY9Y1toXTtpZihmWzBdKXM9dFtoXXx8e30sKGw9YS5uZXdDb250YWluZXIoZSxoLCJjb2xvcmF4aXMiKSkuX25hbWU9aCxvKHMsbCxlLHUse3ByZWZpeDoiIixjTGV0dGVyOiJjIn0pO2Vsc2V7Zm9yKHZhciBwPTA7cDxmWzJdLmxlbmd0aDtwKyspZlsyXVtwXSgpO2RlbGV0ZSBlLl9jb2xvckF4ZXNbaF19fX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi9kZWZhdWx0cyI6NjAyLCIuL2xheW91dF9hdHRyaWJ1dGVzIjo2MDV9XSw2MDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgidGlueWNvbG9yMiIpLGE9e0dyZXlzOltbMCwicmdiKDAsMCwwKSJdLFsxLCJyZ2IoMjU1LDI1NSwyNTUpIl1dLFlsR25CdTpbWzAsInJnYig4LDI5LDg4KSJdLFsuMTI1LCJyZ2IoMzcsNTIsMTQ4KSJdLFsuMjUsInJnYigzNCw5NCwxNjgpIl0sWy4zNzUsInJnYigyOSwxNDUsMTkyKSJdLFsuNSwicmdiKDY1LDE4MiwxOTYpIl0sWy42MjUsInJnYigxMjcsMjA1LDE4NykiXSxbLjc1LCJyZ2IoMTk5LDIzMywxODApIl0sWy44NzUsInJnYigyMzcsMjQ4LDIxNykiXSxbMSwicmdiKDI1NSwyNTUsMjE3KSJdXSxHcmVlbnM6W1swLCJyZ2IoMCw2OCwyNykiXSxbLjEyNSwicmdiKDAsMTA5LDQ0KSJdLFsuMjUsInJnYigzNSwxMzksNjkpIl0sWy4zNzUsInJnYig2NSwxNzEsOTMpIl0sWy41LCJyZ2IoMTE2LDE5NiwxMTgpIl0sWy42MjUsInJnYigxNjEsMjE3LDE1NSkiXSxbLjc1LCJyZ2IoMTk5LDIzMywxOTIpIl0sWy44NzUsInJnYigyMjksMjQ1LDIyNCkiXSxbMSwicmdiKDI0NywyNTIsMjQ1KSJdXSxZbE9yUmQ6W1swLCJyZ2IoMTI4LDAsMzgpIl0sWy4xMjUsInJnYigxODksMCwzOCkiXSxbLjI1LCJyZ2IoMjI3LDI2LDI4KSJdLFsuMzc1LCJyZ2IoMjUyLDc4LDQyKSJdLFsuNSwicmdiKDI1MywxNDEsNjApIl0sWy42MjUsInJnYigyNTQsMTc4LDc2KSJdLFsuNzUsInJnYigyNTQsMjE3LDExOCkiXSxbLjg3NSwicmdiKDI1NSwyMzcsMTYwKSJdLFsxLCJyZ2IoMjU1LDI1NSwyMDQpIl1dLEJsdWVyZWQ6W1swLCJyZ2IoMCwwLDI1NSkiXSxbMSwicmdiKDI1NSwwLDApIl1dLFJkQnU6W1swLCJyZ2IoNSwxMCwxNzIpIl0sWy4zNSwicmdiKDEwNiwxMzcsMjQ3KSJdLFsuNSwicmdiKDE5MCwxOTAsMTkwKSJdLFsuNiwicmdiKDIyMCwxNzAsMTMyKSJdLFsuNywicmdiKDIzMCwxNDUsOTApIl0sWzEsInJnYigxNzgsMTAsMjgpIl1dLFJlZHM6W1swLCJyZ2IoMjIwLDIyMCwyMjApIl0sWy4yLCJyZ2IoMjQ1LDE5NSwxNTcpIl0sWy40LCJyZ2IoMjQ1LDE2MCwxMDUpIl0sWzEsInJnYigxNzgsMTAsMjgpIl1dLEJsdWVzOltbMCwicmdiKDUsMTAsMTcyKSJdLFsuMzUsInJnYig0MCw2MCwxOTApIl0sWy41LCJyZ2IoNzAsMTAwLDI0NSkiXSxbLjYsInJnYig5MCwxMjAsMjQ1KSJdLFsuNywicmdiKDEwNiwxMzcsMjQ3KSJdLFsxLCJyZ2IoMjIwLDIyMCwyMjApIl1dLFBpY25pYzpbWzAsInJnYigwLDAsMjU1KSJdLFsuMSwicmdiKDUxLDE1MywyNTUpIl0sWy4yLCJyZ2IoMTAyLDIwNCwyNTUpIl0sWy4zLCJyZ2IoMTUzLDIwNCwyNTUpIl0sWy40LCJyZ2IoMjA0LDIwNCwyNTUpIl0sWy41LCJyZ2IoMjU1LDI1NSwyNTUpIl0sWy42LCJyZ2IoMjU1LDIwNCwyNTUpIl0sWy43LCJyZ2IoMjU1LDE1MywyNTUpIl0sWy44LCJyZ2IoMjU1LDEwMiwyMDQpIl0sWy45LCJyZ2IoMjU1LDEwMiwxMDIpIl0sWzEsInJnYigyNTUsMCwwKSJdXSxSYWluYm93OltbMCwicmdiKDE1MCwwLDkwKSJdLFsuMTI1LCJyZ2IoMCwwLDIwMCkiXSxbLjI1LCJyZ2IoMCwyNSwyNTUpIl0sWy4zNzUsInJnYigwLDE1MiwyNTUpIl0sWy41LCJyZ2IoNDQsMjU1LDE1MCkiXSxbLjYyNSwicmdiKDE1MSwyNTUsMCkiXSxbLjc1LCJyZ2IoMjU1LDIzNCwwKSJdLFsuODc1LCJyZ2IoMjU1LDExMSwwKSJdLFsxLCJyZ2IoMjU1LDAsMCkiXV0sUG9ydGxhbmQ6W1swLCJyZ2IoMTIsNTEsMTMxKSJdLFsuMjUsInJnYigxMCwxMzYsMTg2KSJdLFsuNSwicmdiKDI0MiwyMTEsNTYpIl0sWy43NSwicmdiKDI0MiwxNDMsNTYpIl0sWzEsInJnYigyMTcsMzAsMzApIl1dLEpldDpbWzAsInJnYigwLDAsMTMxKSJdLFsuMTI1LCJyZ2IoMCw2MCwxNzApIl0sWy4zNzUsInJnYig1LDI1NSwyNTUpIl0sWy42MjUsInJnYigyNTUsMjU1LDApIl0sWy44NzUsInJnYigyNTAsMCwwKSJdLFsxLCJyZ2IoMTI4LDAsMCkiXV0sSG90OltbMCwicmdiKDAsMCwwKSJdLFsuMywicmdiKDIzMCwwLDApIl0sWy42LCJyZ2IoMjU1LDIxMCwwKSJdLFsxLCJyZ2IoMjU1LDI1NSwyNTUpIl1dLEJsYWNrYm9keTpbWzAsInJnYigwLDAsMCkiXSxbLjIsInJnYigyMzAsMCwwKSJdLFsuNCwicmdiKDIzMCwyMTAsMCkiXSxbLjcsInJnYigyNTUsMjU1LDI1NSkiXSxbMSwicmdiKDE2MCwyMDAsMjU1KSJdXSxFYXJ0aDpbWzAsInJnYigwLDAsMTMwKSJdLFsuMSwicmdiKDAsMTgwLDE4MCkiXSxbLjIsInJnYig0MCwyMTAsNDApIl0sWy40LCJyZ2IoMjMwLDIzMCw1MCkiXSxbLjYsInJnYigxMjAsNzAsMjApIl0sWzEsInJnYigyNTUsMjU1LDI1NSkiXV0sRWxlY3RyaWM6W1swLCJyZ2IoMCwwLDApIl0sWy4xNSwicmdiKDMwLDAsMTAwKSJdLFsuNCwicmdiKDEyMCwwLDEwMCkiXSxbLjYsInJnYigxNjAsOTAsMCkiXSxbLjgsInJnYigyMzAsMjAwLDApIl0sWzEsInJnYigyNTUsMjUwLDIyMCkiXV0sVmlyaWRpczpbWzAsIiM0NDAxNTQiXSxbLjA2Mjc0NTA5ODAzOTIxNTY5LCIjNDgxODZhIl0sWy4xMjU0OTAxOTYwNzg0MzEzNywiIzQ3MmQ3YiJdLFsuMTg4MjM1Mjk0MTE3NjQ3MDYsIiM0MjQwODYiXSxbLjI1MDk4MDM5MjE1Njg2Mjc0LCIjM2I1MjhiIl0sWy4zMTM3MjU0OTAxOTYwNzg0LCIjMzM2MzhkIl0sWy4zNzY0NzA1ODgyMzUyOTQxLCIjMmM3MjhlIl0sWy40MzkyMTU2ODYyNzQ1MDk4LCIjMjY4MjhlIl0sWy41MDE5NjA3ODQzMTM3MjU1LCIjMjE5MThjIl0sWy41NjQ3MDU4ODIzNTI5NDEyLCIjMWZhMDg4Il0sWy42Mjc0NTA5ODAzOTIxNTY5LCIjMjhhZTgwIl0sWy42OTAxOTYwNzg0MzEzNzI1LCIjM2ZiYzczIl0sWy43NTI5NDExNzY0NzA1ODgyLCIjNWVjOTYyIl0sWy44MTU2ODYyNzQ1MDk4MDM5LCIjODRkNDRiIl0sWy44Nzg0MzEzNzI1NDkwMTk2LCIjYWRkYzMwIl0sWy45NDExNzY0NzA1ODgyMzUzLCIjZDhlMjE5Il0sWzEsIiNmZGU3MjUiXV0sQ2l2aWRpczpbWzAsInJnYigwLDMyLDc2KSJdLFsuMDU4ODI0LCJyZ2IoMCw0MiwxMDIpIl0sWy4xMTc2NDcsInJnYigwLDUyLDExMCkiXSxbLjE3NjQ3MSwicmdiKDM5LDYzLDEwOCkiXSxbLjIzNTI5NCwicmdiKDYwLDc0LDEwNykiXSxbLjI5NDExOCwicmdiKDc2LDg1LDEwNykiXSxbLjM1Mjk0MSwicmdiKDkxLDk1LDEwOSkiXSxbLjQxMTc2NSwicmdiKDEwNCwxMDYsMTEyKSJdLFsuNDcwNTg4LCJyZ2IoMTE3LDExNywxMTcpIl0sWy41Mjk0MTIsInJnYigxMzEsMTI5LDEyMCkiXSxbLjU4ODIzNSwicmdiKDE0NiwxNDAsMTIwKSJdLFsuNjQ3MDU5LCJyZ2IoMTYxLDE1MiwxMTgpIl0sWy43MDU4ODIsInJnYigxNzYsMTY1LDExNCkiXSxbLjc2NDcwNiwicmdiKDE5MiwxNzcsMTA5KSJdLFsuODIzNTI5LCJyZ2IoMjA5LDE5MSwxMDIpIl0sWy44ODIzNTMsInJnYigyMjUsMjA0LDkyKSJdLFsuOTQxMTc2LCJyZ2IoMjQzLDIxOSw3OSkiXSxbMSwicmdiKDI1NSwyMzMsNjkpIl1dfSxpPWEuUmRCdTtmdW5jdGlvbiBvKHQpe3ZhciBlPTA7aWYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoPDIpcmV0dXJuITE7aWYoIXRbMF18fCF0W3QubGVuZ3RoLTFdKXJldHVybiExO2lmKDAhPSt0WzBdWzBdfHwxIT0rdFt0Lmxlbmd0aC0xXVswXSlyZXR1cm4hMTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGE9dFtyXTtpZigyIT09YS5sZW5ndGh8fCthWzBdPGV8fCFuKGFbMV0pLmlzVmFsaWQoKSlyZXR1cm4hMTtlPSthWzBdfXJldHVybiEwfWUuZXhwb3J0cz17c2NhbGVzOmEsZGVmYXVsdFNjYWxlOmksZ2V0OmZ1bmN0aW9uKHQsZSl7aWYoZXx8KGU9aSksIXQpcmV0dXJuIGU7ZnVuY3Rpb24gcigpe3RyeXt0PWFbdF18fEpTT04ucGFyc2UodCl9Y2F0Y2gocil7dD1lfX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJihyKCksInN0cmluZyI9PXR5cGVvZiB0JiZyKCkpLG8odCk/dDplfSxpc1ZhbGlkOmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT1hW3RdfHxvKHQpfX19LHt0aW55Y29sb3IyOjUzNn1dLDYwODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT0odC1yKS8obi1yKSxvPWkrZS8obi1yKSxzPShpK28pLzI7cmV0dXJuImxlZnQiPT09YXx8ImJvdHRvbSI9PT1hP2k6ImNlbnRlciI9PT1hfHwibWlkZGxlIj09PWE/czoicmlnaHQiPT09YXx8InRvcCI9PT1hP286aTwyLzMtcz9pOm8+NC8zLXM/bzpzfX0se31dLDYwOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPVtbInN3LXJlc2l6ZSIsInMtcmVzaXplIiwic2UtcmVzaXplIl0sWyJ3LXJlc2l6ZSIsIm1vdmUiLCJlLXJlc2l6ZSJdLFsibnctcmVzaXplIiwibi1yZXNpemUiLCJuZS1yZXNpemUiXV07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3JldHVybiB0PSJsZWZ0Ij09PXI/MDoiY2VudGVyIj09PXI/MToicmlnaHQiPT09cj8yOm4uY29uc3RyYWluKE1hdGguZmxvb3IoMyp0KSwwLDIpLGU9ImJvdHRvbSI9PT1pPzA6Im1pZGRsZSI9PT1pPzE6InRvcCI9PT1pPzI6bi5jb25zdHJhaW4oTWF0aC5mbG9vcigzKmUpLDAsMiksYVtlXVt0XX19LHsiLi4vLi4vbGliIjo3MTd9XSw2MTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibW91c2UtZXZlbnQtb2Zmc2V0IiksYT10KCJoYXMtaG92ZXIiKSxpPXQoImhhcy1wYXNzaXZlLWV2ZW50cyIpLG89dCgiLi4vLi4vbGliIikucmVtb3ZlRWxlbWVudCxzPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9jb25zdGFudHMiKSxsPWUuZXhwb3J0cz17fTtsLmFsaWduPXQoIi4vYWxpZ24iKSxsLmdldEN1cnNvcj10KCIuL2N1cnNvciIpO3ZhciBjPXQoIi4vdW5ob3ZlciIpO2Z1bmN0aW9uIHUoKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0iZHJhZ2NvdmVyIjt2YXIgZT10LnN0eWxlO3JldHVybiBlLnBvc2l0aW9uPSJmaXhlZCIsZS5sZWZ0PTAsZS5yaWdodD0wLGUudG9wPTAsZS5ib3R0b209MCxlLnpJbmRleD05OTk5OTk5OTksZS5iYWNrZ3JvdW5kPSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpLHR9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gbih0LmNoYW5nZWRUb3VjaGVzP3QuY2hhbmdlZFRvdWNoZXNbMF06dCxkb2N1bWVudC5ib2R5KX1sLnVuaG92ZXI9Yy53cmFwcGVkLGwudW5ob3ZlclJhdz1jLnJhdyxsLmluaXQ9ZnVuY3Rpb24odCl7dmFyIGUscixuLGMsZixwLGQsZyx2PXQuZ2QsbT0xLHk9di5fY29udGV4dC5kb3VibGVDbGlja0RlbGF5LHg9dC5lbGVtZW50O3YuX21vdXNlRG93blRpbWV8fCh2Ll9tb3VzZURvd25UaW1lPTApLHguc3R5bGUucG9pbnRlckV2ZW50cz0iYWxsIix4Lm9ubW91c2Vkb3duPV8saT8oeC5fb250b3VjaHN0YXJ0JiZ4LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHguX29udG91Y2hzdGFydCkseC5fb250b3VjaHN0YXJ0PV8seC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixfLHtwYXNzaXZlOiExfSkpOngub250b3VjaHN0YXJ0PV87dmFyIGI9dC5jbGFtcEZufHxmdW5jdGlvbih0LGUscil7cmV0dXJuIE1hdGguYWJzKHQpPHImJih0PTApLE1hdGguYWJzKGUpPHImJihlPTApLFt0LGVdfTtmdW5jdGlvbiBfKGkpe3YuX2RyYWdnZWQ9ITEsdi5fZHJhZ2dpbmc9ITA7dmFyIG89aChpKTtlPW9bMF0scj1vWzFdLGQ9aS50YXJnZXQscD1pLGc9Mj09PWkuYnV0dG9uc3x8aS5jdHJsS2V5LCJ1bmRlZmluZWQiPT10eXBlb2YgaS5jbGllbnRYJiYidW5kZWZpbmVkIj09dHlwZW9mIGkuY2xpZW50WSYmKGkuY2xpZW50WD1lLGkuY2xpZW50WT1yKSwobj0obmV3IERhdGUpLmdldFRpbWUoKSktdi5fbW91c2VEb3duVGltZTx5P20rPTE6KG09MSx2Ll9tb3VzZURvd25UaW1lPW4pLHQucHJlcEZuJiZ0LnByZXBGbihpLGUsciksYSYmIWc/KGY9dSgpKS5zdHlsZS5jdXJzb3I9d2luZG93LmdldENvbXB1dGVkU3R5bGUoeCkuY3Vyc29yOmF8fChmPWRvY3VtZW50LGM9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5jdXJzb3IsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmN1cnNvcj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh4KS5jdXJzb3IpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGspLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixrKSwhMSE9PXQuZHJhZ21vZGUmJihpLnByZXZlbnREZWZhdWx0KCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix3KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHcse3Bhc3NpdmU6ITF9KSl9ZnVuY3Rpb24gdyhuKXtuLnByZXZlbnREZWZhdWx0KCk7dmFyIGE9aChuKSxpPXQubWluRHJhZ3x8cy5NSU5EUkFHLG89YihhWzBdLWUsYVsxXS1yLGkpLGM9b1swXSx1PW9bMV07KGN8fHUpJiYodi5fZHJhZ2dlZD0hMCxsLnVuaG92ZXIodikpLHYuX2RyYWdnZWQmJnQubW92ZUZuJiYhZyYmKHYuX2RyYWdkYXRhPXtlbGVtZW50OngsZHg6YyxkeTp1fSx0Lm1vdmVGbihjLHUpKX1mdW5jdGlvbiBrKGUpe2lmKGRlbGV0ZSB2Ll9kcmFnZGF0YSwhMSE9PXQuZHJhZ21vZGUmJihlLnByZXZlbnREZWZhdWx0KCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix3KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHcpKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsayksYT9vKGYpOmMmJihmLmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3I9YyxjPW51bGwpLHYuX2RyYWdnaW5nKXtpZih2Ll9kcmFnZ2luZz0hMSwobmV3IERhdGUpLmdldFRpbWUoKS12Ll9tb3VzZURvd25UaW1lPnkmJihtPU1hdGgubWF4KG0tMSwxKSksdi5fZHJhZ2dlZCl0LmRvbmVGbiYmdC5kb25lRm4oKTtlbHNlIGlmKHQuY2xpY2tGbiYmdC5jbGlja0ZuKG0scCksIWcpe3ZhciByO3RyeXtyPW5ldyBNb3VzZUV2ZW50KCJjbGljayIsZSl9Y2F0Y2godCl7dmFyIG49aChlKTsocj1kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKSkuaW5pdE1vdXNlRXZlbnQoImNsaWNrIixlLmJ1YmJsZXMsZS5jYW5jZWxhYmxlLGUudmlldyxlLmRldGFpbCxlLnNjcmVlblgsZS5zY3JlZW5ZLG5bMF0sblsxXSxlLmN0cmxLZXksZS5hbHRLZXksZS5zaGlmdEtleSxlLm1ldGFLZXksZS5idXR0b24sZS5yZWxhdGVkVGFyZ2V0KX1kLmRpc3BhdGNoRXZlbnQocil9di5fZHJhZ2dpbmc9ITEsdi5fZHJhZ2dlZD0hMX1lbHNlIHYuX2RyYWdnZWQ9ITF9fSxsLmNvdmVyU2xpcD11fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vY29uc3RhbnRzIjo3NzEsIi4vYWxpZ24iOjYwOCwiLi9jdXJzb3IiOjYwOSwiLi91bmhvdmVyIjo2MTEsImhhcy1ob3ZlciI6NDEyLCJoYXMtcGFzc2l2ZS1ldmVudHMiOjQxMywibW91c2UtZXZlbnQtb2Zmc2V0Ijo0Mzh9XSw2MTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliL2V2ZW50cyIpLGE9dCgiLi4vLi4vbGliL3Rocm90dGxlIiksaT10KCIuLi8uLi9saWIvZG9tIikuZ2V0R3JhcGhEaXYsbz10KCIuLi9meC9jb25zdGFudHMiKSxzPWUuZXhwb3J0cz17fTtzLndyYXBwZWQ9ZnVuY3Rpb24odCxlLHIpeyh0PWkodCkpLl9mdWxsTGF5b3V0JiZhLmNsZWFyKHQuX2Z1bGxMYXlvdXQuX3VpZCtvLkhPVkVSSUQpLHMucmF3KHQsZSxyKX0scy5yYXc9ZnVuY3Rpb24odCxlKXt2YXIgcj10Ll9mdWxsTGF5b3V0LGE9dC5faG92ZXJkYXRhO2V8fChlPXt9KSxlLnRhcmdldCYmITE9PT1uLnRyaWdnZXJIYW5kbGVyKHQsInBsb3RseV9iZWZvcmVob3ZlciIsZSl8fChyLl9ob3ZlcmxheWVyLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpLHIuX2hvdmVybGF5ZXIuc2VsZWN0QWxsKCJsaW5lIikucmVtb3ZlKCksci5faG92ZXJsYXllci5zZWxlY3RBbGwoImNpcmNsZSIpLnJlbW92ZSgpLHQuX2hvdmVyZGF0YT12b2lkIDAsZS50YXJnZXQmJmEmJnQuZW1pdCgicGxvdGx5X3VuaG92ZXIiLHtldmVudDplLHBvaW50czphfSkpfX0seyIuLi8uLi9saWIvZG9tIjo3MDYsIi4uLy4uL2xpYi9ldmVudHMiOjcwNywiLi4vLi4vbGliL3Rocm90dGxlIjo3NDIsIi4uL2Z4L2NvbnN0YW50cyI6NjI1fV0sNjEyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuZGFzaD17dmFsVHlwZToic3RyaW5nIix2YWx1ZXM6WyJzb2xpZCIsImRvdCIsImRhc2giLCJsb25nZGFzaCIsImRhc2hkb3QiLCJsb25nZGFzaGRvdCJdLGRmbHQ6InNvbGlkIixlZGl0VHlwZToic3R5bGUifX0se31dLDYxMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoInRpbnljb2xvcjIiKSxvPXQoIi4uLy4uL3JlZ2lzdHJ5Iikscz10KCIuLi9jb2xvciIpLGw9dCgiLi4vY29sb3JzY2FsZSIpLGM9dCgiLi4vLi4vbGliIiksdT10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxoPXQoIi4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIiksZj10KCIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50IikuTElORV9TUEFDSU5HLHA9dCgiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyIpLkRFU0VMRUNURElNLGQ9dCgiLi4vLi4vdHJhY2VzL3NjYXR0ZXIvc3VidHlwZXMiKSxnPXQoIi4uLy4uL3RyYWNlcy9zY2F0dGVyL21ha2VfYnViYmxlX3NpemVfZnVuYyIpLHY9dCgiLi4vLi4vY29tcG9uZW50cy9meC9oZWxwZXJzIikuYXBwZW5kQXJyYXlQb2ludFZhbHVlLG09ZS5leHBvcnRzPXt9O20uZm9udD1mdW5jdGlvbih0LGUscixuKXtjLmlzUGxhaW5PYmplY3QoZSkmJihuPWUuY29sb3Iscj1lLnNpemUsZT1lLmZhbWlseSksZSYmdC5zdHlsZSgiZm9udC1mYW1pbHkiLGUpLHIrMSYmdC5zdHlsZSgiZm9udC1zaXplIixyKyJweCIpLG4mJnQuY2FsbChzLmZpbGwsbil9LG0uc2V0UG9zaXRpb249ZnVuY3Rpb24odCxlLHIpe3QuYXR0cigieCIsZSkuYXR0cigieSIscil9LG0uc2V0U2l6ZT1mdW5jdGlvbih0LGUscil7dC5hdHRyKCJ3aWR0aCIsZSkuYXR0cigiaGVpZ2h0IixyKX0sbS5zZXRSZWN0PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dC5jYWxsKG0uc2V0UG9zaXRpb24sZSxyKS5jYWxsKG0uc2V0U2l6ZSxuLGEpfSxtLnRyYW5zbGF0ZVBvaW50PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXIuYzJwKHQueCksbz1uLmMycCh0LnkpO3JldHVybiEhKGEoaSkmJmEobykmJmUubm9kZSgpKSYmKCJ0ZXh0Ij09PWUubm9kZSgpLm5vZGVOYW1lP2UuYXR0cigieCIsaSkuYXR0cigieSIsbyk6ZS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitpKyIsIitvKyIpIiksITApfSxtLnRyYW5zbGF0ZVBvaW50cz1mdW5jdGlvbih0LGUscil7dC5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBhPW4uc2VsZWN0KHRoaXMpO20udHJhbnNsYXRlUG9pbnQodCxhLGUscil9KX0sbS5oaWRlT3V0c2lkZVJhbmdlUG9pbnQ9ZnVuY3Rpb24odCxlLHIsbixhLGkpe2UuYXR0cigiZGlzcGxheSIsci5pc1B0V2l0aGluUmFuZ2UodCxhKSYmbi5pc1B0V2l0aGluUmFuZ2UodCxpKT9udWxsOiJub25lIil9LG0uaGlkZU91dHNpZGVSYW5nZVBvaW50cz1mdW5jdGlvbih0LGUpe2lmKGUuX2hhc0NsaXBPbkF4aXNGYWxzZSl7dmFyIHI9ZS54YXhpcyxhPWUueWF4aXM7dC5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBpPWVbMF0udHJhY2Uscz1pLnhjYWxlbmRhcixsPWkueWNhbGVuZGFyLGM9by50cmFjZUlzKGksImJhci1saWtlIik/Ii5iYXJ0ZXh0IjoiLnBvaW50LC50ZXh0cG9pbnQiO3Quc2VsZWN0QWxsKGMpLmVhY2goZnVuY3Rpb24odCl7bS5oaWRlT3V0c2lkZVJhbmdlUG9pbnQodCxuLnNlbGVjdCh0aGlzKSxyLGEscyxsKX0pfSl9fSxtLmNyaXNwUm91bmQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlJiZhKGUpP3QuX2NvbnRleHQuc3RhdGljUGxvdD9lOmU8MT8xOk1hdGgucm91bmQoZSk6cnx8MH0sbS5zaW5nbGVMaW5lU3R5bGU9ZnVuY3Rpb24odCxlLHIsbixhKXtlLnN0eWxlKCJmaWxsIiwibm9uZSIpO3ZhciBpPSgoKHR8fFtdKVswXXx8e30pLnRyYWNlfHx7fSkubGluZXx8e30sbz1yfHxpLndpZHRofHwwLGw9YXx8aS5kYXNofHwiIjtzLnN0cm9rZShlLG58fGkuY29sb3IpLG0uZGFzaExpbmUoZSxsLG8pfSxtLmxpbmVHcm91cFN0eWxlPWZ1bmN0aW9uKHQsZSxyLGEpe3Quc3R5bGUoImZpbGwiLCJub25lIikuZWFjaChmdW5jdGlvbih0KXt2YXIgaT0oKCh0fHxbXSlbMF18fHt9KS50cmFjZXx8e30pLmxpbmV8fHt9LG89ZXx8aS53aWR0aHx8MCxsPWF8fGkuZGFzaHx8IiI7bi5zZWxlY3QodGhpcykuY2FsbChzLnN0cm9rZSxyfHxpLmNvbG9yKS5jYWxsKG0uZGFzaExpbmUsbCxvKX0pfSxtLmRhc2hMaW5lPWZ1bmN0aW9uKHQsZSxyKXtyPStyfHwwLGU9bS5kYXNoU3R5bGUoZSxyKSx0LnN0eWxlKHsic3Ryb2tlLWRhc2hhcnJheSI6ZSwic3Ryb2tlLXdpZHRoIjpyKyJweCJ9KX0sbS5kYXNoU3R5bGU9ZnVuY3Rpb24odCxlKXtlPStlfHwxO3ZhciByPU1hdGgubWF4KGUsMyk7cmV0dXJuInNvbGlkIj09PXQ/dD0iIjoiZG90Ij09PXQ/dD1yKyJweCwiK3IrInB4IjoiZGFzaCI9PT10P3Q9MypyKyJweCwiKzMqcisicHgiOiJsb25nZGFzaCI9PT10P3Q9NSpyKyJweCwiKzUqcisicHgiOiJkYXNoZG90Ij09PXQ/dD0zKnIrInB4LCIrcisicHgsIityKyJweCwiK3IrInB4IjoibG9uZ2Rhc2hkb3QiPT09dCYmKHQ9NSpyKyJweCwiKzIqcisicHgsIityKyJweCwiKzIqcisicHgiKSx0fSxtLnNpbmdsZUZpbGxTdHlsZT1mdW5jdGlvbih0KXt2YXIgZT0oKChuLnNlbGVjdCh0Lm5vZGUoKSkuZGF0YSgpWzBdfHxbXSlbMF18fHt9KS50cmFjZXx8e30pLmZpbGxjb2xvcjtlJiZ0LmNhbGwocy5maWxsLGUpfSxtLmZpbGxHcm91cFN0eWxlPWZ1bmN0aW9uKHQpe3Quc3R5bGUoInN0cm9rZS13aWR0aCIsMCkuZWFjaChmdW5jdGlvbih0KXt2YXIgZT1uLnNlbGVjdCh0aGlzKTt0WzBdLnRyYWNlJiZlLmNhbGwocy5maWxsLHRbMF0udHJhY2UuZmlsbGNvbG9yKX0pfTt2YXIgeT10KCIuL3N5bWJvbF9kZWZzIik7bS5zeW1ib2xOYW1lcz1bXSxtLnN5bWJvbEZ1bmNzPVtdLG0uc3ltYm9sTmVlZExpbmVzPXt9LG0uc3ltYm9sTm9Eb3Q9e30sbS5zeW1ib2xOb0ZpbGw9e30sbS5zeW1ib2xMaXN0PVtdLE9iamVjdC5rZXlzKHkpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9eVt0XSxyPWUubjttLnN5bWJvbExpc3QucHVzaChyLHQscisxMDAsdCsiLW9wZW4iKSxtLnN5bWJvbE5hbWVzW3JdPXQsbS5zeW1ib2xGdW5jc1tyXT1lLmYsZS5uZWVkTGluZSYmKG0uc3ltYm9sTmVlZExpbmVzW3JdPSEwKSxlLm5vRG90P20uc3ltYm9sTm9Eb3Rbcl09ITA6bS5zeW1ib2xMaXN0LnB1c2gocisyMDAsdCsiLWRvdCIsciszMDAsdCsiLW9wZW4tZG90IiksZS5ub0ZpbGwmJihtLnN5bWJvbE5vRmlsbFtyXT0hMCl9KTt2YXIgeD1tLnN5bWJvbE5hbWVzLmxlbmd0aCxiPSJNMCwwLjVMMC41LDBMMCwtMC41TC0wLjUsMFoiO2Z1bmN0aW9uIF8odCxlKXt2YXIgcj10JTEwMDtyZXR1cm4gbS5zeW1ib2xGdW5jc1tyXShlKSsodD49MjAwP2I6IiIpfW0uc3ltYm9sTnVtYmVyPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9MDt0LmluZGV4T2YoIi1vcGVuIik+MCYmKGU9MTAwLHQ9dC5yZXBsYWNlKCItb3BlbiIsIiIpKSx0LmluZGV4T2YoIi1kb3QiKT4wJiYoZSs9MjAwLHQ9dC5yZXBsYWNlKCItZG90IiwiIikpLCh0PW0uc3ltYm9sTmFtZXMuaW5kZXhPZih0KSk+PTAmJih0Kz1lKX1yZXR1cm4gdCUxMDA+PXh8fHQ+PTQwMD8wOk1hdGguZmxvb3IoTWF0aC5tYXgodCwwKSl9O3ZhciB3PXt4MToxLHgyOjAseTE6MCx5MjowfSxrPXt4MTowLHgyOjAseTE6MSx5MjowfSxUPW4uZm9ybWF0KCJ+LjFmIiksTT17cmFkaWFsOntub2RlOiJyYWRpYWxHcmFkaWVudCJ9LHJhZGlhbHJldmVyc2VkOntub2RlOiJyYWRpYWxHcmFkaWVudCIscmV2ZXJzZWQ6ITB9LGhvcml6b250YWw6e25vZGU6ImxpbmVhckdyYWRpZW50IixhdHRyczp3fSxob3Jpem9udGFscmV2ZXJzZWQ6e25vZGU6ImxpbmVhckdyYWRpZW50IixhdHRyczp3LHJldmVyc2VkOiEwfSx2ZXJ0aWNhbDp7bm9kZToibGluZWFyR3JhZGllbnQiLGF0dHJzOmt9LHZlcnRpY2FscmV2ZXJzZWQ6e25vZGU6ImxpbmVhckdyYWRpZW50IixhdHRyczprLHJldmVyc2VkOiEwfX07bS5ncmFkaWVudD1mdW5jdGlvbih0LGUscixhLG8sbCl7Zm9yKHZhciB1PW8ubGVuZ3RoLGg9TVthXSxmPW5ldyBBcnJheSh1KSxwPTA7cDx1O3ArKyloLnJldmVyc2VkP2ZbdS0xLXBdPVtUKDEwMCooMS1vW3BdWzBdKSksb1twXVsxXV06ZltwXT1bVCgxMDAqb1twXVswXSksb1twXVsxXV07dmFyIGQ9ZS5fZnVsbExheW91dCxnPSJnIitkLl91aWQrIi0iK3Isdj1kLl9kZWZzLnNlbGVjdCgiLmdyYWRpZW50cyIpLnNlbGVjdEFsbCgiIyIrZykuZGF0YShbYStmLmpvaW4oIjsiKV0sYy5pZGVudGl0eSk7di5leGl0KCkucmVtb3ZlKCksdi5lbnRlcigpLmFwcGVuZChoLm5vZGUpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uLnNlbGVjdCh0aGlzKTtoLmF0dHJzJiZ0LmF0dHIoaC5hdHRycyksdC5hdHRyKCJpZCIsZyk7dmFyIGU9dC5zZWxlY3RBbGwoInN0b3AiKS5kYXRhKGYpO2UuZXhpdCgpLnJlbW92ZSgpLGUuZW50ZXIoKS5hcHBlbmQoInN0b3AiKSxlLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9aSh0WzFdKTtuLnNlbGVjdCh0aGlzKS5hdHRyKHtvZmZzZXQ6dFswXSsiJSIsInN0b3AtY29sb3IiOnMudGlueVJHQihlKSwic3RvcC1vcGFjaXR5IjplLmdldEFscGhhKCl9KX0pfSksdC5zdHlsZShsLEQoZyxlKSkuc3R5bGUobCsiLW9wYWNpdHkiLG51bGwpO3ZhciBtPWZ1bmN0aW9uKHQpe3JldHVybiIuIit0LmF0dHIoImNsYXNzIikucmVwbGFjZSgvXHMvZywiLiIpfSx5PW0obi5zZWxlY3QodC5ub2RlKCkucGFyZW50Tm9kZSkpKyI+IittKHQpO2QuX2dyYWRpZW50VXJsUXVlcnlQYXJ0c1t5XT0xfSxtLmluaXRHcmFkaWVudHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dDtjLmVuc3VyZVNpbmdsZShlLl9kZWZzLCJnIiwiZ3JhZGllbnRzIikuc2VsZWN0QWxsKCJsaW5lYXJHcmFkaWVudCxyYWRpYWxHcmFkaWVudCIpLnJlbW92ZSgpLGUuX2dyYWRpZW50VXJsUXVlcnlQYXJ0cz17fX0sbS5wb2ludFN0eWxlPWZ1bmN0aW9uKHQsZSxyKXtpZih0LnNpemUoKSl7dmFyIGE9bS5tYWtlUG9pbnRTdHlsZUZucyhlKTt0LmVhY2goZnVuY3Rpb24odCl7bS5zaW5nbGVQb2ludFN0eWxlKHQsbi5zZWxlY3QodGhpcyksZSxhLHIpfSl9fSxtLnNpbmdsZVBvaW50U3R5bGU9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT1yLm1hcmtlcixvPWkubGluZTtpZihlLnN0eWxlKCJvcGFjaXR5IixuLnNlbGVjdGVkT3BhY2l0eUZuP24uc2VsZWN0ZWRPcGFjaXR5Rm4odCk6dm9pZCAwPT09dC5tbz9pLm9wYWNpdHk6dC5tbyksbi5tczJtcmMpe3ZhciBsO2w9InZhcmlvdXMiPT09dC5tc3x8InZhcmlvdXMiPT09aS5zaXplPzM6bi5tczJtcmModC5tcyksdC5tcmM9bCxuLnNlbGVjdGVkU2l6ZUZuJiYobD10Lm1yYz1uLnNlbGVjdGVkU2l6ZUZuKHQpKTt2YXIgdT1tLnN5bWJvbE51bWJlcih0Lm14fHxpLnN5bWJvbCl8fDA7dC5vbT11JTIwMD49MTAwLGUuYXR0cigiZCIsXyh1LGwpKX12YXIgaCxmLHAsZD0hMTtpZih0LnNvKXA9by5vdXRsaWVyd2lkdGgsZj1vLm91dGxpZXJjb2xvcixoPWkub3V0bGllcmNvbG9yO2Vsc2V7dmFyIGc9KG98fHt9KS53aWR0aDtwPSh0Lm1sdysxfHxnKzF8fCh0LnRyYWNlPyh0LnRyYWNlLm1hcmtlci5saW5lfHx7fSkud2lkdGg6MCkrMSktMXx8MCxmPSJtbGMiaW4gdD90Lm1sY2M9bi5saW5lU2NhbGUodC5tbGMpOmMuaXNBcnJheU9yVHlwZWRBcnJheShvLmNvbG9yKT9zLmRlZmF1bHRMaW5lOm8uY29sb3IsYy5pc0FycmF5T3JUeXBlZEFycmF5KGkuY29sb3IpJiYoaD1zLmRlZmF1bHRMaW5lLGQ9ITApLGg9Im1jImluIHQ/dC5tY2M9bi5tYXJrZXJTY2FsZSh0Lm1jKTppLmNvbG9yfHwicmdiYSgwLDAsMCwwKSIsbi5zZWxlY3RlZENvbG9yRm4mJihoPW4uc2VsZWN0ZWRDb2xvckZuKHQpKX1pZih0Lm9tKWUuY2FsbChzLnN0cm9rZSxoKS5zdHlsZSh7InN0cm9rZS13aWR0aCI6KHB8fDEpKyJweCIsZmlsbDoibm9uZSJ9KTtlbHNle2Uuc3R5bGUoInN0cm9rZS13aWR0aCIsKHQuaXNCbGFuaz8wOnApKyJweCIpO3ZhciB2PWkuZ3JhZGllbnQseT10Lm1ndDtpZih5P2Q9ITA6eT12JiZ2LnR5cGUsQXJyYXkuaXNBcnJheSh5KSYmKHk9eVswXSxNW3ldfHwoeT0wKSkseSYmIm5vbmUiIT09eSl7dmFyIHg9dC5tZ2M7eD9kPSEwOng9di5jb2xvcjt2YXIgYj1yLnVpZDtkJiYoYis9Ii0iK3QuaSksbS5ncmFkaWVudChlLGEsYix5LFtbMCx4XSxbMSxoXV0sImZpbGwiKX1lbHNlIHMuZmlsbChlLGgpO3AmJnMuc3Ryb2tlKGUsZil9fSxtLm1ha2VQb2ludFN0eWxlRm5zPWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHI9dC5tYXJrZXI7cmV0dXJuIGUubWFya2VyU2NhbGU9bS50cnlDb2xvcnNjYWxlKHIsIiIpLGUubGluZVNjYWxlPW0udHJ5Q29sb3JzY2FsZShyLCJsaW5lIiksby50cmFjZUlzKHQsInN5bWJvbHMiKSYmKGUubXMybXJjPWQuaXNCdWJibGUodCk/Zyh0KTpmdW5jdGlvbigpe3JldHVybihyLnNpemV8fDYpLzJ9KSx0LnNlbGVjdGVkcG9pbnRzJiZjLmV4dGVuZEZsYXQoZSxtLm1ha2VTZWxlY3RlZFBvaW50U3R5bGVGbnModCkpLGV9LG0ubWFrZVNlbGVjdGVkUG9pbnRTdHlsZUZucz1mdW5jdGlvbih0KXt2YXIgZT17fSxyPXQuc2VsZWN0ZWR8fHt9LG49dC51bnNlbGVjdGVkfHx7fSxhPXQubWFya2VyfHx7fSxpPXIubWFya2VyfHx7fSxzPW4ubWFya2VyfHx7fSxsPWEub3BhY2l0eSx1PWkub3BhY2l0eSxoPXMub3BhY2l0eSxmPXZvaWQgMCE9PXUsZD12b2lkIDAhPT1oOyhjLmlzQXJyYXlPclR5cGVkQXJyYXkobCl8fGZ8fGQpJiYoZS5zZWxlY3RlZE9wYWNpdHlGbj1mdW5jdGlvbih0KXt2YXIgZT12b2lkIDA9PT10Lm1vP2Eub3BhY2l0eTp0Lm1vO3JldHVybiB0LnNlbGVjdGVkP2Y/dTplOmQ/aDpwKmV9KTt2YXIgZz1hLmNvbG9yLHY9aS5jb2xvcixtPXMuY29sb3I7KHZ8fG0pJiYoZS5zZWxlY3RlZENvbG9yRm49ZnVuY3Rpb24odCl7dmFyIGU9dC5tY2N8fGc7cmV0dXJuIHQuc2VsZWN0ZWQ/dnx8ZTptfHxlfSk7dmFyIHk9YS5zaXplLHg9aS5zaXplLGI9cy5zaXplLF89dm9pZCAwIT09eCx3PXZvaWQgMCE9PWI7cmV0dXJuIG8udHJhY2VJcyh0LCJzeW1ib2xzIikmJihffHx3KSYmKGUuc2VsZWN0ZWRTaXplRm49ZnVuY3Rpb24odCl7dmFyIGU9dC5tcmN8fHkvMjtyZXR1cm4gdC5zZWxlY3RlZD9fP3gvMjplOnc/Yi8yOmV9KSxlfSxtLm1ha2VTZWxlY3RlZFRleHRTdHlsZUZucz1mdW5jdGlvbih0KXt2YXIgZT17fSxyPXQuc2VsZWN0ZWR8fHt9LG49dC51bnNlbGVjdGVkfHx7fSxhPXQudGV4dGZvbnR8fHt9LGk9ci50ZXh0Zm9udHx8e30sbz1uLnRleHRmb250fHx7fSxsPWEuY29sb3IsYz1pLmNvbG9yLHU9by5jb2xvcjtyZXR1cm4gZS5zZWxlY3RlZFRleHRDb2xvckZuPWZ1bmN0aW9uKHQpe3ZhciBlPXQudGN8fGw7cmV0dXJuIHQuc2VsZWN0ZWQ/Y3x8ZTp1fHwoYz9lOnMuYWRkT3BhY2l0eShlLHApKX0sZX0sbS5zZWxlY3RlZFBvaW50U3R5bGU9ZnVuY3Rpb24odCxlKXtpZih0LnNpemUoKSYmZS5zZWxlY3RlZHBvaW50cyl7dmFyIHI9bS5tYWtlU2VsZWN0ZWRQb2ludFN0eWxlRm5zKGUpLGE9ZS5tYXJrZXJ8fHt9LGk9W107ci5zZWxlY3RlZE9wYWNpdHlGbiYmaS5wdXNoKGZ1bmN0aW9uKHQsZSl7dC5zdHlsZSgib3BhY2l0eSIsci5zZWxlY3RlZE9wYWNpdHlGbihlKSl9KSxyLnNlbGVjdGVkQ29sb3JGbiYmaS5wdXNoKGZ1bmN0aW9uKHQsZSl7cy5maWxsKHQsci5zZWxlY3RlZENvbG9yRm4oZSkpfSksci5zZWxlY3RlZFNpemVGbiYmaS5wdXNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5teHx8YS5zeW1ib2x8fDAsaT1yLnNlbGVjdGVkU2l6ZUZuKGUpO3QuYXR0cigiZCIsXyhtLnN5bWJvbE51bWJlcihuKSxpKSksZS5tcmMyPWl9KSxpLmxlbmd0aCYmdC5lYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uLnNlbGVjdCh0aGlzKSxyPTA7cjxpLmxlbmd0aDtyKyspaVtyXShlLHQpfSl9fSxtLnRyeUNvbG9yc2NhbGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1lP2MubmVzdGVkUHJvcGVydHkodCxlKS5nZXQoKTp0O2lmKHIpe3ZhciBuPXIuY29sb3I7aWYoKHIuY29sb3JzY2FsZXx8ci5fY29sb3JBeCkmJmMuaXNBcnJheU9yVHlwZWRBcnJheShuKSlyZXR1cm4gbC5tYWtlQ29sb3JTY2FsZUZ1bmNGcm9tVHJhY2Uocil9cmV0dXJuIGMuaWRlbnRpdHl9O3ZhciBBPXtzdGFydDoxLGVuZDotMSxtaWRkbGU6MCxib3R0b206MSx0b3A6LTF9O2Z1bmN0aW9uIFModCxlLHIsYSl7dmFyIGk9bi5zZWxlY3QodC5ub2RlKCkucGFyZW50Tm9kZSksbz0tMSE9PWUuaW5kZXhPZigidG9wIik/InRvcCI6LTEhPT1lLmluZGV4T2YoImJvdHRvbSIpPyJib3R0b20iOiJtaWRkbGUiLHM9LTEhPT1lLmluZGV4T2YoImxlZnQiKT8iZW5kIjotMSE9PWUuaW5kZXhPZigicmlnaHQiKT8ic3RhcnQiOiJtaWRkbGUiLGw9YT9hLy44KzE6MCxjPSh1LmxpbmVDb3VudCh0KS0xKSpmKzEsaD1BW3NdKmwscD0uNzUqcitBW29dKmwrKEFbb10tMSkqYypyLzI7dC5hdHRyKCJ0ZXh0LWFuY2hvciIscyksaS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitoKyIsIitwKyIpIil9ZnVuY3Rpb24gRSh0LGUpe3ZhciByPXQudHN8fGUudGV4dGZvbnQuc2l6ZTtyZXR1cm4gYShyKSYmcj4wP3I6MH1tLnRleHRQb2ludFN0eWxlPWZ1bmN0aW9uKHQsZSxyKXtpZih0LnNpemUoKSl7dmFyIGE7aWYoZS5zZWxlY3RlZHBvaW50cyl7dmFyIGk9bS5tYWtlU2VsZWN0ZWRUZXh0U3R5bGVGbnMoZSk7YT1pLnNlbGVjdGVkVGV4dENvbG9yRm59dmFyIG89ZS50ZXh0dGVtcGxhdGUscz1yLl9mdWxsTGF5b3V0O3QuZWFjaChmdW5jdGlvbih0KXt2YXIgaT1uLnNlbGVjdCh0aGlzKSxsPW8/Yy5leHRyYWN0T3B0aW9uKHQsZSwidHh0IiwidGV4dHRlbXBsYXRlIik6Yy5leHRyYWN0T3B0aW9uKHQsZSwidHgiLCJ0ZXh0Iik7aWYobHx8MD09PWwpe2lmKG8pe3ZhciBoPWUuX21vZHVsZS5mb3JtYXRMYWJlbHM/ZS5fbW9kdWxlLmZvcm1hdExhYmVscyh0LGUscyk6e30sZj17fTt2KGYsZSx0LmkpO3ZhciBwPWUuX21ldGF8fHt9O2w9Yy50ZXh0dGVtcGxhdGVTdHJpbmcobCxoLHMuX2QzbG9jYWxlLGYsdCxwKX12YXIgZD10LnRwfHxlLnRleHRwb3NpdGlvbixnPUUodCxlKSx5PWE/YSh0KTp0LnRjfHxlLnRleHRmb250LmNvbG9yO2kuY2FsbChtLmZvbnQsdC50Znx8ZS50ZXh0Zm9udC5mYW1pbHksZyx5KS50ZXh0KGwpLmNhbGwodS5jb252ZXJ0VG9Uc3BhbnMscikuY2FsbChTLGQsZyx0Lm1yYyl9ZWxzZSBpLnJlbW92ZSgpfSl9fSxtLnNlbGVjdGVkVGV4dFN0eWxlPWZ1bmN0aW9uKHQsZSl7aWYodC5zaXplKCkmJmUuc2VsZWN0ZWRwb2ludHMpe3ZhciByPW0ubWFrZVNlbGVjdGVkVGV4dFN0eWxlRm5zKGUpO3QuZWFjaChmdW5jdGlvbih0KXt2YXIgYT1uLnNlbGVjdCh0aGlzKSxpPXIuc2VsZWN0ZWRUZXh0Q29sb3JGbih0KSxvPXQudHB8fGUudGV4dHBvc2l0aW9uLGw9RSh0LGUpO3MuZmlsbChhLGkpLFMoYSxvLGwsdC5tcmMyfHx0Lm1yYyl9KX19O3ZhciBMPS41O2Z1bmN0aW9uIEModCxlLHIsYSl7dmFyIGk9dFswXS1lWzBdLG89dFsxXS1lWzFdLHM9clswXS1lWzBdLGw9clsxXS1lWzFdLGM9TWF0aC5wb3coaSppK28qbyxMLzIpLHU9TWF0aC5wb3cocypzK2wqbCxMLzIpLGg9KHUqdSppLWMqYypzKSphLGY9KHUqdSpvLWMqYypsKSphLHA9Myp1KihjK3UpLGQ9MypjKihjK3UpO3JldHVybltbbi5yb3VuZChlWzBdKyhwJiZoL3ApLDIpLG4ucm91bmQoZVsxXSsocCYmZi9wKSwyKV0sW24ucm91bmQoZVswXS0oZCYmaC9kKSwyKSxuLnJvdW5kKGVbMV0tKGQmJmYvZCksMildXX1tLnNtb290aG9wZW49ZnVuY3Rpb24odCxlKXtpZih0Lmxlbmd0aDwzKXJldHVybiJNIit0LmpvaW4oIkwiKTt2YXIgcixuPSJNIit0WzBdLGE9W107Zm9yKHI9MTtyPHQubGVuZ3RoLTE7cisrKWEucHVzaChDKHRbci0xXSx0W3JdLHRbcisxXSxlKSk7Zm9yKG4rPSJRIithWzBdWzBdKyIgIit0WzFdLHI9MjtyPHQubGVuZ3RoLTE7cisrKW4rPSJDIithW3ItMl1bMV0rIiAiK2Fbci0xXVswXSsiICIrdFtyXTtyZXR1cm4gbis9IlEiK2FbdC5sZW5ndGgtM11bMV0rIiAiK3RbdC5sZW5ndGgtMV19LG0uc21vb3RoY2xvc2VkPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8MylyZXR1cm4iTSIrdC5qb2luKCJMIikrIloiO3ZhciByLG49Ik0iK3RbMF0sYT10Lmxlbmd0aC0xLGk9W0ModFthXSx0WzBdLHRbMV0sZSldO2ZvcihyPTE7cjxhO3IrKylpLnB1c2goQyh0W3ItMV0sdFtyXSx0W3IrMV0sZSkpO2ZvcihpLnB1c2goQyh0W2EtMV0sdFthXSx0WzBdLGUpKSxyPTE7cjw9YTtyKyspbis9IkMiK2lbci0xXVsxXSsiICIraVtyXVswXSsiICIrdFtyXTtyZXR1cm4gbis9IkMiK2lbYV1bMV0rIiAiK2lbMF1bMF0rIiAiK3RbMF0rIloifTt2YXIgUD17aHY6ZnVuY3Rpb24odCxlKXtyZXR1cm4iSCIrbi5yb3VuZChlWzBdLDIpKyJWIituLnJvdW5kKGVbMV0sMil9LHZoOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIlYiK24ucm91bmQoZVsxXSwyKSsiSCIrbi5yb3VuZChlWzBdLDIpfSxodmg6ZnVuY3Rpb24odCxlKXtyZXR1cm4iSCIrbi5yb3VuZCgodFswXStlWzBdKS8yLDIpKyJWIituLnJvdW5kKGVbMV0sMikrIkgiK24ucm91bmQoZVswXSwyKX0sdmh2OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIlYiK24ucm91bmQoKHRbMV0rZVsxXSkvMiwyKSsiSCIrbi5yb3VuZChlWzBdLDIpKyJWIituLnJvdW5kKGVbMV0sMil9fSxPPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIkwiK24ucm91bmQoZVswXSwyKSsiLCIrbi5yb3VuZChlWzFdLDIpfTttLnN0ZXBzPWZ1bmN0aW9uKHQpe3ZhciBlPVBbdF18fE87cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj0iTSIrbi5yb3VuZCh0WzBdWzBdLDIpKyIsIituLnJvdW5kKHRbMF1bMV0sMiksYT0xO2E8dC5sZW5ndGg7YSsrKXIrPWUodFthLTFdLHRbYV0pO3JldHVybiByfX0sbS5tYWtlVGVzdGVyPWZ1bmN0aW9uKCl7dmFyIHQ9Yy5lbnN1cmVTaW5nbGVCeUlkKG4uc2VsZWN0KCJib2R5IiksInN2ZyIsImpzLXBsb3RseS10ZXN0ZXIiLGZ1bmN0aW9uKHQpe3QuYXR0cihoLnN2Z0F0dHJzKS5zdHlsZSh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiItMTAwMDBweCIsdG9wOiItMTAwMDBweCIsd2lkdGg6IjkwMDBweCIsaGVpZ2h0OiI5MDAwcHgiLCJ6LWluZGV4IjoiMSJ9KX0pLGU9Yy5lbnN1cmVTaW5nbGUodCwicGF0aCIsImpzLXJlZmVyZW5jZS1wb2ludCIsZnVuY3Rpb24odCl7dC5hdHRyKCJkIiwiTTAsMEgxVjFIMFoiKS5zdHlsZSh7InN0cm9rZS13aWR0aCI6MCxmaWxsOiJibGFjayJ9KX0pO20udGVzdGVyPXQsbS50ZXN0cmVmPWV9LG0uc2F2ZWRCQm94ZXM9e307dmFyIHo9MDtmdW5jdGlvbiBJKHQpe3ZhciBlPXQuZ2V0QXR0cmlidXRlKCJkYXRhLXVuZm9ybWF0dGVkIik7aWYobnVsbCE9PWUpcmV0dXJuIGUrdC5nZXRBdHRyaWJ1dGUoImRhdGEtbWF0aCIpK3QuZ2V0QXR0cmlidXRlKCJ0ZXh0LWFuY2hvciIpK3QuZ2V0QXR0cmlidXRlKCJzdHlsZSIpfWZ1bmN0aW9uIEQodCxlKXtpZighdClyZXR1cm4gbnVsbDt2YXIgcj1lLl9jb250ZXh0O3JldHVybiJ1cmwoJyIrKHIuX2V4cG9ydGVkUGxvdD8iIjpyLl9iYXNlVXJsfHwiIikrIiMiK3QrIicpIn1tLmJCb3g9ZnVuY3Rpb24odCxlLHIpe3ZhciBhLGksbztpZihyfHwocj1JKHQpKSxyKXtpZihhPW0uc2F2ZWRCQm94ZXNbcl0pcmV0dXJuIGMuZXh0ZW5kRmxhdCh7fSxhKX1lbHNlIGlmKDE9PT10LmNoaWxkTm9kZXMubGVuZ3RoKXt2YXIgcz10LmNoaWxkTm9kZXNbMF07aWYocj1JKHMpKXt2YXIgbD0rcy5nZXRBdHRyaWJ1dGUoIngiKXx8MCxoPStzLmdldEF0dHJpYnV0ZSgieSIpfHwwLGY9cy5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpO2lmKCFmKXt2YXIgcD1tLmJCb3gocywhMSxyKTtyZXR1cm4gbCYmKHAubGVmdCs9bCxwLnJpZ2h0Kz1sKSxoJiYocC50b3ArPWgscC5ib3R0b20rPWgpLHB9aWYocis9In4iK2wrIn4iK2grIn4iK2YsYT1tLnNhdmVkQkJveGVzW3JdKXJldHVybiBjLmV4dGVuZEZsYXQoe30sYSl9fWU/aT10OihvPW0udGVzdGVyLm5vZGUoKSxpPXQuY2xvbmVOb2RlKCEwKSxvLmFwcGVuZENoaWxkKGkpKSxuLnNlbGVjdChpKS5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpLmNhbGwodS5wb3NpdGlvblRleHQsMCwwKTt2YXIgZD1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGc9bS50ZXN0cmVmLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlfHxvLnJlbW92ZUNoaWxkKGkpO3ZhciB2PXtoZWlnaHQ6ZC5oZWlnaHQsd2lkdGg6ZC53aWR0aCxsZWZ0OmQubGVmdC1nLmxlZnQsdG9wOmQudG9wLWcudG9wLHJpZ2h0OmQucmlnaHQtZy5sZWZ0LGJvdHRvbTpkLmJvdHRvbS1nLnRvcH07cmV0dXJuIHo+PTFlNCYmKG0uc2F2ZWRCQm94ZXM9e30sej0wKSxyJiYobS5zYXZlZEJCb3hlc1tyXT12KSx6KyssYy5leHRlbmRGbGF0KHt9LHYpfSxtLnNldENsaXBVcmw9ZnVuY3Rpb24odCxlLHIpe3QuYXR0cigiY2xpcC1wYXRoIixEKGUscikpfSxtLmdldFRyYW5zbGF0ZT1mdW5jdGlvbih0KXt2YXIgZT0odFt0LmF0dHI/ImF0dHIiOiJnZXRBdHRyaWJ1dGUiXSgidHJhbnNmb3JtIil8fCIiKS5yZXBsYWNlKC8uKlxidHJhbnNsYXRlXCgoLT9cZCpcLj9cZCopW14tXGRdKigtP1xkKlwuP1xkKilbXlxkXS4qLyxmdW5jdGlvbih0LGUscil7cmV0dXJuW2Uscl0uam9pbigiICIpfSkuc3BsaXQoIiAiKTtyZXR1cm57eDorZVswXXx8MCx5OitlWzFdfHwwfX0sbS5zZXRUcmFuc2xhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuYXR0cj8iYXR0ciI6ImdldEF0dHJpYnV0ZSIsYT10LmF0dHI/ImF0dHIiOiJzZXRBdHRyaWJ1dGUiLGk9dFtuXSgidHJhbnNmb3JtIil8fCIiO3JldHVybiBlPWV8fDAscj1yfHwwLGk9aS5yZXBsYWNlKC8oXGJ0cmFuc2xhdGVcKC4qP1wpOz8pLywiIikudHJpbSgpLGk9KGkrPSIgdHJhbnNsYXRlKCIrZSsiLCAiK3IrIikiKS50cmltKCksdFthXSgidHJhbnNmb3JtIixpKSxpfSxtLmdldFNjYWxlPWZ1bmN0aW9uKHQpe3ZhciBlPSh0W3QuYXR0cj8iYXR0ciI6ImdldEF0dHJpYnV0ZSJdKCJ0cmFuc2Zvcm0iKXx8IiIpLnJlcGxhY2UoLy4qXGJzY2FsZVwoKFxkKlwuP1xkKilbXlxkXSooXGQqXC4/XGQqKVteXGRdLiovLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm5bZSxyXS5qb2luKCIgIil9KS5zcGxpdCgiICIpO3JldHVybnt4OitlWzBdfHwxLHk6K2VbMV18fDF9fSxtLnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmF0dHI/ImF0dHIiOiJnZXRBdHRyaWJ1dGUiLGE9dC5hdHRyPyJhdHRyIjoic2V0QXR0cmlidXRlIixpPXRbbl0oInRyYW5zZm9ybSIpfHwiIjtyZXR1cm4gZT1lfHwxLHI9cnx8MSxpPWkucmVwbGFjZSgvKFxic2NhbGVcKC4qP1wpOz8pLywiIikudHJpbSgpLGk9KGkrPSIgc2NhbGUoIitlKyIsICIrcisiKSIpLnRyaW0oKSx0W2FdKCJ0cmFuc2Zvcm0iLGkpLGl9O3ZhciBSPS9ccypzYy4qLzttLnNldFBvaW50R3JvdXBTY2FsZT1mdW5jdGlvbih0LGUscil7aWYoZT1lfHwxLHI9cnx8MSx0KXt2YXIgbj0xPT09ZSYmMT09PXI/IiI6IiBzY2FsZSgiK2UrIiwiK3IrIikiO3QuZWFjaChmdW5jdGlvbigpe3ZhciB0PSh0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIil8fCIiKS5yZXBsYWNlKFIsIiIpO3Q9KHQrPW4pLnRyaW0oKSx0aGlzLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KX0pfX07dmFyIEY9L3RyYW5zbGF0ZVwoW14pXSpcKVxzKiQvO20uc2V0VGV4dFBvaW50c1NjYWxlPWZ1bmN0aW9uKHQsZSxyKXt0JiZ0LmVhY2goZnVuY3Rpb24oKXt2YXIgdCxhPW4uc2VsZWN0KHRoaXMpLGk9YS5zZWxlY3QoInRleHQiKTtpZihpLm5vZGUoKSl7dmFyIG89cGFyc2VGbG9hdChpLmF0dHIoIngiKXx8MCkscz1wYXJzZUZsb2F0KGkuYXR0cigieSIpfHwwKSxsPShhLmF0dHIoInRyYW5zZm9ybSIpfHwiIikubWF0Y2goRik7dD0xPT09ZSYmMT09PXI/W106WyJ0cmFuc2xhdGUoIitvKyIsIitzKyIpIiwic2NhbGUoIitlKyIsIityKyIpIiwidHJhbnNsYXRlKCIrLW8rIiwiKy1zKyIpIl0sbCYmdC5wdXNoKGwpLGEuYXR0cigidHJhbnNmb3JtIix0LmpvaW4oIiAiKSl9fSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngvaGVscGVycyI6NjI3LCIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2NvbnN0YW50cy9pbnRlcmFjdGlvbnMiOjY5MiwiLi4vLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiOjY5NCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi8uLi90cmFjZXMvc2NhdHRlci9tYWtlX2J1YmJsZV9zaXplX2Z1bmMiOjExMzcsIi4uLy4uL3RyYWNlcy9zY2F0dGVyL3N1YnR5cGVzIjoxMTQ0LCIuLi9jb2xvciI6NTkyLCIuLi9jb2xvcnNjYWxlIjo2MDQsIi4vc3ltYm9sX2RlZnMiOjYxNCxkMzoxNjUsImZhc3QtaXNudW1lcmljIjoyMjgsdGlueWNvbG9yMjo1MzZ9XSw2MTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKTtlLmV4cG9ydHM9e2NpcmNsZTp7bjowLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCh0LDIpO3JldHVybiJNIitlKyIsMEEiK2UrIiwiK2UrIiAwIDEsMSAwLC0iK2UrIkEiK2UrIiwiK2UrIiAwIDAsMSAiK2UrIiwwWiJ9fSxzcXVhcmU6e246MSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQodCwyKTtyZXR1cm4iTSIrZSsiLCIrZSsiSC0iK2UrIlYtIitlKyJIIitlKyJaIn19LGRpYW1vbmQ6e246MixmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMS4zKnQsMik7cmV0dXJuIk0iK2UrIiwwTDAsIitlKyJMLSIrZSsiLDBMMCwtIitlKyJaIn19LGNyb3NzOntuOjMsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKC40KnQsMikscj1uLnJvdW5kKDEuMip0LDIpO3JldHVybiJNIityKyIsIitlKyJIIitlKyJWIityKyJILSIrZSsiViIrZSsiSC0iK3IrIlYtIitlKyJILSIrZSsiVi0iK3IrIkgiK2UrIlYtIitlKyJIIityKyJaIn19LHg6e246NCxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoLjgqdC9NYXRoLnNxcnQoMiksMikscj0ibCIrZSsiLCIrZSxhPSJsIitlKyIsLSIrZSxpPSJsLSIrZSsiLC0iK2Usbz0ibC0iK2UrIiwiK2U7cmV0dXJuIk0wLCIrZStyK2EraSthK2krbytpK28rcitvK3IrIloifX0sInRyaWFuZ2xlLXVwIjp7bjo1LGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCgyKnQvTWF0aC5zcXJ0KDMpLDIpO3JldHVybiJNLSIrZSsiLCIrbi5yb3VuZCh0LzIsMikrIkgiK2UrIkwwLC0iK24ucm91bmQodCwyKSsiWiJ9fSwidHJpYW5nbGUtZG93biI6e246NixmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMip0L01hdGguc3FydCgzKSwyKTtyZXR1cm4iTS0iK2UrIiwtIituLnJvdW5kKHQvMiwyKSsiSCIrZSsiTDAsIituLnJvdW5kKHQsMikrIloifX0sInRyaWFuZ2xlLWxlZnQiOntuOjcsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKDIqdC9NYXRoLnNxcnQoMyksMik7cmV0dXJuIk0iK24ucm91bmQodC8yLDIpKyIsLSIrZSsiViIrZSsiTC0iK24ucm91bmQodCwyKSsiLDBaIn19LCJ0cmlhbmdsZS1yaWdodCI6e246OCxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMip0L01hdGguc3FydCgzKSwyKTtyZXR1cm4iTS0iK24ucm91bmQodC8yLDIpKyIsLSIrZSsiViIrZSsiTCIrbi5yb3VuZCh0LDIpKyIsMFoifX0sInRyaWFuZ2xlLW5lIjp7bjo5LGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCguNip0LDIpLHI9bi5yb3VuZCgxLjIqdCwyKTtyZXR1cm4iTS0iK3IrIiwtIitlKyJIIitlKyJWIityKyJaIn19LCJ0cmlhbmdsZS1zZSI6e246MTAsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKC42KnQsMikscj1uLnJvdW5kKDEuMip0LDIpO3JldHVybiJNIitlKyIsLSIrcisiViIrZSsiSC0iK3IrIloifX0sInRyaWFuZ2xlLXN3Ijp7bjoxMSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoLjYqdCwyKSxyPW4ucm91bmQoMS4yKnQsMik7cmV0dXJuIk0iK3IrIiwiK2UrIkgtIitlKyJWLSIrcisiWiJ9fSwidHJpYW5nbGUtbnciOntuOjEyLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCguNip0LDIpLHI9bi5yb3VuZCgxLjIqdCwyKTtyZXR1cm4iTS0iK2UrIiwiK3IrIlYtIitlKyJIIityKyJaIn19LHBlbnRhZ29uOntuOjEzLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCguOTUxKnQsMikscj1uLnJvdW5kKC41ODgqdCwyKSxhPW4ucm91bmQoLXQsMiksaT1uLnJvdW5kKC0uMzA5KnQsMik7cmV0dXJuIk0iK2UrIiwiK2krIkwiK3IrIiwiK24ucm91bmQoLjgwOSp0LDIpKyJILSIrcisiTC0iK2UrIiwiK2krIkwwLCIrYSsiWiJ9fSxoZXhhZ29uOntuOjE0LGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCh0LDIpLHI9bi5yb3VuZCh0LzIsMiksYT1uLnJvdW5kKHQqTWF0aC5zcXJ0KDMpLzIsMik7cmV0dXJuIk0iK2ErIiwtIityKyJWIityKyJMMCwiK2UrIkwtIithKyIsIityKyJWLSIrcisiTDAsLSIrZSsiWiJ9fSxoZXhhZ29uMjp7bjoxNSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQodCwyKSxyPW4ucm91bmQodC8yLDIpLGE9bi5yb3VuZCh0Kk1hdGguc3FydCgzKS8yLDIpO3JldHVybiJNLSIrcisiLCIrYSsiSCIrcisiTCIrZSsiLDBMIityKyIsLSIrYSsiSC0iK3IrIkwtIitlKyIsMFoifX0sb2N0YWdvbjp7bjoxNixmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoLjkyNCp0LDIpLHI9bi5yb3VuZCguMzgzKnQsMik7cmV0dXJuIk0tIityKyIsLSIrZSsiSCIrcisiTCIrZSsiLC0iK3IrIlYiK3IrIkwiK3IrIiwiK2UrIkgtIityKyJMLSIrZSsiLCIrcisiVi0iK3IrIloifX0sc3Rhcjp7bjoxNyxmOmZ1bmN0aW9uKHQpe3ZhciBlPTEuNCp0LHI9bi5yb3VuZCguMjI1KmUsMiksYT1uLnJvdW5kKC45NTEqZSwyKSxpPW4ucm91bmQoLjM2MyplLDIpLG89bi5yb3VuZCguNTg4KmUsMikscz1uLnJvdW5kKC1lLDIpLGw9bi5yb3VuZCgtLjMwOSplLDIpLGM9bi5yb3VuZCguMTE4KmUsMiksdT1uLnJvdW5kKC44MDkqZSwyKTtyZXR1cm4iTSIrcisiLCIrbCsiSCIrYSsiTCIraSsiLCIrYysiTCIrbysiLCIrdSsiTDAsIituLnJvdW5kKC4zODIqZSwyKSsiTC0iK28rIiwiK3UrIkwtIitpKyIsIitjKyJMLSIrYSsiLCIrbCsiSC0iK3IrIkwwLCIrcysiWiJ9fSxoZXhhZ3JhbTp7bjoxOCxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoLjY2KnQsMikscj1uLnJvdW5kKC4zOCp0LDIpLGE9bi5yb3VuZCguNzYqdCwyKTtyZXR1cm4iTS0iK2ErIiwwbC0iK3IrIiwtIitlKyJoIithKyJsIityKyIsLSIrZSsibCIrcisiLCIrZSsiaCIrYSsibC0iK3IrIiwiK2UrImwiK3IrIiwiK2UrImgtIithKyJsLSIrcisiLCIrZSsibC0iK3IrIiwtIitlKyJoLSIrYSsiWiJ9fSwic3Rhci10cmlhbmdsZS11cCI6e246MTksZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKHQqTWF0aC5zcXJ0KDMpKi44LDIpLHI9bi5yb3VuZCguOCp0LDIpLGE9bi5yb3VuZCgxLjYqdCwyKSxpPW4ucm91bmQoNCp0LDIpLG89IkEgIitpKyIsIitpKyIgMCAwIDEgIjtyZXR1cm4iTS0iK2UrIiwiK3IrbytlKyIsIityK28rIjAsLSIrYStvKyItIitlKyIsIityKyJaIn19LCJzdGFyLXRyaWFuZ2xlLWRvd24iOntuOjIwLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCh0Kk1hdGguc3FydCgzKSouOCwyKSxyPW4ucm91bmQoLjgqdCwyKSxhPW4ucm91bmQoMS42KnQsMiksaT1uLnJvdW5kKDQqdCwyKSxvPSJBICIraSsiLCIraSsiIDAgMCAxICI7cmV0dXJuIk0iK2UrIiwtIityK28rIi0iK2UrIiwtIityK28rIjAsIithK28rZSsiLC0iK3IrIloifX0sInN0YXItc3F1YXJlIjp7bjoyMSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMS4xKnQsMikscj1uLnJvdW5kKDIqdCwyKSxhPSJBICIrcisiLCIrcisiIDAgMCAxICI7cmV0dXJuIk0tIitlKyIsLSIrZSthKyItIitlKyIsIitlK2ErZSsiLCIrZSthK2UrIiwtIitlK2ErIi0iK2UrIiwtIitlKyJaIn19LCJzdGFyLWRpYW1vbmQiOntuOjIyLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCgxLjQqdCwyKSxyPW4ucm91bmQoMS45KnQsMiksYT0iQSAiK3IrIiwiK3IrIiAwIDAgMSAiO3JldHVybiJNLSIrZSsiLDAiK2ErIjAsIitlK2ErZSsiLDAiK2ErIjAsLSIrZSthKyItIitlKyIsMFoifX0sImRpYW1vbmQtdGFsbCI6e246MjMsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKC43KnQsMikscj1uLnJvdW5kKDEuNCp0LDIpO3JldHVybiJNMCwiK3IrIkwiK2UrIiwwTDAsLSIrcisiTC0iK2UrIiwwWiJ9fSwiZGlhbW9uZC13aWRlIjp7bjoyNCxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMS40KnQsMikscj1uLnJvdW5kKC43KnQsMik7cmV0dXJuIk0wLCIrcisiTCIrZSsiLDBMMCwtIityKyJMLSIrZSsiLDBaIn19LGhvdXJnbGFzczp7bjoyNSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQodCwyKTtyZXR1cm4iTSIrZSsiLCIrZSsiSC0iK2UrIkwiK2UrIiwtIitlKyJILSIrZSsiWiJ9LG5vRG90OiEwfSxib3d0aWU6e246MjYsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKHQsMik7cmV0dXJuIk0iK2UrIiwiK2UrIlYtIitlKyJMLSIrZSsiLCIrZSsiVi0iK2UrIloifSxub0RvdDohMH0sImNpcmNsZS1jcm9zcyI6e246MjcsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKHQsMik7cmV0dXJuIk0wLCIrZSsiVi0iK2UrIk0iK2UrIiwwSC0iK2UrIk0iK2UrIiwwQSIrZSsiLCIrZSsiIDAgMSwxIDAsLSIrZSsiQSIrZSsiLCIrZSsiIDAgMCwxICIrZSsiLDBaIn0sbmVlZExpbmU6ITAsbm9Eb3Q6ITB9LCJjaXJjbGUteCI6e246MjgsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKHQsMikscj1uLnJvdW5kKHQvTWF0aC5zcXJ0KDIpLDIpO3JldHVybiJNIityKyIsIityKyJMLSIrcisiLC0iK3IrIk0iK3IrIiwtIityKyJMLSIrcisiLCIrcisiTSIrZSsiLDBBIitlKyIsIitlKyIgMCAxLDEgMCwtIitlKyJBIitlKyIsIitlKyIgMCAwLDEgIitlKyIsMFoifSxuZWVkTGluZTohMCxub0RvdDohMH0sInNxdWFyZS1jcm9zcyI6e246MjksZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKHQsMik7cmV0dXJuIk0wLCIrZSsiVi0iK2UrIk0iK2UrIiwwSC0iK2UrIk0iK2UrIiwiK2UrIkgtIitlKyJWLSIrZSsiSCIrZSsiWiJ9LG5lZWRMaW5lOiEwLG5vRG90OiEwfSwic3F1YXJlLXgiOntuOjMwLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCh0LDIpO3JldHVybiJNIitlKyIsIitlKyJMLSIrZSsiLC0iK2UrIk0iK2UrIiwtIitlKyJMLSIrZSsiLCIrZSsiTSIrZSsiLCIrZSsiSC0iK2UrIlYtIitlKyJIIitlKyJaIn0sbmVlZExpbmU6ITAsbm9Eb3Q6ITB9LCJkaWFtb25kLWNyb3NzIjp7bjozMSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMS4zKnQsMik7cmV0dXJuIk0iK2UrIiwwTDAsIitlKyJMLSIrZSsiLDBMMCwtIitlKyJaTTAsLSIrZSsiViIrZSsiTS0iK2UrIiwwSCIrZX0sbmVlZExpbmU6ITAsbm9Eb3Q6ITB9LCJkaWFtb25kLXgiOntuOjMyLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCgxLjMqdCwyKSxyPW4ucm91bmQoLjY1KnQsMik7cmV0dXJuIk0iK2UrIiwwTDAsIitlKyJMLSIrZSsiLDBMMCwtIitlKyJaTS0iK3IrIiwtIityKyJMIityKyIsIityKyJNLSIrcisiLCIrcisiTCIrcisiLC0iK3J9LG5lZWRMaW5lOiEwLG5vRG90OiEwfSwiY3Jvc3MtdGhpbiI6e246MzMsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKDEuNCp0LDIpO3JldHVybiJNMCwiK2UrIlYtIitlKyJNIitlKyIsMEgtIitlfSxuZWVkTGluZTohMCxub0RvdDohMCxub0ZpbGw6ITB9LCJ4LXRoaW4iOntuOjM0LGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCh0LDIpO3JldHVybiJNIitlKyIsIitlKyJMLSIrZSsiLC0iK2UrIk0iK2UrIiwtIitlKyJMLSIrZSsiLCIrZX0sbmVlZExpbmU6ITAsbm9Eb3Q6ITAsbm9GaWxsOiEwfSxhc3Rlcmlzazp7bjozNSxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMS4yKnQsMikscj1uLnJvdW5kKC44NSp0LDIpO3JldHVybiJNMCwiK2UrIlYtIitlKyJNIitlKyIsMEgtIitlKyJNIityKyIsIityKyJMLSIrcisiLC0iK3IrIk0iK3IrIiwtIityKyJMLSIrcisiLCIrcn0sbmVlZExpbmU6ITAsbm9Eb3Q6ITAsbm9GaWxsOiEwfSxoYXNoOntuOjM2LGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCh0LzIsMikscj1uLnJvdW5kKHQsMik7cmV0dXJuIk0iK2UrIiwiK3IrIlYtIityKyJtLSIrcisiLDBWIityKyJNIityKyIsIitlKyJILSIrcisibTAsLSIrcisiSCIrcn0sbmVlZExpbmU6ITAsbm9GaWxsOiEwfSwieS11cCI6e246MzcsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKDEuMip0LDIpLHI9bi5yb3VuZCgxLjYqdCwyKSxhPW4ucm91bmQoLjgqdCwyKTtyZXR1cm4iTS0iK2UrIiwiK2ErIkwwLDBNIitlKyIsIithKyJMMCwwTTAsLSIrcisiTDAsMCJ9LG5lZWRMaW5lOiEwLG5vRG90OiEwLG5vRmlsbDohMH0sInktZG93biI6e246MzgsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKDEuMip0LDIpLHI9bi5yb3VuZCgxLjYqdCwyKSxhPW4ucm91bmQoLjgqdCwyKTtyZXR1cm4iTS0iK2UrIiwtIithKyJMMCwwTSIrZSsiLC0iK2ErIkwwLDBNMCwiK3IrIkwwLDAifSxuZWVkTGluZTohMCxub0RvdDohMCxub0ZpbGw6ITB9LCJ5LWxlZnQiOntuOjM5LGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCgxLjIqdCwyKSxyPW4ucm91bmQoMS42KnQsMiksYT1uLnJvdW5kKC44KnQsMik7cmV0dXJuIk0iK2ErIiwiK2UrIkwwLDBNIithKyIsLSIrZSsiTDAsME0tIityKyIsMEwwLDAifSxuZWVkTGluZTohMCxub0RvdDohMCxub0ZpbGw6ITB9LCJ5LXJpZ2h0Ijp7bjo0MCxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQoMS4yKnQsMikscj1uLnJvdW5kKDEuNip0LDIpLGE9bi5yb3VuZCguOCp0LDIpO3JldHVybiJNLSIrYSsiLCIrZSsiTDAsME0tIithKyIsLSIrZSsiTDAsME0iK3IrIiwwTDAsMCJ9LG5lZWRMaW5lOiEwLG5vRG90OiEwLG5vRmlsbDohMH0sImxpbmUtZXciOntuOjQxLGY6ZnVuY3Rpb24odCl7dmFyIGU9bi5yb3VuZCgxLjQqdCwyKTtyZXR1cm4iTSIrZSsiLDBILSIrZX0sbmVlZExpbmU6ITAsbm9Eb3Q6ITAsbm9GaWxsOiEwfSwibGluZS1ucyI6e246NDIsZjpmdW5jdGlvbih0KXt2YXIgZT1uLnJvdW5kKDEuNCp0LDIpO3JldHVybiJNMCwiK2UrIlYtIitlfSxuZWVkTGluZTohMCxub0RvdDohMCxub0ZpbGw6ITB9LCJsaW5lLW5lIjp7bjo0MyxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQodCwyKTtyZXR1cm4iTSIrZSsiLC0iK2UrIkwtIitlKyIsIitlfSxuZWVkTGluZTohMCxub0RvdDohMCxub0ZpbGw6ITB9LCJsaW5lLW53Ijp7bjo0NCxmOmZ1bmN0aW9uKHQpe3ZhciBlPW4ucm91bmQodCwyKTtyZXR1cm4iTSIrZSsiLCIrZSsiTC0iK2UrIiwtIitlfSxuZWVkTGluZTohMCxub0RvdDohMCxub0ZpbGw6ITB9fX0se2QzOjE2NX1dLDYxNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJjYWxjIn0sdHlwZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsicGVyY2VudCIsImNvbnN0YW50Iiwic3FydCIsImRhdGEiXSxlZGl0VHlwZToiY2FsYyJ9LHN5bW1ldHJpYzp7dmFsVHlwZToiYm9vbGVhbiIsZWRpdFR5cGU6ImNhbGMifSxhcnJheTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxhcnJheW1pbnVzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHZhbHVlOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MTAsZWRpdFR5cGU6ImNhbGMifSx2YWx1ZW1pbnVzOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MTAsZWRpdFR5cGU6ImNhbGMifSx0cmFjZXJlZjp7dmFsVHlwZToiaW50ZWdlciIsbWluOjAsZGZsdDowLGVkaXRUeXBlOiJzdHlsZSJ9LHRyYWNlcmVmbWludXM6e3ZhbFR5cGU6ImludGVnZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToic3R5bGUifSxjb3B5X3lzdHlsZTp7dmFsVHlwZToiYm9vbGVhbiIsZWRpdFR5cGU6InBsb3QifSxjb3B5X3pzdHlsZTp7dmFsVHlwZToiYm9vbGVhbiIsZWRpdFR5cGU6InN0eWxlIn0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToic3R5bGUifSx0aGlja25lc3M6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoyLGVkaXRUeXBlOiJzdHlsZSJ9LHdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6ImNhbGMiLF9kZXByZWNhdGVkOntvcGFjaXR5Ont2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJzdHlsZSJ9fX19LHt9XSw2MTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4uLy4uL3JlZ2lzdHJ5IiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLG89dCgiLi4vLi4vbGliIikscz10KCIuL2NvbXB1dGVfZXJyb3IiKTtmdW5jdGlvbiBsKHQsZSxyLGEpe3ZhciBsPWVbImVycm9yXyIrYV18fHt9LGM9W107aWYobC52aXNpYmxlJiYtMSE9PVsibGluZWFyIiwibG9nIl0uaW5kZXhPZihyLnR5cGUpKXtmb3IodmFyIHU9cyhsKSxoPTA7aDx0Lmxlbmd0aDtoKyspe3ZhciBmPXRbaF0scD1mLmk7aWYodm9pZCAwPT09cClwPWg7ZWxzZSBpZihudWxsPT09cCljb250aW51ZTt2YXIgZD1mW2FdO2lmKG4oci5jMmwoZCkpKXt2YXIgZz11KGQscCk7aWYobihnWzBdKSYmbihnWzFdKSl7dmFyIHY9ZlthKyJzIl09ZC1nWzBdLG09ZlthKyJoIl09ZCtnWzFdO2MucHVzaCh2LG0pfX19dmFyIHk9ci5faWQseD1lLl9leHRyZW1lc1t5XSxiPWkuZmluZEV4dHJlbWVzKHIsYyxvLmV4dGVuZEZsYXQoe3RvemVybzp4Lm9wdHMudG96ZXJvfSx7cGFkZGVkOiEwfSkpO3gubWluPXgubWluLmNvbmNhdChiLm1pbikseC5tYXg9eC5tYXguY29uY2F0KGIubWF4KX19ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmNhbGNkYXRhLHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXSxvPW5bMF0udHJhY2U7aWYoITA9PT1vLnZpc2libGUmJmEudHJhY2VJcyhvLCJlcnJvckJhcnNPSyIpKXt2YXIgcz1pLmdldEZyb21JZCh0LG8ueGF4aXMpLGM9aS5nZXRGcm9tSWQodCxvLnlheGlzKTtsKG4sbyxzLCJ4IiksbChuLG8sYywieSIpfX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2NvbXB1dGVfZXJyb3IiOjYxNywiZmFzdC1pc251bWVyaWMiOjIyOH1dLDYxNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuInBlcmNlbnQiPT09dD9mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5hYnModCplLzEwMCl9OiJjb25zdGFudCI9PT10P2Z1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKGUpfToic3FydCI9PT10P2Z1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5hYnModCkpfTp2b2lkIDB9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQudHlwZSxyPXQuc3ltbWV0cmljO2lmKCJkYXRhIj09PWUpe3ZhciBhPXQuYXJyYXl8fFtdO2lmKHIpcmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9K2FbZV07cmV0dXJuW3Iscl19O3ZhciBpPXQuYXJyYXltaW51c3x8W107cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9K2FbZV0sbj0raVtlXTtyZXR1cm4gaXNOYU4ocikmJmlzTmFOKG4pP1tOYU4sTmFOXTpbbnx8MCxyfHwwXX19dmFyIG89bihlLHQudmFsdWUpLHM9bihlLHQudmFsdWVtaW51cyk7cmV0dXJuIHJ8fHZvaWQgMD09PXQudmFsdWVtaW51cz9mdW5jdGlvbih0KXt2YXIgZT1vKHQpO3JldHVybltlLGVdfTpmdW5jdGlvbih0KXtyZXR1cm5bcyh0KSxvKHQpXX19fSx7fV0sNjE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vbGliIiksbz10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIikscz10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbCl7dmFyIGM9ImVycm9yXyIrbC5heGlzLHU9by5uZXdDb250YWluZXIoZSxjKSxoPXRbY118fHt9O2Z1bmN0aW9uIGYodCxlKXtyZXR1cm4gaS5jb2VyY2UoaCx1LHMsdCxlKX1pZighMSE9PWYoInZpc2libGUiLHZvaWQgMCE9PWguYXJyYXl8fHZvaWQgMCE9PWgudmFsdWV8fCJzcXJ0Ij09PWgudHlwZSkpe3ZhciBwPWYoInR5cGUiLCJhcnJheSJpbiBoPyJkYXRhIjoicGVyY2VudCIpLGQ9ITA7InNxcnQiIT09cCYmKGQ9Zigic3ltbWV0cmljIiwhKCgiZGF0YSI9PT1wPyJhcnJheW1pbnVzIjoidmFsdWVtaW51cyIpaW4gaCkpKSwiZGF0YSI9PT1wPyhmKCJhcnJheSIpLGYoInRyYWNlcmVmIiksZHx8KGYoImFycmF5bWludXMiKSxmKCJ0cmFjZXJlZm1pbnVzIikpKToicGVyY2VudCIhPT1wJiYiY29uc3RhbnQiIT09cHx8KGYoInZhbHVlIiksZHx8ZigidmFsdWVtaW51cyIpKTt2YXIgZz0iY29weV8iK2wuaW5oZXJpdCsic3R5bGUiO2lmKGwuaW5oZXJpdCkoZVsiZXJyb3JfIitsLmluaGVyaXRdfHx7fSkudmlzaWJsZSYmZihnLCEoaC5jb2xvcnx8bihoLnRoaWNrbmVzcyl8fG4oaC53aWR0aCkpKTtsLmluaGVyaXQmJnVbZ118fChmKCJjb2xvciIsciksZigidGhpY2tuZXNzIiksZigid2lkdGgiLGEudHJhY2VJcyhlLCJnbDNkIik/MDo0KSl9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2F0dHJpYnV0ZXMiOjYxNSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDYxOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiKS5vdmVycmlkZUFsbCxpPXQoIi4vYXR0cmlidXRlcyIpLG89e2Vycm9yX3g6bi5leHRlbmRGbGF0KHt9LGkpLGVycm9yX3k6bi5leHRlbmRGbGF0KHt9LGkpfTtkZWxldGUgby5lcnJvcl94LmNvcHlfenN0eWxlLGRlbGV0ZSBvLmVycm9yX3kuY29weV96c3R5bGUsZGVsZXRlIG8uZXJyb3JfeS5jb3B5X3lzdHlsZTt2YXIgcz17ZXJyb3JfeDpuLmV4dGVuZEZsYXQoe30saSksZXJyb3JfeTpuLmV4dGVuZEZsYXQoe30saSksZXJyb3JfejpuLmV4dGVuZEZsYXQoe30saSl9O2RlbGV0ZSBzLmVycm9yX3guY29weV95c3R5bGUsZGVsZXRlIHMuZXJyb3JfeS5jb3B5X3lzdHlsZSxkZWxldGUgcy5lcnJvcl96LmNvcHlfeXN0eWxlLGRlbGV0ZSBzLmVycm9yX3ouY29weV96c3R5bGUsZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6ImVycm9yYmFycyIsc2NoZW1hOnt0cmFjZXM6e3NjYXR0ZXI6byxiYXI6byxoaXN0b2dyYW06byxzY2F0dGVyM2Q6YShzLCJjYWxjIiwibmVzdGVkIiksc2NhdHRlcmdsOmEobywiY2FsYyIsIm5lc3RlZCIpfX0sc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIiksbWFrZUNvbXB1dGVFcnJvcjp0KCIuL2NvbXB1dGVfZXJyb3IiKSxwbG90OnQoIi4vcGxvdCIpLHN0eWxlOnQoIi4vc3R5bGUiKSxob3ZlckluZm86ZnVuY3Rpb24odCxlLHIpeyhlLmVycm9yX3l8fHt9KS52aXNpYmxlJiYoci55ZXJyPXQueWgtdC55LGUuZXJyb3JfeS5zeW1tZXRyaWN8fChyLnllcnJuZWc9dC55LXQueXMpKTsoZS5lcnJvcl94fHx7fSkudmlzaWJsZSYmKHIueGVycj10LnhoLXQueCxlLmVycm9yX3guc3ltbWV0cmljfHwoci54ZXJybmVnPXQueC10LnhzKSl9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuL2F0dHJpYnV0ZXMiOjYxNSwiLi9jYWxjIjo2MTYsIi4vY29tcHV0ZV9lcnJvciI6NjE3LCIuL2RlZmF1bHRzIjo2MTgsIi4vcGxvdCI6NjIwLCIuL3N0eWxlIjo2MjF9XSw2MjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoImZhc3QtaXNudW1lcmljIiksaT10KCIuLi9kcmF3aW5nIiksbz10KCIuLi8uLi90cmFjZXMvc2NhdHRlci9zdWJ0eXBlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixzKXt2YXIgbD1yLnhheGlzLGM9ci55YXhpcyx1PXMmJnMuZHVyYXRpb24+MDtlLmVhY2goZnVuY3Rpb24oZSl7dmFyIGgsZj1lWzBdLnRyYWNlLHA9Zi5lcnJvcl94fHx7fSxkPWYuZXJyb3JfeXx8e307Zi5pZHMmJihoPWZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSk7dmFyIGc9by5oYXNNYXJrZXJzKGYpJiZmLm1hcmtlci5tYXhkaXNwbGF5ZWQ+MDtkLnZpc2libGV8fHAudmlzaWJsZXx8KGU9W10pO3ZhciB2PW4uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy5lcnJvcmJhciIpLmRhdGEoZSxoKTtpZih2LmV4aXQoKS5yZW1vdmUoKSxlLmxlbmd0aCl7cC52aXNpYmxlfHx2LnNlbGVjdEFsbCgicGF0aC54ZXJyb3IiKS5yZW1vdmUoKSxkLnZpc2libGV8fHYuc2VsZWN0QWxsKCJwYXRoLnllcnJvciIpLnJlbW92ZSgpLHYuc3R5bGUoIm9wYWNpdHkiLDEpO3ZhciBtPXYuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJlcnJvcmJhciIsITApO3UmJm0uc3R5bGUoIm9wYWNpdHkiLDApLnRyYW5zaXRpb24oKS5kdXJhdGlvbihzLmR1cmF0aW9uKS5zdHlsZSgib3BhY2l0eSIsMSksaS5zZXRDbGlwVXJsKHYsci5sYXllckNsaXBJZCx0KSx2LmVhY2goZnVuY3Rpb24odCl7dmFyIGU9bi5zZWxlY3QodGhpcykscj1mdW5jdGlvbih0LGUscil7dmFyIG49e3g6ZS5jMnAodC54KSx5OnIuYzJwKHQueSl9O3ZvaWQgMCE9PXQueWgmJihuLnloPXIuYzJwKHQueWgpLG4ueXM9ci5jMnAodC55cyksYShuLnlzKXx8KG4ubm9ZUz0hMCxuLnlzPXIuYzJwKHQueXMsITApKSk7dm9pZCAwIT09dC54aCYmKG4ueGg9ZS5jMnAodC54aCksbi54cz1lLmMycCh0LnhzKSxhKG4ueHMpfHwobi5ub1hTPSEwLG4ueHM9ZS5jMnAodC54cywhMCkpKTtyZXR1cm4gbn0odCxsLGMpO2lmKCFnfHx0LnZpcyl7dmFyIGksbz1lLnNlbGVjdCgicGF0aC55ZXJyb3IiKTtpZihkLnZpc2libGUmJmEoci54KSYmYShyLnloKSYmYShyLnlzKSl7dmFyIGg9ZC53aWR0aDtpPSJNIisoci54LWgpKyIsIityLnloKyJoIisyKmgrIm0tIitoKyIsMFYiK3IueXMsci5ub1lTfHwoaSs9Im0tIitoKyIsMGgiKzIqaCksIW8uc2l6ZSgpP289ZS5hcHBlbmQoInBhdGgiKS5zdHlsZSgidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpLmNsYXNzZWQoInllcnJvciIsITApOnUmJihvPW8udHJhbnNpdGlvbigpLmR1cmF0aW9uKHMuZHVyYXRpb24pLmVhc2Uocy5lYXNpbmcpKSxvLmF0dHIoImQiLGkpfWVsc2Ugby5yZW1vdmUoKTt2YXIgZj1lLnNlbGVjdCgicGF0aC54ZXJyb3IiKTtpZihwLnZpc2libGUmJmEoci55KSYmYShyLnhoKSYmYShyLnhzKSl7dmFyIHY9KHAuY29weV95c3R5bGU/ZDpwKS53aWR0aDtpPSJNIityLnhoKyIsIisoci55LXYpKyJ2IisyKnYrIm0wLC0iK3YrIkgiK3IueHMsci5ub1hTfHwoaSs9Im0wLC0iK3YrInYiKzIqdiksIWYuc2l6ZSgpP2Y9ZS5hcHBlbmQoInBhdGgiKS5zdHlsZSgidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpLmNsYXNzZWQoInhlcnJvciIsITApOnUmJihmPWYudHJhbnNpdGlvbigpLmR1cmF0aW9uKHMuZHVyYXRpb24pLmVhc2Uocy5lYXNpbmcpKSxmLmF0dHIoImQiLGkpfWVsc2UgZi5yZW1vdmUoKX19KX19KX19LHsiLi4vLi4vdHJhY2VzL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4uL2RyYXdpbmciOjYxMyxkMzoxNjUsImZhc3QtaXNudW1lcmljIjoyMjh9XSw2MjE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uL2NvbG9yIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3QuZWFjaChmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRyYWNlLHI9ZS5lcnJvcl95fHx7fSxpPWUuZXJyb3JfeHx8e30sbz1uLnNlbGVjdCh0aGlzKTtvLnNlbGVjdEFsbCgicGF0aC55ZXJyb3IiKS5zdHlsZSgic3Ryb2tlLXdpZHRoIixyLnRoaWNrbmVzcysicHgiKS5jYWxsKGEuc3Ryb2tlLHIuY29sb3IpLGkuY29weV95c3R5bGUmJihpPXIpLG8uc2VsZWN0QWxsKCJwYXRoLnhlcnJvciIpLnN0eWxlKCJzdHJva2Utd2lkdGgiLGkudGhpY2tuZXNzKyJweCIpLmNhbGwoYS5zdHJva2UsaS5jb2xvcil9KX19LHsiLi4vY29sb3IiOjU5MixkMzoxNjV9XSw2MjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIikuaG92ZXJsYWJlbCxpPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0O2UuZXhwb3J0cz17aG92ZXJsYWJlbDp7Ymdjb2xvcjppKHt9LGEuYmdjb2xvcix7YXJyYXlPazohMH0pLGJvcmRlcmNvbG9yOmkoe30sYS5ib3JkZXJjb2xvcix7YXJyYXlPazohMH0pLGZvbnQ6bih7YXJyYXlPazohMCxlZGl0VHlwZToibm9uZSJ9KSxhbGlnbjppKHt9LGEuYWxpZ24se2FycmF5T2s6ITB9KSxuYW1lbGVuZ3RoOmkoe30sYS5uYW1lbGVuZ3RoLHthcnJheU9rOiEwfSksZWRpdFR5cGU6Im5vbmUifX19LHsiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiOjc5MSwiLi9sYXlvdXRfYXR0cmlidXRlcyI6NjMxfV0sNjIzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKTtmdW5jdGlvbiBpKHQsZSxyLGEpe2E9YXx8bi5pZGVudGl0eSxBcnJheS5pc0FycmF5KHQpJiYoZVswXVtyXT1hKHQpKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5jYWxjZGF0YSxyPXQuX2Z1bGxMYXlvdXQ7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIG4uY29lcmNlSG92ZXJpbmZvKHtob3ZlcmluZm86ZX0se19tb2R1bGU6dC5fbW9kdWxlfSxyKX19Zm9yKHZhciBzPTA7czxlLmxlbmd0aDtzKyspe3ZhciBsPWVbc10sYz1sWzBdLnRyYWNlO2lmKCFhLnRyYWNlSXMoYywicGllLWxpa2UiKSl7dmFyIHU9YS50cmFjZUlzKGMsIjJkTWFwIik/aTpuLmZpbGxBcnJheTt1KGMuaG92ZXJpbmZvLGwsImhpIixvKGMpKSxjLmhvdmVydGVtcGxhdGUmJnUoYy5ob3ZlcnRlbXBsYXRlLGwsImh0IiksYy5ob3ZlcmxhYmVsJiYodShjLmhvdmVybGFiZWwuYmdjb2xvcixsLCJoYmciKSx1KGMuaG92ZXJsYWJlbC5ib3JkZXJjb2xvcixsLCJoYmMiKSx1KGMuaG92ZXJsYWJlbC5mb250LnNpemUsbCwiaHRzIiksdShjLmhvdmVybGFiZWwuZm9udC5jb2xvcixsLCJodGMiKSx1KGMuaG92ZXJsYWJlbC5mb250LmZhbWlseSxsLCJodGYiKSx1KGMuaG92ZXJsYWJlbC5uYW1lbGVuZ3RoLGwsImhubCIpLHUoYy5ob3ZlcmxhYmVsLmFsaWduLGwsImh0YSIpKX19fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0Nn1dLDYyNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi9ob3ZlciIpLmhvdmVyO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGk9bi5nZXRDb21wb25lbnRNZXRob2QoImFubm90YXRpb25zIiwib25DbGljayIpKHQsdC5faG92ZXJkYXRhKTtmdW5jdGlvbiBvKCl7dC5lbWl0KCJwbG90bHlfY2xpY2siLHtwb2ludHM6dC5faG92ZXJkYXRhLGV2ZW50OmV9KX12b2lkIDAhPT1yJiZhKHQsZSxyLCEwKSx0Ll9ob3ZlcmRhdGEmJmUmJmUudGFyZ2V0JiYoaSYmaS50aGVuP2kudGhlbihvKTpvKCksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX0seyIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2hvdmVyIjo2Mjh9XSw2MjU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtZQU5HTEU6NjAsSE9WRVJBUlJPV1NJWkU6NixIT1ZFUlRFWFRQQUQ6MyxIT1ZFUkZPTlRTSVpFOjEzLEhPVkVSRk9OVDoiQXJpYWwsIHNhbnMtc2VyaWYiLEhPVkVSTUlOVElNRTo1MCxIT1ZFUklEOiItaG92ZXIifX0se31dLDYyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vYXR0cmlidXRlcyIpLGk9dCgiLi9ob3ZlcmxhYmVsX2RlZmF1bHRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8pe3ZhciBzPW4uZXh0ZW5kRmxhdCh7fSxvLmhvdmVybGFiZWwpO2UuaG92ZXJ0ZW1wbGF0ZSYmKHMubmFtZWxlbmd0aD0tMSksaSh0LGUsZnVuY3Rpb24ocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX0scyl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2F0dHJpYnV0ZXMiOjYyMiwiLi9ob3ZlcmxhYmVsX2RlZmF1bHRzIjo2Mjl9XSw2Mjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ci5nZXRTdWJwbG90PWZ1bmN0aW9uKHQpe3JldHVybiB0LnN1YnBsb3R8fHQueGF4aXMrdC55YXhpc3x8dC5nZW99LHIuaXNUcmFjZUluU3VicGxvdHM9ZnVuY3Rpb24odCxlKXtpZigic3Bsb20iPT09dC50eXBlKXtmb3IodmFyIG49dC54YXhlc3x8W10sYT10LnlheGVzfHxbXSxpPTA7aTxuLmxlbmd0aDtpKyspZm9yKHZhciBvPTA7bzxhLmxlbmd0aDtvKyspaWYoLTEhPT1lLmluZGV4T2YobltpXSthW29dKSlyZXR1cm4hMDtyZXR1cm4hMX1yZXR1cm4tMSE9PWUuaW5kZXhPZihyLmdldFN1YnBsb3QodCkpfSxyLmZsYXQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmV3IEFycmF5KHQubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT1lO3JldHVybiByfSxyLnAyYz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodC5sZW5ndGgpLG49MDtuPHQubGVuZ3RoO24rKylyW25dPXRbbl0ucDJjKGUpO3JldHVybiByfSxyLmdldERpc3RhbmNlRnVuY3Rpb249ZnVuY3Rpb24odCxlLG4sYSl7cmV0dXJuImNsb3Nlc3QiPT09dD9hfHxyLnF1YWRyYXR1cmUoZSxuKToieCI9PT10P2U6bn0sci5nZXRDbG9zZXN0PWZ1bmN0aW9uKHQsZSxyKXtpZighMSE9PXIuaW5kZXgpci5pbmRleD49MCYmci5pbmRleDx0Lmxlbmd0aD9yLmRpc3RhbmNlPTA6ci5pbmRleD0hMTtlbHNlIGZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgYT1lKHRbbl0pO2E8PXIuZGlzdGFuY2UmJihyLmluZGV4PW4sci5kaXN0YW5jZT1hKX1yZXR1cm4gcn0sci5pbmJveD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQqZTwwfHwwPT09dD9yOjEvMH0sci5xdWFkcmF0dXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBuPXQociksYT1lKHIpO3JldHVybiBNYXRoLnNxcnQobipuK2EqYSl9fSxyLm1ha2VFdmVudERhdGE9ZnVuY3Rpb24odCxlLG4pe3ZhciBhPSJpbmRleCJpbiB0P3QuaW5kZXg6dC5wb2ludE51bWJlcixpPXtkYXRhOmUuX2lucHV0LGZ1bGxEYXRhOmUsY3VydmVOdW1iZXI6ZS5pbmRleCxwb2ludE51bWJlcjphfTtpZihlLl9pbmRleFRvUG9pbnRzKXt2YXIgbz1lLl9pbmRleFRvUG9pbnRzW2FdOzE9PT1vLmxlbmd0aD9pLnBvaW50SW5kZXg9b1swXTppLnBvaW50SW5kaWNlcz1vfWVsc2UgaS5wb2ludEluZGV4PWE7cmV0dXJuIGUuX21vZHVsZS5ldmVudERhdGE/aT1lLl9tb2R1bGUuZXZlbnREYXRhKGksdCxlLG4sYSk6KCJ4VmFsImluIHQ/aS54PXQueFZhbDoieCJpbiB0JiYoaS54PXQueCksInlWYWwiaW4gdD9pLnk9dC55VmFsOiJ5ImluIHQmJihpLnk9dC55KSx0LnhhJiYoaS54YXhpcz10LnhhKSx0LnlhJiYoaS55YXhpcz10LnlhKSx2b2lkIDAhPT10LnpMYWJlbFZhbCYmKGkuej10LnpMYWJlbFZhbCkpLHIuYXBwZW5kQXJyYXlQb2ludFZhbHVlKGksZSxhKSxpfSxyLmFwcGVuZEFycmF5UG9pbnRWYWx1ZT1mdW5jdGlvbih0LGUscil7dmFyIGE9ZS5fYXJyYXlBdHRycztpZihhKWZvcih2YXIgcz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgbD1hW3NdLGM9aShsKTtpZih2b2lkIDA9PT10W2NdKXt2YXIgdT1vKG4ubmVzdGVkUHJvcGVydHkoZSxsKS5nZXQoKSxyKTt2b2lkIDAhPT11JiYodFtjXT11KX19fSxyLmFwcGVuZEFycmF5TXVsdGlQb2ludFZhbHVlcz1mdW5jdGlvbih0LGUscil7dmFyIGE9ZS5fYXJyYXlBdHRycztpZihhKWZvcih2YXIgcz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgbD1hW3NdLGM9aShsKTtpZih2b2lkIDA9PT10W2NdKXtmb3IodmFyIHU9bi5uZXN0ZWRQcm9wZXJ0eShlLGwpLmdldCgpLGg9bmV3IEFycmF5KHIubGVuZ3RoKSxmPTA7ZjxyLmxlbmd0aDtmKyspaFtmXT1vKHUscltmXSk7dFtjXT1ofX19O3ZhciBhPXtpZHM6ImlkIixsb2NhdGlvbnM6ImxvY2F0aW9uIixsYWJlbHM6ImxhYmVsIix2YWx1ZXM6InZhbHVlIiwibWFya2VyLmNvbG9ycyI6ImNvbG9yIixwYXJlbnRzOiJwYXJlbnQifTtmdW5jdGlvbiBpKHQpe3JldHVybiBhW3RdfHx0fWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9BcnJheS5pc0FycmF5KHQpJiZBcnJheS5pc0FycmF5KHRbZVswXV0pP3RbZVswXV1bZVsxXV06dm9pZCAwOnRbZV19fSx7Ii4uLy4uL2xpYiI6NzE3fV0sNjI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9dCgidGlueWNvbG9yMiIpLG89dCgiLi4vLi4vbGliIikscz10KCIuLi8uLi9saWIvZXZlbnRzIiksbD10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxjPXQoIi4uLy4uL2xpYi9vdmVycmlkZV9jdXJzb3IiKSx1PXQoIi4uL2RyYXdpbmciKSxoPXQoIi4uL2NvbG9yIiksZj10KCIuLi9kcmFnZWxlbWVudCIpLHA9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxkPXQoIi4uLy4uL3JlZ2lzdHJ5IiksZz10KCIuL2hlbHBlcnMiKSx2PXQoIi4vY29uc3RhbnRzIiksbT12LllBTkdMRSx5PU1hdGguUEkqbS8xODAseD0xL01hdGguc2luKHkpLGI9TWF0aC5jb3MoeSksXz1NYXRoLnNpbih5KSx3PXYuSE9WRVJBUlJPV1NJWkUsaz12LkhPVkVSVEVYVFBBRDtyLmhvdmVyPWZ1bmN0aW9uKHQsZSxyLGkpe3Q9by5nZXRHcmFwaERpdih0KSxvLnRocm90dGxlKHQuX2Z1bGxMYXlvdXQuX3VpZCt2LkhPVkVSSUQsdi5IT1ZFUk1JTlRJTUUsZnVuY3Rpb24oKXshZnVuY3Rpb24odCxlLHIsaSl7cnx8KHI9Inh5Iik7dmFyIGw9QXJyYXkuaXNBcnJheShyKT9yOltyXSx1PXQuX2Z1bGxMYXlvdXQscD11Ll9wbG90c3x8W10sdj1wW3JdLG09dS5faGFzKCJjYXJ0ZXNpYW4iKTtpZih2KXt2YXIgeT12Lm92ZXJsYXlzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pO2w9bC5jb25jYXQoeSl9Zm9yKHZhciBiPWwubGVuZ3RoLF89bmV3IEFycmF5KGIpLHc9bmV3IEFycmF5KGIpLGs9ITEsVD0wO1Q8YjtUKyspe3ZhciBDPWxbVF07aWYocFtDXSlrPSEwLF9bVF09cFtDXS54YXhpcyx3W1RdPXBbQ10ueWF4aXM7ZWxzZXtpZighdVtDXXx8IXVbQ10uX3N1YnBsb3QpcmV0dXJuIHZvaWQgby53YXJuKCJVbnJlY29nbml6ZWQgc3VicGxvdDogIitDKTt2YXIgUD11W0NdLl9zdWJwbG90O19bVF09UC54YXhpcyx3W1RdPVAueWF4aXN9fXZhciBPPWUuaG92ZXJtb2RlfHx1LmhvdmVybW9kZTtPJiYhayYmKE89ImNsb3Nlc3QiKTtpZigtMT09PVsieCIsInkiLCJjbG9zZXN0Il0uaW5kZXhPZihPKXx8IXQuY2FsY2RhdGF8fHQucXVlcnlTZWxlY3RvcigiLnpvb21ib3giKXx8dC5fZHJhZ2dpbmcpcmV0dXJuIGYudW5ob3ZlclJhdyh0LGUpO3ZhciB6LEksRCxSLEYsQixOLGosVixVLHEsSCxHLFk9LTE9PT11LmhvdmVyZGlzdGFuY2U/MS8wOnUuaG92ZXJkaXN0YW5jZSxXPS0xPT09dS5zcGlrZWRpc3RhbmNlPzEvMDp1LnNwaWtlZGlzdGFuY2UsWD1bXSxaPVtdLEo9e2hMaW5lUG9pbnQ6bnVsbCx2TGluZVBvaW50Om51bGx9LEs9ITE7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoTz0iYXJyYXkiLEQ9MDtEPGUubGVuZ3RoO0QrKykoRj10LmNhbGNkYXRhW2VbRF0uY3VydmVOdW1iZXJ8fDBdKSYmKEI9RlswXS50cmFjZSwic2tpcCIhPT1GWzBdLnRyYWNlLmhvdmVyaW5mbyYmKFoucHVzaChGKSwiaCI9PT1CLm9yaWVudGF0aW9uJiYoSz0hMCkpKTtlbHNle2ZvcihSPTA7Ujx0LmNhbGNkYXRhLmxlbmd0aDtSKyspRj10LmNhbGNkYXRhW1JdLCJza2lwIiE9PShCPUZbMF0udHJhY2UpLmhvdmVyaW5mbyYmZy5pc1RyYWNlSW5TdWJwbG90cyhCLGwpJiYoWi5wdXNoKEYpLCJoIj09PUIub3JpZW50YXRpb24mJihLPSEwKSk7dmFyIFEsJCx0dD0hZS50YXJnZXQ7aWYodHQpUT0ieHB4ImluIGU/ZS54cHg6X1swXS5fbGVuZ3RoLzIsJD0ieXB4ImluIGU/ZS55cHg6d1swXS5fbGVuZ3RoLzI7ZWxzZXtpZighMT09PXMudHJpZ2dlckhhbmRsZXIodCwicGxvdGx5X2JlZm9yZWhvdmVyIixlKSlyZXR1cm47dmFyIGV0PWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKFE9ZS5jbGllbnRYLWV0LmxlZnQsJD1lLmNsaWVudFktZXQudG9wLFE8MHx8UT5fWzBdLl9sZW5ndGh8fCQ8MHx8JD53WzBdLl9sZW5ndGgpcmV0dXJuIGYudW5ob3ZlclJhdyh0LGUpfWlmKGUucG9pbnRlclg9UStfWzBdLl9vZmZzZXQsZS5wb2ludGVyWT0kK3dbMF0uX29mZnNldCx6PSJ4dmFsImluIGU/Zy5mbGF0KGwsZS54dmFsKTpnLnAyYyhfLFEpLEk9Inl2YWwiaW4gZT9nLmZsYXQobCxlLnl2YWwpOmcucDJjKHcsJCksIWEoelswXSl8fCFhKElbMF0pKXJldHVybiBvLndhcm4oIkZ4LmhvdmVyIGZhaWxlZCIsZSx0KSxmLnVuaG92ZXJSYXcodCxlKX12YXIgcnQ9MS8wO2ZvcihSPTA7UjxaLmxlbmd0aDtSKyspaWYoKEY9WltSXSkmJkZbMF0mJkZbMF0udHJhY2UmJiEwPT09KEI9RlswXS50cmFjZSkudmlzaWJsZSYmMCE9PUIuX2xlbmd0aCYmLTE9PT1bImNhcnBldCIsImNvbnRvdXJjYXJwZXQiXS5pbmRleE9mKEIuX21vZHVsZS5uYW1lKSl7aWYoInNwbG9tIj09PUIudHlwZT9OPWxbaj0wXTooTj1nLmdldFN1YnBsb3QoQiksaj1sLmluZGV4T2YoTikpLFY9TyxIPXtjZDpGLHRyYWNlOkIseGE6X1tqXSx5YTp3W2pdLG1heEhvdmVyRGlzdGFuY2U6WSxtYXhTcGlrZURpc3RhbmNlOlcsaW5kZXg6ITEsZGlzdGFuY2U6TWF0aC5taW4ocnQsWSksc3Bpa2VEaXN0YW5jZToxLzAseFNwaWtlOnZvaWQgMCx5U3Bpa2U6dm9pZCAwLGNvbG9yOmguZGVmYXVsdExpbmUsbmFtZTpCLm5hbWUseDA6dm9pZCAwLHgxOnZvaWQgMCx5MDp2b2lkIDAseTE6dm9pZCAwLHhMYWJlbFZhbDp2b2lkIDAseUxhYmVsVmFsOnZvaWQgMCx6TGFiZWxWYWw6dm9pZCAwLHRleHQ6dm9pZCAwfSx1W05dJiYoSC5zdWJwbG90PXVbTl0uX3N1YnBsb3QpLHUuX3NwbG9tU2NlbmVzJiZ1Ll9zcGxvbVNjZW5lc1tCLnVpZF0mJihILnNjZW5lPXUuX3NwbG9tU2NlbmVzW0IudWlkXSksRz1YLmxlbmd0aCwiYXJyYXkiPT09Vil7dmFyIG50PWVbUl07InBvaW50TnVtYmVyImluIG50PyhILmluZGV4PW50LnBvaW50TnVtYmVyLFY9ImNsb3Nlc3QiKTooVj0iIiwieHZhbCJpbiBudCYmKFU9bnQueHZhbCxWPSJ4IiksInl2YWwiaW4gbnQmJihxPW50Lnl2YWwsVj1WPyJjbG9zZXN0IjoieSIpKX1lbHNlIFU9eltqXSxxPUlbal07aWYoMCE9PVkpaWYoQi5fbW9kdWxlJiZCLl9tb2R1bGUuaG92ZXJQb2ludHMpe3ZhciBhdD1CLl9tb2R1bGUuaG92ZXJQb2ludHMoSCxVLHEsVix1Ll9ob3ZlcmxheWVyKTtpZihhdClmb3IodmFyIGl0LG90PTA7b3Q8YXQubGVuZ3RoO290KyspaXQ9YXRbb3RdLGEoaXQueDApJiZhKGl0LnkwKSYmWC5wdXNoKFMoaXQsTykpfWVsc2Ugby5sb2coIlVucmVjb2duaXplZCB0cmFjZSB0eXBlIGluIGhvdmVyOiIsQik7aWYoImNsb3Nlc3QiPT09TyYmWC5sZW5ndGg+RyYmKFguc3BsaWNlKDAsRykscnQ9WFswXS5kaXN0YW5jZSksbSYmMCE9PVcmJjA9PT1YLmxlbmd0aCl7SC5kaXN0YW5jZT1XLEguaW5kZXg9ITE7dmFyIHN0PUIuX21vZHVsZS5ob3ZlclBvaW50cyhILFUscSwiY2xvc2VzdCIsdS5faG92ZXJsYXllcik7aWYoc3QmJihzdD1zdC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuc3Bpa2VEaXN0YW5jZTw9V30pKSxzdCYmc3QubGVuZ3RoKXt2YXIgbHQsY3Q9c3QuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LnhhLnNob3dzcGlrZXN9KTtpZihjdC5sZW5ndGgpe3ZhciB1dD1jdFswXTthKHV0LngwKSYmYSh1dC55MCkmJihsdD1kdCh1dCksKCFKLnZMaW5lUG9pbnR8fEoudkxpbmVQb2ludC5zcGlrZURpc3RhbmNlPmx0LnNwaWtlRGlzdGFuY2UpJiYoSi52TGluZVBvaW50PWx0KSl9dmFyIGh0PXN0LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC55YS5zaG93c3Bpa2VzfSk7aWYoaHQubGVuZ3RoKXt2YXIgZnQ9aHRbMF07YShmdC54MCkmJmEoZnQueTApJiYobHQ9ZHQoZnQpLCghSi5oTGluZVBvaW50fHxKLmhMaW5lUG9pbnQuc3Bpa2VEaXN0YW5jZT5sdC5zcGlrZURpc3RhbmNlKSYmKEouaExpbmVQb2ludD1sdCkpfX19fWZ1bmN0aW9uIHB0KHQsZSl7Zm9yKHZhciByLG49bnVsbCxhPTEvMCxpPTA7aTx0Lmxlbmd0aDtpKyspKHI9dFtpXS5zcGlrZURpc3RhbmNlKTxhJiZyPD1lJiYobj10W2ldLGE9cik7cmV0dXJuIG59ZnVuY3Rpb24gZHQodCl7cmV0dXJuIHQ/e3hhOnQueGEseWE6dC55YSx4OnZvaWQgMCE9PXQueFNwaWtlP3QueFNwaWtlOih0LngwK3QueDEpLzIseTp2b2lkIDAhPT10LnlTcGlrZT90LnlTcGlrZToodC55MCt0LnkxKS8yLGRpc3RhbmNlOnQuZGlzdGFuY2Usc3Bpa2VEaXN0YW5jZTp0LnNwaWtlRGlzdGFuY2UsY3VydmVOdW1iZXI6dC50cmFjZS5pbmRleCxjb2xvcjp0LmNvbG9yLHBvaW50TnVtYmVyOnQuaW5kZXh9Om51bGx9dmFyIGd0PXtmdWxsTGF5b3V0OnUsY29udGFpbmVyOnUuX2hvdmVybGF5ZXIsb3V0ZXJDb250YWluZXI6dS5fcGFwZXJkaXYsZXZlbnQ6ZX0sdnQ9dC5fc3Bpa2Vwb2ludHMsbXQ9e3ZMaW5lUG9pbnQ6Si52TGluZVBvaW50LGhMaW5lUG9pbnQ6Si5oTGluZVBvaW50fTtpZih0Ll9zcGlrZXBvaW50cz1tdCxtJiYwIT09VyYmMCE9PVgubGVuZ3RoKXt2YXIgeXQ9WC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQueWEuc2hvd3NwaWtlc30pLHh0PXB0KHl0LFcpO0ouaExpbmVQb2ludD1kdCh4dCk7dmFyIGJ0PVguZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LnhhLnNob3dzcGlrZXN9KSxfdD1wdChidCxXKTtKLnZMaW5lUG9pbnQ9ZHQoX3QpfWlmKDA9PT1YLmxlbmd0aCl7dmFyIHd0PWYudW5ob3ZlclJhdyh0LGUpO3JldHVybiFtfHxudWxsPT09Si5oTGluZVBvaW50JiZudWxsPT09Si52TGluZVBvaW50fHxMKHZ0KSYmRSh0LEosZ3QpLHd0fW0mJkwodnQpJiZFKHQsSixndCk7WC5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZGlzdGFuY2UtZS5kaXN0YW5jZX0pO3ZhciBrdD10Ll9ob3ZlcmRhdGEsVHQ9W107Zm9yKEQ9MDtEPFgubGVuZ3RoO0QrKyl7dmFyIE10PVhbRF0sQXQ9Zy5tYWtlRXZlbnREYXRhKE10LE10LnRyYWNlLE10LmNkKTtpZighMSE9PU10LmhvdmVydGVtcGxhdGUpe3ZhciBTdD0hMTtNdC5jZFtNdC5pbmRleF0mJk10LmNkW010LmluZGV4XS5odCYmKFN0PU10LmNkW010LmluZGV4XS5odCksTXQuaG92ZXJ0ZW1wbGF0ZT1TdHx8TXQudHJhY2UuaG92ZXJ0ZW1wbGF0ZXx8ITF9TXQuZXZlbnREYXRhPVtBdF0sVHQucHVzaChBdCl9dC5faG92ZXJkYXRhPVR0O3ZhciBFdD0ieSI9PT1PJiYoWi5sZW5ndGg+MXx8WC5sZW5ndGg+MSl8fCJjbG9zZXN0Ij09PU8mJksmJlgubGVuZ3RoPjEsTHQ9aC5jb21iaW5lKHUucGxvdF9iZ2NvbG9yfHxoLmJhY2tncm91bmQsdS5wYXBlcl9iZ2NvbG9yKSxDdD17aG92ZXJtb2RlOk8scm90YXRlTGFiZWxzOkV0LGJnQ29sb3I6THQsY29udGFpbmVyOnUuX2hvdmVybGF5ZXIsb3V0ZXJDb250YWluZXI6dS5fcGFwZXJkaXYsY29tbW9uTGFiZWxPcHRzOnUuaG92ZXJsYWJlbCxob3ZlcmRpc3RhbmNlOnUuaG92ZXJkaXN0YW5jZX0sUHQ9TShYLEN0LHQpO2lmKGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGksbyxzLGwsYyx1PTAsaD0xLGY9dC5zaXplKCkscD1uZXcgQXJyYXkoZiksZD0wO2Z1bmN0aW9uIGcodCl7dmFyIGU9dFswXSxyPXRbdC5sZW5ndGgtMV07aWYoYT1lLnBtaW4tZS5wb3MtZS5kcCtlLnNpemUsaT1yLnBvcytyLmRwK3Iuc2l6ZS1lLnBtYXgsYT4uMDEpe2ZvcihzPXQubGVuZ3RoLTE7cz49MDtzLS0pdFtzXS5kcCs9YTtuPSExfWlmKCEoaTwuMDEpKXtpZihhPC0uMDEpe2ZvcihzPXQubGVuZ3RoLTE7cz49MDtzLS0pdFtzXS5kcC09aTtuPSExfWlmKG4pe3ZhciBjPTA7Zm9yKG89MDtvPHQubGVuZ3RoO28rKykobD10W29dKS5wb3MrbC5kcCtsLnNpemU+ZS5wbWF4JiZjKys7Zm9yKG89dC5sZW5ndGgtMTtvPj0wJiYhKGM8PTApO28tLSkobD10W29dKS5wb3M+ZS5wbWF4LTEmJihsLmRlbD0hMCxjLS0pO2ZvcihvPTA7bzx0Lmxlbmd0aCYmIShjPD0wKTtvKyspaWYoKGw9dFtvXSkucG9zPGUucG1pbisxKWZvcihsLmRlbD0hMCxjLS0saT0yKmwuc2l6ZSxzPXQubGVuZ3RoLTE7cz49MDtzLS0pdFtzXS5kcC09aTtmb3Iobz10Lmxlbmd0aC0xO28+PTAmJiEoYzw9MCk7by0tKShsPXRbb10pLnBvcytsLmRwK2wuc2l6ZT5lLnBtYXgmJihsLmRlbD0hMCxjLS0pfX19Zm9yKHQuZWFjaChmdW5jdGlvbih0KXt2YXIgbj10W2VdLGE9IngiPT09bi5faWQuY2hhckF0KDApLGk9bi5yYW5nZTswPT09ZCYmaSYmaVswXT5pWzFdIT09YSYmKGg9LTEpLHBbZCsrXT1be2RhdHVtOnQsdHJhY2VJbmRleDp0LnRyYWNlLmluZGV4LGRwOjAscG9zOnQucG9zLHBvc3JlZjp0LnBvc3JlZixzaXplOnQuYnkqKGE/eDoxKS8yLHBtaW46MCxwbWF4OmE/ci53aWR0aDpyLmhlaWdodH1dfSkscC5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF0ucG9zcmVmLWVbMF0ucG9zcmVmfHxoKihlWzBdLnRyYWNlSW5kZXgtdFswXS50cmFjZUluZGV4KX0pOyFuJiZ1PD1mOyl7Zm9yKHUrKyxuPSEwLG89MDtvPHAubGVuZ3RoLTE7KXt2YXIgdj1wW29dLG09cFtvKzFdLHk9dlt2Lmxlbmd0aC0xXSxiPW1bMF07aWYoKGE9eS5wb3MreS5kcCt5LnNpemUtYi5wb3MtYi5kcCtiLnNpemUpPi4wMSYmeS5wbWluPT09Yi5wbWluJiZ5LnBtYXg9PT1iLnBtYXgpe2ZvcihzPW0ubGVuZ3RoLTE7cz49MDtzLS0pbVtzXS5kcCs9YTtmb3Iodi5wdXNoLmFwcGx5KHYsbSkscC5zcGxpY2UobysxLDEpLGM9MCxzPXYubGVuZ3RoLTE7cz49MDtzLS0pYys9dltzXS5kcDtmb3IoaT1jL3YubGVuZ3RoLHM9di5sZW5ndGgtMTtzPj0wO3MtLSl2W3NdLmRwLT1pO249ITF9ZWxzZSBvKyt9cC5mb3JFYWNoKGcpfWZvcihvPXAubGVuZ3RoLTE7bz49MDtvLS0pe3ZhciBfPXBbb107Zm9yKHM9Xy5sZW5ndGgtMTtzPj0wO3MtLSl7dmFyIHc9X1tzXSxrPXcuZGF0dW07ay5vZmZzZXQ9dy5kcCxrLmRlbD13LmRlbH19fShQdCxFdD8ieGEiOiJ5YSIsdSksQShQdCxFdCksZS50YXJnZXQmJmUudGFyZ2V0LnRhZ05hbWUpe3ZhciBPdD1kLmdldENvbXBvbmVudE1ldGhvZCgiYW5ub3RhdGlvbnMiLCJoYXNDbGlja1RvU2hvdyIpKHQsVHQpO2Mobi5zZWxlY3QoZS50YXJnZXQpLE90PyJwb2ludGVyIjoiIil9aWYoIWUudGFyZ2V0fHxpfHwhZnVuY3Rpb24odCxlLHIpe2lmKCFyfHxyLmxlbmd0aCE9PXQuX2hvdmVyZGF0YS5sZW5ndGgpcmV0dXJuITA7Zm9yKHZhciBuPXIubGVuZ3RoLTE7bj49MDtuLS0pe3ZhciBhPXJbbl0saT10Ll9ob3ZlcmRhdGFbbl07aWYoYS5jdXJ2ZU51bWJlciE9PWkuY3VydmVOdW1iZXJ8fFN0cmluZyhhLnBvaW50TnVtYmVyKSE9PVN0cmluZyhpLnBvaW50TnVtYmVyKXx8U3RyaW5nKGEucG9pbnROdW1iZXJzKSE9PVN0cmluZyhpLnBvaW50TnVtYmVycykpcmV0dXJuITB9cmV0dXJuITF9KHQsMCxrdCkpcmV0dXJuO2t0JiZ0LmVtaXQoInBsb3RseV91bmhvdmVyIix7ZXZlbnQ6ZSxwb2ludHM6a3R9KTt0LmVtaXQoInBsb3RseV9ob3ZlciIse2V2ZW50OmUscG9pbnRzOnQuX2hvdmVyZGF0YSx4YXhlczpfLHlheGVzOncseHZhbHM6eix5dmFsczpJfSl9KHQsZSxyLGkpfSl9LHIubG9uZUhvdmVyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ITA7QXJyYXkuaXNBcnJheSh0KXx8KHI9ITEsdD1bdF0pO3ZhciBhPXQubWFwKGZ1bmN0aW9uKHQpe3JldHVybntjb2xvcjp0LmNvbG9yfHxoLmRlZmF1bHRMaW5lLHgwOnQueDB8fHQueHx8MCx4MTp0LngxfHx0Lnh8fDAseTA6dC55MHx8dC55fHwwLHkxOnQueTF8fHQueXx8MCx4TGFiZWw6dC54TGFiZWwseUxhYmVsOnQueUxhYmVsLHpMYWJlbDp0LnpMYWJlbCx0ZXh0OnQudGV4dCxuYW1lOnQubmFtZSxpZGVhbEFsaWduOnQuaWRlYWxBbGlnbixib3JkZXJDb2xvcjp0LmJvcmRlckNvbG9yLGZvbnRGYW1pbHk6dC5mb250RmFtaWx5LGZvbnRTaXplOnQuZm9udFNpemUsZm9udENvbG9yOnQuZm9udENvbG9yLG5hbWVMZW5ndGg6dC5uYW1lTGVuZ3RoLHRleHRBbGlnbjp0LnRleHRBbGlnbix0cmFjZTp0LnRyYWNlfHx7aW5kZXg6MCxob3ZlcmluZm86IiJ9LHhhOntfb2Zmc2V0OjB9LHlhOntfb2Zmc2V0OjB9LGluZGV4OjAsaG92ZXJ0ZW1wbGF0ZTp0LmhvdmVydGVtcGxhdGV8fCExLGV2ZW50RGF0YTp0LmV2ZW50RGF0YXx8ITEsaG92ZXJ0ZW1wbGF0ZUxhYmVsczp0LmhvdmVydGVtcGxhdGVMYWJlbHN8fCExfX0pLGk9bi5zZWxlY3QoZS5jb250YWluZXIpLG89ZS5vdXRlckNvbnRhaW5lcj9uLnNlbGVjdChlLm91dGVyQ29udGFpbmVyKTppLHM9e2hvdmVybW9kZToiY2xvc2VzdCIscm90YXRlTGFiZWxzOiExLGJnQ29sb3I6ZS5iZ0NvbG9yfHxoLmJhY2tncm91bmQsY29udGFpbmVyOmksb3V0ZXJDb250YWluZXI6b30sbD1NKGEscyxlLmdkKSxjPTAsdT0wO3JldHVybiBsLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC55MC1lLnkwfSkuZWFjaChmdW5jdGlvbih0LHIpe3ZhciBuPXQueTAtdC5ieS8yO3Qub2Zmc2V0PW4tNTxjP2Mtbis1OjAsYz1uK3QuYnkrdC5vZmZzZXQscj09PWUuYW5jaG9ySW5kZXgmJih1PXQub2Zmc2V0KX0pLmVhY2goZnVuY3Rpb24odCl7dC5vZmZzZXQtPXV9KSxBKGwscy5yb3RhdGVMYWJlbHMpLHI/bDpsLm5vZGUoKX07dmFyIFQ9LzxleHRyYT4oW1xzXFNdKik8XC9leHRyYT4vO2Z1bmN0aW9uIE0odCxlLHIpe3ZhciBhPXIuX2Z1bGxMYXlvdXQsaT1lLmhvdmVybW9kZSxzPWUucm90YXRlTGFiZWxzLGM9ZS5iZ0NvbG9yLGY9ZS5jb250YWluZXIscD1lLm91dGVyQ29udGFpbmVyLGQ9ZS5jb21tb25MYWJlbE9wdHN8fHt9LGc9ZS5mb250RmFtaWx5fHx2LkhPVkVSRk9OVCx5PWUuZm9udFNpemV8fHYuSE9WRVJGT05UU0laRSx4PXRbMF0sYj14LnhhLF89eC55YSxNPSJ5Ij09PWk/InlMYWJlbCI6InhMYWJlbCIsQT14W01dLFM9KFN0cmluZyhBKXx8IiIpLnNwbGl0KCIgIilbMF0sRT1wLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxMPUUudG9wLFA9RS53aWR0aCxPPUUuaGVpZ2h0LHo9dm9pZCAwIT09QSYmeC5kaXN0YW5jZTw9ZS5ob3ZlcmRpc3RhbmNlJiYoIngiPT09aXx8InkiPT09aSk7aWYoeil7dmFyIEksRCxSPSEwO2ZvcihJPTA7STx0Lmxlbmd0aDtJKyspaWYoUiYmdm9pZCAwPT09dFtJXS56TGFiZWwmJihSPSExKSxEPXRbSV0uaG92ZXJpbmZvfHx0W0ldLnRyYWNlLmhvdmVyaW5mbyl7dmFyIEY9QXJyYXkuaXNBcnJheShEKT9EOkQuc3BsaXQoIisiKTtpZigtMT09PUYuaW5kZXhPZigiYWxsIikmJi0xPT09Ri5pbmRleE9mKGkpKXt6PSExO2JyZWFrfX1SJiYoej0hMSl9dmFyIEI9Zi5zZWxlY3RBbGwoImcuYXhpc3RleHQiKS5kYXRhKHo/WzBdOltdKTtCLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYXhpc3RleHQiLCEwKSxCLmV4aXQoKS5yZW1vdmUoKSxCLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1uLnNlbGVjdCh0aGlzKSxzPW8uZW5zdXJlU2luZ2xlKGUsInBhdGgiLCIiLGZ1bmN0aW9uKHQpe3Quc3R5bGUoeyJzdHJva2Utd2lkdGgiOiIxcHgifSl9KSxjPW8uZW5zdXJlU2luZ2xlKGUsInRleHQiLCIiLGZ1bmN0aW9uKHQpe3QuYXR0cigiZGF0YS1ub3RleCIsMSl9KSxmPWQuYmdjb2xvcnx8aC5kZWZhdWx0TGluZSxwPWQuYm9yZGVyY29sb3J8fGguY29udHJhc3QoZiksdj1oLmNvbnRyYXN0KGYpLG09e2ZhbWlseTpkLmZvbnQuZmFtaWx5fHxnLHNpemU6ZC5mb250LnNpemV8fHksY29sb3I6ZC5mb250LmNvbG9yfHx2fTtzLnN0eWxlKHtmaWxsOmYsc3Ryb2tlOnB9KSxjLnRleHQoQSkuY2FsbCh1LmZvbnQsbSkuY2FsbChsLnBvc2l0aW9uVGV4dCwwLDApLmNhbGwobC5jb252ZXJ0VG9Uc3BhbnMsciksZS5hdHRyKCJ0cmFuc2Zvcm0iLCIiKTt2YXIgVCxFLEM9Yy5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoIngiPT09aSl7dmFyIFA9InRvcCI9PT1iLnNpZGU/Ii0iOiIiO2MuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5jYWxsKGwucG9zaXRpb25UZXh0LDAsInRvcCI9PT1iLnNpZGU/TC1DLmJvdHRvbS13LWs6TC1DLnRvcCt3K2spLFQ9Yi5fb2Zmc2V0Kyh4LngwK3gueDEpLzIsRT1fLl9vZmZzZXQrKCJ0b3AiPT09Yi5zaWRlPzA6Xy5fbGVuZ3RoKTt2YXIgTz1DLndpZHRoLzIraztUPE8/KFQ9TyxzLmF0dHIoImQiLCJNLSIrKE8tdykrIiwwTC0iKyhPLTIqdykrIiwiK1ArdysiSCIrKGsrQy53aWR0aC8yKSsidiIrUCsoMiprK0MuaGVpZ2h0KSsiSC0iK08rIlYiK1ArdysiWiIpKTpUPmEud2lkdGgtTz8oVD1hLndpZHRoLU8scy5hdHRyKCJkIiwiTSIrKE8tdykrIiwwTCIrTysiLCIrUCt3KyJ2IitQKygyKmsrQy5oZWlnaHQpKyJILSIrTysiViIrUCt3KyJIIisoTy0yKncpKyJaIikpOnMuYXR0cigiZCIsIk0wLDBMIit3KyIsIitQK3crIkgiKyhrK0Mud2lkdGgvMikrInYiK1ArKDIqaytDLmhlaWdodCkrIkgtIisoaytDLndpZHRoLzIpKyJWIitQK3crIkgtIit3KyJaIil9ZWxzZXt2YXIgeixJLEQ7InJpZ2h0Ij09PV8uc2lkZT8oej0ic3RhcnQiLEk9MSxEPSIiLFQ9Yi5fb2Zmc2V0K2IuX2xlbmd0aCk6KHo9ImVuZCIsST0tMSxEPSItIixUPWIuX29mZnNldCksRT1fLl9vZmZzZXQrKHgueTAreC55MSkvMixjLmF0dHIoInRleHQtYW5jaG9yIix6KSxzLmF0dHIoImQiLCJNMCwwTCIrRCt3KyIsIit3KyJWIisoaytDLmhlaWdodC8yKSsiaCIrRCsoMiprK0Mud2lkdGgpKyJWLSIrKGsrQy5oZWlnaHQvMikrIkgiK0QrdysiVi0iK3crIloiKTt2YXIgUixGPUMuaGVpZ2h0LzIsQj1MLUMudG9wLUYsTj0iY2xpcCIrYS5fdWlkKyJjb21tb25sYWJlbCIrXy5faWQ7aWYoVDxDLndpZHRoKzIqayt3KXtSPSJNLSIrKHcraykrIi0iK0YrImgtIisoQy53aWR0aC1rKSsiViIrRisiaCIrKEMud2lkdGgtaykrIloiO3ZhciBqPUMud2lkdGgtVCtrO2wucG9zaXRpb25UZXh0KGMsaixCKSwiZW5kIj09PXomJmMuc2VsZWN0QWxsKCJ0c3BhbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uLnNlbGVjdCh0aGlzKSxlPXUudGVzdGVyLmFwcGVuZCgidGV4dCIpLnRleHQodC50ZXh0KCkpLmNhbGwodS5mb250LG0pLHI9ZS5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7TWF0aC5yb3VuZChyLndpZHRoKTxNYXRoLnJvdW5kKEMud2lkdGgpJiZ0LmF0dHIoIngiLGotci53aWR0aCksZS5yZW1vdmUoKX0pfWVsc2UgbC5wb3NpdGlvblRleHQoYyxJKihrK3cpLEIpLFI9bnVsbDt2YXIgVj1hLl90b3BjbGlwcy5zZWxlY3RBbGwoIiMiK04pLmRhdGEoUj9bMF06W10pO1YuZW50ZXIoKS5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLE4pLmFwcGVuZCgicGF0aCIpLFYuZXhpdCgpLnJlbW92ZSgpLFYuc2VsZWN0KCJwYXRoIikuYXR0cigiZCIsUiksdS5zZXRDbGlwVXJsKGMsUj9OOm51bGwscil9ZS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitUKyIsIitFKyIpIiksdD10LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dC56TGFiZWxWYWx8fCh0W01dfHwiIikuc3BsaXQoIiAiKVswXT09PVN9KX0pO3ZhciBOPWYuc2VsZWN0QWxsKCJnLmhvdmVydGV4dCIpLmRhdGEodCxmdW5jdGlvbih0KXtyZXR1cm5bdC50cmFjZS5pbmRleCx0LmluZGV4LHQueDAsdC55MCx0Lm5hbWUsdC5hdHRyLHQueGEsdC55YXx8IiJdLmpvaW4oIiwiKX0pO3JldHVybiBOLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiaG92ZXJ0ZXh0IiwhMCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4uc2VsZWN0KHRoaXMpO3QuYXBwZW5kKCJyZWN0IikuY2FsbChoLmZpbGwsaC5hZGRPcGFjaXR5KGMsLjgpKSx0LmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoIm5hbWUiLCEwKSx0LmFwcGVuZCgicGF0aCIpLnN0eWxlKCJzdHJva2Utd2lkdGgiLCIxcHgiKSx0LmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoIm51bXMiLCEwKS5jYWxsKHUuZm9udCxnLHkpfSksTi5leGl0KCkucmVtb3ZlKCksTi5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHRoaXMpLmF0dHIoInRyYW5zZm9ybSIsIiIpLGY9IiIscD0iIixkPXQuYmdjb2xvcnx8dC5jb2xvcix2PWguY29tYmluZShoLm9wYWNpdHkoZCk/ZDpoLmRlZmF1bHRMaW5lLGMpLHg9aC5jb21iaW5lKGgub3BhY2l0eSh0LmNvbG9yKT90LmNvbG9yOmguZGVmYXVsdExpbmUsYyksYj10LmJvcmRlckNvbG9yfHxoLmNvbnRyYXN0KHYpO3ZvaWQgMCE9PXQubmFtZU92ZXJyaWRlJiYodC5uYW1lPXQubmFtZU92ZXJyaWRlKSx0Lm5hbWUmJih0LnRyYWNlLl9tZXRhJiYodC5uYW1lPW8udGVtcGxhdGVTdHJpbmcodC5uYW1lLHQudHJhY2UuX21ldGEpKSxmPUModC5uYW1lLHQubmFtZUxlbmd0aCkpLHZvaWQgMCE9PXQuekxhYmVsPyh2b2lkIDAhPT10LnhMYWJlbCYmKHArPSJ4OiAiK3QueExhYmVsKyI8YnI+Iiksdm9pZCAwIT09dC55TGFiZWwmJihwKz0ieTogIit0LnlMYWJlbCsiPGJyPiIpLCJjaG9yb3BsZXRoIiE9PXQudHJhY2UudHlwZSYmImNob3JvcGxldGhtYXBib3giIT09dC50cmFjZS50eXBlJiYocCs9KHA/Ino6ICI6IiIpK3QuekxhYmVsKSk6eiYmdFtpKyJMYWJlbCJdPT09QT9wPXRbKCJ4Ij09PWk/InkiOiJ4IikrIkxhYmVsIl18fCIiOnZvaWQgMD09PXQueExhYmVsP3ZvaWQgMCE9PXQueUxhYmVsJiYic2NhdHRlcmNhcnBldCIhPT10LnRyYWNlLnR5cGUmJihwPXQueUxhYmVsKTpwPXZvaWQgMD09PXQueUxhYmVsP3QueExhYmVsOiIoIit0LnhMYWJlbCsiLCAiK3QueUxhYmVsKyIpIiwhdC50ZXh0JiYwIT09dC50ZXh0fHxBcnJheS5pc0FycmF5KHQudGV4dCl8fChwKz0ocD8iPGJyPiI6IiIpK3QudGV4dCksdm9pZCAwIT09dC5leHRyYVRleHQmJihwKz0ocD8iPGJyPiI6IiIpK3QuZXh0cmFUZXh0KSwiIiE9PXB8fHQuaG92ZXJ0ZW1wbGF0ZXx8KCIiPT09ZiYmZS5yZW1vdmUoKSxwPWYpO3ZhciBfPWEuX2QzbG9jYWxlLE09dC5ob3ZlcnRlbXBsYXRlfHwhMSxTPXQuaG92ZXJ0ZW1wbGF0ZUxhYmVsc3x8dCxFPXQuZXZlbnREYXRhWzBdfHx7fTtNJiYocD0ocD1vLmhvdmVydGVtcGxhdGVTdHJpbmcoTSxTLF8sRSx0LnRyYWNlLl9tZXRhKSkucmVwbGFjZShULGZ1bmN0aW9uKGUscil7cmV0dXJuIGY9QyhyLHQubmFtZUxlbmd0aCksIiJ9KSk7dmFyIEk9ZS5zZWxlY3QoInRleHQubnVtcyIpLmNhbGwodS5mb250LHQuZm9udEZhbWlseXx8Zyx0LmZvbnRTaXplfHx5LHQuZm9udENvbG9yfHxiKS50ZXh0KHApLmF0dHIoImRhdGEtbm90ZXgiLDEpLmNhbGwobC5wb3NpdGlvblRleHQsMCwwKS5jYWxsKGwuY29udmVydFRvVHNwYW5zLHIpLEQ9ZS5zZWxlY3QoInRleHQubmFtZSIpLFI9MCxGPTA7aWYoZiYmZiE9PXApe0QuY2FsbCh1LmZvbnQsdC5mb250RmFtaWx5fHxnLHQuZm9udFNpemV8fHkseCkudGV4dChmKS5hdHRyKCJkYXRhLW5vdGV4IiwxKS5jYWxsKGwucG9zaXRpb25UZXh0LDAsMCkuY2FsbChsLmNvbnZlcnRUb1RzcGFucyxyKTt2YXIgQj1ELm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtSPUIud2lkdGgrMiprLEY9Qi5oZWlnaHQrMiprfWVsc2UgRC5yZW1vdmUoKSxlLnNlbGVjdCgicmVjdCIpLnJlbW92ZSgpO2Uuc2VsZWN0KCJwYXRoIikuc3R5bGUoe2ZpbGw6dixzdHJva2U6Yn0pO3ZhciBOLGosVj1JLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxVPXQueGEuX29mZnNldCsodC54MCt0LngxKS8yLHE9dC55YS5fb2Zmc2V0Kyh0LnkwK3QueTEpLzIsSD1NYXRoLmFicyh0LngxLXQueDApLEc9TWF0aC5hYnModC55MS10LnkwKSxZPVYud2lkdGgrdytrK1I7aWYodC50eTA9TC1WLnRvcCx0LmJ4PVYud2lkdGgrMiprLHQuYnk9TWF0aC5tYXgoVi5oZWlnaHQrMiprLEYpLHQuYW5jaG9yPSJzdGFydCIsdC50eHdpZHRoPVYud2lkdGgsdC50eDJ3aWR0aD1SLHQub2Zmc2V0PTAscyl0LnBvcz1VLE49cStHLzIrWTw9TyxqPXEtRy8yLVk+PTAsInRvcCIhPT10LmlkZWFsQWxpZ24mJk58fCFqP04/KHErPUcvMix0LmFuY2hvcj0ic3RhcnQiKTp0LmFuY2hvcj0ibWlkZGxlIjoocS09Ry8yLHQuYW5jaG9yPSJlbmQiKTtlbHNlIGlmKHQucG9zPXEsTj1VK0gvMitZPD1QLGo9VS1ILzItWT49MCwibGVmdCIhPT10LmlkZWFsQWxpZ24mJk58fCFqKWlmKE4pVSs9SC8yLHQuYW5jaG9yPSJzdGFydCI7ZWxzZXt0LmFuY2hvcj0ibWlkZGxlIjt2YXIgVz1ZLzIsWD1VK1ctUCxaPVUtVztYPjAmJihVLT1YKSxaPDAmJihVKz0tWil9ZWxzZSBVLT1ILzIsdC5hbmNob3I9ImVuZCI7SS5hdHRyKCJ0ZXh0LWFuY2hvciIsdC5hbmNob3IpLFImJkQuYXR0cigidGV4dC1hbmNob3IiLHQuYW5jaG9yKSxlLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK1UrIiwiK3ErIikiKyhzPyJyb3RhdGUoIittKyIpIjoiIikpfSksTn1mdW5jdGlvbiBBKHQsZSl7dC5lYWNoKGZ1bmN0aW9uKHQpe3ZhciByPW4uc2VsZWN0KHRoaXMpO2lmKHQuZGVsKXJldHVybiByLnJlbW92ZSgpO3ZhciBhPXIuc2VsZWN0KCJ0ZXh0Lm51bXMiKSxpPXQuYW5jaG9yLG89ImVuZCI9PT1pPy0xOjEscz17c3RhcnQ6MSxlbmQ6LTEsbWlkZGxlOjB9W2ldLGM9cyoodytrKSxoPWMrcyoodC50eHdpZHRoK2spLGY9MCxwPXQub2Zmc2V0OyJtaWRkbGUiPT09aSYmKGMtPXQudHgyd2lkdGgvMixoKz10LnR4d2lkdGgvMitrKSxlJiYocCo9LV8sZj10Lm9mZnNldCpiKSxyLnNlbGVjdCgicGF0aCIpLmF0dHIoImQiLCJtaWRkbGUiPT09aT8iTS0iKyh0LmJ4LzIrdC50eDJ3aWR0aC8yKSsiLCIrKHAtdC5ieS8yKSsiaCIrdC5ieCsidiIrdC5ieSsiaC0iK3QuYngrIloiOiJNMCwwTCIrKG8qdytmKSsiLCIrKHcrcCkrInYiKyh0LmJ5LzItdykrImgiK28qdC5ieCsidi0iK3QuYnkrIkgiKyhvKncrZikrIlYiKyhwLXcpKyJaIik7dmFyIGQ9YytmLGc9cCt0LnR5MC10LmJ5LzIrayx2PXQudGV4dEFsaWdufHwiYXV0byI7ImF1dG8iIT09diYmKCJsZWZ0Ij09PXYmJiJzdGFydCIhPT1pPyhhLmF0dHIoInRleHQtYW5jaG9yIiwic3RhcnQiKSxkPSJtaWRkbGUiPT09aT8tdC5ieC8yLXQudHgyd2lkdGgvMitrOi10LmJ4LWspOiJyaWdodCI9PT12JiYiZW5kIiE9PWkmJihhLmF0dHIoInRleHQtYW5jaG9yIiwiZW5kIiksZD0ibWlkZGxlIj09PWk/dC5ieC8yLXQudHgyd2lkdGgvMi1rOnQuYngraykpLGEuY2FsbChsLnBvc2l0aW9uVGV4dCxkLGcpLHQudHgyd2lkdGgmJihyLnNlbGVjdCgidGV4dC5uYW1lIikuY2FsbChsLnBvc2l0aW9uVGV4dCxoK3MqaytmLHArdC50eTAtdC5ieS8yK2spLHIuc2VsZWN0KCJyZWN0IikuY2FsbCh1LnNldFJlY3QsaCsocy0xKSp0LnR4MndpZHRoLzIrZixwLXQuYnkvMi0xLHQudHgyd2lkdGgsdC5ieSsyKSl9KX1mdW5jdGlvbiBTKHQsZSl7dmFyIHI9dC5pbmRleCxuPXQudHJhY2V8fHt9LGk9dC5jZFswXSxzPXQuY2Rbcl18fHt9O2Z1bmN0aW9uIGwodCl7cmV0dXJuIHR8fGEodCkmJjA9PT10fXZhciBjPUFycmF5LmlzQXJyYXkocik/ZnVuY3Rpb24odCxlKXt2YXIgYT1vLmNhc3RPcHRpb24oaSxyLHQpO3JldHVybiBsKGEpP2E6by5leHRyYWN0T3B0aW9uKHt9LG4sIiIsZSl9OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG8uZXh0cmFjdE9wdGlvbihzLG4sdCxlKX07ZnVuY3Rpb24gdShlLHIsbil7dmFyIGE9YyhyLG4pO2woYSkmJih0W2VdPWEpfWlmKHUoImhvdmVyaW5mbyIsImhpIiwiaG92ZXJpbmZvIiksdSgiYmdjb2xvciIsImhiZyIsImhvdmVybGFiZWwuYmdjb2xvciIpLHUoImJvcmRlckNvbG9yIiwiaGJjIiwiaG92ZXJsYWJlbC5ib3JkZXJjb2xvciIpLHUoImZvbnRGYW1pbHkiLCJodGYiLCJob3ZlcmxhYmVsLmZvbnQuZmFtaWx5IiksdSgiZm9udFNpemUiLCJodHMiLCJob3ZlcmxhYmVsLmZvbnQuc2l6ZSIpLHUoImZvbnRDb2xvciIsImh0YyIsImhvdmVybGFiZWwuZm9udC5jb2xvciIpLHUoIm5hbWVMZW5ndGgiLCJobmwiLCJob3ZlcmxhYmVsLm5hbWVsZW5ndGgiKSx1KCJ0ZXh0QWxpZ24iLCJodGEiLCJob3ZlcmxhYmVsLmFsaWduIiksdC5wb3NyZWY9InkiPT09ZXx8ImNsb3Nlc3QiPT09ZSYmImgiPT09bi5vcmllbnRhdGlvbj90LnhhLl9vZmZzZXQrKHQueDArdC54MSkvMjp0LnlhLl9vZmZzZXQrKHQueTArdC55MSkvMix0LngwPW8uY29uc3RyYWluKHQueDAsMCx0LnhhLl9sZW5ndGgpLHQueDE9by5jb25zdHJhaW4odC54MSwwLHQueGEuX2xlbmd0aCksdC55MD1vLmNvbnN0cmFpbih0LnkwLDAsdC55YS5fbGVuZ3RoKSx0LnkxPW8uY29uc3RyYWluKHQueTEsMCx0LnlhLl9sZW5ndGgpLHZvaWQgMCE9PXQueExhYmVsVmFsJiYodC54TGFiZWw9InhMYWJlbCJpbiB0P3QueExhYmVsOnAuaG92ZXJMYWJlbFRleHQodC54YSx0LnhMYWJlbFZhbCksdC54VmFsPXQueGEuYzJkKHQueExhYmVsVmFsKSksdm9pZCAwIT09dC55TGFiZWxWYWwmJih0LnlMYWJlbD0ieUxhYmVsImluIHQ/dC55TGFiZWw6cC5ob3ZlckxhYmVsVGV4dCh0LnlhLHQueUxhYmVsVmFsKSx0LnlWYWw9dC55YS5jMmQodC55TGFiZWxWYWwpKSx2b2lkIDAhPT10LnpMYWJlbFZhbCYmdm9pZCAwPT09dC56TGFiZWwmJih0LnpMYWJlbD1TdHJpbmcodC56TGFiZWxWYWwpKSwhKGlzTmFOKHQueGVycil8fCJsb2ciPT09dC54YS50eXBlJiZ0LnhlcnI8PTApKXt2YXIgaD1wLnRpY2tUZXh0KHQueGEsdC54YS5jMmwodC54ZXJyKSwiaG92ZXIiKS50ZXh0O3ZvaWQgMCE9PXQueGVycm5lZz90LnhMYWJlbCs9IiArIitoKyIgLyAtIitwLnRpY2tUZXh0KHQueGEsdC54YS5jMmwodC54ZXJybmVnKSwiaG92ZXIiKS50ZXh0OnQueExhYmVsKz0iIFx4YjEgIitoLCJ4Ij09PWUmJih0LmRpc3RhbmNlKz0xKX1pZighKGlzTmFOKHQueWVycil8fCJsb2ciPT09dC55YS50eXBlJiZ0LnllcnI8PTApKXt2YXIgZj1wLnRpY2tUZXh0KHQueWEsdC55YS5jMmwodC55ZXJyKSwiaG92ZXIiKS50ZXh0O3ZvaWQgMCE9PXQueWVycm5lZz90LnlMYWJlbCs9IiArIitmKyIgLyAtIitwLnRpY2tUZXh0KHQueWEsdC55YS5jMmwodC55ZXJybmVnKSwiaG92ZXIiKS50ZXh0OnQueUxhYmVsKz0iIFx4YjEgIitmLCJ5Ij09PWUmJih0LmRpc3RhbmNlKz0xKX12YXIgZD10LmhvdmVyaW5mb3x8dC50cmFjZS5ob3ZlcmluZm87cmV0dXJuIGQmJiJhbGwiIT09ZCYmKC0xPT09KGQ9QXJyYXkuaXNBcnJheShkKT9kOmQuc3BsaXQoIisiKSkuaW5kZXhPZigieCIpJiYodC54TGFiZWw9dm9pZCAwKSwtMT09PWQuaW5kZXhPZigieSIpJiYodC55TGFiZWw9dm9pZCAwKSwtMT09PWQuaW5kZXhPZigieiIpJiYodC56TGFiZWw9dm9pZCAwKSwtMT09PWQuaW5kZXhPZigidGV4dCIpJiYodC50ZXh0PXZvaWQgMCksLTE9PT1kLmluZGV4T2YoIm5hbWUiKSYmKHQubmFtZT12b2lkIDApKSx0fWZ1bmN0aW9uIEUodCxlLHIpe3ZhciBuLGEsbz1yLmNvbnRhaW5lcixzPXIuZnVsbExheW91dCxsPXMuX3NpemUsYz1yLmV2ZW50LGY9ISFlLmhMaW5lUG9pbnQsZD0hIWUudkxpbmVQb2ludDtpZihvLnNlbGVjdEFsbCgiLnNwaWtlbGluZSIpLnJlbW92ZSgpLGR8fGYpe3ZhciBnPWguY29tYmluZShzLnBsb3RfYmdjb2xvcixzLnBhcGVyX2JnY29sb3IpO2lmKGYpe3ZhciB2LG0seT1lLmhMaW5lUG9pbnQ7bj15JiZ5LnhhLCJjdXJzb3IiPT09KGE9eSYmeS55YSkuc3Bpa2VzbmFwPyh2PWMucG9pbnRlclgsbT1jLnBvaW50ZXJZKToodj1uLl9vZmZzZXQreS54LG09YS5fb2Zmc2V0K3kueSk7dmFyIHgsYixfPWkucmVhZGFiaWxpdHkoeS5jb2xvcixnKTwxLjU/aC5jb250cmFzdChnKTp5LmNvbG9yLHc9YS5zcGlrZW1vZGUsaz1hLnNwaWtldGhpY2tuZXNzLFQ9YS5zcGlrZWNvbG9yfHxfLE09cC5nZXRQeFBvc2l0aW9uKHQsYSk7aWYoLTEhPT13LmluZGV4T2YoInRvYXhpcyIpfHwtMSE9PXcuaW5kZXhPZigiYWNyb3NzIikpe2lmKC0xIT09dy5pbmRleE9mKCJ0b2F4aXMiKSYmKHg9TSxiPXYpLC0xIT09dy5pbmRleE9mKCJhY3Jvc3MiKSl7dmFyIEE9YS5fY291bnRlckRvbWFpbk1pbixTPWEuX2NvdW50ZXJEb21haW5NYXg7ImZyZWUiPT09YS5hbmNob3ImJihBPU1hdGgubWluKEEsYS5wb3NpdGlvbiksUz1NYXRoLm1heChTLGEucG9zaXRpb24pKSx4PWwubCtBKmwudyxiPWwubCtTKmwud31vLmluc2VydCgibGluZSIsIjpmaXJzdC1jaGlsZCIpLmF0dHIoe3gxOngseDI6Yix5MTptLHkyOm0sInN0cm9rZS13aWR0aCI6ayxzdHJva2U6VCwic3Ryb2tlLWRhc2hhcnJheSI6dS5kYXNoU3R5bGUoYS5zcGlrZWRhc2gsayl9KS5jbGFzc2VkKCJzcGlrZWxpbmUiLCEwKS5jbGFzc2VkKCJjcmlzcCIsITApLG8uaW5zZXJ0KCJsaW5lIiwiOmZpcnN0LWNoaWxkIikuYXR0cih7eDE6eCx4MjpiLHkxOm0seTI6bSwic3Ryb2tlLXdpZHRoIjprKzIsc3Ryb2tlOmd9KS5jbGFzc2VkKCJzcGlrZWxpbmUiLCEwKS5jbGFzc2VkKCJjcmlzcCIsITApfS0xIT09dy5pbmRleE9mKCJtYXJrZXIiKSYmby5pbnNlcnQoImNpcmNsZSIsIjpmaXJzdC1jaGlsZCIpLmF0dHIoe2N4Ok0rKCJyaWdodCIhPT1hLnNpZGU/azotayksY3k6bSxyOmssZmlsbDpUfSkuY2xhc3NlZCgic3Bpa2VsaW5lIiwhMCl9aWYoZCl7dmFyIEUsTCxDPWUudkxpbmVQb2ludDtuPUMmJkMueGEsYT1DJiZDLnlhLCJjdXJzb3IiPT09bi5zcGlrZXNuYXA/KEU9Yy5wb2ludGVyWCxMPWMucG9pbnRlclkpOihFPW4uX29mZnNldCtDLngsTD1hLl9vZmZzZXQrQy55KTt2YXIgUCxPLHo9aS5yZWFkYWJpbGl0eShDLmNvbG9yLGcpPDEuNT9oLmNvbnRyYXN0KGcpOkMuY29sb3IsST1uLnNwaWtlbW9kZSxEPW4uc3Bpa2V0aGlja25lc3MsUj1uLnNwaWtlY29sb3J8fHosRj1wLmdldFB4UG9zaXRpb24odCxuKTtpZigtMSE9PUkuaW5kZXhPZigidG9heGlzIil8fC0xIT09SS5pbmRleE9mKCJhY3Jvc3MiKSl7aWYoLTEhPT1JLmluZGV4T2YoInRvYXhpcyIpJiYoUD1GLE89TCksLTEhPT1JLmluZGV4T2YoImFjcm9zcyIpKXt2YXIgQj1uLl9jb3VudGVyRG9tYWluTWluLE49bi5fY291bnRlckRvbWFpbk1heDsiZnJlZSI9PT1uLmFuY2hvciYmKEI9TWF0aC5taW4oQixuLnBvc2l0aW9uKSxOPU1hdGgubWF4KE4sbi5wb3NpdGlvbikpLFA9bC50KygxLU4pKmwuaCxPPWwudCsoMS1CKSpsLmh9by5pbnNlcnQoImxpbmUiLCI6Zmlyc3QtY2hpbGQiKS5hdHRyKHt4MTpFLHgyOkUseTE6UCx5MjpPLCJzdHJva2Utd2lkdGgiOkQsc3Ryb2tlOlIsInN0cm9rZS1kYXNoYXJyYXkiOnUuZGFzaFN0eWxlKG4uc3Bpa2VkYXNoLEQpfSkuY2xhc3NlZCgic3Bpa2VsaW5lIiwhMCkuY2xhc3NlZCgiY3Jpc3AiLCEwKSxvLmluc2VydCgibGluZSIsIjpmaXJzdC1jaGlsZCIpLmF0dHIoe3gxOkUseDI6RSx5MTpQLHkyOk8sInN0cm9rZS13aWR0aCI6RCsyLHN0cm9rZTpnfSkuY2xhc3NlZCgic3Bpa2VsaW5lIiwhMCkuY2xhc3NlZCgiY3Jpc3AiLCEwKX0tMSE9PUkuaW5kZXhPZigibWFya2VyIikmJm8uaW5zZXJ0KCJjaXJjbGUiLCI6Zmlyc3QtY2hpbGQiKS5hdHRyKHtjeDpFLGN5OkYtKCJ0b3AiIT09bi5zaWRlP0Q6LUQpLHI6RCxmaWxsOlJ9KS5jbGFzc2VkKCJzcGlrZWxpbmUiLCEwKX19fWZ1bmN0aW9uIEwodCxlKXtyZXR1cm4hZXx8KGUudkxpbmVQb2ludCE9PXQuX3NwaWtlcG9pbnRzLnZMaW5lUG9pbnR8fGUuaExpbmVQb2ludCE9PXQuX3NwaWtlcG9pbnRzLmhMaW5lUG9pbnQpfWZ1bmN0aW9uIEModCxlKXtyZXR1cm4gbC5wbGFpblRleHQodHx8IiIse2xlbjplLGFsbG93ZWRUYWdzOlsiYnIiLCJzdWIiLCJzdXAiLCJiIiwiaSIsImVtIl19KX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9ldmVudHMiOjcwNywiLi4vLi4vbGliL292ZXJyaWRlX2N1cnNvciI6NzI4LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vY29sb3IiOjU5MiwiLi4vZHJhZ2VsZW1lbnQiOjYxMCwiLi4vZHJhd2luZyI6NjEzLCIuL2NvbnN0YW50cyI6NjI1LCIuL2hlbHBlcnMiOjYyNyxkMzoxNjUsImZhc3QtaXNudW1lcmljIjoyMjgsdGlueWNvbG9yMjo1MzZ9XSw2Mjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGEpe3IoImhvdmVybGFiZWwuYmdjb2xvciIsKGE9YXx8e30pLmJnY29sb3IpLHIoImhvdmVybGFiZWwuYm9yZGVyY29sb3IiLGEuYm9yZGVyY29sb3IpLHIoImhvdmVybGFiZWwubmFtZWxlbmd0aCIsYS5uYW1lbGVuZ3RoKSxuLmNvZXJjZUZvbnQociwiaG92ZXJsYWJlbC5mb250IixhLmZvbnQpLHIoImhvdmVybGFiZWwuYWxpZ24iLGEuYWxpZ24pfX0seyIuLi8uLi9saWIiOjcxN31dLDYzMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi9kcmFnZWxlbWVudCIpLG89dCgiLi9oZWxwZXJzIikscz10KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksbD10KCIuL2hvdmVyIik7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6ImZ4Iixjb25zdGFudHM6dCgiLi9jb25zdGFudHMiKSxzY2hlbWE6e2xheW91dDpzfSxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLGxheW91dEF0dHJpYnV0ZXM6cyxzdXBwbHlMYXlvdXRHbG9iYWxEZWZhdWx0czp0KCIuL2xheW91dF9nbG9iYWxfZGVmYXVsdHMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLGdldERpc3RhbmNlRnVuY3Rpb246by5nZXREaXN0YW5jZUZ1bmN0aW9uLGdldENsb3Nlc3Q6by5nZXRDbG9zZXN0LGluYm94Om8uaW5ib3gscXVhZHJhdHVyZTpvLnF1YWRyYXR1cmUsYXBwZW5kQXJyYXlQb2ludFZhbHVlOm8uYXBwZW5kQXJyYXlQb2ludFZhbHVlLGNhc3RIb3Zlck9wdGlvbjpmdW5jdGlvbih0LGUscil7cmV0dXJuIGEuY2FzdE9wdGlvbih0LGUsImhvdmVybGFiZWwuIityKX0sY2FzdEhvdmVyaW5mbzpmdW5jdGlvbih0LGUscil7cmV0dXJuIGEuY2FzdE9wdGlvbih0LHIsImhvdmVyaW5mbyIsZnVuY3Rpb24ocil7cmV0dXJuIGEuY29lcmNlSG92ZXJpbmZvKHtob3ZlcmluZm86cn0se19tb2R1bGU6dC5fbW9kdWxlfSxlKX0pfSxob3ZlcjpsLmhvdmVyLHVuaG92ZXI6aS51bmhvdmVyLGxvbmVIb3ZlcjpsLmxvbmVIb3Zlcixsb25lVW5ob3ZlcjpmdW5jdGlvbih0KXt2YXIgZT1hLmlzRDNTZWxlY3Rpb24odCk/dDpuLnNlbGVjdCh0KTtlLnNlbGVjdEFsbCgiZy5ob3ZlcnRleHQiKS5yZW1vdmUoKSxlLnNlbGVjdEFsbCgiLnNwaWtlbGluZSIpLnJlbW92ZSgpfSxjbGljazp0KCIuL2NsaWNrIil9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9kcmFnZWxlbWVudCI6NjEwLCIuL2F0dHJpYnV0ZXMiOjYyMiwiLi9jYWxjIjo2MjMsIi4vY2xpY2siOjYyNCwiLi9jb25zdGFudHMiOjYyNSwiLi9kZWZhdWx0cyI6NjI2LCIuL2hlbHBlcnMiOjYyNywiLi9ob3ZlciI6NjI4LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo2MzEsIi4vbGF5b3V0X2RlZmF1bHRzIjo2MzIsIi4vbGF5b3V0X2dsb2JhbF9kZWZhdWx0cyI6NjMzLGQzOjE2NX1dLDYzMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvbnN0YW50cyIpLGE9dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIikoe2VkaXRUeXBlOiJub25lIn0pO2EuZmFtaWx5LmRmbHQ9bi5IT1ZFUkZPTlQsYS5zaXplLmRmbHQ9bi5IT1ZFUkZPTlRTSVpFLGUuZXhwb3J0cz17Y2xpY2ttb2RlOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJldmVudCIsInNlbGVjdCJdLGRmbHQ6ImV2ZW50IixlZGl0VHlwZToicGxvdCIsZXh0cmFzOlsibm9uZSJdfSxkcmFnbW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiem9vbSIsInBhbiIsInNlbGVjdCIsImxhc3NvIiwib3JiaXQiLCJ0dXJudGFibGUiLCExXSxkZmx0OiJ6b29tIixlZGl0VHlwZToibW9kZWJhciJ9LGhvdmVybW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsieCIsInkiLCJjbG9zZXN0IiwhMV0sZWRpdFR5cGU6Im1vZGViYXIifSxob3ZlcmRpc3RhbmNlOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46LTEsZGZsdDoyMCxlZGl0VHlwZToibm9uZSJ9LHNwaWtlZGlzdGFuY2U6e3ZhbFR5cGU6ImludGVnZXIiLG1pbjotMSxkZmx0OjIwLGVkaXRUeXBlOiJub25lIn0saG92ZXJsYWJlbDp7Ymdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJub25lIn0sYm9yZGVyY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToibm9uZSJ9LGZvbnQ6YSxhbGlnbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibGVmdCIsInJpZ2h0IiwiYXV0byJdLGRmbHQ6ImF1dG8iLGVkaXRUeXBlOiJub25lIn0sbmFtZWxlbmd0aDp7dmFsVHlwZToiaW50ZWdlciIsbWluOi0xLGRmbHQ6MTUsZWRpdFR5cGU6Im5vbmUifSxlZGl0VHlwZToibm9uZSJ9LHNlbGVjdGRpcmVjdGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiaCIsInYiLCJkIiwiYW55Il0sZGZsdDoiYW55IixlZGl0VHlwZToibm9uZSJ9fX0seyIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiOjc5MSwiLi9jb25zdGFudHMiOjYyNX1dLDYzMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIGkocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX12YXIgbyxzPWkoImNsaWNrbW9kZSIpOyJzZWxlY3QiPT09aSgiZHJhZ21vZGUiKSYmaSgic2VsZWN0ZGlyZWN0aW9uIiksZS5faGFzKCJjYXJ0ZXNpYW4iKT9zLmluZGV4T2YoInNlbGVjdCIpPi0xP289ImNsb3Nlc3QiOihlLl9pc0hvcml6PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUuX3NjYXR0ZXJTdGFja09wdHN8fHt9LG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGE9dFtuXSxpPWEueGF4aXMrYS55YXhpcyxvPXJbaV18fHt9LHM9b1thLnN0YWNrZ3JvdXBdfHx7fTtpZigiaCIhPT1hLm9yaWVudGF0aW9uJiYiaCIhPT1zLm9yaWVudGF0aW9uKXJldHVybiExfXJldHVybiEwfShyLGUpLG89ZS5faXNIb3Jpej8ieSI6IngiKTpvPSJjbG9zZXN0IixpKCJob3Zlcm1vZGUiLG8pJiYoaSgiaG92ZXJkaXN0YW5jZSIpLGkoInNwaWtlZGlzdGFuY2UiKSk7dmFyIGw9ZS5faGFzKCJtYXBib3giKSxjPWUuX2hhcygiZ2VvIiksdT1lLl9iYXNlUGxvdE1vZHVsZXMubGVuZ3RoOyJ6b29tIj09PWUuZHJhZ21vZGUmJigobHx8YykmJjE9PT11fHxsJiZjJiYyPT09dSkmJihlLmRyYWdtb2RlPSJwYW4iKX19LHsiLi4vLi4vbGliIjo3MTcsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjYzMX1dLDYzMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vaG92ZXJsYWJlbF9kZWZhdWx0cyIpLGk9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2EodCxlLGZ1bmN0aW9uKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLHIsYSl9KX19LHsiLi4vLi4vbGliIjo3MTcsIi4vaG92ZXJsYWJlbF9kZWZhdWx0cyI6NjI5LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo2MzF9XSw2MzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9saWIvcmVnZXgiKS5jb3VudGVyLGk9dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuYXR0cmlidXRlcyxvPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9jb25zdGFudHMiKS5pZFJlZ2V4LHM9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLGw9e3Jvd3M6e3ZhbFR5cGU6ImludGVnZXIiLG1pbjoxLGVkaXRUeXBlOiJwbG90In0scm93b3JkZXI6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvcCB0byBib3R0b20iLCJib3R0b20gdG8gdG9wIl0sZGZsdDoidG9wIHRvIGJvdHRvbSIsZWRpdFR5cGU6InBsb3QifSxjb2x1bW5zOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MSxlZGl0VHlwZToicGxvdCJ9LHN1YnBsb3RzOnt2YWxUeXBlOiJpbmZvX2FycmF5IixmcmVlTGVuZ3RoOiEwLGRpbWVuc2lvbnM6MixpdGVtczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlthKCJ4eSIpLnRvU3RyaW5nKCksIiJdLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6InBsb3QifSx4YXhlczp7dmFsVHlwZToiaW5mb19hcnJheSIsZnJlZUxlbmd0aDohMCxpdGVtczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOltvLngudG9TdHJpbmcoKSwiIl0sZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9LHlheGVzOnt2YWxUeXBlOiJpbmZvX2FycmF5IixmcmVlTGVuZ3RoOiEwLGl0ZW1zOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6W28ueS50b1N0cmluZygpLCIiXSxlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0scGF0dGVybjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiaW5kZXBlbmRlbnQiLCJjb3VwbGVkIl0sZGZsdDoiY291cGxlZCIsZWRpdFR5cGU6InBsb3QifSx4Z2FwOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGVkaXRUeXBlOiJwbG90In0seWdhcDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZToicGxvdCJ9LGRvbWFpbjppKHtuYW1lOiJncmlkIixlZGl0VHlwZToicGxvdCIsbm9HcmlkQ2VsbDohMH0se30pLHhzaWRlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJib3R0b20iLCJib3R0b20gcGxvdCIsInRvcCBwbG90IiwidG9wIl0sZGZsdDoiYm90dG9tIHBsb3QiLGVkaXRUeXBlOiJwbG90In0seXNpZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxlZnQiLCJsZWZ0IHBsb3QiLCJyaWdodCBwbG90IiwicmlnaHQiXSxkZmx0OiJsZWZ0IHBsb3QiLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6InBsb3QifTtmdW5jdGlvbiBjKHQsZSxyKXt2YXIgbj1lW3IrImF4ZXMiXSxhPU9iamVjdC5rZXlzKCh0Ll9zcGxvbUF4ZXN8fHt9KVtyXXx8e30pO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246YS5sZW5ndGg/YTp2b2lkIDB9ZnVuY3Rpb24gdSh0LGUscixuLGEsaSl7dmFyIG89ZSh0KyJnYXAiLHIpLHM9ZSgiZG9tYWluLiIrdCk7ZSh0KyJzaWRlIixuKTtmb3IodmFyIGw9bmV3IEFycmF5KGEpLGM9c1swXSx1PShzWzFdLWMpLyhhLW8pLGg9dSooMS1vKSxmPTA7ZjxhO2YrKyl7dmFyIHA9Yyt1KmY7bFtpP2EtMS1mOmZdPVtwLHAraF19cmV0dXJuIGx9ZnVuY3Rpb24gaCh0LGUscixuLGEpe3ZhciBpLG89bmV3IEFycmF5KHIpO2Z1bmN0aW9uIHModCxyKXstMSE9PWUuaW5kZXhPZihyKSYmdm9pZCAwPT09bltyXT8ob1t0XT1yLG5bcl09dCk6b1t0XT0iIn1pZihBcnJheS5pc0FycmF5KHQpKWZvcihpPTA7aTxyO2krKylzKGksdFtpXSk7ZWxzZSBmb3IocygwLGEpLGk9MTtpPHI7aSsrKXMoaSxhKyhpKzEpKTtyZXR1cm4gb31lLmV4cG9ydHM9e21vZHVsZVR5cGU6ImNvbXBvbmVudCIsbmFtZToiZ3JpZCIsc2NoZW1hOntsYXlvdXQ6e2dyaWQ6bH19LGxheW91dEF0dHJpYnV0ZXM6bCxzaXplRGVmYXVsdHM6ZnVuY3Rpb24odCxlKXt2YXIgcj10LmdyaWR8fHt9LGE9YyhlLHIsIngiKSxpPWMoZSxyLCJ5Iik7aWYodC5ncmlkfHxhfHxpKXt2YXIgbyxoLGY9QXJyYXkuaXNBcnJheShyLnN1YnBsb3RzKSYmQXJyYXkuaXNBcnJheShyLnN1YnBsb3RzWzBdKSxwPUFycmF5LmlzQXJyYXkoYSksZD1BcnJheS5pc0FycmF5KGkpLGc9cCYmYSE9PXIueGF4ZXMmJmQmJmkhPT1yLnlheGVzO2Y/KG89ci5zdWJwbG90cy5sZW5ndGgsaD1yLnN1YnBsb3RzWzBdLmxlbmd0aCk6KGQmJihvPWkubGVuZ3RoKSxwJiYoaD1hLmxlbmd0aCkpO3ZhciB2PXMubmV3Q29udGFpbmVyKGUsImdyaWQiKSxtPVQoInJvd3MiLG8pLHk9VCgiY29sdW1ucyIsaCk7aWYobSp5PjEpe2Z8fHB8fGR8fCJpbmRlcGVuZGVudCI9PT1UKCJwYXR0ZXJuIikmJihmPSEwKSx2Ll9oYXNTdWJwbG90R3JpZD1mO3ZhciB4LGIsXz0idG9wIHRvIGJvdHRvbSI9PT1UKCJyb3dvcmRlciIpLHc9Zj8uMjouMSxrPWY/LjM6LjE7ZyYmZS5fc3Bsb21HcmlkRGZsdCYmKHg9ZS5fc3Bsb21HcmlkRGZsdC54c2lkZSxiPWUuX3NwbG9tR3JpZERmbHQueXNpZGUpLHYuX2RvbWFpbnM9e3g6dSgieCIsVCx3LHgseSkseTp1KCJ5IixULGssYixtLF8pfX1lbHNlIGRlbGV0ZSBlLmdyaWR9ZnVuY3Rpb24gVCh0LGUpe3JldHVybiBuLmNvZXJjZShyLHYsbCx0LGUpfX0sY29udGVudERlZmF1bHRzOmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5ncmlkO2lmKHImJnIuX2RvbWFpbnMpe3ZhciBuLGEsaSxvLHMsbCx1LGY9dC5ncmlkfHx7fSxwPWUuX3N1YnBsb3RzLGQ9ci5faGFzU3VicGxvdEdyaWQsZz1yLnJvd3Msdj1yLmNvbHVtbnMsbT0iaW5kZXBlbmRlbnQiPT09ci5wYXR0ZXJuLHk9ci5fYXhpc01hcD17fTtpZihkKXt2YXIgeD1mLnN1YnBsb3RzfHxbXTtsPXIuc3VicGxvdHM9bmV3IEFycmF5KGcpO3ZhciBiPTE7Zm9yKG49MDtuPGc7bisrKXt2YXIgXz1sW25dPW5ldyBBcnJheSh2KSx3PXhbbl18fFtdO2ZvcihhPTA7YTx2O2ErKylpZihtPyhzPTE9PT1iPyJ4eSI6IngiK2IrInkiK2IsYisrKTpzPXdbYV0sX1thXT0iIiwtMSE9PXAuY2FydGVzaWFuLmluZGV4T2Yocykpe2lmKHU9cy5pbmRleE9mKCJ5IiksaT1zLnNsaWNlKDAsdSksbz1zLnNsaWNlKHUpLHZvaWQgMCE9PXlbaV0mJnlbaV0hPT1hfHx2b2lkIDAhPT15W29dJiZ5W29dIT09biljb250aW51ZTtfW2FdPXMseVtpXT1hLHlbb109bn19fWVsc2V7dmFyIGs9YyhlLGYsIngiKSxUPWMoZSxmLCJ5Iik7ci54YXhlcz1oKGsscC54YXhpcyx2LHksIngiKSxyLnlheGVzPWgoVCxwLnlheGlzLGcseSwieSIpfXZhciBNPXIuX2FuY2hvcnM9e30sQT0idG9wIHRvIGJvdHRvbSI9PT1yLnJvd29yZGVyO2Zvcih2YXIgUyBpbiB5KXt2YXIgRSxMLEMsUD1TLmNoYXJBdCgwKSxPPXJbUCsic2lkZSJdO2lmKE8ubGVuZ3RoPDgpTVtTXT0iZnJlZSI7ZWxzZSBpZigieCI9PT1QKXtpZigidCI9PT1PLmNoYXJBdCgwKT09PUE/KEU9MCxMPTEsQz1nKTooRT1nLTEsTD0tMSxDPS0xKSxkKXt2YXIgej15W1NdO2ZvcihuPUU7biE9PUM7bis9TClpZigocz1sW25dW3pdKSYmKHU9cy5pbmRleE9mKCJ5Iikscy5zbGljZSgwLHUpPT09Uykpe01bU109cy5zbGljZSh1KTticmVha319ZWxzZSBmb3Iobj1FO24hPT1DO24rPUwpaWYobz1yLnlheGVzW25dLC0xIT09cC5jYXJ0ZXNpYW4uaW5kZXhPZihTK28pKXtNW1NdPW87YnJlYWt9fWVsc2UgaWYoImwiPT09Ty5jaGFyQXQoMCk/KEU9MCxMPTEsQz12KTooRT12LTEsTD0tMSxDPS0xKSxkKXt2YXIgST15W1NdO2ZvcihuPUU7biE9PUM7bis9TClpZigocz1sW0ldW25dKSYmKHU9cy5pbmRleE9mKCJ5Iikscy5zbGljZSh1KT09PVMpKXtNW1NdPXMuc2xpY2UoMCx1KTticmVha319ZWxzZSBmb3Iobj1FO24hPT1DO24rPUwpaWYoaT1yLnhheGVzW25dLC0xIT09cC5jYXJ0ZXNpYW4uaW5kZXhPZihpK1MpKXtNW1NdPWk7YnJlYWt9fX19fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3JlZ2V4Ijo3MzMsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2NvbnN0YW50cyI6NzcxLCIuLi8uLi9wbG90cy9kb21haW4iOjc5MH1dLDYzNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vY29uc3RhbnRzIiksYT10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIikudGVtcGxhdGVkQXJyYXk7ZS5leHBvcnRzPWEoImltYWdlIix7dmlzaWJsZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiYXJyYXlkcmF3In0sc291cmNlOnt2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJhcnJheWRyYXcifSxsYXllcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYmVsb3ciLCJhYm92ZSJdLGRmbHQ6ImFib3ZlIixlZGl0VHlwZToiYXJyYXlkcmF3In0sc2l6ZXg6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowLGVkaXRUeXBlOiJhcnJheWRyYXcifSxzaXpleTp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LHNpemluZzp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZmlsbCIsImNvbnRhaW4iLCJzdHJldGNoIl0sZGZsdDoiY29udGFpbiIsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxLGVkaXRUeXBlOiJhcnJheWRyYXcifSx4Ont2YWxUeXBlOiJhbnkiLGRmbHQ6MCxlZGl0VHlwZToiYXJyYXlkcmF3In0seTp7dmFsVHlwZToiYW55IixkZmx0OjAsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LHhhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCJdLGRmbHQ6ImxlZnQiLGVkaXRUeXBlOiJhcnJheWRyYXcifSx5YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AiLCJtaWRkbGUiLCJib3R0b20iXSxkZmx0OiJ0b3AiLGVkaXRUeXBlOiJhcnJheWRyYXcifSx4cmVmOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJwYXBlciIsbi5pZFJlZ2V4LngudG9TdHJpbmcoKV0sZGZsdDoicGFwZXIiLGVkaXRUeXBlOiJhcnJheWRyYXcifSx5cmVmOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJwYXBlciIsbi5pZFJlZ2V4LnkudG9TdHJpbmcoKV0sZGZsdDoicGFwZXIiLGVkaXRUeXBlOiJhcnJheWRyYXcifSxlZGl0VHlwZToiYXJyYXlkcmF3In0pfSx7Ii4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2NvbnN0YW50cyI6NzcxfV0sNjM2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9saWIvdG9fbG9nX3JhbmdlIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe2U9ZXx8e307dmFyIG89ImxvZyI9PT1yJiYibGluZWFyIj09PWUudHlwZSxzPSJsaW5lYXIiPT09ciYmImxvZyI9PT1lLnR5cGU7aWYob3x8cylmb3IodmFyIGwsYyx1PXQuX2Z1bGxMYXlvdXQuaW1hZ2VzLGg9ZS5faWQuY2hhckF0KDApLGY9MDtmPHUubGVuZ3RoO2YrKylpZihjPSJpbWFnZXNbIitmKyJdLiIsKGw9dVtmXSlbaCsicmVmIl09PT1lLl9pZCl7dmFyIHA9bFtoXSxkPWxbInNpemUiK2hdLGc9bnVsbCx2PW51bGw7aWYobyl7Zz1hKHAsZS5yYW5nZSk7dmFyIG09ZC9NYXRoLnBvdygxMCxnKS8yO3Y9MipNYXRoLmxvZyhtK01hdGguc3FydCgxK20qbSkpL01hdGguTE4xMH1lbHNlIHY9KGc9TWF0aC5wb3coMTAscCkpKihNYXRoLnBvdygxMCxkLzIpLU1hdGgucG93KDEwLC1kLzIpKTtuKGcpP24odil8fCh2PW51bGwpOihnPW51bGwsdj1udWxsKSxpKGMraCxnKSxpKGMrInNpemUiK2gsdil9fX0seyIuLi8uLi9saWIvdG9fbG9nX3JhbmdlIjo3NDMsImZhc3QtaXNudW1lcmljIjoyMjh9XSw2Mzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi4vLi4vcGxvdHMvYXJyYXlfY29udGFpbmVyX2RlZmF1bHRzIiksbz10KCIuL2F0dHJpYnV0ZXMiKTtmdW5jdGlvbiBzKHQsZSxyKXtmdW5jdGlvbiBpKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxvLHIsYSl9dmFyIHM9aSgic291cmNlIik7aWYoIWkoInZpc2libGUiLCEhcykpcmV0dXJuIGU7aSgibGF5ZXIiKSxpKCJ4YW5jaG9yIiksaSgieWFuY2hvciIpLGkoInNpemV4IiksaSgic2l6ZXkiKSxpKCJzaXppbmciKSxpKCJvcGFjaXR5Iik7Zm9yKHZhciBsPXtfZnVsbExheW91dDpyfSxjPVsieCIsInkiXSx1PTA7dTwyO3UrKyl7dmFyIGg9Y1t1XSxmPWEuY29lcmNlUmVmKHQsZSxsLGgsInBhcGVyIik7aWYoInBhcGVyIiE9PWYpYS5nZXRGcm9tSWQobCxmKS5faW1nSW5kaWNlcy5wdXNoKGUuX2luZGV4KTthLmNvZXJjZVBvc2l0aW9uKGUsbCxpLGYsaCwwKX1yZXR1cm4gZX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpKHQsZSx7bmFtZToiaW1hZ2VzIixoYW5kbGVJdGVtRGVmYXVsdHM6c30pfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvYXJyYXlfY29udGFpbmVyX2RlZmF1bHRzIjo3NjEsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4vYXR0cmlidXRlcyI6NjM1fV0sNjM4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi9kcmF3aW5nIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLG89dCgiLi4vLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUscixzPXQuX2Z1bGxMYXlvdXQsbD1bXSxjPXt9LHU9W107Zm9yKHI9MDtyPHMuaW1hZ2VzLmxlbmd0aDtyKyspe3ZhciBoPXMuaW1hZ2VzW3JdO2lmKGgudmlzaWJsZSlpZigiYmVsb3ciPT09aC5sYXllciYmInBhcGVyIiE9PWgueHJlZiYmInBhcGVyIiE9PWgueXJlZil7ZT1oLnhyZWYraC55cmVmO3ZhciBmPXMuX3Bsb3RzW2VdO2lmKCFmKXt1LnB1c2goaCk7Y29udGludWV9Zi5tYWlucGxvdCYmKGU9Zi5tYWlucGxvdC5pZCksY1tlXXx8KGNbZV09W10pLGNbZV0ucHVzaChoKX1lbHNlImFib3ZlIj09PWgubGF5ZXI/bC5wdXNoKGgpOnUucHVzaChoKX12YXIgcD17eDp7bGVmdDp7c2l6aW5nOiJ4TWluIixvZmZzZXQ6MH0sY2VudGVyOntzaXppbmc6InhNaWQiLG9mZnNldDotLjV9LHJpZ2h0OntzaXppbmc6InhNYXgiLG9mZnNldDotMX19LHk6e3RvcDp7c2l6aW5nOiJZTWluIixvZmZzZXQ6MH0sbWlkZGxlOntzaXppbmc6IllNaWQiLG9mZnNldDotLjV9LGJvdHRvbTp7c2l6aW5nOiJZTWF4IixvZmZzZXQ6LTF9fX07ZnVuY3Rpb24gZChlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKTtpZih0aGlzLl9pbWdTcmMhPT1lLnNvdXJjZSlpZihyLmF0dHIoInhtbG5zIixvLnN2ZyksZS5zb3VyY2UmJiJkYXRhOiI9PT1lLnNvdXJjZS5zbGljZSgwLDUpKXIuYXR0cigieGxpbms6aHJlZiIsZS5zb3VyY2UpLHRoaXMuX2ltZ1NyYz1lLnNvdXJjZTtlbHNle3ZhciBhPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe3ZhciBuPW5ldyBJbWFnZTtmdW5jdGlvbiBhKCl7ci5yZW1vdmUoKSx0KCl9dGhpcy5pbWc9bixuLnNldEF0dHJpYnV0ZSgiY3Jvc3NPcmlnaW4iLCJhbm9ueW1vdXMiKSxuLm9uZXJyb3I9YSxuLm9ubG9hZD1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2Uud2lkdGg9dGhpcy53aWR0aCxlLmhlaWdodD10aGlzLmhlaWdodCxlLmdldENvbnRleHQoIjJkIikuZHJhd0ltYWdlKHRoaXMsMCwwKTt2YXIgbj1lLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIik7ci5hdHRyKCJ4bGluazpocmVmIixuKSx0KCl9LHIub24oImVycm9yIixhKSxuLnNyYz1lLnNvdXJjZSx0aGlzLl9pbWdTcmM9ZS5zb3VyY2V9LmJpbmQodGhpcykpO3QuX3Byb21pc2VzLnB1c2goYSl9fWZ1bmN0aW9uIGcoZSl7dmFyIHI9bi5zZWxlY3QodGhpcyksbz1pLmdldEZyb21JZCh0LGUueHJlZiksbD1pLmdldEZyb21JZCh0LGUueXJlZiksYz1zLl9zaXplLHU9bz9NYXRoLmFicyhvLmwycChlLnNpemV4KS1vLmwycCgwKSk6ZS5zaXpleCpjLncsaD1sP01hdGguYWJzKGwubDJwKGUuc2l6ZXkpLWwubDJwKDApKTplLnNpemV5KmMuaCxmPXUqcC54W2UueGFuY2hvcl0ub2Zmc2V0LGQ9aCpwLnlbZS55YW5jaG9yXS5vZmZzZXQsZz1wLnhbZS54YW5jaG9yXS5zaXppbmcrcC55W2UueWFuY2hvcl0uc2l6aW5nLHY9KG8/by5yMnAoZS54KStvLl9vZmZzZXQ6ZS54KmMudytjLmwpK2YsbT0obD9sLnIycChlLnkpK2wuX29mZnNldDpjLmgtZS55KmMuaCtjLnQpK2Q7c3dpdGNoKGUuc2l6aW5nKXtjYXNlImZpbGwiOmcrPSIgc2xpY2UiO2JyZWFrO2Nhc2Uic3RyZXRjaCI6Zz0ibm9uZSJ9ci5hdHRyKHt4OnYseTptLHdpZHRoOnUsaGVpZ2h0OmgscHJlc2VydmVBc3BlY3RSYXRpbzpnLG9wYWNpdHk6ZS5vcGFjaXR5fSk7dmFyIHk9KG8/by5faWQ6IiIpKyhsP2wuX2lkOiIiKTthLnNldENsaXBVcmwocix5PyJjbGlwIitzLl91aWQreTpudWxsLHQpfXZhciB2PXMuX2ltYWdlTG93ZXJMYXllci5zZWxlY3RBbGwoImltYWdlIikuZGF0YSh1KSxtPXMuX2ltYWdlVXBwZXJMYXllci5zZWxlY3RBbGwoImltYWdlIikuZGF0YShsKTt2LmVudGVyKCkuYXBwZW5kKCJpbWFnZSIpLG0uZW50ZXIoKS5hcHBlbmQoImltYWdlIiksdi5leGl0KCkucmVtb3ZlKCksbS5leGl0KCkucmVtb3ZlKCksdi5lYWNoKGZ1bmN0aW9uKHQpe2QuYmluZCh0aGlzKSh0KSxnLmJpbmQodGhpcykodCl9KSxtLmVhY2goZnVuY3Rpb24odCl7ZC5iaW5kKHRoaXMpKHQpLGcuYmluZCh0aGlzKSh0KX0pO3ZhciB5PU9iamVjdC5rZXlzKHMuX3Bsb3RzKTtmb3Iocj0wO3I8eS5sZW5ndGg7cisrKXtlPXlbcl07dmFyIHg9cy5fcGxvdHNbZV07aWYoeC5pbWFnZWxheWVyKXt2YXIgYj14LmltYWdlbGF5ZXIuc2VsZWN0QWxsKCJpbWFnZSIpLmRhdGEoY1tlXXx8W10pO2IuZW50ZXIoKS5hcHBlbmQoImltYWdlIiksYi5leGl0KCkucmVtb3ZlKCksYi5lYWNoKGZ1bmN0aW9uKHQpe2QuYmluZCh0aGlzKSh0KSxnLmJpbmQodGhpcykodCl9KX19fX0seyIuLi8uLi9jb25zdGFudHMveG1sbnNfbmFtZXNwYWNlcyI6Njk0LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9kcmF3aW5nIjo2MTMsZDM6MTY1fV0sNjM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bW9kdWxlVHlwZToiY29tcG9uZW50IixuYW1lOiJpbWFnZXMiLGxheW91dEF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGluY2x1ZGVCYXNlUGxvdDp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vaW5jbHVkZV9jb21wb25lbnRzIikoImltYWdlcyIpLGRyYXc6dCgiLi9kcmF3IiksY29udmVydENvb3Jkczp0KCIuL2NvbnZlcnRfY29vcmRzIil9fSx7Ii4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9pbmNsdWRlX2NvbXBvbmVudHMiOjc3NSwiLi9hdHRyaWJ1dGVzIjo2MzUsIi4vY29udmVydF9jb29yZHMiOjYzNiwiLi9kZWZhdWx0cyI6NjM3LCIuL2RyYXciOjYzOH1dLDY0MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiKSxhPXQoIi4uL2NvbG9yL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9e2JnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToibGVnZW5kIn0sYm9yZGVyY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmEuZGVmYXVsdExpbmUsZWRpdFR5cGU6ImxlZ2VuZCJ9LGJvcmRlcndpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToibGVnZW5kIn0sZm9udDpuKHtlZGl0VHlwZToibGVnZW5kIn0pLG9yaWVudGF0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ2IiwiaCJdLGRmbHQ6InYiLGVkaXRUeXBlOiJsZWdlbmQifSx0cmFjZW9yZGVyOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJyZXZlcnNlZCIsImdyb3VwZWQiXSxleHRyYXM6WyJub3JtYWwiXSxlZGl0VHlwZToibGVnZW5kIn0sdHJhY2Vncm91cGdhcDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEwLGVkaXRUeXBlOiJsZWdlbmQifSxpdGVtc2l6aW5nOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0cmFjZSIsImNvbnN0YW50Il0sZGZsdDoidHJhY2UiLGVkaXRUeXBlOiJsZWdlbmQifSxpdGVtY2xpY2s6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvZ2dsZSIsInRvZ2dsZW90aGVycyIsITFdLGRmbHQ6InRvZ2dsZSIsZWRpdFR5cGU6ImxlZ2VuZCJ9LGl0ZW1kb3VibGVjbGljazp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsidG9nZ2xlIiwidG9nZ2xlb3RoZXJzIiwhMV0sZGZsdDoidG9nZ2xlb3RoZXJzIixlZGl0VHlwZToibGVnZW5kIn0seDp7dmFsVHlwZToibnVtYmVyIixtaW46LTIsbWF4OjMsZWRpdFR5cGU6ImxlZ2VuZCJ9LHhhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImF1dG8iLCJsZWZ0IiwiY2VudGVyIiwicmlnaHQiXSxkZmx0OiJsZWZ0IixlZGl0VHlwZToibGVnZW5kIn0seTp7dmFsVHlwZToibnVtYmVyIixtaW46LTIsbWF4OjMsZWRpdFR5cGU6ImxlZ2VuZCJ9LHlhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImF1dG8iLCJ0b3AiLCJtaWRkbGUiLCJib3R0b20iXSxlZGl0VHlwZToibGVnZW5kIn0sdWlyZXZpc2lvbjp7dmFsVHlwZToiYW55IixlZGl0VHlwZToibm9uZSJ9LHZhbGlnbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsidG9wIiwibWlkZGxlIiwiYm90dG9tIl0sZGZsdDoibWlkZGxlIixlZGl0VHlwZToibGVnZW5kIn0sdGl0bGU6e3RleHQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToibGVnZW5kIn0sZm9udDpuKHtlZGl0VHlwZToibGVnZW5kIn0pLHNpZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvcCIsImxlZnQiLCJ0b3AgbGVmdCJdLGVkaXRUeXBlOiJsZWdlbmQifSxlZGl0VHlwZToibGVnZW5kIn0sZWRpdFR5cGU6ImxlZ2VuZCJ9fSx7Ii4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyI6NzkxLCIuLi9jb2xvci9hdHRyaWJ1dGVzIjo1OTF9XSw2NDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtzY3JvbGxCYXJXaWR0aDo2LHNjcm9sbEJhck1pbkhlaWdodDoyMCxzY3JvbGxCYXJDb2xvcjoiIzgwOEJBNCIsc2Nyb2xsQmFyTWFyZ2luOjQsc2Nyb2xsQmFyRW50ZXJBdHRyczp7cng6MjAscnk6Myx3aWR0aDowLGhlaWdodDowfSx0aXRsZVBhZDoyLHRleHRHYXA6NDAsaXRlbUdhcDo1fX0se31dLDY0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIiksbz10KCIuL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3Bsb3RzL2xheW91dF9hdHRyaWJ1dGVzIiksbD10KCIuL2hlbHBlcnMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgYz10LmxlZ2VuZHx8e30sdT0wLGg9ITEsZj0ibm9ybWFsIixwPTA7cDxyLmxlbmd0aDtwKyspe3ZhciBkPXJbcF07ZC52aXNpYmxlJiYoKGQuc2hvd2xlZ2VuZHx8ZC5fZGZsdFNob3dMZWdlbmQmJiEoZC5fbW9kdWxlJiZkLl9tb2R1bGUuYXR0cmlidXRlcyYmZC5fbW9kdWxlLmF0dHJpYnV0ZXMuc2hvd2xlZ2VuZCYmITE9PT1kLl9tb2R1bGUuYXR0cmlidXRlcy5zaG93bGVnZW5kLmRmbHQpKSYmKHUrKyxkLnNob3dsZWdlbmQmJihoPSEwLChuLnRyYWNlSXMoZCwicGllLWxpa2UiKXx8ITA9PT1kLl9pbnB1dC5zaG93bGVnZW5kKSYmdSsrKSksKG4udHJhY2VJcyhkLCJiYXIiKSYmInN0YWNrIj09PWUuYmFybW9kZXx8LTEhPT1bInRvbmV4dHgiLCJ0b25leHR5Il0uaW5kZXhPZihkLmZpbGwpKSYmKGY9bC5pc0dyb3VwZWQoe3RyYWNlb3JkZXI6Zn0pPyJncm91cGVkK3JldmVyc2VkIjoicmV2ZXJzZWQiKSx2b2lkIDAhPT1kLmxlZ2VuZGdyb3VwJiYiIiE9PWQubGVnZW5kZ3JvdXAmJihmPWwuaXNSZXZlcnNlZCh7dHJhY2VvcmRlcjpmfSk/InJldmVyc2VkK2dyb3VwZWQiOiJncm91cGVkIikpfXZhciBnPWEuY29lcmNlKHQsZSxzLCJzaG93bGVnZW5kIixoJiZ1PjEpO2lmKCExIT09Z3x8Yy51aXJldmlzaW9uKXt2YXIgdj1pLm5ld0NvbnRhaW5lcihlLCJsZWdlbmQiKTtpZihfKCJ1aXJldmlzaW9uIixlLnVpcmV2aXNpb24pLCExIT09Zyl7XygiYmdjb2xvciIsZS5wYXBlcl9iZ2NvbG9yKSxfKCJib3JkZXJjb2xvciIpLF8oImJvcmRlcndpZHRoIiksYS5jb2VyY2VGb250KF8sImZvbnQiLGUuZm9udCk7dmFyIG0seSx4LGI9Xygib3JpZW50YXRpb24iKTsiaCI9PT1iPyhtPTAsbi5nZXRDb21wb25lbnRNZXRob2QoInJhbmdlc2xpZGVyIiwiaXNWaXNpYmxlIikodC54YXhpcyk/KHk9MS4xLHg9ImJvdHRvbSIpOih5PS0uMSx4PSJ0b3AiKSk6KG09MS4wMix5PTEseD0iYXV0byIpLF8oInRyYWNlb3JkZXIiLGYpLGwuaXNHcm91cGVkKGUubGVnZW5kKSYmXygidHJhY2Vncm91cGdhcCIpLF8oIml0ZW1zaXppbmciKSxfKCJpdGVtY2xpY2siKSxfKCJpdGVtZG91YmxlY2xpY2siKSxfKCJ4IixtKSxfKCJ4YW5jaG9yIiksXygieSIseSksXygieWFuY2hvciIseCksXygidmFsaWduIiksYS5ub25lT3JBbGwoYyx2LFsieCIsInkiXSksXygidGl0bGUudGV4dCIpJiYoXygidGl0bGUuc2lkZSIsImgiPT09Yj8ibGVmdCI6InRvcCIpLGEuY29lcmNlRm9udChfLCJ0aXRsZS5mb250IixlLmZvbnQpKX19ZnVuY3Rpb24gXyh0LGUpe3JldHVybiBhLmNvZXJjZShjLHYsbyx0LGUpfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvbGF5b3V0X2F0dHJpYnV0ZXMiOjgxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9hdHRyaWJ1dGVzIjo2NDAsIi4vaGVscGVycyI6NjQ2fV0sNjQzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIiksbz10KCIuLi8uLi9yZWdpc3RyeSIpLHM9dCgiLi4vLi4vbGliL2V2ZW50cyIpLGw9dCgiLi4vZHJhZ2VsZW1lbnQiKSxjPXQoIi4uL2RyYXdpbmciKSx1PXQoIi4uL2NvbG9yIiksaD10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxmPXQoIi4vaGFuZGxlX2NsaWNrIikscD10KCIuL2NvbnN0YW50cyIpLGQ9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLGc9ZC5MSU5FX1NQQUNJTkcsdj1kLkZST01fVEwsbT1kLkZST01fQlIseT10KCIuL2dldF9sZWdlbmRfZGF0YSIpLHg9dCgiLi9zdHlsZSIpLGI9dCgiLi9oZWxwZXJzIik7ZnVuY3Rpb24gXyh0LGUscixuLGEpe3ZhciBpPXIuZGF0YSgpWzBdWzBdLnRyYWNlLGw9e2V2ZW50OmEsbm9kZTpyLm5vZGUoKSxjdXJ2ZU51bWJlcjppLmluZGV4LGV4cGFuZGVkSW5kZXg6aS5fZXhwYW5kZWRJbmRleCxkYXRhOnQuZGF0YSxsYXlvdXQ6dC5sYXlvdXQsZnJhbWVzOnQuX3RyYW5zaXRpb25EYXRhLl9mcmFtZXMsY29uZmlnOnQuX2NvbnRleHQsZnVsbERhdGE6dC5fZnVsbERhdGEsZnVsbExheW91dDp0Ll9mdWxsTGF5b3V0fTtpZihpLl9ncm91cCYmKGwuZ3JvdXA9aS5fZ3JvdXApLG8udHJhY2VJcyhpLCJwaWUtbGlrZSIpJiYobC5sYWJlbD1yLmRhdHVtKClbMF0ubGFiZWwpLCExIT09cy50cmlnZ2VySGFuZGxlcih0LCJwbG90bHlfbGVnZW5kY2xpY2siLGwpKWlmKDE9PT1uKWUuX2NsaWNrVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZihyLHQsbil9LHQuX2NvbnRleHQuZG91YmxlQ2xpY2tEZWxheSk7ZWxzZSBpZigyPT09bil7ZS5fY2xpY2tUaW1lb3V0JiZjbGVhclRpbWVvdXQoZS5fY2xpY2tUaW1lb3V0KSx0Ll9sZWdlbmRNb3VzZURvd25UaW1lPTAsITEhPT1zLnRyaWdnZXJIYW5kbGVyKHQsInBsb3RseV9sZWdlbmRkb3VibGVjbGljayIsbCkmJmYocix0LG4pfX1mdW5jdGlvbiB3KHQsZSl7dmFyIHI9dC5kYXRhKClbMF1bMF0sbj1lLl9mdWxsTGF5b3V0LmxlZ2VuZCxpPXIudHJhY2Uscz1vLnRyYWNlSXMoaSwicGllLWxpa2UiKSxsPWkuaW5kZXgsdT1lLl9jb250ZXh0LmVkaXRzLmxlZ2VuZFRleHQmJiFzLGY9bi5fbWF4TmFtZUxlbmd0aCxkPXM/ci5sYWJlbDppLm5hbWU7aS5fbWV0YSYmKGQ9YS50ZW1wbGF0ZVN0cmluZyhkLGkuX21ldGEpKTt2YXIgZz1hLmVuc3VyZVNpbmdsZSh0LCJ0ZXh0IiwibGVnZW5kdGV4dCIpO2cuYXR0cigidGV4dC1hbmNob3IiLCJzdGFydCIpLmNsYXNzZWQoInVzZXItc2VsZWN0LW5vbmUiLCEwKS5jYWxsKGMuZm9udCxuLmZvbnQpLnRleHQodT9rKGQsZik6ZCksaC5wb3NpdGlvblRleHQoZyxwLnRleHRHYXAsMCksdT9nLmNhbGwoaC5tYWtlRWRpdGFibGUse2dkOmUsdGV4dDpkfSkuY2FsbChNLHQsZSkub24oImVkaXQiLGZ1bmN0aW9uKG4pe3RoaXMudGV4dChrKG4sZikpLmNhbGwoTSx0LGUpO3ZhciBpPXIudHJhY2UuX2Z1bGxJbnB1dHx8e30scz17fTtpZihvLmhhc1RyYW5zZm9ybShpLCJncm91cGJ5Iikpe3ZhciBjPW8uZ2V0VHJhbnNmb3JtSW5kaWNlcyhpLCJncm91cGJ5IiksdT1jW2MubGVuZ3RoLTFdLGg9YS5rZXllZENvbnRhaW5lcihpLCJ0cmFuc2Zvcm1zWyIrdSsiXS5zdHlsZXMiLCJ0YXJnZXQiLCJ2YWx1ZS5uYW1lIik7aC5zZXQoci50cmFjZS5fZ3JvdXAsbikscz1oLmNvbnN0cnVjdFVwZGF0ZSgpfWVsc2Ugcy5uYW1lPW47cmV0dXJuIG8uY2FsbCgiX2d1aVJlc3R5bGUiLGUscyxsKX0pOk0oZyx0LGUpfWZ1bmN0aW9uIGsodCxlKXt2YXIgcj1NYXRoLm1heCg0LGUpO2lmKHQmJnQudHJpbSgpLmxlbmd0aD49ci8yKXJldHVybiB0O2Zvcih2YXIgbj1yLSh0PXR8fCIiKS5sZW5ndGg7bj4wO24tLSl0Kz0iICI7cmV0dXJuIHR9ZnVuY3Rpb24gVCh0LGUpe3ZhciByLGk9ZS5fY29udGV4dC5kb3VibGVDbGlja0RlbGF5LG89MSxzPWEuZW5zdXJlU2luZ2xlKHQsInJlY3QiLCJsZWdlbmR0b2dnbGUiLGZ1bmN0aW9uKHQpe3Quc3R5bGUoImN1cnNvciIsInBvaW50ZXIiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLmNhbGwodS5maWxsLCJyZ2JhKDAsMCwwLDApIil9KTtzLm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7KHI9KG5ldyBEYXRlKS5nZXRUaW1lKCkpLWUuX2xlZ2VuZE1vdXNlRG93blRpbWU8aT9vKz0xOihvPTEsZS5fbGVnZW5kTW91c2VEb3duVGltZT1yKX0pLHMub24oIm1vdXNldXAiLGZ1bmN0aW9uKCl7aWYoIWUuX2RyYWdnZWQmJiFlLl9lZGl0aW5nKXt2YXIgcj1lLl9mdWxsTGF5b3V0LmxlZ2VuZDsobmV3IERhdGUpLmdldFRpbWUoKS1lLl9sZWdlbmRNb3VzZURvd25UaW1lPmkmJihvPU1hdGgubWF4KG8tMSwxKSksXyhlLHIsdCxvLG4uZXZlbnQpfX0pfWZ1bmN0aW9uIE0odCxlLHIpe2guY29udmVydFRvVHNwYW5zKHQscixmdW5jdGlvbigpeyFmdW5jdGlvbih0LGUpe3ZhciByPXQuZGF0YSgpWzBdWzBdO2lmKHImJiFyLnRyYWNlLnNob3dsZWdlbmQpcmV0dXJuIHZvaWQgdC5yZW1vdmUoKTt2YXIgbixhLGk9dC5zZWxlY3QoImdbY2xhc3MqPW1hdGgtZ3JvdXBdIiksbz1pLm5vZGUoKSxzPWUuX2Z1bGxMYXlvdXQubGVnZW5kLmJvcmRlcndpZHRoLGw9ZS5fZnVsbExheW91dC5sZWdlbmQsdT0ocj9sOmwudGl0bGUpLmZvbnQuc2l6ZSpnO2lmKG8pe3ZhciBmPWMuYkJveChvKTtuPWYuaGVpZ2h0LGE9Zi53aWR0aCxyP2Muc2V0VHJhbnNsYXRlKGksMCwuMjUqbik6Yy5zZXRUcmFuc2xhdGUoaSxzLC43NSpuK3MpfWVsc2V7dmFyIGQ9dC5zZWxlY3Qocj8iLmxlZ2VuZHRleHQiOiIubGVnZW5kdGl0bGV0ZXh0Iiksdj1oLmxpbmVDb3VudChkKSxtPWQubm9kZSgpO249dSp2LGE9bT9jLmJCb3gobSkud2lkdGg6MDt2YXIgeT11Kigodi0xKS8yLS4zKTtyP2gucG9zaXRpb25UZXh0KGQscC50ZXh0R2FwLC15KTpoLnBvc2l0aW9uVGV4dChkLHAudGl0bGVQYWQrcyx1K3MpfXI/KHIubGluZUhlaWdodD11LHIuaGVpZ2h0PU1hdGgubWF4KG4sMTYpKzMsci53aWR0aD1hKToobC5fdGl0bGVXaWR0aD1hLGwuX3RpdGxlSGVpZ2h0PW4pfShlLHIpfSl9ZnVuY3Rpb24gQSh0KXtyZXR1cm4gYS5pc1JpZ2h0QW5jaG9yKHQpPyJyaWdodCI6YS5pc0NlbnRlckFuY2hvcih0KT8iY2VudGVyIjoibGVmdCJ9ZnVuY3Rpb24gUyh0KXtyZXR1cm4gYS5pc0JvdHRvbUFuY2hvcih0KT8iYm90dG9tIjphLmlzTWlkZGxlQW5jaG9yKHQpPyJtaWRkbGUiOiJ0b3AifWUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0LHI9ImxlZ2VuZCIrZS5fdWlkO2lmKGUuX2luZm9sYXllciYmdC5jYWxjZGF0YSl7dC5fbGVnZW5kTW91c2VEb3duVGltZXx8KHQuX2xlZ2VuZE1vdXNlRG93blRpbWU9MCk7dmFyIHM9ZS5sZWdlbmQsaD1lLnNob3dsZWdlbmQmJnkodC5jYWxjZGF0YSxzKSxmPWUuaGlkZGVubGFiZWxzfHxbXTtpZighZS5zaG93bGVnZW5kfHwhaC5sZW5ndGgpcmV0dXJuIGUuX2luZm9sYXllci5zZWxlY3RBbGwoIi5sZWdlbmQiKS5yZW1vdmUoKSxlLl90b3BkZWZzLnNlbGVjdCgiIyIrcikucmVtb3ZlKCksaS5hdXRvTWFyZ2luKHQsImxlZ2VuZCIpO3ZhciBkPWEuZW5zdXJlU2luZ2xlKGUuX2luZm9sYXllciwiZyIsImxlZ2VuZCIsZnVuY3Rpb24odCl7dC5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpfSksZz1hLmVuc3VyZVNpbmdsZUJ5SWQoZS5fdG9wZGVmcywiY2xpcFBhdGgiLHIsZnVuY3Rpb24odCl7dC5hcHBlbmQoInJlY3QiKX0pLGs9YS5lbnN1cmVTaW5nbGUoZCwicmVjdCIsImJnIixmdW5jdGlvbih0KXt0LmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKX0pO2suY2FsbCh1LnN0cm9rZSxzLmJvcmRlcmNvbG9yKS5jYWxsKHUuZmlsbCxzLmJnY29sb3IpLnN0eWxlKCJzdHJva2Utd2lkdGgiLHMuYm9yZGVyd2lkdGgrInB4Iik7dmFyIEU9YS5lbnN1cmVTaW5nbGUoZCwiZyIsInNjcm9sbGJveCIpLEw9cy50aXRsZTtpZihzLl90aXRsZVdpZHRoPTAscy5fdGl0bGVIZWlnaHQ9MCxMLnRleHQpe3ZhciBDPWEuZW5zdXJlU2luZ2xlKEUsInRleHQiLCJsZWdlbmR0aXRsZXRleHQiKTtDLmF0dHIoInRleHQtYW5jaG9yIiwic3RhcnQiKS5jbGFzc2VkKCJ1c2VyLXNlbGVjdC1ub25lIiwhMCkuY2FsbChjLmZvbnQsTC5mb250KS50ZXh0KEwudGV4dCksTShDLEUsdCl9dmFyIFA9YS5lbnN1cmVTaW5nbGUoZCwicmVjdCIsInNjcm9sbGJhciIsZnVuY3Rpb24odCl7dC5hdHRyKHAuc2Nyb2xsQmFyRW50ZXJBdHRycykuY2FsbCh1LmZpbGwscC5zY3JvbGxCYXJDb2xvcil9KSxPPUUuc2VsZWN0QWxsKCJnLmdyb3VwcyIpLmRhdGEoaCk7Ty5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwiZ3JvdXBzIiksTy5leGl0KCkucmVtb3ZlKCk7dmFyIHo9Ty5zZWxlY3RBbGwoImcudHJhY2VzIikuZGF0YShhLmlkZW50aXR5KTt6LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJ0cmFjZXMiKSx6LmV4aXQoKS5yZW1vdmUoKSx6LnN0eWxlKCJvcGFjaXR5IixmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRyYWNlO3JldHVybiBvLnRyYWNlSXMoZSwicGllLWxpa2UiKT8tMSE9PWYuaW5kZXhPZih0WzBdLmxhYmVsKT8uNToxOiJsZWdlbmRvbmx5Ij09PWUudmlzaWJsZT8uNToxfSkuZWFjaChmdW5jdGlvbigpe24uc2VsZWN0KHRoaXMpLmNhbGwodyx0KX0pLmNhbGwoeCx0KS5lYWNoKGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykuY2FsbChULHQpfSksYS5zeW5jT3JBc3luYyhbaS5wcmV2aW91c1Byb21pc2VzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10Ll9mdWxsTGF5b3V0LGk9YS5sZWdlbmQsbz1hLl9zaXplLHM9Yi5pc1ZlcnRpY2FsKGkpLGw9Yi5pc0dyb3VwZWQoaSksdT1pLmJvcmRlcndpZHRoLGg9Mip1LGY9cC50ZXh0R2FwLGQ9cC5pdGVtR2FwLGc9MioodStkKSx2PVMoaSksbT1pLnk8MHx8MD09PWkueSYmInRvcCI9PT12LHk9aS55PjF8fDE9PT1pLnkmJiJib3R0b20iPT09djtpLl9tYXhIZWlnaHQ9TWF0aC5tYXgobXx8eT9hLmhlaWdodC8yOm8uaCwzMCk7dmFyIHg9MDtpLl93aWR0aD0wLGkuX2hlaWdodD0wO3ZhciBfPWZ1bmN0aW9uKHQpe3ZhciBlPTAscj0wLG49dC50aXRsZS5zaWRlO24mJigtMSE9PW4uaW5kZXhPZigibGVmdCIpJiYoZT10Ll90aXRsZVdpZHRoKSwtMSE9PW4uaW5kZXhPZigidG9wIikmJihyPXQuX3RpdGxlSGVpZ2h0KSk7cmV0dXJuW2Uscl19KGkpO2lmKHMpci5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0uaGVpZ2h0O2Muc2V0VHJhbnNsYXRlKHRoaXMsdStfWzBdLHUrX1sxXStpLl9oZWlnaHQrZS8yK2QpLGkuX2hlaWdodCs9ZSxpLl93aWR0aD1NYXRoLm1heChpLl93aWR0aCx0WzBdLndpZHRoKX0pLHg9ZitpLl93aWR0aCxpLl93aWR0aCs9ZCtmK2gsaS5faGVpZ2h0Kz1nLGwmJihlLmVhY2goZnVuY3Rpb24odCxlKXtjLnNldFRyYW5zbGF0ZSh0aGlzLDAsZSppLnRyYWNlZ3JvdXBnYXApfSksaS5faGVpZ2h0Kz0oaS5fbGdyb3Vwc0xlbmd0aC0xKSppLnRyYWNlZ3JvdXBnYXApO2Vsc2V7dmFyIHc9QShpKSxrPWkueDwwfHwwPT09aS54JiYicmlnaHQiPT09dyxUPWkueD4xfHwxPT09aS54JiYibGVmdCI9PT13LE09eXx8bSxFPWEud2lkdGgvMjtpLl9tYXhXaWR0aD1NYXRoLm1heChrP00mJiJsZWZ0Ij09PXc/by5sK28udzpFOlQ/TSYmInJpZ2h0Ij09PXc/by5yK28udzpFOm8udywyKmYpO3ZhciBMPTAsQz0wO3IuZWFjaChmdW5jdGlvbih0KXt2YXIgZT10WzBdLndpZHRoK2Y7TD1NYXRoLm1heChMLGUpLEMrPWV9KSx4PW51bGw7dmFyIFA9MDtpZihsKXt2YXIgTz0wLHo9MCxJPTA7ZS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9MCxlPTA7bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJnLnRyYWNlcyIpLmVhY2goZnVuY3Rpb24ocil7dmFyIG49clswXS5oZWlnaHQ7Yy5zZXRUcmFuc2xhdGUodGhpcyxfWzBdLF9bMV0rdStkK24vMitlKSxlKz1uLHQ9TWF0aC5tYXgodCxmK3JbMF0ud2lkdGgpfSksTz1NYXRoLm1heChPLGUpO3ZhciByPXQrZDtyK3Urej5pLl9tYXhXaWR0aCYmKFA9TWF0aC5tYXgoUCx6KSx6PTAsSSs9TytpLnRyYWNlZ3JvdXBnYXAsTz1lKSxjLnNldFRyYW5zbGF0ZSh0aGlzLHosSSkseis9cn0pLGkuX3dpZHRoPU1hdGgubWF4KFAseikrdSxpLl9oZWlnaHQ9SStPK2d9ZWxzZXt2YXIgRD1yLnNpemUoKSxSPUMraCsoRC0xKSpkPGkuX21heFdpZHRoLEY9MCxCPTAsTj0wLGo9MDtyLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9dFswXS5oZWlnaHQscj1mK3RbMF0ud2lkdGgsbj0oUj9yOkwpK2Q7bit1K0I+aS5fbWF4V2lkdGgmJihQPU1hdGgubWF4KFAsaiksQj0wLE4rPUYsaS5faGVpZ2h0Kz1GLEY9MCksYy5zZXRUcmFuc2xhdGUodGhpcyxfWzBdK3UrQixfWzFdK3UrTitlLzIrZCksaj1CK3IrZCxCKz1uLEY9TWF0aC5tYXgoRixlKX0pLFI/KGkuX3dpZHRoPUIraCxpLl9oZWlnaHQ9RitnKTooaS5fd2lkdGg9TWF0aC5tYXgoUCxqKStoLGkuX2hlaWdodCs9RitnKX19aS5fd2lkdGg9TWF0aC5jZWlsKE1hdGgubWF4KGkuX3dpZHRoK19bMF0saS5fdGl0bGVXaWR0aCsyKih1K3AudGl0bGVQYWQpKSksaS5faGVpZ2h0PU1hdGguY2VpbChNYXRoLm1heChpLl9oZWlnaHQrX1sxXSxpLl90aXRsZUhlaWdodCsyKih1K3AuaXRlbUdhcCkpKSxpLl9lZmZIZWlnaHQ9TWF0aC5taW4oaS5faGVpZ2h0LGkuX21heEhlaWdodCk7dmFyIFY9dC5fY29udGV4dC5lZGl0cyxVPVYubGVnZW5kVGV4dHx8Vi5sZWdlbmRQb3NpdGlvbjtyLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9bi5zZWxlY3QodGhpcykuc2VsZWN0KCIubGVnZW5kdG9nZ2xlIikscj10WzBdLmhlaWdodCxhPVU/Zjp4fHxmK3RbMF0ud2lkdGg7c3x8KGErPWQvMiksYy5zZXRSZWN0KGUsMCwtci8yLGEscil9KX0odCxPLHopfSxmdW5jdGlvbigpe2lmKCFmdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0LmxlZ2VuZCxyPUEoZSksbj1TKGUpO3JldHVybiBpLmF1dG9NYXJnaW4odCwibGVnZW5kIix7eDplLngseTplLnksbDplLl93aWR0aCp2W3JdLHI6ZS5fd2lkdGgqbVtyXSxiOmUuX2VmZkhlaWdodCptW25dLHQ6ZS5fZWZmSGVpZ2h0KnZbbl19KX0odCkpe3ZhciB1LGgsZix5LHg9ZS5fc2l6ZSxiPXMuYm9yZGVyd2lkdGgsdz14LmwreC53KnMueC12W0EocyldKnMuX3dpZHRoLFQ9eC50K3guaCooMS1zLnkpLXZbUyhzKV0qcy5fZWZmSGVpZ2h0O2lmKGUubWFyZ2luLmF1dG9leHBhbmQpe3ZhciBNPXcsTD1UO3c9YS5jb25zdHJhaW4odywwLGUud2lkdGgtcy5fd2lkdGgpLFQ9YS5jb25zdHJhaW4oVCwwLGUuaGVpZ2h0LXMuX2VmZkhlaWdodCksdyE9PU0mJmEubG9nKCJDb25zdHJhaW4gbGVnZW5kLnggdG8gbWFrZSBsZWdlbmQgZml0IGluc2lkZSBncmFwaCIpLFQhPT1MJiZhLmxvZygiQ29uc3RyYWluIGxlZ2VuZC55IHRvIG1ha2UgbGVnZW5kIGZpdCBpbnNpZGUgZ3JhcGgiKX1pZihjLnNldFRyYW5zbGF0ZShkLHcsVCksUC5vbigiLmRyYWciLG51bGwpLGQub24oIndoZWVsIixudWxsKSxzLl9oZWlnaHQ8PXMuX21heEhlaWdodHx8dC5fY29udGV4dC5zdGF0aWNQbG90KWsuYXR0cih7d2lkdGg6cy5fd2lkdGgtYixoZWlnaHQ6cy5fZWZmSGVpZ2h0LWIseDpiLzIseTpiLzJ9KSxjLnNldFRyYW5zbGF0ZShFLDAsMCksZy5zZWxlY3QoInJlY3QiKS5hdHRyKHt3aWR0aDpzLl93aWR0aC0yKmIsaGVpZ2h0OnMuX2VmZkhlaWdodC0yKmIseDpiLHk6Yn0pLGMuc2V0Q2xpcFVybChFLHIsdCksYy5zZXRSZWN0KFAsMCwwLDAsMCksZGVsZXRlIHMuX3Njcm9sbFk7ZWxzZXt2YXIgQyxPLHosST1NYXRoLm1heChwLnNjcm9sbEJhck1pbkhlaWdodCxzLl9lZmZIZWlnaHQqcy5fZWZmSGVpZ2h0L3MuX2hlaWdodCksRD1zLl9lZmZIZWlnaHQtSS0yKnAuc2Nyb2xsQmFyTWFyZ2luLFI9cy5faGVpZ2h0LXMuX2VmZkhlaWdodCxGPUQvUixCPU1hdGgubWluKHMuX3Njcm9sbFl8fDAsUik7ay5hdHRyKHt3aWR0aDpzLl93aWR0aC0yKmIrcC5zY3JvbGxCYXJXaWR0aCtwLnNjcm9sbEJhck1hcmdpbixoZWlnaHQ6cy5fZWZmSGVpZ2h0LWIseDpiLzIseTpiLzJ9KSxnLnNlbGVjdCgicmVjdCIpLmF0dHIoe3dpZHRoOnMuX3dpZHRoLTIqYitwLnNjcm9sbEJhcldpZHRoK3Auc2Nyb2xsQmFyTWFyZ2luLGhlaWdodDpzLl9lZmZIZWlnaHQtMipiLHg6Yix5OmIrQn0pLGMuc2V0Q2xpcFVybChFLHIsdCksVihCLEksRiksZC5vbigid2hlZWwiLGZ1bmN0aW9uKCl7VihCPWEuY29uc3RyYWluKHMuX3Njcm9sbFkrbi5ldmVudC5kZWx0YVkvRCpSLDAsUiksSSxGKSwwIT09QiYmQiE9PVImJm4uZXZlbnQucHJldmVudERlZmF1bHQoKX0pO3ZhciBOPW4uYmVoYXZpb3IuZHJhZygpLm9uKCJkcmFnc3RhcnQiLGZ1bmN0aW9uKCl7dmFyIHQ9bi5ldmVudC5zb3VyY2VFdmVudDtDPSJ0b3VjaHN0YXJ0Ij09PXQudHlwZT90LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFk6dC5jbGllbnRZLHo9Qn0pLm9uKCJkcmFnIixmdW5jdGlvbigpe3ZhciB0PW4uZXZlbnQuc291cmNlRXZlbnQ7Mj09PXQuYnV0dG9uc3x8dC5jdHJsS2V5fHwoTz0idG91Y2htb3ZlIj09PXQudHlwZT90LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFk6dC5jbGllbnRZLFYoQj1mdW5jdGlvbih0LGUscil7dmFyIG49KHItZSkvRit0O3JldHVybiBhLmNvbnN0cmFpbihuLDAsUil9KHosQyxPKSxJLEYpKX0pO1AuY2FsbChOKTt2YXIgaj1uLmJlaGF2aW9yLmRyYWcoKS5vbigiZHJhZ3N0YXJ0IixmdW5jdGlvbigpe3ZhciB0PW4uZXZlbnQuc291cmNlRXZlbnQ7InRvdWNoc3RhcnQiPT09dC50eXBlJiYoQz10LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFksej1CKX0pLm9uKCJkcmFnIixmdW5jdGlvbigpe3ZhciB0PW4uZXZlbnQuc291cmNlRXZlbnQ7InRvdWNobW92ZSI9PT10LnR5cGUmJihPPXQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSxWKEI9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPShlLXIpL0YrdDtyZXR1cm4gYS5jb25zdHJhaW4obiwwLFIpfSh6LEMsTyksSSxGKSl9KTtFLmNhbGwoail9aWYodC5fY29udGV4dC5lZGl0cy5sZWdlbmRQb3NpdGlvbilkLmNsYXNzZWQoImN1cnNvci1tb3ZlIiwhMCksbC5pbml0KHtlbGVtZW50OmQubm9kZSgpLGdkOnQscHJlcEZuOmZ1bmN0aW9uKCl7dmFyIHQ9Yy5nZXRUcmFuc2xhdGUoZCk7Zj10LngseT10Lnl9LG1vdmVGbjpmdW5jdGlvbih0LGUpe3ZhciByPWYrdCxuPXkrZTtjLnNldFRyYW5zbGF0ZShkLHIsbiksdT1sLmFsaWduKHIsMCx4LmwseC5sK3gudyxzLnhhbmNob3IpLGg9bC5hbGlnbihuLDAseC50K3guaCx4LnQscy55YW5jaG9yKX0sZG9uZUZuOmZ1bmN0aW9uKCl7dm9pZCAwIT09dSYmdm9pZCAwIT09aCYmby5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQseyJsZWdlbmQueCI6dSwibGVnZW5kLnkiOmh9KX0sY2xpY2tGbjpmdW5jdGlvbihyLG4pe3ZhciBhPWUuX2luZm9sYXllci5zZWxlY3RBbGwoImcudHJhY2VzIikuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbi5jbGllbnRYPj10LmxlZnQmJm4uY2xpZW50WDw9dC5yaWdodCYmbi5jbGllbnRZPj10LnRvcCYmbi5jbGllbnRZPD10LmJvdHRvbX0pO2Euc2l6ZSgpPjAmJl8odCxkLGEscixuKX19KX1mdW5jdGlvbiBWKGUscixuKXtzLl9zY3JvbGxZPXQuX2Z1bGxMYXlvdXQubGVnZW5kLl9zY3JvbGxZPWUsYy5zZXRUcmFuc2xhdGUoRSwwLC1lKSxjLnNldFJlY3QoUCxzLl93aWR0aCxwLnNjcm9sbEJhck1hcmdpbitlKm4scC5zY3JvbGxCYXJXaWR0aCxyKSxnLnNlbGVjdCgicmVjdCIpLmF0dHIoInkiLGIrZSl9fV0sdCl9fX0seyIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZXZlbnRzIjo3MDcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9wbG90cy9wbG90cyI6ODI2LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9jb2xvciI6NTkyLCIuLi9kcmFnZWxlbWVudCI6NjEwLCIuLi9kcmF3aW5nIjo2MTMsIi4vY29uc3RhbnRzIjo2NDEsIi4vZ2V0X2xlZ2VuZF9kYXRhIjo2NDQsIi4vaGFuZGxlX2NsaWNrIjo2NDUsIi4vaGVscGVycyI6NjQ2LCIuL3N0eWxlIjo2NDgsZDM6MTY1fV0sNjQ0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IiksYT10KCIuL2hlbHBlcnMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixpLG89e30scz1bXSxsPSExLGM9e30sdT0wLGg9MDtmdW5jdGlvbiBmKHQscil7aWYoIiIhPT10JiZhLmlzR3JvdXBlZChlKSktMT09PXMuaW5kZXhPZih0KT8ocy5wdXNoKHQpLGw9ITAsb1t0XT1bW3JdXSk6b1t0XS5wdXNoKFtyXSk7ZWxzZXt2YXIgbj0ifn5pIit1O3MucHVzaChuKSxvW25dPVtbcl1dLHUrK319Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIHA9dFtyXSxkPXBbMF0sZz1kLnRyYWNlLHY9Zy5sZWdlbmRncm91cDtpZihnLnZpc2libGUmJmcuc2hvd2xlZ2VuZClpZihuLnRyYWNlSXMoZywicGllLWxpa2UiKSlmb3IoY1t2XXx8KGNbdl09e30pLGk9MDtpPHAubGVuZ3RoO2krKyl7dmFyIG09cFtpXS5sYWJlbDtjW3ZdW21dfHwoZih2LHtsYWJlbDptLGNvbG9yOnBbaV0uY29sb3IsaTpwW2ldLmksdHJhY2U6ZyxwdHM6cFtpXS5wdHN9KSxjW3ZdW21dPSEwLGg9TWF0aC5tYXgoaCwobXx8IiIpLmxlbmd0aCkpfWVsc2UgZih2LGQpLGg9TWF0aC5tYXgoaCwoZy5uYW1lfHwiIikubGVuZ3RoKX1pZighcy5sZW5ndGgpcmV0dXJuW107dmFyIHkseCxiPXMubGVuZ3RoO2lmKGwmJmEuaXNHcm91cGVkKGUpKWZvcih4PW5ldyBBcnJheShiKSxyPTA7cjxiO3IrKyl5PW9bc1tyXV0seFtyXT1hLmlzUmV2ZXJzZWQoZSk/eS5yZXZlcnNlKCk6eTtlbHNle2Zvcih4PVtuZXcgQXJyYXkoYildLHI9MDtyPGI7cisrKXk9b1tzW3JdXVswXSx4WzBdW2EuaXNSZXZlcnNlZChlKT9iLXItMTpyXT15O2I9MX1yZXR1cm4gZS5fbGdyb3Vwc0xlbmd0aD1iLGUuX21heE5hbWVMZW5ndGg9aCx4fX0seyIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2hlbHBlcnMiOjY0Nn1dLDY0NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3JlZ2lzdHJ5IiksaT0hMDtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBvPWUuX2Z1bGxMYXlvdXQ7aWYoIWUuX2RyYWdnZWQmJiFlLl9lZGl0aW5nKXt2YXIgcyxsPW8ubGVnZW5kLml0ZW1jbGljayxjPW8ubGVnZW5kLml0ZW1kb3VibGVjbGljaztpZigxPT09ciYmInRvZ2dsZSI9PT1sJiYidG9nZ2xlb3RoZXJzIj09PWMmJmkmJmUuZGF0YSYmZS5fY29udGV4dC5zaG93VGlwcz8obi5ub3RpZmllcihuLl8oZSwiRG91YmxlLWNsaWNrIG9uIGxlZ2VuZCB0byBpc29sYXRlIG9uZSB0cmFjZSIpLCJsb25nIiksaT0hMSk6aT0hMSwxPT09cj9zPWw6Mj09PXImJihzPWMpLHMpe3ZhciB1LGgsZixwLGQsZz1vLmhpZGRlbmxhYmVscz9vLmhpZGRlbmxhYmVscy5zbGljZSgpOltdLHY9dC5kYXRhKClbMF1bMF0sbT1lLl9mdWxsRGF0YSx5PXYudHJhY2UseD15LmxlZ2VuZGdyb3VwLGI9e30sXz1bXSx3PVtdLGs9W107aWYoYS50cmFjZUlzKHksInBpZS1saWtlIikpe3ZhciBUPXYubGFiZWwsTT1nLmluZGV4T2YoVCk7InRvZ2dsZSI9PT1zPy0xPT09TT9nLnB1c2goVCk6Zy5zcGxpY2UoTSwxKToidG9nZ2xlb3RoZXJzIj09PXMmJihnPVtdLGUuY2FsY2RhdGFbMF0uZm9yRWFjaChmdW5jdGlvbih0KXtUIT09dC5sYWJlbCYmZy5wdXNoKHQubGFiZWwpfSksZS5fZnVsbExheW91dC5oaWRkZW5sYWJlbHMmJmUuX2Z1bGxMYXlvdXQuaGlkZGVubGFiZWxzLmxlbmd0aD09PWcubGVuZ3RoJiYtMT09PU0mJihnPVtdKSksYS5jYWxsKCJfZ3VpUmVsYXlvdXQiLGUsImhpZGRlbmxhYmVscyIsZyl9ZWxzZXt2YXIgQSxTPXgmJngubGVuZ3RoLEU9W107aWYoUylmb3IodT0wO3U8bS5sZW5ndGg7dSsrKShBPW1bdV0pLnZpc2libGUmJkEubGVnZW5kZ3JvdXA9PT14JiZFLnB1c2godSk7aWYoInRvZ2dsZSI9PT1zKXt2YXIgTDtzd2l0Y2goeS52aXNpYmxlKXtjYXNlITA6TD0ibGVnZW5kb25seSI7YnJlYWs7Y2FzZSExOkw9ITE7YnJlYWs7Y2FzZSJsZWdlbmRvbmx5IjpMPSEwfWlmKFMpZm9yKHU9MDt1PG0ubGVuZ3RoO3UrKykhMSE9PW1bdV0udmlzaWJsZSYmbVt1XS5sZWdlbmRncm91cD09PXgmJkIobVt1XSxMKTtlbHNlIEIoeSxMKX1lbHNlIGlmKCJ0b2dnbGVvdGhlcnMiPT09cyl7dmFyIEMsUCxPLHosST0hMDtmb3IodT0wO3U8bS5sZW5ndGg7dSsrKWlmKEM9bVt1XT09PXksTz0hMCE9PW1bdV0uc2hvd2xlZ2VuZCwhKEN8fE98fChQPVMmJm1bdV0ubGVnZW5kZ3JvdXA9PT14KXx8ITAhPT1tW3VdLnZpc2libGV8fGEudHJhY2VJcyhtW3VdLCJub3RMZWdlbmRJc29sYXRhYmxlIikpKXtJPSExO2JyZWFrfWZvcih1PTA7dTxtLmxlbmd0aDt1KyspaWYoITEhPT1tW3VdLnZpc2libGUmJiFhLnRyYWNlSXMobVt1XSwibm90TGVnZW5kSXNvbGF0YWJsZSIpKXN3aXRjaCh5LnZpc2libGUpe2Nhc2UibGVnZW5kb25seSI6QihtW3VdLCEwKTticmVhaztjYXNlITA6ej0hIUl8fCJsZWdlbmRvbmx5IixDPW1bdV09PT15LE89ITAhPT1tW3VdLnNob3dsZWdlbmQmJiFtW3VdLmxlZ2VuZGdyb3VwLFA9Q3x8UyYmbVt1XS5sZWdlbmRncm91cD09PXgsQihtW3VdLCEoIVAmJiFPKXx8eil9fWZvcih1PTA7dTx3Lmxlbmd0aDt1KyspaWYoZj13W3VdKXt2YXIgRD1mLmNvbnN0cnVjdFVwZGF0ZSgpLFI9T2JqZWN0LmtleXMoRCk7Zm9yKGg9MDtoPFIubGVuZ3RoO2grKylwPVJbaF0sKGJbcF09YltwXXx8W10pW2tbdV1dPURbcF19Zm9yKGQ9T2JqZWN0LmtleXMoYiksdT0wO3U8ZC5sZW5ndGg7dSsrKWZvcihwPWRbdV0saD0wO2g8Xy5sZW5ndGg7aCsrKWJbcF0uaGFzT3duUHJvcGVydHkoaCl8fChiW3BdW2hdPXZvaWQgMCk7YS5jYWxsKCJfZ3VpUmVzdHlsZSIsZSxiLF8pfX19ZnVuY3Rpb24gRih0LGUscil7dmFyIG49Xy5pbmRleE9mKHQpLGE9YltlXTtyZXR1cm4gYXx8KGE9YltlXT1bXSksLTE9PT1fLmluZGV4T2YodCkmJihfLnB1c2godCksbj1fLmxlbmd0aC0xKSxhW25dPXIsbn1mdW5jdGlvbiBCKHQsZSl7dmFyIHI9dC5fZnVsbElucHV0O2lmKGEuaGFzVHJhbnNmb3JtKHIsImdyb3VwYnkiKSl7dmFyIGk9d1tyLmluZGV4XTtpZighaSl7dmFyIG89YS5nZXRUcmFuc2Zvcm1JbmRpY2VzKHIsImdyb3VwYnkiKSxzPW9bby5sZW5ndGgtMV07aT1uLmtleWVkQ29udGFpbmVyKHIsInRyYW5zZm9ybXNbIitzKyJdLnN0eWxlcyIsInRhcmdldCIsInZhbHVlLnZpc2libGUiKSx3W3IuaW5kZXhdPWl9dmFyIGw9aS5nZXQodC5fZ3JvdXApO3ZvaWQgMD09PWwmJihsPSEwKSwhMSE9PWwmJmkuc2V0KHQuX2dyb3VwLGUpLGtbci5pbmRleF09RihyLmluZGV4LCJ2aXNpYmxlIiwhMSE9PXIudmlzaWJsZSl9ZWxzZXt2YXIgYz0hMSE9PXIudmlzaWJsZSYmZTtGKHIuaW5kZXgsInZpc2libGUiLGMpfX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2fV0sNjQ2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuaXNHcm91cGVkPWZ1bmN0aW9uKHQpe3JldHVybi0xIT09KHQudHJhY2VvcmRlcnx8IiIpLmluZGV4T2YoImdyb3VwZWQiKX0sci5pc1ZlcnRpY2FsPWZ1bmN0aW9uKHQpe3JldHVybiJoIiE9PXQub3JpZW50YXRpb259LHIuaXNSZXZlcnNlZD1mdW5jdGlvbih0KXtyZXR1cm4tMSE9PSh0LnRyYWNlb3JkZXJ8fCIiKS5pbmRleE9mKCJyZXZlcnNlZCIpfX0se31dLDY0NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZHVsZVR5cGU6ImNvbXBvbmVudCIsbmFtZToibGVnZW5kIixsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxkcmF3OnQoIi4vZHJhdyIpLHN0eWxlOnQoIi4vc3R5bGUiKX19LHsiLi9hdHRyaWJ1dGVzIjo2NDAsIi4vZGVmYXVsdHMiOjY0MiwiLi9kcmF3Ijo2NDMsIi4vc3R5bGUiOjY0OH1dLDY0ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vZHJhd2luZyIpLHM9dCgiLi4vY29sb3IiKSxsPXQoIi4uL2NvbG9yc2NhbGUvaGVscGVycyIpLmV4dHJhY3RPcHRzLGM9dCgiLi4vLi4vdHJhY2VzL3NjYXR0ZXIvc3VidHlwZXMiKSx1PXQoIi4uLy4uL3RyYWNlcy9waWUvc3R5bGVfb25lIiksaD10KCIuLi8uLi90cmFjZXMvcGllL2hlbHBlcnMiKS5jYXN0T3B0aW9uLGY9MTIscD01LGQ9MixnPTEwLHY9NTtmdW5jdGlvbiBtKHQsZSl7cmV0dXJuKGU/InJhZGlhbCI6Imhvcml6b250YWwiKSsodD8iIjoicmV2ZXJzZWQiKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLl9mdWxsTGF5b3V0LmxlZ2VuZCx5PSJjb25zdGFudCI9PT1yLml0ZW1zaXppbmcseD1mdW5jdGlvbih0LGUscixuKXt2YXIgYTtpZih0KzEpYT10O2Vsc2V7aWYoIShlJiZlLndpZHRoPjApKXJldHVybiAwO2E9ZS53aWR0aH1yZXR1cm4geT9uOk1hdGgubWluKGEscil9O2Z1bmN0aW9uIGIodCxlLHIpe3ZhciBpPXRbMF0udHJhY2Usbz1pLm1hcmtlcnx8e30sbD1vLmxpbmV8fHt9LGM9cj9pLnZpc2libGUmJmkudHlwZT09PXI6YS50cmFjZUlzKGksImJhciIpLHU9bi5zZWxlY3QoZSkuc2VsZWN0KCJnLmxlZ2VuZHBvaW50cyIpLnNlbGVjdEFsbCgicGF0aC5sZWdlbmQiK3IpLmRhdGEoYz9bdF06W10pO3UuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJsZWdlbmQiK3IsITApLmF0dHIoImQiLCJNNiw2SC02Vi02SDZaIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDIwLDApIiksdS5leGl0KCkucmVtb3ZlKCksdS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHRoaXMpLHI9dFswXSxhPXgoci5tbHcsby5saW5lLHYsZCk7ZS5zdHlsZSgic3Ryb2tlLXdpZHRoIixhKyJweCIpLmNhbGwocy5maWxsLHIubWN8fG8uY29sb3IpLGEmJnMuc3Ryb2tlKGUsci5tbGN8fGwuY29sb3IpfSl9ZnVuY3Rpb24gXyh0LGUscil7dmFyIG89dFswXSxzPW8udHJhY2UsbD1yP3MudmlzaWJsZSYmcy50eXBlPT09cjphLnRyYWNlSXMocyxyKSxjPW4uc2VsZWN0KGUpLnNlbGVjdCgiZy5sZWdlbmRwb2ludHMiKS5zZWxlY3RBbGwoInBhdGgubGVnZW5kIityKS5kYXRhKGw/W3RdOltdKTtpZihjLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZCgibGVnZW5kIityLCEwKS5hdHRyKCJkIiwiTTYsNkgtNlYtNkg2WiIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgyMCwwKSIpLGMuZXhpdCgpLnJlbW92ZSgpLGMuc2l6ZSgpKXt2YXIgZj0ocy5tYXJrZXJ8fHt9KS5saW5lLHA9eChoKGYud2lkdGgsby5wdHMpLGYsdixkKSxnPWkubWluRXh0ZW5kKHMse21hcmtlcjp7bGluZTp7d2lkdGg6cH19fSk7Zy5tYXJrZXIubGluZS5jb2xvcj1mLmNvbG9yO3ZhciBtPWkubWluRXh0ZW5kKG8se3RyYWNlOmd9KTt1KGMsbSxnKX19dC5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHRoaXMpLGE9aS5lbnN1cmVTaW5nbGUoZSwiZyIsImxheWVycyIpO2Euc3R5bGUoIm9wYWNpdHkiLHRbMF0udHJhY2Uub3BhY2l0eSk7dmFyIG89ci52YWxpZ24scz10WzBdLmxpbmVIZWlnaHQsbD10WzBdLmhlaWdodDtpZigibWlkZGxlIiE9PW8mJnMmJmwpe3ZhciBjPXt0b3A6MSxib3R0b206LTF9W29dKiguNSoocy1sKzMpKTthLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgwLCIrYysiKSIpfWVsc2UgYS5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpO2Euc2VsZWN0QWxsKCJnLmxlZ2VuZGZpbGwiKS5kYXRhKFt0XSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJsZWdlbmRmaWxsIiwhMCksYS5zZWxlY3RBbGwoImcubGVnZW5kbGluZXMiKS5kYXRhKFt0XSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJsZWdlbmRsaW5lcyIsITApO3ZhciB1PWEuc2VsZWN0QWxsKCJnLmxlZ2VuZHN5bWJvbHMiKS5kYXRhKFt0XSk7dS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImxlZ2VuZHN5bWJvbHMiLCEwKSx1LnNlbGVjdEFsbCgiZy5sZWdlbmRwb2ludHMiKS5kYXRhKFt0XSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJsZWdlbmRwb2ludHMiLCEwKX0pLmVhY2goZnVuY3Rpb24odCl7dmFyIHIsYT10WzBdLnRyYWNlLGM9W107aWYoYS52aXNpYmxlKXN3aXRjaChhLnR5cGUpe2Nhc2UiaGlzdG9ncmFtMmQiOmNhc2UiaGVhdG1hcCI6Yz1bWyJNLTE1LC0yVjRIMTVWLTJaIl1dLHI9ITA7YnJlYWs7Y2FzZSJjaG9yb3BsZXRoIjpjYXNlImNob3JvcGxldGhtYXBib3giOmM9W1siTS02LC02VjZINlYtNloiXV0scj0hMDticmVhaztjYXNlImRlbnNpdHltYXBib3giOmM9W1siTS02LDAgYTYsNiAwIDEsMCAxMiwwIGEgNiw2IDAgMSwwIC0xMiwwIl1dLHI9InJhZGlhbCI7YnJlYWs7Y2FzZSJjb25lIjpjPVtbIk0tNiwyIEEyLDIgMCAwLDAgLTYsNiBWNkw2LDRaIl0sWyJNLTYsLTYgQTIsMiAwIDAsMCAtNiwtMiBMNiwtNFoiXSxbIk0tNiwtMiBBMiwyIDAgMCwwIC02LDIgTDYsMFoiXV0scj0hMTticmVhaztjYXNlInN0cmVhbXR1YmUiOmM9W1siTS02LDIgQTIsMiAwIDAsMCAtNiw2IEg2IEEyLDIgMCAwLDEgNiwyIFoiXSxbIk0tNiwtNiBBMiwyIDAgMCwwIC02LC0yIEg2IEEyLDIgMCAwLDEgNiwtNiBaIl0sWyJNLTYsLTIgQTIsMiAwIDAsMCAtNiwyIEg2IEEyLDIgMCAwLDEgNiwtMiBaIl1dLHI9ITE7YnJlYWs7Y2FzZSJzdXJmYWNlIjpjPVtbIk0tNiwtNiBBMiwzIDAgMCwwIC02LDAgSDYgQTIsMyAwIDAsMSA2LC02IFoiXSxbIk0tNiwxIEEyLDMgMCAwLDEgLTYsNiBINiBBMiwzIDAgMCwwIDYsMCBaIl1dLHI9ITA7YnJlYWs7Y2FzZSJtZXNoM2QiOmM9W1siTS02LDZIMEwtNiwtNloiXSxbIk02LDZIMEw2LC02WiJdLFsiTS02LC02SDZMMCw2WiJdXSxyPSExO2JyZWFrO2Nhc2Uidm9sdW1lIjpjPVtbIk0tNiw2SDBMLTYsLTZaIl0sWyJNNiw2SDBMNiwtNloiXSxbIk0tNiwtNkg2TDAsNloiXV0scj0hMDticmVhaztjYXNlImlzb3N1cmZhY2UiOmM9W1siTS02LDZIMEwtNiwtNloiXSxbIk02LDZIMEw2LC02WiJdLFsiTS02LC02IEExMiwyNCAwIDAsMCA2LC02IEwwLDZaIl1dLHI9ITF9dmFyIHU9bi5zZWxlY3QodGhpcykuc2VsZWN0KCJnLmxlZ2VuZHBvaW50cyIpLnNlbGVjdEFsbCgicGF0aC5sZWdlbmQzZGFuZGZyaWVuZHMiKS5kYXRhKGMpO3UuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJsZWdlbmQzZGFuZGZyaWVuZHMiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMjAsMCkiKS5zdHlsZSgic3Ryb2tlLW1pdGVybGltaXQiLDEpLHUuZXhpdCgpLnJlbW92ZSgpLHUuZWFjaChmdW5jdGlvbih0LGMpe3ZhciB1LGg9bi5zZWxlY3QodGhpcyksZj1sKGEpLHA9Zi5jb2xvcnNjYWxlLGQ9Zi5yZXZlcnNlc2NhbGU7aWYocCl7aWYoIXIpe3ZhciBnPXAubGVuZ3RoO3U9MD09PWM/cFtkP2ctMTowXVsxXToxPT09Yz9wW2Q/MDpnLTFdWzFdOnBbTWF0aC5mbG9vcigoZy0xKS8yKV1bMV19fWVsc2V7dmFyIHY9YS52ZXJ0ZXhjb2xvcnx8YS5mYWNlY29sb3J8fGEuY29sb3I7dT1pLmlzQXJyYXlPclR5cGVkQXJyYXkodik/dltjXXx8dlswXTp2fWguYXR0cigiZCIsdFswXSksdT9oLmNhbGwocy5maWxsLHUpOmguY2FsbChmdW5jdGlvbih0KXtpZih0LnNpemUoKSl7dmFyIG49ImxlZ2VuZGZpbGwtIithLnVpZDtvLmdyYWRpZW50KHQsZSxuLG0oZCwicmFkaWFsIj09PXIpLHAsImZpbGwiKX19KX0pfSkuZWFjaChmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRyYWNlLHI9W107ZS52aXNpYmxlJiYid2F0ZXJmYWxsIj09PWUudHlwZSYmKHI9dFswXS5oYXNUb3RhbHM/W1siaW5jcmVhc2luZyIsIk0tNiwtNlY2SDBaIl0sWyJ0b3RhbHMiLCJNNiw2SDBMLTYsLTZILTBaIl0sWyJkZWNyZWFzaW5nIiwiTTYsNlYtNkgwWiJdXTpbWyJpbmNyZWFzaW5nIiwiTS02LC02VjZINloiXSxbImRlY3JlYXNpbmciLCJNNiw2Vi02SC02WiJdXSk7dmFyIGE9bi5zZWxlY3QodGhpcykuc2VsZWN0KCJnLmxlZ2VuZHBvaW50cyIpLnNlbGVjdEFsbCgicGF0aC5sZWdlbmR3YXRlcmZhbGwiKS5kYXRhKHIpO2EuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJsZWdlbmR3YXRlcmZhbGwiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMjAsMCkiKS5zdHlsZSgic3Ryb2tlLW1pdGVybGltaXQiLDEpLGEuZXhpdCgpLnJlbW92ZSgpLGEuZWFjaChmdW5jdGlvbih0KXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxhPWVbdFswXV0ubWFya2VyLGk9eCh2b2lkIDAsYS5saW5lLHYsZCk7ci5hdHRyKCJkIix0WzFdKS5zdHlsZSgic3Ryb2tlLXdpZHRoIixpKyJweCIpLmNhbGwocy5maWxsLGEuY29sb3IpLGkmJnIuY2FsbChzLnN0cm9rZSxhLmxpbmUuY29sb3IpfSl9KS5lYWNoKGZ1bmN0aW9uKHQpe2IodCx0aGlzLCJmdW5uZWwiKX0pLmVhY2goZnVuY3Rpb24odCl7Yih0LHRoaXMpfSkuZWFjaChmdW5jdGlvbih0KXt2YXIgcj10WzBdLnRyYWNlLGw9bi5zZWxlY3QodGhpcykuc2VsZWN0KCJnLmxlZ2VuZHBvaW50cyIpLnNlbGVjdEFsbCgicGF0aC5sZWdlbmRib3giKS5kYXRhKHIudmlzaWJsZSYmYS50cmFjZUlzKHIsImJveC12aW9saW4iKT9bdF06W10pO2wuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJsZWdlbmRib3giLCEwKS5hdHRyKCJkIiwiTTYsNkgtNlYtNkg2WiIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgyMCwwKSIpLGwuZXhpdCgpLnJlbW92ZSgpLGwuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4uc2VsZWN0KHRoaXMpO2lmKCJhbGwiIT09ci5ib3hwb2ludHMmJiJhbGwiIT09ci5wb2ludHN8fDAhPT1zLm9wYWNpdHkoci5maWxsY29sb3IpfHwwIT09cy5vcGFjaXR5KChyLmxpbmV8fHt9KS5jb2xvcikpe3ZhciBhPXgodm9pZCAwLHIubGluZSx2LGQpO3Quc3R5bGUoInN0cm9rZS13aWR0aCIsYSsicHgiKS5jYWxsKHMuZmlsbCxyLmZpbGxjb2xvciksYSYmcy5zdHJva2UodCxyLmxpbmUuY29sb3IpfWVsc2V7dmFyIGM9aS5taW5FeHRlbmQocix7bWFya2VyOntzaXplOnk/ZjppLmNvbnN0cmFpbihyLm1hcmtlci5zaXplLDIsMTYpLHNpemVyZWY6MSxzaXplbWluOjEsc2l6ZW1vZGU6ImRpYW1ldGVyIn19KTtsLmNhbGwoby5wb2ludFN0eWxlLGMsZSl9fSl9KS5lYWNoKGZ1bmN0aW9uKHQpe18odCx0aGlzLCJmdW5uZWxhcmVhIil9KS5lYWNoKGZ1bmN0aW9uKHQpe18odCx0aGlzLCJwaWUiKX0pLmVhY2goZnVuY3Rpb24odCl7dmFyIHIsYSxzPXRbMF0sdT1zLnRyYWNlLGg9dS52aXNpYmxlJiZ1LmZpbGwmJiJub25lIiE9PXUuZmlsbCxmPWMuaGFzTGluZXModSksZD11LmNvbnRvdXJzLHY9ITEseT0hMSxiPWwodSksXz1iLmNvbG9yc2NhbGUsdz1iLnJldmVyc2VzY2FsZTtpZihkKXt2YXIgaz1kLmNvbG9yaW5nOyJsaW5lcyI9PT1rP3Y9ITA6Zj0ibm9uZSI9PT1rfHwiaGVhdG1hcCI9PT1rfHxkLnNob3dsaW5lcywiY29uc3RyYWludCI9PT1kLnR5cGU/aD0iPSIhPT1kLl9vcGVyYXRpb246ImZpbGwiIT09ayYmImhlYXRtYXAiIT09a3x8KHk9ITApfXZhciBUPWMuaGFzTWFya2Vycyh1KXx8Yy5oYXNUZXh0KHUpLE09aHx8eSxBPWZ8fHYsUz1UfHwhTT8iTTUsMCI6QT8iTTUsLTIiOiJNNSwtMyIsRT1uLnNlbGVjdCh0aGlzKSxMPUUuc2VsZWN0KCIubGVnZW5kZmlsbCIpLnNlbGVjdEFsbCgicGF0aCIpLmRhdGEoaHx8eT9bdF06W10pO2lmKEwuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJqcy1maWxsIiwhMCksTC5leGl0KCkucmVtb3ZlKCksTC5hdHRyKCJkIixTKyJoMzB2NmgtMzB6IikuY2FsbChoP28uZmlsbEdyb3VwU3R5bGU6ZnVuY3Rpb24odCl7aWYodC5zaXplKCkpe3ZhciByPSJsZWdlbmRmaWxsLSIrdS51aWQ7by5ncmFkaWVudCh0LGUscixtKHcpLF8sImZpbGwiKX19KSxmfHx2KXt2YXIgQz14KHZvaWQgMCx1LmxpbmUsZyxwKTthPWkubWluRXh0ZW5kKHUse2xpbmU6e3dpZHRoOkN9fSkscj1baS5taW5FeHRlbmQocyx7dHJhY2U6YX0pXX12YXIgUD1FLnNlbGVjdCgiLmxlZ2VuZGxpbmVzIikuc2VsZWN0QWxsKCJwYXRoIikuZGF0YShmfHx2P1tyXTpbXSk7UC5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmNsYXNzZWQoImpzLWxpbmUiLCEwKSxQLmV4aXQoKS5yZW1vdmUoKSxQLmF0dHIoImQiLFMrKHY/ImwzMCwwLjAwMDEiOiJoMzAiKSkuY2FsbChmP28ubGluZUdyb3VwU3R5bGU6ZnVuY3Rpb24odCl7aWYodC5zaXplKCkpe3ZhciByPSJsZWdlbmRsaW5lLSIrdS51aWQ7by5saW5lR3JvdXBTdHlsZSh0KSxvLmdyYWRpZW50KHQsZSxyLG0odyksXywic3Ryb2tlIil9fSl9KS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciByLGEscz10WzBdLGw9cy50cmFjZSx1PWMuaGFzTWFya2VycyhsKSxoPWMuaGFzVGV4dChsKSxnPWMuaGFzTGluZXMobCk7ZnVuY3Rpb24gdih0LGUscixuKXt2YXIgYT1pLm5lc3RlZFByb3BlcnR5KGwsdCkuZ2V0KCksbz1pLmlzQXJyYXlPclR5cGVkQXJyYXkoYSkmJmU/ZShhKTphO2lmKHkmJm8mJnZvaWQgMCE9PW4mJihvPW4pLHIpe2lmKG88clswXSlyZXR1cm4gclswXTtpZihvPnJbMV0pcmV0dXJuIHJbMV19cmV0dXJuIG99ZnVuY3Rpb24gbSh0KXtyZXR1cm4gdFswXX1pZih1fHxofHxnKXt2YXIgeD17fSxiPXt9O2lmKHUpe3gubWM9digibWFya2VyLmNvbG9yIixtKSx4Lm14PXYoIm1hcmtlci5zeW1ib2wiLG0pLHgubW89digibWFya2VyLm9wYWNpdHkiLGkubWVhbixbLjIsMV0pLHgubWxjPXYoIm1hcmtlci5saW5lLmNvbG9yIixtKSx4Lm1sdz12KCJtYXJrZXIubGluZS53aWR0aCIsaS5tZWFuLFswLDVdLGQpLGIubWFya2VyPXtzaXplcmVmOjEsc2l6ZW1pbjoxLHNpemVtb2RlOiJkaWFtZXRlciJ9O3ZhciBfPXYoIm1hcmtlci5zaXplIixpLm1lYW4sWzIsMTZdLGYpO3gubXM9XyxiLm1hcmtlci5zaXplPV99ZyYmKGIubGluZT17d2lkdGg6digibGluZS53aWR0aCIsbSxbMCwxMF0scCl9KSxoJiYoeC50eD0iQWEiLHgudHA9digidGV4dHBvc2l0aW9uIixtKSx4LnRzPTEwLHgudGM9digidGV4dGZvbnQuY29sb3IiLG0pLHgudGY9digidGV4dGZvbnQuZmFtaWx5IixtKSkscj1baS5taW5FeHRlbmQocyx4KV0sKGE9aS5taW5FeHRlbmQobCxiKSkuc2VsZWN0ZWRwb2ludHM9bnVsbCxhLnRleHR0ZW1wbGF0ZT1udWxsfXZhciB3PW4uc2VsZWN0KHRoaXMpLnNlbGVjdCgiZy5sZWdlbmRwb2ludHMiKSxrPXcuc2VsZWN0QWxsKCJwYXRoLnNjYXR0ZXJwdHMiKS5kYXRhKHU/cjpbXSk7ay5lbnRlcigpLmluc2VydCgicGF0aCIsIjpmaXJzdC1jaGlsZCIpLmNsYXNzZWQoInNjYXR0ZXJwdHMiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMjAsMCkiKSxrLmV4aXQoKS5yZW1vdmUoKSxrLmNhbGwoby5wb2ludFN0eWxlLGEsZSksdSYmKHJbMF0ubXJjPTMpO3ZhciBUPXcuc2VsZWN0QWxsKCJnLnBvaW50dGV4dCIpLmRhdGEoaD9yOltdKTtULmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgicG9pbnR0ZXh0IiwhMCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDIwLDApIiksVC5leGl0KCkucmVtb3ZlKCksVC5zZWxlY3RBbGwoInRleHQiKS5jYWxsKG8udGV4dFBvaW50U3R5bGUsYSxlKX0pLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9dFswXS50cmFjZSxyPW4uc2VsZWN0KHRoaXMpLnNlbGVjdCgiZy5sZWdlbmRwb2ludHMiKS5zZWxlY3RBbGwoInBhdGgubGVnZW5kY2FuZGxlIikuZGF0YShlLnZpc2libGUmJiJjYW5kbGVzdGljayI9PT1lLnR5cGU/W3QsdF06W10pO3IuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJsZWdlbmRjYW5kbGUiLCEwKS5hdHRyKCJkIixmdW5jdGlvbih0LGUpe3JldHVybiBlPyJNLTE1LDBILThNLTgsNlYtNkg4WiI6Ik0xNSwwSDhNOCwtNlY2SC04WiJ9KS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMjAsMCkiKS5zdHlsZSgic3Ryb2tlLW1pdGVybGltaXQiLDEpLHIuZXhpdCgpLnJlbW92ZSgpLHIuZWFjaChmdW5jdGlvbih0LHIpe3ZhciBhPW4uc2VsZWN0KHRoaXMpLGk9ZVtyPyJpbmNyZWFzaW5nIjoiZGVjcmVhc2luZyJdLG89eCh2b2lkIDAsaS5saW5lLHYsZCk7YS5zdHlsZSgic3Ryb2tlLXdpZHRoIixvKyJweCIpLmNhbGwocy5maWxsLGkuZmlsbGNvbG9yKSxvJiZzLnN0cm9rZShhLGkubGluZS5jb2xvcil9KX0pLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9dFswXS50cmFjZSxyPW4uc2VsZWN0KHRoaXMpLnNlbGVjdCgiZy5sZWdlbmRwb2ludHMiKS5zZWxlY3RBbGwoInBhdGgubGVnZW5kb2hsYyIpLmRhdGEoZS52aXNpYmxlJiYib2hsYyI9PT1lLnR5cGU/W3QsdF06W10pO3IuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJsZWdlbmRvaGxjIiwhMCkuYXR0cigiZCIsZnVuY3Rpb24odCxlKXtyZXR1cm4gZT8iTS0xNSwwSDBNLTgsLTZWMCI6Ik0xNSwwSDBNOCw2VjAifSkuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDIwLDApIikuc3R5bGUoInN0cm9rZS1taXRlcmxpbWl0IiwxKSxyLmV4aXQoKS5yZW1vdmUoKSxyLmVhY2goZnVuY3Rpb24odCxyKXt2YXIgYT1uLnNlbGVjdCh0aGlzKSxpPWVbcj8iaW5jcmVhc2luZyI6ImRlY3JlYXNpbmciXSxsPXgodm9pZCAwLGkubGluZSx2LGQpO2Euc3R5bGUoImZpbGwiLCJub25lIikuY2FsbChvLmRhc2hMaW5lLGkubGluZS5kYXNoLGwpLGwmJnMuc3Ryb2tlKGEsaS5saW5lLmNvbG9yKX0pfSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi8uLi90cmFjZXMvcGllL2hlbHBlcnMiOjEwOTksIi4uLy4uL3RyYWNlcy9waWUvc3R5bGVfb25lIjoxMTA1LCIuLi8uLi90cmFjZXMvc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiLi4vY29sb3IiOjU5MiwiLi4vY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4uL2RyYXdpbmciOjYxMyxkMzoxNjV9XSw2NDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKSxvPXQoIi4uLy4uL2xpYiIpLHM9dCgiLi4vLi4vZm9udHMvcGxvdGljb24iKSxsPW8uXyxjPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KHQsZSl7dmFyIHIsYSxvPWUuY3VycmVudFRhcmdldCxzPW8uZ2V0QXR0cmlidXRlKCJkYXRhLWF0dHIiKSxsPW8uZ2V0QXR0cmlidXRlKCJkYXRhLXZhbCIpfHwhMCxjPXQuX2Z1bGxMYXlvdXQsdT17fSxoPWkubGlzdCh0LG51bGwsITApLGY9Yy5fY2FydGVzaWFuU3Bpa2VzRW5hYmxlZDtpZigiem9vbSI9PT1zKXt2YXIgcCxkPSJpbiI9PT1sPy41OjIsZz0oMStkKS8yLHY9KDEtZCkvMjtmb3IoYT0wO2E8aC5sZW5ndGg7YSsrKWlmKCEocj1oW2FdKS5maXhlZHJhbmdlKWlmKHA9ci5fbmFtZSwiYXV0byI9PT1sKXVbcCsiLmF1dG9yYW5nZSJdPSEwO2Vsc2UgaWYoInJlc2V0Ij09PWwpe2lmKHZvaWQgMD09PXIuX3JhbmdlSW5pdGlhbCl1W3ArIi5hdXRvcmFuZ2UiXT0hMDtlbHNle3ZhciBtPXIuX3JhbmdlSW5pdGlhbC5zbGljZSgpO3VbcCsiLnJhbmdlWzBdIl09bVswXSx1W3ArIi5yYW5nZVsxXSJdPW1bMV19dm9pZCAwIT09ci5fc2hvd1NwaWtlSW5pdGlhbCYmKHVbcCsiLnNob3dzcGlrZXMiXT1yLl9zaG93U3Bpa2VJbml0aWFsLCJvbiIhPT1mfHxyLl9zaG93U3Bpa2VJbml0aWFsfHwoZj0ib2ZmIikpfWVsc2V7dmFyIHk9W3IucjJsKHIucmFuZ2VbMF0pLHIucjJsKHIucmFuZ2VbMV0pXSx4PVtnKnlbMF0rdip5WzFdLGcqeVsxXSt2KnlbMF1dO3VbcCsiLnJhbmdlWzBdIl09ci5sMnIoeFswXSksdVtwKyIucmFuZ2VbMV0iXT1yLmwycih4WzFdKX19ZWxzZSJob3Zlcm1vZGUiIT09c3x8IngiIT09bCYmInkiIT09bHx8KGw9Yy5faXNIb3Jpej8ieSI6IngiLG8uc2V0QXR0cmlidXRlKCJkYXRhLXZhbCIsbCkpLHVbc109bDtjLl9jYXJ0ZXNpYW5TcGlrZXNFbmFibGVkPWYsbi5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQsdSl9ZnVuY3Rpb24gaCh0LGUpe2Zvcih2YXIgcj1lLmN1cnJlbnRUYXJnZXQsYT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1hdHRyIiksaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS12YWwiKXx8ITAsbz10Ll9mdWxsTGF5b3V0Ll9zdWJwbG90cy5nbDNkfHxbXSxzPXt9LGw9YS5zcGxpdCgiLiIpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW29bY10rIi4iK2xbMV1dPWk7dmFyIHU9InBhbiI9PT1pP2k6Inpvb20iO3MuZHJhZ21vZGU9dSxuLmNhbGwoIl9ndWlSZWxheW91dCIsdCxzKX1mdW5jdGlvbiBmKHQsZSl7Zm9yKHZhciByPWUuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoImRhdGEtYXR0ciIpLGE9dC5fZnVsbExheW91dCxpPWEuX3N1YnBsb3RzLmdsM2R8fFtdLG89e30scz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgbCxjPWlbc10sdT1jKyIuY2FtZXJhIixoPWMrIi5hc3BlY3RyYXRpbyIsZj1hW2NdLl9zY2VuZTsicmVzZXRMYXN0U2F2ZSI9PT1yPyhvW3UrIi51cCJdPWYudmlld0luaXRpYWwudXAsb1t1KyIuZXllIl09Zi52aWV3SW5pdGlhbC5leWUsb1t1KyIuY2VudGVyIl09Zi52aWV3SW5pdGlhbC5jZW50ZXIsbD0hMCk6InJlc2V0RGVmYXVsdCI9PT1yJiYob1t1KyIudXAiXT1udWxsLG9bdSsiLmV5ZSJdPW51bGwsb1t1KyIuY2VudGVyIl09bnVsbCxsPSEwKSxsJiYob1toKyIueCJdPWYudmlld0luaXRpYWwuYXNwZWN0cmF0aW8ueCxvW2grIi55Il09Zi52aWV3SW5pdGlhbC5hc3BlY3RyYXRpby55LG9baCsiLnoiXT1mLnZpZXdJbml0aWFsLmFzcGVjdHJhdGlvLnopfW4uY2FsbCgiX2d1aVJlbGF5b3V0Iix0LG8pfWZ1bmN0aW9uIHAodCxlKXt2YXIgcj1lLmN1cnJlbnRUYXJnZXQsbj1yLl9wcmV2aW91c1ZhbCxhPXQuX2Z1bGxMYXlvdXQsaT1hLl9zdWJwbG90cy5nbDNkfHxbXSxvPVsieGF4aXMiLCJ5YXhpcyIsInpheGlzIl0scz17fSxsPXt9O2lmKG4pbD1uLHIuX3ByZXZpb3VzVmFsPW51bGw7ZWxzZXtmb3IodmFyIGM9MDtjPGkubGVuZ3RoO2MrKyl7dmFyIHU9aVtjXSxoPWFbdV0sZj11KyIuaG92ZXJtb2RlIjtzW2ZdPWguaG92ZXJtb2RlLGxbZl09ITE7Zm9yKHZhciBwPTA7cDwzO3ArKyl7dmFyIGQ9b1twXSxnPXUrIi4iK2QrIi5zaG93c3Bpa2VzIjtsW2ddPSExLHNbZ109aFtkXS5zaG93c3Bpa2VzfX1yLl9wcmV2aW91c1ZhbD1zfXJldHVybiBsfWZ1bmN0aW9uIGQodCxlKXtmb3IodmFyIHI9ZS5jdXJyZW50VGFyZ2V0LGE9ci5nZXRBdHRyaWJ1dGUoImRhdGEtYXR0ciIpLGk9ci5nZXRBdHRyaWJ1dGUoImRhdGEtdmFsIil8fCEwLG89dC5fZnVsbExheW91dCxzPW8uX3N1YnBsb3RzLmdlb3x8W10sbD0wO2w8cy5sZW5ndGg7bCsrKXt2YXIgYz1zW2xdLHU9b1tjXTtpZigiem9vbSI9PT1hKXt2YXIgaD11LnByb2plY3Rpb24uc2NhbGUsZj0iaW4iPT09aT8yKmg6LjUqaDtuLmNhbGwoIl9ndWlSZWxheW91dCIsdCxjKyIucHJvamVjdGlvbi5zY2FsZSIsZil9fSJyZXNldCI9PT1hJiZ5KHQsImdlbyIpfWZ1bmN0aW9uIGcodCl7dmFyIGU9dC5fZnVsbExheW91dDtyZXR1cm4hZS5ob3Zlcm1vZGUmJihlLl9oYXMoImNhcnRlc2lhbiIpP2UuX2lzSG9yaXo/InkiOiJ4IjoiY2xvc2VzdCIpfWZ1bmN0aW9uIHYodCl7dmFyIGU9Zyh0KTtuLmNhbGwoIl9ndWlSZWxheW91dCIsdCwiaG92ZXJtb2RlIixlKX1mdW5jdGlvbiBtKHQsZSl7Zm9yKHZhciByPWUuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoImRhdGEtdmFsIiksYT10Ll9mdWxsTGF5b3V0LGk9YS5fc3VicGxvdHMubWFwYm94fHxbXSxvPXt9LHM9MDtzPGkubGVuZ3RoO3MrKyl7dmFyIGw9aVtzXSxjPWFbbF0uem9vbSx1PSJpbiI9PT1yPzEuMDUqYzpjLzEuMDU7b1tsKyIuem9vbSJdPXV9bi5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQsbyl9ZnVuY3Rpb24geSh0LGUpe2Zvcih2YXIgcj10Ll9mdWxsTGF5b3V0LGE9ci5fc3VicGxvdHNbZV18fFtdLGk9e30sbz0wO288YS5sZW5ndGg7bysrKWZvcih2YXIgcz1hW29dLGw9cltzXS5fc3VicGxvdC52aWV3SW5pdGlhbCxjPU9iamVjdC5rZXlzKGwpLHU9MDt1PGMubGVuZ3RoO3UrKyl7dmFyIGg9Y1t1XTtpW3MrIi4iK2hdPWxbaF19bi5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQsaSl9Yy50b0ltYWdlPXtuYW1lOiJ0b0ltYWdlIix0aXRsZTpmdW5jdGlvbih0KXt2YXIgZT0odC5fY29udGV4dC50b0ltYWdlQnV0dG9uT3B0aW9uc3x8e30pLmZvcm1hdHx8InBuZyI7cmV0dXJuIGwodCwicG5nIj09PWU/IkRvd25sb2FkIHBsb3QgYXMgYSBwbmciOiJEb3dubG9hZCBwbG90Iil9LGljb246cy5jYW1lcmEsY2xpY2s6ZnVuY3Rpb24odCl7dmFyIGU9dC5fY29udGV4dC50b0ltYWdlQnV0dG9uT3B0aW9ucyxyPXtmb3JtYXQ6ZS5mb3JtYXR8fCJwbmcifTtvLm5vdGlmaWVyKGwodCwiVGFraW5nIHNuYXBzaG90IC0gdGhpcyBtYXkgdGFrZSBhIGZldyBzZWNvbmRzIiksImxvbmciKSwic3ZnIiE9PXIuZm9ybWF0JiZvLmlzSUUoKSYmKG8ubm90aWZpZXIobCh0LCJJRSBvbmx5IHN1cHBvcnRzIHN2Zy4gIENoYW5naW5nIGZvcm1hdCB0byBzdmcuIiksImxvbmciKSxyLmZvcm1hdD0ic3ZnIiksWyJmaWxlbmFtZSIsIndpZHRoIiwiaGVpZ2h0Iiwic2NhbGUiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QgaW4gZSYmKHJbdF09ZVt0XSl9KSxuLmNhbGwoImRvd25sb2FkSW1hZ2UiLHQscikudGhlbihmdW5jdGlvbihlKXtvLm5vdGlmaWVyKGwodCwiU25hcHNob3Qgc3VjY2VlZGVkIikrIiAtICIrZSwibG9uZyIpfSkuY2F0Y2goZnVuY3Rpb24oKXtvLm5vdGlmaWVyKGwodCwiU29ycnksIHRoZXJlIHdhcyBhIHByb2JsZW0gZG93bmxvYWRpbmcgeW91ciBzbmFwc2hvdCEiKSwibG9uZyIpfSl9fSxjLnNlbmREYXRhVG9DbG91ZD17bmFtZToic2VuZERhdGFUb0Nsb3VkIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJFZGl0IGluIENoYXJ0IFN0dWRpbyIpfSxpY29uOnMuZGlzayxjbGljazpmdW5jdGlvbih0KXthLnNlbmREYXRhVG9DbG91ZCh0KX19LGMuZWRpdEluQ2hhcnRTdHVkaW89e25hbWU6ImVkaXRJbkNoYXJ0U3R1ZGlvIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJFZGl0IGluIENoYXJ0IFN0dWRpbyIpfSxpY29uOnMucGVuY2lsLGNsaWNrOmZ1bmN0aW9uKHQpe2Euc2VuZERhdGFUb0Nsb3VkKHQpfX0sYy56b29tMmQ9e25hbWU6Inpvb20yZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiWm9vbSIpfSxhdHRyOiJkcmFnbW9kZSIsdmFsOiJ6b29tIixpY29uOnMuem9vbWJveCxjbGljazp1fSxjLnBhbjJkPXtuYW1lOiJwYW4yZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiUGFuIil9LGF0dHI6ImRyYWdtb2RlIix2YWw6InBhbiIsaWNvbjpzLnBhbixjbGljazp1fSxjLnNlbGVjdDJkPXtuYW1lOiJzZWxlY3QyZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiQm94IFNlbGVjdCIpfSxhdHRyOiJkcmFnbW9kZSIsdmFsOiJzZWxlY3QiLGljb246cy5zZWxlY3Rib3gsY2xpY2s6dX0sYy5sYXNzbzJkPXtuYW1lOiJsYXNzbzJkIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJMYXNzbyBTZWxlY3QiKX0sYXR0cjoiZHJhZ21vZGUiLHZhbDoibGFzc28iLGljb246cy5sYXNzbyxjbGljazp1fSxjLnpvb21JbjJkPXtuYW1lOiJ6b29tSW4yZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiWm9vbSBpbiIpfSxhdHRyOiJ6b29tIix2YWw6ImluIixpY29uOnMuem9vbV9wbHVzLGNsaWNrOnV9LGMuem9vbU91dDJkPXtuYW1lOiJ6b29tT3V0MmQiLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlpvb20gb3V0Iil9LGF0dHI6Inpvb20iLHZhbDoib3V0IixpY29uOnMuem9vbV9taW51cyxjbGljazp1fSxjLmF1dG9TY2FsZTJkPXtuYW1lOiJhdXRvU2NhbGUyZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiQXV0b3NjYWxlIil9LGF0dHI6Inpvb20iLHZhbDoiYXV0byIsaWNvbjpzLmF1dG9zY2FsZSxjbGljazp1fSxjLnJlc2V0U2NhbGUyZD17bmFtZToicmVzZXRTY2FsZTJkIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJSZXNldCBheGVzIil9LGF0dHI6Inpvb20iLHZhbDoicmVzZXQiLGljb246cy5ob21lLGNsaWNrOnV9LGMuaG92ZXJDbG9zZXN0Q2FydGVzaWFuPXtuYW1lOiJob3ZlckNsb3Nlc3RDYXJ0ZXNpYW4iLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlNob3cgY2xvc2VzdCBkYXRhIG9uIGhvdmVyIil9LGF0dHI6ImhvdmVybW9kZSIsdmFsOiJjbG9zZXN0IixpY29uOnMudG9vbHRpcF9iYXNpYyxncmF2aXR5OiJuZSIsY2xpY2s6dX0sYy5ob3ZlckNvbXBhcmVDYXJ0ZXNpYW49e25hbWU6ImhvdmVyQ29tcGFyZUNhcnRlc2lhbiIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiQ29tcGFyZSBkYXRhIG9uIGhvdmVyIil9LGF0dHI6ImhvdmVybW9kZSIsdmFsOmZ1bmN0aW9uKHQpe3JldHVybiB0Ll9mdWxsTGF5b3V0Ll9pc0hvcml6PyJ5IjoieCJ9LGljb246cy50b29sdGlwX2NvbXBhcmUsZ3Jhdml0eToibmUiLGNsaWNrOnV9LGMuem9vbTNkPXtuYW1lOiJ6b29tM2QiLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlpvb20iKX0sYXR0cjoic2NlbmUuZHJhZ21vZGUiLHZhbDoiem9vbSIsaWNvbjpzLnpvb21ib3gsY2xpY2s6aH0sYy5wYW4zZD17bmFtZToicGFuM2QiLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlBhbiIpfSxhdHRyOiJzY2VuZS5kcmFnbW9kZSIsdmFsOiJwYW4iLGljb246cy5wYW4sY2xpY2s6aH0sYy5vcmJpdFJvdGF0aW9uPXtuYW1lOiJvcmJpdFJvdGF0aW9uIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJPcmJpdGFsIHJvdGF0aW9uIil9LGF0dHI6InNjZW5lLmRyYWdtb2RlIix2YWw6Im9yYml0IixpY29uOnNbIjNkX3JvdGF0ZSJdLGNsaWNrOmh9LGMudGFibGVSb3RhdGlvbj17bmFtZToidGFibGVSb3RhdGlvbiIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiVHVybnRhYmxlIHJvdGF0aW9uIil9LGF0dHI6InNjZW5lLmRyYWdtb2RlIix2YWw6InR1cm50YWJsZSIsaWNvbjpzWyJ6LWF4aXMiXSxjbGljazpofSxjLnJlc2V0Q2FtZXJhRGVmYXVsdDNkPXtuYW1lOiJyZXNldENhbWVyYURlZmF1bHQzZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiUmVzZXQgY2FtZXJhIHRvIGRlZmF1bHQiKX0sYXR0cjoicmVzZXREZWZhdWx0IixpY29uOnMuaG9tZSxjbGljazpmfSxjLnJlc2V0Q2FtZXJhTGFzdFNhdmUzZD17bmFtZToicmVzZXRDYW1lcmFMYXN0U2F2ZTNkIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJSZXNldCBjYW1lcmEgdG8gbGFzdCBzYXZlIil9LGF0dHI6InJlc2V0TGFzdFNhdmUiLGljb246cy5tb3ZpZSxjbGljazpmfSxjLmhvdmVyQ2xvc2VzdDNkPXtuYW1lOiJob3ZlckNsb3Nlc3QzZCIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiVG9nZ2xlIHNob3cgY2xvc2VzdCBkYXRhIG9uIGhvdmVyIil9LGF0dHI6ImhvdmVybW9kZSIsdmFsOm51bGwsdG9nZ2xlOiEwLGljb246cy50b29sdGlwX2Jhc2ljLGdyYXZpdHk6Im5lIixjbGljazpmdW5jdGlvbih0LGUpe3ZhciByPXAodCxlKTtuLmNhbGwoIl9ndWlSZWxheW91dCIsdCxyKX19LGMuem9vbUluR2VvPXtuYW1lOiJ6b29tSW5HZW8iLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlpvb20gaW4iKX0sYXR0cjoiem9vbSIsdmFsOiJpbiIsaWNvbjpzLnpvb21fcGx1cyxjbGljazpkfSxjLnpvb21PdXRHZW89e25hbWU6Inpvb21PdXRHZW8iLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlpvb20gb3V0Iil9LGF0dHI6Inpvb20iLHZhbDoib3V0IixpY29uOnMuem9vbV9taW51cyxjbGljazpkfSxjLnJlc2V0R2VvPXtuYW1lOiJyZXNldEdlbyIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiUmVzZXQiKX0sYXR0cjoicmVzZXQiLHZhbDpudWxsLGljb246cy5hdXRvc2NhbGUsY2xpY2s6ZH0sYy5ob3ZlckNsb3Nlc3RHZW89e25hbWU6ImhvdmVyQ2xvc2VzdEdlbyIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiVG9nZ2xlIHNob3cgY2xvc2VzdCBkYXRhIG9uIGhvdmVyIil9LGF0dHI6ImhvdmVybW9kZSIsdmFsOm51bGwsdG9nZ2xlOiEwLGljb246cy50b29sdGlwX2Jhc2ljLGdyYXZpdHk6Im5lIixjbGljazp2fSxjLmhvdmVyQ2xvc2VzdEdsMmQ9e25hbWU6ImhvdmVyQ2xvc2VzdEdsMmQiLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlRvZ2dsZSBzaG93IGNsb3Nlc3QgZGF0YSBvbiBob3ZlciIpfSxhdHRyOiJob3Zlcm1vZGUiLHZhbDpudWxsLHRvZ2dsZTohMCxpY29uOnMudG9vbHRpcF9iYXNpYyxncmF2aXR5OiJuZSIsY2xpY2s6dn0sYy5ob3ZlckNsb3Nlc3RQaWU9e25hbWU6ImhvdmVyQ2xvc2VzdFBpZSIsdGl0bGU6ZnVuY3Rpb24odCl7cmV0dXJuIGwodCwiVG9nZ2xlIHNob3cgY2xvc2VzdCBkYXRhIG9uIGhvdmVyIil9LGF0dHI6ImhvdmVybW9kZSIsdmFsOiJjbG9zZXN0IixpY29uOnMudG9vbHRpcF9iYXNpYyxncmF2aXR5OiJuZSIsY2xpY2s6dn0sYy5yZXNldFZpZXdTYW5rZXk9e25hbWU6InJlc2V0U2Fua2V5R3JvdXAiLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlJlc2V0IHZpZXciKX0saWNvbjpzLmhvbWUsY2xpY2s6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXsibm9kZS5ncm91cHMiOltdLCJub2RlLngiOltdLCJub2RlLnkiOltdfSxyPTA7cjx0Ll9mdWxsRGF0YS5sZW5ndGg7cisrKXt2YXIgYT10Ll9mdWxsRGF0YVtyXS5fdmlld0luaXRpYWw7ZVsibm9kZS5ncm91cHMiXS5wdXNoKGEubm9kZS5ncm91cHMuc2xpY2UoKSksZVsibm9kZS54Il0ucHVzaChhLm5vZGUueC5zbGljZSgpKSxlWyJub2RlLnkiXS5wdXNoKGEubm9kZS55LnNsaWNlKCkpfW4uY2FsbCgicmVzdHlsZSIsdCxlKX19LGMudG9nZ2xlSG92ZXI9e25hbWU6InRvZ2dsZUhvdmVyIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJUb2dnbGUgc2hvdyBjbG9zZXN0IGRhdGEgb24gaG92ZXIiKX0sYXR0cjoiaG92ZXJtb2RlIix2YWw6bnVsbCx0b2dnbGU6ITAsaWNvbjpzLnRvb2x0aXBfYmFzaWMsZ3Jhdml0eToibmUiLGNsaWNrOmZ1bmN0aW9uKHQsZSl7dmFyIHI9cCh0LGUpO3IuaG92ZXJtb2RlPWcodCksbi5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQscil9fSxjLnJlc2V0Vmlld3M9e25hbWU6InJlc2V0Vmlld3MiLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlJlc2V0IHZpZXdzIil9LGljb246cy5ob21lLGNsaWNrOmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5jdXJyZW50VGFyZ2V0O3Iuc2V0QXR0cmlidXRlKCJkYXRhLWF0dHIiLCJ6b29tIiksci5zZXRBdHRyaWJ1dGUoImRhdGEtdmFsIiwicmVzZXQiKSx1KHQsZSksci5zZXRBdHRyaWJ1dGUoImRhdGEtYXR0ciIsInJlc2V0TGFzdFNhdmUiKSxmKHQsZSkseSh0LCJnZW8iKSx5KHQsIm1hcGJveCIpfX0sYy50b2dnbGVTcGlrZWxpbmVzPXtuYW1lOiJ0b2dnbGVTcGlrZWxpbmVzIix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJUb2dnbGUgU3Bpa2UgTGluZXMiKX0saWNvbjpzLnNwaWtlbGluZSxhdHRyOiJfY2FydGVzaWFuU3Bpa2VzRW5hYmxlZCIsdmFsOiJvbiIsY2xpY2s6ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dCxyPWUuX2NhcnRlc2lhblNwaWtlc0VuYWJsZWQ7ZS5fY2FydGVzaWFuU3Bpa2VzRW5hYmxlZD0ib24iPT09cj8ib2ZmIjoib24iLG4uY2FsbCgiX2d1aVJlbGF5b3V0Iix0LGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0ib24iPT09dC5fZnVsbExheW91dC5fY2FydGVzaWFuU3Bpa2VzRW5hYmxlZCxyPWkubGlzdCh0LG51bGwsITApLG49e30sYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgbz1yW2FdO25bby5fbmFtZSsiLnNob3dzcGlrZXMiXT0hIWV8fG8uX3Nob3dTcGlrZUluaXRpYWx9cmV0dXJuIG59KHQpKX19LGMucmVzZXRWaWV3TWFwYm94PXtuYW1lOiJyZXNldFZpZXdNYXBib3giLHRpdGxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHQsIlJlc2V0IHZpZXciKX0sYXR0cjoicmVzZXQiLGljb246cy5ob21lLGNsaWNrOmZ1bmN0aW9uKHQpe3kodCwibWFwYm94Iil9fSxjLnpvb21Jbk1hcGJveD17bmFtZToiem9vbUluTWFwYm94Iix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJab29tIGluIil9LGF0dHI6Inpvb20iLHZhbDoiaW4iLGljb246cy56b29tX3BsdXMsY2xpY2s6bX0sYy56b29tT3V0TWFwYm94PXtuYW1lOiJ6b29tT3V0TWFwYm94Iix0aXRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbCh0LCJab29tIG91dCIpfSxhdHRyOiJ6b29tIix2YWw6Im91dCIsaWNvbjpzLnpvb21fbWludXMsY2xpY2s6bX19LHsiLi4vLi4vZm9udHMvcGxvdGljb24iOjY5NywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyI6NzY4LCIuLi8uLi9wbG90cy9wbG90cyI6ODI2LCIuLi8uLi9yZWdpc3RyeSI6ODQ2fV0sNjUwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IubWFuYWdlPXQoIi4vbWFuYWdlIil9LHsiLi9tYW5hZ2UiOjY1MX1dLDY1MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKSxhPXQoIi4uLy4uL3RyYWNlcy9zY2F0dGVyL3N1YnR5cGVzIiksaT10KCIuLi8uLi9yZWdpc3RyeSIpLG89dCgiLi9tb2RlYmFyIikscz10KCIuL2J1dHRvbnMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dCxyPXQuX2NvbnRleHQsbD1lLl9tb2RlQmFyO2lmKHIuZGlzcGxheU1vZGVCYXJ8fHIud2F0ZXJtYXJrKXtpZighQXJyYXkuaXNBcnJheShyLm1vZGVCYXJCdXR0b25zVG9SZW1vdmUpKXRocm93IG5ldyBFcnJvcihbIiptb2RlQmFyQnV0dG9uc1RvUmVtb3ZlKiBjb25maWd1cmF0aW9uIG9wdGlvbnMiLCJtdXN0IGJlIGFuIGFycmF5LiJdLmpvaW4oIiAiKSk7aWYoIUFycmF5LmlzQXJyYXkoci5tb2RlQmFyQnV0dG9uc1RvQWRkKSl0aHJvdyBuZXcgRXJyb3IoWyIqbW9kZUJhckJ1dHRvbnNUb0FkZCogY29uZmlndXJhdGlvbiBvcHRpb25zIiwibXVzdCBiZSBhbiBhcnJheS4iXS5qb2luKCIgIikpO3ZhciBjLHU9ci5tb2RlQmFyQnV0dG9ucztjPUFycmF5LmlzQXJyYXkodSkmJnUubGVuZ3RoP2Z1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWZvcih2YXIgcj10W2VdLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9cltuXTtpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKHZvaWQgMD09PXNbYV0pdGhyb3cgbmV3IEVycm9yKFsiKm1vZGVCYXJCdXR0b25zKiBjb25maWd1cmF0aW9uIG9wdGlvbnMiLCJpbnZhbGlkIGJ1dHRvbiBuYW1lIl0uam9pbigiICIpKTt0W2VdW25dPXNbYV19fXJldHVybiB0fSh1KTohci5kaXNwbGF5TW9kZUJhciYmci53YXRlcm1hcms/W106ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dCxyPXQuX2Z1bGxEYXRhLG89dC5fY29udGV4dCxsPW8ubW9kZUJhckJ1dHRvbnNUb1JlbW92ZSxjPW8ubW9kZUJhckJ1dHRvbnNUb0FkZCx1PWUuX2hhcygiY2FydGVzaWFuIiksaD1lLl9oYXMoImdsM2QiKSxmPWUuX2hhcygiZ2VvIikscD1lLl9oYXMoInBpZSIpLGQ9ZS5faGFzKCJmdW5uZWxhcmVhIiksZz1lLl9oYXMoImdsMmQiKSx2PWUuX2hhcygidGVybmFyeSIpLG09ZS5faGFzKCJtYXBib3giKSx5PWUuX2hhcygicG9sYXIiKSx4PWUuX2hhcygic2Fua2V5IiksYj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bi5saXN0KHtfZnVsbExheW91dDp0fSxudWxsLCEwKSxyPTA7cjxlLmxlbmd0aDtyKyspaWYoIWVbcl0uZml4ZWRyYW5nZSlyZXR1cm4hMTtyZXR1cm4hMH0oZSksXz1bXTtmdW5jdGlvbiB3KHQpe2lmKHQubGVuZ3RoKXtmb3IodmFyIGU9W10scj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10W3JdOy0xPT09bC5pbmRleE9mKG4pJiZlLnB1c2goc1tuXSl9Xy5wdXNoKGUpfX12YXIgaz1bInRvSW1hZ2UiXTtvLnNob3dFZGl0SW5DaGFydFN0dWRpbz9rLnB1c2goImVkaXRJbkNoYXJ0U3R1ZGlvIik6by5zaG93U2VuZFRvQ2xvdWQmJmsucHVzaCgic2VuZERhdGFUb0Nsb3VkIik7dyhrKTt2YXIgVD1bXSxNPVtdLEE9W10sUz1bXTsodXx8Z3x8cHx8ZHx8dikrZitoK20reT4xPyhNPVsidG9nZ2xlSG92ZXIiXSxBPVsicmVzZXRWaWV3cyJdKTpmPyhUPVsiem9vbUluR2VvIiwiem9vbU91dEdlbyJdLE09WyJob3ZlckNsb3Nlc3RHZW8iXSxBPVsicmVzZXRHZW8iXSk6aD8oTT1bImhvdmVyQ2xvc2VzdDNkIl0sQT1bInJlc2V0Q2FtZXJhRGVmYXVsdDNkIiwicmVzZXRDYW1lcmFMYXN0U2F2ZTNkIl0pOm0/KFQ9WyJ6b29tSW5NYXBib3giLCJ6b29tT3V0TWFwYm94Il0sTT1bInRvZ2dsZUhvdmVyIl0sQT1bInJlc2V0Vmlld01hcGJveCJdKTpnP009WyJob3ZlckNsb3Nlc3RHbDJkIl06cD9NPVsiaG92ZXJDbG9zZXN0UGllIl06eD8oTT1bImhvdmVyQ2xvc2VzdENhcnRlc2lhbiIsImhvdmVyQ29tcGFyZUNhcnRlc2lhbiJdLEE9WyJyZXNldFZpZXdTYW5rZXkiXSk6TT1bInRvZ2dsZUhvdmVyIl07dSYmKE09WyJ0b2dnbGVTcGlrZWxpbmVzIiwiaG92ZXJDbG9zZXN0Q2FydGVzaWFuIiwiaG92ZXJDb21wYXJlQ2FydGVzaWFuIl0pOyhmdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZighaS50cmFjZUlzKHRbZV0sIm5vSG92ZXIiKSlyZXR1cm4hMTtyZXR1cm4hMH0pKHIpJiYoTT1bXSk7IXUmJiFnfHxifHwoVD1bInpvb21JbjJkIiwiem9vbU91dDJkIiwiYXV0b1NjYWxlMmQiXSwicmVzZXRWaWV3cyIhPT1BWzBdJiYoQT1bInJlc2V0U2NhbGUyZCJdKSk7aD9TPVsiem9vbTNkIiwicGFuM2QiLCJvcmJpdFJvdGF0aW9uIiwidGFibGVSb3RhdGlvbiJdOih1fHxnKSYmIWJ8fHY/Uz1bInpvb20yZCIsInBhbjJkIl06bXx8Zj9TPVsicGFuMmQiXTp5JiYoUz1bInpvb20yZCJdKTsoZnVuY3Rpb24odCl7Zm9yKHZhciBlPSExLHI9MDtyPHQubGVuZ3RoJiYhZTtyKyspe3ZhciBuPXRbcl07bi5fbW9kdWxlJiZuLl9tb2R1bGUuc2VsZWN0UG9pbnRzJiYoaS50cmFjZUlzKG4sInNjYXR0ZXItbGlrZSIpPyhhLmhhc01hcmtlcnMobil8fGEuaGFzVGV4dChuKSkmJihlPSEwKTppLnRyYWNlSXMobiwiYm94LXZpb2xpbiIpJiYiYWxsIiE9PW4uYm94cG9pbnRzJiYiYWxsIiE9PW4ucG9pbnRzfHwoZT0hMCkpfXJldHVybiBlfSkocikmJlMucHVzaCgic2VsZWN0MmQiLCJsYXNzbzJkIik7cmV0dXJuIHcoUyksdyhULmNvbmNhdChBKSksdyhNKSxmdW5jdGlvbih0LGUpe2lmKGUubGVuZ3RoKWlmKEFycmF5LmlzQXJyYXkoZVswXSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdC5wdXNoKGVbcl0pO2Vsc2UgdC5wdXNoKGUpO3JldHVybiB0fShfLGMpfSh0KSxsP2wudXBkYXRlKHQsYyk6ZS5fbW9kZUJhcj1vKHQsYyl9ZWxzZSBsJiYobC5kZXN0cm95KCksZGVsZXRlIGUuX21vZGVCYXIpfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiOjc2OCwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vLi4vdHJhY2VzL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4vYnV0dG9ucyI6NjQ5LCIuL21vZGViYXIiOjY1Mn1dLDY1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vLi4vZm9udHMvcGxvdGljb24iKSxzPW5ldyBET01QYXJzZXI7ZnVuY3Rpb24gbCh0KXt0aGlzLmNvbnRhaW5lcj10LmNvbnRhaW5lcix0aGlzLmVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy51cGRhdGUodC5ncmFwaEluZm8sdC5idXR0b25zKSx0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpfXZhciBjPWwucHJvdG90eXBlO2MudXBkYXRlPWZ1bmN0aW9uKHQsZSl7dGhpcy5ncmFwaEluZm89dDt2YXIgcj10aGlzLmdyYXBoSW5mby5fY29udGV4dCxuPXRoaXMuZ3JhcGhJbmZvLl9mdWxsTGF5b3V0LGE9Im1vZGViYXItIituLl91aWQ7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQiLGEpLHRoaXMuX3VpZD1hLHRoaXMuZWxlbWVudC5jbGFzc05hbWU9Im1vZGViYXIiLCJob3ZlciI9PT1yLmRpc3BsYXlNb2RlQmFyJiYodGhpcy5lbGVtZW50LmNsYXNzTmFtZSs9IiBtb2RlYmFyLS1ob3ZlciBlYXNlLWJnIiksInYiPT09bi5tb2RlYmFyLm9yaWVudGF0aW9uJiYodGhpcy5lbGVtZW50LmNsYXNzTmFtZSs9IiB2ZXJ0aWNhbCIsZT1lLnJldmVyc2UoKSk7dmFyIG89bi5tb2RlYmFyLHM9ImhvdmVyIj09PXIuZGlzcGxheU1vZGVCYXI/Ii5qcy1wbG90bHktcGxvdCAucGxvdGx5OmhvdmVyICI6IiI7aS5kZWxldGVSZWxhdGVkU3R5bGVSdWxlKGEpLGkuYWRkUmVsYXRlZFN0eWxlUnVsZShhLHMrIiMiK2ErIiAubW9kZWJhci1ncm91cCIsImJhY2tncm91bmQtY29sb3I6ICIrby5iZ2NvbG9yKSxpLmFkZFJlbGF0ZWRTdHlsZVJ1bGUoYSwiIyIrYSsiIC5tb2RlYmFyLWJ0biAuaWNvbiBwYXRoIiwiZmlsbDogIitvLmNvbG9yKSxpLmFkZFJlbGF0ZWRTdHlsZVJ1bGUoYSwiIyIrYSsiIC5tb2RlYmFyLWJ0bjpob3ZlciAuaWNvbiBwYXRoIiwiZmlsbDogIitvLmFjdGl2ZWNvbG9yKSxpLmFkZFJlbGF0ZWRTdHlsZVJ1bGUoYSwiIyIrYSsiIC5tb2RlYmFyLWJ0bi5hY3RpdmUgLmljb24gcGF0aCIsImZpbGw6ICIrby5hY3RpdmVjb2xvcik7dmFyIGw9IXRoaXMuaGFzQnV0dG9ucyhlKSxjPXRoaXMuaGFzTG9nbyE9PXIuZGlzcGxheWxvZ28sdT10aGlzLmxvY2FsZSE9PXIubG9jYWxlO2lmKHRoaXMubG9jYWxlPXIubG9jYWxlLChsfHxjfHx1KSYmKHRoaXMucmVtb3ZlQWxsQnV0dG9ucygpLHRoaXMudXBkYXRlQnV0dG9ucyhlKSxyLndhdGVybWFya3x8ci5kaXNwbGF5bG9nbykpe3ZhciBoPXRoaXMuZ2V0TG9nbygpO3Iud2F0ZXJtYXJrJiYoaC5jbGFzc05hbWU9aC5jbGFzc05hbWUrIiB3YXRlcm1hcmsiKSwidiI9PT1uLm1vZGViYXIub3JpZW50YXRpb24/dGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZShoLHRoaXMuZWxlbWVudC5jaGlsZE5vZGVzWzBdKTp0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoaCksdGhpcy5oYXNMb2dvPSEwfXRoaXMudXBkYXRlQWN0aXZlQnV0dG9uKCl9LGMudXBkYXRlQnV0dG9ucz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuYnV0dG9ucz10LHRoaXMuYnV0dG9uRWxlbWVudHM9W10sdGhpcy5idXR0b25zTmFtZXM9W10sdGhpcy5idXR0b25zLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHI9ZS5jcmVhdGVHcm91cCgpO3QuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj10Lm5hbWU7aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJtdXN0IHByb3ZpZGUgYnV0dG9uICduYW1lJyBpbiBidXR0b24gY29uZmlnIik7aWYoLTEhPT1lLmJ1dHRvbnNOYW1lcy5pbmRleE9mKG4pKXRocm93IG5ldyBFcnJvcigiYnV0dG9uIG5hbWUgJyIrbisiJyBpcyB0YWtlbiIpO2UuYnV0dG9uc05hbWVzLnB1c2gobik7dmFyIGE9ZS5jcmVhdGVCdXR0b24odCk7ZS5idXR0b25FbGVtZW50cy5wdXNoKGEpLHIuYXBwZW5kQ2hpbGQoYSl9KSxlLmVsZW1lbnQuYXBwZW5kQ2hpbGQocil9KX0sYy5jcmVhdGVHcm91cD1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LmNsYXNzTmFtZT0ibW9kZWJhci1ncm91cCIsdH0sYy5jcmVhdGVCdXR0b249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtyLnNldEF0dHJpYnV0ZSgicmVsIiwidG9vbHRpcCIpLHIuY2xhc3NOYW1lPSJtb2RlYmFyLWJ0biI7dmFyIGE9dC50aXRsZTt2b2lkIDA9PT1hP2E9dC5uYW1lOiJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoYT1hKHRoaXMuZ3JhcGhJbmZvKSksKGF8fDA9PT1hKSYmci5zZXRBdHRyaWJ1dGUoImRhdGEtdGl0bGUiLGEpLHZvaWQgMCE9PXQuYXR0ciYmci5zZXRBdHRyaWJ1dGUoImRhdGEtYXR0ciIsdC5hdHRyKTt2YXIgaT10LnZhbDtpZih2b2lkIDAhPT1pJiYoImZ1bmN0aW9uIj09dHlwZW9mIGkmJihpPWkodGhpcy5ncmFwaEluZm8pKSxyLnNldEF0dHJpYnV0ZSgiZGF0YS12YWwiLGkpKSwiZnVuY3Rpb24iIT10eXBlb2YgdC5jbGljayl0aHJvdyBuZXcgRXJyb3IoIm11c3QgcHJvdmlkZSBidXR0b24gJ2NsaWNrJyBmdW5jdGlvbiBpbiBidXR0b24gY29uZmlnIik7ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24ocil7dC5jbGljayhlLmdyYXBoSW5mbyxyKSxlLnVwZGF0ZUFjdGl2ZUJ1dHRvbihyLmN1cnJlbnRUYXJnZXQpfSksci5zZXRBdHRyaWJ1dGUoImRhdGEtdG9nZ2xlIix0LnRvZ2dsZXx8ITEpLHQudG9nZ2xlJiZuLnNlbGVjdChyKS5jbGFzc2VkKCJhY3RpdmUiLCEwKTt2YXIgcz10Lmljb247cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHM/ci5hcHBlbmRDaGlsZChzKCkpOnIuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVJY29uKHN8fG8ucXVlc3Rpb24pKSxyLnNldEF0dHJpYnV0ZSgiZGF0YS1ncmF2aXR5Iix0LmdyYXZpdHl8fCJuIikscn0sYy5jcmVhdGVJY29uPWZ1bmN0aW9uKHQpe3ZhciBlLHI9YSh0LmhlaWdodCk/TnVtYmVyKHQuaGVpZ2h0KTp0LmFzY2VudC10LmRlc2NlbnQsbj0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciO2lmKHQucGF0aCl7KGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG4sInN2ZyIpKS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLFswLDAsdC53aWR0aCxyXS5qb2luKCIgIikpLGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsImljb24iKTt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobiwicGF0aCIpO2kuc2V0QXR0cmlidXRlKCJkIix0LnBhdGgpLHQudHJhbnNmb3JtP2kuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLHQudHJhbnNmb3JtKTp2b2lkIDAhPT10LmFzY2VudCYmaS5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsIm1hdHJpeCgxIDAgMCAtMSAwICIrdC5hc2NlbnQrIikiKSxlLmFwcGVuZENoaWxkKGkpfXQuc3ZnJiYoZT1zLnBhcnNlRnJvbVN0cmluZyh0LnN2ZywiYXBwbGljYXRpb24veG1sIikuY2hpbGROb2Rlc1swXSk7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCIxZW0iKSxlLnNldEF0dHJpYnV0ZSgid2lkdGgiLCIxZW0iKSxlfSxjLnVwZGF0ZUFjdGl2ZUJ1dHRvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdyYXBoSW5mby5fZnVsbExheW91dCxyPXZvaWQgMCE9PXQ/dC5nZXRBdHRyaWJ1dGUoImRhdGEtYXR0ciIpOm51bGw7dGhpcy5idXR0b25FbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBhPXQuZ2V0QXR0cmlidXRlKCJkYXRhLXZhbCIpfHwhMCxvPXQuZ2V0QXR0cmlidXRlKCJkYXRhLWF0dHIiKSxzPSJ0cnVlIj09PXQuZ2V0QXR0cmlidXRlKCJkYXRhLXRvZ2dsZSIpLGw9bi5zZWxlY3QodCk7aWYocylvPT09ciYmbC5jbGFzc2VkKCJhY3RpdmUiLCFsLmNsYXNzZWQoImFjdGl2ZSIpKTtlbHNle3ZhciBjPW51bGw9PT1vP286aS5uZXN0ZWRQcm9wZXJ0eShlLG8pLmdldCgpO2wuY2xhc3NlZCgiYWN0aXZlIixjPT09YSl9fSl9LGMuaGFzQnV0dG9ucz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmJ1dHRvbnM7aWYoIWUpcmV0dXJuITE7aWYodC5sZW5ndGghPT1lLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoOysrcil7aWYodFtyXS5sZW5ndGghPT1lW3JdLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHRbcl0ubGVuZ3RoO24rKylpZih0W3JdW25dLm5hbWUhPT1lW3JdW25dLm5hbWUpcmV0dXJuITF9cmV0dXJuITB9LGMuZ2V0TG9nbz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY3JlYXRlR3JvdXAoKSxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtyZXR1cm4gZS5ocmVmPSJodHRwczovL3Bsb3QubHkvIixlLnRhcmdldD0iX2JsYW5rIixlLnNldEF0dHJpYnV0ZSgiZGF0YS10aXRsZSIsaS5fKHRoaXMuZ3JhcGhJbmZvLCJQcm9kdWNlZCB3aXRoIFBsb3RseSIpKSxlLmNsYXNzTmFtZT0ibW9kZWJhci1idG4gcGxvdGx5anNpY29uIG1vZGViYXItYnRuLS1sb2dvIixlLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlSWNvbihvLm5ld3Bsb3RseWxvZ28pKSx0LmFwcGVuZENoaWxkKGUpLHR9LGMucmVtb3ZlQWxsQnV0dG9ucz1mdW5jdGlvbigpe2Zvcig7dGhpcy5lbGVtZW50LmZpcnN0Q2hpbGQ7KXRoaXMuZWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQuZmlyc3RDaGlsZCk7dGhpcy5oYXNMb2dvPSExfSxjLmRlc3Ryb3k9ZnVuY3Rpb24oKXtpLnJlbW92ZUVsZW1lbnQodGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiLm1vZGViYXIiKSksaS5kZWxldGVSZWxhdGVkU3R5bGVSdWxlKHRoaXMuX3VpZCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuX2Z1bGxMYXlvdXQsYT1uZXcgbCh7Z3JhcGhJbmZvOnQsY29udGFpbmVyOnIuX21vZGViYXJkaXYubm9kZSgpLGJ1dHRvbnM6ZX0pO3JldHVybiByLl9wcml2YXRlcGxvdCYmbi5zZWxlY3QoYS5lbGVtZW50KS5hcHBlbmQoInNwYW4iKS5jbGFzc2VkKCJiYWRnZS1wcml2YXRlIGZsb2F0LS1sZWZ0IiwhMCkudGV4dCgiUFJJVkFURSIpLGF9fSx7Ii4uLy4uL2ZvbnRzL3Bsb3RpY29uIjo2OTcsIi4uLy4uL2xpYiI6NzE3LGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDY1MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiKSxhPXQoIi4uL2NvbG9yL2F0dHJpYnV0ZXMiKSxpPSgwLHQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKS50ZW1wbGF0ZWRBcnJheSkoImJ1dHRvbiIse3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6InBsb3QifSxzdGVwOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJtb250aCIsInllYXIiLCJkYXkiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwiYWxsIl0sZGZsdDoibW9udGgiLGVkaXRUeXBlOiJwbG90In0sc3RlcG1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImJhY2t3YXJkIiwidG9kYXRlIl0sZGZsdDoiYmFja3dhcmQiLGVkaXRUeXBlOiJwbG90In0sY291bnQ6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxLGVkaXRUeXBlOiJwbG90In0sbGFiZWw6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9KTtlLmV4cG9ydHM9e3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJwbG90In0sYnV0dG9uczppLHg6e3ZhbFR5cGU6Im51bWJlciIsbWluOi0yLG1heDozLGVkaXRUeXBlOiJwbG90In0seGFuY2hvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYXV0byIsImxlZnQiLCJjZW50ZXIiLCJyaWdodCJdLGRmbHQ6ImxlZnQiLGVkaXRUeXBlOiJwbG90In0seTp7dmFsVHlwZToibnVtYmVyIixtaW46LTIsbWF4OjMsZWRpdFR5cGU6InBsb3QifSx5YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhdXRvIiwidG9wIiwibWlkZGxlIiwiYm90dG9tIl0sZGZsdDoiYm90dG9tIixlZGl0VHlwZToicGxvdCJ9LGZvbnQ6bih7ZWRpdFR5cGU6InBsb3QifSksYmdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6YS5saWdodExpbmUsZWRpdFR5cGU6InBsb3QifSxhY3RpdmVjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJwbG90In0sYm9yZGVyY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmEuZGVmYXVsdExpbmUsZWRpdFR5cGU6InBsb3QifSxib3JkZXJ3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9fSx7Ii4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTEsIi4uL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MX1dLDY1NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e3lQYWQ6LjAyLG1pbkJ1dHRvbldpZHRoOjMwLHJ4OjMscnk6MyxsaWdodEFtb3VudDoyNSxkYXJrQW1vdW50OjEwfX0se31dLDY1NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uL2NvbG9yIiksaT10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIiksbz10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxzPXQoIi4vYXR0cmlidXRlcyIpLGw9dCgiLi9jb25zdGFudHMiKTtmdW5jdGlvbiBjKHQsZSxyLGEpe3ZhciBpPWEuY2FsZW5kYXI7ZnVuY3Rpb24gbyhyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUscy5idXR0b25zLHIsYSl9aWYobygidmlzaWJsZSIpKXt2YXIgbD1vKCJzdGVwIik7ImFsbCIhPT1sJiYoIWl8fCJncmVnb3JpYW4iPT09aXx8Im1vbnRoIiE9PWwmJiJ5ZWFyIiE9PWw/bygic3RlcG1vZGUiKTplLnN0ZXBtb2RlPSJiYWNrd2FyZCIsbygiY291bnQiKSksbygibGFiZWwiKX19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHUsaCl7dmFyIGY9dC5yYW5nZXNlbGVjdG9yfHx7fSxwPWkubmV3Q29udGFpbmVyKGUsInJhbmdlc2VsZWN0b3IiKTtmdW5jdGlvbiBkKHQsZSl7cmV0dXJuIG4uY29lcmNlKGYscCxzLHQsZSl9aWYoZCgidmlzaWJsZSIsbyhmLHAse25hbWU6ImJ1dHRvbnMiLGhhbmRsZUl0ZW1EZWZhdWx0czpjLGNhbGVuZGFyOmh9KS5sZW5ndGg+MCkpe3ZhciBnPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49ci5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIGVbcl0uYW5jaG9yPT09dC5faWR9KSxhPTAsaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbz1lW25baV1dLmRvbWFpbjtvJiYoYT1NYXRoLm1heChvWzFdLGEpKX1yZXR1cm5bdC5kb21haW5bMF0sYStsLnlQYWRdfShlLHIsdSk7ZCgieCIsZ1swXSksZCgieSIsZ1sxXSksbi5ub25lT3JBbGwodCxlLFsieCIsInkiXSksZCgieGFuY2hvciIpLGQoInlhbmNob3IiKSxuLmNvZXJjZUZvbnQoZCwiZm9udCIsci5mb250KTt2YXIgdj1kKCJiZ2NvbG9yIik7ZCgiYWN0aXZlY29sb3IiLGEuY29udHJhc3QodixsLmxpZ2h0QW1vdW50LGwuZGFya0Ftb3VudCkpLGQoImJvcmRlcmNvbG9yIiksZCgiYm9yZGVyd2lkdGgiKX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uLy4uL3Bsb3RzL2FycmF5X2NvbnRhaW5lcl9kZWZhdWx0cyI6NzYxLCIuLi9jb2xvciI6NTkyLCIuL2F0dHJpYnV0ZXMiOjY1MywiLi9jb25zdGFudHMiOjY1NH1dLDY1NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKSxpPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIiksbz10KCIuLi9jb2xvciIpLHM9dCgiLi4vZHJhd2luZyIpLGw9dCgiLi4vLi4vbGliIiksYz10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSx1PXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyIpLGg9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLGY9aC5MSU5FX1NQQUNJTkcscD1oLkZST01fVEwsZD1oLkZST01fQlIsZz10KCIuL2NvbnN0YW50cyIpLHY9dCgiLi9nZXRfdXBkYXRlX29iamVjdCIpO2Z1bmN0aW9uIG0odCl7cmV0dXJuIHQuX2lkfWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPWwuZW5zdXJlU2luZ2xlKHQsInJlY3QiLCJzZWxlY3Rvci1yZWN0IixmdW5jdGlvbih0KXt0LmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKX0pO24uYXR0cih7cng6Zy5yeCxyeTpnLnJ5fSksbi5jYWxsKG8uc3Ryb2tlLGUuYm9yZGVyY29sb3IpLmNhbGwoby5maWxsLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuX2lzQWN0aXZlfHxlLl9pc0hvdmVyZWQ/dC5hY3RpdmVjb2xvcjp0LmJnY29sb3J9KGUscikpLnN0eWxlKCJzdHJva2Utd2lkdGgiLGUuYm9yZGVyd2lkdGgrInB4Iil9ZnVuY3Rpb24geCh0LGUscixuKXtsLmVuc3VyZVNpbmdsZSh0LCJ0ZXh0Iiwic2VsZWN0b3ItdGV4dCIsZnVuY3Rpb24odCl7dC5jbGFzc2VkKCJ1c2VyLXNlbGVjdC1ub25lIiwhMCkuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKX0pLmNhbGwocy5mb250LGUuZm9udCkudGV4dChmdW5jdGlvbih0LGUpe2lmKHQubGFiZWwpcmV0dXJuIGU/bC50ZW1wbGF0ZVN0cmluZyh0LmxhYmVsLGUpOnQubGFiZWw7cmV0dXJuImFsbCI9PT10LnN0ZXA/ImFsbCI6dC5jb3VudCt0LnN0ZXAuY2hhckF0KDApfShyLG4uX2Z1bGxMYXlvdXQuX21ldGEpKS5jYWxsKGZ1bmN0aW9uKHQpe2MuY29udmVydFRvVHNwYW5zKHQsbil9KX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dC5faW5mb2xheWVyLnNlbGVjdEFsbCgiLnJhbmdlc2VsZWN0b3IiKS5kYXRhKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT11Lmxpc3QodCwieCIsITApLHI9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgYT1lW25dO2EucmFuZ2VzZWxlY3RvciYmYS5yYW5nZXNlbGVjdG9yLnZpc2libGUmJnIucHVzaChhKX1yZXR1cm4gcn0odCksbSk7ZS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInJhbmdlc2VsZWN0b3IiLCEwKSxlLmV4aXQoKS5yZW1vdmUoKSxlLnN0eWxlKHtjdXJzb3I6InBvaW50ZXIiLCJwb2ludGVyLWV2ZW50cyI6ImFsbCJ9KSxlLmVhY2goZnVuY3Rpb24oZSl7dmFyIHI9bi5zZWxlY3QodGhpcyksbz1lLHU9by5yYW5nZXNlbGVjdG9yLGg9ci5zZWxlY3RBbGwoImcuYnV0dG9uIikuZGF0YShsLmZpbHRlclZpc2libGUodS5idXR0b25zKSk7aC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJ1dHRvbiIsITApLGguZXhpdCgpLnJlbW92ZSgpLGguZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxpPXYobyxlKTtlLl9pc0FjdGl2ZT1mdW5jdGlvbih0LGUscil7aWYoImFsbCI9PT1lLnN0ZXApcmV0dXJuITA9PT10LmF1dG9yYW5nZTt2YXIgbj1PYmplY3Qua2V5cyhyKTtyZXR1cm4gdC5yYW5nZVswXT09PXJbblswXV0mJnQucmFuZ2VbMV09PT1yW25bMV1dfShvLGUsaSksci5jYWxsKHksdSxlKSxyLmNhbGwoeCx1LGUsdCksci5vbigiY2xpY2siLGZ1bmN0aW9uKCl7dC5fZHJhZ2dlZHx8YS5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQsaSl9KSxyLm9uKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7ZS5faXNIb3ZlcmVkPSEwLHIuY2FsbCh5LHUsZSl9KSxyLm9uKCJtb3VzZW91dCIsZnVuY3Rpb24oKXtlLl9pc0hvdmVyZWQ9ITEsci5jYWxsKHksdSxlKX0pfSksZnVuY3Rpb24odCxlLHIsYSxvKXt2YXIgdT0wLGg9MCx2PXIuYm9yZGVyd2lkdGg7ZS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bi5zZWxlY3QodGhpcyksZT10LnNlbGVjdCgiLnNlbGVjdG9yLXRleHQiKSxhPXIuZm9udC5zaXplKmYsaT1NYXRoLm1heChhKmMubGluZUNvdW50KGUpLDE2KSszO2g9TWF0aC5tYXgoaCxpKX0pLGUuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4uc2VsZWN0KHRoaXMpLGU9dC5zZWxlY3QoIi5zZWxlY3Rvci1yZWN0IiksYT10LnNlbGVjdCgiLnNlbGVjdG9yLXRleHQiKSxpPWEubm9kZSgpJiZzLmJCb3goYS5ub2RlKCkpLndpZHRoLG89ci5mb250LnNpemUqZixsPWMubGluZUNvdW50KGEpLHA9TWF0aC5tYXgoaSsxMCxnLm1pbkJ1dHRvbldpZHRoKTt0LmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiKyh2K3UpKyIsIit2KyIpIiksZS5hdHRyKHt4OjAseTowLHdpZHRoOnAsaGVpZ2h0Omh9KSxjLnBvc2l0aW9uVGV4dChhLHAvMixoLzItKGwtMSkqby8yKzMpLHUrPXArNX0pO3ZhciBtPXQuX2Z1bGxMYXlvdXQuX3NpemUseT1tLmwrbS53KnIueCx4PW0udCttLmgqKDEtci55KSxiPSJsZWZ0IjtsLmlzUmlnaHRBbmNob3IocikmJih5LT11LGI9InJpZ2h0Iik7bC5pc0NlbnRlckFuY2hvcihyKSYmKHktPXUvMixiPSJjZW50ZXIiKTt2YXIgXz0idG9wIjtsLmlzQm90dG9tQW5jaG9yKHIpJiYoeC09aCxfPSJib3R0b20iKTtsLmlzTWlkZGxlQW5jaG9yKHIpJiYoeC09aC8yLF89Im1pZGRsZSIpO3U9TWF0aC5jZWlsKHUpLGg9TWF0aC5jZWlsKGgpLHk9TWF0aC5yb3VuZCh5KSx4PU1hdGgucm91bmQoeCksaS5hdXRvTWFyZ2luKHQsYSsiLXJhbmdlLXNlbGVjdG9yIix7eDpyLngseTpyLnksbDp1KnBbYl0scjp1KmRbYl0sYjpoKmRbX10sdDpoKnBbX119KSxvLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3krIiwiK3grIikiKX0odCxoLHUsby5fbmFtZSxyKX0pfX0seyIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsIi4uLy4uL3Bsb3RzL3Bsb3RzIjo4MjYsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL2NvbG9yIjo1OTIsIi4uL2RyYXdpbmciOjYxMywiLi9jb25zdGFudHMiOjY1NCwiLi9nZXRfdXBkYXRlX29iamVjdCI6NjU3LGQzOjE2NX1dLDY1NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuX25hbWUsYT17fTtpZigiYWxsIj09PWUuc3RlcClhW3IrIi5hdXRvcmFuZ2UiXT0hMDtlbHNle3ZhciBpPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYT10LnJhbmdlLGk9bmV3IERhdGUodC5yMmwoYVsxXSkpLG89ZS5zdGVwLHM9ZS5jb3VudDtzd2l0Y2goZS5zdGVwbW9kZSl7Y2FzZSJiYWNrd2FyZCI6cj10Lmwycigrbi50aW1lW29dLnV0Yy5vZmZzZXQoaSwtcykpO2JyZWFrO2Nhc2UidG9kYXRlIjp2YXIgbD1uLnRpbWVbb10udXRjLm9mZnNldChpLC1zKTtyPXQubDJyKCtuLnRpbWVbb10udXRjLmNlaWwobCkpfXZhciBjPWFbMV07cmV0dXJuW3IsY119KHQsZSk7YVtyKyIucmFuZ2VbMF0iXT1pWzBdLGFbcisiLnJhbmdlWzFdIl09aVsxXX1yZXR1cm4gYX19LHtkMzoxNjV9XSw2NTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6InJhbmdlc2VsZWN0b3IiLHNjaGVtYTp7c3VicGxvdHM6e3hheGlzOntyYW5nZXNlbGVjdG9yOnQoIi4vYXR0cmlidXRlcyIpfX19LGxheW91dEF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksaGFuZGxlRGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGRyYXc6dCgiLi9kcmF3Iil9fSx7Ii4vYXR0cmlidXRlcyI6NjUzLCIuL2RlZmF1bHRzIjo2NTUsIi4vZHJhdyI6NjU2fV0sNjU5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2NvbG9yL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9e2JnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0Om4uYmFja2dyb3VuZCxlZGl0VHlwZToicGxvdCJ9LGJvcmRlcmNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmRlZmF1bHRMaW5lLGVkaXRUeXBlOiJwbG90In0sYm9yZGVyd2lkdGg6e3ZhbFR5cGU6ImludGVnZXIiLGRmbHQ6MCxtaW46MCxlZGl0VHlwZToicGxvdCJ9LGF1dG9yYW5nZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyIsaW1wbGllZEVkaXRzOnsicmFuZ2VbMF0iOnZvaWQgMCwicmFuZ2VbMV0iOnZvaWQgMH19LHJhbmdlOnt2YWxUeXBlOiJpbmZvX2FycmF5IixpdGVtczpbe3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMiLGltcGxpZWRFZGl0czp7Il5hdXRvcmFuZ2UiOiExfX0se3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMiLGltcGxpZWRFZGl0czp7Il5hdXRvcmFuZ2UiOiExfX1dLGVkaXRUeXBlOiJjYWxjIixpbXBsaWVkRWRpdHM6e2F1dG9yYW5nZTohMX19LHRoaWNrbmVzczp7dmFsVHlwZToibnVtYmVyIixkZmx0Oi4xNSxtaW46MCxtYXg6MSxlZGl0VHlwZToicGxvdCJ9LHZpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9fSx7Ii4uL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MX1dLDY2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKS5saXN0LGE9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F1dG9yYW5nZSIpLmdldEF1dG9SYW5nZSxpPXQoIi4vY29uc3RhbnRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uKHQsIngiLCEwKSxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBvPWVbcl0scz1vW2kubmFtZV07cyYmcy52aXNpYmxlJiZzLmF1dG9yYW5nZSYmKHMuX2lucHV0LmF1dG9yYW5nZT0hMCxzLl9pbnB1dC5yYW5nZT1zLnJhbmdlPWEodCxvKSl9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXV0b3JhbmdlIjo3NjQsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyI6NzY4LCIuL2NvbnN0YW50cyI6NjYxfV0sNjYxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bmFtZToicmFuZ2VzbGlkZXIiLGNvbnRhaW5lckNsYXNzTmFtZToicmFuZ2VzbGlkZXItY29udGFpbmVyIixiZ0NsYXNzTmFtZToicmFuZ2VzbGlkZXItYmciLHJhbmdlUGxvdENsYXNzTmFtZToicmFuZ2VzbGlkZXItcmFuZ2VwbG90IixtYXNrTWluQ2xhc3NOYW1lOiJyYW5nZXNsaWRlci1tYXNrLW1pbiIsbWFza01heENsYXNzTmFtZToicmFuZ2VzbGlkZXItbWFzay1tYXgiLHNsaWRlQm94Q2xhc3NOYW1lOiJyYW5nZXNsaWRlci1zbGlkZWJveCIsZ3JhYmJlck1pbkNsYXNzTmFtZToicmFuZ2VzbGlkZXItZ3JhYmJlci1taW4iLGdyYWJBcmVhTWluQ2xhc3NOYW1lOiJyYW5nZXNsaWRlci1ncmFiYXJlYS1taW4iLGhhbmRsZU1pbkNsYXNzTmFtZToicmFuZ2VzbGlkZXItaGFuZGxlLW1pbiIsZ3JhYmJlck1heENsYXNzTmFtZToicmFuZ2VzbGlkZXItZ3JhYmJlci1tYXgiLGdyYWJBcmVhTWF4Q2xhc3NOYW1lOiJyYW5nZXNsaWRlci1ncmFiYXJlYS1tYXgiLGhhbmRsZU1heENsYXNzTmFtZToicmFuZ2VzbGlkZXItaGFuZGxlLW1heCIsbWFza01pbk9wcEF4aXNDbGFzc05hbWU6InJhbmdlc2xpZGVyLW1hc2stbWluLW9wcC1heGlzIixtYXNrTWF4T3BwQXhpc0NsYXNzTmFtZToicmFuZ2VzbGlkZXItbWFzay1tYXgtb3BwLWF4aXMiLG1hc2tDb2xvcjoicmdiYSgwLDAsMCwwLjQpIixtYXNrT3BwQXhpc0NvbG9yOiJyZ2JhKDAsMCwwLDAuMikiLHNsaWRlQm94RmlsbDoidHJhbnNwYXJlbnQiLHNsaWRlQm94Q3Vyc29yOiJldy1yZXNpemUiLGdyYWJBcmVhRmlsbDoidHJhbnNwYXJlbnQiLGdyYWJBcmVhQ3Vyc29yOiJjb2wtcmVzaXplIixncmFiQXJlYVdpZHRoOjEwLGhhbmRsZVdpZHRoOjQsaGFuZGxlUmFkaXVzOjEsaGFuZGxlU3Ryb2tlV2lkdGg6MSxleHRyYVBhZDoxNX19LHt9XSw2NjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKSxvPXQoIi4vYXR0cmlidXRlcyIpLHM9dCgiLi9vcHBheGlzX2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBsPXRbcl0sYz1lW3JdO2lmKGwucmFuZ2VzbGlkZXJ8fGUuX3JlcXVlc3RSYW5nZXNsaWRlcltjLl9pZF0pe24uaXNQbGFpbk9iamVjdChsLnJhbmdlc2xpZGVyKXx8KGwucmFuZ2VzbGlkZXI9e30pO3ZhciB1LGgsZj1sLnJhbmdlc2xpZGVyLHA9YS5uZXdDb250YWluZXIoYywicmFuZ2VzbGlkZXIiKTtpZihfKCJ2aXNpYmxlIikpe18oImJnY29sb3IiLGUucGxvdF9iZ2NvbG9yKSxfKCJib3JkZXJjb2xvciIpLF8oImJvcmRlcndpZHRoIiksXygidGhpY2tuZXNzIiksXygiYXV0b3JhbmdlIiwhYy5pc1ZhbGlkUmFuZ2UoZi5yYW5nZSkpLF8oInJhbmdlIik7dmFyIGQ9ZS5fc3VicGxvdHM7aWYoZClmb3IodmFyIGc9ZC5jYXJ0ZXNpYW4uZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LnN1YnN0cigwLHQuaW5kZXhPZigieSIpKT09PWkubmFtZTJpZChyKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5zdWJzdHIodC5pbmRleE9mKCJ5IiksdC5sZW5ndGgpfSksdj1uLnNpbXBsZU1hcChnLGkuaWQybmFtZSksbT0wO208di5sZW5ndGg7bSsrKXt2YXIgeT12W21dO3U9Zlt5XXx8e30saD1hLm5ld0NvbnRhaW5lcihwLHksInlheGlzIik7dmFyIHgsYj1lW3ldO3UucmFuZ2UmJmIuaXNWYWxpZFJhbmdlKHUucmFuZ2UpJiYoeD0iZml4ZWQiKSwibWF0Y2giIT09dygicmFuZ2Vtb2RlIix4KSYmdygicmFuZ2UiLGIucmFuZ2Uuc2xpY2UoKSl9cC5faW5wdXQ9Zn19ZnVuY3Rpb24gXyh0LGUpe3JldHVybiBuLmNvZXJjZShmLHAsbyx0LGUpfWZ1bmN0aW9uIHcodCxlKXtyZXR1cm4gbi5jb2VyY2UodSxoLHMsdCxlKX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyI6NzY4LCIuL2F0dHJpYnV0ZXMiOjY1OSwiLi9vcHBheGlzX2F0dHJpYnV0ZXMiOjY2Nn1dLDY2MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKSxpPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIiksbz10KCIuLi8uLi9saWIiKSxzPXQoIi4uL2RyYXdpbmciKSxsPXQoIi4uL2NvbG9yIiksYz10KCIuLi90aXRsZXMiKSx1PXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGg9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIiksZj10KCIuLi9kcmFnZWxlbWVudCIpLHA9dCgiLi4vLi4vbGliL3NldGN1cnNvciIpLGQ9dCgiLi9jb25zdGFudHMiKTtmdW5jdGlvbiBnKHQsZSxyLG4pe3ZhciBhPW8uZW5zdXJlU2luZ2xlKHQsInJlY3QiLGQuYmdDbGFzc05hbWUsZnVuY3Rpb24odCl7dC5hdHRyKHt4OjAseTowLCJzaGFwZS1yZW5kZXJpbmciOiJjcmlzcEVkZ2VzIn0pfSksaT1uLmJvcmRlcndpZHRoJTI9PTA/bi5ib3JkZXJ3aWR0aDpuLmJvcmRlcndpZHRoLTEsbD0tbi5fb2Zmc2V0U2hpZnQsYz1zLmNyaXNwUm91bmQoZSxuLmJvcmRlcndpZHRoKTthLmF0dHIoe3dpZHRoOm4uX3dpZHRoK2ksaGVpZ2h0Om4uX2hlaWdodCtpLHRyYW5zZm9ybToidHJhbnNsYXRlKCIrbCsiLCIrbCsiKSIsZmlsbDpuLmJnY29sb3Isc3Ryb2tlOm4uYm9yZGVyY29sb3IsInN0cm9rZS13aWR0aCI6Y30pfWZ1bmN0aW9uIHYodCxlLHIsbil7dmFyIGE9ZS5fZnVsbExheW91dDtvLmVuc3VyZVNpbmdsZUJ5SWQoYS5fdG9wZGVmcywiY2xpcFBhdGgiLG4uX2NsaXBJZCxmdW5jdGlvbih0KXt0LmFwcGVuZCgicmVjdCIpLmF0dHIoe3g6MCx5OjB9KX0pLnNlbGVjdCgicmVjdCIpLmF0dHIoe3dpZHRoOm4uX3dpZHRoLGhlaWdodDpuLl9oZWlnaHR9KX1mdW5jdGlvbiBtKHQsZSxyLGEpe3ZhciBsLGM9ZS5jYWxjZGF0YSxmPXQuc2VsZWN0QWxsKCJnLiIrZC5yYW5nZVBsb3RDbGFzc05hbWUpLmRhdGEoci5fc3VicGxvdHNXaXRoLG8uaWRlbnRpdHkpO2YuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuIGQucmFuZ2VQbG90Q2xhc3NOYW1lKyIgIit0fSkuY2FsbChzLnNldENsaXBVcmwsYS5fY2xpcElkLGUpLGYub3JkZXIoKSxmLmV4aXQoKS5yZW1vdmUoKSxmLmVhY2goZnVuY3Rpb24odCxvKXt2YXIgcz1uLnNlbGVjdCh0aGlzKSxmPTA9PT1vLHA9aC5nZXRGcm9tSWQoZSx0LCJ5IiksZD1wLl9uYW1lLGc9YVtkXSx2PXtkYXRhOltdLGxheW91dDp7eGF4aXM6e3R5cGU6ci50eXBlLGRvbWFpbjpbMCwxXSxyYW5nZTphLnJhbmdlLnNsaWNlKCksY2FsZW5kYXI6ci5jYWxlbmRhcn0sd2lkdGg6YS5fd2lkdGgsaGVpZ2h0OmEuX2hlaWdodCxtYXJnaW46e3Q6MCxiOjAsbDowLHI6MH19LF9jb250ZXh0OmUuX2NvbnRleHR9O3YubGF5b3V0W2RdPXt0eXBlOnAudHlwZSxkb21haW46WzAsMV0scmFuZ2U6Im1hdGNoIiE9PWcucmFuZ2Vtb2RlP2cucmFuZ2Uuc2xpY2UoKTpwLnJhbmdlLnNsaWNlKCksY2FsZW5kYXI6cC5jYWxlbmRhcn0saS5zdXBwbHlEZWZhdWx0cyh2KTt2YXIgbT12Ll9mdWxsTGF5b3V0LnhheGlzLHk9di5fZnVsbExheW91dFtkXTttLmNsZWFyQ2FsYygpLG0uc2V0U2NhbGUoKSx5LmNsZWFyQ2FsYygpLHkuc2V0U2NhbGUoKTt2YXIgeD17aWQ6dCxwbG90Z3JvdXA6cyx4YXhpczptLHlheGlzOnksaXNSYW5nZVBsb3Q6ITB9O2Y/bD14Oih4Lm1haW5wbG90PSJ4eSIseC5tYWlucGxvdGluZm89bCksdS5yYW5nZVBsb3QoZSx4LGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGE9dFtuXSxpPWFbMF0udHJhY2U7aS54YXhpcytpLnlheGlzPT09ZSYmci5wdXNoKGEpfXJldHVybiByfShjLHQpKX0pfWZ1bmN0aW9uIHkodCxlLHIsbixhKXsoby5lbnN1cmVTaW5nbGUodCwicmVjdCIsZC5tYXNrTWluQ2xhc3NOYW1lLGZ1bmN0aW9uKHQpe3QuYXR0cih7eDowLHk6MCwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9KX0pLmF0dHIoImhlaWdodCIsbi5faGVpZ2h0KS5jYWxsKGwuZmlsbCxkLm1hc2tDb2xvciksby5lbnN1cmVTaW5nbGUodCwicmVjdCIsZC5tYXNrTWF4Q2xhc3NOYW1lLGZ1bmN0aW9uKHQpe3QuYXR0cih7eTowLCJzaGFwZS1yZW5kZXJpbmciOiJjcmlzcEVkZ2VzIn0pfSkuYXR0cigiaGVpZ2h0IixuLl9oZWlnaHQpLmNhbGwobC5maWxsLGQubWFza0NvbG9yKSwibWF0Y2giIT09YS5yYW5nZW1vZGUpJiYoby5lbnN1cmVTaW5nbGUodCwicmVjdCIsZC5tYXNrTWluT3BwQXhpc0NsYXNzTmFtZSxmdW5jdGlvbih0KXt0LmF0dHIoe3k6MCwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9KX0pLmF0dHIoIndpZHRoIixuLl93aWR0aCkuY2FsbChsLmZpbGwsZC5tYXNrT3BwQXhpc0NvbG9yKSxvLmVuc3VyZVNpbmdsZSh0LCJyZWN0IixkLm1hc2tNYXhPcHBBeGlzQ2xhc3NOYW1lLGZ1bmN0aW9uKHQpe3QuYXR0cih7eTowLCJzaGFwZS1yZW5kZXJpbmciOiJjcmlzcEVkZ2VzIn0pfSkuYXR0cigid2lkdGgiLG4uX3dpZHRoKS5zdHlsZSgiYm9yZGVyLXRvcCIsZC5tYXNrT3BwQm9yZGVyKS5jYWxsKGwuZmlsbCxkLm1hc2tPcHBBeGlzQ29sb3IpKX1mdW5jdGlvbiB4KHQsZSxyLG4pe2UuX2NvbnRleHQuc3RhdGljUGxvdHx8by5lbnN1cmVTaW5nbGUodCwicmVjdCIsZC5zbGlkZUJveENsYXNzTmFtZSxmdW5jdGlvbih0KXt0LmF0dHIoe3k6MCxjdXJzb3I6ZC5zbGlkZUJveEN1cnNvciwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9KX0pLmF0dHIoe2hlaWdodDpuLl9oZWlnaHQsZmlsbDpkLnNsaWRlQm94RmlsbH0pfWZ1bmN0aW9uIGIodCxlLHIsbil7dmFyIGE9by5lbnN1cmVTaW5nbGUodCwiZyIsZC5ncmFiYmVyTWluQ2xhc3NOYW1lKSxpPW8uZW5zdXJlU2luZ2xlKHQsImciLGQuZ3JhYmJlck1heENsYXNzTmFtZSkscz17eDowLHdpZHRoOmQuaGFuZGxlV2lkdGgscng6ZC5oYW5kbGVSYWRpdXMsZmlsbDpsLmJhY2tncm91bmQsc3Ryb2tlOmwuZGVmYXVsdExpbmUsInN0cm9rZS13aWR0aCI6ZC5oYW5kbGVTdHJva2VXaWR0aCwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9LGM9e3k6TWF0aC5yb3VuZChuLl9oZWlnaHQvNCksaGVpZ2h0Ok1hdGgucm91bmQobi5faGVpZ2h0LzIpfTtpZihvLmVuc3VyZVNpbmdsZShhLCJyZWN0IixkLmhhbmRsZU1pbkNsYXNzTmFtZSxmdW5jdGlvbih0KXt0LmF0dHIocyl9KS5hdHRyKGMpLG8uZW5zdXJlU2luZ2xlKGksInJlY3QiLGQuaGFuZGxlTWF4Q2xhc3NOYW1lLGZ1bmN0aW9uKHQpe3QuYXR0cihzKX0pLmF0dHIoYyksIWUuX2NvbnRleHQuc3RhdGljUGxvdCl7dmFyIHU9e3dpZHRoOmQuZ3JhYkFyZWFXaWR0aCx4OjAseTowLGZpbGw6ZC5ncmFiQXJlYUZpbGwsY3Vyc29yOmQuZ3JhYkFyZWFDdXJzb3J9O28uZW5zdXJlU2luZ2xlKGEsInJlY3QiLGQuZ3JhYkFyZWFNaW5DbGFzc05hbWUsZnVuY3Rpb24odCl7dC5hdHRyKHUpfSkuYXR0cigiaGVpZ2h0IixuLl9oZWlnaHQpLG8uZW5zdXJlU2luZ2xlKGksInJlY3QiLGQuZ3JhYkFyZWFNYXhDbGFzc05hbWUsZnVuY3Rpb24odCl7dC5hdHRyKHUpfSkuYXR0cigiaGVpZ2h0IixuLl9oZWlnaHQpfX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuX2Z1bGxMYXlvdXQscj1lLl9yYW5nZVNsaWRlckRhdGEsaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgcz1yW2ldW2QubmFtZV07cy5fY2xpcElkPXMuX2lkKyItIitlLl91aWR9dmFyIGw9ZS5faW5mb2xheWVyLnNlbGVjdEFsbCgiZy4iK2QuY29udGFpbmVyQ2xhc3NOYW1lKS5kYXRhKHIsZnVuY3Rpb24odCl7cmV0dXJuIHQuX25hbWV9KTtsLmV4aXQoKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciByPXRbZC5uYW1lXTtlLl90b3BkZWZzLnNlbGVjdCgiIyIrci5fY2xpcElkKS5yZW1vdmUoKX0pLnJlbW92ZSgpLDAhPT1yLmxlbmd0aCYmKGwuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKGQuY29udGFpbmVyQ2xhc3NOYW1lLCEwKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLGwuZWFjaChmdW5jdGlvbihyKXt2YXIgaT1uLnNlbGVjdCh0aGlzKSxzPXJbZC5uYW1lXSxsPWVbaC5pZDJuYW1lKHIuYW5jaG9yKV0sdT1zW2guaWQybmFtZShyLmFuY2hvcildO2lmKHMucmFuZ2Upe3ZhciBfLHc9by5zaW1wbGVNYXAocy5yYW5nZSxyLnIybCksaz1vLnNpbXBsZU1hcChyLnJhbmdlLHIucjJsKTtfPWtbMF08a1sxXT9bTWF0aC5taW4od1swXSxrWzBdKSxNYXRoLm1heCh3WzFdLGtbMV0pXTpbTWF0aC5tYXgod1swXSxrWzBdKSxNYXRoLm1pbih3WzFdLGtbMV0pXSxzLnJhbmdlPXMuX2lucHV0LnJhbmdlPW8uc2ltcGxlTWFwKF8sci5sMnIpfXIuY2xlYW5SYW5nZSgicmFuZ2VzbGlkZXIucmFuZ2UiKTt2YXIgVD1lLl9zaXplLE09ci5kb21haW47cy5fd2lkdGg9VC53KihNWzFdLU1bMF0pO3ZhciBBPU1hdGgucm91bmQoVC5sK1QudypNWzBdKSxTPU1hdGgucm91bmQoVC50K1QuaCooMS1yLl9jb3VudGVyRG9tYWluTWluKSsoImJvdHRvbSI9PT1yLnNpZGU/ci5fZGVwdGg6MCkrcy5fb2Zmc2V0U2hpZnQrZC5leHRyYVBhZCk7aS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitBKyIsIitTKyIpIik7dmFyIEU9ci5yMmwocy5yYW5nZVswXSksTD1yLnIybChzLnJhbmdlWzFdKSxDPUwtRTtpZihzLnAyZD1mdW5jdGlvbih0KXtyZXR1cm4gdC9zLl93aWR0aCpDK0V9LHMuZDJwPWZ1bmN0aW9uKHQpe3JldHVybih0LUUpL0Mqcy5fd2lkdGh9LHMuX3JsPVtFLExdLCJtYXRjaCIhPT11LnJhbmdlbW9kZSl7dmFyIFA9bC5yMmwodS5yYW5nZVswXSksTz1sLnIybCh1LnJhbmdlWzFdKS1QO3MuZDJwT3BwQXhpcz1mdW5jdGlvbih0KXtyZXR1cm4odC1QKS9PKnMuX2hlaWdodH19aS5jYWxsKGcsdCxyLHMpLmNhbGwodix0LHIscykuY2FsbChtLHQscixzKS5jYWxsKHksdCxyLHMsdSkuY2FsbCh4LHQscixzKS5jYWxsKGIsdCxyLHMpLGZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBzPXQuc2VsZWN0KCJyZWN0LiIrZC5zbGlkZUJveENsYXNzTmFtZSkubm9kZSgpLGw9dC5zZWxlY3QoInJlY3QuIitkLmdyYWJBcmVhTWluQ2xhc3NOYW1lKS5ub2RlKCksYz10LnNlbGVjdCgicmVjdC4iK2QuZ3JhYkFyZWFNYXhDbGFzc05hbWUpLm5vZGUoKTt0Lm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7dmFyIHU9bi5ldmVudCxoPXUudGFyZ2V0LGQ9dS5jbGllbnRYLGc9ZC10Lm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LHY9aS5kMnAoci5fcmxbMF0pLG09aS5kMnAoci5fcmxbMV0pLHk9Zi5jb3ZlclNsaXAoKTtmdW5jdGlvbiB4KHQpe3ZhciB1LGYseCxiPSt0LmNsaWVudFgtZDtzd2l0Y2goaCl7Y2FzZSBzOng9ImV3LXJlc2l6ZSIsdT12K2IsZj1tK2I7YnJlYWs7Y2FzZSBsOng9ImNvbC1yZXNpemUiLHU9ditiLGY9bTticmVhaztjYXNlIGM6eD0iY29sLXJlc2l6ZSIsdT12LGY9bStiO2JyZWFrO2RlZmF1bHQ6eD0iZXctcmVzaXplIix1PWcsZj1nK2J9aWYoZjx1KXt2YXIgXz1mO2Y9dSx1PV99aS5fcGl4ZWxNaW49dSxpLl9waXhlbE1heD1mLHAobi5zZWxlY3QoeSkseCksZnVuY3Rpb24odCxlLHIsbil7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gci5sMnIoby5jb25zdHJhaW4odCxuLl9ybFswXSxuLl9ybFsxXSkpfXZhciBzPWkobi5wMmQobi5fcGl4ZWxNaW4pKSxsPWkobi5wMmQobi5fcGl4ZWxNYXgpKTt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7YS5jYWxsKCJfZ3VpUmVsYXlvdXQiLGUsci5fbmFtZSsiLnJhbmdlIixbcyxsXSl9KX0oMCxlLHIsaSl9eS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHgpLHkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZnVuY3Rpb24gdCgpe3kucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix4KTt5LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHQpO28ucmVtb3ZlRWxlbWVudCh5KX0pfSl9KGksdCxyLHMpLGZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgcz1kLmhhbmRsZVdpZHRoLzI7ZnVuY3Rpb24gbCh0KXtyZXR1cm4gby5jb25zdHJhaW4odCwwLG4uX3dpZHRoKX1mdW5jdGlvbiBjKHQpe3JldHVybiBvLmNvbnN0cmFpbih0LDAsbi5faGVpZ2h0KX1mdW5jdGlvbiB1KHQpe3JldHVybiBvLmNvbnN0cmFpbih0LC1zLG4uX3dpZHRoK3MpfXZhciBoPWwobi5kMnAoci5fcmxbMF0pKSxmPWwobi5kMnAoci5fcmxbMV0pKTtpZih0LnNlbGVjdCgicmVjdC4iK2Quc2xpZGVCb3hDbGFzc05hbWUpLmF0dHIoIngiLGgpLmF0dHIoIndpZHRoIixmLWgpLHQuc2VsZWN0KCJyZWN0LiIrZC5tYXNrTWluQ2xhc3NOYW1lKS5hdHRyKCJ3aWR0aCIsaCksdC5zZWxlY3QoInJlY3QuIitkLm1hc2tNYXhDbGFzc05hbWUpLmF0dHIoIngiLGYpLmF0dHIoIndpZHRoIixuLl93aWR0aC1mKSwibWF0Y2giIT09aS5yYW5nZW1vZGUpe3ZhciBwPW4uX2hlaWdodC1jKG4uZDJwT3BwQXhpcyhhLl9ybFsxXSkpLGc9bi5faGVpZ2h0LWMobi5kMnBPcHBBeGlzKGEuX3JsWzBdKSk7dC5zZWxlY3QoInJlY3QuIitkLm1hc2tNaW5PcHBBeGlzQ2xhc3NOYW1lKS5hdHRyKCJ4IixoKS5hdHRyKCJoZWlnaHQiLHApLmF0dHIoIndpZHRoIixmLWgpLHQuc2VsZWN0KCJyZWN0LiIrZC5tYXNrTWF4T3BwQXhpc0NsYXNzTmFtZSkuYXR0cigieCIsaCkuYXR0cigieSIsZykuYXR0cigiaGVpZ2h0IixuLl9oZWlnaHQtZykuYXR0cigid2lkdGgiLGYtaCksdC5zZWxlY3QoInJlY3QuIitkLnNsaWRlQm94Q2xhc3NOYW1lKS5hdHRyKCJ5IixwKS5hdHRyKCJoZWlnaHQiLGctcCl9dmFyIHY9TWF0aC5yb3VuZCh1KGgtcykpLS41LG09TWF0aC5yb3VuZCh1KGYtcykpKy41O3Quc2VsZWN0KCJnLiIrZC5ncmFiYmVyTWluQ2xhc3NOYW1lKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIit2KyIsMC41KSIpLHQuc2VsZWN0KCJnLiIrZC5ncmFiYmVyTWF4Q2xhc3NOYW1lKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIittKyIsMC41KSIpfShpLDAscixzLGwsdSksImJvdHRvbSI9PT1yLnNpZGUmJmMuZHJhdyh0LHIuX2lkKyJ0aXRsZSIse3Byb3BDb250YWluZXI6cixwcm9wTmFtZTpyLl9uYW1lKyIudGl0bGUiLHBsYWNlaG9sZGVyOmUuX2RmbHRUaXRsZS54LGF0dHJpYnV0ZXM6e3g6ci5fb2Zmc2V0K3IuX2xlbmd0aC8yLHk6UytzLl9oZWlnaHQrcy5fb2Zmc2V0U2hpZnQrMTArMS41KnIudGl0bGUuZm9udC5zaXplLCJ0ZXh0LWFuY2hvciI6Im1pZGRsZSJ9fSl9KSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvc2V0Y3Vyc29yIjo3MzcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiI6Nzc2LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiOjc2OCwiLi4vLi4vcGxvdHMvcGxvdHMiOjgyNiwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vY29sb3IiOjU5MiwiLi4vZHJhZ2VsZW1lbnQiOjYxMCwiLi4vZHJhd2luZyI6NjEzLCIuLi90aXRsZXMiOjY3OSwiLi9jb25zdGFudHMiOjY2MSxkMzoxNjV9XSw2NjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIiksYT10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxpPXQoIi4vY29uc3RhbnRzIiksbz10KCIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50IikuTElORV9TUEFDSU5HLHM9aS5uYW1lO2Z1bmN0aW9uIGwodCl7dmFyIGU9dCYmdFtzXTtyZXR1cm4gZSYmZS52aXNpYmxlfXIuaXNWaXNpYmxlPWwsci5tYWtlRGF0YT1mdW5jdGlvbih0KXt2YXIgZT1uLmxpc3Qoe19mdWxsTGF5b3V0OnR9LCJ4IiwhMCkscj10Lm1hcmdpbixhPVtdO2lmKCF0Ll9oYXMoImdsMmQiKSlmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIG89ZVtpXTtpZihsKG8pKXthLnB1c2gobyk7dmFyIGM9b1tzXTtjLl9pZD1zK28uX2lkLGMuX2hlaWdodD0odC5oZWlnaHQtci5iLXIudCkqYy50aGlja25lc3MsYy5fb2Zmc2V0U2hpZnQ9TWF0aC5mbG9vcihjLmJvcmRlcndpZHRoLzIpfX10Ll9yYW5nZVNsaWRlckRhdGE9YX0sci5hdXRvTWFyZ2luT3B0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuX2Z1bGxMYXlvdXQsbj1lW3NdLGw9ZS5faWQuY2hhckF0KDApLGM9MCx1PTA7ImJvdHRvbSI9PT1lLnNpZGUmJihjPWUuX2RlcHRoLGUudGl0bGUudGV4dCE9PXIuX2RmbHRUaXRsZVtsXSYmKHU9MS41KmUudGl0bGUuZm9udC5zaXplKzEwK24uX29mZnNldFNoaWZ0LHUrPShlLnRpdGxlLnRleHQubWF0Y2goYS5CUl9UQUdfQUxMKXx8W10pLmxlbmd0aCplLnRpdGxlLmZvbnQuc2l6ZSpvKSk7cmV0dXJue3g6MCx5OmUuX2NvdW50ZXJEb21haW5NaW4sbDowLHI6MCx0OjAsYjpuLl9oZWlnaHQrYytNYXRoLm1heChyLm1hcmdpbi5iLHUpLHBhZDppLmV4dHJhUGFkKzIqbi5fb2Zmc2V0U2hpZnR9fX0seyIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiOjc2OCwiLi9jb25zdGFudHMiOjY2MX1dLDY2NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vYXR0cmlidXRlcyIpLGk9dCgiLi9vcHBheGlzX2F0dHJpYnV0ZXMiKSxvPXQoIi4vaGVscGVycyIpO2UuZXhwb3J0cz17bW9kdWxlVHlwZToiY29tcG9uZW50IixuYW1lOiJyYW5nZXNsaWRlciIsc2NoZW1hOntzdWJwbG90czp7eGF4aXM6e3Jhbmdlc2xpZGVyOm4uZXh0ZW5kRmxhdCh7fSxhLHt5YXhpczppfSl9fX0sbGF5b3V0QXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxoYW5kbGVEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY2FsY0F1dG9yYW5nZTp0KCIuL2NhbGNfYXV0b3JhbmdlIiksZHJhdzp0KCIuL2RyYXciKSxpc1Zpc2libGU6by5pc1Zpc2libGUsbWFrZURhdGE6by5tYWtlRGF0YSxhdXRvTWFyZ2luT3B0czpvLmF1dG9NYXJnaW5PcHRzfX0seyIuLi8uLi9saWIiOjcxNywiLi9hdHRyaWJ1dGVzIjo2NTksIi4vY2FsY19hdXRvcmFuZ2UiOjY2MCwiLi9kZWZhdWx0cyI6NjYyLCIuL2RyYXciOjY2MywiLi9oZWxwZXJzIjo2NjQsIi4vb3BwYXhpc19hdHRyaWJ1dGVzIjo2NjZ9XSw2NjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtfaXNTdWJwbG90T2JqOiEwLHJhbmdlbW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYXV0byIsImZpeGVkIiwibWF0Y2giXSxkZmx0OiJtYXRjaCIsZWRpdFR5cGU6ImNhbGMifSxyYW5nZTp7dmFsVHlwZToiaW5mb19hcnJheSIsaXRlbXM6W3t2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJwbG90In0se3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6InBsb3QifV0sZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToiY2FsYyJ9fSx7fV0sNjY3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Fubm90YXRpb25zL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL3RyYWNlcy9zY2F0dGVyL2F0dHJpYnV0ZXMiKS5saW5lLGk9dCgiLi4vZHJhd2luZy9hdHRyaWJ1dGVzIikuZGFzaCxvPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LHM9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLnRlbXBsYXRlZEFycmF5O2UuZXhwb3J0cz1zKCJzaGFwZSIse3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0sdHlwZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiY2lyY2xlIiwicmVjdCIsInBhdGgiLCJsaW5lIl0sZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0sbGF5ZXI6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImJlbG93IiwiYWJvdmUiXSxkZmx0OiJhYm92ZSIsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LHhyZWY6byh7fSxuLnhyZWYse30pLHhzaXplbW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsic2NhbGVkIiwicGl4ZWwiXSxkZmx0OiJzY2FsZWQiLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LHhhbmNob3I6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0seDA6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0seDE6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0seXJlZjpvKHt9LG4ueXJlZix7fSkseXNpemVtb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJzY2FsZWQiLCJwaXhlbCJdLGRmbHQ6InNjYWxlZCIsZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0seWFuY2hvcjp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSx5MDp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSx5MTp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSxwYXRoOnt2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJjYWxjK2FycmF5ZHJhdyJ9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxLGVkaXRUeXBlOiJhcnJheWRyYXcifSxsaW5lOntjb2xvcjpvKHt9LGEuY29sb3Ise2VkaXRUeXBlOiJhcnJheWRyYXcifSksd2lkdGg6byh7fSxhLndpZHRoLHtlZGl0VHlwZToiY2FsYythcnJheWRyYXcifSksZGFzaDpvKHt9LGkse2VkaXRUeXBlOiJhcnJheWRyYXcifSksZWRpdFR5cGU6ImNhbGMrYXJyYXlkcmF3In0sZmlsbGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDoicmdiYSgwLDAsMCwwKSIsZWRpdFR5cGU6ImFycmF5ZHJhdyJ9LGVkaXRUeXBlOiJhcnJheWRyYXcifSl9LHsiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uLy4uL3RyYWNlcy9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjAsIi4uL2Fubm90YXRpb25zL2F0dHJpYnV0ZXMiOjU3NSwiLi4vZHJhd2luZy9hdHRyaWJ1dGVzIjo2MTJ9XSw2Njg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi9jb25zdGFudHMiKSxvPXQoIi4vaGVscGVycyIpO2Z1bmN0aW9uIHModCl7cmV0dXJuIGModC5saW5lLndpZHRoLHQueHNpemVtb2RlLHQueDAsdC54MSx0LnBhdGgsITEpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIGModC5saW5lLndpZHRoLHQueXNpemVtb2RlLHQueTAsdC55MSx0LnBhdGgsITApfWZ1bmN0aW9uIGModCxlLHIsYSxzLGwpe3ZhciBjPXQvMix1PWw7aWYoInBpeGVsIj09PWUpe3ZhciBoPXM/by5leHRyYWN0UGF0aENvb3JkcyhzLGw/aS5wYXJhbUlzWTppLnBhcmFtSXNYKTpbcixhXSxmPW4uYWdnTnVtcyhNYXRoLm1heCxudWxsLGgpLHA9bi5hZ2dOdW1zKE1hdGgubWluLG51bGwsaCksZD1wPDA/TWF0aC5hYnMocCkrYzpjLGc9Zj4wP2YrYzpjO3JldHVybntwcGFkOmMscHBhZHBsdXM6dT9kOmcscHBhZG1pbnVzOnU/ZzpkfX1yZXR1cm57cHBhZDpjfX1mdW5jdGlvbiB1KHQsZSxyLG4sYSl7dmFyIHM9ImNhdGVnb3J5Ij09PXQudHlwZXx8Im11bHRpY2F0ZWdvcnkiPT09dC50eXBlP3QucjJjOnQuZDJjO2lmKHZvaWQgMCE9PWUpcmV0dXJuW3MoZSkscyhyKV07aWYobil7dmFyIGwsYyx1LGgsZj0xLzAscD0tMS8wLGQ9bi5tYXRjaChpLnNlZ21lbnRSRSk7Zm9yKCJkYXRlIj09PXQudHlwZSYmKHM9by5kZWNvZGVEYXRlKHMpKSxsPTA7bDxkLmxlbmd0aDtsKyspdm9pZCAwIT09KGM9YVtkW2xdLmNoYXJBdCgwKV0uZHJhd24pJiYoISh1PWRbbF0uc3Vic3RyKDEpLm1hdGNoKGkucGFyYW1SRSkpfHx1Lmxlbmd0aDxjfHwoKGg9cyh1W2NdKSk8ZiYmKGY9aCksaD5wJiYocD1oKSkpO3JldHVybiBwPj1mP1tmLHBdOnZvaWQgMH19ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQscj1uLmZpbHRlclZpc2libGUoZS5zaGFwZXMpO2lmKHIubGVuZ3RoJiZ0Ll9mdWxsRGF0YS5sZW5ndGgpZm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspe3ZhciBjLGgsZj1yW29dO2lmKGYuX2V4dHJlbWVzPXt9LCJwYXBlciIhPT1mLnhyZWYpe3ZhciBwPSJwaXhlbCI9PT1mLnhzaXplbW9kZT9mLnhhbmNob3I6Zi54MCxkPSJwaXhlbCI9PT1mLnhzaXplbW9kZT9mLnhhbmNob3I6Zi54MTsoaD11KGM9YS5nZXRGcm9tSWQodCxmLnhyZWYpLHAsZCxmLnBhdGgsaS5wYXJhbUlzWCkpJiYoZi5fZXh0cmVtZXNbYy5faWRdPWEuZmluZEV4dHJlbWVzKGMsaCxzKGYpKSl9aWYoInBhcGVyIiE9PWYueXJlZil7dmFyIGc9InBpeGVsIj09PWYueXNpemVtb2RlP2YueWFuY2hvcjpmLnkwLHY9InBpeGVsIj09PWYueXNpemVtb2RlP2YueWFuY2hvcjpmLnkxOyhoPXUoYz1hLmdldEZyb21JZCh0LGYueXJlZiksZyx2LGYucGF0aCxpLnBhcmFtSXNZKSkmJihmLl9leHRyZW1lc1tjLl9pZF09YS5maW5kRXh0cmVtZXMoYyxoLGwoZikpKX19fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi9jb25zdGFudHMiOjY2OSwiLi9oZWxwZXJzIjo2NzJ9XSw2Njk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtzZWdtZW50UkU6L1tNTEhWUUNUU1pdW15NTEhWUUNUU1pdKi9nLHBhcmFtUkU6L1teXHMsXSsvZyxwYXJhbUlzWDp7TTp7MDohMCxkcmF3bjowfSxMOnswOiEwLGRyYXduOjB9LEg6ezA6ITAsZHJhd246MH0sVjp7fSxROnswOiEwLDI6ITAsZHJhd246Mn0sQzp7MDohMCwyOiEwLDQ6ITAsZHJhd246NH0sVDp7MDohMCxkcmF3bjowfSxTOnswOiEwLDI6ITAsZHJhd246Mn0sWjp7fX0scGFyYW1Jc1k6e006ezE6ITAsZHJhd246MX0sTDp7MTohMCxkcmF3bjoxfSxIOnt9LFY6ezA6ITAsZHJhd246MH0sUTp7MTohMCwzOiEwLGRyYXduOjN9LEM6ezE6ITAsMzohMCw1OiEwLGRyYXduOjV9LFQ6ezE6ITAsZHJhd246MX0sUzp7MTohMCwzOiEwLGRyYXduOjV9LFo6e319LG51bVBhcmFtczp7TToyLEw6MixIOjEsVjoxLFE6NCxDOjYsVDoyLFM6NCxaOjB9fX0se31dLDY3MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksaT10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxvPXQoIi4vYXR0cmlidXRlcyIpLHM9dCgiLi9oZWxwZXJzIik7ZnVuY3Rpb24gbCh0LGUscil7ZnVuY3Rpb24gaShyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsbyxyLGEpfWlmKGkoInZpc2libGUiKSl7aSgibGF5ZXIiKSxpKCJvcGFjaXR5IiksaSgiZmlsbGNvbG9yIiksaSgibGluZS5jb2xvciIpLGkoImxpbmUud2lkdGgiKSxpKCJsaW5lLmRhc2giKTtmb3IodmFyIGw9aSgidHlwZSIsdC5wYXRoPyJwYXRoIjoicmVjdCIpLGM9aSgieHNpemVtb2RlIiksdT1pKCJ5c2l6ZW1vZGUiKSxoPVsieCIsInkiXSxmPTA7ZjwyO2YrKyl7dmFyIHAsZCxnLHY9aFtmXSxtPXYrImFuY2hvciIseT0ieCI9PT12P2M6dSx4PXtfZnVsbExheW91dDpyfSxiPWEuY29lcmNlUmVmKHQsZSx4LHYsIiIsInBhcGVyIik7aWYoInBhcGVyIiE9PWI/KChwPWEuZ2V0RnJvbUlkKHgsYikpLl9zaGFwZUluZGljZXMucHVzaChlLl9pbmRleCksZz1zLnJhbmdlVG9TaGFwZVBvc2l0aW9uKHApLGQ9cy5zaGFwZVBvc2l0aW9uVG9SYW5nZShwKSk6ZD1nPW4uaWRlbnRpdHksInBhdGgiIT09bCl7dmFyIF89disiMCIsdz12KyIxIixrPXRbX10sVD10W3ddO3RbX109ZCh0W19dLCEwKSx0W3ddPWQodFt3XSwhMCksInBpeGVsIj09PXk/KGkoXywwKSxpKHcsMTApKTooYS5jb2VyY2VQb3NpdGlvbihlLHgsaSxiLF8sLjI1KSxhLmNvZXJjZVBvc2l0aW9uKGUseCxpLGIsdywuNzUpKSxlW19dPWcoZVtfXSksZVt3XT1nKGVbd10pLHRbX109ayx0W3ddPVR9aWYoInBpeGVsIj09PXkpe3ZhciBNPXRbbV07dFttXT1kKHRbbV0sITApLGEuY29lcmNlUG9zaXRpb24oZSx4LGksYixtLC4yNSksZVttXT1nKGVbbV0pLHRbbV09TX19InBhdGgiPT09bD9pKCJwYXRoIik6bi5ub25lT3JBbGwodCxlLFsieDAiLCJ4MSIsInkwIiwieTEiXSl9fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2kodCxlLHtuYW1lOiJzaGFwZXMiLGhhbmRsZUl0ZW1EZWZhdWx0czpsfSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi9hdHRyaWJ1dGVzIjo2NjcsIi4vaGVscGVycyI6NjcyfV0sNjcxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksbz10KCIuLi9jb2xvciIpLHM9dCgiLi4vZHJhd2luZyIpLGw9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLmFycmF5RWRpdG9yLGM9dCgiLi4vZHJhZ2VsZW1lbnQiKSx1PXQoIi4uLy4uL2xpYi9zZXRjdXJzb3IiKSxoPXQoIi4vY29uc3RhbnRzIiksZj10KCIuL2hlbHBlcnMiKTtmdW5jdGlvbiBwKHQsZSl7dC5fZnVsbExheW91dC5fcGFwZXJkaXYuc2VsZWN0QWxsKCcuc2hhcGVsYXllciBbZGF0YS1pbmRleD0iJytlKyciXScpLnJlbW92ZSgpO3ZhciByPXQuX2Z1bGxMYXlvdXQuc2hhcGVzW2VdfHx7fTtpZihyLl9pbnB1dCYmITEhPT1yLnZpc2libGUpaWYoImJlbG93IiE9PXIubGF5ZXIpbSh0Ll9mdWxsTGF5b3V0Ll9zaGFwZVVwcGVyTGF5ZXIpO2Vsc2UgaWYoInBhcGVyIj09PXIueHJlZnx8InBhcGVyIj09PXIueXJlZiltKHQuX2Z1bGxMYXlvdXQuX3NoYXBlTG93ZXJMYXllcik7ZWxzZXt2YXIgcD10Ll9mdWxsTGF5b3V0Ll9wbG90c1tyLnhyZWYrci55cmVmXTtpZihwKW0oKHAubWFpbnBsb3RpbmZvfHxwKS5zaGFwZWxheWVyKTtlbHNlIG0odC5fZnVsbExheW91dC5fc2hhcGVMb3dlckxheWVyKX1mdW5jdGlvbiBtKHApe3ZhciBtPXsiZGF0YS1pbmRleCI6ZSwiZmlsbC1ydWxlIjoiZXZlbm9kZCIsZDpnKHQscil9LHk9ci5saW5lLndpZHRoP3IubGluZS5jb2xvcjoicmdiYSgwLDAsMCwwKSIseD1wLmFwcGVuZCgicGF0aCIpLmF0dHIobSkuc3R5bGUoIm9wYWNpdHkiLHIub3BhY2l0eSkuY2FsbChvLnN0cm9rZSx5KS5jYWxsKG8uZmlsbCxyLmZpbGxjb2xvcikuY2FsbChzLmRhc2hMaW5lLHIubGluZS5kYXNoLHIubGluZS53aWR0aCk7ZCh4LHQsciksdC5fY29udGV4dC5lZGl0cy5zaGFwZVBvc2l0aW9uJiZmdW5jdGlvbih0LGUscixvLHApe3ZhciBtLHkseCxiLF8sdyxrLFQsTSxBLFMsRSxMLEMsUCxPLHo9MTAsST0xMCxEPSJwaXhlbCI9PT1yLnhzaXplbW9kZSxSPSJwaXhlbCI9PT1yLnlzaXplbW9kZSxGPSJsaW5lIj09PXIudHlwZSxCPSJwYXRoIj09PXIudHlwZSxOPWwodC5sYXlvdXQsInNoYXBlcyIsciksaj1OLm1vZGlmeUl0ZW0sVj1pLmdldEZyb21JZCh0LHIueHJlZiksVT1pLmdldEZyb21JZCh0LHIueXJlZikscT1mLmdldERhdGFUb1BpeGVsKHQsViksSD1mLmdldERhdGFUb1BpeGVsKHQsVSwhMCksRz1mLmdldFBpeGVsVG9EYXRhKHQsViksWT1mLmdldFBpeGVsVG9EYXRhKHQsVSwhMCksVz1GP2Z1bmN0aW9uKCl7dmFyIHQ9TWF0aC5tYXgoci5saW5lLndpZHRoLDEwKSxuPXAuYXBwZW5kKCJnIikuYXR0cigiZGF0YS1pbmRleCIsbyk7bi5hcHBlbmQoInBhdGgiKS5hdHRyKCJkIixlLmF0dHIoImQiKSkuc3R5bGUoe2N1cnNvcjoibW92ZSIsInN0cm9rZS13aWR0aCI6dCwic3Ryb2tlLW9wYWNpdHkiOiIwIn0pO3ZhciBhPXsiZmlsbC1vcGFjaXR5IjoiMCJ9LGk9dC8yPjEwP3QvMjoxMDtyZXR1cm4gbi5hcHBlbmQoImNpcmNsZSIpLmF0dHIoeyJkYXRhLWxpbmUtcG9pbnQiOiJzdGFydC1wb2ludCIsY3g6RD9xKHIueGFuY2hvcikrci54MDpxKHIueDApLGN5OlI/SChyLnlhbmNob3IpLXIueTA6SChyLnkwKSxyOml9KS5zdHlsZShhKS5jbGFzc2VkKCJjdXJzb3ItZ3JhYiIsITApLG4uYXBwZW5kKCJjaXJjbGUiKS5hdHRyKHsiZGF0YS1saW5lLXBvaW50IjoiZW5kLXBvaW50IixjeDpEP3Eoci54YW5jaG9yKStyLngxOnEoci54MSksY3k6Uj9IKHIueWFuY2hvciktci55MTpIKHIueTEpLHI6aX0pLnN0eWxlKGEpLmNsYXNzZWQoImN1cnNvci1ncmFiIiwhMCksbn0oKTplLFg9e2VsZW1lbnQ6Vy5ub2RlKCksZ2Q6dCxwcmVwRm46ZnVuY3Rpb24obil7RCYmKF89cShyLnhhbmNob3IpKTtSJiYodz1IKHIueWFuY2hvcikpOyJwYXRoIj09PXIudHlwZT9QPXIucGF0aDoobT1EP3IueDA6cShyLngwKSx5PVI/ci55MDpIKHIueTApLHg9RD9yLngxOnEoci54MSksYj1SP3IueTE6SChyLnkxKSk7bTx4PyhNPW0sTD0ieDAiLEE9eCxDPSJ4MSIpOihNPXgsTD0ieDEiLEE9bSxDPSJ4MCIpOyFSJiZ5PGJ8fFImJnk+Yj8oaz15LFM9InkwIixUPWIsRT0ieTEiKTooaz1iLFM9InkxIixUPXksRT0ieTAiKTtaKG4pLFEocCxyKSxmdW5jdGlvbih0LGUscil7dmFyIG49ZS54cmVmLGE9ZS55cmVmLG89aS5nZXRGcm9tSWQocixuKSxsPWkuZ2V0RnJvbUlkKHIsYSksYz0iIjsicGFwZXIiPT09bnx8by5hdXRvcmFuZ2V8fChjKz1uKTsicGFwZXIiPT09YXx8bC5hdXRvcmFuZ2V8fChjKz1hKTtzLnNldENsaXBVcmwodCxjPyJjbGlwIityLl9mdWxsTGF5b3V0Ll91aWQrYzpudWxsLHIpfShlLHIsdCksWC5tb3ZlRm49Im1vdmUiPT09Tz9KOkt9LGRvbmVGbjpmdW5jdGlvbigpe3UoZSksJChwKSxkKGUsdCxyKSxuLmNhbGwoIl9ndWlSZWxheW91dCIsdCxOLmdldFVwZGF0ZU9iaigpKX0sY2xpY2tGbjpmdW5jdGlvbigpeyQocCl9fTtmdW5jdGlvbiBaKHQpe2lmKEYpTz0icGF0aCI9PT10LnRhcmdldC50YWdOYW1lPyJtb3ZlIjoic3RhcnQtcG9pbnQiPT09dC50YXJnZXQuYXR0cmlidXRlc1siZGF0YS1saW5lLXBvaW50Il0udmFsdWU/InJlc2l6ZS1vdmVyLXN0YXJ0LXBvaW50IjoicmVzaXplLW92ZXItZW5kLXBvaW50IjtlbHNle3ZhciByPVguZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXIucmlnaHQtci5sZWZ0LGE9ci5ib3R0b20tci50b3AsaT10LmNsaWVudFgtci5sZWZ0LG89dC5jbGllbnRZLXIudG9wLHM9IUImJm4+eiYmYT5JJiYhdC5zaGlmdEtleT9jLmdldEN1cnNvcihpL24sMS1vL2EpOiJtb3ZlIjt1KGUscyksTz1zLnNwbGl0KCItIilbMF19fWZ1bmN0aW9uIEoobixhKXtpZigicGF0aCI9PT1yLnR5cGUpe3ZhciBpPWZ1bmN0aW9uKHQpe3JldHVybiB0fSxvPWkscz1pO0Q/aigieGFuY2hvciIsci54YW5jaG9yPUcoXytuKSk6KG89ZnVuY3Rpb24odCl7cmV0dXJuIEcocSh0KStuKX0sViYmImRhdGUiPT09Vi50eXBlJiYobz1mLmVuY29kZURhdGUobykpKSxSP2ooInlhbmNob3IiLHIueWFuY2hvcj1ZKHcrYSkpOihzPWZ1bmN0aW9uKHQpe3JldHVybiBZKEgodCkrYSl9LFUmJiJkYXRlIj09PVUudHlwZSYmKHM9Zi5lbmNvZGVEYXRlKHMpKSksaigicGF0aCIsci5wYXRoPXYoUCxvLHMpKX1lbHNlIEQ/aigieGFuY2hvciIsci54YW5jaG9yPUcoXytuKSk6KGooIngwIixyLngwPUcobStuKSksaigieDEiLHIueDE9Ryh4K24pKSksUj9qKCJ5YW5jaG9yIixyLnlhbmNob3I9WSh3K2EpKTooaigieTAiLHIueTA9WSh5K2EpKSxqKCJ5MSIsci55MT1ZKGIrYSkpKTtlLmF0dHIoImQiLGcodCxyKSksUShwLHIpfWZ1bmN0aW9uIEsobixhKXtpZihCKXt2YXIgaT1mdW5jdGlvbih0KXtyZXR1cm4gdH0sbz1pLHM9aTtEP2ooInhhbmNob3IiLHIueGFuY2hvcj1HKF8rbikpOihvPWZ1bmN0aW9uKHQpe3JldHVybiBHKHEodCkrbil9LFYmJiJkYXRlIj09PVYudHlwZSYmKG89Zi5lbmNvZGVEYXRlKG8pKSksUj9qKCJ5YW5jaG9yIixyLnlhbmNob3I9WSh3K2EpKToocz1mdW5jdGlvbih0KXtyZXR1cm4gWShIKHQpK2EpfSxVJiYiZGF0ZSI9PT1VLnR5cGUmJihzPWYuZW5jb2RlRGF0ZShzKSkpLGooInBhdGgiLHIucGF0aD12KFAsbyxzKSl9ZWxzZSBpZihGKXtpZigicmVzaXplLW92ZXItc3RhcnQtcG9pbnQiPT09Tyl7dmFyIGw9bStuLGM9Uj95LWE6eSthO2ooIngwIixyLngwPUQ/bDpHKGwpKSxqKCJ5MCIsci55MD1SP2M6WShjKSl9ZWxzZSBpZigicmVzaXplLW92ZXItZW5kLXBvaW50Ij09PU8pe3ZhciB1PXgrbixoPVI/Yi1hOmIrYTtqKCJ4MSIsci54MT1EP3U6Ryh1KSksaigieTEiLHIueTE9Uj9oOlkoaCkpfX1lbHNle3ZhciBkPX5PLmluZGV4T2YoIm4iKT9rK2E6ayxOPX5PLmluZGV4T2YoInMiKT9UK2E6VCxXPX5PLmluZGV4T2YoInciKT9NK246TSxYPX5PLmluZGV4T2YoImUiKT9BK246QTt+Ty5pbmRleE9mKCJuIikmJlImJihkPWstYSksfk8uaW5kZXhPZigicyIpJiZSJiYoTj1ULWEpLCghUiYmTi1kPkl8fFImJmQtTj5JKSYmKGooUyxyW1NdPVI/ZDpZKGQpKSxqKEUscltFXT1SP046WShOKSkpLFgtVz56JiYoaihMLHJbTF09RD9XOkcoVykpLGooQyxyW0NdPUQ/WDpHKFgpKSl9ZS5hdHRyKCJkIixnKHQscikpLFEocCxyKX1mdW5jdGlvbiBRKHQsZSl7KER8fFIpJiZmdW5jdGlvbigpe3ZhciByPSJwYXRoIiE9PWUudHlwZSxuPXQuc2VsZWN0QWxsKCIudmlzdWFsLWN1ZSIpLmRhdGEoWzBdKTtuLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuYXR0cih7ZmlsbDoiI2ZmZiIsImZpbGwtcnVsZSI6ImV2ZW5vZGQiLHN0cm9rZToiIzAwMCIsInN0cm9rZS13aWR0aCI6MX0pLmNsYXNzZWQoInZpc3VhbC1jdWUiLCEwKTt2YXIgaT1xKEQ/ZS54YW5jaG9yOmEubWlkUmFuZ2Uocj9bZS54MCxlLngxXTpmLmV4dHJhY3RQYXRoQ29vcmRzKGUucGF0aCxoLnBhcmFtSXNYKSkpLG89SChSP2UueWFuY2hvcjphLm1pZFJhbmdlKHI/W2UueTAsZS55MV06Zi5leHRyYWN0UGF0aENvb3JkcyhlLnBhdGgsaC5wYXJhbUlzWSkpKTtpZihpPWYucm91bmRQb3NpdGlvbkZvclNoYXJwU3Ryb2tlUmVuZGVyaW5nKGksMSksbz1mLnJvdW5kUG9zaXRpb25Gb3JTaGFycFN0cm9rZVJlbmRlcmluZyhvLDEpLEQmJlIpe3ZhciBzPSJNIisoaS0xLTEpKyIsIisoby0xLTEpKyJoLTh2Mmg4IHY4aDJ2LTggaDh2LTJoLTggdi04aC0yIFoiO24uYXR0cigiZCIscyl9ZWxzZSBpZihEKXt2YXIgbD0iTSIrKGktMS0xKSsiLCIrKG8tOS0xKSsidjE4IGgyIHYtMTggWiI7bi5hdHRyKCJkIixsKX1lbHNle3ZhciBjPSJNIisoaS05LTEpKyIsIisoby0xLTEpKyJoMTggdjIgaC0xOCBaIjtuLmF0dHIoImQiLGMpfX0oKX1mdW5jdGlvbiAkKHQpe3Quc2VsZWN0QWxsKCIudmlzdWFsLWN1ZSIpLnJlbW92ZSgpfWMuaW5pdChYKSxXLm5vZGUoKS5vbm1vdXNlbW92ZT1afSh0LHgscixlLHApfX1mdW5jdGlvbiBkKHQsZSxyKXt2YXIgbj0oci54cmVmK3IueXJlZikucmVwbGFjZSgvcGFwZXIvZywiIik7cy5zZXRDbGlwVXJsKHQsbj8iY2xpcCIrZS5fZnVsbExheW91dC5fdWlkK246bnVsbCxlKX1mdW5jdGlvbiBnKHQsZSl7dmFyIHIsbixvLHMsbCxjLHUscCxkPWUudHlwZSxnPWkuZ2V0RnJvbUlkKHQsZS54cmVmKSx2PWkuZ2V0RnJvbUlkKHQsZS55cmVmKSxtPXQuX2Z1bGxMYXlvdXQuX3NpemU7aWYoZz8ocj1mLnNoYXBlUG9zaXRpb25Ub1JhbmdlKGcpLG49ZnVuY3Rpb24odCl7cmV0dXJuIGcuX29mZnNldCtnLnIycChyKHQsITApKX0pOm49ZnVuY3Rpb24odCl7cmV0dXJuIG0ubCttLncqdH0sdj8obz1mLnNoYXBlUG9zaXRpb25Ub1JhbmdlKHYpLHM9ZnVuY3Rpb24odCl7cmV0dXJuIHYuX29mZnNldCt2LnIycChvKHQsITApKX0pOnM9ZnVuY3Rpb24odCl7cmV0dXJuIG0udCttLmgqKDEtdCl9LCJwYXRoIj09PWQpcmV0dXJuIGcmJiJkYXRlIj09PWcudHlwZSYmKG49Zi5kZWNvZGVEYXRlKG4pKSx2JiYiZGF0ZSI9PT12LnR5cGUmJihzPWYuZGVjb2RlRGF0ZShzKSksZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQucGF0aCxpPXQueHNpemVtb2RlLG89dC55c2l6ZW1vZGUscz10LnhhbmNob3IsbD10LnlhbmNob3I7cmV0dXJuIG4ucmVwbGFjZShoLnNlZ21lbnRSRSxmdW5jdGlvbih0KXt2YXIgbj0wLGM9dC5jaGFyQXQoMCksdT1oLnBhcmFtSXNYW2NdLGY9aC5wYXJhbUlzWVtjXSxwPWgubnVtUGFyYW1zW2NdLGQ9dC5zdWJzdHIoMSkucmVwbGFjZShoLnBhcmFtUkUsZnVuY3Rpb24odCl7cmV0dXJuIHVbbl0/dD0icGl4ZWwiPT09aT9lKHMpK051bWJlcih0KTplKHQpOmZbbl0mJih0PSJwaXhlbCI9PT1vP3IobCktTnVtYmVyKHQpOnIodCkpLCsrbj5wJiYodD0iWCIpLHR9KTtyZXR1cm4gbj5wJiYoZD1kLnJlcGxhY2UoL1tccyxdKlguKi8sIiIpLGEubG9nKCJJZ25vcmluZyBleHRyYSBwYXJhbXMgaW4gc2VnbWVudCAiK3QpKSxjK2R9KX0oZSxuLHMpO2lmKCJwaXhlbCI9PT1lLnhzaXplbW9kZSl7dmFyIHk9bihlLnhhbmNob3IpO2w9eStlLngwLGM9eStlLngxfWVsc2UgbD1uKGUueDApLGM9bihlLngxKTtpZigicGl4ZWwiPT09ZS55c2l6ZW1vZGUpe3ZhciB4PXMoZS55YW5jaG9yKTt1PXgtZS55MCxwPXgtZS55MX1lbHNlIHU9cyhlLnkwKSxwPXMoZS55MSk7aWYoImxpbmUiPT09ZClyZXR1cm4iTSIrbCsiLCIrdSsiTCIrYysiLCIrcDtpZigicmVjdCI9PT1kKXJldHVybiJNIitsKyIsIit1KyJIIitjKyJWIitwKyJIIitsKyJaIjt2YXIgYj0obCtjKS8yLF89KHUrcCkvMix3PU1hdGguYWJzKGItbCksaz1NYXRoLmFicyhfLXUpLFQ9IkEiK3crIiwiK2ssTT1iK3crIiwiK187cmV0dXJuIk0iK00rVCsiIDAgMSwxICIrKGIrIiwiKyhfLWspKStUKyIgMCAwLDEgIitNKyJaIn1mdW5jdGlvbiB2KHQsZSxyKXtyZXR1cm4gdC5yZXBsYWNlKGguc2VnbWVudFJFLGZ1bmN0aW9uKHQpe3ZhciBuPTAsYT10LmNoYXJBdCgwKSxpPWgucGFyYW1Jc1hbYV0sbz1oLnBhcmFtSXNZW2FdLHM9aC5udW1QYXJhbXNbYV07cmV0dXJuIGErdC5zdWJzdHIoMSkucmVwbGFjZShoLnBhcmFtUkUsZnVuY3Rpb24odCl7cmV0dXJuIG4+PXM/dDooaVtuXT90PWUodCk6b1tuXSYmKHQ9cih0KSksbisrLHQpfSl9KX1lLmV4cG9ydHM9e2RyYXc6ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dDtmb3IodmFyIHIgaW4gZS5fc2hhcGVVcHBlckxheWVyLnNlbGVjdEFsbCgicGF0aCIpLnJlbW92ZSgpLGUuX3NoYXBlTG93ZXJMYXllci5zZWxlY3RBbGwoInBhdGgiKS5yZW1vdmUoKSxlLl9wbG90cyl7dmFyIG49ZS5fcGxvdHNbcl0uc2hhcGVsYXllcjtuJiZuLnNlbGVjdEFsbCgicGF0aCIpLnJlbW92ZSgpfWZvcih2YXIgYT0wO2E8ZS5zaGFwZXMubGVuZ3RoO2ErKyllLnNoYXBlc1thXS52aXNpYmxlJiZwKHQsYSl9LGRyYXdPbmU6cH19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zZXRjdXJzb3IiOjczNywiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9jb2xvciI6NTkyLCIuLi9kcmFnZWxlbWVudCI6NjEwLCIuLi9kcmF3aW5nIjo2MTMsIi4vY29uc3RhbnRzIjo2NjksIi4vaGVscGVycyI6NjcyfV0sNjcyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vY29uc3RhbnRzIiksYT10KCIuLi8uLi9saWIiKTtyLnJhbmdlVG9TaGFwZVBvc2l0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiJsb2ciPT09dC50eXBlP3QucjJkOmZ1bmN0aW9uKHQpe3JldHVybiB0fX0sci5zaGFwZVBvc2l0aW9uVG9SYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4ibG9nIj09PXQudHlwZT90LmQycjpmdW5jdGlvbih0KXtyZXR1cm4gdH19LHIuZGVjb2RlRGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSYmKGU9ZS5yZXBsYWNlKCJfIiwiICIpKSx0KGUpfX0sci5lbmNvZGVEYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKS5yZXBsYWNlKCIgIiwiXyIpfX0sci5leHRyYWN0UGF0aENvb3Jkcz1mdW5jdGlvbih0LGUpe3ZhciByPVtdO3JldHVybiB0Lm1hdGNoKG4uc2VnbWVudFJFKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpPWVbdC5jaGFyQXQoMCldLmRyYXduO2lmKHZvaWQgMCE9PWkpe3ZhciBvPXQuc3Vic3RyKDEpLm1hdGNoKG4ucGFyYW1SRSk7IW98fG8ubGVuZ3RoPGl8fHIucHVzaChhLmNsZWFuTnVtYmVyKG9baV0pKX19KSxyfSxyLmdldERhdGFUb1BpeGVsPWZ1bmN0aW9uKHQsZSxuKXt2YXIgYSxpPXQuX2Z1bGxMYXlvdXQuX3NpemU7aWYoZSl7dmFyIG89ci5zaGFwZVBvc2l0aW9uVG9SYW5nZShlKTthPWZ1bmN0aW9uKHQpe3JldHVybiBlLl9vZmZzZXQrZS5yMnAobyh0LCEwKSl9LCJkYXRlIj09PWUudHlwZSYmKGE9ci5kZWNvZGVEYXRlKGEpKX1lbHNlIGE9bj9mdW5jdGlvbih0KXtyZXR1cm4gaS50K2kuaCooMS10KX06ZnVuY3Rpb24odCl7cmV0dXJuIGkubCtpLncqdH07cmV0dXJuIGF9LHIuZ2V0UGl4ZWxUb0RhdGE9ZnVuY3Rpb24odCxlLG4pe3ZhciBhLGk9dC5fZnVsbExheW91dC5fc2l6ZTtpZihlKXt2YXIgbz1yLnJhbmdlVG9TaGFwZVBvc2l0aW9uKGUpO2E9ZnVuY3Rpb24odCl7cmV0dXJuIG8oZS5wMnIodC1lLl9vZmZzZXQpKX19ZWxzZSBhPW4/ZnVuY3Rpb24odCl7cmV0dXJuIDEtKHQtaS50KS9pLmh9OmZ1bmN0aW9uKHQpe3JldHVybih0LWkubCkvaS53fTtyZXR1cm4gYX0sci5yb3VuZFBvc2l0aW9uRm9yU2hhcnBTdHJva2VSZW5kZXJpbmc9ZnVuY3Rpb24odCxlKXt2YXIgcj0xPT09TWF0aC5yb3VuZChlJTIpLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gcj9uKy41Om59fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2NvbnN0YW50cyI6NjY5fV0sNjczOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vZHJhdyIpO2UuZXhwb3J0cz17bW9kdWxlVHlwZToiY29tcG9uZW50IixuYW1lOiJzaGFwZXMiLGxheW91dEF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGluY2x1ZGVCYXNlUGxvdDp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vaW5jbHVkZV9jb21wb25lbnRzIikoInNoYXBlcyIpLGNhbGNBdXRvcmFuZ2U6dCgiLi9jYWxjX2F1dG9yYW5nZSIpLGRyYXc6bi5kcmF3LGRyYXdPbmU6bi5kcmF3T25lfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vaW5jbHVkZV9jb21wb25lbnRzIjo3NzUsIi4vYXR0cmlidXRlcyI6NjY3LCIuL2NhbGNfYXV0b3JhbmdlIjo2NjgsIi4vZGVmYXVsdHMiOjY3MCwiLi9kcmF3Ijo2NzF9XSw2NzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9wbG90cy9wYWRfYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZERlZXBBbGwsbz10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwscz10KCIuLi8uLi9wbG90cy9hbmltYXRpb25fYXR0cmlidXRlcyIpLGw9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLnRlbXBsYXRlZEFycmF5LGM9dCgiLi9jb25zdGFudHMiKSx1PWwoInN0ZXAiLHt2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSxtZXRob2Q6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInJlc3R5bGUiLCJyZWxheW91dCIsImFuaW1hdGUiLCJ1cGRhdGUiLCJza2lwIl0sZGZsdDoicmVzdHlsZSJ9LGFyZ3M6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGZyZWVMZW5ndGg6ITAsaXRlbXM6W3t2YWxUeXBlOiJhbnkifSx7dmFsVHlwZToiYW55In0se3ZhbFR5cGU6ImFueSJ9XX0sbGFiZWw6e3ZhbFR5cGU6InN0cmluZyJ9LHZhbHVlOnt2YWxUeXBlOiJzdHJpbmcifSxleGVjdXRlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfX0pO2UuZXhwb3J0cz1vKGwoInNsaWRlciIse3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LGFjdGl2ZTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjB9LHN0ZXBzOnUsbGVubW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZnJhY3Rpb24iLCJwaXhlbHMiXSxkZmx0OiJmcmFjdGlvbiJ9LGxlbjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjF9LHg6e3ZhbFR5cGU6Im51bWJlciIsbWluOi0yLG1heDozLGRmbHQ6MH0scGFkOmkoYSh7ZWRpdFR5cGU6ImFycmF5ZHJhdyJ9KSx7fSx7dDp7ZGZsdDoyMH19KSx4YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhdXRvIiwibGVmdCIsImNlbnRlciIsInJpZ2h0Il0sZGZsdDoibGVmdCJ9LHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOi0yLG1heDozLGRmbHQ6MH0seWFuY2hvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYXV0byIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSJdLGRmbHQ6InRvcCJ9LHRyYW5zaXRpb246e2R1cmF0aW9uOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MTUwfSxlYXNpbmc6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpzLnRyYW5zaXRpb24uZWFzaW5nLnZhbHVlcyxkZmx0OiJjdWJpYy1pbi1vdXQifX0sY3VycmVudHZhbHVlOnt2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSx4YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiXSxkZmx0OiJsZWZ0In0sb2Zmc2V0Ont2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MTB9LHByZWZpeDp7dmFsVHlwZToic3RyaW5nIn0sc3VmZml4Ont2YWxUeXBlOiJzdHJpbmcifSxmb250Om4oe30pfSxmb250Om4oe30pLGFjdGl2ZWJnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmMuZ3JpcEJnQWN0aXZlQ29sb3J9LGJnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmMucmFpbEJnQ29sb3J9LGJvcmRlcmNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpjLnJhaWxCb3JkZXJDb2xvcn0sYm9yZGVyd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDpjLnJhaWxCb3JkZXJXaWR0aH0sdGlja2xlbjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OmMudGlja0xlbmd0aH0sdGlja2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpjLnRpY2tDb2xvcn0sdGlja3dpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX0sbWlub3J0aWNrbGVuOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6Yy5taW5vclRpY2tMZW5ndGh9fSksImFycmF5ZHJhdyIsImZyb20tcm9vdCIpfSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uLy4uL3Bsb3RzL2FuaW1hdGlvbl9hdHRyaWJ1dGVzIjo3NjAsIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyI6NzkxLCIuLi8uLi9wbG90cy9wYWRfYXR0cmlidXRlcyI6ODI1LCIuL2NvbnN0YW50cyI6Njc1fV0sNjc1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bmFtZToic2xpZGVycyIsY29udGFpbmVyQ2xhc3NOYW1lOiJzbGlkZXItY29udGFpbmVyIixncm91cENsYXNzTmFtZToic2xpZGVyLWdyb3VwIixpbnB1dEFyZWFDbGFzczoic2xpZGVyLWlucHV0LWFyZWEiLHJhaWxSZWN0Q2xhc3M6InNsaWRlci1yYWlsLXJlY3QiLHJhaWxUb3VjaFJlY3RDbGFzczoic2xpZGVyLXJhaWwtdG91Y2gtcmVjdCIsZ3JpcFJlY3RDbGFzczoic2xpZGVyLWdyaXAtcmVjdCIsdGlja1JlY3RDbGFzczoic2xpZGVyLXRpY2stcmVjdCIsaW5wdXRQcm94eUNsYXNzOiJzbGlkZXItaW5wdXQtcHJveHkiLGxhYmVsc0NsYXNzOiJzbGlkZXItbGFiZWxzIixsYWJlbEdyb3VwQ2xhc3M6InNsaWRlci1sYWJlbC1ncm91cCIsbGFiZWxDbGFzczoic2xpZGVyLWxhYmVsIixjdXJyZW50VmFsdWVDbGFzczoic2xpZGVyLWN1cnJlbnQtdmFsdWUiLHJhaWxIZWlnaHQ6NSxtZW51SW5kZXhBdHRyTmFtZToic2xpZGVyLWFjdGl2ZS1pbmRleCIsYXV0b01hcmdpbklkUm9vdDoic2xpZGVyLSIsbWluV2lkdGg6MzAsbWluSGVpZ2h0OjMwLHRleHRQYWRYOjQwLGFycm93T2Zmc2V0WDo0LHJhaWxSYWRpdXM6MixyYWlsV2lkdGg6NSxyYWlsQm9yZGVyOjQscmFpbEJvcmRlcldpZHRoOjEscmFpbEJvcmRlckNvbG9yOiIjYmVjOGQ5IixyYWlsQmdDb2xvcjoiI2Y4ZmFmYyIscmFpbEluc2V0Ojgsc3RlcEluc2V0OjEwLGdyaXBSYWRpdXM6MTAsZ3JpcFdpZHRoOjIwLGdyaXBIZWlnaHQ6MjAsZ3JpcEJvcmRlcjoyMCxncmlwQm9yZGVyV2lkdGg6MSxncmlwQm9yZGVyQ29sb3I6IiNiZWM4ZDkiLGdyaXBCZ0NvbG9yOiIjZjZmOGZhIixncmlwQmdBY3RpdmVDb2xvcjoiI2RiZGRlMCIsbGFiZWxQYWRkaW5nOjgsbGFiZWxPZmZzZXQ6MCx0aWNrV2lkdGg6MSx0aWNrQ29sb3I6IiMzMzMiLHRpY2tPZmZzZXQ6MjUsdGlja0xlbmd0aDo3LG1pbm9yVGlja09mZnNldDoyNSxtaW5vclRpY2tDb2xvcjoiIzMzMyIsbWlub3JUaWNrTGVuZ3RoOjQsY3VycmVudFZhbHVlUGFkZGluZzo4LGN1cnJlbnRWYWx1ZUluc2V0OjB9fSx7fV0sNjc2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcGxvdHMvYXJyYXlfY29udGFpbmVyX2RlZmF1bHRzIiksaT10KCIuL2F0dHJpYnV0ZXMiKSxvPXQoIi4vY29uc3RhbnRzIikubmFtZSxzPWkuc3RlcHM7ZnVuY3Rpb24gbCh0LGUscil7ZnVuY3Rpb24gbyhyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsaSxyLGEpfWZvcih2YXIgcz1hKHQsZSx7bmFtZToic3RlcHMiLGhhbmRsZUl0ZW1EZWZhdWx0czpjfSksbD0wLHU9MDt1PHMubGVuZ3RoO3UrKylzW3VdLnZpc2libGUmJmwrKztpZihsPDI/ZS52aXNpYmxlPSExOm8oInZpc2libGUiKSl7ZS5fc3RlcENvdW50PWw7dmFyIGg9ZS5fdmlzaWJsZVN0ZXBzPW4uZmlsdGVyVmlzaWJsZShzKTsoc1tvKCJhY3RpdmUiKV18fHt9KS52aXNpYmxlfHwoZS5hY3RpdmU9aFswXS5faW5kZXgpLG8oIngiKSxvKCJ5Iiksbi5ub25lT3JBbGwodCxlLFsieCIsInkiXSksbygieGFuY2hvciIpLG8oInlhbmNob3IiKSxvKCJsZW4iKSxvKCJsZW5tb2RlIiksbygicGFkLnQiKSxvKCJwYWQuciIpLG8oInBhZC5iIiksbygicGFkLmwiKSxuLmNvZXJjZUZvbnQobywiZm9udCIsci5mb250KSxvKCJjdXJyZW50dmFsdWUudmlzaWJsZSIpJiYobygiY3VycmVudHZhbHVlLnhhbmNob3IiKSxvKCJjdXJyZW50dmFsdWUucHJlZml4IiksbygiY3VycmVudHZhbHVlLnN1ZmZpeCIpLG8oImN1cnJlbnR2YWx1ZS5vZmZzZXQiKSxuLmNvZXJjZUZvbnQobywiY3VycmVudHZhbHVlLmZvbnQiLGUuZm9udCkpLG8oInRyYW5zaXRpb24uZHVyYXRpb24iKSxvKCJ0cmFuc2l0aW9uLmVhc2luZyIpLG8oImJnY29sb3IiKSxvKCJhY3RpdmViZ2NvbG9yIiksbygiYm9yZGVyY29sb3IiKSxvKCJib3JkZXJ3aWR0aCIpLG8oInRpY2tsZW4iKSxvKCJ0aWNrd2lkdGgiKSxvKCJ0aWNrY29sb3IiKSxvKCJtaW5vcnRpY2tsZW4iKX19ZnVuY3Rpb24gYyh0LGUpe2Z1bmN0aW9uIHIocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLHMscixhKX1pZigic2tpcCI9PT10Lm1ldGhvZHx8QXJyYXkuaXNBcnJheSh0LmFyZ3MpP3IoInZpc2libGUiKTplLnZpc2libGU9ITEpe3IoIm1ldGhvZCIpLHIoImFyZ3MiKTt2YXIgYT1yKCJsYWJlbCIsInN0ZXAtIitlLl9pbmRleCk7cigidmFsdWUiLGEpLHIoImV4ZWN1dGUiKX19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7YSh0LGUse25hbWU6byxoYW5kbGVJdGVtRGVmYXVsdHM6bH0pfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvYXJyYXlfY29udGFpbmVyX2RlZmF1bHRzIjo3NjEsIi4vYXR0cmlidXRlcyI6Njc0LCIuL2NvbnN0YW50cyI6Njc1fV0sNjc3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9wbG90cy9wbG90cyIpLGk9dCgiLi4vY29sb3IiKSxvPXQoIi4uL2RyYXdpbmciKSxzPXQoIi4uLy4uL2xpYiIpLGw9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksYz10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIikuYXJyYXlFZGl0b3IsdT10KCIuL2NvbnN0YW50cyIpLGg9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLGY9aC5MSU5FX1NQQUNJTkcscD1oLkZST01fVEwsZD1oLkZST01fQlI7ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdS5hdXRvTWFyZ2luSWRSb290K3QuX2luZGV4fWZ1bmN0aW9uIHYodCl7cmV0dXJuIHQuX2luZGV4fWZ1bmN0aW9uIG0odCxlKXt2YXIgcj1vLnRlc3Rlci5zZWxlY3RBbGwoImcuIit1LmxhYmVsR3JvdXBDbGFzcykuZGF0YShlLl92aXNpYmxlU3RlcHMpO3IuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKHUubGFiZWxHcm91cENsYXNzLCEwKTt2YXIgaT0wLGM9MDtyLmVhY2goZnVuY3Rpb24odCl7dmFyIHI9YihuLnNlbGVjdCh0aGlzKSx7c3RlcDp0fSxlKS5ub2RlKCk7aWYocil7dmFyIGE9by5iQm94KHIpO2M9TWF0aC5tYXgoYyxhLmhlaWdodCksaT1NYXRoLm1heChpLGEud2lkdGgpfX0pLHIucmVtb3ZlKCk7dmFyIGg9ZS5fZGltcz17fTtoLmlucHV0QXJlYVdpZHRoPU1hdGgubWF4KHUucmFpbFdpZHRoLHUuZ3JpcEhlaWdodCk7dmFyIGY9dC5fZnVsbExheW91dC5fc2l6ZTtoLmx4PWYubCtmLncqZS54LGgubHk9Zi50K2YuaCooMS1lLnkpLCJmcmFjdGlvbiI9PT1lLmxlbm1vZGU/aC5vdXRlckxlbmd0aD1NYXRoLnJvdW5kKGYudyplLmxlbik6aC5vdXRlckxlbmd0aD1lLmxlbixoLmlucHV0QXJlYVN0YXJ0PTAsaC5pbnB1dEFyZWFMZW5ndGg9TWF0aC5yb3VuZChoLm91dGVyTGVuZ3RoLWUucGFkLmwtZS5wYWQucik7dmFyIHY9KGguaW5wdXRBcmVhTGVuZ3RoLTIqdS5zdGVwSW5zZXQpLyhlLl9zdGVwQ291bnQtMSksbT1pK3UubGFiZWxQYWRkaW5nO2lmKGgubGFiZWxTdHJpZGU9TWF0aC5tYXgoMSxNYXRoLmNlaWwobS92KSksaC5sYWJlbEhlaWdodD1jLGguY3VycmVudFZhbHVlTWF4V2lkdGg9MCxoLmN1cnJlbnRWYWx1ZUhlaWdodD0wLGguY3VycmVudFZhbHVlVG90YWxIZWlnaHQ9MCxoLmN1cnJlbnRWYWx1ZU1heExpbmVzPTEsZS5jdXJyZW50dmFsdWUudmlzaWJsZSl7dmFyIHg9by50ZXN0ZXIuYXBwZW5kKCJnIik7ci5lYWNoKGZ1bmN0aW9uKHQpe3ZhciByPXkoeCxlLHQubGFiZWwpLG49ci5ub2RlKCkmJm8uYkJveChyLm5vZGUoKSl8fHt3aWR0aDowLGhlaWdodDowfSxhPWwubGluZUNvdW50KHIpO2guY3VycmVudFZhbHVlTWF4V2lkdGg9TWF0aC5tYXgoaC5jdXJyZW50VmFsdWVNYXhXaWR0aCxNYXRoLmNlaWwobi53aWR0aCkpLGguY3VycmVudFZhbHVlSGVpZ2h0PU1hdGgubWF4KGguY3VycmVudFZhbHVlSGVpZ2h0LE1hdGguY2VpbChuLmhlaWdodCkpLGguY3VycmVudFZhbHVlTWF4TGluZXM9TWF0aC5tYXgoaC5jdXJyZW50VmFsdWVNYXhMaW5lcyxhKX0pLGguY3VycmVudFZhbHVlVG90YWxIZWlnaHQ9aC5jdXJyZW50VmFsdWVIZWlnaHQrZS5jdXJyZW50dmFsdWUub2Zmc2V0LHgucmVtb3ZlKCl9aC5oZWlnaHQ9aC5jdXJyZW50VmFsdWVUb3RhbEhlaWdodCt1LnRpY2tPZmZzZXQrZS50aWNrbGVuK3UubGFiZWxPZmZzZXQraC5sYWJlbEhlaWdodCtlLnBhZC50K2UucGFkLmI7dmFyIF89ImxlZnQiO3MuaXNSaWdodEFuY2hvcihlKSYmKGgubHgtPWgub3V0ZXJMZW5ndGgsXz0icmlnaHQiKSxzLmlzQ2VudGVyQW5jaG9yKGUpJiYoaC5seC09aC5vdXRlckxlbmd0aC8yLF89ImNlbnRlciIpO3ZhciB3PSJ0b3AiO3MuaXNCb3R0b21BbmNob3IoZSkmJihoLmx5LT1oLmhlaWdodCx3PSJib3R0b20iKSxzLmlzTWlkZGxlQW5jaG9yKGUpJiYoaC5seS09aC5oZWlnaHQvMix3PSJtaWRkbGUiKSxoLm91dGVyTGVuZ3RoPU1hdGguY2VpbChoLm91dGVyTGVuZ3RoKSxoLmhlaWdodD1NYXRoLmNlaWwoaC5oZWlnaHQpLGgubHg9TWF0aC5yb3VuZChoLmx4KSxoLmx5PU1hdGgucm91bmQoaC5seSk7dmFyIGs9e3k6ZS55LGI6aC5oZWlnaHQqZFt3XSx0OmguaGVpZ2h0KnBbd119OyJmcmFjdGlvbiI9PT1lLmxlbm1vZGU/KGsubD0wLGsueGw9ZS54LWUubGVuKnBbX10say5yPTAsay54cj1lLngrZS5sZW4qZFtfXSk6KGsueD1lLngsay5sPWgub3V0ZXJMZW5ndGgqcFtfXSxrLnI9aC5vdXRlckxlbmd0aCpkW19dKSxhLmF1dG9NYXJnaW4odCxnKGUpLGspfWZ1bmN0aW9uIHkodCxlLHIpe2lmKGUuY3VycmVudHZhbHVlLnZpc2libGUpe3ZhciBuLGEsaT1lLl9kaW1zO3N3aXRjaChlLmN1cnJlbnR2YWx1ZS54YW5jaG9yKXtjYXNlInJpZ2h0IjpuPWkuaW5wdXRBcmVhTGVuZ3RoLXUuY3VycmVudFZhbHVlSW5zZXQtaS5jdXJyZW50VmFsdWVNYXhXaWR0aCxhPSJsZWZ0IjticmVhaztjYXNlImNlbnRlciI6bj0uNSppLmlucHV0QXJlYUxlbmd0aCxhPSJtaWRkbGUiO2JyZWFrO2RlZmF1bHQ6bj11LmN1cnJlbnRWYWx1ZUluc2V0LGE9ImxlZnQifXZhciBjPXMuZW5zdXJlU2luZ2xlKHQsInRleHQiLHUubGFiZWxDbGFzcyxmdW5jdGlvbih0KXt0LmNsYXNzZWQoInVzZXItc2VsZWN0LW5vbmUiLCEwKS5hdHRyKHsidGV4dC1hbmNob3IiOmEsImRhdGEtbm90ZXgiOjF9KX0pLGg9ZS5jdXJyZW50dmFsdWUucHJlZml4P2UuY3VycmVudHZhbHVlLnByZWZpeDoiIjtpZigic3RyaW5nIj09dHlwZW9mIHIpaCs9cjtlbHNle3ZhciBwPWUuc3RlcHNbZS5hY3RpdmVdLmxhYmVsLGQ9ZS5fZ2QuX2Z1bGxMYXlvdXQuX21ldGE7ZCYmKHA9cy50ZW1wbGF0ZVN0cmluZyhwLGQpKSxoKz1wfWUuY3VycmVudHZhbHVlLnN1ZmZpeCYmKGgrPWUuY3VycmVudHZhbHVlLnN1ZmZpeCksYy5jYWxsKG8uZm9udCxlLmN1cnJlbnR2YWx1ZS5mb250KS50ZXh0KGgpLmNhbGwobC5jb252ZXJ0VG9Uc3BhbnMsZS5fZ2QpO3ZhciBnPWwubGluZUNvdW50KGMpLHY9KGkuY3VycmVudFZhbHVlTWF4TGluZXMrMS1nKSplLmN1cnJlbnR2YWx1ZS5mb250LnNpemUqZjtyZXR1cm4gbC5wb3NpdGlvblRleHQoYyxuLHYpLGN9fWZ1bmN0aW9uIHgodCxlLHIpe3MuZW5zdXJlU2luZ2xlKHQsInJlY3QiLHUuZ3JpcFJlY3RDbGFzcyxmdW5jdGlvbihuKXtuLmNhbGwoVCxlLHQscikuc3R5bGUoInBvaW50ZXItZXZlbnRzIiwiYWxsIil9KS5hdHRyKHt3aWR0aDp1LmdyaXBXaWR0aCxoZWlnaHQ6dS5ncmlwSGVpZ2h0LHJ4OnUuZ3JpcFJhZGl1cyxyeTp1LmdyaXBSYWRpdXN9KS5jYWxsKGkuc3Ryb2tlLHIuYm9yZGVyY29sb3IpLmNhbGwoaS5maWxsLHIuYmdjb2xvcikuc3R5bGUoInN0cm9rZS13aWR0aCIsci5ib3JkZXJ3aWR0aCsicHgiKX1mdW5jdGlvbiBiKHQsZSxyKXt2YXIgbj1zLmVuc3VyZVNpbmdsZSh0LCJ0ZXh0Iix1LmxhYmVsQ2xhc3MsZnVuY3Rpb24odCl7dC5jbGFzc2VkKCJ1c2VyLXNlbGVjdC1ub25lIiwhMCkuYXR0cih7InRleHQtYW5jaG9yIjoibWlkZGxlIiwiZGF0YS1ub3RleCI6MX0pfSksYT1lLnN0ZXAubGFiZWwsaT1yLl9nZC5fZnVsbExheW91dC5fbWV0YTtyZXR1cm4gaSYmKGE9cy50ZW1wbGF0ZVN0cmluZyhhLGkpKSxuLmNhbGwoby5mb250LHIuZm9udCkudGV4dChhKS5jYWxsKGwuY29udmVydFRvVHNwYW5zLHIuX2dkKSxufWZ1bmN0aW9uIF8odCxlKXt2YXIgcj1zLmVuc3VyZVNpbmdsZSh0LCJnIix1LmxhYmVsc0NsYXNzKSxhPWUuX2RpbXMsaT1yLnNlbGVjdEFsbCgiZy4iK3UubGFiZWxHcm91cENsYXNzKS5kYXRhKGEubGFiZWxTdGVwcyk7aS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQodS5sYWJlbEdyb3VwQ2xhc3MsITApLGkuZXhpdCgpLnJlbW92ZSgpLGkuZWFjaChmdW5jdGlvbih0KXt2YXIgcj1uLnNlbGVjdCh0aGlzKTtyLmNhbGwoYix0LGUpLG8uc2V0VHJhbnNsYXRlKHIsUyhlLHQuZnJhY3Rpb24pLHUudGlja09mZnNldCtlLnRpY2tsZW4rZS5mb250LnNpemUqZit1LmxhYmVsT2Zmc2V0K2EuY3VycmVudFZhbHVlVG90YWxIZWlnaHQpfSl9ZnVuY3Rpb24gdyh0LGUscixuLGEpe3ZhciBpPU1hdGgucm91bmQobiooci5fc3RlcENvdW50LTEpKSxvPXIuX3Zpc2libGVTdGVwc1tpXS5faW5kZXg7byE9PXIuYWN0aXZlJiZrKHQsZSxyLG8sITAsYSl9ZnVuY3Rpb24gayh0LGUscixuLGksbyl7dmFyIHM9ci5hY3RpdmU7ci5hY3RpdmU9bixjKHQubGF5b3V0LHUubmFtZSxyKS5hcHBseVVwZGF0ZSgiYWN0aXZlIixuKTt2YXIgbD1yLnN0ZXBzW3IuYWN0aXZlXTtlLmNhbGwoQSxyLG8pLGUuY2FsbCh5LHIpLHQuZW1pdCgicGxvdGx5X3NsaWRlcmNoYW5nZSIse3NsaWRlcjpyLHN0ZXA6ci5zdGVwc1tyLmFjdGl2ZV0saW50ZXJhY3Rpb246aSxwcmV2aW91c0FjdGl2ZTpzfSksbCYmbC5tZXRob2QmJmkmJihlLl9uZXh0TWV0aG9kPyhlLl9uZXh0TWV0aG9kLnN0ZXA9bCxlLl9uZXh0TWV0aG9kLmRvQ2FsbGJhY2s9aSxlLl9uZXh0TWV0aG9kLmRvVHJhbnNpdGlvbj1vKTooZS5fbmV4dE1ldGhvZD17c3RlcDpsLGRvQ2FsbGJhY2s6aSxkb1RyYW5zaXRpb246b30sZS5fbmV4dE1ldGhvZFJhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dmFyIHI9ZS5fbmV4dE1ldGhvZC5zdGVwO3IubWV0aG9kJiYoci5leGVjdXRlJiZhLmV4ZWN1dGVBUElDb21tYW5kKHQsci5tZXRob2Qsci5hcmdzKSxlLl9uZXh0TWV0aG9kPW51bGwsZS5fbmV4dE1ldGhvZFJhZj1udWxsKX0pKSl9ZnVuY3Rpb24gVCh0LGUscil7dmFyIGE9ci5ub2RlKCksbz1uLnNlbGVjdChlKTtmdW5jdGlvbiBzKCl7cmV0dXJuIHIuZGF0YSgpWzBdfXQub24oIm1vdXNlZG93biIsZnVuY3Rpb24oKXt2YXIgdD1zKCk7ZS5lbWl0KCJwbG90bHlfc2xpZGVyc3RhcnQiLHtzbGlkZXI6dH0pO3ZhciBsPXIuc2VsZWN0KCIuIit1LmdyaXBSZWN0Q2xhc3MpO24uZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCksbi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpLGwuY2FsbChpLmZpbGwsdC5hY3RpdmViZ2NvbG9yKTt2YXIgYz1FKHQsbi5tb3VzZShhKVswXSk7dyhlLHIsdCxjLCEwKSx0Ll9kcmFnZ2luZz0hMCxvLm9uKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKCl7dmFyIHQ9cygpLGk9RSh0LG4ubW91c2UoYSlbMF0pO3coZSxyLHQsaSwhMSl9KSxvLm9uKCJtb3VzZXVwIixmdW5jdGlvbigpe3ZhciB0PXMoKTt0Ll9kcmFnZ2luZz0hMSxsLmNhbGwoaS5maWxsLHQuYmdjb2xvciksby5vbigibW91c2V1cCIsbnVsbCksby5vbigibW91c2Vtb3ZlIixudWxsKSxlLmVtaXQoInBsb3RseV9zbGlkZXJlbmQiLHtzbGlkZXI6dCxzdGVwOnQuc3RlcHNbdC5hY3RpdmVdfSl9KX0pfWZ1bmN0aW9uIE0odCxlKXt2YXIgcj10LnNlbGVjdEFsbCgicmVjdC4iK3UudGlja1JlY3RDbGFzcykuZGF0YShlLl92aXNpYmxlU3RlcHMpLGE9ZS5fZGltcztyLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuY2xhc3NlZCh1LnRpY2tSZWN0Q2xhc3MsITApLHIuZXhpdCgpLnJlbW92ZSgpLHIuYXR0cih7d2lkdGg6ZS50aWNrd2lkdGgrInB4Iiwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9KSxyLmVhY2goZnVuY3Rpb24odCxyKXt2YXIgcz1yJWEubGFiZWxTdHJpZGU9PTAsbD1uLnNlbGVjdCh0aGlzKTtsLmF0dHIoe2hlaWdodDpzP2UudGlja2xlbjplLm1pbm9ydGlja2xlbn0pLmNhbGwoaS5maWxsLGUudGlja2NvbG9yKSxvLnNldFRyYW5zbGF0ZShsLFMoZSxyLyhlLl9zdGVwQ291bnQtMSkpLS41KmUudGlja3dpZHRoLChzP3UudGlja09mZnNldDp1Lm1pbm9yVGlja09mZnNldCkrYS5jdXJyZW50VmFsdWVUb3RhbEhlaWdodCl9KX1mdW5jdGlvbiBBKHQsZSxyKXtmb3IodmFyIG49dC5zZWxlY3QoInJlY3QuIit1LmdyaXBSZWN0Q2xhc3MpLGE9MCxpPTA7aTxlLl9zdGVwQ291bnQ7aSsrKWlmKGUuX3Zpc2libGVTdGVwc1tpXS5faW5kZXg9PT1lLmFjdGl2ZSl7YT1pO2JyZWFrfXZhciBvPVMoZSxhLyhlLl9zdGVwQ291bnQtMSkpO2lmKCFlLl9pbnZva2luZ0NvbW1hbmQpe3ZhciBzPW47ciYmZS50cmFuc2l0aW9uLmR1cmF0aW9uPjAmJihzPXMudHJhbnNpdGlvbigpLmR1cmF0aW9uKGUudHJhbnNpdGlvbi5kdXJhdGlvbikuZWFzZShlLnRyYW5zaXRpb24uZWFzaW5nKSkscy5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIisoby0uNSp1LmdyaXBXaWR0aCkrIiwiK2UuX2RpbXMuY3VycmVudFZhbHVlVG90YWxIZWlnaHQrIikiKX19ZnVuY3Rpb24gUyh0LGUpe3ZhciByPXQuX2RpbXM7cmV0dXJuIHIuaW5wdXRBcmVhU3RhcnQrdS5zdGVwSW5zZXQrKHIuaW5wdXRBcmVhTGVuZ3RoLTIqdS5zdGVwSW5zZXQpKk1hdGgubWluKDEsTWF0aC5tYXgoMCxlKSl9ZnVuY3Rpb24gRSh0LGUpe3ZhciByPXQuX2RpbXM7cmV0dXJuIE1hdGgubWluKDEsTWF0aC5tYXgoMCwoZS11LnN0ZXBJbnNldC1yLmlucHV0QXJlYVN0YXJ0KS8oci5pbnB1dEFyZWFMZW5ndGgtMip1LnN0ZXBJbnNldC0yKnIuaW5wdXRBcmVhU3RhcnQpKSl9ZnVuY3Rpb24gTCh0LGUscil7dmFyIG49ci5fZGltcyxhPXMuZW5zdXJlU2luZ2xlKHQsInJlY3QiLHUucmFpbFRvdWNoUmVjdENsYXNzLGZ1bmN0aW9uKG4pe24uY2FsbChULGUsdCxyKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKX0pO2EuYXR0cih7d2lkdGg6bi5pbnB1dEFyZWFMZW5ndGgsaGVpZ2h0Ok1hdGgubWF4KG4uaW5wdXRBcmVhV2lkdGgsdS50aWNrT2Zmc2V0K3IudGlja2xlbituLmxhYmVsSGVpZ2h0KX0pLmNhbGwoaS5maWxsLHIuYmdjb2xvcikuYXR0cigib3BhY2l0eSIsMCksby5zZXRUcmFuc2xhdGUoYSwwLG4uY3VycmVudFZhbHVlVG90YWxIZWlnaHQpfWZ1bmN0aW9uIEModCxlKXt2YXIgcj1lLl9kaW1zLG49ci5pbnB1dEFyZWFMZW5ndGgtMip1LnJhaWxJbnNldCxhPXMuZW5zdXJlU2luZ2xlKHQsInJlY3QiLHUucmFpbFJlY3RDbGFzcyk7YS5hdHRyKHt3aWR0aDpuLGhlaWdodDp1LnJhaWxXaWR0aCxyeDp1LnJhaWxSYWRpdXMscnk6dS5yYWlsUmFkaXVzLCJzaGFwZS1yZW5kZXJpbmciOiJjcmlzcEVkZ2VzIn0pLmNhbGwoaS5zdHJva2UsZS5ib3JkZXJjb2xvcikuY2FsbChpLmZpbGwsZS5iZ2NvbG9yKS5zdHlsZSgic3Ryb2tlLXdpZHRoIixlLmJvcmRlcndpZHRoKyJweCIpLG8uc2V0VHJhbnNsYXRlKGEsdS5yYWlsSW5zZXQsLjUqKHIuaW5wdXRBcmVhV2lkdGgtdS5yYWlsV2lkdGgpK3IuY3VycmVudFZhbHVlVG90YWxIZWlnaHQpfWUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0LHI9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dFt1Lm5hbWVdLG49W10sYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgaT1yW2FdO2kudmlzaWJsZSYmKGkuX2dkPWUsbi5wdXNoKGkpKX1yZXR1cm4gbn0oZSx0KSxpPWUuX2luZm9sYXllci5zZWxlY3RBbGwoImcuIit1LmNvbnRhaW5lckNsYXNzTmFtZSkuZGF0YShyLmxlbmd0aD4wP1swXTpbXSk7ZnVuY3Rpb24gcyhlKXtlLl9jb21tYW5kT2JzZXJ2ZXImJihlLl9jb21tYW5kT2JzZXJ2ZXIucmVtb3ZlKCksZGVsZXRlIGUuX2NvbW1hbmRPYnNlcnZlciksYS5hdXRvTWFyZ2luKHQsZyhlKSl9aWYoaS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQodS5jb250YWluZXJDbGFzc05hbWUsITApLnN0eWxlKCJjdXJzb3IiLCJldy1yZXNpemUiKSxpLmV4aXQoKS5lYWNoKGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJnLiIrdS5ncm91cENsYXNzTmFtZSkuZWFjaChzKX0pLnJlbW92ZSgpLDAhPT1yLmxlbmd0aCl7dmFyIGw9aS5zZWxlY3RBbGwoImcuIit1Lmdyb3VwQ2xhc3NOYW1lKS5kYXRhKHIsdik7bC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQodS5ncm91cENsYXNzTmFtZSwhMCksbC5leGl0KCkuZWFjaChzKS5yZW1vdmUoKTtmb3IodmFyIGM9MDtjPHIubGVuZ3RoO2MrKyl7dmFyIGg9cltjXTttKHQsaCl9bC5lYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW4uc2VsZWN0KHRoaXMpOyFmdW5jdGlvbih0KXt2YXIgZT10Ll9kaW1zO2UubGFiZWxTdGVwcz1bXTtmb3IodmFyIHI9dC5fc3RlcENvdW50LG49MDtuPHI7bis9ZS5sYWJlbFN0cmlkZSllLmxhYmVsU3RlcHMucHVzaCh7ZnJhY3Rpb246bi8oci0xKSxzdGVwOnQuX3Zpc2libGVTdGVwc1tuXX0pfShlKSxhLm1hbmFnZUNvbW1hbmRPYnNlcnZlcih0LGUsZS5fdmlzaWJsZVN0ZXBzLGZ1bmN0aW9uKGUpe3ZhciBuPXIuZGF0YSgpWzBdO24uYWN0aXZlIT09ZS5pbmRleCYmKG4uX2RyYWdnaW5nfHxrKHQscixuLGUuaW5kZXgsITEsITApKX0pLGZ1bmN0aW9uKHQsZSxyKXsoci5zdGVwc1tyLmFjdGl2ZV18fHt9KS52aXNpYmxlfHwoci5hY3RpdmU9ci5fdmlzaWJsZVN0ZXBzWzBdLl9pbmRleCk7ZS5jYWxsKHkscikuY2FsbChDLHIpLmNhbGwoXyxyKS5jYWxsKE0scikuY2FsbChMLHQscikuY2FsbCh4LHQscik7dmFyIG49ci5fZGltcztvLnNldFRyYW5zbGF0ZShlLG4ubHgrci5wYWQubCxuLmx5K3IucGFkLnQpLGUuY2FsbChBLHIsITEpLGUuY2FsbCh5LHIpfSh0LG4uc2VsZWN0KHRoaXMpLGUpfSl9fX0seyIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9wbG90cy9wbG90cyI6ODI2LCIuLi9jb2xvciI6NTkyLCIuLi9kcmF3aW5nIjo2MTMsIi4vY29uc3RhbnRzIjo2NzUsZDM6MTY1fV0sNjc4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vY29uc3RhbnRzIik7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJjb21wb25lbnQiLG5hbWU6bi5uYW1lLGxheW91dEF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGRyYXc6dCgiLi9kcmF3Iil9fSx7Ii4vYXR0cmlidXRlcyI6Njc0LCIuL2NvbnN0YW50cyI6Njc1LCIuL2RlZmF1bHRzIjo2NzYsIi4vZHJhdyI6Njc3fV0sNjc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9dCgiLi4vLi4vcGxvdHMvcGxvdHMiKSxvPXQoIi4uLy4uL3JlZ2lzdHJ5Iikscz10KCIuLi8uLi9saWIiKSxsPXQoIi4uL2RyYXdpbmciKSxjPXQoIi4uL2NvbG9yIiksdT10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxoPXQoIi4uLy4uL2NvbnN0YW50cy9pbnRlcmFjdGlvbnMiKSxmPXQoIi4uLy4uL2NvbnN0YW50cy9hbGlnbm1lbnQiKS5PUFBPU0lURV9TSURFLHA9LyBbWFldWzAtOV0qIC87ZS5leHBvcnRzPXtkcmF3OmZ1bmN0aW9uKHQsZSxyKXt2YXIgZCxnPXIucHJvcENvbnRhaW5lcix2PXIucHJvcE5hbWUsbT1yLnBsYWNlaG9sZGVyLHk9ci50cmFjZUluZGV4LHg9ci5hdm9pZHx8e30sYj1yLmF0dHJpYnV0ZXMsXz1yLnRyYW5zZm9ybSx3PXIuY29udGFpbmVyR3JvdXAsaz10Ll9mdWxsTGF5b3V0LFQ9MSxNPSExLEE9Zy50aXRsZSxTPShBJiZBLnRleHQ/QS50ZXh0OiIiKS50cmltKCksRT1BJiZBLmZvbnQ/QS5mb250Ont9LEw9RS5mYW1pbHksQz1FLnNpemUsUD1FLmNvbG9yOyJ0aXRsZS50ZXh0Ij09PXY/ZD0idGl0bGVUZXh0IjotMSE9PXYuaW5kZXhPZigiYXhpcyIpP2Q9ImF4aXNUaXRsZVRleHQiOnYuaW5kZXhPZighMCkmJihkPSJjb2xvcmJhclRpdGxlVGV4dCIpO3ZhciBPPXQuX2NvbnRleHQuZWRpdHNbZF07IiI9PT1TP1Q9MDpTLnJlcGxhY2UocCwiICUgIik9PT1tLnJlcGxhY2UocCwiICUgIikmJihUPS4yLE09ITAsT3x8KFM9IiIpKSxyLl9tZXRhP1M9cy50ZW1wbGF0ZVN0cmluZyhTLHIuX21ldGEpOmsuX21ldGEmJihTPXMudGVtcGxhdGVTdHJpbmcoUyxrLl9tZXRhKSk7dmFyIHo9U3x8Tzt3fHwodz1zLmVuc3VyZVNpbmdsZShrLl9pbmZvbGF5ZXIsImciLCJnLSIrZSkpO3ZhciBJPXcuc2VsZWN0QWxsKCJ0ZXh0IikuZGF0YSh6P1swXTpbXSk7aWYoSS5lbnRlcigpLmFwcGVuZCgidGV4dCIpLEkudGV4dChTKS5hdHRyKCJjbGFzcyIsZSksSS5leGl0KCkucmVtb3ZlKCksIXopcmV0dXJuIHc7ZnVuY3Rpb24gRCh0KXtzLnN5bmNPckFzeW5jKFtSLEZdLHQpfWZ1bmN0aW9uIFIoZSl7dmFyIHI7cmV0dXJuIF8/KHI9IiIsXy5yb3RhdGUmJihyKz0icm90YXRlKCIrW18ucm90YXRlLGIueCxiLnldKyIpIiksXy5vZmZzZXQmJihyKz0idHJhbnNsYXRlKDAsICIrXy5vZmZzZXQrIikiKSk6cj1udWxsLGUuYXR0cigidHJhbnNmb3JtIixyKSxlLnN0eWxlKHsiZm9udC1mYW1pbHkiOkwsImZvbnQtc2l6ZSI6bi5yb3VuZChDLDIpKyJweCIsZmlsbDpjLnJnYihQKSxvcGFjaXR5OlQqYy5vcGFjaXR5KFApLCJmb250LXdlaWdodCI6aS5mb250V2VpZ2h0fSkuYXR0cihiKS5jYWxsKHUuY29udmVydFRvVHNwYW5zLHQpLGkucHJldmlvdXNQcm9taXNlcyh0KX1mdW5jdGlvbiBGKHQpe3ZhciBlPW4uc2VsZWN0KHQubm9kZSgpLnBhcmVudE5vZGUpO2lmKHgmJnguc2VsZWN0aW9uJiZ4LnNpZGUmJlMpe2UuYXR0cigidHJhbnNmb3JtIixudWxsKTt2YXIgcj1mW3guc2lkZV0saT0ibGVmdCI9PT14LnNpZGV8fCJ0b3AiPT09eC5zaWRlPy0xOjEsbz1hKHgucGFkKT94LnBhZDoyLGM9bC5iQm94KGUubm9kZSgpKSx1PXtsZWZ0OjAsdG9wOjAscmlnaHQ6ay53aWR0aCxib3R0b206ay5oZWlnaHR9LGg9eC5tYXhTaGlmdHx8aSoodVt4LnNpZGVdLWNbeC5zaWRlXSkscD0wO2lmKGg8MClwPWg7ZWxzZXt2YXIgZD14Lm9mZnNldExlZnR8fDAsZz14Lm9mZnNldFRvcHx8MDtjLmxlZnQtPWQsYy5yaWdodC09ZCxjLnRvcC09ZyxjLmJvdHRvbS09Zyx4LnNlbGVjdGlvbi5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bC5iQm94KHRoaXMpO3MuYkJveEludGVyc2VjdChjLHQsbykmJihwPU1hdGgubWF4KHAsaSoodFt4LnNpZGVdLWNbcl0pK28pKX0pLHA9TWF0aC5taW4oaCxwKX1pZihwPjB8fGg8MCl7dmFyIHY9e2xlZnQ6Wy1wLDBdLHJpZ2h0OltwLDBdLHRvcDpbMCwtcF0sYm90dG9tOlswLHBdfVt4LnNpZGVdO2UuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdisiKSIpfX19cmV0dXJuIEkuY2FsbChEKSxPJiYoUz9JLm9uKCIub3BhY2l0eSIsbnVsbCk6KFQ9MCxNPSEwLEkudGV4dChtKS5vbigibW91c2VvdmVyLm9wYWNpdHkiLGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKGguU0hPV19QTEFDRUhPTERFUikuc3R5bGUoIm9wYWNpdHkiLDEpfSkub24oIm1vdXNlb3V0Lm9wYWNpdHkiLGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKGguSElERV9QTEFDRUhPTERFUikuc3R5bGUoIm9wYWNpdHkiLDApfSkpLEkuY2FsbCh1Lm1ha2VFZGl0YWJsZSx7Z2Q6dH0pLm9uKCJlZGl0IixmdW5jdGlvbihlKXt2b2lkIDAhPT15P28uY2FsbCgiX2d1aVJlc3R5bGUiLHQsdixlLHkpOm8uY2FsbCgiX2d1aVJlbGF5b3V0Iix0LHYsZSl9KS5vbigiY2FuY2VsIixmdW5jdGlvbigpe3RoaXMudGV4dCh0aGlzLmF0dHIoImRhdGEtdW5mb3JtYXR0ZWQiKSkuY2FsbChEKX0pLm9uKCJpbnB1dCIsZnVuY3Rpb24odCl7dGhpcy50ZXh0KHR8fCIgIikuY2FsbCh1LnBvc2l0aW9uVGV4dCxiLngsYi55KX0pKSxJLmNsYXNzZWQoImpzLXBsYWNlaG9sZGVyIixNKSx3fX19LHsiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCI6Njg2LCIuLi8uLi9jb25zdGFudHMvaW50ZXJhY3Rpb25zIjo2OTIsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdHMvcGxvdHMiOjgyNiwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vY29sb3IiOjU5MiwiLi4vZHJhd2luZyI6NjEzLGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDY4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiKSxhPXQoIi4uL2NvbG9yL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LG89dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLHM9dCgiLi4vLi4vcGxvdHMvcGFkX2F0dHJpYnV0ZXMiKSxsPXQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKS50ZW1wbGF0ZWRBcnJheSxjPWwoImJ1dHRvbiIse3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4ifSxtZXRob2Q6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInJlc3R5bGUiLCJyZWxheW91dCIsImFuaW1hdGUiLCJ1cGRhdGUiLCJza2lwIl0sZGZsdDoicmVzdHlsZSJ9LGFyZ3M6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGZyZWVMZW5ndGg6ITAsaXRlbXM6W3t2YWxUeXBlOiJhbnkifSx7dmFsVHlwZToiYW55In0se3ZhbFR5cGU6ImFueSJ9XX0sYXJnczI6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGZyZWVMZW5ndGg6ITAsaXRlbXM6W3t2YWxUeXBlOiJhbnkifSx7dmFsVHlwZToiYW55In0se3ZhbFR5cGU6ImFueSJ9XX0sbGFiZWw6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIn0sZXhlY3V0ZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMH19KTtlLmV4cG9ydHM9byhsKCJ1cGRhdGVtZW51Iix7X2FycmF5QXR0clJlZ2V4cHM6Wy9edXBkYXRlbWVudXNcWygwfFsxLTldWzAtOV0rKVxdXC5idXR0b25zL10sdmlzaWJsZTp7dmFsVHlwZToiYm9vbGVhbiJ9LHR5cGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImRyb3Bkb3duIiwiYnV0dG9ucyJdLGRmbHQ6ImRyb3Bkb3duIn0sZGlyZWN0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJsZWZ0IiwicmlnaHQiLCJ1cCIsImRvd24iXSxkZmx0OiJkb3duIn0sYWN0aXZlOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46LTEsZGZsdDowfSxzaG93YWN0aXZlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSxidXR0b25zOmMseDp7dmFsVHlwZToibnVtYmVyIixtaW46LTIsbWF4OjMsZGZsdDotLjA1fSx4YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhdXRvIiwibGVmdCIsImNlbnRlciIsInJpZ2h0Il0sZGZsdDoicmlnaHQifSx5Ont2YWxUeXBlOiJudW1iZXIiLG1pbjotMixtYXg6MyxkZmx0OjF9LHlhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImF1dG8iLCJ0b3AiLCJtaWRkbGUiLCJib3R0b20iXSxkZmx0OiJ0b3AifSxwYWQ6aShzKHtlZGl0VHlwZToiYXJyYXlkcmF3In0pLHt9KSxmb250Om4oe30pLGJnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIn0sYm9yZGVyY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmEuYm9yZGVyTGluZX0sYm9yZGVyd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxLGVkaXRUeXBlOiJhcnJheWRyYXcifX0pLCJhcnJheWRyYXciLCJmcm9tLXJvb3QiKX0seyIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiOjc5MSwiLi4vLi4vcGxvdHMvcGFkX2F0dHJpYnV0ZXMiOjgyNSwiLi4vY29sb3IvYXR0cmlidXRlcyI6NTkxfV0sNjgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bmFtZToidXBkYXRlbWVudXMiLGNvbnRhaW5lckNsYXNzTmFtZToidXBkYXRlbWVudS1jb250YWluZXIiLGhlYWRlckdyb3VwQ2xhc3NOYW1lOiJ1cGRhdGVtZW51LWhlYWRlci1ncm91cCIsaGVhZGVyQ2xhc3NOYW1lOiJ1cGRhdGVtZW51LWhlYWRlciIsaGVhZGVyQXJyb3dDbGFzc05hbWU6InVwZGF0ZW1lbnUtaGVhZGVyLWFycm93Iixkcm9wZG93bkJ1dHRvbkdyb3VwQ2xhc3NOYW1lOiJ1cGRhdGVtZW51LWRyb3Bkb3duLWJ1dHRvbi1ncm91cCIsZHJvcGRvd25CdXR0b25DbGFzc05hbWU6InVwZGF0ZW1lbnUtZHJvcGRvd24tYnV0dG9uIixidXR0b25DbGFzc05hbWU6InVwZGF0ZW1lbnUtYnV0dG9uIixpdGVtUmVjdENsYXNzTmFtZToidXBkYXRlbWVudS1pdGVtLXJlY3QiLGl0ZW1UZXh0Q2xhc3NOYW1lOiJ1cGRhdGVtZW51LWl0ZW0tdGV4dCIsbWVudUluZGV4QXR0ck5hbWU6InVwZGF0ZW1lbnUtYWN0aXZlLWluZGV4IixhdXRvTWFyZ2luSWRSb290OiJ1cGRhdGVtZW51LSIsYmxhbmtIZWFkZXJPcHRzOntsYWJlbDoiICAifSxtaW5XaWR0aDozMCxtaW5IZWlnaHQ6MzAsdGV4dFBhZFg6MjQsYXJyb3dQYWRYOjE2LHJ4OjIscnk6Mix0ZXh0T2Zmc2V0WDoxMix0ZXh0T2Zmc2V0WTozLGFycm93T2Zmc2V0WDo0LGdhcEJ1dHRvbkhlYWRlcjo1LGdhcEJ1dHRvbjoyLGFjdGl2ZUNvbG9yOiIjRjRGQUZGIixob3ZlckNvbG9yOiIjRjRGQUZGIixhcnJvd1N5bWJvbDp7bGVmdDoiXHUyNWM0IixyaWdodDoiXHUyNWJhIix1cDoiXHUyNWIyIixkb3duOiJcdTI1YmMifX19LHt9XSw2ODI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxpPXQoIi4vYXR0cmlidXRlcyIpLG89dCgiLi9jb25zdGFudHMiKS5uYW1lLHM9aS5idXR0b25zO2Z1bmN0aW9uIGwodCxlLHIpe2Z1bmN0aW9uIG8ocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGkscixhKX1vKCJ2aXNpYmxlIixhKHQsZSx7bmFtZToiYnV0dG9ucyIsaGFuZGxlSXRlbURlZmF1bHRzOmN9KS5sZW5ndGg+MCkmJihvKCJhY3RpdmUiKSxvKCJkaXJlY3Rpb24iKSxvKCJ0eXBlIiksbygic2hvd2FjdGl2ZSIpLG8oIngiKSxvKCJ5Iiksbi5ub25lT3JBbGwodCxlLFsieCIsInkiXSksbygieGFuY2hvciIpLG8oInlhbmNob3IiKSxvKCJwYWQudCIpLG8oInBhZC5yIiksbygicGFkLmIiKSxvKCJwYWQubCIpLG4uY29lcmNlRm9udChvLCJmb250IixyLmZvbnQpLG8oImJnY29sb3IiLHIucGFwZXJfYmdjb2xvciksbygiYm9yZGVyY29sb3IiKSxvKCJib3JkZXJ3aWR0aCIpKX1mdW5jdGlvbiBjKHQsZSl7ZnVuY3Rpb24gcihyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUscyxyLGEpfXIoInZpc2libGUiLCJza2lwIj09PXQubWV0aG9kfHxBcnJheS5pc0FycmF5KHQuYXJncykpJiYocigibWV0aG9kIikscigiYXJncyIpLHIoImFyZ3MyIikscigibGFiZWwiKSxyKCJleGVjdXRlIikpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2EodCxlLHtuYW1lOm8saGFuZGxlSXRlbURlZmF1bHRzOmx9KX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2FycmF5X2NvbnRhaW5lcl9kZWZhdWx0cyI6NzYxLCIuL2F0dHJpYnV0ZXMiOjY4MCwiLi9jb25zdGFudHMiOjY4MX1dLDY4MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vcGxvdHMvcGxvdHMiKSxpPXQoIi4uL2NvbG9yIiksbz10KCIuLi9kcmF3aW5nIikscz10KCIuLi8uLi9saWIiKSxsPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpLGM9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLmFycmF5RWRpdG9yLHU9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLkxJTkVfU1BBQ0lORyxoPXQoIi4vY29uc3RhbnRzIiksZj10KCIuL3Njcm9sbGJveCIpO2Z1bmN0aW9uIHAodCl7cmV0dXJuIHQuX2luZGV4fWZ1bmN0aW9uIGQodCxlKXtyZXR1cm4rdC5hdHRyKGgubWVudUluZGV4QXR0ck5hbWUpPT09ZS5faW5kZXh9ZnVuY3Rpb24gZyh0LGUscixuLGEsaSxvLHMpe2UuYWN0aXZlPW8sYyh0LmxheW91dCxoLm5hbWUsZSkuYXBwbHlVcGRhdGUoImFjdGl2ZSIsbyksImJ1dHRvbnMiPT09ZS50eXBlP20odCxuLG51bGwsbnVsbCxlKToiZHJvcGRvd24iPT09ZS50eXBlJiYoYS5hdHRyKGgubWVudUluZGV4QXR0ck5hbWUsIi0xIiksdih0LG4sYSxpLGUpLHN8fG0odCxuLGEsaSxlKSl9ZnVuY3Rpb24gdih0LGUscixuLGEpe3ZhciBpPXMuZW5zdXJlU2luZ2xlKGUsImciLGguaGVhZGVyQ2xhc3NOYW1lLGZ1bmN0aW9uKHQpe3Quc3R5bGUoInBvaW50ZXItZXZlbnRzIiwiYWxsIil9KSxsPWEuX2RpbXMsYz1hLmFjdGl2ZSx1PWEuYnV0dG9uc1tjXXx8aC5ibGFua0hlYWRlck9wdHMsZj17eTphLnBhZC50LHlQYWQ6MCx4OmEucGFkLmwseFBhZDowLGluZGV4OjB9LHA9e3dpZHRoOmwuaGVhZGVyV2lkdGgsaGVpZ2h0OmwuaGVhZGVySGVpZ2h0fTtpLmNhbGwoeSxhLHUsdCkuY2FsbChBLGEsZixwKSxzLmVuc3VyZVNpbmdsZShlLCJ0ZXh0IixoLmhlYWRlckFycm93Q2xhc3NOYW1lLGZ1bmN0aW9uKHQpe3QuY2xhc3NlZCgidXNlci1zZWxlY3Qtbm9uZSIsITApLmF0dHIoInRleHQtYW5jaG9yIiwiZW5kIikuY2FsbChvLmZvbnQsYS5mb250KS50ZXh0KGguYXJyb3dTeW1ib2xbYS5kaXJlY3Rpb25dKX0pLmF0dHIoe3g6bC5oZWFkZXJXaWR0aC1oLmFycm93T2Zmc2V0WCthLnBhZC5sLHk6bC5oZWFkZXJIZWlnaHQvMitoLnRleHRPZmZzZXRZK2EucGFkLnR9KSxpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtyLmNhbGwoUyxTdHJpbmcoZChyLGEpPy0xOmEuX2luZGV4KSksbSh0LGUscixuLGEpfSksaS5vbigibW91c2VvdmVyIixmdW5jdGlvbigpe2kuY2FsbCh3KX0pLGkub24oIm1vdXNlb3V0IixmdW5jdGlvbigpe2kuY2FsbChrLGEpfSksby5zZXRUcmFuc2xhdGUoZSxsLmx4LGwubHkpfWZ1bmN0aW9uIG0odCxlLHIsaSxvKXtyfHwocj1lKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpO3ZhciBsPWZ1bmN0aW9uKHQpe3JldHVybi0xPT0rdC5hdHRyKGgubWVudUluZGV4QXR0ck5hbWUpfShyKSYmImJ1dHRvbnMiIT09by50eXBlP1tdOm8uYnV0dG9ucyxjPSJkcm9wZG93biI9PT1vLnR5cGU/aC5kcm9wZG93bkJ1dHRvbkNsYXNzTmFtZTpoLmJ1dHRvbkNsYXNzTmFtZSx1PXIuc2VsZWN0QWxsKCJnLiIrYykuZGF0YShzLmZpbHRlclZpc2libGUobCkpLGY9dS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoYywhMCkscD11LmV4aXQoKTsiZHJvcGRvd24iPT09by50eXBlPyhmLmF0dHIoIm9wYWNpdHkiLCIwIikudHJhbnNpdGlvbigpLmF0dHIoIm9wYWNpdHkiLCIxIikscC50cmFuc2l0aW9uKCkuYXR0cigib3BhY2l0eSIsIjAiKS5yZW1vdmUoKSk6cC5yZW1vdmUoKTt2YXIgZD0wLHY9MCxtPW8uX2RpbXMseD0tMSE9PVsidXAiLCJkb3duIl0uaW5kZXhPZihvLmRpcmVjdGlvbik7ImRyb3Bkb3duIj09PW8udHlwZSYmKHg/dj1tLmhlYWRlckhlaWdodCtoLmdhcEJ1dHRvbkhlYWRlcjpkPW0uaGVhZGVyV2lkdGgraC5nYXBCdXR0b25IZWFkZXIpLCJkcm9wZG93biI9PT1vLnR5cGUmJiJ1cCI9PT1vLmRpcmVjdGlvbiYmKHY9LWguZ2FwQnV0dG9uSGVhZGVyK2guZ2FwQnV0dG9uLW0ub3BlbkhlaWdodCksImRyb3Bkb3duIj09PW8udHlwZSYmImxlZnQiPT09by5kaXJlY3Rpb24mJihkPS1oLmdhcEJ1dHRvbkhlYWRlcitoLmdhcEJ1dHRvbi1tLm9wZW5XaWR0aCk7dmFyIGI9e3g6bS5seCtkK28ucGFkLmwseTptLmx5K3Yrby5wYWQudCx5UGFkOmguZ2FwQnV0dG9uLHhQYWQ6aC5nYXBCdXR0b24saW5kZXg6MH0sVD17bDpiLngrby5ib3JkZXJ3aWR0aCx0OmIueStvLmJvcmRlcndpZHRofTt1LmVhY2goZnVuY3Rpb24ocyxsKXt2YXIgYz1uLnNlbGVjdCh0aGlzKTtjLmNhbGwoeSxvLHMsdCkuY2FsbChBLG8sYiksYy5vbigiY2xpY2siLGZ1bmN0aW9uKCl7bi5ldmVudC5kZWZhdWx0UHJldmVudGVkfHwocy5leGVjdXRlJiYocy5hcmdzMiYmby5hY3RpdmU9PT1sPyhnKHQsbywwLGUscixpLC0xKSxhLmV4ZWN1dGVBUElDb21tYW5kKHQscy5tZXRob2Qscy5hcmdzMikpOihnKHQsbywwLGUscixpLGwpLGEuZXhlY3V0ZUFQSUNvbW1hbmQodCxzLm1ldGhvZCxzLmFyZ3MpKSksdC5lbWl0KCJwbG90bHlfYnV0dG9uY2xpY2tlZCIse21lbnU6byxidXR0b246cyxhY3RpdmU6by5hY3RpdmV9KSl9KSxjLm9uKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7Yy5jYWxsKHcpfSksYy5vbigibW91c2VvdXQiLGZ1bmN0aW9uKCl7Yy5jYWxsKGssbyksdS5jYWxsKF8sbyl9KX0pLHUuY2FsbChfLG8pLHg/KFQudz1NYXRoLm1heChtLm9wZW5XaWR0aCxtLmhlYWRlcldpZHRoKSxULmg9Yi55LVQudCk6KFQudz1iLngtVC5sLFQuaD1NYXRoLm1heChtLm9wZW5IZWlnaHQsbS5oZWFkZXJIZWlnaHQpKSxULmRpcmVjdGlvbj1vLmRpcmVjdGlvbixpJiYodS5zaXplKCk/ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvLHMsbCxjPWEuZGlyZWN0aW9uLHU9InVwIj09PWN8fCJkb3duIj09PWMsZj1hLl9kaW1zLHA9YS5hY3RpdmU7aWYodSlmb3Iocz0wLGw9MDtsPHA7bCsrKXMrPWYuaGVpZ2h0c1tsXStoLmdhcEJ1dHRvbjtlbHNlIGZvcihvPTAsbD0wO2w8cDtsKyspbys9Zi53aWR0aHNbbF0raC5nYXBCdXR0b247bi5lbmFibGUoaSxvLHMpLG4uaGJhciYmbi5oYmFyLmF0dHIoIm9wYWNpdHkiLCIwIikudHJhbnNpdGlvbigpLmF0dHIoIm9wYWNpdHkiLCIxIik7bi52YmFyJiZuLnZiYXIuYXR0cigib3BhY2l0eSIsIjAiKS50cmFuc2l0aW9uKCkuYXR0cigib3BhY2l0eSIsIjEiKX0oMCwwLDAsaSxvLFQpOmZ1bmN0aW9uKHQpe3ZhciBlPSEhdC5oYmFyLHI9ISF0LnZiYXI7ZSYmdC5oYmFyLnRyYW5zaXRpb24oKS5hdHRyKCJvcGFjaXR5IiwiMCIpLmVhY2goImVuZCIsZnVuY3Rpb24oKXtlPSExLHJ8fHQuZGlzYWJsZSgpfSk7ciYmdC52YmFyLnRyYW5zaXRpb24oKS5hdHRyKCJvcGFjaXR5IiwiMCIpLmVhY2goImVuZCIsZnVuY3Rpb24oKXtyPSExLGV8fHQuZGlzYWJsZSgpfSl9KGkpKX1mdW5jdGlvbiB5KHQsZSxyLG4pe3QuY2FsbCh4LGUpLmNhbGwoYixlLHIsbil9ZnVuY3Rpb24geCh0LGUpe3MuZW5zdXJlU2luZ2xlKHQsInJlY3QiLGguaXRlbVJlY3RDbGFzc05hbWUsZnVuY3Rpb24odCl7dC5hdHRyKHtyeDpoLnJ4LHJ5OmgucnksInNoYXBlLXJlbmRlcmluZyI6ImNyaXNwRWRnZXMifSl9KS5jYWxsKGkuc3Ryb2tlLGUuYm9yZGVyY29sb3IpLmNhbGwoaS5maWxsLGUuYmdjb2xvcikuc3R5bGUoInN0cm9rZS13aWR0aCIsZS5ib3JkZXJ3aWR0aCsicHgiKX1mdW5jdGlvbiBiKHQsZSxyLG4pe3ZhciBhPXMuZW5zdXJlU2luZ2xlKHQsInRleHQiLGguaXRlbVRleHRDbGFzc05hbWUsZnVuY3Rpb24odCl7dC5jbGFzc2VkKCJ1c2VyLXNlbGVjdC1ub25lIiwhMCkuYXR0cih7InRleHQtYW5jaG9yIjoic3RhcnQiLCJkYXRhLW5vdGV4IjoxfSl9KSxpPXIubGFiZWwsYz1uLl9mdWxsTGF5b3V0Ll9tZXRhO2MmJihpPXMudGVtcGxhdGVTdHJpbmcoaSxjKSksYS5jYWxsKG8uZm9udCxlLmZvbnQpLnRleHQoaSkuY2FsbChsLmNvbnZlcnRUb1RzcGFucyxuKX1mdW5jdGlvbiBfKHQsZSl7dmFyIHI9ZS5hY3RpdmU7dC5lYWNoKGZ1bmN0aW9uKHQsYSl7dmFyIG89bi5zZWxlY3QodGhpcyk7YT09PXImJmUuc2hvd2FjdGl2ZSYmby5zZWxlY3QoInJlY3QuIitoLml0ZW1SZWN0Q2xhc3NOYW1lKS5jYWxsKGkuZmlsbCxoLmFjdGl2ZUNvbG9yKX0pfWZ1bmN0aW9uIHcodCl7dC5zZWxlY3QoInJlY3QuIitoLml0ZW1SZWN0Q2xhc3NOYW1lKS5jYWxsKGkuZmlsbCxoLmhvdmVyQ29sb3IpfWZ1bmN0aW9uIGsodCxlKXt0LnNlbGVjdCgicmVjdC4iK2guaXRlbVJlY3RDbGFzc05hbWUpLmNhbGwoaS5maWxsLGUuYmdjb2xvcil9ZnVuY3Rpb24gVCh0LGUpe3ZhciByPWUuX2RpbXM9e3dpZHRoMTowLGhlaWdodDE6MCxoZWlnaHRzOltdLHdpZHRoczpbXSx0b3RhbFdpZHRoOjAsdG90YWxIZWlnaHQ6MCxvcGVuV2lkdGg6MCxvcGVuSGVpZ2h0OjAsbHg6MCxseTowfSxpPW8udGVzdGVyLnNlbGVjdEFsbCgiZy4iK2guZHJvcGRvd25CdXR0b25DbGFzc05hbWUpLmRhdGEocy5maWx0ZXJWaXNpYmxlKGUuYnV0dG9ucykpO2kuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKGguZHJvcGRvd25CdXR0b25DbGFzc05hbWUsITApO3ZhciBjPS0xIT09WyJ1cCIsImRvd24iXS5pbmRleE9mKGUuZGlyZWN0aW9uKTtpLmVhY2goZnVuY3Rpb24oYSxpKXt2YXIgcz1uLnNlbGVjdCh0aGlzKTtzLmNhbGwoeSxlLGEsdCk7dmFyIGY9cy5zZWxlY3QoIi4iK2guaXRlbVRleHRDbGFzc05hbWUpLHA9Zi5ub2RlKCkmJm8uYkJveChmLm5vZGUoKSkud2lkdGgsZD1NYXRoLm1heChwK2gudGV4dFBhZFgsaC5taW5XaWR0aCksZz1lLmZvbnQuc2l6ZSp1LHY9bC5saW5lQ291bnQoZiksbT1NYXRoLm1heChnKnYsaC5taW5IZWlnaHQpK2gudGV4dE9mZnNldFk7bT1NYXRoLmNlaWwobSksZD1NYXRoLmNlaWwoZCksci53aWR0aHNbaV09ZCxyLmhlaWdodHNbaV09bSxyLmhlaWdodDE9TWF0aC5tYXgoci5oZWlnaHQxLG0pLHIud2lkdGgxPU1hdGgubWF4KHIud2lkdGgxLGQpLGM/KHIudG90YWxXaWR0aD1NYXRoLm1heChyLnRvdGFsV2lkdGgsZCksci5vcGVuV2lkdGg9ci50b3RhbFdpZHRoLHIudG90YWxIZWlnaHQrPW0raC5nYXBCdXR0b24sci5vcGVuSGVpZ2h0Kz1tK2guZ2FwQnV0dG9uKTooci50b3RhbFdpZHRoKz1kK2guZ2FwQnV0dG9uLHIub3BlbldpZHRoKz1kK2guZ2FwQnV0dG9uLHIudG90YWxIZWlnaHQ9TWF0aC5tYXgoci50b3RhbEhlaWdodCxtKSxyLm9wZW5IZWlnaHQ9ci50b3RhbEhlaWdodCl9KSxjP3IudG90YWxIZWlnaHQtPWguZ2FwQnV0dG9uOnIudG90YWxXaWR0aC09aC5nYXBCdXR0b24sci5oZWFkZXJXaWR0aD1yLndpZHRoMStoLmFycm93UGFkWCxyLmhlYWRlckhlaWdodD1yLmhlaWdodDEsImRyb3Bkb3duIj09PWUudHlwZSYmKGM/KHIud2lkdGgxKz1oLmFycm93UGFkWCxyLnRvdGFsSGVpZ2h0PXIuaGVpZ2h0MSk6ci50b3RhbFdpZHRoPXIud2lkdGgxLHIudG90YWxXaWR0aCs9aC5hcnJvd1BhZFgpLGkucmVtb3ZlKCk7dmFyIGY9ci50b3RhbFdpZHRoK2UucGFkLmwrZS5wYWQucixwPXIudG90YWxIZWlnaHQrZS5wYWQudCtlLnBhZC5iLGQ9dC5fZnVsbExheW91dC5fc2l6ZTtyLmx4PWQubCtkLncqZS54LHIubHk9ZC50K2QuaCooMS1lLnkpO3ZhciBnPSJsZWZ0IjtzLmlzUmlnaHRBbmNob3IoZSkmJihyLmx4LT1mLGc9InJpZ2h0Iikscy5pc0NlbnRlckFuY2hvcihlKSYmKHIubHgtPWYvMixnPSJjZW50ZXIiKTt2YXIgdj0idG9wIjtzLmlzQm90dG9tQW5jaG9yKGUpJiYoci5seS09cCx2PSJib3R0b20iKSxzLmlzTWlkZGxlQW5jaG9yKGUpJiYoci5seS09cC8yLHY9Im1pZGRsZSIpLHIudG90YWxXaWR0aD1NYXRoLmNlaWwoci50b3RhbFdpZHRoKSxyLnRvdGFsSGVpZ2h0PU1hdGguY2VpbChyLnRvdGFsSGVpZ2h0KSxyLmx4PU1hdGgucm91bmQoci5seCksci5seT1NYXRoLnJvdW5kKHIubHkpLGEuYXV0b01hcmdpbih0LE0oZSkse3g6ZS54LHk6ZS55LGw6Ziooe3JpZ2h0OjEsY2VudGVyOi41fVtnXXx8MCkscjpmKih7bGVmdDoxLGNlbnRlcjouNX1bZ118fDApLGI6cCooe3RvcDoxLG1pZGRsZTouNX1bdl18fDApLHQ6cCooe2JvdHRvbToxLG1pZGRsZTouNX1bdl18fDApfSl9ZnVuY3Rpb24gTSh0KXtyZXR1cm4gaC5hdXRvTWFyZ2luSWRSb290K3QuX2luZGV4fWZ1bmN0aW9uIEEodCxlLHIsbil7bj1ufHx7fTt2YXIgYT10LnNlbGVjdCgiLiIraC5pdGVtUmVjdENsYXNzTmFtZSksaT10LnNlbGVjdCgiLiIraC5pdGVtVGV4dENsYXNzTmFtZSkscz1lLmJvcmRlcndpZHRoLGM9ci5pbmRleCxmPWUuX2RpbXM7by5zZXRUcmFuc2xhdGUodCxzK3IueCxzK3IueSk7dmFyIHA9LTEhPT1bInVwIiwiZG93biJdLmluZGV4T2YoZS5kaXJlY3Rpb24pLGQ9bi5oZWlnaHR8fChwP2YuaGVpZ2h0c1tjXTpmLmhlaWdodDEpO2EuYXR0cih7eDowLHk6MCx3aWR0aDpuLndpZHRofHwocD9mLndpZHRoMTpmLndpZHRoc1tjXSksaGVpZ2h0OmR9KTt2YXIgZz1lLmZvbnQuc2l6ZSp1LHY9KGwubGluZUNvdW50KGkpLTEpKmcvMjtsLnBvc2l0aW9uVGV4dChpLGgudGV4dE9mZnNldFgsZC8yLXYraC50ZXh0T2Zmc2V0WSkscD9yLnkrPWYuaGVpZ2h0c1tjXStyLnlQYWQ6ci54Kz1mLndpZHRoc1tjXStyLnhQYWQsci5pbmRleCsrfWZ1bmN0aW9uIFModCxlKXt0LmF0dHIoaC5tZW51SW5kZXhBdHRyTmFtZSxlfHwiLTEiKS5zZWxlY3RBbGwoImcuIitoLmRyb3Bkb3duQnV0dG9uQ2xhc3NOYW1lKS5yZW1vdmUoKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dCxyPXMuZmlsdGVyVmlzaWJsZShlW2gubmFtZV0pO2Z1bmN0aW9uIGkoZSl7YS5hdXRvTWFyZ2luKHQsTShlKSl9dmFyIG89ZS5fbWVudWxheWVyLnNlbGVjdEFsbCgiZy4iK2guY29udGFpbmVyQ2xhc3NOYW1lKS5kYXRhKHIubGVuZ3RoPjA/WzBdOltdKTtpZihvLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChoLmNvbnRhaW5lckNsYXNzTmFtZSwhMCkuc3R5bGUoImN1cnNvciIsInBvaW50ZXIiKSxvLmV4aXQoKS5lYWNoKGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJnLiIraC5oZWFkZXJHcm91cENsYXNzTmFtZSkuZWFjaChpKX0pLnJlbW92ZSgpLDAhPT1yLmxlbmd0aCl7dmFyIGw9by5zZWxlY3RBbGwoImcuIitoLmhlYWRlckdyb3VwQ2xhc3NOYW1lKS5kYXRhKHIscCk7bC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoaC5oZWFkZXJHcm91cENsYXNzTmFtZSwhMCk7Zm9yKHZhciBjPXMuZW5zdXJlU2luZ2xlKG8sImciLGguZHJvcGRvd25CdXR0b25Hcm91cENsYXNzTmFtZSxmdW5jdGlvbih0KXt0LnN0eWxlKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpfSksdT0wO3U8ci5sZW5ndGg7dSsrKXt2YXIgeT1yW3VdO1QodCx5KX12YXIgeD0idXBkYXRlbWVudXMiK2UuX3VpZCxiPW5ldyBmKHQsYyx4KTtsLmVudGVyKCkuc2l6ZSgpJiYoYy5ub2RlKCkucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChjLm5vZGUoKSksYy5jYWxsKFMpKSxsLmV4aXQoKS5lYWNoKGZ1bmN0aW9uKHQpe2MuY2FsbChTKSxpKHQpfSkucmVtb3ZlKCksbC5lYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW4uc2VsZWN0KHRoaXMpLGk9ImRyb3Bkb3duIj09PWUudHlwZT9jOm51bGw7YS5tYW5hZ2VDb21tYW5kT2JzZXJ2ZXIodCxlLGUuYnV0dG9ucyxmdW5jdGlvbihuKXtnKHQsZSxlLmJ1dHRvbnNbbi5pbmRleF0scixpLGIsbi5pbmRleCwhMCl9KSwiZHJvcGRvd24iPT09ZS50eXBlPyh2KHQscixjLGIsZSksZChjLGUpJiZtKHQscixjLGIsZSkpOm0odCxyLG51bGwsbnVsbCxlKX0pfX19LHsiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCI6Njg2LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvcGxvdHMiOjgyNiwiLi4vY29sb3IiOjU5MiwiLi4vZHJhd2luZyI6NjEzLCIuL2NvbnN0YW50cyI6NjgxLCIuL3Njcm9sbGJveCI6Njg1LGQzOjE2NX1dLDY4NDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs2NzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2F0dHJpYnV0ZXMiOjY4MCwiLi9jb25zdGFudHMiOjY4MSwiLi9kZWZhdWx0cyI6NjgyLCIuL2RyYXciOjY4MyxkdXA6Njc4fV0sNjg1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1zO3ZhciBuPXQoImQzIiksYT10KCIuLi9jb2xvciIpLGk9dCgiLi4vZHJhd2luZyIpLG89dCgiLi4vLi4vbGliIik7ZnVuY3Rpb24gcyh0LGUscil7dGhpcy5nZD10LHRoaXMuY29udGFpbmVyPWUsdGhpcy5pZD1yLHRoaXMucG9zaXRpb249bnVsbCx0aGlzLnRyYW5zbGF0ZVg9bnVsbCx0aGlzLnRyYW5zbGF0ZVk9bnVsbCx0aGlzLmhiYXI9bnVsbCx0aGlzLnZiYXI9bnVsbCx0aGlzLmJnPXRoaXMuY29udGFpbmVyLnNlbGVjdEFsbCgicmVjdC5zY3JvbGxib3gtYmciKS5kYXRhKFswXSksdGhpcy5iZy5leGl0KCkub24oIi5kcmFnIixudWxsKS5vbigid2hlZWwiLG51bGwpLnJlbW92ZSgpLHRoaXMuYmcuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKCJzY3JvbGxib3gtYmciLCEwKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKS5hdHRyKHtvcGFjaXR5OjAseDowLHk6MCx3aWR0aDowLGhlaWdodDowfSl9cy5iYXJXaWR0aD0yLHMuYmFyTGVuZ3RoPTIwLHMuYmFyUmFkaXVzPTIscy5iYXJQYWQ9MSxzLmJhckNvbG9yPSIjODA4QkE0IixzLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRoaXMuZ2QuX2Z1bGxMYXlvdXQsbD1vLndpZHRoLGM9by5oZWlnaHQ7dGhpcy5wb3NpdGlvbj10O3ZhciB1LGgsZixwLGQ9dGhpcy5wb3NpdGlvbi5sLGc9dGhpcy5wb3NpdGlvbi53LHY9dGhpcy5wb3NpdGlvbi50LG09dGhpcy5wb3NpdGlvbi5oLHk9dGhpcy5wb3NpdGlvbi5kaXJlY3Rpb24seD0iZG93biI9PT15LGI9ImxlZnQiPT09eSxfPSJ1cCI9PT15LHc9ZyxrPW07eHx8Ynx8InJpZ2h0Ij09PXl8fF98fCh0aGlzLnBvc2l0aW9uLmRpcmVjdGlvbj0iZG93biIseD0hMCkseHx8Xz8oaD0odT1kKSt3LHg/KGY9dixrPShwPU1hdGgubWluKGYrayxjKSktZik6az0ocD12K2spLShmPU1hdGgubWF4KHAtaywwKSkpOihwPShmPXYpK2ssYj93PShoPWQrdyktKHU9TWF0aC5tYXgoaC13LDApKToodT1kLHc9KGg9TWF0aC5taW4odSt3LGwpKS11KSksdGhpcy5fYm94PXtsOnUsdDpmLHc6dyxoOmt9O3ZhciBUPWc+dyxNPXMuYmFyTGVuZ3RoKzIqcy5iYXJQYWQsQT1zLmJhcldpZHRoKzIqcy5iYXJQYWQsUz1kLEU9dittO0UrQT5jJiYoRT1jLUEpO3ZhciBMPXRoaXMuY29udGFpbmVyLnNlbGVjdEFsbCgicmVjdC5zY3JvbGxiYXItaG9yaXpvbnRhbCIpLmRhdGEoVD9bMF06W10pO0wuZXhpdCgpLm9uKCIuZHJhZyIsbnVsbCkucmVtb3ZlKCksTC5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInNjcm9sbGJhci1ob3Jpem9udGFsIiwhMCkuY2FsbChhLmZpbGwscy5iYXJDb2xvciksVD8odGhpcy5oYmFyPUwuYXR0cih7cng6cy5iYXJSYWRpdXMscnk6cy5iYXJSYWRpdXMseDpTLHk6RSx3aWR0aDpNLGhlaWdodDpBfSksdGhpcy5faGJhclhNaW49UytNLzIsdGhpcy5faGJhclRyYW5zbGF0ZU1heD13LU0pOihkZWxldGUgdGhpcy5oYmFyLGRlbGV0ZSB0aGlzLl9oYmFyWE1pbixkZWxldGUgdGhpcy5faGJhclRyYW5zbGF0ZU1heCk7dmFyIEM9bT5rLFA9cy5iYXJXaWR0aCsyKnMuYmFyUGFkLE89cy5iYXJMZW5ndGgrMipzLmJhclBhZCx6PWQrZyxJPXY7eitQPmwmJih6PWwtUCk7dmFyIEQ9dGhpcy5jb250YWluZXIuc2VsZWN0QWxsKCJyZWN0LnNjcm9sbGJhci12ZXJ0aWNhbCIpLmRhdGEoQz9bMF06W10pO0QuZXhpdCgpLm9uKCIuZHJhZyIsbnVsbCkucmVtb3ZlKCksRC5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInNjcm9sbGJhci12ZXJ0aWNhbCIsITApLmNhbGwoYS5maWxsLHMuYmFyQ29sb3IpLEM/KHRoaXMudmJhcj1ELmF0dHIoe3J4OnMuYmFyUmFkaXVzLHJ5OnMuYmFyUmFkaXVzLHg6eix5Okksd2lkdGg6UCxoZWlnaHQ6T30pLHRoaXMuX3ZiYXJZTWluPUkrTy8yLHRoaXMuX3ZiYXJUcmFuc2xhdGVNYXg9ay1PKTooZGVsZXRlIHRoaXMudmJhcixkZWxldGUgdGhpcy5fdmJhcllNaW4sZGVsZXRlIHRoaXMuX3ZiYXJUcmFuc2xhdGVNYXgpO3ZhciBSPXRoaXMuaWQsRj11LS41LEI9Qz9oK1ArLjU6aCsuNSxOPWYtLjUsaj1UP3ArQSsuNTpwKy41LFY9by5fdG9wZGVmcy5zZWxlY3RBbGwoIiMiK1IpLmRhdGEoVHx8Qz9bMF06W10pO2lmKFYuZXhpdCgpLnJlbW92ZSgpLFYuZW50ZXIoKS5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLFIpLmFwcGVuZCgicmVjdCIpLFR8fEM/KHRoaXMuX2NsaXBSZWN0PVYuc2VsZWN0KCJyZWN0IikuYXR0cih7eDpNYXRoLmZsb29yKEYpLHk6TWF0aC5mbG9vcihOKSx3aWR0aDpNYXRoLmNlaWwoQiktTWF0aC5mbG9vcihGKSxoZWlnaHQ6TWF0aC5jZWlsKGopLU1hdGguZmxvb3IoTil9KSx0aGlzLmNvbnRhaW5lci5jYWxsKGkuc2V0Q2xpcFVybCxSLHRoaXMuZ2QpLHRoaXMuYmcuYXR0cih7eDpkLHk6dix3aWR0aDpnLGhlaWdodDptfSkpOih0aGlzLmJnLmF0dHIoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLmNvbnRhaW5lci5vbigid2hlZWwiLG51bGwpLm9uKCIuZHJhZyIsbnVsbCkuY2FsbChpLnNldENsaXBVcmwsbnVsbCksZGVsZXRlIHRoaXMuX2NsaXBSZWN0KSxUfHxDKXt2YXIgVT1uLmJlaGF2aW9yLmRyYWcoKS5vbigiZHJhZ3N0YXJ0IixmdW5jdGlvbigpe24uZXZlbnQuc291cmNlRXZlbnQucHJldmVudERlZmF1bHQoKX0pLm9uKCJkcmFnIix0aGlzLl9vbkJveERyYWcuYmluZCh0aGlzKSk7dGhpcy5jb250YWluZXIub24oIndoZWVsIixudWxsKS5vbigid2hlZWwiLHRoaXMuX29uQm94V2hlZWwuYmluZCh0aGlzKSkub24oIi5kcmFnIixudWxsKS5jYWxsKFUpO3ZhciBxPW4uYmVoYXZpb3IuZHJhZygpLm9uKCJkcmFnc3RhcnQiLGZ1bmN0aW9uKCl7bi5ldmVudC5zb3VyY2VFdmVudC5wcmV2ZW50RGVmYXVsdCgpLG4uZXZlbnQuc291cmNlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiZHJhZyIsdGhpcy5fb25CYXJEcmFnLmJpbmQodGhpcykpO1QmJnRoaXMuaGJhci5vbigiLmRyYWciLG51bGwpLmNhbGwocSksQyYmdGhpcy52YmFyLm9uKCIuZHJhZyIsbnVsbCkuY2FsbChxKX10aGlzLnNldFRyYW5zbGF0ZShlLHIpfSxzLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7KHRoaXMuaGJhcnx8dGhpcy52YmFyKSYmKHRoaXMuYmcuYXR0cih7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuY29udGFpbmVyLm9uKCJ3aGVlbCIsbnVsbCkub24oIi5kcmFnIixudWxsKS5jYWxsKGkuc2V0Q2xpcFVybCxudWxsKSxkZWxldGUgdGhpcy5fY2xpcFJlY3QpLHRoaXMuaGJhciYmKHRoaXMuaGJhci5vbigiLmRyYWciLG51bGwpLHRoaXMuaGJhci5yZW1vdmUoKSxkZWxldGUgdGhpcy5oYmFyLGRlbGV0ZSB0aGlzLl9oYmFyWE1pbixkZWxldGUgdGhpcy5faGJhclRyYW5zbGF0ZU1heCksdGhpcy52YmFyJiYodGhpcy52YmFyLm9uKCIuZHJhZyIsbnVsbCksdGhpcy52YmFyLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLnZiYXIsZGVsZXRlIHRoaXMuX3ZiYXJZTWluLGRlbGV0ZSB0aGlzLl92YmFyVHJhbnNsYXRlTWF4KX0scy5wcm90b3R5cGUuX29uQm94RHJhZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMudHJhbnNsYXRlWCxlPXRoaXMudHJhbnNsYXRlWTt0aGlzLmhiYXImJih0LT1uLmV2ZW50LmR4KSx0aGlzLnZiYXImJihlLT1uLmV2ZW50LmR5KSx0aGlzLnNldFRyYW5zbGF0ZSh0LGUpfSxzLnByb3RvdHlwZS5fb25Cb3hXaGVlbD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudHJhbnNsYXRlWCxlPXRoaXMudHJhbnNsYXRlWTt0aGlzLmhiYXImJih0Kz1uLmV2ZW50LmRlbHRhWSksdGhpcy52YmFyJiYoZSs9bi5ldmVudC5kZWx0YVkpLHRoaXMuc2V0VHJhbnNsYXRlKHQsZSl9LHMucHJvdG90eXBlLl9vbkJhckRyYWc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRyYW5zbGF0ZVgsZT10aGlzLnRyYW5zbGF0ZVk7aWYodGhpcy5oYmFyKXt2YXIgcj10K3RoaXMuX2hiYXJYTWluLGE9cit0aGlzLl9oYmFyVHJhbnNsYXRlTWF4O3Q9KG8uY29uc3RyYWluKG4uZXZlbnQueCxyLGEpLXIpLyhhLXIpKih0aGlzLnBvc2l0aW9uLnctdGhpcy5fYm94LncpfWlmKHRoaXMudmJhcil7dmFyIGk9ZSt0aGlzLl92YmFyWU1pbixzPWkrdGhpcy5fdmJhclRyYW5zbGF0ZU1heDtlPShvLmNvbnN0cmFpbihuLmV2ZW50LnksaSxzKS1pKS8ocy1pKSoodGhpcy5wb3NpdGlvbi5oLXRoaXMuX2JveC5oKX10aGlzLnNldFRyYW5zbGF0ZSh0LGUpfSxzLnByb3RvdHlwZS5zZXRUcmFuc2xhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLnBvc2l0aW9uLnctdGhpcy5fYm94Lncsbj10aGlzLnBvc2l0aW9uLmgtdGhpcy5fYm94Lmg7aWYodD1vLmNvbnN0cmFpbih0fHwwLDAsciksZT1vLmNvbnN0cmFpbihlfHwwLDAsbiksdGhpcy50cmFuc2xhdGVYPXQsdGhpcy50cmFuc2xhdGVZPWUsdGhpcy5jb250YWluZXIuY2FsbChpLnNldFRyYW5zbGF0ZSx0aGlzLl9ib3gubC10aGlzLnBvc2l0aW9uLmwtdCx0aGlzLl9ib3gudC10aGlzLnBvc2l0aW9uLnQtZSksdGhpcy5fY2xpcFJlY3QmJnRoaXMuX2NsaXBSZWN0LmF0dHIoe3g6TWF0aC5mbG9vcih0aGlzLnBvc2l0aW9uLmwrdC0uNSkseTpNYXRoLmZsb29yKHRoaXMucG9zaXRpb24udCtlLS41KX0pLHRoaXMuaGJhcil7dmFyIGE9dC9yO3RoaXMuaGJhci5jYWxsKGkuc2V0VHJhbnNsYXRlLHQrYSp0aGlzLl9oYmFyVHJhbnNsYXRlTWF4LGUpfWlmKHRoaXMudmJhcil7dmFyIHM9ZS9uO3RoaXMudmJhci5jYWxsKGkuc2V0VHJhbnNsYXRlLHQsZStzKnRoaXMuX3ZiYXJUcmFuc2xhdGVNYXgpfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uL2NvbG9yIjo1OTIsIi4uL2RyYXdpbmciOjYxMyxkMzoxNjV9XSw2ODY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtGUk9NX0JMOntsZWZ0OjAsY2VudGVyOi41LHJpZ2h0OjEsYm90dG9tOjAsbWlkZGxlOi41LHRvcDoxfSxGUk9NX1RMOntsZWZ0OjAsY2VudGVyOi41LHJpZ2h0OjEsYm90dG9tOjEsbWlkZGxlOi41LHRvcDowfSxGUk9NX0JSOntsZWZ0OjEsY2VudGVyOi41LHJpZ2h0OjAsYm90dG9tOjAsbWlkZGxlOi41LHRvcDoxfSxMSU5FX1NQQUNJTkc6MS4zLENBUF9TSElGVDouNyxNSURfU0hJRlQ6LjM1LE9QUE9TSVRFX1NJREU6e2xlZnQ6InJpZ2h0IixyaWdodDoibGVmdCIsdG9wOiJib3R0b20iLGJvdHRvbToidG9wIn19fSx7fV0sNjg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17SU5DUkVBU0lORzp7Q09MT1I6IiMzRDk5NzAiLFNZTUJPTDoiXHUyNWIyIn0sREVDUkVBU0lORzp7Q09MT1I6IiNGRjQxMzYiLFNZTUJPTDoiXHUyNWJjIn19fSx7fV0sNjg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17Rk9STUFUX0xJTks6Imh0dHBzOi8vZ2l0aHViLmNvbS9kMy9kMy0zLngtYXBpLXJlZmVyZW5jZS9ibG9iL21hc3Rlci9Gb3JtYXR0aW5nLm1kI2QzX2Zvcm1hdCIsREFURV9GT1JNQVRfTElOSzoiaHR0cHM6Ly9naXRodWIuY29tL2QzL2QzLTMueC1hcGktcmVmZXJlbmNlL2Jsb2IvbWFzdGVyL1RpbWUtRm9ybWF0dGluZy5tZCNmb3JtYXQifX0se31dLDY4OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e0NPTVBBUklTT05fT1BTOlsiPSIsIiE9IiwiPCIsIj49IiwiPiIsIjw9Il0sQ09NUEFSSVNPTl9PUFMyOlsiPSIsIjwiLCI+PSIsIj4iLCI8PSJdLElOVEVSVkFMX09QUzpbIltdIiwiKCkiLCJbKSIsIihdIiwiXVsiLCIpKCIsIl0oIiwiKVsiXSxTRVRfT1BTOlsie30iLCJ9eyJdLENPTlNUUkFJTlRfUkVEVUNUSU9OOnsiPSI6Ij0iLCI8IjoiPCIsIjw9IjoiPCIsIj4iOiI+IiwiPj0iOiI+IiwiW10iOiJbXSIsIigpIjoiW10iLCJbKSI6IltdIiwiKF0iOiJbXSIsIl1bIjoiXVsiLCIpKCI6Il1bIiwiXSgiOiJdWyIsIilbIjoiXVsifX19LHt9XSw2OTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtzb2xpZDpbW10sMF0sZG90OltbLjUsMV0sMjAwXSxkYXNoOltbLjUsMV0sNTBdLGxvbmdkYXNoOltbLjUsMV0sMTBdLGRhc2hkb3Q6W1suNSwuNjI1LC44NzUsMV0sNTBdLGxvbmdkYXNoZG90OltbLjUsLjcsLjgsMV0sMTBdfX0se31dLDY5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2NpcmNsZToiXHUyNWNmIiwiY2lyY2xlLW9wZW4iOiJcdTI1Y2IiLHNxdWFyZToiXHUyNWEwIiwic3F1YXJlLW9wZW4iOiJcdTI1YTEiLGRpYW1vbmQ6Ilx1MjVjNiIsImRpYW1vbmQtb3BlbiI6Ilx1MjVjNyIsY3Jvc3M6IisiLHg6Ilx1Mjc0YyJ9fSx7fV0sNjkyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17U0hPV19QTEFDRUhPTERFUjoxMDAsSElERV9QTEFDRUhPTERFUjoxZTMsREVTRUxFQ1RESU06LjJ9fSx7fV0sNjkzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17QkFETlVNOnZvaWQgMCxGUF9TQUZFOk51bWJlci5NQVhfVkFMVUUvMWU0LE9ORUFWR1lFQVI6MzE1NTc2ZTUsT05FQVZHTU9OVEg6MjYyOThlNSxPTkVEQVk6ODY0ZTUsT05FSE9VUjozNmU1LE9ORU1JTjo2ZTQsT05FU0VDOjFlMyxFUE9DSEpEOjI0NDA1ODcuNSxBTE1PU1RfRVFVQUw6MS0xZS02LExPR19DTElQOjEwLE1JTlVTX1NJR046Ilx1MjIxMiJ9fSx7fV0sNjk0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IueG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIixyLnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHIueGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHIuc3ZnQXR0cnM9e3htbG5zOnIuc3ZnLCJ4bWxuczp4bGluayI6ci54bGlua319LHt9XSw2OTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci52ZXJzaW9uPSIxLjUyLjIiLHQoImVzNi1wcm9taXNlIikucG9seWZpbGwoKSx0KCIuLi9idWlsZC9wbG90Y3NzIiksdCgiLi9mb250cy9tYXRoamF4X2NvbmZpZyIpKCk7Zm9yKHZhciBuPXQoIi4vcmVnaXN0cnkiKSxhPXIucmVnaXN0ZXI9bi5yZWdpc3RlcixpPXQoIi4vcGxvdF9hcGkiKSxvPU9iamVjdC5rZXlzKGkpLHM9MDtzPG8ubGVuZ3RoO3MrKyl7dmFyIGw9b1tzXTsiXyIhPT1sLmNoYXJBdCgwKSYmKHJbbF09aVtsXSksYSh7bW9kdWxlVHlwZToiYXBpTWV0aG9kIixuYW1lOmwsZm46aVtsXX0pfWEodCgiLi90cmFjZXMvc2NhdHRlciIpKSxhKFt0KCIuL2NvbXBvbmVudHMvZngiKSx0KCIuL2NvbXBvbmVudHMvbGVnZW5kIiksdCgiLi9jb21wb25lbnRzL2Fubm90YXRpb25zIiksdCgiLi9jb21wb25lbnRzL2Fubm90YXRpb25zM2QiKSx0KCIuL2NvbXBvbmVudHMvc2hhcGVzIiksdCgiLi9jb21wb25lbnRzL2ltYWdlcyIpLHQoIi4vY29tcG9uZW50cy91cGRhdGVtZW51cyIpLHQoIi4vY29tcG9uZW50cy9zbGlkZXJzIiksdCgiLi9jb21wb25lbnRzL3Jhbmdlc2xpZGVyIiksdCgiLi9jb21wb25lbnRzL3Jhbmdlc2VsZWN0b3IiKSx0KCIuL2NvbXBvbmVudHMvZ3JpZCIpLHQoIi4vY29tcG9uZW50cy9lcnJvcmJhcnMiKSx0KCIuL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLHQoIi4vY29tcG9uZW50cy9jb2xvcmJhciIpXSksYShbdCgiLi9sb2NhbGUtZW4iKSx0KCIuL2xvY2FsZS1lbi11cyIpXSksd2luZG93LlBsb3RseUxvY2FsZXMmJkFycmF5LmlzQXJyYXkod2luZG93LlBsb3RseUxvY2FsZXMpJiYoYSh3aW5kb3cuUGxvdGx5TG9jYWxlcyksZGVsZXRlIHdpbmRvdy5QbG90bHlMb2NhbGVzKSxyLkljb25zPXQoIi4vZm9udHMvcGxvdGljb24iKSxyLlBsb3RzPXQoIi4vcGxvdHMvcGxvdHMiKSxyLkZ4PXQoIi4vY29tcG9uZW50cy9meCIpLHIuU25hcHNob3Q9dCgiLi9zbmFwc2hvdCIpLHIuUGxvdFNjaGVtYT10KCIuL3Bsb3RfYXBpL3Bsb3Rfc2NoZW1hIiksci5RdWV1ZT10KCIuL2xpYi9xdWV1ZSIpLHIuZDM9dCgiZDMiKX0seyIuLi9idWlsZC9wbG90Y3NzIjoxLCIuL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMiOjU4MywiLi9jb21wb25lbnRzL2Fubm90YXRpb25zM2QiOjU4OCwiLi9jb21wb25lbnRzL2NvbG9yYmFyIjo1OTgsIi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4vY29tcG9uZW50cy9lcnJvcmJhcnMiOjYxOSwiLi9jb21wb25lbnRzL2Z4Ijo2MzAsIi4vY29tcG9uZW50cy9ncmlkIjo2MzQsIi4vY29tcG9uZW50cy9pbWFnZXMiOjYzOSwiLi9jb21wb25lbnRzL2xlZ2VuZCI6NjQ3LCIuL2NvbXBvbmVudHMvcmFuZ2VzZWxlY3RvciI6NjU4LCIuL2NvbXBvbmVudHMvcmFuZ2VzbGlkZXIiOjY2NSwiLi9jb21wb25lbnRzL3NoYXBlcyI6NjczLCIuL2NvbXBvbmVudHMvc2xpZGVycyI6Njc4LCIuL2NvbXBvbmVudHMvdXBkYXRlbWVudXMiOjY4NCwiLi9mb250cy9tYXRoamF4X2NvbmZpZyI6Njk2LCIuL2ZvbnRzL3Bsb3RpY29uIjo2OTcsIi4vbGliL3F1ZXVlIjo3MzIsIi4vbG9jYWxlLWVuIjo3NDYsIi4vbG9jYWxlLWVuLXVzIjo3NDUsIi4vcGxvdF9hcGkiOjc1MCwiLi9wbG90X2FwaS9wbG90X3NjaGVtYSI6NzU0LCIuL3Bsb3RzL3Bsb3RzIjo4MjYsIi4vcmVnaXN0cnkiOjg0NiwiLi9zbmFwc2hvdCI6ODUxLCIuL3RyYWNlcy9zY2F0dGVyIjoxMTMyLGQzOjE2NSwiZXM2LXByb21pc2UiOjIyMX1dLDY5NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXsidW5kZWZpbmVkIiE9dHlwZW9mIE1hdGhKYXgmJigibG9jYWwiIT09KHdpbmRvdy5QbG90bHlDb25maWd8fHt9KS5NYXRoSmF4Q29uZmlnJiYoTWF0aEpheC5IdWIuQ29uZmlnKHttZXNzYWdlU3R5bGU6Im5vbmUiLHNraXBTdGFydHVwVHlwZXNldDohMCxkaXNwbGF5QWxpZ246ImxlZnQiLHRleDJqYXg6e2lubGluZU1hdGg6W1siJCIsIiQiXSxbIlxcKCIsIlxcKSJdXX19KSxNYXRoSmF4Lkh1Yi5Db25maWd1cmVkKCkpKX19LHt9XSw2OTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXt1bmRvOnt3aWR0aDo4NTcuMSxoZWlnaHQ6MWUzLHBhdGg6Im04NTcgMzUwcTAtODctMzQtMTY2dC05MS0xMzctMTM3LTkyLTE2Ni0zNHEtOTYgMC0xODMgNDF0LTE0NyAxMTRxLTQgNi00IDEzdDUgMTFsNzYgNzdxNiA1IDE0IDUgOS0xIDEzLTcgNDEtNTMgMTAwLTgydDEyNi0yOXE1OCAwIDExMCAyM3Q5MiA2MSA2MSA5MSAyMiAxMTEtMjIgMTExLTYxIDkxLTkyIDYxLTExMCAyM3EtNTUgMC0xMDUtMjB0LTkwLTU3bDc3LTc3cTE3LTE2IDgtMzgtMTAtMjMtMzMtMjNoLTI1MHEtMTUgMC0yNSAxMXQtMTEgMjV2MjUwcTAgMjQgMjIgMzMgMjIgMTAgMzktOGw3Mi03MnE2MCA1NyAxMzcgODh0MTU5IDMxcTg3IDAgMTY2LTM0dDEzNy05MiA5MS0xMzcgMzQtMTY2eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0saG9tZTp7d2lkdGg6OTI4LjYsaGVpZ2h0OjFlMyxwYXRoOiJtNzg2IDI5NnYtMjY3cTAtMTUtMTEtMjZ0LTI1LTEwaC0yMTR2MjE0aC0xNDN2LTIxNGgtMjE0cS0xNSAwLTI1IDEwdC0xMSAyNnYyNjdxMCAxIDAgMnQwIDJsMzIxIDI2NCAzMjEtMjY0cTEtMSAxLTR6IG0xMjQgMzlsLTM0LTQxcS01LTUtMTItNmgtMnEtNyAwLTEyIDNsLTM4NiAzMjItMzg2LTMyMnEtNy00LTEzLTQtNyAyLTEyIDdsLTM1IDQxcS00IDUtMyAxM3Q2IDEybDQwMSAzMzRxMTggMTUgNDIgMTV0NDMtMTVsMTM2LTExNHYxMDlxMCA4IDUgMTN0MTMgNWgxMDdxOCAwIDEzLTV0NS0xM3YtMjI3bDEyMi0xMDJxNS01IDYtMTJ0LTQtMTN6Iix0cmFuc2Zvcm06Im1hdHJpeCgxIDAgMCAtMSAwIDg1MCkifSwiY2FtZXJhLXJldHJvIjp7d2lkdGg6MWUzLGhlaWdodDoxZTMscGF0aDoibTUxOCAzODZxMCA4LTUgMTN0LTEzIDVxLTM3IDAtNjMtMjd0LTI2LTYzcTAtOCA1LTEzdDEzLTUgMTIgNSA1IDEzcTAgMjMgMTYgMzh0MzggMTZxOCAwIDEzIDV0NSAxM3ogbTEyNS03M3EwLTU5LTQyLTEwMXQtMTAxLTQyLTEwMSA0Mi00MiAxMDEgNDIgMTAxIDEwMSA0MiAxMDEtNDIgNDItMTAxeiBtLTU3Mi0zMjBoODU4djcxaC04NTh2LTcxeiBtNjQzIDMyMHEwIDg5LTYyIDE1MnQtMTUyIDYyLTE1MS02Mi02My0xNTIgNjMtMTUxIDE1MS02MyAxNTIgNjMgNjIgMTUxeiBtLTU3MSAzNThoMjE0djcyaC0yMTR2LTcyeiBtLTcyLTEwN2g4NTh2MTQzaC00NjJsLTM2LTcxaC0zNjB2LTcyeiBtOTI5IDE0M3YtNzE0cTAtMzAtMjEtNTF0LTUwLTIxaC04NThxLTI5IDAtNTAgMjF0LTIxIDUxdjcxNHEwIDMwIDIxIDUxdDUwIDIxaDg1OHEyOSAwIDUwLTIxdDIxLTUxeiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sem9vbWJveDp7d2lkdGg6MWUzLGhlaWdodDoxZTMscGF0aDoibTEwMDAtMjVsLTI1MCAyNTFjNDAgNjMgNjMgMTM4IDYzIDIxOCAwIDIyNC0xODIgNDA2LTQwNyA0MDYtMjI0IDAtNDA2LTE4Mi00MDYtNDA2czE4My00MDYgNDA3LTQwNmM4MCAwIDE1NSAyMiAyMTggNjJsMjUwLTI1MCAxMjUgMTI1eiBtLTgxMiAyNTBsMCA0MzggNDM3IDAgMC00MzgtNDM3IDB6IG02MiAzNzVsMzEzIDAgMC0zMTItMzEzIDAgMCAzMTJ6Iix0cmFuc2Zvcm06Im1hdHJpeCgxIDAgMCAtMSAwIDg1MCkifSxwYW46e3dpZHRoOjFlMyxoZWlnaHQ6MWUzLHBhdGg6Im0xMDAwIDM1MGwtMTg3IDE4OCAwLTEyNS0yNTAgMCAwIDI1MCAxMjUgMC0xODggMTg3LTE4Ny0xODcgMTI1IDAgMC0yNTAtMjUwIDAgMCAxMjUtMTg4LTE4OCAxODYtMTg3IDAgMTI1IDI1MiAwIDAtMjUwLTEyNSAwIDE4Ny0xODggMTg4IDE4OC0xMjUgMCAwIDI1MCAyNTAgMCAwLTEyNiAxODcgMTg4eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sem9vbV9wbHVzOnt3aWR0aDo4NzUsaGVpZ2h0OjFlMyxwYXRoOiJtMSA3ODdsMC04NzUgODc1IDAgMCA4NzUtODc1IDB6IG02ODctNTAwbC0xODcgMCAwLTE4Ny0xMjUgMCAwIDE4Ny0xODggMCAwIDEyNSAxODggMCAwIDE4NyAxMjUgMCAwLTE4NyAxODcgMCAwLTEyNXoiLHRyYW5zZm9ybToibWF0cml4KDEgMCAwIC0xIDAgODUwKSJ9LHpvb21fbWludXM6e3dpZHRoOjg3NSxoZWlnaHQ6MWUzLHBhdGg6Im0wIDc4OGwwLTg3NiA4NzUgMCAwIDg3Ni04NzUgMHogbTY4OC01MDBsLTUwMCAwIDAgMTI1IDUwMCAwIDAtMTI1eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sYXV0b3NjYWxlOnt3aWR0aDoxZTMsaGVpZ2h0OjFlMyxwYXRoOiJtMjUwIDg1MGwtMTg3IDAtNjMgMCAwLTYyIDAtMTg4IDYzIDAgMCAxODggMTg3IDAgMCA2MnogbTY4OCAwbC0xODggMCAwLTYyIDE4OCAwIDAtMTg4IDYyIDAgMCAxODggMCA2Mi02MiAweiBtLTg3NS05MzhsMCAxODgtNjMgMCAwLTE4OCAwLTYyIDYzIDAgMTg3IDAgMCA2Mi0xODcgMHogbTg3NSAxODhsMC0xODgtMTg4IDAgMC02MiAxODggMCA2MiAwIDAgNjIgMCAxODgtNjIgMHogbS0xMjUgMTg4bC0xIDAtOTMtOTQtMTU2IDE1NiAxNTYgMTU2IDkyLTkzIDIgMCAwIDI1MC0yNTAgMCAwLTIgOTMtOTItMTU2LTE1Ni0xNTYgMTU2IDk0IDkyIDAgMi0yNTAgMCAwLTI1MCAwIDAgOTMgOTMgMTU3LTE1Ni0xNTctMTU2LTkzIDk0IDAgMCAwLTI1MCAyNTAgMCAwIDAtOTQgOTMgMTU2IDE1NyAxNTYtMTU3LTkzLTkzIDAgMCAyNTAgMCAwIDI1MHoiLHRyYW5zZm9ybToibWF0cml4KDEgMCAwIC0xIDAgODUwKSJ9LHRvb2x0aXBfYmFzaWM6e3dpZHRoOjE1MDAsaGVpZ2h0OjFlMyxwYXRoOiJtMzc1IDcyNWwwIDAtMzc1LTM3NSAzNzUtMzc0IDAtMSAxMTI1IDAgMCA3NTAtMTEyNSAweiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sdG9vbHRpcF9jb21wYXJlOnt3aWR0aDoxMTI1LGhlaWdodDoxZTMscGF0aDoibTE4NyA3ODZsMCAyLTE4Ny0xODggMTg4LTE4NyAwIDAgOTM3IDAgMCAzNzMtOTM4IDB6IG0wLTQ5OWwwIDEtMTg3LTE4OCAxODgtMTg4IDAgMCA5MzcgMCAwIDM3Ni05MzgtMXoiLHRyYW5zZm9ybToibWF0cml4KDEgMCAwIC0xIDAgODUwKSJ9LHBsb3RseWxvZ286e3dpZHRoOjE1NDIsaGVpZ2h0OjFlMyxwYXRoOiJtMC0xMGgxODJ2LTE0MGgtMTgydjE0MHogbTIyOCAxNDZoMTgzdi0yODZoLTE4M3YyODZ6IG0yMjUgNzE0aDE4MnYtMTAwMGgtMTgydjEwMDB6IG0yMjUtMjg1aDE4MnYtNzE1aC0xODJ2NzE1eiBtMjI1IDE0MmgxODN2LTg1N2gtMTgzdjg1N3ogbTIzMS00MjhoMTgydi00MjloLTE4MnY0Mjl6IG0yMjUtMjkxaDE4M3YtMTM4aC0xODN2MTM4eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sInotYXhpcyI6e3dpZHRoOjFlMyxoZWlnaHQ6MWUzLHBhdGg6Im04MzMgNWwtMTcgMTA4djQxbC0xMzAtNjUgMTMwLTY2YzAgMCAwIDM4IDAgMzkgMC0xIDM2LTE0IDM5LTI1IDQtMTUtNi0yMi0xNi0zMC0xNS0xMi0zOS0xNi01Ni0yMC05MC0yMi0xODctMjMtMjc5LTIzLTI2MSAwLTM0MSAzNC0zNTMgNTkgMyA2MCAyMjggMTEwIDIyOCAxMTAtMTQwLTgtMzUxLTM1LTM1MS0xMTYgMC0xMjAgMjkzLTE0MiA0NzQtMTQyIDE1NSAwIDQ3NyAyMiA0NzcgMTQyIDAgNTAtNzQgNzktMTYzIDk2eiBtLTM3NCA5NGMtNTgtNS05OS0yMS05OS00MCAwLTI0IDY1LTQzIDE0NC00MyA3OSAwIDE0MyAxOSAxNDMgNDMgMCAxOS00MiAzNC05OCA0MHYyMTZoODdsLTEzMiAxMzUtMTMzLTEzNWg4OHYtMjE2eiBtMTY3IDUxNWgtMTM2djFjMTYgMTYgMzEgMzQgNDYgNTJsODQgMTA5djU0aC0yMzB2LTcxaDEyNHYtMWMtMTYtMTctMjgtMzItNDQtNTFsLTg5LTExNHYtNTFoMjQ1djcyeiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sIjNkX3JvdGF0ZSI6e3dpZHRoOjFlMyxoZWlnaHQ6MWUzLHBhdGg6Im05MjIgNjYwYy01IDQtOSA3LTE0IDExLTM1OSAyNjMtNTgwLTMxLTU4MC0zMWwtMTAyIDI4IDU4LTQwMGMwIDEgMSAxIDIgMiAxMTggMTA4IDM1MSAyNDkgMzUxIDI0OXMtNjIgMjctMTAwIDQyYzg4IDgzIDIyMiAxODMgMzQ3IDEyMiAxNi04IDMwLTE3IDQ0LTI3LTIgMS00IDItNiA0eiBtMzYtMzI5YzAgMCA2NCAyMjktODggMjk2LTYyIDI3LTEyNCAxNC0xNzUtMTEgMTU3LTc4IDIyNS0yMDggMjQ5LTI2NiA4LTE5IDExLTMxIDExLTMxIDIgNSA2IDE1IDExIDMyLTUtMTMtOC0yMC04LTIweiBtLTc3NS0yMzljNzAtMzEgMTE3LTUwIDE5OC0zMi0xMjEgODAtMTk5IDM0Ni0xOTkgMzQ2bC05Ni0xNS01OC0xMmMwIDAgNTUtMjI2IDE1NS0yODd6IG02MDMgMTMzbC0zMTctMTM5YzAgMCA0LTQgMTktMTQgNy01IDI0LTE1IDI0LTE1cy0xNzctMTQ3LTM4OSA0YzIzNS0yODcgNTM2LTExMiA1MzYtMTEybDMxLTIyIDEwMCAyOTktNC0xeiBtLTI5OC0xNTNjNi00IDE0LTkgMjQtMTUgMCAwLTE3IDEwLTI0IDE1eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sY2FtZXJhOnt3aWR0aDoxZTMsaGVpZ2h0OjFlMyxwYXRoOiJtNTAwIDQ1MGMtODMgMC0xNTAtNjctMTUwLTE1MCAwLTgzIDY3LTE1MCAxNTAtMTUwIDgzIDAgMTUwIDY3IDE1MCAxNTAgMCA4My02NyAxNTAtMTUwIDE1MHogbTQwMCAxNTBoLTEyMGMtMTYgMC0zNCAxMy0zOSAyOWwtMzEgOTNjLTYgMTUtMjMgMjgtNDAgMjhoLTM0MGMtMTYgMC0zNC0xMy0zOS0yOGwtMzEtOTRjLTYtMTUtMjMtMjgtNDAtMjhoLTEyMGMtNTUgMC0xMDAtNDUtMTAwLTEwMHYtNDUwYzAtNTUgNDUtMTAwIDEwMC0xMDBoODAwYzU1IDAgMTAwIDQ1IDEwMCAxMDB2NDUwYzAgNTUtNDUgMTAwLTEwMCAxMDB6IG0tNDAwLTU1MGMtMTM4IDAtMjUwIDExMi0yNTAgMjUwIDAgMTM4IDExMiAyNTAgMjUwIDI1MCAxMzggMCAyNTAtMTEyIDI1MC0yNTAgMC0xMzgtMTEyLTI1MC0yNTAtMjUweiBtMzY1IDM4MGMtMTkgMC0zNSAxNi0zNSAzNSAwIDE5IDE2IDM1IDM1IDM1IDE5IDAgMzUtMTYgMzUtMzUgMC0xOS0xNi0zNS0zNS0zNXoiLHRyYW5zZm9ybToibWF0cml4KDEgMCAwIC0xIDAgODUwKSJ9LG1vdmllOnt3aWR0aDoxZTMsaGVpZ2h0OjFlMyxwYXRoOiJtOTM4IDQxM2wtMTg4LTEyNWMwIDM3LTE3IDcxLTQ0IDk0IDY0IDM4IDEwNyAxMDcgMTA3IDE4NyAwIDEyMS05OCAyMTktMjE5IDIxOS0xMjEgMC0yMTktOTgtMjE5LTIxOSAwLTYxIDI1LTExNyA2Ni0xNTZoLTExNWMzMCAzMyA0OSA3NiA0OSAxMjUgMCAxMDMtODQgMTg3LTE4NyAxODdzLTE4OC04NC0xODgtMTg3YzAtNTcgMjYtMTA3IDY1LTE0MS0zOC0yMi02NS02Mi02NS0xMDl2LTI1MGMwLTcwIDU2LTEyNiAxMjUtMTI2aDUwMGM2OSAwIDEyNSA1NiAxMjUgMTI2bDE4OC0xMjZjMzQgMCA2MiAyOCA2MiA2M3YzNzVjMCAzNS0yOCA2My02MiA2M3ogbS03NTAgMGMtNjkgMC0xMjUgNTYtMTI1IDEyNXM1NiAxMjUgMTI1IDEyNSAxMjUtNTYgMTI1LTEyNS01Ni0xMjUtMTI1LTEyNXogbTQwNi0xYy04NyAwLTE1NyA3MC0xNTcgMTU3IDAgODYgNzAgMTU2IDE1NyAxNTZzMTU2LTcwIDE1Ni0xNTYtNzAtMTU3LTE1Ni0xNTd6Iix0cmFuc2Zvcm06Im1hdHJpeCgxIDAgMCAtMSAwIDg1MCkifSxxdWVzdGlvbjp7d2lkdGg6ODU3LjEsaGVpZ2h0OjFlMyxwYXRoOiJtNTAwIDgydjEwN3EwIDgtNSAxM3QtMTMgNWgtMTA3cS04IDAtMTMtNXQtNS0xM3YtMTA3cTAtOCA1LTEzdDEzLTVoMTA3cTggMCAxMyA1dDUgMTN6IG0xNDMgMzc1cTAgNDktMzEgOTF0LTc3IDY1LTk1IDIzcS0xMzYgMC0yMDctMTE5LTktMTQgNC0yNGw3NC01NXE0LTQgMTAtNCA5IDAgMTQgNyAzMCAzOCA0OCA1MSAxOSAxNCA0OCAxNCAyNyAwIDQ4LTE1dDIxLTMzcTAtMjEtMTEtMzR0LTM4LTI1cS0zNS0xNi02NS00OHQtMjktNzB2LTIwcTAtOCA1LTEzdDEzLTVoMTA3cTggMCAxMyA1dDUgMTNxMCAxMCAxMiAyN3QzMCAyOHExOCAxMCAyOCAxNnQyNSAxOSAyNSAyNyAxNiAzNCA3IDQ1eiBtMjE0LTEwN3EwLTExNy01Ny0yMTV0LTE1Ni0xNTYtMjE1LTU4LTIxNiA1OC0xNTUgMTU2LTU4IDIxNSA1OCAyMTUgMTU1IDE1NiAyMTYgNTggMjE1LTU4IDE1Ni0xNTYgNTctMjE1eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sZGlzazp7d2lkdGg6ODU3LjEsaGVpZ2h0OjFlMyxwYXRoOiJtMjE0LTdoNDI5djIxNGgtNDI5di0yMTR6IG01MDAgMGg3MnY1MDBxMCA4LTYgMjF0LTExIDIwbC0xNTcgMTU2cS01IDYtMTkgMTJ0LTIyIDV2LTIzMnEwLTIyLTE1LTM4dC0zOC0xNmgtMzIycS0yMiAwLTM3IDE2dC0xNiAzOHYyMzJoLTcydi03MTRoNzJ2MjMycTAgMjIgMTYgMzh0MzcgMTZoNDY1cTIyIDAgMzgtMTZ0MTUtMzh2LTIzMnogbS0yMTQgNTE4djE3OHEwIDgtNSAxM3QtMTMgNWgtMTA3cS03IDAtMTMtNXQtNS0xM3YtMTc4cTAtOCA1LTEzdDEzLTVoMTA3cTcgMCAxMyA1dDUgMTN6IG0zNTctMTh2LTUxOHEwLTIyLTE1LTM4dC0zOC0xNmgtNzUwcS0yMyAwLTM4IDE2dC0xNiAzOHY3NTBxMCAyMiAxNiAzOHQzOCAxNmg1MTdxMjMgMCA1MC0xMnQ0Mi0yNmwxNTYtMTU3cTE2LTE1IDI3LTQydDExLTQ5eiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgLTEgMCA4NTApIn0sbGFzc286e3dpZHRoOjEwMzEsaGVpZ2h0OjFlMyxwYXRoOiJtMTAxOCA1MzhjLTM2IDIwNy0yOTAgMzM2LTU2OCAyODYtMjc3LTQ4LTQ3My0yNTYtNDM2LTQ2MyAxMC01NyAzNi0xMDggNzYtMTUxLTEzLTY2IDExLTEzNyA2OC0xODMgMzQtMjggNzUtNDEgMTE0LTQybC01NS03MCAwIDBjLTItMS0zLTItNC0zLTEwLTE0LTgtMzQgNS00NSAxNC0xMSAzNC04IDQ1IDQgMSAxIDIgMyAyIDVsMCAwIDExMyAxNDBjMTYgMTEgMzEgMjQgNDUgNDAgNCAzIDYgNyA4IDExIDQ4LTMgMTAwIDAgMTUxIDkgMjc4IDQ4IDQ3MyAyNTUgNDM2IDQ2MnogbS02MjQtMzc5Yy04MCAxNC0xNDkgNDgtMTk3IDk2IDQyIDQyIDEwOSA0NyAxNTYgOSAzMy0yNiA0Ny02NiA0MS0xMDV6IG0tMTg3LTc0Yy0xOSAxNi0zMyAzNy0zOSA2MCA1MC0zMiAxMDktNTUgMTc0LTY4LTQyLTI1LTk1LTI0LTEzNSA4eiBtMzYwIDc1Yy0zNC03LTY5LTktMTAyLTggOCA2Mi0xNiAxMjgtNjggMTcwLTczIDU5LTE3NSA1NC0yNDQtNS05IDIwLTE2IDQwLTIwIDYxLTI4IDE1OSAxMjEgMzE3IDMzMyAzNTRzNDA3LTYwIDQzNC0yMTdjMjgtMTU5LTEyMS0zMTgtMzMzLTM1NXoiLHRyYW5zZm9ybToibWF0cml4KDEgMCAwIC0xIDAgODUwKSJ9LHNlbGVjdGJveDp7d2lkdGg6MWUzLGhlaWdodDoxZTMscGF0aDoibTAgODUwbDAtMTQzIDE0MyAwIDAgMTQzLTE0MyAweiBtMjg2IDBsMC0xNDMgMTQzIDAgMCAxNDMtMTQzIDB6IG0yODUgMGwwLTE0MyAxNDMgMCAwIDE0My0xNDMgMHogbTI4NiAwbDAtMTQzIDE0MyAwIDAgMTQzLTE0MyAweiBtLTg1Ny0yODZsMC0xNDMgMTQzIDAgMCAxNDMtMTQzIDB6IG04NTcgMGwwLTE0MyAxNDMgMCAwIDE0My0xNDMgMHogbS04NTctMjg1bDAtMTQzIDE0MyAwIDAgMTQzLTE0MyAweiBtODU3IDBsMC0xNDMgMTQzIDAgMCAxNDMtMTQzIDB6IG0tODU3LTI4NmwwLTE0MyAxNDMgMCAwIDE0My0xNDMgMHogbTI4NiAwbDAtMTQzIDE0MyAwIDAgMTQzLTE0MyAweiBtMjg1IDBsMC0xNDMgMTQzIDAgMCAxNDMtMTQzIDB6IG0yODYgMGwwLTE0MyAxNDMgMCAwIDE0My0xNDMgMHoiLHRyYW5zZm9ybToibWF0cml4KDEgMCAwIC0xIDAgODUwKSJ9LHNwaWtlbGluZTp7d2lkdGg6MWUzLGhlaWdodDoxZTMscGF0aDoiTTUxMiA0MDljMC01Ny00Ni0xMDQtMTAzLTEwNC01NyAwLTEwNCA0Ny0xMDQgMTA0IDAgNTcgNDcgMTAzIDEwNCAxMDMgNTcgMCAxMDMtNDYgMTAzLTEwM3ogbS0zMjctMzlsOTIgMCAwIDkyLTkyIDB6IG0tMTg1IDBsOTIgMCAwIDkyLTkyIDB6IG0zNzAtMTg2bDkyIDAgMCA5My05MiAweiBtMC0xODRsOTIgMCAwIDkyLTkyIDB6Iix0cmFuc2Zvcm06Im1hdHJpeCgxLjUgMCAwIC0xLjUgMCA4NTApIn0scGVuY2lsOnt3aWR0aDoxNzkyLGhlaWdodDoxNzkyLHBhdGg6Ik00OTEgMTUzNmw5MS05MS0yMzUtMjM1LTkxIDkxdjEwN2gxMjh2MTI4aDEwN3ptNTIzLTkyOHEwLTIyLTIyLTIyLTEwIDAtMTcgN2wtNTQyIDU0MnEtNyA3LTcgMTcgMCAyMiAyMiAyMiAxMCAwIDE3LTdsNTQyLTU0MnE3LTcgNy0xN3ptLTU0LTE5Mmw0MTYgNDE2LTgzMiA4MzJoLTQxNnYtNDE2em02ODMgOTZxMCA1My0zNyA5MGwtMTY2IDE2Ni00MTYtNDE2IDE2Ni0xNjVxMzYtMzggOTAtMzggNTMgMCA5MSAzOGwyMzUgMjM0cTM3IDM5IDM3IDkxeiIsdHJhbnNmb3JtOiJtYXRyaXgoMSAwIDAgMSAwIDEpIn0sbmV3cGxvdGx5bG9nbzp7bmFtZToibmV3cGxvdGx5bG9nbyIsc3ZnOiI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEzMiAxMzInPjxkZWZzPjxzdHlsZT4uY2xzLTEge2ZpbGw6ICMxMTlkZmY7fSAuY2xzLTIge2ZpbGw6ICMyNWZlZmQ7fSAuY2xzLTMge2ZpbGw6ICNmZmY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5wbG90bHktbG9nb21hcms8L3RpdGxlPjxnIGlkPSdzeW1ib2wnPjxyZWN0IGNsYXNzPSdjbHMtMScgd2lkdGg9JzEzMicgaGVpZ2h0PScxMzInIHJ4PSc2JyByeT0nNicvPjxjaXJjbGUgY2xhc3M9J2Nscy0yJyBjeD0nNzgnIGN5PSc1NCcgcj0nNicvPjxjaXJjbGUgY2xhc3M9J2Nscy0yJyBjeD0nMTAyJyBjeT0nMzAnIHI9JzYnLz48Y2lyY2xlIGNsYXNzPSdjbHMtMicgY3g9Jzc4JyBjeT0nMzAnIHI9JzYnLz48Y2lyY2xlIGNsYXNzPSdjbHMtMicgY3g9JzU0JyBjeT0nMzAnIHI9JzYnLz48Y2lyY2xlIGNsYXNzPSdjbHMtMicgY3g9JzMwJyBjeT0nMzAnIHI9JzYnLz48Y2lyY2xlIGNsYXNzPSdjbHMtMicgY3g9JzMwJyBjeT0nNTQnIHI9JzYnLz48cGF0aCBjbGFzcz0nY2xzLTMnIGQ9J00zMCw3MmE2LDYsMCwwLDAtNiw2djI0YTYsNiwwLDAsMCwxMiwwVjc4QTYsNiwwLDAsMCwzMCw3MlonLz48cGF0aCBjbGFzcz0nY2xzLTMnIGQ9J003OCw3MmE2LDYsMCwwLDAtNiw2djI0YTYsNiwwLDAsMCwxMiwwVjc4QTYsNiwwLDAsMCw3OCw3MlonLz48cGF0aCBjbGFzcz0nY2xzLTMnIGQ9J001NCw0OGE2LDYsMCwwLDAtNiw2djQ4YTYsNiwwLDAsMCwxMiwwVjU0QTYsNiwwLDAsMCw1NCw0OFonLz48cGF0aCBjbGFzcz0nY2xzLTMnIGQ9J00xMDIsNDhhNiw2LDAsMCwwLTYsNnY0OGE2LDYsMCwwLDAsMTIsMFY1NEE2LDYsMCwwLDAsMTAyLDQ4WicvPjwvZz48L3N2Zz4ifX19LHt9XSw2OTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5pc0xlZnRBbmNob3I9ZnVuY3Rpb24odCl7cmV0dXJuImxlZnQiPT09dC54YW5jaG9yfHwiYXV0byI9PT10LnhhbmNob3ImJnQueDw9MS8zfSxyLmlzQ2VudGVyQW5jaG9yPWZ1bmN0aW9uKHQpe3JldHVybiJjZW50ZXIiPT09dC54YW5jaG9yfHwiYXV0byI9PT10LnhhbmNob3ImJnQueD4xLzMmJnQueDwyLzN9LHIuaXNSaWdodEFuY2hvcj1mdW5jdGlvbih0KXtyZXR1cm4icmlnaHQiPT09dC54YW5jaG9yfHwiYXV0byI9PT10LnhhbmNob3ImJnQueD49Mi8zfSxyLmlzVG9wQW5jaG9yPWZ1bmN0aW9uKHQpe3JldHVybiJ0b3AiPT09dC55YW5jaG9yfHwiYXV0byI9PT10LnlhbmNob3ImJnQueT49Mi8zfSxyLmlzTWlkZGxlQW5jaG9yPWZ1bmN0aW9uKHQpe3JldHVybiJtaWRkbGUiPT09dC55YW5jaG9yfHwiYXV0byI9PT10LnlhbmNob3ImJnQueT4xLzMmJnQueTwyLzN9LHIuaXNCb3R0b21BbmNob3I9ZnVuY3Rpb24odCl7cmV0dXJuImJvdHRvbSI9PT10LnlhbmNob3J8fCJhdXRvIj09PXQueWFuY2hvciYmdC55PD0xLzN9fSx7fV0sNjk5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbW9kIiksYT1uLm1vZCxpPW4ubW9kSGFsZixvPU1hdGguUEkscz0yKm87ZnVuY3Rpb24gbCh0KXtyZXR1cm4gTWF0aC5hYnModFsxXS10WzBdKT5zLTFlLTE0fWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gaShlLXQscyl9ZnVuY3Rpb24gdSh0LGUpe2lmKGwoZSkpcmV0dXJuITA7dmFyIHIsbjtlWzBdPGVbMV0/KHI9ZVswXSxuPWVbMV0pOihyPWVbMV0sbj1lWzBdKSwocj1hKHIscykpPihuPWEobixzKSkmJihuKz1zKTt2YXIgaT1hKHQscyksbz1pK3M7cmV0dXJuIGk+PXImJmk8PW58fG8+PXImJm88PW59ZnVuY3Rpb24gaCh0LGUscixuLGEsaSxjKXthPWF8fDAsaT1pfHwwO3ZhciB1LGgsZixwLGQsZz1sKFtyLG5dKTtmdW5jdGlvbiB2KHQsZSl7cmV0dXJuW3QqTWF0aC5jb3MoZSkrYSxpLXQqTWF0aC5zaW4oZSldfWc/KHU9MCxoPW8sZj1zKTpyPG4/KHU9cixmPW4pOih1PW4sZj1yKSx0PGU/KHA9dCxkPWUpOihwPWUsZD10KTt2YXIgbSx5PU1hdGguYWJzKGYtdSk8PW8/MDoxO2Z1bmN0aW9uIHgodCxlLHIpe3JldHVybiJBIitbdCx0XSsiICIrWzAseSxyXSsiICIrdih0LGUpfXJldHVybiBnP209bnVsbD09PXA/Ik0iK3YoZCx1KSt4KGQsaCwwKSt4KGQsZiwwKSsiWiI6Ik0iK3YocCx1KSt4KHAsaCwwKSt4KHAsZiwwKSsiWk0iK3YoZCx1KSt4KGQsaCwxKSt4KGQsZiwxKSsiWiI6bnVsbD09PXA/KG09Ik0iK3YoZCx1KSt4KGQsZiwwKSxjJiYobSs9IkwwLDBaIikpOm09Ik0iK3YocCx1KSsiTCIrdihkLHUpK3goZCxmLDApKyJMIit2KHAsZikreChwLHUsMSkrIloiLG19ZS5leHBvcnRzPXtkZWcycmFkOmZ1bmN0aW9uKHQpe3JldHVybiB0LzE4MCpvfSxyYWQyZGVnOmZ1bmN0aW9uKHQpe3JldHVybiB0L28qMTgwfSxhbmdsZURlbHRhOmMsYW5nbGVEaXN0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGguYWJzKGModCxlKSl9LGlzRnVsbENpcmNsZTpsLGlzQW5nbGVJbnNpZGVTZWN0b3I6dSxpc1B0SW5zaWRlU2VjdG9yOmZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiEhdShlLG4pJiYoclswXTxyWzFdPyhhPXJbMF0saT1yWzFdKTooYT1yWzFdLGk9clswXSksdD49YSYmdDw9aSk7dmFyIGEsaX0scGF0aEFyYzpmdW5jdGlvbih0LGUscixuLGEpe3JldHVybiBoKG51bGwsdCxlLHIsbixhLDApfSxwYXRoU2VjdG9yOmZ1bmN0aW9uKHQsZSxyLG4sYSl7cmV0dXJuIGgobnVsbCx0LGUscixuLGEsMSl9LHBhdGhBbm51bHVzOmZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtyZXR1cm4gaCh0LGUscixuLGEsaSwxKX19fSx7Ii4vbW9kIjo3MjR9XSw3MDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49QXJyYXkuaXNBcnJheSxhPSJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlcjp7aXNWaWV3OmZ1bmN0aW9uKCl7cmV0dXJuITF9fSxpPSJ1bmRlZmluZWQiPT10eXBlb2YgRGF0YVZpZXc/ZnVuY3Rpb24oKXt9OkRhdGFWaWV3O2Z1bmN0aW9uIG8odCl7cmV0dXJuIGEuaXNWaWV3KHQpJiYhKHQgaW5zdGFuY2VvZiBpKX1mdW5jdGlvbiBzKHQpe3JldHVybiBuKHQpfHxvKHQpfWZ1bmN0aW9uIGwodCxlLHIpe2lmKHModCkpe2lmKHModFswXSkpe2Zvcih2YXIgbj1yLGE9MDthPHQubGVuZ3RoO2ErKyluPWUobix0W2FdLmxlbmd0aCk7cmV0dXJuIG59cmV0dXJuIHQubGVuZ3RofXJldHVybiAwfXIuaXNUeXBlZEFycmF5PW8sci5pc0FycmF5T3JUeXBlZEFycmF5PXMsci5pc0FycmF5MUQ9ZnVuY3Rpb24odCl7cmV0dXJuIXModFswXSl9LHIuZW5zdXJlQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0KXx8KHQ9W10pLHQubGVuZ3RoPWUsdH0sci5jb25jYXQ9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsYSxpLG8scyxsLGM9W10sdT0hMCxoPTA7Zm9yKHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKShvPShhPWFyZ3VtZW50c1tyXSkubGVuZ3RoKSYmKGU/Yy5wdXNoKGEpOihlPWEsaT1vKSxuKGEpP3Q9ITE6KHU9ITEsaD90IT09YS5jb25zdHJ1Y3RvciYmKHQ9ITEpOnQ9YS5jb25zdHJ1Y3RvciksaCs9byk7aWYoIWgpcmV0dXJuW107aWYoIWMubGVuZ3RoKXJldHVybiBlO2lmKHUpcmV0dXJuIGUuY29uY2F0LmFwcGx5KGUsYyk7aWYodCl7Zm9yKChzPW5ldyB0KGgpKS5zZXQoZSkscj0wO3I8Yy5sZW5ndGg7cisrKWE9Y1tyXSxzLnNldChhLGkpLGkrPWEubGVuZ3RoO3JldHVybiBzfWZvcihzPW5ldyBBcnJheShoKSxsPTA7bDxlLmxlbmd0aDtsKyspc1tsXT1lW2xdO2ZvcihyPTA7cjxjLmxlbmd0aDtyKyspe2ZvcihhPWNbcl0sbD0wO2w8YS5sZW5ndGg7bCsrKXNbaStsXT1hW2xdO2krPWx9cmV0dXJuIHN9LHIubWF4Um93TGVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBsKHQsTWF0aC5tYXgsMCl9LHIubWluUm93TGVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBsKHQsTWF0aC5taW4sMS8wKX19LHt9XSw3MDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU0saT0vXlsnIiUsJCNccyddK3xbLCBdfFsnIiUsJCNccyddKyQvZztlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYodD10LnJlcGxhY2UoaSwiIikpLG4odCk/TnVtYmVyKHQpOmF9fSx7Ii4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiZmFzdC1pc251bWVyaWMiOjIyOH1dLDcwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dDtlLl9nbGNhbnZhcyYmZS5fZ2xjYW52YXMuc2l6ZSgpJiZlLl9nbGNhbnZhcy5lYWNoKGZ1bmN0aW9uKHQpe3QucmVnbCYmdC5yZWdsLmNsZWFyKHtjb2xvcjohMCxkZXB0aDohMH0pfSl9fSx7fV0sNzAzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt0Ll9yZXNwb25zaXZlQ2hhcnRIYW5kbGVyJiYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdC5fcmVzcG9uc2l2ZUNoYXJ0SGFuZGxlciksZGVsZXRlIHQuX3Jlc3BvbnNpdmVDaGFydEhhbmRsZXIpfX0se31dLDcwNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgidGlueWNvbG9yMiIpLGk9dCgiLi4vcGxvdHMvYXR0cmlidXRlcyIpLG89dCgiLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL3NjYWxlcyIpLHM9dCgiLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyIpLkRFU0VMRUNURElNLGw9dCgiLi9uZXN0ZWRfcHJvcGVydHkiKSxjPXQoIi4vcmVnZXgiKS5jb3VudGVyLHU9dCgiLi9tb2QiKS5tb2RIYWxmLGg9dCgiLi9hcnJheSIpLmlzQXJyYXlPclR5cGVkQXJyYXk7ZnVuY3Rpb24gZih0LGUpe3ZhciBuPXIudmFsT2JqZWN0TWV0YVtlLnZhbFR5cGVdO2lmKGUuYXJyYXlPayYmaCh0KSlyZXR1cm4hMDtpZihuLnZhbGlkYXRlRnVuY3Rpb24pcmV0dXJuIG4udmFsaWRhdGVGdW5jdGlvbih0LGUpO3ZhciBhPXt9LGk9YSxvPXtzZXQ6ZnVuY3Rpb24odCl7aT10fX07cmV0dXJuIG4uY29lcmNlRnVuY3Rpb24odCxvLGEsZSksaSE9PWF9ci52YWxPYmplY3RNZXRhPXtkYXRhX2FycmF5Ontjb2VyY2VGdW5jdGlvbjpmdW5jdGlvbih0LGUscil7aCh0KT9lLnNldCh0KTp2b2lkIDAhPT1yJiZlLnNldChyKX19LGVudW1lcmF0ZWQ6e2NvZXJjZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSxyLG4pe24uY29lcmNlTnVtYmVyJiYodD0rdCksLTE9PT1uLnZhbHVlcy5pbmRleE9mKHQpP2Uuc2V0KHIpOmUuc2V0KHQpfSx2YWxpZGF0ZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSl7ZS5jb2VyY2VOdW1iZXImJih0PSt0KTtmb3IodmFyIHI9ZS52YWx1ZXMsbj0wO248ci5sZW5ndGg7bisrKXt2YXIgYT1TdHJpbmcocltuXSk7aWYoIi8iPT09YS5jaGFyQXQoMCkmJiIvIj09PWEuY2hhckF0KGEubGVuZ3RoLTEpKXtpZihuZXcgUmVnRXhwKGEuc3Vic3RyKDEsYS5sZW5ndGgtMikpLnRlc3QodCkpcmV0dXJuITB9ZWxzZSBpZih0PT09cltuXSlyZXR1cm4hMH1yZXR1cm4hMX19LGJvb2xlYW46e2NvZXJjZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSxyKXshMD09PXR8fCExPT09dD9lLnNldCh0KTplLnNldChyKX19LG51bWJlcjp7Y29lcmNlRnVuY3Rpb246ZnVuY3Rpb24odCxlLHIsYSl7IW4odCl8fHZvaWQgMCE9PWEubWluJiZ0PGEubWlufHx2b2lkIDAhPT1hLm1heCYmdD5hLm1heD9lLnNldChyKTplLnNldCgrdCl9fSxpbnRlZ2VyOntjb2VyY2VGdW5jdGlvbjpmdW5jdGlvbih0LGUscixhKXt0JTF8fCFuKHQpfHx2b2lkIDAhPT1hLm1pbiYmdDxhLm1pbnx8dm9pZCAwIT09YS5tYXgmJnQ+YS5tYXg/ZS5zZXQocik6ZS5zZXQoK3QpfX0sc3RyaW5nOntjb2VyY2VGdW5jdGlvbjpmdW5jdGlvbih0LGUscixuKXtpZigic3RyaW5nIiE9dHlwZW9mIHQpe3ZhciBhPSJudW1iZXIiPT10eXBlb2YgdDshMCE9PW4uc3RyaWN0JiZhP2Uuc2V0KFN0cmluZyh0KSk6ZS5zZXQocil9ZWxzZSBuLm5vQmxhbmsmJiF0P2Uuc2V0KHIpOmUuc2V0KHQpfX0sY29sb3I6e2NvZXJjZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSxyKXthKHQpLmlzVmFsaWQoKT9lLnNldCh0KTplLnNldChyKX19LGNvbG9ybGlzdDp7Y29lcmNlRnVuY3Rpb246ZnVuY3Rpb24odCxlLHIpe0FycmF5LmlzQXJyYXkodCkmJnQubGVuZ3RoJiZ0LmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiBhKHQpLmlzVmFsaWQoKX0pP2Uuc2V0KHQpOmUuc2V0KHIpfX0sY29sb3JzY2FsZTp7Y29lcmNlRnVuY3Rpb246ZnVuY3Rpb24odCxlLHIpe2Uuc2V0KG8uZ2V0KHQscikpfX0sYW5nbGU6e2NvZXJjZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSxyKXsiYXV0byI9PT10P2Uuc2V0KCJhdXRvIik6bih0KT9lLnNldCh1KCt0LDM2MCkpOmUuc2V0KHIpfX0sc3VicGxvdGlkOntjb2VyY2VGdW5jdGlvbjpmdW5jdGlvbih0LGUscixuKXt2YXIgYT1uLnJlZ2V4fHxjKHIpOyJzdHJpbmciPT10eXBlb2YgdCYmYS50ZXN0KHQpP2Uuc2V0KHQpOmUuc2V0KHIpfSx2YWxpZGF0ZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5kZmx0O3JldHVybiB0PT09cnx8InN0cmluZyI9PXR5cGVvZiB0JiYhIWMocikudGVzdCh0KX19LGZsYWdsaXN0Ontjb2VyY2VGdW5jdGlvbjpmdW5jdGlvbih0LGUscixuKXtpZigic3RyaW5nIj09dHlwZW9mIHQpaWYoLTE9PT0obi5leHRyYXN8fFtdKS5pbmRleE9mKHQpKXtmb3IodmFyIGE9dC5zcGxpdCgiKyIpLGk9MDtpPGEubGVuZ3RoOyl7dmFyIG89YVtpXTstMT09PW4uZmxhZ3MuaW5kZXhPZihvKXx8YS5pbmRleE9mKG8pPGk/YS5zcGxpY2UoaSwxKTppKyt9YS5sZW5ndGg/ZS5zZXQoYS5qb2luKCIrIikpOmUuc2V0KHIpfWVsc2UgZS5zZXQodCk7ZWxzZSBlLnNldChyKX19LGFueTp7Y29lcmNlRnVuY3Rpb246ZnVuY3Rpb24odCxlLHIpe3ZvaWQgMD09PXQ/ZS5zZXQocik6ZS5zZXQodCl9fSxpbmZvX2FycmF5Ontjb2VyY2VGdW5jdGlvbjpmdW5jdGlvbih0LGUsbixhKXtmdW5jdGlvbiBpKHQsZSxuKXt2YXIgYSxpPXtzZXQ6ZnVuY3Rpb24odCl7YT10fX07cmV0dXJuIHZvaWQgMD09PW4mJihuPWUuZGZsdCksci52YWxPYmplY3RNZXRhW2UudmFsVHlwZV0uY29lcmNlRnVuY3Rpb24odCxpLG4sZSksYX12YXIgbz0yPT09YS5kaW1lbnNpb25zfHwiMS0yIj09PWEuZGltZW5zaW9ucyYmQXJyYXkuaXNBcnJheSh0KSYmQXJyYXkuaXNBcnJheSh0WzBdKTtpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgcyxsLGMsdSxoLGYscD1hLml0ZW1zLGQ9W10sZz1BcnJheS5pc0FycmF5KHApLHY9ZyYmbyYmQXJyYXkuaXNBcnJheShwWzBdKSxtPW8mJmcmJiF2LHk9ZyYmIW0/cC5sZW5ndGg6dC5sZW5ndGg7aWYobj1BcnJheS5pc0FycmF5KG4pP246W10sbylmb3Iocz0wO3M8eTtzKyspZm9yKGRbc109W10sYz1BcnJheS5pc0FycmF5KHRbc10pP3Rbc106W10saD1tP3AubGVuZ3RoOmc/cFtzXS5sZW5ndGg6Yy5sZW5ndGgsbD0wO2w8aDtsKyspdT1tP3BbbF06Zz9wW3NdW2xdOnAsdm9pZCAwIT09KGY9aShjW2xdLHUsKG5bc118fFtdKVtsXSkpJiYoZFtzXVtsXT1mKTtlbHNlIGZvcihzPTA7czx5O3MrKyl2b2lkIDAhPT0oZj1pKHRbc10sZz9wW3NdOnAsbltzXSkpJiYoZFtzXT1mKTtlLnNldChkKX1lbHNlIGUuc2V0KG4pfSx2YWxpZGF0ZUZ1bmN0aW9uOmZ1bmN0aW9uKHQsZSl7aWYoIUFycmF5LmlzQXJyYXkodCkpcmV0dXJuITE7dmFyIHI9ZS5pdGVtcyxuPUFycmF5LmlzQXJyYXkociksYT0yPT09ZS5kaW1lbnNpb25zO2lmKCFlLmZyZWVMZW5ndGgmJnQubGVuZ3RoIT09ci5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspaWYoYSl7aWYoIUFycmF5LmlzQXJyYXkodFtpXSl8fCFlLmZyZWVMZW5ndGgmJnRbaV0ubGVuZ3RoIT09cltpXS5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBvPTA7bzx0W2ldLmxlbmd0aDtvKyspaWYoIWYodFtpXVtvXSxuP3JbaV1bb106cikpcmV0dXJuITF9ZWxzZSBpZighZih0W2ldLG4/cltpXTpyKSlyZXR1cm4hMTtyZXR1cm4hMH19fSxyLmNvZXJjZT1mdW5jdGlvbih0LGUsbixhLGkpe3ZhciBvPWwobixhKS5nZXQoKSxzPWwodCxhKSxjPWwoZSxhKSx1PXMuZ2V0KCkscD1lLl90ZW1wbGF0ZTtpZih2b2lkIDA9PT11JiZwJiYodT1sKHAsYSkuZ2V0KCkscD0wKSx2b2lkIDA9PT1pJiYoaT1vLmRmbHQpLG8uYXJyYXlPayYmaCh1KSlyZXR1cm4gYy5zZXQodSksdTt2YXIgZD1yLnZhbE9iamVjdE1ldGFbby52YWxUeXBlXS5jb2VyY2VGdW5jdGlvbjtkKHUsYyxpLG8pO3ZhciBnPWMuZ2V0KCk7cmV0dXJuIHAmJmc9PT1pJiYhZih1LG8pJiYoZCh1PWwocCxhKS5nZXQoKSxjLGksbyksZz1jLmdldCgpKSxnfSxyLmNvZXJjZTI9ZnVuY3Rpb24odCxlLG4sYSxpKXt2YXIgbz1sKHQsYSkscz1yLmNvZXJjZSh0LGUsbixhLGkpLGM9by5nZXQoKTtyZXR1cm4gbnVsbCE9YyYmc30sci5jb2VyY2VGb250PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj17fTtyZXR1cm4gcj1yfHx7fSxuLmZhbWlseT10KGUrIi5mYW1pbHkiLHIuZmFtaWx5KSxuLnNpemU9dChlKyIuc2l6ZSIsci5zaXplKSxuLmNvbG9yPXQoZSsiLmNvbG9yIixyLmNvbG9yKSxufSxyLmNvZXJjZUhvdmVyaW5mbz1mdW5jdGlvbih0LGUsbil7dmFyIGEsbz1lLl9tb2R1bGUuYXR0cmlidXRlcyxzPW8uaG92ZXJpbmZvP286aSxsPXMuaG92ZXJpbmZvO2lmKDE9PT1uLl9kYXRhTGVuZ3RoKXt2YXIgYz0iYWxsIj09PWwuZGZsdD9sLmZsYWdzLnNsaWNlKCk6bC5kZmx0LnNwbGl0KCIrIik7Yy5zcGxpY2UoYy5pbmRleE9mKCJuYW1lIiksMSksYT1jLmpvaW4oIisiKX1yZXR1cm4gci5jb2VyY2UodCxlLHMsImhvdmVyaW5mbyIsYSl9LHIuY29lcmNlU2VsZWN0aW9uTWFya2VyT3BhY2l0eT1mdW5jdGlvbih0LGUpe2lmKHQubWFya2VyKXt2YXIgcixuLGE9dC5tYXJrZXIub3BhY2l0eTtpZih2b2lkIDAhPT1hKWgoYSl8fHQuc2VsZWN0ZWR8fHQudW5zZWxlY3RlZHx8KHI9YSxuPXMqYSksZSgic2VsZWN0ZWQubWFya2VyLm9wYWNpdHkiLHIpLGUoInVuc2VsZWN0ZWQubWFya2VyLm9wYWNpdHkiLG4pfX0sci52YWxpZGF0ZT1mfSx7Ii4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9zY2FsZXMiOjYwNywiLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyI6NjkyLCIuLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4vYXJyYXkiOjcwMCwiLi9tb2QiOjcyNCwiLi9uZXN0ZWRfcHJvcGVydHkiOjcyNSwiLi9yZWdleCI6NzMzLCJmYXN0LWlzbnVtZXJpYyI6MjI4LHRpbnljb2xvcjI6NTM2fV0sNzA1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGEsaT10KCJkMyIpLG89dCgiZmFzdC1pc251bWVyaWMiKSxzPXQoIi4vbG9nZ2VycyIpLGw9dCgiLi9tb2QiKS5tb2QsYz10KCIuLi9jb25zdGFudHMvbnVtZXJpY2FsIiksdT1jLkJBRE5VTSxoPWMuT05FREFZLGY9Yy5PTkVIT1VSLHA9Yy5PTkVNSU4sZD1jLk9ORVNFQyxnPWMuRVBPQ0hKRCx2PXQoIi4uL3JlZ2lzdHJ5IiksbT1pLnRpbWUuZm9ybWF0LnV0Yyx5PS9eXHMqKC0/XGRcZFxkXGR8XGRcZCkoLShcZD9cZCkoLShcZD9cZCkoWyBUdF0oWzAxXT9cZHwyWzAtM10pKDooWzAtNV1cZCkoOihbMC01XVxkKFwuXGQrKT8pKT8oWnx6fFsrXC1dXGRcZDo/XGRcZCk/KT8pPyk/KT9ccyokL20seD0vXlxzKigtP1xkXGRcZFxkfFxkXGQpKC0oXGQ/XGRpPykoLShcZD9cZCkoWyBUdF0oWzAxXT9cZHwyWzAtM10pKDooWzAtNV1cZCkoOihbMC01XVxkKFwuXGQrKT8pKT8oWnx6fFsrXC1dXGRcZDo/XGRcZCk/KT8pPyk/KT9ccyokL20sYj0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCktNzA7ZnVuY3Rpb24gXyh0KXtyZXR1cm4gdCYmdi5jb21wb25lbnRzUmVnaXN0cnkuY2FsZW5kYXJzJiYic3RyaW5nIj09dHlwZW9mIHQmJiJncmVnb3JpYW4iIT09dH1mdW5jdGlvbiB3KHQsZSl7cmV0dXJuIFN0cmluZyh0K01hdGgucG93KDEwLGUpKS5zdWJzdHIoMSl9ci5kYXRlVGljazA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gXyh0KT9lP3YuZ2V0Q29tcG9uZW50TWV0aG9kKCJjYWxlbmRhcnMiLCJDQU5PTklDQUxfU1VOREFZIilbdF06di5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsIkNBTk9OSUNBTF9USUNLIilbdF06ZT8iMjAwMC0wMS0wMiI6IjIwMDAtMDEtMDEifSxyLmRmbHRSYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gXyh0KT92LmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiREZMVFJBTkdFIilbdF06WyIyMDAwLTAxLTAxIiwiMjAwMS0wMS0wMSJdfSxyLmlzSlNEYXRlPWZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldFRpbWV9LHIuZGF0ZVRpbWUybXM9ZnVuY3Rpb24odCxlKXtpZihyLmlzSlNEYXRlKHQpKXt2YXIgaT10LmdldFRpbWV6b25lT2Zmc2V0KCkqcCxvPSh0LmdldFVUQ01pbnV0ZXMoKS10LmdldE1pbnV0ZXMoKSkqcCsodC5nZXRVVENTZWNvbmRzKCktdC5nZXRTZWNvbmRzKCkpKmQrKHQuZ2V0VVRDTWlsbGlzZWNvbmRzKCktdC5nZXRNaWxsaXNlY29uZHMoKSk7aWYobyl7dmFyIHM9MypwO2k9aS1zLzIrbChvLWkrcy8yLHMpfXJldHVybih0PU51bWJlcih0KS1pKT49biYmdDw9YT90OnV9aWYoInN0cmluZyIhPXR5cGVvZiB0JiYibnVtYmVyIiE9dHlwZW9mIHQpcmV0dXJuIHU7dD1TdHJpbmcodCk7dmFyIGM9XyhlKSxtPXQuY2hhckF0KDApOyFjfHwiRyIhPT1tJiYiZyIhPT1tfHwodD10LnN1YnN0cigxKSxlPSIiKTt2YXIgdz1jJiYiY2hpbmVzZSI9PT1lLnN1YnN0cigwLDcpLGs9dC5tYXRjaCh3P3g6eSk7aWYoIWspcmV0dXJuIHU7dmFyIFQ9a1sxXSxNPWtbM118fCIxIixBPU51bWJlcihrWzVdfHwxKSxTPU51bWJlcihrWzddfHwwKSxFPU51bWJlcihrWzldfHwwKSxMPU51bWJlcihrWzExXXx8MCk7aWYoYyl7aWYoMj09PVQubGVuZ3RoKXJldHVybiB1O3ZhciBDO1Q9TnVtYmVyKFQpO3RyeXt2YXIgUD12LmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiZ2V0Q2FsIikoZSk7aWYodyl7dmFyIE89ImkiPT09TS5jaGFyQXQoTS5sZW5ndGgtMSk7TT1wYXJzZUludChNLDEwKSxDPVAubmV3RGF0ZShULFAudG9Nb250aEluZGV4KFQsTSxPKSxBKX1lbHNlIEM9UC5uZXdEYXRlKFQsTnVtYmVyKE0pLEEpfWNhdGNoKHQpe3JldHVybiB1fXJldHVybiBDPyhDLnRvSkQoKS1nKSpoK1MqZitFKnArTCpkOnV9VD0yPT09VC5sZW5ndGg/KE51bWJlcihUKSsyZTMtYiklMTAwK2I6TnVtYmVyKFQpLE0tPTE7dmFyIHo9bmV3IERhdGUoRGF0ZS5VVEMoMmUzLE0sQSxTLEUpKTtyZXR1cm4gei5zZXRVVENGdWxsWWVhcihUKSx6LmdldFVUQ01vbnRoKCkhPT1NP3U6ei5nZXRVVENEYXRlKCkhPT1BP3U6ei5nZXRUaW1lKCkrTCpkfSxuPXIuTUlOX01TPXIuZGF0ZVRpbWUybXMoIi05OTk5IiksYT1yLk1BWF9NUz1yLmRhdGVUaW1lMm1zKCI5OTk5LTEyLTMxIDIzOjU5OjU5Ljk5OTkiKSxyLmlzRGF0ZVRpbWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gci5kYXRlVGltZTJtcyh0LGUpIT09dX07dmFyIGs9OTAqaCxUPTMqZixNPTUqcDtmdW5jdGlvbiBBKHQsZSxyLG4sYSl7aWYoKGV8fHJ8fG58fGEpJiYodCs9IiAiK3coZSwyKSsiOiIrdyhyLDIpLChufHxhKSYmKHQrPSI6Iit3KG4sMiksYSkpKXtmb3IodmFyIGk9NDthJTEwPT0wOylpLT0xLGEvPTEwO3QrPSIuIit3KGEsaSl9cmV0dXJuIHR9ci5tczJEYXRlVGltZT1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciIhPXR5cGVvZiB0fHwhKHQ+PW4mJnQ8PWEpKXJldHVybiB1O2V8fChlPTApO3ZhciBpLG8scyxjLHkseCxiPU1hdGguZmxvb3IoMTAqbCh0Ky4wNSwxKSksdz1NYXRoLnJvdW5kKHQtYi8xMCk7aWYoXyhyKSl7dmFyIFM9TWF0aC5mbG9vcih3L2gpK2csRT1NYXRoLmZsb29yKGwodCxoKSk7dHJ5e2k9di5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsImdldENhbCIpKHIpLmZyb21KRChTKS5mb3JtYXREYXRlKCJ5eXl5LW1tLWRkIil9Y2F0Y2godCl7aT1tKCJHJVktJW0tJWQiKShuZXcgRGF0ZSh3KSl9aWYoIi0iPT09aS5jaGFyQXQoMCkpZm9yKDtpLmxlbmd0aDwxMTspaT0iLTAiK2kuc3Vic3RyKDEpO2Vsc2UgZm9yKDtpLmxlbmd0aDwxMDspaT0iMCIraTtvPWU8az9NYXRoLmZsb29yKEUvZik6MCxzPWU8az9NYXRoLmZsb29yKEUlZi9wKTowLGM9ZTxUP01hdGguZmxvb3IoRSVwL2QpOjAseT1lPE0/RSVkKjEwK2I6MH1lbHNlIHg9bmV3IERhdGUodyksaT1tKCIlWS0lbS0lZCIpKHgpLG89ZTxrP3guZ2V0VVRDSG91cnMoKTowLHM9ZTxrP3guZ2V0VVRDTWludXRlcygpOjAsYz1lPFQ/eC5nZXRVVENTZWNvbmRzKCk6MCx5PWU8TT8xMCp4LmdldFVUQ01pbGxpc2Vjb25kcygpK2I6MDtyZXR1cm4gQShpLG8scyxjLHkpfSxyLm1zMkRhdGVUaW1lTG9jYWw9ZnVuY3Rpb24odCl7aWYoISh0Pj1uK2gmJnQ8PWEtaCkpcmV0dXJuIHU7dmFyIGU9TWF0aC5mbG9vcigxMCpsKHQrLjA1LDEpKSxyPW5ldyBEYXRlKE1hdGgucm91bmQodC1lLzEwKSk7cmV0dXJuIEEoaS50aW1lLmZvcm1hdCgiJVktJW0tJWQiKShyKSxyLmdldEhvdXJzKCksci5nZXRNaW51dGVzKCksci5nZXRTZWNvbmRzKCksMTAqci5nZXRVVENNaWxsaXNlY29uZHMoKStlKX0sci5jbGVhbkRhdGU9ZnVuY3Rpb24odCxlLG4pe2lmKHQ9PT11KXJldHVybiBlO2lmKHIuaXNKU0RhdGUodCl8fCJudW1iZXIiPT10eXBlb2YgdCYmaXNGaW5pdGUodCkpe2lmKF8obikpcmV0dXJuIHMuZXJyb3IoIkpTIERhdGVzIGFuZCBtaWxsaXNlY29uZHMgYXJlIGluY29tcGF0aWJsZSB3aXRoIHdvcmxkIGNhbGVuZGFycyIsdCksZTtpZighKHQ9ci5tczJEYXRlVGltZUxvY2FsKCt0KSkmJnZvaWQgMCE9PWUpcmV0dXJuIGV9ZWxzZSBpZighci5pc0RhdGVUaW1lKHQsbikpcmV0dXJuIHMuZXJyb3IoInVucmVjb2duaXplZCBkYXRlIix0KSxlO3JldHVybiB0fTt2YXIgUz0vJVxkP2YvZztmdW5jdGlvbiBFKHQsZSxyLG4pe3Q9dC5yZXBsYWNlKFMsZnVuY3Rpb24odCl7dmFyIHI9TWF0aC5taW4oK3QuY2hhckF0KDEpfHw2LDYpO3JldHVybihlLzFlMyUxKzIpLnRvRml4ZWQocikuc3Vic3RyKDIpLnJlcGxhY2UoLzArJC8sIiIpfHwiMCJ9KTt2YXIgYT1uZXcgRGF0ZShNYXRoLmZsb29yKGUrLjA1KSk7aWYoXyhuKSl0cnl7dD12LmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwid29ybGRDYWxGbXQiKSh0LGUsbil9Y2F0Y2godCl7cmV0dXJuIkludmFsaWQifXJldHVybiByKHQpKGEpfXZhciBMPVs1OSw1OS45LDU5Ljk5LDU5Ljk5OSw1OS45OTk5XTtyLmZvcm1hdERhdGU9ZnVuY3Rpb24odCxlLHIsbixhLGkpe2lmKGE9XyhhKSYmYSwhZSlpZigieSI9PT1yKWU9aS55ZWFyO2Vsc2UgaWYoIm0iPT09cillPWkubW9udGg7ZWxzZXtpZigiZCIhPT1yKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPWwodCsuMDUsaCksbj13KE1hdGguZmxvb3Ioci9mKSwyKSsiOiIrdyhsKE1hdGguZmxvb3Ioci9wKSw2MCksMik7aWYoIk0iIT09ZSl7byhlKXx8KGU9MCk7dmFyIGE9KDEwMCtNYXRoLm1pbihsKHQvZCw2MCksTFtlXSkpLnRvRml4ZWQoZSkuc3Vic3RyKDEpO2U+MCYmKGE9YS5yZXBsYWNlKC8wKyQvLCIiKS5yZXBsYWNlKC9bXC5dJC8sIiIpKSxuKz0iOiIrYX1yZXR1cm4gbn0odCxyKSsiXG4iK0UoaS5kYXlNb250aFllYXIsdCxuLGEpO2U9aS5kYXlNb250aCsiXG4iK2kueWVhcn1yZXR1cm4gRShlLHQsbixhKX07dmFyIEM9MypoO3IuaW5jcmVtZW50TW9udGg9ZnVuY3Rpb24odCxlLHIpe3I9XyhyKSYmcjt2YXIgbj1sKHQsaCk7aWYodD1NYXRoLnJvdW5kKHQtbikscil0cnl7dmFyIGE9TWF0aC5yb3VuZCh0L2gpK2csaT12LmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiZ2V0Q2FsIikociksbz1pLmZyb21KRChhKTtyZXR1cm4gZSUxMj9pLmFkZChvLGUsIm0iKTppLmFkZChvLGUvMTIsInkiKSwoby50b0pEKCktZykqaCtufWNhdGNoKGUpe3MuZXJyb3IoImludmFsaWQgbXMgIit0KyIgaW4gY2FsZW5kYXIgIityKX12YXIgYz1uZXcgRGF0ZSh0K0MpO3JldHVybiBjLnNldFVUQ01vbnRoKGMuZ2V0VVRDTW9udGgoKStlKStuLUN9LHIuZmluZEV4YWN0RGF0ZXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbixhPTAsaT0wLHM9MCxsPTAsYz1fKGUpJiZ2LmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiZ2V0Q2FsIikoZSksdT0wO3U8dC5sZW5ndGg7dSsrKWlmKG49dFt1XSxvKG4pKXtpZighKG4laCkpaWYoYyl0cnl7MT09PShyPWMuZnJvbUpEKG4vaCtnKSkuZGF5KCk/MT09PXIubW9udGgoKT9hKys6aSsrOnMrK31jYXRjaCh0KXt9ZWxzZSAxPT09KHI9bmV3IERhdGUobikpLmdldFVUQ0RhdGUoKT8wPT09ci5nZXRVVENNb250aCgpP2ErKzppKys6cysrfWVsc2UgbCsrO3MrPWkrPWE7dmFyIGY9dC5sZW5ndGgtbDtyZXR1cm57ZXhhY3RZZWFyczphL2YsZXhhY3RNb250aHM6aS9mLGV4YWN0RGF5czpzL2Z9fX0seyIuLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uL3JlZ2lzdHJ5Ijo4NDYsIi4vbG9nZ2VycyI6NzIxLCIuL21vZCI6NzI0LGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDcwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi9sb2dnZXJzIik7ZnVuY3Rpb24gaSh0KXt2YXIgZT10JiZ0LnBhcmVudE5vZGU7ZSYmZS5yZW1vdmVDaGlsZCh0KX1mdW5jdGlvbiBvKHQsZSxyKXt2YXIgbj0icGxvdGx5LmpzLXN0eWxlLSIrdCxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG4pO2l8fCgoaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5zZXRBdHRyaWJ1dGUoImlkIixuKSxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpKSk7dmFyIG89aS5zaGVldDtvLmluc2VydFJ1bGU/by5pbnNlcnRSdWxlKGUrInsiK3IrIn0iLDApOm8uYWRkUnVsZT9vLmFkZFJ1bGUoZSxyLDApOmEud2FybigiYWRkU3R5bGVSdWxlIGZhaWxlZCIpfWUuZXhwb3J0cz17Z2V0R3JhcGhEaXY6ZnVuY3Rpb24odCl7dmFyIGU7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZihudWxsPT09KGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCkpKXRocm93IG5ldyBFcnJvcigiTm8gRE9NIGVsZW1lbnQgd2l0aCBpZCAnIit0KyInIGV4aXN0cyBvbiB0aGUgcGFnZS4iKTtyZXR1cm4gZX1pZihudWxsPT10KXRocm93IG5ldyBFcnJvcigiRE9NIGVsZW1lbnQgcHJvdmlkZWQgaXMgbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm4gdH0saXNQbG90RGl2OmZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHQpO3JldHVybiBlLm5vZGUoKWluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuc2l6ZSgpJiZlLmNsYXNzZWQoImpzLXBsb3RseS1wbG90Iil9LHJlbW92ZUVsZW1lbnQ6aSxhZGRTdHlsZVJ1bGU6ZnVuY3Rpb24odCxlKXtvKCJnbG9iYWwiLHQsZSl9LGFkZFJlbGF0ZWRTdHlsZVJ1bGU6byxkZWxldGVSZWxhdGVkU3R5bGVSdWxlOmZ1bmN0aW9uKHQpe3ZhciBlPSJwbG90bHkuanMtc3R5bGUtIit0LHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSk7ciYmaShyKX19fSx7Ii4vbG9nZ2VycyI6NzIxLGQzOjE2NX1dLDcwNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJldmVudHMiKS5FdmVudEVtaXR0ZXIsYT17aW5pdDpmdW5jdGlvbih0KXtpZih0Ll9ldiBpbnN0YW5jZW9mIG4pcmV0dXJuIHQ7dmFyIGU9bmV3IG4scj1uZXcgbjtyZXR1cm4gdC5fZXY9ZSx0Ll9pbnRlcm5hbEV2PXIsdC5vbj1lLm9uLmJpbmQoZSksdC5vbmNlPWUub25jZS5iaW5kKGUpLHQucmVtb3ZlTGlzdGVuZXI9ZS5yZW1vdmVMaXN0ZW5lci5iaW5kKGUpLHQucmVtb3ZlQWxsTGlzdGVuZXJzPWUucmVtb3ZlQWxsTGlzdGVuZXJzLmJpbmQoZSksdC5faW50ZXJuYWxPbj1yLm9uLmJpbmQociksdC5faW50ZXJuYWxPbmNlPXIub25jZS5iaW5kKHIpLHQuX3JlbW92ZUludGVybmFsTGlzdGVuZXI9ci5yZW1vdmVMaXN0ZW5lci5iaW5kKHIpLHQuX3JlbW92ZUFsbEludGVybmFsTGlzdGVuZXJzPXIucmVtb3ZlQWxsTGlzdGVuZXJzLmJpbmQociksdC5lbWl0PWZ1bmN0aW9uKG4sYSl7InVuZGVmaW5lZCIhPXR5cGVvZiBqUXVlcnkmJmpRdWVyeSh0KS50cmlnZ2VyKG4sYSksZS5lbWl0KG4sYSksci5lbWl0KG4sYSl9LHR9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhOyJ1bmRlZmluZWQiIT10eXBlb2YgalF1ZXJ5JiYobj1qUXVlcnkodCkudHJpZ2dlckhhbmRsZXIoZSxyKSk7dmFyIGk9dC5fZXY7aWYoIWkpcmV0dXJuIG47dmFyIG8scz1pLl9ldmVudHNbZV07aWYoIXMpcmV0dXJuIG47ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdC5saXN0ZW5lcj8oaS5yZW1vdmVMaXN0ZW5lcihlLHQubGlzdGVuZXIpLHQuZmlyZWQ/dm9pZCAwOih0LmZpcmVkPSEwLHQubGlzdGVuZXIuYXBwbHkoaSxbcl0pKSk6dC5hcHBseShpLFtyXSl9Zm9yKHM9QXJyYXkuaXNBcnJheShzKT9zOltzXSxvPTA7bzxzLmxlbmd0aC0xO28rKylsKHNbb10pO3JldHVybiBhPWwoc1tvXSksdm9pZCAwIT09bj9uOmF9LHB1cmdlOmZ1bmN0aW9uKHQpe3JldHVybiBkZWxldGUgdC5fZXYsZGVsZXRlIHQub24sZGVsZXRlIHQub25jZSxkZWxldGUgdC5yZW1vdmVMaXN0ZW5lcixkZWxldGUgdC5yZW1vdmVBbGxMaXN0ZW5lcnMsZGVsZXRlIHQuZW1pdCxkZWxldGUgdC5fZXYsZGVsZXRlIHQuX2ludGVybmFsRXYsZGVsZXRlIHQuX2ludGVybmFsT24sZGVsZXRlIHQuX2ludGVybmFsT25jZSxkZWxldGUgdC5fcmVtb3ZlSW50ZXJuYWxMaXN0ZW5lcixkZWxldGUgdC5fcmVtb3ZlQWxsSW50ZXJuYWxMaXN0ZW5lcnMsdH19O2UuZXhwb3J0cz1hfSx7ZXZlbnRzOjEwNn1dLDcwODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzX3BsYWluX29iamVjdC5qcyIpLGE9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBpKHQsZSxyLG8pe3ZhciBzLGwsYyx1LGgsZixwPXRbMF0sZD10Lmxlbmd0aDtpZigyPT09ZCYmYShwKSYmYSh0WzFdKSYmMD09PXAubGVuZ3RoKXtpZihmdW5jdGlvbih0LGUpe3ZhciByLG47Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7aWYobnVsbCE9PShuPXRbcl0pJiYib2JqZWN0Ij09dHlwZW9mIG4pcmV0dXJuITE7dm9pZCAwIT09biYmKGVbcl09bil9cmV0dXJuITB9KHRbMV0scCkpcmV0dXJuIHA7cC5zcGxpY2UoMCxwLmxlbmd0aCl9Zm9yKHZhciBnPTE7ZzxkO2crKylmb3IobCBpbiBzPXRbZ10pYz1wW2xdLHU9c1tsXSxvJiZhKHUpP3BbbF09dTplJiZ1JiYobih1KXx8KGg9YSh1KSkpPyhoPyhoPSExLGY9YyYmYShjKT9jOltdKTpmPWMmJm4oYyk/Yzp7fSxwW2xdPWkoW2YsdV0sZSxyLG8pKTooInVuZGVmaW5lZCIhPXR5cGVvZiB1fHxyKSYmKHBbbF09dSk7cmV0dXJuIHB9ci5leHRlbmRGbGF0PWZ1bmN0aW9uKCl7cmV0dXJuIGkoYXJndW1lbnRzLCExLCExLCExKX0sci5leHRlbmREZWVwPWZ1bmN0aW9uKCl7cmV0dXJuIGkoYXJndW1lbnRzLCEwLCExLCExKX0sci5leHRlbmREZWVwQWxsPWZ1bmN0aW9uKCl7cmV0dXJuIGkoYXJndW1lbnRzLCEwLCEwLCExKX0sci5leHRlbmREZWVwTm9BcnJheXM9ZnVuY3Rpb24oKXtyZXR1cm4gaShhcmd1bWVudHMsITAsITEsITApfX0seyIuL2lzX3BsYWluX29iamVjdC5qcyI6NzE4fV0sNzA5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30scj1bXSxuPTAsYT0wO2E8dC5sZW5ndGg7YSsrKXt2YXIgaT10W2FdOzEhPT1lW2ldJiYoZVtpXT0xLHJbbisrXT1pKX1yZXR1cm4gcn19LHt9XSw3MTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXtyZXR1cm4hMD09PXQudmlzaWJsZX1mdW5jdGlvbiBhKHQpe3ZhciBlPXRbMF0udHJhY2U7cmV0dXJuITA9PT1lLnZpc2libGUmJjAhPT1lLl9sZW5ndGh9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPShlPXQsQXJyYXkuaXNBcnJheShlKSYmQXJyYXkuaXNBcnJheShlWzBdKSYmZVswXVswXSYmZVswXVswXS50cmFjZT9hOm4pLGk9W10sbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10W29dO3IocykmJmkucHVzaChzKX1yZXR1cm4gaX19LHt9XSw3MTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoImNvdW50cnktcmVnZXgiKSxpPXQoIkB0dXJmL2FyZWEiKSxvPXQoIkB0dXJmL2NlbnRyb2lkIikscz10KCJAdHVyZi9iYm94IiksbD10KCIuL2lkZW50aXR5IiksYz10KCIuL2xvZ2dlcnMiKSx1PXQoIi4vaXNfcGxhaW5fb2JqZWN0IiksaD10KCIuL25lc3RlZF9wcm9wZXJ0eSIpLGY9dCgiLi9wb2x5Z29uIikscD1PYmplY3Qua2V5cyhhKSxkPXsiSVNPLTMiOmwsIlVTQS1zdGF0ZXMiOmwsImNvdW50cnkgbmFtZXMiOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8cC5sZW5ndGg7ZSsrKXt2YXIgcj1wW2VdLG49bmV3IFJlZ0V4cChhW3JdKTtpZihuLnRlc3QodC50cmltKCkudG9Mb3dlckNhc2UoKSkpcmV0dXJuIHJ9cmV0dXJuIGMubG9nKCJVbnJlY29nbml6ZWQgY291bnRyeSBuYW1lOiAiK3QrIi4iKSwhMX19O2Z1bmN0aW9uIGcodCl7dmFyIGU9dC5nZW9qc29uLHI9d2luZG93LlBsb3RseUdlb0Fzc2V0c3x8e30sbj0ic3RyaW5nIj09dHlwZW9mIGU/cltlXTplO3JldHVybiB1KG4pP246KGMuZXJyb3IoIk9vcHMgLi4uIHNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gZmV0Y2hpbmcgIitlKSwhMSl9ZS5leHBvcnRzPXtsb2NhdGlvblRvRmVhdHVyZTpmdW5jdGlvbih0LGUscil7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4hMTt2YXIgbixhLGksbz1kW3RdKGUpO2lmKG8pe2lmKCJVU0Etc3RhdGVzIj09PXQpZm9yKG49W10saT0wO2k8ci5sZW5ndGg7aSsrKShhPXJbaV0pLnByb3BlcnRpZXMmJmEucHJvcGVydGllcy5ndSYmIlVTQSI9PT1hLnByb3BlcnRpZXMuZ3UmJm4ucHVzaChhKTtlbHNlIG49cjtmb3IoaT0wO2k8bi5sZW5ndGg7aSsrKWlmKChhPW5baV0pLmlkPT09bylyZXR1cm4gYTtjLmxvZyhbIkxvY2F0aW9uIHdpdGggaWQiLG8sImRvZXMgbm90IGhhdmUgYSBtYXRjaGluZyB0b3BvanNvbiBmZWF0dXJlIGF0IHRoaXMgcmVzb2x1dGlvbi4iXS5qb2luKCIgIikpfXJldHVybiExfSxmZWF0dXJlMnBvbHlnb25zOmZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhLGk9dC5nZW9tZXRyeSxvPWkuY29vcmRpbmF0ZXMscz10LmlkLGw9W107ZnVuY3Rpb24gYyh0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoLTE7ZSsrKWlmKHRbZV1bMF0+MCYmdFtlKzFdWzBdPDApcmV0dXJuIGU7cmV0dXJuIG51bGx9c3dpdGNoKGU9IlJVUyI9PT1zfHwiRkpJIj09PXM/ZnVuY3Rpb24odCl7dmFyIGU7aWYobnVsbD09PWModCkpZT10O2Vsc2UgZm9yKGU9bmV3IEFycmF5KHQubGVuZ3RoKSxhPTA7YTx0Lmxlbmd0aDthKyspZVthXT1bdFthXVswXTwwP3RbYV1bMF0rMzYwOnRbYV1bMF0sdFthXVsxXV07bC5wdXNoKGYudGVzdGVyKGUpKX06IkFUQSI9PT1zP2Z1bmN0aW9uKHQpe3ZhciBlPWModCk7aWYobnVsbD09PWUpcmV0dXJuIGwucHVzaChmLnRlc3Rlcih0KSk7dmFyIHI9bmV3IEFycmF5KHQubGVuZ3RoKzEpLG49MDtmb3IoYT0wO2E8dC5sZW5ndGg7YSsrKWE+ZT9yW24rK109W3RbYV1bMF0rMzYwLHRbYV1bMV1dOmE9PT1lPyhyW24rK109dFthXSxyW24rK109W3RbYV1bMF0sLTkwXSk6cltuKytdPXRbYV07dmFyIGk9Zi50ZXN0ZXIocik7aS5wdHMucG9wKCksbC5wdXNoKGkpfTpmdW5jdGlvbih0KXtsLnB1c2goZi50ZXN0ZXIodCkpfSxpLnR5cGUpe2Nhc2UiTXVsdGlQb2x5Z29uIjpmb3Iocj0wO3I8by5sZW5ndGg7cisrKWZvcihuPTA7bjxvW3JdLmxlbmd0aDtuKyspZShvW3JdW25dKTticmVhaztjYXNlIlBvbHlnb24iOmZvcihyPTA7cjxvLmxlbmd0aDtyKyspZShvW3JdKX1yZXR1cm4gbH0sZ2V0VHJhY2VHZW9qc29uOmcsZXh0cmFjdFRyYWNlRmVhdHVyZTpmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRyYWNlLHI9ZyhlKTtpZighcilyZXR1cm4hMTt2YXIgbixhPXt9LHM9W107Zm9yKG49MDtuPGUuX2xlbmd0aDtuKyspe3ZhciBsPXRbbl07KGwubG9jfHwwPT09bC5sb2MpJiYoYVtsLmxvY109bCl9ZnVuY3Rpb24gdSh0KXt2YXIgcj1oKHQsZS5mZWF0dXJlaWRrZXl8fCJpZCIpLmdldCgpLG49YVtyXTtpZihuKXt2YXIgbD10Lmdlb21ldHJ5O2lmKCJQb2x5Z29uIj09PWwudHlwZXx8Ik11bHRpUG9seWdvbiI9PT1sLnR5cGUpe3ZhciB1PXt0eXBlOiJGZWF0dXJlIixpZDpyLGdlb21ldHJ5OmwscHJvcGVydGllczp7fX07dS5wcm9wZXJ0aWVzLmN0PWZ1bmN0aW9uKHQpe3ZhciBlLHI9dC5nZW9tZXRyeTtpZigiTXVsdGlQb2x5Z29uIj09PXIudHlwZSlmb3IodmFyIG49ci5jb29yZGluYXRlcyxhPTAscz0wO3M8bi5sZW5ndGg7cysrKXt2YXIgbD17dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6bltzXX0sYz1pLmRlZmF1bHQobCk7Yz5hJiYoYT1jLGU9bCl9ZWxzZSBlPXI7cmV0dXJuIG8uZGVmYXVsdChlKS5nZW9tZXRyeS5jb29yZGluYXRlc30odSksbi5mSW49dCxuLmZPdXQ9dSxzLnB1c2godSl9ZWxzZSBjLmxvZyhbIkxvY2F0aW9uIixuLmxvYywiZG9lcyBub3QgaGF2ZSBhIHZhbGlkIEdlb0pTT04gZ2VvbWV0cnkuIiwiVHJhY2VzIHdpdGggbG9jYXRpb25tb2RlICpnZW9qc29uLWlkKiBvbmx5IHN1cHBvcnQiLCIqUG9seWdvbiogYW5kICpNdWx0aVBvbHlnb24qIGdlb21ldHJpZXMuIl0uam9pbigiICIpKX1kZWxldGUgYVtyXX1zd2l0Y2goci50eXBlKXtjYXNlIkZlYXR1cmVDb2xsZWN0aW9uIjp2YXIgZj1yLmZlYXR1cmVzO2ZvcihuPTA7bjxmLmxlbmd0aDtuKyspdShmW25dKTticmVhaztjYXNlIkZlYXR1cmUiOnUocik7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gYy53YXJuKFsiSW52YWxpZCBHZW9KU09OIHR5cGUiLChyLnR5cGV8fCJub25lIikrIi4iLCJUcmFjZXMgd2l0aCBsb2NhdGlvbm1vZGUgKmdlb2pzb24taWQqIG9ubHkgc3VwcG9ydCIsIipGZWF0dXJlQ29sbGVjdGlvbiogYW5kICpGZWF0dXJlKiB0eXBlcy4iXS5qb2luKCIgIikpLCExfWZvcih2YXIgcCBpbiBhKWMubG9nKFsiTG9jYXRpb24gKiIrcCsiKiIsImRvZXMgbm90IGhhdmUgYSBtYXRjaGluZyBmZWF0dXJlIHdpdGggaWQta2V5IiwiKiIrZS5mZWF0dXJlaWRrZXkrIiouIl0uam9pbigiICIpKTtyZXR1cm4gc30sZmV0Y2hUcmFjZUdlb0RhdGE6ZnVuY3Rpb24odCl7dmFyIGU9d2luZG93LlBsb3RseUdlb0Fzc2V0c3x8e30scj1bXTtmdW5jdGlvbiBhKHQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLGEpe24uanNvbih0LGZ1bmN0aW9uKG4saSl7aWYobil7ZGVsZXRlIGVbdF07dmFyIG89NDA0PT09bi5zdGF0dXM/J0dlb0pTT04gYXQgVVJMICInK3QrJyIgZG9lcyBub3QgZXhpc3QuJzoiVW5leHBlY3RlZCBlcnJvciB3aGlsZSBmZXRjaGluZyBmcm9tICIrdDtyZXR1cm4gYShuZXcgRXJyb3IobykpfXJldHVybiBlW3RdPWkscihpKX0pfSl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocixuKXt2YXIgYT0wLGk9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XSYmInBlbmRpbmciIT09ZVt0XT8oY2xlYXJJbnRlcnZhbChpKSxyKGVbdF0pKTphPjEwMD8oY2xlYXJJbnRlcnZhbChpKSxuKCJVbmV4cGVjdGVkIGVycm9yIHdoaWxlIGZldGNoaW5nIGZyb20gIit0KSk6dm9pZCBhKyt9LDUwKX0pfWZvcih2YXIgbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10W29dWzBdLnRyYWNlLmdlb2pzb247InN0cmluZyI9PXR5cGVvZiBzJiYoZVtzXT8icGVuZGluZyI9PT1lW3NdJiZyLnB1c2goaShzKSk6KGVbc109InBlbmRpbmciLHIucHVzaChhKHMpKSkpfXJldHVybiByfSxjb21wdXRlQmJveDpmdW5jdGlvbih0KXtyZXR1cm4gcy5kZWZhdWx0KHQpfX19LHsiLi9pZGVudGl0eSI6NzE2LCIuL2lzX3BsYWluX29iamVjdCI6NzE4LCIuL2xvZ2dlcnMiOjcyMSwiLi9uZXN0ZWRfcHJvcGVydHkiOjcyNSwiLi9wb2x5Z29uIjo3MjksIkB0dXJmL2FyZWEiOjU3LCJAdHVyZi9iYm94Ijo1OCwiQHR1cmYvY2VudHJvaWQiOjU5LCJjb3VudHJ5LXJlZ2V4IjoxMzYsZDM6MTY1fV0sNzEyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU07ci5jYWxjVHJhY2VUb0xpbmVDb29yZHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRbMF0udHJhY2UuY29ubmVjdGdhcHMscj1bXSxhPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXS5sb25sYXQ7b1swXSE9PW4/YS5wdXNoKG8pOiFlJiZhLmxlbmd0aD4wJiYoci5wdXNoKGEpLGE9W10pfXJldHVybiBhLmxlbmd0aD4wJiZyLnB1c2goYSkscn0sci5tYWtlTGluZT1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXQubGVuZ3RoP3t0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczp0WzBdfTp7dHlwZToiTXVsdGlMaW5lU3RyaW5nIixjb29yZGluYXRlczp0fX0sci5tYWtlUG9seWdvbj1mdW5jdGlvbih0KXtpZigxPT09dC5sZW5ndGgpcmV0dXJue3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOnR9O2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9MDtyPHQubGVuZ3RoO3IrKyllW3JdPVt0W3JdXTtyZXR1cm57dHlwZToiTXVsdGlQb2x5Z29uIixjb29yZGluYXRlczplfX0sci5tYWtlQmxhbms9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiUG9pbnQiLGNvb3JkaW5hdGVzOltdfX19LHsiLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzfV0sNzEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGEsaSxvPXQoIi4vbW9kIikubW9kO2Z1bmN0aW9uIHModCxlLHIsbixhLGksbyxzKXt2YXIgbD1yLXQsYz1hLXQsdT1vLWEsaD1uLWUsZj1pLWUscD1zLWksZD1sKnAtdSpoO2lmKDA9PT1kKXJldHVybiBudWxsO3ZhciBnPShjKnAtdSpmKS9kLHY9KGMqaC1sKmYpL2Q7cmV0dXJuIHY8MHx8dj4xfHxnPDB8fGc+MT9udWxsOnt4OnQrbCpnLHk6ZStoKmd9fWZ1bmN0aW9uIGwodCxlLHIsbixhKXt2YXIgaT1uKnQrYSplO2lmKGk8MClyZXR1cm4gbipuK2EqYTtpZihpPnIpe3ZhciBvPW4tdCxzPWEtZTtyZXR1cm4gbypvK3Mqc312YXIgbD1uKmUtYSp0O3JldHVybiBsKmwvcn1yLnNlZ21lbnRzSW50ZXJzZWN0PXMsci5zZWdtZW50RGlzdGFuY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxjKXtpZihzKHQsZSxyLG4sYSxpLG8sYykpcmV0dXJuIDA7dmFyIHU9ci10LGg9bi1lLGY9by1hLHA9Yy1pLGQ9dSp1K2gqaCxnPWYqZitwKnAsdj1NYXRoLm1pbihsKHUsaCxkLGEtdCxpLWUpLGwodSxoLGQsby10LGMtZSksbChmLHAsZyx0LWEsZS1pKSxsKGYscCxnLHItYSxuLWkpKTtyZXR1cm4gTWF0aC5zcXJ0KHYpfSxyLmdldFRleHRMb2NhdGlvbj1mdW5jdGlvbih0LGUscixzKXtpZih0PT09YSYmcz09PWl8fChuPXt9LGE9dCxpPXMpLG5bcl0pcmV0dXJuIG5bcl07dmFyIGw9dC5nZXRQb2ludEF0TGVuZ3RoKG8oci1zLzIsZSkpLGM9dC5nZXRQb2ludEF0TGVuZ3RoKG8ocitzLzIsZSkpLHU9TWF0aC5hdGFuKChjLnktbC55KS8oYy54LWwueCkpLGg9dC5nZXRQb2ludEF0TGVuZ3RoKG8ocixlKSksZj17eDooNCpoLngrbC54K2MueCkvNix5Oig0KmgueStsLnkrYy55KS82LHRoZXRhOnV9O3JldHVybiBuW3JdPWYsZn0sci5jbGVhckxvY2F0aW9uQ2FjaGU9ZnVuY3Rpb24oKXthPW51bGx9LHIuZ2V0VmlzaWJsZVNlZ21lbnQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaT1lLmxlZnQsbz1lLnJpZ2h0LHM9ZS50b3AsbD1lLmJvdHRvbSxjPTAsdT10LmdldFRvdGFsTGVuZ3RoKCksaD11O2Z1bmN0aW9uIGYoZSl7dmFyIHI9dC5nZXRQb2ludEF0TGVuZ3RoKGUpOzA9PT1lP249cjplPT09dSYmKGE9cik7dmFyIGM9ci54PGk/aS1yLng6ci54Pm8/ci54LW86MCxoPXIueTxzP3Mtci55OnIueT5sP3IueS1sOjA7cmV0dXJuIE1hdGguc3FydChjKmMraCpoKX1mb3IodmFyIHA9ZihjKTtwOyl7aWYoKGMrPXArcik+aClyZXR1cm47cD1mKGMpfWZvcihwPWYoaCk7cDspe2lmKGM+KGgtPXArcikpcmV0dXJuO3A9ZihoKX1yZXR1cm57bWluOmMsbWF4OmgsbGVuOmgtYyx0b3RhbDp1LGlzQ2xvc2VkOjA9PT1jJiZoPT09dSYmTWF0aC5hYnMobi54LWEueCk8LjEmJk1hdGguYWJzKG4ueS1hLnkpPC4xfX0sci5maW5kUG9pbnRPblBhdGg9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBhLGksbyxzPShuPW58fHt9KS5wYXRoTGVuZ3RofHx0LmdldFRvdGFsTGVuZ3RoKCksbD1uLnRvbGVyYW5jZXx8LjAwMSxjPW4uaXRlcmF0aW9uTGltaXR8fDMwLHU9dC5nZXRQb2ludEF0TGVuZ3RoKDApW3JdPnQuZ2V0UG9pbnRBdExlbmd0aChzKVtyXT8tMToxLGg9MCxmPTAscD1zO2g8Yzspe2lmKGE9KGYrcCkvMixvPShpPXQuZ2V0UG9pbnRBdExlbmd0aChhKSlbcl0tZSxNYXRoLmFicyhvKTxsKXJldHVybiBpO3Uqbz4wP3A9YTpmPWEsaCsrfXJldHVybiBpfX0seyIuL21vZCI6NzI0fV0sNzE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCJ0aW55Y29sb3IyIiksaT10KCJjb2xvci1ub3JtYWxpemUiKSxvPXQoIi4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLHM9dCgiLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIikuZGVmYXVsdExpbmUsbD10KCIuL2FycmF5IikuaXNBcnJheU9yVHlwZWRBcnJheSxjPWkocyksdT0xO2Z1bmN0aW9uIGgodCxlKXt2YXIgcj10O3JldHVybiByWzNdKj1lLHJ9ZnVuY3Rpb24gZih0KXtpZihuKHQpKXJldHVybiBjO3ZhciBlPWkodCk7cmV0dXJuIGUubGVuZ3RoP2U6Y31mdW5jdGlvbiBwKHQpe3JldHVybiBuKHQpP3Q6dX1lLmV4cG9ydHM9e2Zvcm1hdENvbG9yOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLHMsZCxnLHY9dC5jb2xvcixtPWwodikseT1sKGUpLHg9by5leHRyYWN0T3B0cyh0KSxiPVtdO2lmKG49dm9pZCAwIT09eC5jb2xvcnNjYWxlP28ubWFrZUNvbG9yU2NhbGVGdW5jRnJvbVRyYWNlKHQpOmYsYT1tP2Z1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PXRbZV0/YzppKG4odFtlXSkpfTpmLHM9eT9mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10W2VdP3U6cCh0W2VdKX06cCxtfHx5KWZvcih2YXIgXz0wO188cjtfKyspZD1hKHYsXyksZz1zKGUsXyksYltfXT1oKGQsZyk7ZWxzZSBiPWgoaSh2KSxlKTtyZXR1cm4gYn0scGFyc2VDb2xvclNjYWxlOmZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9MSk7dmFyIHI9by5leHRyYWN0T3B0cyh0KTtyZXR1cm4oci5yZXZlcnNlc2NhbGU/by5mbGlwU2NhbGUoci5jb2xvcnNjYWxlKTpyLmNvbG9yc2NhbGUpLm1hcChmdW5jdGlvbih0KXt2YXIgcj10WzBdLG49YSh0WzFdKS50b1JnYigpO3JldHVybntpbmRleDpyLHJnYjpbbi5yLG4uZyxuLmIsZV19fSl9fX0seyIuLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MSwiLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4vYXJyYXkiOjcwMCwiY29sb3Itbm9ybWFsaXplIjoxMjIsImZhc3QtaXNudW1lcmljIjoyMjgsdGlueWNvbG9yMjo1MzZ9XSw3MTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pZGVudGl0eSIpO2Z1bmN0aW9uIGEodCl7cmV0dXJuW3RdfWUuZXhwb3J0cz17a2V5RnVuOmZ1bmN0aW9uKHQpe3JldHVybiB0LmtleX0scmVwZWF0OmEsZGVzY2VuZDpuLHdyYXA6YSx1bndyYXA6ZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19fX0seyIuL2lkZW50aXR5Ijo3MTZ9XSw3MTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0fX0se31dLDcxNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoIi4uL2NvbnN0YW50cy9udW1lcmljYWwiKSxvPWkuRlBfU0FGRSxzPWkuQkFETlVNLGw9ZS5leHBvcnRzPXt9O2wubmVzdGVkUHJvcGVydHk9dCgiLi9uZXN0ZWRfcHJvcGVydHkiKSxsLmtleWVkQ29udGFpbmVyPXQoIi4va2V5ZWRfY29udGFpbmVyIiksbC5yZWxhdGl2ZUF0dHI9dCgiLi9yZWxhdGl2ZV9hdHRyIiksbC5pc1BsYWluT2JqZWN0PXQoIi4vaXNfcGxhaW5fb2JqZWN0IiksbC50b0xvZ1JhbmdlPXQoIi4vdG9fbG9nX3JhbmdlIiksbC5yZWxpbmtQcml2YXRlS2V5cz10KCIuL3JlbGlua19wcml2YXRlIik7dmFyIGM9dCgiLi9hcnJheSIpO2wuaXNUeXBlZEFycmF5PWMuaXNUeXBlZEFycmF5LGwuaXNBcnJheU9yVHlwZWRBcnJheT1jLmlzQXJyYXlPclR5cGVkQXJyYXksbC5pc0FycmF5MUQ9Yy5pc0FycmF5MUQsbC5lbnN1cmVBcnJheT1jLmVuc3VyZUFycmF5LGwuY29uY2F0PWMuY29uY2F0LGwubWF4Um93TGVuZ3RoPWMubWF4Um93TGVuZ3RoLGwubWluUm93TGVuZ3RoPWMubWluUm93TGVuZ3RoO3ZhciB1PXQoIi4vbW9kIik7bC5tb2Q9dS5tb2QsbC5tb2RIYWxmPXUubW9kSGFsZjt2YXIgaD10KCIuL2NvZXJjZSIpO2wudmFsT2JqZWN0TWV0YT1oLnZhbE9iamVjdE1ldGEsbC5jb2VyY2U9aC5jb2VyY2UsbC5jb2VyY2UyPWguY29lcmNlMixsLmNvZXJjZUZvbnQ9aC5jb2VyY2VGb250LGwuY29lcmNlSG92ZXJpbmZvPWguY29lcmNlSG92ZXJpbmZvLGwuY29lcmNlU2VsZWN0aW9uTWFya2VyT3BhY2l0eT1oLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHksbC52YWxpZGF0ZT1oLnZhbGlkYXRlO3ZhciBmPXQoIi4vZGF0ZXMiKTtsLmRhdGVUaW1lMm1zPWYuZGF0ZVRpbWUybXMsbC5pc0RhdGVUaW1lPWYuaXNEYXRlVGltZSxsLm1zMkRhdGVUaW1lPWYubXMyRGF0ZVRpbWUsbC5tczJEYXRlVGltZUxvY2FsPWYubXMyRGF0ZVRpbWVMb2NhbCxsLmNsZWFuRGF0ZT1mLmNsZWFuRGF0ZSxsLmlzSlNEYXRlPWYuaXNKU0RhdGUsbC5mb3JtYXREYXRlPWYuZm9ybWF0RGF0ZSxsLmluY3JlbWVudE1vbnRoPWYuaW5jcmVtZW50TW9udGgsbC5kYXRlVGljazA9Zi5kYXRlVGljazAsbC5kZmx0UmFuZ2U9Zi5kZmx0UmFuZ2UsbC5maW5kRXhhY3REYXRlcz1mLmZpbmRFeGFjdERhdGVzLGwuTUlOX01TPWYuTUlOX01TLGwuTUFYX01TPWYuTUFYX01TO3ZhciBwPXQoIi4vc2VhcmNoIik7bC5maW5kQmluPXAuZmluZEJpbixsLnNvcnRlckFzYz1wLnNvcnRlckFzYyxsLnNvcnRlckRlcz1wLnNvcnRlckRlcyxsLmRpc3RpbmN0VmFscz1wLmRpc3RpbmN0VmFscyxsLnJvdW5kVXA9cC5yb3VuZFVwLGwuc29ydD1wLnNvcnQsbC5maW5kSW5kZXhPZk1pbj1wLmZpbmRJbmRleE9mTWluO3ZhciBkPXQoIi4vc3RhdHMiKTtsLmFnZ051bXM9ZC5hZ2dOdW1zLGwubGVuPWQubGVuLGwubWVhbj1kLm1lYW4sbC5tZWRpYW49ZC5tZWRpYW4sbC5taWRSYW5nZT1kLm1pZFJhbmdlLGwudmFyaWFuY2U9ZC52YXJpYW5jZSxsLnN0ZGV2PWQuc3RkZXYsbC5pbnRlcnA9ZC5pbnRlcnA7dmFyIGc9dCgiLi9tYXRyaXgiKTtsLmluaXQyZEFycmF5PWcuaW5pdDJkQXJyYXksbC50cmFuc3Bvc2VSYWdnZWQ9Zy50cmFuc3Bvc2VSYWdnZWQsbC5kb3Q9Zy5kb3QsbC50cmFuc2xhdGlvbk1hdHJpeD1nLnRyYW5zbGF0aW9uTWF0cml4LGwucm90YXRpb25NYXRyaXg9Zy5yb3RhdGlvbk1hdHJpeCxsLnJvdGF0aW9uWFlNYXRyaXg9Zy5yb3RhdGlvblhZTWF0cml4LGwuYXBwbHkyRFRyYW5zZm9ybT1nLmFwcGx5MkRUcmFuc2Zvcm0sbC5hcHBseTJEVHJhbnNmb3JtMj1nLmFwcGx5MkRUcmFuc2Zvcm0yO3ZhciB2PXQoIi4vYW5nbGVzIik7bC5kZWcycmFkPXYuZGVnMnJhZCxsLnJhZDJkZWc9di5yYWQyZGVnLGwuYW5nbGVEZWx0YT12LmFuZ2xlRGVsdGEsbC5hbmdsZURpc3Q9di5hbmdsZURpc3QsbC5pc0Z1bGxDaXJjbGU9di5pc0Z1bGxDaXJjbGUsbC5pc0FuZ2xlSW5zaWRlU2VjdG9yPXYuaXNBbmdsZUluc2lkZVNlY3RvcixsLmlzUHRJbnNpZGVTZWN0b3I9di5pc1B0SW5zaWRlU2VjdG9yLGwucGF0aEFyYz12LnBhdGhBcmMsbC5wYXRoU2VjdG9yPXYucGF0aFNlY3RvcixsLnBhdGhBbm51bHVzPXYucGF0aEFubnVsdXM7dmFyIG09dCgiLi9hbmNob3JfdXRpbHMiKTtsLmlzTGVmdEFuY2hvcj1tLmlzTGVmdEFuY2hvcixsLmlzQ2VudGVyQW5jaG9yPW0uaXNDZW50ZXJBbmNob3IsbC5pc1JpZ2h0QW5jaG9yPW0uaXNSaWdodEFuY2hvcixsLmlzVG9wQW5jaG9yPW0uaXNUb3BBbmNob3IsbC5pc01pZGRsZUFuY2hvcj1tLmlzTWlkZGxlQW5jaG9yLGwuaXNCb3R0b21BbmNob3I9bS5pc0JvdHRvbUFuY2hvcjt2YXIgeT10KCIuL2dlb21ldHJ5MmQiKTtsLnNlZ21lbnRzSW50ZXJzZWN0PXkuc2VnbWVudHNJbnRlcnNlY3QsbC5zZWdtZW50RGlzdGFuY2U9eS5zZWdtZW50RGlzdGFuY2UsbC5nZXRUZXh0TG9jYXRpb249eS5nZXRUZXh0TG9jYXRpb24sbC5jbGVhckxvY2F0aW9uQ2FjaGU9eS5jbGVhckxvY2F0aW9uQ2FjaGUsbC5nZXRWaXNpYmxlU2VnbWVudD15LmdldFZpc2libGVTZWdtZW50LGwuZmluZFBvaW50T25QYXRoPXkuZmluZFBvaW50T25QYXRoO3ZhciB4PXQoIi4vZXh0ZW5kIik7bC5leHRlbmRGbGF0PXguZXh0ZW5kRmxhdCxsLmV4dGVuZERlZXA9eC5leHRlbmREZWVwLGwuZXh0ZW5kRGVlcEFsbD14LmV4dGVuZERlZXBBbGwsbC5leHRlbmREZWVwTm9BcnJheXM9eC5leHRlbmREZWVwTm9BcnJheXM7dmFyIGI9dCgiLi9sb2dnZXJzIik7bC5sb2c9Yi5sb2csbC53YXJuPWIud2FybixsLmVycm9yPWIuZXJyb3I7dmFyIF89dCgiLi9yZWdleCIpO2wuY291bnRlclJlZ2V4PV8uY291bnRlcjt2YXIgdz10KCIuL3Rocm90dGxlIik7bC50aHJvdHRsZT13LnRocm90dGxlLGwudGhyb3R0bGVEb25lPXcuZG9uZSxsLmNsZWFyVGhyb3R0bGU9dy5jbGVhcjt2YXIgaz10KCIuL2RvbSIpO2Z1bmN0aW9uIFQodCl7dmFyIGU9e307Zm9yKHZhciByIGluIHQpZm9yKHZhciBuPXRbcl0sYT0wO2E8bi5sZW5ndGg7YSsrKWVbblthXV09K3I7cmV0dXJuIGV9bC5nZXRHcmFwaERpdj1rLmdldEdyYXBoRGl2LGwuaXNQbG90RGl2PWsuaXNQbG90RGl2LGwucmVtb3ZlRWxlbWVudD1rLnJlbW92ZUVsZW1lbnQsbC5hZGRTdHlsZVJ1bGU9ay5hZGRTdHlsZVJ1bGUsbC5hZGRSZWxhdGVkU3R5bGVSdWxlPWsuYWRkUmVsYXRlZFN0eWxlUnVsZSxsLmRlbGV0ZVJlbGF0ZWRTdHlsZVJ1bGU9ay5kZWxldGVSZWxhdGVkU3R5bGVSdWxlLGwuY2xlYXJSZXNwb25zaXZlPXQoIi4vY2xlYXJfcmVzcG9uc2l2ZSIpLGwubWFrZVRyYWNlR3JvdXBzPXQoIi4vbWFrZV90cmFjZV9ncm91cHMiKSxsLl89dCgiLi9sb2NhbGl6ZSIpLGwubm90aWZpZXI9dCgiLi9ub3RpZmllciIpLGwuZmlsdGVyVW5pcXVlPXQoIi4vZmlsdGVyX3VuaXF1ZSIpLGwuZmlsdGVyVmlzaWJsZT10KCIuL2ZpbHRlcl92aXNpYmxlIiksbC5wdXNoVW5pcXVlPXQoIi4vcHVzaF91bmlxdWUiKSxsLmNsZWFuTnVtYmVyPXQoIi4vY2xlYW5fbnVtYmVyIiksbC5lbnN1cmVOdW1iZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCk/KHQ9TnVtYmVyKHQpKTwtb3x8dD5vP3M6YSh0KT9OdW1iZXIodCk6czpzfSxsLmlzSW5kZXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4hKHZvaWQgMCE9PWUmJnQ+PWUpJiYoYSh0KSYmdD49MCYmdCUxPT0wKX0sbC5ub29wPXQoIi4vbm9vcCIpLGwuaWRlbnRpdHk9dCgiLi9pZGVudGl0eSIpLGwucmVwZWF0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlKSxuPTA7bjxlO24rKylyW25dPXQ7cmV0dXJuIHJ9LGwuc3dhcEF0dHJzPWZ1bmN0aW9uKHQsZSxyLG4pe3J8fChyPSJ4Iiksbnx8KG49InkiKTtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIGk9ZVthXSxvPWwubmVzdGVkUHJvcGVydHkodCxpLnJlcGxhY2UoIj8iLHIpKSxzPWwubmVzdGVkUHJvcGVydHkodCxpLnJlcGxhY2UoIj8iLG4pKSxjPW8uZ2V0KCk7by5zZXQocy5nZXQoKSkscy5zZXQoYyl9fSxsLnJhaXNlVG9Ub3A9ZnVuY3Rpb24odCl7dC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHQpfSxsLmNhbmNlbFRyYW5zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHQudHJhbnNpdGlvbigpLmR1cmF0aW9uKDApfSxsLmNvbnN0cmFpbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU+cj9NYXRoLm1heChyLE1hdGgubWluKGUsdCkpOk1hdGgubWF4KGUsTWF0aC5taW4ocix0KSl9LGwuYkJveEludGVyc2VjdD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHI9cnx8MCx0LmxlZnQ8PWUucmlnaHQrciYmZS5sZWZ0PD10LnJpZ2h0K3ImJnQudG9wPD1lLmJvdHRvbStyJiZlLnRvcDw9dC5ib3R0b20rcn0sbC5zaW1wbGVNYXA9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBhPXQubGVuZ3RoLGk9bmV3IEFycmF5KGEpLG89MDtvPGE7bysrKWlbb109ZSh0W29dLHIsbik7cmV0dXJuIGl9LGwucmFuZHN0cj1mdW5jdGlvbiB0KGUscixuLGEpe2lmKG58fChuPTE2KSx2b2lkIDA9PT1yJiYocj0yNCkscjw9MClyZXR1cm4iMCI7dmFyIGksbyxzPU1hdGgubG9nKE1hdGgucG93KDIscikpL01hdGgubG9nKG4pLGM9IiI7Zm9yKGk9MjtzPT09MS8wO2kqPTIpcz1NYXRoLmxvZyhNYXRoLnBvdygyLHIvaSkpL01hdGgubG9nKG4pKmk7dmFyIHU9cy1NYXRoLmZsb29yKHMpO2ZvcihpPTA7aTxNYXRoLmZsb29yKHMpO2krKyljPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpuKS50b1N0cmluZyhuKStjO3UmJihvPU1hdGgucG93KG4sdSksYz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqbykudG9TdHJpbmcobikrYyk7dmFyIGg9cGFyc2VJbnQoYyxuKTtyZXR1cm4gZSYmZVtjXXx8aCE9PTEvMCYmaD49TWF0aC5wb3coMixyKT9hPjEwPyhsLndhcm4oInJhbmRzdHIgZmFpbGVkIHVuaXF1ZW5lc3MiKSxjKTp0KGUscixuLChhfHwwKSsxKTpjfSxsLk9wdGlvbkNvbnRyb2w9ZnVuY3Rpb24odCxlKXt0fHwodD17fSksZXx8KGU9Im9wdCIpO3ZhciByPXtvcHRpb25MaXN0OltdLF9uZXdvcHRpb246ZnVuY3Rpb24obil7bltlXT10LHJbbi5uYW1lXT1uLHIub3B0aW9uTGlzdC5wdXNoKG4pfX07cmV0dXJuIHJbIl8iK2VdPXQscn0sbC5zbW9vdGg9ZnVuY3Rpb24odCxlKXtpZigoZT1NYXRoLnJvdW5kKGUpfHwwKTwyKXJldHVybiB0O3ZhciByLG4sYSxpLG89dC5sZW5ndGgscz0yKm8sbD0yKmUtMSxjPW5ldyBBcnJheShsKSx1PW5ldyBBcnJheShvKTtmb3Iocj0wO3I8bDtyKyspY1tyXT0oMS1NYXRoLmNvcyhNYXRoLlBJKihyKzEpL2UpKS8oMiplKTtmb3Iocj0wO3I8bztyKyspe2ZvcihpPTAsbj0wO248bDtuKyspKGE9cituKzEtZSk8LW8/YS09cypNYXRoLnJvdW5kKGEvcyk6YT49cyYmKGEtPXMqTWF0aC5mbG9vcihhL3MpKSxhPDA/YT0tMS1hOmE+PW8mJihhPXMtMS1hKSxpKz10W2FdKmNbbl07dVtyXT1pfXJldHVybiB1fSxsLnN5bmNPckFzeW5jPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbjtmdW5jdGlvbiBhKCl7cmV0dXJuIGwuc3luY09yQXN5bmModCxlLHIpfWZvcig7dC5sZW5ndGg7KWlmKChuPSgwLHQuc3BsaWNlKDAsMSlbMF0pKGUpKSYmbi50aGVuKXJldHVybiBuLnRoZW4oYSkudGhlbih2b2lkIDAsbC5wcm9taXNlRXJyb3IpO3JldHVybiByJiZyKGUpfSxsLnN0cmlwVHJhaWxpbmdTbGFzaD1mdW5jdGlvbih0KXtyZXR1cm4iLyI9PT10LnN1YnN0cigtMSk/dC5zdWJzdHIoMCx0Lmxlbmd0aC0xKTp0fSxsLm5vbmVPckFsbD1mdW5jdGlvbih0LGUscil7aWYodCl7dmFyIG4sYT0hMSxpPSEwO2ZvcihuPTA7bjxyLmxlbmd0aDtuKyspbnVsbCE9dFtyW25dXT9hPSEwOmk9ITE7aWYoYSYmIWkpZm9yKG49MDtuPHIubGVuZ3RoO24rKyl0W3Jbbl1dPWVbcltuXV19fSxsLm1lcmdlQXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ImZ1bmN0aW9uIj09dHlwZW9mIG47aWYobC5pc0FycmF5T3JUeXBlZEFycmF5KHQpKWZvcih2YXIgaT1NYXRoLm1pbih0Lmxlbmd0aCxlLmxlbmd0aCksbz0wO288aTtvKyspe3ZhciBzPXRbb107ZVtvXVtyXT1hP24ocyk6c319LGwubWVyZ2VBcnJheUNhc3RQb3NpdGl2ZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIGwubWVyZ2VBcnJheSh0LGUscixmdW5jdGlvbih0KXt2YXIgZT0rdDtyZXR1cm4gaXNGaW5pdGUoZSkmJmU+MD9lOjB9KX0sbC5maWxsQXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7aWYobj1ufHxsLmlkZW50aXR5LGwuaXNBcnJheU9yVHlwZWRBcnJheSh0KSlmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKyllW2FdW3JdPW4odFthXSl9LGwuY2FzdE9wdGlvbj1mdW5jdGlvbih0LGUscixuKXtuPW58fGwuaWRlbnRpdHk7dmFyIGE9bC5uZXN0ZWRQcm9wZXJ0eSh0LHIpLmdldCgpO3JldHVybiBsLmlzQXJyYXlPclR5cGVkQXJyYXkoYSk/QXJyYXkuaXNBcnJheShlKSYmbC5pc0FycmF5T3JUeXBlZEFycmF5KGFbZVswXV0pP24oYVtlWzBdXVtlWzFdXSk6bihhW2VdKTphfSxsLmV4dHJhY3RPcHRpb249ZnVuY3Rpb24odCxlLHIsbil7aWYociBpbiB0KXJldHVybiB0W3JdO3ZhciBhPWwubmVzdGVkUHJvcGVydHkoZSxuKS5nZXQoKTtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT92b2lkIDA6YX0sbC50YWdTZWxlY3RlZD1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxpPWUuc2VsZWN0ZWRwb2ludHMsbz1lLl9pbmRleFRvUG9pbnRzO28mJihuPVQobykpO2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2lmKGwuaXNJbmRleChjKXx8bC5pc0FycmF5T3JUeXBlZEFycmF5KGMpJiZsLmlzSW5kZXgoY1swXSkmJmwuaXNJbmRleChjWzFdKSl7dmFyIHU9bj9uW2NdOmMsaD1yP3JbdV06dTt2b2lkIDAhPT0oYT1oKSYmYTx0Lmxlbmd0aCYmKHRbaF0uc2VsZWN0ZWQ9MSl9fX0sbC5zZWxJbmRpY2VzMnNlbFBvaW50cz1mdW5jdGlvbih0KXt2YXIgZT10LnNlbGVjdGVkcG9pbnRzLHI9dC5faW5kZXhUb1BvaW50cztpZihyKXtmb3IodmFyIG49VChyKSxhPVtdLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIG89ZVtpXTtpZihsLmlzSW5kZXgobykpe3ZhciBzPW5bb107bC5pc0luZGV4KHMpJiZhLnB1c2gocyl9fXJldHVybiBhfXJldHVybiBlfSxsLmdldFRhcmdldEFycmF5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS50YXJnZXQ7aWYoInN0cmluZyI9PXR5cGVvZiByJiZyKXt2YXIgbj1sLm5lc3RlZFByb3BlcnR5KHQscikuZ2V0KCk7cmV0dXJuISFBcnJheS5pc0FycmF5KG4pJiZufXJldHVybiEhQXJyYXkuaXNBcnJheShyKSYmcn0sbC5taW5FeHRlbmQ9ZnVuY3Rpb24odCxlKXt2YXIgcj17fTsib2JqZWN0IiE9dHlwZW9mIGUmJihlPXt9KTt2YXIgbixhLGksbz1PYmplY3Qua2V5cyh0KTtmb3Iobj0wO248by5sZW5ndGg7bisrKWk9dFthPW9bbl1dLCJfIiE9PWEuY2hhckF0KDApJiYiZnVuY3Rpb24iIT10eXBlb2YgaSYmKCJtb2R1bGUiPT09YT9yW2FdPWk6QXJyYXkuaXNBcnJheShpKT9yW2FdPSJjb2xvcnNjYWxlIj09PWE/aS5zbGljZSgpOmkuc2xpY2UoMCwzKTpsLmlzVHlwZWRBcnJheShpKT9yW2FdPWkuc3ViYXJyYXkoMCwzKTpyW2FdPWkmJiJvYmplY3QiPT10eXBlb2YgaT9sLm1pbkV4dGVuZCh0W2FdLGVbYV0pOmkpO2ZvcihvPU9iamVjdC5rZXlzKGUpLG49MDtuPG8ubGVuZ3RoO24rKykib2JqZWN0Ij09dHlwZW9mKGk9ZVthPW9bbl1dKSYmYSBpbiByJiYib2JqZWN0Ij09dHlwZW9mIHJbYV18fChyW2FdPWkpO3JldHVybiByfSxsLnRpdGxlQ2FzZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKX0sbC5jb250YWluc0FueT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKC0xIT09dC5pbmRleE9mKGVbcl0pKXJldHVybiEwO3JldHVybiExfSxsLmlzSUU9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlQmxvYn07dmFyIE09L01TSUUgWzEtOV1cLi87bC5pc0lFOW9yQmVsb3c9ZnVuY3Rpb24oKXtyZXR1cm4gbC5pc0lFKCkmJk0udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCl9O3ZhciBBPS9WZXJzaW9uXC9bXGRcLl0rLipTYWZhcmkvO2wuaXNTYWZhcmk9ZnVuY3Rpb24oKXtyZXR1cm4gQS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KX0sbC5pc0QzU2VsZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5jbGFzc2VkfSxsLmVuc3VyZVNpbmdsZT1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10LnNlbGVjdChlKyhyPyIuIityOiIiKSk7aWYoYS5zaXplKCkpcmV0dXJuIGE7dmFyIGk9dC5hcHBlbmQoZSk7cmV0dXJuIHImJmkuY2xhc3NlZChyLCEwKSxuJiZpLmNhbGwobiksaX0sbC5lbnN1cmVTaW5nbGVCeUlkPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXQuc2VsZWN0KGUrIiMiK3IpO2lmKGEuc2l6ZSgpKXJldHVybiBhO3ZhciBpPXQuYXBwZW5kKGUpLmF0dHIoImlkIixyKTtyZXR1cm4gbiYmaS5jYWxsKG4pLGl9LGwub2JqZWN0RnJvbVBhdGg9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbj10LnNwbGl0KCIuIiksYT1yPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIG89bltpXSxzPW51bGwsbD1uW2ldLm1hdGNoKC8oLiopXFsoWzAtOV0rKVxdLyk7bD8obz1sWzFdLHM9bFsyXSxyPXJbb109W10saT09PW4ubGVuZ3RoLTE/cltzXT1lOnJbc109e30scj1yW3NdKTooaT09PW4ubGVuZ3RoLTE/cltvXT1lOnJbb109e30scj1yW29dKX1yZXR1cm4gYX07dmFyIFM9L14oW15cW1wuXSspXC4oLispPy8sRT0vXihbXlwuXSspXFsoWzAtOV0rKVxdKFwuKT8oLispPy87bC5leHBhbmRPYmplY3RQYXRocz1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scztpZigib2JqZWN0Ij09dHlwZW9mIHQmJiFBcnJheS5pc0FycmF5KHQpKWZvcihyIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShyKSYmKChlPXIubWF0Y2goUykpPyhhPXRbcl0sbj1lWzFdLGRlbGV0ZSB0W3JdLHRbbl09bC5leHRlbmREZWVwTm9BcnJheXModFtuXXx8e30sbC5vYmplY3RGcm9tUGF0aChyLGwuZXhwYW5kT2JqZWN0UGF0aHMoYSkpW25dKSk6KGU9ci5tYXRjaChFKSk/KGE9dFtyXSxuPWVbMV0saT1wYXJzZUludChlWzJdKSxkZWxldGUgdFtyXSx0W25dPXRbbl18fFtdLCIuIj09PWVbM10/KHM9ZVs0XSxvPXRbbl1baV09dFtuXVtpXXx8e30sbC5leHRlbmREZWVwTm9BcnJheXMobyxsLm9iamVjdEZyb21QYXRoKHMsbC5leHBhbmRPYmplY3RQYXRocyhhKSkpKTp0W25dW2ldPWwuZXhwYW5kT2JqZWN0UGF0aHMoYSkpOnRbcl09bC5leHBhbmRPYmplY3RQYXRocyh0W3JdKSk7cmV0dXJuIHR9LGwubnVtU2VwYXJhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKHJ8fChyPSExKSwic3RyaW5nIiE9dHlwZW9mIGV8fDA9PT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlNlcGFyYXRvciBzdHJpbmcgcmVxdWlyZWQgZm9yIGZvcm1hdHRpbmchIik7Im51bWJlciI9PXR5cGVvZiB0JiYodD1TdHJpbmcodCkpO3ZhciBuPS8oXGQrKShcZHszfSkvLGE9ZS5jaGFyQXQoMCksaT1lLmNoYXJBdCgxKSxvPXQuc3BsaXQoIi4iKSxzPW9bMF0sbD1vLmxlbmd0aD4xP2Erb1sxXToiIjtpZihpJiYoby5sZW5ndGg+MXx8cy5sZW5ndGg+NHx8cikpZm9yKDtuLnRlc3Qocyk7KXM9cy5yZXBsYWNlKG4sIiQxIitpKyIkMiIpO3JldHVybiBzK2x9LGwuVEVNUExBVEVfU1RSSU5HX1JFR0VYPS8leyhbXlxzJXt9Ol0qKShbOnxcfF1bXn1dKik/fS9nO3ZhciBMPS9eXHcqJC87bC50ZW1wbGF0ZVN0cmluZz1mdW5jdGlvbih0LGUpe3ZhciByPXt9O3JldHVybiB0LnJlcGxhY2UobC5URU1QTEFURV9TVFJJTkdfUkVHRVgsZnVuY3Rpb24odCxuKXt2YXIgYTtyZXR1cm4gTC50ZXN0KG4pP2E9ZVtuXToocltuXT1yW25dfHxsLm5lc3RlZFByb3BlcnR5KGUsbikuZ2V0LGE9cltuXSgpKSxsLmlzVmFsaWRUZXh0VmFsdWUoYSk/YToiIn0pfTt2YXIgQz17bWF4OjEwLGNvdW50OjAsbmFtZToiaG92ZXJ0ZW1wbGF0ZSJ9O2wuaG92ZXJ0ZW1wbGF0ZVN0cmluZz1mdW5jdGlvbigpe3JldHVybiB6LmFwcGx5KEMsYXJndW1lbnRzKX07dmFyIFA9e21heDoxMCxjb3VudDowLG5hbWU6InRleHR0ZW1wbGF0ZSJ9O2wudGV4dHRlbXBsYXRlU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHouYXBwbHkoUCxhcmd1bWVudHMpfTt2YXIgTz0vXls6fFx8XS87ZnVuY3Rpb24geih0LGUscil7dmFyIGE9dGhpcyxpPWFyZ3VtZW50cztlfHwoZT17fSk7dmFyIG89e307cmV0dXJuIHQucmVwbGFjZShsLlRFTVBMQVRFX1NUUklOR19SRUdFWCxmdW5jdGlvbih0LHMsYyl7dmFyIHUsaCxmLHA7Zm9yKGY9MztmPGkubGVuZ3RoO2YrKylpZih1PWlbZl0pe2lmKHUuaGFzT3duUHJvcGVydHkocykpe2g9dVtzXTticmVha31pZihMLnRlc3Qocyl8fChoPW9bc118fGwubmVzdGVkUHJvcGVydHkodSxzKS5nZXQoKSkmJihvW3NdPWgpLHZvaWQgMCE9PWgpYnJlYWt9aWYodm9pZCAwPT09aCYmYSlyZXR1cm4gYS5jb3VudDxhLm1heCYmKGwud2FybigiVmFyaWFibGUgJyIrcysiJyBpbiAiK2EubmFtZSsiIGNvdWxkIG5vdCBiZSBmb3VuZCEiKSxoPXQpLGEuY291bnQ9PT1hLm1heCYmbC53YXJuKCJUb28gbWFueSAiK2EubmFtZSsiIHdhcm5pbmdzIC0gYWRkaXRpb25hbCB3YXJuaW5ncyB3aWxsIGJlIHN1cHByZXNzZWQiKSxhLmNvdW50KyssdDtpZihjKXtpZigiOiI9PT1jWzBdJiYoaD0ocD1yP3IubnVtYmVyRm9ybWF0Om4uZm9ybWF0KShjLnJlcGxhY2UoTywiIikpKGgpKSwifCI9PT1jWzBdKXtwPXI/ci50aW1lRm9ybWF0LnV0YzpuLnRpbWUuZm9ybWF0LnV0Yzt2YXIgZD1sLmRhdGVUaW1lMm1zKGgpO2g9bC5mb3JtYXREYXRlKGQsYy5yZXBsYWNlKE8sIiIpLCExLHApfX1lbHNlIGUuaGFzT3duUHJvcGVydHkocysiTGFiZWwiKSYmKGg9ZVtzKyJMYWJlbCJdKTtyZXR1cm4gaH0pfWwuc3VicGxvdFNvcnQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9TWF0aC5taW4odC5sZW5ndGgsZS5sZW5ndGgpKzEsbj0wLGE9MCxpPTA7aTxyO2krKyl7dmFyIG89dC5jaGFyQ29kZUF0KGkpfHwwLHM9ZS5jaGFyQ29kZUF0KGkpfHwwLGw9bz49NDgmJm88PTU3LGM9cz49NDgmJnM8PTU3O2lmKGwmJihuPTEwKm4rby00OCksYyYmKGE9MTAqYStzLTQ4KSwhbHx8IWMpe2lmKG4hPT1hKXJldHVybiBuLWE7aWYobyE9PXMpcmV0dXJuIG8tc319cmV0dXJuIGEtbn07dmFyIEk9MmU5O2wuc2VlZFBzZXVkb1JhbmRvbT1mdW5jdGlvbigpe0k9MmU5fSxsLnBzZXVkb1JhbmRvbT1mdW5jdGlvbigpe3ZhciB0PUk7cmV0dXJuIEk9KDY5MDY5KkkrMSklNDI5NDk2NzI5NixNYXRoLmFicyhJLXQpPDQyOTQ5NjcyOT9sLnBzZXVkb1JhbmRvbSgpOkkvNDI5NDk2NzI5Nn0sbC5maWxsVGV4dD1mdW5jdGlvbih0LGUscil7dmFyIG49QXJyYXkuaXNBcnJheShyKT9mdW5jdGlvbih0KXtyLnB1c2godCl9OmZ1bmN0aW9uKHQpe3IudGV4dD10fSxhPWwuZXh0cmFjdE9wdGlvbih0LGUsImh0eCIsImhvdmVydGV4dCIpO2lmKGwuaXNWYWxpZFRleHRWYWx1ZShhKSlyZXR1cm4gbihhKTt2YXIgaT1sLmV4dHJhY3RPcHRpb24odCxlLCJ0eCIsInRleHQiKTtyZXR1cm4gbC5pc1ZhbGlkVGV4dFZhbHVlKGkpP24oaSk6dm9pZCAwfSxsLmlzVmFsaWRUZXh0VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHR8fDA9PT10fSxsLmZvcm1hdFBlcmNlbnQ9ZnVuY3Rpb24odCxlKXtlPWV8fDA7Zm9yKHZhciByPShNYXRoLnJvdW5kKDEwMCp0Kk1hdGgucG93KDEwLGUpKSpNYXRoLnBvdyguMSxlKSkudG9GaXhlZChlKSsiJSIsbj0wO248ZTtuKyspLTEhPT1yLmluZGV4T2YoIi4iKSYmKHI9KHI9ci5yZXBsYWNlKCIwJSIsIiUiKSkucmVwbGFjZSgiLiUiLCIlIikpO3JldHVybiByfSxsLmlzSGlkZGVuPWZ1bmN0aW9uKHQpe3ZhciBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmRpc3BsYXk7cmV0dXJuIWV8fCJub25lIj09PWV9LGwuZ2V0VGV4dFRyYW5zZm9ybT1mdW5jdGlvbih0KXt2YXIgZT10Lm5vQ2VudGVyLHI9dC50ZXh0WCxuPXQudGV4dFksYT10LnRhcmdldFgsaT10LnRhcmdldFksbz10LmFuY2hvclh8fDAscz10LmFuY2hvcll8fDAsbD10LnJvdGF0ZSxjPXQuc2NhbGU7cmV0dXJuIGM/Yz4xJiYoYz0xKTpjPTAsInRyYW5zbGF0ZSgiKyhhLWMqKHIrbykpKyIsIisoaS1jKihuK3MpKSsiKSIrKGM8MT8ic2NhbGUoIitjKyIpIjoiIikrKGw/InJvdGF0ZSgiK2wrKGU/IiI6IiAiK3IrIiAiK24pKyIpIjoiIil9LGwuZW5zdXJlVW5pZm9ybUZvbnRTaXplPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bC5leHRlbmRGbGF0KHt9LGUpO3JldHVybiByLnNpemU9TWF0aC5tYXgoZS5zaXplLHQuX2Z1bGxMYXlvdXQudW5pZm9ybXRleHQubWluc2l6ZXx8MCkscn19LHsiLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuL2FuY2hvcl91dGlscyI6Njk4LCIuL2FuZ2xlcyI6Njk5LCIuL2FycmF5Ijo3MDAsIi4vY2xlYW5fbnVtYmVyIjo3MDEsIi4vY2xlYXJfcmVzcG9uc2l2ZSI6NzAzLCIuL2NvZXJjZSI6NzA0LCIuL2RhdGVzIjo3MDUsIi4vZG9tIjo3MDYsIi4vZXh0ZW5kIjo3MDgsIi4vZmlsdGVyX3VuaXF1ZSI6NzA5LCIuL2ZpbHRlcl92aXNpYmxlIjo3MTAsIi4vZ2VvbWV0cnkyZCI6NzEzLCIuL2lkZW50aXR5Ijo3MTYsIi4vaXNfcGxhaW5fb2JqZWN0Ijo3MTgsIi4va2V5ZWRfY29udGFpbmVyIjo3MTksIi4vbG9jYWxpemUiOjcyMCwiLi9sb2dnZXJzIjo3MjEsIi4vbWFrZV90cmFjZV9ncm91cHMiOjcyMiwiLi9tYXRyaXgiOjcyMywiLi9tb2QiOjcyNCwiLi9uZXN0ZWRfcHJvcGVydHkiOjcyNSwiLi9ub29wIjo3MjYsIi4vbm90aWZpZXIiOjcyNywiLi9wdXNoX3VuaXF1ZSI6NzMxLCIuL3JlZ2V4Ijo3MzMsIi4vcmVsYXRpdmVfYXR0ciI6NzM0LCIuL3JlbGlua19wcml2YXRlIjo3MzUsIi4vc2VhcmNoIjo3MzYsIi4vc3RhdHMiOjczOSwiLi90aHJvdHRsZSI6NzQyLCIuL3RvX2xvZ19yYW5nZSI6NzQzLGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDcxODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHdpbmRvdyYmd2luZG93LnByb2Nlc3MmJndpbmRvdy5wcm9jZXNzLnZlcnNpb25zPyJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpOiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1PYmplY3QucHJvdG90eXBlfX0se31dLDcxOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL25lc3RlZF9wcm9wZXJ0eSIpLGE9L15cdyokLztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG8scyxsO3I9cnx8Im5hbWUiLGk9aXx8InZhbHVlIjt2YXIgYz17fTtlJiZlLmxlbmd0aD8obD1uKHQsZSkscz1sLmdldCgpKTpzPXQsZT1lfHwiIjt2YXIgdT17fTtpZihzKWZvcihvPTA7bzxzLmxlbmd0aDtvKyspdVtzW29dW3JdXT1vO3ZhciBoPWEudGVzdChpKSxmPXtzZXQ6ZnVuY3Rpb24odCxlKXt2YXIgYT1udWxsPT09ZT80OjA7aWYoIXMpe2lmKCFsfHw0PT09YSlyZXR1cm47cz1bXSxsLnNldChzKX12YXIgbz11W3RdO2lmKHZvaWQgMD09PW8pe2lmKDQ9PT1hKXJldHVybjthfD0zLG89cy5sZW5ndGgsdVt0XT1vfWVsc2UgZSE9PShoP3Nbb11baV06bihzW29dLGkpLmdldCgpKSYmKGF8PTIpO3ZhciBwPXNbb109c1tvXXx8e307cmV0dXJuIHBbcl09dCxoP3BbaV09ZTpuKHAsaSkuc2V0KGUpLG51bGwhPT1lJiYoYSY9LTUpLGNbb109Y1tvXXxhLGZ9LGdldDpmdW5jdGlvbih0KXtpZihzKXt2YXIgZT11W3RdO3JldHVybiB2b2lkIDA9PT1lP3ZvaWQgMDpoP3NbZV1baV06bihzW2VdLGkpLmdldCgpfX0scmVuYW1lOmZ1bmN0aW9uKHQsZSl7dmFyIG49dVt0XTtyZXR1cm4gdm9pZCAwPT09bj9mOihjW25dPTF8Y1tuXSx1W2VdPW4sZGVsZXRlIHVbdF0sc1tuXVtyXT1lLGYpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dVt0XTtpZih2b2lkIDA9PT1lKXJldHVybiBmO3ZhciBhPXNbZV07aWYoT2JqZWN0LmtleXMoYSkubGVuZ3RoPjIpcmV0dXJuIGNbZV09MnxjW2VdLGYuc2V0KHQsbnVsbCk7aWYoaCl7Zm9yKG89ZTtvPHMubGVuZ3RoO28rKyljW29dPTN8Y1tvXTtmb3Iobz1lO288cy5sZW5ndGg7bysrKXVbc1tvXVtyXV0tLTtzLnNwbGljZShlLDEpLGRlbGV0ZSB1W3RdfWVsc2UgbihhLGkpLnNldChudWxsKSxjW2VdPTZ8Y1tlXTtyZXR1cm4gZn0sY29uc3RydWN0VXBkYXRlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0LGEsbz17fSxsPU9iamVjdC5rZXlzKGMpLHU9MDt1PGwubGVuZ3RoO3UrKylhPWxbdV0sdD1lKyJbIithKyJdIixzW2FdPygxJmNbYV0mJihvW3QrIi4iK3JdPXNbYV1bcl0pLDImY1thXSYmKG9bdCsiLiIraV09aD80JmNbYV0/bnVsbDpzW2FdW2ldOjQmY1thXT9udWxsOm4oc1thXSxpKS5nZXQoKSkpOm9bdF09bnVsbDtyZXR1cm4gb319O3JldHVybiBmfX0seyIuL25lc3RlZF9wcm9wZXJ0eSI6NzI1fV0sNzIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3JlZ2lzdHJ5Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuX2NvbnRleHQubG9jYWxlLGE9MDthPDI7YSsrKXtmb3IodmFyIGk9dC5fY29udGV4dC5sb2NhbGVzLG89MDtvPDI7bysrKXt2YXIgcz0oaVtyXXx8e30pLmRpY3Rpb25hcnk7aWYocyl7dmFyIGw9c1tlXTtpZihsKXJldHVybiBsfWk9bi5sb2NhbGVSZWdpc3RyeX12YXIgYz1yLnNwbGl0KCItIilbMF07aWYoYz09PXIpYnJlYWs7cj1jfXJldHVybiBlfX0seyIuLi9yZWdpc3RyeSI6ODQ2fV0sNzIxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3Bsb3RfYXBpL3Bsb3RfY29uZmlnIikuZGZsdENvbmZpZyxhPXQoIi4vbm90aWZpZXIiKSxpPWUuZXhwb3J0cz17fTtmdW5jdGlvbiBvKHQsZSl7aWYodCYmdC5hcHBseSl0cnl7cmV0dXJuIHZvaWQgdC5hcHBseShjb25zb2xlLGUpfWNhdGNoKHQpe31mb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl0cnl7dChlW3JdKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhlW3JdKX19aS5sb2c9ZnVuY3Rpb24oKXt2YXIgdDtpZihuLmxvZ2dpbmc+MSl7dmFyIGU9WyJMT0c6Il07Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWUucHVzaChhcmd1bWVudHNbdF0pO28oY29uc29sZS50cmFjZXx8Y29uc29sZS5sb2csZSl9aWYobi5ub3RpZnlPbkxvZ2dpbmc+MSl7dmFyIHI9W107Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXIucHVzaChhcmd1bWVudHNbdF0pO2Eoci5qb2luKCI8YnI+IiksImxvbmciKX19LGkud2Fybj1mdW5jdGlvbigpe3ZhciB0O2lmKG4ubG9nZ2luZz4wKXt2YXIgZT1bIldBUk46Il07Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWUucHVzaChhcmd1bWVudHNbdF0pO28oY29uc29sZS50cmFjZXx8Y29uc29sZS5sb2csZSl9aWYobi5ub3RpZnlPbkxvZ2dpbmc+MCl7dmFyIHI9W107Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXIucHVzaChhcmd1bWVudHNbdF0pO2Eoci5qb2luKCI8YnI+IiksInN0aWNrIil9fSxpLmVycm9yPWZ1bmN0aW9uKCl7dmFyIHQ7aWYobi5sb2dnaW5nPjApe3ZhciBlPVsiRVJST1I6Il07Zm9yKHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWUucHVzaChhcmd1bWVudHNbdF0pO28oY29uc29sZS5lcnJvcixlKX1pZihuLm5vdGlmeU9uTG9nZ2luZz4wKXt2YXIgcj1bXTtmb3IodD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspci5wdXNoKGFyZ3VtZW50c1t0XSk7YShyLmpvaW4oIjxicj4iKSwic3RpY2siKX19fSx7Ii4uL3Bsb3RfYXBpL3Bsb3RfY29uZmlnIjo3NTMsIi4vbm90aWZpZXIiOjcyN31dLDcyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGE9dC5zZWxlY3RBbGwoImcuIityLnJlcGxhY2UoL1xzL2csIi4iKSkuZGF0YShlLGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdLnRyYWNlLnVpZH0pO2EuZXhpdCgpLnJlbW92ZSgpLGEuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsciksYS5vcmRlcigpO3ZhciBpPXQuY2xhc3NlZCgicmFuZ2VwbG90Iik/Im5vZGVSYW5nZVBsb3QzIjoibm9kZTMiO3JldHVybiBhLmVhY2goZnVuY3Rpb24odCl7dFswXVtpXT1uLnNlbGVjdCh0aGlzKX0pLGF9fSx7ZDM6MTY1fV0sNzIzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuaW5pdDJkQXJyYXk9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKXJbbl09bmV3IEFycmF5KGUpO3JldHVybiByfSxyLnRyYW5zcG9zZVJhZ2dlZD1mdW5jdGlvbih0KXt2YXIgZSxyLG49MCxhPXQubGVuZ3RoO2ZvcihlPTA7ZTxhO2UrKyluPU1hdGgubWF4KG4sdFtlXS5sZW5ndGgpO3ZhciBpPW5ldyBBcnJheShuKTtmb3IoZT0wO2U8bjtlKyspZm9yKGlbZV09bmV3IEFycmF5KGEpLHI9MDtyPGE7cisrKWlbZV1bcl09dFtyXVtlXTtyZXR1cm4gaX0sci5kb3Q9ZnVuY3Rpb24odCxlKXtpZighdC5sZW5ndGh8fCFlLmxlbmd0aHx8dC5sZW5ndGghPT1lLmxlbmd0aClyZXR1cm4gbnVsbDt2YXIgbixhLGk9dC5sZW5ndGg7aWYodFswXS5sZW5ndGgpZm9yKG49bmV3IEFycmF5KGkpLGE9MDthPGk7YSsrKW5bYV09ci5kb3QodFthXSxlKTtlbHNlIGlmKGVbMF0ubGVuZ3RoKXt2YXIgbz1yLnRyYW5zcG9zZVJhZ2dlZChlKTtmb3Iobj1uZXcgQXJyYXkoby5sZW5ndGgpLGE9MDthPG8ubGVuZ3RoO2ErKyluW2FdPXIuZG90KHQsb1thXSl9ZWxzZSBmb3Iobj0wLGE9MDthPGk7YSsrKW4rPXRbYV0qZVthXTtyZXR1cm4gbn0sci50cmFuc2xhdGlvbk1hdHJpeD1mdW5jdGlvbih0LGUpe3JldHVybltbMSwwLHRdLFswLDEsZV0sWzAsMCwxXV19LHIucm90YXRpb25NYXRyaXg9ZnVuY3Rpb24odCl7dmFyIGU9dCpNYXRoLlBJLzE4MDtyZXR1cm5bW01hdGguY29zKGUpLC1NYXRoLnNpbihlKSwwXSxbTWF0aC5zaW4oZSksTWF0aC5jb3MoZSksMF0sWzAsMCwxXV19LHIucm90YXRpb25YWU1hdHJpeD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHIuZG90KHIuZG90KHIudHJhbnNsYXRpb25NYXRyaXgoZSxuKSxyLnJvdGF0aW9uTWF0cml4KHQpKSxyLnRyYW5zbGF0aW9uTWF0cml4KC1lLC1uKSl9LHIuYXBwbHkyRFRyYW5zZm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHM7Mz09PWUubGVuZ3RoJiYoZT1lWzBdKTt2YXIgbj0xPT09YXJndW1lbnRzLmxlbmd0aD9lWzBdOltlWzBdLGVbMV1dO3JldHVybiByLmRvdCh0LFtuWzBdLG5bMV0sMV0pLnNsaWNlKDAsMil9fSxyLmFwcGx5MkRUcmFuc2Zvcm0yPWZ1bmN0aW9uKHQpe3ZhciBlPXIuYXBwbHkyRFRyYW5zZm9ybSh0KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUodC5zbGljZSgwLDIpKS5jb25jYXQoZSh0LnNsaWNlKDIsNCkpKX19fSx7fV0sNzI0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bW9kOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dCVlO3JldHVybiByPDA/citlOnJ9LG1vZEhhbGY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5hYnModCk+ZS8yP3QtTWF0aC5yb3VuZCh0L2UpKmU6dH19fSx7fV0sNzI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuL2FycmF5IikuaXNBcnJheU9yVHlwZWRBcnJheTtmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHIsbixvLHMsbCxjPXQ7Zm9yKHM9MDtzPGUubGVuZ3RoLTE7cysrKXtpZigtMT09PShyPWVbc10pKXtmb3Iobj0hMCxvPVtdLGw9MDtsPGMubGVuZ3RoO2wrKylvW2xdPWkoY1tsXSxlLnNsaWNlKHMrMSkpKCksb1tsXSE9PW9bMF0mJihuPSExKTtyZXR1cm4gbj9vWzBdOm99aWYoIm51bWJlciI9PXR5cGVvZiByJiYhYShjKSlyZXR1cm47aWYoIm9iamVjdCIhPXR5cGVvZihjPWNbcl0pfHxudWxsPT09YylyZXR1cm59aWYoIm9iamVjdCI9PXR5cGVvZiBjJiZudWxsIT09YyYmbnVsbCE9PShvPWNbZVtzXV0pKXJldHVybiBvfX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihuKGUpKWU9U3RyaW5nKGUpO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiBlfHwiWy0xXSI9PT1lLnN1YnN0cihlLmxlbmd0aC00KSl0aHJvdyJiYWQgcHJvcGVydHkgc3RyaW5nIjtmb3IodmFyIHIsYSxvLHM9MCxjPWUuc3BsaXQoIi4iKTtzPGMubGVuZ3RoOyl7aWYocj1TdHJpbmcoY1tzXSkubWF0Y2goL14oW15cW1xdXSopKChcW1wtP1swLTldKlxdKSspJC8pKXtpZihyWzFdKWNbc109clsxXTtlbHNle2lmKDAhPT1zKXRocm93ImJhZCBwcm9wZXJ0eSBzdHJpbmciO2Muc3BsaWNlKDAsMSl9Zm9yKGE9clsyXS5zdWJzdHIoMSxyWzJdLmxlbmd0aC0yKS5zcGxpdCgiXVsiKSxvPTA7bzxhLmxlbmd0aDtvKyspcysrLGMuc3BsaWNlKHMsMCxOdW1iZXIoYVtvXSkpfXMrK31yZXR1cm4ib2JqZWN0IiE9dHlwZW9mIHQ/ZnVuY3Rpb24odCxlLHIpe3JldHVybntzZXQ6ZnVuY3Rpb24oKXt0aHJvdyJiYWQgY29udGFpbmVyIn0sZ2V0OmZ1bmN0aW9uKCl7fSxhc3RyOmUscGFydHM6cixvYmo6dH19KHQsZSxjKTp7c2V0OmwodCxjLGUpLGdldDppKHQsYyksYXN0cjplLHBhcnRzOmMsb2JqOnR9fTt2YXIgbz0vKF58XC4pYXJnc1xbLztmdW5jdGlvbiBzKHQsZSl7cmV0dXJuIHZvaWQgMD09PXR8fG51bGw9PT10JiYhZS5tYXRjaChvKX1mdW5jdGlvbiBsKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGksbyxsPXQsZj0iIixwPVtbdCxmXV0sZD1zKG4scik7Zm9yKG89MDtvPGUubGVuZ3RoLTE7bysrKXtpZigibnVtYmVyIj09dHlwZW9mKGk9ZVtvXSkmJiFhKGwpKXRocm93ImFycmF5IGluZGV4IGJ1dCBjb250YWluZXIgaXMgbm90IGFuIGFycmF5IjtpZigtMT09PWkpe2lmKGQ9IXUobCxlLnNsaWNlKG8rMSksbixyKSlicmVhaztyZXR1cm59aWYoIWgobCxpLGVbbysxXSxkKSlicmVhaztpZigib2JqZWN0IiE9dHlwZW9mKGw9bFtpXSl8fG51bGw9PT1sKXRocm93ImNvbnRhaW5lciBpcyBub3QgYW4gb2JqZWN0IjtmPWMoZixpKSxwLnB1c2goW2wsZl0pfWlmKGQpe2lmKG89PT1lLmxlbmd0aC0xJiYoZGVsZXRlIGxbZVtvXV0sQXJyYXkuaXNBcnJheShsKSYmK2Vbb109PWwubGVuZ3RoLTEpKWZvcig7bC5sZW5ndGgmJnZvaWQgMD09PWxbbC5sZW5ndGgtMV07KWwucG9wKCl9ZWxzZSBsW2Vbb11dPW59fWZ1bmN0aW9uIGModCxlKXt2YXIgcj1lO3JldHVybiBuKGUpP3I9IlsiK2UrIl0iOnQmJihyPSIuIitlKSx0K3J9ZnVuY3Rpb24gdSh0LGUscixuKXt2YXIgaSxvPWEociksYz0hMCx1PXIsZj1uLnJlcGxhY2UoIi0xIiwwKSxwPSFvJiZzKHIsZiksZD1lWzBdO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspZj1uLnJlcGxhY2UoIi0xIixpKSxvJiYocD1zKHU9cltpJXIubGVuZ3RoXSxmKSkscCYmKGM9ITEpLGgodCxpLGQscCkmJmwodFtpXSxlLG4ucmVwbGFjZSgiLTEiLGkpKSh1KTtyZXR1cm4gY31mdW5jdGlvbiBoKHQsZSxyLG4pe2lmKHZvaWQgMD09PXRbZV0pe2lmKG4pcmV0dXJuITE7dFtlXT0ibnVtYmVyIj09dHlwZW9mIHI/W106e319cmV0dXJuITB9fSx7Ii4vYXJyYXkiOjcwMCwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDcyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt9fSx7fV0sNzI3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9W107ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoLTE9PT1pLmluZGV4T2YodCkpe2kucHVzaCh0KTt2YXIgcj0xZTM7YShlKT9yPWU6ImxvbmciPT09ZSYmKHI9M2UzKTt2YXIgbz1uLnNlbGVjdCgiYm9keSIpLnNlbGVjdEFsbCgiLnBsb3RseS1ub3RpZmllciIpLmRhdGEoWzBdKTtvLmVudGVyKCkuYXBwZW5kKCJkaXYiKS5jbGFzc2VkKCJwbG90bHktbm90aWZpZXIiLCEwKSxvLnNlbGVjdEFsbCgiLm5vdGlmaWVyLW5vdGUiKS5kYXRhKGkpLmVudGVyKCkuYXBwZW5kKCJkaXYiKS5jbGFzc2VkKCJub3RpZmllci1ub3RlIiwhMCkuc3R5bGUoIm9wYWNpdHkiLDApLmVhY2goZnVuY3Rpb24odCl7dmFyIGE9bi5zZWxlY3QodGhpcyk7YS5hcHBlbmQoImJ1dHRvbiIpLmNsYXNzZWQoIm5vdGlmaWVyLWNsb3NlIiwhMCkuaHRtbCgiJnRpbWVzOyIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXthLnRyYW5zaXRpb24oKS5jYWxsKHMpfSk7Zm9yKHZhciBpPWEuYXBwZW5kKCJwIiksbz10LnNwbGl0KC88YnJccypcLz8+L2cpLGw9MDtsPG8ubGVuZ3RoO2wrKylsJiZpLmFwcGVuZCgiYnIiKSxpLmFwcGVuZCgic3BhbiIpLnRleHQob1tsXSk7InN0aWNrIj09PWU/YS50cmFuc2l0aW9uKCkuZHVyYXRpb24oMzUwKS5zdHlsZSgib3BhY2l0eSIsMSk6YS50cmFuc2l0aW9uKCkuZHVyYXRpb24oNzAwKS5zdHlsZSgib3BhY2l0eSIsMSkudHJhbnNpdGlvbigpLmRlbGF5KHIpLmNhbGwocyl9KX1mdW5jdGlvbiBzKHQpe3QuZHVyYXRpb24oNzAwKS5zdHlsZSgib3BhY2l0eSIsMCkuZWFjaCgiZW5kIixmdW5jdGlvbih0KXt2YXIgZT1pLmluZGV4T2YodCk7LTEhPT1lJiZpLnNwbGljZShlLDEpLG4uc2VsZWN0KHRoaXMpLnJlbW92ZSgpfSl9fX0se2QzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDcyODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL3NldGN1cnNvciIpLGE9ImRhdGEtc2F2ZWRjdXJzb3IiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuYXR0cihhKTtpZihlKXtpZighcil7Zm9yKHZhciBpPSh0LmF0dHIoImNsYXNzIil8fCIiKS5zcGxpdCgiICIpLG89MDtvPGkubGVuZ3RoO28rKyl7dmFyIHM9aVtvXTswPT09cy5pbmRleE9mKCJjdXJzb3ItIikmJnQuYXR0cihhLHMuc3Vic3RyKDcpKS5jbGFzc2VkKHMsITEpfXQuYXR0cihhKXx8dC5hdHRyKGEsIiEhIil9bih0LGUpfWVsc2UgciYmKHQuYXR0cihhLG51bGwpLCIhISI9PT1yP24odCk6bih0LHIpKX19LHsiLi9zZXRjdXJzb3IiOjczN31dLDcyOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL21hdHJpeCIpLmRvdCxhPXQoIi4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU0saT1lLmV4cG9ydHM9e307aS50ZXN0ZXI9ZnVuY3Rpb24odCl7dmFyIGUscj10LnNsaWNlKCksbj1yWzBdWzBdLGk9bixvPXJbMF1bMV0scz1vO2ZvcihyLnB1c2goclswXSksZT0xO2U8ci5sZW5ndGg7ZSsrKW49TWF0aC5taW4obixyW2VdWzBdKSxpPU1hdGgubWF4KGkscltlXVswXSksbz1NYXRoLm1pbihvLHJbZV1bMV0pLHM9TWF0aC5tYXgocyxyW2VdWzFdKTt2YXIgbCxjPSExOzU9PT1yLmxlbmd0aCYmKHJbMF1bMF09PT1yWzFdWzBdP3JbMl1bMF09PT1yWzNdWzBdJiZyWzBdWzFdPT09clszXVsxXSYmclsxXVsxXT09PXJbMl1bMV0mJihjPSEwLGw9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMF09PT1yWzBdWzBdfSk6clswXVsxXT09PXJbMV1bMV0mJnJbMl1bMV09PT1yWzNdWzFdJiZyWzBdWzBdPT09clszXVswXSYmclsxXVswXT09PXJbMl1bMF0mJihjPSEwLGw9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV09PT1yWzBdWzFdfSkpO3ZhciB1PSEwLGg9clswXTtmb3IoZT0xO2U8ci5sZW5ndGg7ZSsrKWlmKGhbMF0hPT1yW2VdWzBdfHxoWzFdIT09cltlXVsxXSl7dT0hMTticmVha31yZXR1cm57eG1pbjpuLHhtYXg6aSx5bWluOm8seW1heDpzLHB0czpyLGNvbnRhaW5zOmM/ZnVuY3Rpb24odCxlKXt2YXIgcj10WzBdLGM9dFsxXTtyZXR1cm4hKHI9PT1hfHxyPG58fHI+aXx8Yz09PWF8fGM8b3x8Yz5zfHxlJiZsKHQpKX06ZnVuY3Rpb24odCxlKXt2YXIgbD10WzBdLGM9dFsxXTtpZihsPT09YXx8bDxufHxsPml8fGM9PT1hfHxjPG98fGM+cylyZXR1cm4hMTt2YXIgdSxoLGYscCxkLGc9ci5sZW5ndGgsdj1yWzBdWzBdLG09clswXVsxXSx5PTA7Zm9yKHU9MTt1PGc7dSsrKWlmKGg9dixmPW0sdj1yW3VdWzBdLG09clt1XVsxXSwhKGw8KHA9TWF0aC5taW4oaCx2KSl8fGw+TWF0aC5tYXgoaCx2KXx8Yz5NYXRoLm1heChmLG0pKSlpZihjPE1hdGgubWluKGYsbSkpbCE9PXAmJnkrKztlbHNle2lmKGM9PT0oZD12PT09aD9jOmYrKGwtaCkqKG0tZikvKHYtaCkpKXJldHVybiAxIT09dXx8IWU7Yzw9ZCYmbCE9PXAmJnkrK31yZXR1cm4geSUyPT0xfSxpc1JlY3Q6YyxkZWdlbmVyYXRlOnV9fSxpLmlzU2VnbWVudEJlbnQ9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGksbyxzLGw9dFtlXSxjPVt0W3JdWzBdLWxbMF0sdFtyXVsxXS1sWzFdXSx1PW4oYyxjKSxoPU1hdGguc3FydCh1KSxmPVstY1sxXS9oLGNbMF0vaF07Zm9yKGk9ZSsxO2k8cjtpKyspaWYobz1bdFtpXVswXS1sWzBdLHRbaV1bMV0tbFsxXV0sKHM9bihvLGMpKTwwfHxzPnV8fE1hdGguYWJzKG4obyxmKSk+YSlyZXR1cm4hMDtyZXR1cm4hMX0saS5maWx0ZXI9ZnVuY3Rpb24odCxlKXt2YXIgcj1bdFswXV0sbj0wLGE9MDtmdW5jdGlvbiBvKG8pe3QucHVzaChvKTt2YXIgcz1yLmxlbmd0aCxsPW47ci5zcGxpY2UoYSsxKTtmb3IodmFyIGM9bCsxO2M8dC5sZW5ndGg7YysrKShjPT09dC5sZW5ndGgtMXx8aS5pc1NlZ21lbnRCZW50KHQsbCxjKzEsZSkpJiYoci5wdXNoKHRbY10pLHIubGVuZ3RoPHMtMiYmKG49YyxhPXIubGVuZ3RoLTEpLGw9Yyl9dC5sZW5ndGg+MSYmbyh0LnBvcCgpKTtyZXR1cm57YWRkUHQ6byxyYXc6dCxmaWx0ZXJlZDpyfX19LHsiLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuL21hdHJpeCI6NzIzfV0sNzMwOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL3Nob3dfbm9fd2ViZ2xfbXNnIiksYT10KCJyZWdsIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5fZnVsbExheW91dCxvPSEwO3JldHVybiBpLl9nbGNhbnZhcy5lYWNoKGZ1bmN0aW9uKG4pe2lmKCFuLnJlZ2wmJighbi5waWNrfHxpLl9oYXMoInBhcmNvb3JkcyIpKSl7dHJ5e24ucmVnbD1hKHtjYW52YXM6dGhpcyxhdHRyaWJ1dGVzOnthbnRpYWxpYXM6IW4ucGljayxwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6ITB9LHBpeGVsUmF0aW86dC5fY29udGV4dC5wbG90R2xQaXhlbFJhdGlvfHxyLmRldmljZVBpeGVsUmF0aW8sZXh0ZW5zaW9uczplfHxbXX0pfWNhdGNoKHQpe289ITF9byYmdGhpcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IixmdW5jdGlvbihlKXt0JiZ0LmVtaXQmJnQuZW1pdCgicGxvdGx5X3dlYmdsY29udGV4dGxvc3QiLHtldmVudDplLGxheWVyOm4ua2V5fSl9LCExKX19KSxvfHxuKHtjb250YWluZXI6aS5fZ2xjb250YWluZXIubm9kZSgpfSksb319KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9zaG93X25vX3dlYmdsX21zZyI6NzM4LHJlZ2w6NTAxfV0sNzMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGUgaW5zdGFuY2VvZiBSZWdFeHApe2Zvcih2YXIgcj1lLnRvU3RyaW5nKCksbj0wO248dC5sZW5ndGg7bisrKWlmKHRbbl1pbnN0YW5jZW9mIFJlZ0V4cCYmdFtuXS50b1N0cmluZygpPT09cilyZXR1cm4gdDt0LnB1c2goZSl9ZWxzZSFlJiYwIT09ZXx8LTEhPT10LmluZGV4T2YoZSl8fHQucHVzaChlKTtyZXR1cm4gdH19LHt9XSw3MzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vbGliIiksYT10KCIuLi9wbG90X2FwaS9wbG90X2NvbmZpZyIpLmRmbHRDb25maWc7dmFyIGk9e2FkZDpmdW5jdGlvbih0LGUscixuLGkpe3ZhciBvLHM7dC51bmRvUXVldWU9dC51bmRvUXVldWV8fHtpbmRleDowLHF1ZXVlOltdLHNlcXVlbmNlOiExfSxzPXQudW5kb1F1ZXVlLmluZGV4LHQuYXV0b3BsYXk/dC51bmRvUXVldWUuaW5TZXF1ZW5jZXx8KHQuYXV0b3BsYXk9ITEpOighdC51bmRvUXVldWUuc2VxdWVuY2V8fHQudW5kb1F1ZXVlLmJlZ2luU2VxdWVuY2U/KG89e3VuZG86e2NhbGxzOltdLGFyZ3M6W119LHJlZG86e2NhbGxzOltdLGFyZ3M6W119fSx0LnVuZG9RdWV1ZS5xdWV1ZS5zcGxpY2Uocyx0LnVuZG9RdWV1ZS5xdWV1ZS5sZW5ndGgtcyxvKSx0LnVuZG9RdWV1ZS5pbmRleCs9MSk6bz10LnVuZG9RdWV1ZS5xdWV1ZVtzLTFdLHQudW5kb1F1ZXVlLmJlZ2luU2VxdWVuY2U9ITEsbyYmKG8udW5kby5jYWxscy51bnNoaWZ0KGUpLG8udW5kby5hcmdzLnVuc2hpZnQociksby5yZWRvLmNhbGxzLnB1c2gobiksby5yZWRvLmFyZ3MucHVzaChpKSksdC51bmRvUXVldWUucXVldWUubGVuZ3RoPmEucXVldWVMZW5ndGgmJih0LnVuZG9RdWV1ZS5xdWV1ZS5zaGlmdCgpLHQudW5kb1F1ZXVlLmluZGV4LS0pKX0sc3RhcnRTZXF1ZW5jZTpmdW5jdGlvbih0KXt0LnVuZG9RdWV1ZT10LnVuZG9RdWV1ZXx8e2luZGV4OjAscXVldWU6W10sc2VxdWVuY2U6ITF9LHQudW5kb1F1ZXVlLnNlcXVlbmNlPSEwLHQudW5kb1F1ZXVlLmJlZ2luU2VxdWVuY2U9ITB9LHN0b3BTZXF1ZW5jZTpmdW5jdGlvbih0KXt0LnVuZG9RdWV1ZT10LnVuZG9RdWV1ZXx8e2luZGV4OjAscXVldWU6W10sc2VxdWVuY2U6ITF9LHQudW5kb1F1ZXVlLnNlcXVlbmNlPSExLHQudW5kb1F1ZXVlLmJlZ2luU2VxdWVuY2U9ITF9LHVuZG86ZnVuY3Rpb24odCl7dmFyIGUscjtpZih0LmZyYW1ld29yayYmdC5mcmFtZXdvcmsuaXNQb2xhcil0LmZyYW1ld29yay51bmRvKCk7ZWxzZSBpZighKHZvaWQgMD09PXQudW5kb1F1ZXVlfHxpc05hTih0LnVuZG9RdWV1ZS5pbmRleCl8fHQudW5kb1F1ZXVlLmluZGV4PD0wKSl7Zm9yKHQudW5kb1F1ZXVlLmluZGV4LS0sZT10LnVuZG9RdWV1ZS5xdWV1ZVt0LnVuZG9RdWV1ZS5pbmRleF0sdC51bmRvUXVldWUuaW5TZXF1ZW5jZT0hMCxyPTA7cjxlLnVuZG8uY2FsbHMubGVuZ3RoO3IrKylpLnBsb3REbyh0LGUudW5kby5jYWxsc1tyXSxlLnVuZG8uYXJnc1tyXSk7dC51bmRvUXVldWUuaW5TZXF1ZW5jZT0hMSx0LmF1dG9wbGF5PSExfX0scmVkbzpmdW5jdGlvbih0KXt2YXIgZSxyO2lmKHQuZnJhbWV3b3JrJiZ0LmZyYW1ld29yay5pc1BvbGFyKXQuZnJhbWV3b3JrLnJlZG8oKTtlbHNlIGlmKCEodm9pZCAwPT09dC51bmRvUXVldWV8fGlzTmFOKHQudW5kb1F1ZXVlLmluZGV4KXx8dC51bmRvUXVldWUuaW5kZXg+PXQudW5kb1F1ZXVlLnF1ZXVlLmxlbmd0aCkpe2ZvcihlPXQudW5kb1F1ZXVlLnF1ZXVlW3QudW5kb1F1ZXVlLmluZGV4XSx0LnVuZG9RdWV1ZS5pblNlcXVlbmNlPSEwLHI9MDtyPGUucmVkby5jYWxscy5sZW5ndGg7cisrKWkucGxvdERvKHQsZS5yZWRvLmNhbGxzW3JdLGUucmVkby5hcmdzW3JdKTt0LnVuZG9RdWV1ZS5pblNlcXVlbmNlPSExLHQuYXV0b3BsYXk9ITEsdC51bmRvUXVldWUuaW5kZXgrK319fTtpLnBsb3REbz1mdW5jdGlvbih0LGUscil7dC5hdXRvcGxheT0hMCxyPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLGE9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXI9ZVtpXSxhW2ldPXI9PT10P3I6Im9iamVjdCI9PXR5cGVvZiByP0FycmF5LmlzQXJyYXkocik/bi5leHRlbmREZWVwKFtdLHIpOm4uZXh0ZW5kRGVlcEFsbCh7fSxyKTpyO3JldHVybiBhfSh0LHIpLGUuYXBwbHkobnVsbCxyKX0sZS5leHBvcnRzPWl9LHsiLi4vbGliIjo3MTcsIi4uL3Bsb3RfYXBpL3Bsb3RfY29uZmlnIjo3NTN9XSw3MzM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5jb3VudGVyPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPShlfHwiIikrKHI/IiI6IiQiKSxpPSExPT09bj8iIjoiXiI7cmV0dXJuInh5Ij09PXQ/bmV3IFJlZ0V4cChpKyJ4KFsyLTldfFsxLTldWzAtOV0rKT95KFsyLTldfFsxLTldWzAtOV0rKT8iK2EpOm5ldyBSZWdFeHAoaSt0KyIoWzItOV18WzEtOV1bMC05XSspPyIrYSl9fSx7fV0sNzM0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPS9eKC4qKShcLlteXC5cW1xdXSt8XFtcZFxdKSQvLGE9L15bXlwuXFtcXV0rJC87ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKDtlOyl7dmFyIHI9dC5tYXRjaChuKTtpZihyKXQ9clsxXTtlbHNle2lmKCF0Lm1hdGNoKGEpKXRocm93IG5ldyBFcnJvcigiYmFkIHJlbGF0aXZlQXR0ciBjYWxsOiIrW3QsZV0pO3Q9IiJ9aWYoIl4iIT09ZS5jaGFyQXQoMCkpYnJlYWs7ZT1lLnNsaWNlKDEpfXJldHVybiB0JiYiWyIhPT1lLmNoYXJBdCgwKT90KyIuIitlOnQrZX19LHt9XSw3MzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9hcnJheSIpLmlzQXJyYXlPclR5cGVkQXJyYXksYT10KCIuL2lzX3BsYWluX29iamVjdCIpO2UuZXhwb3J0cz1mdW5jdGlvbiB0KGUscil7Zm9yKHZhciBpIGluIHIpe3ZhciBvPXJbaV0scz1lW2ldO2lmKHMhPT1vKWlmKCJfIj09PWkuY2hhckF0KDApfHwiZnVuY3Rpb24iPT10eXBlb2Ygbyl7aWYoaSBpbiBlKWNvbnRpbnVlO2VbaV09b31lbHNlIGlmKG4obykmJm4ocykmJmEob1swXSkpe2lmKCJjdXN0b21kYXRhIj09PWl8fCJpZHMiPT09aSljb250aW51ZTtmb3IodmFyIGw9TWF0aC5taW4oby5sZW5ndGgscy5sZW5ndGgpLGM9MDtjPGw7YysrKXNbY10hPT1vW2NdJiZhKG9bY10pJiZhKHNbY10pJiZ0KHNbY10sb1tjXSl9ZWxzZSBhKG8pJiZhKHMpJiYodChzLG8pLE9iamVjdC5rZXlzKHMpLmxlbmd0aHx8ZGVsZXRlIGVbaV0pfX19LHsiLi9hcnJheSI6NzAwLCIuL2lzX3BsYWluX29iamVjdCI6NzE4fV0sNzM2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuL2xvZ2dlcnMiKSxpPXQoIi4vaWRlbnRpdHkiKTtmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIHQ8ZX1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIHQ8PWV9ZnVuY3Rpb24gbCh0LGUpe3JldHVybiB0PmV9ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0Pj1lfXIuZmluZEJpbj1mdW5jdGlvbih0LGUscil7aWYobihlLnN0YXJ0KSlyZXR1cm4gcj9NYXRoLmNlaWwoKHQtZS5zdGFydCkvZS5zaXplLTFlLTkpLTE6TWF0aC5mbG9vcigodC1lLnN0YXJ0KS9lLnNpemUrMWUtOSk7dmFyIGksdSxoPTAsZj1lLmxlbmd0aCxwPTAsZD1mPjE/KGVbZi0xXS1lWzBdKS8oZi0xKToxO2Zvcih1PWQ+PTA/cj9vOnM6cj9jOmwsdCs9MWUtOSpkKihyPy0xOjEpKihkPj0wPzE6LTEpO2g8ZiYmcCsrPDEwMDspdShlW2k9TWF0aC5mbG9vcigoaCtmKS8yKV0sdCk/aD1pKzE6Zj1pO3JldHVybiBwPjkwJiZhLmxvZygiTG9uZyBiaW5hcnkgc2VhcmNoLi4uIiksaC0xfSxyLnNvcnRlckFzYz1mdW5jdGlvbih0LGUpe3JldHVybiB0LWV9LHIuc29ydGVyRGVzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUtdH0sci5kaXN0aW5jdFZhbHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5zbGljZSgpO2Uuc29ydChyLnNvcnRlckFzYyk7Zm9yKHZhciBuPWUubGVuZ3RoLTEsYT1lW25dLWVbMF18fDEsaT1hLyhufHwxKS8xZTQsbz1bZVswXV0scz0wO3M8bjtzKyspZVtzKzFdPmVbc10raSYmKGE9TWF0aC5taW4oYSxlW3MrMV0tZVtzXSksby5wdXNoKGVbcysxXSkpO3JldHVybnt2YWxzOm8sbWluRGlmZjphfX0sci5yb3VuZFVwPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4sYT0wLGk9ZS5sZW5ndGgtMSxvPTAscz1yPzA6MSxsPXI/MTowLGM9cj9NYXRoLmNlaWw6TWF0aC5mbG9vcjthPGkmJm8rKzwxMDA7KWVbbj1jKChhK2kpLzIpXTw9dD9hPW4rczppPW4tbDtyZXR1cm4gZVthXX0sci5zb3J0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wLGE9MTthPHQubGVuZ3RoO2ErKyl7dmFyIGk9ZSh0W2FdLHRbYS0xXSk7aWYoaTwwP3I9MTppPjAmJihuPTEpLHImJm4pcmV0dXJuIHQuc29ydChlKX1yZXR1cm4gbj90OnQucmV2ZXJzZSgpfSxyLmZpbmRJbmRleE9mTWluPWZ1bmN0aW9uKHQsZSl7ZT1lfHxpO2Zvcih2YXIgcixuPTEvMCxhPTA7YTx0Lmxlbmd0aDthKyspe3ZhciBvPWUodFthXSk7bzxuJiYobj1vLHI9YSl9cmV0dXJuIHJ9fSx7Ii4vaWRlbnRpdHkiOjcxNiwiLi9sb2dnZXJzIjo3MjEsImZhc3QtaXNudW1lcmljIjoyMjh9XSw3Mzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7KHQuYXR0cigiY2xhc3MiKXx8IiIpLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXswPT09ZS5pbmRleE9mKCJjdXJzb3ItIikmJnQuY2xhc3NlZChlLCExKX0pLGUmJnQuY2xhc3NlZCgiY3Vyc29yLSIrZSwhMCl9fSx7fV0sNzM4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2NvbXBvbmVudHMvY29sb3IiKSxhPWZ1bmN0aW9uKCl7fTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHQpImZ1bmN0aW9uIj09dHlwZW9mIHRbZV0mJih0W2VdPWEpO3QuZGVzdHJveT1mdW5jdGlvbigpe3QuY29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodC5jb250YWluZXIpfTt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyLmNsYXNzTmFtZT0ibm8td2ViZ2wiLHIuc3R5bGUuY3Vyc29yPSJwb2ludGVyIixyLnN0eWxlLmZvbnRTaXplPSIyNHB4IixyLnN0eWxlLmNvbG9yPW4uZGVmYXVsdHNbMF0sci5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHIuc3R5bGUubGVmdD1yLnN0eWxlLnRvcD0iMHB4IixyLnN0eWxlLndpZHRoPXIuc3R5bGUuaGVpZ2h0PSIxMDAlIixyLnN0eWxlWyJiYWNrZ3JvdW5kLWNvbG9yIl09bi5saWdodExpbmUsci5zdHlsZVsiei1pbmRleCJdPTMwO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTtyZXR1cm4gaS50ZXh0Q29udGVudD0iV2ViR0wgaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXIgLSB2aXNpdCBodHRwczovL2dldC53ZWJnbC5vcmcgZm9yIG1vcmUgaW5mbyIsaS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLGkuc3R5bGUudG9wPSI1MCUiLGkuc3R5bGUubGVmdD0iNTAlIixpLnN0eWxlLmhlaWdodD0iMzAlIixpLnN0eWxlLndpZHRoPSI1MCUiLGkuc3R5bGUubWFyZ2luPSItMTUlIDAgMCAtMjUlIixyLmFwcGVuZENoaWxkKGkpLHQuY29udGFpbmVyLmFwcGVuZENoaWxkKHIpLHQuY29udGFpbmVyLnN0eWxlLmJhY2tncm91bmQ9IiNGRkZGRkYiLHQuY29udGFpbmVyLm9uY2xpY2s9ZnVuY3Rpb24oKXt3aW5kb3cub3BlbigiaHR0cHM6Ly9nZXQud2ViZ2wub3JnIil9LCExfX0seyIuLi9jb21wb25lbnRzL2NvbG9yIjo1OTJ9XSw3Mzk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4vYXJyYXkiKS5pc0FycmF5T3JUeXBlZEFycmF5O3IuYWdnTnVtcz1mdW5jdGlvbih0LGUsaSxvKXt2YXIgcyxsO2lmKCghb3x8bz5pLmxlbmd0aCkmJihvPWkubGVuZ3RoKSxuKGUpfHwoZT0hMSksYShpWzBdKSl7Zm9yKGw9bmV3IEFycmF5KG8pLHM9MDtzPG87cysrKWxbc109ci5hZ2dOdW1zKHQsZSxpW3NdKTtpPWx9Zm9yKHM9MDtzPG87cysrKW4oZSk/bihpW3NdKSYmKGU9dCgrZSwraVtzXSkpOmU9aVtzXTtyZXR1cm4gZX0sci5sZW49ZnVuY3Rpb24odCl7cmV0dXJuIHIuYWdnTnVtcyhmdW5jdGlvbih0KXtyZXR1cm4gdCsxfSwwLHQpfSxyLm1lYW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8KGU9ci5sZW4odCkpLHIuYWdnTnVtcyhmdW5jdGlvbih0LGUpe3JldHVybiB0K2V9LDAsdCkvZX0sci5taWRSYW5nZT1mdW5jdGlvbih0KXtpZih2b2lkIDAhPT10JiYwIT09dC5sZW5ndGgpcmV0dXJuKHIuYWdnTnVtcyhNYXRoLm1heCxudWxsLHQpK3IuYWdnTnVtcyhNYXRoLm1pbixudWxsLHQpKS8yfSxyLnZhcmlhbmNlPWZ1bmN0aW9uKHQsZSxhKXtyZXR1cm4gZXx8KGU9ci5sZW4odCkpLG4oYSl8fChhPXIubWVhbih0LGUpKSxyLmFnZ051bXMoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtNYXRoLnBvdyhlLWEsMil9LDAsdCkvZX0sci5zdGRldj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGguc3FydChyLnZhcmlhbmNlKHQsZSxuKSl9LHIubWVkaWFuPWZ1bmN0aW9uKHQpe3ZhciBlPXQuc2xpY2UoKS5zb3J0KCk7cmV0dXJuIHIuaW50ZXJwKGUsLjUpfSxyLmludGVycD1mdW5jdGlvbih0LGUpe2lmKCFuKGUpKXRocm93Im4gc2hvdWxkIGJlIGEgZmluaXRlIG51bWJlciI7aWYoKGU9ZSp0Lmxlbmd0aC0uNSk8MClyZXR1cm4gdFswXTtpZihlPnQubGVuZ3RoLTEpcmV0dXJuIHRbdC5sZW5ndGgtMV07dmFyIHI9ZSUxO3JldHVybiByKnRbTWF0aC5jZWlsKGUpXSsoMS1yKSp0W01hdGguZmxvb3IoZSldfX0seyIuL2FycmF5Ijo3MDAsImZhc3QtaXNudW1lcmljIjoyMjh9XSw3NDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY29sb3Itbm9ybWFsaXplIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0P24odCk6WzAsMCwwLDFdfX0seyJjb2xvci1ub3JtYWxpemUiOjEyMn1dLDc0MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vbGliIiksaT10KCIuLi9jb25zdGFudHMveG1sbnNfbmFtZXNwYWNlcyIpLG89dCgiLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLkxJTkVfU1BBQ0lORztmdW5jdGlvbiBzKHQsZSl7cmV0dXJuIHQubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2VdfXZhciBsPS8oW14kXSopKFskXStbXiRdKlskXSspKFteJF0qKS87ci5jb252ZXJ0VG9Uc3BhbnM9ZnVuY3Rpb24odCxlLEEpe3ZhciBTPXQudGV4dCgpLEw9IXQuYXR0cigiZGF0YS1ub3RleCIpJiYidW5kZWZpbmVkIiE9dHlwZW9mIE1hdGhKYXgmJlMubWF0Y2gobCksQz1uLnNlbGVjdCh0Lm5vZGUoKS5wYXJlbnROb2RlKTtpZighQy5lbXB0eSgpKXt2YXIgUD10LmF0dHIoImNsYXNzIik/dC5hdHRyKCJjbGFzcyIpLnNwbGl0KCIgIilbMF06InRleHQiO3JldHVybiBQKz0iLW1hdGgiLEMuc2VsZWN0QWxsKCJzdmcuIitQKS5yZW1vdmUoKSxDLnNlbGVjdEFsbCgiZy4iK1ArIi1ncm91cCIpLnJlbW92ZSgpLHQuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoeyJkYXRhLXVuZm9ybWF0dGVkIjpTLCJkYXRhLW1hdGgiOiJOIn0pLEw/KGUmJmUuX3Byb21pc2VzfHxbXSkucHVzaChuZXcgUHJvbWlzZShmdW5jdGlvbihlKXt0LnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpO3ZhciByPXBhcnNlSW50KHQubm9kZSgpLnN0eWxlLmZvbnRTaXplLDEwKSxpPXtmb250U2l6ZTpyfTshZnVuY3Rpb24odCxlLHIpe3ZhciBpLG8scyxsO01hdGhKYXguSHViLlF1ZXVlKGZ1bmN0aW9uKCl7cmV0dXJuIG89YS5leHRlbmREZWVwQWxsKHt9LE1hdGhKYXguSHViLmNvbmZpZykscz1NYXRoSmF4Lkh1Yi5wcm9jZXNzU2VjdGlvbkRlbGF5LHZvaWQgMCE9PU1hdGhKYXguSHViLnByb2Nlc3NTZWN0aW9uRGVsYXkmJihNYXRoSmF4Lkh1Yi5wcm9jZXNzU2VjdGlvbkRlbGF5PTApLE1hdGhKYXguSHViLkNvbmZpZyh7bWVzc2FnZVN0eWxlOiJub25lIix0ZXgyamF4OntpbmxpbmVNYXRoOltbIiQiLCIkIl0sWyJcXCgiLCJcXCkiXV19LGRpc3BsYXlBbGlnbjoibGVmdCJ9KX0sZnVuY3Rpb24oKXtpZigiU1ZHIiE9PShpPU1hdGhKYXguSHViLmNvbmZpZy5tZW51U2V0dGluZ3MucmVuZGVyZXIpKXJldHVybiBNYXRoSmF4Lkh1Yi5zZXRSZW5kZXJlcigiU1ZHIil9LGZ1bmN0aW9uKCl7dmFyIHI9Im1hdGgtb3V0cHV0LSIrYS5yYW5kc3RyKHt9LDY0KTtyZXR1cm4gbD1uLnNlbGVjdCgiYm9keSIpLmFwcGVuZCgiZGl2IikuYXR0cih7aWQ6cn0pLnN0eWxlKHt2aXNpYmlsaXR5OiJoaWRkZW4iLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KS5zdHlsZSh7ImZvbnQtc2l6ZSI6ZS5mb250U2l6ZSsicHgifSkudGV4dCh0LnJlcGxhY2UoYywiXFxsdCAiKS5yZXBsYWNlKHUsIlxcZ3QgIikpLE1hdGhKYXguSHViLlR5cGVzZXQobC5ub2RlKCkpfSxmdW5jdGlvbigpe3ZhciBlPW4uc2VsZWN0KCJib2R5Iikuc2VsZWN0KCIjTWF0aEpheF9TVkdfZ2x5cGhzIik7aWYobC5zZWxlY3QoIi5NYXRoSmF4X1NWRyIpLmVtcHR5KCl8fCFsLnNlbGVjdCgic3ZnIikubm9kZSgpKWEubG9nKCJUaGVyZSB3YXMgYW4gZXJyb3IgaW4gdGhlIHRleCBzeW50YXguIix0KSxyKCk7ZWxzZXt2YXIgbz1sLnNlbGVjdCgic3ZnIikubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3IobC5zZWxlY3QoIi5NYXRoSmF4X1NWRyIpLGUsbyl9aWYobC5yZW1vdmUoKSwiU1ZHIiE9PWkpcmV0dXJuIE1hdGhKYXguSHViLnNldFJlbmRlcmVyKGkpfSxmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT1zJiYoTWF0aEpheC5IdWIucHJvY2Vzc1NlY3Rpb25EZWxheT1zKSxNYXRoSmF4Lkh1Yi5Db25maWcobyl9KX0oTFsyXSxpLGZ1bmN0aW9uKG4sYSxpKXtDLnNlbGVjdEFsbCgic3ZnLiIrUCkucmVtb3ZlKCksQy5zZWxlY3RBbGwoImcuIitQKyItZ3JvdXAiKS5yZW1vdmUoKTt2YXIgbz1uJiZuLnNlbGVjdCgic3ZnIik7aWYoIW98fCFvLm5vZGUoKSlyZXR1cm4gTygpLHZvaWQgZSgpO3ZhciBsPUMuYXBwZW5kKCJnIikuY2xhc3NlZChQKyItZ3JvdXAiLCEwKS5hdHRyKHsicG9pbnRlci1ldmVudHMiOiJub25lIiwiZGF0YS11bmZvcm1hdHRlZCI6UywiZGF0YS1tYXRoIjoiWSJ9KTtsLm5vZGUoKS5hcHBlbmRDaGlsZChvLm5vZGUoKSksYSYmYS5ub2RlKCkmJm8ubm9kZSgpLmluc2VydEJlZm9yZShhLm5vZGUoKS5jbG9uZU5vZGUoITApLG8ubm9kZSgpLmZpcnN0Q2hpbGQpLG8uYXR0cih7Y2xhc3M6UCxoZWlnaHQ6aS5oZWlnaHQscHJlc2VydmVBc3BlY3RSYXRpbzoieE1pbllNaW4gbWVldCJ9KS5zdHlsZSh7b3ZlcmZsb3c6InZpc2libGUiLCJwb2ludGVyLWV2ZW50cyI6Im5vbmUifSk7dmFyIGM9dC5ub2RlKCkuc3R5bGUuZmlsbHx8ImJsYWNrIix1PW8uc2VsZWN0KCJnIik7dS5hdHRyKHtmaWxsOmMsc3Ryb2tlOmN9KTt2YXIgaD1zKHUsIndpZHRoIiksZj1zKHUsImhlaWdodCIpLHA9K3QuYXR0cigieCIpLWgqe3N0YXJ0OjAsbWlkZGxlOi41LGVuZDoxfVt0LmF0dHIoInRleHQtYW5jaG9yIil8fCJzdGFydCJdLGQ9LShyfHxzKHQsImhlaWdodCIpKS80OyJ5Ij09PVBbMF0/KGwuYXR0cih7dHJhbnNmb3JtOiJyb3RhdGUoIitbLTkwLCt0LmF0dHIoIngiKSwrdC5hdHRyKCJ5IildKyIpIHRyYW5zbGF0ZSgiK1staC8yLGQtZi8yXSsiKSJ9KSxvLmF0dHIoe3g6K3QuYXR0cigieCIpLHk6K3QuYXR0cigieSIpfSkpOiJsIj09PVBbMF0/by5hdHRyKHt4OnQuYXR0cigieCIpLHk6ZC1mLzJ9KToiYSI9PT1QWzBdJiYwIT09UC5pbmRleE9mKCJhdGl0bGUiKT9vLmF0dHIoe3g6MCx5OmR9KTpvLmF0dHIoe3g6cCx5Oit0LmF0dHIoInkiKStkLWYvMn0pLEEmJkEuY2FsbCh0LGwpLGUobCl9KX0pKTpPKCksdH1mdW5jdGlvbiBPKCl7Qy5lbXB0eSgpfHwoUD10LmF0dHIoImNsYXNzIikrIi1tYXRoIixDLnNlbGVjdCgic3ZnLiIrUCkucmVtb3ZlKCkpLHQudGV4dCgiIikuc3R5bGUoIndoaXRlLXNwYWNlIiwicHJlIiksZnVuY3Rpb24odCxlKXtlPWUucmVwbGFjZSh2LCIgIik7dmFyIHIscz0hMSxsPVtdLGM9LTE7ZnVuY3Rpb24gdSgpe2MrKzt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoaS5zdmcsInRzcGFuIik7bi5zZWxlY3QoZSkuYXR0cih7Y2xhc3M6ImxpbmUiLGR5OmMqbysiZW0ifSksdC5hcHBlbmRDaGlsZChlKSxyPWU7dmFyIGE9bDtpZihsPVt7bm9kZTplfV0sYS5sZW5ndGg+MSlmb3IodmFyIHM9MTtzPGEubGVuZ3RoO3MrKylBKGFbc10pfWZ1bmN0aW9uIEEodCl7dmFyIGUsYT10LnR5cGUsbz17fTtpZigiYSI9PT1hKXtlPSJhIjt2YXIgcz10LnRhcmdldCxjPXQuaHJlZix1PXQucG9wdXA7YyYmKG89eyJ4bGluazp4bGluazpzaG93IjoiX2JsYW5rIj09PXN8fCJfIiE9PXMuY2hhckF0KDApPyJuZXciOiJyZXBsYWNlIix0YXJnZXQ6cywieGxpbms6eGxpbms6aHJlZiI6Y30sdSYmKG8ub25jbGljaz0nd2luZG93Lm9wZW4odGhpcy5ocmVmLmJhc2VWYWwsdGhpcy50YXJnZXQuYmFzZVZhbCwiJyt1KyciKTtyZXR1cm4gZmFsc2U7JykpfWVsc2UgZT0idHNwYW4iO3Quc3R5bGUmJihvLnN0eWxlPXQuc3R5bGUpO3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhpLnN2ZyxlKTtpZigic3VwIj09PWF8fCJzdWIiPT09YSl7UyhyLGQpLHIuYXBwZW5kQ2hpbGQoaCk7dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGkuc3ZnLCJ0c3BhbiIpO1MoZyxkKSxuLnNlbGVjdChnKS5hdHRyKCJkeSIscFthXSksby5keT1mW2FdLHIuYXBwZW5kQ2hpbGQoaCksci5hcHBlbmRDaGlsZChnKX1lbHNlIHIuYXBwZW5kQ2hpbGQoaCk7bi5zZWxlY3QoaCkuYXR0cihvKSxyPXQubm9kZT1oLGwucHVzaCh0KX1mdW5jdGlvbiBTKHQsZSl7dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlKSl9ZnVuY3Rpb24gTCh0KXtpZigxIT09bC5sZW5ndGgpe3ZhciBuPWwucG9wKCk7dCE9PW4udHlwZSYmYS5sb2coIlN0YXJ0IHRhZyA8IituLnR5cGUrIj4gZG9lc250IG1hdGNoIGVuZCB0YWcgPCIrdCsiPi4gUHJldGVuZGluZyBpdCBkaWQgbWF0Y2guIixlKSxyPWxbbC5sZW5ndGgtMV0ubm9kZX1lbHNlIGEubG9nKCJJZ25vcmluZyB1bmV4cGVjdGVkIGVuZCB0YWcgPC8iK3QrIj4uIixlKX14LnRlc3QoZSk/dSgpOihyPXQsbD1be25vZGU6dH1dKTtmb3IodmFyIEM9ZS5zcGxpdChtKSxQPTA7UDxDLmxlbmd0aDtQKyspe3ZhciBPPUNbUF0sej1PLm1hdGNoKHkpLEk9eiYmelsyXS50b0xvd2VyQ2FzZSgpLEQ9aFtJXTtpZigiYnIiPT09SSl1KCk7ZWxzZSBpZih2b2lkIDA9PT1EKVMocixFKE8pKTtlbHNlIGlmKHpbMV0pTChJKTtlbHNle3ZhciBSPXpbNF0sRj17dHlwZTpJfSxCPVQoUixiKTtpZihCPyhCPUIucmVwbGFjZShNLCIkMSBmaWxsOiIpLEQmJihCKz0iOyIrRCkpOkQmJihCPUQpLEImJihGLnN0eWxlPUIpLCJhIj09PUkpe3M9ITA7dmFyIE49VChSLF8pO2lmKE4pe3ZhciBqPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtqLmhyZWY9TiwtMSE9PWcuaW5kZXhPZihqLnByb3RvY29sKSYmKEYuaHJlZj1lbmNvZGVVUkkoZGVjb2RlVVJJKE4pKSxGLnRhcmdldD1UKFIsdyl8fCJfYmxhbmsiLEYucG9wdXA9VChSLGspKX19QShGKX19cmV0dXJuIHN9KHQubm9kZSgpLFMpJiZ0LnN0eWxlKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLHIucG9zaXRpb25UZXh0KHQpLEEmJkEuY2FsbCh0KX19O3ZhciBjPS8oPHwmbHQ7fCYjNjA7KS9nLHU9Lyg+fCZndDt8JiM2MjspL2c7dmFyIGg9e3N1cDoiZm9udC1zaXplOjcwJSIsc3ViOiJmb250LXNpemU6NzAlIixiOiJmb250LXdlaWdodDpib2xkIixpOiJmb250LXN0eWxlOml0YWxpYyIsYToiY3Vyc29yOnBvaW50ZXIiLHNwYW46IiIsZW06ImZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OmJvbGQifSxmPXtzdWI6IjAuM2VtIixzdXA6Ii0wLjZlbSJ9LHA9e3N1YjoiLTAuMjFlbSIsc3VwOiIwLjQyZW0ifSxkPSJcdTIwMGIiLGc9WyJodHRwOiIsImh0dHBzOiIsIm1haWx0bzoiLCIiLHZvaWQgMCwiOiJdLHY9ci5ORVdMSU5FUz0vKFxyXG4/fFxuKS9nLG09Lyg8W148Pl0qPikvLHk9LzwoXC8/KShbXiA+XSopKFxzKyguKikpPz4vaSx4PS88YnIoXHMrLiopPz4vaTtyLkJSX1RBR19BTEw9LzxicihccysuKik/Pi9naTt2YXIgYj0vKF58W1xzIiddKXN0eWxlXHMqPVxzKigiKFteIl0qKTs/InwnKFteJ10qKTs/JykvaSxfPS8oXnxbXHMiJ10paHJlZlxzKj1ccyooIihbXiJdKikifCcoW14nXSopJykvaSx3PS8oXnxbXHMiJ10pdGFyZ2V0XHMqPVxzKigiKFteIlxzXSopInwnKFteJ1xzXSopJykvaSxrPS8oXnxbXHMiJ10pcG9wdXBccyo9XHMqKCIoW1x3PSxdKikifCcoW1x3PSxdKiknKS9pO2Z1bmN0aW9uIFQodCxlKXtpZighdClyZXR1cm4gbnVsbDt2YXIgcj10Lm1hdGNoKGUpLG49ciYmKHJbM118fHJbNF0pO3JldHVybiBuJiZFKG4pfXZhciBNPS8oXnw7KVxzKmNvbG9yOi87ci5wbGFpblRleHQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dm9pZCAwIT09KGU9ZXx8e30pLmxlbiYmLTEhPT1lLmxlbj9lLmxlbjoxLzAsbj12b2lkIDAhPT1lLmFsbG93ZWRUYWdzP2UuYWxsb3dlZFRhZ3M6WyJiciJdLGE9Ii4uLiIubGVuZ3RoLGk9dC5zcGxpdChtKSxvPVtdLHM9IiIsbD0wLGM9MDtjPGkubGVuZ3RoO2MrKyl7dmFyIHU9aVtjXSxoPXUubWF0Y2goeSksZj1oJiZoWzJdLnRvTG93ZXJDYXNlKCk7aWYoZiktMSE9PW4uaW5kZXhPZihmKSYmKG8ucHVzaCh1KSxzPWYpO2Vsc2V7dmFyIHA9dS5sZW5ndGg7aWYobCtwPHIpby5wdXNoKHUpLGwrPXA7ZWxzZSBpZihsPHIpe3ZhciBkPXItbDtzJiYoImJyIiE9PXN8fGQ8PWF8fHA8PWEpJiZvLnBvcCgpLHI+YT9vLnB1c2godS5zdWJzdHIoMCxkLWEpKyIuLi4iKTpvLnB1c2godS5zdWJzdHIoMCxkKSk7YnJlYWt9cz0iIn19cmV0dXJuIG8uam9pbigiIil9O3ZhciBBPXttdToiXHUwM2JjIixhbXA6IiYiLGx0OiI8IixndDoiPiIsbmJzcDoiXHhhMCIsdGltZXM6Ilx4ZDciLHBsdXNtbjoiXHhiMSIsZGVnOiJceGIwIn0sUz0vJigjXGQrfCN4W1xkYS1mQS1GXSt8W2Etel0rKTsvZztmdW5jdGlvbiBFKHQpe3JldHVybiB0LnJlcGxhY2UoUyxmdW5jdGlvbih0LGUpe3JldHVybigiIyI9PT1lLmNoYXJBdCgwKT9mdW5jdGlvbih0KXtpZih0PjExMTQxMTEpcmV0dXJuO3ZhciBlPVN0cmluZy5mcm9tQ29kZVBvaW50O2lmKGUpcmV0dXJuIGUodCk7dmFyIHI9U3RyaW5nLmZyb21DaGFyQ29kZTtyZXR1cm4gdDw9NjU1MzU/cih0KTpyKDU1MjMyKyh0Pj4xMCksdCUxMDI0KzU2MzIwKX0oIngiPT09ZS5jaGFyQXQoMSk/cGFyc2VJbnQoZS5zdWJzdHIoMiksMTYpOnBhcnNlSW50KGUuc3Vic3RyKDEpLDEwKSk6QVtlXSl8fHR9KX1mdW5jdGlvbiBMKHQsZSxyKXt2YXIgbixhLGksbz1yLmhvcml6b250YWxBbGlnbixzPXIudmVydGljYWxBbGlnbnx8InRvcCIsbD10Lm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjPWUubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBhPSJib3R0b20iPT09cz9mdW5jdGlvbigpe3JldHVybiBsLmJvdHRvbS1uLmhlaWdodH06Im1pZGRsZSI9PT1zP2Z1bmN0aW9uKCl7cmV0dXJuIGwudG9wKyhsLmhlaWdodC1uLmhlaWdodCkvMn06ZnVuY3Rpb24oKXtyZXR1cm4gbC50b3B9LGk9InJpZ2h0Ij09PW8/ZnVuY3Rpb24oKXtyZXR1cm4gbC5yaWdodC1uLndpZHRofToiY2VudGVyIj09PW8/ZnVuY3Rpb24oKXtyZXR1cm4gbC5sZWZ0KyhsLndpZHRoLW4ud2lkdGgpLzJ9OmZ1bmN0aW9uKCl7cmV0dXJuIGwubGVmdH0sZnVuY3Rpb24oKXtyZXR1cm4gbj10aGlzLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0aGlzLnN0eWxlKHt0b3A6YSgpLWMudG9wKyJweCIsbGVmdDppKCktYy5sZWZ0KyJweCIsInotaW5kZXgiOjFlM30pLHRoaXN9fXIuY29udmVydEVudGl0aWVzPUUsci5saW5lQ291bnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuc2VsZWN0QWxsKCJ0c3Bhbi5saW5lIikuc2l6ZSgpfHwxfSxyLnBvc2l0aW9uVGV4dD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4uc2VsZWN0KHRoaXMpO2Z1bmN0aW9uIGEoZSxyKXtyZXR1cm4gdm9pZCAwPT09cj9udWxsPT09KHI9dC5hdHRyKGUpKSYmKHQuYXR0cihlLDApLHI9MCk6dC5hdHRyKGUscikscn12YXIgaT1hKCJ4IixlKSxvPWEoInkiLHIpOyJ0ZXh0Ij09PXRoaXMubm9kZU5hbWUmJnQuc2VsZWN0QWxsKCJ0c3Bhbi5saW5lIikuYXR0cih7eDppLHk6b30pfSl9LHIubWFrZUVkaXRhYmxlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5nZCxhPWUuZGVsZWdhdGUsaT1uLmRpc3BhdGNoKCJlZGl0IiwiaW5wdXQiLCJjYW5jZWwiKSxvPWF8fHQ7aWYodC5zdHlsZSh7InBvaW50ZXItZXZlbnRzIjphPyJub25lIjoiYWxsIn0pLDEhPT10LnNpemUoKSl0aHJvdyBuZXcgRXJyb3IoImJvbyIpO2Z1bmN0aW9uIHMoKXshZnVuY3Rpb24oKXt2YXIgYT1uLnNlbGVjdChyKS5zZWxlY3QoIi5zdmctY29udGFpbmVyIiksbz1hLmFwcGVuZCgiZGl2Iikscz10Lm5vZGUoKS5zdHlsZSxjPXBhcnNlRmxvYXQocy5mb250U2l6ZXx8MTIpLHU9ZS50ZXh0O3ZvaWQgMD09PXUmJih1PXQuYXR0cigiZGF0YS11bmZvcm1hdHRlZCIpKTtvLmNsYXNzZWQoInBsdWdpbi1lZGl0YWJsZSBlZGl0YWJsZSIsITApLnN0eWxlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLCJmb250LWZhbWlseSI6cy5mb250RmFtaWx5fHwiQXJpYWwiLCJmb250LXNpemUiOmMsY29sb3I6ZS5maWxsfHxzLmZpbGx8fCJibGFjayIsb3BhY2l0eToxLCJiYWNrZ3JvdW5kLWNvbG9yIjplLmJhY2tncm91bmR8fCJ0cmFuc3BhcmVudCIsb3V0bGluZToiI2ZmZmZmZjMzIDFweCBzb2xpZCIsbWFyZ2luOlstYy84KzEsMCwwLC0xXS5qb2luKCJweCAiKSsicHgiLHBhZGRpbmc6IjAiLCJib3gtc2l6aW5nIjoiYm9yZGVyLWJveCJ9KS5hdHRyKHtjb250ZW50ZWRpdGFibGU6ITB9KS50ZXh0KHUpLmNhbGwoTCh0LGEsZSkpLm9uKCJibHVyIixmdW5jdGlvbigpe3IuX2VkaXRpbmc9ITEsdC50ZXh0KHRoaXMudGV4dENvbnRlbnQpLnN0eWxlKHtvcGFjaXR5OjF9KTt2YXIgZSxhPW4uc2VsZWN0KHRoaXMpLmF0dHIoImNsYXNzIik7KGU9YT8iLiIrYS5zcGxpdCgiICIpWzBdKyItbWF0aC1ncm91cCI6IltjbGFzcyo9LW1hdGgtZ3JvdXBdIikmJm4uc2VsZWN0KHQubm9kZSgpLnBhcmVudE5vZGUpLnNlbGVjdChlKS5zdHlsZSh7b3BhY2l0eTowfSk7dmFyIG89dGhpcy50ZXh0Q29udGVudDtuLnNlbGVjdCh0aGlzKS50cmFuc2l0aW9uKCkuZHVyYXRpb24oMCkucmVtb3ZlKCksbi5zZWxlY3QoZG9jdW1lbnQpLm9uKCJtb3VzZXVwIixudWxsKSxpLmVkaXQuY2FsbCh0LG8pfSkub24oImZvY3VzIixmdW5jdGlvbigpe3ZhciB0PXRoaXM7ci5fZWRpdGluZz0hMCxuLnNlbGVjdChkb2N1bWVudCkub24oIm1vdXNldXAiLGZ1bmN0aW9uKCl7aWYobi5ldmVudC50YXJnZXQ9PT10KXJldHVybiExO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1vLm5vZGUoKSYmby5ub2RlKCkuYmx1cigpfSl9KS5vbigia2V5dXAiLGZ1bmN0aW9uKCl7Mjc9PT1uLmV2ZW50LndoaWNoPyhyLl9lZGl0aW5nPSExLHQuc3R5bGUoe29wYWNpdHk6MX0pLG4uc2VsZWN0KHRoaXMpLnN0eWxlKHtvcGFjaXR5OjB9KS5vbigiYmx1ciIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pLnRyYW5zaXRpb24oKS5yZW1vdmUoKSxpLmNhbmNlbC5jYWxsKHQsdGhpcy50ZXh0Q29udGVudCkpOihpLmlucHV0LmNhbGwodCx0aGlzLnRleHRDb250ZW50KSxuLnNlbGVjdCh0aGlzKS5jYWxsKEwodCxhLGUpKSl9KS5vbigia2V5ZG93biIsZnVuY3Rpb24oKXsxMz09PW4uZXZlbnQud2hpY2gmJnRoaXMuYmx1cigpfSkuY2FsbChsKX0oKSx0LnN0eWxlKHtvcGFjaXR5OjB9KTt2YXIgYSxzPW8uYXR0cigiY2xhc3MiKTsoYT1zPyIuIitzLnNwbGl0KCIgIilbMF0rIi1tYXRoLWdyb3VwIjoiW2NsYXNzKj0tbWF0aC1ncm91cF0iKSYmbi5zZWxlY3QodC5ub2RlKCkucGFyZW50Tm9kZSkuc2VsZWN0KGEpLnN0eWxlKHtvcGFjaXR5OjB9KX1mdW5jdGlvbiBsKHQpe3ZhciBlPXQubm9kZSgpLHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyLnNlbGVjdE5vZGVDb250ZW50cyhlKTt2YXIgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7bi5yZW1vdmVBbGxSYW5nZXMoKSxuLmFkZFJhbmdlKHIpLGUuZm9jdXMoKX1yZXR1cm4gZS5pbW1lZGlhdGU/cygpOm8ub24oImNsaWNrIixzKSxuLnJlYmluZCh0LGksIm9uIil9fSx7Ii4uL2NvbnN0YW50cy9hbGlnbm1lbnQiOjY4NiwiLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiOjY5NCwiLi4vbGliIjo3MTcsZDM6MTY1fV0sNzQyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXt9O2Z1bmN0aW9uIGEodCl7dCYmbnVsbCE9PXQudGltZXImJihjbGVhclRpbWVvdXQodC50aW1lciksdC50aW1lcj1udWxsKX1yLnRocm90dGxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1uW3RdLG89RGF0ZS5ub3coKTtpZighaSl7Zm9yKHZhciBzIGluIG4pbltzXS50czxvLTZlNCYmZGVsZXRlIG5bc107aT1uW3RdPXt0czowLHRpbWVyOm51bGx9fWZ1bmN0aW9uIGwoKXtyKCksaS50cz1EYXRlLm5vdygpLGkub25Eb25lJiYoaS5vbkRvbmUoKSxpLm9uRG9uZT1udWxsKX1hKGkpLG8+aS50cytlP2woKTppLnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtsKCksaS50aW1lcj1udWxsfSxlKX0sci5kb25lPWZ1bmN0aW9uKHQpe3ZhciBlPW5bdF07cmV0dXJuIGUmJmUudGltZXI/bmV3IFByb21pc2UoZnVuY3Rpb24odCl7dmFyIHI9ZS5vbkRvbmU7ZS5vbkRvbmU9ZnVuY3Rpb24oKXtyJiZyKCksdCgpLGUub25Eb25lPW51bGx9fSk6UHJvbWlzZS5yZXNvbHZlKCl9LHIuY2xlYXI9ZnVuY3Rpb24odCl7aWYodClhKG5bdF0pLGRlbGV0ZSBuW3RdO2Vsc2UgZm9yKHZhciBlIGluIG4pci5jbGVhcihlKX19LHt9XSw3NDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZih0PjApcmV0dXJuIE1hdGgubG9nKHQpL01hdGguTE4xMDt2YXIgcj1NYXRoLmxvZyhNYXRoLm1pbihlWzBdLGVbMV0pKS9NYXRoLkxOMTA7cmV0dXJuIG4ocil8fChyPU1hdGgubG9nKE1hdGgubWF4KGVbMF0sZVsxXSkpL01hdGguTE4xMC02KSxyfX0seyJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sNzQ0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPWUuZXhwb3J0cz17fSxhPXQoIi4uL3Bsb3RzL2dlby9jb25zdGFudHMiKS5sb2NhdGlvbm1vZGVUb0xheWVyLGk9dCgidG9wb2pzb24tY2xpZW50IikuZmVhdHVyZTtuLmdldFRvcG9qc29uTmFtZT1mdW5jdGlvbih0KXtyZXR1cm5bdC5zY29wZS5yZXBsYWNlKC8gL2csIi0iKSwiXyIsdC5yZXNvbHV0aW9uLnRvU3RyaW5nKCksIm0iXS5qb2luKCIiKX0sbi5nZXRUb3BvanNvblBhdGg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlKyIuanNvbiJ9LG4uZ2V0VG9wb2pzb25GZWF0dXJlcz1mdW5jdGlvbih0LGUpe3ZhciByPWFbdC5sb2NhdGlvbm1vZGVdLG49ZS5vYmplY3RzW3JdO3JldHVybiBpKGUsbikuZmVhdHVyZXN9fSx7Ii4uL3Bsb3RzL2dlby9jb25zdGFudHMiOjc5MywidG9wb2pzb24tY2xpZW50Ijo1Mzl9XSw3NDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJsb2NhbGUiLG5hbWU6ImVuLVVTIixkaWN0aW9uYXJ5OnsiQ2xpY2sgdG8gZW50ZXIgQ29sb3JzY2FsZSB0aXRsZSI6IkNsaWNrIHRvIGVudGVyIENvbG9yc2NhbGUgdGl0bGUifSxmb3JtYXQ6e2RhdGU6IiVtLyVkLyVZIn19fSx7fV0sNzQ2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bW9kdWxlVHlwZToibG9jYWxlIixuYW1lOiJlbiIsZGljdGlvbmFyeTp7IkNsaWNrIHRvIGVudGVyIENvbG9yc2NhbGUgdGl0bGUiOiJDbGljayB0byBlbnRlciBDb2xvdXJzY2FsZSB0aXRsZSJ9LGZvcm1hdDp7ZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF0ZVRpbWU6IiVhICViICVlICVYICVZIixkYXRlOiIlZC8lbS8lWSIsdGltZToiJUg6JU06JVMiLGRlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLHllYXI6IiVZIixtb250aDoiJWIgJVkiLGRheU1vbnRoOiIlYiAlLWQiLGRheU1vbnRoWWVhcjoiJWIgJS1kLCAlWSJ9fX0se31dLDc0NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9yZWdpc3RyeSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGUscixhPW4ubGF5b3V0QXJyYXlDb250YWluZXJzLGk9bi5sYXlvdXRBcnJheVJlZ2V4ZXMsbz10LnNwbGl0KCJbIilbMF0scz0wO3M8aS5sZW5ndGg7cysrKWlmKChyPXQubWF0Y2goaVtzXSkpJiYwPT09ci5pbmRleCl7ZT1yWzBdO2JyZWFrfWlmKGV8fChlPWFbYS5pbmRleE9mKG8pXSksIWUpcmV0dXJuITE7dmFyIGw9dC5zdWJzdHIoZS5sZW5ndGgpO3JldHVybiBsPyEhKHI9bC5tYXRjaCgvXlxbKDB8WzEtOV1bMC05XSopXF0oXC4oLispKT8kLykpJiZ7YXJyYXk6ZSxpbmRleDpOdW1iZXIoclsxXSkscHJvcGVydHk6clszXXx8IiJ9OnthcnJheTplLGluZGV4OiIiLHByb3BlcnR5OiIifX19LHsiLi4vcmVnaXN0cnkiOjg0Nn1dLDc0ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9saWIiKSxhPW4uZXh0ZW5kRmxhdCxpPW4uaXNQbGFpbk9iamVjdCxvPXt2YWxUeXBlOiJmbGFnbGlzdCIsZXh0cmFzOlsibm9uZSJdLGZsYWdzOlsiY2FsYyIsImNsZWFyQXhpc1R5cGVzIiwicGxvdCIsInN0eWxlIiwibWFya2VyU2l6ZSIsImNvbG9yYmFycyJdfSxzPXt2YWxUeXBlOiJmbGFnbGlzdCIsZXh0cmFzOlsibm9uZSJdLGZsYWdzOlsiY2FsYyIsInBsb3QiLCJsZWdlbmQiLCJ0aWNrcyIsImF4cmFuZ2UiLCJsYXlvdXRzdHlsZSIsIm1vZGViYXIiLCJjYW1lcmEiLCJhcnJheWRyYXciLCJjb2xvcmJhcnMiXX0sbD1vLmZsYWdzLnNsaWNlKCkuY29uY2F0KFsiZnVsbFJlcGxvdCJdKSxjPXMuZmxhZ3Muc2xpY2UoKS5jb25jYXQoImxheW91dFJlcGxvdCIpO2Z1bmN0aW9uIHUodCl7Zm9yKHZhciBlPXt9LHI9MDtyPHQubGVuZ3RoO3IrKyllW3Rbcl1dPSExO3JldHVybiBlfWZ1bmN0aW9uIGgodCxlLHIpe3ZhciBuPWEoe30sdCk7Zm9yKHZhciBvIGluIG4pe3ZhciBzPW5bb107aShzKSYmKG5bb109ZihzLGUscixvKSl9cmV0dXJuImZyb20tcm9vdCI9PT1yJiYobi5lZGl0VHlwZT1lKSxufWZ1bmN0aW9uIGYodCxlLHIsbil7aWYodC52YWxUeXBlKXt2YXIgaT1hKHt9LHQpO2lmKGkuZWRpdFR5cGU9ZSxBcnJheS5pc0FycmF5KHQuaXRlbXMpKXtpLml0ZW1zPW5ldyBBcnJheSh0Lml0ZW1zLmxlbmd0aCk7Zm9yKHZhciBvPTA7bzx0Lml0ZW1zLmxlbmd0aDtvKyspaS5pdGVtc1tvXT1mKHQuaXRlbXNbb10sZSwiZnJvbS1yb290Iil9cmV0dXJuIGl9cmV0dXJuIGgodCxlLCJfIj09PW4uY2hhckF0KDApPyJuZXN0ZWQiOiJmcm9tLXJvb3QiKX1lLmV4cG9ydHM9e3RyYWNlczpvLGxheW91dDpzLHRyYWNlRmxhZ3M6ZnVuY3Rpb24oKXtyZXR1cm4gdShsKX0sbGF5b3V0RmxhZ3M6ZnVuY3Rpb24oKXtyZXR1cm4gdShjKX0sdXBkYXRlOmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5lZGl0VHlwZTtpZihyJiYibm9uZSIhPT1yKWZvcih2YXIgbj1yLnNwbGl0KCIrIiksYT0wO2E8bi5sZW5ndGg7YSsrKXRbblthXV09ITB9LG92ZXJyaWRlQWxsOmh9fSx7Ii4uL2xpYiI6NzE3fV0sNzQ5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCJnbC1tYXQ0L2Zyb21RdWF0IiksaT10KCIuLi9yZWdpc3RyeSIpLG89dCgiLi4vbGliIikscz10KCIuLi9wbG90cy9wbG90cyIpLGw9dCgiLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIiksYz10KCIuLi9jb21wb25lbnRzL2NvbG9yIiksdT1sLmNsZWFuSWQsaD1sLmdldEZyb21UcmFjZSxmPWkudHJhY2VJcztmdW5jdGlvbiBwKHQsZSl7dmFyIHI9dFtlXSxuPWUuY2hhckF0KDApO3ImJiJwYXBlciIhPT1yJiYodFtlXT11KHIsbikpfWZ1bmN0aW9uIGQodCl7ZnVuY3Rpb24gZShlLHIpe3ZhciBuPXRbZV0sYT10LnRpdGxlJiZ0LnRpdGxlW3JdO24mJiFhJiYodC50aXRsZXx8KHQudGl0bGU9e30pLHQudGl0bGVbcl09dFtlXSxkZWxldGUgdFtlXSl9dCYmKCJzdHJpbmciIT10eXBlb2YgdC50aXRsZSYmIm51bWJlciIhPXR5cGVvZiB0LnRpdGxlfHwodC50aXRsZT17dGV4dDp0LnRpdGxlfSksZSgidGl0bGVmb250IiwiZm9udCIpLGUoInRpdGxlcG9zaXRpb24iLCJwb3NpdGlvbiIpLGUoInRpdGxlc2lkZSIsInNpZGUiKSxlKCJ0aXRsZW9mZnNldCIsIm9mZnNldCIpKX1mdW5jdGlvbiBnKHQpe2lmKCFvLmlzUGxhaW5PYmplY3QodCkpcmV0dXJuITE7dmFyIGU9dC5uYW1lO3JldHVybiBkZWxldGUgdC5uYW1lLGRlbGV0ZSB0LnNob3dsZWdlbmQsKCJzdHJpbmciPT10eXBlb2YgZXx8Im51bWJlciI9PXR5cGVvZiBlKSYmU3RyaW5nKGUpfWZ1bmN0aW9uIHYodCxlLHIsbil7aWYociYmIW4pcmV0dXJuIHQ7aWYobiYmIXIpcmV0dXJuIGU7aWYoIXQudHJpbSgpKXJldHVybiBlO2lmKCFlLnRyaW0oKSlyZXR1cm4gdDt2YXIgYSxpPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKTtmb3IoYT0wO2E8aSYmdC5jaGFyQXQoYSk9PT1lLmNoYXJBdChhKTthKyspO3JldHVybiB0LnN1YnN0cigwLGEpLnRyaW0oKX1mdW5jdGlvbiBtKHQpe3ZhciBlPSJtaWRkbGUiLHI9ImNlbnRlciI7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYoLTEhPT10LmluZGV4T2YoInRvcCIpP2U9InRvcCI6LTEhPT10LmluZGV4T2YoImJvdHRvbSIpJiYoZT0iYm90dG9tIiksLTEhPT10LmluZGV4T2YoImxlZnQiKT9yPSJsZWZ0IjotMSE9PXQuaW5kZXhPZigicmlnaHQiKSYmKHI9InJpZ2h0IikpLGUrIiAiK3J9ZnVuY3Rpb24geSh0LGUpe3JldHVybiBlIGluIHQmJiJvYmplY3QiPT10eXBlb2YgdFtlXSYmMD09PU9iamVjdC5rZXlzKHRbZV0pLmxlbmd0aH1yLmNsZWFyUHJvbWlzZVF1ZXVlPWZ1bmN0aW9uKHQpe0FycmF5LmlzQXJyYXkodC5fcHJvbWlzZXMpJiZ0Ll9wcm9taXNlcy5sZW5ndGg+MCYmby5sb2coIkNsZWFyaW5nIHByZXZpb3VzIHJlamVjdGVkIHByb21pc2VzIGZyb20gcXVldWUuIiksdC5fcHJvbWlzZXM9W119LHIuY2xlYW5MYXlvdXQ9ZnVuY3Rpb24odCl7dmFyIGUsbjt0fHwodD17fSksdC54YXhpczEmJih0LnhheGlzfHwodC54YXhpcz10LnhheGlzMSksZGVsZXRlIHQueGF4aXMxKSx0LnlheGlzMSYmKHQueWF4aXN8fCh0LnlheGlzPXQueWF4aXMxKSxkZWxldGUgdC55YXhpczEpLHQuc2NlbmUxJiYodC5zY2VuZXx8KHQuc2NlbmU9dC5zY2VuZTEpLGRlbGV0ZSB0LnNjZW5lMSk7dmFyIGk9KHMuc3VicGxvdHNSZWdpc3RyeS5jYXJ0ZXNpYW58fHt9KS5hdHRyUmVnZXgsbD0ocy5zdWJwbG90c1JlZ2lzdHJ5LnBvbGFyfHx7fSkuYXR0clJlZ2V4LGg9KHMuc3VicGxvdHNSZWdpc3RyeS50ZXJuYXJ5fHx7fSkuYXR0clJlZ2V4LGY9KHMuc3VicGxvdHNSZWdpc3RyeS5nbDNkfHx7fSkuYXR0clJlZ2V4LGc9T2JqZWN0LmtleXModCk7Zm9yKGU9MDtlPGcubGVuZ3RoO2UrKyl7dmFyIHY9Z1tlXTtpZihpJiZpLnRlc3Qodikpe3ZhciBtPXRbdl07bS5hbmNob3ImJiJmcmVlIiE9PW0uYW5jaG9yJiYobS5hbmNob3I9dShtLmFuY2hvcikpLG0ub3ZlcmxheWluZyYmKG0ub3ZlcmxheWluZz11KG0ub3ZlcmxheWluZykpLG0udHlwZXx8KG0uaXNkYXRlP20udHlwZT0iZGF0ZSI6bS5pc2xvZz9tLnR5cGU9ImxvZyI6ITE9PT1tLmlzZGF0ZSYmITE9PT1tLmlzbG9nJiYobS50eXBlPSJsaW5lYXIiKSksIndpdGh6ZXJvIiE9PW0uYXV0b3JhbmdlJiYidG96ZXJvIiE9PW0uYXV0b3JhbmdlfHwobS5hdXRvcmFuZ2U9ITAsbS5yYW5nZW1vZGU9InRvemVybyIpLGRlbGV0ZSBtLmlzbG9nLGRlbGV0ZSBtLmlzZGF0ZSxkZWxldGUgbS5jYXRlZ29yaWVzLHkobSwiZG9tYWluIikmJmRlbGV0ZSBtLmRvbWFpbix2b2lkIDAhPT1tLmF1dG90aWNrJiYodm9pZCAwPT09bS50aWNrbW9kZSYmKG0udGlja21vZGU9bS5hdXRvdGljaz8iYXV0byI6ImxpbmVhciIpLGRlbGV0ZSBtLmF1dG90aWNrKSxkKG0pfWVsc2UgaWYobCYmbC50ZXN0KHYpKXtkKHRbdl0ucmFkaWFsYXhpcyl9ZWxzZSBpZihoJiZoLnRlc3Qodikpe3ZhciB4PXRbdl07ZCh4LmFheGlzKSxkKHguYmF4aXMpLGQoeC5jYXhpcyl9ZWxzZSBpZihmJiZmLnRlc3Qodikpe3ZhciBiPXRbdl0sXz1iLmNhbWVyYXBvc2l0aW9uO2lmKEFycmF5LmlzQXJyYXkoXykmJjQ9PT1fWzBdLmxlbmd0aCl7dmFyIHc9X1swXSxrPV9bMV0sVD1fWzJdLE09YShbXSx3KSxBPVtdO2ZvcihuPTA7bjwzOysrbilBW25dPWtbbl0rVCpNWzIrNCpuXTtiLmNhbWVyYT17ZXllOnt4OkFbMF0seTpBWzFdLHo6QVsyXX0sY2VudGVyOnt4OmtbMF0seTprWzFdLHo6a1syXX0sdXA6e3g6MCx5OjAsejoxfX0sZGVsZXRlIGIuY2FtZXJhcG9zaXRpb259ZChiLnhheGlzKSxkKGIueWF4aXMpLGQoYi56YXhpcyl9fXZhciBTPUFycmF5LmlzQXJyYXkodC5hbm5vdGF0aW9ucyk/dC5hbm5vdGF0aW9ucy5sZW5ndGg6MDtmb3IoZT0wO2U8UztlKyspe3ZhciBFPXQuYW5ub3RhdGlvbnNbZV07by5pc1BsYWluT2JqZWN0KEUpJiYoRS5yZWYmJigicGFwZXIiPT09RS5yZWY/KEUueHJlZj0icGFwZXIiLEUueXJlZj0icGFwZXIiKToiZGF0YSI9PT1FLnJlZiYmKEUueHJlZj0ieCIsRS55cmVmPSJ5IiksZGVsZXRlIEUucmVmKSxwKEUsInhyZWYiKSxwKEUsInlyZWYiKSl9dmFyIEw9QXJyYXkuaXNBcnJheSh0LnNoYXBlcyk/dC5zaGFwZXMubGVuZ3RoOjA7Zm9yKGU9MDtlPEw7ZSsrKXt2YXIgQz10LnNoYXBlc1tlXTtvLmlzUGxhaW5PYmplY3QoQykmJihwKEMsInhyZWYiKSxwKEMsInlyZWYiKSl9dmFyIFA9dC5sZWdlbmQ7cmV0dXJuIFAmJihQLng+Mz8oUC54PTEuMDIsUC54YW5jaG9yPSJsZWZ0Iik6UC54PC0yJiYoUC54PS0uMDIsUC54YW5jaG9yPSJyaWdodCIpLFAueT4zPyhQLnk9MS4wMixQLnlhbmNob3I9ImJvdHRvbSIpOlAueTwtMiYmKFAueT0tLjAyLFAueWFuY2hvcj0idG9wIikpLGQodCksInJvdGF0ZSI9PT10LmRyYWdtb2RlJiYodC5kcmFnbW9kZT0ib3JiaXQiKSxjLmNsZWFuKHQpLHQudGVtcGxhdGUmJnQudGVtcGxhdGUubGF5b3V0JiZyLmNsZWFuTGF5b3V0KHQudGVtcGxhdGUubGF5b3V0KSx0fSxyLmNsZWFuRGF0YT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG4sYT10W2VdO2lmKCJoaXN0b2dyYW15Ij09PWEudHlwZSYmInhiaW5zImluIGEmJiEoInliaW5zImluIGEpJiYoYS55Ymlucz1hLnhiaW5zLGRlbGV0ZSBhLnhiaW5zKSxhLmVycm9yX3kmJiJvcGFjaXR5ImluIGEuZXJyb3JfeSl7dmFyIGw9Yy5kZWZhdWx0cyxoPWEuZXJyb3JfeS5jb2xvcnx8KGYoYSwiYmFyIik/Yy5kZWZhdWx0TGluZTpsW2UlbC5sZW5ndGhdKTthLmVycm9yX3kuY29sb3I9Yy5hZGRPcGFjaXR5KGMucmdiKGgpLGMub3BhY2l0eShoKSphLmVycm9yX3kub3BhY2l0eSksZGVsZXRlIGEuZXJyb3JfeS5vcGFjaXR5fWlmKCJiYXJkaXIiaW4gYSYmKCJoIiE9PWEuYmFyZGlyfHwhZihhLCJiYXIiKSYmImhpc3RvZ3JhbSIhPT1hLnR5cGUuc3Vic3RyKDAsOSl8fChhLm9yaWVudGF0aW9uPSJoIixyLnN3YXBYWURhdGEoYSkpLGRlbGV0ZSBhLmJhcmRpciksImhpc3RvZ3JhbXkiPT09YS50eXBlJiZyLnN3YXBYWURhdGEoYSksImhpc3RvZ3JhbXgiIT09YS50eXBlJiYiaGlzdG9ncmFteSIhPT1hLnR5cGV8fChhLnR5cGU9Imhpc3RvZ3JhbSIpLCJzY2wiaW4gYSYmISgiY29sb3JzY2FsZSJpbiBhKSYmKGEuY29sb3JzY2FsZT1hLnNjbCxkZWxldGUgYS5zY2wpLCJyZXZlcnNlc2NsImluIGEmJiEoInJldmVyc2VzY2FsZSJpbiBhKSYmKGEucmV2ZXJzZXNjYWxlPWEucmV2ZXJzZXNjbCxkZWxldGUgYS5yZXZlcnNlc2NsKSxhLnhheGlzJiYoYS54YXhpcz11KGEueGF4aXMsIngiKSksYS55YXhpcyYmKGEueWF4aXM9dShhLnlheGlzLCJ5IikpLGYoYSwiZ2wzZCIpJiZhLnNjZW5lJiYoYS5zY2VuZT1zLnN1YnBsb3RzUmVnaXN0cnkuZ2wzZC5jbGVhbklkKGEuc2NlbmUpKSwhZihhLCJwaWUtbGlrZSIpJiYhZihhLCJiYXItbGlrZSIpKWlmKEFycmF5LmlzQXJyYXkoYS50ZXh0cG9zaXRpb24pKWZvcihuPTA7bjxhLnRleHRwb3NpdGlvbi5sZW5ndGg7bisrKWEudGV4dHBvc2l0aW9uW25dPW0oYS50ZXh0cG9zaXRpb25bbl0pO2Vsc2UgYS50ZXh0cG9zaXRpb24mJihhLnRleHRwb3NpdGlvbj1tKGEudGV4dHBvc2l0aW9uKSk7dmFyIHA9aS5nZXRNb2R1bGUoYSk7aWYocCYmcC5jb2xvcmJhcil7dmFyIHg9cC5jb2xvcmJhci5jb250YWluZXIsYj14P2FbeF06YTtiJiZiLmNvbG9yc2NhbGUmJigiWUlHbkJ1Ij09PWIuY29sb3JzY2FsZSYmKGIuY29sb3JzY2FsZT0iWWxHbkJ1IiksIllJT3JSZCI9PT1iLmNvbG9yc2NhbGUmJihiLmNvbG9yc2NhbGU9IllsT3JSZCIpKX1pZigic3VyZmFjZSI9PT1hLnR5cGUmJm8uaXNQbGFpbk9iamVjdChhLmNvbnRvdXJzKSl7dmFyIF89WyJ4IiwieSIsInoiXTtmb3Iobj0wO248Xy5sZW5ndGg7bisrKXt2YXIgdz1hLmNvbnRvdXJzW19bbl1dO28uaXNQbGFpbk9iamVjdCh3KSYmKHcuaGlnaGxpZ2h0Q29sb3ImJih3LmhpZ2hsaWdodGNvbG9yPXcuaGlnaGxpZ2h0Q29sb3IsZGVsZXRlIHcuaGlnaGxpZ2h0Q29sb3IpLHcuaGlnaGxpZ2h0V2lkdGgmJih3LmhpZ2hsaWdodHdpZHRoPXcuaGlnaGxpZ2h0V2lkdGgsZGVsZXRlIHcuaGlnaGxpZ2h0V2lkdGgpKX19aWYoImNhbmRsZXN0aWNrIj09PWEudHlwZXx8Im9obGMiPT09YS50eXBlKXt2YXIgaz0hMSE9PShhLmluY3JlYXNpbmd8fHt9KS5zaG93bGVnZW5kLFQ9ITEhPT0oYS5kZWNyZWFzaW5nfHx7fSkuc2hvd2xlZ2VuZCxNPWcoYS5pbmNyZWFzaW5nKSxBPWcoYS5kZWNyZWFzaW5nKTtpZighMSE9PU0mJiExIT09QSl7dmFyIFM9dihNLEEsayxUKTtTJiYoYS5uYW1lPVMpfWVsc2UhTSYmIUF8fGEubmFtZXx8KGEubmFtZT1NfHxBKX1pZihBcnJheS5pc0FycmF5KGEudHJhbnNmb3Jtcykpe3ZhciBFPWEudHJhbnNmb3Jtcztmb3Iobj0wO248RS5sZW5ndGg7bisrKXt2YXIgTD1FW25dO2lmKG8uaXNQbGFpbk9iamVjdChMKSlzd2l0Y2goTC50eXBlKXtjYXNlImZpbHRlciI6TC5maWx0ZXJzcmMmJihMLnRhcmdldD1MLmZpbHRlcnNyYyxkZWxldGUgTC5maWx0ZXJzcmMpLEwuY2FsZW5kYXImJihMLnZhbHVlY2FsZW5kYXJ8fChMLnZhbHVlY2FsZW5kYXI9TC5jYWxlbmRhciksZGVsZXRlIEwuY2FsZW5kYXIpO2JyZWFrO2Nhc2UiZ3JvdXBieSI6aWYoTC5zdHlsZXM9TC5zdHlsZXN8fEwuc3R5bGUsTC5zdHlsZXMmJiFBcnJheS5pc0FycmF5KEwuc3R5bGVzKSl7dmFyIEM9TC5zdHlsZXMsUD1PYmplY3Qua2V5cyhDKTtMLnN0eWxlcz1bXTtmb3IodmFyIE89MDtPPFAubGVuZ3RoO08rKylMLnN0eWxlcy5wdXNoKHt0YXJnZXQ6UFtPXSx2YWx1ZTpDW1BbT11dfSl9fX19eShhLCJsaW5lIikmJmRlbGV0ZSBhLmxpbmUsIm1hcmtlciJpbiBhJiYoeShhLm1hcmtlciwibGluZSIpJiZkZWxldGUgYS5tYXJrZXIubGluZSx5KGEsIm1hcmtlciIpJiZkZWxldGUgYS5tYXJrZXIpLGMuY2xlYW4oYSksYS5hdXRvYmlueCYmKGRlbGV0ZSBhLmF1dG9iaW54LGRlbGV0ZSBhLnhiaW5zKSxhLmF1dG9iaW55JiYoZGVsZXRlIGEuYXV0b2JpbnksZGVsZXRlIGEueWJpbnMpLGQoYSksYS5jb2xvcmJhciYmZChhLmNvbG9yYmFyKSxhLm1hcmtlciYmYS5tYXJrZXIuY29sb3JiYXImJmQoYS5tYXJrZXIuY29sb3JiYXIpLGEubGluZSYmYS5saW5lLmNvbG9yYmFyJiZkKGEubGluZS5jb2xvcmJhciksYS5hYXhpcyYmZChhLmFheGlzKSxhLmJheGlzJiZkKGEuYmF4aXMpfX0sci5zd2FwWFlEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlO2lmKG8uc3dhcEF0dHJzKHQsWyI/IiwiPzAiLCJkPyIsIj9iaW5zIiwibmJpbnM/IiwiYXV0b2Jpbj8iLCI/c3JjIiwiZXJyb3JfPyJdKSxBcnJheS5pc0FycmF5KHQueikmJkFycmF5LmlzQXJyYXkodC56WzBdKSYmKHQudHJhbnNwb3NlP2RlbGV0ZSB0LnRyYW5zcG9zZTp0LnRyYW5zcG9zZT0hMCksdC5lcnJvcl94JiZ0LmVycm9yX3kpe3ZhciByPXQuZXJyb3JfeSxuPSJjb3B5X3lzdHlsZSJpbiByP3IuY29weV95c3R5bGU6IShyLmNvbG9yfHxyLnRoaWNrbmVzc3x8ci53aWR0aCk7by5zd2FwQXR0cnModCxbImVycm9yXz8uY29weV95c3R5bGUiXSksbiYmby5zd2FwQXR0cnModCxbImVycm9yXz8uY29sb3IiLCJlcnJvcl8/LnRoaWNrbmVzcyIsImVycm9yXz8ud2lkdGgiXSl9aWYoInN0cmluZyI9PXR5cGVvZiB0LmhvdmVyaW5mbyl7dmFyIGE9dC5ob3ZlcmluZm8uc3BsaXQoIisiKTtmb3IoZT0wO2U8YS5sZW5ndGg7ZSsrKSJ4Ij09PWFbZV0/YVtlXT0ieSI6InkiPT09YVtlXSYmKGFbZV09IngiKTt0LmhvdmVyaW5mbz1hLmpvaW4oIisiKX19LHIuY29lcmNlVHJhY2VJbmRpY2VzPWZ1bmN0aW9uKHQsZSl7aWYobihlKSlyZXR1cm5bZV07aWYoIUFycmF5LmlzQXJyYXkoZSl8fCFlLmxlbmd0aClyZXR1cm4gdC5kYXRhLm1hcChmdW5jdGlvbih0LGUpe3JldHVybiBlfSk7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciByPVtdLGE9MDthPGUubGVuZ3RoO2ErKylvLmlzSW5kZXgoZVthXSx0LmRhdGEubGVuZ3RoKT9yLnB1c2goZVthXSk6by53YXJuKCJ0cmFjZSBpbmRleCAoIixlW2FdLCIpIGlzIG5vdCBhIG51bWJlciBvciBpcyBvdXQgb2YgYm91bmRzIik7cmV0dXJuIHJ9cmV0dXJuIGV9LHIubWFuYWdlQXJyYXlDb250YWluZXJzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10Lm9iaixpPXQucGFydHMscz1pLmxlbmd0aCxsPWlbcy0xXSxjPW4obCk7aWYoYyYmbnVsbD09PWUpe3ZhciB1PWkuc2xpY2UoMCxzLTEpLmpvaW4oIi4iKTtvLm5lc3RlZFByb3BlcnR5KGEsdSkuZ2V0KCkuc3BsaWNlKGwsMSl9ZWxzZSBjJiZ2b2lkIDA9PT10LmdldCgpPyh2b2lkIDA9PT10LmdldCgpJiYoclt0LmFzdHJdPW51bGwpLHQuc2V0KGUpKTp0LnNldChlKX07dmFyIHg9LyhcLlteXFtcXVwuXSt8XFtbXlxbXF1cLl0rXF0pJC87ZnVuY3Rpb24gYih0KXt2YXIgZT10LnNlYXJjaCh4KTtpZihlPjApcmV0dXJuIHQuc3Vic3RyKDAsZSl9ci5oYXNQYXJlbnQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9YihlKTtyOyl7aWYociBpbiB0KXJldHVybiEwO3I9YihyKX1yZXR1cm4hMX07dmFyIF89WyJ4IiwieSIsInoiXTtyLmNsZWFyQXhpc1R5cGVzPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylmb3IodmFyIGE9dC5fZnVsbERhdGFbbl0saT0wO2k8MztpKyspe3ZhciBzPWgodCxhLF9baV0pO2lmKHMmJiJsb2ciIT09cy50eXBlKXt2YXIgbD1zLl9uYW1lLGM9cy5faWQuc3Vic3RyKDEpO2lmKCJzY2VuZSI9PT1jLnN1YnN0cigwLDUpKXtpZih2b2lkIDAhPT1yW2NdKWNvbnRpbnVlO2w9YysiLiIrbH12YXIgdT1sKyIudHlwZSI7dm9pZCAwPT09cltsXSYmdm9pZCAwPT09clt1XSYmby5uZXN0ZWRQcm9wZXJ0eSh0LmxheW91dCx1KS5zZXQobnVsbCl9fX19LHsiLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi9saWIiOjcxNywiLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsIi4uL3Bsb3RzL3Bsb3RzIjo4MjYsIi4uL3JlZ2lzdHJ5Ijo4NDYsImZhc3QtaXNudW1lcmljIjoyMjgsImdsLW1hdDQvZnJvbVF1YXQiOjI2NX1dLDc1MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL3Bsb3RfYXBpIik7ci5wbG90PW4ucGxvdCxyLm5ld1Bsb3Q9bi5uZXdQbG90LHIucmVzdHlsZT1uLnJlc3R5bGUsci5yZWxheW91dD1uLnJlbGF5b3V0LHIucmVkcmF3PW4ucmVkcmF3LHIudXBkYXRlPW4udXBkYXRlLHIuX2d1aVJlc3R5bGU9bi5fZ3VpUmVzdHlsZSxyLl9ndWlSZWxheW91dD1uLl9ndWlSZWxheW91dCxyLl9ndWlVcGRhdGU9bi5fZ3VpVXBkYXRlLHIuX3N0b3JlRGlyZWN0R1VJRWRpdD1uLl9zdG9yZURpcmVjdEdVSUVkaXQsci5yZWFjdD1uLnJlYWN0LHIuZXh0ZW5kVHJhY2VzPW4uZXh0ZW5kVHJhY2VzLHIucHJlcGVuZFRyYWNlcz1uLnByZXBlbmRUcmFjZXMsci5hZGRUcmFjZXM9bi5hZGRUcmFjZXMsci5kZWxldGVUcmFjZXM9bi5kZWxldGVUcmFjZXMsci5tb3ZlVHJhY2VzPW4ubW92ZVRyYWNlcyxyLnB1cmdlPW4ucHVyZ2Usci5hZGRGcmFtZXM9bi5hZGRGcmFtZXMsci5kZWxldGVGcmFtZXM9bi5kZWxldGVGcmFtZXMsci5hbmltYXRlPW4uYW5pbWF0ZSxyLnNldFBsb3RDb25maWc9bi5zZXRQbG90Q29uZmlnLHIudG9JbWFnZT10KCIuL3RvX2ltYWdlIiksci52YWxpZGF0ZT10KCIuL3ZhbGlkYXRlIiksci5kb3dubG9hZEltYWdlPXQoIi4uL3NuYXBzaG90L2Rvd25sb2FkIik7dmFyIGE9dCgiLi90ZW1wbGF0ZV9hcGkiKTtyLm1ha2VUZW1wbGF0ZT1hLm1ha2VUZW1wbGF0ZSxyLnZhbGlkYXRlVGVtcGxhdGU9YS52YWxpZGF0ZVRlbXBsYXRlfSx7Ii4uL3NuYXBzaG90L2Rvd25sb2FkIjo4NDgsIi4vcGxvdF9hcGkiOjc1MiwiLi90ZW1wbGF0ZV9hcGkiOjc1NywiLi90b19pbWFnZSI6NzU4LCIuL3ZhbGlkYXRlIjo3NTl9XSw3NTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vbGliL2lzX3BsYWluX29iamVjdCIpLGE9dCgiLi4vbGliL25vb3AiKSxpPXQoIi4uL2xpYi9sb2dnZXJzIiksbz10KCIuLi9saWIvc2VhcmNoIikuc29ydGVyQXNjLHM9dCgiLi4vcmVnaXN0cnkiKTtyLmNvbnRhaW5lckFycmF5TWF0Y2g9dCgiLi9jb250YWluZXJfYXJyYXlfbWF0Y2giKTt2YXIgbD1yLmlzQWRkVmFsPWZ1bmN0aW9uKHQpe3JldHVybiJhZGQiPT09dHx8bih0KX0sYz1yLmlzUmVtb3ZlVmFsPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8InJlbW92ZSI9PT10fTtyLmFwcGx5Q29udGFpbmVyQXJyYXlDaGFuZ2VzPWZ1bmN0aW9uKHQsZSxyLG4sdSl7dmFyIGg9ZS5hc3RyLGY9cy5nZXRDb21wb25lbnRNZXRob2QoaCwic3VwcGx5TGF5b3V0RGVmYXVsdHMiKSxwPXMuZ2V0Q29tcG9uZW50TWV0aG9kKGgsImRyYXciKSxkPXMuZ2V0Q29tcG9uZW50TWV0aG9kKGgsImRyYXdPbmUiKSxnPW4ucmVwbG90fHxuLnJlY2FsY3x8Zj09PWF8fHA9PT1hLHY9dC5sYXlvdXQsbT10Ll9mdWxsTGF5b3V0O2lmKHJbIiJdKXtPYmplY3Qua2V5cyhyKS5sZW5ndGg+MSYmaS53YXJuKCJGdWxsIGFycmF5IGVkaXRzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBvdGhlciBlZGl0cyIsaCk7dmFyIHk9clsiIl1bIiJdO2lmKGMoeSkpZS5zZXQobnVsbCk7ZWxzZXtpZighQXJyYXkuaXNBcnJheSh5KSlyZXR1cm4gaS53YXJuKCJVbnJlY29nbml6ZWQgZnVsbCBhcnJheSBlZGl0IHZhbHVlIixoLHkpLCEwO2Uuc2V0KHkpfXJldHVybiFnJiYoZih2LG0pLHAodCksITApfXZhciB4LGIsXyx3LGssVCxNLEEsUz1PYmplY3Qua2V5cyhyKS5tYXAoTnVtYmVyKS5zb3J0KG8pLEU9ZS5nZXQoKSxMPUV8fFtdLEM9dShtLGgpLmdldCgpLFA9W10sTz0tMSx6PUwubGVuZ3RoO2Zvcih4PTA7eDxTLmxlbmd0aDt4KyspaWYodz1yW189U1t4XV0saz1PYmplY3Qua2V5cyh3KSxUPXdbIiJdLE09bChUKSxfPDB8fF8+TC5sZW5ndGgtKE0/MDoxKSlpLndhcm4oImluZGV4IG91dCBvZiByYW5nZSIsaCxfKTtlbHNlIGlmKHZvaWQgMCE9PVQpay5sZW5ndGg+MSYmaS53YXJuKCJJbnNlcnRpb24gJiByZW1vdmFsIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBlZGl0cyB0byB0aGUgc2FtZSBpbmRleC4iLGgsXyksYyhUKT9QLnB1c2goXyk6TT8oImFkZCI9PT1UJiYoVD17fSksTC5zcGxpY2UoXywwLFQpLEMmJkMuc3BsaWNlKF8sMCx7fSkpOmkud2FybigiVW5yZWNvZ25pemVkIGZ1bGwgb2JqZWN0IGVkaXQgdmFsdWUiLGgsXyxUKSwtMT09PU8mJihPPV8pO2Vsc2UgZm9yKGI9MDtiPGsubGVuZ3RoO2IrKylBPWgrIlsiK18rIl0uIix1KExbX10sa1tiXSxBKS5zZXQod1trW2JdXSk7Zm9yKHg9UC5sZW5ndGgtMTt4Pj0wO3gtLSlMLnNwbGljZShQW3hdLDEpLEMmJkMuc3BsaWNlKFBbeF0sMSk7aWYoTC5sZW5ndGg/RXx8ZS5zZXQoTCk6ZS5zZXQobnVsbCksZylyZXR1cm4hMTtpZihmKHYsbSksZCE9PWEpe3ZhciBJO2lmKC0xPT09TylJPVM7ZWxzZXtmb3Ioej1NYXRoLm1heChMLmxlbmd0aCx6KSxJPVtdLHg9MDt4PFMubGVuZ3RoJiYhKChfPVNbeF0pPj1PKTt4KyspSS5wdXNoKF8pO2Zvcih4PU87eDx6O3grKylJLnB1c2goeCl9Zm9yKHg9MDt4PEkubGVuZ3RoO3grKylkKHQsSVt4XSl9ZWxzZSBwKHQpO3JldHVybiEwfX0seyIuLi9saWIvaXNfcGxhaW5fb2JqZWN0Ijo3MTgsIi4uL2xpYi9sb2dnZXJzIjo3MjEsIi4uL2xpYi9ub29wIjo3MjYsIi4uL2xpYi9zZWFyY2giOjczNiwiLi4vcmVnaXN0cnkiOjg0NiwiLi9jb250YWluZXJfYXJyYXlfbWF0Y2giOjc0N31dLDc1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoImhhcy1ob3ZlciIpLG89dCgiLi4vbGliIikscz1vLm5lc3RlZFByb3BlcnR5LGw9dCgiLi4vbGliL2V2ZW50cyIpLGM9dCgiLi4vbGliL3F1ZXVlIiksdT10KCIuLi9yZWdpc3RyeSIpLGg9dCgiLi9wbG90X3NjaGVtYSIpLGY9dCgiLi4vcGxvdHMvcGxvdHMiKSxwPXQoIi4uL3Bsb3RzL3BvbGFyL2xlZ2FjeSIpLGQ9dCgiLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxnPXQoIi4uL2NvbXBvbmVudHMvZHJhd2luZyIpLHY9dCgiLi4vY29tcG9uZW50cy9jb2xvciIpLG09dCgiLi4vcGxvdHMvY2FydGVzaWFuL2dyYXBoX2ludGVyYWN0IikuaW5pdEludGVyYWN0aW9ucyx5PXQoIi4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIikseD10KCIuLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxiPXQoIi4uL3Bsb3RzL2NhcnRlc2lhbi9zZWxlY3QiKS5jbGVhclNlbGVjdCxfPXQoIi4vcGxvdF9jb25maWciKS5kZmx0Q29uZmlnLHc9dCgiLi9tYW5hZ2VfYXJyYXlzIiksaz10KCIuL2hlbHBlcnMiKSxUPXQoIi4vc3Vicm91dGluZXMiKSxNPXQoIi4vZWRpdF90eXBlcyIpLEE9dCgiLi4vcGxvdHMvY2FydGVzaWFuL2NvbnN0YW50cyIpLkFYX05BTUVfUEFUVEVSTixTPTAsRT01O2Z1bmN0aW9uIEwodCl7dmFyIGU9dC5fZnVsbExheW91dDtlLl9yZWRyYXdGcm9tQXV0b01hcmdpbkNvdW50P2UuX3JlZHJhd0Zyb21BdXRvTWFyZ2luQ291bnQtLTp0LmVtaXQoInBsb3RseV9hZnRlcnBsb3QiKX1mdW5jdGlvbiBDKHQsZSl7dHJ5e3QuX2Z1bGxMYXlvdXQuX3BhcGVyLnN0eWxlKCJiYWNrZ3JvdW5kIixlKX1jYXRjaCh0KXtvLmVycm9yKHQpfX1mdW5jdGlvbiBQKHQsZSl7Qyh0LHYuY29tYmluZShlLCJ3aGl0ZSIpKX1mdW5jdGlvbiBPKHQsZSl7aWYoIXQuX2NvbnRleHQpe3QuX2NvbnRleHQ9by5leHRlbmREZWVwKHt9LF8pO3ZhciByPW4uc2VsZWN0KCJiYXNlIik7dC5fY29udGV4dC5fYmFzZVVybD1yLnNpemUoKSYmci5hdHRyKCJocmVmIik/d2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXToiIn12YXIgYSxzLGwsYz10Ll9jb250ZXh0O2lmKGUpe2ZvcihzPU9iamVjdC5rZXlzKGUpLGE9MDthPHMubGVuZ3RoO2ErKykiZWRpdGFibGUiIT09KGw9c1thXSkmJiJlZGl0cyIhPT1sJiZsIGluIGMmJigic2V0QmFja2dyb3VuZCI9PT1sJiYib3BhcXVlIj09PWVbbF0/Y1tsXT1QOmNbbF09ZVtsXSk7ZS5wbG90M2RQaXhlbFJhdGlvJiYhYy5wbG90R2xQaXhlbFJhdGlvJiYoYy5wbG90R2xQaXhlbFJhdGlvPWMucGxvdDNkUGl4ZWxSYXRpbyk7dmFyIHU9ZS5lZGl0YWJsZTtpZih2b2lkIDAhPT11KWZvcihjLmVkaXRhYmxlPXUscz1PYmplY3Qua2V5cyhjLmVkaXRzKSxhPTA7YTxzLmxlbmd0aDthKyspYy5lZGl0c1tzW2FdXT11O2lmKGUuZWRpdHMpZm9yKHM9T2JqZWN0LmtleXMoZS5lZGl0cyksYT0wO2E8cy5sZW5ndGg7YSsrKShsPXNbYV0paW4gYy5lZGl0cyYmKGMuZWRpdHNbbF09ZS5lZGl0c1tsXSk7Yy5fZXhwb3J0ZWRQbG90PWUuX2V4cG9ydGVkUGxvdH1jLnN0YXRpY1Bsb3QmJihjLmVkaXRhYmxlPSExLGMuZWRpdHM9e30sYy5hdXRvc2l6YWJsZT0hMSxjLnNjcm9sbFpvb209ITEsYy5kb3VibGVDbGljaz0hMSxjLnNob3dUaXBzPSExLGMuc2hvd0xpbms9ITEsYy5kaXNwbGF5TW9kZUJhcj0hMSksImhvdmVyIiE9PWMuZGlzcGxheU1vZGVCYXJ8fGl8fChjLmRpc3BsYXlNb2RlQmFyPSEwKSwidHJhbnNwYXJlbnQiIT09Yy5zZXRCYWNrZ3JvdW5kJiYiZnVuY3Rpb24iPT10eXBlb2YgYy5zZXRCYWNrZ3JvdW5kfHwoYy5zZXRCYWNrZ3JvdW5kPUMpLGMuX2hhc1plcm9IZWlnaHQ9Yy5faGFzWmVyb0hlaWdodHx8MD09PXQuY2xpZW50SGVpZ2h0LGMuX2hhc1plcm9XaWR0aD1jLl9oYXNaZXJvV2lkdGh8fDA9PT10LmNsaWVudFdpZHRoO3ZhciBoPWMuc2Nyb2xsWm9vbSxmPWMuX3Njcm9sbFpvb209e307aWYoITA9PT1oKWYuY2FydGVzaWFuPTEsZi5nbDNkPTEsZi5nZW89MSxmLm1hcGJveD0xO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBoKXt2YXIgcD1oLnNwbGl0KCIrIik7Zm9yKGE9MDthPHAubGVuZ3RoO2ErKylmW3BbYV1dPTF9ZWxzZSExIT09aCYmKGYuZ2wzZD0xLGYuZ2VvPTEsZi5tYXBib3g9MSl9ZnVuY3Rpb24geih0LGUpe3ZhciByLG4sYT1lKzEsaT1bXTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKShuPXRbcl0pPDA/aS5wdXNoKGErbik6aS5wdXNoKG4pO3JldHVybiBpfWZ1bmN0aW9uIEkodCxlLHIpe3ZhciBuLGE7Zm9yKG49MDtuPGUubGVuZ3RoO24rKyl7aWYoKGE9ZVtuXSkhPT1wYXJzZUludChhLDEwKSl0aHJvdyBuZXcgRXJyb3IoImFsbCB2YWx1ZXMgaW4gIityKyIgbXVzdCBiZSBpbnRlZ2VycyIpO2lmKGE+PXQuZGF0YS5sZW5ndGh8fGE8LXQuZGF0YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKHIrIiBtdXN0IGJlIHZhbGlkIGluZGljZXMgZm9yIGdkLmRhdGEuIik7aWYoZS5pbmRleE9mKGEsbisxKT4tMXx8YT49MCYmZS5pbmRleE9mKC10LmRhdGEubGVuZ3RoK2EpPi0xfHxhPDAmJmUuaW5kZXhPZih0LmRhdGEubGVuZ3RoK2EpPi0xKXRocm93IG5ldyBFcnJvcigiZWFjaCBpbmRleCBpbiAiK3IrIiBtdXN0IGJlIHVuaXF1ZS4iKX19ZnVuY3Rpb24gRCh0LGUscil7aWYoIUFycmF5LmlzQXJyYXkodC5kYXRhKSl0aHJvdyBuZXcgRXJyb3IoImdkLmRhdGEgbXVzdCBiZSBhbiBhcnJheS4iKTtpZigidW5kZWZpbmVkIj09dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJjdXJyZW50SW5kaWNlcyBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50LiIpO2lmKEFycmF5LmlzQXJyYXkoZSl8fChlPVtlXSksSSh0LGUsImN1cnJlbnRJbmRpY2VzIiksInVuZGVmaW5lZCI9PXR5cGVvZiByfHxBcnJheS5pc0FycmF5KHIpfHwocj1bcl0pLCJ1bmRlZmluZWQiIT10eXBlb2YgciYmSSh0LHIsIm5ld0luZGljZXMiKSwidW5kZWZpbmVkIiE9dHlwZW9mIHImJmUubGVuZ3RoIT09ci5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJjdXJyZW50IGFuZCBuZXcgaW5kaWNlcyBtdXN0IGJlIG9mIGVxdWFsIGxlbmd0aC4iKX1mdW5jdGlvbiBSKHQsZSxyLG4saSl7IWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW8uaXNQbGFpbk9iamVjdChuKTtpZighQXJyYXkuaXNBcnJheSh0LmRhdGEpKXRocm93IG5ldyBFcnJvcigiZ2QuZGF0YSBtdXN0IGJlIGFuIGFycmF5Iik7aWYoIW8uaXNQbGFpbk9iamVjdChlKSl0aHJvdyBuZXcgRXJyb3IoInVwZGF0ZSBtdXN0IGJlIGEga2V5OnZhbHVlIG9iamVjdCIpO2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygcil0aHJvdyBuZXcgRXJyb3IoImluZGljZXMgbXVzdCBiZSBhbiBpbnRlZ2VyIG9yIGFycmF5IG9mIGludGVnZXJzIik7Zm9yKHZhciBpIGluIEkodCxyLCJpbmRpY2VzIiksZSl7aWYoIUFycmF5LmlzQXJyYXkoZVtpXSl8fGVbaV0ubGVuZ3RoIT09ci5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJhdHRyaWJ1dGUgIitpKyIgbXVzdCBiZSBhbiBhcnJheSBvZiBsZW5ndGggZXF1YWwgdG8gaW5kaWNlcyBhcnJheSBsZW5ndGgiKTtpZihhJiYoIShpIGluIG4pfHwhQXJyYXkuaXNBcnJheShuW2ldKXx8bltpXS5sZW5ndGghPT1lW2ldLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKCJ3aGVuIG1heFBvaW50cyBpcyBzZXQgYXMgYSBrZXk6dmFsdWUgb2JqZWN0IGl0IG11c3QgY29udGFpbiBhIDE6MSBjb3JyaXNwb25kZW5jZSB3aXRoIHRoZSBrZXlzIGFuZCBudW1iZXIgb2YgdHJhY2VzIGluIHRoZSB1cGRhdGUgb2JqZWN0Iil9fSh0LGUscixuKTtmb3IodmFyIGw9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGksbCxjLHUsaCxmPW8uaXNQbGFpbk9iamVjdChuKSxwPVtdO2Zvcih2YXIgZCBpbiBBcnJheS5pc0FycmF5KHIpfHwocj1bcl0pLHI9eihyLHQuZGF0YS5sZW5ndGgtMSksZSlmb3IodmFyIGc9MDtnPHIubGVuZ3RoO2crKyl7aWYoaT10LmRhdGFbcltnXV0sbD0oYz1zKGksZCkpLmdldCgpLHU9ZVtkXVtnXSwhby5pc0FycmF5T3JUeXBlZEFycmF5KHUpKXRocm93IG5ldyBFcnJvcigiYXR0cmlidXRlOiAiK2QrIiBpbmRleDogIitnKyIgbXVzdCBiZSBhbiBhcnJheSIpO2lmKCFvLmlzQXJyYXlPclR5cGVkQXJyYXkobCkpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgZXh0ZW5kIG1pc3Npbmcgb3Igbm9uLWFycmF5IGF0dHJpYnV0ZTogIitkKTtpZihsLmNvbnN0cnVjdG9yIT09dS5jb25zdHJ1Y3Rvcil0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBleHRlbmQgYXJyYXkgd2l0aCBhbiBhcnJheSBvZiBhIGRpZmZlcmVudCB0eXBlOiAiK2QpO2g9Zj9uW2RdW2ddOm4sYShoKXx8KGg9LTEpLHAucHVzaCh7cHJvcDpjLHRhcmdldDpsLGluc2VydDp1LG1heHA6TWF0aC5mbG9vcihoKX0pfXJldHVybiBwfSh0LGUscixuKSxjPXt9LHU9e30saD0wO2g8bC5sZW5ndGg7aCsrKXt2YXIgZj1sW2hdLnByb3AscD1sW2hdLm1heHAsZD1pKGxbaF0udGFyZ2V0LGxbaF0uaW5zZXJ0LHApO2Yuc2V0KGRbMF0pLEFycmF5LmlzQXJyYXkoY1tmLmFzdHJdKXx8KGNbZi5hc3RyXT1bXSksY1tmLmFzdHJdLnB1c2goZFsxXSksQXJyYXkuaXNBcnJheSh1W2YuYXN0cl0pfHwodVtmLmFzdHJdPVtdKSx1W2YuYXN0cl0ucHVzaChsW2hdLnRhcmdldC5sZW5ndGgpfXJldHVybnt1cGRhdGU6YyxtYXhQb2ludHM6dX19ZnVuY3Rpb24gRih0LGUpe3ZhciByPW5ldyB0LmNvbnN0cnVjdG9yKHQubGVuZ3RoK2UubGVuZ3RoKTtyZXR1cm4gci5zZXQodCksci5zZXQoZSx0Lmxlbmd0aCkscn1mdW5jdGlvbiBCKHQsZSxuLGEpe3Q9by5nZXRHcmFwaERpdih0KSxrLmNsZWFyUHJvbWlzZVF1ZXVlKHQpO3ZhciBpPXt9O2lmKCJzdHJpbmciPT10eXBlb2YgZSlpW2VdPW47ZWxzZXtpZighby5pc1BsYWluT2JqZWN0KGUpKXJldHVybiBvLndhcm4oIlJlc3R5bGUgZmFpbC4iLGUsbixhKSxQcm9taXNlLnJlamVjdCgpO2k9by5leHRlbmRGbGF0KHt9LGUpLHZvaWQgMD09PWEmJihhPW4pfU9iamVjdC5rZXlzKGkpLmxlbmd0aCYmKHQuY2hhbmdlZD0hMCk7dmFyIHM9ay5jb2VyY2VUcmFjZUluZGljZXModCxhKSxsPVUodCxpLHMpLHU9bC5mbGFnczt1LmNhbGMmJih0LmNhbGNkYXRhPXZvaWQgMCksdS5jbGVhckF4aXNUeXBlcyYmay5jbGVhckF4aXNUeXBlcyh0LHMse30pO3ZhciBoPVtdO3UuZnVsbFJlcGxvdD9oLnB1c2goci5wbG90KTooaC5wdXNoKGYucHJldmlvdXNQcm9taXNlcyksZi5zdXBwbHlEZWZhdWx0cyh0KSx1Lm1hcmtlclNpemUmJihmLmRvQ2FsY2RhdGEodCksWShoKSksdS5zdHlsZSYmaC5wdXNoKFQuZG9UcmFjZVN0eWxlKSx1LmNvbG9yYmFycyYmaC5wdXNoKFQuZG9Db2xvckJhcnMpLGgucHVzaChMKSksaC5wdXNoKGYucmVob3ZlcixmLnJlZHJhZyksYy5hZGQodCxCLFt0LGwudW5kb2l0LGwudHJhY2VzXSxCLFt0LGwucmVkb2l0LGwudHJhY2VzXSk7dmFyIHA9by5zeW5jT3JBc3luYyhoLHQpO3JldHVybiBwJiZwLnRoZW58fChwPVByb21pc2UucmVzb2x2ZSgpKSxwLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5lbWl0KCJwbG90bHlfcmVzdHlsZSIsbC5ldmVudERhdGEpLHR9KX1mdW5jdGlvbiBOKHQpe3JldHVybiB2b2lkIDA9PT10P251bGw6dH1mdW5jdGlvbiBqKHQsZSl7cmV0dXJuIGU/ZnVuY3Rpb24oZSxyLG4pe3ZhciBhPXMoZSxyKSxpPWEuc2V0O3JldHVybiBhLnNldD1mdW5jdGlvbihlKXtWKChufHwiIikrcixhLmdldCgpLGUsdCksaShlKX0sYX06c31mdW5jdGlvbiBWKHQsZSxyLG4pe2lmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBhPUFycmF5LmlzQXJyYXkoZSk/ZTpbXSxpPUFycmF5LmlzQXJyYXkocik/cjpbXSxzPU1hdGgubWF4KGEubGVuZ3RoLGkubGVuZ3RoKSxsPTA7bDxzO2wrKylWKHQrIlsiK2wrIl0iLGFbbF0saVtsXSxuKTtlbHNlIGlmKG8uaXNQbGFpbk9iamVjdChlKXx8by5pc1BsYWluT2JqZWN0KHIpKXt2YXIgYz1vLmlzUGxhaW5PYmplY3QoZSk/ZTp7fSx1PW8uaXNQbGFpbk9iamVjdChyKT9yOnt9LGg9by5leHRlbmRGbGF0KHt9LGMsdSk7Zm9yKHZhciBmIGluIGgpVih0KyIuIitmLGNbZl0sdVtmXSxuKX1lbHNlIHZvaWQgMD09PW5bdF0mJihuW3RdPU4oZSkpfWZ1bmN0aW9uIFUodCxlLHIpe3ZhciBuLGE9dC5fZnVsbExheW91dCxpPXQuX2Z1bGxEYXRhLGw9dC5kYXRhLGM9YS5fZ3VpRWRpdGluZyxwPWooYS5fcHJlR1VJLGMpLGc9by5leHRlbmREZWVwQWxsKHt9LGUpO3EoZSk7dmFyIHYsbT1NLnRyYWNlRmxhZ3MoKSx5PXt9LHg9e307ZnVuY3Rpb24gYigpe3JldHVybiByLm1hcChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIF8odCl7dmFyIGU9ZC5pZDJuYW1lKHQpOy0xPT09di5pbmRleE9mKGUpJiZ2LnB1c2goZSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4iTEFZT1VUIit0KyIuYXV0b3JhbmdlIn1mdW5jdGlvbiBUKHQpe3JldHVybiJMQVlPVVQiK3QrIi5yYW5nZSJ9ZnVuY3Rpb24gQSh0KXtmb3IodmFyIGU9dDtlPGkubGVuZ3RoO2UrKylpZihpW2VdLl9pbnB1dD09PWxbdF0pcmV0dXJuIGlbZV19ZnVuY3Rpb24gUyhuLGksbyl7aWYoQXJyYXkuaXNBcnJheShuKSluLmZvckVhY2goZnVuY3Rpb24odCl7Uyh0LGksbyl9KTtlbHNlIGlmKCEobiBpbiBlfHxrLmhhc1BhcmVudChlLG4pKSl7dmFyIHM7aWYoIkxBWU9VVCI9PT1uLnN1YnN0cigwLDYpKXM9cCh0LmxheW91dCxuLnJlcGxhY2UoIkxBWU9VVCIsIiIpKTtlbHNle3ZhciB1PXJbb107cz1qKGEuX3RyYWNlUHJlR1VJW0EodSkuX2Z1bGxJbnB1dC51aWRdLGMpKGxbdV0sbil9biBpbiB4fHwoeFtuXT1iKCkpLHZvaWQgMD09PXhbbl1bb10mJih4W25dW29dPU4ocy5nZXQoKSkpLHZvaWQgMCE9PWkmJnMuc2V0KGkpfX1mdW5jdGlvbiBFKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gaVtlXVt0XX19ZnVuY3Rpb24gTCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4hMT09PWU/aVtyW25dXVt0XTpudWxsfX1mb3IodmFyIEMgaW4gZSl7aWYoay5oYXNQYXJlbnQoZSxDKSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBzZXQgIitDKyIgYW5kIGEgcGFyZW50IGF0dHJpYnV0ZSBzaW11bHRhbmVvdXNseSIpO3ZhciBQLE8seixJLEQsUixGPWVbQ107aWYoImF1dG9iaW54IiE9PUMmJiJhdXRvYmlueSIhPT1DfHwoQz1DLmNoYXJBdChDLmxlbmd0aC0xKSsiYmlucyIsRj1BcnJheS5pc0FycmF5KEYpP0YubWFwKEwoQykpOiExPT09Rj9yLm1hcChFKEMpKTpudWxsKSx5W0NdPUYsIkxBWU9VVCIhPT1DLnN1YnN0cigwLDYpKXtmb3IoeFtDXT1iKCksbj0wO248ci5sZW5ndGg7bisrKXtpZihQPWxbcltuXV0sTz1BKHJbbl0pLEk9KHo9aihhLl90cmFjZVByZUdVSVtPLl9mdWxsSW5wdXQudWlkXSxjKShQLEMpKS5nZXQoKSx2b2lkIDAhPT0oRD1BcnJheS5pc0FycmF5KEYpP0ZbbiVGLmxlbmd0aF06Rikpe3ZhciBCPXoucGFydHNbei5wYXJ0cy5sZW5ndGgtMV0sVj1DLnN1YnN0cigwLEMubGVuZ3RoLUIubGVuZ3RoLTEpLFU9Vj9WKyIuIjoiIixIPVY/cyhPLFYpLmdldCgpOk87aWYoKFI9aC5nZXRUcmFjZVZhbE9iamVjdChPLHoucGFydHMpKSYmUi5pbXBsaWVkRWRpdHMmJm51bGwhPT1EKWZvcih2YXIgRyBpbiBSLmltcGxpZWRFZGl0cylTKG8ucmVsYXRpdmVBdHRyKEMsRyksUi5pbXBsaWVkRWRpdHNbR10sbik7ZWxzZSBpZigidGhpY2tuZXNzbW9kZSIhPT1CJiYibGVubW9kZSIhPT1CfHxJPT09RHx8ImZyYWN0aW9uIiE9PUQmJiJwaXhlbHMiIT09RHx8IUgpe2lmKCJ0eXBlIj09PUMmJigicGllIj09PUQhPSgicGllIj09PUkpfHwiZnVubmVsYXJlYSI9PT1EIT0oImZ1bm5lbGFyZWEiPT09SSkpKXt2YXIgWT0ieCIsVz0ieSI7ImJhciIhPT1EJiYiYmFyIiE9PUl8fCJoIiE9PVAub3JpZW50YXRpb258fChZPSJ5IixXPSJ4Iiksby5zd2FwQXR0cnMoUCxbIj8iLCI/c3JjIl0sImxhYmVscyIsWSksby5zd2FwQXR0cnMoUCxbImQ/IiwiPzAiXSwibGFiZWwiLFkpLG8uc3dhcEF0dHJzKFAsWyI/IiwiP3NyYyJdLCJ2YWx1ZXMiLFcpLCJwaWUiPT09SXx8ImZ1bm5lbGFyZWEiPT09ST8ocyhQLCJtYXJrZXIuY29sb3IiKS5zZXQocyhQLCJtYXJrZXIuY29sb3JzIikuZ2V0KCkpLGEuX3BpZWxheWVyLnNlbGVjdEFsbCgiZy50cmFjZSIpLnJlbW92ZSgpKTp1LnRyYWNlSXMoUCwiY2FydGVzaWFuIikmJnMoUCwibWFya2VyLmNvbG9ycyIpLnNldChzKFAsIm1hcmtlci5jb2xvciIpLmdldCgpKX19ZWxzZXt2YXIgWD1hLl9zaXplLFo9SC5vcmllbnQsSj0idG9wIj09PVp8fCJib3R0b20iPT09WjtpZigidGhpY2tuZXNzbW9kZSI9PT1CKXt2YXIgSz1KP1guaDpYLnc7UyhVKyJ0aGlja25lc3MiLEgudGhpY2tuZXNzKigiZnJhY3Rpb24iPT09RD8xL0s6Syksbil9ZWxzZXt2YXIgUT1KP1gudzpYLmg7UyhVKyJsZW4iLEgubGVuKigiZnJhY3Rpb24iPT09RD8xL1E6USksbil9fXhbQ11bbl09TihJKTtpZigtMSE9PVsic3dhcHh5Iiwic3dhcHh5YXhlcyIsIm9yaWVudGF0aW9uIiwib3JpZW50YXRpb25heGVzIl0uaW5kZXhPZihDKSl7aWYoIm9yaWVudGF0aW9uIj09PUMpe3ouc2V0KEQpO3ZhciAkPVAueCYmIVAueT8iaCI6InYiO2lmKCh6LmdldCgpfHwkKT09PU8ub3JpZW50YXRpb24pY29udGludWV9ZWxzZSJvcmllbnRhdGlvbmF4ZXMiPT09QyYmKFAub3JpZW50YXRpb249e3Y6ImgiLGg6InYifVtPLm9yaWVudGF0aW9uXSk7ay5zd2FwWFlEYXRhKFApLG0uY2FsYz1tLmNsZWFyQXhpc1R5cGVzPSEwfWVsc2UtMSE9PWYuZGF0YUFycmF5Q29udGFpbmVycy5pbmRleE9mKHoucGFydHNbMF0pPyhrLm1hbmFnZUFycmF5Q29udGFpbmVycyh6LEQseCksbS5jYWxjPSEwKTooUj9SLmFycmF5T2smJiF1LnRyYWNlSXMoTywicmVnbCIpJiYoby5pc0FycmF5T3JUeXBlZEFycmF5KEQpfHxvLmlzQXJyYXlPclR5cGVkQXJyYXkoSSkpP20uY2FsYz0hMDpNLnVwZGF0ZShtLFIpOm0uY2FsYz0hMCx6LnNldChEKSl9fWlmKC0xIT09WyJzd2FweHlheGVzIiwib3JpZW50YXRpb25heGVzIl0uaW5kZXhPZihDKSYmZC5zd2FwKHQsciksIm9yaWVudGF0aW9uYXhlcyI9PT1DKXt2YXIgdHQ9cyh0LmxheW91dCwiaG92ZXJtb2RlIik7IngiPT09dHQuZ2V0KCk/dHQuc2V0KCJ5Iik6InkiPT09dHQuZ2V0KCkmJnR0LnNldCgieCIpfWlmKC0xIT09WyJvcmllbnRhdGlvbiIsInR5cGUiXS5pbmRleE9mKEMpKXtmb3Iodj1bXSxuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBldD1sW3Jbbl1dO3UudHJhY2VJcyhldCwiY2FydGVzaWFuIikmJihfKGV0LnhheGlzfHwieCIpLF8oZXQueWF4aXN8fCJ5IikpfVModi5tYXAodyksITAsMCksUyh2Lm1hcChUKSxbMCwxXSwwKX19ZWxzZSB6PXAodC5sYXlvdXQsQy5yZXBsYWNlKCJMQVlPVVQiLCIiKSkseFtDXT1bTih6LmdldCgpKV0sei5zZXQoQXJyYXkuaXNBcnJheShGKT9GWzBdOkYpLG0uY2FsYz0hMH1yZXR1cm4obS5jYWxjfHxtLnBsb3QpJiYobS5mdWxsUmVwbG90PSEwKSx7ZmxhZ3M6bSx1bmRvaXQ6eCxyZWRvaXQ6eSx0cmFjZXM6cixldmVudERhdGE6by5leHRlbmREZWVwTm9BcnJheXMoW10sW2cscl0pfX1mdW5jdGlvbiBxKHQpe3ZhciBlLHIsbixhPW8uY291bnRlclJlZ2V4KCJheGlzIiwiLnRpdGxlIiwhMSwhMSksaT0vY29sb3JiYXJcLnRpdGxlJC8scz1PYmplY3Qua2V5cyh0KTtmb3IoZT0wO2U8cy5sZW5ndGg7ZSsrKXI9c1tlXSxuPXRbcl0sInRpdGxlIiE9PXImJiFhLnRlc3QocikmJiFpLnRlc3Qocil8fCJzdHJpbmciIT10eXBlb2YgbiYmIm51bWJlciIhPXR5cGVvZiBuP3IuaW5kZXhPZigidGl0bGVmb250Iik+LTE/bChyLHIucmVwbGFjZSgidGl0bGVmb250IiwidGl0bGUuZm9udCIpKTpyLmluZGV4T2YoInRpdGxlcG9zaXRpb24iKT4tMT9sKHIsci5yZXBsYWNlKCJ0aXRsZXBvc2l0aW9uIiwidGl0bGUucG9zaXRpb24iKSk6ci5pbmRleE9mKCJ0aXRsZXNpZGUiKT4tMT9sKHIsci5yZXBsYWNlKCJ0aXRsZXNpZGUiLCJ0aXRsZS5zaWRlIikpOnIuaW5kZXhPZigidGl0bGVvZmZzZXQiKT4tMSYmbChyLHIucmVwbGFjZSgidGl0bGVvZmZzZXQiLCJ0aXRsZS5vZmZzZXQiKSk6bChyLHIucmVwbGFjZSgidGl0bGUiLCJ0aXRsZS50ZXh0IikpO2Z1bmN0aW9uIGwoZSxyKXt0W3JdPXRbZV0sZGVsZXRlIHRbZV19fWZ1bmN0aW9uIEgodCxlLHIpe2lmKHQ9by5nZXRHcmFwaERpdih0KSxrLmNsZWFyUHJvbWlzZVF1ZXVlKHQpLHQuZnJhbWV3b3JrJiZ0LmZyYW1ld29yay5pc1BvbGFyKXJldHVybiBQcm9taXNlLnJlc29sdmUodCk7dmFyIG49e307aWYoInN0cmluZyI9PXR5cGVvZiBlKW5bZV09cjtlbHNle2lmKCFvLmlzUGxhaW5PYmplY3QoZSkpcmV0dXJuIG8ud2FybigiUmVsYXlvdXQgZmFpbC4iLGUsciksUHJvbWlzZS5yZWplY3QoKTtuPW8uZXh0ZW5kRmxhdCh7fSxlKX1PYmplY3Qua2V5cyhuKS5sZW5ndGgmJih0LmNoYW5nZWQ9ITApO3ZhciBhPUoodCxuKSxpPWEuZmxhZ3M7aS5jYWxjJiYodC5jYWxjZGF0YT12b2lkIDApO3ZhciBzPVtmLnByZXZpb3VzUHJvbWlzZXNdO2kubGF5b3V0UmVwbG90P3MucHVzaChULmxheW91dFJlcGxvdCk6T2JqZWN0LmtleXMobikubGVuZ3RoJiYoRyh0LGksYSl8fGYuc3VwcGx5RGVmYXVsdHModCksaS5sZWdlbmQmJnMucHVzaChULmRvTGVnZW5kKSxpLmxheW91dHN0eWxlJiZzLnB1c2goVC5sYXlvdXRTdHlsZXMpLGkuYXhyYW5nZSYmWShzLGEucmFuZ2VzQWx0ZXJlZCksaS50aWNrcyYmcy5wdXNoKFQuZG9UaWNrc1JlbGF5b3V0KSxpLm1vZGViYXImJnMucHVzaChULmRvTW9kZUJhciksaS5jYW1lcmEmJnMucHVzaChULmRvQ2FtZXJhKSxpLmNvbG9yYmFycyYmcy5wdXNoKFQuZG9Db2xvckJhcnMpLHMucHVzaChMKSkscy5wdXNoKGYucmVob3ZlcixmLnJlZHJhZyksYy5hZGQodCxILFt0LGEudW5kb2l0XSxILFt0LGEucmVkb2l0XSk7dmFyIGw9by5zeW5jT3JBc3luYyhzLHQpO3JldHVybiBsJiZsLnRoZW58fChsPVByb21pc2UucmVzb2x2ZSh0KSksbC50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZW1pdCgicGxvdGx5X3JlbGF5b3V0IixhLmV2ZW50RGF0YSksdH0pfWZ1bmN0aW9uIEcodCxlLHIpe3ZhciBuPXQuX2Z1bGxMYXlvdXQ7aWYoIWUuYXhyYW5nZSlyZXR1cm4hMTtmb3IodmFyIGEgaW4gZSlpZigiYXhyYW5nZSIhPT1hJiZlW2FdKXJldHVybiExO2Zvcih2YXIgaSBpbiByLnJhbmdlc0FsdGVyZWQpe3ZhciBvPWQuaWQybmFtZShpKSxzPXQubGF5b3V0W29dLGw9bltvXTtpZihsLmF1dG9yYW5nZT1zLmF1dG9yYW5nZSxsLnJhbmdlPXMucmFuZ2Uuc2xpY2UoKSxsLmNsZWFuUmFuZ2UoKSxsLl9tYXRjaEdyb3VwKWZvcih2YXIgYyBpbiBsLl9tYXRjaEdyb3VwKWlmKGMhPT1pKXt2YXIgdT1uW2QuaWQybmFtZShjKV07dS5hdXRvcmFuZ2U9bC5hdXRvcmFuZ2UsdS5yYW5nZT1sLnJhbmdlLnNsaWNlKCksdS5faW5wdXQucmFuZ2U9bC5yYW5nZS5zbGljZSgpfX1yZXR1cm4hMH1mdW5jdGlvbiBZKHQsZSl7dmFyIHI9ZT9mdW5jdGlvbih0KXt2YXIgcj1bXSxuPSEwO2Zvcih2YXIgYSBpbiBlKXt2YXIgaT1kLmdldEZyb21JZCh0LGEpO2lmKHIucHVzaChhKSxpLl9tYXRjaEdyb3VwKWZvcih2YXIgbyBpbiBpLl9tYXRjaEdyb3VwKWVbb118fHIucHVzaChvKTtpLmF1dG9tYXJnaW4mJihuPSExKX1yZXR1cm4gZC5kcmF3KHQscix7c2tpcFRpdGxlOm59KX06ZnVuY3Rpb24odCl7cmV0dXJuIGQuZHJhdyh0LCJyZWRyYXciKX07dC5wdXNoKGIsVC5kb0F1dG9SYW5nZUFuZENvbnN0cmFpbnRzLHIsVC5kcmF3RGF0YSxULmZpbmFsRHJhdyl9dmFyIFc9L15beHl6XWF4aXNbMC05XSpcLnJhbmdlKFxbWzB8MV1cXSk/JC8sWD0vXlt4eXpdYXhpc1swLTldKlwuYXV0b3JhbmdlJC8sWj0vXlt4eXpdYXhpc1swLTldKlwuZG9tYWluKFxbWzB8MV1cXSk/JC87ZnVuY3Rpb24gSih0LGUpe3ZhciByLG4sYSxpPXQubGF5b3V0LGw9dC5fZnVsbExheW91dCxjPWwuX2d1aUVkaXRpbmcsZj1qKGwuX3ByZUdVSSxjKSxwPU9iamVjdC5rZXlzKGUpLGc9ZC5saXN0KHQpLHY9by5leHRlbmREZWVwQWxsKHt9LGUpLG09e307Zm9yKHEoZSkscD1PYmplY3Qua2V5cyhlKSxuPTA7bjxwLmxlbmd0aDtuKyspaWYoMD09PXBbbl0uaW5kZXhPZigiYWxsYXhlcyIpKXtmb3IoYT0wO2E8Zy5sZW5ndGg7YSsrKXt2YXIgeT1nW2FdLl9pZC5zdWJzdHIoMSkseD0tMSE9PXkuaW5kZXhPZigic2NlbmUiKT95KyIuIjoiIixiPXBbbl0ucmVwbGFjZSgiYWxsYXhlcyIseCtnW2FdLl9uYW1lKTtlW2JdfHwoZVtiXT1lW3Bbbl1dKX1kZWxldGUgZVtwW25dXX12YXIgXz1NLmxheW91dEZsYWdzKCksVD17fSxTPXt9O2Z1bmN0aW9uIEUodCxyKXtpZihBcnJheS5pc0FycmF5KHQpKXQuZm9yRWFjaChmdW5jdGlvbih0KXtFKHQscil9KTtlbHNlIGlmKCEodCBpbiBlfHxrLmhhc1BhcmVudChlLHQpKSl7dmFyIG49ZihpLHQpO3QgaW4gU3x8KFNbdF09TihuLmdldCgpKSksdm9pZCAwIT09ciYmbi5zZXQocil9fXZhciBMLEM9e307ZnVuY3Rpb24gUCh0KXt2YXIgZT1kLm5hbWUyaWQodC5zcGxpdCgiLiIpWzBdKTtyZXR1cm4gQ1tlXT0xLGV9Zm9yKHZhciBPIGluIGUpe2lmKGsuaGFzUGFyZW50KGUsTykpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3Qgc2V0ICIrTysiIGFuZCBhIHBhcmVudCBhdHRyaWJ1dGUgc2ltdWx0YW5lb3VzbHkiKTtmb3IodmFyIHo9ZihpLE8pLEk9ZVtPXSxEPXoucGFydHMubGVuZ3RoLTE7RD4wJiYic3RyaW5nIiE9dHlwZW9mIHoucGFydHNbRF07KUQtLTt2YXIgUj16LnBhcnRzW0RdLEY9ei5wYXJ0c1tELTFdKyIuIitSLEI9ei5wYXJ0cy5zbGljZSgwLEQpLmpvaW4oIi4iKSxWPXModC5sYXlvdXQsQikuZ2V0KCksVT1zKGwsQikuZ2V0KCksSD16LmdldCgpO2lmKHZvaWQgMCE9PUkpe1RbT109SSxTW09dPSJyZXZlcnNlIj09PVI/STpOKEgpO3ZhciBHPWguZ2V0TGF5b3V0VmFsT2JqZWN0KGwsei5wYXJ0cyk7aWYoRyYmRy5pbXBsaWVkRWRpdHMmJm51bGwhPT1JKWZvcih2YXIgWSBpbiBHLmltcGxpZWRFZGl0cylFKG8ucmVsYXRpdmVBdHRyKE8sWSksRy5pbXBsaWVkRWRpdHNbWV0pO2lmKC0xIT09WyJ3aWR0aCIsImhlaWdodCJdLmluZGV4T2YoTykpaWYoSSl7RSgiYXV0b3NpemUiLG51bGwpO3ZhciBKPSJoZWlnaHQiPT09Tz8id2lkdGgiOiJoZWlnaHQiO0UoSixsW0pdKX1lbHNlIGxbT109dC5faW5pdGlhbEF1dG9TaXplW09dO2Vsc2UgaWYoImF1dG9zaXplIj09PU8pRSgid2lkdGgiLEk/bnVsbDpsLndpZHRoKSxFKCJoZWlnaHQiLEk/bnVsbDpsLmhlaWdodCk7ZWxzZSBpZihGLm1hdGNoKFcpKVAoRikscyhsLEIrIi5faW5wdXRSYW5nZSIpLnNldChudWxsKTtlbHNlIGlmKEYubWF0Y2goWCkpe1AoRikscyhsLEIrIi5faW5wdXRSYW5nZSIpLnNldChudWxsKTt2YXIgUT1zKGwsQikuZ2V0KCk7US5faW5wdXREb21haW4mJihRLl9pbnB1dC5kb21haW49US5faW5wdXREb21haW4uc2xpY2UoKSl9ZWxzZSBGLm1hdGNoKFopJiZzKGwsQisiLl9pbnB1dERvbWFpbiIpLnNldChudWxsKTtpZigidHlwZSI9PT1SKXt2YXIgJD1WLHR0PSJsaW5lYXIiPT09VS50eXBlJiYibG9nIj09PUksZXQ9ImxvZyI9PT1VLnR5cGUmJiJsaW5lYXIiPT09STtpZih0dHx8ZXQpe2lmKCQmJiQucmFuZ2UpaWYoVS5hdXRvcmFuZ2UpdHQmJigkLnJhbmdlPSQucmFuZ2VbMV0+JC5yYW5nZVswXT9bMSwyXTpbMiwxXSk7ZWxzZXt2YXIgcnQ9JC5yYW5nZVswXSxudD0kLnJhbmdlWzFdO3R0PyhydDw9MCYmbnQ8PTAmJkUoQisiLmF1dG9yYW5nZSIsITApLHJ0PD0wP3J0PW50LzFlNjpudDw9MCYmKG50PXJ0LzFlNiksRShCKyIucmFuZ2VbMF0iLE1hdGgubG9nKHJ0KS9NYXRoLkxOMTApLEUoQisiLnJhbmdlWzFdIixNYXRoLmxvZyhudCkvTWF0aC5MTjEwKSk6KEUoQisiLnJhbmdlWzBdIixNYXRoLnBvdygxMCxydCkpLEUoQisiLnJhbmdlWzFdIixNYXRoLnBvdygxMCxudCkpKX1lbHNlIEUoQisiLmF1dG9yYW5nZSIsITApO0FycmF5LmlzQXJyYXkobC5fc3VicGxvdHMucG9sYXIpJiZsLl9zdWJwbG90cy5wb2xhci5sZW5ndGgmJmxbei5wYXJ0c1swXV0mJiJyYWRpYWxheGlzIj09PXoucGFydHNbMV0mJmRlbGV0ZSBsW3oucGFydHNbMF1dLl9zdWJwbG90LnZpZXdJbml0aWFsWyJyYWRpYWxheGlzLnJhbmdlIl0sdS5nZXRDb21wb25lbnRNZXRob2QoImFubm90YXRpb25zIiwiY29udmVydENvb3JkcyIpKHQsVSxJLEUpLHUuZ2V0Q29tcG9uZW50TWV0aG9kKCJpbWFnZXMiLCJjb252ZXJ0Q29vcmRzIikodCxVLEksRSl9ZWxzZSBFKEIrIi5hdXRvcmFuZ2UiLCEwKSxFKEIrIi5yYW5nZSIsbnVsbCk7cyhsLEIrIi5faW5wdXRSYW5nZSIpLnNldChudWxsKX1lbHNlIGlmKFIubWF0Y2goQSkpe3ZhciBhdD1zKGwsTykuZ2V0KCksaXQ9KEl8fHt9KS50eXBlO2l0JiYiLSIhPT1pdHx8KGl0PSJsaW5lYXIiKSx1LmdldENvbXBvbmVudE1ldGhvZCgiYW5ub3RhdGlvbnMiLCJjb252ZXJ0Q29vcmRzIikodCxhdCxpdCxFKSx1LmdldENvbXBvbmVudE1ldGhvZCgiaW1hZ2VzIiwiY29udmVydENvb3JkcyIpKHQsYXQsaXQsRSl9dmFyIG90PXcuY29udGFpbmVyQXJyYXlNYXRjaChPKTtpZihvdCl7cj1vdC5hcnJheSxuPW90LmluZGV4O3ZhciBzdD1vdC5wcm9wZXJ0eSxsdD1HfHx7ZWRpdFR5cGU6ImNhbGMifTsiIiE9PW4mJiIiPT09c3QmJih3LmlzQWRkVmFsKEkpP1NbT109bnVsbDp3LmlzUmVtb3ZlVmFsKEkpP1NbT109KHMoaSxyKS5nZXQoKXx8W10pW25dOm8ud2FybigidW5yZWNvZ25pemVkIGZ1bGwgb2JqZWN0IHZhbHVlIixlKSksTS51cGRhdGUoXyxsdCksbVtyXXx8KG1bcl09e30pO3ZhciBjdD1tW3JdW25dO2N0fHwoY3Q9bVtyXVtuXT17fSksY3Rbc3RdPUksZGVsZXRlIGVbT119ZWxzZSJyZXZlcnNlIj09PVI/KFYucmFuZ2U/Vi5yYW5nZS5yZXZlcnNlKCk6KEUoQisiLmF1dG9yYW5nZSIsITApLFYucmFuZ2U9WzEsMF0pLFUuYXV0b3JhbmdlP18uY2FsYz0hMDpfLnBsb3Q9ITApOihsLl9oYXMoInNjYXR0ZXItbGlrZSIpJiZsLl9oYXMoInJlZ2wiKSYmImRyYWdtb2RlIj09PU8mJigibGFzc28iPT09SXx8InNlbGVjdCI9PT1JKSYmImxhc3NvIiE9PUgmJiJzZWxlY3QiIT09SD9fLnBsb3Q9ITA6bC5faGFzKCJnbDJkIik/Xy5wbG90PSEwOkc/TS51cGRhdGUoXyxHKTpfLmNhbGM9ITAsei5zZXQoSSkpfX1mb3IociBpbiBtKXt3LmFwcGx5Q29udGFpbmVyQXJyYXlDaGFuZ2VzKHQsZihpLHIpLG1bcl0sXyxmKXx8KF8ucGxvdD0hMCl9dmFyIHV0PWwuX2F4aXNDb25zdHJhaW50R3JvdXBzfHxbXTtmb3IoTCBpbiBDKWZvcihuPTA7bjx1dC5sZW5ndGg7bisrKXt2YXIgaHQ9dXRbbl07aWYoaHRbTF0pZm9yKHZhciBmdCBpbiBfLmNhbGM9ITAsaHQpQ1tmdF18fChkLmdldEZyb21JZCh0LGZ0KS5fY29uc3RyYWludFNocmlua2FibGU9ITApfXJldHVybihLKHQpfHxlLmhlaWdodHx8ZS53aWR0aCkmJihfLnBsb3Q9ITApLChfLnBsb3R8fF8uY2FsYykmJihfLmxheW91dFJlcGxvdD0hMCkse2ZsYWdzOl8scmFuZ2VzQWx0ZXJlZDpDLHVuZG9pdDpTLHJlZG9pdDpULGV2ZW50RGF0YTp2fX1mdW5jdGlvbiBLKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQscj1lLndpZHRoLG49ZS5oZWlnaHQ7cmV0dXJuIHQubGF5b3V0LmF1dG9zaXplJiZmLnBsb3RBdXRvU2l6ZSh0LHQubGF5b3V0LGUpLGUud2lkdGghPT1yfHxlLmhlaWdodCE9PW59ZnVuY3Rpb24gUSh0LGUsbixhKXtpZih0PW8uZ2V0R3JhcGhEaXYodCksay5jbGVhclByb21pc2VRdWV1ZSh0KSx0LmZyYW1ld29yayYmdC5mcmFtZXdvcmsuaXNQb2xhcilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO28uaXNQbGFpbk9iamVjdChlKXx8KGU9e30pLG8uaXNQbGFpbk9iamVjdChuKXx8KG49e30pLE9iamVjdC5rZXlzKGUpLmxlbmd0aCYmKHQuY2hhbmdlZD0hMCksT2JqZWN0LmtleXMobikubGVuZ3RoJiYodC5jaGFuZ2VkPSEwKTt2YXIgaT1rLmNvZXJjZVRyYWNlSW5kaWNlcyh0LGEpLHM9VSh0LG8uZXh0ZW5kRmxhdCh7fSxlKSxpKSxsPXMuZmxhZ3MsdT1KKHQsby5leHRlbmRGbGF0KHt9LG4pKSxoPXUuZmxhZ3M7KGwuY2FsY3x8aC5jYWxjKSYmKHQuY2FsY2RhdGE9dm9pZCAwKSxsLmNsZWFyQXhpc1R5cGVzJiZrLmNsZWFyQXhpc1R5cGVzKHQsaSxuKTt2YXIgcD1bXTtoLmxheW91dFJlcGxvdD9wLnB1c2goVC5sYXlvdXRSZXBsb3QpOmwuZnVsbFJlcGxvdD9wLnB1c2goci5wbG90KToocC5wdXNoKGYucHJldmlvdXNQcm9taXNlcyksRyh0LGgsdSl8fGYuc3VwcGx5RGVmYXVsdHModCksbC5zdHlsZSYmcC5wdXNoKFQuZG9UcmFjZVN0eWxlKSwobC5jb2xvcmJhcnN8fGguY29sb3JiYXJzKSYmcC5wdXNoKFQuZG9Db2xvckJhcnMpLGgubGVnZW5kJiZwLnB1c2goVC5kb0xlZ2VuZCksaC5sYXlvdXRzdHlsZSYmcC5wdXNoKFQubGF5b3V0U3R5bGVzKSxoLmF4cmFuZ2UmJlkocCx1LnJhbmdlc0FsdGVyZWQpLGgudGlja3MmJnAucHVzaChULmRvVGlja3NSZWxheW91dCksaC5tb2RlYmFyJiZwLnB1c2goVC5kb01vZGVCYXIpLGguY2FtZXJhJiZwLnB1c2goVC5kb0NhbWVyYSkscC5wdXNoKEwpKSxwLnB1c2goZi5yZWhvdmVyLGYucmVkcmFnKSxjLmFkZCh0LFEsW3Qscy51bmRvaXQsdS51bmRvaXQscy50cmFjZXNdLFEsW3Qscy5yZWRvaXQsdS5yZWRvaXQscy50cmFjZXNdKTt2YXIgZD1vLnN5bmNPckFzeW5jKHAsdCk7cmV0dXJuIGQmJmQudGhlbnx8KGQ9UHJvbWlzZS5yZXNvbHZlKHQpKSxkLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5lbWl0KCJwbG90bHlfdXBkYXRlIix7ZGF0YTpzLmV2ZW50RGF0YSxsYXlvdXQ6dS5ldmVudERhdGF9KSx0fSl9ZnVuY3Rpb24gJCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7ZS5fZnVsbExheW91dC5fZ3VpRWRpdGluZz0hMDt2YXIgcj10LmFwcGx5KG51bGwsYXJndW1lbnRzKTtyZXR1cm4gZS5fZnVsbExheW91dC5fZ3VpRWRpdGluZz0hMSxyfX12YXIgdHQ9W3twYXR0ZXJuOi9eaGlkZGVubGFiZWxzLyxhdHRyOiJsZWdlbmQudWlyZXZpc2lvbiJ9LHtwYXR0ZXJuOi9eKCh4fHkpYXhpc1xkKilcLigoYXV0byk/cmFuZ2V8dGl0bGVcLnRleHQpL30se3BhdHRlcm46L2F4aXNcZCpcLnNob3dzcGlrZXMkLyxhdHRyOiJtb2RlYmFyLnVpcmV2aXNpb24ifSx7cGF0dGVybjovKGhvdmVyfGRyYWcpbW9kZSQvLGF0dHI6Im1vZGViYXIudWlyZXZpc2lvbiJ9LHtwYXR0ZXJuOi9eKHNjZW5lXGQqKVwuY2FtZXJhL30se3BhdHRlcm46L14oZ2VvXGQqKVwuKHByb2plY3Rpb258Y2VudGVyfGZpdGJvdW5kcykvfSx7cGF0dGVybjovXih0ZXJuYXJ5XGQqXC5bYWJjXWF4aXMpXC4obWlufHRpdGxlXC50ZXh0KSQvfSx7cGF0dGVybjovXihwb2xhclxkKlwucmFkaWFsYXhpcylcLigoYXV0byk/cmFuZ2V8YW5nbGV8dGl0bGVcLnRleHQpL30se3BhdHRlcm46L14ocG9sYXJcZCpcLmFuZ3VsYXJheGlzKVwucm90YXRpb24vfSx7cGF0dGVybjovXihtYXBib3hcZCopXC4oY2VudGVyfHpvb218YmVhcmluZ3xwaXRjaCkvfSx7cGF0dGVybjovXmxlZ2VuZFwuKHh8eSkkLyxhdHRyOiJlZGl0cmV2aXNpb24ifSx7cGF0dGVybjovXihzaGFwZXN8YW5ub3RhdGlvbnMpLyxhdHRyOiJlZGl0cmV2aXNpb24ifSx7cGF0dGVybjovXnRpdGxlXC50ZXh0JC8sYXR0cjoiZWRpdHJldmlzaW9uIn1dLGV0PVt7cGF0dGVybjovXnNlbGVjdGVkcG9pbnRzJC8sYXR0cjoic2VsZWN0aW9ucmV2aXNpb24ifSx7cGF0dGVybjovKF58dmFsdWVcLil2aXNpYmxlJC8sYXR0cjoibGVnZW5kLnVpcmV2aXNpb24ifSx7cGF0dGVybjovXmRpbWVuc2lvbnNcW1xkK1xdXC5jb25zdHJhaW50cmFuZ2UvfSx7cGF0dGVybjovXm5vZGVcLih4fHl8Z3JvdXBzKS99LHtwYXR0ZXJuOi9ebGV2ZWwkL30se3BhdHRlcm46LyhefHZhbHVlXC4pbmFtZSQvfSx7cGF0dGVybjovY29sb3JiYXJcLnRpdGxlXC50ZXh0JC99LHtwYXR0ZXJuOi9jb2xvcmJhclwuKHh8eSkkLyxhdHRyOiJlZGl0cmV2aXNpb24ifV07ZnVuY3Rpb24gcnQodCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXSxhPXQubWF0Y2gobi5wYXR0ZXJuKTtpZihhKXJldHVybntoZWFkOmFbMV0sYXR0cjpuLmF0dHJ9fX1mdW5jdGlvbiBudCh0LGUpe3ZhciByPXMoZSx0KS5nZXQoKTtpZih2b2lkIDAhPT1yKXJldHVybiByO3ZhciBuPXQuc3BsaXQoIi4iKTtmb3Iobi5wb3AoKTtuLmxlbmd0aD4xOylpZihuLnBvcCgpLHZvaWQgMCE9PShyPXMoZSxuLmpvaW4oIi4iKSsiLnVpcmV2aXNpb24iKS5nZXQoKSkpcmV0dXJuIHI7cmV0dXJuIGUudWlyZXZpc2lvbn1mdW5jdGlvbiBhdCh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKGVbcl0uX2Z1bGxJbnB1dC51aWQ9PT10KXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIGl0KHQsZSxyKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylpZihlW25dLnVpZD09PXQpcmV0dXJuIG47cmV0dXJuIWVbcl18fGVbcl0udWlkPy0xOnJ9ZnVuY3Rpb24gb3QodCxlKXt2YXIgcj1vLmlzUGxhaW5PYmplY3QodCksbj1BcnJheS5pc0FycmF5KHQpO3JldHVybiByfHxuPyhyJiZvLmlzUGxhaW5PYmplY3QoZSl8fG4mJkFycmF5LmlzQXJyYXkoZSkpJiZKU09OLnN0cmluZ2lmeSh0KT09PUpTT04uc3RyaW5naWZ5KGUpOnQ9PT1lfWZ1bmN0aW9uIHN0KHQsZSxyLG4pe3ZhciBhLGksbCxjPW4uZ2V0VmFsT2JqZWN0LHU9bi5mbGFncyxoPW4uaW1tdXRhYmxlLGY9bi5pbkFycmF5LHA9bi5hcnJheUluZGV4O2Z1bmN0aW9uIGQoKXt2YXIgdD1hLmVkaXRUeXBlO2YmJi0xIT09dC5pbmRleE9mKCJhcnJheWRyYXciKT9vLnB1c2hVbmlxdWUodS5hcnJheXNbZl0scCk6KE0udXBkYXRlKHUsYSksIm5vbmUiIT09dCYmdS5uQ2hhbmdlcysrLG4udHJhbnNpdGlvbiYmYS5hbmltJiZ1Lm5DaGFuZ2VzQW5pbSsrLChXLnRlc3QobCl8fFgudGVzdChsKSkmJih1LnJhbmdlc0FsdGVyZWRbclswXV09MSksWi50ZXN0KGwpJiZzKGUsIl9pbnB1dERvbWFpbiIpLnNldChudWxsKSwiZGF0YXJldmlzaW9uIj09PWkmJih1Lm5ld0RhdGFSZXZpc2lvbj0xKSl9ZnVuY3Rpb24gZyh0KXtyZXR1cm4iZGF0YV9hcnJheSI9PT10LnZhbFR5cGV8fHQuYXJyYXlPa31mb3IoaSBpbiB0KXtpZih1LmNhbGMmJiFuLnRyYW5zaXRpb24pcmV0dXJuO3ZhciB2PXRbaV0sbT1lW2ldLHk9ci5jb25jYXQoaSk7aWYobD15LmpvaW4oIi4iKSwiXyIhPT1pLmNoYXJBdCgwKSYmImZ1bmN0aW9uIiE9dHlwZW9mIHYmJnYhPT1tKXtpZigoInRpY2swIj09PWl8fCJkdGljayI9PT1pKSYmImdlbyIhPT1yWzBdKXt2YXIgeD1lLnRpY2ttb2RlO2lmKCJhdXRvIj09PXh8fCJhcnJheSI9PT14fHwheCljb250aW51ZX1pZigoInJhbmdlIiE9PWl8fCFlLmF1dG9yYW5nZSkmJigiem1pbiIhPT1pJiYiem1heCIhPT1pfHwiY29udG91cmNhcnBldCIhPT1lLnR5cGUpJiYoYT1jKHkpKSYmKCFhLl9jb21wYXJlQXNKU09OfHxKU09OLnN0cmluZ2lmeSh2KSE9PUpTT04uc3RyaW5naWZ5KG0pKSl7dmFyIGIsXz1hLnZhbFR5cGUsdz1nKGEpLGs9QXJyYXkuaXNBcnJheSh2KSxUPUFycmF5LmlzQXJyYXkobSk7aWYoayYmVCl7dmFyIEE9Il9pbnB1dF8iK2ksUz10W0FdLEU9ZVtBXTtpZihBcnJheS5pc0FycmF5KFMpJiZTPT09RSljb250aW51ZX1pZih2b2lkIDA9PT1tKXcmJms/dS5jYWxjPSEwOmQoKTtlbHNlIGlmKGEuX2lzTGlua2VkVG9BcnJheSl7dmFyIEw9W10sQz0hMTtmfHwodS5hcnJheXNbaV09TCk7dmFyIFA9TWF0aC5taW4odi5sZW5ndGgsbS5sZW5ndGgpLE89TWF0aC5tYXgodi5sZW5ndGgsbS5sZW5ndGgpO2lmKFAhPT1PKXtpZigiYXJyYXlkcmF3IiE9PWEuZWRpdFR5cGUpe2QoKTtjb250aW51ZX1DPSEwfWZvcihiPTA7YjxQO2IrKylzdCh2W2JdLG1bYl0seS5jb25jYXQoYiksby5leHRlbmRGbGF0KHtpbkFycmF5OmksYXJyYXlJbmRleDpifSxuKSk7aWYoQylmb3IoYj1QO2I8TztiKyspTC5wdXNoKGIpfWVsc2UhXyYmby5pc1BsYWluT2JqZWN0KHYpP3N0KHYsbSx5LG4pOnc/ayYmVD8oaCYmKHUuY2FsYz0hMCksKGh8fG4ubmV3RGF0YVJldmlzaW9uKSYmZCgpKTprIT09VD91LmNhbGM9ITA6ZCgpOmsmJlQmJnYubGVuZ3RoPT09bS5sZW5ndGgmJlN0cmluZyh2KT09PVN0cmluZyhtKXx8ZCgpfX19Zm9yKGkgaW4gZSlpZighKGkgaW4gdHx8Il8iPT09aS5jaGFyQXQoMCl8fCJmdW5jdGlvbiI9PXR5cGVvZiBlW2ldKSl7aWYoZyhhPWMoci5jb25jYXQoaSkpKSYmQXJyYXkuaXNBcnJheShlW2ldKSlyZXR1cm4gdm9pZCh1LmNhbGM9ITApO2QoKX19ZnVuY3Rpb24gbHQodCl7dmFyIGU9bi5zZWxlY3QodCkscj10Ll9mdWxsTGF5b3V0O2lmKHIuX2NvbnRhaW5lcj1lLnNlbGVjdEFsbCgiLnBsb3QtY29udGFpbmVyIikuZGF0YShbMF0pLHIuX2NvbnRhaW5lci5lbnRlcigpLmluc2VydCgiZGl2IiwiOmZpcnN0LWNoaWxkIikuY2xhc3NlZCgicGxvdC1jb250YWluZXIiLCEwKS5jbGFzc2VkKCJwbG90bHkiLCEwKSxyLl9wYXBlcmRpdj1yLl9jb250YWluZXIuc2VsZWN0QWxsKCIuc3ZnLWNvbnRhaW5lciIpLmRhdGEoWzBdKSxyLl9wYXBlcmRpdi5lbnRlcigpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgic3ZnLWNvbnRhaW5lciIsITApLnN0eWxlKCJwb3NpdGlvbiIsInJlbGF0aXZlIiksci5fZ2xjb250YWluZXI9ci5fcGFwZXJkaXYuc2VsZWN0QWxsKCIuZ2wtY29udGFpbmVyIikuZGF0YShbe31dKSxyLl9nbGNvbnRhaW5lci5lbnRlcigpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgiZ2wtY29udGFpbmVyIiwhMCksci5fcGFwZXJkaXYuc2VsZWN0QWxsKCIubWFpbi1zdmciKS5yZW1vdmUoKSxyLl9wYXBlcmRpdi5zZWxlY3QoIi5tb2RlYmFyLWNvbnRhaW5lciIpLnJlbW92ZSgpLHIuX3BhcGVyPXIuX3BhcGVyZGl2Lmluc2VydCgic3ZnIiwiOmZpcnN0LWNoaWxkIikuY2xhc3NlZCgibWFpbi1zdmciLCEwKSxyLl90b3BwYXBlcj1yLl9wYXBlcmRpdi5hcHBlbmQoInN2ZyIpLmNsYXNzZWQoIm1haW4tc3ZnIiwhMCksci5fbW9kZWJhcmRpdj1yLl9wYXBlcmRpdi5hcHBlbmQoImRpdiIpLHIuX2hvdmVycGFwZXI9ci5fcGFwZXJkaXYuYXBwZW5kKCJzdmciKS5jbGFzc2VkKCJtYWluLXN2ZyIsITApLCFyLl91aWQpe3ZhciBhPXt9O24uc2VsZWN0QWxsKCJkZWZzIikuZWFjaChmdW5jdGlvbigpe3RoaXMuaWQmJihhW3RoaXMuaWQuc3BsaXQoIi0iKVsxXV09MSl9KSxyLl91aWQ9by5yYW5kc3RyKGEpfXIuX3BhcGVyZGl2LnNlbGVjdEFsbCgiLm1haW4tc3ZnIikuYXR0cih5LnN2Z0F0dHJzKSxyLl9kZWZzPXIuX3BhcGVyLmFwcGVuZCgiZGVmcyIpLmF0dHIoImlkIiwiZGVmcy0iK3IuX3VpZCksci5fY2xpcHM9ci5fZGVmcy5hcHBlbmQoImciKS5jbGFzc2VkKCJjbGlwcyIsITApLHIuX3RvcGRlZnM9ci5fdG9wcGFwZXIuYXBwZW5kKCJkZWZzIikuYXR0cigiaWQiLCJ0b3BkZWZzLSIrci5fdWlkKSxyLl90b3BjbGlwcz1yLl90b3BkZWZzLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNsaXBzIiwhMCksci5fYmdMYXllcj1yLl9wYXBlci5hcHBlbmQoImciKS5jbGFzc2VkKCJiZ2xheWVyIiwhMCksci5fZHJhZ2dlcnM9ci5fcGFwZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiZHJhZ2xheWVyIiwhMCk7dmFyIGk9ci5fcGFwZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgibGF5ZXItYmVsb3ciLCEwKTtyLl9pbWFnZUxvd2VyTGF5ZXI9aS5hcHBlbmQoImciKS5jbGFzc2VkKCJpbWFnZWxheWVyIiwhMCksci5fc2hhcGVMb3dlckxheWVyPWkuYXBwZW5kKCJnIikuY2xhc3NlZCgic2hhcGVsYXllciIsITApLHIuX2NhcnRlc2lhbmxheWVyPXIuX3BhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNhcnRlc2lhbmxheWVyIiwhMCksci5fcG9sYXJsYXllcj1yLl9wYXBlci5hcHBlbmQoImciKS5jbGFzc2VkKCJwb2xhcmxheWVyIiwhMCksci5fdGVybmFyeWxheWVyPXIuX3BhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoInRlcm5hcnlsYXllciIsITApLHIuX2dlb2xheWVyPXIuX3BhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImdlb2xheWVyIiwhMCksci5fZnVubmVsYXJlYWxheWVyPXIuX3BhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImZ1bm5lbGFyZWFsYXllciIsITApLHIuX3BpZWxheWVyPXIuX3BhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoInBpZWxheWVyIiwhMCksci5fdHJlZW1hcGxheWVyPXIuX3BhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoInRyZWVtYXBsYXllciIsITApLHIuX3N1bmJ1cnN0bGF5ZXI9ci5fcGFwZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgic3VuYnVyc3RsYXllciIsITApLHIuX2luZGljYXRvcmxheWVyPXIuX3RvcHBhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImluZGljYXRvcmxheWVyIiwhMCksci5fZ2xpbWFnZXM9ci5fcGFwZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiZ2xpbWFnZXMiLCEwKTt2YXIgcz1yLl90b3BwYXBlci5hcHBlbmQoImciKS5jbGFzc2VkKCJsYXllci1hYm92ZSIsITApO3IuX2ltYWdlVXBwZXJMYXllcj1zLmFwcGVuZCgiZyIpLmNsYXNzZWQoImltYWdlbGF5ZXIiLCEwKSxyLl9zaGFwZVVwcGVyTGF5ZXI9cy5hcHBlbmQoImciKS5jbGFzc2VkKCJzaGFwZWxheWVyIiwhMCksci5faW5mb2xheWVyPXIuX3RvcHBhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImluZm9sYXllciIsITApLHIuX21lbnVsYXllcj1yLl90b3BwYXBlci5hcHBlbmQoImciKS5jbGFzc2VkKCJtZW51bGF5ZXIiLCEwKSxyLl96b29tbGF5ZXI9ci5fdG9wcGFwZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiem9vbWxheWVyIiwhMCksci5faG92ZXJsYXllcj1yLl9ob3ZlcnBhcGVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImhvdmVybGF5ZXIiLCEwKSxyLl9tb2RlYmFyZGl2LmNsYXNzZWQoIm1vZGViYXItY29udGFpbmVyIiwhMCkuc3R5bGUoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS5zdHlsZSgidG9wIiwiMHB4Iikuc3R5bGUoInJpZ2h0IiwiMHB4IiksdC5lbWl0KCJwbG90bHlfZnJhbWV3b3JrIil9ci5hbmltYXRlPWZ1bmN0aW9uKHQsZSxyKXtpZih0PW8uZ2V0R3JhcGhEaXYodCksIW8uaXNQbG90RGl2KHQpKXRocm93IG5ldyBFcnJvcigiVGhpcyBlbGVtZW50IGlzIG5vdCBhIFBsb3RseSBwbG90OiAiK3QrIi4gSXQncyBsaWtlbHkgdGhhdCB5b3UndmUgZmFpbGVkIHRvIGNyZWF0ZSBhIHBsb3QgYmVmb3JlIGFuaW1hdGluZyBpdC4gRm9yIG1vcmUgZGV0YWlscywgc2VlIGh0dHBzOi8vcGxvdC5seS9qYXZhc2NyaXB0L2FuaW1hdGlvbnMvIik7dmFyIG49dC5fdHJhbnNpdGlvbkRhdGE7bi5fZnJhbWVRdWV1ZXx8KG4uX2ZyYW1lUXVldWU9W10pO3ZhciBhPShyPWYuc3VwcGx5QW5pbWF0aW9uRGVmYXVsdHMocikpLnRyYW5zaXRpb24saT1yLmZyYW1lO2Z1bmN0aW9uIHModCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/dD49YS5sZW5ndGg/YVswXTphW3RdOmF9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT90Pj1pLmxlbmd0aD9pWzBdOmlbdF06aX1mdW5jdGlvbiBjKHQsZSl7dmFyIHI9MDtyZXR1cm4gZnVuY3Rpb24oKXtpZih0JiYrK3I9PT1lKXJldHVybiB0KCl9fXJldHVybiB2b2lkIDA9PT1uLl9mcmFtZVdhaXRpbmdDbnQmJihuLl9mcmFtZVdhaXRpbmdDbnQ9MCksbmV3IFByb21pc2UoZnVuY3Rpb24oaSx1KXtmdW5jdGlvbiBoKCl7bi5fY3VycmVudEZyYW1lJiZuLl9jdXJyZW50RnJhbWUub25Db21wbGV0ZSYmbi5fY3VycmVudEZyYW1lLm9uQ29tcGxldGUoKTt2YXIgZT1uLl9jdXJyZW50RnJhbWU9bi5fZnJhbWVRdWV1ZS5zaGlmdCgpO2lmKGUpe3ZhciByPWUubmFtZT9lLm5hbWUudG9TdHJpbmcoKTpudWxsO3QuX2Z1bGxMYXlvdXQuX2N1cnJlbnRGcmFtZT1yLG4uX2xhc3RGcmFtZUF0PURhdGUubm93KCksbi5fdGltZVRvTmV4dD1lLmZyYW1lT3B0cy5kdXJhdGlvbixmLnRyYW5zaXRpb24odCxlLmZyYW1lLmRhdGEsZS5mcmFtZS5sYXlvdXQsay5jb2VyY2VUcmFjZUluZGljZXModCxlLmZyYW1lLnRyYWNlcyksZS5mcmFtZU9wdHMsZS50cmFuc2l0aW9uT3B0cykudGhlbihmdW5jdGlvbigpe2Uub25Db21wbGV0ZSYmZS5vbkNvbXBsZXRlKCl9KSx0LmVtaXQoInBsb3RseV9hbmltYXRpbmdmcmFtZSIse25hbWU6cixmcmFtZTplLmZyYW1lLGFuaW1hdGlvbjp7ZnJhbWU6ZS5mcmFtZU9wdHMsdHJhbnNpdGlvbjplLnRyYW5zaXRpb25PcHRzfX0pfWVsc2UgdC5lbWl0KCJwbG90bHlfYW5pbWF0ZWQiKSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobi5fYW5pbWF0aW9uUmFmKSxuLl9hbmltYXRpb25SYWY9bnVsbH1mdW5jdGlvbiBwKCl7dC5lbWl0KCJwbG90bHlfYW5pbWF0aW5nIiksbi5fbGFzdEZyYW1lQXQ9LTEvMCxuLl90aW1lVG9OZXh0PTAsbi5fcnVubmluZ1RyYW5zaXRpb25zPTAsbi5fY3VycmVudEZyYW1lPW51bGw7dmFyIGU9ZnVuY3Rpb24oKXtuLl9hbmltYXRpb25SYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShlKSxEYXRlLm5vdygpLW4uX2xhc3RGcmFtZUF0Pm4uX3RpbWVUb05leHQmJmgoKX07ZSgpfXZhciBkLGcsdj0wO2Z1bmN0aW9uIG0odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/dj49YS5sZW5ndGg/dC50cmFuc2l0aW9uT3B0cz1hW3ZdOnQudHJhbnNpdGlvbk9wdHM9YVswXTp0LnRyYW5zaXRpb25PcHRzPWEsdisrLHR9dmFyIHk9W10seD1udWxsPT1lLGI9QXJyYXkuaXNBcnJheShlKTtpZih4fHxifHwhby5pc1BsYWluT2JqZWN0KGUpKXtpZih4fHwtMSE9PVsic3RyaW5nIiwibnVtYmVyIl0uaW5kZXhPZih0eXBlb2YgZSkpZm9yKGQ9MDtkPG4uX2ZyYW1lcy5sZW5ndGg7ZCsrKShnPW4uX2ZyYW1lc1tkXSkmJih4fHxTdHJpbmcoZy5ncm91cCk9PT1TdHJpbmcoZSkpJiZ5LnB1c2goe3R5cGU6ImJ5bmFtZSIsbmFtZTpTdHJpbmcoZy5uYW1lKSxkYXRhOm0oe25hbWU6Zy5uYW1lfSl9KTtlbHNlIGlmKGIpZm9yKGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIF89ZVtkXTstMSE9PVsibnVtYmVyIiwic3RyaW5nIl0uaW5kZXhPZih0eXBlb2YgXyk/KF89U3RyaW5nKF8pLHkucHVzaCh7dHlwZToiYnluYW1lIixuYW1lOl8sZGF0YTptKHtuYW1lOl99KX0pKTpvLmlzUGxhaW5PYmplY3QoXykmJnkucHVzaCh7dHlwZToib2JqZWN0IixkYXRhOm0oby5leHRlbmRGbGF0KHt9LF8pKX0pfX1lbHNlIHkucHVzaCh7dHlwZToib2JqZWN0IixkYXRhOm0oby5leHRlbmRGbGF0KHt9LGUpKX0pO2ZvcihkPTA7ZDx5Lmxlbmd0aDtkKyspaWYoImJ5bmFtZSI9PT0oZz15W2RdKS50eXBlJiYhbi5fZnJhbWVIYXNoW2cuZGF0YS5uYW1lXSlyZXR1cm4gby53YXJuKCdhbmltYXRlIGZhaWx1cmU6IGZyYW1lIG5vdCBmb3VuZDogIicrZy5kYXRhLm5hbWUrJyInKSx2b2lkIHUoKTstMSE9PVsibmV4dCIsImltbWVkaWF0ZSJdLmluZGV4T2Yoci5tb2RlKSYmZnVuY3Rpb24oKXtpZigwIT09bi5fZnJhbWVRdWV1ZS5sZW5ndGgpe2Zvcig7bi5fZnJhbWVRdWV1ZS5sZW5ndGg7KXt2YXIgZT1uLl9mcmFtZVF1ZXVlLnBvcCgpO2Uub25JbnRlcnJ1cHQmJmUub25JbnRlcnJ1cHQoKX10LmVtaXQoInBsb3RseV9hbmltYXRpb25pbnRlcnJ1cHRlZCIsW10pfX0oKSwicmV2ZXJzZSI9PT1yLmRpcmVjdGlvbiYmeS5yZXZlcnNlKCk7dmFyIHc9dC5fZnVsbExheW91dC5fY3VycmVudEZyYW1lO2lmKHcmJnIuZnJvbWN1cnJlbnQpe3ZhciBUPS0xO2ZvcihkPTA7ZDx5Lmxlbmd0aDtkKyspaWYoImJ5bmFtZSI9PT0oZz15W2RdKS50eXBlJiZnLm5hbWU9PT13KXtUPWQ7YnJlYWt9aWYoVD4wJiZUPHkubGVuZ3RoLTEpe3ZhciBNPVtdO2ZvcihkPTA7ZDx5Lmxlbmd0aDtkKyspZz15W2RdLCgiYnluYW1lIiE9PXlbZF0udHlwZXx8ZD5UKSYmTS5wdXNoKGcpO3k9TX19eS5sZW5ndGg+MD9mdW5jdGlvbihlKXtpZigwIT09ZS5sZW5ndGgpe2Zvcih2YXIgYT0wO2E8ZS5sZW5ndGg7YSsrKXt2YXIgbztvPSJieW5hbWUiPT09ZVthXS50eXBlP2YuY29tcHV0ZUZyYW1lKHQsZVthXS5uYW1lKTplW2FdLmRhdGE7dmFyIGg9bChhKSxkPXMoYSk7ZC5kdXJhdGlvbj1NYXRoLm1pbihkLmR1cmF0aW9uLGguZHVyYXRpb24pO3ZhciBnPXtmcmFtZTpvLG5hbWU6ZVthXS5uYW1lLGZyYW1lT3B0czpoLHRyYW5zaXRpb25PcHRzOmR9O2E9PT1lLmxlbmd0aC0xJiYoZy5vbkNvbXBsZXRlPWMoaSwyKSxnLm9uSW50ZXJydXB0PXUpLG4uX2ZyYW1lUXVldWUucHVzaChnKX0iaW1tZWRpYXRlIj09PXIubW9kZSYmKG4uX2xhc3RGcmFtZUF0PS0xLzApLG4uX2FuaW1hdGlvblJhZnx8cCgpfX0oeSk6KHQuZW1pdCgicGxvdGx5X2FuaW1hdGVkIiksaSgpKX0pfSxyLmFkZEZyYW1lcz1mdW5jdGlvbih0LGUscil7aWYodD1vLmdldEdyYXBoRGl2KHQpLG51bGw9PWUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFvLmlzUGxvdERpdih0KSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgZWxlbWVudCBpcyBub3QgYSBQbG90bHkgcGxvdDogIit0KyIuIEl0J3MgbGlrZWx5IHRoYXQgeW91J3ZlIGZhaWxlZCB0byBjcmVhdGUgYSBwbG90IGJlZm9yZSBhZGRpbmcgZnJhbWVzLiBGb3IgbW9yZSBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9wbG90Lmx5L2phdmFzY3JpcHQvYW5pbWF0aW9ucy8iKTt2YXIgbixhLGkscyxsPXQuX3RyYW5zaXRpb25EYXRhLl9mcmFtZXMsdT10Ll90cmFuc2l0aW9uRGF0YS5fZnJhbWVIYXNoO2lmKCFBcnJheS5pc0FycmF5KGUpKXRocm93IG5ldyBFcnJvcigiYWRkRnJhbWVzIGZhaWx1cmU6IGZyYW1lTGlzdCBtdXN0IGJlIGFuIEFycmF5IG9mIGZyYW1lIGRlZmluaXRpb25zIitlKTt2YXIgaD1sLmxlbmd0aCsyKmUubGVuZ3RoLHA9W10sZD17fTtmb3Iobj1lLmxlbmd0aC0xO24+PTA7bi0tKWlmKG8uaXNQbGFpbk9iamVjdChlW25dKSl7dmFyIGc9ZVtuXS5uYW1lLHY9KHVbZ118fGRbZ118fHt9KS5uYW1lLG09ZVtuXS5uYW1lLHk9dVt2XXx8ZFt2XTt2JiZtJiYibnVtYmVyIj09dHlwZW9mIG0mJnkmJlM8RSYmKFMrKyxvLndhcm4oJ2FkZEZyYW1lczogb3ZlcndyaXRpbmcgZnJhbWUgIicrKHVbdl18fGRbdl0pLm5hbWUrJyIgd2l0aCBhIGZyYW1lIHdob3NlIG5hbWUgb2YgdHlwZSAibnVtYmVyIiBhbHNvIGVxdWF0ZXMgdG8gIicrdisnIi4gVGhpcyBpcyB2YWxpZCBidXQgbWF5IHBvdGVudGlhbGx5IGxlYWQgdG8gdW5leHBlY3RlZCBiZWhhdmlvciBzaW5jZSBhbGwgcGxvdGx5LmpzIGZyYW1lIG5hbWVzIGFyZSBzdG9yZWQgaW50ZXJuYWxseSBhcyBzdHJpbmdzLicpLFM9PT1FJiZvLndhcm4oImFkZEZyYW1lczogVGhpcyBBUEkgY2FsbCBoYXMgeWllbGRlZCB0b28gbWFueSBvZiB0aGVzZSB3YXJuaW5ncy4gRm9yIHRoZSByZXN0IG9mIHRoaXMgY2FsbCwgZnVydGhlciB3YXJuaW5ncyBhYm91dCBudW1lcmljIGZyYW1lIG5hbWVzIHdpbGwgYmUgc3VwcHJlc3NlZC4iKSksZFtnXT17bmFtZTpnfSxwLnB1c2goe2ZyYW1lOmYuc3VwcGx5RnJhbWVEZWZhdWx0cyhlW25dKSxpbmRleDpyJiZ2b2lkIDAhPT1yW25dJiZudWxsIT09cltuXT9yW25dOmgrbn0pfXAuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LmluZGV4PmUuaW5kZXg/LTE6dC5pbmRleDxlLmluZGV4PzE6MH0pO3ZhciB4PVtdLGI9W10sXz1sLmxlbmd0aDtmb3Iobj1wLmxlbmd0aC0xO24+PTA7bi0tKXtpZigibnVtYmVyIj09dHlwZW9mKGE9cFtuXS5mcmFtZSkubmFtZSYmby53YXJuKCJXYXJuaW5nOiBhZGRGcmFtZXMgYWNjZXB0cyBmcmFtZXMgd2l0aCBudW1lcmljIG5hbWVzLCBidXQgdGhlIG51bWJlcnMgYXJlaW1wbGljaXRseSBjYXN0IHRvIHN0cmluZ3MiKSwhYS5uYW1lKWZvcig7dVthLm5hbWU9ImZyYW1lICIrdC5fdHJhbnNpdGlvbkRhdGEuX2NvdW50ZXIrK107KTtpZih1W2EubmFtZV0pe2ZvcihpPTA7aTxsLmxlbmd0aCYmKGxbaV18fHt9KS5uYW1lIT09YS5uYW1lO2krKyk7eC5wdXNoKHt0eXBlOiJyZXBsYWNlIixpbmRleDppLHZhbHVlOmF9KSxiLnVuc2hpZnQoe3R5cGU6InJlcGxhY2UiLGluZGV4OmksdmFsdWU6bFtpXX0pfWVsc2Ugcz1NYXRoLm1heCgwLE1hdGgubWluKHBbbl0uaW5kZXgsXykpLHgucHVzaCh7dHlwZToiaW5zZXJ0IixpbmRleDpzLHZhbHVlOmF9KSxiLnVuc2hpZnQoe3R5cGU6ImRlbGV0ZSIsaW5kZXg6c30pLF8rK312YXIgdz1mLm1vZGlmeUZyYW1lcyxrPWYubW9kaWZ5RnJhbWVzLFQ9W3QsYl0sTT1bdCx4XTtyZXR1cm4gYyYmYy5hZGQodCx3LFQsayxNKSxmLm1vZGlmeUZyYW1lcyh0LHgpfSxyLmRlbGV0ZUZyYW1lcz1mdW5jdGlvbih0LGUpe2lmKHQ9by5nZXRHcmFwaERpdih0KSwhby5pc1Bsb3REaXYodCkpdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVsZW1lbnQgaXMgbm90IGEgUGxvdGx5IHBsb3Q6ICIrdCk7dmFyIHIsbixhPXQuX3RyYW5zaXRpb25EYXRhLl9mcmFtZXMsaT1bXSxzPVtdO2lmKCFlKWZvcihlPVtdLHI9MDtyPGEubGVuZ3RoO3IrKyllLnB1c2gocik7Zm9yKChlPWUuc2xpY2UoKSkuc29ydCgpLHI9ZS5sZW5ndGgtMTtyPj0wO3ItLSluPWVbcl0saS5wdXNoKHt0eXBlOiJkZWxldGUiLGluZGV4Om59KSxzLnVuc2hpZnQoe3R5cGU6Imluc2VydCIsaW5kZXg6bix2YWx1ZTphW25dfSk7dmFyIGw9Zi5tb2RpZnlGcmFtZXMsdT1mLm1vZGlmeUZyYW1lcyxoPVt0LHNdLHA9W3QsaV07cmV0dXJuIGMmJmMuYWRkKHQsbCxoLHUscCksZi5tb2RpZnlGcmFtZXModCxpKX0sci5hZGRUcmFjZXM9ZnVuY3Rpb24gdChlLG4sYSl7ZT1vLmdldEdyYXBoRGl2KGUpO3ZhciBpLHMsbD1bXSx1PXIuZGVsZXRlVHJhY2VzLGg9dCxmPVtlLGxdLHA9W2Usbl07Zm9yKGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhO2lmKCFBcnJheS5pc0FycmF5KHQuZGF0YSkpdGhyb3cgbmV3IEVycm9yKCJnZC5kYXRhIG11c3QgYmUgYW4gYXJyYXkuIik7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigidHJhY2VzIG11c3QgYmUgZGVmaW5lZC4iKTtmb3IoQXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKSxuPTA7bjxlLmxlbmd0aDtuKyspaWYoIm9iamVjdCIhPXR5cGVvZihhPWVbbl0pfHxBcnJheS5pc0FycmF5KGEpfHxudWxsPT09YSl0aHJvdyBuZXcgRXJyb3IoImFsbCB2YWx1ZXMgaW4gdHJhY2VzIGFycmF5IG11c3QgYmUgbm9uLWFycmF5IG9iamVjdHMiKTtpZigidW5kZWZpbmVkIj09dHlwZW9mIHJ8fEFycmF5LmlzQXJyYXkocil8fChyPVtyXSksInVuZGVmaW5lZCIhPXR5cGVvZiByJiZyLmxlbmd0aCE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaWYgaW5kaWNlcyBpcyBzcGVjaWZpZWQsIHRyYWNlcy5sZW5ndGggbXVzdCBlcXVhbCBpbmRpY2VzLmxlbmd0aCIpfShlLG4sYSksQXJyYXkuaXNBcnJheShuKXx8KG49W25dKSxuPW4ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvLmV4dGVuZEZsYXQoe30sdCl9KSxrLmNsZWFuRGF0YShuKSxpPTA7aTxuLmxlbmd0aDtpKyspZS5kYXRhLnB1c2gobltpXSk7Zm9yKGk9MDtpPG4ubGVuZ3RoO2krKylsLnB1c2goLW4ubGVuZ3RoK2kpO2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgYSlyZXR1cm4gcz1yLnJlZHJhdyhlKSxjLmFkZChlLHUsZixoLHApLHM7QXJyYXkuaXNBcnJheShhKXx8KGE9W2FdKTt0cnl7RChlLGwsYSl9Y2F0Y2godCl7dGhyb3cgZS5kYXRhLnNwbGljZShlLmRhdGEubGVuZ3RoLW4ubGVuZ3RoLG4ubGVuZ3RoKSx0fXJldHVybiBjLnN0YXJ0U2VxdWVuY2UoZSksYy5hZGQoZSx1LGYsaCxwKSxzPXIubW92ZVRyYWNlcyhlLGwsYSksYy5zdG9wU2VxdWVuY2UoZSksc30sci5kZWxldGVUcmFjZXM9ZnVuY3Rpb24gdChlLG4pe2U9by5nZXRHcmFwaERpdihlKTt2YXIgYSxpLHM9W10sbD1yLmFkZFRyYWNlcyx1PXQsaD1bZSxzLG5dLGY9W2Usbl07aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuKXRocm93IG5ldyBFcnJvcigiaW5kaWNlcyBtdXN0IGJlIGFuIGludGVnZXIgb3IgYXJyYXkgb2YgaW50ZWdlcnMuIik7Zm9yKEFycmF5LmlzQXJyYXkobil8fChuPVtuXSksSShlLG4sImluZGljZXMiKSwobj16KG4sZS5kYXRhLmxlbmd0aC0xKSkuc29ydChvLnNvcnRlckRlcyksYT0wO2E8bi5sZW5ndGg7YSs9MSlpPWUuZGF0YS5zcGxpY2UoblthXSwxKVswXSxzLnB1c2goaSk7dmFyIHA9ci5yZWRyYXcoZSk7cmV0dXJuIGMuYWRkKGUsbCxoLHUsZikscH0sci5leHRlbmRUcmFjZXM9ZnVuY3Rpb24gdChlLG4sYSxpKXt2YXIgcz1SKGU9by5nZXRHcmFwaERpdihlKSxuLGEsaSxmdW5jdGlvbih0LGUscil7dmFyIG4sYTtpZihvLmlzVHlwZWRBcnJheSh0KSlpZihyPDApe3ZhciBpPW5ldyB0LmNvbnN0cnVjdG9yKDApLHM9Rih0LGUpO3I8MD8obj1zLGE9aSk6KG49aSxhPXMpfWVsc2UgaWYobj1uZXcgdC5jb25zdHJ1Y3RvcihyKSxhPW5ldyB0LmNvbnN0cnVjdG9yKHQubGVuZ3RoK2UubGVuZ3RoLXIpLHI9PT1lLmxlbmd0aCluLnNldChlKSxhLnNldCh0KTtlbHNlIGlmKHI8ZS5sZW5ndGgpe3ZhciBsPWUubGVuZ3RoLXI7bi5zZXQoZS5zdWJhcnJheShsKSksYS5zZXQodCksYS5zZXQoZS5zdWJhcnJheSgwLGwpLHQubGVuZ3RoKX1lbHNle3ZhciBjPXItZS5sZW5ndGgsdT10Lmxlbmd0aC1jO24uc2V0KHQuc3ViYXJyYXkodSkpLG4uc2V0KGUsYyksYS5zZXQodC5zdWJhcnJheSgwLHUpKX1lbHNlIG49dC5jb25jYXQoZSksYT1yPj0wJiZyPG4ubGVuZ3RoP24uc3BsaWNlKDAsbi5sZW5ndGgtcik6W107cmV0dXJuW24sYV19KSxsPXIucmVkcmF3KGUpLHU9W2Uscy51cGRhdGUsYSxzLm1heFBvaW50c107cmV0dXJuIGMuYWRkKGUsci5wcmVwZW5kVHJhY2VzLHUsdCxhcmd1bWVudHMpLGx9LHIubW92ZVRyYWNlcz1mdW5jdGlvbiB0KGUsbixhKXt2YXIgaSxzPVtdLGw9W10sdT10LGg9dCxmPVtlPW8uZ2V0R3JhcGhEaXYoZSksYSxuXSxwPVtlLG4sYV07aWYoRChlLG4sYSksbj1BcnJheS5pc0FycmF5KG4pP246W25dLCJ1bmRlZmluZWQiPT10eXBlb2YgYSlmb3IoYT1bXSxpPTA7aTxuLmxlbmd0aDtpKyspYS5wdXNoKC1uLmxlbmd0aCtpKTtmb3IoYT1BcnJheS5pc0FycmF5KGEpP2E6W2FdLG49eihuLGUuZGF0YS5sZW5ndGgtMSksYT16KGEsZS5kYXRhLmxlbmd0aC0xKSxpPTA7aTxlLmRhdGEubGVuZ3RoO2krKyktMT09PW4uaW5kZXhPZihpKSYmcy5wdXNoKGUuZGF0YVtpXSk7Zm9yKGk9MDtpPG4ubGVuZ3RoO2krKylsLnB1c2goe25ld0luZGV4OmFbaV0sdHJhY2U6ZS5kYXRhW25baV1dfSk7Zm9yKGwuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0Lm5ld0luZGV4LWUubmV3SW5kZXh9KSxpPTA7aTxsLmxlbmd0aDtpKz0xKXMuc3BsaWNlKGxbaV0ubmV3SW5kZXgsMCxsW2ldLnRyYWNlKTtlLmRhdGE9czt2YXIgZD1yLnJlZHJhdyhlKTtyZXR1cm4gYy5hZGQoZSx1LGYsaCxwKSxkfSxyLnByZXBlbmRUcmFjZXM9ZnVuY3Rpb24gdChlLG4sYSxpKXt2YXIgcz1SKGU9by5nZXRHcmFwaERpdihlKSxuLGEsaSxmdW5jdGlvbih0LGUscil7dmFyIG4sYTtpZihvLmlzVHlwZWRBcnJheSh0KSlpZihyPD0wKXt2YXIgaT1uZXcgdC5jb25zdHJ1Y3RvcigwKSxzPUYoZSx0KTtyPDA/KG49cyxhPWkpOihuPWksYT1zKX1lbHNlIGlmKG49bmV3IHQuY29uc3RydWN0b3IociksYT1uZXcgdC5jb25zdHJ1Y3Rvcih0Lmxlbmd0aCtlLmxlbmd0aC1yKSxyPT09ZS5sZW5ndGgpbi5zZXQoZSksYS5zZXQodCk7ZWxzZSBpZihyPGUubGVuZ3RoKXt2YXIgbD1lLmxlbmd0aC1yO24uc2V0KGUuc3ViYXJyYXkoMCxsKSksYS5zZXQoZS5zdWJhcnJheShsKSksYS5zZXQodCxsKX1lbHNle3ZhciBjPXItZS5sZW5ndGg7bi5zZXQoZSksbi5zZXQodC5zdWJhcnJheSgwLGMpLGUubGVuZ3RoKSxhLnNldCh0LnN1YmFycmF5KGMpKX1lbHNlIG49ZS5jb25jYXQodCksYT1yPj0wJiZyPG4ubGVuZ3RoP24uc3BsaWNlKHIsbi5sZW5ndGgpOltdO3JldHVybltuLGFdfSksbD1yLnJlZHJhdyhlKSx1PVtlLHMudXBkYXRlLGEscy5tYXhQb2ludHNdO3JldHVybiBjLmFkZChlLHIuZXh0ZW5kVHJhY2VzLHUsdCxhcmd1bWVudHMpLGx9LHIubmV3UGxvdD1mdW5jdGlvbih0LGUsbixhKXtyZXR1cm4gdD1vLmdldEdyYXBoRGl2KHQpLGYuY2xlYW5QbG90KFtdLHt9LHQuX2Z1bGxEYXRhfHxbXSx0Ll9mdWxsTGF5b3V0fHx7fSksZi5wdXJnZSh0KSxyLnBsb3QodCxlLG4sYSl9LHIucGxvdD1mdW5jdGlvbih0LGUsYSxpKXt2YXIgcztpZih0PW8uZ2V0R3JhcGhEaXYodCksbC5pbml0KHQpLG8uaXNQbGFpbk9iamVjdChlKSl7dmFyIGM9ZTtlPWMuZGF0YSxhPWMubGF5b3V0LGk9Yy5jb25maWcscz1jLmZyYW1lc31pZighMT09PWwudHJpZ2dlckhhbmRsZXIodCwicGxvdGx5X2JlZm9yZXBsb3QiLFtlLGEsaV0pKXJldHVybiBQcm9taXNlLnJlamVjdCgpO2V8fGF8fG8uaXNQbG90RGl2KHQpfHxvLndhcm4oIkNhbGxpbmcgUGxvdGx5LnBsb3QgYXMgaWYgcmVkcmF3aW5nIGJ1dCB0aGlzIGNvbnRhaW5lciBkb2Vzbid0IHlldCBoYXZlIGEgcGxvdC4iLHQpLE8odCxpKSxhfHwoYT17fSksbi5zZWxlY3QodCkuY2xhc3NlZCgianMtcGxvdGx5LXBsb3QiLCEwKSxnLm1ha2VUZXN0ZXIoKSxBcnJheS5pc0FycmF5KHQuX3Byb21pc2VzKXx8KHQuX3Byb21pc2VzPVtdKTt2YXIgaD0wPT09KHQuZGF0YXx8W10pLmxlbmd0aCYmQXJyYXkuaXNBcnJheShlKTtBcnJheS5pc0FycmF5KGUpJiYoay5jbGVhbkRhdGEoZSksaD90LmRhdGE9ZTp0LmRhdGEucHVzaC5hcHBseSh0LmRhdGEsZSksdC5lbXB0eT0hMSksdC5sYXlvdXQmJiFofHwodC5sYXlvdXQ9ay5jbGVhbkxheW91dChhKSksZi5zdXBwbHlEZWZhdWx0cyh0KTt2YXIgdj10Ll9mdWxsTGF5b3V0LHk9di5faGFzKCJjYXJ0ZXNpYW4iKTtpZighdi5faGFzKCJwb2xhciIpJiZlJiZlWzBdJiZlWzBdLnIpcmV0dXJuIG8ubG9nKCJMZWdhY3kgcG9sYXIgY2hhcnRzIGFyZSBkZXByZWNhdGVkISIpLGZ1bmN0aW9uKHQsZSxyKXt2YXIgYT1uLnNlbGVjdCh0KS5zZWxlY3RBbGwoIi5wbG90LWNvbnRhaW5lciIpLmRhdGEoWzBdKTthLmVudGVyKCkuaW5zZXJ0KCJkaXYiLCI6Zmlyc3QtY2hpbGQiKS5jbGFzc2VkKCJwbG90LWNvbnRhaW5lciBwbG90bHkiLCEwKTt2YXIgaT1hLnNlbGVjdEFsbCgiLnN2Zy1jb250YWluZXIiKS5kYXRhKFswXSk7aS5lbnRlcigpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgic3ZnLWNvbnRhaW5lciIsITApLnN0eWxlKCJwb3NpdGlvbiIsInJlbGF0aXZlIiksaS5odG1sKCIiKSxlJiYodC5kYXRhPWUpLHImJih0LmxheW91dD1yKSxwLm1hbmFnZXIuZmlsbExheW91dCh0KSxpLnN0eWxlKHt3aWR0aDp0Ll9mdWxsTGF5b3V0LndpZHRoKyJweCIsaGVpZ2h0OnQuX2Z1bGxMYXlvdXQuaGVpZ2h0KyJweCJ9KSx0LmZyYW1ld29yaz1wLm1hbmFnZXIuZnJhbWV3b3JrKHQpLHQuZnJhbWV3b3JrKHtkYXRhOnQuZGF0YSxsYXlvdXQ6dC5sYXlvdXR9LGkubm9kZSgpKSx0LmZyYW1ld29yay5zZXRVbmRvUG9pbnQoKTt2YXIgcz10LmZyYW1ld29yay5zdmcoKSxsPTEsYz10Ll9mdWxsTGF5b3V0LnRpdGxlP3QuX2Z1bGxMYXlvdXQudGl0bGUudGV4dDoiIjsiIiE9PWMmJmN8fChsPTApO3ZhciB1PWZ1bmN0aW9uKCl7dGhpcy5jYWxsKHguY29udmVydFRvVHNwYW5zLHQpfSxoPXMuc2VsZWN0KCIudGl0bGUtZ3JvdXAgdGV4dCIpLmNhbGwodSk7aWYodC5fY29udGV4dC5lZGl0cy50aXRsZVRleHQpe3ZhciBkPW8uXyh0LCJDbGljayB0byBlbnRlciBQbG90IHRpdGxlIik7YyYmYyE9PWR8fChsPS4yLGguYXR0cih7ImRhdGEtdW5mb3JtYXR0ZWQiOmR9KS50ZXh0KGQpLnN0eWxlKHtvcGFjaXR5Omx9KS5vbigibW91c2VvdmVyLm9wYWNpdHkiLGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKDEwMCkuc3R5bGUoIm9wYWNpdHkiLDEpfSkub24oIm1vdXNlb3V0Lm9wYWNpdHkiLGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKDFlMykuc3R5bGUoIm9wYWNpdHkiLDApfSkpO3ZhciBnPWZ1bmN0aW9uKCl7dGhpcy5jYWxsKHgubWFrZUVkaXRhYmxlLHtnZDp0fSkub24oImVkaXQiLGZ1bmN0aW9uKGUpe3QuZnJhbWV3b3JrKHtsYXlvdXQ6e3RpdGxlOnt0ZXh0OmV9fX0pLHRoaXMudGV4dChlKS5jYWxsKHUpLHRoaXMuY2FsbChnKX0pLm9uKCJjYW5jZWwiLGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5hdHRyKCJkYXRhLXVuZm9ybWF0dGVkIik7dGhpcy50ZXh0KHQpLmNhbGwodSl9KX07aC5jYWxsKGcpfXJldHVybiB0Ll9jb250ZXh0LnNldEJhY2tncm91bmQodCx0Ll9mdWxsTGF5b3V0LnBhcGVyX2JnY29sb3IpLGYuYWRkTGlua3ModCksUHJvbWlzZS5yZXNvbHZlKCl9KHQsZSxhKTt2Ll9yZXBsb3R0aW5nPSEwLGgmJmx0KHQpLHQuZnJhbWV3b3JrIT09bHQmJih0LmZyYW1ld29yaz1sdCxsdCh0KSksZy5pbml0R3JhZGllbnRzKHQpLGgmJmQuc2F2ZVNob3dTcGlrZUluaXRpYWwodCk7dmFyIGI9IXQuY2FsY2RhdGF8fHQuY2FsY2RhdGEubGVuZ3RoIT09KHQuX2Z1bGxEYXRhfHxbXSkubGVuZ3RoO2ImJmYuZG9DYWxjZGF0YSh0KTtmb3IodmFyIF89MDtfPHQuY2FsY2RhdGEubGVuZ3RoO18rKyl0LmNhbGNkYXRhW19dWzBdLnRyYWNlPXQuX2Z1bGxEYXRhW19dO3QuX2NvbnRleHQucmVzcG9uc2l2ZT90Ll9yZXNwb25zaXZlQ2hhcnRIYW5kbGVyfHwodC5fcmVzcG9uc2l2ZUNoYXJ0SGFuZGxlcj1mdW5jdGlvbigpe28uaXNIaWRkZW4odCl8fGYucmVzaXplKHQpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0Ll9yZXNwb25zaXZlQ2hhcnRIYW5kbGVyKSk6by5jbGVhclJlc3BvbnNpdmUodCk7dmFyIHc9by5leHRlbmRGbGF0KHt9LHYuX3NpemUpLE09MDtmdW5jdGlvbiBBKCl7aWYoZi5jbGVhckF1dG9NYXJnaW5JZHModCksVC5kcmF3TWFyZ2luUHVzaGVycyh0KSxkLmFsbG93QXV0b01hcmdpbih0KSx2Ll9oYXMoInBpZSIpKWZvcih2YXIgZT10Ll9mdWxsRGF0YSxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWVbcl07InBpZSI9PT1uLnR5cGUmJm4uYXV0b21hcmdpbiYmZi5hbGxvd0F1dG9NYXJnaW4odCwicGllLiIrbi51aWQrIi5hdXRvbWFyZ2luIil9cmV0dXJuIGYuZG9BdXRvTWFyZ2luKHQpLGYucHJldmlvdXNQcm9taXNlcyh0KX1mdW5jdGlvbiBTKCl7dC5fdHJhbnNpdGlvbmluZ3x8KFQuZG9BdXRvUmFuZ2VBbmRDb25zdHJhaW50cyh0KSxoJiZkLnNhdmVSYW5nZUluaXRpYWwodCksdS5nZXRDb21wb25lbnRNZXRob2QoInJhbmdlc2xpZGVyIiwiY2FsY0F1dG9yYW5nZSIpKHQpKX12YXIgRT1bZi5wcmV2aW91c1Byb21pc2VzLGZ1bmN0aW9uKCl7aWYocylyZXR1cm4gci5hZGRGcmFtZXModCxzKX0sZnVuY3Rpb24gZSgpe2Zvcih2YXIgcj12Ll9iYXNlUGxvdE1vZHVsZXMsbj0wO248ci5sZW5ndGg7bisrKXJbbl0uZHJhd0ZyYW1ld29yayYmcltuXS5kcmF3RnJhbWV3b3JrKHQpO2lmKCF2Ll9nbGNhbnZhcyYmdi5faGFzKCJnbCIpJiYodi5fZ2xjYW52YXM9di5fZ2xjb250YWluZXIuc2VsZWN0QWxsKCIuZ2wtY2FudmFzIikuZGF0YShbe2tleToiY29udGV4dExheWVyIixjb250ZXh0OiEwLHBpY2s6ITF9LHtrZXk6ImZvY3VzTGF5ZXIiLGNvbnRleHQ6ITEscGljazohMX0se2tleToicGlja0xheWVyIixjb250ZXh0OiExLHBpY2s6ITB9XSxmdW5jdGlvbih0KXtyZXR1cm4gdC5rZXl9KSx2Ll9nbGNhbnZhcy5lbnRlcigpLmFwcGVuZCgiY2FudmFzIikuYXR0cigiY2xhc3MiLGZ1bmN0aW9uKHQpe3JldHVybiJnbC1jYW52YXMgZ2wtY2FudmFzLSIrdC5rZXkucmVwbGFjZSgiTGF5ZXIiLCIiKX0pLnN0eWxlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxvdmVyZmxvdzoidmlzaWJsZSIsInBvaW50ZXItZXZlbnRzIjoibm9uZSJ9KSksdi5fZ2xjYW52YXMpe3YuX2dsY2FudmFzLmF0dHIoIndpZHRoIix2LndpZHRoKS5hdHRyKCJoZWlnaHQiLHYuaGVpZ2h0KTt2YXIgYT12Ll9nbGNhbnZhcy5kYXRhKClbMF0ucmVnbDtpZihhJiYoTWF0aC5mbG9vcih2LndpZHRoKSE9PWEuX2dsLmRyYXdpbmdCdWZmZXJXaWR0aHx8TWF0aC5mbG9vcih2LmhlaWdodCkhPT1hLl9nbC5kcmF3aW5nQnVmZmVySGVpZ2h0KSl7dmFyIGk9IldlYkdMIGNvbnRleHQgYnVmZmVyIGFuZCBjYW52YXMgZGltZW5zaW9ucyBkbyBub3QgbWF0Y2ggZHVlIHRvIGJyb3dzZXIvV2ViR0wgYnVnLiI7aWYoIU0pcmV0dXJuIG8ubG9nKGkrIiBDbGVhcmluZyBncmFwaCBhbmQgcGxvdHRpbmcgYWdhaW4uIiksZi5jbGVhblBsb3QoW10se30sdC5fZnVsbERhdGEsdiksZi5zdXBwbHlEZWZhdWx0cyh0KSx2PXQuX2Z1bGxMYXlvdXQsZi5kb0NhbGNkYXRhKHQpLE0rKyxlKCk7by5lcnJvcihpKX19cmV0dXJuImgiPT09di5tb2RlYmFyLm9yaWVudGF0aW9uP3YuX21vZGViYXJkaXYuc3R5bGUoImhlaWdodCIsbnVsbCkuc3R5bGUoIndpZHRoIiwiMTAwJSIpOnYuX21vZGViYXJkaXYuc3R5bGUoIndpZHRoIixudWxsKS5zdHlsZSgiaGVpZ2h0Iix2LmhlaWdodCsicHgiKSxmLnByZXZpb3VzUHJvbWlzZXModCl9LEEsZnVuY3Rpb24oKXtpZihmLmRpZE1hcmdpbkNoYW5nZSh3LHYuX3NpemUpKXJldHVybiBvLnN5bmNPckFzeW5jKFtBLFQubGF5b3V0U3R5bGVzXSx0KX1dO3kmJkUucHVzaChmdW5jdGlvbigpe2lmKGIpcmV0dXJuIG8uc3luY09yQXN5bmMoW3UuZ2V0Q29tcG9uZW50TWV0aG9kKCJzaGFwZXMiLCJjYWxjQXV0b3JhbmdlIiksdS5nZXRDb21wb25lbnRNZXRob2QoImFubm90YXRpb25zIiwiY2FsY0F1dG9yYW5nZSIpLFNdLHQpO1MoKX0pLEUucHVzaChULmxheW91dFN0eWxlcykseSYmRS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGQuZHJhdyh0LGg/IiI6InJlZHJhdyIpfSksRS5wdXNoKFQuZHJhd0RhdGEsVC5maW5hbERyYXcsbSxmLmFkZExpbmtzLGYucmVob3ZlcixmLnJlZHJhZyxmLmRvQXV0b01hcmdpbixmLnByZXZpb3VzUHJvbWlzZXMpO3ZhciBDPW8uc3luY09yQXN5bmMoRSx0KTtyZXR1cm4gQyYmQy50aGVufHwoQz1Qcm9taXNlLnJlc29sdmUoKSksQy50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIEwodCksdH0pfSxyLnB1cmdlPWZ1bmN0aW9uKHQpe3ZhciBlPSh0PW8uZ2V0R3JhcGhEaXYodCkpLl9mdWxsTGF5b3V0fHx7fSxyPXQuX2Z1bGxEYXRhfHxbXTtyZXR1cm4gZi5jbGVhblBsb3QoW10se30scixlKSxmLnB1cmdlKHQpLGwucHVyZ2UodCksZS5fY29udGFpbmVyJiZlLl9jb250YWluZXIucmVtb3ZlKCksZGVsZXRlIHQuX2NvbnRleHQsdH0sci5yZWFjdD1mdW5jdGlvbih0LGUsbixhKXt2YXIgaSxsO3Q9by5nZXRHcmFwaERpdih0KSxrLmNsZWFyUHJvbWlzZVF1ZXVlKHQpO3ZhciBjPXQuX2Z1bGxEYXRhLHA9dC5fZnVsbExheW91dDtpZihvLmlzUGxvdERpdih0KSYmYyYmcCl7aWYoby5pc1BsYWluT2JqZWN0KGUpKXt2YXIgZD1lO2U9ZC5kYXRhLG49ZC5sYXlvdXQsYT1kLmNvbmZpZyxpPWQuZnJhbWVzfXZhciBnPSExO2lmKGEpe3ZhciB2PW8uZXh0ZW5kRGVlcCh7fSx0Ll9jb250ZXh0KTt0Ll9jb250ZXh0PXZvaWQgMCxPKHQsYSksZz1mdW5jdGlvbiB0KGUscil7dmFyIG47Zm9yKG4gaW4gZSlpZigiXyIhPT1uLmNoYXJBdCgwKSl7dmFyIGE9ZVtuXSxpPXJbbl07aWYoYSE9PWkpaWYoby5pc1BsYWluT2JqZWN0KGEpJiZvLmlzUGxhaW5PYmplY3QoaSkpe2lmKHQoYSxpKSlyZXR1cm4hMH1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpfHwhQXJyYXkuaXNBcnJheShpKSlyZXR1cm4hMDtpZihhLmxlbmd0aCE9PWkubGVuZ3RoKXJldHVybiEwO2Zvcih2YXIgcz0wO3M8YS5sZW5ndGg7cysrKWlmKGFbc10hPT1pW3NdKXtpZighby5pc1BsYWluT2JqZWN0KGFbc10pfHwhby5pc1BsYWluT2JqZWN0KGlbc10pKXJldHVybiEwO2lmKHQoYVtzXSxpW3NdKSlyZXR1cm4hMH19fX0odix0Ll9jb250ZXh0KX10LmRhdGE9ZXx8W10say5jbGVhbkRhdGEodC5kYXRhKSx0LmxheW91dD1ufHx7fSxrLmNsZWFuTGF5b3V0KHQubGF5b3V0KSxmdW5jdGlvbih0LGUscixuKXt2YXIgYSxpLGwsYyx1LGgsZixwLGQ9bi5fcHJlR1VJLGc9W10sdj17fTtmb3IoYSBpbiBkKXtpZih1PXJ0KGEsdHQpKXtpZihpPXUuYXR0cnx8dS5oZWFkKyIudWlyZXZpc2lvbiIsKGM9KGw9cyhuLGkpLmdldCgpKSYmbnQoaSxlKSkmJmM9PT1sJiYobnVsbD09PShoPWRbYV0pJiYoaD12b2lkIDApLG90KHA9KGY9cyhlLGEpKS5nZXQoKSxoKSkpe3ZvaWQgMD09PXAmJiJhdXRvcmFuZ2UiPT09YS5zdWJzdHIoYS5sZW5ndGgtOSkmJmcucHVzaChhLnN1YnN0cigwLGEubGVuZ3RoLTEwKSksZi5zZXQoTihzKG4sYSkuZ2V0KCkpKTtjb250aW51ZX19ZWxzZSBvLndhcm4oInVucmVjb2duaXplZCBHVUkgZWRpdDogIithKTtkZWxldGUgZFthXSwicmFuZ2VbIj09PWEuc3Vic3RyKGEubGVuZ3RoLTgsNikmJih2W2Euc3Vic3RyKDAsYS5sZW5ndGgtOSldPTEpfWZvcih2YXIgbT0wO208Zy5sZW5ndGg7bSsrKXt2YXIgeT1nW21dO2lmKHZbeV0pe3ZhciB4PXMoZSx5KS5nZXQoKTt4JiZkZWxldGUgeC5hdXRvcmFuZ2V9fXZhciBiPW4uX3RyYWNlUHJlR1VJO2Zvcih2YXIgXyBpbiBiKXt2YXIgdyxrPWJbX10sVD1udWxsO2ZvcihhIGluIGspe2lmKCFUKXt2YXIgTT1hdChfLHIpO2lmKE08MCl7ZGVsZXRlIGJbX107YnJlYWt9dmFyIEE9aXQoXyx0LCh3PXJbTV0uX2Z1bGxJbnB1dCkuaW5kZXgpO2lmKEE8MCl7ZGVsZXRlIGJbX107YnJlYWt9VD10W0FdfWlmKHU9cnQoYSxldCkpe2lmKHUuYXR0cj9jPShsPXMobix1LmF0dHIpLmdldCgpKSYmbnQodS5hdHRyLGUpOihsPXcudWlyZXZpc2lvbix2b2lkIDA9PT0oYz1ULnVpcmV2aXNpb24pJiYoYz1lLnVpcmV2aXNpb24pKSxjJiZjPT09bCYmKG51bGw9PT0oaD1rW2FdKSYmKGg9dm9pZCAwKSxvdChwPShmPXMoVCxhKSkuZ2V0KCksaCkpKXtmLnNldChOKHModyxhKS5nZXQoKSkpO2NvbnRpbnVlfX1lbHNlIG8ud2FybigidW5yZWNvZ25pemVkIEdVSSBlZGl0OiAiK2ErIiBpbiB0cmFjZSB1aWQgIitfKTtkZWxldGUga1thXX19fSh0LmRhdGEsdC5sYXlvdXQsYyxwKSxmLnN1cHBseURlZmF1bHRzKHQse3NraXBVcGRhdGVDYWxjOiEwfSk7dmFyIG09dC5fZnVsbERhdGEseT10Ll9mdWxsTGF5b3V0LHg9dm9pZCAwPT09eS5kYXRhcmV2aXNpb24sYj15LnRyYW5zaXRpb24sXz1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPU0ubGF5b3V0RmxhZ3MoKTtyZXR1cm4gaS5hcnJheXM9e30saS5yYW5nZXNBbHRlcmVkPXt9LGkubkNoYW5nZXM9MCxpLm5DaGFuZ2VzQW5pbT0wLHN0KGUscixbXSx7Z2V0VmFsT2JqZWN0OmZ1bmN0aW9uKHQpe3JldHVybiBoLmdldExheW91dFZhbE9iamVjdChyLHQpfSxmbGFnczppLGltbXV0YWJsZTpuLHRyYW5zaXRpb246YSxnZDp0fSksKGkucGxvdHx8aS5jYWxjKSYmKGkubGF5b3V0UmVwbG90PSEwKSxhJiZpLm5DaGFuZ2VzJiZpLm5DaGFuZ2VzQW5pbSYmKGkuYW5pbT1pLm5DaGFuZ2VzPT09aS5uQ2hhbmdlc0FuaW0/ImFsbCI6InNvbWUiKSxpfSh0LHAseSx4LGIpLHc9Xy5uZXdEYXRhUmV2aXNpb24sQT1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89ZS5sZW5ndGg9PT1yLmxlbmd0aDtpZighYSYmIW8pcmV0dXJue2Z1bGxSZXBsb3Q6ITAsY2FsYzohMH07dmFyIHMsbCxjPU0udHJhY2VGbGFncygpO2MuYXJyYXlzPXt9LGMubkNoYW5nZXM9MCxjLm5DaGFuZ2VzQW5pbT0wO3ZhciB1PXtnZXRWYWxPYmplY3Q6ZnVuY3Rpb24odCl7dmFyIGU9aC5nZXRUcmFjZVZhbE9iamVjdChsLHQpO3JldHVybiFsLl9tb2R1bGUuYW5pbWF0YWJsZSYmZS5hbmltJiYoZS5hbmltPSExKSxlfSxmbGFnczpjLGltbXV0YWJsZTpuLHRyYW5zaXRpb246YSxuZXdEYXRhUmV2aXNpb246aSxnZDp0fSxwPXt9O2ZvcihzPTA7czxlLmxlbmd0aDtzKyspaWYocltzXSl7aWYobD1yW3NdLl9mdWxsSW5wdXQsZi5oYXNNYWtlc0RhdGFUcmFuc2Zvcm0obCkmJihsPXJbc10pLHBbbC51aWRdKWNvbnRpbnVlO3BbbC51aWRdPTEsc3QoZVtzXS5fZnVsbElucHV0LGwsW10sdSl9cmV0dXJuKGMuY2FsY3x8Yy5wbG90KSYmKGMuZnVsbFJlcGxvdD0hMCksYSYmYy5uQ2hhbmdlcyYmYy5uQ2hhbmdlc0FuaW0mJihjLmFuaW09Yy5uQ2hhbmdlcz09PWMubkNoYW5nZXNBbmltJiZvPyJhbGwiOiJzb21lIiksY30odCxjLG0seCxiLHcpO0sodCkmJihfLmxheW91dFJlcGxvdD0hMCksQS5jYWxjfHxfLmNhbGM/dC5jYWxjZGF0YT12b2lkIDA6Zi5zdXBwbHlEZWZhdWx0c1VwZGF0ZUNhbGModC5jYWxjZGF0YSxtKTt2YXIgUz1bXTtpZihpJiYodC5fdHJhbnNpdGlvbkRhdGE9e30sZi5jcmVhdGVUcmFuc2l0aW9uRGF0YSh0KSxTLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gci5hZGRGcmFtZXModCxpKX0pKSx5LnRyYW5zaXRpb24mJiFnJiYoQS5hbmltfHxfLmFuaW0pKWYuZG9DYWxjZGF0YSh0KSxULmRvQXV0b1JhbmdlQW5kQ29uc3RyYWludHModCksUy5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGYudHJhbnNpdGlvbkZyb21SZWFjdCh0LEEsXyxwKX0pO2Vsc2UgaWYoQS5mdWxsUmVwbG90fHxfLmxheW91dFJlcGxvdHx8Zyl0Ll9mdWxsTGF5b3V0Ll9za2lwRGVmYXVsdHM9ITAsUy5wdXNoKHIucGxvdCk7ZWxzZXtmb3IodmFyIEUgaW4gXy5hcnJheXMpe3ZhciBDPV8uYXJyYXlzW0VdO2lmKEMubGVuZ3RoKXt2YXIgUD11LmdldENvbXBvbmVudE1ldGhvZChFLCJkcmF3T25lIik7aWYoUCE9PW8ubm9vcClmb3IodmFyIHo9MDt6PEMubGVuZ3RoO3orKylQKHQsQ1t6XSk7ZWxzZXt2YXIgST11LmdldENvbXBvbmVudE1ldGhvZChFLCJkcmF3Iik7aWYoST09PW8ubm9vcCl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBkcmF3IGNvbXBvbmVudHM6ICIrRSk7SSh0KX19fVMucHVzaChmLnByZXZpb3VzUHJvbWlzZXMpLEEuc3R5bGUmJlMucHVzaChULmRvVHJhY2VTdHlsZSksKEEuY29sb3JiYXJzfHxfLmNvbG9yYmFycykmJlMucHVzaChULmRvQ29sb3JCYXJzKSxfLmxlZ2VuZCYmUy5wdXNoKFQuZG9MZWdlbmQpLF8ubGF5b3V0c3R5bGUmJlMucHVzaChULmxheW91dFN0eWxlcyksXy5heHJhbmdlJiZZKFMpLF8udGlja3MmJlMucHVzaChULmRvVGlja3NSZWxheW91dCksXy5tb2RlYmFyJiZTLnB1c2goVC5kb01vZGVCYXIpLF8uY2FtZXJhJiZTLnB1c2goVC5kb0NhbWVyYSksUy5wdXNoKEwpfVMucHVzaChmLnJlaG92ZXIsZi5yZWRyYWcpLChsPW8uc3luY09yQXN5bmMoUyx0KSkmJmwudGhlbnx8KGw9UHJvbWlzZS5yZXNvbHZlKHQpKX1lbHNlIGw9ci5uZXdQbG90KHQsZSxuLGEpO3JldHVybiBsLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5lbWl0KCJwbG90bHlfcmVhY3QiLHtkYXRhOmUsbGF5b3V0Om59KSx0fSl9LHIucmVkcmF3PWZ1bmN0aW9uKHQpe2lmKHQ9by5nZXRHcmFwaERpdih0KSwhby5pc1Bsb3REaXYodCkpdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVsZW1lbnQgaXMgbm90IGEgUGxvdGx5IHBsb3Q6ICIrdCk7cmV0dXJuIGsuY2xlYW5EYXRhKHQuZGF0YSksay5jbGVhbkxheW91dCh0LmxheW91dCksdC5jYWxjZGF0YT12b2lkIDAsci5wbG90KHQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5lbWl0KCJwbG90bHlfcmVkcmF3IiksdH0pfSxyLnJlbGF5b3V0PUgsci5yZXN0eWxlPUIsci5zZXRQbG90Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiBvLmV4dGVuZEZsYXQoXyx0KX0sci51cGRhdGU9USxyLl9ndWlSZWxheW91dD0kKEgpLHIuX2d1aVJlc3R5bGU9JChCKSxyLl9ndWlVcGRhdGU9JChRKSxyLl9zdG9yZURpcmVjdEdVSUVkaXQ9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbiBpbiByKVYobixzKHQsbikuZ2V0KCkscltuXSxlKX19LHsiLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiOjY5NCwiLi4vbGliIjo3MTcsIi4uL2xpYi9ldmVudHMiOjcwNywiLi4vbGliL3F1ZXVlIjo3MzIsIi4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9wbG90cy9jYXJ0ZXNpYW4vY29uc3RhbnRzIjo3NzEsIi4uL3Bsb3RzL2NhcnRlc2lhbi9ncmFwaF9pbnRlcmFjdCI6Nzc0LCIuLi9wbG90cy9jYXJ0ZXNpYW4vc2VsZWN0Ijo3ODIsIi4uL3Bsb3RzL3Bsb3RzIjo4MjYsIi4uL3Bsb3RzL3BvbGFyL2xlZ2FjeSI6ODM0LCIuLi9yZWdpc3RyeSI6ODQ2LCIuL2VkaXRfdHlwZXMiOjc0OCwiLi9oZWxwZXJzIjo3NDksIi4vbWFuYWdlX2FycmF5cyI6NzUxLCIuL3Bsb3RfY29uZmlnIjo3NTMsIi4vcGxvdF9zY2hlbWEiOjc1NCwiLi9zdWJyb3V0aW5lcyI6NzU2LGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOCwiaGFzLWhvdmVyIjo0MTJ9XSw3NTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49e3N0YXRpY1Bsb3Q6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LHBsb3RseVNlcnZlclVSTDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiJodHRwczovL3Bsb3QubHkifSxlZGl0YWJsZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sZWRpdHM6e2Fubm90YXRpb25Qb3NpdGlvbjp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sYW5ub3RhdGlvblRhaWw6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LGFubm90YXRpb25UZXh0Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxheGlzVGl0bGVUZXh0Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxjb2xvcmJhclBvc2l0aW9uOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxjb2xvcmJhclRpdGxlVGV4dDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sbGVnZW5kUG9zaXRpb246e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LGxlZ2VuZFRleHQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LHNoYXBlUG9zaXRpb246e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LHRpdGxlVGV4dDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX19LGF1dG9zaXphYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxyZXNwb25zaXZlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxmaWxsRnJhbWU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LGZyYW1lTWFyZ2luczp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsbWluOjAsbWF4Oi41fSxzY3JvbGxab29tOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJjYXJ0ZXNpYW4iLCJnbDNkIiwiZ2VvIiwibWFwYm94Il0sZXh0cmFzOlshMCwhMV0sZGZsdDoiZ2wzZCtnZW8rbWFwYm94In0sZG91YmxlQ2xpY2s6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITEsInJlc2V0IiwiYXV0b3NpemUiLCJyZXNldCthdXRvc2l6ZSJdLGRmbHQ6InJlc2V0K2F1dG9zaXplIn0sZG91YmxlQ2xpY2tEZWxheTp7dmFsVHlwZToibnVtYmVyIixkZmx0OjMwMCxtaW46MH0sc2hvd0F4aXNEcmFnSGFuZGxlczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMH0sc2hvd0F4aXNSYW5nZUVudHJ5Qm94ZXM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LHNob3dUaXBzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSxzaG93TGluazp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sbGlua1RleHQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiRWRpdCBjaGFydCIsbm9CbGFuazohMH0sc2VuZERhdGE6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LHNob3dTb3VyY2VzOnt2YWxUeXBlOiJhbnkiLGRmbHQ6ITF9LGRpc3BsYXlNb2RlQmFyOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJob3ZlciIsITAsITFdLGRmbHQ6ImhvdmVyIn0sc2hvd1NlbmRUb0Nsb3VkOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxzaG93RWRpdEluQ2hhcnRTdHVkaW86e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LG1vZGVCYXJCdXR0b25zVG9SZW1vdmU6e3ZhbFR5cGU6ImFueSIsZGZsdDpbXX0sbW9kZUJhckJ1dHRvbnNUb0FkZDp7dmFsVHlwZToiYW55IixkZmx0OltdfSxtb2RlQmFyQnV0dG9uczp7dmFsVHlwZToiYW55IixkZmx0OiExfSx0b0ltYWdlQnV0dG9uT3B0aW9uczp7dmFsVHlwZToiYW55IixkZmx0Ont9fSxkaXNwbGF5bG9nbzp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMH0sd2F0ZXJtYXJrOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxwbG90R2xQaXhlbFJhdGlvOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MixtaW46MSxtYXg6NH0sc2V0QmFja2dyb3VuZDp7dmFsVHlwZToiYW55IixkZmx0OiJ0cmFuc3BhcmVudCJ9LHRvcG9qc29uVVJMOnt2YWxUeXBlOiJzdHJpbmciLG5vQmxhbms6ITAsZGZsdDoiaHR0cHM6Ly9jZG4ucGxvdC5seS8ifSxtYXBib3hBY2Nlc3NUb2tlbjp7dmFsVHlwZToic3RyaW5nIixkZmx0Om51bGx9LGxvZ2dpbmc6e3ZhbFR5cGU6ImludGVnZXIiLG1pbjowLG1heDoyLGRmbHQ6MX0sbm90aWZ5T25Mb2dnaW5nOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxtYXg6MixkZmx0OjB9LHF1ZXVlTGVuZ3RoOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjB9LGdsb2JhbFRyYW5zZm9ybXM6e3ZhbFR5cGU6ImFueSIsZGZsdDpbXX0sbG9jYWxlOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6ImVuLVVTIn0sbG9jYWxlczp7dmFsVHlwZToiYW55IixkZmx0Ont9fX0sYT17fTshZnVuY3Rpb24gdChlLHIpe2Zvcih2YXIgbiBpbiBlKXt2YXIgYT1lW25dO2EudmFsVHlwZT9yW25dPWEuZGZsdDoocltuXXx8KHJbbl09e30pLHQoYSxyW25dKSl9fShuLGEpLGUuZXhwb3J0cz17Y29uZmlnQXR0cmlidXRlczpuLGRmbHRDb25maWc6YX19LHt9XSw3NTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vcmVnaXN0cnkiKSxhPXQoIi4uL2xpYiIpLGk9dCgiLi4vcGxvdHMvYXR0cmlidXRlcyIpLG89dCgiLi4vcGxvdHMvbGF5b3V0X2F0dHJpYnV0ZXMiKSxzPXQoIi4uL3Bsb3RzL2ZyYW1lX2F0dHJpYnV0ZXMiKSxsPXQoIi4uL3Bsb3RzL2FuaW1hdGlvbl9hdHRyaWJ1dGVzIiksYz10KCIuL3Bsb3RfY29uZmlnIikuY29uZmlnQXR0cmlidXRlcyx1PXQoIi4uL3Bsb3RzL3BvbGFyL2xlZ2FjeS9hcmVhX2F0dHJpYnV0ZXMiKSxoPXQoIi4uL3Bsb3RzL3BvbGFyL2xlZ2FjeS9heGlzX2F0dHJpYnV0ZXMiKSxmPXQoIi4vZWRpdF90eXBlcyIpLHA9YS5leHRlbmRGbGF0LGQ9YS5leHRlbmREZWVwQWxsLGc9YS5pc1BsYWluT2JqZWN0LHY9YS5pc0FycmF5T3JUeXBlZEFycmF5LG09YS5uZXN0ZWRQcm9wZXJ0eSx5PWEudmFsT2JqZWN0TWV0YSx4PSJfaXNTdWJwbG90T2JqIixiPSJfaXNMaW5rZWRUb0FycmF5IixfPVt4LGIsIl9hcnJheUF0dHJSZWdleHBzIiwiX2RlcHJlY2F0ZWQiXTtmdW5jdGlvbiB3KHQsZSxyKXtpZighdClyZXR1cm4hMTtpZih0Ll9pc0xpbmtlZFRvQXJyYXkpaWYoayhlW3JdKSlyKys7ZWxzZSBpZihyPGUubGVuZ3RoKXJldHVybiExO2Zvcig7cjxlLmxlbmd0aDtyKyspe3ZhciBuPXRbZVtyXV07aWYoIWcobikpYnJlYWs7aWYodD1uLHI9PT1lLmxlbmd0aC0xKWJyZWFrO2lmKHQuX2lzTGlua2VkVG9BcnJheSl7aWYoIWsoZVsrK3JdKSlyZXR1cm4hMX1lbHNlIGlmKCJpbmZvX2FycmF5Ij09PXQudmFsVHlwZSl7dmFyIGE9ZVsrK3JdO2lmKCFrKGEpKXJldHVybiExO3ZhciBpPXQuaXRlbXM7aWYoQXJyYXkuaXNBcnJheShpKSl7aWYoYT49aS5sZW5ndGgpcmV0dXJuITE7aWYoMj09PXQuZGltZW5zaW9ucyl7aWYocisrLGUubGVuZ3RoPT09cilyZXR1cm4gdDt2YXIgbz1lW3JdO2lmKCFrKG8pKXJldHVybiExO3Q9aVthXVtvXX1lbHNlIHQ9aVthXX1lbHNlIHQ9aX19cmV0dXJuIHR9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdD09PU1hdGgucm91bmQodCkmJnQ+PTB9ZnVuY3Rpb24gVCgpe3ZhciB0LGUscj17fTtmb3IodCBpbiBkKHIsbyksbi5zdWJwbG90c1JlZ2lzdHJ5KXtpZigoZT1uLnN1YnBsb3RzUmVnaXN0cnlbdF0pLmxheW91dEF0dHJpYnV0ZXMpaWYoQXJyYXkuaXNBcnJheShlLmF0dHIpKWZvcih2YXIgYT0wO2E8ZS5hdHRyLmxlbmd0aDthKyspUyhyLGUsZS5hdHRyW2FdKTtlbHNlIFMocixlLCJzdWJwbG90Ij09PWUuYXR0cj9lLm5hbWU6ZS5hdHRyKX1mb3IodCBpbiByPWZ1bmN0aW9uKHQpe3JldHVybiBwKHQse3JhZGlhbGF4aXM6aC5yYWRpYWxheGlzLGFuZ3VsYXJheGlzOmguYW5ndWxhcmF4aXN9KSxwKHQsaC5sYXlvdXQpLHR9KHIpLG4uY29tcG9uZW50c1JlZ2lzdHJ5KXt2YXIgaT0oZT1uLmNvbXBvbmVudHNSZWdpc3RyeVt0XSkuc2NoZW1hO2lmKGkmJihpLnN1YnBsb3RzfHxpLmxheW91dCkpe3ZhciBzPWkuc3VicGxvdHM7aWYocyYmcy54YXhpcyYmIXMueWF4aXMpZm9yKHZhciBsIGluIHMueGF4aXMpZGVsZXRlIHIueWF4aXNbbF19ZWxzZSJjb2xvcnNjYWxlIj09PWUubmFtZT9kKHIsZS5sYXlvdXRBdHRyaWJ1dGVzKTplLmxheW91dEF0dHJpYnV0ZXMmJkUocixlLmxheW91dEF0dHJpYnV0ZXMsZS5uYW1lKX1yZXR1cm57bGF5b3V0QXR0cmlidXRlczpBKHIpfX1mdW5jdGlvbiBNKCl7dmFyIHQ9e2ZyYW1lczpkKHt9LHMpfTtyZXR1cm4gQSh0KSx0LmZyYW1lc31mdW5jdGlvbiBBKHQpe3JldHVybiBmdW5jdGlvbih0KXtyLmNyYXdsKHQsZnVuY3Rpb24odCxlLG4pe3IuaXNWYWxPYmplY3QodCk/ImRhdGFfYXJyYXkiPT09dC52YWxUeXBlPyh0LnJvbGU9ImRhdGEiLG5bZSsic3JjIl09e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6Im5vbmUifSk6ITA9PT10LmFycmF5T2smJihuW2UrInNyYyJdPXt2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJub25lIn0pOmcodCkmJih0LnJvbGU9Im9iamVjdCIpfSl9KHQpLGZ1bmN0aW9uKHQpe3IuY3Jhd2wodCxmdW5jdGlvbih0LGUscil7aWYoIXQpcmV0dXJuO3ZhciBuPXRbYl07aWYoIW4pcmV0dXJuO2RlbGV0ZSB0W2JdLHJbZV09e2l0ZW1zOnt9fSxyW2VdLml0ZW1zW25dPXQscltlXS5yb2xlPSJvYmplY3QifSl9KHQpLGZ1bmN0aW9uKHQpeyFmdW5jdGlvbiB0KGUpe2Zvcih2YXIgciBpbiBlKWlmKGcoZVtyXSkpdChlW3JdKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZVtyXSkpZm9yKHZhciBuPTA7bjxlW3JdLmxlbmd0aDtuKyspdChlW3JdW25dKTtlbHNlIGVbcl1pbnN0YW5jZW9mIFJlZ0V4cCYmKGVbcl09ZVtyXS50b1N0cmluZygpKX0odCl9KHQpLHR9ZnVuY3Rpb24gUyh0LGUscil7dmFyIG49bSh0LHIpLGE9ZCh7fSxlLmxheW91dEF0dHJpYnV0ZXMpO2FbeF09ITAsbi5zZXQoYSl9ZnVuY3Rpb24gRSh0LGUscil7dmFyIG49bSh0LHIpO24uc2V0KGQobi5nZXQoKXx8e30sZSkpfXIuSVNfU1VCUExPVF9PQko9eCxyLklTX0xJTktFRF9UT19BUlJBWT1iLHIuREVQUkVDQVRFRD0iX2RlcHJlY2F0ZWQiLHIuVU5ERVJTQ09SRV9BVFRSUz1fLHIuZ2V0PWZ1bmN0aW9uKCl7dmFyIHQ9e307bi5hbGxUeXBlcy5jb25jYXQoImFyZWEiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RbZV09ZnVuY3Rpb24odCl7dmFyIGUsYTsiYXJlYSI9PT10PyhlPXthdHRyaWJ1dGVzOnV9LGE9e30pOihlPW4ubW9kdWxlc1t0XS5fbW9kdWxlLGE9ZS5iYXNlUGxvdE1vZHVsZSk7dmFyIG89e3R5cGU6bnVsbH0scz1kKHt9LGkpLGw9ZCh7fSxlLmF0dHJpYnV0ZXMpO3IuY3Jhd2wobCxmdW5jdGlvbih0LGUscixuLGEpe20ocyxhKS5zZXQodm9pZCAwKSx2b2lkIDA9PT10JiZtKGwsYSkuc2V0KHZvaWQgMCl9KSxkKG8scyksbi50cmFjZUlzKHQsIm5vT3BhY2l0eSIpJiZkZWxldGUgby5vcGFjaXR5O24udHJhY2VJcyh0LCJzaG93TGVnZW5kIil8fChkZWxldGUgby5zaG93bGVnZW5kLGRlbGV0ZSBvLmxlZ2VuZGdyb3VwKTtuLnRyYWNlSXModCwibm9Ib3ZlciIpJiYoZGVsZXRlIG8uaG92ZXJpbmZvLGRlbGV0ZSBvLmhvdmVybGFiZWwpO2Uuc2VsZWN0UG9pbnRzfHxkZWxldGUgby5zZWxlY3RlZHBvaW50cztkKG8sbCksYS5hdHRyaWJ1dGVzJiZkKG8sYS5hdHRyaWJ1dGVzKTtvLnR5cGU9dDt2YXIgYz17bWV0YTplLm1ldGF8fHt9LGNhdGVnb3JpZXM6ZS5jYXRlZ29yaWVzfHx7fSxhbmltYXRhYmxlOkJvb2xlYW4oZS5hbmltYXRhYmxlKSx0eXBlOnQsYXR0cmlidXRlczpBKG8pfTtpZihlLmxheW91dEF0dHJpYnV0ZXMpe3ZhciBoPXt9O2QoaCxlLmxheW91dEF0dHJpYnV0ZXMpLGMubGF5b3V0QXR0cmlidXRlcz1BKGgpfWUuYW5pbWF0YWJsZXx8ci5jcmF3bChjLGZ1bmN0aW9uKHQpe3IuaXNWYWxPYmplY3QodCkmJiJhbmltImluIHQmJmRlbGV0ZSB0LmFuaW19KTtyZXR1cm4gY30oZSl9KTt2YXIgZT17fTtyZXR1cm4gT2JqZWN0LmtleXMobi50cmFuc2Zvcm1zUmVnaXN0cnkpLmZvckVhY2goZnVuY3Rpb24odCl7ZVt0XT1mdW5jdGlvbih0KXt2YXIgZT1uLnRyYW5zZm9ybXNSZWdpc3RyeVt0XSxyPWQoe30sZS5hdHRyaWJ1dGVzKTtyZXR1cm4gT2JqZWN0LmtleXMobi5jb21wb25lbnRzUmVnaXN0cnkpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGE9bi5jb21wb25lbnRzUmVnaXN0cnlbZV07YS5zY2hlbWEmJmEuc2NoZW1hLnRyYW5zZm9ybXMmJmEuc2NoZW1hLnRyYW5zZm9ybXNbdF0mJk9iamVjdC5rZXlzKGEuc2NoZW1hLnRyYW5zZm9ybXNbdF0pLmZvckVhY2goZnVuY3Rpb24oZSl7RShyLGEuc2NoZW1hLnRyYW5zZm9ybXNbdF1bZV0sZSl9KX0pLHthdHRyaWJ1dGVzOkEocil9fSh0KX0pLHtkZWZzOnt2YWxPYmplY3RzOnksbWV0YUtleXM6Xy5jb25jYXQoWyJkZXNjcmlwdGlvbiIsInJvbGUiLCJlZGl0VHlwZSIsImltcGxpZWRFZGl0cyJdKSxlZGl0VHlwZTp7dHJhY2VzOmYudHJhY2VzLGxheW91dDpmLmxheW91dH0saW1wbGllZEVkaXRzOnt9fSx0cmFjZXM6dCxsYXlvdXQ6VCgpLHRyYW5zZm9ybXM6ZSxmcmFtZXM6TSgpLGFuaW1hdGlvbjpBKGwpLGNvbmZpZzpBKGMpfX0sci5jcmF3bD1mdW5jdGlvbih0LGUsbixhKXt2YXIgaT1ufHwwO2E9YXx8IiIsT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgbz10W25dO2lmKC0xPT09Xy5pbmRleE9mKG4pKXt2YXIgcz0oYT9hKyIuIjoiIikrbjtlKG8sbix0LGkscyksci5pc1ZhbE9iamVjdChvKXx8ZyhvKSYmImltcGxpZWRFZGl0cyIhPT1uJiZyLmNyYXdsKG8sZSxpKzEscyl9fSl9LHIuaXNWYWxPYmplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnZvaWQgMCE9PXQudmFsVHlwZX0sci5maW5kQXJyYXlBdHRyaWJ1dGVzPWZ1bmN0aW9uKHQpe3ZhciBlLG4sYT1bXSxvPVtdLHM9W107ZnVuY3Rpb24gbCh0LHIsaSxsKXtvPW8uc2xpY2UoMCxsKS5jb25jYXQoW3JdKSxzPXMuc2xpY2UoMCxsKS5jb25jYXQoW3QmJnQuX2lzTGlua2VkVG9BcnJheV0pLHQmJigiZGF0YV9hcnJheSI9PT10LnZhbFR5cGV8fCEwPT09dC5hcnJheU9rKSYmISgiY29sb3JiYXIiPT09b1tsLTFdJiYoInRpY2t0ZXh0Ij09PXJ8fCJ0aWNrdmFscyI9PT1yKSkmJmZ1bmN0aW9uIHQoZSxyLGkpe3ZhciBsPWVbb1tyXV07dmFyIGM9aStvW3JdO2lmKHI9PT1vLmxlbmd0aC0xKXYobCkmJmEucHVzaChuK2MpO2Vsc2UgaWYoc1tyXSl7aWYoQXJyYXkuaXNBcnJheShsKSlmb3IodmFyIHU9MDt1PGwubGVuZ3RoO3UrKylnKGxbdV0pJiZ0KGxbdV0scisxLGMrIlsiK3UrIl0uIil9ZWxzZSBnKGwpJiZ0KGwscisxLGMrIi4iKX0oZSwwLCIiKX1lPXQsbj0iIixyLmNyYXdsKGksbCksdC5fbW9kdWxlJiZ0Ll9tb2R1bGUuYXR0cmlidXRlcyYmci5jcmF3bCh0Ll9tb2R1bGUuYXR0cmlidXRlcyxsKTt2YXIgYz10LnRyYW5zZm9ybXM7aWYoYylmb3IodmFyIHU9MDt1PGMubGVuZ3RoO3UrKyl7dmFyIGg9Y1t1XSxmPWguX21vZHVsZTtmJiYobj0idHJhbnNmb3Jtc1siK3UrIl0uIixlPWgsci5jcmF3bChmLmF0dHJpYnV0ZXMsbCkpfXJldHVybiBhfSxyLmdldFRyYWNlVmFsT2JqZWN0PWZ1bmN0aW9uKHQsZSl7dmFyIHIsYSxvPWVbMF0scz0xO2lmKCJ0cmFuc2Zvcm1zIj09PW8pe2lmKDE9PT1lLmxlbmd0aClyZXR1cm4gaS50cmFuc2Zvcm1zO3ZhciBsPXQudHJhbnNmb3JtcztpZighQXJyYXkuaXNBcnJheShsKXx8IWwubGVuZ3RoKXJldHVybiExO3ZhciBjPWVbMV07aWYoIWsoYyl8fGM+PWwubGVuZ3RoKXJldHVybiExO2E9KHI9KG4udHJhbnNmb3Jtc1JlZ2lzdHJ5W2xbY10udHlwZV18fHt9KS5hdHRyaWJ1dGVzKSYmcltlWzJdXSxzPTN9ZWxzZSBpZigiYXJlYSI9PT10LnR5cGUpYT11W29dO2Vsc2V7dmFyIGg9dC5fbW9kdWxlO2lmKGh8fChoPShuLm1vZHVsZXNbdC50eXBlfHxpLnR5cGUuZGZsdF18fHt9KS5fbW9kdWxlKSwhaClyZXR1cm4hMTtpZighKGE9KHI9aC5hdHRyaWJ1dGVzKSYmcltvXSkpe3ZhciBmPWguYmFzZVBsb3RNb2R1bGU7ZiYmZi5hdHRyaWJ1dGVzJiYoYT1mLmF0dHJpYnV0ZXNbb10pfWF8fChhPWlbb10pfXJldHVybiB3KGEsZSxzKX0sci5nZXRMYXlvdXRWYWxPYmplY3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdyhmdW5jdGlvbih0LGUpe3ZhciByLGEsaSxzLGw9dC5fYmFzZVBsb3RNb2R1bGVzO2lmKGwpe3ZhciBjO2ZvcihyPTA7cjxsLmxlbmd0aDtyKyspe2lmKChpPWxbcl0pLmF0dHJSZWdleCYmaS5hdHRyUmVnZXgudGVzdChlKSl7aWYoaS5sYXlvdXRBdHRyT3ZlcnJpZGVzKXJldHVybiBpLmxheW91dEF0dHJPdmVycmlkZXM7IWMmJmkubGF5b3V0QXR0cmlidXRlcyYmKGM9aS5sYXlvdXRBdHRyaWJ1dGVzKX12YXIgdT1pLmJhc2VMYXlvdXRBdHRyT3ZlcnJpZGVzO2lmKHUmJmUgaW4gdSlyZXR1cm4gdVtlXX1pZihjKXJldHVybiBjfXZhciBmPXQuX21vZHVsZXM7aWYoZilmb3Iocj0wO3I8Zi5sZW5ndGg7cisrKWlmKChzPWZbcl0ubGF5b3V0QXR0cmlidXRlcykmJmUgaW4gcylyZXR1cm4gc1tlXTtmb3IoYSBpbiBuLmNvbXBvbmVudHNSZWdpc3RyeSl7aWYoImNvbG9yc2NhbGUiPT09KGk9bi5jb21wb25lbnRzUmVnaXN0cnlbYV0pLm5hbWUmJjA9PT1lLmluZGV4T2YoImNvbG9yYXhpcyIpKXJldHVybiBpLmxheW91dEF0dHJpYnV0ZXNbZV07aWYoIWkuc2NoZW1hJiZlPT09aS5uYW1lKXJldHVybiBpLmxheW91dEF0dHJpYnV0ZXN9aWYoZSBpbiBvKXJldHVybiBvW2VdO2lmKCJyYWRpYWxheGlzIj09PWV8fCJhbmd1bGFyYXhpcyI9PT1lKXJldHVybiBoW2VdO3JldHVybiBoLmxheW91dFtlXXx8ITF9KHQsZVswXSksZSwxKX19LHsiLi4vbGliIjo3MTcsIi4uL3Bsb3RzL2FuaW1hdGlvbl9hdHRyaWJ1dGVzIjo3NjAsIi4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vcGxvdHMvZnJhbWVfYXR0cmlidXRlcyI6NzkyLCIuLi9wbG90cy9sYXlvdXRfYXR0cmlidXRlcyI6ODE3LCIuLi9wbG90cy9wb2xhci9sZWdhY3kvYXJlYV9hdHRyaWJ1dGVzIjo4MzIsIi4uL3Bsb3RzL3BvbGFyL2xlZ2FjeS9heGlzX2F0dHJpYnV0ZXMiOjgzMywiLi4vcmVnaXN0cnkiOjg0NiwiLi9lZGl0X3R5cGVzIjo3NDgsIi4vcGxvdF9jb25maWciOjc1M31dLDc1NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9saWIiKSxhPXQoIi4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxpPSJ0ZW1wbGF0ZWl0ZW1uYW1lIixvPXtuYW1lOnt2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJub25lIn19O2Z1bmN0aW9uIHModCl7cmV0dXJuIHQmJiJzdHJpbmciPT10eXBlb2YgdH1mdW5jdGlvbiBsKHQpe3ZhciBlPXQubGVuZ3RoLTE7cmV0dXJuInMiIT09dC5jaGFyQXQoZSkmJm4ud2FybigiYmFkIGFyZ3VtZW50IHRvIGFycmF5RGVmYXVsdEtleTogIit0KSx0LnN1YnN0cigwLHQubGVuZ3RoLTEpKyJkZWZhdWx0cyJ9b1tpXT17dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYyJ9LHIudGVtcGxhdGVkQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5faXNMaW5rZWRUb0FycmF5PXQsZS5uYW1lPW8ubmFtZSxlW2ldPW9baV0sZX0sci50cmFjZVRlbXBsYXRlcj1mdW5jdGlvbih0KXt2YXIgZSxyLGk9e307Zm9yKGUgaW4gdClyPXRbZV0sQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgmJihpW2VdPTApO3JldHVybntuZXdUcmFjZTpmdW5jdGlvbihvKXt2YXIgcz17dHlwZTplPW4uY29lcmNlKG8se30sYSwidHlwZSIpLF90ZW1wbGF0ZTpudWxsfTtpZihlIGluIGkpe3I9dFtlXTt2YXIgbD1pW2VdJXIubGVuZ3RoO2lbZV0rKyxzLl90ZW1wbGF0ZT1yW2xdfXJldHVybiBzfX19LHIubmV3Q29udGFpbmVyPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10Ll90ZW1wbGF0ZSxpPWEmJihhW2VdfHxyJiZhW3JdKTtyZXR1cm4gbi5pc1BsYWluT2JqZWN0KGkpfHwoaT1udWxsKSx0W2VdPXtfdGVtcGxhdGU6aX19LHIuYXJyYXlUZW1wbGF0ZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuX3RlbXBsYXRlLGE9biYmbltsKGUpXSxvPW4mJm5bZV07QXJyYXkuaXNBcnJheShvKSYmby5sZW5ndGh8fChvPVtdKTt2YXIgYz17fTtyZXR1cm57bmV3SXRlbTpmdW5jdGlvbih0KXt2YXIgZT17bmFtZTp0Lm5hbWUsX2lucHV0OnR9LG49ZVtpXT10W2ldO2lmKCFzKG4pKXJldHVybiBlLl90ZW1wbGF0ZT1hLGU7Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDtsKyspe3ZhciB1PW9bbF07aWYodS5uYW1lPT09bilyZXR1cm4gY1tuXT0xLGUuX3RlbXBsYXRlPXUsZX1yZXR1cm4gZVtyXT10W3JdfHwhMSxlLl90ZW1wbGF0ZT0hMSxlfSxkZWZhdWx0SXRlbXM6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8by5sZW5ndGg7ZSsrKXt2YXIgcj1vW2VdLG49ci5uYW1lO2lmKHMobikmJiFjW25dKXt2YXIgYT17X3RlbXBsYXRlOnIsbmFtZTpuLF9pbnB1dDp7X3RlbXBsYXRlaXRlbW5hbWU6bn19O2FbaV09cltpXSx0LnB1c2goYSksY1tuXT0xfX1yZXR1cm4gdH19fSxyLmFycmF5RGVmYXVsdEtleT1sLHIuYXJyYXlFZGl0b3I9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPShuLm5lc3RlZFByb3BlcnR5KHQsZSkuZ2V0KCl8fFtdKS5sZW5ndGgsbz1yLl9pbmRleCxzPW8+PWEmJihyLl9pbnB1dHx8e30pLl90ZW1wbGF0ZWl0ZW1uYW1lO3MmJihvPWEpO3ZhciBsLGM9ZSsiWyIrbysiXSI7ZnVuY3Rpb24gdSgpe2w9e30scyYmKGxbY109e30sbFtjXVtpXT1zKX1mdW5jdGlvbiBoKHQsZSl7cz9uLm5lc3RlZFByb3BlcnR5KGxbY10sdCkuc2V0KGUpOmxbYysiLiIrdF09ZX1mdW5jdGlvbiBmKCl7dmFyIHQ9bDtyZXR1cm4gdSgpLHR9cmV0dXJuIHUoKSx7bW9kaWZ5QmFzZTpmdW5jdGlvbih0LGUpe2xbdF09ZX0sbW9kaWZ5SXRlbTpoLGdldFVwZGF0ZU9iajpmLGFwcGx5VXBkYXRlOmZ1bmN0aW9uKGUscil7ZSYmaChlLHIpO3ZhciBhPWYoKTtmb3IodmFyIGkgaW4gYSluLm5lc3RlZFByb3BlcnR5KHQsaSkuc2V0KGFbaV0pfX19fSx7Ii4uL2xpYiI6NzE3LCIuLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjJ9XSw3NTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uL3JlZ2lzdHJ5IiksaT10KCIuLi9wbG90cy9wbG90cyIpLG89dCgiLi4vbGliIikscz10KCIuLi9saWIvY2xlYXJfZ2xfY2FudmFzZXMiKSxsPXQoIi4uL2NvbXBvbmVudHMvY29sb3IiKSxjPXQoIi4uL2NvbXBvbmVudHMvZHJhd2luZyIpLHU9dCgiLi4vY29tcG9uZW50cy90aXRsZXMiKSxoPXQoIi4uL2NvbXBvbmVudHMvbW9kZWJhciIpLGY9dCgiLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxwPXQoIi4uL2NvbnN0YW50cy9hbGlnbm1lbnQiKSxkPXQoIi4uL3Bsb3RzL2NhcnRlc2lhbi9jb25zdHJhaW50cyIpLGc9ZC5lbmZvcmNlLHY9ZC5jbGVhbixtPXQoIi4uL3Bsb3RzL2NhcnRlc2lhbi9hdXRvcmFuZ2UiKS5kb0F1dG9SYW5nZSx5PSJzdGFydCIseD0ibWlkZGxlIixiPSJlbmQiO2Z1bmN0aW9uIF8odCxlLHIpe2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXt2YXIgYT1yW25dWzBdLGk9cltuXVsxXTtpZighKGFbMF0+PXRbMV18fGFbMV08PXRbMF0pJiYoaVswXTxlWzFdJiZpWzFdPmVbMF0pKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHcodCl7dmFyIGUsYSxzLHUsZCxnLHY9dC5fZnVsbExheW91dCxtPXYuX3NpemUseT1tLnAseD1mLmxpc3QodCwiIiwhMCk7aWYodi5fcGFwZXJkaXYuc3R5bGUoe3dpZHRoOnQuX2NvbnRleHQucmVzcG9uc2l2ZSYmdi5hdXRvc2l6ZSYmIXQuX2NvbnRleHQuX2hhc1plcm9XaWR0aCYmIXQubGF5b3V0LndpZHRoPyIxMDAlIjp2LndpZHRoKyJweCIsaGVpZ2h0OnQuX2NvbnRleHQucmVzcG9uc2l2ZSYmdi5hdXRvc2l6ZSYmIXQuX2NvbnRleHQuX2hhc1plcm9IZWlnaHQmJiF0LmxheW91dC5oZWlnaHQ/IjEwMCUiOnYuaGVpZ2h0KyJweCJ9KS5zZWxlY3RBbGwoIi5tYWluLXN2ZyIpLmNhbGwoYy5zZXRTaXplLHYud2lkdGgsdi5oZWlnaHQpLHQuX2NvbnRleHQuc2V0QmFja2dyb3VuZCh0LHYucGFwZXJfYmdjb2xvciksci5kcmF3TWFpblRpdGxlKHQpLGgubWFuYWdlKHQpLCF2Ll9oYXMoImNhcnRlc2lhbiIpKXJldHVybiBpLnByZXZpb3VzUHJvbWlzZXModCk7ZnVuY3Rpb24gYih0LGUscil7dmFyIG49dC5fbHcvMjtyZXR1cm4ieCI9PT10Ll9pZC5jaGFyQXQoMCk/ZT8idG9wIj09PXI/ZS5fb2Zmc2V0LXktbjplLl9vZmZzZXQrZS5fbGVuZ3RoK3krbjptLnQrbS5oKigxLSh0LnBvc2l0aW9ufHwwKSkrbiUxOmU/InJpZ2h0Ij09PXI/ZS5fb2Zmc2V0K2UuX2xlbmd0aCt5K246ZS5fb2Zmc2V0LXktbjptLmwrbS53Kih0LnBvc2l0aW9ufHwwKStuJTF9Zm9yKGU9MDtlPHgubGVuZ3RoO2UrKyl7dmFyIHc9KHU9eFtlXSkuX2FuY2hvckF4aXM7dS5fbGluZXBvc2l0aW9ucz17fSx1Ll9sdz1jLmNyaXNwUm91bmQodCx1LmxpbmV3aWR0aCwxKSx1Ll9tYWluTGluZVBvc2l0aW9uPWIodSx3LHUuc2lkZSksdS5fbWFpbk1pcnJvclBvc2l0aW9uPXUubWlycm9yJiZ3P2IodSx3LHAuT1BQT1NJVEVfU0lERVt1LnNpZGVdKTpudWxsfXZhciBUPVtdLEE9W10sUz1bXSxFPTE9PT1sLm9wYWNpdHkodi5wYXBlcl9iZ2NvbG9yKSYmMT09PWwub3BhY2l0eSh2LnBsb3RfYmdjb2xvcikmJnYucGFwZXJfYmdjb2xvcj09PXYucGxvdF9iZ2NvbG9yO2ZvcihhIGluIHYuX3Bsb3RzKWlmKChzPXYuX3Bsb3RzW2FdKS5tYWlucGxvdClzLmJnJiZzLmJnLnJlbW92ZSgpLHMuYmc9dm9pZCAwO2Vsc2V7dmFyIEw9cy54YXhpcy5kb21haW4sQz1zLnlheGlzLmRvbWFpbixQPXMucGxvdGdyb3VwO2lmKF8oTCxDLFMpKXt2YXIgTz1QLm5vZGUoKSx6PXMuYmc9by5lbnN1cmVTaW5nbGUoUCwicmVjdCIsImJnIik7Ty5pbnNlcnRCZWZvcmUoei5ub2RlKCksTy5jaGlsZE5vZGVzWzBdKSxBLnB1c2goYSl9ZWxzZSBQLnNlbGVjdCgicmVjdC5iZyIpLnJlbW92ZSgpLFMucHVzaChbTCxDXSksRXx8KFQucHVzaChhKSxBLnB1c2goYSkpfXZhciBJLEQsUixGLEIsTixqLFYsVSxxLEgsRyxZLFc9di5fYmdMYXllci5zZWxlY3RBbGwoIi5iZyIpLmRhdGEoVCk7Zm9yKFcuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKCJiZyIsITApLFcuZXhpdCgpLnJlbW92ZSgpLFcuZWFjaChmdW5jdGlvbih0KXt2Ll9wbG90c1t0XS5iZz1uLnNlbGVjdCh0aGlzKX0pLGU9MDtlPEEubGVuZ3RoO2UrKylzPXYuX3Bsb3RzW0FbZV1dLGQ9cy54YXhpcyxnPXMueWF4aXMscy5iZyYmcy5iZy5jYWxsKGMuc2V0UmVjdCxkLl9vZmZzZXQteSxnLl9vZmZzZXQteSxkLl9sZW5ndGgrMip5LGcuX2xlbmd0aCsyKnkpLmNhbGwobC5maWxsLHYucGxvdF9iZ2NvbG9yKS5zdHlsZSgic3Ryb2tlLXdpZHRoIiwwKTtpZighdi5faGFzT25seUxhcmdlU3Bsb21zKWZvcihhIGluIHYuX3Bsb3RzKXtzPXYuX3Bsb3RzW2FdLGQ9cy54YXhpcyxnPXMueWF4aXM7dmFyIFgsWixKPXMuY2xpcElkPSJjbGlwIit2Ll91aWQrYSsicGxvdCIsSz1vLmVuc3VyZVNpbmdsZUJ5SWQodi5fY2xpcHMsImNsaXBQYXRoIixKLGZ1bmN0aW9uKHQpe3QuY2xhc3NlZCgicGxvdGNsaXAiLCEwKS5hcHBlbmQoInJlY3QiKX0pO3MuY2xpcFJlY3Q9Sy5zZWxlY3QoInJlY3QiKS5hdHRyKHt3aWR0aDpkLl9sZW5ndGgsaGVpZ2h0OmcuX2xlbmd0aH0pLGMuc2V0VHJhbnNsYXRlKHMucGxvdCxkLl9vZmZzZXQsZy5fb2Zmc2V0KSxzLl9oYXNDbGlwT25BeGlzRmFsc2U/KFg9bnVsbCxaPUopOihYPUosWj1udWxsKSxjLnNldENsaXBVcmwocy5wbG90LFgsdCkscy5sYXllckNsaXBJZD1afWZ1bmN0aW9uIFEodCl7cmV0dXJuIk0iK0krIiwiK3QrIkgiK0R9ZnVuY3Rpb24gJCh0KXtyZXR1cm4iTSIrZC5fb2Zmc2V0KyIsIit0KyJoIitkLl9sZW5ndGh9ZnVuY3Rpb24gdHQodCl7cmV0dXJuIk0iK3QrIiwiK1YrIlYiK2p9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIk0iK3QrIiwiK2cuX29mZnNldCsidiIrZy5fbGVuZ3RofWZ1bmN0aW9uIHJ0KHQsZSxyKXtpZighdC5zaG93bGluZXx8YSE9PXQuX21haW5TdWJwbG90KXJldHVybiIiO2lmKCF0Ll9hbmNob3JBeGlzKXJldHVybiByKHQuX21haW5MaW5lUG9zaXRpb24pO3ZhciBuPWUodC5fbWFpbkxpbmVQb3NpdGlvbik7cmV0dXJuIHQubWlycm9yJiYobis9ZSh0Ll9tYWluTWlycm9yUG9zaXRpb24pKSxufWZvcihhIGluIHYuX3Bsb3RzKXtzPXYuX3Bsb3RzW2FdLGQ9cy54YXhpcyxnPXMueWF4aXM7dmFyIG50PSJNMCwwIjtrKGQsYSkmJihCPU0oZCwibGVmdCIsZyx4KSxJPWQuX29mZnNldC0oQj95K0I6MCksTj1NKGQsInJpZ2h0IixnLHgpLEQ9ZC5fb2Zmc2V0K2QuX2xlbmd0aCsoTj95K046MCksUj1iKGQsZywiYm90dG9tIiksRj1iKGQsZywidG9wIiksIShZPSFkLl9hbmNob3JBeGlzfHxhIT09ZC5fbWFpblN1YnBsb3QpfHwiYWxsdGlja3MiIT09ZC5taXJyb3ImJiJhbGwiIT09ZC5taXJyb3J8fChkLl9saW5lcG9zaXRpb25zW2FdPVtSLEZdKSxudD1ydChkLFEsJCksWSYmZC5zaG93bGluZSYmKCJhbGwiPT09ZC5taXJyb3J8fCJhbGx0aWNrcyI9PT1kLm1pcnJvcikmJihudCs9UShSKStRKEYpKSxzLnhsaW5lcy5zdHlsZSgic3Ryb2tlLXdpZHRoIixkLl9sdysicHgiKS5jYWxsKGwuc3Ryb2tlLGQuc2hvd2xpbmU/ZC5saW5lY29sb3I6InJnYmEoMCwwLDAsMCkiKSkscy54bGluZXMuYXR0cigiZCIsbnQpO3ZhciBhdD0iTTAsMCI7ayhnLGEpJiYoSD1NKGcsImJvdHRvbSIsZCx4KSxqPWcuX29mZnNldCtnLl9sZW5ndGgrKEg/eTowKSxHPU0oZywidG9wIixkLHgpLFY9Zy5fb2Zmc2V0LShHP3k6MCksVT1iKGcsZCwibGVmdCIpLHE9YihnLGQsInJpZ2h0IiksIShZPSFnLl9hbmNob3JBeGlzfHxhIT09Zy5fbWFpblN1YnBsb3QpfHwiYWxsdGlja3MiIT09Zy5taXJyb3ImJiJhbGwiIT09Zy5taXJyb3J8fChnLl9saW5lcG9zaXRpb25zW2FdPVtVLHFdKSxhdD1ydChnLHR0LGV0KSxZJiZnLnNob3dsaW5lJiYoImFsbCI9PT1nLm1pcnJvcnx8ImFsbHRpY2tzIj09PWcubWlycm9yKSYmKGF0Kz10dChVKSt0dChxKSkscy55bGluZXMuc3R5bGUoInN0cm9rZS13aWR0aCIsZy5fbHcrInB4IikuY2FsbChsLnN0cm9rZSxnLnNob3dsaW5lP2cubGluZWNvbG9yOiJyZ2JhKDAsMCwwLDApIikpLHMueWxpbmVzLmF0dHIoImQiLGF0KX1yZXR1cm4gZi5tYWtlQ2xpcFBhdGhzKHQpLGkucHJldmlvdXNQcm9taXNlcyh0KX1mdW5jdGlvbiBrKHQsZSl7cmV0dXJuKHQudGlja3N8fHQuc2hvd2xpbmUpJiYoZT09PXQuX21haW5TdWJwbG90fHwiYWxsIj09PXQubWlycm9yfHwiYWxsdGlja3MiPT09dC5taXJyb3IpfWZ1bmN0aW9uIFQodCxlLHIpe2lmKCFyLnNob3dsaW5lfHwhci5fbHcpcmV0dXJuITE7aWYoImFsbCI9PT1yLm1pcnJvcnx8ImFsbHRpY2tzIj09PXIubWlycm9yKXJldHVybiEwO3ZhciBuPXIuX2FuY2hvckF4aXM7aWYoIW4pcmV0dXJuITE7dmFyIGE9cC5GUk9NX0JMW2VdO3JldHVybiByLnNpZGU9PT1lP24uZG9tYWluW2FdPT09dC5kb21haW5bYV06ci5taXJyb3ImJm4uZG9tYWluWzEtYV09PT10LmRvbWFpblsxLWFdfWZ1bmN0aW9uIE0odCxlLHIsbil7aWYoVCh0LGUscikpcmV0dXJuIHIuX2x3O2Zvcih2YXIgYT0wO2E8bi5sZW5ndGg7YSsrKXt2YXIgaT1uW2FdO2lmKGkuX21haW5BeGlzPT09ci5fbWFpbkF4aXMmJlQodCxlLGkpKXJldHVybiBpLl9sd31yZXR1cm4gMH1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9dC50aXRsZSxuPXQuX3NpemUsYT0wO3N3aXRjaChlPT09eT9hPXIucGFkLmw6ZT09PWImJihhPS1yLnBhZC5yKSxyLnhyZWYpe2Nhc2UicGFwZXIiOnJldHVybiBuLmwrbi53KnIueCthO2Nhc2UiY29udGFpbmVyIjpkZWZhdWx0OnJldHVybiB0LndpZHRoKnIueCthfX1mdW5jdGlvbiBTKHQsZSl7dmFyIHI9dC50aXRsZSxuPXQuX3NpemUsYT0wO2lmKCIwZW0iIT09ZSYmZT9lPT09cC5DQVBfU0hJRlQrImVtIiYmKGE9ci5wYWQudCk6YT0tci5wYWQuYiwiYXV0byI9PT1yLnkpcmV0dXJuIG4udC8yO3N3aXRjaChyLnlyZWYpe2Nhc2UicGFwZXIiOnJldHVybiBuLnQrbi5oLW4uaCpyLnkrYTtjYXNlImNvbnRhaW5lciI6ZGVmYXVsdDpyZXR1cm4gdC5oZWlnaHQtdC5oZWlnaHQqci55K2F9fXIubGF5b3V0U3R5bGVzPWZ1bmN0aW9uKHQpe3JldHVybiBvLnN5bmNPckFzeW5jKFtpLmRvQXV0b01hcmdpbix3XSx0KX0sci5kcmF3TWFpblRpdGxlPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQscj1mdW5jdGlvbih0KXt2YXIgZT10LnRpdGxlLHI9eDtvLmlzUmlnaHRBbmNob3IoZSk/cj1iOm8uaXNMZWZ0QW5jaG9yKGUpJiYocj15KTtyZXR1cm4gcn0oZSksbj1mdW5jdGlvbih0KXt2YXIgZT10LnRpdGxlLHI9IjBlbSI7by5pc1RvcEFuY2hvcihlKT9yPXAuQ0FQX1NISUZUKyJlbSI6by5pc01pZGRsZUFuY2hvcihlKSYmKHI9cC5NSURfU0hJRlQrImVtIik7cmV0dXJuIHJ9KGUpO3UuZHJhdyh0LCJndGl0bGUiLHtwcm9wQ29udGFpbmVyOmUscHJvcE5hbWU6InRpdGxlLnRleHQiLHBsYWNlaG9sZGVyOmUuX2RmbHRUaXRsZS5wbG90LGF0dHJpYnV0ZXM6e3g6QShlLHIpLHk6UyhlLG4pLCJ0ZXh0LWFuY2hvciI6cixkeTpufX0pfSxyLmRvVHJhY2VTdHlsZT1mdW5jdGlvbih0KXt2YXIgZSxuPXQuY2FsY2RhdGEsbz1bXTtmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXt2YXIgbD1uW2VdLGM9bFswXXx8e30sdT1jLnRyYWNlfHx7fSxoPXUuX21vZHVsZXx8e30sZj1oLmFycmF5c1RvQ2FsY2RhdGE7ZiYmZihsLHUpO3ZhciBwPWguZWRpdFN0eWxlO3AmJm8ucHVzaCh7Zm46cCxjZDA6Y30pfWlmKG8ubGVuZ3RoKXtmb3IoZT0wO2U8by5sZW5ndGg7ZSsrKXt2YXIgZD1vW2VdO2QuZm4odCxkLmNkMCl9cyh0KSxyLnJlZHJhd1JlZ2xUcmFjZXModCl9cmV0dXJuIGkuc3R5bGUodCksYS5nZXRDb21wb25lbnRNZXRob2QoImxlZ2VuZCIsImRyYXciKSh0KSxpLnByZXZpb3VzUHJvbWlzZXModCl9LHIuZG9Db2xvckJhcnM9ZnVuY3Rpb24odCl7cmV0dXJuIGEuZ2V0Q29tcG9uZW50TWV0aG9kKCJjb2xvcmJhciIsImRyYXciKSh0KSxpLnByZXZpb3VzUHJvbWlzZXModCl9LHIubGF5b3V0UmVwbG90PWZ1bmN0aW9uKHQpe3ZhciBlPXQubGF5b3V0O3JldHVybiB0LmxheW91dD12b2lkIDAsYS5jYWxsKCJwbG90Iix0LCIiLGUpfSxyLmRvTGVnZW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhLmdldENvbXBvbmVudE1ldGhvZCgibGVnZW5kIiwiZHJhdyIpKHQpLGkucHJldmlvdXNQcm9taXNlcyh0KX0sci5kb1RpY2tzUmVsYXlvdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGYuZHJhdyh0LCJyZWRyYXciKSx0Ll9mdWxsTGF5b3V0Ll9oYXNPbmx5TGFyZ2VTcGxvbXMmJihhLnN1YnBsb3RzUmVnaXN0cnkuc3Bsb20udXBkYXRlR3JpZCh0KSxzKHQpLHIucmVkcmF3UmVnbFRyYWNlcyh0KSksci5kcmF3TWFpblRpdGxlKHQpLGkucHJldmlvdXNQcm9taXNlcyh0KX0sci5kb01vZGVCYXI9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dDtoLm1hbmFnZSh0KTtmb3IodmFyIHI9MDtyPGUuX2Jhc2VQbG90TW9kdWxlcy5sZW5ndGg7cisrKXt2YXIgbj1lLl9iYXNlUGxvdE1vZHVsZXNbcl0udXBkYXRlRng7biYmbih0KX1yZXR1cm4gaS5wcmV2aW91c1Byb21pc2VzKHQpfSxyLmRvQ2FtZXJhPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Ll9mdWxsTGF5b3V0LHI9ZS5fc3VicGxvdHMuZ2wzZCxuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBhPWVbcltuXV07YS5fc2NlbmUuc2V0Vmlld3BvcnQoYSl9fSxyLmRyYXdEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQ7cyh0KTtmb3IodmFyIG49ZS5fYmFzZVBsb3RNb2R1bGVzLG89MDtvPG4ubGVuZ3RoO28rKyluW29dLnBsb3QodCk7cmV0dXJuIHIucmVkcmF3UmVnbFRyYWNlcyh0KSxpLnN0eWxlKHQpLGEuZ2V0Q29tcG9uZW50TWV0aG9kKCJzaGFwZXMiLCJkcmF3IikodCksYS5nZXRDb21wb25lbnRNZXRob2QoImFubm90YXRpb25zIiwiZHJhdyIpKHQpLGEuZ2V0Q29tcG9uZW50TWV0aG9kKCJpbWFnZXMiLCJkcmF3IikodCksZS5fcmVwbG90dGluZz0hMSxpLnByZXZpb3VzUHJvbWlzZXModCl9LHIucmVkcmF3UmVnbFRyYWNlcz1mdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0O2lmKGUuX2hhcygicmVnbCIpKXt2YXIgcixuLGE9dC5fZnVsbERhdGEsaT1bXSxzPVtdO2ZvcihlLl9oYXNPbmx5TGFyZ2VTcGxvbXMmJmUuX3NwbG9tR3JpZC5kcmF3KCkscj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgbD1hW3JdOyEwPT09bC52aXNpYmxlJiYwIT09bC5fbGVuZ3RoJiYoInNwbG9tIj09PWwudHlwZT9lLl9zcGxvbVNjZW5lc1tsLnVpZF0uZHJhdygpOiJzY2F0dGVyZ2wiPT09bC50eXBlP28ucHVzaFVuaXF1ZShpLGwueGF4aXMrbC55YXhpcyk6InNjYXR0ZXJwb2xhcmdsIj09PWwudHlwZSYmby5wdXNoVW5pcXVlKHMsbC5zdWJwbG90KSl9Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKykobj1lLl9wbG90c1tpW3JdXSkuX3NjZW5lJiZuLl9zY2VuZS5kcmF3KCk7Zm9yKHI9MDtyPHMubGVuZ3RoO3IrKykobj1lW3Nbcl1dLl9zdWJwbG90KS5fc2NlbmUmJm4uX3NjZW5lLmRyYXcoKX19LHIuZG9BdXRvUmFuZ2VBbmRDb25zdHJhaW50cz1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuPXQuX2Z1bGxMYXlvdXQsYT1mLmxpc3QodCwiIiwhMCksaT1uLl9heGlzTWF0Y2hHcm91cHN8fFtdLHM9e30sbD0wO2w8YS5sZW5ndGg7bCsrKWU9YVtsXSx2KHQsZSksbSh0LGUpLHNbZS5faWRdPTE7Zyh0KTt0OmZvcih2YXIgYz0wO2M8aS5sZW5ndGg7YysrKXt2YXIgdSxoPWlbY10scD1udWxsO2Zvcih1IGluIGgpaWYoc1soZT1mLmdldEZyb21JZCh0LHUpKS5faWRdKXtpZighMT09PWUuYXV0b3JhbmdlKWNvbnRpbnVlIHQ7cj1vLnNpbXBsZU1hcChlLnJhbmdlLGUucjJsKSxwP3BbMF08cFsxXT8ocFswXT1NYXRoLm1pbihwWzBdLHJbMF0pLHBbMV09TWF0aC5tYXgocFsxXSxyWzFdKSk6KHBbMF09TWF0aC5tYXgocFswXSxyWzBdKSxwWzFdPU1hdGgubWluKHBbMV0sclsxXSkpOnA9cn1mb3IodSBpbiBoKShlPWYuZ2V0RnJvbUlkKHQsdSkpLnJhbmdlPW8uc2ltcGxlTWFwKHAsZS5sMnIpLGUuX2lucHV0LnJhbmdlPWUucmFuZ2Uuc2xpY2UoKSxlLnNldFNjYWxlKCl9fSxyLmZpbmFsRHJhdz1mdW5jdGlvbih0KXthLmdldENvbXBvbmVudE1ldGhvZCgicmFuZ2VzbGlkZXIiLCJkcmF3IikodCksYS5nZXRDb21wb25lbnRNZXRob2QoInJhbmdlc2VsZWN0b3IiLCJkcmF3IikodCl9LHIuZHJhd01hcmdpblB1c2hlcnM9ZnVuY3Rpb24odCl7YS5nZXRDb21wb25lbnRNZXRob2QoImxlZ2VuZCIsImRyYXciKSh0KSxhLmdldENvbXBvbmVudE1ldGhvZCgicmFuZ2VzZWxlY3RvciIsImRyYXciKSh0KSxhLmdldENvbXBvbmVudE1ldGhvZCgic2xpZGVycyIsImRyYXciKSh0KSxhLmdldENvbXBvbmVudE1ldGhvZCgidXBkYXRlbWVudXMiLCJkcmF3IikodCksYS5nZXRDb21wb25lbnRNZXRob2QoImNvbG9yYmFyIiwiZHJhdyIpKHQpfX0seyIuLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi9jb21wb25lbnRzL21vZGViYXIiOjY1MCwiLi4vY29tcG9uZW50cy90aXRsZXMiOjY3OSwiLi4vY29uc3RhbnRzL2FsaWdubWVudCI6Njg2LCIuLi9saWIiOjcxNywiLi4vbGliL2NsZWFyX2dsX2NhbnZhc2VzIjo3MDIsIi4uL3Bsb3RzL2NhcnRlc2lhbi9hdXRvcmFuZ2UiOjc2NCwiLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vcGxvdHMvY2FydGVzaWFuL2NvbnN0cmFpbnRzIjo3NzIsIi4uL3Bsb3RzL3Bsb3RzIjo4MjYsIi4uL3JlZ2lzdHJ5Ijo4NDYsZDM6MTY1fV0sNzU3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2xpYiIpLGE9bi5pc1BsYWluT2JqZWN0LGk9dCgiLi9wbG90X3NjaGVtYSIpLG89dCgiLi4vcGxvdHMvcGxvdHMiKSxzPXQoIi4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxsPXQoIi4vcGxvdF90ZW1wbGF0ZSIpLGM9dCgiLi9wbG90X2NvbmZpZyIpLmRmbHRDb25maWc7ZnVuY3Rpb24gdSh0LGUpe3Q9bi5leHRlbmREZWVwKHt9LHQpO3ZhciByLGksbz1PYmplY3Qua2V5cyh0KS5zb3J0KCk7ZnVuY3Rpb24gcyhlLHIsbil7aWYoYShyKSYmYShlKSl1KGUscik7ZWxzZSBpZihBcnJheS5pc0FycmF5KHIpJiZBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1sLmFycmF5VGVtcGxhdGVyKHtfdGVtcGxhdGU6dH0sbik7Zm9yKGk9MDtpPHIubGVuZ3RoO2krKyl7dmFyIHM9cltpXSxjPW8ubmV3SXRlbShzKS5fdGVtcGxhdGU7YyYmdShjLHMpfXZhciBoPW8uZGVmYXVsdEl0ZW1zKCk7Zm9yKGk9MDtpPGgubGVuZ3RoO2krKylyLnB1c2goaFtpXS5fdGVtcGxhdGUpO2ZvcihpPTA7aTxyLmxlbmd0aDtpKyspZGVsZXRlIHJbaV0udGVtcGxhdGVpdGVtbmFtZX19Zm9yKHI9MDtyPG8ubGVuZ3RoO3IrKyl7dmFyIGM9b1tyXSxmPXRbY107aWYoYyBpbiBlP3MoZixlW2NdLGMpOmVbY109ZixoKGMpPT09Yylmb3IodmFyIHAgaW4gZSl7dmFyIGQ9aChwKTtwPT09ZHx8ZCE9PWN8fHAgaW4gdHx8cyhmLGVbcF0sYyl9fX1mdW5jdGlvbiBoKHQpe3JldHVybiB0LnJlcGxhY2UoL1swLTldKyQvLCIiKX1mdW5jdGlvbiBmKHQsZSxyLGksbyl7dmFyIHM9byYmcihvKTtmb3IodmFyIGMgaW4gdCl7dmFyIHU9dFtjXSxkPXAodCxjLGkpLGc9cCh0LGMsbyksdj1yKGcpO2lmKCF2KXt2YXIgbT1oKGMpO20hPT1jJiYodj1yKGc9cCh0LG0sbykpKX1pZigoIXN8fHMhPT12KSYmISghdnx8di5fbm9UZW1wbGF0aW5nfHwiZGF0YV9hcnJheSI9PT12LnZhbFR5cGV8fHYuYXJyYXlPayYmQXJyYXkuaXNBcnJheSh1KSkpaWYoIXYudmFsVHlwZSYmYSh1KSlmKHUsZSxyLGQsZyk7ZWxzZSBpZih2Ll9pc0xpbmtlZFRvQXJyYXkmJkFycmF5LmlzQXJyYXkodSkpZm9yKHZhciB5PSExLHg9MCxiPXt9LF89MDtfPHUubGVuZ3RoO18rKyl7dmFyIHc9dVtfXTtpZihhKHcpKXt2YXIgaz13Lm5hbWU7aWYoayliW2tdfHwoZih3LGUscixwKHUseCxkKSxwKHUseCxnKSkseCsrLGJba109MSk7ZWxzZSBpZigheSl7dmFyIFQ9cCh0LGwuYXJyYXlEZWZhdWx0S2V5KGMpLGkpLE09cCh1LHgsZCk7Zih3LGUscixNLHAodSx4LGcpKTt2YXIgQT1uLm5lc3RlZFByb3BlcnR5KGUsTSk7bi5uZXN0ZWRQcm9wZXJ0eShlLFQpLnNldChBLmdldCgpKSxBLnNldChudWxsKSx5PSEwfX19ZWxzZXtuLm5lc3RlZFByb3BlcnR5KGUsZCkuc2V0KHUpfX19ZnVuY3Rpb24gcCh0LGUscil7cmV0dXJuIHI/QXJyYXkuaXNBcnJheSh0KT9yKyJbIitlKyJdIjpyKyIuIitlOmV9ZnVuY3Rpb24gZCh0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZihhKHRbZV0pKXJldHVybiEwfWZ1bmN0aW9uIGcodCl7dmFyIGU7c3dpdGNoKHQuY29kZSl7Y2FzZSJkYXRhIjplPSJUaGUgdGVtcGxhdGUgaGFzIG5vIGtleSBkYXRhLiI7YnJlYWs7Y2FzZSJsYXlvdXQiOmU9IlRoZSB0ZW1wbGF0ZSBoYXMgbm8ga2V5IGxheW91dC4iO2JyZWFrO2Nhc2UibWlzc2luZyI6ZT10LnBhdGg/IlRoZXJlIGFyZSBubyB0ZW1wbGF0ZXMgZm9yIGl0ZW0gIit0LnBhdGgrIiB3aXRoIG5hbWUgIit0LnRlbXBsYXRlaXRlbW5hbWU6IlRoZXJlIGFyZSBubyB0ZW1wbGF0ZXMgZm9yIHRyYWNlICIrdC5pbmRleCsiLCBvZiB0eXBlICIrdC50cmFjZVR5cGUrIi4iO2JyZWFrO2Nhc2UidW51c2VkIjplPXQucGF0aD8iVGhlIHRlbXBsYXRlIGl0ZW0gYXQgIit0LnBhdGgrIiB3YXMgbm90IHVzZWQgaW4gY29uc3RydWN0aW5nIHRoZSBwbG90LiI6dC5kYXRhQ291bnQ/IlNvbWUgb2YgdGhlIHRlbXBsYXRlcyBvZiB0eXBlICIrdC50cmFjZVR5cGUrIiB3ZXJlIG5vdCB1c2VkLiBUaGUgdGVtcGxhdGUgaGFzICIrdC50ZW1wbGF0ZUNvdW50KyIgdHJhY2VzLCB0aGUgZGF0YSBvbmx5IGhhcyAiK3QuZGF0YUNvdW50KyIgb2YgdGhpcyB0eXBlLiI6IlRoZSB0ZW1wbGF0ZSBoYXMgIit0LnRlbXBsYXRlQ291bnQrIiB0cmFjZXMgb2YgdHlwZSAiK3QudHJhY2VUeXBlKyIgYnV0IHRoZXJlIGFyZSBub25lIGluIHRoZSBkYXRhLiI7YnJlYWs7Y2FzZSJyZXVzZWQiOmU9IlNvbWUgb2YgdGhlIHRlbXBsYXRlcyBvZiB0eXBlICIrdC50cmFjZVR5cGUrIiB3ZXJlIHVzZWQgbW9yZSB0aGFuIG9uY2UuIFRoZSB0ZW1wbGF0ZSBoYXMgIit0LnRlbXBsYXRlQ291bnQrIiB0cmFjZXMsIHRoZSBkYXRhIGhhcyAiK3QuZGF0YUNvdW50KyIgb2YgdGhpcyB0eXBlLiJ9cmV0dXJuIHQubXNnPWUsdH1yLm1ha2VUZW1wbGF0ZT1mdW5jdGlvbih0KXt0PW4uaXNQbGFpbk9iamVjdCh0KT90Om4uZ2V0R3JhcGhEaXYodCksdD1uLmV4dGVuZERlZXAoe19jb250ZXh0OmN9LHtkYXRhOnQuZGF0YSxsYXlvdXQ6dC5sYXlvdXR9KSxvLnN1cHBseURlZmF1bHRzKHQpO3ZhciBlPXQuZGF0YXx8W10scj10LmxheW91dHx8e307ci5fYmFzZVBsb3RNb2R1bGVzPXQuX2Z1bGxMYXlvdXQuX2Jhc2VQbG90TW9kdWxlcyxyLl9tb2R1bGVzPXQuX2Z1bGxMYXlvdXQuX21vZHVsZXM7dmFyIGw9e2RhdGE6e30sbGF5b3V0Ont9fTtlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9e307Zih0LGUsZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5nZXRUcmFjZVZhbE9iamVjdCh0LG4ubmVzdGVkUHJvcGVydHkoe30sZSkucGFydHMpfS5iaW5kKG51bGwsdCkpO3ZhciByPW4uY29lcmNlKHQse30scywidHlwZSIpLGE9bC5kYXRhW3JdO2F8fChhPWwuZGF0YVtyXT1bXSksYS5wdXNoKGUpfSksZihyLGwubGF5b3V0LGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkuZ2V0TGF5b3V0VmFsT2JqZWN0KHQsbi5uZXN0ZWRQcm9wZXJ0eSh7fSxlKS5wYXJ0cyl9LmJpbmQobnVsbCxyKSksZGVsZXRlIGwubGF5b3V0LnRlbXBsYXRlO3ZhciBoPXIudGVtcGxhdGU7aWYoYShoKSl7dmFyIHAsZCxnLHYsbSx5LHg9aC5sYXlvdXQ7YSh4KSYmdSh4LGwubGF5b3V0KTt2YXIgYj1oLmRhdGE7aWYoYShiKSl7Zm9yKGQgaW4gbC5kYXRhKWlmKGc9YltkXSxBcnJheS5pc0FycmF5KGcpKXtmb3IoeT0obT1sLmRhdGFbZF0pLmxlbmd0aCx2PWcubGVuZ3RoLHA9MDtwPHk7cCsrKXUoZ1twJXZdLG1bcF0pO2ZvcihwPXk7cDx2O3ArKyltLnB1c2gobi5leHRlbmREZWVwKHt9LGdbcF0pKX1mb3IoZCBpbiBiKWQgaW4gbC5kYXRhfHwobC5kYXRhW2RdPW4uZXh0ZW5kRGVlcChbXSxiW2RdKSl9fXJldHVybiBsfSxyLnZhbGlkYXRlVGVtcGxhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1uLmV4dGVuZERlZXAoe30se19jb250ZXh0OmMsZGF0YTp0LmRhdGEsbGF5b3V0OnQubGF5b3V0fSksaT1yLmxheW91dHx8e307YShlKXx8KGU9aS50ZW1wbGF0ZXx8e30pO3ZhciBzPWUubGF5b3V0LGw9ZS5kYXRhLHU9W107ci5sYXlvdXQ9aSxyLmxheW91dC50ZW1wbGF0ZT1lLG8uc3VwcGx5RGVmYXVsdHMocik7dmFyIGY9ci5fZnVsbExheW91dCx2PXIuX2Z1bGxEYXRhLG09e307aWYoYShzKT8oIWZ1bmN0aW9uIHQoZSxyKXtmb3IodmFyIG4gaW4gZSlpZigiXyIhPT1uLmNoYXJBdCgwKSYmYShlW25dKSl7dmFyIGksbz1oKG4pLHM9W107Zm9yKGk9MDtpPHIubGVuZ3RoO2krKylzLnB1c2gocChlLG4scltpXSkpLG8hPT1uJiZzLnB1c2gocChlLG8scltpXSkpO2ZvcihpPTA7aTxzLmxlbmd0aDtpKyspbVtzW2ldXT0xO3QoZVtuXSxzKX19KGYsWyJsYXlvdXQiXSksZnVuY3Rpb24gdChlLHIpe2Zvcih2YXIgbiBpbiBlKWlmKC0xPT09bi5pbmRleE9mKCJkZWZhdWx0cyIpJiZhKGVbbl0pKXt2YXIgaT1wKGUsbixyKTttW2ldP3QoZVtuXSxpKTp1LnB1c2goe2NvZGU6InVudXNlZCIscGF0aDppfSl9fShzLCJsYXlvdXQiKSk6dS5wdXNoKHtjb2RlOiJsYXlvdXQifSksYShsKSl7Zm9yKHZhciB5LHg9e30sYj0wO2I8di5sZW5ndGg7YisrKXt2YXIgXz12W2JdO3hbeT1fLnR5cGVdPSh4W3ldfHwwKSsxLF8uX2Z1bGxJbnB1dC5fdGVtcGxhdGV8fHUucHVzaCh7Y29kZToibWlzc2luZyIsaW5kZXg6Xy5fZnVsbElucHV0LmluZGV4LHRyYWNlVHlwZTp5fSl9Zm9yKHkgaW4gbCl7dmFyIHc9bFt5XS5sZW5ndGgsaz14W3ldfHwwO3c+az91LnB1c2goe2NvZGU6InVudXNlZCIsdHJhY2VUeXBlOnksdGVtcGxhdGVDb3VudDp3LGRhdGFDb3VudDprfSk6az53JiZ1LnB1c2goe2NvZGU6InJldXNlZCIsdHJhY2VUeXBlOnksdGVtcGxhdGVDb3VudDp3LGRhdGFDb3VudDprfSl9fWVsc2UgdS5wdXNoKHtjb2RlOiJkYXRhIn0pO2lmKGZ1bmN0aW9uIHQoZSxyKXtmb3IodmFyIG4gaW4gZSlpZigiXyIhPT1uLmNoYXJBdCgwKSl7dmFyIGk9ZVtuXSxvPXAoZSxuLHIpO2EoaSk/KEFycmF5LmlzQXJyYXkoZSkmJiExPT09aS5fdGVtcGxhdGUmJmkudGVtcGxhdGVpdGVtbmFtZSYmdS5wdXNoKHtjb2RlOiJtaXNzaW5nIixwYXRoOm8sdGVtcGxhdGVpdGVtbmFtZTppLnRlbXBsYXRlaXRlbW5hbWV9KSx0KGksbykpOkFycmF5LmlzQXJyYXkoaSkmJmQoaSkmJnQoaSxvKX19KHtkYXRhOnYsbGF5b3V0OmZ9LCIiKSx1Lmxlbmd0aClyZXR1cm4gdS5tYXAoZyl9fSx7Ii4uL2xpYiI6NzE3LCIuLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uL3Bsb3RzL3Bsb3RzIjo4MjYsIi4vcGxvdF9jb25maWciOjc1MywiLi9wbG90X3NjaGVtYSI6NzU0LCIuL3Bsb3RfdGVtcGxhdGUiOjc1NX1dLDc1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi9wbG90X2FwaSIpLGk9dCgiLi4vbGliIiksbz10KCIuLi9zbmFwc2hvdC9oZWxwZXJzIikscz10KCIuLi9zbmFwc2hvdC90b3N2ZyIpLGw9dCgiLi4vc25hcHNob3Qvc3ZndG9pbWciKSxjPXtmb3JtYXQ6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInBuZyIsImpwZWciLCJ3ZWJwIiwic3ZnIl0sZGZsdDoicG5nIn0sd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjF9LGhlaWdodDp7dmFsVHlwZToibnVtYmVyIixtaW46MX0sc2NhbGU6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxfSxzZXRCYWNrZ3JvdW5kOnt2YWxUeXBlOiJhbnkiLGRmbHQ6ITF9LGltYWdlRGF0YU9ubHk6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9fTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcix1LGgsZjtmdW5jdGlvbiBwKHQpe3JldHVybiEodCBpbiBlKXx8aS52YWxpZGF0ZShlW3RdLGNbdF0pfWlmKGU9ZXx8e30saS5pc1BsYWluT2JqZWN0KHQpPyhyPXQuZGF0YXx8W10sdT10LmxheW91dHx8e30saD10LmNvbmZpZ3x8e30sZj17fSk6KHQ9aS5nZXRHcmFwaERpdih0KSxyPWkuZXh0ZW5kRGVlcChbXSx0LmRhdGEpLHU9aS5leHRlbmREZWVwKHt9LHQubGF5b3V0KSxoPXQuX2NvbnRleHQsZj10Ll9mdWxsTGF5b3V0fHx7fSksIXAoIndpZHRoIikmJm51bGwhPT1lLndpZHRofHwhcCgiaGVpZ2h0IikmJm51bGwhPT1lLmhlaWdodCl0aHJvdyBuZXcgRXJyb3IoIkhlaWdodCBhbmQgd2lkdGggc2hvdWxkIGJlIHBpeGVsIHZhbHVlcy4iKTtpZighcCgiZm9ybWF0IikpdGhyb3cgbmV3IEVycm9yKCJJbWFnZSBmb3JtYXQgaXMgbm90IGpwZWcsIHBuZywgc3ZnIG9yIHdlYnAuIik7dmFyIGQ9e307ZnVuY3Rpb24gZyh0LHIpe3JldHVybiBpLmNvZXJjZShlLGQsYyx0LHIpfXZhciB2PWcoImZvcm1hdCIpLG09Zygid2lkdGgiKSx5PWcoImhlaWdodCIpLHg9Zygic2NhbGUiKSxiPWcoInNldEJhY2tncm91bmQiKSxfPWcoImltYWdlRGF0YU9ubHkiKSx3PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3cuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix3LnN0eWxlLmxlZnQ9Ii01MDAwcHgiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyk7dmFyIGs9aS5leHRlbmRGbGF0KHt9LHUpO20/ay53aWR0aD1tOm51bGw9PT1lLndpZHRoJiZuKGYud2lkdGgpJiYoay53aWR0aD1mLndpZHRoKSx5P2suaGVpZ2h0PXk6bnVsbD09PWUuaGVpZ2h0JiZuKGYuaGVpZ2h0KSYmKGsuaGVpZ2h0PWYuaGVpZ2h0KTt2YXIgVD1pLmV4dGVuZEZsYXQoe30saCx7X2V4cG9ydGVkUGxvdDohMCxzdGF0aWNQbG90OiEwLHNldEJhY2tncm91bmQ6Yn0pLE09by5nZXRSZWRyYXdGdW5jKHcpO2Z1bmN0aW9uIEEoKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LG8uZ2V0RGVsYXkody5fZnVsbExheW91dCkpfSl9ZnVuY3Rpb24gUygpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LGUpe3ZhciByPXModyx2LHgpLG49dy5fZnVsbExheW91dC53aWR0aCxjPXcuX2Z1bGxMYXlvdXQuaGVpZ2h0O2lmKGEucHVyZ2UodyksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh3KSwic3ZnIj09PXYpcmV0dXJuIHQoXz9yOm8uZW5jb2RlU1ZHKHIpKTt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTt1LmlkPWkucmFuZHN0cigpLGwoe2Zvcm1hdDp2LHdpZHRoOm4saGVpZ2h0OmMsc2NhbGU6eCxjYW52YXM6dSxzdmc6cixwcm9taXNlOiEwfSkudGhlbih0KS5jYXRjaChlKX0pfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LGUpe2EucGxvdCh3LHIsayxUKS50aGVuKE0pLnRoZW4oQSkudGhlbihTKS50aGVuKGZ1bmN0aW9uKGUpe3QoZnVuY3Rpb24odCl7cmV0dXJuIF8/dC5yZXBsYWNlKG8uSU1BR0VfVVJMX1BSRUZJWCwiIik6dH0oZSkpfSkuY2F0Y2goZnVuY3Rpb24odCl7ZSh0KX0pfSl9fSx7Ii4uL2xpYiI6NzE3LCIuLi9zbmFwc2hvdC9oZWxwZXJzIjo4NTAsIi4uL3NuYXBzaG90L3N2Z3RvaW1nIjo4NTIsIi4uL3NuYXBzaG90L3Rvc3ZnIjo4NTQsIi4vcGxvdF9hcGkiOjc1MiwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDc1OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9saWIiKSxhPXQoIi4uL3Bsb3RzL3Bsb3RzIiksaT10KCIuL3Bsb3Rfc2NoZW1hIiksbz10KCIuL3Bsb3RfY29uZmlnIikuZGZsdENvbmZpZyxzPW4uaXNQbGFpbk9iamVjdCxsPUFycmF5LmlzQXJyYXksYz1uLmlzQXJyYXlPclR5cGVkQXJyYXk7ZnVuY3Rpb24gdSh0LGUscixhLGksbyl7bz1vfHxbXTtmb3IodmFyIGg9T2JqZWN0LmtleXModCksZj0wO2Y8aC5sZW5ndGg7ZisrKXt2YXIgdj1oW2ZdO2lmKCJ0cmFuc2Zvcm1zIiE9PXYpe3ZhciBtPW8uc2xpY2UoKTttLnB1c2godik7dmFyIHk9dFt2XSx4PWVbdl0sYj1nKHIsdiksXz0oYnx8e30pLnZhbFR5cGUsdz0iaW5mb19hcnJheSI9PT1fLGs9ImNvbG9yc2NhbGUiPT09XyxUPShifHx7fSkuaXRlbXM7aWYoZChyLHYpKWlmKHMoeSkmJnMoeCkmJiJhbnkiIT09Xyl1KHkseCxiLGEsaSxtKTtlbHNlIGlmKHcmJmwoeSkpe3kubGVuZ3RoPngubGVuZ3RoJiZhLnB1c2gocCgidW51c2VkIixpLG0uY29uY2F0KHgubGVuZ3RoKSkpO3ZhciBNLEEsUyxFLEwsQz14Lmxlbmd0aCxQPUFycmF5LmlzQXJyYXkoVCk7aWYoUCYmKEM9TWF0aC5taW4oQyxULmxlbmd0aCkpLDI9PT1iLmRpbWVuc2lvbnMpZm9yKEE9MDtBPEM7QSsrKWlmKGwoeVtBXSkpe3lbQV0ubGVuZ3RoPnhbQV0ubGVuZ3RoJiZhLnB1c2gocCgidW51c2VkIixpLG0uY29uY2F0KEEseFtBXS5sZW5ndGgpKSk7dmFyIE89eFtBXS5sZW5ndGg7Zm9yKE09MDtNPChQP01hdGgubWluKE8sVFtBXS5sZW5ndGgpOk8pO00rKylTPVA/VFtBXVtNXTpULEU9eVtBXVtNXSxMPXhbQV1bTV0sbi52YWxpZGF0ZShFLFMpP0whPT1FJiZMIT09K0UmJmEucHVzaChwKCJkeW5hbWljIixpLG0uY29uY2F0KEEsTSksRSxMKSk6YS5wdXNoKHAoInZhbHVlIixpLG0uY29uY2F0KEEsTSksRSkpfWVsc2UgYS5wdXNoKHAoImFycmF5IixpLG0uY29uY2F0KEEpLHlbQV0pKTtlbHNlIGZvcihBPTA7QTxDO0ErKylTPVA/VFtBXTpULEU9eVtBXSxMPXhbQV0sbi52YWxpZGF0ZShFLFMpP0whPT1FJiZMIT09K0UmJmEucHVzaChwKCJkeW5hbWljIixpLG0uY29uY2F0KEEpLEUsTCkpOmEucHVzaChwKCJ2YWx1ZSIsaSxtLmNvbmNhdChBKSxFKSl9ZWxzZSBpZihiLml0ZW1zJiYhdyYmbCh5KSl7dmFyIHosSSxEPVRbT2JqZWN0LmtleXMoVClbMF1dLFI9W107Zm9yKHo9MDt6PHgubGVuZ3RoO3orKyl7dmFyIEY9eFt6XS5faW5kZXh8fHo7aWYoKEk9bS5zbGljZSgpKS5wdXNoKEYpLHMoeVtGXSkmJnMoeFt6XSkpe1IucHVzaChGKTt2YXIgQj15W0ZdLE49eFt6XTtzKEIpJiYhMSE9PUIudmlzaWJsZSYmITE9PT1OLnZpc2libGU/YS5wdXNoKHAoImludmlzaWJsZSIsaSxJKSk6dShCLE4sRCxhLGksSSl9fWZvcih6PTA7ejx5Lmxlbmd0aDt6KyspKEk9bS5zbGljZSgpKS5wdXNoKHopLHMoeVt6XSk/LTE9PT1SLmluZGV4T2YoeikmJmEucHVzaChwKCJ1bnVzZWQiLGksSSkpOmEucHVzaChwKCJvYmplY3QiLGksSSx5W3pdKSl9ZWxzZSFzKHkpJiZzKHgpP2EucHVzaChwKCJvYmplY3QiLGksbSx5KSk6Yyh5KXx8IWMoeCl8fHd8fGs/diBpbiBlP24udmFsaWRhdGUoeSxiKT8iZW51bWVyYXRlZCI9PT1iLnZhbFR5cGUmJihiLmNvZXJjZU51bWJlciYmeSE9PSt4fHx5IT09eCkmJmEucHVzaChwKCJkeW5hbWljIixpLG0seSx4KSk6YS5wdXNoKHAoInZhbHVlIixpLG0seSkpOmEucHVzaChwKCJ1bnVzZWQiLGksbSx5KSk6YS5wdXNoKHAoImFycmF5IixpLG0seSkpO2Vsc2UgYS5wdXNoKHAoInNjaGVtYSIsaSxtKSl9fXJldHVybiBhfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGMsaD1pLmdldCgpLGY9W10sZD17X2NvbnRleHQ6bi5leHRlbmRGbGF0KHt9LG8pfTtsKHQpPyhkLmRhdGE9bi5leHRlbmREZWVwKFtdLHQpLHI9dCk6KGQuZGF0YT1bXSxyPVtdLGYucHVzaChwKCJhcnJheSIsImRhdGEiKSkpLHMoZSk/KGQubGF5b3V0PW4uZXh0ZW5kRGVlcCh7fSxlKSxjPWUpOihkLmxheW91dD17fSxjPXt9LGFyZ3VtZW50cy5sZW5ndGg+MSYmZi5wdXNoKHAoIm9iamVjdCIsImxheW91dCIpKSksYS5zdXBwbHlEZWZhdWx0cyhkKTtmb3IodmFyIGc9ZC5fZnVsbERhdGEsdj1yLmxlbmd0aCxtPTA7bTx2O20rKyl7dmFyIHk9clttXSx4PVsiZGF0YSIsbV07aWYocyh5KSl7dmFyIGI9Z1ttXSxfPWIudHlwZSx3PWgudHJhY2VzW19dLmF0dHJpYnV0ZXM7dy50eXBlPXt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6W19dfSwhMT09PWIudmlzaWJsZSYmITEhPT15LnZpc2libGUmJmYucHVzaChwKCJpbnZpc2libGUiLHgpKSx1KHksYix3LGYseCk7dmFyIGs9eS50cmFuc2Zvcm1zLFQ9Yi50cmFuc2Zvcm1zO2lmKGspe2woayl8fGYucHVzaChwKCJhcnJheSIseCxbInRyYW5zZm9ybXMiXSkpLHgucHVzaCgidHJhbnNmb3JtcyIpO2Zvcih2YXIgTT0wO008ay5sZW5ndGg7TSsrKXt2YXIgQT1bInRyYW5zZm9ybXMiLE1dLFM9a1tNXS50eXBlO2lmKHMoa1tNXSkpe3ZhciBFPWgudHJhbnNmb3Jtc1tTXT9oLnRyYW5zZm9ybXNbU10uYXR0cmlidXRlczp7fTtFLnR5cGU9e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpPYmplY3Qua2V5cyhoLnRyYW5zZm9ybXMpfSx1KGtbTV0sVFtNXSxFLGYseCxBKX1lbHNlIGYucHVzaChwKCJvYmplY3QiLHgsQSkpfX19ZWxzZSBmLnB1c2gocCgib2JqZWN0Iix4KSl9cmV0dXJuIHUoYyxkLl9mdWxsTGF5b3V0LGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGF5b3V0LmxheW91dEF0dHJpYnV0ZXMsYT0wO2E8ZS5sZW5ndGg7YSsrKXt2YXIgaT1lW2FdLG89dC50cmFjZXNbaS50eXBlXSxzPW8ubGF5b3V0QXR0cmlidXRlcztzJiYoaS5zdWJwbG90P24uZXh0ZW5kRmxhdChyW28uYXR0cmlidXRlcy5zdWJwbG90LmRmbHRdLHMpOm4uZXh0ZW5kRmxhdChyLHMpKX1yZXR1cm4gcn0oaCxnKSxmLCJsYXlvdXQiKSwwPT09Zi5sZW5ndGg/dm9pZCAwOmZ9O3ZhciBoPXtvYmplY3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4oImxheW91dCI9PT10JiYiIj09PWU/IlRoZSBsYXlvdXQgYXJndW1lbnQiOiJkYXRhIj09PXRbMF0mJiIiPT09ZT8iVHJhY2UgIit0WzFdKyIgaW4gdGhlIGRhdGEgYXJndW1lbnQiOmYodCkrImtleSAiK2UpKyIgbXVzdCBiZSBsaW5rZWQgdG8gYW4gb2JqZWN0IGNvbnRhaW5lciJ9LGFycmF5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuKCJkYXRhIj09PXQ/IlRoZSBkYXRhIGFyZ3VtZW50IjpmKHQpKyJrZXkgIitlKSsiIG11c3QgYmUgbGlua2VkIHRvIGFuIGFycmF5IGNvbnRhaW5lciJ9LHNjaGVtYTpmdW5jdGlvbih0LGUpe3JldHVybiBmKHQpKyJrZXkgIitlKyIgaXMgbm90IHBhcnQgb2YgdGhlIHNjaGVtYSJ9LHVudXNlZDpmdW5jdGlvbih0LGUscil7dmFyIG49cyhyKT8iY29udGFpbmVyIjoia2V5IjtyZXR1cm4gZih0KStuKyIgIitlKyIgZGlkIG5vdCBnZXQgY29lcmNlZCJ9LGR5bmFtaWM6ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuW2YodCkrImtleSIsZSwiKHNldCB0byAnIityKyInKSIsImdvdCByZXNldCB0byIsIiciK24rIiciLCJkdXJpbmcgZGVmYXVsdHMuIl0uam9pbigiICIpfSxpbnZpc2libGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4oZT9mKHQpKyJpdGVtICIrZToiVHJhY2UgIit0WzFdKSsiIGdvdCBkZWZhdWx0ZWQgdG8gYmUgbm90IHZpc2libGUifSx2YWx1ZTpmdW5jdGlvbih0LGUscil7cmV0dXJuW2YodCkrImtleSAiK2UsImlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlICgiK3IrIikiXS5qb2luKCIgIil9fTtmdW5jdGlvbiBmKHQpe3JldHVybiBsKHQpPyJJbiBkYXRhIHRyYWNlICIrdFsxXSsiLCAiOiJJbiAiK3QrIiwgIn1mdW5jdGlvbiBwKHQsZSxyLGEsaSl7dmFyIG8scztyPXJ8fCIiLGwoZSk/KG89ZVswXSxzPWVbMV0pOihvPWUscz1udWxsKTt2YXIgYz1mdW5jdGlvbih0KXtpZighbCh0KSlyZXR1cm4gU3RyaW5nKHQpO2Zvcih2YXIgZT0iIixyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXRbcl07Im51bWJlciI9PXR5cGVvZiBuP2U9ZS5zdWJzdHIoMCxlLmxlbmd0aC0xKSsiWyIrbisiXSI6ZSs9bixyPHQubGVuZ3RoLTEmJihlKz0iLiIpfXJldHVybiBlfShyKSx1PWhbdF0oZSxjLGEsaSk7cmV0dXJuIG4ubG9nKHUpLHtjb2RlOnQsY29udGFpbmVyOm8sdHJhY2U6cyxwYXRoOnIsYXN0cjpjLG1zZzp1fX1mdW5jdGlvbiBkKHQsZSl7dmFyIHI9bShlKSxuPXIua2V5TWludXNJZCxhPXIuaWQ7cmV0dXJuISEobiBpbiB0JiZ0W25dLl9pc1N1YnBsb3RPYmomJmEpfHxlIGluIHR9ZnVuY3Rpb24gZyh0LGUpe3JldHVybiBlIGluIHQ/dFtlXTp0W20oZSkua2V5TWludXNJZF19dmFyIHY9bi5jb3VudGVyUmVnZXgoIihbYS16XSspIik7ZnVuY3Rpb24gbSh0KXt2YXIgZT10Lm1hdGNoKHYpO3JldHVybntrZXlNaW51c0lkOmUmJmVbMV0saWQ6ZSYmZVsyXX19fSx7Ii4uL2xpYiI6NzE3LCIuLi9wbG90cy9wbG90cyI6ODI2LCIuL3Bsb3RfY29uZmlnIjo3NTMsIi4vcGxvdF9zY2hlbWEiOjc1NH1dLDc2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLGRmbHQ6ImFmdGVyYWxsIix2YWx1ZXM6WyJpbW1lZGlhdGUiLCJuZXh0IiwiYWZ0ZXJhbGwiXX0sZGlyZWN0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJmb3J3YXJkIiwicmV2ZXJzZSJdLGRmbHQ6ImZvcndhcmQifSxmcm9tY3VycmVudDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sZnJhbWU6e2R1cmF0aW9uOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6NTAwfSxyZWRyYXc6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9fSx0cmFuc2l0aW9uOntkdXJhdGlvbjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjUwMCxlZGl0VHlwZToibm9uZSJ9LGVhc2luZzp7dmFsVHlwZToiZW51bWVyYXRlZCIsZGZsdDoiY3ViaWMtaW4tb3V0Iix2YWx1ZXM6WyJsaW5lYXIiLCJxdWFkIiwiY3ViaWMiLCJzaW4iLCJleHAiLCJjaXJjbGUiLCJlbGFzdGljIiwiYmFjayIsImJvdW5jZSIsImxpbmVhci1pbiIsInF1YWQtaW4iLCJjdWJpYy1pbiIsInNpbi1pbiIsImV4cC1pbiIsImNpcmNsZS1pbiIsImVsYXN0aWMtaW4iLCJiYWNrLWluIiwiYm91bmNlLWluIiwibGluZWFyLW91dCIsInF1YWQtb3V0IiwiY3ViaWMtb3V0Iiwic2luLW91dCIsImV4cC1vdXQiLCJjaXJjbGUtb3V0IiwiZWxhc3RpYy1vdXQiLCJiYWNrLW91dCIsImJvdW5jZS1vdXQiLCJsaW5lYXItaW4tb3V0IiwicXVhZC1pbi1vdXQiLCJjdWJpYy1pbi1vdXQiLCJzaW4taW4tb3V0IiwiZXhwLWluLW91dCIsImNpcmNsZS1pbi1vdXQiLCJlbGFzdGljLWluLW91dCIsImJhY2staW4tb3V0IiwiYm91bmNlLWluLW91dCJdLGVkaXRUeXBlOiJub25lIn0sb3JkZXJpbmc6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxheW91dCBmaXJzdCIsInRyYWNlcyBmaXJzdCJdLGRmbHQ6ImxheW91dCBmaXJzdCIsZWRpdFR5cGU6Im5vbmUifX19fSx7fV0sNzYxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2xpYiIpLGE9dCgiLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGksbyxzPXIubmFtZSxsPXIuaW5jbHVzaW9uQXR0cnx8InZpc2libGUiLGM9ZVtzXSx1PW4uaXNBcnJheU9yVHlwZWRBcnJheSh0W3NdKT90W3NdOltdLGg9ZVtzXT1bXSxmPWEuYXJyYXlUZW1wbGF0ZXIoZSxzLGwpO2ZvcihpPTA7aTx1Lmxlbmd0aDtpKyspe3ZhciBwPXVbaV07bi5pc1BsYWluT2JqZWN0KHApP289Zi5uZXdJdGVtKHApOihvPWYubmV3SXRlbSh7fSkpW2xdPSExLG8uX2luZGV4PWksITEhPT1vW2xdJiZyLmhhbmRsZUl0ZW1EZWZhdWx0cyhwLG8sZSxyKSxoLnB1c2gobyl9dmFyIGQ9Zi5kZWZhdWx0SXRlbXMoKTtmb3IoaT0wO2k8ZC5sZW5ndGg7aSsrKShvPWRbaV0pLl9pbmRleD1oLmxlbmd0aCxyLmhhbmRsZUl0ZW1EZWZhdWx0cyh7fSxvLGUscix7fSksaC5wdXNoKG8pO2lmKG4uaXNBcnJheU9yVHlwZWRBcnJheShjKSl7dmFyIGc9TWF0aC5taW4oYy5sZW5ndGgsaC5sZW5ndGgpO2ZvcihpPTA7aTxnO2krKyluLnJlbGlua1ByaXZhdGVLZXlzKGhbaV0sY1tpXSl9cmV0dXJuIGh9fSx7Ii4uL2xpYiI6NzE3LCIuLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTV9XSw3NjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vY29tcG9uZW50cy9meC9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPXt0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6W10sZGZsdDoic2NhdHRlciIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMiLF9ub1RlbXBsYXRpbmc6ITB9LHZpc2libGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITAsITEsImxlZ2VuZG9ubHkiXSxkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn0sc2hvd2xlZ2VuZDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToic3R5bGUifSxsZWdlbmRncm91cDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJzdHlsZSJ9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxLGVkaXRUeXBlOiJzdHlsZSJ9LG5hbWU6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6InN0eWxlIn0sdWlkOnt2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJwbG90IixhbmltOiEwfSxpZHM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIixhbmltOiEwfSxjdXN0b21kYXRhOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LG1ldGE6e3ZhbFR5cGU6ImFueSIsYXJyYXlPazohMCxlZGl0VHlwZToicGxvdCJ9LHNlbGVjdGVkcG9pbnRzOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjIn0saG92ZXJpbmZvOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJ4IiwieSIsInoiLCJ0ZXh0IiwibmFtZSJdLGV4dHJhczpbImFsbCIsIm5vbmUiLCJza2lwIl0sYXJyYXlPazohMCxkZmx0OiJhbGwiLGVkaXRUeXBlOiJub25lIn0saG92ZXJsYWJlbDpuLmhvdmVybGFiZWwsc3RyZWFtOnt0b2tlbjp7dmFsVHlwZToic3RyaW5nIixub0JsYW5rOiEwLHN0cmljdDohMCxlZGl0VHlwZToiY2FsYyJ9LG1heHBvaW50czp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MWU0LGRmbHQ6NTAwLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSx0cmFuc2Zvcm1zOntfaXNMaW5rZWRUb0FycmF5OiJ0cmFuc2Zvcm0iLGVkaXRUeXBlOiJjYWxjIn0sdWlyZXZpc2lvbjp7dmFsVHlwZToiYW55IixlZGl0VHlwZToibm9uZSJ9fX0seyIuLi9jb21wb25lbnRzL2Z4L2F0dHJpYnV0ZXMiOjYyMn1dLDc2MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e3hheGlzOnt2YWxUeXBlOiJzdWJwbG90aWQiLGRmbHQ6IngiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0seWF4aXM6e3ZhbFR5cGU6InN1YnBsb3RpZCIsZGZsdDoieSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifX19LHt9XSw3NjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkZQX1NBRkUsbz10KCIuLi8uLi9yZWdpc3RyeSIpO2Z1bmN0aW9uIHModCxlKXt2YXIgcixuLGk9W10sbz1sKGUpLHM9Yyh0LGUpLHU9cy5taW4saD1zLm1heDtpZigwPT09dS5sZW5ndGh8fDA9PT1oLmxlbmd0aClyZXR1cm4gYS5zaW1wbGVNYXAoZS5yYW5nZSxlLnIybCk7dmFyIGY9dVswXS52YWwscD1oWzBdLnZhbDtmb3Iocj0xO3I8dS5sZW5ndGgmJmY9PT1wO3IrKylmPU1hdGgubWluKGYsdVtyXS52YWwpO2ZvcihyPTE7cjxoLmxlbmd0aCYmZj09PXA7cisrKXA9TWF0aC5tYXgocCxoW3JdLnZhbCk7dmFyIGQ9ITE7aWYoZS5yYW5nZSl7dmFyIGc9YS5zaW1wbGVNYXAoZS5yYW5nZSxlLnIybCk7ZD1nWzFdPGdbMF19InJldmVyc2VkIj09PWUuYXV0b3JhbmdlJiYoZD0hMCxlLmF1dG9yYW5nZT0hMCk7dmFyIHYsbSx5LHgsYixfLHc9ZS5yYW5nZW1vZGUsaz0idG96ZXJvIj09PXcsVD0ibm9ubmVnYXRpdmUiPT09dyxNPWUuX2xlbmd0aCxBPU0vMTAsUz0wO2ZvcihyPTA7cjx1Lmxlbmd0aDtyKyspZm9yKHY9dVtyXSxuPTA7bjxoLmxlbmd0aDtuKyspKF89KG09aFtuXSkudmFsLXYudmFsKT4wJiYoKGI9TS1vKHYpLW8obSkpPkE/Xy9iPlMmJih5PXYseD1tLFM9Xy9iKTpfL00+UyYmKHk9e3ZhbDp2LnZhbCxwYWQ6MH0seD17dmFsOm0udmFsLHBhZDowfSxTPV8vTSkpO2lmKGY9PT1wKXt2YXIgRT1mLTEsTD1mKzE7aWYoaylpZigwPT09ZilpPVswLDFdO2Vsc2V7dmFyIEM9KGY+MD9oOnUpLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLm1heCh0LG8oZSkpfSwwKSxQPWYvKDEtTWF0aC5taW4oLjUsQy9NKSk7aT1mPjA/WzAsUF06W1AsMF19ZWxzZSBpPVQ/W01hdGgubWF4KDAsRSksTWF0aC5tYXgoMSxMKV06W0UsTF19ZWxzZSBrPyh5LnZhbD49MCYmKHk9e3ZhbDowLHBhZDowfSkseC52YWw8PTAmJih4PXt2YWw6MCxwYWQ6MH0pKTpUJiYoeS52YWwtUypvKHkpPDAmJih5PXt2YWw6MCxwYWQ6MH0pLHgudmFsPD0wJiYoeD17dmFsOjEscGFkOjB9KSksUz0oeC52YWwteS52YWwpLyhNLW8oeSktbyh4KSksaT1beS52YWwtUypvKHkpLHgudmFsK1Mqbyh4KV07cmV0dXJuIGQmJmkucmV2ZXJzZSgpLGEuc2ltcGxlTWFwKGksZS5sMnJ8fE51bWJlcil9ZnVuY3Rpb24gbCh0KXt2YXIgZT10Ll9sZW5ndGgvMjA7cmV0dXJuImRvbWFpbiI9PT10LmNvbnN0cmFpbiYmdC5faW5wdXREb21haW4mJihlKj0odC5faW5wdXREb21haW5bMV0tdC5faW5wdXREb21haW5bMF0pLyh0LmRvbWFpblsxXS10LmRvbWFpblswXSkpLGZ1bmN0aW9uKHQpe3JldHVybiB0LnBhZCsodC5leHRyYXBhZD9lOjApfX1mdW5jdGlvbiBjKHQsZSl7dmFyIHIsbixhLGk9ZS5faWQsbz10Ll9mdWxsRGF0YSxzPXQuX2Z1bGxMYXlvdXQsbD1bXSxjPVtdO2Z1bmN0aW9uIGYodCxlKXtmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbz10W2Vbcl1dLHM9KG8uX2V4dHJlbWVzfHx7fSlbaV07aWYoITA9PT1vLnZpc2libGUmJnMpe2ZvcihuPTA7bjxzLm1pbi5sZW5ndGg7bisrKWE9cy5taW5bbl0sdShsLGEudmFsLGEucGFkLHtleHRyYXBhZDphLmV4dHJhcGFkfSk7Zm9yKG49MDtuPHMubWF4Lmxlbmd0aDtuKyspYT1zLm1heFtuXSxoKGMsYS52YWwsYS5wYWQse2V4dHJhcGFkOmEuZXh0cmFwYWR9KX19fXJldHVybiBmKG8sZS5fdHJhY2VJbmRpY2VzKSxmKHMuYW5ub3RhdGlvbnN8fFtdLGUuX2FubkluZGljZXN8fFtdKSxmKHMuc2hhcGVzfHxbXSxlLl9zaGFwZUluZGljZXN8fFtdKSx7bWluOmwsbWF4OmN9fWZ1bmN0aW9uIHUodCxlLHIsbil7Zih0LGUscixuLGQpfWZ1bmN0aW9uIGgodCxlLHIsbil7Zih0LGUscixuLGcpfWZ1bmN0aW9uIGYodCxlLHIsbixhKXtmb3IodmFyIGk9bi50b3plcm8sbz1uLmV4dHJhcGFkLHM9ITAsbD0wO2w8dC5sZW5ndGgmJnM7bCsrKXt2YXIgYz10W2xdO2lmKGEoYy52YWwsZSkmJmMucGFkPj1yJiYoYy5leHRyYXBhZHx8IW8pKXtzPSExO2JyZWFrfWEoZSxjLnZhbCkmJmMucGFkPD1yJiYob3x8IWMuZXh0cmFwYWQpJiYodC5zcGxpY2UobCwxKSxsLS0pfWlmKHMpe3ZhciB1PWkmJjA9PT1lO3QucHVzaCh7dmFsOmUscGFkOnU/MDpyLGV4dHJhcGFkOiF1JiZvfSl9fWZ1bmN0aW9uIHAodCl7cmV0dXJuIG4odCkmJk1hdGguYWJzKHQpPGl9ZnVuY3Rpb24gZCh0LGUpe3JldHVybiB0PD1lfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gdD49ZX1lLmV4cG9ydHM9e2dldEF1dG9SYW5nZTpzLG1ha2VQYWRGbjpsLGRvQXV0b1JhbmdlOmZ1bmN0aW9uKHQsZSl7aWYoZS5zZXRTY2FsZSgpLGUuYXV0b3JhbmdlKXtlLnJhbmdlPXModCxlKSxlLl9yPWUucmFuZ2Uuc2xpY2UoKSxlLl9ybD1hLnNpbXBsZU1hcChlLl9yLGUucjJsKTt2YXIgcj1lLl9pbnB1dCxuPXt9O25bZS5fYXR0cisiLnJhbmdlIl09ZS5yYW5nZSxuW2UuX2F0dHIrIi5hdXRvcmFuZ2UiXT1lLmF1dG9yYW5nZSxvLmNhbGwoIl9zdG9yZURpcmVjdEdVSUVkaXQiLHQubGF5b3V0LHQuX2Z1bGxMYXlvdXQuX3ByZUdVSSxuKSxyLnJhbmdlPWUucmFuZ2Uuc2xpY2UoKSxyLmF1dG9yYW5nZT1lLmF1dG9yYW5nZX12YXIgaT1lLl9hbmNob3JBeGlzO2lmKGkmJmkucmFuZ2VzbGlkZXIpe3ZhciBsPWkucmFuZ2VzbGlkZXJbZS5fbmFtZV07bCYmImF1dG8iPT09bC5yYW5nZW1vZGUmJihsLnJhbmdlPXModCxlKSksaS5faW5wdXQucmFuZ2VzbGlkZXJbZS5fbmFtZV09YS5leHRlbmRGbGF0KHt9LGwpfX0sZmluZEV4dHJlbWVzOmZ1bmN0aW9uKHQsZSxyKXtyfHwocj17fSk7dC5fbXx8dC5zZXRTY2FsZSgpO3ZhciBhLG8scyxsLGMsZixkLGcsdixtPVtdLHk9W10seD1lLmxlbmd0aCxiPXIucGFkZGVkfHwhMSxfPXIudG96ZXJvJiYoImxpbmVhciI9PT10LnR5cGV8fCItIj09PXQudHlwZSksdz0ibG9nIj09PXQudHlwZSxrPSExLFQ9ci52cGFkTGluZWFyaXplZHx8ITE7ZnVuY3Rpb24gTSh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBrPSEwLGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLm1heChOdW1iZXIodFtlXXx8MCksMCl9O3ZhciBlPU1hdGgubWF4KE51bWJlcih0fHwwKSwwKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZX19dmFyIEE9TSgodC5fbT4wP3IucHBhZHBsdXM6ci5wcGFkbWludXMpfHxyLnBwYWR8fDApLFM9TSgodC5fbT4wP3IucHBhZG1pbnVzOnIucHBhZHBsdXMpfHxyLnBwYWR8fDApLEU9TShyLnZwYWRwbHVzfHxyLnZwYWQpLEw9TShyLnZwYWRtaW51c3x8ci52cGFkKTtpZighayl7aWYoZz0xLzAsdj0tMS8wLHcpZm9yKGE9MDthPHg7YSsrKShvPWVbYV0pPGcmJm8+MCYmKGc9byksbz52JiZvPGkmJih2PW8pO2Vsc2UgZm9yKGE9MDthPHg7YSsrKShvPWVbYV0pPGcmJm8+LWkmJihnPW8pLG8+diYmbzxpJiYodj1vKTtlPVtnLHZdLHg9Mn12YXIgQz17dG96ZXJvOl8sZXh0cmFwYWQ6Yn07ZnVuY3Rpb24gUChyKXtzPWVbcl0sbihzKSYmKGY9QShyKSxkPVMociksVD8obD10LmMybChzKS1MKHIpLGM9dC5jMmwocykrRShyKSk6KGc9cy1MKHIpLHY9cytFKHIpLHcmJmc8di8xMCYmKGc9di8xMCksbD10LmMybChnKSxjPXQuYzJsKHYpKSxfJiYobD1NYXRoLm1pbigwLGwpLGM9TWF0aC5tYXgoMCxjKSkscChsKSYmdShtLGwsZCxDKSxwKGMpJiZoKHksYyxmLEMpKX12YXIgTz1NYXRoLm1pbig2LHgpO2ZvcihhPTA7YTxPO2ErKylQKGEpO2ZvcihhPXgtMTthPj1PO2EtLSlQKGEpO3JldHVybnttaW46bSxtYXg6eSxvcHRzOnJ9fSxjb25jYXRFeHRyZW1lczpjfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sNzY1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9dCgiLi4vLi4vcGxvdHMvcGxvdHMiKSxvPXQoIi4uLy4uL3JlZ2lzdHJ5Iikscz10KCIuLi8uLi9saWIiKSxsPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpLGM9dCgiLi4vLi4vY29tcG9uZW50cy90aXRsZXMiKSx1PXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxoPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGY9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLHA9dCgiLi9jbGVhbl90aWNrcyIpLGQ9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLGc9ZC5PTkVBVkdZRUFSLHY9ZC5PTkVBVkdNT05USCxtPWQuT05FREFZLHk9ZC5PTkVIT1VSLHg9ZC5PTkVNSU4sYj1kLk9ORVNFQyxfPWQuTUlOVVNfU0lHTix3PWQuQkFETlVNLGs9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLFQ9ay5NSURfU0hJRlQsTT1rLkNBUF9TSElGVCxBPWsuTElORV9TUEFDSU5HLFM9ay5PUFBPU0lURV9TSURFLEU9ZS5leHBvcnRzPXt9O0Uuc2V0Q29udmVydD10KCIuL3NldF9jb252ZXJ0Iik7dmFyIEw9dCgiLi9heGlzX2F1dG90eXBlIiksQz10KCIuL2F4aXNfaWRzIik7RS5pZDJuYW1lPUMuaWQybmFtZSxFLm5hbWUyaWQ9Qy5uYW1lMmlkLEUuY2xlYW5JZD1DLmNsZWFuSWQsRS5saXN0PUMubGlzdCxFLmxpc3RJZHM9Qy5saXN0SWRzLEUuZ2V0RnJvbUlkPUMuZ2V0RnJvbUlkLEUuZ2V0RnJvbVRyYWNlPUMuZ2V0RnJvbVRyYWNlO3ZhciBQPXQoIi4vYXV0b3JhbmdlIik7RS5nZXRBdXRvUmFuZ2U9UC5nZXRBdXRvUmFuZ2UsRS5maW5kRXh0cmVtZXM9UC5maW5kRXh0cmVtZXMsRS5jb2VyY2VSZWY9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPW4uY2hhckF0KG4ubGVuZ3RoLTEpLGw9ci5fZnVsbExheW91dC5fc3VicGxvdHNbbysiYXhpcyJdLGM9bisicmVmIix1PXt9O3JldHVybiBhfHwoYT1sWzBdfHxpKSxpfHwoaT1hKSx1W2NdPXt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6bC5jb25jYXQoaT9baV06W10pLGRmbHQ6YX0scy5jb2VyY2UodCxlLHUsYyl9LEUuY29lcmNlUG9zaXRpb249ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvLGw7aWYoInBhcGVyIj09PW58fCJwaXhlbCI9PT1uKW89cy5lbnN1cmVOdW1iZXIsbD1yKGEsaSk7ZWxzZXt2YXIgYz1FLmdldEZyb21JZChlLG4pO2w9cihhLGk9Yy5mcmFjdGlvbjJyKGkpKSxvPWMuY2xlYW5Qb3N9dFthXT1vKGwpfSxFLmNsZWFuUG9zaXRpb249ZnVuY3Rpb24odCxlLHIpe3JldHVybigicGFwZXIiPT09cnx8InBpeGVsIj09PXI/cy5lbnN1cmVOdW1iZXI6RS5nZXRGcm9tSWQoZSxyKS5jbGVhblBvcykodCl9LEUucmVkcmF3Q29tcG9uZW50cz1mdW5jdGlvbih0LGUpe2U9ZXx8RS5saXN0SWRzKHQpO3ZhciByPXQuX2Z1bGxMYXlvdXQ7ZnVuY3Rpb24gbihuLGEsaSxzKXtmb3IodmFyIGw9by5nZXRDb21wb25lbnRNZXRob2QobixhKSxjPXt9LHU9MDt1PGUubGVuZ3RoO3UrKylmb3IodmFyIGg9cltFLmlkMm5hbWUoZVt1XSldW2ldLGY9MDtmPGgubGVuZ3RoO2YrKyl7dmFyIHA9aFtmXTtpZighY1twXSYmKGwodCxwKSxjW3BdPTEscykpcmV0dXJufX1uKCJhbm5vdGF0aW9ucyIsImRyYXdPbmUiLCJfYW5uSW5kaWNlcyIpLG4oInNoYXBlcyIsImRyYXdPbmUiLCJfc2hhcGVJbmRpY2VzIiksbigiaW1hZ2VzIiwiZHJhdyIsIl9pbWdJbmRpY2VzIiwhMCl9O3ZhciBPPUUuZ2V0RGF0YUNvbnZlcnNpb25zPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGk9IngiPT09cnx8InkiPT09cnx8InoiPT09cj9yOm47aWYoQXJyYXkuaXNBcnJheShpKSl7aWYoYT17dHlwZTpMKG4pLF9jYXRlZ29yaWVzOltdfSxFLnNldENvbnZlcnQoYSksImNhdGVnb3J5Ij09PWEudHlwZSlmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKylhLmQyYyhuW29dKX1lbHNlIGE9RS5nZXRGcm9tVHJhY2UodCxlLGkpO3JldHVybiBhP3tkMmM6YS5kMmMsYzJkOmEuYzJkfToiaWRzIj09PWk/e2QyYzpJLGMyZDpJfTp7ZDJjOnosYzJkOnp9fTtmdW5jdGlvbiB6KHQpe3JldHVybit0fWZ1bmN0aW9uIEkodCl7cmV0dXJuIFN0cmluZyh0KX1FLmdldERhdGFUb0Nvb3JkRnVuYz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gTyh0LGUscixuKS5kMmN9LEUuY291bnRlckxldHRlcj1mdW5jdGlvbih0KXt2YXIgZT10LmNoYXJBdCgwKTtyZXR1cm4ieCI9PT1lPyJ5IjoieSI9PT1lPyJ4Ijp2b2lkIDB9LEUubWluRHRpY2s9ZnVuY3Rpb24odCxlLHIsbil7LTE9PT1bImxvZyIsImNhdGVnb3J5IiwibXVsdGljYXRlZ29yeSJdLmluZGV4T2YodC50eXBlKSYmbj92b2lkIDA9PT10Ll9taW5EdGljaz8odC5fbWluRHRpY2s9ZSx0Ll9mb3JjZVRpY2swPXIpOnQuX21pbkR0aWNrJiYoKHQuX21pbkR0aWNrL2UrMWUtNiklMTwyZS02JiYoKHItdC5fZm9yY2VUaWNrMCkvZSUxKzEuMDAwMDAxKSUxPDJlLTY/KHQuX21pbkR0aWNrPWUsdC5fZm9yY2VUaWNrMD1yKTooKGUvdC5fbWluRHRpY2srMWUtNiklMT4yZS02fHwoKHItdC5fZm9yY2VUaWNrMCkvdC5fbWluRHRpY2slMSsxLjAwMDAwMSklMT4yZS02KSYmKHQuX21pbkR0aWNrPTApKTp0Ll9taW5EdGljaz0wfSxFLnNhdmVSYW5nZUluaXRpYWw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9RS5saXN0KHQsIiIsITApLG49ITEsYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgaT1yW2FdLG89dm9pZCAwPT09aS5fcmFuZ2VJbml0aWFsLHM9b3x8IShpLnJhbmdlWzBdPT09aS5fcmFuZ2VJbml0aWFsWzBdJiZpLnJhbmdlWzFdPT09aS5fcmFuZ2VJbml0aWFsWzFdKTsobyYmITE9PT1pLmF1dG9yYW5nZXx8ZSYmcykmJihpLl9yYW5nZUluaXRpYWw9aS5yYW5nZS5zbGljZSgpLG49ITApfXJldHVybiBufSxFLnNhdmVTaG93U3Bpa2VJbml0aWFsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPUUubGlzdCh0LCIiLCEwKSxuPSExLGE9Im9uIixpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBvPXJbaV0scz12b2lkIDA9PT1vLl9zaG93U3Bpa2VJbml0aWFsLGw9c3x8IShvLnNob3dzcGlrZXM9PT1vLl9zaG93c3Bpa2VzKTsoc3x8ZSYmbCkmJihvLl9zaG93U3Bpa2VJbml0aWFsPW8uc2hvd3NwaWtlcyxuPSEwKSwib24iIT09YXx8by5zaG93c3Bpa2VzfHwoYT0ib2ZmIil9cmV0dXJuIHQuX2Z1bGxMYXlvdXQuX2NhcnRlc2lhblNwaWtlc0VuYWJsZWQ9YSxufSxFLmF1dG9CaW49ZnVuY3Rpb24odCxlLHIsbixpLG8pe3ZhciBsLGM9cy5hZ2dOdW1zKE1hdGgubWluLG51bGwsdCksdT1zLmFnZ051bXMoTWF0aC5tYXgsbnVsbCx0KTtpZigiY2F0ZWdvcnkiPT09ZS50eXBlfHwibXVsdGljYXRlZ29yeSI9PT1lLnR5cGUpcmV0dXJue3N0YXJ0OmMtLjUsZW5kOnUrLjUsc2l6ZTpNYXRoLm1heCgxLE1hdGgucm91bmQobyl8fDEpLF9kYXRhU3Bhbjp1LWN9O2lmKGl8fChpPWUuY2FsZW5kYXIpLGw9ImxvZyI9PT1lLnR5cGU/e3R5cGU6ImxpbmVhciIscmFuZ2U6W2MsdV19Ont0eXBlOmUudHlwZSxyYW5nZTpzLnNpbXBsZU1hcChbYyx1XSxlLmMyciwwLGkpLGNhbGVuZGFyOml9LEUuc2V0Q29udmVydChsKSxvPW8mJnAuZHRpY2sobyxsLnR5cGUpKWwuZHRpY2s9byxsLnRpY2swPXAudGljazAodm9pZCAwLGwudHlwZSxpKTtlbHNle3ZhciBoO2lmKHIpaD0odS1jKS9yO2Vsc2V7dmFyIGY9cy5kaXN0aW5jdFZhbHModCksZD1NYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubG9nKGYubWluRGlmZikvTWF0aC5MTjEwKSksZz1kKnMucm91bmRVcChmLm1pbkRpZmYvZCxbLjksMS45LDQuOSw5LjldLCEwKTtoPU1hdGgubWF4KGcsMipzLnN0ZGV2KHQpL01hdGgucG93KHQubGVuZ3RoLG4/LjI1Oi40KSksYShoKXx8KGg9MSl9RS5hdXRvVGlja3MobCxoKX12YXIgdix5PWwuZHRpY2sseD1FLnRpY2tJbmNyZW1lbnQoRS50aWNrRmlyc3QobCkseSwicmV2ZXJzZSIsaSk7aWYoIm51bWJlciI9PXR5cGVvZiB5KXY9KHg9ZnVuY3Rpb24odCxlLHIsbixpKXt2YXIgbz0wLHM9MCxsPTAsYz0wO2Z1bmN0aW9uIHUoZSl7cmV0dXJuKDErMTAwKihlLXQpL3IuZHRpY2spJTEwMDwyfWZvcih2YXIgaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0lMT09MD9sKys6YShlW2hdKXx8YysrLHUoZVtoXSkmJm8rKyx1KGVbaF0rci5kdGljay8yKSYmcysrO3ZhciBmPWUubGVuZ3RoLWM7aWYobD09PWYmJiJkYXRlIiE9PXIudHlwZSlyLmR0aWNrPDE/dD1uLS41KnIuZHRpY2s6KHQtPS41KStyLmR0aWNrPG4mJih0Kz1yLmR0aWNrKTtlbHNlIGlmKHM8LjEqZiYmKG8+LjMqZnx8dShuKXx8dShpKSkpe3ZhciBwPXIuZHRpY2svMjt0Kz10K3A8bj9wOi1wfXJldHVybiB0fSh4LHQsbCxjLHUpKSsoMStNYXRoLmZsb29yKCh1LXgpL3kpKSp5O2Vsc2UgZm9yKCJNIj09PWwuZHRpY2suY2hhckF0KDApJiYoeD1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPXMuZmluZEV4YWN0RGF0ZXMoZSxhKTtpZihpLmV4YWN0RGF5cz4uOCl7dmFyIG89TnVtYmVyKHIuc3Vic3RyKDEpKTtpLmV4YWN0WWVhcnM+LjgmJm8lMTI9PTA/dD1FLnRpY2tJbmNyZW1lbnQodCwiTTYiLCJyZXZlcnNlIikrMS41Km06aS5leGFjdE1vbnRocz4uOD90PUUudGlja0luY3JlbWVudCh0LCJNMSIsInJldmVyc2UiKSsxNS41Km06dC09bS8yO3ZhciBsPUUudGlja0luY3JlbWVudCh0LHIpO2lmKGw8PW4pcmV0dXJuIGx9cmV0dXJuIHR9KHgsdCx5LGMsaSkpLHY9eCwwO3Y8PXU7KXY9RS50aWNrSW5jcmVtZW50KHYseSwhMSxpKSwwO3JldHVybntzdGFydDplLmMycih4LDAsaSksZW5kOmUuYzJyKHYsMCxpKSxzaXplOnksX2RhdGFTcGFuOnUtY319LEUucHJlcFRpY2tzPWZ1bmN0aW9uKHQpe3ZhciBlPXMuc2ltcGxlTWFwKHQucmFuZ2UsdC5yMmwpO2lmKCJhdXRvIj09PXQudGlja21vZGV8fCF0LmR0aWNrKXt2YXIgcixuPXQubnRpY2tzO258fCgiY2F0ZWdvcnkiPT09dC50eXBlfHwibXVsdGljYXRlZ29yeSI9PT10LnR5cGU/KHI9dC50aWNrZm9udD8xLjIqKHQudGlja2ZvbnQuc2l6ZXx8MTIpOjE1LG49dC5fbGVuZ3RoL3IpOihyPSJ5Ij09PXQuX2lkLmNoYXJBdCgwKT80MDo4MCxuPXMuY29uc3RyYWluKHQuX2xlbmd0aC9yLDQsOSkrMSksInJhZGlhbGF4aXMiPT09dC5fbmFtZSYmKG4qPTIpKSwiYXJyYXkiPT09dC50aWNrbW9kZSYmKG4qPTEwMCksRS5hdXRvVGlja3ModCxNYXRoLmFicyhlWzFdLWVbMF0pL24pLHQuX21pbkR0aWNrPjAmJnQuZHRpY2s8Mip0Ll9taW5EdGljayYmKHQuZHRpY2s9dC5fbWluRHRpY2ssdC50aWNrMD10Lmwycih0Ll9mb3JjZVRpY2swKSl9dC50aWNrMHx8KHQudGljazA9ImRhdGUiPT09dC50eXBlPyIyMDAwLTAxLTAxIjowKSwiZGF0ZSI9PT10LnR5cGUmJnQuZHRpY2s8LjEmJih0LmR0aWNrPS4xKSxxKHQpfSxFLmNhbGNUaWNrcz1mdW5jdGlvbih0KXtFLnByZXBUaWNrcyh0KTt2YXIgZT1zLnNpbXBsZU1hcCh0LnJhbmdlLHQucjJsKTtpZigiYXJyYXkiPT09dC50aWNrbW9kZSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC50aWNrdmFscyxyPXQudGlja3RleHQsbj1uZXcgQXJyYXkoZS5sZW5ndGgpLGE9cy5zaW1wbGVNYXAodC5yYW5nZSx0LnIybCksaT0xLjAwMDEqYVswXS0xZS00KmFbMV0sbz0xLjAwMDEqYVsxXS0xZS00KmFbMF0sbD1NYXRoLm1pbihpLG8pLGM9TWF0aC5tYXgoaSxvKSx1PTA7QXJyYXkuaXNBcnJheShyKXx8KHI9W10pO3ZhciBoPSJjYXRlZ29yeSI9PT10LnR5cGU/dC5kMmxfbm9hZGQ6dC5kMmw7ImxvZyI9PT10LnR5cGUmJiJMIiE9PVN0cmluZyh0LmR0aWNrKS5jaGFyQXQoMCkmJih0LmR0aWNrPSJMIitNYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubWluKHQucmFuZ2VbMF0sdC5yYW5nZVsxXSkpLTEpKTtmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKyl7dmFyIHA9aChlW2ZdKTtwPmwmJnA8YyYmKHZvaWQgMD09PXJbZl0/blt1XT1FLnRpY2tUZXh0KHQscCk6blt1XT1IKHQscCxTdHJpbmcocltmXSkpLHUrKyl9dTxlLmxlbmd0aCYmbi5zcGxpY2UodSxlLmxlbmd0aC11KTtyZXR1cm4gbn0odCk7dC5fdG1pbj1FLnRpY2tGaXJzdCh0KTt2YXIgcj0xLjAwMDEqZVswXS0xZS00KmVbMV0sbj0xLjAwMDEqZVsxXS0xZS00KmVbMF0saT1lWzFdPGVbMF07aWYodC5fdG1pbjxyIT09aSlyZXR1cm5bXTt2YXIgbz1bXTsiY2F0ZWdvcnkiIT09dC50eXBlJiYibXVsdGljYXRlZ29yeSIhPT10LnR5cGV8fChuPWk/TWF0aC5tYXgoLS41LG4pOk1hdGgubWluKHQuX2NhdGVnb3JpZXMubGVuZ3RoLS41LG4pKTtmb3IodmFyIGw9ImxvZyI9PT10LnR5cGUmJiEoYSh0LmR0aWNrKXx8IkwiPT09dC5kdGljay5jaGFyQXQoMCkpLGM9bnVsbCx1PU1hdGgubWF4KDFlMyx0Ll9sZW5ndGh8fDApLGg9dC5fdG1pbjsoaT9oPj1uOmg8PW4pJiYhKG8ubGVuZ3RoPnV8fGg9PT1jKTtoPUUudGlja0luY3JlbWVudChoLHQuZHRpY2ssaSx0LmNhbGVuZGFyKSl7Yz1oO3ZhciBmPSExO2wmJmghPT0oMHxoKSYmKGY9ITApLG8ucHVzaCh7bWlub3I6Zix2YWx1ZTpofSl9b3QodCkmJjM2MD09PU1hdGguYWJzKGVbMV0tZVswXSkmJm8ucG9wKCksdC5fdG1heD0ob1tvLmxlbmd0aC0xXXx8e30pLnZhbHVlLHQuX3ByZXZEYXRlSGVhZD0iIix0Ll9pbkNhbGNUaWNrcz0hMDtmb3IodmFyIHA9bmV3IEFycmF5KG8ubGVuZ3RoKSxkPTA7ZDxvLmxlbmd0aDtkKyspcFtkXT1FLnRpY2tUZXh0KHQsb1tkXS52YWx1ZSwhMSxvW2RdLm1pbm9yKTtyZXR1cm4gdC5faW5DYWxjVGlja3M9ITEscH07dmFyIEQ9WzIsNSwxMF0sUj1bMSwyLDMsNiwxMl0sRj1bMSwyLDUsMTAsMTUsMzBdLEI9WzEsMiwzLDcsMTRdLE49Wy0uMDQ2LDAsLjMwMSwuNDc3LC42MDIsLjY5OSwuNzc4LC44NDUsLjkwMywuOTU0LDFdLGo9Wy0uMzAxLDAsLjMwMSwuNjk5LDFdLFY9WzE1LDMwLDQ1LDkwLDE4MF07ZnVuY3Rpb24gVSh0LGUscil7cmV0dXJuIGUqcy5yb3VuZFVwKHQvZSxyKX1mdW5jdGlvbiBxKHQpe3ZhciBlPXQuZHRpY2s7aWYodC5fdGlja2V4cG9uZW50PTAsYShlKXx8InN0cmluZyI9PXR5cGVvZiBlfHwoZT0xKSwiY2F0ZWdvcnkiIT09dC50eXBlJiYibXVsdGljYXRlZ29yeSIhPT10LnR5cGV8fCh0Ll90aWNrcm91bmQ9bnVsbCksImRhdGUiPT09dC50eXBlKXt2YXIgcj10LnIybCh0LnRpY2swKSxuPXQubDJyKHIpLnJlcGxhY2UoLyheLXxpKS9nLCIiKSxpPW4ubGVuZ3RoO2lmKCJNIj09PVN0cmluZyhlKS5jaGFyQXQoMCkpaT4xMHx8IjAxLTAxIiE9PW4uc3Vic3RyKDUpP3QuX3RpY2tyb3VuZD0iZCI6dC5fdGlja3JvdW5kPStlLnN1YnN0cigxKSUxMj09MD8ieSI6Im0iO2Vsc2UgaWYoZT49bSYmaTw9MTB8fGU+PTE1Km0pdC5fdGlja3JvdW5kPSJkIjtlbHNlIGlmKGU+PXgmJmk8PTE2fHxlPj15KXQuX3RpY2tyb3VuZD0iTSI7ZWxzZSBpZihlPj1iJiZpPD0xOXx8ZT49eCl0Ll90aWNrcm91bmQ9IlMiO2Vsc2V7dmFyIG89dC5sMnIocitlKS5yZXBsYWNlKC9eLS8sIiIpLmxlbmd0aDt0Ll90aWNrcm91bmQ9TWF0aC5tYXgoaSxvKS0yMCx0Ll90aWNrcm91bmQ8MCYmKHQuX3RpY2tyb3VuZD00KX19ZWxzZSBpZihhKGUpfHwiTCI9PT1lLmNoYXJBdCgwKSl7dmFyIHM9dC5yYW5nZS5tYXAodC5yMmR8fE51bWJlcik7YShlKXx8KGU9TnVtYmVyKGUuc3Vic3RyKDEpKSksdC5fdGlja3JvdW5kPTItTWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLkxOMTArLjAxKTt2YXIgbD1NYXRoLm1heChNYXRoLmFicyhzWzBdKSxNYXRoLmFicyhzWzFdKSksYz1NYXRoLmZsb29yKE1hdGgubG9nKGwpL01hdGguTE4xMCsuMDEpO01hdGguYWJzKGMpPjMmJihZKHQuZXhwb25lbnRmb3JtYXQpJiYhVyhjKT90Ll90aWNrZXhwb25lbnQ9MypNYXRoLnJvdW5kKChjLTEpLzMpOnQuX3RpY2tleHBvbmVudD1jKX1lbHNlIHQuX3RpY2tyb3VuZD1udWxsfWZ1bmN0aW9uIEgodCxlLHIpe3ZhciBuPXQudGlja2ZvbnR8fHt9O3JldHVybnt4OmUsZHg6MCxkeTowLHRleHQ6cnx8IiIsZm9udFNpemU6bi5zaXplLGZvbnQ6bi5mYW1pbHksZm9udENvbG9yOm4uY29sb3J9fUUuYXV0b1RpY2tzPWZ1bmN0aW9uKHQsZSl7dmFyIHI7ZnVuY3Rpb24gbih0KXtyZXR1cm4gTWF0aC5wb3codCxNYXRoLmZsb29yKE1hdGgubG9nKGUpL01hdGguTE4xMCkpfWlmKCJkYXRlIj09PXQudHlwZSl7dC50aWNrMD1zLmRhdGVUaWNrMCh0LmNhbGVuZGFyKTt2YXIgaT0yKmU7aT5nPyhlLz1nLHI9bigxMCksdC5kdGljaz0iTSIrMTIqVShlLHIsRCkpOmk+dj8oZS89dix0LmR0aWNrPSJNIitVKGUsMSxSKSk6aT5tPyh0LmR0aWNrPVUoZSxtLEIpLHQudGljazA9cy5kYXRlVGljazAodC5jYWxlbmRhciwhMCkpOmk+eT90LmR0aWNrPVUoZSx5LFIpOmk+eD90LmR0aWNrPVUoZSx4LEYpOmk+Yj90LmR0aWNrPVUoZSxiLEYpOihyPW4oMTApLHQuZHRpY2s9VShlLHIsRCkpfWVsc2UgaWYoImxvZyI9PT10LnR5cGUpe3QudGljazA9MDt2YXIgbz1zLnNpbXBsZU1hcCh0LnJhbmdlLHQucjJsKTtpZihlPi43KXQuZHRpY2s9TWF0aC5jZWlsKGUpO2Vsc2UgaWYoTWF0aC5hYnMob1sxXS1vWzBdKTwxKXt2YXIgbD0xLjUqTWF0aC5hYnMoKG9bMV0tb1swXSkvZSk7ZT1NYXRoLmFicyhNYXRoLnBvdygxMCxvWzFdKS1NYXRoLnBvdygxMCxvWzBdKSkvbCxyPW4oMTApLHQuZHRpY2s9IkwiK1UoZSxyLEQpfWVsc2UgdC5kdGljaz1lPi4zPyJEMiI6IkQxIn1lbHNlImNhdGVnb3J5Ij09PXQudHlwZXx8Im11bHRpY2F0ZWdvcnkiPT09dC50eXBlPyh0LnRpY2swPTAsdC5kdGljaz1NYXRoLmNlaWwoTWF0aC5tYXgoZSwxKSkpOm90KHQpPyh0LnRpY2swPTAscj0xLHQuZHRpY2s9VShlLHIsVikpOih0LnRpY2swPTAscj1uKDEwKSx0LmR0aWNrPVUoZSxyLEQpKTtpZigwPT09dC5kdGljayYmKHQuZHRpY2s9MSksIWEodC5kdGljaykmJiJzdHJpbmciIT10eXBlb2YgdC5kdGljayl7dmFyIGM9dC5kdGljazt0aHJvdyB0LmR0aWNrPTEsImF4LmR0aWNrIGVycm9yOiAiK1N0cmluZyhjKX19LEUudGlja0luY3JlbWVudD1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1yPy0xOjE7aWYoYShlKSlyZXR1cm4gdCtvKmU7dmFyIGw9ZS5jaGFyQXQoMCksYz1vKk51bWJlcihlLnN1YnN0cigxKSk7aWYoIk0iPT09bClyZXR1cm4gcy5pbmNyZW1lbnRNb250aCh0LGMsaSk7aWYoIkwiPT09bClyZXR1cm4gTWF0aC5sb2coTWF0aC5wb3coMTAsdCkrYykvTWF0aC5MTjEwO2lmKCJEIj09PWwpe3ZhciB1PSJEMiI9PT1lP2o6TixoPXQrLjAxKm8sZj1zLnJvdW5kVXAocy5tb2QoaCwxKSx1LHIpO3JldHVybiBNYXRoLmZsb29yKGgpK01hdGgubG9nKG4ucm91bmQoTWF0aC5wb3coMTAsZiksMSkpL01hdGguTE4xMH10aHJvdyJ1bnJlY29nbml6ZWQgZHRpY2sgIitTdHJpbmcoZSl9LEUudGlja0ZpcnN0PWZ1bmN0aW9uKHQpe3ZhciBlPXQucjJsfHxOdW1iZXIscj1zLnNpbXBsZU1hcCh0LnJhbmdlLGUpLGk9clsxXTxyWzBdLG89aT9NYXRoLmZsb29yOk1hdGguY2VpbCxsPTEuMDAwMSpyWzBdLTFlLTQqclsxXSxjPXQuZHRpY2ssdT1lKHQudGljazApO2lmKGEoYykpe3ZhciBoPW8oKGwtdSkvYykqYyt1O3JldHVybiJjYXRlZ29yeSIhPT10LnR5cGUmJiJtdWx0aWNhdGVnb3J5IiE9PXQudHlwZXx8KGg9cy5jb25zdHJhaW4oaCwwLHQuX2NhdGVnb3JpZXMubGVuZ3RoLTEpKSxofXZhciBmPWMuY2hhckF0KDApLHA9TnVtYmVyKGMuc3Vic3RyKDEpKTtpZigiTSI9PT1mKXtmb3IodmFyIGQsZyx2LG09MCx5PXU7bTwxMDspe2lmKCgoZD1FLnRpY2tJbmNyZW1lbnQoeSxjLGksdC5jYWxlbmRhcikpLWwpKih5LWwpPD0wKXJldHVybiBpP01hdGgubWluKHksZCk6TWF0aC5tYXgoeSxkKTtnPShsLSh5K2QpLzIpLyhkLXkpLHY9ZisoTWF0aC5hYnMoTWF0aC5yb3VuZChnKSl8fDEpKnAseT1FLnRpY2tJbmNyZW1lbnQoeSx2LGc8MD8haTppLHQuY2FsZW5kYXIpLG0rK31yZXR1cm4gcy5lcnJvcigidGlja0ZpcnN0IGRpZCBub3QgY29udmVyZ2UiLHQpLHl9aWYoIkwiPT09ZilyZXR1cm4gTWF0aC5sb2cobygoTWF0aC5wb3coMTAsbCktdSkvcCkqcCt1KS9NYXRoLkxOMTA7aWYoIkQiPT09Zil7dmFyIHg9IkQyIj09PWM/ajpOLGI9cy5yb3VuZFVwKHMubW9kKGwsMSkseCxpKTtyZXR1cm4gTWF0aC5mbG9vcihsKStNYXRoLmxvZyhuLnJvdW5kKE1hdGgucG93KDEwLGIpLDEpKS9NYXRoLkxOMTB9dGhyb3cidW5yZWNvZ25pemVkIGR0aWNrICIrU3RyaW5nKGMpfSxFLnRpY2tUZXh0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpLG89SCh0LGUpLGw9ImFycmF5Ij09PXQudGlja21vZGUsYz1yfHxsLHU9dC50eXBlLGg9ImNhdGVnb3J5Ij09PXU/dC5kMmxfbm9hZGQ6dC5kMmw7aWYobCYmQXJyYXkuaXNBcnJheSh0LnRpY2t0ZXh0KSl7dmFyIGY9cy5zaW1wbGVNYXAodC5yYW5nZSx0LnIybCkscD1NYXRoLmFicyhmWzFdLWZbMF0pLzFlNDtmb3IoaT0wO2k8dC50aWNrdGV4dC5sZW5ndGgmJiEoTWF0aC5hYnMoZS1oKHQudGlja3ZhbHNbaV0pKTxwKTtpKyspO2lmKGk8dC50aWNrdGV4dC5sZW5ndGgpcmV0dXJuIG8udGV4dD1TdHJpbmcodC50aWNrdGV4dFtpXSksb31mdW5jdGlvbiBkKG4pe2lmKHZvaWQgMD09PW4pcmV0dXJuITA7aWYocilyZXR1cm4ibm9uZSI9PT1uO3ZhciBhPXtmaXJzdDp0Ll90bWluLGxhc3Q6dC5fdG1heH1bbl07cmV0dXJuImFsbCIhPT1uJiZlIT09YX12YXIgZz1yPyJuZXZlciI6Im5vbmUiIT09dC5leHBvbmVudGZvcm1hdCYmZCh0LnNob3dleHBvbmVudCk/ImhpZGUiOiIiO2lmKCJkYXRlIj09PXU/ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9dC5fdGlja3JvdW5kLG89ciYmdC5ob3ZlcmZvcm1hdHx8RS5nZXRUaWNrRm9ybWF0KHQpO24mJihpPWEoaSk/NDp7eToibSIsbToiZCIsZDoiTSIsTToiUyIsUzo0fVtpXSk7dmFyIGwsYz1zLmZvcm1hdERhdGUoZS54LG8saSx0Ll9kYXRlRm9ybWF0LHQuY2FsZW5kYXIsdC5fZXh0cmFGb3JtYXQpLHU9Yy5pbmRleE9mKCJcbiIpOy0xIT09dSYmKGw9Yy5zdWJzdHIodSsxKSxjPWMuc3Vic3RyKDAsdSkpO24mJigiMDA6MDA6MDAiPT09Y3x8IjAwOjAwIj09PWM/KGM9bCxsPSIiKTo4PT09Yy5sZW5ndGgmJihjPWMucmVwbGFjZSgvOjAwJC8sIiIpKSk7bCYmKHI/ImQiPT09aT9jKz0iLCAiK2w6Yz1sKyhjPyIsICIrYzoiIik6dC5faW5DYWxjVGlja3MmJmw9PT10Ll9wcmV2RGF0ZUhlYWR8fChjKz0iPGJyPiIrbCx0Ll9wcmV2RGF0ZUhlYWQ9bCkpO2UudGV4dD1jfSh0LG8scixjKToibG9nIj09PXU/ZnVuY3Rpb24odCxlLHIsbixpKXt2YXIgbz10LmR0aWNrLGw9ZS54LGM9dC50aWNrZm9ybWF0LHU9InN0cmluZyI9PXR5cGVvZiBvJiZvLmNoYXJBdCgwKTsibmV2ZXIiPT09aSYmKGk9IiIpO24mJiJMIiE9PXUmJihvPSJMMyIsdT0iTCIpO2lmKGN8fCJMIj09PXUpZS50ZXh0PVgoTWF0aC5wb3coMTAsbCksdCxpLG4pO2Vsc2UgaWYoYShvKXx8IkQiPT09dSYmcy5tb2QobCsuMDEsMSk8LjEpe3ZhciBoPU1hdGgucm91bmQobCksZj1NYXRoLmFicyhoKSxwPXQuZXhwb25lbnRmb3JtYXQ7InBvd2VyIj09PXB8fFkocCkmJlcoaCk/KGUudGV4dD0wPT09aD8xOjE9PT1oPyIxMCI6IjEwPHN1cD4iKyhoPjE/IiI6XykrZisiPC9zdXA+IixlLmZvbnRTaXplKj0xLjI1KTooImUiPT09cHx8IkUiPT09cCkmJmY+Mj9lLnRleHQ9IjEiK3ArKGg+MD8iKyI6XykrZjooZS50ZXh0PVgoTWF0aC5wb3coMTAsbCksdCwiIiwiZmFrZWhvdmVyIiksIkQxIj09PW8mJiJ5Ij09PXQuX2lkLmNoYXJBdCgwKSYmKGUuZHktPWUuZm9udFNpemUvNikpfWVsc2V7aWYoIkQiIT09dSl0aHJvdyJ1bnJlY29nbml6ZWQgZHRpY2sgIitTdHJpbmcobyk7ZS50ZXh0PVN0cmluZyhNYXRoLnJvdW5kKE1hdGgucG93KDEwLHMubW9kKGwsMSkpKSksZS5mb250U2l6ZSo9Ljc1fWlmKCJEMSI9PT10LmR0aWNrKXt2YXIgZD1TdHJpbmcoZS50ZXh0KS5jaGFyQXQoMCk7IjAiIT09ZCYmIjEiIT09ZHx8KCJ5Ij09PXQuX2lkLmNoYXJBdCgwKT9lLmR4LT1lLmZvbnRTaXplLzQ6KGUuZHkrPWUuZm9udFNpemUvMixlLmR4Kz0odC5yYW5nZVsxXT50LnJhbmdlWzBdPzE6LTEpKmUuZm9udFNpemUqKGw8MD8uNTouMjUpKSl9fSh0LG8sMCxjLGcpOiJjYXRlZ29yeSI9PT11P2Z1bmN0aW9uKHQsZSl7dmFyIHI9dC5fY2F0ZWdvcmllc1tNYXRoLnJvdW5kKGUueCldO3ZvaWQgMD09PXImJihyPSIiKTtlLnRleHQ9U3RyaW5nKHIpfSh0LG8pOiJtdWx0aWNhdGVnb3J5Ij09PXU/ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGgucm91bmQoZS54KSxhPXQuX2NhdGVnb3JpZXNbbl18fFtdLGk9dm9pZCAwPT09YVsxXT8iIjpTdHJpbmcoYVsxXSksbz12b2lkIDA9PT1hWzBdPyIiOlN0cmluZyhhWzBdKTtyP2UudGV4dD1vKyIgLSAiK2k6KGUudGV4dD1pLGUudGV4dDI9byl9KHQsbyxyKTpvdCh0KT9mdW5jdGlvbih0LGUscixuLGEpe2lmKCJyYWRpYW5zIiE9PXQudGhldGF1bml0fHxyKWUudGV4dD1YKGUueCx0LGEsbik7ZWxzZXt2YXIgaT1lLngvMTgwO2lmKDA9PT1pKWUudGV4dD0iMCI7ZWxzZXt2YXIgbz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7cmV0dXJuIE1hdGguYWJzKHQtZSk8PTFlLTZ9dmFyIHI9ZnVuY3Rpb24odCl7dmFyIHI9MTtmb3IoOyFlKE1hdGgucm91bmQodCpyKS9yLHQpOylyKj0xMDtyZXR1cm4gcn0odCksbj10KnIsYT1NYXRoLmFicyhmdW5jdGlvbiB0KHIsbil7cmV0dXJuIGUobiwwKT9yOnQobixyJW4pfShuLHIpKTtyZXR1cm5bTWF0aC5yb3VuZChuL2EpLE1hdGgucm91bmQoci9hKV19KGkpO2lmKG9bMV0+PTEwMCllLnRleHQ9WChzLmRlZzJyYWQoZS54KSx0LGEsbik7ZWxzZXt2YXIgbD1lLng8MDsxPT09b1sxXT8xPT09b1swXT9lLnRleHQ9Ilx1MDNjMCI6ZS50ZXh0PW9bMF0rIlx1MDNjMCI6ZS50ZXh0PVsiPHN1cD4iLG9bMF0sIjwvc3VwPiIsIlx1MjA0NCIsIjxzdWI+IixvWzFdLCI8L3N1Yj4iLCJcdTAzYzAiXS5qb2luKCIiKSxsJiYoZS50ZXh0PV8rZS50ZXh0KX19fX0odCxvLHIsYyxnKTpmdW5jdGlvbih0LGUscixuLGEpeyJuZXZlciI9PT1hP2E9IiI6ImFsbCI9PT10LnNob3dleHBvbmVudCYmTWF0aC5hYnMoZS54L3QuZHRpY2spPDFlLTYmJihhPSJoaWRlIik7ZS50ZXh0PVgoZS54LHQsYSxuKX0odCxvLDAsYyxnKSxufHwodC50aWNrcHJlZml4JiYhZCh0LnNob3d0aWNrcHJlZml4KSYmKG8udGV4dD10LnRpY2twcmVmaXgrby50ZXh0KSx0LnRpY2tzdWZmaXgmJiFkKHQuc2hvd3RpY2tzdWZmaXgpJiYoby50ZXh0Kz10LnRpY2tzdWZmaXgpKSwiYm91bmRhcmllcyI9PT10LnRpY2tzb258fHQuc2hvd2RpdmlkZXJzKXt2YXIgdj1mdW5jdGlvbihlKXt2YXIgcj10LmwycChlKTtyZXR1cm4gcj49MCYmcjw9dC5fbGVuZ3RoP2U6bnVsbH07by54Ym5kPVt2KG8ueC0uNSksdihvLngrdC5kdGljay0uNSldfXJldHVybiBvfSxFLmhvdmVyTGFiZWxUZXh0PWZ1bmN0aW9uKHQsZSxyKXtpZihyIT09dyYmciE9PWUpcmV0dXJuIEUuaG92ZXJMYWJlbFRleHQodCxlKSsiIC0gIitFLmhvdmVyTGFiZWxUZXh0KHQscik7dmFyIG49ImxvZyI9PT10LnR5cGUmJmU8PTAsYT1FLnRpY2tUZXh0KHQsdC5jMmwobj8tZTplKSwiaG92ZXIiKS50ZXh0O3JldHVybiBuPzA9PT1lPyIwIjpfK2E6YX07dmFyIEc9WyJmIiwicCIsIm4iLCJcdTAzYmMiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCJdO2Z1bmN0aW9uIFkodCl7cmV0dXJuIlNJIj09PXR8fCJCIj09PXR9ZnVuY3Rpb24gVyh0KXtyZXR1cm4gdD4xNHx8dDwtMTV9ZnVuY3Rpb24gWCh0LGUscixuKXt2YXIgaT10PDAsbz1lLl90aWNrcm91bmQsbD1yfHxlLmV4cG9uZW50Zm9ybWF0fHwiQiIsYz1lLl90aWNrZXhwb25lbnQsdT1FLmdldFRpY2tGb3JtYXQoZSksaD1lLnNlcGFyYXRldGhvdXNhbmRzO2lmKG4pe3ZhciBmPXtleHBvbmVudGZvcm1hdDpsLGR0aWNrOiJub25lIj09PWUuc2hvd2V4cG9uZW50P2UuZHRpY2s6YSh0KSYmTWF0aC5hYnModCl8fDEscmFuZ2U6Im5vbmUiPT09ZS5zaG93ZXhwb25lbnQ/ZS5yYW5nZS5tYXAoZS5yMmQpOlswLHR8fDFdfTtxKGYpLG89KE51bWJlcihmLl90aWNrcm91bmQpfHwwKSs0LGM9Zi5fdGlja2V4cG9uZW50LGUuaG92ZXJmb3JtYXQmJih1PWUuaG92ZXJmb3JtYXQpfWlmKHUpcmV0dXJuIGUuX251bUZvcm1hdCh1KSh0KS5yZXBsYWNlKC8tL2csXyk7dmFyIHAsZD1NYXRoLnBvdygxMCwtbykvMjtpZigibm9uZSI9PT1sJiYoYz0wKSwodD1NYXRoLmFicyh0KSk8ZCl0PSIwIixpPSExO2Vsc2V7aWYodCs9ZCxjJiYodCo9TWF0aC5wb3coMTAsLWMpLG8rPWMpLDA9PT1vKXQ9U3RyaW5nKE1hdGguZmxvb3IodCkpO2Vsc2UgaWYobzwwKXt0PSh0PVN0cmluZyhNYXRoLnJvdW5kKHQpKSkuc3Vic3RyKDAsdC5sZW5ndGgrbyk7Zm9yKHZhciBnPW87ZzwwO2crKyl0Kz0iMCJ9ZWxzZXt2YXIgdj0odD1TdHJpbmcodCkpLmluZGV4T2YoIi4iKSsxO3YmJih0PXQuc3Vic3RyKDAsditvKS5yZXBsYWNlKC9cLj8wKyQvLCIiKSl9dD1zLm51bVNlcGFyYXRlKHQsZS5fc2VwYXJhdG9ycyxoKX1jJiYiaGlkZSIhPT1sJiYoWShsKSYmVyhjKSYmKGw9InBvd2VyIikscD1jPDA/XystYzoicG93ZXIiIT09bD8iKyIrYzpTdHJpbmcoYyksImUiPT09bHx8IkUiPT09bD90Kz1sK3A6InBvd2VyIj09PWw/dCs9Ilx4ZDcxMDxzdXA+IitwKyI8L3N1cD4iOiJCIj09PWwmJjk9PT1jP3QrPSJCIjpZKGwpJiYodCs9R1tjLzMrNV0pKTtyZXR1cm4gaT9fK3Q6dH1mdW5jdGlvbiBaKHQsZSl7Zm9yKHZhciByPVtdLG49e30sYT0wO2E8ZS5sZW5ndGg7YSsrKXt2YXIgaT1lW2FdO25baS50ZXh0Ml0/bltpLnRleHQyXS5wdXNoKGkueCk6bltpLnRleHQyXT1baS54XX1mb3IodmFyIG8gaW4gbilyLnB1c2goSCh0LHMuaW50ZXJwKG5bb10sLjUpLG8pKTtyZXR1cm4gcn1mdW5jdGlvbiBKKHQpe3JldHVyblt0LnRleHQsdC54LHQuYXhJbmZvLHQuZm9udCx0LmZvbnRTaXplLHQuZm9udENvbG9yXS5qb2luKCJfIil9ZnVuY3Rpb24gSyh0KXt2YXIgZT10LnRpdGxlLmZvbnQuc2l6ZSxyPSh0LnRpdGxlLnRleHQubWF0Y2gobC5CUl9UQUdfQUxMKXx8W10pLmxlbmd0aDtyZXR1cm4gdC50aXRsZS5oYXNPd25Qcm9wZXJ0eSgic3RhbmRvZmYiKT9yP2UqKE0rcipBKTplKk06cj9lKihyKzEpKkE6ZX1mdW5jdGlvbiBRKHQsZSl7dmFyIHI9dC5sMnAoZSk7cmV0dXJuIHI+MSYmcjx0Ll9sZW5ndGgtMX1mdW5jdGlvbiAkKHQpe3ZhciBlPW4uc2VsZWN0KHQpLHI9ZS5zZWxlY3QoIi50ZXh0LW1hdGgtZ3JvdXAiKTtyZXR1cm4gci5lbXB0eSgpP2Uuc2VsZWN0KCJ0ZXh0Iik6cn1mdW5jdGlvbiB0dCh0KXtyZXR1cm4gdC5faWQrIi5hdXRvbWFyZ2luIn1mdW5jdGlvbiBldCh0KXtyZXR1cm4gdHQodCkrIi5taXJyb3IifWZ1bmN0aW9uIHJ0KHQpe3JldHVybiB0Ll9pZCsiLnJhbmdlc2xpZGVyIn1mdW5jdGlvbiBudCh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKS0xPT09dC5pbmRleE9mKGVbcl0pJiZ0LnB1c2goZVtyXSl9ZnVuY3Rpb24gYXQodCxlLHIpe3ZhciBuLGEsaT1bXSxvPVtdLGw9dC5sYXlvdXQ7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpLnB1c2goRS5nZXRGcm9tSWQodCxlW25dKSk7Zm9yKG49MDtuPHIubGVuZ3RoO24rKylvLnB1c2goRS5nZXRGcm9tSWQodCxyW25dKSk7dmFyIGM9T2JqZWN0LmtleXMoZiksdT1bImFuY2hvciIsImRvbWFpbiIsIm92ZXJsYXlpbmciLCJwb3NpdGlvbiIsInNpZGUiLCJ0aWNrYW5nbGUiLCJlZGl0VHlwZSJdLGg9WyJsaW5lYXIiLCJsb2ciXTtmb3Iobj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcD1jW25dLGQ9aVswXVtwXSxnPW9bMF1bcF0sdj0hMCxtPSExLHk9ITE7aWYoIl8iIT09cC5jaGFyQXQoMCkmJiJmdW5jdGlvbiIhPXR5cGVvZiBkJiYtMT09PXUuaW5kZXhPZihwKSl7Zm9yKGE9MTthPGkubGVuZ3RoJiZ2O2ErKyl7dmFyIHg9aVthXVtwXTsidHlwZSI9PT1wJiYtMSE9PWguaW5kZXhPZihkKSYmLTEhPT1oLmluZGV4T2YoeCkmJmQhPT14P209ITA6eCE9PWQmJih2PSExKX1mb3IoYT0xO2E8by5sZW5ndGgmJnY7YSsrKXt2YXIgYj1vW2FdW3BdOyJ0eXBlIj09PXAmJi0xIT09aC5pbmRleE9mKGcpJiYtMSE9PWguaW5kZXhPZihiKSYmZyE9PWI/eT0hMDpvW2FdW3BdIT09ZyYmKHY9ITEpfXYmJihtJiYobFtpWzBdLl9uYW1lXS50eXBlPSJsaW5lYXIiKSx5JiYobFtvWzBdLl9uYW1lXS50eXBlPSJsaW5lYXIiKSxpdChsLHAsaSxvLHQuX2Z1bGxMYXlvdXQuX2RmbHRUaXRsZSkpfX1mb3Iobj0wO248dC5fZnVsbExheW91dC5hbm5vdGF0aW9ucy5sZW5ndGg7bisrKXt2YXIgXz10Ll9mdWxsTGF5b3V0LmFubm90YXRpb25zW25dOy0xIT09ZS5pbmRleE9mKF8ueHJlZikmJi0xIT09ci5pbmRleE9mKF8ueXJlZikmJnMuc3dhcEF0dHJzKGwuYW5ub3RhdGlvbnNbbl0sWyI/Il0pfX1mdW5jdGlvbiBpdCh0LGUscixuLGEpe3ZhciBpLG89cy5uZXN0ZWRQcm9wZXJ0eSxsPW8odFtyWzBdLl9uYW1lXSxlKS5nZXQoKSxjPW8odFtuWzBdLl9uYW1lXSxlKS5nZXQoKTtmb3IoInRpdGxlIj09PWUmJihsJiZsLnRleHQ9PT1hLngmJihsLnRleHQ9YS55KSxjJiZjLnRleHQ9PT1hLnkmJihjLnRleHQ9YS54KSksaT0wO2k8ci5sZW5ndGg7aSsrKW8odCxyW2ldLl9uYW1lKyIuIitlKS5zZXQoYyk7Zm9yKGk9MDtpPG4ubGVuZ3RoO2krKylvKHQsbltpXS5fbmFtZSsiLiIrZSkuc2V0KGwpfWZ1bmN0aW9uIG90KHQpe3JldHVybiJhbmd1bGFyYXhpcyI9PT10Ll9pZH1FLmdldFRpY2tGb3JtYXQ9ZnVuY3Rpb24odCl7dmFyIGUscixuLGEsaSxvLHMsbDtmdW5jdGlvbiBjKHQpe3JldHVybiJzdHJpbmciIT10eXBlb2YgdD90Ok51bWJlcih0LnJlcGxhY2UoIk0iLCIiKSkqdn1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9WyJMIiwiRCJdO2lmKHR5cGVvZiB0PT10eXBlb2YgZSl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0LWU7dmFyIG49ci5pbmRleE9mKHQuY2hhckF0KDApKSxhPXIuaW5kZXhPZihlLmNoYXJBdCgwKSk7cmV0dXJuIG49PT1hP051bWJlcih0LnJlcGxhY2UoLyhMfEQpL2csIiIpKS1OdW1iZXIoZS5yZXBsYWNlKC8oTHxEKS9nLCIiKSk6bi1hfXJldHVybiJudW1iZXIiPT10eXBlb2YgdD8xOi0xfWZ1bmN0aW9uIGgodCxlKXt2YXIgcj1udWxsPT09ZVswXSxuPW51bGw9PT1lWzFdLGE9dSh0LGVbMF0pPj0wLGk9dSh0LGVbMV0pPD0wO3JldHVybihyfHxhKSYmKG58fGkpfWlmKHQudGlja2Zvcm1hdHN0b3BzJiZ0LnRpY2tmb3JtYXRzdG9wcy5sZW5ndGg+MClzd2l0Y2godC50eXBlKXtjYXNlImRhdGUiOmNhc2UibGluZWFyIjpmb3IoZT0wO2U8dC50aWNrZm9ybWF0c3RvcHMubGVuZ3RoO2UrKylpZigobj10LnRpY2tmb3JtYXRzdG9wc1tlXSkuZW5hYmxlZCYmKGE9dC5kdGljayxpPW4uZHRpY2tyYW5nZSxvPXZvaWQgMCxzPXZvaWQgMCxsPXZvaWQgMCxvPWN8fGZ1bmN0aW9uKHQpe3JldHVybiB0fSxzPWlbMF0sbD1pWzFdLCghcyYmIm51bWJlciIhPXR5cGVvZiBzfHxvKHMpPD1vKGEpKSYmKCFsJiYibnVtYmVyIiE9dHlwZW9mIGx8fG8obCk+PW8oYSkpKSl7cj1uO2JyZWFrfWJyZWFrO2Nhc2UibG9nIjpmb3IoZT0wO2U8dC50aWNrZm9ybWF0c3RvcHMubGVuZ3RoO2UrKylpZigobj10LnRpY2tmb3JtYXRzdG9wc1tlXSkuZW5hYmxlZCYmaCh0LmR0aWNrLG4uZHRpY2tyYW5nZSkpe3I9bjticmVha319cmV0dXJuIHI/ci52YWx1ZTp0LnRpY2tmb3JtYXR9LEUuZ2V0U3VicGxvdHM9ZnVuY3Rpb24odCxlKXt2YXIgcj10Ll9mdWxsTGF5b3V0Ll9zdWJwbG90cyxuPXIuY2FydGVzaWFuLmNvbmNhdChyLmdsMmR8fFtdKSxhPWU/RS5maW5kU3VicGxvdHNXaXRoQXhpcyhuLGUpOm47cmV0dXJuIGEuc29ydChmdW5jdGlvbih0LGUpe3ZhciByPXQuc3Vic3RyKDEpLnNwbGl0KCJ5Iiksbj1lLnN1YnN0cigxKS5zcGxpdCgieSIpO3JldHVybiByWzBdPT09blswXT8rclsxXS0rblsxXTorclswXS0rblswXX0pLGF9LEUuZmluZFN1YnBsb3RzV2l0aEF4aXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmV3IFJlZ0V4cCgieCI9PT1lLl9pZC5jaGFyQXQoMCk/Il4iK2UuX2lkKyJ5IjplLl9pZCsiJCIpLG49W10sYT0wO2E8dC5sZW5ndGg7YSsrKXt2YXIgaT10W2FdO3IudGVzdChpKSYmbi5wdXNoKGkpfXJldHVybiBufSxFLm1ha2VDbGlwUGF0aHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dDtpZighZS5faGFzT25seUxhcmdlU3Bsb21zKXt2YXIgcixhLGk9e19vZmZzZXQ6MCxfbGVuZ3RoOmUud2lkdGgsX2lkOiIifSxvPXtfb2Zmc2V0OjAsX2xlbmd0aDplLmhlaWdodCxfaWQ6IiJ9LHM9RS5saXN0KHQsIngiLCEwKSxsPUUubGlzdCh0LCJ5IiwhMCksYz1bXTtmb3Iocj0wO3I8cy5sZW5ndGg7cisrKWZvcihjLnB1c2goe3g6c1tyXSx5Om99KSxhPTA7YTxsLmxlbmd0aDthKyspMD09PXImJmMucHVzaCh7eDppLHk6bFthXX0pLGMucHVzaCh7eDpzW3JdLHk6bFthXX0pO3ZhciB1PWUuX2NsaXBzLnNlbGVjdEFsbCgiLmF4ZXNjbGlwIikuZGF0YShjLGZ1bmN0aW9uKHQpe3JldHVybiB0LnguX2lkK3QueS5faWR9KTt1LmVudGVyKCkuYXBwZW5kKCJjbGlwUGF0aCIpLmNsYXNzZWQoImF4ZXNjbGlwIiwhMCkuYXR0cigiaWQiLGZ1bmN0aW9uKHQpe3JldHVybiJjbGlwIitlLl91aWQrdC54Ll9pZCt0LnkuX2lkfSkuYXBwZW5kKCJyZWN0IiksdS5leGl0KCkucmVtb3ZlKCksdS5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLnNlbGVjdCgicmVjdCIpLmF0dHIoe3g6dC54Ll9vZmZzZXR8fDAseTp0LnkuX29mZnNldHx8MCx3aWR0aDp0LnguX2xlbmd0aHx8MSxoZWlnaHQ6dC55Ll9sZW5ndGh8fDF9KX0pfX0sRS5kcmF3PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10Ll9mdWxsTGF5b3V0OyJyZWRyYXciPT09ZSYmbi5fcGFwZXIuc2VsZWN0QWxsKCJnLnN1YnBsb3QiKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj1uLl9wbG90c1tlXSxhPXIueGF4aXMsaT1yLnlheGlzO3IueGF4aXNsYXllci5zZWxlY3RBbGwoIi4iK2EuX2lkKyJ0aWNrIikucmVtb3ZlKCksci55YXhpc2xheWVyLnNlbGVjdEFsbCgiLiIraS5faWQrInRpY2siKS5yZW1vdmUoKSxyLnhheGlzbGF5ZXIuc2VsZWN0QWxsKCIuIithLl9pZCsidGljazIiKS5yZW1vdmUoKSxyLnlheGlzbGF5ZXIuc2VsZWN0QWxsKCIuIitpLl9pZCsidGljazIiKS5yZW1vdmUoKSxyLnhheGlzbGF5ZXIuc2VsZWN0QWxsKCIuIithLl9pZCsiZGl2aWRlciIpLnJlbW92ZSgpLHIueWF4aXNsYXllci5zZWxlY3RBbGwoIi4iK2kuX2lkKyJkaXZpZGVyIikucmVtb3ZlKCksci5ncmlkbGF5ZXImJnIuZ3JpZGxheWVyLnNlbGVjdEFsbCgicGF0aCIpLnJlbW92ZSgpLHIuemVyb2xpbmVsYXllciYmci56ZXJvbGluZWxheWVyLnNlbGVjdEFsbCgicGF0aCIpLnJlbW92ZSgpLG4uX2luZm9sYXllci5zZWxlY3QoIi5nLSIrYS5faWQrInRpdGxlIikucmVtb3ZlKCksbi5faW5mb2xheWVyLnNlbGVjdCgiLmctIitpLl9pZCsidGl0bGUiKS5yZW1vdmUoKX0pO3ZhciBhPWUmJiJyZWRyYXciIT09ZT9lOkUubGlzdElkcyh0KTtyZXR1cm4gcy5zeW5jT3JBc3luYyhhLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtpZihlKXt2YXIgbj1FLmdldEZyb21JZCh0LGUpLGE9RS5kcmF3T25lKHQsbixyKTtyZXR1cm4gbi5fcj1uLnJhbmdlLnNsaWNlKCksbi5fcmw9cy5zaW1wbGVNYXAobi5fcixuLnIybCksYX19fSkpfSxFLmRyYXdPbmU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsbDtyPXJ8fHt9LGUuc2V0U2NhbGUoKTt2YXIgZj10Ll9mdWxsTGF5b3V0LHA9ZS5faWQsZD1wLmNoYXJBdCgwKSxnPUUuY291bnRlckxldHRlcihwKSx2PWYuX3Bsb3RzW2UuX21haW5TdWJwbG90XTtpZih2KXt2YXIgbT12W2QrImF4aXNsYXllciJdLHk9ZS5fbWFpbkxpbmVQb3NpdGlvbix4PWUuX21haW5NaXJyb3JQb3NpdGlvbixiPWUuX3ZhbHM9RS5jYWxjVGlja3MoZSksXz1bZS5taXJyb3IseSx4XS5qb2luKCJfIik7Zm9yKG49MDtuPGIubGVuZ3RoO24rKyliW25dLmF4SW5mbz1fO2UuX3NlbGVjdGlvbnM9e30sZS5fdGlja0FuZ2xlcyYmKGUuX3ByZXZUaWNrQW5nbGVzPWUuX3RpY2tBbmdsZXMpLGUuX3RpY2tBbmdsZXM9e30sZS5fZGVwdGg9bnVsbDt2YXIgdz17fTtpZihlLnZpc2libGUpe3ZhciBrLFQsTT1FLm1ha2VUcmFuc0ZuKGUpO2lmKCJib3VuZGFyaWVzIj09PWUudGlja3Nvbil7dmFyIEw9ZnVuY3Rpb24odCxlKXt2YXIgcixuPVtdLGE9ZnVuY3Rpb24odCxlKXt2YXIgcj10LnhibmRbZV07bnVsbCE9PXImJm4ucHVzaChzLmV4dGVuZEZsYXQoe30sdCx7eDpyfSkpfTtpZihlLmxlbmd0aCl7Zm9yKHI9MDtyPGUubGVuZ3RoO3IrKylhKGVbcl0sMCk7YShlW3ItMV0sMSl9cmV0dXJuIG59KDAsYik7VD1FLmNsaXBFbmRzKGUsTCksaz0iaW5zaWRlIj09PWUudGlja3M/VDpMfWVsc2UgVD1FLmNsaXBFbmRzKGUsYiksaz0iaW5zaWRlIj09PWUudGlja3M/VDpiO3ZhciBDPWUuX2dyaWRWYWxzPVQsUD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT1bXSxpPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC54Ym5kW2VdO251bGwhPT1yJiZhLnB1c2gocy5leHRlbmRGbGF0KHt9LHQse3g6cn0pKX07aWYodC5zaG93ZGl2aWRlcnMmJmUubGVuZ3RoKXtmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbz1lW3JdO28udGV4dDIhPT1uJiZpKG8sMCksbj1vLnRleHQyfWkoZVtyLTFdLDEpfXJldHVybiBhfShlLGIpO2lmKCFmLl9oYXNPbmx5TGFyZ2VTcGxvbXMpe3ZhciBPPWUuX3N1YnBsb3RzV2l0aCx6PXt9O2ZvcihuPTA7bjxPLmxlbmd0aDtuKyspe2E9T1tuXTt2YXIgST0obD1mLl9wbG90c1thXSlbZysiYXhpcyJdLEQ9SS5fbWFpbkF4aXMuX2lkO2lmKCF6W0RdKXt6W0RdPTE7dmFyIFI9IngiPT09ZD8iTTAsIitJLl9vZmZzZXQrInYiK0kuX2xlbmd0aDoiTSIrSS5fb2Zmc2V0KyIsMGgiK0kuX2xlbmd0aDtFLmRyYXdHcmlkKHQsZSx7dmFsczpDLGNvdW50ZXJBeGlzOkksbGF5ZXI6bC5ncmlkbGF5ZXIuc2VsZWN0KCIuIitwKSxwYXRoOlIsdHJhbnNGbjpNfSksRS5kcmF3WmVyb0xpbmUodCxlLHtjb3VudGVyQXhpczpJLGxheWVyOmwuemVyb2xpbmVsYXllcixwYXRoOlIsdHJhbnNGbjpNfSl9fX12YXIgRj1FLmdldFRpY2tTaWducyhlKSxCPVtdO2lmKGUudGlja3Mpe3ZhciBOLGosVixVPUUubWFrZVRpY2tQYXRoKGUseSxGWzJdKTtpZihlLl9hbmNob3JBeGlzJiZlLm1pcnJvciYmITAhPT1lLm1pcnJvcj8oTj1FLm1ha2VUaWNrUGF0aChlLHgsRlszXSksaj1VK04pOihOPSIiLGo9VSksZS5zaG93ZGl2aWRlcnMmJiJvdXRzaWRlIj09PWUudGlja3MmJiJib3VuZGFyaWVzIj09PWUudGlja3Nvbil7dmFyIHE9e307Zm9yKG49MDtuPFAubGVuZ3RoO24rKylxW1Bbbl0ueF09MTtWPWZ1bmN0aW9uKHQpe3JldHVybiBxW3QueF0/TjpqfX1lbHNlIFY9ajtFLmRyYXdUaWNrcyh0LGUse3ZhbHM6ayxsYXllcjptLHBhdGg6Vix0cmFuc0ZuOk19KSwiYWxsdGlja3MiPT09ZS5taXJyb3ImJihCPU9iamVjdC5rZXlzKGUuX2xpbmVwb3NpdGlvbnN8fHt9KSl9Zm9yKG49MDtuPEIubGVuZ3RoO24rKyl7YT1CW25dLGw9Zi5fcGxvdHNbYV07dmFyIEg9ZS5fbGluZXBvc2l0aW9uc1thXXx8W10sRz1FLm1ha2VUaWNrUGF0aChlLEhbMF0sRlswXSkrRS5tYWtlVGlja1BhdGgoZSxIWzFdLEZbMV0pO0UuZHJhd1RpY2tzKHQsZSx7dmFsczprLGxheWVyOmxbZCsiYXhpc2xheWVyIl0scGF0aDpHLHRyYW5zRm46TX0pfXZhciBZPVtdO2lmKFkucHVzaChmdW5jdGlvbigpe3JldHVybiBFLmRyYXdMYWJlbHModCxlLHt2YWxzOmIsbGF5ZXI6bSx0cmFuc0ZuOk0sbGFiZWxGbnM6RS5tYWtlTGFiZWxGbnMoZSx5KX0pfSksIm11bHRpY2F0ZWdvcnkiPT09ZS50eXBlKXt2YXIgVz17eDoyLHk6MTB9W2RdO1kucHVzaChmdW5jdGlvbigpe3ZhciByPXt4OiJoZWlnaHQiLHk6IndpZHRoIn1bZF0sbj1RKClbcl0rVysoZS5fdGlja0FuZ2xlc1twKyJ0aWNrIl0/ZS50aWNrZm9udC5zaXplKkE6MCk7cmV0dXJuIEUuZHJhd0xhYmVscyh0LGUse3ZhbHM6WihlLGIpLGxheWVyOm0sY2xzOnArInRpY2syIixyZXBvc2l0aW9uT25VcGRhdGU6ITAsc2Vjb25kYXJ5OiEwLHRyYW5zRm46TSxsYWJlbEZuczpFLm1ha2VMYWJlbEZucyhlLHkrbipGWzRdKX0pfSksWS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RlcHRoPUZbNF0qKFEoInRpY2syIilbZS5zaWRlXS15KSxmdW5jdGlvbih0LGUscil7dmFyIG49ZS5faWQrImRpdmlkZXIiLGE9ci52YWxzLGk9ci5sYXllci5zZWxlY3RBbGwoInBhdGguIituKS5kYXRhKGEsSik7aS5leGl0KCkucmVtb3ZlKCksaS5lbnRlcigpLmluc2VydCgicGF0aCIsIjpmaXJzdC1jaGlsZCIpLmNsYXNzZWQobiwxKS5jbGFzc2VkKCJjcmlzcCIsMSkuY2FsbCh1LnN0cm9rZSxlLmRpdmlkZXJjb2xvcikuc3R5bGUoInN0cm9rZS13aWR0aCIsaC5jcmlzcFJvdW5kKHQsZS5kaXZpZGVyd2lkdGgsMSkrInB4IiksaS5hdHRyKCJ0cmFuc2Zvcm0iLHIudHJhbnNGbikuYXR0cigiZCIsci5wYXRoKX0odCxlLHt2YWxzOlAsbGF5ZXI6bSxwYXRoOkUubWFrZVRpY2tQYXRoKGUseSxGWzRdLGUuX2RlcHRoKSx0cmFuc0ZuOk19KX0pfWVsc2UgZS50aXRsZS5oYXNPd25Qcm9wZXJ0eSgic3RhbmRvZmYiKSYmWS5wdXNoKGZ1bmN0aW9uKCl7ZS5fZGVwdGg9Rls0XSooUSgpW2Uuc2lkZV0teSl9KTt2YXIgWD1vLmdldENvbXBvbmVudE1ldGhvZCgicmFuZ2VzbGlkZXIiLCJpc1Zpc2libGUiKShlKTtyZXR1cm4gWS5wdXNoKGZ1bmN0aW9uKCl7dmFyIHIsbixhLHMsbD1lLnNpZGUuY2hhckF0KDApLGM9U1tlLnNpZGVdLmNoYXJBdCgwKSx1PUUuZ2V0UHhQb3NpdGlvbih0LGUpLGg9Im91dHNpZGUiPT09ZS50aWNrcz9lLnRpY2tsZW46MDtpZigoZS5hdXRvbWFyZ2lufHxYKSYmKCJtdWx0aWNhdGVnb3J5Ij09PWUudHlwZT9yPVEoInRpY2syIik6KHI9USgpLCJ4Ij09PWQmJiJiIj09PWwmJihlLl9kZXB0aD1NYXRoLm1heChyLndpZHRoPjA/ci5ib3R0b20tdTowLGgpKSkpLGUuYXV0b21hcmdpbil7bj17eDowLHk6MCxyOjAsbDowLHQ6MCxiOjB9O3ZhciBwPVswLDFdO2lmKCJ4Ij09PWQpe2lmKCJiIj09PWw/bltsXT1lLl9kZXB0aDoobltsXT1lLl9kZXB0aD1NYXRoLm1heChyLndpZHRoPjA/dS1yLnRvcDowLGgpLHAucmV2ZXJzZSgpKSxyLndpZHRoPjApe3ZhciB2PXIucmlnaHQtKGUuX29mZnNldCtlLl9sZW5ndGgpO3Y+MCYmKG4ueHI9MSxuLnI9dik7dmFyIG09ZS5fb2Zmc2V0LXIubGVmdDttPjAmJihuLnhsPTAsbi5sPW0pfX1lbHNlIGlmKCJsIj09PWw/bltsXT1lLl9kZXB0aD1NYXRoLm1heChyLmhlaWdodD4wP3Utci5sZWZ0OjAsaCk6KG5bbF09ZS5fZGVwdGg9TWF0aC5tYXgoci5oZWlnaHQ+MD9yLnJpZ2h0LXU6MCxoKSxwLnJldmVyc2UoKSksci5oZWlnaHQ+MCl7dmFyIHk9ci5ib3R0b20tKGUuX29mZnNldCtlLl9sZW5ndGgpO3k+MCYmKG4ueWI9MCxuLmI9eSk7dmFyIHg9ZS5fb2Zmc2V0LXIudG9wO3g+MCYmKG4ueXQ9MSxuLnQ9eCl9bltnXT0iZnJlZSI9PT1lLmFuY2hvcj9lLnBvc2l0aW9uOmUuX2FuY2hvckF4aXMuZG9tYWluW3BbMF1dLGUudGl0bGUudGV4dCE9PWYuX2RmbHRUaXRsZVtkXSYmKG5bbF0rPUsoZSkrKGUudGl0bGUuc3RhbmRvZmZ8fDApKSxlLm1pcnJvciYmImZyZWUiIT09ZS5hbmNob3ImJigoYT17eDowLHk6MCxyOjAsbDowLHQ6MCxiOjB9KVtjXT1lLmxpbmV3aWR0aCxlLm1pcnJvciYmITAhPT1lLm1pcnJvciYmKGFbY10rPWgpLCEwPT09ZS5taXJyb3J8fCJ0aWNrcyI9PT1lLm1pcnJvcj9hW2ddPWUuX2FuY2hvckF4aXMuZG9tYWluW3BbMV1dOiJhbGwiIT09ZS5taXJyb3ImJiJhbGx0aWNrcyIhPT1lLm1pcnJvcnx8KGFbZ109W2UuX2NvdW50ZXJEb21haW5NaW4sZS5fY291bnRlckRvbWFpbk1heF1bcFsxXV0pKX1YJiYocz1vLmdldENvbXBvbmVudE1ldGhvZCgicmFuZ2VzbGlkZXIiLCJhdXRvTWFyZ2luT3B0cyIpKHQsZSkpLGkuYXV0b01hcmdpbih0LHR0KGUpLG4pLGkuYXV0b01hcmdpbih0LGV0KGUpLGEpLGkuYXV0b01hcmdpbih0LHJ0KGUpLHMpfSksci5za2lwVGl0bGV8fFgmJiJib3R0b20iPT09ZS5zaWRlfHxZLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlKXt2YXIgcixuPXQuX2Z1bGxMYXlvdXQsYT1lLl9pZCxpPWEuY2hhckF0KDApLG89ZS50aXRsZS5mb250LnNpemU7aWYoZS50aXRsZS5oYXNPd25Qcm9wZXJ0eSgic3RhbmRvZmYiKSlyPWUuX2RlcHRoK2UudGl0bGUuc3RhbmRvZmYrSyhlKTtlbHNle2lmKCJtdWx0aWNhdGVnb3J5Ij09PWUudHlwZSlyPWUuX2RlcHRoO2Vsc2V7cj0xMCsxLjUqbysoZS5saW5ld2lkdGg/ZS5saW5ld2lkdGgtMTowKX1yKz0ieCI9PT1pPyJ0b3AiPT09ZS5zaWRlP28qKGUuc2hvd3RpY2tsYWJlbHM/MTowKTpvKihlLnNob3d0aWNrbGFiZWxzPzEuNTouNSk6InJpZ2h0Ij09PWUuc2lkZT9vKihlLnNob3d0aWNrbGFiZWxzPzE6LjUpOm8qKGUuc2hvd3RpY2tsYWJlbHM/LjU6MCl9dmFyIHMsbCx1LGYscD1FLmdldFB4UG9zaXRpb24odCxlKTsieCI9PT1pPyhsPWUuX29mZnNldCtlLl9sZW5ndGgvMix1PSJ0b3AiPT09ZS5zaWRlP3AtcjpwK3IpOih1PWUuX29mZnNldCtlLl9sZW5ndGgvMixsPSJyaWdodCI9PT1lLnNpZGU/cCtyOnAtcixzPXtyb3RhdGU6Ii05MCIsb2Zmc2V0OjB9KTtpZigibXVsdGljYXRlZ29yeSIhPT1lLnR5cGUpe3ZhciBkPWUuX3NlbGVjdGlvbnNbZS5faWQrInRpY2siXTtpZihmPXtzZWxlY3Rpb246ZCxzaWRlOmUuc2lkZX0sZCYmZC5ub2RlKCkmJmQubm9kZSgpLnBhcmVudE5vZGUpe3ZhciBnPWguZ2V0VHJhbnNsYXRlKGQubm9kZSgpLnBhcmVudE5vZGUpO2Yub2Zmc2V0TGVmdD1nLngsZi5vZmZzZXRUb3A9Zy55fWUudGl0bGUuaGFzT3duUHJvcGVydHkoInN0YW5kb2ZmIikmJihmLnBhZD0wKX1yZXR1cm4gYy5kcmF3KHQsYSsidGl0bGUiLHtwcm9wQ29udGFpbmVyOmUscHJvcE5hbWU6ZS5fbmFtZSsiLnRpdGxlLnRleHQiLHBsYWNlaG9sZGVyOm4uX2RmbHRUaXRsZVtpXSxhdm9pZDpmLHRyYW5zZm9ybTpzLGF0dHJpYnV0ZXM6e3g6bCx5OnUsInRleHQtYW5jaG9yIjoibWlkZGxlIn19KX0odCxlKX0pLHMuc3luY09yQXN5bmMoWSl9fWZ1bmN0aW9uIFEodCl7dmFyIHI9cCsodHx8InRpY2siKTtyZXR1cm4gd1tyXXx8KHdbcl09ZnVuY3Rpb24odCxlKXt2YXIgcixuLGEsaTt0Ll9zZWxlY3Rpb25zW2VdLnNpemUoKT8ocj0xLzAsbj0tMS8wLGE9MS8wLGk9LTEvMCx0Ll9zZWxlY3Rpb25zW2VdLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0kKHRoaXMpLGU9aC5iQm94KHQubm9kZSgpLnBhcmVudE5vZGUpO3I9TWF0aC5taW4ocixlLnRvcCksbj1NYXRoLm1heChuLGUuYm90dG9tKSxhPU1hdGgubWluKGEsZS5sZWZ0KSxpPU1hdGgubWF4KGksZS5yaWdodCl9KSk6KHI9MCxuPTAsYT0wLGk9MCk7cmV0dXJue3RvcDpyLGJvdHRvbTpuLGxlZnQ6YSxyaWdodDppLGhlaWdodDpuLXIsd2lkdGg6aS1hfX0oZSxyKSksd1tyXX19LEUuZ2V0VGlja1NpZ25zPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2lkLmNoYXJBdCgwKSxyPXt4OiJ0b3AiLHk6InJpZ2h0In1bZV0sbj10LnNpZGU9PT1yPzE6LTEsYT1bLTEsMSxuLC1uXTtyZXR1cm4iaW5zaWRlIiE9PXQudGlja3M9PSgieCI9PT1lKSYmKGE9YS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuLXR9KSksdC5zaWRlJiZhLnB1c2goe2w6LTEsdDotMSxyOjEsYjoxfVt0LnNpZGUuY2hhckF0KDApXSksYX0sRS5tYWtlVHJhbnNGbj1mdW5jdGlvbih0KXt2YXIgZT10Ll9pZC5jaGFyQXQoMCkscj10Ll9vZmZzZXQ7cmV0dXJuIngiPT09ZT9mdW5jdGlvbihlKXtyZXR1cm4idHJhbnNsYXRlKCIrKHIrdC5sMnAoZS54KSkrIiwwKSJ9OmZ1bmN0aW9uKGUpe3JldHVybiJ0cmFuc2xhdGUoMCwiKyhyK3QubDJwKGUueCkpKyIpIn19LEUubWFrZVRpY2tQYXRoPWZ1bmN0aW9uKHQsZSxyLG4pe249dm9pZCAwIT09bj9uOnQudGlja2xlbjt2YXIgYT10Ll9pZC5jaGFyQXQoMCksaT0odC5saW5ld2lkdGh8fDEpLzI7cmV0dXJuIngiPT09YT8iTTAsIisoZStpKnIpKyJ2IituKnI6Ik0iKyhlK2kqcikrIiwwaCIrbipyfSxFLm1ha2VMYWJlbEZucz1mdW5jdGlvbih0LGUscil7dmFyIG49dC5faWQuY2hhckF0KDApLGk9ImJvdW5kYXJpZXMiIT09dC50aWNrc29uJiYib3V0c2lkZSI9PT10LnRpY2tzLG89MCxsPTA7aWYoaSYmKG8rPXQudGlja2xlbiksciYmIm91dHNpZGUiPT09dC50aWNrcyl7dmFyIGM9cy5kZWcycmFkKHIpO289dC50aWNrbGVuKk1hdGguY29zKGMpKzEsbD10LnRpY2tsZW4qTWF0aC5zaW4oYyl9dC5zaG93dGlja2xhYmVscyYmKGl8fHQuc2hvd2xpbmUpJiYobys9LjIqdC50aWNrZm9udC5zaXplKTt2YXIgdSxoLGYscCxkPXtsYWJlbFN0YW5kb2ZmOm8rPSh0LmxpbmV3aWR0aHx8MSkvMixsYWJlbFNoaWZ0Omx9O3JldHVybiJ4Ij09PW4/KHA9ImJvdHRvbSI9PT10LnNpZGU/MTotMSx1PWwqcCxoPWUrbypwLGY9ImJvdHRvbSI9PT10LnNpZGU/MTotLjIsZC54Rm49ZnVuY3Rpb24odCl7cmV0dXJuIHQuZHgrdX0sZC55Rm49ZnVuY3Rpb24odCl7cmV0dXJuIHQuZHkraCt0LmZvbnRTaXplKmZ9LGQuYW5jaG9yRm49ZnVuY3Rpb24odCxlKXtyZXR1cm4gYShlKSYmMCE9PWUmJjE4MCE9PWU/ZSpwPDA/ImVuZCI6InN0YXJ0IjoibWlkZGxlIn0sZC5oZWlnaHRGbj1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHI8LTYwfHxyPjYwPy0uNSpuOiJ0b3AiPT09dC5zaWRlPy1uOjB9KToieSI9PT1uJiYocD0icmlnaHQiPT09dC5zaWRlPzE6LTEsdT1vLGg9LWwqcCxmPTkwPT09TWF0aC5hYnModC50aWNrYW5nbGUpPy41OjAsZC54Rm49ZnVuY3Rpb24odCl7cmV0dXJuIHQuZHgrZSsodSt0LmZvbnRTaXplKmYpKnB9LGQueUZuPWZ1bmN0aW9uKHQpe3JldHVybiB0LmR5K2grdC5mb250U2l6ZSpUfSxkLmFuY2hvckZuPWZ1bmN0aW9uKGUscil7cmV0dXJuIGEocikmJjkwPT09TWF0aC5hYnMocik/Im1pZGRsZSI6InJpZ2h0Ij09PXQuc2lkZT8ic3RhcnQiOiJlbmQifSxkLmhlaWdodEZuPWZ1bmN0aW9uKGUscixuKXtyZXR1cm4ocio9ImxlZnQiPT09dC5zaWRlPzE6LTEpPC0zMD8tbjpyPDMwPy0uNSpuOjB9KSxkfSxFLmRyYXdUaWNrcz1mdW5jdGlvbih0LGUscil7cj1yfHx7fTt2YXIgbj1lLl9pZCsidGljayIsYT1yLmxheWVyLnNlbGVjdEFsbCgicGF0aC4iK24pLmRhdGEoZS50aWNrcz9yLnZhbHM6W10sSik7YS5leGl0KCkucmVtb3ZlKCksYS5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmNsYXNzZWQobiwxKS5jbGFzc2VkKCJ0aWNrcyIsMSkuY2xhc3NlZCgiY3Jpc3AiLCExIT09ci5jcmlzcCkuY2FsbCh1LnN0cm9rZSxlLnRpY2tjb2xvcikuc3R5bGUoInN0cm9rZS13aWR0aCIsaC5jcmlzcFJvdW5kKHQsZS50aWNrd2lkdGgsMSkrInB4IikuYXR0cigiZCIsci5wYXRoKSxhLmF0dHIoInRyYW5zZm9ybSIsci50cmFuc0ZuKX0sRS5kcmF3R3JpZD1mdW5jdGlvbih0LGUscil7cj1yfHx7fTt2YXIgbj1lLl9pZCsiZ3JpZCIsYT1yLnZhbHMsaT1yLmNvdW50ZXJBeGlzO2lmKCExPT09ZS5zaG93Z3JpZClhPVtdO2Vsc2UgaWYoaSYmRS5zaG91bGRTaG93WmVyb0xpbmUodCxlLGkpKWZvcih2YXIgbz0iYXJyYXkiPT09ZS50aWNrbW9kZSxzPTA7czxhLmxlbmd0aDtzKyspe3ZhciBsPWFbc10ueDtpZihvPyFsOk1hdGguYWJzKGwpPGUuZHRpY2svMTAwKXtpZihhPWEuc2xpY2UoMCxzKS5jb25jYXQoYS5zbGljZShzKzEpKSwhbylicmVhaztzLS19fXZhciBjPXIubGF5ZXIuc2VsZWN0QWxsKCJwYXRoLiIrbikuZGF0YShhLEopO2MuZXhpdCgpLnJlbW92ZSgpLGMuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKG4sMSkuY2xhc3NlZCgiY3Jpc3AiLCExIT09ci5jcmlzcCksZS5fZ3c9aC5jcmlzcFJvdW5kKHQsZS5ncmlkd2lkdGgsMSksYy5hdHRyKCJ0cmFuc2Zvcm0iLHIudHJhbnNGbikuYXR0cigiZCIsci5wYXRoKS5jYWxsKHUuc3Ryb2tlLGUuZ3JpZGNvbG9yfHwiI2RkZCIpLnN0eWxlKCJzdHJva2Utd2lkdGgiLGUuX2d3KyJweCIpLCJmdW5jdGlvbiI9PXR5cGVvZiByLnBhdGgmJmMuYXR0cigiZCIsci5wYXRoKX0sRS5kcmF3WmVyb0xpbmU9ZnVuY3Rpb24odCxlLHIpe3I9cnx8cjt2YXIgbj1lLl9pZCsiemwiLGE9RS5zaG91bGRTaG93WmVyb0xpbmUodCxlLHIuY291bnRlckF4aXMpLGk9ci5sYXllci5zZWxlY3RBbGwoInBhdGguIituKS5kYXRhKGE/W3t4OjAsaWQ6ZS5faWR9XTpbXSk7aS5leGl0KCkucmVtb3ZlKCksaS5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmNsYXNzZWQobiwxKS5jbGFzc2VkKCJ6bCIsMSkuY2xhc3NlZCgiY3Jpc3AiLCExIT09ci5jcmlzcCkuZWFjaChmdW5jdGlvbigpe3IubGF5ZXIuc2VsZWN0QWxsKCJwYXRoIikuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBDLmlkU29ydCh0LmlkLGUuaWQpfSl9KSxpLmF0dHIoInRyYW5zZm9ybSIsci50cmFuc0ZuKS5hdHRyKCJkIixyLnBhdGgpLmNhbGwodS5zdHJva2UsZS56ZXJvbGluZWNvbG9yfHx1LmRlZmF1bHRMaW5lKS5zdHlsZSgic3Ryb2tlLXdpZHRoIixoLmNyaXNwUm91bmQodCxlLnplcm9saW5ld2lkdGgsZS5fZ3d8fDEpKyJweCIpfSxFLmRyYXdMYWJlbHM9ZnVuY3Rpb24odCxlLHIpe3I9cnx8e307dmFyIGk9dC5fZnVsbExheW91dCxvPWUuX2lkLGM9by5jaGFyQXQoMCksdT1yLmNsc3x8bysidGljayIsZj1yLnZhbHMscD1yLmxhYmVsRm5zLGQ9ci5zZWNvbmRhcnk/MDplLnRpY2thbmdsZSxnPShlLl9wcmV2VGlja0FuZ2xlc3x8e30pW3VdLHY9ci5sYXllci5zZWxlY3RBbGwoImcuIit1KS5kYXRhKGUuc2hvd3RpY2tsYWJlbHM/ZjpbXSxKKSxtPVtdO2Z1bmN0aW9uIHkodCxlKXt0LmVhY2goZnVuY3Rpb24odCl7dmFyIGk9bi5zZWxlY3QodGhpcyksbz1pLnNlbGVjdCgiLnRleHQtbWF0aC1ncm91cCIpLHM9cC5hbmNob3JGbih0LGUpLGM9ci50cmFuc0ZuLmNhbGwoaS5ub2RlKCksdCkrKGEoZSkmJjAhPStlPyIgcm90YXRlKCIrZSsiLCIrcC54Rm4odCkrIiwiKyhwLnlGbih0KS10LmZvbnRTaXplLzIpKyIpIjoiIiksdT1sLmxpbmVDb3VudChpKSxmPUEqdC5mb250U2l6ZSxkPXAuaGVpZ2h0Rm4odCxhKGUpPytlOjAsKHUtMSkqZik7aWYoZCYmKGMrPSIgdHJhbnNsYXRlKDAsICIrZCsiKSIpLG8uZW1wdHkoKSlpLnNlbGVjdCgidGV4dCIpLmF0dHIoe3RyYW5zZm9ybTpjLCJ0ZXh0LWFuY2hvciI6c30pO2Vsc2V7dmFyIGc9aC5iQm94KG8ubm9kZSgpKS53aWR0aCp7ZW5kOi0uNSxzdGFydDouNX1bc107by5hdHRyKCJ0cmFuc2Zvcm0iLGMrKGc/InRyYW5zbGF0ZSgiK2crIiwwKSI6IiIpKX19KX12LmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCh1LDEpLmFwcGVuZCgidGV4dCIpLmF0dHIoInRleHQtYW5jaG9yIiwibWlkZGxlIikuZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxhPXQuX3Byb21pc2VzLmxlbmd0aDtyLmNhbGwobC5wb3NpdGlvblRleHQscC54Rm4oZSkscC55Rm4oZSkpLmNhbGwoaC5mb250LGUuZm9udCxlLmZvbnRTaXplLGUuZm9udENvbG9yKS50ZXh0KGUudGV4dCkuY2FsbChsLmNvbnZlcnRUb1RzcGFucyx0KSx0Ll9wcm9taXNlc1thXT9tLnB1c2godC5fcHJvbWlzZXMucG9wKCkudGhlbihmdW5jdGlvbigpe3kocixkKX0pKTp5KHIsZCl9KSx2LmV4aXQoKS5yZW1vdmUoKSxyLnJlcG9zaXRpb25PblVwZGF0ZSYmdi5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLnNlbGVjdCgidGV4dCIpLmNhbGwobC5wb3NpdGlvblRleHQscC54Rm4odCkscC55Rm4odCkpfSkseSh2LGcrMT9nOmQpO3ZhciB4PW51bGw7ZS5fc2VsZWN0aW9ucyYmKGUuX3NlbGVjdGlvbnNbdV09dik7dmFyIGI9W2Z1bmN0aW9uKCl7cmV0dXJuIG0ubGVuZ3RoJiZQcm9taXNlLmFsbChtKX1dO2UuYXV0b21hcmdpbiYmaS5fcmVkcmF3RnJvbUF1dG9NYXJnaW5Db3VudCYmOTA9PT1nPyh4PTkwLGIucHVzaChmdW5jdGlvbigpe3kodixnKX0pKTpiLnB1c2goZnVuY3Rpb24oKXtpZih5KHYsZCksZi5sZW5ndGgmJiJ4Ij09PWMmJiFhKGQpJiYoImxvZyIhPT1lLnR5cGV8fCJEIiE9PVN0cmluZyhlLmR0aWNrKS5jaGFyQXQoMCkpKXt4PTA7dmFyIHQsbj0wLGk9W107aWYodi5lYWNoKGZ1bmN0aW9uKHQpe249TWF0aC5tYXgobix0LmZvbnRTaXplKTt2YXIgcj1lLmwycCh0LngpLGE9JCh0aGlzKSxvPWguYkJveChhLm5vZGUoKSk7aS5wdXNoKHt0b3A6MCxib3R0b206MTAsaGVpZ2h0OjEwLGxlZnQ6ci1vLndpZHRoLzIscmlnaHQ6citvLndpZHRoLzIrMix3aWR0aDpvLndpZHRoKzJ9KX0pLCJib3VuZGFyaWVzIiE9PWUudGlja3NvbiYmIWUuc2hvd2RpdmlkZXJzfHxyLnNlY29uZGFyeSl7dmFyIG89Zi5sZW5ndGgsbD1NYXRoLmFicygoZltvLTFdLngtZlswXS54KSplLl9tKS8oby0xKTwyLjUqbnx8Im11bHRpY2F0ZWdvcnkiPT09ZS50eXBlO2Zvcih0PTA7dDxpLmxlbmd0aC0xO3QrKylpZihzLmJCb3hJbnRlcnNlY3QoaVt0XSxpW3QrMV0pKXt4PWw/OTA6MzA7YnJlYWt9fWVsc2V7dmFyIHU9Mjtmb3IoZS50aWNrcyYmKHUrPWUudGlja3dpZHRoLzIpLHQ9MDt0PGkubGVuZ3RoO3QrKyl7dmFyIHA9Zlt0XS54Ym5kLGc9aVt0XTtpZihudWxsIT09cFswXSYmZy5sZWZ0LWUubDJwKHBbMF0pPHV8fG51bGwhPT1wWzFdJiZlLmwycChwWzFdKS1nLnJpZ2h0PHUpe3g9OTA7YnJlYWt9fX14JiZ5KHYseCl9fSksZS5fdGlja0FuZ2xlcyYmYi5wdXNoKGZ1bmN0aW9uKCl7ZS5fdGlja0FuZ2xlc1t1XT1udWxsPT09eD9hKGQpP2Q6MDp4fSk7dmFyIF89cy5zeW5jT3JBc3luYyhiKTtyZXR1cm4gXyYmXy50aGVuJiZ0Ll9wcm9taXNlcy5wdXNoKF8pLF99LEUuZ2V0UHhQb3NpdGlvbj1mdW5jdGlvbih0LGUpe3ZhciByLG49dC5fZnVsbExheW91dC5fc2l6ZSxhPWUuX2lkLmNoYXJBdCgwKSxpPWUuc2lkZTtyZXR1cm4iZnJlZSIhPT1lLmFuY2hvcj9yPWUuX2FuY2hvckF4aXM6IngiPT09YT9yPXtfb2Zmc2V0Om4udCsoMS0oZS5wb3NpdGlvbnx8MCkpKm4uaCxfbGVuZ3RoOjB9OiJ5Ij09PWEmJihyPXtfb2Zmc2V0Om4ubCsoZS5wb3NpdGlvbnx8MCkqbi53LF9sZW5ndGg6MH0pLCJ0b3AiPT09aXx8ImxlZnQiPT09aT9yLl9vZmZzZXQ6ImJvdHRvbSI9PT1pfHwicmlnaHQiPT09aT9yLl9vZmZzZXQrci5fbGVuZ3RoOnZvaWQgMH0sRS5zaG91bGRTaG93WmVyb0xpbmU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXMuc2ltcGxlTWFwKGUucmFuZ2UsZS5yMmwpO3JldHVybiBuWzBdKm5bMV08PTAmJmUuemVyb2xpbmUmJigibGluZWFyIj09PWUudHlwZXx8Ii0iPT09ZS50eXBlKSYmKFEoZSwwKXx8IWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXIuX21haW5BeGlzO2lmKCFhKXJldHVybjt2YXIgaT10Ll9mdWxsTGF5b3V0LG89ZS5faWQuY2hhckF0KDApLHM9RS5jb3VudGVyTGV0dGVyKGUuX2lkKSxsPWUuX29mZnNldCsoTWF0aC5hYnMoblswXSk8TWF0aC5hYnMoblsxXSk9PSgieCI9PT1vKT8wOmUuX2xlbmd0aCk7ZnVuY3Rpb24gYyh0KXtpZighdC5zaG93bGluZXx8IXQubGluZXdpZHRoKXJldHVybiExO3ZhciByPU1hdGgubWF4KCh0LmxpbmV3aWR0aCtlLnplcm9saW5ld2lkdGgpLzIsMSk7ZnVuY3Rpb24gbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJk1hdGguYWJzKHQtbCk8cn1pZihuKHQuX21haW5MaW5lUG9zaXRpb24pfHxuKHQuX21haW5NaXJyb3JQb3NpdGlvbikpcmV0dXJuITA7dmFyIGE9dC5fbGluZXBvc2l0aW9uc3x8e307Zm9yKHZhciBpIGluIGEpaWYobihhW2ldWzBdKXx8bihhW2ldWzFdKSlyZXR1cm4hMH12YXIgdT1pLl9wbG90c1tyLl9tYWluU3VicGxvdF07aWYoISh1Lm1haW5wbG90aW5mb3x8dSkub3ZlcmxheXMubGVuZ3RoKXJldHVybiBjKHIpO2Zvcih2YXIgaD1FLmxpc3QodCxzKSxmPTA7ZjxoLmxlbmd0aDtmKyspe3ZhciBwPWhbZl07aWYocC5fbWFpbkF4aXM9PT1hJiZjKHApKXJldHVybiEwfX0odCxlLHIsbil8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuX2Z1bGxEYXRhLG49ZS5fbWFpblN1YnBsb3QsYT1lLl9pZC5jaGFyQXQoMCksaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgcz1yW2ldO2lmKCEwPT09cy52aXNpYmxlJiZzLnhheGlzK3MueWF4aXM9PT1uKXtpZihvLnRyYWNlSXMocywiYmFyLWxpa2UiKSYmcy5vcmllbnRhdGlvbj09PXt4OiJoIix5OiJ2In1bYV0pcmV0dXJuITA7aWYocy5maWxsJiZzLmZpbGwuY2hhckF0KHMuZmlsbC5sZW5ndGgtMSk9PT1hKXJldHVybiEwfX1yZXR1cm4hMX0odCxlKSl9LEUuY2xpcEVuZHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIFEodCxlLngpfSl9LEUuYWxsb3dBdXRvTWFyZ2luPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1FLmxpc3QodCwiIiwhMCkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO24uYXV0b21hcmdpbiYmKGkuYWxsb3dBdXRvTWFyZ2luKHQsdHQobikpLG4ubWlycm9yJiZpLmFsbG93QXV0b01hcmdpbih0LGV0KG4pKSksby5nZXRDb21wb25lbnRNZXRob2QoInJhbmdlc2xpZGVyIiwiaXNWaXNpYmxlIikobikmJmkuYWxsb3dBdXRvTWFyZ2luKHQscnQobikpfX0sRS5zd2FwPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPVtdO2ZvcihyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPVtdLG89dC5fZnVsbERhdGFbZVtyXV0ueGF4aXMscz10Ll9mdWxsRGF0YVtlW3JdXS55YXhpcztpZihvJiZzKXtmb3Iobj0wO248YS5sZW5ndGg7bisrKS0xPT09YVtuXS54LmluZGV4T2YobykmJi0xPT09YVtuXS55LmluZGV4T2Yocyl8fGkucHVzaChuKTtpZihpLmxlbmd0aCl7dmFyIGwsYz1hW2lbMF1dO2lmKGkubGVuZ3RoPjEpZm9yKG49MTtuPGkubGVuZ3RoO24rKylsPWFbaVtuXV0sbnQoYy54LGwueCksbnQoYy55LGwueSk7bnQoYy54LFtvXSksbnQoYy55LFtzXSl9ZWxzZSBhLnB1c2goe3g6W29dLHk6W3NdfSl9fXJldHVybiBhfSh0LGUpLG49MDtuPHIubGVuZ3RoO24rKylhdCh0LHJbbl0ueCxyW25dLnkpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9jb21wb25lbnRzL3RpdGxlcyI6Njc5LCIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9wbG90cy9wbG90cyI6ODI2LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2F1dG9yYW5nZSI6NzY0LCIuL2F4aXNfYXV0b3R5cGUiOjc2NiwiLi9heGlzX2lkcyI6NzY4LCIuL2NsZWFuX3RpY2tzIjo3NzAsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi9zZXRfY29udmVydCI6NzgzLGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDc2NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIShyPXJ8fHt9KS5ub011bHRpQ2F0ZWdvcnkmJihvPXQsYS5pc0FycmF5T3JUeXBlZEFycmF5KG9bMF0pJiZhLmlzQXJyYXlPclR5cGVkQXJyYXkob1sxXSkpPyJtdWx0aWNhdGVnb3J5IjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1NYXRoLm1heCgxLCh0Lmxlbmd0aC0xKS8xZTMpLGk9MCxvPTAscz17fSxsPTA7bDx0Lmxlbmd0aDtsKz1yKXt2YXIgYz10W01hdGgucm91bmQobCldLHU9U3RyaW5nKGMpO3NbdV18fChzW3VdPTEsYS5pc0RhdGVUaW1lKGMsZSkmJihpKz0xKSxuKGMpJiYobys9MSkpfXJldHVybiBpPjIqb30odCxlKT8iZGF0ZSI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU1hdGgubWF4KDEsKHQubGVuZ3RoLTEpLzFlMykscj0wLG49MCxvPXt9LHM9MDtzPHQubGVuZ3RoO3MrPWUpe3ZhciBsPXRbTWF0aC5yb3VuZChzKV0sYz1TdHJpbmcobCk7b1tjXXx8KG9bY109MSwiYm9vbGVhbiI9PXR5cGVvZiBsP24rKzphLmNsZWFuTnVtYmVyKGwpIT09aT9yKys6InN0cmluZyI9PXR5cGVvZiBsJiZuKyspfXJldHVybiBuPjIqcn0odCk/ImNhdGVnb3J5IjpmdW5jdGlvbih0KXtpZighdClyZXR1cm4hMTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZihuKHRbZV0pKXJldHVybiEwO3JldHVybiExfSh0KT8ibGluZWFyIjoiLSI7dmFyIG99fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsImZhc3QtaXNudW1lcmljIjoyMjh9XSw3Njc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLG89dCgiLi90aWNrX3ZhbHVlX2RlZmF1bHRzIikscz10KCIuL3RpY2tfbWFya19kZWZhdWx0cyIpLGw9dCgiLi90aWNrX2xhYmVsX2RlZmF1bHRzIiksYz10KCIuL2NhdGVnb3J5X29yZGVyX2RlZmF1bHRzIiksdT10KCIuL2xpbmVfZ3JpZF9kZWZhdWx0cyIpLGg9dCgiLi9zZXRfY29udmVydCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixmLHApe3ZhciBkPWYubGV0dGVyLGc9Zi5mb250fHx7fSx2PWYuc3Bsb21TdGFzaHx8e30sbT1yKCJ2aXNpYmxlIiwhZi52aXNpYmxlRGZsdCkseT1lLnR5cGU7ImRhdGUiPT09eSYmbi5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsImhhbmRsZURlZmF1bHRzIikodCxlLCJjYWxlbmRhciIsZi5jYWxlbmRhcik7aChlLHApO3ZhciB4PSFlLmlzVmFsaWRSYW5nZSh0LnJhbmdlKTt4JiZmLnJldmVyc2VEZmx0JiYoeD0icmV2ZXJzZWQiKSwhcigiYXV0b3JhbmdlIix4KXx8ImxpbmVhciIhPT15JiYiLSIhPT15fHxyKCJyYW5nZW1vZGUiKSxyKCJyYW5nZSIpLGUuY2xlYW5SYW5nZSgpLGModCxlLHIsZiksImNhdGVnb3J5Ij09PXl8fGYubm9Ib3Zlcnx8cigiaG92ZXJmb3JtYXQiKTt2YXIgYj1yKCJjb2xvciIpLF89YiE9PWkuY29sb3IuZGZsdD9iOmcuY29sb3Isdz12LmxhYmVsfHxwLl9kZmx0VGl0bGVbZF07aWYobCh0LGUscix5LGYse3Bhc3M6MX0pLCFtKXJldHVybiBlO3IoInRpdGxlLnRleHQiLHcpLGEuY29lcmNlRm9udChyLCJ0aXRsZS5mb250Iix7ZmFtaWx5OmcuZmFtaWx5LHNpemU6TWF0aC5yb3VuZCgxLjIqZy5zaXplKSxjb2xvcjpffSksbyh0LGUscix5KSxsKHQsZSxyLHksZix7cGFzczoyfSkscyh0LGUscixmKSx1KHQsZSxyLHtkZmx0Q29sb3I6YixiZ0NvbG9yOmYuYmdDb2xvcixzaG93R3JpZDpmLnNob3dHcmlkLGF0dHJpYnV0ZXM6aX0pLChlLnNob3dsaW5lfHxlLnRpY2tzKSYmcigibWlycm9yIiksZi5hdXRvbWFyZ2luJiZyKCJhdXRvbWFyZ2luIik7dmFyIGssVD0ibXVsdGljYXRlZ29yeSI9PT1lLnR5cGU7Zi5ub1RpY2tzb258fCJjYXRlZ29yeSIhPT1lLnR5cGUmJiFUfHwhZS50aWNrcyYmIWUuc2hvd2dyaWR8fChUJiYoaz0iYm91bmRhcmllcyIpLHIoInRpY2tzb24iLGspKTtUJiYocigic2hvd2RpdmlkZXJzIikmJihyKCJkaXZpZGVyY29sb3IiKSxyKCJkaXZpZGVyd2lkdGgiKSkpO3JldHVybiBlfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9jYXRlZ29yeV9vcmRlcl9kZWZhdWx0cyI6NzY5LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo3NzcsIi4vbGluZV9ncmlkX2RlZmF1bHRzIjo3NzksIi4vc2V0X2NvbnZlcnQiOjc4MywiLi90aWNrX2xhYmVsX2RlZmF1bHRzIjo3ODQsIi4vdGlja19tYXJrX2RlZmF1bHRzIjo3ODUsIi4vdGlja192YWx1ZV9kZWZhdWx0cyI6Nzg2fV0sNzY4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IiksYT10KCIuL2NvbnN0YW50cyIpO3IuaWQybmFtZT1mdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJnQubWF0Y2goYS5BWF9JRF9QQVRURVJOKSl7dmFyIGU9dC5zdWJzdHIoMSk7cmV0dXJuIjEiPT09ZSYmKGU9IiIpLHQuY2hhckF0KDApKyJheGlzIitlfX0sci5uYW1lMmlkPWZ1bmN0aW9uKHQpe2lmKHQubWF0Y2goYS5BWF9OQU1FX1BBVFRFUk4pKXt2YXIgZT10LnN1YnN0cig1KTtyZXR1cm4iMSI9PT1lJiYoZT0iIiksdC5jaGFyQXQoMCkrZX19LHIuY2xlYW5JZD1mdW5jdGlvbih0LGUpe2lmKHQubWF0Y2goYS5BWF9JRF9QQVRURVJOKSYmKCFlfHx0LmNoYXJBdCgwKT09PWUpKXt2YXIgcj10LnN1YnN0cigxKS5yZXBsYWNlKC9eMCsvLCIiKTtyZXR1cm4iMSI9PT1yJiYocj0iIiksdC5jaGFyQXQoMCkrcn19LHIubGlzdD1mdW5jdGlvbih0LGUsbil7dmFyIGE9dC5fZnVsbExheW91dDtpZighYSlyZXR1cm5bXTt2YXIgaSxvPXIubGlzdElkcyh0LGUpLHM9bmV3IEFycmF5KG8ubGVuZ3RoKTtmb3IoaT0wO2k8by5sZW5ndGg7aSsrKXt2YXIgbD1vW2ldO3NbaV09YVtsLmNoYXJBdCgwKSsiYXhpcyIrbC5zdWJzdHIoMSldfWlmKCFuKXt2YXIgYz1hLl9zdWJwbG90cy5nbDNkfHxbXTtmb3IoaT0wO2k8Yy5sZW5ndGg7aSsrKXt2YXIgdT1hW2NbaV1dO2U/cy5wdXNoKHVbZSsiYXhpcyJdKTpzLnB1c2godS54YXhpcyx1LnlheGlzLHUuemF4aXMpfX1yZXR1cm4gc30sci5saXN0SWRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fZnVsbExheW91dDtpZighcilyZXR1cm5bXTt2YXIgbj1yLl9zdWJwbG90cztyZXR1cm4gZT9uW2UrImF4aXMiXTpuLnhheGlzLmNvbmNhdChuLnlheGlzKX0sci5nZXRGcm9tSWQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBhPXQuX2Z1bGxMYXlvdXQ7cmV0dXJuIngiPT09bj9lPWUucmVwbGFjZSgveVswLTldKi8sIiIpOiJ5Ij09PW4mJihlPWUucmVwbGFjZSgveFswLTldKi8sIiIpKSxhW3IuaWQybmFtZShlKV19LHIuZ2V0RnJvbVRyYWNlPWZ1bmN0aW9uKHQsZSxhKXt2YXIgaT10Ll9mdWxsTGF5b3V0LG89bnVsbDtpZihuLnRyYWNlSXMoZSwiZ2wzZCIpKXt2YXIgcz1lLnNjZW5lOyJzY2VuZSI9PT1zLnN1YnN0cigwLDUpJiYobz1pW3NdW2ErImF4aXMiXSl9ZWxzZSBvPXIuZ2V0RnJvbUlkKHQsZVthKyJheGlzIl18fGEpO3JldHVybiBvfSxyLmlkU29ydD1mdW5jdGlvbih0LGUpe3ZhciByPXQuY2hhckF0KDApLG49ZS5jaGFyQXQoMCk7cmV0dXJuIHIhPT1uP3I+bj8xOi0xOisodC5zdWJzdHIoMSl8fDEpLSsoZS5zdWJzdHIoMSl8fDEpfSxyLmdldEF4aXNHcm91cD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Ll9heGlzTWF0Y2hHcm91cHMsbj0wO248ci5sZW5ndGg7bisrKXtpZihyW25dW2VdKXJldHVybiJnIitufXJldHVybiBlfX0seyIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2NvbnN0YW50cyI6NzcxfV0sNzY5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtpZigiY2F0ZWdvcnkiPT09ZS50eXBlKXt2YXIgYSxpPXQuY2F0ZWdvcnlhcnJheSxvPUFycmF5LmlzQXJyYXkoaSkmJmkubGVuZ3RoPjA7byYmKGE9ImFycmF5Iik7dmFyIHMsbD1yKCJjYXRlZ29yeW9yZGVyIixhKTsiYXJyYXkiPT09bCYmKHM9cigiY2F0ZWdvcnlhcnJheSIpKSxvfHwiYXJyYXkiIT09bHx8KGw9ZS5jYXRlZ29yeW9yZGVyPSJ0cmFjZSIpLCJ0cmFjZSI9PT1sP2UuX2luaXRpYWxDYXRlZ29yaWVzPVtdOiJhcnJheSI9PT1sP2UuX2luaXRpYWxDYXRlZ29yaWVzPXMuc2xpY2UoKToocz1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpPWUuZGF0YUF0dHJ8fHQuX2lkLmNoYXJBdCgwKSxvPXt9O2lmKGUuYXhEYXRhKXI9ZS5heERhdGE7ZWxzZSBmb3Iocj1bXSxuPTA7bjxlLmRhdGEubGVuZ3RoO24rKyl7dmFyIHM9ZS5kYXRhW25dO3NbaSsiYXhpcyJdPT09dC5faWQmJnIucHVzaChzKX1mb3Iobj0wO248ci5sZW5ndGg7bisrKXt2YXIgbD1yW25dW2ldO2ZvcihhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBjPWxbYV07bnVsbCE9YyYmKG9bY109MSl9fXJldHVybiBPYmplY3Qua2V5cyhvKX0oZSxuKS5zb3J0KCksImNhdGVnb3J5IGFzY2VuZGluZyI9PT1sP2UuX2luaXRpYWxDYXRlZ29yaWVzPXM6ImNhdGVnb3J5IGRlc2NlbmRpbmciPT09bCYmKGUuX2luaXRpYWxDYXRlZ29yaWVzPXMucmV2ZXJzZSgpKSl9fX0se31dLDc3MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuT05FREFZO3IuZHRpY2s9ZnVuY3Rpb24odCxlKXt2YXIgcj0ibG9nIj09PWUsYT0iZGF0ZSI9PT1lLG89ImNhdGVnb3J5Ij09PWUscz1hP2k6MTtpZighdClyZXR1cm4gcztpZihuKHQpKXJldHVybih0PU51bWJlcih0KSk8PTA/czpvP01hdGgubWF4KDEsTWF0aC5yb3VuZCh0KSk6YT9NYXRoLm1heCguMSx0KTp0O2lmKCJzdHJpbmciIT10eXBlb2YgdHx8IWEmJiFyKXJldHVybiBzO3ZhciBsPXQuY2hhckF0KDApLGM9dC5zdWJzdHIoMSk7cmV0dXJuKGM9bihjKT9OdW1iZXIoYyk6MCk8PTB8fCEoYSYmIk0iPT09bCYmYz09PU1hdGgucm91bmQoYyl8fHImJiJMIj09PWx8fHImJiJEIj09PWwmJigxPT09Y3x8Mj09PWMpKT9zOnR9LHIudGljazA9ZnVuY3Rpb24odCxlLHIsaSl7cmV0dXJuImRhdGUiPT09ZT9hLmNsZWFuRGF0ZSh0LGEuZGF0ZVRpY2swKHIpKToiRDEiIT09aSYmIkQyIiE9PWk/bih0KT9OdW1iZXIodCk6MDp2b2lkIDB9fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsImZhc3QtaXNudW1lcmljIjoyMjh9XSw3NzE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliL3JlZ2V4IikuY291bnRlcjtlLmV4cG9ydHM9e2lkUmVnZXg6e3g6bigieCIpLHk6bigieSIpfSxhdHRyUmVnZXg6bigiW3h5XWF4aXMiKSx4QXhpc01hdGNoOm4oInhheGlzIikseUF4aXNNYXRjaDpuKCJ5YXhpcyIpLEFYX0lEX1BBVFRFUk46L15beHl6XVswLTldKiQvLEFYX05BTUVfUEFUVEVSTjovXlt4eXpdYXhpc1swLTldKiQvLFNVQlBMT1RfUEFUVEVSTjovXngoWzAtOV0qKXkoWzAtOV0qKSQvLE1JTkRSQUc6OCxNSU5TRUxFQ1Q6MTIsTUlOWk9PTToyMCxEUkFHR0VSU0laRToyMCxCRU5EUFg6MS41LFJFRFJBV0RFTEFZOjUwLFNFTEVDVERFTEFZOjEwMCxTRUxFQ1RJRDoiLXNlbGVjdCIsREZMVFJBTkdFWDpbLTEsNl0sREZMVFJBTkdFWTpbLTEsNF0sdHJhY2VMYXllckNsYXNzZXM6WyJpbWFnZWxheWVyIiwiaGVhdG1hcGxheWVyIiwiY29udG91cmNhcnBldGxheWVyIiwiY29udG91cmxheWVyIiwiZnVubmVsbGF5ZXIiLCJ3YXRlcmZhbGxsYXllciIsImJhcmxheWVyIiwiY2FycGV0bGF5ZXIiLCJ2aW9saW5sYXllciIsImJveGxheWVyIiwib2hsY2xheWVyIiwic2NhdHRlcmNhcnBldGxheWVyIiwic2NhdHRlcmxheWVyIl0sY2xpcE9uQXhpc0ZhbHNlUXVlcnk6WyIuc2NhdHRlcmxheWVyIiwiLmJhcmxheWVyIiwiLmZ1bm5lbGxheWVyIiwiLndhdGVyZmFsbGxheWVyIl0sbGF5ZXJWYWx1ZTJsYXllckNsYXNzOnsiYWJvdmUgdHJhY2VzIjoiYWJvdmUiLCJiZWxvdyB0cmFjZXMiOiJiZWxvdyJ9fX0seyIuLi8uLi9saWIvcmVnZXgiOjczM31dLDc3MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vYXhpc19pZHMiKS5pZDJuYW1lLGk9dCgiLi9zY2FsZV96b29tIiksbz10KCIuL2F1dG9yYW5nZSIpLm1ha2VQYWRGbixzPXQoIi4vYXV0b3JhbmdlIikuY29uY2F0RXh0cmVtZXMsbD10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQUxNT1NUX0VRVUFMLGM9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLkZST01fQkw7ZnVuY3Rpb24gdSh0LGUscixuLGkpe3ZhciBvLHMsbCxjLHU9InJhbmdlIiE9PWksaD1uW2EoZSldLnR5cGUsZj1bXTtmb3Iocz0wO3M8ci5sZW5ndGg7cysrKWlmKChsPXJbc10pIT09ZSYmKGM9blthKGwpXSkudHlwZT09PWgpaWYoYy5maXhlZHJhbmdlKXtpZih1JiZjLmFuY2hvcil7blthKGMuYW5jaG9yKV0uZml4ZWRyYW5nZSYmZi5wdXNoKGwpfX1lbHNlIGYucHVzaChsKTtmb3Iobz0wO288dC5sZW5ndGg7bysrKWlmKHRbb11bZV0pe3ZhciBwPXRbb10sZD1bXTtmb3Iocz0wO3M8Zi5sZW5ndGg7cysrKXBbbD1mW3NdXXx8ZC5wdXNoKGwpO3JldHVybntsaW5rYWJsZUF4ZXM6ZCx0aGlzR3JvdXA6cH19cmV0dXJue2xpbmthYmxlQXhlczpmLHRoaXNHcm91cDpudWxsfX1mdW5jdGlvbiBoKHQsZSxyLG4sYSl7dmFyIGksbyxzLGwsYztudWxsPT09ZT8oKGU9e30pW3JdPTEsYz10Lmxlbmd0aCx0LnB1c2goZSkpOmM9dC5pbmRleE9mKGUpO3ZhciB1PU9iamVjdC5rZXlzKGUpO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspaWYocz10W2ldLGkhPT1jJiZzW25dKXt2YXIgaD1zW25dO2ZvcihvPTA7bzx1Lmxlbmd0aDtvKyspc1tsPXVbb11dPWgqYSplW2xdO3JldHVybiB2b2lkIHQuc3BsaWNlKGMsMSl9aWYoMSE9PWEpZm9yKG89MDtvPHUubGVuZ3RoO28rKyllW3Vbb11dKj1hO2Vbbl09MX1mdW5jdGlvbiBmKHQsZSl7dmFyIHI9dC5faW5wdXREb21haW4sbj1jW3QuY29uc3RyYWludG93YXJkXSxhPXJbMF0rKHJbMV0tclswXSkqbjt0LmRvbWFpbj10Ll9pbnB1dC5kb21haW49W2ErKHJbMF0tYSkvZSxhKyhyWzFdLWEpL2VdLHQuc2V0U2NhbGUoKX1yLmhhbmRsZUNvbnN0cmFpbnREZWZhdWx0cz1mdW5jdGlvbih0LGUscixhKXt2YXIgaSxvLHMsbCxjPWEuYWxsQXhpc0lkcyxmPWEubGF5b3V0T3V0LHA9YS5zY2FsZWFuY2hvckRmbHQsZD1hLmNvbnN0cmFpbkRmbHQsZz1mLl9heGlzQ29uc3RyYWludEdyb3Vwcyx2PWYuX2F4aXNNYXRjaEdyb3VwcyxtPWUuX2lkLHk9bS5jaGFyQXQoMCkseD0oKGYuX3NwbG9tQXhlc3x8e30pW3ldfHx7fSlbbV18fHt9LGI9ZS5faWQsXz1iLmNoYXJBdCgwKSx3PXIoImNvbnN0cmFpbiIsZCk7aWYobi5jb2VyY2UodCxlLHtjb25zdHJhaW50b3dhcmQ6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczoieCI9PT1fP1sibGVmdCIsImNlbnRlciIsInJpZ2h0Il06WyJib3R0b20iLCJtaWRkbGUiLCJ0b3AiXSxkZmx0OiJ4Ij09PV8/ImNlbnRlciI6Im1pZGRsZSJ9fSwiY29uc3RyYWludG93YXJkIiksIXQubWF0Y2hlcyYmIXgubWF0Y2hlc3x8ZS5maXhlZHJhbmdlfHwobz11KHYsYixjLGYpLGk9bi5jb2VyY2UodCxlLHttYXRjaGVzOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6by5saW5rYWJsZUF4ZXN8fFtdLGRmbHQ6eC5tYXRjaGVzfX0sIm1hdGNoZXMiKSksaXx8ZS5maXhlZHJhbmdlJiYiZG9tYWluIiE9PXd8fCF0LnNjYWxlYW5jaG9yJiYhcHx8KGw9dShnLGIsYyxmLHcpLHM9bi5jb2VyY2UodCxlLHtzY2FsZWFuY2hvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOmwubGlua2FibGVBeGVzfHxbXX19LCJzY2FsZWFuY2hvciIscCkpLGk/KGRlbGV0ZSBlLmNvbnN0cmFpbixoKHYsby50aGlzR3JvdXAsYixpLDEpKTotMSE9PWMuaW5kZXhPZih0Lm1hdGNoZXMpJiZuLndhcm4oImlnbm9yZWQgIitlLl9uYW1lKycubWF0Y2hlczogIicrdC5tYXRjaGVzKyciIHRvIGF2b2lkIGVpdGhlciBhbiBpbmZpbml0ZSBsb29wIG9yIGJlY2F1c2UgdGhlIHRhcmdldCBheGlzIGhhcyBmaXhlZCByYW5nZS4nKSxzKXt2YXIgaz1yKCJzY2FsZXJhdGlvIik7a3x8KGs9ZS5zY2FsZXJhdGlvPTEpLGgoZyxsLnRoaXNHcm91cCxiLHMsayl9ZWxzZS0xIT09Yy5pbmRleE9mKHQuc2NhbGVhbmNob3IpJiZuLndhcm4oImlnbm9yZWQgIitlLl9uYW1lKycuc2NhbGVhbmNob3I6ICInK3Quc2NhbGVhbmNob3IrJyIgdG8gYXZvaWQgZWl0aGVyIGFuIGluZmluaXRlIGxvb3AgYW5kIHBvc3NpYmx5IGluY29uc2lzdGVudCBzY2FsZXJhdGlvcywgb3IgYmVjYXVzZSB0aGUgdGFyZ2V0IGF4aXMgaGFzIGZpeGVkIHJhbmdlIG9yIHRoaXMgYXhpcyBkZWNsYXJlcyBhICptYXRjaGVzKiBjb25zdHJhaW50LicpfSxyLmVuZm9yY2U9ZnVuY3Rpb24odCl7dmFyIGUscixuLGMsdSxoLHAsZD10Ll9mdWxsTGF5b3V0LGc9ZC5fYXhpc0NvbnN0cmFpbnRHcm91cHN8fFtdO2ZvcihlPTA7ZTxnLmxlbmd0aDtlKyspe3ZhciB2PWdbZV0sbT1PYmplY3Qua2V5cyh2KSx5PTEvMCx4PTAsYj0xLzAsXz17fSx3PXt9LGs9ITE7Zm9yKHI9MDtyPG0ubGVuZ3RoO3IrKyl3W249bVtyXV09Yz1kW2EobildLGMuX2lucHV0RG9tYWluP2MuZG9tYWluPWMuX2lucHV0RG9tYWluLnNsaWNlKCk6Yy5faW5wdXREb21haW49Yy5kb21haW4uc2xpY2UoKSxjLl9pbnB1dFJhbmdlfHwoYy5faW5wdXRSYW5nZT1jLnJhbmdlLnNsaWNlKCkpLGMuc2V0U2NhbGUoKSxfW25dPXU9TWF0aC5hYnMoYy5fbSkvdltuXSx5PU1hdGgubWluKHksdSksImRvbWFpbiIhPT1jLmNvbnN0cmFpbiYmYy5fY29uc3RyYWludFNocmlua2FibGV8fChiPU1hdGgubWluKGIsdSkpLGRlbGV0ZSBjLl9jb25zdHJhaW50U2hyaW5rYWJsZSx4PU1hdGgubWF4KHgsdSksImRvbWFpbiI9PT1jLmNvbnN0cmFpbiYmKGs9ITApO2lmKCEoeT5sKngpfHxrKWZvcihyPTA7cjxtLmxlbmd0aDtyKyspaWYodT1fW249bVtyXV0saD0oYz13W25dKS5jb25zdHJhaW4sdSE9PWJ8fCJkb21haW4iPT09aClpZihwPXUvYiwicmFuZ2UiPT09aClpKGMscCk7ZWxzZXt2YXIgVD1jLl9pbnB1dERvbWFpbixNPShjLmRvbWFpblsxXS1jLmRvbWFpblswXSkvKFRbMV0tVFswXSksQT0oYy5yMmwoYy5yYW5nZVsxXSktYy5yMmwoYy5yYW5nZVswXSkpLyhjLnIybChjLl9pbnB1dFJhbmdlWzFdKS1jLnIybChjLl9pbnB1dFJhbmdlWzBdKSk7aWYoKHAvPU0pKkE8MSl7Yy5kb21haW49Yy5faW5wdXQuZG9tYWluPVQuc2xpY2UoKSxpKGMscCk7Y29udGludWV9aWYoQTwxJiYoYy5yYW5nZT1jLl9pbnB1dC5yYW5nZT1jLl9pbnB1dFJhbmdlLnNsaWNlKCkscCo9QSksYy5hdXRvcmFuZ2Upe3ZhciBTPWMucjJsKGMucmFuZ2VbMF0pLEU9Yy5yMmwoYy5yYW5nZVsxXSksTD0oUytFKS8yLEM9TCxQPUwsTz1NYXRoLmFicyhFLUwpLHo9TC1PKnAqMS4wMDAxLEk9TCtPKnAqMS4wMDAxLEQ9byhjKTtmKGMscCk7dmFyIFIsRixCPU1hdGguYWJzKGMuX20pLE49cyh0LGMpLGo9Ti5taW4sVj1OLm1heDtmb3IoRj0wO0Y8ai5sZW5ndGg7RisrKShSPWpbRl0udmFsLUQoaltGXSkvQik+eiYmUjxDJiYoQz1SKTtmb3IoRj0wO0Y8Vi5sZW5ndGg7RisrKShSPVZbRl0udmFsK0QoVltGXSkvQik8SSYmUj5QJiYoUD1SKTtwLz0oUC1DKS8oMipPKSxDPWMubDJyKEMpLFA9Yy5sMnIoUCksYy5yYW5nZT1jLl9pbnB1dC5yYW5nZT1TPEU/W0MsUF06W1AsQ119ZihjLHApfX19LHIuY2xlYW49ZnVuY3Rpb24odCxlKXtpZihlLl9pbnB1dERvbWFpbil7Zm9yKHZhciByPSExLG49ZS5faWQsYT10Ll9mdWxsTGF5b3V0Ll9heGlzQ29uc3RyYWludEdyb3VwcyxpPTA7aTxhLmxlbmd0aDtpKyspaWYoYVtpXVtuXSl7cj0hMDticmVha31yJiYiZG9tYWluIj09PWUuY29uc3RyYWlufHwoZS5faW5wdXQuZG9tYWluPWUuZG9tYWluPWUuX2lucHV0RG9tYWluLGRlbGV0ZSBlLl9pbnB1dERvbWFpbil9fX0seyIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsIi4vYXV0b3JhbmdlIjo3NjQsIi4vYXhpc19pZHMiOjc2OCwiLi9zY2FsZV96b29tIjo3ODF9XSw3NzM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoInRpbnljb2xvcjIiKSxpPXQoImhhcy1wYXNzaXZlLWV2ZW50cyIpLG89dCgiLi4vLi4vcmVnaXN0cnkiKSxzPXQoIi4uLy4uL2xpYiIpLGw9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksYz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksdT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxoPXQoIi4uLy4uL2NvbXBvbmVudHMvZngiKSxmPXQoIi4vYXhlcyIpLHA9dCgiLi4vLi4vbGliL3NldGN1cnNvciIpLGQ9dCgiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCIpLGc9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLkZST01fVEwsdj10KCIuLi8uLi9saWIvY2xlYXJfZ2xfY2FudmFzZXMiKSxtPXQoIi4uLy4uL3Bsb3RfYXBpL3N1YnJvdXRpbmVzIikucmVkcmF3UmVnbFRyYWNlcyx5PXQoIi4uL3Bsb3RzIikseD10KCIuL2F4aXNfaWRzIikuZ2V0RnJvbUlkLGI9dCgiLi9zZWxlY3QiKS5wcmVwU2VsZWN0LF89dCgiLi9zZWxlY3QiKS5jbGVhclNlbGVjdCx3PXQoIi4vc2VsZWN0Iikuc2VsZWN0T25DbGljayxrPXQoIi4vc2NhbGVfem9vbSIpLFQ9dCgiLi9jb25zdGFudHMiKSxNPVQuTUlORFJBRyxBPVQuTUlOWk9PTSxTPSEwO2Z1bmN0aW9uIEUodCxlLHIsbil7dmFyIGE9cy5lbnN1cmVTaW5nbGUodC5kcmFnbGF5ZXIsZSxyLGZ1bmN0aW9uKGUpe2UuY2xhc3NlZCgiZHJhZyIsITApLnN0eWxlKHtmaWxsOiJ0cmFuc3BhcmVudCIsInN0cm9rZS13aWR0aCI6MH0pLmF0dHIoImRhdGEtc3VicGxvdCIsdC5pZCl9KTtyZXR1cm4gYS5jYWxsKHAsbiksYS5ub2RlKCl9ZnVuY3Rpb24gTCh0LGUscixhLGksbyxzKXt2YXIgbD1FKHQsInJlY3QiLGUscik7cmV0dXJuIG4uc2VsZWN0KGwpLmNhbGwodS5zZXRSZWN0LGEsaSxvLHMpLGx9ZnVuY3Rpb24gQyh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKCF0W3JdLmZpeGVkcmFuZ2UpcmV0dXJuIGU7cmV0dXJuIiJ9ZnVuY3Rpb24gUCh0LGUscixuLGEpe2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10W2ldO2lmKCFvLmZpeGVkcmFuZ2Upe3ZhciBzPW8uX3JsWzBdLGw9by5fcmxbMV0tcztuW28uX25hbWUrIi5yYW5nZVswXSJdPW8ubDJyKHMrbCplKSxuW28uX25hbWUrIi5yYW5nZVsxXSJdPW8ubDJyKHMrbCpyKX19aWYoYSYmYS5sZW5ndGgpe3ZhciBjPShlKygxLXIpKS8yO1AoYSxjLDEtYyxuLFtdKX19ZnVuY3Rpb24gTyh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10W3JdO24uZml4ZWRyYW5nZXx8KG4ucmFuZ2U9W24ubDJyKG4uX3JsWzBdLWUvbi5fbSksbi5sMnIobi5fcmxbMV0tZS9uLl9tKV0pfX1mdW5jdGlvbiB6KHQpe3JldHVybiAxLSh0Pj0wP01hdGgubWluKHQsLjkpOjEvKDEvTWF0aC5tYXgodCwtLjMpKzMuMjIyKSl9ZnVuY3Rpb24gSSh0LGUscixuLGEpe3JldHVybiB0LmFwcGVuZCgicGF0aCIpLmF0dHIoImNsYXNzIiwiem9vbWJveCIpLnN0eWxlKHtmaWxsOmU+LjI/InJnYmEoMCwwLDAsMCkiOiJyZ2JhKDI1NSwyNTUsMjU1LDApIiwic3Ryb2tlLXdpZHRoIjowfSkuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrcisiLCAiK24rIikiKS5hdHRyKCJkIixhKyJaIil9ZnVuY3Rpb24gRCh0LGUscil7cmV0dXJuIHQuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJ6b29tYm94LWNvcm5lcnMiKS5zdHlsZSh7ZmlsbDpjLmJhY2tncm91bmQsc3Ryb2tlOmMuZGVmYXVsdExpbmUsInN0cm9rZS13aWR0aCI6MSxvcGFjaXR5OjB9KS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitlKyIsICIrcisiKSIpLmF0dHIoImQiLCJNMCwwWiIpfWZ1bmN0aW9uIFIodCxlLHIsbixhLGkpe3QuYXR0cigiZCIsbisiTSIrci5sKyIsIityLnQrInYiK3IuaCsiaCIrci53KyJ2LSIrci5oKyJoLSIrci53KyJaIiksRih0LGUsYSxpKX1mdW5jdGlvbiBGKHQsZSxyLG4pe3J8fCh0LnRyYW5zaXRpb24oKS5zdHlsZSgiZmlsbCIsbj4uMj8icmdiYSgwLDAsMCwwLjQpIjoicmdiYSgyNTUsMjU1LDI1NSwwLjMpIikuZHVyYXRpb24oMjAwKSxlLnRyYW5zaXRpb24oKS5zdHlsZSgib3BhY2l0eSIsMSkuZHVyYXRpb24oMjAwKSl9ZnVuY3Rpb24gQih0KXtuLnNlbGVjdCh0KS5zZWxlY3RBbGwoIi56b29tYm94LC5qcy16b29tYm94LWJhY2tkcm9wLC5qcy16b29tYm94LW1lbnUsLnpvb21ib3gtY29ybmVycyIpLnJlbW92ZSgpfWZ1bmN0aW9uIE4odCl7UyYmdC5kYXRhJiZ0Ll9jb250ZXh0LnNob3dUaXBzJiYocy5ub3RpZmllcihzLl8odCwiRG91YmxlLWNsaWNrIHRvIHpvb20gYmFjayBvdXQiKSwibG9uZyIpLFM9ITEpfWZ1bmN0aW9uIGoodCl7cmV0dXJuImxhc3NvIj09PXR8fCJzZWxlY3QiPT09dH1mdW5jdGlvbiBWKHQpe3ZhciBlPU1hdGguZmxvb3IoTWF0aC5taW4odC5iLXQudCx0LnItdC5sLEEpLzIpO3JldHVybiJNIisodC5sLTMuNSkrIiwiKyh0LnQtLjUrZSkrImgzdiIrLWUrImgiK2UrInYtM2gtIisoZSszKSsiWk0iKyh0LnIrMy41KSsiLCIrKHQudC0uNStlKSsiaC0zdiIrLWUrImgiKy1lKyJ2LTNoIisoZSszKSsiWk0iKyh0LnIrMy41KSsiLCIrKHQuYisuNS1lKSsiaC0zdiIrZSsiaCIrLWUrInYzaCIrKGUrMykrIlpNIisodC5sLTMuNSkrIiwiKyh0LmIrLjUtZSkrImgzdiIrZSsiaCIrZSsidjNoLSIrKGUrMykrIloifWZ1bmN0aW9uIFUodCxlLHIsbil7Zm9yKHZhciBhLGksbyxsLGM9ITEsdT17fSxoPXt9LGY9MDtmPGUubGVuZ3RoO2YrKyl7dmFyIHA9ZVtmXTtmb3IoYSBpbiByKWlmKHBbYV0pe2ZvcihvIGluIHApKCJ4Ij09PW8uY2hhckF0KDApP3I6bilbb118fCh1W29dPWEpO2ZvcihpIGluIG4pcFtpXSYmKGM9ITApfWZvcihpIGluIG4paWYocFtpXSlmb3IobCBpbiBwKSgieCI9PT1sLmNoYXJBdCgwKT9yOm4pW2xdfHwoaFtsXT1pKX1jJiYocy5leHRlbmRGbGF0KHUsaCksaD17fSk7dmFyIGQ9e30sZz1bXTtmb3IobyBpbiB1KXt2YXIgdj14KHQsbyk7Zy5wdXNoKHYpLGRbdi5faWRdPXZ9dmFyIG09e30seT1bXTtmb3IobCBpbiBoKXt2YXIgYj14KHQsbCk7eS5wdXNoKGIpLG1bYi5faWRdPWJ9cmV0dXJue3hhSGFzaDpkLHlhSGFzaDptLHhheGVzOmcseWF4ZXM6eSx4TGlua3M6dSx5TGlua3M6aCxpc1N1YnBsb3RDb25zdHJhaW5lZDpjfX1mdW5jdGlvbiBxKHQsZSl7aWYoaSl7dmFyIHI9dm9pZCAwIT09dC5vbndoZWVsPyJ3aGVlbCI6Im1vdXNld2hlZWwiO3QuX29ud2hlZWwmJnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihyLHQuX29ud2hlZWwpLHQuX29ud2hlZWw9ZSx0LmFkZEV2ZW50TGlzdGVuZXIocixlLHtwYXNzaXZlOiExfSl9ZWxzZSB2b2lkIDAhPT10Lm9ud2hlZWw/dC5vbndoZWVsPWU6dm9pZCAwIT09dC5vbm1vdXNld2hlZWwmJih0Lm9ubW91c2V3aGVlbD1lKX1mdW5jdGlvbiBIKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaCh0W3JdKTtyZXR1cm4gZX1lLmV4cG9ydHM9e21ha2VEcmFnQm94OmZ1bmN0aW9uKHQsZSxyLGksYyxwLFMsRSl7dmFyIEYsRyxZLFcsWCxaLEosSyxRLCQsdHQsZXQscnQsbnQsYXQsaXQsb3Qsc3QsbHQsY3QsdXQsaHQ9dC5fZnVsbExheW91dC5fem9vbWxheWVyLGZ0PVMrRT09PSJuc2V3IixwdD0xPT09KFMrRSkubGVuZ3RoO2Z1bmN0aW9uIGR0KCl7aWYoRj1lLnhheGlzLEc9ZS55YXhpcyxRPUYuX2xlbmd0aCwkPUcuX2xlbmd0aCxKPUYuX29mZnNldCxLPUcuX29mZnNldCwoWT17fSlbRi5faWRdPUYsKFc9e30pW0cuX2lkXT1HLFMmJkUpZm9yKHZhciByPWUub3ZlcmxheXMsbj0wO248ci5sZW5ndGg7bisrKXt2YXIgYT1yW25dLnhheGlzO1lbYS5faWRdPWE7dmFyIGk9cltuXS55YXhpcztXW2kuX2lkXT1pfVg9SChZKSxaPUgoVykscnQ9QyhYLEUpLG50PUMoWixTKSxhdD0hbnQmJiFydCx0dD1VKHQsdC5fZnVsbExheW91dC5fYXhpc0NvbnN0cmFpbnRHcm91cHMsWSxXKSxldD1VKHQsdC5fZnVsbExheW91dC5fYXhpc01hdGNoR3JvdXBzLFksVyksaXQ9RXx8dHQuaXNTdWJwbG90Q29uc3RyYWluZWR8fGV0LmlzU3VicGxvdENvbnN0cmFpbmVkLG90PVN8fHR0LmlzU3VicGxvdENvbnN0cmFpbmVkfHxldC5pc1N1YnBsb3RDb25zdHJhaW5lZDt2YXIgbz10Ll9mdWxsTGF5b3V0O3N0PW8uX2hhcygic2NhdHRlcmdsIiksbHQ9by5faGFzKCJzcGxvbSIpLGN0PW8uX2hhcygic3ZnIil9ZHQoKTt2YXIgZ3Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PyJuc2V3Ij09PXQ/cj8iIjoicGFuIj09PWU/Im1vdmUiOiJjcm9zc2hhaXIiOnQudG9Mb3dlckNhc2UoKSsiLXJlc2l6ZSI6InBvaW50ZXIifShudCtydCx0Ll9mdWxsTGF5b3V0LmRyYWdtb2RlLGZ0KSx2dD1MKGUsUytFKyJkcmFnIixndCxyLGksYyxwKTtpZihhdCYmIWZ0KXJldHVybiB2dC5vbm1vdXNlZG93bj1udWxsLHZ0LnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLHZ0O3ZhciBtdCx5dCx4dCxidCxfdCx3dCxrdCxUdCxNdCxBdCxTdD17ZWxlbWVudDp2dCxnZDp0LHBsb3RpbmZvOmV9O2Z1bmN0aW9uIEV0KCl7U3QucGxvdGluZm8uc2VsZWN0aW9uPSExLF8odCl9ZnVuY3Rpb24gTHQocixhKXt2YXIgaT10Ll9mdWxsTGF5b3V0LmNsaWNrbW9kZTtpZihCKHQpLDIhPT1yfHxwdHx8ZnVuY3Rpb24oKXtpZighdC5fdHJhbnNpdGlvbmluZ1dpdGhEdXJhdGlvbil7dmFyIGU9dC5fY29udGV4dC5kb3VibGVDbGljayxyPVtdO3J0JiYocj1yLmNvbmNhdChYKSksbnQmJihyPXIuY29uY2F0KFopKSxldC54YXhlcyYmKHI9ci5jb25jYXQoZXQueGF4ZXMpKSxldC55YXhlcyYmKHI9ci5jb25jYXQoZXQueWF4ZXMpKTt2YXIgbixhLGkscz17fTtpZigicmVzZXQrYXV0b3NpemUiPT09ZSlmb3IoZT0iYXV0b3NpemUiLGE9MDthPHIubGVuZ3RoO2ErKylpZigobj1yW2FdKS5fcmFuZ2VJbml0aWFsJiYobi5yYW5nZVswXSE9PW4uX3JhbmdlSW5pdGlhbFswXXx8bi5yYW5nZVsxXSE9PW4uX3JhbmdlSW5pdGlhbFsxXSl8fCFuLl9yYW5nZUluaXRpYWwmJiFuLmF1dG9yYW5nZSl7ZT0icmVzZXQiO2JyZWFrfWlmKCJhdXRvc2l6ZSI9PT1lKWZvcihhPTA7YTxyLmxlbmd0aDthKyspKG49clthXSkuZml4ZWRyYW5nZXx8KHNbbi5fbmFtZSsiLmF1dG9yYW5nZSJdPSEwKTtlbHNlIGlmKCJyZXNldCI9PT1lKWZvcigocnR8fHR0LmlzU3VicGxvdENvbnN0cmFpbmVkKSYmKHI9ci5jb25jYXQodHQueGF4ZXMpKSxudCYmIXR0LmlzU3VicGxvdENvbnN0cmFpbmVkJiYocj1yLmNvbmNhdCh0dC55YXhlcykpLHR0LmlzU3VicGxvdENvbnN0cmFpbmVkJiYocnQ/bnR8fChyPXIuY29uY2F0KFopKTpyPXIuY29uY2F0KFgpKSxhPTA7YTxyLmxlbmd0aDthKyspKG49clthXSkuZml4ZWRyYW5nZXx8KG4uX3JhbmdlSW5pdGlhbD8oaT1uLl9yYW5nZUluaXRpYWwsc1tuLl9uYW1lKyIucmFuZ2VbMF0iXT1pWzBdLHNbbi5fbmFtZSsiLnJhbmdlWzFdIl09aVsxXSk6c1tuLl9uYW1lKyIuYXV0b3JhbmdlIl09ITApO3QuZW1pdCgicGxvdGx5X2RvdWJsZWNsaWNrIixudWxsKSxvLmNhbGwoIl9ndWlSZWxheW91dCIsdCxzKX19KCksZnQpaS5pbmRleE9mKCJzZWxlY3QiKT4tMSYmdyhhLHQsWCxaLGUuaWQsU3QpLGkuaW5kZXhPZigiZXZlbnQiKT4tMSYmaC5jbGljayh0LGEsZS5pZCk7ZWxzZSBpZigxPT09ciYmcHQpe3ZhciBzPVM/RzpGLGM9InMiPT09U3x8InciPT09RT8wOjEsdT1zLl9uYW1lKyIucmFuZ2VbIitjKyJdIixmPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYT10LnJhbmdlW2VdLGk9TWF0aC5hYnMoYS10LnJhbmdlWzEtZV0pO3JldHVybiJkYXRlIj09PXQudHlwZT9hOiJsb2ciPT09dC50eXBlPyhyPU1hdGguY2VpbChNYXRoLm1heCgwLC1NYXRoLmxvZyhpKS9NYXRoLkxOMTApKSszLG4uZm9ybWF0KCIuIityKyJnIikoTWF0aC5wb3coMTAsYSkpKToocj1NYXRoLmZsb29yKE1hdGgubG9nKE1hdGguYWJzKGEpKS9NYXRoLkxOMTApLU1hdGguZmxvb3IoTWF0aC5sb2coaSkvTWF0aC5MTjEwKSs0LG4uZm9ybWF0KCIuIitTdHJpbmcocikrImciKShhKSl9KHMsYykscD0ibGVmdCIsZD0ibWlkZGxlIjtpZihzLmZpeGVkcmFuZ2UpcmV0dXJuO1M/KGQ9Im4iPT09Uz8idG9wIjoiYm90dG9tIiwicmlnaHQiPT09cy5zaWRlJiYocD0icmlnaHQiKSk6ImUiPT09RSYmKHA9InJpZ2h0IiksdC5fY29udGV4dC5zaG93QXhpc1JhbmdlRW50cnlCb3hlcyYmbi5zZWxlY3QodnQpLmNhbGwobC5tYWtlRWRpdGFibGUse2dkOnQsaW1tZWRpYXRlOiEwLGJhY2tncm91bmQ6dC5fZnVsbExheW91dC5wYXBlcl9iZ2NvbG9yLHRleHQ6U3RyaW5nKGYpLGZpbGw6cy50aWNrZm9udD9zLnRpY2tmb250LmNvbG9yOiIjNDQ0Iixob3Jpem9udGFsQWxpZ246cCx2ZXJ0aWNhbEFsaWduOmR9KS5vbigiZWRpdCIsZnVuY3Rpb24oZSl7dmFyIHI9cy5kMnIoZSk7dm9pZCAwIT09ciYmby5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQsdSxyKX0pfX1mdW5jdGlvbiBDdChlLHIpe2lmKHQuX3RyYW5zaXRpb25pbmdXaXRoRHVyYXRpb24pcmV0dXJuITE7dmFyIG49TWF0aC5tYXgoMCxNYXRoLm1pbihRLGUrbXQpKSxhPU1hdGgubWF4KDAsTWF0aC5taW4oJCxyK3l0KSksaT1NYXRoLmFicyhuLW10KSxvPU1hdGguYWJzKGEteXQpO2Z1bmN0aW9uIHMoKXtrdD0iIix4dC5yPXh0LmwseHQudD14dC5iLE10LmF0dHIoImQiLCJNMCwwWiIpfWlmKHh0Lmw9TWF0aC5taW4obXQsbikseHQucj1NYXRoLm1heChtdCxuKSx4dC50PU1hdGgubWluKHl0LGEpLHh0LmI9TWF0aC5tYXgoeXQsYSksdHQuaXNTdWJwbG90Q29uc3RyYWluZWQpaT5BfHxvPkE/KGt0PSJ4eSIsaS9RPm8vJD8obz1pKiQvUSx5dD5hP3h0LnQ9eXQtbzp4dC5iPXl0K28pOihpPW8qUS8kLG10Pm4/eHQubD1tdC1pOnh0LnI9bXQraSksTXQuYXR0cigiZCIsVih4dCkpKTpzKCk7ZWxzZSBpZihldC5pc1N1YnBsb3RDb25zdHJhaW5lZClpZihpPkF8fG8+QSl7a3Q9Inh5Ijt2YXIgbD1NYXRoLm1pbih4dC5sL1EsKCQteHQuYikvJCksYz1NYXRoLm1heCh4dC5yL1EsKCQteHQudCkvJCk7eHQubD1sKlEseHQucj1jKlEseHQuYj0oMS1sKSokLHh0LnQ9KDEtYykqJCxNdC5hdHRyKCJkIixWKHh0KSl9ZWxzZSBzKCk7ZWxzZSFudHx8bzxNYXRoLm1pbihNYXRoLm1heCguNippLE0pLEEpP2k8TXx8IXJ0P3MoKTooeHQudD0wLHh0LmI9JCxrdD0ieCIsTXQuYXR0cigiZCIsZnVuY3Rpb24odCxlKXtyZXR1cm4iTSIrKHQubC0uNSkrIiwiKyhlLUEtLjUpKyJoLTN2IisoMipBKzEpKyJoM1pNIisodC5yKy41KSsiLCIrKGUtQS0uNSkrImgzdiIrKDIqQSsxKSsiaC0zWiJ9KHh0LHl0KSkpOiFydHx8aTxNYXRoLm1pbiguNipvLEEpPyh4dC5sPTAseHQucj1RLGt0PSJ5IixNdC5hdHRyKCJkIixmdW5jdGlvbih0LGUpe3JldHVybiJNIisoZS1BLS41KSsiLCIrKHQudC0uNSkrInYtM2giKygyKkErMSkrInYzWk0iKyhlLUEtLjUpKyIsIisodC5iKy41KSsidjNoIisoMipBKzEpKyJ2LTNaIn0oeHQsbXQpKSk6KGt0PSJ4eSIsTXQuYXR0cigiZCIsVih4dCkpKTt4dC53PXh0LnIteHQubCx4dC5oPXh0LmIteHQudCxrdCYmKEF0PSEwKSx0Ll9kcmFnZ2VkPUF0LFIoVHQsTXQseHQsX3Qsd3QsYnQpLFB0KCksdC5lbWl0KCJwbG90bHlfcmVsYXlvdXRpbmciLHV0KSx3dD0hMH1mdW5jdGlvbiBQdCgpe3V0PXt9LCJ4eSIhPT1rdCYmIngiIT09a3R8fChQKFgseHQubC9RLHh0LnIvUSx1dCx0dC54YXhlcyksQnQoIngiLHV0KSksInh5IiE9PWt0JiYieSIhPT1rdHx8KFAoWiwoJC14dC5iKS8kLCgkLXh0LnQpLyQsdXQsdHQueWF4ZXMpLEJ0KCJ5Iix1dCkpfWZ1bmN0aW9uIE90KCl7UHQoKSxCKHQpLGp0KCksTih0KX1TdC5wcmVwRm49ZnVuY3Rpb24oZSxyLG4pe3ZhciBpPVN0LmRyYWdtb2RlLG89dC5fZnVsbExheW91dC5kcmFnbW9kZTtvIT09aSYmKFN0LmRyYWdtb2RlPW8pLGR0KCksYXR8fChmdD9lLnNoaWZ0S2V5PyJwYW4iPT09bz9vPSJ6b29tIjpqKG8pfHwobz0icGFuIik6ZS5jdHJsS2V5JiYobz0icGFuIik6bz0icGFuIiksU3QubWluRHJhZz0ibGFzc28iPT09bz8xOnZvaWQgMCxqKG8pPyhTdC54YXhlcz1YLFN0LnlheGVzPVosYihlLHIsbixTdCxvKSk6KFN0LmNsaWNrRm49THQsaihpKSYmRXQoKSxhdHx8KCJ6b29tIj09PW8/KFN0Lm1vdmVGbj1DdCxTdC5kb25lRm49T3QsU3QubWluRHJhZz0xLGZ1bmN0aW9uKGUscixuKXt2YXIgaT12dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTttdD1yLWkubGVmdCx5dD1uLWkudG9wLHh0PXtsOm10LHI6bXQsdzowLHQ6eXQsYjp5dCxoOjB9LGJ0PXQuX2htcGl4Y291bnQ/dC5faG1sdW1jb3VudC90Ll9obXBpeGNvdW50OmEodC5fZnVsbExheW91dC5wbG90X2JnY29sb3IpLmdldEx1bWluYW5jZSgpLHd0PSExLGt0PSJ4eSIsQXQ9ITEsVHQ9SShodCxidCxKLEssX3Q9Ik0wLDBIIitRKyJWIiskKyJIMFYwIiksTXQ9RChodCxKLEspfSgwLHIsbikpOiJwYW4iPT09byYmKFN0Lm1vdmVGbj1GdCxTdC5kb25lRm49anQpKSksdC5fZnVsbExheW91dC5fcmVkcmFnPWZ1bmN0aW9uKCl7dmFyIGU9dC5fZHJhZ2RhdGE7ZSYmZS5lbGVtZW50PT09dnQmJihqKHQuX2Z1bGxMYXlvdXQuZHJhZ21vZGUpfHwoZHQoKSxWdChbMCwwLFEsJF0pLFN0Lm1vdmVGbihlLmR4LGUuZHkpKSl9fSxkLmluaXQoU3QpO3ZhciB6dD1bMCwwLFEsJF0sSXQ9bnVsbCxEdD1ULlJFRFJBV0RFTEFZLFJ0PWUubWFpbnBsb3Q/dC5fZnVsbExheW91dC5fcGxvdHNbZS5tYWlucGxvdF06ZTtmdW5jdGlvbiBGdChlLHIpe2lmKCF0Ll90cmFuc2l0aW9uaW5nV2l0aER1cmF0aW9uKXtpZih0Ll9mdWxsTGF5b3V0Ll9yZXBsb3R0aW5nPSEwLCJldyI9PT1ydHx8Im5zIj09PW50KXJldHVybiBydCYmKE8oWCxlKSxCdCgieCIpKSxudCYmKE8oWixyKSxCdCgieSIpKSxWdChbcnQ/LWU6MCxudD8tcjowLFEsJF0pLE50KCksdm9pZCB0LmVtaXQoInBsb3RseV9yZWxheW91dGluZyIsdXQpO2lmKHR0LmlzU3VicGxvdENvbnN0cmFpbmVkJiZydCYmbnQpe3ZhciBuPSJ3Ij09PXJ0PT0oIm4iPT09bnQpPzE6LTEsYT0oZS9RK24qci8kKS8yO2U9YSpRLHI9biphKiR9InciPT09cnQ/ZT1sKFgsMCxlKToiZSI9PT1ydD9lPWwoWCwxLC1lKTpydHx8KGU9MCksIm4iPT09bnQ/cj1sKFosMSxyKToicyI9PT1udD9yPWwoWiwwLC1yKTpudHx8KHI9MCk7dmFyIGk9InciPT09cnQ/ZTowLG89Im4iPT09bnQ/cjowO2lmKHR0LmlzU3VicGxvdENvbnN0cmFpbmVkKXt2YXIgcztpZighcnQmJjE9PT1udC5sZW5ndGgpe2ZvcihzPTA7czxYLmxlbmd0aDtzKyspWFtzXS5yYW5nZT1YW3NdLl9yLnNsaWNlKCksayhYW3NdLDEtci8kKTtpPShlPXIqUS8kKS8yfWlmKCFudCYmMT09PXJ0Lmxlbmd0aCl7Zm9yKHM9MDtzPFoubGVuZ3RoO3MrKylaW3NdLnJhbmdlPVpbc10uX3Iuc2xpY2UoKSxrKFpbc10sMS1lL1EpO289KHI9ZSokL1EpLzJ9fUJ0KCJ4IiksQnQoInkiKSxWdChbaSxvLFEtZSwkLXJdKSxOdCgpLHQuZW1pdCgicGxvdGx5X3JlbGF5b3V0aW5nIix1dCl9ZnVuY3Rpb24gbCh0LGUscil7Zm9yKHZhciBuLGEsaT0xLWUsbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10W29dO2lmKCFzLmZpeGVkcmFuZ2Upe249cyxhPXMuX3JsW2ldKyhzLl9ybFtlXS1zLl9ybFtpXSkveihyL3MuX2xlbmd0aCk7dmFyIGw9cy5sMnIoYSk7ITEhPT1sJiZ2b2lkIDAhPT1sJiYocy5yYW5nZVtlXT1sKX19cmV0dXJuIG4uX2xlbmd0aCoobi5fcmxbZV0tYSkvKG4uX3JsW2VdLW4uX3JsW2ldKX19ZnVuY3Rpb24gQnQodCxlKXtmb3IodmFyIHI9ZXQuaXNTdWJwbG90Q29uc3RyYWluZWQ/e3g6Wix5Olh9W3RdOmV0W3QrImF4ZXMiXSxuPWV0LmlzU3VicGxvdENvbnN0cmFpbmVkP3t4OlgseTpafVt0XTpbXSxhPTA7YTxyLmxlbmd0aDthKyspe3ZhciBpPXJbYV0sbz1pLl9pZCxzPWV0LnhMaW5rc1tvXXx8ZXQueUxpbmtzW29dLGw9blswXXx8WVtzXXx8V1tzXTtsJiYoZT8oZVtpLl9uYW1lKyIucmFuZ2VbMF0iXT1lW2wuX25hbWUrIi5yYW5nZVswXSJdLGVbaS5fbmFtZSsiLnJhbmdlWzFdIl09ZVtsLl9uYW1lKyIucmFuZ2VbMV0iXSk6aS5yYW5nZT1sLnJhbmdlLnNsaWNlKCkpfX1mdW5jdGlvbiBOdCgpe3ZhciBlLHI9W107ZnVuY3Rpb24gbih0KXtmb3IoZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uZml4ZWRyYW5nZXx8ci5wdXNoKHRbZV0uX2lkKX1mb3IoaXQmJihuKFgpLG4odHQueGF4ZXMpLG4oZXQueGF4ZXMpKSxvdCYmKG4oWiksbih0dC55YXhlcyksbihldC55YXhlcykpLHV0PXt9LGU9MDtlPHIubGVuZ3RoO2UrKyl7dmFyIGE9cltlXSxpPXgodCxhKTtmLmRyYXdPbmUodCxpLHtza2lwVGl0bGU6ITB9KSx1dFtpLl9uYW1lKyIucmFuZ2VbMF0iXT1pLnJhbmdlWzBdLHV0W2kuX25hbWUrIi5yYW5nZVsxXSJdPWkucmFuZ2VbMV19Zi5yZWRyYXdDb21wb25lbnRzKHQscil9ZnVuY3Rpb24ganQoKXtWdChbMCwwLFEsJF0pLHMuc3luY09yQXN5bmMoW3kucHJldmlvdXNQcm9taXNlcyxmdW5jdGlvbigpe3QuX2Z1bGxMYXlvdXQuX3JlcGxvdHRpbmc9ITEsby5jYWxsKCJfZ3VpUmVsYXlvdXQiLHQsdXQpfV0sdCl9ZnVuY3Rpb24gVnQoZSl7dmFyIHIsbixhLGksbD10Ll9mdWxsTGF5b3V0LGM9bC5fcGxvdHMsaD1sLl9zdWJwbG90cy5jYXJ0ZXNpYW47aWYobHQmJm8uc3VicGxvdHNSZWdpc3RyeS5zcGxvbS5kcmFnKHQpLHN0KWZvcihyPTA7cjxoLmxlbmd0aDtyKyspaWYoYT0obj1jW2hbcl1dKS54YXhpcyxpPW4ueWF4aXMsbi5fc2NlbmUpe3ZhciBmPXMuc2ltcGxlTWFwKGEucmFuZ2UsYS5yMmwpLHA9cy5zaW1wbGVNYXAoaS5yYW5nZSxpLnIybCk7bi5fc2NlbmUudXBkYXRlKHtyYW5nZTpbZlswXSxwWzBdLGZbMV0scFsxXV19KX1pZigobHR8fHN0KSYmKHYodCksbSh0KSksY3Qpe3ZhciBkPWVbMl0vRi5fbGVuZ3RoLGc9ZVszXS9HLl9sZW5ndGg7Zm9yKHI9MDtyPGgubGVuZ3RoO3IrKyl7YT0obj1jW2hbcl1dKS54YXhpcyxpPW4ueWF4aXM7dmFyIHkseCxiLF8sdz1pdCYmIWEuZml4ZWRyYW5nZSYmWVthLl9pZF0saz1vdCYmIWkuZml4ZWRyYW5nZSYmV1tpLl9pZF07aWYodz8oeT1kLGI9RT9lWzBdOkh0KGEseSkpOmV0LnhhSGFzaFthLl9pZF0/KHk9ZCxiPWVbMF0qYS5fbGVuZ3RoL0YuX2xlbmd0aCk6ZXQueWFIYXNoW2EuX2lkXT8oeT1nLGI9Im5zIj09PW50Py1lWzFdKmEuX2xlbmd0aC9HLl9sZW5ndGg6SHQoYSx5LHtuOiJ0b3AiLHM6ImJvdHRvbSJ9W250XSkpOmI9cXQoYSx5PVV0KGEsZCxnKSksaz8oeD1nLF89Uz9lWzFdOkh0KGkseCkpOmV0LnlhSGFzaFtpLl9pZF0/KHg9ZyxfPWVbMV0qaS5fbGVuZ3RoL0cuX2xlbmd0aCk6ZXQueGFIYXNoW2kuX2lkXT8oeD1kLF89ImV3Ij09PXJ0Py1lWzBdKmkuX2xlbmd0aC9GLl9sZW5ndGg6SHQoaSx4LHtlOiJyaWdodCIsdzoibGVmdCJ9W3J0XSkpOl89cXQoaSx4PVV0KGksZCxnKSkseXx8eCl7eXx8KHk9MSkseHx8KHg9MSk7dmFyIFQ9YS5fb2Zmc2V0LWIveSxNPWkuX29mZnNldC1fL3g7bi5jbGlwUmVjdC5jYWxsKHUuc2V0VHJhbnNsYXRlLGIsXykuY2FsbCh1LnNldFNjYWxlLHkseCksbi5wbG90LmNhbGwodS5zZXRUcmFuc2xhdGUsVCxNKS5jYWxsKHUuc2V0U2NhbGUsMS95LDEveCkseT09PW4ueFNjYWxlRmFjdG9yJiZ4PT09bi55U2NhbGVGYWN0b3J8fCh1LnNldFBvaW50R3JvdXBTY2FsZShuLnpvb21TY2FsZVB0cyx5LHgpLHUuc2V0VGV4dFBvaW50c1NjYWxlKG4uem9vbVNjYWxlVHh0LHkseCkpLHUuaGlkZU91dHNpZGVSYW5nZVBvaW50cyhuLmNsaXBPbkF4aXNGYWxzZVRyYWNlcyxuKSxuLnhTY2FsZUZhY3Rvcj15LG4ueVNjYWxlRmFjdG9yPXh9fX19ZnVuY3Rpb24gVXQodCxlLHIpe3JldHVybiB0LmZpeGVkcmFuZ2U/MDppdCYmdHQueGFIYXNoW3QuX2lkXT9lOm90JiYodHQuaXNTdWJwbG90Q29uc3RyYWluZWQ/dHQueGFIYXNoOnR0LnlhSGFzaClbdC5faWRdP3I6MH1mdW5jdGlvbiBxdCh0LGUpe3JldHVybiBlPyh0LnJhbmdlPXQuX3Iuc2xpY2UoKSxrKHQsZSksSHQodCxlKSk6MH1mdW5jdGlvbiBIdCh0LGUscil7cmV0dXJuIHQuX2xlbmd0aCooMS1lKSpnW3J8fHQuY29uc3RyYWludG93YXJkfHwibWlkZGxlIl19cmV0dXJuIFMubGVuZ3RoKkUubGVuZ3RoIT0xJiZxKHZ0LGZ1bmN0aW9uKGUpe2lmKHQuX2NvbnRleHQuX3Njcm9sbFpvb20uY2FydGVzaWFufHx0Ll9mdWxsTGF5b3V0Ll9lbmFibGVzY3JvbGx6b29tKXtpZihFdCgpLHQuX3RyYW5zaXRpb25pbmdXaXRoRHVyYXRpb24pcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIGUuc3RvcFByb3BhZ2F0aW9uKCk7ZHQoKSxjbGVhclRpbWVvdXQoSXQpO3ZhciByPS1lLmRlbHRhWTtpZihpc0Zpbml0ZShyKXx8KHI9ZS53aGVlbERlbHRhLzEwKSxpc0Zpbml0ZShyKSl7dmFyIG4sYT1NYXRoLmV4cCgtTWF0aC5taW4oTWF0aC5tYXgociwtMjApLDIwKS8yMDApLGk9UnQuZHJhZ2xheWVyLnNlbGVjdCgiLm5zZXdkcmFnIikubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89KGUuY2xpZW50WC1pLmxlZnQpL2kud2lkdGgsbD0oaS5ib3R0b20tZS5jbGllbnRZKS9pLmhlaWdodDtpZihpdCl7Zm9yKEV8fChvPS41KSxuPTA7bjxYLmxlbmd0aDtuKyspYyhYW25dLG8sYSk7QnQoIngiKSx6dFsyXSo9YSx6dFswXSs9enRbMl0qbyooMS9hLTEpfWlmKG90KXtmb3IoU3x8KGw9LjUpLG49MDtuPFoubGVuZ3RoO24rKyljKFpbbl0sbCxhKTtCdCgieSIpLHp0WzNdKj1hLHp0WzFdKz16dFszXSooMS1sKSooMS9hLTEpfVZ0KHp0KSxOdCgpLHQuZW1pdCgicGxvdGx5X3JlbGF5b3V0aW5nIix1dCksSXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3p0PVswLDAsUSwkXSxqdCgpfSxEdCksZS5wcmV2ZW50RGVmYXVsdCgpfWVsc2Ugcy5sb2coIkRpZCBub3QgZmluZCB3aGVlbCBtb3Rpb24gYXR0cmlidXRlczogIixlKX1mdW5jdGlvbiBjKHQsZSxyKXtpZighdC5maXhlZHJhbmdlKXt2YXIgbj1zLnNpbXBsZU1hcCh0LnJhbmdlLHQucjJsKSxhPW5bMF0rKG5bMV0tblswXSkqZTt0LnJhbmdlPW4ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB0LmwycihhKyhlLWEpKnIpfSl9fX0pLHZ0fSxtYWtlRHJhZ2dlcjpFLG1ha2VSZWN0RHJhZ2dlcjpMLG1ha2Vab29tYm94OkksbWFrZUNvcm5lcnM6RCx1cGRhdGVab29tYm94OlIseHlDb3JuZXJzOlYsdHJhbnNpdGlvblpvb21ib3g6RixyZW1vdmVab29tYm94OkIsc2hvd0RvdWJsZUNsaWNrTm90aWZpZXI6TixhdHRhY2hXaGVlbEV2ZW50SGFuZGxlcjpxfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZHJhZ2VsZW1lbnQiOjYxMCwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCI6Njg2LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2NsZWFyX2dsX2NhbnZhc2VzIjo3MDIsIi4uLy4uL2xpYi9zZXRjdXJzb3IiOjczNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uLy4uL3Bsb3RfYXBpL3N1YnJvdXRpbmVzIjo3NTYsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL3Bsb3RzIjo4MjYsIi4vYXhlcyI6NzY1LCIuL2F4aXNfaWRzIjo3NjgsIi4vY29uc3RhbnRzIjo3NzEsIi4vc2NhbGVfem9vbSI6NzgxLCIuL3NlbGVjdCI6NzgyLGQzOjE2NSwiaGFzLXBhc3NpdmUtZXZlbnRzIjo0MTMsdGlueWNvbG9yMjo1MzZ9XSw3NzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvZngiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhZ2VsZW1lbnQiKSxvPXQoIi4uLy4uL2xpYi9zZXRjdXJzb3IiKSxzPXQoIi4vZHJhZ2JveCIpLm1ha2VEcmFnQm94LGw9dCgiLi9jb25zdGFudHMiKS5EUkFHR0VSU0laRTtyLmluaXRJbnRlcmFjdGlvbnM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dDtpZih0Ll9jb250ZXh0LnN0YXRpY1Bsb3Qpbi5zZWxlY3QodCkuc2VsZWN0QWxsKCIuZHJhZyIpLnJlbW92ZSgpO2Vsc2UgaWYoZS5faGFzKCJjYXJ0ZXNpYW4iKXx8ZS5faGFzKCJzcGxvbSIpKXtPYmplY3Qua2V5cyhlLl9wbG90c3x8e30pLnNvcnQoZnVuY3Rpb24odCxyKXtpZigoZS5fcGxvdHNbdF0ubWFpbnBsb3QmJiEwKT09PShlLl9wbG90c1tyXS5tYWlucGxvdCYmITApKXt2YXIgbj10LnNwbGl0KCJ5IiksYT1yLnNwbGl0KCJ5Iik7cmV0dXJuIG5bMF09PT1hWzBdP051bWJlcihuWzFdfHwxKS1OdW1iZXIoYVsxXXx8MSk6TnVtYmVyKG5bMF18fDEpLU51bWJlcihhWzBdfHwxKX1yZXR1cm4gZS5fcGxvdHNbdF0ubWFpbnBsb3Q/MTotMX0pLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIG49ZS5fcGxvdHNbcl0sbz1uLnhheGlzLGM9bi55YXhpcztpZighbi5tYWlucGxvdCl7dmFyIHU9cyh0LG4sby5fb2Zmc2V0LGMuX29mZnNldCxvLl9sZW5ndGgsYy5fbGVuZ3RoLCJucyIsImV3Iik7dS5vbm1vdXNlbW92ZT1mdW5jdGlvbihlKXt0Ll9mdWxsTGF5b3V0Ll9yZWhvdmVyPWZ1bmN0aW9uKCl7dC5fZnVsbExheW91dC5faG92ZXJzdWJwbG90PT09ciYmdC5fZnVsbExheW91dC5fcGxvdHNbcl0mJmEuaG92ZXIodCxlLHIpfSxhLmhvdmVyKHQsZSxyKSx0Ll9mdWxsTGF5b3V0Ll9sYXN0aG92ZXI9dSx0Ll9mdWxsTGF5b3V0Ll9ob3ZlcnN1YnBsb3Q9cn0sdS5vbm1vdXNlb3V0PWZ1bmN0aW9uKGUpe3QuX2RyYWdnaW5nfHwodC5fZnVsbExheW91dC5faG92ZXJzdWJwbG90PW51bGwsaS51bmhvdmVyKHQsZSkpfSx0Ll9jb250ZXh0LnNob3dBeGlzRHJhZ0hhbmRsZXMmJihzKHQsbixvLl9vZmZzZXQtbCxjLl9vZmZzZXQtbCxsLGwsIm4iLCJ3Iikscyh0LG4sby5fb2Zmc2V0K28uX2xlbmd0aCxjLl9vZmZzZXQtbCxsLGwsIm4iLCJlIikscyh0LG4sby5fb2Zmc2V0LWwsYy5fb2Zmc2V0K2MuX2xlbmd0aCxsLGwsInMiLCJ3Iikscyh0LG4sby5fb2Zmc2V0K28uX2xlbmd0aCxjLl9vZmZzZXQrYy5fbGVuZ3RoLGwsbCwicyIsImUiKSl9aWYodC5fY29udGV4dC5zaG93QXhpc0RyYWdIYW5kbGVzKXtpZihyPT09by5fbWFpblN1YnBsb3Qpe3ZhciBoPW8uX21haW5MaW5lUG9zaXRpb247InRvcCI9PT1vLnNpZGUmJihoLT1sKSxzKHQsbixvLl9vZmZzZXQrLjEqby5fbGVuZ3RoLGgsLjgqby5fbGVuZ3RoLGwsIiIsImV3Iikscyh0LG4sby5fb2Zmc2V0LGgsLjEqby5fbGVuZ3RoLGwsIiIsInciKSxzKHQsbixvLl9vZmZzZXQrLjkqby5fbGVuZ3RoLGgsLjEqby5fbGVuZ3RoLGwsIiIsImUiKX1pZihyPT09Yy5fbWFpblN1YnBsb3Qpe3ZhciBmPWMuX21haW5MaW5lUG9zaXRpb247InJpZ2h0IiE9PWMuc2lkZSYmKGYtPWwpLHModCxuLGYsYy5fb2Zmc2V0Ky4xKmMuX2xlbmd0aCxsLC44KmMuX2xlbmd0aCwibnMiLCIiKSxzKHQsbixmLGMuX29mZnNldCsuOSpjLl9sZW5ndGgsbCwuMSpjLl9sZW5ndGgsInMiLCIiKSxzKHQsbixmLGMuX29mZnNldCxsLC4xKmMuX2xlbmd0aCwibiIsIiIpfX19KTt2YXIgbz1lLl9ob3ZlcmxheWVyLm5vZGUoKTtvLm9ubW91c2Vtb3ZlPWZ1bmN0aW9uKHIpe3IudGFyZ2V0PXQuX2Z1bGxMYXlvdXQuX2xhc3Rob3ZlcixhLmhvdmVyKHQscixlLl9ob3ZlcnN1YnBsb3QpfSxvLm9uY2xpY2s9ZnVuY3Rpb24oZSl7ZS50YXJnZXQ9dC5fZnVsbExheW91dC5fbGFzdGhvdmVyLGEuY2xpY2sodCxlKX0sby5vbm1vdXNlZG93bj1mdW5jdGlvbihlKXt0Ll9mdWxsTGF5b3V0Ll9sYXN0aG92ZXIub25tb3VzZWRvd24oZSl9LHIudXBkYXRlRngodCl9fSxyLnVwZGF0ZUZ4PWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQscj0icGFuIj09PWUuZHJhZ21vZGU/Im1vdmUiOiJjcm9zc2hhaXIiO28oZS5fZHJhZ2dlcnMscil9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhZ2VsZW1lbnQiOjYxMCwiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9saWIvc2V0Y3Vyc29yIjo3MzcsIi4vY29uc3RhbnRzIjo3NzEsIi4vZHJhZ2JveCI6NzczLGQzOjE2NX1dLDc3NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIpe3ZhciBpPWVbdF07aWYoQXJyYXkuaXNBcnJheShpKSlmb3IodmFyIG89bi5zdWJwbG90c1JlZ2lzdHJ5LmNhcnRlc2lhbixzPW8uaWRSZWdleCxsPXIuX3N1YnBsb3RzLGM9bC54YXhpcyx1PWwueWF4aXMsaD1sLmNhcnRlc2lhbixmPXIuX2hhcygiY2FydGVzaWFuIil8fHIuX2hhcygiZ2wyZCIpLHA9MDtwPGkubGVuZ3RoO3ArKyl7dmFyIGQ9aVtwXTtpZihhLmlzUGxhaW5PYmplY3QoZCkpe3ZhciBnPWQueHJlZix2PWQueXJlZixtPXMueC50ZXN0KGcpLHk9cy55LnRlc3Qodik7aWYobXx8eSl7Znx8YS5wdXNoVW5pcXVlKHIuX2Jhc2VQbG90TW9kdWxlcyxvKTt2YXIgeD0hMTttJiYtMT09PWMuaW5kZXhPZihnKSYmKGMucHVzaChnKSx4PSEwKSx5JiYtMT09PXUuaW5kZXhPZih2KSYmKHUucHVzaCh2KSx4PSEwKSx4JiZtJiZ5JiZoLnB1c2goZyt2KX19fX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2fV0sNzc2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vbGliIiksbz10KCIuLi9wbG90cyIpLHM9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksbD10KCIuLi9nZXRfZGF0YSIpLmdldE1vZHVsZUNhbGNEYXRhLGM9dCgiLi9heGlzX2lkcyIpLHU9dCgiLi9jb25zdGFudHMiKSxoPXQoIi4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIiksZj1pLmVuc3VyZVNpbmdsZTtmdW5jdGlvbiBwKHQsZSxyKXtyZXR1cm4gaS5lbnN1cmVTaW5nbGUodCxlLHIsZnVuY3Rpb24odCl7dC5kYXR1bShyKX0pfWZ1bmN0aW9uIGQodCxlLHIsaSxvKXtmb3IodmFyIGMsaCxmLHA9dS50cmFjZUxheWVyQ2xhc3NlcyxkPXQuX2Z1bGxMYXlvdXQsZz1kLl9tb2R1bGVzLHY9W10sbT1bXSx5PTA7eTxnLmxlbmd0aDt5Kyspe3ZhciB4PShjPWdbeV0pLm5hbWUsYj1hLm1vZHVsZXNbeF0uY2F0ZWdvcmllcztpZihiLnN2Zyl7dmFyIF89Yy5sYXllck5hbWV8fHgrImxheWVyIix3PWMucGxvdDtmPShoPWwocix3KSlbMF0scj1oWzFdLGYubGVuZ3RoJiZ2LnB1c2goe2k6cC5pbmRleE9mKF8pLGNsYXNzTmFtZTpfLHBsb3RNZXRob2Q6dyxjZE1vZHVsZTpmfSksYi56b29tU2NhbGUmJm0ucHVzaCgiLiIrXyl9fXYuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LmktZS5pfSk7dmFyIGs9ZS5wbG90LnNlbGVjdEFsbCgiZy5tbGF5ZXIiKS5kYXRhKHYsZnVuY3Rpb24odCl7cmV0dXJuIHQuY2xhc3NOYW1lfSk7aWYoay5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIixmdW5jdGlvbih0KXtyZXR1cm4gdC5jbGFzc05hbWV9KS5jbGFzc2VkKCJtbGF5ZXIiLCEwKS5jbGFzc2VkKCJyYW5nZXBsb3QiLGUuaXNSYW5nZVBsb3QpLGsuZXhpdCgpLnJlbW92ZSgpLGsub3JkZXIoKSxrLmVhY2goZnVuY3Rpb24ocil7dmFyIGE9bi5zZWxlY3QodGhpcyksbD1yLmNsYXNzTmFtZTtyLnBsb3RNZXRob2QodCxlLHIuY2RNb2R1bGUsYSxpLG8pLC0xPT09dS5jbGlwT25BeGlzRmFsc2VRdWVyeS5pbmRleE9mKCIuIitsKSYmcy5zZXRDbGlwVXJsKGEsZS5sYXllckNsaXBJZCx0KX0pLGQuX2hhcygic2NhdHRlcmdsIikmJihjPWEuZ2V0TW9kdWxlKCJzY2F0dGVyZ2wiKSxmPWwocixjKVswXSxjLnBsb3QodCxlLGYpKSwhdC5fY29udGV4dC5zdGF0aWNQbG90JiYoZS5faGFzQ2xpcE9uQXhpc0ZhbHNlJiYoZS5jbGlwT25BeGlzRmFsc2VUcmFjZXM9ZS5wbG90LnNlbGVjdEFsbCh1LmNsaXBPbkF4aXNGYWxzZVF1ZXJ5LmpvaW4oIiwiKSkuc2VsZWN0QWxsKCIudHJhY2UiKSksbS5sZW5ndGgpKXt2YXIgVD1lLnBsb3Quc2VsZWN0QWxsKG0uam9pbigiLCIpKS5zZWxlY3RBbGwoIi50cmFjZSIpO2Uuem9vbVNjYWxlUHRzPVQuc2VsZWN0QWxsKCJwYXRoLnBvaW50IiksZS56b29tU2NhbGVUeHQ9VC5zZWxlY3RBbGwoIi50ZXh0cG9pbnQiKX19ZnVuY3Rpb24gZyh0LGUpe3ZhciByPWUucGxvdGdyb3VwLG49ZS5pZCxhPXUubGF5ZXJWYWx1ZTJsYXllckNsYXNzW2UueGF4aXMubGF5ZXJdLGk9dS5sYXllclZhbHVlMmxheWVyQ2xhc3NbZS55YXhpcy5sYXllcl0sbz10Ll9mdWxsTGF5b3V0Ll9oYXNPbmx5TGFyZ2VTcGxvbXM7aWYoZS5tYWlucGxvdCl7dmFyIHM9ZS5tYWlucGxvdGluZm8sbD1zLnBsb3Rncm91cCxoPW4rIi14IixkPW4rIi15IjtlLmdyaWRsYXllcj1zLmdyaWRsYXllcixlLnplcm9saW5lbGF5ZXI9cy56ZXJvbGluZWxheWVyLGYocy5vdmVybGluZXNCZWxvdywicGF0aCIsaCksZihzLm92ZXJsaW5lc0JlbG93LCJwYXRoIixkKSxmKHMub3ZlcmF4ZXNCZWxvdywiZyIsaCksZihzLm92ZXJheGVzQmVsb3csImciLGQpLGUucGxvdD1mKHMub3ZlcnBsb3QsImciLG4pLGYocy5vdmVybGluZXNBYm92ZSwicGF0aCIsaCksZihzLm92ZXJsaW5lc0Fib3ZlLCJwYXRoIixkKSxmKHMub3ZlcmF4ZXNBYm92ZSwiZyIsaCksZihzLm92ZXJheGVzQWJvdmUsImciLGQpLGUueGxpbmVzPWwuc2VsZWN0KCIub3ZlcmxpbmVzLSIrYSkuc2VsZWN0KCIuIitoKSxlLnlsaW5lcz1sLnNlbGVjdCgiLm92ZXJsaW5lcy0iK2kpLnNlbGVjdCgiLiIrZCksZS54YXhpc2xheWVyPWwuc2VsZWN0KCIub3ZlcmF4ZXMtIithKS5zZWxlY3QoIi4iK2gpLGUueWF4aXNsYXllcj1sLnNlbGVjdCgiLm92ZXJheGVzLSIraSkuc2VsZWN0KCIuIitkKX1lbHNlIGlmKG8pZS54bGluZXM9ZihyLCJwYXRoIiwieGxpbmVzLWFib3ZlIiksZS55bGluZXM9ZihyLCJwYXRoIiwieWxpbmVzLWFib3ZlIiksZS54YXhpc2xheWVyPWYociwiZyIsInhheGlzbGF5ZXItYWJvdmUiKSxlLnlheGlzbGF5ZXI9ZihyLCJnIiwieWF4aXNsYXllci1hYm92ZSIpO2Vsc2V7dmFyIGc9ZihyLCJnIiwibGF5ZXItc3VicGxvdCIpO2Uuc2hhcGVsYXllcj1mKGcsImciLCJzaGFwZWxheWVyIiksZS5pbWFnZWxheWVyPWYoZywiZyIsImltYWdlbGF5ZXIiKSxlLmdyaWRsYXllcj1mKHIsImciLCJncmlkbGF5ZXIiKSxlLnplcm9saW5lbGF5ZXI9ZihyLCJnIiwiemVyb2xpbmVsYXllciIpLGYociwicGF0aCIsInhsaW5lcy1iZWxvdyIpLGYociwicGF0aCIsInlsaW5lcy1iZWxvdyIpLGUub3ZlcmxpbmVzQmVsb3c9ZihyLCJnIiwib3ZlcmxpbmVzLWJlbG93IiksZihyLCJnIiwieGF4aXNsYXllci1iZWxvdyIpLGYociwiZyIsInlheGlzbGF5ZXItYmVsb3ciKSxlLm92ZXJheGVzQmVsb3c9ZihyLCJnIiwib3ZlcmF4ZXMtYmVsb3ciKSxlLnBsb3Q9ZihyLCJnIiwicGxvdCIpLGUub3ZlcnBsb3Q9ZihyLCJnIiwib3ZlcnBsb3QiKSxlLnhsaW5lcz1mKHIsInBhdGgiLCJ4bGluZXMtYWJvdmUiKSxlLnlsaW5lcz1mKHIsInBhdGgiLCJ5bGluZXMtYWJvdmUiKSxlLm92ZXJsaW5lc0Fib3ZlPWYociwiZyIsIm92ZXJsaW5lcy1hYm92ZSIpLGYociwiZyIsInhheGlzbGF5ZXItYWJvdmUiKSxmKHIsImciLCJ5YXhpc2xheWVyLWFib3ZlIiksZS5vdmVyYXhlc0Fib3ZlPWYociwiZyIsIm92ZXJheGVzLWFib3ZlIiksZS54bGluZXM9ci5zZWxlY3QoIi54bGluZXMtIithKSxlLnlsaW5lcz1yLnNlbGVjdCgiLnlsaW5lcy0iK2kpLGUueGF4aXNsYXllcj1yLnNlbGVjdCgiLnhheGlzbGF5ZXItIithKSxlLnlheGlzbGF5ZXI9ci5zZWxlY3QoIi55YXhpc2xheWVyLSIraSl9b3x8KHAoZS5ncmlkbGF5ZXIsImciLGUueGF4aXMuX2lkKSxwKGUuZ3JpZGxheWVyLCJnIixlLnlheGlzLl9pZCksZS5ncmlkbGF5ZXIuc2VsZWN0QWxsKCJnIikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdfSkuc29ydChjLmlkU29ydCkpLGUueGxpbmVzLnN0eWxlKCJmaWxsIiwibm9uZSIpLmNsYXNzZWQoImNyaXNwIiwhMCksZS55bGluZXMuc3R5bGUoImZpbGwiLCJub25lIikuY2xhc3NlZCgiY3Jpc3AiLCEwKX1mdW5jdGlvbiB2KHQsZSl7aWYodCl7dmFyIHI9e307Zm9yKHZhciBhIGluIHQuZWFjaChmdW5jdGlvbih0KXt2YXIgYT10WzBdO24uc2VsZWN0KHRoaXMpLnJlbW92ZSgpLG0oYSxlKSxyW2FdPSEwfSksZS5fcGxvdHMpZm9yKHZhciBpPWUuX3Bsb3RzW2FdLm92ZXJsYXlzfHxbXSxvPTA7bzxpLmxlbmd0aDtvKyspe3ZhciBzPWlbb107cltzLmlkXSYmcy5wbG90LnNlbGVjdEFsbCgiLnRyYWNlIikucmVtb3ZlKCl9fX1mdW5jdGlvbiBtKHQsZSl7ZS5fZHJhZ2dlcnMuc2VsZWN0QWxsKCJnLiIrdCkucmVtb3ZlKCksZS5fZGVmcy5zZWxlY3QoIiNjbGlwIitlLl91aWQrdCsicGxvdCIpLnJlbW92ZSgpfXIubmFtZT0iY2FydGVzaWFuIixyLmF0dHI9WyJ4YXhpcyIsInlheGlzIl0sci5pZFJvb3Q9WyJ4IiwieSJdLHIuaWRSZWdleD11LmlkUmVnZXgsci5hdHRyUmVnZXg9dS5hdHRyUmVnZXgsci5hdHRyaWJ1dGVzPXQoIi4vYXR0cmlidXRlcyIpLHIubGF5b3V0QXR0cmlidXRlcz10KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksci5zdXBwbHlMYXlvdXREZWZhdWx0cz10KCIuL2xheW91dF9kZWZhdWx0cyIpLHIudHJhbnNpdGlvbkF4ZXM9dCgiLi90cmFuc2l0aW9uX2F4ZXMiKSxyLmZpbmFsaXplU3VicGxvdHM9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGEsbz1lLl9zdWJwbG90cyxzPW8ueGF4aXMsbD1vLnlheGlzLGg9by5jYXJ0ZXNpYW4sZj1oLmNvbmNhdChvLmdsMmR8fFtdKSxwPXt9LGQ9e307Zm9yKHI9MDtyPGYubGVuZ3RoO3IrKyl7dmFyIGc9ZltyXS5zcGxpdCgieSIpO3BbZ1swXV09MSxkWyJ5IitnWzFdXT0xfWZvcihyPTA7cjxzLmxlbmd0aDtyKyspcFtuPXNbcl1dfHwoYT0odFtjLmlkMm5hbWUobildfHx7fSkuYW5jaG9yLHUuaWRSZWdleC55LnRlc3QoYSl8fChhPSJ5IiksaC5wdXNoKG4rYSksZi5wdXNoKG4rYSksZFthXXx8KGRbYV09MSxpLnB1c2hVbmlxdWUobCxhKSkpO2ZvcihyPTA7cjxsLmxlbmd0aDtyKyspZFthPWxbcl1dfHwobj0odFtjLmlkMm5hbWUoYSldfHx7fSkuYW5jaG9yLHUuaWRSZWdleC54LnRlc3Qobil8fChuPSJ4IiksaC5wdXNoKG4rYSksZi5wdXNoKG4rYSkscFtuXXx8KHBbbl09MSxpLnB1c2hVbmlxdWUocyxuKSkpO2lmKCFmLmxlbmd0aCl7Zm9yKHZhciB2IGluIG49IiIsYT0iIix0KXtpZih1LmF0dHJSZWdleC50ZXN0KHYpKSJ4Ij09PXYuY2hhckF0KDApPyghbnx8K3Yuc3Vic3RyKDUpPCtuLnN1YnN0cig1KSkmJihuPXYpOighYXx8K3Yuc3Vic3RyKDUpPCthLnN1YnN0cig1KSkmJihhPXYpfW49bj9jLm5hbWUyaWQobik6IngiLGE9YT9jLm5hbWUyaWQoYSk6InkiLHMucHVzaChuKSxsLnB1c2goYSksaC5wdXNoKG4rYSl9fSxyLnBsb3Q9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsaT10Ll9mdWxsTGF5b3V0LG89aS5fc3VicGxvdHMuY2FydGVzaWFuLHM9dC5jYWxjZGF0YTtpZighQXJyYXkuaXNBcnJheShlKSlmb3IoZT1bXSxhPTA7YTxzLmxlbmd0aDthKyspZS5wdXNoKGEpO2ZvcihhPTA7YTxvLmxlbmd0aDthKyspe2Zvcih2YXIgbCxjPW9bYV0sdT1pLl9wbG90c1tjXSxoPVtdLGY9MDtmPHMubGVuZ3RoO2YrKyl7dmFyIHA9c1tmXSxnPXBbMF0udHJhY2U7Zy54YXhpcytnLnlheGlzPT09YyYmKCgtMSE9PWUuaW5kZXhPZihnLmluZGV4KXx8Zy5jYXJwZXQpJiYobCYmbFswXS50cmFjZS54YXhpcytsWzBdLnRyYWNlLnlheGlzPT09YyYmLTEhPT1bInRvbmV4dHgiLCJ0b25leHR5IiwidG9uZXh0Il0uaW5kZXhPZihnLmZpbGwpJiYtMT09PWguaW5kZXhPZihsKSYmaC5wdXNoKGwpLGgucHVzaChwKSksbD1wKX1kKHQsdSxoLHIsbil9fSxyLmNsZWFuPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbyxzPW4uX3Bsb3RzfHx7fSxsPWUuX3Bsb3RzfHx7fSx1PW4uX3N1YnBsb3RzfHx7fTtpZihuLl9oYXNPbmx5TGFyZ2VTcGxvbXMmJiFlLl9oYXNPbmx5TGFyZ2VTcGxvbXMpZm9yKG8gaW4gcykoYT1zW29dKS5wbG90Z3JvdXAmJmEucGxvdGdyb3VwLnJlbW92ZSgpO3ZhciBoPW4uX2hhcyYmbi5faGFzKCJnbCIpLGY9ZS5faGFzJiZlLl9oYXMoImdsIik7aWYoaCYmIWYpZm9yKG8gaW4gcykoYT1zW29dKS5fc2NlbmUmJmEuX3NjZW5lLmRlc3Ryb3koKTtpZih1LnhheGlzJiZ1LnlheGlzKXt2YXIgcD1jLmxpc3RJZHMoe19mdWxsTGF5b3V0Om59KTtmb3IoaT0wO2k8cC5sZW5ndGg7aSsrKXt2YXIgZD1wW2ldO2VbYy5pZDJuYW1lKGQpXXx8bi5faW5mb2xheWVyLnNlbGVjdEFsbCgiLmctIitkKyJ0aXRsZSIpLnJlbW92ZSgpfX12YXIgZz1uLl9oYXMmJm4uX2hhcygiY2FydGVzaWFuIikseT1lLl9oYXMmJmUuX2hhcygiY2FydGVzaWFuIik7aWYoZyYmIXkpdihuLl9jYXJ0ZXNpYW5sYXllci5zZWxlY3RBbGwoIi5zdWJwbG90Iiksbiksbi5fZGVmcy5zZWxlY3RBbGwoIi5heGVzY2xpcCIpLnJlbW92ZSgpLGRlbGV0ZSBuLl9heGlzQ29uc3RyYWludEdyb3VwcztlbHNlIGlmKHUuY2FydGVzaWFuKWZvcihpPTA7aTx1LmNhcnRlc2lhbi5sZW5ndGg7aSsrKXt2YXIgeD11LmNhcnRlc2lhbltpXTtpZighbFt4XSl7dmFyIGI9Ii4iK3grIiwuIit4KyIteCwuIit4KyIteSI7bi5fY2FydGVzaWFubGF5ZXIuc2VsZWN0QWxsKGIpLnJlbW92ZSgpLG0oeCxuKX19fSxyLmRyYXdGcmFtZXdvcms9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dCxyPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhLGksbyxzPXQuX2Z1bGxMYXlvdXQsbD1zLl9zdWJwbG90cy5jYXJ0ZXNpYW4sYz1sLmxlbmd0aCx1PVtdLGg9W107Zm9yKGU9MDtlPGM7ZSsrKXtuPWxbZV0sYT1zLl9wbG90c1tuXSxpPWEueGF4aXMsbz1hLnlheGlzO3ZhciBmPWkuX21haW5BeGlzLHA9by5fbWFpbkF4aXMsZD1mLl9pZCtwLl9pZCxnPXMuX3Bsb3RzW2RdO2Eub3ZlcmxheXM9W10sZCE9PW4mJmc/KGEubWFpbnBsb3Q9ZCxhLm1haW5wbG90aW5mbz1nLGgucHVzaChuKSk6KGEubWFpbnBsb3Q9dm9pZCAwLGEubWFpblBsb3RpbmZvPXZvaWQgMCx1LnB1c2gobikpfWZvcihlPTA7ZTxoLmxlbmd0aDtlKyspbj1oW2VdLChhPXMuX3Bsb3RzW25dKS5tYWlucGxvdGluZm8ub3ZlcmxheXMucHVzaChhKTt2YXIgdj11LmNvbmNhdChoKSxtPW5ldyBBcnJheShjKTtmb3IoZT0wO2U8YztlKyspe249dltlXSxhPXMuX3Bsb3RzW25dLGk9YS54YXhpcyxvPWEueWF4aXM7dmFyIHk9W24saS5sYXllcixvLmxheWVyLGkub3ZlcmxheWluZ3x8IiIsby5vdmVybGF5aW5nfHwiIl07Zm9yKHI9MDtyPGEub3ZlcmxheXMubGVuZ3RoO3IrKyl5LnB1c2goYS5vdmVybGF5c1tyXS5pZCk7bVtlXT15fXJldHVybiBtfSh0KSxhPWUuX2NhcnRlc2lhbmxheWVyLnNlbGVjdEFsbCgiLnN1YnBsb3QiKS5kYXRhKHIsU3RyaW5nKTthLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLGZ1bmN0aW9uKHQpe3JldHVybiJzdWJwbG90ICIrdFswXX0pLGEub3JkZXIoKSxhLmV4aXQoKS5jYWxsKHYsZSksYS5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBhPXJbMF0saT1lLl9wbG90c1thXTtpLnBsb3Rncm91cD1uLnNlbGVjdCh0aGlzKSxnKHQsaSksaS5kcmFnbGF5ZXI9ZihlLl9kcmFnZ2VycywiZyIsYSl9KX0sci5yYW5nZVBsb3Q9ZnVuY3Rpb24odCxlLHIpe2codCxlKSxkKHQsZSxyKSxvLnN0eWxlKHQpfSxyLnRvU1ZHPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQuX2dsaW1hZ2VzLHI9bi5zZWxlY3QodCkuc2VsZWN0QWxsKCIuc3ZnLWNvbnRhaW5lciIpO3IuZmlsdGVyKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9PT1yLnNpemUoKS0xfSkuc2VsZWN0QWxsKCIuZ2wtY2FudmFzLWNvbnRleHQsIC5nbC1jYW52YXMtZm9jdXMiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50b0RhdGFVUkwoImltYWdlL3BuZyIpO2UuYXBwZW5kKCJzdmc6aW1hZ2UiKS5hdHRyKHt4bWxuczpoLnN2ZywieGxpbms6aHJlZiI6dCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIix4OjAseTowLHdpZHRoOnRoaXMud2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0fSl9KX0sci51cGRhdGVGeD10KCIuL2dyYXBoX2ludGVyYWN0IikudXBkYXRlRnh9LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIjo2OTQsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9nZXRfZGF0YSI6ODAwLCIuLi9wbG90cyI6ODI2LCIuL2F0dHJpYnV0ZXMiOjc2MywiLi9heGlzX2lkcyI6NzY4LCIuL2NvbnN0YW50cyI6NzcxLCIuL2dyYXBoX2ludGVyYWN0Ijo3NzQsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi9sYXlvdXRfZGVmYXVsdHMiOjc3OCwiLi90cmFuc2l0aW9uX2F4ZXMiOjc4NyxkMzoxNjV9XSw3Nzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vZm9udF9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZy9hdHRyaWJ1dGVzIikuZGFzaCxvPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LHM9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLnRlbXBsYXRlZEFycmF5LGw9KHQoIi4uLy4uL2NvbnN0YW50cy9kb2NzIikuRk9STUFUX0xJTkssdCgiLi4vLi4vY29uc3RhbnRzL2RvY3MiKS5EQVRFX0ZPUk1BVF9MSU5LLHQoIi4vY29uc3RhbnRzIikpO2UuZXhwb3J0cz17dmlzaWJsZTp7dmFsVHlwZToiYm9vbGVhbiIsZWRpdFR5cGU6InBsb3QifSxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6YS5kZWZhdWx0TGluZSxlZGl0VHlwZToidGlja3MifSx0aXRsZTp7dGV4dDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToidGlja3MifSxmb250Om4oe2VkaXRUeXBlOiJ0aWNrcyJ9KSxzdGFuZG9mZjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxlZGl0VHlwZToidGlja3MifSxlZGl0VHlwZToidGlja3MifSx0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyItIiwibGluZWFyIiwibG9nIiwiZGF0ZSIsImNhdGVnb3J5IiwibXVsdGljYXRlZ29yeSJdLGRmbHQ6Ii0iLGVkaXRUeXBlOiJjYWxjIixfbm9UZW1wbGF0aW5nOiEwfSxhdXRvcmFuZ2U6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITAsITEsInJldmVyc2VkIl0sZGZsdDohMCxlZGl0VHlwZToiYXhyYW5nZSIsaW1wbGllZEVkaXRzOnsicmFuZ2VbMF0iOnZvaWQgMCwicmFuZ2VbMV0iOnZvaWQgMH19LHJhbmdlbW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibm9ybWFsIiwidG96ZXJvIiwibm9ubmVnYXRpdmUiXSxkZmx0OiJub3JtYWwiLGVkaXRUeXBlOiJwbG90In0scmFuZ2U6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGl0ZW1zOlt7dmFsVHlwZToiYW55IixlZGl0VHlwZToiYXhyYW5nZSIsaW1wbGllZEVkaXRzOnsiXmF1dG9yYW5nZSI6ITF9LGFuaW06ITB9LHt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJheHJhbmdlIixpbXBsaWVkRWRpdHM6eyJeYXV0b3JhbmdlIjohMX0sYW5pbTohMH1dLGVkaXRUeXBlOiJheHJhbmdlIixpbXBsaWVkRWRpdHM6e2F1dG9yYW5nZTohMX0sYW5pbTohMH0sZml4ZWRyYW5nZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToiY2FsYyJ9LHNjYWxlYW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6W2wuaWRSZWdleC54LnRvU3RyaW5nKCksbC5pZFJlZ2V4LnkudG9TdHJpbmcoKV0sZWRpdFR5cGU6InBsb3QifSxzY2FsZXJhdGlvOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MSxlZGl0VHlwZToicGxvdCJ9LGNvbnN0cmFpbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsicmFuZ2UiLCJkb21haW4iXSxkZmx0OiJyYW5nZSIsZWRpdFR5cGU6InBsb3QifSxjb25zdHJhaW50b3dhcmQ6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSJdLGVkaXRUeXBlOiJwbG90In0sbWF0Y2hlczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOltsLmlkUmVnZXgueC50b1N0cmluZygpLGwuaWRSZWdleC55LnRvU3RyaW5nKCldLGVkaXRUeXBlOiJjYWxjIn0sdGlja21vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImF1dG8iLCJsaW5lYXIiLCJhcnJheSJdLGVkaXRUeXBlOiJ0aWNrcyIsaW1wbGllZEVkaXRzOnt0aWNrMDp2b2lkIDAsZHRpY2s6dm9pZCAwfX0sbnRpY2tzOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6InRpY2tzIn0sdGljazA6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6InRpY2tzIixpbXBsaWVkRWRpdHM6e3RpY2ttb2RlOiJsaW5lYXIifX0sZHRpY2s6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6InRpY2tzIixpbXBsaWVkRWRpdHM6e3RpY2ttb2RlOiJsaW5lYXIifX0sdGlja3ZhbHM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJ0aWNrcyJ9LHRpY2t0ZXh0Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToidGlja3MifSx0aWNrczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsib3V0c2lkZSIsImluc2lkZSIsIiJdLGVkaXRUeXBlOiJ0aWNrcyJ9LHRpY2tzb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxhYmVscyIsImJvdW5kYXJpZXMiXSxkZmx0OiJsYWJlbHMiLGVkaXRUeXBlOiJ0aWNrcyJ9LG1pcnJvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlshMCwidGlja3MiLCExLCJhbGwiLCJhbGx0aWNrcyJdLGRmbHQ6ITEsZWRpdFR5cGU6InRpY2tzK2xheW91dHN0eWxlIn0sdGlja2xlbjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjUsZWRpdFR5cGU6InRpY2tzIn0sdGlja3dpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MSxlZGl0VHlwZToidGlja3MifSx0aWNrY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmEuZGVmYXVsdExpbmUsZWRpdFR5cGU6InRpY2tzIn0sc2hvd3RpY2tsYWJlbHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6InRpY2tzIn0sYXV0b21hcmdpbjp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToidGlja3MifSxzaG93c3Bpa2VzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExLGVkaXRUeXBlOiJtb2RlYmFyIn0sc3Bpa2Vjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6bnVsbCxlZGl0VHlwZToibm9uZSJ9LHNwaWtldGhpY2tuZXNzOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MyxlZGl0VHlwZToibm9uZSJ9LHNwaWtlZGFzaDpvKHt9LGkse2RmbHQ6ImRhc2giLGVkaXRUeXBlOiJub25lIn0pLHNwaWtlbW9kZTp7dmFsVHlwZToiZmxhZ2xpc3QiLGZsYWdzOlsidG9heGlzIiwiYWNyb3NzIiwibWFya2VyIl0sZGZsdDoidG9heGlzIixlZGl0VHlwZToibm9uZSJ9LHNwaWtlc25hcDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZGF0YSIsImN1cnNvciJdLGRmbHQ6ImRhdGEiLGVkaXRUeXBlOiJub25lIn0sdGlja2ZvbnQ6bih7ZWRpdFR5cGU6InRpY2tzIn0pLHRpY2thbmdsZTp7dmFsVHlwZToiYW5nbGUiLGRmbHQ6ImF1dG8iLGVkaXRUeXBlOiJ0aWNrcyJ9LHRpY2twcmVmaXg6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToidGlja3MifSxzaG93dGlja3ByZWZpeDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYWxsIiwiZmlyc3QiLCJsYXN0Iiwibm9uZSJdLGRmbHQ6ImFsbCIsZWRpdFR5cGU6InRpY2tzIn0sdGlja3N1ZmZpeDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJ0aWNrcyJ9LHNob3d0aWNrc3VmZml4Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhbGwiLCJmaXJzdCIsImxhc3QiLCJub25lIl0sZGZsdDoiYWxsIixlZGl0VHlwZToidGlja3MifSxzaG93ZXhwb25lbnQ6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImFsbCIsImZpcnN0IiwibGFzdCIsIm5vbmUiXSxkZmx0OiJhbGwiLGVkaXRUeXBlOiJ0aWNrcyJ9LGV4cG9uZW50Zm9ybWF0Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJub25lIiwiZSIsIkUiLCJwb3dlciIsIlNJIiwiQiJdLGRmbHQ6IkIiLGVkaXRUeXBlOiJ0aWNrcyJ9LHNlcGFyYXRldGhvdXNhbmRzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExLGVkaXRUeXBlOiJ0aWNrcyJ9LHRpY2tmb3JtYXQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToidGlja3MifSx0aWNrZm9ybWF0c3RvcHM6cygidGlja2Zvcm1hdHN0b3AiLHtlbmFibGVkOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJ0aWNrcyJ9LGR0aWNrcmFuZ2U6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGl0ZW1zOlt7dmFsVHlwZToiYW55IixlZGl0VHlwZToidGlja3MifSx7dmFsVHlwZToiYW55IixlZGl0VHlwZToidGlja3MifV0sZWRpdFR5cGU6InRpY2tzIn0sdmFsdWU6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToidGlja3MifSxlZGl0VHlwZToidGlja3MifSksaG92ZXJmb3JtYXQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToibm9uZSJ9LHNob3dsaW5lOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExLGVkaXRUeXBlOiJ0aWNrcytsYXlvdXRzdHlsZSJ9LGxpbmVjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6YS5kZWZhdWx0TGluZSxlZGl0VHlwZToibGF5b3V0c3R5bGUifSxsaW5ld2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxLGVkaXRUeXBlOiJ0aWNrcytsYXlvdXRzdHlsZSJ9LHNob3dncmlkOnt2YWxUeXBlOiJib29sZWFuIixlZGl0VHlwZToidGlja3MifSxncmlkY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmEubGlnaHRMaW5lLGVkaXRUeXBlOiJ0aWNrcyJ9LGdyaWR3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEsZWRpdFR5cGU6InRpY2tzIn0semVyb2xpbmU6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJ0aWNrcyJ9LHplcm9saW5lY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmEuZGVmYXVsdExpbmUsZWRpdFR5cGU6InRpY2tzIn0semVyb2xpbmV3aWR0aDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjEsZWRpdFR5cGU6InRpY2tzIn0sc2hvd2RpdmlkZXJzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJ0aWNrcyJ9LGRpdmlkZXJjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6YS5kZWZhdWx0TGluZSxlZGl0VHlwZToidGlja3MifSxkaXZpZGVyd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJ0aWNrcyJ9LGFuY2hvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZnJlZSIsbC5pZFJlZ2V4LngudG9TdHJpbmcoKSxsLmlkUmVnZXgueS50b1N0cmluZygpXSxlZGl0VHlwZToicGxvdCJ9LHNpZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGVkaXRUeXBlOiJwbG90In0sb3ZlcmxheWluZzp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZnJlZSIsbC5pZFJlZ2V4LngudG9TdHJpbmcoKSxsLmlkUmVnZXgueS50b1N0cmluZygpXSxlZGl0VHlwZToicGxvdCJ9LGxheWVyOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhYm92ZSB0cmFjZXMiLCJiZWxvdyB0cmFjZXMiXSxkZmx0OiJhYm92ZSB0cmFjZXMiLGVkaXRUeXBlOiJwbG90In0sZG9tYWluOnt2YWxUeXBlOiJpbmZvX2FycmF5IixpdGVtczpbe3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZWRpdFR5cGU6InBsb3QifSx7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZToicGxvdCJ9XSxkZmx0OlswLDFdLGVkaXRUeXBlOiJwbG90In0scG9zaXRpb246e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDowLGVkaXRUeXBlOiJwbG90In0sY2F0ZWdvcnlvcmRlcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsidHJhY2UiLCJjYXRlZ29yeSBhc2NlbmRpbmciLCJjYXRlZ29yeSBkZXNjZW5kaW5nIiwiYXJyYXkiLCJ0b3RhbCBhc2NlbmRpbmciLCJ0b3RhbCBkZXNjZW5kaW5nIiwibWluIGFzY2VuZGluZyIsIm1pbiBkZXNjZW5kaW5nIiwibWF4IGFzY2VuZGluZyIsIm1heCBkZXNjZW5kaW5nIiwic3VtIGFzY2VuZGluZyIsInN1bSBkZXNjZW5kaW5nIiwibWVhbiBhc2NlbmRpbmciLCJtZWFuIGRlc2NlbmRpbmciLCJtZWRpYW4gYXNjZW5kaW5nIiwibWVkaWFuIGRlc2NlbmRpbmciXSxkZmx0OiJ0cmFjZSIsZWRpdFR5cGU6ImNhbGMifSxjYXRlZ29yeWFycmF5Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHVpcmV2aXNpb246e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6Im5vbmUifSxlZGl0VHlwZToiY2FsYyIsX2RlcHJlY2F0ZWQ6e2F1dG90aWNrOnt2YWxUeXBlOiJib29sZWFuIixlZGl0VHlwZToidGlja3MifSx0aXRsZTp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToidGlja3MifSx0aXRsZWZvbnQ6bih7ZWRpdFR5cGU6InRpY2tzIn0pfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIjo1OTEsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZy9hdHRyaWJ1dGVzIjo2MTIsIi4uLy4uL2NvbnN0YW50cy9kb2NzIjo2ODgsIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi9mb250X2F0dHJpYnV0ZXMiOjc5MSwiLi9jb25zdGFudHMiOjc3MX1dLDc3ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxpPXQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKSxvPXQoIi4uL2xheW91dF9hdHRyaWJ1dGVzIikscz10KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksbD10KCIuL3R5cGVfZGVmYXVsdHMiKSxjPXQoIi4vYXhpc19kZWZhdWx0cyIpLHU9dCgiLi9jb25zdHJhaW50cyIpLmhhbmRsZUNvbnN0cmFpbnREZWZhdWx0cyxoPXQoIi4vcG9zaXRpb25fZGVmYXVsdHMiKSxmPXQoIi4vYXhpc19pZHMiKSxwPWYuaWQybmFtZSxkPWYubmFtZTJpZCxnPXQoIi4vY29uc3RhbnRzIikuQVhfSURfUEFUVEVSTix2PXQoIi4uLy4uL3JlZ2lzdHJ5IiksbT12LnRyYWNlSXMseT12LmdldENvbXBvbmVudE1ldGhvZDtmdW5jdGlvbiB4KHQsZSxyKXtBcnJheS5pc0FycmF5KHRbZV0pP3RbZV0ucHVzaChyKTp0W2VdPVtyXX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBmLHYsYj17fSxfPXt9LHc9e30saz17fSxUPXt9LE09e30sQT17fSxTPXt9LEU9e30sTD17fTtmb3IoZj0wO2Y8ci5sZW5ndGg7ZisrKXt2YXIgQz1yW2ZdO2lmKG0oQywiY2FydGVzaWFuIil8fG0oQywiZ2wyZCIpKXt2YXIgUCxPO2lmKEMueGF4aXMpUD1wKEMueGF4aXMpLHgoYixQLEMpO2Vsc2UgaWYoQy54YXhlcylmb3Iodj0wO3Y8Qy54YXhlcy5sZW5ndGg7disrKXgoYixwKEMueGF4ZXNbdl0pLEMpO2lmKEMueWF4aXMpTz1wKEMueWF4aXMpLHgoYixPLEMpO2Vsc2UgaWYoQy55YXhlcylmb3Iodj0wO3Y8Qy55YXhlcy5sZW5ndGg7disrKXgoYixwKEMueWF4ZXNbdl0pLEMpO2lmKCJmdW5uZWwiPT09Qy50eXBlPyJoIj09PUMub3JpZW50YXRpb24/KFAmJihfW1BdPSEwKSxPJiYoQVtPXT0hMCkpOk8mJih3W09dPSEwKToiaW1hZ2UiPT09Qy50eXBlPyhPJiYoU1tPXT0hMCksUCYmKFNbUF09ITApKTooTyYmKFRbT109ITAsTVtPXT0hMCksbShDLCJjYXJwZXQiKSYmKCJjYXJwZXQiIT09Qy50eXBlfHxDLl9jaGVhdGVyKXx8UCYmKGtbUF09ITApKSwiY2FycGV0Ij09PUMudHlwZSYmQy5fY2hlYXRlciYmUCYmKF9bUF09ITApLG0oQywiMmRNYXAiKSYmKEVbUF09ITAsRVtPXT0hMCksbShDLCJvcmllbnRlZCIpKUxbImgiPT09Qy5vcmllbnRhdGlvbj9POlBdPSEwfX12YXIgej1lLl9zdWJwbG90cyxJPXoueGF4aXMsRD16LnlheGlzLFI9bi5zaW1wbGVNYXAoSSxwKSxGPW4uc2ltcGxlTWFwKEQscCksQj1SLmNvbmNhdChGKSxOPWEuYmFja2dyb3VuZDtJLmxlbmd0aCYmRC5sZW5ndGgmJihOPW4uY29lcmNlKHQsZSxvLCJwbG90X2JnY29sb3IiKSk7dmFyIGosVixVLHEsSCxHPWEuY29tYmluZShOLGUucGFwZXJfYmdjb2xvcik7ZnVuY3Rpb24gWSgpe3ZhciB0PWJbal18fFtdO0guX3RyYWNlSW5kaWNlcz10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5fZXhwYW5kZWRJbmRleH0pLEguX2FubkluZGljZXM9W10sSC5fc2hhcGVJbmRpY2VzPVtdLEguX2ltZ0luZGljZXM9W10sSC5fc3VicGxvdHNXaXRoPVtdLEguX2NvdW50ZXJBeGVzPVtdLEguX25hbWU9SC5fYXR0cj1qLEguX2lkPVZ9ZnVuY3Rpb24gVyh0LGUpe3JldHVybiBuLmNvZXJjZShxLEgscyx0LGUpfWZ1bmN0aW9uIFgodCxlKXtyZXR1cm4gbi5jb2VyY2UyKHEsSCxzLHQsZSl9ZnVuY3Rpb24gWih0KXtyZXR1cm4ieCI9PT10P0Q6SX1mdW5jdGlvbiBKKGUscil7Zm9yKHZhciBuPSJ4Ij09PWU/UjpGLGE9W10saT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO289PT1yfHwodFtvXXx8e30pLm92ZXJsYXlpbmd8fGEucHVzaChkKG8pKX1yZXR1cm4gYX12YXIgSz17eDpaKCJ4IikseTpaKCJ5Iil9LFE9Sy54LmNvbmNhdChLLnkpLCQ9e30sdHQ9W107ZnVuY3Rpb24gZXQoKXt2YXIgdD1xLm1hdGNoZXM7Zy50ZXN0KHQpJiYtMT09PVEuaW5kZXhPZih0KSYmKCRbdF09cS50eXBlLHR0PU9iamVjdC5rZXlzKCQpKX1mb3IoZj0wO2Y8Qi5sZW5ndGg7ZisrKXtqPUJbZl0sVj1kKGopLFU9ai5jaGFyQXQoMCksbi5pc1BsYWluT2JqZWN0KHRbal0pfHwodFtqXT17fSkscT10W2pdLEg9aS5uZXdDb250YWluZXIoZSxqLFUrImF4aXMiKSxZKCk7dmFyIHJ0PSJ4Ij09PVUmJiFrW2pdJiZfW2pdfHwieSI9PT1VJiYhVFtqXSYmd1tqXSxudD0ieSI9PT1VJiYoIU1bal0mJkFbal18fFNbal0pLGF0PXtsZXR0ZXI6VSxmb250OmUuZm9udCxvdXRlclRpY2tzOkVbal0sc2hvd0dyaWQ6IUxbal0sZGF0YTpiW2pdfHxbXSxiZ0NvbG9yOkcsY2FsZW5kYXI6ZS5jYWxlbmRhcixhdXRvbWFyZ2luOiEwLHZpc2libGVEZmx0OnJ0LHJldmVyc2VEZmx0Om50LHNwbG9tU3Rhc2g6KChlLl9zcGxvbUF4ZXN8fHt9KVtVXXx8e30pW1ZdfTtXKCJ1aXJldmlzaW9uIixlLnVpcmV2aXNpb24pLGwocSxILFcsYXQpLGMocSxILFcsYXQsZSk7dmFyIGl0PVgoInNwaWtlY29sb3IiKSxvdD1YKCJzcGlrZXRoaWNrbmVzcyIpLHN0PVgoInNwaWtlZGFzaCIpLGx0PVgoInNwaWtlbW9kZSIpLGN0PVgoInNwaWtlc25hcCIpO1coInNob3dzcGlrZXMiLCEhKGl0fHxvdHx8c3R8fGx0fHxjdCkpfHwoZGVsZXRlIEguc3Bpa2Vjb2xvcixkZWxldGUgSC5zcGlrZXRoaWNrbmVzcyxkZWxldGUgSC5zcGlrZWRhc2gsZGVsZXRlIEguc3Bpa2Vtb2RlLGRlbGV0ZSBILnNwaWtlc25hcCksaChxLEgsVyx7bGV0dGVyOlUsY291bnRlckF4ZXM6S1tVXSxvdmVybGF5YWJsZUF4ZXM6SihVLGopLGdyaWQ6ZS5ncmlkfSksVygidGl0bGUuc3RhbmRvZmYiKSxldCgpLEguX2lucHV0PXF9Zm9yKGY9MDtmPHR0Lmxlbmd0aDspe1Y9dHRbZisrXSxVPShqPXAoVikpLmNoYXJBdCgwKSxuLmlzUGxhaW5PYmplY3QodFtqXSl8fCh0W2pdPXt9KSxxPXRbal0sSD1pLm5ld0NvbnRhaW5lcihlLGosVSsiYXhpcyIpLFkoKTt2YXIgdXQ9e2xldHRlcjpVLGZvbnQ6ZS5mb250LG91dGVyVGlja3M6RVtqXSxzaG93R3JpZDohTFtqXSxkYXRhOltdLGJnQ29sb3I6RyxjYWxlbmRhcjplLmNhbGVuZGFyLGF1dG9tYXJnaW46ITAsdmlzaWJsZURmbHQ6ITEscmV2ZXJzZURmbHQ6ITEsc3Bsb21TdGFzaDooKGUuX3NwbG9tQXhlc3x8e30pW1VdfHx7fSlbVl19O1coInVpcmV2aXNpb24iLGUudWlyZXZpc2lvbiksSC50eXBlPSRbVl18fCJsaW5lYXIiLGMocSxILFcsdXQsZSksaChxLEgsVyx7bGV0dGVyOlUsY291bnRlckF4ZXM6S1tVXSxvdmVybGF5YWJsZUF4ZXM6SihVLGopLGdyaWQ6ZS5ncmlkfSksVygiZml4ZWRyYW5nZSIpLGV0KCksSC5faW5wdXQ9cX12YXIgaHQ9eSgicmFuZ2VzbGlkZXIiLCJoYW5kbGVEZWZhdWx0cyIpLGZ0PXkoInJhbmdlc2VsZWN0b3IiLCJoYW5kbGVEZWZhdWx0cyIpO2ZvcihmPTA7ZjxSLmxlbmd0aDtmKyspaj1SW2ZdLHE9dFtqXSxIPWVbal0saHQodCxlLGopLCJkYXRlIj09PUgudHlwZSYmZnQocSxILGUsRixILmNhbGVuZGFyKSxXKCJmaXhlZHJhbmdlIik7Zm9yKGY9MDtmPEYubGVuZ3RoO2YrKyl7aj1GW2ZdLHE9dFtqXSxIPWVbal07dmFyIHB0PWVbcChILmFuY2hvcildO1coImZpeGVkcmFuZ2UiLHkoInJhbmdlc2xpZGVyIiwiaXNWaXNpYmxlIikocHQpKX12YXIgZHQ9ZS5fYXhpc0NvbnN0cmFpbnRHcm91cHM9W10sZ3Q9ZS5fYXhpc01hdGNoR3JvdXBzPVtdLHZ0PVEuY29uY2F0KHR0KSxtdD1CLmNvbmNhdChuLnNpbXBsZU1hcCh0dCxwKSk7Zm9yKGY9MDtmPG10Lmxlbmd0aDtmKyspe3ZhciB5dCx4dDtVPShqPW10W2ZdKS5jaGFyQXQoMCkscT10W2pdLEg9ZVtqXSx5dD0ieSI9PT1VJiYhcS5oYXNPd25Qcm9wZXJ0eSgic2NhbGVhbmNob3IiKSYmU1tqXT9ILmFuY2hvcjp2b2lkIDAseHQ9IXEuaGFzT3duUHJvcGVydHkoImNvbnN0cmFpbiIpJiZTW2pdPyJkb21haW4iOnZvaWQgMCx1KHEsSCxXLHthbGxBeGlzSWRzOnZ0LGxheW91dE91dDplLHNjYWxlYW5jaG9yRGZsdDp5dCxjb25zdHJhaW5EZmx0Onh0fSl9Zm9yKGY9MDtmPGd0Lmxlbmd0aDtmKyspe3ZhciBidD1ndFtmXSxfdD1udWxsLHd0PW51bGw7Zm9yKFYgaW4gYnQpKEg9ZVtwKFYpXSkubWF0Y2hlc3x8KF90PUgucmFuZ2Usd3Q9SC5hdXRvcmFuZ2UpO2lmKG51bGw9PT1fdHx8bnVsbD09PXd0KWZvcihWIGluIGJ0KXtfdD0oSD1lW3AoVildKS5yYW5nZSx3dD1ILmF1dG9yYW5nZTticmVha31mb3IoViBpbiBidCkoSD1lW3AoVildKS5tYXRjaGVzJiYoSC5yYW5nZT1fdC5zbGljZSgpLEguYXV0b3JhbmdlPXd0KSxILl9tYXRjaEdyb3VwPWJ0O2lmKGR0Lmxlbmd0aClmb3IoViBpbiBidClmb3Iodj0wO3Y8ZHQubGVuZ3RoO3YrKyl7dmFyIGt0PWR0W3ZdO2Zvcih2YXIgVHQgaW4ga3QpVj09PVR0JiYobi53YXJuKCJBeGlzICIrVHQrIiBpcyBzZXQgd2l0aCBib3RoIGEgKnNjYWxlYW5jaG9yKiBhbmQgKm1hdGNoZXMqIGNvbnN0cmFpbnQ7IGlnbm9yaW5nIHRoZSBzY2FsZSBjb25zdHJhaW50LiIpLGRlbGV0ZSBrdFtUdF0sT2JqZWN0LmtleXMoa3QpLmxlbmd0aDwyJiZkdC5zcGxpY2UodiwxKSl9fX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9sYXlvdXRfYXR0cmlidXRlcyI6ODE3LCIuL2F4aXNfZGVmYXVsdHMiOjc2NywiLi9heGlzX2lkcyI6NzY4LCIuL2NvbnN0YW50cyI6NzcxLCIuL2NvbnN0cmFpbnRzIjo3NzIsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi9wb3NpdGlvbl9kZWZhdWx0cyI6NzgwLCIuL3R5cGVfZGVmYXVsdHMiOjc4OH1dLDc3OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0aW55Y29sb3IyIikubWl4LGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIikubGlnaHRGcmFjdGlvbixpPXQoIi4uLy4uL2xpYiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXt2YXIgcz0obz1vfHx7fSkuZGZsdENvbG9yO2Z1bmN0aW9uIGwocixuKXtyZXR1cm4gaS5jb2VyY2UyKHQsZSxvLmF0dHJpYnV0ZXMscixuKX12YXIgYz1sKCJsaW5lY29sb3IiLHMpLHU9bCgibGluZXdpZHRoIik7cigic2hvd2xpbmUiLG8uc2hvd0xpbmV8fCEhY3x8ISF1KXx8KGRlbGV0ZSBlLmxpbmVjb2xvcixkZWxldGUgZS5saW5ld2lkdGgpO3ZhciBoPWwoImdyaWRjb2xvciIsbihzLG8uYmdDb2xvcixvLmJsZW5kfHxhKS50b1JnYlN0cmluZygpKSxmPWwoImdyaWR3aWR0aCIpO2lmKHIoInNob3dncmlkIixvLnNob3dHcmlkfHwhIWh8fCEhZil8fChkZWxldGUgZS5ncmlkY29sb3IsZGVsZXRlIGUuZ3JpZHdpZHRoKSwhby5ub1plcm9MaW5lKXt2YXIgcD1sKCJ6ZXJvbGluZWNvbG9yIixzKSxkPWwoInplcm9saW5ld2lkdGgiKTtyKCJ6ZXJvbGluZSIsby5zaG93R3JpZHx8ISFwfHwhIWQpfHwoZGVsZXRlIGUuemVyb2xpbmVjb2xvcixkZWxldGUgZS56ZXJvbGluZXdpZHRoKX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyI6NTkxLCIuLi8uLi9saWIiOjcxNyx0aW55Y29sb3IyOjUzNn1dLDc4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvLHMsbCxjLHU9aS5jb3VudGVyQXhlc3x8W10saD1pLm92ZXJsYXlhYmxlQXhlc3x8W10sZj1pLmxldHRlcixwPWkuZ3JpZDtwJiYocz1wLl9kb21haW5zW2ZdW3AuX2F4aXNNYXBbZS5faWRdXSxvPXAuX2FuY2hvcnNbZS5faWRdLHMmJihsPXBbZisic2lkZSJdLnNwbGl0KCIgIilbMF0sYz1wLmRvbWFpbltmXVsicmlnaHQiPT09bHx8InRvcCI9PT1sPzE6MF0pKSxzPXN8fFswLDFdLG89b3x8KG4odC5wb3NpdGlvbik/ImZyZWUiOnVbMF18fCJmcmVlIiksbD1sfHwoIngiPT09Zj8iYm90dG9tIjoibGVmdCIpLGM9Y3x8MCwiZnJlZSI9PT1hLmNvZXJjZSh0LGUse2FuY2hvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZnJlZSJdLmNvbmNhdCh1KSxkZmx0Om99fSwiYW5jaG9yIikmJnIoInBvc2l0aW9uIixjKSxhLmNvZXJjZSh0LGUse3NpZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczoieCI9PT1mP1siYm90dG9tIiwidG9wIl06WyJsZWZ0IiwicmlnaHQiXSxkZmx0Omx9fSwic2lkZSIpO3ZhciBkPSExO2lmKGgubGVuZ3RoJiYoZD1hLmNvZXJjZSh0LGUse292ZXJsYXlpbmc6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITFdLmNvbmNhdChoKSxkZmx0OiExfX0sIm92ZXJsYXlpbmciKSksIWQpe3ZhciBnPXIoImRvbWFpbiIscyk7Z1swXT5nWzFdLTEvNDA5NiYmKGUuZG9tYWluPXMpLGEubm9uZU9yQWxsKHQuZG9tYWluLGUuZG9tYWluLHMpfXJldHVybiByKCJsYXllciIpLGV9fSx7Ii4uLy4uL2xpYiI6NzE3LCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sNzgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbnN0YW50cy9hbGlnbm1lbnQiKS5GUk9NX0JMO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dm9pZCAwPT09ciYmKHI9blt0LmNvbnN0cmFpbnRvd2FyZHx8ImNlbnRlciJdKTt2YXIgYT1bdC5yMmwodC5yYW5nZVswXSksdC5yMmwodC5yYW5nZVsxXSldLGk9YVswXSsoYVsxXS1hWzBdKSpyO3QucmFuZ2U9dC5faW5wdXQucmFuZ2U9W3QubDJyKGkrKGFbMF0taSkqZSksdC5sMnIoaSsoYVsxXS1pKSplKV19fSx7Ii4uLy4uL2NvbnN0YW50cy9hbGlnbm1lbnQiOjY4Nn1dLDc4MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJwb2x5Ym9vbGpzIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLHM9dCgiLi4vLi4vbGliIiksbD10KCIuLi8uLi9saWIvcG9seWdvbiIpLGM9dCgiLi4vLi4vbGliL3Rocm90dGxlIiksdT10KCIuLi8uLi9jb21wb25lbnRzL2Z4L2hlbHBlcnMiKS5tYWtlRXZlbnREYXRhLGg9dCgiLi9heGlzX2lkcyIpLmdldEZyb21JZCxmPXQoIi4uLy4uL2xpYi9jbGVhcl9nbF9jYW52YXNlcyIpLHA9dCgiLi4vLi4vcGxvdF9hcGkvc3Vicm91dGluZXMiKS5yZWRyYXdSZWdsVHJhY2VzLGQ9dCgiLi9jb25zdGFudHMiKSxnPWQuTUlOU0VMRUNULHY9bC5maWx0ZXIsbT1sLnRlc3RlcjtmdW5jdGlvbiB5KHQpe3JldHVybiB0Ll9pZH1mdW5jdGlvbiB4KHQsZSxyLG4sYSxpLG8pe3ZhciBzLGwsYyx1LGgsZixwLGQsZyx2PWUuX2hvdmVyZGF0YSxtPWUuX2Z1bGxMYXlvdXQuY2xpY2ttb2RlLmluZGV4T2YoImV2ZW50Iik+LTEseT1bXTtpZihmdW5jdGlvbih0KXtyZXR1cm4gdCYmQXJyYXkuaXNBcnJheSh0KSYmITAhPT10WzBdLmhvdmVyT25Cb3h9KHYpKXtrKHQsZSxpKTt2YXIgeD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT10WzBdLGk9LTEsbz1bXTtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWlmKHI9ZVtuXSxhLmZ1bGxEYXRhLl9leHBhbmRlZEluZGV4PT09ci5jZFswXS50cmFjZS5fZXhwYW5kZWRJbmRleCl7aWYoITA9PT1hLmhvdmVyT25Cb3gpYnJlYWs7dm9pZCAwIT09YS5wb2ludE51bWJlcj9pPWEucG9pbnROdW1iZXI6dm9pZCAwIT09YS5iaW5OdW1iZXImJihpPWEuYmluTnVtYmVyLG89YS5wb2ludE51bWJlcnMpO2JyZWFrfXJldHVybntwb2ludE51bWJlcjppLHBvaW50TnVtYmVyczpvLHNlYXJjaEluZm86cn19KHYscz1NKGUscixuLGEpKTtpZih4LnBvaW50TnVtYmVycy5sZW5ndGg+MD9mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpPVtdO2ZvcihhPTA7YTx0Lmxlbmd0aDthKyspKHI9dFthXSkuY2RbMF0udHJhY2Uuc2VsZWN0ZWRwb2ludHMmJnIuY2RbMF0udHJhY2Uuc2VsZWN0ZWRwb2ludHMubGVuZ3RoPjAmJmkucHVzaChyKTtpZigxPT09aS5sZW5ndGgmJmlbMF09PT1lLnNlYXJjaEluZm8mJihuPWUuc2VhcmNoSW5mby5jZFswXS50cmFjZSkuc2VsZWN0ZWRwb2ludHMubGVuZ3RoPT09ZS5wb2ludE51bWJlcnMubGVuZ3RoKXtmb3IoYT0wO2E8ZS5wb2ludE51bWJlcnMubGVuZ3RoO2ErKylpZihuLnNlbGVjdGVkcG9pbnRzLmluZGV4T2YoZS5wb2ludE51bWJlcnNbYV0pPDApcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9KHMseCk6ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9MDtmb3Iobj0wO248dC5sZW5ndGg7bisrKWlmKGU9dFtuXSwocj1lLmNkWzBdLnRyYWNlKS5zZWxlY3RlZHBvaW50cyl7aWYoci5zZWxlY3RlZHBvaW50cy5sZW5ndGg+MSlyZXR1cm4hMTtpZigoYSs9ci5zZWxlY3RlZHBvaW50cy5sZW5ndGgpPjEpcmV0dXJuITF9cmV0dXJuIDE9PT1hfShzKSYmKGY9Uyh4KSkpe2ZvcihvJiZvLnJlbW92ZSgpLGc9MDtnPHMubGVuZ3RoO2crKykobD1zW2ddKS5fbW9kdWxlLnNlbGVjdFBvaW50cyhsLCExKTtFKGUscyksVChpKSxtJiZlLmVtaXQoInBsb3RseV9kZXNlbGVjdCIsbnVsbCl9ZWxzZXtmb3IocD10LnNoaWZ0S2V5JiYodm9pZCAwIT09Zj9mOlMoeCkpLGM9ZnVuY3Rpb24odCxlLHIpe3JldHVybntwb2ludE51bWJlcjp0LHNlYXJjaEluZm86ZSxzdWJ0cmFjdDpyfX0oeC5wb2ludE51bWJlcix4LnNlYXJjaEluZm8scCksdT13KGkuc2VsZWN0aW9uRGVmcy5jb25jYXQoW2NdKSksZz0wO2c8cy5sZW5ndGg7ZysrKWlmKGg9TChzW2ddLl9tb2R1bGUuc2VsZWN0UG9pbnRzKHNbZ10sdSksc1tnXSkseS5sZW5ndGgpZm9yKHZhciBiPTA7YjxoLmxlbmd0aDtiKyspeS5wdXNoKGhbYl0pO2Vsc2UgeT1oO0UoZSxzLGQ9e3BvaW50czp5fSksYyYmaSYmaS5zZWxlY3Rpb25EZWZzLnB1c2goYyksbyYmQShpLm1lcmdlZFBvbHlnb25zLG8pLG0mJmUuZW1pdCgicGxvdGx5X3NlbGVjdGVkIixkKX19fWZ1bmN0aW9uIGIodCl7cmV0dXJuInBvaW50TnVtYmVyImluIHQmJiJzZWFyY2hJbmZvImluIHR9ZnVuY3Rpb24gXyh0KXtyZXR1cm57eG1pbjowLHhtYXg6MCx5bWluOjAseW1heDowLHB0czpbXSxjb250YWluczpmdW5jdGlvbihlLHIsbixhKXt2YXIgaT10LnNlYXJjaEluZm8uY2RbMF0udHJhY2UuX2V4cGFuZGVkSW5kZXg7cmV0dXJuIGEuY2RbMF0udHJhY2UuX2V4cGFuZGVkSW5kZXg9PT1pJiZuPT09dC5wb2ludE51bWJlcn0saXNSZWN0OiExLGRlZ2VuZXJhdGU6ITEsc3VidHJhY3Q6dC5zdWJ0cmFjdH19ZnVuY3Rpb24gdyh0KXtmb3IodmFyIGU9W10scj1iKHRbMF0pPzA6dFswXVswXVswXSxuPXIsYT1iKHRbMF0pPzA6dFswXVswXVsxXSxpPWEsbz0wO288dC5sZW5ndGg7bysrKWlmKGIodFtvXSkpZS5wdXNoKF8odFtvXSkpO2Vsc2V7dmFyIHM9bC50ZXN0ZXIodFtvXSk7cy5zdWJ0cmFjdD10W29dLnN1YnRyYWN0LGUucHVzaChzKSxyPU1hdGgubWluKHIscy54bWluKSxuPU1hdGgubWF4KG4scy54bWF4KSxhPU1hdGgubWluKGEscy55bWluKSxpPU1hdGgubWF4KGkscy55bWF4KX1yZXR1cm57eG1pbjpyLHhtYXg6bix5bWluOmEseW1heDppLHB0czpbXSxjb250YWluczpmdW5jdGlvbih0LHIsbixhKXtmb3IodmFyIGk9ITEsbz0wO288ZS5sZW5ndGg7bysrKWVbb10uY29udGFpbnModCxyLG4sYSkmJihpPSExPT09ZVtvXS5zdWJ0cmFjdCk7cmV0dXJuIGl9LGlzUmVjdDohMSxkZWdlbmVyYXRlOiExfX1mdW5jdGlvbiBrKHQsZSxyKXt2YXIgbj1lLl9mdWxsTGF5b3V0LGE9ci5wbG90aW5mbyxpPW4uX2xhc3RTZWxlY3RlZFN1YnBsb3QmJm4uX2xhc3RTZWxlY3RlZFN1YnBsb3Q9PT1hLmlkLG89dC5zaGlmdEtleXx8dC5hbHRLZXk7aSYmbyYmYS5zZWxlY3Rpb24mJmEuc2VsZWN0aW9uLnNlbGVjdGlvbkRlZnMmJiFyLnNlbGVjdGlvbkRlZnM/KHIuc2VsZWN0aW9uRGVmcz1hLnNlbGVjdGlvbi5zZWxlY3Rpb25EZWZzLHIubWVyZ2VkUG9seWdvbnM9YS5zZWxlY3Rpb24ubWVyZ2VkUG9seWdvbnMpOm8mJmEuc2VsZWN0aW9ufHxUKHIpLGl8fChDKGUpLG4uX2xhc3RTZWxlY3RlZFN1YnBsb3Q9YS5pZCl9ZnVuY3Rpb24gVCh0KXt2YXIgZT10LnBsb3RpbmZvO2Uuc2VsZWN0aW9uPXt9LGUuc2VsZWN0aW9uLnNlbGVjdGlvbkRlZnM9dC5zZWxlY3Rpb25EZWZzPVtdLGUuc2VsZWN0aW9uLm1lcmdlZFBvbHlnb25zPXQubWVyZ2VkUG9seWdvbnM9W119ZnVuY3Rpb24gTSh0LGUscixuKXt2YXIgYSxpLG8scz1bXSxsPWUubWFwKHkpLGM9ci5tYXAoeSk7Zm9yKG89MDtvPHQuY2FsY2RhdGEubGVuZ3RoO28rKylpZighMD09PShpPShhPXQuY2FsY2RhdGFbb10pWzBdLnRyYWNlKS52aXNpYmxlJiZpLl9tb2R1bGUmJmkuX21vZHVsZS5zZWxlY3RQb2ludHMpaWYoIW58fGkuc3VicGxvdCE9PW4mJmkuZ2VvIT09bilpZigic3Bsb20iPT09aS50eXBlJiZpLl94YXhlc1tsWzBdXSYmaS5feWF4ZXNbY1swXV0pe3ZhciB1PXAoaS5fbW9kdWxlLGEsZVswXSxyWzBdKTt1LnNjZW5lPXQuX2Z1bGxMYXlvdXQuX3NwbG9tU2NlbmVzW2kudWlkXSxzLnB1c2godSl9ZWxzZSBpZigic2Fua2V5Ij09PWkudHlwZSl7dmFyIGY9cChpLl9tb2R1bGUsYSxlWzBdLHJbMF0pO3MucHVzaChmKX1lbHNle2lmKC0xPT09bC5pbmRleE9mKGkueGF4aXMpKWNvbnRpbnVlO2lmKC0xPT09Yy5pbmRleE9mKGkueWF4aXMpKWNvbnRpbnVlO3MucHVzaChwKGkuX21vZHVsZSxhLGgodCxpLnhheGlzKSxoKHQsaS55YXhpcykpKX1lbHNlIHMucHVzaChwKGkuX21vZHVsZSxhLGVbMF0sclswXSkpO3JldHVybiBzO2Z1bmN0aW9uIHAodCxlLHIsbil7cmV0dXJue19tb2R1bGU6dCxjZDplLHhheGlzOnIseWF4aXM6bn19fWZ1bmN0aW9uIEEodCxlKXt2YXIgcixuLGE9W107Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGk9dFtyXTthLnB1c2goaS5qb2luKCJMIikrIkwiK2lbMF0pfW49dC5sZW5ndGg+MD8iTSIrYS5qb2luKCJNIikrIloiOiJNMCwwWiIsZS5hdHRyKCJkIixuKX1mdW5jdGlvbiBTKHQpe3ZhciBlPXQuc2VhcmNoSW5mby5jZFswXS50cmFjZSxyPXQucG9pbnROdW1iZXIsbj10LnBvaW50TnVtYmVycyxhPW4ubGVuZ3RoPjA/blswXTpyO3JldHVybiEhZS5zZWxlY3RlZHBvaW50cyYmZS5zZWxlY3RlZHBvaW50cy5pbmRleE9mKGEpPi0xfWZ1bmN0aW9uIEUodCxlLHIpe3ZhciBuLGksbyxzO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBsPWVbbl0uY2RbMF0udHJhY2UuX2Z1bGxJbnB1dCxjPXQuX2Z1bGxMYXlvdXQuX3RyYWNlUHJlR1VJW2wudWlkXXx8e307dm9pZCAwPT09Yy5zZWxlY3RlZHBvaW50cyYmKGMuc2VsZWN0ZWRwb2ludHM9bC5faW5wdXQuc2VsZWN0ZWRwb2ludHN8fG51bGwpfWlmKHIpe3ZhciB1PXIucG9pbnRzfHxbXTtmb3Iobj0wO248ZS5sZW5ndGg7bisrKShzPWVbbl0uY2RbMF0udHJhY2UpLl9pbnB1dC5zZWxlY3RlZHBvaW50cz1zLl9mdWxsSW5wdXQuc2VsZWN0ZWRwb2ludHM9W10scy5fZnVsbElucHV0IT09cyYmKHMuc2VsZWN0ZWRwb2ludHM9W10pO2ZvcihuPTA7bjx1Lmxlbmd0aDtuKyspe3ZhciBoPXVbbl0sZD1oLmRhdGEsZz1oLmZ1bGxEYXRhO2gucG9pbnRJbmRpY2VzPyhbXS5wdXNoLmFwcGx5KGQuc2VsZWN0ZWRwb2ludHMsaC5wb2ludEluZGljZXMpLHMuX2Z1bGxJbnB1dCE9PXMmJltdLnB1c2guYXBwbHkoZy5zZWxlY3RlZHBvaW50cyxoLnBvaW50SW5kaWNlcykpOihkLnNlbGVjdGVkcG9pbnRzLnB1c2goaC5wb2ludEluZGV4KSxzLl9mdWxsSW5wdXQhPT1zJiZnLnNlbGVjdGVkcG9pbnRzLnB1c2goaC5wb2ludEluZGV4KSl9fWVsc2UgZm9yKG49MDtuPGUubGVuZ3RoO24rKylkZWxldGUocz1lW25dLmNkWzBdLnRyYWNlKS5zZWxlY3RlZHBvaW50cyxkZWxldGUgcy5faW5wdXQuc2VsZWN0ZWRwb2ludHMscy5fZnVsbElucHV0IT09cyYmZGVsZXRlIHMuX2Z1bGxJbnB1dC5zZWxlY3RlZHBvaW50czt2YXIgdj0hMTtmb3Iobj0wO248ZS5sZW5ndGg7bisrKXtzPShvPShpPWVbbl0pLmNkKVswXS50cmFjZSxhLnRyYWNlSXMocywicmVnbCIpJiYodj0hMCk7dmFyIG09aS5fbW9kdWxlLHk9bS5zdHlsZU9uU2VsZWN0fHxtLnN0eWxlO3kmJih5KHQsbyxvWzBdLm5vZGUzKSxvWzBdLm5vZGVSYW5nZVBsb3QzJiZ5KHQsbyxvWzBdLm5vZGVSYW5nZVBsb3QzKSl9diYmKGYodCkscCh0KSl9ZnVuY3Rpb24gTCh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciByPWUuY2Qsbj1lLmNkWzBdLnRyYWNlLGE9MDthPHQubGVuZ3RoO2ErKyl0W2FdPXUodFthXSxuLHIpO3JldHVybiB0fWZ1bmN0aW9uIEModCl7dmFyIGU9KHQuX2Z1bGxMYXlvdXR8fHt9KS5fem9vbWxheWVyO2UmJmUuc2VsZWN0QWxsKCIuc2VsZWN0LW91dGxpbmUiKS5yZW1vdmUoKX1lLmV4cG9ydHM9e3ByZXBTZWxlY3Q6ZnVuY3Rpb24odCxlLHIsYSxsKXt2YXIgdSxoLGYscCx5LGIsXyxTPWEuZ2QsQz1TLl9mdWxsTGF5b3V0LFA9Qy5fem9vbWxheWVyLE89YS5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHo9YS5wbG90aW5mbyxJPXoueGF4aXMuX29mZnNldCxEPXoueWF4aXMuX29mZnNldCxSPWUtTy5sZWZ0LEY9ci1PLnRvcCxCPVIsTj1GLGo9Ik0iK1IrIiwiK0YsVj1hLnhheGVzWzBdLl9sZW5ndGgsVT1hLnlheGVzWzBdLl9sZW5ndGgscT1hLnhheGVzLmNvbmNhdChhLnlheGVzKSxIPXQuYWx0S2V5O2sodCxTLGEpLCJsYXNzbyI9PT1sJiYodT12KFtbUixGXV0sZC5CRU5EUFgpKTt2YXIgRz1QLnNlbGVjdEFsbCgicGF0aC5zZWxlY3Qtb3V0bGluZS0iK3ouaWQpLmRhdGEoWzEsMl0pO0cuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuInNlbGVjdC1vdXRsaW5lIHNlbGVjdC1vdXRsaW5lLSIrdCsiIHNlbGVjdC1vdXRsaW5lLSIrei5pZH0pLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0krIiwgIitEKyIpIikuYXR0cigiZCIsaisiWiIpO3ZhciBZLFc9UC5hcHBlbmQoInBhdGgiKS5hdHRyKCJjbGFzcyIsInpvb21ib3gtY29ybmVycyIpLnN0eWxlKHtmaWxsOmkuYmFja2dyb3VuZCxzdHJva2U6aS5kZWZhdWx0TGluZSwic3Ryb2tlLXdpZHRoIjoxfSkuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrSSsiLCAiK0QrIikiKS5hdHRyKCJkIiwiTTAsMFoiKSxYPUMuX3VpZCtkLlNFTEVDVElELFo9W10sSj1NKFMsYS54YXhlcyxhLnlheGVzLGEuc3VicGxvdCk7ZnVuY3Rpb24gSyh0LGUpe3JldHVybiJsb2ciPT09dC50eXBlP3QucDJkKGUpOnQucDJyKGUpfWZ1bmN0aW9uIFEodCl7dmFyIGU9InkiPT09dC5faWQuY2hhckF0KDApPzE6MDtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIEsodCxyW2VdKX19ZnVuY3Rpb24gJCh0LGUpe3JldHVybiB0LWV9WT16LmZpbGxSYW5nZUl0ZW1zP3ouZmlsbFJhbmdlSXRlbXM6InNlbGVjdCI9PT1sP2Z1bmN0aW9uKHQsZSl7dmFyIHI9dC5yYW5nZT17fTtmb3IoeT0wO3k8cS5sZW5ndGg7eSsrKXt2YXIgbj1xW3ldLGE9bi5faWQuY2hhckF0KDApO3Jbbi5faWRdPVtLKG4sZVthKyJtaW4iXSksSyhuLGVbYSsibWF4Il0pXS5zb3J0KCQpfX06ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQubGFzc29Qb2ludHM9e307Zm9yKHk9MDt5PHEubGVuZ3RoO3krKyl7dmFyIGE9cVt5XTtuW2EuX2lkXT1yLmZpbHRlcmVkLm1hcChRKGEpKX19LGEubW92ZUZuPWZ1bmN0aW9uKHQsZSl7Qj1NYXRoLm1heCgwLE1hdGgubWluKFYsdCtSKSksTj1NYXRoLm1heCgwLE1hdGgubWluKFUsZStGKSk7dmFyIHI9TWF0aC5hYnMoQi1SKSxpPU1hdGguYWJzKE4tRik7aWYoInNlbGVjdCI9PT1sKXt2YXIgbz1DLnNlbGVjdGRpcmVjdGlvbjsiaCI9PT0obz0iYW55Ij09PUMuc2VsZWN0ZGlyZWN0aW9uP2k8TWF0aC5taW4oLjYqcixnKT8iaCI6cjxNYXRoLm1pbiguNippLGcpPyJ2IjoiZCI6Qy5zZWxlY3RkaXJlY3Rpb24pPygocD1bW1IsMF0sW1IsVV0sW0IsVV0sW0IsMF1dKS54bWluPU1hdGgubWluKFIsQikscC54bWF4PU1hdGgubWF4KFIsQikscC55bWluPU1hdGgubWluKDAsVSkscC55bWF4PU1hdGgubWF4KDAsVSksVy5hdHRyKCJkIiwiTSIrcC54bWluKyIsIisoRi1nKSsiaC00diIrMipnKyJoNFpNIisocC54bWF4LTEpKyIsIisoRi1nKSsiaDR2IisyKmcrImgtNFoiKSk6InYiPT09bz8oKHA9W1swLEZdLFswLE5dLFtWLE5dLFtWLEZdXSkueG1pbj1NYXRoLm1pbigwLFYpLHAueG1heD1NYXRoLm1heCgwLFYpLHAueW1pbj1NYXRoLm1pbihGLE4pLHAueW1heD1NYXRoLm1heChGLE4pLFcuYXR0cigiZCIsIk0iKyhSLWcpKyIsIitwLnltaW4rInYtNGgiKzIqZysidjRaTSIrKFItZykrIiwiKyhwLnltYXgtMSkrInY0aCIrMipnKyJ2LTRaIikpOiJkIj09PW8mJigocD1bW1IsRl0sW1IsTl0sW0IsTl0sW0IsRl1dKS54bWluPU1hdGgubWluKFIsQikscC54bWF4PU1hdGgubWF4KFIsQikscC55bWluPU1hdGgubWluKEYsTikscC55bWF4PU1hdGgubWF4KEYsTiksVy5hdHRyKCJkIiwiTTAsMFoiKSl9ZWxzZSJsYXNzbyI9PT1sJiYodS5hZGRQdChbQixOXSkscD11LmZpbHRlcmVkKTthLnNlbGVjdGlvbkRlZnMmJmEuc2VsZWN0aW9uRGVmcy5sZW5ndGg/KGY9ZnVuY3Rpb24odCxlLHIpe3JldHVybiByP24uZGlmZmVyZW5jZSh7cmVnaW9uczp0LGludmVydGVkOiExfSx7cmVnaW9uczpbZV0saW52ZXJ0ZWQ6ITF9KS5yZWdpb25zOm4udW5pb24oe3JlZ2lvbnM6dCxpbnZlcnRlZDohMX0se3JlZ2lvbnM6W2VdLGludmVydGVkOiExfSkucmVnaW9uc30oYS5tZXJnZWRQb2x5Z29ucyxwLEgpLHAuc3VidHJhY3Q9SCxoPXcoYS5zZWxlY3Rpb25EZWZzLmNvbmNhdChbcF0pKSk6KGY9W3BdLGg9bShwKSksQShmLEcpLGMudGhyb3R0bGUoWCxkLlNFTEVDVERFTEFZLGZ1bmN0aW9uKCl7dmFyIHQ7Wj1bXTt2YXIgZSxyPVtdO2Zvcih5PTA7eTxKLmxlbmd0aDt5KyspaWYoZT0oYj1KW3ldKS5fbW9kdWxlLnNlbGVjdFBvaW50cyhiLGgpLHIucHVzaChlKSx0PUwoZSxiKSxaLmxlbmd0aClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylaLnB1c2godFtuXSk7ZWxzZSBaPXQ7RShTLEosXz17cG9pbnRzOlp9KSxZKF8scCx1KSxhLmdkLmVtaXQoInBsb3RseV9zZWxlY3RpbmciLF8pfSl9LGEuY2xpY2tGbj1mdW5jdGlvbih0LGUpe3ZhciByPUMuY2xpY2ttb2RlO1cucmVtb3ZlKCksYy5kb25lKFgpLnRoZW4oZnVuY3Rpb24oKXtpZihjLmNsZWFyKFgpLDI9PT10KXtmb3IoRy5yZW1vdmUoKSx5PTA7eTxKLmxlbmd0aDt5KyspKGI9Slt5XSkuX21vZHVsZS5zZWxlY3RQb2ludHMoYiwhMSk7RShTLEopLFQoYSksUy5lbWl0KCJwbG90bHlfZGVzZWxlY3QiLG51bGwpfWVsc2Ugci5pbmRleE9mKCJzZWxlY3QiKT4tMSYmeChlLFMsYS54YXhlcyxhLnlheGVzLGEuc3VicGxvdCxhLEcpLCJldmVudCI9PT1yJiZTLmVtaXQoInBsb3RseV9zZWxlY3RlZCIsdm9pZCAwKTtvLmNsaWNrKFMsZSl9KS5jYXRjaChzLmVycm9yKX0sYS5kb25lRm49ZnVuY3Rpb24oKXtXLnJlbW92ZSgpLGMuZG9uZShYKS50aGVuKGZ1bmN0aW9uKCl7Yy5jbGVhcihYKSxhLmdkLmVtaXQoInBsb3RseV9zZWxlY3RlZCIsXykscCYmYS5zZWxlY3Rpb25EZWZzJiYocC5zdWJ0cmFjdD1ILGEuc2VsZWN0aW9uRGVmcy5wdXNoKHApLGEubWVyZ2VkUG9seWdvbnMubGVuZ3RoPTAsW10ucHVzaC5hcHBseShhLm1lcmdlZFBvbHlnb25zLGYpKSxhLmRvbmVGbkNvbXBsZXRlZCYmYS5kb25lRm5Db21wbGV0ZWQoWil9KS5jYXRjaChzLmVycm9yKX19LGNsZWFyU2VsZWN0OkMsc2VsZWN0T25DbGljazp4fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vY29tcG9uZW50cy9meC9oZWxwZXJzIjo2MjcsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvY2xlYXJfZ2xfY2FudmFzZXMiOjcwMiwiLi4vLi4vbGliL3BvbHlnb24iOjcyOSwiLi4vLi4vbGliL3Rocm90dGxlIjo3NDIsIi4uLy4uL3Bsb3RfYXBpL3N1YnJvdXRpbmVzIjo3NTYsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vYXhpc19pZHMiOjc2OCwiLi9jb25zdGFudHMiOjc3MSxwb2x5Ym9vbGpzOjQ3NX1dLDc4MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoIi4uLy4uL2xpYiIpLG89aS5jbGVhbk51bWJlcixzPWkubXMyRGF0ZVRpbWUsbD1pLmRhdGVUaW1lMm1zLGM9aS5lbnN1cmVOdW1iZXIsdT1pLmlzQXJyYXlPclR5cGVkQXJyYXksaD10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIiksZj1oLkZQX1NBRkUscD1oLkJBRE5VTSxkPWguTE9HX0NMSVAsZz10KCIuL2NvbnN0YW50cyIpLHY9dCgiLi9heGlzX2lkcyIpO2Z1bmN0aW9uIG0odCl7cmV0dXJuIE1hdGgucG93KDEwLHQpfWZ1bmN0aW9uIHkodCl7cmV0dXJuIG51bGwhPXR9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZT1lfHx7fTt2YXIgcj10Ll9pZHx8IngiLGg9ci5jaGFyQXQoMCk7ZnVuY3Rpb24geChlLHIpe2lmKGU+MClyZXR1cm4gTWF0aC5sb2coZSkvTWF0aC5MTjEwO2lmKGU8PTAmJnImJnQucmFuZ2UmJjI9PT10LnJhbmdlLmxlbmd0aCl7dmFyIG49dC5yYW5nZVswXSxhPXQucmFuZ2VbMV07cmV0dXJuLjUqKG4rYS0yKmQqTWF0aC5hYnMobi1hKSl9cmV0dXJuIHB9ZnVuY3Rpb24gYihlLHIsbil7dmFyIG89bChlLG58fHQuY2FsZW5kYXIpO2lmKG89PT1wKXtpZighYShlKSlyZXR1cm4gcDtlPStlO3ZhciBzPU1hdGguZmxvb3IoMTAqaS5tb2QoZSsuMDUsMSkpLGM9TWF0aC5yb3VuZChlLXMvMTApO289bChuZXcgRGF0ZShjKSkrcy8xMH1yZXR1cm4gb31mdW5jdGlvbiBfKGUscixuKXtyZXR1cm4gcyhlLHIsbnx8dC5jYWxlbmRhcil9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gdC5fY2F0ZWdvcmllc1tNYXRoLnJvdW5kKGUpXX1mdW5jdGlvbiBrKGUpe2lmKHkoZSkpe2lmKHZvaWQgMD09PXQuX2NhdGVnb3JpZXNNYXAmJih0Ll9jYXRlZ29yaWVzTWFwPXt9KSx2b2lkIDAhPT10Ll9jYXRlZ29yaWVzTWFwW2VdKXJldHVybiB0Ll9jYXRlZ29yaWVzTWFwW2VdO3QuX2NhdGVnb3JpZXMucHVzaCgibnVtYmVyIj09dHlwZW9mIGU/U3RyaW5nKGUpOmUpO3ZhciByPXQuX2NhdGVnb3JpZXMubGVuZ3RoLTE7cmV0dXJuIHQuX2NhdGVnb3JpZXNNYXBbZV09cixyfXJldHVybiBwfWZ1bmN0aW9uIFQoZSl7aWYodC5fY2F0ZWdvcmllc01hcClyZXR1cm4gdC5fY2F0ZWdvcmllc01hcFtlXX1mdW5jdGlvbiBNKHQpe3ZhciBlPVQodCk7cmV0dXJuIHZvaWQgMCE9PWU/ZTphKHQpPyt0OnZvaWQgMH1mdW5jdGlvbiBBKGUpe3JldHVybiBhKGUpP24ucm91bmQodC5fYit0Ll9tKmUsMik6cH1mdW5jdGlvbiBTKGUpe3JldHVybihlLXQuX2IpL3QuX219dC5jMmw9ImxvZyI9PT10LnR5cGU/eDpjLHQubDJjPSJsb2ciPT09dC50eXBlP206Yyx0LmwycD1BLHQucDJsPVMsdC5jMnA9ImxvZyI9PT10LnR5cGU/ZnVuY3Rpb24odCxlKXtyZXR1cm4gQSh4KHQsZSkpfTpBLHQucDJjPSJsb2ciPT09dC50eXBlP2Z1bmN0aW9uKHQpe3JldHVybiBtKFModCkpfTpTLC0xIT09WyJsaW5lYXIiLCItIl0uaW5kZXhPZih0LnR5cGUpPyh0LmQycj10LnIyZD10LmQyYz10LnIyYz10LmQybD10LnIybD1vLHQuYzJkPXQuYzJyPXQubDJkPXQubDJyPWMsdC5kMnA9dC5yMnA9ZnVuY3Rpb24oZSl7cmV0dXJuIHQubDJwKG8oZSkpfSx0LnAyZD10LnAycj1TLHQuY2xlYW5Qb3M9Yyk6ImxvZyI9PT10LnR5cGU/KHQuZDJyPXQuZDJsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHgobyh0KSxlKX0sdC5yMmQ9dC5yMmM9ZnVuY3Rpb24odCl7cmV0dXJuIG0obyh0KSl9LHQuZDJjPXQucjJsPW8sdC5jMmQ9dC5sMnI9Yyx0LmMycj14LHQubDJkPW0sdC5kMnA9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5sMnAodC5kMnIoZSxyKSl9LHQucDJkPWZ1bmN0aW9uKHQpe3JldHVybiBtKFModCkpfSx0LnIycD1mdW5jdGlvbihlKXtyZXR1cm4gdC5sMnAobyhlKSl9LHQucDJyPVMsdC5jbGVhblBvcz1jKToiZGF0ZSI9PT10LnR5cGU/KHQuZDJyPXQucjJkPWkuaWRlbnRpdHksdC5kMmM9dC5yMmM9dC5kMmw9dC5yMmw9Yix0LmMyZD10LmMycj10LmwyZD10Lmwycj1fLHQuZDJwPXQucjJwPWZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdC5sMnAoYihlLDAsbikpfSx0LnAyZD10LnAycj1mdW5jdGlvbih0LGUscil7cmV0dXJuIF8oUyh0KSxlLHIpfSx0LmNsZWFuUG9zPWZ1bmN0aW9uKGUpe3JldHVybiBpLmNsZWFuRGF0ZShlLHAsdC5jYWxlbmRhcil9KToiY2F0ZWdvcnkiPT09dC50eXBlPyh0LmQyYz10LmQybD1rLHQucjJkPXQuYzJkPXQubDJkPXcsdC5kMnI9dC5kMmxfbm9hZGQ9TSx0LnIyYz1mdW5jdGlvbihlKXt2YXIgcj1NKGUpO3JldHVybiB2b2lkIDAhPT1yP3I6dC5mcmFjdGlvbjJyKC41KX0sdC5sMnI9dC5jMnI9Yyx0LnIybD1NLHQuZDJwPWZ1bmN0aW9uKGUpe3JldHVybiB0LmwycCh0LnIyYyhlKSl9LHQucDJkPWZ1bmN0aW9uKHQpe3JldHVybiB3KFModCkpfSx0LnIycD10LmQycCx0LnAycj1TLHQuY2xlYW5Qb3M9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXQ/dDpjKHQpfSk6Im11bHRpY2F0ZWdvcnkiPT09dC50eXBlJiYodC5yMmQ9dC5jMmQ9dC5sMmQ9dyx0LmQycj10LmQybF9ub2FkZD1NLHQucjJjPWZ1bmN0aW9uKGUpe3ZhciByPU0oZSk7cmV0dXJuIHZvaWQgMCE9PXI/cjp0LmZyYWN0aW9uMnIoLjUpfSx0LnIyY19qdXN0X2luZGljZXM9VCx0Lmwycj10LmMycj1jLHQucjJsPU0sdC5kMnA9ZnVuY3Rpb24oZSl7cmV0dXJuIHQubDJwKHQucjJjKGUpKX0sdC5wMmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHcoUyh0KSl9LHQucjJwPXQuZDJwLHQucDJyPVMsdC5jbGVhblBvcz1mdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KXx8InN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXQ/dDpjKHQpfSx0LnNldHVwTXVsdGlDYXRlZ29yeT1mdW5jdGlvbihuKXt2YXIgYSxvLHM9dC5fdHJhY2VJbmRpY2VzLGw9ZS5fYXhpc01hdGNoR3JvdXBzO2lmKGwmJmwubGVuZ3RoJiYwPT09dC5fY2F0ZWdvcmllcy5sZW5ndGgpZm9yKGE9MDthPGwubGVuZ3RoO2ErKyl7dmFyIGM9bFthXTtpZihjW3JdKWZvcih2YXIgZiBpbiBjKWlmKGYhPT1yKXt2YXIgcD1lW3YuaWQybmFtZShmKV07cz1zLmNvbmNhdChwLl90cmFjZUluZGljZXMpfX12YXIgZD1bWzAse31dLFswLHt9XV0sZz1bXTtmb3IoYT0wO2E8cy5sZW5ndGg7YSsrKXt2YXIgbT1uW3NbYV1dO2lmKGggaW4gbSl7dmFyIHg9bVtoXSxiPW0uX2xlbmd0aHx8aS5taW5Sb3dMZW5ndGgoeCk7aWYodSh4WzBdKSYmdSh4WzFdKSlmb3Iobz0wO288YjtvKyspe3ZhciBfPXhbMF1bb10sdz14WzFdW29dO3koXykmJnkodykmJihnLnB1c2goW18sd10pLF8gaW4gZFswXVsxXXx8KGRbMF1bMV1bX109ZFswXVswXSsrKSx3IGluIGRbMV1bMV18fChkWzFdWzFdW3ddPWRbMV1bMF0rKykpfX19Zm9yKGcuc29ydChmdW5jdGlvbih0LGUpe3ZhciByPWRbMF1bMV0sbj1yW3RbMF1dLXJbZVswXV07aWYobilyZXR1cm4gbjt2YXIgYT1kWzFdWzFdO3JldHVybiBhW3RbMV1dLWFbZVsxXV19KSxhPTA7YTxnLmxlbmd0aDthKyspayhnW2FdKX0pLHQuZnJhY3Rpb24ycj1mdW5jdGlvbihlKXt2YXIgcj10LnIybCh0LnJhbmdlWzBdKSxuPXQucjJsKHQucmFuZ2VbMV0pO3JldHVybiB0LmwycihyK2UqKG4tcikpfSx0LnIyZnJhY3Rpb249ZnVuY3Rpb24oZSl7dmFyIHI9dC5yMmwodC5yYW5nZVswXSksbj10LnIybCh0LnJhbmdlWzFdKTtyZXR1cm4odC5yMmwoZSktcikvKG4tcil9LHQuY2xlYW5SYW5nZT1mdW5jdGlvbihlLHIpe3J8fChyPXt9KSxlfHwoZT0icmFuZ2UiKTt2YXIgbixvLHM9aS5uZXN0ZWRQcm9wZXJ0eSh0LGUpLmdldCgpO2lmKG89KG89ImRhdGUiPT09dC50eXBlP2kuZGZsdFJhbmdlKHQuY2FsZW5kYXIpOiJ5Ij09PWg/Zy5ERkxUUkFOR0VZOnIuZGZsdFJhbmdlfHxnLkRGTFRSQU5HRVgpLnNsaWNlKCksInRvemVybyIhPT10LnJhbmdlbW9kZSYmIm5vbm5lZ2F0aXZlIiE9PXQucmFuZ2Vtb2RlfHwob1swXT0wKSxzJiYyPT09cy5sZW5ndGgpZm9yKCJkYXRlIiE9PXQudHlwZXx8dC5hdXRvcmFuZ2V8fChzWzBdPWkuY2xlYW5EYXRlKHNbMF0scCx0LmNhbGVuZGFyKSxzWzFdPWkuY2xlYW5EYXRlKHNbMV0scCx0LmNhbGVuZGFyKSksbj0wO248MjtuKyspaWYoImRhdGUiPT09dC50eXBlKXtpZighaS5pc0RhdGVUaW1lKHNbbl0sdC5jYWxlbmRhcikpe3RbZV09bzticmVha31pZih0LnIybChzWzBdKT09PXQucjJsKHNbMV0pKXt2YXIgbD1pLmNvbnN0cmFpbih0LnIybChzWzBdKSxpLk1JTl9NUysxZTMsaS5NQVhfTVMtMWUzKTtzWzBdPXQubDJyKGwtMWUzKSxzWzFdPXQubDJyKGwrMWUzKTticmVha319ZWxzZXtpZighYShzW25dKSl7aWYoIWEoc1sxLW5dKSl7dFtlXT1vO2JyZWFrfXNbbl09c1sxLW5dKihuPzEwOi4xKX1pZihzW25dPC1mP3Nbbl09LWY6c1tuXT5mJiYoc1tuXT1mKSxzWzBdPT09c1sxXSl7dmFyIGM9TWF0aC5tYXgoMSxNYXRoLmFicygxZS02KnNbMF0pKTtzWzBdLT1jLHNbMV0rPWN9fWVsc2UgaS5uZXN0ZWRQcm9wZXJ0eSh0LGUpLnNldChvKX0sdC5zZXRTY2FsZT1mdW5jdGlvbihyKXt2YXIgbj1lLl9zaXplO2lmKHQub3ZlcmxheWluZyl7dmFyIGE9di5nZXRGcm9tSWQoe19mdWxsTGF5b3V0OmV9LHQub3ZlcmxheWluZyk7dC5kb21haW49YS5kb21haW59dmFyIGk9ciYmdC5fcj8iX3IiOiJyYW5nZSIsbz10LmNhbGVuZGFyO3QuY2xlYW5SYW5nZShpKTt2YXIgcz10LnIybCh0W2ldWzBdLG8pLGw9dC5yMmwodFtpXVsxXSxvKTtpZigieSI9PT1oPyh0Ll9vZmZzZXQ9bi50KygxLXQuZG9tYWluWzFdKSpuLmgsdC5fbGVuZ3RoPW4uaCoodC5kb21haW5bMV0tdC5kb21haW5bMF0pLHQuX209dC5fbGVuZ3RoLyhzLWwpLHQuX2I9LXQuX20qbCk6KHQuX29mZnNldD1uLmwrdC5kb21haW5bMF0qbi53LHQuX2xlbmd0aD1uLncqKHQuZG9tYWluWzFdLXQuZG9tYWluWzBdKSx0Ll9tPXQuX2xlbmd0aC8obC1zKSx0Ll9iPS10Ll9tKnMpLCFpc0Zpbml0ZSh0Ll9tKXx8IWlzRmluaXRlKHQuX2IpfHx0Ll9sZW5ndGg8MCl0aHJvdyBlLl9yZXBsb3R0aW5nPSExLG5ldyBFcnJvcigiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCBheGlzIHNjYWxpbmciKX0sdC5tYWtlQ2FsY2RhdGE9ZnVuY3Rpb24oZSxyKXt2YXIgbixhLG8scyxsPXQudHlwZSxjPSJkYXRlIj09PWwmJmVbcisiY2FsZW5kYXIiXTtpZihyIGluIGUpe2lmKG49ZVtyXSxzPWUuX2xlbmd0aHx8aS5taW5Sb3dMZW5ndGgobiksaS5pc1R5cGVkQXJyYXkobikmJigibGluZWFyIj09PWx8fCJsb2ciPT09bCkpe2lmKHM9PT1uLmxlbmd0aClyZXR1cm4gbjtpZihuLnN1YmFycmF5KXJldHVybiBuLnN1YmFycmF5KDAscyl9aWYoIm11bHRpY2F0ZWdvcnkiPT09bClyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXt2YXIgYT0odFswXXx8W10pW25dLGk9KHRbMV18fFtdKVtuXTtyW25dPVQoW2EsaV0pfXJldHVybiByfShuLHMpO2ZvcihhPW5ldyBBcnJheShzKSxvPTA7bzxzO28rKylhW29dPXQuZDJjKG5bb10sMCxjKX1lbHNle3ZhciB1PXIrIjAiaW4gZT90LmQyYyhlW3IrIjAiXSwwLGMpOjAsaD1lWyJkIityXT9OdW1iZXIoZVsiZCIrcl0pOjE7Zm9yKG49ZVt7eDoieSIseToieCJ9W3JdXSxzPWUuX2xlbmd0aHx8bi5sZW5ndGgsYT1uZXcgQXJyYXkocyksbz0wO288cztvKyspYVtvXT11K28qaH1yZXR1cm4gYX0sdC5pc1ZhbGlkUmFuZ2U9ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJjI9PT1lLmxlbmd0aCYmYSh0LnIybChlWzBdKSkmJmEodC5yMmwoZVsxXSkpfSx0LmlzUHRXaXRoaW5SYW5nZT1mdW5jdGlvbihlLHIpe3ZhciBuPXQuYzJsKGVbaF0sbnVsbCxyKSxhPXQucjJsKHQucmFuZ2VbMF0pLGk9dC5yMmwodC5yYW5nZVsxXSk7cmV0dXJuIGE8aT9hPD1uJiZuPD1pOmk8PW4mJm48PWF9LHQuY2xlYXJDYWxjPWZ1bmN0aW9uKCl7dmFyIG49ZnVuY3Rpb24oKXt0Ll9jYXRlZ29yaWVzPVtdLHQuX2NhdGVnb3JpZXNNYXA9e319LGE9ZS5fYXhpc01hdGNoR3JvdXBzO2lmKGEmJmEubGVuZ3RoKXtmb3IodmFyIGk9ITEsbz0wO288YS5sZW5ndGg7bysrKXt2YXIgcz1hW29dO2lmKHNbcl0pe2k9ITA7dmFyIGw9bnVsbCxjPW51bGw7Zm9yKHZhciB1IGluIHMpe3ZhciBoPWVbdi5pZDJuYW1lKHUpXTtpZihoLl9jYXRlZ29yaWVzKXtsPWguX2NhdGVnb3JpZXMsYz1oLl9jYXRlZ29yaWVzTWFwO2JyZWFrfX1sJiZjPyh0Ll9jYXRlZ29yaWVzPWwsdC5fY2F0ZWdvcmllc01hcD1jKTpuKCk7YnJlYWt9fWl8fG4oKX1lbHNlIG4oKTtpZih0Ll9pbml0aWFsQ2F0ZWdvcmllcylmb3IodmFyIGY9MDtmPHQuX2luaXRpYWxDYXRlZ29yaWVzLmxlbmd0aDtmKyspayh0Ll9pbml0aWFsQ2F0ZWdvcmllc1tmXSl9LHQuc29ydEJ5SW5pdGlhbENhdGVnb3JpZXM9ZnVuY3Rpb24oKXt2YXIgbj1bXTtpZih0Ll9jYXRlZ29yaWVzPVtdLHQuX2NhdGVnb3JpZXNNYXA9e30sdC5faW5pdGlhbENhdGVnb3JpZXMpZm9yKHZhciBhPTA7YTx0Ll9pbml0aWFsQ2F0ZWdvcmllcy5sZW5ndGg7YSsrKWsodC5faW5pdGlhbENhdGVnb3JpZXNbYV0pO249bi5jb25jYXQodC5fdHJhY2VJbmRpY2VzKTt2YXIgaT10Ll9tYXRjaEdyb3VwO2Zvcih2YXIgbyBpbiBpKWlmKHIhPT1vKXt2YXIgcz1lW3YuaWQybmFtZShvKV07cy5fY2F0ZWdvcmllcz10Ll9jYXRlZ29yaWVzLHMuX2NhdGVnb3JpZXNNYXA9dC5fY2F0ZWdvcmllc01hcCxuPW4uY29uY2F0KHMuX3RyYWNlSW5kaWNlcyl9cmV0dXJuIG59O3ZhciBFPWUuX2QzbG9jYWxlOyJkYXRlIj09PXQudHlwZSYmKHQuX2RhdGVGb3JtYXQ9RT9FLnRpbWVGb3JtYXQudXRjOm4udGltZS5mb3JtYXQudXRjLHQuX2V4dHJhRm9ybWF0PWUuX2V4dHJhRm9ybWF0KSx0Ll9zZXBhcmF0b3JzPWUuc2VwYXJhdG9ycyx0Ll9udW1Gb3JtYXQ9RT9FLm51bWJlckZvcm1hdDpuLmZvcm1hdCxkZWxldGUgdC5fbWluRHRpY2ssZGVsZXRlIHQuX2ZvcmNlVGljazB9fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsIi4vYXhpc19pZHMiOjc2OCwiLi9jb25zdGFudHMiOjc3MSxkMzoxNjUsImZhc3QtaXNudW1lcmljIjoyMjh9XSw3ODQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksaT10KCIuLi9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKTtmdW5jdGlvbiBvKHQpe3ZhciBlPVsic2hvd2V4cG9uZW50Iiwic2hvd3RpY2twcmVmaXgiLCJzaG93dGlja3N1ZmZpeCJdLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwIT09dFtlXX0pO2lmKGUuZXZlcnkoZnVuY3Rpb24ocil7cmV0dXJuIHRbcl09PT10W2VbMF1dfSl8fDE9PT1lLmxlbmd0aClyZXR1cm4gdFtlWzBdXX1mdW5jdGlvbiBzKHQsZSl7ZnVuY3Rpb24gcihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYS50aWNrZm9ybWF0c3RvcHMscixpKX1yKCJlbmFibGVkIikmJihyKCJkdGlja3JhbmdlIikscigidmFsdWUiKSl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGwsYyx1KXt1JiYxIT09dS5wYXNzfHxmdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPW8odCk7cigidGlja3ByZWZpeCIpJiZyKCJzaG93dGlja3ByZWZpeCIsaSk7cigidGlja3N1ZmZpeCIsYS50aWNrU3VmZml4RGZsdCkmJnIoInNob3d0aWNrc3VmZml4IixpKX0odCwwLHIsMCxjKSx1JiYyIT09dS5wYXNzfHxmdW5jdGlvbih0LGUscixsLGMpe3ZhciB1PW8odCk7cigidGlja3ByZWZpeCIpJiZyKCJzaG93dGlja3ByZWZpeCIsdSk7cigidGlja3N1ZmZpeCIsYy50aWNrU3VmZml4RGZsdCkmJnIoInNob3d0aWNrc3VmZml4Iix1KTtpZihyKCJzaG93dGlja2xhYmVscyIpKXt2YXIgaD1jLmZvbnR8fHt9LGY9ZS5jb2xvcixwPWYmJmYhPT1hLmNvbG9yLmRmbHQ/ZjpoLmNvbG9yO2lmKG4uY29lcmNlRm9udChyLCJ0aWNrZm9udCIse2ZhbWlseTpoLmZhbWlseSxzaXplOmguc2l6ZSxjb2xvcjpwfSkscigidGlja2FuZ2xlIiksImNhdGVnb3J5IiE9PWwpe3ZhciBkPXIoInRpY2tmb3JtYXQiKSxnPXQudGlja2Zvcm1hdHN0b3BzO0FycmF5LmlzQXJyYXkoZykmJmcubGVuZ3RoJiZpKHQsZSx7bmFtZToidGlja2Zvcm1hdHN0b3BzIixpbmNsdXNpb25BdHRyOiJlbmFibGVkIixoYW5kbGVJdGVtRGVmYXVsdHM6c30pLGR8fCJkYXRlIj09PWx8fChyKCJzaG93ZXhwb25lbnQiLHUpLHIoImV4cG9uZW50Zm9ybWF0Iikscigic2VwYXJhdGV0aG91c2FuZHMiKSl9fX0odCxlLHIsbCxjKX19LHsiLi4vLi4vbGliIjo3MTcsIi4uL2FycmF5X2NvbnRhaW5lcl9kZWZhdWx0cyI6NzYxLCIuL2xheW91dF9hdHRyaWJ1dGVzIjo3Nzd9XSw3ODU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvPW4uY29lcmNlMih0LGUsYSwidGlja2xlbiIpLHM9bi5jb2VyY2UyKHQsZSxhLCJ0aWNrd2lkdGgiKSxsPW4uY29lcmNlMih0LGUsYSwidGlja2NvbG9yIixlLmNvbG9yKTtyKCJ0aWNrcyIsaS5vdXRlclRpY2tzfHxvfHxzfHxsPyJvdXRzaWRlIjoiIil8fChkZWxldGUgZS50aWNrbGVuLGRlbGV0ZSBlLnRpY2t3aWR0aCxkZWxldGUgZS50aWNrY29sb3IpfX0seyIuLi8uLi9saWIiOjcxNywiLi9sYXlvdXRfYXR0cmlidXRlcyI6Nzc3fV0sNzg2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vY2xlYW5fdGlja3MiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGk7ImFycmF5IiE9PXQudGlja21vZGV8fCJsb2ciIT09YSYmImRhdGUiIT09YT9pPXIoInRpY2ttb2RlIixBcnJheS5pc0FycmF5KHQudGlja3ZhbHMpPyJhcnJheSI6dC5kdGljaz8ibGluZWFyIjoiYXV0byIpOmk9ZS50aWNrbW9kZT0iYXV0byI7aWYoImF1dG8iPT09aSlyKCJudGlja3MiKTtlbHNlIGlmKCJsaW5lYXIiPT09aSl7dmFyIG89ZS5kdGljaz1uLmR0aWNrKHQuZHRpY2ssYSk7ZS50aWNrMD1uLnRpY2swKHQudGljazAsYSxlLmNhbGVuZGFyLG8pfWVsc2UgaWYoIm11bHRpY2F0ZWdvcnkiIT09YSl7dm9pZCAwPT09cigidGlja3ZhbHMiKT9lLnRpY2ttb2RlPSJhdXRvIjpyKCJ0aWNrdGV4dCIpfX19LHsiLi9jbGVhbl90aWNrcyI6NzcwfV0sNzg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vbGliIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxzPXQoIi4vYXhlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsKXt2YXIgYz10Ll9mdWxsTGF5b3V0O2lmKDAhPT1lLmxlbmd0aCl7dmFyIHUsaCxmLHA7bCYmKHU9bCgpKTt2YXIgZD1uLmVhc2Uoci5lYXNpbmcpO3JldHVybiB0Ll90cmFuc2l0aW9uRGF0YS5faW50ZXJydXB0Q2FsbGJhY2tzLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHApLHA9bnVsbCxmdW5jdGlvbigpe2Zvcih2YXIgcj17fSxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl0sbz1pLnBsb3RpbmZvLnhheGlzLHM9aS5wbG90aW5mby55YXhpcztpLnhyMCYmKHJbby5fbmFtZSsiLnJhbmdlIl09aS54cjAuc2xpY2UoKSksaS55cjAmJihyW3MuX25hbWUrIi5yYW5nZSJdPWkueXIwLnNsaWNlKCkpfXJldHVybiBhLmNhbGwoInJlbGF5b3V0Iix0LHIpLnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKylnKGVbdF0ucGxvdGluZm8pfSl9KCl9KSxoPURhdGUubm93KCkscD13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIG4oKXtmPURhdGUubm93KCk7Zm9yKHZhciBpPU1hdGgubWluKDEsKGYtaCkvci5kdXJhdGlvbiksbz1kKGkpLHM9MDtzPGUubGVuZ3RoO3MrKyl2KGVbc10sbyk7Zi1oPnIuZHVyYXRpb24/KGZ1bmN0aW9uKCl7Zm9yKHZhciByPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXSxvPWkucGxvdGluZm8ueGF4aXMscz1pLnBsb3RpbmZvLnlheGlzO2kueHIxJiYocltvLl9uYW1lKyIucmFuZ2UiXT1pLnhyMS5zbGljZSgpKSxpLnlyMSYmKHJbcy5fbmFtZSsiLnJhbmdlIl09aS55cjEuc2xpY2UoKSl9dSYmdSgpLGEuY2FsbCgicmVsYXlvdXQiLHQscikudGhlbihmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWcoZVt0XS5wbG90aW5mbyl9KX0oKSxwPXdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShuKSk6cD13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKG4pfSksUHJvbWlzZS5yZXNvbHZlKCl9ZnVuY3Rpb24gZyh0KXt2YXIgZT10LnhheGlzLHI9dC55YXhpcztjLl9kZWZzLnNlbGVjdCgiIyIrdC5jbGlwSWQrIj4gcmVjdCIpLmNhbGwoby5zZXRUcmFuc2xhdGUsMCwwKS5jYWxsKG8uc2V0U2NhbGUsMSwxKSx0LnBsb3QuY2FsbChvLnNldFRyYW5zbGF0ZSxlLl9vZmZzZXQsci5fb2Zmc2V0KS5jYWxsKG8uc2V0U2NhbGUsMSwxKTt2YXIgbj10LnBsb3Quc2VsZWN0QWxsKCIuc2NhdHRlcmxheWVyIC50cmFjZSIpO24uc2VsZWN0QWxsKCIucG9pbnQiKS5jYWxsKG8uc2V0UG9pbnRHcm91cFNjYWxlLDEsMSksbi5zZWxlY3RBbGwoIi50ZXh0cG9pbnQiKS5jYWxsKG8uc2V0VGV4dFBvaW50c1NjYWxlLDEsMSksbi5jYWxsKG8uaGlkZU91dHNpZGVSYW5nZVBvaW50cyx0KX1mdW5jdGlvbiB2KGUscil7dmFyIG49ZS5wbG90aW5mbyxhPW4ueGF4aXMsbD1uLnlheGlzLGM9YS5fbGVuZ3RoLHU9bC5fbGVuZ3RoLGg9ISFlLnhyMSxmPSEhZS55cjEscD1bXTtpZihoKXt2YXIgZD1pLnNpbXBsZU1hcChlLnhyMCxhLnIybCksZz1pLnNpbXBsZU1hcChlLnhyMSxhLnIybCksdj1kWzFdLWRbMF0sbT1nWzFdLWdbMF07cFswXT0oZFswXSooMS1yKStyKmdbMF0tZFswXSkvKGRbMV0tZFswXSkqYyxwWzJdPWMqKDEtcityKm0vdiksYS5yYW5nZVswXT1hLmwycihkWzBdKigxLXIpK3IqZ1swXSksYS5yYW5nZVsxXT1hLmwycihkWzFdKigxLXIpK3IqZ1sxXSl9ZWxzZSBwWzBdPTAscFsyXT1jO2lmKGYpe3ZhciB5PWkuc2ltcGxlTWFwKGUueXIwLGwucjJsKSx4PWkuc2ltcGxlTWFwKGUueXIxLGwucjJsKSxiPXlbMV0teVswXSxfPXhbMV0teFswXTtwWzFdPSh5WzFdKigxLXIpK3IqeFsxXS15WzFdKS8oeVswXS15WzFdKSp1LHBbM109dSooMS1yK3IqXy9iKSxsLnJhbmdlWzBdPWEubDJyKHlbMF0qKDEtcikrcip4WzBdKSxsLnJhbmdlWzFdPWwubDJyKHlbMV0qKDEtcikrcip4WzFdKX1lbHNlIHBbMV09MCxwWzNdPXU7cy5kcmF3T25lKHQsYSx7c2tpcFRpdGxlOiEwfSkscy5kcmF3T25lKHQsbCx7c2tpcFRpdGxlOiEwfSkscy5yZWRyYXdDb21wb25lbnRzKHQsW2EuX2lkLGwuX2lkXSk7dmFyIHc9aD9jL3BbMl06MSxrPWY/dS9wWzNdOjEsVD1oP3BbMF06MCxNPWY/cFsxXTowLEE9aD9wWzBdL3BbMl0qYzowLFM9Zj9wWzFdL3BbM10qdTowLEU9YS5fb2Zmc2V0LUEsTD1sLl9vZmZzZXQtUztuLmNsaXBSZWN0LmNhbGwoby5zZXRUcmFuc2xhdGUsVCxNKS5jYWxsKG8uc2V0U2NhbGUsMS93LDEvayksbi5wbG90LmNhbGwoby5zZXRUcmFuc2xhdGUsRSxMKS5jYWxsKG8uc2V0U2NhbGUsdyxrKSxvLnNldFBvaW50R3JvdXBTY2FsZShuLnpvb21TY2FsZVB0cywxL3csMS9rKSxvLnNldFRleHRQb2ludHNTY2FsZShuLnpvb21TY2FsZVR4dCwxL3csMS9rKX1zLnJlZHJhd0NvbXBvbmVudHModCl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9heGVzIjo3NjUsZDM6MTY1fV0sNzg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IikudHJhY2VJcyxhPXQoIi4vYXhpc19hdXRvdHlwZSIpO2Z1bmN0aW9uIGkodCl7cmV0dXJue3Y6IngiLGg6InkifVt0Lm9yaWVudGF0aW9ufHwidiJdfWZ1bmN0aW9uIG8odCxlKXt2YXIgcj1pKHQpLGE9bih0LCJib3gtdmlvbGluIiksbz1uKHQuX2Z1bGxJbnB1dHx8e30sImNhbmRsZXN0aWNrIik7cmV0dXJuIGEmJiFvJiZlPT09ciYmdm9pZCAwPT09dFtyXSYmdm9pZCAwPT09dFtyKyIwIl19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpeyItIj09PXIoInR5cGUiLChzLnNwbG9tU3Rhc2h8fHt9KS50eXBlKSYmKCFmdW5jdGlvbih0LGUpe2lmKCItIiE9PXQudHlwZSlyZXR1cm47dmFyIHIscz10Ll9pZCxsPXMuY2hhckF0KDApOy0xIT09cy5pbmRleE9mKCJzY2VuZSIpJiYocz1sKTt2YXIgYz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBhPXRbbl07aWYoInNwbG9tIj09PWEudHlwZSYmYS5fbGVuZ3RoPjAmJihhWyJfIityKyJheGVzIl18fHt9KVtlXSlyZXR1cm4gYTtpZigoYVtyKyJheGlzIl18fHIpPT09ZSl7aWYobyhhLHIpKXJldHVybiBhO2lmKChhW3JdfHxbXSkubGVuZ3RofHxhW3IrIjAiXSlyZXR1cm4gYX19fShlLHMsbCk7aWYoIWMpcmV0dXJuO2lmKCJoaXN0b2dyYW0iPT09Yy50eXBlJiZsPT09e3Y6InkiLGg6IngifVtjLm9yaWVudGF0aW9ufHwidiJdKXJldHVybiB2b2lkKHQudHlwZT0ibGluZWFyIik7dmFyIHU9bCsiY2FsZW5kYXIiLGg9Y1t1XSxmPXtub011bHRpQ2F0ZWdvcnk6IW4oYywiY2FydGVzaWFuIil8fG4oYywibm9NdWx0aUNhdGVnb3J5Iil9OyJib3giPT09Yy50eXBlJiZjLl9oYXNQcmVDb21wU3RhdHMmJmw9PT17aDoieCIsdjoieSJ9W2Mub3JpZW50YXRpb258fCJ2Il0mJihmLm5vTXVsdGlDYXRlZ29yeT0hMCk7aWYobyhjLGwpKXt2YXIgcD1pKGMpLGQ9W107Zm9yKHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIGc9ZVtyXTtuKGcsImJveC12aW9saW4iKSYmKGdbbCsiYXhpcyJdfHxsKT09PXMmJih2b2lkIDAhPT1nW3BdP2QucHVzaChnW3BdWzBdKTp2b2lkIDAhPT1nLm5hbWU/ZC5wdXNoKGcubmFtZSk6ZC5wdXNoKCJ0ZXh0IiksZ1t1XSE9PWgmJihoPXZvaWQgMCkpfXQudHlwZT1hKGQsaCxmKX1lbHNlIGlmKCJzcGxvbSI9PT1jLnR5cGUpe3ZhciB2PWMuZGltZW5zaW9ucyxtPXZbYy5fYXhlc0RpbVtzXV07bS52aXNpYmxlJiYodC50eXBlPWEobS52YWx1ZXMsaCxmKSl9ZWxzZSB0LnR5cGU9YShjW2xdfHxbY1tsKyIwIl1dLGgsZil9KGUscy5kYXRhKSwiLSI9PT1lLnR5cGU/ZS50eXBlPSJsaW5lYXIiOnQudHlwZT1lLnR5cGUpfX0seyIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2F4aXNfYXV0b3R5cGUiOjc2Nn1dLDc4OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9yZWdpc3RyeSIpLGE9dCgiLi4vbGliIik7ZnVuY3Rpb24gaSh0LGUscil7dmFyIG4saSxvLHM9ITE7aWYoImRhdGEiPT09ZS50eXBlKW49dC5fZnVsbERhdGFbbnVsbCE9PWUudHJhY2VzP2UudHJhY2VzWzBdOjBdO2Vsc2V7aWYoImxheW91dCIhPT1lLnR5cGUpcmV0dXJuITE7bj10Ll9mdWxsTGF5b3V0fXJldHVybiBpPWEubmVzdGVkUHJvcGVydHkobixlLnByb3ApLmdldCgpLChvPXJbZS50eXBlXT1yW2UudHlwZV18fHt9KS5oYXNPd25Qcm9wZXJ0eShlLnByb3ApJiZvW2UucHJvcF0hPT1pJiYocz0hMCksb1tlLnByb3BdPWkse2NoYW5nZWQ6cyx2YWx1ZTppfX1mdW5jdGlvbiBvKHQsZSl7dmFyIHI9W10sbj1lWzBdLGk9e307aWYoInN0cmluZyI9PXR5cGVvZiBuKWlbbl09ZVsxXTtlbHNle2lmKCFhLmlzUGxhaW5PYmplY3QobikpcmV0dXJuIHI7aT1ufXJldHVybiBsKGksZnVuY3Rpb24odCxlLG4pe3IucHVzaCh7dHlwZToibGF5b3V0Iixwcm9wOnQsdmFsdWU6bn0pfSwiIiwwKSxyfWZ1bmN0aW9uIHModCxlKXt2YXIgcixuLGksbyxzPVtdO2lmKG49ZVswXSxpPWVbMV0scj1lWzJdLG89e30sInN0cmluZyI9PXR5cGVvZiBuKW9bbl09aTtlbHNle2lmKCFhLmlzUGxhaW5PYmplY3QobikpcmV0dXJuIHM7bz1uLHZvaWQgMD09PXImJihyPWkpfXJldHVybiB2b2lkIDA9PT1yJiYocj1udWxsKSxsKG8sZnVuY3Rpb24oZSxuLGEpe3ZhciBpLG87aWYoQXJyYXkuaXNBcnJheShhKSl7bz1hLnNsaWNlKCk7dmFyIGw9TWF0aC5taW4oby5sZW5ndGgsdC5kYXRhLmxlbmd0aCk7ciYmKGw9TWF0aC5taW4obCxyLmxlbmd0aCkpLGk9W107Zm9yKHZhciBjPTA7YzxsO2MrKylpW2NdPXI/cltjXTpjfWVsc2Ugbz1hLGk9cj9yLnNsaWNlKCk6bnVsbDtpZihudWxsPT09aSlBcnJheS5pc0FycmF5KG8pJiYobz1vWzBdKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaSkpe2lmKCFBcnJheS5pc0FycmF5KG8pKXt2YXIgdT1vO289W107Zm9yKHZhciBoPTA7aDxpLmxlbmd0aDtoKyspb1toXT11fW8ubGVuZ3RoPU1hdGgubWluKGkubGVuZ3RoLG8ubGVuZ3RoKX1zLnB1c2goe3R5cGU6ImRhdGEiLHByb3A6ZSx0cmFjZXM6aSx2YWx1ZTpvfSl9LCIiLDApLHN9ZnVuY3Rpb24gbCh0LGUscixuKXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBvPXRbaV07aWYoIl8iIT09aVswXSl7dmFyIHM9cisobj4wPyIuIjoiIikraTthLmlzUGxhaW5PYmplY3Qobyk/bChvLGUscyxuKzEpOmUocyxpLG8pfX0pfXIubWFuYWdlQ29tbWFuZE9ic2VydmVyPWZ1bmN0aW9uKHQsZSxuLG8pe3ZhciBzPXt9LGw9ITA7ZSYmZS5fY29tbWFuZE9ic2VydmVyJiYocz1lLl9jb21tYW5kT2JzZXJ2ZXIpLHMuY2FjaGV8fChzLmNhY2hlPXt9KSxzLmxvb2t1cFRhYmxlPXt9O3ZhciBjPXIuaGFzU2ltcGxlQVBJQ29tbWFuZEJpbmRpbmdzKHQsbixzLmxvb2t1cFRhYmxlKTtpZihlJiZlLl9jb21tYW5kT2JzZXJ2ZXIpe2lmKGMpcmV0dXJuIHM7aWYoZS5fY29tbWFuZE9ic2VydmVyLnJlbW92ZSlyZXR1cm4gZS5fY29tbWFuZE9ic2VydmVyLnJlbW92ZSgpLGUuX2NvbW1hbmRPYnNlcnZlcj1udWxsLHN9aWYoYyl7aSh0LGMscy5jYWNoZSkscy5jaGVjaz1mdW5jdGlvbigpe2lmKGwpe3ZhciBlPWkodCxjLHMuY2FjaGUpO3JldHVybiBlLmNoYW5nZWQmJm8mJnZvaWQgMCE9PXMubG9va3VwVGFibGVbZS52YWx1ZV0mJihzLmRpc2FibGUoKSxQcm9taXNlLnJlc29sdmUobyh7dmFsdWU6ZS52YWx1ZSx0eXBlOmMudHlwZSxwcm9wOmMucHJvcCx0cmFjZXM6Yy50cmFjZXMsaW5kZXg6cy5sb29rdXBUYWJsZVtlLnZhbHVlXX0pKS50aGVuKHMuZW5hYmxlLHMuZW5hYmxlKSksZS5jaGFuZ2VkfX07Zm9yKHZhciB1PVsicGxvdGx5X3JlbGF5b3V0IiwicGxvdGx5X3JlZHJhdyIsInBsb3RseV9yZXN0eWxlIiwicGxvdGx5X3VwZGF0ZSIsInBsb3RseV9hbmltYXRpbmdmcmFtZSIsInBsb3RseV9hZnRlcnBsb3QiXSxoPTA7aDx1Lmxlbmd0aDtoKyspdC5faW50ZXJuYWxPbih1W2hdLHMuY2hlY2spO3MucmVtb3ZlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTx1Lmxlbmd0aDtlKyspdC5fcmVtb3ZlSW50ZXJuYWxMaXN0ZW5lcih1W2VdLHMuY2hlY2spfX1lbHNlIGEubG9nKCJVbmFibGUgdG8gYXV0b21hdGljYWxseSBiaW5kIHBsb3QgdXBkYXRlcyB0byBBUEkgY29tbWFuZCIpLHMubG9va3VwVGFibGU9e30scy5yZW1vdmU9ZnVuY3Rpb24oKXt9O3JldHVybiBzLmRpc2FibGU9ZnVuY3Rpb24oKXtsPSExfSxzLmVuYWJsZT1mdW5jdGlvbigpe2w9ITB9LGUmJihlLl9jb21tYW5kT2JzZXJ2ZXI9cyksc30sci5oYXNTaW1wbGVBUElDb21tYW5kQmluZGluZ3M9ZnVuY3Rpb24odCxlLG4pe3ZhciBhLGksbz1lLmxlbmd0aDtmb3IoYT0wO2E8bzthKyspe3ZhciBzLGw9ZVthXSxjPWwubWV0aG9kLHU9bC5hcmdzO2lmKEFycmF5LmlzQXJyYXkodSl8fCh1PVtdKSwhYylyZXR1cm4hMTt2YXIgaD1yLmNvbXB1dGVBUElDb21tYW5kQmluZGluZ3ModCxjLHUpO2lmKDEhPT1oLmxlbmd0aClyZXR1cm4hMTtpZihpKXtpZigocz1oWzBdKS50eXBlIT09aS50eXBlKXJldHVybiExO2lmKHMucHJvcCE9PWkucHJvcClyZXR1cm4hMTtpZihBcnJheS5pc0FycmF5KGkudHJhY2VzKSl7aWYoIUFycmF5LmlzQXJyYXkocy50cmFjZXMpKXJldHVybiExO3MudHJhY2VzLnNvcnQoKTtmb3IodmFyIGY9MDtmPGkudHJhY2VzLmxlbmd0aDtmKyspaWYoaS50cmFjZXNbZl0hPT1zLnRyYWNlc1tmXSlyZXR1cm4hMX1lbHNlIGlmKHMucHJvcCE9PWkucHJvcClyZXR1cm4hMX1lbHNlIGk9aFswXSxBcnJheS5pc0FycmF5KGkudHJhY2VzKSYmaS50cmFjZXMuc29ydCgpO3ZhciBwPShzPWhbMF0pLnZhbHVlO2lmKEFycmF5LmlzQXJyYXkocCkpe2lmKDEhPT1wLmxlbmd0aClyZXR1cm4hMTtwPXBbMF19biYmKG5bcF09YSl9cmV0dXJuIGl9LHIuZXhlY3V0ZUFQSUNvbW1hbmQ9ZnVuY3Rpb24odCxlLHIpe2lmKCJza2lwIj09PWUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBpPW4uYXBpTWV0aG9kUmVnaXN0cnlbZV0sbz1bdF07QXJyYXkuaXNBcnJheShyKXx8KHI9W10pO2Zvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKW8ucHVzaChyW3NdKTtyZXR1cm4gaS5hcHBseShudWxsLG8pLmNhdGNoKGZ1bmN0aW9uKHQpe3JldHVybiBhLndhcm4oIkFQSSBjYWxsIHRvIFBsb3RseS4iK2UrIiByZWplY3RlZC4iLHQpLFByb21pc2UucmVqZWN0KHQpfSl9LHIuY29tcHV0ZUFQSUNvbW1hbmRCaW5kaW5ncz1mdW5jdGlvbih0LGUscil7dmFyIG47c3dpdGNoKEFycmF5LmlzQXJyYXkocil8fChyPVtdKSxlKXtjYXNlInJlc3R5bGUiOm49cyh0LHIpO2JyZWFrO2Nhc2UicmVsYXlvdXQiOm49byh0LHIpO2JyZWFrO2Nhc2UidXBkYXRlIjpuPXModCxbclswXSxyWzJdXSkuY29uY2F0KG8odCxbclsxXV0pKTticmVhaztjYXNlImFuaW1hdGUiOm49ZnVuY3Rpb24odCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlWzBdKSYmMT09PWVbMF0ubGVuZ3RoJiYtMSE9PVsic3RyaW5nIiwibnVtYmVyIl0uaW5kZXhPZih0eXBlb2YgZVswXVswXSk/W3t0eXBlOiJsYXlvdXQiLHByb3A6Il9jdXJyZW50RnJhbWUiLHZhbHVlOmVbMF1bMF0udG9TdHJpbmcoKX1dOltdfSgwLHIpO2JyZWFrO2RlZmF1bHQ6bj1bXX1yZXR1cm4gbn19LHsiLi4vbGliIjo3MTcsIi4uL3JlZ2lzdHJ5Ijo4NDZ9XSw3OTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ci5hdHRyaWJ1dGVzPWZ1bmN0aW9uKHQsZSl7ZT1lfHx7fTt2YXIgcj17dmFsVHlwZToiaW5mb19hcnJheSIsZWRpdFR5cGU6KHQ9dHx8e30pLmVkaXRUeXBlLGl0ZW1zOlt7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZTp0LmVkaXRUeXBlfSx7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZTp0LmVkaXRUeXBlfV0sZGZsdDpbMCwxXX0sYT0odC5uYW1lJiZ0Lm5hbWUsdC50cmFjZSxlLmRlc2NyaXB0aW9uJiZlLmRlc2NyaXB0aW9uLHt4Om4oe30scix7fSkseTpuKHt9LHIse30pLGVkaXRUeXBlOnQuZWRpdFR5cGV9KTtyZXR1cm4gdC5ub0dyaWRDZWxsfHwoYS5yb3c9e3ZhbFR5cGU6ImludGVnZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZTp0LmVkaXRUeXBlfSxhLmNvbHVtbj17dmFsVHlwZToiaW50ZWdlciIsbWluOjAsZGZsdDowLGVkaXRUeXBlOnQuZWRpdFR5cGV9KSxhfSxyLmRlZmF1bHRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW4mJm4ueHx8WzAsMV0saT1uJiZuLnl8fFswLDFdLG89ZS5ncmlkO2lmKG8pe3ZhciBzPXIoImRvbWFpbi5jb2x1bW4iKTt2b2lkIDAhPT1zJiYoczxvLmNvbHVtbnM/YT1vLl9kb21haW5zLnhbc106ZGVsZXRlIHQuZG9tYWluLmNvbHVtbik7dmFyIGw9cigiZG9tYWluLnJvdyIpO3ZvaWQgMCE9PWwmJihsPG8ucm93cz9pPW8uX2RvbWFpbnMueVtsXTpkZWxldGUgdC5kb21haW4ucm93KX12YXIgYz1yKCJkb21haW4ueCIsYSksdT1yKCJkb21haW4ueSIsaSk7Y1swXTxjWzFdfHwodC5kb21haW4ueD1hLnNsaWNlKCkpLHVbMF08dVsxXXx8KHQuZG9tYWluLnk9aS5zbGljZSgpKX19LHsiLi4vbGliL2V4dGVuZCI6NzA4fV0sNzkxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmVkaXRUeXBlLHI9dC5jb2xvckVkaXRUeXBlO3ZvaWQgMD09PXImJihyPWUpO3ZhciBuPXtmYW1pbHk6e3ZhbFR5cGU6InN0cmluZyIsbm9CbGFuazohMCxzdHJpY3Q6ITAsZWRpdFR5cGU6ZX0sc2l6ZTp7dmFsVHlwZToibnVtYmVyIixtaW46MSxlZGl0VHlwZTplfSxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOnJ9LGVkaXRUeXBlOmV9O3JldHVybiB0LmFycmF5T2smJihuLmZhbWlseS5hcnJheU9rPSEwLG4uc2l6ZS5hcnJheU9rPSEwLG4uY29sb3IuYXJyYXlPaz0hMCksbn19LHt9XSw3OTI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtfaXNMaW5rZWRUb0FycmF5OiJmcmFtZXNfZW50cnkiLGdyb3VwOnt2YWxUeXBlOiJzdHJpbmcifSxuYW1lOnt2YWxUeXBlOiJzdHJpbmcifSx0cmFjZXM6e3ZhbFR5cGU6ImFueSJ9LGJhc2VmcmFtZTp7dmFsVHlwZToic3RyaW5nIn0sZGF0YTp7dmFsVHlwZToiYW55In0sbGF5b3V0Ont2YWxUeXBlOiJhbnkifX19LHt9XSw3OTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5wcm9qTmFtZXM9e2VxdWlyZWN0YW5ndWxhcjoiZXF1aXJlY3Rhbmd1bGFyIixtZXJjYXRvcjoibWVyY2F0b3IiLG9ydGhvZ3JhcGhpYzoib3J0aG9ncmFwaGljIiwibmF0dXJhbCBlYXJ0aCI6Im5hdHVyYWxFYXJ0aCIsa2F2cmF5c2tpeTc6ImthdnJheXNraXk3IixtaWxsZXI6Im1pbGxlciIscm9iaW5zb246InJvYmluc29uIixlY2tlcnQ0OiJlY2tlcnQ0IiwiYXppbXV0aGFsIGVxdWFsIGFyZWEiOiJhemltdXRoYWxFcXVhbEFyZWEiLCJhemltdXRoYWwgZXF1aWRpc3RhbnQiOiJhemltdXRoYWxFcXVpZGlzdGFudCIsImNvbmljIGVxdWFsIGFyZWEiOiJjb25pY0VxdWFsQXJlYSIsImNvbmljIGNvbmZvcm1hbCI6ImNvbmljQ29uZm9ybWFsIiwiY29uaWMgZXF1aWRpc3RhbnQiOiJjb25pY0VxdWlkaXN0YW50Iixnbm9tb25pYzoiZ25vbW9uaWMiLHN0ZXJlb2dyYXBoaWM6InN0ZXJlb2dyYXBoaWMiLG1vbGx3ZWlkZToibW9sbHdlaWRlIixoYW1tZXI6ImhhbW1lciIsInRyYW5zdmVyc2UgbWVyY2F0b3IiOiJ0cmFuc3ZlcnNlTWVyY2F0b3IiLCJhbGJlcnMgdXNhIjoiYWxiZXJzVXNhIiwid2lua2VsIHRyaXBlbCI6IndpbmtlbDMiLGFpdG9mZjoiYWl0b2ZmIixzaW51c29pZGFsOiJzaW51c29pZGFsIn0sci5heGVzTmFtZXM9WyJsb25heGlzIiwibGF0YXhpcyJdLHIubG9uYXhpc1NwYW49e29ydGhvZ3JhcGhpYzoxODAsImF6aW11dGhhbCBlcXVhbCBhcmVhIjozNjAsImF6aW11dGhhbCBlcXVpZGlzdGFudCI6MzYwLCJjb25pYyBjb25mb3JtYWwiOjE4MCxnbm9tb25pYzoxNjAsc3RlcmVvZ3JhcGhpYzoxODAsInRyYW5zdmVyc2UgbWVyY2F0b3IiOjE4MCwiKiI6MzYwfSxyLmxhdGF4aXNTcGFuPXsiY29uaWMgY29uZm9ybWFsIjoxNTAsc3RlcmVvZ3JhcGhpYzoxNzkuNSwiKiI6MTgwfSxyLnNjb3BlRGVmYXVsdHM9e3dvcmxkOntsb25heGlzUmFuZ2U6Wy0xODAsMTgwXSxsYXRheGlzUmFuZ2U6Wy05MCw5MF0scHJvalR5cGU6ImVxdWlyZWN0YW5ndWxhciIscHJvalJvdGF0ZTpbMCwwLDBdfSx1c2E6e2xvbmF4aXNSYW5nZTpbLTE4MCwtNTBdLGxhdGF4aXNSYW5nZTpbMTUsODBdLHByb2pUeXBlOiJhbGJlcnMgdXNhIn0sZXVyb3BlOntsb25heGlzUmFuZ2U6Wy0zMCw2MF0sbGF0YXhpc1JhbmdlOlszMCw4NV0scHJvalR5cGU6ImNvbmljIGNvbmZvcm1hbCIscHJvalJvdGF0ZTpbMTUsMCwwXSxwcm9qUGFyYWxsZWxzOlswLDYwXX0sYXNpYTp7bG9uYXhpc1JhbmdlOlsyMiwxNjBdLGxhdGF4aXNSYW5nZTpbLTE1LDU1XSxwcm9qVHlwZToibWVyY2F0b3IiLHByb2pSb3RhdGU6WzAsMCwwXX0sYWZyaWNhOntsb25heGlzUmFuZ2U6Wy0zMCw2MF0sbGF0YXhpc1JhbmdlOlstNDAsNDBdLHByb2pUeXBlOiJtZXJjYXRvciIscHJvalJvdGF0ZTpbMCwwLDBdfSwibm9ydGggYW1lcmljYSI6e2xvbmF4aXNSYW5nZTpbLTE4MCwtNDVdLGxhdGF4aXNSYW5nZTpbNSw4NV0scHJvalR5cGU6ImNvbmljIGNvbmZvcm1hbCIscHJvalJvdGF0ZTpbLTEwMCwwLDBdLHByb2pQYXJhbGxlbHM6WzI5LjUsNDUuNV19LCJzb3V0aCBhbWVyaWNhIjp7bG9uYXhpc1JhbmdlOlstMTAwLC0zMF0sbGF0YXhpc1JhbmdlOlstNjAsMTVdLHByb2pUeXBlOiJtZXJjYXRvciIscHJvalJvdGF0ZTpbMCwwLDBdfX0sci5jbGlwUGFkPS4wMDEsci5wcmVjaXNpb249LjEsci5sYW5kQ29sb3I9IiNGMERDODIiLHIud2F0ZXJDb2xvcj0iIzMzOTlGRiIsci5sb2NhdGlvbm1vZGVUb0xheWVyPXsiSVNPLTMiOiJjb3VudHJpZXMiLCJVU0Etc3RhdGVzIjoic3VidW5pdHMiLCJjb3VudHJ5IG5hbWVzIjoiY291bnRyaWVzIn0sci5zcGhlcmVTVkc9e3R5cGU6IlNwaGVyZSJ9LHIuZmlsbExheWVycz17b2NlYW46MSxsYW5kOjEsbGFrZXM6MX0sci5saW5lTGF5ZXJzPXtzdWJ1bml0czoxLGNvdW50cmllczoxLGNvYXN0bGluZXM6MSxyaXZlcnM6MSxmcmFtZToxfSxyLmxheWVycz1bImJnIiwib2NlYW4iLCJsYW5kIiwibGFrZXMiLCJzdWJ1bml0cyIsImNvdW50cmllcyIsImNvYXN0bGluZXMiLCJyaXZlcnMiLCJsYXRheGlzIiwibG9uYXhpcyIsImZyYW1lIiwiYmFja3Bsb3QiLCJmcm9udHBsb3QiXSxyLmxheWVyc0ZvckNob3JvcGxldGg9WyJiZyIsIm9jZWFuIiwibGFuZCIsInN1YnVuaXRzIiwiY291bnRyaWVzIiwiY29hc3RsaW5lcyIsImxhdGF4aXMiLCJsb25heGlzIiwiZnJhbWUiLCJiYWNrcGxvdCIsInJpdmVycyIsImxha2VzIiwiZnJvbnRwbG90Il0sci5sYXllck5hbWVUb0FkamVjdGl2ZT17b2NlYW46Im9jZWFuIixsYW5kOiJsYW5kIixsYWtlczoibGFrZSIsc3VidW5pdHM6InN1YnVuaXQiLGNvdW50cmllczoiY291bnRyeSIsY29hc3RsaW5lczoiY29hc3RsaW5lIixyaXZlcnM6InJpdmVyIixmcmFtZToiZnJhbWUifX0se31dLDc5NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLHM9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksbD10KCIuLi8uLi9jb21wb25lbnRzL2Z4IiksYz10KCIuLi9wbG90cyIpLHU9dCgiLi4vY2FydGVzaWFuL2F4ZXMiKSxoPXQoIi4uL2NhcnRlc2lhbi9hdXRvcmFuZ2UiKS5nZXRBdXRvUmFuZ2UsZj10KCIuLi8uLi9jb21wb25lbnRzL2RyYWdlbGVtZW50IikscD10KCIuLi9jYXJ0ZXNpYW4vc2VsZWN0IikucHJlcFNlbGVjdCxkPXQoIi4uL2NhcnRlc2lhbi9zZWxlY3QiKS5zZWxlY3RPbkNsaWNrLGc9dCgiLi96b29tIiksdj10KCIuL2NvbnN0YW50cyIpLG09dCgiLi4vLi4vbGliL2dlb19sb2NhdGlvbl91dGlscyIpLHk9dCgiLi4vLi4vbGliL3RvcG9qc29uX3V0aWxzIikseD10KCJ0b3BvanNvbi1jbGllbnQiKS5mZWF0dXJlO2Z1bmN0aW9uIGIodCl7dGhpcy5pZD10LmlkLHRoaXMuZ3JhcGhEaXY9dC5ncmFwaERpdix0aGlzLmNvbnRhaW5lcj10LmNvbnRhaW5lcix0aGlzLnRvcG9qc29uVVJMPXQudG9wb2pzb25VUkwsdGhpcy5pc1N0YXRpYz10LnN0YXRpY1Bsb3QsdGhpcy50b3BvanNvbk5hbWU9bnVsbCx0aGlzLnRvcG9qc29uPW51bGwsdGhpcy5wcm9qZWN0aW9uPW51bGwsdGhpcy5zY29wZT1udWxsLHRoaXMudmlld0luaXRpYWw9bnVsbCx0aGlzLmZpdFNjYWxlPW51bGwsdGhpcy5ib3VuZHM9bnVsbCx0aGlzLm1pZFB0PW51bGwsdGhpcy5oYXNDaG9yb3BsZXRoPSExLHRoaXMudHJhY2VIYXNoPXt9LHRoaXMubGF5ZXJzPXt9LHRoaXMuYmFzZVBhdGhzPXt9LHRoaXMuZGF0YVBhdGhzPXt9LHRoaXMuZGF0YVBvaW50cz17fSx0aGlzLmNsaXBEZWY9bnVsbCx0aGlzLmNsaXBSZWN0PW51bGwsdGhpcy5iZ1JlY3Q9bnVsbCx0aGlzLm1ha2VGcmFtZXdvcmsoKX10KCIuL3Byb2plY3Rpb25zIikobik7dmFyIF89Yi5wcm90b3R5cGU7ZnVuY3Rpb24gdyh0LGUpe3ZhciByPXYuY2xpcFBhZCxuPXRbMF0rcixhPXRbMV0tcixpPWVbMF0rcixvPWVbMV0tcjtuPjAmJmE8MCYmKGErPTM2MCk7dmFyIHM9KGEtbikvNDtyZXR1cm57dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6W1tbbixpXSxbbixvXSxbbitzLG9dLFtuKzIqcyxvXSxbbiszKnMsb10sW2Esb10sW2EsaV0sW2EtcyxpXSxbYS0yKnMsaV0sW2EtMypzLGldLFtuLGldXV19fWUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGIodCl9LF8ucGxvdD1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcyxhPWVbdGhpcy5pZF0saT1bXSxvPSExO2Zvcih2YXIgcyBpbiB2LmxheWVyTmFtZVRvQWRqZWN0aXZlKWlmKCJmcmFtZSIhPT1zJiZhWyJzaG93IitzXSl7bz0hMDticmVha31mb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKylpZih0WzBdWzBdLnRyYWNlLmxvY2F0aW9ubW9kZSl7bz0hMDticmVha31pZihvKXt2YXIgYz15LmdldFRvcG9qc29uTmFtZShhKTtudWxsIT09bi50b3BvanNvbiYmYz09PW4udG9wb2pzb25OYW1lfHwobi50b3BvanNvbk5hbWU9Yyx2b2lkIDA9PT1QbG90bHlHZW9Bc3NldHMudG9wb2pzb25bbi50b3BvanNvbk5hbWVdJiZpLnB1c2gobi5mZXRjaFRvcG9qc29uKCkpKX1pPWkuY29uY2F0KG0uZmV0Y2hUcmFjZUdlb0RhdGEodCkpLHIucHVzaChuZXcgUHJvbWlzZShmdW5jdGlvbihyLGEpe1Byb21pc2UuYWxsKGkpLnRoZW4oZnVuY3Rpb24oKXtuLnRvcG9qc29uPVBsb3RseUdlb0Fzc2V0cy50b3BvanNvbltuLnRvcG9qc29uTmFtZV0sbi51cGRhdGUodCxlKSxyKCl9KS5jYXRjaChhKX0pKX0sXy5mZXRjaFRvcG9qc29uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXkuZ2V0VG9wb2pzb25QYXRoKHQudG9wb2pzb25VUkwsdC50b3BvanNvbk5hbWUpO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLGEpe24uanNvbihlLGZ1bmN0aW9uKG4saSl7aWYobilyZXR1cm4gNDA0PT09bi5zdGF0dXM/YShuZXcgRXJyb3IoWyJwbG90bHkuanMgY291bGQgbm90IGZpbmQgdG9wb2pzb24gZmlsZSBhdCIsZSwiLiIsIk1ha2Ugc3VyZSB0aGUgKnRvcG9qc29uVVJMKiBwbG90IGNvbmZpZyBvcHRpb24iLCJpcyBzZXQgcHJvcGVybHkuIl0uam9pbigiICIpKSk6YShuZXcgRXJyb3IoWyJ1bmV4cGVjdGVkIGVycm9yIHdoaWxlIGZldGNoaW5nIHRvcG9qc29uIGZpbGUgYXQiLGVdLmpvaW4oIiAiKSkpO1Bsb3RseUdlb0Fzc2V0cy50b3BvanNvblt0LnRvcG9qc29uTmFtZV09aSxyKCl9KX0pfSxfLnVwZGF0ZT1mdW5jdGlvbih0LGUpe3ZhciByPWVbdGhpcy5pZF07dGhpcy5oYXNDaG9yb3BsZXRoPSExO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgYT10W25dLGk9YVswXS50cmFjZTsiY2hvcm9wbGV0aCI9PT1pLnR5cGUmJih0aGlzLmhhc0Nob3JvcGxldGg9ITApLCEwPT09aS52aXNpYmxlJiZpLl9sZW5ndGg+MCYmaS5fbW9kdWxlLmNhbGNHZW9KU09OKGEsZSl9aWYoIXRoaXMudXBkYXRlUHJvamVjdGlvbih0LGUpKXt0aGlzLnZpZXdJbml0aWFsJiZ0aGlzLnNjb3BlPT09ci5zY29wZXx8dGhpcy5zYXZlVmlld0luaXRpYWwociksdGhpcy5zY29wZT1yLnNjb3BlLHRoaXMudXBkYXRlQmFzZUxheWVycyhlLHIpLHRoaXMudXBkYXRlRGltcyhlLHIpLHRoaXMudXBkYXRlRngoZSxyKSxjLmdlbmVyYWxVcGRhdGVQZXJUcmFjZU1vZHVsZSh0aGlzLmdyYXBoRGl2LHRoaXMsdCxyKTt2YXIgbz10aGlzLmxheWVycy5mcm9udHBsb3Quc2VsZWN0KCIuc2NhdHRlcmxheWVyIik7dGhpcy5kYXRhUG9pbnRzLnBvaW50PW8uc2VsZWN0QWxsKCIucG9pbnQiKSx0aGlzLmRhdGFQb2ludHMudGV4dD1vLnNlbGVjdEFsbCgidGV4dCIpLHRoaXMuZGF0YVBhdGhzLmxpbmU9by5zZWxlY3RBbGwoIi5qcy1saW5lIik7dmFyIHM9dGhpcy5sYXllcnMuYmFja3Bsb3Quc2VsZWN0KCIuY2hvcm9wbGV0aGxheWVyIik7dGhpcy5kYXRhUGF0aHMuY2hvcm9wbGV0aD1zLnNlbGVjdEFsbCgicGF0aCIpLHRoaXMucmVuZGVyKCl9fSxfLnVwZGF0ZVByb2plY3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmdyYXBoRGl2LG89ZVt0aGlzLmlkXSxzPWUuX3NpemUsbD1vLmRvbWFpbixjPW8ucHJvamVjdGlvbix1PW8ubG9uYXhpcyxmPW8ubGF0YXhpcyxwPXUuX2F4LGQ9Zi5fYXgsZz10aGlzLnByb2plY3Rpb249ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQucHJvamVjdGlvbi50eXBlLHI9bi5nZW9bdi5wcm9qTmFtZXNbZV1dKCksYT10Ll9pc0NsaXBwZWQ/di5sb25heGlzU3BhbltlXS8yOm51bGwsaT1bImNlbnRlciIsInJvdGF0ZSIsInBhcmFsbGVscyIsImNsaXBFeHRlbnQiXSxvPWZ1bmN0aW9uKHQpe3JldHVybiB0P3I6W119LHM9MDtzPGkubGVuZ3RoO3MrKyl7dmFyIGw9aVtzXTsiZnVuY3Rpb24iIT10eXBlb2YgcltsXSYmKHJbbF09byl9ci5pc0xvbkxhdE92ZXJFZGdlcz1mdW5jdGlvbih0KXtpZihudWxsPT09cih0KSlyZXR1cm4hMDtpZihhKXt2YXIgZT1yLnJvdGF0ZSgpO3JldHVybiBuLmdlby5kaXN0YW5jZSh0LFstZVswXSwtZVsxXV0pPmEqTWF0aC5QSS8xODB9cmV0dXJuITF9LHIuZ2V0UGF0aD1mdW5jdGlvbigpe3JldHVybiBuLmdlby5wYXRoKCkucHJvamVjdGlvbihyKX0sci5nZXRCb3VuZHM9ZnVuY3Rpb24odCl7cmV0dXJuIHIuZ2V0UGF0aCgpLmJvdW5kcyh0KX0sci5maXRFeHRlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10WzFdWzBdLXRbMF1bMF0sYT10WzFdWzFdLXRbMF1bMV0saT1yLmNsaXBFeHRlbnQmJnIuY2xpcEV4dGVudCgpO3Iuc2NhbGUoMTUwKS50cmFuc2xhdGUoWzAsMF0pLGkmJnIuY2xpcEV4dGVudChudWxsKTt2YXIgbz1yLmdldEJvdW5kcyhlKSxzPU1hdGgubWluKG4vKG9bMV1bMF0tb1swXVswXSksYS8ob1sxXVsxXS1vWzBdWzFdKSksbD0rdFswXVswXSsobi1zKihvWzFdWzBdK29bMF1bMF0pKS8yLGM9K3RbMF1bMV0rKGEtcyoob1sxXVsxXStvWzBdWzFdKSkvMjtyZXR1cm4gaSYmci5jbGlwRXh0ZW50KGkpLHIuc2NhbGUoMTUwKnMpLnRyYW5zbGF0ZShbbCxjXSl9LHIucHJlY2lzaW9uKHYucHJlY2lzaW9uKSxhJiZyLmNsaXBBbmdsZShhLXYuY2xpcFBhZCk7cmV0dXJuIHJ9KG8pLG09W1tzLmwrcy53KmwueFswXSxzLnQrcy5oKigxLWwueVsxXSldLFtzLmwrcy53KmwueFsxXSxzLnQrcy5oKigxLWwueVswXSldXSx5PW8uY2VudGVyfHx7fSx4PWMucm90YXRpb258fHt9LGI9dS5yYW5nZXx8W10sXz1mLnJhbmdlfHxbXTtpZihvLmZpdGJvdW5kcyl7cC5fbGVuZ3RoPW1bMV1bMF0tbVswXVswXSxkLl9sZW5ndGg9bVsxXVsxXS1tWzBdWzFdLHAucmFuZ2U9aChyLHApLGQucmFuZ2U9aChyLGQpO3ZhciBrPShwLnJhbmdlWzBdK3AucmFuZ2VbMV0pLzIsVD0oZC5yYW5nZVswXStkLnJhbmdlWzFdKS8yO2lmKG8uX2lzU2NvcGVkKXk9e2xvbjprLGxhdDpUfTtlbHNlIGlmKG8uX2lzQ2xpcHBlZCl7eT17bG9uOmssbGF0OlR9LHg9e2xvbjprLGxhdDpULHJvbGw6eC5yb2xsfTt2YXIgTT1jLnR5cGUsQT12LmxvbmF4aXNTcGFuW01dLzJ8fDE4MCxTPXYubGF0YXhpc1NwYW5bTV0vMnx8MTgwO2I9W2stQSxrK0FdLF89W1QtUyxUK1NdfWVsc2UgeT17bG9uOmssbGF0OlR9LHg9e2xvbjprLGxhdDp4LmxhdCxyb2xsOngucm9sbH19Zy5jZW50ZXIoW3kubG9uLXgubG9uLHkubGF0LXgubGF0XSkucm90YXRlKFsteC5sb24sLXgubGF0LHgucm9sbF0pLnBhcmFsbGVscyhjLnBhcmFsbGVscyk7dmFyIEU9dyhiLF8pO2cuZml0RXh0ZW50KG0sRSk7dmFyIEw9dGhpcy5ib3VuZHM9Zy5nZXRCb3VuZHMoRSksQz10aGlzLmZpdFNjYWxlPWcuc2NhbGUoKSxQPWcudHJhbnNsYXRlKCk7aWYoIWlzRmluaXRlKExbMF1bMF0pfHwhaXNGaW5pdGUoTFswXVsxXSl8fCFpc0Zpbml0ZShMWzFdWzBdKXx8IWlzRmluaXRlKExbMV1bMV0pfHxpc05hTihQWzBdKXx8aXNOYU4oUFswXSkpe2Zvcih2YXIgTz1bImZpdGJvdW5kcyIsInByb2plY3Rpb24ucm90YXRpb24iLCJjZW50ZXIiLCJsb25heGlzLnJhbmdlIiwibGF0YXhpcy5yYW5nZSJdLHo9IkludmFsaWQgZ2VvIHNldHRpbmdzLCByZWxheW91dCdpbmcgdG8gZGVmYXVsdCB2aWV3LiIsST17fSxEPTA7RDxPLmxlbmd0aDtEKyspSVt0aGlzLmlkKyIuIitPW0RdXT1udWxsO3JldHVybiB0aGlzLnZpZXdJbml0aWFsPW51bGwsaS53YXJuKHopLHIuX3Byb21pc2VzLnB1c2goYS5jYWxsKCJyZWxheW91dCIscixJKSksen1pZihvLmZpdGJvdW5kcyl7dmFyIFI9Zy5nZXRCb3VuZHModyhwLnJhbmdlLGQucmFuZ2UpKSxGPU1hdGgubWluKChMWzFdWzBdLUxbMF1bMF0pLyhSWzFdWzBdLVJbMF1bMF0pLChMWzFdWzFdLUxbMF1bMV0pLyhSWzFdWzFdLVJbMF1bMV0pKTtpc0Zpbml0ZShGKT9nLnNjYWxlKEYqQyk6aS53YXJuKCJTb21ldGhpbmcgd2VudCB3cm9uZyBkdXJpbmciK3RoaXMuaWQrImZpdGJvdW5kcyBjb21wdXRhdGlvbnMuIil9ZWxzZSBnLnNjYWxlKGMuc2NhbGUqQyk7dmFyIEI9dGhpcy5taWRQdD1bKExbMF1bMF0rTFsxXVswXSkvMiwoTFswXVsxXStMWzFdWzFdKS8yXTtpZihnLnRyYW5zbGF0ZShbUFswXSsoQlswXS1QWzBdKSxQWzFdKyhCWzFdLVBbMV0pXSkuY2xpcEV4dGVudChMKSxvLl9pc0FsYmVyc1VzYSl7dmFyIE49ZyhbeS5sb24seS5sYXRdKSxqPWcudHJhbnNsYXRlKCk7Zy50cmFuc2xhdGUoW2pbMF0tKE5bMF0talswXSksalsxXS0oTlsxXS1qWzFdKV0pfX0sXy51cGRhdGVCYXNlTGF5ZXJzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxhPXIudG9wb2pzb24saT1yLmxheWVycyxsPXIuYmFzZVBhdGhzO2Z1bmN0aW9uIGModCl7cmV0dXJuImxvbmF4aXMiPT09dHx8ImxhdGF4aXMiPT09dH1mdW5jdGlvbiBoKHQpe3JldHVybiBCb29sZWFuKHYubGluZUxheWVyc1t0XSl9ZnVuY3Rpb24gZih0KXtyZXR1cm4gQm9vbGVhbih2LmZpbGxMYXllcnNbdF0pfXZhciBwPSh0aGlzLmhhc0Nob3JvcGxldGg/di5sYXllcnNGb3JDaG9yb3BsZXRoOnYubGF5ZXJzKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGgodCl8fGYodCk/ZVsic2hvdyIrdF06IWModCl8fGVbdF0uc2hvd2dyaWR9KSxkPXIuZnJhbWV3b3JrLnNlbGVjdEFsbCgiLmxheWVyIikuZGF0YShwLFN0cmluZyk7ZC5leGl0KCkuZWFjaChmdW5jdGlvbih0KXtkZWxldGUgaVt0XSxkZWxldGUgbFt0XSxuLnNlbGVjdCh0aGlzKS5yZW1vdmUoKX0pLGQuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuImxheWVyICIrdH0pLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9aVt0XT1uLnNlbGVjdCh0aGlzKTsiYmciPT09dD9yLmJnUmVjdD1lLmFwcGVuZCgicmVjdCIpLnN0eWxlKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpOmModCk/bFt0XT1lLmFwcGVuZCgicGF0aCIpLnN0eWxlKCJmaWxsIiwibm9uZSIpOiJiYWNrcGxvdCI9PT10P2UuYXBwZW5kKCJnIikuY2xhc3NlZCgiY2hvcm9wbGV0aGxheWVyIiwhMCk6ImZyb250cGxvdCI9PT10P2UuYXBwZW5kKCJnIikuY2xhc3NlZCgic2NhdHRlcmxheWVyIiwhMCk6aCh0KT9sW3RdPWUuYXBwZW5kKCJwYXRoIikuc3R5bGUoImZpbGwiLCJub25lIikuc3R5bGUoInN0cm9rZS1taXRlcmxpbWl0IiwyKTpmKHQpJiYobFt0XT1lLmFwcGVuZCgicGF0aCIpLnN0eWxlKCJzdHJva2UiLCJub25lIikpfSksZC5vcmRlcigpLGQuZWFjaChmdW5jdGlvbihyKXt2YXIgbj1sW3JdLGk9di5sYXllck5hbWVUb0FkamVjdGl2ZVtyXTsiZnJhbWUiPT09cj9uLmRhdHVtKHYuc3BoZXJlU1ZHKTpoKHIpfHxmKHIpP24uZGF0dW0oeChhLGEub2JqZWN0c1tyXSkpOmMocikmJm4uZGF0dW0oZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaSxvPWVbdF0scz12LnNjb3BlRGVmYXVsdHNbZS5zY29wZV07ImxvbmF4aXMiPT09dD8obj1zLmxvbmF4aXNSYW5nZSxhPXMubGF0YXhpc1JhbmdlLGk9ZnVuY3Rpb24odCxlKXtyZXR1cm5bdCxlXX0pOiJsYXRheGlzIj09PXQmJihuPXMubGF0YXhpc1JhbmdlLGE9cy5sb25heGlzUmFuZ2UsaT1mdW5jdGlvbih0LGUpe3JldHVybltlLHRdfSk7dmFyIGw9e3R5cGU6ImxpbmVhciIscmFuZ2U6W25bMF0sblsxXS0xZS02XSx0aWNrMDpvLnRpY2swLGR0aWNrOm8uZHRpY2t9O3Uuc2V0Q29udmVydChsLHIpO3ZhciBjPXUuY2FsY1RpY2tzKGwpO2UuaXNTY29wZWR8fCJsb25heGlzIiE9PXR8fGMucG9wKCk7Zm9yKHZhciBoPWMubGVuZ3RoLGY9bmV3IEFycmF5KGgpLHA9MDtwPGg7cCsrKWZvcih2YXIgZD1jW3BdLngsZz1mW3BdPVtdLG09YVswXTttPGFbMV0rMi41O20rPTIuNSlnLnB1c2goaShkLG0pKTtyZXR1cm57dHlwZToiTXVsdGlMaW5lU3RyaW5nIixjb29yZGluYXRlczpmfX0ocixlLHQpKS5jYWxsKG8uc3Ryb2tlLGVbcl0uZ3JpZGNvbG9yKS5jYWxsKHMuZGFzaExpbmUsIiIsZVtyXS5ncmlkd2lkdGgpLGgocik/bi5jYWxsKG8uc3Ryb2tlLGVbaSsiY29sb3IiXSkuY2FsbChzLmRhc2hMaW5lLCIiLGVbaSsid2lkdGgiXSk6ZihyKSYmbi5jYWxsKG8uZmlsbCxlW2krImNvbG9yIl0pfSl9LF8udXBkYXRlRGltcz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuYm91bmRzLG49KGUuZnJhbWV3aWR0aHx8MCkvMixhPXJbMF1bMF0tbixpPXJbMF1bMV0tbixsPXJbMV1bMF0tYStuLGM9clsxXVsxXS1pK247cy5zZXRSZWN0KHRoaXMuY2xpcFJlY3QsYSxpLGwsYyksdGhpcy5iZ1JlY3QuY2FsbChzLnNldFJlY3QsYSxpLGwsYykuY2FsbChvLmZpbGwsZS5iZ2NvbG9yKSx0aGlzLnhheGlzLl9vZmZzZXQ9YSx0aGlzLnhheGlzLl9sZW5ndGg9bCx0aGlzLnlheGlzLl9vZmZzZXQ9aSx0aGlzLnlheGlzLl9sZW5ndGg9Y30sXy51cGRhdGVGeD1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMsaT1yLmdyYXBoRGl2LG89ci5iZ1JlY3Qscz10LmRyYWdtb2RlLGM9dC5jbGlja21vZGU7aWYoIXIuaXNTdGF0aWMpe3ZhciB1OyJzZWxlY3QiPT09cz91PWZ1bmN0aW9uKHQsZSl7KHQucmFuZ2U9e30pW3IuaWRdPVt2KFtlLnhtaW4sZS55bWluXSksdihbZS54bWF4LGUueW1heF0pXX06Imxhc3NvIj09PXMmJih1PWZ1bmN0aW9uKHQsZSxuKXsodC5sYXNzb1BvaW50cz17fSlbci5pZF09bi5maWx0ZXJlZC5tYXAodil9KTt2YXIgaD17ZWxlbWVudDpyLmJnUmVjdC5ub2RlKCksZ2Q6aSxwbG90aW5mbzp7aWQ6ci5pZCx4YXhpczpyLnhheGlzLHlheGlzOnIueWF4aXMsZmlsbFJhbmdlSXRlbXM6dX0seGF4ZXM6W3IueGF4aXNdLHlheGVzOltyLnlheGlzXSxzdWJwbG90OnIuaWQsY2xpY2tGbjpmdW5jdGlvbihlKXsyPT09ZSYmdC5fem9vbWxheWVyLnNlbGVjdEFsbCgiLnNlbGVjdC1vdXRsaW5lIikucmVtb3ZlKCl9fTsicGFuIj09PXM/KG8ubm9kZSgpLm9ubW91c2Vkb3duPW51bGwsby5jYWxsKGcocixlKSksby5vbigiZGJsY2xpY2suem9vbSIsZnVuY3Rpb24oKXt2YXIgdD1yLnZpZXdJbml0aWFsLGU9e307Zm9yKHZhciBuIGluIHQpZVtyLmlkKyIuIituXT10W25dO2EuY2FsbCgiX2d1aVJlbGF5b3V0IixpLGUpLGkuZW1pdCgicGxvdGx5X2RvdWJsZWNsaWNrIixudWxsKX0pLGkuX2NvbnRleHQuX3Njcm9sbFpvb20uZ2VvfHxvLm9uKCJ3aGVlbC56b29tIixudWxsKSk6InNlbGVjdCIhPT1zJiYibGFzc28iIT09c3x8KG8ub24oIi56b29tIixudWxsKSxoLnByZXBGbj1mdW5jdGlvbih0LGUscil7cCh0LGUscixoLHMpfSxmLmluaXQoaCkpLG8ub24oIm1vdXNlbW92ZSIsZnVuY3Rpb24oKXt2YXIgdD1yLnByb2plY3Rpb24uaW52ZXJ0KG4ubW91c2UodGhpcykpO2lmKCF0fHxpc05hTih0WzBdKXx8aXNOYU4odFsxXSkpcmV0dXJuIGYudW5ob3ZlcihpLG4uZXZlbnQpO3IueGF4aXMucDJjPWZ1bmN0aW9uKCl7cmV0dXJuIHRbMF19LHIueWF4aXMucDJjPWZ1bmN0aW9uKCl7cmV0dXJuIHRbMV19LGwuaG92ZXIoaSxuLmV2ZW50LHIuaWQpfSksby5vbigibW91c2VvdXQiLGZ1bmN0aW9uKCl7aS5fZHJhZ2dpbmd8fGYudW5ob3ZlcihpLG4uZXZlbnQpfSksby5vbigiY2xpY2siLGZ1bmN0aW9uKCl7InNlbGVjdCIhPT1zJiYibGFzc28iIT09cyYmKGMuaW5kZXhPZigic2VsZWN0Iik+LTEmJmQobi5ldmVudCxpLFtyLnhheGlzXSxbci55YXhpc10sci5pZCxoKSxjLmluZGV4T2YoImV2ZW50Iik+LTEmJmwuY2xpY2soaSxuLmV2ZW50KSl9KX1mdW5jdGlvbiB2KHQpe3JldHVybiByLnByb2plY3Rpb24uaW52ZXJ0KFt0WzBdK3IueGF4aXMuX29mZnNldCx0WzFdK3IueWF4aXMuX29mZnNldF0pfX0sXy5tYWtlRnJhbWV3b3JrPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuZ3JhcGhEaXYscj1lLl9mdWxsTGF5b3V0LGE9ImNsaXAiK3IuX3VpZCt0LmlkO3QuY2xpcERlZj1yLl9jbGlwcy5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGEpLHQuY2xpcFJlY3Q9dC5jbGlwRGVmLmFwcGVuZCgicmVjdCIpLHQuZnJhbWV3b3JrPW4uc2VsZWN0KHQuY29udGFpbmVyKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImdlbyAiK3QuaWQpLmNhbGwocy5zZXRDbGlwVXJsLGEsZSksdC5wcm9qZWN0PWZ1bmN0aW9uKGUpe3ZhciByPXQucHJvamVjdGlvbihlKTtyZXR1cm4gcj9bclswXS10LnhheGlzLl9vZmZzZXQsclsxXS10LnlheGlzLl9vZmZzZXRdOltudWxsLG51bGxdfSx0LnhheGlzPXtfaWQ6IngiLGMycDpmdW5jdGlvbihlKXtyZXR1cm4gdC5wcm9qZWN0KGUpWzBdfX0sdC55YXhpcz17X2lkOiJ5IixjMnA6ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvamVjdChlKVsxXX19LHQubW9ja0F4aXM9e3R5cGU6ImxpbmVhciIsc2hvd2V4cG9uZW50OiJhbGwiLGV4cG9uZW50Zm9ybWF0OiJCIn0sdS5zZXRDb252ZXJ0KHQubW9ja0F4aXMscil9LF8uc2F2ZVZpZXdJbml0aWFsPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dC5jZW50ZXJ8fHt9LG49dC5wcm9qZWN0aW9uLGE9bi5yb3RhdGlvbnx8e307dGhpcy52aWV3SW5pdGlhbD17Zml0Ym91bmRzOnQuZml0Ym91bmRzLCJwcm9qZWN0aW9uLnNjYWxlIjpuLnNjYWxlfSxlPXQuX2lzU2NvcGVkP3siY2VudGVyLmxvbiI6ci5sb24sImNlbnRlci5sYXQiOnIubGF0fTp0Ll9pc0NsaXBwZWQ/eyJwcm9qZWN0aW9uLnJvdGF0aW9uLmxvbiI6YS5sb24sInByb2plY3Rpb24ucm90YXRpb24ubGF0IjphLmxhdH06eyJjZW50ZXIubG9uIjpyLmxvbiwiY2VudGVyLmxhdCI6ci5sYXQsInByb2plY3Rpb24ucm90YXRpb24ubG9uIjphLmxvbn0saS5leHRlbmRGbGF0KHRoaXMudmlld0luaXRpYWwsZSl9LF8ucmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLnByb2plY3Rpb24scj1lLmdldFBhdGgoKTtmdW5jdGlvbiBuKHQpe3ZhciByPWUodC5sb25sYXQpO3JldHVybiByPyJ0cmFuc2xhdGUoIityWzBdKyIsIityWzFdKyIpIjpudWxsfWZ1bmN0aW9uIGEodCl7cmV0dXJuIGUuaXNMb25MYXRPdmVyRWRnZXModC5sb25sYXQpPyJub25lIjpudWxsfWZvcih0IGluIHRoaXMuYmFzZVBhdGhzKXRoaXMuYmFzZVBhdGhzW3RdLmF0dHIoImQiLHIpO2Zvcih0IGluIHRoaXMuZGF0YVBhdGhzKXRoaXMuZGF0YVBhdGhzW3RdLmF0dHIoImQiLGZ1bmN0aW9uKHQpe3JldHVybiByKHQuZ2VvanNvbil9KTtmb3IodCBpbiB0aGlzLmRhdGFQb2ludHMpdGhpcy5kYXRhUG9pbnRzW3RdLmF0dHIoImRpc3BsYXkiLGEpLmF0dHIoInRyYW5zZm9ybSIsbil9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCI6NjEwLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2dlb19sb2NhdGlvbl91dGlscyI6NzExLCIuLi8uLi9saWIvdG9wb2pzb25fdXRpbHMiOjc0NCwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vY2FydGVzaWFuL2F1dG9yYW5nZSI6NzY0LCIuLi9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9jYXJ0ZXNpYW4vc2VsZWN0Ijo3ODIsIi4uL3Bsb3RzIjo4MjYsIi4vY29uc3RhbnRzIjo3OTMsIi4vcHJvamVjdGlvbnMiOjc5OCwiLi96b29tIjo3OTksZDM6MTY1LCJ0b3BvanNvbi1jbGllbnQiOjUzOX1dLDc5NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9nZXRfZGF0YSIpLmdldFN1YnBsb3RDYWxjRGF0YSxhPXQoIi4uLy4uL2xpYiIpLmNvdW50ZXJSZWdleCxpPXQoIi4vZ2VvIiksbz0iZ2VvIixzPWEobyksbD17fTtsW29dPXt2YWxUeXBlOiJzdWJwbG90aWQiLGRmbHQ6byxlZGl0VHlwZToiY2FsYyJ9LGUuZXhwb3J0cz17YXR0cjpvLG5hbWU6byxpZFJvb3Q6byxpZFJlZ2V4OnMsYXR0clJlZ2V4OnMsYXR0cmlidXRlczpsLGxheW91dEF0dHJpYnV0ZXM6dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vbGF5b3V0X2RlZmF1bHRzIikscGxvdDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fZnVsbExheW91dCxyPXQuY2FsY2RhdGEsYT1lLl9zdWJwbG90c1tvXSxzPTA7czxhLmxlbmd0aDtzKyspe3ZhciBsPWFbc10sYz1uKHIsbyxsKSx1PWVbbF0uX3N1YnBsb3Q7dXx8KHU9aSh7aWQ6bCxncmFwaERpdjp0LGNvbnRhaW5lcjplLl9nZW9sYXllci5ub2RlKCksdG9wb2pzb25VUkw6dC5fY29udGV4dC50b3BvanNvblVSTCxzdGF0aWNQbG90OnQuX2NvbnRleHQuc3RhdGljUGxvdH0pLGVbbF0uX3N1YnBsb3Q9dSksdS5wbG90KGMsZSx0Ll9wcm9taXNlcyl9fSx1cGRhdGVGeDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fZnVsbExheW91dCxyPWUuX3N1YnBsb3RzW29dLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9ZVtyW25dXTthLl9zdWJwbG90LnVwZGF0ZUZ4KGUsYSl9fSxjbGVhbjpmdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9bi5fc3VicGxvdHNbb118fFtdLGk9MDtpPGEubGVuZ3RoO2krKyl7dmFyIHM9YVtpXSxsPW5bc10uX3N1YnBsb3Q7IWVbc10mJmwmJihsLmZyYW1ld29yay5yZW1vdmUoKSxsLmNsaXBEZWYucmVtb3ZlKCkpfX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9nZXRfZGF0YSI6ODAwLCIuL2dlbyI6Nzk0LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo3OTYsIi4vbGF5b3V0X2RlZmF1bHRzIjo3OTd9XSw3OTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIiksYT10KCIuLi9kb21haW4iKS5hdHRyaWJ1dGVzLGk9dCgiLi9jb25zdGFudHMiKSxvPXQoIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiKS5vdmVycmlkZUFsbCxzPXtyYW5nZTp7dmFsVHlwZToiaW5mb19hcnJheSIsaXRlbXM6W3t2YWxUeXBlOiJudW1iZXIifSx7dmFsVHlwZToibnVtYmVyIn1dfSxzaG93Z3JpZDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sdGljazA6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowfSxkdGljazp7dmFsVHlwZToibnVtYmVyIn0sZ3JpZGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmxpZ2h0TGluZX0sZ3JpZHdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX19OyhlLmV4cG9ydHM9byh7ZG9tYWluOmEoe25hbWU6ImdlbyJ9LHt9KSxmaXRib3VuZHM6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITEsImxvY2F0aW9ucyIsImdlb2pzb24iXSxkZmx0OiExLGVkaXRUeXBlOiJwbG90In0scmVzb2x1dGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsxMTAsNTBdLGRmbHQ6MTEwLGNvZXJjZU51bWJlcjohMH0sc2NvcGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpPYmplY3Qua2V5cyhpLnNjb3BlRGVmYXVsdHMpLGRmbHQ6IndvcmxkIn0scHJvamVjdGlvbjp7dHlwZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOk9iamVjdC5rZXlzKGkucHJvak5hbWVzKX0scm90YXRpb246e2xvbjp7dmFsVHlwZToibnVtYmVyIn0sbGF0Ont2YWxUeXBlOiJudW1iZXIifSxyb2xsOnt2YWxUeXBlOiJudW1iZXIifX0scGFyYWxsZWxzOnt2YWxUeXBlOiJpbmZvX2FycmF5IixpdGVtczpbe3ZhbFR5cGU6Im51bWJlciJ9LHt2YWxUeXBlOiJudW1iZXIifV19LHNjYWxlOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX19LGNlbnRlcjp7bG9uOnt2YWxUeXBlOiJudW1iZXIifSxsYXQ6e3ZhbFR5cGU6Im51bWJlciJ9fSx2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSxzaG93Y29hc3RsaW5lczp7dmFsVHlwZToiYm9vbGVhbiJ9LGNvYXN0bGluZWNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmRlZmF1bHRMaW5lfSxjb2FzdGxpbmV3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjF9LHNob3dsYW5kOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxsYW5kY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmkubGFuZENvbG9yfSxzaG93b2NlYW46e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LG9jZWFuY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0Omkud2F0ZXJDb2xvcn0sc2hvd2xha2VzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxsYWtlY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0Omkud2F0ZXJDb2xvcn0sc2hvd3JpdmVyczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0scml2ZXJjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6aS53YXRlckNvbG9yfSxyaXZlcndpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX0sc2hvd2NvdW50cmllczp7dmFsVHlwZToiYm9vbGVhbiJ9LGNvdW50cnljb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6bi5kZWZhdWx0TGluZX0sY291bnRyeXdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX0sc2hvd3N1YnVuaXRzOnt2YWxUeXBlOiJib29sZWFuIn0sc3VidW5pdGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmRlZmF1bHRMaW5lfSxzdWJ1bml0d2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxfSxzaG93ZnJhbWU6e3ZhbFR5cGU6ImJvb2xlYW4ifSxmcmFtZWNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmRlZmF1bHRMaW5lfSxmcmFtZXdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MX0sYmdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6bi5iYWNrZ3JvdW5kfSxsb25heGlzOnMsbGF0YXhpczpzfSwicGxvdCIsImZyb20tcm9vdCIpKS51aXJldmlzaW9uPXt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJub25lIn19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIjo1OTEsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vZG9tYWluIjo3OTAsIi4vY29uc3RhbnRzIjo3OTN9XSw3OTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zdWJwbG90X2RlZmF1bHRzIiksaT10KCIuLi9nZXRfZGF0YSIpLmdldFN1YnBsb3REYXRhLG89dCgiLi9jb25zdGFudHMiKSxzPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxsPW8uYXhlc05hbWVzO2Z1bmN0aW9uIGModCxlLHIsYSl7dmFyIHM9aShhLmZ1bGxEYXRhLCJnZW8iLGEuaWQpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5fZXhwYW5kZWRJbmRleH0pLGM9cigicmVzb2x1dGlvbiIpLHU9cigic2NvcGUiKSxoPW8uc2NvcGVEZWZhdWx0c1t1XSxmPXIoInByb2plY3Rpb24udHlwZSIsaC5wcm9qVHlwZSkscD1lLl9pc0FsYmVyc1VzYT0iYWxiZXJzIHVzYSI9PT1mO3AmJih1PWUuc2NvcGU9InVzYSIpO3ZhciBkPWUuX2lzU2NvcGVkPSJ3b3JsZCIhPT11LGc9ZS5faXNDb25pYz0tMSE9PWYuaW5kZXhPZigiY29uaWMiKSx2PWUuX2lzQ2xpcHBlZD0hIW8ubG9uYXhpc1NwYW5bZl07aWYoITE9PT10LnZpc2libGUpe3ZhciBtPW4uZXh0ZW5kRGVlcCh7fSxlLl90ZW1wbGF0ZSk7bS5zaG93Y29hc3RsaW5lcz0hMSxtLnNob3djb3VudHJpZXM9ITEsbS5zaG93ZnJhbWU9ITEsbS5zaG93bGFrZXM9ITEsbS5zaG93bGFuZD0hMSxtLnNob3dvY2Vhbj0hMSxtLnNob3dyaXZlcnM9ITEsbS5zaG93c3VidW5pdHM9ITEsbS5sb25heGlzJiYobS5sb25heGlzLnNob3dncmlkPSExKSxtLmxhdGF4aXMmJihtLmxhdGF4aXMuc2hvd2dyaWQ9ITEpLGUuX3RlbXBsYXRlPW19Zm9yKHZhciB5PXIoInZpc2libGUiKSx4PTA7eDxsLmxlbmd0aDt4Kyspe3ZhciBiLF89bFt4XSx3PVszMCwxMF1beF07aWYoZCliPWhbXysiUmFuZ2UiXTtlbHNle3ZhciBrPW9bXysiU3BhbiJdLFQ9KGtbZl18fGtbIioiXSkvMixNPXIoInByb2plY3Rpb24ucm90YXRpb24uIitfLnN1YnN0cigwLDMpLGgucHJvalJvdGF0ZVt4XSk7Yj1bTS1ULE0rVF19dmFyIEE9cihfKyIucmFuZ2UiLGIpO3IoXysiLnRpY2swIikscihfKyIuZHRpY2siLHcpLHIoXysiLnNob3dncmlkIiwhIXkmJnZvaWQgMCkmJihyKF8rIi5ncmlkY29sb3IiKSxyKF8rIi5ncmlkd2lkdGgiKSksZVtfXS5fYXg9e3R5cGU6ImxpbmVhciIsX2lkOl8uc2xpY2UoMCwzKSxfdHJhY2VJbmRpY2VzOnMsc2V0U2NhbGU6bi5pZGVudGl0eSxjMmw6bi5pZGVudGl0eSxyMmw6bi5pZGVudGl0eSxhdXRvcmFuZ2U6ITAscmFuZ2U6QS5zbGljZSgpLF9tOjEsX2lucHV0Ont9fX12YXIgUz1lLmxvbmF4aXMucmFuZ2UsRT1lLmxhdGF4aXMucmFuZ2UsTD1TWzBdLEM9U1sxXTtMPjAmJkM8MCYmKEMrPTM2MCk7dmFyIFAsTyx6LEk9KEwrQykvMjtpZighcCl7dmFyIEQ9ZD9oLnByb2pSb3RhdGU6W0ksMCwwXTtQPXIoInByb2plY3Rpb24ucm90YXRpb24ubG9uIixEWzBdKSxyKCJwcm9qZWN0aW9uLnJvdGF0aW9uLmxhdCIsRFsxXSkscigicHJvamVjdGlvbi5yb3RhdGlvbi5yb2xsIixEWzJdKSxyKCJzaG93Y29hc3RsaW5lcyIsIWQmJnkpJiYocigiY29hc3RsaW5lY29sb3IiKSxyKCJjb2FzdGxpbmV3aWR0aCIpKSxyKCJzaG93b2NlYW4iLCEheSYmdm9pZCAwKSYmcigib2NlYW5jb2xvciIpfShwPyhPPS05Ni42LHo9MzguNyk6KE89ZD9JOlAsej0oRVswXStFWzFdKS8yKSxyKCJjZW50ZXIubG9uIixPKSxyKCJjZW50ZXIubGF0Iix6KSxnKSYmcigicHJvamVjdGlvbi5wYXJhbGxlbHMiLGgucHJvalBhcmFsbGVsc3x8WzAsNjBdKTtyKCJwcm9qZWN0aW9uLnNjYWxlIikscigic2hvd2xhbmQiLCEheSYmdm9pZCAwKSYmcigibGFuZGNvbG9yIikscigic2hvd2xha2VzIiwhIXkmJnZvaWQgMCkmJnIoImxha2Vjb2xvciIpLHIoInNob3dyaXZlcnMiLCEheSYmdm9pZCAwKSYmKHIoInJpdmVyY29sb3IiKSxyKCJyaXZlcndpZHRoIikpLHIoInNob3djb3VudHJpZXMiLGQmJiJ1c2EiIT09dSYmeSkmJihyKCJjb3VudHJ5Y29sb3IiKSxyKCJjb3VudHJ5d2lkdGgiKSksKCJ1c2EiPT09dXx8Im5vcnRoIGFtZXJpY2EiPT09dSYmNTA9PT1jKSYmKHIoInNob3dzdWJ1bml0cyIseSkscigic3VidW5pdGNvbG9yIikscigic3VidW5pdHdpZHRoIikpLGR8fHIoInNob3dmcmFtZSIseSkmJihyKCJmcmFtZWNvbG9yIikscigiZnJhbWV3aWR0aCIpKSxyKCJiZ2NvbG9yIikscigiZml0Ym91bmRzIikmJihkZWxldGUgZS5wcm9qZWN0aW9uLnNjYWxlLGQ/KGRlbGV0ZSBlLmNlbnRlci5sb24sZGVsZXRlIGUuY2VudGVyLmxhdCk6dj8oZGVsZXRlIGUuY2VudGVyLmxvbixkZWxldGUgZS5jZW50ZXIubGF0LGRlbGV0ZSBlLnByb2plY3Rpb24ucm90YXRpb24ubG9uLGRlbGV0ZSBlLnByb2plY3Rpb24ucm90YXRpb24ubGF0LGRlbGV0ZSBlLmxvbmF4aXMucmFuZ2UsZGVsZXRlIGUubGF0YXhpcy5yYW5nZSk6KGRlbGV0ZSBlLmNlbnRlci5sb24sZGVsZXRlIGUuY2VudGVyLmxhdCxkZWxldGUgZS5wcm9qZWN0aW9uLnJvdGF0aW9uLmxvbikpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7YSh0LGUscix7dHlwZToiZ2VvIixhdHRyaWJ1dGVzOnMsaGFuZGxlRGVmYXVsdHM6YyxmdWxsRGF0YTpyLHBhcnRpdGlvbjoieSJ9KX19LHsiLi4vLi4vbGliIjo3MTcsIi4uL2dldF9kYXRhIjo4MDAsIi4uL3N1YnBsb3RfZGVmYXVsdHMiOjg0MCwiLi9jb25zdGFudHMiOjc5MywiLi9sYXlvdXRfYXR0cmlidXRlcyI6Nzk2fV0sNzk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7cmV0dXJue3R5cGU6IkZlYXR1cmUiLGlkOnQuaWQscHJvcGVydGllczp0LnByb3BlcnRpZXMsZ2VvbWV0cnk6cih0Lmdlb21ldHJ5LGUpfX1mdW5jdGlvbiByKGUsbil7aWYoIWUpcmV0dXJuIG51bGw7aWYoIkdlb21ldHJ5Q29sbGVjdGlvbiI9PT1lLnR5cGUpcmV0dXJue3R5cGU6Ikdlb21ldHJ5Q29sbGVjdGlvbiIsZ2VvbWV0cmllczpvYmplY3QuZ2VvbWV0cmllcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHIodCxuKX0pfTtpZighYy5oYXNPd25Qcm9wZXJ0eShlLnR5cGUpKXJldHVybiBudWxsO3ZhciBhPWNbZS50eXBlXTtyZXR1cm4gdC5nZW8uc3RyZWFtKGUsbihhKSksYS5yZXN1bHQoKX10Lmdlby5wcm9qZWN0PWZ1bmN0aW9uKHQsZSl7dmFyIGE9ZS5zdHJlYW07aWYoIWEpdGhyb3cgbmV3IEVycm9yKCJub3QgeWV0IHN1cHBvcnRlZCIpO3JldHVybih0JiZuLmhhc093blByb3BlcnR5KHQudHlwZSk/blt0LnR5cGVdOnIpKHQsYSl9O3ZhciBuPXtGZWF0dXJlOmUsRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxyKXtyZXR1cm57dHlwZToiRmVhdHVyZUNvbGxlY3Rpb24iLGZlYXR1cmVzOnQuZmVhdHVyZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQscil9KX19fSxhPVtdLGk9W10sbz17cG9pbnQ6ZnVuY3Rpb24odCxlKXthLnB1c2goW3QsZV0pfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1hLmxlbmd0aD9hLmxlbmd0aDwyP3t0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6YVswXX06e3R5cGU6Ik11bHRpUG9pbnQiLGNvb3JkaW5hdGVzOmF9Om51bGw7cmV0dXJuIGE9W10sdH19LHM9e2xpbmVTdGFydDp1LHBvaW50OmZ1bmN0aW9uKHQsZSl7YS5wdXNoKFt0LGVdKX0sbGluZUVuZDpmdW5jdGlvbigpe2EubGVuZ3RoJiYoaS5wdXNoKGEpLGE9W10pfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1pLmxlbmd0aD9pLmxlbmd0aDwyP3t0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczppWzBdfTp7dHlwZToiTXVsdGlMaW5lU3RyaW5nIixjb29yZGluYXRlczppfTpudWxsO3JldHVybiBpPVtdLHR9fSxsPXtwb2x5Z29uU3RhcnQ6dSxsaW5lU3RhcnQ6dSxwb2ludDpmdW5jdGlvbih0LGUpe2EucHVzaChbdCxlXSl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD1hLmxlbmd0aDtpZih0KXtkb3thLnB1c2goYVswXS5zbGljZSgpKX13aGlsZSgrK3Q8NCk7aS5wdXNoKGEpLGE9W119fSxwb2x5Z29uRW5kOnUscmVzdWx0OmZ1bmN0aW9uKCl7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3ZhciB0PVtdLGU9W107cmV0dXJuIGkuZm9yRWFjaChmdW5jdGlvbihyKXshZnVuY3Rpb24odCl7aWYoKGU9dC5sZW5ndGgpPDQpcmV0dXJuITE7Zm9yKHZhciBlLHI9MCxuPXRbZS0xXVsxXSp0WzBdWzBdLXRbZS0xXVswXSp0WzBdWzFdOysrcjxlOyluKz10W3ItMV1bMV0qdFtyXVswXS10W3ItMV1bMF0qdFtyXVsxXTtyZXR1cm4gbjw9MH0ocik/ZS5wdXNoKHIpOnQucHVzaChbcl0pfSksZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByPWVbMF07dC5zb21lKGZ1bmN0aW9uKHQpe2lmKGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWVbMF0sbj1lWzFdLGE9ITEsaT0wLG89dC5sZW5ndGgscz1vLTE7aTxvO3M9aSsrKXt2YXIgbD10W2ldLGM9bFswXSx1PWxbMV0saD10W3NdLGY9aFswXSxwPWhbMV07dT5uXnA+biYmcjwoZi1jKSoobi11KS8ocC11KStjJiYoYT0hYSl9cmV0dXJuIGF9KHRbMF0scikpcmV0dXJuIHQucHVzaChlKSwhMH0pfHx0LnB1c2goW2VdKX0pLGk9W10sdC5sZW5ndGg/dC5sZW5ndGg+MT97dHlwZToiTXVsdGlQb2x5Z29uIixjb29yZGluYXRlczp0fTp7dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6dFswXX06bnVsbH19LGM9e1BvaW50Om8sTXVsdGlQb2ludDpvLExpbmVTdHJpbmc6cyxNdWx0aUxpbmVTdHJpbmc6cyxQb2x5Z29uOmwsTXVsdGlQb2x5Z29uOmwsU3BoZXJlOmx9O2Z1bmN0aW9uIHUoKXt9dmFyIGg9MWUtNixmPWgqaCxwPU1hdGguUEksZD1wLzIsZz0oTWF0aC5zcXJ0KHApLHAvMTgwKSx2PTE4MC9wO2Z1bmN0aW9uIG0odCl7cmV0dXJuIHQ+MT9kOnQ8LTE/LWQ6TWF0aC5hc2luKHQpfWZ1bmN0aW9uIHkodCl7cmV0dXJuIHQ+MT8wOnQ8LTE/cDpNYXRoLmFjb3ModCl9dmFyIHg9dC5nZW8ucHJvamVjdGlvbixiPXQuZ2VvLnByb2plY3Rpb25NdXRhdG9yO2Z1bmN0aW9uIF8odCxlKXt2YXIgcj0oMitkKSpNYXRoLnNpbihlKTtlLz0yO2Zvcih2YXIgbj0wLGE9MS8wO248MTAmJk1hdGguYWJzKGEpPmg7bisrKXt2YXIgaT1NYXRoLmNvcyhlKTtlLT1hPShlK01hdGguc2luKGUpKihpKzIpLXIpLygyKmkqKDEraSkpfXJldHVyblsyL01hdGguc3FydChwKig0K3ApKSp0KigxK01hdGguY29zKGUpKSwyKk1hdGguc3FydChwLyg0K3ApKSpNYXRoLnNpbihlKV19dC5nZW8uaW50ZXJydXB0PWZ1bmN0aW9uKGUpe3ZhciByLG49W1tbWy1wLDBdLFswLGRdLFtwLDBdXV0sW1tbLXAsMF0sWzAsLWRdLFtwLDBdXV1dO2Z1bmN0aW9uIGEodCxyKXtmb3IodmFyIGE9cjwwPy0xOjEsaT1uWysocjwwKV0sbz0wLHM9aS5sZW5ndGgtMTtvPHMmJnQ+aVtvXVsyXVswXTsrK28pO3ZhciBsPWUodC1pW29dWzFdWzBdLHIpO3JldHVybiBsWzBdKz1lKGlbb11bMV1bMF0sYSpyPmEqaVtvXVswXVsxXT9pW29dWzBdWzFdOnIpWzBdLGx9ZS5pbnZlcnQmJihhLmludmVydD1mdW5jdGlvbih0LGkpe2Zvcih2YXIgbz1yWysoaTwwKV0scz1uWysoaTwwKV0sYz0wLHU9by5sZW5ndGg7Yzx1OysrYyl7dmFyIGg9b1tjXTtpZihoWzBdWzBdPD10JiZ0PGhbMV1bMF0mJmhbMF1bMV08PWkmJmk8aFsxXVsxXSl7dmFyIGY9ZS5pbnZlcnQodC1lKHNbY11bMV1bMF0sMClbMF0saSk7cmV0dXJuIGZbMF0rPXNbY11bMV1bMF0sbChhKGZbMF0sZlsxXSksW3QsaV0pP2Y6bnVsbH19fSk7dmFyIGk9dC5nZW8ucHJvamVjdGlvbihhKSxvPWkuc3RyZWFtO2Z1bmN0aW9uIHModCxlKXtmb3IodmFyIHIsbixhLGk9LTEsbz10Lmxlbmd0aCxzPXRbMF0sbD1bXTsrK2k8bzspe249KChyPXRbaV0pWzBdLXNbMF0pL2UsYT0oclsxXS1zWzFdKS9lO2Zvcih2YXIgYz0wO2M8ZTsrK2MpbC5wdXNoKFtzWzBdK2MqbixzWzFdK2MqYV0pO3M9cn1yZXR1cm4gbC5wdXNoKHIpLGx9ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBNYXRoLmFicyh0WzBdLWVbMF0pPGgmJk1hdGguYWJzKHRbMV0tZVsxXSk8aH1yZXR1cm4gaS5zdHJlYW09ZnVuY3Rpb24oZSl7dmFyIHI9aS5yb3RhdGUoKSxhPW8oZSksbD0oaS5yb3RhdGUoWzAsMF0pLG8oZSkpO3JldHVybiBpLnJvdGF0ZShyKSxhLnNwaGVyZT1mdW5jdGlvbigpe3QuZ2VvLnN0cmVhbShmdW5jdGlvbigpe2Zvcih2YXIgZT0xZS02LHI9W10sYT0wLGk9blswXS5sZW5ndGg7YTxpOysrYSl7dmFyIG89blswXVthXSxsPTE4MCpvWzBdWzBdL3AsYz0xODAqb1swXVsxXS9wLHU9MTgwKm9bMV1bMV0vcCxoPTE4MCpvWzJdWzBdL3AsZj0xODAqb1syXVsxXS9wO3IucHVzaChzKFtbbCtlLGMrZV0sW2wrZSx1LWVdLFtoLWUsdS1lXSxbaC1lLGYrZV1dLDMwKSl9Zm9yKHZhciBhPW5bMV0ubGVuZ3RoLTE7YT49MDstLWEpe3ZhciBvPW5bMV1bYV0sbD0xODAqb1swXVswXS9wLGM9MTgwKm9bMF1bMV0vcCx1PTE4MCpvWzFdWzFdL3AsaD0xODAqb1syXVswXS9wLGY9MTgwKm9bMl1bMV0vcDtyLnB1c2gocyhbW2gtZSxmLWVdLFtoLWUsdStlXSxbbCtlLHUrZV0sW2wrZSxjLWVdXSwzMCkpfXJldHVybnt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbdC5tZXJnZShyKV19fSgpLGwpfSxhfSxpLmxvYmVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChmdW5jdGlvbih0KXtyZXR1cm5bW3RbMF1bMF0qcC8xODAsdFswXVsxXSpwLzE4MF0sW3RbMV1bMF0qcC8xODAsdFsxXVsxXSpwLzE4MF0sW3RbMl1bMF0qcC8xODAsdFsyXVsxXSpwLzE4MF1dfSl9KSxyPW4ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChmdW5jdGlvbih0KXt2YXIgcixuPWUodFswXVswXSx0WzBdWzFdKVswXSxhPWUodFsyXVswXSx0WzJdWzFdKVswXSxpPWUodFsxXVswXSx0WzBdWzFdKVsxXSxvPWUodFsxXVswXSx0WzFdWzFdKVsxXTtyZXR1cm4gaT5vJiYocj1pLGk9byxvPXIpLFtbbixpXSxbYSxvXV19KX0pLGkpOm4ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChmdW5jdGlvbih0KXtyZXR1cm5bWzE4MCp0WzBdWzBdL3AsMTgwKnRbMF1bMV0vcF0sWzE4MCp0WzFdWzBdL3AsMTgwKnRbMV1bMV0vcF0sWzE4MCp0WzJdWzBdL3AsMTgwKnRbMl1bMV0vcF1dfSl9KX0saX0sXy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj0uNSplKk1hdGguc3FydCgoNCtwKS9wKSxuPW0ociksYT1NYXRoLmNvcyhuKTtyZXR1cm5bdC8oMi9NYXRoLnNxcnQocCooNCtwKSkqKDErYSkpLG0oKG4rciooYSsyKSkvKDIrZCkpXX0sKHQuZ2VvLmVja2VydDQ9ZnVuY3Rpb24oKXtyZXR1cm4geChfKX0pLnJhdz1fO3ZhciB3PXQuZ2VvLmF6aW11dGhhbEVxdWFsQXJlYS5yYXc7ZnVuY3Rpb24gayh0LGUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8MiYmKGU9dCksMT09PWUpcmV0dXJuIHc7aWYoZT09PTEvMClyZXR1cm4gVDtmdW5jdGlvbiByKHIsbil7dmFyIGE9dyhyL2Usbik7cmV0dXJuIGFbMF0qPXQsYX1yZXR1cm4gci5pbnZlcnQ9ZnVuY3Rpb24ocixuKXt2YXIgYT13LmludmVydChyL3Qsbik7cmV0dXJuIGFbMF0qPWUsYX0scn1mdW5jdGlvbiBUKHQsZSl7cmV0dXJuW3QqTWF0aC5jb3MoZSkvTWF0aC5jb3MoZS89MiksMipNYXRoLnNpbihlKV19ZnVuY3Rpb24gTSh0LGUpe3JldHVyblszKnQvKDIqcCkqTWF0aC5zcXJ0KHAqcC8zLWUqZSksZV19ZnVuY3Rpb24gQSh0LGUpe3JldHVyblt0LDEuMjUqTWF0aC5sb2coTWF0aC50YW4ocC80Ky40KmUpKV19ZnVuY3Rpb24gUyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHIsbj10Kk1hdGguc2luKGUpLGE9MzA7ZG97ZS09cj0oZStNYXRoLnNpbihlKS1uKS8oMStNYXRoLmNvcyhlKSl9d2hpbGUoTWF0aC5hYnMocik+aCYmLS1hPjApO3JldHVybiBlLzJ9fVQuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9MiptKGUvMik7cmV0dXJuW3QqTWF0aC5jb3Moci8yKS9NYXRoLmNvcyhyKSxyXX0sKHQuZ2VvLmhhbW1lcj1mdW5jdGlvbigpe3ZhciB0PTIsZT1iKGspLHI9ZSh0KTtyZXR1cm4gci5jb2VmZmljaWVudD1mdW5jdGlvbihyKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKHQ9K3IpOnR9LHJ9KS5yYXc9ayxNLmludmVydD1mdW5jdGlvbih0LGUpe3JldHVyblsyLzMqcCp0L01hdGguc3FydChwKnAvMy1lKmUpLGVdfSwodC5nZW8ua2F2cmF5c2tpeTc9ZnVuY3Rpb24oKXtyZXR1cm4geChNKX0pLnJhdz1NLEEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuW3QsMi41Kk1hdGguYXRhbihNYXRoLmV4cCguOCplKSktLjYyNSpwXX0sKHQuZ2VvLm1pbGxlcj1mdW5jdGlvbigpe3JldHVybiB4KEEpfSkucmF3PUEsUyhwKTt2YXIgRT1mdW5jdGlvbih0LGUscil7dmFyIG49UyhyKTtmdW5jdGlvbiBhKHIsYSl7cmV0dXJuW3QqcipNYXRoLmNvcyhhPW4oYSkpLGUqTWF0aC5zaW4oYSldfXJldHVybiBhLmludmVydD1mdW5jdGlvbihuLGEpe3ZhciBpPW0oYS9lKTtyZXR1cm5bbi8odCpNYXRoLmNvcyhpKSksbSgoMippK01hdGguc2luKDIqaSkpL3IpXX0sYX0oTWF0aC5TUVJUMi9kLE1hdGguU1FSVDIscCk7ZnVuY3Rpb24gTCh0LGUpe3ZhciByPWUqZSxuPXIqcjtyZXR1cm5bdCooLjg3MDctLjEzMTk3OSpyK24qKG4qKC4wMDM5NzEqci0uMDAxNTI5Km4pLS4wMTM3OTEpKSxlKigxLjAwNzIyNityKiguMDE1MDg1K24qKC4wMjg4NzQqci0uMDQ0NDc1LS4wMDU5MTYqbikpKV19KHQuZ2VvLm1vbGx3ZWlkZT1mdW5jdGlvbigpe3JldHVybiB4KEUpfSkucmF3PUUsTC5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcixuPWUsYT0yNTtkb3t2YXIgaT1uKm4sbz1pKmk7bi09cj0obiooMS4wMDcyMjYraSooLjAxNTA4NStvKiguMDI4ODc0KmktLjA0NDQ3NS0uMDA1OTE2Km8pKSktZSkvKDEuMDA3MjI2K2kqKC4wNDUyNTUrbyooLjI1OTg2NippLS4zMTEzMjUtLjAwNTkxNioxMSpvKSkpfXdoaWxlKE1hdGguYWJzKHIpPmgmJi0tYT4wKTtyZXR1cm5bdC8oLjg3MDcrKGk9bipuKSooaSooaSppKmkqKC4wMDM5NzEtLjAwMTUyOSppKS0uMDEzNzkxKS0uMTMxOTc5KSksbl19LCh0Lmdlby5uYXR1cmFsRWFydGg9ZnVuY3Rpb24oKXtyZXR1cm4geChMKX0pLnJhdz1MO3ZhciBDPVtbLjk5ODYsLS4wNjJdLFsxLDBdLFsuOTk4NiwuMDYyXSxbLjk5NTQsLjEyNF0sWy45OSwuMTg2XSxbLjk4MjIsLjI0OF0sWy45NzMsLjMxXSxbLjk2LC4zNzJdLFsuOTQyNywuNDM0XSxbLjkyMTYsLjQ5NThdLFsuODk2MiwuNTU3MV0sWy44Njc5LC42MTc2XSxbLjgzNSwuNjc2OV0sWy43OTg2LC43MzQ2XSxbLjc1OTcsLjc5MDNdLFsuNzE4NiwuODQzNV0sWy42NzMyLC44OTM2XSxbLjYyMTMsLjkzOTRdLFsuNTcyMiwuOTc2MV0sWy41MzIyLDFdXTtmdW5jdGlvbiBQKHQsZSl7dmFyIHIsbj1NYXRoLm1pbigxOCwzNipNYXRoLmFicyhlKS9wKSxhPU1hdGguZmxvb3IobiksaT1uLWEsbz0ocj1DW2FdKVswXSxzPXJbMV0sbD0ocj1DWysrYV0pWzBdLGM9clsxXSx1PShyPUNbTWF0aC5taW4oMTksKythKV0pWzBdLGg9clsxXTtyZXR1cm5bdCoobCtpKih1LW8pLzIraSppKih1LTIqbCtvKS8yKSwoZT4wP2Q6LWQpKihjK2kqKGgtcykvMitpKmkqKGgtMipjK3MpLzIpXX1mdW5jdGlvbiBPKHQsZSl7cmV0dXJuW3QqTWF0aC5jb3MoZSksZV19ZnVuY3Rpb24geih0LGUpe3ZhciByLG49TWF0aC5jb3MoZSksYT0ocj15KG4qTWF0aC5jb3ModC89MikpKT9yL01hdGguc2luKHIpOjE7cmV0dXJuWzIqbipNYXRoLnNpbih0KSphLE1hdGguc2luKGUpKmFdfWZ1bmN0aW9uIEkodCxlKXt2YXIgcj16KHQsZSk7cmV0dXJuWyhyWzBdK3QvZCkvMiwoclsxXStlKS8yXX1DLmZvckVhY2goZnVuY3Rpb24odCl7dFsxXSo9MS4wMTQ0fSksUC5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1lL2Qsbj05MCpyLGE9TWF0aC5taW4oMTgsTWF0aC5hYnMobi81KSksaT1NYXRoLm1heCgwLE1hdGguZmxvb3IoYSkpO2Rve3ZhciBvPUNbaV1bMV0scz1DW2krMV1bMV0sbD1DW01hdGgubWluKDE5LGkrMildWzFdLGM9bC1vLHU9bC0yKnMrbyxoPTIqKE1hdGguYWJzKHIpLXMpL2MscD11L2MsbT1oKigxLXAqaCooMS0yKnAqaCkpO2lmKG0+PTB8fDE9PT1pKXtuPShlPj0wPzU6LTUpKihtK2EpO3ZhciB5LHg9NTA7ZG97bT0oYT1NYXRoLm1pbigxOCxNYXRoLmFicyhuKS81KSktKGk9TWF0aC5mbG9vcihhKSksbz1DW2ldWzFdLHM9Q1tpKzFdWzFdLGw9Q1tNYXRoLm1pbigxOSxpKzIpXVsxXSxuLT0oeT0oZT49MD9kOi1kKSoocyttKihsLW8pLzIrbSptKihsLTIqcytvKS8yKS1lKSp2fXdoaWxlKE1hdGguYWJzKHkpPmYmJi0teD4wKTticmVha319d2hpbGUoLS1pPj0wKTt2YXIgYj1DW2ldWzBdLF89Q1tpKzFdWzBdLHc9Q1tNYXRoLm1pbigxOSxpKzIpXVswXTtyZXR1cm5bdC8oXyttKih3LWIpLzIrbSptKih3LTIqXytiKS8yKSxuKmddfSwodC5nZW8ucm9iaW5zb249ZnVuY3Rpb24oKXtyZXR1cm4geChQKX0pLnJhdz1QLE8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuW3QvTWF0aC5jb3MoZSksZV19LCh0Lmdlby5zaW51c29pZGFsPWZ1bmN0aW9uKCl7cmV0dXJuIHgoTyl9KS5yYXc9Tyx6LmludmVydD1mdW5jdGlvbih0LGUpe2lmKCEodCp0KzQqZSplPnAqcCtoKSl7dmFyIHI9dCxuPWUsYT0yNTtkb3t2YXIgaSxvPU1hdGguc2luKHIpLHM9TWF0aC5zaW4oci8yKSxsPU1hdGguY29zKHIvMiksYz1NYXRoLnNpbihuKSx1PU1hdGguY29zKG4pLGY9TWF0aC5zaW4oMipuKSxkPWMqYyxnPXUqdSx2PXMqcyxtPTEtZypsKmwseD1tP3kodSpsKSpNYXRoLnNxcnQoaT0xL20pOmk9MCxiPTIqeCp1KnMtdCxfPXgqYy1lLHc9aSooZyp2K3gqdSpsKmQpLGs9aSooLjUqbypmLTIqeCpjKnMpLFQ9LjI1KmkqKGYqcy14KmMqZypvKSxNPWkqKGQqbCt4KnYqdSksQT1rKlQtTSp3O2lmKCFBKWJyZWFrO3ZhciBTPShfKmstYipNKS9BLEU9KGIqVC1fKncpL0E7ci09UyxuLT1FfXdoaWxlKChNYXRoLmFicyhTKT5ofHxNYXRoLmFicyhFKT5oKSYmLS1hPjApO3JldHVybltyLG5dfX0sKHQuZ2VvLmFpdG9mZj1mdW5jdGlvbigpe3JldHVybiB4KHopfSkucmF3PXosSS5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10LG49ZSxhPTI1O2Rve3ZhciBpLG89TWF0aC5jb3Mobikscz1NYXRoLnNpbihuKSxsPU1hdGguc2luKDIqbiksYz1zKnMsdT1vKm8sZj1NYXRoLnNpbihyKSxwPU1hdGguY29zKHIvMiksZz1NYXRoLnNpbihyLzIpLHY9ZypnLG09MS11KnAqcCx4PW0/eShvKnApKk1hdGguc3FydChpPTEvbSk6aT0wLGI9LjUqKDIqeCpvKmcrci9kKS10LF89LjUqKHgqcytuKS1lLHc9LjUqaSoodSp2K3gqbypwKmMpKy41L2Qsaz1pKihmKmwvNC14KnMqZyksVD0uMTI1KmkqKGwqZy14KnMqdSpmKSxNPS41KmkqKGMqcCt4KnYqbykrLjUsQT1rKlQtTSp3LFM9KF8qay1iKk0pL0EsRT0oYipULV8qdykvQTtyLT1TLG4tPUV9d2hpbGUoKE1hdGguYWJzKFMpPmh8fE1hdGguYWJzKEUpPmgpJiYtLWE+MCk7cmV0dXJuW3Isbl19LCh0Lmdlby53aW5rZWwzPWZ1bmN0aW9uKCl7cmV0dXJuIHgoSSl9KS5yYXc9SX19LHt9XSw3OTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vcmVnaXN0cnkiKSxvPU1hdGguUEkvMTgwLHM9MTgwL01hdGguUEksbD17Y3Vyc29yOiJwb2ludGVyIn0sYz17Y3Vyc29yOiJhdXRvIn07ZnVuY3Rpb24gdSh0LGUpe3JldHVybiBuLmJlaGF2aW9yLnpvb20oKS50cmFuc2xhdGUoZS50cmFuc2xhdGUoKSkuc2NhbGUoZS5zY2FsZSgpKX1mdW5jdGlvbiBoKHQsZSxyKXt2YXIgbj10LmlkLG89dC5ncmFwaERpdixzPW8ubGF5b3V0LGw9c1tuXSxjPW8uX2Z1bGxMYXlvdXQsdT1jW25dLGg9e30sZj17fTtmdW5jdGlvbiBwKHQsZSl7aFtuKyIuIit0XT1hLm5lc3RlZFByb3BlcnR5KGwsdCkuZ2V0KCksaS5jYWxsKCJfc3RvcmVEaXJlY3RHVUlFZGl0IixzLGMuX3ByZUdVSSxoKTt2YXIgcj1hLm5lc3RlZFByb3BlcnR5KHUsdCk7ci5nZXQoKSE9PWUmJihyLnNldChlKSxhLm5lc3RlZFByb3BlcnR5KGwsdCkuc2V0KGUpLGZbbisiLiIrdF09ZSl9cihwKSxwKCJwcm9qZWN0aW9uLnNjYWxlIixlLnNjYWxlKCkvdC5maXRTY2FsZSkscCgiZml0Ym91bmRzIiwhMSksby5lbWl0KCJwbG90bHlfcmVsYXlvdXQiLGYpfWZ1bmN0aW9uIGYodCxlKXt2YXIgcj11KDAsZSk7ZnVuY3Rpb24gYShyKXt2YXIgbj1lLmludmVydCh0Lm1pZFB0KTtyKCJjZW50ZXIubG9uIixuWzBdKSxyKCJjZW50ZXIubGF0IixuWzFdKX1yZXR1cm4gci5vbigiem9vbXN0YXJ0IixmdW5jdGlvbigpe24uc2VsZWN0KHRoaXMpLnN0eWxlKGwpfSkub24oInpvb20iLGZ1bmN0aW9uKCl7ZS5zY2FsZShuLmV2ZW50LnNjYWxlKS50cmFuc2xhdGUobi5ldmVudC50cmFuc2xhdGUpLHQucmVuZGVyKCk7dmFyIHI9ZS5pbnZlcnQodC5taWRQdCk7dC5ncmFwaERpdi5lbWl0KCJwbG90bHlfcmVsYXlvdXRpbmciLHsiZ2VvLnByb2plY3Rpb24uc2NhbGUiOmUuc2NhbGUoKS90LmZpdFNjYWxlLCJnZW8uY2VudGVyLmxvbiI6clswXSwiZ2VvLmNlbnRlci5sYXQiOnJbMV19KX0pLm9uKCJ6b29tZW5kIixmdW5jdGlvbigpe24uc2VsZWN0KHRoaXMpLnN0eWxlKGMpLGgodCxlLGEpfSkscn1mdW5jdGlvbiBwKHQsZSl7dmFyIHIsYSxpLG8scyxmLHAsZCxnLHY9dSgwLGUpLG09MjtmdW5jdGlvbiB5KHQpe3JldHVybiBlLmludmVydCh0KX1mdW5jdGlvbiB4KHIpe3ZhciBuPWUucm90YXRlKCksYT1lLmludmVydCh0Lm1pZFB0KTtyKCJwcm9qZWN0aW9uLnJvdGF0aW9uLmxvbiIsLW5bMF0pLHIoImNlbnRlci5sb24iLGFbMF0pLHIoImNlbnRlci5sYXQiLGFbMV0pfXJldHVybiB2Lm9uKCJ6b29tc3RhcnQiLGZ1bmN0aW9uKCl7bi5zZWxlY3QodGhpcykuc3R5bGUobCkscj1uLm1vdXNlKHRoaXMpLGE9ZS5yb3RhdGUoKSxpPWUudHJhbnNsYXRlKCksbz1hLHM9eShyKX0pLm9uKCJ6b29tIixmdW5jdGlvbigpe2lmKGY9bi5tb3VzZSh0aGlzKSxmdW5jdGlvbih0KXt2YXIgcj15KHQpO2lmKCFyKXJldHVybiEwO3ZhciBuPWUocik7cmV0dXJuIE1hdGguYWJzKG5bMF0tdFswXSk+bXx8TWF0aC5hYnMoblsxXS10WzFdKT5tfShyKSlyZXR1cm4gdi5zY2FsZShlLnNjYWxlKCkpLHZvaWQgdi50cmFuc2xhdGUoZS50cmFuc2xhdGUoKSk7ZS5zY2FsZShuLmV2ZW50LnNjYWxlKSxlLnRyYW5zbGF0ZShbaVswXSxuLmV2ZW50LnRyYW5zbGF0ZVsxXV0pLHM/eShmKSYmKGQ9eShmKSxwPVtvWzBdKyhkWzBdLXNbMF0pLGFbMV0sYVsyXV0sZS5yb3RhdGUocCksbz1wKTpzPXkocj1mKSxnPSEwLHQucmVuZGVyKCk7dmFyIGw9ZS5yb3RhdGUoKSxjPWUuaW52ZXJ0KHQubWlkUHQpO3QuZ3JhcGhEaXYuZW1pdCgicGxvdGx5X3JlbGF5b3V0aW5nIix7Imdlby5wcm9qZWN0aW9uLnNjYWxlIjplLnNjYWxlKCkvdC5maXRTY2FsZSwiZ2VvLmNlbnRlci5sb24iOmNbMF0sImdlby5jZW50ZXIubGF0IjpjWzFdLCJnZW8ucHJvamVjdGlvbi5yb3RhdGlvbi5sb24iOi1sWzBdfSl9KS5vbigiem9vbWVuZCIsZnVuY3Rpb24oKXtuLnNlbGVjdCh0aGlzKS5zdHlsZShjKSxnJiZoKHQsZSx4KX0pLHZ9ZnVuY3Rpb24gZCh0LGUpe3ZhciByLGE9e3I6ZS5yb3RhdGUoKSxrOmUuc2NhbGUoKX0saT11KDAsZSksZj1mdW5jdGlvbih0KXt2YXIgZT0wLHI9YXJndW1lbnRzLmxlbmd0aCxhPVtdO2Zvcig7KytlPHI7KWEucHVzaChhcmd1bWVudHNbZV0pO3ZhciBpPW4uZGlzcGF0Y2guYXBwbHkobnVsbCxhKTtyZXR1cm4gaS5vZj1mdW5jdGlvbihlLHIpe3JldHVybiBmdW5jdGlvbihhKXt2YXIgbzt0cnl7bz1hLnNvdXJjZUV2ZW50PW4uZXZlbnQsYS50YXJnZXQ9dCxuLmV2ZW50PWEsaVthLnR5cGVdLmFwcGx5KGUscil9ZmluYWxseXtuLmV2ZW50PW99fX0saX0oaSwiem9vbXN0YXJ0Iiwiem9vbSIsInpvb21lbmQiKSxwPTAsZD1pLm9uO2Z1bmN0aW9uIG0odCl7dmFyIHI9ZS5yb3RhdGUoKTt0KCJwcm9qZWN0aW9uLnJvdGF0aW9uLmxvbiIsLXJbMF0pLHQoInByb2plY3Rpb24ucm90YXRpb24ubGF0IiwtclsxXSl9cmV0dXJuIGkub24oInpvb21zdGFydCIsZnVuY3Rpb24oKXtuLnNlbGVjdCh0aGlzKS5zdHlsZShsKTt2YXIgdCxjLHUsaCxtLGIsXyx3LGssVCxNLEE9bi5tb3VzZSh0aGlzKSxTPWUucm90YXRlKCksRT1TLEw9ZS50cmFuc2xhdGUoKSxDPShjPS41Kih0PVMpWzBdKm8sdT0uNSp0WzFdKm8saD0uNSp0WzJdKm8sbT1NYXRoLnNpbihjKSxiPU1hdGguY29zKGMpLF89TWF0aC5zaW4odSksdz1NYXRoLmNvcyh1KSxrPU1hdGguc2luKGgpLFQ9TWF0aC5jb3MoaCksW2IqdypUK20qXyprLG0qdypULWIqXyprLGIqXypUK20qdyprLGIqdyprLW0qXypUXSk7cj1nKGUsQSksZC5jYWxsKGksInpvb20iLGZ1bmN0aW9uKCl7dmFyIHQsaSxvLGwsYyx1LGgscCxkLG0sYj1uLm1vdXNlKHRoaXMpO2lmKGUuc2NhbGUoYS5rPW4uZXZlbnQuc2NhbGUpLHIpe2lmKGcoZSxiKSl7ZS5yb3RhdGUoUykudHJhbnNsYXRlKEwpO3ZhciBfPWcoZSxiKSx3PWZ1bmN0aW9uKHQsZSl7aWYoIXR8fCFlKXJldHVybjt2YXIgcj1mdW5jdGlvbih0LGUpe3JldHVyblt0WzFdKmVbMl0tdFsyXSplWzFdLHRbMl0qZVswXS10WzBdKmVbMl0sdFswXSplWzFdLXRbMV0qZVswXV19KHQsZSksbj1NYXRoLnNxcnQoeChyLHIpKSxhPS41Kk1hdGguYWNvcyhNYXRoLm1heCgtMSxNYXRoLm1pbigxLHgodCxlKSkpKSxpPU1hdGguc2luKGEpL247cmV0dXJuIG4mJltNYXRoLmNvcyhhKSxyWzJdKmksLXJbMV0qaSxyWzBdKmldfShyLF8pLGs9ZnVuY3Rpb24odCl7cmV0dXJuW01hdGguYXRhbjIoMioodFswXSp0WzFdK3RbMl0qdFszXSksMS0yKih0WzFdKnRbMV0rdFsyXSp0WzJdKSkqcyxNYXRoLmFzaW4oTWF0aC5tYXgoLTEsTWF0aC5taW4oMSwyKih0WzBdKnRbMl0tdFszXSp0WzFdKSkpKSpzLE1hdGguYXRhbjIoMioodFswXSp0WzNdK3RbMV0qdFsyXSksMS0yKih0WzJdKnRbMl0rdFszXSp0WzNdKSkqc119KChpPXcsbz0odD1DKVswXSxsPXRbMV0sYz10WzJdLHU9dFszXSxoPWlbMF0scD1pWzFdLGQ9aVsyXSxtPWlbM10sW28qaC1sKnAtYypkLXUqbSxvKnArbCpoK2MqbS11KmQsbypkLWwqbStjKmgrdSpwLG8qbStsKmQtYypwK3UqaF0pKSxUPWEucj1mdW5jdGlvbih0LGUscil7dmFyIG49eShlLDIsdFswXSk7bj15KG4sMSx0WzFdKSxuPXkobiwwLHRbMl0tclsyXSk7dmFyIGEsaSxvPWVbMF0sbD1lWzFdLGM9ZVsyXSx1PW5bMF0saD1uWzFdLGY9blsyXSxwPU1hdGguYXRhbjIobCxvKSpzLGQ9TWF0aC5zcXJ0KG8qbytsKmwpO01hdGguYWJzKGgpPmQ/KGk9KGg+MD85MDotOTApLXAsYT0wKTooaT1NYXRoLmFzaW4oaC9kKSpzLXAsYT1NYXRoLnNxcnQoZCpkLWgqaCkpO3ZhciBnPTE4MC1pLTIqcCxtPShNYXRoLmF0YW4yKGYsdSktTWF0aC5hdGFuMihjLGEpKSpzLHg9KE1hdGguYXRhbjIoZix1KS1NYXRoLmF0YW4yKGMsLWEpKSpzLGI9dihyWzBdLHJbMV0saSxtKSxfPXYoclswXSxyWzFdLGcseCk7cmV0dXJuIGI8PV8/W2ksbSxyWzJdXTpbZyx4LHJbMl1dfShrLHIsRSk7aXNGaW5pdGUoVFswXSkmJmlzRmluaXRlKFRbMV0pJiZpc0Zpbml0ZShUWzJdKXx8KFQ9RSksZS5yb3RhdGUoVCksRT1UfX1lbHNlIHI9ZyhlLEE9Yik7Zi5vZih0aGlzLGFyZ3VtZW50cykoe3R5cGU6Inpvb20ifSl9KSxNPWYub2YodGhpcyxhcmd1bWVudHMpLHArK3x8TSh7dHlwZToiem9vbXN0YXJ0In0pfSkub24oInpvb21lbmQiLGZ1bmN0aW9uKCl7dmFyIHI7bi5zZWxlY3QodGhpcykuc3R5bGUoYyksZC5jYWxsKGksInpvb20iLG51bGwpLHI9Zi5vZih0aGlzLGFyZ3VtZW50cyksLS1wfHxyKHt0eXBlOiJ6b29tZW5kIn0pLGgodCxlLG0pfSkub24oInpvb20ucmVkcmF3IixmdW5jdGlvbigpe3QucmVuZGVyKCk7dmFyIHI9ZS5yb3RhdGUoKTt0LmdyYXBoRGl2LmVtaXQoInBsb3RseV9yZWxheW91dGluZyIseyJnZW8ucHJvamVjdGlvbi5zY2FsZSI6ZS5zY2FsZSgpL3QuZml0U2NhbGUsImdlby5wcm9qZWN0aW9uLnJvdGF0aW9uLmxvbiI6LXJbMF0sImdlby5wcm9qZWN0aW9uLnJvdGF0aW9uLmxhdCI6LXJbMV19KX0pLG4ucmViaW5kKGksZiwib24iKX1mdW5jdGlvbiBnKHQsZSl7dmFyIHI9dC5pbnZlcnQoZSk7cmV0dXJuIHImJmlzRmluaXRlKHJbMF0pJiZpc0Zpbml0ZShyWzFdKSYmZnVuY3Rpb24odCl7dmFyIGU9dFswXSpvLHI9dFsxXSpvLG49TWF0aC5jb3Mocik7cmV0dXJuW24qTWF0aC5jb3MoZSksbipNYXRoLnNpbihlKSxNYXRoLnNpbihyKV19KHIpfWZ1bmN0aW9uIHYodCxlLHIsbil7dmFyIGE9bShyLXQpLGk9bShuLWUpO3JldHVybiBNYXRoLnNxcnQoYSphK2kqaSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4odCUzNjArNTQwKSUzNjAtMTgwfWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPXIqbyxhPXQuc2xpY2UoKSxpPTA9PT1lPzE6MCxzPTI9PT1lPzE6MixsPU1hdGguY29zKG4pLGM9TWF0aC5zaW4obik7cmV0dXJuIGFbaV09dFtpXSpsLXRbc10qYyxhW3NdPXRbc10qbCt0W2ldKmMsYX1mdW5jdGlvbiB4KHQsZSl7Zm9yKHZhciByPTAsbj0wLGE9dC5sZW5ndGg7bjxhOysrbilyKz10W25dKmVbbl07cmV0dXJuIHJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5wcm9qZWN0aW9uO3JldHVybihlLl9pc1Njb3BlZD9mOmUuX2lzQ2xpcHBlZD9kOnApKHQscil9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LGQzOjE2NX1dLDgwMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9yZWdpc3RyeSIpLGE9dCgiLi9jYXJ0ZXNpYW4vY29uc3RhbnRzIikuU1VCUExPVF9QQVRURVJOO3IuZ2V0U3VicGxvdENhbGNEYXRhPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT1uLnN1YnBsb3RzUmVnaXN0cnlbZV07aWYoIWEpcmV0dXJuW107Zm9yKHZhciBpPWEuYXR0cixvPVtdLHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGw9dFtzXTtsWzBdLnRyYWNlW2ldPT09ciYmby5wdXNoKGwpfXJldHVybiBvfSxyLmdldE1vZHVsZUNhbGNEYXRhPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYT1bXSxpPVtdO2lmKCEocj0ic3RyaW5nIj09dHlwZW9mIGU/bi5nZXRNb2R1bGUoZSkucGxvdDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOmUucGxvdCkpcmV0dXJuW2EsdF07Zm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBzPXRbb10sbD1zWzBdLnRyYWNlOyEwPT09bC52aXNpYmxlJiYwIT09bC5fbGVuZ3RoJiYobC5fbW9kdWxlLnBsb3Q9PT1yP2EucHVzaChzKTppLnB1c2gocykpfXJldHVyblthLGldfSxyLmdldFN1YnBsb3REYXRhPWZ1bmN0aW9uKHQsZSxyKXtpZighbi5zdWJwbG90c1JlZ2lzdHJ5W2VdKXJldHVybltdO3ZhciBpLG8scyxsPW4uc3VicGxvdHNSZWdpc3RyeVtlXS5hdHRyLGM9W107aWYoImdsMmQiPT09ZSl7dmFyIHU9ci5tYXRjaChhKTtvPSJ4Iit1WzFdLHM9InkiK3VbMl19Zm9yKHZhciBoPTA7aDx0Lmxlbmd0aDtoKyspaT10W2hdLCJnbDJkIj09PWUmJm4udHJhY2VJcyhpLCJnbDJkIik/aVtsWzBdXT09PW8mJmlbbFsxXV09PT1zJiZjLnB1c2goaSk6aVtsXT09PXImJmMucHVzaChpKTtyZXR1cm4gY319LHsiLi4vcmVnaXN0cnkiOjg0NiwiLi9jYXJ0ZXNpYW4vY29uc3RhbnRzIjo3NzF9XSw4MDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibW91c2UtY2hhbmdlIiksYT10KCJtb3VzZS13aGVlbCIpLGk9dCgibW91c2UtZXZlbnQtb2Zmc2V0Iiksbz10KCIuLi9jYXJ0ZXNpYW4vY29uc3RhbnRzIikscz10KCJoYXMtcGFzc2l2ZS1ldmVudHMiKTtmdW5jdGlvbiBsKHQsZSl7dGhpcy5lbGVtZW50PXQsdGhpcy5wbG90PWUsdGhpcy5tb3VzZUxpc3RlbmVyPW51bGwsdGhpcy53aGVlbExpc3RlbmVyPW51bGwsdGhpcy5sYXN0SW5wdXRUaW1lPURhdGUubm93KCksdGhpcy5sYXN0UG9zPVswLDBdLHRoaXMuYm94RW5hYmxlZD0hMSx0aGlzLmJveEluaXRlZD0hMSx0aGlzLmJveFN0YXJ0PVswLDBdLHRoaXMuYm94RW5kPVswLDBdLHRoaXMuZHJhZ1N0YXJ0PVswLDBdfWUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10Lm1vdXNlQ29udGFpbmVyLHI9dC5nbHBsb3QsYz1uZXcgbChlLHIpO2Z1bmN0aW9uIHUoKXt0LnhheGlzLmF1dG9yYW5nZT0hMSx0LnlheGlzLmF1dG9yYW5nZT0hMX1mdW5jdGlvbiBoKGUsbixhKXt2YXIgaSxzLGw9dC5jYWxjRGF0YUJveCgpLGg9ci52aWV3Qm94LGY9Yy5sYXN0UG9zWzBdLHA9Yy5sYXN0UG9zWzFdLGQ9by5NSU5EUkFHKnIucGl4ZWxSYXRpbyxnPW8uTUlOWk9PTSpyLnBpeGVsUmF0aW87ZnVuY3Rpb24gdihlLHIsbil7dmFyIGE9TWF0aC5taW4ocixuKSxpPU1hdGgubWF4KHIsbik7YSE9PWk/KGxbZV09YSxsW2UrMl09aSxjLmRhdGFCb3g9bCx0LnNldFJhbmdlcyhsKSk6KHQuc2VsZWN0Qm94LnNlbGVjdEJveD1bMCwwLDEsMV0sdC5nbHBsb3Quc2V0RGlydHkoKSl9c3dpdGNoKG4qPXIucGl4ZWxSYXRpbyxhKj1yLnBpeGVsUmF0aW8sYT1oWzNdLWhbMV0tYSx0LmZ1bGxMYXlvdXQuZHJhZ21vZGUpe2Nhc2Uiem9vbSI6aWYoZSl7dmFyIG09bi8oaFsyXS1oWzBdKSoobFsyXS1sWzBdKStsWzBdLHk9YS8oaFszXS1oWzFdKSoobFszXS1sWzFdKStsWzFdO2MuYm94SW5pdGVkfHwoYy5ib3hTdGFydFswXT1tLGMuYm94U3RhcnRbMV09eSxjLmRyYWdTdGFydFswXT1uLGMuZHJhZ1N0YXJ0WzFdPWEpLGMuYm94RW5kWzBdPW0sYy5ib3hFbmRbMV09eSxjLmJveEluaXRlZD0hMCxjLmJveEVuYWJsZWR8fGMuYm94U3RhcnRbMF09PT1jLmJveEVuZFswXSYmYy5ib3hTdGFydFsxXT09PWMuYm94RW5kWzFdfHwoYy5ib3hFbmFibGVkPSEwKTt2YXIgeD1NYXRoLmFicyhjLmRyYWdTdGFydFswXS1uKTxnLGI9TWF0aC5hYnMoYy5kcmFnU3RhcnRbMV0tYSk8ZztpZighZnVuY3Rpb24oKXtmb3IodmFyIGU9dC5ncmFwaERpdi5fZnVsbExheW91dC5fYXhpc0NvbnN0cmFpbnRHcm91cHMscj10LnhheGlzLl9pZCxuPXQueWF4aXMuX2lkLGE9MDthPGUubGVuZ3RoO2ErKylpZigtMSE9PWVbYV1bcl0pe2lmKC0xIT09ZVthXVtuXSlyZXR1cm4hMDticmVha31yZXR1cm4hMX0oKXx8eCYmYil4JiYoYy5ib3hFbmRbMF09Yy5ib3hTdGFydFswXSksYiYmKGMuYm94RW5kWzFdPWMuYm94U3RhcnRbMV0pO2Vsc2V7aT1jLmJveEVuZFswXS1jLmJveFN0YXJ0WzBdLHM9Yy5ib3hFbmRbMV0tYy5ib3hTdGFydFsxXTt2YXIgXz0obFszXS1sWzFdKS8obFsyXS1sWzBdKTtNYXRoLmFicyhpKl8pPk1hdGguYWJzKHMpPyhjLmJveEVuZFsxXT1jLmJveFN0YXJ0WzFdK01hdGguYWJzKGkpKl8qKHM+PTA/MTotMSksYy5ib3hFbmRbMV08bFsxXT8oYy5ib3hFbmRbMV09bFsxXSxjLmJveEVuZFswXT1jLmJveFN0YXJ0WzBdKyhsWzFdLWMuYm94U3RhcnRbMV0pL01hdGguYWJzKF8pKTpjLmJveEVuZFsxXT5sWzNdJiYoYy5ib3hFbmRbMV09bFszXSxjLmJveEVuZFswXT1jLmJveFN0YXJ0WzBdKyhsWzNdLWMuYm94U3RhcnRbMV0pL01hdGguYWJzKF8pKSk6KGMuYm94RW5kWzBdPWMuYm94U3RhcnRbMF0rTWF0aC5hYnMocykvXyooaT49MD8xOi0xKSxjLmJveEVuZFswXTxsWzBdPyhjLmJveEVuZFswXT1sWzBdLGMuYm94RW5kWzFdPWMuYm94U3RhcnRbMV0rKGxbMF0tYy5ib3hTdGFydFswXSkqTWF0aC5hYnMoXykpOmMuYm94RW5kWzBdPmxbMl0mJihjLmJveEVuZFswXT1sWzJdLGMuYm94RW5kWzFdPWMuYm94U3RhcnRbMV0rKGxbMl0tYy5ib3hTdGFydFswXSkqTWF0aC5hYnMoXykpKX19ZWxzZSBjLmJveEVuYWJsZWQ/KGk9Yy5ib3hTdGFydFswXSE9PWMuYm94RW5kWzBdLHM9Yy5ib3hTdGFydFsxXSE9PWMuYm94RW5kWzFdLGl8fHM/KGkmJih2KDAsYy5ib3hTdGFydFswXSxjLmJveEVuZFswXSksdC54YXhpcy5hdXRvcmFuZ2U9ITEpLHMmJih2KDEsYy5ib3hTdGFydFsxXSxjLmJveEVuZFsxXSksdC55YXhpcy5hdXRvcmFuZ2U9ITEpLHQucmVsYXlvdXRDYWxsYmFjaygpKTp0LmdscGxvdC5zZXREaXJ0eSgpLGMuYm94RW5hYmxlZD0hMSxjLmJveEluaXRlZD0hMSk6Yy5ib3hJbml0ZWQmJihjLmJveEluaXRlZD0hMSk7YnJlYWs7Y2FzZSJwYW4iOmMuYm94RW5hYmxlZD0hMSxjLmJveEluaXRlZD0hMSxlPyhjLnBhbm5pbmd8fChjLmRyYWdTdGFydFswXT1uLGMuZHJhZ1N0YXJ0WzFdPWEpLE1hdGguYWJzKGMuZHJhZ1N0YXJ0WzBdLW4pPGQmJihuPWMuZHJhZ1N0YXJ0WzBdKSxNYXRoLmFicyhjLmRyYWdTdGFydFsxXS1hKTxkJiYoYT1jLmRyYWdTdGFydFsxXSksaT0oZi1uKSoobFsyXS1sWzBdKS8oci52aWV3Qm94WzJdLXIudmlld0JveFswXSkscz0ocC1hKSoobFszXS1sWzFdKS8oci52aWV3Qm94WzNdLXIudmlld0JveFsxXSksbFswXSs9aSxsWzJdKz1pLGxbMV0rPXMsbFszXSs9cyx0LnNldFJhbmdlcyhsKSxjLnBhbm5pbmc9ITAsYy5sYXN0SW5wdXRUaW1lPURhdGUubm93KCksdSgpLHQuY2FtZXJhQ2hhbmdlZCgpLHQuaGFuZGxlQW5ub3RhdGlvbnMoKSk6Yy5wYW5uaW5nJiYoYy5wYW5uaW5nPSExLHQucmVsYXlvdXRDYWxsYmFjaygpKX1jLmxhc3RQb3NbMF09bixjLmxhc3RQb3NbMV09YX1yZXR1cm4gYy5tb3VzZUxpc3RlbmVyPW4oZSxoKSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKHQpe3ZhciByPWkodC5jaGFuZ2VkVG91Y2hlc1swXSxlKTtoKDAsclswXSxyWzFdKSxoKDEsclswXSxyWzFdKSx0LnByZXZlbnREZWZhdWx0KCl9LCEhcyYme3Bhc3NpdmU6ITF9KSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpO3ZhciByPWkodC5jaGFuZ2VkVG91Y2hlc1swXSxlKTtoKDEsclswXSxyWzFdKSx0LnByZXZlbnREZWZhdWx0KCl9LCEhcyYme3Bhc3NpdmU6ITF9KSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixmdW5jdGlvbih0KXtoKDAsYy5sYXN0UG9zWzBdLGMubGFzdFBvc1sxXSksdC5wcmV2ZW50RGVmYXVsdCgpfSwhIXMmJntwYXNzaXZlOiExfSksYy53aGVlbExpc3RlbmVyPWEoZSxmdW5jdGlvbihlLG4pe2lmKCF0LnNjcm9sbFpvb20pcmV0dXJuITE7dmFyIGE9dC5jYWxjRGF0YUJveCgpLGk9ci52aWV3Qm94LG89Yy5sYXN0UG9zWzBdLHM9Yy5sYXN0UG9zWzFdLGw9TWF0aC5leHAoNSpuLyhpWzNdLWlbMV0pKSxoPW8vKGlbMl0taVswXSkqKGFbMl0tYVswXSkrYVswXSxmPXMvKGlbM10taVsxXSkqKGFbM10tYVsxXSkrYVsxXTtyZXR1cm4gYVswXT0oYVswXS1oKSpsK2gsYVsyXT0oYVsyXS1oKSpsK2gsYVsxXT0oYVsxXS1mKSpsK2YsYVszXT0oYVszXS1mKSpsK2YsdC5zZXRSYW5nZXMoYSksYy5sYXN0SW5wdXRUaW1lPURhdGUubm93KCksdSgpLHQuY2FtZXJhQ2hhbmdlZCgpLHQuaGFuZGxlQW5ub3RhdGlvbnMoKSx0LnJlbGF5b3V0Q2FsbGJhY2soKSwhMH0sITApLGN9fSx7Ii4uL2NhcnRlc2lhbi9jb25zdGFudHMiOjc3MSwiaGFzLXBhc3NpdmUtZXZlbnRzIjo0MTMsIm1vdXNlLWNoYW5nZSI6NDM3LCJtb3VzZS1ldmVudC1vZmZzZXQiOjQzOCwibW91c2Utd2hlZWwiOjQ0MH1dLDgwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9jYXJ0ZXNpYW4vYXhlcyIpLGE9dCgiLi4vLi4vbGliL3N0cjJyZ2JhcnJheSIpO2Z1bmN0aW9uIGkodCl7dGhpcy5zY2VuZT10LHRoaXMuZ2w9dC5nbCx0aGlzLnBpeGVsUmF0aW89dC5waXhlbFJhdGlvLHRoaXMuc2NyZWVuQm94PVswLDAsMSwxXSx0aGlzLnZpZXdCb3g9WzAsMCwxLDFdLHRoaXMuZGF0YUJveD1bLTEsLTEsMSwxXSx0aGlzLmJvcmRlckxpbmVFbmFibGU9WyExLCExLCExLCExXSx0aGlzLmJvcmRlckxpbmVXaWR0aD1bMSwxLDEsMV0sdGhpcy5ib3JkZXJMaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy50aWNrcz1bW10sW11dLHRoaXMudGlja0VuYWJsZT1bITAsITAsITEsITFdLHRoaXMudGlja1BhZD1bMTUsMTUsMTUsMTVdLHRoaXMudGlja0FuZ2xlPVswLDAsMCwwXSx0aGlzLnRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnRpY2tNYXJrTGVuZ3RoPVswLDAsMCwwXSx0aGlzLnRpY2tNYXJrV2lkdGg9WzAsMCwwLDBdLHRoaXMudGlja01hcmtDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmxhYmVscz1bIngiLCJ5Il0sdGhpcy5sYWJlbEVuYWJsZT1bITAsITAsITEsITFdLHRoaXMubGFiZWxBbmdsZT1bMCxNYXRoLlBJLzIsMCwzKk1hdGguUEkvMl0sdGhpcy5sYWJlbFBhZD1bMTUsMTUsMTUsMTVdLHRoaXMubGFiZWxTaXplPVsxMiwxMl0sdGhpcy5sYWJlbEZvbnQ9WyJzYW5zLXNlcmlmIiwic2Fucy1zZXJpZiJdLHRoaXMubGFiZWxDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnRpdGxlPSIiLHRoaXMudGl0bGVFbmFibGU9ITAsdGhpcy50aXRsZUNlbnRlcj1bMCwwLDAsMF0sdGhpcy50aXRsZUFuZ2xlPTAsdGhpcy50aXRsZUNvbG9yPVswLDAsMCwxXSx0aGlzLnRpdGxlRm9udD0ic2Fucy1zZXJpZiIsdGhpcy50aXRsZVNpemU9MTgsdGhpcy5ncmlkTGluZUVuYWJsZT1bITAsITBdLHRoaXMuZ3JpZExpbmVDb2xvcj1bWzAsMCwwLC41XSxbMCwwLDAsLjVdXSx0aGlzLmdyaWRMaW5lV2lkdGg9WzEsMV0sdGhpcy56ZXJvTGluZUVuYWJsZT1bITAsITBdLHRoaXMuemVyb0xpbmVXaWR0aD1bMSwxXSx0aGlzLnplcm9MaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuYm9yZGVyQ29sb3I9WzAsMCwwLDBdLHRoaXMuYmFja2dyb3VuZENvbG9yPVswLDAsMCwwXSx0aGlzLnN0YXRpYz10aGlzLnNjZW5lLnN0YXRpY1Bsb3R9dmFyIG89aS5wcm90b3R5cGUscz1bInhheGlzIiwieWF4aXMiXTtvLm1lcmdlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLG8sbCxjLHUsaCxmLHA7Zm9yKHRoaXMudGl0bGVFbmFibGU9ITEsdGhpcy5iYWNrZ3JvdW5kQ29sb3I9YSh0LnBsb3RfYmdjb2xvciksZj0wO2Y8MjsrK2Ype3ZhciBkPShlPXNbZl0pLmNoYXJBdCgwKTtmb3Iobj0ocj10W3RoaXMuc2NlbmVbZV0uX25hbWVdKS50aXRsZS50ZXh0PT09dGhpcy5zY2VuZS5mdWxsTGF5b3V0Ll9kZmx0VGl0bGVbZF0/IiI6ci50aXRsZS50ZXh0LHA9MDtwPD0yO3ArPTIpdGhpcy5sYWJlbEVuYWJsZVtmK3BdPSExLHRoaXMubGFiZWxzW2YrcF09bix0aGlzLmxhYmVsQ29sb3JbZitwXT1hKHIudGl0bGUuZm9udC5jb2xvciksdGhpcy5sYWJlbEZvbnRbZitwXT1yLnRpdGxlLmZvbnQuZmFtaWx5LHRoaXMubGFiZWxTaXplW2YrcF09ci50aXRsZS5mb250LnNpemUsdGhpcy5sYWJlbFBhZFtmK3BdPXRoaXMuZ2V0TGFiZWxQYWQoZSxyKSx0aGlzLnRpY2tFbmFibGVbZitwXT0hMSx0aGlzLnRpY2tDb2xvcltmK3BdPWEoKHIudGlja2ZvbnR8fHt9KS5jb2xvciksdGhpcy50aWNrQW5nbGVbZitwXT0iYXV0byI9PT1yLnRpY2thbmdsZT8wOk1hdGguUEkqLXIudGlja2FuZ2xlLzE4MCx0aGlzLnRpY2tQYWRbZitwXT10aGlzLmdldFRpY2tQYWQociksdGhpcy50aWNrTWFya0xlbmd0aFtmK3BdPTAsdGhpcy50aWNrTWFya1dpZHRoW2YrcF09ci50aWNrd2lkdGh8fDAsdGhpcy50aWNrTWFya0NvbG9yW2YrcF09YShyLnRpY2tjb2xvciksdGhpcy5ib3JkZXJMaW5lRW5hYmxlW2YrcF09ITEsdGhpcy5ib3JkZXJMaW5lQ29sb3JbZitwXT1hKHIubGluZWNvbG9yKSx0aGlzLmJvcmRlckxpbmVXaWR0aFtmK3BdPXIubGluZXdpZHRofHwwO2M9dGhpcy5oYXNTaGFyZWRBeGlzKHIpLG89dGhpcy5oYXNBeGlzSW5EZmx0UG9zKGUscikmJiFjLGw9dGhpcy5oYXNBeGlzSW5BbHRyUG9zKGUscikmJiFjLGk9ci5taXJyb3J8fCExLHU9Yz8tMSE9PVN0cmluZyhpKS5pbmRleE9mKCJhbGwiKTohIWksaD1jPyJhbGx0aWNrcyI9PT1pOi0xIT09U3RyaW5nKGkpLmluZGV4T2YoInRpY2tzIiksbz90aGlzLmxhYmVsRW5hYmxlW2ZdPSEwOmwmJih0aGlzLmxhYmVsRW5hYmxlW2YrMl09ITApLG8/dGhpcy50aWNrRW5hYmxlW2ZdPXIuc2hvd3RpY2tsYWJlbHM6bCYmKHRoaXMudGlja0VuYWJsZVtmKzJdPXIuc2hvd3RpY2tsYWJlbHMpLChvfHx1KSYmKHRoaXMuYm9yZGVyTGluZUVuYWJsZVtmXT1yLnNob3dsaW5lKSwobHx8dSkmJih0aGlzLmJvcmRlckxpbmVFbmFibGVbZisyXT1yLnNob3dsaW5lKSwob3x8aCkmJih0aGlzLnRpY2tNYXJrTGVuZ3RoW2ZdPXRoaXMuZ2V0VGlja01hcmtMZW5ndGgocikpLChsfHxoKSYmKHRoaXMudGlja01hcmtMZW5ndGhbZisyXT10aGlzLmdldFRpY2tNYXJrTGVuZ3RoKHIpKSx0aGlzLmdyaWRMaW5lRW5hYmxlW2ZdPXIuc2hvd2dyaWQsdGhpcy5ncmlkTGluZUNvbG9yW2ZdPWEoci5ncmlkY29sb3IpLHRoaXMuZ3JpZExpbmVXaWR0aFtmXT1yLmdyaWR3aWR0aCx0aGlzLnplcm9MaW5lRW5hYmxlW2ZdPXIuemVyb2xpbmUsdGhpcy56ZXJvTGluZUNvbG9yW2ZdPWEoci56ZXJvbGluZWNvbG9yKSx0aGlzLnplcm9MaW5lV2lkdGhbZl09ci56ZXJvbGluZXdpZHRofX0sby5oYXNTaGFyZWRBeGlzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuc2NlbmUscj1lLmZ1bGxMYXlvdXQuX3N1YnBsb3RzLmdsMmQ7cmV0dXJuIDAhPT1uLmZpbmRTdWJwbG90c1dpdGhBeGlzKHIsdCkuaW5kZXhPZihlLmlkKX0sby5oYXNBeGlzSW5EZmx0UG9zPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5zaWRlO3JldHVybiJ4YXhpcyI9PT10PyJib3R0b20iPT09cjoieWF4aXMiPT09dD8ibGVmdCI9PT1yOnZvaWQgMH0sby5oYXNBeGlzSW5BbHRyUG9zPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5zaWRlO3JldHVybiJ4YXhpcyI9PT10PyJ0b3AiPT09cjoieWF4aXMiPT09dD8icmlnaHQiPT09cjp2b2lkIDB9LG8uZ2V0TGFiZWxQYWQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLnRpdGxlLmZvbnQuc2l6ZSxuPWUuc2hvd3RpY2tsYWJlbHM7cmV0dXJuInhheGlzIj09PXQ/InRvcCI9PT1lLnNpZGU/ciooMS41KyhuPzE6MCkpLTEwOnIqKDEuNSsobj8uNTowKSktMTA6InlheGlzIj09PXQ/InJpZ2h0Ij09PWUuc2lkZT8xMCtyKigxLjUrKG4/MTouNSkpOjEwK3IqKDEuNSsobj8uNTowKSk6dm9pZCAwfSxvLmdldFRpY2tQYWQ9ZnVuY3Rpb24odCl7cmV0dXJuIm91dHNpZGUiPT09dC50aWNrcz8xMCt0LnRpY2tsZW46MTV9LG8uZ2V0VGlja01hcmtMZW5ndGg9ZnVuY3Rpb24odCl7aWYoIXQudGlja3MpcmV0dXJuIDA7dmFyIGU9dC50aWNrbGVuO3JldHVybiJpbnNpZGUiPT09dC50aWNrcz8tZTplfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKHQpfX0seyIuLi8uLi9saWIvc3RyMnJnYmFycmF5Ijo3NDAsIi4uL2NhcnRlc2lhbi9heGVzIjo3NjV9XSw4MDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLGE9dCgiLi9zY2VuZTJkIiksaT10KCIuLi9sYXlvdXRfYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiKSxzPXQoIi4uL2NhcnRlc2lhbi9jb25zdGFudHMiKSxsPXQoIi4uL2NhcnRlc2lhbiIpLGM9dCgiLi4vLi4vY29tcG9uZW50cy9meC9sYXlvdXRfYXR0cmlidXRlcyIpLHU9dCgiLi4vZ2V0X2RhdGEiKS5nZXRTdWJwbG90RGF0YTtyLm5hbWU9ImdsMmQiLHIuYXR0cj1bInhheGlzIiwieWF4aXMiXSxyLmlkUm9vdD1bIngiLCJ5Il0sci5pZFJlZ2V4PXMuaWRSZWdleCxyLmF0dHJSZWdleD1zLmF0dHJSZWdleCxyLmF0dHJpYnV0ZXM9dCgiLi4vY2FydGVzaWFuL2F0dHJpYnV0ZXMiKSxyLnN1cHBseUxheW91dERlZmF1bHRzPWZ1bmN0aW9uKHQsZSxyKXtlLl9oYXMoImNhcnRlc2lhbiIpfHxsLnN1cHBseUxheW91dERlZmF1bHRzKHQsZSxyKX0sci5sYXlvdXRBdHRyT3ZlcnJpZGVzPW4obC5sYXlvdXRBdHRyaWJ1dGVzLCJwbG90IiwiZnJvbS1yb290Iiksci5iYXNlTGF5b3V0QXR0ck92ZXJyaWRlcz1uKHtwbG90X2JnY29sb3I6aS5wbG90X2JnY29sb3IsaG92ZXJsYWJlbDpjLmhvdmVybGFiZWx9LCJwbG90IiwibmVzdGVkIiksci5wbG90PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Ll9mdWxsTGF5b3V0LHI9dC5fZnVsbERhdGEsbj1lLl9zdWJwbG90cy5nbDJkLGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIG89bltpXSxzPWUuX3Bsb3RzW29dLGw9dShyLCJnbDJkIixvKSxjPXMuX3NjZW5lMmQ7dm9pZCAwPT09YyYmKGM9bmV3IGEoe2lkOm8sZ3JhcGhEaXY6dCxjb250YWluZXI6dC5xdWVyeVNlbGVjdG9yKCIuZ2wtY29udGFpbmVyIiksc3RhdGljUGxvdDp0Ll9jb250ZXh0LnN0YXRpY1Bsb3QscGxvdEdsUGl4ZWxSYXRpbzp0Ll9jb250ZXh0LnBsb3RHbFBpeGVsUmF0aW99LGUpLHMuX3NjZW5lMmQ9YyksYy5wbG90KGwsdC5jYWxjZGF0YSxlLHQubGF5b3V0KX19LHIuY2xlYW49ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBhPW4uX3N1YnBsb3RzLmdsMmR8fFtdLGk9MDtpPGEubGVuZ3RoO2krKyl7dmFyIG89YVtpXSxzPW4uX3Bsb3RzW29dO2lmKHMuX3NjZW5lMmQpMD09PXUodCwiZ2wyZCIsbykubGVuZ3RoJiYocy5fc2NlbmUyZC5kZXN0cm95KCksZGVsZXRlIG4uX3Bsb3RzW29dKX1sLmNsZWFuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sci5kcmF3RnJhbWV3b3JrPWZ1bmN0aW9uKHQpe3QuX2NvbnRleHQuc3RhdGljUGxvdHx8bC5kcmF3RnJhbWV3b3JrKHQpfSxyLnRvU1ZHPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Ll9mdWxsTGF5b3V0LHI9ZS5fc3VicGxvdHMuZ2wyZCxuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBhPWUuX3Bsb3RzW3Jbbl1dLl9zY2VuZTJkLGk9YS50b0ltYWdlKCJwbmciKTtlLl9nbGltYWdlcy5hcHBlbmQoInN2ZzppbWFnZSIpLmF0dHIoe3htbG5zOm8uc3ZnLCJ4bGluazpocmVmIjppLHg6MCx5OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSJ9KSxhLmRlc3Ryb3koKX19LHIudXBkYXRlRng9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuX2Z1bGxMYXlvdXQscj1lLl9zdWJwbG90cy5nbDJkLG49MDtuPHIubGVuZ3RoO24rKyl7ZS5fcGxvdHNbcltuXV0uX3NjZW5lMmQudXBkYXRlRngoZS5kcmFnbW9kZSl9fX0seyIuLi8uLi9jb21wb25lbnRzL2Z4L2xheW91dF9hdHRyaWJ1dGVzIjo2MzEsIi4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIjo2OTQsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vY2FydGVzaWFuIjo3NzYsIi4uL2NhcnRlc2lhbi9hdHRyaWJ1dGVzIjo3NjMsIi4uL2NhcnRlc2lhbi9jb25zdGFudHMiOjc3MSwiLi4vZ2V0X2RhdGEiOjgwMCwiLi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjgxNywiLi9zY2VuZTJkIjo4MDR9XSw4MDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG4sYSxpPXQoIi4uLy4uL3JlZ2lzdHJ5Iiksbz10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLHM9dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLGw9dCgiZ2wtcGxvdDJkIiksYz10KCJnbC1zcGlrZXMyZCIpLHU9dCgiZ2wtc2VsZWN0LWJveCIpLGg9dCgid2ViZ2wtY29udGV4dCIpLGY9dCgiLi9jb252ZXJ0IikscD10KCIuL2NhbWVyYSIpLGQ9dCgiLi4vLi4vbGliL3Nob3dfbm9fd2ViZ2xfbXNnIiksZz10KCIuLi9jYXJ0ZXNpYW4vY29uc3RyYWludHMiKSx2PWcuZW5mb3JjZSxtPWcuY2xlYW4seT10KCIuLi9jYXJ0ZXNpYW4vYXV0b3JhbmdlIikuZG9BdXRvUmFuZ2UseD1bInhheGlzIiwieWF4aXMiXSxiPXQoIi4uL2NhcnRlc2lhbi9jb25zdGFudHMiKS5TVUJQTE9UX1BBVFRFUk47ZnVuY3Rpb24gXyh0LGUpe3RoaXMuY29udGFpbmVyPXQuY29udGFpbmVyLHRoaXMuZ3JhcGhEaXY9dC5ncmFwaERpdix0aGlzLnBpeGVsUmF0aW89dC5wbG90R2xQaXhlbFJhdGlvfHx3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyx0aGlzLmlkPXQuaWQsdGhpcy5zdGF0aWNQbG90PSEhdC5zdGF0aWNQbG90LHRoaXMuc2Nyb2xsWm9vbT10aGlzLmdyYXBoRGl2Ll9jb250ZXh0Ll9zY3JvbGxab29tLmNhcnRlc2lhbix0aGlzLmZ1bGxEYXRhPW51bGwsdGhpcy51cGRhdGVSZWZzKGUpLHRoaXMubWFrZUZyYW1ld29yaygpLHRoaXMuc3RvcHBlZHx8KHRoaXMuZ2xwbG90T3B0aW9ucz1mKHRoaXMpLHRoaXMuZ2xwbG90T3B0aW9ucy5tZXJnZShlKSx0aGlzLmdscGxvdD1sKHRoaXMuZ2xwbG90T3B0aW9ucyksdGhpcy5jYW1lcmE9cCh0aGlzKSx0aGlzLnRyYWNlcz17fSx0aGlzLnNwaWtlcz1jKHRoaXMuZ2xwbG90KSx0aGlzLnNlbGVjdEJveD11KHRoaXMuZ2xwbG90LHtpbm5lckZpbGw6ITEsb3V0ZXJGaWxsOiEwfSksdGhpcy5sYXN0QnV0dG9uU3RhdGU9MCx0aGlzLnBpY2tSZXN1bHQ9bnVsbCx0aGlzLmlzTW91c2VPdmVyPSEwLHRoaXMuc3RvcHBlZD0hMSx0aGlzLnJlZHJhdz10aGlzLmRyYXcuYmluZCh0aGlzKSx0aGlzLnJlZHJhdygpKX1lLmV4cG9ydHM9Xzt2YXIgdz1fLnByb3RvdHlwZTt3Lm1ha2VGcmFtZXdvcms9ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXRpY1Bsb3Qpe2lmKCEoYXx8KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksYT1oKHtjYW52YXM6bixwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6ITEscHJlbXVsdGlwbGllZEFscGhhOiEwLGFudGlhbGlhczohMH0pKSkpdGhyb3cgbmV3IEVycm9yKCJFcnJvciBjcmVhdGluZyBzdGF0aWMgY2FudmFzL2NvbnRleHQgZm9yIGltYWdlIHNlcnZlciIpO3RoaXMuY2FudmFzPW4sdGhpcy5nbD1hfWVsc2V7dmFyIHQ9dGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiLmdsLWNhbnZhcy1mb2N1cyIpLGU9aCh7Y2FudmFzOnQscHJlc2VydmVEcmF3aW5nQnVmZmVyOiEwLHByZW11bHRpcGxpZWRBbHBoYTohMH0pO2lmKCFlKXJldHVybiBkKHRoaXMpLHZvaWQodGhpcy5zdG9wcGVkPSEwKTt0aGlzLmNhbnZhcz10LHRoaXMuZ2w9ZX12YXIgcj10aGlzLmNhbnZhcztyLnN0eWxlLndpZHRoPSIxMDAlIixyLnN0eWxlLmhlaWdodD0iMTAwJSIsci5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHIuc3R5bGUudG9wPSIwcHgiLHIuc3R5bGUubGVmdD0iMHB4IixyLnN0eWxlWyJwb2ludGVyLWV2ZW50cyJdPSJub25lIix0aGlzLnVwZGF0ZVNpemUociksci5jbGFzc05hbWUrPSIgdXNlci1zZWxlY3Qtbm9uZSI7dmFyIGk9dGhpcy5zdmdDb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpO2kuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnN0eWxlLnRvcD1pLnN0eWxlLmxlZnQ9IjBweCIsaS5zdHlsZS53aWR0aD1pLnN0eWxlLmhlaWdodD0iMTAwJSIsaS5zdHlsZVsiei1pbmRleCJdPTIwLGkuc3R5bGVbInBvaW50ZXItZXZlbnRzIl09Im5vbmUiO3ZhciBvPXRoaXMubW91c2VDb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG8uc3R5bGVbInBvaW50ZXItZXZlbnRzIl09ImF1dG8iLHRoaXMucGlja0NhbnZhcz10aGlzLmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIuZ2wtY2FudmFzLXBpY2siKTt2YXIgcz10aGlzLmNvbnRhaW5lcjtzLmFwcGVuZENoaWxkKGkpLHMuYXBwZW5kQ2hpbGQobyk7dmFyIGw9dGhpcztvLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixmdW5jdGlvbigpe2wuaXNNb3VzZU92ZXI9ITEsbC51bmhvdmVyKCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXtsLmlzTW91c2VPdmVyPSEwfSl9LHcudG9JbWFnZT1mdW5jdGlvbih0KXt0fHwodD0icG5nIiksdGhpcy5zdG9wcGVkPSEwLHRoaXMuc3RhdGljUGxvdCYmdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQobiksdGhpcy51cGRhdGVTaXplKHRoaXMuY2FudmFzKTt2YXIgZT10aGlzLmdscGxvdC5nbCxyPWUuZHJhd2luZ0J1ZmZlcldpZHRoLGE9ZS5kcmF3aW5nQnVmZmVySGVpZ2h0O2UuY2xlYXJDb2xvcigxLDEsMSwwKSxlLmNsZWFyKGUuQ09MT1JfQlVGRkVSX0JJVHxlLkRFUFRIX0JVRkZFUl9CSVQpLHRoaXMuZ2xwbG90LnNldERpcnR5KCksdGhpcy5nbHBsb3QuZHJhdygpLGUuYmluZEZyYW1lYnVmZmVyKGUuRlJBTUVCVUZGRVIsbnVsbCk7dmFyIGk9bmV3IFVpbnQ4QXJyYXkociphKjQpO2UucmVhZFBpeGVscygwLDAscixhLGUuUkdCQSxlLlVOU0lHTkVEX0JZVEUsaSk7Zm9yKHZhciBvPTAscz1hLTE7bzxzOysrbywtLXMpZm9yKHZhciBsPTA7bDxyOysrbClmb3IodmFyIGM9MDtjPDQ7KytjKXt2YXIgdT1pWzQqKHIqbytsKStjXTtpWzQqKHIqbytsKStjXT1pWzQqKHIqcytsKStjXSxpWzQqKHIqcytsKStjXT11fXZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2gud2lkdGg9cixoLmhlaWdodD1hO3ZhciBmLHA9aC5nZXRDb250ZXh0KCIyZCIpLGQ9cC5jcmVhdGVJbWFnZURhdGEocixhKTtzd2l0Y2goZC5kYXRhLnNldChpKSxwLnB1dEltYWdlRGF0YShkLDAsMCksdCl7Y2FzZSJqcGVnIjpmPWgudG9EYXRhVVJMKCJpbWFnZS9qcGVnIik7YnJlYWs7Y2FzZSJ3ZWJwIjpmPWgudG9EYXRhVVJMKCJpbWFnZS93ZWJwIik7YnJlYWs7ZGVmYXVsdDpmPWgudG9EYXRhVVJMKCJpbWFnZS9wbmciKX1yZXR1cm4gdGhpcy5zdGF0aWNQbG90JiZ0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZChuKSxmfSx3LnVwZGF0ZVNpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcy5jYW52YXMpO3ZhciBlPXRoaXMucGl4ZWxSYXRpbyxyPXRoaXMuZnVsbExheW91dCxuPXIud2lkdGgsYT1yLmhlaWdodCxpPTB8TWF0aC5jZWlsKGUqbiksbz0wfE1hdGguY2VpbChlKmEpO3JldHVybiB0LndpZHRoPT09aSYmdC5oZWlnaHQ9PT1vfHwodC53aWR0aD1pLHQuaGVpZ2h0PW8pLHR9LHcuY29tcHV0ZVRpY2tNYXJrcz1mdW5jdGlvbigpe3RoaXMueGF4aXMuc2V0U2NhbGUoKSx0aGlzLnlheGlzLnNldFNjYWxlKCk7Zm9yKHZhciB0PVtvLmNhbGNUaWNrcyh0aGlzLnhheGlzKSxvLmNhbGNUaWNrcyh0aGlzLnlheGlzKV0sZT0wO2U8MjsrK2UpZm9yKHZhciByPTA7cjx0W2VdLmxlbmd0aDsrK3IpdFtlXVtyXS50ZXh0PXRbZV1bcl0udGV4dCsiIjtyZXR1cm4gdH0sdy51cGRhdGVSZWZzPWZ1bmN0aW9uKHQpe3RoaXMuZnVsbExheW91dD10O3ZhciBlPXRoaXMuaWQubWF0Y2goYikscj0ieGF4aXMiK2VbMV0sbj0ieWF4aXMiK2VbMl07dGhpcy54YXhpcz10aGlzLmZ1bGxMYXlvdXRbcl0sdGhpcy55YXhpcz10aGlzLmZ1bGxMYXlvdXRbbl19LHcucmVsYXlvdXRDYWxsYmFjaz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ3JhcGhEaXYsZT10aGlzLnhheGlzLHI9dGhpcy55YXhpcyxuPXQubGF5b3V0LGE9e30sbz1hW2UuX25hbWUrIi5yYW5nZSJdPWUucmFuZ2Uuc2xpY2UoKSxzPWFbci5fbmFtZSsiLnJhbmdlIl09ci5yYW5nZS5zbGljZSgpO2FbZS5fbmFtZSsiLmF1dG9yYW5nZSJdPWUuYXV0b3JhbmdlLGFbci5fbmFtZSsiLmF1dG9yYW5nZSJdPXIuYXV0b3JhbmdlLGkuY2FsbCgiX3N0b3JlRGlyZWN0R1VJRWRpdCIsdC5sYXlvdXQsdC5fZnVsbExheW91dC5fcHJlR1VJLGEpO3ZhciBsPW5bZS5fbmFtZV07bC5yYW5nZT1vLGwuYXV0b3JhbmdlPWUuYXV0b3JhbmdlO3ZhciBjPW5bci5fbmFtZV07Yy5yYW5nZT1zLGMuYXV0b3JhbmdlPXIuYXV0b3JhbmdlLGEubGFzdElucHV0VGltZT10aGlzLmNhbWVyYS5sYXN0SW5wdXRUaW1lLHQuZW1pdCgicGxvdGx5X3JlbGF5b3V0IixhKX0sdy5jYW1lcmFDaGFuZ2VkPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jYW1lcmE7dGhpcy5nbHBsb3Quc2V0RGF0YUJveCh0aGlzLmNhbGNEYXRhQm94KCkpO3ZhciBlPXRoaXMuY29tcHV0ZVRpY2tNYXJrcygpOyhmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8MjsrK3Ipe3ZhciBuPXRbcl0sYT1lW3JdO2lmKG4ubGVuZ3RoIT09YS5sZW5ndGgpcmV0dXJuITA7Zm9yKHZhciBpPTA7aTxuLmxlbmd0aDsrK2kpaWYobltpXS54IT09YVtpXS54KXJldHVybiEwfXJldHVybiExfSkoZSx0aGlzLmdscGxvdE9wdGlvbnMudGlja3MpJiYodGhpcy5nbHBsb3RPcHRpb25zLnRpY2tzPWUsdGhpcy5nbHBsb3RPcHRpb25zLmRhdGFCb3g9dC5kYXRhQm94LHRoaXMuZ2xwbG90LnVwZGF0ZSh0aGlzLmdscGxvdE9wdGlvbnMpLHRoaXMuaGFuZGxlQW5ub3RhdGlvbnMoKSl9LHcuaGFuZGxlQW5ub3RhdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5ncmFwaERpdixlPXRoaXMuZnVsbExheW91dC5hbm5vdGF0aW9ucyxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWVbcl07bi54cmVmPT09dGhpcy54YXhpcy5faWQmJm4ueXJlZj09PXRoaXMueWF4aXMuX2lkJiZpLmdldENvbXBvbmVudE1ldGhvZCgiYW5ub3RhdGlvbnMiLCJkcmF3T25lIikodCxyKX19LHcuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuZ2xwbG90KXt2YXIgdD10aGlzLnRyYWNlczt0JiZPYmplY3Qua2V5cyh0KS5tYXAoZnVuY3Rpb24oZSl7dFtlXS5kaXNwb3NlKCksZGVsZXRlIHRbZV19KSx0aGlzLmdscGxvdC5kaXNwb3NlKCksdGhpcy5jb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5zdmdDb250YWluZXIpLHRoaXMuY29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMubW91c2VDb250YWluZXIpLHRoaXMuZnVsbERhdGE9bnVsbCx0aGlzLmdscGxvdD1udWxsLHRoaXMuc3RvcHBlZD0hMCx0aGlzLmNhbWVyYS5tb3VzZUxpc3RlbmVyLmVuYWJsZWQ9ITEsdGhpcy5tb3VzZUNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5jYW1lcmEud2hlZWxMaXN0ZW5lciksdGhpcy5jYW1lcmE9bnVsbH19LHcucGxvdD1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5nbHBsb3Q7dGhpcy51cGRhdGVSZWZzKHIpLHRoaXMueGF4aXMuY2xlYXJDYWxjKCksdGhpcy55YXhpcy5jbGVhckNhbGMoKSx0aGlzLnVwZGF0ZVRyYWNlcyh0LGUpLHRoaXMudXBkYXRlRngoci5kcmFnbW9kZSk7dmFyIGE9ci53aWR0aCxpPXIuaGVpZ2h0O3RoaXMudXBkYXRlU2l6ZSh0aGlzLmNhbnZhcyk7dmFyIG89dGhpcy5nbHBsb3RPcHRpb25zO28ubWVyZ2Uociksby5zY3JlZW5Cb3g9WzAsMCxhLGldO3ZhciBzPXtfZnVsbExheW91dDp7X2F4aXNDb25zdHJhaW50R3JvdXBzOnRoaXMuZ3JhcGhEaXYuX2Z1bGxMYXlvdXQuX2F4aXNDb25zdHJhaW50R3JvdXBzLHhheGlzOnRoaXMueGF4aXMseWF4aXM6dGhpcy55YXhpc319O20ocyx0aGlzLnhheGlzKSxtKHMsdGhpcy55YXhpcyk7dmFyIGwsYyx1PXIuX3NpemUsaD10aGlzLnhheGlzLmRvbWFpbixmPXRoaXMueWF4aXMuZG9tYWluO2ZvcihvLnZpZXdCb3g9W3UubCtoWzBdKnUudyx1LmIrZlswXSp1LmgsYS11LnItKDEtaFsxXSkqdS53LGktdS50LSgxLWZbMV0pKnUuaF0sdGhpcy5tb3VzZUNvbnRhaW5lci5zdHlsZS53aWR0aD11LncqKGhbMV0taFswXSkrInB4Iix0aGlzLm1vdXNlQ29udGFpbmVyLnN0eWxlLmhlaWdodD11LmgqKGZbMV0tZlswXSkrInB4Iix0aGlzLm1vdXNlQ29udGFpbmVyLmhlaWdodD11LmgqKGZbMV0tZlswXSksdGhpcy5tb3VzZUNvbnRhaW5lci5zdHlsZS5sZWZ0PXUubCtoWzBdKnUudysicHgiLHRoaXMubW91c2VDb250YWluZXIuc3R5bGUudG9wPXUudCsoMS1mWzFdKSp1LmgrInB4IixjPTA7YzwyOysrYykobD10aGlzW3hbY11dKS5fbGVuZ3RoPW8udmlld0JveFtjKzJdLW8udmlld0JveFtjXSx5KHRoaXMuZ3JhcGhEaXYsbCksbC5zZXRTY2FsZSgpO3Yocyksby50aWNrcz10aGlzLmNvbXB1dGVUaWNrTWFya3MoKSxvLmRhdGFCb3g9dGhpcy5jYWxjRGF0YUJveCgpLG8ubWVyZ2Uociksbi51cGRhdGUobyksdGhpcy5nbHBsb3QuZHJhdygpfSx3LmNhbGNEYXRhQm94PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54YXhpcyxlPXRoaXMueWF4aXMscj10LnJhbmdlLG49ZS5yYW5nZSxhPXQucjJsLGk9ZS5yMmw7cmV0dXJuW2EoclswXSksaShuWzBdKSxhKHJbMV0pLGkoblsxXSldfSx3LnNldFJhbmdlcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnhheGlzLHI9dGhpcy55YXhpcyxuPWUubDJyLGE9ci5sMnI7ZS5yYW5nZT1bbih0WzBdKSxuKHRbMl0pXSxyLnJhbmdlPVthKHRbMV0pLGEodFszXSldfSx3LnVwZGF0ZVRyYWNlcz1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpPU9iamVjdC5rZXlzKHRoaXMudHJhY2VzKTt0aGlzLmZ1bGxEYXRhPXQ7dDpmb3Iocj0wO3I8aS5sZW5ndGg7cisrKXt2YXIgbz1pW3JdLHM9dGhpcy50cmFjZXNbb107Zm9yKG49MDtuPHQubGVuZ3RoO24rKylpZigoYT10W25dKS51aWQ9PT1vJiZhLnR5cGU9PT1zLnR5cGUpY29udGludWUgdDtzLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy50cmFjZXNbb119Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7YT10W3JdO3ZhciBsPWVbcl0sYz10aGlzLnRyYWNlc1thLnVpZF07Yz9jLnVwZGF0ZShhLGwpOihjPWEuX21vZHVsZS5wbG90KHRoaXMsYSxsKSx0aGlzLnRyYWNlc1thLnVpZF09Yyl9dGhpcy5nbHBsb3Qub2JqZWN0cy5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX3RyYWNlLmluZGV4LWUuX3RyYWNlLmluZGV4fSl9LHcudXBkYXRlRng9ZnVuY3Rpb24odCl7Imxhc3NvIj09PXR8fCJzZWxlY3QiPT09dD8odGhpcy5waWNrQ2FudmFzLnN0eWxlWyJwb2ludGVyLWV2ZW50cyJdPSJub25lIix0aGlzLm1vdXNlQ29udGFpbmVyLnN0eWxlWyJwb2ludGVyLWV2ZW50cyJdPSJub25lIik6KHRoaXMucGlja0NhbnZhcy5zdHlsZVsicG9pbnRlci1ldmVudHMiXT0iYXV0byIsdGhpcy5tb3VzZUNvbnRhaW5lci5zdHlsZVsicG9pbnRlci1ldmVudHMiXT0iYXV0byIpLHRoaXMubW91c2VDb250YWluZXIuc3R5bGUuY3Vyc29yPSJwYW4iPT09dD8ibW92ZSI6Inpvb20iPT09dD8iY3Jvc3NoYWlyIjpudWxsfSx3LmVtaXRQb2ludEFjdGlvbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuPXQudHJhY2UudWlkLGE9dC5wb2ludEluZGV4LGk9MDtpPHRoaXMuZnVsbERhdGEubGVuZ3RoO2krKyl0aGlzLmZ1bGxEYXRhW2ldLnVpZD09PW4mJihyPXRoaXMuZnVsbERhdGFbaV0pO3ZhciBvPXt4OnQudHJhY2VDb29yZFswXSx5OnQudHJhY2VDb29yZFsxXSxjdXJ2ZU51bWJlcjpyLmluZGV4LHBvaW50TnVtYmVyOmEsZGF0YTpyLl9pbnB1dCxmdWxsRGF0YTp0aGlzLmZ1bGxEYXRhLHhheGlzOnRoaXMueGF4aXMseWF4aXM6dGhpcy55YXhpc307cy5hcHBlbmRBcnJheVBvaW50VmFsdWUobyxyLGEpLHRoaXMuZ3JhcGhEaXYuZW1pdChlLHtwb2ludHM6W29dfSl9LHcuZHJhdz1mdW5jdGlvbigpe2lmKCF0aGlzLnN0b3BwZWQpe3JlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJlZHJhdyk7dmFyIHQ9dGhpcy5nbHBsb3QsZT10aGlzLmNhbWVyYSxyPWUubW91c2VMaXN0ZW5lcixuPTE9PT10aGlzLmxhc3RCdXR0b25TdGF0ZSYmMD09PXIuYnV0dG9ucyxhPXRoaXMuZnVsbExheW91dDt0aGlzLmxhc3RCdXR0b25TdGF0ZT1yLmJ1dHRvbnMsdGhpcy5jYW1lcmFDaGFuZ2VkKCk7dmFyIGksbz1yLngqdC5waXhlbFJhdGlvLGw9dGhpcy5jYW52YXMuaGVpZ2h0LXQucGl4ZWxSYXRpbypyLnk7aWYoZS5ib3hFbmFibGVkJiYiem9vbSI9PT1hLmRyYWdtb2RlKXt0aGlzLnNlbGVjdEJveC5lbmFibGVkPSEwO2Zvcih2YXIgYz10aGlzLnNlbGVjdEJveC5zZWxlY3RCb3g9W01hdGgubWluKGUuYm94U3RhcnRbMF0sZS5ib3hFbmRbMF0pLE1hdGgubWluKGUuYm94U3RhcnRbMV0sZS5ib3hFbmRbMV0pLE1hdGgubWF4KGUuYm94U3RhcnRbMF0sZS5ib3hFbmRbMF0pLE1hdGgubWF4KGUuYm94U3RhcnRbMV0sZS5ib3hFbmRbMV0pXSx1PTA7dTwyO3UrKyllLmJveFN0YXJ0W3VdPT09ZS5ib3hFbmRbdV0mJihjW3VdPXQuZGF0YUJveFt1XSxjW3UrMl09dC5kYXRhQm94W3UrMl0pO3Quc2V0RGlydHkoKX1lbHNlIGlmKCFlLnBhbm5pbmcmJnRoaXMuaXNNb3VzZU92ZXIpe3RoaXMuc2VsZWN0Qm94LmVuYWJsZWQ9ITE7dmFyIGg9YS5fc2l6ZSxmPXRoaXMueGF4aXMuZG9tYWluLHA9dGhpcy55YXhpcy5kb21haW4sZD0oaT10LnBpY2soby90LnBpeGVsUmF0aW8raC5sK2ZbMF0qaC53LGwvdC5waXhlbFJhdGlvLShoLnQrKDEtcFsxXSkqaC5oKSkpJiZpLm9iamVjdC5fdHJhY2UuaGFuZGxlUGljayhpKTtpZihkJiZuJiZ0aGlzLmVtaXRQb2ludEFjdGlvbihkLCJwbG90bHlfY2xpY2siKSxpJiYic2tpcCIhPT1pLm9iamVjdC5fdHJhY2UuaG92ZXJpbmZvJiZhLmhvdmVybW9kZSYmZCYmKCF0aGlzLmxhc3RQaWNrUmVzdWx0fHx0aGlzLmxhc3RQaWNrUmVzdWx0LnRyYWNlVWlkIT09ZC50cmFjZS51aWR8fHRoaXMubGFzdFBpY2tSZXN1bHQuZGF0YUNvb3JkWzBdIT09ZC5kYXRhQ29vcmRbMF18fHRoaXMubGFzdFBpY2tSZXN1bHQuZGF0YUNvb3JkWzFdIT09ZC5kYXRhQ29vcmRbMV0pKXt2YXIgZz1kO3RoaXMubGFzdFBpY2tSZXN1bHQ9e3RyYWNlVWlkOmQudHJhY2U/ZC50cmFjZS51aWQ6bnVsbCxkYXRhQ29vcmQ6ZC5kYXRhQ29vcmQuc2xpY2UoKX0sdGhpcy5zcGlrZXMudXBkYXRlKHtjZW50ZXI6aS5kYXRhQ29vcmR9KSxnLnNjcmVlbkNvb3JkPVsoKHQudmlld0JveFsyXS10LnZpZXdCb3hbMF0pKihpLmRhdGFDb29yZFswXS10LmRhdGFCb3hbMF0pLyh0LmRhdGFCb3hbMl0tdC5kYXRhQm94WzBdKSt0LnZpZXdCb3hbMF0pL3QucGl4ZWxSYXRpbywodGhpcy5jYW52YXMuaGVpZ2h0LSh0LnZpZXdCb3hbM10tdC52aWV3Qm94WzFdKSooaS5kYXRhQ29vcmRbMV0tdC5kYXRhQm94WzFdKS8odC5kYXRhQm94WzNdLXQuZGF0YUJveFsxXSktdC52aWV3Qm94WzFdKS90LnBpeGVsUmF0aW9dLHRoaXMuZW1pdFBvaW50QWN0aW9uKGQsInBsb3RseV9ob3ZlciIpO3ZhciB2PXRoaXMuZnVsbERhdGFbZy50cmFjZS5pbmRleF18fHt9LG09Zy5wb2ludEluZGV4LHk9cy5jYXN0SG92ZXJpbmZvKHYsYSxtKTtpZih5JiYiYWxsIiE9PXkpe3ZhciB4PXkuc3BsaXQoIisiKTstMT09PXguaW5kZXhPZigieCIpJiYoZy50cmFjZUNvb3JkWzBdPXZvaWQgMCksLTE9PT14LmluZGV4T2YoInkiKSYmKGcudHJhY2VDb29yZFsxXT12b2lkIDApLC0xPT09eC5pbmRleE9mKCJ6IikmJihnLnRyYWNlQ29vcmRbMl09dm9pZCAwKSwtMT09PXguaW5kZXhPZigidGV4dCIpJiYoZy50ZXh0TGFiZWw9dm9pZCAwKSwtMT09PXguaW5kZXhPZigibmFtZSIpJiYoZy5uYW1lPXZvaWQgMCl9cy5sb25lSG92ZXIoe3g6Zy5zY3JlZW5Db29yZFswXSx5Omcuc2NyZWVuQ29vcmRbMV0seExhYmVsOnRoaXMuaG92ZXJGb3JtYXR0ZXIoInhheGlzIixnLnRyYWNlQ29vcmRbMF0pLHlMYWJlbDp0aGlzLmhvdmVyRm9ybWF0dGVyKCJ5YXhpcyIsZy50cmFjZUNvb3JkWzFdKSx6TGFiZWw6Zy50cmFjZUNvb3JkWzJdLHRleHQ6Zy50ZXh0TGFiZWwsbmFtZTpnLm5hbWUsY29sb3I6cy5jYXN0SG92ZXJPcHRpb24odixtLCJiZ2NvbG9yIil8fGcuY29sb3IsYm9yZGVyQ29sb3I6cy5jYXN0SG92ZXJPcHRpb24odixtLCJib3JkZXJjb2xvciIpLGZvbnRGYW1pbHk6cy5jYXN0SG92ZXJPcHRpb24odixtLCJmb250LmZhbWlseSIpLGZvbnRTaXplOnMuY2FzdEhvdmVyT3B0aW9uKHYsbSwiZm9udC5zaXplIiksZm9udENvbG9yOnMuY2FzdEhvdmVyT3B0aW9uKHYsbSwiZm9udC5jb2xvciIpLG5hbWVMZW5ndGg6cy5jYXN0SG92ZXJPcHRpb24odixtLCJuYW1lbGVuZ3RoIiksdGV4dEFsaWduOnMuY2FzdEhvdmVyT3B0aW9uKHYsbSwiYWxpZ24iKX0se2NvbnRhaW5lcjp0aGlzLnN2Z0NvbnRhaW5lcixnZDp0aGlzLmdyYXBoRGl2fSl9fWl8fHRoaXMudW5ob3ZlcigpLHQuZHJhdygpfX0sdy51bmhvdmVyPWZ1bmN0aW9uKCl7dGhpcy5sYXN0UGlja1Jlc3VsdCYmKHRoaXMuc3Bpa2VzLnVwZGF0ZSh7fSksdGhpcy5sYXN0UGlja1Jlc3VsdD1udWxsLHRoaXMuZ3JhcGhEaXYuZW1pdCgicGxvdGx5X3VuaG92ZXIiKSxzLmxvbmVVbmhvdmVyKHRoaXMuc3ZnQ29udGFpbmVyKSl9LHcuaG92ZXJGb3JtYXR0ZXI9ZnVuY3Rpb24odCxlKXtpZih2b2lkIDAhPT1lKXt2YXIgcj10aGlzW3RdO3JldHVybiBvLnRpY2tUZXh0KHIsci5jMmwoZSksImhvdmVyIikudGV4dH19fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vbGliL3Nob3dfbm9fd2ViZ2xfbXNnIjo3MzgsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL2NhcnRlc2lhbi9hdXRvcmFuZ2UiOjc2NCwiLi4vY2FydGVzaWFuL2NvbnN0YW50cyI6NzcxLCIuLi9jYXJ0ZXNpYW4vY29uc3RyYWludHMiOjc3MiwiLi9jYW1lcmEiOjgwMSwiLi9jb252ZXJ0Ijo4MDIsImdsLXBsb3QyZCI6MjkwLCJnbC1zZWxlY3QtYm94IjozMDIsImdsLXNwaWtlczJkIjozMTEsIndlYmdsLWNvbnRleHQiOjU1NX1dLDgwNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwsYT10KCIuLi8uLi9jb21wb25lbnRzL2Z4L2xheW91dF9hdHRyaWJ1dGVzIiksaT10KCIuL3NjZW5lIiksbz10KCIuLi9nZXRfZGF0YSIpLmdldFN1YnBsb3REYXRhLHM9dCgiLi4vLi4vbGliIiksbD10KCIuLi8uLi9jb25zdGFudHMveG1sbnNfbmFtZXNwYWNlcyIpO3IubmFtZT0iZ2wzZCIsci5hdHRyPSJzY2VuZSIsci5pZFJvb3Q9InNjZW5lIixyLmlkUmVnZXg9ci5hdHRyUmVnZXg9cy5jb3VudGVyUmVnZXgoInNjZW5lIiksci5hdHRyaWJ1dGVzPXQoIi4vbGF5b3V0L2F0dHJpYnV0ZXMiKSxyLmxheW91dEF0dHJpYnV0ZXM9dCgiLi9sYXlvdXQvbGF5b3V0X2F0dHJpYnV0ZXMiKSxyLmJhc2VMYXlvdXRBdHRyT3ZlcnJpZGVzPW4oe2hvdmVybGFiZWw6YS5ob3ZlcmxhYmVsfSwicGxvdCIsIm5lc3RlZCIpLHIuc3VwcGx5TGF5b3V0RGVmYXVsdHM9dCgiLi9sYXlvdXQvZGVmYXVsdHMiKSxyLnBsb3Q9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuX2Z1bGxMYXlvdXQscj10Ll9mdWxsRGF0YSxuPWUuX3N1YnBsb3RzLmdsM2QsYT0wO2E8bi5sZW5ndGg7YSsrKXt2YXIgcz1uW2FdLGw9byhyLCJnbDNkIixzKSxjPWVbc10sdT1jLmNhbWVyYSxoPWMuX3NjZW5lO2h8fChoPW5ldyBpKHtpZDpzLGdyYXBoRGl2OnQsY29udGFpbmVyOnQucXVlcnlTZWxlY3RvcigiLmdsLWNvbnRhaW5lciIpLHN0YXRpY1Bsb3Q6dC5fY29udGV4dC5zdGF0aWNQbG90LHBsb3RHbFBpeGVsUmF0aW86dC5fY29udGV4dC5wbG90R2xQaXhlbFJhdGlvLGNhbWVyYTp1fSxlKSxjLl9zY2VuZT1oKSxoLnZpZXdJbml0aWFsfHwoaC52aWV3SW5pdGlhbD17dXA6e3g6dS51cC54LHk6dS51cC55LHo6dS51cC56fSxleWU6e3g6dS5leWUueCx5OnUuZXllLnksejp1LmV5ZS56fSxjZW50ZXI6e3g6dS5jZW50ZXIueCx5OnUuY2VudGVyLnksejp1LmNlbnRlci56fX0pLGgucGxvdChsLGUsdC5sYXlvdXQpfX0sci5jbGVhbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9bi5fc3VicGxvdHMuZ2wzZHx8W10saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldOyFlW29dJiZuW29dLl9zY2VuZSYmKG5bb10uX3NjZW5lLmRlc3Ryb3koKSxuLl9pbmZvbGF5ZXImJm4uX2luZm9sYXllci5zZWxlY3RBbGwoIi5hbm5vdGF0aW9uLSIrbykucmVtb3ZlKCkpfX0sci50b1NWRz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fZnVsbExheW91dCxyPWUuX3N1YnBsb3RzLmdsM2Qsbj1lLl9zaXplLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGk9ZVtyW2FdXSxvPWkuZG9tYWluLHM9aS5fc2NlbmUsYz1zLnRvSW1hZ2UoInBuZyIpO2UuX2dsaW1hZ2VzLmFwcGVuZCgic3ZnOmltYWdlIikuYXR0cih7eG1sbnM6bC5zdmcsInhsaW5rOmhyZWYiOmMseDpuLmwrbi53Km8ueFswXSx5Om4udCtuLmgqKDEtby55WzFdKSx3aWR0aDpuLncqKG8ueFsxXS1vLnhbMF0pLGhlaWdodDpuLmgqKG8ueVsxXS1vLnlbMF0pLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSkscy5kZXN0cm95KCl9fSxyLmNsZWFuSWQ9ZnVuY3Rpb24odCl7aWYodC5tYXRjaCgvXnNjZW5lWzAtOV0qJC8pKXt2YXIgZT10LnN1YnN0cig1KTtyZXR1cm4iMSI9PT1lJiYoZT0iIiksInNjZW5lIitlfX0sci51cGRhdGVGeD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fZnVsbExheW91dCxyPWUuX3N1YnBsb3RzLmdsM2Qsbj0wO248ci5sZW5ndGg7bisrKXtlW3Jbbl1dLl9zY2VuZS51cGRhdGVGeChlLmRyYWdtb2RlLGUuaG92ZXJtb2RlKX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngvbGF5b3V0X2F0dHJpYnV0ZXMiOjYzMSwiLi4vLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiOjY5NCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vZ2V0X2RhdGEiOjgwMCwiLi9sYXlvdXQvYXR0cmlidXRlcyI6ODA2LCIuL2xheW91dC9kZWZhdWx0cyI6ODEwLCIuL2xheW91dC9sYXlvdXRfYXR0cmlidXRlcyI6ODExLCIuL3NjZW5lIjo4MTV9XSw4MDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtzY2VuZTp7dmFsVHlwZToic3VicGxvdGlkIixkZmx0OiJzY2VuZSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifX19LHt9XSw4MDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGE9dCgiLi4vLi4vY2FydGVzaWFuL2xheW91dF9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxvPXQoIi4uLy4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiKS5vdmVycmlkZUFsbDtlLmV4cG9ydHM9byh7dmlzaWJsZTphLnZpc2libGUsc2hvd3NwaWtlczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMH0sc3Bpa2VzaWRlczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMH0sc3Bpa2V0aGlja25lc3M6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoyfSxzcGlrZWNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmRlZmF1bHRMaW5lfSxzaG93YmFja2dyb3VuZDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sYmFja2dyb3VuZGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDoicmdiYSgyMDQsIDIwNCwgMjA0LCAwLjUpIn0sc2hvd2F4ZXNsYWJlbHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LGNvbG9yOmEuY29sb3IsY2F0ZWdvcnlvcmRlcjphLmNhdGVnb3J5b3JkZXIsY2F0ZWdvcnlhcnJheTphLmNhdGVnb3J5YXJyYXksdGl0bGU6e3RleHQ6YS50aXRsZS50ZXh0LGZvbnQ6YS50aXRsZS5mb250fSx0eXBlOmkoe30sYS50eXBlLHt2YWx1ZXM6WyItIiwibGluZWFyIiwibG9nIiwiZGF0ZSIsImNhdGVnb3J5Il19KSxhdXRvcmFuZ2U6YS5hdXRvcmFuZ2UscmFuZ2Vtb2RlOmEucmFuZ2Vtb2RlLHJhbmdlOmkoe30sYS5yYW5nZSx7aXRlbXM6W3t2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXV0b3JhbmdlIjohMX19LHt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXV0b3JhbmdlIjohMX19XSxhbmltOiExfSksdGlja21vZGU6YS50aWNrbW9kZSxudGlja3M6YS5udGlja3MsdGljazA6YS50aWNrMCxkdGljazphLmR0aWNrLHRpY2t2YWxzOmEudGlja3ZhbHMsdGlja3RleHQ6YS50aWNrdGV4dCx0aWNrczphLnRpY2tzLG1pcnJvcjphLm1pcnJvcix0aWNrbGVuOmEudGlja2xlbix0aWNrd2lkdGg6YS50aWNrd2lkdGgsdGlja2NvbG9yOmEudGlja2NvbG9yLHNob3d0aWNrbGFiZWxzOmEuc2hvd3RpY2tsYWJlbHMsdGlja2ZvbnQ6YS50aWNrZm9udCx0aWNrYW5nbGU6YS50aWNrYW5nbGUsdGlja3ByZWZpeDphLnRpY2twcmVmaXgsc2hvd3RpY2twcmVmaXg6YS5zaG93dGlja3ByZWZpeCx0aWNrc3VmZml4OmEudGlja3N1ZmZpeCxzaG93dGlja3N1ZmZpeDphLnNob3d0aWNrc3VmZml4LHNob3dleHBvbmVudDphLnNob3dleHBvbmVudCxleHBvbmVudGZvcm1hdDphLmV4cG9uZW50Zm9ybWF0LHNlcGFyYXRldGhvdXNhbmRzOmEuc2VwYXJhdGV0aG91c2FuZHMsdGlja2Zvcm1hdDphLnRpY2tmb3JtYXQsdGlja2Zvcm1hdHN0b3BzOmEudGlja2Zvcm1hdHN0b3BzLGhvdmVyZm9ybWF0OmEuaG92ZXJmb3JtYXQsc2hvd2xpbmU6YS5zaG93bGluZSxsaW5lY29sb3I6YS5saW5lY29sb3IsbGluZXdpZHRoOmEubGluZXdpZHRoLHNob3dncmlkOmEuc2hvd2dyaWQsZ3JpZGNvbG9yOmkoe30sYS5ncmlkY29sb3Ise2RmbHQ6InJnYigyMDQsIDIwNCwgMjA0KSJ9KSxncmlkd2lkdGg6YS5ncmlkd2lkdGgsemVyb2xpbmU6YS56ZXJvbGluZSx6ZXJvbGluZWNvbG9yOmEuemVyb2xpbmVjb2xvcix6ZXJvbGluZXdpZHRoOmEuemVyb2xpbmV3aWR0aCxfZGVwcmVjYXRlZDp7dGl0bGU6YS5fZGVwcmVjYXRlZC50aXRsZSx0aXRsZWZvbnQ6YS5fZGVwcmVjYXRlZC50aXRsZWZvbnR9fSwicGxvdCIsImZyb20tcm9vdCIpfSx7Ii4uLy4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyI6Nzc3fV0sODA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInRpbnljb2xvcjIiKS5taXgsYT10KCIuLi8uLi8uLi9saWIiKSxpPXQoIi4uLy4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKSxvPXQoIi4vYXhpc19hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9jYXJ0ZXNpYW4vdHlwZV9kZWZhdWx0cyIpLGw9dCgiLi4vLi4vY2FydGVzaWFuL2F4aXNfZGVmYXVsdHMiKSxjPVsieGF4aXMiLCJ5YXhpcyIsInpheGlzIl07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgdSxoO2Z1bmN0aW9uIGYodCxlKXtyZXR1cm4gYS5jb2VyY2UodSxoLG8sdCxlKX1mb3IodmFyIHA9MDtwPGMubGVuZ3RoO3ArKyl7dmFyIGQ9Y1twXTt1PXRbZF18fHt9LChoPWkubmV3Q29udGFpbmVyKGUsZCkpLl9pZD1kWzBdK3Iuc2NlbmUsaC5fbmFtZT1kLHModSxoLGYsciksbCh1LGgsZix7Zm9udDpyLmZvbnQsbGV0dGVyOmRbMF0sZGF0YTpyLmRhdGEsc2hvd0dyaWQ6ITAsbm9UaWNrc29uOiEwLGJnQ29sb3I6ci5iZ0NvbG9yLGNhbGVuZGFyOnIuY2FsZW5kYXJ9LHIuZnVsbExheW91dCksZigiZ3JpZGNvbG9yIixuKGguY29sb3Isci5iZ0NvbG9yLDEzNjAwLzE4NykudG9SZ2JTdHJpbmcoKSksZigidGl0bGUudGV4dCIsZFswXSksaC5zZXRTY2FsZT1hLm5vb3AsZigic2hvd3NwaWtlcyIpJiYoZigic3Bpa2VzaWRlcyIpLGYoInNwaWtldGhpY2tuZXNzIiksZigic3Bpa2Vjb2xvciIsaC5jb2xvcikpLGYoInNob3dheGVzbGFiZWxzIiksZigic2hvd2JhY2tncm91bmQiKSYmZigiYmFja2dyb3VuZGNvbG9yIil9fX0seyIuLi8uLi8uLi9saWIiOjcxNywiLi4vLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9jYXJ0ZXNpYW4vYXhpc19kZWZhdWx0cyI6NzY3LCIuLi8uLi9jYXJ0ZXNpYW4vdHlwZV9kZWZhdWx0cyI6Nzg4LCIuL2F4aXNfYXR0cmlidXRlcyI6ODA3LHRpbnljb2xvcjI6NTM2fV0sODA5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uLy4uL2xpYi9zdHIycmdiYXJyYXkiKSxhPXQoIi4uLy4uLy4uL2xpYiIpLGk9WyJ4YXhpcyIsInlheGlzIiwiemF4aXMiXTtmdW5jdGlvbiBvKCl7dGhpcy5ib3VuZHM9W1stMTAsLTEwLC0xMF0sWzEwLDEwLDEwXV0sdGhpcy50aWNrcz1bW10sW10sW11dLHRoaXMudGlja0VuYWJsZT1bITAsITAsITBdLHRoaXMudGlja0ZvbnQ9WyJzYW5zLXNlcmlmIiwic2Fucy1zZXJpZiIsInNhbnMtc2VyaWYiXSx0aGlzLnRpY2tTaXplPVsxMiwxMiwxMl0sdGhpcy50aWNrQW5nbGU9WzAsMCwwXSx0aGlzLnRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGlja1BhZD1bMTgsMTgsMThdLHRoaXMubGFiZWxzPVsieCIsInkiLCJ6Il0sdGhpcy5sYWJlbEVuYWJsZT1bITAsITAsITBdLHRoaXMubGFiZWxGb250PVsiT3BlbiBTYW5zIiwiT3BlbiBTYW5zIiwiT3BlbiBTYW5zIl0sdGhpcy5sYWJlbFNpemU9WzIwLDIwLDIwXSx0aGlzLmxhYmVsQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmxhYmVsUGFkPVszMCwzMCwzMF0sdGhpcy5saW5lRW5hYmxlPVshMCwhMCwhMF0sdGhpcy5saW5lTWlycm9yPVshMSwhMSwhMV0sdGhpcy5saW5lV2lkdGg9WzEsMSwxXSx0aGlzLmxpbmVDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMubGluZVRpY2tFbmFibGU9WyEwLCEwLCEwXSx0aGlzLmxpbmVUaWNrTWlycm9yPVshMSwhMSwhMV0sdGhpcy5saW5lVGlja0xlbmd0aD1bMTAsMTAsMTBdLHRoaXMubGluZVRpY2tXaWR0aD1bMSwxLDFdLHRoaXMubGluZVRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZ3JpZEVuYWJsZT1bITAsITAsITBdLHRoaXMuZ3JpZFdpZHRoPVsxLDEsMV0sdGhpcy5ncmlkQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnplcm9FbmFibGU9WyEwLCEwLCEwXSx0aGlzLnplcm9MaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnplcm9MaW5lV2lkdGg9WzIsMiwyXSx0aGlzLmJhY2tncm91bmRFbmFibGU9WyEwLCEwLCEwXSx0aGlzLmJhY2tncm91bmRDb2xvcj1bWy44LC44LC44LC41XSxbLjgsLjgsLjgsLjVdLFsuOCwuOCwuOCwuNV1dLHRoaXMuX2RlZmF1bHRUaWNrUGFkPXRoaXMudGlja1BhZC5zbGljZSgpLHRoaXMuX2RlZmF1bHRMYWJlbFBhZD10aGlzLmxhYmVsUGFkLnNsaWNlKCksdGhpcy5fZGVmYXVsdExpbmVUaWNrTGVuZ3RoPXRoaXMubGluZVRpY2tMZW5ndGguc2xpY2UoKX1vLnByb3RvdHlwZS5tZXJnZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8MzsrK3Ipe3ZhciBvPWVbaVtyXV07by52aXNpYmxlPyh0aGlzLmxhYmVsc1tyXT10Ll9tZXRhP2EudGVtcGxhdGVTdHJpbmcoby50aXRsZS50ZXh0LHQuX21ldGEpOm8udGl0bGUudGV4dCwiZm9udCJpbiBvLnRpdGxlJiYoby50aXRsZS5mb250LmNvbG9yJiYodGhpcy5sYWJlbENvbG9yW3JdPW4oby50aXRsZS5mb250LmNvbG9yKSksby50aXRsZS5mb250LmZhbWlseSYmKHRoaXMubGFiZWxGb250W3JdPW8udGl0bGUuZm9udC5mYW1pbHkpLG8udGl0bGUuZm9udC5zaXplJiYodGhpcy5sYWJlbFNpemVbcl09by50aXRsZS5mb250LnNpemUpKSwic2hvd2xpbmUiaW4gbyYmKHRoaXMubGluZUVuYWJsZVtyXT1vLnNob3dsaW5lKSwibGluZWNvbG9yImluIG8mJih0aGlzLmxpbmVDb2xvcltyXT1uKG8ubGluZWNvbG9yKSksImxpbmV3aWR0aCJpbiBvJiYodGhpcy5saW5lV2lkdGhbcl09by5saW5ld2lkdGgpLCJzaG93Z3JpZCJpbiBvJiYodGhpcy5ncmlkRW5hYmxlW3JdPW8uc2hvd2dyaWQpLCJncmlkY29sb3IiaW4gbyYmKHRoaXMuZ3JpZENvbG9yW3JdPW4oby5ncmlkY29sb3IpKSwiZ3JpZHdpZHRoImluIG8mJih0aGlzLmdyaWRXaWR0aFtyXT1vLmdyaWR3aWR0aCksImxvZyI9PT1vLnR5cGU/dGhpcy56ZXJvRW5hYmxlW3JdPSExOiJ6ZXJvbGluZSJpbiBvJiYodGhpcy56ZXJvRW5hYmxlW3JdPW8uemVyb2xpbmUpLCJ6ZXJvbGluZWNvbG9yImluIG8mJih0aGlzLnplcm9MaW5lQ29sb3Jbcl09bihvLnplcm9saW5lY29sb3IpKSwiemVyb2xpbmV3aWR0aCJpbiBvJiYodGhpcy56ZXJvTGluZVdpZHRoW3JdPW8uemVyb2xpbmV3aWR0aCksInRpY2tzImluIG8mJm8udGlja3M/dGhpcy5saW5lVGlja0VuYWJsZVtyXT0hMDp0aGlzLmxpbmVUaWNrRW5hYmxlW3JdPSExLCJ0aWNrbGVuImluIG8mJih0aGlzLmxpbmVUaWNrTGVuZ3RoW3JdPXRoaXMuX2RlZmF1bHRMaW5lVGlja0xlbmd0aFtyXT1vLnRpY2tsZW4pLCJ0aWNrY29sb3IiaW4gbyYmKHRoaXMubGluZVRpY2tDb2xvcltyXT1uKG8udGlja2NvbG9yKSksInRpY2t3aWR0aCJpbiBvJiYodGhpcy5saW5lVGlja1dpZHRoW3JdPW8udGlja3dpZHRoKSwidGlja2FuZ2xlImluIG8mJih0aGlzLnRpY2tBbmdsZVtyXT0iYXV0byI9PT1vLnRpY2thbmdsZT8tMzYwMDpNYXRoLlBJKi1vLnRpY2thbmdsZS8xODApLCJzaG93dGlja2xhYmVscyJpbiBvJiYodGhpcy50aWNrRW5hYmxlW3JdPW8uc2hvd3RpY2tsYWJlbHMpLCJ0aWNrZm9udCJpbiBvJiYoby50aWNrZm9udC5jb2xvciYmKHRoaXMudGlja0NvbG9yW3JdPW4oby50aWNrZm9udC5jb2xvcikpLG8udGlja2ZvbnQuZmFtaWx5JiYodGhpcy50aWNrRm9udFtyXT1vLnRpY2tmb250LmZhbWlseSksby50aWNrZm9udC5zaXplJiYodGhpcy50aWNrU2l6ZVtyXT1vLnRpY2tmb250LnNpemUpKSwibWlycm9yImluIG8/LTEhPT1bInRpY2tzIiwiYWxsIiwiYWxsdGlja3MiXS5pbmRleE9mKG8ubWlycm9yKT8odGhpcy5saW5lVGlja01pcnJvcltyXT0hMCx0aGlzLmxpbmVNaXJyb3Jbcl09ITApOiEwPT09by5taXJyb3I/KHRoaXMubGluZVRpY2tNaXJyb3Jbcl09ITEsdGhpcy5saW5lTWlycm9yW3JdPSEwKToodGhpcy5saW5lVGlja01pcnJvcltyXT0hMSx0aGlzLmxpbmVNaXJyb3Jbcl09ITEpOnRoaXMubGluZU1pcnJvcltyXT0hMSwic2hvd2JhY2tncm91bmQiaW4gbyYmITEhPT1vLnNob3diYWNrZ3JvdW5kPyh0aGlzLmJhY2tncm91bmRFbmFibGVbcl09ITAsdGhpcy5iYWNrZ3JvdW5kQ29sb3Jbcl09bihvLmJhY2tncm91bmRjb2xvcikpOnRoaXMuYmFja2dyb3VuZEVuYWJsZVtyXT0hMSk6KHRoaXMudGlja0VuYWJsZVtyXT0hMSx0aGlzLmxhYmVsRW5hYmxlW3JdPSExLHRoaXMubGluZUVuYWJsZVtyXT0hMSx0aGlzLmxpbmVUaWNrRW5hYmxlW3JdPSExLHRoaXMuZ3JpZEVuYWJsZVtyXT0hMSx0aGlzLnplcm9FbmFibGVbcl09ITEsdGhpcy5iYWNrZ3JvdW5kRW5hYmxlW3JdPSExKX19LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBvO3JldHVybiByLm1lcmdlKHQsZSkscn19LHsiLi4vLi4vLi4vbGliIjo3MTcsIi4uLy4uLy4uL2xpYi9zdHIycmdiYXJyYXkiOjc0MH1dLDgxMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi8uLi9saWIiKSxhPXQoIi4uLy4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxpPXQoIi4uLy4uLy4uL3JlZ2lzdHJ5Iiksbz10KCIuLi8uLi9zdWJwbG90X2RlZmF1bHRzIikscz10KCIuL2F4aXNfZGVmYXVsdHMiKSxsPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxjPXQoIi4uLy4uL2dldF9kYXRhIikuZ2V0U3VicGxvdERhdGEsdT0iZ2wzZCI7ZnVuY3Rpb24gaCh0LGUscixuKXtmb3IodmFyIG89cigiYmdjb2xvciIpLGw9YS5jb21iaW5lKG8sbi5wYXBlcl9iZ2NvbG9yKSxoPVsidXAiLCJjZW50ZXIiLCJleWUiXSxmPTA7ZjxoLmxlbmd0aDtmKyspcigiY2FtZXJhLiIraFtmXSsiLngiKSxyKCJjYW1lcmEuIitoW2ZdKyIueSIpLHIoImNhbWVyYS4iK2hbZl0rIi56Iik7cigiY2FtZXJhLnByb2plY3Rpb24udHlwZSIpO3ZhciBwPSEhcigiYXNwZWN0cmF0aW8ueCIpJiYhIXIoImFzcGVjdHJhdGlvLnkiKSYmISFyKCJhc3BlY3RyYXRpby56IiksZD1yKCJhc3BlY3Rtb2RlIixwPyJtYW51YWwiOiJhdXRvIik7cHx8KHQuYXNwZWN0cmF0aW89ZS5hc3BlY3RyYXRpbz17eDoxLHk6MSx6OjF9LCJtYW51YWwiPT09ZCYmKGUuYXNwZWN0bW9kZT0iYXV0byIpLHQuYXNwZWN0bW9kZT1lLmFzcGVjdG1vZGUpO3ZhciBnPWMobi5mdWxsRGF0YSx1LG4uaWQpO3ModCxlLHtmb250Om4uZm9udCxzY2VuZTpuLmlkLGRhdGE6ZyxiZ0NvbG9yOmwsY2FsZW5kYXI6bi5jYWxlbmRhcixmdWxsTGF5b3V0Om4uZnVsbExheW91dH0pLGkuZ2V0Q29tcG9uZW50TWV0aG9kKCJhbm5vdGF0aW9uczNkIiwiaGFuZGxlRGVmYXVsdHMiKSh0LGUsbik7dmFyIHY9bi5nZXREZmx0RnJvbUxheW91dCgiZHJhZ21vZGUiKTtpZighMSE9PXYmJiF2KWlmKHY9Im9yYml0Iix0LmNhbWVyYSYmdC5jYW1lcmEudXApe3ZhciBtPXQuY2FtZXJhLnVwLngseT10LmNhbWVyYS51cC55LHg9dC5jYW1lcmEudXAuejswIT09eCYmKG0mJnkmJng/eC9NYXRoLnNxcnQobSptK3kqeSt4KngpPi45OTkmJih2PSJ0dXJudGFibGUiKTp2PSJ0dXJudGFibGUiKX1lbHNlIHY9InR1cm50YWJsZSI7cigiZHJhZ21vZGUiLHYpLHIoImhvdmVybW9kZSIsbi5nZXREZmx0RnJvbUxheW91dCgiaG92ZXJtb2RlIikpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGE9ZS5fYmFzZVBsb3RNb2R1bGVzLmxlbmd0aD4xO28odCxlLHIse3R5cGU6dSxhdHRyaWJ1dGVzOmwsaGFuZGxlRGVmYXVsdHM6aCxmdWxsTGF5b3V0OmUsZm9udDplLmZvbnQsZnVsbERhdGE6cixnZXREZmx0RnJvbUxheW91dDpmdW5jdGlvbihlKXtpZighYSlyZXR1cm4gbi52YWxpZGF0ZSh0W2VdLGxbZV0pP3RbZV06dm9pZCAwfSxwYXBlcl9iZ2NvbG9yOmUucGFwZXJfYmdjb2xvcixjYWxlbmRhcjplLmNhbGVuZGFyfSl9fSx7Ii4uLy4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vLi4vbGliIjo3MTcsIi4uLy4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uLy4uL2dldF9kYXRhIjo4MDAsIi4uLy4uL3N1YnBsb3RfZGVmYXVsdHMiOjg0MCwiLi9heGlzX2RlZmF1bHRzIjo4MDgsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjgxMX1dLDgxMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2F4aXNfYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vZG9tYWluIikuYXR0cmlidXRlcyxpPXQoIi4uLy4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LG89dCgiLi4vLi4vLi4vbGliIikuY291bnRlclJlZ2V4O2Z1bmN0aW9uIHModCxlLHIpe3JldHVybnt4Ont2YWxUeXBlOiJudW1iZXIiLGRmbHQ6dCxlZGl0VHlwZToiY2FtZXJhIn0seTp7dmFsVHlwZToibnVtYmVyIixkZmx0OmUsZWRpdFR5cGU6ImNhbWVyYSJ9LHo6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDpyLGVkaXRUeXBlOiJjYW1lcmEifSxlZGl0VHlwZToiY2FtZXJhIn19ZS5leHBvcnRzPXtfYXJyYXlBdHRyUmVnZXhwczpbbygic2NlbmUiLCIuYW5ub3RhdGlvbnMiLCEwKV0sYmdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6InJnYmEoMCwwLDAsMCkiLGVkaXRUeXBlOiJwbG90In0sY2FtZXJhOnt1cDppKHMoMCwwLDEpLHt9KSxjZW50ZXI6aShzKDAsMCwwKSx7fSksZXllOmkocygxLjI1LDEuMjUsMS4yNSkse30pLHByb2plY3Rpb246e3R5cGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInBlcnNwZWN0aXZlIiwib3J0aG9ncmFwaGljIl0sZGZsdDoicGVyc3BlY3RpdmUiLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FtZXJhIn0sZG9tYWluOmEoe25hbWU6InNjZW5lIixlZGl0VHlwZToicGxvdCJ9KSxhc3BlY3Rtb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhdXRvIiwiY3ViZSIsImRhdGEiLCJtYW51YWwiXSxkZmx0OiJhdXRvIixlZGl0VHlwZToicGxvdCIsaW1wbGllZEVkaXRzOnsiYXNwZWN0cmF0aW8ueCI6dm9pZCAwLCJhc3BlY3RyYXRpby55Ijp2b2lkIDAsImFzcGVjdHJhdGlvLnoiOnZvaWQgMH19LGFzcGVjdHJhdGlvOnt4Ont2YWxUeXBlOiJudW1iZXIiLG1pbjowLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXNwZWN0bW9kZSI6Im1hbnVhbCJ9fSx5Ont2YWxUeXBlOiJudW1iZXIiLG1pbjowLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXNwZWN0bW9kZSI6Im1hbnVhbCJ9fSx6Ont2YWxUeXBlOiJudW1iZXIiLG1pbjowLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXNwZWN0bW9kZSI6Im1hbnVhbCJ9fSxlZGl0VHlwZToicGxvdCIsaW1wbGllZEVkaXRzOnthc3BlY3Rtb2RlOiJtYW51YWwifX0seGF4aXM6bix5YXhpczpuLHpheGlzOm4sZHJhZ21vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbIm9yYml0IiwidHVybnRhYmxlIiwiem9vbSIsInBhbiIsITFdLGVkaXRUeXBlOiJwbG90In0saG92ZXJtb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJjbG9zZXN0IiwhMV0sZGZsdDoiY2xvc2VzdCIsZWRpdFR5cGU6Im1vZGViYXIifSx1aXJldmlzaW9uOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJub25lIn0sZWRpdFR5cGU6InBsb3QiLF9kZXByZWNhdGVkOntjYW1lcmFwb3NpdGlvbjp7dmFsVHlwZToiaW5mb19hcnJheSIsZWRpdFR5cGU6ImNhbWVyYSJ9fX19LHsiLi4vLi4vLi4vbGliIjo3MTcsIi4uLy4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vZG9tYWluIjo3OTAsIi4vYXhpc19hdHRyaWJ1dGVzIjo4MDd9XSw4MTI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vLi4vbGliL3N0cjJyZ2JhcnJheSIpLGE9WyJ4YXhpcyIsInlheGlzIiwiemF4aXMiXTtmdW5jdGlvbiBpKCl7dGhpcy5lbmFibGVkPVshMCwhMCwhMF0sdGhpcy5jb2xvcnM9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmRyYXdTaWRlcz1bITAsITAsITBdLHRoaXMubGluZVdpZHRoPVsxLDEsMV19aS5wcm90b3R5cGUubWVyZ2U9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTwzOysrZSl7dmFyIHI9dFthW2VdXTtyLnZpc2libGU/KHRoaXMuZW5hYmxlZFtlXT1yLnNob3dzcGlrZXMsdGhpcy5jb2xvcnNbZV09bihyLnNwaWtlY29sb3IpLHRoaXMuZHJhd1NpZGVzW2VdPXIuc3Bpa2VzaWRlcyx0aGlzLmxpbmVXaWR0aFtlXT1yLnNwaWtldGhpY2tuZXNzKToodGhpcy5lbmFibGVkW2VdPSExLHRoaXMuZHJhd1NpZGVzW2VdPSExKX19LGUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1uZXcgaTtyZXR1cm4gZS5tZXJnZSh0KSxlfX0seyIuLi8uLi8uLi9saWIvc3RyMnJnYmFycmF5Ijo3NDB9XSw4MTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmF4ZXNPcHRpb25zLHI9dC5nbHBsb3QuYXhlc1BpeGVscyxzPXQuZnVsbFNjZW5lTGF5b3V0LGw9W1tdLFtdLFtdXSxjPTA7YzwzOysrYyl7dmFyIHU9c1tpW2NdXTtpZih1Ll9sZW5ndGg9KHJbY10uaGktcltjXS5sbykqcltjXS5waXhlbHNQZXJEYXRhVW5pdC90LmRhdGFTY2FsZVtjXSxNYXRoLmFicyh1Ll9sZW5ndGgpPT09MS8wfHxpc05hTih1Ll9sZW5ndGgpKWxbY109W107ZWxzZXt1Ll9pbnB1dF9yYW5nZT11LnJhbmdlLnNsaWNlKCksdS5yYW5nZVswXT1yW2NdLmxvL3QuZGF0YVNjYWxlW2NdLHUucmFuZ2VbMV09cltjXS5oaS90LmRhdGFTY2FsZVtjXSx1Ll9tPTEvKHQuZGF0YVNjYWxlW2NdKnJbY10ucGl4ZWxzUGVyRGF0YVVuaXQpLHUucmFuZ2VbMF09PT11LnJhbmdlWzFdJiYodS5yYW5nZVswXS09MSx1LnJhbmdlWzFdKz0xKTt2YXIgaD11LnRpY2ttb2RlO2lmKCJhdXRvIj09PXUudGlja21vZGUpe3UudGlja21vZGU9ImxpbmVhciI7dmFyIGY9dS5udGlja3N8fGEuY29uc3RyYWluKHUuX2xlbmd0aC80MCw0LDkpO24uYXV0b1RpY2tzKHUsTWF0aC5hYnModS5yYW5nZVsxXS11LnJhbmdlWzBdKS9mKX1mb3IodmFyIHA9bi5jYWxjVGlja3ModSksZD0wO2Q8cC5sZW5ndGg7KytkKXBbZF0ueD1wW2RdLngqdC5kYXRhU2NhbGVbY10sImRhdGUiPT09dS50eXBlJiYocFtkXS50ZXh0PXBbZF0udGV4dC5yZXBsYWNlKC9cPGJyXD4vZywiICIpKTtsW2NdPXAsdS50aWNrbW9kZT1ofX1lLnRpY2tzPWw7Zm9yKHZhciBjPTA7YzwzOysrYyl7b1tjXT0uNSoodC5nbHBsb3QuYm91bmRzWzBdW2NdK3QuZ2xwbG90LmJvdW5kc1sxXVtjXSk7Zm9yKHZhciBkPTA7ZDwyOysrZCllLmJvdW5kc1tkXVtjXT10LmdscGxvdC5ib3VuZHNbZF1bY119dC5jb250b3VyTGV2ZWxzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkoMykscj0wO3I8MzsrK3Ipe2Zvcih2YXIgbj10W3JdLGE9bmV3IEFycmF5KG4ubGVuZ3RoKSxpPTA7aTxuLmxlbmd0aDsrK2kpYVtpXT1uW2ldLng7ZVtyXT1hfXJldHVybiBlfShsKX07dmFyIG49dCgiLi4vLi4vY2FydGVzaWFuL2F4ZXMiKSxhPXQoIi4uLy4uLy4uL2xpYiIpLGk9WyJ4YXhpcyIsInlheGlzIiwiemF4aXMiXSxvPVswLDAsMF19LHsiLi4vLi4vLi4vbGliIjo3MTcsIi4uLy4uL2NhcnRlc2lhbi9heGVzIjo3NjV9XSw4MTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe3ZhciByLG4sYT1bMCwwLDAsMF07Zm9yKHI9MDtyPDQ7KytyKWZvcihuPTA7bjw0OysrbilhW25dKz10WzQqcituXSplW3JdO3JldHVybiBhfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBuKHQucHJvamVjdGlvbixuKHQudmlldyxuKHQubW9kZWwsW2VbMF0sZVsxXSxlWzJdLDFdKSkpfX0se31dLDgxNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhLGk9dCgiZ2wtcGxvdDNkIiksbz1pLmNyZWF0ZUNhbWVyYSxzPWkuY3JlYXRlU2NlbmUsbD10KCJ3ZWJnbC1jb250ZXh0IiksYz10KCJoYXMtcGFzc2l2ZS1ldmVudHMiKSx1PXQoIi4uLy4uL3JlZ2lzdHJ5IiksaD10KCIuLi8uLi9saWIiKSxmPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIikscD10KCIuLi8uLi9jb21wb25lbnRzL2Z4IiksZD10KCIuLi8uLi9saWIvc3RyMnJnYmFycmF5IiksZz10KCIuLi8uLi9saWIvc2hvd19ub193ZWJnbF9tc2ciKSx2PXQoIi4vcHJvamVjdCIpLG09dCgiLi9sYXlvdXQvY29udmVydCIpLHk9dCgiLi9sYXlvdXQvc3Bpa2VzIikseD10KCIuL2xheW91dC90aWNrX21hcmtzIiksYj10KCJpcy1tb2JpbGUiKSxfPWZ1bmN0aW9uKCl7aWYoIW5hdmlnYXRvcilyZXR1cm4hMTt2YXIgdDt0fHwidW5kZWZpbmVkIj09dHlwZW9mIG5hdmlnYXRvcnx8KHQ9bmF2aWdhdG9yLnVzZXJBZ2VudCk7dCYmdC5oZWFkZXJzJiYic3RyaW5nIj09dHlwZW9mIHQuaGVhZGVyc1sidXNlci1hZ2VudCJdJiYodD10LmhlYWRlcnNbInVzZXItYWdlbnQiXSk7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiExO3ZhciBlPWIoe3VhOnQsdGFibGV0OiEwfSk7ITE9PT1lJiYtMSE9PXQuaW5kZXhPZigiTWFjaW50b3NoIikmJi0xIT09dC5pbmRleE9mKCJTYWZhcmkiKSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjEmJihlPSEwKTtyZXR1cm4gZX0oKTtmdW5jdGlvbiB3KHQsZSl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbj10LmNvbnRhaW5lcjt0aGlzLmdyYXBoRGl2PXQuZ3JhcGhEaXY7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpO2Euc3R5bGUucG9zaXRpb249ImFic29sdXRlIixhLnN0eWxlLnRvcD1hLnN0eWxlLmxlZnQ9IjBweCIsYS5zdHlsZS53aWR0aD1hLnN0eWxlLmhlaWdodD0iMTAwJSIsYS5zdHlsZVsiei1pbmRleCJdPTIwLGEuc3R5bGVbInBvaW50ZXItZXZlbnRzIl09Im5vbmUiLHIuYXBwZW5kQ2hpbGQoYSksdGhpcy5zdmdDb250YWluZXI9YSxyLmlkPXQuaWQsci5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHIuc3R5bGUudG9wPXIuc3R5bGUubGVmdD0iMHB4IixyLnN0eWxlLndpZHRoPXIuc3R5bGUuaGVpZ2h0PSIxMDAlIixuLmFwcGVuZENoaWxkKHIpLHRoaXMuZnVsbExheW91dD1lLHRoaXMuaWQ9dC5pZHx8InNjZW5lIix0aGlzLmZ1bGxTY2VuZUxheW91dD1lW3RoaXMuaWRdLHRoaXMucGxvdEFyZ3M9W1tdLHt9LHt9XSx0aGlzLmF4ZXNPcHRpb25zPW0oZSxlW3RoaXMuaWRdKSx0aGlzLnNwaWtlT3B0aW9ucz15KGVbdGhpcy5pZF0pLHRoaXMuY29udGFpbmVyPXIsdGhpcy5zdGF0aWNNb2RlPSEhdC5zdGF0aWNQbG90LHRoaXMucGl4ZWxSYXRpbz10aGlzLnBpeGVsUmF0aW98fHQucGxvdEdsUGl4ZWxSYXRpb3x8Mix0aGlzLmRhdGFTY2FsZT1bMSwxLDFdLHRoaXMuY29udG91ckxldmVscz1bW10sW10sW11dLHRoaXMuY29udmVydEFubm90YXRpb25zPXUuZ2V0Q29tcG9uZW50TWV0aG9kKCJhbm5vdGF0aW9uczNkIiwiY29udmVydCIpLHRoaXMuZHJhd0Fubm90YXRpb25zPXUuZ2V0Q29tcG9uZW50TWV0aG9kKCJhbm5vdGF0aW9uczNkIiwiZHJhdyIpLHRoaXMuaW5pdGlhbGl6ZUdMUGxvdCgpfXZhciBrPXcucHJvdG90eXBlO2sudHJ5Q3JlYXRlUGxvdD1mdW5jdGlvbigpe3ZhciB0PXtjYW52YXM6dGhpcy5jYW52YXMsZ2w6dGhpcy5nbCxnbE9wdGlvbnM6e3ByZXNlcnZlRHJhd2luZ0J1ZmZlcjpfLHByZW11bHRpcGxpZWRBbHBoYTohMCxhbnRpYWxpYXM6ITB9LGNvbnRhaW5lcjp0aGlzLmNvbnRhaW5lcixheGVzOnRoaXMuYXhlc09wdGlvbnMsc3Bpa2VzOnRoaXMuc3Bpa2VPcHRpb25zLHBpY2tSYWRpdXM6MTAsc25hcFRvRGF0YTohMCxhdXRvU2NhbGU6ITAsYXV0b0JvdW5kczohMSxjYW1lcmFPYmplY3Q6dGhpcy5jYW1lcmEscGl4ZWxSYXRpbzp0aGlzLnBpeGVsUmF0aW99O2lmKHRoaXMuc3RhdGljTW9kZSl7aWYoIShhfHwobj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxhPWwoe2NhbnZhczpuLHByZXNlcnZlRHJhd2luZ0J1ZmZlcjohMCxwcmVtdWx0aXBsaWVkQWxwaGE6ITAsYW50aWFsaWFzOiEwfSkpKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIGNyZWF0aW5nIHN0YXRpYyBjYW52YXMvY29udGV4dCBmb3IgaW1hZ2Ugc2VydmVyIik7dC5nbD1hLHQuY2FudmFzPW59dmFyIGU9MDt0cnl7dGhpcy5nbHBsb3Q9cyh0KX1jYXRjaChyKXtlKys7dHJ5e3RoaXMuZ2xwbG90PXModCl9Y2F0Y2godCl7ZSsrfX1yZXR1cm4gZTwyfSxrLmluaXRpYWxpemVHTENhbWVyYT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZnVsbFNjZW5lTGF5b3V0LmNhbWVyYSxlPSJvcnRob2dyYXBoaWMiPT09dC5wcm9qZWN0aW9uLnR5cGU7dGhpcy5jYW1lcmE9byh0aGlzLmNvbnRhaW5lcix7Y2VudGVyOlt0LmNlbnRlci54LHQuY2VudGVyLnksdC5jZW50ZXIuel0sZXllOlt0LmV5ZS54LHQuZXllLnksdC5leWUuel0sdXA6W3QudXAueCx0LnVwLnksdC51cC56XSxfb3J0aG86ZSx6b29tTWluOi4wMSx6b29tTWF4OjEwMCxtb2RlOiJvcmJpdCJ9KX0say5pbml0aWFsaXplR0xQbG90PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0LmluaXRpYWxpemVHTENhbWVyYSgpLCF0LnRyeUNyZWF0ZVBsb3QoKSlyZXR1cm4gZyh0KTt0LnRyYWNlcz17fSx0Lm1ha2U0dGhEaW1lbnNpb24oKTt2YXIgZT10LmdyYXBoRGl2LHI9ZS5sYXlvdXQsbj1mdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiB0LmlzQ2FtZXJhQ2hhbmdlZChyKSYmKGVbdC5pZCsiLmNhbWVyYSJdPXQuZ2V0Q2FtZXJhKCkpLHQuaXNBc3BlY3RDaGFuZ2VkKHIpJiYoZVt0LmlkKyIuYXNwZWN0cmF0aW8iXT10LmdscGxvdC5nZXRBc3BlY3RyYXRpbygpKSxlfSxhPWZ1bmN0aW9uKHQpe2lmKCExIT09dC5mdWxsU2NlbmVMYXlvdXQuZHJhZ21vZGUpe3ZhciBlPW4oKTt0LnNhdmVMYXlvdXQociksdC5ncmFwaERpdi5lbWl0KCJwbG90bHlfcmVsYXlvdXQiLGUpfX07cmV0dXJuIHQuZ2xwbG90LmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixmdW5jdGlvbigpe2EodCl9KSx0LmdscGxvdC5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLGZ1bmN0aW9uKHIpe2lmKGUuX2NvbnRleHQuX3Njcm9sbFpvb20uZ2wzZCl7aWYodC5jYW1lcmEuX29ydGhvKXt2YXIgbj1yLmRlbHRhWD5yLmRlbHRhWT8xLjE6MS8xLjEsaT10LmdscGxvdC5nZXRBc3BlY3RyYXRpbygpO3QuZ2xwbG90LnNldEFzcGVjdHJhdGlvKHt4Om4qaS54LHk6bippLnksejpuKmkuen0pfWEodCl9fSwhIWMmJntwYXNzaXZlOiExfSksdC5nbHBsb3QuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZnVuY3Rpb24oKXtpZighMSE9PXQuZnVsbFNjZW5lTGF5b3V0LmRyYWdtb2RlJiYwIT09dC5jYW1lcmEubW91c2VMaXN0ZW5lci5idXR0b25zKXt2YXIgZT1uKCk7dC5ncmFwaERpdi5lbWl0KCJwbG90bHlfcmVsYXlvdXRpbmciLGUpfX0pLHQuc3RhdGljTW9kZXx8dC5nbHBsb3QuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLGZ1bmN0aW9uKHIpe2UmJmUuZW1pdCYmZS5lbWl0KCJwbG90bHlfd2ViZ2xjb250ZXh0bG9zdCIse2V2ZW50OnIsbGF5ZXI6dC5pZH0pfSwhMSksdC5nbHBsb3Qub25jb250ZXh0bG9zcz1mdW5jdGlvbigpe3QucmVjb3ZlckNvbnRleHQoKX0sdC5nbHBsb3Qub25yZW5kZXI9ZnVuY3Rpb24oKXt0LnJlbmRlcigpfSwhMH0say5yZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMscj1lLmdyYXBoRGl2LG49ZS5zdmdDb250YWluZXIsYT1lLmNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWEud2lkdGgsbz1hLmhlaWdodDtuLnNldEF0dHJpYnV0ZU5TKG51bGwsInZpZXdCb3giLCIwIDAgIitpKyIgIitvKSxuLnNldEF0dHJpYnV0ZU5TKG51bGwsIndpZHRoIixpKSxuLnNldEF0dHJpYnV0ZU5TKG51bGwsImhlaWdodCIsbykseChlKSxlLmdscGxvdC5heGVzLnVwZGF0ZShlLmF4ZXNPcHRpb25zKTtmb3IodmFyIHMsbD1PYmplY3Qua2V5cyhlLnRyYWNlcyksYz1udWxsLHU9ZS5nbHBsb3Quc2VsZWN0aW9uLGQ9MDtkPGwubGVuZ3RoOysrZCkic2tpcCIhPT0odD1lLnRyYWNlc1tsW2RdXSkuZGF0YS5ob3ZlcmluZm8mJnQuaGFuZGxlUGljayh1KSYmKGM9dCksdC5zZXRDb250b3VyTGV2ZWxzJiZ0LnNldENvbnRvdXJMZXZlbHMoKTtmdW5jdGlvbiBnKHQscil7dmFyIG49ZS5mdWxsU2NlbmVMYXlvdXRbdF07cmV0dXJuIGYudGlja1RleHQobixuLmQybChyKSwiaG92ZXIiKS50ZXh0fWlmKG51bGwhPT1jKXt2YXIgbT12KGUuZ2xwbG90LmNhbWVyYVBhcmFtcyx1LmRhdGFDb29yZGluYXRlKTt0PWMuZGF0YTt2YXIgeSxiPXIuX2Z1bGxEYXRhW3QuaW5kZXhdLF89dS5pbmRleCx3PXt4TGFiZWw6ZygieGF4aXMiLHUudHJhY2VDb29yZGluYXRlWzBdKSx5TGFiZWw6ZygieWF4aXMiLHUudHJhY2VDb29yZGluYXRlWzFdKSx6TGFiZWw6ZygiemF4aXMiLHUudHJhY2VDb29yZGluYXRlWzJdKX0saz1wLmNhc3RIb3ZlcmluZm8oYixlLmZ1bGxMYXlvdXQsXyksVD0oa3x8IiIpLnNwbGl0KCIrIiksTT1rJiYiYWxsIj09PWs7Yi5ob3ZlcnRlbXBsYXRlfHxNfHwoLTE9PT1ULmluZGV4T2YoIngiKSYmKHcueExhYmVsPXZvaWQgMCksLTE9PT1ULmluZGV4T2YoInkiKSYmKHcueUxhYmVsPXZvaWQgMCksLTE9PT1ULmluZGV4T2YoInoiKSYmKHcuekxhYmVsPXZvaWQgMCksLTE9PT1ULmluZGV4T2YoInRleHQiKSYmKHUudGV4dExhYmVsPXZvaWQgMCksLTE9PT1ULmluZGV4T2YoIm5hbWUiKSYmKGMubmFtZT12b2lkIDApKTt2YXIgQT1bXTsiY29uZSI9PT10LnR5cGV8fCJzdHJlYW10dWJlIj09PXQudHlwZT8ody51TGFiZWw9ZygieGF4aXMiLHUudHJhY2VDb29yZGluYXRlWzNdKSwoTXx8LTEhPT1ULmluZGV4T2YoInUiKSkmJkEucHVzaCgidTogIit3LnVMYWJlbCksdy52TGFiZWw9ZygieWF4aXMiLHUudHJhY2VDb29yZGluYXRlWzRdKSwoTXx8LTEhPT1ULmluZGV4T2YoInYiKSkmJkEucHVzaCgidjogIit3LnZMYWJlbCksdy53TGFiZWw9ZygiemF4aXMiLHUudHJhY2VDb29yZGluYXRlWzVdKSwoTXx8LTEhPT1ULmluZGV4T2YoInciKSkmJkEucHVzaCgidzogIit3LndMYWJlbCksdy5ub3JtTGFiZWw9dS50cmFjZUNvb3JkaW5hdGVbNl0udG9QcmVjaXNpb24oMyksKE18fC0xIT09VC5pbmRleE9mKCJub3JtIikpJiZBLnB1c2goIm5vcm06ICIrdy5ub3JtTGFiZWwpLCJzdHJlYW10dWJlIj09PXQudHlwZSYmKHcuZGl2ZXJnZW5jZUxhYmVsPXUudHJhY2VDb29yZGluYXRlWzddLnRvUHJlY2lzaW9uKDMpLChNfHwtMSE9PVQuaW5kZXhPZigiZGl2ZXJnZW5jZSIpKSYmQS5wdXNoKCJkaXZlcmdlbmNlOiAiK3cuZGl2ZXJnZW5jZUxhYmVsKSksdS50ZXh0TGFiZWwmJkEucHVzaCh1LnRleHRMYWJlbCkseT1BLmpvaW4oIjxicj4iKSk6Imlzb3N1cmZhY2UiPT09dC50eXBlfHwidm9sdW1lIj09PXQudHlwZT8ody52YWx1ZUxhYmVsPWYudGlja1RleHQoZS5fbW9ja0F4aXMsZS5fbW9ja0F4aXMuZDJsKHUudHJhY2VDb29yZGluYXRlWzNdKSwiaG92ZXIiKS50ZXh0LEEucHVzaCgidmFsdWU6ICIrdy52YWx1ZUxhYmVsKSx1LnRleHRMYWJlbCYmQS5wdXNoKHUudGV4dExhYmVsKSx5PUEuam9pbigiPGJyPiIpKTp5PXUudGV4dExhYmVsO3ZhciBTPXt4OnUudHJhY2VDb29yZGluYXRlWzBdLHk6dS50cmFjZUNvb3JkaW5hdGVbMV0sejp1LnRyYWNlQ29vcmRpbmF0ZVsyXSxkYXRhOmIuX2lucHV0LGZ1bGxEYXRhOmIsY3VydmVOdW1iZXI6Yi5pbmRleCxwb2ludE51bWJlcjpffTtwLmFwcGVuZEFycmF5UG9pbnRWYWx1ZShTLGIsXyksdC5fbW9kdWxlLmV2ZW50RGF0YSYmKFM9Yi5fbW9kdWxlLmV2ZW50RGF0YShTLHUsYix7fSxfKSk7dmFyIEU9e3BvaW50czpbU119O2UuZnVsbFNjZW5lTGF5b3V0LmhvdmVybW9kZSYmcC5sb25lSG92ZXIoe3RyYWNlOmIseDooLjUrLjUqbVswXS9tWzNdKSppLHk6KC41LS41Km1bMV0vbVszXSkqbyx4TGFiZWw6dy54TGFiZWwseUxhYmVsOncueUxhYmVsLHpMYWJlbDp3LnpMYWJlbCx0ZXh0OnksbmFtZTpjLm5hbWUsY29sb3I6cC5jYXN0SG92ZXJPcHRpb24oYixfLCJiZ2NvbG9yIil8fGMuY29sb3IsYm9yZGVyQ29sb3I6cC5jYXN0SG92ZXJPcHRpb24oYixfLCJib3JkZXJjb2xvciIpLGZvbnRGYW1pbHk6cC5jYXN0SG92ZXJPcHRpb24oYixfLCJmb250LmZhbWlseSIpLGZvbnRTaXplOnAuY2FzdEhvdmVyT3B0aW9uKGIsXywiZm9udC5zaXplIiksZm9udENvbG9yOnAuY2FzdEhvdmVyT3B0aW9uKGIsXywiZm9udC5jb2xvciIpLG5hbWVMZW5ndGg6cC5jYXN0SG92ZXJPcHRpb24oYixfLCJuYW1lbGVuZ3RoIiksdGV4dEFsaWduOnAuY2FzdEhvdmVyT3B0aW9uKGIsXywiYWxpZ24iKSxob3ZlcnRlbXBsYXRlOmguY2FzdE9wdGlvbihiLF8sImhvdmVydGVtcGxhdGUiKSxob3ZlcnRlbXBsYXRlTGFiZWxzOmguZXh0ZW5kRmxhdCh7fSxTLHcpLGV2ZW50RGF0YTpbU119LHtjb250YWluZXI6bixnZDpyfSksdS5idXR0b25zJiZ1LmRpc3RhbmNlPDU/ci5lbWl0KCJwbG90bHlfY2xpY2siLEUpOnIuZW1pdCgicGxvdGx5X2hvdmVyIixFKSxzPUV9ZWxzZSBwLmxvbmVVbmhvdmVyKG4pLHIuZW1pdCgicGxvdGx5X3VuaG92ZXIiLHMpO2UuZHJhd0Fubm90YXRpb25zKGUpfSxrLnJlY292ZXJDb250ZXh0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0LmdscGxvdC5kaXNwb3NlKCk7dmFyIGU9ZnVuY3Rpb24oKXt0LmdscGxvdC5nbC5pc0NvbnRleHRMb3N0KCk/cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpOnQuaW5pdGlhbGl6ZUdMUGxvdCgpP3QucGxvdC5hcHBseSh0LHQucGxvdEFyZ3MpOmguZXJyb3IoIkNhdGFzdHJvcGhpYyBhbmQgdW5yZWNvdmVyYWJsZSBXZWJHTCBlcnJvci4gQ29udGV4dCBsb3N0LiIpfTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9O3ZhciBUPVsieGF4aXMiLCJ5YXhpcyIsInpheGlzIl07ZnVuY3Rpb24gTSh0LGUscil7Zm9yKHZhciBuPXQuZnVsbFNjZW5lTGF5b3V0LGE9MDthPDM7YSsrKXt2YXIgaT1UW2FdLG89aS5jaGFyQXQoMCkscz1uW2ldLGw9ZVtvXSxjPWVbbysiY2FsZW5kYXIiXSx1PWVbIl8iK28rImxlbmd0aCJdO2lmKGguaXNBcnJheU9yVHlwZWRBcnJheShsKSlmb3IodmFyIGYscD0wO3A8KHV8fGwubGVuZ3RoKTtwKyspaWYoaC5pc0FycmF5T3JUeXBlZEFycmF5KGxbcF0pKWZvcih2YXIgZD0wO2Q8bFtwXS5sZW5ndGg7KytkKWY9cy5kMmwobFtwXVtkXSwwLGMpLCFpc05hTihmKSYmaXNGaW5pdGUoZikmJihyWzBdW2FdPU1hdGgubWluKHJbMF1bYV0sZiksclsxXVthXT1NYXRoLm1heChyWzFdW2FdLGYpKTtlbHNlIGY9cy5kMmwobFtwXSwwLGMpLCFpc05hTihmKSYmaXNGaW5pdGUoZikmJihyWzBdW2FdPU1hdGgubWluKHJbMF1bYV0sZiksclsxXVthXT1NYXRoLm1heChyWzFdW2FdLGYpKTtlbHNlIHJbMF1bYV09TWF0aC5taW4oclswXVthXSwwKSxyWzFdW2FdPU1hdGgubWF4KHJbMV1bYV0sdS0xKX19ay5wbG90PWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLnBsb3RBcmdzPVt0LGUscl0sIXRoaXMuZ2xwbG90LmNvbnRleHRMb3N0KXt2YXIgbixhLGksbyxzLGwsYz1lW3RoaXMuaWRdLHU9clt0aGlzLmlkXTt0aGlzLmZ1bGxMYXlvdXQ9ZSx0aGlzLmZ1bGxTY2VuZUxheW91dD1jLHRoaXMuYXhlc09wdGlvbnMubWVyZ2UoZSxjKSx0aGlzLnNwaWtlT3B0aW9ucy5tZXJnZShjKSx0aGlzLnNldFZpZXdwb3J0KGMpLHRoaXMudXBkYXRlRngoYy5kcmFnbW9kZSxjLmhvdmVybW9kZSksdGhpcy5jYW1lcmEuZW5hYmxlV2hlZWw9dGhpcy5ncmFwaERpdi5fY29udGV4dC5fc2Nyb2xsWm9vbS5nbDNkLHRoaXMuZ2xwbG90LnNldENsZWFyQ29sb3IoZChjLmJnY29sb3IpKSx0aGlzLnNldENvbnZlcnQocyksdD9BcnJheS5pc0FycmF5KHQpfHwodD1bdF0pOnQ9W107dmFyIGg9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV07Zm9yKGk9MDtpPHQubGVuZ3RoOysraSkhMD09PShuPXRbaV0pLnZpc2libGUmJjAhPT1uLl9sZW5ndGgmJk0odGhpcyxuLGgpOyFmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmZ1bGxTY2VuZUxheW91dCxuPXIuYW5ub3RhdGlvbnN8fFtdLGE9MDthPDM7YSsrKWZvcih2YXIgaT1UW2FdLG89aS5jaGFyQXQoMCkscz1yW2ldLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGM9bltsXTtpZihjLnZpc2libGUpe3ZhciB1PXMucjJsKGNbb10pOyFpc05hTih1KSYmaXNGaW5pdGUodSkmJihlWzBdW2FdPU1hdGgubWluKGVbMF1bYV0sdSksZVsxXVthXT1NYXRoLm1heChlWzFdW2FdLHUpKX19fSh0aGlzLGgpO3ZhciBmPVsxLDEsMV07Zm9yKG89MDtvPDM7KytvKWhbMV1bb109PT1oWzBdW29dP2Zbb109MTpmW29dPTEvKGhbMV1bb10taFswXVtvXSk7Zm9yKHRoaXMuZGF0YVNjYWxlPWYsdGhpcy5jb252ZXJ0QW5ub3RhdGlvbnModGhpcyksaT0wO2k8dC5sZW5ndGg7KytpKSEwPT09KG49dFtpXSkudmlzaWJsZSYmMCE9PW4uX2xlbmd0aCYmKChhPXRoaXMudHJhY2VzW24udWlkXSk/YS5kYXRhLnR5cGU9PT1uLnR5cGU/YS51cGRhdGUobik6KGEuZGlzcG9zZSgpLGE9bi5fbW9kdWxlLnBsb3QodGhpcyxuKSx0aGlzLnRyYWNlc1tuLnVpZF09YSk6KGE9bi5fbW9kdWxlLnBsb3QodGhpcyxuKSx0aGlzLnRyYWNlc1tuLnVpZF09YSksYS5uYW1lPW4ubmFtZSk7dmFyIHA9T2JqZWN0LmtleXModGhpcy50cmFjZXMpO3Q6Zm9yKGk9MDtpPHAubGVuZ3RoOysraSl7Zm9yKG89MDtvPHQubGVuZ3RoOysrbylpZih0W29dLnVpZD09PXBbaV0mJiEwPT09dFtvXS52aXNpYmxlJiYwIT09dFtvXS5fbGVuZ3RoKWNvbnRpbnVlIHQ7KGE9dGhpcy50cmFjZXNbcFtpXV0pLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy50cmFjZXNbcFtpXV19dGhpcy5nbHBsb3Qub2JqZWN0cy5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX3RyYWNlLmRhdGEuaW5kZXgtZS5fdHJhY2UuZGF0YS5pbmRleH0pO3ZhciBnPVtbMCwwLDBdLFswLDAsMF1dLHY9W10sbT17fTtmb3IoaT0wO2k8MzsrK2kpe2lmKChsPShzPWNbVFtpXV0pLnR5cGUpaW4gbT8obVtsXS5hY2MqPWZbaV0sbVtsXS5jb3VudCs9MSk6bVtsXT17YWNjOmZbaV0sY291bnQ6MX0scy5hdXRvcmFuZ2Upe2dbMF1baV09MS8wLGdbMV1baV09LTEvMDt2YXIgeT10aGlzLmdscGxvdC5vYmplY3RzLHg9dGhpcy5mdWxsU2NlbmVMYXlvdXQuYW5ub3RhdGlvbnN8fFtdLGI9cy5fbmFtZS5jaGFyQXQoMCk7Zm9yKG89MDtvPHkubGVuZ3RoO28rKyl7dmFyIF89eVtvXSx3PV8uYm91bmRzLGs9Xy5fdHJhY2UuZGF0YS5fcGFkfHwwOyJFcnJvckJhcnMiPT09Xy5jb25zdHJ1Y3Rvci5uYW1lJiZzLl9sb3dlckxvZ0Vycm9yQm91bmQ/Z1swXVtpXT1NYXRoLm1pbihnWzBdW2ldLHMuX2xvd2VyTG9nRXJyb3JCb3VuZCk6Z1swXVtpXT1NYXRoLm1pbihnWzBdW2ldLHdbMF1baV0vZltpXS1rKSxnWzFdW2ldPU1hdGgubWF4KGdbMV1baV0sd1sxXVtpXS9mW2ldK2spfWZvcihvPTA7bzx4Lmxlbmd0aDtvKyspe3ZhciBBPXhbb107aWYoQS52aXNpYmxlKXt2YXIgUz1zLnIybChBW2JdKTtnWzBdW2ldPU1hdGgubWluKGdbMF1baV0sUyksZ1sxXVtpXT1NYXRoLm1heChnWzFdW2ldLFMpfX1pZigicmFuZ2Vtb2RlImluIHMmJiJ0b3plcm8iPT09cy5yYW5nZW1vZGUmJihnWzBdW2ldPU1hdGgubWluKGdbMF1baV0sMCksZ1sxXVtpXT1NYXRoLm1heChnWzFdW2ldLDApKSxnWzBdW2ldPmdbMV1baV0pZ1swXVtpXT0tMSxnWzFdW2ldPTE7ZWxzZXt2YXIgRT1nWzFdW2ldLWdbMF1baV07Z1swXVtpXS09RS8zMixnWzFdW2ldKz1FLzMyfWlmKCJyZXZlcnNlZCI9PT1zLmF1dG9yYW5nZSl7dmFyIEw9Z1swXVtpXTtnWzBdW2ldPWdbMV1baV0sZ1sxXVtpXT1MfX1lbHNle3ZhciBDPXMucmFuZ2U7Z1swXVtpXT1zLnIybChDWzBdKSxnWzFdW2ldPXMucjJsKENbMV0pfWdbMF1baV09PT1nWzFdW2ldJiYoZ1swXVtpXS09MSxnWzFdW2ldKz0xKSx2W2ldPWdbMV1baV0tZ1swXVtpXSx0aGlzLmdscGxvdC5zZXRCb3VuZHMoaSx7bWluOmdbMF1baV0qZltpXSxtYXg6Z1sxXVtpXSpmW2ldfSl9dmFyIFA9WzEsMSwxXTtmb3IoaT0wO2k8MzsrK2kpe3ZhciBPPW1bbD0ocz1jW1RbaV1dKS50eXBlXTtQW2ldPU1hdGgucG93KE8uYWNjLDEvTy5jb3VudCkvZltpXX12YXIgejtpZigiYXV0byI9PT1jLmFzcGVjdG1vZGUpej1NYXRoLm1heC5hcHBseShudWxsLFApL01hdGgubWluLmFwcGx5KG51bGwsUCk8PTQ/UDpbMSwxLDFdO2Vsc2UgaWYoImN1YmUiPT09Yy5hc3BlY3Rtb2RlKXo9WzEsMSwxXTtlbHNlIGlmKCJkYXRhIj09PWMuYXNwZWN0bW9kZSl6PVA7ZWxzZXtpZigibWFudWFsIiE9PWMuYXNwZWN0bW9kZSl0aHJvdyBuZXcgRXJyb3IoInNjZW5lLmpzIGFzcGVjdFJhdGlvIHdhcyBub3Qgb25lIG9mIHRoZSBlbnVtZXJhdGVkIHR5cGVzIik7dmFyIEk9Yy5hc3BlY3RyYXRpbzt6PVtJLngsSS55LEkuel19Yy5hc3BlY3RyYXRpby54PXUuYXNwZWN0cmF0aW8ueD16WzBdLGMuYXNwZWN0cmF0aW8ueT11LmFzcGVjdHJhdGlvLnk9elsxXSxjLmFzcGVjdHJhdGlvLno9dS5hc3BlY3RyYXRpby56PXpbMl0sdGhpcy5nbHBsb3Quc2V0QXNwZWN0cmF0aW8oYy5hc3BlY3RyYXRpbyksdGhpcy52aWV3SW5pdGlhbC5hc3BlY3RyYXRpb3x8KHRoaXMudmlld0luaXRpYWwuYXNwZWN0cmF0aW89e3g6Yy5hc3BlY3RyYXRpby54LHk6Yy5hc3BlY3RyYXRpby55LHo6Yy5hc3BlY3RyYXRpby56fSk7dmFyIEQ9Yy5kb21haW58fG51bGwsUj1lLl9zaXplfHxudWxsO2lmKEQmJlIpe3ZhciBGPXRoaXMuY29udGFpbmVyLnN0eWxlO0YucG9zaXRpb249ImFic29sdXRlIixGLmxlZnQ9Ui5sK0QueFswXSpSLncrInB4IixGLnRvcD1SLnQrKDEtRC55WzFdKSpSLmgrInB4IixGLndpZHRoPVIudyooRC54WzFdLUQueFswXSkrInB4IixGLmhlaWdodD1SLmgqKEQueVsxXS1ELnlbMF0pKyJweCJ9dGhpcy5nbHBsb3QucmVkcmF3KCl9fSxrLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmdscGxvdCYmKHRoaXMuY2FtZXJhLm1vdXNlTGlzdGVuZXIuZW5hYmxlZD0hMSx0aGlzLmNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5jYW1lcmEud2hlZWxMaXN0ZW5lciksdGhpcy5jYW1lcmE9bnVsbCx0aGlzLmdscGxvdC5kaXNwb3NlKCksdGhpcy5jb250YWluZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lciksdGhpcy5nbHBsb3Q9bnVsbCl9LGsuZ2V0Q2FtZXJhPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHRoaXMuY2FtZXJhLnZpZXcucmVjYWxjTWF0cml4KHRoaXMuY2FtZXJhLnZpZXcubGFzdFQoKSkse3VwOnt4Oih0PXRoaXMuY2FtZXJhKS51cFswXSx5OnQudXBbMV0sejp0LnVwWzJdfSxjZW50ZXI6e3g6dC5jZW50ZXJbMF0seTp0LmNlbnRlclsxXSx6OnQuY2VudGVyWzJdfSxleWU6e3g6dC5leWVbMF0seTp0LmV5ZVsxXSx6OnQuZXllWzJdfSxwcm9qZWN0aW9uOnt0eXBlOiEwPT09dC5fb3J0aG8/Im9ydGhvZ3JhcGhpYyI6InBlcnNwZWN0aXZlIn19fSxrLnNldFZpZXdwb3J0PWZ1bmN0aW9uKHQpe3ZhciBlLHI9dC5jYW1lcmE7dGhpcy5jYW1lcmEubG9va0F0LmFwcGx5KHRoaXMsW1soZT1yKS5leWUueCxlLmV5ZS55LGUuZXllLnpdLFtlLmNlbnRlci54LGUuY2VudGVyLnksZS5jZW50ZXIuel0sW2UudXAueCxlLnVwLnksZS51cC56XV0pLHRoaXMuZ2xwbG90LnNldEFzcGVjdHJhdGlvKHQuYXNwZWN0cmF0aW8pLCJvcnRob2dyYXBoaWMiPT09ci5wcm9qZWN0aW9uLnR5cGUhPT10aGlzLmNhbWVyYS5fb3J0aG8mJih0aGlzLmdscGxvdC5yZWRyYXcoKSx0aGlzLmdscGxvdC5jbGVhclJHQkEoKSx0aGlzLmdscGxvdC5kaXNwb3NlKCksdGhpcy5pbml0aWFsaXplR0xQbG90KCkpfSxrLmlzQ2FtZXJhQ2hhbmdlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldENhbWVyYSgpLHI9aC5uZXN0ZWRQcm9wZXJ0eSh0LHRoaXMuaWQrIi5jYW1lcmEiKS5nZXQoKTtmdW5jdGlvbiBuKHQsZSxyLG4pe3ZhciBhPVsidXAiLCJjZW50ZXIiLCJleWUiXSxpPVsieCIsInkiLCJ6Il07cmV0dXJuIGVbYVtyXV0mJnRbYVtyXV1baVtuXV09PT1lW2Fbcl1dW2lbbl1dfXZhciBhPSExO2lmKHZvaWQgMD09PXIpYT0hMDtlbHNle2Zvcih2YXIgaT0wO2k8MztpKyspZm9yKHZhciBvPTA7bzwzO28rKylpZighbihlLHIsaSxvKSl7YT0hMDticmVha30oIXIucHJvamVjdGlvbnx8ZS5wcm9qZWN0aW9uJiZlLnByb2plY3Rpb24udHlwZSE9PXIucHJvamVjdGlvbi50eXBlKSYmKGE9ITApfXJldHVybiBhfSxrLmlzQXNwZWN0Q2hhbmdlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdscGxvdC5nZXRBc3BlY3RyYXRpbygpLHI9aC5uZXN0ZWRQcm9wZXJ0eSh0LHRoaXMuaWQrIi5hc3BlY3RyYXRpbyIpLmdldCgpO3JldHVybiB2b2lkIDA9PT1yfHxyLnghPT1lLnh8fHIueSE9PWUueXx8ci56IT09ZS56fSxrLnNhdmVMYXlvdXQ9ZnVuY3Rpb24odCl7dmFyIGUscixuLGEsaSxvLHM9dGhpcy5mdWxsTGF5b3V0LGw9dGhpcy5pc0NhbWVyYUNoYW5nZWQodCksYz10aGlzLmlzQXNwZWN0Q2hhbmdlZCh0KSxmPWx8fGM7aWYoZil7dmFyIHA9e307aWYobCYmKGU9dGhpcy5nZXRDYW1lcmEoKSxuPShyPWgubmVzdGVkUHJvcGVydHkodCx0aGlzLmlkKyIuY2FtZXJhIikpLmdldCgpLHBbdGhpcy5pZCsiLmNhbWVyYSJdPW4pLGMmJihhPXRoaXMuZ2xwbG90LmdldEFzcGVjdHJhdGlvKCksbz0oaT1oLm5lc3RlZFByb3BlcnR5KHQsdGhpcy5pZCsiLmFzcGVjdHJhdGlvIikpLmdldCgpLHBbdGhpcy5pZCsiLmFzcGVjdHJhdGlvIl09byksdS5jYWxsKCJfc3RvcmVEaXJlY3RHVUlFZGl0Iix0LHMuX3ByZUdVSSxwKSxsKXIuc2V0KGUpLGgubmVzdGVkUHJvcGVydHkocyx0aGlzLmlkKyIuY2FtZXJhIikuc2V0KGUpO2lmKGMpaS5zZXQoYSksaC5uZXN0ZWRQcm9wZXJ0eShzLHRoaXMuaWQrIi5hc3BlY3RyYXRpbyIpLnNldChhKSx0aGlzLmdscGxvdC5yZWRyYXcoKX1yZXR1cm4gZn0say51cGRhdGVGeD1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuY2FtZXJhO2lmKHIpaWYoIm9yYml0Ij09PXQpci5tb2RlPSJvcmJpdCIsci5rZXlCaW5kaW5nTW9kZT0icm90YXRlIjtlbHNlIGlmKCJ0dXJudGFibGUiPT09dCl7ci51cD1bMCwwLDFdLHIubW9kZT0idHVybnRhYmxlIixyLmtleUJpbmRpbmdNb2RlPSJyb3RhdGUiO3ZhciBuPXRoaXMuZ3JhcGhEaXYsYT1uLl9mdWxsTGF5b3V0LGk9dGhpcy5mdWxsU2NlbmVMYXlvdXQuY2FtZXJhLG89aS51cC54LHM9aS51cC55LGw9aS51cC56O2lmKGwvTWF0aC5zcXJ0KG8qbytzKnMrbCpsKTwuOTk5KXt2YXIgYz10aGlzLmlkKyIuY2FtZXJhLnVwIixmPXt4OjAseTowLHo6MX0scD17fTtwW2NdPWY7dmFyIGQ9bi5sYXlvdXQ7dS5jYWxsKCJfc3RvcmVEaXJlY3RHVUlFZGl0IixkLGEuX3ByZUdVSSxwKSxpLnVwPWYsaC5uZXN0ZWRQcm9wZXJ0eShkLGMpLnNldChmKX19ZWxzZSByLmtleUJpbmRpbmdNb2RlPXQ7dGhpcy5mdWxsU2NlbmVMYXlvdXQuaG92ZXJtb2RlPWV9LGsudG9JbWFnZT1mdW5jdGlvbih0KXt0fHwodD0icG5nIiksdGhpcy5zdGF0aWNNb2RlJiZ0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChuKSx0aGlzLmdscGxvdC5yZWRyYXcoKTt2YXIgZT10aGlzLmdscGxvdC5nbCxyPWUuZHJhd2luZ0J1ZmZlcldpZHRoLGE9ZS5kcmF3aW5nQnVmZmVySGVpZ2h0O2UuYmluZEZyYW1lYnVmZmVyKGUuRlJBTUVCVUZGRVIsbnVsbCk7dmFyIGk9bmV3IFVpbnQ4QXJyYXkociphKjQpO2UucmVhZFBpeGVscygwLDAscixhLGUuUkdCQSxlLlVOU0lHTkVEX0JZVEUsaSk7Zm9yKHZhciBvPTAscz1hLTE7bzxzOysrbywtLXMpZm9yKHZhciBsPTA7bDxyOysrbClmb3IodmFyIGM9MDtjPDQ7KytjKXt2YXIgdT1pWzQqKHIqbytsKStjXTtpWzQqKHIqbytsKStjXT1pWzQqKHIqcytsKStjXSxpWzQqKHIqcytsKStjXT11fXZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2gud2lkdGg9cixoLmhlaWdodD1hO3ZhciBmLHA9aC5nZXRDb250ZXh0KCIyZCIpLGQ9cC5jcmVhdGVJbWFnZURhdGEocixhKTtzd2l0Y2goZC5kYXRhLnNldChpKSxwLnB1dEltYWdlRGF0YShkLDAsMCksdCl7Y2FzZSJqcGVnIjpmPWgudG9EYXRhVVJMKCJpbWFnZS9qcGVnIik7YnJlYWs7Y2FzZSJ3ZWJwIjpmPWgudG9EYXRhVVJMKCJpbWFnZS93ZWJwIik7YnJlYWs7ZGVmYXVsdDpmPWgudG9EYXRhVVJMKCJpbWFnZS9wbmciKX1yZXR1cm4gdGhpcy5zdGF0aWNNb2RlJiZ0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZChuKSxmfSxrLnNldENvbnZlcnQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDM7dCsrKXt2YXIgZT10aGlzLmZ1bGxTY2VuZUxheW91dFtUW3RdXTtmLnNldENvbnZlcnQoZSx0aGlzLmZ1bGxMYXlvdXQpLGUuc2V0U2NhbGU9aC5ub29wfX0say5tYWtlNHRoRGltZW5zaW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5ncmFwaERpdi5fZnVsbExheW91dDt0aGlzLl9tb2NrQXhpcz17dHlwZToibGluZWFyIixzaG93ZXhwb25lbnQ6ImFsbCIsZXhwb25lbnRmb3JtYXQ6IkIifSxmLnNldENvbnZlcnQodGhpcy5fbW9ja0F4aXMsdCl9LGUuZXhwb3J0cz13fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zaG93X25vX3dlYmdsX21zZyI6NzM4LCIuLi8uLi9saWIvc3RyMnJnYmFycmF5Ijo3NDAsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vbGF5b3V0L2NvbnZlcnQiOjgwOSwiLi9sYXlvdXQvc3Bpa2VzIjo4MTIsIi4vbGF5b3V0L3RpY2tfbWFya3MiOjgxMywiLi9wcm9qZWN0Ijo4MTQsImdsLXBsb3QzZCI6MjkzLCJoYXMtcGFzc2l2ZS1ldmVudHMiOjQxMywiaXMtbW9iaWxlIjo0MjIsIndlYmdsLWNvbnRleHQiOjU1NX1dLDgxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7bj1ufHx0Lmxlbmd0aDtmb3IodmFyIGE9bmV3IEFycmF5KG4pLGk9MDtpPG47aSsrKWFbaV09W3RbaV0sZVtpXSxyW2ldXTtyZXR1cm4gYX19LHt9XSw4MTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9mb250X2F0dHJpYnV0ZXMiKSxhPXQoIi4vYW5pbWF0aW9uX2F0dHJpYnV0ZXMiKSxpPXQoIi4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyIpLG89dCgiLi9wYWRfYXR0cmlidXRlcyIpLHM9dCgiLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsbD1uKHtlZGl0VHlwZToiY2FsYyJ9KTtsLmZhbWlseS5kZmx0PSciT3BlbiBTYW5zIiwgdmVyZGFuYSwgYXJpYWwsIHNhbnMtc2VyaWYnLGwuc2l6ZS5kZmx0PTEyLGwuY29sb3IuZGZsdD1pLmRlZmF1bHRMaW5lLGUuZXhwb3J0cz17Zm9udDpsLHRpdGxlOnt0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJsYXlvdXRzdHlsZSJ9LGZvbnQ6bih7ZWRpdFR5cGU6ImxheW91dHN0eWxlIn0pLHhyZWY6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLGRmbHQ6ImNvbnRhaW5lciIsdmFsdWVzOlsiY29udGFpbmVyIiwicGFwZXIiXSxlZGl0VHlwZToibGF5b3V0c3R5bGUifSx5cmVmOnt2YWxUeXBlOiJlbnVtZXJhdGVkIixkZmx0OiJjb250YWluZXIiLHZhbHVlczpbImNvbnRhaW5lciIsInBhcGVyIl0sZWRpdFR5cGU6ImxheW91dHN0eWxlIn0seDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0Oi41LGVkaXRUeXBlOiJsYXlvdXRzdHlsZSJ9LHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoiYXV0byIsZWRpdFR5cGU6ImxheW91dHN0eWxlIn0seGFuY2hvcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsZGZsdDoiYXV0byIsdmFsdWVzOlsiYXV0byIsImxlZnQiLCJjZW50ZXIiLCJyaWdodCJdLGVkaXRUeXBlOiJsYXlvdXRzdHlsZSJ9LHlhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLGRmbHQ6ImF1dG8iLHZhbHVlczpbImF1dG8iLCJ0b3AiLCJtaWRkbGUiLCJib3R0b20iXSxlZGl0VHlwZToibGF5b3V0c3R5bGUifSxwYWQ6cyhvKHtlZGl0VHlwZToibGF5b3V0c3R5bGUifSkse30pLGVkaXRUeXBlOiJsYXlvdXRzdHlsZSJ9LHVuaWZvcm10ZXh0Onttb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyExLCJoaWRlIiwic2hvdyJdLGRmbHQ6ITEsZWRpdFR5cGU6InBsb3QifSxtaW5zaXplOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0sYXV0b3NpemU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6Im5vbmUifSx3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MTAsZGZsdDo3MDAsZWRpdFR5cGU6InBsb3QifSxoZWlnaHQ6e3ZhbFR5cGU6Im51bWJlciIsbWluOjEwLGRmbHQ6NDUwLGVkaXRUeXBlOiJwbG90In0sbWFyZ2luOntsOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6ODAsZWRpdFR5cGU6InBsb3QifSxyOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6ODAsZWRpdFR5cGU6InBsb3QifSx0Ont2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MTAwLGVkaXRUeXBlOiJwbG90In0sYjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjgwLGVkaXRUeXBlOiJwbG90In0scGFkOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToicGxvdCJ9LGF1dG9leHBhbmQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9LHBhcGVyX2JnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmkuYmFja2dyb3VuZCxlZGl0VHlwZToicGxvdCJ9LHBsb3RfYmdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6aS5iYWNrZ3JvdW5kLGVkaXRUeXBlOiJsYXlvdXRzdHlsZSJ9LHNlcGFyYXRvcnM6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6InBsb3QifSxoaWRlc291cmNlczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToicGxvdCJ9LHNob3dsZWdlbmQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJsZWdlbmQifSxjb2xvcndheTp7dmFsVHlwZToiY29sb3JsaXN0IixkZmx0OmkuZGVmYXVsdHMsZWRpdFR5cGU6ImNhbGMifSxkYXRhcmV2aXNpb246e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMifSx1aXJldmlzaW9uOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJub25lIn0sZWRpdHJldmlzaW9uOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJub25lIn0sc2VsZWN0aW9ucmV2aXNpb246e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6Im5vbmUifSx0ZW1wbGF0ZTp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYyJ9LG1vZGViYXI6e29yaWVudGF0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ2IiwiaCJdLGRmbHQ6ImgiLGVkaXRUeXBlOiJtb2RlYmFyIn0sYmdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJtb2RlYmFyIn0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToibW9kZWJhciJ9LGFjdGl2ZWNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6Im1vZGViYXIifSx1aXJldmlzaW9uOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJub25lIn0sZWRpdFR5cGU6Im1vZGViYXIifSxtZXRhOnt2YWxUeXBlOiJhbnkiLGFycmF5T2s6ITAsZWRpdFR5cGU6InBsb3QifSx0cmFuc2l0aW9uOnMoe30sYS50cmFuc2l0aW9uLHtlZGl0VHlwZToibm9uZSJ9KSxfZGVwcmVjYXRlZDp7dGl0bGU6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6ImxheW91dHN0eWxlIn0sdGl0bGVmb250Om4oe2VkaXRUeXBlOiJsYXlvdXRzdHlsZSJ9KX19fSx7Ii4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyI6NTkxLCIuLi9saWIvZXh0ZW5kIjo3MDgsIi4vYW5pbWF0aW9uX2F0dHJpYnV0ZXMiOjc2MCwiLi9mb250X2F0dHJpYnV0ZXMiOjc5MSwiLi9wYWRfYXR0cmlidXRlcyI6ODI1fV0sODE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXsib3Blbi1zdHJlZXQtbWFwIjp7aWQ6Im9zbSIsdmVyc2lvbjo4LHNvdXJjZXM6eyJwbG90bHktb3NtLXRpbGVzIjp7dHlwZToicmFzdGVyIixhdHRyaWJ1dGlvbjonPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9hYm91dC8iIHRhcmdldD0iX2JsYW5rIj5ceGE5IE9wZW5TdHJlZXRNYXA8L2E+Jyx0aWxlczpbImh0dHBzOi8vYS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsImh0dHBzOi8vYi50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyJdLHRpbGVTaXplOjI1Nn19LGxheWVyczpbe2lkOiJwbG90bHktb3NtLXRpbGVzIix0eXBlOiJyYXN0ZXIiLHNvdXJjZToicGxvdGx5LW9zbS10aWxlcyIsbWluem9vbTowLG1heHpvb206MjJ9XX0sIndoaXRlLWJnIjp7aWQ6IndoaXRlLWJnIix2ZXJzaW9uOjgsc291cmNlczp7fSxsYXllcnM6W3tpZDoid2hpdGUtYmciLHR5cGU6ImJhY2tncm91bmQiLHBhaW50OnsiYmFja2dyb3VuZC1jb2xvciI6IiNGRkZGRkYifSxtaW56b29tOjAsbWF4em9vbToyMn1dfSwiY2FydG8tcG9zaXRyb24iOntpZDoiY2FydG8tcG9zaXRyb24iLHZlcnNpb246OCxzb3VyY2VzOnsicGxvdGx5LWNhcnRvLXBvc2l0cm9uIjp7dHlwZToicmFzdGVyIixhdHRyaWJ1dGlvbjonPGEgaHJlZj0iaHR0cHM6Ly9jYXJ0by5jb20vIiB0YXJnZXQ9Il9ibGFuayI+XHhhOSBDQVJUTzwvYT4nLHRpbGVzOlsiaHR0cHM6Ly9jYXJ0b2RiLWJhc2VtYXBzLWMuZ2xvYmFsLnNzbC5mYXN0bHkubmV0L2xpZ2h0X2FsbC97en0ve3h9L3t5fS5wbmciXSx0aWxlU2l6ZToyNTZ9fSxsYXllcnM6W3tpZDoicGxvdGx5LWNhcnRvLXBvc2l0cm9uIix0eXBlOiJyYXN0ZXIiLHNvdXJjZToicGxvdGx5LWNhcnRvLXBvc2l0cm9uIixtaW56b29tOjAsbWF4em9vbToyMn1dfSwiY2FydG8tZGFya21hdHRlciI6e2lkOiJjYXJ0by1kYXJrbWF0dGVyIix2ZXJzaW9uOjgsc291cmNlczp7InBsb3RseS1jYXJ0by1kYXJrbWF0dGVyIjp7dHlwZToicmFzdGVyIixhdHRyaWJ1dGlvbjonPGEgaHJlZj0iaHR0cHM6Ly9jYXJ0by5jb20vIiB0YXJnZXQ9Il9ibGFuayI+XHhhOSBDQVJUTzwvYT4nLHRpbGVzOlsiaHR0cHM6Ly9jYXJ0b2RiLWJhc2VtYXBzLWMuZ2xvYmFsLnNzbC5mYXN0bHkubmV0L2RhcmtfYWxsL3t6fS97eH0ve3l9LnBuZyJdLHRpbGVTaXplOjI1Nn19LGxheWVyczpbe2lkOiJwbG90bHktY2FydG8tZGFya21hdHRlciIsdHlwZToicmFzdGVyIixzb3VyY2U6InBsb3RseS1jYXJ0by1kYXJrbWF0dGVyIixtaW56b29tOjAsbWF4em9vbToyMn1dfSwic3RhbWVuLXRlcnJhaW4iOntpZDoic3RhbWVuLXRlcnJhaW4iLHZlcnNpb246OCxzb3VyY2VzOnsicGxvdGx5LXN0YW1lbi10ZXJyYWluIjp7dHlwZToicmFzdGVyIixhdHRyaWJ1dGlvbjonTWFwIHRpbGVzIGJ5IDxhIGhyZWY9Imh0dHA6Ly9zdGFtZW4uY29tIj5TdGFtZW4gRGVzaWduPC9hPiwgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wIj5DQyBCWSAzLjA8L2E+IHwgRGF0YSBieSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+LCB1bmRlciA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodCI+T0RiTDwvYT4uJyx0aWxlczpbImh0dHBzOi8vc3RhbWVuLXRpbGVzLmEuc3NsLmZhc3RseS5uZXQvdGVycmFpbi97en0ve3h9L3t5fS5wbmciXSx0aWxlU2l6ZToyNTZ9fSxsYXllcnM6W3tpZDoicGxvdGx5LXN0YW1lbi10ZXJyYWluIix0eXBlOiJyYXN0ZXIiLHNvdXJjZToicGxvdGx5LXN0YW1lbi10ZXJyYWluIixtaW56b29tOjAsbWF4em9vbToyMn1dfSwic3RhbWVuLXRvbmVyIjp7aWQ6InN0YW1lbi10b25lciIsdmVyc2lvbjo4LHNvdXJjZXM6eyJwbG90bHktc3RhbWVuLXRvbmVyIjp7dHlwZToicmFzdGVyIixhdHRyaWJ1dGlvbjonTWFwIHRpbGVzIGJ5IDxhIGhyZWY9Imh0dHA6Ly9zdGFtZW4uY29tIj5TdGFtZW4gRGVzaWduPC9hPiwgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wIj5DQyBCWSAzLjA8L2E+IHwgRGF0YSBieSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+LCB1bmRlciA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodCI+T0RiTDwvYT4uJyx0aWxlczpbImh0dHBzOi8vc3RhbWVuLXRpbGVzLmEuc3NsLmZhc3RseS5uZXQvdG9uZXIve3p9L3t4fS97eX0ucG5nIl0sdGlsZVNpemU6MjU2fX0sbGF5ZXJzOlt7aWQ6InBsb3RseS1zdGFtZW4tdG9uZXIiLHR5cGU6InJhc3RlciIsc291cmNlOiJwbG90bHktc3RhbWVuLXRvbmVyIixtaW56b29tOjAsbWF4em9vbToyMn1dfSwic3RhbWVuLXdhdGVyY29sb3IiOntpZDoic3RhbWVuLXdhdGVyY29sb3IiLHZlcnNpb246OCxzb3VyY2VzOnsicGxvdGx5LXN0YW1lbi13YXRlcmNvbG9yIjp7dHlwZToicmFzdGVyIixhdHRyaWJ1dGlvbjonTWFwIHRpbGVzIGJ5IDxhIGhyZWY9Imh0dHA6Ly9zdGFtZW4uY29tIj5TdGFtZW4gRGVzaWduPC9hPiwgdW5kZXIgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wIj5DQyBCWSAzLjA8L2E+IHwgRGF0YSBieSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+LCB1bmRlciA8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8zLjAiPkNDIEJZIFNBPC9hPi4nLHRpbGVzOlsiaHR0cHM6Ly9zdGFtZW4tdGlsZXMuYS5zc2wuZmFzdGx5Lm5ldC93YXRlcmNvbG9yL3t6fS97eH0ve3l9LnBuZyJdLHRpbGVTaXplOjI1Nn19LGxheWVyczpbe2lkOiJwbG90bHktc3RhbWVuLXdhdGVyY29sb3IiLHR5cGU6InJhc3RlciIsc291cmNlOiJwbG90bHktc3RhbWVuLXdhdGVyY29sb3IiLG1pbnpvb206MCxtYXh6b29tOjIyfV19fSxhPU9iamVjdC5rZXlzKG4pO2UuZXhwb3J0cz17cmVxdWlyZWRWZXJzaW9uOiIxLjMuMiIsc3R5bGVVcmxQcmVmaXg6Im1hcGJveDovL3N0eWxlcy9tYXBib3gvIixzdHlsZVVybFN1ZmZpeDoidjkiLHN0eWxlVmFsdWVzTWFwYm94OlsiYmFzaWMiLCJzdHJlZXRzIiwib3V0ZG9vcnMiLCJsaWdodCIsImRhcmsiLCJzYXRlbGxpdGUiLCJzYXRlbGxpdGUtc3RyZWV0cyJdLHN0eWxlVmFsdWVEZmx0OiJiYXNpYyIsc3R5bGVzTm9uTWFwYm94Om4sc3R5bGVWYWx1ZXNOb25NYXBib3g6YSx0cmFjZUxheWVyUHJlZml4OiJwbG90bHktdHJhY2UtbGF5ZXItIixsYXlvdXRMYXllclByZWZpeDoicGxvdGx5LWxheW91dC1sYXllci0iLHdyb25nVmVyc2lvbkVycm9yTXNnOlsiWW91ciBjdXN0b20gcGxvdGx5LmpzIGJ1bmRsZSBpcyBub3QgdXNpbmcgdGhlIGNvcnJlY3QgbWFwYm94LWdsIHZlcnNpb24iLCJQbGVhc2UgaW5zdGFsbCBtYXBib3gtZ2xAMS4zLjIuIl0uam9pbigiXG4iKSxub0FjY2Vzc1Rva2VuRXJyb3JNc2c6WyJNaXNzaW5nIE1hcGJveCBhY2Nlc3MgdG9rZW4uIiwiTWFwYm94IHRyYWNlIHR5cGUgcmVxdWlyZSBhIE1hcGJveCBhY2Nlc3MgdG9rZW4gdG8gYmUgcmVnaXN0ZXJlZC4iLCJGb3IgZXhhbXBsZToiLCIgIFBsb3RseS5wbG90KGdkLCBkYXRhLCBsYXlvdXQsIHsgbWFwYm94QWNjZXNzVG9rZW46ICdteS1hY2Nlc3MtdG9rZW4nIH0pOyIsIk1vcmUgaW5mbyBoZXJlOiBodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvZGVmaW5lLWFjY2Vzcy10b2tlbi8iXS5qb2luKCJcbiIpLG1pc3NpbmdTdHlsZUVycm9yTXNnOlsiTm8gdmFsaWQgbWFwYm94IHN0eWxlIGZvdW5kLCBwbGVhc2Ugc2V0IGBtYXBib3guc3R5bGVgIHRvIG9uZSBvZjoiLGEuam9pbigiLCAiKSwib3IgcmVnaXN0ZXIgYSBNYXBib3ggYWNjZXNzIHRva2VuIHRvIHVzZSBhIE1hcGJveC1zZXJ2ZWQgc3R5bGUuIl0uam9pbigiXG4iKSxtdWx0aXBsZVRva2Vuc0Vycm9yTXNnOlsiU2V0IG11bHRpcGxlIG1hcGJveCBhY2Nlc3MgdG9rZW4gYWNyb3NzIGRpZmZlcmVudCBtYXBib3ggc3VicGxvdCwiLCJ1c2luZyBmaXJzdCB0b2tlbiBmb3VuZCBhcyBtYXBib3gtZ2wgZG9lcyBub3QgYWxsb3cgbXVsdGlwbGVhY2Nlc3MgdG9rZW5zIG9uIHRoZSBzYW1lIHBhZ2UuIl0uam9pbigiXG4iKSxtYXBPbkVycm9yTXNnOiJNYXBib3ggZXJyb3IuIixtYXBib3hMb2dvOntwYXRoMDoibSAxMC41LDEuMjQgYyAtNS4xMSwwIC05LjI1LDQuMTUgLTkuMjUsOS4yNSAwLDUuMSA0LjE1LDkuMjUgOS4yNSw5LjI1IDUuMSwwIDkuMjUsLTQuMTUgOS4yNSwtOS4yNSAwLC01LjExIC00LjE0LC05LjI1IC05LjI1LC05LjI1IHogbSA0LjM5LDExLjUzIGMgLTEuOTMsMS45MyAtNC43OCwyLjMxIC02LjcsMi4zMSAtMC43LDAgLTEuNDEsLTAuMDUgLTIuMSwtMC4xNiAwLDAgLTEuMDIsLTUuNjQgMi4xNCwtOC44MSAwLjgzLC0wLjgzIDEuOTUsLTEuMjggMy4xMywtMS4yOCAxLjI3LDAgMi40OSwwLjUxIDMuMzksMS40MiAxLjg0LDEuODQgMS44OSw0Ljc1IDAuMTQsNi41MiB6IixwYXRoMToiTSAxMC41LC0wLjAxIEMgNC43LC0wLjAxIDAsNC43IDAsMTAuNDkgYyAwLDUuNzkgNC43LDEwLjUgMTAuNSwxMC41IDUuOCwwIDEwLjUsLTQuNyAxMC41LC0xMC41IEMgMjAuOTksNC43IDE2LjMsLTAuMDEgMTAuNSwtMC4wMSBaIG0gMCwxOS43NSBjIC01LjExLDAgLTkuMjUsLTQuMTUgLTkuMjUsLTkuMjUgMCwtNS4xIDQuMTQsLTkuMjYgOS4yNSwtOS4yNiA1LjExLDAgOS4yNSw0LjE1IDkuMjUsOS4yNSAwLDUuMTMgLTQuMTQsOS4yNiAtOS4yNSw5LjI2IHoiLHBhdGgyOiJNIDE0Ljc0LDYuMjUgQyAxMi45LDQuNDEgOS45OCw0LjM1IDguMjMsNi4xIDUuMDcsOS4yNyA2LjA5LDE0LjkxIDYuMDksMTQuOTEgYyAwLDAgNS42NCwxLjAyIDguODEsLTIuMTQgQyAxNi42NCwxMSAxNi41OSw4LjA5IDE0Ljc0LDYuMjUgWiBtIC0yLjI3LDQuMDkgLTAuOTEsMS44NyAtMC45LC0xLjg3IC0xLjg2LC0wLjkxIDEuODYsLTAuOSAwLjksLTEuODcgMC45MSwxLjg3IDEuODYsMC45IHoiLHBvbHlnb246IjExLjU2LDEyLjIxIDEwLjY2LDEwLjM0IDguOCw5LjQzIDEwLjY2LDguNTMgMTEuNTYsNi42NiAxMi40Nyw4LjUzIDE0LjMzLDkuNDMgMTIuNDcsMTAuMzQifSxzdHlsZVJ1bGVzOnttYXA6Im92ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTsiLCJtaXNzaW5nLWNzcyI6ImRpc3BsYXk6bm9uZTsiLGNhbmFyeToiYmFja2dyb3VuZC1jb2xvcjpzYWxtb247IiwiY3RybC1ib3R0b20tbGVmdCI6InBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDI7IGJvdHRvbTogMDsgbGVmdDogMDsiLCJjdHJsLWJvdHRvbS1yaWdodCI6InBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDI7IHJpZ2h0OiAwOyBib3R0b206IDA7IixjdHJsOiJjbGVhcjogYm90aDsgcG9pbnRlci1ldmVudHM6IGF1dG87IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyIsImN0cmwtYXR0cmliLm1hcGJveGdsLWNvbXBhY3QgLm1hcGJveGdsLWN0cmwtYXR0cmliLWlubmVyIjoiZGlzcGxheTogbm9uZTsiLCJjdHJsLWF0dHJpYi5tYXBib3hnbC1jb21wYWN0OmhvdmVyIC5tYXBib3hnbC1jdHJsLWF0dHJpYi1pbm5lciI6ImRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tdG9wOjJweCIsImN0cmwtYXR0cmliLm1hcGJveGdsLWNvbXBhY3Q6aG92ZXIiOiJwYWRkaW5nOiAycHggMjRweCAycHggNHB4OyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBtYXJnaW4tdG9wOiA2cHg7IiwiY3RybC1hdHRyaWIubWFwYm94Z2wtY29tcGFjdDo6YWZ0ZXIiOidjb250ZW50OiAiIjsgY3Vyc29yOiBwb2ludGVyOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIlM0UgJTNDcGF0aCBmaWxsPSIlMjMzMzMzMzMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQsMTBhNiw2IDAgMSwwIDEyLDBhNiw2IDAgMSwwIC0xMiwwIE05LDdhMSwxIDAgMSwwIDIsMGExLDEgMCAxLDAgLTIsMCBNOSwxMGExLDEgMCAxLDEgMiwwbDAsM2ExLDEgMCAxLDEgLTIsMCIvJTNFICUzQy9zdmclM0VcJyk7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYm9yZGVyLXJhZGl1czogMTJweDsnLCJjdHJsLWF0dHJpYi5tYXBib3hnbC1jb21wYWN0IjoibWluLWhlaWdodDogMjBweDsgcGFkZGluZzogMDsgbWFyZ2luOiAxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDNweCAxMnB4IDEycHggM3B4OyIsImN0cmwtYm90dG9tLXJpZ2h0ID4gLm1hcGJveGdsLWN0cmwtYXR0cmliLm1hcGJveGdsLWNvbXBhY3Q6OmFmdGVyIjoiYm90dG9tOiAwOyByaWdodDogMCIsImN0cmwtYm90dG9tLWxlZnQgPiAubWFwYm94Z2wtY3RybC1hdHRyaWIubWFwYm94Z2wtY29tcGFjdDo6YWZ0ZXIiOiJib3R0b206IDA7IGxlZnQ6IDAiLCJjdHJsLWJvdHRvbS1sZWZ0IC5tYXBib3hnbC1jdHJsIjoibWFyZ2luOiAwIDAgMTBweCAxMHB4OyBmbG9hdDogbGVmdDsiLCJjdHJsLWJvdHRvbS1yaWdodCAubWFwYm94Z2wtY3RybCI6Im1hcmdpbjogMCAxMHB4IDEwcHggMDsgZmxvYXQ6IHJpZ2h0OyIsImN0cmwtYXR0cmliIjoiY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxMnB4IiwiY3RybC1hdHRyaWIgYSI6ImNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtc2l6ZTogMTJweCIsImN0cmwtYXR0cmliIGE6aG92ZXIiOiJjb2xvcjogaW5oZXJpdDsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IiwiY3RybC1hdHRyaWIgLm1hcGJveC1pbXByb3ZlLW1hcCI6ImZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tbGVmdDogMnB4OyIsImF0dHJpYi1lbXB0eSI6ImRpc3BsYXk6IG5vbmU7IiwiY3RybC1sb2dvIjonZGlzcGxheTpibG9jazsgd2lkdGg6IDIxcHg7IGhlaWdodDogMjFweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDP3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/JTNFICUzQ3N2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIxIDIxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMSAyMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiJTNFJTNDZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDAuMDEpIiUzRSUzQ3BhdGggZD0ibSAxMC41LDEuMjQgYyAtNS4xMSwwIC05LjI1LDQuMTUgLTkuMjUsOS4yNSAwLDUuMSA0LjE1LDkuMjUgOS4yNSw5LjI1IDUuMSwwIDkuMjUsLTQuMTUgOS4yNSwtOS4yNSAwLC01LjExIC00LjE0LC05LjI1IC05LjI1LC05LjI1IHogbSA0LjM5LDExLjUzIGMgLTEuOTMsMS45MyAtNC43OCwyLjMxIC02LjcsMi4zMSAtMC43LDAgLTEuNDEsLTAuMDUgLTIuMSwtMC4xNiAwLDAgLTEuMDIsLTUuNjQgMi4xNCwtOC44MSAwLjgzLC0wLjgzIDEuOTUsLTEuMjggMy4xMywtMS4yOCAxLjI3LDAgMi40OSwwLjUxIDMuMzksMS40MiAxLjg0LDEuODQgMS44OSw0Ljc1IDAuMTQsNi41MiB6IiBzdHlsZT0ib3BhY2l0eTowLjk7ZmlsbDolMjNmZmZmZmY7ZW5hYmxlLWJhY2tncm91bmQ6bmV3IiBjbGFzcz0ic3QwIi8lM0UlM0NwYXRoIGQ9Ik0gMTAuNSwtMC4wMSBDIDQuNywtMC4wMSAwLDQuNyAwLDEwLjQ5IGMgMCw1Ljc5IDQuNywxMC41IDEwLjUsMTAuNSA1LjgsMCAxMC41LC00LjcgMTAuNSwtMTAuNSBDIDIwLjk5LDQuNyAxNi4zLC0wLjAxIDEwLjUsLTAuMDEgWiBtIDAsMTkuNzUgYyAtNS4xMSwwIC05LjI1LC00LjE1IC05LjI1LC05LjI1IDAsLTUuMSA0LjE0LC05LjI2IDkuMjUsLTkuMjYgNS4xMSwwIDkuMjUsNC4xNSA5LjI1LDkuMjUgMCw1LjEzIC00LjE0LDkuMjYgLTkuMjUsOS4yNiB6IiBzdHlsZT0ib3BhY2l0eTowLjM1O2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyIgY2xhc3M9InN0MSIvJTNFJTNDcGF0aCBkPSJNIDE0Ljc0LDYuMjUgQyAxMi45LDQuNDEgOS45OCw0LjM1IDguMjMsNi4xIDUuMDcsOS4yNyA2LjA5LDE0LjkxIDYuMDksMTQuOTEgYyAwLDAgNS42NCwxLjAyIDguODEsLTIuMTQgQyAxNi42NCwxMSAxNi41OSw4LjA5IDE0Ljc0LDYuMjUgWiBtIC0yLjI3LDQuMDkgLTAuOTEsMS44NyAtMC45LC0xLjg3IC0xLjg2LC0wLjkxIDEuODYsLTAuOSAwLjksLTEuODcgMC45MSwxLjg3IDEuODYsMC45IHoiIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZW5hYmxlLWJhY2tncm91bmQ6bmV3IiBjbGFzcz0ic3QxIi8lM0UlM0Nwb2x5Z29uIHBvaW50cz0iMTEuNTYsMTIuMjEgMTAuNjYsMTAuMzQgOC44LDkuNDMgMTAuNjYsOC41MyAxMS41Niw2LjY2IDEyLjQ3LDguNTMgMTQuMzMsOS40MyAxMi40NywxMC4zNCAiIHN0eWxlPSJvcGFjaXR5OjAuOTtmaWxsOiUyM2ZmZmZmZjtlbmFibGUtYmFja2dyb3VuZDpuZXciIGNsYXNzPSJzdDAiLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwnKSd9fX0se31dLDgxOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj10LnNwbGl0KCIgIiksYT1yWzBdLGk9clsxXSxvPW4uaXNBcnJheU9yVHlwZWRBcnJheShlKT9uLm1lYW4oZSk6ZSxzPS41K28vMTAwLGw9MS41K28vMTAwLGM9WyIiLCIiXSx1PVswLDBdO3N3aXRjaChhKXtjYXNlInRvcCI6Y1swXT0idG9wIix1WzFdPS1sO2JyZWFrO2Nhc2UiYm90dG9tIjpjWzBdPSJib3R0b20iLHVbMV09bH1zd2l0Y2goaSl7Y2FzZSJsZWZ0IjpjWzFdPSJyaWdodCIsdVswXT0tczticmVhaztjYXNlInJpZ2h0IjpjWzFdPSJsZWZ0Iix1WzBdPXN9cmV0dXJue2FuY2hvcjpjWzBdJiZjWzFdP2Muam9pbigiLSIpOmNbMF0/Y1swXTpjWzFdP2NbMV06ImNlbnRlciIsb2Zmc2V0OnV9fX0seyIuLi8uLi9saWIiOjcxN31dLDgyMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJtYXBib3gtZ2wiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiKS5nZXRTdWJwbG90Q2FsY0RhdGEsbz10KCIuLi8uLi9jb25zdGFudHMveG1sbnNfbmFtZXNwYWNlcyIpLHM9dCgiZDMiKSxsPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGM9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksdT10KCIuL21hcGJveCIpLGg9ci5jb25zdGFudHM9dCgiLi9jb25zdGFudHMiKTtmdW5jdGlvbiBmKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmKC0xIT09aC5zdHlsZVZhbHVlc01hcGJveC5pbmRleE9mKHQpfHwwPT09dC5pbmRleE9mKCJtYXBib3g6Ly8iKSl9ci5uYW1lPSJtYXBib3giLHIuYXR0cj0ic3VicGxvdCIsci5pZFJvb3Q9Im1hcGJveCIsci5pZFJlZ2V4PXIuYXR0clJlZ2V4PWEuY291bnRlclJlZ2V4KCJtYXBib3giKSxyLmF0dHJpYnV0ZXM9e3N1YnBsb3Q6e3ZhbFR5cGU6InN1YnBsb3RpZCIsZGZsdDoibWFwYm94IixlZGl0VHlwZToiY2FsYyJ9fSxyLmxheW91dEF0dHJpYnV0ZXM9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLHIuc3VwcGx5TGF5b3V0RGVmYXVsdHM9dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxyLnBsb3Q9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dCxyPXQuY2FsY2RhdGEsbz1lLl9zdWJwbG90cy5tYXBib3g7aWYobi52ZXJzaW9uIT09aC5yZXF1aXJlZFZlcnNpb24pdGhyb3cgbmV3IEVycm9yKGgud3JvbmdWZXJzaW9uRXJyb3JNc2cpO3ZhciBzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fZnVsbExheW91dDtpZigiIj09PXQuX2NvbnRleHQubWFwYm94QWNjZXNzVG9rZW4pcmV0dXJuIiI7Zm9yKHZhciBuPVtdLGk9W10sbz0hMSxzPSExLGw9MDtsPGUubGVuZ3RoO2wrKyl7dmFyIGM9cltlW2xdXSx1PWMuYWNjZXNzdG9rZW47ZihjLnN0eWxlKSYmKHU/YS5wdXNoVW5pcXVlKG4sdSk6KGYoYy5faW5wdXQuc3R5bGUpJiYoYS5lcnJvcigiVXNlcyBNYXBib3ggbWFwIHN0eWxlLCBidXQgZGlkIG5vdCBzZXQgYW4gYWNjZXNzIHRva2VuLiIpLG89ITApLHM9ITApKSx1JiZhLnB1c2hVbmlxdWUoaSx1KX1pZihzKXt2YXIgcD1vP2gubm9BY2Nlc3NUb2tlbkVycm9yTXNnOmgubWlzc2luZ1N0eWxlRXJyb3JNc2c7dGhyb3cgYS5lcnJvcihwKSxuZXcgRXJyb3IocCl9cmV0dXJuIG4ubGVuZ3RoPyhuLmxlbmd0aD4xJiZhLndhcm4oaC5tdWx0aXBsZVRva2Vuc0Vycm9yTXNnKSxuWzBdKTooaS5sZW5ndGgmJmEubG9nKFsiTGlzdGVkIG1hcGJveCBhY2Nlc3MgdG9rZW4ocykiLGkuam9pbigiLCIpLCJidXQgZGlkIG5vdCB1c2UgYSBNYXBib3ggbWFwIHN0eWxlLCBpZ25vcmluZyB0b2tlbihzKS4iXS5qb2luKCIgIikpLCIiKX0odCxvKTtuLmFjY2Vzc1Rva2VuPXM7Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDtsKyspe3ZhciBjPW9bbF0scD1pKHIsIm1hcGJveCIsYyksZD1lW2NdLGc9ZC5fc3VicGxvdDtnfHwoZz1uZXcgdSh0LGMpLGVbY10uX3N1YnBsb3Q9ZyksZy52aWV3SW5pdGlhbHx8KGcudmlld0luaXRpYWw9e2NlbnRlcjphLmV4dGVuZEZsYXQoe30sZC5jZW50ZXIpLHpvb206ZC56b29tLGJlYXJpbmc6ZC5iZWFyaW5nLHBpdGNoOmQucGl0Y2h9KSxnLnBsb3QocCxlLHQuX3Byb21pc2VzKX19LHIuY2xlYW49ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBhPW4uX3N1YnBsb3RzLm1hcGJveHx8W10saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldOyFlW29dJiZuW29dLl9zdWJwbG90JiZuW29dLl9zdWJwbG90LmRlc3Ryb3koKX19LHIudG9TVkc9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuX2Z1bGxMYXlvdXQscj1lLl9zdWJwbG90cy5tYXBib3gsbj1lLl9zaXplLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGk9ZVtyW2FdXSx1PWkuZG9tYWluLGY9aS5fc3VicGxvdC50b0ltYWdlKCJwbmciKTtlLl9nbGltYWdlcy5hcHBlbmQoInN2ZzppbWFnZSIpLmF0dHIoe3htbG5zOm8uc3ZnLCJ4bGluazpocmVmIjpmLHg6bi5sK24udyp1LnhbMF0seTpuLnQrbi5oKigxLXUueVsxXSksd2lkdGg6bi53Kih1LnhbMV0tdS54WzBdKSxoZWlnaHQ6bi5oKih1LnlbMV0tdS55WzBdKSxwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0pO3ZhciBwPXMuc2VsZWN0KGkuX3N1YnBsb3QuZGl2KTtpZighKG51bGw9PT1wLnNlbGVjdCgiLm1hcGJveGdsLWN0cmwtbG9nbyIpLm5vZGUoKS5vZmZzZXRQYXJlbnQpKXt2YXIgZD1lLl9nbGltYWdlcy5hcHBlbmQoImciKTtkLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiKyhuLmwrbi53KnUueFswXSsxMCkrIiwgIisobi50K24uaCooMS11LnlbMF0pLTMxKSsiKSIpLGQuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsaC5tYXBib3hMb2dvLnBhdGgwKS5zdHlsZSh7b3BhY2l0eTouOSxmaWxsOiIjZmZmZmZmIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcifSksZC5hcHBlbmQoInBhdGgiKS5hdHRyKCJkIixoLm1hcGJveExvZ28ucGF0aDEpLnN0eWxlKCJvcGFjaXR5IiwuMzUpLnN0eWxlKCJlbmFibGUtYmFja2dyb3VuZCIsIm5ldyIpLGQuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsaC5tYXBib3hMb2dvLnBhdGgyKS5zdHlsZSgib3BhY2l0eSIsLjM1KS5zdHlsZSgiZW5hYmxlLWJhY2tncm91bmQiLCJuZXciKSxkLmFwcGVuZCgicG9seWdvbiIpLmF0dHIoInBvaW50cyIsaC5tYXBib3hMb2dvLnBvbHlnb24pLnN0eWxlKHtvcGFjaXR5Oi45LGZpbGw6IiNmZmZmZmYiLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyJ9KX12YXIgZz1wLnNlbGVjdCgiLm1hcGJveGdsLWN0cmwtYXR0cmliIikudGV4dCgpLnJlcGxhY2UoIkltcHJvdmUgdGhpcyBtYXAiLCIiKSx2PWUuX2dsaW1hZ2VzLmFwcGVuZCgiZyIpLG09di5hcHBlbmQoInRleHQiKTttLnRleHQoZykuY2xhc3NlZCgic3RhdGljLWF0dHJpYnV0aW9uIiwhMCkuYXR0cih7ImZvbnQtc2l6ZSI6MTIsImZvbnQtZmFtaWx5IjoiQXJpYWwiLGNvbG9yOiJyZ2JhKDAsIDAsIDAsIDAuNzUpIiwidGV4dC1hbmNob3IiOiJlbmQiLCJkYXRhLXVuZm9ybWF0dGVkIjpnfSk7dmFyIHk9bC5iQm94KG0ubm9kZSgpKSx4PW4udyoodS54WzFdLXUueFswXSk7aWYoeS53aWR0aD54LzIpe3ZhciBiPWcuc3BsaXQoInwiKS5qb2luKCI8YnI+Iik7bS50ZXh0KGIpLmF0dHIoImRhdGEtdW5mb3JtYXR0ZWQiLGIpLmNhbGwoYy5jb252ZXJ0VG9Uc3BhbnMsdCkseT1sLmJCb3gobS5ub2RlKCkpfW0uYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKC0zLCAiKyg4LXkuaGVpZ2h0KSsiKSIpLHYuaW5zZXJ0KCJyZWN0IiwiLnN0YXRpYy1hdHRyaWJ1dGlvbiIpLmF0dHIoe3g6LXkud2lkdGgtNix5Oi15LmhlaWdodC0zLHdpZHRoOnkud2lkdGgrNixoZWlnaHQ6eS5oZWlnaHQrMyxmaWxsOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIn0pO3ZhciBfPTE7eS53aWR0aCs2PngmJihfPXgvKHkud2lkdGgrNikpO3ZhciB3PVtuLmwrbi53KnUueFsxXSxuLnQrbi5oKigxLXUueVswXSldO3YuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrd1swXSsiLCIrd1sxXSsiKSBzY2FsZSgiK18rIikiKX19LHIudXBkYXRlRng9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuX2Z1bGxMYXlvdXQscj1lLl9zdWJwbG90cy5tYXBib3gsbj0wO248ci5sZW5ndGg7bisrKXtlW3Jbbl1dLl9zdWJwbG90LnVwZGF0ZUZ4KGUpfX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIjo2OTQsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiOjgwMCwiLi9jb25zdGFudHMiOjgxOCwiLi9sYXlvdXRfYXR0cmlidXRlcyI6ODIyLCIuL2xheW91dF9kZWZhdWx0cyI6ODIzLCIuL21hcGJveCI6ODI0LGQzOjE2NSwibWFwYm94LWdsIjo0Mjh9XSw4MjE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2NvbnZlcnRfdGV4dF9vcHRzIiksaT10KCIuL2NvbnN0YW50cyIpO2Z1bmN0aW9uIG8odCxlKXt0aGlzLnN1YnBsb3Q9dCx0aGlzLnVpZD10LnVpZCsiLSIrZSx0aGlzLmluZGV4PWUsdGhpcy5pZFNvdXJjZT0ic291cmNlLSIrdGhpcy51aWQsdGhpcy5pZExheWVyPWkubGF5b3V0TGF5ZXJQcmVmaXgrdGhpcy51aWQsdGhpcy5zb3VyY2VUeXBlPW51bGwsdGhpcy5zb3VyY2U9bnVsbCx0aGlzLmxheWVyVHlwZT1udWxsLHRoaXMuYmVsb3c9bnVsbCx0aGlzLnZpc2libGU9ITF9dmFyIHM9by5wcm90b3R5cGU7ZnVuY3Rpb24gbCh0KXtpZighdC52aXNpYmxlKXJldHVybiExO3ZhciBlPXQuc291cmNlO2lmKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjApe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKCJzdHJpbmciIT10eXBlb2YgZVtyXXx8MD09PWVbcl0ubGVuZ3RoKXJldHVybiExO3JldHVybiEwfXJldHVybiBuLmlzUGxhaW5PYmplY3QoZSl8fCJzdHJpbmciPT10eXBlb2YgZSYmZS5sZW5ndGg+MH1mdW5jdGlvbiBjKHQpe3ZhciBlPXt9LHI9e307c3dpdGNoKHQudHlwZSl7Y2FzZSJjaXJjbGUiOm4uZXh0ZW5kRmxhdChyLHsiY2lyY2xlLXJhZGl1cyI6dC5jaXJjbGUucmFkaXVzLCJjaXJjbGUtY29sb3IiOnQuY29sb3IsImNpcmNsZS1vcGFjaXR5Ijp0Lm9wYWNpdHl9KTticmVhaztjYXNlImxpbmUiOm4uZXh0ZW5kRmxhdChyLHsibGluZS13aWR0aCI6dC5saW5lLndpZHRoLCJsaW5lLWNvbG9yIjp0LmNvbG9yLCJsaW5lLW9wYWNpdHkiOnQub3BhY2l0eSwibGluZS1kYXNoYXJyYXkiOnQubGluZS5kYXNofSk7YnJlYWs7Y2FzZSJmaWxsIjpuLmV4dGVuZEZsYXQocix7ImZpbGwtY29sb3IiOnQuY29sb3IsImZpbGwtb3V0bGluZS1jb2xvciI6dC5maWxsLm91dGxpbmVjb2xvciwiZmlsbC1vcGFjaXR5Ijp0Lm9wYWNpdHl9KTticmVhaztjYXNlInN5bWJvbCI6dmFyIGk9dC5zeW1ib2wsbz1hKGkudGV4dHBvc2l0aW9uLGkuaWNvbnNpemUpO24uZXh0ZW5kRmxhdChlLHsiaWNvbi1pbWFnZSI6aS5pY29uKyItMTUiLCJpY29uLXNpemUiOmkuaWNvbnNpemUvMTAsInRleHQtZmllbGQiOmkudGV4dCwidGV4dC1zaXplIjppLnRleHRmb250LnNpemUsInRleHQtYW5jaG9yIjpvLmFuY2hvciwidGV4dC1vZmZzZXQiOm8ub2Zmc2V0LCJzeW1ib2wtcGxhY2VtZW50IjppLnBsYWNlbWVudH0pLG4uZXh0ZW5kRmxhdChyLHsiaWNvbi1jb2xvciI6dC5jb2xvciwidGV4dC1jb2xvciI6aS50ZXh0Zm9udC5jb2xvciwidGV4dC1vcGFjaXR5Ijp0Lm9wYWNpdHl9KTticmVhaztjYXNlInJhc3RlciI6bi5leHRlbmRGbGF0KHIseyJyYXN0ZXItZmFkZS1kdXJhdGlvbiI6MCwicmFzdGVyLW9wYWNpdHkiOnQub3BhY2l0eX0pfXJldHVybntsYXlvdXQ6ZSxwYWludDpyfX1zLnVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnZpc2libGU/dGhpcy5uZWVkc05ld0ltYWdlKHQpP3RoaXMudXBkYXRlSW1hZ2UodCk6dGhpcy5uZWVkc05ld1NvdXJjZSh0KT8odGhpcy5yZW1vdmVMYXllcigpLHRoaXMudXBkYXRlU291cmNlKHQpLHRoaXMudXBkYXRlTGF5ZXIodCkpOnRoaXMubmVlZHNOZXdMYXllcih0KT90aGlzLnVwZGF0ZUxheWVyKHQpOnRoaXMudXBkYXRlU3R5bGUodCk6KHRoaXMudXBkYXRlU291cmNlKHQpLHRoaXMudXBkYXRlTGF5ZXIodCkpLHRoaXMudmlzaWJsZT1sKHQpfSxzLm5lZWRzTmV3SW1hZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3VicGxvdC5tYXAuZ2V0U291cmNlKHRoaXMuaWRTb3VyY2UpJiYiaW1hZ2UiPT09dGhpcy5zb3VyY2VUeXBlJiYiaW1hZ2UiPT09dC5zb3VyY2V0eXBlJiYodGhpcy5zb3VyY2UhPT10LnNvdXJjZXx8SlNPTi5zdHJpbmdpZnkodGhpcy5jb29yZGluYXRlcykhPT1KU09OLnN0cmluZ2lmeSh0LmNvb3JkaW5hdGVzKSl9LHMubmVlZHNOZXdTb3VyY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc291cmNlVHlwZSE9PXQuc291cmNldHlwZXx8dGhpcy5zb3VyY2UhPT10LnNvdXJjZXx8dGhpcy5sYXllclR5cGUhPT10LnR5cGV9LHMubmVlZHNOZXdMYXllcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sYXllclR5cGUhPT10LnR5cGV8fHRoaXMuYmVsb3chPT10aGlzLnN1YnBsb3QuYmVsb3dMb29rdXBbImxheW91dC0iK3RoaXMuaW5kZXhdfSxzLnVwZGF0ZUltYWdlPWZ1bmN0aW9uKHQpe3RoaXMuc3VicGxvdC5tYXAuZ2V0U291cmNlKHRoaXMuaWRTb3VyY2UpLnVwZGF0ZUltYWdlKHt1cmw6dC5zb3VyY2UsY29vcmRpbmF0ZXM6dC5jb29yZGluYXRlc30pfSxzLnVwZGF0ZVNvdXJjZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnN1YnBsb3QubWFwO2lmKGUuZ2V0U291cmNlKHRoaXMuaWRTb3VyY2UpJiZlLnJlbW92ZVNvdXJjZSh0aGlzLmlkU291cmNlKSx0aGlzLnNvdXJjZVR5cGU9dC5zb3VyY2V0eXBlLHRoaXMuc291cmNlPXQuc291cmNlLGwodCkpe3ZhciByPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dC5zb3VyY2V0eXBlLG49dC5zb3VyY2UsYT17dHlwZTpyfTsiZ2VvanNvbiI9PT1yP2U9ImRhdGEiOiJ2ZWN0b3IiPT09cj9lPSJzdHJpbmciPT10eXBlb2Ygbj8idXJsIjoidGlsZXMiOiJyYXN0ZXIiPT09cj8oZT0idGlsZXMiLGEudGlsZVNpemU9MjU2KToiaW1hZ2UiPT09ciYmKGU9InVybCIsYS5jb29yZGluYXRlcz10LmNvb3JkaW5hdGVzKTthW2VdPW4sdC5zb3VyY2VhdHRyaWJ1dGlvbiYmKGEuYXR0cmlidXRpb249dC5zb3VyY2VhdHRyaWJ1dGlvbik7cmV0dXJuIGF9KHQpO2UuYWRkU291cmNlKHRoaXMuaWRTb3VyY2Uscil9fSxzLnVwZGF0ZUxheWVyPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5zdWJwbG90LG49Yyh0KSxhPXRoaXMuc3VicGxvdC5iZWxvd0xvb2t1cFsibGF5b3V0LSIrdGhpcy5pbmRleF07aWYoInRyYWNlcyI9PT1hKWZvcih2YXIgbz1yLmdldE1hcExheWVycygpLHM9MDtzPG8ubGVuZ3RoO3MrKyl7dmFyIHU9b1tzXS5pZDtpZigic3RyaW5nIj09dHlwZW9mIHUmJjA9PT11LmluZGV4T2YoaS50cmFjZUxheWVyUHJlZml4KSl7ZT11O2JyZWFrfX1lbHNlIGU9YTt0aGlzLnJlbW92ZUxheWVyKCksbCh0KSYmci5hZGRMYXllcih7aWQ6dGhpcy5pZExheWVyLHNvdXJjZTp0aGlzLmlkU291cmNlLCJzb3VyY2UtbGF5ZXIiOnQuc291cmNlbGF5ZXJ8fCIiLHR5cGU6dC50eXBlLG1pbnpvb206dC5taW56b29tLG1heHpvb206dC5tYXh6b29tLGxheW91dDpuLmxheW91dCxwYWludDpuLnBhaW50fSxlKSx0aGlzLmxheWVyVHlwZT10LnR5cGUsdGhpcy5iZWxvdz1hfSxzLnVwZGF0ZVN0eWxlPWZ1bmN0aW9uKHQpe2lmKGwodCkpe3ZhciBlPWModCk7dGhpcy5zdWJwbG90LnNldE9wdGlvbnModGhpcy5pZExheWVyLCJzZXRMYXlvdXRQcm9wZXJ0eSIsZS5sYXlvdXQpLHRoaXMuc3VicGxvdC5zZXRPcHRpb25zKHRoaXMuaWRMYXllciwic2V0UGFpbnRQcm9wZXJ0eSIsZS5wYWludCl9fSxzLnJlbW92ZUxheWVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zdWJwbG90Lm1hcDt0LmdldExheWVyKHRoaXMuaWRMYXllcikmJnQucmVtb3ZlTGF5ZXIodGhpcy5pZExheWVyKX0scy5kaXNwb3NlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zdWJwbG90Lm1hcDt0LmdldExheWVyKHRoaXMuaWRMYXllcikmJnQucmVtb3ZlTGF5ZXIodGhpcy5pZExheWVyKSx0LmdldFNvdXJjZSh0aGlzLmlkU291cmNlKSYmdC5yZW1vdmVTb3VyY2UodGhpcy5pZFNvdXJjZSl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49bmV3IG8odCxlKTtyZXR1cm4gbi51cGRhdGUociksbn19LHsiLi4vLi4vbGliIjo3MTcsIi4vY29uc3RhbnRzIjo4MTgsIi4vY29udmVydF90ZXh0X29wdHMiOjgxOX1dLDgyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKS5kZWZhdWx0TGluZSxpPXQoIi4uL2RvbWFpbiIpLmF0dHJpYnV0ZXMsbz10KCIuLi9mb250X2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3RyYWNlcy9zY2F0dGVyL2F0dHJpYnV0ZXMiKS50ZXh0cG9zaXRpb24sbD10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwsYz10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIikudGVtcGxhdGVkQXJyYXksdT10KCIuL2NvbnN0YW50cyIpLGg9byh7fSk7aC5mYW1pbHkuZGZsdD0iT3BlbiBTYW5zIFJlZ3VsYXIsIEFyaWFsIFVuaWNvZGUgTVMgUmVndWxhciIsKGUuZXhwb3J0cz1sKHtfYXJyYXlBdHRyUmVnZXhwczpbbi5jb3VudGVyUmVnZXgoIm1hcGJveCIsIi5sYXllcnMiLCEwKV0sZG9tYWluOmkoe25hbWU6Im1hcGJveCJ9KSxhY2Nlc3N0b2tlbjp7dmFsVHlwZToic3RyaW5nIixub0JsYW5rOiEwLHN0cmljdDohMH0sc3R5bGU6e3ZhbFR5cGU6ImFueSIsdmFsdWVzOnUuc3R5bGVWYWx1ZXNNYXBib3guY29uY2F0KHUuc3R5bGVWYWx1ZXNOb25NYXBib3gpLGRmbHQ6dS5zdHlsZVZhbHVlRGZsdH0sY2VudGVyOntsb246e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowfSxsYXQ6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowfX0sem9vbTp7dmFsVHlwZToibnVtYmVyIixkZmx0OjF9LGJlYXJpbmc6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowfSxwaXRjaDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjB9LGxheWVyczpjKCJsYXllciIse3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LHNvdXJjZXR5cGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImdlb2pzb24iLCJ2ZWN0b3IiLCJyYXN0ZXIiLCJpbWFnZSJdLGRmbHQ6Imdlb2pzb24ifSxzb3VyY2U6e3ZhbFR5cGU6ImFueSJ9LHNvdXJjZWxheWVyOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiJ9LHNvdXJjZWF0dHJpYnV0aW9uOnt2YWxUeXBlOiJzdHJpbmcifSx0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJjaXJjbGUiLCJsaW5lIiwiZmlsbCIsInN5bWJvbCIsInJhc3RlciJdLGRmbHQ6ImNpcmNsZSJ9LGNvb3JkaW5hdGVzOnt2YWxUeXBlOiJhbnkifSxiZWxvdzp7dmFsVHlwZToic3RyaW5nIn0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmF9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxfSxtaW56b29tOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoyNCxkZmx0OjB9LG1heHpvb206e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjI0LGRmbHQ6MjR9LGNpcmNsZTp7cmFkaXVzOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MTV9fSxsaW5lOnt3aWR0aDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjJ9LGRhc2g6e3ZhbFR5cGU6ImRhdGFfYXJyYXkifX0sZmlsbDp7b3V0bGluZWNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDphfX0sc3ltYm9sOntpY29uOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6Im1hcmtlciJ9LGljb25zaXplOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MTB9LHRleHQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIn0scGxhY2VtZW50Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJwb2ludCIsImxpbmUiLCJsaW5lLWNlbnRlciJdLGRmbHQ6InBvaW50In0sdGV4dGZvbnQ6aCx0ZXh0cG9zaXRpb246bi5leHRlbmRGbGF0KHt9LHMse2FycmF5T2s6ITF9KX19KX0sInBsb3QiLCJmcm9tLXJvb3QiKSkudWlyZXZpc2lvbj17dmFsVHlwZToiYW55IixlZGl0VHlwZToibm9uZSJ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi90cmFjZXMvc2NhdHRlci9hdHRyaWJ1dGVzIjoxMTIwLCIuLi9kb21haW4iOjc5MCwiLi4vZm9udF9hdHRyaWJ1dGVzIjo3OTEsIi4vY29uc3RhbnRzIjo4MTh9XSw4MjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zdWJwbG90X2RlZmF1bHRzIiksaT10KCIuLi9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxvPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKTtmdW5jdGlvbiBzKHQsZSxyLG4pe3IoImFjY2Vzc3Rva2VuIixuLmFjY2Vzc1Rva2VuKSxyKCJzdHlsZSIpLHIoImNlbnRlci5sb24iKSxyKCJjZW50ZXIubGF0Iikscigiem9vbSIpLHIoImJlYXJpbmciKSxyKCJwaXRjaCIpLGkodCxlLHtuYW1lOiJsYXllcnMiLGhhbmRsZUl0ZW1EZWZhdWx0czpsfSksZS5faW5wdXQ9dH1mdW5jdGlvbiBsKHQsZSl7ZnVuY3Rpb24gcihyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsby5sYXllcnMscixhKX1pZihyKCJ2aXNpYmxlIikpe3ZhciBhLGk9cigic291cmNldHlwZSIpLHM9InJhc3RlciI9PT1pfHwiaW1hZ2UiPT09aTtyKCJzb3VyY2UiKSxyKCJzb3VyY2VhdHRyaWJ1dGlvbiIpLCJ2ZWN0b3IiPT09aSYmcigic291cmNlbGF5ZXIiKSwiaW1hZ2UiPT09aSYmcigiY29vcmRpbmF0ZXMiKSxzJiYoYT0icmFzdGVyIik7dmFyIGw9cigidHlwZSIsYSk7cyYmInJhc3RlciIhPT1sJiYobD1lLnR5cGU9InJhc3RlciIsbi5sb2coIlNvdXJjZSB0eXBlcyAqcmFzdGVyKiBhbmQgKmltYWdlKiBtdXN0IGRyYXduICpyYXN0ZXIqIGxheWVyIHR5cGUuIikpLHIoImJlbG93IikscigiY29sb3IiKSxyKCJvcGFjaXR5IikscigibWluem9vbSIpLHIoIm1heHpvb20iKSwiY2lyY2xlIj09PWwmJnIoImNpcmNsZS5yYWRpdXMiKSwibGluZSI9PT1sJiYocigibGluZS53aWR0aCIpLHIoImxpbmUuZGFzaCIpKSwiZmlsbCI9PT1sJiZyKCJmaWxsLm91dGxpbmVjb2xvciIpLCJzeW1ib2wiPT09bCYmKHIoInN5bWJvbC5pY29uIikscigic3ltYm9sLmljb25zaXplIikscigic3ltYm9sLnRleHQiKSxuLmNvZXJjZUZvbnQociwic3ltYm9sLnRleHRmb250Iikscigic3ltYm9sLnRleHRwb3NpdGlvbiIpLHIoInN5bWJvbC5wbGFjZW1lbnQiKSl9fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7YSh0LGUscix7dHlwZToibWFwYm94IixhdHRyaWJ1dGVzOm8saGFuZGxlRGVmYXVsdHM6cyxwYXJ0aXRpb246InkiLGFjY2Vzc1Rva2VuOmUuX21hcGJveEFjY2Vzc1Rva2VufSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vc3VicGxvdF9kZWZhdWx0cyI6ODQwLCIuL2xheW91dF9hdHRyaWJ1dGVzIjo4MjJ9XSw4MjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibWFwYm94LWdsIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2Z4IiksaT10KCIuLi8uLi9saWIiKSxvPXQoIi4uLy4uL2xpYi9nZW9fbG9jYXRpb25fdXRpbHMiKSxzPXQoIi4uLy4uL3JlZ2lzdHJ5IiksbD10KCIuLi9jYXJ0ZXNpYW4vYXhlcyIpLGM9dCgiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCIpLHU9dCgiLi4vY2FydGVzaWFuL3NlbGVjdCIpLnByZXBTZWxlY3QsaD10KCIuLi9jYXJ0ZXNpYW4vc2VsZWN0Iikuc2VsZWN0T25DbGljayxmPXQoIi4vY29uc3RhbnRzIikscD10KCIuL2xheWVycyIpO2Z1bmN0aW9uIGQodCxlKXt0aGlzLmlkPWUsdGhpcy5nZD10O3ZhciByPXQuX2Z1bGxMYXlvdXQsbj10Ll9jb250ZXh0O3RoaXMuY29udGFpbmVyPXIuX2dsY29udGFpbmVyLm5vZGUoKSx0aGlzLmlzU3RhdGljPW4uc3RhdGljUGxvdCx0aGlzLnVpZD1yLl91aWQrIi0iK3RoaXMuaWQsdGhpcy5kaXY9bnVsbCx0aGlzLnhheGlzPW51bGwsdGhpcy55YXhpcz1udWxsLHRoaXMuY3JlYXRlRnJhbWV3b3JrKHIpLHRoaXMubWFwPW51bGwsdGhpcy5hY2Nlc3NUb2tlbj1udWxsLHRoaXMuc3R5bGVPYmo9bnVsbCx0aGlzLnRyYWNlSGFzaD17fSx0aGlzLmxheWVyTGlzdD1bXSx0aGlzLmJlbG93TG9va3VwPXt9LHRoaXMuZHJhZ2dpbmc9ITEsdGhpcy53aGVlbGluZz0hMX12YXIgZz1kLnByb3RvdHlwZTtnLnBsb3Q9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGE9dGhpcyxpPWVbYS5pZF07YS5tYXAmJmkuYWNjZXNzdG9rZW4hPT1hLmFjY2Vzc1Rva2VuJiYoYS5tYXAucmVtb3ZlKCksYS5tYXA9bnVsbCxhLnN0eWxlT2JqPW51bGwsYS50cmFjZUhhc2g9W10sYS5sYXllckxpc3Q9e30pLG49YS5tYXA/bmV3IFByb21pc2UoZnVuY3Rpb24ocixuKXthLnVwZGF0ZU1hcCh0LGUscixuKX0pOm5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsbil7YS5jcmVhdGVNYXAodCxlLHIsbil9KSxyLnB1c2gobil9LGcuY3JlYXRlTWFwPWZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpPXRoaXMscz1lW2kuaWRdLGw9aS5zdHlsZU9iaj1tKHMuc3R5bGUpO2kuYWNjZXNzVG9rZW49cy5hY2Nlc3N0b2tlbjt2YXIgYz1pLm1hcD1uZXcgbi5NYXAoe2NvbnRhaW5lcjppLmRpdixzdHlsZTpsLnN0eWxlLGNlbnRlcjp4KHMuY2VudGVyKSx6b29tOnMuem9vbSxiZWFyaW5nOnMuYmVhcmluZyxwaXRjaDpzLnBpdGNoLGludGVyYWN0aXZlOiFpLmlzU3RhdGljLHByZXNlcnZlRHJhd2luZ0J1ZmZlcjppLmlzU3RhdGljLGRvdWJsZUNsaWNrWm9vbTohMSxib3hab29tOiExLGF0dHJpYnV0aW9uQ29udHJvbDohMX0pLmFkZENvbnRyb2wobmV3IG4uQXR0cmlidXRpb25Db250cm9sKHtjb21wYWN0OiEwfSkpO2MuX2NhbnZhcy5zdHlsZS5sZWZ0PSIwcHgiLGMuX2NhbnZhcy5zdHlsZS50b3A9IjBweCIsaS5yZWplY3RPbkVycm9yKGEpLGkuaXNTdGF0aWN8fGkuaW5pdEZ4KHQsZSk7dmFyIHU9W107dS5wdXNoKG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe2Mub25jZSgibG9hZCIsdCl9KSksdT11LmNvbmNhdChvLmZldGNoVHJhY2VHZW9EYXRhKHQpKSxQcm9taXNlLmFsbCh1KS50aGVuKGZ1bmN0aW9uKCl7aS5maWxsQmVsb3dMb29rdXAodCxlKSxpLnVwZGF0ZURhdGEodCksaS51cGRhdGVMYXlvdXQoZSksaS5yZXNvbHZlT25SZW5kZXIocil9KS5jYXRjaChhKX0sZy51cGRhdGVNYXA9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcyxpPWEubWFwLHM9ZVt0aGlzLmlkXTthLnJlamVjdE9uRXJyb3Iobik7dmFyIGw9W10sYz1tKHMuc3R5bGUpO2Euc3R5bGVPYmouaWQhPT1jLmlkJiYoYS5zdHlsZU9iaj1jLGkuc2V0U3R5bGUoYy5zdHlsZSksYS50cmFjZUhhc2g9e30sbC5wdXNoKG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe2kub25jZSgic3R5bGVkYXRhIix0KX0pKSksbD1sLmNvbmNhdChvLmZldGNoVHJhY2VHZW9EYXRhKHQpKSxQcm9taXNlLmFsbChsKS50aGVuKGZ1bmN0aW9uKCl7YS5maWxsQmVsb3dMb29rdXAodCxlKSxhLnVwZGF0ZURhdGEodCksYS51cGRhdGVMYXlvdXQoZSksYS5yZXNvbHZlT25SZW5kZXIocil9KS5jYXRjaChuKX0sZy5maWxsQmVsb3dMb29rdXA9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9ZVt0aGlzLmlkXS5sYXllcnMsaT10aGlzLmJlbG93TG9va3VwPXt9LG89ITE7Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIHM9dFtyXVswXS50cmFjZSxsPXMuX21vZHVsZTsic3RyaW5nIj09dHlwZW9mIHMuYmVsb3c/bj1zLmJlbG93OmwuZ2V0QmVsb3cmJihuPWwuZ2V0QmVsb3cocyx0aGlzKSksIiI9PT1uJiYobz0hMCksaVsidHJhY2UtIitzLnVpZF09bnx8IiJ9Zm9yKHI9MDtyPGEubGVuZ3RoO3IrKyl7dmFyIGM9YVtyXTtuPSJzdHJpbmciPT10eXBlb2YgYy5iZWxvdz9jLmJlbG93Om8/InRyYWNlcyI6IiIsaVsibGF5b3V0LSIrcl09bn12YXIgdSxoLGY9e307Zm9yKHUgaW4gaSlmW249aVt1XV0/ZltuXS5wdXNoKHUpOmZbbl09W3VdO2ZvcihuIGluIGYpe3ZhciBwPWZbbl07aWYocC5sZW5ndGg+MSlmb3Iocj0wO3I8cC5sZW5ndGg7cisrKTA9PT0odT1wW3JdKS5pbmRleE9mKCJ0cmFjZS0iKT8oaD11LnNwbGl0KCJ0cmFjZS0iKVsxXSx0aGlzLnRyYWNlSGFzaFtoXSYmKHRoaXMudHJhY2VIYXNoW2hdLmJlbG93PW51bGwpKTowPT09dS5pbmRleE9mKCJsYXlvdXQtIikmJihoPXUuc3BsaXQoImxheW91dC0iKVsxXSx0aGlzLmxheWVyTGlzdFtoXSYmKHRoaXMubGF5ZXJMaXN0W2hdLmJlbG93PW51bGwpKX19O3ZhciB2PXtjaG9yb3BsZXRobWFwYm94OjAsZGVuc2l0eW1hcGJveDoxLHNjYXR0ZXJtYXBib3g6Mn07ZnVuY3Rpb24gbSh0KXt2YXIgZT17fTtyZXR1cm4gaS5pc1BsYWluT2JqZWN0KHQpPyhlLmlkPXQuaWQsZS5zdHlsZT10KToic3RyaW5nIj09dHlwZW9mIHQ/KGUuaWQ9dCwtMSE9PWYuc3R5bGVWYWx1ZXNNYXBib3guaW5kZXhPZih0KT9lLnN0eWxlPXkodCk6Zi5zdHlsZXNOb25NYXBib3hbdF0/ZS5zdHlsZT1mLnN0eWxlc05vbk1hcGJveFt0XTplLnN0eWxlPXQpOihlLmlkPWYuc3R5bGVWYWx1ZURmbHQsZS5zdHlsZT15KGYuc3R5bGVWYWx1ZURmbHQpKSxlLnRyYW5zaXRpb249e2R1cmF0aW9uOjAsZGVsYXk6MH0sZX1mdW5jdGlvbiB5KHQpe3JldHVybiBmLnN0eWxlVXJsUHJlZml4K3QrIi0iK2Yuc3R5bGVVcmxTdWZmaXh9ZnVuY3Rpb24geCh0KXtyZXR1cm5bdC5sb24sdC5sYXRdfWcudXBkYXRlRGF0YT1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPXRoaXMudHJhY2VIYXNoLG89dC5zbGljZSgpLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdlt0WzBdLnRyYWNlLnR5cGVdLXZbZVswXS50cmFjZS50eXBlXX0pO2ZvcihuPTA7bjxvLmxlbmd0aDtuKyspe3ZhciBzPW9bbl0sbD0hMTsoZT1pWyhyPXNbMF0udHJhY2UpLnVpZF0pJiYoZS50eXBlPT09ci50eXBlPyhlLnVwZGF0ZShzKSxsPSEwKTplLmRpc3Bvc2UoKSksIWwmJnIuX21vZHVsZSYmKGlbci51aWRdPXIuX21vZHVsZS5wbG90KHRoaXMscykpfXZhciBjPU9iamVjdC5rZXlzKGkpO3Q6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7dmFyIHU9Y1tuXTtmb3IoYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHU9PT0ocj10W2FdWzBdLnRyYWNlKS51aWQpY29udGludWUgdDsoZT1pW3VdKS5kaXNwb3NlKCksZGVsZXRlIGlbdV19fSxnLnVwZGF0ZUxheW91dD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm1hcCxyPXRbdGhpcy5pZF07dGhpcy5kcmFnZ2luZ3x8dGhpcy53aGVlbGluZ3x8KGUuc2V0Q2VudGVyKHgoci5jZW50ZXIpKSxlLnNldFpvb20oci56b29tKSxlLnNldEJlYXJpbmcoci5iZWFyaW5nKSxlLnNldFBpdGNoKHIucGl0Y2gpKSx0aGlzLnVwZGF0ZUxheWVycyh0KSx0aGlzLnVwZGF0ZUZyYW1ld29yayh0KSx0aGlzLnVwZGF0ZUZ4KHQpLHRoaXMubWFwLnJlc2l6ZSgpLHRoaXMuZ2QuX2NvbnRleHQuX3Njcm9sbFpvb20ubWFwYm94P2Uuc2Nyb2xsWm9vbS5lbmFibGUoKTplLnNjcm9sbFpvb20uZGlzYWJsZSgpfSxnLnJlc29sdmVPblJlbmRlcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm1hcDtlLm9uKCJyZW5kZXIiLGZ1bmN0aW9uIHIoKXtlLmxvYWRlZCgpJiYoZS5vZmYoInJlbmRlciIsciksc2V0VGltZW91dCh0LDEwKSl9KX0sZy5yZWplY3RPbkVycm9yPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubWFwO2Z1bmN0aW9uIHIoKXt0KG5ldyBFcnJvcihmLm1hcE9uRXJyb3JNc2cpKX1lLm9uY2UoImVycm9yIixyKSxlLm9uY2UoInN0eWxlLmVycm9yIixyKSxlLm9uY2UoInNvdXJjZS5lcnJvciIsciksZS5vbmNlKCJ0aWxlLmVycm9yIixyKSxlLm9uY2UoImxheWVyLmVycm9yIixyKX0sZy5jcmVhdGVGcmFtZXdvcms9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxyPWUuZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuaWQ9ZS51aWQsci5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGUuY29udGFpbmVyLmFwcGVuZENoaWxkKHIpLGUueGF4aXM9e19pZDoieCIsYzJwOmZ1bmN0aW9uKHQpe3JldHVybiBlLnByb2plY3QodCkueH19LGUueWF4aXM9e19pZDoieSIsYzJwOmZ1bmN0aW9uKHQpe3JldHVybiBlLnByb2plY3QodCkueX19LGUudXBkYXRlRnJhbWV3b3JrKHQpLGUubW9ja0F4aXM9e3R5cGU6ImxpbmVhciIsc2hvd2V4cG9uZW50OiJhbGwiLGV4cG9uZW50Zm9ybWF0OiJCIn0sbC5zZXRDb252ZXJ0KGUubW9ja0F4aXMsdCl9LGcuaW5pdEZ4PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxuPXIuZ2QsaT1yLm1hcDtmdW5jdGlvbiBvKCl7YS5sb25lVW5ob3ZlcihlLl9ob3ZlcmxheWVyKX1mdW5jdGlvbiBsKCl7dmFyIHQ9ci5nZXRWaWV3KCk7bi5lbWl0KCJwbG90bHlfcmVsYXlvdXRpbmciLHIuZ2V0Vmlld0VkaXRzV2l0aERlcml2ZWQodCkpfWkub24oIm1vdmVlbmQiLGZ1bmN0aW9uKHQpe2lmKHIubWFwKXt2YXIgZT1uLl9mdWxsTGF5b3V0O2lmKHQub3JpZ2luYWxFdmVudHx8ci53aGVlbGluZyl7dmFyIGE9ZVtyLmlkXTtzLmNhbGwoIl9zdG9yZURpcmVjdEdVSUVkaXQiLG4ubGF5b3V0LGUuX3ByZUdVSSxyLmdldFZpZXdFZGl0cyhhKSk7dmFyIGk9ci5nZXRWaWV3KCk7YS5faW5wdXQuY2VudGVyPWEuY2VudGVyPWkuY2VudGVyLGEuX2lucHV0Lnpvb209YS56b29tPWkuem9vbSxhLl9pbnB1dC5iZWFyaW5nPWEuYmVhcmluZz1pLmJlYXJpbmcsYS5faW5wdXQucGl0Y2g9YS5waXRjaD1pLnBpdGNoLG4uZW1pdCgicGxvdGx5X3JlbGF5b3V0IixyLmdldFZpZXdFZGl0c1dpdGhEZXJpdmVkKGkpKX10Lm9yaWdpbmFsRXZlbnQmJiJtb3VzZXVwIj09PXQub3JpZ2luYWxFdmVudC50eXBlP3IuZHJhZ2dpbmc9ITE6ci53aGVlbGluZyYmKHIud2hlZWxpbmc9ITEpLGUuX3JlaG92ZXImJmUuX3JlaG92ZXIoKX19KSxpLm9uKCJ3aGVlbCIsZnVuY3Rpb24oKXtyLndoZWVsaW5nPSEwfSksaS5vbigibW91c2Vtb3ZlIixmdW5jdGlvbih0KXt2YXIgZT1yLmRpdi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LmNsaWVudFg9dC5wb2ludC54K2UubGVmdCx0LmNsaWVudFk9dC5wb2ludC55K2UudG9wLHQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdD1mdW5jdGlvbigpe3JldHVybiBlfSxyLnhheGlzLnAyYz1mdW5jdGlvbigpe3JldHVybiB0LmxuZ0xhdC5sbmd9LHIueWF4aXMucDJjPWZ1bmN0aW9uKCl7cmV0dXJuIHQubG5nTGF0LmxhdH0sbi5fZnVsbExheW91dC5fcmVob3Zlcj1mdW5jdGlvbigpe24uX2Z1bGxMYXlvdXQuX2hvdmVyc3VicGxvdD09PXIuaWQmJm4uX2Z1bGxMYXlvdXRbci5pZF0mJmEuaG92ZXIobix0LHIuaWQpfSxhLmhvdmVyKG4sdCxyLmlkKSxuLl9mdWxsTGF5b3V0Ll9ob3ZlcnN1YnBsb3Q9ci5pZH0pLGkub24oImRyYWdzdGFydCIsZnVuY3Rpb24oKXtyLmRyYWdnaW5nPSEwLG8oKX0pLGkub24oInpvb21zdGFydCIsbyksaS5vbigibW91c2VvdXQiLGZ1bmN0aW9uKCl7bi5fZnVsbExheW91dC5faG92ZXJzdWJwbG90PW51bGx9KSxpLm9uKCJkcmFnIixsKSxpLm9uKCJ6b29tIixsKSxpLm9uKCJkYmxjbGljayIsZnVuY3Rpb24oKXt2YXIgdD1uLl9mdWxsTGF5b3V0W3IuaWRdO3MuY2FsbCgiX3N0b3JlRGlyZWN0R1VJRWRpdCIsbi5sYXlvdXQsbi5fZnVsbExheW91dC5fcHJlR1VJLHIuZ2V0Vmlld0VkaXRzKHQpKTt2YXIgZT1yLnZpZXdJbml0aWFsO2kuc2V0Q2VudGVyKHgoZS5jZW50ZXIpKSxpLnNldFpvb20oZS56b29tKSxpLnNldEJlYXJpbmcoZS5iZWFyaW5nKSxpLnNldFBpdGNoKGUucGl0Y2gpO3ZhciBhPXIuZ2V0VmlldygpO3QuX2lucHV0LmNlbnRlcj10LmNlbnRlcj1hLmNlbnRlcix0Ll9pbnB1dC56b29tPXQuem9vbT1hLnpvb20sdC5faW5wdXQuYmVhcmluZz10LmJlYXJpbmc9YS5iZWFyaW5nLHQuX2lucHV0LnBpdGNoPXQucGl0Y2g9YS5waXRjaCxuLmVtaXQoInBsb3RseV9kb3VibGVjbGljayIsbnVsbCksbi5lbWl0KCJwbG90bHlfcmVsYXlvdXQiLHIuZ2V0Vmlld0VkaXRzV2l0aERlcml2ZWQoYSkpfSksci5jbGVhclNlbGVjdD1mdW5jdGlvbigpe24uX2Z1bGxMYXlvdXQuX3pvb21sYXllci5zZWxlY3RBbGwoIi5zZWxlY3Qtb3V0bGluZSIpLnJlbW92ZSgpfSxyLm9uQ2xpY2tJblBhbkZuPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgaT1uLl9mdWxsTGF5b3V0LmNsaWNrbW9kZTtpLmluZGV4T2YoInNlbGVjdCIpPi0xJiZoKGUub3JpZ2luYWxFdmVudCxuLFtyLnhheGlzXSxbci55YXhpc10sci5pZCx0KSxpLmluZGV4T2YoImV2ZW50Iik+LTEmJmEuY2xpY2sobixlLm9yaWdpbmFsRXZlbnQpfX19LGcudXBkYXRlRng9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxyPWUubWFwLG49ZS5nZDtpZighZS5pc1N0YXRpYyl7dmFyIGEsbz10LmRyYWdtb2RlO2E9InNlbGVjdCI9PT1vP2Z1bmN0aW9uKHQscil7KHQucmFuZ2U9e30pW2UuaWRdPVtsKFtyLnhtaW4sci55bWluXSksbChbci54bWF4LHIueW1heF0pXX06ZnVuY3Rpb24odCxyLG4peyh0Lmxhc3NvUG9pbnRzPXt9KVtlLmlkXT1uLmZpbHRlcmVkLm1hcChsKX07dmFyIHM9ZS5kcmFnT3B0aW9ucztlLmRyYWdPcHRpb25zPWkuZXh0ZW5kRGVlcChzfHx7fSx7ZWxlbWVudDplLmRpdixnZDpuLHBsb3RpbmZvOntpZDplLmlkLHhheGlzOmUueGF4aXMseWF4aXM6ZS55YXhpcyxmaWxsUmFuZ2VJdGVtczphfSx4YXhlczpbZS54YXhpc10seWF4ZXM6W2UueWF4aXNdLHN1YnBsb3Q6ZS5pZH0pLHIub2ZmKCJjbGljayIsZS5vbkNsaWNrSW5QYW5IYW5kbGVyKSwic2VsZWN0Ij09PW98fCJsYXNzbyI9PT1vPyhyLmRyYWdQYW4uZGlzYWJsZSgpLHIub24oInpvb21zdGFydCIsZS5jbGVhclNlbGVjdCksZS5kcmFnT3B0aW9ucy5wcmVwRm49ZnVuY3Rpb24odCxyLG4pe3UodCxyLG4sZS5kcmFnT3B0aW9ucyxvKX0sYy5pbml0KGUuZHJhZ09wdGlvbnMpKTooci5kcmFnUGFuLmVuYWJsZSgpLHIub2ZmKCJ6b29tc3RhcnQiLGUuY2xlYXJTZWxlY3QpLGUuZGl2Lm9ubW91c2Vkb3duPW51bGwsZS5vbkNsaWNrSW5QYW5IYW5kbGVyPWUub25DbGlja0luUGFuRm4oZS5kcmFnT3B0aW9ucyksci5vbigiY2xpY2siLGUub25DbGlja0luUGFuSGFuZGxlcikpfWZ1bmN0aW9uIGwodCl7dmFyIHI9ZS5tYXAudW5wcm9qZWN0KHQpO3JldHVybltyLmxuZyxyLmxhdF19fSxnLnVwZGF0ZUZyYW1ld29yaz1mdW5jdGlvbih0KXt2YXIgZT10W3RoaXMuaWRdLmRvbWFpbixyPXQuX3NpemUsbj10aGlzLmRpdi5zdHlsZTtuLndpZHRoPXIudyooZS54WzFdLWUueFswXSkrInB4IixuLmhlaWdodD1yLmgqKGUueVsxXS1lLnlbMF0pKyJweCIsbi5sZWZ0PXIubCtlLnhbMF0qci53KyJweCIsbi50b3A9ci50KygxLWUueVsxXSkqci5oKyJweCIsdGhpcy54YXhpcy5fb2Zmc2V0PXIubCtlLnhbMF0qci53LHRoaXMueGF4aXMuX2xlbmd0aD1yLncqKGUueFsxXS1lLnhbMF0pLHRoaXMueWF4aXMuX29mZnNldD1yLnQrKDEtZS55WzFdKSpyLmgsdGhpcy55YXhpcy5fbGVuZ3RoPXIuaCooZS55WzFdLWUueVswXSl9LGcudXBkYXRlTGF5ZXJzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dFt0aGlzLmlkXS5sYXllcnMsbj10aGlzLmxheWVyTGlzdDtpZihyLmxlbmd0aCE9PW4ubGVuZ3RoKXtmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV0uZGlzcG9zZSgpO2ZvcihuPXRoaXMubGF5ZXJMaXN0PVtdLGU9MDtlPHIubGVuZ3RoO2UrKyluLnB1c2gocCh0aGlzLGUscltlXSkpfWVsc2UgZm9yKGU9MDtlPHIubGVuZ3RoO2UrKyluW2VdLnVwZGF0ZShyW2VdKX0sZy5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5tYXAmJih0aGlzLm1hcC5yZW1vdmUoKSx0aGlzLm1hcD1udWxsLHRoaXMuY29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMuZGl2KSl9LGcudG9JbWFnZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcC5zdG9wKCksdGhpcy5tYXAuZ2V0Q2FudmFzKCkudG9EYXRhVVJMKCl9LGcuc2V0T3B0aW9ucz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuIGluIHIpdGhpcy5tYXBbZV0odCxuLHJbbl0pfSxnLmdldE1hcExheWVycz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcC5nZXRTdHlsZSgpLmxheWVyc30sZy5hZGRMYXllcj1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubWFwO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYoIiI9PT1lKXJldHVybiB2b2lkIHIuYWRkTGF5ZXIodCxlKTtmb3IodmFyIG49dGhpcy5nZXRNYXBMYXllcnMoKSxhPTA7YTxuLmxlbmd0aDthKyspaWYoZT09PW5bYV0uaWQpcmV0dXJuIHZvaWQgci5hZGRMYXllcih0LGUpO2kud2FybihbIlRyeWluZyB0byBhZGQgbGF5ZXIgd2l0aCAqYmVsb3cqIHZhbHVlIixlLCJyZWZlcmVuY2luZyBhIGxheWVyIHRoYXQgZG9lcyBub3QgZXhpc3QiLCJvciB0aGF0IGRvZXMgbm90IHlldCBleGlzdC4iXS5qb2luKCIgIikpfXIuYWRkTGF5ZXIodCl9LGcucHJvamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tYXAucHJvamVjdChuZXcgbi5MbmdMYXQodFswXSx0WzFdKSl9LGcuZ2V0Vmlldz1mdW5jdGlvbigpe3ZhciB0PXRoaXMubWFwLGU9dC5nZXRDZW50ZXIoKSxyPXtsb246ZS5sbmcsbGF0OmUubGF0fSxuPXQuZ2V0Q2FudmFzKCksYT1uLndpZHRoLGk9bi5oZWlnaHQ7cmV0dXJue2NlbnRlcjpyLHpvb206dC5nZXRab29tKCksYmVhcmluZzp0LmdldEJlYXJpbmcoKSxwaXRjaDp0LmdldFBpdGNoKCksX2Rlcml2ZWQ6e2Nvb3JkaW5hdGVzOlt0LnVucHJvamVjdChbMCwwXSkudG9BcnJheSgpLHQudW5wcm9qZWN0KFthLDBdKS50b0FycmF5KCksdC51bnByb2plY3QoW2EsaV0pLnRvQXJyYXkoKSx0LnVucHJvamVjdChbMCxpXSkudG9BcnJheSgpXX19fSxnLmdldFZpZXdFZGl0cz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5pZCxyPVsiY2VudGVyIiwiem9vbSIsImJlYXJpbmciLCJwaXRjaCJdLG49e30sYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgaT1yW2FdO25bZSsiLiIraV09dFtpXX1yZXR1cm4gbn0sZy5nZXRWaWV3RWRpdHNXaXRoRGVyaXZlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmlkLHI9dGhpcy5nZXRWaWV3RWRpdHModCk7cmV0dXJuIHJbZSsiLl9kZXJpdmVkIl09dC5fZGVyaXZlZCxyfSxlLmV4cG9ydHM9ZH0seyIuLi8uLi9jb21wb25lbnRzL2RyYWdlbGVtZW50Ijo2MTAsIi4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9nZW9fbG9jYXRpb25fdXRpbHMiOjcxMSwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vY2FydGVzaWFuL3NlbGVjdCI6NzgyLCIuL2NvbnN0YW50cyI6ODE4LCIuL2xheWVycyI6ODIxLCJtYXBib3gtZ2wiOjQyOH1dLDgyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5lZGl0VHlwZTtyZXR1cm57dDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsZWRpdFR5cGU6ZX0scjp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsZWRpdFR5cGU6ZX0sYjp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsZWRpdFR5cGU6ZX0sbDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsZWRpdFR5cGU6ZX0sZWRpdFR5cGU6ZX19fSx7fV0sODI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9dCgiLi4vcmVnaXN0cnkiKSxvPXQoIi4uL3Bsb3RfYXBpL3Bsb3Rfc2NoZW1hIikscz10KCIuLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIiksbD10KCIuLi9saWIiKSxjPXQoIi4uL2NvbXBvbmVudHMvY29sb3IiKSx1PXQoIi4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU0saD10KCIuL2NhcnRlc2lhbi9heGlzX2lkcyIpLGY9dCgiLi9hbmltYXRpb25fYXR0cmlidXRlcyIpLHA9dCgiLi9mcmFtZV9hdHRyaWJ1dGVzIiksZD10KCIuLi9wbG90cy9nZXRfZGF0YSIpLmdldE1vZHVsZUNhbGNEYXRhLGc9bC5yZWxpbmtQcml2YXRlS2V5cyx2PWwuXyxtPWUuZXhwb3J0cz17fTtsLmV4dGVuZEZsYXQobSxpKSxtLmF0dHJpYnV0ZXM9dCgiLi9hdHRyaWJ1dGVzIiksbS5hdHRyaWJ1dGVzLnR5cGUudmFsdWVzPW0uYWxsVHlwZXMsbS5mb250QXR0cnM9dCgiLi9mb250X2F0dHJpYnV0ZXMiKSxtLmxheW91dEF0dHJpYnV0ZXM9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLG0uZm9udFdlaWdodD0ibm9ybWFsIjt2YXIgeT1tLnRyYW5zZm9ybXNSZWdpc3RyeSx4PXQoIi4vY29tbWFuZCIpO20uZXhlY3V0ZUFQSUNvbW1hbmQ9eC5leGVjdXRlQVBJQ29tbWFuZCxtLmNvbXB1dGVBUElDb21tYW5kQmluZGluZ3M9eC5jb21wdXRlQVBJQ29tbWFuZEJpbmRpbmdzLG0ubWFuYWdlQ29tbWFuZE9ic2VydmVyPXgubWFuYWdlQ29tbWFuZE9ic2VydmVyLG0uaGFzU2ltcGxlQVBJQ29tbWFuZEJpbmRpbmdzPXguaGFzU2ltcGxlQVBJQ29tbWFuZEJpbmRpbmdzLG0ucmVkcmF3VGV4dD1mdW5jdGlvbih0KXt2YXIgZT0odD1sLmdldEdyYXBoRGl2KHQpKS5fZnVsbExheW91dHx8e307aWYoISghKGUuX2hhcyYmZS5faGFzKCJwb2xhciIpKSYmdC5kYXRhJiZ0LmRhdGFbMF0mJnQuZGF0YVswXS5yKSlyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7c2V0VGltZW91dChmdW5jdGlvbigpe2kuZ2V0Q29tcG9uZW50TWV0aG9kKCJhbm5vdGF0aW9ucyIsImRyYXciKSh0KSxpLmdldENvbXBvbmVudE1ldGhvZCgibGVnZW5kIiwiZHJhdyIpKHQpLGkuZ2V0Q29tcG9uZW50TWV0aG9kKCJjb2xvcmJhciIsImRyYXciKSh0KSxlKG0ucHJldmlvdXNQcm9taXNlcyh0KSl9LDMwMCl9KX0sbS5yZXNpemU9ZnVuY3Rpb24odCl7dmFyIGU7dD1sLmdldEdyYXBoRGl2KHQpO3ZhciByPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsbil7dCYmIWwuaXNIaWRkZW4odCl8fG4obmV3IEVycm9yKCJSZXNpemUgbXVzdCBiZSBwYXNzZWQgYSBkaXNwbGF5ZWQgcGxvdCBkaXYgZWxlbWVudC4iKSksdC5fcmVkcmF3VGltZXImJmNsZWFyVGltZW91dCh0Ll9yZWRyYXdUaW1lciksdC5fcmVzb2x2ZVJlc2l6ZSYmKGU9dC5fcmVzb2x2ZVJlc2l6ZSksdC5fcmVzb2x2ZVJlc2l6ZT1yLHQuX3JlZHJhd1RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZighdC5sYXlvdXR8fHQubGF5b3V0LndpZHRoJiZ0LmxheW91dC5oZWlnaHR8fGwuaXNIaWRkZW4odCkpcih0KTtlbHNle2RlbGV0ZSB0LmxheW91dC53aWR0aCxkZWxldGUgdC5sYXlvdXQuaGVpZ2h0O3ZhciBlPXQuY2hhbmdlZDt0LmF1dG9wbGF5PSEwLGkuY2FsbCgicmVsYXlvdXQiLHQse2F1dG9zaXplOiEwfSkudGhlbihmdW5jdGlvbigpe3QuY2hhbmdlZD1lLHQuX3Jlc29sdmVSZXNpemU9PT1yJiYoZGVsZXRlIHQuX3Jlc29sdmVSZXNpemUscih0KSl9KX19LDEwMCl9KTtyZXR1cm4gZSYmZShyKSxyfSxtLnByZXZpb3VzUHJvbWlzZXM9ZnVuY3Rpb24odCl7aWYoKHQuX3Byb21pc2VzfHxbXSkubGVuZ3RoKXJldHVybiBQcm9taXNlLmFsbCh0Ll9wcm9taXNlcykudGhlbihmdW5jdGlvbigpe3QuX3Byb21pc2VzPVtdfSl9LG0uYWRkTGlua3M9ZnVuY3Rpb24odCl7aWYodC5fY29udGV4dC5zaG93TGlua3x8dC5fY29udGV4dC5zaG93U291cmNlcyl7dmFyIGU9dC5fZnVsbExheW91dCxyPWwuZW5zdXJlU2luZ2xlKGUuX3BhcGVyLCJ0ZXh0IiwianMtcGxvdC1saW5rLWNvbnRhaW5lciIsZnVuY3Rpb24odCl7dC5zdHlsZSh7ImZvbnQtZmFtaWx5IjonIk9wZW4gU2FucyIsIEFyaWFsLCBzYW5zLXNlcmlmJywiZm9udC1zaXplIjoiMTJweCIsZmlsbDpjLmRlZmF1bHRMaW5lLCJwb2ludGVyLWV2ZW50cyI6ImFsbCJ9KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bi5zZWxlY3QodGhpcyk7dC5hcHBlbmQoInRzcGFuIikuY2xhc3NlZCgianMtbGluay10by10b29sIiwhMCksdC5hcHBlbmQoInRzcGFuIikuY2xhc3NlZCgianMtbGluay1zcGFjZXIiLCEwKSx0LmFwcGVuZCgidHNwYW4iKS5jbGFzc2VkKCJqcy1zb3VyY2VsaW5rcyIsITApfSl9KSxhPXIubm9kZSgpLGk9e3k6ZS5fcGFwZXIuYXR0cigiaGVpZ2h0IiktOX07ZG9jdW1lbnQuYm9keS5jb250YWlucyhhKSYmYS5nZXRDb21wdXRlZFRleHRMZW5ndGgoKT49ZS53aWR0aC0yMD8oaVsidGV4dC1hbmNob3IiXT0ic3RhcnQiLGkueD01KTooaVsidGV4dC1hbmNob3IiXT0iZW5kIixpLng9ZS5fcGFwZXIuYXR0cigid2lkdGgiKS03KSxyLmF0dHIoaSk7dmFyIG89ci5zZWxlY3QoIi5qcy1saW5rLXRvLXRvb2wiKSxzPXIuc2VsZWN0KCIuanMtbGluay1zcGFjZXIiKSx1PXIuc2VsZWN0KCIuanMtc291cmNlbGlua3MiKTt0Ll9jb250ZXh0LnNob3dTb3VyY2VzJiZ0Ll9jb250ZXh0LnNob3dTb3VyY2VzKHQpLHQuX2NvbnRleHQuc2hvd0xpbmsmJmZ1bmN0aW9uKHQsZSl7ZS50ZXh0KCIiKTt2YXIgcj1lLmFwcGVuZCgiYSIpLmF0dHIoeyJ4bGluazp4bGluazpocmVmIjoiIyIsY2xhc3M6ImxpbmstLWltcHQgbGluay0tZW1iZWR2aWV3IiwiZm9udC13ZWlnaHQiOiJib2xkIn0pLnRleHQodC5fY29udGV4dC5saW5rVGV4dCsiICIrU3RyaW5nLmZyb21DaGFyQ29kZSgxODcpKTtpZih0Ll9jb250ZXh0LnNlbmREYXRhKXIub24oImNsaWNrIixmdW5jdGlvbigpe20uc2VuZERhdGFUb0Nsb3VkKHQpfSk7ZWxzZXt2YXIgbj13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoIi8iKSxhPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7ci5hdHRyKHsieGxpbms6eGxpbms6c2hvdyI6Im5ldyIsInhsaW5rOnhsaW5rOmhyZWYiOiIvIituWzJdLnNwbGl0KCIuIilbMF0rIi8iK25bMV0rYX0pfX0odCxvKSxzLnRleHQoby50ZXh0KCkmJnUudGV4dCgpPyIgLSAiOiIiKX19LG0uc2VuZERhdGFUb0Nsb3VkPWZ1bmN0aW9uKHQpe3QuZW1pdCgicGxvdGx5X2JlZm9yZWV4cG9ydCIpO3ZhciBlPSh3aW5kb3cuUExPVExZRU5WfHx7fSkuQkFTRV9VUkx8fHQuX2NvbnRleHQucGxvdGx5U2VydmVyVVJMLHI9bi5zZWxlY3QodCkuYXBwZW5kKCJkaXYiKS5hdHRyKCJpZCIsImhpZGRlbmZvcm0iKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKSxhPXIuYXBwZW5kKCJmb3JtIikuYXR0cih7YWN0aW9uOmUrIi9leHRlcm5hbCIsbWV0aG9kOiJwb3N0Iix0YXJnZXQ6Il9ibGFuayJ9KTtyZXR1cm4gYS5hcHBlbmQoImlucHV0IikuYXR0cih7dHlwZToidGV4dCIsbmFtZToiZGF0YSJ9KS5ub2RlKCkudmFsdWU9bS5ncmFwaEpzb24odCwhMSwia2VlcGRhdGEiKSxhLm5vZGUoKS5zdWJtaXQoKSxyLnJlbW92ZSgpLHQuZW1pdCgicGxvdGx5X2FmdGVyZXhwb3J0IiksITF9O3ZhciBiPVsiZGF5cyIsInNob3J0RGF5cyIsIm1vbnRocyIsInNob3J0TW9udGhzIiwicGVyaW9kcyIsImRhdGVUaW1lIiwiZGF0ZSIsInRpbWUiLCJkZWNpbWFsIiwidGhvdXNhbmRzIiwiZ3JvdXBpbmciLCJjdXJyZW5jeSJdLF89WyJ5ZWFyIiwibW9udGgiLCJkYXlNb250aCIsImRheU1vbnRoWWVhciJdO2Z1bmN0aW9uIHcodCxlKXt2YXIgcj10Ll9jb250ZXh0LmxvY2FsZSxuPSExLGE9e307ZnVuY3Rpb24gbyh0KXtmb3IodmFyIHI9ITAsaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lW2ldO2Fbb118fCh0W29dP2Fbb109dFtvXTpyPSExKX1yJiYobj0hMCl9Zm9yKHZhciBzPTA7czwyO3MrKyl7Zm9yKHZhciBsPXQuX2NvbnRleHQubG9jYWxlcyxjPTA7YzwyO2MrKyl7dmFyIHU9KGxbcl18fHt9KS5mb3JtYXQ7aWYodSYmKG8odSksbikpYnJlYWs7bD1pLmxvY2FsZVJlZ2lzdHJ5fXZhciBoPXIuc3BsaXQoIi0iKVswXTtpZihufHxoPT09cilicmVhaztyPWh9cmV0dXJuIG58fG8oaS5sb2NhbGVSZWdpc3RyeS5lbi5mb3JtYXQpLGF9ZnVuY3Rpb24gayh0LGUpe3ZhciByPXtfZnVsbExheW91dDplfSxuPSJ4Ij09PXQuX2lkLmNoYXJBdCgwKSxhPXQuX21haW5BeGlzLl9hbmNob3JBeGlzLGk9IiIsbz0iIixzPSIiO2lmKGEmJihzPWEuX21haW5BeGlzLl9pZCxpPW4/dC5faWQrczpzK3QuX2lkKSwhaXx8IWUuX3Bsb3RzW2ldKXtpPSIiO2Zvcih2YXIgbD10Ll9jb3VudGVyQXhlcyxjPTA7YzxsLmxlbmd0aDtjKyspe3ZhciB1PWxbY10sZj1uP3QuX2lkK3U6dSt0Ll9pZDtvfHwobz1mKTt2YXIgcD1oLmdldEZyb21JZChyLHUpO2lmKHMmJnAub3ZlcmxheWluZz09PXMpe2k9ZjticmVha319fXJldHVybiBpfHxvfWZ1bmN0aW9uIFQodCl7dmFyIGU9dC50cmFuc2Zvcm1zO2lmKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoKWZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdLGE9bi5fbW9kdWxlfHx5W24udHlwZV07aWYoYSYmYS5tYWtlc0RhdGEpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gTSh0LGUscixuKXtmb3IodmFyIGE9dC50cmFuc2Zvcm1zLGk9W3RdLG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXSxsPXlbcy50eXBlXTtsJiZsLnRyYW5zZm9ybSYmKGk9bC50cmFuc2Zvcm0oaSx7dHJhbnNmb3JtOnMsZnVsbFRyYWNlOnQsZnVsbERhdGE6ZSxsYXlvdXQ6cixmdWxsTGF5b3V0Om4sdHJhbnNmb3JtSW5kZXg6b30pKX1yZXR1cm4gaX1mdW5jdGlvbiBBKHQpe3ZhciBlPXQubWFyZ2luO2lmKCF0Ll9zaXplKXt2YXIgcj10Ll9zaXplPXtsOk1hdGgucm91bmQoZS5sKSxyOk1hdGgucm91bmQoZS5yKSx0Ok1hdGgucm91bmQoZS50KSxiOk1hdGgucm91bmQoZS5iKSxwOk1hdGgucm91bmQoZS5wYWQpfTtyLnc9TWF0aC5yb3VuZCh0LndpZHRoKS1yLmwtci5yLHIuaD1NYXRoLnJvdW5kKHQuaGVpZ2h0KS1yLnQtci5ifXQuX3B1c2htYXJnaW58fCh0Ll9wdXNobWFyZ2luPXt9KSx0Ll9wdXNobWFyZ2luSWRzfHwodC5fcHVzaG1hcmdpbklkcz17fSl9bS5zdXBwbHlEZWZhdWx0cz1mdW5jdGlvbih0LGUpe3ZhciByPWUmJmUuc2tpcFVwZGF0ZUNhbGMsYT10Ll9mdWxsTGF5b3V0fHx7fTtpZihhLl9za2lwRGVmYXVsdHMpZGVsZXRlIGEuX3NraXBEZWZhdWx0cztlbHNle3ZhciBvLHM9dC5fZnVsbExheW91dD17fSxjPXQubGF5b3V0fHx7fSx1PXQuX2Z1bGxEYXRhfHxbXSxoPXQuX2Z1bGxEYXRhPVtdLGY9dC5kYXRhfHxbXSxwPXQuY2FsY2RhdGF8fFtdLGQ9dC5fY29udGV4dHx8e307dC5fdHJhbnNpdGlvbkRhdGF8fG0uY3JlYXRlVHJhbnNpdGlvbkRhdGEodCkscy5fZGZsdFRpdGxlPXtwbG90OnYodCwiQ2xpY2sgdG8gZW50ZXIgUGxvdCB0aXRsZSIpLHg6dih0LCJDbGljayB0byBlbnRlciBYIGF4aXMgdGl0bGUiKSx5OnYodCwiQ2xpY2sgdG8gZW50ZXIgWSBheGlzIHRpdGxlIiksY29sb3JiYXI6dih0LCJDbGljayB0byBlbnRlciBDb2xvcnNjYWxlIHRpdGxlIiksYW5ub3RhdGlvbjp2KHQsIm5ldyB0ZXh0Iil9LHMuX3RyYWNlV29yZD12KHQsInRyYWNlIik7dmFyIHk9dyh0LGIpO2lmKHMuX21hcGJveEFjY2Vzc1Rva2VuPWQubWFwYm94QWNjZXNzVG9rZW4sYS5faW5pdGlhbEF1dG9TaXplSXNEb25lKXt2YXIgeD1hLndpZHRoLGs9YS5oZWlnaHQ7bS5zdXBwbHlMYXlvdXRHbG9iYWxEZWZhdWx0cyhjLHMseSksYy53aWR0aHx8KHMud2lkdGg9eCksYy5oZWlnaHR8fChzLmhlaWdodD1rKSxtLnNhbml0aXplTWFyZ2lucyhzKX1lbHNle20uc3VwcGx5TGF5b3V0R2xvYmFsRGVmYXVsdHMoYyxzLHkpO3ZhciBUPSFjLndpZHRofHwhYy5oZWlnaHQsTT1zLmF1dG9zaXplLFM9ZC5hdXRvc2l6YWJsZTtUJiYoTXx8Uyk/bS5wbG90QXV0b1NpemUodCxjLHMpOlQmJm0uc2FuaXRpemVNYXJnaW5zKHMpLCFNJiZUJiYoYy53aWR0aD1zLndpZHRoLGMuaGVpZ2h0PXMuaGVpZ2h0KX1zLl9kM2xvY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0LmRlY2ltYWw9ZS5jaGFyQXQoMCksdC50aG91c2FuZHM9ZS5jaGFyQXQoMSksbi5sb2NhbGUodCl9KHkscy5zZXBhcmF0b3JzKSxzLl9leHRyYUZvcm1hdD13KHQsXykscy5faW5pdGlhbEF1dG9TaXplSXNEb25lPSEwLHMuX2RhdGFMZW5ndGg9Zi5sZW5ndGgscy5fbW9kdWxlcz1bXSxzLl92aXNpYmxlTW9kdWxlcz1bXSxzLl9iYXNlUGxvdE1vZHVsZXM9W107dmFyIEU9cy5fc3VicGxvdHM9ZnVuY3Rpb24oKXt2YXIgdCxlLHI9aS5jb2xsZWN0YWJsZVN1YnBsb3RUeXBlcyxuPXt9O2lmKCFyKXtyPVtdO3ZhciBhPWkuc3VicGxvdHNSZWdpc3RyeTtmb3IodmFyIG8gaW4gYSl7dmFyIHM9YVtvXSxjPXMuYXR0cjtpZihjJiYoci5wdXNoKG8pLEFycmF5LmlzQXJyYXkoYykpKWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspbC5wdXNoVW5pcXVlKHIsY1tlXSl9fWZvcih0PTA7dDxyLmxlbmd0aDt0KyspbltyW3RdXT1bXTtyZXR1cm4gbn0oKSxMPXMuX3NwbG9tQXhlcz17eDp7fSx5Ont9fSxDPXMuX3NwbG9tU3VicGxvdHM9e307cy5fc3Bsb21HcmlkRGZsdD17fSxzLl9zY2F0dGVyU3RhY2tPcHRzPXt9LHMuX2ZpcnN0U2NhdHRlcj17fSxzLl9hbGlnbm1lbnRPcHRzPXt9LHMuX2NvbG9yQXhlcz17fSxzLl9yZXF1ZXN0UmFuZ2VzbGlkZXI9e30scy5fdHJhY2VVaWRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPWUubGVuZ3RoLGk9W107Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG89dFtyXS5fZnVsbElucHV0O28hPT1uJiZpLnB1c2gobyksbj1vfXZhciBzPWkubGVuZ3RoLGM9bmV3IEFycmF5KGEpLHU9e307ZnVuY3Rpb24gaCh0LGUpe2NbZV09dCx1W3RdPTF9ZnVuY3Rpb24gZih0LGUpe2lmKHQmJiJzdHJpbmciPT10eXBlb2YgdCYmIXVbdF0pcmV0dXJuIGgodCxlKSwhMH1mb3Iocj0wO3I8YTtyKyspe3ZhciBwPWVbcl0udWlkOyJudW1iZXIiPT10eXBlb2YgcCYmKHA9U3RyaW5nKHApKSxmKHAscil8fChyPHMmJmYoaVtyXS51aWQscil8fGgobC5yYW5kc3RyKHUpLHIpKX1yZXR1cm4gY30odSxmKSxzLl9nbG9iYWxUcmFuc2Zvcm1zPSh0Ll9jb250ZXh0fHx7fSkuZ2xvYmFsVHJhbnNmb3JtcyxtLnN1cHBseURhdGFEZWZhdWx0cyhmLGgsYyxzKTt2YXIgUD1PYmplY3Qua2V5cyhMLngpLE89T2JqZWN0LmtleXMoTC55KTtpZihQLmxlbmd0aD4xJiZPLmxlbmd0aD4xKXtmb3IoaS5nZXRDb21wb25lbnRNZXRob2QoImdyaWQiLCJzaXplRGVmYXVsdHMiKShjLHMpLG89MDtvPFAubGVuZ3RoO28rKylsLnB1c2hVbmlxdWUoRS54YXhpcyxQW29dKTtmb3Iobz0wO288Ty5sZW5ndGg7bysrKWwucHVzaFVuaXF1ZShFLnlheGlzLE9bb10pO2Zvcih2YXIgeiBpbiBDKWwucHVzaFVuaXF1ZShFLmNhcnRlc2lhbix6KX1pZihzLl9oYXM9bS5faGFzUGxvdFR5cGUuYmluZChzKSx1Lmxlbmd0aD09PWgubGVuZ3RoKWZvcihvPTA7bzxoLmxlbmd0aDtvKyspZyhoW29dLHVbb10pO20uc3VwcGx5TGF5b3V0TW9kdWxlRGVmYXVsdHMoYyxzLGgsdC5fdHJhbnNpdGlvbkRhdGEpO3ZhciBJPXMuX3Zpc2libGVNb2R1bGVzLEQ9W107Zm9yKG89MDtvPEkubGVuZ3RoO28rKyl7dmFyIFI9SVtvXS5jcm9zc1RyYWNlRGVmYXVsdHM7UiYmbC5wdXNoVW5pcXVlKEQsUil9Zm9yKG89MDtvPEQubGVuZ3RoO28rKylEW29dKGgscyk7cy5faGFzT25seUxhcmdlU3Bsb21zPTE9PT1zLl9iYXNlUGxvdE1vZHVsZXMubGVuZ3RoJiYic3Bsb20iPT09cy5fYmFzZVBsb3RNb2R1bGVzWzBdLm5hbWUmJlAubGVuZ3RoPjE1JiZPLmxlbmd0aD4xNSYmMD09PXMuc2hhcGVzLmxlbmd0aCYmMD09PXMuaW1hZ2VzLmxlbmd0aCxzLl9oYXNDYXJ0ZXNpYW49cy5faGFzKCJjYXJ0ZXNpYW4iKSxzLl9oYXNHZW89cy5faGFzKCJnZW8iKSxzLl9oYXNHTDNEPXMuX2hhcygiZ2wzZCIpLHMuX2hhc0dMMkQ9cy5faGFzKCJnbDJkIikscy5faGFzVGVybmFyeT1zLl9oYXMoInRlcm5hcnkiKSxzLl9oYXNQaWU9cy5faGFzKCJwaWUiKSxtLmxpbmtTdWJwbG90cyhoLHMsdSxhKSxtLmNsZWFuUGxvdChoLHMsdSxhKSxhLl96b29tbGF5ZXImJiF0Ll9kcmFnZ2luZyYmYS5fem9vbWxheWVyLnNlbGVjdEFsbCgiLnNlbGVjdC1vdXRsaW5lIikucmVtb3ZlKCksZnVuY3Rpb24odCxlKXt2YXIgcixuPVtdO2UubWV0YSYmKHI9ZS5fbWV0YT17bWV0YTplLm1ldGEsbGF5b3V0OnttZXRhOmUubWV0YX19KTtmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGk9dFthXTtpLm1ldGE/bltpLmluZGV4XT1pLl9tZXRhPXttZXRhOmkubWV0YX06ZS5tZXRhJiYoaS5fbWV0YT17bWV0YTplLm1ldGF9KSxlLm1ldGEmJihpLl9tZXRhLmxheW91dD17bWV0YTplLm1ldGF9KX1uLmxlbmd0aCYmKHJ8fChyPWUuX21ldGE9e30pLHIuZGF0YT1uKX0oaCxzKSxnKHMsYSksaS5nZXRDb21wb25lbnRNZXRob2QoImNvbG9yc2NhbGUiLCJjcm9zc1RyYWNlRGVmYXVsdHMiKShoLHMpLHMuX3ByZUdVSXx8KHMuX3ByZUdVST17fSkscy5fdHJhY2VQcmVHVUl8fChzLl90cmFjZVByZUdVST17fSk7dmFyIEYsQj1zLl90cmFjZVByZUdVSSxOPXt9O2ZvcihGIGluIEIpTltGXT0ib2xkIjtmb3Iobz0wO288aC5sZW5ndGg7bysrKU5bRj1oW29dLl9mdWxsSW5wdXQudWlkXXx8KEJbRl09e30pLE5bRl09Im5ldyI7Zm9yKEYgaW4gTikib2xkIj09PU5bRl0mJmRlbGV0ZSBCW0ZdO0EocyksaS5nZXRDb21wb25lbnRNZXRob2QoInJhbmdlc2xpZGVyIiwibWFrZURhdGEiKShzKSxyfHxwLmxlbmd0aCE9PWgubGVuZ3RofHxtLnN1cHBseURlZmF1bHRzVXBkYXRlQ2FsYyhwLGgpfX0sbS5zdXBwbHlEZWZhdWx0c1VwZGF0ZUNhbGM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXSxhPSh0W3JdfHxbXSlbMF07aWYoYSYmYS50cmFjZSl7dmFyIGk9YS50cmFjZTtpZihpLl9oYXNDYWxjVHJhbnNmb3JtKXt2YXIgbyxzLGMsdT1pLl9hcnJheUF0dHJzO2ZvcihvPTA7bzx1Lmxlbmd0aDtvKyspcz11W29dLGM9bC5uZXN0ZWRQcm9wZXJ0eShpLHMpLmdldCgpLnNsaWNlKCksbC5uZXN0ZWRQcm9wZXJ0eShuLHMpLnNldChjKX1hLnRyYWNlPW59fX0sbS5jcmVhdGVUcmFuc2l0aW9uRGF0YT1mdW5jdGlvbih0KXt0Ll90cmFuc2l0aW9uRGF0YXx8KHQuX3RyYW5zaXRpb25EYXRhPXt9KSx0Ll90cmFuc2l0aW9uRGF0YS5fZnJhbWVzfHwodC5fdHJhbnNpdGlvbkRhdGEuX2ZyYW1lcz1bXSksdC5fdHJhbnNpdGlvbkRhdGEuX2ZyYW1lSGFzaHx8KHQuX3RyYW5zaXRpb25EYXRhLl9mcmFtZUhhc2g9e30pLHQuX3RyYW5zaXRpb25EYXRhLl9jb3VudGVyfHwodC5fdHJhbnNpdGlvbkRhdGEuX2NvdW50ZXI9MCksdC5fdHJhbnNpdGlvbkRhdGEuX2ludGVycnVwdENhbGxiYWNrc3x8KHQuX3RyYW5zaXRpb25EYXRhLl9pbnRlcnJ1cHRDYWxsYmFja3M9W10pfSxtLl9oYXNQbG90VHlwZT1mdW5jdGlvbih0KXt2YXIgZSxyPXRoaXMuX2Jhc2VQbG90TW9kdWxlc3x8W107Zm9yKGU9MDtlPHIubGVuZ3RoO2UrKylpZihyW2VdLm5hbWU9PT10KXJldHVybiEwO3ZhciBuPXRoaXMuX21vZHVsZXN8fFtdO2ZvcihlPTA7ZTxuLmxlbmd0aDtlKyspe3ZhciBhPW5bZV0ubmFtZTtpZihhPT09dClyZXR1cm4hMDt2YXIgbz1pLm1vZHVsZXNbYV07aWYobyYmby5jYXRlZ29yaWVzW3RdKXJldHVybiEwfXJldHVybiExfSxtLmNsZWFuUGxvdD1mdW5jdGlvbih0LGUscixuKXt2YXIgYSxpLG89bi5fYmFzZVBsb3RNb2R1bGVzfHxbXTtmb3IoYT0wO2E8by5sZW5ndGg7YSsrKXt2YXIgcz1vW2FdO3MuY2xlYW4mJnMuY2xlYW4odCxlLHIsbil9dmFyIGw9bi5faGFzJiZuLl9oYXMoImdsIiksYz1lLl9oYXMmJmUuX2hhcygiZ2wiKTtsJiYhYyYmdm9pZCAwIT09bi5fZ2xjb250YWluZXImJihuLl9nbGNvbnRhaW5lci5zZWxlY3RBbGwoIi5nbC1jYW52YXMiKS5yZW1vdmUoKSxuLl9nbGNvbnRhaW5lci5zZWxlY3RBbGwoIi5uby13ZWJnbCIpLnJlbW92ZSgpLG4uX2dsY2FudmFzPW51bGwpO3ZhciB1PSEhbi5faW5mb2xheWVyO3Q6Zm9yKGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGg9clthXS51aWQ7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7aWYoaD09PXRbaV0udWlkKWNvbnRpbnVlIHR9dSYmbi5faW5mb2xheWVyLnNlbGVjdCgiLmNiIitoKS5yZW1vdmUoKX19LG0ubGlua1N1YnBsb3RzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLG8scz1uLl9wbG90c3x8e30sYz1lLl9wbG90cz17fSx1PWUuX3N1YnBsb3RzLGY9e19mdWxsRGF0YTp0LF9mdWxsTGF5b3V0OmV9LHA9dS5jYXJ0ZXNpYW4uY29uY2F0KHUuZ2wyZHx8W10pO2ZvcihhPTA7YTxwLmxlbmd0aDthKyspe3ZhciBkLGc9cFthXSx2PXNbZ10sbT1oLmdldEZyb21JZChmLGcsIngiKSx5PWguZ2V0RnJvbUlkKGYsZywieSIpO2Zvcih2P2Q9Y1tnXT12OihkPWNbZ109e30pLmlkPWcsbS5fY291bnRlckF4ZXMucHVzaCh5Ll9pZCkseS5fY291bnRlckF4ZXMucHVzaChtLl9pZCksbS5fc3VicGxvdHNXaXRoLnB1c2goZykseS5fc3VicGxvdHNXaXRoLnB1c2goZyksZC54YXhpcz1tLGQueWF4aXM9eSxkLl9oYXNDbGlwT25BeGlzRmFsc2U9ITEsbz0wO288dC5sZW5ndGg7bysrKXt2YXIgeD10W29dO2lmKHgueGF4aXM9PT1kLnhheGlzLl9pZCYmeC55YXhpcz09PWQueWF4aXMuX2lkJiYhMT09PXguY2xpcG9uYXhpcyl7ZC5faGFzQ2xpcE9uQXhpc0ZhbHNlPSEwO2JyZWFrfX19dmFyIGIsXz1oLmxpc3QoZixudWxsLCEwKTtmb3IoYT0wO2E8Xy5sZW5ndGg7YSsrKXt2YXIgdz1udWxsOyhiPV9bYV0pLm92ZXJsYXlpbmcmJih3PWguZ2V0RnJvbUlkKGYsYi5vdmVybGF5aW5nKSkmJncub3ZlcmxheWluZyYmKGIub3ZlcmxheWluZz0hMSx3PW51bGwpLGIuX21haW5BeGlzPXd8fGIsdyYmKGIuZG9tYWluPXcuZG9tYWluLnNsaWNlKCkpLGIuX2FuY2hvckF4aXM9ImZyZWUiPT09Yi5hbmNob3I/bnVsbDpoLmdldEZyb21JZChmLGIuYW5jaG9yKX1mb3IoYT0wO2E8Xy5sZW5ndGg7YSsrKWlmKChiPV9bYV0pLl9jb3VudGVyQXhlcy5zb3J0KGguaWRTb3J0KSxiLl9zdWJwbG90c1dpdGguc29ydChsLnN1YnBsb3RTb3J0KSxiLl9tYWluU3VicGxvdD1rKGIsZSksYi5fY291bnRlckF4ZXMubGVuZ3RoJiYoYi5zcGlrZW1vZGUmJi0xIT09Yi5zcGlrZW1vZGUuaW5kZXhPZigiYWNyb3NzIil8fGIuYXV0b21hcmdpbiYmYi5taXJyb3ImJiJmcmVlIiE9PWIuYW5jaG9yfHxpLmdldENvbXBvbmVudE1ldGhvZCgicmFuZ2VzbGlkZXIiLCJpc1Zpc2libGUiKShiKSkpe3ZhciBUPTEsTT0wO2ZvcihvPTA7bzxiLl9jb3VudGVyQXhlcy5sZW5ndGg7bysrKXt2YXIgQT1oLmdldEZyb21JZChmLGIuX2NvdW50ZXJBeGVzW29dKTtUPU1hdGgubWluKFQsQS5kb21haW5bMF0pLE09TWF0aC5tYXgoTSxBLmRvbWFpblsxXSl9VDxNJiYoYi5fY291bnRlckRvbWFpbk1pbj1ULGIuX2NvdW50ZXJEb21haW5NYXg9TSl9fSxtLmNsZWFyRXhwYW5kZWRUcmFjZURlZmF1bHRDb2xvcnM9ZnVuY3Rpb24odCl7dmFyIGUscixuO2ZvcihyPVtdLChlPXQuX21vZHVsZS5fY29sb3JBdHRycyl8fCh0Ll9tb2R1bGUuX2NvbG9yQXR0cnM9ZT1bXSxvLmNyYXdsKHQuX21vZHVsZS5hdHRyaWJ1dGVzLGZ1bmN0aW9uKHQsbixhLGkpe3JbaV09bixyLmxlbmd0aD1pKzEsImNvbG9yIj09PXQudmFsVHlwZSYmdm9pZCAwPT09dC5kZmx0JiZlLnB1c2goci5qb2luKCIuIikpfSkpLG49MDtuPGUubGVuZ3RoO24rKyl7bC5uZXN0ZWRQcm9wZXJ0eSh0LCJfaW5wdXQuIitlW25dKS5nZXQoKXx8bC5uZXN0ZWRQcm9wZXJ0eSh0LGVbbl0pLnNldChudWxsKX19LG0uc3VwcGx5RGF0YURlZmF1bHRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLG8sYyx1PW4uX21vZHVsZXMsaD1uLl92aXNpYmxlTW9kdWxlcyxmPW4uX2Jhc2VQbG90TW9kdWxlcyxwPTAsZD0wO2Z1bmN0aW9uIHYodCl7ZS5wdXNoKHQpO3ZhciByPXQuX21vZHVsZTtyJiYobC5wdXNoVW5pcXVlKHUsciksITA9PT10LnZpc2libGUmJmwucHVzaFVuaXF1ZShoLHIpLGwucHVzaFVuaXF1ZShmLHQuX21vZHVsZS5iYXNlUGxvdE1vZHVsZSkscCsrLCExIT09dC5faW5wdXQudmlzaWJsZSYmZCsrKX1uLl90cmFuc2Zvcm1Nb2R1bGVzPVtdO3ZhciB5PXt9LHg9W10sYj0oci50ZW1wbGF0ZXx8e30pLmRhdGF8fHt9LF89cy50cmFjZVRlbXBsYXRlcihiKTtmb3IoYT0wO2E8dC5sZW5ndGg7YSsrKXtpZihjPXRbYV0sKG89Xy5uZXdUcmFjZShjKSkudWlkPW4uX3RyYWNlVWlkc1thXSxtLnN1cHBseVRyYWNlRGVmYXVsdHMoYyxvLGQsbixhKSxvLmluZGV4PWEsby5faW5wdXQ9YyxvLl9leHBhbmRlZEluZGV4PXAsby50cmFuc2Zvcm1zJiZvLnRyYW5zZm9ybXMubGVuZ3RoKWZvcih2YXIgdz0hMSE9PWMudmlzaWJsZSYmITE9PT1vLnZpc2libGUsaz1NKG8sZSxyLG4pLFQ9MDtUPGsubGVuZ3RoO1QrKyl7dmFyIEE9a1tUXSxTPXtfdGVtcGxhdGU6by5fdGVtcGxhdGUsdHlwZTpvLnR5cGUsdWlkOm8udWlkK1R9O3cmJiExPT09QS52aXNpYmxlJiZkZWxldGUgQS52aXNpYmxlLG0uc3VwcGx5VHJhY2VEZWZhdWx0cyhBLFMscCxuLGEpLGcoUyxBKSxTLmluZGV4PWEsUy5faW5wdXQ9YyxTLl9mdWxsSW5wdXQ9byxTLl9leHBhbmRlZEluZGV4PXAsUy5fZXhwYW5kZWRJbnB1dD1BLHYoUyl9ZWxzZSBvLl9mdWxsSW5wdXQ9byxvLl9leHBhbmRlZElucHV0PW8sdihvKTtpLnRyYWNlSXMobywiY2FycGV0QXhpcyIpJiYoeVtvLmNhcnBldF09byksaS50cmFjZUlzKG8sImNhcnBldERlcGVuZGVudCIpJiZ4LnB1c2goYSl9Zm9yKGE9MDthPHgubGVuZ3RoO2ErKylpZigobz1lW3hbYV1dKS52aXNpYmxlKXt2YXIgRT15W28uY2FycGV0XTtvLl9jYXJwZXQ9RSxFJiZFLnZpc2libGU/KG8ueGF4aXM9RS54YXhpcyxvLnlheGlzPUUueWF4aXMpOm8udmlzaWJsZT0hMX19LG0uc3VwcGx5QW5pbWF0aW9uRGVmYXVsdHM9ZnVuY3Rpb24odCl7dmFyIGU7dD10fHx7fTt2YXIgcj17fTtmdW5jdGlvbiBuKGUsbil7cmV0dXJuIGwuY29lcmNlKHR8fHt9LHIsZixlLG4pfWlmKG4oIm1vZGUiKSxuKCJkaXJlY3Rpb24iKSxuKCJmcm9tY3VycmVudCIpLEFycmF5LmlzQXJyYXkodC5mcmFtZSkpZm9yKHIuZnJhbWU9W10sZT0wO2U8dC5mcmFtZS5sZW5ndGg7ZSsrKXIuZnJhbWVbZV09bS5zdXBwbHlBbmltYXRpb25GcmFtZURlZmF1bHRzKHQuZnJhbWVbZV18fHt9KTtlbHNlIHIuZnJhbWU9bS5zdXBwbHlBbmltYXRpb25GcmFtZURlZmF1bHRzKHQuZnJhbWV8fHt9KTtpZihBcnJheS5pc0FycmF5KHQudHJhbnNpdGlvbikpZm9yKHIudHJhbnNpdGlvbj1bXSxlPTA7ZTx0LnRyYW5zaXRpb24ubGVuZ3RoO2UrKylyLnRyYW5zaXRpb25bZV09bS5zdXBwbHlBbmltYXRpb25UcmFuc2l0aW9uRGVmYXVsdHModC50cmFuc2l0aW9uW2VdfHx7fSk7ZWxzZSByLnRyYW5zaXRpb249bS5zdXBwbHlBbmltYXRpb25UcmFuc2l0aW9uRGVmYXVsdHModC50cmFuc2l0aW9ufHx7fSk7cmV0dXJuIHJ9LG0uc3VwcGx5QW5pbWF0aW9uRnJhbWVEZWZhdWx0cz1mdW5jdGlvbih0KXt2YXIgZT17fTtmdW5jdGlvbiByKHIsbil7cmV0dXJuIGwuY29lcmNlKHR8fHt9LGUsZi5mcmFtZSxyLG4pfXJldHVybiByKCJkdXJhdGlvbiIpLHIoInJlZHJhdyIpLGV9LG0uc3VwcGx5QW5pbWF0aW9uVHJhbnNpdGlvbkRlZmF1bHRzPWZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIHIocixuKXtyZXR1cm4gbC5jb2VyY2UodHx8e30sZSxmLnRyYW5zaXRpb24scixuKX1yZXR1cm4gcigiZHVyYXRpb24iKSxyKCJlYXNpbmciKSxlfSxtLnN1cHBseUZyYW1lRGVmYXVsdHM9ZnVuY3Rpb24odCl7dmFyIGU9e307ZnVuY3Rpb24gcihyLG4pe3JldHVybiBsLmNvZXJjZSh0LGUscCxyLG4pfXJldHVybiByKCJncm91cCIpLHIoIm5hbWUiKSxyKCJ0cmFjZXMiKSxyKCJiYXNlZnJhbWUiKSxyKCJkYXRhIikscigibGF5b3V0IiksZX0sbS5zdXBwbHlUcmFjZURlZmF1bHRzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIG8scz1uLmNvbG9yd2F5fHxjLmRlZmF1bHRzLHU9c1tyJXMubGVuZ3RoXTtmdW5jdGlvbiBoKHIsbil7cmV0dXJuIGwuY29lcmNlKHQsZSxtLmF0dHJpYnV0ZXMscixuKX12YXIgZj1oKCJ2aXNpYmxlIik7aCgidHlwZSIpLGgoIm5hbWUiLG4uX3RyYWNlV29yZCsiICIrYSksaCgidWlyZXZpc2lvbiIsbi51aXJldmlzaW9uKTt2YXIgcD1tLmdldE1vZHVsZShlKTtpZihlLl9tb2R1bGU9cCxwKXt2YXIgZD1wLmJhc2VQbG90TW9kdWxlLGc9ZC5hdHRyLHY9ZC5hdHRyaWJ1dGVzO2lmKGcmJnYpe3ZhciB5PW4uX3N1YnBsb3RzLHg9IiI7aWYoZnx8ImdsMmQiIT09ZC5uYW1lKXtpZihBcnJheS5pc0FycmF5KGcpKWZvcihvPTA7bzxnLmxlbmd0aDtvKyspe3ZhciBiPWdbb10sXz1sLmNvZXJjZSh0LGUsdixiKTt5W2JdJiZsLnB1c2hVbmlxdWUoeVtiXSxfKSx4Kz1ffWVsc2UgeD1sLmNvZXJjZSh0LGUsdixnKTt5W2QubmFtZV0mJmwucHVzaFVuaXF1ZSh5W2QubmFtZV0seCl9fX1yZXR1cm4gZiYmKGgoImN1c3RvbWRhdGEiKSxoKCJpZHMiKSxoKCJtZXRhIiksaS50cmFjZUlzKGUsInNob3dMZWdlbmQiKT8obC5jb2VyY2UodCxlLHAuYXR0cmlidXRlcy5zaG93bGVnZW5kP3AuYXR0cmlidXRlczptLmF0dHJpYnV0ZXMsInNob3dsZWdlbmQiKSxoKCJsZWdlbmRncm91cCIpLGUuX2RmbHRTaG93TGVnZW5kPSEwKTplLl9kZmx0U2hvd0xlZ2VuZD0hMSxwJiZwLnN1cHBseURlZmF1bHRzKHQsZSx1LG4pLGkudHJhY2VJcyhlLCJub09wYWNpdHkiKXx8aCgib3BhY2l0eSIpLGkudHJhY2VJcyhlLCJub3RMZWdlbmRJc29sYXRhYmxlIikmJihlLnZpc2libGU9ISFlLnZpc2libGUpLGkudHJhY2VJcyhlLCJub0hvdmVyIil8fChlLmhvdmVydGVtcGxhdGV8fGwuY29lcmNlSG92ZXJpbmZvKHQsZSxuKSwicGFyY2F0cyIhPT1lLnR5cGUmJmkuZ2V0Q29tcG9uZW50TWV0aG9kKCJmeCIsInN1cHBseURlZmF1bHRzIikodCxlLHUsbikpLHAmJnAuc2VsZWN0UG9pbnRzJiZoKCJzZWxlY3RlZHBvaW50cyIpLG0uc3VwcGx5VHJhbnNmb3JtRGVmYXVsdHModCxlLG4pKSxlfSxtLmhhc01ha2VzRGF0YVRyYW5zZm9ybT1ULG0uc3VwcGx5VHJhbnNmb3JtRGVmYXVsdHM9ZnVuY3Rpb24odCxlLHIpe2lmKGUuX2xlbmd0aHx8VCh0KSl7dmFyIG49ci5fZ2xvYmFsVHJhbnNmb3Jtc3x8W10sYT1yLl90cmFuc2Zvcm1Nb2R1bGVzfHxbXTtpZihBcnJheS5pc0FycmF5KHQudHJhbnNmb3Jtcyl8fDAhPT1uLmxlbmd0aClmb3IodmFyIGk9dC50cmFuc2Zvcm1zfHxbXSxvPW4uY29uY2F0KGkpLHM9ZS50cmFuc2Zvcm1zPVtdLGM9MDtjPG8ubGVuZ3RoO2MrKyl7dmFyIHUsaD1vW2NdLGY9aC50eXBlLHA9eVtmXSxkPSEoaC5fbW9kdWxlJiZoLl9tb2R1bGU9PT1wKSxnPXAmJiJmdW5jdGlvbiI9PXR5cGVvZiBwLnRyYW5zZm9ybTtwfHxsLndhcm4oIlVucmVjb2duaXplZCB0cmFuc2Zvcm0gdHlwZSAiK2YrIi4iKSxwJiZwLnN1cHBseURlZmF1bHRzJiYoZHx8Zyk/KCh1PXAuc3VwcGx5RGVmYXVsdHMoaCxlLHIsdCkpLnR5cGU9Zix1Ll9tb2R1bGU9cCxsLnB1c2hVbmlxdWUoYSxwKSk6dT1sLmV4dGVuZEZsYXQoe30saCkscy5wdXNoKHUpfX19LG0uc3VwcGx5TGF5b3V0R2xvYmFsRGVmYXVsdHM9ZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIG4ocixuKXtyZXR1cm4gbC5jb2VyY2UodCxlLG0ubGF5b3V0QXR0cmlidXRlcyxyLG4pfXZhciBhPXQudGVtcGxhdGU7bC5pc1BsYWluT2JqZWN0KGEpJiYoZS50ZW1wbGF0ZT1hLGUuX3RlbXBsYXRlPWEubGF5b3V0LGUuX2RhdGFUZW1wbGF0ZT1hLmRhdGEpO3ZhciBvPWwuY29lcmNlRm9udChuLCJmb250Iik7bigidGl0bGUudGV4dCIsZS5fZGZsdFRpdGxlLnBsb3QpLGwuY29lcmNlRm9udChuLCJ0aXRsZS5mb250Iix7ZmFtaWx5Om8uZmFtaWx5LHNpemU6TWF0aC5yb3VuZCgxLjQqby5zaXplKSxjb2xvcjpvLmNvbG9yfSksbigidGl0bGUueHJlZiIpLG4oInRpdGxlLnlyZWYiKSxuKCJ0aXRsZS54IiksbigidGl0bGUueSIpLG4oInRpdGxlLnhhbmNob3IiKSxuKCJ0aXRsZS55YW5jaG9yIiksbigidGl0bGUucGFkLnQiKSxuKCJ0aXRsZS5wYWQuciIpLG4oInRpdGxlLnBhZC5iIiksbigidGl0bGUucGFkLmwiKSxuKCJ1bmlmb3JtdGV4dC5tb2RlIikmJm4oInVuaWZvcm10ZXh0Lm1pbnNpemUiKSxuKCJhdXRvc2l6ZSIsISh0LndpZHRoJiZ0LmhlaWdodCkpLG4oIndpZHRoIiksbigiaGVpZ2h0IiksbigibWFyZ2luLmwiKSxuKCJtYXJnaW4uciIpLG4oIm1hcmdpbi50IiksbigibWFyZ2luLmIiKSxuKCJtYXJnaW4ucGFkIiksbigibWFyZ2luLmF1dG9leHBhbmQiKSx0LndpZHRoJiZ0LmhlaWdodCYmbS5zYW5pdGl6ZU1hcmdpbnMoZSksaS5nZXRDb21wb25lbnRNZXRob2QoImdyaWQiLCJzaXplRGVmYXVsdHMiKSh0LGUpLG4oInBhcGVyX2JnY29sb3IiKSxuKCJzZXBhcmF0b3JzIixyLmRlY2ltYWwrci50aG91c2FuZHMpLG4oImhpZGVzb3VyY2VzIiksbigiY29sb3J3YXkiKSxuKCJkYXRhcmV2aXNpb24iKTt2YXIgcz1uKCJ1aXJldmlzaW9uIik7bigiZWRpdHJldmlzaW9uIixzKSxuKCJzZWxlY3Rpb25yZXZpc2lvbiIscyksbigibW9kZWJhci5vcmllbnRhdGlvbiIpLG4oIm1vZGViYXIuYmdjb2xvciIsYy5hZGRPcGFjaXR5KGUucGFwZXJfYmdjb2xvciwuNSkpO3ZhciB1PWMuY29udHJhc3QoYy5yZ2IoZS5tb2RlYmFyLmJnY29sb3IpKTtuKCJtb2RlYmFyLmNvbG9yIixjLmFkZE9wYWNpdHkodSwuMykpLG4oIm1vZGViYXIuYWN0aXZlY29sb3IiLGMuYWRkT3BhY2l0eSh1LC43KSksbigibW9kZWJhci51aXJldmlzaW9uIixzKSxuKCJtZXRhIiksbC5pc1BsYWluT2JqZWN0KHQudHJhbnNpdGlvbikmJihuKCJ0cmFuc2l0aW9uLmR1cmF0aW9uIiksbigidHJhbnNpdGlvbi5lYXNpbmciKSxuKCJ0cmFuc2l0aW9uLm9yZGVyaW5nIikpLGkuZ2V0Q29tcG9uZW50TWV0aG9kKCJjYWxlbmRhcnMiLCJoYW5kbGVEZWZhdWx0cyIpKHQsZSwiY2FsZW5kYXIiKSxpLmdldENvbXBvbmVudE1ldGhvZCgiZngiLCJzdXBwbHlMYXlvdXRHbG9iYWxEZWZhdWx0cyIpKHQsZSxuKX0sbS5wbG90QXV0b1NpemU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGksbz10Ll9jb250ZXh0fHx7fSxzPW8uZnJhbWVNYXJnaW5zLGM9bC5pc1Bsb3REaXYodCk7aWYoYyYmdC5lbWl0KCJwbG90bHlfYXV0b3NpemUiKSxvLmZpbGxGcmFtZSluPXdpbmRvdy5pbm5lcldpZHRoLGk9d2luZG93LmlubmVySGVpZ2h0LGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7ZWxzZXt2YXIgdT1jP3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpOnt9O2lmKG49cGFyc2VGbG9hdCh1LndpZHRoKXx8cGFyc2VGbG9hdCh1Lm1heFdpZHRoKXx8ci53aWR0aCxpPXBhcnNlRmxvYXQodS5oZWlnaHQpfHxwYXJzZUZsb2F0KHUubWF4SGVpZ2h0KXx8ci5oZWlnaHQsYShzKSYmcz4wKXt2YXIgaD0xLTIqcztuPU1hdGgucm91bmQoaCpuKSxpPU1hdGgucm91bmQoaCppKX19dmFyIGY9bS5sYXlvdXRBdHRyaWJ1dGVzLndpZHRoLm1pbixwPW0ubGF5b3V0QXR0cmlidXRlcy5oZWlnaHQubWluO248ZiYmKG49ZiksaTxwJiYoaT1wKTt2YXIgZD0hZS53aWR0aCYmTWF0aC5hYnMoci53aWR0aC1uKT4xLGc9IWUuaGVpZ2h0JiZNYXRoLmFicyhyLmhlaWdodC1pKT4xOyhnfHxkKSYmKGQmJihyLndpZHRoPW4pLGcmJihyLmhlaWdodD1pKSksdC5faW5pdGlhbEF1dG9TaXplfHwodC5faW5pdGlhbEF1dG9TaXplPXt3aWR0aDpuLGhlaWdodDppfSksbS5zYW5pdGl6ZU1hcmdpbnMocil9LG0uc3VwcGx5TGF5b3V0TW9kdWxlRGVmYXVsdHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsbyxzLGM9aS5jb21wb25lbnRzUmVnaXN0cnksdT1lLl9iYXNlUGxvdE1vZHVsZXMsaD1pLnN1YnBsb3RzUmVnaXN0cnkuY2FydGVzaWFuO2ZvcihhIGluIGMpKHM9Y1thXSkuaW5jbHVkZUJhc2VQbG90JiZzLmluY2x1ZGVCYXNlUGxvdCh0LGUpO2Zvcih2YXIgZiBpbiB1Lmxlbmd0aHx8dS5wdXNoKGgpLGUuX2hhcygiY2FydGVzaWFuIikmJihpLmdldENvbXBvbmVudE1ldGhvZCgiZ3JpZCIsImNvbnRlbnREZWZhdWx0cyIpKHQsZSksaC5maW5hbGl6ZVN1YnBsb3RzKHQsZSkpLGUuX3N1YnBsb3RzKWUuX3N1YnBsb3RzW2ZdLnNvcnQobC5zdWJwbG90U29ydCk7Zm9yKG89MDtvPHUubGVuZ3RoO28rKykocz11W29dKS5zdXBwbHlMYXlvdXREZWZhdWx0cyYmcy5zdXBwbHlMYXlvdXREZWZhdWx0cyh0LGUscik7dmFyIHA9ZS5fbW9kdWxlcztmb3Iobz0wO288cC5sZW5ndGg7bysrKShzPXBbb10pLnN1cHBseUxheW91dERlZmF1bHRzJiZzLnN1cHBseUxheW91dERlZmF1bHRzKHQsZSxyKTt2YXIgZD1lLl90cmFuc2Zvcm1Nb2R1bGVzO2ZvcihvPTA7bzxkLmxlbmd0aDtvKyspKHM9ZFtvXSkuc3VwcGx5TGF5b3V0RGVmYXVsdHMmJnMuc3VwcGx5TGF5b3V0RGVmYXVsdHModCxlLHIsbik7Zm9yKGEgaW4gYykocz1jW2FdKS5zdXBwbHlMYXlvdXREZWZhdWx0cyYmcy5zdXBwbHlMYXlvdXREZWZhdWx0cyh0LGUscil9LG0ucHVyZ2U9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dHx8e307dm9pZCAwIT09ZS5fZ2xjb250YWluZXImJihlLl9nbGNvbnRhaW5lci5zZWxlY3RBbGwoIi5nbC1jYW52YXMiKS5yZW1vdmUoKSxlLl9nbGNvbnRhaW5lci5yZW1vdmUoKSxlLl9nbGNhbnZhcz1udWxsKSxlLl9tb2RlQmFyJiZlLl9tb2RlQmFyLmRlc3Ryb3koKSx0Ll90cmFuc2l0aW9uRGF0YSYmKHQuX3RyYW5zaXRpb25EYXRhLl9pbnRlcnJ1cHRDYWxsYmFja3MmJih0Ll90cmFuc2l0aW9uRGF0YS5faW50ZXJydXB0Q2FsbGJhY2tzLmxlbmd0aD0wKSx0Ll90cmFuc2l0aW9uRGF0YS5fYW5pbWF0aW9uUmFmJiZ3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodC5fdHJhbnNpdGlvbkRhdGEuX2FuaW1hdGlvblJhZikpLGwuY2xlYXJUaHJvdHRsZSgpLGwuY2xlYXJSZXNwb25zaXZlKHQpLGRlbGV0ZSB0LmRhdGEsZGVsZXRlIHQubGF5b3V0LGRlbGV0ZSB0Ll9mdWxsRGF0YSxkZWxldGUgdC5fZnVsbExheW91dCxkZWxldGUgdC5jYWxjZGF0YSxkZWxldGUgdC5mcmFtZXdvcmssZGVsZXRlIHQuZW1wdHksZGVsZXRlIHQuZmlkLGRlbGV0ZSB0LnVuZG9xdWV1ZSxkZWxldGUgdC51bmRvbnVtLGRlbGV0ZSB0LmF1dG9wbGF5LGRlbGV0ZSB0LmNoYW5nZWQsZGVsZXRlIHQuX3Byb21pc2VzLGRlbGV0ZSB0Ll9yZWRyYXdUaW1lcixkZWxldGUgdC5faG1sdW1jb3VudCxkZWxldGUgdC5faG1waXhjb3VudCxkZWxldGUgdC5fdHJhbnNpdGlvbkRhdGEsZGVsZXRlIHQuX3RyYW5zaXRpb25pbmcsZGVsZXRlIHQuX2luaXRpYWxBdXRvU2l6ZSxkZWxldGUgdC5fdHJhbnNpdGlvbmluZ1dpdGhEdXJhdGlvbixkZWxldGUgdC5fZHJhZ2dpbmcsZGVsZXRlIHQuX2RyYWdnZWQsZGVsZXRlIHQuX2RyYWdkYXRhLGRlbGV0ZSB0Ll9ob3ZlcmRhdGEsZGVsZXRlIHQuX3NuYXBzaG90SW5Qcm9ncmVzcyxkZWxldGUgdC5fZWRpdGluZyxkZWxldGUgdC5fbW91c2VEb3duVGltZSxkZWxldGUgdC5fbGVnZW5kTW91c2VEb3duVGltZSx0LnJlbW92ZUFsbExpc3RlbmVycyYmdC5yZW1vdmVBbGxMaXN0ZW5lcnMoKX0sbS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZSxyPXQuX2Z1bGxMYXlvdXQuX3Zpc2libGVNb2R1bGVzLG49W107Zm9yKGU9MDtlPHIubGVuZ3RoO2UrKyl7dmFyIGE9cltlXTthLnN0eWxlJiZsLnB1c2hVbmlxdWUobixhLnN0eWxlKX1mb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV0odCl9LG0uc2FuaXRpemVNYXJnaW5zPWZ1bmN0aW9uKHQpe2lmKHQmJnQubWFyZ2luKXt2YXIgZSxyPXQud2lkdGgsbj10LmhlaWdodCxhPXQubWFyZ2luLGk9ci0oYS5sK2Euciksbz1uLShhLnQrYS5iKTtpPDAmJihlPShyLTEpLyhhLmwrYS5yKSxhLmw9TWF0aC5mbG9vcihlKmEubCksYS5yPU1hdGguZmxvb3IoZSphLnIpKSxvPDAmJihlPShuLTEpLyhhLnQrYS5iKSxhLnQ9TWF0aC5mbG9vcihlKmEudCksYS5iPU1hdGguZmxvb3IoZSphLmIpKX19LG0uY2xlYXJBdXRvTWFyZ2luSWRzPWZ1bmN0aW9uKHQpe3QuX2Z1bGxMYXlvdXQuX3B1c2htYXJnaW5JZHM9e319LG0uYWxsb3dBdXRvTWFyZ2luPWZ1bmN0aW9uKHQsZSl7dC5fZnVsbExheW91dC5fcHVzaG1hcmdpbklkc1tlXT0xfSxtLmF1dG9NYXJnaW49ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuX2Z1bGxMYXlvdXQsYT1uLl9wdXNobWFyZ2luLGk9bi5fcHVzaG1hcmdpbklkcztpZighMSE9PW4ubWFyZ2luLmF1dG9leHBhbmQpe2lmKHIpe3ZhciBvPXIucGFkO2lmKHZvaWQgMD09PW8pe3ZhciBzPW4ubWFyZ2luO289TWF0aC5taW4oMTIscy5sLHMucixzLnQscy5iKX1yLmwrci5yPi41Km4ud2lkdGgmJihsLmxvZygiTWFyZ2luIHB1c2giLGUsImlzIHRvbyBiaWcgaW4geCwgZHJvcHBpbmciKSxyLmw9ci5yPTApLHIuYityLnQ+LjUqbi5oZWlnaHQmJihsLmxvZygiTWFyZ2luIHB1c2giLGUsImlzIHRvbyBiaWcgaW4geSwgZHJvcHBpbmciKSxyLmI9ci50PTApO3ZhciBjPXZvaWQgMCE9PXIueGw/ci54bDpyLngsdT12b2lkIDAhPT1yLnhyP3IueHI6ci54LGg9dm9pZCAwIT09ci55dD9yLnl0OnIueSxmPXZvaWQgMCE9PXIueWI/ci55YjpyLnk7YVtlXT17bDp7dmFsOmMsc2l6ZTpyLmwrb30scjp7dmFsOnUsc2l6ZTpyLnIrb30sYjp7dmFsOmYsc2l6ZTpyLmIrb30sdDp7dmFsOmgsc2l6ZTpyLnQrb319LGlbZV09MX1lbHNlIGRlbGV0ZSBhW2VdLGRlbGV0ZSBpW2VdO2lmKCFuLl9yZXBsb3R0aW5nKXJldHVybiBtLmRvQXV0b01hcmdpbih0KX19LG0uZG9BdXRvTWFyZ2luPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQ7ZS5fc2l6ZXx8KGUuX3NpemU9e30pLEEoZSk7dmFyIHI9ZS5fc2l6ZSxuPWUubWFyZ2luLG89bC5leHRlbmRGbGF0KHt9LHIpLHM9bi5sLGM9bi5yLHU9bi50LGg9bi5iLGY9ZS53aWR0aCxwPWUuaGVpZ2h0LGQ9ZS5fcHVzaG1hcmdpbixnPWUuX3B1c2htYXJnaW5JZHM7aWYoITEhPT1lLm1hcmdpbi5hdXRvZXhwYW5kKXtmb3IodmFyIHYgaW4gZClnW3ZdfHxkZWxldGUgZFt2XTtmb3IodmFyIHkgaW4gZC5iYXNlPXtsOnt2YWw6MCxzaXplOnN9LHI6e3ZhbDoxLHNpemU6Y30sdDp7dmFsOjEsc2l6ZTp1fSxiOnt2YWw6MCxzaXplOmh9fSxkKXt2YXIgeD1kW3ldLmx8fHt9LGI9ZFt5XS5ifHx7fSxfPXgudmFsLHc9eC5zaXplLGs9Yi52YWwsVD1iLnNpemU7Zm9yKHZhciBNIGluIGQpe2lmKGEodykmJmRbTV0ucil7dmFyIFM9ZFtNXS5yLnZhbCxFPWRbTV0uci5zaXplO2lmKFM+Xyl7dmFyIEw9KHcqUysoRS1mKSpfKS8oUy1fKSxDPShFKigxLV8pKyh3LWYpKigxLVMpKS8oUy1fKTtMPj0wJiZDPj0wJiZmLShMK0MpPjAmJkwrQz5zK2MmJihzPUwsYz1DKX19aWYoYShUKSYmZFtNXS50KXt2YXIgUD1kW01dLnQudmFsLE89ZFtNXS50LnNpemU7aWYoUD5rKXt2YXIgej0oVCpQKyhPLXApKmspLyhQLWspLEk9KE8qKDEtaykrKFQtcCkqKDEtUCkpLyhQLWspO3o+PTAmJkk+PTAmJnAtKEkreik+MCYmeitJPmgrdSYmKGg9eix1PUkpfX19fX1pZihyLmw9TWF0aC5yb3VuZChzKSxyLnI9TWF0aC5yb3VuZChjKSxyLnQ9TWF0aC5yb3VuZCh1KSxyLmI9TWF0aC5yb3VuZChoKSxyLnA9TWF0aC5yb3VuZChuLnBhZCksci53PU1hdGgucm91bmQoZiktci5sLXIucixyLmg9TWF0aC5yb3VuZChwKS1yLnQtci5iLCFlLl9yZXBsb3R0aW5nJiZtLmRpZE1hcmdpbkNoYW5nZShvLHIpKXsiX3JlZHJhd0Zyb21BdXRvTWFyZ2luQ291bnQiaW4gZT9lLl9yZWRyYXdGcm9tQXV0b01hcmdpbkNvdW50Kys6ZS5fcmVkcmF3RnJvbUF1dG9NYXJnaW5Db3VudD0xO3ZhciBEPTMqKDErT2JqZWN0LmtleXMoZykubGVuZ3RoKTtpZihlLl9yZWRyYXdGcm9tQXV0b01hcmdpbkNvdW50PEQpcmV0dXJuIGkuY2FsbCgicGxvdCIsdCk7bC53YXJuKCJUb28gbWFueSBhdXRvLW1hcmdpbiByZWRyYXdzLiIpfX07dmFyIFM9WyJsIiwiciIsInQiLCJiIiwicCIsInciLCJoIl07ZnVuY3Rpb24gRSh0LGUscil7dmFyIG49ITE7dmFyIGE9W20ucHJldmlvdXNQcm9taXNlcyxmdW5jdGlvbigpe2lmKHQuX3RyYW5zaXRpb25EYXRhKXJldHVybiB0Ll90cmFuc2l0aW9uaW5nPSExLGZ1bmN0aW9uKHQpe3ZhciBlPVByb21pc2UucmVzb2x2ZSgpO2lmKCF0KXJldHVybiBlO2Zvcig7dC5sZW5ndGg7KWU9ZS50aGVuKHQuc2hpZnQoKSk7cmV0dXJuIGV9KHQuX3RyYW5zaXRpb25EYXRhLl9pbnRlcnJ1cHRDYWxsYmFja3MpfSxyLnByZXBhcmVGbixtLnJlaG92ZXIsZnVuY3Rpb24oKXtyZXR1cm4gdC5lbWl0KCJwbG90bHlfdHJhbnNpdGlvbmluZyIsW10pLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGEpe3QuX3RyYW5zaXRpb25pbmc9ITAsZS5kdXJhdGlvbj4wJiYodC5fdHJhbnNpdGlvbmluZ1dpdGhEdXJhdGlvbj0hMCksdC5fdHJhbnNpdGlvbkRhdGEuX2ludGVycnVwdENhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uKCl7bj0hMH0pLHIucmVkcmF3JiZ0Ll90cmFuc2l0aW9uRGF0YS5faW50ZXJydXB0Q2FsbGJhY2tzLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gaS5jYWxsKCJyZWRyYXciLHQpfSksdC5fdHJhbnNpdGlvbkRhdGEuX2ludGVycnVwdENhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uKCl7dC5lbWl0KCJwbG90bHlfdHJhbnNpdGlvbmludGVycnVwdGVkIixbXSl9KTt2YXIgbz0wLHM9MDtmdW5jdGlvbiBsKCl7cmV0dXJuIG8rKyxmdW5jdGlvbigpe3ZhciBlO3MrKyxufHxzIT09b3x8KGU9YSx0Ll90cmFuc2l0aW9uRGF0YSYmKGZ1bmN0aW9uKHQpe2lmKHQpZm9yKDt0Lmxlbmd0aDspdC5zaGlmdCgpfSh0Ll90cmFuc2l0aW9uRGF0YS5faW50ZXJydXB0Q2FsbGJhY2tzKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7aWYoci5yZWRyYXcpcmV0dXJuIGkuY2FsbCgicmVkcmF3Iix0KX0pLnRoZW4oZnVuY3Rpb24oKXt0Ll90cmFuc2l0aW9uaW5nPSExLHQuX3RyYW5zaXRpb25pbmdXaXRoRHVyYXRpb249ITEsdC5lbWl0KCJwbG90bHlfdHJhbnNpdGlvbmVkIixbXSl9KS50aGVuKGUpKSl9fXIucnVuRm4obCksc2V0VGltZW91dChsKCkpfSl9XSxvPWwuc3luY09yQXN5bmMoYSx0KTtyZXR1cm4gbyYmby50aGVufHwobz1Qcm9taXNlLnJlc29sdmUoKSksby50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KX1tLmRpZE1hcmdpbkNoYW5nZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8Uy5sZW5ndGg7cisrKXt2YXIgbj1TW3JdLGk9dFtuXSxvPWVbbl07aWYoIWEoaSl8fE1hdGguYWJzKG8taSk+MSlyZXR1cm4hMH1yZXR1cm4hMX0sbS5ncmFwaEpzb249ZnVuY3Rpb24odCxlLHIsbixhKXsoYSYmZSYmIXQuX2Z1bGxEYXRhfHxhJiYhZSYmIXQuX2Z1bGxMYXlvdXQpJiZtLnN1cHBseURlZmF1bHRzKHQpO3ZhciBpPWE/dC5fZnVsbERhdGE6dC5kYXRhLG89YT90Ll9mdWxsTGF5b3V0OnQubGF5b3V0LHM9KHQuX3RyYW5zaXRpb25EYXRhfHx7fSkuX2ZyYW1lcztmdW5jdGlvbiBjKHQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXJldHVybiBudWxsO2lmKGwuaXNQbGFpbk9iamVjdCh0KSl7dmFyIGUsbixhPXt9O2ZvcihlIGluIHQpaWYoImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0mJi0xPT09WyJfIiwiWyJdLmluZGV4T2YoZS5jaGFyQXQoMCkpKXtpZigia2VlcGRhdGEiPT09cil7aWYoInNyYyI9PT1lLnN1YnN0cihlLmxlbmd0aC0zKSljb250aW51ZX1lbHNlIGlmKCJrZWVwc3RyZWFtIj09PXIpe2lmKCJzdHJpbmciPT10eXBlb2Yobj10W2UrInNyYyJdKSYmbi5pbmRleE9mKCI6Iik+MCYmIWwuaXNQbGFpbk9iamVjdCh0LnN0cmVhbSkpY29udGludWV9ZWxzZSBpZigia2VlcGFsbCIhPT1yJiYic3RyaW5nIj09dHlwZW9mKG49dFtlKyJzcmMiXSkmJm4uaW5kZXhPZigiOiIpPjApY29udGludWU7YVtlXT1jKHRbZV0pfXJldHVybiBhfXJldHVybiBBcnJheS5pc0FycmF5KHQpP3QubWFwKGMpOmwuaXNUeXBlZEFycmF5KHQpP2wuc2ltcGxlTWFwKHQsbC5pZGVudGl0eSk6bC5pc0pTRGF0ZSh0KT9sLm1zMkRhdGVUaW1lTG9jYWwoK3QpOnR9dmFyIHU9e2RhdGE6KGl8fFtdKS5tYXAoZnVuY3Rpb24odCl7dmFyIHI9Yyh0KTtyZXR1cm4gZSYmZGVsZXRlIHIuZml0LHJ9KX07cmV0dXJuIGV8fCh1LmxheW91dD1jKG8pKSx0LmZyYW1ld29yayYmdC5mcmFtZXdvcmsuaXNQb2xhciYmKHU9dC5mcmFtZXdvcmsuZ2V0Q29uZmlnKCkpLHMmJih1LmZyYW1lcz1jKHMpKSwib2JqZWN0Ij09PW4/dTpKU09OLnN0cmluZ2lmeSh1KX0sbS5tb2RpZnlGcmFtZXM9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGEsaT10Ll90cmFuc2l0aW9uRGF0YS5fZnJhbWVzLG89dC5fdHJhbnNpdGlvbkRhdGEuX2ZyYW1lSGFzaDtmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKXN3aXRjaCgobj1lW3JdKS50eXBlKXtjYXNlInJlcGxhY2UiOmE9bi52YWx1ZTt2YXIgcz0oaVtuLmluZGV4XXx8e30pLm5hbWUsbD1hLm5hbWU7aVtuLmluZGV4XT1vW2xdPWEsbCE9PXMmJihkZWxldGUgb1tzXSxvW2xdPWEpO2JyZWFrO2Nhc2UiaW5zZXJ0IjpvWyhhPW4udmFsdWUpLm5hbWVdPWEsaS5zcGxpY2Uobi5pbmRleCwwLGEpO2JyZWFrO2Nhc2UiZGVsZXRlIjpkZWxldGUgb1soYT1pW24uaW5kZXhdKS5uYW1lXSxpLnNwbGljZShuLmluZGV4LDEpfXJldHVybiBQcm9taXNlLnJlc29sdmUoKX0sbS5jb21wdXRlRnJhbWU9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGEsaSxvPXQuX3RyYW5zaXRpb25EYXRhLl9mcmFtZUhhc2g7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJjb21wdXRlRnJhbWUgbXVzdCBiZSBnaXZlbiBhIHN0cmluZyBmcmFtZSBuYW1lIik7dmFyIHM9b1tlLnRvU3RyaW5nKCldO2lmKCFzKXJldHVybiExO2Zvcih2YXIgbD1bc10sYz1bcy5uYW1lXTtzLmJhc2VmcmFtZSYmKHM9b1tzLmJhc2VmcmFtZS50b1N0cmluZygpXSkmJi0xPT09Yy5pbmRleE9mKHMubmFtZSk7KWwucHVzaChzKSxjLnB1c2gocy5uYW1lKTtmb3IodmFyIHU9e307cz1sLnBvcCgpOylpZihzLmxheW91dCYmKHUubGF5b3V0PW0uZXh0ZW5kTGF5b3V0KHUubGF5b3V0LHMubGF5b3V0KSkscy5kYXRhKXtpZih1LmRhdGF8fCh1LmRhdGE9W10pLCEobj1zLnRyYWNlcykpZm9yKG49W10scj0wO3I8cy5kYXRhLmxlbmd0aDtyKyspbltyXT1yO2Zvcih1LnRyYWNlc3x8KHUudHJhY2VzPVtdKSxyPTA7cjxzLmRhdGEubGVuZ3RoO3IrKyludWxsIT0oYT1uW3JdKSYmKC0xPT09KGk9dS50cmFjZXMuaW5kZXhPZihhKSkmJihpPXUuZGF0YS5sZW5ndGgsdS50cmFjZXNbaV09YSksdS5kYXRhW2ldPW0uZXh0ZW5kVHJhY2UodS5kYXRhW2ldLHMuZGF0YVtyXSkpfXJldHVybiB1fSxtLnJlY29tcHV0ZUZyYW1lSGFzaD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fdHJhbnNpdGlvbkRhdGEuX2ZyYW1lSGFzaD17fSxyPXQuX3RyYW5zaXRpb25EYXRhLl9mcmFtZXMsbj0wO248ci5sZW5ndGg7bisrKXt2YXIgYT1yW25dO2EmJmEubmFtZSYmKGVbYS5uYW1lXT1hKX19LG0uZXh0ZW5kT2JqZWN0V2l0aENvbnRhaW5lcnM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaSxvLHMsYyx1LGg9bC5leHRlbmREZWVwTm9BcnJheXMoe30sZXx8e30pLGY9bC5leHBhbmRPYmplY3RQYXRocyhoKSxwPXt9O2lmKHImJnIubGVuZ3RoKWZvcihpPTA7aTxyLmxlbmd0aDtpKyspdm9pZCAwPT09KGE9KG49bC5uZXN0ZWRQcm9wZXJ0eShmLHJbaV0pKS5nZXQoKSk/bC5uZXN0ZWRQcm9wZXJ0eShwLHJbaV0pLnNldChudWxsKToobi5zZXQobnVsbCksbC5uZXN0ZWRQcm9wZXJ0eShwLHJbaV0pLnNldChhKSk7aWYodD1sLmV4dGVuZERlZXBOb0FycmF5cyh0fHx7fSxmKSxyJiZyLmxlbmd0aClmb3IoaT0wO2k8ci5sZW5ndGg7aSsrKWlmKGM9bC5uZXN0ZWRQcm9wZXJ0eShwLHJbaV0pLmdldCgpKXtmb3IodT0ocz1sLm5lc3RlZFByb3BlcnR5KHQscltpXSkpLmdldCgpLEFycmF5LmlzQXJyYXkodSl8fCh1PVtdLHMuc2V0KHUpKSxvPTA7bzxjLmxlbmd0aDtvKyspe3ZhciBkPWNbb107dVtvXT1udWxsPT09ZD9udWxsOm0uZXh0ZW5kT2JqZWN0V2l0aENvbnRhaW5lcnModVtvXSxkKX1zLnNldCh1KX1yZXR1cm4gdH0sbS5kYXRhQXJyYXlDb250YWluZXJzPVsidHJhbnNmb3JtcyIsImRpbWVuc2lvbnMiXSxtLmxheW91dEFycmF5Q29udGFpbmVycz1pLmxheW91dEFycmF5Q29udGFpbmVycyxtLmV4dGVuZFRyYWNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0uZXh0ZW5kT2JqZWN0V2l0aENvbnRhaW5lcnModCxlLG0uZGF0YUFycmF5Q29udGFpbmVycyl9LG0uZXh0ZW5kTGF5b3V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0uZXh0ZW5kT2JqZWN0V2l0aENvbnRhaW5lcnModCxlLG0ubGF5b3V0QXJyYXlDb250YWluZXJzKX0sbS50cmFuc2l0aW9uPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz17cmVkcmF3OmEucmVkcmF3fSxzPXt9LGM9W107cmV0dXJuIG8ucHJlcGFyZUZuPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPUFycmF5LmlzQXJyYXkoZSk/ZS5sZW5ndGg6MCxpPW4uc2xpY2UoMCxhKSxvPTA7bzxpLmxlbmd0aDtvKyspe3ZhciB1PWlbb10saD10Ll9mdWxsRGF0YVt1XS5fbW9kdWxlO2lmKGgpe2lmKGguYW5pbWF0YWJsZSl7dmFyIGY9aC5iYXNlUGxvdE1vZHVsZS5uYW1lO3NbZl18fChzW2ZdPVtdKSxzW2ZdLnB1c2godSl9dC5kYXRhW2lbb11dPW0uZXh0ZW5kVHJhY2UodC5kYXRhW2lbb11dLGVbb10pfX12YXIgcD1sLmV4cGFuZE9iamVjdFBhdGhzKGwuZXh0ZW5kRGVlcE5vQXJyYXlzKHt9LHIpKSxkPS9eW3h5XWF4aXNbMC05XSokLztmb3IodmFyIGcgaW4gcClkLnRlc3QoZykmJmRlbGV0ZSBwW2ddLnJhbmdlO20uZXh0ZW5kTGF5b3V0KHQubGF5b3V0LHApLGRlbGV0ZSB0LmNhbGNkYXRhLG0uc3VwcGx5RGVmYXVsdHModCksbS5kb0NhbGNkYXRhKHQpO3ZhciB2PWwuZXhwYW5kT2JqZWN0UGF0aHMocik7aWYodil7dmFyIHk9dC5fZnVsbExheW91dC5fcGxvdHM7Zm9yKHZhciB4IGluIHkpe3ZhciBiPXlbeF0sXz1iLnhheGlzLHc9Yi55YXhpcyxrPV8ucmFuZ2Uuc2xpY2UoKSxUPXcucmFuZ2Uuc2xpY2UoKSxNPW51bGwsQT1udWxsLFM9bnVsbCxFPW51bGw7QXJyYXkuaXNBcnJheSh2W18uX25hbWUrIi5yYW5nZSJdKT9NPXZbXy5fbmFtZSsiLnJhbmdlIl0uc2xpY2UoKTpBcnJheS5pc0FycmF5KCh2W18uX25hbWVdfHx7fSkucmFuZ2UpJiYoTT12W18uX25hbWVdLnJhbmdlLnNsaWNlKCkpLEFycmF5LmlzQXJyYXkodlt3Ll9uYW1lKyIucmFuZ2UiXSk/QT12W3cuX25hbWUrIi5yYW5nZSJdLnNsaWNlKCk6QXJyYXkuaXNBcnJheSgodlt3Ll9uYW1lXXx8e30pLnJhbmdlKSYmKEE9dlt3Ll9uYW1lXS5yYW5nZS5zbGljZSgpKSxrJiZNJiYoXy5yMmwoa1swXSkhPT1fLnIybChNWzBdKXx8Xy5yMmwoa1sxXSkhPT1fLnIybChNWzFdKSkmJihTPXt4cjA6ayx4cjE6TX0pLFQmJkEmJih3LnIybChUWzBdKSE9PXcucjJsKEFbMF0pfHx3LnIybChUWzFdKSE9PXcucjJsKEFbMV0pKSYmKEU9e3lyMDpULHlyMTpBfSksKFN8fEUpJiZjLnB1c2gobC5leHRlbmRGbGF0KHtwbG90aW5mbzpifSxTLEUpKX19cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfSxvLnJ1bkZuPWZ1bmN0aW9uKGUpe3ZhciBuLGEsbz10Ll9mdWxsTGF5b3V0Ll9iYXNlUGxvdE1vZHVsZXMsdT1jLmxlbmd0aDtpZihyKWZvcihhPTA7YTxvLmxlbmd0aDthKyspb1thXS50cmFuc2l0aW9uQXhlcyYmb1thXS50cmFuc2l0aW9uQXhlcyh0LGMsaSxlKTtmb3IodmFyIGggaW4gdT8oKG49bC5leHRlbmRGbGF0KHt9LGkpKS5kdXJhdGlvbj0wLGRlbGV0ZSBzLmNhcnRlc2lhbik6bj1pLHMpe3ZhciBmPXNbaF07dC5fZnVsbERhdGFbZlswXV0uX21vZHVsZS5iYXNlUGxvdE1vZHVsZS5wbG90KHQsZixuLGUpfX0sRSh0LGksbyl9LG0udHJhbnNpdGlvbkZyb21SZWFjdD1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10Ll9mdWxsTGF5b3V0LGk9YS50cmFuc2l0aW9uLG89e30scz1bXTtyZXR1cm4gby5wcmVwYXJlRm49ZnVuY3Rpb24oKXt2YXIgdD1hLl9wbG90cztmb3IodmFyIGkgaW4gby5yZWRyYXc9ITEsInNvbWUiPT09ZS5hbmltJiYoby5yZWRyYXc9ITApLCJzb21lIj09PXIuYW5pbSYmKG8ucmVkcmF3PSEwKSx0KXt2YXIgYz10W2ldLHU9Yy54YXhpcyxoPWMueWF4aXMsZj1uW3UuX25hbWVdLnJhbmdlLnNsaWNlKCkscD1uW2guX25hbWVdLnJhbmdlLnNsaWNlKCksZD11LnJhbmdlLnNsaWNlKCksZz1oLnJhbmdlLnNsaWNlKCk7dS5zZXRTY2FsZSgpLGguc2V0U2NhbGUoKTt2YXIgdj1udWxsLG09bnVsbDt1LnIybChmWzBdKT09PXUucjJsKGRbMF0pJiZ1LnIybChmWzFdKT09PXUucjJsKGRbMV0pfHwodj17eHIwOmYseHIxOmR9KSxoLnIybChwWzBdKT09PWgucjJsKGdbMF0pJiZoLnIybChwWzFdKT09PWgucjJsKGdbMV0pfHwobT17eXIwOnAseXIxOmd9KSwodnx8bSkmJnMucHVzaChsLmV4dGVuZEZsYXQoe3Bsb3RpbmZvOmN9LHYsbSkpfXJldHVybiBQcm9taXNlLnJlc29sdmUoKX0sby5ydW5Gbj1mdW5jdGlvbihyKXtmb3IodmFyIG4sYSxvLGM9dC5fZnVsbERhdGEsdT10Ll9mdWxsTGF5b3V0Ll9iYXNlUGxvdE1vZHVsZXMsaD1bXSxmPTA7ZjxjLmxlbmd0aDtmKyspaC5wdXNoKGYpO2Z1bmN0aW9uIHAoKXtmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKyl1W2VdLnRyYW5zaXRpb25BeGVzJiZ1W2VdLnRyYW5zaXRpb25BeGVzKHQscyxuLHIpfWZ1bmN0aW9uIGQoKXtmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKyl1W2VdLnBsb3QodCxvLGEscil9cy5sZW5ndGgmJmUuYW5pbT8idHJhY2VzIGZpcnN0Ij09PWkub3JkZXJpbmc/KG49bC5leHRlbmRGbGF0KHt9LGkse2R1cmF0aW9uOjB9KSxvPWgsYT1pLHNldFRpbWVvdXQocCxpLmR1cmF0aW9uKSxkKCkpOihuPWksbz1udWxsLGE9bC5leHRlbmRGbGF0KHt9LGkse2R1cmF0aW9uOjB9KSxzZXRUaW1lb3V0KGQsbi5kdXJhdGlvbikscCgpKTpzLmxlbmd0aD8obj1pLHAoKSk6ZS5hbmltJiYobz1oLGE9aSxkKCkpfSxFKHQsaSxvKX0sbS5kb0NhbGNkYXRhPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLHMsYz1oLmxpc3QodCksZj10Ll9mdWxsRGF0YSxwPXQuX2Z1bGxMYXlvdXQsZD1uZXcgQXJyYXkoZi5sZW5ndGgpLGc9KHQuY2FsY2RhdGF8fFtdKS5zbGljZSgpO2Zvcih0LmNhbGNkYXRhPWQscC5fbnVtQm94ZXM9MCxwLl9udW1WaW9saW5zPTAscC5fdmlvbGluU2NhbGVHcm91cFN0YXRzPXt9LHQuX2htcGl4Y291bnQ9MCx0Ll9obWx1bWNvdW50PTAscC5fcGllY29sb3JtYXA9e30scC5fc3VuYnVyc3Rjb2xvcm1hcD17fSxwLl90cmVlbWFwY29sb3JtYXA9e30scC5fZnVubmVsYXJlYWNvbG9ybWFwPXt9LGE9MDthPGYubGVuZ3RoO2ErKylBcnJheS5pc0FycmF5KGUpJiYtMT09PWUuaW5kZXhPZihhKSYmKGRbYV09Z1thXSk7Zm9yKGE9MDthPGYubGVuZ3RoO2ErKykocj1mW2FdKS5fYXJyYXlBdHRycz1vLmZpbmRBcnJheUF0dHJpYnV0ZXMociksci5fZXh0cmVtZXM9e307dmFyIHY9cC5fc3VicGxvdHMucG9sYXJ8fFtdO2ZvcihhPTA7YTx2Lmxlbmd0aDthKyspYy5wdXNoKHBbdlthXV0ucmFkaWFsYXhpcyxwW3ZbYV1dLmFuZ3VsYXJheGlzKTtmb3IodmFyIG0gaW4gcC5fY29sb3JBeGVzKXt2YXIgeD1wW21dOyExIT09eC5jYXV0byYmKGRlbGV0ZSB4LmNtaW4sZGVsZXRlIHguY21heCl9dmFyIGI9ITE7ZnVuY3Rpb24gXyhlKXtpZihyPWZbZV0sbj1yLl9tb2R1bGUsITA9PT1yLnZpc2libGUmJnIudHJhbnNmb3Jtcyl7aWYobiYmbi5jYWxjKXt2YXIgYT1uLmNhbGModCxyKTthWzBdJiZhWzBdLnQmJmFbMF0udC5fc2NlbmUmJmRlbGV0ZSBhWzBdLnQuX3NjZW5lLmRpcnR5fWZvcihzPTA7czxyLnRyYW5zZm9ybXMubGVuZ3RoO3MrKyl7dmFyIGk9ci50cmFuc2Zvcm1zW3NdOyhuPXlbaS50eXBlXSkmJm4uY2FsY1RyYW5zZm9ybSYmKHIuX2hhc0NhbGNUcmFuc2Zvcm09ITAsYj0hMCxuLmNhbGNUcmFuc2Zvcm0odCxyLGkpKX19fWZ1bmN0aW9uIHcoZSxhKXtpZihyPWZbZV0sISEobj1yLl9tb2R1bGUpLmlzQ29udGFpbmVyPT09YSl7dmFyIGk9W107aWYoITA9PT1yLnZpc2libGUmJjAhPT1yLl9sZW5ndGgpe2RlbGV0ZSByLl9pbmRleFRvUG9pbnRzO3ZhciBvPXIudHJhbnNmb3Jtc3x8W107Zm9yKHM9by5sZW5ndGgtMTtzPj0wO3MtLSlpZihvW3NdLmVuYWJsZWQpe3IuX2luZGV4VG9Qb2ludHM9b1tzXS5faW5kZXhUb1BvaW50czticmVha31uJiZuLmNhbGMmJihpPW4uY2FsYyh0LHIpKX1BcnJheS5pc0FycmF5KGkpJiZpWzBdfHwoaT1be3g6dSx5OnV9XSksaVswXS50fHwoaVswXS50PXt9KSxpWzBdLnRyYWNlPXIsZFtlXT1pfX1mb3IoQyhjLGYscCksYT0wO2E8Zi5sZW5ndGg7YSsrKXcoYSwhMCk7Zm9yKGE9MDthPGYubGVuZ3RoO2ErKylfKGEpO2ZvcihiJiZDKGMsZixwKSxhPTA7YTxmLmxlbmd0aDthKyspdyhhLCEwKTtmb3IoYT0wO2E8Zi5sZW5ndGg7YSsrKXcoYSwhMSk7UCh0KTt2YXIgaz1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxvLHMsYz1bXTtmdW5jdGlvbiB1KHQscixuKXt2YXIgYT1yLl9pZC5jaGFyQXQoMCk7aWYoImhpc3RvZ3JhbTJkY29udG91ciI9PT10KXt2YXIgaT1yLl9jb3VudGVyQXhlc1swXSxvPWguZ2V0RnJvbUlkKGUsaSkscz0ieCI9PT1hfHwieCI9PT1pJiYiY2F0ZWdvcnkiPT09by50eXBlLGw9InkiPT09YXx8InkiPT09aSYmImNhdGVnb3J5Ij09PW8udHlwZTtyZXR1cm4gZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXR8fDA9PT1lPy0xOnMmJnQ9PT1uW2VdLmxlbmd0aC0xPy0xOmwmJmU9PT1uLmxlbmd0aC0xPy0xOigieSI9PT1hP2U6dCktMX19cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuInkiPT09YT9lOnR9fXZhciBmPXttaW46ZnVuY3Rpb24odCl7cmV0dXJuIGwuYWdnTnVtcyhNYXRoLm1pbixudWxsLHQpfSxtYXg6ZnVuY3Rpb24odCl7cmV0dXJuIGwuYWdnTnVtcyhNYXRoLm1heCxudWxsLHQpfSxzdW06ZnVuY3Rpb24odCl7cmV0dXJuIGwuYWdnTnVtcyhmdW5jdGlvbih0LGUpe3JldHVybiB0K2V9LG51bGwsdCl9LHRvdGFsOmZ1bmN0aW9uKHQpe3JldHVybiBsLmFnZ051bXMoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlfSxudWxsLHQpfSxtZWFuOmZ1bmN0aW9uKHQpe3JldHVybiBsLm1lYW4odCl9LG1lZGlhbjpmdW5jdGlvbih0KXtyZXR1cm4gbC5tZWRpYW4odCl9fTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgcD10W3JdO2lmKCJjYXRlZ29yeSI9PT1wLnR5cGUpe3ZhciBkPXAuY2F0ZWdvcnlvcmRlci5tYXRjaChMKTtpZihkKXt2YXIgZz1kWzFdLHY9ZFsyXSxtPVtdO2ZvcihuPTA7bjxwLl9jYXRlZ29yaWVzLmxlbmd0aDtuKyspbS5wdXNoKFtwLl9jYXRlZ29yaWVzW25dLFtdXSk7Zm9yKG49MDtuPHAuX3RyYWNlSW5kaWNlcy5sZW5ndGg7bisrKXt2YXIgeT1wLl90cmFjZUluZGljZXNbbl0seD1lLl9mdWxsRGF0YVt5XSxiPXAuX2lkLmNoYXJBdCgwKTtpZighMD09PXgudmlzaWJsZSl7dmFyIF89eC50eXBlO2kudHJhY2VJcyh4LCJoaXN0b2dyYW0iKSYmKGRlbGV0ZSB4Ll94YXV0b0JpbkZpbmlzaGVkLGRlbGV0ZSB4Ll95YXV0b0JpbkZpbmlzaGVkKTt2YXIgdz1lLmNhbGNkYXRhW3ldO2ZvcihhPTA7YTx3Lmxlbmd0aDthKyspe3ZhciBrLFQsTSxBPXdbYV07aWYoInNwbG9tIj09PV8pe3ZhciBTPXguX2F4ZXNEaW1bcC5faWRdO2lmKCJ5Ij09PWIpe3ZhciBFPXguX2RpYWdbU11bMF07RSYmKHA9ZS5fZnVsbExheW91dFtoLmlkMm5hbWUoRSldKX12YXIgQz1BLnRyYWNlLmRpbWVuc2lvbnNbU10udmFsdWVzO2ZvcihvPTA7bzxDLmxlbmd0aDtvKyspZm9yKGs9Q1tvXSxUPXAuX2NhdGVnb3JpZXNNYXBba10scz0wO3M8QS50cmFjZS5kaW1lbnNpb25zLmxlbmd0aDtzKyspaWYocyE9PVMpe3ZhciBQPUEudHJhY2UuZGltZW5zaW9uc1tzXTttW1RdWzFdLnB1c2goUC52YWx1ZXNbb10pfX1lbHNlIGlmKCJzY2F0dGVyZ2wiPT09Xyl7Zm9yKG89MDtvPEEudC54Lmxlbmd0aDtvKyspIngiPT09YiYmKGs9QS50Lnhbb10sVD1rLE09QS50Lnlbb10pLCJ5Ij09PWImJihrPUEudC55W29dLFQ9ayxNPUEudC54W29dKSxtW1RdWzFdLnB1c2goTSk7QS50JiZBLnQuX3NjZW5lJiZkZWxldGUgQS50Ll9zY2VuZS5kaXJ0eX1lbHNlIGlmKEEuaGFzT3duUHJvcGVydHkoInoiKSl7TT1BLno7dmFyIE89dSh4LnR5cGUscCxNKTtmb3Iobz0wO288TS5sZW5ndGg7bysrKWZvcihzPTA7czxNW29dLmxlbmd0aDtzKyspKFQ9TyhzLG8pKSsxJiZtW1RdWzFdLnB1c2goTVtvXVtzXSl9ZWxzZSBmb3IoIngiPT09Yj8oaz1BLnArMT9BLnA6QS54LE09QS5zfHxBLnZ8fEEueSk6InkiPT09YiYmKGs9QS5wKzE/QS5wOkEueSxNPUEuc3x8QS52fHxBLngpLEFycmF5LmlzQXJyYXkoTSl8fChNPVtNXSksbz0wO288TS5sZW5ndGg7bysrKW1ba11bMV0ucHVzaChNW29dKX19fXAuX2NhdGVnb3JpZXNWYWx1ZT1tO3ZhciB6PVtdO2ZvcihuPTA7bjxtLmxlbmd0aDtuKyspei5wdXNoKFttW25dWzBdLGZbZ10obVtuXVsxXSldKTt6LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFsxXS1lWzFdfSkscC5fY2F0ZWdvcmllc0FnZ3JlZ2F0ZWRWYWx1ZT16LHAuX2luaXRpYWxDYXRlZ29yaWVzPXoubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdfSksImRlc2NlbmRpbmciPT09diYmcC5faW5pdGlhbENhdGVnb3JpZXMucmV2ZXJzZSgpLGM9Yy5jb25jYXQocC5zb3J0QnlJbml0aWFsQ2F0ZWdvcmllcygpKX19fXJldHVybiBjfShjLHQpO2lmKGsubGVuZ3RoKXtmb3IocC5fbnVtQm94ZXM9MCxwLl9udW1WaW9saW5zPTAsYT0wO2E8ay5sZW5ndGg7YSsrKXcoa1thXSwhMCk7Zm9yKGE9MDthPGsubGVuZ3RoO2ErKyl3KGtbYV0sITEpO1AodCl9aS5nZXRDb21wb25lbnRNZXRob2QoImZ4IiwiY2FsYyIpKHQpLGkuZ2V0Q29tcG9uZW50TWV0aG9kKCJlcnJvcmJhcnMiLCJjYWxjIikodCl9O3ZhciBMPS8odG90YWx8c3VtfG1pbnxtYXh8bWVhbnxtZWRpYW4pIChhc2NlbmRpbmd8ZGVzY2VuZGluZykvO2Z1bmN0aW9uIEModCxlLHIpe3ZhciBuLGEsaSxvPXt9O2ZvcihuPTA7bjx0Lmxlbmd0aDtuKyspaT0oYT10W25dKS5faWQsYS5jbGVhckNhbGMoKSwibXVsdGljYXRlZ29yeSI9PT1hLnR5cGUmJmEuc2V0dXBNdWx0aUNhdGVnb3J5KGUpLG9bYS5faWRdPTE7dmFyIHM9ci5fYXhpc01hdGNoR3JvdXBzfHxbXTtmb3Iobj0wO248cy5sZW5ndGg7bisrKWZvcihpIGluIHNbbl0pb1tpXXx8KGE9cltoLmlkMm5hbWUoaSldKS5jbGVhckNhbGMoKX1mdW5jdGlvbiBQKHQpe3ZhciBlLHIsbixhPXQuX2Z1bGxMYXlvdXQsaT1hLl92aXNpYmxlTW9kdWxlcyxvPXt9O2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspe3ZhciBzPWlbcl0sYz1zLmNyb3NzVHJhY2VDYWxjO2lmKGMpe3ZhciB1PXMuYmFzZVBsb3RNb2R1bGUubmFtZTtvW3VdP2wucHVzaFVuaXF1ZShvW3VdLGMpOm9bdV09W2NdfX1mb3IobiBpbiBvKXt2YXIgaD1vW25dLGY9YS5fc3VicGxvdHNbbl07aWYoQXJyYXkuaXNBcnJheShmKSlmb3IoZT0wO2U8Zi5sZW5ndGg7ZSsrKXt2YXIgcD1mW2VdLGQ9ImNhcnRlc2lhbiI9PT1uP2EuX3Bsb3RzW3BdOmFbcF07Zm9yKHI9MDtyPGgubGVuZ3RoO3IrKyloW3JdKHQsZCxwKX1lbHNlIGZvcihyPTA7cjxoLmxlbmd0aDtyKyspaFtyXSh0KX19bS5yZWhvdmVyPWZ1bmN0aW9uKHQpe3QuX2Z1bGxMYXlvdXQuX3JlaG92ZXImJnQuX2Z1bGxMYXlvdXQuX3JlaG92ZXIoKX0sbS5yZWRyYWc9ZnVuY3Rpb24odCl7dC5fZnVsbExheW91dC5fcmVkcmFnJiZ0Ll9mdWxsTGF5b3V0Ll9yZWRyYWcoKX0sbS5nZW5lcmFsVXBkYXRlUGVyVHJhY2VNb2R1bGU9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsaT1lLnRyYWNlSGFzaCxvPXt9O2ZvcihhPTA7YTxyLmxlbmd0aDthKyspe3ZhciBzPXJbYV0sYz1zWzBdLnRyYWNlO2MudmlzaWJsZSYmKG9bYy50eXBlXT1vW2MudHlwZV18fFtdLG9bYy50eXBlXS5wdXNoKHMpKX1mb3IodmFyIHUgaW4gaSlpZighb1t1XSl7dmFyIGg9aVt1XVswXTtoWzBdLnRyYWNlLnZpc2libGU9ITEsb1t1XT1baF19Zm9yKHZhciBmIGluIG8pe3ZhciBwPW9bZl07cFswXVswXS50cmFjZS5fbW9kdWxlLnBsb3QodCxlLGwuZmlsdGVyVmlzaWJsZShwKSxuKX1lLnRyYWNlSGFzaD1vfSxtLnBsb3RCYXNlUGxvdD1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBvPWkuZ2V0TW9kdWxlKHQpLHM9ZChlLmNhbGNkYXRhLG8pWzBdO28ucGxvdChlLHMsbixhKX0sbS5jbGVhbkJhc2VQbG90PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9YS5faGFzJiZhLl9oYXModCksbz1yLl9oYXMmJnIuX2hhcyh0KTtpJiYhbyYmYVsiXyIrdCsibGF5ZXIiXS5zZWxlY3RBbGwoImcudHJhY2UiKS5yZW1vdmUoKX19LHsiLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uL2xpYiI6NzE3LCIuLi9wbG90X2FwaS9wbG90X3NjaGVtYSI6NzU0LCIuLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uL3Bsb3RzL2dldF9kYXRhIjo4MDAsIi4uL3JlZ2lzdHJ5Ijo4NDYsIi4vYW5pbWF0aW9uX2F0dHJpYnV0ZXMiOjc2MCwiLi9hdHRyaWJ1dGVzIjo3NjIsIi4vY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsIi4vY29tbWFuZCI6Nzg5LCIuL2ZvbnRfYXR0cmlidXRlcyI6NzkxLCIuL2ZyYW1lX2F0dHJpYnV0ZXMiOjc5MiwiLi9sYXlvdXRfYXR0cmlidXRlcyI6ODE3LGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDgyNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHI6InN1YnBsb3QiLG5hbWU6InBvbGFyIixheGlzTmFtZXM6WyJhbmd1bGFyYXhpcyIsInJhZGlhbGF4aXMiXSxheGlzTmFtZTJkYXRhQXJyYXk6e2FuZ3VsYXJheGlzOiJ0aGV0YSIscmFkaWFsYXhpczoiciJ9LGxheWVyTmFtZXM6WyJkcmFnbGF5ZXIiLCJwbG90YmciLCJiYWNrcGxvdCIsImFuZ3VsYXItZ3JpZCIsInJhZGlhbC1ncmlkIiwiZnJvbnRwbG90IiwiYW5ndWxhci1saW5lIiwicmFkaWFsLWxpbmUiLCJhbmd1bGFyLWF4aXMiLCJyYWRpYWwtYXhpcyJdLHJhZGlhbERyYWdCb3hTaXplOjUwLGFuZ3VsYXJEcmFnQm94U2l6ZTozMCxjb3JuZXJMZW46MjUsY29ybmVySGFsZldpZHRoOjIsTUlORFJBRzo4LE1JTlpPT006MjAsT0ZGRURHRToyMH19LHt9XSw4Mjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9saWIvcG9seWdvbiIpLnRlc3RlcixpPW4uZmluZEluZGV4T2ZNaW4sbz1uLmlzQW5nbGVJbnNpZGVTZWN0b3Iscz1uLmFuZ2xlRGVsdGEsbD1uLmFuZ2xlRGlzdDtmdW5jdGlvbiBjKHQsZSxyLG4pe3ZhciBhLGksbz1uWzBdLHM9blsxXSxsPWgoTWF0aC5zaW4oZSktTWF0aC5zaW4odCkpLGM9aChNYXRoLmNvcyhlKS1NYXRoLmNvcyh0KSksdT1NYXRoLnRhbihyKSxmPWgoMS91KSxwPWwvYyxkPXMtcCpvO3JldHVybiBmP2wmJmM/aT11KihhPWQvKHUtcCkpOmM/KGE9cypmLGk9cyk6KGE9byxpPW8qdSk6bCYmYz8oYT0wLGk9ZCk6Yz8oYT0wLGk9cyk6YT1pPU5hTixbYSxpXX1mdW5jdGlvbiB1KHQsZSxyLGEpe3JldHVybiBuLmlzRnVsbENpcmNsZShbZSxyXSk/ZnVuY3Rpb24odCxlKXt2YXIgcixuPWUubGVuZ3RoLGE9bmV3IEFycmF5KG4rMSk7Zm9yKHI9MDtyPG47cisrKXt2YXIgaT1lW3JdO2Fbcl09W3QqTWF0aC5jb3MoaSksdCpNYXRoLnNpbihpKV19cmV0dXJuIGFbcl09YVswXS5zbGljZSgpLGF9KHQsYSk6ZnVuY3Rpb24odCxlLHIsYSl7dmFyIHMsdSxoPWEubGVuZ3RoLGY9W107ZnVuY3Rpb24gcChlKXtyZXR1cm5bdCpNYXRoLmNvcyhlKSx0Kk1hdGguc2luKGUpXX1mdW5jdGlvbiBkKHQsZSxyKXtyZXR1cm4gYyh0LGUscixwKHQpKX1mdW5jdGlvbiBnKHQpe3JldHVybiBuLm1vZCh0LGgpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIG8odCxbZSxyXSl9dmFyIG09aShhLGZ1bmN0aW9uKHQpe3JldHVybiB2KHQpP2wodCxlKToxLzB9KSx5PWQoYVttXSxhW2cobS0xKV0sZSk7Zm9yKGYucHVzaCh5KSxzPW0sdT0wO3U8aDtzKyssdSsrKXt2YXIgeD1hW2cocyldO2lmKCF2KHgpKWJyZWFrO2YucHVzaChwKHgpKX12YXIgYj1pKGEsZnVuY3Rpb24odCl7cmV0dXJuIHYodCk/bCh0LHIpOjEvMH0pLF89ZChhW2JdLGFbZyhiKzEpXSxyKTtyZXR1cm4gZi5wdXNoKF8pLGYucHVzaChbMCwwXSksZi5wdXNoKGZbMF0uc2xpY2UoKSksZn0odCxlLHIsYSl9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gTWF0aC5hYnModCk+MWUtMTA/dDowfWZ1bmN0aW9uIGYodCxlLHIpe2U9ZXx8MCxyPXJ8fDA7Zm9yKHZhciBuPXQubGVuZ3RoLGE9bmV3IEFycmF5KG4pLGk9MDtpPG47aSsrKXt2YXIgbz10W2ldO2FbaV09W2Urb1swXSxyLW9bMV1dfXJldHVybiBhfWUuZXhwb3J0cz17aXNQdEluc2lkZVBvbHlnb246ZnVuY3Rpb24odCxlLHIsbixpKXtpZighbyhlLG4pKXJldHVybiExO3ZhciBzLGw7clswXTxyWzFdPyhzPXJbMF0sbD1yWzFdKToocz1yWzFdLGw9clswXSk7dmFyIGM9YSh1KHMsblswXSxuWzFdLGkpKSxoPWEodShsLG5bMF0sblsxXSxpKSksZj1bdCpNYXRoLmNvcyhlKSx0Kk1hdGguc2luKGUpXTtyZXR1cm4gaC5jb250YWlucyhmKSYmIWMuY29udGFpbnMoZil9LGZpbmRQb2x5Z29uT2Zmc2V0OmZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYT0xLzAsaT0xLzAsbz11KHQsZSxyLG4pLHM9MDtzPG8ubGVuZ3RoO3MrKyl7dmFyIGw9b1tzXTthPU1hdGgubWluKGEsbFswXSksaT1NYXRoLm1pbihpLC1sWzFdKX1yZXR1cm5bYSxpXX0sZmluZEVuY2xvc2luZ1ZlcnRleEFuZ2xlczpmdW5jdGlvbih0LGUpe3ZhciByPWkoZSxmdW5jdGlvbihlKXt2YXIgcj1zKGUsdCk7cmV0dXJuIHI+MD9yOjEvMH0pLGE9bi5tb2QocisxLGUubGVuZ3RoKTtyZXR1cm5bZVtyXSxlW2FdXX0sZmluZEludGVyc2VjdGlvblhZOmMsZmluZFhZYXRMZW5ndGg6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9LWUqcixpPWUqZSsxLG89MiooZSphLXIpLHM9YSphK3Iqci10KnQsbD1NYXRoLnNxcnQobypvLTQqaSpzKSxjPSgtbytsKS8oMippKSx1PSgtby1sKS8oMippKTtyZXR1cm5bW2MsZSpjK2Erbl0sW3UsZSp1K2Erbl1dfSxjbGFtcFRpbnk6aCxwYXRoUG9seWdvbjpmdW5jdGlvbih0LGUscixuLGEsaSl7cmV0dXJuIk0iK2YodSh0LGUscixuKSxhLGkpLmpvaW4oIkwiKX0scGF0aFBvbHlnb25Bbm51bHVzOmZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzLGw7dDxlPyhzPXQsbD1lKToocz1lLGw9dCk7dmFyIGM9Zih1KHMscixuLGEpLGksbyk7cmV0dXJuIk0iK2YodShsLHIsbixhKSxpLG8pLnJldmVyc2UoKS5qb2luKCJMIikrIk0iK2Muam9pbigiTCIpfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9wb2x5Z29uIjo3Mjl9XSw4Mjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vZ2V0X2RhdGEiKS5nZXRTdWJwbG90Q2FsY0RhdGEsYT10KCIuLi8uLi9saWIiKS5jb3VudGVyUmVnZXgsaT10KCIuL3BvbGFyIiksbz10KCIuL2NvbnN0YW50cyIpLHM9by5hdHRyLGw9by5uYW1lLGM9YShsKSx1PXt9O3Vbc109e3ZhbFR5cGU6InN1YnBsb3RpZCIsZGZsdDpsLGVkaXRUeXBlOiJjYWxjIn0sZS5leHBvcnRzPXthdHRyOnMsbmFtZTpsLGlkUm9vdDpsLGlkUmVnZXg6YyxhdHRyUmVnZXg6YyxhdHRyaWJ1dGVzOnUsbGF5b3V0QXR0cmlidXRlczp0KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxwbG90OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Ll9mdWxsTGF5b3V0LHI9dC5jYWxjZGF0YSxhPWUuX3N1YnBsb3RzW2xdLG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXSxjPW4ocixsLHMpLHU9ZVtzXS5fc3VicGxvdDt1fHwodT1pKHQscyksZVtzXS5fc3VicGxvdD11KSx1LnBsb3QoYyxlLHQuX3Byb21pc2VzKX19LGNsZWFuOmZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYT1uLl9zdWJwbG90c1tsXXx8W10saT1uLl9oYXMmJm4uX2hhcygiZ2wiKSxvPWUuX2hhcyYmZS5faGFzKCJnbCIpLHM9aSYmIW8sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgdT1hW2NdLGg9blt1XS5fc3VicGxvdDtpZighZVt1XSYmaClmb3IodmFyIGYgaW4gaC5mcmFtZXdvcmsucmVtb3ZlKCksaC5sYXllcnNbInJhZGlhbC1heGlzLXRpdGxlIl0ucmVtb3ZlKCksaC5jbGlwUGF0aHMpaC5jbGlwUGF0aHNbZl0ucmVtb3ZlKCk7cyYmaC5fc2NlbmUmJihoLl9zY2VuZS5kZXN0cm95KCksaC5fc2NlbmU9bnVsbCl9fSx0b1NWRzp0KCIuLi9jYXJ0ZXNpYW4iKS50b1NWR319LHsiLi4vLi4vbGliIjo3MTcsIi4uL2NhcnRlc2lhbiI6Nzc2LCIuLi9nZXRfZGF0YSI6ODAwLCIuL2NvbnN0YW50cyI6ODI3LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo4MzAsIi4vbGF5b3V0X2RlZmF1bHRzIjo4MzEsIi4vcG9sYXIiOjgzOH1dLDgzMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiKSxhPXQoIi4uL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyIpLGk9dCgiLi4vZG9tYWluIikuYXR0cmlidXRlcyxvPXQoIi4uLy4uL2xpYiIpLmV4dGVuZEZsYXQscz10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwsbD1zKHtjb2xvcjphLmNvbG9yLHNob3dsaW5lOm8oe30sYS5zaG93bGluZSx7ZGZsdDohMH0pLGxpbmVjb2xvcjphLmxpbmVjb2xvcixsaW5ld2lkdGg6YS5saW5ld2lkdGgsc2hvd2dyaWQ6byh7fSxhLnNob3dncmlkLHtkZmx0OiEwfSksZ3JpZGNvbG9yOmEuZ3JpZGNvbG9yLGdyaWR3aWR0aDphLmdyaWR3aWR0aH0sInBsb3QiLCJmcm9tLXJvb3QiKSxjPXMoe3RpY2ttb2RlOmEudGlja21vZGUsbnRpY2tzOmEubnRpY2tzLHRpY2swOmEudGljazAsZHRpY2s6YS5kdGljayx0aWNrdmFsczphLnRpY2t2YWxzLHRpY2t0ZXh0OmEudGlja3RleHQsdGlja3M6YS50aWNrcyx0aWNrbGVuOmEudGlja2xlbix0aWNrd2lkdGg6YS50aWNrd2lkdGgsdGlja2NvbG9yOmEudGlja2NvbG9yLHNob3d0aWNrbGFiZWxzOmEuc2hvd3RpY2tsYWJlbHMsc2hvd3RpY2twcmVmaXg6YS5zaG93dGlja3ByZWZpeCx0aWNrcHJlZml4OmEudGlja3ByZWZpeCxzaG93dGlja3N1ZmZpeDphLnNob3d0aWNrc3VmZml4LHRpY2tzdWZmaXg6YS50aWNrc3VmZml4LHNob3dleHBvbmVudDphLnNob3dleHBvbmVudCxleHBvbmVudGZvcm1hdDphLmV4cG9uZW50Zm9ybWF0LHNlcGFyYXRldGhvdXNhbmRzOmEuc2VwYXJhdGV0aG91c2FuZHMsdGlja2ZvbnQ6YS50aWNrZm9udCx0aWNrYW5nbGU6YS50aWNrYW5nbGUsdGlja2Zvcm1hdDphLnRpY2tmb3JtYXQsdGlja2Zvcm1hdHN0b3BzOmEudGlja2Zvcm1hdHN0b3BzLGxheWVyOmEubGF5ZXJ9LCJwbG90IiwiZnJvbS1yb290IiksdT17dmlzaWJsZTpvKHt9LGEudmlzaWJsZSx7ZGZsdDohMH0pLHR5cGU6byh7fSxhLnR5cGUse3ZhbHVlczpbIi0iLCJsaW5lYXIiLCJsb2ciLCJkYXRlIiwiY2F0ZWdvcnkiXX0pLGF1dG9yYW5nZTpvKHt9LGEuYXV0b3JhbmdlLHtlZGl0VHlwZToicGxvdCJ9KSxyYW5nZW1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvemVybyIsIm5vbm5lZ2F0aXZlIiwibm9ybWFsIl0sZGZsdDoidG96ZXJvIixlZGl0VHlwZToiY2FsYyJ9LHJhbmdlOm8oe30sYS5yYW5nZSx7aXRlbXM6W3t2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXV0b3JhbmdlIjohMX19LHt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXV0b3JhbmdlIjohMX19XSxlZGl0VHlwZToicGxvdCJ9KSxjYXRlZ29yeW9yZGVyOmEuY2F0ZWdvcnlvcmRlcixjYXRlZ29yeWFycmF5OmEuY2F0ZWdvcnlhcnJheSxhbmdsZTp7dmFsVHlwZToiYW5nbGUiLGVkaXRUeXBlOiJwbG90In0sc2lkZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiY2xvY2t3aXNlIiwiY291bnRlcmNsb2Nrd2lzZSJdLGRmbHQ6ImNsb2Nrd2lzZSIsZWRpdFR5cGU6InBsb3QifSx0aXRsZTp7dGV4dDpvKHt9LGEudGl0bGUudGV4dCx7ZWRpdFR5cGU6InBsb3QiLGRmbHQ6IiJ9KSxmb250Om8oe30sYS50aXRsZS5mb250LHtlZGl0VHlwZToicGxvdCJ9KSxlZGl0VHlwZToicGxvdCJ9LGhvdmVyZm9ybWF0OmEuaG92ZXJmb3JtYXQsdWlyZXZpc2lvbjp7dmFsVHlwZToiYW55IixlZGl0VHlwZToibm9uZSJ9LGVkaXRUeXBlOiJjYWxjIixfZGVwcmVjYXRlZDp7dGl0bGU6YS5fZGVwcmVjYXRlZC50aXRsZSx0aXRsZWZvbnQ6YS5fZGVwcmVjYXRlZC50aXRsZWZvbnR9fTtvKHUsbCxjKTt2YXIgaD17dmlzaWJsZTpvKHt9LGEudmlzaWJsZSx7ZGZsdDohMH0pLHR5cGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbIi0iLCJsaW5lYXIiLCJjYXRlZ29yeSJdLGRmbHQ6Ii0iLGVkaXRUeXBlOiJjYWxjIixfbm9UZW1wbGF0aW5nOiEwfSxjYXRlZ29yeW9yZGVyOmEuY2F0ZWdvcnlvcmRlcixjYXRlZ29yeWFycmF5OmEuY2F0ZWdvcnlhcnJheSx0aGV0YXVuaXQ6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInJhZGlhbnMiLCJkZWdyZWVzIl0sZGZsdDoiZGVncmVlcyIsZWRpdFR5cGU6ImNhbGMifSxwZXJpb2Q6e3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6ImNhbGMiLG1pbjowfSxkaXJlY3Rpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImNvdW50ZXJjbG9ja3dpc2UiLCJjbG9ja3dpc2UiXSxkZmx0OiJjb3VudGVyY2xvY2t3aXNlIixlZGl0VHlwZToiY2FsYyJ9LHJvdGF0aW9uOnt2YWxUeXBlOiJhbmdsZSIsZWRpdFR5cGU6ImNhbGMifSxob3ZlcmZvcm1hdDphLmhvdmVyZm9ybWF0LHVpcmV2aXNpb246e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6Im5vbmUifSxlZGl0VHlwZToiY2FsYyJ9O28oaCxsLGMpLGUuZXhwb3J0cz17ZG9tYWluOmkoe25hbWU6InBvbGFyIixlZGl0VHlwZToicGxvdCJ9KSxzZWN0b3I6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGl0ZW1zOlt7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToicGxvdCJ9LHt2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJwbG90In1dLGRmbHQ6WzAsMzYwXSxlZGl0VHlwZToicGxvdCJ9LGhvbGU6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDowLGVkaXRUeXBlOiJwbG90In0sYmdjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJwbG90IixkZmx0Om4uYmFja2dyb3VuZH0scmFkaWFsYXhpczp1LGFuZ3VsYXJheGlzOmgsZ3JpZHNoYXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJjaXJjdWxhciIsImxpbmVhciJdLGRmbHQ6ImNpcmN1bGFyIixlZGl0VHlwZToicGxvdCJ9LHVpcmV2aXNpb246e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6Im5vbmUifSxlZGl0VHlwZToiY2FsYyJ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyI6NTkxLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi4vZG9tYWluIjo3OTB9XSw4MzE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksaT10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIiksbz10KCIuLi9zdWJwbG90X2RlZmF1bHRzIikscz10KCIuLi9nZXRfZGF0YSIpLmdldFN1YnBsb3REYXRhLGw9dCgiLi4vY2FydGVzaWFuL3RpY2tfdmFsdWVfZGVmYXVsdHMiKSxjPXQoIi4uL2NhcnRlc2lhbi90aWNrX21hcmtfZGVmYXVsdHMiKSx1PXQoIi4uL2NhcnRlc2lhbi90aWNrX2xhYmVsX2RlZmF1bHRzIiksaD10KCIuLi9jYXJ0ZXNpYW4vY2F0ZWdvcnlfb3JkZXJfZGVmYXVsdHMiKSxmPXQoIi4uL2NhcnRlc2lhbi9saW5lX2dyaWRfZGVmYXVsdHMiKSxwPXQoIi4uL2NhcnRlc2lhbi9heGlzX2F1dG90eXBlIiksZD10KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksZz10KCIuL3NldF9jb252ZXJ0Iiksdj10KCIuL2NvbnN0YW50cyIpLG09di5heGlzTmFtZXM7ZnVuY3Rpb24geSh0LGUscixvKXt2YXIgcD1yKCJiZ2NvbG9yIik7by5iZ0NvbG9yPWEuY29tYmluZShwLG8ucGFwZXJfYmdjb2xvcik7dmFyIHk9cigic2VjdG9yIik7cigiaG9sZSIpO3ZhciBiLF89cyhvLmZ1bGxEYXRhLHYubmFtZSxvLmlkKSx3PW8ubGF5b3V0T3V0O2Z1bmN0aW9uIGsodCxlKXtyZXR1cm4gcihiKyIuIit0LGUpfWZvcih2YXIgVD0wO1Q8bS5sZW5ndGg7VCsrKXtiPW1bVF0sbi5pc1BsYWluT2JqZWN0KHRbYl0pfHwodFtiXT17fSk7dmFyIE09dFtiXSxBPWkubmV3Q29udGFpbmVyKGUsYik7QS5faWQ9QS5fbmFtZT1iLEEuX2F0dHI9by5pZCsiLiIrYixBLl90cmFjZUluZGljZXM9Xy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuX2V4cGFuZGVkSW5kZXh9KTt2YXIgUz12LmF4aXNOYW1lMmRhdGFBcnJheVtiXSxFPXgoTSxBLGssXyxTKTtoKE0sQSxrLHtheERhdGE6XyxkYXRhQXR0cjpTfSk7dmFyIEwsQyxQPWsoInZpc2libGUiKTtzd2l0Y2goZyhBLGUsdyksaygidWlyZXZpc2lvbiIsZS51aXJldmlzaW9uKSxQJiYoQz0oTD1rKCJjb2xvciIpKT09PU0uY29sb3I/TDpvLmZvbnQuY29sb3IpLEEuX209MSxiKXtjYXNlInJhZGlhbGF4aXMiOnZhciBPPWsoImF1dG9yYW5nZSIsIUEuaXNWYWxpZFJhbmdlKE0ucmFuZ2UpKTtNLmF1dG9yYW5nZT1PLCFPfHwibGluZWFyIiE9PUUmJiItIiE9PUV8fGsoInJhbmdlbW9kZSIpLCJyZXZlcnNlZCI9PT1PJiYoQS5fbT0tMSksaygicmFuZ2UiKSxBLmNsZWFuUmFuZ2UoInJhbmdlIix7ZGZsdFJhbmdlOlswLDFdfSksUCYmKGsoInNpZGUiKSxrKCJhbmdsZSIseVswXSksaygidGl0bGUudGV4dCIpLG4uY29lcmNlRm9udChrLCJ0aXRsZS5mb250Iix7ZmFtaWx5Om8uZm9udC5mYW1pbHksc2l6ZTpNYXRoLnJvdW5kKDEuMipvLmZvbnQuc2l6ZSksY29sb3I6Q30pKTticmVhaztjYXNlImFuZ3VsYXJheGlzIjppZigiZGF0ZSI9PT1FKXtuLmxvZygiUG9sYXIgcGxvdHMgZG8gbm90IHN1cHBvcnQgZGF0ZSBhbmd1bGFyIGF4ZXMgeWV0LiIpO2Zvcih2YXIgej0wO3o8Xy5sZW5ndGg7eisrKV9bel0udmlzaWJsZT0hMTtFPU0udHlwZT1BLnR5cGU9ImxpbmVhciJ9aygibGluZWFyIj09PUU/InRoZXRhdW5pdCI6InBlcmlvZCIpO3ZhciBJPWsoImRpcmVjdGlvbiIpO2soInJvdGF0aW9uIix7Y291bnRlcmNsb2Nrd2lzZTowLGNsb2Nrd2lzZTo5MH1bSV0pfWlmKFApbChNLEEsayxBLnR5cGUpLHUoTSxBLGssQS50eXBlLHt0aWNrU3VmZml4RGZsdDoiZGVncmVlcyI9PT1BLnRoZXRhdW5pdD8iXHhiMCI6dm9pZCAwfSksYyhNLEEsayx7b3V0ZXJUaWNrczohMH0pLGsoInNob3d0aWNrbGFiZWxzIikmJihuLmNvZXJjZUZvbnQoaywidGlja2ZvbnQiLHtmYW1pbHk6by5mb250LmZhbWlseSxzaXplOm8uZm9udC5zaXplLGNvbG9yOkN9KSxrKCJ0aWNrYW5nbGUiKSxrKCJ0aWNrZm9ybWF0IikpLGYoTSxBLGsse2RmbHRDb2xvcjpMLGJnQ29sb3I6by5iZ0NvbG9yLGJsZW5kOjYwLHNob3dMaW5lOiEwLHNob3dHcmlkOiEwLG5vWmVyb0xpbmU6ITAsYXR0cmlidXRlczpkW2JdfSksaygibGF5ZXIiKTsiY2F0ZWdvcnkiIT09RSYmaygiaG92ZXJmb3JtYXQiKSxBLl9pbnB1dD1NfSJjYXRlZ29yeSI9PT1lLmFuZ3VsYXJheGlzLnR5cGUmJnIoImdyaWRzaGFwZSIpfWZ1bmN0aW9uIHgodCxlLHIsbixhKXtpZigiLSI9PT1yKCJ0eXBlIikpe2Zvcih2YXIgaSxvPTA7bzxuLmxlbmd0aDtvKyspaWYobltvXS52aXNpYmxlKXtpPW5bb107YnJlYWt9aSYmaVthXSYmKGUudHlwZT1wKGlbYV0sImdyZWdvcmlhbiIpKSwiLSI9PT1lLnR5cGU/ZS50eXBlPSJsaW5lYXIiOnQudHlwZT1lLnR5cGV9cmV0dXJuIGUudHlwZX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe28odCxlLHIse3R5cGU6di5uYW1lLGF0dHJpYnV0ZXM6ZCxoYW5kbGVEZWZhdWx0czp5LGZvbnQ6ZS5mb250LHBhcGVyX2JnY29sb3I6ZS5wYXBlcl9iZ2NvbG9yLGZ1bGxEYXRhOnIsbGF5b3V0T3V0OmV9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi9jYXJ0ZXNpYW4vYXhpc19hdXRvdHlwZSI6NzY2LCIuLi9jYXJ0ZXNpYW4vY2F0ZWdvcnlfb3JkZXJfZGVmYXVsdHMiOjc2OSwiLi4vY2FydGVzaWFuL2xpbmVfZ3JpZF9kZWZhdWx0cyI6Nzc5LCIuLi9jYXJ0ZXNpYW4vdGlja19sYWJlbF9kZWZhdWx0cyI6Nzg0LCIuLi9jYXJ0ZXNpYW4vdGlja19tYXJrX2RlZmF1bHRzIjo3ODUsIi4uL2NhcnRlc2lhbi90aWNrX3ZhbHVlX2RlZmF1bHRzIjo3ODYsIi4uL2dldF9kYXRhIjo4MDAsIi4uL3N1YnBsb3RfZGVmYXVsdHMiOjg0MCwiLi9jb25zdGFudHMiOjgyNywiLi9sYXlvdXRfYXR0cmlidXRlcyI6ODMwLCIuL3NldF9jb252ZXJ0Ijo4Mzl9XSw4MzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vLi4vdHJhY2VzL3NjYXR0ZXIvYXR0cmlidXRlcyIpLGE9bi5tYXJrZXIsaT10KCIuLi8uLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdDtbIkFyZWEgdHJhY2VzIGFyZSBkZXByZWNhdGVkISIsIlBsZWFzZSBzd2l0Y2ggdG8gdGhlICpiYXJwb2xhciogdHJhY2UgdHlwZS4iXS5qb2luKCIgIik7ZS5leHBvcnRzPXtyOmkoe30sbi5yLHt9KSx0Omkoe30sbi50LHt9KSxtYXJrZXI6e2NvbG9yOmkoe30sYS5jb2xvcix7fSksc2l6ZTppKHt9LGEuc2l6ZSx7fSksc3ltYm9sOmkoe30sYS5zeW1ib2wse30pLG9wYWNpdHk6aSh7fSxhLm9wYWNpdHkse30pLGVkaXRUeXBlOiJjYWxjIn19fSx7Ii4uLy4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vLi4vdHJhY2VzL3NjYXR0ZXIvYXR0cmlidXRlcyI6MTEyMH1dLDgzMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGk9dCgiLi4vLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLG89WyJMZWdhY3kgcG9sYXIgY2hhcnRzIGFyZSBkZXByZWNhdGVkISIsIlBsZWFzZSBzd2l0Y2ggdG8gKnBvbGFyKiBzdWJwbG90cy4iXS5qb2luKCIgIikscz1hKHt9LG4uZG9tYWluLHt9KTtmdW5jdGlvbiBsKHQsZSl7cmV0dXJuIGEoe30sZSx7c2hvd2xpbmU6e3ZhbFR5cGU6ImJvb2xlYW4ifSxzaG93dGlja2xhYmVsczp7dmFsVHlwZToiYm9vbGVhbiJ9LHRpY2tvcmllbnRhdGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiaG9yaXpvbnRhbCIsInZlcnRpY2FsIl19LHRpY2tsZW46e3ZhbFR5cGU6Im51bWJlciIsbWluOjB9LHRpY2tjb2xvcjp7dmFsVHlwZToiY29sb3IifSx0aWNrc3VmZml4Ont2YWxUeXBlOiJzdHJpbmcifSxlbmRwYWRkaW5nOnt2YWxUeXBlOiJudW1iZXIiLGRlc2NyaXB0aW9uOm99LHZpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4ifX0pfWUuZXhwb3J0cz1pKHtyYWRpYWxheGlzOmwoMCx7cmFuZ2U6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGl0ZW1zOlt7dmFsVHlwZToibnVtYmVyIn0se3ZhbFR5cGU6Im51bWJlciJ9XX0sZG9tYWluOnMsb3JpZW50YXRpb246e3ZhbFR5cGU6Im51bWJlciJ9fSksYW5ndWxhcmF4aXM6bCgwLHtyYW5nZTp7dmFsVHlwZToiaW5mb19hcnJheSIsaXRlbXM6W3t2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MH0se3ZhbFR5cGU6Im51bWJlciIsZGZsdDozNjB9XX0sZG9tYWluOnN9KSxsYXlvdXQ6e2RpcmVjdGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiY2xvY2t3aXNlIiwiY291bnRlcmNsb2Nrd2lzZSJdfSxvcmllbnRhdGlvbjp7dmFsVHlwZToiYW5nbGUifX19LCJwbG90IiwibmVzdGVkIil9LHsiLi4vLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyI6Nzc3fV0sODM0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhlLmV4cG9ydHM9dCgiLi9taWNyb3BvbGFyIikpLm1hbmFnZXI9dCgiLi9taWNyb3BvbGFyX21hbmFnZXIiKX0seyIuL21pY3JvcG9sYXIiOjgzNSwiLi9taWNyb3BvbGFyX21hbmFnZXIiOjgzNn1dLDgzNTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi8uLi9saWIiKS5leHRlbmREZWVwQWxsLGk9dCgiLi4vLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpLk1JRF9TSElGVCxvPWUuZXhwb3J0cz17dmVyc2lvbjoiMC4yLjIifTtvLkF4aXM9ZnVuY3Rpb24oKXt2YXIgdCxlLHIscyxsPXtkYXRhOltdLGxheW91dDp7fX0sYz17fSx1PXt9LGg9bi5kaXNwYXRjaCgiaG92ZXIiKSxmPXt9O3JldHVybiBmLnJlbmRlcj1mdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYyl7ZT1jfHxlO3ZhciBoPWwuZGF0YSxmPWwubGF5b3V0Oygic3RyaW5nIj09dHlwZW9mIGV8fGUubm9kZU5hbWUpJiYoZT1uLnNlbGVjdChlKSksZS5kYXR1bShoKS5lYWNoKGZ1bmN0aW9uKGUsbCl7dmFyIGM9ZS5zbGljZSgpO3U9e2RhdGE6by51dGlsLmNsb25lSnNvbihjKSxsYXlvdXQ6by51dGlsLmNsb25lSnNvbihmKX07dmFyIGg9MDtjLmZvckVhY2goZnVuY3Rpb24odCxlKXt0LmNvbG9yfHwodC5jb2xvcj1mLmRlZmF1bHRDb2xvclJhbmdlW2hdLGg9KGgrMSklZi5kZWZhdWx0Q29sb3JSYW5nZS5sZW5ndGgpLHQuc3Ryb2tlQ29sb3J8fCh0LnN0cm9rZUNvbG9yPSJMaW5lUGxvdCI9PT10Lmdlb21ldHJ5P3QuY29sb3I6bi5yZ2IodC5jb2xvcikuZGFya2VyKCkudG9TdHJpbmcoKSksdS5kYXRhW2VdLmNvbG9yPXQuY29sb3IsdS5kYXRhW2VdLnN0cm9rZUNvbG9yPXQuc3Ryb2tlQ29sb3IsdS5kYXRhW2VdLnN0cm9rZURhc2g9dC5zdHJva2VEYXNoLHUuZGF0YVtlXS5zdHJva2VTaXplPXQuc3Ryb2tlU2l6ZX0pO3ZhciBwPWMuZmlsdGVyKGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC52aXNpYmxlO3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2Ygcnx8ITA9PT1yfSksZD0hMSxnPXAubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGQ9ZHx8InVuZGVmaW5lZCIhPXR5cGVvZiB0Lmdyb3VwSWQsdH0pO2lmKGQpe3ZhciB2PW4ubmVzdCgpLmtleShmdW5jdGlvbih0LGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgdC5ncm91cElkP3QuZ3JvdXBJZDoidW5zdGFja2VkIn0pLmVudHJpZXMoZyksbT1bXSx5PXYubWFwKGZ1bmN0aW9uKHQsZSl7aWYoInVuc3RhY2tlZCI9PT10LmtleSlyZXR1cm4gdC52YWx1ZXM7dmFyIHI9dC52YWx1ZXNbMF0uci5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gMH0pO3JldHVybiB0LnZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uKHQsZSxuKXt0LnlTdGFjaz1bcl0sbS5wdXNoKHIpLHI9by51dGlsLnN1bUFycmF5cyh0LnIscil9KSx0LnZhbHVlc30pO3A9bi5tZXJnZSh5KX1wLmZvckVhY2goZnVuY3Rpb24odCxlKXt0LnQ9QXJyYXkuaXNBcnJheSh0LnRbMF0pP3QudDpbdC50XSx0LnI9QXJyYXkuaXNBcnJheSh0LnJbMF0pP3QucjpbdC5yXX0pO3ZhciB4PU1hdGgubWluKGYud2lkdGgtZi5tYXJnaW4ubGVmdC1mLm1hcmdpbi5yaWdodCxmLmhlaWdodC1mLm1hcmdpbi50b3AtZi5tYXJnaW4uYm90dG9tKS8yO3g9TWF0aC5tYXgoMTAseCk7dmFyIGIsXz1bZi5tYXJnaW4ubGVmdCt4LGYubWFyZ2luLnRvcCt4XTtiPWQ/WzAsbi5tYXgoby51dGlsLnN1bUFycmF5cyhvLnV0aWwuYXJyYXlMYXN0KHApLnJbMF0sby51dGlsLmFycmF5TGFzdChtKSkpXTpuLmV4dGVudChvLnV0aWwuZmxhdHRlbkFycmF5KHAubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQucn0pKSksZi5yYWRpYWxBeGlzLmRvbWFpbiE9by5EQVRBRVhURU5UJiYoYlswXT0wKSxyPW4uc2NhbGUubGluZWFyKCkuZG9tYWluKGYucmFkaWFsQXhpcy5kb21haW4hPW8uREFUQUVYVEVOVCYmZi5yYWRpYWxBeGlzLmRvbWFpbj9mLnJhZGlhbEF4aXMuZG9tYWluOmIpLnJhbmdlKFswLHhdKSx1LmxheW91dC5yYWRpYWxBeGlzLmRvbWFpbj1yLmRvbWFpbigpO3ZhciB3LGs9by51dGlsLmZsYXR0ZW5BcnJheShwLm1hcChmdW5jdGlvbih0LGUpe3JldHVybiB0LnR9KSksVD0ic3RyaW5nIj09dHlwZW9mIGtbMF07VCYmKGs9by51dGlsLmRlZHVwbGljYXRlKGspLHc9ay5zbGljZSgpLGs9bi5yYW5nZShrLmxlbmd0aCkscD1wLm1hcChmdW5jdGlvbih0LGUpe3ZhciByPXQ7cmV0dXJuIHQudD1ba10sZCYmKHIueVN0YWNrPXQueVN0YWNrKSxyfSkpO3ZhciBNPXAuZmlsdGVyKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIkxpbmVQbG90Ij09PXQuZ2VvbWV0cnl8fCJEb3RQbG90Ij09PXQuZ2VvbWV0cnl9KS5sZW5ndGg9PT1wLmxlbmd0aCxBPW51bGw9PT1mLm5lZWRzRW5kU3BhY2luZz9UfHwhTTpmLm5lZWRzRW5kU3BhY2luZyxTPWYuYW5ndWxhckF4aXMuZG9tYWluJiZmLmFuZ3VsYXJBeGlzLmRvbWFpbiE9by5EQVRBRVhURU5UJiYhVCYmZi5hbmd1bGFyQXhpcy5kb21haW5bMF0+PTA/Zi5hbmd1bGFyQXhpcy5kb21haW46bi5leHRlbnQoayksRT1NYXRoLmFicyhrWzFdLWtbMF0pO00mJiFUJiYoRT0wKTt2YXIgTD1TLnNsaWNlKCk7QSYmVCYmKExbMV0rPUUpO3ZhciBDPWYuYW5ndWxhckF4aXMudGlja3NDb3VudHx8NDtDPjgmJihDPUMvKEMvOCkrQyU4KSxmLmFuZ3VsYXJBeGlzLnRpY2tzU3RlcCYmKEM9KExbMV0tTFswXSkvQyk7dmFyIFA9Zi5hbmd1bGFyQXhpcy50aWNrc1N0ZXB8fChMWzFdLUxbMF0pLyhDKihmLm1pbm9yVGlja3MrMSkpO3cmJihQPU1hdGgubWF4KE1hdGgucm91bmQoUCksMSkpLExbMl18fChMWzJdPVApO3ZhciBPPW4ucmFuZ2UuYXBwbHkodGhpcyxMKTtpZihPPU8ubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHBhcnNlRmxvYXQodC50b1ByZWNpc2lvbigxMikpfSkscz1uLnNjYWxlLmxpbmVhcigpLmRvbWFpbihMLnNsaWNlKDAsMikpLnJhbmdlKCJjbG9ja3dpc2UiPT09Zi5kaXJlY3Rpb24/WzAsMzYwXTpbMzYwLDBdKSx1LmxheW91dC5hbmd1bGFyQXhpcy5kb21haW49cy5kb21haW4oKSx1LmxheW91dC5hbmd1bGFyQXhpcy5lbmRQYWRkaW5nPUE/RTowLCJ1bmRlZmluZWQiPT10eXBlb2YodD1uLnNlbGVjdCh0aGlzKS5zZWxlY3QoInN2Zy5jaGFydC1yb290IikpfHx0LmVtcHR5KCkpe3ZhciB6PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoIjxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBjbGFzcz0nY2hhcnQtcm9vdCc+JyArICc8ZyBjbGFzcz0nb3V0ZXItZ3JvdXAnPicgKyAnPGcgY2xhc3M9J2NoYXJ0LWdyb3VwJz4nICsgJzxjaXJjbGUgY2xhc3M9J2JhY2tncm91bmQtY2lyY2xlJz48L2NpcmNsZT4nICsgJzxnIGNsYXNzPSdnZW9tZXRyeS1ncm91cCc+PC9nPicgKyAnPGcgY2xhc3M9J3JhZGlhbCBheGlzLWdyb3VwJz4nICsgJzxjaXJjbGUgY2xhc3M9J291dHNpZGUtY2lyY2xlJz48L2NpcmNsZT4nICsgJzwvZz4nICsgJzxnIGNsYXNzPSdhbmd1bGFyIGF4aXMtZ3JvdXAnPjwvZz4nICsgJzxnIGNsYXNzPSdndWlkZXMtZ3JvdXAnPjxsaW5lPjwvbGluZT48Y2lyY2xlIHI9JzAnPjwvY2lyY2xlPjwvZz4nICsgJzwvZz4nICsgJzxnIGNsYXNzPSdsZWdlbmQtZ3JvdXAnPjwvZz4nICsgJzxnIGNsYXNzPSd0b29sdGlwcy1ncm91cCc+PC9nPicgKyAnPGcgY2xhc3M9J3RpdGxlLWdyb3VwJz48dGV4dD48L3RleHQ+PC9nPicgKyAnPC9nPicgKyAnPC9zdmc+IiwiYXBwbGljYXRpb24veG1sIiksST10aGlzLmFwcGVuZENoaWxkKHRoaXMub3duZXJEb2N1bWVudC5pbXBvcnROb2RlKHouZG9jdW1lbnRFbGVtZW50LCEwKSk7dD1uLnNlbGVjdChJKX10LnNlbGVjdCgiLmd1aWRlcy1ncm91cCIpLnN0eWxlKHsicG9pbnRlci1ldmVudHMiOiJub25lIn0pLHQuc2VsZWN0KCIuYW5ndWxhci5heGlzLWdyb3VwIikuc3R5bGUoeyJwb2ludGVyLWV2ZW50cyI6Im5vbmUifSksdC5zZWxlY3QoIi5yYWRpYWwuYXhpcy1ncm91cCIpLnN0eWxlKHsicG9pbnRlci1ldmVudHMiOiJub25lIn0pO3ZhciBELFI9dC5zZWxlY3QoIi5jaGFydC1ncm91cCIpLEY9e2ZpbGw6Im5vbmUiLHN0cm9rZTpmLnRpY2tDb2xvcn0sQj17ImZvbnQtc2l6ZSI6Zi5mb250LnNpemUsImZvbnQtZmFtaWx5IjpmLmZvbnQuZmFtaWx5LGZpbGw6Zi5mb250LmNvbG9yLCJ0ZXh0LXNoYWRvdyI6WyItMXB4IDBweCIsIjFweCAtMXB4IiwiLTFweCAxcHgiLCIxcHggMXB4Il0ubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIiAiK3QrIiAwICIrZi5mb250Lm91dGxpbmVDb2xvcn0pLmpvaW4oIiwiKX07aWYoZi5zaG93TGVnZW5kKXtEPXQuc2VsZWN0KCIubGVnZW5kLWdyb3VwIikuYXR0cih7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIitbeCxmLm1hcmdpbi50b3BdKyIpIn0pLnN0eWxlKHtkaXNwbGF5OiJibG9jayJ9KTt2YXIgTj1wLm1hcChmdW5jdGlvbih0LGUpe3ZhciByPW8udXRpbC5jbG9uZUpzb24odCk7cmV0dXJuIHIuc3ltYm9sPSJEb3RQbG90Ij09PXQuZ2VvbWV0cnk/dC5kb3RUeXBlfHwiY2lyY2xlIjoiTGluZVBsb3QiIT10Lmdlb21ldHJ5PyJzcXVhcmUiOiJsaW5lIixyLnZpc2libGVJbkxlZ2VuZD0idW5kZWZpbmVkIj09dHlwZW9mIHQudmlzaWJsZUluTGVnZW5kfHx0LnZpc2libGVJbkxlZ2VuZCxyLmNvbG9yPSJMaW5lUGxvdCI9PT10Lmdlb21ldHJ5P3Quc3Ryb2tlQ29sb3I6dC5jb2xvcixyfSk7by5MZWdlbmQoKS5jb25maWcoe2RhdGE6cC5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5uYW1lfHwiRWxlbWVudCIrZX0pLGxlZ2VuZENvbmZpZzphKHt9LG8uTGVnZW5kLmRlZmF1bHRDb25maWcoKS5sZWdlbmRDb25maWcse2NvbnRhaW5lcjpELGVsZW1lbnRzOk4scmV2ZXJzZU9yZGVyOmYubGVnZW5kLnJldmVyc2VPcmRlcn0pfSkoKTt2YXIgaj1ELm5vZGUoKS5nZXRCQm94KCk7eD1NYXRoLm1pbihmLndpZHRoLWoud2lkdGgtZi5tYXJnaW4ubGVmdC1mLm1hcmdpbi5yaWdodCxmLmhlaWdodC1mLm1hcmdpbi50b3AtZi5tYXJnaW4uYm90dG9tKS8yLHg9TWF0aC5tYXgoMTAseCksXz1bZi5tYXJnaW4ubGVmdCt4LGYubWFyZ2luLnRvcCt4XSxyLnJhbmdlKFswLHhdKSx1LmxheW91dC5yYWRpYWxBeGlzLmRvbWFpbj1yLmRvbWFpbigpLEQuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrW19bMF0reCxfWzFdLXhdKyIpIil9ZWxzZSBEPXQuc2VsZWN0KCIubGVnZW5kLWdyb3VwIikuc3R5bGUoe2Rpc3BsYXk6Im5vbmUifSk7dC5hdHRyKHt3aWR0aDpmLndpZHRoLGhlaWdodDpmLmhlaWdodH0pLnN0eWxlKHtvcGFjaXR5OmYub3BhY2l0eX0pLFIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrXysiKSIpLnN0eWxlKHtjdXJzb3I6ImNyb3NzaGFpciJ9KTt2YXIgVj1bKGYud2lkdGgtKGYubWFyZ2luLmxlZnQrZi5tYXJnaW4ucmlnaHQrMip4KyhqP2oud2lkdGg6MCkpKS8yLChmLmhlaWdodC0oZi5tYXJnaW4udG9wK2YubWFyZ2luLmJvdHRvbSsyKngpKS8yXTtpZihWWzBdPU1hdGgubWF4KDAsVlswXSksVlsxXT1NYXRoLm1heCgwLFZbMV0pLHQuc2VsZWN0KCIub3V0ZXItZ3JvdXAiKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitWKyIpIiksZi50aXRsZSYmZi50aXRsZS50ZXh0KXt2YXIgVT10LnNlbGVjdCgiZy50aXRsZS1ncm91cCB0ZXh0Iikuc3R5bGUoQikudGV4dChmLnRpdGxlLnRleHQpLHE9VS5ub2RlKCkuZ2V0QkJveCgpO1UuYXR0cih7eDpfWzBdLXEud2lkdGgvMix5Ol9bMV0teC0yMH0pfXZhciBIPXQuc2VsZWN0KCIucmFkaWFsLmF4aXMtZ3JvdXAiKTtpZihmLnJhZGlhbEF4aXMuZ3JpZExpbmVzVmlzaWJsZSl7dmFyIEc9SC5zZWxlY3RBbGwoImNpcmNsZS5ncmlkLWNpcmNsZSIpLmRhdGEoci50aWNrcyg1KSk7Ry5lbnRlcigpLmFwcGVuZCgiY2lyY2xlIikuYXR0cih7Y2xhc3M6ImdyaWQtY2lyY2xlIn0pLnN0eWxlKEYpLEcuYXR0cigiciIsciksRy5leGl0KCkucmVtb3ZlKCl9SC5zZWxlY3QoImNpcmNsZS5vdXRzaWRlLWNpcmNsZSIpLmF0dHIoe3I6eH0pLnN0eWxlKEYpO3ZhciBZPXQuc2VsZWN0KCJjaXJjbGUuYmFja2dyb3VuZC1jaXJjbGUiKS5hdHRyKHtyOnh9KS5zdHlsZSh7ZmlsbDpmLmJhY2tncm91bmRDb2xvcixzdHJva2U6Zi5zdHJva2V9KTtmdW5jdGlvbiBXKHQsZSl7cmV0dXJuIHModCklMzYwK2Yub3JpZW50YXRpb259aWYoZi5yYWRpYWxBeGlzLnZpc2libGUpe3ZhciBYPW4uc3ZnLmF4aXMoKS5zY2FsZShyKS50aWNrcyg1KS50aWNrU2l6ZSg1KTtILmNhbGwoWCkuYXR0cih7dHJhbnNmb3JtOiJyb3RhdGUoIitmLnJhZGlhbEF4aXMub3JpZW50YXRpb24rIikifSksSC5zZWxlY3RBbGwoIi5kb21haW4iKS5zdHlsZShGKSxILnNlbGVjdEFsbCgiZz50ZXh0IikudGV4dChmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnRleHRDb250ZW50K2YucmFkaWFsQXhpcy50aWNrc1N1ZmZpeH0pLnN0eWxlKEIpLnN0eWxlKHsidGV4dC1hbmNob3IiOiJzdGFydCJ9KS5hdHRyKHt4OjAseTowLGR4OjAsZHk6MCx0cmFuc2Zvcm06ZnVuY3Rpb24odCxlKXtyZXR1cm4iaG9yaXpvbnRhbCI9PT1mLnJhZGlhbEF4aXMudGlja09yaWVudGF0aW9uPyJyb3RhdGUoIistZi5yYWRpYWxBeGlzLm9yaWVudGF0aW9uKyIpIHRyYW5zbGF0ZSgiK1swLEJbImZvbnQtc2l6ZSJdXSsiKSI6InRyYW5zbGF0ZSgiK1swLEJbImZvbnQtc2l6ZSJdXSsiKSJ9fSksSC5zZWxlY3RBbGwoImc+bGluZSIpLnN0eWxlKHtzdHJva2U6ImJsYWNrIn0pfXZhciBaPXQuc2VsZWN0KCIuYW5ndWxhci5heGlzLWdyb3VwIikuc2VsZWN0QWxsKCJnLmFuZ3VsYXItdGljayIpLmRhdGEoTyksSj1aLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ndWxhci10aWNrIiwhMCk7Wi5hdHRyKHt0cmFuc2Zvcm06ZnVuY3Rpb24odCxlKXtyZXR1cm4icm90YXRlKCIrVyh0KSsiKSJ9fSkuc3R5bGUoe2Rpc3BsYXk6Zi5hbmd1bGFyQXhpcy52aXNpYmxlPyJibG9jayI6Im5vbmUifSksWi5leGl0KCkucmVtb3ZlKCksSi5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJncmlkLWxpbmUiLCEwKS5jbGFzc2VkKCJtYWpvciIsZnVuY3Rpb24odCxlKXtyZXR1cm4gZSUoZi5taW5vclRpY2tzKzEpPT0wfSkuY2xhc3NlZCgibWlub3IiLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIShlJShmLm1pbm9yVGlja3MrMSk9PTApfSkuc3R5bGUoRiksSi5zZWxlY3RBbGwoIi5taW5vciIpLnN0eWxlKHtzdHJva2U6Zi5taW5vclRpY2tDb2xvcn0pLFouc2VsZWN0KCJsaW5lLmdyaWQtbGluZSIpLmF0dHIoe3gxOmYudGlja0xlbmd0aD94LWYudGlja0xlbmd0aDowLHgyOnh9KS5zdHlsZSh7ZGlzcGxheTpmLmFuZ3VsYXJBeGlzLmdyaWRMaW5lc1Zpc2libGU/ImJsb2NrIjoibm9uZSJ9KSxKLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoImF4aXMtdGV4dCIsITApLnN0eWxlKEIpO3ZhciBLPVouc2VsZWN0KCJ0ZXh0LmF4aXMtdGV4dCIpLmF0dHIoe3g6eCtmLmxhYmVsT2Zmc2V0LGR5OmkrImVtIix0cmFuc2Zvcm06ZnVuY3Rpb24odCxlKXt2YXIgcj1XKHQpLG49eCtmLmxhYmVsT2Zmc2V0LGE9Zi5hbmd1bGFyQXhpcy50aWNrT3JpZW50YXRpb247cmV0dXJuImhvcml6b250YWwiPT1hPyJyb3RhdGUoIistcisiICIrbisiIDApIjoicmFkaWFsIj09YT9yPDI3MCYmcj45MD8icm90YXRlKDE4MCAiK24rIiAwKSI6bnVsbDoicm90YXRlKCIrKHI8PTE4MCYmcj4wPy05MDo5MCkrIiAiK24rIiAwKSJ9fSkuc3R5bGUoeyJ0ZXh0LWFuY2hvciI6Im1pZGRsZSIsZGlzcGxheTpmLmFuZ3VsYXJBeGlzLmxhYmVsc1Zpc2libGU/ImJsb2NrIjoibm9uZSJ9KS50ZXh0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUlKGYubWlub3JUaWNrcysxKSE9MD8iIjp3P3dbdF0rZi5hbmd1bGFyQXhpcy50aWNrc1N1ZmZpeDp0K2YuYW5ndWxhckF4aXMudGlja3NTdWZmaXh9KS5zdHlsZShCKTtmLmFuZ3VsYXJBeGlzLnJld3JpdGVUaWNrcyYmSy50ZXh0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUlKGYubWlub3JUaWNrcysxKSE9MD8iIjpmLmFuZ3VsYXJBeGlzLnJld3JpdGVUaWNrcyh0aGlzLnRleHRDb250ZW50LGUpfSk7dmFyIFE9bi5tYXgoUi5zZWxlY3RBbGwoIi5hbmd1bGFyLXRpY2sgdGV4dCIpWzBdLm1hcChmdW5jdGlvbih0LGUpe3JldHVybiB0LmdldENUTSgpLmUrdC5nZXRCQm94KCkud2lkdGh9KSk7RC5hdHRyKHt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiK1t4K1EsZi5tYXJnaW4udG9wXSsiKSJ9KTt2YXIgJD10LnNlbGVjdCgiZy5nZW9tZXRyeS1ncm91cCIpLnNlbGVjdEFsbCgiZyIpLnNpemUoKT4wLHR0PXQuc2VsZWN0KCJnLmdlb21ldHJ5LWdyb3VwIikuc2VsZWN0QWxsKCJnLmdlb21ldHJ5IikuZGF0YShwKTtpZih0dC5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoe2NsYXNzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuImdlb21ldHJ5IGdlb21ldHJ5IitlfX0pLHR0LmV4aXQoKS5yZW1vdmUoKSxwWzBdfHwkKXt2YXIgZXQ9W107cC5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307bi5yYWRpYWxTY2FsZT1yLG4uYW5ndWxhclNjYWxlPXMsbi5jb250YWluZXI9dHQuZmlsdGVyKGZ1bmN0aW9uKHQscil7cmV0dXJuIHI9PWV9KSxuLmdlb21ldHJ5PXQuZ2VvbWV0cnksbi5vcmllbnRhdGlvbj1mLm9yaWVudGF0aW9uLG4uZGlyZWN0aW9uPWYuZGlyZWN0aW9uLG4uaW5kZXg9ZSxldC5wdXNoKHtkYXRhOnQsZ2VvbWV0cnlDb25maWc6bn0pfSk7dmFyIHJ0PW4ubmVzdCgpLmtleShmdW5jdGlvbih0LGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgdC5kYXRhLmdyb3VwSWR8fCJ1bnN0YWNrZWQifSkuZW50cmllcyhldCksbnQ9W107cnQuZm9yRWFjaChmdW5jdGlvbih0LGUpeyJ1bnN0YWNrZWQiPT09dC5rZXk/bnQ9bnQuY29uY2F0KHQudmFsdWVzLm1hcChmdW5jdGlvbih0LGUpe3JldHVyblt0XX0pKTpudC5wdXNoKHQudmFsdWVzKX0pLG50LmZvckVhY2goZnVuY3Rpb24odCxlKXt2YXIgcjtyPUFycmF5LmlzQXJyYXkodCk/dFswXS5nZW9tZXRyeUNvbmZpZy5nZW9tZXRyeTp0Lmdlb21ldHJ5Q29uZmlnLmdlb21ldHJ5O3ZhciBuPXQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEob1tyXS5kZWZhdWx0Q29uZmlnKCksdCl9KTtvW3JdKCkuY29uZmlnKG4pKCl9KX12YXIgYXQsaXQsb3Q9dC5zZWxlY3QoIi5ndWlkZXMtZ3JvdXAiKSxzdD10LnNlbGVjdCgiLnRvb2x0aXBzLWdyb3VwIiksbHQ9by50b29sdGlwUGFuZWwoKS5jb25maWcoe2NvbnRhaW5lcjpzdCxmb250U2l6ZTo4fSkoKSxjdD1vLnRvb2x0aXBQYW5lbCgpLmNvbmZpZyh7Y29udGFpbmVyOnN0LGZvbnRTaXplOjh9KSgpLHV0PW8udG9vbHRpcFBhbmVsKCkuY29uZmlnKHtjb250YWluZXI6c3QsaGFzVGljazohMH0pKCk7aWYoIVQpe3ZhciBodD1vdC5zZWxlY3QoImxpbmUiKS5hdHRyKHt4MTowLHkxOjAseTI6MH0pLnN0eWxlKHtzdHJva2U6ImdyZXkiLCJwb2ludGVyLWV2ZW50cyI6Im5vbmUifSk7Ui5vbigibW91c2Vtb3ZlLmFuZ3VsYXItZ3VpZGUiLGZ1bmN0aW9uKHQsZSl7dmFyIHI9by51dGlsLmdldE1vdXNlUG9zKFkpLmFuZ2xlO2h0LmF0dHIoe3gyOi14LHRyYW5zZm9ybToicm90YXRlKCIrcisiKSJ9KS5zdHlsZSh7b3BhY2l0eTouNX0pO3ZhciBuPShyKzE4MCszNjAtZi5vcmllbnRhdGlvbiklMzYwO2F0PXMuaW52ZXJ0KG4pO3ZhciBhPW8udXRpbC5jb252ZXJ0VG9DYXJ0ZXNpYW4oeCsxMixyKzE4MCk7bHQudGV4dChvLnV0aWwucm91bmQoYXQpKS5tb3ZlKFthWzBdK19bMF0sYVsxXStfWzFdXSl9KS5vbigibW91c2VvdXQuYW5ndWxhci1ndWlkZSIsZnVuY3Rpb24odCxlKXtvdC5zZWxlY3QoImxpbmUiKS5zdHlsZSh7b3BhY2l0eTowfSl9KX12YXIgZnQ9b3Quc2VsZWN0KCJjaXJjbGUiKS5zdHlsZSh7c3Ryb2tlOiJncmV5IixmaWxsOiJub25lIn0pO1Iub24oIm1vdXNlbW92ZS5yYWRpYWwtZ3VpZGUiLGZ1bmN0aW9uKHQsZSl7dmFyIG49by51dGlsLmdldE1vdXNlUG9zKFkpLnJhZGl1cztmdC5hdHRyKHtyOm59KS5zdHlsZSh7b3BhY2l0eTouNX0pLGl0PXIuaW52ZXJ0KG8udXRpbC5nZXRNb3VzZVBvcyhZKS5yYWRpdXMpO3ZhciBhPW8udXRpbC5jb252ZXJ0VG9DYXJ0ZXNpYW4obixmLnJhZGlhbEF4aXMub3JpZW50YXRpb24pO2N0LnRleHQoby51dGlsLnJvdW5kKGl0KSkubW92ZShbYVswXStfWzBdLGFbMV0rX1sxXV0pfSkub24oIm1vdXNlb3V0LnJhZGlhbC1ndWlkZSIsZnVuY3Rpb24odCxlKXtmdC5zdHlsZSh7b3BhY2l0eTowfSksdXQuaGlkZSgpLGx0LmhpZGUoKSxjdC5oaWRlKCl9KSx0LnNlbGVjdEFsbCgiLmdlb21ldHJ5LWdyb3VwIC5tYXJrIikub24oIm1vdXNlb3Zlci50b29sdGlwIixmdW5jdGlvbihlLHIpe3ZhciBhPW4uc2VsZWN0KHRoaXMpLGk9dGhpcy5zdHlsZS5maWxsLHM9ImJsYWNrIixsPXRoaXMuc3R5bGUub3BhY2l0eXx8MTtpZihhLmF0dHIoeyJkYXRhLW9wYWNpdHkiOmx9KSxpJiYibm9uZSIhPT1pKXthLmF0dHIoeyJkYXRhLWZpbGwiOml9KSxzPW4uaHNsKGkpLmRhcmtlcigpLnRvU3RyaW5nKCksYS5zdHlsZSh7ZmlsbDpzLG9wYWNpdHk6MX0pO3ZhciBjPXt0Om8udXRpbC5yb3VuZChlWzBdKSxyOm8udXRpbC5yb3VuZChlWzFdKX07VCYmKGMudD13W2VbMF1dKTt2YXIgdT0idDogIitjLnQrIiwgcjogIitjLnIsaD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGY9dC5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscD1baC5sZWZ0K2gud2lkdGgvMi1WWzBdLWYubGVmdCxoLnRvcCtoLmhlaWdodC8yLVZbMV0tZi50b3BdO3V0LmNvbmZpZyh7Y29sb3I6c30pLnRleHQodSksdXQubW92ZShwKX1lbHNlIGk9dGhpcy5zdHlsZS5zdHJva2V8fCJibGFjayIsYS5hdHRyKHsiZGF0YS1zdHJva2UiOml9KSxzPW4uaHNsKGkpLmRhcmtlcigpLnRvU3RyaW5nKCksYS5zdHlsZSh7c3Ryb2tlOnMsb3BhY2l0eToxfSl9KS5vbigibW91c2Vtb3ZlLnRvb2x0aXAiLGZ1bmN0aW9uKHQsZSl7aWYoMCE9bi5ldmVudC53aGljaClyZXR1cm4hMTtuLnNlbGVjdCh0aGlzKS5hdHRyKCJkYXRhLWZpbGwiKSYmdXQuc2hvdygpfSkub24oIm1vdXNlb3V0LnRvb2x0aXAiLGZ1bmN0aW9uKHQsZSl7dXQuaGlkZSgpO3ZhciByPW4uc2VsZWN0KHRoaXMpLGE9ci5hdHRyKCJkYXRhLWZpbGwiKTthP3Iuc3R5bGUoe2ZpbGw6YSxvcGFjaXR5OnIuYXR0cigiZGF0YS1vcGFjaXR5Iil9KTpyLnN0eWxlKHtzdHJva2U6ci5hdHRyKCJkYXRhLXN0cm9rZSIpLG9wYWNpdHk6ci5hdHRyKCJkYXRhLW9wYWNpdHkiKX0pfSl9KX0oYyksdGhpc30sZi5jb25maWc9ZnVuY3Rpb24odCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGw7dmFyIGU9by51dGlsLmNsb25lSnNvbih0KTtyZXR1cm4gZS5kYXRhLmZvckVhY2goZnVuY3Rpb24odCxlKXtsLmRhdGFbZV18fChsLmRhdGFbZV09e30pLGEobC5kYXRhW2VdLG8uQXhpcy5kZWZhdWx0Q29uZmlnKCkuZGF0YVswXSksYShsLmRhdGFbZV0sdCl9KSxhKGwubGF5b3V0LG8uQXhpcy5kZWZhdWx0Q29uZmlnKCkubGF5b3V0KSxhKGwubGF5b3V0LGUubGF5b3V0KSx0aGlzfSxmLmdldExpdmVDb25maWc9ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZi5nZXRpbnB1dENvbmZpZz1mdW5jdGlvbigpe3JldHVybiBjfSxmLnJhZGlhbFNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiByfSxmLmFuZ3VsYXJTY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gc30sZi5zdmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5yZWJpbmQoZixoLCJvbiIpLGZ9LG8uQXhpcy5kZWZhdWx0Q29uZmlnPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2RhdGE6W3t0OlsxLDIsMyw0XSxyOlsxMCwxMSwxMiwxM10sbmFtZToiTGluZTEiLGdlb21ldHJ5OiJMaW5lUGxvdCIsY29sb3I6bnVsbCxzdHJva2VEYXNoOiJzb2xpZCIsc3Ryb2tlQ29sb3I6bnVsbCxzdHJva2VTaXplOiIxIix2aXNpYmxlSW5MZWdlbmQ6ITAsb3BhY2l0eToxfV0sbGF5b3V0OntkZWZhdWx0Q29sb3JSYW5nZTpuLnNjYWxlLmNhdGVnb3J5MTAoKS5yYW5nZSgpLHRpdGxlOm51bGwsaGVpZ2h0OjQ1MCx3aWR0aDo1MDAsbWFyZ2luOnt0b3A6NDAscmlnaHQ6NDAsYm90dG9tOjQwLGxlZnQ6NDB9LGZvbnQ6e3NpemU6MTIsY29sb3I6ImdyYXkiLG91dGxpbmVDb2xvcjoid2hpdGUiLGZhbWlseToiVGFob21hLCBzYW5zLXNlcmlmIn0sZGlyZWN0aW9uOiJjbG9ja3dpc2UiLG9yaWVudGF0aW9uOjAsbGFiZWxPZmZzZXQ6MTAscmFkaWFsQXhpczp7ZG9tYWluOm51bGwsb3JpZW50YXRpb246LTQ1LHRpY2tzU3VmZml4OiIiLHZpc2libGU6ITAsZ3JpZExpbmVzVmlzaWJsZTohMCx0aWNrT3JpZW50YXRpb246Imhvcml6b250YWwiLHJld3JpdGVUaWNrczpudWxsfSxhbmd1bGFyQXhpczp7ZG9tYWluOlswLDM2MF0sdGlja3NTdWZmaXg6IiIsdmlzaWJsZTohMCxncmlkTGluZXNWaXNpYmxlOiEwLGxhYmVsc1Zpc2libGU6ITAsdGlja09yaWVudGF0aW9uOiJob3Jpem9udGFsIixyZXdyaXRlVGlja3M6bnVsbCx0aWNrc0NvdW50Om51bGwsdGlja3NTdGVwOm51bGx9LG1pbm9yVGlja3M6MCx0aWNrTGVuZ3RoOm51bGwsdGlja0NvbG9yOiJzaWx2ZXIiLG1pbm9yVGlja0NvbG9yOiIjZWVlIixiYWNrZ3JvdW5kQ29sb3I6Im5vbmUiLG5lZWRzRW5kU3BhY2luZzpudWxsLHNob3dMZWdlbmQ6ITAsbGVnZW5kOntyZXZlcnNlT3JkZXI6ITF9LG9wYWNpdHk6MX19fSxvLnV0aWw9e30sby5EQVRBRVhURU5UPSJkYXRhRXh0ZW50IixvLkFSRUE9IkFyZWFDaGFydCIsby5MSU5FPSJMaW5lUGxvdCIsby5ET1Q9IkRvdFBsb3QiLG8uQkFSPSJCYXJDaGFydCIsby51dGlsLl9vdmVycmlkZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiB0KXIgaW4gZSYmKGVbcl09dFtyXSl9LG8udXRpbC5fZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQpZVtyXT10W3JdfSxvLnV0aWwuX3JuZFNuZD1mdW5jdGlvbigpe3JldHVybiAyKk1hdGgucmFuZG9tKCktMSsoMipNYXRoLnJhbmRvbSgpLTEpKygyKk1hdGgucmFuZG9tKCktMSl9LG8udXRpbC5kYXRhRnJvbUVxdWF0aW9uMj1mdW5jdGlvbih0LGUpe3ZhciByPWV8fDY7cmV0dXJuIG4ucmFuZ2UoMCwzNjArcixyKS5tYXAoZnVuY3Rpb24oZSxyKXt2YXIgbj1lKk1hdGguUEkvMTgwO3JldHVybltlLHQobildfSl9LG8udXRpbC5kYXRhRnJvbUVxdWF0aW9uPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT1lfHw2LGk9W10sbz1bXTtuLnJhbmdlKDAsMzYwK2EsYSkuZm9yRWFjaChmdW5jdGlvbihlLHIpe3ZhciBuPWUqTWF0aC5QSS8xODAsYT10KG4pO2kucHVzaChlKSxvLnB1c2goYSl9KTt2YXIgcz17dDppLHI6b307cmV0dXJuIHImJihzLm5hbWU9ciksc30sby51dGlsLmVuc3VyZUFycmF5PWZ1bmN0aW9uKHQsZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0KXJldHVybiBudWxsO3ZhciByPVtdLmNvbmNhdCh0KTtyZXR1cm4gbi5yYW5nZShlKS5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gcltlXXx8clswXX0pfSxvLnV0aWwuZmlsbEFycmF5cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlLG4pe3RbZV09by51dGlsLmVuc3VyZUFycmF5KHRbZV0scil9KSx0fSxvLnV0aWwuY2xvbmVKc29uPWZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKX0sby51dGlsLnZhbGlkYXRlS2V5cz1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgZSYmKGU9ZS5zcGxpdCgiLiIpKTt2YXIgcj1lLnNoaWZ0KCk7cmV0dXJuIHRbcl0mJighZS5sZW5ndGh8fG9iakhhc0tleXModFtyXSxlKSl9LG8udXRpbC5zdW1BcnJheXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbi56aXAodCxlKS5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5zdW0odCl9KX0sby51dGlsLmFycmF5TGFzdD1mdW5jdGlvbih0KXtyZXR1cm4gdFt0Lmxlbmd0aC0xXX0sby51dGlsLmFycmF5RXF1YWw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9TWF0aC5tYXgodC5sZW5ndGgsZS5sZW5ndGgsMSk7ci0tID49MCYmdFtyXT09PWVbcl07KTtyZXR1cm4tMj09PXJ9LG8udXRpbC5mbGF0dGVuQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdOyFvLnV0aWwuYXJyYXlFcXVhbChlLHQpOyllPXQsdD1bXS5jb25jYXQuYXBwbHkoW10sdCk7cmV0dXJuIHR9LG8udXRpbC5kZWR1cGxpY2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5maWx0ZXIoZnVuY3Rpb24odCxlLHIpe3JldHVybiByLmluZGV4T2YodCk9PWV9KX0sby51dGlsLmNvbnZlcnRUb0NhcnRlc2lhbj1mdW5jdGlvbih0LGUpe3ZhciByPWUqTWF0aC5QSS8xODA7cmV0dXJuW3QqTWF0aC5jb3MociksdCpNYXRoLnNpbihyKV19LG8udXRpbC5yb3VuZD1mdW5jdGlvbih0LGUpe3ZhciByPWV8fDIsbj1NYXRoLnBvdygxMCxyKTtyZXR1cm4gTWF0aC5yb3VuZCh0Km4pL259LG8udXRpbC5nZXRNb3VzZVBvcz1mdW5jdGlvbih0KXt2YXIgZT1uLm1vdXNlKHQubm9kZSgpKSxyPWVbMF0sYT1lWzFdLGk9e307cmV0dXJuIGkueD1yLGkueT1hLGkucG9zPWUsaS5hbmdsZT0xODAqKE1hdGguYXRhbjIoYSxyKStNYXRoLlBJKS9NYXRoLlBJLGkucmFkaXVzPU1hdGguc3FydChyKnIrYSphKSxpfSxvLnV0aWwuZHVwbGljYXRlc0NvdW50PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPXt9LG49e30sYT0wLGk9dC5sZW5ndGg7YTxpO2ErKykoZT10W2FdKWluIHI/KHJbZV0rKyxuW2VdPXJbZV0pOnJbZV09MTtyZXR1cm4gbn0sby51dGlsLmR1cGxpY2F0ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKG8udXRpbC5kdXBsaWNhdGVzQ291bnQodCkpfSxvLnV0aWwudHJhbnNsYXRvcj1mdW5jdGlvbih0LGUscixuKXtpZihuKXt2YXIgYT1yLnNsaWNlKCk7cj1lLGU9YX12YXIgaT1lLnJlZHVjZShmdW5jdGlvbih0LGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdClyZXR1cm4gdFtlXX0sdCk7InVuZGVmaW5lZCIhPXR5cGVvZiBpJiYoZS5yZWR1Y2UoZnVuY3Rpb24odCxyLG4pe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdClyZXR1cm4gbj09PWUubGVuZ3RoLTEmJmRlbGV0ZSB0W3JdLHRbcl19LHQpLHIucmVkdWNlKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIHRbZV0mJih0W2VdPXt9KSxuPT09ci5sZW5ndGgtMSYmKHRbZV09aSksdFtlXX0sdCkpfSxvLlBvbHlDaGFydD1mdW5jdGlvbigpe3ZhciB0PVtvLlBvbHlDaGFydC5kZWZhdWx0Q29uZmlnKCldLGU9bi5kaXNwYXRjaCgiaG92ZXIiKSxyPXtzb2xpZDoibm9uZSIsZGFzaDpbNSwyXSxkb3Q6WzIsNV19O2Z1bmN0aW9uIGkoKXt2YXIgZT10WzBdLmdlb21ldHJ5Q29uZmlnLGE9ZS5jb250YWluZXI7InN0cmluZyI9PXR5cGVvZiBhJiYoYT1uLnNlbGVjdChhKSksYS5kYXR1bSh0KS5lYWNoKGZ1bmN0aW9uKHQsYSl7dmFyIGk9ISF0WzBdLmRhdGEueVN0YWNrLG89dC5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gaT9uLnppcCh0LmRhdGEudFswXSx0LmRhdGEuclswXSx0LmRhdGEueVN0YWNrWzBdKTpuLnppcCh0LmRhdGEudFswXSx0LmRhdGEuclswXSl9KSxzPWUuYW5ndWxhclNjYWxlLGw9ZS5yYWRpYWxTY2FsZS5kb21haW4oKVswXSxjPXtiYXI6ZnVuY3Rpb24ocixhLGkpe3ZhciBvPXRbaV0uZGF0YSxsPWUucmFkaWFsU2NhbGUoclsxXSktZS5yYWRpYWxTY2FsZSgwKSxjPWUucmFkaWFsU2NhbGUoclsyXXx8MCksdT1vLmJhcldpZHRoO24uc2VsZWN0KHRoaXMpLmF0dHIoe2NsYXNzOiJtYXJrIGJhciIsZDoiTSIrW1tsK2MsLXUvMl0sW2wrYyx1LzJdLFtjLHUvMl0sW2MsLXUvMl1dLmpvaW4oIkwiKSsiWiIsdHJhbnNmb3JtOmZ1bmN0aW9uKHQscil7cmV0dXJuInJvdGF0ZSgiKyhlLm9yaWVudGF0aW9uK3ModFswXSkpKyIpIn19KX19O2MuZG90PWZ1bmN0aW9uKHIsYSxpKXt2YXIgbz1yWzJdP1tyWzBdLHJbMV0rclsyXV06cixzPW4uc3ZnLnN5bWJvbCgpLnNpemUodFtpXS5kYXRhLmRvdFNpemUpLnR5cGUodFtpXS5kYXRhLmRvdFR5cGUpKHIsYSk7bi5zZWxlY3QodGhpcykuYXR0cih7Y2xhc3M6Im1hcmsgZG90IixkOnMsdHJhbnNmb3JtOmZ1bmN0aW9uKHQscil7dmFyIG4sYSxpLHM9KG49ZnVuY3Rpb24odCxyKXt2YXIgbj1lLnJhZGlhbFNjYWxlKHRbMV0pLGE9KGUuYW5ndWxhclNjYWxlKHRbMF0pK2Uub3JpZW50YXRpb24pKk1hdGguUEkvMTgwO3JldHVybntyOm4sdDphfX0obyksYT1uLnIqTWF0aC5jb3Mobi50KSxpPW4ucipNYXRoLnNpbihuLnQpLHt4OmEseTppfSk7cmV0dXJuInRyYW5zbGF0ZSgiK1tzLngscy55XSsiKSJ9fSl9O3ZhciB1PW4uc3ZnLmxpbmUucmFkaWFsKCkuaW50ZXJwb2xhdGUodFswXS5kYXRhLmxpbmVJbnRlcnBvbGF0aW9uKS5yYWRpdXMoZnVuY3Rpb24odCl7cmV0dXJuIGUucmFkaWFsU2NhbGUodFsxXSl9KS5hbmdsZShmdW5jdGlvbih0KXtyZXR1cm4gZS5hbmd1bGFyU2NhbGUodFswXSkqTWF0aC5QSS8xODB9KTtjLmxpbmU9ZnVuY3Rpb24ocixhLGkpe3ZhciBzPXJbMl0/b1tpXS5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm5bdFswXSx0WzFdK3RbMl1dfSk6b1tpXTtpZihuLnNlbGVjdCh0aGlzKS5lYWNoKGMuZG90KS5zdHlsZSh7b3BhY2l0eTpmdW5jdGlvbihlLHIpe3JldHVybit0W2ldLmRhdGEuZG90VmlzaWJsZX0sZmlsbDpkLnN0cm9rZShyLGEsaSl9KS5hdHRyKHtjbGFzczoibWFyayBkb3QifSksIShhPjApKXt2YXIgbD1uLnNlbGVjdCh0aGlzLnBhcmVudE5vZGUpLnNlbGVjdEFsbCgicGF0aC5saW5lIikuZGF0YShbMF0pO2wuZW50ZXIoKS5pbnNlcnQoInBhdGgiKSxsLmF0dHIoe2NsYXNzOiJsaW5lIixkOnUocyksdHJhbnNmb3JtOmZ1bmN0aW9uKHQscil7cmV0dXJuInJvdGF0ZSgiKyhlLm9yaWVudGF0aW9uKzkwKSsiKSJ9LCJwb2ludGVyLWV2ZW50cyI6Im5vbmUifSkuc3R5bGUoe2ZpbGw6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZC5maWxsKHIsYSxpKX0sImZpbGwtb3BhY2l0eSI6MCxzdHJva2U6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZC5zdHJva2UocixhLGkpfSwic3Ryb2tlLXdpZHRoIjpmdW5jdGlvbih0LGUpe3JldHVybiBkWyJzdHJva2Utd2lkdGgiXShyLGEsaSl9LCJzdHJva2UtZGFzaGFycmF5IjpmdW5jdGlvbih0LGUpe3JldHVybiBkWyJzdHJva2UtZGFzaGFycmF5Il0ocixhLGkpfSxvcGFjaXR5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGQub3BhY2l0eShyLGEsaSl9LGRpc3BsYXk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZC5kaXNwbGF5KHIsYSxpKX19KX19O3ZhciBoPWUuYW5ndWxhclNjYWxlLnJhbmdlKCksZj1NYXRoLmFicyhoWzFdLWhbMF0pL29bMF0ubGVuZ3RoKk1hdGguUEkvMTgwLHA9bi5zdmcuYXJjKCkuc3RhcnRBbmdsZShmdW5jdGlvbih0KXtyZXR1cm4tZi8yfSkuZW5kQW5nbGUoZnVuY3Rpb24odCl7cmV0dXJuIGYvMn0pLmlubmVyUmFkaXVzKGZ1bmN0aW9uKHQpe3JldHVybiBlLnJhZGlhbFNjYWxlKGwrKHRbMl18fDApKX0pLm91dGVyUmFkaXVzKGZ1bmN0aW9uKHQpe3JldHVybiBlLnJhZGlhbFNjYWxlKGwrKHRbMl18fDApKStlLnJhZGlhbFNjYWxlKHRbMV0pfSk7Yy5hcmM9ZnVuY3Rpb24odCxyLGEpe24uc2VsZWN0KHRoaXMpLmF0dHIoe2NsYXNzOiJtYXJrIGFyYyIsZDpwLHRyYW5zZm9ybTpmdW5jdGlvbih0LHIpe3JldHVybiJyb3RhdGUoIisoZS5vcmllbnRhdGlvbitzKHRbMF0pKzkwKSsiKSJ9fSl9O3ZhciBkPXtmaWxsOmZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdFtuXS5kYXRhLmNvbG9yfSxzdHJva2U6ZnVuY3Rpb24oZSxyLG4pe3JldHVybiB0W25dLmRhdGEuc3Ryb2tlQ29sb3J9LCJzdHJva2Utd2lkdGgiOmZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdFtuXS5kYXRhLnN0cm9rZVNpemUrInB4In0sInN0cm9rZS1kYXNoYXJyYXkiOmZ1bmN0aW9uKGUsbixhKXtyZXR1cm4gclt0W2FdLmRhdGEuc3Ryb2tlRGFzaF19LG9wYWNpdHk6ZnVuY3Rpb24oZSxyLG4pe3JldHVybiB0W25dLmRhdGEub3BhY2l0eX0sZGlzcGxheTpmdW5jdGlvbihlLHIsbil7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiB0W25dLmRhdGEudmlzaWJsZXx8dFtuXS5kYXRhLnZpc2libGU/ImJsb2NrIjoibm9uZSJ9fSxnPW4uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy5sYXllciIpLmRhdGEobyk7Zy5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoe2NsYXNzOiJsYXllciJ9KTt2YXIgdj1nLnNlbGVjdEFsbCgicGF0aC5tYXJrIikuZGF0YShmdW5jdGlvbih0LGUpe3JldHVybiB0fSk7di5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmF0dHIoe2NsYXNzOiJtYXJrIn0pLHYuc3R5bGUoZCkuZWFjaChjW2UuZ2VvbWV0cnlUeXBlXSksdi5leGl0KCkucmVtb3ZlKCksZy5leGl0KCkucmVtb3ZlKCl9KX1yZXR1cm4gaS5jb25maWc9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGUuZm9yRWFjaChmdW5jdGlvbihlLHIpe3Rbcl18fCh0W3JdPXt9KSxhKHRbcl0sby5Qb2x5Q2hhcnQuZGVmYXVsdENvbmZpZygpKSxhKHRbcl0sZSl9KSx0aGlzKTp0fSxpLmdldENvbG9yU2NhbGU9ZnVuY3Rpb24oKXt9LG4ucmViaW5kKGksZSwib24iKSxpfSxvLlBvbHlDaGFydC5kZWZhdWx0Q29uZmlnPWZ1bmN0aW9uKCl7cmV0dXJue2RhdGE6e25hbWU6Imdlb20xIix0OltbMSwyLDMsNF1dLHI6W1sxLDIsMyw0XV0sZG90VHlwZToiY2lyY2xlIixkb3RTaXplOjY0LGRvdFZpc2libGU6ITEsYmFyV2lkdGg6MjAsY29sb3I6IiNmZmE1MDAiLHN0cm9rZVNpemU6MSxzdHJva2VDb2xvcjoic2lsdmVyIixzdHJva2VEYXNoOiJzb2xpZCIsb3BhY2l0eToxLGluZGV4OjAsdmlzaWJsZTohMCx2aXNpYmxlSW5MZWdlbmQ6ITB9LGdlb21ldHJ5Q29uZmlnOntnZW9tZXRyeToiTGluZVBsb3QiLGdlb21ldHJ5VHlwZToiYXJjIixkaXJlY3Rpb246ImNsb2Nrd2lzZSIsb3JpZW50YXRpb246MCxjb250YWluZXI6ImJvZHkiLHJhZGlhbFNjYWxlOm51bGwsYW5ndWxhclNjYWxlOm51bGwsY29sb3JTY2FsZTpuLnNjYWxlLmNhdGVnb3J5MjAoKX19fSxvLkJhckNoYXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG8uUG9seUNoYXJ0KCl9LG8uQmFyQ2hhcnQuZGVmYXVsdENvbmZpZz1mdW5jdGlvbigpe3JldHVybntnZW9tZXRyeUNvbmZpZzp7Z2VvbWV0cnlUeXBlOiJiYXIifX19LG8uQXJlYUNoYXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG8uUG9seUNoYXJ0KCl9LG8uQXJlYUNoYXJ0LmRlZmF1bHRDb25maWc9ZnVuY3Rpb24oKXtyZXR1cm57Z2VvbWV0cnlDb25maWc6e2dlb21ldHJ5VHlwZToiYXJjIn19fSxvLkRvdFBsb3Q9ZnVuY3Rpb24oKXtyZXR1cm4gby5Qb2x5Q2hhcnQoKX0sby5Eb3RQbG90LmRlZmF1bHRDb25maWc9ZnVuY3Rpb24oKXtyZXR1cm57Z2VvbWV0cnlDb25maWc6e2dlb21ldHJ5VHlwZToiZG90Iixkb3RUeXBlOiJjaXJjbGUifX19LG8uTGluZVBsb3Q9ZnVuY3Rpb24oKXtyZXR1cm4gby5Qb2x5Q2hhcnQoKX0sby5MaW5lUGxvdC5kZWZhdWx0Q29uZmlnPWZ1bmN0aW9uKCl7cmV0dXJue2dlb21ldHJ5Q29uZmlnOntnZW9tZXRyeVR5cGU6ImxpbmUifX19LG8uTGVnZW5kPWZ1bmN0aW9uKCl7dmFyIHQ9by5MZWdlbmQuZGVmYXVsdENvbmZpZygpLGU9bi5kaXNwYXRjaCgiaG92ZXIiKTtmdW5jdGlvbiByKCl7dmFyIGU9dC5sZWdlbmRDb25maWcsaT10LmRhdGEubWFwKGZ1bmN0aW9uKHQscil7cmV0dXJuW10uY29uY2F0KHQpLm1hcChmdW5jdGlvbih0LG4pe3ZhciBpPWEoe30sZS5lbGVtZW50c1tyXSk7cmV0dXJuIGkubmFtZT10LGkuY29sb3I9W10uY29uY2F0KGUuZWxlbWVudHNbcl0uY29sb3IpW25dLGl9KX0pLG89bi5tZXJnZShpKTtvPW8uZmlsdGVyKGZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZWxlbWVudHNbcl0mJihlLmVsZW1lbnRzW3JdLnZpc2libGVJbkxlZ2VuZHx8InVuZGVmaW5lZCI9PXR5cGVvZiBlLmVsZW1lbnRzW3JdLnZpc2libGVJbkxlZ2VuZCl9KSxlLnJldmVyc2VPcmRlciYmKG89by5yZXZlcnNlKCkpO3ZhciBzPWUuY29udGFpbmVyOygic3RyaW5nIj09dHlwZW9mIHN8fHMubm9kZU5hbWUpJiYocz1uLnNlbGVjdChzKSk7dmFyIGw9by5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jb2xvcn0pLGM9ZS5mb250U2l6ZSx1PW51bGw9PWUuaXNDb250aW51b3VzPyJudW1iZXIiPT10eXBlb2Ygb1swXTplLmlzQ29udGludW91cyxoPXU/ZS5oZWlnaHQ6YypvLmxlbmd0aCxmPXMuY2xhc3NlZCgibGVnZW5kLWdyb3VwIiwhMCkuc2VsZWN0QWxsKCJzdmciKS5kYXRhKFswXSkscD1mLmVudGVyKCkuYXBwZW5kKCJzdmciKS5hdHRyKHt3aWR0aDozMDAsaGVpZ2h0OmgrYyx4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHZlcnNpb246IjEuMSJ9KTtwLmFwcGVuZCgiZyIpLmNsYXNzZWQoImxlZ2VuZC1heGlzIiwhMCkscC5hcHBlbmQoImciKS5jbGFzc2VkKCJsZWdlbmQtbWFya3MiLCEwKTt2YXIgZD1uLnJhbmdlKG8ubGVuZ3RoKSxnPW4uc2NhbGVbdT8ibGluZWFyIjoib3JkaW5hbCJdKCkuZG9tYWluKGQpLnJhbmdlKGwpLHY9bi5zY2FsZVt1PyJsaW5lYXIiOiJvcmRpbmFsIl0oKS5kb21haW4oZClbdT8icmFuZ2UiOiJyYW5nZVBvaW50cyJdKFswLGhdKTtpZih1KXt2YXIgbT1mLnNlbGVjdCgiLmxlZ2VuZC1tYXJrcyIpLmFwcGVuZCgiZGVmcyIpLmFwcGVuZCgibGluZWFyR3JhZGllbnQiKS5hdHRyKHtpZDoiZ3JhZDEiLHgxOiIwJSIseTE6IjAlIix4MjoiMCUiLHkyOiIxMDAlIn0pLnNlbGVjdEFsbCgic3RvcCIpLmRhdGEobCk7bS5lbnRlcigpLmFwcGVuZCgic3RvcCIpLG0uYXR0cih7b2Zmc2V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUvKGwubGVuZ3RoLTEpKjEwMCsiJSJ9fSkuc3R5bGUoeyJzdG9wLWNvbG9yIjpmdW5jdGlvbih0LGUpe3JldHVybiB0fX0pLGYuYXBwZW5kKCJyZWN0IikuY2xhc3NlZCgibGVnZW5kLW1hcmsiLCEwKS5hdHRyKHtoZWlnaHQ6ZS5oZWlnaHQsd2lkdGg6ZS5jb2xvckJhbmRXaWR0aCxmaWxsOiJ1cmwoI2dyYWQxKSJ9KX1lbHNle3ZhciB5PWYuc2VsZWN0KCIubGVnZW5kLW1hcmtzIikuc2VsZWN0QWxsKCJwYXRoLmxlZ2VuZC1tYXJrIikuZGF0YShvKTt5LmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZCgibGVnZW5kLW1hcmsiLCEwKSx5LmF0dHIoe3RyYW5zZm9ybTpmdW5jdGlvbih0LGUpe3JldHVybiJ0cmFuc2xhdGUoIitbYy8yLHYoZSkrYy8yXSsiKSJ9LGQ6ZnVuY3Rpb24odCxlKXt2YXIgcixhLGksbz10LnN5bWJvbDtyZXR1cm4gaT0zKihhPWMpLCJsaW5lIj09PShyPW8pPyJNIitbWy1hLzIsLWEvMTJdLFthLzIsLWEvMTJdLFthLzIsYS8xMl0sWy1hLzIsYS8xMl1dKyJaIjotMSE9bi5zdmcuc3ltYm9sVHlwZXMuaW5kZXhPZihyKT9uLnN2Zy5zeW1ib2woKS50eXBlKHIpLnNpemUoaSkoKTpuLnN2Zy5zeW1ib2woKS50eXBlKCJzcXVhcmUiKS5zaXplKGkpKCl9LGZpbGw6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZyhlKX19KSx5LmV4aXQoKS5yZW1vdmUoKX12YXIgeD1uLnN2Zy5heGlzKCkuc2NhbGUodikub3JpZW50KCJyaWdodCIpLGI9Zi5zZWxlY3QoImcubGVnZW5kLWF4aXMiKS5hdHRyKHt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiK1t1P2UuY29sb3JCYW5kV2lkdGg6YyxjLzJdKyIpIn0pLmNhbGwoeCk7cmV0dXJuIGIuc2VsZWN0QWxsKCIuZG9tYWluIikuc3R5bGUoe2ZpbGw6Im5vbmUiLHN0cm9rZToibm9uZSJ9KSxiLnNlbGVjdEFsbCgibGluZSIpLnN0eWxlKHtmaWxsOiJub25lIixzdHJva2U6dT9lLnRleHRDb2xvcjoibm9uZSJ9KSxiLnNlbGVjdEFsbCgidGV4dCIpLnN0eWxlKHtmaWxsOmUudGV4dENvbG9yLCJmb250LXNpemUiOmUuZm9udFNpemV9KS50ZXh0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG9bZV0ubmFtZX0pLHJ9cmV0dXJuIHIuY29uZmlnPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhKHQsZSksdGhpcyk6dH0sbi5yZWJpbmQocixlLCJvbiIpLHJ9LG8uTGVnZW5kLmRlZmF1bHRDb25maWc9ZnVuY3Rpb24odCxlKXtyZXR1cm57ZGF0YTpbImEiLCJiIiwiYyJdLGxlZ2VuZENvbmZpZzp7ZWxlbWVudHM6W3tzeW1ib2w6ImxpbmUiLGNvbG9yOiJyZWQifSx7c3ltYm9sOiJzcXVhcmUiLGNvbG9yOiJ5ZWxsb3cifSx7c3ltYm9sOiJkaWFtb25kIixjb2xvcjoibGltZWdyZWVuIn1dLGhlaWdodDoxNTAsY29sb3JCYW5kV2lkdGg6MzAsZm9udFNpemU6MTIsY29udGFpbmVyOiJib2R5Iixpc0NvbnRpbnVvdXM6bnVsbCx0ZXh0Q29sb3I6ImdyZXkiLHJldmVyc2VPcmRlcjohMX19fSxvLnRvb2x0aXBQYW5lbD1mdW5jdGlvbigpe3ZhciB0LGUscixpPXtjb250YWluZXI6bnVsbCxoYXNUaWNrOiExLGZvbnRTaXplOjEyLGNvbG9yOiJ3aGl0ZSIscGFkZGluZzo1fSxzPSJ0b29sdGlwLSIrby50b29sdGlwUGFuZWwudWlkKyssbD0xMCxjPWZ1bmN0aW9uKCl7dmFyIG49KHQ9aS5jb250YWluZXIuc2VsZWN0QWxsKCJnLiIrcykuZGF0YShbMF0pKS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQocywhMCkuc3R5bGUoeyJwb2ludGVyLWV2ZW50cyI6Im5vbmUiLGRpc3BsYXk6Im5vbmUifSk7cmV0dXJuIHI9bi5hcHBlbmQoInBhdGgiKS5zdHlsZSh7ZmlsbDoid2hpdGUiLCJmaWxsLW9wYWNpdHkiOi45fSkuYXR0cih7ZDoiTTAgMCJ9KSxlPW4uYXBwZW5kKCJ0ZXh0IikuYXR0cih7ZHg6aS5wYWRkaW5nK2wsZHk6LjMqK2kuZm9udFNpemV9KSxjfTtyZXR1cm4gYy50ZXh0PWZ1bmN0aW9uKGEpe3ZhciBvPW4uaHNsKGkuY29sb3IpLmwscz1vPj0uNT8iI2FhYSI6IndoaXRlIix1PW8+PS41PyJibGFjayI6IndoaXRlIixoPWF8fCIiO2Uuc3R5bGUoe2ZpbGw6dSwiZm9udC1zaXplIjppLmZvbnRTaXplKyJweCJ9KS50ZXh0KGgpO3ZhciBmPWkucGFkZGluZyxwPWUubm9kZSgpLmdldEJCb3goKSxkPXtmaWxsOmkuY29sb3Isc3Ryb2tlOnMsInN0cm9rZS13aWR0aCI6IjJweCJ9LGc9cC53aWR0aCsyKmYrbCx2PXAuaGVpZ2h0KzIqZjtyZXR1cm4gci5hdHRyKHtkOiJNIitbW2wsLXYvMl0sW2wsLXYvNF0sW2kuaGFzVGljaz8wOmwsMF0sW2wsdi80XSxbbCx2LzJdLFtnLHYvMl0sW2csLXYvMl1dLmpvaW4oIkwiKSsiWiJ9KS5zdHlsZShkKSx0LmF0dHIoe3RyYW5zZm9ybToidHJhbnNsYXRlKCIrW2wsLXYvMisyKmZdKyIpIn0pLHQuc3R5bGUoe2Rpc3BsYXk6ImJsb2NrIn0pLGN9LGMubW92ZT1mdW5jdGlvbihlKXtpZih0KXJldHVybiB0LmF0dHIoe3RyYW5zZm9ybToidHJhbnNsYXRlKCIrW2VbMF0sZVsxXV0rIikifSkuc3R5bGUoe2Rpc3BsYXk6ImJsb2NrIn0pLGN9LGMuaGlkZT1mdW5jdGlvbigpe2lmKHQpcmV0dXJuIHQuc3R5bGUoe2Rpc3BsYXk6Im5vbmUifSksY30sYy5zaG93PWZ1bmN0aW9uKCl7aWYodClyZXR1cm4gdC5zdHlsZSh7ZGlzcGxheToiYmxvY2sifSksY30sYy5jb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIGEoaSx0KSxjfSxjfSxvLnRvb2x0aXBQYW5lbC51aWQ9MSxvLmFkYXB0ZXI9e30sby5hZGFwdGVyLnBsb3RseT1mdW5jdGlvbigpe3ZhciB0PXtjb252ZXJ0OmZ1bmN0aW9uKHQsZSl7dmFyIHI9e307aWYodC5kYXRhJiYoci5kYXRhPXQuZGF0YS5tYXAoZnVuY3Rpb24odCxyKXt2YXIgbj1hKHt9LHQpO3JldHVybltbbixbIm1hcmtlciIsImNvbG9yIl0sWyJjb2xvciJdXSxbbixbIm1hcmtlciIsIm9wYWNpdHkiXSxbIm9wYWNpdHkiXV0sW24sWyJtYXJrZXIiLCJsaW5lIiwiY29sb3IiXSxbInN0cm9rZUNvbG9yIl1dLFtuLFsibWFya2VyIiwibGluZSIsImRhc2giXSxbInN0cm9rZURhc2giXV0sW24sWyJtYXJrZXIiLCJsaW5lIiwid2lkdGgiXSxbInN0cm9rZVNpemUiXV0sW24sWyJtYXJrZXIiLCJzeW1ib2wiXSxbImRvdFR5cGUiXV0sW24sWyJtYXJrZXIiLCJzaXplIl0sWyJkb3RTaXplIl1dLFtuLFsibWFya2VyIiwiYmFyV2lkdGgiXSxbImJhcldpZHRoIl1dLFtuLFsibGluZSIsImludGVycG9sYXRpb24iXSxbImxpbmVJbnRlcnBvbGF0aW9uIl1dLFtuLFsic2hvd2xlZ2VuZCJdLFsidmlzaWJsZUluTGVnZW5kIl1dXS5mb3JFYWNoKGZ1bmN0aW9uKHQscil7by51dGlsLnRyYW5zbGF0b3IuYXBwbHkobnVsbCx0LmNvbmNhdChlKSl9KSxlfHxkZWxldGUgbi5tYXJrZXIsZSYmZGVsZXRlIG4uZ3JvdXBJZCxlPygiTGluZVBsb3QiPT09bi5nZW9tZXRyeT8obi50eXBlPSJzY2F0dGVyIiwhMD09PW4uZG90VmlzaWJsZT8oZGVsZXRlIG4uZG90VmlzaWJsZSxuLm1vZGU9ImxpbmVzK21hcmtlcnMiKTpuLm1vZGU9ImxpbmVzIik6IkRvdFBsb3QiPT09bi5nZW9tZXRyeT8obi50eXBlPSJzY2F0dGVyIixuLm1vZGU9Im1hcmtlcnMiKToiQXJlYUNoYXJ0Ij09PW4uZ2VvbWV0cnk/bi50eXBlPSJhcmVhIjoiQmFyQ2hhcnQiPT09bi5nZW9tZXRyeSYmKG4udHlwZT0iYmFyIiksZGVsZXRlIG4uZ2VvbWV0cnkpOigic2NhdHRlciI9PT1uLnR5cGU/ImxpbmVzIj09PW4ubW9kZT9uLmdlb21ldHJ5PSJMaW5lUGxvdCI6Im1hcmtlcnMiPT09bi5tb2RlP24uZ2VvbWV0cnk9IkRvdFBsb3QiOiJsaW5lcyttYXJrZXJzIj09PW4ubW9kZSYmKG4uZ2VvbWV0cnk9IkxpbmVQbG90IixuLmRvdFZpc2libGU9ITApOiJhcmVhIj09PW4udHlwZT9uLmdlb21ldHJ5PSJBcmVhQ2hhcnQiOiJiYXIiPT09bi50eXBlJiYobi5nZW9tZXRyeT0iQmFyQ2hhcnQiKSxkZWxldGUgbi5tb2RlLGRlbGV0ZSBuLnR5cGUpLG59KSwhZSYmdC5sYXlvdXQmJiJzdGFjayI9PT10LmxheW91dC5iYXJtb2RlKSl7dmFyIGk9by51dGlsLmR1cGxpY2F0ZXMoci5kYXRhLm1hcChmdW5jdGlvbih0LGUpe3JldHVybiB0Lmdlb21ldHJ5fSkpO3IuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49aS5pbmRleE9mKHQuZ2VvbWV0cnkpOy0xIT1uJiYoci5kYXRhW2VdLmdyb3VwSWQ9bil9KX1pZih0LmxheW91dCl7dmFyIHM9YSh7fSx0LmxheW91dCk7aWYoW1tzLFsicGxvdF9iZ2NvbG9yIl0sWyJiYWNrZ3JvdW5kQ29sb3IiXV0sW3MsWyJzaG93bGVnZW5kIl0sWyJzaG93TGVnZW5kIl1dLFtzLFsicmFkaWFsYXhpcyJdLFsicmFkaWFsQXhpcyJdXSxbcyxbImFuZ3VsYXJheGlzIl0sWyJhbmd1bGFyQXhpcyJdXSxbcy5hbmd1bGFyYXhpcyxbInNob3dsaW5lIl0sWyJncmlkTGluZXNWaXNpYmxlIl1dLFtzLmFuZ3VsYXJheGlzLFsic2hvd3RpY2tsYWJlbHMiXSxbImxhYmVsc1Zpc2libGUiXV0sW3MuYW5ndWxhcmF4aXMsWyJudGlja3MiXSxbInRpY2tzQ291bnQiXV0sW3MuYW5ndWxhcmF4aXMsWyJ0aWNrb3JpZW50YXRpb24iXSxbInRpY2tPcmllbnRhdGlvbiJdXSxbcy5hbmd1bGFyYXhpcyxbInRpY2tzdWZmaXgiXSxbInRpY2tzU3VmZml4Il1dLFtzLmFuZ3VsYXJheGlzLFsicmFuZ2UiXSxbImRvbWFpbiJdXSxbcy5hbmd1bGFyYXhpcyxbImVuZHBhZGRpbmciXSxbImVuZFBhZGRpbmciXV0sW3MucmFkaWFsYXhpcyxbInNob3dsaW5lIl0sWyJncmlkTGluZXNWaXNpYmxlIl1dLFtzLnJhZGlhbGF4aXMsWyJ0aWNrb3JpZW50YXRpb24iXSxbInRpY2tPcmllbnRhdGlvbiJdXSxbcy5yYWRpYWxheGlzLFsidGlja3N1ZmZpeCJdLFsidGlja3NTdWZmaXgiXV0sW3MucmFkaWFsYXhpcyxbInJhbmdlIl0sWyJkb21haW4iXV0sW3MuYW5ndWxhckF4aXMsWyJzaG93bGluZSJdLFsiZ3JpZExpbmVzVmlzaWJsZSJdXSxbcy5hbmd1bGFyQXhpcyxbInNob3d0aWNrbGFiZWxzIl0sWyJsYWJlbHNWaXNpYmxlIl1dLFtzLmFuZ3VsYXJBeGlzLFsibnRpY2tzIl0sWyJ0aWNrc0NvdW50Il1dLFtzLmFuZ3VsYXJBeGlzLFsidGlja29yaWVudGF0aW9uIl0sWyJ0aWNrT3JpZW50YXRpb24iXV0sW3MuYW5ndWxhckF4aXMsWyJ0aWNrc3VmZml4Il0sWyJ0aWNrc1N1ZmZpeCJdXSxbcy5hbmd1bGFyQXhpcyxbInJhbmdlIl0sWyJkb21haW4iXV0sW3MuYW5ndWxhckF4aXMsWyJlbmRwYWRkaW5nIl0sWyJlbmRQYWRkaW5nIl1dLFtzLnJhZGlhbEF4aXMsWyJzaG93bGluZSJdLFsiZ3JpZExpbmVzVmlzaWJsZSJdXSxbcy5yYWRpYWxBeGlzLFsidGlja29yaWVudGF0aW9uIl0sWyJ0aWNrT3JpZW50YXRpb24iXV0sW3MucmFkaWFsQXhpcyxbInRpY2tzdWZmaXgiXSxbInRpY2tzU3VmZml4Il1dLFtzLnJhZGlhbEF4aXMsWyJyYW5nZSJdLFsiZG9tYWluIl1dLFtzLmZvbnQsWyJvdXRsaW5lY29sb3IiXSxbIm91dGxpbmVDb2xvciJdXSxbcy5sZWdlbmQsWyJ0cmFjZW9yZGVyIl0sWyJyZXZlcnNlT3JkZXIiXV0sW3MsWyJsYWJlbG9mZnNldCJdLFsibGFiZWxPZmZzZXQiXV0sW3MsWyJkZWZhdWx0Y29sb3JyYW5nZSJdLFsiZGVmYXVsdENvbG9yUmFuZ2UiXV1dLmZvckVhY2goZnVuY3Rpb24odCxyKXtvLnV0aWwudHJhbnNsYXRvci5hcHBseShudWxsLHQuY29uY2F0KGUpKX0pLGU/KCJ1bmRlZmluZWQiIT10eXBlb2Ygcy50aWNrTGVuZ3RoJiYocy5hbmd1bGFyYXhpcy50aWNrbGVuPXMudGlja0xlbmd0aCxkZWxldGUgcy50aWNrTGVuZ3RoKSxzLnRpY2tDb2xvciYmKHMuYW5ndWxhcmF4aXMudGlja2NvbG9yPXMudGlja0NvbG9yLGRlbGV0ZSBzLnRpY2tDb2xvcikpOihzLmFuZ3VsYXJBeGlzJiYidW5kZWZpbmVkIiE9dHlwZW9mIHMuYW5ndWxhckF4aXMudGlja2xlbiYmKHMudGlja0xlbmd0aD1zLmFuZ3VsYXJBeGlzLnRpY2tsZW4pLHMuYW5ndWxhckF4aXMmJiJ1bmRlZmluZWQiIT10eXBlb2Ygcy5hbmd1bGFyQXhpcy50aWNrY29sb3ImJihzLnRpY2tDb2xvcj1zLmFuZ3VsYXJBeGlzLnRpY2tjb2xvcikpLHMubGVnZW5kJiYiYm9vbGVhbiIhPXR5cGVvZiBzLmxlZ2VuZC5yZXZlcnNlT3JkZXImJihzLmxlZ2VuZC5yZXZlcnNlT3JkZXI9Im5vcm1hbCIhPXMubGVnZW5kLnJldmVyc2VPcmRlcikscy5sZWdlbmQmJiJib29sZWFuIj09dHlwZW9mIHMubGVnZW5kLnRyYWNlb3JkZXImJihzLmxlZ2VuZC50cmFjZW9yZGVyPXMubGVnZW5kLnRyYWNlb3JkZXI/InJldmVyc2VkIjoibm9ybWFsIixkZWxldGUgcy5sZWdlbmQucmV2ZXJzZU9yZGVyKSxzLm1hcmdpbiYmInVuZGVmaW5lZCIhPXR5cGVvZiBzLm1hcmdpbi50KXt2YXIgbD1bInQiLCJyIiwiYiIsImwiLCJwYWQiXSxjPVsidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0IiwicGFkIl0sdT17fTtuLmVudHJpZXMocy5tYXJnaW4pLmZvckVhY2goZnVuY3Rpb24odCxlKXt1W2NbbC5pbmRleE9mKHQua2V5KV1dPXQudmFsdWV9KSxzLm1hcmdpbj11fWUmJihkZWxldGUgcy5uZWVkc0VuZFNwYWNpbmcsZGVsZXRlIHMubWlub3JUaWNrQ29sb3IsZGVsZXRlIHMubWlub3JUaWNrcyxkZWxldGUgcy5hbmd1bGFyYXhpcy50aWNrc0NvdW50LGRlbGV0ZSBzLmFuZ3VsYXJheGlzLnRpY2tzQ291bnQsZGVsZXRlIHMuYW5ndWxhcmF4aXMudGlja3NTdGVwLGRlbGV0ZSBzLmFuZ3VsYXJheGlzLnJld3JpdGVUaWNrcyxkZWxldGUgcy5hbmd1bGFyYXhpcy5udGlja3MsZGVsZXRlIHMucmFkaWFsYXhpcy50aWNrc0NvdW50LGRlbGV0ZSBzLnJhZGlhbGF4aXMudGlja3NDb3VudCxkZWxldGUgcy5yYWRpYWxheGlzLnRpY2tzU3RlcCxkZWxldGUgcy5yYWRpYWxheGlzLnJld3JpdGVUaWNrcyxkZWxldGUgcy5yYWRpYWxheGlzLm50aWNrcyksci5sYXlvdXQ9c31yZXR1cm4gcn19O3JldHVybiB0fX0seyIuLi8uLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uLy4uL2xpYiI6NzE3LGQzOjE2NX1dLDgzNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vLi4vbGliIiksaT10KCIuLi8uLi8uLi9jb21wb25lbnRzL2NvbG9yIiksbz10KCIuL21pY3JvcG9sYXIiKSxzPXQoIi4vdW5kb19tYW5hZ2VyIiksbD1hLmV4dGVuZERlZXBBbGwsYz1lLmV4cG9ydHM9e307Yy5mcmFtZXdvcms9ZnVuY3Rpb24odCl7dmFyIGUscixhLGksdSxoPW5ldyBzO2Z1bmN0aW9uIGYocixzKXtyZXR1cm4gcyYmKHU9cyksbi5zZWxlY3Qobi5zZWxlY3QodSkubm9kZSgpLnBhcmVudE5vZGUpLnNlbGVjdEFsbCgiLnN2Zy1jb250YWluZXI+Kjpub3QoLmNoYXJ0LXJvb3QpIikucmVtb3ZlKCksZT1lP2woZSxyKTpyLGF8fChhPW8uQXhpcygpKSxpPW8uYWRhcHRlci5wbG90bHkoKS5jb252ZXJ0KGUpLGEuY29uZmlnKGkpLnJlbmRlcih1KSx0LmRhdGE9ZS5kYXRhLHQubGF5b3V0PWUubGF5b3V0LGMuZmlsbExheW91dCh0KSxlfXJldHVybiBmLmlzUG9sYXI9ITAsZi5zdmc9ZnVuY3Rpb24oKXtyZXR1cm4gYS5zdmcoKX0sZi5nZXRDb25maWc9ZnVuY3Rpb24oKXtyZXR1cm4gZX0sZi5nZXRMaXZlQ29uZmlnPWZ1bmN0aW9uKCl7cmV0dXJuIG8uYWRhcHRlci5wbG90bHkoKS5jb252ZXJ0KGEuZ2V0TGl2ZUNvbmZpZygpLCEwKX0sZi5nZXRMaXZlU2NhbGVzPWZ1bmN0aW9uKCl7cmV0dXJue3Q6YS5hbmd1bGFyU2NhbGUoKSxyOmEucmFkaWFsU2NhbGUoKX19LGYuc2V0VW5kb1BvaW50PWZ1bmN0aW9uKCl7dmFyIHQsbixhPXRoaXMsaT1vLnV0aWwuY2xvbmVKc29uKGUpO3Q9aSxuPXIsaC5hZGQoe3VuZG86ZnVuY3Rpb24oKXtuJiZhKG4pfSxyZWRvOmZ1bmN0aW9uKCl7YSh0KX19KSxyPW8udXRpbC5jbG9uZUpzb24oaSl9LGYudW5kbz1mdW5jdGlvbigpe2gudW5kbygpfSxmLnJlZG89ZnVuY3Rpb24oKXtoLnJlZG8oKX0sZn0sYy5maWxsTGF5b3V0PWZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHQpLnNlbGVjdEFsbCgiLnBsb3QtY29udGFpbmVyIikscj1lLnNlbGVjdEFsbCgiLnN2Zy1jb250YWluZXIiKSxhPXQuZnJhbWV3b3JrJiZ0LmZyYW1ld29yay5zdmcmJnQuZnJhbWV3b3JrLnN2ZygpLG89e3dpZHRoOjgwMCxoZWlnaHQ6NjAwLHBhcGVyX2JnY29sb3I6aS5iYWNrZ3JvdW5kLF9jb250YWluZXI6ZSxfcGFwZXJkaXY6cixfcGFwZXI6YX07dC5fZnVsbExheW91dD1sKG8sdC5sYXlvdXQpfX0seyIuLi8uLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uLy4uL2xpYiI6NzE3LCIuL21pY3JvcG9sYXIiOjgzNSwiLi91bmRvX21hbmFnZXIiOjgzNyxkMzoxNjV9XSw4Mzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQsZT1bXSxyPS0xLG49ITE7ZnVuY3Rpb24gYSh0LGUpe3JldHVybiB0PyhuPSEwLHRbZV0oKSxuPSExLHRoaXMpOnRoaXN9cmV0dXJue2FkZDpmdW5jdGlvbih0KXtyZXR1cm4gbj90aGlzOihlLnNwbGljZShyKzEsZS5sZW5ndGgtciksZS5wdXNoKHQpLHI9ZS5sZW5ndGgtMSx0aGlzKX0sc2V0Q2FsbGJhY2s6ZnVuY3Rpb24oZSl7dD1lfSx1bmRvOmZ1bmN0aW9uKCl7dmFyIG49ZVtyXTtyZXR1cm4gbj8oYShuLCJ1bmRvIiksci09MSx0JiZ0KG4udW5kbyksdGhpcyk6dGhpc30scmVkbzpmdW5jdGlvbigpe3ZhciBuPWVbcisxXTtyZXR1cm4gbj8oYShuLCJyZWRvIikscis9MSx0JiZ0KG4ucmVkbyksdGhpcyk6dGhpc30sY2xlYXI6ZnVuY3Rpb24oKXtlPVtdLHI9LTF9LGhhc1VuZG86ZnVuY3Rpb24oKXtyZXR1cm4tMSE9PXJ9LGhhc1JlZG86ZnVuY3Rpb24oKXtyZXR1cm4gcjxlLmxlbmd0aC0xfSxnZXRDb21tYW5kczpmdW5jdGlvbigpe3JldHVybiBlfSxnZXRQcmV2aW91c0NvbW1hbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtyLTFdfSxnZXRJbmRleDpmdW5jdGlvbigpe3JldHVybiByfX19fSx7fV0sODM4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJ0aW55Y29sb3IyIiksaT10KCIuLi8uLi9yZWdpc3RyeSIpLG89dCgiLi4vLi4vbGliIikscz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksbD10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxjPXQoIi4uL3Bsb3RzIiksdT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGg9dCgiLi4vY2FydGVzaWFuL3NldF9jb252ZXJ0IiksZj10KCIuL3NldF9jb252ZXJ0IikscD10KCIuLi9jYXJ0ZXNpYW4vYXV0b3JhbmdlIikuZG9BdXRvUmFuZ2UsZD10KCIuLi9jYXJ0ZXNpYW4vZHJhZ2JveCIpLGc9dCgiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCIpLHY9dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLG09dCgiLi4vLi4vY29tcG9uZW50cy90aXRsZXMiKSx5PXQoIi4uL2NhcnRlc2lhbi9zZWxlY3QiKS5wcmVwU2VsZWN0LHg9dCgiLi4vY2FydGVzaWFuL3NlbGVjdCIpLnNlbGVjdE9uQ2xpY2ssYj10KCIuLi9jYXJ0ZXNpYW4vc2VsZWN0IikuY2xlYXJTZWxlY3QsXz10KCIuLi8uLi9saWIvc2V0Y3Vyc29yIiksdz10KCIuLi8uLi9saWIvY2xlYXJfZ2xfY2FudmFzZXMiKSxrPXQoIi4uLy4uL3Bsb3RfYXBpL3N1YnJvdXRpbmVzIikucmVkcmF3UmVnbFRyYWNlcyxUPXQoIi4uLy4uL2NvbnN0YW50cy9hbGlnbm1lbnQiKS5NSURfU0hJRlQsTT10KCIuL2NvbnN0YW50cyIpLEE9dCgiLi9oZWxwZXJzIiksUz1vLl8sRT1vLm1vZCxMPW8uZGVnMnJhZCxDPW8ucmFkMmRlZztmdW5jdGlvbiBQKHQsZSl7dGhpcy5pZD1lLHRoaXMuZ2Q9dCx0aGlzLl9oYXNDbGlwT25BeGlzRmFsc2U9bnVsbCx0aGlzLnZhbmdsZXM9bnVsbCx0aGlzLnJhZGlhbEF4aXNBbmdsZT1udWxsLHRoaXMudHJhY2VIYXNoPXt9LHRoaXMubGF5ZXJzPXt9LHRoaXMuY2xpcFBhdGhzPXt9LHRoaXMuY2xpcElkcz17fSx0aGlzLnZpZXdJbml0aWFsPXt9O3ZhciByPXQuX2Z1bGxMYXlvdXQsbj0iY2xpcCIrci5fdWlkK2U7dGhpcy5jbGlwSWRzLmZvclRyYWNlcz1uKyItZm9yLXRyYWNlcyIsdGhpcy5jbGlwUGF0aHMuZm9yVHJhY2VzPXIuX2NsaXBzLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIsdGhpcy5jbGlwSWRzLmZvclRyYWNlcyksdGhpcy5jbGlwUGF0aHMuZm9yVHJhY2VzLmFwcGVuZCgicGF0aCIpLHRoaXMuZnJhbWV3b3JrPXIuX3BvbGFybGF5ZXIuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLGUpLHRoaXMucmFkaWFsVGlja0xheW91dD1udWxsLHRoaXMuYW5ndWxhclRpY2tMYXlvdXQ9bnVsbH12YXIgTz1QLnByb3RvdHlwZTtmdW5jdGlvbiB6KHQpe3ZhciBlPXQudGlja3MrU3RyaW5nKHQudGlja2xlbikrU3RyaW5nKHQuc2hvd3RpY2tsYWJlbHMpO3JldHVybiJzaWRlImluIHQmJihlKz10LnNpZGUpLGV9ZnVuY3Rpb24gSSh0LGUpe3JldHVybiBlW28uZmluZEluZGV4T2ZNaW4oZSxmdW5jdGlvbihlKXtyZXR1cm4gby5hbmdsZURpc3QodCxlKX0pXX1mdW5jdGlvbiBEKHQsZSxyKXtyZXR1cm4gZT8odC5hdHRyKCJkaXNwbGF5IixudWxsKSx0LmF0dHIocikpOnQmJnQuYXR0cigiZGlzcGxheSIsIm5vbmUiKSx0fWZ1bmN0aW9uIFIodCxlKXtyZXR1cm4idHJhbnNsYXRlKCIrdCsiLCIrZSsiKSJ9ZnVuY3Rpb24gRih0KXtyZXR1cm4icm90YXRlKCIrdCsiKSJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBQKHQsZSl9LE8ucGxvdD1mdW5jdGlvbih0LGUpe3ZhciByPWVbdGhpcy5pZF07dGhpcy5faGFzQ2xpcE9uQXhpc0ZhbHNlPSExO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXtpZighMT09PXRbbl1bMF0udHJhY2UuY2xpcG9uYXhpcyl7dGhpcy5faGFzQ2xpcE9uQXhpc0ZhbHNlPSEwO2JyZWFrfX10aGlzLnVwZGF0ZUxheWVycyhlLHIpLHRoaXMudXBkYXRlTGF5b3V0KGUsciksYy5nZW5lcmFsVXBkYXRlUGVyVHJhY2VNb2R1bGUodGhpcy5nZCx0aGlzLHQsciksdGhpcy51cGRhdGVGeChlLHIpfSxPLnVwZGF0ZUxheWVycz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGF5ZXJzLGE9ZS5yYWRpYWxheGlzLGk9ZS5hbmd1bGFyYXhpcyxvPU0ubGF5ZXJOYW1lcyxzPW8uaW5kZXhPZigiZnJvbnRwbG90IiksbD1vLnNsaWNlKDAscyksYz0iYmVsb3cgdHJhY2VzIj09PWkubGF5ZXIsdT0iYmVsb3cgdHJhY2VzIj09PWEubGF5ZXI7YyYmbC5wdXNoKCJhbmd1bGFyLWxpbmUiKSx1JiZsLnB1c2goInJhZGlhbC1saW5lIiksYyYmbC5wdXNoKCJhbmd1bGFyLWF4aXMiKSx1JiZsLnB1c2goInJhZGlhbC1heGlzIiksbC5wdXNoKCJmcm9udHBsb3QiKSxjfHxsLnB1c2goImFuZ3VsYXItbGluZSIpLHV8fGwucHVzaCgicmFkaWFsLWxpbmUiKSxjfHxsLnB1c2goImFuZ3VsYXItYXhpcyIpLHV8fGwucHVzaCgicmFkaWFsLWF4aXMiKTt2YXIgaD10aGlzLmZyYW1ld29yay5zZWxlY3RBbGwoIi5wb2xhcnN1YmxheWVyIikuZGF0YShsLFN0cmluZyk7aC5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIixmdW5jdGlvbih0KXtyZXR1cm4icG9sYXJzdWJsYXllciAiK3R9KS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXJbdF09bi5zZWxlY3QodGhpcyk7c3dpdGNoKHQpe2Nhc2UiZnJvbnRwbG90IjplLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJhcmxheWVyIiwhMCksZS5hcHBlbmQoImciKS5jbGFzc2VkKCJzY2F0dGVybGF5ZXIiLCEwKTticmVhaztjYXNlImJhY2twbG90IjplLmFwcGVuZCgiZyIpLmNsYXNzZWQoIm1hcGxheWVyIiwhMCk7YnJlYWs7Y2FzZSJwbG90YmciOnIuYmc9ZS5hcHBlbmQoInBhdGgiKTticmVhaztjYXNlInJhZGlhbC1ncmlkIjpjYXNlImFuZ3VsYXItZ3JpZCI6ZS5zdHlsZSgiZmlsbCIsIm5vbmUiKTticmVhaztjYXNlInJhZGlhbC1saW5lIjplLmFwcGVuZCgibGluZSIpLnN0eWxlKCJmaWxsIiwibm9uZSIpO2JyZWFrO2Nhc2UiYW5ndWxhci1saW5lIjplLmFwcGVuZCgicGF0aCIpLnN0eWxlKCJmaWxsIiwibm9uZSIpfX0pLGgub3JkZXIoKX0sTy51cGRhdGVMYXlvdXQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxheWVycyxuPXQuX3NpemUsYT1lLnJhZGlhbGF4aXMsaT1lLmFuZ3VsYXJheGlzLG89ZS5kb21haW4ueCxjPWUuZG9tYWluLnk7dGhpcy54T2Zmc2V0PW4ubCtuLncqb1swXSx0aGlzLnlPZmZzZXQ9bi50K24uaCooMS1jWzFdKTt2YXIgdT10aGlzLnhMZW5ndGg9bi53KihvWzFdLW9bMF0pLGg9dGhpcy55TGVuZ3RoPW4uaCooY1sxXS1jWzBdKSxmPWUuc2VjdG9yO3RoaXMuc2VjdG9ySW5SYWQ9Zi5tYXAoTCk7dmFyIHAsZCxnLHYsbSx5PXRoaXMuc2VjdG9yQkJveD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPXRbMF0sbz10WzFdLWkscz1FKGksMzYwKSxsPXMrbyxjPU1hdGguY29zKEwocykpLHU9TWF0aC5zaW4oTChzKSksaD1NYXRoLmNvcyhMKGwpKSxmPU1hdGguc2luKEwobCkpO2E9czw9OTAmJmw+PTkwfHxzPjkwJiZsPj00NTA/MTp1PD0wJiZmPD0wPzA6TWF0aC5tYXgodSxmKTtlPXM8PTE4MCYmbD49MTgwfHxzPjE4MCYmbD49NTQwPy0xOmM+PTAmJmg+PTA/MDpNYXRoLm1pbihjLGgpO3I9czw9MjcwJiZsPj0yNzB8fHM+MjcwJiZsPj02MzA/LTE6dT49MCYmZj49MD8wOk1hdGgubWluKHUsZik7bj1sPj0zNjA/MTpjPD0wJiZoPD0wPzA6TWF0aC5tYXgoYyxoKTtyZXR1cm5bZSxyLG4sYV19KGYpLHg9eVsyXS15WzBdLGI9eVszXS15WzFdLF89aC91LHc9TWF0aC5hYnMoYi94KTtfPnc/KHA9dSxtPShoLShkPXUqdykpL24uaC8yLGc9W29bMF0sb1sxXV0sdj1bY1swXSttLGNbMV0tbV0pOihkPWgsbT0odS0ocD1oL3cpKS9uLncvMixnPVtvWzBdK20sb1sxXS1tXSx2PVtjWzBdLGNbMV1dKSx0aGlzLnhMZW5ndGgyPXAsdGhpcy55TGVuZ3RoMj1kLHRoaXMueERvbWFpbjI9Zyx0aGlzLnlEb21haW4yPXY7dmFyIGs9dGhpcy54T2Zmc2V0Mj1uLmwrbi53KmdbMF0sVD10aGlzLnlPZmZzZXQyPW4udCtuLmgqKDEtdlsxXSksTT10aGlzLnJhZGl1cz1wL3gsQT10aGlzLmlubmVyUmFkaXVzPWUuaG9sZSpNLFM9dGhpcy5jeD1rLU0qeVswXSxDPXRoaXMuY3k9VCtNKnlbM10sUD10aGlzLmN4eD1TLWssTz10aGlzLmN5eT1DLVQ7dGhpcy5yYWRpYWxBeGlzPXRoaXMubW9ja0F4aXModCxlLGEse19pZDoieCIsc2lkZTp7Y291bnRlcmNsb2Nrd2lzZToidG9wIixjbG9ja3dpc2U6ImJvdHRvbSJ9W2Euc2lkZV0sZG9tYWluOltBL24udyxNL24ud119KSx0aGlzLmFuZ3VsYXJBeGlzPXRoaXMubW9ja0F4aXModCxlLGkse3NpZGU6InJpZ2h0Iixkb21haW46WzAsTWF0aC5QSV0sYXV0b3JhbmdlOiExfSksdGhpcy5kb0F1dG9SYW5nZSh0LGUpLHRoaXMudXBkYXRlQW5ndWxhckF4aXModCxlKSx0aGlzLnVwZGF0ZVJhZGlhbEF4aXModCxlKSx0aGlzLnVwZGF0ZVJhZGlhbEF4aXNUaXRsZSh0LGUpLHRoaXMueGF4aXM9dGhpcy5tb2NrQ2FydGVzaWFuQXhpcyh0LGUse19pZDoieCIsZG9tYWluOmd9KSx0aGlzLnlheGlzPXRoaXMubW9ja0NhcnRlc2lhbkF4aXModCxlLHtfaWQ6InkiLGRvbWFpbjp2fSk7dmFyIHo9dGhpcy5wYXRoU3VicGxvdCgpO3RoaXMuY2xpcFBhdGhzLmZvclRyYWNlcy5zZWxlY3QoInBhdGgiKS5hdHRyKCJkIix6KS5hdHRyKCJ0cmFuc2Zvcm0iLFIoUCxPKSksci5mcm9udHBsb3QuYXR0cigidHJhbnNmb3JtIixSKGssVCkpLmNhbGwobC5zZXRDbGlwVXJsLHRoaXMuX2hhc0NsaXBPbkF4aXNGYWxzZT9udWxsOnRoaXMuY2xpcElkcy5mb3JUcmFjZXMsdGhpcy5nZCksci5iZy5hdHRyKCJkIix6KS5hdHRyKCJ0cmFuc2Zvcm0iLFIoUyxDKSkuY2FsbChzLmZpbGwsZS5iZ2NvbG9yKX0sTy5tb2NrQXhpcz1mdW5jdGlvbih0LGUscixuKXt2YXIgYT1vLmV4dGVuZEZsYXQoe30scixuKTtyZXR1cm4gZihhLGUsdCksYX0sTy5tb2NrQ2FydGVzaWFuQXhpcz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcyxhPXIuX2lkLGk9by5leHRlbmRGbGF0KHt0eXBlOiJsaW5lYXIifSxyKTtoKGksdCk7dmFyIHM9e3g6WzAsMl0seTpbMSwzXX07cmV0dXJuIGkuc2V0UmFuZ2U9ZnVuY3Rpb24oKXt2YXIgdD1uLnNlY3RvckJCb3gscj1zW2FdLG89bi5yYWRpYWxBeGlzLl9ybCxsPShvWzFdLW9bMF0pLygxLWUuaG9sZSk7aS5yYW5nZT1bdFtyWzBdXSpsLHRbclsxXV0qbF19LGkuaXNQdFdpdGhpblJhbmdlPSJ4Ij09PWE/ZnVuY3Rpb24odCl7cmV0dXJuIG4uaXNQdEluc2lkZSh0KX06ZnVuY3Rpb24oKXtyZXR1cm4hMH0saS5zZXRSYW5nZSgpLGkuc2V0U2NhbGUoKSxpfSxPLmRvQXV0b1JhbmdlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5nZCxuPXRoaXMucmFkaWFsQXhpcyxhPWUucmFkaWFsYXhpcztuLnNldFNjYWxlKCkscChyLG4pO3ZhciBpPW4ucmFuZ2U7YS5yYW5nZT1pLnNsaWNlKCksYS5faW5wdXQucmFuZ2U9aS5zbGljZSgpLG4uX3JsPVtuLnIybChpWzBdLG51bGwsImdyZWdvcmlhbiIpLG4ucjJsKGlbMV0sbnVsbCwiZ3JlZ29yaWFuIildfSxPLnVwZGF0ZVJhZGlhbEF4aXM9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLG49ci5nZCxhPXIubGF5ZXJzLGk9ci5yYWRpdXMsbD1yLmlubmVyUmFkaXVzLGM9ci5jeCxoPXIuY3ksZj1lLnJhZGlhbGF4aXMscD1FKGUuc2VjdG9yWzBdLDM2MCksZD1yLnJhZGlhbEF4aXMsZz1sPGk7ci5maWxsVmlld0luaXRpYWxLZXkoInJhZGlhbGF4aXMuYW5nbGUiLGYuYW5nbGUpLHIuZmlsbFZpZXdJbml0aWFsS2V5KCJyYWRpYWxheGlzLnJhbmdlIixkLnJhbmdlLnNsaWNlKCkpLGQuc2V0R2VvbWV0cnkoKSwiYXV0byI9PT1kLnRpY2thbmdsZSYmcD45MCYmcDw9MjcwJiYoZC50aWNrYW5nbGU9MTgwKTt2YXIgdj1mdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrKGQubDJwKHQueCkrbCkrIiwwKSJ9LG09eihmKTtpZihyLnJhZGlhbFRpY2tMYXlvdXQhPT1tJiYoYVsicmFkaWFsLWF4aXMiXS5zZWxlY3RBbGwoIi54dGljayIpLnJlbW92ZSgpLHIucmFkaWFsVGlja0xheW91dD1tKSxnKXtkLnNldFNjYWxlKCk7dmFyIHk9dS5jYWxjVGlja3MoZCkseD11LmNsaXBFbmRzKGQseSksYj11LmdldFRpY2tTaWducyhkKVsyXTt1LmRyYXdUaWNrcyhuLGQse3ZhbHM6eSxsYXllcjphWyJyYWRpYWwtYXhpcyJdLHBhdGg6dS5tYWtlVGlja1BhdGgoZCwwLGIpLHRyYW5zRm46dixjcmlzcDohMX0pLHUuZHJhd0dyaWQobixkLHt2YWxzOngsbGF5ZXI6YVsicmFkaWFsLWdyaWQiXSxwYXRoOmZ1bmN0aW9uKHQpe3JldHVybiByLnBhdGhBcmMoZC5yMnAodC54KStsKX0sdHJhbnNGbjpvLm5vb3AsY3Jpc3A6ITF9KSx1LmRyYXdMYWJlbHMobixkLHt2YWxzOnksbGF5ZXI6YVsicmFkaWFsLWF4aXMiXSx0cmFuc0ZuOnYsbGFiZWxGbnM6dS5tYWtlTGFiZWxGbnMoZCwwKX0pfXZhciBfPXIucmFkaWFsQXhpc0FuZ2xlPXIudmFuZ2xlcz9DKEkoTChmLmFuZ2xlKSxyLnZhbmdsZXMpKTpmLmFuZ2xlLHc9UihjLGgpLGs9dytGKC1fKTtEKGFbInJhZGlhbC1heGlzIl0sZyYmKGYuc2hvd3RpY2tsYWJlbHN8fGYudGlja3MpLHt0cmFuc2Zvcm06a30pLEQoYVsicmFkaWFsLWdyaWQiXSxnJiZmLnNob3dncmlkLHt0cmFuc2Zvcm06d30pLEQoYVsicmFkaWFsLWxpbmUiXS5zZWxlY3QoImxpbmUiKSxnJiZmLnNob3dsaW5lLHt4MTpsLHkxOjAseDI6aSx5MjowLHRyYW5zZm9ybTprfSkuYXR0cigic3Ryb2tlLXdpZHRoIixmLmxpbmV3aWR0aCkuY2FsbChzLnN0cm9rZSxmLmxpbmVjb2xvcil9LE8udXBkYXRlUmFkaWFsQXhpc1RpdGxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmdkLGE9dGhpcy5yYWRpdXMsaT10aGlzLmN4LG89dGhpcy5jeSxzPWUucmFkaWFsYXhpcyxjPXRoaXMuaWQrInRpdGxlIix1PXZvaWQgMCE9PXI/cjp0aGlzLnJhZGlhbEF4aXNBbmdsZSxoPUwodSksZj1NYXRoLmNvcyhoKSxwPU1hdGguc2luKGgpLGQ9MDtpZihzLnRpdGxlKXt2YXIgZz1sLmJCb3godGhpcy5sYXllcnNbInJhZGlhbC1heGlzIl0ubm9kZSgpKS5oZWlnaHQsdj1zLnRpdGxlLmZvbnQuc2l6ZTtkPSJjb3VudGVyY2xvY2t3aXNlIj09PXMuc2lkZT8tZy0uNCp2OmcrLjgqdn10aGlzLmxheWVyc1sicmFkaWFsLWF4aXMtdGl0bGUiXT1tLmRyYXcobixjLHtwcm9wQ29udGFpbmVyOnMscHJvcE5hbWU6dGhpcy5pZCsiLnJhZGlhbGF4aXMudGl0bGUiLHBsYWNlaG9sZGVyOlMobiwiQ2xpY2sgdG8gZW50ZXIgcmFkaWFsIGF4aXMgdGl0bGUiKSxhdHRyaWJ1dGVzOnt4OmkrYS8yKmYrZCpwLHk6by1hLzIqcCtkKmYsInRleHQtYW5jaG9yIjoibWlkZGxlIn0sdHJhbnNmb3JtOntyb3RhdGU6LXV9fSl9LE8udXBkYXRlQW5ndWxhckF4aXM9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLG49ci5nZCxhPXIubGF5ZXJzLGk9ci5yYWRpdXMsbD1yLmlubmVyUmFkaXVzLGM9ci5jeCxoPXIuY3ksZj1lLmFuZ3VsYXJheGlzLHA9ci5hbmd1bGFyQXhpcztyLmZpbGxWaWV3SW5pdGlhbEtleSgiYW5ndWxhcmF4aXMucm90YXRpb24iLGYucm90YXRpb24pLHAuc2V0R2VvbWV0cnkoKSxwLnNldFNjYWxlKCk7dmFyIGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHAudDJnKHQueCl9OyJsaW5lYXIiPT09cC50eXBlJiYicmFkaWFucyI9PT1wLnRoZXRhdW5pdCYmKHAudGljazA9QyhwLnRpY2swKSxwLmR0aWNrPUMocC5kdGljaykpO3ZhciBnPWZ1bmN0aW9uKHQpe3JldHVybiBSKGMraSpNYXRoLmNvcyh0KSxoLWkqTWF0aC5zaW4odCkpfSx2PXUubWFrZUxhYmVsRm5zKHAsMCkubGFiZWxTdGFuZG9mZixtPXt4Rm46ZnVuY3Rpb24odCl7dmFyIGU9ZCh0KTtyZXR1cm4gTWF0aC5jb3MoZSkqdn0seUZuOmZ1bmN0aW9uKHQpe3ZhciBlPWQodCkscj1NYXRoLnNpbihlKT4wPy4yOjE7cmV0dXJuLU1hdGguc2luKGUpKih2K3QuZm9udFNpemUqcikrTWF0aC5hYnMoTWF0aC5jb3MoZSkpKih0LmZvbnRTaXplKlQpfSxhbmNob3JGbjpmdW5jdGlvbih0KXt2YXIgZT1kKHQpLHI9TWF0aC5jb3MoZSk7cmV0dXJuIE1hdGguYWJzKHIpPC4xPyJtaWRkbGUiOnI+MD8ic3RhcnQiOiJlbmQifSxoZWlnaHRGbjpmdW5jdGlvbih0LGUscil7dmFyIG49ZCh0KTtyZXR1cm4tLjUqKDErTWF0aC5zaW4obikpKnJ9fSx5PXooZik7ci5hbmd1bGFyVGlja0xheW91dCE9PXkmJihhWyJhbmd1bGFyLWF4aXMiXS5zZWxlY3RBbGwoIi4iK3AuX2lkKyJ0aWNrIikucmVtb3ZlKCksci5hbmd1bGFyVGlja0xheW91dD15KTt2YXIgeCxiPXUuY2FsY1RpY2tzKHApO2lmKCJsaW5lYXIiPT09ZS5ncmlkc2hhcGU/KHg9Yi5tYXAoZCksby5hbmdsZURlbHRhKHhbMF0seFsxXSk8MCYmKHg9eC5zbGljZSgpLnJldmVyc2UoKSkpOng9bnVsbCxyLnZhbmdsZXM9eCwiY2F0ZWdvcnkiPT09cC50eXBlJiYoYj1iLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gby5pc0FuZ2xlSW5zaWRlU2VjdG9yKGQodCksci5zZWN0b3JJblJhZCl9KSkscC52aXNpYmxlKXt2YXIgXz0iaW5zaWRlIj09PXAudGlja3M/LTE6MSx3PShwLmxpbmV3aWR0aHx8MSkvMjt1LmRyYXdUaWNrcyhuLHAse3ZhbHM6YixsYXllcjphWyJhbmd1bGFyLWF4aXMiXSxwYXRoOiJNIitfKncrIiwwaCIrXypwLnRpY2tsZW4sdHJhbnNGbjpmdW5jdGlvbih0KXt2YXIgZT1kKHQpO3JldHVybiBnKGUpK0YoLUMoZSkpfSxjcmlzcDohMX0pLHUuZHJhd0dyaWQobixwLHt2YWxzOmIsbGF5ZXI6YVsiYW5ndWxhci1ncmlkIl0scGF0aDpmdW5jdGlvbih0KXt2YXIgZT1kKHQpLHI9TWF0aC5jb3MoZSksbj1NYXRoLnNpbihlKTtyZXR1cm4iTSIrW2MrbCpyLGgtbCpuXSsiTCIrW2MraSpyLGgtaSpuXX0sdHJhbnNGbjpvLm5vb3AsY3Jpc3A6ITF9KSx1LmRyYXdMYWJlbHMobixwLHt2YWxzOmIsbGF5ZXI6YVsiYW5ndWxhci1heGlzIl0scmVwb3NpdGlvbk9uVXBkYXRlOiEwLHRyYW5zRm46ZnVuY3Rpb24odCl7cmV0dXJuIGcoZCh0KSl9LGxhYmVsRm5zOm19KX1EKGFbImFuZ3VsYXItbGluZSJdLnNlbGVjdCgicGF0aCIpLGYuc2hvd2xpbmUse2Q6ci5wYXRoU3VicGxvdCgpLHRyYW5zZm9ybTpSKGMsaCl9KS5hdHRyKCJzdHJva2Utd2lkdGgiLGYubGluZXdpZHRoKS5jYWxsKHMuc3Ryb2tlLGYubGluZWNvbG9yKX0sTy51cGRhdGVGeD1mdW5jdGlvbih0LGUpe3RoaXMuZ2QuX2NvbnRleHQuc3RhdGljUGxvdHx8KHRoaXMudXBkYXRlQW5ndWxhckRyYWcodCksdGhpcy51cGRhdGVSYWRpYWxEcmFnKHQsZSwwKSx0aGlzLnVwZGF0ZVJhZGlhbERyYWcodCxlLDEpLHRoaXMudXBkYXRlTWFpbkRyYWcodCkpfSxPLnVwZGF0ZU1haW5EcmFnPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMscj1lLmdkLG89ZS5sYXllcnMscz10Ll96b29tbGF5ZXIsbD1NLk1JTlpPT00sYz1NLk9GRkVER0UsdT1lLnJhZGl1cyxoPWUuaW5uZXJSYWRpdXMsZj1lLmN4LHA9ZS5jeSxtPWUuY3h4LF89ZS5jeXksdz1lLnNlY3RvckluUmFkLGs9ZS52YW5nbGVzLFQ9ZS5yYWRpYWxBeGlzLFM9QS5jbGFtcFRpbnksRT1BLmZpbmRYWWF0TGVuZ3RoLEw9QS5maW5kRW5jbG9zaW5nVmVydGV4QW5nbGVzLEM9TS5jb3JuZXJIYWxmV2lkdGgsUD1NLmNvcm5lckxlbi8yLE89ZC5tYWtlRHJhZ2dlcihvLCJwYXRoIiwibWFpbmRyYWciLCJjcm9zc2hhaXIiKTtuLnNlbGVjdChPKS5hdHRyKCJkIixlLnBhdGhTdWJwbG90KCkpLmF0dHIoInRyYW5zZm9ybSIsUihmLHApKTt2YXIgeixJLEQsRixCLE4saixWLFUscT17ZWxlbWVudDpPLGdkOnIsc3VicGxvdDplLmlkLHBsb3RpbmZvOntpZDplLmlkLHhheGlzOmUueGF4aXMseWF4aXM6ZS55YXhpc30seGF4ZXM6W2UueGF4aXNdLHlheGVzOltlLnlheGlzXX07ZnVuY3Rpb24gSCh0LGUpe3JldHVybiBNYXRoLnNxcnQodCp0K2UqZSl9ZnVuY3Rpb24gRyh0LGUpe3JldHVybiBIKHQtbSxlLV8pfWZ1bmN0aW9uIFkodCxlKXtyZXR1cm4gTWF0aC5hdGFuMihfLWUsdC1tKX1mdW5jdGlvbiBXKHQsZSl7cmV0dXJuW3QqTWF0aC5jb3MoZSksdCpNYXRoLnNpbigtZSldfWZ1bmN0aW9uIFgodCxyKXtpZigwPT09dClyZXR1cm4gZS5wYXRoU2VjdG9yKDIqQyk7dmFyIG49UC90LGE9ci1uLGk9cituLG89TWF0aC5tYXgoMCxNYXRoLm1pbih0LHUpKSxzPW8tQyxsPW8rQztyZXR1cm4iTSIrVyhzLGEpKyJBIitbcyxzXSsiIDAsMCwwICIrVyhzLGkpKyJMIitXKGwsaSkrIkEiK1tsLGxdKyIgMCwwLDEgIitXKGwsYSkrIloifWZ1bmN0aW9uIFoodCxyLG4pe2lmKDA9PT10KXJldHVybiBlLnBhdGhTZWN0b3IoMipDKTt2YXIgYSxpLG89Vyh0LHIpLHM9Vyh0LG4pLGw9Uygob1swXStzWzBdKS8yKSxjPVMoKG9bMV0rc1sxXSkvMik7aWYobCYmYyl7dmFyIHU9Yy9sLGg9LTEvdSxmPUUoQyx1LGwsYyk7YT1FKFAsaCxmWzBdWzBdLGZbMF1bMV0pLGk9RShQLGgsZlsxXVswXSxmWzFdWzFdKX1lbHNle3ZhciBwLGQ7Yz8ocD1QLGQ9Qyk6KHA9QyxkPVApLGE9W1tsLXAsYy1kXSxbbCtwLGMtZF1dLGk9W1tsLXAsYytkXSxbbCtwLGMrZF1dfXJldHVybiJNIithLmpvaW4oIkwiKSsiTCIraS5yZXZlcnNlKCkuam9pbigiTCIpKyJaIn1mdW5jdGlvbiBKKHQsZSl7cmV0dXJuIGU9TWF0aC5tYXgoTWF0aC5taW4oZSx1KSxoKSx0PGM/dD0wOnUtdDxjP3Q9dTplPGM/ZT0wOnUtZTxjJiYoZT11KSxNYXRoLmFicyhlLXQpPmw/KHQ8ZT8oRD10LEY9ZSk6KEQ9ZSxGPXQpLCEwKTooRD1udWxsLEY9bnVsbCwhMSl9ZnVuY3Rpb24gSyh0LGUpe3Q9dHx8QixlPWV8fCJNMCwwWiIsVi5hdHRyKCJkIix0KSxVLmF0dHIoImQiLGUpLGQudHJhbnNpdGlvblpvb21ib3goVixVLE4saiksTj0hMDt2YXIgbj17fTtydChuKSxyLmVtaXQoInBsb3RseV9yZWxheW91dGluZyIsbil9ZnVuY3Rpb24gUSh0LHIpe3ZhciBuLGEsaT16K3Qsbz1JK3Iscz1HKHosSSksbD1NYXRoLm1pbihHKGksbyksdSksYz1ZKHosSSk7SihzLGwpJiYobj1CK2UucGF0aFNlY3RvcihGKSxEJiYobis9ZS5wYXRoU2VjdG9yKEQpKSxhPVgoRCxjKStYKEYsYykpLEsobixhKX1mdW5jdGlvbiAkKHQsZSxyLG4pe3ZhciBhPUEuZmluZEludGVyc2VjdGlvblhZKHIsbixyLFt0LW0sXy1lXSk7cmV0dXJuIEgoYVswXSxhWzFdKX1mdW5jdGlvbiB0dCh0LHIpe3ZhciBuLGEsaT16K3Qsbz1JK3Iscz1ZKHosSSksbD1ZKGksbyksYz1MKHMsayksaD1MKGwsayk7SigkKHosSSxjWzBdLGNbMV0pLE1hdGgubWluKCQoaSxvLGhbMF0saFsxXSksdSkpJiYobj1CK2UucGF0aFNlY3RvcihGKSxEJiYobis9ZS5wYXRoU2VjdG9yKEQpKSxhPVtaKEQsY1swXSxjWzFdKSxaKEYsY1swXSxjWzFdKV0uam9pbigiICIpKSxLKG4sYSl9ZnVuY3Rpb24gZXQoKXtpZihkLnJlbW92ZVpvb21ib3gociksbnVsbCE9PUQmJm51bGwhPT1GKXt2YXIgdD17fTtydCh0KSxkLnNob3dEb3VibGVDbGlja05vdGlmaWVyKHIpLGkuY2FsbCgiX2d1aVJlbGF5b3V0IixyLHQpfX1mdW5jdGlvbiBydCh0KXt2YXIgcj1ULl9ybCxuPShyWzFdLXJbMF0pLygxLWgvdSkvdSxhPVtyWzBdKyhELWgpKm4sclswXSsoRi1oKSpuXTt0W2UuaWQrIi5yYWRpYWxheGlzLnJhbmdlIl09YX1mdW5jdGlvbiBudCh0LG4pe3ZhciBhPXIuX2Z1bGxMYXlvdXQuY2xpY2ttb2RlO2lmKGQucmVtb3ZlWm9vbWJveChyKSwyPT09dCl7dmFyIG89e307Zm9yKHZhciBzIGluIGUudmlld0luaXRpYWwpb1tlLmlkKyIuIitzXT1lLnZpZXdJbml0aWFsW3NdO3IuZW1pdCgicGxvdGx5X2RvdWJsZWNsaWNrIixudWxsKSxpLmNhbGwoIl9ndWlSZWxheW91dCIscixvKX1hLmluZGV4T2YoInNlbGVjdCIpPi0xJiYxPT09dCYmeChuLHIsW2UueGF4aXNdLFtlLnlheGlzXSxlLmlkLHEpLGEuaW5kZXhPZigiZXZlbnQiKT4tMSYmdi5jbGljayhyLG4sZS5pZCl9cS5wcmVwRm49ZnVuY3Rpb24odCxuLGkpe3ZhciBvPXIuX2Z1bGxMYXlvdXQuZHJhZ21vZGUsbD1PLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHo9bi1sLmxlZnQsST1pLWwudG9wLGspe3ZhciBjPUEuZmluZFBvbHlnb25PZmZzZXQodSx3WzBdLHdbMV0sayk7eis9bStjWzBdLEkrPV8rY1sxXX1zd2l0Y2gobyl7Y2FzZSJ6b29tIjpxLm1vdmVGbj1rP3R0OlEscS5jbGlja0ZuPW50LHEuZG9uZUZuPWV0LGZ1bmN0aW9uKCl7RD1udWxsLEY9bnVsbCxCPWUucGF0aFN1YnBsb3QoKSxOPSExO3ZhciB0PXIuX2Z1bGxMYXlvdXRbZS5pZF07aj1hKHQuYmdjb2xvcikuZ2V0THVtaW5hbmNlKCksKFY9ZC5tYWtlWm9vbWJveChzLGosZixwLEIpKS5hdHRyKCJmaWxsLXJ1bGUiLCJldmVub2RkIiksVT1kLm1ha2VDb3JuZXJzKHMsZixwKSxiKHIpfSgpO2JyZWFrO2Nhc2Uic2VsZWN0IjpjYXNlImxhc3NvIjp5KHQsbixpLHEsbyl9fSxPLm9ubW91c2Vtb3ZlPWZ1bmN0aW9uKHQpe3YuaG92ZXIocix0LGUuaWQpLHIuX2Z1bGxMYXlvdXQuX2xhc3Rob3Zlcj1PLHIuX2Z1bGxMYXlvdXQuX2hvdmVyc3VicGxvdD1lLmlkfSxPLm9ubW91c2VvdXQ9ZnVuY3Rpb24odCl7ci5fZHJhZ2dpbmd8fGcudW5ob3ZlcihyLHQpfSxnLmluaXQocSl9LE8udXBkYXRlUmFkaWFsRHJhZz1mdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcyxzPWEuZ2QsbD1hLmxheWVycyxjPWEucmFkaXVzLHU9YS5pbm5lclJhZGl1cyxoPWEuY3gsZj1hLmN5LHA9YS5yYWRpYWxBeGlzLHY9TS5yYWRpYWxEcmFnQm94U2l6ZSxtPXYvMjtpZihwLnZpc2libGUpe3ZhciB5LHgsXyxUPUwoYS5yYWRpYWxBeGlzQW5nbGUpLEE9cC5fcmwsUz1BWzBdLEU9QVsxXSxQPUFbcl0sTz0uNzUqKEFbMV0tQVswXSkvKDEtZS5ob2xlKS9jO3I/KHk9aCsoYyttKSpNYXRoLmNvcyhUKSx4PWYtKGMrbSkqTWF0aC5zaW4oVCksXz0icmFkaWFsZHJhZyIpOih5PWgrKHUtbSkqTWF0aC5jb3MoVCkseD1mLSh1LW0pKk1hdGguc2luKFQpLF89InJhZGlhbGRyYWctaW5uZXIiKTt2YXIgeixCLE4saj1kLm1ha2VSZWN0RHJhZ2dlcihsLF8sImNyb3NzaGFpciIsLW0sLW0sdix2KSxWPXtlbGVtZW50OmosZ2Q6c307RChuLnNlbGVjdChqKSxwLnZpc2libGUmJnU8Yyx7dHJhbnNmb3JtOlIoeSx4KX0pLFYucHJlcEZuPWZ1bmN0aW9uKCl7ej1udWxsLEI9bnVsbCxOPW51bGwsVi5tb3ZlRm49VSxWLmRvbmVGbj1xLGIocyl9LFYuY2xhbXBGbj1mdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLnNxcnQodCp0K2UqZSk8TS5NSU5EUkFHJiYodD0wLGU9MCksW3QsZV19LGcuaW5pdChWKX1mdW5jdGlvbiBVKHQsZSl7aWYoeil6KHQsZSk7ZWxzZXt2YXIgbj1bdCwtZV0saT1bTWF0aC5jb3MoVCksTWF0aC5zaW4oVCldLGw9TWF0aC5hYnMoby5kb3QobixpKS9NYXRoLnNxcnQoby5kb3QobixuKSkpO2lzTmFOKGwpfHwoej1sPC41P0g6Ryl9dmFyIGM9e307IWZ1bmN0aW9uKHQpe251bGwhPT1CP3RbYS5pZCsiLnJhZGlhbGF4aXMuYW5nbGUiXT1COm51bGwhPT1OJiYodFthLmlkKyIucmFkaWFsYXhpcy5yYW5nZVsiK3IrIl0iXT1OKX0oYykscy5lbWl0KCJwbG90bHlfcmVsYXlvdXRpbmciLGMpfWZ1bmN0aW9uIHEoKXtudWxsIT09Qj9pLmNhbGwoIl9ndWlSZWxheW91dCIscyxhLmlkKyIucmFkaWFsYXhpcy5hbmdsZSIsQik6bnVsbCE9PU4mJmkuY2FsbCgiX2d1aVJlbGF5b3V0IixzLGEuaWQrIi5yYWRpYWxheGlzLnJhbmdlWyIrcisiXSIsTil9ZnVuY3Rpb24gSCh0LGUpe2lmKDAhPT1yKXt2YXIgbj15K3QsaT14K2U7Qj1NYXRoLmF0YW4yKGYtaSxuLWgpLGEudmFuZ2xlcyYmKEI9SShCLGEudmFuZ2xlcykpLEI9QyhCKTt2YXIgbz1SKGgsZikrRigtQik7bFsicmFkaWFsLWF4aXMiXS5hdHRyKCJ0cmFuc2Zvcm0iLG8pLGxbInJhZGlhbC1saW5lIl0uc2VsZWN0KCJsaW5lIikuYXR0cigidHJhbnNmb3JtIixvKTt2YXIgcz1hLmdkLl9mdWxsTGF5b3V0LGM9c1thLmlkXTthLnVwZGF0ZVJhZGlhbEF4aXNUaXRsZShzLGMsQil9fWZ1bmN0aW9uIEcodCxlKXt2YXIgbj1vLmRvdChbdCwtZV0sW01hdGguY29zKFQpLE1hdGguc2luKFQpXSk7aWYoTj1QLU8qbixPPjA9PShyP04+UzpOPEUpKXt2YXIgbD1zLl9mdWxsTGF5b3V0LGM9bFthLmlkXTtwLnJhbmdlW3JdPU4scC5fcmxbcl09TixhLnVwZGF0ZVJhZGlhbEF4aXMobCxjKSxhLnhheGlzLnNldFJhbmdlKCksYS54YXhpcy5zZXRTY2FsZSgpLGEueWF4aXMuc2V0UmFuZ2UoKSxhLnlheGlzLnNldFNjYWxlKCk7dmFyIHU9ITE7Zm9yKHZhciBoIGluIGEudHJhY2VIYXNoKXt2YXIgZj1hLnRyYWNlSGFzaFtoXSxkPW8uZmlsdGVyVmlzaWJsZShmKTtmWzBdWzBdLnRyYWNlLl9tb2R1bGUucGxvdChzLGEsZCxjKSxpLnRyYWNlSXMoaCwiZ2wiKSYmZC5sZW5ndGgmJih1PSEwKX11JiYodyhzKSxrKHMpKX1lbHNlIE49bnVsbH19LE8udXBkYXRlQW5ndWxhckRyYWc9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxyPWUuZ2QsYT1lLmxheWVycyxzPWUucmFkaXVzLGM9ZS5hbmd1bGFyQXhpcyx1PWUuY3gsaD1lLmN5LGY9ZS5jeHgscD1lLmN5eSx2PU0uYW5ndWxhckRyYWdCb3hTaXplLG09ZC5tYWtlRHJhZ2dlcihhLCJwYXRoIiwiYW5ndWxhcmRyYWciLCJtb3ZlIikseT17ZWxlbWVudDptLGdkOnJ9O2Z1bmN0aW9uIHgodCxlKXtyZXR1cm4gTWF0aC5hdGFuMihwK3YtZSx0LWYtdil9bi5zZWxlY3QobSkuYXR0cigiZCIsZS5wYXRoQW5udWx1cyhzLHMrdikpLmF0dHIoInRyYW5zZm9ybSIsUih1LGgpKS5jYWxsKF8sIm1vdmUiKTt2YXIgVCxBLFMsRSxMLFAsTz1hLmZyb250cGxvdC5zZWxlY3QoIi5zY2F0dGVybGF5ZXIiKS5zZWxlY3RBbGwoIi50cmFjZSIpLHo9Ty5zZWxlY3RBbGwoIi5wb2ludCIpLEk9Ty5zZWxlY3RBbGwoIi50ZXh0cG9pbnQiKTtmdW5jdGlvbiBEKHQscyl7dmFyIGQ9ZS5nZC5fZnVsbExheW91dCxnPWRbZS5pZF0sdj14KFQrdCxBK3MpLG09Qyh2LVApO2lmKEU9UyttLGEuZnJvbnRwbG90LmF0dHIoInRyYW5zZm9ybSIsUihlLnhPZmZzZXQyLGUueU9mZnNldDIpK0YoWy1tLGYscF0pKSxlLnZhbmdsZXMpe0w9ZS5yYWRpYWxBeGlzQW5nbGUrbTt2YXIgeT1SKHUsaCkrRigtbSksYj1SKHUsaCkrRigtTCk7YS5iZy5hdHRyKCJ0cmFuc2Zvcm0iLHkpLGFbInJhZGlhbC1ncmlkIl0uYXR0cigidHJhbnNmb3JtIix5KSxhWyJyYWRpYWwtYXhpcyJdLmF0dHIoInRyYW5zZm9ybSIsYiksYVsicmFkaWFsLWxpbmUiXS5zZWxlY3QoImxpbmUiKS5hdHRyKCJ0cmFuc2Zvcm0iLGIpLGUudXBkYXRlUmFkaWFsQXhpc1RpdGxlKGQsZyxMKX1lbHNlIGUuY2xpcFBhdGhzLmZvclRyYWNlcy5zZWxlY3QoInBhdGgiKS5hdHRyKCJ0cmFuc2Zvcm0iLFIoZixwKStGKG0pKTt6LmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uLnNlbGVjdCh0aGlzKSxlPWwuZ2V0VHJhbnNsYXRlKHQpO3QuYXR0cigidHJhbnNmb3JtIixSKGUueCxlLnkpK0YoW21dKSl9KSxJLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uLnNlbGVjdCh0aGlzKSxlPXQuc2VsZWN0KCJ0ZXh0Iikscj1sLmdldFRyYW5zbGF0ZSh0KTt0LmF0dHIoInRyYW5zZm9ybSIsRihbbSxlLmF0dHIoIngiKSxlLmF0dHIoInkiKV0pK1Ioci54LHIueSkpfSksYy5yb3RhdGlvbj1vLm1vZEhhbGYoRSwzNjApLGUudXBkYXRlQW5ndWxhckF4aXMoZCxnKSxlLl9oYXNDbGlwT25BeGlzRmFsc2UmJiFvLmlzRnVsbENpcmNsZShlLnNlY3RvckluUmFkKSYmTy5jYWxsKGwuaGlkZU91dHNpZGVSYW5nZVBvaW50cyxlKTt2YXIgXz0hMTtmb3IodmFyIE0gaW4gZS50cmFjZUhhc2gpaWYoaS50cmFjZUlzKE0sImdsIikpe3ZhciBEPWUudHJhY2VIYXNoW01dLE49by5maWx0ZXJWaXNpYmxlKEQpO0RbMF1bMF0udHJhY2UuX21vZHVsZS5wbG90KHIsZSxOLGcpLE4ubGVuZ3RoJiYoXz0hMCl9XyYmKHcociksayhyKSk7dmFyIGo9e307QihqKSxyLmVtaXQoInBsb3RseV9yZWxheW91dGluZyIsail9ZnVuY3Rpb24gQih0KXt0W2UuaWQrIi5hbmd1bGFyYXhpcy5yb3RhdGlvbiJdPUUsZS52YW5nbGVzJiYodFtlLmlkKyIucmFkaWFsYXhpcy5hbmdsZSJdPUwpfWZ1bmN0aW9uIE4oKXtJLnNlbGVjdCgidGV4dCIpLmF0dHIoInRyYW5zZm9ybSIsbnVsbCk7dmFyIHQ9e307Qih0KSxpLmNhbGwoIl9ndWlSZWxheW91dCIscix0KX15LnByZXBGbj1mdW5jdGlvbihuLGEsaSl7dmFyIG89dFtlLmlkXTtTPW8uYW5ndWxhcmF4aXMucm90YXRpb247dmFyIHM9bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtUPWEtcy5sZWZ0LEE9aS1zLnRvcCxQPXgoVCxBKSx5Lm1vdmVGbj1ELHkuZG9uZUZuPU4sYihyKX0sZS52YW5nbGVzJiYhby5pc0Z1bGxDaXJjbGUoZS5zZWN0b3JJblJhZCkmJih5LnByZXBGbj1vLm5vb3AsXyhuLnNlbGVjdChtKSxudWxsKSksZy5pbml0KHkpfSxPLmlzUHRJbnNpZGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zZWN0b3JJblJhZCxyPXRoaXMudmFuZ2xlcyxuPXRoaXMuYW5ndWxhckF4aXMuYzJnKHQudGhldGEpLGE9dGhpcy5yYWRpYWxBeGlzLGk9YS5jMmwodC5yKSxzPWEuX3JsO3JldHVybihyP0EuaXNQdEluc2lkZVBvbHlnb246by5pc1B0SW5zaWRlU2VjdG9yKShpLG4scyxlLHIpfSxPLnBhdGhBcmM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zZWN0b3JJblJhZCxyPXRoaXMudmFuZ2xlcztyZXR1cm4ocj9BLnBhdGhQb2x5Z29uOm8ucGF0aEFyYykodCxlWzBdLGVbMV0scil9LE8ucGF0aFNlY3Rvcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnNlY3RvckluUmFkLHI9dGhpcy52YW5nbGVzO3JldHVybihyP0EucGF0aFBvbHlnb246by5wYXRoU2VjdG9yKSh0LGVbMF0sZVsxXSxyKX0sTy5wYXRoQW5udWx1cz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuc2VjdG9ySW5SYWQsbj10aGlzLnZhbmdsZXM7cmV0dXJuKG4/QS5wYXRoUG9seWdvbkFubnVsdXM6by5wYXRoQW5udWx1cykodCxlLHJbMF0sclsxXSxuKX0sTy5wYXRoU3VicGxvdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaW5uZXJSYWRpdXMsZT10aGlzLnJhZGl1cztyZXR1cm4gdD90aGlzLnBhdGhBbm51bHVzKHQsZSk6dGhpcy5wYXRoU2VjdG9yKGUpfSxPLmZpbGxWaWV3SW5pdGlhbEtleT1mdW5jdGlvbih0LGUpe3QgaW4gdGhpcy52aWV3SW5pdGlhbHx8KHRoaXMudmlld0luaXRpYWxbdF09ZSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCI6NjEwLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9jb21wb25lbnRzL3RpdGxlcyI6Njc5LCIuLi8uLi9jb25zdGFudHMvYWxpZ25tZW50Ijo2ODYsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvY2xlYXJfZ2xfY2FudmFzZXMiOjcwMiwiLi4vLi4vbGliL3NldGN1cnNvciI6NzM3LCIuLi8uLi9wbG90X2FwaS9zdWJyb3V0aW5lcyI6NzU2LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9jYXJ0ZXNpYW4vYXV0b3JhbmdlIjo3NjQsIi4uL2NhcnRlc2lhbi9kcmFnYm94Ijo3NzMsIi4uL2NhcnRlc2lhbi9zZWxlY3QiOjc4MiwiLi4vY2FydGVzaWFuL3NldF9jb252ZXJ0Ijo3ODMsIi4uL3Bsb3RzIjo4MjYsIi4vY29uc3RhbnRzIjo4MjcsIi4vaGVscGVycyI6ODI4LCIuL3NldF9jb252ZXJ0Ijo4MzksZDM6MTY1LHRpbnljb2xvcjI6NTM2fV0sODM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vY2FydGVzaWFuL3NldF9jb252ZXJ0IiksaT1uLmRlZzJyYWQsbz1uLnJhZDJkZWc7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtzd2l0Y2goYSh0LHIpLHQuX2lkKXtjYXNlIngiOmNhc2UicmFkaWFsYXhpcyI6IWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5fc3VicGxvdDt0LnNldEdlb21ldHJ5PWZ1bmN0aW9uKCl7dmFyIGU9dC5fcmxbMF0sbj10Ll9ybFsxXSxhPXIuaW5uZXJSYWRpdXMsaT0oci5yYWRpdXMtYSkvKG4tZSksbz1hL2kscz1lPm4/ZnVuY3Rpb24odCl7cmV0dXJuIHQ8PTB9OmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0wfTt0LmMyZz1mdW5jdGlvbihyKXt2YXIgbj10LmMybChyKS1lO3JldHVybihzKG4pP246MCkrb30sdC5nMmM9ZnVuY3Rpb24ocil7cmV0dXJuIHQubDJjKHIrZS1vKX0sdC5nMnA9ZnVuY3Rpb24odCl7cmV0dXJuIHQqaX0sdC5jMnA9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZzJwKHQuYzJnKGUpKX19fSh0LGUpO2JyZWFrO2Nhc2UiYW5ndWxhcmF4aXMiOiFmdW5jdGlvbih0LGUpe3ZhciByPXQudHlwZTtpZigibGluZWFyIj09PXIpe3ZhciBhPXQuZDJjLHM9dC5jMmQ7dC5kMmM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24odCxlKXtyZXR1cm4iZGVncmVlcyI9PT1lP2kodCk6dH0oYSh0KSxlKX0sdC5jMmQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcyhmdW5jdGlvbih0LGUpe3JldHVybiJkZWdyZWVzIj09PWU/byh0KTp0fSh0LGUpKX19dC5tYWtlQ2FsY2RhdGE9ZnVuY3Rpb24oZSxhKXt2YXIgaSxvLHM9ZVthXSxsPWUuX2xlbmd0aCxjPWZ1bmN0aW9uKHIpe3JldHVybiB0LmQyYyhyLGUudGhldGF1bml0KX07aWYocyl7aWYobi5pc1R5cGVkQXJyYXkocykmJiJsaW5lYXIiPT09cil7aWYobD09PXMubGVuZ3RoKXJldHVybiBzO2lmKHMuc3ViYXJyYXkpcmV0dXJuIHMuc3ViYXJyYXkoMCxsKX1mb3IoaT1uZXcgQXJyYXkobCksbz0wO288bDtvKyspaVtvXT1jKHNbb10pfWVsc2V7dmFyIHU9YSsiMCIsaD0iZCIrYSxmPXUgaW4gZT9jKGVbdV0pOjAscD1lW2hdP2MoZVtoXSk6KHQucGVyaW9kfHwyKk1hdGguUEkpL2w7Zm9yKGk9bmV3IEFycmF5KGwpLG89MDtvPGw7bysrKWlbb109ZitvKnB9cmV0dXJuIGl9LHQuc2V0R2VvbWV0cnk9ZnVuY3Rpb24oKXt2YXIgYSxzLGwsYyx1PWUuc2VjdG9yLGg9dS5tYXAoaSksZj17Y2xvY2t3aXNlOi0xLGNvdW50ZXJjbG9ja3dpc2U6MX1bdC5kaXJlY3Rpb25dLHA9aSh0LnJvdGF0aW9uKSxkPWZ1bmN0aW9uKHQpe3JldHVybiBmKnQrcH0sZz1mdW5jdGlvbih0KXtyZXR1cm4odC1wKS9mfTtzd2l0Y2gocil7Y2FzZSJsaW5lYXIiOnM9YT1uLmlkZW50aXR5LGM9aSxsPW8sdC5yYW5nZT1uLmlzRnVsbENpcmNsZShoKT9bdVswXSx1WzBdKzM2MF06aC5tYXAoZykubWFwKG8pO2JyZWFrO2Nhc2UiY2F0ZWdvcnkiOnZhciB2PXQuX2NhdGVnb3JpZXMubGVuZ3RoLG09dC5wZXJpb2Q/TWF0aC5tYXgodC5wZXJpb2Qsdik6djswPT09bSYmKG09MSkscz1jPWZ1bmN0aW9uKHQpe3JldHVybiAyKnQqTWF0aC5QSS9tfSxhPWw9ZnVuY3Rpb24odCl7cmV0dXJuIHQqbS9NYXRoLlBJLzJ9LHQucmFuZ2U9WzAsbV19dC5jMmc9ZnVuY3Rpb24odCl7cmV0dXJuIGQocyh0KSl9LHQuZzJjPWZ1bmN0aW9uKHQpe3JldHVybiBhKGcodCkpfSx0LnQyZz1mdW5jdGlvbih0KXtyZXR1cm4gZChjKHQpKX0sdC5nMnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGwoZyh0KSl9fX0odCxlKX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9jYXJ0ZXNpYW4vc2V0X2NvbnZlcnQiOjc4M31dLDg0MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9saWIiKSxhPXQoIi4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKSxpPXQoIi4vZG9tYWluIikuZGVmYXVsdHM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8pe3ZhciBzLGwsYz1vLnR5cGUsdT1vLmF0dHJpYnV0ZXMsaD1vLmhhbmRsZURlZmF1bHRzLGY9by5wYXJ0aXRpb258fCJ4IixwPWUuX3N1YnBsb3RzW2NdLGQ9cC5sZW5ndGgsZz1kJiZwWzBdLnJlcGxhY2UoL1xkKyQvLCIiKTtmdW5jdGlvbiB2KHQsZSl7cmV0dXJuIG4uY29lcmNlKHMsbCx1LHQsZSl9Zm9yKHZhciBtPTA7bTxkO20rKyl7dmFyIHk9cFttXTtzPXRbeV0/dFt5XTp0W3ldPXt9LGw9YS5uZXdDb250YWluZXIoZSx5LGcpLHYoInVpcmV2aXNpb24iLGUudWlyZXZpc2lvbik7dmFyIHg9e307eFtmXT1bbS9kLChtKzEpL2RdLGkobCxlLHYseCksby5pZD15LGgocyxsLHYsbyl9fX0seyIuLi9saWIiOjcxNywiLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuL2RvbWFpbiI6NzkwfV0sODQxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO1snVmFyaWFibGVzIGFyZSBpbnNlcnRlZCB1c2luZyAle3ZhcmlhYmxlfSwgZm9yIGV4YW1wbGUgInk6ICV7eX0iLicsJ051bWJlcnMgYXJlIGZvcm1hdHRlZCB1c2luZyBkMy1mb3JtYXRcJ3Mgc3ludGF4ICV7dmFyaWFibGU6ZDMtZm9ybWF0fSwgZm9yIGV4YW1wbGUgIlByaWNlOiAle3k6JC4yZn0iLicsdCgiLi4vY29uc3RhbnRzL2RvY3MiKS5GT1JNQVRfTElOSywiZm9yIGRldGFpbHMgb24gdGhlIGZvcm1hdHRpbmcgc3ludGF4LiIsJ0RhdGVzIGFyZSBmb3JtYXR0ZWQgdXNpbmcgZDMtdGltZS1mb3JtYXRcJ3Mgc3ludGF4ICV7dmFyaWFibGV8ZDMtdGltZS1mb3JtYXR9LCBmb3IgZXhhbXBsZSAiRGF5OiAlezIwMTktMDEtMDF8JUF9Ii4nLHQoIi4uL2NvbnN0YW50cy9kb2NzIikuREFURV9GT1JNQVRfTElOSywiZm9yIGRldGFpbHMgb24gdGhlIGRhdGUgZm9ybWF0dGluZyBzeW50YXguIl0uam9pbigiICIpO2Z1bmN0aW9uIG4odCl7dmFyIGU9dC5kZXNjcmlwdGlvbj8iICIrdC5kZXNjcmlwdGlvbjoiIixyPXQua2V5c3x8W107aWYoci5sZW5ndGg+MCl7Zm9yKHZhciBuPVtdLGE9MDthPHIubGVuZ3RoO2ErKyluW2FdPSJgIityW2FdKyJgIjtlKz0iRmluYWxseSwgdGhlIHRlbXBsYXRlIHN0cmluZyBoYXMgYWNjZXNzIHRvICIsZT0xPT09ci5sZW5ndGg/InZhcmlhYmxlICIrblswXToidmFyaWFibGVzICIrbi5zbGljZSgwLC0xKS5qb2luKCIsICIpKyIgYW5kICIrbi5zbGljZSgtMSkrIi4ifXJldHVybiBlfXIuaG92ZXJ0ZW1wbGF0ZUF0dHJzPWZ1bmN0aW9uKHQsZSl7dD10fHx7fTtuKGU9ZXx8e30pO3ZhciByPXt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6dC5lZGl0VHlwZXx8Im5vbmUifTtyZXR1cm4hMSE9PXQuYXJyYXlPayYmKHIuYXJyYXlPaz0hMCkscn0sci50ZXh0dGVtcGxhdGVBdHRycz1mdW5jdGlvbih0LGUpe3Q9dHx8e307bihlPWV8fHt9KTt2YXIgcj17dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOnQuZWRpdFR5cGV8fCJjYWxjIn07cmV0dXJuITEhPT10LmFycmF5T2smJihyLmFycmF5T2s9ITApLHJ9fSx7Ii4uL2NvbnN0YW50cy9kb2NzIjo2ODh9XSw4NDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi90ZXJuYXJ5IiksYT10KCIuLi8uLi9wbG90cy9nZXRfZGF0YSIpLmdldFN1YnBsb3RDYWxjRGF0YSxpPXQoIi4uLy4uL2xpYiIpLmNvdW50ZXJSZWdleDtyLm5hbWU9InRlcm5hcnkiO3ZhciBvPXIuYXR0cj0ic3VicGxvdCI7ci5pZFJvb3Q9InRlcm5hcnkiLHIuaWRSZWdleD1yLmF0dHJSZWdleD1pKCJ0ZXJuYXJ5IiksKHIuYXR0cmlidXRlcz17fSlbb109e3ZhbFR5cGU6InN1YnBsb3RpZCIsZGZsdDoidGVybmFyeSIsZWRpdFR5cGU6ImNhbGMifSxyLmxheW91dEF0dHJpYnV0ZXM9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLHIuc3VwcGx5TGF5b3V0RGVmYXVsdHM9dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxyLnBsb3Q9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuX2Z1bGxMYXlvdXQscj10LmNhbGNkYXRhLGk9ZS5fc3VicGxvdHMudGVybmFyeSxvPTA7bzxpLmxlbmd0aDtvKyspe3ZhciBzPWlbb10sbD1hKHIsInRlcm5hcnkiLHMpLGM9ZVtzXS5fc3VicGxvdDtjfHwoYz1uZXcgbih7aWQ6cyxncmFwaERpdjp0LGNvbnRhaW5lcjplLl90ZXJuYXJ5bGF5ZXIubm9kZSgpfSxlKSxlW3NdLl9zdWJwbG90PWMpLGMucGxvdChsLGUsdC5fcHJvbWlzZXMpfX0sci5jbGVhbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9bi5fc3VicGxvdHMudGVybmFyeXx8W10saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldLHM9bltvXS5fc3VicGxvdDshZVtvXSYmcyYmKHMucGxvdENvbnRhaW5lci5yZW1vdmUoKSxzLmNsaXBEZWYucmVtb3ZlKCkscy5jbGlwRGVmUmVsYXRpdmUucmVtb3ZlKCkscy5sYXllcnNbImEtdGl0bGUiXS5yZW1vdmUoKSxzLmxheWVyc1siYi10aXRsZSJdLnJlbW92ZSgpLHMubGF5ZXJzWyJjLXRpdGxlIl0ucmVtb3ZlKCkpfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2dldF9kYXRhIjo4MDAsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjg0MywiLi9sYXlvdXRfZGVmYXVsdHMiOjg0NCwiLi90ZXJuYXJ5Ijo4NDV9XSw4NDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIiksYT10KCIuLi9kb21haW4iKS5hdHRyaWJ1dGVzLGk9dCgiLi4vY2FydGVzaWFuL2xheW91dF9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwscz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxsPXt0aXRsZTp7dGV4dDppLnRpdGxlLnRleHQsZm9udDppLnRpdGxlLmZvbnR9LGNvbG9yOmkuY29sb3IsdGlja21vZGU6aS50aWNrbW9kZSxudGlja3M6cyh7fSxpLm50aWNrcyx7ZGZsdDo2LG1pbjoxfSksdGljazA6aS50aWNrMCxkdGljazppLmR0aWNrLHRpY2t2YWxzOmkudGlja3ZhbHMsdGlja3RleHQ6aS50aWNrdGV4dCx0aWNrczppLnRpY2tzLHRpY2tsZW46aS50aWNrbGVuLHRpY2t3aWR0aDppLnRpY2t3aWR0aCx0aWNrY29sb3I6aS50aWNrY29sb3Isc2hvd3RpY2tsYWJlbHM6aS5zaG93dGlja2xhYmVscyxzaG93dGlja3ByZWZpeDppLnNob3d0aWNrcHJlZml4LHRpY2twcmVmaXg6aS50aWNrcHJlZml4LHNob3d0aWNrc3VmZml4Omkuc2hvd3RpY2tzdWZmaXgsdGlja3N1ZmZpeDppLnRpY2tzdWZmaXgsc2hvd2V4cG9uZW50Omkuc2hvd2V4cG9uZW50LGV4cG9uZW50Zm9ybWF0OmkuZXhwb25lbnRmb3JtYXQsc2VwYXJhdGV0aG91c2FuZHM6aS5zZXBhcmF0ZXRob3VzYW5kcyx0aWNrZm9udDppLnRpY2tmb250LHRpY2thbmdsZTppLnRpY2thbmdsZSx0aWNrZm9ybWF0OmkudGlja2Zvcm1hdCx0aWNrZm9ybWF0c3RvcHM6aS50aWNrZm9ybWF0c3RvcHMsaG92ZXJmb3JtYXQ6aS5ob3ZlcmZvcm1hdCxzaG93bGluZTpzKHt9LGkuc2hvd2xpbmUse2RmbHQ6ITB9KSxsaW5lY29sb3I6aS5saW5lY29sb3IsbGluZXdpZHRoOmkubGluZXdpZHRoLHNob3dncmlkOnMoe30saS5zaG93Z3JpZCx7ZGZsdDohMH0pLGdyaWRjb2xvcjppLmdyaWRjb2xvcixncmlkd2lkdGg6aS5ncmlkd2lkdGgsbGF5ZXI6aS5sYXllcixtaW46e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowLG1pbjowfSxfZGVwcmVjYXRlZDp7dGl0bGU6aS5fZGVwcmVjYXRlZC50aXRsZSx0aXRsZWZvbnQ6aS5fZGVwcmVjYXRlZC50aXRsZWZvbnR9fSxjPWUuZXhwb3J0cz1vKHtkb21haW46YSh7bmFtZToidGVybmFyeSJ9KSxiZ2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmJhY2tncm91bmR9LHN1bTp7dmFsVHlwZToibnVtYmVyIixkZmx0OjEsbWluOjB9LGFheGlzOmwsYmF4aXM6bCxjYXhpczpsfSwicGxvdCIsImZyb20tcm9vdCIpO2MudWlyZXZpc2lvbj17dmFsVHlwZToiYW55IixlZGl0VHlwZToibm9uZSJ9LGMuYWF4aXMudWlyZXZpc2lvbj1jLmJheGlzLnVpcmV2aXNpb249Yy5jYXhpcy51aXJldmlzaW9uPXt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJub25lIn19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIjo1OTEsIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi4vZG9tYWluIjo3OTB9XSw4NDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGE9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLGk9dCgiLi4vLi4vbGliIiksbz10KCIuLi9zdWJwbG90X2RlZmF1bHRzIikscz10KCIuLi9jYXJ0ZXNpYW4vdGlja19sYWJlbF9kZWZhdWx0cyIpLGw9dCgiLi4vY2FydGVzaWFuL3RpY2tfbWFya19kZWZhdWx0cyIpLGM9dCgiLi4vY2FydGVzaWFuL3RpY2tfdmFsdWVfZGVmYXVsdHMiKSx1PXQoIi4uL2NhcnRlc2lhbi9saW5lX2dyaWRfZGVmYXVsdHMiKSxoPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxmPVsiYWF4aXMiLCJiYXhpcyIsImNheGlzIl07ZnVuY3Rpb24gcCh0LGUscixpKXt2YXIgbyxzLGwsYz1yKCJiZ2NvbG9yIiksdT1yKCJzdW0iKTtpLmJnQ29sb3I9bi5jb21iaW5lKGMsaS5wYXBlcl9iZ2NvbG9yKTtmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylzPXRbbz1mW2hdXXx8e30sKGw9YS5uZXdDb250YWluZXIoZSxvKSkuX25hbWU9byxkKHMsbCxpLGUpO3ZhciBwPWUuYWF4aXMsZz1lLmJheGlzLHY9ZS5jYXhpcztwLm1pbitnLm1pbit2Lm1pbj49dSYmKHAubWluPTAsZy5taW49MCx2Lm1pbj0wLHQuYWF4aXMmJmRlbGV0ZSB0LmFheGlzLm1pbix0LmJheGlzJiZkZWxldGUgdC5iYXhpcy5taW4sdC5jYXhpcyYmZGVsZXRlIHQuY2F4aXMubWluKX1mdW5jdGlvbiBkKHQsZSxyLG4pe3ZhciBhPWhbZS5fbmFtZV07ZnVuY3Rpb24gbyhyLG4pe3JldHVybiBpLmNvZXJjZSh0LGUsYSxyLG4pfW8oInVpcmV2aXNpb24iLG4udWlyZXZpc2lvbiksZS50eXBlPSJsaW5lYXIiO3ZhciBmPW8oImNvbG9yIikscD1mIT09YS5jb2xvci5kZmx0P2Y6ci5mb250LmNvbG9yLGQ9ZS5fbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSxnPSJDb21wb25lbnQgIitkLHY9bygidGl0bGUudGV4dCIsZyk7ZS5faG92ZXJ0aXRsZT12PT09Zz92OmQsaS5jb2VyY2VGb250KG8sInRpdGxlLmZvbnQiLHtmYW1pbHk6ci5mb250LmZhbWlseSxzaXplOk1hdGgucm91bmQoMS4yKnIuZm9udC5zaXplKSxjb2xvcjpwfSksbygibWluIiksYyh0LGUsbywibGluZWFyIikscyh0LGUsbywibGluZWFyIix7fSksbCh0LGUsbyx7b3V0ZXJUaWNrczohMH0pLG8oInNob3d0aWNrbGFiZWxzIikmJihpLmNvZXJjZUZvbnQobywidGlja2ZvbnQiLHtmYW1pbHk6ci5mb250LmZhbWlseSxzaXplOnIuZm9udC5zaXplLGNvbG9yOnB9KSxvKCJ0aWNrYW5nbGUiKSxvKCJ0aWNrZm9ybWF0IikpLHUodCxlLG8se2RmbHRDb2xvcjpmLGJnQ29sb3I6ci5iZ0NvbG9yLGJsZW5kOjYwLHNob3dMaW5lOiEwLHNob3dHcmlkOiEwLG5vWmVyb0xpbmU6ITAsYXR0cmlidXRlczphfSksbygiaG92ZXJmb3JtYXQiKSxvKCJsYXllciIpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7byh0LGUscix7dHlwZToidGVybmFyeSIsYXR0cmlidXRlczpoLGhhbmRsZURlZmF1bHRzOnAsZm9udDplLmZvbnQscGFwZXJfYmdjb2xvcjplLnBhcGVyX2JnY29sb3J9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi9jYXJ0ZXNpYW4vbGluZV9ncmlkX2RlZmF1bHRzIjo3NzksIi4uL2NhcnRlc2lhbi90aWNrX2xhYmVsX2RlZmF1bHRzIjo3ODQsIi4uL2NhcnRlc2lhbi90aWNrX21hcmtfZGVmYXVsdHMiOjc4NSwiLi4vY2FydGVzaWFuL3RpY2tfdmFsdWVfZGVmYXVsdHMiOjc4NiwiLi4vc3VicGxvdF9kZWZhdWx0cyI6ODQwLCIuL2xheW91dF9hdHRyaWJ1dGVzIjo4NDN9XSw4NDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoInRpbnljb2xvcjIiKSxpPXQoIi4uLy4uL3JlZ2lzdHJ5Iiksbz10KCIuLi8uLi9saWIiKSxzPW8uXyxsPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxjPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLHU9dCgiLi4vY2FydGVzaWFuL3NldF9jb252ZXJ0IiksaD10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxmPXQoIi4uL3Bsb3RzIikscD10KCIuLi9jYXJ0ZXNpYW4vYXhlcyIpLGQ9dCgiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCIpLGc9dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLHY9dCgiLi4vLi4vY29tcG9uZW50cy90aXRsZXMiKSxtPXQoIi4uL2NhcnRlc2lhbi9zZWxlY3QiKS5wcmVwU2VsZWN0LHk9dCgiLi4vY2FydGVzaWFuL3NlbGVjdCIpLnNlbGVjdE9uQ2xpY2sseD10KCIuLi9jYXJ0ZXNpYW4vc2VsZWN0IikuY2xlYXJTZWxlY3QsYj10KCIuLi9jYXJ0ZXNpYW4vY29uc3RhbnRzIik7ZnVuY3Rpb24gXyh0LGUpe3RoaXMuaWQ9dC5pZCx0aGlzLmdyYXBoRGl2PXQuZ3JhcGhEaXYsdGhpcy5pbml0KGUpLHRoaXMubWFrZUZyYW1ld29yayhlKSx0aGlzLmFUaWNrTGF5b3V0PW51bGwsdGhpcy5iVGlja0xheW91dD1udWxsLHRoaXMuY1RpY2tMYXlvdXQ9bnVsbH1lLmV4cG9ydHM9Xzt2YXIgdz1fLnByb3RvdHlwZTt3LmluaXQ9ZnVuY3Rpb24odCl7dGhpcy5jb250YWluZXI9dC5fdGVybmFyeWxheWVyLHRoaXMuZGVmcz10Ll9kZWZzLHRoaXMubGF5b3V0SWQ9dC5fdWlkLHRoaXMudHJhY2VIYXNoPXt9LHRoaXMubGF5ZXJzPXt9fSx3LnBsb3Q9ZnVuY3Rpb24odCxlKXt2YXIgcj1lW3RoaXMuaWRdLG49ZS5fc2l6ZTt0aGlzLl9oYXNDbGlwT25BeGlzRmFsc2U9ITE7Zm9yKHZhciBhPTA7YTx0Lmxlbmd0aDthKyspe2lmKCExPT09dFthXVswXS50cmFjZS5jbGlwb25heGlzKXt0aGlzLl9oYXNDbGlwT25BeGlzRmFsc2U9ITA7YnJlYWt9fXRoaXMudXBkYXRlTGF5ZXJzKHIpLHRoaXMuYWRqdXN0TGF5b3V0KHIsbiksZi5nZW5lcmFsVXBkYXRlUGVyVHJhY2VNb2R1bGUodGhpcy5ncmFwaERpdix0aGlzLHQsciksdGhpcy5sYXllcnMucGxvdGJnLnNlbGVjdCgicGF0aCIpLmNhbGwobC5maWxsLHIuYmdjb2xvcil9LHcubWFrZUZyYW1ld29yaz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdyYXBoRGl2LHI9dFt0aGlzLmlkXSxuPXRoaXMuY2xpcElkPSJjbGlwIit0aGlzLmxheW91dElkK3RoaXMuaWQsYT10aGlzLmNsaXBJZFJlbGF0aXZlPSJjbGlwLXJlbGF0aXZlIit0aGlzLmxheW91dElkK3RoaXMuaWQ7dGhpcy5jbGlwRGVmPW8uZW5zdXJlU2luZ2xlQnlJZCh0Ll9jbGlwcywiY2xpcFBhdGgiLG4sZnVuY3Rpb24odCl7dC5hcHBlbmQoInBhdGgiKS5hdHRyKCJkIiwiTTAsMFoiKX0pLHRoaXMuY2xpcERlZlJlbGF0aXZlPW8uZW5zdXJlU2luZ2xlQnlJZCh0Ll9jbGlwcywiY2xpcFBhdGgiLGEsZnVuY3Rpb24odCl7dC5hcHBlbmQoInBhdGgiKS5hdHRyKCJkIiwiTTAsMFoiKX0pLHRoaXMucGxvdENvbnRhaW5lcj1vLmVuc3VyZVNpbmdsZSh0aGlzLmNvbnRhaW5lciwiZyIsdGhpcy5pZCksdGhpcy51cGRhdGVMYXllcnMociksYy5zZXRDbGlwVXJsKHRoaXMubGF5ZXJzLmJhY2twbG90LG4sZSksYy5zZXRDbGlwVXJsKHRoaXMubGF5ZXJzLmdyaWRzLG4sZSl9LHcudXBkYXRlTGF5ZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5ZXJzLHI9WyJkcmFnbGF5ZXIiLCJwbG90YmciLCJiYWNrcGxvdCIsImdyaWRzIl07ImJlbG93IHRyYWNlcyI9PT10LmFheGlzLmxheWVyJiZyLnB1c2goImFheGlzIiwiYWxpbmUiKSwiYmVsb3cgdHJhY2VzIj09PXQuYmF4aXMubGF5ZXImJnIucHVzaCgiYmF4aXMiLCJibGluZSIpLCJiZWxvdyB0cmFjZXMiPT09dC5jYXhpcy5sYXllciYmci5wdXNoKCJjYXhpcyIsImNsaW5lIiksci5wdXNoKCJmcm9udHBsb3QiKSwiYWJvdmUgdHJhY2VzIj09PXQuYWF4aXMubGF5ZXImJnIucHVzaCgiYWF4aXMiLCJhbGluZSIpLCJhYm92ZSB0cmFjZXMiPT09dC5iYXhpcy5sYXllciYmci5wdXNoKCJiYXhpcyIsImJsaW5lIiksImFib3ZlIHRyYWNlcyI9PT10LmNheGlzLmxheWVyJiZyLnB1c2goImNheGlzIiwiY2xpbmUiKTt2YXIgYT10aGlzLnBsb3RDb250YWluZXIuc2VsZWN0QWxsKCJnLnRvcGxldmVsIikuZGF0YShyLFN0cmluZyksaT1bImFncmlkIiwiYmdyaWQiLCJjZ3JpZCJdO2EuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuInRvcGxldmVsICIrdH0pLmVhY2goZnVuY3Rpb24odCl7dmFyIHI9bi5zZWxlY3QodGhpcyk7ZVt0XT1yLCJmcm9udHBsb3QiPT09dD9yLmFwcGVuZCgiZyIpLmNsYXNzZWQoInNjYXR0ZXJsYXllciIsITApOiJiYWNrcGxvdCI9PT10P3IuYXBwZW5kKCJnIikuY2xhc3NlZCgibWFwbGF5ZXIiLCEwKToicGxvdGJnIj09PXQ/ci5hcHBlbmQoInBhdGgiKS5hdHRyKCJkIiwiTTAsMFoiKToiYWxpbmUiPT09dHx8ImJsaW5lIj09PXR8fCJjbGluZSI9PT10P3IuYXBwZW5kKCJwYXRoIik6ImdyaWRzIj09PXQmJmkuZm9yRWFjaChmdW5jdGlvbih0KXtlW3RdPXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiZ3JpZCAiK3QsITApfSl9KSxhLm9yZGVyKCl9O3ZhciBrPU1hdGguc3FydCg0LzMpO3cuYWRqdXN0TGF5b3V0PWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLGksbyxzLGY9dGhpcyxwPXQuZG9tYWluLGQ9KHAueFswXStwLnhbMV0pLzIsZz0ocC55WzBdK3AueVsxXSkvMix2PXAueFsxXS1wLnhbMF0sbT1wLnlbMV0tcC55WzBdLHk9diplLncseD1tKmUuaCxiPXQuc3VtLF89dC5hYXhpcy5taW4sdz10LmJheGlzLm1pbixUPXQuY2F4aXMubWluO3k+ayp4P2E9KGk9eCkqazppPShhPXkpL2ssbz12KmEveSxzPW0qaS94LHI9ZS5sK2UudypkLWEvMixuPWUudCtlLmgqKDEtZyktaS8yLGYueDA9cixmLnkwPW4sZi53PWEsZi5oPWksZi5zdW09YixmLnhheGlzPXt0eXBlOiJsaW5lYXIiLHJhbmdlOltfKzIqVC1iLGItXy0yKnddLGRvbWFpbjpbZC1vLzIsZCtvLzJdLF9pZDoieCJ9LHUoZi54YXhpcyxmLmdyYXBoRGl2Ll9mdWxsTGF5b3V0KSxmLnhheGlzLnNldFNjYWxlKCksZi54YXhpcy5pc1B0V2l0aGluUmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIHQuYT49Zi5hYXhpcy5yYW5nZVswXSYmdC5hPD1mLmFheGlzLnJhbmdlWzFdJiZ0LmI+PWYuYmF4aXMucmFuZ2VbMV0mJnQuYjw9Zi5iYXhpcy5yYW5nZVswXSYmdC5jPj1mLmNheGlzLnJhbmdlWzFdJiZ0LmM8PWYuY2F4aXMucmFuZ2VbMF19LGYueWF4aXM9e3R5cGU6ImxpbmVhciIscmFuZ2U6W18sYi13LVRdLGRvbWFpbjpbZy1zLzIsZytzLzJdLF9pZDoieSJ9LHUoZi55YXhpcyxmLmdyYXBoRGl2Ll9mdWxsTGF5b3V0KSxmLnlheGlzLnNldFNjYWxlKCksZi55YXhpcy5pc1B0V2l0aGluUmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4hMH07dmFyIE09Zi55YXhpcy5kb21haW5bMF0sQT1mLmFheGlzPWgoe30sdC5hYXhpcyx7cmFuZ2U6W18sYi13LVRdLHNpZGU6ImxlZnQiLHRpY2thbmdsZTooK3QuYWF4aXMudGlja2FuZ2xlfHwwKS0zMCxkb21haW46W00sTStzKmtdLGFuY2hvcjoiZnJlZSIscG9zaXRpb246MCxfaWQ6InkiLF9sZW5ndGg6YX0pO3UoQSxmLmdyYXBoRGl2Ll9mdWxsTGF5b3V0KSxBLnNldFNjYWxlKCk7dmFyIFM9Zi5iYXhpcz1oKHt9LHQuYmF4aXMse3JhbmdlOltiLV8tVCx3XSxzaWRlOiJib3R0b20iLGRvbWFpbjpmLnhheGlzLmRvbWFpbixhbmNob3I6ImZyZWUiLHBvc2l0aW9uOjAsX2lkOiJ4IixfbGVuZ3RoOmF9KTt1KFMsZi5ncmFwaERpdi5fZnVsbExheW91dCksUy5zZXRTY2FsZSgpO3ZhciBFPWYuY2F4aXM9aCh7fSx0LmNheGlzLHtyYW5nZTpbYi1fLXcsVF0sc2lkZToicmlnaHQiLHRpY2thbmdsZTooK3QuY2F4aXMudGlja2FuZ2xlfHwwKSszMCxkb21haW46W00sTStzKmtdLGFuY2hvcjoiZnJlZSIscG9zaXRpb246MCxfaWQ6InkiLF9sZW5ndGg6YX0pO3UoRSxmLmdyYXBoRGl2Ll9mdWxsTGF5b3V0KSxFLnNldFNjYWxlKCk7dmFyIEw9Ik0iK3IrIiwiKyhuK2kpKyJoIithKyJsLSIrYS8yKyIsLSIraSsiWiI7Zi5jbGlwRGVmLnNlbGVjdCgicGF0aCIpLmF0dHIoImQiLEwpLGYubGF5ZXJzLnBsb3RiZy5zZWxlY3QoInBhdGgiKS5hdHRyKCJkIixMKTt2YXIgQz0iTTAsIitpKyJoIithKyJsLSIrYS8yKyIsLSIraSsiWiI7Zi5jbGlwRGVmUmVsYXRpdmUuc2VsZWN0KCJwYXRoIikuYXR0cigiZCIsQyk7dmFyIFA9InRyYW5zbGF0ZSgiK3IrIiwiK24rIikiO2YucGxvdENvbnRhaW5lci5zZWxlY3RBbGwoIi5zY2F0dGVybGF5ZXIsLm1hcGxheWVyIikuYXR0cigidHJhbnNmb3JtIixQKSxmLmNsaXBEZWZSZWxhdGl2ZS5zZWxlY3QoInBhdGgiKS5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpO3ZhciBPPSJ0cmFuc2xhdGUoIisoci1TLl9vZmZzZXQpKyIsIisobitpKSsiKSI7Zi5sYXllcnMuYmF4aXMuYXR0cigidHJhbnNmb3JtIixPKSxmLmxheWVycy5iZ3JpZC5hdHRyKCJ0cmFuc2Zvcm0iLE8pO3ZhciB6PSJ0cmFuc2xhdGUoIisocithLzIpKyIsIituKyIpcm90YXRlKDMwKXRyYW5zbGF0ZSgwLCIrLUEuX29mZnNldCsiKSI7Zi5sYXllcnMuYWF4aXMuYXR0cigidHJhbnNmb3JtIix6KSxmLmxheWVycy5hZ3JpZC5hdHRyKCJ0cmFuc2Zvcm0iLHopO3ZhciBJPSJ0cmFuc2xhdGUoIisocithLzIpKyIsIituKyIpcm90YXRlKC0zMCl0cmFuc2xhdGUoMCwiKy1FLl9vZmZzZXQrIikiO2YubGF5ZXJzLmNheGlzLmF0dHIoInRyYW5zZm9ybSIsSSksZi5sYXllcnMuY2dyaWQuYXR0cigidHJhbnNmb3JtIixJKSxmLmRyYXdBeGVzKCEwKSxmLmxheWVycy5hbGluZS5zZWxlY3QoInBhdGgiKS5hdHRyKCJkIixBLnNob3dsaW5lPyJNIityKyIsIisobitpKSsibCIrYS8yKyIsLSIraToiTTAsMCIpLmNhbGwobC5zdHJva2UsQS5saW5lY29sb3J8fCIjMDAwIikuc3R5bGUoInN0cm9rZS13aWR0aCIsKEEubGluZXdpZHRofHwwKSsicHgiKSxmLmxheWVycy5ibGluZS5zZWxlY3QoInBhdGgiKS5hdHRyKCJkIixTLnNob3dsaW5lPyJNIityKyIsIisobitpKSsiaCIrYToiTTAsMCIpLmNhbGwobC5zdHJva2UsUy5saW5lY29sb3J8fCIjMDAwIikuc3R5bGUoInN0cm9rZS13aWR0aCIsKFMubGluZXdpZHRofHwwKSsicHgiKSxmLmxheWVycy5jbGluZS5zZWxlY3QoInBhdGgiKS5hdHRyKCJkIixFLnNob3dsaW5lPyJNIisocithLzIpKyIsIituKyJsIithLzIrIiwiK2k6Ik0wLDAiKS5jYWxsKGwuc3Ryb2tlLEUubGluZWNvbG9yfHwiIzAwMCIpLnN0eWxlKCJzdHJva2Utd2lkdGgiLChFLmxpbmV3aWR0aHx8MCkrInB4IiksZi5ncmFwaERpdi5fY29udGV4dC5zdGF0aWNQbG90fHxmLmluaXRJbnRlcmFjdGlvbnMoKSxjLnNldENsaXBVcmwoZi5sYXllcnMuZnJvbnRwbG90LGYuX2hhc0NsaXBPbkF4aXNGYWxzZT9udWxsOmYuY2xpcElkLGYuZ3JhcGhEaXYpfSx3LmRyYXdBeGVzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ3JhcGhEaXYscj10aGlzLmlkLnN1YnN0cig3KSsidGl0bGUiLG49dGhpcy5sYXllcnMsYT10aGlzLmFheGlzLGk9dGhpcy5iYXhpcyxvPXRoaXMuY2F4aXM7aWYodGhpcy5kcmF3QXgoYSksdGhpcy5kcmF3QXgoaSksdGhpcy5kcmF3QXgobyksdCl7dmFyIGw9TWF0aC5tYXgoYS5zaG93dGlja2xhYmVscz9hLnRpY2tmb250LnNpemUvMjowLChvLnNob3d0aWNrbGFiZWxzPy43NSpvLnRpY2tmb250LnNpemU6MCkrKCJvdXRzaWRlIj09PW8udGlja3M/Ljg3Km8udGlja2xlbjowKSksYz0oaS5zaG93dGlja2xhYmVscz9pLnRpY2tmb250LnNpemU6MCkrKCJvdXRzaWRlIj09PWkudGlja3M/aS50aWNrbGVuOjApKzM7blsiYS10aXRsZSJdPXYuZHJhdyhlLCJhIityLHtwcm9wQ29udGFpbmVyOmEscHJvcE5hbWU6dGhpcy5pZCsiLmFheGlzLnRpdGxlIixwbGFjZWhvbGRlcjpzKGUsIkNsaWNrIHRvIGVudGVyIENvbXBvbmVudCBBIHRpdGxlIiksYXR0cmlidXRlczp7eDp0aGlzLngwK3RoaXMudy8yLHk6dGhpcy55MC1hLnRpdGxlLmZvbnQuc2l6ZS8zLWwsInRleHQtYW5jaG9yIjoibWlkZGxlIn19KSxuWyJiLXRpdGxlIl09di5kcmF3KGUsImIiK3Ise3Byb3BDb250YWluZXI6aSxwcm9wTmFtZTp0aGlzLmlkKyIuYmF4aXMudGl0bGUiLHBsYWNlaG9sZGVyOnMoZSwiQ2xpY2sgdG8gZW50ZXIgQ29tcG9uZW50IEIgdGl0bGUiKSxhdHRyaWJ1dGVzOnt4OnRoaXMueDAtYyx5OnRoaXMueTArdGhpcy5oKy44MyppLnRpdGxlLmZvbnQuc2l6ZStjLCJ0ZXh0LWFuY2hvciI6Im1pZGRsZSJ9fSksblsiYy10aXRsZSJdPXYuZHJhdyhlLCJjIityLHtwcm9wQ29udGFpbmVyOm8scHJvcE5hbWU6dGhpcy5pZCsiLmNheGlzLnRpdGxlIixwbGFjZWhvbGRlcjpzKGUsIkNsaWNrIHRvIGVudGVyIENvbXBvbmVudCBDIHRpdGxlIiksYXR0cmlidXRlczp7eDp0aGlzLngwK3RoaXMudytjLHk6dGhpcy55MCt0aGlzLmgrLjgzKm8udGl0bGUuZm9udC5zaXplK2MsInRleHQtYW5jaG9yIjoibWlkZGxlIn19KX19LHcuZHJhd0F4PWZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5ncmFwaERpdixuPXQuX25hbWUsYT1uLmNoYXJBdCgwKSxpPXQuX2lkLHM9dGhpcy5sYXllcnNbbl0sbD1hKyJ0aWNrTGF5b3V0IixjPShlPXQpLnRpY2tzK1N0cmluZyhlLnRpY2tsZW4pK1N0cmluZyhlLnNob3d0aWNrbGFiZWxzKTt0aGlzW2xdIT09YyYmKHMuc2VsZWN0QWxsKCIuIitpKyJ0aWNrIikucmVtb3ZlKCksdGhpc1tsXT1jKSx0LnNldFNjYWxlKCk7dmFyIHU9cC5jYWxjVGlja3ModCksaD1wLmNsaXBFbmRzKHQsdSksZj1wLm1ha2VUcmFuc0ZuKHQpLGQ9cC5nZXRUaWNrU2lnbnModClbMl0sZz1vLmRlZzJyYWQoMzApLHY9ZCoodC5saW5ld2lkdGh8fDEpLzIsbT1kKnQudGlja2xlbix5PXRoaXMudyx4PXRoaXMuaCxiPSJiIj09PWE/Ik0wLCIrdisibCIrTWF0aC5zaW4oZykqbSsiLCIrTWF0aC5jb3MoZykqbToiTSIrdisiLDBsIitNYXRoLmNvcyhnKSptKyIsIistTWF0aC5zaW4oZykqbSxfPXthOiJNMCwwbCIreCsiLC0iK3kvMixiOiJNMCwwbC0iK3kvMisiLC0iK3gsYzoiTTAsMGwtIit4KyIsIit5LzJ9W2FdO3AuZHJhd1RpY2tzKHIsdCx7dmFsczoiaW5zaWRlIj09PXQudGlja3M/aDp1LGxheWVyOnMscGF0aDpiLHRyYW5zRm46ZixjcmlzcDohMX0pLHAuZHJhd0dyaWQocix0LHt2YWxzOmgsbGF5ZXI6dGhpcy5sYXllcnNbYSsiZ3JpZCJdLHBhdGg6Xyx0cmFuc0ZuOmYsY3Jpc3A6ITF9KSxwLmRyYXdMYWJlbHMocix0LHt2YWxzOnUsbGF5ZXI6cyx0cmFuc0ZuOmYsbGFiZWxGbnM6cC5tYWtlTGFiZWxGbnModCwwLDMwKX0pfTt2YXIgVD1iLk1JTlpPT00vMisuODcsTT0ibS0wLjg3LC41aCIrVCsidjNoLSIrKFQrNS4yKSsibCIrKFQvMisyLjYpKyIsLSIrKC44NypUKzQuNSkrImwyLjYsMS41bC0iK1QvMisiLCIrLjg3KlQrIloiLEE9Im0wLjg3LC41aC0iK1QrInYzaCIrKFQrNS4yKSsibC0iKyhULzIrMi42KSsiLC0iKyguODcqVCs0LjUpKyJsLTIuNiwxLjVsIitULzIrIiwiKy44NypUKyJaIixTPSJtMCwxbCIrVC8yKyIsIisuODcqVCsibDIuNiwtMS41bC0iKyhULzIrMi42KSsiLC0iKyguODcqVCs0LjUpKyJsLSIrKFQvMisyLjYpKyIsIisoLjg3KlQrNC41KSsibDIuNiwxLjVsIitULzIrIiwtIisuODcqVCsiWiIsRT0ibTAuNSwwLjVoNXYtMmgtNXYtNWgtMnY1aC01djJoNXY1aDJaIixMPSEwO2Z1bmN0aW9uIEModCl7bi5zZWxlY3QodCkuc2VsZWN0QWxsKCIuem9vbWJveCwuanMtem9vbWJveC1iYWNrZHJvcCwuanMtem9vbWJveC1tZW51LC56b29tYm94LWNvcm5lcnMiKS5yZW1vdmUoKX13LmluaXRJbnRlcmFjdGlvbnM9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbix1LGgsZixwLHYsXyx3PXRoaXMsVD13LmxheWVycy5wbG90Ymcuc2VsZWN0KCJwYXRoIikubm9kZSgpLFA9dy5ncmFwaERpdixPPVAuX2Z1bGxMYXlvdXQuX3pvb21sYXllcix6PXtlbGVtZW50OlQsZ2Q6UCxwbG90aW5mbzp7aWQ6dy5pZCx4YXhpczp3LnhheGlzLHlheGlzOncueWF4aXN9LHN1YnBsb3Q6dy5pZCxwcmVwRm46ZnVuY3Rpb24oaSxvLHMpe3oueGF4ZXM9W3cueGF4aXNdLHoueWF4ZXM9W3cueWF4aXNdO3ZhciBjPVAuX2Z1bGxMYXlvdXQuZHJhZ21vZGU7ei5taW5EcmFnPSJsYXNzbyI9PT1jPzE6dm9pZCAwLCJ6b29tIj09PWM/KHoubW92ZUZuPU4sei5jbGlja0ZuPUQsei5kb25lRm49aixmdW5jdGlvbihpLG8scyl7dmFyIGM9VC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PW8tYy5sZWZ0LGU9cy1jLnRvcCxyPXthOncuYWF4aXMucmFuZ2VbMF0sYjp3LmJheGlzLnJhbmdlWzFdLGM6dy5jYXhpcy5yYW5nZVsxXX0sdT1yLG49dy5hYXhpcy5yYW5nZVsxXS1yLmEsaD1hKHcuZ3JhcGhEaXYuX2Z1bGxMYXlvdXRbdy5pZF0uYmdjb2xvcikuZ2V0THVtaW5hbmNlKCksZj0iTTAsIit3LmgrIkwiK3cudy8yKyIsIDBMIit3LncrIiwiK3cuaCsiWiIscD0hMSx2PU8uYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJ6b29tYm94IikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdy54MCsiLCAiK3cueTArIikiKS5zdHlsZSh7ZmlsbDpoPi4yPyJyZ2JhKDAsMCwwLDApIjoicmdiYSgyNTUsMjU1LDI1NSwwKSIsInN0cm9rZS13aWR0aCI6MH0pLmF0dHIoImQiLGYpLF89Ty5hcHBlbmQoInBhdGgiKS5hdHRyKCJjbGFzcyIsInpvb21ib3gtY29ybmVycyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3cueDArIiwgIit3LnkwKyIpIikuc3R5bGUoe2ZpbGw6bC5iYWNrZ3JvdW5kLHN0cm9rZTpsLmRlZmF1bHRMaW5lLCJzdHJva2Utd2lkdGgiOjEsb3BhY2l0eTowfSkuYXR0cigiZCIsIk0wLDBaIikseChQKX0oMCxvLHMpKToicGFuIj09PWM/KHoubW92ZUZuPVYsei5jbGlja0ZuPUQsei5kb25lRm49VSxyPXthOncuYWF4aXMucmFuZ2VbMF0sYjp3LmJheGlzLnJhbmdlWzFdLGM6dy5jYXhpcy5yYW5nZVsxXX0sdT1yLHgoUCkpOiJzZWxlY3QiIT09YyYmImxhc3NvIiE9PWN8fG0oaSxvLHMseixjKX19O2Z1bmN0aW9uIEkodCl7dmFyIGU9e307cmV0dXJuIGVbdy5pZCsiLmFheGlzLm1pbiJdPXQuYSxlW3cuaWQrIi5iYXhpcy5taW4iXT10LmIsZVt3LmlkKyIuY2F4aXMubWluIl09dC5jLGV9ZnVuY3Rpb24gRCh0LGUpe3ZhciByPVAuX2Z1bGxMYXlvdXQuY2xpY2ttb2RlO0MoUCksMj09PXQmJihQLmVtaXQoInBsb3RseV9kb3VibGVjbGljayIsbnVsbCksaS5jYWxsKCJfZ3VpUmVsYXlvdXQiLFAsSSh7YTowLGI6MCxjOjB9KSkpLHIuaW5kZXhPZigic2VsZWN0Iik+LTEmJjE9PT10JiZ5KGUsUCxbdy54YXhpc10sW3cueWF4aXNdLHcuaWQseiksci5pbmRleE9mKCJldmVudCIpPi0xJiZnLmNsaWNrKFAsZSx3LmlkKX1mdW5jdGlvbiBSKHQsZSl7cmV0dXJuIDEtZS93Lmh9ZnVuY3Rpb24gRih0LGUpe3JldHVybiAxLSh0Kyh3LmgtZSkvTWF0aC5zcXJ0KDMpKS93Lnd9ZnVuY3Rpb24gQih0LGUpe3JldHVybih0LSh3LmgtZSkvTWF0aC5zcXJ0KDMpKS93Lnd9ZnVuY3Rpb24gTihhLGkpe3ZhciBvPXQrYSxzPWUraSxsPU1hdGgubWF4KDAsTWF0aC5taW4oMSxSKDAsZSksUigwLHMpKSksYz1NYXRoLm1heCgwLE1hdGgubWluKDEsRih0LGUpLEYobyxzKSkpLGQ9TWF0aC5tYXgoMCxNYXRoLm1pbigxLEIodCxlKSxCKG8scykpKSxnPShsLzIrZCkqdy53LG09KDEtbC8yLWMpKncudyx5PShnK20pLzIseD1tLWcsVD0oMS1sKSp3LmgsTD1ULXgvazt4PGIuTUlOWk9PTT8odT1yLHYuYXR0cigiZCIsZiksXy5hdHRyKCJkIiwiTTAsMFoiKSk6KHU9e2E6ci5hK2wqbixiOnIuYitjKm4sYzpyLmMrZCpufSx2LmF0dHIoImQiLGYrIk0iK2crIiwiK1QrIkgiK20rIkwiK3krIiwiK0wrIkwiK2crIiwiK1QrIloiKSxfLmF0dHIoImQiLCJNIit0KyIsIitlK0UrIk0iK2crIiwiK1QrTSsiTSIrbSsiLCIrVCtBKyJNIit5KyIsIitMK1MpKSxwfHwodi50cmFuc2l0aW9uKCkuc3R5bGUoImZpbGwiLGg+LjI/InJnYmEoMCwwLDAsMC40KSI6InJnYmEoMjU1LDI1NSwyNTUsMC4zKSIpLmR1cmF0aW9uKDIwMCksXy50cmFuc2l0aW9uKCkuc3R5bGUoIm9wYWNpdHkiLDEpLmR1cmF0aW9uKDIwMCkscD0hMCksUC5lbWl0KCJwbG90bHlfcmVsYXlvdXRpbmciLEkodSkpfWZ1bmN0aW9uIGooKXtDKFApLHUhPT1yJiYoaS5jYWxsKCJfZ3VpUmVsYXlvdXQiLFAsSSh1KSksTCYmUC5kYXRhJiZQLl9jb250ZXh0LnNob3dUaXBzJiYoby5ub3RpZmllcihzKFAsIkRvdWJsZS1jbGljayB0byB6b29tIGJhY2sgb3V0IiksImxvbmciKSxMPSExKSl9ZnVuY3Rpb24gVih0LGUpe3ZhciBuPXQvdy54YXhpcy5fbSxhPWUvdy55YXhpcy5fbSxpPVsodT17YTpyLmEtYSxiOnIuYisobithKS8yLGM6ci5jLShuLWEpLzJ9KS5hLHUuYix1LmNdLnNvcnQoKSxvPWkuaW5kZXhPZih1LmEpLHM9aS5pbmRleE9mKHUuYiksbD1pLmluZGV4T2YodS5jKTtpWzBdPDAmJihpWzFdK2lbMF0vMjwwPyhpWzJdKz1pWzBdK2lbMV0saVswXT1pWzFdPTApOihpWzJdKz1pWzBdLzIsaVsxXSs9aVswXS8yLGlbMF09MCksdT17YTppW29dLGI6aVtzXSxjOmlbbF19LGU9KHIuYS11LmEpKncueWF4aXMuX20sdD0oci5jLXUuYy1yLmIrdS5iKSp3LnhheGlzLl9tKTt2YXIgaD0idHJhbnNsYXRlKCIrKHcueDArdCkrIiwiKyh3LnkwK2UpKyIpIjt3LnBsb3RDb250YWluZXIuc2VsZWN0QWxsKCIuc2NhdHRlcmxheWVyLC5tYXBsYXllciIpLmF0dHIoInRyYW5zZm9ybSIsaCk7dmFyIGY9InRyYW5zbGF0ZSgiKy10KyIsIistZSsiKSI7dy5jbGlwRGVmUmVsYXRpdmUuc2VsZWN0KCJwYXRoIikuYXR0cigidHJhbnNmb3JtIixmKSx3LmFheGlzLnJhbmdlPVt1LmEsdy5zdW0tdS5iLXUuY10sdy5iYXhpcy5yYW5nZT1bdy5zdW0tdS5hLXUuYyx1LmJdLHcuY2F4aXMucmFuZ2U9W3cuc3VtLXUuYS11LmIsdS5jXSx3LmRyYXdBeGVzKCExKSx3Ll9oYXNDbGlwT25BeGlzRmFsc2UmJncucGxvdENvbnRhaW5lci5zZWxlY3QoIi5zY2F0dGVybGF5ZXIiKS5zZWxlY3RBbGwoIi50cmFjZSIpLmNhbGwoYy5oaWRlT3V0c2lkZVJhbmdlUG9pbnRzLHcpLFAuZW1pdCgicGxvdGx5X3JlbGF5b3V0aW5nIixJKHUpKX1mdW5jdGlvbiBVKCl7aS5jYWxsKCJfZ3VpUmVsYXlvdXQiLFAsSSh1KSl9VC5vbm1vdXNlbW92ZT1mdW5jdGlvbih0KXtnLmhvdmVyKFAsdCx3LmlkKSxQLl9mdWxsTGF5b3V0Ll9sYXN0aG92ZXI9VCxQLl9mdWxsTGF5b3V0Ll9ob3ZlcnN1YnBsb3Q9dy5pZH0sVC5vbm1vdXNlb3V0PWZ1bmN0aW9uKHQpe1AuX2RyYWdnaW5nfHxkLnVuaG92ZXIoUCx0KX0sZC5pbml0KHopfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZHJhZ2VsZW1lbnQiOjYxMCwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vY29tcG9uZW50cy90aXRsZXMiOjY3OSwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vY2FydGVzaWFuL2NvbnN0YW50cyI6NzcxLCIuLi9jYXJ0ZXNpYW4vc2VsZWN0Ijo3ODIsIi4uL2NhcnRlc2lhbi9zZXRfY29udmVydCI6NzgzLCIuLi9wbG90cyI6ODI2LGQzOjE2NSx0aW55Y29sb3IyOjUzNn1dLDg0NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2xpYi9sb2dnZXJzIiksYT10KCIuL2xpYi9ub29wIiksaT10KCIuL2xpYi9wdXNoX3VuaXF1ZSIpLG89dCgiLi9saWIvaXNfcGxhaW5fb2JqZWN0Iikscz10KCIuL2xpYi9kb20iKS5hZGRTdHlsZVJ1bGUsbD10KCIuL2xpYi9leHRlbmQiKSxjPXQoIi4vcGxvdHMvYXR0cmlidXRlcyIpLHU9dCgiLi9wbG90cy9sYXlvdXRfYXR0cmlidXRlcyIpLGg9bC5leHRlbmRGbGF0LGY9bC5leHRlbmREZWVwQWxsO2Z1bmN0aW9uIHAodCl7dmFyIGU9dC5uYW1lLGE9dC5jYXRlZ29yaWVzLGk9dC5tZXRhO2lmKHIubW9kdWxlc1tlXSluLmxvZygiVHlwZSAiK2UrIiBhbHJlYWR5IHJlZ2lzdGVyZWQiKTtlbHNle3Iuc3VicGxvdHNSZWdpc3RyeVt0LmJhc2VQbG90TW9kdWxlLm5hbWVdfHxmdW5jdGlvbih0KXt2YXIgZT10Lm5hbWU7aWYoci5zdWJwbG90c1JlZ2lzdHJ5W2VdKXJldHVybiB2b2lkIG4ubG9nKCJQbG90IHR5cGUgIitlKyIgYWxyZWFkeSByZWdpc3RlcmVkLiIpO2Zvcih2YXIgYSBpbiBtKHQpLHIuc3VicGxvdHNSZWdpc3RyeVtlXT10LHIuY29tcG9uZW50c1JlZ2lzdHJ5KWIoYSx0Lm5hbWUpfSh0LmJhc2VQbG90TW9kdWxlKTtmb3IodmFyIG89e30sbD0wO2w8YS5sZW5ndGg7bCsrKW9bYVtsXV09ITAsci5hbGxDYXRlZ29yaWVzW2FbbF1dPSEwO2Zvcih2YXIgYyBpbiByLm1vZHVsZXNbZV09e19tb2R1bGU6dCxjYXRlZ29yaWVzOm99LGkmJk9iamVjdC5rZXlzKGkpLmxlbmd0aCYmKHIubW9kdWxlc1tlXS5tZXRhPWkpLHIuYWxsVHlwZXMucHVzaChlKSxyLmNvbXBvbmVudHNSZWdpc3RyeSl5KGMsZSk7dC5sYXlvdXRBdHRyaWJ1dGVzJiZoKHIudHJhY2VMYXlvdXRBdHRyaWJ1dGVzLHQubGF5b3V0QXR0cmlidXRlcyk7dmFyIHU9dC5iYXNlUGxvdE1vZHVsZSxmPXUubmFtZTtpZigibWFwYm94Ij09PWYpe3ZhciBwPXUuY29uc3RhbnRzLnN0eWxlUnVsZXM7Zm9yKHZhciBkIGluIHApcygiLmpzLXBsb3RseS1wbG90IC5wbG90bHkgLm1hcGJveGdsLSIrZCxwW2RdKX0iZ2VvIiE9PWYmJiJtYXBib3giIT09Znx8dm9pZCAwPT09dHlwZW9mIHdpbmRvd3x8dm9pZCAwIT09d2luZG93LlBsb3RseUdlb0Fzc2V0c3x8KHdpbmRvdy5QbG90bHlHZW9Bc3NldHM9e3RvcG9qc29uOnt9fSl9fWZ1bmN0aW9uIGQodCl7aWYoInN0cmluZyIhPXR5cGVvZiB0Lm5hbWUpdGhyb3cgbmV3IEVycm9yKCJDb21wb25lbnQgbW9kdWxlICpuYW1lKiBtdXN0IGJlIGEgc3RyaW5nLiIpO3ZhciBlPXQubmFtZTtmb3IodmFyIG4gaW4gci5jb21wb25lbnRzUmVnaXN0cnlbZV09dCx0LmxheW91dEF0dHJpYnV0ZXMmJih0LmxheW91dEF0dHJpYnV0ZXMuX2lzTGlua2VkVG9BcnJheSYmaShyLmxheW91dEFycmF5Q29udGFpbmVycyxlKSxtKHQpKSxyLm1vZHVsZXMpeShlLG4pO2Zvcih2YXIgYSBpbiByLnN1YnBsb3RzUmVnaXN0cnkpYihlLGEpO2Zvcih2YXIgbyBpbiByLnRyYW5zZm9ybXNSZWdpc3RyeSl4KGUsbyk7dC5zY2hlbWEmJnQuc2NoZW1hLmxheW91dCYmZih1LHQuc2NoZW1hLmxheW91dCl9ZnVuY3Rpb24gZyh0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQubmFtZSl0aHJvdyBuZXcgRXJyb3IoIlRyYW5zZm9ybSBtb2R1bGUgKm5hbWUqIG11c3QgYmUgYSBzdHJpbmcuIik7dmFyIGU9IlRyYW5zZm9ybSBtb2R1bGUgIit0Lm5hbWUsYT0iZnVuY3Rpb24iPT10eXBlb2YgdC50cmFuc2Zvcm0saT0iZnVuY3Rpb24iPT10eXBlb2YgdC5jYWxjVHJhbnNmb3JtO2lmKCFhJiYhaSl0aHJvdyBuZXcgRXJyb3IoZSsiIGlzIG1pc3NpbmcgYSAqdHJhbnNmb3JtKiBvciAqY2FsY1RyYW5zZm9ybSogbWV0aG9kLiIpO2Zvcih2YXIgcyBpbiBhJiZpJiZuLmxvZyhbZSsiIGhhcyBib3RoIGEgKnRyYW5zZm9ybSogYW5kICpjYWxjVHJhbnNmb3JtKiBtZXRob2RzLiIsIlBsZWFzZSBub3RlIHRoYXQgYWxsICp0cmFuc2Zvcm0qIG1ldGhvZHMgYXJlIGV4ZWN1dGVkIiwiYmVmb3JlIGFsbCAqY2FsY1RyYW5zZm9ybSogbWV0aG9kcy4iXS5qb2luKCIgIikpLG8odC5hdHRyaWJ1dGVzKXx8bi5sb2coZSsiIHJlZ2lzdGVyZWQgd2l0aG91dCBhbiAqYXR0cmlidXRlcyogb2JqZWN0LiIpLCJmdW5jdGlvbiIhPXR5cGVvZiB0LnN1cHBseURlZmF1bHRzJiZuLmxvZyhlKyIgcmVnaXN0ZXJlZCB3aXRob3V0IGEgKnN1cHBseURlZmF1bHRzKiBtZXRob2QuIiksci50cmFuc2Zvcm1zUmVnaXN0cnlbdC5uYW1lXT10LHIuY29tcG9uZW50c1JlZ2lzdHJ5KXgocyx0Lm5hbWUpfWZ1bmN0aW9uIHYodCl7dmFyIGU9dC5uYW1lLG49ZS5zcGxpdCgiLSIpWzBdLGE9dC5kaWN0aW9uYXJ5LGk9dC5mb3JtYXQsbz1hJiZPYmplY3Qua2V5cyhhKS5sZW5ndGgscz1pJiZPYmplY3Qua2V5cyhpKS5sZW5ndGgsbD1yLmxvY2FsZVJlZ2lzdHJ5LGM9bFtlXTtpZihjfHwobFtlXT1jPXt9KSxuIT09ZSl7dmFyIHU9bFtuXTt1fHwobFtuXT11PXt9KSxvJiZ1LmRpY3Rpb25hcnk9PT1jLmRpY3Rpb25hcnkmJih1LmRpY3Rpb25hcnk9YSkscyYmdS5mb3JtYXQ9PT1jLmZvcm1hdCYmKHUuZm9ybWF0PWkpfW8mJihjLmRpY3Rpb25hcnk9YSkscyYmKGMuZm9ybWF0PWkpfWZ1bmN0aW9uIG0odCl7aWYodC5sYXlvdXRBdHRyaWJ1dGVzKXt2YXIgZT10LmxheW91dEF0dHJpYnV0ZXMuX2FycmF5QXR0clJlZ2V4cHM7aWYoZSlmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylpKHIubGF5b3V0QXJyYXlSZWdleGVzLGVbbl0pfX1mdW5jdGlvbiB5KHQsZSl7dmFyIG49ci5jb21wb25lbnRzUmVnaXN0cnlbdF0uc2NoZW1hO2lmKG4mJm4udHJhY2VzKXt2YXIgYT1uLnRyYWNlc1tlXTthJiZmKHIubW9kdWxlc1tlXS5fbW9kdWxlLmF0dHJpYnV0ZXMsYSl9fWZ1bmN0aW9uIHgodCxlKXt2YXIgbj1yLmNvbXBvbmVudHNSZWdpc3RyeVt0XS5zY2hlbWE7aWYobiYmbi50cmFuc2Zvcm1zKXt2YXIgYT1uLnRyYW5zZm9ybXNbZV07YSYmZihyLnRyYW5zZm9ybXNSZWdpc3RyeVtlXS5hdHRyaWJ1dGVzLGEpfX1mdW5jdGlvbiBiKHQsZSl7dmFyIG49ci5jb21wb25lbnRzUmVnaXN0cnlbdF0uc2NoZW1hO2lmKG4mJm4uc3VicGxvdHMpe3ZhciBhPXIuc3VicGxvdHNSZWdpc3RyeVtlXSxpPWEubGF5b3V0QXR0cmlidXRlcyxvPSJzdWJwbG90Ij09PWEuYXR0cj9hLm5hbWU6YS5hdHRyO0FycmF5LmlzQXJyYXkobykmJihvPW9bMF0pO3ZhciBzPW4uc3VicGxvdHNbb107aSYmcyYmZihpLHMpfX1mdW5jdGlvbiBfKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9dC50eXBlKSx0fXIubW9kdWxlcz17fSxyLmFsbENhdGVnb3JpZXM9e30sci5hbGxUeXBlcz1bXSxyLnN1YnBsb3RzUmVnaXN0cnk9e30sci50cmFuc2Zvcm1zUmVnaXN0cnk9e30sci5jb21wb25lbnRzUmVnaXN0cnk9e30sci5sYXlvdXRBcnJheUNvbnRhaW5lcnM9W10sci5sYXlvdXRBcnJheVJlZ2V4ZXM9W10sci50cmFjZUxheW91dEF0dHJpYnV0ZXM9e30sci5sb2NhbGVSZWdpc3RyeT17fSxyLmFwaU1ldGhvZFJlZ2lzdHJ5PXt9LHIuY29sbGVjdGFibGVTdWJwbG90VHlwZXM9bnVsbCxyLnJlZ2lzdGVyPWZ1bmN0aW9uKHQpe2lmKHIuY29sbGVjdGFibGVTdWJwbG90VHlwZXM9bnVsbCwhdCl0aHJvdyBuZXcgRXJyb3IoIk5vIGFyZ3VtZW50IHBhc3NlZCB0byBQbG90bHkucmVnaXN0ZXIuIik7dCYmIUFycmF5LmlzQXJyYXkodCkmJih0PVt0XSk7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciBuPXRbZV07aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1vZHVsZSB3YXMgYXR0ZW1wdGVkIHRvIGJlIHJlZ2lzdGVyZWQhIik7c3dpdGNoKG4ubW9kdWxlVHlwZSl7Y2FzZSJ0cmFjZSI6cChuKTticmVhaztjYXNlInRyYW5zZm9ybSI6ZyhuKTticmVhaztjYXNlImNvbXBvbmVudCI6ZChuKTticmVhaztjYXNlImxvY2FsZSI6dihuKTticmVhaztjYXNlImFwaU1ldGhvZCI6dmFyIGE9bi5uYW1lO3IuYXBpTWV0aG9kUmVnaXN0cnlbYV09bi5mbjticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCBtb2R1bGUgd2FzIGF0dGVtcHRlZCB0byBiZSByZWdpc3RlcmVkISIpfX19LHIuZ2V0TW9kdWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXIubW9kdWxlc1tfKHQpXTtyZXR1cm4hIWUmJmUuX21vZHVsZX0sci50cmFjZUlzPWZ1bmN0aW9uKHQsZSl7aWYoInZhcmlvdXMiPT09KHQ9Xyh0KSkpcmV0dXJuITE7dmFyIGE9ci5tb2R1bGVzW3RdO3JldHVybiBhfHwodCYmImFyZWEiIT09dCYmbi5sb2coIlVucmVjb2duaXplZCB0cmFjZSB0eXBlICIrdCsiLiIpLGE9ci5tb2R1bGVzW2MudHlwZS5kZmx0XSksISFhLmNhdGVnb3JpZXNbZV19LHIuZ2V0VHJhbnNmb3JtSW5kaWNlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPXQudHJhbnNmb3Jtc3x8W10sYT0wO2E8bi5sZW5ndGg7YSsrKW5bYV0udHlwZT09PWUmJnIucHVzaChhKTtyZXR1cm4gcn0sci5oYXNUcmFuc2Zvcm09ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC50cmFuc2Zvcm1zfHxbXSxuPTA7bjxyLmxlbmd0aDtuKyspaWYocltuXS50eXBlPT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0sci5nZXRDb21wb25lbnRNZXRob2Q9ZnVuY3Rpb24odCxlKXt2YXIgbj1yLmNvbXBvbmVudHNSZWdpc3RyeVt0XTtyZXR1cm4gbiYmbltlXXx8YX0sci5jYWxsPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzWzBdLGU9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIHIuYXBpTWV0aG9kUmVnaXN0cnlbdF0uYXBwbHkobnVsbCxlKX19LHsiLi9saWIvZG9tIjo3MDYsIi4vbGliL2V4dGVuZCI6NzA4LCIuL2xpYi9pc19wbGFpbl9vYmplY3QiOjcxOCwiLi9saWIvbG9nZ2VycyI6NzIxLCIuL2xpYi9ub29wIjo3MjYsIi4vbGliL3B1c2hfdW5pcXVlIjo3MzEsIi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuL3Bsb3RzL2xheW91dF9hdHRyaWJ1dGVzIjo4MTd9XSw4NDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vcmVnaXN0cnkiKSxhPXQoIi4uL2xpYiIpLGk9YS5leHRlbmRGbGF0LG89YS5leHRlbmREZWVwO2Z1bmN0aW9uIHModCl7dmFyIGU7c3dpdGNoKHQpe2Nhc2UidGhlbWVzX190aHVtYiI6ZT17YXV0b3NpemU6ITAsd2lkdGg6MTUwLGhlaWdodDoxNTAsdGl0bGU6e3RleHQ6IiJ9LHNob3dsZWdlbmQ6ITEsbWFyZ2luOntsOjUscjo1LHQ6NSxiOjUscGFkOjB9LGFubm90YXRpb25zOltdfTticmVhaztjYXNlInRodW1ibmFpbCI6ZT17dGl0bGU6e3RleHQ6IiJ9LGhpZGVzb3VyY2VzOiEwLHNob3dsZWdlbmQ6ITEsYm9yZGVyd2lkdGg6MCxib3JkZXJjb2xvcjoiIixtYXJnaW46e2w6MSxyOjEsdDoxLGI6MSxwYWQ6MH0sYW5ub3RhdGlvbnM6W119O2JyZWFrO2RlZmF1bHQ6ZT17fX1yZXR1cm4gZX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcjt0LmZyYW1ld29yayYmdC5mcmFtZXdvcmsuaXNQb2xhciYmKHQ9dC5mcmFtZXdvcmsuZ2V0Q29uZmlnKCkpO3ZhciBhLGw9dC5kYXRhLGM9dC5sYXlvdXQsdT1vKFtdLGwpLGg9byh7fSxjLHMoZS50aWxlQ2xhc3MpKSxmPXQuX2NvbnRleHR8fHt9O2lmKGUud2lkdGgmJihoLndpZHRoPWUud2lkdGgpLGUuaGVpZ2h0JiYoaC5oZWlnaHQ9ZS5oZWlnaHQpLCJ0aHVtYm5haWwiPT09ZS50aWxlQ2xhc3N8fCJ0aGVtZXNfX3RodW1iIj09PWUudGlsZUNsYXNzKXtoLmFubm90YXRpb25zPVtdO3ZhciBwPU9iamVjdC5rZXlzKGgpO2ZvcihyPTA7cjxwLmxlbmd0aDtyKyspYT1wW3JdLFsieGF4aXMiLCJ5YXhpcyIsInpheGlzIl0uaW5kZXhPZihhLnNsaWNlKDAsNSkpPi0xJiYoaFtwW3JdXS50aXRsZT17dGV4dDoiIn0pO2ZvcihyPTA7cjx1Lmxlbmd0aDtyKyspe3ZhciBkPXVbcl07ZC5zaG93c2NhbGU9ITEsZC5tYXJrZXImJihkLm1hcmtlci5zaG93c2NhbGU9ITEpLG4udHJhY2VJcyhkLCJwaWUtbGlrZSIpJiYoZC50ZXh0cG9zaXRpb249Im5vbmUiKX19aWYoQXJyYXkuaXNBcnJheShlLmFubm90YXRpb25zKSlmb3Iocj0wO3I8ZS5hbm5vdGF0aW9ucy5sZW5ndGg7cisrKWguYW5ub3RhdGlvbnMucHVzaChlLmFubm90YXRpb25zW3JdKTt2YXIgZz1PYmplY3Qua2V5cyhoKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQubWF0Y2goL15zY2VuZVxkKiQvKX0pO2lmKGcubGVuZ3RoKXt2YXIgdj17fTtmb3IoInRodW1ibmFpbCI9PT1lLnRpbGVDbGFzcyYmKHY9e3RpdGxlOnt0ZXh0OiIifSxzaG93YXhlc2xhYmVsczohMSxzaG93dGlja2xhYmVsczohMSxsaW5ldGlja2VuYWJsZTohMX0pLHI9MDtyPGcubGVuZ3RoO3IrKyl7dmFyIG09aFtnW3JdXTttLnhheGlzfHwobS54YXhpcz17fSksbS55YXhpc3x8KG0ueWF4aXM9e30pLG0uemF4aXN8fChtLnpheGlzPXt9KSxpKG0ueGF4aXMsdiksaShtLnlheGlzLHYpLGkobS56YXhpcyx2KSxtLl9zY2VuZT1udWxsfX12YXIgeT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLnRpbGVDbGFzcyYmKHkuY2xhc3NOYW1lPWUudGlsZUNsYXNzKTt2YXIgeD17Z2Q6eSx0ZDp5LGxheW91dDpoLGRhdGE6dSxjb25maWc6e3N0YXRpY1Bsb3Q6dm9pZCAwPT09ZS5zdGF0aWNQbG90fHxlLnN0YXRpY1Bsb3QscGxvdEdsUGl4ZWxSYXRpbzp2b2lkIDA9PT1lLnBsb3RHbFBpeGVsUmF0aW8/MjplLnBsb3RHbFBpeGVsUmF0aW8sZGlzcGxheWxvZ286ZS5kaXNwbGF5bG9nb3x8ITEsc2hvd0xpbms6ZS5zaG93TGlua3x8ITEsc2hvd1RpcHM6ZS5zaG93VGlwc3x8ITEsbWFwYm94QWNjZXNzVG9rZW46Zi5tYXBib3hBY2Nlc3NUb2tlbn19O3JldHVybiJ0cmFuc3BhcmVudCIhPT1lLnNldEJhY2tncm91bmQmJih4LmNvbmZpZy5zZXRCYWNrZ3JvdW5kPWUuc2V0QmFja2dyb3VuZHx8Im9wYXF1ZSIpLHguZ2QuZGVmYXVsdExheW91dD1zKGUudGlsZUNsYXNzKSx4fX0seyIuLi9saWIiOjcxNywiLi4vcmVnaXN0cnkiOjg0Nn1dLDg0ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9saWIiKSxhPXQoIi4uL3Bsb3RfYXBpL3RvX2ltYWdlIiksaT10KCIuL2ZpbGVzYXZlciIpLG89dCgiLi9oZWxwZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIG4uaXNQbGFpbk9iamVjdCh0KXx8KHI9bi5nZXRHcmFwaERpdih0KSksKGU9ZXx8e30pLmZvcm1hdD1lLmZvcm1hdHx8InBuZyIsZS5pbWFnZURhdGFPbmx5PSEwLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHMsbCl7ciYmci5fc25hcHNob3RJblByb2dyZXNzJiZsKG5ldyBFcnJvcigiU25hcHNob3R0aW5nIGFscmVhZHkgaW4gcHJvZ3Jlc3MuIikpLG4uaXNJRSgpJiYic3ZnIiE9PWUuZm9ybWF0JiZsKG5ldyBFcnJvcihvLk1TR19JRV9CQURfRk9STUFUKSksciYmKHIuX3NuYXBzaG90SW5Qcm9ncmVzcz0hMCk7dmFyIGM9YSh0LGUpLHU9ZS5maWxlbmFtZXx8dC5mbnx8Im5ld3Bsb3QiO3UrPSIuIitlLmZvcm1hdCxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHImJihyLl9zbmFwc2hvdEluUHJvZ3Jlc3M9ITEpLGkodCx1LGUuZm9ybWF0KX0pLnRoZW4oZnVuY3Rpb24odCl7cyh0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe3ImJihyLl9zbmFwc2hvdEluUHJvZ3Jlc3M9ITEpLGwodCl9KX0pfX0seyIuLi9saWIiOjcxNywiLi4vcGxvdF9hcGkvdG9faW1hZ2UiOjc1OCwiLi9maWxlc2F2ZXIiOjg0OSwiLi9oZWxwZXJzIjo4NTB9XSw4NDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vbGliIiksYT10KCIuL2hlbHBlcnMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxvPSJkb3dubG9hZCJpbiBpO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihzLGwpe3ZhciBjLHU7aWYobi5pc0lFOW9yQmVsb3coKSYmbChuZXcgRXJyb3IoIklFIDwgMTAgdW5zdXBwb3J0ZWQiKSksbi5pc1NhZmFyaSgpKXt2YXIgaD0ic3ZnIj09PXI/IiwiOiI7YmFzZTY0LCI7cmV0dXJuIGEub2N0ZXRTdHJlYW0oaCtlbmNvZGVVUklDb21wb25lbnQodCkpLHMoZSl9cmV0dXJuIG4uaXNJRSgpPyhjPWEuY3JlYXRlQmxvYih0LCJzdmciKSx3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZUJsb2IoYyxlKSxjPW51bGwscyhlKSk6bz8oYz1hLmNyZWF0ZUJsb2IodCxyKSx1PWEuY3JlYXRlT2JqZWN0VVJMKGMpLGkuaHJlZj11LGkuZG93bmxvYWQ9ZSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpLGkuY2xpY2soKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGkpLGEucmV2b2tlT2JqZWN0VVJMKHUpLGM9bnVsbCxzKGUpKTp2b2lkIGwobmV3IEVycm9yKCJkb3dubG9hZCBlcnJvciIpKX0pfX0seyIuLi9saWIiOjcxNywiLi9oZWxwZXJzIjo4NTB9XSw4NTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vcmVnaXN0cnkiKTtyLmdldERlbGF5PWZ1bmN0aW9uKHQpe3JldHVybiB0Ll9oYXMmJih0Ll9oYXMoImdsM2QiKXx8dC5faGFzKCJnbDJkIil8fHQuX2hhcygibWFwYm94IikpPzUwMDowfSxyLmdldFJlZHJhd0Z1bmM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dC5fZnVsbExheW91dHx8e307IShlLl9oYXMmJmUuX2hhcygicG9sYXIiKSkmJnQuZGF0YSYmdC5kYXRhWzBdJiZ0LmRhdGFbMF0ucnx8bi5nZXRDb21wb25lbnRNZXRob2QoImNvbG9yYmFyIiwiZHJhdyIpKHQpfX0sci5lbmNvZGVTVkc9ZnVuY3Rpb24odCl7cmV0dXJuImRhdGE6aW1hZ2Uvc3ZnK3htbCwiK2VuY29kZVVSSUNvbXBvbmVudCh0KX07dmFyIGE9d2luZG93LlVSTHx8d2luZG93LndlYmtpdFVSTDtyLmNyZWF0ZU9iamVjdFVSTD1mdW5jdGlvbih0KXtyZXR1cm4gYS5jcmVhdGVPYmplY3RVUkwodCl9LHIucmV2b2tlT2JqZWN0VVJMPWZ1bmN0aW9uKHQpe3JldHVybiBhLnJldm9rZU9iamVjdFVSTCh0KX0sci5jcmVhdGVCbG9iPWZ1bmN0aW9uKHQsZSl7aWYoInN2ZyI9PT1lKXJldHVybiBuZXcgd2luZG93LkJsb2IoW3RdLHt0eXBlOiJpbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgifSk7dmFyIHI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5QnVmZmVyKGUpLG49bmV3IFVpbnQ4QXJyYXkociksYT0wO2E8ZTthKyspblthXT10LmNoYXJDb2RlQXQoYSk7cmV0dXJuIHJ9KHdpbmRvdy5hdG9iKHQpKTtyZXR1cm4gbmV3IHdpbmRvdy5CbG9iKFtyXSx7dHlwZToiaW1hZ2UvIitlfSl9LHIub2N0ZXRTdHJlYW09ZnVuY3Rpb24odCl7ZG9jdW1lbnQubG9jYXRpb24uaHJlZj0iZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iK3R9LHIuSU1BR0VfVVJMX1BSRUZJWD0vXmRhdGE6aW1hZ2VcL1x3KztiYXNlNjQsLyxyLk1TR19JRV9CQURfRk9STUFUPSJTb3JyeSBJRSBkb2VzIG5vdCBzdXBwb3J0IGRvd25sb2FkaW5nIGZyb20gY2FudmFzLiBUcnkge2Zvcm1hdDonc3ZnJ30gaW5zdGVhZC4ifSx7Ii4uL3JlZ2lzdHJ5Ijo4NDZ9XSw4NTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9oZWxwZXJzIiksYT17Z2V0RGVsYXk6bi5nZXREZWxheSxnZXRSZWRyYXdGdW5jOm4uZ2V0UmVkcmF3RnVuYyxjbG9uZTp0KCIuL2Nsb25lcGxvdCIpLHRvU1ZHOnQoIi4vdG9zdmciKSxzdmdUb0ltZzp0KCIuL3N2Z3RvaW1nIiksdG9JbWFnZTp0KCIuL3RvaW1hZ2UiKSxkb3dubG9hZEltYWdlOnQoIi4vZG93bmxvYWQiKX07ZS5leHBvcnRzPWF9LHsiLi9jbG9uZXBsb3QiOjg0NywiLi9kb3dubG9hZCI6ODQ4LCIuL2hlbHBlcnMiOjg1MCwiLi9zdmd0b2ltZyI6ODUyLCIuL3RvaW1hZ2UiOjg1MywiLi90b3N2ZyI6ODU0fV0sODUyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2xpYiIpLGE9dCgiZXZlbnRzIikuRXZlbnRFbWl0dGVyLGk9dCgiLi9oZWxwZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZW1pdHRlcnx8bmV3IGEscj1uZXcgUHJvbWlzZShmdW5jdGlvbihhLG8pe3ZhciBzPXdpbmRvdy5JbWFnZSxsPXQuc3ZnLGM9dC5mb3JtYXR8fCJwbmciO2lmKG4uaXNJRSgpJiYic3ZnIiE9PWMpe3ZhciB1PW5ldyBFcnJvcihpLk1TR19JRV9CQURfRk9STUFUKTtyZXR1cm4gbyh1KSx0LnByb21pc2U/cjplLmVtaXQoImVycm9yIix1KX12YXIgaCxmLHA9dC5jYW52YXMsZD10LnNjYWxlfHwxLGc9dC53aWR0aHx8MzAwLHY9dC5oZWlnaHR8fDE1MCxtPWQqZyx5PWQqdix4PXAuZ2V0Q29udGV4dCgiMmQiKSxiPW5ldyBzOyJzdmciPT09Y3x8bi5pc0lFOW9yQmVsb3coKXx8bi5pc1NhZmFyaSgpP2Y9aS5lbmNvZGVTVkcobCk6KGg9aS5jcmVhdGVCbG9iKGwsInN2ZyIpLGY9aS5jcmVhdGVPYmplY3RVUkwoaCkpLHAud2lkdGg9bSxwLmhlaWdodD15LGIub25sb2FkPWZ1bmN0aW9uKCl7dmFyIHI7c3dpdGNoKGg9bnVsbCxpLnJldm9rZU9iamVjdFVSTChmKSwic3ZnIiE9PWMmJnguZHJhd0ltYWdlKGIsMCwwLG0seSksYyl7Y2FzZSJqcGVnIjpyPXAudG9EYXRhVVJMKCJpbWFnZS9qcGVnIik7YnJlYWs7Y2FzZSJwbmciOnI9cC50b0RhdGFVUkwoImltYWdlL3BuZyIpO2JyZWFrO2Nhc2Uid2VicCI6cj1wLnRvRGF0YVVSTCgiaW1hZ2Uvd2VicCIpO2JyZWFrO2Nhc2Uic3ZnIjpyPWY7YnJlYWs7ZGVmYXVsdDp2YXIgbj0iSW1hZ2UgZm9ybWF0IGlzIG5vdCBqcGVnLCBwbmcsIHN2ZyBvciB3ZWJwLiI7aWYobyhuZXcgRXJyb3IobikpLCF0LnByb21pc2UpcmV0dXJuIGUuZW1pdCgiZXJyb3IiLG4pfWEociksdC5wcm9taXNlfHxlLmVtaXQoInN1Y2Nlc3MiLHIpfSxiLm9uZXJyb3I9ZnVuY3Rpb24ocil7aWYoaD1udWxsLGkucmV2b2tlT2JqZWN0VVJMKGYpLG8ociksIXQucHJvbWlzZSlyZXR1cm4gZS5lbWl0KCJlcnJvciIscil9LGIuc3JjPWZ9KTtyZXR1cm4gdC5wcm9taXNlP3I6ZX19LHsiLi4vbGliIjo3MTcsIi4vaGVscGVycyI6ODUwLGV2ZW50czoxMDZ9XSw4NTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZXZlbnRzIikuRXZlbnRFbWl0dGVyLGE9dCgiLi4vcmVnaXN0cnkiKSxpPXQoIi4uL2xpYiIpLG89dCgiLi9oZWxwZXJzIikscz10KCIuL2Nsb25lcGxvdCIpLGw9dCgiLi90b3N2ZyIpLGM9dCgiLi9zdmd0b2ltZyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBuLHU9cyh0LHtmb3JtYXQ6InBuZyJ9KSxoPXUuZ2Q7aC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGguc3R5bGUubGVmdD0iLTUwMDBweCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoKTt2YXIgZj1vLmdldFJlZHJhd0Z1bmMoaCk7cmV0dXJuIGEuY2FsbCgicGxvdCIsaCx1LmRhdGEsdS5sYXlvdXQsdS5jb25maWcpLnRoZW4oZikudGhlbihmdW5jdGlvbigpe3ZhciB0PW8uZ2V0RGVsYXkoaC5fZnVsbExheW91dCk7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciB0PWwoaCksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtuLmlkPWkucmFuZHN0cigpLChyPWMoe2Zvcm1hdDplLmZvcm1hdCx3aWR0aDpoLl9mdWxsTGF5b3V0LndpZHRoLGhlaWdodDpoLl9mdWxsTGF5b3V0LmhlaWdodCxjYW52YXM6bixlbWl0dGVyOnIsc3ZnOnR9KSkuY2xlYW49ZnVuY3Rpb24oKXtoJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGgpfX0sdCl9KS5jYXRjaChmdW5jdGlvbih0KXtyLmVtaXQoImVycm9yIix0KX0pLHJ9fSx7Ii4uL2xpYiI6NzE3LCIuLi9yZWdpc3RyeSI6ODQ2LCIuL2Nsb25lcGxvdCI6ODQ3LCIuL2hlbHBlcnMiOjg1MCwiLi9zdmd0b2ltZyI6ODUyLCIuL3Rvc3ZnIjo4NTQsZXZlbnRzOjEwNn1dLDg1NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vbGliIiksaT10KCIuLi9jb21wb25lbnRzL2RyYXdpbmciKSxvPXQoIi4uL2NvbXBvbmVudHMvY29sb3IiKSxzPXQoIi4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIiksbD0vIi9nLGM9bmV3IFJlZ0V4cCgnKCJUT0JFU1RSSVBQRUQpfChUT0JFU1RSSVBQRUQiKScsImciKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LGg9dC5fZnVsbExheW91dCxmPWguX3BhcGVyLHA9aC5fdG9wcGFwZXIsZD1oLndpZHRoLGc9aC5oZWlnaHQ7Zi5pbnNlcnQoInJlY3QiLCI6Zmlyc3QtY2hpbGQiKS5jYWxsKGkuc2V0UmVjdCwwLDAsZCxnKS5jYWxsKG8uZmlsbCxoLnBhcGVyX2JnY29sb3IpO3ZhciB2PWguX2Jhc2VQbG90TW9kdWxlc3x8W107Zm9yKHU9MDt1PHYubGVuZ3RoO3UrKyl7dmFyIG09dlt1XTttLnRvU1ZHJiZtLnRvU1ZHKHQpfWlmKHApe3ZhciB5PXAubm9kZSgpLmNoaWxkTm9kZXMseD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh5KTtmb3IodT0wO3U8eC5sZW5ndGg7dSsrKXt2YXIgYj14W3VdO2IuY2hpbGROb2Rlcy5sZW5ndGgmJmYubm9kZSgpLmFwcGVuZENoaWxkKGIpfX1pZihoLl9kcmFnZ2VycyYmaC5fZHJhZ2dlcnMucmVtb3ZlKCksZi5ub2RlKCkuc3R5bGUuYmFja2dyb3VuZD0iIixmLnNlbGVjdEFsbCgidGV4dCIpLmF0dHIoeyJkYXRhLXVuZm9ybWF0dGVkIjpudWxsLCJkYXRhLW1hdGgiOm51bGx9KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bi5zZWxlY3QodGhpcyk7aWYoImhpZGRlbiIhPT10aGlzLnN0eWxlLnZpc2liaWxpdHkmJiJub25lIiE9PXRoaXMuc3R5bGUuZGlzcGxheSl7dC5zdHlsZSh7dmlzaWJpbGl0eTpudWxsLGRpc3BsYXk6bnVsbH0pO3ZhciBlPXRoaXMuc3R5bGUuZm9udEZhbWlseTtlJiYtMSE9PWUuaW5kZXhPZignIicpJiZ0LnN0eWxlKCJmb250LWZhbWlseSIsZS5yZXBsYWNlKGwsIlRPQkVTVFJJUFBFRCIpKX1lbHNlIHQucmVtb3ZlKCl9KSxoLl9ncmFkaWVudFVybFF1ZXJ5UGFydHMpe3ZhciBfPVtdO2Zvcih2YXIgdyBpbiBoLl9ncmFkaWVudFVybFF1ZXJ5UGFydHMpXy5wdXNoKHcpO18ubGVuZ3RoJiZmLnNlbGVjdEFsbChfLmpvaW4oIiwiKSkuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4uc2VsZWN0KHRoaXMpLGU9dGhpcy5zdHlsZS5maWxsO2UmJi0xIT09ZS5pbmRleE9mKCJ1cmwoIikmJnQuc3R5bGUoImZpbGwiLGUucmVwbGFjZShsLCJUT0JFU1RSSVBQRUQiKSk7dmFyIHI9dGhpcy5zdHlsZS5zdHJva2U7ciYmLTEhPT1yLmluZGV4T2YoInVybCgiKSYmdC5zdHlsZSgic3Ryb2tlIixyLnJlcGxhY2UobCwiVE9CRVNUUklQUEVEIikpfSl9InBkZiIhPT1lJiYiZXBzIiE9PWV8fGYuc2VsZWN0QWxsKCIjTWF0aEpheF9TVkdfZ2x5cGhzIHBhdGgiKS5hdHRyKCJzdHJva2Utd2lkdGgiLDApLGYubm9kZSgpLnNldEF0dHJpYnV0ZU5TKHMueG1sbnMsInhtbG5zIixzLnN2ZyksZi5ub2RlKCkuc2V0QXR0cmlidXRlTlMocy54bWxucywieG1sbnM6eGxpbmsiLHMueGxpbmspLCJzdmciPT09ZSYmciYmKGYuYXR0cigid2lkdGgiLHIqZCksZi5hdHRyKCJoZWlnaHQiLHIqZyksZi5hdHRyKCJ2aWV3Qm94IiwiMCAwICIrZCsiICIrZykpO3ZhciBrPShuZXcgd2luZG93LlhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGYubm9kZSgpKTtyZXR1cm4gaz1mdW5jdGlvbih0KXt2YXIgZT1uLnNlbGVjdCgiYm9keSIpLmFwcGVuZCgiZGl2Iikuc3R5bGUoe2Rpc3BsYXk6Im5vbmUifSkuaHRtbCgiIikscj10LnJlcGxhY2UoLygmW147XSo7KS9naSxmdW5jdGlvbih0KXtyZXR1cm4iJmx0OyI9PT10PyImIzYwOyI6IiZydDsiPT09dD8iJiM2MjsiOi0xIT09dC5pbmRleE9mKCI8Iil8fC0xIT09dC5pbmRleE9mKCI+Iik/IiI6ZS5odG1sKHQpLnRleHQoKX0pO3JldHVybiBlLnJlbW92ZSgpLHJ9KGspLGs9KGs9ay5yZXBsYWNlKC8mKD8hXHcrO3xcI1swLTldKzt8IFwjeFswLTlBLUZdKzspL2csIiZhbXA7IikpLnJlcGxhY2UoYywiJyIpLGEuaXNJRSgpJiYoaz0oaz0oaz1rLnJlcGxhY2UoLyIvZ2ksIiciKSkucmVwbGFjZSgvKFwoJyMpKFteJ10qKSgnXCkpL2dpLCcoIiMkMiIpJykpLnJlcGxhY2UoLyhcXCcpL2dpLCciJykpLGt9fSx7Ii4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIjo2OTQsIi4uL2xpYiI6NzE3LGQzOjE2NX1dLDg1NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdLmk9cjtuLm1lcmdlQXJyYXkoZS50ZXh0LHQsInR4Iiksbi5tZXJnZUFycmF5KGUuaG92ZXJ0ZXh0LHQsImh0eCIpO3ZhciBhPWUubWFya2VyO2lmKGEpe24ubWVyZ2VBcnJheShhLm9wYWNpdHksdCwibW8iLCEwKSxuLm1lcmdlQXJyYXkoYS5jb2xvcix0LCJtYyIpO3ZhciBpPWEubGluZTtpJiYobi5tZXJnZUFycmF5KGkuY29sb3IsdCwibWxjIiksbi5tZXJnZUFycmF5Q2FzdFBvc2l0aXZlKGkud2lkdGgsdCwibWx3IikpfX19LHsiLi4vLi4vbGliIjo3MTd9XSw4NTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGk9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLnRleHR0ZW1wbGF0ZUF0dHJzLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyIpLGw9dCgiLi9jb25zdGFudHMiKSxjPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LHU9cyh7ZWRpdFR5cGU6ImNhbGMiLGFycmF5T2s6ITAsY29sb3JFZGl0VHlwZToic3R5bGUifSksaD1jKHt9LG4ubWFya2VyLmxpbmUud2lkdGgse2RmbHQ6MH0pLGY9Yyh7d2lkdGg6aCxlZGl0VHlwZToiY2FsYyJ9LG8oIm1hcmtlci5saW5lIikpLHA9Yyh7bGluZTpmLGVkaXRUeXBlOiJjYWxjIn0sbygibWFya2VyIikse29wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsYXJyYXlPazohMCxkZmx0OjEsbWluOjAsbWF4OjEsZWRpdFR5cGU6InN0eWxlIn19KTtlLmV4cG9ydHM9e3g6bi54LHgwOm4ueDAsZHg6bi5keCx5Om4ueSx5MDpuLnkwLGR5Om4uZHksdGV4dDpuLnRleHQsdGV4dHRlbXBsYXRlOmkoe2VkaXRUeXBlOiJwbG90In0se2tleXM6bC5ldmVudERhdGFLZXlzfSksaG92ZXJ0ZXh0Om4uaG92ZXJ0ZXh0LGhvdmVydGVtcGxhdGU6YSh7fSx7a2V5czpsLmV2ZW50RGF0YUtleXN9KSx0ZXh0cG9zaXRpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImluc2lkZSIsIm91dHNpZGUiLCJhdXRvIiwibm9uZSJdLGRmbHQ6Im5vbmUiLGFycmF5T2s6ITAsZWRpdFR5cGU6ImNhbGMifSxpbnNpZGV0ZXh0YW5jaG9yOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJlbmQiLCJtaWRkbGUiLCJzdGFydCJdLGRmbHQ6ImVuZCIsZWRpdFR5cGU6InBsb3QifSx0ZXh0YW5nbGU6e3ZhbFR5cGU6ImFuZ2xlIixkZmx0OiJhdXRvIixlZGl0VHlwZToicGxvdCJ9LHRleHRmb250OmMoe30sdSx7fSksaW5zaWRldGV4dGZvbnQ6Yyh7fSx1LHt9KSxvdXRzaWRldGV4dGZvbnQ6Yyh7fSx1LHt9KSxjb25zdHJhaW50ZXh0Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJpbnNpZGUiLCJvdXRzaWRlIiwiYm90aCIsIm5vbmUiXSxkZmx0OiJib3RoIixlZGl0VHlwZToiY2FsYyJ9LGNsaXBvbmF4aXM6Yyh7fSxuLmNsaXBvbmF4aXMse30pLG9yaWVudGF0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ2IiwiaCJdLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sYmFzZTp7dmFsVHlwZToiYW55IixkZmx0Om51bGwsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyJ9LG9mZnNldDp7dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyJ9LHdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6bnVsbCxtaW46MCxhcnJheU9rOiEwLGVkaXRUeXBlOiJjYWxjIn0sbWFya2VyOnAsb2Zmc2V0Z3JvdXA6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToiY2FsYyJ9LGFsaWdubWVudGdyb3VwOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxzZWxlY3RlZDp7bWFya2VyOntvcGFjaXR5Om4uc2VsZWN0ZWQubWFya2VyLm9wYWNpdHksY29sb3I6bi5zZWxlY3RlZC5tYXJrZXIuY29sb3IsZWRpdFR5cGU6InN0eWxlIn0sdGV4dGZvbnQ6bi5zZWxlY3RlZC50ZXh0Zm9udCxlZGl0VHlwZToic3R5bGUifSx1bnNlbGVjdGVkOnttYXJrZXI6e29wYWNpdHk6bi51bnNlbGVjdGVkLm1hcmtlci5vcGFjaXR5LGNvbG9yOm4udW5zZWxlY3RlZC5tYXJrZXIuY29sb3IsZWRpdFR5cGU6InN0eWxlIn0sdGV4dGZvbnQ6bi51bnNlbGVjdGVkLnRleHRmb250LGVkaXRUeXBlOiJzdHlsZSJ9LHI6bi5yLHQ6bi50LF9kZXByZWNhdGVkOntiYXJkaXI6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLGVkaXRUeXBlOiJjYWxjIix2YWx1ZXM6WyJ2IiwiaCJdfX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTEsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIjoxMTIwLCIuL2NvbnN0YW50cyI6ODU4fV0sODU3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvaGVscGVycyIpLmhhc0NvbG9yc2NhbGUsaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyIpLG89dCgiLi9hcnJheXNfdG9fY2FsY2RhdGEiKSxzPXQoIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixsLGM9bi5nZXRGcm9tSWQodCxlLnhheGlzfHwieCIpLHU9bi5nZXRGcm9tSWQodCxlLnlheGlzfHwieSIpOyJoIj09PWUub3JpZW50YXRpb24/KHI9Yy5tYWtlQ2FsY2RhdGEoZSwieCIpLGw9dS5tYWtlQ2FsY2RhdGEoZSwieSIpKToocj11Lm1ha2VDYWxjZGF0YShlLCJ5IiksbD1jLm1ha2VDYWxjZGF0YShlLCJ4IikpO2Zvcih2YXIgaD1NYXRoLm1pbihsLmxlbmd0aCxyLmxlbmd0aCksZj1uZXcgQXJyYXkoaCkscD0wO3A8aDtwKyspZltwXT17cDpsW3BdLHM6cltwXX0sZS5pZHMmJihmW3BdLmlkPVN0cmluZyhlLmlkc1twXSkpO3JldHVybiBhKGUsIm1hcmtlciIpJiZpKHQsZSx7dmFsczplLm1hcmtlci5jb2xvcixjb250YWluZXJTdHI6Im1hcmtlciIsY0xldHRlcjoiYyJ9KSxhKGUsIm1hcmtlci5saW5lIikmJmkodCxlLHt2YWxzOmUubWFya2VyLmxpbmUuY29sb3IsY29udGFpbmVyU3RyOiJtYXJrZXIubGluZSIsY0xldHRlcjoiYyJ9KSxvKGYsZSkscyhmLGUpLGZ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIjo2MDAsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iOjExMjIsIi4vYXJyYXlzX3RvX2NhbGNkYXRhIjo4NTV9XSw4NTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtURVhUUEFEOjMsZXZlbnREYXRhS2V5czpbInZhbHVlIiwibGFiZWwiXX19LHt9XSw4NTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXlPclR5cGVkQXJyYXksaT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNLG89dCgiLi4vLi4vcmVnaXN0cnkiKSxzPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksbD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKS5nZXRBeGlzR3JvdXAsYz10KCIuL3NpZXZlLmpzIik7ZnVuY3Rpb24gdSh0LGUscixvLHUpe2lmKG8ubGVuZ3RoKXt2YXIgYixfLHcsaztzd2l0Y2goZnVuY3Rpb24odCxlKXt2YXIgcixpO2ZvcihyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBvLHM9ZVtyXSxsPXNbMF0udHJhY2UsYz0iZnVubmVsIj09PWwudHlwZT9sLl9iYXNlOmwuYmFzZSx1PSJoIj09PWwub3JpZW50YXRpb24/bC54Y2FsZW5kYXI6bC55Y2FsZW5kYXIsaD0iY2F0ZWdvcnkiPT09dC50eXBlfHwibXVsdGljYXRlZ29yeSI9PT10LnR5cGU/ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH06dC5kMmM7aWYoYShjKSl7Zm9yKGk9MDtpPE1hdGgubWluKGMubGVuZ3RoLHMubGVuZ3RoKTtpKyspbz1oKGNbaV0sMCx1KSxuKG8pPyhzW2ldLmI9K28sc1tpXS5oYXNCPTEpOnNbaV0uYj0wO2Zvcig7aTxzLmxlbmd0aDtpKyspc1tpXS5iPTB9ZWxzZXtvPWgoYywwLHUpO3ZhciBmPW4obyk7Zm9yKG89Zj9vOjAsaT0wO2k8cy5sZW5ndGg7aSsrKXNbaV0uYj1vLGYmJihzW2ldLmhhc0I9MSl9fX0ocixvKSx1Lm1vZGUpe2Nhc2Uib3ZlcmxheSI6aChlLHIsbyx1KTticmVhaztjYXNlImdyb3VwIjpmb3IoYj1bXSxfPVtdLHc9MDt3PG8ubGVuZ3RoO3crKyl2b2lkIDA9PT0oaz1vW3ddKVswXS50cmFjZS5vZmZzZXQ/Xy5wdXNoKGspOmIucHVzaChrKTtfLmxlbmd0aCYmZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgbz1uZXcgYyhuLHtzZXBOZWdWYWw6ITEsb3ZlcmxhcE5vTWVyZ2U6IWEubm9ybX0pOyhmdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9dC5fZnVsbExheW91dCxpPXIucG9zaXRpb25zLG89ci5kaXN0aW5jdFBvc2l0aW9ucyxzPXIubWluRGlmZixjPXIudHJhY2VzLHU9Yy5sZW5ndGgsaD1pLmxlbmd0aCE9PW8ubGVuZ3RoLGY9cyooMS1uLmdhcCksdj1sKGEsZS5faWQpK2NbMF1bMF0udHJhY2Uub3JpZW50YXRpb24sbT1hLl9hbGlnbm1lbnRPcHRzW3ZdfHx7fSx5PTA7eTx1O3krKyl7dmFyIHgsYixfPWNbeV0sdz1fWzBdLnRyYWNlLGs9bVt3LmFsaWdubWVudGdyb3VwXXx8e30sVD1PYmplY3Qua2V5cyhrLm9mZnNldEdyb3Vwc3x8e30pLmxlbmd0aCxNPSh4PVQ/Zi9UOmg/Zi91OmYpKigxLShuLmdyb3VwZ2FwfHwwKSk7Yj1UPygoMip3Ll9vZmZzZXRJbmRleCsxLVQpKngtTSkvMjpoPygoMip5KzEtdSkqeC1NKS8yOi1NLzI7dmFyIEE9X1swXS50O0EuYmFyd2lkdGg9TSxBLnBvZmZzZXQ9YixBLmJhcmdyb3Vwd2lkdGg9ZixBLmJhcmRlbHRhPXN9ci5iaW5XaWR0aD1jWzBdWzBdLnQuYmFyd2lkdGgvMTAwLHAociksZChlLHIpLGcoZSxyLGgpfSkodCxlLG8sYSksZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQudHJhY2VzLHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXSxhPW5bMF0udHJhY2U7aWYodm9pZCAwPT09YS5iYXNlKWZvcih2YXIgbz1uZXcgYyhbbl0se3NlcE5lZ1ZhbDohMCxvdmVybGFwTm9NZXJnZTohMH0pLHM9MDtzPG4ubGVuZ3RoO3MrKyl7dmFyIGw9bltzXTtpZihsLnAhPT1pKXt2YXIgdT1vLnB1dChsLnAsbC5iK2wucyk7dSYmKGwuYj11KX19fX0obyksYS5ub3JtPyhtKG8pLHkocixvLGEpKTp2KHIsbyl9KHQsZSxyLF8sdSksYi5sZW5ndGgmJmgoZSxyLGIsdSk7YnJlYWs7Y2FzZSJzdGFjayI6Y2FzZSJyZWxhdGl2ZSI6Zm9yKGI9W10sXz1bXSx3PTA7dzxvLmxlbmd0aDt3Kyspdm9pZCAwPT09KGs9b1t3XSlbMF0udHJhY2UuYmFzZT9fLnB1c2goayk6Yi5wdXNoKGspO18ubGVuZ3RoJiZmdW5jdGlvbih0LGUscixuLGEpe3ZhciBvPW5ldyBjKG4se3NlcE5lZ1ZhbDoicmVsYXRpdmUiPT09YS5tb2RlLG92ZXJsYXBOb01lcmdlOiEoYS5ub3JtfHwic3RhY2siPT09YS5tb2RlfHwicmVsYXRpdmUiPT09YS5tb2RlKX0pO2YoZSxvLGEpLGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLG8sbCxjLHUsaD14KHQpLGY9ZS50cmFjZXM7Zm9yKGw9MDtsPGYubGVuZ3RoO2wrKylpZihuPWZbbF0sImZ1bm5lbCI9PT0oYT1uWzBdLnRyYWNlKS50eXBlKWZvcihjPTA7YzxuLmxlbmd0aDtjKyspKHU9bltjXSkucyE9PWkmJmUucHV0KHUucCwtLjUqdS5zKTtmb3IobD0wO2w8Zi5sZW5ndGg7bCsrKXtuPWZbbF0sYT1uWzBdLnRyYWNlLG89ImZ1bm5lbCI9PT1hLnR5cGU7dmFyIHA9W107Zm9yKGM9MDtjPG4ubGVuZ3RoO2MrKylpZigodT1uW2NdKS5zIT09aSl7dmFyIGQ7ZD1vP3Uuczp1LnMrdS5iO3ZhciBnPWUucHV0KHUucCxkKSx2PWcrZDt1LmI9Zyx1W2hdPXYsci5ub3JtfHwocC5wdXNoKHYpLHUuaGFzQiYmcC5wdXNoKGcpKX1yLm5vcm18fChhLl9leHRyZW1lc1t0Ll9pZF09cy5maW5kRXh0cmVtZXModCxwLHt0b3plcm86ITAscGFkZGVkOiEwfSkpfX0ocixvLGEpO2Zvcih2YXIgbD0wO2w8bi5sZW5ndGg7bCsrKWZvcih2YXIgdT1uW2xdLGg9MDtoPHUubGVuZ3RoO2grKyl7dmFyIHA9dVtoXTtpZihwLnMhPT1pKXt2YXIgZD1wLmIrcC5zPT09by5nZXQocC5wLHAucyk7ZCYmKHAuX291dG1vc3Q9ITApfX1hLm5vcm0mJnkocixvLGEpfSgwLGUscixfLHUpLGIubGVuZ3RoJiZoKGUscixiLHUpfSFmdW5jdGlvbih0LGUpe3ZhciByLGEsaSxvPXgoZSkscz17fSxsPTEvMCxjPS0xLzA7Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKylmb3IoaT10W3JdLGE9MDthPGkubGVuZ3RoO2ErKyl7dmFyIHU9aVthXS5wO24odSkmJihsPU1hdGgubWluKGwsdSksYz1NYXRoLm1heChjLHUpKX12YXIgaD0xZTQvKGMtbCksZj1zLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcoTWF0aC5yb3VuZChoKih0LWwpKSl9O2ZvcihyPTA7cjx0Lmxlbmd0aDtyKyspeyhpPXRbcl0pWzBdLnQuZXh0ZW50cz1zO3ZhciBwPWlbMF0udC5wb2Zmc2V0LGQ9QXJyYXkuaXNBcnJheShwKTtmb3IoYT0wO2E8aS5sZW5ndGg7YSsrKXt2YXIgZz1pW2FdLHY9Z1tvXS1nLncvMjtpZihuKHYpKXt2YXIgbT1nW29dK2cudy8yLHk9ZihnLnApO3NbeV0/c1t5XT1bTWF0aC5taW4odixzW3ldWzBdKSxNYXRoLm1heChtLHNbeV1bMV0pXTpzW3ldPVt2LG1dfWcucDA9Zy5wKyhkP3BbYV06cCksZy5wMT1nLnAwK2cudyxnLnMwPWcuYixnLnMxPWcuczArZy5zfX19KG8sZSl9fWZ1bmN0aW9uIGgodCxlLHIsbil7Zm9yKHZhciBhPTA7YTxyLmxlbmd0aDthKyspe3ZhciBpPXJbYV0sbz1uZXcgYyhbaV0se3NlcE5lZ1ZhbDohMSxvdmVybGFwTm9NZXJnZTohbi5ub3JtfSk7Zih0LG8sbiksbi5ub3JtPyhtKG8pLHkoZSxvLG4pKTp2KGUsbyl9fWZ1bmN0aW9uIGYodCxlLHIpe2Zvcih2YXIgbj1lLm1pbkRpZmYsYT1lLnRyYWNlcyxpPW4qKDEtci5nYXApLG89aSooMS0oci5ncm91cGdhcHx8MCkpLHM9LW8vMixsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBjPWFbbF1bMF0udDtjLmJhcndpZHRoPW8sYy5wb2Zmc2V0PXMsYy5iYXJncm91cHdpZHRoPWksYy5iYXJkZWx0YT1ufWUuYmluV2lkdGg9YVswXVswXS50LmJhcndpZHRoLzEwMCxwKGUpLGQodCxlKSxnKHQsZSl9ZnVuY3Rpb24gcCh0KXt2YXIgZSxyLGk9dC50cmFjZXM7Zm9yKGU9MDtlPGkubGVuZ3RoO2UrKyl7dmFyIG8scz1pW2VdLGw9c1swXSxjPWwudHJhY2UsdT1sLnQsaD1jLl9vZmZzZXR8fGMub2Zmc2V0LGY9dS5wb2Zmc2V0O2lmKGEoaCkpe2ZvcihvPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsMCxzLmxlbmd0aCkscj0wO3I8by5sZW5ndGg7cisrKW4ob1tyXSl8fChvW3JdPWYpO2ZvcihyPW8ubGVuZ3RoO3I8cy5sZW5ndGg7cisrKW8ucHVzaChmKTt1LnBvZmZzZXQ9b31lbHNlIHZvaWQgMCE9PWgmJih1LnBvZmZzZXQ9aCk7dmFyIHA9Yy5fd2lkdGh8fGMud2lkdGgsZD11LmJhcndpZHRoO2lmKGEocCkpe3ZhciBnPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHAsMCxzLmxlbmd0aCk7Zm9yKHI9MDtyPGcubGVuZ3RoO3IrKyluKGdbcl0pfHwoZ1tyXT1kKTtmb3Iocj1nLmxlbmd0aDtyPHMubGVuZ3RoO3IrKylnLnB1c2goZCk7aWYodS5iYXJ3aWR0aD1nLHZvaWQgMD09PWgpe2ZvcihvPVtdLHI9MDtyPHMubGVuZ3RoO3IrKylvLnB1c2goZisoZC1nW3JdKS8yKTt1LnBvZmZzZXQ9b319ZWxzZSB2b2lkIDAhPT1wJiYodS5iYXJ3aWR0aD1wLHZvaWQgMD09PWgmJih1LnBvZmZzZXQ9ZisoZC1wKS8yKSl9fWZ1bmN0aW9uIGQodCxlKXtmb3IodmFyIHI9ZS50cmFjZXMsbj14KHQpLGE9MDthPHIubGVuZ3RoO2ErKylmb3IodmFyIGk9clthXSxvPWlbMF0udCxzPW8ucG9mZnNldCxsPUFycmF5LmlzQXJyYXkocyksYz1vLmJhcndpZHRoLHU9QXJyYXkuaXNBcnJheShjKSxoPTA7aDxpLmxlbmd0aDtoKyspe3ZhciBmPWlbaF0scD1mLnc9dT9jW2hdOmM7ZltuXT1mLnArKGw/c1toXTpzKStwLzJ9fWZ1bmN0aW9uIGcodCxlLHIpe3ZhciBuPWUudHJhY2VzLGE9ZS5taW5EaWZmLzI7cy5taW5EdGljayh0LGUubWluRGlmZixlLmRpc3RpbmN0UG9zaXRpb25zWzBdLHIpO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbyxsLGMsdSxoPW5baV0sZj1oWzBdLHA9Zi50cmFjZSxkPVtdO2Zvcih1PTA7dTxoLmxlbmd0aDt1KyspbD0obz1oW3VdKS5wLWEsYz1vLnArYSxkLnB1c2gobCxjKTtpZihwLndpZHRofHxwLm9mZnNldCl7dmFyIGc9Zi50LHY9Zy5wb2Zmc2V0LG09Zy5iYXJ3aWR0aCx5PUFycmF5LmlzQXJyYXkodikseD1BcnJheS5pc0FycmF5KG0pO2Zvcih1PTA7dTxoLmxlbmd0aDt1Kyspe289aFt1XTt2YXIgYj15P3ZbdV06dixfPXg/bVt1XTptO2M9KGw9by5wK2IpK18sZC5wdXNoKGwsYyl9fXAuX2V4dHJlbWVzW3QuX2lkXT1zLmZpbmRFeHRyZW1lcyh0LGQse3BhZGRlZDohMX0pfX1mdW5jdGlvbiB2KHQsZSl7Zm9yKHZhciByPWUudHJhY2VzLG49eCh0KSxhPTA7YTxyLmxlbmd0aDthKyspe2Zvcih2YXIgaT1yW2FdLG89aVswXS50cmFjZSxsPVtdLGM9ITAsdT0wO3U8aS5sZW5ndGg7dSsrKXt2YXIgaD1pW3VdLGY9aC5iLHA9ZitoLnM7aFtuXT1wLGwucHVzaChwKSxoLmhhc0ImJmwucHVzaChmKSxoLmhhc0ImJmguYj4wJiZoLnM+MHx8KGM9ITEpfW8uX2V4dHJlbWVzW3QuX2lkXT1zLmZpbmRFeHRyZW1lcyh0LGwse3RvemVybzohYyxwYWRkZWQ6ITB9KX19ZnVuY3Rpb24gbSh0KXtmb3IodmFyIGU9dC50cmFjZXMscj0wO3I8ZS5sZW5ndGg7cisrKWZvcih2YXIgbj1lW3JdLGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIG89blthXTtvLnMhPT1pJiZ0LnB1dChvLnAsby5iK28ucyl9fWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBhPWUudHJhY2VzLG89eCh0KSxsPSJmcmFjdGlvbiI9PT1yLm5vcm0/MToxMDAsYz1sLzFlOSx1PXQubDJjKHQuYzJsKDApKSxoPSJzdGFjayI9PT1yLm1vZGU/bDp1O2Z1bmN0aW9uIGYoZSl7cmV0dXJuIG4odC5jMmwoZSkpJiYoZTx1LWN8fGU+aCtjfHwhbih1KSl9Zm9yKHZhciBwPTA7cDxhLmxlbmd0aDtwKyspe2Zvcih2YXIgZD1hW3BdLGc9ZFswXS50cmFjZSx2PVtdLG09ITAseT0hMSxiPTA7YjxkLmxlbmd0aDtiKyspe3ZhciBfPWRbYl07aWYoXy5zIT09aSl7dmFyIHc9TWF0aC5hYnMobC9lLmdldChfLnAsXy5zKSk7Xy5iKj13LF8ucyo9dzt2YXIgaz1fLmIsVD1rK18ucztfW29dPVQsdi5wdXNoKFQpLHk9eXx8ZihUKSxfLmhhc0ImJih2LnB1c2goaykseT15fHxmKGspKSxfLmhhc0ImJl8uYj4wJiZfLnM+MHx8KG09ITEpfX1nLl9leHRyZW1lc1t0Ll9pZF09cy5maW5kRXh0cmVtZXModCx2LHt0b3plcm86IW0scGFkZGVkOnl9KX19ZnVuY3Rpb24geCh0KXtyZXR1cm4gdC5faWQuY2hhckF0KDApfWUuZXhwb3J0cz17Y3Jvc3NUcmFjZUNhbGM6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZS54YXhpcyxuPWUueWF4aXMsYT10Ll9mdWxsTGF5b3V0LGk9dC5fZnVsbERhdGEscz10LmNhbGNkYXRhLGw9W10sYz1bXSxoPTA7aDxpLmxlbmd0aDtoKyspe3ZhciBmPWlbaF07ITA9PT1mLnZpc2libGUmJm8udHJhY2VJcyhmLCJiYXIiKSYmZi54YXhpcz09PXIuX2lkJiZmLnlheGlzPT09bi5faWQmJigiaCI9PT1mLm9yaWVudGF0aW9uP2wucHVzaChzW2hdKTpjLnB1c2goc1toXSkpfXZhciBwPXttb2RlOmEuYmFybW9kZSxub3JtOmEuYmFybm9ybSxnYXA6YS5iYXJnYXAsZ3JvdXBnYXA6YS5iYXJncm91cGdhcH07dSh0LHIsbixjLHApLHUodCxuLHIsbCxwKX0sc2V0R3JvdXBQb3NpdGlvbnM6dX19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vc2lldmUuanMiOjg2OSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDg2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxpPXQoIi4uLy4uL3JlZ2lzdHJ5Iiksbz10KCIuLi9zY2F0dGVyL3h5X2RlZmF1bHRzIikscz10KCIuL3N0eWxlX2RlZmF1bHRzIiksbD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKS5nZXRBeGlzR3JvdXAsYz10KCIuL2F0dHJpYnV0ZXMiKSx1PW4uY29lcmNlRm9udDtmdW5jdGlvbiBoKHQsZSxyLG4pe3ZhciBhPWUub3JpZW50YXRpb24saT1lW3t2OiJ4IixoOiJ5In1bYV0rImF4aXMiXSxvPWwocixpKSthLHM9ci5fYWxpZ25tZW50T3B0c3x8e30sYz1uKCJhbGlnbm1lbnRncm91cCIpLHU9c1tvXTt1fHwodT1zW29dPXt9KTt2YXIgaD11W2NdO2g/aC50cmFjZXMucHVzaChlKTpoPXVbY109e3RyYWNlczpbZV0sYWxpZ25tZW50SW5kZXg6T2JqZWN0LmtleXModSkubGVuZ3RoLG9mZnNldEdyb3Vwczp7fX07dmFyIGY9bigib2Zmc2V0Z3JvdXAiKSxwPWgub2Zmc2V0R3JvdXBzLGQ9cFtmXTtmJiYoZHx8KGQ9cFtmXT17b2Zmc2V0SW5kZXg6T2JqZWN0LmtleXMocCkubGVuZ3RofSksZS5fb2Zmc2V0SW5kZXg9ZC5vZmZzZXRJbmRleCl9ZnVuY3Rpb24gZih0LGUscixhLGksbyl7dmFyIHM9ISghMT09PShvPW98fHt9KS5tb2R1bGVIYXNTZWxlY3RlZCksbD0hKCExPT09by5tb2R1bGVIYXNVbnNlbGVjdGVkKSxjPSEoITE9PT1vLm1vZHVsZUhhc0NvbnN0cmFpbiksaD0hKCExPT09by5tb2R1bGVIYXNDbGlwb25heGlzKSxmPSEoITE9PT1vLm1vZHVsZUhhc1RleHRhbmdsZSkscD0hKCExPT09by5tb2R1bGVIYXNJbnNpZGVhbmNob3IpLGQ9ISFvLmhhc1BhdGhiYXIsZz1BcnJheS5pc0FycmF5KGkpfHwiYXV0byI9PT1pLHY9Z3x8Imluc2lkZSI9PT1pLG09Z3x8Im91dHNpZGUiPT09aTtpZih2fHxtKXt2YXIgeT11KGEsInRleHRmb250IixyLmZvbnQpLHg9bi5leHRlbmRGbGF0KHt9LHkpLGI9ISh0LnRleHRmb250JiZ0LnRleHRmb250LmNvbG9yKTtpZihiJiZkZWxldGUgeC5jb2xvcix1KGEsImluc2lkZXRleHRmb250Iix4KSxkKXt2YXIgXz1uLmV4dGVuZEZsYXQoe30seSk7YiYmZGVsZXRlIF8uY29sb3IsdShhLCJwYXRoYmFyLnRleHRmb250IixfKX1tJiZ1KGEsIm91dHNpZGV0ZXh0Zm9udCIseSkscyYmYSgic2VsZWN0ZWQudGV4dGZvbnQuY29sb3IiKSxsJiZhKCJ1bnNlbGVjdGVkLnRleHRmb250LmNvbG9yIiksYyYmYSgiY29uc3RyYWludGV4dCIpLGgmJmEoImNsaXBvbmF4aXMiKSxmJiZhKCJ0ZXh0YW5nbGUiKSxhKCJ0ZXh0dGVtcGxhdGUiKX12JiZwJiZhKCJpbnNpZGV0ZXh0YW5jaG9yIil9ZS5leHBvcnRzPXtzdXBwbHlEZWZhdWx0czpmdW5jdGlvbih0LGUscixsKXtmdW5jdGlvbiB1KHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxjLHIsYSl9aWYobyh0LGUsbCx1KSl7dSgib3JpZW50YXRpb24iLGUueCYmIWUueT8iaCI6InYiKSx1KCJiYXNlIiksdSgib2Zmc2V0IiksdSgid2lkdGgiKSx1KCJ0ZXh0IiksdSgiaG92ZXJ0ZXh0IiksdSgiaG92ZXJ0ZW1wbGF0ZSIpO3ZhciBoPXUoInRleHRwb3NpdGlvbiIpO2YodCwwLGwsdSxoLHttb2R1bGVIYXNTZWxlY3RlZDohMCxtb2R1bGVIYXNVbnNlbGVjdGVkOiEwLG1vZHVsZUhhc0NvbnN0cmFpbjohMCxtb2R1bGVIYXNDbGlwb25heGlzOiEwLG1vZHVsZUhhc1RleHRhbmdsZTohMCxtb2R1bGVIYXNJbnNpZGVhbmNob3I6ITB9KSxzKHQsZSx1LHIsbCk7dmFyIHA9KGUubWFya2VyLmxpbmV8fHt9KS5jb2xvcixkPWkuZ2V0Q29tcG9uZW50TWV0aG9kKCJlcnJvcmJhcnMiLCJzdXBwbHlEZWZhdWx0cyIpO2QodCxlLHB8fGEuZGVmYXVsdExpbmUse2F4aXM6InkifSksZCh0LGUscHx8YS5kZWZhdWx0TGluZSx7YXhpczoieCIsaW5oZXJpdDoieSJ9KSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSx1KX1lbHNlIGUudmlzaWJsZT0hMX0sY3Jvc3NUcmFjZURlZmF1bHRzOmZ1bmN0aW9uKHQsZSl7dmFyIHI7ZnVuY3Rpb24gYSh0KXtyZXR1cm4gbi5jb2VyY2Uoci5faW5wdXQscixjLHQpfWlmKCJncm91cCI9PT1lLmJhcm1vZGUpZm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspImJhciI9PT0ocj10W2ldKS50eXBlJiYoci5faW5wdXQsaCgwLHIsZSxhKSl9LGhhbmRsZUdyb3VwaW5nRGVmYXVsdHM6aCxoYW5kbGVUZXh0OmZ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyI6NzY4LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9zY2F0dGVyL3h5X2RlZmF1bHRzIjoxMTQ2LCIuL2F0dHJpYnV0ZXMiOjg1NiwiLi9zdHlsZV9kZWZhdWx0cyI6ODcxfV0sODYxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQueD0ieFZhbCJpbiBlP2UueFZhbDplLngsdC55PSJ5VmFsImluIGU/ZS55VmFsOmUueSxlLnhhJiYodC54YXhpcz1lLnhhKSxlLnlhJiYodC55YXhpcz1lLnlhKSwiaCI9PT1yLm9yaWVudGF0aW9uPyh0LmxhYmVsPXQueSx0LnZhbHVlPXQueCk6KHQubGFiZWw9dC54LHQudmFsdWU9dC55KSx0fX0se31dLDg2MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgidGlueWNvbG9yMiIpLGk9dCgiLi4vLi4vbGliIikuaXNBcnJheU9yVHlwZWRBcnJheTtyLmNvZXJjZVN0cmluZz1mdW5jdGlvbih0LGUscil7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZihlfHwhdC5ub0JsYW5rKXJldHVybiBlfWVsc2UgaWYoKCJudW1iZXIiPT10eXBlb2YgZXx8ITA9PT1lKSYmIXQuc3RyaWN0KXJldHVybiBTdHJpbmcoZSk7cmV0dXJuIHZvaWQgMCE9PXI/cjp0LmRmbHR9LHIuY29lcmNlTnVtYmVyPWZ1bmN0aW9uKHQsZSxyKXtpZihuKGUpKXtlPStlO3ZhciBhPXQubWluLGk9dC5tYXg7aWYoISh2b2lkIDAhPT1hJiZlPGF8fHZvaWQgMCE9PWkmJmU+aSkpcmV0dXJuIGV9cmV0dXJuIHZvaWQgMCE9PXI/cjp0LmRmbHR9LHIuY29lcmNlQ29sb3I9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBhKGUpLmlzVmFsaWQoKT9lOnZvaWQgMCE9PXI/cjp0LmRmbHR9LHIuY29lcmNlRW51bWVyYXRlZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQuY29lcmNlTnVtYmVyJiYoZT0rZSksLTEhPT10LnZhbHVlcy5pbmRleE9mKGUpP2U6dm9pZCAwIT09cj9yOnQuZGZsdH0sci5nZXRWYWx1ZT1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiBBcnJheS5pc0FycmF5KHQpP2U8dC5sZW5ndGgmJihyPXRbZV0pOnI9dCxyfSxyLmdldExpbmVXaWR0aD1mdW5jdGlvbih0LGUpe3JldHVybiAwPGUubWx3P2UubWx3OmkodC5tYXJrZXIubGluZS53aWR0aCk/MDp0Lm1hcmtlci5saW5lLndpZHRofX0seyIuLi8uLi9saWIiOjcxNywiZmFzdC1pc251bWVyaWMiOjIyOCx0aW55Y29sb3IyOjUzNn1dLDg2MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2Z4IiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLG89dCgiLi4vLi4vbGliIikuZmlsbFRleHQscz10KCIuL2hlbHBlcnMiKS5nZXRMaW5lV2lkdGgsbD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLmhvdmVyTGFiZWxUZXh0O2Z1bmN0aW9uIGModCxlLHIsYSl7dmFyIGkscyxjLHUsaCxmLHAsZD10LmNkLGc9ZFswXS50cmFjZSx2PWRbMF0udCxtPSJjbG9zZXN0Ij09PWEseT0id2F0ZXJmYWxsIj09PWcudHlwZSx4PXQubWF4SG92ZXJEaXN0YW5jZSxiPXQubWF4U3Bpa2VEaXN0YW5jZTtmdW5jdGlvbiBfKHQpe3JldHVybiB0W2NdLXQudy8yfWZ1bmN0aW9uIHcodCl7cmV0dXJuIHRbY10rdC53LzJ9dmFyIGs9bT9fOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1pbihfKHQpLHQucC12LmJhcmRlbHRhLzIpfSxUPW0/dzpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5tYXgodyh0KSx0LnArdi5iYXJkZWx0YS8yKX07ZnVuY3Rpb24gTSh0LGUpe3JldHVybiBuLmluYm94KHQtaSxlLWkseCtNYXRoLm1pbigxLE1hdGguYWJzKGUtdCkvcCktMSl9ZnVuY3Rpb24gQSh0KXtyZXR1cm4gTShrKHQpLFQodCkpfWZ1bmN0aW9uIFModCl7dmFyIGU9cyxyPXQuYixhPXRbdV07aWYoeSl7dmFyIGk9TWF0aC5hYnModC5yYXdTKXx8MDtlPjA/YSs9aTplPDAmJihhLT1pKX1yZXR1cm4gbi5pbmJveChyLWUsYS1lLHgrKGEtZSkvKGEtciktMSl9ImgiPT09Zy5vcmllbnRhdGlvbj8oaT1yLHM9ZSxjPSJ5Iix1PSJ4IixoPVMsZj1BKTooaT1lLHM9cixjPSJ4Iix1PSJ5IixmPVMsaD1BKTt2YXIgRT10W2MrImEiXSxMPXRbdSsiYSJdO3A9TWF0aC5hYnMoRS5yMmMoRS5yYW5nZVsxXSktRS5yMmMoRS5yYW5nZVswXSkpO3ZhciBDPW4uZ2V0RGlzdGFuY2VGdW5jdGlvbihhLGgsZixmdW5jdGlvbih0KXtyZXR1cm4oaCh0KStmKHQpKS8yfSk7aWYobi5nZXRDbG9zZXN0KGQsQyx0KSwhMSE9PXQuaW5kZXgpe218fChrPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1pbihfKHQpLHQucC12LmJhcmdyb3Vwd2lkdGgvMil9LFQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KHcodCksdC5wK3YuYmFyZ3JvdXB3aWR0aC8yKX0pO3ZhciBQPWRbdC5pbmRleF0sTz1nLmJhc2U/UC5iK1AuczpQLnM7dFt1KyIwIl09dFt1KyIxIl09TC5jMnAoUFt1XSwhMCksdFt1KyJMYWJlbFZhbCJdPU87dmFyIHo9di5leHRlbnRzW3YuZXh0ZW50cy5yb3VuZChQLnApXTtyZXR1cm4gdFtjKyIwIl09RS5jMnAobT9rKFApOnpbMF0sITApLHRbYysiMSJdPUUuYzJwKG0/VChQKTp6WzFdLCEwKSx0W2MrIkxhYmVsVmFsIl09UC5wLHQubGFiZWxMYWJlbD1sKEUsdFtjKyJMYWJlbFZhbCJdKSx0LnZhbHVlTGFiZWw9bChMLHRbdSsiTGFiZWxWYWwiXSksdC5zcGlrZURpc3RhbmNlPShTKFApK2Z1bmN0aW9uKHQpe3JldHVybiBNKF8odCksdyh0KSl9KFApKS8yK2IteCx0W2MrIlNwaWtlIl09RS5jMnAoUC5wLCEwKSxvKFAsZyx0KSx0LmhvdmVydGVtcGxhdGU9Zy5ob3ZlcnRlbXBsYXRlLHR9fWZ1bmN0aW9uIHUodCxlKXt2YXIgcj1lLm1jY3x8dC5tYXJrZXIuY29sb3Isbj1lLm1sY2N8fHQubWFya2VyLmxpbmUuY29sb3IsYT1zKHQsZSk7cmV0dXJuIGkub3BhY2l0eShyKT9yOmkub3BhY2l0eShuKSYmYT9uOnZvaWQgMH1lLmV4cG9ydHM9e2hvdmVyUG9pbnRzOmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPWModCxlLHIsbik7aWYoaSl7dmFyIG89aS5jZCxzPW9bMF0udHJhY2UsbD1vW2kuaW5kZXhdO3JldHVybiBpLmNvbG9yPXUocyxsKSxhLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwiaG92ZXJJbmZvIikobCxzLGkpLFtpXX19LGhvdmVyT25CYXJzOmMsZ2V0VHJhY2VDb2xvcjp1fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vaGVscGVycyI6ODYyfV0sODY0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuc3VwcGx5RGVmYXVsdHMsY3Jvc3NUcmFjZURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKS5jcm9zc1RyYWNlRGVmYXVsdHMsc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLGNyb3NzVHJhY2VDYWxjOnQoIi4vY3Jvc3NfdHJhY2VfY2FsYyIpLmNyb3NzVHJhY2VDYWxjLGNvbG9yYmFyOnQoIi4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIiksYXJyYXlzVG9DYWxjZGF0YTp0KCIuL2FycmF5c190b19jYWxjZGF0YSIpLHBsb3Q6dCgiLi9wbG90IikucGxvdCxzdHlsZTp0KCIuL3N0eWxlIikuc3R5bGUsc3R5bGVPblNlbGVjdDp0KCIuL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIikuaG92ZXJQb2ludHMsZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLHNlbGVjdFBvaW50czp0KCIuL3NlbGVjdCIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJiYXIiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGNhdGVnb3JpZXM6WyJiYXItbGlrZSIsImNhcnRlc2lhbiIsInN2ZyIsImJhciIsIm9yaWVudGVkIiwiZXJyb3JCYXJzT0siLCJzaG93TGVnZW5kIiwiem9vbVNjYWxlIl0sYW5pbWF0YWJsZTohMCxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4vYXJyYXlzX3RvX2NhbGNkYXRhIjo4NTUsIi4vYXR0cmlidXRlcyI6ODU2LCIuL2NhbGMiOjg1NywiLi9jcm9zc190cmFjZV9jYWxjIjo4NTksIi4vZGVmYXVsdHMiOjg2MCwiLi9ldmVudF9kYXRhIjo4NjEsIi4vaG92ZXIiOjg2MywiLi9sYXlvdXRfYXR0cmlidXRlcyI6ODY1LCIuL2xheW91dF9kZWZhdWx0cyI6ODY2LCIuL3Bsb3QiOjg2NywiLi9zZWxlY3QiOjg2OCwiLi9zdHlsZSI6ODcwfV0sODY1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YmFybW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsic3RhY2siLCJncm91cCIsIm92ZXJsYXkiLCJyZWxhdGl2ZSJdLGRmbHQ6Imdyb3VwIixlZGl0VHlwZToiY2FsYyJ9LGJhcm5vcm06e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbIiIsImZyYWN0aW9uIiwicGVyY2VudCJdLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxiYXJnYXA6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZWRpdFR5cGU6ImNhbGMifSxiYXJncm91cGdhcDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifX19LHt9XSw4NjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksaT10KCIuLi8uLi9saWIiKSxvPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIHMocixuKXtyZXR1cm4gaS5jb2VyY2UodCxlLG8scixuKX1mb3IodmFyIGw9ITEsYz0hMSx1PSExLGg9e30sZj1zKCJiYXJtb2RlIikscD0wO3A8ci5sZW5ndGg7cCsrKXt2YXIgZD1yW3BdO2lmKG4udHJhY2VJcyhkLCJiYXIiKSYmZC52aXNpYmxlKXtpZihsPSEwLCJncm91cCI9PT1mKXt2YXIgZz1kLnhheGlzK2QueWF4aXM7aFtnXSYmKHU9ITApLGhbZ109ITB9aWYoZC52aXNpYmxlJiYiaGlzdG9ncmFtIj09PWQudHlwZSkiY2F0ZWdvcnkiIT09YS5nZXRGcm9tSWQoe19mdWxsTGF5b3V0OmV9LGRbInYiPT09ZC5vcmllbnRhdGlvbj8ieGF4aXMiOiJ5YXhpcyJdKS50eXBlJiYoYz0hMCl9fWw/KCJvdmVybGF5IiE9PWYmJnMoImJhcm5vcm0iKSxzKCJiYXJnYXAiLGMmJiF1PzA6LjIpLHMoImJhcmdyb3VwZ2FwIikpOmRlbGV0ZSBlLmJhcm1vZGV9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo4NjV9XSw4Njc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoImZhc3QtaXNudW1lcmljIiksaT10KCIuLi8uLi9saWIiKSxvPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpLHM9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGw9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksYz10KCIuLi8uLi9yZWdpc3RyeSIpLHU9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKS50aWNrVGV4dCxoPXQoIi4vdW5pZm9ybV90ZXh0IiksZj1oLnJlY29yZE1pblRleHRTaXplLHA9aC5jbGVhck1pblRleHRTaXplLGQ9dCgiLi9zdHlsZSIpLGc9dCgiLi9oZWxwZXJzIiksdj10KCIuL2NvbnN0YW50cyIpLG09dCgiLi9hdHRyaWJ1dGVzIikseT1tLnRleHQseD1tLnRleHRwb3NpdGlvbixiPXQoIi4uLy4uL2NvbXBvbmVudHMvZngvaGVscGVycyIpLmFwcGVuZEFycmF5UG9pbnRWYWx1ZSxfPXYuVEVYVFBBRDtmdW5jdGlvbiB3KHQpe3JldHVybiB0LmlkfWZ1bmN0aW9uIGsodCl7aWYodC5pZHMpcmV0dXJuIHd9ZnVuY3Rpb24gVCh0LGUpe3JldHVybiB0PGU/MTotMX1mdW5jdGlvbiBNKHQsZSxyLG4pe3ZhciBhO3JldHVybiFlLnVuaWZvcm10ZXh0Lm1vZGUmJkEocik/KG4mJihhPW4oKSksdC50cmFuc2l0aW9uKCkuZHVyYXRpb24oci5kdXJhdGlvbikuZWFzZShyLmVhc2luZykuZWFjaCgiZW5kIixmdW5jdGlvbigpe2EmJmEoKX0pLmVhY2goImludGVycnVwdCIsZnVuY3Rpb24oKXthJiZhKCl9KSk6dH1mdW5jdGlvbiBBKHQpe3JldHVybiB0JiZ0LmR1cmF0aW9uPjB9ZnVuY3Rpb24gUyh0KXtyZXR1cm4iYXV0byI9PT10PzA6dH1mdW5jdGlvbiBFKHQsZSl7dmFyIHI9TWF0aC5QSS8xODAqZSxuPU1hdGguYWJzKE1hdGguc2luKHIpKSxhPU1hdGguYWJzKE1hdGguY29zKHIpKTtyZXR1cm57eDp0LndpZHRoKmErdC5oZWlnaHQqbix5OnQud2lkdGgqbit0LmhlaWdodCphfX1mdW5jdGlvbiBMKHQsZSxyLG4sYSxpKXt2YXIgbz0hIWkuaXNIb3Jpem9udGFsLHM9ISFpLmNvbnN0cmFpbmVkLGw9aS5hbmdsZXx8MCxjPWkuYW5jaG9yfHwiZW5kIix1PSJlbmQiPT09YyxoPSJzdGFydCI9PT1jLGY9KChpLmxlZnRUb1JpZ2h0fHwwKSsxKS8yLHA9MS1mLGQ9YS53aWR0aCxnPWEuaGVpZ2h0LHY9TWF0aC5hYnMoZS10KSxtPU1hdGguYWJzKG4tcikseT12PjIqXyYmbT4yKl8/XzowO3YtPTIqeSxtLT0yKnk7dmFyIHg9UyhsKTsiYXV0byIhPT1sfHxkPD12JiZnPD1tfHwhKGQ+dnx8Zz5tKXx8KGQ+bXx8Zz52KSYmZDxnPT12PG18fCh4Kz05MCk7dmFyIGI9RShhLHgpLHc9MTtzJiYodz1NYXRoLm1pbigxLHYvYi54LG0vYi55KSk7dmFyIGs9YS5sZWZ0KnArYS5yaWdodCpmLE09KGEudG9wK2EuYm90dG9tKS8yLEE9KHQrXykqcCsoZS1fKSpmLEw9KHIrbikvMixDPTAsUD0wO2lmKGh8fHUpe3ZhciBPPShvP2IueDpiLnkpLzIsej1vP1QodCxlKTpUKHIsbik7bz9oPyhBPXQreip5LEM9LXoqTyk6KEE9ZS16KnksQz16Kk8pOmg/KEw9cit6KnksUD0teipPKTooTD1uLXoqeSxQPXoqTyl9cmV0dXJue3RleHRYOmssdGV4dFk6TSx0YXJnZXRYOkEsdGFyZ2V0WTpMLGFuY2hvclg6QyxhbmNob3JZOlAsc2NhbGU6dyxyb3RhdGU6eH19ZS5leHBvcnRzPXtwbG90OmZ1bmN0aW9uKHQsZSxyLGgsdixtKXt2YXIgdz1lLnhheGlzLEM9ZS55YXhpcyxQPXQuX2Z1bGxMYXlvdXQ7dnx8KHY9e21vZGU6UC5iYXJtb2RlLG5vcm06UC5iYXJtb2RlLGdhcDpQLmJhcmdhcCxncm91cGdhcDpQLmJhcmdyb3VwZ2FwfSxwKCJiYXIiLFApKTt2YXIgTz1pLm1ha2VUcmFjZUdyb3VwcyhoLHIsInRyYWNlIGJhcnMiKS5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBjPW4uc2VsZWN0KHRoaXMpLGg9clswXS50cmFjZSxwPSJ3YXRlcmZhbGwiPT09aC50eXBlLE89ImZ1bm5lbCI9PT1oLnR5cGUsej0iYmFyIj09PWgudHlwZXx8TyxJPTA7cCYmaC5jb25uZWN0b3IudmlzaWJsZSYmImJldHdlZW4iPT09aC5jb25uZWN0b3IubW9kZSYmKEk9aC5jb25uZWN0b3IubGluZS53aWR0aC8yKTt2YXIgRD0iaCI9PT1oLm9yaWVudGF0aW9uLFI9aS5lbnN1cmVTaW5nbGUoYywiZyIsInBvaW50cyIpLEY9ayhoKSxCPVIuc2VsZWN0QWxsKCJnLnBvaW50IikuZGF0YShpLmlkZW50aXR5LEYpO0IuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJwb2ludCIsITApLEIuZXhpdCgpLnJlbW92ZSgpLEIuZWFjaChmdW5jdGlvbihjLHApe3ZhciBrPW4uc2VsZWN0KHRoaXMpLE89ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9W10saT1bXSxvPW4/ZTpyLHM9bj9yOmU7cmV0dXJuIGFbMF09by5jMnAodC5zMCwhMCksaVswXT1zLmMycCh0LnAwLCEwKSxhWzFdPW8uYzJwKHQuczEsITApLGlbMV09cy5jMnAodC5wMSwhMCksbj9bYSxpXTpbaSxhXX0oYyx3LEMsRCksUj1PWzBdWzBdLEY9T1swXVsxXSxCPU9bMV1bMF0sTj1PWzFdWzFdLGo9IShSIT09RiYmQiE9PU4mJmEoUikmJmEoRikmJmEoQikmJmEoTikpO2omJnomJmcuZ2V0TGluZVdpZHRoKGgsYykmJihEP0YtUj09MDpOLUI9PTApJiYoaj0hMSksYy5pc0JsYW5rPWosaiYmRCYmKEY9UiksaiYmIUQmJihOPUIpO3ZhciBWLFUscT1EJiZSIT09RixIPSFEJiZCIT09TjtpZihJJiYhaiYmKEQ/KFItPVQoUixGKSpJLEYrPVQoUixGKSpJKTooQi09VChCLE4pKkksTis9VChCLE4pKkkpKSwid2F0ZXJmYWxsIj09PWgudHlwZSl7aWYoIWope3ZhciBHPWhbYy5kaXJdLm1hcmtlcjtWPUcubGluZS53aWR0aCxVPUcuY29sb3J9fWVsc2UgVj1nLmdldExpbmVXaWR0aChoLGMpLFU9Yy5tY3x8aC5tYXJrZXIuY29sb3I7dmFyIFk9bi5yb3VuZChWLzIlMSwyKTtmdW5jdGlvbiBXKHQpe3JldHVybiAwPT09di5nYXAmJjA9PT12Lmdyb3VwZ2FwP24ucm91bmQoTWF0aC5yb3VuZCh0KS1ZLDIpOnR9aWYoIXQuX2NvbnRleHQuc3RhdGljUGxvdCl7dmFyIFg9cy5vcGFjaXR5KFUpPDF8fFY+LjAxP1c6ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5hYnModC1lKT49Mj9XKHQpOnQ+ZT9NYXRoLmNlaWwodCk6TWF0aC5mbG9vcih0KX07cSYmKFI9WChSLEYpLEY9WChGLFIpKSxIJiYoQj1YKEIsTiksTj1YKE4sQikpfXZhciBaPU0oaS5lbnN1cmVTaW5nbGUoaywicGF0aCIpLFAsdixtKTtpZihaLnN0eWxlKCJ2ZWN0b3ItZWZmZWN0Iiwibm9uLXNjYWxpbmctc3Ryb2tlIikuYXR0cigiZCIsIk0iK1IrIiwiK0IrIlYiK04rIkgiK0YrIlYiK0IrIloiKS5jYWxsKGwuc2V0Q2xpcFVybCxlLmxheWVyQ2xpcElkLHQpLCFQLnVuaWZvcm10ZXh0Lm1vZGUmJkEodikpe3ZhciBKPWwubWFrZVBvaW50U3R5bGVGbnMoaCk7bC5zaW5nbGVQb2ludFN0eWxlKGMsWixoLEosdCl9IWZ1bmN0aW9uKHQsZSxyLG4sYSxzLGMsaCxwLHYsbSl7dmFyIHcsaz1lLnhheGlzLEE9ZS55YXhpcyxDPXQuX2Z1bGxMYXlvdXQ7ZnVuY3Rpb24gUChlLHIsbil7dmFyIGE9aS5lbnN1cmVTaW5nbGUoZSwidGV4dCIpLnRleHQocikuYXR0cih7Y2xhc3M6ImJhcnRleHQgYmFydGV4dC0iK3csInRleHQtYW5jaG9yIjoibWlkZGxlIiwiZGF0YS1ub3RleCI6MX0pLmNhbGwobC5mb250LG4pLmNhbGwoby5jb252ZXJ0VG9Uc3BhbnMsdCk7cmV0dXJuIGF9dmFyIE89blswXS50cmFjZSx6PSJoIj09PU8ub3JpZW50YXRpb24sST1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBvLHM9ZVswXS50cmFjZTtyZXR1cm4gbz1zLnRleHR0ZW1wbGF0ZT9mdW5jdGlvbih0LGUscixuLGEpe3ZhciBvPWVbMF0udHJhY2Uscz1pLmNhc3RPcHRpb24obyxyLCJ0ZXh0dGVtcGxhdGUiKTtpZighcylyZXR1cm4iIjt2YXIgbCxjLGgsZixwPSJ3YXRlcmZhbGwiPT09by50eXBlLGQ9ImZ1bm5lbCI9PT1vLnR5cGU7ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdShmLCt0LCEwKS50ZXh0fSJoIj09PW8ub3JpZW50YXRpb24/KGw9InkiLGM9YSxoPSJ4IixmPW4pOihsPSJ4IixjPW4saD0ieSIsZj1hKTt2YXIgdixtPWVbcl0seT17fTt5LmxhYmVsPW0ucCx5LmxhYmVsTGFiZWw9eVtsKyJMYWJlbCJdPSh2PW0ucCx1KGMsdiwhMCkudGV4dCk7dmFyIHg9aS5jYXN0T3B0aW9uKG8sbS5pLCJ0ZXh0Iik7KDA9PT14fHx4KSYmKHkudGV4dD14KSx5LnZhbHVlPW0ucyx5LnZhbHVlTGFiZWw9eVtoKyJMYWJlbCJdPWcobS5zKTt2YXIgXz17fTtiKF8sbyxtLmkpLHAmJih5LmRlbHRhPSttLnJhd1N8fG0ucyx5LmRlbHRhTGFiZWw9Zyh5LmRlbHRhKSx5LmZpbmFsPW0udix5LmZpbmFsTGFiZWw9Zyh5LmZpbmFsKSx5LmluaXRpYWw9eS5maW5hbC15LmRlbHRhLHkuaW5pdGlhbExhYmVsPWcoeS5pbml0aWFsKSksZCYmKHkudmFsdWU9bS5zLHkudmFsdWVMYWJlbD1nKHkudmFsdWUpLHkucGVyY2VudEluaXRpYWw9bS5iZWdSLHkucGVyY2VudEluaXRpYWxMYWJlbD1pLmZvcm1hdFBlcmNlbnQobS5iZWdSKSx5LnBlcmNlbnRQcmV2aW91cz1tLmRpZlIseS5wZXJjZW50UHJldmlvdXNMYWJlbD1pLmZvcm1hdFBlcmNlbnQobS5kaWZSKSx5LnBlcmNlbnRUb3RhbD1tLnN1bVIseS5wZXJjZW5Ub3RhbExhYmVsPWkuZm9ybWF0UGVyY2VudChtLnN1bVIpKTt2YXIgdz1pLmNhc3RPcHRpb24obyxtLmksImN1c3RvbWRhdGEiKTtyZXR1cm4gdyYmKHkuY3VzdG9tZGF0YT13KSxpLnRleHR0ZW1wbGF0ZVN0cmluZyhzLHksdC5fZDNsb2NhbGUsXyx5LG8uX21ldGF8fHt9KX0odCxlLHIsbixhKTpzLnRleHRpbmZvP2Z1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRbMF0udHJhY2Usbz0iaCI9PT1hLm9yaWVudGF0aW9uLHM9IndhdGVyZmFsbCI9PT1hLnR5cGUsbD0iZnVubmVsIj09PWEudHlwZTtmdW5jdGlvbiBjKHQpe3ZhciBlPW8/cjpuO3JldHVybiB1KGUsK3QsITApLnRleHR9dmFyIGgsZixwPWEudGV4dGluZm8sZD10W2VdLGc9cC5zcGxpdCgiKyIpLHY9W10sbT1mdW5jdGlvbih0KXtyZXR1cm4tMSE9PWcuaW5kZXhPZih0KX07aWYobSgibGFiZWwiKSYmdi5wdXNoKChmPXRbZV0ucCx1KG8/bjpyLGYsITApLnRleHQpKSxtKCJ0ZXh0IikmJigwPT09KGg9aS5jYXN0T3B0aW9uKGEsZC5pLCJ0ZXh0IikpfHxoKSYmdi5wdXNoKGgpLHMpe3ZhciB5PStkLnJhd1N8fGQucyx4PWQudixiPXgteTttKCJpbml0aWFsIikmJnYucHVzaChjKGIpKSxtKCJkZWx0YSIpJiZ2LnB1c2goYyh5KSksbSgiZmluYWwiKSYmdi5wdXNoKGMoeCkpfWlmKGwpe20oInZhbHVlIikmJnYucHVzaChjKGQucykpO3ZhciBfPTA7bSgicGVyY2VudCBpbml0aWFsIikmJl8rKyxtKCJwZXJjZW50IHByZXZpb3VzIikmJl8rKyxtKCJwZXJjZW50IHRvdGFsIikmJl8rKzt2YXIgdz1fPjE7bSgicGVyY2VudCBpbml0aWFsIikmJihoPWkuZm9ybWF0UGVyY2VudChkLmJlZ1IpLHcmJihoKz0iIG9mIGluaXRpYWwiKSx2LnB1c2goaCkpLG0oInBlcmNlbnQgcHJldmlvdXMiKSYmKGg9aS5mb3JtYXRQZXJjZW50KGQuZGlmUiksdyYmKGgrPSIgb2YgcHJldmlvdXMiKSx2LnB1c2goaCkpLG0oInBlcmNlbnQgdG90YWwiKSYmKGg9aS5mb3JtYXRQZXJjZW50KGQuc3VtUiksdyYmKGgrPSIgb2YgdG90YWwiKSx2LnB1c2goaCkpfXJldHVybiB2LmpvaW4oIjxicj4iKX0oZSxyLG4sYSk6Zy5nZXRWYWx1ZShzLnRleHQsciksZy5jb2VyY2VTdHJpbmcoeSxvKX0oQyxuLGEsayxBKTt3PWZ1bmN0aW9uKHQsZSl7dmFyIHI9Zy5nZXRWYWx1ZSh0LnRleHRwb3NpdGlvbixlKTtyZXR1cm4gZy5jb2VyY2VFbnVtZXJhdGVkKHgscil9KE8sYSk7dmFyIEQ9InN0YWNrIj09PXYubW9kZXx8InJlbGF0aXZlIj09PXYubW9kZSxSPW5bYV0sRj0hRHx8Ui5fb3V0bW9zdDtpZihJJiYibm9uZSIhPT13JiYoIVIuaXNCbGFuayYmcyE9PWMmJmghPT1wfHwiYXV0byIhPT13JiYiaW5zaWRlIiE9PXcpKXt2YXIgQj1DLmZvbnQsTj1kLmdldEJhckNvbG9yKG5bYV0sTyksaj1kLmdldEluc2lkZVRleHRGb250KE8sYSxCLE4pLFY9ZC5nZXRPdXRzaWRlVGV4dEZvbnQoTyxhLEIpLFU9ci5kYXR1bSgpO3o/ImxvZyI9PT1rLnR5cGUmJlUuczA8PTAmJihzPWsucmFuZ2VbMF08ay5yYW5nZVsxXT8wOmsuX2xlbmd0aCk6ImxvZyI9PT1BLnR5cGUmJlUuczA8PTAmJihoPUEucmFuZ2VbMF08QS5yYW5nZVsxXT9BLl9sZW5ndGg6MCk7dmFyIHEsSCxHLFksVyxYPU1hdGguYWJzKGMtcyktMipfLFo9TWF0aC5hYnMocC1oKS0yKl87aWYoIm91dHNpZGUiPT09dyYmKEZ8fFIuaGFzQnx8KHc9Imluc2lkZSIpKSwiYXV0byI9PT13KWlmKEYpe3c9Imluc2lkZSIsVz1pLmVuc3VyZVVuaWZvcm1Gb250U2l6ZSh0LGopLHE9UChyLEksVyksSD1sLmJCb3gocS5ub2RlKCkpLEc9SC53aWR0aCxZPUguaGVpZ2h0O3ZhciBKPUc+MCYmWT4wLEs9Rzw9WCYmWTw9WixRPUc8PVomJlk8PVgsJD16P1g+PUcqKFovWSk6Wj49WSooWC9HKTtKJiYoS3x8UXx8JCk/dz0iaW5zaWRlIjoodz0ib3V0c2lkZSIscS5yZW1vdmUoKSxxPW51bGwpfWVsc2Ugdz0iaW5zaWRlIjtpZighcSl7Vz1pLmVuc3VyZVVuaWZvcm1Gb250U2l6ZSh0LCJvdXRzaWRlIj09PXc/VjpqKTt2YXIgdHQ9KHE9UChyLEksVykpLmF0dHIoInRyYW5zZm9ybSIpO2lmKHEuYXR0cigidHJhbnNmb3JtIiwiIiksSD1sLmJCb3gocS5ub2RlKCkpLEc9SC53aWR0aCxZPUguaGVpZ2h0LHEuYXR0cigidHJhbnNmb3JtIix0dCksRzw9MHx8WTw9MClyZXR1cm4gdm9pZCBxLnJlbW92ZSgpfXZhciBldCxydCxudD1PLnRleHRhbmdsZTsib3V0c2lkZSI9PT13PyhydD0iYm90aCI9PT1PLmNvbnN0cmFpbnRleHR8fCJvdXRzaWRlIj09PU8uY29uc3RyYWludGV4dCxldD1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG8scz0hIWkuaXNIb3Jpem9udGFsLGw9ISFpLmNvbnN0cmFpbmVkLGM9aS5hbmdsZXx8MCx1PWEud2lkdGgsaD1hLmhlaWdodCxmPU1hdGguYWJzKGUtdCkscD1NYXRoLmFicyhuLXIpO289cz9wPjIqXz9fOjA6Zj4yKl8/XzowO3ZhciBkPTE7bCYmKGQ9cz9NYXRoLm1pbigxLHAvaCk6TWF0aC5taW4oMSxmL3UpKTt2YXIgZz1TKGMpLHY9RShhLGcpLG09KHM/di54OnYueSkvMix5PShhLmxlZnQrYS5yaWdodCkvMix4PShhLnRvcCthLmJvdHRvbSkvMixiPSh0K2UpLzIsdz0ocituKS8yLGs9MCxNPTAsQT1zP1QoZSx0KTpUKHIsbik7cmV0dXJuIHM/KGI9ZS1BKm8saz1BKm0pOih3PW4rQSpvLE09LUEqbSkse3RleHRYOnksdGV4dFk6eCx0YXJnZXRYOmIsdGFyZ2V0WTp3LGFuY2hvclg6ayxhbmNob3JZOk0sc2NhbGU6ZCxyb3RhdGU6Z319KHMsYyxoLHAsSCx7aXNIb3Jpem9udGFsOnosY29uc3RyYWluZWQ6cnQsYW5nbGU6bnR9KSk6KHJ0PSJib3RoIj09PU8uY29uc3RyYWludGV4dHx8Imluc2lkZSI9PT1PLmNvbnN0cmFpbnRleHQsZXQ9TChzLGMsaCxwLEgse2lzSG9yaXpvbnRhbDp6LGNvbnN0cmFpbmVkOnJ0LGFuZ2xlOm50LGFuY2hvcjpPLmluc2lkZXRleHRhbmNob3J9KSksZXQuZm9udFNpemU9Vy5zaXplLGYoTy50eXBlLGV0LEMpLFIudHJhbnNmb3JtPWV0LE0ocSxDLHYsbSkuYXR0cigidHJhbnNmb3JtIixpLmdldFRleHRUcmFuc2Zvcm0oZXQpKX1lbHNlIHIuc2VsZWN0KCJ0ZXh0IikucmVtb3ZlKCl9KHQsZSxrLHIscCxSLEYsQixOLHYsbSksZS5sYXllckNsaXBJZCYmbC5oaWRlT3V0c2lkZVJhbmdlUG9pbnQoYyxrLnNlbGVjdCgidGV4dCIpLHcsQyxoLnhjYWxlbmRhcixoLnljYWxlbmRhcil9KTt2YXIgTj0hMT09PWguY2xpcG9uYXhpcztsLnNldENsaXBVcmwoYyxOP251bGw6ZS5sYXllckNsaXBJZCx0KX0pO2MuZ2V0Q29tcG9uZW50TWV0aG9kKCJlcnJvcmJhcnMiLCJwbG90IikodCxPLGUsdil9LHRvTW92ZUluc2lkZUJhcjpMfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9jb21wb25lbnRzL2Z4L2hlbHBlcnMiOjYyNywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2F0dHJpYnV0ZXMiOjg1NiwiLi9jb25zdGFudHMiOjg1OCwiLi9oZWxwZXJzIjo4NjIsIi4vc3R5bGUiOjg3MCwiLi91bmlmb3JtX3RleHQiOjg3MixkMzoxNjUsImZhc3QtaXNudW1lcmljIjoyMjh9XSw4Njg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUscixuLGEpe3ZhciBpPWUuYzJwKG4/dC5zMDp0LnAwLCEwKSxvPWUuYzJwKG4/dC5zMTp0LnAxLCEwKSxzPXIuYzJwKG4/dC5wMDp0LnMwLCEwKSxsPXIuYzJwKG4/dC5wMTp0LnMxLCEwKTtyZXR1cm4gYT9bKGkrbykvMiwocytsKS8yXTpuP1tvLChzK2wpLzJdOlsoaStvKS8yLGxdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGE9dC5jZCxpPXQueGF4aXMsbz10LnlheGlzLHM9YVswXS50cmFjZSxsPSJmdW5uZWwiPT09cy50eXBlLGM9ImgiPT09cy5vcmllbnRhdGlvbix1PVtdO2lmKCExPT09ZSlmb3Iocj0wO3I8YS5sZW5ndGg7cisrKWFbcl0uc2VsZWN0ZWQ9MDtlbHNlIGZvcihyPTA7cjxhLmxlbmd0aDtyKyspe3ZhciBoPWFbcl0sZj0iY3QiaW4gaD9oLmN0Om4oaCxpLG8sYyxsKTtlLmNvbnRhaW5zKGYsITEscix0KT8odS5wdXNoKHtwb2ludE51bWJlcjpyLHg6aS5jMmQoaC54KSx5Om8uYzJkKGgueSl9KSxoLnNlbGVjdGVkPTEpOmguc2VsZWN0ZWQ9MH1yZXR1cm4gdX19LHt9XSw4Njk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWk7dmFyIG49dCgiLi4vLi4vbGliIikuZGlzdGluY3RWYWxzLGE9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTTtmdW5jdGlvbiBpKHQsZSl7dGhpcy50cmFjZXM9dCx0aGlzLnNlcE5lZ1ZhbD1lLnNlcE5lZ1ZhbCx0aGlzLm92ZXJsYXBOb01lcmdlPWUub3ZlcmxhcE5vTWVyZ2U7Zm9yKHZhciByPTEvMCxpPVtdLG89MDtvPHQubGVuZ3RoO28rKyl7Zm9yKHZhciBzPXRbb10sbD0wO2w8cy5sZW5ndGg7bCsrKXt2YXIgYz1zW2xdO2MucCE9PWEmJmkucHVzaChjLnApfXNbMF0mJnNbMF0ud2lkdGgxJiYocj1NYXRoLm1pbihzWzBdLndpZHRoMSxyKSl9dGhpcy5wb3NpdGlvbnM9aTt2YXIgdT1uKGkpO3RoaXMuZGlzdGluY3RQb3NpdGlvbnM9dS52YWxzLDE9PT11LnZhbHMubGVuZ3RoJiZyIT09MS8wP3RoaXMubWluRGlmZj1yOnRoaXMubWluRGlmZj1NYXRoLm1pbih1Lm1pbkRpZmYsciksdGhpcy5iaW5XaWR0aD10aGlzLm1pbkRpZmYsdGhpcy5iaW5zPXt9fWkucHJvdG90eXBlLnB1dD1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuZ2V0TGFiZWwodCxlKSxuPXRoaXMuYmluc1tyXXx8MDtyZXR1cm4gdGhpcy5iaW5zW3JdPW4rZSxufSxpLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmdldExhYmVsKHQsZSk7cmV0dXJuIHRoaXMuYmluc1tyXXx8MH0saS5wcm90b3R5cGUuZ2V0TGFiZWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4oZTwwJiZ0aGlzLnNlcE5lZ1ZhbD8idiI6Il4iKSsodGhpcy5vdmVybGFwTm9NZXJnZT90Ok1hdGgucm91bmQodC90aGlzLmJpbldpZHRoKSl9fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTd9XSw4NzA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLG89dCgiLi4vLi4vbGliIikscz10KCIuLi8uLi9yZWdpc3RyeSIpLGw9dCgiLi91bmlmb3JtX3RleHQiKS5yZXNpemVUZXh0LGM9dCgiLi9hdHRyaWJ1dGVzIiksdT1jLnRleHRmb250LGg9Yy5pbnNpZGV0ZXh0Zm9udCxmPWMub3V0c2lkZXRleHRmb250LHA9dCgiLi9oZWxwZXJzIik7ZnVuY3Rpb24gZCh0LGUscil7aS5wb2ludFN0eWxlKHQuc2VsZWN0QWxsKCJwYXRoIiksZSxyKSxnKHQsZSxyKX1mdW5jdGlvbiBnKHQsZSxyKXt0LnNlbGVjdEFsbCgidGV4dCIpLmVhY2goZnVuY3Rpb24odCl7dmFyIGE9bi5zZWxlY3QodGhpcykscz1vLmVuc3VyZVVuaWZvcm1Gb250U2l6ZShyLHYoYSx0LGUscikpO2kuZm9udChhLHMpfSl9ZnVuY3Rpb24gdih0LGUscixuKXt2YXIgYT1uLl9mdWxsTGF5b3V0LmZvbnQsaT1yLnRleHRmb250O2lmKHQuY2xhc3NlZCgiYmFydGV4dC1pbnNpZGUiKSl7dmFyIG89XyhlLHIpO2k9eShyLGUuaSxhLG8pfWVsc2UgdC5jbGFzc2VkKCJiYXJ0ZXh0LW91dHNpZGUiKSYmKGk9eChyLGUuaSxhKSk7cmV0dXJuIGl9ZnVuY3Rpb24gbSh0LGUscil7cmV0dXJuIGIodSx0LnRleHRmb250LGUscil9ZnVuY3Rpb24geSh0LGUscixuKXt2YXIgaT1tKHQsZSxyKTtyZXR1cm4odm9pZCAwPT09dC5faW5wdXQudGV4dGZvbnR8fHZvaWQgMD09PXQuX2lucHV0LnRleHRmb250LmNvbG9yfHxBcnJheS5pc0FycmF5KHQudGV4dGZvbnQuY29sb3IpJiZ2b2lkIDA9PT10LnRleHRmb250LmNvbG9yW2VdKSYmKGk9e2NvbG9yOmEuY29udHJhc3QobiksZmFtaWx5OmkuZmFtaWx5LHNpemU6aS5zaXplfSksYihoLHQuaW5zaWRldGV4dGZvbnQsZSxpKX1mdW5jdGlvbiB4KHQsZSxyKXt2YXIgbj1tKHQsZSxyKTtyZXR1cm4gYihmLHQub3V0c2lkZXRleHRmb250LGUsbil9ZnVuY3Rpb24gYih0LGUscixuKXtlPWV8fHt9O3ZhciBhPXAuZ2V0VmFsdWUoZS5mYW1pbHksciksaT1wLmdldFZhbHVlKGUuc2l6ZSxyKSxvPXAuZ2V0VmFsdWUoZS5jb2xvcixyKTtyZXR1cm57ZmFtaWx5OnAuY29lcmNlU3RyaW5nKHQuZmFtaWx5LGEsbi5mYW1pbHkpLHNpemU6cC5jb2VyY2VOdW1iZXIodC5zaXplLGksbi5zaXplKSxjb2xvcjpwLmNvZXJjZUNvbG9yKHQuY29sb3IsbyxuLmNvbG9yKX19ZnVuY3Rpb24gXyh0LGUpe3JldHVybiJ3YXRlcmZhbGwiPT09ZS50eXBlP2VbdC5kaXJdLm1hcmtlci5jb2xvcjp0Lm1jfHxlLm1hcmtlci5jb2xvcn1lLmV4cG9ydHM9e3N0eWxlOmZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHQpLnNlbGVjdEFsbCgiZy5iYXJsYXllciIpLnNlbGVjdEFsbCgiZy50cmFjZSIpO2wodCxlLCJiYXIiKTt2YXIgcj1lLnNpemUoKSxhPXQuX2Z1bGxMYXlvdXQ7ZS5zdHlsZSgib3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0udHJhY2Uub3BhY2l0eX0pLmVhY2goZnVuY3Rpb24odCl7KCJzdGFjayI9PT1hLmJhcm1vZGUmJnI+MXx8MD09PWEuYmFyZ2FwJiYwPT09YS5iYXJncm91cGdhcCYmIXRbMF0udHJhY2UubWFya2VyLmxpbmUud2lkdGgpJiZuLnNlbGVjdCh0aGlzKS5hdHRyKCJzaGFwZS1yZW5kZXJpbmciLCJjcmlzcEVkZ2VzIil9KSxlLnNlbGVjdEFsbCgiZy5wb2ludHMiKS5lYWNoKGZ1bmN0aW9uKGUpe2Qobi5zZWxlY3QodGhpcyksZVswXS50cmFjZSx0KX0pLHMuZ2V0Q29tcG9uZW50TWV0aG9kKCJlcnJvcmJhcnMiLCJzdHlsZSIpKGUpfSxzdHlsZVRleHRQb2ludHM6ZyxzdHlsZU9uU2VsZWN0OmZ1bmN0aW9uKHQsZSxyKXt2YXIgYT1lWzBdLnRyYWNlO2Euc2VsZWN0ZWRwb2ludHM/ZnVuY3Rpb24odCxlLHIpe2kuc2VsZWN0ZWRQb2ludFN0eWxlKHQuc2VsZWN0QWxsKCJwYXRoIiksZSksZnVuY3Rpb24odCxlLHIpe3QuZWFjaChmdW5jdGlvbih0KXt2YXIgYSxzPW4uc2VsZWN0KHRoaXMpO2lmKHQuc2VsZWN0ZWQpe2E9by5lbnN1cmVVbmlmb3JtRm9udFNpemUocix2KHMsdCxlLHIpKTt2YXIgbD1lLnNlbGVjdGVkLnRleHRmb250JiZlLnNlbGVjdGVkLnRleHRmb250LmNvbG9yO2wmJihhLmNvbG9yPWwpLGkuZm9udChzLGEpfWVsc2UgaS5zZWxlY3RlZFRleHRTdHlsZShzLGUpfSl9KHQuc2VsZWN0QWxsKCJ0ZXh0IiksZSxyKX0ocixhLHQpOihkKHIsYSx0KSxzLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwic3R5bGUiKShyKSl9LGdldEluc2lkZVRleHRGb250OnksZ2V0T3V0c2lkZVRleHRGb250OngsZ2V0QmFyQ29sb3I6XyxyZXNpemVUZXh0Omx9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2F0dHJpYnV0ZXMiOjg1NiwiLi9oZWxwZXJzIjo4NjIsIi4vdW5pZm9ybV90ZXh0Ijo4NzIsZDM6MTY1fV0sODcxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIikuaGFzQ29sb3JzY2FsZSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvLHMpe3IoIm1hcmtlci5jb2xvciIsbyksYSh0LCJtYXJrZXIiKSYmaSh0LGUscyxyLHtwcmVmaXg6Im1hcmtlci4iLGNMZXR0ZXI6ImMifSkscigibWFya2VyLmxpbmUuY29sb3IiLG4uZGVmYXVsdExpbmUpLGEodCwibWFya2VyLmxpbmUiKSYmaSh0LGUscyxyLHtwcmVmaXg6Im1hcmtlci5saW5lLiIsY0xldHRlcjoiYyJ9KSxyKCJtYXJrZXIubGluZS53aWR0aCIpLHIoIm1hcmtlci5vcGFjaXR5Iikscigic2VsZWN0ZWQubWFya2VyLmNvbG9yIikscigidW5zZWxlY3RlZC5tYXJrZXIuY29sb3IiKX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiOjYwMiwiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2hlbHBlcnMiOjYwM31dLDg3MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vbGliIik7ZnVuY3Rpb24gaSh0KXtyZXR1cm4iXyIrdCsiVGV4dF9taW5zaXplIn1lLmV4cG9ydHM9e3JlY29yZE1pblRleHRTaXplOmZ1bmN0aW9uKHQsZSxyKXtpZihyLnVuaWZvcm10ZXh0Lm1vZGUpe3ZhciBuPWkodCksYT1yLnVuaWZvcm10ZXh0Lm1pbnNpemUsbz1lLnNjYWxlKmUuZm9udFNpemU7ZS5oaWRlPW88YSxyW25dPXJbbl18fDEvMCxlLmhpZGV8fChyW25dPU1hdGgubWluKHJbbl0sTWF0aC5tYXgobyxhKSkpfX0sY2xlYXJNaW5UZXh0U2l6ZTpmdW5jdGlvbih0LGUpe2VbaSh0KV09dm9pZCAwfSxyZXNpemVUZXh0OmZ1bmN0aW9uKHQsZSxyKXt2YXIgaT10Ll9mdWxsTGF5b3V0LG89aVsiXyIrcisiVGV4dF9taW5zaXplIl07aWYobyl7dmFyIHMsbD0iaGlkZSI9PT1pLnVuaWZvcm10ZXh0Lm1vZGU7c3dpdGNoKHIpe2Nhc2UiZnVubmVsYXJlYSI6Y2FzZSJwaWUiOmNhc2Uic3VuYnVyc3QiOnM9Imcuc2xpY2UiO2JyZWFrO2Nhc2UidHJlZW1hcCI6cz0iZy5zbGljZSwgZy5wYXRoYmFyIjticmVhaztkZWZhdWx0OnM9ImcucG9pbnRzID4gZy5wb2ludCJ9ZS5zZWxlY3RBbGwocykuZWFjaChmdW5jdGlvbih0KXt2YXIgZT10LnRyYW5zZm9ybTtlJiYoZS5zY2FsZT1sJiZlLmhpZGU/MDpvL2UuZm9udFNpemUsbi5zZWxlY3QodGhpcykuc2VsZWN0KCJ0ZXh0IikuYXR0cigidHJhbnNmb3JtIixhLmdldFRleHRUcmFuc2Zvcm0oZSkpKX0pfX19fSx7Ii4uLy4uL2xpYiI6NzE3LGQzOjE2NX1dLDg3MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGE9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsaT10KCIuLi9zY2F0dGVycG9sYXIvYXR0cmlidXRlcyIpLG89dCgiLi4vYmFyL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9e3I6aS5yLHRoZXRhOmkudGhldGEscjA6aS5yMCxkcjppLmRyLHRoZXRhMDppLnRoZXRhMCxkdGhldGE6aS5kdGhldGEsdGhldGF1bml0OmkudGhldGF1bml0LGJhc2U6YSh7fSxvLmJhc2Use30pLG9mZnNldDphKHt9LG8ub2Zmc2V0LHt9KSx3aWR0aDphKHt9LG8ud2lkdGgse30pLHRleHQ6YSh7fSxvLnRleHQse30pLGhvdmVydGV4dDphKHt9LG8uaG92ZXJ0ZXh0LHt9KSxtYXJrZXI6by5tYXJrZXIsaG92ZXJpbmZvOmkuaG92ZXJpbmZvLGhvdmVydGVtcGxhdGU6bigpLHNlbGVjdGVkOm8uc2VsZWN0ZWQsdW5zZWxlY3RlZDpvLnVuc2VsZWN0ZWR9fSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9iYXIvYXR0cmlidXRlcyI6ODU2LCIuLi9zY2F0dGVycG9sYXIvYXR0cmlidXRlcyI6MTE5M31dLDg3NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvaGVscGVycyIpLmhhc0NvbG9yc2NhbGUsYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyIpLGk9dCgiLi4vYmFyL2FycmF5c190b19jYWxjZGF0YSIpLG89dCgiLi4vYmFyL2Nyb3NzX3RyYWNlX2NhbGMiKS5zZXRHcm91cFBvc2l0aW9ucyxzPXQoIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iKSxsPXQoIi4uLy4uL3JlZ2lzdHJ5IikudHJhY2VJcyxjPXQoIi4uLy4uL2xpYiIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPXtjYWxjOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuX2Z1bGxMYXlvdXQsbz1lLnN1YnBsb3QsbD1yW29dLnJhZGlhbGF4aXMsYz1yW29dLmFuZ3VsYXJheGlzLHU9bC5tYWtlQ2FsY2RhdGEoZSwiciIpLGg9Yy5tYWtlQ2FsY2RhdGEoZSwidGhldGEiKSxmPWUuX2xlbmd0aCxwPW5ldyBBcnJheShmKSxkPXUsZz1oLHY9MDt2PGY7disrKXBbdl09e3A6Z1t2XSxzOmRbdl19O2Z1bmN0aW9uIG0odCl7dmFyIHI9ZVt0XTt2b2lkIDAhPT1yJiYoZVsiXyIrdF09QXJyYXkuaXNBcnJheShyKT9jLm1ha2VDYWxjZGF0YShlLHQpOmMuZDJjKHIsZS50aGV0YXVuaXQpKX1yZXR1cm4ibGluZWFyIj09PWMudHlwZSYmKG0oIndpZHRoIiksbSgib2Zmc2V0IikpLG4oZSwibWFya2VyIikmJmEodCxlLHt2YWxzOmUubWFya2VyLmNvbG9yLGNvbnRhaW5lclN0cjoibWFya2VyIixjTGV0dGVyOiJjIn0pLG4oZSwibWFya2VyLmxpbmUiKSYmYSh0LGUse3ZhbHM6ZS5tYXJrZXIubGluZS5jb2xvcixjb250YWluZXJTdHI6Im1hcmtlci5saW5lIixjTGV0dGVyOiJjIn0pLGkocCxlKSxzKHAsZSkscH0sY3Jvc3NUcmFjZUNhbGM6ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj10LmNhbGNkYXRhLGE9W10saT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgcz1uW2ldLHU9c1swXS50cmFjZTshMD09PXUudmlzaWJsZSYmbCh1LCJiYXIiKSYmdS5zdWJwbG90PT09ciYmYS5wdXNoKHMpfXZhciBoPWMoe30sZS5yYWRpYWxheGlzLHtfaWQ6IngifSksZj1lLmFuZ3VsYXJheGlzO28odCxmLGgsYSx7bW9kZTplLmJhcm1vZGUsbm9ybTplLmJhcm5vcm0sZ2FwOmUuYmFyZ2FwLGdyb3VwZ2FwOmUuYmFyZ3JvdXBnYXB9KX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIjo2MDAsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9iYXIvYXJyYXlzX3RvX2NhbGNkYXRhIjo4NTUsIi4uL2Jhci9jcm9zc190cmFjZV9jYWxjIjo4NTksIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iOjExMjJ9XSw4NzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVycG9sYXIvZGVmYXVsdHMiKS5oYW5kbGVSVGhldGFEZWZhdWx0cyxpPXQoIi4uL2Jhci9zdHlsZV9kZWZhdWx0cyIpLG89dCgiLi9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe2Z1bmN0aW9uIGwocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLG8scixhKX1hKHQsZSxzLGwpPyhsKCJ0aGV0YXVuaXQiKSxsKCJiYXNlIiksbCgib2Zmc2V0IiksbCgid2lkdGgiKSxsKCJ0ZXh0IiksbCgiaG92ZXJ0ZXh0IiksbCgiaG92ZXJ0ZW1wbGF0ZSIpLGkodCxlLGwscixzKSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSxsKSk6ZS52aXNpYmxlPSExfX0seyIuLi8uLi9saWIiOjcxNywiLi4vYmFyL3N0eWxlX2RlZmF1bHRzIjo4NzEsIi4uL3NjYXR0ZXJwb2xhci9kZWZhdWx0cyI6MTE5NSwiLi9hdHRyaWJ1dGVzIjo4NzN9XSw4NzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi9iYXIvaG92ZXIiKS5nZXRUcmFjZUNvbG9yLG89YS5maWxsVGV4dCxzPXQoIi4uL3NjYXR0ZXJwb2xhci9ob3ZlciIpLm1ha2VIb3ZlclBvaW50VGV4dCxsPXQoIi4uLy4uL3Bsb3RzL3BvbGFyL2hlbHBlcnMiKS5pc1B0SW5zaWRlUG9seWdvbjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBjPXQuY2QsdT1jWzBdLnRyYWNlLGg9dC5zdWJwbG90LGY9aC5yYWRpYWxBeGlzLHA9aC5hbmd1bGFyQXhpcyxkPWgudmFuZ2xlcyxnPWQ/bDphLmlzUHRJbnNpZGVTZWN0b3Isdj10Lm1heEhvdmVyRGlzdGFuY2UsbT1wLl9wZXJpb2R8fDIqTWF0aC5QSSx5PU1hdGguYWJzKGYuZzJwKE1hdGguc3FydChlKmUrcipyKSkpLHg9TWF0aC5hdGFuMihyLGUpO2YucmFuZ2VbMF0+Zi5yYW5nZVsxXSYmKHgrPU1hdGguUEkpO2lmKG4uZ2V0Q2xvc2VzdChjLGZ1bmN0aW9uKHQpe3JldHVybiBnKHkseCxbdC5ycDAsdC5ycDFdLFt0LnRoZXRhZzAsdC50aGV0YWcxXSxkKT92K01hdGgubWluKDEsTWF0aC5hYnModC50aGV0YWcxLXQudGhldGFnMCkvbSktMSsodC5ycDEteSkvKHQucnAxLXQucnAwKS0xOjEvMH0sdCksITEhPT10LmluZGV4KXt2YXIgYj1jW3QuaW5kZXhdO3QueDA9dC54MT1iLmN0WzBdLHQueTA9dC55MT1iLmN0WzFdO3ZhciBfPWEuZXh0ZW5kRmxhdCh7fSxiLHtyOmIucyx0aGV0YTpiLnB9KTtyZXR1cm4gbyhiLHUsdCkscyhfLHUsaCx0KSx0LmhvdmVydGVtcGxhdGU9dS5ob3ZlcnRlbXBsYXRlLHQuY29sb3I9aSh1LGIpLHQueExhYmVsVmFsPXQueUxhYmVsVmFsPXZvaWQgMCxiLnM8MCYmKHQuaWRlYWxBbGlnbj0ibGVmdCIpLFt0XX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL3BvbGFyL2hlbHBlcnMiOjgyOCwiLi4vYmFyL2hvdmVyIjo4NjMsIi4uL3NjYXR0ZXJwb2xhci9ob3ZlciI6MTE5N31dLDg3NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJiYXJwb2xhciIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvcG9sYXIiKSxjYXRlZ29yaWVzOlsicG9sYXIiLCJiYXIiLCJzaG93TGVnZW5kIl0sYXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLmNhbGMsY3Jvc3NUcmFjZUNhbGM6dCgiLi9jYWxjIikuY3Jvc3NUcmFjZUNhbGMscGxvdDp0KCIuL3Bsb3QiKSxjb2xvcmJhcjp0KCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciIpLGZvcm1hdExhYmVsczp0KCIuLi9zY2F0dGVycG9sYXIvZm9ybWF0X2xhYmVscyIpLHN0eWxlOnQoIi4uL2Jhci9zdHlsZSIpLnN0eWxlLHN0eWxlT25TZWxlY3Q6dCgiLi4vYmFyL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksc2VsZWN0UG9pbnRzOnQoIi4uL2Jhci9zZWxlY3QiKSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9wb2xhciI6ODI5LCIuLi9iYXIvc2VsZWN0Ijo4NjgsIi4uL2Jhci9zdHlsZSI6ODcwLCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciI6MTEzOCwiLi4vc2NhdHRlcnBvbGFyL2Zvcm1hdF9sYWJlbHMiOjExOTYsIi4vYXR0cmlidXRlcyI6ODczLCIuL2NhbGMiOjg3NCwiLi9kZWZhdWx0cyI6ODc1LCIuL2hvdmVyIjo4NzYsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjg3OCwiLi9sYXlvdXRfZGVmYXVsdHMiOjg3OSwiLi9wbG90Ijo4ODB9XSw4Nzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtiYXJtb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJzdGFjayIsIm92ZXJsYXkiXSxkZmx0OiJzdGFjayIsZWRpdFR5cGU6ImNhbGMifSxiYXJnYXA6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDouMSxtaW46MCxtYXg6MSxlZGl0VHlwZToiY2FsYyJ9fX0se31dLDg3OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBpLG89e307ZnVuY3Rpb24gcyhyLG8pe3JldHVybiBuLmNvZXJjZSh0W2ldfHx7fSxlW2ldLGEscixvKX1mb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGM9cltsXTsiYmFycG9sYXIiPT09Yy50eXBlJiYhMD09PWMudmlzaWJsZSYmKG9baT1jLnN1YnBsb3RdfHwocygiYmFybW9kZSIpLHMoImJhcmdhcCIpLG9baV09MSkpfX19LHsiLi4vLi4vbGliIjo3MTcsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjg3OH1dLDg4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIikscz10KCIuLi8uLi9wbG90cy9wb2xhci9oZWxwZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbD1lLnhheGlzLGM9ZS55YXhpcyx1PWUucmFkaWFsQXhpcyxoPWUuYW5ndWxhckF4aXMsZj1mdW5jdGlvbih0KXt2YXIgZT10LmN4eCxyPXQuY3l5O2lmKHQudmFuZ2xlcylyZXR1cm4gZnVuY3Rpb24obixhLG8sbCl7dmFyIGMsdTtpLmFuZ2xlRGVsdGEobyxsKT4wPyhjPW8sdT1sKTooYz1sLHU9byk7dmFyIGg9cy5maW5kRW5jbG9zaW5nVmVydGV4QW5nbGVzKGMsdC52YW5nbGVzKVswXSxmPXMuZmluZEVuY2xvc2luZ1ZlcnRleEFuZ2xlcyh1LHQudmFuZ2xlcylbMV0scD1baCwoYyt1KS8yLGZdO3JldHVybiBzLnBhdGhQb2x5Z29uQW5udWx1cyhuLGEsYyx1LHAsZSxyKX07cmV0dXJuIGZ1bmN0aW9uKHQsbixhLG8pe3JldHVybiBpLnBhdGhBbm51bHVzKHQsbixhLG8sZSxyKX19KGUpLHA9ZS5sYXllcnMuZnJvbnRwbG90LnNlbGVjdCgiZy5iYXJsYXllciIpO2kubWFrZVRyYWNlR3JvdXBzKHAsciwidHJhY2UgYmFycyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxzPWkuZW5zdXJlU2luZ2xlKHIsImciLCJwb2ludHMiKS5zZWxlY3RBbGwoImcucG9pbnQiKS5kYXRhKGkuaWRlbnRpdHkpO3MuZW50ZXIoKS5hcHBlbmQoImciKS5zdHlsZSgidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpLnN0eWxlKCJzdHJva2UtbWl0ZXJsaW1pdCIsMikuY2xhc3NlZCgicG9pbnQiLCEwKSxzLmV4aXQoKS5yZW1vdmUoKSxzLmVhY2goZnVuY3Rpb24odCl7dmFyIGUscj1uLnNlbGVjdCh0aGlzKSxvPXQucnAwPXUuYzJwKHQuczApLHM9dC5ycDE9dS5jMnAodC5zMSkscD10LnRoZXRhZzA9aC5jMmcodC5wMCksZD10LnRoZXRhZzE9aC5jMmcodC5wMSk7aWYoYShvKSYmYShzKSYmYShwKSYmYShkKSYmbyE9PXMmJnAhPT1kKXt2YXIgZz11LmMyZyh0LnMxKSx2PShwK2QpLzI7dC5jdD1bbC5jMnAoZypNYXRoLmNvcyh2KSksYy5jMnAoZypNYXRoLnNpbih2KSldLGU9ZihvLHMscCxkKX1lbHNlIGU9Ik0wLDBaIjtpLmVuc3VyZVNpbmdsZShyLCJwYXRoIikuYXR0cigiZCIsZSl9KSxvLnNldENsaXBVcmwocixlLl9oYXNDbGlwT25BeGlzRmFsc2U/ZS5jbGlwSWRzLmZvclRyYWNlczpudWxsLHQpfSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvcG9sYXIvaGVscGVycyI6ODI4LGQzOjE2NSwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDg4MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiKSxhPXQoIi4uL2Jhci9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMscz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxsPW4ubWFya2VyLGM9bC5saW5lO2UuZXhwb3J0cz17eTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSx4Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHgwOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0seTA6e3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSxkeDp7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyJ9LGR5Ont2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJjYWxjIn0sbmFtZTp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHExOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LG1lZGlhbjp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSxxMzp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSxsb3dlcmZlbmNlOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHVwcGVyZmVuY2U6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sbm90Y2hlZDp7dmFsVHlwZToiYm9vbGVhbiIsZWRpdFR5cGU6ImNhbGMifSxub3RjaHdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDouNSxkZmx0Oi4yNSxlZGl0VHlwZToiY2FsYyJ9LG5vdGNoc3Bhbjp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxib3hwb2ludHM6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImFsbCIsIm91dGxpZXJzIiwic3VzcGVjdGVkb3V0bGllcnMiLCExXSxlZGl0VHlwZToiY2FsYyJ9LGppdHRlcjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZToiY2FsYyJ9LHBvaW50cG9zOnt2YWxUeXBlOiJudW1iZXIiLG1pbjotMixtYXg6MixlZGl0VHlwZToiY2FsYyJ9LGJveG1lYW46e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITAsInNkIiwhMV0sZWRpdFR5cGU6ImNhbGMifSxtZWFuOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHNkOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LG9yaWVudGF0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ2IiwiaCJdLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0scXVhcnRpbGVtZXRob2Q6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxpbmVhciIsImV4Y2x1c2l2ZSIsImluY2x1c2l2ZSJdLGRmbHQ6ImxpbmVhciIsZWRpdFR5cGU6ImNhbGMifSx3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxtYXJrZXI6e291dGxpZXJjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6InJnYmEoMCwgMCwgMCwgMCkiLGVkaXRUeXBlOiJzdHlsZSJ9LHN5bWJvbDpzKHt9LGwuc3ltYm9sLHthcnJheU9rOiExLGVkaXRUeXBlOiJwbG90In0pLG9wYWNpdHk6cyh7fSxsLm9wYWNpdHkse2FycmF5T2s6ITEsZGZsdDoxLGVkaXRUeXBlOiJzdHlsZSJ9KSxzaXplOnMoe30sbC5zaXplLHthcnJheU9rOiExLGVkaXRUeXBlOiJjYWxjIn0pLGNvbG9yOnMoe30sbC5jb2xvcix7YXJyYXlPazohMSxlZGl0VHlwZToic3R5bGUifSksbGluZTp7Y29sb3I6cyh7fSxjLmNvbG9yLHthcnJheU9rOiExLGRmbHQ6aS5kZWZhdWx0TGluZSxlZGl0VHlwZToic3R5bGUifSksd2lkdGg6cyh7fSxjLndpZHRoLHthcnJheU9rOiExLGRmbHQ6MCxlZGl0VHlwZToic3R5bGUifSksb3V0bGllcmNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sb3V0bGllcndpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MSxlZGl0VHlwZToic3R5bGUifSxlZGl0VHlwZToic3R5bGUifSxlZGl0VHlwZToicGxvdCJ9LGxpbmU6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoyLGVkaXRUeXBlOiJzdHlsZSJ9LGVkaXRUeXBlOiJwbG90In0sZmlsbGNvbG9yOm4uZmlsbGNvbG9yLHdoaXNrZXJ3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0Oi41LGVkaXRUeXBlOiJjYWxjIn0sb2Zmc2V0Z3JvdXA6YS5vZmZzZXRncm91cCxhbGlnbm1lbnRncm91cDphLmFsaWdubWVudGdyb3VwLHNlbGVjdGVkOnttYXJrZXI6bi5zZWxlY3RlZC5tYXJrZXIsZWRpdFR5cGU6InN0eWxlIn0sdW5zZWxlY3RlZDp7bWFya2VyOm4udW5zZWxlY3RlZC5tYXJrZXIsZWRpdFR5cGU6InN0eWxlIn0sdGV4dDpzKHt9LG4udGV4dCx7fSksaG92ZXJ0ZXh0OnMoe30sbi5ob3ZlcnRleHQse30pLGhvdmVydGVtcGxhdGU6byh7fSksaG92ZXJvbjp7dmFsVHlwZToiZmxhZ2xpc3QiLGZsYWdzOlsiYm94ZXMiLCJwb2ludHMiXSxkZmx0OiJib3hlcytwb2ludHMiLGVkaXRUeXBlOiJzdHlsZSJ9fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL2Jhci9hdHRyaWJ1dGVzIjo4NTYsIi4uL3NjYXR0ZXIvYXR0cmlidXRlcyI6MTEyMH1dLDg4MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTSxzPWkuXztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixsLG0seSx4LGIsXz10Ll9mdWxsTGF5b3V0LHc9YS5nZXRGcm9tSWQodCxlLnhheGlzfHwieCIpLGs9YS5nZXRGcm9tSWQodCxlLnlheGlzfHwieSIpLFQ9W10sTT0idmlvbGluIj09PWUudHlwZT8iX251bVZpb2xpbnMiOiJfbnVtQm94ZXMiOyJoIj09PWUub3JpZW50YXRpb24/KG09dyx5PSJ4Iix4PWssYj0ieSIpOihtPWsseT0ieSIseD13LGI9IngiKTt2YXIgQSxTLEUsTCxDLFAsTz1mdW5jdGlvbih0LGUscixhKXt2YXIgbyxzPWUrIjAiaW4gdCxsPSJkIitlIGluIHQ7aWYoZSBpbiB0fHxzJiZsKXJldHVybiByLm1ha2VDYWxjZGF0YSh0LGUpO289cz90W2UrIjAiXToibmFtZSJpbiB0JiYoImNhdGVnb3J5Ij09PXIudHlwZXx8bih0Lm5hbWUpJiYtMSE9PVsibGluZWFyIiwibG9nIl0uaW5kZXhPZihyLnR5cGUpfHxpLmlzRGF0ZVRpbWUodC5uYW1lKSYmImRhdGUiPT09ci50eXBlKT90Lm5hbWU6YTtmb3IodmFyIGM9Im11bHRpY2F0ZWdvcnkiPT09ci50eXBlP3IucjJjX2p1c3RfaW5kaWNlcyhvKTpyLmQyYyhvLDAsdFtlKyJjYWxlbmRhciJdKSx1PXQuX2xlbmd0aCxoPW5ldyBBcnJheSh1KSxmPTA7Zjx1O2YrKyloW2ZdPWM7cmV0dXJuIGh9KGUsYix4LF9bTV0pLHo9aS5kaXN0aW5jdFZhbHMoTyksST16LnZhbHMsRD16Lm1pbkRpZmYvMixSPSJhbGwiPT09KGUuYm94cG9pbnRzfHxlLnBvaW50cyk/aS5pZGVudGl0eTpmdW5jdGlvbih0KXtyZXR1cm4gdC52PEEubGZ8fHQudj5BLnVmfTtpZihlLl9oYXNQcmVDb21wU3RhdHMpe3ZhciBGPWVbeV0sQj1mdW5jdGlvbih0KXtyZXR1cm4gbS5kMmMoKGVbdF18fFtdKVtyXSl9LE49MS8wLGo9LTEvMDtmb3Iocj0wO3I8ZS5fbGVuZ3RoO3IrKyl7dmFyIFY9T1tyXTtpZihuKFYpKXtpZigoQT17fSkucG9zPUFbYl09VixBLnExPUIoInExIiksQS5tZWQ9QigibWVkaWFuIiksQS5xMz1CKCJxMyIpLFM9W10sRiYmaS5pc0FycmF5T3JUeXBlZEFycmF5KEZbcl0pKWZvcihsPTA7bDxGW3JdLmxlbmd0aDtsKyspKFA9bS5kMmMoRltyXVtsXSkpIT09byYmKGMoQz17djpQLGk6W3IsbF19LGUsW3IsbF0pLFMucHVzaChDKSk7aWYoQS5wdHM9Uy5zb3J0KHUpLEw9KEU9QVt5XT1TLm1hcChoKSkubGVuZ3RoLEEubWVkIT09byYmQS5xMSE9PW8mJkEucTMhPT1vJiZBLm1lZD49QS5xMSYmQS5xMz49QS5tZWQpe3ZhciBVPUIoImxvd2VyZmVuY2UiKTtBLmxmPVUhPT1vJiZVPD1BLnExP1U6ZihBLEUsTCk7dmFyIHE9QigidXBwZXJmZW5jZSIpO0EudWY9cSE9PW8mJnE+PUEucTM/cTpwKEEsRSxMKTt2YXIgSD1CKCJtZWFuIik7QS5tZWFuPUghPT1vP0g6TD9pLm1lYW4oRSxMKTooQS5xMStBLnEzKS8yO3ZhciBHPUIoInNkIik7QS5zZD1IIT09byYmRz49MD9HOkw/aS5zdGRldihFLEwsQS5tZWFuKTpBLnEzLUEucTEsQS5sbz1kKEEpLEEudW89ZyhBKTt2YXIgWT1CKCJub3RjaHNwYW4iKTtZPVkhPT1vJiZZPjA/WTp2KEEsTCksQS5sbj1BLm1lZC1ZLEEudW49QS5tZWQrWTt2YXIgVz1BLmxmLFg9QS51ZjtlLmJveHBvaW50cyYmRS5sZW5ndGgmJihXPU1hdGgubWluKFcsRVswXSksWD1NYXRoLm1heChYLEVbTC0xXSkpLGUubm90Y2hlZCYmKFc9TWF0aC5taW4oVyxBLmxuKSxYPU1hdGgubWF4KFgsQS51bikpLEEubWluPVcsQS5tYXg9WH1lbHNle3ZhciBaO2kud2FybihbIkludmFsaWQgaW5wdXQgLSBtYWtlIHN1cmUgdGhhdCBxMSA8PSBtZWRpYW4gPD0gcTMiLCJxMSA9ICIrQS5xMSwibWVkaWFuID0gIitBLm1lZCwicTMgPSAiK0EucTNdLmpvaW4oIlxuIikpLFo9QS5tZWQhPT1vP0EubWVkOkEucTEhPT1vP0EucTMhPT1vPyhBLnExK0EucTMpLzI6QS5xMTpBLnEzIT09bz9BLnEzOjAsQS5tZWQ9WixBLnExPUEucTM9WixBLmxmPUEudWY9WixBLm1lYW49QS5zZD1aLEEubG49QS51bj1aLEEubWluPUEubWF4PVp9Tj1NYXRoLm1pbihOLEEubWluKSxqPU1hdGgubWF4KGosQS5tYXgpLEEucHRzMj1TLmZpbHRlcihSKSxULnB1c2goQSl9fWUuX2V4dHJlbWVzW20uX2lkXT1hLmZpbmRFeHRyZW1lcyhtLFtOLGpdLHtwYWRkZWQ6ITB9KX1lbHNle3ZhciBKPW0ubWFrZUNhbGNkYXRhKGUseSksSz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxuPW5ldyBBcnJheShyKzEpLGE9MDthPHI7YSsrKW5bYV09dFthXS1lO3JldHVybiBuW3JdPXRbci0xXStlLG59KEksRCksUT1JLmxlbmd0aCwkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1bXTtyZXR1cm4gZX0oUSk7Zm9yKHI9MDtyPGUuX2xlbmd0aDtyKyspaWYoUD1KW3JdLG4oUCkpe3ZhciB0dD1pLmZpbmRCaW4oT1tyXSxLKTt0dD49MCYmdHQ8USYmKGMoQz17djpQLGk6cn0sZSxyKSwkW3R0XS5wdXNoKEMpKX12YXIgZXQ9MS8wLHJ0PS0xLzAsbnQ9ZS5xdWFydGlsZW1ldGhvZCxhdD0iZXhjbHVzaXZlIj09PW50LGl0PSJpbmNsdXNpdmUiPT09bnQ7Zm9yKHI9MDtyPFE7cisrKWlmKCRbcl0ubGVuZ3RoPjApe3ZhciBvdCxzdDtpZigoQT17fSkucG9zPUFbYl09SVtyXSxTPUEucHRzPSRbcl0uc29ydCh1KSxMPShFPUFbeV09Uy5tYXAoaCkpLmxlbmd0aCxBLm1pbj1FWzBdLEEubWF4PUVbTC0xXSxBLm1lYW49aS5tZWFuKEUsTCksQS5zZD1pLnN0ZGV2KEUsTCxBLm1lYW4pLEEubWVkPWkuaW50ZXJwKEUsLjUpLEwlMiYmKGF0fHxpdCkpYXQ/KG90PUUuc2xpY2UoMCxMLzIpLHN0PUUuc2xpY2UoTC8yKzEpKTppdCYmKG90PUUuc2xpY2UoMCxMLzIrMSksc3Q9RS5zbGljZShMLzIpKSxBLnExPWkuaW50ZXJwKG90LC41KSxBLnEzPWkuaW50ZXJwKHN0LC41KTtlbHNlIEEucTE9aS5pbnRlcnAoRSwuMjUpLEEucTM9aS5pbnRlcnAoRSwuNzUpO0EubGY9ZihBLEUsTCksQS51Zj1wKEEsRSxMKSxBLmxvPWQoQSksQS51bz1nKEEpO3ZhciBsdD12KEEsTCk7QS5sbj1BLm1lZC1sdCxBLnVuPUEubWVkK2x0LGV0PU1hdGgubWluKGV0LEEubG4pLHJ0PU1hdGgubWF4KHJ0LEEudW4pLEEucHRzMj1TLmZpbHRlcihSKSxULnB1c2goQSl9ZS5fZXh0cmVtZXNbbS5faWRdPWEuZmluZEV4dHJlbWVzKG0sZS5ub3RjaGVkP0ouY29uY2F0KFtldCxydF0pOkose3BhZGRlZDohMH0pfXJldHVybiBmdW5jdGlvbih0LGUpe2lmKGkuaXNBcnJheU9yVHlwZWRBcnJheShlLnNlbGVjdGVkcG9pbnRzKSlmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7Zm9yKHZhciBuPXRbcl0ucHRzfHxbXSxhPXt9LG89MDtvPG4ubGVuZ3RoO28rKylhW25bb10uaV09bztpLnRhZ1NlbGVjdGVkKG4sZSxhKX19KFQsZSksVC5sZW5ndGg+MD8oVFswXS50PXtudW06X1tNXSxkUG9zOkQscG9zTGV0dGVyOmIsdmFsTGV0dGVyOnksbGFiZWxzOnttZWQ6cyh0LCJtZWRpYW46IiksbWluOnModCwibWluOiIpLHExOnModCwicTE6IikscTM6cyh0LCJxMzoiKSxtYXg6cyh0LCJtYXg6IiksbWVhbjoic2QiPT09ZS5ib3htZWFuP3ModCwibWVhbiBceGIxIFx1MDNjMzoiKTpzKHQsIm1lYW46IiksbGY6cyh0LCJsb3dlciBmZW5jZToiKSx1ZjpzKHQsInVwcGVyIGZlbmNlOiIpfX0sX1tNXSsrLFQpOlt7dDp7ZW1wdHk6ITB9fV19O3ZhciBsPXt0ZXh0OiJ0eCIsaG92ZXJ0ZXh0OiJodHgifTtmdW5jdGlvbiBjKHQsZSxyKXtmb3IodmFyIG4gaW4gbClpLmlzQXJyYXlPclR5cGVkQXJyYXkoZVtuXSkmJihBcnJheS5pc0FycmF5KHIpP2kuaXNBcnJheU9yVHlwZWRBcnJheShlW25dW3JbMF1dKSYmKHRbbFtuXV09ZVtuXVtyWzBdXVtyWzFdXSk6dFtsW25dXT1lW25dW3JdKX1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIHQudi1lLnZ9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdC52fWZ1bmN0aW9uIGYodCxlLHIpe3JldHVybiAwPT09cj90LnExOk1hdGgubWluKHQucTEsZVtNYXRoLm1pbihpLmZpbmRCaW4oMi41KnQucTEtMS41KnQucTMsZSwhMCkrMSxyLTEpXSl9ZnVuY3Rpb24gcCh0LGUscil7cmV0dXJuIDA9PT1yP3QucTM6TWF0aC5tYXgodC5xMyxlW01hdGgubWF4KGkuZmluZEJpbigyLjUqdC5xMy0xLjUqdC5xMSxlKSwwKV0pfWZ1bmN0aW9uIGQodCl7cmV0dXJuIDQqdC5xMS0zKnQucTN9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gNCp0LnEzLTMqdC5xMX1mdW5jdGlvbiB2KHQsZSl7cmV0dXJuIDA9PT1lPzA6MS41NyoodC5xMy10LnExKS9NYXRoLnNxcnQoZSl9fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsImZhc3QtaXNudW1lcmljIjoyMjh9XSw4ODM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIikuZ2V0QXhpc0dyb3VwLG89WyJ2IiwiaCJdO2Z1bmN0aW9uIHModCxlLHIsbyl7dmFyIHMsbCxjLHU9ZS5jYWxjZGF0YSxoPWUuX2Z1bGxMYXlvdXQsZj1vLl9pZCxwPWYuY2hhckF0KDApLGQ9W10sZz0wO2ZvcihzPTA7czxyLmxlbmd0aDtzKyspZm9yKGM9dVtyW3NdXSxsPTA7bDxjLmxlbmd0aDtsKyspZC5wdXNoKG8uYzJsKGNbbF0ucG9zLCEwKSksZys9KGNbbF0ucHRzMnx8W10pLmxlbmd0aDtpZihkLmxlbmd0aCl7dmFyIHY9YS5kaXN0aW5jdFZhbHMoZCksbT12Lm1pbkRpZmYvMjtuLm1pbkR0aWNrKG8sdi5taW5EaWZmLHYudmFsc1swXSwhMCk7dmFyIHk9aFsidmlvbGluIj09PXQ/Il9udW1WaW9saW5zIjoiX251bUJveGVzIl0seD0iZ3JvdXAiPT09aFt0KyJtb2RlIl0mJnk+MSxiPTEtaFt0KyJnYXAiXSxfPTEtaFt0KyJncm91cGdhcCJdO2ZvcihzPTA7czxyLmxlbmd0aDtzKyspe3ZhciB3LGssVCxNLEEsUyxFPShjPXVbcltzXV0pWzBdLnRyYWNlLEw9Y1swXS50LEM9RS53aWR0aCxQPUUuc2lkZTtpZihDKXc9az1NPUMvMixUPTA7ZWxzZSBpZih3PW0seCl7dmFyIE89aShoLG8uX2lkKStFLm9yaWVudGF0aW9uLHo9KGguX2FsaWdubWVudE9wdHNbT118fHt9KVtFLmFsaWdubWVudGdyb3VwXXx8e30sST1PYmplY3Qua2V5cyh6Lm9mZnNldEdyb3Vwc3x8e30pLmxlbmd0aCxEPUl8fHk7az13KmIqXy9ELFQ9Mip3KigoKEk/RS5fb2Zmc2V0SW5kZXg6TC5udW0pKy41KS9ELS41KSpiLE09dypiL0R9ZWxzZSBrPXcqYipfLFQ9MCxNPXc7TC5kUG9zPXcsTC5iUG9zPVQsTC5iZFBvcz1rLEwud0hvdmVyPU07dmFyIFIsRixCLE4saixWLFU9VCtrLHE9Qm9vbGVhbihDKTtpZigicG9zaXRpdmUiPT09UD8oQT13KihDPzE6LjUpLFI9VSxTPVI9VCk6Im5lZ2F0aXZlIj09PVA/KEE9Uj1ULFM9dyooQz8xOi41KSxGPVUpOihBPVM9dyxSPUY9VSksKEUuYm94cG9pbnRzfHxFLnBvaW50cykmJmc+MCl7dmFyIEg9RS5wb2ludHBvcyxHPUUuaml0dGVyLFk9RS5tYXJrZXIuc2l6ZS8yLFc9MDtIK0c+PTAmJigoVz1VKihIK0cpKT5BPyhxPSEwLGo9WSxCPVcpOlc+UiYmKGo9WSxCPUEpKSxXPD1BJiYoQj1BKTt2YXIgWD0wO0gtRzw9MCYmKChYPS1VKihILUcpKT5TPyhxPSEwLFY9WSxOPVgpOlg+RiYmKFY9WSxOPVMpKSxYPD1TJiYoTj1TKX1lbHNlIEI9QSxOPVM7dmFyIFo9bmV3IEFycmF5KGMubGVuZ3RoKTtmb3IobD0wO2w8Yy5sZW5ndGg7bCsrKVpbbF09Y1tsXS5wb3M7RS5fZXh0cmVtZXNbZl09bi5maW5kRXh0cmVtZXMobyxaLHtwYWRkZWQ6cSx2cGFkbWludXM6Tix2cGFkcGx1czpCLHZwYWRMaW5lYXJpemVkOiEwLHBwYWRtaW51czp7eDpWLHk6an1bcF0scHBhZHBsdXM6e3g6aix5OlZ9W3BdfSl9fX1lLmV4cG9ydHM9e2Nyb3NzVHJhY2VDYWxjOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuY2FsY2RhdGEsbj1lLnhheGlzLGE9ZS55YXhpcyxpPTA7aTxvLmxlbmd0aDtpKyspe2Zvcih2YXIgbD1vW2ldLGM9ImgiPT09bD9hOm4sdT1bXSxoPTA7aDxyLmxlbmd0aDtoKyspe3ZhciBmPXJbaF0scD1mWzBdLnQsZD1mWzBdLnRyYWNlOyEwIT09ZC52aXNpYmxlfHwiYm94IiE9PWQudHlwZSYmImNhbmRsZXN0aWNrIiE9PWQudHlwZXx8cC5lbXB0eXx8KGQub3JpZW50YXRpb258fCJ2IikhPT1sfHxkLnhheGlzIT09bi5faWR8fGQueWF4aXMhPT1hLl9pZHx8dS5wdXNoKGgpfXMoImJveCIsdCx1LGMpfX0sc2V0UG9zaXRpb25PZmZzZXQ6c319LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyI6NzY4fV0sODg0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPXQoIi4uL2Jhci9kZWZhdWx0cyIpLmhhbmRsZUdyb3VwaW5nRGVmYXVsdHMscz10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19hdXRvdHlwZSIpLGw9dCgiLi9hdHRyaWJ1dGVzIik7ZnVuY3Rpb24gYyh0LGUscixpKXtmdW5jdGlvbiBvKHQpe3ZhciBlPTA7cmV0dXJuIHQmJnQubGVuZ3RoJiYoZSs9MSxuLmlzQXJyYXlPclR5cGVkQXJyYXkodFswXSkmJnRbMF0ubGVuZ3RoJiYoZSs9MSkpLGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gbi52YWxpZGF0ZSh0W2VdLGxbZV0pfXZhciB1LGg9cigieSIpLGY9cigieCIpO2lmKCJib3giPT09ZS50eXBlKXt2YXIgcD1yKCJxMSIpLGQ9cigibWVkaWFuIiksZz1yKCJxMyIpO2UuX2hhc1ByZUNvbXBTdGF0cz1wJiZwLmxlbmd0aCYmZCYmZC5sZW5ndGgmJmcmJmcubGVuZ3RoLHU9TWF0aC5taW4obi5taW5Sb3dMZW5ndGgocCksbi5taW5Sb3dMZW5ndGgoZCksbi5taW5Sb3dMZW5ndGgoZykpfXZhciB2LG0seT1vKGgpLHg9byhmKSxiPXkmJm4ubWluUm93TGVuZ3RoKGgpLF89eCYmbi5taW5Sb3dMZW5ndGgoZik7aWYoZS5faGFzUHJlQ29tcFN0YXRzKXN3aXRjaChTdHJpbmcoeCkrU3RyaW5nKHkpKXtjYXNlIjAwIjp2YXIgdz1jKCJ4MCIpfHxjKCJkeCIpO3Y9KGMoInkwIil8fGMoImR5IikpJiYhdz8iaCI6InYiLG09dTticmVhaztjYXNlIjEwIjp2PSJ2IixtPU1hdGgubWluKHUsXyk7YnJlYWs7Y2FzZSIyMCI6dj0iaCIsbT1NYXRoLm1pbih1LGYubGVuZ3RoKTticmVhaztjYXNlIjAxIjp2PSJoIixtPU1hdGgubWluKHUsYik7YnJlYWs7Y2FzZSIwMiI6dj0idiIsbT1NYXRoLm1pbih1LGgubGVuZ3RoKTticmVhaztjYXNlIjEyIjp2PSJ2IixtPU1hdGgubWluKHUsXyxoLmxlbmd0aCk7YnJlYWs7Y2FzZSIyMSI6dj0iaCIsbT1NYXRoLm1pbih1LGYubGVuZ3RoLGIpO2JyZWFrO2Nhc2UiMTEiOm09MDticmVhaztjYXNlIjIyIjp2YXIgayxUPSExO2ZvcihrPTA7azxmLmxlbmd0aDtrKyspaWYoImNhdGVnb3J5Ij09PXMoZltrXSkpe1Q9ITA7YnJlYWt9aWYoVCl2PSJ2IixtPU1hdGgubWluKHUsXyxoLmxlbmd0aCk7ZWxzZXtmb3Ioaz0wO2s8aC5sZW5ndGg7aysrKWlmKCJjYXRlZ29yeSI9PT1zKGhba10pKXtUPSEwO2JyZWFrfVQ/KHY9ImgiLG09TWF0aC5taW4odSxmLmxlbmd0aCxiKSk6KHY9InYiLG09TWF0aC5taW4odSxfLGgubGVuZ3RoKSl9fWVsc2UgeT4wPyh2PSJ2IixtPXg+MD9NYXRoLm1pbihfLGIpOk1hdGgubWluKGIpKTp4PjA/KHY9ImgiLG09TWF0aC5taW4oXykpOm09MDtpZihtKXtlLl9sZW5ndGg9bTt2YXIgTT1yKCJvcmllbnRhdGlvbiIsdik7ZS5faGFzUHJlQ29tcFN0YXRzPyJ2Ij09PU0mJjA9PT14PyhyKCJ4MCIsMCkscigiZHgiLDEpKToiaCI9PT1NJiYwPT09eSYmKHIoInkwIiwwKSxyKCJkeSIsMSkpOiJ2Ij09PU0mJjA9PT14P3IoIngwIik6ImgiPT09TSYmMD09PXkmJnIoInkwIiksYS5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsImhhbmRsZVRyYWNlRGVmYXVsdHMiKSh0LGUsWyJ4IiwieSJdLGkpfWVsc2UgZS52aXNpYmxlPSExfWZ1bmN0aW9uIHUodCxlLHIsYSl7dmFyIGk9YS5wcmVmaXgsbz1uLmNvZXJjZTIodCxlLGwsIm1hcmtlci5vdXRsaWVyY29sb3IiKSxzPXIoIm1hcmtlci5saW5lLm91dGxpZXJjb2xvciIpLGM9Im91dGxpZXJzIjtlLl9oYXNQcmVDb21wU3RhdHM/Yz0iYWxsIjoob3x8cykmJihjPSJzdXNwZWN0ZWRvdXRsaWVycyIpO3ZhciB1PXIoaSsicG9pbnRzIixjKTt1PyhyKCJqaXR0ZXIiLCJhbGwiPT09dT8uMzowKSxyKCJwb2ludHBvcyIsImFsbCI9PT11Py0xLjU6MCkscigibWFya2VyLnN5bWJvbCIpLHIoIm1hcmtlci5vcGFjaXR5IikscigibWFya2VyLnNpemUiKSxyKCJtYXJrZXIuY29sb3IiLGUubGluZS5jb2xvcikscigibWFya2VyLmxpbmUuY29sb3IiKSxyKCJtYXJrZXIubGluZS53aWR0aCIpLCJzdXNwZWN0ZWRvdXRsaWVycyI9PT11JiYocigibWFya2VyLmxpbmUub3V0bGllcmNvbG9yIixlLm1hcmtlci5jb2xvcikscigibWFya2VyLmxpbmUub3V0bGllcndpZHRoIikpLHIoInNlbGVjdGVkLm1hcmtlci5jb2xvciIpLHIoInVuc2VsZWN0ZWQubWFya2VyLmNvbG9yIikscigic2VsZWN0ZWQubWFya2VyLnNpemUiKSxyKCJ1bnNlbGVjdGVkLm1hcmtlci5zaXplIikscigidGV4dCIpLHIoImhvdmVydGV4dCIpKTpkZWxldGUgZS5tYXJrZXI7dmFyIGg9cigiaG92ZXJvbiIpOyJhbGwiIT09aCYmLTE9PT1oLmluZGV4T2YoInBvaW50cyIpfHxyKCJob3ZlcnRlbXBsYXRlIiksbi5jb2VyY2VTZWxlY3Rpb25NYXJrZXJPcGFjaXR5KGUscil9ZS5leHBvcnRzPXtzdXBwbHlEZWZhdWx0czpmdW5jdGlvbih0LGUscixhKXtmdW5jdGlvbiBvKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxsLHIsYSl9aWYoYyh0LGUsbyxhKSwhMSE9PWUudmlzaWJsZSl7dmFyIHM9ZS5faGFzUHJlQ29tcFN0YXRzO3MmJihvKCJsb3dlcmZlbmNlIiksbygidXBwZXJmZW5jZSIpKSxvKCJsaW5lLmNvbG9yIiwodC5tYXJrZXJ8fHt9KS5jb2xvcnx8ciksbygibGluZS53aWR0aCIpLG8oImZpbGxjb2xvciIsaS5hZGRPcGFjaXR5KGUubGluZS5jb2xvciwuNSkpO3ZhciBoPSExO2lmKHMpe3ZhciBmPW8oIm1lYW4iKSxwPW8oInNkIik7ZiYmZi5sZW5ndGgmJihoPSEwLHAmJnAubGVuZ3RoJiYoaD0ic2QiKSl9bygiYm94bWVhbiIsaCksbygid2hpc2tlcndpZHRoIiksbygid2lkdGgiKSxvKCJxdWFydGlsZW1ldGhvZCIpO3ZhciBkPSExO2lmKHMpe3ZhciBnPW8oIm5vdGNoc3BhbiIpO2cmJmcubGVuZ3RoJiYoZD0hMCl9ZWxzZSBuLnZhbGlkYXRlKHQubm90Y2h3aWR0aCxsLm5vdGNod2lkdGgpJiYoZD0hMCk7bygibm90Y2hlZCIsZCkmJm8oIm5vdGNod2lkdGgiKSx1KHQsZSxvLHtwcmVmaXg6ImJveCJ9KX19LGNyb3NzVHJhY2VEZWZhdWx0czpmdW5jdGlvbih0LGUpe3ZhciByLGE7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbi5jb2VyY2UoYS5faW5wdXQsYSxsLHQpfWZvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgYz0oYT10W3NdKS50eXBlOyJib3giIT09YyYmInZpb2xpbiIhPT1jfHwocj1hLl9pbnB1dCwiZ3JvdXAiPT09ZVtjKyJtb2RlIl0mJm8ocixhLGUsaSkpfX0saGFuZGxlU2FtcGxlRGVmYXVsdHM6YyxoYW5kbGVQb2ludHNEZWZhdWx0czp1fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19hdXRvdHlwZSI6NzY2LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9iYXIvZGVmYXVsdHMiOjg2MCwiLi9hdHRyaWJ1dGVzIjo4ODF9XSw4ODU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuaG92ZXJPbkJveCYmKHQuaG92ZXJPbkJveD1lLmhvdmVyT25Cb3gpLCJ4VmFsImluIGUmJih0Lng9ZS54VmFsKSwieVZhbCJpbiBlJiYodC55PWUueVZhbCksZS54YSYmKHQueGF4aXM9ZS54YSksZS55YSYmKHQueWF4aXM9ZS55YSksdH19LHt9XSw4ODY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLHM9YS5maWxsVGV4dDtmdW5jdGlvbiBsKHQsZSxyLHMpe3ZhciBsLGMsdSxoLGYscCxkLGcsdixtLHkseCxiLF8sdz10LmNkLGs9dC54YSxUPXQueWEsTT13WzBdLnRyYWNlLEE9d1swXS50LFM9InZpb2xpbiI9PT1NLnR5cGUsRT1bXSxMPUEuYmRQb3MsQz1BLndIb3ZlcixQPWZ1bmN0aW9uKHQpe3JldHVybiB1LmMybCh0LnBvcykrQS5iUG9zLXUuYzJsKHApfTtTJiYiYm90aCIhPT1NLnNpZGU/KCJwb3NpdGl2ZSI9PT1NLnNpZGUmJih2PWZ1bmN0aW9uKHQpe3ZhciBlPVAodCk7cmV0dXJuIGkuaW5ib3goZSxlK0MsbSl9LHg9TCxiPTApLCJuZWdhdGl2ZSI9PT1NLnNpZGUmJih2PWZ1bmN0aW9uKHQpe3ZhciBlPVAodCk7cmV0dXJuIGkuaW5ib3goZS1DLGUsbSl9LHg9MCxiPUwpKToodj1mdW5jdGlvbih0KXt2YXIgZT1QKHQpO3JldHVybiBpLmluYm94KGUtQyxlK0MsbSl9LHg9Yj1MKSxfPVM/ZnVuY3Rpb24odCl7cmV0dXJuIGkuaW5ib3godC5zcGFuWzBdLWYsdC5zcGFuWzFdLWYsbSl9OmZ1bmN0aW9uKHQpe3JldHVybiBpLmluYm94KHQubWluLWYsdC5tYXgtZixtKX0sImgiPT09TS5vcmllbnRhdGlvbj8oZj1lLHA9cixkPV8sZz12LGw9InkiLHU9VCxjPSJ4IixoPWspOihmPXIscD1lLGQ9dixnPV8sbD0ieCIsdT1rLGM9InkiLGg9VCk7dmFyIE89TWF0aC5taW4oMSxML01hdGguYWJzKHUucjJjKHUucmFuZ2VbMV0pLXUucjJjKHUucmFuZ2VbMF0pKSk7ZnVuY3Rpb24geih0KXtyZXR1cm4oZCh0KStnKHQpKS8yfW09dC5tYXhIb3ZlckRpc3RhbmNlLU8seT10Lm1heFNwaWtlRGlzdGFuY2UtTzt2YXIgST1pLmdldERpc3RhbmNlRnVuY3Rpb24ocyxkLGcseik7aWYoaS5nZXRDbG9zZXN0KHcsSSx0KSwhMT09PXQuaW5kZXgpcmV0dXJuW107dmFyIEQ9d1t0LmluZGV4XSxSPU0ubGluZS5jb2xvcixGPShNLm1hcmtlcnx8e30pLmNvbG9yO28ub3BhY2l0eShSKSYmTS5saW5lLndpZHRoP3QuY29sb3I9UjpvLm9wYWNpdHkoRikmJk0uYm94cG9pbnRzP3QuY29sb3I9Rjp0LmNvbG9yPU0uZmlsbGNvbG9yLHRbbCsiMCJdPXUuYzJwKEQucG9zK0EuYlBvcy1iLCEwKSx0W2wrIjEiXT11LmMycChELnBvcytBLmJQb3MreCwhMCksdFtsKyJMYWJlbFZhbCJdPUQucG9zO3ZhciBCPWwrIlNwaWtlIjt0LnNwaWtlRGlzdGFuY2U9eihEKSp5L20sdFtCXT11LmMycChELnBvcywhMCk7dmFyIE49e30saj1bIm1lZCIsInExIiwicTMiLCJtaW4iLCJtYXgiXTsoTS5ib3htZWFufHwoTS5tZWFubGluZXx8e30pLnZpc2libGUpJiZqLnB1c2goIm1lYW4iKSwoTS5ib3hwb2ludHN8fE0ucG9pbnRzKSYmai5wdXNoKCJsZiIsInVmIik7Zm9yKHZhciBWPTA7VjxqLmxlbmd0aDtWKyspe3ZhciBVPWpbVl07aWYoVSBpbiBEJiYhKERbVV1pbiBOKSl7TltEW1VdXT0hMDt2YXIgcT1EW1VdLEg9aC5jMnAocSwhMCksRz1hLmV4dGVuZEZsYXQoe30sdCk7Ry5hdHRyPVUsR1tjKyIwIl09R1tjKyIxIl09SCxHW2MrIkxhYmVsVmFsIl09cSxHW2MrIkxhYmVsIl09KEEubGFiZWxzP0EubGFiZWxzW1VdKyIgIjoiIikrbi5ob3ZlckxhYmVsVGV4dChoLHEpLEcuaG92ZXJPbkJveD0hMCwibWVhbiI9PT1VJiYic2QiaW4gRCYmInNkIj09PU0uYm94bWVhbiYmKEdbYysiZXJyIl09RC5zZCksdC5uYW1lPSIiLHQuc3Bpa2VEaXN0YW5jZT12b2lkIDAsdFtCXT12b2lkIDAsRy5ob3ZlcnRlbXBsYXRlPSExLEUucHVzaChHKX19cmV0dXJuIEV9ZnVuY3Rpb24gYyh0LGUscil7Zm9yKHZhciBuLG8sbCxjPXQuY2QsdT10LnhhLGg9dC55YSxmPWNbMF0udHJhY2UscD11LmMycChlKSxkPWguYzJwKHIpLGc9aS5xdWFkcmF0dXJlKGZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWF4KDMsdC5tcmN8fDApO3JldHVybiBNYXRoLm1heChNYXRoLmFicyh1LmMycCh0LngpLXApLWUsMS0zL2UpfSxmdW5jdGlvbih0KXt2YXIgZT1NYXRoLm1heCgzLHQubXJjfHwwKTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5hYnMoaC5jMnAodC55KS1kKS1lLDEtMy9lKX0pLHY9ITEsbT0wO208Yy5sZW5ndGg7bSsrKXtvPWNbbV07Zm9yKHZhciB5PTA7eTwoby5wdHN8fFtdKS5sZW5ndGg7eSsrKXt2YXIgeD1nKGw9by5wdHNbeV0pO3g8PXQuZGlzdGFuY2UmJih0LmRpc3RhbmNlPXgsdj1bbSx5XSl9fWlmKCF2KXJldHVybiExO2w9KG89Y1t2WzBdXSkucHRzW3ZbMV1dO3ZhciBiLF89dS5jMnAobC54LCEwKSx3PWguYzJwKGwueSwhMCksaz1sLm1yY3x8MTtyZXR1cm4gbj1hLmV4dGVuZEZsYXQoe30sdCx7aW5kZXg6bC5pLGNvbG9yOihmLm1hcmtlcnx8e30pLmNvbG9yLG5hbWU6Zi5uYW1lLHgwOl8tayx4MTpfK2sseTA6dy1rLHkxOncrayxzcGlrZURpc3RhbmNlOnQuZGlzdGFuY2UsaG92ZXJ0ZW1wbGF0ZTpmLmhvdmVydGVtcGxhdGV9KSwiaCI9PT1mLm9yaWVudGF0aW9uPyhiPWgsbi54TGFiZWxWYWw9bC54LG4ueUxhYmVsVmFsPW8ucG9zKTooYj11LG4ueExhYmVsVmFsPW8ucG9zLG4ueUxhYmVsVmFsPWwueSksbltiLl9pZC5jaGFyQXQoMCkrIlNwaWtlIl09Yi5jMnAoby5wb3MsITApLHMobCxmLG4pLG59ZS5leHBvcnRzPXtob3ZlclBvaW50czpmdW5jdGlvbih0LGUscixuKXt2YXIgYSxpPXQuY2RbMF0udHJhY2UuaG92ZXJvbixvPVtdO3JldHVybi0xIT09aS5pbmRleE9mKCJib3hlcyIpJiYobz1vLmNvbmNhdChsKHQsZSxyLG4pKSksLTEhPT1pLmluZGV4T2YoInBvaW50cyIpJiYoYT1jKHQsZSxyKSksImNsb3Nlc3QiPT09bj9hP1thXTpvOmE/KG8ucHVzaChhKSxvKTpvfSxob3Zlck9uQm94ZXM6bCxob3Zlck9uUG9pbnRzOmN9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDg4NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksbGF5b3V0QXR0cmlidXRlczp0KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLnN1cHBseURlZmF1bHRzLGNyb3NzVHJhY2VEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuY3Jvc3NUcmFjZURlZmF1bHRzLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vbGF5b3V0X2RlZmF1bHRzIikuc3VwcGx5TGF5b3V0RGVmYXVsdHMsY2FsYzp0KCIuL2NhbGMiKSxjcm9zc1RyYWNlQ2FsYzp0KCIuL2Nyb3NzX3RyYWNlX2NhbGMiKS5jcm9zc1RyYWNlQ2FsYyxwbG90OnQoIi4vcGxvdCIpLnBsb3Qsc3R5bGU6dCgiLi9zdHlsZSIpLnN0eWxlLHN0eWxlT25TZWxlY3Q6dCgiLi9zdHlsZSIpLnN0eWxlT25TZWxlY3QsaG92ZXJQb2ludHM6dCgiLi9ob3ZlciIpLmhvdmVyUG9pbnRzLGV2ZW50RGF0YTp0KCIuL2V2ZW50X2RhdGEiKSxzZWxlY3RQb2ludHM6dCgiLi9zZWxlY3QiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiYm94IixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiY2FydGVzaWFuIiwic3ZnIiwic3ltYm9scyIsIm9yaWVudGVkIiwiYm94LXZpb2xpbiIsInNob3dMZWdlbmQiLCJib3hMYXlvdXQiLCJ6b29tU2NhbGUiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi9hdHRyaWJ1dGVzIjo4ODEsIi4vY2FsYyI6ODgyLCIuL2Nyb3NzX3RyYWNlX2NhbGMiOjg4MywiLi9kZWZhdWx0cyI6ODg0LCIuL2V2ZW50X2RhdGEiOjg4NSwiLi9ob3ZlciI6ODg2LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo4ODgsIi4vbGF5b3V0X2RlZmF1bHRzIjo4ODksIi4vcGxvdCI6ODkwLCIuL3NlbGVjdCI6ODkxLCIuL3N0eWxlIjo4OTJ9XSw4ODg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtib3htb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJncm91cCIsIm92ZXJsYXkiXSxkZmx0OiJvdmVybGF5IixlZGl0VHlwZToiY2FsYyJ9LGJveGdhcDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0Oi4zLGVkaXRUeXBlOiJjYWxjIn0sYm94Z3JvdXBnYXA6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDouMyxlZGl0VHlwZToiY2FsYyJ9fX0se31dLDg4OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIik7ZnVuY3Rpb24gbyh0LGUscixhLGkpe2Zvcih2YXIgbz1pKyJMYXlvdXQiLHM9ITEsbD0wO2w8ci5sZW5ndGg7bCsrKXt2YXIgYz1yW2xdO2lmKG4udHJhY2VJcyhjLG8pKXtzPSEwO2JyZWFrfX1zJiYoYShpKyJtb2RlIiksYShpKyJnYXAiKSxhKGkrImdyb3VwZ2FwIikpfWUuZXhwb3J0cz17c3VwcGx5TGF5b3V0RGVmYXVsdHM6ZnVuY3Rpb24odCxlLHIpe28oMCwwLHIsZnVuY3Rpb24ocixuKXtyZXR1cm4gYS5jb2VyY2UodCxlLGkscixuKX0sImJveCIpfSxfc3VwcGx5Om99fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo4ODh9XSw4OTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksbz01LHM9LjAxO2Z1bmN0aW9uIGwodCxlLHIsaSl7dmFyIG8scyxsPWUucG9zLGM9ZS52YWwsdT1pLmJQb3MsaD1pLndkUG9zfHwwLGY9aS5iUG9zUHhPZmZzZXR8fDAscD1yLndoaXNrZXJ3aWR0aHx8MCxkPXIubm90Y2hlZHx8ITEsZz1kPzEtMipyLm5vdGNod2lkdGg6MTtBcnJheS5pc0FycmF5KGkuYmRQb3MpPyhvPWkuYmRQb3NbMF0scz1pLmJkUG9zWzFdKToobz1pLmJkUG9zLHM9aS5iZFBvcyk7dmFyIHY9dC5zZWxlY3RBbGwoInBhdGguYm94IikuZGF0YSgidmlvbGluIiE9PXIudHlwZXx8ci5ib3gudmlzaWJsZT9hLmlkZW50aXR5OltdKTt2LmVudGVyKCkuYXBwZW5kKCJwYXRoIikuc3R5bGUoInZlY3Rvci1lZmZlY3QiLCJub24tc2NhbGluZy1zdHJva2UiKS5hdHRyKCJjbGFzcyIsImJveCIpLHYuZXhpdCgpLnJlbW92ZSgpLHYuZWFjaChmdW5jdGlvbih0KXtpZih0LmVtcHR5KXJldHVybiJNMCwwWiI7dmFyIGU9bC5jMmwodC5wb3MrdSwhMCksaT1sLmwycChlKStmLHY9bC5sMnAoZS1vKStmLG09bC5sMnAoZStzKStmLHk9bC5sMnAoZS1oKStmLHg9bC5sMnAoZStoKStmLGI9bC5sMnAoZS1vKmcpK2YsXz1sLmwycChlK3MqZykrZix3PWMuYzJwKHQucTEsITApLGs9Yy5jMnAodC5xMywhMCksVD1hLmNvbnN0cmFpbihjLmMycCh0Lm1lZCwhMCksTWF0aC5taW4odyxrKSsxLE1hdGgubWF4KHcsayktMSksTT12b2lkIDA9PT10LmxmfHwhMT09PXIuYm94cG9pbnRzLEE9Yy5jMnAoTT90Lm1pbjp0LmxmLCEwKSxTPWMuYzJwKE0/dC5tYXg6dC51ZiwhMCksRT1jLmMycCh0LmxuLCEwKSxMPWMuYzJwKHQudW4sITApOyJoIj09PXIub3JpZW50YXRpb24/bi5zZWxlY3QodGhpcykuYXR0cigiZCIsIk0iK1QrIiwiK2IrIlYiK18rIk0iK3crIiwiK3YrIlYiK20rKGQ/IkgiK0UrIkwiK1QrIiwiK18rIkwiK0wrIiwiK206IiIpKyJIIitrKyJWIit2KyhkPyJIIitMKyJMIitUKyIsIitiKyJMIitFKyIsIit2OiIiKSsiWk0iK3crIiwiK2krIkgiK0ErIk0iK2srIiwiK2krIkgiK1MrKDA9PT1wPyIiOiJNIitBKyIsIit5KyJWIit4KyJNIitTKyIsIit5KyJWIit4KSk6bi5zZWxlY3QodGhpcykuYXR0cigiZCIsIk0iK2IrIiwiK1QrIkgiK18rIk0iK3YrIiwiK3crIkgiK20rKGQ/IlYiK0UrIkwiK18rIiwiK1QrIkwiK20rIiwiK0w6IiIpKyJWIitrKyJIIit2KyhkPyJWIitMKyJMIitiKyIsIitUKyJMIit2KyIsIitFOiIiKSsiWk0iK2krIiwiK3crIlYiK0ErIk0iK2krIiwiK2srIlYiK1MrKDA9PT1wPyIiOiJNIit5KyIsIitBKyJIIit4KyJNIit5KyIsIitTKyJIIit4KSl9KX1mdW5jdGlvbiBjKHQsZSxyLG4pe3ZhciBsPWUueCxjPWUueSx1PW4uYmRQb3MsaD1uLmJQb3MsZj1yLmJveHBvaW50c3x8ci5wb2ludHM7YS5zZWVkUHNldWRvUmFuZG9tKCk7dmFyIHA9dC5zZWxlY3RBbGwoImcucG9pbnRzIikuZGF0YShmP2Z1bmN0aW9uKHQpe3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24odCl7dC50PW4sdC50cmFjZT1yfSksdH06W10pO3AuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInBvaW50cyIpLHAuZXhpdCgpLnJlbW92ZSgpO3ZhciBkPXAuc2VsZWN0QWxsKCJwYXRoIikuZGF0YShmdW5jdGlvbih0KXt2YXIgZSxuLGk9dC5wdHMyLGw9TWF0aC5tYXgoKHQubWF4LXQubWluKS8xMCx0LnEzLXQucTEpLGM9MWUtOSpsLHA9bCpzLGQ9W10sZz0wO2lmKHIuaml0dGVyKXtpZigwPT09bClmb3IoZz0xLGQ9bmV3IEFycmF5KGkubGVuZ3RoKSxlPTA7ZTxpLmxlbmd0aDtlKyspZFtlXT0xO2Vsc2UgZm9yKGU9MDtlPGkubGVuZ3RoO2UrKyl7dmFyIHY9TWF0aC5tYXgoMCxlLW8pLG09aVt2XS52LHk9TWF0aC5taW4oaS5sZW5ndGgtMSxlK28pLHg9aVt5XS52OyJhbGwiIT09ZiYmKGlbZV0udjx0LmxmP3g9TWF0aC5taW4oeCx0LmxmKTptPU1hdGgubWF4KG0sdC51ZikpO3ZhciBiPU1hdGguc3FydChwKih5LXYpLyh4LW0rYykpfHwwO2I9YS5jb25zdHJhaW4oTWF0aC5hYnMoYiksMCwxKSxkLnB1c2goYiksZz1NYXRoLm1heChiLGcpfW49MipyLmppdHRlci8oZ3x8MSl9Zm9yKGU9MDtlPGkubGVuZ3RoO2UrKyl7dmFyIF89aVtlXSx3PV8udixrPXIuaml0dGVyP24qZFtlXSooYS5wc2V1ZG9SYW5kb20oKS0uNSk6MCxUPXQucG9zK2grdSooci5wb2ludHBvcytrKTsiaCI9PT1yLm9yaWVudGF0aW9uPyhfLnk9VCxfLng9dyk6KF8ueD1ULF8ueT13KSwic3VzcGVjdGVkb3V0bGllcnMiPT09ZiYmdzx0LnVvJiZ3PnQubG8mJihfLnNvPSEwKX1yZXR1cm4gaX0pO2QuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJwb2ludCIsITApLGQuZXhpdCgpLnJlbW92ZSgpLGQuY2FsbChpLnRyYW5zbGF0ZVBvaW50cyxsLGMpfWZ1bmN0aW9uIHUodCxlLHIsaSl7dmFyIG8scyxsPWUucG9zLGM9ZS52YWwsdT1pLmJQb3MsaD1pLmJQb3NQeE9mZnNldHx8MCxmPXIuYm94bWVhbnx8KHIubWVhbmxpbmV8fHt9KS52aXNpYmxlO0FycmF5LmlzQXJyYXkoaS5iZFBvcyk/KG89aS5iZFBvc1swXSxzPWkuYmRQb3NbMV0pOihvPWkuYmRQb3Mscz1pLmJkUG9zKTt2YXIgcD10LnNlbGVjdEFsbCgicGF0aC5tZWFuIikuZGF0YSgiYm94Ij09PXIudHlwZSYmci5ib3htZWFufHwidmlvbGluIj09PXIudHlwZSYmci5ib3gudmlzaWJsZSYmci5tZWFubGluZS52aXNpYmxlP2EuaWRlbnRpdHk6W10pO3AuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5hdHRyKCJjbGFzcyIsIm1lYW4iKS5zdHlsZSh7ZmlsbDoibm9uZSIsInZlY3Rvci1lZmZlY3QiOiJub24tc2NhbGluZy1zdHJva2UifSkscC5leGl0KCkucmVtb3ZlKCkscC5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPWwuYzJsKHQucG9zK3UsITApLGE9bC5sMnAoZSkraCxpPWwubDJwKGUtbykraCxwPWwubDJwKGUrcykraCxkPWMuYzJwKHQubWVhbiwhMCksZz1jLmMycCh0Lm1lYW4tdC5zZCwhMCksdj1jLmMycCh0Lm1lYW4rdC5zZCwhMCk7ImgiPT09ci5vcmllbnRhdGlvbj9uLnNlbGVjdCh0aGlzKS5hdHRyKCJkIiwiTSIrZCsiLCIraSsiViIrcCsoInNkIj09PWY/Im0wLDBMIitnKyIsIithKyJMIitkKyIsIitpKyJMIit2KyIsIithKyJaIjoiIikpOm4uc2VsZWN0KHRoaXMpLmF0dHIoImQiLCJNIitpKyIsIitkKyJIIitwKygic2QiPT09Zj8ibTAsMEwiK2ErIiwiK2crIkwiK2krIiwiK2QrIkwiK2ErIiwiK3YrIloiOiIiKSl9KX1lLmV4cG9ydHM9e3Bsb3Q6ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG89ZS54YXhpcyxzPWUueWF4aXM7YS5tYWtlVHJhY2VHcm91cHMoaSxyLCJ0cmFjZSBib3hlcyIpLmVhY2goZnVuY3Rpb24odCl7dmFyIGUscixhPW4uc2VsZWN0KHRoaXMpLGk9dFswXSxoPWkudCxmPWkudHJhY2U7aC53ZFBvcz1oLmJkUG9zKmYud2hpc2tlcndpZHRoLCEwIT09Zi52aXNpYmxlfHxoLmVtcHR5P2EucmVtb3ZlKCk6KCJoIj09PWYub3JpZW50YXRpb24/KGU9cyxyPW8pOihlPW8scj1zKSxsKGEse3BvczplLHZhbDpyfSxmLGgpLGMoYSx7eDpvLHk6c30sZixoKSx1KGEse3BvczplLHZhbDpyfSxmLGgpKX0pfSxwbG90Qm94QW5kV2hpc2tlcnM6bCxwbG90UG9pbnRzOmMscGxvdEJveE1lYW46dX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LGQzOjE2NX1dLDg5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9dC5jZCxpPXQueGF4aXMsbz10LnlheGlzLHM9W107aWYoITE9PT1lKWZvcihyPTA7cjxhLmxlbmd0aDtyKyspZm9yKG49MDtuPChhW3JdLnB0c3x8W10pLmxlbmd0aDtuKyspYVtyXS5wdHNbbl0uc2VsZWN0ZWQ9MDtlbHNlIGZvcihyPTA7cjxhLmxlbmd0aDtyKyspZm9yKG49MDtuPChhW3JdLnB0c3x8W10pLmxlbmd0aDtuKyspe3ZhciBsPWFbcl0ucHRzW25dLGM9aS5jMnAobC54KSx1PW8uYzJwKGwueSk7ZS5jb250YWlucyhbYyx1XSxudWxsLGwuaSx0KT8ocy5wdXNoKHtwb2ludE51bWJlcjpsLmkseDppLmMyZChsLngpLHk6by5jMmQobC55KX0pLGwuc2VsZWN0ZWQ9MSk6bC5zZWxlY3RlZD0wfXJldHVybiBzfX0se31dLDg5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIik7ZS5leHBvcnRzPXtzdHlsZTpmdW5jdGlvbih0LGUscil7dmFyIG89cnx8bi5zZWxlY3QodCkuc2VsZWN0QWxsKCJnLnRyYWNlLmJveGVzIik7by5zdHlsZSgib3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0udHJhY2Uub3BhY2l0eX0pLG8uZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxvPWVbMF0udHJhY2Uscz1vLmxpbmUud2lkdGg7ZnVuY3Rpb24gbCh0LGUscixuKXt0LnN0eWxlKCJzdHJva2Utd2lkdGgiLGUrInB4IikuY2FsbChhLnN0cm9rZSxyKS5jYWxsKGEuZmlsbCxuKX12YXIgYz1yLnNlbGVjdEFsbCgicGF0aC5ib3giKTtpZigiY2FuZGxlc3RpY2siPT09by50eXBlKWMuZWFjaChmdW5jdGlvbih0KXtpZighdC5lbXB0eSl7dmFyIGU9bi5zZWxlY3QodGhpcykscj1vW3QuZGlyXTtsKGUsci5saW5lLndpZHRoLHIubGluZS5jb2xvcixyLmZpbGxjb2xvciksZS5zdHlsZSgib3BhY2l0eSIsby5zZWxlY3RlZHBvaW50cyYmIXQuc2VsZWN0ZWQ/LjM6MSl9fSk7ZWxzZXtsKGMscyxvLmxpbmUuY29sb3Isby5maWxsY29sb3IpLHIuc2VsZWN0QWxsKCJwYXRoLm1lYW4iKS5zdHlsZSh7InN0cm9rZS13aWR0aCI6cywic3Ryb2tlLWRhc2hhcnJheSI6MipzKyJweCwiK3MrInB4In0pLmNhbGwoYS5zdHJva2Usby5saW5lLmNvbG9yKTt2YXIgdT1yLnNlbGVjdEFsbCgicGF0aC5wb2ludCIpO2kucG9pbnRTdHlsZSh1LG8sdCl9fSl9LHN0eWxlT25TZWxlY3Q6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWVbMF0udHJhY2UsYT1yLnNlbGVjdEFsbCgicGF0aC5wb2ludCIpO24uc2VsZWN0ZWRwb2ludHM/aS5zZWxlY3RlZFBvaW50U3R5bGUoYSxuKTppLnBvaW50U3R5bGUoYSxuLHQpfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMyxkMzoxNjV9XSw4OTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIikuZXh0ZW5kRmxhdCxhPXQoIi4uL29obGMvYXR0cmlidXRlcyIpLGk9dCgiLi4vYm94L2F0dHJpYnV0ZXMiKTtmdW5jdGlvbiBvKHQpe3JldHVybntsaW5lOntjb2xvcjpuKHt9LGkubGluZS5jb2xvcix7ZGZsdDp0fSksd2lkdGg6aS5saW5lLndpZHRoLGVkaXRUeXBlOiJzdHlsZSJ9LGZpbGxjb2xvcjppLmZpbGxjb2xvcixlZGl0VHlwZToic3R5bGUifX1lLmV4cG9ydHM9e3g6YS54LG9wZW46YS5vcGVuLGhpZ2g6YS5oaWdoLGxvdzphLmxvdyxjbG9zZTphLmNsb3NlLGxpbmU6e3dpZHRoOm4oe30saS5saW5lLndpZHRoLHt9KSxlZGl0VHlwZToic3R5bGUifSxpbmNyZWFzaW5nOm8oYS5pbmNyZWFzaW5nLmxpbmUuY29sb3IuZGZsdCksZGVjcmVhc2luZzpvKGEuZGVjcmVhc2luZy5saW5lLmNvbG9yLmRmbHQpLHRleHQ6YS50ZXh0LGhvdmVydGV4dDphLmhvdmVydGV4dCx3aGlza2Vyd2lkdGg6bih7fSxpLndoaXNrZXJ3aWR0aCx7ZGZsdDowfSksaG92ZXJsYWJlbDphLmhvdmVybGFiZWx9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9ib3gvYXR0cmlidXRlcyI6ODgxLCIuLi9vaGxjL2F0dHJpYnV0ZXMiOjEwNjZ9XSw4OTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi4vb2hsYy9jYWxjIikuY2FsY0NvbW1vbjtmdW5jdGlvbiBvKHQsZSxyLG4pe3JldHVybnttaW46cixxMTpNYXRoLm1pbih0LG4pLG1lZDpuLHEzOk1hdGgubWF4KHQsbiksbWF4OmV9fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuX2Z1bGxMYXlvdXQscz1hLmdldEZyb21JZCh0LGUueGF4aXMpLGw9YS5nZXRGcm9tSWQodCxlLnlheGlzKSxjPXMubWFrZUNhbGNkYXRhKGUsIngiKSx1PWkodCxlLGMsbCxvKTtyZXR1cm4gdS5sZW5ndGg/KG4uZXh0ZW5kRmxhdCh1WzBdLnQse251bTpyLl9udW1Cb3hlcyxkUG9zOm4uZGlzdGluY3RWYWxzKGMpLm1pbkRpZmYvMixwb3NMZXR0ZXI6IngiLHZhbExldHRlcjoieSJ9KSxyLl9udW1Cb3hlcysrLHUpOlt7dDp7ZW1wdHk6ITB9fV19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9vaGxjL2NhbGMiOjEwNjd9XSw4OTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksaT10KCIuLi9vaGxjL29obGNfZGVmYXVsdHMiKSxvPXQoIi4vYXR0cmlidXRlcyIpO2Z1bmN0aW9uIHModCxlLHIsbil7dmFyIGk9cihuKyIubGluZS5jb2xvciIpO3IobisiLmxpbmUud2lkdGgiLGUubGluZS53aWR0aCkscihuKyIuZmlsbGNvbG9yIixhLmFkZE9wYWNpdHkoaSwuNSkpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXtmdW5jdGlvbiBsKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxvLHIsYSl9aSh0LGUsbCxhKT8obCgibGluZS53aWR0aCIpLHModCxlLGwsImluY3JlYXNpbmciKSxzKHQsZSxsLCJkZWNyZWFzaW5nIiksbCgidGV4dCIpLGwoImhvdmVydGV4dCIpLGwoIndoaXNrZXJ3aWR0aCIpLGEuX3JlcXVlc3RSYW5nZXNsaWRlcltlLnhheGlzXT0hMCk6ZS52aXNpYmxlPSExfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2xpYiI6NzE3LCIuLi9vaGxjL29obGNfZGVmYXVsdHMiOjEwNzEsIi4vYXR0cmlidXRlcyI6ODkzfV0sODk2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImNhbmRsZXN0aWNrIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiY2FydGVzaWFuIiwic3ZnIiwic2hvd0xlZ2VuZCIsImNhbmRsZXN0aWNrIiwiYm94TGF5b3V0Il0sbWV0YTp7fSxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLGxheW91dEF0dHJpYnV0ZXM6dCgiLi4vYm94L2xheW91dF9hdHRyaWJ1dGVzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi4vYm94L2xheW91dF9kZWZhdWx0cyIpLnN1cHBseUxheW91dERlZmF1bHRzLGNyb3NzVHJhY2VDYWxjOnQoIi4uL2JveC9jcm9zc190cmFjZV9jYWxjIikuY3Jvc3NUcmFjZUNhbGMsc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuLi9ib3gvcGxvdCIpLnBsb3QsbGF5ZXJOYW1lOiJib3hsYXllciIsc3R5bGU6dCgiLi4vYm94L3N0eWxlIikuc3R5bGUsaG92ZXJQb2ludHM6dCgiLi4vb2hsYy9ob3ZlciIpLmhvdmVyUG9pbnRzLHNlbGVjdFBvaW50czp0KCIuLi9vaGxjL3NlbGVjdCIpfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vYm94L2Nyb3NzX3RyYWNlX2NhbGMiOjg4MywiLi4vYm94L2xheW91dF9hdHRyaWJ1dGVzIjo4ODgsIi4uL2JveC9sYXlvdXRfZGVmYXVsdHMiOjg4OSwiLi4vYm94L3Bsb3QiOjg5MCwiLi4vYm94L3N0eWxlIjo4OTIsIi4uL29obGMvaG92ZXIiOjEwNjksIi4uL29obGMvc2VsZWN0IjoxMDczLCIuL2F0dHJpYnV0ZXMiOjg5MywiLi9jYWxjIjo4OTQsIi4vZGVmYXVsdHMiOjg5NX1dLDg5NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2F4aXNfZGVmYXVsdHMiKSxhPXQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxvKXtpKCJhIil8fChpKCJkYSIpLGkoImEwIikpLGkoImIiKXx8KGkoImRiIiksaSgiYjAiKSksZnVuY3Rpb24odCxlLHIsaSl7WyJhYXhpcyIsImJheGlzIl0uZm9yRWFjaChmdW5jdGlvbihvKXt2YXIgcz1vLmNoYXJBdCgwKSxsPXRbb118fHt9LGM9YS5uZXdDb250YWluZXIoZSxvKSx1PXt0aWNrZm9udDoieCIsaWQ6cysiYXhpcyIsbGV0dGVyOnMsZm9udDplLmZvbnQsbmFtZTpvLGRhdGE6dFtzXSxjYWxlbmRhcjplLmNhbGVuZGFyLGRmbHRDb2xvcjppLGJnQ29sb3I6ci5wYXBlcl9iZ2NvbG9yLGZ1bGxMYXlvdXQ6cn07bihsLGMsdSksYy5fY2F0ZWdvcmllcz1jLl9jYXRlZ29yaWVzfHxbXSx0W29dfHwiLSI9PT1sLnR5cGV8fCh0W29dPXt0eXBlOmwudHlwZX0pfSl9KHQsZSxyLG8pfX0seyIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4vYXhpc19kZWZhdWx0cyI6OTAyfV0sODk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXlPclR5cGVkQXJyYXk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiB0KGUscil7aWYoIW4oZSl8fHI+PTEwKXJldHVybiBudWxsO3ZhciBhPTEvMDt2YXIgaT0tMS8wO3ZhciBvPWUubGVuZ3RoO2Zvcih2YXIgcz0wO3M8bztzKyspe3ZhciBsPWVbc107aWYobihsKSl7dmFyIGM9dChsLHIrMSk7YyYmKGE9TWF0aC5taW4oY1swXSxhKSxpPU1hdGgubWF4KGNbMV0saSkpfWVsc2UgYT1NYXRoLm1pbihsLGEpLGk9TWF0aC5tYXgobCxpKX1yZXR1cm5bYSxpXX0odCwwKX19LHsiLi4vLi4vbGliIjo3MTd9XSw4OTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksYT10KCIuL2F4aXNfYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIiksbz1uKHtlZGl0VHlwZToiY2FsYyJ9KTtvLmZhbWlseS5kZmx0PSciT3BlbiBTYW5zIiwgdmVyZGFuYSwgYXJpYWwsIHNhbnMtc2VyaWYnLG8uc2l6ZS5kZmx0PTEyLG8uY29sb3IuZGZsdD1pLmRlZmF1bHRMaW5lLGUuZXhwb3J0cz17Y2FycGV0Ont2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJjYWxjIn0seDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSx5Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LGE6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sYTA6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn0sZGE6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sYjp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxiMDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxkYjp7dmFsVHlwZToibnVtYmVyIixkZmx0OjEsZWRpdFR5cGU6ImNhbGMifSxjaGVhdGVyc2xvcGU6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sYWF4aXM6YSxiYXhpczphLGZvbnQ6byxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6aS5kZWZhdWx0TGluZSxlZGl0VHlwZToicGxvdCJ9LHRyYW5zZm9ybXM6dm9pZCAwfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MSwiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTEsIi4vYXhpc19hdHRyaWJ1dGVzIjo5MDF9XSw5MDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIikuaXNBcnJheU9yVHlwZWRBcnJheTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGksbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0seT1uKHIpPyJhIjoiYiIseD0oImEiPT09eT90LmFheGlzOnQuYmF4aXMpLnNtb290aGluZyxiPSJhIj09PXk/dC5hMmk6dC5iMmosXz0iYSI9PT15P3I6YSx3PSJhIj09PXk/YTpyLGs9ImEiPT09eT9lLmEubGVuZ3RoOmUuYi5sZW5ndGgsVD0iYSI9PT15P2UuYi5sZW5ndGg6ZS5hLmxlbmd0aCxNPU1hdGguZmxvb3IoImEiPT09eT90LmIyaih3KTp0LmEyaSh3KSksQT0iYSI9PT15P2Z1bmN0aW9uKGUpe3JldHVybiB0LmV2YWx4eShbXSxlLE0pfTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ldmFseHkoW10sTSxlKX07eCYmKHM9TWF0aC5tYXgoMCxNYXRoLm1pbihULTIsTSkpLGw9TS1zLG89ImEiPT09eT9mdW5jdGlvbihlLHIpe3JldHVybiB0LmR4eWRpKFtdLGUscyxyLGwpfTpmdW5jdGlvbihlLHIpe3JldHVybiB0LmR4eWRqKFtdLHMsZSxsLHIpfSk7dmFyIFM9YihfWzBdKSxFPWIoX1sxXSksTD1TPEU/MTotMSxDPTFlLTgqKEUtUyksUD1MPjA/TWF0aC5mbG9vcjpNYXRoLmNlaWwsTz1MPjA/TWF0aC5jZWlsOk1hdGguZmxvb3Isej1MPjA/TWF0aC5taW46TWF0aC5tYXgsST1MPjA/TWF0aC5tYXg6TWF0aC5taW4sRD1QKFMrQyksUj1PKEUtQyksRj1bW2g9QShTKV1dO2ZvcihpPUQ7aSpMPFIqTDtpKz1MKWM9W10sZz1JKFMsaSksbT0odj16KEUsaStMKSktZyx1PU1hdGgubWF4KDAsTWF0aC5taW4oay0yLE1hdGguZmxvb3IoLjUqKGcrdikpKSksZj1BKHYpLHgmJihwPW8odSxnLXUpLGQ9byh1LHYtdSksYy5wdXNoKFtoWzBdK3BbMF0vMyptLGhbMV0rcFsxXS8zKm1dKSxjLnB1c2goW2ZbMF0tZFswXS8zKm0sZlsxXS1kWzFdLzMqbV0pKSxjLnB1c2goZiksRi5wdXNoKGMpLGg9ZjtyZXR1cm4gRn19LHsiLi4vLi4vbGliIjo3MTd9XSw5MDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsO3QoIi4uLy4uL2NvbnN0YW50cy9kb2NzIikuRk9STUFUX0xJTkssdCgiLi4vLi4vY29uc3RhbnRzL2RvY3MiKS5USU1FX0ZPUk1BVF9MSU5LO2UuZXhwb3J0cz17Y29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToiY2FsYyJ9LHNtb290aGluZzp7dmFsVHlwZToibnVtYmVyIixkZmx0OjEsbWluOjAsbWF4OjEuMyxlZGl0VHlwZToiY2FsYyJ9LHRpdGxlOnt0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxmb250Om4oe2VkaXRUeXBlOiJjYWxjIn0pLG9mZnNldDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjEwLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSx0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyItIiwibGluZWFyIiwiZGF0ZSIsImNhdGVnb3J5Il0sZGZsdDoiLSIsZWRpdFR5cGU6ImNhbGMifSxhdXRvcmFuZ2U6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbITAsITEsInJldmVyc2VkIl0sZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9LHJhbmdlbW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibm9ybWFsIiwidG96ZXJvIiwibm9ubmVnYXRpdmUiXSxkZmx0OiJub3JtYWwiLGVkaXRUeXBlOiJjYWxjIn0scmFuZ2U6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGVkaXRUeXBlOiJjYWxjIixpdGVtczpbe3ZhbFR5cGU6ImFueSIsZWRpdFR5cGU6ImNhbGMifSx7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYyJ9XX0sZml4ZWRyYW5nZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToiY2FsYyJ9LGNoZWF0ZXJ0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJpbmRleCIsInZhbHVlIl0sZGZsdDoidmFsdWUiLGVkaXRUeXBlOiJjYWxjIn0sdGlja21vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxpbmVhciIsImFycmF5Il0sZGZsdDoiYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sbnRpY2tzOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSx0aWNrdmFsczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx0aWNrdGV4dDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxzaG93dGlja2xhYmVsczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsic3RhcnQiLCJlbmQiLCJib3RoIiwibm9uZSJdLGRmbHQ6InN0YXJ0IixlZGl0VHlwZToiY2FsYyJ9LHRpY2tmb250Om4oe2VkaXRUeXBlOiJjYWxjIn0pLHRpY2thbmdsZTp7dmFsVHlwZToiYW5nbGUiLGRmbHQ6ImF1dG8iLGVkaXRUeXBlOiJjYWxjIn0sdGlja3ByZWZpeDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJjYWxjIn0sc2hvd3RpY2twcmVmaXg6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImFsbCIsImZpcnN0IiwibGFzdCIsIm5vbmUiXSxkZmx0OiJhbGwiLGVkaXRUeXBlOiJjYWxjIn0sdGlja3N1ZmZpeDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJjYWxjIn0sc2hvd3RpY2tzdWZmaXg6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImFsbCIsImZpcnN0IiwibGFzdCIsIm5vbmUiXSxkZmx0OiJhbGwiLGVkaXRUeXBlOiJjYWxjIn0sc2hvd2V4cG9uZW50Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhbGwiLCJmaXJzdCIsImxhc3QiLCJub25lIl0sZGZsdDoiYWxsIixlZGl0VHlwZToiY2FsYyJ9LGV4cG9uZW50Zm9ybWF0Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJub25lIiwiZSIsIkUiLCJwb3dlciIsIlNJIiwiQiJdLGRmbHQ6IkIiLGVkaXRUeXBlOiJjYWxjIn0sc2VwYXJhdGV0aG91c2FuZHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSx0aWNrZm9ybWF0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSx0aWNrZm9ybWF0c3RvcHM6byhpLnRpY2tmb3JtYXRzdG9wcywiY2FsYyIsImZyb20tcm9vdCIpLGNhdGVnb3J5b3JkZXI6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRyYWNlIiwiY2F0ZWdvcnkgYXNjZW5kaW5nIiwiY2F0ZWdvcnkgZGVzY2VuZGluZyIsImFycmF5Il0sZGZsdDoidHJhY2UiLGVkaXRUeXBlOiJjYWxjIn0sY2F0ZWdvcnlhcnJheTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxsYWJlbHBhZGRpbmc6e3ZhbFR5cGU6ImludGVnZXIiLGRmbHQ6MTAsZWRpdFR5cGU6ImNhbGMifSxsYWJlbHByZWZpeDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYyJ9LGxhYmVsc3VmZml4Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxzaG93bGluZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToiY2FsYyJ9LGxpbmVjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6YS5kZWZhdWx0TGluZSxlZGl0VHlwZToiY2FsYyJ9LGxpbmV3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEsZWRpdFR5cGU6ImNhbGMifSxncmlkY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToiY2FsYyJ9LGdyaWR3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEsZWRpdFR5cGU6ImNhbGMifSxzaG93Z3JpZDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9LG1pbm9yZ3JpZGNvdW50Ont2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxtaW5vcmdyaWR3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjEsZWRpdFR5cGU6ImNhbGMifSxtaW5vcmdyaWRjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6YS5saWdodExpbmUsZWRpdFR5cGU6ImNhbGMifSxzdGFydGxpbmU6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJjYWxjIn0sc3RhcnRsaW5lY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToiY2FsYyJ9LHN0YXJ0bGluZXdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MSxlZGl0VHlwZToiY2FsYyJ9LGVuZGxpbmU6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJjYWxjIn0sZW5kbGluZXdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MSxlZGl0VHlwZToiY2FsYyJ9LGVuZGxpbmVjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJjYWxjIn0sdGljazA6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn0sZHRpY2s6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sYXJyYXl0aWNrMDp7dmFsVHlwZToiaW50ZWdlciIsbWluOjAsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn0sYXJyYXlkdGljazp7dmFsVHlwZToiaW50ZWdlciIsbWluOjEsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sX2RlcHJlY2F0ZWQ6e3RpdGxlOnt2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJjYWxjIn0sdGl0bGVmb250Om4oe2VkaXRUeXBlOiJjYWxjIn0pLHRpdGxlb2Zmc2V0Ont2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MTAsZWRpdFR5cGU6ImNhbGMifX0sZWRpdFR5cGU6ImNhbGMifX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MSwiLi4vLi4vY29uc3RhbnRzL2RvY3MiOjY4OCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiOjc3NywiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTF9XSw5MDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIikuYWRkT3BhY2l0eSxpPXQoIi4uLy4uL3JlZ2lzdHJ5Iiksbz10KCIuLi8uLi9saWIiKSxzPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX3ZhbHVlX2RlZmF1bHRzIiksbD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vdGlja19sYWJlbF9kZWZhdWx0cyIpLGM9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2NhdGVnb3J5X29yZGVyX2RlZmF1bHRzIiksdT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vc2V0X2NvbnZlcnQiKSxoPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2F1dG90eXBlIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgZj1yLmxldHRlcixwPXIuZm9udHx8e30sZD1uW2YrImF4aXMiXTtmdW5jdGlvbiBnKHIsbil7cmV0dXJuIG8uY29lcmNlKHQsZSxkLHIsbil9ZnVuY3Rpb24gdihyLG4pe3JldHVybiBvLmNvZXJjZTIodCxlLGQscixuKX1yLm5hbWUmJihlLl9uYW1lPXIubmFtZSxlLl9pZD1yLm5hbWUpO3ZhciBtPWcoInR5cGUiKTsoIi0iPT09bSYmKHIuZGF0YSYmZnVuY3Rpb24odCxlKXtpZigiLSIhPT10LnR5cGUpcmV0dXJuO3ZhciByPXQuX2lkLmNoYXJBdCgwKSxuPXRbcisiY2FsZW5kYXIiXTt0LnR5cGU9aChlLG4pfShlLHIuZGF0YSksIi0iPT09ZS50eXBlP2UudHlwZT0ibGluZWFyIjptPXQudHlwZT1lLnR5cGUpLGcoInNtb290aGluZyIpLGcoImNoZWF0ZXJ0eXBlIiksZygic2hvd3RpY2tsYWJlbHMiKSxnKCJsYWJlbHByZWZpeCIsZisiID0gIiksZygibGFiZWxzdWZmaXgiKSxnKCJzaG93dGlja3ByZWZpeCIpLGcoInNob3d0aWNrc3VmZml4IiksZygic2VwYXJhdGV0aG91c2FuZHMiKSxnKCJ0aWNrZm9ybWF0IiksZygiZXhwb25lbnRmb3JtYXQiKSxnKCJzaG93ZXhwb25lbnQiKSxnKCJjYXRlZ29yeW9yZGVyIiksZygidGlja21vZGUiKSxnKCJ0aWNrdmFscyIpLGcoInRpY2t0ZXh0IiksZygidGljazAiKSxnKCJkdGljayIpLCJhcnJheSI9PT1lLnRpY2ttb2RlJiYoZygiYXJyYXl0aWNrMCIpLGcoImFycmF5ZHRpY2siKSksZygibGFiZWxwYWRkaW5nIiksZS5faG92ZXJ0aXRsZT1mLCJkYXRlIj09PW0pJiZpLmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiaGFuZGxlRGVmYXVsdHMiKSh0LGUsImNhbGVuZGFyIixyLmNhbGVuZGFyKTt1KGUsci5mdWxsTGF5b3V0KSxlLmMycD1vLmlkZW50aXR5O3ZhciB5PWcoImNvbG9yIixyLmRmbHRDb2xvcikseD15PT09dC5jb2xvcj95OnAuY29sb3I7ZygidGl0bGUudGV4dCIpJiYoby5jb2VyY2VGb250KGcsInRpdGxlLmZvbnQiLHtmYW1pbHk6cC5mYW1pbHksc2l6ZTpNYXRoLnJvdW5kKDEuMipwLnNpemUpLGNvbG9yOnh9KSxnKCJ0aXRsZS5vZmZzZXQiKSksZygidGlja2FuZ2xlIiksZygiYXV0b3JhbmdlIiwhZS5pc1ZhbGlkUmFuZ2UodC5yYW5nZSkpJiZnKCJyYW5nZW1vZGUiKSxnKCJyYW5nZSIpLGUuY2xlYW5SYW5nZSgpLGcoImZpeGVkcmFuZ2UiKSxzKHQsZSxnLG0pLGwodCxlLGcsbSxyKSxjKHQsZSxnLHtkYXRhOnIuZGF0YSxkYXRhQXR0cjpmfSk7dmFyIGI9digiZ3JpZGNvbG9yIixhKHksLjMpKSxfPXYoImdyaWR3aWR0aCIpLHc9Zygic2hvd2dyaWQiKTt3fHwoZGVsZXRlIGUuZ3JpZGNvbG9yLGRlbGV0ZSBlLmdyaWR3aWR0aCk7dmFyIGs9digic3RhcnRsaW5lY29sb3IiLHkpLFQ9digic3RhcnRsaW5ld2lkdGgiLF8pO2coInN0YXJ0bGluZSIsZS5zaG93Z3JpZHx8ISFrfHwhIVQpfHwoZGVsZXRlIGUuc3RhcnRsaW5lY29sb3IsZGVsZXRlIGUuc3RhcnRsaW5ld2lkdGgpO3ZhciBNPXYoImVuZGxpbmVjb2xvciIseSksQT12KCJlbmRsaW5ld2lkdGgiLF8pO3JldHVybiBnKCJlbmRsaW5lIixlLnNob3dncmlkfHwhIU18fCEhQSl8fChkZWxldGUgZS5lbmRsaW5lY29sb3IsZGVsZXRlIGUuZW5kbGluZXdpZHRoKSx3PyhnKCJtaW5vcmdyaWRjb3VudCIpLGcoIm1pbm9yZ3JpZHdpZHRoIixfKSxnKCJtaW5vcmdyaWRjb2xvciIsYShiLC4wNikpLGUubWlub3JncmlkY291bnR8fChkZWxldGUgZS5taW5vcmdyaWR3aWR0aCxkZWxldGUgZS5taW5vcmdyaWRjb2xvcikpOihkZWxldGUgZS5ncmlkY29sb3IsZGVsZXRlIGUuZ3JpZFdpZHRoKSwibm9uZSI9PT1lLnNob3d0aWNrbGFiZWxzJiYoZGVsZXRlIGUudGlja2ZvbnQsZGVsZXRlIGUudGlja2FuZ2xlLGRlbGV0ZSBlLnNob3dleHBvbmVudCxkZWxldGUgZS5leHBvbmVudGZvcm1hdCxkZWxldGUgZS50aWNrZm9ybWF0LGRlbGV0ZSBlLnNob3d0aWNrc3VmZml4LGRlbGV0ZSBlLnNob3d0aWNrcHJlZml4KSxlLnNob3d0aWNrc3VmZml4fHxkZWxldGUgZS50aWNrc3VmZml4LGUuc2hvd3RpY2twcmVmaXh8fGRlbGV0ZSBlLnRpY2twcmVmaXgsZygidGlja21vZGUiKSxlfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19hdXRvdHlwZSI6NzY2LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vY2F0ZWdvcnlfb3JkZXJfZGVmYXVsdHMiOjc2OSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3NldF9jb252ZXJ0Ijo3ODMsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX2xhYmVsX2RlZmF1bHRzIjo3ODQsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX3ZhbHVlX2RlZmF1bHRzIjo3ODYsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vYXR0cmlidXRlcyI6ODk5fV0sOTAzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksYT10KCIuLi8uLi9saWIiKS5pc0FycmF5MUQsaT10KCIuL2NoZWF0ZXJfYmFzaXMiKSxvPXQoIi4vYXJyYXlfbWlubWF4Iikscz10KCIuL2NhbGNfZ3JpZGxpbmVzIiksbD10KCIuL2NhbGNfbGFiZWxzIiksYz10KCIuL2NhbGNfY2xpcHBhdGgiKSx1PXQoIi4uL2hlYXRtYXAvY2xlYW5fMmRfYXJyYXkiKSxoPXQoIi4vc21vb3RoX2ZpbGxfMmRfYXJyYXkiKSxmPXQoIi4uL2hlYXRtYXAvY29udmVydF9jb2x1bW5feHl6IikscD10KCIuL3NldF9jb252ZXJ0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bi5nZXRGcm9tSWQodCxlLnhheGlzKSxkPW4uZ2V0RnJvbUlkKHQsZS55YXhpcyksZz1lLmFheGlzLHY9ZS5iYXhpcyxtPWUueCx5PWUueSx4PVtdO20mJmEobSkmJngucHVzaCgieCIpLHkmJmEoeSkmJngucHVzaCgieSIpLHgubGVuZ3RoJiZmKGUsZyx2LCJhIiwiYiIseCk7dmFyIGI9ZS5fYT1lLl9hfHxlLmEsXz1lLl9iPWUuX2J8fGUuYjttPWUuX3h8fGUueCx5PWUuX3l8fGUueTt2YXIgdz17fTtpZihlLl9jaGVhdGVyKXt2YXIgaz0iaW5kZXgiPT09Zy5jaGVhdGVydHlwZT9iLmxlbmd0aDpiLFQ9ImluZGV4Ij09PXYuY2hlYXRlcnR5cGU/Xy5sZW5ndGg6XzttPWkoayxULGUuY2hlYXRlcnNsb3BlKX1lLl94PW09dShtKSxlLl95PXk9dSh5KSxoKG0sYixfKSxoKHksYixfKSxwKGUpLGUuc2V0U2NhbGUoKTt2YXIgTT1vKG0pLEE9byh5KSxTPS41KihNWzFdLU1bMF0pLEU9LjUqKE1bMV0rTVswXSksTD0uNSooQVsxXS1BWzBdKSxDPS41KihBWzFdK0FbMF0pO3JldHVybiBNPVtFLTEuMypTLEUrMS4zKlNdLEE9W0MtMS4zKkwsQysxLjMqTF0sZS5fZXh0cmVtZXNbci5faWRdPW4uZmluZEV4dHJlbWVzKHIsTSx7cGFkZGVkOiEwfSksZS5fZXh0cmVtZXNbZC5faWRdPW4uZmluZEV4dHJlbWVzKGQsQSx7cGFkZGVkOiEwfSkscyhlLCJhIiwiYiIpLHMoZSwiYiIsImEiKSxsKGUsZyksbChlLHYpLHcuY2xpcHNlZ21lbnRzPWMoZS5feGN0cmwsZS5feWN0cmwsZyx2KSx3Lng9bSx3Lnk9eSx3LmE9Yix3LmI9Xyxbd119fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9oZWF0bWFwL2NsZWFuXzJkX2FycmF5IjoxMDAyLCIuLi9oZWF0bWFwL2NvbnZlcnRfY29sdW1uX3h5eiI6MTAwNCwiLi9hcnJheV9taW5tYXgiOjg5OCwiLi9jYWxjX2NsaXBwYXRoIjo5MDQsIi4vY2FsY19ncmlkbGluZXMiOjkwNSwiLi9jYWxjX2xhYmVscyI6OTA2LCIuL2NoZWF0ZXJfYmFzaXMiOjkwOCwiLi9zZXRfY29udmVydCI6OTIxLCIuL3Ntb290aF9maWxsXzJkX2FycmF5Ijo5MjJ9XSw5MDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbyxzPVtdLGw9ISFyLnNtb290aGluZyxjPSEhbi5zbW9vdGhpbmcsdT10WzBdLmxlbmd0aC0xLGg9dC5sZW5ndGgtMTtmb3IoYT0wLGk9W10sbz1bXTthPD11O2ErKylpW2FdPXRbMF1bYV0sb1thXT1lWzBdW2FdO2ZvcihzLnB1c2goe3g6aSx5Om8sYmljdWJpYzpsfSksYT0wLGk9W10sbz1bXTthPD1oO2ErKylpW2FdPXRbYV1bdV0sb1thXT1lW2FdW3VdO2ZvcihzLnB1c2goe3g6aSx5Om8sYmljdWJpYzpjfSksYT11LGk9W10sbz1bXTthPj0wO2EtLSlpW3UtYV09dFtoXVthXSxvW3UtYV09ZVtoXVthXTtmb3Iocy5wdXNoKHt4OmkseTpvLGJpY3ViaWM6bH0pLGE9aCxpPVtdLG89W107YT49MDthLS0paVtoLWFdPXRbYV1bMF0sb1toLWFdPWVbYV1bMF07cmV0dXJuIHMucHVzaCh7eDppLHk6byxiaWN1YmljOmN9KSxzfX0se31dLDkwNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGE9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbSx5LHg9dFsiXyIrZV0sYj10W2UrImF4aXMiXSxfPWIuX2dyaWRsaW5lcz1bXSx3PWIuX21pbm9yZ3JpZGxpbmVzPVtdLGs9Yi5fYm91bmRhcnlsaW5lcz1bXSxUPXRbIl8iK3JdLE09dFtyKyJheGlzIl07ImFycmF5Ij09PWIudGlja21vZGUmJihiLnRpY2t2YWxzPXguc2xpY2UoKSk7dmFyIEE9dC5feGN0cmwsUz10Ll95Y3RybCxFPUFbMF0ubGVuZ3RoLEw9QS5sZW5ndGgsQz10Ll9hLmxlbmd0aCxQPXQuX2IubGVuZ3RoO24ucHJlcFRpY2tzKGIpLCJhcnJheSI9PT1iLnRpY2ttb2RlJiZkZWxldGUgYi50aWNrdmFsczt2YXIgTz1iLnNtb290aGluZz8zOjE7ZnVuY3Rpb24geihuKXt2YXIgYSxpLG8scyxsLGMsdSxoLHAsZCxnLHYsbT1bXSx5PVtdLHg9e307aWYoImIiPT09ZSlmb3IoaT10LmIyaihuKSxvPU1hdGguZmxvb3IoTWF0aC5tYXgoMCxNYXRoLm1pbihQLTIsaSkpKSxzPWktbyx4Lmxlbmd0aD1QLHguY3Jvc3NMZW5ndGg9Qyx4Lnh5PWZ1bmN0aW9uKGUpe3JldHVybiB0LmV2YWx4eShbXSxlLGkpfSx4LmR4eT1mdW5jdGlvbihlLHIpe3JldHVybiB0LmR4eWRpKFtdLGUsbyxyLHMpfSxhPTA7YTxDO2ErKyljPU1hdGgubWluKEMtMixhKSx1PWEtYyxoPXQuZXZhbHh5KFtdLGEsaSksTS5zbW9vdGhpbmcmJmE+MCYmKHA9dC5keHlkaShbXSxhLTEsbywwLHMpLG0ucHVzaChsWzBdK3BbMF0vMykseS5wdXNoKGxbMV0rcFsxXS8zKSxkPXQuZHh5ZGkoW10sYS0xLG8sMSxzKSxtLnB1c2goaFswXS1kWzBdLzMpLHkucHVzaChoWzFdLWRbMV0vMykpLG0ucHVzaChoWzBdKSx5LnB1c2goaFsxXSksbD1oO2Vsc2UgZm9yKGE9dC5hMmkobiksYz1NYXRoLmZsb29yKE1hdGgubWF4KDAsTWF0aC5taW4oQy0yLGEpKSksdT1hLWMseC5sZW5ndGg9Qyx4LmNyb3NzTGVuZ3RoPVAseC54eT1mdW5jdGlvbihlKXtyZXR1cm4gdC5ldmFseHkoW10sYSxlKX0seC5keHk9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5keHlkaihbXSxjLGUsdSxyKX0saT0wO2k8UDtpKyspbz1NYXRoLm1pbihQLTIsaSkscz1pLW8saD10LmV2YWx4eShbXSxhLGkpLE0uc21vb3RoaW5nJiZpPjAmJihnPXQuZHh5ZGooW10sYyxpLTEsdSwwKSxtLnB1c2gobFswXStnWzBdLzMpLHkucHVzaChsWzFdK2dbMV0vMyksdj10LmR4eWRqKFtdLGMsaS0xLHUsMSksbS5wdXNoKGhbMF0tdlswXS8zKSx5LnB1c2goaFsxXS12WzFdLzMpKSxtLnB1c2goaFswXSkseS5wdXNoKGhbMV0pLGw9aDtyZXR1cm4geC5heGlzTGV0dGVyPWUseC5heGlzPWIseC5jcm9zc0F4aXM9TSx4LnZhbHVlPW4seC5jb25zdHZhcj1yLHguaW5kZXg9Zix4Lng9bSx4Lnk9eSx4LnNtb290aGluZz1NLnNtb290aGluZyx4fWZ1bmN0aW9uIEkobil7dmFyIGEsaSxvLHMsbCxjPVtdLHU9W10saD17fTtpZihoLmxlbmd0aD14Lmxlbmd0aCxoLmNyb3NzTGVuZ3RoPVQubGVuZ3RoLCJiIj09PWUpZm9yKG89TWF0aC5tYXgoMCxNYXRoLm1pbihQLTIsbikpLGw9TWF0aC5taW4oMSxNYXRoLm1heCgwLG4tbykpLGgueHk9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZXZhbHh5KFtdLGUsbil9LGguZHh5PWZ1bmN0aW9uKGUscil7cmV0dXJuIHQuZHh5ZGkoW10sZSxvLHIsbCl9LGE9MDthPEU7YSsrKWNbYV09QVtuKk9dW2FdLHVbYV09U1tuKk9dW2FdO2Vsc2UgZm9yKGk9TWF0aC5tYXgoMCxNYXRoLm1pbihDLTIsbikpLHM9TWF0aC5taW4oMSxNYXRoLm1heCgwLG4taSkpLGgueHk9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZXZhbHh5KFtdLG4sZSl9LGguZHh5PWZ1bmN0aW9uKGUscil7cmV0dXJuIHQuZHh5ZGooW10saSxlLHMscil9LGE9MDthPEw7YSsrKWNbYV09QVthXVtuKk9dLHVbYV09U1thXVtuKk9dO3JldHVybiBoLmF4aXNMZXR0ZXI9ZSxoLmF4aXM9YixoLmNyb3NzQXhpcz1NLGgudmFsdWU9eFtuXSxoLmNvbnN0dmFyPXIsaC5pbmRleD1uLGgueD1jLGgueT11LGguc21vb3RoaW5nPU0uc21vb3RoaW5nLGh9aWYoImFycmF5Ij09PWIudGlja21vZGUpe2ZvcihsPTVlLTE1LHU9KGM9W01hdGguZmxvb3IoKHgubGVuZ3RoLTEtYi5hcnJheXRpY2swKS9iLmFycmF5ZHRpY2sqKDErbCkpLE1hdGguY2VpbCgtYi5hcnJheXRpY2swL2IuYXJyYXlkdGljay8oMStsKSldLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSkpWzBdLTEsaD1jWzFdKzEsZj11O2Y8aDtmKyspKG89Yi5hcnJheXRpY2swK2IuYXJyYXlkdGljaypmKTwwfHxvPngubGVuZ3RoLTF8fF8ucHVzaChhKEkobykse2NvbG9yOmIuZ3JpZGNvbG9yLHdpZHRoOmIuZ3JpZHdpZHRofSkpO2ZvcihmPXU7ZjxoO2YrKylpZihzPWIuYXJyYXl0aWNrMCtiLmFycmF5ZHRpY2sqZixnPU1hdGgubWluKHMrYi5hcnJheWR0aWNrLHgubGVuZ3RoLTEpLCEoczwwfHxzPngubGVuZ3RoLTF8fGc8MHx8Zz54Lmxlbmd0aC0xKSlmb3Iodj14W3NdLG09eFtnXSxpPTA7aTxiLm1pbm9yZ3JpZGNvdW50O2krKykoeT1nLXMpPD0wfHwoZD12KyhtLXYpKihpKzEpLyhiLm1pbm9yZ3JpZGNvdW50KzEpKihiLmFycmF5ZHRpY2sveSkpPHhbMF18fGQ+eFt4Lmxlbmd0aC0xXXx8dy5wdXNoKGEoeihkKSx7Y29sb3I6Yi5taW5vcmdyaWRjb2xvcix3aWR0aDpiLm1pbm9yZ3JpZHdpZHRofSkpO2Iuc3RhcnRsaW5lJiZrLnB1c2goYShJKDApLHtjb2xvcjpiLnN0YXJ0bGluZWNvbG9yLHdpZHRoOmIuc3RhcnRsaW5ld2lkdGh9KSksYi5lbmRsaW5lJiZrLnB1c2goYShJKHgubGVuZ3RoLTEpLHtjb2xvcjpiLmVuZGxpbmVjb2xvcix3aWR0aDpiLmVuZGxpbmV3aWR0aH0pKX1lbHNle2ZvcihsPTVlLTE1LHU9KGM9W01hdGguZmxvb3IoKHhbeC5sZW5ndGgtMV0tYi50aWNrMCkvYi5kdGljayooMStsKSksTWF0aC5jZWlsKCh4WzBdLWIudGljazApL2IuZHRpY2svKDErbCkpXS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pKVswXSxoPWNbMV0sZj11O2Y8PWg7ZisrKXA9Yi50aWNrMCtiLmR0aWNrKmYsXy5wdXNoKGEoeihwKSx7Y29sb3I6Yi5ncmlkY29sb3Isd2lkdGg6Yi5ncmlkd2lkdGh9KSk7Zm9yKGY9dS0xO2Y8aCsxO2YrKylmb3IocD1iLnRpY2swK2IuZHRpY2sqZixpPTA7aTxiLm1pbm9yZ3JpZGNvdW50O2krKykoZD1wK2IuZHRpY2sqKGkrMSkvKGIubWlub3JncmlkY291bnQrMSkpPHhbMF18fGQ+eFt4Lmxlbmd0aC0xXXx8dy5wdXNoKGEoeihkKSx7Y29sb3I6Yi5taW5vcmdyaWRjb2xvcix3aWR0aDpiLm1pbm9yZ3JpZHdpZHRofSkpO2Iuc3RhcnRsaW5lJiZrLnB1c2goYSh6KHhbMF0pLHtjb2xvcjpiLnN0YXJ0bGluZWNvbG9yLHdpZHRoOmIuc3RhcnRsaW5ld2lkdGh9KSksYi5lbmRsaW5lJiZrLnB1c2goYSh6KHhbeC5sZW5ndGgtMV0pLHtjb2xvcjpiLmVuZGxpbmVjb2xvcix3aWR0aDpiLmVuZGxpbmV3aWR0aH0pKX19fSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDkwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGE9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaSxvLHM9ZS5fbGFiZWxzPVtdLGw9ZS5fZ3JpZGxpbmVzO2ZvcihyPTA7cjxsLmxlbmd0aDtyKyspbz1sW3JdLC0xIT09WyJzdGFydCIsImJvdGgiXS5pbmRleE9mKGUuc2hvd3RpY2tsYWJlbHMpJiYoaT1uLnRpY2tUZXh0KGUsby52YWx1ZSksYShpLHtwcmVmaXg6dm9pZCAwLHN1ZmZpeDp2b2lkIDAsZW5kQW5jaG9yOiEwLHh5Om8ueHkoMCksZHh5Om8uZHh5KDAsMCksYXhpczpvLmF4aXMsbGVuZ3RoOm8uY3Jvc3NBeGlzLmxlbmd0aCxmb250Om8uYXhpcy50aWNrZm9udCxpc0ZpcnN0OjA9PT1yLGlzTGFzdDpyPT09bC5sZW5ndGgtMX0pLHMucHVzaChpKSksLTEhPT1bImVuZCIsImJvdGgiXS5pbmRleE9mKGUuc2hvd3RpY2tsYWJlbHMpJiYoaT1uLnRpY2tUZXh0KGUsby52YWx1ZSksYShpLHtlbmRBbmNob3I6ITEseHk6by54eShvLmNyb3NzTGVuZ3RoLTEpLGR4eTpvLmR4eShvLmNyb3NzTGVuZ3RoLTIsMSksYXhpczpvLmF4aXMsbGVuZ3RoOm8uY3Jvc3NBeGlzLmxlbmd0aCxmb250Om8uYXhpcy50aWNrZm9udCxpc0ZpcnN0OjA9PT1yLGlzTGFzdDpyPT09bC5sZW5ndGgtMX0pLHMucHVzaChpKSl9fSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDkwNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dFswXS1lWzBdLGk9dFsxXS1lWzFdLG89clswXS1lWzBdLHM9clsxXS1lWzFdLGw9TWF0aC5wb3coYSphK2kqaSwuMjUpLGM9TWF0aC5wb3cobypvK3MqcywuMjUpLHU9KGMqYyphLWwqbCpvKSpuLGg9KGMqYyppLWwqbCpzKSpuLGY9YyoobCtjKSozLHA9bCoobCtjKSozO3JldHVybltbZVswXSsoZiYmdS9mKSxlWzFdKyhmJiZoL2YpXSxbZVswXS0ocCYmdS9wKSxlWzFdLShwJiZoL3ApXV19fSx7fV0sOTA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXlPclR5cGVkQXJyYXk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYSxpLG8scyxsLGMsdT1bXSxoPW4odCk/dC5sZW5ndGg6dCxmPW4oZSk/ZS5sZW5ndGg6ZSxwPW4odCk/dDpudWxsLGQ9bihlKT9lOm51bGw7cCYmKG89KHAubGVuZ3RoLTEpLyhwW3AubGVuZ3RoLTFdLXBbMF0pLyhoLTEpKSxkJiYocz0oZC5sZW5ndGgtMSkvKGRbZC5sZW5ndGgtMV0tZFswXSkvKGYtMSkpO3ZhciBnPTEvMCx2PS0xLzA7Zm9yKGk9MDtpPGY7aSsrKWZvcih1W2ldPVtdLGw9ZD8oZFtpXS1kWzBdKSpzOmkvKGYtMSksYT0wO2E8aDthKyspYz0ocD8ocFthXS1wWzBdKSpvOmEvKGgtMSkpLWwqcixnPU1hdGgubWluKGMsZyksdj1NYXRoLm1heChjLHYpLHVbaV1bYV09Yzt2YXIgbT0xLyh2LWcpLHk9LWcqbTtmb3IoaT0wO2k8ZjtpKyspZm9yKGE9MDthPGg7YSsrKXVbaV1bYV09bSp1W2ldW2FdK3k7cmV0dXJuIHV9fSx7Ii4uLy4uL2xpYiI6NzE3fV0sOTA5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vY2F0bXVsbF9yb20iKSxhPXQoIi4uLy4uL2xpYiIpLmVuc3VyZUFycmF5O2Z1bmN0aW9uIGkodCxlLHIpe3ZhciBuPS0uNSpyWzBdKzEuNSplWzBdLGE9LS41KnJbMV0rMS41KmVbMV07cmV0dXJuWygyKm4rdFswXSkvMywoMiphK3RbMV0pLzNdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvLHMsbCl7dmFyIGMsdSxoLGYscCxkLGcsdixtLHkseD1yWzBdLmxlbmd0aCxiPXIubGVuZ3RoLF89cz8zKngtMjp4LHc9bD8zKmItMjpiO2Zvcih0PWEodCx3KSxlPWEoZSx3KSxoPTA7aDx3O2grKyl0W2hdPWEodFtoXSxfKSxlW2hdPWEoZVtoXSxfKTtmb3IodT0wLGY9MDt1PGI7dSsrLGYrPWw/MzoxKWZvcihwPXRbZl0sZD1lW2ZdLGc9clt1XSx2PW9bdV0sYz0wLGg9MDtjPHg7YysrLGgrPXM/MzoxKXBbaF09Z1tjXSxkW2hdPXZbY107aWYocylmb3IodT0wLGY9MDt1PGI7dSsrLGYrPWw/MzoxKXtmb3IoYz0xLGg9MztjPHgtMTtjKyssaCs9MyltPW4oW3JbdV1bYy0xXSxvW3VdW2MtMV1dLFtyW3VdW2NdLG9bdV1bY11dLFtyW3VdW2MrMV0sb1t1XVtjKzFdXSxzKSx0W2ZdW2gtMV09bVswXVswXSxlW2ZdW2gtMV09bVswXVsxXSx0W2ZdW2grMV09bVsxXVswXSxlW2ZdW2grMV09bVsxXVsxXTt5PWkoW3RbZl1bMF0sZVtmXVswXV0sW3RbZl1bMl0sZVtmXVsyXV0sW3RbZl1bM10sZVtmXVszXV0pLHRbZl1bMV09eVswXSxlW2ZdWzFdPXlbMV0seT1pKFt0W2ZdW18tMV0sZVtmXVtfLTFdXSxbdFtmXVtfLTNdLGVbZl1bXy0zXV0sW3RbZl1bXy00XSxlW2ZdW18tNF1dKSx0W2ZdW18tMl09eVswXSxlW2ZdW18tMl09eVsxXX1pZihsKWZvcihoPTA7aDxfO2grKyl7Zm9yKGY9MztmPHctMztmKz0zKW09bihbdFtmLTNdW2hdLGVbZi0zXVtoXV0sW3RbZl1baF0sZVtmXVtoXV0sW3RbZiszXVtoXSxlW2YrM11baF1dLGwpLHRbZi0xXVtoXT1tWzBdWzBdLGVbZi0xXVtoXT1tWzBdWzFdLHRbZisxXVtoXT1tWzFdWzBdLGVbZisxXVtoXT1tWzFdWzFdO3k9aShbdFswXVtoXSxlWzBdW2hdXSxbdFsyXVtoXSxlWzJdW2hdXSxbdFszXVtoXSxlWzNdW2hdXSksdFsxXVtoXT15WzBdLGVbMV1baF09eVsxXSx5PWkoW3Rbdy0xXVtoXSxlW3ctMV1baF1dLFt0W3ctM11baF0sZVt3LTNdW2hdXSxbdFt3LTRdW2hdLGVbdy00XVtoXV0pLHRbdy0yXVtoXT15WzBdLGVbdy0yXVtoXT15WzFdfWlmKHMmJmwpZm9yKGY9MTtmPHc7Zis9KGYrMSklMz09MD8yOjEpe2ZvcihoPTM7aDxfLTM7aCs9MyltPW4oW3RbZl1baC0zXSxlW2ZdW2gtM11dLFt0W2ZdW2hdLGVbZl1baF1dLFt0W2ZdW2grM10sZVtmXVtoKzNdXSxzKSx0W2ZdW2gtMV09LjUqKHRbZl1baC0xXSttWzBdWzBdKSxlW2ZdW2gtMV09LjUqKGVbZl1baC0xXSttWzBdWzFdKSx0W2ZdW2grMV09LjUqKHRbZl1baCsxXSttWzFdWzBdKSxlW2ZdW2grMV09LjUqKGVbZl1baCsxXSttWzFdWzFdKTt5PWkoW3RbZl1bMF0sZVtmXVswXV0sW3RbZl1bMl0sZVtmXVsyXV0sW3RbZl1bM10sZVtmXVszXV0pLHRbZl1bMV09LjUqKHRbZl1bMV0reVswXSksZVtmXVsxXT0uNSooZVtmXVsxXSt5WzFdKSx5PWkoW3RbZl1bXy0xXSxlW2ZdW18tMV1dLFt0W2ZdW18tM10sZVtmXVtfLTNdXSxbdFtmXVtfLTRdLGVbZl1bXy00XV0pLHRbZl1bXy0yXT0uNSoodFtmXVtfLTJdK3lbMF0pLGVbZl1bXy0yXT0uNSooZVtmXVtfLTJdK3lbMV0pfXJldHVyblt0LGVdfX0seyIuLi8uLi9saWIiOjcxNywiLi9jYXRtdWxsX3JvbSI6OTA3fV0sOTEwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17UkVMQVRJVkVfQ1VMTF9UT0xFUkFOQ0U6MWUtNn19LHt9XSw5MTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSYmcj9mdW5jdGlvbihlLHIsbixhLGkpe3ZhciBvLHMsbCxjLHUsaDtlfHwoZT1bXSkscio9MyxuKj0zO3ZhciBmPWEqYSxwPTEtYSxkPXAqcCxnPXAqYSoyLHY9LTMqZCxtPTMqKGQtZykseT0zKihnLWYpLHg9MypmLGI9aSppLF89YippLHc9MS1pLGs9dyp3LFQ9ayp3O2ZvcihoPTA7aDx0Lmxlbmd0aDtoKyspbz12Kih1PXRbaF0pW25dW3JdK20qdVtuXVtyKzFdK3kqdVtuXVtyKzJdK3gqdVtuXVtyKzNdLHM9dip1W24rMV1bcl0rbSp1W24rMV1bcisxXSt5KnVbbisxXVtyKzJdK3gqdVtuKzFdW3IrM10sbD12KnVbbisyXVtyXSttKnVbbisyXVtyKzFdK3kqdVtuKzJdW3IrMl0reCp1W24rMl1bciszXSxjPXYqdVtuKzNdW3JdK20qdVtuKzNdW3IrMV0reSp1W24rM11bcisyXSt4KnVbbiszXVtyKzNdLGVbaF09VCpvKzMqKGsqaSpzK3cqYipsKStfKmM7cmV0dXJuIGV9OmU/ZnVuY3Rpb24oZSxyLG4sYSxpKXt2YXIgbyxzLGwsYztlfHwoZT1bXSkscio9Mzt2YXIgdT1hKmEsaD0xLWEsZj1oKmgscD1oKmEqMixkPS0zKmYsZz0zKihmLXApLHY9MyoocC11KSxtPTMqdSx5PTEtaTtmb3IobD0wO2w8dC5sZW5ndGg7bCsrKW89ZCooYz10W2xdKVtuXVtyXStnKmNbbl1bcisxXSt2KmNbbl1bcisyXSttKmNbbl1bciszXSxzPWQqY1tuKzFdW3JdK2cqY1tuKzFdW3IrMV0rdipjW24rMV1bcisyXSttKmNbbisxXVtyKzNdLGVbbF09eSpvK2kqcztyZXR1cm4gZX06cj9mdW5jdGlvbihlLHIsbixhLGkpe3ZhciBvLHMsbCxjLHUsaDtlfHwoZT1bXSksbio9Mzt2YXIgZj1pKmkscD1mKmksZD0xLWksZz1kKmQsdj1nKmQ7Zm9yKHU9MDt1PHQubGVuZ3RoO3UrKylvPShoPXRbdV0pW25dW3IrMV0taFtuXVtyXSxzPWhbbisxXVtyKzFdLWhbbisxXVtyXSxsPWhbbisyXVtyKzFdLWhbbisyXVtyXSxjPWhbbiszXVtyKzFdLWhbbiszXVtyXSxlW3VdPXYqbyszKihnKmkqcytkKmYqbCkrcCpjO3JldHVybiBlfTpmdW5jdGlvbihlLHIsbixhLGkpe3ZhciBvLHMsbCxjO2V8fChlPVtdKTt2YXIgdT0xLWk7Zm9yKGw9MDtsPHQubGVuZ3RoO2wrKylvPShjPXRbbF0pW25dW3IrMV0tY1tuXVtyXSxzPWNbbisxXVtyKzFdLWNbbisxXVtyXSxlW2xdPXUqbytpKnM7cmV0dXJuIGV9fX0se31dLDkxMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlJiZyP2Z1bmN0aW9uKGUscixuLGEsaSl7dmFyIG8scyxsLGMsdSxoO2V8fChlPVtdKSxyKj0zLG4qPTM7dmFyIGY9YSphLHA9ZiphLGQ9MS1hLGc9ZCpkLHY9ZypkLG09aSppLHk9MS1pLHg9eSp5LGI9eSppKjIsXz0tMyp4LHc9MyooeC1iKSxrPTMqKGItbSksVD0zKm07Zm9yKGg9MDtoPHQubGVuZ3RoO2grKylvPV8qKHU9dFtoXSlbbl1bcl0rdyp1W24rMV1bcl0rayp1W24rMl1bcl0rVCp1W24rM11bcl0scz1fKnVbbl1bcisxXSt3KnVbbisxXVtyKzFdK2sqdVtuKzJdW3IrMV0rVCp1W24rM11bcisxXSxsPV8qdVtuXVtyKzJdK3cqdVtuKzFdW3IrMl0rayp1W24rMl1bcisyXStUKnVbbiszXVtyKzJdLGM9Xyp1W25dW3IrM10rdyp1W24rMV1bciszXStrKnVbbisyXVtyKzNdK1QqdVtuKzNdW3IrM10sZVtoXT12Km8rMyooZyphKnMrZCpmKmwpK3AqYztyZXR1cm4gZX06ZT9mdW5jdGlvbihlLHIsbixhLGkpe3ZhciBvLHMsbCxjLHUsaDtlfHwoZT1bXSkscio9Mzt2YXIgZj1pKmkscD1mKmksZD0xLWksZz1kKmQsdj1nKmQ7Zm9yKHU9MDt1PHQubGVuZ3RoO3UrKylvPShoPXRbdV0pW24rMV1bcl0taFtuXVtyXSxzPWhbbisxXVtyKzFdLWhbbl1bcisxXSxsPWhbbisxXVtyKzJdLWhbbl1bcisyXSxjPWhbbisxXVtyKzNdLWhbbl1bciszXSxlW3VdPXYqbyszKihnKmkqcytkKmYqbCkrcCpjO3JldHVybiBlfTpyP2Z1bmN0aW9uKGUscixuLGEsaSl7dmFyIG8scyxsLGM7ZXx8KGU9W10pLG4qPTM7dmFyIHU9MS1hLGg9aSppLGY9MS1pLHA9ZipmLGQ9ZippKjIsZz0tMypwLHY9MyoocC1kKSxtPTMqKGQtaCkseT0zKmg7Zm9yKGw9MDtsPHQubGVuZ3RoO2wrKylvPWcqKGM9dFtsXSlbbl1bcl0rdipjW24rMV1bcl0rbSpjW24rMl1bcl0reSpjW24rM11bcl0scz1nKmNbbl1bcisxXSt2KmNbbisxXVtyKzFdK20qY1tuKzJdW3IrMV0reSpjW24rM11bcisxXSxlW2xdPXUqbythKnM7cmV0dXJuIGV9OmZ1bmN0aW9uKGUscixuLGEsaSl7dmFyIG8scyxsLGM7ZXx8KGU9W10pO3ZhciB1PTEtYTtmb3IobD0wO2w8dC5sZW5ndGg7bCsrKW89KGM9dFtsXSlbbisxXVtyXS1jW25dW3JdLHM9Y1tuKzFdW3IrMV0tY1tuXVtyKzFdLGVbbF09dSpvK2EqcztyZXR1cm4gZX19fSx7fV0sOTEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPWUtMixvPXItMjtyZXR1cm4gbiYmYT9mdW5jdGlvbihlLHIsbil7dmFyIGEscyxsLGMsdSxoO2V8fChlPVtdKTt2YXIgZj1NYXRoLm1heCgwLE1hdGgubWluKE1hdGguZmxvb3IociksaSkpLHA9TWF0aC5tYXgoMCxNYXRoLm1pbihNYXRoLmZsb29yKG4pLG8pKSxkPU1hdGgubWF4KDAsTWF0aC5taW4oMSxyLWYpKSxnPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuLXApKTtmKj0zLHAqPTM7dmFyIHY9ZCpkLG09dipkLHk9MS1kLHg9eSp5LGI9eCp5LF89ZypnLHc9XypnLGs9MS1nLFQ9ayprLE09VCprO2ZvcihoPTA7aDx0Lmxlbmd0aDtoKyspYT1iKih1PXRbaF0pW3BdW2ZdKzMqKHgqZCp1W3BdW2YrMV0reSp2KnVbcF1bZisyXSkrbSp1W3BdW2YrM10scz1iKnVbcCsxXVtmXSszKih4KmQqdVtwKzFdW2YrMV0reSp2KnVbcCsxXVtmKzJdKSttKnVbcCsxXVtmKzNdLGw9Yip1W3ArMl1bZl0rMyooeCpkKnVbcCsyXVtmKzFdK3kqdip1W3ArMl1bZisyXSkrbSp1W3ArMl1bZiszXSxjPWIqdVtwKzNdW2ZdKzMqKHgqZCp1W3ArM11bZisxXSt5KnYqdVtwKzNdW2YrMl0pK20qdVtwKzNdW2YrM10sZVtoXT1NKmErMyooVCpnKnMraypfKmwpK3cqYztyZXR1cm4gZX06bj9mdW5jdGlvbihlLHIsbil7ZXx8KGU9W10pO3ZhciBhLHMsbCxjLHUsaCxmPU1hdGgubWF4KDAsTWF0aC5taW4oTWF0aC5mbG9vcihyKSxpKSkscD1NYXRoLm1heCgwLE1hdGgubWluKE1hdGguZmxvb3IobiksbykpLGQ9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHItZikpLGc9TWF0aC5tYXgoMCxNYXRoLm1pbigxLG4tcCkpO2YqPTM7dmFyIHY9ZCpkLG09dipkLHk9MS1kLHg9eSp5LGI9eCp5LF89MS1nO2Zvcih1PTA7dTx0Lmxlbmd0aDt1KyspYT1fKihoPXRbdV0pW3BdW2ZdK2cqaFtwKzFdW2ZdLHM9XypoW3BdW2YrMV0rZypoW3ArMV1bZisxXSxsPV8qaFtwXVtmKzJdK2cqaFtwKzFdW2YrMV0sYz1fKmhbcF1bZiszXStnKmhbcCsxXVtmKzFdLGVbdV09YiphKzMqKHgqZCpzK3kqdipsKSttKmM7cmV0dXJuIGV9OmE/ZnVuY3Rpb24oZSxyLG4pe2V8fChlPVtdKTt2YXIgYSxzLGwsYyx1LGgsZj1NYXRoLm1heCgwLE1hdGgubWluKE1hdGguZmxvb3IociksaSkpLHA9TWF0aC5tYXgoMCxNYXRoLm1pbihNYXRoLmZsb29yKG4pLG8pKSxkPU1hdGgubWF4KDAsTWF0aC5taW4oMSxyLWYpKSxnPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuLXApKTtwKj0zO3ZhciB2PWcqZyxtPXYqZyx5PTEtZyx4PXkqeSxiPXgqeSxfPTEtZDtmb3IodT0wO3U8dC5sZW5ndGg7dSsrKWE9XyooaD10W3VdKVtwXVtmXStkKmhbcF1bZisxXSxzPV8qaFtwKzFdW2ZdK2QqaFtwKzFdW2YrMV0sbD1fKmhbcCsyXVtmXStkKmhbcCsyXVtmKzFdLGM9XypoW3ArM11bZl0rZCpoW3ArM11bZisxXSxlW3VdPWIqYSszKih4Kmcqcyt5KnYqbCkrbSpjO3JldHVybiBlfTpmdW5jdGlvbihlLHIsbil7ZXx8KGU9W10pO3ZhciBhLHMsbCxjLHU9TWF0aC5tYXgoMCxNYXRoLm1pbihNYXRoLmZsb29yKHIpLGkpKSxoPU1hdGgubWF4KDAsTWF0aC5taW4oTWF0aC5mbG9vcihuKSxvKSksZj1NYXRoLm1heCgwLE1hdGgubWluKDEsci11KSkscD1NYXRoLm1heCgwLE1hdGgubWluKDEsbi1oKSksZD0xLXAsZz0xLWY7Zm9yKGw9MDtsPHQubGVuZ3RoO2wrKylhPWcqKGM9dFtsXSlbaF1bdV0rZipjW2hdW3UrMV0scz1nKmNbaCsxXVt1XStmKmNbaCsxXVt1KzFdLGVbbF09ZCphK3AqcztyZXR1cm4gZX19fSx7fV0sOTE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi94eV9kZWZhdWx0cyIpLGk9dCgiLi9hYl9kZWZhdWx0cyIpLG89dCgiLi9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbCl7ZnVuY3Rpb24gYyhyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsbyxyLGEpfWUuX2NsaXBQYXRoSWQ9ImNsaXAiK2UudWlkKyJjYXJwZXQiO3ZhciB1PWMoImNvbG9yIixzLmRlZmF1bHRMaW5lKTsobi5jb2VyY2VGb250KGMsImZvbnQiKSxjKCJjYXJwZXQiKSxpKHQsZSxsLGMsdSksZS5hJiZlLmIpPyhlLmEubGVuZ3RoPDMmJihlLmFheGlzLnNtb290aGluZz0wKSxlLmIubGVuZ3RoPDMmJihlLmJheGlzLnNtb290aGluZz0wKSxhKHQsZSxjKXx8KGUudmlzaWJsZT0hMSksZS5fY2hlYXRlciYmYygiY2hlYXRlcnNsb3BlIikpOmUudmlzaWJsZT0hMX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIjo1OTEsIi4uLy4uL2xpYiI6NzE3LCIuL2FiX2RlZmF1bHRzIjo4OTcsIi4vYXR0cmlidXRlcyI6ODk5LCIuL3h5X2RlZmF1bHRzIjo5MjN9XSw5MTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxwbG90OnQoIi4vcGxvdCIpLGNhbGM6dCgiLi9jYWxjIiksYW5pbWF0YWJsZTohMCxpc0NvbnRhaW5lcjohMCxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiY2FycGV0IixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiY2FydGVzaWFuIiwic3ZnIiwiY2FycGV0IiwiY2FycGV0QXhpcyIsIm5vdExlZ2VuZElzb2xhdGFibGUiLCJub011bHRpQ2F0ZWdvcnkiLCJub0hvdmVyIiwibm9Tb3J0aW5nQnlWYWx1ZSJdLG1ldGE6e319fSx7Ii4uLy4uL3Bsb3RzL2NhcnRlc2lhbiI6Nzc2LCIuL2F0dHJpYnV0ZXMiOjg5OSwiLi9jYWxjIjo5MDMsIi4vZGVmYXVsdHMiOjkxNCwiLi9wbG90Ijo5MjB9XSw5MTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLG49dC5fZnVsbERhdGEubGVuZ3RoLGE9MDthPG47YSsrKXt2YXIgaT10Ll9mdWxsRGF0YVthXTtpZihpLmluZGV4IT09ZS5pbmRleCYmKCJjYXJwZXQiPT09aS50eXBlJiYocnx8KHI9aSksaS5jYXJwZXQ9PT1lLmNhcnBldCkpKXJldHVybiBpfXJldHVybiByfX0se31dLDkxNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4iIjt2YXIgbixhPVtdLGk9cj8zOjE7Zm9yKG49MDtuPHQubGVuZ3RoO24rPWkpYS5wdXNoKHRbbl0rIiwiK2Vbbl0pLHImJm48dC5sZW5ndGgtaSYmKGEucHVzaCgiQyIpLGEucHVzaChbdFtuKzFdKyIsIitlW24rMV0sdFtuKzJdKyIsIitlW24rMl0rIiAiXS5qb2luKCIgIikpKTtyZXR1cm4gYS5qb2luKHI/IiI6IkwiKX19LHt9XSw5MTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIikuaXNBcnJheU9yVHlwZWRBcnJheTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBhO2ZvcihuKHQpP3QubGVuZ3RoPmUubGVuZ3RoJiYodD10LnNsaWNlKDAsZS5sZW5ndGgpKTp0PVtdLGE9MDthPGUubGVuZ3RoO2ErKyl0W2FdPXIoZVthXSk7cmV0dXJuIHR9fSx7Ii4uLy4uL2xpYiI6NzE3fV0sOTE5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89YVswXSp0LmRwZHgoZSkscz1hWzFdKnQuZHBkeShyKSxsPTEsYz0xO2lmKGkpe3ZhciB1PU1hdGguc3FydChhWzBdKmFbMF0rYVsxXSphWzFdKSxoPU1hdGguc3FydChpWzBdKmlbMF0raVsxXSppWzFdKSxmPShhWzBdKmlbMF0rYVsxXSppWzFdKS91L2g7Yz1NYXRoLm1heCgwLGYpfXZhciBwPTE4MCpNYXRoLmF0YW4yKHMsbykvTWF0aC5QSTtyZXR1cm4gcDwtOTA/KHArPTE4MCxsPS1sKTpwPjkwJiYocC09MTgwLGw9LWwpLHthbmdsZTpwLGZsaXA6bCxwOnQuYzJwKG4sZSxyKSxvZmZzZXRNdWx0cGxpZXI6Y319fSx7fV0sOTIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxpPXQoIi4vbWFwXzFkX2FycmF5Iiksbz10KCIuL21ha2VwYXRoIikscz10KCIuL29yaWVudF90ZXh0IiksbD10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSxjPXQoIi4uLy4uL2xpYiIpLHU9dCgiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCIpO2Z1bmN0aW9uIGgodCxlLHIsYSxzLGwpe3ZhciBjPSJjb25zdC0iK3MrIi1saW5lcyIsdT1yLnNlbGVjdEFsbCgiLiIrYykuZGF0YShsKTt1LmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZChjLCEwKS5zdHlsZSgidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpLHUuZWFjaChmdW5jdGlvbihyKXt2YXIgYT1yLHM9YS54LGw9YS55LGM9aShbXSxzLHQuYzJwKSx1PWkoW10sbCxlLmMycCksaD0iTSIrbyhjLHUsYS5zbW9vdGhpbmcpO24uc2VsZWN0KHRoaXMpLmF0dHIoImQiLGgpLnN0eWxlKCJzdHJva2Utd2lkdGgiLGEud2lkdGgpLnN0eWxlKCJzdHJva2UiLGEuY29sb3IpLnN0eWxlKCJmaWxsIiwibm9uZSIpfSksdS5leGl0KCkucmVtb3ZlKCl9ZnVuY3Rpb24gZih0LGUscixpLG8sYyx1LGgpe3ZhciBmPWMuc2VsZWN0QWxsKCJ0ZXh0LiIraCkuZGF0YSh1KTtmLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuY2xhc3NlZChoLCEwKTt2YXIgcD0wLGQ9e307cmV0dXJuIGYuZWFjaChmdW5jdGlvbihvLGMpe3ZhciB1O2lmKCJhdXRvIj09PW8uYXhpcy50aWNrYW5nbGUpdT1zKGksZSxyLG8ueHksby5keHkpO2Vsc2V7dmFyIGg9KG8uYXhpcy50aWNrYW5nbGUrMTgwKSpNYXRoLlBJLzE4MDt1PXMoaSxlLHIsby54eSxbTWF0aC5jb3MoaCksTWF0aC5zaW4oaCldKX1jfHwoZD17YW5nbGU6dS5hbmdsZSxmbGlwOnUuZmxpcH0pO3ZhciBmPShvLmVuZEFuY2hvcj8tMToxKSp1LmZsaXAsZz1uLnNlbGVjdCh0aGlzKS5hdHRyKHsidGV4dC1hbmNob3IiOmY+MD8ic3RhcnQiOiJlbmQiLCJkYXRhLW5vdGV4IjoxfSkuY2FsbChhLmZvbnQsby5mb250KS50ZXh0KG8udGV4dCkuY2FsbChsLmNvbnZlcnRUb1RzcGFucyx0KSx2PWEuYkJveCh0aGlzKTtnLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3UucFswXSsiLCIrdS5wWzFdKyIpIHJvdGF0ZSgiK3UuYW5nbGUrIil0cmFuc2xhdGUoIitvLmF4aXMubGFiZWxwYWRkaW5nKmYrIiwiKy4zKnYuaGVpZ2h0KyIpIikscD1NYXRoLm1heChwLHYud2lkdGgrby5heGlzLmxhYmVscGFkZGluZyl9KSxmLmV4aXQoKS5yZW1vdmUoKSxkLm1heEV4dGVudD1wLGR9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBsPWUueGF4aXMsdT1lLnlheGlzLHA9dC5fZnVsbExheW91dC5fY2xpcHM7Yy5tYWtlVHJhY2VHcm91cHMoYSxyLCJ0cmFjZSIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIHI9bi5zZWxlY3QodGhpcyksYT1lWzBdLGQ9YS50cmFjZSx2PWQuYWF4aXMsbT1kLmJheGlzLHk9Yy5lbnN1cmVTaW5nbGUociwiZyIsIm1pbm9ybGF5ZXIiKSx4PWMuZW5zdXJlU2luZ2xlKHIsImciLCJtYWpvcmxheWVyIiksYj1jLmVuc3VyZVNpbmdsZShyLCJnIiwiYm91bmRhcnlsYXllciIpLF89Yy5lbnN1cmVTaW5nbGUociwiZyIsImxhYmVsbGF5ZXIiKTtyLnN0eWxlKCJvcGFjaXR5IixkLm9wYWNpdHkpLGgobCx1LHgsdiwiYSIsdi5fZ3JpZGxpbmVzKSxoKGwsdSx4LG0sImIiLG0uX2dyaWRsaW5lcyksaChsLHUseSx2LCJhIix2Ll9taW5vcmdyaWRsaW5lcyksaChsLHUseSxtLCJiIixtLl9taW5vcmdyaWRsaW5lcyksaChsLHUsYix2LCJhLWJvdW5kYXJ5Iix2Ll9ib3VuZGFyeWxpbmVzKSxoKGwsdSxiLG0sImItYm91bmRhcnkiLG0uX2JvdW5kYXJ5bGluZXMpO3ZhciB3PWYodCxsLHUsZCxhLF8sdi5fbGFiZWxzLCJhLWxhYmVsIiksaz1mKHQsbCx1LGQsYSxfLG0uX2xhYmVscywiYi1sYWJlbCIpOyFmdW5jdGlvbih0LGUscixuLGEsaSxvLGwpe3ZhciB1LGgsZixwLGQ9Yy5hZ2dOdW1zKE1hdGgubWluLG51bGwsci5hKSx2PWMuYWdnTnVtcyhNYXRoLm1heCxudWxsLHIuYSksbT1jLmFnZ051bXMoTWF0aC5taW4sbnVsbCxyLmIpLHk9Yy5hZ2dOdW1zKE1hdGgubWF4LG51bGwsci5iKTt1PS41KihkK3YpLGg9bSxmPXIuYWIyeHkodSxoLCEwKSxwPXIuZHh5ZGFfcm91Z2godSxoKSx2b2lkIDA9PT1vLmFuZ2xlJiZjLmV4dGVuZEZsYXQobyxzKHIsYSxpLGYsci5keHlkYl9yb3VnaCh1LGgpKSk7Zyh0LGUscixuLGYscCxyLmFheGlzLGEsaSxvLCJhLXRpdGxlIiksdT1kLGg9LjUqKG0reSksZj1yLmFiMnh5KHUsaCwhMCkscD1yLmR4eWRiX3JvdWdoKHUsaCksdm9pZCAwPT09bC5hbmdsZSYmYy5leHRlbmRGbGF0KGwscyhyLGEsaSxmLHIuZHh5ZGFfcm91Z2godSxoKSkpO2codCxlLHIsbixmLHAsci5iYXhpcyxhLGksbCwiYi10aXRsZSIpfSh0LF8sZCxhLGwsdSx3LGspLGZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIHMsbCx1LGgsZj1yLnNlbGVjdCgiIyIrdC5fY2xpcFBhdGhJZCk7Zi5zaXplKCl8fChmPXIuYXBwZW5kKCJjbGlwUGF0aCIpLmNsYXNzZWQoImNhcnBldGNsaXAiLCEwKSk7dmFyIHA9Yy5lbnN1cmVTaW5nbGUoZiwicGF0aCIsImNhcnBldGJvdW5kYXJ5IiksZD1lLmNsaXBzZWdtZW50cyxnPVtdO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspcz1kW2hdLGw9aShbXSxzLngsbi5jMnApLHU9aShbXSxzLnksYS5jMnApLGcucHVzaChvKGwsdSxzLmJpY3ViaWMpKTt2YXIgdj0iTSIrZy5qb2luKCJMIikrIloiO2YuYXR0cigiaWQiLHQuX2NsaXBQYXRoSWQpLHAuYXR0cigiZCIsdil9KGQsYSxwLGwsdSl9KX07dmFyIHA9dS5MSU5FX1NQQUNJTkcsZD0oMS11Lk1JRF9TSElGVCkvcCsxO2Z1bmN0aW9uIGcodCxlLHIsaSxvLGMsdSxoLGYsZyx2KXt2YXIgbT1bXTt1LnRpdGxlLnRleHQmJm0ucHVzaCh1LnRpdGxlLnRleHQpO3ZhciB5PWUuc2VsZWN0QWxsKCJ0ZXh0LiIrdikuZGF0YShtKSx4PWcubWF4RXh0ZW50O3kuZW50ZXIoKS5hcHBlbmQoInRleHQiKS5jbGFzc2VkKHYsITApLHkuZWFjaChmdW5jdGlvbigpe3ZhciBlPXMocixoLGYsbyxjKTstMT09PVsic3RhcnQiLCJib3RoIl0uaW5kZXhPZih1LnNob3d0aWNrbGFiZWxzKSYmKHg9MCk7dmFyIGk9dS50aXRsZS5mb250LnNpemU7eCs9aSt1LnRpdGxlLm9mZnNldDt2YXIgdj0oZy5hbmdsZSsoZy5mbGlwPDA/MTgwOjApLWUuYW5nbGUrNDUwKSUzNjAsbT12PjkwJiZ2PDI3MCx5PW4uc2VsZWN0KHRoaXMpO3kudGV4dCh1LnRpdGxlLnRleHQpLmNhbGwobC5jb252ZXJ0VG9Uc3BhbnMsdCksbSYmKHg9KC1sLmxpbmVDb3VudCh5KStkKSpwKmkteCkseS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitlLnBbMF0rIiwiK2UucFsxXSsiKSByb3RhdGUoIitlLmFuZ2xlKyIpIHRyYW5zbGF0ZSgwLCIreCsiKSIpLmNsYXNzZWQoInVzZXItc2VsZWN0LW5vbmUiLCEwKS5hdHRyKCJ0ZXh0LWFuY2hvciIsIm1pZGRsZSIpLmNhbGwoYS5mb250LHUudGl0bGUuZm9udCl9KSx5LmV4aXQoKS5yZW1vdmUoKX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2NvbnN0YW50cy9hbGlnbm1lbnQiOjY4NiwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuL21ha2VwYXRoIjo5MTcsIi4vbWFwXzFkX2FycmF5Ijo5MTgsIi4vb3JpZW50X3RleHQiOjkxOSxkMzoxNjV9XSw5MjE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb25zdGFudHMiKSxhPXQoIi4uLy4uL2xpYi9zZWFyY2giKS5maW5kQmluLGk9dCgiLi9jb21wdXRlX2NvbnRyb2xfcG9pbnRzIiksbz10KCIuL2NyZWF0ZV9zcGxpbmVfZXZhbHVhdG9yIikscz10KCIuL2NyZWF0ZV9pX2Rlcml2YXRpdmVfZXZhbHVhdG9yIiksbD10KCIuL2NyZWF0ZV9qX2Rlcml2YXRpdmVfZXZhbHVhdG9yIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Escj10Ll9iLGM9ZS5sZW5ndGgsdT1yLmxlbmd0aCxoPXQuYWF4aXMsZj10LmJheGlzLHA9ZVswXSxkPWVbYy0xXSxnPXJbMF0sdj1yW3UtMV0sbT1lW2UubGVuZ3RoLTFdLWVbMF0seT1yW3IubGVuZ3RoLTFdLXJbMF0seD1tKm4uUkVMQVRJVkVfQ1VMTF9UT0xFUkFOQ0UsYj15Km4uUkVMQVRJVkVfQ1VMTF9UT0xFUkFOQ0U7cC09eCxkKz14LGctPWIsdis9Yix0LmlzVmlzaWJsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0PnAmJnQ8ZCYmZT5nJiZlPHZ9LHQuaXNPY2NsdWRlZD1mdW5jdGlvbih0LGUpe3JldHVybiB0PHB8fHQ+ZHx8ZTxnfHxlPnZ9LHQuc2V0U2NhbGU9ZnVuY3Rpb24oKXt2YXIgZT10Ll94LHI9dC5feSxuPWkodC5feGN0cmwsdC5feWN0cmwsZSxyLGguc21vb3RoaW5nLGYuc21vb3RoaW5nKTt0Ll94Y3RybD1uWzBdLHQuX3ljdHJsPW5bMV0sdC5ldmFseHk9byhbdC5feGN0cmwsdC5feWN0cmxdLGMsdSxoLnNtb290aGluZyxmLnNtb290aGluZyksdC5keHlkaT1zKFt0Ll94Y3RybCx0Ll95Y3RybF0saC5zbW9vdGhpbmcsZi5zbW9vdGhpbmcpLHQuZHh5ZGo9bChbdC5feGN0cmwsdC5feWN0cmxdLGguc21vb3RoaW5nLGYuc21vb3RoaW5nKX0sdC5pMmE9ZnVuY3Rpb24odCl7dmFyIHI9TWF0aC5tYXgoMCxNYXRoLmZsb29yKHRbMF0pLGMtMiksbj10WzBdLXI7cmV0dXJuKDEtbikqZVtyXStuKmVbcisxXX0sdC5qMmI9ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5tYXgoMCxNYXRoLmZsb29yKHRbMV0pLGMtMiksbj10WzFdLWU7cmV0dXJuKDEtbikqcltlXStuKnJbZSsxXX0sdC5pajJhYj1mdW5jdGlvbihlKXtyZXR1cm5bdC5pMmEoZVswXSksdC5qMmIoZVsxXSldfSx0LmEyaT1mdW5jdGlvbih0KXt2YXIgcj1NYXRoLm1heCgwLE1hdGgubWluKGEodCxlKSxjLTIpKSxuPWVbcl0saT1lW3IrMV07cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oYy0xLHIrKHQtbikvKGktbikpKX0sdC5iMmo9ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5tYXgoMCxNYXRoLm1pbihhKHQsciksdS0yKSksbj1yW2VdLGk9cltlKzFdO3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKHUtMSxlKyh0LW4pLyhpLW4pKSl9LHQuYWIyaWo9ZnVuY3Rpb24oZSl7cmV0dXJuW3QuYTJpKGVbMF0pLHQuYjJqKGVbMV0pXX0sdC5pMmM9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5ldmFseHkoW10sZSxyKX0sdC5hYjJ4eT1mdW5jdGlvbihuLGEsaSl7aWYoIWkmJihuPGVbMF18fG4+ZVtjLTFdfGE8clswXXx8YT5yW3UtMV0pKXJldHVyblshMSwhMV07dmFyIG89dC5hMmkobikscz10LmIyaihhKSxsPXQuZXZhbHh5KFtdLG8scyk7aWYoaSl7dmFyIGgsZixwLGQsZz0wLHY9MCxtPVtdO248ZVswXT8oaD0wLGY9MCxnPShuLWVbMF0pLyhlWzFdLWVbMF0pKTpuPmVbYy0xXT8oaD1jLTIsZj0xLGc9KG4tZVtjLTFdKS8oZVtjLTFdLWVbYy0yXSkpOmY9by0oaD1NYXRoLm1heCgwLE1hdGgubWluKGMtMixNYXRoLmZsb29yKG8pKSkpLGE8clswXT8ocD0wLGQ9MCx2PShhLXJbMF0pLyhyWzFdLXJbMF0pKTphPnJbdS0xXT8ocD11LTIsZD0xLHY9KGEtclt1LTFdKS8oclt1LTFdLXJbdS0yXSkpOmQ9cy0ocD1NYXRoLm1heCgwLE1hdGgubWluKHUtMixNYXRoLmZsb29yKHMpKSkpLGcmJih0LmR4eWRpKG0saCxwLGYsZCksbFswXSs9bVswXSpnLGxbMV0rPW1bMV0qZyksdiYmKHQuZHh5ZGoobSxoLHAsZixkKSxsWzBdKz1tWzBdKnYsbFsxXSs9bVsxXSp2KX1yZXR1cm4gbH0sdC5jMnA9ZnVuY3Rpb24odCxlLHIpe3JldHVybltlLmMycCh0WzBdKSxyLmMycCh0WzFdKV19LHQucDJ4PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm5bZS5wMmModFswXSksci5wMmModFsxXSldfSx0LmRhZGk9ZnVuY3Rpb24odCl7dmFyIHI9TWF0aC5tYXgoMCxNYXRoLm1pbihlLmxlbmd0aC0yLHQpKTtyZXR1cm4gZVtyKzFdLWVbcl19LHQuZGJkaj1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLm1heCgwLE1hdGgubWluKHIubGVuZ3RoLTIsdCkpO3JldHVybiByW2UrMV0tcltlXX0sdC5keHlkYT1mdW5jdGlvbihlLHIsbixhKXt2YXIgaT10LmR4eWRpKG51bGwsZSxyLG4sYSksbz10LmRhZGkoZSxuKTtyZXR1cm5baVswXS9vLGlbMV0vb119LHQuZHh5ZGI9ZnVuY3Rpb24oZSxyLG4sYSl7dmFyIGk9dC5keHlkaihudWxsLGUscixuLGEpLG89dC5kYmRqKHIsYSk7cmV0dXJuW2lbMF0vbyxpWzFdL29dfSx0LmR4eWRhX3JvdWdoPWZ1bmN0aW9uKGUscixuKXt2YXIgYT1tKihufHwuMSksaT10LmFiMnh5KGUrYSxyLCEwKSxvPXQuYWIyeHkoZS1hLHIsITApO3JldHVyblsuNSooaVswXS1vWzBdKS9hLC41KihpWzFdLW9bMV0pL2FdfSx0LmR4eWRiX3JvdWdoPWZ1bmN0aW9uKGUscixuKXt2YXIgYT15KihufHwuMSksaT10LmFiMnh5KGUscithLCEwKSxvPXQuYWIyeHkoZSxyLWEsITApO3JldHVyblsuNSooaVswXS1vWzBdKS9hLC41KihpWzFdLW9bMV0pL2FdfSx0LmRwZHg9ZnVuY3Rpb24odCl7cmV0dXJuIHQuX219LHQuZHBkeT1mdW5jdGlvbih0KXtyZXR1cm4gdC5fbX19fSx7Ii4uLy4uL2xpYi9zZWFyY2giOjczNiwiLi9jb21wdXRlX2NvbnRyb2xfcG9pbnRzIjo5MDksIi4vY29uc3RhbnRzIjo5MTAsIi4vY3JlYXRlX2lfZGVyaXZhdGl2ZV9ldmFsdWF0b3IiOjkxMSwiLi9jcmVhdGVfal9kZXJpdmF0aXZlX2V2YWx1YXRvciI6OTEyLCIuL2NyZWF0ZV9zcGxpbmVfZXZhbHVhdG9yIjo5MTN9XSw5MjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYSxpLG8scz1bXSxsPVtdLGM9dFswXS5sZW5ndGgsdT10Lmxlbmd0aDtmdW5jdGlvbiBoKGUscil7dmFyIG4sYT0wLGk9MDtyZXR1cm4gZT4wJiZ2b2lkIDAhPT0obj10W3JdW2UtMV0pJiYoaSsrLGErPW4pLGU8Yy0xJiZ2b2lkIDAhPT0obj10W3JdW2UrMV0pJiYoaSsrLGErPW4pLHI+MCYmdm9pZCAwIT09KG49dFtyLTFdW2VdKSYmKGkrKyxhKz1uKSxyPHUtMSYmdm9pZCAwIT09KG49dFtyKzFdW2VdKSYmKGkrKyxhKz1uKSxhL01hdGgubWF4KDEsaSl9dmFyIGYscCxkLGcsdixtLHkseCxiLF8sdyxrPTA7Zm9yKGE9MDthPGM7YSsrKWZvcihpPTA7aTx1O2krKyl2b2lkIDA9PT10W2ldW2FdJiYocy5wdXNoKGEpLGwucHVzaChpKSx0W2ldW2FdPWgoYSxpKSksaz1NYXRoLm1heChrLE1hdGguYWJzKHRbaV1bYV0pKTtpZighcy5sZW5ndGgpcmV0dXJuIHQ7dmFyIFQ9MCxNPTAsQT1zLmxlbmd0aDtkb3tmb3IoVD0wLG89MDtvPEE7bysrKXthPXNbb10saT1sW29dO3ZhciBTLEUsTCxDLFAsTyx6PTAsST0wOzA9PT1hPyhMPWVbUD1NYXRoLm1pbihjLTEsMildLEM9ZVsxXSxTPXRbaV1bUF0sSSs9KEU9dFtpXVsxXSkrKEUtUykqKGVbMF0tQykvKEMtTCkseisrKTphPT09Yy0xJiYoTD1lW1A9TWF0aC5tYXgoMCxjLTMpXSxDPWVbYy0yXSxTPXRbaV1bUF0sSSs9KEU9dFtpXVtjLTJdKSsoRS1TKSooZVtjLTFdLUMpLyhDLUwpLHorKyksKDA9PT1hfHxhPT09Yy0xKSYmaT4wJiZpPHUtMSYmKGY9cltpKzFdLXJbaV0sSSs9KChwPXJbaV0tcltpLTFdKSp0W2krMV1bYV0rZip0W2ktMV1bYV0pLyhwK2YpLHorKyksMD09PWk/KEw9cltPPU1hdGgubWluKHUtMSwyKV0sQz1yWzFdLFM9dFtPXVthXSxJKz0oRT10WzFdW2FdKSsoRS1TKSooclswXS1DKS8oQy1MKSx6KyspOmk9PT11LTEmJihMPXJbTz1NYXRoLm1heCgwLHUtMyldLEM9clt1LTJdLFM9dFtPXVthXSxJKz0oRT10W3UtMl1bYV0pKyhFLVMpKihyW3UtMV0tQykvKEMtTCkseisrKSwoMD09PWl8fGk9PT11LTEpJiZhPjAmJmE8Yy0xJiYoZj1lW2ErMV0tZVthXSxJKz0oKHA9ZVthXS1lW2EtMV0pKnRbaV1bYSsxXStmKnRbaV1bYS0xXSkvKHArZikseisrKSx6P0kvPXo6KGQ9ZVthKzFdLWVbYV0sZz1lW2FdLWVbYS0xXSx4PSh2PXJbaSsxXS1yW2ldKSoobT1yW2ldLXJbaS0xXSkqKHYrbSksST0oKHk9ZCpnKihkK2cpKSoobSp0W2krMV1bYV0rdip0W2ktMV1bYV0pK3gqKGcqdFtpXVthKzFdK2QqdFtpXVthLTFdKSkvKHgqKGcrZCkreSoobSt2KSkpLFQrPShfPShiPUktdFtpXVthXSkvaykqXyx3PXo/MDouODUsdFtpXVthXSs9YiooMSt3KX1UPU1hdGguc3FydChUKX13aGlsZShNKys8MTAwJiZUPjFlLTUpO3JldHVybiBuLmxvZygiU21vb3RoZXIgY29udmVyZ2VkIHRvIixULCJhZnRlciIsTSwiaXRlcmF0aW9ucyIpLHR9fSx7Ii4uLy4uL2xpYiI6NzE3fV0sOTIzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXkxRDtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXIoIngiKSxpPWEmJmEubGVuZ3RoLG89cigieSIpLHM9byYmby5sZW5ndGg7aWYoIWkmJiFzKXJldHVybiExO2lmKGUuX2NoZWF0ZXI9IWEsaSYmIW4oYSl8fHMmJiFuKG8pKWUuX2xlbmd0aD1udWxsO2Vsc2V7dmFyIGw9aT9hLmxlbmd0aDoxLzA7cyYmKGw9TWF0aC5taW4obCxvLmxlbmd0aCkpLGUuYSYmZS5hLmxlbmd0aCYmKGw9TWF0aC5taW4obCxlLmEubGVuZ3RoKSksZS5iJiZlLmIubGVuZ3RoJiYobD1NYXRoLm1pbihsLGUuYi5sZW5ndGgpKSxlLl9sZW5ndGg9bH1yZXR1cm4hMH19LHsiLi4vLi4vbGliIjo3MTd9XSw5MjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxhPXQoIi4uL3NjYXR0ZXJnZW8vYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyIpLmRlZmF1bHRMaW5lLGw9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsYz1hLm1hcmtlci5saW5lO2UuZXhwb3J0cz1sKHtsb2NhdGlvbnM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sbG9jYXRpb25tb2RlOmEubG9jYXRpb25tb2RlLHo6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sZ2VvanNvbjpsKHt9LGEuZ2VvanNvbix7fSksZmVhdHVyZWlka2V5OmEuZmVhdHVyZWlka2V5LHRleHQ6bCh7fSxhLnRleHQse30pLGhvdmVydGV4dDpsKHt9LGEuaG92ZXJ0ZXh0LHt9KSxtYXJrZXI6e2xpbmU6e2NvbG9yOmwoe30sYy5jb2xvcix7ZGZsdDpzfSksd2lkdGg6bCh7fSxjLndpZHRoLHtkZmx0OjF9KSxlZGl0VHlwZToiY2FsYyJ9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsYXJyYXlPazohMCxtaW46MCxtYXg6MSxkZmx0OjEsZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6ImNhbGMifSxzZWxlY3RlZDp7bWFya2VyOntvcGFjaXR5OmEuc2VsZWN0ZWQubWFya2VyLm9wYWNpdHksZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9LHVuc2VsZWN0ZWQ6e21hcmtlcjp7b3BhY2l0eTphLnVuc2VsZWN0ZWQubWFya2VyLm9wYWNpdHksZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9LGhvdmVyaW5mbzpsKHt9LG8uaG92ZXJpbmZvLHtlZGl0VHlwZToiY2FsYyIsZmxhZ3M6WyJsb2NhdGlvbiIsInoiLCJ0ZXh0IiwibmFtZSJdfSksaG92ZXJ0ZW1wbGF0ZTpuKCksc2hvd2xlZ2VuZDpsKHt9LG8uc2hvd2xlZ2VuZCx7ZGZsdDohMX0pfSxpKCIiLHtjTGV0dGVyOiJ6IixlZGl0VHlwZU92ZXJyaWRlOiJjYWxjIn0pKX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MSwiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vc2NhdHRlcmdlby9hdHRyaWJ1dGVzIjoxMTYxfV0sOTI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiKSxvPXQoIi4uL3NjYXR0ZXIvYXJyYXlzX3RvX2NhbGNkYXRhIikscz10KCIuLi9zY2F0dGVyL2NhbGNfc2VsZWN0aW9uIik7ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdCYmInN0cmluZyI9PXR5cGVvZiB0fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGM9ZS5fbGVuZ3RoLHU9bmV3IEFycmF5KGMpO3I9ZS5nZW9qc29uP2Z1bmN0aW9uKHQpe3JldHVybiBsKHQpfHxuKHQpfTpsO2Zvcih2YXIgaD0wO2g8YztoKyspe3ZhciBmPXVbaF09e30scD1lLmxvY2F0aW9uc1toXSxkPWUueltoXTtyKHApJiZuKGQpPyhmLmxvYz1wLGYuej1kKTooZi5sb2M9bnVsbCxmLno9YSksZi5pbmRleD1ofXJldHVybiBvKHUsZSksaSh0LGUse3ZhbHM6ZS56LGNvbnRhaW5lclN0cjoiIixjTGV0dGVyOiJ6In0pLHModSxlKSx1fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyI6NjAwLCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uL3NjYXR0ZXIvYXJyYXlzX3RvX2NhbGNkYXRhIjoxMTE5LCIuLi9zY2F0dGVyL2NhbGNfc2VsZWN0aW9uIjoxMTIyLCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sOTI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIiksaT10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbyl7ZnVuY3Rpb24gcyhyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsaSxyLGEpfXZhciBsPXMoImxvY2F0aW9ucyIpLGM9cygieiIpO2lmKGwmJmwubGVuZ3RoJiZuLmlzQXJyYXlPclR5cGVkQXJyYXkoYykmJmMubGVuZ3RoKXtlLl9sZW5ndGg9TWF0aC5taW4obC5sZW5ndGgsYy5sZW5ndGgpO3ZhciB1LGg9cygiZ2VvanNvbiIpOygic3RyaW5nIj09dHlwZW9mIGgmJiIiIT09aHx8bi5pc1BsYWluT2JqZWN0KGgpKSYmKHU9Imdlb2pzb24taWQiKSwiZ2VvanNvbi1pZCI9PT1zKCJsb2NhdGlvbm1vZGUiLHUpJiZzKCJmZWF0dXJlaWRrZXkiKSxzKCJ0ZXh0IikscygiaG92ZXJ0ZXh0IikscygiaG92ZXJ0ZW1wbGF0ZSIpLHMoIm1hcmtlci5saW5lLndpZHRoIikmJnMoIm1hcmtlci5saW5lLmNvbG9yIikscygibWFya2VyLm9wYWNpdHkiKSxhKHQsZSxvLHMse3ByZWZpeDoiIixjTGV0dGVyOiJ6In0pLG4uY29lcmNlU2VsZWN0aW9uTWFya2VyT3BhY2l0eShlLHMpfWVsc2UgZS52aXNpYmxlPSExfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiOjYwMiwiLi4vLi4vbGliIjo3MTcsIi4vYXR0cmlidXRlcyI6OTI0fV0sOTI3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuLGEpe3QubG9jYXRpb249ZS5sb2NhdGlvbix0Lno9ZS56O3ZhciBpPW5bYV07cmV0dXJuIGkuZkluJiZpLmZJbi5wcm9wZXJ0aWVzJiYodC5wcm9wZXJ0aWVzPWkuZkluLnByb3BlcnRpZXMpLHQuY3Q9aS5jdCx0fX0se31dLDkyODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGE9dCgiLi9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9saWIiKS5maWxsVGV4dDtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBvLHMsbCxjLHU9dC5jZCxoPXVbMF0udHJhY2UsZj10LnN1YnBsb3Q7Zm9yKHM9MDtzPHUubGVuZ3RoO3MrKylpZihjPSExLChvPXVbc10pLl9wb2x5Z29ucyl7Zm9yKGw9MDtsPG8uX3BvbHlnb25zLmxlbmd0aDtsKyspby5fcG9seWdvbnNbbF0uY29udGFpbnMoW2Uscl0pJiYoYz0hYyksby5fcG9seWdvbnNbbF0uY29udGFpbnMoW2UrMzYwLHJdKSYmKGM9IWMpO2lmKGMpYnJlYWt9aWYoYyYmbylyZXR1cm4gdC54MD10LngxPXQueGEuYzJwKG8uY3QpLHQueTA9dC55MT10LnlhLmMycChvLmN0KSx0LmluZGV4PW8uaW5kZXgsdC5sb2NhdGlvbj1vLmxvYyx0Lno9by56LHQuekxhYmVsPW4udGlja1RleHQoZi5tb2NrQXhpcyxmLm1vY2tBeGlzLmMybChvLnopLCJob3ZlciIpLnRleHQsdC5ob3ZlcnRlbXBsYXRlPW8uaG92ZXJ0ZW1wbGF0ZSxmdW5jdGlvbih0LGUscil7aWYoZS5ob3ZlcnRlbXBsYXRlKXJldHVybjt2YXIgbj1yLmhpfHxlLmhvdmVyaW5mbyxvPVN0cmluZyhyLmxvYykscz0iYWxsIj09PW4/YS5ob3ZlcmluZm8uZmxhZ3M6bi5zcGxpdCgiKyIpLGw9LTEhPT1zLmluZGV4T2YoIm5hbWUiKSxjPS0xIT09cy5pbmRleE9mKCJsb2NhdGlvbiIpLHU9LTEhPT1zLmluZGV4T2YoInoiKSxoPS0xIT09cy5pbmRleE9mKCJ0ZXh0IiksZj1bXTshbCYmYz90Lm5hbWVPdmVycmlkZT1vOihsJiYodC5uYW1lT3ZlcnJpZGU9ZS5uYW1lKSxjJiZmLnB1c2gobykpO3UmJmYucHVzaCh0LnpMYWJlbCk7aCYmaShyLGUsZik7dC5leHRyYVRleHQ9Zi5qb2luKCI8YnI+Iil9KHQsaCxvLGYubW9ja0F4aXMpLFt0XX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4vYXR0cmlidXRlcyI6OTI0fV0sOTI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY29sb3JiYXI6dCgiLi4vaGVhdG1hcC9jb2xvcmJhciIpLGNhbGM6dCgiLi9jYWxjIiksY2FsY0dlb0pTT046dCgiLi9wbG90IikuY2FsY0dlb0pTT04scGxvdDp0KCIuL3Bsb3QiKS5wbG90LHN0eWxlOnQoIi4vc3R5bGUiKS5zdHlsZSxzdHlsZU9uU2VsZWN0OnQoIi4vc3R5bGUiKS5zdHlsZU9uU2VsZWN0LGhvdmVyUG9pbnRzOnQoIi4vaG92ZXIiKSxldmVudERhdGE6dCgiLi9ldmVudF9kYXRhIiksc2VsZWN0UG9pbnRzOnQoIi4vc2VsZWN0IiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImNob3JvcGxldGgiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2dlbyIpLGNhdGVnb3JpZXM6WyJnZW8iLCJub09wYWNpdHkiLCJzaG93TGVnZW5kIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvZ2VvIjo3OTUsIi4uL2hlYXRtYXAvY29sb3JiYXIiOjEwMDMsIi4vYXR0cmlidXRlcyI6OTI0LCIuL2NhbGMiOjkyNSwiLi9kZWZhdWx0cyI6OTI2LCIuL2V2ZW50X2RhdGEiOjkyNywiLi9ob3ZlciI6OTI4LCIuL3Bsb3QiOjkzMCwiLi9zZWxlY3QiOjkzMSwiLi9zdHlsZSI6OTMyfV0sOTMwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL2xpYi9nZW9fbG9jYXRpb25fdXRpbHMiKSxvPXQoIi4uLy4uL2xpYi90b3BvanNvbl91dGlscyIpLmdldFRvcG9qc29uRmVhdHVyZXMscz10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXV0b3JhbmdlIikuZmluZEV4dHJlbWVzLGw9dCgiLi9zdHlsZSIpLnN0eWxlO2UuZXhwb3J0cz17Y2FsY0dlb0pTT046ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dFswXS50cmFjZSxuPWVbci5nZW9dLGE9bi5fc3VicGxvdCxsPXIubG9jYXRpb25tb2RlLGM9ci5fbGVuZ3RoLHU9Imdlb2pzb24taWQiPT09bD9pLmV4dHJhY3RUcmFjZUZlYXR1cmUodCk6byhyLGEudG9wb2pzb24pLGg9W10sZj1bXSxwPTA7cDxjO3ArKyl7dmFyIGQ9dFtwXSxnPSJnZW9qc29uLWlkIj09PWw/ZC5mT3V0OmkubG9jYXRpb25Ub0ZlYXR1cmUobCxkLmxvYyx1KTtpZihnKXtkLmdlb2pzb249ZyxkLmN0PWcucHJvcGVydGllcy5jdCxkLl9wb2x5Z29ucz1pLmZlYXR1cmUycG9seWdvbnMoZyk7dmFyIHY9aS5jb21wdXRlQmJveChnKTtoLnB1c2godlswXSx2WzJdKSxmLnB1c2godlsxXSx2WzNdKX1lbHNlIGQuZ2VvanNvbj1udWxsfWlmKCJnZW9qc29uIj09PW4uZml0Ym91bmRzJiYiZ2VvanNvbi1pZCI9PT1sKXt2YXIgbT1pLmNvbXB1dGVCYm94KGkuZ2V0VHJhY2VHZW9qc29uKHIpKTtoPVttWzBdLG1bMl1dLGY9W21bMV0sbVszXV19dmFyIHk9e3BhZGRlZDohMH07ci5fZXh0cmVtZXMubG9uPXMobi5sb25heGlzLl9heCxoLHkpLHIuX2V4dHJlbWVzLmxhdD1zKG4ubGF0YXhpcy5fYXgsZix5KX0scGxvdDpmdW5jdGlvbih0LGUscil7dmFyIGk9ZS5sYXllcnMuYmFja3Bsb3Quc2VsZWN0KCIuY2hvcm9wbGV0aGxheWVyIik7YS5tYWtlVHJhY2VHcm91cHMoaSxyLCJ0cmFjZSBjaG9yb3BsZXRoIikuZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoInBhdGguY2hvcm9wbGV0aGxvY2F0aW9uIikuZGF0YShhLmlkZW50aXR5KTtyLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZCgiY2hvcm9wbGV0aGxvY2F0aW9uIiwhMCksci5leGl0KCkucmVtb3ZlKCksbCh0LGUpfSl9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2dlb19sb2NhdGlvbl91dGlscyI6NzExLCIuLi8uLi9saWIvdG9wb2pzb25fdXRpbHMiOjc0NCwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F1dG9yYW5nZSI6NzY0LCIuL3N0eWxlIjo5MzIsZDM6MTY1fV0sOTMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpLG8scz10LmNkLGw9dC54YXhpcyxjPXQueWF4aXMsdT1bXTtpZighMT09PWUpZm9yKHI9MDtyPHMubGVuZ3RoO3IrKylzW3JdLnNlbGVjdGVkPTA7ZWxzZSBmb3Iocj0wO3I8cy5sZW5ndGg7cisrKShhPShuPXNbcl0pLmN0KSYmKGk9bC5jMnAoYSksbz1jLmMycChhKSxlLmNvbnRhaW5zKFtpLG9dLG51bGwscix0KT8odS5wdXNoKHtwb2ludE51bWJlcjpyLGxvbjphWzBdLGxhdDphWzFdfSksbi5zZWxlY3RlZD0xKTpuLnNlbGVjdGVkPTApO3JldHVybiB1fX0se31dLDkzMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKTtmdW5jdGlvbiBzKHQsZSl7dmFyIHI9ZVswXS50cmFjZSxzPWVbMF0ubm9kZTMuc2VsZWN0QWxsKCIuY2hvcm9wbGV0aGxvY2F0aW9uIiksbD1yLm1hcmtlcnx8e30sYz1sLmxpbmV8fHt9LHU9by5tYWtlQ29sb3JTY2FsZUZ1bmNGcm9tVHJhY2Uocik7cy5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLmF0dHIoImZpbGwiLHUodC56KSkuY2FsbChhLnN0cm9rZSx0Lm1sY3x8Yy5jb2xvcikuY2FsbChpLmRhc2hMaW5lLCIiLHQubWx3fHxjLndpZHRofHwwKS5zdHlsZSgib3BhY2l0eSIsbC5vcGFjaXR5KX0pLGkuc2VsZWN0ZWRQb2ludFN0eWxlKHMscix0KX1lLmV4cG9ydHM9e3N0eWxlOmZ1bmN0aW9uKHQsZSl7ZSYmcyh0LGUpfSxzdHlsZU9uU2VsZWN0OmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXS5ub2RlMyxuPWVbMF0udHJhY2U7bi5zZWxlY3RlZHBvaW50cz9pLnNlbGVjdGVkUG9pbnRTdHlsZShyLnNlbGVjdEFsbCgiLmNob3JvcGxldGhsb2NhdGlvbiIpLG4sdCk6cyh0LGUpfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsZDM6MTY1fV0sOTMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Nob3JvcGxldGgvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsbz10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdDtlLmV4cG9ydHM9cyh7bG9jYXRpb25zOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHo6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sZ2VvanNvbjp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYyJ9LGZlYXR1cmVpZGtleTpzKHt9LG4uZmVhdHVyZWlka2V5LHt9KSxiZWxvdzp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToicGxvdCJ9LHRleHQ6bi50ZXh0LGhvdmVydGV4dDpuLmhvdmVydGV4dCxtYXJrZXI6e2xpbmU6e2NvbG9yOnMoe30sbi5tYXJrZXIubGluZS5jb2xvcix7ZWRpdFR5cGU6InBsb3QifSksd2lkdGg6cyh7fSxuLm1hcmtlci5saW5lLndpZHRoLHtlZGl0VHlwZToicGxvdCJ9KSxlZGl0VHlwZToiY2FsYyJ9LG9wYWNpdHk6cyh7fSxuLm1hcmtlci5vcGFjaXR5LHtlZGl0VHlwZToicGxvdCJ9KSxlZGl0VHlwZToiY2FsYyJ9LHNlbGVjdGVkOnttYXJrZXI6e29wYWNpdHk6cyh7fSxuLnNlbGVjdGVkLm1hcmtlci5vcGFjaXR5LHtlZGl0VHlwZToicGxvdCJ9KSxlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0sdW5zZWxlY3RlZDp7bWFya2VyOntvcGFjaXR5OnMoe30sbi51bnNlbGVjdGVkLm1hcmtlci5vcGFjaXR5LHtlZGl0VHlwZToicGxvdCJ9KSxlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0saG92ZXJpbmZvOm4uaG92ZXJpbmZvLGhvdmVydGVtcGxhdGU6aSh7fSx7a2V5czpbInByb3BlcnRpZXMiXX0pLHNob3dsZWdlbmQ6cyh7fSxvLnNob3dsZWdlbmQse2RmbHQ6ITF9KX0sYSgiIix7Y0xldHRlcjoieiIsZWRpdFR5cGVPdmVycmlkZToiY2FsYyJ9KSl9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vY2hvcm9wbGV0aC9hdHRyaWJ1dGVzIjo5MjR9XSw5MzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxzPXQoIi4uLy4uL2xpYi9nZW9qc29uX3V0aWxzIikubWFrZUJsYW5rLGw9dCgiLi4vLi4vbGliL2dlb19sb2NhdGlvbl91dGlscyIpO2Z1bmN0aW9uIGModCl7dmFyIGUscj10WzBdLnRyYWNlLG49ci5fb3B0cztpZihyLnNlbGVjdGVkcG9pbnRzKXtmb3IodmFyIGk9by5tYWtlU2VsZWN0ZWRQb2ludFN0eWxlRm5zKHIpLHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGw9dFtzXTtsLmZPdXQmJihsLmZPdXQucHJvcGVydGllcy5tbzI9aS5zZWxlY3RlZE9wYWNpdHlGbihsKSl9ZT17dHlwZToiaWRlbnRpdHkiLHByb3BlcnR5OiJtbzIifX1lbHNlIGU9YS5pc0FycmF5T3JUeXBlZEFycmF5KHIubWFya2VyLm9wYWNpdHkpP3t0eXBlOiJpZGVudGl0eSIscHJvcGVydHk6Im1vIn06ci5tYXJrZXIub3BhY2l0eTtyZXR1cm4gYS5leHRlbmRGbGF0KG4uZmlsbC5wYWludCx7ImZpbGwtb3BhY2l0eSI6ZX0pLGEuZXh0ZW5kRmxhdChuLmxpbmUucGFpbnQseyJsaW5lLW9wYWNpdHkiOmV9KSxufWUuZXhwb3J0cz17Y29udmVydDpmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRyYWNlLHI9ITA9PT1lLnZpc2libGUmJjAhPT1lLl9sZW5ndGgsbz17bGF5b3V0Ont2aXNpYmlsaXR5OiJub25lIn0scGFpbnQ6e319LHU9e2xheW91dDp7dmlzaWJpbGl0eToibm9uZSJ9LHBhaW50Ont9fSxoPWUuX29wdHM9e2ZpbGw6byxsaW5lOnUsZ2VvanNvbjpzKCl9O2lmKCFyKXJldHVybiBoO3ZhciBmPWwuZXh0cmFjdFRyYWNlRmVhdHVyZSh0KTtpZighZilyZXR1cm4gaDt2YXIgcCxkLGcsdj1pLm1ha2VDb2xvclNjYWxlRnVuY0Zyb21UcmFjZShlKSxtPWUubWFya2VyLHk9bS5saW5lfHx7fTthLmlzQXJyYXlPclR5cGVkQXJyYXkobS5vcGFjaXR5KSYmKHA9ZnVuY3Rpb24odCl7dmFyIGU9dC5tbztyZXR1cm4gbihlKT8rYS5jb25zdHJhaW4oZSwwLDEpOjB9KSxhLmlzQXJyYXlPclR5cGVkQXJyYXkoeS5jb2xvcikmJihkPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm1sY30pLGEuaXNBcnJheU9yVHlwZWRBcnJheSh5LndpZHRoKSYmKGc9ZnVuY3Rpb24odCl7cmV0dXJuIHQubWx3fSk7Zm9yKHZhciB4PTA7eDx0Lmxlbmd0aDt4Kyspe3ZhciBiPXRbeF0sXz1iLmZPdXQ7aWYoXyl7dmFyIHc9Xy5wcm9wZXJ0aWVzO3cuZmM9dihiLnopLHAmJih3Lm1vPXAoYikpLGQmJih3Lm1sYz1kKGIpKSxnJiYody5tbHc9ZyhiKSksYi5jdD13LmN0LGIuX3BvbHlnb25zPWwuZmVhdHVyZTJwb2x5Z29ucyhfKX19dmFyIGs9cD97dHlwZToiaWRlbnRpdHkiLHByb3BlcnR5OiJtbyJ9Om0ub3BhY2l0eTtyZXR1cm4gYS5leHRlbmRGbGF0KG8ucGFpbnQseyJmaWxsLWNvbG9yIjp7dHlwZToiaWRlbnRpdHkiLHByb3BlcnR5OiJmYyJ9LCJmaWxsLW9wYWNpdHkiOmt9KSxhLmV4dGVuZEZsYXQodS5wYWludCx7ImxpbmUtY29sb3IiOmQ/e3R5cGU6ImlkZW50aXR5Iixwcm9wZXJ0eToibWxjIn06eS5jb2xvciwibGluZS13aWR0aCI6Zz97dHlwZToiaWRlbnRpdHkiLHByb3BlcnR5OiJtbHcifTp5LndpZHRoLCJsaW5lLW9wYWNpdHkiOmt9KSxvLmxheW91dC52aXNpYmlsaXR5PSJ2aXNpYmxlIix1LmxheW91dC52aXNpYmlsaXR5PSJ2aXNpYmxlIixoLmdlb2pzb249e3R5cGU6IkZlYXR1cmVDb2xsZWN0aW9uIixmZWF0dXJlczpmfSxjKHQpLGh9LGNvbnZlcnRPblNlbGVjdDpjfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ2VvX2xvY2F0aW9uX3V0aWxzIjo3MTEsIi4uLy4uL2xpYi9nZW9qc29uX3V0aWxzIjo3MTIsImZhc3QtaXNudW1lcmljIjoyMjh9XSw5MzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiKSxpPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXtmdW5jdGlvbiBzKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLHIsYSl9dmFyIGw9cygibG9jYXRpb25zIiksYz1zKCJ6IiksdT1zKCJnZW9qc29uIik7bi5pc0FycmF5T3JUeXBlZEFycmF5KGwpJiZsLmxlbmd0aCYmbi5pc0FycmF5T3JUeXBlZEFycmF5KGMpJiZjLmxlbmd0aCYmKCJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHxuLmlzUGxhaW5PYmplY3QodSkpPyhzKCJmZWF0dXJlaWRrZXkiKSxlLl9sZW5ndGg9TWF0aC5taW4obC5sZW5ndGgsYy5sZW5ndGgpLHMoImJlbG93IikscygidGV4dCIpLHMoImhvdmVydGV4dCIpLHMoImhvdmVydGVtcGxhdGUiKSxzKCJtYXJrZXIubGluZS53aWR0aCIpJiZzKCJtYXJrZXIubGluZS5jb2xvciIpLHMoIm1hcmtlci5vcGFjaXR5IiksYSh0LGUsbyxzLHtwcmVmaXg6IiIsY0xldHRlcjoieiJ9KSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSxzKSk6ZS52aXNpYmxlPSExfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiOjYwMiwiLi4vLi4vbGliIjo3MTcsIi4vYXR0cmlidXRlcyI6OTMzfV0sOTM2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY29sb3JiYXI6dCgiLi4vaGVhdG1hcC9jb2xvcmJhciIpLGNhbGM6dCgiLi4vY2hvcm9wbGV0aC9jYWxjIikscGxvdDp0KCIuL3Bsb3QiKSxob3ZlclBvaW50czp0KCIuLi9jaG9yb3BsZXRoL2hvdmVyIiksZXZlbnREYXRhOnQoIi4uL2Nob3JvcGxldGgvZXZlbnRfZGF0YSIpLHNlbGVjdFBvaW50czp0KCIuLi9jaG9yb3BsZXRoL3NlbGVjdCIpLHN0eWxlT25TZWxlY3Q6ZnVuY3Rpb24odCxlKXtlJiZlWzBdLnRyYWNlLl9nbFRyYWNlLnVwZGF0ZU9uU2VsZWN0KGUpfSxnZXRCZWxvdzpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lLmdldE1hcExheWVycygpLG49ci5sZW5ndGgtMjtuPj0wO24tLSl7dmFyIGE9cltuXS5pZDtpZigic3RyaW5nIj09dHlwZW9mIGEmJjA9PT1hLmluZGV4T2YoIndhdGVyIikpZm9yKHZhciBpPW4rMTtpPHIubGVuZ3RoO2krKylpZigic3RyaW5nIj09dHlwZW9mKGE9cltpXS5pZCkmJi0xPT09YS5pbmRleE9mKCJwbG90bHktIikpcmV0dXJuIGF9fSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiY2hvcm9wbGV0aG1hcGJveCIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvbWFwYm94IiksY2F0ZWdvcmllczpbIm1hcGJveCIsImdsIiwibm9PcGFjaXR5Iiwic2hvd0xlZ2VuZCJdLG1ldGE6e2hyX25hbWU6ImNob3JvcGxldGhfbWFwYm94In19fSx7Ii4uLy4uL3Bsb3RzL21hcGJveCI6ODIwLCIuLi9jaG9yb3BsZXRoL2NhbGMiOjkyNSwiLi4vY2hvcm9wbGV0aC9ldmVudF9kYXRhIjo5MjcsIi4uL2Nob3JvcGxldGgvaG92ZXIiOjkyOCwiLi4vY2hvcm9wbGV0aC9zZWxlY3QiOjkzMSwiLi4vaGVhdG1hcC9jb2xvcmJhciI6MTAwMywiLi9hdHRyaWJ1dGVzIjo5MzMsIi4vZGVmYXVsdHMiOjkzNSwiLi9wbG90Ijo5Mzd9XSw5Mzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb252ZXJ0IikuY29udmVydCxhPXQoIi4vY29udmVydCIpLmNvbnZlcnRPblNlbGVjdCxpPXQoIi4uLy4uL3Bsb3RzL21hcGJveC9jb25zdGFudHMiKS50cmFjZUxheWVyUHJlZml4O2Z1bmN0aW9uIG8odCxlKXt0aGlzLnR5cGU9ImNob3JvcGxldGhtYXBib3giLHRoaXMuc3VicGxvdD10LHRoaXMudWlkPWUsdGhpcy5zb3VyY2VJZD0ic291cmNlLSIrZSx0aGlzLmxheWVyTGlzdD1bWyJmaWxsIixpK2UrIi1maWxsIl0sWyJsaW5lIixpK2UrIi1saW5lIl1dLHRoaXMuYmVsb3c9bnVsbH12YXIgcz1vLnByb3RvdHlwZTtzLnVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLl91cGRhdGUobih0KSl9LHMudXBkYXRlT25TZWxlY3Q9ZnVuY3Rpb24odCl7dGhpcy5fdXBkYXRlKGEodCkpfSxzLl91cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zdWJwbG90LHI9dGhpcy5sYXllckxpc3Qsbj1lLmJlbG93TG9va3VwWyJ0cmFjZS0iK3RoaXMudWlkXTtlLm1hcC5nZXRTb3VyY2UodGhpcy5zb3VyY2VJZCkuc2V0RGF0YSh0Lmdlb2pzb24pLG4hPT10aGlzLmJlbG93JiYodGhpcy5fcmVtb3ZlTGF5ZXJzKCksdGhpcy5fYWRkTGF5ZXJzKHQsbiksdGhpcy5iZWxvdz1uKTtmb3IodmFyIGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGk9clthXSxvPWlbMF0scz1pWzFdLGw9dFtvXTtlLnNldE9wdGlvbnMocywic2V0TGF5b3V0UHJvcGVydHkiLGwubGF5b3V0KSwidmlzaWJsZSI9PT1sLmxheW91dC52aXNpYmlsaXR5JiZlLnNldE9wdGlvbnMocywic2V0UGFpbnRQcm9wZXJ0eSIsbC5wYWludCl9fSxzLl9hZGRMYXllcnM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5zdWJwbG90LG49dGhpcy5sYXllckxpc3QsYT10aGlzLnNvdXJjZUlkLGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIG89bltpXSxzPW9bMF0sbD10W3NdO3IuYWRkTGF5ZXIoe3R5cGU6cyxpZDpvWzFdLHNvdXJjZTphLGxheW91dDpsLmxheW91dCxwYWludDpsLnBhaW50fSxlKX19LHMuX3JlbW92ZUxheWVycz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLnN1YnBsb3QubWFwLGU9dGhpcy5sYXllckxpc3Qscj1lLmxlbmd0aC0xO3I+PTA7ci0tKXQucmVtb3ZlTGF5ZXIoZVtyXVsxXSl9LHMuZGlzcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuc3VicGxvdC5tYXA7dGhpcy5fcmVtb3ZlTGF5ZXJzKCksdC5yZW1vdmVTb3VyY2UodGhpcy5zb3VyY2VJZCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0udHJhY2UsYT1uZXcgbyh0LHIudWlkKSxpPWEuc291cmNlSWQscz1uKGUpLGw9YS5iZWxvdz10LmJlbG93TG9va3VwWyJ0cmFjZS0iK3IudWlkXTtyZXR1cm4gdC5tYXAuYWRkU291cmNlKGkse3R5cGU6Imdlb2pzb24iLGRhdGE6cy5nZW9qc29ufSksYS5fYWRkTGF5ZXJzKHMsbCksZVswXS50cmFjZS5fZ2xUcmFjZT1hLGF9fSx7Ii4uLy4uL3Bsb3RzL21hcGJveC9jb25zdGFudHMiOjgxOCwiLi9jb252ZXJ0Ijo5MzR9XSw5Mzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsaT10KCIuLi9tZXNoM2QvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLHM9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsbD17eDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSx5Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHo6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sdTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx2Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHc6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sc2l6ZW1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInNjYWxlZCIsImFic29sdXRlIl0sZWRpdFR5cGU6ImNhbGMiLGRmbHQ6InNjYWxlZCJ9LHNpemVyZWY6e3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6ImNhbGMiLG1pbjowfSxhbmNob3I6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLGVkaXRUeXBlOiJjYWxjIix2YWx1ZXM6WyJ0aXAiLCJ0YWlsIiwiY20iLCJjZW50ZXIiXSxkZmx0OiJjbSJ9LHRleHQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixhcnJheU9rOiEwLGVkaXRUeXBlOiJjYWxjIn0saG92ZXJ0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyJ9LGhvdmVydGVtcGxhdGU6YSh7ZWRpdFR5cGU6ImNhbGMifSx7a2V5czpbIm5vcm0iXX0pLHNob3dsZWdlbmQ6cyh7fSxvLnNob3dsZWdlbmQse2RmbHQ6ITF9KX07cyhsLG4oIiIse2NvbG9yQXR0cjoidS92L3cgbm9ybSIsc2hvd1NjYWxlRGZsdDohMCxlZGl0VHlwZU92ZXJyaWRlOiJjYWxjIn0pKTtbIm9wYWNpdHkiLCJsaWdodHBvc2l0aW9uIiwibGlnaHRpbmciXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2xbdF09aVt0XX0pLGwuaG92ZXJpbmZvPXMoe30sby5ob3ZlcmluZm8se2VkaXRUeXBlOiJjYWxjIixmbGFnczpbIngiLCJ5IiwieiIsInUiLCJ2IiwidyIsIm5vcm0iLCJ0ZXh0IiwibmFtZSJdLGRmbHQ6IngreSt6K25vcm0rdGV4dCtuYW1lIn0pLGwudHJhbnNmb3Jtcz12b2lkIDAsZS5leHBvcnRzPWx9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vbWVzaDNkL2F0dHJpYnV0ZXMiOjEwNjF9XSw5Mzk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZS51LGE9ZS52LGk9ZS53LG89TWF0aC5taW4oZS54Lmxlbmd0aCxlLnkubGVuZ3RoLGUuei5sZW5ndGgsci5sZW5ndGgsYS5sZW5ndGgsaS5sZW5ndGgpLHM9LTEvMCxsPTEvMCxjPTA7YzxvO2MrKyl7dmFyIHU9cltjXSxoPWFbY10sZj1pW2NdLHA9TWF0aC5zcXJ0KHUqdStoKmgrZipmKTtzPU1hdGgubWF4KHMscCksbD1NYXRoLm1pbihsLHApfWUuX2xlbj1vLGUuX25vcm1NYXg9cyxuKHQsZSx7dmFsczpbbCxzXSxjb250YWluZXJTdHI6IiIsY0xldHRlcjoiYyJ9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiOjYwMH1dLDk0MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1jb25lM2QiKSxhPXQoImdsLWNvbmUzZCIpLmNyZWF0ZUNvbmVNZXNoLGk9dCgiLi4vLi4vbGliIikuc2ltcGxlTWFwLG89dCgiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciIpLnBhcnNlQ29sb3JTY2FsZSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLmV4dHJhY3RPcHRzLGw9dCgiLi4vLi4vcGxvdHMvZ2wzZC96aXAzIik7ZnVuY3Rpb24gYyh0LGUpe3RoaXMuc2NlbmU9dCx0aGlzLnVpZD1lLHRoaXMubWVzaD1udWxsLHRoaXMuZGF0YT1udWxsfXZhciB1PWMucHJvdG90eXBlO3UuaGFuZGxlUGljaz1mdW5jdGlvbih0KXtpZih0Lm9iamVjdD09PXRoaXMubWVzaCl7dmFyIGU9dC5pbmRleD10LmRhdGEuaW5kZXgscj10aGlzLmRhdGEueFtlXSxuPXRoaXMuZGF0YS55W2VdLGE9dGhpcy5kYXRhLnpbZV0saT10aGlzLmRhdGEudVtlXSxvPXRoaXMuZGF0YS52W2VdLHM9dGhpcy5kYXRhLndbZV07dC50cmFjZUNvb3JkaW5hdGU9W3IsbixhLGksbyxzLE1hdGguc3FydChpKmkrbypvK3MqcyldO3ZhciBsPXRoaXMuZGF0YS5ob3ZlcnRleHR8fHRoaXMuZGF0YS50ZXh0O3JldHVybiBBcnJheS5pc0FycmF5KGwpJiZ2b2lkIDAhPT1sW2VdP3QudGV4dExhYmVsPWxbZV06bCYmKHQudGV4dExhYmVsPWwpLCEwfX07dmFyIGg9e3hheGlzOjAseWF4aXM6MSx6YXhpczoyfSxmPXt0aXA6MSx0YWlsOjAsY206LjI1LGNlbnRlcjouNX0scD17dGlwOjEsdGFpbDoxLGNtOi43NSxjZW50ZXI6LjV9O2Z1bmN0aW9uIGQodCxlKXt2YXIgcj10LmZ1bGxTY2VuZUxheW91dCxhPXQuZGF0YVNjYWxlLGM9e307ZnVuY3Rpb24gdSh0LGUpe3ZhciBuPXJbZV0sbz1hW2hbZV1dO3JldHVybiBpKHQsZnVuY3Rpb24odCl7cmV0dXJuIG4uZDJsKHQpKm99KX1jLnZlY3RvcnM9bCh1KGUudSwieGF4aXMiKSx1KGUudiwieWF4aXMiKSx1KGUudywiemF4aXMiKSxlLl9sZW4pLGMucG9zaXRpb25zPWwodShlLngsInhheGlzIiksdShlLnksInlheGlzIiksdShlLnosInpheGlzIiksZS5fbGVuKTt2YXIgZD1zKGUpO2MuY29sb3JtYXA9byhlKSxjLnZlcnRleEludGVuc2l0eUJvdW5kcz1bZC5taW4vZS5fbm9ybU1heCxkLm1heC9lLl9ub3JtTWF4XSxjLmNvbmVPZmZzZXQ9ZltlLmFuY2hvcl0sInNjYWxlZCI9PT1lLnNpemVtb2RlP2MuY29uZVNpemU9ZS5zaXplcmVmfHwuNTpjLmNvbmVTaXplPWUuc2l6ZXJlZiYmZS5fbm9ybU1heD9lLnNpemVyZWYvZS5fbm9ybU1heDouNTt2YXIgZz1uKGMpLHY9ZS5saWdodHBvc2l0aW9uO3JldHVybiBnLmxpZ2h0UG9zaXRpb249W3YueCx2Lnksdi56XSxnLmFtYmllbnQ9ZS5saWdodGluZy5hbWJpZW50LGcuZGlmZnVzZT1lLmxpZ2h0aW5nLmRpZmZ1c2UsZy5zcGVjdWxhcj1lLmxpZ2h0aW5nLnNwZWN1bGFyLGcucm91Z2huZXNzPWUubGlnaHRpbmcucm91Z2huZXNzLGcuZnJlc25lbD1lLmxpZ2h0aW5nLmZyZXNuZWwsZy5vcGFjaXR5PWUub3BhY2l0eSxlLl9wYWQ9cFtlLmFuY2hvcl0qZy52ZWN0b3JTY2FsZSpnLmNvbmVTY2FsZSplLl9ub3JtTWF4LGd9dS51cGRhdGU9ZnVuY3Rpb24odCl7dGhpcy5kYXRhPXQ7dmFyIGU9ZCh0aGlzLnNjZW5lLHQpO3RoaXMubWVzaC51cGRhdGUoZSl9LHUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2NlbmUuZ2xwbG90LnJlbW92ZSh0aGlzLm1lc2gpLHRoaXMubWVzaC5kaXNwb3NlKCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuZ2xwbG90LmdsLG49ZCh0LGUpLGk9YShyLG4pLG89bmV3IGModCxlLnVpZCk7cmV0dXJuIG8ubWVzaD1pLG8uZGF0YT1lLGkuX3RyYWNlPW8sdC5nbHBsb3QuYWRkKGkpLG99fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSI6NjA0LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciI6NzE0LCIuLi8uLi9wbG90cy9nbDNkL3ppcDMiOjgxNiwiZ2wtY29uZTNkIjoyNDV9XSw5NDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiKSxpPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXtmdW5jdGlvbiBzKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLHIsYSl9dmFyIGw9cygidSIpLGM9cygidiIpLHU9cygidyIpLGg9cygieCIpLGY9cygieSIpLHA9cygieiIpO2wmJmwubGVuZ3RoJiZjJiZjLmxlbmd0aCYmdSYmdS5sZW5ndGgmJmgmJmgubGVuZ3RoJiZmJiZmLmxlbmd0aCYmcCYmcC5sZW5ndGg/KHMoInNpemVyZWYiKSxzKCJzaXplbW9kZSIpLHMoImFuY2hvciIpLHMoImxpZ2h0aW5nLmFtYmllbnQiKSxzKCJsaWdodGluZy5kaWZmdXNlIikscygibGlnaHRpbmcuc3BlY3VsYXIiKSxzKCJsaWdodGluZy5yb3VnaG5lc3MiKSxzKCJsaWdodGluZy5mcmVzbmVsIikscygibGlnaHRwb3NpdGlvbi54IikscygibGlnaHRwb3NpdGlvbi55IikscygibGlnaHRwb3NpdGlvbi56IiksYSh0LGUsbyxzLHtwcmVmaXg6IiIsY0xldHRlcjoiYyJ9KSxzKCJ0ZXh0IikscygiaG92ZXJ0ZXh0IikscygiaG92ZXJ0ZW1wbGF0ZSIpLGUuX2xlbmd0aD1udWxsKTplLnZpc2libGU9ITF9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyI6NjAyLCIuLi8uLi9saWIiOjcxNywiLi9hdHRyaWJ1dGVzIjo5Mzh9XSw5NDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiY29uZSIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvZ2wzZCIpLGNhdGVnb3JpZXM6WyJnbDNkIiwic2hvd0xlZ2VuZCJdLGF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNvbG9yYmFyOnttaW46ImNtaW4iLG1heDoiY21heCJ9LGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuL2NvbnZlcnQiKSxldmVudERhdGE6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5ub3JtPWUudHJhY2VDb29yZGluYXRlWzZdLHR9LG1ldGE6e319fSx7Ii4uLy4uL3Bsb3RzL2dsM2QiOjgwNSwiLi9hdHRyaWJ1dGVzIjo5MzgsIi4vY2FsYyI6OTM5LCIuL2NvbnZlcnQiOjk0MCwiLi9kZWZhdWx0cyI6OTQxfV0sOTQzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2hlYXRtYXAvYXR0cmlidXRlcyIpLGE9dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nL2F0dHJpYnV0ZXMiKS5kYXNoLHM9dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksbD10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxjPXQoIi4uLy4uL2NvbnN0YW50cy9maWx0ZXJfb3BzIiksdT1jLkNPTVBBUklTT05fT1BTMixoPWMuSU5URVJWQUxfT1BTLGY9KHQoIi4uLy4uL2NvbnN0YW50cy9kb2NzIikuRk9STUFUX0xJTkssYS5saW5lKTtlLmV4cG9ydHM9bCh7ejpuLnoseDpuLngseDA6bi54MCxkeDpuLmR4LHk6bi55LHkwOm4ueTAsZHk6bi5keSx0ZXh0Om4udGV4dCxob3ZlcnRleHQ6bi5ob3ZlcnRleHQsdHJhbnNwb3NlOm4udHJhbnNwb3NlLHh0eXBlOm4ueHR5cGUseXR5cGU6bi55dHlwZSx6aG92ZXJmb3JtYXQ6bi56aG92ZXJmb3JtYXQsaG92ZXJ0ZW1wbGF0ZTpuLmhvdmVydGVtcGxhdGUsaG92ZXJvbmdhcHM6bi5ob3Zlcm9uZ2Fwcyxjb25uZWN0Z2FwczpsKHt9LG4uY29ubmVjdGdhcHMse30pLGZpbGxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJjYWxjIn0sYXV0b2NvbnRvdXI6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6ImNhbGMiLGltcGxpZWRFZGl0czp7ImNvbnRvdXJzLnN0YXJ0Ijp2b2lkIDAsImNvbnRvdXJzLmVuZCI6dm9pZCAwLCJjb250b3Vycy5zaXplIjp2b2lkIDB9fSxuY29udG91cnM6e3ZhbFR5cGU6ImludGVnZXIiLGRmbHQ6MTUsbWluOjEsZWRpdFR5cGU6ImNhbGMifSxjb250b3Vyczp7dHlwZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibGV2ZWxzIiwiY29uc3RyYWludCJdLGRmbHQ6ImxldmVscyIsZWRpdFR5cGU6ImNhbGMifSxzdGFydDp7dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsZWRpdFR5cGU6InBsb3QiLGltcGxpZWRFZGl0czp7Il5hdXRvY29udG91ciI6ITF9fSxlbmQ6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDpudWxsLGVkaXRUeXBlOiJwbG90IixpbXBsaWVkRWRpdHM6eyJeYXV0b2NvbnRvdXIiOiExfX0sc2l6ZTp7dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsbWluOjAsZWRpdFR5cGU6InBsb3QiLGltcGxpZWRFZGl0czp7Il5hdXRvY29udG91ciI6ITF9fSxjb2xvcmluZzp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZmlsbCIsImhlYXRtYXAiLCJsaW5lcyIsIm5vbmUiXSxkZmx0OiJmaWxsIixlZGl0VHlwZToiY2FsYyJ9LHNob3dsaW5lczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToicGxvdCJ9LHNob3dsYWJlbHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6InBsb3QifSxsYWJlbGZvbnQ6cyh7ZWRpdFR5cGU6InBsb3QiLGNvbG9yRWRpdFR5cGU6InN0eWxlIn0pLGxhYmVsZm9ybWF0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6InBsb3QifSxvcGVyYXRpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbXS5jb25jYXQodSkuY29uY2F0KGgpLGRmbHQ6Ij0iLGVkaXRUeXBlOiJjYWxjIn0sdmFsdWU6e3ZhbFR5cGU6ImFueSIsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMiLGltcGxpZWRFZGl0czp7YXV0b2NvbnRvdXI6ITF9fSxsaW5lOntjb2xvcjpsKHt9LGYuY29sb3Ise2VkaXRUeXBlOiJzdHlsZStjb2xvcmJhcnMifSksd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6InN0eWxlK2NvbG9yYmFycyJ9LGRhc2g6byxzbW9vdGhpbmc6bCh7fSxmLnNtb290aGluZyx7fSksZWRpdFR5cGU6InBsb3QifX0saSgiIix7Y0xldHRlcjoieiIsYXV0b0NvbG9yRGZsdDohMSxlZGl0VHlwZU92ZXJyaWRlOiJjYWxjIn0pKX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyI6NjEyLCIuLi8uLi9jb25zdGFudHMvZG9jcyI6Njg4LCIuLi8uLi9jb25zdGFudHMvZmlsdGVyX29wcyI6Njg5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyI6NzkxLCIuLi9oZWF0bWFwL2F0dHJpYnV0ZXMiOjFlMywiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIjoxMTIwfV0sOTQ0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLGE9dCgiLi4vaGVhdG1hcC9jYWxjIiksaT10KCIuL3NldF9jb250b3VycyIpLG89dCgiLi9lbmRfcGx1cyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWEodCxlKSxzPXJbMF0uejtpKGUscyk7dmFyIGwsYz1lLmNvbnRvdXJzLHU9bi5leHRyYWN0T3B0cyhlKTtpZigiaGVhdG1hcCI9PT1jLmNvbG9yaW5nJiZ1LmF1dG8mJiExPT09ZS5hdXRvY29udG91cil7dmFyIGg9Yy5zdGFydCxmPW8oYykscD1jLnNpemV8fDEsZD1NYXRoLmZsb29yKChmLWgpL3ApKzE7aXNGaW5pdGUocCl8fChwPTEsZD0xKTt2YXIgZz1oLXAvMjtsPVtnLGcrZCpwXX1lbHNlIGw9cztyZXR1cm4gbi5jYWxjKHQsZSx7dmFsczpsLGNMZXR0ZXI6InoifSkscn19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uL2hlYXRtYXAvY2FsYyI6MTAwMSwiLi9lbmRfcGx1cyI6OTU0LCIuL3NldF9jb250b3VycyI6OTYyfV0sOTQ1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG49dFswXSxhPW4uejtzd2l0Y2goZS50eXBlKXtjYXNlImxldmVscyI6dmFyIGk9TWF0aC5taW4oYVswXVswXSxhWzBdWzFdKTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdO28ucHJlZml4Qm91bmRhcnk9IW8uZWRnZXBhdGhzLmxlbmd0aCYmKGk+by5sZXZlbHx8by5zdGFydHMubGVuZ3RoJiZpPT09by5sZXZlbCl9YnJlYWs7Y2FzZSJjb25zdHJhaW50IjppZihuLnByZWZpeEJvdW5kYXJ5PSExLG4uZWRnZXBhdGhzLmxlbmd0aClyZXR1cm47dmFyIHM9bi54Lmxlbmd0aCxsPW4ueS5sZW5ndGgsYz0tMS8wLHU9MS8wO2ZvcihyPTA7cjxsO3IrKyl1PU1hdGgubWluKHUsYVtyXVswXSksdT1NYXRoLm1pbih1LGFbcl1bcy0xXSksYz1NYXRoLm1heChjLGFbcl1bMF0pLGM9TWF0aC5tYXgoYyxhW3JdW3MtMV0pO2ZvcihyPTE7cjxzLTE7cisrKXU9TWF0aC5taW4odSxhWzBdW3JdKSx1PU1hdGgubWluKHUsYVtsLTFdW3JdKSxjPU1hdGgubWF4KGMsYVswXVtyXSksYz1NYXRoLm1heChjLGFbbC0xXVtyXSk7dmFyIGgsZixwPWUudmFsdWU7c3dpdGNoKGUuX29wZXJhdGlvbil7Y2FzZSI+IjpwPmMmJihuLnByZWZpeEJvdW5kYXJ5PSEwKTticmVhaztjYXNlIjwiOihwPHV8fG4uc3RhcnRzLmxlbmd0aCYmcD09PXUpJiYobi5wcmVmaXhCb3VuZGFyeT0hMCk7YnJlYWs7Y2FzZSJbXSI6aD1NYXRoLm1pbihwWzBdLHBbMV0pLCgoZj1NYXRoLm1heChwWzBdLHBbMV0pKTx1fHxoPmN8fG4uc3RhcnRzLmxlbmd0aCYmZj09PXUpJiYobi5wcmVmaXhCb3VuZGFyeT0hMCk7YnJlYWs7Y2FzZSJdWyI6aD1NYXRoLm1pbihwWzBdLHBbMV0pLGY9TWF0aC5tYXgocFswXSxwWzFdKSxoPHUmJmY+YyYmKG4ucHJlZml4Qm91bmRhcnk9ITApfX19fSx7fV0sOTQ2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLGE9dCgiLi9tYWtlX2NvbG9yX21hcCIpLGk9dCgiLi9lbmRfcGx1cyIpO2UuZXhwb3J0cz17bWluOiJ6bWluIixtYXg6InptYXgiLGNhbGM6ZnVuY3Rpb24odCxlLHIpe3ZhciBvPWUuY29udG91cnMscz1lLmxpbmUsbD1vLnNpemV8fDEsYz1vLmNvbG9yaW5nLHU9YShlLHtpc0NvbG9yYmFyOiEwfSk7aWYoImhlYXRtYXAiPT09Yyl7dmFyIGg9bi5leHRyYWN0T3B0cyhlKTtyLl9maWxsZ3JhZGllbnQ9aC5yZXZlcnNlc2NhbGU/bi5mbGlwU2NhbGUoaC5jb2xvcnNjYWxlKTpoLmNvbG9yc2NhbGUsci5fenJhbmdlPVtoLm1pbixoLm1heF19ZWxzZSJmaWxsIj09PWMmJihyLl9maWxsY29sb3I9dSk7ci5fbGluZT17Y29sb3I6ImxpbmVzIj09PWM/dTpzLmNvbG9yLHdpZHRoOiExIT09by5zaG93bGluZXM/cy53aWR0aDowLGRhc2g6cy5kYXNofSxyLl9sZXZlbHM9e3N0YXJ0Om8uc3RhcnQsZW5kOmkobyksc2l6ZTpsfX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSI6NjA0LCIuL2VuZF9wbHVzIjo5NTQsIi4vbWFrZV9jb2xvcl9tYXAiOjk1OX1dLDk0NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e0JPVFRPTVNUQVJUOlsxLDksMTMsMTA0LDcxM10sVE9QU1RBUlQ6WzQsNiw3LDEwNCw3MTNdLExFRlRTVEFSVDpbOCwxMiwxNCwyMDgsMTExNF0sUklHSFRTVEFSVDpbMiwzLDExLDIwOCwxMTE0XSxORVdERUxUQTpbbnVsbCxbLTEsMF0sWzAsLTFdLFstMSwwXSxbMSwwXSxudWxsLFswLC0xXSxbLTEsMF0sWzAsMV0sWzAsMV0sbnVsbCxbMCwxXSxbMSwwXSxbMSwwXSxbMCwtMV1dLENIT09TRVNBRERMRTp7MTA0Ols0LDFdLDIwODpbMiw4XSw3MTM6WzcsMTNdLDExMTQ6WzExLDE0XX0sU0FERExFUkVNQUlOREVSOnsxOjQsMjo4LDQ6MSw3OjEzLDg6MiwxMToxNCwxMzo3LDE0OjExfSxMQUJFTERJU1RBTkNFOjIsTEFCRUxJTkNSRUFTRToxMCxMQUJFTE1JTjozLExBQkVMTUFYOjEwLExBQkVMT1BUSU1JWkVSOntFREdFQ09TVDoxLEFOR0xFQ09TVDoxLE5FSUdIQk9SQ09TVDo1LFNBTUVMRVZFTEZBQ1RPUjoxMCxTQU1FTEVWRUxESVNUQU5DRTo1LE1BWENPU1Q6MTAwLElOSVRJQUxTRUFSQ0hQT0lOVFM6MTAsSVRFUkFUSU9OUzo1fX19LHt9XSw5NDg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoIi4vbGFiZWxfZGVmYXVsdHMiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPWkuYWRkT3BhY2l0eSxzPWkub3BhY2l0eSxsPXQoIi4uLy4uL2NvbnN0YW50cy9maWx0ZXJfb3BzIiksYz1sLkNPTlNUUkFJTlRfUkVEVUNUSU9OLHU9bC5DT01QQVJJU09OX09QUzI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGksbCxoKXt2YXIgZixwLGQsZz1lLmNvbnRvdXJzLHY9cigiY29udG91cnMub3BlcmF0aW9uIik7KGcuX29wZXJhdGlvbj1jW3ZdLGZ1bmN0aW9uKHQsZSl7dmFyIHI7LTE9PT11LmluZGV4T2YoZS5vcGVyYXRpb24pPyh0KCJjb250b3Vycy52YWx1ZSIsWzAsMV0pLEFycmF5LmlzQXJyYXkoZS52YWx1ZSk/ZS52YWx1ZS5sZW5ndGg+Mj9lLnZhbHVlPWUudmFsdWUuc2xpY2UoMik6MD09PWUubGVuZ3RoP2UudmFsdWU9WzAsMV06ZS5sZW5ndGg8Mj8ocj1wYXJzZUZsb2F0KGUudmFsdWVbMF0pLGUudmFsdWU9W3IscisxXSk6ZS52YWx1ZT1bcGFyc2VGbG9hdChlLnZhbHVlWzBdKSxwYXJzZUZsb2F0KGUudmFsdWVbMV0pXTpuKGUudmFsdWUpJiYocj1wYXJzZUZsb2F0KGUudmFsdWUpLGUudmFsdWU9W3IscisxXSkpOih0KCJjb250b3Vycy52YWx1ZSIsMCksbihlLnZhbHVlKXx8KEFycmF5LmlzQXJyYXkoZS52YWx1ZSk/ZS52YWx1ZT1wYXJzZUZsb2F0KGUudmFsdWVbMF0pOmUudmFsdWU9MCkpfShyLGcpLCI9Ij09PXY/Zj1nLnNob3dsaW5lcz0hMDooZj1yKCJjb250b3Vycy5zaG93bGluZXMiKSxkPXIoImZpbGxjb2xvciIsbygodC5saW5lfHx7fSkuY29sb3J8fGwsLjUpKSksZikmJihwPXIoImxpbmUuY29sb3IiLGQmJnMoZCk/byhlLmZpbGxjb2xvciwxKTpsKSxyKCJsaW5lLndpZHRoIiwyKSxyKCJsaW5lLmRhc2giKSk7cigibGluZS5zbW9vdGhpbmciKSxhKHIsaSxwLGgpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbnN0YW50cy9maWx0ZXJfb3BzIjo2ODksIi4vbGFiZWxfZGVmYXVsdHMiOjk1OCwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDk0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb25zdGFudHMvZmlsdGVyX29wcyIpLGE9dCgiZmFzdC1pc251bWVyaWMiKTtmdW5jdGlvbiBpKHQsZSl7dmFyIHIsaT1BcnJheS5pc0FycmF5KGUpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIGEodCk/K3Q6bnVsbH1yZXR1cm4tMSE9PW4uQ09NUEFSSVNPTl9PUFMyLmluZGV4T2YodCk/cj1vKGk/ZVswXTplKTotMSE9PW4uSU5URVJWQUxfT1BTLmluZGV4T2YodCk/cj1pP1tvKGVbMF0pLG8oZVsxXSldOltvKGUpLG8oZSldOi0xIT09bi5TRVRfT1BTLmluZGV4T2YodCkmJihyPWk/ZS5tYXAobyk6W28oZSldKSxyfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2U9aSh0LGUpO3ZhciByPU1hdGgubWluKGVbMF0sZVsxXSksbj1NYXRoLm1heChlWzBdLGVbMV0pO3JldHVybntzdGFydDpyLGVuZDpuLHNpemU6bi1yfX19ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJue3N0YXJ0OmU9aSh0LGUpLGVuZDoxLzAsc2l6ZToxLzB9fX1lLmV4cG9ydHM9eyJbXSI6bygiW10iKSwiXVsiOm8oIl1bIiksIj4iOnMoIj4iKSwiPCI6cygiPCIpLCI9IjpzKCI9Iil9fSx7Ii4uLy4uL2NvbnN0YW50cy9maWx0ZXJfb3BzIjo2ODksImZhc3QtaXNudW1lcmljIjoyMjh9XSw5NTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW4oImNvbnRvdXJzLnN0YXJ0IiksaT1uKCJjb250b3Vycy5lbmQiKSxvPSExPT09YXx8ITE9PT1pLHM9cigiY29udG91cnMuc2l6ZSIpOyEobz9lLmF1dG9jb250b3VyPSEwOnIoImF1dG9jb250b3VyIiwhMSkpJiZzfHxyKCJuY29udG91cnMiKX19LHt9XSw5NTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZnVuY3Rpb24gYSh0KXtyZXR1cm4gbi5leHRlbmRGbGF0KHt9LHQse2VkZ2VwYXRoczpuLmV4dGVuZERlZXAoW10sdC5lZGdlcGF0aHMpLHBhdGhzOm4uZXh0ZW5kRGVlcChbXSx0LnBhdGhzKSxzdGFydHM6bi5leHRlbmREZWVwKFtdLHQuc3RhcnRzKX0pfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGksbyxzPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJldmVyc2UoKX0sbD1mdW5jdGlvbih0KXtyZXR1cm4gdH07c3dpdGNoKGUpe2Nhc2UiPSI6Y2FzZSI8IjpyZXR1cm4gdDtjYXNlIj4iOmZvcigxIT09dC5sZW5ndGgmJm4ud2FybigiQ29udG91ciBkYXRhIGludmFsaWQgZm9yIHRoZSBzcGVjaWZpZWQgaW5lcXVhbGl0eSBvcGVyYXRpb24uIiksaT10WzBdLHI9MDtyPGkuZWRnZXBhdGhzLmxlbmd0aDtyKyspaS5lZGdlcGF0aHNbcl09cyhpLmVkZ2VwYXRoc1tyXSk7Zm9yKHI9MDtyPGkucGF0aHMubGVuZ3RoO3IrKylpLnBhdGhzW3JdPXMoaS5wYXRoc1tyXSk7Zm9yKHI9MDtyPGkuc3RhcnRzLmxlbmd0aDtyKyspaS5zdGFydHNbcl09cyhpLnN0YXJ0c1tyXSk7cmV0dXJuIHQ7Y2FzZSJdWyI6dmFyIGM9cztzPWwsbD1jO2Nhc2UiW10iOmZvcigyIT09dC5sZW5ndGgmJm4ud2FybigiQ29udG91ciBkYXRhIGludmFsaWQgZm9yIHRoZSBzcGVjaWZpZWQgaW5lcXVhbGl0eSByYW5nZSBvcGVyYXRpb24uIiksaT1hKHRbMF0pLG89YSh0WzFdKSxyPTA7cjxpLmVkZ2VwYXRocy5sZW5ndGg7cisrKWkuZWRnZXBhdGhzW3JdPXMoaS5lZGdlcGF0aHNbcl0pO2ZvcihyPTA7cjxpLnBhdGhzLmxlbmd0aDtyKyspaS5wYXRoc1tyXT1zKGkucGF0aHNbcl0pO2ZvcihyPTA7cjxpLnN0YXJ0cy5sZW5ndGg7cisrKWkuc3RhcnRzW3JdPXMoaS5zdGFydHNbcl0pO2Zvcig7by5lZGdlcGF0aHMubGVuZ3RoOylpLmVkZ2VwYXRocy5wdXNoKGwoby5lZGdlcGF0aHMuc2hpZnQoKSkpO2Zvcig7by5wYXRocy5sZW5ndGg7KWkucGF0aHMucHVzaChsKG8ucGF0aHMuc2hpZnQoKSkpO2Zvcig7by5zdGFydHMubGVuZ3RoOylpLnN0YXJ0cy5wdXNoKGwoby5zdGFydHMuc2hpZnQoKSkpO3JldHVybltpXX19fSx7Ii4uLy4uL2xpYiI6NzE3fV0sOTUyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vaGVhdG1hcC94eXpfZGVmYXVsdHMiKSxpPXQoIi4vY29uc3RyYWludF9kZWZhdWx0cyIpLG89dCgiLi9jb250b3Vyc19kZWZhdWx0cyIpLHM9dCgiLi9zdHlsZV9kZWZhdWx0cyIpLGw9dCgiLi9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGMpe2Z1bmN0aW9uIHUocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGwscixhKX1pZihhKHQsZSx1LGMpKXt1KCJ0ZXh0IiksdSgiaG92ZXJ0ZXh0IiksdSgiaG92ZXJ0ZW1wbGF0ZSIpLHUoImhvdmVyb25nYXBzIik7dmFyIGg9ImNvbnN0cmFpbnQiPT09dSgiY29udG91cnMudHlwZSIpO3UoImNvbm5lY3RnYXBzIixuLmlzQXJyYXkxRChlLnopKSxoP2kodCxlLHUsYyxyKToobyh0LGUsdSxmdW5jdGlvbihyKXtyZXR1cm4gbi5jb2VyY2UyKHQsZSxsLHIpfSkscyh0LGUsdSxjKSl9ZWxzZSBlLnZpc2libGU9ITF9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9oZWF0bWFwL3h5el9kZWZhdWx0cyI6MTAxNCwiLi9hdHRyaWJ1dGVzIjo5NDMsIi4vY29uc3RyYWludF9kZWZhdWx0cyI6OTQ4LCIuL2NvbnRvdXJzX2RlZmF1bHRzIjo5NTAsIi4vc3R5bGVfZGVmYXVsdHMiOjk2NH1dLDk1MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vY29uc3RyYWludF9tYXBwaW5nIiksaT10KCIuL2VuZF9wbHVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG89ImNvbnN0cmFpbnQiPT09dC50eXBlP2FbdC5fb3BlcmF0aW9uXSh0LnZhbHVlKTp0LHM9by5zaXplLGw9W10sYz1pKG8pLHU9ci50cmFjZS5fY2FycGV0VHJhY2UsaD11P3t4YXhpczp1LmFheGlzLHlheGlzOnUuYmF4aXMseDpyLmEseTpyLmJ9Ont4YXhpczplLnhheGlzLHlheGlzOmUueWF4aXMseDpyLngseTpyLnl9LGY9by5zdGFydDtmPGM7Zis9cylpZihsLnB1c2gobi5leHRlbmRGbGF0KHtsZXZlbDpmLGNyb3NzaW5nczp7fSxzdGFydHM6W10sZWRnZXBhdGhzOltdLHBhdGhzOltdLHo6ci56LHNtb290aGluZzpyLnRyYWNlLmxpbmUuc21vb3RoaW5nfSxoKSksbC5sZW5ndGg+MWUzKXtuLndhcm4oIlRvbyBtYW55IGNvbnRvdXJzLCBjbGlwcGluZyBhdCAxMDAwIix0KTticmVha31yZXR1cm4gbH19LHsiLi4vLi4vbGliIjo3MTcsIi4vY29uc3RyYWludF9tYXBwaW5nIjo5NDksIi4vZW5kX3BsdXMiOjk1NH1dLDk1NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZW5kK3Quc2l6ZS8xZTZ9fSx7fV0sOTU1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9jb25zdGFudHMiKTtmdW5jdGlvbiBpKHQsZSxyLG4pe3JldHVybiBNYXRoLmFicyh0WzBdLWVbMF0pPHImJk1hdGguYWJzKHRbMV0tZVsxXSk8bn1mdW5jdGlvbiBvKHQsZSxyLG8sbCl7dmFyIGMsdT1lLmpvaW4oIiwiKSxoPXQuY3Jvc3NpbmdzW3VdLGY9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTAsaT0wO3Q+MjAmJmU/MjA4PT09dHx8MTExND09PXQ/bj0wPT09clswXT8xOi0xOmk9MD09PXJbMV0/MTotMTotMSE9PWEuQk9UVE9NU1RBUlQuaW5kZXhPZih0KT9pPTE6LTEhPT1hLkxFRlRTVEFSVC5pbmRleE9mKHQpP249MTotMSE9PWEuVE9QU1RBUlQuaW5kZXhPZih0KT9pPS0xOm49LTE7cmV0dXJuW24saV19KGgscixlKSxwPVtzKHQsZSxbLWZbMF0sLWZbMV1dKV0sZD10LnoubGVuZ3RoLGc9dC56WzBdLmxlbmd0aCx2PWUuc2xpY2UoKSxtPWYuc2xpY2UoKTtmb3IoYz0wO2M8MWU0O2MrKyl7aWYoaD4yMD8oaD1hLkNIT09TRVNBRERMRVtoXVsoZlswXXx8ZlsxXSk8MD8wOjFdLHQuY3Jvc3NpbmdzW3VdPWEuU0FERExFUkVNQUlOREVSW2hdKTpkZWxldGUgdC5jcm9zc2luZ3NbdV0sIShmPWEuTkVXREVMVEFbaF0pKXtuLmxvZygiRm91bmQgYmFkIG1hcmNoaW5nIGluZGV4OiIsaCxlLHQubGV2ZWwpO2JyZWFrfXAucHVzaChzKHQsZSxmKSksZVswXSs9ZlswXSxlWzFdKz1mWzFdLHU9ZS5qb2luKCIsIiksaShwW3AubGVuZ3RoLTFdLHBbcC5sZW5ndGgtMl0sbyxsKSYmcC5wb3AoKTt2YXIgeT1mWzBdJiYoZVswXTwwfHxlWzBdPmctMil8fGZbMV0mJihlWzFdPDB8fGVbMV0+ZC0yKTtpZihlWzBdPT09dlswXSYmZVsxXT09PXZbMV0mJmZbMF09PT1tWzBdJiZmWzFdPT09bVsxXXx8ciYmeSlicmVhaztoPXQuY3Jvc3NpbmdzW3VdfTFlND09PWMmJm4ubG9nKCJJbmZpbml0ZSBsb29wIGluIGNvbnRvdXI/Iik7dmFyIHgsYixfLHcsayxULE0sQSxTLEUsTCxDLFAsTyx6LEk9aShwWzBdLHBbcC5sZW5ndGgtMV0sbyxsKSxEPTAsUj0uMip0LnNtb290aGluZyxGPVtdLEI9MDtmb3IoYz0xO2M8cC5sZW5ndGg7YysrKUM9cFtjXSxQPXBbYy0xXSxPPXZvaWQgMCx6PXZvaWQgMCxPPUNbMl0tUFsyXSx6PUNbM10tUFszXSxEKz1NPU1hdGguc3FydChPKk8reip6KSxGLnB1c2goTSk7dmFyIE49RC9GLmxlbmd0aCpSO2Z1bmN0aW9uIGoodCl7cmV0dXJuIHBbdCVwLmxlbmd0aF19Zm9yKGM9cC5sZW5ndGgtMjtjPj1CO2MtLSlpZigoeD1GW2NdKTxOKXtmb3IoXz0wLGI9Yy0xO2I+PUImJngrRltiXTxOO2ItLSl4Kz1GW2JdO2lmKEkmJmM9PT1wLmxlbmd0aC0yKWZvcihfPTA7XzxiJiZ4K0ZbX108TjtfKyspeCs9RltfXTtrPWMtYitfKzEsVD1NYXRoLmZsb29yKChjK2IrXysyKS8yKSx3PUl8fGMhPT1wLmxlbmd0aC0yP0l8fC0xIT09Yj9rJTI/aihUKTpbKGooVClbMF0raihUKzEpWzBdKS8yLChqKFQpWzFdK2ooVCsxKVsxXSkvMl06cFswXTpwW3AubGVuZ3RoLTFdLHAuc3BsaWNlKGIrMSxjLWIrMSx3KSxjPWIrMSxfJiYoQj1fKSxJJiYoYz09PXAubGVuZ3RoLTI/cFtfXT1wW3AubGVuZ3RoLTFdOjA9PT1jJiYocFtwLmxlbmd0aC0xXT1wWzBdKSl9Zm9yKHAuc3BsaWNlKDAsQiksYz0wO2M8cC5sZW5ndGg7YysrKXBbY10ubGVuZ3RoPTI7aWYoIShwLmxlbmd0aDwyKSlpZihJKXAucG9wKCksdC5wYXRocy5wdXNoKHApO2Vsc2V7cnx8bi5sb2coIlVuY2xvc2VkIGludGVyaW9yIGNvbnRvdXI/Iix0LmxldmVsLHYuam9pbigiLCIpLHAuam9pbigiTCIpKTt2YXIgVj0hMTtmb3IoQT0wO0E8dC5lZGdlcGF0aHMubGVuZ3RoO0ErKylpZihFPXQuZWRnZXBhdGhzW0FdLCFWJiZpKEVbMF0scFtwLmxlbmd0aC0xXSxvLGwpKXtwLnBvcCgpLFY9ITA7dmFyIFU9ITE7Zm9yKFM9MDtTPHQuZWRnZXBhdGhzLmxlbmd0aDtTKyspaWYoaSgoTD10LmVkZ2VwYXRoc1tTXSlbTC5sZW5ndGgtMV0scFswXSxvLGwpKXtVPSEwLHAuc2hpZnQoKSx0LmVkZ2VwYXRocy5zcGxpY2UoQSwxKSxTPT09QT90LnBhdGhzLnB1c2gocC5jb25jYXQoTCkpOihTPkEmJlMtLSx0LmVkZ2VwYXRoc1tTXT1MLmNvbmNhdChwLEUpKTticmVha31VfHwodC5lZGdlcGF0aHNbQV09cC5jb25jYXQoRSkpfWZvcihBPTA7QTx0LmVkZ2VwYXRocy5sZW5ndGgmJiFWO0ErKylpKChFPXQuZWRnZXBhdGhzW0FdKVtFLmxlbmd0aC0xXSxwWzBdLG8sbCkmJihwLnNoaWZ0KCksdC5lZGdlcGF0aHNbQV09RS5jb25jYXQocCksVj0hMCk7Vnx8dC5lZGdlcGF0aHMucHVzaChwKX19ZnVuY3Rpb24gcyh0LGUscil7dmFyIG49ZVswXStNYXRoLm1heChyWzBdLDApLGE9ZVsxXStNYXRoLm1heChyWzFdLDApLGk9dC56W2FdW25dLG89dC54YXhpcyxzPXQueWF4aXM7aWYoclsxXSl7dmFyIGw9KHQubGV2ZWwtaSkvKHQuelthXVtuKzFdLWkpO3JldHVybltvLmMycCgoMS1sKSp0Lnhbbl0rbCp0LnhbbisxXSwhMCkscy5jMnAodC55W2FdLCEwKSxuK2wsYV19dmFyIGM9KHQubGV2ZWwtaSkvKHQuelthKzFdW25dLWkpO3JldHVybltvLmMycCh0Lnhbbl0sITApLHMuYzJwKCgxLWMpKnQueVthXStjKnQueVthKzFdLCEwKSxuLGErY119ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYSxpLHMsbDtmb3IoZT1lfHwuMDEscj1yfHwuMDEsaT0wO2k8dC5sZW5ndGg7aSsrKXtmb3Iocz10W2ldLGw9MDtsPHMuc3RhcnRzLmxlbmd0aDtsKyspbyhzLHMuc3RhcnRzW2xdLCJlZGdlIixlLHIpO2ZvcihhPTA7T2JqZWN0LmtleXMocy5jcm9zc2luZ3MpLmxlbmd0aCYmYTwxZTQ7KWErKyxvKHMsT2JqZWN0LmtleXMocy5jcm9zc2luZ3MpWzBdLnNwbGl0KCIsIikubWFwKE51bWJlciksdm9pZCAwLGUscik7MWU0PT09YSYmbi5sb2coIkluZmluaXRlIGxvb3AgaW4gY29udG91cj8iKX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2NvbnN0YW50cyI6OTQ3fV0sOTU2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxhPXQoIi4uL2hlYXRtYXAvaG92ZXIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxvKXt2YXIgcz1hKHQsZSxyLGksbywhMCk7cmV0dXJuIHMmJnMuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT10LnRyYWNlOyJjb25zdHJhaW50Ij09PWUuY29udG91cnMudHlwZSYmKGUuZmlsbGNvbG9yJiZuLm9wYWNpdHkoZS5maWxsY29sb3IpP3QuY29sb3I9bi5hZGRPcGFjaXR5KGUuZmlsbGNvbG9yLDEpOmUuY29udG91cnMuc2hvd2xpbmVzJiZuLm9wYWNpdHkoZS5saW5lLmNvbG9yKSYmKHQuY29sb3I9bi5hZGRPcGFjaXR5KGUubGluZS5jb2xvciwxKSkpfSksc319LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi9oZWF0bWFwL2hvdmVyIjoxMDA3fV0sOTU3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY2FsYzp0KCIuL2NhbGMiKSxwbG90OnQoIi4vcGxvdCIpLnBsb3Qsc3R5bGU6dCgiLi9zdHlsZSIpLGNvbG9yYmFyOnQoIi4vY29sb3JiYXIiKSxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImNvbnRvdXIiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGNhdGVnb3JpZXM6WyJjYXJ0ZXNpYW4iLCJzdmciLCIyZE1hcCIsImNvbnRvdXIiLCJzaG93TGVnZW5kIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvY2FydGVzaWFuIjo3NzYsIi4vYXR0cmlidXRlcyI6OTQzLCIuL2NhbGMiOjk0NCwiLi9jb2xvcmJhciI6OTQ2LCIuL2RlZmF1bHRzIjo5NTIsIi4vaG92ZXIiOjk1NiwiLi9wbG90Ijo5NjEsIi4vc3R5bGUiOjk2M31dLDk1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSl7aWYoYXx8KGE9e30pLHQoImNvbnRvdXJzLnNob3dsYWJlbHMiKSl7dmFyIGk9ZS5mb250O24uY29lcmNlRm9udCh0LCJjb250b3Vycy5sYWJlbGZvbnQiLHtmYW1pbHk6aS5mYW1pbHksc2l6ZTppLnNpemUsY29sb3I6cn0pLHQoImNvbnRvdXJzLmxhYmVsZm9ybWF0Iil9ITEhPT1hLmhhc0hvdmVyJiZ0KCJ6aG92ZXJmb3JtYXQiKX19LHsiLi4vLi4vbGliIjo3MTd9XSw5NTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLGk9dCgiLi9lbmRfcGx1cyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmNvbnRvdXJzLHI9ZS5zdGFydCxvPWkoZSkscz1lLnNpemV8fDEsbD1NYXRoLmZsb29yKChvLXIpL3MpKzEsYz0ibGluZXMiPT09ZS5jb2xvcmluZz8wOjEsdT1hLmV4dHJhY3RPcHRzKHQpO2lzRmluaXRlKHMpfHwocz0xLGw9MSk7dmFyIGgsZixwPXUucmV2ZXJzZXNjYWxlP2EuZmxpcFNjYWxlKHUuY29sb3JzY2FsZSk6dS5jb2xvcnNjYWxlLGQ9cC5sZW5ndGgsZz1uZXcgQXJyYXkoZCksdj1uZXcgQXJyYXkoZCk7aWYoImhlYXRtYXAiPT09ZS5jb2xvcmluZyl7dmFyIG09dS5taW4seT11Lm1heDtmb3IoZj0wO2Y8ZDtmKyspaD1wW2ZdLGdbZl09aFswXSooeS1tKSttLHZbZl09aFsxXTt2YXIgeD1uLmV4dGVudChbbSx5LGUuc3RhcnQsZS5zdGFydCtzKihsLTEpXSksYj14W208eT8wOjFdLF89eFttPHk/MTowXTtiIT09bSYmKGcuc3BsaWNlKDAsMCxiKSx2LnNwbGljZSgwLDAsdlswXSkpLF8hPT15JiYoZy5wdXNoKF8pLHYucHVzaCh2W3YubGVuZ3RoLTFdKSl9ZWxzZSBmb3IoZj0wO2Y8ZDtmKyspaD1wW2ZdLGdbZl09KGhbMF0qKGwrYy0xKS1jLzIpKnMrcix2W2ZdPWhbMV07cmV0dXJuIGEubWFrZUNvbG9yU2NhbGVGdW5jKHtkb21haW46ZyxyYW5nZTp2fSx7bm9OdW1lcmljQ2hlY2s6ITB9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4vZW5kX3BsdXMiOjk1NCxkMzoxNjV9XSw5NjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb25zdGFudHMiKTtmdW5jdGlvbiBhKHQsZSl7dmFyIHI9KGVbMF1bMF0+dD8wOjEpKyhlWzBdWzFdPnQ/MDoyKSsoZVsxXVsxXT50PzA6NCkrKGVbMV1bMF0+dD8wOjgpO3JldHVybiA1PT09cnx8MTA9PT1yP3Q+KGVbMF1bMF0rZVswXVsxXStlWzFdWzBdK2VbMV1bMV0pLzQ/NT09PXI/NzEzOjExMTQ6NT09PXI/MTA0OjIwODoxNT09PXI/MDpyfWUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxyLGksbyxzLGwsYyx1LGgsZj10WzBdLnoscD1mLmxlbmd0aCxkPWZbMF0ubGVuZ3RoLGc9Mj09PXB8fDI9PT1kO2ZvcihyPTA7cjxwLTE7cisrKWZvcihvPVtdLDA9PT1yJiYobz1vLmNvbmNhdChuLkJPVFRPTVNUQVJUKSkscj09PXAtMiYmKG89by5jb25jYXQobi5UT1BTVEFSVCkpLGU9MDtlPGQtMTtlKyspZm9yKGk9by5zbGljZSgpLDA9PT1lJiYoaT1pLmNvbmNhdChuLkxFRlRTVEFSVCkpLGU9PT1kLTImJihpPWkuY29uY2F0KG4uUklHSFRTVEFSVCkpLHM9ZSsiLCIrcixsPVtbZltyXVtlXSxmW3JdW2UrMV1dLFtmW3IrMV1bZV0sZltyKzFdW2UrMV1dXSxoPTA7aDx0Lmxlbmd0aDtoKyspKGM9YSgodT10W2hdKS5sZXZlbCxsKSkmJih1LmNyb3NzaW5nc1tzXT1jLC0xIT09aS5pbmRleE9mKGMpJiYodS5zdGFydHMucHVzaChbZSxyXSksZyYmLTEhPT1pLmluZGV4T2YoYyxpLmluZGV4T2YoYykrMSkmJnUuc3RhcnRzLnB1c2goW2Uscl0pKSl9fSx7Ii4vY29uc3RhbnRzIjo5NDd9XSw5NjE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKSxzPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpLGw9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxjPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9zZXRfY29udmVydCIpLHU9dCgiLi4vaGVhdG1hcC9wbG90IiksaD10KCIuL21ha2VfY3Jvc3NpbmdzIiksZj10KCIuL2ZpbmRfYWxsX3BhdGhzIikscD10KCIuL2VtcHR5X3BhdGhpbmZvIiksZD10KCIuL2NvbnZlcnRfdG9fY29uc3RyYWludHMiKSxnPXQoIi4vY2xvc2VfYm91bmRhcmllcyIpLHY9dCgiLi9jb25zdGFudHMiKSxtPXYuTEFCRUxPUFRJTUlaRVI7ZnVuY3Rpb24geSh0LGUpe3ZhciByLG4sbyxzLGwsYyx1LGg9IiIsZj0wLHA9dC5lZGdlcGF0aHMubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV9KSxkPSEwO2Z1bmN0aW9uIGcodCl7cmV0dXJuIE1hdGguYWJzKHRbMV0tZVsyXVsxXSk8LjAxfWZ1bmN0aW9uIHYodCl7cmV0dXJuIE1hdGguYWJzKHRbMF0tZVswXVswXSk8LjAxfWZ1bmN0aW9uIG0odCl7cmV0dXJuIE1hdGguYWJzKHRbMF0tZVsyXVswXSk8LjAxfWZvcig7cC5sZW5ndGg7KXtmb3IoYz1pLnNtb290aG9wZW4odC5lZGdlcGF0aHNbZl0sdC5zbW9vdGhpbmcpLGgrPWQ/YzpjLnJlcGxhY2UoL15NLywiTCIpLHAuc3BsaWNlKHAuaW5kZXhPZihmKSwxKSxyPXQuZWRnZXBhdGhzW2ZdW3QuZWRnZXBhdGhzW2ZdLmxlbmd0aC0xXSxzPS0xLG89MDtvPDQ7bysrKXtpZighcil7YS5sb2coIk1pc3NpbmcgZW5kPyIsZix0KTticmVha31mb3IodT1yLE1hdGguYWJzKHVbMV0tZVswXVsxXSk8LjAxJiYhbShyKT9uPWVbMV06dihyKT9uPWVbMF06ZyhyKT9uPWVbM106bShyKSYmKG49ZVsyXSksbD0wO2w8dC5lZGdlcGF0aHMubGVuZ3RoO2wrKyl7dmFyIHk9dC5lZGdlcGF0aHNbbF1bMF07TWF0aC5hYnMoclswXS1uWzBdKTwuMDE/TWF0aC5hYnMoclswXS15WzBdKTwuMDEmJih5WzFdLXJbMV0pKihuWzFdLXlbMV0pPj0wJiYobj15LHM9bCk6TWF0aC5hYnMoclsxXS1uWzFdKTwuMDE/TWF0aC5hYnMoclsxXS15WzFdKTwuMDEmJih5WzBdLXJbMF0pKihuWzBdLXlbMF0pPj0wJiYobj15LHM9bCk6YS5sb2coImVuZHB0IHRvIG5ld2VuZHB0IGlzIG5vdCB2ZXJ0LiBvciBob3J6LiIscixuLHkpfWlmKHI9bixzPj0wKWJyZWFrO2grPSJMIitufWlmKHM9PT10LmVkZ2VwYXRocy5sZW5ndGgpe2EubG9nKCJ1bmNsb3NlZCBwZXJpbWV0ZXIgcGF0aCIpO2JyZWFrfWY9cywoZD0tMT09PXAuaW5kZXhPZihmKSkmJihmPXBbMF0saCs9IloiKX1mb3IoZj0wO2Y8dC5wYXRocy5sZW5ndGg7ZisrKWgrPWkuc21vb3RoY2xvc2VkKHQucGF0aHNbZl0sdC5zbW9vdGhpbmcpO3JldHVybiBofWZ1bmN0aW9uIHgodCxlLHIsbil7dmFyIGk9ZS53aWR0aC8yLG89ZS5oZWlnaHQvMixzPXQueCxsPXQueSxjPXQudGhldGEsdT1NYXRoLmNvcyhjKSppLGg9TWF0aC5zaW4oYykqaSxmPShzPm4uY2VudGVyP24ucmlnaHQtczpzLW4ubGVmdCkvKHUrTWF0aC5hYnMoTWF0aC5zaW4oYykqbykpLHA9KGw+bi5taWRkbGU/bi5ib3R0b20tbDpsLW4udG9wKS8oTWF0aC5hYnMoaCkrTWF0aC5jb3MoYykqbyk7aWYoZjwxfHxwPDEpcmV0dXJuIDEvMDt2YXIgZD1tLkVER0VDT1NUKigxLyhmLTEpKzEvKHAtMSkpO2QrPW0uQU5HTEVDT1NUKmMqYztmb3IodmFyIGc9cy11LHY9bC1oLHk9cyt1LHg9bCtoLGI9MDtiPHIubGVuZ3RoO2IrKyl7dmFyIF89cltiXSx3PU1hdGguY29zKF8udGhldGEpKl8ud2lkdGgvMixrPU1hdGguc2luKF8udGhldGEpKl8ud2lkdGgvMixUPTIqYS5zZWdtZW50RGlzdGFuY2UoZyx2LHkseCxfLngtdyxfLnktayxfLngrdyxfLnkraykvKGUuaGVpZ2h0K18uaGVpZ2h0KSxNPV8ubGV2ZWw9PT1lLmxldmVsLEE9TT9tLlNBTUVMRVZFTERJU1RBTkNFOjE7aWYoVDw9QSlyZXR1cm4gMS8wO2QrPW0uTkVJR0hCT1JDT1NUKihNP20uU0FNRUxFVkVMRkFDVE9SOjEpLyhULUEpfXJldHVybiBkfWZ1bmN0aW9uIGIodCl7dmFyIGUscixuPXQudHJhY2UuX2VtcHR5cG9pbnRzLGE9W10saT10LnoubGVuZ3RoLG89dC56WzBdLmxlbmd0aCxzPVtdO2ZvcihlPTA7ZTxvO2UrKylzLnB1c2goMSk7Zm9yKGU9MDtlPGk7ZSsrKWEucHVzaChzLnNsaWNlKCkpO2ZvcihlPTA7ZTxuLmxlbmd0aDtlKyspYVsocj1uW2VdKVswXV1bclsxXV09MDtyZXR1cm4gdC56bWFzaz1hLGF9ci5wbG90PWZ1bmN0aW9uKHQsZSxvLHMpe3ZhciBsPWUueGF4aXMsYz1lLnlheGlzO2EubWFrZVRyYWNlR3JvdXBzKHMsbywiY29udG91ciIpLmVhY2goZnVuY3Rpb24obyl7dmFyIHM9bi5zZWxlY3QodGhpcyksbT1vWzBdLHg9bS50cmFjZSxfPW0ueCx3PW0ueSxrPXguY29udG91cnMsVD1wKGssZSxtKSxNPWEuZW5zdXJlU2luZ2xlKHMsImciLCJoZWF0bWFwY29sb3JpbmciKSxBPVtdOyJoZWF0bWFwIj09PWsuY29sb3JpbmcmJihBPVtvXSksdSh0LGUsQSxNKSxoKFQpLGYoVCk7dmFyIFM9bC5jMnAoX1swXSwhMCksRT1sLmMycChfW18ubGVuZ3RoLTFdLCEwKSxMPWMuYzJwKHdbMF0sITApLEM9Yy5jMnAod1t3Lmxlbmd0aC0xXSwhMCksUD1bW1MsQ10sW0UsQ10sW0UsTF0sW1MsTF1dLE89VDsiY29uc3RyYWludCI9PT1rLnR5cGUmJihPPWQoVCxrLl9vcGVyYXRpb24pKSxmdW5jdGlvbih0LGUscil7dmFyIG49YS5lbnN1cmVTaW5nbGUodCwiZyIsImNvbnRvdXJiZyIpLnNlbGVjdEFsbCgicGF0aCIpLmRhdGEoImZpbGwiPT09ci5jb2xvcmluZz9bMF06W10pO24uZW50ZXIoKS5hcHBlbmQoInBhdGgiKSxuLmV4aXQoKS5yZW1vdmUoKSxuLmF0dHIoImQiLCJNIitlLmpvaW4oIkwiKSsiWiIpLnN0eWxlKCJzdHJva2UiLCJub25lIil9KHMsUCxrKSxmdW5jdGlvbih0LGUscixpKXt2YXIgbz0iZmlsbCI9PT1pLmNvbG9yaW5nfHwiY29uc3RyYWludCI9PT1pLnR5cGUmJiI9IiE9PWkuX29wZXJhdGlvbixzPSJNIityLmpvaW4oIkwiKSsiWiI7byYmZyhlLGkpO3ZhciBsPWEuZW5zdXJlU2luZ2xlKHQsImciLCJjb250b3VyZmlsbCIpLnNlbGVjdEFsbCgicGF0aCIpLmRhdGEobz9lOltdKTtsLmVudGVyKCkuYXBwZW5kKCJwYXRoIiksbC5leGl0KCkucmVtb3ZlKCksbC5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPSh0LnByZWZpeEJvdW5kYXJ5P3M6IiIpK3kodCxyKTtlP24uc2VsZWN0KHRoaXMpLmF0dHIoImQiLGUpLnN0eWxlKCJzdHJva2UiLCJub25lIik6bi5zZWxlY3QodGhpcykucmVtb3ZlKCl9KX0ocyxPLFAsayksZnVuY3Rpb24odCxlLG8scyxsKXt2YXIgYz1hLmVuc3VyZVNpbmdsZSh0LCJnIiwiY29udG91cmxpbmVzIiksdT0hMSE9PWwuc2hvd2xpbmVzLGg9bC5zaG93bGFiZWxzLGY9dSYmaCxwPXIuY3JlYXRlTGluZXMoYyx1fHxoLGUpLGQ9ci5jcmVhdGVMaW5lQ2xpcChjLGYsbyxzLnRyYWNlLnVpZCksZz10LnNlbGVjdEFsbCgiZy5jb250b3VybGFiZWxzIikuZGF0YShoP1swXTpbXSk7aWYoZy5leGl0KCkucmVtb3ZlKCksZy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNvbnRvdXJsYWJlbHMiLCEwKSxoKXt2YXIgbT1bXSx5PVtdO2EuY2xlYXJMb2NhdGlvbkNhY2hlKCk7dmFyIHg9ci5sYWJlbEZvcm1hdHRlcihvLHMpLGI9aS50ZXN0ZXIuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZGF0YS1ub3RleCIsMSkuY2FsbChpLmZvbnQsbC5sYWJlbGZvbnQpLF89ZVswXS54YXhpcyx3PWVbMF0ueWF4aXMsaz1fLl9sZW5ndGgsVD13Ll9sZW5ndGgsTT1fLnJhbmdlLEE9dy5yYW5nZSxTPWEuYWdnTnVtcyhNYXRoLm1pbixudWxsLHMueCksRT1hLmFnZ051bXMoTWF0aC5tYXgsbnVsbCxzLngpLEw9YS5hZ2dOdW1zKE1hdGgubWluLG51bGwscy55KSxDPWEuYWdnTnVtcyhNYXRoLm1heCxudWxsLHMueSksUD1NYXRoLm1heChfLmMycChTLCEwKSwwKSxPPU1hdGgubWluKF8uYzJwKEUsITApLGspLHo9TWF0aC5tYXgody5jMnAoQywhMCksMCksST1NYXRoLm1pbih3LmMycChMLCEwKSxUKSxEPXt9O01bMF08TVsxXT8oRC5sZWZ0PVAsRC5yaWdodD1PKTooRC5sZWZ0PU8sRC5yaWdodD1QKSxBWzBdPEFbMV0/KEQudG9wPXosRC5ib3R0b209SSk6KEQudG9wPUksRC5ib3R0b209eiksRC5taWRkbGU9KEQudG9wK0QuYm90dG9tKS8yLEQuY2VudGVyPShELmxlZnQrRC5yaWdodCkvMixtLnB1c2goW1tELmxlZnQsRC50b3BdLFtELnJpZ2h0LEQudG9wXSxbRC5yaWdodCxELmJvdHRvbV0sW0QubGVmdCxELmJvdHRvbV1dKTt2YXIgUj1NYXRoLnNxcnQoayprK1QqVCksRj12LkxBQkVMRElTVEFOQ0UqUi9NYXRoLm1heCgxLGUubGVuZ3RoL3YuTEFCRUxJTkNSRUFTRSk7cC5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXIuY2FsY1RleHRPcHRzKHQubGV2ZWwseCxiLG8pO24uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgicGF0aCIpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1hLmdldFZpc2libGVTZWdtZW50KHRoaXMsRCxlLmhlaWdodC8yKTtpZih0JiYhKHQubGVuPChlLndpZHRoK2UuaGVpZ2h0KSp2LkxBQkVMTUlOKSlmb3IodmFyIG49TWF0aC5taW4oTWF0aC5jZWlsKHQubGVuL0YpLHYuTEFCRUxNQVgpLGk9MDtpPG47aSsrKXt2YXIgbz1yLmZpbmRCZXN0VGV4dExvY2F0aW9uKHRoaXMsdCxlLHksRCk7aWYoIW8pYnJlYWs7ci5hZGRMYWJlbERhdGEobyxlLHksbSl9fSl9KSxiLnJlbW92ZSgpLHIuZHJhd0xhYmVscyhnLHksbyxkLGY/bTpudWxsKX1oJiYhdSYmcC5yZW1vdmUoKX0ocyxULHQsbSxrKSxmdW5jdGlvbih0LGUscixuLG8pe3ZhciBzPW4udHJhY2UsbD1yLl9mdWxsTGF5b3V0Ll9jbGlwcyxjPSJjbGlwIitzLnVpZCx1PWwuc2VsZWN0QWxsKCIjIitjKS5kYXRhKHMuY29ubmVjdGdhcHM/W106WzBdKTtpZih1LmVudGVyKCkuYXBwZW5kKCJjbGlwUGF0aCIpLmNsYXNzZWQoImNvbnRvdXJjbGlwIiwhMCkuYXR0cigiaWQiLGMpLHUuZXhpdCgpLnJlbW92ZSgpLCExPT09cy5jb25uZWN0Z2Fwcyl7dmFyIHA9e2xldmVsOi45LGNyb3NzaW5nczp7fSxzdGFydHM6W10sZWRnZXBhdGhzOltdLHBhdGhzOltdLHhheGlzOmUueGF4aXMseWF4aXM6ZS55YXhpcyx4Om4ueCx5Om4ueSx6OmIobiksc21vb3RoaW5nOjB9O2goW3BdKSxmKFtwXSksZyhbcF0se3R5cGU6ImxldmVscyJ9KTt2YXIgZD1hLmVuc3VyZVNpbmdsZSh1LCJwYXRoIiwiIik7ZC5hdHRyKCJkIiwocC5wcmVmaXhCb3VuZGFyeT8iTSIrby5qb2luKCJMIikrIloiOiIiKSt5KHAsbykpfWVsc2UgYz1udWxsO2kuc2V0Q2xpcFVybCh0LGMscil9KHMsZSx0LG0sUCl9KX0sci5jcmVhdGVMaW5lcz1mdW5jdGlvbih0LGUscil7dmFyIG49clswXS5zbW9vdGhpbmcsYT10LnNlbGVjdEFsbCgiZy5jb250b3VybGV2ZWwiKS5kYXRhKGU/cjpbXSk7aWYoYS5leGl0KCkucmVtb3ZlKCksYS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNvbnRvdXJsZXZlbCIsITApLGUpe3ZhciBvPWEuc2VsZWN0QWxsKCJwYXRoLm9wZW5saW5lIikuZGF0YShmdW5jdGlvbih0KXtyZXR1cm4gdC5wZWRnZXBhdGhzfHx0LmVkZ2VwYXRoc30pO28uZXhpdCgpLnJlbW92ZSgpLG8uZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJvcGVubGluZSIsITApLG8uYXR0cigiZCIsZnVuY3Rpb24odCl7cmV0dXJuIGkuc21vb3Rob3Blbih0LG4pfSkuc3R5bGUoInN0cm9rZS1taXRlcmxpbWl0IiwxKS5zdHlsZSgidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpO3ZhciBzPWEuc2VsZWN0QWxsKCJwYXRoLmNsb3NlZGxpbmUiKS5kYXRhKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBwYXRoc3x8dC5wYXRoc30pO3MuZXhpdCgpLnJlbW92ZSgpLHMuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJjbG9zZWRsaW5lIiwhMCkscy5hdHRyKCJkIixmdW5jdGlvbih0KXtyZXR1cm4gaS5zbW9vdGhjbG9zZWQodCxuKX0pLnN0eWxlKCJzdHJva2UtbWl0ZXJsaW1pdCIsMSkuc3R5bGUoInZlY3Rvci1lZmZlY3QiLCJub24tc2NhbGluZy1zdHJva2UiKX1yZXR1cm4gYX0sci5jcmVhdGVMaW5lQ2xpcD1mdW5jdGlvbih0LGUscixuKXt2YXIgYT1lPyJjbGlwbGluZSIrbjpudWxsLG89ci5fZnVsbExheW91dC5fY2xpcHMuc2VsZWN0QWxsKCIjIithKS5kYXRhKGU/WzBdOltdKTtyZXR1cm4gby5leGl0KCkucmVtb3ZlKCksby5lbnRlcigpLmFwcGVuZCgiY2xpcFBhdGgiKS5jbGFzc2VkKCJjb250b3VybGluZWNsaXAiLCEwKS5hdHRyKCJpZCIsYSksaS5zZXRDbGlwVXJsKHQsYSxyKSxvfSxyLmxhYmVsRm9ybWF0dGVyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fZnVsbExheW91dCxuPWUudHJhY2UsYT1uLmNvbnRvdXJzO2lmKGEubGFiZWxmb3JtYXQpcmV0dXJuIHIuX2QzbG9jYWxlLm51bWJlckZvcm1hdChhLmxhYmVsZm9ybWF0KTt2YXIgaSxzPW8uZXh0cmFjdE9wdHMobik7aWYocyYmcy5jb2xvcmJhciYmcy5jb2xvcmJhci5fYXhpcylpPXMuY29sb3JiYXIuX2F4aXM7ZWxzZXtpZihpPXt0eXBlOiJsaW5lYXIiLF9pZDoieWNvbnRvdXIiLHNob3dleHBvbmVudDoiYWxsIixleHBvbmVudGZvcm1hdDoiQiJ9LCJjb25zdHJhaW50Ij09PWEudHlwZSl7dmFyIHU9YS52YWx1ZTtBcnJheS5pc0FycmF5KHUpP2kucmFuZ2U9W3VbMF0sdVt1Lmxlbmd0aC0xXV06aS5yYW5nZT1bdSx1XX1lbHNlIGkucmFuZ2U9W2Euc3RhcnQsYS5lbmRdLGkubnRpY2tzPShhLmVuZC1hLnN0YXJ0KS9hLnNpemU7aS5yYW5nZVswXT09PWkucmFuZ2VbMV0mJihpLnJhbmdlWzFdKz1pLnJhbmdlWzBdfHwxKSxpLm50aWNrc3x8KGkubnRpY2tzPTFlMyksYyhpLHIpLGwucHJlcFRpY2tzKGkpLGkuX3RtaW49bnVsbCxpLl90bWF4PW51bGx9cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBsLnRpY2tUZXh0KGksdCkudGV4dH19LHIuY2FsY1RleHRPcHRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPWUodCk7ci50ZXh0KGEpLmNhbGwocy5jb252ZXJ0VG9Uc3BhbnMsbik7dmFyIG89aS5iQm94KHIubm9kZSgpLCEwKTtyZXR1cm57dGV4dDphLHdpZHRoOm8ud2lkdGgsaGVpZ2h0Om8uaGVpZ2h0LGxldmVsOnQsZHk6KG8udG9wK28uYm90dG9tKS8yfX0sci5maW5kQmVzdFRleHRMb2NhdGlvbj1mdW5jdGlvbih0LGUscixuLGkpe3ZhciBvLHMsbCxjLHUsaD1yLndpZHRoO2UuaXNDbG9zZWQ/KHM9ZS5sZW4vbS5JTklUSUFMU0VBUkNIUE9JTlRTLG89ZS5taW4rcy8yLGw9ZS5tYXgpOihzPShlLmxlbi1oKS8obS5JTklUSUFMU0VBUkNIUE9JTlRTKzEpLG89ZS5taW4rcytoLzIsbD1lLm1heC0ocytoKS8yKTtmb3IodmFyIGY9MS8wLHA9MDtwPG0uSVRFUkFUSU9OUztwKyspe2Zvcih2YXIgZD1vO2Q8bDtkKz1zKXt2YXIgZz1hLmdldFRleHRMb2NhdGlvbih0LGUudG90YWwsZCxoKSx2PXgoZyxyLG4saSk7djxmJiYoZj12LHU9ZyxjPWQpfWlmKGY+MiptLk1BWENPU1QpYnJlYWs7cCYmKHMvPTIpLGw9KG89Yy1zLzIpKzEuNSpzfWlmKGY8PW0uTUFYQ09TVClyZXR1cm4gdX0sci5hZGRMYWJlbERhdGE9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZS53aWR0aC8yLGk9ZS5oZWlnaHQvMixvPXQueCxzPXQueSxsPXQudGhldGEsYz1NYXRoLnNpbihsKSx1PU1hdGguY29zKGwpLGg9YSp1LGY9aSpjLHA9YSpjLGQ9LWkqdSxnPVtbby1oLWYscy1wLWRdLFtvK2gtZixzK3AtZF0sW28raCtmLHMrcCtkXSxbby1oK2Yscy1wK2RdXTtyLnB1c2goe3RleHQ6ZS50ZXh0LHg6byx5OnMsZHk6ZS5keSx0aGV0YTpsLGxldmVsOmUubGV2ZWwsd2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9KSxuLnB1c2goZyl9LHIuZHJhd0xhYmVscz1mdW5jdGlvbih0LGUscixpLG8pe3ZhciBsPXQuc2VsZWN0QWxsKCJ0ZXh0IikuZGF0YShlLGZ1bmN0aW9uKHQpe3JldHVybiB0LnRleHQrIiwiK3QueCsiLCIrdC55KyIsIit0LnRoZXRhfSk7aWYobC5leGl0KCkucmVtb3ZlKCksbC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoeyJkYXRhLW5vdGV4IjoxLCJ0ZXh0LWFuY2hvciI6Im1pZGRsZSJ9KS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQueCtNYXRoLnNpbih0LnRoZXRhKSp0LmR5LGE9dC55LU1hdGguY29zKHQudGhldGEpKnQuZHk7bi5zZWxlY3QodGhpcykudGV4dCh0LnRleHQpLmF0dHIoe3g6ZSx5OmEsdHJhbnNmb3JtOiJyb3RhdGUoIisxODAqdC50aGV0YS9NYXRoLlBJKyIgIitlKyIgIithKyIpIn0pLmNhbGwocy5jb252ZXJ0VG9Uc3BhbnMscil9KSxvKXtmb3IodmFyIGM9IiIsdT0wO3U8by5sZW5ndGg7dSsrKWMrPSJNIitvW3VdLmpvaW4oIkwiKSsiWiI7YS5lbnN1cmVTaW5nbGUoaSwicGF0aCIsIiIpLmF0dHIoImQiLGMpfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9zZXRfY29udmVydCI6NzgzLCIuLi9oZWF0bWFwL3Bsb3QiOjEwMTEsIi4vY2xvc2VfYm91bmRhcmllcyI6OTQ1LCIuL2NvbnN0YW50cyI6OTQ3LCIuL2NvbnZlcnRfdG9fY29uc3RyYWludHMiOjk1MSwiLi9lbXB0eV9wYXRoaW5mbyI6OTUzLCIuL2ZpbmRfYWxsX3BhdGhzIjo5NTUsIi4vbWFrZV9jcm9zc2luZ3MiOjk2MCxkMzoxNjV9XSw5NjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxhPXQoIi4uLy4uL2xpYiIpO2Z1bmN0aW9uIGkodCxlLHIpe3ZhciBhPXt0eXBlOiJsaW5lYXIiLHJhbmdlOlt0LGVdfTtyZXR1cm4gbi5hdXRvVGlja3MoYSwoZS10KS8ocnx8MTUpKSxhfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuY29udG91cnM7aWYodC5hdXRvY29udG91cil7dmFyIG89dC56bWluLHM9dC56bWF4Oyh0LnphdXRvfHx2b2lkIDA9PT1vKSYmKG89YS5hZ2dOdW1zKE1hdGgubWluLG51bGwsZSkpLCh0LnphdXRvfHx2b2lkIDA9PT1zKSYmKHM9YS5hZ2dOdW1zKE1hdGgubWF4LG51bGwsZSkpO3ZhciBsPWkobyxzLHQubmNvbnRvdXJzKTtyLnNpemU9bC5kdGljayxyLnN0YXJ0PW4udGlja0ZpcnN0KGwpLGwucmFuZ2UucmV2ZXJzZSgpLHIuZW5kPW4udGlja0ZpcnN0KGwpLHIuc3RhcnQ9PT1vJiYoci5zdGFydCs9ci5zaXplKSxyLmVuZD09PXMmJihyLmVuZC09ci5zaXplKSxyLnN0YXJ0PnIuZW5kJiYoci5zdGFydD1yLmVuZD0oci5zdGFydCtyLmVuZCkvMiksdC5faW5wdXQuY29udG91cnN8fCh0Ll9pbnB1dC5jb250b3Vycz17fSksYS5leHRlbmRGbGF0KHQuX2lucHV0LmNvbnRvdXJzLHtzdGFydDpyLnN0YXJ0LGVuZDpyLmVuZCxzaXplOnIuc2l6ZX0pLHQuX2lucHV0LmF1dG9jb250b3VyPSEwfWVsc2UgaWYoImNvbnN0cmFpbnQiIT09ci50eXBlKXt2YXIgYyx1PXIuc3RhcnQsaD1yLmVuZCxmPXQuX2lucHV0LmNvbnRvdXJzO2lmKHU+aCYmKHIuc3RhcnQ9Zi5zdGFydD1oLGg9ci5lbmQ9Zi5lbmQ9dSx1PXIuc3RhcnQpLCEoci5zaXplPjApKWM9dT09PWg/MTppKHUsaCx0Lm5jb250b3VycykuZHRpY2ssZi5zaXplPXIuc2l6ZT1jfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjV9XSw5NjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGk9dCgiLi4vaGVhdG1hcC9zdHlsZSIpLG89dCgiLi9tYWtlX2NvbG9yX21hcCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1uLnNlbGVjdCh0KS5zZWxlY3RBbGwoImcuY29udG91ciIpO2Uuc3R5bGUoIm9wYWNpdHkiLGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdLnRyYWNlLm9wYWNpdHl9KSxlLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9bi5zZWxlY3QodGhpcykscj10WzBdLnRyYWNlLGk9ci5jb250b3VycyxzPXIubGluZSxsPWkuc2l6ZXx8MSxjPWkuc3RhcnQsdT0iY29uc3RyYWludCI9PT1pLnR5cGUsaD0hdSYmImxpbmVzIj09PWkuY29sb3JpbmcsZj0hdSYmImZpbGwiPT09aS5jb2xvcmluZyxwPWh8fGY/byhyKTpudWxsO2Uuc2VsZWN0QWxsKCJnLmNvbnRvdXJsZXZlbCIpLmVhY2goZnVuY3Rpb24odCl7bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJwYXRoIikuY2FsbChhLmxpbmVHcm91cFN0eWxlLHMud2lkdGgsaD9wKHQubGV2ZWwpOnMuY29sb3Iscy5kYXNoKX0pO3ZhciBkPWkubGFiZWxmb250O2lmKGUuc2VsZWN0QWxsKCJnLmNvbnRvdXJsYWJlbHMgdGV4dCIpLmVhY2goZnVuY3Rpb24odCl7YS5mb250KG4uc2VsZWN0KHRoaXMpLHtmYW1pbHk6ZC5mYW1pbHksc2l6ZTpkLnNpemUsY29sb3I6ZC5jb2xvcnx8KGg/cCh0LmxldmVsKTpzLmNvbG9yKX0pfSksdSllLnNlbGVjdEFsbCgiZy5jb250b3VyZmlsbCBwYXRoIikuc3R5bGUoImZpbGwiLHIuZmlsbGNvbG9yKTtlbHNlIGlmKGYpe3ZhciBnO2Uuc2VsZWN0QWxsKCJnLmNvbnRvdXJmaWxsIHBhdGgiKS5zdHlsZSgiZmlsbCIsZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PWcmJihnPXQubGV2ZWwpLHAodC5sZXZlbCsuNSpsKX0pLHZvaWQgMD09PWcmJihnPWMpLGUuc2VsZWN0QWxsKCJnLmNvbnRvdXJiZyBwYXRoIikuc3R5bGUoImZpbGwiLHAoZy0uNSpsKSl9fSksaSh0KX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uL2hlYXRtYXAvc3R5bGUiOjEwMTIsIi4vbWFrZV9jb2xvcl9tYXAiOjk1OSxkMzoxNjV9XSw5NjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIiksYT10KCIuL2xhYmVsX2RlZmF1bHRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGksbyl7dmFyIHMsbD1yKCJjb250b3Vycy5jb2xvcmluZyIpLGM9IiI7ImZpbGwiPT09bCYmKHM9cigiY29udG91cnMuc2hvd2xpbmVzIikpLCExIT09cyYmKCJsaW5lcyIhPT1sJiYoYz1yKCJsaW5lLmNvbG9yIiwiIzAwMCIpKSxyKCJsaW5lLndpZHRoIiwuNSkscigibGluZS5kYXNoIikpLCJub25lIiE9PWwmJighMCE9PXQuc2hvd2xlZ2VuZCYmKGUuc2hvd2xlZ2VuZD0hMSksZS5fZGZsdFNob3dMZWdlbmQ9ITEsbih0LGUsaSxyLHtwcmVmaXg6IiIsY0xldHRlcjoieiJ9KSkscigibGluZS5zbW9vdGhpbmciKSxhKHIsaSxjLG8pfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiOjYwMiwiLi9sYWJlbF9kZWZhdWx0cyI6OTU4fV0sOTY1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2hlYXRtYXAvYXR0cmlidXRlcyIpLGE9dCgiLi4vY29udG91ci9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQscz1hLmNvbnRvdXJzO2UuZXhwb3J0cz1vKHtjYXJwZXQ6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6ImNhbGMifSx6Om4ueixhOm4ueCxhMDpuLngwLGRhOm4uZHgsYjpuLnksYjA6bi55MCxkYjpuLmR5LHRleHQ6bi50ZXh0LGhvdmVydGV4dDpuLmhvdmVydGV4dCx0cmFuc3Bvc2U6bi50cmFuc3Bvc2UsYXR5cGU6bi54dHlwZSxidHlwZTpuLnl0eXBlLGZpbGxjb2xvcjphLmZpbGxjb2xvcixhdXRvY29udG91cjphLmF1dG9jb250b3VyLG5jb250b3VyczphLm5jb250b3Vycyxjb250b3Vyczp7dHlwZTpzLnR5cGUsc3RhcnQ6cy5zdGFydCxlbmQ6cy5lbmQsc2l6ZTpzLnNpemUsY29sb3Jpbmc6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImZpbGwiLCJsaW5lcyIsIm5vbmUiXSxkZmx0OiJmaWxsIixlZGl0VHlwZToiY2FsYyJ9LHNob3dsaW5lczpzLnNob3dsaW5lcyxzaG93bGFiZWxzOnMuc2hvd2xhYmVscyxsYWJlbGZvbnQ6cy5sYWJlbGZvbnQsbGFiZWxmb3JtYXQ6cy5sYWJlbGZvcm1hdCxvcGVyYXRpb246cy5vcGVyYXRpb24sdmFsdWU6cy52YWx1ZSxlZGl0VHlwZToiY2FsYyIsaW1wbGllZEVkaXRzOnthdXRvY29udG91cjohMX19LGxpbmU6e2NvbG9yOmEubGluZS5jb2xvcix3aWR0aDphLmxpbmUud2lkdGgsZGFzaDphLmxpbmUuZGFzaCxzbW9vdGhpbmc6YS5saW5lLnNtb290aGluZyxlZGl0VHlwZToicGxvdCJ9LHRyYW5zZm9ybXM6dm9pZCAwfSxpKCIiLHtjTGV0dGVyOiJ6IixhdXRvQ29sb3JEZmx0OiExfSkpfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vY29udG91ci9hdHRyaWJ1dGVzIjo5NDMsIi4uL2hlYXRtYXAvYXR0cmlidXRlcyI6MWUzfV0sOTY2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uL2hlYXRtYXAvY29udmVydF9jb2x1bW5feHl6Iiksbz10KCIuLi9oZWF0bWFwL2NsZWFuXzJkX2FycmF5Iikscz10KCIuLi9oZWF0bWFwL2ludGVycDJkIiksbD10KCIuLi9oZWF0bWFwL2ZpbmRfZW1wdGllcyIpLGM9dCgiLi4vaGVhdG1hcC9tYWtlX2JvdW5kX2FycmF5IiksdT10KCIuL2RlZmF1bHRzIiksaD10KCIuLi9jYXJwZXQvbG9va3VwX2NhcnBldGlkIiksZj10KCIuLi9jb250b3VyL3NldF9jb250b3VycyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWUuX2NhcnBldFRyYWNlPWgodCxlKTtpZihyJiZyLnZpc2libGUmJiJsZWdlbmRvbmx5IiE9PXIudmlzaWJsZSl7aWYoIWUuYXx8IWUuYil7dmFyIHA9dC5kYXRhW3IuaW5kZXhdLGQ9dC5kYXRhW2UuaW5kZXhdO2QuYXx8KGQuYT1wLmEpLGQuYnx8KGQuYj1wLmIpLHUoZCxlLGUuX2RlZmF1bHRDb2xvcix0Ll9mdWxsTGF5b3V0KX12YXIgZz1mdW5jdGlvbih0LGUpe3ZhciByLHUsaCxmLHAsZCxnLHY9ZS5fY2FycGV0VHJhY2UsbT12LmFheGlzLHk9di5iYXhpczttLl9taW5EdGljaz0wLHkuX21pbkR0aWNrPTAsYS5pc0FycmF5MUQoZS56KSYmaShlLG0seSwiYSIsImIiLFsieiJdKTtyPWUuX2E9ZS5fYXx8ZS5hLGY9ZS5fYj1lLl9ifHxlLmIscj1yP20ubWFrZUNhbGNkYXRhKGUsIl9hIik6W10sZj1mP3kubWFrZUNhbGNkYXRhKGUsIl9iIik6W10sdT1lLmEwfHwwLGg9ZS5kYXx8MSxwPWUuYjB8fDAsZD1lLmRifHwxLGc9ZS5fej1vKGUuX3p8fGUueixlLnRyYW5zcG9zZSksZS5fZW1wdHlwb2ludHM9bChnKSxzKGcsZS5fZW1wdHlwb2ludHMpO3ZhciB4PWEubWF4Um93TGVuZ3RoKGcpLGI9InNjYWxlZCI9PT1lLnh0eXBlPyIiOnIsXz1jKGUsYix1LGgseCxtKSx3PSJzY2FsZWQiPT09ZS55dHlwZT8iIjpmLGs9YyhlLHcscCxkLGcubGVuZ3RoLHkpLFQ9e2E6XyxiOmssejpnfTsibGV2ZWxzIj09PWUuY29udG91cnMudHlwZSYmIm5vbmUiIT09ZS5jb250b3Vycy5jb2xvcmluZyYmbih0LGUse3ZhbHM6Zyxjb250YWluZXJTdHI6IiIsY0xldHRlcjoieiJ9KTtyZXR1cm5bVF19KHQsZSk7cmV0dXJuIGYoZSxlLl96KSxnfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiOjYwMCwiLi4vLi4vbGliIjo3MTcsIi4uL2NhcnBldC9sb29rdXBfY2FycGV0aWQiOjkxNiwiLi4vY29udG91ci9zZXRfY29udG91cnMiOjk2MiwiLi4vaGVhdG1hcC9jbGVhbl8yZF9hcnJheSI6MTAwMiwiLi4vaGVhdG1hcC9jb252ZXJ0X2NvbHVtbl94eXoiOjEwMDQsIi4uL2hlYXRtYXAvZmluZF9lbXB0aWVzIjoxMDA2LCIuLi9oZWF0bWFwL2ludGVycDJkIjoxMDA5LCIuLi9oZWF0bWFwL21ha2VfYm91bmRfYXJyYXkiOjEwMTAsIi4vZGVmYXVsdHMiOjk2N31dLDk2NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uL2hlYXRtYXAveHl6X2RlZmF1bHRzIiksaT10KCIuL2F0dHJpYnV0ZXMiKSxvPXQoIi4uL2NvbnRvdXIvY29uc3RyYWludF9kZWZhdWx0cyIpLHM9dCgiLi4vY29udG91ci9jb250b3Vyc19kZWZhdWx0cyIpLGw9dCgiLi4vY29udG91ci9zdHlsZV9kZWZhdWx0cyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixjKXtmdW5jdGlvbiB1KHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLHIsYSl9aWYodSgiY2FycGV0IiksdC5hJiZ0LmIpe2lmKCFhKHQsZSx1LGMsImEiLCJiIikpcmV0dXJuIHZvaWQoZS52aXNpYmxlPSExKTt1KCJ0ZXh0IiksImNvbnN0cmFpbnQiPT09dSgiY29udG91cnMudHlwZSIpP28odCxlLHUsYyxyLHtoYXNIb3ZlcjohMX0pOihzKHQsZSx1LGZ1bmN0aW9uKHIpe3JldHVybiBuLmNvZXJjZTIodCxlLGkscil9KSxsKHQsZSx1LGMse2hhc0hvdmVyOiExfSkpfWVsc2UgZS5fZGVmYXVsdENvbG9yPXIsZS5fbGVuZ3RoPW51bGx9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9jb250b3VyL2NvbnN0cmFpbnRfZGVmYXVsdHMiOjk0OCwiLi4vY29udG91ci9jb250b3Vyc19kZWZhdWx0cyI6OTUwLCIuLi9jb250b3VyL3N0eWxlX2RlZmF1bHRzIjo5NjQsIi4uL2hlYXRtYXAveHl6X2RlZmF1bHRzIjoxMDE0LCIuL2F0dHJpYnV0ZXMiOjk2NX1dLDk2ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNvbG9yYmFyOnQoIi4uL2NvbnRvdXIvY29sb3JiYXIiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90Iiksc3R5bGU6dCgiLi4vY29udG91ci9zdHlsZSIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJjb250b3VyY2FycGV0IixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiY2FydGVzaWFuIiwic3ZnIiwiY2FycGV0IiwiY29udG91ciIsInN5bWJvbHMiLCJzaG93TGVnZW5kIiwiaGFzTGluZXMiLCJjYXJwZXREZXBlbmRlbnQiLCJub0hvdmVyIiwibm9Tb3J0aW5nQnlWYWx1ZSJdLG1ldGE6e319fSx7Ii4uLy4uL3Bsb3RzL2NhcnRlc2lhbiI6Nzc2LCIuLi9jb250b3VyL2NvbG9yYmFyIjo5NDYsIi4uL2NvbnRvdXIvc3R5bGUiOjk2MywiLi9hdHRyaWJ1dGVzIjo5NjUsIi4vY2FsYyI6OTY2LCIuL2RlZmF1bHRzIjo5NjcsIi4vcGxvdCI6OTY5fV0sOTY5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi9jYXJwZXQvbWFwXzFkX2FycmF5IiksaT10KCIuLi9jYXJwZXQvbWFrZXBhdGgiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLHM9dCgiLi4vLi4vbGliIiksbD10KCIuLi9jb250b3VyL21ha2VfY3Jvc3NpbmdzIiksYz10KCIuLi9jb250b3VyL2ZpbmRfYWxsX3BhdGhzIiksdT10KCIuLi9jb250b3VyL3Bsb3QiKSxoPXQoIi4uL2NvbnRvdXIvY29uc3RhbnRzIiksZj10KCIuLi9jb250b3VyL2NvbnZlcnRfdG9fY29uc3RyYWludHMiKSxwPXQoIi4uL2NvbnRvdXIvZW1wdHlfcGF0aGluZm8iKSxkPXQoIi4uL2NvbnRvdXIvY2xvc2VfYm91bmRhcmllcyIpLGc9dCgiLi4vY2FycGV0L2xvb2t1cF9jYXJwZXRpZCIpLHY9dCgiLi4vY2FycGV0L2F4aXNfYWxpZ25lZF9saW5lIik7ZnVuY3Rpb24gbSh0LGUscil7dmFyIG49dC5nZXRQb2ludEF0TGVuZ3RoKGUpLGE9dC5nZXRQb2ludEF0TGVuZ3RoKHIpLGk9YS54LW4ueCxvPWEueS1uLnkscz1NYXRoLnNxcnQoaSppK28qbyk7cmV0dXJuW2kvcyxvL3NdfWZ1bmN0aW9uIHkodCl7dmFyIGU9TWF0aC5zcXJ0KHRbMF0qdFswXSt0WzFdKnRbMV0pO3JldHVyblt0WzBdL2UsdFsxXS9lXX1mdW5jdGlvbiB4KHQsZSl7dmFyIHI9TWF0aC5hYnModFswXSplWzBdK3RbMV0qZVsxXSk7cmV0dXJuIE1hdGguc3FydCgxLXIqcikvcn1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYil7dmFyIF89ZS54YXhpcyx3PWUueWF4aXM7cy5tYWtlVHJhY2VHcm91cHMoYixyLCJjb250b3VyIikuZWFjaChmdW5jdGlvbihyKXt2YXIgYj1uLnNlbGVjdCh0aGlzKSxrPXJbMF0sVD1rLnRyYWNlLE09VC5fY2FycGV0VHJhY2U9Zyh0LFQpLEE9dC5jYWxjZGF0YVtNLmluZGV4XVswXTtpZihNLnZpc2libGUmJiJsZWdlbmRvbmx5IiE9PU0udmlzaWJsZSl7dmFyIFM9ay5hLEU9ay5iLEw9VC5jb250b3VycyxDPXAoTCxlLGspLFA9ImNvbnN0cmFpbnQiPT09TC50eXBlLE89TC5fb3BlcmF0aW9uLHo9UD8iPSI9PT1PPyJsaW5lcyI6ImZpbGwiOkwuY29sb3JpbmcsST1bW1NbMF0sRVtFLmxlbmd0aC0xXV0sW1NbUy5sZW5ndGgtMV0sRVtFLmxlbmd0aC0xXV0sW1NbUy5sZW5ndGgtMV0sRVswXV0sW1NbMF0sRVswXV1dO2woQyk7dmFyIEQ9MWUtOCooU1tTLmxlbmd0aC0xXS1TWzBdKSxSPTFlLTgqKEVbRS5sZW5ndGgtMV0tRVswXSk7YyhDLEQsUik7dmFyIEYsQixOLGosVj1DOyJjb25zdHJhaW50Ij09PUwudHlwZSYmKFY9ZihDLE8pKSxmdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpLG8scyxsLGMsdTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXtmb3IoaT10W3JdLG89aS5wZWRnZXBhdGhzPVtdLHM9aS5wcGF0aHM9W10sbj0wO248aS5lZGdlcGF0aHMubGVuZ3RoO24rKyl7Zm9yKHU9aS5lZGdlcGF0aHNbbl0sbD1bXSxhPTA7YTx1Lmxlbmd0aDthKyspbFthXT1lKHVbYV0pO28ucHVzaChsKX1mb3Iobj0wO248aS5wYXRocy5sZW5ndGg7bisrKXtmb3IodT1pLnBhdGhzW25dLGM9W10sYT0wO2E8dS5sZW5ndGg7YSsrKWNbYV09ZSh1W2FdKTtzLnB1c2goYyl9fX0oQyxIKTt2YXIgVT1bXTtmb3Ioaj1BLmNsaXBzZWdtZW50cy5sZW5ndGgtMTtqPj0wO2otLSlGPUEuY2xpcHNlZ21lbnRzW2pdLEI9YShbXSxGLngsXy5jMnApLE49YShbXSxGLnksdy5jMnApLEIucmV2ZXJzZSgpLE4ucmV2ZXJzZSgpLFUucHVzaChpKEIsTixGLmJpY3ViaWMpKTt2YXIgcT0iTSIrVS5qb2luKCJMIikrIloiOyFmdW5jdGlvbih0LGUscixuLG8sbCl7dmFyIGMsdSxoLGYscD1zLmVuc3VyZVNpbmdsZSh0LCJnIiwiY29udG91cmJnIikuc2VsZWN0QWxsKCJwYXRoIikuZGF0YSgiZmlsbCIhPT1sfHxvP1tdOlswXSk7cC5lbnRlcigpLmFwcGVuZCgicGF0aCIpLHAuZXhpdCgpLnJlbW92ZSgpO3ZhciBkPVtdO2ZvcihmPTA7ZjxlLmxlbmd0aDtmKyspYz1lW2ZdLHU9YShbXSxjLngsci5jMnApLGg9YShbXSxjLnksbi5jMnApLGQucHVzaChpKHUsaCxjLmJpY3ViaWMpKTtwLmF0dHIoImQiLCJNIitkLmpvaW4oIkwiKSsiWiIpLnN0eWxlKCJzdHJva2UiLCJub25lIil9KGIsQS5jbGlwc2VnbWVudHMsXyx3LFAseiksZnVuY3Rpb24odCxlLHIsYSxpLGwsYyx1LGgsZixwKXt2YXIgZz0iZmlsbCI9PT1mO2cmJmQoaSx0LmNvbnRvdXJzKTt2YXIgbT1zLmVuc3VyZVNpbmdsZShlLCJnIiwiY29udG91cmZpbGwiKS5zZWxlY3RBbGwoInBhdGgiKS5kYXRhKGc/aTpbXSk7bS5lbnRlcigpLmFwcGVuZCgicGF0aCIpLG0uZXhpdCgpLnJlbW92ZSgpLG0uZWFjaChmdW5jdGlvbih0KXt2YXIgZT0odC5wcmVmaXhCb3VuZGFyeT9wOiIiKStmdW5jdGlvbih0LGUscixuLGEsaSxsLGMpe3ZhciB1LGgsZixwLGQsZyxtLHk9IiIseD1lLmVkZ2VwYXRocy5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0pLGI9ITAsXz0xZS00Kk1hdGguYWJzKHJbMF1bMF0tclsyXVswXSksdz0xZS00Kk1hdGguYWJzKHJbMF1bMV0tclsyXVsxXSk7ZnVuY3Rpb24gayh0KXtyZXR1cm4gTWF0aC5hYnModFsxXS1yWzBdWzFdKTx3fWZ1bmN0aW9uIFQodCl7cmV0dXJuIE1hdGguYWJzKHRbMV0tclsyXVsxXSk8d31mdW5jdGlvbiBNKHQpe3JldHVybiBNYXRoLmFicyh0WzBdLXJbMF1bMF0pPF99ZnVuY3Rpb24gQSh0KXtyZXR1cm4gTWF0aC5hYnModFswXS1yWzJdWzBdKTxffWZ1bmN0aW9uIFModCxlKXt2YXIgcixuLG8scyx1PSIiO2ZvcihrKHQpJiYhQSh0KXx8VCh0KSYmIU0odCk/KHM9YS5hYXhpcyxvPXYoYSxpLFt0WzBdLGVbMF1dLC41Kih0WzFdK2VbMV0pKSk6KHM9YS5iYXhpcyxvPXYoYSxpLC41Kih0WzBdK2VbMF0pLFt0WzFdLGVbMV1dKSkscj0xO3I8by5sZW5ndGg7cisrKWZvcih1Kz1zLnNtb290aGluZz8iQyI6IkwiLG49MDtuPG9bcl0ubGVuZ3RoO24rKyl7dmFyIGg9b1tyXVtuXTt1Kz1bbC5jMnAoaFswXSksYy5jMnAoaFsxXSldKyIgIn1yZXR1cm4gdX11PTAsaD1udWxsO2Zvcig7eC5sZW5ndGg7KXt2YXIgRT1lLmVkZ2VwYXRoc1t1XVswXTtmb3IoaCYmKHkrPVMoaCxFKSksbT1vLnNtb290aG9wZW4oZS5lZGdlcGF0aHNbdV0ubWFwKG4pLGUuc21vb3RoaW5nKSx5Kz1iP206bS5yZXBsYWNlKC9eTS8sIkwiKSx4LnNwbGljZSh4LmluZGV4T2YodSksMSksaD1lLmVkZ2VwYXRoc1t1XVtlLmVkZ2VwYXRoc1t1XS5sZW5ndGgtMV0sZD0tMSxwPTA7cDw0O3ArKyl7aWYoIWgpe3MubG9nKCJNaXNzaW5nIGVuZD8iLHUsZSk7YnJlYWt9Zm9yKGsoaCkmJiFBKGgpP2Y9clsxXTpNKGgpP2Y9clswXTpUKGgpP2Y9clszXTpBKGgpJiYoZj1yWzJdKSxnPTA7ZzxlLmVkZ2VwYXRocy5sZW5ndGg7ZysrKXt2YXIgTD1lLmVkZ2VwYXRoc1tnXVswXTtNYXRoLmFicyhoWzBdLWZbMF0pPF8/TWF0aC5hYnMoaFswXS1MWzBdKTxfJiYoTFsxXS1oWzFdKSooZlsxXS1MWzFdKT49MCYmKGY9TCxkPWcpOk1hdGguYWJzKGhbMV0tZlsxXSk8dz9NYXRoLmFicyhoWzFdLUxbMV0pPHcmJihMWzBdLWhbMF0pKihmWzBdLUxbMF0pPj0wJiYoZj1MLGQ9Zyk6cy5sb2coImVuZHB0IHRvIG5ld2VuZHB0IGlzIG5vdCB2ZXJ0LiBvciBob3J6LiIsaCxmLEwpfWlmKGQ+PTApYnJlYWs7eSs9UyhoLGYpLGg9Zn1pZihkPT09ZS5lZGdlcGF0aHMubGVuZ3RoKXtzLmxvZygidW5jbG9zZWQgcGVyaW1ldGVyIHBhdGgiKTticmVha311PWQsKGI9LTE9PT14LmluZGV4T2YodSkpJiYodT14WzBdLHkrPVMoaCxmKSsiWiIsaD1udWxsKX1mb3IodT0wO3U8ZS5wYXRocy5sZW5ndGg7dSsrKXkrPW8uc21vb3RoY2xvc2VkKGUucGF0aHNbdV0ubWFwKG4pLGUuc21vb3RoaW5nKTtyZXR1cm4geX0oMCx0LGwsYyx1LGgscixhKTtlP24uc2VsZWN0KHRoaXMpLmF0dHIoImQiLGUpLnN0eWxlKCJzdHJva2UiLCJub25lIik6bi5zZWxlY3QodGhpcykucmVtb3ZlKCl9KX0oVCxiLF8sdyxWLEksSCxNLEEseixxKSxmdW5jdGlvbih0LGUscixhLGksbCxjKXt2YXIgZj1zLmVuc3VyZVNpbmdsZSh0LCJnIiwiY29udG91cmxpbmVzIikscD0hMSE9PWkuc2hvd2xpbmVzLGQ9aS5zaG93bGFiZWxzLGc9cCYmZCx2PXUuY3JlYXRlTGluZXMoZixwfHxkLGUpLGI9dS5jcmVhdGVMaW5lQ2xpcChmLGcscixhLnRyYWNlLnVpZCksXz10LnNlbGVjdEFsbCgiZy5jb250b3VybGFiZWxzIikuZGF0YShkP1swXTpbXSk7aWYoXy5leGl0KCkucmVtb3ZlKCksXy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNvbnRvdXJsYWJlbHMiLCEwKSxkKXt2YXIgdz1sLnhheGlzLGs9bC55YXhpcyxUPXcuX2xlbmd0aCxNPWsuX2xlbmd0aCxBPVtbWzAsMF0sW1QsMF0sW1QsTV0sWzAsTV1dXSxTPVtdO3MuY2xlYXJMb2NhdGlvbkNhY2hlKCk7dmFyIEU9dS5sYWJlbEZvcm1hdHRlcihyLGEpLEw9by50ZXN0ZXIuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZGF0YS1ub3RleCIsMSkuY2FsbChvLmZvbnQsaS5sYWJlbGZvbnQpLEM9e2xlZnQ6MCxyaWdodDpULGNlbnRlcjpULzIsdG9wOjAsYm90dG9tOk0sbWlkZGxlOk0vMn0sUD1NYXRoLnNxcnQoVCpUK00qTSksTz1oLkxBQkVMRElTVEFOQ0UqUC9NYXRoLm1heCgxLGUubGVuZ3RoL2guTEFCRUxJTkNSRUFTRSk7di5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXUuY2FsY1RleHRPcHRzKHQubGV2ZWwsRSxMLHIpO24uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgicGF0aCIpLmVhY2goZnVuY3Rpb24ocil7dmFyIG49cy5nZXRWaXNpYmxlU2VnbWVudCh0aGlzLEMsZS5oZWlnaHQvMik7aWYobiYmKGZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG8scz0wO3M8ci5wZWRnZXBhdGhzLmxlbmd0aDtzKyspZT09PXIucGVkZ2VwYXRoc1tzXSYmKG89ci5lZGdlcGF0aHNbc10pO2lmKCFvKXJldHVybjt2YXIgbD1hLmFbMF0sYz1hLmFbYS5hLmxlbmd0aC0xXSx1PWEuYlswXSxoPWEuYlthLmIubGVuZ3RoLTFdO2Z1bmN0aW9uIGYodCxlKXt2YXIgcixuPTA7cmV0dXJuKE1hdGguYWJzKHRbMF0tbCk8LjF8fE1hdGguYWJzKHRbMF0tYyk8LjEpJiYocj15KGEuZHh5ZGJfcm91Z2godFswXSx0WzFdLC4xKSksbj1NYXRoLm1heChuLGkqeChlLHIpLzIpKSwoTWF0aC5hYnModFsxXS11KTwuMXx8TWF0aC5hYnModFsxXS1oKTwuMSkmJihyPXkoYS5keHlkYV9yb3VnaCh0WzBdLHRbMV0sLjEpKSxuPU1hdGgubWF4KG4saSp4KGUscikvMikpLG59dmFyIHA9bSh0LDAsMSksZD1tKHQsbi50b3RhbCxuLnRvdGFsLTEpLGc9ZihvWzBdLHApLHY9bi50b3RhbC1mKG9bby5sZW5ndGgtMV0sZCk7bi5taW48ZyYmKG4ubWluPWcpO24ubWF4PnYmJihuLm1heD12KTtuLmxlbj1uLm1heC1uLm1pbn0odGhpcyxyLHQsbixjLGUuaGVpZ2h0KSwhKG4ubGVuPChlLndpZHRoK2UuaGVpZ2h0KSpoLkxBQkVMTUlOKSkpZm9yKHZhciBhPU1hdGgubWluKE1hdGguY2VpbChuLmxlbi9PKSxoLkxBQkVMTUFYKSxpPTA7aTxhO2krKyl7dmFyIG89dS5maW5kQmVzdFRleHRMb2NhdGlvbih0aGlzLG4sZSxTLEMpO2lmKCFvKWJyZWFrO3UuYWRkTGFiZWxEYXRhKG8sZSxTLEEpfX0pfSksTC5yZW1vdmUoKSx1LmRyYXdMYWJlbHMoXyxTLHIsYixnP0E6bnVsbCl9ZCYmIXAmJnYucmVtb3ZlKCl9KGIsQyx0LGssTCxlLE0pLG8uc2V0Q2xpcFVybChiLE0uX2NsaXBQYXRoSWQsdCl9ZnVuY3Rpb24gSCh0KXt2YXIgZT1NLmFiMnh5KHRbMF0sdFsxXSwhMCk7cmV0dXJuW18uYzJwKGVbMF0pLHcuYzJwKGVbMV0pXX19KX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LCIuLi9jYXJwZXQvYXhpc19hbGlnbmVkX2xpbmUiOjkwMCwiLi4vY2FycGV0L2xvb2t1cF9jYXJwZXRpZCI6OTE2LCIuLi9jYXJwZXQvbWFrZXBhdGgiOjkxNywiLi4vY2FycGV0L21hcF8xZF9hcnJheSI6OTE4LCIuLi9jb250b3VyL2Nsb3NlX2JvdW5kYXJpZXMiOjk0NSwiLi4vY29udG91ci9jb25zdGFudHMiOjk0NywiLi4vY29udG91ci9jb252ZXJ0X3RvX2NvbnN0cmFpbnRzIjo5NTEsIi4uL2NvbnRvdXIvZW1wdHlfcGF0aGluZm8iOjk1MywiLi4vY29udG91ci9maW5kX2FsbF9wYXRocyI6OTU1LCIuLi9jb250b3VyL21ha2VfY3Jvc3NpbmdzIjo5NjAsIi4uL2NvbnRvdXIvcGxvdCI6OTYxLGQzOjE2NX1dLDk3MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxpPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxvPXQoIi4uL3NjYXR0ZXJtYXBib3gvYXR0cmlidXRlcyIpLHM9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPXMoe2xvbjpvLmxvbixsYXQ6by5sYXQsejp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxyYWRpdXM6e3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6InBsb3QiLGFycmF5T2s6ITAsbWluOjEsZGZsdDozMH0sYmVsb3c6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6InBsb3QifSx0ZXh0Om8udGV4dCxob3ZlcnRleHQ6by5ob3ZlcnRleHQsaG92ZXJpbmZvOnMoe30saS5ob3ZlcmluZm8se2ZsYWdzOlsibG9uIiwibGF0IiwieiIsInRleHQiLCJuYW1lIl19KSxob3ZlcnRlbXBsYXRlOmEoKSxzaG93bGVnZW5kOnMoe30saS5zaG93bGVnZW5kLHtkZmx0OiExfSl9LG4oIiIse2NMZXR0ZXI6InoiLGVkaXRUeXBlT3ZlcnJpZGU6ImNhbGMifSkpfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL3NjYXR0ZXJtYXBib3gvYXR0cmlidXRlcyI6MTE4NH1dLDk3MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIikuaXNBcnJheU9yVHlwZWRBcnJheSxpPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU0sbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyIpLHM9dCgiLi4vLi4vbGliIikuXztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZS5fbGVuZ3RoLGw9bmV3IEFycmF5KHIpLGM9ZS56LHU9YShjKSYmYy5sZW5ndGgsaD0wO2g8cjtoKyspe3ZhciBmPWxbaF09e30scD1lLmxvbltoXSxkPWUubGF0W2hdO2lmKGYubG9ubGF0PW4ocCkmJm4oZCk/WytwLCtkXTpbaSxpXSx1KXt2YXIgZz1jW2hdO2Yuej1uKGcpP2c6aX19cmV0dXJuIG8odCxlLHt2YWxzOnU/YzpbMCwxXSxjb250YWluZXJTdHI6IiIsY0xldHRlcjoieiJ9KSxyJiYobFswXS50PXtsYWJlbHM6e2xhdDpzKHQsImxhdDoiKSsiICIsbG9uOnModCwibG9uOiIpKyIgIn19KSxsfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyI6NjAwLCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sOTcyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLHM9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTSxsPXQoIi4uLy4uL2xpYi9nZW9qc29uX3V0aWxzIikubWFrZUJsYW5rO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLnRyYWNlLHI9ITA9PT1lLnZpc2libGUmJjAhPT1lLl9sZW5ndGgsYz1lLl9vcHRzPXtoZWF0bWFwOntsYXlvdXQ6e3Zpc2liaWxpdHk6Im5vbmUifSxwYWludDp7fX0sZ2VvanNvbjpsKCl9O2lmKCFyKXJldHVybiBjO3ZhciB1LGg9W10sZj1lLnoscD1lLnJhZGl1cyxkPWEuaXNBcnJheU9yVHlwZWRBcnJheShmKSYmZi5sZW5ndGgsZz1hLmlzQXJyYXlPclR5cGVkQXJyYXkocCk7Zm9yKHU9MDt1PHQubGVuZ3RoO3UrKyl7dmFyIHY9dFt1XSxtPXYubG9ubGF0O2lmKG1bMF0hPT1zKXt2YXIgeT17fTtpZihkKXt2YXIgeD12Lno7eS56PXghPT1zP3g6MH1nJiYoeS5yPW4ocFt1XSkmJnBbdV0+MD8rcFt1XTowKSxoLnB1c2goe3R5cGU6IkZlYXR1cmUiLGdlb21ldHJ5Ont0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6bX0scHJvcGVydGllczp5fSl9fXZhciBiPW8uZXh0cmFjdE9wdHMoZSksXz1iLnJldmVyc2VzY2FsZT9vLmZsaXBTY2FsZShiLmNvbG9yc2NhbGUpOmIuY29sb3JzY2FsZSx3PV9bMF1bMV0saz1bImludGVycG9sYXRlIixbImxpbmVhciJdLFsiaGVhdG1hcC1kZW5zaXR5Il0sMCxpLm9wYWNpdHkodyk8MT93OmkuYWRkT3BhY2l0eSh3LDApXTtmb3IodT0xO3U8Xy5sZW5ndGg7dSsrKWsucHVzaChfW3VdWzBdLF9bdV1bMV0pO3ZhciBUPVsiaW50ZXJwb2xhdGUiLFsibGluZWFyIl0sWyJnZXQiLCJ6Il0sYi5taW4sMCxiLm1heCwxXTtyZXR1cm4gYS5leHRlbmRGbGF0KGMuaGVhdG1hcC5wYWludCx7ImhlYXRtYXAtd2VpZ2h0IjpkP1Q6MS8oYi5tYXgtYi5taW4pLCJoZWF0bWFwLWNvbG9yIjprLCJoZWF0bWFwLXJhZGl1cyI6Zz97dHlwZToiaWRlbnRpdHkiLHByb3BlcnR5OiJyIn06ZS5yYWRpdXMsImhlYXRtYXAtb3BhY2l0eSI6ZS5vcGFjaXR5fSksYy5nZW9qc29uPXt0eXBlOiJGZWF0dXJlQ29sbGVjdGlvbiIsZmVhdHVyZXM6aH0sYy5oZWF0bWFwLmxheW91dC52aXNpYmlsaXR5PSJ2aXNpYmxlIixjfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSI6NjA0LCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ2VvanNvbl91dGlscyI6NzEyLCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sOTczOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIiksaT10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbyl7ZnVuY3Rpb24gcyhyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsaSxyLGEpfXZhciBsPXMoImxvbiIpfHxbXSxjPXMoImxhdCIpfHxbXSx1PU1hdGgubWluKGwubGVuZ3RoLGMubGVuZ3RoKTt1PyhlLl9sZW5ndGg9dSxzKCJ6IikscygicmFkaXVzIikscygiYmVsb3ciKSxzKCJ0ZXh0IikscygiaG92ZXJ0ZXh0IikscygiaG92ZXJ0ZW1wbGF0ZSIpLGEodCxlLG8scyx7cHJlZml4OiIiLGNMZXR0ZXI6InoifSkpOmUudmlzaWJsZT0hMX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIjo2MDIsIi4uLy4uL2xpYiI6NzE3LCIuL2F0dHJpYnV0ZXMiOjk3MH1dLDk3NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5sb249ZS5sb24sdC5sYXQ9ZS5sYXQsdC56PWUueix0fX0se31dLDk3NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksaT10KCIuLi9zY2F0dGVybWFwYm94L2hvdmVyIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbz1pKHQsZSxyKTtpZihvKXt2YXIgcz1vWzBdLGw9cy5jZCxjPWxbMF0udHJhY2UsdT1sW3MuaW5kZXhdO2lmKGRlbGV0ZSBzLmNvbG9yLCJ6ImluIHUpe3ZhciBoPXMuc3VicGxvdC5tb2NrQXhpcztzLno9dS56LHMuekxhYmVsPWEudGlja1RleHQoaCxoLmMybCh1LnopLCJob3ZlciIpLnRleHR9cmV0dXJuIHMuZXh0cmFUZXh0PWZ1bmN0aW9uKHQsZSxyKXtpZih0LmhvdmVydGVtcGxhdGUpcmV0dXJuO3ZhciBhPShlLmhpfHx0LmhvdmVyaW5mbykuc3BsaXQoIisiKSxpPS0xIT09YS5pbmRleE9mKCJhbGwiKSxvPS0xIT09YS5pbmRleE9mKCJsb24iKSxzPS0xIT09YS5pbmRleE9mKCJsYXQiKSxsPWUubG9ubGF0LGM9W107ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdCsiXHhiMCJ9aXx8byYmcz9jLnB1c2goIigiK3UobFswXSkrIiwgIit1KGxbMV0pKyIpIik6bz9jLnB1c2goci5sb24rdShsWzBdKSk6cyYmYy5wdXNoKHIubGF0K3UobFsxXSkpOyhpfHwtMSE9PWEuaW5kZXhPZigidGV4dCIpKSYmbi5maWxsVGV4dChlLHQsYyk7cmV0dXJuIGMuam9pbigiPGJyPiIpfShjLHUsbFswXS50LmxhYmVscyksW3NdfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uL3NjYXR0ZXJtYXBib3gvaG92ZXIiOjExODl9XSw5NzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjb2xvcmJhcjp0KCIuLi9oZWF0bWFwL2NvbG9yYmFyIiksZm9ybWF0TGFiZWxzOnQoIi4uL3NjYXR0ZXJtYXBib3gvZm9ybWF0X2xhYmVscyIpLGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuL3Bsb3QiKSxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLGdldEJlbG93OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUuZ2V0TWFwTGF5ZXJzKCksbj0wO248ci5sZW5ndGg7bisrKXt2YXIgYT1yW25dLGk9YS5pZDtpZigic3ltYm9sIj09PWEudHlwZSYmInN0cmluZyI9PXR5cGVvZiBpJiYtMT09PWkuaW5kZXhPZigicGxvdGx5LSIpKXJldHVybiBpfX0sbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImRlbnNpdHltYXBib3giLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL21hcGJveCIpLGNhdGVnb3JpZXM6WyJtYXBib3giLCJnbCIsInNob3dMZWdlbmQiXSxtZXRhOntocl9uYW1lOiJkZW5zaXR5X21hcGJveCJ9fX0seyIuLi8uLi9wbG90cy9tYXBib3giOjgyMCwiLi4vaGVhdG1hcC9jb2xvcmJhciI6MTAwMywiLi4vc2NhdHRlcm1hcGJveC9mb3JtYXRfbGFiZWxzIjoxMTg4LCIuL2F0dHJpYnV0ZXMiOjk3MCwiLi9jYWxjIjo5NzEsIi4vZGVmYXVsdHMiOjk3MywiLi9ldmVudF9kYXRhIjo5NzQsIi4vaG92ZXIiOjk3NSwiLi9wbG90Ijo5Nzd9XSw5Nzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb252ZXJ0IiksYT10KCIuLi8uLi9wbG90cy9tYXBib3gvY29uc3RhbnRzIikudHJhY2VMYXllclByZWZpeDtmdW5jdGlvbiBpKHQsZSl7dGhpcy50eXBlPSJkZW5zaXR5bWFwYm94Iix0aGlzLnN1YnBsb3Q9dCx0aGlzLnVpZD1lLHRoaXMuc291cmNlSWQ9InNvdXJjZS0iK2UsdGhpcy5sYXllckxpc3Q9W1siaGVhdG1hcCIsYStlKyItaGVhdG1hcCJdXSx0aGlzLmJlbG93PW51bGx9dmFyIG89aS5wcm90b3R5cGU7by51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zdWJwbG90LHI9dGhpcy5sYXllckxpc3QsYT1uKHQpLGk9ZS5iZWxvd0xvb2t1cFsidHJhY2UtIit0aGlzLnVpZF07ZS5tYXAuZ2V0U291cmNlKHRoaXMuc291cmNlSWQpLnNldERhdGEoYS5nZW9qc29uKSxpIT09dGhpcy5iZWxvdyYmKHRoaXMuX3JlbW92ZUxheWVycygpLHRoaXMuX2FkZExheWVycyhhLGkpLHRoaXMuYmVsb3c9aSk7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspe3ZhciBzPXJbb10sbD1zWzBdLGM9c1sxXSx1PWFbbF07ZS5zZXRPcHRpb25zKGMsInNldExheW91dFByb3BlcnR5Iix1LmxheW91dCksInZpc2libGUiPT09dS5sYXlvdXQudmlzaWJpbGl0eSYmZS5zZXRPcHRpb25zKGMsInNldFBhaW50UHJvcGVydHkiLHUucGFpbnQpfX0sby5fYWRkTGF5ZXJzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuc3VicGxvdCxuPXRoaXMubGF5ZXJMaXN0LGE9dGhpcy5zb3VyY2VJZCxpPTA7aTxuLmxlbmd0aDtpKyspe3ZhciBvPW5baV0scz1vWzBdLGw9dFtzXTtyLmFkZExheWVyKHt0eXBlOnMsaWQ6b1sxXSxzb3VyY2U6YSxsYXlvdXQ6bC5sYXlvdXQscGFpbnQ6bC5wYWludH0sZSl9fSxvLl9yZW1vdmVMYXllcnM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5zdWJwbG90Lm1hcCxlPXRoaXMubGF5ZXJMaXN0LHI9ZS5sZW5ndGgtMTtyPj0wO3ItLSl0LnJlbW92ZUxheWVyKGVbcl1bMV0pfSxvLmRpc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN1YnBsb3QubWFwO3RoaXMuX3JlbW92ZUxheWVycygpLHQucmVtb3ZlU291cmNlKHRoaXMuc291cmNlSWQpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLnRyYWNlLGE9bmV3IGkodCxyLnVpZCksbz1hLnNvdXJjZUlkLHM9bihlKSxsPWEuYmVsb3c9dC5iZWxvd0xvb2t1cFsidHJhY2UtIityLnVpZF07cmV0dXJuIHQubWFwLmFkZFNvdXJjZShvLHt0eXBlOiJnZW9qc29uIixkYXRhOnMuZ2VvanNvbn0pLGEuX2FkZExheWVycyhzLGwpLGF9fSx7Ii4uLy4uL3Bsb3RzL21hcGJveC9jb25zdGFudHMiOjgxOCwiLi9jb252ZXJ0Ijo5NzJ9XSw5Nzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspdFtyXS5pPXI7bi5tZXJnZUFycmF5KGUudGV4dCx0LCJ0eCIpLG4ubWVyZ2VBcnJheShlLmhvdmVydGV4dCx0LCJodHgiKTt2YXIgYT1lLm1hcmtlcjtpZihhKXtuLm1lcmdlQXJyYXkoYS5vcGFjaXR5LHQsIm1vIiksbi5tZXJnZUFycmF5KGEuY29sb3IsdCwibWMiKTt2YXIgaT1hLmxpbmU7aSYmKG4ubWVyZ2VBcnJheShpLmNvbG9yLHQsIm1sYyIpLG4ubWVyZ2VBcnJheUNhc3RQb3NpdGl2ZShpLndpZHRoLHQsIm1sdyIpKX19fSx7Ii4uLy4uL2xpYiI6NzE3fV0sOTc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Jhci9hdHRyaWJ1dGVzIiksYT10KCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiKS5saW5lLGk9dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxzPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS50ZXh0dGVtcGxhdGVBdHRycyxsPXQoIi4vY29uc3RhbnRzIiksYz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCx1PXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKTtlLmV4cG9ydHM9e3g6bi54LHgwOm4ueDAsZHg6bi5keCx5Om4ueSx5MDpuLnkwLGR5Om4uZHksaG92ZXJ0ZXh0Om4uaG92ZXJ0ZXh0LGhvdmVydGVtcGxhdGU6byh7fSx7a2V5czpsLmV2ZW50RGF0YUtleXN9KSxob3ZlcmluZm86Yyh7fSxpLmhvdmVyaW5mbyx7ZmxhZ3M6WyJuYW1lIiwieCIsInkiLCJ0ZXh0IiwicGVyY2VudCBpbml0aWFsIiwicGVyY2VudCBwcmV2aW91cyIsInBlcmNlbnQgdG90YWwiXX0pLHRleHRpbmZvOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJsYWJlbCIsInRleHQiLCJwZXJjZW50IGluaXRpYWwiLCJwZXJjZW50IHByZXZpb3VzIiwicGVyY2VudCB0b3RhbCIsInZhbHVlIl0sZXh0cmFzOlsibm9uZSJdLGVkaXRUeXBlOiJwbG90IixhcnJheU9rOiExfSx0ZXh0dGVtcGxhdGU6cyh7ZWRpdFR5cGU6InBsb3QifSx7a2V5czpsLmV2ZW50RGF0YUtleXMuY29uY2F0KFsibGFiZWwiLCJ2YWx1ZSJdKX0pLHRleHQ6bi50ZXh0LHRleHRwb3NpdGlvbjpjKHt9LG4udGV4dHBvc2l0aW9uLHtkZmx0OiJhdXRvIn0pLGluc2lkZXRleHRhbmNob3I6Yyh7fSxuLmluc2lkZXRleHRhbmNob3Ise2RmbHQ6Im1pZGRsZSJ9KSx0ZXh0YW5nbGU6Yyh7fSxuLnRleHRhbmdsZSx7ZGZsdDowfSksdGV4dGZvbnQ6bi50ZXh0Zm9udCxpbnNpZGV0ZXh0Zm9udDpuLmluc2lkZXRleHRmb250LG91dHNpZGV0ZXh0Zm9udDpuLm91dHNpZGV0ZXh0Zm9udCxjb25zdHJhaW50ZXh0Om4uY29uc3RyYWludGV4dCxjbGlwb25heGlzOm4uY2xpcG9uYXhpcyxvcmllbnRhdGlvbjpjKHt9LG4ub3JpZW50YXRpb24se30pLG9mZnNldDpjKHt9LG4ub2Zmc2V0LHthcnJheU9rOiExfSksd2lkdGg6Yyh7fSxuLndpZHRoLHthcnJheU9rOiExfSksbWFya2VyOm4ubWFya2VyLGNvbm5lY3Rvcjp7ZmlsbGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sbGluZTp7Y29sb3I6Yyh7fSxhLmNvbG9yLHtkZmx0OnUuZGVmYXVsdExpbmV9KSx3aWR0aDpjKHt9LGEud2lkdGgse2RmbHQ6MCxlZGl0VHlwZToicGxvdCJ9KSxkYXNoOmEuZGFzaCxlZGl0VHlwZToic3R5bGUifSx2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6InBsb3QifSxvZmZzZXRncm91cDpuLm9mZnNldGdyb3VwLGFsaWdubWVudGdyb3VwOm4uYWxpZ25tZW50Z3JvdXB9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vYmFyL2F0dHJpYnV0ZXMiOjg1NiwiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIjoxMTIwLCIuL2NvbnN0YW50cyI6OTgxfV0sOTgwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksYT10KCIuL2FycmF5c190b19jYWxjZGF0YSIpLGk9dCgiLi4vc2NhdHRlci9jYWxjX3NlbGVjdGlvbiIpLG89dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTTtmdW5jdGlvbiBzKHQpe3JldHVybiB0PT09bz8wOnR9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbCxjLHUsaD1uLmdldEZyb21JZCh0LGUueGF4aXN8fCJ4IiksZj1uLmdldEZyb21JZCh0LGUueWF4aXN8fCJ5Iik7ImgiPT09ZS5vcmllbnRhdGlvbj8ocj1oLm1ha2VDYWxjZGF0YShlLCJ4IiksbD1mLm1ha2VDYWxjZGF0YShlLCJ5IikpOihyPWYubWFrZUNhbGNkYXRhKGUsInkiKSxsPWgubWFrZUNhbGNkYXRhKGUsIngiKSk7dmFyIHAsZD1NYXRoLm1pbihsLmxlbmd0aCxyLmxlbmd0aCksZz1uZXcgQXJyYXkoZCk7Zm9yKGUuX2Jhc2U9W10sYz0wO2M8ZDtjKyspe3JbY108MCYmKHJbY109byk7dmFyIHY9ITE7cltjXSE9PW8mJmMrMTxkJiZyW2MrMV0hPT1vJiYodj0hMCksdT1nW2NdPXtwOmxbY10sczpyW2NdLGNOZXh0OnZ9LGUuX2Jhc2VbY109LS41KnUucyxlLmlkcyYmKHUuaWQ9U3RyaW5nKGUuaWRzW2NdKSksMD09PWMmJihnWzBdLnZUb3RhbD0wKSxnWzBdLnZUb3RhbCs9cyh1LnMpLHUuYmVnUj1zKHUucykvcyhnWzBdLnMpfWZvcihjPTA7YzxkO2MrKykodT1nW2NdKS5zIT09byYmKHUuc3VtUj11LnMvZ1swXS52VG90YWwsdS5kaWZSPXZvaWQgMCE9PXA/dS5zL3A6MSxwPXUucyk7cmV0dXJuIGEoZyxlKSxpKGcsZSksZ319LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9zY2F0dGVyL2NhbGNfc2VsZWN0aW9uIjoxMTIyLCIuL2FycmF5c190b19jYWxjZGF0YSI6OTc4fV0sOTgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17ZXZlbnREYXRhS2V5czpbInBlcmNlbnRJbml0aWFsIiwicGVyY2VudFByZXZpb3VzIiwicGVyY2VudFRvdGFsIl19fSx7fV0sOTgyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Jhci9jcm9zc190cmFjZV9jYWxjIikuc2V0R3JvdXBQb3NpdGlvbnM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYSxpPXQuX2Z1bGxMYXlvdXQsbz10Ll9mdWxsRGF0YSxzPXQuY2FsY2RhdGEsbD1lLnhheGlzLGM9ZS55YXhpcyx1PVtdLGg9W10sZj1bXTtmb3IoYT0wO2E8by5sZW5ndGg7YSsrKXt2YXIgcD1vW2FdLGQ9ImgiPT09cC5vcmllbnRhdGlvbjshMD09PXAudmlzaWJsZSYmcC54YXhpcz09PWwuX2lkJiZwLnlheGlzPT09Yy5faWQmJiJmdW5uZWwiPT09cC50eXBlJiYocj1zW2FdLGQ/Zi5wdXNoKHIpOmgucHVzaChyKSx1LnB1c2gocikpfXZhciBnPXttb2RlOmkuZnVubmVsbW9kZSxub3JtOmkuZnVubmVsbm9ybSxnYXA6aS5mdW5uZWxnYXAsZ3JvdXBnYXA6aS5mdW5uZWxncm91cGdhcH07Zm9yKG4odCxsLGMsaCxnKSxuKHQsYyxsLGYsZyksYT0wO2E8dS5sZW5ndGg7YSsrKXtyPXVbYV07Zm9yKHZhciB2PTA7djxyLmxlbmd0aDt2KyspdisxPHIubGVuZ3RoJiYoclt2XS5uZXh0UDA9clt2KzFdLnAwLHJbdl0ubmV4dFMwPXJbdisxXS5zMCxyW3ZdLm5leHRQMT1yW3YrMV0ucDEsclt2XS5uZXh0UzE9clt2KzFdLnMxKX19fSx7Ii4uL2Jhci9jcm9zc190cmFjZV9jYWxjIjo4NTl9XSw5ODM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9iYXIvZGVmYXVsdHMiKS5oYW5kbGVHcm91cGluZ0RlZmF1bHRzLGk9dCgiLi4vYmFyL2RlZmF1bHRzIikuaGFuZGxlVGV4dCxvPXQoIi4uL3NjYXR0ZXIveHlfZGVmYXVsdHMiKSxzPXQoIi4vYXR0cmlidXRlcyIpLGw9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpO2UuZXhwb3J0cz17c3VwcGx5RGVmYXVsdHM6ZnVuY3Rpb24odCxlLHIsYSl7ZnVuY3Rpb24gYyhyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUscyxyLGEpfWlmKG8odCxlLGEsYykpe2MoIm9yaWVudGF0aW9uIixlLnkmJiFlLng/InYiOiJoIiksYygib2Zmc2V0IiksYygid2lkdGgiKTt2YXIgdT1jKCJ0ZXh0Iik7YygiaG92ZXJ0ZXh0IiksYygiaG92ZXJ0ZW1wbGF0ZSIpO3ZhciBoPWMoInRleHRwb3NpdGlvbiIpO2kodCxlLGEsYyxoLHttb2R1bGVIYXNTZWxlY3RlZDohMSxtb2R1bGVIYXNVbnNlbGVjdGVkOiExLG1vZHVsZUhhc0NvbnN0cmFpbjohMCxtb2R1bGVIYXNDbGlwb25heGlzOiEwLG1vZHVsZUhhc1RleHRhbmdsZTohMCxtb2R1bGVIYXNJbnNpZGVhbmNob3I6ITB9KSwibm9uZSI9PT1lLnRleHRwb3NpdGlvbnx8ZS50ZXh0dGVtcGxhdGV8fGMoInRleHRpbmZvIixBcnJheS5pc0FycmF5KHUpPyJ0ZXh0K3ZhbHVlIjoidmFsdWUiKTt2YXIgZj1jKCJtYXJrZXIuY29sb3IiLHIpO2MoIm1hcmtlci5saW5lLmNvbG9yIixsLmRlZmF1bHRMaW5lKSxjKCJtYXJrZXIubGluZS53aWR0aCIpLGMoImNvbm5lY3Rvci52aXNpYmxlIikmJihjKCJjb25uZWN0b3IuZmlsbGNvbG9yIixmdW5jdGlvbih0KXt2YXIgZT1uLmlzQXJyYXlPclR5cGVkQXJyYXkodCk/IiMwMDAiOnQ7cmV0dXJuIGwuYWRkT3BhY2l0eShlLC41Kmwub3BhY2l0eShlKSl9KGYpKSxjKCJjb25uZWN0b3IubGluZS53aWR0aCIpJiYoYygiY29ubmVjdG9yLmxpbmUuY29sb3IiKSxjKCJjb25uZWN0b3IubGluZS5kYXNoIikpKX1lbHNlIGUudmlzaWJsZT0hMX0sY3Jvc3NUcmFjZURlZmF1bHRzOmZ1bmN0aW9uKHQsZSl7dmFyIHIsaTtmdW5jdGlvbiBvKHQpe3JldHVybiBuLmNvZXJjZShpLl9pbnB1dCxpLHMsdCl9aWYoImdyb3VwIj09PWUuZnVubmVsbW9kZSlmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKylyPShpPXRbbF0pLl9pbnB1dCxhKHIsaSxlLG8pfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9saWIiOjcxNywiLi4vYmFyL2RlZmF1bHRzIjo4NjAsIi4uL3NjYXR0ZXIveHlfZGVmYXVsdHMiOjExNDYsIi4vYXR0cmlidXRlcyI6OTc5fV0sOTg0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0Lng9InhWYWwiaW4gZT9lLnhWYWw6ZS54LHQueT0ieVZhbCJpbiBlP2UueVZhbDplLnksInBlcmNlbnRJbml0aWFsImluIGUmJih0LnBlcmNlbnRJbml0aWFsPWUucGVyY2VudEluaXRpYWwpLCJwZXJjZW50UHJldmlvdXMiaW4gZSYmKHQucGVyY2VudFByZXZpb3VzPWUucGVyY2VudFByZXZpb3VzKSwicGVyY2VudFRvdGFsImluIGUmJih0LnBlcmNlbnRUb3RhbD1lLnBlcmNlbnRUb3RhbCksZS54YSYmKHQueGF4aXM9ZS54YSksZS55YSYmKHQueWF4aXM9ZS55YSksdH19LHt9XSw5ODU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLm9wYWNpdHksYT10KCIuLi9iYXIvaG92ZXIiKS5ob3Zlck9uQmFycyxpPXQoIi4uLy4uL2xpYiIpLmZvcm1hdFBlcmNlbnQ7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8pe3ZhciBzPWEodCxlLHIsbyk7aWYocyl7dmFyIGw9cy5jZCxjPWxbMF0udHJhY2UsdT0iaCI9PT1jLm9yaWVudGF0aW9uLGg9bFtzLmluZGV4XTtzWyh1PyJ4IjoieSIpKyJMYWJlbFZhbCJdPWgucyxzLnBlcmNlbnRJbml0aWFsPWguYmVnUixzLnBlcmNlbnRJbml0aWFsTGFiZWw9aShoLmJlZ1IsMSkscy5wZXJjZW50UHJldmlvdXM9aC5kaWZSLHMucGVyY2VudFByZXZpb3VzTGFiZWw9aShoLmRpZlIsMSkscy5wZXJjZW50VG90YWw9aC5zdW1SLHMucGVyY2VudFRvdGFsTGFiZWw9aShoLnN1bVIsMSk7dmFyIGY9aC5oaXx8Yy5ob3ZlcmluZm8scD1bXTtpZihmJiYibm9uZSIhPT1mJiYic2tpcCIhPT1mKXt2YXIgZD0iYWxsIj09PWYsZz1mLnNwbGl0KCIrIiksdj1mdW5jdGlvbih0KXtyZXR1cm4gZHx8LTEhPT1nLmluZGV4T2YodCl9O3YoInBlcmNlbnQgaW5pdGlhbCIpJiZwLnB1c2gocy5wZXJjZW50SW5pdGlhbExhYmVsKyIgb2YgaW5pdGlhbCIpLHYoInBlcmNlbnQgcHJldmlvdXMiKSYmcC5wdXNoKHMucGVyY2VudFByZXZpb3VzTGFiZWwrIiBvZiBwcmV2aW91cyIpLHYoInBlcmNlbnQgdG90YWwiKSYmcC5wdXNoKHMucGVyY2VudFRvdGFsTGFiZWwrIiBvZiB0b3RhbCIpfXJldHVybiBzLmV4dHJhVGV4dD1wLmpvaW4oIjxicj4iKSxzLmNvbG9yPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5tYXJrZXIsYT1lLm1jfHxyLmNvbG9yLGk9ZS5tbGN8fHIubGluZS5jb2xvcixvPWUubWx3fHxyLmxpbmUud2lkdGg7aWYobihhKSlyZXR1cm4gYTtpZihuKGkpJiZvKXJldHVybiBpfShjLGgpLFtzXX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliIjo3MTcsIi4uL2Jhci9ob3ZlciI6ODYzfV0sOTg2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuc3VwcGx5RGVmYXVsdHMsY3Jvc3NUcmFjZURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKS5jcm9zc1RyYWNlRGVmYXVsdHMsc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLGNyb3NzVHJhY2VDYWxjOnQoIi4vY3Jvc3NfdHJhY2VfY2FsYyIpLHBsb3Q6dCgiLi9wbG90Iiksc3R5bGU6dCgiLi9zdHlsZSIpLnN0eWxlLGhvdmVyUG9pbnRzOnQoIi4vaG92ZXIiKSxldmVudERhdGE6dCgiLi9ldmVudF9kYXRhIiksc2VsZWN0UG9pbnRzOnQoIi4uL2Jhci9zZWxlY3QiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiZnVubmVsIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiYmFyLWxpa2UiLCJjYXJ0ZXNpYW4iLCJzdmciLCJvcmllbnRlZCIsInNob3dMZWdlbmQiLCJ6b29tU2NhbGUiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vYmFyL3NlbGVjdCI6ODY4LCIuL2F0dHJpYnV0ZXMiOjk3OSwiLi9jYWxjIjo5ODAsIi4vY3Jvc3NfdHJhY2VfY2FsYyI6OTgyLCIuL2RlZmF1bHRzIjo5ODMsIi4vZXZlbnRfZGF0YSI6OTg0LCIuL2hvdmVyIjo5ODUsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjk4NywiLi9sYXlvdXRfZGVmYXVsdHMiOjk4OCwiLi9wbG90Ijo5ODksIi4vc3R5bGUiOjk5MH1dLDk4NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2Z1bm5lbG1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInN0YWNrIiwiZ3JvdXAiLCJvdmVybGF5Il0sZGZsdDoic3RhY2siLGVkaXRUeXBlOiJjYWxjIn0sZnVubmVsZ2FwOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGVkaXRUeXBlOiJjYWxjIn0sZnVubmVsZ3JvdXBnYXA6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn19fSx7fV0sOTg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGk9ITE7ZnVuY3Rpb24gbyhyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKXt2YXIgbD1yW3NdO2lmKGwudmlzaWJsZSYmImZ1bm5lbCI9PT1sLnR5cGUpe2k9ITA7YnJlYWt9fWkmJihvKCJmdW5uZWxtb2RlIiksbygiZnVubmVsZ2FwIiwuMiksbygiZnVubmVsZ3JvdXBnYXAiKSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo5ODd9XSw5ODk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksbz10KCIuLi9iYXIvcGxvdCIpLHM9dCgiLi4vYmFyL3VuaWZvcm1fdGV4dCIpLmNsZWFyTWluVGV4dFNpemU7ZnVuY3Rpb24gbCh0LGUscixuKXt2YXIgYT1bXSxpPVtdLG89bj9lOnIscz1uP3I6ZTtyZXR1cm4gYVswXT1vLmMycCh0LnMwLCEwKSxpWzBdPXMuYzJwKHQucDAsITApLGFbMV09by5jMnAodC5zMSwhMCksaVsxXT1zLmMycCh0LnAxLCEwKSxhWzJdPW8uYzJwKHQubmV4dFMwLCEwKSxpWzJdPXMuYzJwKHQubmV4dFAwLCEwKSxhWzNdPW8uYzJwKHQubmV4dFMxLCEwKSxpWzNdPXMuYzJwKHQubmV4dFAxLCEwKSxuP1thLGldOltpLGFdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixjKXt2YXIgdT10Ll9mdWxsTGF5b3V0O3MoImZ1bm5lbCIsdSksZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9ZS54YXhpcyxjPWUueWF4aXM7YS5tYWtlVHJhY2VHcm91cHMobyxyLCJ0cmFjZSBiYXJzIikuZWFjaChmdW5jdGlvbihyKXt2YXIgbz1uLnNlbGVjdCh0aGlzKSx1PXJbMF0udHJhY2UsaD1hLmVuc3VyZVNpbmdsZShvLCJnIiwicmVnaW9ucyIpO2lmKHUuY29ubmVjdG9yJiZ1LmNvbm5lY3Rvci52aXNpYmxlKXt2YXIgZj0iaCI9PT11Lm9yaWVudGF0aW9uLHA9aC5zZWxlY3RBbGwoImcucmVnaW9uIikuZGF0YShhLmlkZW50aXR5KTtwLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgicmVnaW9uIiwhMCkscC5leGl0KCkucmVtb3ZlKCk7dmFyIGQ9cC5zaXplKCk7cC5lYWNoKGZ1bmN0aW9uKHIsbyl7aWYobz09PWQtMXx8ci5jTmV4dCl7dmFyIHU9bChyLHMsYyxmKSxoPXVbMF0scD11WzFdLGc9IiI7dm9pZCAwIT09aFszXSYmdm9pZCAwIT09cFszXSYmKGcrPWY/Ik0iK2hbMF0rIiwiK3BbMV0rIkwiK2hbMl0rIiwiK3BbMl0rIkgiK2hbM10rIkwiK2hbMV0rIiwiK3BbMV0rIloiOiJNIitoWzFdKyIsIitwWzFdKyJMIitoWzJdKyIsIitwWzNdKyJWIitwWzJdKyJMIitoWzFdKyIsIitwWzBdKyJaIiksYS5lbnN1cmVTaW5nbGUobi5zZWxlY3QodGhpcyksInBhdGgiKS5hdHRyKCJkIixnKS5jYWxsKGkuc2V0Q2xpcFVybCxlLmxheWVyQ2xpcElkLHQpfX0pfWVsc2UgaC5yZW1vdmUoKX0pfSh0LGUscixjKSxmdW5jdGlvbih0LGUscixvKXt2YXIgcz1lLnhheGlzLGM9ZS55YXhpczthLm1ha2VUcmFjZUdyb3VwcyhvLHIsInRyYWNlIGJhcnMiKS5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBvPW4uc2VsZWN0KHRoaXMpLHU9clswXS50cmFjZSxoPWEuZW5zdXJlU2luZ2xlKG8sImciLCJsaW5lcyIpO2lmKHUuY29ubmVjdG9yJiZ1LmNvbm5lY3Rvci52aXNpYmxlJiZ1LmNvbm5lY3Rvci5saW5lLndpZHRoKXt2YXIgZj0iaCI9PT11Lm9yaWVudGF0aW9uLHA9aC5zZWxlY3RBbGwoImcubGluZSIpLmRhdGEoYS5pZGVudGl0eSk7cC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImxpbmUiLCEwKSxwLmV4aXQoKS5yZW1vdmUoKTt2YXIgZD1wLnNpemUoKTtwLmVhY2goZnVuY3Rpb24ocixvKXtpZihvPT09ZC0xfHxyLmNOZXh0KXt2YXIgdT1sKHIscyxjLGYpLGg9dVswXSxwPXVbMV0sZz0iIjt2b2lkIDAhPT1oWzNdJiZ2b2lkIDAhPT1wWzNdJiYoZj8oZys9Ik0iK2hbMF0rIiwiK3BbMV0rIkwiK2hbMl0rIiwiK3BbMl0sZys9Ik0iK2hbMV0rIiwiK3BbMV0rIkwiK2hbM10rIiwiK3BbMl0pOihnKz0iTSIraFsxXSsiLCIrcFsxXSsiTCIraFsyXSsiLCIrcFszXSxnKz0iTSIraFsxXSsiLCIrcFswXSsiTCIraFsyXSsiLCIrcFsyXSkpLCIiPT09ZyYmKGc9Ik0wLDBaIiksYS5lbnN1cmVTaW5nbGUobi5zZWxlY3QodGhpcyksInBhdGgiKS5hdHRyKCJkIixnKS5jYWxsKGkuc2V0Q2xpcFVybCxlLmxheWVyQ2xpcElkLHQpfX0pfWVsc2UgaC5yZW1vdmUoKX0pfSh0LGUscixjKSxvLnBsb3QodCxlLHIsYyx7bW9kZTp1LmZ1bm5lbG1vZGUsbm9ybTp1LmZ1bm5lbG1vZGUsZ2FwOnUuZnVubmVsZ2FwLGdyb3VwZ2FwOnUuZnVubmVsZ3JvdXBnYXB9KX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LCIuLi9iYXIvcGxvdCI6ODY3LCIuLi9iYXIvdW5pZm9ybV90ZXh0Ijo4NzIsZDM6MTY1fV0sOTkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPXQoIi4uLy4uL2NvbnN0YW50cy9pbnRlcmFjdGlvbnMiKS5ERVNFTEVDVERJTSxzPXQoIi4uL2Jhci9zdHlsZSIpLGw9dCgiLi4vYmFyL3VuaWZvcm1fdGV4dCIpLnJlc2l6ZVRleHQsYz1zLnN0eWxlVGV4dFBvaW50cztlLmV4cG9ydHM9e3N0eWxlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgcz1yfHxuLnNlbGVjdCh0KS5zZWxlY3RBbGwoImcuZnVubmVsbGF5ZXIiKS5zZWxlY3RBbGwoImcudHJhY2UiKTtsKHQscywiZnVubmVsIikscy5zdHlsZSgib3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0udHJhY2Uub3BhY2l0eX0pLHMuZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxzPWVbMF0udHJhY2U7ci5zZWxlY3RBbGwoIi5wb2ludCA+IHBhdGgiKS5lYWNoKGZ1bmN0aW9uKHQpe2lmKCF0LmlzQmxhbmspe3ZhciBlPXMubWFya2VyO24uc2VsZWN0KHRoaXMpLmNhbGwoaS5maWxsLHQubWN8fGUuY29sb3IpLmNhbGwoaS5zdHJva2UsdC5tbGN8fGUubGluZS5jb2xvcikuY2FsbChhLmRhc2hMaW5lLGUubGluZS5kYXNoLHQubWx3fHxlLmxpbmUud2lkdGgpLnN0eWxlKCJvcGFjaXR5IixzLnNlbGVjdGVkcG9pbnRzJiYhdC5zZWxlY3RlZD9vOjEpfX0pLGMocixzLHQpLHIuc2VsZWN0QWxsKCIucmVnaW9ucyIpLmVhY2goZnVuY3Rpb24oKXtuLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoInBhdGgiKS5zdHlsZSgic3Ryb2tlLXdpZHRoIiwwKS5jYWxsKGkuZmlsbCxzLmNvbm5lY3Rvci5maWxsY29sb3IpfSksci5zZWxlY3RBbGwoIi5saW5lcyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1zLmNvbm5lY3Rvci5saW5lO2EubGluZUdyb3VwU3R5bGUobi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJwYXRoIiksdC53aWR0aCx0LmNvbG9yLHQuZGFzaCl9KX0pfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyI6NjkyLCIuLi9iYXIvc3R5bGUiOjg3MCwiLi4vYmFyL3VuaWZvcm1fdGV4dCI6ODcyLGQzOjE2NX1dLDk5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9waWUvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuYXR0cmlidXRlcyxvPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMscz10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikudGV4dHRlbXBsYXRlQXR0cnMsbD10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdDtlLmV4cG9ydHM9e2xhYmVsczpuLmxhYmVscyxsYWJlbDA6bi5sYWJlbDAsZGxhYmVsOm4uZGxhYmVsLHZhbHVlczpuLnZhbHVlcyxtYXJrZXI6e2NvbG9yczpuLm1hcmtlci5jb2xvcnMsbGluZTp7Y29sb3I6bCh7fSxuLm1hcmtlci5saW5lLmNvbG9yLHtkZmx0Om51bGx9KSx3aWR0aDpsKHt9LG4ubWFya2VyLmxpbmUud2lkdGgse2RmbHQ6MX0pLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSx0ZXh0Om4udGV4dCxob3ZlcnRleHQ6bi5ob3ZlcnRleHQsc2NhbGVncm91cDpsKHt9LG4uc2NhbGVncm91cCx7fSksdGV4dGluZm86bCh7fSxuLnRleHRpbmZvLHtmbGFnczpbImxhYmVsIiwidGV4dCIsInZhbHVlIiwicGVyY2VudCJdfSksdGV4dHRlbXBsYXRlOnMoe2VkaXRUeXBlOiJwbG90In0se2tleXM6WyJsYWJlbCIsImNvbG9yIiwidmFsdWUiLCJ0ZXh0IiwicGVyY2VudCJdfSksaG92ZXJpbmZvOmwoe30sYS5ob3ZlcmluZm8se2ZsYWdzOlsibGFiZWwiLCJ0ZXh0IiwidmFsdWUiLCJwZXJjZW50IiwibmFtZSJdfSksaG92ZXJ0ZW1wbGF0ZTpvKHt9LHtrZXlzOlsibGFiZWwiLCJjb2xvciIsInZhbHVlIiwidGV4dCIsInBlcmNlbnQiXX0pLHRleHRwb3NpdGlvbjpsKHt9LG4udGV4dHBvc2l0aW9uLHt2YWx1ZXM6WyJpbnNpZGUiLCJub25lIl0sZGZsdDoiaW5zaWRlIn0pLHRleHRmb250Om4udGV4dGZvbnQsaW5zaWRldGV4dGZvbnQ6bi5pbnNpZGV0ZXh0Zm9udCx0aXRsZTp7dGV4dDpuLnRpdGxlLnRleHQsZm9udDpuLnRpdGxlLmZvbnQscG9zaXRpb246bCh7fSxuLnRpdGxlLnBvc2l0aW9uLHt2YWx1ZXM6WyJ0b3AgbGVmdCIsInRvcCBjZW50ZXIiLCJ0b3AgcmlnaHQiXSxkZmx0OiJ0b3AgY2VudGVyIn0pLGVkaXRUeXBlOiJwbG90In0sZG9tYWluOmkoe25hbWU6ImZ1bm5lbGFyZWEiLHRyYWNlOiEwLGVkaXRUeXBlOiJjYWxjIn0pLGFzcGVjdHJhdGlvOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MSxlZGl0VHlwZToicGxvdCJ9LGJhc2VyYXRpbzp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0Oi4zMzMsZWRpdFR5cGU6InBsb3QifX19LHsiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL2RvbWFpbiI6NzkwLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL3BpZS9hdHRyaWJ1dGVzIjoxMDk0fV0sOTkyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIik7ci5uYW1lPSJmdW5uZWxhcmVhIixyLnBsb3Q9ZnVuY3Rpb24odCxlLGEsaSl7bi5wbG90QmFzZVBsb3Qoci5uYW1lLHQsZSxhLGkpfSxyLmNsZWFuPWZ1bmN0aW9uKHQsZSxhLGkpe24uY2xlYW5CYXNlUGxvdChyLm5hbWUsdCxlLGEsaSl9fSx7Ii4uLy4uL3Bsb3RzL3Bsb3RzIjo4MjZ9XSw5OTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vcGllL2NhbGMiKTtlLmV4cG9ydHM9e2NhbGM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5jYWxjKHQsZSl9LGNyb3NzVHJhY2VDYWxjOmZ1bmN0aW9uKHQpe24uY3Jvc3NUcmFjZUNhbGModCx7dHlwZToiZnVubmVsYXJlYSJ9KX19fSx7Ii4uL3BpZS9jYWxjIjoxMDk2fV0sOTk0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9wbG90cy9kb21haW4iKS5kZWZhdWx0cyxvPXQoIi4uL2Jhci9kZWZhdWx0cyIpLmhhbmRsZVRleHQscz10KCIuLi9waWUvZGVmYXVsdHMiKS5oYW5kbGVMYWJlbHNBbmRWYWx1ZXM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGwpe2Z1bmN0aW9uIGMocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX12YXIgdT1jKCJsYWJlbHMiKSxoPWMoInZhbHVlcyIpLGY9cyh1LGgpLHA9Zi5sZW47aWYoZS5faGFzTGFiZWxzPWYuaGFzTGFiZWxzLGUuX2hhc1ZhbHVlcz1mLmhhc1ZhbHVlcywhZS5faGFzTGFiZWxzJiZlLl9oYXNWYWx1ZXMmJihjKCJsYWJlbDAiKSxjKCJkbGFiZWwiKSkscCl7ZS5fbGVuZ3RoPXAsYygibWFya2VyLmxpbmUud2lkdGgiKSYmYygibWFya2VyLmxpbmUuY29sb3IiLGwucGFwZXJfYmdjb2xvciksYygibWFya2VyLmNvbG9ycyIpLGMoInNjYWxlZ3JvdXAiKTt2YXIgZCxnPWMoInRleHQiKSx2PWMoInRleHR0ZW1wbGF0ZSIpO2lmKHZ8fChkPWMoInRleHRpbmZvIixBcnJheS5pc0FycmF5KGcpPyJ0ZXh0K3BlcmNlbnQiOiJwZXJjZW50IikpLGMoImhvdmVydGV4dCIpLGMoImhvdmVydGVtcGxhdGUiKSx2fHxkJiYibm9uZSIhPT1kKXt2YXIgbT1jKCJ0ZXh0cG9zaXRpb24iKTtvKHQsZSxsLGMsbSx7bW9kdWxlSGFzU2VsZWN0ZWQ6ITEsbW9kdWxlSGFzVW5zZWxlY3RlZDohMSxtb2R1bGVIYXNDb25zdHJhaW46ITEsbW9kdWxlSGFzQ2xpcG9uYXhpczohMSxtb2R1bGVIYXNUZXh0YW5nbGU6ITEsbW9kdWxlSGFzSW5zaWRlYW5jaG9yOiExfSl9aShlLGwsYyksYygidGl0bGUudGV4dCIpJiYoYygidGl0bGUucG9zaXRpb24iKSxuLmNvZXJjZUZvbnQoYywidGl0bGUuZm9udCIsbC5mb250KSksYygiYXNwZWN0cmF0aW8iKSxjKCJiYXNlcmF0aW8iKX1lbHNlIGUudmlzaWJsZT0hMX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2RvbWFpbiI6NzkwLCIuLi9iYXIvZGVmYXVsdHMiOjg2MCwiLi4vcGllL2RlZmF1bHRzIjoxMDk3LCIuL2F0dHJpYnV0ZXMiOjk5MX1dLDk5NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJmdW5uZWxhcmVhIixiYXNlUGxvdE1vZHVsZTp0KCIuL2Jhc2VfcGxvdCIpLGNhdGVnb3JpZXM6WyJwaWUtbGlrZSIsImZ1bm5lbGFyZWEiLCJzaG93TGVnZW5kIl0sYXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLmNhbGMsY3Jvc3NUcmFjZUNhbGM6dCgiLi9jYWxjIikuY3Jvc3NUcmFjZUNhbGMscGxvdDp0KCIuL3Bsb3QiKSxzdHlsZTp0KCIuL3N0eWxlIiksc3R5bGVPbmU6dCgiLi4vcGllL3N0eWxlX29uZSIpLG1ldGE6e319fSx7Ii4uL3BpZS9zdHlsZV9vbmUiOjExMDUsIi4vYXR0cmlidXRlcyI6OTkxLCIuL2Jhc2VfcGxvdCI6OTkyLCIuL2NhbGMiOjk5MywiLi9kZWZhdWx0cyI6OTk0LCIuL2xheW91dF9hdHRyaWJ1dGVzIjo5OTYsIi4vbGF5b3V0X2RlZmF1bHRzIjo5OTcsIi4vcGxvdCI6OTk4LCIuL3N0eWxlIjo5OTl9XSw5OTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vcGllL2xheW91dF9hdHRyaWJ1dGVzIikuaGlkZGVubGFiZWxzO2UuZXhwb3J0cz17aGlkZGVubGFiZWxzOm4sZnVubmVsYXJlYWNvbG9yd2F5Ont2YWxUeXBlOiJjb2xvcmxpc3QiLGVkaXRUeXBlOiJjYWxjIn0sZXh0ZW5kZnVubmVsYXJlYWNvbG9yczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9fX0seyIuLi9waWUvbGF5b3V0X2F0dHJpYnV0ZXMiOjExMDF9XSw5OTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfXIoImhpZGRlbmxhYmVscyIpLHIoImZ1bm5lbGFyZWFjb2xvcndheSIsZS5jb2xvcndheSkscigiZXh0ZW5kZnVubmVsYXJlYWNvbG9ycyIpfX0seyIuLi8uLi9saWIiOjcxNywiLi9sYXlvdXRfYXR0cmlidXRlcyI6OTk2fV0sOTk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIikscz10KCIuLi9iYXIvcGxvdCIpLnRvTW92ZUluc2lkZUJhcixsPXQoIi4uL2Jhci91bmlmb3JtX3RleHQiKSxjPWwucmVjb3JkTWluVGV4dFNpemUsdT1sLmNsZWFyTWluVGV4dFNpemUsaD10KCIuLi9waWUvaGVscGVycyIpLGY9dCgiLi4vcGllL3Bsb3QiKSxwPWYuYXR0YWNoRnhIYW5kbGVycyxkPWYuZGV0ZXJtaW5lSW5zaWRlVGV4dEZvbnQsZz1mLmxheW91dEFyZWFzLHY9Zi5wcmVyZW5kZXJUaXRsZXMsbT1mLnBvc2l0aW9uVGl0bGVPdXRzaWRlLHk9Zi5mb3JtYXRTbGljZUxhYmVsO2Z1bmN0aW9uIHgodCxlKXtyZXR1cm4ibCIrKGVbMF0tdFswXSkrIiwiKyhlWzFdLXRbMV0pfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuX2Z1bGxMYXlvdXQ7dSgiZnVubmVsYXJlYSIsciksdihlLHQpLGcoZSxyLl9zaXplKSxpLm1ha2VUcmFjZUdyb3VwcyhyLl9mdW5uZWxhcmVhbGF5ZXIsZSwidHJhY2UiKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBsPW4uc2VsZWN0KHRoaXMpLHU9ZVswXSxmPXUudHJhY2U7IWZ1bmN0aW9uKHQpe2lmKCF0Lmxlbmd0aClyZXR1cm47dmFyIGU9dFswXSxyPWUudHJhY2Usbj1yLmFzcGVjdHJhdGlvLGE9ci5iYXNlcmF0aW87YT4uOTk5JiYoYT0uOTk5KTt2YXIgaSxvPU1hdGgucG93KGEsMikscz1lLnZUb3RhbCxsPXMsYz1zKm8vKDEtbykvcztmdW5jdGlvbiB1KCl7dmFyIHQsZT17eDp0PU1hdGguc3FydChjKSx5Oi10fTtyZXR1cm5bZS54LGUueV19dmFyIGgsZixwPVtdO2ZvcihwLnB1c2godSgpKSxoPXQubGVuZ3RoLTE7aD4tMTtoLS0paWYoIShmPXRbaF0pLmhpZGRlbil7dmFyIGQ9Zi52L2w7Yys9ZCxwLnB1c2godSgpKX12YXIgZz0xLzAsdj0tMS8wO2ZvcihoPTA7aDxwLmxlbmd0aDtoKyspaT1wW2hdLGc9TWF0aC5taW4oZyxpWzFdKSx2PU1hdGgubWF4KHYsaVsxXSk7Zm9yKGg9MDtoPHAubGVuZ3RoO2grKylwW2hdWzFdLT0oditnKS8yO3ZhciBtPXBbcC5sZW5ndGgtMV1bMF0seT1lLnIseD0odi1nKS8yLGI9eS9tLF89eS94Km47Zm9yKGUucj1fKngsaD0wO2g8cC5sZW5ndGg7aCsrKXBbaF1bMF0qPWIscFtoXVsxXSo9Xzt2YXIgdz1bLShpPXBbMF0pWzBdLGlbMV1dLGs9W2lbMF0saVsxXV0sVD0wO2ZvcihoPXQubGVuZ3RoLTE7aD4tMTtoLS0paWYoIShmPXRbaF0pLmhpZGRlbil7dmFyIE09cFtUKz0xXVswXSxBPXBbVF1bMV07Zi5UTD1bLU0sQV0sZi5UUj1bTSxBXSxmLkJMPXcsZi5CUj1rLGYucHhtaWQ9KFM9Zi5UUixFPWYuQlIsWy41KihTWzBdK0VbMF0pLC41KihTWzFdK0VbMV0pXSksdz1mLlRMLGs9Zi5UUn12YXIgUyxFfShlKSxsLmVhY2goZnVuY3Rpb24oKXt2YXIgbD1uLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoImcuc2xpY2UiKS5kYXRhKGUpO2wuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJzbGljZSIsITApLGwuZXhpdCgpLnJlbW92ZSgpLGwuZWFjaChmdW5jdGlvbihsLGcpe2lmKGwuaGlkZGVuKW4uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgicGF0aCxnIikucmVtb3ZlKCk7ZWxzZXtsLnBvaW50TnVtYmVyPWwuaSxsLmN1cnZlTnVtYmVyPWYuaW5kZXg7dmFyIHY9dS5jeCxtPXUuY3ksYj1uLnNlbGVjdCh0aGlzKSxfPWIuc2VsZWN0QWxsKCJwYXRoLnN1cmZhY2UiKS5kYXRhKFtsXSk7Xy5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmNsYXNzZWQoInN1cmZhY2UiLCEwKS5zdHlsZSh7InBvaW50ZXItZXZlbnRzIjoiYWxsIn0pLGIuY2FsbChwLHQsZSk7dmFyIHc9Ik0iKyh2K2wuVFJbMF0pKyIsIisobStsLlRSWzFdKSt4KGwuVFIsbC5CUikreChsLkJSLGwuQkwpK3gobC5CTCxsLlRMKSsiWiI7Xy5hdHRyKCJkIix3KSx5KHQsbCx1KTt2YXIgaz1oLmNhc3RPcHRpb24oZi50ZXh0cG9zaXRpb24sbC5wdHMpLFQ9Yi5zZWxlY3RBbGwoImcuc2xpY2V0ZXh0IikuZGF0YShsLnRleHQmJiJub25lIiE9PWs/WzBdOltdKTtULmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic2xpY2V0ZXh0IiwhMCksVC5leGl0KCkucmVtb3ZlKCksVC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHU9aS5lbnN1cmVTaW5nbGUobi5zZWxlY3QodGhpcyksInRleHQiLCIiLGZ1bmN0aW9uKHQpe3QuYXR0cigiZGF0YS1ub3RleCIsMSl9KSxoPWkuZW5zdXJlVW5pZm9ybUZvbnRTaXplKHQsZChmLGwsci5mb250KSk7dS50ZXh0KGwudGV4dCkuYXR0cih7Y2xhc3M6InNsaWNldGV4dCIsdHJhbnNmb3JtOiIiLCJ0ZXh0LWFuY2hvciI6Im1pZGRsZSJ9KS5jYWxsKGEuZm9udCxoKS5jYWxsKG8uY29udmVydFRvVHNwYW5zLHQpO3ZhciBwLHkseCxiPWEuYkJveCh1Lm5vZGUoKSksXz1NYXRoLm1pbihsLkJMWzFdLGwuQlJbMV0pK20sdz1NYXRoLm1heChsLlRMWzFdLGwuVFJbMV0pK207eT1NYXRoLm1heChsLlRMWzBdLGwuQkxbMF0pK3YseD1NYXRoLm1pbihsLlRSWzBdLGwuQlJbMF0pK3YsKHA9cyh5LHgsXyx3LGIse2lzSG9yaXpvbnRhbDohMCxjb25zdHJhaW5lZDohMCxhbmdsZTowLGFuY2hvcjoibWlkZGxlIn0pKS5mb250U2l6ZT1oLnNpemUsYyhmLnR5cGUscCxyKSxlW2ddLnRyYW5zZm9ybT1wLHUuYXR0cigidHJhbnNmb3JtIixpLmdldFRleHRUcmFuc2Zvcm0ocCkpfSl9fSk7dmFyIGc9bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJnLnRpdGxldGV4dCIpLmRhdGEoZi50aXRsZS50ZXh0P1swXTpbXSk7Zy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInRpdGxldGV4dCIsITApLGcuZXhpdCgpLnJlbW92ZSgpLGcuZWFjaChmdW5jdGlvbigpe3ZhciBlPWkuZW5zdXJlU2luZ2xlKG4uc2VsZWN0KHRoaXMpLCJ0ZXh0IiwiIixmdW5jdGlvbih0KXt0LmF0dHIoImRhdGEtbm90ZXgiLDEpfSkscz1mLnRpdGxlLnRleHQ7Zi5fbWV0YSYmKHM9aS50ZW1wbGF0ZVN0cmluZyhzLGYuX21ldGEpKSxlLnRleHQocykuYXR0cih7Y2xhc3M6InRpdGxldGV4dCIsdHJhbnNmb3JtOiIiLCJ0ZXh0LWFuY2hvciI6Im1pZGRsZSJ9KS5jYWxsKGEuZm9udCxmLnRpdGxlLmZvbnQpLmNhbGwoby5jb252ZXJ0VG9Uc3BhbnMsdCk7dmFyIGw9bSh1LHIuX3NpemUpO2UuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbC54KyIsIitsLnkrIikiKyhsLnNjYWxlPDE/InNjYWxlKCIrbC5zY2FsZSsiKSI6IiIpKyJ0cmFuc2xhdGUoIitsLnR4KyIsIitsLnR5KyIpIil9KX0pfSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uL2Jhci9wbG90Ijo4NjcsIi4uL2Jhci91bmlmb3JtX3RleHQiOjg3MiwiLi4vcGllL2hlbHBlcnMiOjEwOTksIi4uL3BpZS9wbG90IjoxMTAzLGQzOjE2NX1dLDk5OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vcGllL3N0eWxlX29uZSIpLGk9dCgiLi4vYmFyL3VuaWZvcm1fdGV4dCIpLnJlc2l6ZVRleHQ7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQuX2Z1bm5lbGFyZWFsYXllci5zZWxlY3RBbGwoIi50cmFjZSIpO2kodCxlLCJmdW5uZWxhcmVhIiksZS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0udHJhY2Uscj1uLnNlbGVjdCh0aGlzKTtyLnN0eWxlKHtvcGFjaXR5OmUub3BhY2l0eX0pLHIuc2VsZWN0QWxsKCJwYXRoLnN1cmZhY2UiKS5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLmNhbGwoYSx0LGUpfSl9KX19LHsiLi4vYmFyL3VuaWZvcm1fdGV4dCI6ODcyLCIuLi9waWUvc3R5bGVfb25lIjoxMTA1LGQzOjE2NX1dLDEwMDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxzPSh0KCIuLi8uLi9jb25zdGFudHMvZG9jcyIpLkZPUk1BVF9MSU5LLHQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0KTtlLmV4cG9ydHM9cyh7ejp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx4OnMoe30sbi54LHtpbXBsaWVkRWRpdHM6e3h0eXBlOiJhcnJheSJ9fSkseDA6cyh7fSxuLngwLHtpbXBsaWVkRWRpdHM6e3h0eXBlOiJzY2FsZWQifX0pLGR4OnMoe30sbi5keCx7aW1wbGllZEVkaXRzOnt4dHlwZToic2NhbGVkIn19KSx5OnMoe30sbi55LHtpbXBsaWVkRWRpdHM6e3l0eXBlOiJhcnJheSJ9fSkseTA6cyh7fSxuLnkwLHtpbXBsaWVkRWRpdHM6e3l0eXBlOiJzY2FsZWQifX0pLGR5OnMoe30sbi5keSx7aW1wbGllZEVkaXRzOnt5dHlwZToic2NhbGVkIn19KSx0ZXh0Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LGhvdmVydGV4dDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx0cmFuc3Bvc2U6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSx4dHlwZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYXJyYXkiLCJzY2FsZWQiXSxlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHl0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJhcnJheSIsInNjYWxlZCJdLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0senNtb290aDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZmFzdCIsImJlc3QiLCExXSxkZmx0OiExLGVkaXRUeXBlOiJjYWxjIn0saG92ZXJvbmdhcHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6Im5vbmUifSxjb25uZWN0Z2Fwczp7dmFsVHlwZToiYm9vbGVhbiIsZWRpdFR5cGU6ImNhbGMifSx4Z2FwOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MCxtaW46MCxlZGl0VHlwZToicGxvdCJ9LHlnYXA6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowLG1pbjowLGVkaXRUeXBlOiJwbG90In0semhvdmVyZm9ybWF0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6Im5vbmUifSxob3ZlcnRlbXBsYXRlOmkoKSxzaG93bGVnZW5kOnMoe30sYS5zaG93bGVnZW5kLHtkZmx0OiExfSl9LHt0cmFuc2Zvcm1zOnZvaWQgMH0sbygiIix7Y0xldHRlcjoieiIsYXV0b0NvbG9yRGZsdDohMX0pKX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9jb25zdGFudHMvZG9jcyI6Njg4LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjB9XSwxMDAxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksbz10KCIuLi9oaXN0b2dyYW0yZC9jYWxjIikscz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyIpLGw9dCgiLi9jb252ZXJ0X2NvbHVtbl94eXoiKSxjPXQoIi4vY2xlYW5fMmRfYXJyYXkiKSx1PXQoIi4vaW50ZXJwMmQiKSxoPXQoIi4vZmluZF9lbXB0aWVzIiksZj10KCIuL21ha2VfYm91bmRfYXJyYXkiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixwLGQsZyx2LG0seSx4LGIsXz1pLmdldEZyb21JZCh0LGUueGF4aXN8fCJ4Iiksdz1pLmdldEZyb21JZCh0LGUueWF4aXN8fCJ5Iiksaz1uLnRyYWNlSXMoZSwiY29udG91ciIpLFQ9bi50cmFjZUlzKGUsImhpc3RvZ3JhbSIpLE09bi50cmFjZUlzKGUsImdsMmQiKSxBPWs/ImJlc3QiOmUuenNtb290aDtpZihfLl9taW5EdGljaz0wLHcuX21pbkR0aWNrPTAsVClyPShiPW8odCxlKSkueCxwPWIueDAsZD1iLmR4LGc9Yi55LHY9Yi55MCxtPWIuZHkseT1iLno7ZWxzZXt2YXIgUz1lLno7YS5pc0FycmF5MUQoUyk/KGwoZSxfLHcsIngiLCJ5IixbInoiXSkscj1lLl94LGc9ZS5feSxTPWUuX3opOihyPWUuX3g9ZS54P18ubWFrZUNhbGNkYXRhKGUsIngiKTpbXSxnPWUuX3k9ZS55P3cubWFrZUNhbGNkYXRhKGUsInkiKTpbXSkscD1lLngwLGQ9ZS5keCx2PWUueTAsbT1lLmR5LHk9YyhTLGUsXyx3KSwoa3x8ZS5jb25uZWN0Z2FwcykmJihlLl9lbXB0eXBvaW50cz1oKHkpLHUoeSxlLl9lbXB0eXBvaW50cykpfWZ1bmN0aW9uIEUodCl7QT1lLl9pbnB1dC56c21vb3RoPWUuenNtb290aD0hMSxhLndhcm4oJ2Nhbm5vdCB1c2UgenNtb290aDogImZhc3QiOiAnK3QpfWlmKCJmYXN0Ij09PUEpaWYoImxvZyI9PT1fLnR5cGV8fCJsb2ciPT09dy50eXBlKUUoImxvZyBheGlzIGZvdW5kIik7ZWxzZSBpZighVCl7aWYoci5sZW5ndGgpe3ZhciBMPShyW3IubGVuZ3RoLTFdLXJbMF0pLyhyLmxlbmd0aC0xKSxDPU1hdGguYWJzKEwvMTAwKTtmb3IoeD0wO3g8ci5sZW5ndGgtMTt4KyspaWYoTWF0aC5hYnMoclt4KzFdLXJbeF0tTCk+Qyl7RSgieCBzY2FsZSBpcyBub3QgbGluZWFyIik7YnJlYWt9fWlmKGcubGVuZ3RoJiYiZmFzdCI9PT1BKXt2YXIgUD0oZ1tnLmxlbmd0aC0xXS1nWzBdKS8oZy5sZW5ndGgtMSksTz1NYXRoLmFicyhQLzEwMCk7Zm9yKHg9MDt4PGcubGVuZ3RoLTE7eCsrKWlmKE1hdGguYWJzKGdbeCsxXS1nW3hdLVApPk8pe0UoInkgc2NhbGUgaXMgbm90IGxpbmVhciIpO2JyZWFrfX19dmFyIHo9YS5tYXhSb3dMZW5ndGgoeSksST0ic2NhbGVkIj09PWUueHR5cGU/IiI6cixEPWYoZSxJLHAsZCx6LF8pLFI9InNjYWxlZCI9PT1lLnl0eXBlPyIiOmcsRj1mKGUsUix2LG0seS5sZW5ndGgsdyk7TXx8KGUuX2V4dHJlbWVzW18uX2lkXT1pLmZpbmRFeHRyZW1lcyhfLEQpLGUuX2V4dHJlbWVzW3cuX2lkXT1pLmZpbmRFeHRyZW1lcyh3LEYpKTt2YXIgQj17eDpELHk6Rix6OnksdGV4dDplLl90ZXh0fHxlLnRleHQsaG92ZXJ0ZXh0OmUuX2hvdmVydGV4dHx8ZS5ob3ZlcnRleHR9O2lmKEkmJkkubGVuZ3RoPT09RC5sZW5ndGgtMSYmKEIueENlbnRlcj1JKSxSJiZSLmxlbmd0aD09PUYubGVuZ3RoLTEmJihCLnlDZW50ZXI9UiksVCYmKEIueFJhbmdlcz1iLnhSYW5nZXMsQi55UmFuZ2VzPWIueVJhbmdlcyxCLnB0cz1iLnB0cyksa3x8cyh0LGUse3ZhbHM6eSxjTGV0dGVyOiJ6In0pLGsmJmUuY29udG91cnMmJiJoZWF0bWFwIj09PWUuY29udG91cnMuY29sb3Jpbmcpe3ZhciBOPXt0eXBlOiJjb250b3VyIj09PWUudHlwZT8iaGVhdG1hcCI6Imhpc3RvZ3JhbTJkIix4Y2FsZW5kYXI6ZS54Y2FsZW5kYXIseWNhbGVuZGFyOmUueWNhbGVuZGFyfTtCLnhmaWxsPWYoTixJLHAsZCx6LF8pLEIueWZpbGw9ZihOLFIsdixtLHkubGVuZ3RoLHcpfXJldHVybltCXX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiOjYwMCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL2hpc3RvZ3JhbTJkL2NhbGMiOjEwMzIsIi4vY2xlYW5fMmRfYXJyYXkiOjEwMDIsIi4vY29udmVydF9jb2x1bW5feHl6IjoxMDA0LCIuL2ZpbmRfZW1wdGllcyI6MTAwNiwiLi9pbnRlcnAyZCI6MTAwOSwiLi9tYWtlX2JvdW5kX2FycmF5IjoxMDEwfV0sMTAwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXt2YXIgcyxsLGMsdSxoLGY7ZnVuY3Rpb24gcCh0KXtpZihuKHQpKXJldHVybit0fWlmKGUmJmUudHJhbnNwb3NlKXtmb3Iocz0wLGg9MDtoPHQubGVuZ3RoO2grKylzPU1hdGgubWF4KHMsdFtoXS5sZW5ndGgpO2lmKDA9PT1zKXJldHVybiExO2M9ZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RofSx1PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odFtyXXx8W10pW2VdfX1lbHNlIHM9dC5sZW5ndGgsYz1mdW5jdGlvbih0LGUpe3JldHVybiB0W2VdLmxlbmd0aH0sdT1mdW5jdGlvbih0LGUscil7cmV0dXJuKHRbZV18fFtdKVtyXX07dmFyIGQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlPT09aXx8cj09PWk/aTp1KHQsZSxyKX07ZnVuY3Rpb24gZyh0KXtpZihlJiYiY2FycGV0IiE9PWUudHlwZSYmImNvbnRvdXJjYXJwZXQiIT09ZS50eXBlJiZ0JiYiY2F0ZWdvcnkiPT09dC50eXBlJiZlWyJfIit0Ll9pZC5jaGFyQXQoMCldLmxlbmd0aCl7dmFyIHI9dC5faWQuY2hhckF0KDApLG49e30sbz1lWyJfIityKyJDYXRlZ29yeU1hcCJdfHxlW3JdO2ZvcihoPTA7aDxvLmxlbmd0aDtoKyspbltvW2hdXT1oO3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj1uW3QuX2NhdGVnb3JpZXNbZV1dO3JldHVybiByKzE/cjppfX1yZXR1cm4gYS5pZGVudGl0eX12YXIgdj1nKHIpLG09ZyhvKTtvJiYiY2F0ZWdvcnkiPT09by50eXBlJiYocz1vLl9jYXRlZ29yaWVzLmxlbmd0aCk7dmFyIHk9bmV3IEFycmF5KHMpO2ZvcihoPTA7aDxzO2grKylmb3IobD1yJiYiY2F0ZWdvcnkiPT09ci50eXBlP3IuX2NhdGVnb3JpZXMubGVuZ3RoOmModCxoKSx5W2hdPW5ldyBBcnJheShsKSxmPTA7ZjxsO2YrKyl5W2hdW2ZdPXAoZCh0LG0oaCksdihmKSkpO3JldHVybiB5fX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sMTAwMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21pbjoiem1pbiIsbWF4OiJ6bWF4In19LHt9XSwxMDA0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxvLHMpe3ZhciBsLGMsdSxoLGY9dC5fbGVuZ3RoLHA9ZS5tYWtlQ2FsY2RhdGEodCxpKSxkPXIubWFrZUNhbGNkYXRhKHQsbyksZz10LnRleHQsdj12b2lkIDAhPT1nJiZuLmlzQXJyYXkxRChnKSxtPXQuaG92ZXJ0ZXh0LHk9dm9pZCAwIT09bSYmbi5pc0FycmF5MUQobSkseD1uLmRpc3RpbmN0VmFscyhwKSxiPXgudmFscyxfPW4uZGlzdGluY3RWYWxzKGQpLHc9Xy52YWxzLGs9W107Zm9yKGw9MDtsPHMubGVuZ3RoO2wrKylrW2xdPW4uaW5pdDJkQXJyYXkody5sZW5ndGgsYi5sZW5ndGgpO3YmJih1PW4uaW5pdDJkQXJyYXkody5sZW5ndGgsYi5sZW5ndGgpKSx5JiYoaD1uLmluaXQyZEFycmF5KHcubGVuZ3RoLGIubGVuZ3RoKSk7dmFyIFQ9bi5pbml0MmRBcnJheSh3Lmxlbmd0aCxiLmxlbmd0aCk7Zm9yKGw9MDtsPGY7bCsrKWlmKHBbbF0hPT1hJiZkW2xdIT09YSl7dmFyIE09bi5maW5kQmluKHBbbF0reC5taW5EaWZmLzIsYiksQT1uLmZpbmRCaW4oZFtsXStfLm1pbkRpZmYvMix3KTtmb3IoYz0wO2M8cy5sZW5ndGg7YysrKXt2YXIgUz10W3NbY11dO2tbY11bQV1bTV09U1tsXSxUW0FdW01dPWx9diYmKHVbQV1bTV09Z1tsXSkseSYmKGhbQV1bTV09bVtsXSl9Zm9yKHRbIl8iK2ldPWIsdFsiXyIrb109dyxjPTA7YzxzLmxlbmd0aDtjKyspdFsiXyIrc1tjXV09a1tjXTt2JiYodC5fdGV4dD11KSx5JiYodC5faG92ZXJ0ZXh0PWgpLGUmJiJjYXRlZ29yeSI9PT1lLnR5cGUmJih0WyJfIitpKyJDYXRlZ29yeU1hcCJdPWIubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9jYXRlZ29yaWVzW3RdfSkpLHImJiJjYXRlZ29yeSI9PT1yLnR5cGUmJih0WyJfIitvKyJDYXRlZ29yeU1hcCJdPXcubWFwKGZ1bmN0aW9uKHQpe3JldHVybiByLl9jYXRlZ29yaWVzW3RdfSkpLHQuX2FmdGVyMmJlZm9yZT1UfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3fV0sMTAwNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4veHl6X2RlZmF1bHRzIiksaT10KCIuL3N0eWxlX2RlZmF1bHRzIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiKSxzPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsKXtmdW5jdGlvbiBjKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxzLHIsYSl9YSh0LGUsYyxsKT8oYygidGV4dCIpLGMoImhvdmVydGV4dCIpLGMoImhvdmVydGVtcGxhdGUiKSxpKHQsZSxjLGwpLGMoImhvdmVyb25nYXBzIiksYygiY29ubmVjdGdhcHMiLG4uaXNBcnJheTFEKGUueikmJiExIT09ZS56c21vb3RoKSxvKHQsZSxsLGMse3ByZWZpeDoiIixjTGV0dGVyOiJ6In0pKTplLnZpc2libGU9ITF9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyI6NjAyLCIuLi8uLi9saWIiOjcxNywiLi9hdHRyaWJ1dGVzIjoxZTMsIi4vc3R5bGVfZGVmYXVsdHMiOjEwMTMsIi4veHl6X2RlZmF1bHRzIjoxMDE0fV0sMTAwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKS5tYXhSb3dMZW5ndGg7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHIsYSxpLG8scyxsLGMsdT1bXSxoPXt9LGY9W10scD10WzBdLGQ9W10sZz1bMCwwLDBdLHY9bih0KTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKWZvcihlPWQsZD1wLHA9dFtyKzFdfHxbXSxhPTA7YTx2O2ErKyl2b2lkIDA9PT1kW2FdJiYoKHM9KHZvaWQgMCE9PWRbYS0xXT8xOjApKyh2b2lkIDAhPT1kW2ErMV0/MTowKSsodm9pZCAwIT09ZVthXT8xOjApKyh2b2lkIDAhPT1wW2FdPzE6MCkpPygwPT09ciYmcysrLDA9PT1hJiZzKysscj09PXQubGVuZ3RoLTEmJnMrKyxhPT09ZC5sZW5ndGgtMSYmcysrLHM8NCYmKGhbW3IsYV1dPVtyLGEsc10pLHUucHVzaChbcixhLHNdKSk6Zi5wdXNoKFtyLGFdKSk7Zm9yKDtmLmxlbmd0aDspe2ZvcihsPXt9LGM9ITEsbz1mLmxlbmd0aC0xO28+PTA7by0tKShzPSgoaFtbKHI9KGk9ZltvXSlbMF0pLTEsYT1pWzFdXV18fGcpWzJdKyhoW1tyKzEsYV1dfHxnKVsyXSsoaFtbcixhLTFdXXx8ZylbMl0rKGhbW3IsYSsxXV18fGcpWzJdKS8yMCkmJihsW2ldPVtyLGEsc10sZi5zcGxpY2UobywxKSxjPSEwKTtpZighYyl0aHJvdyJmaW5kRW1wdGllcyBpdGVyYXRlZCB3aXRoIG5vIG5ldyBuZWlnaGJvcnMiO2ZvcihpIGluIGwpaFtpXT1sW2ldLHUucHVzaChsW2ldKX1yZXR1cm4gdS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMl0tdFsyXX0pfX0seyIuLi8uLi9saWIiOjcxN31dLDEwMDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIikuZXh0cmFjdE9wdHM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMsbCxjKXt2YXIgdSxoLGYscCxkPXQuY2RbMF0sZz1kLnRyYWNlLHY9dC54YSxtPXQueWEseT1kLngseD1kLnksYj1kLnosXz1kLnhDZW50ZXIsdz1kLnlDZW50ZXIsaz1kLnptYXNrLFQ9Zy56aG92ZXJmb3JtYXQsTT15LEE9eDtpZighMSE9PXQuaW5kZXgpe3RyeXtmPU1hdGgucm91bmQodC5pbmRleFsxXSkscD1NYXRoLnJvdW5kKHQuaW5kZXhbMF0pfWNhdGNoKGUpe3JldHVybiB2b2lkIGEuZXJyb3IoIkVycm9yIGhvdmVyaW5nIG9uIGhlYXRtYXAsIHBvaW50TnVtYmVyIG11c3QgYmUgW3Jvdyxjb2xdLCBmb3VuZDoiLHQuaW5kZXgpfWlmKGY8MHx8Zj49YlswXS5sZW5ndGh8fHA8MHx8cD5iLmxlbmd0aClyZXR1cm59ZWxzZXtpZihuLmluYm94KGUteVswXSxlLXlbeS5sZW5ndGgtMV0sMCk+MHx8bi5pbmJveChyLXhbMF0sci14W3gubGVuZ3RoLTFdLDApPjApcmV0dXJuO2lmKGMpe3ZhciBTO2ZvcihNPVsyKnlbMF0teVsxXV0sUz0xO1M8eS5sZW5ndGg7UysrKU0ucHVzaCgoeVtTXSt5W1MtMV0pLzIpO2ZvcihNLnB1c2goWzIqeVt5Lmxlbmd0aC0xXS15W3kubGVuZ3RoLTJdXSksQT1bMip4WzBdLXhbMV1dLFM9MTtTPHgubGVuZ3RoO1MrKylBLnB1c2goKHhbU10reFtTLTFdKS8yKTtBLnB1c2goWzIqeFt4Lmxlbmd0aC0xXS14W3gubGVuZ3RoLTJdXSl9Zj1NYXRoLm1heCgwLE1hdGgubWluKE0ubGVuZ3RoLTIsYS5maW5kQmluKGUsTSkpKSxwPU1hdGgubWF4KDAsTWF0aC5taW4oQS5sZW5ndGgtMixhLmZpbmRCaW4ocixBKSkpfXZhciBFPXYuYzJwKHlbZl0pLEw9di5jMnAoeVtmKzFdKSxDPW0uYzJwKHhbcF0pLFA9bS5jMnAoeFtwKzFdKTtjPyhMPUUsdT15W2ZdLFA9QyxoPXhbcF0pOih1PV8/X1tmXTooeVtmXSt5W2YrMV0pLzIsaD13P3dbcF06KHhbcF0reFtwKzFdKS8yLHYmJiJjYXRlZ29yeSI9PT12LnR5cGUmJih1PXlbZl0pLG0mJiJjYXRlZ29yeSI9PT1tLnR5cGUmJihoPXhbcF0pLGcuenNtb290aCYmKEU9TD12LmMycCh1KSxDPVA9bS5jMnAoaCkpKTt2YXIgTz1iW3BdW2ZdO2lmKGsmJiFrW3BdW2ZdJiYoTz12b2lkIDApLHZvaWQgMCE9PU98fGcuaG92ZXJvbmdhcHMpe3ZhciB6O0FycmF5LmlzQXJyYXkoZC5ob3ZlcnRleHQpJiZBcnJheS5pc0FycmF5KGQuaG92ZXJ0ZXh0W3BdKT96PWQuaG92ZXJ0ZXh0W3BdW2ZdOkFycmF5LmlzQXJyYXkoZC50ZXh0KSYmQXJyYXkuaXNBcnJheShkLnRleHRbcF0pJiYoej1kLnRleHRbcF1bZl0pO3ZhciBJPW8oZyksRD17dHlwZToibGluZWFyIixyYW5nZTpbSS5taW4sSS5tYXhdLGhvdmVyZm9ybWF0OlQsX3NlcGFyYXRvcnM6di5fc2VwYXJhdG9ycyxfbnVtRm9ybWF0OnYuX251bUZvcm1hdH0sUj1pLnRpY2tUZXh0KEQsTywiaG92ZXIiKS50ZXh0O3JldHVyblthLmV4dGVuZEZsYXQodCx7aW5kZXg6Zy5fYWZ0ZXIyYmVmb3JlP2cuX2FmdGVyMmJlZm9yZVtwXVtmXTpbcCxmXSxkaXN0YW5jZTp0Lm1heEhvdmVyRGlzdGFuY2Usc3Bpa2VEaXN0YW5jZTp0Lm1heFNwaWtlRGlzdGFuY2UseDA6RSx4MTpMLHkwOkMseTE6UCx4TGFiZWxWYWw6dSx5TGFiZWxWYWw6aCx6TGFiZWxWYWw6Tyx6TGFiZWw6Uix0ZXh0Onp9KV19fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDEwMDg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90IiksY29sb3JiYXI6dCgiLi9jb2xvcmJhciIpLHN0eWxlOnQoIi4vc3R5bGUiKSxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImhlYXRtYXAiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGNhdGVnb3JpZXM6WyJjYXJ0ZXNpYW4iLCJzdmciLCIyZE1hcCIsInNob3dMZWdlbmQiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi9hdHRyaWJ1dGVzIjoxZTMsIi4vY2FsYyI6MTAwMSwiLi9jb2xvcmJhciI6MTAwMywiLi9kZWZhdWx0cyI6MTAwNSwiLi9ob3ZlciI6MTAwNywiLi9wbG90IjoxMDExLCIuL3N0eWxlIjoxMDEyfV0sMTAwOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPVtbLTEsMF0sWzEsMF0sWzAsLTFdLFswLDFdXTtmdW5jdGlvbiBpKHQpe3JldHVybi41LS4yNSpNYXRoLm1pbigxLC41KnQpfWZ1bmN0aW9uIG8odCxlLHIpe3ZhciBuLGksbyxzLGwsYyx1LGgsZixwLGQsZyx2LG09MDtmb3Iocz0wO3M8ZS5sZW5ndGg7cysrKXtmb3IoaT0obj1lW3NdKVswXSxvPW5bMV0sZD10W2ldW29dLHA9MCxmPTAsbD0wO2w8NDtsKyspKHU9dFtpKyhjPWFbbF0pWzBdXSkmJnZvaWQgMCE9PShoPXVbbytjWzFdXSkmJigwPT09cD9nPXY9aDooZz1NYXRoLm1pbihnLGgpLHY9TWF0aC5tYXgodixoKSksZisrLHArPWgpO2lmKDA9PT1mKXRocm93Iml0ZXJhdGVJbnRlcnAyZCBvcmRlciBpcyB3cm9uZzogbm8gZGVmaW5lZCBuZWlnaGJvcnMiO3RbaV1bb109cC9mLHZvaWQgMD09PWQ/Zjw0JiYobT0xKToodFtpXVtvXT0oMStyKSp0W2ldW29dLXIqZCx2PmcmJihtPU1hdGgubWF4KG0sTWF0aC5hYnModFtpXVtvXS1kKS8odi1nKSkpKX1yZXR1cm4gbX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixhPTE7Zm9yKG8odCxlKSxyPTA7cjxlLmxlbmd0aCYmIShlW3JdWzJdPDQpO3IrKyk7Zm9yKGU9ZS5zbGljZShyKSxyPTA7cjwxMDAmJmE+LjAxO3IrKylhPW8odCxlLGkoYSkpO3JldHVybiBhPi4wMSYmbi5sb2coImludGVycDJkIGRpZG4ndCBjb252ZXJnZSBxdWlja2x5IixhKSx0fX0seyIuLi8uLi9saWIiOjcxN31dLDEwMTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXlPclR5cGVkQXJyYXk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGksbyxzKXt2YXIgbCxjLHUsaD1bXSxmPW4udHJhY2VJcyh0LCJjb250b3VyIikscD1uLnRyYWNlSXModCwiaGlzdG9ncmFtIiksZD1uLnRyYWNlSXModCwiZ2wyZCIpO2lmKGEoZSkmJmUubGVuZ3RoPjEmJiFwJiYiY2F0ZWdvcnkiIT09cy50eXBlKXt2YXIgZz1lLmxlbmd0aDtpZighKGc8PW8pKXJldHVybiBmP2Uuc2xpY2UoMCxvKTplLnNsaWNlKDAsbysxKTtpZihmfHxkKWg9ZS5zbGljZSgwLG8pO2Vsc2UgaWYoMT09PW8paD1bZVswXS0uNSxlWzBdKy41XTtlbHNle2ZvcihoPVsxLjUqZVswXS0uNSplWzFdXSx1PTE7dTxnO3UrKyloLnB1c2goLjUqKGVbdS0xXStlW3VdKSk7aC5wdXNoKDEuNSplW2ctMV0tLjUqZVtnLTJdKX1pZihnPG8pe3ZhciB2PWhbaC5sZW5ndGgtMV0sbT12LWhbaC5sZW5ndGgtMl07Zm9yKHU9Zzt1PG87dSsrKXYrPW0saC5wdXNoKHYpfX1lbHNle3ZhciB5PXRbcy5faWQuY2hhckF0KDApKyJjYWxlbmRhciJdO2lmKHApbD1zLnIyYyhyLDAseSk7ZWxzZSBpZihhKGUpJiYxPT09ZS5sZW5ndGgpbD1lWzBdO2Vsc2UgaWYodm9pZCAwPT09cilsPTA7ZWxzZXtsPSgibG9nIj09PXMudHlwZT9zLmQyYzpzLnIyYykociwwLHkpfWZvcihjPWl8fDEsdT1mfHxkPzA6LS41O3U8bzt1KyspaC5wdXNoKGwrYyp1KX1yZXR1cm4gaH19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDZ9XSwxMDExOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCJ0aW55Y29sb3IyIiksaT10KCIuLi8uLi9yZWdpc3RyeSIpLG89dCgiLi4vLi4vbGliIikscz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKS5tYWtlQ29sb3JTY2FsZUZ1bmNGcm9tVHJhY2UsbD10KCIuLi8uLi9jb25zdGFudHMveG1sbnNfbmFtZXNwYWNlcyIpO2Z1bmN0aW9uIGModCxlKXt2YXIgcj1lLmxlbmd0aC0yLG49by5jb25zdHJhaW4oby5maW5kQmluKHQsZSksMCxyKSxhPWVbbl0saT1lW24rMV0scz1vLmNvbnN0cmFpbihuKyh0LWEpLyhpLWEpLS41LDAsciksbD1NYXRoLnJvdW5kKHMpLGM9TWF0aC5hYnMocy1sKTtyZXR1cm4gcyYmcyE9PXImJmM/e2JpbjA6bCxmcmFjOmMsYmluMTpNYXRoLnJvdW5kKGwrYy8ocy1sKSl9OntiaW4wOmwsYmluMTpsLGZyYWM6MH19ZnVuY3Rpb24gdSh0LGUpe3ZhciByPWUubGVuZ3RoLTEsbj1vLmNvbnN0cmFpbihvLmZpbmRCaW4odCxlKSwwLHIpLGE9ZVtuXSxpPSh0LWEpLyhlW24rMV0tYSl8fDA7cmV0dXJuIGk8PTA/e2JpbjA6bixiaW4xOm4sZnJhYzowfTppPC41P3tiaW4wOm4sYmluMTpuKzEsZnJhYzppfTp7YmluMDpuKzEsYmluMTpuLGZyYWM6MS1pfX1mdW5jdGlvbiBoKHQsZSxyKXt0W2VdPXJbMF0sdFtlKzFdPXJbMV0sdFtlKzJdPXJbMl0sdFtlKzNdPU1hdGgucm91bmQoMjU1KnJbM10pfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixmKXt2YXIgcD1lLnhheGlzLGQ9ZS55YXhpcztvLm1ha2VUcmFjZUdyb3VwcyhmLHIsImhtIikuZWFjaChmdW5jdGlvbihlKXt2YXIgcixmLGcsdixtLHkseD1uLnNlbGVjdCh0aGlzKSxiPWVbMF0sXz1iLnRyYWNlLHc9Yi56LGs9Yi54LFQ9Yi55LE09Yi54Q2VudGVyLEE9Yi55Q2VudGVyLFM9aS50cmFjZUlzKF8sImNvbnRvdXIiKSxFPVM/ImJlc3QiOl8uenNtb290aCxMPXcubGVuZ3RoLEM9by5tYXhSb3dMZW5ndGgodyksUD0hMSxPPSExO2Zvcih5PTA7dm9pZCAwPT09ciYmeTxrLmxlbmd0aC0xOylyPXAuYzJwKGtbeV0pLHkrKztmb3IoeT1rLmxlbmd0aC0xO3ZvaWQgMD09PWYmJnk+MDspZj1wLmMycChrW3ldKSx5LS07Zm9yKGY8ciYmKGc9ZixmPXIscj1nLFA9ITApLHk9MDt2b2lkIDA9PT12JiZ5PFQubGVuZ3RoLTE7KXY9ZC5jMnAoVFt5XSkseSsrO2Zvcih5PVQubGVuZ3RoLTE7dm9pZCAwPT09bSYmeT4wOyltPWQuYzJwKFRbeV0pLHktLTtpZihtPHYmJihnPXYsdj1tLG09ZyxPPSEwKSxTJiYoTT1rLEE9VCxrPWIueGZpbGwsVD1iLnlmaWxsKSwiZmFzdCIhPT1FKXt2YXIgej0iYmVzdCI9PT1FPzA6LjU7cj1NYXRoLm1heCgteipwLl9sZW5ndGgsciksZj1NYXRoLm1pbigoMSt6KSpwLl9sZW5ndGgsZiksdj1NYXRoLm1heCgteipkLl9sZW5ndGgsdiksbT1NYXRoLm1pbigoMSt6KSpkLl9sZW5ndGgsbSl9dmFyIEk9TWF0aC5yb3VuZChmLXIpLEQ9TWF0aC5yb3VuZChtLXYpO2lmKEk8PTB8fEQ8PTApe3guc2VsZWN0QWxsKCJpbWFnZSIpLmRhdGEoW10pLmV4aXQoKS5yZW1vdmUoKX1lbHNle3ZhciBSLEY7ImZhc3QiPT09RT8oUj1DLEY9TCk6KFI9SSxGPUQpO3ZhciBCPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO0Iud2lkdGg9UixCLmhlaWdodD1GO3ZhciBOLGosVj1CLmdldENvbnRleHQoIjJkIiksVT1zKF8se25vTnVtZXJpY0NoZWNrOiEwLHJldHVybkFycmF5OiEwfSk7ImZhc3QiPT09RT8oTj1QP2Z1bmN0aW9uKHQpe3JldHVybiBDLTEtdH06by5pZGVudGl0eSxqPU8/ZnVuY3Rpb24odCl7cmV0dXJuIEwtMS10fTpvLmlkZW50aXR5KTooTj1mdW5jdGlvbih0KXtyZXR1cm4gby5jb25zdHJhaW4oTWF0aC5yb3VuZChwLmMycChrW3RdKS1yKSwwLEkpfSxqPWZ1bmN0aW9uKHQpe3JldHVybiBvLmNvbnN0cmFpbihNYXRoLnJvdW5kKGQuYzJwKFRbdF0pLXYpLDAsRCl9KTt2YXIgcSxILEcsWSxXLFg9aigwKSxaPVtYLFhdLEo9UD8wOjEsSz1PPzA6MSxRPTAsJD0wLHR0PTAsZXQ9MDtpZihFKXt2YXIgcnQsbnQ9MDt0cnl7cnQ9bmV3IFVpbnQ4QXJyYXkoSSpEKjQpfWNhdGNoKHQpe3J0PW5ldyBBcnJheShJKkQqNCl9aWYoImJlc3QiPT09RSl7dmFyIGF0LGl0LG90LHN0PU18fGssbHQ9QXx8VCxjdD1uZXcgQXJyYXkoc3QubGVuZ3RoKSx1dD1uZXcgQXJyYXkobHQubGVuZ3RoKSxodD1uZXcgQXJyYXkoSSksZnQ9TT91OmMscHQ9QT91OmM7Zm9yKHk9MDt5PHN0Lmxlbmd0aDt5KyspY3RbeV09TWF0aC5yb3VuZChwLmMycChzdFt5XSktcik7Zm9yKHk9MDt5PGx0Lmxlbmd0aDt5KyspdXRbeV09TWF0aC5yb3VuZChkLmMycChsdFt5XSktdik7Zm9yKHk9MDt5PEk7eSsrKWh0W3ldPWZ0KHksY3QpO2ZvcihIPTA7SDxEO0grKylmb3IoaXQ9d1soYXQ9cHQoSCx1dCkpLmJpbjBdLG90PXdbYXQuYmluMV0seT0wO3k8STt5KyssbnQrPTQpaChydCxudCxXPVR0KGl0LG90LGh0W3ldLGF0KSl9ZWxzZSBmb3IoSD0wO0g8TDtIKyspZm9yKFk9d1tIXSxaPWooSCkseT0wO3k8STt5KyspVz1rdChZW3ldLDEpLGgocnQsbnQ9NCooWipJK04oeSkpLFcpO3ZhciBkdD1WLmNyZWF0ZUltYWdlRGF0YShJLEQpO3RyeXtkdC5kYXRhLnNldChydCl9Y2F0Y2godCl7dmFyIGd0PWR0LmRhdGEsdnQ9Z3QubGVuZ3RoO2ZvcihIPTA7SDx2dDtIKyspZ3RbSF09cnRbSF19Vi5wdXRJbWFnZURhdGEoZHQsMCwwKX1lbHNle3ZhciBtdD1fLnhnYXAseXQ9Xy55Z2FwLHh0PU1hdGguZmxvb3IobXQvMiksYnQ9TWF0aC5mbG9vcih5dC8yKTtmb3IoSD0wO0g8TDtIKyspaWYoWT13W0hdLFoucmV2ZXJzZSgpLFpbS109aihIKzEpLFpbMF0hPT1aWzFdJiZ2b2lkIDAhPT1aWzBdJiZ2b2lkIDAhPT1aWzFdKWZvcihxPVtHPU4oMCksR10seT0wO3k8Qzt5KyspcS5yZXZlcnNlKCkscVtKXT1OKHkrMSkscVswXSE9PXFbMV0mJnZvaWQgMCE9PXFbMF0mJnZvaWQgMCE9PXFbMV0mJihXPWt0KFlbeV0sKHFbMV0tcVswXSkqKFpbMV0tWlswXSkpLFYuZmlsbFN0eWxlPSJyZ2JhKCIrVy5qb2luKCIsIikrIikiLFYuZmlsbFJlY3QocVswXSt4dCxaWzBdK2J0LHFbMV0tcVswXS1tdCxaWzFdLVpbMF0teXQpKX0kPU1hdGgucm91bmQoJC9RKSx0dD1NYXRoLnJvdW5kKHR0L1EpLGV0PU1hdGgucm91bmQoZXQvUSk7dmFyIF90PWEoInJnYigiKyQrIiwiK3R0KyIsIitldCsiKSIpO3QuX2htcGl4Y291bnQ9KHQuX2htcGl4Y291bnR8fDApK1EsdC5faG1sdW1jb3VudD0odC5faG1sdW1jb3VudHx8MCkrUSpfdC5nZXRMdW1pbmFuY2UoKTt2YXIgd3Q9eC5zZWxlY3RBbGwoImltYWdlIikuZGF0YShlKTt3dC5lbnRlcigpLmFwcGVuZCgic3ZnOmltYWdlIikuYXR0cih7eG1sbnM6bC5zdmcscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSJ9KSx3dC5hdHRyKHtoZWlnaHQ6RCx3aWR0aDpJLHg6cix5OnYsInhsaW5rOmhyZWYiOkIudG9EYXRhVVJMKCJpbWFnZS9wbmciKX0pfWZ1bmN0aW9uIGt0KHQsZSl7aWYodm9pZCAwIT09dCl7dmFyIHI9VSh0KTtyZXR1cm4gclswXT1NYXRoLnJvdW5kKHJbMF0pLHJbMV09TWF0aC5yb3VuZChyWzFdKSxyWzJdPU1hdGgucm91bmQoclsyXSksUSs9ZSwkKz1yWzBdKmUsdHQrPXJbMV0qZSxldCs9clsyXSplLHJ9cmV0dXJuWzAsMCwwLDBdfWZ1bmN0aW9uIFR0KHQsZSxyLG4pe3ZhciBhPXRbci5iaW4wXTtpZih2b2lkIDA9PT1hKXJldHVybiBrdCh2b2lkIDAsMSk7dmFyIGksbz10W3IuYmluMV0scz1lW3IuYmluMF0sbD1lW3IuYmluMV0sYz1vLWF8fDAsdT1zLWF8fDA7cmV0dXJuIGk9dm9pZCAwPT09bz92b2lkIDA9PT1sPzA6dm9pZCAwPT09cz8yKihsLWEpOjIqKDIqbC1zLWEpLzM6dm9pZCAwPT09bD92b2lkIDA9PT1zPzA6MiooMiphLW8tcykvMzp2b2lkIDA9PT1zPzIqKDIqbC1vLWEpLzM6bCthLW8tcyxrdChhK3IuZnJhYypjK24uZnJhYyoodStyLmZyYWMqaSkpfX0pfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiOjY5NCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsZDM6MTY1LHRpbnljb2xvcjI6NTM2fV0sMTAxMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtuLnNlbGVjdCh0KS5zZWxlY3RBbGwoIi5obSBpbWFnZSIpLnN0eWxlKCJvcGFjaXR5IixmdW5jdGlvbih0KXtyZXR1cm4gdC50cmFjZS5vcGFjaXR5fSl9fSx7ZDM6MTY1fV0sMTAxMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpeyExPT09cigienNtb290aCIpJiYocigieGdhcCIpLHIoInlnYXAiKSkscigiemhvdmVyZm9ybWF0Iil9fSx7fV0sMTAxNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9yZWdpc3RyeSIpO2Z1bmN0aW9uIG8odCxlKXt2YXIgcj1lKHQpO3JldHVybiJzY2FsZWQiPT09KHI/ZSh0KyJ0eXBlIiwiYXJyYXkiKToic2NhbGVkIikmJihlKHQrIjAiKSxlKCJkIit0KSkscn1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIscyxsLGMpe3ZhciB1LGgsZj1yKCJ6Iik7aWYobD1sfHwieCIsYz1jfHwieSIsdm9pZCAwPT09Znx8IWYubGVuZ3RoKXJldHVybiAwO2lmKGEuaXNBcnJheTFEKHQueikpe3U9cihsKSxoPXIoYyk7dmFyIHA9YS5taW5Sb3dMZW5ndGgodSksZD1hLm1pblJvd0xlbmd0aChoKTtpZigwPT09cHx8MD09PWQpcmV0dXJuIDA7ZS5fbGVuZ3RoPU1hdGgubWluKHAsZCxmLmxlbmd0aCl9ZWxzZXtpZih1PW8obCxyKSxoPW8oYyxyKSwhZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9ITAsaT0hMSxvPSExLHM9MDtzPHQubGVuZ3RoO3MrKyl7aWYoZT10W3NdLCFhLmlzQXJyYXlPclR5cGVkQXJyYXkoZSkpe3I9ITE7YnJlYWt9ZS5sZW5ndGg+MCYmKGk9ITApO2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKWlmKG4oZVtsXSkpe289ITA7YnJlYWt9fXJldHVybiByJiZpJiZvfShmKSlyZXR1cm4gMDtyKCJ0cmFuc3Bvc2UiKSxlLl9sZW5ndGg9bnVsbH1yZXR1cm4gaS5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsImhhbmRsZVRyYWNlRGVmYXVsdHMiKSh0LGUsW2wsY10scyksITB9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sMTAxNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijtmb3IodmFyIG49dCgiLi4vaGVhdG1hcC9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsbz10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwscz1bInoiLCJ4IiwieDAiLCJkeCIsInkiLCJ5MCIsImR5IiwidGV4dCIsInRyYW5zcG9zZSIsInh0eXBlIiwieXR5cGUiXSxsPXt9LGM9MDtjPHMubGVuZ3RoO2MrKyl7dmFyIHU9c1tjXTtsW3VdPW5bdV19aShsLGEoIiIse2NMZXR0ZXI6InoiLGF1dG9Db2xvckRmbHQ6ITF9KSksZS5leHBvcnRzPW8obCwiY2FsYyIsIm5lc3RlZCIpfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi9oZWF0bWFwL2F0dHJpYnV0ZXMiOjFlM31dLDEwMTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtaGVhdG1hcDJkIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi4vLi4vbGliL3N0cjJyZ2JhcnJheSIpO2Z1bmN0aW9uIG8odCxlKXt0aGlzLnNjZW5lPXQsdGhpcy51aWQ9ZSx0aGlzLnR5cGU9ImhlYXRtYXBnbCIsdGhpcy5uYW1lPSIiLHRoaXMuaG92ZXJpbmZvPSJhbGwiLHRoaXMueERhdGE9W10sdGhpcy55RGF0YT1bXSx0aGlzLnpEYXRhPVtdLHRoaXMudGV4dExhYmVscz1bXSx0aGlzLmlkVG9JbmRleD1bXSx0aGlzLmJvdW5kcz1bMCwwLDAsMF0sdGhpcy5vcHRpb25zPXt6OltdLHg6W10seTpbXSxzaGFwZTpbMCwwXSxjb2xvckxldmVsczpbMF0sY29sb3JWYWx1ZXM6WzAsMCwwLDFdfSx0aGlzLmhlYXRtYXA9bih0LmdscGxvdCx0aGlzLm9wdGlvbnMpLHRoaXMuaGVhdG1hcC5fdHJhY2U9dGhpc312YXIgcz1vLnByb3RvdHlwZTtzLmhhbmRsZVBpY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zLHI9ZS5zaGFwZSxuPXQucG9pbnRJZCxhPW4lclswXSxpPU1hdGguZmxvb3Iobi9yWzBdKSxvPW47cmV0dXJue3RyYWNlOnRoaXMsZGF0YUNvb3JkOnQuZGF0YUNvb3JkLHRyYWNlQ29vcmQ6W2UueFthXSxlLnlbaV0sZS56W29dXSx0ZXh0TGFiZWw6dGhpcy50ZXh0TGFiZWxzW25dLG5hbWU6dGhpcy5uYW1lLHBvaW50SW5kZXg6W2ksYV0saG92ZXJpbmZvOnRoaXMuaG92ZXJpbmZvfX0scy51cGRhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3RoaXMuaW5kZXg9dC5pbmRleCx0aGlzLm5hbWU9dC5uYW1lLHRoaXMuaG92ZXJpbmZvPXQuaG92ZXJpbmZvO3ZhciBuPXIuejt0aGlzLm9wdGlvbnMuej1bXS5jb25jYXQuYXBwbHkoW10sbik7dmFyIG89blswXS5sZW5ndGgscz1uLmxlbmd0aDt0aGlzLm9wdGlvbnMuc2hhcGU9W28sc10sdGhpcy5vcHRpb25zLng9ci54LHRoaXMub3B0aW9ucy55PXIueTt2YXIgbD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5jb2xvcnNjYWxlLHI9dC56bWluLG49dC56bWF4LGE9ZS5sZW5ndGgsbz1uZXcgQXJyYXkoYSkscz1uZXcgQXJyYXkoNCphKSxsPTA7bDxhO2wrKyl7dmFyIGM9ZVtsXSx1PWkoY1sxXSk7b1tsXT1yK2NbMF0qKG4tcik7Zm9yKHZhciBoPTA7aDw0O2grKylzWzQqbCtoXT11W2hdfXJldHVybntjb2xvckxldmVsczpvLGNvbG9yVmFsdWVzOnN9fSh0KTt0aGlzLm9wdGlvbnMuY29sb3JMZXZlbHM9bC5jb2xvckxldmVscyx0aGlzLm9wdGlvbnMuY29sb3JWYWx1ZXM9bC5jb2xvclZhbHVlcyx0aGlzLnRleHRMYWJlbHM9W10uY29uY2F0LmFwcGx5KFtdLHQudGV4dCksdGhpcy5oZWF0bWFwLnVwZGF0ZSh0aGlzLm9wdGlvbnMpO3ZhciBjPXRoaXMuc2NlbmUueGF4aXMsdT10aGlzLnNjZW5lLnlheGlzO3QuX2V4dHJlbWVzW2MuX2lkXT1hLmZpbmRFeHRyZW1lcyhjLHIueCksdC5fZXh0cmVtZXNbdS5faWRdPWEuZmluZEV4dHJlbWVzKHUsci55KX0scy5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5oZWF0bWFwLmRpc3Bvc2UoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1uZXcgbyh0LGUudWlkKTtyZXR1cm4gbi51cGRhdGUoZSxyKSxufX0seyIuLi8uLi9saWIvc3RyMnJnYmFycmF5Ijo3NDAsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsImdsLWhlYXRtYXAyZCI6MjU0fV0sMTAxNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi4vaGVhdG1hcC9kZWZhdWx0cyIpLGNvbG9yYmFyOnQoIi4uL2hlYXRtYXAvY29sb3JiYXIiKSxjYWxjOnQoIi4uL2hlYXRtYXAvY2FsYyIpLHBsb3Q6dCgiLi9jb252ZXJ0IiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImhlYXRtYXBnbCIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvZ2wyZCIpLGNhdGVnb3JpZXM6WyJnbCIsImdsMmQiLCIyZE1hcCJdLG1ldGE6e319fSx7Ii4uLy4uL3Bsb3RzL2dsMmQiOjgwMywiLi4vaGVhdG1hcC9jYWxjIjoxMDAxLCIuLi9oZWF0bWFwL2NvbG9yYmFyIjoxMDAzLCIuLi9oZWF0bWFwL2RlZmF1bHRzIjoxMDA1LCIuL2F0dHJpYnV0ZXMiOjEwMTUsIi4vY29udmVydCI6MTAxNn1dLDEwMTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vYmFyL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsaT10KCIuL2Jpbl9hdHRyaWJ1dGVzIiksbz10KCIuL2NvbnN0YW50cyIpLHM9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPXt4Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHk6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sdGV4dDpzKHt9LG4udGV4dCx7fSksaG92ZXJ0ZXh0OnMoe30sbi5ob3ZlcnRleHQse30pLG9yaWVudGF0aW9uOm4ub3JpZW50YXRpb24saGlzdGZ1bmM6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImNvdW50Iiwic3VtIiwiYXZnIiwibWluIiwibWF4Il0sZGZsdDoiY291bnQiLGVkaXRUeXBlOiJjYWxjIn0saGlzdG5vcm06e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbIiIsInBlcmNlbnQiLCJwcm9iYWJpbGl0eSIsImRlbnNpdHkiLCJwcm9iYWJpbGl0eSBkZW5zaXR5Il0sZGZsdDoiIixlZGl0VHlwZToiY2FsYyJ9LGN1bXVsYXRpdmU6e2VuYWJsZWQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSxkaXJlY3Rpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImluY3JlYXNpbmciLCJkZWNyZWFzaW5nIl0sZGZsdDoiaW5jcmVhc2luZyIsZWRpdFR5cGU6ImNhbGMifSxjdXJyZW50YmluOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJpbmNsdWRlIiwiZXhjbHVkZSIsImhhbGYiXSxkZmx0OiJpbmNsdWRlIixlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn0sbmJpbnN4Ont2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSx4YmluczppKCJ4IiwhMCksbmJpbnN5Ont2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSx5YmluczppKCJ5IiwhMCksYXV0b2Jpbng6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6bnVsbCxlZGl0VHlwZToiY2FsYyJ9LGF1dG9iaW55Ont2YWxUeXBlOiJib29sZWFuIixkZmx0Om51bGwsZWRpdFR5cGU6ImNhbGMifSxiaW5ncm91cDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJjYWxjIn0saG92ZXJ0ZW1wbGF0ZTphKHt9LHtrZXlzOm8uZXZlbnREYXRhS2V5c30pLG1hcmtlcjpuLm1hcmtlcixvZmZzZXRncm91cDpuLm9mZnNldGdyb3VwLGFsaWdubWVudGdyb3VwOm4uYWxpZ25tZW50Z3JvdXAsc2VsZWN0ZWQ6bi5zZWxlY3RlZCx1bnNlbGVjdGVkOm4udW5zZWxlY3RlZCxfZGVwcmVjYXRlZDp7YmFyZGlyOm4uX2RlcHJlY2F0ZWQuYmFyZGlyfX19LHsiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL2Jhci9hdHRyaWJ1dGVzIjo4NTYsIi4vYmluX2F0dHJpYnV0ZXMiOjEwMjAsIi4vY29uc3RhbnRzIjoxMDI0fV0sMTAxOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj0wLGE9MDthPHI7YSsrKWVbYV0/KHRbYV0vPWVbYV0sbis9dFthXSk6dFthXT1udWxsO3JldHVybiBufX0se31dLDEwMjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3N0YXJ0Ont2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjIn0sZW5kOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjIn0sc2l6ZTp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn19fSx7fV0sMTAyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpO2UuZXhwb3J0cz17Y291bnQ6ZnVuY3Rpb24odCxlLHIpe3JldHVybiByW3RdKyssMX0sc3VtOmZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpPWFbZV07cmV0dXJuIG4oaSk/KGk9TnVtYmVyKGkpLHJbdF0rPWksaSk6MH0sYXZnOmZ1bmN0aW9uKHQsZSxyLGEsaSl7dmFyIG89YVtlXTtyZXR1cm4gbihvKSYmKG89TnVtYmVyKG8pLHJbdF0rPW8saVt0XSsrKSwwfSxtaW46ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGk9YVtlXTtpZihuKGkpKXtpZihpPU51bWJlcihpKSwhbihyW3RdKSlyZXR1cm4gclt0XT1pLGk7aWYoclt0XT5pKXt2YXIgbz1pLXJbdF07cmV0dXJuIHJbdF09aSxvfX1yZXR1cm4gMH0sbWF4OmZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpPWFbZV07aWYobihpKSl7aWYoaT1OdW1iZXIoaSksIW4oclt0XSkpcmV0dXJuIHJbdF09aSxpO2lmKHJbdF08aSl7dmFyIG89aS1yW3RdO3JldHVybiByW3RdPWksb319cmV0dXJuIDB9fX0seyJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sMTAyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIiksYT1uLk9ORUFWR1lFQVIsaT1uLk9ORUFWR01PTlRILG89bi5PTkVEQVkscz1uLk9ORUhPVVIsbD1uLk9ORU1JTixjPW4uT05FU0VDLHU9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKS50aWNrSW5jcmVtZW50O2Z1bmN0aW9uIGgodCxlLHIsbil7aWYodCplPD0wKXJldHVybiAxLzA7Zm9yKHZhciBhPU1hdGguYWJzKGUtdCksaT0iZGF0ZSI9PT1yLnR5cGUsbz1mKGEsaSkscz0wO3M8MTA7cysrKXt2YXIgbD1mKDgwKm8saSk7aWYobz09PWwpYnJlYWs7aWYoIXAobCx0LGUsaSxyLG4pKWJyZWFrO289bH1yZXR1cm4gb31mdW5jdGlvbiBmKHQsZSl7cmV0dXJuIGUmJnQ+Yz90Pm8/dD4xLjEqYT9hOnQ+MS4xKmk/aTpvOnQ+cz9zOnQ+bD9sOmM6TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMTApKX1mdW5jdGlvbiBwKHQsZSxyLG4saSxzKXtpZihuJiZ0Pm8pe3ZhciBsPWQoZSxpLHMpLGM9ZChyLGkscyksdT10PT09YT8wOjE7cmV0dXJuIGxbdV0hPT1jW3VdfXJldHVybiBNYXRoLmZsb29yKHIvdCktTWF0aC5mbG9vcihlL3QpPi4xfWZ1bmN0aW9uIGQodCxlLHIpe3ZhciBuPWUuYzJkKHQsYSxyKS5zcGxpdCgiLSIpO3JldHVybiIiPT09blswXSYmKG4udW5zaGlmdCgpLG5bMF09Ii0iK25bMF0pLG59ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4saSl7dmFyIHMsbCxjPS0xLjEqZSxmPS0uMSplLHA9dC1mLGQ9clswXSxnPXJbMV0sdj1NYXRoLm1pbihoKGQrZixkK3AsbixpKSxoKGcrZixnK3AsbixpKSksbT1NYXRoLm1pbihoKGQrYyxkK2YsbixpKSxoKGcrYyxnK2YsbixpKSk7aWYodj5tJiZtPE1hdGguYWJzKGctZCkvNGUzPyhzPXYsbD0hMSk6KHM9TWF0aC5taW4odixtKSxsPSEwKSwiZGF0ZSI9PT1uLnR5cGUmJnM+byl7dmFyIHk9cz09PWE/MTo2LHg9cz09PWE/Ik0xMiI6Ik0xIjtyZXR1cm4gZnVuY3Rpb24oZSxyKXt2YXIgbz1uLmMyZChlLGEsaSkscz1vLmluZGV4T2YoIi0iLHkpO3M+MCYmKG89by5zdWJzdHIoMCxzKSk7dmFyIGM9bi5kMmMobywwLGkpO2lmKGM8ZSl7dmFyIGg9dShjLHgsITEsaSk7KGMraCkvMjxlK3QmJihjPWgpfXJldHVybiByJiZsP3UoYyx4LCEwLGkpOmN9fXJldHVybiBmdW5jdGlvbihlLHIpe3ZhciBuPXMqTWF0aC5yb3VuZChlL3MpO3JldHVybiBuK3MvMTA8ZSYmbisuOSpzPGUrdCYmKG4rPXMpLHImJmwmJihuLT1zKSxufX19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1fV0sMTAyMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9yZWdpc3RyeSIpLG89dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxzPXQoIi4uL2Jhci9hcnJheXNfdG9fY2FsY2RhdGEiKSxsPXQoIi4vYmluX2Z1bmN0aW9ucyIpLGM9dCgiLi9ub3JtX2Z1bmN0aW9ucyIpLHU9dCgiLi9hdmVyYWdlIiksaD10KCIuL2Jpbl9sYWJlbF92YWxzIik7ZnVuY3Rpb24gZih0LGUscixzLGwpe3ZhciBjLHUsaCxwLGQsZyx2LG09cysiYmlucyIseT10Ll9mdWxsTGF5b3V0LHg9ZVsiXyIrcysiYmluZ3JvdXAiXSxiPXkuX2hpc3RvZ3JhbUJpbk9wdHNbeF0sXz0ib3ZlcmxheSI9PT15LmJhcm1vZGUsdz1mdW5jdGlvbih0KXtyZXR1cm4gci5yMmModCwwLHApfSxrPWZ1bmN0aW9uKHQpe3JldHVybiByLmMycih0LDAscCl9LFQ9ImRhdGUiPT09ci50eXBlP2Z1bmN0aW9uKHQpe3JldHVybiB0fHwwPT09dD9hLmNsZWFuRGF0ZSh0LG51bGwscCk6bnVsbH06ZnVuY3Rpb24odCl7cmV0dXJuIG4odCk/TnVtYmVyKHQpOm51bGx9O2Z1bmN0aW9uIE0odCxlLHIpe2VbdCsiRm91bmQiXT8oZVt0XT1UKGVbdF0pLG51bGw9PT1lW3RdJiYoZVt0XT1yW3RdKSk6KGdbdF09ZVt0XT1yW3RdLGEubmVzdGVkUHJvcGVydHkodVswXSxtKyIuIit0KS5zZXQoclt0XSkpfWlmKGVbIl8iK3MrImF1dG9CaW5GaW5pc2hlZCJdKWRlbGV0ZSBlWyJfIitzKyJhdXRvQmluRmluaXNoZWQiXTtlbHNle3U9Yi50cmFjZXM7dmFyIEE9W10sUz0hMCxFPSExLEw9ITE7Zm9yKGM9MDtjPHUubGVuZ3RoO2MrKylpZigoaD11W2NdKS52aXNpYmxlKXt2YXIgQz1iLmRpcnNbY107ZD1oWyJfIitDKyJwb3MwIl09ci5tYWtlQ2FsY2RhdGEoaCxDKSxBPWEuY29uY2F0KEEsZCksZGVsZXRlIGhbIl8iK3MrImF1dG9CaW5GaW5pc2hlZCJdLCEwPT09ZS52aXNpYmxlJiYoUz9TPSExOihkZWxldGUgaC5fYXV0b0JpbixoWyJfIitzKyJhdXRvQmluRmluaXNoZWQiXT0xKSxpLnRyYWNlSXMoaCwiMmRNYXAiKSYmKEU9ITApLCJoaXN0b2dyYW0yZGNvbnRvdXIiPT09aC50eXBlJiYoTD0hMCkpfXA9dVswXVtzKyJjYWxlbmRhciJdO3ZhciBQPW8uYXV0b0JpbihBLHIsYi5uYmlucyxFLHAsYi5zaXplRm91bmQmJmIuc2l6ZSksTz11WzBdLl9hdXRvQmluPXt9O2lmKGc9T1tiLmRpcnNbMF1dPXt9LEwmJihiLnNpemV8fChQLnN0YXJ0PWsoby50aWNrSW5jcmVtZW50KHcoUC5zdGFydCksUC5zaXplLCEwLHApKSksdm9pZCAwPT09Yi5lbmQmJihQLmVuZD1rKG8udGlja0luY3JlbWVudCh3KFAuZW5kKSxQLnNpemUsITEscCkpKSksXyYmIWkudHJhY2VJcyhlLCIyZE1hcCIpJiYwPT09UC5fZGF0YVNwYW4mJiJjYXRlZ29yeSIhPT1yLnR5cGUmJiJtdWx0aWNhdGVnb3J5IiE9PXIudHlwZSl7aWYobClyZXR1cm5bUCxkLCEwXTtQPWZ1bmN0aW9uKHQsZSxyLG4saSl7dmFyIG8scyxsLGM9dC5fZnVsbExheW91dCx1PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUueGF4aXMsbj1lLnlheGlzLGE9ZS5vcmllbnRhdGlvbixpPVtdLG89dC5fZnVsbERhdGEscz0wO3M8by5sZW5ndGg7cysrKXt2YXIgbD1vW3NdOyJoaXN0b2dyYW0iPT09bC50eXBlJiYhMD09PWwudmlzaWJsZSYmbC5vcmllbnRhdGlvbj09PWEmJmwueGF4aXM9PT1yJiZsLnlheGlzPT09biYmaS5wdXNoKGwpfXJldHVybiBpfSh0LGUpLGg9ITEscD0xLzAsZD1bZV07Zm9yKG89MDtvPHUubGVuZ3RoO28rKylpZigocz11W29dKT09PWUpaD0hMDtlbHNlIGlmKGgpe3ZhciBnPWYodCxzLHIsbiwhMCksdj1nWzBdLG09Z1syXTtzWyJfIituKyJhdXRvQmluRmluaXNoZWQiXT0xLHNbIl8iK24rInBvczAiXT1nWzFdLG0/ZC5wdXNoKHMpOnA9TWF0aC5taW4ocCx2LnNpemUpfWVsc2UgbD1jLl9oaXN0b2dyYW1CaW5PcHRzW3NbIl8iK24rImJpbmdyb3VwIl1dLHA9TWF0aC5taW4ocCxsLnNpemV8fHNbaV0uc2l6ZSk7dmFyIHk9bmV3IEFycmF5KGQubGVuZ3RoKTtmb3Iobz0wO288ZC5sZW5ndGg7bysrKWZvcih2YXIgeD1kW29dWyJfIituKyJwb3MwIl0sYj0wO2I8eC5sZW5ndGg7YisrKWlmKHZvaWQgMCE9PXhbYl0pe3lbb109eFtiXTticmVha31pc0Zpbml0ZShwKXx8KHA9YS5kaXN0aW5jdFZhbHMoeSkubWluRGlmZik7Zm9yKG89MDtvPGQubGVuZ3RoO28rKyl7dmFyIF89KHM9ZFtvXSlbbisiY2FsZW5kYXIiXSx3PXtzdGFydDpyLmMycih5W29dLXAvMiwwLF8pLGVuZDpyLmMycih5W29dK3AvMiwwLF8pLHNpemU6cH07cy5faW5wdXRbaV09c1tpXT13LChsPWMuX2hpc3RvZ3JhbUJpbk9wdHNbc1siXyIrbisiYmluZ3JvdXAiXV0pJiZhLmV4dGVuZEZsYXQobCx3KX1yZXR1cm4gZVtpXX0odCxlLHIscyxtKX0odj1oLmN1bXVsYXRpdmV8fHt9KS5lbmFibGVkJiYiaW5jbHVkZSIhPT12LmN1cnJlbnRiaW4mJigiZGVjcmVhc2luZyI9PT12LmRpcmVjdGlvbj9QLnN0YXJ0PWsoby50aWNrSW5jcmVtZW50KHcoUC5zdGFydCksUC5zaXplLCEwLHApKTpQLmVuZD1rKG8udGlja0luY3JlbWVudCh3KFAuZW5kKSxQLnNpemUsITEscCkpKSxiLnNpemU9UC5zaXplLGIuc2l6ZUZvdW5kfHwoZy5zaXplPVAuc2l6ZSxhLm5lc3RlZFByb3BlcnR5KHVbMF0sbSsiLnNpemUiKS5zZXQoUC5zaXplKSksTSgic3RhcnQiLGIsUCksTSgiZW5kIixiLFApfWQ9ZVsiXyIrcysicG9zMCJdLGRlbGV0ZSBlWyJfIitzKyJwb3MwIl07dmFyIHo9ZS5faW5wdXRbbV18fHt9LEk9YS5leHRlbmRGbGF0KHt9LGIpLEQ9Yi5zdGFydCxSPXIucjJsKHouc3RhcnQpLEY9dm9pZCAwIT09UjtpZigoYi5zdGFydEZvdW5kfHxGKSYmUiE9PXIucjJsKEQpKXt2YXIgQj1GP1I6YS5hZ2dOdW1zKE1hdGgubWluLG51bGwsZCksTj17dHlwZToiY2F0ZWdvcnkiPT09ci50eXBlfHwibXVsdGljYXRlZ29yeSI9PT1yLnR5cGU/ImxpbmVhciI6ci50eXBlLHIybDpyLnIybCxkdGljazpiLnNpemUsdGljazA6RCxjYWxlbmRhcjpwLHJhbmdlOltCLG8udGlja0luY3JlbWVudChCLGIuc2l6ZSwhMSxwKV0ubWFwKHIubDJyKX0saj1vLnRpY2tGaXJzdChOKTtqPnIucjJsKEIpJiYoaj1vLnRpY2tJbmNyZW1lbnQoaixiLnNpemUsITAscCkpLEkuc3RhcnQ9ci5sMnIoaiksRnx8YS5uZXN0ZWRQcm9wZXJ0eShlLG0rIi5zdGFydCIpLnNldChJLnN0YXJ0KX12YXIgVj1iLmVuZCxVPXIucjJsKHouZW5kKSxxPXZvaWQgMCE9PVU7aWYoKGIuZW5kRm91bmR8fHEpJiZVIT09ci5yMmwoVikpe3ZhciBIPXE/VTphLmFnZ051bXMoTWF0aC5tYXgsbnVsbCxkKTtJLmVuZD1yLmwycihIKSxxfHxhLm5lc3RlZFByb3BlcnR5KGUsbSsiLnN0YXJ0Iikuc2V0KEkuZW5kKX12YXIgRz0iYXV0b2JpbiIrcztyZXR1cm4hMT09PWUuX2lucHV0W0ddJiYoZS5faW5wdXRbbV09YS5leHRlbmRGbGF0KHt9LGVbbV18fHt9KSxkZWxldGUgZS5faW5wdXRbR10sZGVsZXRlIGVbR10pLFtJLGRdfWUuZXhwb3J0cz17Y2FsYzpmdW5jdGlvbih0LGUpe3ZhciByLGkscCxkLGc9W10sdj1bXSxtPW8uZ2V0RnJvbUlkKHQsImgiPT09ZS5vcmllbnRhdGlvbj9lLnlheGlzOmUueGF4aXMpLHk9ImgiPT09ZS5vcmllbnRhdGlvbj8ieSI6IngiLHg9e3g6InkiLHk6IngifVt5XSxiPWVbeSsiY2FsZW5kYXIiXSxfPWUuY3VtdWxhdGl2ZSx3PWYodCxlLG0seSksaz13WzBdLFQ9d1sxXSxNPSJzdHJpbmciPT10eXBlb2Ygay5zaXplLEE9W10sUz1NP0E6ayxFPVtdLEw9W10sQz1bXSxQPTAsTz1lLmhpc3Rub3JtLHo9ZS5oaXN0ZnVuYyxJPS0xIT09Ty5pbmRleE9mKCJkZW5zaXR5Iik7Xy5lbmFibGVkJiZJJiYoTz1PLnJlcGxhY2UoLyA/ZGVuc2l0eSQvLCIiKSxJPSExKTt2YXIgRCxSPSJtYXgiPT09enx8Im1pbiI9PT16P251bGw6MCxGPWwuY291bnQsQj1jW09dLE49ITEsaj1mdW5jdGlvbih0KXtyZXR1cm4gbS5yMmModCwwLGIpfTtmb3IoYS5pc0FycmF5T3JUeXBlZEFycmF5KGVbeF0pJiYiY291bnQiIT09eiYmKEQ9ZVt4XSxOPSJhdmciPT09eixGPWxbel0pLHI9aihrLnN0YXJ0KSxwPWooay5lbmQpKyhyLW8udGlja0luY3JlbWVudChyLGsuc2l6ZSwhMSxiKSkvMWU2O3I8cCYmZy5sZW5ndGg8MWU2JiYoaT1vLnRpY2tJbmNyZW1lbnQocixrLnNpemUsITEsYiksZy5wdXNoKChyK2kpLzIpLHYucHVzaChSKSxDLnB1c2goW10pLEEucHVzaChyKSxJJiZFLnB1c2goMS8oaS1yKSksTiYmTC5wdXNoKDApLCEoaTw9cikpOylyPWk7QS5wdXNoKHIpLE18fCJkYXRlIiE9PW0udHlwZXx8KFM9e3N0YXJ0OmooUy5zdGFydCksZW5kOmooUy5lbmQpLHNpemU6Uy5zaXplfSk7dmFyIFYsVT12Lmxlbmd0aCxxPSEwLEg9MS8wLEc9MS8wLFk9e307Zm9yKHI9MDtyPFQubGVuZ3RoO3IrKyl7dmFyIFc9VFtyXTsoZD1hLmZpbmRCaW4oVyxTKSk+PTAmJmQ8VSYmKFArPUYoZCxyLHYsRCxMKSxxJiZDW2RdLmxlbmd0aCYmVyE9PVRbQ1tkXVswXV0mJihxPSExKSxDW2RdLnB1c2gociksWVtyXT1kLEg9TWF0aC5taW4oSCxXLUFbZF0pLEc9TWF0aC5taW4oRyxBW2QrMV0tVykpfXF8fChWPWgoSCxHLEEsbSxiKSksTiYmKFA9dSh2LEwpKSxCJiZCKHYsUCxFKSxfLmVuYWJsZWQmJmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGk7ZnVuY3Rpb24gbyhlKXtpPXRbZV0sdFtlXS89Mn1mdW5jdGlvbiBzKGUpe2E9dFtlXSx0W2VdPWkrYS8yLGkrPWF9aWYoImhhbGYiPT09cilpZigiaW5jcmVhc2luZyI9PT1lKWZvcihvKDApLG49MTtuPHQubGVuZ3RoO24rKylzKG4pO2Vsc2UgZm9yKG8odC5sZW5ndGgtMSksbj10Lmxlbmd0aC0yO24+PTA7bi0tKXMobik7ZWxzZSBpZigiaW5jcmVhc2luZyI9PT1lKXtmb3Iobj0xO248dC5sZW5ndGg7bisrKXRbbl0rPXRbbi0xXTsiZXhjbHVkZSI9PT1yJiYodC51bnNoaWZ0KDApLHQucG9wKCkpfWVsc2V7Zm9yKG49dC5sZW5ndGgtMjtuPj0wO24tLSl0W25dKz10W24rMV07ImV4Y2x1ZGUiPT09ciYmKHQucHVzaCgwKSx0LnNoaWZ0KCkpfX0odixfLmRpcmVjdGlvbixfLmN1cnJlbnRiaW4pO3ZhciBYPU1hdGgubWluKGcubGVuZ3RoLHYubGVuZ3RoKSxaPVtdLEo9MCxLPVgtMTtmb3Iocj0wO3I8WDtyKyspaWYodltyXSl7Sj1yO2JyZWFrfWZvcihyPVgtMTtyPj1KO3ItLSlpZih2W3JdKXtLPXI7YnJlYWt9Zm9yKHI9SjtyPD1LO3IrKylpZihuKGdbcl0pJiZuKHZbcl0pKXt2YXIgUT17cDpnW3JdLHM6dltyXSxiOjB9O18uZW5hYmxlZHx8KFEucHRzPUNbcl0scT9RLnBoMD1RLnBoMT1DW3JdLmxlbmd0aD9UW0Nbcl1bMF1dOmdbcl06KFEucGgwPVYoQVtyXSksUS5waDE9VihBW3IrMV0sITApKSksWi5wdXNoKFEpfXJldHVybiAxPT09Wi5sZW5ndGgmJihaWzBdLndpZHRoMT1vLnRpY2tJbmNyZW1lbnQoWlswXS5wLGsuc2l6ZSwhMSxiKS1aWzBdLnApLHMoWixlKSxhLmlzQXJyYXlPclR5cGVkQXJyYXkoZS5zZWxlY3RlZHBvaW50cykmJmEudGFnU2VsZWN0ZWQoWixlLFkpLFp9LGNhbGNBbGxBdXRvQmluczpmfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vYmFyL2FycmF5c190b19jYWxjZGF0YSI6ODU1LCIuL2F2ZXJhZ2UiOjEwMTksIi4vYmluX2Z1bmN0aW9ucyI6MTAyMSwiLi9iaW5fbGFiZWxfdmFscyI6MTAyMiwiLi9ub3JtX2Z1bmN0aW9ucyI6MTAzMCwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDEwMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtldmVudERhdGFLZXlzOlsiYmluTnVtYmVyIl19fSx7fV0sMTAyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2lkcyIpLGk9dCgiLi4vLi4vcmVnaXN0cnkiKS50cmFjZUlzLG89dCgiLi4vYmFyL2RlZmF1bHRzIikuaGFuZGxlR3JvdXBpbmdEZWZhdWx0cyxzPW4ubmVzdGVkUHJvcGVydHksbD1hLmdldEF4aXNHcm91cCxjPVt7YVN0cjp7eDoieGJpbnMuc3RhcnQiLHk6InliaW5zLnN0YXJ0In0sbmFtZToic3RhcnQifSx7YVN0cjp7eDoieGJpbnMuZW5kIix5OiJ5Ymlucy5lbmQifSxuYW1lOiJlbmQifSx7YVN0cjp7eDoieGJpbnMuc2l6ZSIseToieWJpbnMuc2l6ZSJ9LG5hbWU6InNpemUifSx7YVN0cjp7eDoibmJpbnN4Iix5OiJuYmluc3kifSxuYW1lOiJuYmlucyJ9XSx1PVsieCIsInkiXTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixoLGYscCxkLGcsdixtPWUuX2hpc3RvZ3JhbUJpbk9wdHM9e30seT1bXSx4PXt9LGI9W107ZnVuY3Rpb24gXyh0LGUpe3JldHVybiBuLmNvZXJjZShyLl9pbnB1dCxyLHIuX21vZHVsZS5hdHRyaWJ1dGVzLHQsZSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4idiI9PT10Lm9yaWVudGF0aW9uPyJ4IjoieSJ9ZnVuY3Rpb24gayh0LHIsaSl7dmFyIG89dC51aWQrIl9fIitpO3J8fChyPW8pO3ZhciBzPWZ1bmN0aW9uKHQscil7cmV0dXJuIGEuZ2V0RnJvbVRyYWNlKHtfZnVsbExheW91dDplfSx0LHIpLnR5cGV9KHQsaSksbD10W2krImNhbGVuZGFyIl18fCIiLGM9bVtyXSx1PSEwO2MmJihzPT09Yy5heFR5cGUmJmw9PT1jLmNhbGVuZGFyPyh1PSExLGMudHJhY2VzLnB1c2godCksYy5kaXJzLnB1c2goaSkpOihyPW8scyE9PWMuYXhUeXBlJiZuLndhcm4oWyJBdHRlbXB0ZWQgdG8gZ3JvdXAgdGhlIGJpbnMgb2YgdHJhY2UiLHQuaW5kZXgsInNldCBvbiBhIiwidHlwZToiK3MsImF4aXMiLCJ3aXRoIGJpbnMgb24iLCJ0eXBlOiIrYy5heFR5cGUsImF4aXMuIl0uam9pbigiICIpKSxsIT09Yy5jYWxlbmRhciYmbi53YXJuKFsiQXR0ZW1wdGVkIHRvIGdyb3VwIHRoZSBiaW5zIG9mIHRyYWNlIix0LmluZGV4LCJzZXQgd2l0aCBhIixsLCJjYWxlbmRhciIsIndpdGggYmlucyIsYy5jYWxlbmRhcj8ib24gYSAiK2MuY2FsZW5kYXIrIiBjYWxlbmRhciI6IncvbyBhIHNldCBjYWxlbmRhciJdLmpvaW4oIiAiKSkpKSx1JiYobVtyXT17dHJhY2VzOlt0XSxkaXJzOltpXSxheFR5cGU6cyxjYWxlbmRhcjp0W2krImNhbGVuZGFyIl18fCIifSksdFsiXyIraSsiYmluZ3JvdXAiXT1yfWZvcihkPTA7ZDx0Lmxlbmd0aDtkKyspcj10W2RdLGkociwiaGlzdG9ncmFtIikmJih5LnB1c2gociksZGVsZXRlIHIuX3hhdXRvQmluRmluaXNoZWQsZGVsZXRlIHIuX3lhdXRvQmluRmluaXNoZWQsaShyLCIyZE1hcCIpfHxvKHIuX2lucHV0LHIsZSxfKSk7dmFyIFQ9ZS5fYWxpZ25tZW50T3B0c3x8e307Zm9yKGQ9MDtkPHkubGVuZ3RoO2QrKyl7aWYocj15W2RdLGY9IiIsIWkociwiMmRNYXAiKSl7aWYocD13KHIpLCJncm91cCI9PT1lLmJhcm1vZGUmJnIuYWxpZ25tZW50Z3JvdXApe3ZhciBNPXJbcCsiYXhpcyJdLEE9bChlLE0pK3Iub3JpZW50YXRpb247KFRbQV18fHt9KVtyLmFsaWdubWVudGdyb3VwXSYmKGY9QSl9Znx8Im92ZXJsYXkiPT09ZS5iYXJtb2RlfHwoZj1sKGUsci54YXhpcykrbChlLHIueWF4aXMpK3cocikpfWY/KHhbZl18fCh4W2ZdPVtdKSx4W2ZdLnB1c2gocikpOmIucHVzaChyKX1mb3IoZiBpbiB4KWlmKDEhPT0oaD14W2ZdKS5sZW5ndGgpe3ZhciBTPSExO2ZvcihkPTA7ZDxoLmxlbmd0aDtkKyspe3I9aFtkXSxTPV8oImJpbmdyb3VwIik7YnJlYWt9Zm9yKGY9U3x8ZixkPTA7ZDxoLmxlbmd0aDtkKyspe3ZhciBFPShyPWhbZF0pLl9pbnB1dC5iaW5ncm91cDtFJiZFIT09ZiYmbi53YXJuKFsiVHJhY2UiLHIuaW5kZXgsIm11c3QgbWF0Y2giLCJ3aXRoaW4gYmluZ3JvdXAiLGYrIi4iLCJJZ25vcmluZyBpdHMgYmluZ3JvdXA6IixFLCJzZXR0aW5nLiJdLmpvaW4oIiAiKSksci5iaW5ncm91cD1mLGsocixmLHcocikpfX1lbHNlIGIucHVzaChoWzBdKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXtyPWJbZF07dmFyIEw9XygiYmluZ3JvdXAiKTtpZihpKHIsIjJkTWFwIikpZm9yKHY9MDt2PDI7disrKXt2YXIgQz1fKChwPXVbdl0pKyJiaW5ncm91cCIsTD9MKyJfXyIrcDpudWxsKTtrKHIsQyxwKX1lbHNlIGsocixMLHcocikpfWZvcihmIGluIG0pe3ZhciBQPW1bZl07Zm9yKGg9UC50cmFjZXMsZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgTyx6LEk9Y1tnXSxEPUkubmFtZTtpZigibmJpbnMiIT09RHx8IVAuc2l6ZUZvdW5kKXtmb3IoZD0wO2Q8aC5sZW5ndGg7ZCsrKXtpZihyPWhbZF0scD1QLmRpcnNbZF0sTz1JLmFTdHJbcF0sdm9pZCAwIT09cyhyLl9pbnB1dCxPKS5nZXQoKSl7UFtEXT1fKE8pLFBbRCsiRm91bmQiXT0hMDticmVha30oej0oci5fYXV0b0Jpbnx8e30pW3BdfHx7fSlbRF0mJnMocixPKS5zZXQoeltEXSl9aWYoInN0YXJ0Ij09PUR8fCJlbmQiPT09RClmb3IoO2Q8aC5sZW5ndGg7ZCsrKShyPWhbZF0pWyJfIitwKyJiaW5ncm91cCJdJiZfKE8sKHo9KHIuX2F1dG9CaW58fHt9KVtwXXx8e30pW0RdKTsibmJpbnMiIT09RHx8UC5zaXplRm91bmR8fFAubmJpbnNGb3VuZHx8KHI9aFswXSxQW0RdPV8oTykpfX19fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL2Jhci9kZWZhdWx0cyI6ODYwfV0sMTAyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksbz10KCIuLi9iYXIvc3R5bGVfZGVmYXVsdHMiKSxzPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsKXtmdW5jdGlvbiBjKHIsbil7cmV0dXJuIGEuY29lcmNlKHQsZSxzLHIsbil9dmFyIHU9YygieCIpLGg9YygieSIpO2MoImN1bXVsYXRpdmUuZW5hYmxlZCIpJiYoYygiY3VtdWxhdGl2ZS5kaXJlY3Rpb24iKSxjKCJjdW11bGF0aXZlLmN1cnJlbnRiaW4iKSksYygidGV4dCIpLGMoImhvdmVydGV4dCIpLGMoImhvdmVydGVtcGxhdGUiKTt2YXIgZj1jKCJvcmllbnRhdGlvbiIsaCYmIXU/ImgiOiJ2IikscD0idiI9PT1mPyJ4IjoieSIsZD0idiI9PT1mPyJ5IjoieCIsZz11JiZoP01hdGgubWluKGEubWluUm93TGVuZ3RoKHUpJiZhLm1pblJvd0xlbmd0aChoKSk6YS5taW5Sb3dMZW5ndGgoZVtwXXx8W10pO2lmKGcpe2UuX2xlbmd0aD1nLG4uZ2V0Q29tcG9uZW50TWV0aG9kKCJjYWxlbmRhcnMiLCJoYW5kbGVUcmFjZURlZmF1bHRzIikodCxlLFsieCIsInkiXSxsKSxlW2RdJiZjKCJoaXN0ZnVuYyIpLGMoImhpc3Rub3JtIiksYygiYXV0b2JpbiIrcCksbyh0LGUsYyxyLGwpLGEuY29lcmNlU2VsZWN0aW9uTWFya2VyT3BhY2l0eShlLGMpO3ZhciB2PShlLm1hcmtlci5saW5lfHx7fSkuY29sb3IsbT1uLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwic3VwcGx5RGVmYXVsdHMiKTttKHQsZSx2fHxpLmRlZmF1bHRMaW5lLHtheGlzOiJ5In0pLG0odCxlLHZ8fGkuZGVmYXVsdExpbmUse2F4aXM6IngiLGluaGVyaXQ6InkifSl9ZWxzZSBlLnZpc2libGU9ITF9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL2Jhci9zdHlsZV9kZWZhdWx0cyI6ODcxLCIuL2F0dHJpYnV0ZXMiOjEwMTh9XSwxMDI3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuLGEpe2lmKHQueD0ieFZhbCJpbiBlP2UueFZhbDplLngsdC55PSJ5VmFsImluIGU/ZS55VmFsOmUueSwiekxhYmVsVmFsImluIGUmJih0Lno9ZS56TGFiZWxWYWwpLGUueGEmJih0LnhheGlzPWUueGEpLGUueWEmJih0LnlheGlzPWUueWEpLCEoci5jdW11bGF0aXZlfHx7fSkuZW5hYmxlZCl7dmFyIGksbz1BcnJheS5pc0FycmF5KGEpP25bMF0ucHRzW2FbMF1dW2FbMV1dOm5bYV0ucHRzO2lmKHQucG9pbnROdW1iZXJzPW8sdC5iaW5OdW1iZXI9dC5wb2ludE51bWJlcixkZWxldGUgdC5wb2ludE51bWJlcixkZWxldGUgdC5wb2ludEluZGV4LHIuX2luZGV4VG9Qb2ludHMpe2k9W107Zm9yKHZhciBzPTA7czxvLmxlbmd0aDtzKyspaT1pLmNvbmNhdChyLl9pbmRleFRvUG9pbnRzW29bc11dKX1lbHNlIGk9bzt0LnBvaW50SW5kaWNlcz1pfXJldHVybiB0fX0se31dLDEwMjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vYmFyL2hvdmVyIikuaG92ZXJQb2ludHMsYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLmhvdmVyTGFiZWxUZXh0O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1uKHQsZSxyLGkpO2lmKG8pe3ZhciBzPSh0PW9bMF0pLmNkW3QuaW5kZXhdLGw9dC5jZFswXS50cmFjZTtpZighbC5jdW11bGF0aXZlLmVuYWJsZWQpe3ZhciBjPSJoIj09PWwub3JpZW50YXRpb24/InkiOiJ4Ijt0W2MrIkxhYmVsIl09YSh0W2MrImEiXSxzLnBoMCxzLnBoMSl9cmV0dXJuIGwuaG92ZXJtcGxhdGUmJih0LmhvdmVydGVtcGxhdGU9bC5ob3ZlcnRlbXBsYXRlKSxvfX19LHsiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vYmFyL2hvdmVyIjo4NjN9XSwxMDI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4uL2Jhci9sYXlvdXRfYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjcm9zc1RyYWNlRGVmYXVsdHM6dCgiLi9jcm9zc190cmFjZV9kZWZhdWx0cyIpLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4uL2Jhci9sYXlvdXRfZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLmNhbGMsY3Jvc3NUcmFjZUNhbGM6dCgiLi4vYmFyL2Nyb3NzX3RyYWNlX2NhbGMiKS5jcm9zc1RyYWNlQ2FsYyxwbG90OnQoIi4uL2Jhci9wbG90IikucGxvdCxsYXllck5hbWU6ImJhcmxheWVyIixzdHlsZTp0KCIuLi9iYXIvc3R5bGUiKS5zdHlsZSxzdHlsZU9uU2VsZWN0OnQoIi4uL2Jhci9zdHlsZSIpLnN0eWxlT25TZWxlY3QsY29sb3JiYXI6dCgiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiKSxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksc2VsZWN0UG9pbnRzOnQoIi4uL2Jhci9zZWxlY3QiKSxldmVudERhdGE6dCgiLi9ldmVudF9kYXRhIiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6Imhpc3RvZ3JhbSIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuIiksY2F0ZWdvcmllczpbImJhci1saWtlIiwiY2FydGVzaWFuIiwic3ZnIiwiYmFyIiwiaGlzdG9ncmFtIiwib3JpZW50ZWQiLCJlcnJvckJhcnNPSyIsInNob3dMZWdlbmQiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vYmFyL2Nyb3NzX3RyYWNlX2NhbGMiOjg1OSwiLi4vYmFyL2xheW91dF9hdHRyaWJ1dGVzIjo4NjUsIi4uL2Jhci9sYXlvdXRfZGVmYXVsdHMiOjg2NiwiLi4vYmFyL3Bsb3QiOjg2NywiLi4vYmFyL3NlbGVjdCI6ODY4LCIuLi9iYXIvc3R5bGUiOjg3MCwiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4vYXR0cmlidXRlcyI6MTAxOCwiLi9jYWxjIjoxMDIzLCIuL2Nyb3NzX3RyYWNlX2RlZmF1bHRzIjoxMDI1LCIuL2RlZmF1bHRzIjoxMDI2LCIuL2V2ZW50X2RhdGEiOjEwMjcsIi4vaG92ZXIiOjEwMjh9XSwxMDMwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17cGVyY2VudDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxuPTEwMC9lLGE9MDthPHI7YSsrKXRbYV0qPW59LHByb2JhYmlsaXR5OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGVuZ3RoLG49MDtuPHI7bisrKXRbbl0vPWV9LGRlbnNpdHk6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dC5sZW5ndGg7bj1ufHwxO2Zvcih2YXIgaT0wO2k8YTtpKyspdFtpXSo9cltpXSpufSwicHJvYmFiaWxpdHkgZGVuc2l0eSI6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dC5sZW5ndGg7biYmKGUvPW4pO2Zvcih2YXIgaT0wO2k8YTtpKyspdFtpXSo9cltpXS9lfX19LHt9XSwxMDMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2hpc3RvZ3JhbS9hdHRyaWJ1dGVzIiksYT10KCIuLi9oaXN0b2dyYW0vYmluX2F0dHJpYnV0ZXMiKSxpPXQoIi4uL2hlYXRtYXAvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLHM9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxsPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIiksYz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdDtlLmV4cG9ydHM9Yyh7eDpuLngseTpuLnksejp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxtYXJrZXI6e2NvbG9yOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn0saGlzdG5vcm06bi5oaXN0bm9ybSxoaXN0ZnVuYzpuLmhpc3RmdW5jLG5iaW5zeDpuLm5iaW5zeCx4YmluczphKCJ4IiksbmJpbnN5Om4ubmJpbnN5LHliaW5zOmEoInkiKSxhdXRvYmlueDpuLmF1dG9iaW54LGF1dG9iaW55Om4uYXV0b2JpbnksYmluZ3JvdXA6Yyh7fSxuLmJpbmdyb3VwLHt9KSx4YmluZ3JvdXA6Yyh7fSxuLmJpbmdyb3VwLHt9KSx5YmluZ3JvdXA6Yyh7fSxuLmJpbmdyb3VwLHt9KSx4Z2FwOmkueGdhcCx5Z2FwOmkueWdhcCx6c21vb3RoOmkuenNtb290aCx6aG92ZXJmb3JtYXQ6aS56aG92ZXJmb3JtYXQsaG92ZXJ0ZW1wbGF0ZTpzKHt9LHtrZXlzOiJ6In0pLHNob3dsZWdlbmQ6Yyh7fSxvLnNob3dsZWdlbmQse2RmbHQ6ITF9KX0sbCgiIix7Y0xldHRlcjoieiIsYXV0b0NvbG9yRGZsdDohMX0pKX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9oZWF0bWFwL2F0dHJpYnV0ZXMiOjFlMywiLi4vaGlzdG9ncmFtL2F0dHJpYnV0ZXMiOjEwMTgsIi4uL2hpc3RvZ3JhbS9iaW5fYXR0cmlidXRlcyI6MTAyMH1dLDEwMzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi4vaGlzdG9ncmFtL2Jpbl9mdW5jdGlvbnMiKSxvPXQoIi4uL2hpc3RvZ3JhbS9ub3JtX2Z1bmN0aW9ucyIpLHM9dCgiLi4vaGlzdG9ncmFtL2F2ZXJhZ2UiKSxsPXQoIi4uL2hpc3RvZ3JhbS9iaW5fbGFiZWxfdmFscyIpLGM9dCgiLi4vaGlzdG9ncmFtL2NhbGMiKS5jYWxjQWxsQXV0b0JpbnM7ZnVuY3Rpb24gdSh0LGUscixuKXt2YXIgYSxpPW5ldyBBcnJheSh0KTtpZihuKWZvcihhPTA7YTx0O2ErKylpW2FdPTEvKGVbYSsxXS1lW2FdKTtlbHNle3ZhciBvPTEvcjtmb3IoYT0wO2E8dDthKyspaVthXT1vfXJldHVybiBpfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm57c3RhcnQ6dChlLnN0YXJ0KSxlbmQ6dChlLmVuZCksc2l6ZTplLnNpemV9fWZ1bmN0aW9uIGYodCxlLHIsbixhLGkpe3ZhciBvLHM9dC5sZW5ndGgtMSxjPW5ldyBBcnJheShzKSx1PWwocixuLHQsYSxpKTtmb3Iobz0wO288cztvKyspe3ZhciBoPShlfHxbXSlbb107Y1tvXT12b2lkIDA9PT1oP1t1KHRbb10pLHUodFtvKzFdLCEwKV06W2gsaF19cmV0dXJuIGN9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbCxwLGQsZz1hLmdldEZyb21JZCh0LGUueGF4aXMpLHY9YS5nZXRGcm9tSWQodCxlLnlheGlzKSxtPWUueGNhbGVuZGFyLHk9ZS55Y2FsZW5kYXIseD1mdW5jdGlvbih0KXtyZXR1cm4gZy5yMmModCwwLG0pfSxiPWZ1bmN0aW9uKHQpe3JldHVybiB2LnIyYyh0LDAseSl9LF89Yyh0LGUsZywieCIpLHc9X1swXSxrPV9bMV0sVD1jKHQsZSx2LCJ5IiksTT1UWzBdLEE9VFsxXSxTPWUuX2xlbmd0aDtrLmxlbmd0aD5TJiZrLnNwbGljZShTLGsubGVuZ3RoLVMpLEEubGVuZ3RoPlMmJkEuc3BsaWNlKFMsQS5sZW5ndGgtUyk7dmFyIEU9W10sTD1bXSxDPVtdLFA9InN0cmluZyI9PXR5cGVvZiB3LnNpemUsTz0ic3RyaW5nIj09dHlwZW9mIE0uc2l6ZSx6PVtdLEk9W10sRD1QP3o6dyxSPU8/STpNLEY9MCxCPVtdLE49W10saj1lLmhpc3Rub3JtLFY9ZS5oaXN0ZnVuYyxVPS0xIT09ai5pbmRleE9mKCJkZW5zaXR5IikscT0ibWF4Ij09PVZ8fCJtaW4iPT09Vj9udWxsOjAsSD1pLmNvdW50LEc9b1tqXSxZPSExLFc9W10sWD1bXSxaPSJ6ImluIGU/ZS56OiJtYXJrZXIiaW4gZSYmQXJyYXkuaXNBcnJheShlLm1hcmtlci5jb2xvcik/ZS5tYXJrZXIuY29sb3I6IiI7WiYmImNvdW50IiE9PVYmJihZPSJhdmciPT09VixIPWlbVl0pO3ZhciBKPXcuc2l6ZSxLPXgody5zdGFydCksUT14KHcuZW5kKSsoSy1hLnRpY2tJbmNyZW1lbnQoSyxKLCExLG0pKS8xZTY7Zm9yKHI9SztyPFE7cj1hLnRpY2tJbmNyZW1lbnQocixKLCExLG0pKUwucHVzaChxKSx6LnB1c2gociksWSYmQy5wdXNoKDApO3oucHVzaChyKTt2YXIgJCx0dD1MLmxlbmd0aCxldD0oci1LKS90dCxydD0oJD1LK2V0LzIsZy5jMnIoJCwwLG0pKSxudD1NLnNpemUsYXQ9YihNLnN0YXJ0KSxpdD1iKE0uZW5kKSsoYXQtYS50aWNrSW5jcmVtZW50KGF0LG50LCExLHkpKS8xZTY7Zm9yKHI9YXQ7cjxpdDtyPWEudGlja0luY3JlbWVudChyLG50LCExLHkpKXtFLnB1c2goTC5zbGljZSgpKSxJLnB1c2gocik7dmFyIG90PW5ldyBBcnJheSh0dCk7Zm9yKGw9MDtsPHR0O2wrKylvdFtsXT1bXTtOLnB1c2gob3QpLFkmJkIucHVzaChDLnNsaWNlKCkpfUkucHVzaChyKTt2YXIgc3Q9RS5sZW5ndGgsbHQ9KHItYXQpL3N0LGN0PWZ1bmN0aW9uKHQpe3JldHVybiB2LmMycih0LDAseSl9KGF0K2x0LzIpO1UmJihXPXUoTC5sZW5ndGgsRCxldCxQKSxYPXUoRS5sZW5ndGgsUixsdCxPKSksUHx8ImRhdGUiIT09Zy50eXBlfHwoRD1oKHgsRCkpLE98fCJkYXRlIiE9PXYudHlwZXx8KFI9aChiLFIpKTt2YXIgdXQ9ITAsaHQ9ITAsZnQ9bmV3IEFycmF5KHR0KSxwdD1uZXcgQXJyYXkoc3QpLGR0PTEvMCxndD0xLzAsdnQ9MS8wLG10PTEvMDtmb3Iocj0wO3I8UztyKyspe3ZhciB5dD1rW3JdLHh0PUFbcl07cD1uLmZpbmRCaW4oeXQsRCksZD1uLmZpbmRCaW4oeHQsUikscD49MCYmcDx0dCYmZD49MCYmZDxzdCYmKEYrPUgocCxyLEVbZF0sWixCW2RdKSxOW2RdW3BdLnB1c2gociksdXQmJih2b2lkIDA9PT1mdFtwXT9mdFtwXT15dDpmdFtwXSE9PXl0JiYodXQ9ITEpKSxodCYmKHZvaWQgMD09PXB0W2RdP3B0W2RdPXh0OnB0W2RdIT09eHQmJihodD0hMSkpLGR0PU1hdGgubWluKGR0LHl0LXpbcF0pLGd0PU1hdGgubWluKGd0LHpbcCsxXS15dCksdnQ9TWF0aC5taW4odnQseHQtSVtkXSksbXQ9TWF0aC5taW4obXQsSVtkKzFdLXh0KSl9aWYoWSlmb3IoZD0wO2Q8c3Q7ZCsrKUYrPXMoRVtkXSxCW2RdKTtpZihHKWZvcihkPTA7ZDxzdDtkKyspRyhFW2RdLEYsVyxYW2RdKTtyZXR1cm57eDprLHhSYW5nZXM6Zih6LHV0JiZmdCxkdCxndCxnLG0pLHgwOnJ0LGR4OmV0LHk6QSx5UmFuZ2VzOmYoSSxodCYmcHQsdnQsbXQsdix5KSx5MDpjdCxkeTpsdCx6OkUscHRzOk59fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vaGlzdG9ncmFtL2F2ZXJhZ2UiOjEwMTksIi4uL2hpc3RvZ3JhbS9iaW5fZnVuY3Rpb25zIjoxMDIxLCIuLi9oaXN0b2dyYW0vYmluX2xhYmVsX3ZhbHMiOjEwMjIsIi4uL2hpc3RvZ3JhbS9jYWxjIjoxMDIzLCIuLi9oaXN0b2dyYW0vbm9ybV9mdW5jdGlvbnMiOjEwMzB9XSwxMDMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9zYW1wbGVfZGVmYXVsdHMiKSxpPXQoIi4uL2hlYXRtYXAvc3R5bGVfZGVmYXVsdHMiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyIpLHM9dCgiLi9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGwpe2Z1bmN0aW9uIGMocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLHMscixhKX1hKHQsZSxjLGwpLCExIT09ZS52aXNpYmxlJiYoaSh0LGUsYyxsKSxvKHQsZSxsLGMse3ByZWZpeDoiIixjTGV0dGVyOiJ6In0pLGMoImhvdmVydGVtcGxhdGUiKSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyI6NjAyLCIuLi8uLi9saWIiOjcxNywiLi4vaGVhdG1hcC9zdHlsZV9kZWZhdWx0cyI6MTAxMywiLi9hdHRyaWJ1dGVzIjoxMDMxLCIuL3NhbXBsZV9kZWZhdWx0cyI6MTAzNn1dLDEwMzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vaGVhdG1hcC9ob3ZlciIpLGE9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKS5ob3ZlckxhYmVsVGV4dDtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxvLHMpe3ZhciBsPW4odCxlLHIsaSxvLHMpO2lmKGwpe3ZhciBjPSh0PWxbMF0pLmluZGV4LHU9Y1swXSxoPWNbMV0sZj10LmNkWzBdLHA9Zi54UmFuZ2VzW2hdLGQ9Zi55UmFuZ2VzW3VdO3JldHVybiB0LnhMYWJlbD1hKHQueGEscFswXSxwWzFdKSx0LnlMYWJlbD1hKHQueWEsZFswXSxkWzFdKSxsfX19LHsiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vaGVhdG1hcC9ob3ZlciI6MTAwN31dLDEwMzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjcm9zc1RyYWNlRGVmYXVsdHM6dCgiLi4vaGlzdG9ncmFtL2Nyb3NzX3RyYWNlX2RlZmF1bHRzIiksY2FsYzp0KCIuLi9oZWF0bWFwL2NhbGMiKSxwbG90OnQoIi4uL2hlYXRtYXAvcGxvdCIpLGxheWVyTmFtZToiaGVhdG1hcGxheWVyIixjb2xvcmJhcjp0KCIuLi9oZWF0bWFwL2NvbG9yYmFyIiksc3R5bGU6dCgiLi4vaGVhdG1hcC9zdHlsZSIpLGhvdmVyUG9pbnRzOnQoIi4vaG92ZXIiKSxldmVudERhdGE6dCgiLi4vaGlzdG9ncmFtL2V2ZW50X2RhdGEiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiaGlzdG9ncmFtMmQiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGNhdGVnb3JpZXM6WyJjYXJ0ZXNpYW4iLCJzdmciLCIyZE1hcCIsImhpc3RvZ3JhbSIsInNob3dMZWdlbmQiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vaGVhdG1hcC9jYWxjIjoxMDAxLCIuLi9oZWF0bWFwL2NvbG9yYmFyIjoxMDAzLCIuLi9oZWF0bWFwL3Bsb3QiOjEwMTEsIi4uL2hlYXRtYXAvc3R5bGUiOjEwMTIsIi4uL2hpc3RvZ3JhbS9jcm9zc190cmFjZV9kZWZhdWx0cyI6MTAyNSwiLi4vaGlzdG9ncmFtL2V2ZW50X2RhdGEiOjEwMjcsIi4vYXR0cmlidXRlcyI6MTAzMSwiLi9kZWZhdWx0cyI6MTAzMywiLi9ob3ZlciI6MTAzNH1dLDEwMzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL2xpYiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1yKCJ4Iikscz1yKCJ5IiksbD1hLm1pblJvd0xlbmd0aChvKSxjPWEubWluUm93TGVuZ3RoKHMpO2wmJmM/KGUuX2xlbmd0aD1NYXRoLm1pbihsLGMpLG4uZ2V0Q29tcG9uZW50TWV0aG9kKCJjYWxlbmRhcnMiLCJoYW5kbGVUcmFjZURlZmF1bHRzIikodCxlLFsieCIsInkiXSxpKSwocigieiIpfHxyKCJtYXJrZXIuY29sb3IiKSkmJnIoImhpc3RmdW5jIikscigiaGlzdG5vcm0iKSxyKCJhdXRvYmlueCIpLHIoImF1dG9iaW55IikpOmUudmlzaWJsZT0hMX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDZ9XSwxMDM3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2hpc3RvZ3JhbTJkL2F0dHJpYnV0ZXMiKSxhPXQoIi4uL2NvbnRvdXIvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0O2UuZXhwb3J0cz1vKHt4Om4ueCx5Om4ueSx6Om4ueixtYXJrZXI6bi5tYXJrZXIsaGlzdG5vcm06bi5oaXN0bm9ybSxoaXN0ZnVuYzpuLmhpc3RmdW5jLG5iaW5zeDpuLm5iaW5zeCx4YmluczpuLnhiaW5zLG5iaW5zeTpuLm5iaW5zeSx5YmluczpuLnliaW5zLGF1dG9iaW54Om4uYXV0b2JpbngsYXV0b2Jpbnk6bi5hdXRvYmlueSxiaW5ncm91cDpuLmJpbmdyb3VwLHhiaW5ncm91cDpuLnhiaW5ncm91cCx5YmluZ3JvdXA6bi55YmluZ3JvdXAsYXV0b2NvbnRvdXI6YS5hdXRvY29udG91cixuY29udG91cnM6YS5uY29udG91cnMsY29udG91cnM6YS5jb250b3VycyxsaW5lOntjb2xvcjphLmxpbmUuY29sb3Isd2lkdGg6byh7fSxhLmxpbmUud2lkdGgse2RmbHQ6LjV9KSxkYXNoOmEubGluZS5kYXNoLHNtb290aGluZzphLmxpbmUuc21vb3RoaW5nLGVkaXRUeXBlOiJwbG90In0semhvdmVyZm9ybWF0Om4uemhvdmVyZm9ybWF0LGhvdmVydGVtcGxhdGU6bi5ob3ZlcnRlbXBsYXRlfSxpKCIiLHtjTGV0dGVyOiJ6IixlZGl0VHlwZU92ZXJyaWRlOiJjYWxjIn0pKX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uL2NvbnRvdXIvYXR0cmlidXRlcyI6OTQzLCIuLi9oaXN0b2dyYW0yZC9hdHRyaWJ1dGVzIjoxMDMxfV0sMTAzODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uL2hpc3RvZ3JhbTJkL3NhbXBsZV9kZWZhdWx0cyIpLGk9dCgiLi4vY29udG91ci9jb250b3Vyc19kZWZhdWx0cyIpLG89dCgiLi4vY29udG91ci9zdHlsZV9kZWZhdWx0cyIpLHM9dCgiLi9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGwpe2Z1bmN0aW9uIGMocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLHMscixhKX1hKHQsZSxjLGwpLCExIT09ZS52aXNpYmxlJiYoaSh0LGUsYyxmdW5jdGlvbihyKXtyZXR1cm4gbi5jb2VyY2UyKHQsZSxzLHIpfSksbyh0LGUsYyxsKSxjKCJob3ZlcnRlbXBsYXRlIikpfX0seyIuLi8uLi9saWIiOjcxNywiLi4vY29udG91ci9jb250b3Vyc19kZWZhdWx0cyI6OTUwLCIuLi9jb250b3VyL3N0eWxlX2RlZmF1bHRzIjo5NjQsIi4uL2hpc3RvZ3JhbTJkL3NhbXBsZV9kZWZhdWx0cyI6MTAzNiwiLi9hdHRyaWJ1dGVzIjoxMDM3fV0sMTAzOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNyb3NzVHJhY2VEZWZhdWx0czp0KCIuLi9oaXN0b2dyYW0vY3Jvc3NfdHJhY2VfZGVmYXVsdHMiKSxjYWxjOnQoIi4uL2NvbnRvdXIvY2FsYyIpLHBsb3Q6dCgiLi4vY29udG91ci9wbG90IikucGxvdCxsYXllck5hbWU6ImNvbnRvdXJsYXllciIsc3R5bGU6dCgiLi4vY29udG91ci9zdHlsZSIpLGNvbG9yYmFyOnQoIi4uL2NvbnRvdXIvY29sb3JiYXIiKSxob3ZlclBvaW50czp0KCIuLi9jb250b3VyL2hvdmVyIiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6Imhpc3RvZ3JhbTJkY29udG91ciIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuIiksY2F0ZWdvcmllczpbImNhcnRlc2lhbiIsInN2ZyIsIjJkTWFwIiwiY29udG91ciIsImhpc3RvZ3JhbSIsInNob3dMZWdlbmQiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vY29udG91ci9jYWxjIjo5NDQsIi4uL2NvbnRvdXIvY29sb3JiYXIiOjk0NiwiLi4vY29udG91ci9ob3ZlciI6OTU2LCIuLi9jb250b3VyL3Bsb3QiOjk2MSwiLi4vY29udG91ci9zdHlsZSI6OTYzLCIuLi9oaXN0b2dyYW0vY3Jvc3NfdHJhY2VfZGVmYXVsdHMiOjEwMjUsIi4vYXR0cmlidXRlcyI6MTAzNywiLi9kZWZhdWx0cyI6MTAzOH1dLDEwNDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7Zm9yKHZhciBuPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsaT10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxvPXQoIi4vY29uc3RhbnRzIikuY29sb3Jtb2RlbCxzPVsicmdiIiwicmdiYSIsImhzbCIsImhzbGEiXSxsPVtdLGM9W10sdT0wO3U8cy5sZW5ndGg7dSsrKWwucHVzaCgiRm9yIHRoZSBgIitzW3VdKyJgIGNvbG9ybW9kZWwsIGl0IGlzIFsiK29bc1t1XV0ubWluLmpvaW4oIiwgIikrIl0uIiksYy5wdXNoKCJGb3IgdGhlIGAiK3NbdV0rImAgY29sb3Jtb2RlbCwgaXQgaXMgWyIrb1tzW3VdXS5tYXguam9pbigiLCAiKSsiXS4iKTtlLmV4cG9ydHM9aSh7ejp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxjb2xvcm1vZGVsOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6cyxkZmx0OiJyZ2IiLGVkaXRUeXBlOiJjYWxjIn0sem1pbjp7dmFsVHlwZToiaW5mb19hcnJheSIsaXRlbXM6W3t2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJjYWxjIn0se3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6ImNhbGMifSx7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyJ9LHt2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJjYWxjIn1dLGVkaXRUeXBlOiJjYWxjIn0sem1heDp7dmFsVHlwZToiaW5mb19hcnJheSIsaXRlbXM6W3t2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJjYWxjIn0se3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6ImNhbGMifSx7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyJ9LHt2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJjYWxjIn1dLGVkaXRUeXBlOiJjYWxjIn0seDA6e3ZhbFR5cGU6ImFueSIsZGZsdDowLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0seTA6e3ZhbFR5cGU6ImFueSIsZGZsdDowLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sZHg6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sZHk6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sdGV4dDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6InBsb3QifSxob3ZlcnRleHQ6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJwbG90In0saG92ZXJpbmZvOmkoe30sbi5ob3ZlcmluZm8se2ZsYWdzOlsieCIsInkiLCJ6IiwiY29sb3IiLCJuYW1lIiwidGV4dCJdLGRmbHQ6IngreSt6K3RleHQrbmFtZSJ9KSxob3ZlcnRlbXBsYXRlOmEoe30se2tleXM6WyJ6IiwiY29sb3IiLCJjb2xvcm1vZGVsIl19KSx0cmFuc2Zvcm1zOnZvaWQgMH0pfSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4vY29uc3RhbnRzIjoxMDQyfV0sMTA0MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vY29uc3RhbnRzIiksaT10KCJmYXN0LWlzbnVtZXJpYyIpLG89dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxzPXQoIi4uLy4uL2xpYiIpLm1heFJvd0xlbmd0aDtmdW5jdGlvbiBsKHQsZSxyLGEpe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gbi5jb25zdHJhaW4oKGktdCkqZSxyLGEpfX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBuLmNvbnN0cmFpbihyLHQsZSl9fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG49by5nZXRGcm9tSWQodCxlLnhheGlzfHwieCIpLHU9by5nZXRGcm9tSWQodCxlLnlheGlzfHwieSIpLGg9bi5kMmMoZS54MCktZS5keC8yLGY9dS5kMmMoZS55MCktZS5keS8yLHA9ZS56Lmxlbmd0aCxkPXMoZS56KSxnPVtoLGgrZCplLmR4XSx2PVtmLGYrcCplLmR5XTtpZihuJiYibG9nIj09PW4udHlwZSlmb3Iocj0wO3I8ZDtyKyspZy5wdXNoKGgrciplLmR4KTtpZih1JiYibG9nIj09PXUudHlwZSlmb3Iocj0wO3I8cDtyKyspdi5wdXNoKGYrciplLmR5KTtyZXR1cm4gZS5fZXh0cmVtZXNbbi5faWRdPW8uZmluZEV4dHJlbWVzKG4sZyksZS5fZXh0cmVtZXNbdS5faWRdPW8uZmluZEV4dHJlbWVzKHUsdiksZS5fc2NhbGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY29sb3Jtb2RlbCxyPWUubGVuZ3RoLG49YS5jb2xvcm1vZGVsW2VdO3QuX3NBcnJheT1bXTtmb3IodmFyIG89MDtvPHI7bysrKW4ubWluW29dIT09dC56bWluW29dfHxuLm1heFtvXSE9PXQuem1heFtvXT90Ll9zQXJyYXkucHVzaChsKHQuem1pbltvXSwobi5tYXhbb10tbi5taW5bb10pLyh0LnptYXhbb10tdC56bWluW29dKSxuLm1pbltvXSxuLm1heFtvXSkpOnQuX3NBcnJheS5wdXNoKGMobi5taW5bb10sbi5tYXhbb10pKTtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciBuPWUuc2xpY2UoMCxyKSxhPTA7YTxyO2ErKyl7dmFyIG89blthXTtpZighaShvKSlyZXR1cm4hMTtuW2FdPXQuX3NBcnJheVthXShvKX1yZXR1cm4gbn19KGUpLFt7eDA6aCx5MDpmLHo6ZS56LHc6ZCxoOnB9XX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4vY29uc3RhbnRzIjoxMDQyLCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sMTA0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2NvbG9ybW9kZWw6e3JnYjp7bWluOlswLDAsMF0sbWF4OlsyNTUsMjU1LDI1NV0sZm10OmZ1bmN0aW9uKHQpe3JldHVybiB0LnNsaWNlKDAsMyl9LHN1ZmZpeDpbIiIsIiIsIiJdfSxyZ2JhOnttaW46WzAsMCwwLDBdLG1heDpbMjU1LDI1NSwyNTUsMV0sZm10OmZ1bmN0aW9uKHQpe3JldHVybiB0LnNsaWNlKDAsNCl9LHN1ZmZpeDpbIiIsIiIsIiIsIiJdfSxoc2w6e21pbjpbMCwwLDBdLG1heDpbMzYwLDEwMCwxMDBdLGZtdDpmdW5jdGlvbih0KXt2YXIgZT10LnNsaWNlKDAsMyk7cmV0dXJuIGVbMV09ZVsxXSsiJSIsZVsyXT1lWzJdKyIlIixlfSxzdWZmaXg6WyJceGIwIiwiJSIsIiUiXX0saHNsYTp7bWluOlswLDAsMCwwXSxtYXg6WzM2MCwxMDAsMTAwLDFdLGZtdDpmdW5jdGlvbih0KXt2YXIgZT10LnNsaWNlKDAsNCk7cmV0dXJuIGVbMV09ZVsxXSsiJSIsZVsyXT1lWzJdKyIlIixlfSxzdWZmaXg6WyJceGIwIiwiJSIsIiUiLCIiXX19fX0se31dLDEwNDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2F0dHJpYnV0ZXMiKSxpPXQoIi4vY29uc3RhbnRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfXZhciBvPXIoInoiKTtpZih2b2lkIDAhPT1vJiZvLmxlbmd0aCYmb1swXSYmb1swXS5sZW5ndGgpe3IoIngwIikscigieTAiKSxyKCJkeCIpLHIoImR5Iik7dmFyIHM9cigiY29sb3Jtb2RlbCIpO3IoInptaW4iLGkuY29sb3Jtb2RlbFtzXS5taW4pLHIoInptYXgiLGkuY29sb3Jtb2RlbFtzXS5tYXgpLHIoInRleHQiKSxyKCJob3ZlcnRleHQiKSxyKCJob3ZlcnRlbXBsYXRlIiksZS5fbGVuZ3RoPW51bGx9ZWxzZSBlLnZpc2libGU9ITF9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2F0dHJpYnV0ZXMiOjEwNDAsIi4vY29uc3RhbnRzIjoxMDQyfV0sMTA0NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4ieFZhbCJpbiBlJiYodC54PWUueFZhbCksInlWYWwiaW4gZSYmKHQueT1lLnlWYWwpLGUueGEmJih0LnhheGlzPWUueGEpLGUueWEmJih0LnlheGlzPWUueWEpLHQuY29sb3I9ZS5jb2xvcix0LmNvbG9ybW9kZWw9ZS50cmFjZS5jb2xvcm1vZGVsLHR9fSx7fV0sMTA0NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2Z4IiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4vY29uc3RhbnRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbz10LmNkWzBdLHM9by50cmFjZSxsPXQueGEsYz10LnlhO2lmKCEobi5pbmJveChlLW8ueDAsZS0oby54MCtvLncqcy5keCksMCk+MHx8bi5pbmJveChyLW8ueTAsci0oby55MCtvLmgqcy5keSksMCk+MCkpe3ZhciB1PU1hdGguZmxvb3IoKGUtby54MCkvcy5keCksaD1NYXRoLmZsb29yKE1hdGguYWJzKHItby55MCkvcy5keSk7aWYoby56W2hdW3VdKXt2YXIgZixwPW8uaGl8fHMuaG92ZXJpbmZvO2lmKHApe3ZhciBkPXAuc3BsaXQoIisiKTstMSE9PWQuaW5kZXhPZigiYWxsIikmJihkPVsiY29sb3IiXSksLTEhPT1kLmluZGV4T2YoImNvbG9yIikmJihmPSEwKX12YXIgZyx2PXMuY29sb3Jtb2RlbCxtPXYubGVuZ3RoLHk9cy5fc2NhbGVyKG8ueltoXVt1XSkseD1pLmNvbG9ybW9kZWxbdl0uc3VmZml4LGI9W107KHMuaG92ZXJ0ZW1wbGF0ZXx8ZikmJihiLnB1c2goIlsiK1t5WzBdK3hbMF0seVsxXSt4WzFdLHlbMl0reFsyXV0uam9pbigiLCAiKSksND09PW0mJmIucHVzaCgiLCAiK3lbM10reFszXSksYi5wdXNoKCJdIiksYj1iLmpvaW4oIiIpLHQuZXh0cmFUZXh0PXYudG9VcHBlckNhc2UoKSsiOiAiK2IpLEFycmF5LmlzQXJyYXkocy5ob3ZlcnRleHQpJiZBcnJheS5pc0FycmF5KHMuaG92ZXJ0ZXh0W2hdKT9nPXMuaG92ZXJ0ZXh0W2hdW3VdOkFycmF5LmlzQXJyYXkocy50ZXh0KSYmQXJyYXkuaXNBcnJheShzLnRleHRbaF0pJiYoZz1zLnRleHRbaF1bdV0pO3ZhciBfPWMuYzJwKG8ueTArKGgrLjUpKnMuZHkpLHc9by54MCsodSsuNSkqcy5keCxrPW8ueTArKGgrLjUpKnMuZHksVD0iWyIrby56W2hdW3VdLnNsaWNlKDAscy5jb2xvcm1vZGVsLmxlbmd0aCkuam9pbigiLCAiKSsiXSI7cmV0dXJuW2EuZXh0ZW5kRmxhdCh0LHtpbmRleDpbaCx1XSx4MDpsLmMycChvLngwK3Uqcy5keCkseDE6bC5jMnAoby54MCsodSsxKSpzLmR4KSx5MDpfLHkxOl8sY29sb3I6eSx4VmFsOncseExhYmVsVmFsOncseVZhbDprLHlMYWJlbFZhbDprLHpMYWJlbFZhbDpULHRleHQ6Zyxob3ZlcnRlbXBsYXRlTGFiZWxzOnt6TGFiZWw6VCxjb2xvckxhYmVsOmIsImNvbG9yWzBdTGFiZWwiOnlbMF0reFswXSwiY29sb3JbMV1MYWJlbCI6eVsxXSt4WzFdLCJjb2xvclsyXUxhYmVsIjp5WzJdK3hbMl0sImNvbG9yWzNdTGFiZWwiOnlbM10reFszXX19KV19fX19LHsiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9saWIiOjcxNywiLi9jb25zdGFudHMiOjEwNDJ9XSwxMDQ2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY2FsYzp0KCIuL2NhbGMiKSxwbG90OnQoIi4vcGxvdCIpLHN0eWxlOnQoIi4vc3R5bGUiKSxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJpbWFnZSIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuIiksY2F0ZWdvcmllczpbImNhcnRlc2lhbiIsInN2ZyIsIjJkTWFwIiwibm9Tb3J0aW5nQnlWYWx1ZSJdLGFuaW1hdGFibGU6ITEsbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvY2FydGVzaWFuIjo3NzYsIi4vYXR0cmlidXRlcyI6MTA0MCwiLi9jYWxjIjoxMDQxLCIuL2RlZmF1bHRzIjoxMDQzLCIuL2V2ZW50X2RhdGEiOjEwNDQsIi4vaG92ZXIiOjEwNDUsIi4vcGxvdCI6MTA0NywiLi9zdHlsZSI6MTA0OH1dLDEwNDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29uc3RhbnRzL3htbG5zX25hbWVzcGFjZXMiKSxvPXQoIi4vY29uc3RhbnRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe3ZhciBsPWUueGF4aXMsYz1lLnlheGlzO2EubWFrZVRyYWNlR3JvdXBzKHMsciwiaW0iKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlLHIscyx1LGgsZixwPW4uc2VsZWN0KHRoaXMpLGQ9dFswXSxnPWQudHJhY2Usdj1kLnosbT1kLngwLHk9ZC55MCx4PWQudyxiPWQuaCxfPWcuZHgsdz1nLmR5O2ZvcihmPTA7dm9pZCAwPT09ZSYmZjx4OyllPWwuYzJwKG0rZipfKSxmKys7Zm9yKGY9eDt2b2lkIDA9PT1yJiZmPjA7KXI9bC5jMnAobStmKl8pLGYtLTtmb3IoZj0wO3ZvaWQgMD09PXUmJmY8YjspdT1jLmMycCh5K2YqdyksZisrO2ZvcihmPWI7dm9pZCAwPT09aCYmZj4wOyloPWMuYzJwKHkrZip3KSxmLS07cjxlJiYocz1yLHI9ZSxlPXMpLGg8dSYmKHM9dSx1PWgsaD1zKTtlPU1hdGgubWF4KC0uNSpsLl9sZW5ndGgsZSkscj1NYXRoLm1pbigxLjUqbC5fbGVuZ3RoLHIpLHU9TWF0aC5tYXgoLS41KmMuX2xlbmd0aCx1KSxoPU1hdGgubWluKDEuNSpjLl9sZW5ndGgsaCk7dmFyIGs9TWF0aC5yb3VuZChyLWUpLFQ9TWF0aC5yb3VuZChoLXUpO2lmKGs8PTB8fFQ8PTApe3Auc2VsZWN0QWxsKCJpbWFnZSIpLmRhdGEoW10pLmV4aXQoKS5yZW1vdmUoKX1lbHNle3ZhciBNPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO00ud2lkdGg9ayxNLmhlaWdodD1UO3ZhciBBLFM9TS5nZXRDb250ZXh0KCIyZCIpLEU9ZnVuY3Rpb24odCl7cmV0dXJuIGEuY29uc3RyYWluKE1hdGgucm91bmQobC5jMnAobSt0Kl8pLWUpLDAsayl9LEw9ZnVuY3Rpb24odCl7cmV0dXJuIGEuY29uc3RyYWluKE1hdGgucm91bmQoYy5jMnAoeSt0KncpLXUpLDAsVCl9LEM9by5jb2xvcm1vZGVsW2cuY29sb3Jtb2RlbF0uZm10O2ZvcihmPTA7ZjxkLnc7ZisrKXt2YXIgUD1FKGYpLE89RShmKzEpO2lmKE8hPT1QJiYhaXNOYU4oTykmJiFpc05hTihQKSlmb3IodmFyIHo9MDt6PGQuaDt6Kyspe3ZhciBJPUwoeiksRD1MKHorMSk7RD09PUl8fGlzTmFOKEQpfHxpc05hTihJKXx8IXZbel1bZl18fChBPWcuX3NjYWxlcih2W3pdW2ZdKSxTLmZpbGxTdHlsZT1BP2cuY29sb3Jtb2RlbCsiKCIrQyhBKS5qb2luKCIsIikrIikiOiJyZ2JhKDAsMCwwLDApIixTLmZpbGxSZWN0KFAsSSxPLVAsRC1JKSl9fXZhciBSPXAuc2VsZWN0QWxsKCJpbWFnZSIpLmRhdGEodCk7Ui5lbnRlcigpLmFwcGVuZCgic3ZnOmltYWdlIikuYXR0cih7eG1sbnM6aS5zdmcscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSJ9KSxSLmF0dHIoe2hlaWdodDpULHdpZHRoOmsseDplLHk6dSwieGxpbms6aHJlZiI6TS50b0RhdGFVUkwoImltYWdlL3BuZyIpfSl9fSl9fSx7Ii4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIjo2OTQsIi4uLy4uL2xpYiI6NzE3LCIuL2NvbnN0YW50cyI6MTA0MixkMzoxNjV9XSwxMDQ4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe24uc2VsZWN0KHQpLnNlbGVjdEFsbCgiLmltIGltYWdlIikuc3R5bGUoIm9wYWNpdHkiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnRyYWNlLm9wYWNpdHl9KX19LHtkMzoxNjV9XSwxMDQ5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGE9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZERlZXAsaT10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwsbz10KCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyIpLGw9dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuYXR0cmlidXRlcyxjPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyIpLHU9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLnRlbXBsYXRlZEFycmF5LGg9dCgiLi4vLi4vY29uc3RhbnRzL2RlbHRhLmpzIiksZj0odCgiLi4vLi4vY29uc3RhbnRzL2RvY3MiKS5GT1JNQVRfTElOSyxvKHtlZGl0VHlwZToicGxvdCIsY29sb3JFZGl0VHlwZToicGxvdCJ9KSkscD17Y29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToicGxvdCJ9LGxpbmU6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpzLmRlZmF1bHRMaW5lLGVkaXRUeXBlOiJwbG90In0sd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDowLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6ImNhbGMifSx0aGlja25lc3M6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6ImNhbGMifSxkPXt2YWxUeXBlOiJpbmZvX2FycmF5IixpdGVtczpbe3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6InBsb3QifSx7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToicGxvdCJ9XSxlZGl0VHlwZToicGxvdCJ9LGc9dSgic3RlcCIsYSh7fSxwLHtyYW5nZTpkfSkpO2UuZXhwb3J0cz17bW9kZTp7dmFsVHlwZToiZmxhZ2xpc3QiLGVkaXRUeXBlOiJjYWxjIixmbGFnczpbIm51bWJlciIsImRlbHRhIiwiZ2F1Z2UiXSxkZmx0OiJudW1iZXIifSx2YWx1ZTp7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyIsYW5pbTohMH0sYWxpZ246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCJdLGVkaXRUeXBlOiJwbG90In0sZG9tYWluOmwoe25hbWU6ImluZGljYXRvciIsdHJhY2U6ITAsZWRpdFR5cGU6ImNhbGMifSksdGl0bGU6e3RleHQ6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6InBsb3QifSxhbGlnbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibGVmdCIsImNlbnRlciIsInJpZ2h0Il0sZWRpdFR5cGU6InBsb3QifSxmb250Om4oe30sZix7fSksZWRpdFR5cGU6InBsb3QifSxudW1iZXI6e3ZhbHVlZm9ybWF0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6InBsb3QifSxmb250Om4oe30sZix7fSkscHJlZml4Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6InBsb3QifSxzdWZmaXg6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0sZGVsdGE6e3JlZmVyZW5jZTp7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyJ9LHBvc2l0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiXSxkZmx0OiJib3R0b20iLGVkaXRUeXBlOiJwbG90In0scmVsYXRpdmU6e3ZhbFR5cGU6ImJvb2xlYW4iLGVkaXRUeXBlOiJwbG90IixkZmx0OiExfSx2YWx1ZWZvcm1hdDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToicGxvdCJ9LGluY3JlYXNpbmc6e3N5bWJvbDp7dmFsVHlwZToic3RyaW5nIixkZmx0OmguSU5DUkVBU0lORy5TWU1CT0wsZWRpdFR5cGU6InBsb3QifSxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6aC5JTkNSRUFTSU5HLkNPTE9SLGVkaXRUeXBlOiJwbG90In0sZWRpdFR5cGU6InBsb3QifSxkZWNyZWFzaW5nOntzeW1ib2w6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDpoLkRFQ1JFQVNJTkcuU1lNQk9MLGVkaXRUeXBlOiJwbG90In0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0OmguREVDUkVBU0lORy5DT0xPUixlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0sZm9udDpuKHt9LGYse30pLGVkaXRUeXBlOiJjYWxjIn0sZ2F1Z2U6e3NoYXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIixlZGl0VHlwZToicGxvdCIsZGZsdDoiYW5ndWxhciIsdmFsdWVzOlsiYW5ndWxhciIsImJ1bGxldCJdfSxiYXI6YSh7fSxwLHtjb2xvcjp7ZGZsdDoiZ3JlZW4ifX0pLGJnY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToicGxvdCJ9LGJvcmRlcmNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpzLmRlZmF1bHRMaW5lLGVkaXRUeXBlOiJwbG90In0sYm9yZGVyd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxLGVkaXRUeXBlOiJwbG90In0sYXhpczppKHtyYW5nZTpkLHZpc2libGU6bih7fSxjLnZpc2libGUse2RmbHQ6ITB9KSx0aWNrbW9kZTpjLnRpY2ttb2RlLG50aWNrczpjLm50aWNrcyx0aWNrMDpjLnRpY2swLGR0aWNrOmMuZHRpY2ssdGlja3ZhbHM6Yy50aWNrdmFscyx0aWNrdGV4dDpjLnRpY2t0ZXh0LHRpY2tzOm4oe30sYy50aWNrcyx7ZGZsdDoib3V0c2lkZSJ9KSx0aWNrbGVuOmMudGlja2xlbix0aWNrd2lkdGg6Yy50aWNrd2lkdGgsdGlja2NvbG9yOmMudGlja2NvbG9yLHNob3d0aWNrbGFiZWxzOmMuc2hvd3RpY2tsYWJlbHMsdGlja2ZvbnQ6byh7fSksdGlja2FuZ2xlOmMudGlja2FuZ2xlLHRpY2tmb3JtYXQ6Yy50aWNrZm9ybWF0LHRpY2tmb3JtYXRzdG9wczpjLnRpY2tmb3JtYXRzdG9wcyx0aWNrcHJlZml4OmMudGlja3ByZWZpeCxzaG93dGlja3ByZWZpeDpjLnNob3d0aWNrcHJlZml4LHRpY2tzdWZmaXg6Yy50aWNrc3VmZml4LHNob3d0aWNrc3VmZml4OmMuc2hvd3RpY2tzdWZmaXgsc2VwYXJhdGV0aG91c2FuZHM6Yy5zZXBhcmF0ZXRob3VzYW5kcyxleHBvbmVudGZvcm1hdDpjLmV4cG9uZW50Zm9ybWF0LHNob3dleHBvbmVudDpjLnNob3dleHBvbmVudCxlZGl0VHlwZToicGxvdCJ9LCJwbG90Iiksc3RlcHM6Zyx0aHJlc2hvbGQ6e2xpbmU6e2NvbG9yOm4oe30scC5saW5lLmNvbG9yLHt9KSx3aWR0aDpuKHt9LHAubGluZS53aWR0aCx7ZGZsdDoxfSksZWRpdFR5cGU6InBsb3QifSx0aGlja25lc3M6bih7fSxwLnRoaWNrbmVzcyx7ZGZsdDouODV9KSx2YWx1ZTp7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyIsZGZsdDohMX0sZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yL2F0dHJpYnV0ZXMiOjU5MSwiLi4vLi4vY29uc3RhbnRzL2RlbHRhLmpzIjo2ODcsIi4uLy4uL2NvbnN0YW50cy9kb2NzIjo2ODgsIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIjo3NTUsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyI6Nzc3LCIuLi8uLi9wbG90cy9kb21haW4iOjc5MCwiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTF9XSwxMDUwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIik7ci5uYW1lPSJpbmRpY2F0b3IiLHIucGxvdD1mdW5jdGlvbih0LGUsYSxpKXtuLnBsb3RCYXNlUGxvdChyLm5hbWUsdCxlLGEsaSl9LHIuY2xlYW49ZnVuY3Rpb24odCxlLGEsaSl7bi5jbGVhbkJhc2VQbG90KHIubmFtZSx0LGUsYSxpKX19LHsiLi4vLi4vcGxvdHMvcGxvdHMiOjgyNn1dLDEwNTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtjYWxjOmZ1bmN0aW9uKHQsZSl7dmFyIHI9W10sbj1lLnZhbHVlOyJudW1iZXIiIT10eXBlb2YgZS5fbGFzdFZhbHVlJiYoZS5fbGFzdFZhbHVlPWUudmFsdWUpO3ZhciBhPWUuX2xhc3RWYWx1ZSxpPWE7cmV0dXJuIGUuX2hhc0RlbHRhJiYibnVtYmVyIj09dHlwZW9mIGUuZGVsdGEucmVmZXJlbmNlJiYoaT1lLmRlbHRhLnJlZmVyZW5jZSksclswXT17eTpuLGxhc3RZOmEsZGVsdGE6bi1pLHJlbGF0aXZlRGVsdGE6KG4taSkvaX0scn19fSx7fV0sMTA1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2RlZmF1bHROdW1iZXJGb250U2l6ZTo4MCxidWxsZXROdW1iZXJEb21haW5TaXplOi4yNSxidWxsZXRQYWRkaW5nOi4wMjUsaW5uZXJSYWRpdXM6Ljc1LHZhbHVlVGhpY2tuZXNzOi41LHRpdGxlUGFkZGluZzo1LGhvcml6b250YWxQYWRkaW5nOjEwfX0se31dLDEwNTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL3Bsb3RzL2RvbWFpbiIpLmRlZmF1bHRzLG89dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLHM9dCgiLi4vLi4vcGxvdHMvYXJyYXlfY29udGFpbmVyX2RlZmF1bHRzIiksbD10KCIuL2NvbnN0YW50cy5qcyIpLGM9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3RpY2tfdmFsdWVfZGVmYXVsdHMiKSx1PXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX21hcmtfZGVmYXVsdHMiKSxoPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX2xhYmVsX2RlZmF1bHRzIik7ZnVuY3Rpb24gZih0LGUpe2Z1bmN0aW9uIHIocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEuZ2F1Z2Uuc3RlcHMscixpKX1yKCJjb2xvciIpLHIoImxpbmUuY29sb3IiKSxyKCJsaW5lLndpZHRoIikscigicmFuZ2UiKSxyKCJ0aGlja25lc3MiKX1lLmV4cG9ydHM9e3N1cHBseURlZmF1bHRzOmZ1bmN0aW9uKHQsZSxyLHApe2Z1bmN0aW9uIGQocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX1pKGUscCxkKSxkKCJtb2RlIiksZS5faGFzTnVtYmVyPS0xIT09ZS5tb2RlLmluZGV4T2YoIm51bWJlciIpLGUuX2hhc0RlbHRhPS0xIT09ZS5tb2RlLmluZGV4T2YoImRlbHRhIiksZS5faGFzR2F1Z2U9LTEhPT1lLm1vZGUuaW5kZXhPZigiZ2F1Z2UiKTt2YXIgZz1kKCJ2YWx1ZSIpO2UuX3JhbmdlPVswLCJudW1iZXIiPT10eXBlb2YgZz8xLjUqZzoxXTt2YXIgdixtLHkseCxiLF8sdz1uZXcgQXJyYXkoMik7ZnVuY3Rpb24gayh0LGUpe3JldHVybiBuLmNvZXJjZSh5LHgsYS5nYXVnZSx0LGUpfWZ1bmN0aW9uIFQodCxlKXtyZXR1cm4gbi5jb2VyY2UoYixfLGEuZ2F1Z2UuYXhpcyx0LGUpfWlmKGUuX2hhc051bWJlciYmKGQoIm51bWJlci52YWx1ZWZvcm1hdCIpLGQoIm51bWJlci5mb250LmNvbG9yIixwLmZvbnQuY29sb3IpLGQoIm51bWJlci5mb250LmZhbWlseSIscC5mb250LmZhbWlseSksZCgibnVtYmVyLmZvbnQuc2l6ZSIpLHZvaWQgMD09PWUubnVtYmVyLmZvbnQuc2l6ZSYmKGUubnVtYmVyLmZvbnQuc2l6ZT1sLmRlZmF1bHROdW1iZXJGb250U2l6ZSx3WzBdPSEwKSxkKCJudW1iZXIucHJlZml4IiksZCgibnVtYmVyLnN1ZmZpeCIpLHY9ZS5udW1iZXIuZm9udC5zaXplKSxlLl9oYXNEZWx0YSYmKGQoImRlbHRhLmZvbnQuY29sb3IiLHAuZm9udC5jb2xvciksZCgiZGVsdGEuZm9udC5mYW1pbHkiLHAuZm9udC5mYW1pbHkpLGQoImRlbHRhLmZvbnQuc2l6ZSIpLHZvaWQgMD09PWUuZGVsdGEuZm9udC5zaXplJiYoZS5kZWx0YS5mb250LnNpemU9KGUuX2hhc051bWJlcj8uNToxKSoodnx8bC5kZWZhdWx0TnVtYmVyRm9udFNpemUpLHdbMV09ITApLGQoImRlbHRhLnJlZmVyZW5jZSIsZS52YWx1ZSksZCgiZGVsdGEucmVsYXRpdmUiKSxkKCJkZWx0YS52YWx1ZWZvcm1hdCIsZS5kZWx0YS5yZWxhdGl2ZT8iMiUiOiIiKSxkKCJkZWx0YS5pbmNyZWFzaW5nLnN5bWJvbCIpLGQoImRlbHRhLmluY3JlYXNpbmcuY29sb3IiKSxkKCJkZWx0YS5kZWNyZWFzaW5nLnN5bWJvbCIpLGQoImRlbHRhLmRlY3JlYXNpbmcuY29sb3IiKSxkKCJkZWx0YS5wb3NpdGlvbiIpLG09ZS5kZWx0YS5mb250LnNpemUpLGUuX3NjYWxlTnVtYmVycz0oIWUuX2hhc051bWJlcnx8d1swXSkmJighZS5faGFzRGVsdGF8fHdbMV0pfHwhMSxkKCJ0aXRsZS5mb250LmNvbG9yIixwLmZvbnQuY29sb3IpLGQoInRpdGxlLmZvbnQuZmFtaWx5IixwLmZvbnQuZmFtaWx5KSxkKCJ0aXRsZS5mb250LnNpemUiLC4yNSoodnx8bXx8bC5kZWZhdWx0TnVtYmVyRm9udFNpemUpKSxkKCJ0aXRsZS50ZXh0IiksZS5faGFzR2F1Z2Upeyh5PXQuZ2F1Z2UpfHwoeT17fSkseD1vLm5ld0NvbnRhaW5lcihlLCJnYXVnZSIpLGsoInNoYXBlIiksKGUuX2lzQnVsbGV0PSJidWxsZXQiPT09ZS5nYXVnZS5zaGFwZSl8fGQoInRpdGxlLmFsaWduIiwiY2VudGVyIiksKGUuX2lzQW5ndWxhcj0iYW5ndWxhciI9PT1lLmdhdWdlLnNoYXBlKXx8ZCgiYWxpZ24iLCJjZW50ZXIiKSxrKCJiZ2NvbG9yIixwLnBhcGVyX2JnY29sb3IpLGsoImJvcmRlcndpZHRoIiksaygiYm9yZGVyY29sb3IiKSxrKCJiYXIuY29sb3IiKSxrKCJiYXIubGluZS5jb2xvciIpLGsoImJhci5saW5lLndpZHRoIiksaygiYmFyLnRoaWNrbmVzcyIsbC52YWx1ZVRoaWNrbmVzcyooImJ1bGxldCI9PT1lLmdhdWdlLnNoYXBlPy41OjEpKSxzKHkseCx7bmFtZToic3RlcHMiLGhhbmRsZUl0ZW1EZWZhdWx0czpmfSksaygidGhyZXNob2xkLnZhbHVlIiksaygidGhyZXNob2xkLnRoaWNrbmVzcyIpLGsoInRocmVzaG9sZC5saW5lLndpZHRoIiksaygidGhyZXNob2xkLmxpbmUuY29sb3IiKSxiPXt9LHkmJihiPXkuYXhpc3x8e30pLF89by5uZXdDb250YWluZXIoeCwiYXhpcyIpLFQoInZpc2libGUiKSxlLl9yYW5nZT1UKCJyYW5nZSIsZS5fcmFuZ2UpO3ZhciBNPXtvdXRlclRpY2tzOiEwfTtjKGIsXyxULCJsaW5lYXIiKSxoKGIsXyxULCJsaW5lYXIiLE0pLHUoYixfLFQsTSl9ZWxzZSBkKCJ0aXRsZS5hbGlnbiIsImNlbnRlciIpLGQoImFsaWduIiwiY2VudGVyIiksZS5faXNBbmd1bGFyPWUuX2lzQnVsbGV0PSExO2UuX2xlbmd0aD1udWxsfX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvYXJyYXlfY29udGFpbmVyX2RlZmF1bHRzIjo3NjEsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX2xhYmVsX2RlZmF1bHRzIjo3ODQsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi90aWNrX21hcmtfZGVmYXVsdHMiOjc4NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3RpY2tfdmFsdWVfZGVmYXVsdHMiOjc4NiwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4vYXR0cmlidXRlcyI6MTA0OSwiLi9jb25zdGFudHMuanMiOjEwNTJ9XSwxMDU0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bW9kdWxlVHlwZToidHJhY2UiLG5hbWU6ImluZGljYXRvciIsYmFzZVBsb3RNb2R1bGU6dCgiLi9iYXNlX3Bsb3QiKSxjYXRlZ29yaWVzOlsic3ZnIiwibm9PcGFjaXR5Iiwibm9Ib3ZlciJdLGFuaW1hdGFibGU6ITAsYXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuc3VwcGx5RGVmYXVsdHMsY2FsYzp0KCIuL2NhbGMiKS5jYWxjLHBsb3Q6dCgiLi9wbG90IiksbWV0YTp7fX19LHsiLi9hdHRyaWJ1dGVzIjoxMDQ5LCIuL2Jhc2VfcGxvdCI6MTA1MCwiLi9jYWxjIjoxMDUxLCIuL2RlZmF1bHRzIjoxMDUzLCIuL3Bsb3QiOjEwNTV9XSwxMDU1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9saWIiKSxpPWEucmFkMmRlZyxvPXQoIi4uLy4uL2NvbnN0YW50cy9hbGlnbm1lbnQiKS5NSURfU0hJRlQscz10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxsPXQoIi4vY29uc3RhbnRzIiksYz10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKSx1PXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksaD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19kZWZhdWx0cyIpLGY9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3Bvc2l0aW9uX2RlZmF1bHRzIikscD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxkPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxnPXtsZWZ0OiJzdGFydCIsY2VudGVyOiJtaWRkbGUiLHJpZ2h0OiJlbmQifSx2PXtsZWZ0OjAsY2VudGVyOi41LHJpZ2h0OjF9LG09L1t5emFmcG5ceGI1bWtNR1RQRVpZXS87ZnVuY3Rpb24geSh0KXtyZXR1cm4gdCYmdC5kdXJhdGlvbj4wfWZ1bmN0aW9uIHgodCl7dC5lYWNoKGZ1bmN0aW9uKHQpe2Quc3Ryb2tlKG4uc2VsZWN0KHRoaXMpLHQubGluZS5jb2xvcil9KS5lYWNoKGZ1bmN0aW9uKHQpe2QuZmlsbChuLnNlbGVjdCh0aGlzKSx0LmNvbG9yKX0pLnN0eWxlKCJzdHJva2Utd2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmxpbmUud2lkdGh9KX1mdW5jdGlvbiBiKHQsZSxyKXt2YXIgbj10Ll9mdWxsTGF5b3V0LGk9YS5leHRlbmRGbGF0KHt0eXBlOiJsaW5lYXIiLHRpY2tzOiJvdXRzaWRlIixyYW5nZTpyLHNob3dsaW5lOiEwfSxlKSxvPXt0eXBlOiJsaW5lYXIiLF9pZDoieCIrZS5faWR9LHM9e2xldHRlcjoieCIsZm9udDpuLmZvbnQsbm9Ib3ZlcjohMCxub1RpY2tzb246ITB9O2Z1bmN0aW9uIGwodCxlKXtyZXR1cm4gYS5jb2VyY2UoaSxvLHAsdCxlKX1yZXR1cm4gaChpLG8sbCxzLG4pLGYoaSxvLGwscyksb31mdW5jdGlvbiBfKHQsZSl7cmV0dXJuInRyYW5zbGF0ZSgiK3QrIiwiK2UrIikifWZ1bmN0aW9uIHcodCxlLHIpe3JldHVybltNYXRoLm1pbihlL3Qud2lkdGgsci90LmhlaWdodCksdCxlKyJ4IityXX1mdW5jdGlvbiBrKHQsZSxyLGEpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ0ZXh0Iiksbz1uLnNlbGVjdChpKTtyZXR1cm4gby50ZXh0KHQpLmF0dHIoIngiLDApLmF0dHIoInkiLDApLmF0dHIoInRleHQtYW5jaG9yIixyKS5hdHRyKCJkYXRhLXVuZm9ybWF0dGVkIix0KS5jYWxsKGMuY29udmVydFRvVHNwYW5zLGEpLmNhbGwocy5mb250LGUpLHMuYkJveChvLm5vZGUoKSl9ZnVuY3Rpb24gVCh0LGUscixuLGksbyl7dmFyIHM9Il9jYWNoZSIrZTt0W3NdJiZ0W3NdLmtleT09PWl8fCh0W3NdPXtrZXk6aSx2YWx1ZTpyfSk7dmFyIGw9YS5hZ2dOdW1zKG8sbnVsbCxbdFtzXS52YWx1ZSxuXSwyKTtyZXR1cm4gdFtzXS52YWx1ZT1sLGx9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGgpe3ZhciBmLHA9dC5fZnVsbExheW91dDt5KHIpJiZoJiYoZj1oKCkpLGEubWFrZVRyYWNlR3JvdXBzKHAuX2luZGljYXRvcmxheWVyLGUsInRyYWNlIikuZWFjaChmdW5jdGlvbihlKXt2YXIgaCxNLEEsUyxFLEw9ZVswXS50cmFjZSxDPW4uc2VsZWN0KHRoaXMpLFA9TC5faGFzR2F1Z2UsTz1MLl9pc0FuZ3VsYXIsej1MLl9pc0J1bGxldCxJPUwuZG9tYWluLEQ9e3c6cC5fc2l6ZS53KihJLnhbMV0tSS54WzBdKSxoOnAuX3NpemUuaCooSS55WzFdLUkueVswXSksbDpwLl9zaXplLmwrcC5fc2l6ZS53KkkueFswXSxyOnAuX3NpemUucitwLl9zaXplLncqKDEtSS54WzFdKSx0OnAuX3NpemUudCtwLl9zaXplLmgqKDEtSS55WzFdKSxiOnAuX3NpemUuYitwLl9zaXplLmgqSS55WzBdfSxSPUQubCtELncvMixGPUQudCtELmgvMixCPU1hdGgubWluKEQudy8yLEQuaCksTj1sLmlubmVyUmFkaXVzKkIsaj1MLmFsaWdufHwiY2VudGVyIjtpZihNPUYsUCl7aWYoTyYmKGg9UixNPUYrQi8yLEE9ZnVuY3Rpb24odCl7cmV0dXJuIGU9dCxyPS45Kk4sbj1NYXRoLnNxcnQoZS53aWR0aC8yKihlLndpZHRoLzIpK2UuaGVpZ2h0KmUuaGVpZ2h0KSxbci9uLGUscl07dmFyIGUscixufSkseil7dmFyIFY9bC5idWxsZXRQYWRkaW5nLFU9MS1sLmJ1bGxldE51bWJlckRvbWFpblNpemUrVjtoPUQubCsoVSsoMS1VKSp2W2pdKSpELncsQT1mdW5jdGlvbih0KXtyZXR1cm4gdyh0LChsLmJ1bGxldE51bWJlckRvbWFpblNpemUtVikqRC53LEQuaCl9fX1lbHNlIGg9RC5sK3Zbal0qRC53LEE9ZnVuY3Rpb24odCl7cmV0dXJuIHcodCxELncsRC5oKX07IWZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvLGwsaCxmPXJbMF0udHJhY2UscD1pLm51bWJlcnNYLHg9aS5udW1iZXJzWSx3PWYuYWxpZ258fCJjZW50ZXIiLE09Z1t3XSxBPWkudHJhbnNpdGlvbk9wdHMsUz1pLm9uQ29tcGxldGUsRT1hLmVuc3VyZVNpbmdsZShlLCJnIiwibnVtYmVycyIpLEw9W107Zi5faGFzTnVtYmVyJiZMLnB1c2goIm51bWJlciIpO2YuX2hhc0RlbHRhJiYoTC5wdXNoKCJkZWx0YSIpLCJsZWZ0Ij09PWYuZGVsdGEucG9zaXRpb24mJkwucmV2ZXJzZSgpKTt2YXIgQz1FLnNlbGVjdEFsbCgidGV4dCIpLmRhdGEoTCk7ZnVuY3Rpb24gUChlLHIsbixhKXtpZighZS5tYXRjaCgicyIpfHxuPj0wPT1hPj0wfHxyKG4pLnNsaWNlKC0xKS5tYXRjaChtKXx8cihhKS5zbGljZSgtMSkubWF0Y2gobSkpcmV0dXJuIHI7dmFyIGk9ZS5zbGljZSgpLnJlcGxhY2UoInMiLCJmIikucmVwbGFjZSgvXGQrLyxmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VJbnQodCktMX0pLG89Yih0LHt0aWNrZm9ybWF0Oml9KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguYWJzKHQpPDE/dS50aWNrVGV4dChvLHQpLnRleHQ6cih0KX19Qy5lbnRlcigpLmFwcGVuZCgidGV4dCIpLEMuYXR0cigidGV4dC1hbmNob3IiLGZ1bmN0aW9uKCl7cmV0dXJuIE19KS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuIHR9KS5hdHRyKCJ4IixudWxsKS5hdHRyKCJ5IixudWxsKS5hdHRyKCJkeCIsbnVsbCkuYXR0cigiZHkiLG51bGwpLEMuZXhpdCgpLnJlbW92ZSgpO3ZhciBPLHo9Zi5tb2RlK2YuYWxpZ247Zi5faGFzRGVsdGEmJihPPWZ1bmN0aW9uKCl7dmFyIGU9Yih0LHt0aWNrZm9ybWF0OmYuZGVsdGEudmFsdWVmb3JtYXR9LGYuX3JhbmdlKTtlLnNldFNjYWxlKCksdS5wcmVwVGlja3MoZSk7dmFyIGE9ZnVuY3Rpb24odCl7cmV0dXJuIHUudGlja1RleHQoZSx0KS50ZXh0fSxpPWZ1bmN0aW9uKHQpe3ZhciBlPWYuZGVsdGEucmVsYXRpdmU/dC5yZWxhdGl2ZURlbHRhOnQuZGVsdGE7cmV0dXJuIGV9LG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXR8fCJudW1iZXIiIT10eXBlb2YgdHx8aXNOYU4odCk/Ii0iOih0PjA/Zi5kZWx0YS5pbmNyZWFzaW5nLnN5bWJvbDpmLmRlbHRhLmRlY3JlYXNpbmcuc3ltYm9sKStlKHQpfSxoPWZ1bmN0aW9uKHQpe3JldHVybiB0LmRlbHRhPj0wP2YuZGVsdGEuaW5jcmVhc2luZy5jb2xvcjpmLmRlbHRhLmRlY3JlYXNpbmcuY29sb3J9O3ZvaWQgMD09PWYuX2RlbHRhTGFzdFZhbHVlJiYoZi5fZGVsdGFMYXN0VmFsdWU9aShyWzBdKSk7dmFyIHA9RS5zZWxlY3QoInRleHQuZGVsdGEiKTtmdW5jdGlvbiBnKCl7cC50ZXh0KG8oaShyWzBdKSxhKSkuY2FsbChkLmZpbGwsaChyWzBdKSkuY2FsbChjLmNvbnZlcnRUb1RzcGFucyx0KX1wLmNhbGwocy5mb250LGYuZGVsdGEuZm9udCkuY2FsbChkLmZpbGwsaCh7ZGVsdGE6Zi5fZGVsdGFMYXN0VmFsdWV9KSkseShBKT9wLnRyYW5zaXRpb24oKS5kdXJhdGlvbihBLmR1cmF0aW9uKS5lYXNlKEEuZWFzaW5nKS50d2VlbigidGV4dCIsZnVuY3Rpb24oKXt2YXIgdD1uLnNlbGVjdCh0aGlzKSxlPWkoclswXSkscz1mLl9kZWx0YUxhc3RWYWx1ZSxsPVAoZi5kZWx0YS52YWx1ZWZvcm1hdCxhLHMsZSksYz1uLmludGVycG9sYXRlTnVtYmVyKHMsZSk7cmV0dXJuIGYuX2RlbHRhTGFzdFZhbHVlPWUsZnVuY3Rpb24oZSl7dC50ZXh0KG8oYyhlKSxsKSksdC5jYWxsKGQuZmlsbCxoKHtkZWx0YTpjKGUpfSkpfX0pLmVhY2goImVuZCIsZnVuY3Rpb24oKXtnKCksUyYmUygpfSkuZWFjaCgiaW50ZXJydXB0IixmdW5jdGlvbigpe2coKSxTJiZTKCl9KTpnKCk7cmV0dXJuIGw9ayhvKGkoclswXSksYSksZi5kZWx0YS5mb250LE0sdCkscH0oKSx6Kz1mLmRlbHRhLnBvc2l0aW9uK2YuZGVsdGEuZm9udC5zaXplK2YuZGVsdGEuZm9udC5mYW1pbHkrZi5kZWx0YS52YWx1ZWZvcm1hdCx6Kz1mLmRlbHRhLmluY3JlYXNpbmcuc3ltYm9sK2YuZGVsdGEuZGVjcmVhc2luZy5zeW1ib2wsaD1sKTtmLl9oYXNOdW1iZXImJighZnVuY3Rpb24oKXt2YXIgZT1iKHQse3RpY2tmb3JtYXQ6Zi5udW1iZXIudmFsdWVmb3JtYXR9LGYuX3JhbmdlKTtlLnNldFNjYWxlKCksdS5wcmVwVGlja3MoZSk7dmFyIGE9ZnVuY3Rpb24odCl7cmV0dXJuIHUudGlja1RleHQoZSx0KS50ZXh0fSxpPWYubnVtYmVyLnN1ZmZpeCxsPWYubnVtYmVyLnByZWZpeCxoPUUuc2VsZWN0KCJ0ZXh0Lm51bWJlciIpO2Z1bmN0aW9uIHAoKXt2YXIgZT0ibnVtYmVyIj09dHlwZW9mIHJbMF0ueT9sK2EoclswXS55KStpOiItIjtoLnRleHQoZSkuY2FsbChzLmZvbnQsZi5udW1iZXIuZm9udCkuY2FsbChjLmNvbnZlcnRUb1RzcGFucyx0KX15KEEpP2gudHJhbnNpdGlvbigpLmR1cmF0aW9uKEEuZHVyYXRpb24pLmVhc2UoQS5lYXNpbmcpLmVhY2goImVuZCIsZnVuY3Rpb24oKXtwKCksUyYmUygpfSkuZWFjaCgiaW50ZXJydXB0IixmdW5jdGlvbigpe3AoKSxTJiZTKCl9KS5hdHRyVHdlZW4oInRleHQiLGZ1bmN0aW9uKCl7dmFyIHQ9bi5zZWxlY3QodGhpcyksZT1uLmludGVycG9sYXRlTnVtYmVyKHJbMF0ubGFzdFksclswXS55KTtmLl9sYXN0VmFsdWU9clswXS55O3ZhciBvPVAoZi5udW1iZXIudmFsdWVmb3JtYXQsYSxyWzBdLmxhc3RZLHJbMF0ueSk7cmV0dXJuIGZ1bmN0aW9uKHIpe3QudGV4dChsK28oZShyKSkraSl9fSk6cCgpO289ayhsK2EoclswXS55KStpLGYubnVtYmVyLmZvbnQsTSx0KX0oKSx6Kz1mLm51bWJlci5mb250LnNpemUrZi5udW1iZXIuZm9udC5mYW1pbHkrZi5udW1iZXIudmFsdWVmb3JtYXQrZi5udW1iZXIuc3VmZml4K2YubnVtYmVyLnByZWZpeCxoPW8pO2lmKGYuX2hhc0RlbHRhJiZmLl9oYXNOdW1iZXIpe3ZhciBJLEQsUj1bKG8ubGVmdCtvLnJpZ2h0KS8yLChvLnRvcCtvLmJvdHRvbSkvMl0sRj1bKGwubGVmdCtsLnJpZ2h0KS8yLChsLnRvcCtsLmJvdHRvbSkvMl0sQj0uNzUqZi5kZWx0YS5mb250LnNpemU7ImxlZnQiPT09Zi5kZWx0YS5wb3NpdGlvbiYmKEk9VChmLCJkZWx0YVBvcyIsMCwtMSooby53aWR0aCp2W2YuYWxpZ25dK2wud2lkdGgqKDEtdltmLmFsaWduXSkrQikseixNYXRoLm1pbiksRD1SWzFdLUZbMV0saD17d2lkdGg6by53aWR0aCtsLndpZHRoK0IsaGVpZ2h0Ok1hdGgubWF4KG8uaGVpZ2h0LGwuaGVpZ2h0KSxsZWZ0OmwubGVmdCtJLHJpZ2h0Om8ucmlnaHQsdG9wOk1hdGgubWluKG8udG9wLGwudG9wK0QpLGJvdHRvbTpNYXRoLm1heChvLmJvdHRvbSxsLmJvdHRvbStEKX0pLCJyaWdodCI9PT1mLmRlbHRhLnBvc2l0aW9uJiYoST1UKGYsImRlbHRhUG9zIiwwLG8ud2lkdGgqKDEtdltmLmFsaWduXSkrbC53aWR0aCp2W2YuYWxpZ25dK0IseixNYXRoLm1heCksRD1SWzFdLUZbMV0saD17d2lkdGg6by53aWR0aCtsLndpZHRoK0IsaGVpZ2h0Ok1hdGgubWF4KG8uaGVpZ2h0LGwuaGVpZ2h0KSxsZWZ0Om8ubGVmdCxyaWdodDpsLnJpZ2h0K0ksdG9wOk1hdGgubWluKG8udG9wLGwudG9wK0QpLGJvdHRvbTpNYXRoLm1heChvLmJvdHRvbSxsLmJvdHRvbStEKX0pLCJib3R0b20iPT09Zi5kZWx0YS5wb3NpdGlvbiYmKEk9bnVsbCxEPWwuaGVpZ2h0LGg9e3dpZHRoOk1hdGgubWF4KG8ud2lkdGgsbC53aWR0aCksaGVpZ2h0Om8uaGVpZ2h0K2wuaGVpZ2h0LGxlZnQ6TWF0aC5taW4oby5sZWZ0LGwubGVmdCkscmlnaHQ6TWF0aC5tYXgoby5yaWdodCxsLnJpZ2h0KSx0b3A6by5ib3R0b20tby5oZWlnaHQsYm90dG9tOm8uYm90dG9tK2wuaGVpZ2h0fSksInRvcCI9PT1mLmRlbHRhLnBvc2l0aW9uJiYoST1udWxsLEQ9by50b3AsaD17d2lkdGg6TWF0aC5tYXgoby53aWR0aCxsLndpZHRoKSxoZWlnaHQ6by5oZWlnaHQrbC5oZWlnaHQsbGVmdDpNYXRoLm1pbihvLmxlZnQsbC5sZWZ0KSxyaWdodDpNYXRoLm1heChvLnJpZ2h0LGwucmlnaHQpLHRvcDpvLmJvdHRvbS1vLmhlaWdodC1sLmhlaWdodCxib3R0b206by5ib3R0b219KSxPLmF0dHIoe2R4OkksZHk6RH0pfShmLl9oYXNOdW1iZXJ8fGYuX2hhc0RlbHRhKSYmRS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKCl7dmFyIHQ9aS5udW1iZXJzU2NhbGVyKGgpO3orPXRbMl07dmFyIGUscj1UKGYsIm51bWJlcnNTY2FsZSIsMSx0WzBdLHosTWF0aC5taW4pO2YuX3NjYWxlTnVtYmVyc3x8KHI9MSksZT1mLl9pc0FuZ3VsYXI/eC1yKmguYm90dG9tOngtciooaC50b3AraC5ib3R0b20pLzIsZi5fbnVtYmVyc1RvcD1yKmgudG9wK2U7dmFyIG49aFt3XTsiY2VudGVyIj09PXcmJihuPShoLmxlZnQraC5yaWdodCkvMik7dmFyIGE9cC1yKm47cmV0dXJuIF8oYT1UKGYsIm51bWJlcnNUcmFuc2xhdGUiLDAsYSx6LE1hdGgubWF4KSxlKSsiIHNjYWxlKCIrcisiKSJ9KX0odCxDLGUse251bWJlcnNYOmgsbnVtYmVyc1k6TSxudW1iZXJzU2NhbGVyOkEsdHJhbnNpdGlvbk9wdHM6cixvbkNvbXBsZXRlOmZ9KSxQJiYoUz17cmFuZ2U6TC5nYXVnZS5heGlzLnJhbmdlLGNvbG9yOkwuZ2F1Z2UuYmdjb2xvcixsaW5lOntjb2xvcjpMLmdhdWdlLmJvcmRlcmNvbG9yLHdpZHRoOjB9LHRoaWNrbmVzczoxfSxFPXtyYW5nZTpMLmdhdWdlLmF4aXMucmFuZ2UsY29sb3I6InJnYmEoMCwgMCwgMCwgMCkiLGxpbmU6e2NvbG9yOkwuZ2F1Z2UuYm9yZGVyY29sb3Isd2lkdGg6TC5nYXVnZS5ib3JkZXJ3aWR0aH0sdGhpY2tuZXNzOjF9KTt2YXIgcT1DLnNlbGVjdEFsbCgiZy5hbmd1bGFyIikuZGF0YShPP2U6W10pO3EuZXhpdCgpLnJlbW92ZSgpO3ZhciBIPUMuc2VsZWN0QWxsKCJnLmFuZ3VsYXJheGlzIikuZGF0YShPP2U6W10pO0guZXhpdCgpLnJlbW92ZSgpLE8mJmZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBzLGwsYyxoLGY9clswXS50cmFjZSxwPWEuc2l6ZSxkPWEucmFkaXVzLGc9YS5pbm5lclJhZGl1cyx2PWEuZ2F1Z2VCZyxtPWEuZ2F1Z2VPdXRsaW5lLHc9W3AubCtwLncvMixwLnQrcC5oLzIrZC8yXSxrPWEuZ2F1Z2UsVD1hLmxheWVyLE09YS50cmFuc2l0aW9uT3B0cyxBPWEub25Db21wbGV0ZSxTPU1hdGguUEkvMjtmdW5jdGlvbiBFKHQpe3ZhciBlPWYuZ2F1Z2UuYXhpcy5yYW5nZVswXSxyPWYuZ2F1Z2UuYXhpcy5yYW5nZVsxXSxuPSh0LWUpLyhyLWUpKk1hdGguUEktUztyZXR1cm4gbjwtUz8tUzpuPlM/UzpufWZ1bmN0aW9uIEwodCl7cmV0dXJuIG4uc3ZnLmFyYygpLmlubmVyUmFkaXVzKChnK2QpLzItdC8yKihkLWcpKS5vdXRlclJhZGl1cygoZytkKS8yK3QvMiooZC1nKSkuc3RhcnRBbmdsZSgtUyl9ZnVuY3Rpb24gQyh0KXt0LmF0dHIoImQiLGZ1bmN0aW9uKHQpe3JldHVybiBMKHQudGhpY2tuZXNzKS5zdGFydEFuZ2xlKEUodC5yYW5nZVswXSkpLmVuZEFuZ2xlKEUodC5yYW5nZVsxXSkpKCl9KX1rLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ndWxhciIsITApLGsuYXR0cigidHJhbnNmb3JtIixfKHdbMF0sd1sxXSkpLFQuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJhbmd1bGFyYXhpcyIsITApLmNsYXNzZWQoImNyaXNwIiwhMCksVC5zZWxlY3RBbGwoImcueGFuZ3VsYXJheGlzdGljayxwYXRoLHRleHQiKS5yZW1vdmUoKSwocz1iKHQsZi5nYXVnZS5heGlzKSkudHlwZT0ibGluZWFyIixzLnJhbmdlPWYuZ2F1Z2UuYXhpcy5yYW5nZSxzLl9pZD0ieGFuZ3VsYXJheGlzIixzLnNldFNjYWxlKCk7dmFyIFA9ZnVuY3Rpb24odCl7cmV0dXJuKHMucmFuZ2VbMF0tdC54KS8ocy5yYW5nZVsxXS1zLnJhbmdlWzBdKSpNYXRoLlBJK01hdGguUEl9LE89e30sej11Lm1ha2VMYWJlbEZucyhzLDApLmxhYmVsU3RhbmRvZmY7Ty54Rm49ZnVuY3Rpb24odCl7dmFyIGU9UCh0KTtyZXR1cm4gTWF0aC5jb3MoZSkqen0sTy55Rm49ZnVuY3Rpb24odCl7dmFyIGU9UCh0KSxyPU1hdGguc2luKGUpPjA/LjI6MTtyZXR1cm4tTWF0aC5zaW4oZSkqKHordC5mb250U2l6ZSpyKStNYXRoLmFicyhNYXRoLmNvcyhlKSkqKHQuZm9udFNpemUqbyl9LE8uYW5jaG9yRm49ZnVuY3Rpb24odCl7dmFyIGU9UCh0KSxyPU1hdGguY29zKGUpO3JldHVybiBNYXRoLmFicyhyKTwuMT8ibWlkZGxlIjpyPjA/InN0YXJ0IjoiZW5kIn0sTy5oZWlnaHRGbj1mdW5jdGlvbih0LGUscil7dmFyIG49UCh0KTtyZXR1cm4tLjUqKDErTWF0aC5zaW4obikpKnJ9O3ZhciBJPWZ1bmN0aW9uKHQpe3JldHVybiBfKHdbMF0rZCpNYXRoLmNvcyh0KSx3WzFdLWQqTWF0aC5zaW4odCkpfTtjPWZ1bmN0aW9uKHQpe3JldHVybiBJKFAodCkpfTtpZihsPXUuY2FsY1RpY2tzKHMpLGg9dS5nZXRUaWNrU2lnbnMocylbMl0scy52aXNpYmxlKXtoPSJpbnNpZGUiPT09cy50aWNrcz8tMToxO3ZhciBEPShzLmxpbmV3aWR0aHx8MSkvMjt1LmRyYXdUaWNrcyh0LHMse3ZhbHM6bCxsYXllcjpULHBhdGg6Ik0iK2gqRCsiLDBoIitoKnMudGlja2xlbix0cmFuc0ZuOmZ1bmN0aW9uKHQpe3ZhciBlPVAodCk7cmV0dXJuIEkoZSkrInJvdGF0ZSgiKy1pKGUpKyIpIn19KSx1LmRyYXdMYWJlbHModCxzLHt2YWxzOmwsbGF5ZXI6VCx0cmFuc0ZuOmMsbGFiZWxGbnM6T30pfXZhciBSPVt2XS5jb25jYXQoZi5nYXVnZS5zdGVwcyksRj1rLnNlbGVjdEFsbCgiZy5iZy1hcmMiKS5kYXRhKFIpO0YuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJiZy1hcmMiLCEwKS5hcHBlbmQoInBhdGgiKSxGLnNlbGVjdCgicGF0aCIpLmNhbGwoQykuY2FsbCh4KSxGLmV4aXQoKS5yZW1vdmUoKTt2YXIgQj1MKGYuZ2F1Z2UuYmFyLnRoaWNrbmVzcyksTj1rLnNlbGVjdEFsbCgiZy52YWx1ZS1hcmMiKS5kYXRhKFtmLmdhdWdlLmJhcl0pO04uZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ2YWx1ZS1hcmMiLCEwKS5hcHBlbmQoInBhdGgiKTt2YXIgaj1OLnNlbGVjdCgicGF0aCIpO3koTSk/KGoudHJhbnNpdGlvbigpLmR1cmF0aW9uKE0uZHVyYXRpb24pLmVhc2UoTS5lYXNpbmcpLmVhY2goImVuZCIsZnVuY3Rpb24oKXtBJiZBKCl9KS5lYWNoKCJpbnRlcnJ1cHQiLGZ1bmN0aW9uKCl7QSYmQSgpfSkuYXR0clR3ZWVuKCJkIiwoVj1CLFU9RShyWzBdLmxhc3RZKSxxPUUoclswXS55KSxmdW5jdGlvbigpe3ZhciB0PW4uaW50ZXJwb2xhdGUoVSxxKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIFYuZW5kQW5nbGUodChlKSkoKX19KSksZi5fbGFzdFZhbHVlPXJbMF0ueSk6ai5hdHRyKCJkIiwibnVtYmVyIj09dHlwZW9mIHJbMF0ueT9CLmVuZEFuZ2xlKEUoclswXS55KSk6Ik0wLDBaIik7dmFyIFYsVSxxO2ouY2FsbCh4KSxOLmV4aXQoKS5yZW1vdmUoKSxSPVtdO3ZhciBIPWYuZ2F1Z2UudGhyZXNob2xkLnZhbHVlO0gmJlIucHVzaCh7cmFuZ2U6W0gsSF0sY29sb3I6Zi5nYXVnZS50aHJlc2hvbGQuY29sb3IsbGluZTp7Y29sb3I6Zi5nYXVnZS50aHJlc2hvbGQubGluZS5jb2xvcix3aWR0aDpmLmdhdWdlLnRocmVzaG9sZC5saW5lLndpZHRofSx0aGlja25lc3M6Zi5nYXVnZS50aHJlc2hvbGQudGhpY2tuZXNzfSk7dmFyIEc9ay5zZWxlY3RBbGwoImcudGhyZXNob2xkLWFyYyIpLmRhdGEoUik7Ry5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInRocmVzaG9sZC1hcmMiLCEwKS5hcHBlbmQoInBhdGgiKSxHLnNlbGVjdCgicGF0aCIpLmNhbGwoQykuY2FsbCh4KSxHLmV4aXQoKS5yZW1vdmUoKTt2YXIgWT1rLnNlbGVjdEFsbCgiZy5nYXVnZS1vdXRsaW5lIikuZGF0YShbbV0pO1kuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJnYXVnZS1vdXRsaW5lIiwhMCkuYXBwZW5kKCJwYXRoIiksWS5zZWxlY3QoInBhdGgiKS5jYWxsKEMpLmNhbGwoeCksWS5leGl0KCkucmVtb3ZlKCl9KHQsMCxlLHtyYWRpdXM6Qixpbm5lclJhZGl1czpOLGdhdWdlOnEsbGF5ZXI6SCxzaXplOkQsZ2F1Z2VCZzpTLGdhdWdlT3V0bGluZTpFLHRyYW5zaXRpb25PcHRzOnIsb25Db21wbGV0ZTpmfSk7dmFyIEc9Qy5zZWxlY3RBbGwoImcuYnVsbGV0IikuZGF0YSh6P2U6W10pO0cuZXhpdCgpLnJlbW92ZSgpO3ZhciBZPUMuc2VsZWN0QWxsKCJnLmJ1bGxldGF4aXMiKS5kYXRhKHo/ZTpbXSk7WS5leGl0KCkucmVtb3ZlKCkseiYmZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsaSxvLHMsYyxoPXJbMF0udHJhY2UsZj1uLmdhdWdlLHA9bi5sYXllcixnPW4uZ2F1Z2VCZyx2PW4uZ2F1Z2VPdXRsaW5lLG09bi5zaXplLF89aC5kb21haW4sdz1uLnRyYW5zaXRpb25PcHRzLGs9bi5vbkNvbXBsZXRlO2YuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJidWxsZXQiLCEwKSxmLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK20ubCsiLCAiK20udCsiKSIpLHAuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJidWxsZXRheGlzIiwhMCkuY2xhc3NlZCgiY3Jpc3AiLCEwKSxwLnNlbGVjdEFsbCgiZy54YnVsbGV0YXhpc3RpY2sscGF0aCx0ZXh0IikucmVtb3ZlKCk7dmFyIFQ9bS5oLE09aC5nYXVnZS5iYXIudGhpY2tuZXNzKlQsQT1fLnhbMF0sUz1fLnhbMF0rKF8ueFsxXS1fLnhbMF0pKihoLl9oYXNOdW1iZXJ8fGguX2hhc0RlbHRhPzEtbC5idWxsZXROdW1iZXJEb21haW5TaXplOjEpOyhhPWIodCxoLmdhdWdlLmF4aXMpKS5faWQ9InhidWxsZXRheGlzIixhLmRvbWFpbj1bQSxTXSxhLnNldFNjYWxlKCksaT11LmNhbGNUaWNrcyhhKSxvPXUubWFrZVRyYW5zRm4oYSkscz11LmdldFRpY2tTaWducyhhKVsyXSxjPW0udCttLmgsYS52aXNpYmxlJiYodS5kcmF3VGlja3ModCxhLHt2YWxzOiJpbnNpZGUiPT09YS50aWNrcz91LmNsaXBFbmRzKGEsaSk6aSxsYXllcjpwLHBhdGg6dS5tYWtlVGlja1BhdGgoYSxjLHMpLHRyYW5zRm46b30pLHUuZHJhd0xhYmVscyh0LGEse3ZhbHM6aSxsYXllcjpwLHRyYW5zRm46byxsYWJlbEZuczp1Lm1ha2VMYWJlbEZucyhhLGMpfSkpO2Z1bmN0aW9uIEUodCl7dC5hdHRyKCJ3aWR0aCIsZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsYS5jMnAodC5yYW5nZVsxXSktYS5jMnAodC5yYW5nZVswXSkpfSkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIGEuYzJwKHQucmFuZ2VbMF0pfSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuLjUqKDEtdC50aGlja25lc3MpKlR9KS5hdHRyKCJoZWlnaHQiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnRoaWNrbmVzcypUfSl9dmFyIEw9W2ddLmNvbmNhdChoLmdhdWdlLnN0ZXBzKSxDPWYuc2VsZWN0QWxsKCJnLmJnLWJ1bGxldCIpLmRhdGEoTCk7Qy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJnLWJ1bGxldCIsITApLmFwcGVuZCgicmVjdCIpLEMuc2VsZWN0KCJyZWN0IikuY2FsbChFKS5jYWxsKHgpLEMuZXhpdCgpLnJlbW92ZSgpO3ZhciBQPWYuc2VsZWN0QWxsKCJnLnZhbHVlLWJ1bGxldCIpLmRhdGEoW2guZ2F1Z2UuYmFyXSk7UC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInZhbHVlLWJ1bGxldCIsITApLmFwcGVuZCgicmVjdCIpLFAuc2VsZWN0KCJyZWN0IikuYXR0cigiaGVpZ2h0IixNKS5hdHRyKCJ5IiwoVC1NKS8yKS5jYWxsKHgpLHkodyk/UC5zZWxlY3QoInJlY3QiKS50cmFuc2l0aW9uKCkuZHVyYXRpb24ody5kdXJhdGlvbikuZWFzZSh3LmVhc2luZykuZWFjaCgiZW5kIixmdW5jdGlvbigpe2smJmsoKX0pLmVhY2goImludGVycnVwdCIsZnVuY3Rpb24oKXtrJiZrKCl9KS5hdHRyKCJ3aWR0aCIsTWF0aC5tYXgoMCxhLmMycChNYXRoLm1pbihoLmdhdWdlLmF4aXMucmFuZ2VbMV0sclswXS55KSkpKTpQLnNlbGVjdCgicmVjdCIpLmF0dHIoIndpZHRoIiwibnVtYmVyIj09dHlwZW9mIHJbMF0ueT9NYXRoLm1heCgwLGEuYzJwKE1hdGgubWluKGguZ2F1Z2UuYXhpcy5yYW5nZVsxXSxyWzBdLnkpKSk6MCk7UC5leGl0KCkucmVtb3ZlKCk7dmFyIE89ci5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gaC5nYXVnZS50aHJlc2hvbGQudmFsdWV9KSx6PWYuc2VsZWN0QWxsKCJnLnRocmVzaG9sZC1idWxsZXQiKS5kYXRhKE8pO3ouZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ0aHJlc2hvbGQtYnVsbGV0IiwhMCkuYXBwZW5kKCJsaW5lIiksei5zZWxlY3QoImxpbmUiKS5hdHRyKCJ4MSIsYS5jMnAoaC5nYXVnZS50aHJlc2hvbGQudmFsdWUpKS5hdHRyKCJ4MiIsYS5jMnAoaC5nYXVnZS50aHJlc2hvbGQudmFsdWUpKS5hdHRyKCJ5MSIsKDEtaC5nYXVnZS50aHJlc2hvbGQudGhpY2tuZXNzKS8yKlQpLmF0dHIoInkyIiwoMS0oMS1oLmdhdWdlLnRocmVzaG9sZC50aGlja25lc3MpLzIpKlQpLmNhbGwoZC5zdHJva2UsaC5nYXVnZS50aHJlc2hvbGQubGluZS5jb2xvcikuc3R5bGUoInN0cm9rZS13aWR0aCIsaC5nYXVnZS50aHJlc2hvbGQubGluZS53aWR0aCksei5leGl0KCkucmVtb3ZlKCk7dmFyIEk9Zi5zZWxlY3RBbGwoImcuZ2F1Z2Utb3V0bGluZSIpLmRhdGEoW3ZdKTtJLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiZ2F1Z2Utb3V0bGluZSIsITApLmFwcGVuZCgicmVjdCIpLEkuc2VsZWN0KCJyZWN0IikuY2FsbChFKS5jYWxsKHgpLEkuZXhpdCgpLnJlbW92ZSgpfSh0LDAsZSx7Z2F1Z2U6RyxsYXllcjpZLHNpemU6RCxnYXVnZUJnOlMsZ2F1Z2VPdXRsaW5lOkUsdHJhbnNpdGlvbk9wdHM6cixvbkNvbXBsZXRlOmZ9KTt2YXIgVz1DLnNlbGVjdEFsbCgidGV4dC50aXRsZSIpLmRhdGEoZSk7Vy5leGl0KCkucmVtb3ZlKCksVy5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoInRpdGxlIiwhMCksVy5hdHRyKCJ0ZXh0LWFuY2hvciIsZnVuY3Rpb24oKXtyZXR1cm4gej9nLnJpZ2h0OmdbTC50aXRsZS5hbGlnbl19KS50ZXh0KEwudGl0bGUudGV4dCkuY2FsbChzLmZvbnQsTC50aXRsZS5mb250KS5jYWxsKGMuY29udmVydFRvVHNwYW5zLHQpLFcuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbigpe3ZhciB0LGU9RC5sK0Qudyp2W0wudGl0bGUuYWxpZ25dLHI9bC50aXRsZVBhZGRpbmcsbj1zLmJCb3goVy5ub2RlKCkpO2lmKFApe2lmKE8paWYoTC5nYXVnZS5heGlzLnZpc2libGUpdD1zLmJCb3goSC5ub2RlKCkpLnRvcC1yLW4uYm90dG9tO2Vsc2UgdD1ELnQrRC5oLzItQi8yLW4uYm90dG9tLXI7eiYmKHQ9TS0obi50b3Arbi5ib3R0b20pLzIsZT1ELmwtbC5idWxsZXRQYWRkaW5nKkQudyl9ZWxzZSB0PUwuX251bWJlcnNUb3Atci1uLmJvdHRvbTtyZXR1cm4gXyhlLHQpfSl9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vY29uc3RhbnRzL2FsaWdubWVudCI6Njg2LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGlzX2RlZmF1bHRzIjo3NjcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9sYXlvdXRfYXR0cmlidXRlcyI6Nzc3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vcG9zaXRpb25fZGVmYXVsdHMiOjc4MCwiLi9jb25zdGFudHMiOjEwNTIsZDM6MTY1fV0sMTA1NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxpPXQoIi4uL21lc2gzZC9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxsPXQoIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiKS5vdmVycmlkZUFsbDt2YXIgYz1lLmV4cG9ydHM9bChzKHt4Ont2YWxUeXBlOiJkYXRhX2FycmF5In0seTp7dmFsVHlwZToiZGF0YV9hcnJheSJ9LHo6e3ZhbFR5cGU6ImRhdGFfYXJyYXkifSx2YWx1ZTp7dmFsVHlwZToiZGF0YV9hcnJheSJ9LGlzb21pbjp7dmFsVHlwZToibnVtYmVyIn0saXNvbWF4Ont2YWxUeXBlOiJudW1iZXIifSxzdXJmYWNlOntzaG93Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSxjb3VudDp7dmFsVHlwZToiaW50ZWdlciIsZGZsdDoyLG1pbjoxfSxmaWxsOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MX0scGF0dGVybjp7dmFsVHlwZToiZmxhZ2xpc3QiLGZsYWdzOlsiQSIsIkIiLCJDIiwiRCIsIkUiXSxleHRyYXM6WyJhbGwiLCJvZGQiLCJldmVuIl0sZGZsdDoiYWxsIn19LHNwYWNlZnJhbWU6e3Nob3c6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LGZpbGw6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDouMTV9fSxzbGljZXM6e3g6e3Nob3c6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LGxvY2F0aW9uczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZGZsdDpbXX0sZmlsbDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjF9fSx5OntzaG93Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxsb2NhdGlvbnM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGRmbHQ6W119LGZpbGw6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxfX0sejp7c2hvdzp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sbG9jYXRpb25zOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdfSxmaWxsOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MX19fSxjYXBzOnt4OntzaG93Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwfSxmaWxsOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MX19LHk6e3Nob3c6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LGZpbGw6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxfX0sejp7c2hvdzp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMH0sZmlsbDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjF9fX0sdGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITB9LGhvdmVydGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITB9LGhvdmVydGVtcGxhdGU6YSgpLHNob3dsZWdlbmQ6cyh7fSxvLnNob3dsZWdlbmQse2RmbHQ6ITF9KX0sbigiIix7Y29sb3JBdHRyOiJgdmFsdWVgIixzaG93U2NhbGVEZmx0OiEwLGVkaXRUeXBlT3ZlcnJpZGU6ImNhbGMifSkse29wYWNpdHk6aS5vcGFjaXR5LGxpZ2h0cG9zaXRpb246aS5saWdodHBvc2l0aW9uLGxpZ2h0aW5nOmkubGlnaHRpbmcsZmxhdHNoYWRpbmc6aS5mbGF0c2hhZGluZyxjb250b3VyOmkuY29udG91cixob3ZlcmluZm86cyh7fSxvLmhvdmVyaW5mbyl9KSwiY2FsYyIsIm5lc3RlZCIpO2MuZmxhdHNoYWRpbmcuZGZsdD0hMCxjLmxpZ2h0aW5nLmZhY2Vub3JtYWxzZXBzaWxvbi5kZmx0PTAsYy54LmVkaXRUeXBlPWMueS5lZGl0VHlwZT1jLnouZWRpdFR5cGU9Yy52YWx1ZS5lZGl0VHlwZT0iY2FsYytjbGVhckF4aXNUeXBlcyIsYy50cmFuc2Zvcm1zPXZvaWQgMH0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL21lc2gzZC9hdHRyaWJ1dGVzIjoxMDYxfV0sMTA1NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyIpLGE9dCgiLi4vc3RyZWFtdHViZS9jYWxjIikucHJvY2Vzc0dyaWQsaT10KCIuLi9zdHJlYW10dWJlL2NhbGMiKS5maWx0ZXI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZS5fbGVuPU1hdGgubWluKGUueC5sZW5ndGgsZS55Lmxlbmd0aCxlLnoubGVuZ3RoLGUudmFsdWUubGVuZ3RoKSxlLl94PWkoZS54LGUuX2xlbiksZS5feT1pKGUueSxlLl9sZW4pLGUuX3o9aShlLnosZS5fbGVuKSxlLl92YWx1ZT1pKGUudmFsdWUsZS5fbGVuKTt2YXIgcj1hKGUpO2UuX2dyaWRGaWxsPXIuZmlsbCxlLl9Ycz1yLlhzLGUuX1lzPXIuWXMsZS5fWnM9ci5acyxlLl9sZW49ci5sZW47Zm9yKHZhciBvPTEvMCxzPS0xLzAsbD0wO2w8ZS5fbGVuO2wrKyl7dmFyIGM9ZS5fdmFsdWVbbF07bz1NYXRoLm1pbihvLGMpLHM9TWF0aC5tYXgocyxjKX1lLl9taW5WYWx1ZXM9byxlLl9tYXhWYWx1ZXM9cyxlLl92TWluPXZvaWQgMD09PWUuaXNvbWlufHxudWxsPT09ZS5pc29taW4/bzplLmlzb21pbixlLl92TWF4PXZvaWQgMD09PWUuaXNvbWF4fHxudWxsPT09ZS5pc29taW4/czplLmlzb21heCxuKHQsZSx7dmFsczpbZS5fdk1pbixlLl92TWF4XSxjb250YWluZXJTdHI6IiIsY0xldHRlcjoiYyJ9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiOjYwMCwiLi4vc3RyZWFtdHViZS9jYWxjIjoxMjI3fV0sMTA1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1tZXNoM2QiKSxhPXQoIi4uLy4uL2xpYi9nbF9mb3JtYXRfY29sb3IiKS5wYXJzZUNvbG9yU2NhbGUsaT10KCIuLi8uLi9saWIvc3RyMnJnYmFycmF5Iiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKS5leHRyYWN0T3B0cyxzPXQoIi4uLy4uL3Bsb3RzL2dsM2QvemlwMyIpLGw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZS5sZW5ndGgtMTtyPjA7ci0tKXt2YXIgbj1NYXRoLm1pbihlW3JdLGVbci0xXSksYT1NYXRoLm1heChlW3JdLGVbci0xXSk7aWYoYT5uJiZuPHQmJnQ8PWEpcmV0dXJue2lkOnIsZGlzdFJhdGlvOihhLXQpLyhhLW4pfX1yZXR1cm57aWQ6MCxkaXN0UmF0aW86MH19O2Z1bmN0aW9uIGModCxlLHIpe3RoaXMuc2NlbmU9dCx0aGlzLnVpZD1yLHRoaXMubWVzaD1lLHRoaXMubmFtZT0iIix0aGlzLmRhdGE9bnVsbCx0aGlzLnNob3dDb250b3VyPSExfXZhciB1PWMucHJvdG90eXBlO3UuaGFuZGxlUGljaz1mdW5jdGlvbih0KXtpZih0Lm9iamVjdD09PXRoaXMubWVzaCl7dmFyIGU9dC5kYXRhLmluZGV4LHI9dGhpcy5kYXRhLl9tZXNoWFtlXSxuPXRoaXMuZGF0YS5fbWVzaFlbZV0sYT10aGlzLmRhdGEuX21lc2haW2VdLGk9dGhpcy5kYXRhLl9Zcy5sZW5ndGgsbz10aGlzLmRhdGEuX1pzLmxlbmd0aCxzPWwocix0aGlzLmRhdGEuX1hzKS5pZCxjPWwobix0aGlzLmRhdGEuX1lzKS5pZCx1PWwoYSx0aGlzLmRhdGEuX1pzKS5pZCxoPXQuaW5kZXg9dStvKmMrbyppKnM7dC50cmFjZUNvb3JkaW5hdGU9W3RoaXMuZGF0YS5fbWVzaFhbaF0sdGhpcy5kYXRhLl9tZXNoWVtoXSx0aGlzLmRhdGEuX21lc2haW2hdLHRoaXMuZGF0YS5fdmFsdWVbaF1dO3ZhciBmPXRoaXMuZGF0YS5ob3ZlcnRleHR8fHRoaXMuZGF0YS50ZXh0O3JldHVybiBBcnJheS5pc0FycmF5KGYpJiZ2b2lkIDAhPT1mW2hdP3QudGV4dExhYmVsPWZbaF06ZiYmKHQudGV4dExhYmVsPWYpLCEwfX0sdS51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zY2VuZSxyPWUuZnVsbFNjZW5lTGF5b3V0O2Z1bmN0aW9uIG4odCxlLHIsbil7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB0LmQybChlLDAsbikqcn0pfXRoaXMuZGF0YT1mKHQpO3ZhciBsPXtwb3NpdGlvbnM6cyhuKHIueGF4aXMsdC5fbWVzaFgsZS5kYXRhU2NhbGVbMF0sdC54Y2FsZW5kYXIpLG4oci55YXhpcyx0Ll9tZXNoWSxlLmRhdGFTY2FsZVsxXSx0LnljYWxlbmRhciksbihyLnpheGlzLHQuX21lc2haLGUuZGF0YVNjYWxlWzJdLHQuemNhbGVuZGFyKSksY2VsbHM6cyh0Ll9tZXNoSSx0Ll9tZXNoSix0Ll9tZXNoSyksbGlnaHRQb3NpdGlvbjpbdC5saWdodHBvc2l0aW9uLngsdC5saWdodHBvc2l0aW9uLnksdC5saWdodHBvc2l0aW9uLnpdLGFtYmllbnQ6dC5saWdodGluZy5hbWJpZW50LGRpZmZ1c2U6dC5saWdodGluZy5kaWZmdXNlLHNwZWN1bGFyOnQubGlnaHRpbmcuc3BlY3VsYXIscm91Z2huZXNzOnQubGlnaHRpbmcucm91Z2huZXNzLGZyZXNuZWw6dC5saWdodGluZy5mcmVzbmVsLHZlcnRleE5vcm1hbHNFcHNpbG9uOnQubGlnaHRpbmcudmVydGV4bm9ybWFsc2Vwc2lsb24sZmFjZU5vcm1hbHNFcHNpbG9uOnQubGlnaHRpbmcuZmFjZW5vcm1hbHNlcHNpbG9uLG9wYWNpdHk6dC5vcGFjaXR5LGNvbnRvdXJFbmFibGU6dC5jb250b3VyLnNob3csY29udG91ckNvbG9yOmkodC5jb250b3VyLmNvbG9yKS5zbGljZSgwLDMpLGNvbnRvdXJXaWR0aDp0LmNvbnRvdXIud2lkdGgsdXNlRmFjZXROb3JtYWxzOnQuZmxhdHNoYWRpbmd9LGM9byh0KTtsLnZlcnRleEludGVuc2l0eT10Ll9tZXNoSW50ZW5zaXR5LGwudmVydGV4SW50ZW5zaXR5Qm91bmRzPVtjLm1pbixjLm1heF0sbC5jb2xvcm1hcD1hKHQpLHRoaXMubWVzaC51cGRhdGUobCl9LHUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2NlbmUuZ2xwbG90LnJlbW92ZSh0aGlzLm1lc2gpLHRoaXMubWVzaC5kaXNwb3NlKCl9O3ZhciBoPVsieHl6IiwieHp5IiwieXh6IiwieXp4Iiwienh5Iiwienl4Il07ZnVuY3Rpb24gZih0KXt0Ll9tZXNoST1bXSx0Ll9tZXNoSj1bXSx0Ll9tZXNoSz1bXTt2YXIgZSxyLG4sYSxpLG8scyxjPXQuc3VyZmFjZS5zaG93LHU9dC5zcGFjZWZyYW1lLnNob3csZj10LnN1cmZhY2UuZmlsbCxwPXQuc3BhY2VmcmFtZS5maWxsLGQ9ITEsZz0hMSx2PTAsbT10Ll9Ycyx5PXQuX1lzLHg9dC5fWnMsYj1tLmxlbmd0aCxfPXkubGVuZ3RoLHc9eC5sZW5ndGgsaz1oLmluZGV4T2YodC5fZ3JpZEZpbGwucmVwbGFjZSgvLS9nLCIiKS5yZXBsYWNlKC9cKy9nLCIiKSksVD1mdW5jdGlvbih0LGUscil7c3dpdGNoKGspe2Nhc2UgNTpyZXR1cm4gcit3KmUrdypfKnQ7Y2FzZSA0OnJldHVybiByK3cqdCt3KmIqZTtjYXNlIDM6cmV0dXJuIGUrXypyK18qdyp0O2Nhc2UgMjpyZXR1cm4gZStfKnQrXypiKnI7Y2FzZSAxOnJldHVybiB0K2IqcitiKncqZTtkZWZhdWx0OnJldHVybiB0K2IqZStiKl8qcn19LE09dC5fbWluVmFsdWVzLEE9dC5fbWF4VmFsdWVzLFM9dC5fdk1pbixFPXQuX3ZNYXg7ZnVuY3Rpb24gTCh0LGUscyl7Zm9yKHZhciBsPW8ubGVuZ3RoLGM9cjtjPGw7YysrKWlmKHQ9PT1uW2NdJiZlPT09YVtjXSYmcz09PWlbY10pcmV0dXJuIGM7cmV0dXJuLTF9ZnVuY3Rpb24gQygpe3I9ZX1mdW5jdGlvbiBQKCl7bj1bXSxhPVtdLGk9W10sbz1bXSxlPTAsQygpfWZ1bmN0aW9uIE8odCxyLHMsbCl7cmV0dXJuIG4ucHVzaCh0KSxhLnB1c2gociksaS5wdXNoKHMpLG8ucHVzaChsKSwrK2UtMX1mdW5jdGlvbiB6KHQsZSxyKXtmb3IodmFyIG49W10sYT0wO2E8dC5sZW5ndGg7YSsrKW5bYV09dFthXSooMS1yKStyKmVbYV07cmV0dXJuIG59ZnVuY3Rpb24gSSh0KXtzPXR9ZnVuY3Rpb24gRCh0LGUpe3JldHVybiJhbGwiPT09dHx8bnVsbD09PXR8fHQuaW5kZXhPZihlKT4tMX1mdW5jdGlvbiBSKHQsZSl7cmV0dXJuIG51bGw9PT10P2U6dH1mdW5jdGlvbiBGKGUscixuKXtDKCk7dmFyIGEsaSxvLGw9W3JdLGM9W25dO2lmKHM+PTEpbD1bcl0sYz1bbl07ZWxzZSBpZihzPjApe3ZhciB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dFswXSxuPXRbMV0sYT10WzJdLGk9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1bXSxhPTA7YTx0Lmxlbmd0aDthKyspblthXT0odFthXStlW2FdK3JbYV0pLzM7cmV0dXJuIG59KHIsbixhKSxvPU1hdGguc3FydCgxLXMpLGw9eihpLHIsbyksYz16KGksbixvKSx1PXooaSxhLG8pLGg9ZVswXSxmPWVbMV0scD1lWzJdO3JldHVybnt4eXp2OltbcixuLGNdLFtjLGwscl0sW24sYSx1XSxbdSxjLG5dLFthLHIsbF0sW2wsdSxhXV0sYWJjOltbaCxmLC0xXSxbLTEsLTEsaF0sW2YscCwtMV0sWy0xLC0xLGZdLFtwLGgsLTFdLFstMSwtMSxwXV19fShyLG4pO2w9dS54eXp2LGM9dS5hYmN9Zm9yKHZhciBoPTA7aDxsLmxlbmd0aDtoKyspe3I9bFtoXSxuPWNbaF07Zm9yKHZhciBmPVtdLHA9MDtwPDM7cCsrKXt2YXIgZD1yW3BdWzBdLGc9cltwXVsxXSxtPXJbcF1bMl0seT1yW3BdWzNdLHg9bltwXT4tMT9uW3BdOkwoZCxnLG0pO2ZbcF09eD4tMT94Ok8oZCxnLG0sUihlLHkpKX1hPWZbMF0saT1mWzFdLG89ZlsyXSx0Ll9tZXNoSS5wdXNoKGEpLHQuX21lc2hKLnB1c2goaSksdC5fbWVzaEsucHVzaChvKSwrK3Z9fWZ1bmN0aW9uIEIodCxlLHIsbil7dmFyIGE9dFszXTthPHImJihhPXIpLGE+biYmKGE9bik7Zm9yKHZhciBpPSh0WzNdLWEpLyh0WzNdLWVbM10rMWUtOSksbz1bXSxzPTA7czw0O3MrKylvW3NdPSgxLWkpKnRbc10raSplW3NdO3JldHVybiBvfWZ1bmN0aW9uIE4odCxlLHIpe3JldHVybiB0Pj1lJiZ0PD1yfWZ1bmN0aW9uIGoodCl7dmFyIGU9LjAwMSooRS1TKTtyZXR1cm4gdD49Uy1lJiZ0PD1FK2V9ZnVuY3Rpb24gVihlKXtmb3IodmFyIHI9W10sbj0wO248NDtuKyspe3ZhciBhPWVbbl07ci5wdXNoKFt0Ll94W2FdLHQuX3lbYV0sdC5felthXSx0Ll92YWx1ZVthXV0pfXJldHVybiByfXZhciBVPTM7ZnVuY3Rpb24gcSh0LGUscixuLGEsaSl7aXx8KGk9MSkscj1bLTEsLTEsLTFdO3ZhciBvPSExLHM9W04oZVswXVszXSxuLGEpLE4oZVsxXVszXSxuLGEpLE4oZVsyXVszXSxuLGEpXTtpZighc1swXSYmIXNbMV0mJiFzWzJdKXJldHVybiExO3ZhciBsPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gaihlWzBdWzNdKSYmaihlWzFdWzNdKSYmaihlWzJdWzNdKT8oRih0LGUsciksITApOmk8VSYmcSh0LGUscixTLEUsKytpKX07aWYoc1swXSYmc1sxXSYmc1syXSlyZXR1cm4gbCh0LGUscil8fG87dmFyIGM9ITE7cmV0dXJuW1swLDEsMl0sWzIsMCwxXSxbMSwyLDBdXS5mb3JFYWNoKGZ1bmN0aW9uKGkpe2lmKHNbaVswXV0mJnNbaVsxXV0mJiFzW2lbMl1dKXt2YXIgdT1lW2lbMF1dLGg9ZVtpWzFdXSxmPWVbaVsyXV0scD1CKGYsdSxuLGEpLGQ9QihmLGgsbixhKTtvPWwodCxbZCxwLHVdLFstMSwtMSxyW2lbMF1dXSl8fG8sbz1sKHQsW3UsaCxkXSxbcltpWzBdXSxyW2lbMV1dLC0xXSl8fG8sYz0hMH19KSxjP286KFtbMCwxLDJdLFsxLDIsMF0sWzIsMCwxXV0uZm9yRWFjaChmdW5jdGlvbihpKXtpZihzW2lbMF1dJiYhc1tpWzFdXSYmIXNbaVsyXV0pe3ZhciB1PWVbaVswXV0saD1lW2lbMV1dLGY9ZVtpWzJdXSxwPUIoaCx1LG4sYSksZD1CKGYsdSxuLGEpO289bCh0LFtkLHAsdV0sWy0xLC0xLHJbaVswXV1dKXx8byxjPSEwfX0pLG8pfWZ1bmN0aW9uIEgodCxlLHIsbil7dmFyIGE9ITEsaT1WKGUpLG89W04oaVswXVszXSxyLG4pLE4oaVsxXVszXSxyLG4pLE4oaVsyXVszXSxyLG4pLE4oaVszXVszXSxyLG4pXTtpZighKG9bMF18fG9bMV18fG9bMl18fG9bM10pKXJldHVybiBhO2lmKG9bMF0mJm9bMV0mJm9bMl0mJm9bM10pcmV0dXJuIGcmJihhPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1mdW5jdGlvbihuLGEsaSl7Rih0LFtlW25dLGVbYV0sZVtpXV0sW3Jbbl0sclthXSxyW2ldXSl9O24oMCwxLDIpLG4oMywwLDEpLG4oMiwzLDApLG4oMSwyLDMpfSh0LGksZSl8fGEpLGE7dmFyIHM9ITE7cmV0dXJuW1swLDEsMiwzXSxbMywwLDEsMl0sWzIsMywwLDFdLFsxLDIsMywwXV0uZm9yRWFjaChmdW5jdGlvbihsKXtpZihvW2xbMF1dJiZvW2xbMV1dJiZvW2xbMl1dJiYhb1tsWzNdXSl7dmFyIGM9aVtsWzBdXSx1PWlbbFsxXV0saD1pW2xbMl1dLGY9aVtsWzNdXTtpZihnKWE9Rih0LFtjLHUsaF0sW2VbbFswXV0sZVtsWzFdXSxlW2xbMl1dXSl8fGE7ZWxzZXt2YXIgcD1CKGYsYyxyLG4pLGQ9QihmLHUscixuKSx2PUIoZixoLHIsbik7YT1GKG51bGwsW3AsZCx2XSxbLTEsLTEsLTFdKXx8YX1zPSEwfX0pLHM/YTooW1swLDEsMiwzXSxbMSwyLDMsMF0sWzIsMywwLDFdLFszLDAsMSwyXSxbMCwyLDMsMV0sWzEsMywyLDBdXS5mb3JFYWNoKGZ1bmN0aW9uKGwpe2lmKG9bbFswXV0mJm9bbFsxXV0mJiFvW2xbMl1dJiYhb1tsWzNdXSl7dmFyIGM9aVtsWzBdXSx1PWlbbFsxXV0saD1pW2xbMl1dLGY9aVtsWzNdXSxwPUIoaCxjLHIsbiksZD1CKGgsdSxyLG4pLHY9QihmLHUscixuKSxtPUIoZixjLHIsbik7Zz8oYT1GKHQsW2MsbSxwXSxbZVtsWzBdXSwtMSwtMV0pfHxhLGE9Rih0LFt1LGQsdl0sW2VbbFsxXV0sLTEsLTFdKXx8YSk6YT1mdW5jdGlvbih0LGUscil7dmFyIG49ZnVuY3Rpb24obixhLGkpe0YodCxbZVtuXSxlW2FdLGVbaV1dLFtyW25dLHJbYV0scltpXV0pfTtuKDAsMSwyKSxuKDIsMywwKX0obnVsbCxbcCxkLHYsbV0sWy0xLC0xLC0xLC0xXSl8fGEscz0hMH19KSxzP2E6KFtbMCwxLDIsM10sWzEsMiwzLDBdLFsyLDMsMCwxXSxbMywwLDEsMl1dLmZvckVhY2goZnVuY3Rpb24obCl7aWYob1tsWzBdXSYmIW9bbFsxXV0mJiFvW2xbMl1dJiYhb1tsWzNdXSl7dmFyIGM9aVtsWzBdXSx1PWlbbFsxXV0saD1pW2xbMl1dLGY9aVtsWzNdXSxwPUIodSxjLHIsbiksZD1CKGgsYyxyLG4pLHY9QihmLGMscixuKTtnPyhhPUYodCxbYyxwLGRdLFtlW2xbMF1dLC0xLC0xXSl8fGEsYT1GKHQsW2MsZCx2XSxbZVtsWzBdXSwtMSwtMV0pfHxhLGE9Rih0LFtjLHYscF0sW2VbbFswXV0sLTEsLTFdKXx8YSk6YT1GKG51bGwsW3AsZCx2XSxbLTEsLTEsLTFdKXx8YSxzPSEwfX0pLGEpKX1mdW5jdGlvbiBHKHQsZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGg9ITE7cmV0dXJuIGQmJihEKHQsIkEiKSYmKGg9SChudWxsLFtlLHIsbixpXSxjLHUpfHxoKSxEKHQsIkIiKSYmKGg9SChudWxsLFtyLG4sYSxsXSxjLHUpfHxoKSxEKHQsIkMiKSYmKGg9SChudWxsLFtyLGksbyxsXSxjLHUpfHxoKSxEKHQsIkQiKSYmKGg9SChudWxsLFtuLGkscyxsXSxjLHUpfHxoKSxEKHQsIkUiKSYmKGg9SChudWxsLFtyLG4saSxsXSxjLHUpfHxoKSksZyYmKGg9SCh0LFtyLG4saSxsXSxjLHUpfHxoKSxofWZ1bmN0aW9uIFkodCxlLHIsbixhLGksbyxzKXtyZXR1cm5bITA9PT1zWzBdfHxxKHQsVihbZSxyLG5dKSxbZSxyLG5dLGksbyksITA9PT1zWzFdfHxxKHQsVihbbixhLGVdKSxbbixhLGVdLGksbyldfWZ1bmN0aW9uIFcodCxlLHIsbixhLGksbyxzLGwpe3JldHVybiBzP1kodCxlLHIsYSxuLGksbyxsKTpZKHQscixhLG4sZSxpLG8sbCl9ZnVuY3Rpb24gWCh0LGUscixuLGEsaSxvKXt2YXIgcyxsLGMsdSxoPSExLGY9ZnVuY3Rpb24oKXtoPXEodCxbcyxsLGNdLFstMSwtMSwtMV0sYSxpKXx8aCxoPXEodCxbYyx1LHNdLFstMSwtMSwtMV0sYSxpKXx8aH0scD1vWzBdLGQ9b1sxXSxnPW9bMl07cmV0dXJuIHAmJihzPXooVihbVChlLHItMCxuLTApXSlbMF0sVihbVChlLTEsci0wLG4tMCldKVswXSxwKSxsPXooVihbVChlLHItMCxuLTEpXSlbMF0sVihbVChlLTEsci0wLG4tMSldKVswXSxwKSxjPXooVihbVChlLHItMSxuLTEpXSlbMF0sVihbVChlLTEsci0xLG4tMSldKVswXSxwKSx1PXooVihbVChlLHItMSxuLTApXSlbMF0sVihbVChlLTEsci0xLG4tMCldKVswXSxwKSxmKCkpLGQmJihzPXooVihbVChlLTAscixuLTApXSlbMF0sVihbVChlLTAsci0xLG4tMCldKVswXSxkKSxsPXooVihbVChlLTAscixuLTEpXSlbMF0sVihbVChlLTAsci0xLG4tMSldKVswXSxkKSxjPXooVihbVChlLTEscixuLTEpXSlbMF0sVihbVChlLTEsci0xLG4tMSldKVswXSxkKSx1PXooVihbVChlLTEscixuLTApXSlbMF0sVihbVChlLTEsci0xLG4tMCldKVswXSxkKSxmKCkpLGcmJihzPXooVihbVChlLTAsci0wLG4pXSlbMF0sVihbVChlLTAsci0wLG4tMSldKVswXSxnKSxsPXooVihbVChlLTAsci0xLG4pXSlbMF0sVihbVChlLTAsci0xLG4tMSldKVswXSxnKSxjPXooVihbVChlLTEsci0xLG4pXSlbMF0sVihbVChlLTEsci0xLG4tMSldKVswXSxnKSx1PXooVihbVChlLTEsci0wLG4pXSlbMF0sVihbVChlLTEsci0wLG4tMSldKVswXSxnKSxmKCkpLGh9ZnVuY3Rpb24gWih0LGUscixuLGEsaSxvLHMsbCxjLHUsaCl7dmFyIGY9dDtyZXR1cm4gaD8oZCYmImV2ZW4iPT09dCYmKGY9bnVsbCksRyhmLGUscixuLGEsaSxvLHMsbCxjLHUpKTooZCYmIm9kZCI9PT10JiYoZj1udWxsKSxHKGYsbCxzLG8saSxhLG4scixlLGMsdSkpfWZ1bmN0aW9uIEoodCxlLHIsbixhKXtmb3IodmFyIGk9W10sbz0wLHM9MDtzPGUubGVuZ3RoO3MrKylmb3IodmFyIGw9ZVtzXSxjPTE7Yzx3O2MrKylmb3IodmFyIHU9MTt1PF87dSsrKWkucHVzaChXKHQsVChsLHUtMSxjLTEpLFQobCx1LTEsYyksVChsLHUsYy0xKSxUKGwsdSxjKSxyLG4sKGwrdStjKSUyLGEmJmFbb10/YVtvXTpbXSkpLG8rKztyZXR1cm4gaX1mdW5jdGlvbiBLKHQsZSxyLG4sYSl7Zm9yKHZhciBpPVtdLG89MCxzPTA7czxlLmxlbmd0aDtzKyspZm9yKHZhciBsPWVbc10sYz0xO2M8YjtjKyspZm9yKHZhciB1PTE7dTx3O3UrKylpLnB1c2goVyh0LFQoYy0xLGwsdS0xKSxUKGMsbCx1LTEpLFQoYy0xLGwsdSksVChjLGwsdSkscixuLChjK2wrdSklMixhJiZhW29dP2Fbb106W10pKSxvKys7cmV0dXJuIGl9ZnVuY3Rpb24gUSh0LGUscixuLGEpe2Zvcih2YXIgaT1bXSxvPTAscz0wO3M8ZS5sZW5ndGg7cysrKWZvcih2YXIgbD1lW3NdLGM9MTtjPF87YysrKWZvcih2YXIgdT0xO3U8Yjt1KyspaS5wdXNoKFcodCxUKHUtMSxjLTEsbCksVCh1LTEsYyxsKSxUKHUsYy0xLGwpLFQodSxjLGwpLHIsbiwodStjK2wpJTIsYSYmYVtvXT9hW29dOltdKSksbysrO3JldHVybiBpfWZ1bmN0aW9uICQodCxlLHIpe2Zvcih2YXIgbj0xO248dztuKyspZm9yKHZhciBhPTE7YTxfO2ErKylmb3IodmFyIGk9MTtpPGI7aSsrKVoodCxUKGktMSxhLTEsbi0xKSxUKGktMSxhLTEsbiksVChpLTEsYSxuLTEpLFQoaS0xLGEsbiksVChpLGEtMSxuLTEpLFQoaSxhLTEsbiksVChpLGEsbi0xKSxUKGksYSxuKSxlLHIsKGkrYStuKSUyKX1mdW5jdGlvbiB0dCh0LGUscil7ZD0hMCwkKHQsZSxyKSxkPSExfWZ1bmN0aW9uIGV0KHQsZSxyLG4sYSxpKXtmb3IodmFyIG89W10scz0wLGw9MDtsPGUubGVuZ3RoO2wrKylmb3IodmFyIGM9ZVtsXSx1PTE7dTx3O3UrKylmb3IodmFyIGg9MTtoPF87aCsrKW8ucHVzaChYKHQsYyxoLHUscixuLGFbbF0saSYmaVtzXSYmaVtzXSkpLHMrKztyZXR1cm4gb31mdW5jdGlvbiBydCh0LGUscixuLGEsaSl7Zm9yKHZhciBvPVtdLHM9MCxsPTA7bDxlLmxlbmd0aDtsKyspZm9yKHZhciBjPWVbbF0sdT0xO3U8Yjt1KyspZm9yKHZhciBoPTE7aDx3O2grKylvLnB1c2goWCh0LHUsYyxoLHIsbixhW2xdLGkmJmlbc10mJmlbc10pKSxzKys7cmV0dXJuIG99ZnVuY3Rpb24gbnQodCxlLHIsbixhLGkpe2Zvcih2YXIgbz1bXSxzPTAsbD0wO2w8ZS5sZW5ndGg7bCsrKWZvcih2YXIgYz1lW2xdLHU9MTt1PF87dSsrKWZvcih2YXIgaD0xO2g8YjtoKyspby5wdXNoKFgodCxoLHUsYyxyLG4sYVtsXSxpJiZpW3NdJiZpW3NdKSkscysrO3JldHVybiBvfWZ1bmN0aW9uIGF0KHQsZSl7Zm9yKHZhciByPVtdLG49dDtuPGU7bisrKXIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gZnVuY3Rpb24oKXtpZihQKCksZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPGI7ZSsrKWZvcih2YXIgcj0wO3I8XztyKyspZm9yKHZhciBuPTA7bjx3O24rKyl7dmFyIGE9VChlLHIsbik7Tyh0Ll94W2FdLHQuX3lbYV0sdC5felthXSx0Ll92YWx1ZVthXSl9fSgpLHUmJnAmJihJKHApLGc9ITAsJChudWxsLFMsRSksZz0hMSksYyYmZil7SShmKTtmb3IodmFyIGU9dC5zdXJmYWNlLnBhdHRlcm4scj10LnN1cmZhY2UuY291bnQscz0wO3M8cjtzKyspe3ZhciBoPTE9PT1yPy41OnMvKHItMSksZD0oMS1oKSpTK2gqRSxrPU1hdGguYWJzKGQtTSk+TWF0aC5hYnMoZC1BKT9bTSxkXTpbZCxBXTt0dChlLGtbMF0sa1sxXSl9fXZhciBMPVtbTWF0aC5taW4oUyxBKSxNYXRoLm1heChTLEEpXSxbTWF0aC5taW4oTSxFKSxNYXRoLm1heChNLEUpXV07WyJ4IiwieSIsInoiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Zvcih2YXIgcj1bXSxuPTA7bjxMLmxlbmd0aDtuKyspe3ZhciBhPTAsaT1MW25dWzBdLG89TFtuXVsxXSxzPXQuc2xpY2VzW2VdO2lmKHMuc2hvdyYmcy5maWxsKXtJKHMuZmlsbCk7dmFyIGM9W10sdT1bXSxoPVtdO2lmKHMubG9jYXRpb25zLmxlbmd0aClmb3IodmFyIGY9MDtmPHMubG9jYXRpb25zLmxlbmd0aDtmKyspe3ZhciBwPWwocy5sb2NhdGlvbnNbZl0sIngiPT09ZT9tOiJ5Ij09PWU/eTp4KTswPT09cC5kaXN0UmF0aW8/Yy5wdXNoKHAuaWQpOnAuaWQ+MCYmKHUucHVzaChwLmlkKSwieCI9PT1lP2gucHVzaChbcC5kaXN0UmF0aW8sMCwwXSk6InkiPT09ZT9oLnB1c2goWzAscC5kaXN0UmF0aW8sMF0pOmgucHVzaChbMCwwLHAuZGlzdFJhdGlvXSkpfWVsc2UgYz1hdCgxLCJ4Ij09PWU/Yi0xOiJ5Ij09PWU/Xy0xOnctMSk7dS5sZW5ndGg+MCYmKHJbYV09IngiPT09ZT9ldChudWxsLHUsaSxvLGgsclthXSk6InkiPT09ZT9ydChudWxsLHUsaSxvLGgsclthXSk6bnQobnVsbCx1LGksbyxoLHJbYV0pLGErKyksYy5sZW5ndGg+MCYmKHJbYV09IngiPT09ZT9KKG51bGwsYyxpLG8sclthXSk6InkiPT09ZT9LKG51bGwsYyxpLG8sclthXSk6UShudWxsLGMsaSxvLHJbYV0pLGErKyl9dmFyIGQ9dC5jYXBzW2VdO2Quc2hvdyYmZC5maWxsJiYoSShkLmZpbGwpLHJbYV09IngiPT09ZT9KKG51bGwsWzAsYi0xXSxpLG8sclthXSk6InkiPT09ZT9LKG51bGwsWzAsXy0xXSxpLG8sclthXSk6UShudWxsLFswLHctMV0saSxvLHJbYV0pLGErKyl9fSksMD09PXYmJlAoKSx0Ll9tZXNoWD1uLHQuX21lc2hZPWEsdC5fbWVzaFo9aSx0Ll9tZXNoSW50ZW5zaXR5PW8sdC5fWHM9bSx0Ll9Zcz15LHQuX1pzPXh9KCksdH1lLmV4cG9ydHM9e2ZpbmROZWFyZXN0T25BeGlzOmwsZ2VuZXJhdGVJc29NZXNoZXM6ZixjcmVhdGVJc29zdXJmYWNlVHJhY2U6ZnVuY3Rpb24odCxlKXt2YXIgcj10LmdscGxvdC5nbCxhPW4oe2dsOnJ9KSxpPW5ldyBjKHQsYSxlLnVpZCk7cmV0dXJuIGEuX3RyYWNlPWksaS51cGRhdGUoZSksdC5nbHBsb3QuYWRkKGEpLGl9fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciI6NzE0LCIuLi8uLi9saWIvc3RyMnJnYmFycmF5Ijo3NDAsIi4uLy4uL3Bsb3RzL2dsM2QvemlwMyI6ODE2LCJnbC1tZXNoM2QiOjI4M31dLDEwNTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiKTtmdW5jdGlvbiBzKHQsZSxyLG4saSl7dmFyIHM9aSgiaXNvbWluIiksbD1pKCJpc29tYXgiKTtudWxsIT1sJiZudWxsIT1zJiZzPmwmJihlLmlzb21pbj1udWxsLGUuaXNvbWF4PW51bGwpO3ZhciBjPWkoIngiKSx1PWkoInkiKSxoPWkoInoiKSxmPWkoInZhbHVlIik7YyYmYy5sZW5ndGgmJnUmJnUubGVuZ3RoJiZoJiZoLmxlbmd0aCYmZiYmZi5sZW5ndGg/KGEuZ2V0Q29tcG9uZW50TWV0aG9kKCJjYWxlbmRhcnMiLCJoYW5kbGVUcmFjZURlZmF1bHRzIikodCxlLFsieCIsInkiLCJ6Il0sbiksWyJ4IiwieSIsInoiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPSJjYXBzLiIrdDtpKGUrIi5zaG93IikmJmkoZSsiLmZpbGwiKTt2YXIgcj0ic2xpY2VzLiIrdDtpKHIrIi5zaG93IikmJihpKHIrIi5maWxsIiksaShyKyIubG9jYXRpb25zIikpfSksaSgic3BhY2VmcmFtZS5zaG93IikmJmkoInNwYWNlZnJhbWUuZmlsbCIpLGkoInN1cmZhY2Uuc2hvdyIpJiYoaSgic3VyZmFjZS5jb3VudCIpLGkoInN1cmZhY2UuZmlsbCIpLGkoInN1cmZhY2UucGF0dGVybiIpKSxpKCJjb250b3VyLnNob3ciKSYmKGkoImNvbnRvdXIuY29sb3IiKSxpKCJjb250b3VyLndpZHRoIikpLFsidGV4dCIsImhvdmVydGV4dCIsImhvdmVydGVtcGxhdGUiLCJsaWdodGluZy5hbWJpZW50IiwibGlnaHRpbmcuZGlmZnVzZSIsImxpZ2h0aW5nLnNwZWN1bGFyIiwibGlnaHRpbmcucm91Z2huZXNzIiwibGlnaHRpbmcuZnJlc25lbCIsImxpZ2h0aW5nLnZlcnRleG5vcm1hbHNlcHNpbG9uIiwibGlnaHRpbmcuZmFjZW5vcm1hbHNlcHNpbG9uIiwibGlnaHRwb3NpdGlvbi54IiwibGlnaHRwb3NpdGlvbi55IiwibGlnaHRwb3NpdGlvbi56IiwiZmxhdHNoYWRpbmciLCJvcGFjaXR5Il0uZm9yRWFjaChmdW5jdGlvbih0KXtpKHQpfSksbyh0LGUsbixpLHtwcmVmaXg6IiIsY0xldHRlcjoiYyJ9KSxlLl9sZW5ndGg9bnVsbCk6ZS52aXNpYmxlPSExfWUuZXhwb3J0cz17c3VwcGx5RGVmYXVsdHM6ZnVuY3Rpb24odCxlLHIsYSl7cyh0LGUsMCxhLGZ1bmN0aW9uKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLHIsYSl9KX0sc3VwcGx5SXNvRGVmYXVsdHM6c319LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIjo2MDIsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2F0dHJpYnV0ZXMiOjEwNTZ9XSwxMDYwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuc3VwcGx5RGVmYXVsdHMsY2FsYzp0KCIuL2NhbGMiKSxjb2xvcmJhcjp7bWluOiJjbWluIixtYXg6ImNtYXgifSxwbG90OnQoIi4vY29udmVydCIpLmNyZWF0ZUlzb3N1cmZhY2VUcmFjZSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToiaXNvc3VyZmFjZSIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvZ2wzZCIpLGNhdGVnb3JpZXM6WyJnbDNkIiwic2hvd0xlZ2VuZCJdLG1ldGE6e319fSx7Ii4uLy4uL3Bsb3RzL2dsM2QiOjgwNSwiLi9hdHRyaWJ1dGVzIjoxMDU2LCIuL2NhbGMiOjEwNTcsIi4vY29udmVydCI6MTA1OCwiLi9kZWZhdWx0cyI6MTA1OX1dLDEwNjE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsaT10KCIuLi9zdXJmYWNlL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0O2UuZXhwb3J0cz1zKHt4Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHk6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sejp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSxpOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LGo6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sazp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyJ9LGhvdmVydGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITAsZWRpdFR5cGU6ImNhbGMifSxob3ZlcnRlbXBsYXRlOmEoe2VkaXRUeXBlOiJjYWxjIn0pLGRlbGF1bmF5YXhpczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsieCIsInkiLCJ6Il0sZGZsdDoieiIsZWRpdFR5cGU6ImNhbGMifSxhbHBoYWh1bGw6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDotMSxlZGl0VHlwZToiY2FsYyJ9LGludGVuc2l0eTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxpbnRlbnNpdHltb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ2ZXJ0ZXgiLCJjZWxsIl0sZGZsdDoidmVydGV4IixlZGl0VHlwZToiY2FsYyJ9LGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6ImNhbGMifSx2ZXJ0ZXhjb2xvcjp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxmYWNlY29sb3I6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sdHJhbnNmb3Jtczp2b2lkIDB9LG4oIiIse2NvbG9yQXR0cjoiYGludGVuc2l0eWAiLHNob3dTY2FsZURmbHQ6ITAsZWRpdFR5cGVPdmVycmlkZToiY2FsYyJ9KSx7b3BhY2l0eTppLm9wYWNpdHksZmxhdHNoYWRpbmc6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSxjb250b3VyOntzaG93OnMoe30saS5jb250b3Vycy54LnNob3cse30pLGNvbG9yOmkuY29udG91cnMueC5jb2xvcix3aWR0aDppLmNvbnRvdXJzLngud2lkdGgsZWRpdFR5cGU6ImNhbGMifSxsaWdodHBvc2l0aW9uOnt4OnMoe30saS5saWdodHBvc2l0aW9uLngse2RmbHQ6MWU1fSkseTpzKHt9LGkubGlnaHRwb3NpdGlvbi55LHtkZmx0OjFlNX0pLHo6cyh7fSxpLmxpZ2h0cG9zaXRpb24ueix7ZGZsdDowfSksZWRpdFR5cGU6ImNhbGMifSxsaWdodGluZzpzKHt2ZXJ0ZXhub3JtYWxzZXBzaWxvbjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjFlLTEyLGVkaXRUeXBlOiJjYWxjIn0sZmFjZW5vcm1hbHNlcHNpbG9uOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MWUtNixlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn0saS5saWdodGluZyksaG92ZXJpbmZvOnMoe30sby5ob3ZlcmluZm8se2VkaXRUeXBlOiJjYWxjIn0pLHNob3dsZWdlbmQ6cyh7fSxvLnNob3dsZWdlbmQse2RmbHQ6ITF9KX0pfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL3N1cmZhY2UvYXR0cmlidXRlcyI6MTI0M31dLDEwNjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlLmludGVuc2l0eSYmbih0LGUse3ZhbHM6ZS5pbnRlbnNpdHksY29udGFpbmVyU3RyOiIiLGNMZXR0ZXI6ImMifSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIjo2MDB9XSwxMDYzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsLW1lc2gzZCIpLGE9dCgiZGVsYXVuYXktdHJpYW5ndWxhdGUiKSxpPXQoImFscGhhLXNoYXBlIiksbz10KCJjb252ZXgtaHVsbCIpLHM9dCgiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciIpLnBhcnNlQ29sb3JTY2FsZSxsPXQoIi4uLy4uL2xpYi9zdHIycmdiYXJyYXkiKSxjPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLmV4dHJhY3RPcHRzLHU9dCgiLi4vLi4vcGxvdHMvZ2wzZC96aXAzIik7ZnVuY3Rpb24gaCh0LGUscil7dGhpcy5zY2VuZT10LHRoaXMudWlkPXIsdGhpcy5tZXNoPWUsdGhpcy5uYW1lPSIiLHRoaXMuY29sb3I9IiNmZmYiLHRoaXMuZGF0YT1udWxsLHRoaXMuc2hvd0NvbnRvdXI9ITF9dmFyIGY9aC5wcm90b3R5cGU7ZnVuY3Rpb24gcCh0KXtmb3IodmFyIGU9W10scj10Lmxlbmd0aCxuPTA7bjxyO24rKyllW25dPWwodFtuXSk7cmV0dXJuIGV9ZnVuY3Rpb24gZCh0LGUscixuKXtmb3IodmFyIGE9W10saT1lLmxlbmd0aCxvPTA7bzxpO28rKylhW29dPXQuZDJsKGVbb10sMCxuKSpyO3JldHVybiBhfWZ1bmN0aW9uIGcodCl7Zm9yKHZhciBlPVtdLHI9dC5sZW5ndGgsbj0wO248cjtuKyspZVtuXT1NYXRoLnJvdW5kKHRbbl0pO3JldHVybiBlfWZ1bmN0aW9uIHYodCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj0wO248cjtuKyspaWYodFtuXTw9LS41fHx0W25dPj1lLS41KXJldHVybiExO3JldHVybiEwfWYuaGFuZGxlUGljaz1mdW5jdGlvbih0KXtpZih0Lm9iamVjdD09PXRoaXMubWVzaCl7dmFyIGU9dC5pbmRleD10LmRhdGEuaW5kZXg7dC5kYXRhLl9jZWxsQ2VudGVyP3QudHJhY2VDb29yZGluYXRlPXQuZGF0YS5kYXRhQ29vcmRpbmF0ZTp0LnRyYWNlQ29vcmRpbmF0ZT1bdGhpcy5kYXRhLnhbZV0sdGhpcy5kYXRhLnlbZV0sdGhpcy5kYXRhLnpbZV1dO3ZhciByPXRoaXMuZGF0YS5ob3ZlcnRleHR8fHRoaXMuZGF0YS50ZXh0O3JldHVybiBBcnJheS5pc0FycmF5KHIpJiZ2b2lkIDAhPT1yW2VdP3QudGV4dExhYmVsPXJbZV06ciYmKHQudGV4dExhYmVsPXIpLCEwfX0sZi51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zY2VuZSxyPWUuZnVsbFNjZW5lTGF5b3V0O3RoaXMuZGF0YT10O3ZhciBuLGg9dC54Lmxlbmd0aCxmPXUoZChyLnhheGlzLHQueCxlLmRhdGFTY2FsZVswXSx0LnhjYWxlbmRhciksZChyLnlheGlzLHQueSxlLmRhdGFTY2FsZVsxXSx0LnljYWxlbmRhciksZChyLnpheGlzLHQueixlLmRhdGFTY2FsZVsyXSx0LnpjYWxlbmRhcikpO2lmKHQuaSYmdC5qJiZ0Lmspe2lmKHQuaS5sZW5ndGghPT10LmoubGVuZ3RofHx0LmoubGVuZ3RoIT09dC5rLmxlbmd0aHx8IXYodC5pLGgpfHwhdih0LmosaCl8fCF2KHQuayxoKSlyZXR1cm47bj11KGcodC5pKSxnKHQuaiksZyh0LmspKX1lbHNlIG49MD09PXQuYWxwaGFodWxsP28oZik6dC5hbHBoYWh1bGw+MD9pKHQuYWxwaGFodWxsLGYpOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVsieCIsInkiLCJ6Il0uaW5kZXhPZih0KSxuPVtdLGk9ZS5sZW5ndGgsbz0wO288aTtvKyspbltvXT1bZVtvXVsocisxKSUzXSxlW29dWyhyKzIpJTNdXTtyZXR1cm4gYShuKX0odC5kZWxhdW5heWF4aXMsZik7dmFyIG09e3Bvc2l0aW9uczpmLGNlbGxzOm4sbGlnaHRQb3NpdGlvbjpbdC5saWdodHBvc2l0aW9uLngsdC5saWdodHBvc2l0aW9uLnksdC5saWdodHBvc2l0aW9uLnpdLGFtYmllbnQ6dC5saWdodGluZy5hbWJpZW50LGRpZmZ1c2U6dC5saWdodGluZy5kaWZmdXNlLHNwZWN1bGFyOnQubGlnaHRpbmcuc3BlY3VsYXIscm91Z2huZXNzOnQubGlnaHRpbmcucm91Z2huZXNzLGZyZXNuZWw6dC5saWdodGluZy5mcmVzbmVsLHZlcnRleE5vcm1hbHNFcHNpbG9uOnQubGlnaHRpbmcudmVydGV4bm9ybWFsc2Vwc2lsb24sZmFjZU5vcm1hbHNFcHNpbG9uOnQubGlnaHRpbmcuZmFjZW5vcm1hbHNlcHNpbG9uLG9wYWNpdHk6dC5vcGFjaXR5LGNvbnRvdXJFbmFibGU6dC5jb250b3VyLnNob3csY29udG91ckNvbG9yOmwodC5jb250b3VyLmNvbG9yKS5zbGljZSgwLDMpLGNvbnRvdXJXaWR0aDp0LmNvbnRvdXIud2lkdGgsdXNlRmFjZXROb3JtYWxzOnQuZmxhdHNoYWRpbmd9O2lmKHQuaW50ZW5zaXR5KXt2YXIgeT1jKHQpO3RoaXMuY29sb3I9IiNmZmYiO3ZhciB4PXQuaW50ZW5zaXR5bW9kZTttW3grIkludGVuc2l0eSJdPXQuaW50ZW5zaXR5LG1beCsiSW50ZW5zaXR5Qm91bmRzIl09W3kubWluLHkubWF4XSxtLmNvbG9ybWFwPXModCl9ZWxzZSB0LnZlcnRleGNvbG9yPyh0aGlzLmNvbG9yPXQudmVydGV4Y29sb3JbMF0sbS52ZXJ0ZXhDb2xvcnM9cCh0LnZlcnRleGNvbG9yKSk6dC5mYWNlY29sb3I/KHRoaXMuY29sb3I9dC5mYWNlY29sb3JbMF0sbS5jZWxsQ29sb3JzPXAodC5mYWNlY29sb3IpKToodGhpcy5jb2xvcj10LmNvbG9yLG0ubWVzaENvbG9yPWwodC5jb2xvcikpO3RoaXMubWVzaC51cGRhdGUobSl9LGYuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2NlbmUuZ2xwbG90LnJlbW92ZSh0aGlzLm1lc2gpLHRoaXMubWVzaC5kaXNwb3NlKCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuZ2xwbG90LmdsLGE9bih7Z2w6cn0pLGk9bmV3IGgodCxhLGUudWlkKTtyZXR1cm4gYS5fdHJhY2U9aSxpLnVwZGF0ZShlKSx0LmdscGxvdC5hZGQoYSksaX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uLy4uL2xpYi9nbF9mb3JtYXRfY29sb3IiOjcxNCwiLi4vLi4vbGliL3N0cjJyZ2JhcnJheSI6NzQwLCIuLi8uLi9wbG90cy9nbDNkL3ppcDMiOjgxNiwiYWxwaGEtc2hhcGUiOjY3LCJjb252ZXgtaHVsbCI6MTMyLCJkZWxhdW5heS10cmlhbmd1bGF0ZSI6MTY3LCJnbC1tZXNoM2QiOjI4M31dLDEwNjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIiksbz10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIscyl7ZnVuY3Rpb24gbChyLG4pe3JldHVybiBhLmNvZXJjZSh0LGUsbyxyLG4pfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5tYXAoZnVuY3Rpb24odCl7dmFyIGU9bCh0KTtyZXR1cm4gZSYmYS5pc0FycmF5T3JUeXBlZEFycmF5KGUpP2U6bnVsbH0pO3JldHVybiBlLmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD09PWVbMF0ubGVuZ3RofSkmJmV9YyhbIngiLCJ5IiwieiJdKT8oYyhbImkiLCJqIiwiayJdKSwoIWUuaXx8ZS5qJiZlLmspJiYoIWUuanx8ZS5rJiZlLmkpJiYoIWUua3x8ZS5pJiZlLmopPyhuLmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiaGFuZGxlVHJhY2VEZWZhdWx0cyIpKHQsZSxbIngiLCJ5IiwieiJdLHMpLFsibGlnaHRpbmcuYW1iaWVudCIsImxpZ2h0aW5nLmRpZmZ1c2UiLCJsaWdodGluZy5zcGVjdWxhciIsImxpZ2h0aW5nLnJvdWdobmVzcyIsImxpZ2h0aW5nLmZyZXNuZWwiLCJsaWdodGluZy52ZXJ0ZXhub3JtYWxzZXBzaWxvbiIsImxpZ2h0aW5nLmZhY2Vub3JtYWxzZXBzaWxvbiIsImxpZ2h0cG9zaXRpb24ueCIsImxpZ2h0cG9zaXRpb24ueSIsImxpZ2h0cG9zaXRpb24ueiIsImZsYXRzaGFkaW5nIiwiYWxwaGFodWxsIiwiZGVsYXVuYXlheGlzIiwib3BhY2l0eSJdLmZvckVhY2goZnVuY3Rpb24odCl7bCh0KX0pLGwoImNvbnRvdXIuc2hvdyIpJiYobCgiY29udG91ci5jb2xvciIpLGwoImNvbnRvdXIud2lkdGgiKSksImludGVuc2l0eSJpbiB0PyhsKCJpbnRlbnNpdHkiKSxsKCJpbnRlbnNpdHltb2RlIiksaSh0LGUscyxsLHtwcmVmaXg6IiIsY0xldHRlcjoiYyJ9KSk6KGUuc2hvd3NjYWxlPSExLCJmYWNlY29sb3IiaW4gdD9sKCJmYWNlY29sb3IiKToidmVydGV4Y29sb3IiaW4gdD9sKCJ2ZXJ0ZXhjb2xvciIpOmwoImNvbG9yIixyKSksbCgidGV4dCIpLGwoImhvdmVydGV4dCIpLGwoImhvdmVydGVtcGxhdGUiKSxlLl9sZW5ndGg9bnVsbCk6ZS52aXNpYmxlPSExKTplLnZpc2libGU9ITF9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyI6NjAyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9hdHRyaWJ1dGVzIjoxMDYxfV0sMTA2NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIiksY29sb3JiYXI6e21pbjoiY21pbiIsbWF4OiJjbWF4In0scGxvdDp0KCIuL2NvbnZlcnQiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToibWVzaDNkIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9nbDNkIiksY2F0ZWdvcmllczpbImdsM2QiLCJzaG93TGVnZW5kIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvZ2wzZCI6ODA1LCIuL2F0dHJpYnV0ZXMiOjEwNjEsIi4vY2FsYyI6MTA2MiwiLi9jb252ZXJ0IjoxMDYzLCIuL2RlZmF1bHRzIjoxMDY0fV0sMTA2NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKS5leHRlbmRGbGF0LGE9dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyIpLmRhc2gsbz10KCIuLi8uLi9jb21wb25lbnRzL2Z4L2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL2NvbnN0YW50cy9kZWx0YS5qcyIpLGw9cy5JTkNSRUFTSU5HLkNPTE9SLGM9cy5ERUNSRUFTSU5HLkNPTE9SLHU9YS5saW5lO2Z1bmN0aW9uIGgodCl7cmV0dXJue2xpbmU6e2NvbG9yOm4oe30sdS5jb2xvcix7ZGZsdDp0fSksd2lkdGg6dS53aWR0aCxkYXNoOmksZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn19ZS5leHBvcnRzPXt4Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LG9wZW46e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0saGlnaDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxsb3c6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sY2xvc2U6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sbGluZTp7d2lkdGg6bih7fSx1LndpZHRoLHt9KSxkYXNoOm4oe30saSx7fSksZWRpdFR5cGU6InN0eWxlIn0saW5jcmVhc2luZzpoKGwpLGRlY3JlYXNpbmc6aChjKSx0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyJ9LGhvdmVydGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITAsZWRpdFR5cGU6ImNhbGMifSx0aWNrd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4Oi41LGRmbHQ6LjMsZWRpdFR5cGU6ImNhbGMifSxob3ZlcmxhYmVsOm4oe30sby5ob3ZlcmxhYmVsLHtzcGxpdDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToic3R5bGUifX0pfX0seyIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyI6NjEyLCIuLi8uLi9jb21wb25lbnRzL2Z4L2F0dHJpYnV0ZXMiOjYyMiwiLi4vLi4vY29uc3RhbnRzL2RlbHRhLmpzIjo2ODcsIi4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjB9XSwxMDY3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9bi5fLGk9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxvPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU07ZnVuY3Rpb24gcyh0LGUscixuKXtyZXR1cm57bzp0LGg6ZSxsOnIsYzpufX1mdW5jdGlvbiBsKHQsZSxyLHMsbCl7Zm9yKHZhciBjPXMubWFrZUNhbGNkYXRhKGUsIm9wZW4iKSx1PXMubWFrZUNhbGNkYXRhKGUsImhpZ2giKSxoPXMubWFrZUNhbGNkYXRhKGUsImxvdyIpLGY9cy5tYWtlQ2FsY2RhdGEoZSwiY2xvc2UiKSxwPUFycmF5LmlzQXJyYXkoZS50ZXh0KSxkPUFycmF5LmlzQXJyYXkoZS5ob3ZlcnRleHQpLGc9ITAsdj1udWxsLG09W10seT0wO3k8ci5sZW5ndGg7eSsrKXt2YXIgeD1yW3ldLGI9Y1t5XSxfPXVbeV0sdz1oW3ldLGs9Zlt5XTtpZih4IT09byYmYiE9PW8mJl8hPT1vJiZ3IT09byYmayE9PW8pe2s9PT1iP251bGwhPT12JiZrIT09diYmKGc9az52KTpnPWs+Yix2PWs7dmFyIFQ9bChiLF8sdyxrKTtULnBvcz14LFQueWM9KGIraykvMixULmk9eSxULmRpcj1nPyJpbmNyZWFzaW5nIjoiZGVjcmVhc2luZyIsVC54PVQucG9zLFQueT1bdyxfXSxwJiYoVC50eD1lLnRleHRbeV0pLGQmJihULmh0eD1lLmhvdmVydGV4dFt5XSksbS5wdXNoKFQpfWVsc2UgbS5wdXNoKHtwb3M6eCxlbXB0eTohMH0pfXJldHVybiBlLl9leHRyZW1lc1tzLl9pZF09aS5maW5kRXh0cmVtZXMocyxuLmNvbmNhdChoLHUpLHtwYWRkZWQ6ITB9KSxtLmxlbmd0aCYmKG1bMF0udD17bGFiZWxzOntvcGVuOmEodCwib3BlbjoiKSsiICIsaGlnaDphKHQsImhpZ2g6IikrIiAiLGxvdzphKHQsImxvdzoiKSsiICIsY2xvc2U6YSh0LCJjbG9zZToiKSsiICJ9fSksbX1lLmV4cG9ydHM9e2NhbGM6ZnVuY3Rpb24odCxlKXt2YXIgcj1pLmdldEZyb21JZCh0LGUueGF4aXMpLGE9aS5nZXRGcm9tSWQodCxlLnlheGlzKSxvPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT1yLl9taW5EaWZmO2lmKCFhKXt2YXIgaSxvPXQuX2Z1bGxEYXRhLHM9W107Zm9yKGE9MS8wLGk9MDtpPG8ubGVuZ3RoO2krKyl7dmFyIGw9b1tpXTtpZigib2hsYyI9PT1sLnR5cGUmJiEwPT09bC52aXNpYmxlJiZsLnhheGlzPT09ZS5faWQpe3MucHVzaChsKTt2YXIgYz1lLm1ha2VDYWxjZGF0YShsLCJ4Iik7bC5feGNhbGM9Yzt2YXIgdT1uLmRpc3RpbmN0VmFscyhjKS5taW5EaWZmO3UmJmlzRmluaXRlKHUpJiYoYT1NYXRoLm1pbihhLHUpKX19Zm9yKGE9PT0xLzAmJihhPTEpLGk9MDtpPHMubGVuZ3RoO2krKylzW2ldLl9taW5EaWZmPWF9cmV0dXJuIGEqci50aWNrd2lkdGh9KHQscixlKSxjPWUuX21pbkRpZmY7ZS5fbWluRGlmZj1udWxsO3ZhciB1PWUuX3hjYWxjO2UuX3hjYWxjPW51bGw7dmFyIGg9bCh0LGUsdSxhLHMpO3JldHVybiBlLl9leHRyZW1lc1tyLl9pZF09aS5maW5kRXh0cmVtZXMocix1LHt2cGFkOmMvMn0pLGgubGVuZ3RoPyhuLmV4dGVuZEZsYXQoaFswXS50LHt3SG92ZXI6Yy8yLHRpY2tMZW46b30pLGgpOlt7dDp7ZW1wdHk6ITB9fV19LGNhbGNDb21tb246bH19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDEwNjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL29obGNfZGVmYXVsdHMiKSxpPXQoIi4vYXR0cmlidXRlcyIpO2Z1bmN0aW9uIG8odCxlLHIsbil7cihuKyIubGluZS5jb2xvciIpLHIobisiLmxpbmUud2lkdGgiLGUubGluZS53aWR0aCkscihuKyIubGluZS5kYXNoIixlLmxpbmUuZGFzaCl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe2Z1bmN0aW9uIGwocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGkscixhKX1hKHQsZSxsLHMpPyhsKCJsaW5lLndpZHRoIiksbCgibGluZS5kYXNoIiksbyh0LGUsbCwiaW5jcmVhc2luZyIpLG8odCxlLGwsImRlY3JlYXNpbmciKSxsKCJ0ZXh0IiksbCgiaG92ZXJ0ZXh0IiksbCgidGlja3dpZHRoIikscy5fcmVxdWVzdFJhbmdlc2xpZGVyW2UueGF4aXNdPSEwKTplLnZpc2libGU9ITF9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2F0dHJpYnV0ZXMiOjEwNjYsIi4vb2hsY19kZWZhdWx0cyI6MTA3MX1dLDEwNjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLHM9dCgiLi4vLi4vbGliIikuZmlsbFRleHQsbD10KCIuLi8uLi9jb25zdGFudHMvZGVsdGEuanMiKSxjPXtpbmNyZWFzaW5nOmwuSU5DUkVBU0lORy5TWU1CT0wsZGVjcmVhc2luZzpsLkRFQ1JFQVNJTkcuU1lNQk9MfTtmdW5jdGlvbiB1KHQsZSxyLG4pe3ZhciBhLHMsbD10LmNkLGM9dC54YSx1PWxbMF0udHJhY2UsaD1sWzBdLnQsZj11LnR5cGUscD0ib2hsYyI9PT1mPyJsIjoibWluIixkPSJvaGxjIj09PWY/ImgiOiJtYXgiLGc9aC5iUG9zfHwwLHY9ZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zK2ctZX0sbT1oLmJkUG9zfHxoLnRpY2tMZW4seT1oLndIb3Zlcix4PU1hdGgubWluKDEsbS9NYXRoLmFicyhjLnIyYyhjLnJhbmdlWzFdKS1jLnIyYyhjLnJhbmdlWzBdKSkpO2Z1bmN0aW9uIGIodCl7dmFyIGU9dih0KTtyZXR1cm4gaS5pbmJveChlLXksZSt5LGEpfWZ1bmN0aW9uIF8odCl7dmFyIGU9dFtwXSxuPXRbZF07cmV0dXJuIGU9PT1ufHxpLmluYm94KGUtcixuLXIsYSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4oYih0KStfKHQpKS8yfWE9dC5tYXhIb3ZlckRpc3RhbmNlLXgscz10Lm1heFNwaWtlRGlzdGFuY2UteDt2YXIgaz1pLmdldERpc3RhbmNlRnVuY3Rpb24obixiLF8sdyk7aWYoaS5nZXRDbG9zZXN0KGwsayx0KSwhMT09PXQuaW5kZXgpcmV0dXJuIG51bGw7dmFyIFQ9bFt0LmluZGV4XTtpZihULmVtcHR5KXJldHVybiBudWxsO3ZhciBNPXVbVC5kaXJdLEE9TS5saW5lLmNvbG9yO3JldHVybiBvLm9wYWNpdHkoQSkmJk0ubGluZS53aWR0aD90LmNvbG9yPUE6dC5jb2xvcj1NLmZpbGxjb2xvcix0LngwPWMuYzJwKFQucG9zK2ctbSwhMCksdC54MT1jLmMycChULnBvcytnK20sITApLHQueExhYmVsVmFsPVQucG9zLHQuc3Bpa2VEaXN0YW5jZT13KFQpKnMvYSx0LnhTcGlrZT1jLmMycChULnBvcywhMCksdH1mdW5jdGlvbiBoKHQsZSxyLGkpe3ZhciBvPXQuY2Qscz10LnlhLGw9b1swXS50cmFjZSxjPW9bMF0udCxoPVtdLGY9dSh0LGUscixpKTtpZighZilyZXR1cm5bXTt2YXIgcD1vW2YuaW5kZXhdLmhpfHxsLmhvdmVyaW5mbyxkPXAuc3BsaXQoIisiKTtpZighKCJhbGwiPT09cHx8LTEhPT1kLmluZGV4T2YoInkiKSkpcmV0dXJuW107Zm9yKHZhciBnPVsiaGlnaCIsIm9wZW4iLCJjbG9zZSIsImxvdyJdLHY9e30sbT0wO208Zy5sZW5ndGg7bSsrKXt2YXIgeSx4PWdbbV0sYj1sW3hdW2YuaW5kZXhdLF89cy5jMnAoYiwhMCk7YiBpbiB2Pyh5PXZbYl0pLnlMYWJlbCs9Ijxicj4iK2MubGFiZWxzW3hdK24uaG92ZXJMYWJlbFRleHQocyxiKTooKHk9YS5leHRlbmRGbGF0KHt9LGYpKS55MD15LnkxPV8seS55TGFiZWxWYWw9Yix5LnlMYWJlbD1jLmxhYmVsc1t4XStuLmhvdmVyTGFiZWxUZXh0KHMsYikseS5uYW1lPSIiLGgucHVzaCh5KSx2W2JdPXkpfXJldHVybiBofWZ1bmN0aW9uIGYodCxlLHIsYSl7dmFyIGk9dC5jZCxvPXQueWEsbD1pWzBdLnRyYWNlLGg9aVswXS50LGY9dSh0LGUscixhKTtpZighZilyZXR1cm5bXTt2YXIgcD1pW2YuaW5kZXhdLGQ9Zi5pbmRleD1wLmksZz1wLmRpcjtmdW5jdGlvbiB2KHQpe3JldHVybiBoLmxhYmVsc1t0XStuLmhvdmVyTGFiZWxUZXh0KG8sbFt0XVtkXSl9dmFyIG09cC5oaXx8bC5ob3ZlcmluZm8seT1tLnNwbGl0KCIrIikseD0iYWxsIj09PW0sYj14fHwtMSE9PXkuaW5kZXhPZigieSIpLF89eHx8LTEhPT15LmluZGV4T2YoInRleHQiKSx3PWI/W3YoIm9wZW4iKSx2KCJoaWdoIiksdigibG93IiksdigiY2xvc2UiKSsiICAiK2NbZ11dOltdO3JldHVybiBfJiZzKHAsbCx3KSxmLmV4dHJhVGV4dD13LmpvaW4oIjxicj4iKSxmLnkwPWYueTE9by5jMnAocC55YywhMCksW2ZdfWUuZXhwb3J0cz17aG92ZXJQb2ludHM6ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHQuY2RbMF0udHJhY2UuaG92ZXJsYWJlbC5zcGxpdD9oKHQsZSxyLG4pOmYodCxlLHIsbil9LGhvdmVyU3BsaXQ6aCxob3Zlck9uUG9pbnRzOmZ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9jb25zdGFudHMvZGVsdGEuanMiOjY4NywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjV9XSwxMDcwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bW9kdWxlVHlwZToidHJhY2UiLG5hbWU6Im9obGMiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGNhdGVnb3JpZXM6WyJjYXJ0ZXNpYW4iLCJzdmciLCJzaG93TGVnZW5kIl0sbWV0YTp7fSxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLmNhbGMscGxvdDp0KCIuL3Bsb3QiKSxzdHlsZTp0KCIuL3N0eWxlIiksaG92ZXJQb2ludHM6dCgiLi9ob3ZlciIpLmhvdmVyUG9pbnRzLHNlbGVjdFBvaW50czp0KCIuL3NlbGVjdCIpfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi9hdHRyaWJ1dGVzIjoxMDY2LCIuL2NhbGMiOjEwNjcsIi4vZGVmYXVsdHMiOjEwNjgsIi4vaG92ZXIiOjEwNjksIi4vcGxvdCI6MTA3MiwiLi9zZWxlY3QiOjEwNzMsIi4vc3R5bGUiOjEwNzR9XSwxMDcxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IiksYT10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG89cigieCIpLHM9cigib3BlbiIpLGw9cigiaGlnaCIpLGM9cigibG93IiksdT1yKCJjbG9zZSIpO2lmKHIoImhvdmVybGFiZWwuc3BsaXQiKSxuLmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiaGFuZGxlVHJhY2VEZWZhdWx0cyIpKHQsZSxbIngiXSxpKSxzJiZsJiZjJiZ1KXt2YXIgaD1NYXRoLm1pbihzLmxlbmd0aCxsLmxlbmd0aCxjLmxlbmd0aCx1Lmxlbmd0aCk7cmV0dXJuIG8mJihoPU1hdGgubWluKGgsYS5taW5Sb3dMZW5ndGgobykpKSxlLl9sZW5ndGg9aCxofX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDZ9XSwxMDcyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG89ZS54YXhpcyxzPWUueWF4aXM7YS5tYWtlVHJhY2VHcm91cHMoaSxyLCJ0cmFjZSBvaGxjIikuZWFjaChmdW5jdGlvbih0KXt2YXIgZT1uLnNlbGVjdCh0aGlzKSxyPXRbMF0saT1yLnQ7aWYoITAhPT1yLnRyYWNlLnZpc2libGV8fGkuZW1wdHkpZS5yZW1vdmUoKTtlbHNle3ZhciBsPWkudGlja0xlbixjPWUuc2VsZWN0QWxsKCJwYXRoIikuZGF0YShhLmlkZW50aXR5KTtjLmVudGVyKCkuYXBwZW5kKCJwYXRoIiksYy5leGl0KCkucmVtb3ZlKCksYy5hdHRyKCJkIixmdW5jdGlvbih0KXtpZih0LmVtcHR5KXJldHVybiJNMCwwWiI7dmFyIGU9by5jMnAodC5wb3MsITApLHI9by5jMnAodC5wb3MtbCwhMCksbj1vLmMycCh0LnBvcytsLCEwKTtyZXR1cm4iTSIrcisiLCIrcy5jMnAodC5vLCEwKSsiSCIrZSsiTSIrZSsiLCIrcy5jMnAodC5oLCEwKSsiViIrcy5jMnAodC5sLCEwKSsiTSIrbisiLCIrcy5jMnAodC5jLCEwKSsiSCIrZX0pfX0pfX0seyIuLi8uLi9saWIiOjcxNyxkMzoxNjV9XSwxMDczOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG49dC5jZCxhPXQueGF4aXMsaT10LnlheGlzLG89W10scz1uWzBdLnQuYlBvc3x8MDtpZighMT09PWUpZm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdLnNlbGVjdGVkPTA7ZWxzZSBmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdO2UuY29udGFpbnMoW2EuYzJwKGwucG9zK3MpLGkuYzJwKGwueWMpXSxudWxsLGwuaSx0KT8oby5wdXNoKHtwb2ludE51bWJlcjpsLmkseDphLmMyZChsLnBvcykseTppLmMyZChsLnljKX0pLGwuc2VsZWN0ZWQ9MSk6bC5zZWxlY3RlZD0wfXJldHVybiBvfX0se31dLDEwNzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG89cnx8bi5zZWxlY3QodCkuc2VsZWN0QWxsKCJnLm9obGNsYXllciIpLnNlbGVjdEFsbCgiZy50cmFjZSIpO28uc3R5bGUoIm9wYWNpdHkiLGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdLnRyYWNlLm9wYWNpdHl9KSxvLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9dFswXS50cmFjZTtuLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoInBhdGgiKS5lYWNoKGZ1bmN0aW9uKHQpe2lmKCF0LmVtcHR5KXt2YXIgcj1lW3QuZGlyXS5saW5lO24uc2VsZWN0KHRoaXMpLnN0eWxlKCJmaWxsIiwibm9uZSIpLmNhbGwoaS5zdHJva2Usci5jb2xvcikuY2FsbChhLmRhc2hMaW5lLHIuZGFzaCxyLndpZHRoKS5zdHlsZSgib3BhY2l0eSIsZS5zZWxlY3RlZHBvaW50cyYmIXQuc2VsZWN0ZWQ/LjM6MSl9fSl9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMyxkMzoxNjV9XSwxMDc1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGE9dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLHM9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxsPXQoIi4uLy4uL3Bsb3RzL2RvbWFpbiIpLmF0dHJpYnV0ZXMsYz1uKHtlZGl0VHlwZToiY2FsYyJ9LG8oImxpbmUiLHtlZGl0VHlwZU92ZXJyaWRlOiJjYWxjIn0pLHtzaGFwZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibGluZWFyIiwiaHNwbGluZSJdLGRmbHQ6ImxpbmVhciIsZWRpdFR5cGU6InBsb3QifSxob3ZlcnRlbXBsYXRlOnMoe2VkaXRUeXBlOiJwbG90IixhcnJheU9rOiExfSx7a2V5czpbImNvdW50IiwicHJvYmFiaWxpdHkiXX0pfSk7ZS5leHBvcnRzPXtkb21haW46bCh7bmFtZToicGFyY2F0cyIsdHJhY2U6ITAsZWRpdFR5cGU6ImNhbGMifSksaG92ZXJpbmZvOm4oe30sYS5ob3ZlcmluZm8se2ZsYWdzOlsiY291bnQiLCJwcm9iYWJpbGl0eSJdLGVkaXRUeXBlOiJwbG90IixhcnJheU9rOiExfSksaG92ZXJvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiY2F0ZWdvcnkiLCJjb2xvciIsImRpbWVuc2lvbiJdLGRmbHQ6ImNhdGVnb3J5IixlZGl0VHlwZToicGxvdCJ9LGhvdmVydGVtcGxhdGU6cyh7ZWRpdFR5cGU6InBsb3QiLGFycmF5T2s6ITF9LHtrZXlzOlsiY291bnQiLCJwcm9iYWJpbGl0eSIsImNhdGVnb3J5IiwiY2F0ZWdvcnljb3VudCIsImNvbG9yY291bnQiLCJiYW5kY29sb3Jjb3VudCJdfSksYXJyYW5nZW1lbnQ6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInBlcnBlbmRpY3VsYXIiLCJmcmVlZm9ybSIsImZpeGVkIl0sZGZsdDoicGVycGVuZGljdWxhciIsZWRpdFR5cGU6InBsb3QifSxidW5kbGVjb2xvcnM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6InBsb3QifSxzb3J0cGF0aHM6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImZvcndhcmQiLCJiYWNrd2FyZCJdLGRmbHQ6ImZvcndhcmQiLGVkaXRUeXBlOiJwbG90In0sbGFiZWxmb250Omkoe2VkaXRUeXBlOiJjYWxjIn0pLHRpY2tmb250Omkoe2VkaXRUeXBlOiJjYWxjIn0pLGRpbWVuc2lvbnM6e19pc0xpbmtlZFRvQXJyYXk6ImRpbWVuc2lvbiIsbGFiZWw6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6ImNhbGMifSxjYXRlZ29yeW9yZGVyOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0cmFjZSIsImNhdGVnb3J5IGFzY2VuZGluZyIsImNhdGVnb3J5IGRlc2NlbmRpbmciLCJhcnJheSJdLGRmbHQ6InRyYWNlIixlZGl0VHlwZToiY2FsYyJ9LGNhdGVnb3J5YXJyYXk6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sdGlja3RleHQ6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sdmFsdWVzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdLGVkaXRUeXBlOiJjYWxjIn0sZGlzcGxheWluZGV4Ont2YWxUeXBlOiJpbnRlZ2VyIixlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIix2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn19LGxpbmU6Yyxjb3VudHM6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoxLGFycmF5T2s6ITAsZWRpdFR5cGU6ImNhbGMifSxjdXN0b21kYXRhOnZvaWQgMCxob3ZlcmxhYmVsOnZvaWQgMCxpZHM6dm9pZCAwLGxlZ2VuZGdyb3VwOnZvaWQgMCxvcGFjaXR5OnZvaWQgMCxzZWxlY3RlZHBvaW50czp2b2lkIDAsc2hvd2xlZ2VuZDp2b2lkIDB9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy9kb21haW4iOjc5MCwiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTEsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MX1dLDEwNzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiKS5nZXRNb2R1bGVDYWxjRGF0YSxhPXQoIi4vcGxvdCIpO3IubmFtZT0icGFyY2F0cyIsci5wbG90PWZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvPW4odC5jYWxjZGF0YSwicGFyY2F0cyIpO2lmKG8ubGVuZ3RoKXt2YXIgcz1vWzBdO2EodCxzLHIsaSl9fSxyLmNsZWFuPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW4uX2hhcyYmbi5faGFzKCJwYXJjYXRzIiksaT1lLl9oYXMmJmUuX2hhcygicGFyY2F0cyIpO2EmJiFpJiZuLl9wYXBlcmRpdi5zZWxlY3RBbGwoIi5wYXJjYXRzIikucmVtb3ZlKCl9fSx7Ii4uLy4uL3Bsb3RzL2dldF9kYXRhIjo4MDAsIi4vcGxvdCI6MTA4MX1dLDEwNzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliL2d1cCIpLndyYXAsYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvaGVscGVycyIpLmhhc0NvbG9yc2NhbGUsaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyIpLG89dCgiLi4vLi4vbGliL2ZpbHRlcl91bmlxdWUuanMiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGw9dCgiLi4vLi4vbGliIik7ZnVuY3Rpb24gYyh0LGUscil7dC52YWx1ZUluZHMucHVzaChlKSx0LmNvdW50Kz1yfWZ1bmN0aW9uIHUodCxlLHIpe3JldHVybntjYXRlZ29yeUluZHM6dCxjb2xvcjplLHJhd0NvbG9yOnIsdmFsdWVJbmRzOltdLGNvdW50OjB9fWZ1bmN0aW9uIGgodCxlLHIpe3QudmFsdWVJbmRzLnB1c2goZSksdC5jb3VudCs9cn1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1sLmZpbHRlclZpc2libGUoZS5kaW1lbnNpb25zKTtpZigwPT09ci5sZW5ndGgpcmV0dXJuW107dmFyIGYscCxkLGc9ci5tYXAoZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuInRyYWNlIj09PXQuY2F0ZWdvcnlvcmRlcj9lPW51bGw6ImFycmF5Ij09PXQuY2F0ZWdvcnlvcmRlcj9lPXQuY2F0ZWdvcnlhcnJheTooZT1vKHQudmFsdWVzKS5zb3J0KCksImNhdGVnb3J5IGRlc2NlbmRpbmciPT09dC5jYXRlZ29yeW9yZGVyJiYoZT1lLnJldmVyc2UoKSkpLGZ1bmN0aW9uKHQsZSl7ZT1udWxsPT1lP1tdOmUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0fSk7dmFyIHI9e30sbj17fSxhPVtdO2UuZm9yRWFjaChmdW5jdGlvbih0LGUpe3JbdF09MCxuW3RdPWV9KTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG8scz10W2ldO3ZvaWQgMD09PXJbc10/KHJbc109MSxvPWUucHVzaChzKS0xLG5bc109byk6KHJbc10rKyxvPW5bc10pLGEucHVzaChvKX12YXIgbD1lLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gclt0XX0pO3JldHVybnt1bmlxdWVWYWx1ZXM6ZSx1bmlxdWVDb3VudHM6bCxpbmRzOmF9fSh0LnZhbHVlcyxlKX0pO2Y9bC5pc0FycmF5T3JUeXBlZEFycmF5KGUuY291bnRzKT9lLmNvdW50czpbZS5jb3VudHNdLGZ1bmN0aW9uKHQpe3ZhciBlO2lmKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9MDtyPHQubGVuZ3RoO3IrKyl7aWYodFtyXTwwfHx0W3JdPj10Lmxlbmd0aClyZXR1cm4hMTtpZih2b2lkIDAhPT1lW3Rbcl1dKXJldHVybiExO2VbdFtyXV09ITB9cmV0dXJuITB9KHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmRpc3BsYXlpbmRleH0pKSlmb3IoZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uX2Rpc3BsYXlpbmRleD10W2VdLmRpc3BsYXlpbmRleDtlbHNlIGZvcihlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXS5fZGlzcGxheWluZGV4PWV9KHIpLHIuZm9yRWFjaChmdW5jdGlvbih0LGUpeyFmdW5jdGlvbih0LGUpe3QuX2NhdGVnb3J5YXJyYXk9ZS51bmlxdWVWYWx1ZXMsbnVsbD09PXQudGlja3RleHR8fHZvaWQgMD09PXQudGlja3RleHQ/dC5fdGlja3RleHQ9W106dC5fdGlja3RleHQ9dC50aWNrdGV4dC5zbGljZSgpO2Zvcih2YXIgcj10Ll90aWNrdGV4dC5sZW5ndGg7cjxlLnVuaXF1ZVZhbHVlcy5sZW5ndGg7cisrKXQuX3RpY2t0ZXh0LnB1c2goZS51bmlxdWVWYWx1ZXNbcl0pfSh0LGdbZV0pfSk7dmFyIHYsbT1lLmxpbmU7bT8oYShlLCJsaW5lIikmJmkodCxlLHt2YWxzOmUubGluZS5jb2xvcixjb250YWluZXJTdHI6ImxpbmUiLGNMZXR0ZXI6ImMifSksdj1zLnRyeUNvbG9yc2NhbGUobSkpOnY9bC5pZGVudGl0eTt2YXIgeSx4LGIsXyx3LGs9clswXS52YWx1ZXMubGVuZ3RoLFQ9e30sTT1nLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pbmRzfSk7Zm9yKGQ9MCx5PTA7eTxrO3krKyl7dmFyIEE9W107Zm9yKHg9MDt4PE0ubGVuZ3RoO3grKylBLnB1c2goTVt4XVt5XSk7cD1mW3klZi5sZW5ndGhdLGQrPXA7dmFyIFM9KGI9eSxfPXZvaWQgMCx3PXZvaWQgMCxsLmlzQXJyYXlPclR5cGVkQXJyYXkobS5jb2xvcik/dz1fPW0uY29sb3JbYiVtLmNvbG9yLmxlbmd0aF06Xz1tLmNvbG9yLHtjb2xvcjp2KF8pLHJhd0NvbG9yOnd9KSxFPUErIi0iK1MucmF3Q29sb3I7dm9pZCAwPT09VFtFXSYmKFRbRV09dShBLFMuY29sb3IsUy5yYXdDb2xvcikpLGgoVFtFXSx5LHApfXZhciBMLEM9ci5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gcj1lLG49dC5faW5kZXgsYT10Ll9kaXNwbGF5aW5kZXgsaT10LmxhYmVsLHtkaW1lbnNpb25JbmQ6cixjb250YWluZXJJbmQ6bixkaXNwbGF5SW5kOmEsZGltZW5zaW9uTGFiZWw6aSxjb3VudDpkLGNhdGVnb3JpZXM6W10sZHJhZ1g6bnVsbH07dmFyIHIsbixhLGl9KTtmb3IoeT0wO3k8azt5KyspZm9yKHA9Zlt5JWYubGVuZ3RoXSx4PTA7eDxDLmxlbmd0aDt4Kyspe3ZhciBQPUNbeF0uY29udGFpbmVySW5kLE89Z1t4XS5pbmRzW3ldLHo9Q1t4XS5jYXRlZ29yaWVzO2lmKHZvaWQgMD09PXpbT10pe3ZhciBJPWUuZGltZW5zaW9uc1tQXS5fY2F0ZWdvcnlhcnJheVtPXSxEPWUuZGltZW5zaW9uc1tQXS5fdGlja3RleHRbT107eltPXT17ZGltZW5zaW9uSW5kOngsY2F0ZWdvcnlJbmQ6TD1PLGNhdGVnb3J5VmFsdWU6SSxkaXNwbGF5SW5kOkwsY2F0ZWdvcnlMYWJlbDpELHZhbHVlSW5kczpbXSxjb3VudDowLGRyYWdZOm51bGx9fWMoeltPXSx5LHApfXJldHVybiBuKGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5jYXRlZ29yaWVzLmxlbmd0aH0pLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUpfSk7cmV0dXJue2RpbWVuc2lvbnM6dCxwYXRoczplLHRyYWNlOnZvaWQgMCxtYXhDYXRzOm4sY291bnQ6cn19KEMsVCxkKSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIjo2MDAsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2ZpbHRlcl91bmlxdWUuanMiOjcwOSwiLi4vLi4vbGliL2d1cCI6NzE1fV0sMTA3ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIikuaGFzQ29sb3JzY2FsZSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyIpLG89dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuZGVmYXVsdHMscz10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxsPXQoIi4vYXR0cmlidXRlcyIpLGM9dCgiLi4vcGFyY29vcmRzL21lcmdlX2xlbmd0aCIpO2Z1bmN0aW9uIHUodCxlKXtmdW5jdGlvbiByKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxsLmRpbWVuc2lvbnMscixhKX12YXIgYT1yKCJ2YWx1ZXMiKSxpPXIoInZpc2libGUiKTtpZihhJiZhLmxlbmd0aHx8KGk9ZS52aXNpYmxlPSExKSxpKXtyKCJsYWJlbCIpLHIoImRpc3BsYXlpbmRleCIsZS5faW5kZXgpO3ZhciBvLHM9dC5jYXRlZ29yeWFycmF5LGM9QXJyYXkuaXNBcnJheShzKSYmcy5sZW5ndGg+MDtjJiYobz0iYXJyYXkiKTt2YXIgdT1yKCJjYXRlZ29yeW9yZGVyIixvKTsiYXJyYXkiPT09dT8ocigiY2F0ZWdvcnlhcnJheSIpLHIoInRpY2t0ZXh0IikpOihkZWxldGUgdC5jYXRlZ29yeWFycmF5LGRlbGV0ZSB0LnRpY2t0ZXh0KSxjfHwiYXJyYXkiIT09dXx8KGUuY2F0ZWdvcnlvcmRlcj0idHJhY2UiKX19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGgpe2Z1bmN0aW9uIGYocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGwscixhKX12YXIgcD1zKHQsZSx7bmFtZToiZGltZW5zaW9ucyIsaGFuZGxlSXRlbURlZmF1bHRzOnV9KSxkPWZ1bmN0aW9uKHQsZSxyLG8scyl7cygibGluZS5zaGFwZSIpLHMoImxpbmUuaG92ZXJ0ZW1wbGF0ZSIpO3ZhciBsPXMoImxpbmUuY29sb3IiLG8uY29sb3J3YXlbMF0pO2lmKGEodCwibGluZSIpJiZuLmlzQXJyYXlPclR5cGVkQXJyYXkobCkpe2lmKGwubGVuZ3RoKXJldHVybiBzKCJsaW5lLmNvbG9yc2NhbGUiKSxpKHQsZSxvLHMse3ByZWZpeDoibGluZS4iLGNMZXR0ZXI6ImMifSksbC5sZW5ndGg7ZS5saW5lLmNvbG9yPXJ9cmV0dXJuIDEvMH0odCxlLHIsaCxmKTtvKGUsaCxmKSxBcnJheS5pc0FycmF5KHApJiZwLmxlbmd0aHx8KGUudmlzaWJsZT0hMSksYyhlLHAsInZhbHVlcyIsZCksZigiaG92ZXJvbiIpLGYoImhvdmVydGVtcGxhdGUiKSxmKCJhcnJhbmdlbWVudCIpLGYoImJ1bmRsZWNvbG9ycyIpLGYoInNvcnRwYXRocyIpLGYoImNvdW50cyIpO3ZhciBnPXtmYW1pbHk6aC5mb250LmZhbWlseSxzaXplOk1hdGgucm91bmQoaC5mb250LnNpemUpLGNvbG9yOmguZm9udC5jb2xvcn07bi5jb2VyY2VGb250KGYsImxhYmVsZm9udCIsZyk7dmFyIHY9e2ZhbWlseTpoLmZvbnQuZmFtaWx5LHNpemU6TWF0aC5yb3VuZChoLmZvbnQuc2l6ZS8xLjIpLGNvbG9yOmguZm9udC5jb2xvcn07bi5jb2VyY2VGb250KGYsInRpY2tmb250Iix2KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIjo2MDIsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4uL3BhcmNvb3Jkcy9tZXJnZV9sZW5ndGgiOjEwOTEsIi4vYXR0cmlidXRlcyI6MTA3NX1dLDEwNzk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90IiksY29sb3JiYXI6e2NvbnRhaW5lcjoibGluZSIsbWluOiJjbWluIixtYXg6ImNtYXgifSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToicGFyY2F0cyIsYmFzZVBsb3RNb2R1bGU6dCgiLi9iYXNlX3Bsb3QiKSxjYXRlZ29yaWVzOlsibm9PcGFjaXR5Il0sbWV0YTp7fX19LHsiLi9hdHRyaWJ1dGVzIjoxMDc1LCIuL2Jhc2VfcGxvdCI6MTA3NiwiLi9jYWxjIjoxMDc3LCIuL2RlZmF1bHRzIjoxMDc4LCIuL3Bsb3QiOjEwODF9XSwxMDgwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9wbG90X2FwaS9wbG90X2FwaSIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9meCIpLG89dCgiLi4vLi4vbGliIikscz10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxsPXQoInRpbnljb2xvcjIiKSxjPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpO2Z1bmN0aW9uIHUodCxlLHIsYSl7dmFyIGk9dC5tYXAoZnVuY3Rpb24odCxlLHIpe3ZhciBuLGE9clswXSxpPWUubWFyZ2lufHx7bDo4MCxyOjgwLHQ6MTAwLGI6ODB9LG89YS50cmFjZSxzPW8uZG9tYWluLGw9ZS53aWR0aCxjPWUuaGVpZ2h0LHU9TWF0aC5mbG9vcihsKihzLnhbMV0tcy54WzBdKSksaD1NYXRoLmZsb29yKGMqKHMueVsxXS1zLnlbMF0pKSxmPXMueFswXSpsK2kubCxwPWUuaGVpZ2h0LXMueVsxXSplLmhlaWdodCtpLnQsZD1vLmxpbmUuc2hhcGU7bj0iYWxsIj09PW8uaG92ZXJpbmZvP1siY291bnQiLCJwcm9iYWJpbGl0eSJdOihvLmhvdmVyaW5mb3x8IiIpLnNwbGl0KCIrIik7dmFyIGc9e3RyYWNlOm8sa2V5Om8udWlkLG1vZGVsOmEseDpmLHk6cCx3aWR0aDp1LGhlaWdodDpoLGhvdmVyb246by5ob3Zlcm9uLGhvdmVyaW5mb0l0ZW1zOm4sYXJyYW5nZW1lbnQ6by5hcnJhbmdlbWVudCxidW5kbGVjb2xvcnM6by5idW5kbGVjb2xvcnMsc29ydHBhdGhzOm8uc29ydHBhdGhzLGxhYmVsZm9udDpvLmxhYmVsZm9udCxjYXRlZ29yeWxhYmVsZm9udDpvLnRpY2tmb250LHBhdGhTaGFwZTpkLGRyYWdEaW1lbnNpb246bnVsbCxtYXJnaW46aSxwYXRoczpbXSxkaW1lbnNpb25zOltdLGdyYXBoRGl2OnQsdHJhY2VTZWxlY3Rpb246bnVsbCxwYXRoU2VsZWN0aW9uOm51bGwsZGltZW5zaW9uU2VsZWN0aW9uOm51bGx9O2EuZGltZW5zaW9ucyYmKEYoZyksUihnKSk7cmV0dXJuIGd9LmJpbmQoMCxlLHIpKSxsPWEuc2VsZWN0QWxsKCJnLnBhcmNhdHNsYXllciIpLmRhdGEoW251bGxdKTtsLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJwYXJjYXRzbGF5ZXIiKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKTt2YXIgdT1sLnNlbGVjdEFsbCgiZy50cmFjZS5wYXJjYXRzIikuZGF0YShpLGgpLHY9dS5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwidHJhY2UgcGFyY2F0cyIpO3UuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrdC54KyIsICIrdC55KyIpIn0pLHYuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJwYXRocyIpO3ZhciBtPXUuc2VsZWN0KCJnLnBhdGhzIikuc2VsZWN0QWxsKCJwYXRoLnBhdGgiKS5kYXRhKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBhdGhzfSxoKTttLmF0dHIoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1vZGVsLmNvbG9yfSk7dmFyIGI9bS5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmF0dHIoImNsYXNzIiwicGF0aCIpLmF0dHIoInN0cm9rZS1vcGFjaXR5IiwwKS5hdHRyKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdC5tb2RlbC5jb2xvcn0pLmF0dHIoImZpbGwtb3BhY2l0eSIsMCk7eChiKSxtLmF0dHIoImQiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnN2Z0R9KSxiLmVtcHR5KCl8fG0uc29ydChwKSxtLmV4aXQoKS5yZW1vdmUoKSxtLm9uKCJtb3VzZW92ZXIiLGQpLm9uKCJtb3VzZW91dCIsZykub24oImNsaWNrIix5KSx2LmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwiZGltZW5zaW9ucyIpO3ZhciBrPXUuc2VsZWN0KCJnLmRpbWVuc2lvbnMiKS5zZWxlY3RBbGwoImcuZGltZW5zaW9uIikuZGF0YShmdW5jdGlvbih0KXtyZXR1cm4gdC5kaW1lbnNpb25zfSxoKTtrLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJkaW1lbnNpb24iKSxrLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3QueCsiLCAwKSJ9KSxrLmV4aXQoKS5yZW1vdmUoKTt2YXIgVD1rLnNlbGVjdEFsbCgiZy5jYXRlZ29yeSIpLmRhdGEoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2F0ZWdvcmllc30saCksTT1ULmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJjYXRlZ29yeSIpO1QuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKDAsICIrdC55KyIpIn0pLE0uYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJjYXRyZWN0IikuYXR0cigicG9pbnRlci1ldmVudHMiLCJub25lIiksVC5zZWxlY3QoInJlY3QuY2F0cmVjdCIpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0LndpZHRofSkuYXR0cigiaGVpZ2h0IixmdW5jdGlvbih0KXtyZXR1cm4gdC5oZWlnaHR9KSxfKE0pO3ZhciBBPVQuc2VsZWN0QWxsKCJyZWN0LmJhbmRyZWN0IikuZGF0YShmdW5jdGlvbih0KXtyZXR1cm4gdC5iYW5kc30saCk7QS5lYWNoKGZ1bmN0aW9uKCl7by5yYWlzZVRvVG9wKHRoaXMpfSksQS5hdHRyKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2xvcn0pO3ZhciBPPUEuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsImJhbmRyZWN0IikuYXR0cigic3Ryb2tlLW9wYWNpdHkiLDApLmF0dHIoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbG9yfSkuYXR0cigiZmlsbC1vcGFjaXR5IiwwKTtBLmF0dHIoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbG9yfSkuYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0LndpZHRofSkuYXR0cigiaGVpZ2h0IixmdW5jdGlvbih0KXtyZXR1cm4gdC5oZWlnaHR9KS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdC55fSkuYXR0cigiY3Vyc29yIixmdW5jdGlvbih0KXtyZXR1cm4iZml4ZWQiPT09dC5wYXJjYXRzVmlld01vZGVsLmFycmFuZ2VtZW50PyJkZWZhdWx0IjoicGVycGVuZGljdWxhciI9PT10LnBhcmNhdHNWaWV3TW9kZWwuYXJyYW5nZW1lbnQ/Im5zLXJlc2l6ZSI6Im1vdmUifSksdyhPKSxBLmV4aXQoKS5yZW1vdmUoKSxNLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIiwiY2F0bGFiZWwiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsIm5vbmUiKTt2YXIgej1lLl9mdWxsTGF5b3V0LnBhcGVyX2JnY29sb3I7VC5zZWxlY3QoInRleHQuY2F0bGFiZWwiKS5hdHRyKCJ0ZXh0LWFuY2hvciIsZnVuY3Rpb24odCl7cmV0dXJuIGYodCk/InN0YXJ0IjoiZW5kIn0pLmF0dHIoImFsaWdubWVudC1iYXNlbGluZSIsIm1pZGRsZSIpLnN0eWxlKCJ0ZXh0LXNoYWRvdyIseisiIC0xcHggIDFweCAycHgsICIreisiIDFweCAgMXB4IDJweCwgIit6KyIgIDFweCAtMXB4IDJweCwgIit6KyIgLTFweCAtMXB4IDJweCIpLnN0eWxlKCJmaWxsIiwicmdiKDAsIDAsIDApIikuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIGYodCk/dC53aWR0aCs1Oi01fSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHQuaGVpZ2h0LzJ9KS50ZXh0KGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1vZGVsLmNhdGVnb3J5TGFiZWx9KS5lYWNoKGZ1bmN0aW9uKHQpe3MuZm9udChuLnNlbGVjdCh0aGlzKSx0LnBhcmNhdHNWaWV3TW9kZWwuY2F0ZWdvcnlsYWJlbGZvbnQpLGMuY29udmVydFRvVHNwYW5zKG4uc2VsZWN0KHRoaXMpLGUpfSksTS5hcHBlbmQoInRleHQiKS5hdHRyKCJjbGFzcyIsImRpbWxhYmVsIiksVC5zZWxlY3QoInRleHQuZGltbGFiZWwiKS5hdHRyKCJ0ZXh0LWFuY2hvciIsIm1pZGRsZSIpLmF0dHIoImFsaWdubWVudC1iYXNlbGluZSIsImJhc2VsaW5lIikuYXR0cigiY3Vyc29yIixmdW5jdGlvbih0KXtyZXR1cm4iZml4ZWQiPT09dC5wYXJjYXRzVmlld01vZGVsLmFycmFuZ2VtZW50PyJkZWZhdWx0IjoiZXctcmVzaXplIn0pLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybiB0LndpZHRoLzJ9KS5hdHRyKCJ5IiwtNSkudGV4dChmdW5jdGlvbih0LGUpe3JldHVybiAwPT09ZT90LnBhcmNhdHNWaWV3TW9kZWwubW9kZWwuZGltZW5zaW9uc1t0Lm1vZGVsLmRpbWVuc2lvbkluZF0uZGltZW5zaW9uTGFiZWw6bnVsbH0pLmVhY2goZnVuY3Rpb24odCl7cy5mb250KG4uc2VsZWN0KHRoaXMpLHQucGFyY2F0c1ZpZXdNb2RlbC5sYWJlbGZvbnQpfSksVC5zZWxlY3RBbGwoInJlY3QuYmFuZHJlY3QiKS5vbigibW91c2VvdmVyIixTKS5vbigibW91c2VvdXQiLEUpLFQuZXhpdCgpLnJlbW92ZSgpLGsuY2FsbChuLmJlaGF2aW9yLmRyYWcoKS5vcmlnaW4oZnVuY3Rpb24odCl7cmV0dXJue3g6dC54LHk6MH19KS5vbigiZHJhZ3N0YXJ0IixMKS5vbigiZHJhZyIsQykub24oImRyYWdlbmQiLFApKSx1LmVhY2goZnVuY3Rpb24odCl7dC50cmFjZVNlbGVjdGlvbj1uLnNlbGVjdCh0aGlzKSx0LnBhdGhTZWxlY3Rpb249bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJnLnBhdGhzIikuc2VsZWN0QWxsKCJwYXRoLnBhdGgiKSx0LmRpbWVuc2lvblNlbGVjdGlvbj1uLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoImcuZGltZW5zaW9ucyIpLnNlbGVjdEFsbCgiZy5kaW1lbnNpb24iKX0pLHUuZXhpdCgpLnJlbW92ZSgpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIHQua2V5fWZ1bmN0aW9uIGYodCl7dmFyIGU9dC5wYXJjYXRzVmlld01vZGVsLmRpbWVuc2lvbnMubGVuZ3RoLHI9dC5wYXJjYXRzVmlld01vZGVsLmRpbWVuc2lvbnNbZS0xXS5tb2RlbC5kaW1lbnNpb25JbmQ7cmV0dXJuIHQubW9kZWwuZGltZW5zaW9uSW5kPT09cn1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIHQubW9kZWwucmF3Q29sb3I+ZS5tb2RlbC5yYXdDb2xvcj8xOnQubW9kZWwucmF3Q29sb3I8ZS5tb2RlbC5yYXdDb2xvcj8tMTowfWZ1bmN0aW9uIGQodCl7aWYoIXQucGFyY2F0c1ZpZXdNb2RlbC5kcmFnRGltZW5zaW9uJiYtMT09PXQucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJza2lwIikpe28ucmFpc2VUb1RvcCh0aGlzKSxiKG4uc2VsZWN0KHRoaXMpKTt2YXIgZT12KHQpLHI9bSh0KTtpZih0LnBhcmNhdHNWaWV3TW9kZWwuZ3JhcGhEaXYuZW1pdCgicGxvdGx5X2hvdmVyIix7cG9pbnRzOmUsZXZlbnQ6bi5ldmVudCxjb25zdHJhaW50czpyfSksLTE9PT10LnBhcmNhdHNWaWV3TW9kZWwuaG92ZXJpbmZvSXRlbXMuaW5kZXhPZigibm9uZSIpKXt2YXIgYSxzLGMsdT1uLm1vdXNlKHRoaXMpWzBdLGg9dC5wYXJjYXRzVmlld01vZGVsLmdyYXBoRGl2LGY9dC5wYXJjYXRzVmlld01vZGVsLnRyYWNlLHA9aC5fZnVsbExheW91dCxkPXAuX3BhcGVyZGl2Lm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxnPXQucGFyY2F0c1ZpZXdNb2RlbC5ncmFwaERpdi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtmb3IoYz0wO2M8dC5sZWZ0WHMubGVuZ3RoLTE7YysrKWlmKHQubGVmdFhzW2NdK3QuZGltV2lkdGhzW2NdLTI8PXUmJnU8PXQubGVmdFhzW2MrMV0rMil7dmFyIHk9dC5wYXJjYXRzVmlld01vZGVsLmRpbWVuc2lvbnNbY10seD10LnBhcmNhdHNWaWV3TW9kZWwuZGltZW5zaW9uc1tjKzFdO2E9KHkueCt5LndpZHRoK3gueCkvMixzPSh0LnRvcFlzW2NdK3QudG9wWXNbYysxXSt0LmhlaWdodCkvMjticmVha312YXIgXz10LnBhcmNhdHNWaWV3TW9kZWwueCthLHc9dC5wYXJjYXRzVmlld01vZGVsLnkrcyxrPWwubW9zdFJlYWRhYmxlKHQubW9kZWwuY29sb3IsWyJibGFjayIsIndoaXRlIl0pLFQ9dC5tb2RlbC5jb3VudCxNPVQvdC5wYXJjYXRzVmlld01vZGVsLm1vZGVsLmNvdW50LEE9e2NvdW50TGFiZWw6VCxwcm9iYWJpbGl0eUxhYmVsOk0udG9GaXhlZCgzKX0sUz1bXTstMSE9PXQucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJjb3VudCIpJiZTLnB1c2goWyJDb3VudDoiLEEuY291bnRMYWJlbF0uam9pbigiICIpKSwtMSE9PXQucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJwcm9iYWJpbGl0eSIpJiZTLnB1c2goWyJQOiIsQS5wcm9iYWJpbGl0eUxhYmVsXS5qb2luKCIgIikpO3ZhciBFPVMuam9pbigiPGJyPiIpLEw9bi5tb3VzZShoKVswXTtpLmxvbmVIb3Zlcih7dHJhY2U6Zix4Ol8tZC5sZWZ0K2cubGVmdCx5OnctZC50b3ArZy50b3AsdGV4dDpFLGNvbG9yOnQubW9kZWwuY29sb3IsYm9yZGVyQ29sb3I6ImJsYWNrIixmb250RmFtaWx5OidNb25hY28sICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZScsZm9udFNpemU6MTAsZm9udENvbG9yOmssaWRlYWxBbGlnbjpMPF8/InJpZ2h0IjoibGVmdCIsaG92ZXJ0ZW1wbGF0ZTooZi5saW5lfHx7fSkuaG92ZXJ0ZW1wbGF0ZSxob3ZlcnRlbXBsYXRlTGFiZWxzOkEsZXZlbnREYXRhOlt7ZGF0YTpmLl9pbnB1dCxmdWxsRGF0YTpmLGNvdW50OlQscHJvYmFiaWxpdHk6TX1dfSx7Y29udGFpbmVyOnAuX2hvdmVybGF5ZXIubm9kZSgpLG91dGVyQ29udGFpbmVyOnAuX3BhcGVyLm5vZGUoKSxnZDpofSl9fX1mdW5jdGlvbiBnKHQpe2lmKCF0LnBhcmNhdHNWaWV3TW9kZWwuZHJhZ0RpbWVuc2lvbiYmKHgobi5zZWxlY3QodGhpcykpLGkubG9uZVVuaG92ZXIodC5wYXJjYXRzVmlld01vZGVsLmdyYXBoRGl2Ll9mdWxsTGF5b3V0Ll9ob3ZlcmxheWVyLm5vZGUoKSksdC5wYXJjYXRzVmlld01vZGVsLnBhdGhTZWxlY3Rpb24uc29ydChwKSwtMT09PXQucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJza2lwIikpKXt2YXIgZT12KHQpLHI9bSh0KTt0LnBhcmNhdHNWaWV3TW9kZWwuZ3JhcGhEaXYuZW1pdCgicGxvdGx5X3VuaG92ZXIiLHtwb2ludHM6ZSxldmVudDpuLmV2ZW50LGNvbnN0cmFpbnRzOnJ9KX19ZnVuY3Rpb24gdih0KXtmb3IodmFyIGU9W10scj1PKHQucGFyY2F0c1ZpZXdNb2RlbCksbj0wO248dC5tb2RlbC52YWx1ZUluZHMubGVuZ3RoO24rKyl7dmFyIGE9dC5tb2RlbC52YWx1ZUluZHNbbl07ZS5wdXNoKHtjdXJ2ZU51bWJlcjpyLHBvaW50TnVtYmVyOmF9KX1yZXR1cm4gZX1mdW5jdGlvbiBtKHQpe2Zvcih2YXIgZT17fSxyPXQucGFyY2F0c1ZpZXdNb2RlbC5tb2RlbC5kaW1lbnNpb25zLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9cltuXSxpPWEuY2F0ZWdvcmllc1t0Lm1vZGVsLmNhdGVnb3J5SW5kc1tuXV07ZVthLmNvbnRhaW5lckluZF09aS5jYXRlZ29yeVZhbHVlfXJldHVybiB2b2lkIDAhPT10Lm1vZGVsLnJhd0NvbG9yJiYoZS5jb2xvcj10Lm1vZGVsLnJhd0NvbG9yKSxlfWZ1bmN0aW9uIHkodCl7aWYoLTE9PT10LnBhcmNhdHNWaWV3TW9kZWwuaG92ZXJpbmZvSXRlbXMuaW5kZXhPZigic2tpcCIpKXt2YXIgZT12KHQpLHI9bSh0KTt0LnBhcmNhdHNWaWV3TW9kZWwuZ3JhcGhEaXYuZW1pdCgicGxvdGx5X2NsaWNrIix7cG9pbnRzOmUsZXZlbnQ6bi5ldmVudCxjb25zdHJhaW50czpyfSl9fWZ1bmN0aW9uIHgodCl7dC5hdHRyKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdC5tb2RlbC5jb2xvcn0pLmF0dHIoImZpbGwtb3BhY2l0eSIsLjYpLmF0dHIoInN0cm9rZSIsImxpZ2h0Z3JheSIpLmF0dHIoInN0cm9rZS13aWR0aCIsLjIpLmF0dHIoInN0cm9rZS1vcGFjaXR5IiwxKX1mdW5jdGlvbiBiKHQpe3QuYXR0cigiZmlsbC1vcGFjaXR5IiwuOCkuYXR0cigic3Ryb2tlIixmdW5jdGlvbih0KXtyZXR1cm4gbC5tb3N0UmVhZGFibGUodC5tb2RlbC5jb2xvcixbImJsYWNrIiwid2hpdGUiXSl9KS5hdHRyKCJzdHJva2Utd2lkdGgiLC4zKX1mdW5jdGlvbiBfKHQpe3Quc2VsZWN0KCJyZWN0LmNhdHJlY3QiKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoInN0cm9rZS13aWR0aCIsMSkuYXR0cigic3Ryb2tlLW9wYWNpdHkiLDEpfWZ1bmN0aW9uIHcodCl7dC5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoInN0cm9rZS13aWR0aCIsLjIpLmF0dHIoInN0cm9rZS1vcGFjaXR5IiwxKS5hdHRyKCJmaWxsLW9wYWNpdHkiLDEpfWZ1bmN0aW9uIGsodCl7dmFyIGU9dC5wYXJjYXRzVmlld01vZGVsLnBhdGhTZWxlY3Rpb24scj10LmNhdGVnb3J5Vmlld01vZGVsLm1vZGVsLmRpbWVuc2lvbkluZCxuPXQuY2F0ZWdvcnlWaWV3TW9kZWwubW9kZWwuY2F0ZWdvcnlJbmQ7cmV0dXJuIGUuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLm1vZGVsLmNhdGVnb3J5SW5kc1tyXT09PW4mJmUubW9kZWwuY29sb3I9PT10LmNvbG9yfSl9ZnVuY3Rpb24gVCh0LGUscil7dmFyIGE9bi5zZWxlY3QodCkuZGF0dW0oKSxpPWEuY2F0ZWdvcnlWaWV3TW9kZWwubW9kZWwsbz1hLnBhcmNhdHNWaWV3TW9kZWwuZ3JhcGhEaXYscz1uLnNlbGVjdCh0LnBhcmVudE5vZGUpLnNlbGVjdEFsbCgicmVjdC5iYW5kcmVjdCIpLGw9W107cy5lYWNoKGZ1bmN0aW9uKHQpe2sodCkuZWFjaChmdW5jdGlvbih0KXtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShsLHYodCkpfSl9KTt2YXIgYz17fTtjW2kuZGltZW5zaW9uSW5kXT1pLmNhdGVnb3J5VmFsdWUsby5lbWl0KGUse3BvaW50czpsLGV2ZW50OnIsY29uc3RyYWludHM6Y30pfWZ1bmN0aW9uIE0odCxlLHIpe3ZhciBhPW4uc2VsZWN0KHQpLmRhdHVtKCksaT1hLmNhdGVnb3J5Vmlld01vZGVsLm1vZGVsLG89YS5wYXJjYXRzVmlld01vZGVsLmdyYXBoRGl2LHM9ayhhKSxsPVtdO3MuZWFjaChmdW5jdGlvbih0KXtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShsLHYodCkpfSk7dmFyIGM9e307Y1tpLmRpbWVuc2lvbkluZF09aS5jYXRlZ29yeVZhbHVlLHZvaWQgMCE9PWEucmF3Q29sb3ImJihjLmNvbG9yPWEucmF3Q29sb3IpLG8uZW1pdChlLHtwb2ludHM6bCxldmVudDpyLGNvbnN0cmFpbnRzOmN9KX1mdW5jdGlvbiBBKHQsZSl7dmFyIHIsYSxpPW4uc2VsZWN0KGUucGFyZW50Tm9kZSkuc2VsZWN0KCJyZWN0LmNhdHJlY3QiKSxvPWkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHM9aS5kYXR1bSgpLGw9cy5wYXJjYXRzVmlld01vZGVsLGM9bC5tb2RlbC5kaW1lbnNpb25zW3MubW9kZWwuZGltZW5zaW9uSW5kXSx1PWwudHJhY2UsaD1vLnRvcCtvLmhlaWdodC8yO2wuZGltZW5zaW9ucy5sZW5ndGg+MSYmYy5kaXNwbGF5SW5kPT09bC5kaW1lbnNpb25zLmxlbmd0aC0xPyhyPW8ubGVmdCxhPSJsZWZ0Iik6KHI9by5sZWZ0K28ud2lkdGgsYT0icmlnaHQiKTt2YXIgZj1zLm1vZGVsLmNvdW50LHA9cy5tb2RlbC5jYXRlZ29yeUxhYmVsLGQ9Zi9zLnBhcmNhdHNWaWV3TW9kZWwubW9kZWwuY291bnQsZz17Y291bnRMYWJlbDpmLGNhdGVnb3J5TGFiZWw6cCxwcm9iYWJpbGl0eUxhYmVsOmQudG9GaXhlZCgzKX0sdj1bXTstMSE9PXMucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJjb3VudCIpJiZ2LnB1c2goWyJDb3VudDoiLGcuY291bnRMYWJlbF0uam9pbigiICIpKSwtMSE9PXMucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJwcm9iYWJpbGl0eSIpJiZ2LnB1c2goWyJQKCIrZy5jYXRlZ29yeUxhYmVsKyIpOiIsZy5wcm9iYWJpbGl0eUxhYmVsXS5qb2luKCIgIikpO3ZhciBtPXYuam9pbigiPGJyPiIpO3JldHVybnt0cmFjZTp1LHg6ci10LmxlZnQseTpoLXQudG9wLHRleHQ6bSxjb2xvcjoibGlnaHRncmF5Iixib3JkZXJDb2xvcjoiYmxhY2siLGZvbnRGYW1pbHk6J01vbmFjbywgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlJyxmb250U2l6ZToxMixmb250Q29sb3I6ImJsYWNrIixpZGVhbEFsaWduOmEsaG92ZXJ0ZW1wbGF0ZTp1LmhvdmVydGVtcGxhdGUsaG92ZXJ0ZW1wbGF0ZUxhYmVsczpnLGV2ZW50RGF0YTpbe2RhdGE6dS5faW5wdXQsZnVsbERhdGE6dSxjb3VudDpmLGNhdGVnb3J5OnAscHJvYmFiaWxpdHk6ZH1dfX1mdW5jdGlvbiBTKHQpe2lmKCF0LnBhcmNhdHNWaWV3TW9kZWwuZHJhZ0RpbWVuc2lvbiYmLTE9PT10LnBhcmNhdHNWaWV3TW9kZWwuaG92ZXJpbmZvSXRlbXMuaW5kZXhPZigic2tpcCIpKXtpZihuLm1vdXNlKHRoaXMpWzFdPC0xKXJldHVybjt2YXIgZSxyPXQucGFyY2F0c1ZpZXdNb2RlbC5ncmFwaERpdixhPXIuX2Z1bGxMYXlvdXQscz1hLl9wYXBlcmRpdi5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYz10LnBhcmNhdHNWaWV3TW9kZWwuaG92ZXJvbjtpZigiY29sb3IiPT09Yz8oIWZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHQpLmRhdHVtKCkscj1rKGUpO2Iociksci5lYWNoKGZ1bmN0aW9uKCl7by5yYWlzZVRvVG9wKHRoaXMpfSksbi5zZWxlY3QodC5wYXJlbnROb2RlKS5zZWxlY3RBbGwoInJlY3QuYmFuZHJlY3QiKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuY29sb3I9PT1lLmNvbG9yfSkuZWFjaChmdW5jdGlvbigpe28ucmFpc2VUb1RvcCh0aGlzKSxuLnNlbGVjdCh0aGlzKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoInN0cm9rZS13aWR0aCIsMS41KX0pfSh0aGlzKSxNKHRoaXMsInBsb3RseV9ob3ZlciIsbi5ldmVudCkpOighZnVuY3Rpb24odCl7bi5zZWxlY3QodC5wYXJlbnROb2RlKS5zZWxlY3RBbGwoInJlY3QuYmFuZHJlY3QiKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPWsodCk7YihlKSxlLmVhY2goZnVuY3Rpb24oKXtvLnJhaXNlVG9Ub3AodGhpcyl9KX0pLG4uc2VsZWN0KHQucGFyZW50Tm9kZSkuc2VsZWN0KCJyZWN0LmNhdHJlY3QiKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoInN0cm9rZS13aWR0aCIsMi41KX0odGhpcyksVCh0aGlzLCJwbG90bHlfaG92ZXIiLG4uZXZlbnQpKSwtMT09PXQucGFyY2F0c1ZpZXdNb2RlbC5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJub25lIikpImNhdGVnb3J5Ij09PWM/ZT1BKHMsdGhpcyk6ImNvbG9yIj09PWM/ZT1mdW5jdGlvbih0LGUpe3ZhciByLGEsaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89bi5zZWxlY3QoZSkuZGF0dW0oKSxzPW8uY2F0ZWdvcnlWaWV3TW9kZWwsYz1zLnBhcmNhdHNWaWV3TW9kZWwsdT1jLm1vZGVsLmRpbWVuc2lvbnNbcy5tb2RlbC5kaW1lbnNpb25JbmRdLGg9Yy50cmFjZSxmPWkueStpLmhlaWdodC8yO2MuZGltZW5zaW9ucy5sZW5ndGg+MSYmdS5kaXNwbGF5SW5kPT09Yy5kaW1lbnNpb25zLmxlbmd0aC0xPyhyPWkubGVmdCxhPSJsZWZ0Iik6KHI9aS5sZWZ0K2kud2lkdGgsYT0icmlnaHQiKTt2YXIgcD1zLm1vZGVsLmNhdGVnb3J5TGFiZWwsZD1vLnBhcmNhdHNWaWV3TW9kZWwubW9kZWwuY291bnQsZz0wO28uY2F0ZWdvcnlWaWV3TW9kZWwuYmFuZHMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNvbG9yPT09by5jb2xvciYmKGcrPXQuY291bnQpfSk7dmFyIHY9cy5tb2RlbC5jb3VudCxtPTA7Yy5wYXRoU2VsZWN0aW9uLmVhY2goZnVuY3Rpb24odCl7dC5tb2RlbC5jb2xvcj09PW8uY29sb3ImJihtKz10Lm1vZGVsLmNvdW50KX0pO3ZhciB5PWcvZCx4PWcvbSxiPWcvdixfPXtjb3VudExhYmVsOmQsY2F0ZWdvcnlMYWJlbDpwLHByb2JhYmlsaXR5TGFiZWw6eS50b0ZpeGVkKDMpfSx3PVtdOy0xIT09cy5wYXJjYXRzVmlld01vZGVsLmhvdmVyaW5mb0l0ZW1zLmluZGV4T2YoImNvdW50IikmJncucHVzaChbIkNvdW50OiIsXy5jb3VudExhYmVsXS5qb2luKCIgIikpLC0xIT09cy5wYXJjYXRzVmlld01vZGVsLmhvdmVyaW5mb0l0ZW1zLmluZGV4T2YoInByb2JhYmlsaXR5IikmJih3LnB1c2goIlAoY29sb3IgXHUyMjI5ICIrcCsiKTogIitfLnByb2JhYmlsaXR5TGFiZWwpLHcucHVzaCgiUCgiK3ArIiB8IGNvbG9yKTogIit4LnRvRml4ZWQoMykpLHcucHVzaCgiUChjb2xvciB8ICIrcCsiKTogIitiLnRvRml4ZWQoMykpKTt2YXIgaz13LmpvaW4oIjxicj4iKSxUPWwubW9zdFJlYWRhYmxlKG8uY29sb3IsWyJibGFjayIsIndoaXRlIl0pO3JldHVybnt0cmFjZTpoLHg6ci10LmxlZnQseTpmLXQudG9wLHRleHQ6ayxjb2xvcjpvLmNvbG9yLGJvcmRlckNvbG9yOiJibGFjayIsZm9udEZhbWlseTonTW9uYWNvLCAiQ291cmllciBOZXciLCBtb25vc3BhY2UnLGZvbnRDb2xvcjpULGZvbnRTaXplOjEwLGlkZWFsQWxpZ246YSxob3ZlcnRlbXBsYXRlOmguaG92ZXJ0ZW1wbGF0ZSxob3ZlcnRlbXBsYXRlTGFiZWxzOl8sZXZlbnREYXRhOlt7ZGF0YTpoLl9pbnB1dCxmdWxsRGF0YTpoLGNhdGVnb3J5OnAsY291bnQ6ZCxwcm9iYWJpbGl0eTp5LGNhdGVnb3J5Y291bnQ6dixjb2xvcmNvdW50Om0sYmFuZGNvbG9yY291bnQ6Z31dfX0ocyx0aGlzKToiZGltZW5zaW9uIj09PWMmJihlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107cmV0dXJuIG4uc2VsZWN0KGUucGFyZW50Tm9kZS5wYXJlbnROb2RlKS5zZWxlY3RBbGwoImcuY2F0ZWdvcnkiKS5zZWxlY3QoInJlY3QuY2F0cmVjdCIpLmVhY2goZnVuY3Rpb24oKXtyLnB1c2goQSh0LHRoaXMpKX0pLHJ9KHMsdGhpcykpLGUmJmkubG9uZUhvdmVyKGUse2NvbnRhaW5lcjphLl9ob3ZlcmxheWVyLm5vZGUoKSxvdXRlckNvbnRhaW5lcjphLl9wYXBlci5ub2RlKCksZ2Q6cn0pfX1mdW5jdGlvbiBFKHQpe3ZhciBlPXQucGFyY2F0c1ZpZXdNb2RlbDtpZighZS5kcmFnRGltZW5zaW9uJiYoeChlLnBhdGhTZWxlY3Rpb24pLF8oZS5kaW1lbnNpb25TZWxlY3Rpb24uc2VsZWN0QWxsKCJnLmNhdGVnb3J5IikpLHcoZS5kaW1lbnNpb25TZWxlY3Rpb24uc2VsZWN0QWxsKCJnLmNhdGVnb3J5Iikuc2VsZWN0QWxsKCJyZWN0LmJhbmRyZWN0IikpLGkubG9uZVVuaG92ZXIoZS5ncmFwaERpdi5fZnVsbExheW91dC5faG92ZXJsYXllci5ub2RlKCkpLGUucGF0aFNlbGVjdGlvbi5zb3J0KHApLC0xPT09ZS5ob3ZlcmluZm9JdGVtcy5pbmRleE9mKCJza2lwIikpKXsiY29sb3IiPT09dC5wYXJjYXRzVmlld01vZGVsLmhvdmVyb24/TSh0aGlzLCJwbG90bHlfdW5ob3ZlciIsbi5ldmVudCk6VCh0aGlzLCJwbG90bHlfdW5ob3ZlciIsbi5ldmVudCl9fWZ1bmN0aW9uIEwodCl7ImZpeGVkIiE9PXQucGFyY2F0c1ZpZXdNb2RlbC5hcnJhbmdlbWVudCYmKHQuZHJhZ0RpbWVuc2lvbkRpc3BsYXlJbmQ9dC5tb2RlbC5kaXNwbGF5SW5kLHQuaW5pdGlhbERyYWdEaW1lbnNpb25EaXNwbGF5SW5kcz10LnBhcmNhdHNWaWV3TW9kZWwubW9kZWwuZGltZW5zaW9ucy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuZGlzcGxheUluZH0pLHQuZHJhZ0hhc01vdmVkPSExLHQuZHJhZ0NhdGVnb3J5RGlzcGxheUluZD1udWxsLG4uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy5jYXRlZ29yeSIpLnNlbGVjdCgicmVjdC5jYXRyZWN0IikuZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLm1vdXNlKHRoaXMpWzBdLGE9bi5tb3VzZSh0aGlzKVsxXTstMjw9ciYmcjw9ZS53aWR0aCsyJiYtMjw9YSYmYTw9ZS5oZWlnaHQrMiYmKHQuZHJhZ0NhdGVnb3J5RGlzcGxheUluZD1lLm1vZGVsLmRpc3BsYXlJbmQsdC5pbml0aWFsRHJhZ0NhdGVnb3J5RGlzcGxheUluZHM9dC5tb2RlbC5jYXRlZ29yaWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5kaXNwbGF5SW5kfSksZS5tb2RlbC5kcmFnWT1lLnksby5yYWlzZVRvVG9wKHRoaXMucGFyZW50Tm9kZSksbi5zZWxlY3QodGhpcy5wYXJlbnROb2RlKS5zZWxlY3RBbGwoInJlY3QuYmFuZHJlY3QiKS5lYWNoKGZ1bmN0aW9uKGUpe2UueTxhJiZhPD1lLnkrZS5oZWlnaHQmJih0LnBvdGVudGlhbENsaWNrQmFuZD10aGlzKX0pKX0pLHQucGFyY2F0c1ZpZXdNb2RlbC5kcmFnRGltZW5zaW9uPXQsaS5sb25lVW5ob3Zlcih0LnBhcmNhdHNWaWV3TW9kZWwuZ3JhcGhEaXYuX2Z1bGxMYXlvdXQuX2hvdmVybGF5ZXIubm9kZSgpKSl9ZnVuY3Rpb24gQyh0KXtpZigiZml4ZWQiIT09dC5wYXJjYXRzVmlld01vZGVsLmFycmFuZ2VtZW50JiYodC5kcmFnSGFzTW92ZWQ9ITAsbnVsbCE9PXQuZHJhZ0RpbWVuc2lvbkRpc3BsYXlJbmQpKXt2YXIgZT10LmRyYWdEaW1lbnNpb25EaXNwbGF5SW5kLHI9ZS0xLGE9ZSsxLGk9dC5wYXJjYXRzVmlld01vZGVsLmRpbWVuc2lvbnNbZV07aWYobnVsbCE9PXQuZHJhZ0NhdGVnb3J5RGlzcGxheUluZCl7dmFyIG89aS5jYXRlZ29yaWVzW3QuZHJhZ0NhdGVnb3J5RGlzcGxheUluZF07by5tb2RlbC5kcmFnWSs9bi5ldmVudC5keTt2YXIgcz1vLm1vZGVsLmRyYWdZLGw9by5tb2RlbC5kaXNwbGF5SW5kLGM9aS5jYXRlZ29yaWVzLHU9Y1tsLTFdLGg9Y1tsKzFdO3ZvaWQgMCE9PXUmJnM8dS55K3UuaGVpZ2h0LzImJihvLm1vZGVsLmRpc3BsYXlJbmQ9dS5tb2RlbC5kaXNwbGF5SW5kLHUubW9kZWwuZGlzcGxheUluZD1sKSx2b2lkIDAhPT1oJiZzK28uaGVpZ2h0PmgueStoLmhlaWdodC8yJiYoby5tb2RlbC5kaXNwbGF5SW5kPWgubW9kZWwuZGlzcGxheUluZCxoLm1vZGVsLmRpc3BsYXlJbmQ9bCksdC5kcmFnQ2F0ZWdvcnlEaXNwbGF5SW5kPW8ubW9kZWwuZGlzcGxheUluZH1pZihudWxsPT09dC5kcmFnQ2F0ZWdvcnlEaXNwbGF5SW5kfHwiZnJlZWZvcm0iPT09dC5wYXJjYXRzVmlld01vZGVsLmFycmFuZ2VtZW50KXtpLm1vZGVsLmRyYWdYPW4uZXZlbnQueDt2YXIgZj10LnBhcmNhdHNWaWV3TW9kZWwuZGltZW5zaW9uc1tyXSxwPXQucGFyY2F0c1ZpZXdNb2RlbC5kaW1lbnNpb25zW2FdO3ZvaWQgMCE9PWYmJmkubW9kZWwuZHJhZ1g8Zi54K2Yud2lkdGgmJihpLm1vZGVsLmRpc3BsYXlJbmQ9Zi5tb2RlbC5kaXNwbGF5SW5kLGYubW9kZWwuZGlzcGxheUluZD1lKSx2b2lkIDAhPT1wJiZpLm1vZGVsLmRyYWdYK2kud2lkdGg+cC54JiYoaS5tb2RlbC5kaXNwbGF5SW5kPXAubW9kZWwuZGlzcGxheUluZCxwLm1vZGVsLmRpc3BsYXlJbmQ9dC5kcmFnRGltZW5zaW9uRGlzcGxheUluZCksdC5kcmFnRGltZW5zaW9uRGlzcGxheUluZD1pLm1vZGVsLmRpc3BsYXlJbmR9Rih0LnBhcmNhdHNWaWV3TW9kZWwpLFIodC5wYXJjYXRzVmlld01vZGVsKSxJKHQucGFyY2F0c1ZpZXdNb2RlbCkseih0LnBhcmNhdHNWaWV3TW9kZWwpfX1mdW5jdGlvbiBQKHQpe2lmKCJmaXhlZCIhPT10LnBhcmNhdHNWaWV3TW9kZWwuYXJyYW5nZW1lbnQmJm51bGwhPT10LmRyYWdEaW1lbnNpb25EaXNwbGF5SW5kKXtuLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoInRleHQiKS5hdHRyKCJmb250LXdlaWdodCIsIm5vcm1hbCIpO3ZhciBlPXt9LHI9Tyh0LnBhcmNhdHNWaWV3TW9kZWwpLGk9dC5wYXJjYXRzVmlld01vZGVsLm1vZGVsLmRpbWVuc2lvbnMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmRpc3BsYXlJbmR9KSxvPXQuaW5pdGlhbERyYWdEaW1lbnNpb25EaXNwbGF5SW5kcy5zb21lKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQhPT1pW2VdfSk7byYmaS5mb3JFYWNoKGZ1bmN0aW9uKHIsbil7dmFyIGE9dC5wYXJjYXRzVmlld01vZGVsLm1vZGVsLmRpbWVuc2lvbnNbbl0uY29udGFpbmVySW5kO2VbImRpbWVuc2lvbnNbIithKyJdLmRpc3BsYXlpbmRleCJdPXJ9KTt2YXIgcz0hMTtpZihudWxsIT09dC5kcmFnQ2F0ZWdvcnlEaXNwbGF5SW5kKXt2YXIgbD10Lm1vZGVsLmNhdGVnb3JpZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmRpc3BsYXlJbmR9KTtpZihzPXQuaW5pdGlhbERyYWdDYXRlZ29yeURpc3BsYXlJbmRzLnNvbWUoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCE9PWxbZV19KSl7dmFyIGM9dC5tb2RlbC5jYXRlZ29yaWVzLnNsaWNlKCkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LmRpc3BsYXlJbmQtZS5kaXNwbGF5SW5kfSksdT1jLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5jYXRlZ29yeVZhbHVlfSksaD1jLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5jYXRlZ29yeUxhYmVsfSk7ZVsiZGltZW5zaW9uc1siK3QubW9kZWwuY29udGFpbmVySW5kKyJdLmNhdGVnb3J5YXJyYXkiXT1bdV0sZVsiZGltZW5zaW9uc1siK3QubW9kZWwuY29udGFpbmVySW5kKyJdLnRpY2t0ZXh0Il09W2hdLGVbImRpbWVuc2lvbnNbIit0Lm1vZGVsLmNvbnRhaW5lckluZCsiXS5jYXRlZ29yeW9yZGVyIl09ImFycmF5In19aWYoLTE9PT10LnBhcmNhdHNWaWV3TW9kZWwuaG92ZXJpbmZvSXRlbXMuaW5kZXhPZigic2tpcCIpJiYhdC5kcmFnSGFzTW92ZWQmJnQucG90ZW50aWFsQ2xpY2tCYW5kJiYoImNvbG9yIj09PXQucGFyY2F0c1ZpZXdNb2RlbC5ob3Zlcm9uP00odC5wb3RlbnRpYWxDbGlja0JhbmQsInBsb3RseV9jbGljayIsbi5ldmVudC5zb3VyY2VFdmVudCk6VCh0LnBvdGVudGlhbENsaWNrQmFuZCwicGxvdGx5X2NsaWNrIixuLmV2ZW50LnNvdXJjZUV2ZW50KSksdC5tb2RlbC5kcmFnWD1udWxsLG51bGwhPT10LmRyYWdDYXRlZ29yeURpc3BsYXlJbmQpdC5wYXJjYXRzVmlld01vZGVsLmRpbWVuc2lvbnNbdC5kcmFnRGltZW5zaW9uRGlzcGxheUluZF0uY2F0ZWdvcmllc1t0LmRyYWdDYXRlZ29yeURpc3BsYXlJbmRdLm1vZGVsLmRyYWdZPW51bGwsdC5kcmFnQ2F0ZWdvcnlEaXNwbGF5SW5kPW51bGw7dC5kcmFnRGltZW5zaW9uRGlzcGxheUluZD1udWxsLHQucGFyY2F0c1ZpZXdNb2RlbC5kcmFnRGltZW5zaW9uPW51bGwsdC5kcmFnSGFzTW92ZWQ9bnVsbCx0LnBvdGVudGlhbENsaWNrQmFuZD1udWxsLEYodC5wYXJjYXRzVmlld01vZGVsKSxSKHQucGFyY2F0c1ZpZXdNb2RlbCksbi50cmFuc2l0aW9uKCkuZHVyYXRpb24oMzAwKS5lYXNlKCJjdWJpYy1pbi1vdXQiKS5lYWNoKGZ1bmN0aW9uKCl7SSh0LnBhcmNhdHNWaWV3TW9kZWwsITApLHoodC5wYXJjYXRzVmlld01vZGVsLCEwKX0pLmVhY2goImVuZCIsZnVuY3Rpb24oKXsob3x8cykmJmEucmVzdHlsZSh0LnBhcmNhdHNWaWV3TW9kZWwuZ3JhcGhEaXYsZSxbcl0pfSl9fWZ1bmN0aW9uIE8odCl7Zm9yKHZhciBlLHI9dC5ncmFwaERpdi5fZnVsbERhdGEsbj0wO248ci5sZW5ndGg7bisrKWlmKHQua2V5PT09cltuXS51aWQpe2U9bjticmVha31yZXR1cm4gZX1mdW5jdGlvbiB6KHQsZSl7dmFyIHI7dm9pZCAwPT09ZSYmKGU9ITEpLHQucGF0aFNlbGVjdGlvbi5kYXRhKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBhdGhzfSxoKSwocj10LnBhdGhTZWxlY3Rpb24sZT9yLnRyYW5zaXRpb24oKTpyKS5hdHRyKCJkIixmdW5jdGlvbih0KXtyZXR1cm4gdC5zdmdEfSl9ZnVuY3Rpb24gSSh0LGUpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGU/dC50cmFuc2l0aW9uKCk6dH12b2lkIDA9PT1lJiYoZT0hMSksdC5kaW1lbnNpb25TZWxlY3Rpb24uZGF0YShmdW5jdGlvbih0KXtyZXR1cm4gdC5kaW1lbnNpb25zfSxoKTt2YXIgYT10LmRpbWVuc2lvblNlbGVjdGlvbi5zZWxlY3RBbGwoImcuY2F0ZWdvcnkiKS5kYXRhKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNhdGVnb3JpZXN9LGgpO3IodC5kaW1lbnNpb25TZWxlY3Rpb24pLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3QueCsiLCAwKSJ9KSxyKGEpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgwLCAiK3QueSsiKSJ9KSxhLnNlbGVjdCgiLmRpbWxhYmVsIikudGV4dChmdW5jdGlvbih0LGUpe3JldHVybiAwPT09ZT90LnBhcmNhdHNWaWV3TW9kZWwubW9kZWwuZGltZW5zaW9uc1t0Lm1vZGVsLmRpbWVuc2lvbkluZF0uZGltZW5zaW9uTGFiZWw6bnVsbH0pLGEuc2VsZWN0KCIuY2F0bGFiZWwiKS5hdHRyKCJ0ZXh0LWFuY2hvciIsZnVuY3Rpb24odCl7cmV0dXJuIGYodCk/InN0YXJ0IjoiZW5kIn0pLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybiBmKHQpP3Qud2lkdGgrNTotNX0pLmVhY2goZnVuY3Rpb24odCl7dmFyIGUscjtmKHQpPyhlPXQud2lkdGgrNSxyPSJzdGFydCIpOihlPS01LHI9ImVuZCIpLG4uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgidHNwYW4iKS5hdHRyKCJ4IixlKS5hdHRyKCJ0ZXh0LWFuY2hvciIscil9KTt2YXIgaT1hLnNlbGVjdEFsbCgicmVjdC5iYW5kcmVjdCIpLmRhdGEoZnVuY3Rpb24odCl7cmV0dXJuIHQuYmFuZHN9LGgpLHM9aS5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmF0dHIoImNsYXNzIiwiYmFuZHJlY3QiKS5hdHRyKCJjdXJzb3IiLCJtb3ZlIikuYXR0cigic3Ryb2tlLW9wYWNpdHkiLDApLmF0dHIoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbG9yfSkuYXR0cigiZmlsbC1vcGFjaXR5IiwwKTtpLmF0dHIoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbG9yfSkuYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0LndpZHRofSkuYXR0cigiaGVpZ2h0IixmdW5jdGlvbih0KXtyZXR1cm4gdC5oZWlnaHR9KS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdC55fSksdyhzKSxpLmVhY2goZnVuY3Rpb24oKXtvLnJhaXNlVG9Ub3AodGhpcyl9KSxpLmV4aXQoKS5yZW1vdmUoKX1mdW5jdGlvbiBEKHQsZSxyLGEsaSl7dmFyIG8scyxsPVtdLGM9W107Zm9yKHM9MDtzPHIubGVuZ3RoLTE7cysrKW89bi5pbnRlcnBvbGF0ZU51bWJlcihyW3NdK3Rbc10sdFtzKzFdKSxsLnB1c2gobyhpKSksYy5wdXNoKG8oMS1pKSk7dmFyIHU9Ik0gIit0WzBdKyIsIitlWzBdO2Zvcih1Kz0ibCIrclswXSsiLDAgIixzPTE7czxyLmxlbmd0aDtzKyspdSs9IkMiK2xbcy0xXSsiLCIrZVtzLTFdKyIgIitjW3MtMV0rIiwiK2Vbc10rIiAiK3Rbc10rIiwiK2Vbc10sdSs9ImwiK3Jbc10rIiwwICI7Zm9yKHUrPSJsMCwiK2ErIiAiLHUrPSJsIC0iK3Jbci5sZW5ndGgtMV0rIiwwICIscz1yLmxlbmd0aC0yO3M+PTA7cy0tKXUrPSJDIitjW3NdKyIsIisoZVtzKzFdK2EpKyIgIitsW3NdKyIsIisoZVtzXSthKSsiICIrKHRbc10rcltzXSkrIiwiKyhlW3NdK2EpLHUrPSJsLSIrcltzXSsiLDAgIjtyZXR1cm4gdSs9IloifWZ1bmN0aW9uIFIodCl7dmFyIGU9dC5kaW1lbnNpb25zLHI9dC5tb2RlbCxuPWUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNhdGVnb3JpZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lnl9KX0pLGE9dC5tb2RlbC5kaW1lbnNpb25zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5jYXRlZ29yaWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5kaXNwbGF5SW5kfSl9KSxpPXQubW9kZWwuZGltZW5zaW9ucy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuZGlzcGxheUluZH0pLG89dC5kaW1lbnNpb25zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tb2RlbC5kaW1lbnNpb25JbmR9KSxzPWUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lnh9KSxsPWUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LndpZHRofSksYz1bXTtmb3IodmFyIHUgaW4gci5wYXRocylyLnBhdGhzLmhhc093blByb3BlcnR5KHUpJiZjLnB1c2goci5wYXRoc1t1XSk7ZnVuY3Rpb24gaCh0KXt2YXIgZT10LmNhdGVnb3J5SW5kcy5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gYVtlXVt0XX0pO3JldHVybiBvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pfWMuc29ydChmdW5jdGlvbihlLHIpe3ZhciBuPWgoZSksYT1oKHIpO3JldHVybiJiYWNrd2FyZCI9PT10LnNvcnRwYXRocyYmKG4ucmV2ZXJzZSgpLGEucmV2ZXJzZSgpKSxuLnB1c2goZS52YWx1ZUluZHNbMF0pLGEucHVzaChyLnZhbHVlSW5kc1swXSksdC5idW5kbGVjb2xvcnMmJihuLnVuc2hpZnQoZS5yYXdDb2xvciksYS51bnNoaWZ0KHIucmF3Q29sb3IpKSxuPGE/LTE6bj5hPzE6MH0pO2Zvcih2YXIgZj1uZXcgQXJyYXkoYy5sZW5ndGgpLHA9ZVswXS5tb2RlbC5jb3VudCxkPWVbMF0uY2F0ZWdvcmllcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaGVpZ2h0fSkucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZX0pLGc9MDtnPGMubGVuZ3RoO2crKyl7dmFyIHYsbT1jW2ddO3Y9cD4wP2QqKG0uY291bnQvcCk6MDtmb3IodmFyIHkseD1uZXcgQXJyYXkobi5sZW5ndGgpLGI9MDtiPG0uY2F0ZWdvcnlJbmRzLmxlbmd0aDtiKyspe3ZhciBfPW0uY2F0ZWdvcnlJbmRzW2JdLHc9YVtiXVtfXSxrPWlbYl07eFtrXT1uW2tdW3ddLG5ba11bd10rPXY7dmFyIFQ9dC5kaW1lbnNpb25zW2tdLmNhdGVnb3JpZXNbd10sTT1ULmJhbmRzLmxlbmd0aCxBPVQuYmFuZHNbTS0xXTtpZih2b2lkIDA9PT1BfHxtLnJhd0NvbG9yIT09QS5yYXdDb2xvcil7dmFyIFM9dm9pZCAwPT09QT8wOkEueStBLmhlaWdodDtULmJhbmRzLnB1c2goe2tleTpTLGNvbG9yOm0uY29sb3IscmF3Q29sb3I6bS5yYXdDb2xvcixoZWlnaHQ6dix3aWR0aDpULndpZHRoLGNvdW50Om0uY291bnQseTpTLGNhdGVnb3J5Vmlld01vZGVsOlQscGFyY2F0c1ZpZXdNb2RlbDp0fSl9ZWxzZXt2YXIgRT1ULmJhbmRzW00tMV07RS5oZWlnaHQrPXYsRS5jb3VudCs9bS5jb3VudH19eT0iaHNwbGluZSI9PT10LnBhdGhTaGFwZT9EKHMseCxsLHYsLjUpOkQocyx4LGwsdiwwKSxmW2ddPXtrZXk6bS52YWx1ZUluZHNbMF0sbW9kZWw6bSxoZWlnaHQ6dixsZWZ0WHM6cyx0b3BZczp4LGRpbVdpZHRoczpsLHN2Z0Q6eSxwYXJjYXRzVmlld01vZGVsOnR9fXQucGF0aHM9Zn1mdW5jdGlvbiBGKHQpe3ZhciBlPXQubW9kZWwuZGltZW5zaW9ucy5tYXAoZnVuY3Rpb24odCl7cmV0dXJue2Rpc3BsYXlJbmQ6dC5kaXNwbGF5SW5kLGRpbWVuc2lvbkluZDp0LmRpbWVuc2lvbkluZH19KTtlLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5kaXNwbGF5SW5kLWUuZGlzcGxheUluZH0pO3ZhciByPVtdO2Zvcih2YXIgbiBpbiBlKXt2YXIgYT1lW25dLmRpbWVuc2lvbkluZCxpPXQubW9kZWwuZGltZW5zaW9uc1thXTtyLnB1c2goQih0LGkpKX10LmRpbWVuc2lvbnM9cn1mdW5jdGlvbiBCKHQsZSl7dmFyIHIsbj10Lm1vZGVsLmRpbWVuc2lvbnMubGVuZ3RoLGE9ZS5kaXNwbGF5SW5kO3I9NDArKG4+MT8odC53aWR0aC04MC0xNikvKG4tMSk6MCkqYTt2YXIgaSxvLHMsbCxjLHU9W10saD10Lm1vZGVsLm1heENhdHMsZj1lLmNhdGVnb3JpZXMubGVuZ3RoLHA9ZS5jb3VudCxkPXQuaGVpZ2h0LTgqKGgtMSksZz04KihoLWYpLzIsdj1lLmNhdGVnb3JpZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybntkaXNwbGF5SW5kOnQuZGlzcGxheUluZCxjYXRlZ29yeUluZDp0LmNhdGVnb3J5SW5kfX0pO2Zvcih2LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5kaXNwbGF5SW5kLWUuZGlzcGxheUluZH0pLGM9MDtjPGY7YysrKWw9dltjXS5jYXRlZ29yeUluZCxvPWUuY2F0ZWdvcmllc1tsXSxpPXA+MD9vLmNvdW50L3AqZDowLHM9e2tleTpvLnZhbHVlSW5kc1swXSxtb2RlbDpvLHdpZHRoOjE2LGhlaWdodDppLHk6bnVsbCE9PW8uZHJhZ1k/by5kcmFnWTpnLGJhbmRzOltdLHBhcmNhdHNWaWV3TW9kZWw6dH0sZz1nK2krOCx1LnB1c2gocyk7cmV0dXJue2tleTplLmRpbWVuc2lvbkluZCx4Om51bGwhPT1lLmRyYWdYP2UuZHJhZ1g6cix5OjAsd2lkdGg6MTYsbW9kZWw6ZSxjYXRlZ29yaWVzOnUscGFyY2F0c1ZpZXdNb2RlbDp0LGRyYWdDYXRlZ29yeURpc3BsYXlJbmQ6bnVsbCxkcmFnRGltZW5zaW9uRGlzcGxheUluZDpudWxsLGluaXRpYWxEcmFnRGltZW5zaW9uRGlzcGxheUluZHM6bnVsbCxpbml0aWFsRHJhZ0NhdGVnb3J5RGlzcGxheUluZHM6bnVsbCxkcmFnSGFzTW92ZWQ6bnVsbCxwb3RlbnRpYWxDbGlja0JhbmQ6bnVsbH19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3Uocix0LG4sZSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9jb21wb25lbnRzL2Z4Ijo2MzAsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdF9hcGkvcGxvdF9hcGkiOjc1MixkMzoxNjUsdGlueWNvbG9yMjo1MzZ9XSwxMDgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vcGFyY2F0cyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXt2YXIgaT10Ll9mdWxsTGF5b3V0LG89aS5fcGFwZXIscz1pLl9zaXplO24odCxvLGUse3dpZHRoOnMudyxoZWlnaHQ6cy5oLG1hcmdpbjp7dDpzLnQscjpzLnIsYjpzLmIsbDpzLmx9fSxyLGEpfX0seyIuL3BhcmNhdHMiOjEwODB9XSwxMDgyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuYXR0cmlidXRlcyxzPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGw9dCgiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSIpLnRlbXBsYXRlZEFycmF5O2UuZXhwb3J0cz17ZG9tYWluOm8oe25hbWU6InBhcmNvb3JkcyIsdHJhY2U6ITAsZWRpdFR5cGU6InBsb3QifSksbGFiZWxhbmdsZTp7dmFsVHlwZToiYW5nbGUiLGRmbHQ6MCxlZGl0VHlwZToicGxvdCJ9LGxhYmVsc2lkZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsidG9wIiwiYm90dG9tIl0sZGZsdDoidG9wIixlZGl0VHlwZToicGxvdCJ9LGxhYmVsZm9udDppKHtlZGl0VHlwZToicGxvdCJ9KSx0aWNrZm9udDppKHtlZGl0VHlwZToicGxvdCJ9KSxyYW5nZWZvbnQ6aSh7ZWRpdFR5cGU6InBsb3QifSksZGltZW5zaW9uczpsKCJkaW1lbnNpb24iLHtsYWJlbDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToicGxvdCJ9LHRpY2t2YWxzOnMoe30sYS50aWNrdmFscyx7ZWRpdFR5cGU6InBsb3QifSksdGlja3RleHQ6cyh7fSxhLnRpY2t0ZXh0LHtlZGl0VHlwZToicGxvdCJ9KSx0aWNrZm9ybWF0OnMoe30sYS50aWNrZm9ybWF0LHtlZGl0VHlwZToicGxvdCJ9KSx2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJwbG90In0scmFuZ2U6e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGl0ZW1zOlt7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToicGxvdCJ9LHt2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJwbG90In1dLGVkaXRUeXBlOiJwbG90In0sY29uc3RyYWludHJhbmdlOnt2YWxUeXBlOiJpbmZvX2FycmF5IixmcmVlTGVuZ3RoOiEwLGRpbWVuc2lvbnM6IjEtMiIsaXRlbXM6W3t2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJwbG90In0se3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6InBsb3QifV0sZWRpdFR5cGU6InBsb3QifSxtdWx0aXNlbGVjdDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToicGxvdCJ9LHZhbHVlczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9KSxsaW5lOnMoe2VkaXRUeXBlOiJjYWxjIn0sbigibGluZSIse2NvbG9yc2NhbGVEZmx0OiJWaXJpZGlzIixhdXRvQ29sb3JEZmx0OiExLGVkaXRUeXBlT3ZlcnJpZGU6ImNhbGMifSkpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2xheW91dF9hdHRyaWJ1dGVzIjo3NzcsIi4uLy4uL3Bsb3RzL2RvbWFpbiI6NzkwLCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiOjc5MX1dLDEwODM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb25zdGFudHMiKSxhPXQoImQzIiksaT10KCIuLi8uLi9saWIvZ3VwIikua2V5RnVuLG89dCgiLi4vLi4vbGliL2d1cCIpLnJlcGVhdCxzPXQoIi4uLy4uL2xpYiIpLnNvcnRlckFzYyxsPW4uYmFyLnNuYXBSYXRpbztmdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHQqKDEtbCkrZSpsfXZhciB1PW4uYmFyLnNuYXBDbG9zZTtmdW5jdGlvbiBoKHQsZSl7cmV0dXJuIHQqKDEtdSkrZSp1fWZ1bmN0aW9uIGYodCxlLHIsbil7aWYoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKylpZih0Pj1lW3JdWzBdJiZ0PD1lW3JdWzFdKXJldHVybiEwO3JldHVybiExfShyLG4pKXJldHVybiByO3ZhciBhPXQ/LTE6MSxpPTAsbz1lLmxlbmd0aC0xO2lmKGE8MCl7dmFyIHM9aTtpPW8sbz1zfWZvcih2YXIgbD1lW2ldLHU9bCxmPWk7YSpmPGEqbztmKz1hKXt2YXIgcD1mK2EsZD1lW3BdO2lmKGEqcjxhKmgobCxkKSlyZXR1cm4gYyhsLHUpO2lmKGEqcjxhKmR8fHA9PT1vKXJldHVybiBjKGQsbCk7dT1sLGw9ZH19ZnVuY3Rpb24gcCh0KXt0LmF0dHIoIngiLC1uLmJhci5jYXB0dXJlV2lkdGgvMikuYXR0cigid2lkdGgiLG4uYmFyLmNhcHR1cmVXaWR0aCl9ZnVuY3Rpb24gZCh0KXt0LmF0dHIoInZpc2liaWxpdHkiLCJ2aXNpYmxlIikuc3R5bGUoInZpc2liaWxpdHkiLCJ2aXNpYmxlIikuYXR0cigiZmlsbCIsInllbGxvdyIpLmF0dHIoIm9wYWNpdHkiLDApfWZ1bmN0aW9uIGcodCl7aWYoIXQuYnJ1c2guZmlsdGVyU3BlY2lmaWVkKXJldHVybiIwLCIrdC5oZWlnaHQ7Zm9yKHZhciBlLHIsbixhPXYodC5icnVzaC5maWx0ZXIuZ2V0Q29uc29saWRhdGVkKCksdC5oZWlnaHQpLGk9WzBdLG89YS5sZW5ndGg/YVswXVswXTpudWxsLHM9MDtzPGEubGVuZ3RoO3MrKylyPShlPWFbc10pWzFdLWVbMF0saS5wdXNoKG8pLGkucHVzaChyKSwobj1zKzEpPGEubGVuZ3RoJiYobz1hW25dWzBdLWVbMV0pO3JldHVybiBpLnB1c2godC5oZWlnaHQpLGl9ZnVuY3Rpb24gdih0LGUpe3JldHVybiB0Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsdCplKX0pLnNvcnQocyl9KX1mdW5jdGlvbiBtKCl7YS5zZWxlY3QoZG9jdW1lbnQuYm9keSkuc3R5bGUoImN1cnNvciIsbnVsbCl9ZnVuY3Rpb24geSh0KXt0LmF0dHIoInN0cm9rZS1kYXNoYXJyYXkiLGcpfWZ1bmN0aW9uIHgodCxlKXt2YXIgcj1hLnNlbGVjdCh0KS5zZWxlY3RBbGwoIi5oaWdobGlnaHQsIC5oaWdobGlnaHQtc2hhZG93Iik7eShlP3IudHJhbnNpdGlvbigpLmR1cmF0aW9uKG4uYmFyLnNuYXBEdXJhdGlvbikuZWFjaCgiZW5kIixlKTpyKX1mdW5jdGlvbiBiKHQsZSl7dmFyIHIsYT10LmJydXNoLGk9TmFOLG89e307aWYoYS5maWx0ZXJTcGVjaWZpZWQpe3ZhciBzPXQuaGVpZ2h0LGw9YS5maWx0ZXIuZ2V0Q29uc29saWRhdGVkKCksYz12KGwscyksdT1OYU4saD1OYU4sZj1OYU47Zm9yKHI9MDtyPD1jLmxlbmd0aDtyKyspe3ZhciBwPWNbcl07aWYocCYmcFswXTw9ZSYmZTw9cFsxXSl7dT1yO2JyZWFrfWlmKGg9cj9yLTE6TmFOLHAmJnBbMF0+ZSl7Zj1yO2JyZWFrfX1pZihpPXUsaXNOYU4oaSkmJihpPWlzTmFOKGgpfHxpc05hTihmKT9pc05hTihoKT9mOmg6ZS1jW2hdWzFdPGNbZl1bMF0tZT9oOmYpLCFpc05hTihpKSl7dmFyIGQ9Y1tpXSxnPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bi5iYXIuaGFuZGxlSGVpZ2h0O2lmKCEoZT50WzFdK3J8fGU8dFswXS1yKSlyZXR1cm4gZT49LjkqdFsxXSsuMSp0WzBdPyJuIjplPD0uOSp0WzBdKy4xKnRbMV0/InMiOiJucyJ9KGQsZSk7ZyYmKG8uaW50ZXJ2YWw9bFtpXSxvLmludGVydmFsUGl4PWQsby5yZWdpb249Zyl9fWlmKHQub3JkaW5hbCYmIW8ucmVnaW9uKXt2YXIgbT10LnVuaXRUaWNrdmFscyx5PXQudW5pdFRvUGFkZGVkUHguaW52ZXJ0KGUpO2ZvcihyPTA7cjxtLmxlbmd0aDtyKyspe3ZhciB4PVsuMjUqbVtNYXRoLm1heChyLTEsMCldKy43NSptW3JdLC4yNSptW01hdGgubWluKHIrMSxtLmxlbmd0aC0xKV0rLjc1Km1bcl1dO2lmKHk+PXhbMF0mJnk8PXhbMV0pe28uY2xpY2thYmxlT3JkaW5hbFJhbmdlPXg7YnJlYWt9fX1yZXR1cm4gb31mdW5jdGlvbiBfKHQsZSl7YS5ldmVudC5zb3VyY2VFdmVudC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgcj1lLmhlaWdodC1hLm1vdXNlKHQpWzFdLTIqbi52ZXJ0aWNhbFBhZGRpbmcsaT1lLmJydXNoLnN2Z0JydXNoO2kud2FzRHJhZ2dlZD0hMCxpLl9kcmFnZ2luZz0hMCxpLmdyYWJiaW5nQmFyP2kubmV3RXh0ZW50PVtyLWkuZ3JhYlBvaW50LHIraS5iYXJMZW5ndGgtaS5ncmFiUG9pbnRdLm1hcChlLnVuaXRUb1BhZGRlZFB4LmludmVydCk6aS5uZXdFeHRlbnQ9W2kuc3RhcnRFeHRlbnQsZS51bml0VG9QYWRkZWRQeC5pbnZlcnQocildLnNvcnQocyksZS5icnVzaC5maWx0ZXJTcGVjaWZpZWQ9ITAsaS5leHRlbnQ9aS5zdGF5aW5nSW50ZXJ2YWxzLmNvbmNhdChbaS5uZXdFeHRlbnRdKSxpLmJydXNoQ2FsbGJhY2soZSkseCh0LnBhcmVudE5vZGUpfWZ1bmN0aW9uIHcodCxlKXt2YXIgcj1iKGUsZS5oZWlnaHQtYS5tb3VzZSh0KVsxXS0yKm4udmVydGljYWxQYWRkaW5nKSxpPSJjcm9zc2hhaXIiO3IuY2xpY2thYmxlT3JkaW5hbFJhbmdlP2k9InBvaW50ZXIiOnIucmVnaW9uJiYoaT1yLnJlZ2lvbisiLXJlc2l6ZSIpLGEuc2VsZWN0KGRvY3VtZW50LmJvZHkpLnN0eWxlKCJjdXJzb3IiLGkpfWZ1bmN0aW9uIGsodCl7dC5vbigibW91c2Vtb3ZlIixmdW5jdGlvbih0KXthLmV2ZW50LnByZXZlbnREZWZhdWx0KCksdC5wYXJlbnQuaW5CcnVzaERyYWd8fHcodGhpcyx0KX0pLm9uKCJtb3VzZWxlYXZlIixmdW5jdGlvbih0KXt0LnBhcmVudC5pbkJydXNoRHJhZ3x8bSgpfSkuY2FsbChhLmJlaGF2aW9yLmRyYWcoKS5vbigiZHJhZ3N0YXJ0IixmdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXthLmV2ZW50LnNvdXJjZUV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3ZhciByPWUuaGVpZ2h0LWEubW91c2UodClbMV0tMipuLnZlcnRpY2FsUGFkZGluZyxpPWUudW5pdFRvUGFkZGVkUHguaW52ZXJ0KHIpLG89ZS5icnVzaCxzPWIoZSxyKSxsPXMuaW50ZXJ2YWwsYz1vLnN2Z0JydXNoO2lmKGMud2FzRHJhZ2dlZD0hMSxjLmdyYWJiaW5nQmFyPSJucyI9PT1zLnJlZ2lvbixjLmdyYWJiaW5nQmFyKXt2YXIgdT1sLm1hcChlLnVuaXRUb1BhZGRlZFB4KTtjLmdyYWJQb2ludD1yLXVbMF0tbi52ZXJ0aWNhbFBhZGRpbmcsYy5iYXJMZW5ndGg9dVsxXS11WzBdfWMuY2xpY2thYmxlT3JkaW5hbFJhbmdlPXMuY2xpY2thYmxlT3JkaW5hbFJhbmdlLGMuc3RheWluZ0ludGVydmFscz1lLm11bHRpc2VsZWN0JiZvLmZpbHRlclNwZWNpZmllZD9vLmZpbHRlci5nZXRDb25zb2xpZGF0ZWQoKTpbXSxsJiYoYy5zdGF5aW5nSW50ZXJ2YWxzPWMuc3RheWluZ0ludGVydmFscy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0hPT1sWzBdJiZ0WzFdIT09bFsxXX0pKSxjLnN0YXJ0RXh0ZW50PXMucmVnaW9uP2xbInMiPT09cy5yZWdpb24/MTowXTppLGUucGFyZW50LmluQnJ1c2hEcmFnPSEwLGMuYnJ1c2hTdGFydENhbGxiYWNrKCl9KHRoaXMsdCl9KS5vbigiZHJhZyIsZnVuY3Rpb24odCl7Xyh0aGlzLHQpfSkub24oImRyYWdlbmQiLGZ1bmN0aW9uKHQpeyFmdW5jdGlvbih0LGUpe3ZhciByPWUuYnJ1c2gsbj1yLmZpbHRlcixpPXIuc3ZnQnJ1c2g7aS5fZHJhZ2dpbmd8fCh3KHQsZSksXyh0LGUpLGUuYnJ1c2guc3ZnQnJ1c2gud2FzRHJhZ2dlZD0hMSksaS5fZHJhZ2dpbmc9ITEsYS5ldmVudC5zb3VyY2VFdmVudC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbz1pLmdyYWJiaW5nQmFyO2lmKGkuZ3JhYmJpbmdCYXI9ITEsaS5ncmFiTG9jYXRpb249dm9pZCAwLGUucGFyZW50LmluQnJ1c2hEcmFnPSExLG0oKSwhaS53YXNEcmFnZ2VkKXJldHVybiBpLndhc0RyYWdnZWQ9dm9pZCAwLGkuY2xpY2thYmxlT3JkaW5hbFJhbmdlP3IuZmlsdGVyU3BlY2lmaWVkJiZlLm11bHRpc2VsZWN0P2kuZXh0ZW50LnB1c2goaS5jbGlja2FibGVPcmRpbmFsUmFuZ2UpOihpLmV4dGVudD1baS5jbGlja2FibGVPcmRpbmFsUmFuZ2VdLHIuZmlsdGVyU3BlY2lmaWVkPSEwKTpvPyhpLmV4dGVudD1pLnN0YXlpbmdJbnRlcnZhbHMsMD09PWkuZXh0ZW50Lmxlbmd0aCYmTShyKSk6TShyKSxpLmJydXNoQ2FsbGJhY2soZSkseCh0LnBhcmVudE5vZGUpLHZvaWQgaS5icnVzaEVuZENhbGxiYWNrKHIuZmlsdGVyU3BlY2lmaWVkP24uZ2V0Q29uc29saWRhdGVkKCk6W10pO3ZhciBzPWZ1bmN0aW9uKCl7bi5zZXQobi5nZXRDb25zb2xpZGF0ZWQoKSl9O2lmKGUub3JkaW5hbCl7dmFyIGw9ZS51bml0VGlja3ZhbHM7bFtsLmxlbmd0aC0xXTxsWzBdJiZsLnJldmVyc2UoKSxpLm5ld0V4dGVudD1bZigwLGwsaS5uZXdFeHRlbnRbMF0saS5zdGF5aW5nSW50ZXJ2YWxzKSxmKDEsbCxpLm5ld0V4dGVudFsxXSxpLnN0YXlpbmdJbnRlcnZhbHMpXTt2YXIgYz1pLm5ld0V4dGVudFsxXT5pLm5ld0V4dGVudFswXTtpLmV4dGVudD1pLnN0YXlpbmdJbnRlcnZhbHMuY29uY2F0KGM/W2kubmV3RXh0ZW50XTpbXSksaS5leHRlbnQubGVuZ3RofHxNKHIpLGkuYnJ1c2hDYWxsYmFjayhlKSxjP3godC5wYXJlbnROb2RlLHMpOihzKCkseCh0LnBhcmVudE5vZGUpKX1lbHNlIHMoKTtpLmJydXNoRW5kQ2FsbGJhY2soci5maWx0ZXJTcGVjaWZpZWQ/bi5nZXRDb25zb2xpZGF0ZWQoKTpbXSl9KHRoaXMsdCl9KSl9ZnVuY3Rpb24gVCh0LGUpe3JldHVybiB0WzBdLWVbMF19ZnVuY3Rpb24gTSh0KXt0LmZpbHRlclNwZWNpZmllZD0hMSx0LnN2Z0JydXNoLmV4dGVudD1bWy0xLzAsMS8wXV19ZnVuY3Rpb24gQSh0KXtmb3IodmFyIGUscj10LnNsaWNlKCksbj1bXSxhPXIuc2hpZnQoKTthOyl7Zm9yKGU9YS5zbGljZSgpOyhhPXIuc2hpZnQoKSkmJmFbMF08PWVbMV07KWVbMV09TWF0aC5tYXgoZVsxXSxhWzFdKTtuLnB1c2goZSl9cmV0dXJuIG59ZS5leHBvcnRzPXttYWtlQnJ1c2g6ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvLGw9ZnVuY3Rpb24oKXt2YXIgdCxlLHI9W107cmV0dXJue3NldDpmdW5jdGlvbihuKXsxPT09KHI9bi5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuc2xpY2UoKS5zb3J0KHMpfSkuc29ydChUKSkubGVuZ3RoJiZyWzBdWzBdPT09LTEvMCYmclswXVsxXT09PTEvMCYmKHI9W1swLC0xXV0pLHQ9QShyKSxlPXIucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuW01hdGgubWluKHRbMF0sZVswXSksTWF0aC5tYXgodFsxXSxlWzFdKV19LFsxLzAsLTEvMF0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gci5zbGljZSgpfSxnZXRDb25zb2xpZGF0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7cmV0dXJuIGV9fX0oKTtyZXR1cm4gbC5zZXQocikse2ZpbHRlcjpsLGZpbHRlclNwZWNpZmllZDplLHN2Z0JydXNoOntleHRlbnQ6W10sYnJ1c2hTdGFydENhbGxiYWNrOm4sYnJ1c2hDYWxsYmFjazoobz1hLGZ1bmN0aW9uKHQpe3ZhciBlPXQuYnJ1c2gscj1mdW5jdGlvbih0KXtyZXR1cm4gdC5zdmdCcnVzaC5leHRlbnQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNsaWNlKCl9KX0oZSkuc2xpY2UoKTtlLmZpbHRlci5zZXQociksbygpfSksYnJ1c2hFbmRDYWxsYmFjazppfX19LGVuc3VyZUF4aXNCcnVzaDpmdW5jdGlvbih0KXt2YXIgZT10LnNlbGVjdEFsbCgiLiIrbi5jbi5heGlzQnJ1c2gpLmRhdGEobyxpKTtlLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLmF4aXNCcnVzaCwhMCksZnVuY3Rpb24odCl7dmFyIGU9dC5zZWxlY3RBbGwoIi5iYWNrZ3JvdW5kIikuZGF0YShvKTtlLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuY2xhc3NlZCgiYmFja2dyb3VuZCIsITApLmNhbGwocCkuY2FsbChkKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhdXRvIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDAgIituLnZlcnRpY2FsUGFkZGluZysiKSIpLGUuY2FsbChrKS5hdHRyKCJoZWlnaHQiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmhlaWdodC1uLnZlcnRpY2FsUGFkZGluZ30pO3ZhciByPXQuc2VsZWN0QWxsKCIuaGlnaGxpZ2h0LXNoYWRvdyIpLmRhdGEobyk7ci5lbnRlcigpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoImhpZ2hsaWdodC1zaGFkb3ciLCEwKS5hdHRyKCJ4Iiwtbi5iYXIud2lkdGgvMikuYXR0cigic3Ryb2tlLXdpZHRoIixuLmJhci53aWR0aCtuLmJhci5zdHJva2VXaWR0aCkuYXR0cigic3Ryb2tlIixuLmJhci5zdHJva2VDb2xvcikuYXR0cigib3BhY2l0eSIsbi5iYXIuc3Ryb2tlT3BhY2l0eSkuYXR0cigic3Ryb2tlLWxpbmVjYXAiLCJidXR0Iiksci5hdHRyKCJ5MSIsZnVuY3Rpb24odCl7cmV0dXJuIHQuaGVpZ2h0fSkuY2FsbCh5KTt2YXIgYT10LnNlbGVjdEFsbCgiLmhpZ2hsaWdodCIpLmRhdGEobyk7YS5lbnRlcigpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoImhpZ2hsaWdodCIsITApLmF0dHIoIngiLC1uLmJhci53aWR0aC8yKS5hdHRyKCJzdHJva2Utd2lkdGgiLG4uYmFyLndpZHRoLW4uYmFyLnN0cm9rZVdpZHRoKS5hdHRyKCJzdHJva2UiLG4uYmFyLmZpbGxDb2xvcikuYXR0cigib3BhY2l0eSIsbi5iYXIuZmlsbE9wYWNpdHkpLmF0dHIoInN0cm9rZS1saW5lY2FwIiwiYnV0dCIpLGEuYXR0cigieTEiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmhlaWdodH0pLmNhbGwoeSl9KGUpfSxjbGVhblJhbmdlczpmdW5jdGlvbih0LGUpe2lmKEFycmF5LmlzQXJyYXkodFswXSk/KHQ9dC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuc29ydChzKX0pLHQ9ZS5tdWx0aXNlbGVjdD9BKHQuc29ydChUKSk6W3RbMF1dKTp0PVt0LnNvcnQocyldLGUudGlja3ZhbHMpe3ZhciByPWUudGlja3ZhbHMuc2xpY2UoKS5zb3J0KHMpO2lmKCEodD10Lm1hcChmdW5jdGlvbih0KXt2YXIgZT1bZigwLHIsdFswXSxbXSksZigxLHIsdFsxXSxbXSldO2lmKGVbMV0+ZVswXSlyZXR1cm4gZX0pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdH0pKS5sZW5ndGgpcmV0dXJufXJldHVybiB0Lmxlbmd0aD4xP3Q6dFswXX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ3VwIjo3MTUsIi4vY29uc3RhbnRzIjoxMDg2LGQzOjE2NX1dLDEwODQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL3Bsb3RzL2dldF9kYXRhIikuZ2V0TW9kdWxlQ2FsY0RhdGEsaT10KCIuL3Bsb3QiKSxvPXQoIi4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIik7ci5uYW1lPSJwYXJjb29yZHMiLHIucGxvdD1mdW5jdGlvbih0KXt2YXIgZT1hKHQuY2FsY2RhdGEsInBhcmNvb3JkcyIpWzBdO2UubGVuZ3RoJiZpKHQsZSl9LHIuY2xlYW49ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9bi5faGFzJiZuLl9oYXMoInBhcmNvb3JkcyIpLGk9ZS5faGFzJiZlLl9oYXMoInBhcmNvb3JkcyIpO2EmJiFpJiYobi5fcGFwZXJkaXYuc2VsZWN0QWxsKCIucGFyY29vcmRzIikucmVtb3ZlKCksbi5fZ2xpbWFnZXMuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCkpfSxyLnRvU1ZHPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2Z1bGxMYXlvdXQuX2dsaW1hZ2VzLHI9bi5zZWxlY3QodCkuc2VsZWN0QWxsKCIuc3ZnLWNvbnRhaW5lciIpO3IuZmlsdGVyKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9PT1yLnNpemUoKS0xfSkuc2VsZWN0QWxsKCIuZ2wtY2FudmFzLWNvbnRleHQsIC5nbC1jYW52YXMtZm9jdXMiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50b0RhdGFVUkwoImltYWdlL3BuZyIpO2UuYXBwZW5kKCJzdmc6aW1hZ2UiKS5hdHRyKHt4bWxuczpvLnN2ZywieGxpbms6aHJlZiI6dCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIix4OjAseTowLHdpZHRoOnRoaXMud2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0fSl9KSx3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe24uc2VsZWN0QWxsKCIjZmlsdGVyQmFyUGF0dGVybiIpLmF0dHIoImlkIiwiZmlsdGVyQmFyUGF0dGVybiIpfSw2MCl9fSx7Ii4uLy4uL2NvbnN0YW50cy94bWxuc19uYW1lc3BhY2VzIjo2OTQsIi4uLy4uL3Bsb3RzL2dldF9kYXRhIjo4MDAsIi4vcGxvdCI6MTA5MyxkMzoxNjV9XSwxMDg1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXlPclR5cGVkQXJyYXksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKSxpPXQoIi4uLy4uL2xpYi9ndXAiKS53cmFwO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG87cmV0dXJuIGEuaGFzQ29sb3JzY2FsZShlLCJsaW5lIikmJm4oZS5saW5lLmNvbG9yKT8ocj1lLmxpbmUuY29sb3Isbz1hLmV4dHJhY3RPcHRzKGUubGluZSkuY29sb3JzY2FsZSxhLmNhbGModCxlLHt2YWxzOnIsY29udGFpbmVyU3RyOiJsaW5lIixjTGV0dGVyOiJjIn0pKToocj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09LjU7cmV0dXJuIGV9KGUuX2xlbmd0aCksbz1bWzAsZS5saW5lLmNvbG9yXSxbMSxlLmxpbmUuY29sb3JdXSksaSh7bGluZUNvbG9yOnIsY3NjYWxlOm99KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ3VwIjo3MTV9XSwxMDg2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bWF4RGltZW5zaW9uQ291bnQ6NjAsb3ZlcmRyYWc6NDUsdmVydGljYWxQYWRkaW5nOjIsdGlja0Rpc3RhbmNlOjUwLGNhbnZhc1BpeGVsUmF0aW86MSxibG9ja0xpbmVDb3VudDo1ZTMsbGF5ZXJzOlsiY29udGV4dExpbmVMYXllciIsImZvY3VzTGluZUxheWVyIiwicGlja0xpbmVMYXllciJdLGF4aXNUaXRsZU9mZnNldDoyOCxheGlzRXh0ZW50T2Zmc2V0OjEwLGRlc2VsZWN0ZWRMaW5lQ29sb3I6IiM3NzciLGJhcjp7d2lkdGg6NCxjYXB0dXJlV2lkdGg6MTAsZmlsbENvbG9yOiJtYWdlbnRhIixmaWxsT3BhY2l0eToxLHNuYXBEdXJhdGlvbjoxNTAsc25hcFJhdGlvOi4yNSxzbmFwQ2xvc2U6LjAxLHN0cm9rZUNvbG9yOiJ3aGl0ZSIsc3Ryb2tlT3BhY2l0eToxLHN0cm9rZVdpZHRoOjEsaGFuZGxlSGVpZ2h0OjgsaGFuZGxlT3BhY2l0eToxLGhhbmRsZU92ZXJsYXA6MH0sY246e2F4aXNFeHRlbnRUZXh0OiJheGlzLWV4dGVudC10ZXh0IixwYXJjb29yZHNMaW5lTGF5ZXJzOiJwYXJjb29yZHMtbGluZS1sYXllcnMiLHBhcmNvb3Jkc0xpbmVMYXllcjoicGFyY29vcmRzLWxpbmVzIixwYXJjb29yZHM6InBhcmNvb3JkcyIscGFyY29vcmRzQ29udHJvbFZpZXc6InBhcmNvb3Jkcy1jb250cm9sLXZpZXciLHlBeGlzOiJ5LWF4aXMiLGF4aXNPdmVybGF5czoiYXhpcy1vdmVybGF5cyIsYXhpczoiYXhpcyIsYXhpc0hlYWRpbmc6ImF4aXMtaGVhZGluZyIsYXhpc1RpdGxlOiJheGlzLXRpdGxlIixheGlzRXh0ZW50OiJheGlzLWV4dGVudCIsYXhpc0V4dGVudFRvcDoiYXhpcy1leHRlbnQtdG9wIixheGlzRXh0ZW50VG9wVGV4dDoiYXhpcy1leHRlbnQtdG9wLXRleHQiLGF4aXNFeHRlbnRCb3R0b206ImF4aXMtZXh0ZW50LWJvdHRvbSIsYXhpc0V4dGVudEJvdHRvbVRleHQ6ImF4aXMtZXh0ZW50LWJvdHRvbS10ZXh0IixheGlzQnJ1c2g6ImF4aXMtYnJ1c2gifSxpZDp7ZmlsdGVyQmFyUGF0dGVybjoiZmlsdGVyLWJhci1wYXR0ZXJuIn19fSx7fV0sMTA4NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIikuaGFzQ29sb3JzY2FsZSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyIpLG89dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuZGVmYXVsdHMscz10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxsPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksYz10KCIuL2F0dHJpYnV0ZXMiKSx1PXQoIi4vYXhpc2JydXNoIiksaD10KCIuL2NvbnN0YW50cyIpLm1heERpbWVuc2lvbkNvdW50LGY9dCgiLi9tZXJnZV9sZW5ndGgiKTtmdW5jdGlvbiBwKHQsZSxyLGEpe2Z1bmN0aW9uIGkocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGMuZGltZW5zaW9ucyxyLGEpfXZhciBvPWkoInZhbHVlcyIpLHM9aSgidmlzaWJsZSIpO2lmKG8mJm8ubGVuZ3RofHwocz1lLnZpc2libGU9ITEpLHMpe2koImxhYmVsIiksaSgidGlja3ZhbHMiKSxpKCJ0aWNrdGV4dCIpLGkoInRpY2tmb3JtYXQiKTt2YXIgaD1pKCJyYW5nZSIpO2UuX2F4PXtfaWQ6InkiLHR5cGU6ImxpbmVhciIsc2hvd2V4cG9uZW50OiJhbGwiLGV4cG9uZW50Zm9ybWF0OiJCIixyYW5nZTpofSxsLnNldENvbnZlcnQoZS5fYXgsYS5sYXlvdXQpLGkoIm11bHRpc2VsZWN0Iik7dmFyIGY9aSgiY29uc3RyYWludHJhbmdlIik7ZiYmKGUuY29uc3RyYWludHJhbmdlPXUuY2xlYW5SYW5nZXMoZixlKSl9fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsKXtmdW5jdGlvbiB1KHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxjLHIsYSl9dmFyIGQ9dC5kaW1lbnNpb25zO0FycmF5LmlzQXJyYXkoZCkmJmQubGVuZ3RoPmgmJihuLmxvZygicGFyY29vcmRzIHRyYWNlcyBzdXBwb3J0IHVwIHRvICIraCsiIGRpbWVuc2lvbnMgYXQgdGhlIG1vbWVudCIpLGQuc3BsaWNlKGgpKTt2YXIgZz1zKHQsZSx7bmFtZToiZGltZW5zaW9ucyIsbGF5b3V0OmwsaGFuZGxlSXRlbURlZmF1bHRzOnB9KSx2PWZ1bmN0aW9uKHQsZSxyLG8scyl7dmFyIGw9cygibGluZS5jb2xvciIscik7aWYoYSh0LCJsaW5lIikmJm4uaXNBcnJheU9yVHlwZWRBcnJheShsKSl7aWYobC5sZW5ndGgpcmV0dXJuIHMoImxpbmUuY29sb3JzY2FsZSIpLGkodCxlLG8scyx7cHJlZml4OiJsaW5lLiIsY0xldHRlcjoiYyJ9KSxsLmxlbmd0aDtlLmxpbmUuY29sb3I9cn1yZXR1cm4gMS8wfSh0LGUscixsLHUpO28oZSxsLHUpLEFycmF5LmlzQXJyYXkoZykmJmcubGVuZ3RofHwoZS52aXNpYmxlPSExKSxmKGUsZywidmFsdWVzIix2KTt2YXIgbT17ZmFtaWx5OmwuZm9udC5mYW1pbHksc2l6ZTpNYXRoLnJvdW5kKGwuZm9udC5zaXplLzEuMiksY29sb3I6bC5mb250LmNvbG9yfTtuLmNvZXJjZUZvbnQodSwibGFiZWxmb250IixtKSxuLmNvZXJjZUZvbnQodSwidGlja2ZvbnQiLG0pLG4uY29lcmNlRm9udCh1LCJyYW5nZWZvbnQiLG0pLHUoImxhYmVsYW5nbGUiKSx1KCJsYWJlbHNpZGUiKX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIjo2MDIsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4vYXR0cmlidXRlcyI6MTA4MiwiLi9heGlzYnJ1c2giOjEwODMsIi4vY29uc3RhbnRzIjoxMDg2LCIuL21lcmdlX2xlbmd0aCI6MTA5MX1dLDEwODg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIikuaXNUeXBlZEFycmF5O3IuY29udmVydFR5cGVkQXJyYXk9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCk/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk6dH0sci5pc09yZGluYWw9ZnVuY3Rpb24odCl7cmV0dXJuISF0LnRpY2t2YWxzfSxyLmlzVmlzaWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gdC52aXNpYmxlfHwhKCJ2aXNpYmxlImluIHQpfX0seyIuLi8uLi9saWIiOjcxN31dLDEwODk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90IiksY29sb3JiYXI6e2NvbnRhaW5lcjoibGluZSIsbWluOiJjbWluIixtYXg6ImNtYXgifSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToicGFyY29vcmRzIixiYXNlUGxvdE1vZHVsZTp0KCIuL2Jhc2VfcGxvdCIpLGNhdGVnb3JpZXM6WyJnbCIsInJlZ2wiLCJub09wYWNpdHkiLCJub0hvdmVyIl0sbWV0YTp7fX19LHsiLi9hdHRyaWJ1dGVzIjoxMDgyLCIuL2Jhc2VfcGxvdCI6MTA4NCwiLi9jYWxjIjoxMDg1LCIuL2RlZmF1bHRzIjoxMDg3LCIuL3Bsb3QiOjEwOTN9XSwxMDkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG5hdHRyaWJ1dGUgdmVjNCBwMDFfMDQsIHAwNV8wOCwgcDA5XzEyLCBwMTNfMTYsXG4gICAgICAgICAgICAgICBwMTdfMjAsIHAyMV8yNCwgcDI1XzI4LCBwMjlfMzIsXG4gICAgICAgICAgICAgICBwMzNfMzYsIHAzN180MCwgcDQxXzQ0LCBwNDVfNDgsXG4gICAgICAgICAgICAgICBwNDlfNTIsIHA1M181NiwgcDU3XzYwLCBjb2xvcnM7XG5cbnVuaWZvcm0gbWF0NCBkaW0wQSwgZGltMUEsIGRpbTBCLCBkaW0xQiwgZGltMEMsIGRpbTFDLCBkaW0wRCwgZGltMUQsXG4gICAgICAgICAgICAgbG9BLCBoaUEsIGxvQiwgaGlCLCBsb0MsIGhpQywgbG9ELCBoaUQ7XG5cbnVuaWZvcm0gdmVjMiByZXNvbHV0aW9uLCB2aWV3Qm94UG9zLCB2aWV3Qm94U2l6ZTtcbnVuaWZvcm0gc2FtcGxlcjJEIG1hc2ssIHBhbGV0dGU7XG51bmlmb3JtIGZsb2F0IG1hc2tIZWlnaHQ7XG51bmlmb3JtIGZsb2F0IGRyd0xheWVyOyAvLyAwOiBjb250ZXh0LCAxOiBmb2N1cywgMjogcGlja1xudW5pZm9ybSB2ZWM0IGNvbnRleHRDb2xvcjtcblxuYm9vbCBpc1BpY2sgICAgPSAoZHJ3TGF5ZXIgPiAxLjUpO1xuYm9vbCBpc0NvbnRleHQgPSAoZHJ3TGF5ZXIgPCAwLjUpO1xuXG5jb25zdCB2ZWM0IFpFUk9TID0gdmVjNCgwLjAsIDAuMCwgMC4wLCAwLjApO1xuY29uc3QgdmVjNCBVTklUUyA9IHZlYzQoMS4wLCAxLjAsIDEuMCwgMS4wKTtcblxuZmxvYXQgdmFsKG1hdDQgcCwgbWF0NCB2KSB7XG4gICAgcmV0dXJuIGRvdChtYXRyaXhDb21wTXVsdChwLCB2KSAqIFVOSVRTLCBVTklUUyk7XG59XG5cbmZsb2F0IGF4aXNZKGZsb2F0IHJhdGlvLCBtYXQ0IEEsIG1hdDQgQiwgbWF0NCBDLCBtYXQ0IEQpIHtcbiAgICBmbG9hdCB5MSA9IHZhbChBLCBkaW0wQSkgKyB2YWwoQiwgZGltMEIpICsgdmFsKEMsIGRpbTBDKSArIHZhbChELCBkaW0wRCk7XG4gICAgZmxvYXQgeTIgPSB2YWwoQSwgZGltMUEpICsgdmFsKEIsIGRpbTFCKSArIHZhbChDLCBkaW0xQykgKyB2YWwoRCwgZGltMUQpO1xuICAgIHJldHVybiB5MSAqICgxLjAgLSByYXRpbykgKyB5MiAqIHJhdGlvO1xufVxuXG5pbnQgaU1vZChpbnQgYSwgaW50IGIpIHtcbiAgICByZXR1cm4gYSAtIGIgKiAoYSAvIGIpO1xufVxuXG5ib29sIGZPdXRzaWRlKGZsb2F0IHAsIGZsb2F0IGxvLCBmbG9hdCBoaSkge1xuICAgIHJldHVybiAobG8gPCBoaSkgJiYgKGxvID4gcCB8fCBwID4gaGkpO1xufVxuXG5ib29sIHZPdXRzaWRlKHZlYzQgcCwgdmVjNCBsbywgdmVjNCBoaSkge1xuICAgIHJldHVybiAoXG4gICAgICAgIGZPdXRzaWRlKHBbMF0sIGxvWzBdLCBoaVswXSkgfHxcbiAgICAgICAgZk91dHNpZGUocFsxXSwgbG9bMV0sIGhpWzFdKSB8fFxuICAgICAgICBmT3V0c2lkZShwWzJdLCBsb1syXSwgaGlbMl0pIHx8XG4gICAgICAgIGZPdXRzaWRlKHBbM10sIGxvWzNdLCBoaVszXSlcbiAgICApO1xufVxuXG5ib29sIG1PdXRzaWRlKG1hdDQgcCwgbWF0NCBsbywgbWF0NCBoaSkge1xuICAgIHJldHVybiAoXG4gICAgICAgIHZPdXRzaWRlKHBbMF0sIGxvWzBdLCBoaVswXSkgfHxcbiAgICAgICAgdk91dHNpZGUocFsxXSwgbG9bMV0sIGhpWzFdKSB8fFxuICAgICAgICB2T3V0c2lkZShwWzJdLCBsb1syXSwgaGlbMl0pIHx8XG4gICAgICAgIHZPdXRzaWRlKHBbM10sIGxvWzNdLCBoaVszXSlcbiAgICApO1xufVxuXG5ib29sIG91dHNpZGVCb3VuZGluZ0JveChtYXQ0IEEsIG1hdDQgQiwgbWF0NCBDLCBtYXQ0IEQpIHtcbiAgICByZXR1cm4gbU91dHNpZGUoQSwgbG9BLCBoaUEpIHx8XG4gICAgICAgICAgIG1PdXRzaWRlKEIsIGxvQiwgaGlCKSB8fFxuICAgICAgICAgICBtT3V0c2lkZShDLCBsb0MsIGhpQykgfHxcbiAgICAgICAgICAgbU91dHNpZGUoRCwgbG9ELCBoaUQpO1xufVxuXG5ib29sIG91dHNpZGVSYXN0ZXJNYXNrKG1hdDQgQSwgbWF0NCBCLCBtYXQ0IEMsIG1hdDQgRCkge1xuICAgIG1hdDQgcG50c1s0XTtcbiAgICBwbnRzWzBdID0gQTtcbiAgICBwbnRzWzFdID0gQjtcbiAgICBwbnRzWzJdID0gQztcbiAgICBwbnRzWzNdID0gRDtcblxuICAgIGZvcihpbnQgaSA9IDA7IGkgPCA0OyArK2kpIHtcbiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IDQ7ICsraikge1xuICAgICAgICAgICAgZm9yKGludCBrID0gMDsgayA8IDQ7ICsraykge1xuICAgICAgICAgICAgICAgIGlmKDAgPT0gaU1vZChcbiAgICAgICAgICAgICAgICAgICAgaW50KDI1NS4wICogdGV4dHVyZTJEKG1hc2ssXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZWMyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmbG9hdChpICogMiArIGogLyAyKSArIDAuNSkgLyA4LjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBudHNbaV1bal1ba10gKiAobWFza0hlaWdodCAtIDEuMCkgKyAxLjApIC8gbWFza0hlaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgKSlbM11cbiAgICAgICAgICAgICAgICAgICAgKSAvIGludChwb3coMi4wLCBmbG9hdChpTW9kKGogKiA0ICsgaywgOCkpKSksXG4gICAgICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICApKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbnZlYzQgcG9zaXRpb24oYm9vbCBpc0NvbnRleHQsIGZsb2F0IHYsIG1hdDQgQSwgbWF0NCBCLCBtYXQ0IEMsIG1hdDQgRCkge1xuICAgIGZsb2F0IHggPSAwLjUgKiBzaWduKHYpICsgMC41O1xuICAgIGZsb2F0IHkgPSBheGlzWSh4LCBBLCBCLCBDLCBEKTtcbiAgICBmbG9hdCB6ID0gMS4wIC0gYWJzKHYpO1xuXG4gICAgeiArPSBpc0NvbnRleHQgPyAwLjAgOiAyLjAgKiBmbG9hdChcbiAgICAgICAgb3V0c2lkZUJvdW5kaW5nQm94KEEsIEIsIEMsIEQpIHx8XG4gICAgICAgIG91dHNpZGVSYXN0ZXJNYXNrKEEsIEIsIEMsIEQpXG4gICAgKTtcblxuICAgIHJldHVybiB2ZWM0KFxuICAgICAgICAyLjAgKiAodmVjMih4LCB5KSAqIHZpZXdCb3hTaXplICsgdmlld0JveFBvcykgLyByZXNvbHV0aW9uIC0gMS4wLFxuICAgICAgICB6LFxuICAgICAgICAxLjBcbiAgICApO1xufVxuXG52b2lkIG1haW4oKSB7XG4gICAgbWF0NCBBID0gbWF0NChwMDFfMDQsIHAwNV8wOCwgcDA5XzEyLCBwMTNfMTYpO1xuICAgIG1hdDQgQiA9IG1hdDQocDE3XzIwLCBwMjFfMjQsIHAyNV8yOCwgcDI5XzMyKTtcbiAgICBtYXQ0IEMgPSBtYXQ0KHAzM18zNiwgcDM3XzQwLCBwNDFfNDQsIHA0NV80OCk7XG4gICAgbWF0NCBEID0gbWF0NChwNDlfNTIsIHA1M181NiwgcDU3XzYwLCBaRVJPUyk7XG5cbiAgICBmbG9hdCB2ID0gY29sb3JzWzNdO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBwb3NpdGlvbihpc0NvbnRleHQsIHYsIEEsIEIsIEMsIEQpO1xuXG4gICAgZnJhZ0NvbG9yID1cbiAgICAgICAgaXNDb250ZXh0ID8gdmVjNChjb250ZXh0Q29sb3IpIDpcbiAgICAgICAgaXNQaWNrID8gdmVjNChjb2xvcnMucmdiLCAxLjApIDogdGV4dHVyZTJEKHBhbGV0dGUsIHZlYzIoYWJzKHYpLCAwLjUpKTtcbn1cbiJdKSxpPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gICAgZ2xfRnJhZ0NvbG9yID0gZnJhZ0NvbG9yO1xufVxuIl0pLG89dCgiLi9jb25zdGFudHMiKS5tYXhEaW1lbnNpb25Db3VudCxzPXQoIi4uLy4uL2xpYiIpLGw9MWUtNixjPTIwNDgsdT1uZXcgVWludDhBcnJheSg0KSxoPW5ldyBVaW50OEFycmF5KDQpLGY9e3NoYXBlOlsyNTYsMV0sZm9ybWF0OiJyZ2JhIix0eXBlOiJ1aW50OCIsbWFnOiJuZWFyZXN0IixtaW46Im5lYXJlc3QifTtmdW5jdGlvbiBwKHQsZSxyLG4sYSl7dmFyIGk9dC5fZ2w7aS5lbmFibGUoaS5TQ0lTU09SX1RFU1QpLGkuc2Npc3NvcihlLHIsbixhKSx0LmNsZWFyKHtjb2xvcjpbMCwwLDAsMF0sZGVwdGg6MX0pfWZ1bmN0aW9uIGQodCxlLHIsbixhLGkpe3ZhciBvPWkua2V5O3IuZHJhd0NvbXBsZXRlZHx8KCFmdW5jdGlvbih0KXt0LnJlYWQoe3g6MCx5OjAsd2lkdGg6MSxoZWlnaHQ6MSxkYXRhOnV9KX0odCksci5kcmF3Q29tcGxldGVkPSEwKSxmdW5jdGlvbiBzKGwpe3ZhciBjPU1hdGgubWluKG4sYS1sKm4pOzA9PT1sJiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHIuY3VycmVudFJhZnNbb10pLGRlbGV0ZSByLmN1cnJlbnRSYWZzW29dLHAodCxpLnNjaXNzb3JYLGkuc2Npc3NvclksaS5zY2lzc29yV2lkdGgsaS52aWV3Qm94U2l6ZVsxXSkpLHIuY2xlYXJPbmx5fHwoaS5jb3VudD0yKmMsaS5vZmZzZXQ9MipsKm4sZShpKSxsKm4rYzxhJiYoci5jdXJyZW50UmFmc1tvXT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cyhsKzEpfSkpLHIuZHJhd0NvbXBsZXRlZD0hMSl9KDApfWZ1bmN0aW9uIGcodCxlKXtmb3IodmFyIHI9bmV3IEFycmF5KDI1Niksbj0wO248MjU2O24rKylyW25dPXQobi8yNTUpLmNvbmNhdChlKTtyZXR1cm4gcn1mdW5jdGlvbiB2KHQsZSl7cmV0dXJuKHQ+Pj44KmUpJTI1Ni8yNTV9ZnVuY3Rpb24gbSh0LGUscil7Zm9yKHZhciBuPW5ldyBBcnJheSg4KmUpLGE9MCxpPTA7aTxlO2krKylmb3IodmFyIG89MDtvPDI7bysrKWZvcih2YXIgcz0wO3M8NDtzKyspe3ZhciBsPTQqdCtzLGM9cls2NCppK2xdOzYzPT09bCYmMD09PW8mJihjKj0tMSksblthKytdPWN9cmV0dXJuIG59ZnVuY3Rpb24geSh0KXt2YXIgZT0iMCIrdDtyZXR1cm4gZS5zdWJzdHIoZS5sZW5ndGgtMil9ZnVuY3Rpb24geCh0KXtyZXR1cm4gdDxvPyJwIit5KHQrMSkrIl8iK3kodCs0KToiY29sb3JzIn1mdW5jdGlvbiBiKHQsZSxyLG4sYSxpLG8sbCxjLHUsaCxmLHApe2Zvcih2YXIgZD1bW10sW11dLGc9MDtnPDY0O2crKylkWzBdW2ddPWc9PT1hPzE6MCxkWzFdW2ddPWc9PT1pPzE6MDt2YXIgdj10LmxpbmVzLmNhbnZhc092ZXJkcmFnLG09dC5kb21haW4seT10LmNhbnZhc1dpZHRoLHg9dC5jYW52YXNIZWlnaHQsYj10LmRlc2VsZWN0ZWRMaW5lcy5jb2xvcjtyZXR1cm4gcy5leHRlbmRGbGF0KHtrZXk6aCxyZXNvbHV0aW9uOlt5LHhdLHZpZXdCb3hQb3M6W28rdixsXSx2aWV3Qm94U2l6ZTpbYyx1XSxpMDphLGkxOmksZGltMEE6ZFswXS5zbGljZSgwLDE2KSxkaW0wQjpkWzBdLnNsaWNlKDE2LDMyKSxkaW0wQzpkWzBdLnNsaWNlKDMyLDQ4KSxkaW0wRDpkWzBdLnNsaWNlKDQ4LDY0KSxkaW0xQTpkWzFdLnNsaWNlKDAsMTYpLGRpbTFCOmRbMV0uc2xpY2UoMTYsMzIpLGRpbTFDOmRbMV0uc2xpY2UoMzIsNDgpLGRpbTFEOmRbMV0uc2xpY2UoNDgsNjQpLGRyd0xheWVyOmYsY29udGV4dENvbG9yOltiWzBdLzI1NSxiWzFdLzI1NSxiWzJdLzI1NSxiWzNdPDE/YlszXTpNYXRoLm1heCgxLzI1NSxNYXRoLnBvdygxL3QubGluZXMuY29sb3IubGVuZ3RoLDEvMykpXSxzY2lzc29yWDoobj09PWU/MDpvK3YpKyh0LnBhZC5sLXYpK3QubGF5b3V0V2lkdGgqbS54WzBdLHNjaXNzb3JXaWR0aDoobj09PXI/eS1vK3Y6YysuNSkrKG49PT1lP28rdjowKSxzY2lzc29yWTpsK3QucGFkLmIrdC5sYXlvdXRIZWlnaHQqbS55WzBdLHNjaXNzb3JIZWlnaHQ6dSx2aWV3cG9ydFg6dC5wYWQubC12K3QubGF5b3V0V2lkdGgqbS54WzBdLHZpZXdwb3J0WTp0LnBhZC5iK3QubGF5b3V0SGVpZ2h0Km0ueVswXSx2aWV3cG9ydFdpZHRoOnksdmlld3BvcnRIZWlnaHQ6eH0scCl9ZnVuY3Rpb24gXyh0KXt2YXIgZT1jLTEscj1NYXRoLm1heCgwLE1hdGguZmxvb3IodFswXSplKSwwKSxuPU1hdGgubWluKGUsTWF0aC5jZWlsKHRbMV0qZSksZSk7cmV0dXJuW01hdGgubWluKHIsbiksTWF0aC5tYXgocixuKV19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbix1LHksdyxrPWUuY29udGV4dCxUPWUucGljayxNPWUucmVnbCxBPXtjdXJyZW50UmFmczp7fSxkcmF3Q29tcGxldGVkOiEwLGNsZWFyT25seTohMX0sUz1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30scj0wO3I8PW87cis9NCllW3gocildPXQuYnVmZmVyKHt1c2FnZToiZHluYW1pYyIsdHlwZToiZmxvYXQiLGRhdGE6bmV3IFVpbnQ4QXJyYXkoMCl9KTtyZXR1cm4gZX0oTSksRT1NLnRleHR1cmUoZiksTD1bXTtQKGUpO3ZhciBDPU0oe3Byb2ZpbGU6ITEsYmxlbmQ6e2VuYWJsZTprLGZ1bmM6e3NyY1JHQjoic3JjIGFscGhhIixkc3RSR0I6Im9uZSBtaW51cyBzcmMgYWxwaGEiLHNyY0FscGhhOjEsZHN0QWxwaGE6MX0sZXF1YXRpb246e3JnYjoiYWRkIixhbHBoYToiYWRkIn0sY29sb3I6WzAsMCwwLDBdfSxkZXB0aDp7ZW5hYmxlOiFrLG1hc2s6ITAsZnVuYzoibGVzcyIscmFuZ2U6WzAsMV19LGN1bGw6e2VuYWJsZTohMCxmYWNlOiJiYWNrIn0sc2Npc3Nvcjp7ZW5hYmxlOiEwLGJveDp7eDpNLnByb3AoInNjaXNzb3JYIikseTpNLnByb3AoInNjaXNzb3JZIiksd2lkdGg6TS5wcm9wKCJzY2lzc29yV2lkdGgiKSxoZWlnaHQ6TS5wcm9wKCJzY2lzc29ySGVpZ2h0Iil9fSx2aWV3cG9ydDp7eDpNLnByb3AoInZpZXdwb3J0WCIpLHk6TS5wcm9wKCJ2aWV3cG9ydFkiKSx3aWR0aDpNLnByb3AoInZpZXdwb3J0V2lkdGgiKSxoZWlnaHQ6TS5wcm9wKCJ2aWV3cG9ydEhlaWdodCIpfSxkaXRoZXI6ITEsdmVydDphLGZyYWc6aSxwcmltaXRpdmU6ImxpbmVzIixsaW5lV2lkdGg6MSxhdHRyaWJ1dGVzOlMsdW5pZm9ybXM6e3Jlc29sdXRpb246TS5wcm9wKCJyZXNvbHV0aW9uIiksdmlld0JveFBvczpNLnByb3AoInZpZXdCb3hQb3MiKSx2aWV3Qm94U2l6ZTpNLnByb3AoInZpZXdCb3hTaXplIiksZGltMEE6TS5wcm9wKCJkaW0wQSIpLGRpbTFBOk0ucHJvcCgiZGltMUEiKSxkaW0wQjpNLnByb3AoImRpbTBCIiksZGltMUI6TS5wcm9wKCJkaW0xQiIpLGRpbTBDOk0ucHJvcCgiZGltMEMiKSxkaW0xQzpNLnByb3AoImRpbTFDIiksZGltMEQ6TS5wcm9wKCJkaW0wRCIpLGRpbTFEOk0ucHJvcCgiZGltMUQiKSxsb0E6TS5wcm9wKCJsb0EiKSxoaUE6TS5wcm9wKCJoaUEiKSxsb0I6TS5wcm9wKCJsb0IiKSxoaUI6TS5wcm9wKCJoaUIiKSxsb0M6TS5wcm9wKCJsb0MiKSxoaUM6TS5wcm9wKCJoaUMiKSxsb0Q6TS5wcm9wKCJsb0QiKSxoaUQ6TS5wcm9wKCJoaUQiKSxwYWxldHRlOkUsY29udGV4dENvbG9yOk0ucHJvcCgiY29udGV4dENvbG9yIiksbWFzazpNLnByb3AoIm1hc2tUZXh0dXJlIiksZHJ3TGF5ZXI6TS5wcm9wKCJkcndMYXllciIpLG1hc2tIZWlnaHQ6TS5wcm9wKCJtYXNrSGVpZ2h0Iil9LG9mZnNldDpNLnByb3AoIm9mZnNldCIpLGNvdW50Ok0ucHJvcCgiY291bnQiKX0pO2Z1bmN0aW9uIFAodCl7cj10Lm1vZGVsLG49dC52aWV3TW9kZWwsdT1uLmRpbWVuc2lvbnMuc2xpY2UoKSx5PXVbMF0/dVswXS52YWx1ZXMubGVuZ3RoOjA7dmFyIGU9ci5saW5lcyxhPVQ/ZS5jb2xvci5tYXAoZnVuY3Rpb24odCxyKXtyZXR1cm4gci9lLmNvbG9yLmxlbmd0aH0pOmUuY29sb3IsaT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuLGE9bmV3IEFycmF5KHQqKG8rNCkpLGk9MCxzPTA7czx0O3MrKyl7Zm9yKHZhciBjPTA7YzxvO2MrKylhW2krK109YzxlLmxlbmd0aD9lW2NdLnBhZGRlZFVuaXRWYWx1ZXNbc106LjU7YVtpKytdPXYocywyKSxhW2krK109dihzLDEpLGFbaSsrXT12KHMsMCksYVtpKytdPShuPXJbc10sTWF0aC5tYXgobCxNYXRoLm1pbigxLWwsbikpKX1yZXR1cm4gYX0oeSx1LGEpOyFmdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPTA7bjw9bztuKz00KXRbeChuKV0obShuLzQsZSxyKSl9KFMseSxpKSxrfHxUfHwoRT1NLnRleHR1cmUocy5leHRlbmRGbGF0KHtkYXRhOmcoci51bml0VG9Db2xvciwyNTUpfSxmKSkpfXJldHVybntyZW5kZXI6ZnVuY3Rpb24odCxlLG4pe3ZhciBhLGksbyxzPXQubGVuZ3RoLGw9MS8wLGg9LTEvMDtmb3IoYT0wO2E8czthKyspdFthXS5kaW0wLmNhbnZhc1g8bCYmKGw9dFthXS5kaW0wLmNhbnZhc1gsaT1hKSx0W2FdLmRpbTEuY2FudmFzWD5oJiYoaD10W2FdLmRpbTEuY2FudmFzWCxvPWEpOzA9PT1zJiZwKE0sMCwwLHIuY2FudmFzV2lkdGgsci5jYW52YXNIZWlnaHQpO3ZhciBmPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhPVtbXSxbXV07Zm9yKG49MDtuPDY0O24rKyl7dmFyIGk9IXQmJm48dS5sZW5ndGg/dVtuXS5icnVzaC5maWx0ZXIuZ2V0Qm91bmRzKCk6Wy0xLzAsMS8wXTthWzBdW25dPWlbMF0sYVsxXVtuXT1pWzFdfXZhciBvPTgqYyxzPW5ldyBBcnJheShvKTtmb3IoZT0wO2U8bztlKyspc1tlXT0yNTU7aWYoIXQpZm9yKGU9MDtlPHUubGVuZ3RoO2UrKyl7dmFyIGw9ZSU4LGg9KGUtbCkvOCxmPU1hdGgucG93KDIsbCkscD11W2VdLmJydXNoLmZpbHRlci5nZXQoKTtpZighKHAubGVuZ3RoPDIpKXt2YXIgZD1fKHBbMF0pWzFdO2ZvcihyPTE7cjxwLmxlbmd0aDtyKyspe3ZhciBnPV8ocFtyXSk7Zm9yKG49ZCsxO248Z1swXTtuKyspc1s4Km4raF0mPX5mO2Q9TWF0aC5tYXgoZCxnWzFdKX19fXZhciB2PXtzaGFwZTpbOCxjXSxmb3JtYXQ6ImFscGhhIix0eXBlOiJ1aW50OCIsbWFnOiJuZWFyZXN0IixtaW46Im5lYXJlc3QiLGRhdGE6c307cmV0dXJuIHc/dyh2KTp3PU0udGV4dHVyZSh2KSx7bWFza1RleHR1cmU6dyxtYXNrSGVpZ2h0OmMsbG9BOmFbMF0uc2xpY2UoMCwxNiksbG9COmFbMF0uc2xpY2UoMTYsMzIpLGxvQzphWzBdLnNsaWNlKDMyLDQ4KSxsb0Q6YVswXS5zbGljZSg0OCw2NCksaGlBOmFbMV0uc2xpY2UoMCwxNiksaGlCOmFbMV0uc2xpY2UoMTYsMzIpLGhpQzphWzFdLnNsaWNlKDMyLDQ4KSxoaUQ6YVsxXS5zbGljZSg0OCw2NCl9fShrKTtmb3IoYT0wO2E8czthKyspe3ZhciBnPXRbYV0sdj1nLmRpbTAuY3Jvc3NmaWx0ZXJEaW1lbnNpb25JbmRleCxtPWcuZGltMS5jcm9zc2ZpbHRlckRpbWVuc2lvbkluZGV4LHg9Zy5jYW52YXNYLFM9Zy5jYW52YXNZLEU9eCtnLnBhbmVsU2l6ZVg7aWYoZXx8IUxbdl18fExbdl1bMF0hPT14fHxMW3ZdWzFdIT09RSl7TFt2XT1beCxFXTt2YXIgUD1iKHIsaSxvLGEsdixtLHgsUyxnLnBhbmVsU2l6ZVgsZy5wYW5lbFNpemVZLGcuZGltMC5jcm9zc2ZpbHRlckRpbWVuc2lvbkluZGV4LGs/MDpUPzI6MSxmKTtBLmNsZWFyT25seT1uO3ZhciBPPWU/ci5saW5lcy5ibG9ja0xpbmVDb3VudDp5O2QoTSxDLEEsTyx5LFApfX19LHJlYWRQaXhlbDpmdW5jdGlvbih0LGUpe3JldHVybiBNLnJlYWQoe3g6dCx5OmUsd2lkdGg6MSxoZWlnaHQ6MSxkYXRhOmh9KSxofSxyZWFkUGl4ZWxzOmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW5ldyBVaW50OEFycmF5KDQqcipuKTtyZXR1cm4gTS5yZWFkKHt4OnQseTplLHdpZHRoOnIsaGVpZ2h0Om4sZGF0YTphfSksYX0sZGVzdHJveTpmdW5jdGlvbigpe2Zvcih2YXIgZSBpbiB0LnN0eWxlWyJwb2ludGVyLWV2ZW50cyJdPSJub25lIixFLmRlc3Ryb3koKSx3JiZ3LmRlc3Ryb3koKSxTKVNbZV0uZGVzdHJveSgpfSx1cGRhdGU6UH19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2NvbnN0YW50cyI6MTA4NixnbHNsaWZ5OjQxMX1dLDEwOTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGk7Zm9yKG58fChuPTEvMCksYT0wO2E8ZS5sZW5ndGg7YSsrKShpPWVbYV0pLnZpc2libGUmJihuPU1hdGgubWluKG4saVtyXS5sZW5ndGgpKTtmb3Iobj09PTEvMCYmKG49MCksdC5fbGVuZ3RoPW4sYT0wO2E8ZS5sZW5ndGg7YSsrKShpPWVbYV0pLnZpc2libGUmJihpLl9sZW5ndGg9bik7cmV0dXJuIG59fSx7fV0sMTA5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiY29sb3ItcmdiYSIpLGk9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxvPXQoIi4uLy4uL2xpYiIpLHM9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksbD10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxjPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLHU9dCgiLi4vLi4vbGliL2d1cCIpLGg9dS5rZXlGdW4sZj11LnJlcGVhdCxwPXUudW53cmFwLGQ9dCgiLi9oZWxwZXJzIiksZz10KCIuL2NvbnN0YW50cyIpLHY9dCgiLi9heGlzYnJ1c2giKSxtPXQoIi4vbGluZXMiKTtmdW5jdGlvbiB5KHQsZSxyKXtyZXR1cm4gby5hZ2dOdW1zKHQsbnVsbCxlLHIpfWZ1bmN0aW9uIHgodCxlKXtyZXR1cm4gXyh5KE1hdGgubWluLHQsZSkseShNYXRoLm1heCx0LGUpKX1mdW5jdGlvbiBiKHQpe3ZhciBlPXQucmFuZ2U7cmV0dXJuIGU/XyhlWzBdLGVbMV0pOngodC52YWx1ZXMsdC5fbGVuZ3RoKX1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuIWlzTmFOKHQpJiZpc0Zpbml0ZSh0KXx8KHQ9MCksIWlzTmFOKGUpJiZpc0Zpbml0ZShlKXx8KGU9MCksdD09PWUmJigwPT09dD8odC09MSxlKz0xKToodCo9LjksZSo9MS4xKSksW3QsZV19ZnVuY3Rpb24gdyh0LGUscixhLGkpe3ZhciBvLHMsbD1iKHIpO3JldHVybiBhP24uc2NhbGUub3JkaW5hbCgpLmRvbWFpbihhLm1hcCgobz1uLmZvcm1hdChyLnRpY2tmb3JtYXQpLHM9aSxzP2Z1bmN0aW9uKHQsZSl7dmFyIHI9c1tlXTtyZXR1cm4gbnVsbD09cj9vKHQpOnJ9Om8pKSkucmFuZ2UoYS5tYXAoZnVuY3Rpb24ocil7dmFyIG49KHItbFswXSkvKGxbMV0tbFswXSk7cmV0dXJuIHQtZStuKigyKmUtdCl9KSk6bi5zY2FsZS5saW5lYXIoKS5kb21haW4obCkucmFuZ2UoW3QtZSxlXSl9ZnVuY3Rpb24gayh0KXtpZih0LnRpY2t2YWxzKXt2YXIgZT1iKHQpO3JldHVybiBuLnNjYWxlLm9yZGluYWwoKS5kb21haW4odC50aWNrdmFscykucmFuZ2UodC50aWNrdmFscy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuKHQtZVswXSkvKGVbMV0tZVswXSl9KSl9fWZ1bmN0aW9uIFQodCl7dmFyIGU9dC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19KSxyPXQubWFwKGZ1bmN0aW9uKHQpe3ZhciBlPWEodFsxXSk7cmV0dXJuIG4ucmdiKCJyZ2IoIitlWzBdKyIsIitlWzFdKyIsIitlWzJdKyIpIil9KSxpPSJyZ2IiLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIG4uc2NhbGUubGluZWFyKCkuY2xhbXAoITApLmRvbWFpbihlKS5yYW5nZShyLm1hcCgoYT10LGZ1bmN0aW9uKHQpe3JldHVybiB0W2FdfSkpKTt2YXIgYX0pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gaS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUodCl9KX19ZnVuY3Rpb24gTSh0KXtyZXR1cm4gdC5kaW1lbnNpb25zLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIHQuYnJ1c2guZmlsdGVyU3BlY2lmaWVkfSl9ZnVuY3Rpb24gQSh0LGUscil7dmFyIGE9ci53aWR0aCxpPXIuaGVpZ2h0LHM9ci5kaW1lbnNpb25zLGw9ci5jYW52YXNQaXhlbFJhdGlvLGM9ZnVuY3Rpb24odCl7cmV0dXJuIGEqdC9NYXRoLm1heCgxLHIuY29sQ291bnQtMSl9LHU9Zy52ZXJ0aWNhbFBhZGRpbmcvaSxoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uc2NhbGUubGluZWFyKCkucmFuZ2UoW2UsdC1lXSl9KGksZy52ZXJ0aWNhbFBhZGRpbmcpLGY9e2tleTpyLmtleSx4U2NhbGU6Yyxtb2RlbDpyLGluQnJ1c2hEcmFnOiExfSxwPXt9O3JldHVybiBmLmRpbWVuc2lvbnM9cy5maWx0ZXIoZC5pc1Zpc2libGUpLm1hcChmdW5jdGlvbihhLHMpe3ZhciBtPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uc2NhbGUubGluZWFyKCkuZG9tYWluKGIodCkpLnJhbmdlKFtlLDEtZV0pfShhLHUpLHk9cFthLmxhYmVsXTtwW2EubGFiZWxdPSh5fHwwKSsxO3ZhciB4PWEubGFiZWwrKHk/Il9fIit5OiIiKSxfPWEuY29uc3RyYWludHJhbmdlLFQ9XyYmXy5sZW5ndGg7VCYmIUFycmF5LmlzQXJyYXkoX1swXSkmJihfPVtfXSk7dmFyIEE9VD9fLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAobSl9KTpbWy0xLzAsMS8wXV0sUz1hLnZhbHVlcztTLmxlbmd0aD5hLl9sZW5ndGgmJihTPVMuc2xpY2UoMCxhLl9sZW5ndGgpKTt2YXIgRSxMPWEudGlja3ZhbHM7ZnVuY3Rpb24gQyh0LGUpe3JldHVybnt2YWw6dCx0ZXh0OkVbZV19fWZ1bmN0aW9uIFAodCxlKXtyZXR1cm4gdC52YWwtZS52YWx9aWYoQXJyYXkuaXNBcnJheShMKSYmTC5sZW5ndGgpe0U9YS50aWNrdGV4dCxBcnJheS5pc0FycmF5KEUpJiZFLmxlbmd0aD9FLmxlbmd0aD5MLmxlbmd0aD9FPUUuc2xpY2UoMCxMLmxlbmd0aCk6TC5sZW5ndGg+RS5sZW5ndGgmJihMPUwuc2xpY2UoMCxFLmxlbmd0aCkpOkU9TC5tYXAobi5mb3JtYXQoYS50aWNrZm9ybWF0KSk7Zm9yKHZhciBPPTE7TzxMLmxlbmd0aDtPKyspaWYoTFtPXTxMW08tMV0pe2Zvcih2YXIgej1MLm1hcChDKS5zb3J0KFApLEk9MDtJPEwubGVuZ3RoO0krKylMW0ldPXpbSV0udmFsLEVbSV09eltJXS50ZXh0O2JyZWFrfX1lbHNlIEw9dm9pZCAwO3JldHVybiBTPWQuY29udmVydFR5cGVkQXJyYXkoUykse2tleTp4LGxhYmVsOmEubGFiZWwsdGlja0Zvcm1hdDphLnRpY2tmb3JtYXQsdGlja3ZhbHM6TCx0aWNrdGV4dDpFLG9yZGluYWw6ZC5pc09yZGluYWwoYSksbXVsdGlzZWxlY3Q6YS5tdWx0aXNlbGVjdCx4SW5kZXg6cyxjcm9zc2ZpbHRlckRpbWVuc2lvbkluZGV4OnMsdmlzaWJsZUluZGV4OmEuX2luZGV4LGhlaWdodDppLHZhbHVlczpTLHBhZGRlZFVuaXRWYWx1ZXM6Uy5tYXAobSksdW5pdFRpY2t2YWxzOkwmJkwubWFwKG0pLHhTY2FsZTpjLHg6YyhzKSxjYW52YXNYOmMocykqbCx1bml0VG9QYWRkZWRQeDpoLGRvbWFpblNjYWxlOncoaSxnLnZlcnRpY2FsUGFkZGluZyxhLEwsRSksb3JkaW5hbFNjYWxlOmsoYSkscGFyZW50OmYsbW9kZWw6cixicnVzaDp2Lm1ha2VCcnVzaCh0LFQsQSxmdW5jdGlvbigpe3QubGluZVBpY2tBY3RpdmUoITEpfSxmdW5jdGlvbigpe3ZhciBlPWY7ZS5mb2N1c0xheWVyJiZlLmZvY3VzTGF5ZXIucmVuZGVyKGUucGFuZWxzLCEwKTt2YXIgcj1NKGUpOyF0LmNvbnRleHRTaG93bigpJiZyPyhlLmNvbnRleHRMYXllciYmZS5jb250ZXh0TGF5ZXIucmVuZGVyKGUucGFuZWxzLCEwKSx0LmNvbnRleHRTaG93bighMCkpOnQuY29udGV4dFNob3duKCkmJiFyJiYoZS5jb250ZXh0TGF5ZXImJmUuY29udGV4dExheWVyLnJlbmRlcihlLnBhbmVscywhMCwhMCksdC5jb250ZXh0U2hvd24oITEpKX0sZnVuY3Rpb24ocil7aWYoZi5mb2N1c0xheWVyLnJlbmRlcihmLnBhbmVscywhMCksZi5waWNrTGF5ZXImJmYucGlja0xheWVyLnJlbmRlcihmLnBhbmVscywhMCksdC5saW5lUGlja0FjdGl2ZSghMCksZSYmZS5maWx0ZXJDaGFuZ2VkKXt2YXIgbj1tLmludmVydCxpPXIubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChuKS5zb3J0KG8uc29ydGVyQXNjKX0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSk7ZS5maWx0ZXJDaGFuZ2VkKGYua2V5LGEuX2luZGV4LGkpfX0pfX0pLGZ9ZnVuY3Rpb24gUyh0KXt0LmNsYXNzZWQoZy5jbi5heGlzRXh0ZW50VGV4dCwhMCkuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5zdHlsZSgiY3Vyc29yIiwiZGVmYXVsdCIpLnN0eWxlKCJ1c2VyLXNlbGVjdCIsIm5vbmUiKX1mdW5jdGlvbiBFKHQsZSl7dmFyIHI9InRvcCI9PT1lPzE6LTEsbj10Kk1hdGguUEkvMTgwO3JldHVybntkaXI6cixkeDpNYXRoLnNpbihuKSxkeTpNYXRoLmNvcyhuKSxkZWdyZWVzOnR9fWZ1bmN0aW9uIEwodCxlKXtmb3IodmFyIHI9ZS5wYW5lbHN8fChlLnBhbmVscz1bXSksbj10LmRhdGEoKSxhPTA7YTxuLmxlbmd0aC0xO2ErKyl7dmFyIGk9clthXXx8KHJbYV09e30pLG89blthXSxzPW5bYSsxXTtpLmRpbTA9byxpLmRpbTE9cyxpLmNhbnZhc1g9by5jYW52YXNYLGkucGFuZWxTaXplWD1zLmNhbnZhc1gtby5jYW52YXNYLGkucGFuZWxTaXplWT1lLm1vZGVsLmNhbnZhc0hlaWdodCxpLnk9MCxpLmNhbnZhc1k9MH19ZnVuY3Rpb24gQyh0LGUpe3JldHVybiBpLnRpY2tUZXh0KHQuX2F4LGUsITEpLnRleHR9ZnVuY3Rpb24gUCh0LGUpe2lmKHQub3JkaW5hbClyZXR1cm4iIjt2YXIgcj10LmRvbWFpblNjYWxlLmRvbWFpbigpLG49cltlP3IubGVuZ3RoLTE6MF07cmV0dXJuIEModC5tb2RlbC5kaW1lbnNpb25zW3QudmlzaWJsZUluZGV4XSxuKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsdSl7dmFyIHk9dC5fZnVsbExheW91dCx3PXkuX3RvcHBhcGVyLGs9eS5fZ2xjb250YWluZXI7IWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWZvcih2YXIgcj0wO3I8dFtlXS5sZW5ndGg7cisrKWZvcih2YXIgbj10W2VdW3JdLnRyYWNlLGE9bi5kaW1lbnNpb25zLG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXS52YWx1ZXMsbD1hW29dLl9heDtsJiYobC5yYW5nZT9sLnJhbmdlPV8obC5yYW5nZVswXSxsLnJhbmdlWzFdKTpsLnJhbmdlPXgocyxuLl9sZW5ndGgpLGwuZHRpY2t8fChsLmR0aWNrPS4wMSooTWF0aC5hYnMobC5yYW5nZVsxXS1sLnJhbmdlWzBdKXx8MSkpLGwudGlja2Zvcm1hdD1hW29dLnRpY2tmb3JtYXQsaS5jYWxjVGlja3MobCksbC5jbGVhblJhbmdlKCkpfX0oZSk7dmFyIE8seixJPShPPSEwLHo9ITEse2xpbmVQaWNrQWN0aXZlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP089ISF0Ok99LGNvbnRleHRTaG93bjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD96PSEhdDp6fX0pLEQ9ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHAodCkudHJhY2UudmlzaWJsZX0pLm1hcChmdW5jdGlvbih0LGUscil7dmFyIGk9cChlKSxzPWkudHJhY2UsbD1kLmNvbnZlcnRUeXBlZEFycmF5KGkubGluZUNvbG9yKSx1PXMubGluZSxoPXtjb2xvcjphKGcuZGVzZWxlY3RlZExpbmVDb2xvcil9LGY9Yy5leHRyYWN0T3B0cyh1KSx2PWYucmV2ZXJzZXNjYWxlP2MuZmxpcFNjYWxlKGkuY3NjYWxlKTppLmNzY2FsZSxtPXMuZG9tYWluLHk9cy5kaW1lbnNpb25zLHg9dC53aWR0aCxfPXMubGFiZWxhbmdsZSx3PXMubGFiZWxzaWRlLGs9cy5sYWJlbGZvbnQsTT1zLnRpY2tmb250LEE9cy5yYW5nZWZvbnQsUz1vLmV4dGVuZERlZXBOb0FycmF5cyh7fSx1LHtjb2xvcjpsLm1hcChuLnNjYWxlLmxpbmVhcigpLmRvbWFpbihiKHt2YWx1ZXM6bCxyYW5nZTpbZi5taW4sZi5tYXhdLF9sZW5ndGg6cy5fbGVuZ3RofSkpKSxibG9ja0xpbmVDb3VudDpnLmJsb2NrTGluZUNvdW50LGNhbnZhc092ZXJkcmFnOmcub3ZlcmRyYWcqZy5jYW52YXNQaXhlbFJhdGlvfSksRT1NYXRoLmZsb29yKHgqKG0ueFsxXS1tLnhbMF0pKSxMPU1hdGguZmxvb3IodC5oZWlnaHQqKG0ueVsxXS1tLnlbMF0pKSxDPXQubWFyZ2lufHx7bDo4MCxyOjgwLHQ6MTAwLGI6ODB9LFA9RSxPPUw7cmV0dXJue2tleTpyLGNvbENvdW50OnkuZmlsdGVyKGQuaXNWaXNpYmxlKS5sZW5ndGgsZGltZW5zaW9uczp5LHRpY2tEaXN0YW5jZTpnLnRpY2tEaXN0YW5jZSx1bml0VG9Db2xvcjpUKHYpLGxpbmVzOlMsZGVzZWxlY3RlZExpbmVzOmgsbGFiZWxBbmdsZTpfLGxhYmVsU2lkZTp3LGxhYmVsRm9udDprLHRpY2tGb250Ok0scmFuZ2VGb250OkEsbGF5b3V0V2lkdGg6eCxsYXlvdXRIZWlnaHQ6dC5oZWlnaHQsZG9tYWluOm0sdHJhbnNsYXRlWDptLnhbMF0qeCx0cmFuc2xhdGVZOnQuaGVpZ2h0LW0ueVsxXSp0LmhlaWdodCxwYWQ6QyxjYW52YXNXaWR0aDpQKmcuY2FudmFzUGl4ZWxSYXRpbysyKlMuY2FudmFzT3ZlcmRyYWcsY2FudmFzSGVpZ2h0Ok8qZy5jYW52YXNQaXhlbFJhdGlvLHdpZHRoOlAsaGVpZ2h0Ok8sY2FudmFzUGl4ZWxSYXRpbzpnLmNhbnZhc1BpeGVsUmF0aW99fS5iaW5kKDAscikpLm1hcChBLmJpbmQoMCxJLHUpKTtrLmVhY2goZnVuY3Rpb24odCxlKXtyZXR1cm4gby5leHRlbmRGbGF0KHQsRFtlXSl9KTt2YXIgUj1rLnNlbGVjdEFsbCgiLmdsLWNhbnZhcyIpLmVhY2goZnVuY3Rpb24odCl7dC52aWV3TW9kZWw9RFswXSx0Lm1vZGVsPXQudmlld01vZGVsP3Qudmlld01vZGVsLm1vZGVsOm51bGx9KSxGPW51bGw7Ui5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQucGlja30pLnN0eWxlKCJwb2ludGVyLWV2ZW50cyIsImF1dG8iKS5vbigibW91c2Vtb3ZlIixmdW5jdGlvbih0KXtpZihJLmxpbmVQaWNrQWN0aXZlKCkmJnQubGluZUxheWVyJiZ1JiZ1LmhvdmVyKXt2YXIgZT1uLmV2ZW50LHI9dGhpcy53aWR0aCxhPXRoaXMuaGVpZ2h0LGk9bi5tb3VzZSh0aGlzKSxvPWlbMF0scz1pWzFdO2lmKG88MHx8czwwfHxvPj1yfHxzPj1hKXJldHVybjt2YXIgbD10LmxpbmVMYXllci5yZWFkUGl4ZWwobyxhLTEtcyksYz0wIT09bFszXSxoPWM/bFsyXSsyNTYqKGxbMV0rMjU2KmxbMF0pOm51bGwsZj17eDpvLHk6cyxjbGllbnRYOmUuY2xpZW50WCxjbGllbnRZOmUuY2xpZW50WSxkYXRhSW5kZXg6dC5tb2RlbC5rZXksY3VydmVOdW1iZXI6aH07aCE9PUYmJihjP3UuaG92ZXIoZik6dS51bmhvdmVyJiZ1LnVuaG92ZXIoZiksRj1oKX19KSxSLnN0eWxlKCJvcGFjaXR5IixmdW5jdGlvbih0KXtyZXR1cm4gdC5waWNrPzA6MX0pLHcuc3R5bGUoImJhY2tncm91bmQiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDApIik7dmFyIEI9dy5zZWxlY3RBbGwoIi4iK2cuY24ucGFyY29vcmRzKS5kYXRhKEQsaCk7Qi5leGl0KCkucmVtb3ZlKCksQi5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZy5jbi5wYXJjb29yZHMsITApLnN0eWxlKCJzaGFwZS1yZW5kZXJpbmciLCJjcmlzcEVkZ2VzIikuc3R5bGUoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpLEIuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrdC5tb2RlbC50cmFuc2xhdGVYKyIsIit0Lm1vZGVsLnRyYW5zbGF0ZVkrIikifSk7dmFyIE49Qi5zZWxlY3RBbGwoIi4iK2cuY24ucGFyY29vcmRzQ29udHJvbFZpZXcpLmRhdGEoZixoKTtOLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChnLmNuLnBhcmNvb3Jkc0NvbnRyb2xWaWV3LCEwKSxOLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3QubW9kZWwucGFkLmwrIiwiK3QubW9kZWwucGFkLnQrIikifSk7dmFyIGo9Ti5zZWxlY3RBbGwoIi4iK2cuY24ueUF4aXMpLmRhdGEoZnVuY3Rpb24odCl7cmV0dXJuIHQuZGltZW5zaW9uc30saCk7ai5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZy5jbi55QXhpcywhMCksTi5lYWNoKGZ1bmN0aW9uKHQpe0woaix0KX0pLFIuZWFjaChmdW5jdGlvbih0KXtpZih0LnZpZXdNb2RlbCl7IXQubGluZUxheWVyfHx1P3QubGluZUxheWVyPW0odGhpcyx0KTp0LmxpbmVMYXllci51cGRhdGUodCksKHQua2V5fHwwPT09dC5rZXkpJiYodC52aWV3TW9kZWxbdC5rZXldPXQubGluZUxheWVyKTt2YXIgZT0hdC5jb250ZXh0fHx1O3QubGluZUxheWVyLnJlbmRlcih0LnZpZXdNb2RlbC5wYW5lbHMsZSl9fSksai5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIit0LnhTY2FsZSh0LnhJbmRleCkrIiwgMCkifSksai5jYWxsKG4uYmVoYXZpb3IuZHJhZygpLm9yaWdpbihmdW5jdGlvbih0KXtyZXR1cm4gdH0pLm9uKCJkcmFnIixmdW5jdGlvbih0KXt2YXIgZT10LnBhcmVudDtJLmxpbmVQaWNrQWN0aXZlKCExKSx0Lng9TWF0aC5tYXgoLWcub3ZlcmRyYWcsTWF0aC5taW4odC5tb2RlbC53aWR0aCtnLm92ZXJkcmFnLG4uZXZlbnQueCkpLHQuY2FudmFzWD10LngqdC5tb2RlbC5jYW52YXNQaXhlbFJhdGlvLGouc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LngtZS54fSkuZWFjaChmdW5jdGlvbihlLHIpe2UueEluZGV4PXIsZS54PXQ9PT1lP2UueDplLnhTY2FsZShlLnhJbmRleCksZS5jYW52YXNYPWUueCplLm1vZGVsLmNhbnZhc1BpeGVsUmF0aW99KSxMKGosZSksai5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDAhPT1NYXRoLmFicyh0LnhJbmRleC1lLnhJbmRleCl9KS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIit0LnhTY2FsZSh0LnhJbmRleCkrIiwgMCkifSksbi5zZWxlY3QodGhpcykuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdC54KyIsIDApIiksai5lYWNoKGZ1bmN0aW9uKHIsbixhKXthPT09dC5wYXJlbnQua2V5JiYoZS5kaW1lbnNpb25zW25dPXIpfSksZS5jb250ZXh0TGF5ZXImJmUuY29udGV4dExheWVyLnJlbmRlcihlLnBhbmVscywhMSwhTShlKSksZS5mb2N1c0xheWVyLnJlbmRlciYmZS5mb2N1c0xheWVyLnJlbmRlcihlLnBhbmVscyl9KS5vbigiZHJhZ2VuZCIsZnVuY3Rpb24odCl7dmFyIGU9dC5wYXJlbnQ7dC54PXQueFNjYWxlKHQueEluZGV4KSx0LmNhbnZhc1g9dC54KnQubW9kZWwuY2FudmFzUGl4ZWxSYXRpbyxMKGosZSksbi5zZWxlY3QodGhpcykuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrdC54KyIsIDApIn0pLGUuY29udGV4dExheWVyJiZlLmNvbnRleHRMYXllci5yZW5kZXIoZS5wYW5lbHMsITEsIU0oZSkpLGUuZm9jdXNMYXllciYmZS5mb2N1c0xheWVyLnJlbmRlcihlLnBhbmVscyksZS5waWNrTGF5ZXImJmUucGlja0xheWVyLnJlbmRlcihlLnBhbmVscywhMCksSS5saW5lUGlja0FjdGl2ZSghMCksdSYmdS5heGVzTW92ZWQmJnUuYXhlc01vdmVkKGUua2V5LGUuZGltZW5zaW9ucy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuY3Jvc3NmaWx0ZXJEaW1lbnNpb25JbmRleH0pKX0pKSxqLmV4aXQoKS5yZW1vdmUoKTt2YXIgVj1qLnNlbGVjdEFsbCgiLiIrZy5jbi5heGlzT3ZlcmxheXMpLmRhdGEoZixoKTtWLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChnLmNuLmF4aXNPdmVybGF5cywhMCksVi5zZWxlY3RBbGwoIi4iK2cuY24uYXhpcykucmVtb3ZlKCk7dmFyIFU9Vi5zZWxlY3RBbGwoIi4iK2cuY24uYXhpcykuZGF0YShmLGgpO1UuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKGcuY24uYXhpcywhMCksVS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQubW9kZWwuaGVpZ2h0L3QubW9kZWwudGlja0Rpc3RhbmNlLHI9dC5kb21haW5TY2FsZSxhPXIuZG9tYWluKCk7bi5zZWxlY3QodGhpcykuY2FsbChuLnN2Zy5heGlzKCkub3JpZW50KCJsZWZ0IikudGlja1NpemUoNCkub3V0ZXJUaWNrU2l6ZSgyKS50aWNrcyhlLHQudGlja0Zvcm1hdCkudGlja1ZhbHVlcyh0Lm9yZGluYWw/YTpudWxsKS50aWNrRm9ybWF0KGZ1bmN0aW9uKGUpe3JldHVybiBkLmlzT3JkaW5hbCh0KT9lOkModC5tb2RlbC5kaW1lbnNpb25zW3QudmlzaWJsZUluZGV4XSxlKX0pLnNjYWxlKHIpKSxsLmZvbnQoVS5zZWxlY3RBbGwoInRleHQiKSx0Lm1vZGVsLnRpY2tGb250KX0pLFUuc2VsZWN0QWxsKCIuZG9tYWluLCAudGljaz5saW5lIikuYXR0cigiZmlsbCIsIm5vbmUiKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoInN0cm9rZS1vcGFjaXR5IiwuMjUpLmF0dHIoInN0cm9rZS13aWR0aCIsIjFweCIpLFUuc2VsZWN0QWxsKCJ0ZXh0Iikuc3R5bGUoInRleHQtc2hhZG93IiwiMXB4IDFweCAxcHggI2ZmZiwgLTFweCAtMXB4IDFweCAjZmZmLCAxcHggLTFweCAxcHggI2ZmZiwgLTFweCAxcHggMXB4ICNmZmYiKS5zdHlsZSgiY3Vyc29yIiwiZGVmYXVsdCIpLnN0eWxlKCJ1c2VyLXNlbGVjdCIsIm5vbmUiKTt2YXIgcT1WLnNlbGVjdEFsbCgiLiIrZy5jbi5heGlzSGVhZGluZykuZGF0YShmLGgpO3EuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKGcuY24uYXhpc0hlYWRpbmcsITApO3ZhciBIPXEuc2VsZWN0QWxsKCIuIitnLmNuLmF4aXNUaXRsZSkuZGF0YShmLGgpO0guZW50ZXIoKS5hcHBlbmQoInRleHQiKS5jbGFzc2VkKGcuY24uYXhpc1RpdGxlLCEwKS5hdHRyKCJ0ZXh0LWFuY2hvciIsIm1pZGRsZSIpLnN0eWxlKCJjdXJzb3IiLCJldy1yZXNpemUiKS5zdHlsZSgidXNlci1zZWxlY3QiLCJub25lIikuc3R5bGUoInBvaW50ZXItZXZlbnRzIiwiYXV0byIpLEgudGV4dChmdW5jdGlvbih0KXtyZXR1cm4gdC5sYWJlbH0pLmVhY2goZnVuY3Rpb24oZSl7dmFyIHI9bi5zZWxlY3QodGhpcyk7bC5mb250KHIsZS5tb2RlbC5sYWJlbEZvbnQpLHMuY29udmVydFRvVHNwYW5zKHIsdCl9KS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3ZhciBlPUUodC5tb2RlbC5sYWJlbEFuZ2xlLHQubW9kZWwubGFiZWxTaWRlKSxyPWcuYXhpc1RpdGxlT2Zmc2V0O3JldHVybihlLmRpcj4wPyIiOiJ0cmFuc2xhdGUoMCwiKygyKnIrdC5tb2RlbC5oZWlnaHQpKyIpIikrInJvdGF0ZSgiK2UuZGVncmVlcysiKXRyYW5zbGF0ZSgiKy1yKmUuZHgrIiwiKy1yKmUuZHkrIikifSkuYXR0cigidGV4dC1hbmNob3IiLGZ1bmN0aW9uKHQpe3ZhciBlPUUodC5tb2RlbC5sYWJlbEFuZ2xlLHQubW9kZWwubGFiZWxTaWRlKTtyZXR1cm4gMipNYXRoLmFicyhlLmR4KT5NYXRoLmFicyhlLmR5KT9lLmRpciplLmR4PDA/InN0YXJ0IjoiZW5kIjoibWlkZGxlIn0pO3ZhciBHPVYuc2VsZWN0QWxsKCIuIitnLmNuLmF4aXNFeHRlbnQpLmRhdGEoZixoKTtHLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChnLmNuLmF4aXNFeHRlbnQsITApO3ZhciBZPUcuc2VsZWN0QWxsKCIuIitnLmNuLmF4aXNFeHRlbnRUb3ApLmRhdGEoZixoKTtZLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChnLmNuLmF4aXNFeHRlbnRUb3AsITApLFkuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDAsIistZy5heGlzRXh0ZW50T2Zmc2V0KyIpIik7dmFyIFc9WS5zZWxlY3RBbGwoIi4iK2cuY24uYXhpc0V4dGVudFRvcFRleHQpLmRhdGEoZixoKTtXLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuY2xhc3NlZChnLmNuLmF4aXNFeHRlbnRUb3BUZXh0LCEwKS5jYWxsKFMpLFcudGV4dChmdW5jdGlvbih0KXtyZXR1cm4gUCh0LCEwKX0pLmVhY2goZnVuY3Rpb24odCl7bC5mb250KG4uc2VsZWN0KHRoaXMpLHQubW9kZWwucmFuZ2VGb250KX0pO3ZhciBYPUcuc2VsZWN0QWxsKCIuIitnLmNuLmF4aXNFeHRlbnRCb3R0b20pLmRhdGEoZixoKTtYLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChnLmNuLmF4aXNFeHRlbnRCb3R0b20sITApLFguYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodC5tb2RlbC5oZWlnaHQrZy5heGlzRXh0ZW50T2Zmc2V0KSsiKSJ9KTt2YXIgWj1YLnNlbGVjdEFsbCgiLiIrZy5jbi5heGlzRXh0ZW50Qm90dG9tVGV4dCkuZGF0YShmLGgpO1ouZW50ZXIoKS5hcHBlbmQoInRleHQiKS5jbGFzc2VkKGcuY24uYXhpc0V4dGVudEJvdHRvbVRleHQsITApLmF0dHIoImR5IiwiMC43NWVtIikuY2FsbChTKSxaLnRleHQoZnVuY3Rpb24odCl7cmV0dXJuIFAodCwhMSl9KS5lYWNoKGZ1bmN0aW9uKHQpe2wuZm9udChuLnNlbGVjdCh0aGlzKSx0Lm1vZGVsLnJhbmdlRm9udCl9KSx2LmVuc3VyZUF4aXNCcnVzaChWKX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2d1cCI6NzE1LCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiOjc0MSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi9heGlzYnJ1c2giOjEwODMsIi4vY29uc3RhbnRzIjoxMDg2LCIuL2hlbHBlcnMiOjEwODgsIi4vbGluZXMiOjEwOTAsImNvbG9yLXJnYmEiOjEyNCxkMzoxNjV9XSwxMDkzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vcGFyY29vcmRzIiksYT10KCIuLi8uLi9saWIvcHJlcGFyZV9yZWdsIiksaT10KCIuL2hlbHBlcnMiKS5pc1Zpc2libGU7ZnVuY3Rpb24gbyh0LGUscil7dmFyIG49ZS5pbmRleE9mKHIpLGE9dC5pbmRleE9mKG4pO3JldHVybi0xPT09YSYmKGErPWUubGVuZ3RoKSxhfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuX2Z1bGxMYXlvdXQ7aWYoYSh0KSl7dmFyIHM9e30sbD17fSxjPXt9LHU9e30saD1yLl9zaXplO2UuZm9yRWFjaChmdW5jdGlvbihlLHIpe3ZhciBuPWVbMF0udHJhY2U7Y1tyXT1uLmluZGV4O3ZhciBhPXVbcl09bi5fZnVsbElucHV0LmluZGV4O3Nbcl09dC5kYXRhW2FdLmRpbWVuc2lvbnMsbFtyXT10LmRhdGFbYV0uZGltZW5zaW9ucy5zbGljZSgpfSk7bih0LGUse3dpZHRoOmgudyxoZWlnaHQ6aC5oLG1hcmdpbjp7dDpoLnQscjpoLnIsYjpoLmIsbDpoLmx9fSx7ZmlsdGVyQ2hhbmdlZDpmdW5jdGlvbihlLG4sYSl7dmFyIGk9bFtlXVtuXSxvPWEubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNsaWNlKCl9KSxzPSJkaW1lbnNpb25zWyIrbisiXS5jb25zdHJhaW50cmFuZ2UiLGg9ci5fdHJhY2VQcmVHVUlbdC5fZnVsbERhdGFbY1tlXV0uX2Z1bGxJbnB1dC51aWRdO2lmKHZvaWQgMD09PWhbc10pe3ZhciBmPWkuY29uc3RyYWludHJhbmdlO2hbc109Znx8bnVsbH12YXIgcD10Ll9mdWxsRGF0YVtjW2VdXS5kaW1lbnNpb25zW25dO28ubGVuZ3RoPygxPT09by5sZW5ndGgmJihvPW9bMF0pLGkuY29uc3RyYWludHJhbmdlPW8scC5jb25zdHJhaW50cmFuZ2U9by5zbGljZSgpLG89W29dKTooZGVsZXRlIGkuY29uc3RyYWludHJhbmdlLGRlbGV0ZSBwLmNvbnN0cmFpbnRyYW5nZSxvPW51bGwpO3ZhciBkPXt9O2Rbc109byx0LmVtaXQoInBsb3RseV9yZXN0eWxlIixbZCxbdVtlXV1dKX0saG92ZXI6ZnVuY3Rpb24oZSl7dC5lbWl0KCJwbG90bHlfaG92ZXIiLGUpfSx1bmhvdmVyOmZ1bmN0aW9uKGUpe3QuZW1pdCgicGxvdGx5X3VuaG92ZXIiLGUpfSxheGVzTW92ZWQ6ZnVuY3Rpb24oZSxyKXt2YXIgbj1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihyLG4pe3JldHVybiBvKHQsZSxyKS1vKHQsZSxuKX19KHIsbFtlXS5maWx0ZXIoaSkpO3NbZV0uc29ydChuKSxsW2VdLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4haSh0KX0pLnNvcnQoZnVuY3Rpb24odCl7cmV0dXJuIGxbZV0uaW5kZXhPZih0KX0pLmZvckVhY2goZnVuY3Rpb24odCl7c1tlXS5zcGxpY2Uoc1tlXS5pbmRleE9mKHQpLDEpLHNbZV0uc3BsaWNlKGxbZV0uaW5kZXhPZih0KSwwLHQpfSksdC5lbWl0KCJwbG90bHlfcmVzdHlsZSIsW3tkaW1lbnNpb25zOltzW2VdXX0sW3VbZV1dXSl9fSl9fX0seyIuLi8uLi9saWIvcHJlcGFyZV9yZWdsIjo3MzAsIi4vaGVscGVycyI6MTA4OCwiLi9wYXJjb29yZHMiOjEwOTJ9XSwxMDk0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL3Bsb3RzL2RvbWFpbiIpLmF0dHJpYnV0ZXMsaT10KCIuLi8uLi9wbG90cy9mb250X2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyIpLHM9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxsPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS50ZXh0dGVtcGxhdGVBdHRycyxjPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LHU9aSh7ZWRpdFR5cGU6InBsb3QiLGFycmF5T2s6ITAsY29sb3JFZGl0VHlwZToicGxvdCJ9KTtlLmV4cG9ydHM9e2xhYmVsczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxsYWJlbDA6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn0sZGxhYmVsOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MSxlZGl0VHlwZToiY2FsYyJ9LHZhbHVlczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxtYXJrZXI6e2NvbG9yczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxsaW5lOntjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6by5kZWZhdWx0TGluZSxhcnJheU9rOiEwLGVkaXRUeXBlOiJzdHlsZSJ9LHdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxhcnJheU9rOiEwLGVkaXRUeXBlOiJzdHlsZSJ9LGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSx0ZXh0Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToicGxvdCJ9LGhvdmVydGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITAsZWRpdFR5cGU6InN0eWxlIn0sc2NhbGVncm91cDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJjYWxjIn0sdGV4dGluZm86e3ZhbFR5cGU6ImZsYWdsaXN0IixmbGFnczpbImxhYmVsIiwidGV4dCIsInZhbHVlIiwicGVyY2VudCJdLGV4dHJhczpbIm5vbmUiXSxlZGl0VHlwZToiY2FsYyJ9LGhvdmVyaW5mbzpjKHt9LG4uaG92ZXJpbmZvLHtmbGFnczpbImxhYmVsIiwidGV4dCIsInZhbHVlIiwicGVyY2VudCIsIm5hbWUiXX0pLGhvdmVydGVtcGxhdGU6cyh7fSx7a2V5czpbImxhYmVsIiwiY29sb3IiLCJ2YWx1ZSIsInBlcmNlbnQiLCJ0ZXh0Il19KSx0ZXh0dGVtcGxhdGU6bCh7ZWRpdFR5cGU6InBsb3QifSx7a2V5czpbImxhYmVsIiwiY29sb3IiLCJ2YWx1ZSIsInBlcmNlbnQiLCJ0ZXh0Il19KSx0ZXh0cG9zaXRpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImluc2lkZSIsIm91dHNpZGUiLCJhdXRvIiwibm9uZSJdLGRmbHQ6ImF1dG8iLGFycmF5T2s6ITAsZWRpdFR5cGU6InBsb3QifSx0ZXh0Zm9udDpjKHt9LHUse30pLGluc2lkZXRleHRvcmllbnRhdGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiaG9yaXpvbnRhbCIsInJhZGlhbCIsInRhbmdlbnRpYWwiLCJhdXRvIl0sZGZsdDoiYXV0byIsZWRpdFR5cGU6InBsb3QifSxpbnNpZGV0ZXh0Zm9udDpjKHt9LHUse30pLG91dHNpZGV0ZXh0Zm9udDpjKHt9LHUse30pLGF1dG9tYXJnaW46e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6InBsb3QifSx0aXRsZTp7dGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJwbG90In0sZm9udDpjKHt9LHUse30pLHBvc2l0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AgbGVmdCIsInRvcCBjZW50ZXIiLCJ0b3AgcmlnaHQiLCJtaWRkbGUgY2VudGVyIiwiYm90dG9tIGxlZnQiLCJib3R0b20gY2VudGVyIiwiYm90dG9tIHJpZ2h0Il0sZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToicGxvdCJ9LGRvbWFpbjphKHtuYW1lOiJwaWUiLHRyYWNlOiEwLGVkaXRUeXBlOiJjYWxjIn0pLGhvbGU6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDowLGVkaXRUeXBlOiJjYWxjIn0sc29ydDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9LGRpcmVjdGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiY2xvY2t3aXNlIiwiY291bnRlcmNsb2Nrd2lzZSJdLGRmbHQ6ImNvdW50ZXJjbG9ja3dpc2UiLGVkaXRUeXBlOiJjYWxjIn0scm90YXRpb246e3ZhbFR5cGU6Im51bWJlciIsbWluOi0zNjAsbWF4OjM2MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxwdWxsOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MCxhcnJheU9rOiEwLGVkaXRUeXBlOiJjYWxjIn0sX2RlcHJlY2F0ZWQ6e3RpdGxlOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSx0aXRsZWZvbnQ6Yyh7fSx1LHt9KSx0aXRsZXBvc2l0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AgbGVmdCIsInRvcCBjZW50ZXIiLCJ0b3AgcmlnaHQiLCJtaWRkbGUgY2VudGVyIiwiYm90dG9tIGxlZnQiLCJib3R0b20gY2VudGVyIiwiYm90dG9tIHJpZ2h0Il0sZWRpdFR5cGU6ImNhbGMifX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyI6NTkxLCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyI6NzkxLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDF9XSwxMDk1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIik7ci5uYW1lPSJwaWUiLHIucGxvdD1mdW5jdGlvbih0LGUsYSxpKXtuLnBsb3RCYXNlUGxvdChyLm5hbWUsdCxlLGEsaSl9LHIuY2xlYW49ZnVuY3Rpb24odCxlLGEsaSl7bi5jbGVhbkJhc2VQbG90KHIubmFtZSx0LGUsYSxpKX19LHsiLi4vLi4vcGxvdHMvcGxvdHMiOjgyNn1dLDEwOTY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZmFzdC1pc251bWVyaWMiKSxhPXQoInRpbnljb2xvcjIiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPXt9O2Z1bmN0aW9uIHModCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7cmV0dXJuISFlJiYoISEoZT1hKGUpKS5pc1ZhbGlkKCkmJihlPWkuYWRkT3BhY2l0eShlLGUuZ2V0QWxwaGEoKSksdFtyXXx8KHRbcl09ZSksZSkpfX1mdW5jdGlvbiBsKHQsZSl7dmFyIHIsbj1KU09OLnN0cmluZ2lmeSh0KSxpPWVbbl07aWYoIWkpe2ZvcihpPXQuc2xpY2UoKSxyPTA7cjx0Lmxlbmd0aDtyKyspaS5wdXNoKGEodFtyXSkubGlnaHRlbigyMCkudG9IZXhTdHJpbmcoKSk7Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKylpLnB1c2goYSh0W3JdKS5kYXJrZW4oMjApLnRvSGV4U3RyaW5nKCkpO2Vbbl09aX1yZXR1cm4gaX1lLmV4cG9ydHM9e2NhbGM6ZnVuY3Rpb24odCxlKXt2YXIgcixhLGk9W10sbz10Ll9mdWxsTGF5b3V0LGw9by5oaWRkZW5sYWJlbHN8fFtdLGM9ZS5sYWJlbHMsdT1lLm1hcmtlci5jb2xvcnN8fFtdLGg9ZS52YWx1ZXMsZj1lLl9sZW5ndGgscD1lLl9oYXNWYWx1ZXMmJmY7aWYoZS5kbGFiZWwpZm9yKGM9bmV3IEFycmF5KGYpLHI9MDtyPGY7cisrKWNbcl09U3RyaW5nKGUubGFiZWwwK3IqZS5kbGFiZWwpO3ZhciBkPXt9LGc9cyhvWyJfIitlLnR5cGUrImNvbG9ybWFwIl0pLHY9MCxtPSExO2ZvcihyPTA7cjxmO3IrKyl7dmFyIHkseCxiO2lmKHApe2lmKHk9aFtyXSwhbih5KSljb250aW51ZTtpZigoeT0reSk8MCljb250aW51ZX1lbHNlIHk9MTt2b2lkIDAhPT0oeD1jW3JdKSYmIiIhPT14fHwoeD1yKTt2YXIgXz1kW3g9U3RyaW5nKHgpXTt2b2lkIDA9PT1fPyhkW3hdPWkubGVuZ3RoLChiPS0xIT09bC5pbmRleE9mKHgpKXx8KHYrPXkpLGkucHVzaCh7djp5LGxhYmVsOngsY29sb3I6Zyh1W3JdLHgpLGk6cixwdHM6W3JdLGhpZGRlbjpifSkpOihtPSEwLChhPWlbX10pLnYrPXksYS5wdHMucHVzaChyKSxhLmhpZGRlbnx8KHYrPXkpLCExPT09YS5jb2xvciYmdVtyXSYmKGEuY29sb3I9Zyh1W3JdLHgpKSl9cmV0dXJuKCJmdW5uZWxhcmVhIj09PWUudHlwZT9tOmUuc29ydCkmJmkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBlLnYtdC52fSksaVswXSYmKGlbMF0udlRvdGFsPXYpLGl9LGNyb3NzVHJhY2VDYWxjOmZ1bmN0aW9uKHQsZSl7dmFyIHI9KGV8fHt9KS50eXBlO3J8fChyPSJwaWUiKTt2YXIgbj10Ll9mdWxsTGF5b3V0LGE9dC5jYWxjZGF0YSxpPW5bcisiY29sb3J3YXkiXSxzPW5bIl8iK3IrImNvbG9ybWFwIl07blsiZXh0ZW5kIityKyJjb2xvcnMiXSYmKGk9bChpLG8pKTtmb3IodmFyIGM9MCx1PTA7dTxhLmxlbmd0aDt1Kyspe3ZhciBoPWFbdV07aWYoaFswXS50cmFjZS50eXBlPT09cilmb3IodmFyIGY9MDtmPGgubGVuZ3RoO2YrKyl7dmFyIHA9aFtmXTshMT09PXAuY29sb3ImJihzW3AubGFiZWxdP3AuY29sb3I9c1twLmxhYmVsXTooc1twLmxhYmVsXT1wLmNvbG9yPWlbYyVpLmxlbmd0aF0sYysrKSl9fX0sbWFrZVB1bGxDb2xvckZuOnMsZ2VuZXJhdGVFeHRlbmRlZENvbG9yczpsfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsImZhc3QtaXNudW1lcmljIjoyMjgsdGlueWNvbG9yMjo1MzZ9XSwxMDk3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4vYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuZGVmYXVsdHMscz10KCIuLi9iYXIvZGVmYXVsdHMiKS5oYW5kbGVUZXh0O2Z1bmN0aW9uIGwodCxlKXt2YXIgcj1BcnJheS5pc0FycmF5KHQpLGk9YS5pc0FycmF5T3JUeXBlZEFycmF5KGUpLG89TWF0aC5taW4ocj90Lmxlbmd0aDoxLzAsaT9lLmxlbmd0aDoxLzApO2lmKGlzRmluaXRlKG8pfHwobz0wKSxvJiZpKXtmb3IodmFyIHMsbD0wO2w8bztsKyspe3ZhciBjPWVbbF07aWYobihjKSYmYz4wKXtzPSEwO2JyZWFrfX1zfHwobz0wKX1yZXR1cm57aGFzTGFiZWxzOnIsaGFzVmFsdWVzOmksbGVuOm99fWUuZXhwb3J0cz17aGFuZGxlTGFiZWxzQW5kVmFsdWVzOmwsc3VwcGx5RGVmYXVsdHM6ZnVuY3Rpb24odCxlLHIsbil7ZnVuY3Rpb24gYyhyLG4pe3JldHVybiBhLmNvZXJjZSh0LGUsaSxyLG4pfXZhciB1PWwoYygibGFiZWxzIiksYygidmFsdWVzIikpLGg9dS5sZW47aWYoZS5faGFzTGFiZWxzPXUuaGFzTGFiZWxzLGUuX2hhc1ZhbHVlcz11Lmhhc1ZhbHVlcywhZS5faGFzTGFiZWxzJiZlLl9oYXNWYWx1ZXMmJihjKCJsYWJlbDAiKSxjKCJkbGFiZWwiKSksaCl7ZS5fbGVuZ3RoPWgsYygibWFya2VyLmxpbmUud2lkdGgiKSYmYygibWFya2VyLmxpbmUuY29sb3IiKSxjKCJtYXJrZXIuY29sb3JzIiksYygic2NhbGVncm91cCIpO3ZhciBmLHA9YygidGV4dCIpLGQ9YygidGV4dHRlbXBsYXRlIik7aWYoZHx8KGY9YygidGV4dGluZm8iLEFycmF5LmlzQXJyYXkocCk/InRleHQrcGVyY2VudCI6InBlcmNlbnQiKSksYygiaG92ZXJ0ZXh0IiksYygiaG92ZXJ0ZW1wbGF0ZSIpLGR8fGYmJiJub25lIiE9PWYpe3ZhciBnPWMoInRleHRwb3NpdGlvbiIpO3ModCxlLG4sYyxnLHttb2R1bGVIYXNTZWxlY3RlZDohMSxtb2R1bGVIYXNVbnNlbGVjdGVkOiExLG1vZHVsZUhhc0NvbnN0cmFpbjohMSxtb2R1bGVIYXNDbGlwb25heGlzOiExLG1vZHVsZUhhc1RleHRhbmdsZTohMSxtb2R1bGVIYXNJbnNpZGVhbmNob3I6ITF9KSwoQXJyYXkuaXNBcnJheShnKXx8ImF1dG8iPT09Z3x8Im91dHNpZGUiPT09ZykmJmMoImF1dG9tYXJnaW4iKSwoImluc2lkZSI9PT1nfHwiYXV0byI9PT1nfHxBcnJheS5pc0FycmF5KGcpKSYmYygiaW5zaWRldGV4dG9yaWVudGF0aW9uIil9byhlLG4sYyk7dmFyIHY9YygiaG9sZSIpO2lmKGMoInRpdGxlLnRleHQiKSl7dmFyIG09YygidGl0bGUucG9zaXRpb24iLHY/Im1pZGRsZSBjZW50ZXIiOiJ0b3AgY2VudGVyIik7dnx8Im1pZGRsZSBjZW50ZXIiIT09bXx8KGUudGl0bGUucG9zaXRpb249InRvcCBjZW50ZXIiKSxhLmNvZXJjZUZvbnQoYywidGl0bGUuZm9udCIsbi5mb250KX1jKCJzb3J0IiksYygiZGlyZWN0aW9uIiksYygicm90YXRpb24iKSxjKCJwdWxsIil9ZWxzZSBlLnZpc2libGU9ITF9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4uL2Jhci9kZWZhdWx0cyI6ODYwLCIuL2F0dHJpYnV0ZXMiOjEwOTQsImZhc3QtaXNudW1lcmljIjoyMjh9XSwxMDk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvZngvaGVscGVycyIpLmFwcGVuZEFycmF5TXVsdGlQb2ludFZhbHVlcztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj17Y3VydmVOdW1iZXI6ZS5pbmRleCxwb2ludE51bWJlcnM6dC5wdHMsZGF0YTplLl9pbnB1dCxmdWxsRGF0YTplLGxhYmVsOnQubGFiZWwsY29sb3I6dC5jb2xvcix2YWx1ZTp0LnYscGVyY2VudDp0LnBlcmNlbnQsdGV4dDp0LnRleHQsdjp0LnZ9O3JldHVybiAxPT09dC5wdHMubGVuZ3RoJiYoci5wb2ludE51bWJlcj1yLmk9dC5wdHNbMF0pLG4ocixlLHQucHRzKSwiZnVubmVsYXJlYSI9PT1lLnR5cGUmJihkZWxldGUgci52LGRlbGV0ZSByLmkpLHJ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngvaGVscGVycyI6NjI3fV0sMTA5OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKTtyLmZvcm1hdFBpZVBlcmNlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMTAwKnQpLnRvUHJlY2lzaW9uKDMpO3JldHVybi0xIT09ci5sYXN0SW5kZXhPZigiLiIpJiYocj1yLnJlcGxhY2UoL1suXT8wKyQvLCIiKSksbi5udW1TZXBhcmF0ZShyLGUpKyIlIn0sci5mb3JtYXRQaWVWYWx1ZT1mdW5jdGlvbih0LGUpe3ZhciByPXQudG9QcmVjaXNpb24oMTApO3JldHVybi0xIT09ci5sYXN0SW5kZXhPZigiLiIpJiYocj1yLnJlcGxhY2UoL1suXT8wKyQvLCIiKSksbi5udW1TZXBhcmF0ZShyLGUpfSxyLmdldEZpcnN0RmlsbGVkPWZ1bmN0aW9uKHQsZSl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49dFtlW3JdXTtpZihufHwwPT09bnx8IiI9PT1uKXJldHVybiBufX0sci5jYXN0T3B0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/ci5nZXRGaXJzdEZpbGxlZCh0LGUpOnR8fHZvaWQgMH19LHsiLi4vLi4vbGliIjo3MTd9XSwxMTAwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuc3VwcGx5RGVmYXVsdHMsc3VwcGx5TGF5b3V0RGVmYXVsdHM6dCgiLi9sYXlvdXRfZGVmYXVsdHMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxjYWxjOnQoIi4vY2FsYyIpLmNhbGMsY3Jvc3NUcmFjZUNhbGM6dCgiLi9jYWxjIikuY3Jvc3NUcmFjZUNhbGMscGxvdDp0KCIuL3Bsb3QiKS5wbG90LHN0eWxlOnQoIi4vc3R5bGUiKSxzdHlsZU9uZTp0KCIuL3N0eWxlX29uZSIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJwaWUiLGJhc2VQbG90TW9kdWxlOnQoIi4vYmFzZV9wbG90IiksY2F0ZWdvcmllczpbInBpZS1saWtlIiwicGllIiwic2hvd0xlZ2VuZCJdLG1ldGE6e319fSx7Ii4vYXR0cmlidXRlcyI6MTA5NCwiLi9iYXNlX3Bsb3QiOjEwOTUsIi4vY2FsYyI6MTA5NiwiLi9kZWZhdWx0cyI6MTA5NywiLi9sYXlvdXRfYXR0cmlidXRlcyI6MTEwMSwiLi9sYXlvdXRfZGVmYXVsdHMiOjExMDIsIi4vcGxvdCI6MTEwMywiLi9zdHlsZSI6MTEwNCwiLi9zdHlsZV9vbmUiOjExMDV9XSwxMTAxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17aGlkZGVubGFiZWxzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHBpZWNvbG9yd2F5Ont2YWxUeXBlOiJjb2xvcmxpc3QiLGVkaXRUeXBlOiJjYWxjIn0sZXh0ZW5kcGllY29sb3JzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn19fSx7fV0sMTEwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKHIsaSl7cmV0dXJuIG4uY29lcmNlKHQsZSxhLHIsaSl9cigiaGlkZGVubGFiZWxzIikscigicGllY29sb3J3YXkiLGUuY29sb3J3YXkpLHIoImV4dGVuZHBpZWNvbG9ycyIpfX0seyIuLi8uLi9saWIiOjcxNywiLi9sYXlvdXRfYXR0cmlidXRlcyI6MTEwMX1dLDExMDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL3Bsb3RzL3Bsb3RzIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2Z4Iiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIikscz10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxsPXQoIi4uLy4uL2xpYiIpLGM9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksdT10KCIuLi9iYXIvdW5pZm9ybV90ZXh0IiksaD11LnJlY29yZE1pblRleHRTaXplLGY9dS5jbGVhck1pblRleHRTaXplLHA9dCgiLi9oZWxwZXJzIiksZD10KCIuL2V2ZW50X2RhdGEiKSxnPXQoIi4uLy4uL2xpYiIpLmlzVmFsaWRUZXh0VmFsdWU7ZnVuY3Rpb24gdih0LGUscil7dmFyIGE9clswXSxvPWEudHJhY2Uscz1hLmN4LGM9YS5jeTsiX2hhc0hvdmVyTGFiZWwiaW4gb3x8KG8uX2hhc0hvdmVyTGFiZWw9ITEpLCJfaGFzSG92ZXJFdmVudCJpbiBvfHwoby5faGFzSG92ZXJFdmVudD0hMSksdC5vbigibW91c2VvdmVyIixmdW5jdGlvbih0KXt2YXIgcj1lLl9mdWxsTGF5b3V0LHU9ZS5fZnVsbERhdGFbby5pbmRleF07aWYoIWUuX2RyYWdnaW5nJiYhMSE9PXIuaG92ZXJtb2RlKXt2YXIgaD11LmhvdmVyaW5mbztpZihBcnJheS5pc0FycmF5KGgpJiYoaD1pLmNhc3RIb3ZlcmluZm8oe2hvdmVyaW5mbzpbcC5jYXN0T3B0aW9uKGgsdC5wdHMpXSxfbW9kdWxlOm8uX21vZHVsZX0sciwwKSksImFsbCI9PT1oJiYoaD0ibGFiZWwrdGV4dCt2YWx1ZStwZXJjZW50K25hbWUiKSx1LmhvdmVydGVtcGxhdGV8fCJub25lIiE9PWgmJiJza2lwIiE9PWgmJmgpe3ZhciBmPXQuckluc2NyaWJlZHx8MCxnPXMrdC5weG1pZFswXSooMS1mKSx2PWMrdC5weG1pZFsxXSooMS1mKSxtPXIuc2VwYXJhdG9ycyx5PVtdO2lmKGgmJi0xIT09aC5pbmRleE9mKCJsYWJlbCIpJiZ5LnB1c2godC5sYWJlbCksdC50ZXh0PXAuY2FzdE9wdGlvbih1LmhvdmVydGV4dHx8dS50ZXh0LHQucHRzKSxoJiYtMSE9PWguaW5kZXhPZigidGV4dCIpKXt2YXIgeD10LnRleHQ7bC5pc1ZhbGlkVGV4dFZhbHVlKHgpJiZ5LnB1c2goeCl9dC52YWx1ZT10LnYsdC52YWx1ZUxhYmVsPXAuZm9ybWF0UGllVmFsdWUodC52LG0pLGgmJi0xIT09aC5pbmRleE9mKCJ2YWx1ZSIpJiZ5LnB1c2godC52YWx1ZUxhYmVsKSx0LnBlcmNlbnQ9dC52L2EudlRvdGFsLHQucGVyY2VudExhYmVsPXAuZm9ybWF0UGllUGVyY2VudCh0LnBlcmNlbnQsbSksaCYmLTEhPT1oLmluZGV4T2YoInBlcmNlbnQiKSYmeS5wdXNoKHQucGVyY2VudExhYmVsKTt2YXIgYj11LmhvdmVybGFiZWwsXz1iLmZvbnQ7aS5sb25lSG92ZXIoe3RyYWNlOm8seDA6Zy1mKmEucix4MTpnK2YqYS5yLHk6dix0ZXh0Onkuam9pbigiPGJyPiIpLG5hbWU6dS5ob3ZlcnRlbXBsYXRlfHwtMSE9PWguaW5kZXhPZigibmFtZSIpP3UubmFtZTp2b2lkIDAsaWRlYWxBbGlnbjp0LnB4bWlkWzBdPDA/ImxlZnQiOiJyaWdodCIsY29sb3I6cC5jYXN0T3B0aW9uKGIuYmdjb2xvcix0LnB0cyl8fHQuY29sb3IsYm9yZGVyQ29sb3I6cC5jYXN0T3B0aW9uKGIuYm9yZGVyY29sb3IsdC5wdHMpLGZvbnRGYW1pbHk6cC5jYXN0T3B0aW9uKF8uZmFtaWx5LHQucHRzKSxmb250U2l6ZTpwLmNhc3RPcHRpb24oXy5zaXplLHQucHRzKSxmb250Q29sb3I6cC5jYXN0T3B0aW9uKF8uY29sb3IsdC5wdHMpLG5hbWVMZW5ndGg6cC5jYXN0T3B0aW9uKGIubmFtZWxlbmd0aCx0LnB0cyksdGV4dEFsaWduOnAuY2FzdE9wdGlvbihiLmFsaWduLHQucHRzKSxob3ZlcnRlbXBsYXRlOnAuY2FzdE9wdGlvbih1LmhvdmVydGVtcGxhdGUsdC5wdHMpLGhvdmVydGVtcGxhdGVMYWJlbHM6dCxldmVudERhdGE6W2QodCx1KV19LHtjb250YWluZXI6ci5faG92ZXJsYXllci5ub2RlKCksb3V0ZXJDb250YWluZXI6ci5fcGFwZXIubm9kZSgpLGdkOmV9KSxvLl9oYXNIb3ZlckxhYmVsPSEwfW8uX2hhc0hvdmVyRXZlbnQ9ITAsZS5lbWl0KCJwbG90bHlfaG92ZXIiLHtwb2ludHM6W2QodCx1KV0sZXZlbnQ6bi5ldmVudH0pfX0pLHQub24oIm1vdXNlb3V0IixmdW5jdGlvbih0KXt2YXIgcj1lLl9mdWxsTGF5b3V0LGE9ZS5fZnVsbERhdGFbby5pbmRleF0scz1uLnNlbGVjdCh0aGlzKS5kYXR1bSgpO28uX2hhc0hvdmVyRXZlbnQmJih0Lm9yaWdpbmFsRXZlbnQ9bi5ldmVudCxlLmVtaXQoInBsb3RseV91bmhvdmVyIix7cG9pbnRzOltkKHMsYSldLGV2ZW50Om4uZXZlbnR9KSxvLl9oYXNIb3ZlckV2ZW50PSExKSxvLl9oYXNIb3ZlckxhYmVsJiYoaS5sb25lVW5ob3ZlcihyLl9ob3ZlcmxheWVyLm5vZGUoKSksby5faGFzSG92ZXJMYWJlbD0hMSl9KSx0Lm9uKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIHI9ZS5fZnVsbExheW91dCxhPWUuX2Z1bGxEYXRhW28uaW5kZXhdO2UuX2RyYWdnaW5nfHwhMT09PXIuaG92ZXJtb2RlfHwoZS5faG92ZXJkYXRhPVtkKHQsYSldLGkuY2xpY2soZSxuLmV2ZW50KSl9KX1mdW5jdGlvbiBtKHQsZSxyKXt2YXIgbj1wLmNhc3RPcHRpb24odC5pbnNpZGV0ZXh0Zm9udC5jb2xvcixlLnB0cyk7IW4mJnQuX2lucHV0LnRleHRmb250JiYobj1wLmNhc3RPcHRpb24odC5faW5wdXQudGV4dGZvbnQuY29sb3IsZS5wdHMpKTt2YXIgYT1wLmNhc3RPcHRpb24odC5pbnNpZGV0ZXh0Zm9udC5mYW1pbHksZS5wdHMpfHxwLmNhc3RPcHRpb24odC50ZXh0Zm9udC5mYW1pbHksZS5wdHMpfHxyLmZhbWlseSxpPXAuY2FzdE9wdGlvbih0Lmluc2lkZXRleHRmb250LnNpemUsZS5wdHMpfHxwLmNhc3RPcHRpb24odC50ZXh0Zm9udC5zaXplLGUucHRzKXx8ci5zaXplO3JldHVybntjb2xvcjpufHxvLmNvbnRyYXN0KGUuY29sb3IpLGZhbWlseTphLHNpemU6aX19ZnVuY3Rpb24geSh0LGUpe2Zvcih2YXIgcixuLGE9MDthPHQubGVuZ3RoO2ErKylpZigobj0ocj10W2FdWzBdKS50cmFjZSkudGl0bGUudGV4dCl7dmFyIGk9bi50aXRsZS50ZXh0O24uX21ldGEmJihpPWwudGVtcGxhdGVTdHJpbmcoaSxuLl9tZXRhKSk7dmFyIG89cy50ZXN0ZXIuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZGF0YS1ub3RleCIsMSkudGV4dChpKS5jYWxsKHMuZm9udCxuLnRpdGxlLmZvbnQpLmNhbGwoYy5jb252ZXJ0VG9Uc3BhbnMsZSksdT1zLmJCb3goby5ub2RlKCksITApO3IudGl0bGVCb3g9e3dpZHRoOnUud2lkdGgsaGVpZ2h0OnUuaGVpZ2h0fSxvLnJlbW92ZSgpfX1mdW5jdGlvbiB4KHQsZSxyKXt2YXIgbixhPU1hdGguc3FydCh0LndpZHRoKnQud2lkdGgrdC5oZWlnaHQqdC5oZWlnaHQpLGk9ZS5oYWxmYW5nbGUsbz1lLm1pZGFuZ2xlLHM9ZS5yaW5nLGw9ZS5ySW5zY3JpYmVkLGM9ci5yfHxlLnJweDEsdT1yLnRyYWNlLmluc2lkZXRleHRvcmllbnRhdGlvbixoPSJob3Jpem9udGFsIj09PXUsZj0idGFuZ2VudGlhbCI9PT11LHA9InJhZGlhbCI9PT11LGQ9ImF1dG8iPT09dSxnPTE9PT1zJiZNYXRoLmFicyhlLnN0YXJ0YW5nbGUtZS5zdG9wYW5nbGUpPT09MipNYXRoLlBJLHY9W107aWYoIWQpe3ZhciBtLHk9ZnVuY3Rpb24ocixhKXtpZihmdW5jdGlvbih0LGUpe3ZhciByPXQuc3RhcnRhbmdsZSxuPXQuc3RvcGFuZ2xlO3JldHVybiByPmUmJmU+bnx8cjxlJiZlPG59KGUscikpe3ZhciBpPU1hdGguYWJzKHItZS5zdGFydGFuZ2xlKSxvPU1hdGguYWJzKHItZS5zdG9wYW5nbGUpLGw9aTxvP2k6bzsobj0idGFuIj09PWE/Xyh0LGMscyxsLDApOmIodCxjLHMsbCxNYXRoLlBJLzIpKS50ZXh0UG9zQW5nbGU9cix2LnB1c2gobil9fTtpZihofHxmKXtmb3IobT00O20+PS00O20tPTIpeShNYXRoLlBJKm0sInRhbiIpO2ZvcihtPTQ7bT49LTQ7bS09Mil5KE1hdGguUEkqKG0rMSksInRhbiIpfWlmKGh8fHApe2ZvcihtPTQ7bT49LTQ7bS09Mil5KE1hdGguUEkqKG0rMS41KSwicmFkIik7Zm9yKG09NDttPj0tNDttLT0yKXkoTWF0aC5QSSoobSsuNSksInJhZCIpfX1pZihnfHxkfHxoKXtpZigobj17c2NhbGU6bCpjKjIvYSxyQ2VudGVyOjEtbCxyb3RhdGU6MH0pLnRleHRQb3NBbmdsZT0oZS5zdGFydGFuZ2xlK2Uuc3RvcGFuZ2xlKS8yLG4uc2NhbGU+PTEpcmV0dXJuIG47di5wdXNoKG4pfShkfHxwKSYmKChuPWIodCxjLHMsaSxvKSkudGV4dFBvc0FuZ2xlPShlLnN0YXJ0YW5nbGUrZS5zdG9wYW5nbGUpLzIsdi5wdXNoKG4pKSwoZHx8ZikmJigobj1fKHQsYyxzLGksbykpLnRleHRQb3NBbmdsZT0oZS5zdGFydGFuZ2xlK2Uuc3RvcGFuZ2xlKS8yLHYucHVzaChuKSk7Zm9yKHZhciB4PTAsdz0wLGs9MDtrPHYubGVuZ3RoO2srKyl7dmFyIFQ9dltrXS5zY2FsZTtpZih3PFQmJih3PVQseD1rKSwhZCYmdz49MSlicmVha31yZXR1cm4gdlt4XX1mdW5jdGlvbiBiKHQsZSxyLG4sYSl7dmFyIGk9dC53aWR0aC90LmhlaWdodCxvPVQoaSxuLGUscik7cmV0dXJue3NjYWxlOjIqby90LmhlaWdodCxyQ2VudGVyOncoaSxvL2UpLHJvdGF0ZTprKGEpfX1mdW5jdGlvbiBfKHQsZSxyLG4sYSl7dmFyIGk9dC5oZWlnaHQvdC53aWR0aCxvPVQoaSxuLGUscik7cmV0dXJue3NjYWxlOjIqby90LndpZHRoLHJDZW50ZXI6dyhpLG8vZSkscm90YXRlOmsoYStNYXRoLlBJLzIpfX1mdW5jdGlvbiB3KHQsZSl7cmV0dXJuIE1hdGguY29zKGUpLXQqZX1mdW5jdGlvbiBrKHQpe3JldHVybigxODAvTWF0aC5QSSp0KzcyMCklMTgwLTkwfWZ1bmN0aW9uIFQodCxlLHIsbil7dmFyIGE9dCsxLygyKk1hdGgudGFuKGUpKTtyZXR1cm4gcipNYXRoLm1pbigxLyhNYXRoLnNxcnQoYSphKy41KSthKSxuLyhNYXRoLnNxcnQodCp0K24vMikrdCkpfWZ1bmN0aW9uIE0odCxlKXtyZXR1cm4gdC52IT09ZS52VG90YWx8fGUudHJhY2UuaG9sZT9NYXRoLm1pbigxLygxKzEvTWF0aC5zaW4odC5oYWxmYW5nbGUpKSx0LnJpbmcvMik6MX1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9ZS5weG1pZFswXSxuPWUucHhtaWRbMV0sYT10LndpZHRoLzIsaT10LmhlaWdodC8yO3JldHVybiByPDAmJihhKj0tMSksbjwwJiYoaSo9LTEpLHtzY2FsZToxLHJDZW50ZXI6MSxyb3RhdGU6MCx4OmErTWF0aC5hYnMoaSkqKGE+MD8xOi0xKS8yLHk6aS8oMStyKnIvKG4qbikpLG91dHNpZGU6ITB9fWZ1bmN0aW9uIFModCxlKXt2YXIgcixuLGEsaT10LnRyYWNlLG89e3g6dC5jeCx5OnQuY3l9LHM9e3R4OjAsdHk6MH07cy50eSs9aS50aXRsZS5mb250LnNpemUsYT1MKGkpLC0xIT09aS50aXRsZS5wb3NpdGlvbi5pbmRleE9mKCJ0b3AiKT8oby55LT0oMSthKSp0LnIscy50eS09dC50aXRsZUJveC5oZWlnaHQpOi0xIT09aS50aXRsZS5wb3NpdGlvbi5pbmRleE9mKCJib3R0b20iKSYmKG8ueSs9KDErYSkqdC5yKTt2YXIgbCxjLHU9KGw9dC5yLGM9dC50cmFjZS5hc3BlY3RyYXRpbyxsLyh2b2lkIDA9PT1jPzE6YykpLGg9ZS53KihpLmRvbWFpbi54WzFdLWkuZG9tYWluLnhbMF0pLzI7cmV0dXJuLTEhPT1pLnRpdGxlLnBvc2l0aW9uLmluZGV4T2YoImxlZnQiKT8oaCs9dSxvLngtPSgxK2EpKnUscy50eCs9dC50aXRsZUJveC53aWR0aC8yKTotMSE9PWkudGl0bGUucG9zaXRpb24uaW5kZXhPZigiY2VudGVyIik/aCo9MjotMSE9PWkudGl0bGUucG9zaXRpb24uaW5kZXhPZigicmlnaHQiKSYmKGgrPXUsby54Kz0oMSthKSp1LHMudHgtPXQudGl0bGVCb3gud2lkdGgvMikscj1oL3QudGl0bGVCb3gud2lkdGgsbj1FKHQsZSkvdC50aXRsZUJveC5oZWlnaHQse3g6by54LHk6by55LHNjYWxlOk1hdGgubWluKHIsbiksdHg6cy50eCx0eTpzLnR5fX1mdW5jdGlvbiBFKHQsZSl7dmFyIHI9dC50cmFjZSxuPWUuaCooci5kb21haW4ueVsxXS1yLmRvbWFpbi55WzBdKTtyZXR1cm4gTWF0aC5taW4odC50aXRsZUJveC5oZWlnaHQsbi8yKX1mdW5jdGlvbiBMKHQpe3ZhciBlLHI9dC5wdWxsO2lmKCFyKXJldHVybiAwO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHI9MCxlPTA7ZTx0LnB1bGwubGVuZ3RoO2UrKyl0LnB1bGxbZV0+ciYmKHI9dC5wdWxsW2VdKTtyZXR1cm4gcn1mdW5jdGlvbiBDKHQsZSl7Zm9yKHZhciByPVtdLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGE9dFtuXVswXSxpPWEudHJhY2Usbz1pLmRvbWFpbixzPWUudyooby54WzFdLW8ueFswXSksbD1lLmgqKG8ueVsxXS1vLnlbMF0pO2kudGl0bGUudGV4dCYmIm1pZGRsZSBjZW50ZXIiIT09aS50aXRsZS5wb3NpdGlvbiYmKGwtPUUoYSxlKSk7dmFyIGM9cy8yLHU9bC8yOyJmdW5uZWxhcmVhIiE9PWkudHlwZXx8aS5zY2FsZWdyb3VwfHwodS89aS5hc3BlY3RyYXRpbyksYS5yPU1hdGgubWluKGMsdSkvKDErTChpKSksYS5jeD1lLmwrZS53KihpLmRvbWFpbi54WzFdK2kuZG9tYWluLnhbMF0pLzIsYS5jeT1lLnQrZS5oKigxLWkuZG9tYWluLnlbMF0pLWwvMixpLnRpdGxlLnRleHQmJi0xIT09aS50aXRsZS5wb3NpdGlvbi5pbmRleE9mKCJib3R0b20iKSYmKGEuY3ktPUUoYSxlKSksaS5zY2FsZWdyb3VwJiYtMT09PXIuaW5kZXhPZihpLnNjYWxlZ3JvdXApJiZyLnB1c2goaS5zY2FsZWdyb3VwKX0hZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbixhLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIG89MS8wLHM9ZVtpXTtmb3Iobj0wO248dC5sZW5ndGg7bisrKWlmKHI9dFtuXVswXSwoYT1yLnRyYWNlKS5zY2FsZWdyb3VwPT09cyl7dmFyIGw7aWYoInBpZSI9PT1hLnR5cGUpbD1yLnIqci5yO2Vsc2UgaWYoImZ1bm5lbGFyZWEiPT09YS50eXBlKXt2YXIgYyx1O2EuYXNwZWN0cmF0aW8+MT8oYz1yLnIsdT1jL2EuYXNwZWN0cmF0aW8pOih1PXIucixjPXUqYS5hc3BlY3RyYXRpbyksYyo9KDErYS5iYXNlcmF0aW8pLzIsbD1jKnV9bz1NYXRoLm1pbihvLGwvci52VG90YWwpfWZvcihuPTA7bjx0Lmxlbmd0aDtuKyspaWYocj10W25dWzBdLChhPXIudHJhY2UpLnNjYWxlZ3JvdXA9PT1zKXt2YXIgaD1vKnIudlRvdGFsOyJmdW5uZWxhcmVhIj09PWEudHlwZSYmKGgvPSgxK2EuYmFzZXJhdGlvKS8yLGgvPWEuYXNwZWN0cmF0aW8pLHIucj1NYXRoLnNxcnQoaCl9fX0odCxyKX1mdW5jdGlvbiBQKHQsZSl7cmV0dXJuW3QqTWF0aC5zaW4oZSksLXQqTWF0aC5jb3MoZSldfWZ1bmN0aW9uIE8odCxlLHIpe3ZhciBuPXQuX2Z1bGxMYXlvdXQsYT1yLnRyYWNlLGk9YS50ZXh0dGVtcGxhdGUsbz1hLnRleHRpbmZvO2lmKCFpJiZvJiYibm9uZSIhPT1vKXt2YXIgcyxjPW8uc3BsaXQoIisiKSx1PWZ1bmN0aW9uKHQpe3JldHVybi0xIT09Yy5pbmRleE9mKHQpfSxoPXUoImxhYmVsIiksZj11KCJ0ZXh0IiksZD11KCJ2YWx1ZSIpLHY9dSgicGVyY2VudCIpLG09bi5zZXBhcmF0b3JzO2lmKHM9aD9bZS5sYWJlbF06W10sZil7dmFyIHk9cC5nZXRGaXJzdEZpbGxlZChhLnRleHQsZS5wdHMpO2coeSkmJnMucHVzaCh5KX1kJiZzLnB1c2gocC5mb3JtYXRQaWVWYWx1ZShlLnYsbSkpLHYmJnMucHVzaChwLmZvcm1hdFBpZVBlcmNlbnQoZS52L3IudlRvdGFsLG0pKSxlLnRleHQ9cy5qb2luKCI8YnI+Iil9aWYoaSl7dmFyIHg9bC5jYXN0T3B0aW9uKGEsZS5pLCJ0ZXh0dGVtcGxhdGUiKTtpZih4KXt2YXIgYj1mdW5jdGlvbih0KXtyZXR1cm57bGFiZWw6dC5sYWJlbCx2YWx1ZTp0LnYsdmFsdWVMYWJlbDpwLmZvcm1hdFBpZVZhbHVlKHQudixuLnNlcGFyYXRvcnMpLHBlcmNlbnQ6dC52L3IudlRvdGFsLHBlcmNlbnRMYWJlbDpwLmZvcm1hdFBpZVBlcmNlbnQodC52L3IudlRvdGFsLG4uc2VwYXJhdG9ycyksY29sb3I6dC5jb2xvcix0ZXh0OnQudGV4dCxjdXN0b21kYXRhOmwuY2FzdE9wdGlvbihhLHQuaSwiY3VzdG9tZGF0YSIpfX0oZSksXz1wLmdldEZpcnN0RmlsbGVkKGEudGV4dCxlLnB0cyk7KGcoXyl8fCIiPT09XykmJihiLnRleHQ9XyksZS50ZXh0PWwudGV4dHRlbXBsYXRlU3RyaW5nKHgsYix0Ll9mdWxsTGF5b3V0Ll9kM2xvY2FsZSxiLGEuX21ldGF8fHt9KX1lbHNlIGUudGV4dD0iIn19ZnVuY3Rpb24geih0LGUpe3ZhciByPXQucm90YXRlLG49dC5zY2FsZTtuPjEmJihuPTEpO3ZhciBhPXIqTWF0aC5QSS8xODAsaT1NYXRoLmNvcyhhKSxvPU1hdGguc2luKGEpLHM9KGUubGVmdCtlLnJpZ2h0KS8yLGw9KGUudG9wK2UuYm90dG9tKS8yO3QudGV4dFg9cyppLWwqbyx0LnRleHRZPXMqbytsKmksdC5ub0NlbnRlcj0hMH1lLmV4cG9ydHM9e3Bsb3Q6ZnVuY3Rpb24odCxlKXt2YXIgcj10Ll9mdWxsTGF5b3V0LGk9ci5fc2l6ZTtmKCJwaWUiLHIpLHkoZSx0KSxDKGUsaSk7dmFyIHU9bC5tYWtlVHJhY2VHcm91cHMoci5fcGllbGF5ZXIsZSwidHJhY2UiKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB1PW4uc2VsZWN0KHRoaXMpLGY9ZVswXSxkPWYudHJhY2U7IWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhPXRbMF0saT1hLnIsbz1hLnRyYWNlLHM9by5yb3RhdGlvbipNYXRoLlBJLzE4MCxsPTIqTWF0aC5QSS9hLnZUb3RhbCxjPSJweDAiLHU9InB4MSI7aWYoImNvdW50ZXJjbG9ja3dpc2UiPT09by5kaXJlY3Rpb24pe2ZvcihlPTA7ZTx0Lmxlbmd0aCYmdFtlXS5oaWRkZW47ZSsrKTtpZihlPT09dC5sZW5ndGgpcmV0dXJuO3MrPWwqdFtlXS52LGwqPS0xLGM9InB4MSIsdT0icHgwIn1mb3Iobj1QKGkscyksZT0wO2U8dC5sZW5ndGg7ZSsrKShyPXRbZV0pLmhpZGRlbnx8KHJbY109bixyLnN0YXJ0YW5nbGU9cyxzKz1sKnIudi8yLHIucHhtaWQ9UChpLHMpLHIubWlkYW5nbGU9cyxzKz1sKnIudi8yLG49UChpLHMpLHIuc3RvcGFuZ2xlPXMsclt1XT1uLHIubGFyZ2VBcmM9ci52PmEudlRvdGFsLzI/MTowLHIuaGFsZmFuZ2xlPU1hdGguUEkqTWF0aC5taW4oci52L2EudlRvdGFsLC41KSxyLnJpbmc9MS1vLmhvbGUsci5ySW5zY3JpYmVkPU0ocixhKSl9KGUpLHUuYXR0cigic3Ryb2tlLWxpbmVqb2luIiwicm91bmQiKSx1LmVhY2goZnVuY3Rpb24oKXt2YXIgZz1uLnNlbGVjdCh0aGlzKS5zZWxlY3RBbGwoImcuc2xpY2UiKS5kYXRhKGUpO2cuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJzbGljZSIsITApLGcuZXhpdCgpLnJlbW92ZSgpO3ZhciB5PVtbW10sW11dLFtbXSxbXV1dLGI9ITE7Zy5lYWNoKGZ1bmN0aW9uKGEsaSl7aWYoYS5oaWRkZW4pbi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJwYXRoLGciKS5yZW1vdmUoKTtlbHNle2EucG9pbnROdW1iZXI9YS5pLGEuY3VydmVOdW1iZXI9ZC5pbmRleCx5W2EucHhtaWRbMV08MD8wOjFdW2EucHhtaWRbMF08MD8wOjFdLnB1c2goYSk7dmFyIG89Zi5jeCx1PWYuY3ksZz1uLnNlbGVjdCh0aGlzKSxfPWcuc2VsZWN0QWxsKCJwYXRoLnN1cmZhY2UiKS5kYXRhKFthXSk7aWYoXy5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmNsYXNzZWQoInN1cmZhY2UiLCEwKS5zdHlsZSh7InBvaW50ZXItZXZlbnRzIjoiYWxsIn0pLGcuY2FsbCh2LHQsZSksZC5wdWxsKXt2YXIgdz0rcC5jYXN0T3B0aW9uKGQucHVsbCxhLnB0cyl8fDA7dz4wJiYobys9dyphLnB4bWlkWzBdLHUrPXcqYS5weG1pZFsxXSl9YS5jeEZpbmFsPW8sYS5jeUZpbmFsPXU7dmFyIGs9ZC5ob2xlO2lmKGEudj09PWYudlRvdGFsKXt2YXIgVD0iTSIrKG8rYS5weDBbMF0pKyIsIisodSthLnB4MFsxXSkrQyhhLnB4MCxhLnB4bWlkLCEwLDEpK0MoYS5weG1pZCxhLnB4MCwhMCwxKSsiWiI7az9fLmF0dHIoImQiLCJNIisobytrKmEucHgwWzBdKSsiLCIrKHUrayphLnB4MFsxXSkrQyhhLnB4MCxhLnB4bWlkLCExLGspK0MoYS5weG1pZCxhLnB4MCwhMSxrKSsiWiIrVCk6Xy5hdHRyKCJkIixUKX1lbHNle3ZhciBNPUMoYS5weDAsYS5weDEsITAsMSk7aWYoayl7dmFyIFM9MS1rO18uYXR0cigiZCIsIk0iKyhvK2sqYS5weDFbMF0pKyIsIisodStrKmEucHgxWzFdKStDKGEucHgxLGEucHgwLCExLGspKyJsIitTKmEucHgwWzBdKyIsIitTKmEucHgwWzFdK00rIloiKX1lbHNlIF8uYXR0cigiZCIsIk0iK28rIiwiK3UrImwiK2EucHgwWzBdKyIsIithLnB4MFsxXStNKyJaIil9Tyh0LGEsZik7dmFyIEU9cC5jYXN0T3B0aW9uKGQudGV4dHBvc2l0aW9uLGEucHRzKSxMPWcuc2VsZWN0QWxsKCJnLnNsaWNldGV4dCIpLmRhdGEoYS50ZXh0JiYibm9uZSIhPT1FP1swXTpbXSk7TC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInNsaWNldGV4dCIsITApLEwuZXhpdCgpLnJlbW92ZSgpLEwuZWFjaChmdW5jdGlvbigpe3ZhciBnPWwuZW5zdXJlU2luZ2xlKG4uc2VsZWN0KHRoaXMpLCJ0ZXh0IiwiIixmdW5jdGlvbih0KXt0LmF0dHIoImRhdGEtbm90ZXgiLDEpfSksdj1sLmVuc3VyZVVuaWZvcm1Gb250U2l6ZSh0LCJvdXRzaWRlIj09PUU/ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXAuY2FzdE9wdGlvbih0Lm91dHNpZGV0ZXh0Zm9udC5jb2xvcixlLnB0cyl8fHAuY2FzdE9wdGlvbih0LnRleHRmb250LmNvbG9yLGUucHRzKXx8ci5jb2xvcixhPXAuY2FzdE9wdGlvbih0Lm91dHNpZGV0ZXh0Zm9udC5mYW1pbHksZS5wdHMpfHxwLmNhc3RPcHRpb24odC50ZXh0Zm9udC5mYW1pbHksZS5wdHMpfHxyLmZhbWlseSxpPXAuY2FzdE9wdGlvbih0Lm91dHNpZGV0ZXh0Zm9udC5zaXplLGUucHRzKXx8cC5jYXN0T3B0aW9uKHQudGV4dGZvbnQuc2l6ZSxlLnB0cyl8fHIuc2l6ZTtyZXR1cm57Y29sb3I6bixmYW1pbHk6YSxzaXplOml9fShkLGEsci5mb250KTptKGQsYSxyLmZvbnQpKTtnLnRleHQoYS50ZXh0KS5hdHRyKHtjbGFzczoic2xpY2V0ZXh0Iix0cmFuc2Zvcm06IiIsInRleHQtYW5jaG9yIjoibWlkZGxlIn0pLmNhbGwocy5mb250LHYpLmNhbGwoYy5jb252ZXJ0VG9Uc3BhbnMsdCk7dmFyIHksXz1zLmJCb3goZy5ub2RlKCkpO2lmKCJvdXRzaWRlIj09PUUpeT1BKF8sYSk7ZWxzZSBpZih5PXgoXyxhLGYpLCJhdXRvIj09PUUmJnkuc2NhbGU8MSl7dmFyIHc9bC5lbnN1cmVVbmlmb3JtRm9udFNpemUodCxkLm91dHNpZGV0ZXh0Zm9udCk7Zy5jYWxsKHMuZm9udCx3KSx5PUEoXz1zLmJCb3goZy5ub2RlKCkpLGEpfXZhciBrPXkudGV4dFBvc0FuZ2xlLFQ9dm9pZCAwPT09az9hLnB4bWlkOlAoZi5yLGspO2lmKHkudGFyZ2V0WD1vK1RbMF0qeS5yQ2VudGVyKyh5Lnh8fDApLHkudGFyZ2V0WT11K1RbMV0qeS5yQ2VudGVyKyh5Lnl8fDApLHooeSxfKSx5Lm91dHNpZGUpe3ZhciBNPXkudGFyZ2V0WTthLnlMYWJlbE1pbj1NLV8uaGVpZ2h0LzIsYS55TGFiZWxNaWQ9TSxhLnlMYWJlbE1heD1NK18uaGVpZ2h0LzIsYS5sYWJlbEV4dHJhWD0wLGEubGFiZWxFeHRyYVk9MCxiPSEwfXkuZm9udFNpemU9di5zaXplLGgoZC50eXBlLHksciksZVtpXS50cmFuc2Zvcm09eSxnLmF0dHIoInRyYW5zZm9ybSIsbC5nZXRUZXh0VHJhbnNmb3JtKHkpKX0pfWZ1bmN0aW9uIEModCxlLHIsbil7dmFyIGk9biooZVswXS10WzBdKSxvPW4qKGVbMV0tdFsxXSk7cmV0dXJuImEiK24qZi5yKyIsIituKmYucisiIDAgIithLmxhcmdlQXJjKyhyPyIgMSAiOiIgMCAiKStpKyIsIitvfX0pO3ZhciBfPW4uc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy50aXRsZXRleHQiKS5kYXRhKGQudGl0bGUudGV4dD9bMF06W10pO2lmKF8uZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ0aXRsZXRleHQiLCEwKSxfLmV4aXQoKS5yZW1vdmUoKSxfLmVhY2goZnVuY3Rpb24oKXt2YXIgZSxyPWwuZW5zdXJlU2luZ2xlKG4uc2VsZWN0KHRoaXMpLCJ0ZXh0IiwiIixmdW5jdGlvbih0KXt0LmF0dHIoImRhdGEtbm90ZXgiLDEpfSksYT1kLnRpdGxlLnRleHQ7ZC5fbWV0YSYmKGE9bC50ZW1wbGF0ZVN0cmluZyhhLGQuX21ldGEpKSxyLnRleHQoYSkuYXR0cih7Y2xhc3M6InRpdGxldGV4dCIsdHJhbnNmb3JtOiIiLCJ0ZXh0LWFuY2hvciI6Im1pZGRsZSJ9KS5jYWxsKHMuZm9udCxkLnRpdGxlLmZvbnQpLmNhbGwoYy5jb252ZXJ0VG9Uc3BhbnMsdCksZT0ibWlkZGxlIGNlbnRlciI9PT1kLnRpdGxlLnBvc2l0aW9uP2Z1bmN0aW9uKHQpe3ZhciBlPU1hdGguc3FydCh0LnRpdGxlQm94LndpZHRoKnQudGl0bGVCb3gud2lkdGgrdC50aXRsZUJveC5oZWlnaHQqdC50aXRsZUJveC5oZWlnaHQpO3JldHVybnt4OnQuY3gseTp0LmN5LHNjYWxlOnQudHJhY2UuaG9sZSp0LnIqMi9lLHR4OjAsdHk6LXQudGl0bGVCb3guaGVpZ2h0LzIrdC50cmFjZS50aXRsZS5mb250LnNpemV9fShmKTpTKGYsaSksci5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitlLngrIiwiK2UueSsiKSIrKGUuc2NhbGU8MT8ic2NhbGUoIitlLnNjYWxlKyIpIjoiIikrInRyYW5zbGF0ZSgiK2UudHgrIiwiK2UudHkrIikiKX0pLGImJmZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLGksbyxzLGwsYyx1LGgsZixkLGc7ZnVuY3Rpb24gdih0LGUpe3JldHVybiB0LnB4bWlkWzFdLWUucHhtaWRbMV19ZnVuY3Rpb24gbSh0LGUpe3JldHVybiBlLnB4bWlkWzFdLXQucHhtaWRbMV19ZnVuY3Rpb24geSh0LHIpe3J8fChyPXt9KTt2YXIgYSxjLHUsZixkLGcsdj1yLmxhYmVsRXh0cmFZKyhuP3IueUxhYmVsTWF4OnIueUxhYmVsTWluKSxtPW4/dC55TGFiZWxNaW46dC55TGFiZWxNYXgseT1uP3QueUxhYmVsTWF4OnQueUxhYmVsTWluLHg9dC5jeUZpbmFsK28odC5weDBbMV0sdC5weDFbMV0pLGI9di1tO2lmKGIqbD4wJiYodC5sYWJlbEV4dHJhWT1iKSxBcnJheS5pc0FycmF5KGUucHVsbCkpZm9yKGM9MDtjPGgubGVuZ3RoO2MrKykodT1oW2NdKT09PXR8fChwLmNhc3RPcHRpb24oZS5wdWxsLHQucHRzKXx8MCk+PShwLmNhc3RPcHRpb24oZS5wdWxsLHUucHRzKXx8MCl8fCgodC5weG1pZFsxXS11LnB4bWlkWzFdKSpsPjA/KGY9dS5jeUZpbmFsK28odS5weDBbMV0sdS5weDFbMV0pLChiPWYtbS10LmxhYmVsRXh0cmFZKSpsPjAmJih0LmxhYmVsRXh0cmFZKz1iKSk6KHkrdC5sYWJlbEV4dHJhWS14KSpsPjAmJihhPTMqcypNYXRoLmFicyhjLWguaW5kZXhPZih0KSksZD11LmN4RmluYWwraSh1LnB4MFswXSx1LnB4MVswXSksKGc9ZCthLSh0LmN4RmluYWwrdC5weG1pZFswXSktdC5sYWJlbEV4dHJhWCkqcz4wJiYodC5sYWJlbEV4dHJhWCs9ZykpKX1mb3Iobj0wO248MjtuKyspZm9yKGE9bj92Om0sbz1uP01hdGgubWF4Ok1hdGgubWluLGw9bj8xOi0xLHI9MDtyPDI7cisrKXtmb3IoaT1yP01hdGgubWF4Ok1hdGgubWluLHM9cj8xOi0xLChjPXRbbl1bcl0pLnNvcnQoYSksdT10WzEtbl1bcl0saD11LmNvbmNhdChjKSxkPVtdLGY9MDtmPGMubGVuZ3RoO2YrKyl2b2lkIDAhPT1jW2ZdLnlMYWJlbE1pZCYmZC5wdXNoKGNbZl0pO2ZvcihnPSExLGY9MDtuJiZmPHUubGVuZ3RoO2YrKylpZih2b2lkIDAhPT11W2ZdLnlMYWJlbE1pZCl7Zz11W2ZdO2JyZWFrfWZvcihmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciB4PWYmJmRbZi0xXTtnJiYhZiYmKHg9ZykseShkW2ZdLHgpfX19KHksZCksZnVuY3Rpb24odCxlKXt0LmVhY2goZnVuY3Rpb24odCl7dmFyIHI9bi5zZWxlY3QodGhpcyk7aWYodC5sYWJlbEV4dHJhWHx8dC5sYWJlbEV4dHJhWSl7dmFyIGE9ci5zZWxlY3QoImcuc2xpY2V0ZXh0IHRleHQiKTt0LnRyYW5zZm9ybS50YXJnZXRYKz10LmxhYmVsRXh0cmFYLHQudHJhbnNmb3JtLnRhcmdldFkrPXQubGFiZWxFeHRyYVksYS5hdHRyKCJ0cmFuc2Zvcm0iLGwuZ2V0VGV4dFRyYW5zZm9ybSh0LnRyYW5zZm9ybSkpO3ZhciBpPXQuY3hGaW5hbCt0LnB4bWlkWzBdLHM9dC5jeUZpbmFsK3QucHhtaWRbMV0sYz0iTSIraSsiLCIrcyx1PSh0LnlMYWJlbE1heC10LnlMYWJlbE1pbikqKHQucHhtaWRbMF08MD8tMToxKS80O2lmKHQubGFiZWxFeHRyYVgpe3ZhciBoPXQubGFiZWxFeHRyYVgqdC5weG1pZFsxXS90LnB4bWlkWzBdLGY9dC55TGFiZWxNaWQrdC5sYWJlbEV4dHJhWS0odC5jeUZpbmFsK3QucHhtaWRbMV0pO01hdGguYWJzKGgpPk1hdGguYWJzKGYpP2MrPSJsIitmKnQucHhtaWRbMF0vdC5weG1pZFsxXSsiLCIrZisiSCIrKGkrdC5sYWJlbEV4dHJhWCt1KTpjKz0ibCIrdC5sYWJlbEV4dHJhWCsiLCIraCsidiIrKGYtaCkrImgiK3V9ZWxzZSBjKz0iViIrKHQueUxhYmVsTWlkK3QubGFiZWxFeHRyYVkpKyJoIit1O2wuZW5zdXJlU2luZ2xlKHIsInBhdGgiLCJ0ZXh0bGluZSIpLmNhbGwoby5zdHJva2UsZS5vdXRzaWRldGV4dGZvbnQuY29sb3IpLmF0dHIoeyJzdHJva2Utd2lkdGgiOk1hdGgubWluKDIsZS5vdXRzaWRldGV4dGZvbnQuc2l6ZS84KSxkOmMsZmlsbDoibm9uZSJ9KX1lbHNlIHIuc2VsZWN0KCJwYXRoLnRleHRsaW5lIikucmVtb3ZlKCl9KX0oZyxkKSxiJiZkLmF1dG9tYXJnaW4pe3ZhciB3PXMuYkJveCh1Lm5vZGUoKSksaz1kLmRvbWFpbixUPWkudyooay54WzFdLWsueFswXSksTT1pLmgqKGsueVsxXS1rLnlbMF0pLEU9KC41KlQtZi5yKS9pLncsTD0oLjUqTS1mLnIpL2kuaDthLmF1dG9NYXJnaW4odCwicGllLiIrZC51aWQrIi5hdXRvbWFyZ2luIix7eGw6ay54WzBdLUUseHI6ay54WzFdK0UseWI6ay55WzBdLUwseXQ6ay55WzFdK0wsbDpNYXRoLm1heChmLmN4LWYuci13LmxlZnQsMCkscjpNYXRoLm1heCh3LnJpZ2h0LShmLmN4K2YuciksMCksYjpNYXRoLm1heCh3LmJvdHRvbS0oZi5jeStmLnIpLDApLHQ6TWF0aC5tYXgoZi5jeS1mLnItdy50b3AsMCkscGFkOjV9KX19KX0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt1LnNlbGVjdEFsbCgidHNwYW4iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bi5zZWxlY3QodGhpcyk7dC5hdHRyKCJkeSIpJiZ0LmF0dHIoImR5Iix0LmF0dHIoImR5IikpfSl9LDApfSxmb3JtYXRTbGljZUxhYmVsOk8sdHJhbnNmb3JtSW5zaWRlVGV4dDp4LGRldGVybWluZUluc2lkZVRleHRGb250Om0scG9zaXRpb25UaXRsZU91dHNpZGU6UyxwcmVyZW5kZXJUaXRsZXM6eSxsYXlvdXRBcmVhczpDLGF0dGFjaEZ4SGFuZGxlcnM6dixjb21wdXRlVHJhbnNmb3JtOnp9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyI6NzQxLCIuLi8uLi9wbG90cy9wbG90cyI6ODI2LCIuLi9iYXIvdW5pZm9ybV90ZXh0Ijo4NzIsIi4vZXZlbnRfZGF0YSI6MTA5OCwiLi9oZWxwZXJzIjoxMDk5LGQzOjE2NX1dLDExMDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4vc3R5bGVfb25lIiksaT10KCIuLi9iYXIvdW5pZm9ybV90ZXh0IikucmVzaXplVGV4dDtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5fZnVsbExheW91dC5fcGllbGF5ZXIuc2VsZWN0QWxsKCIudHJhY2UiKTtpKHQsZSwicGllIiksZS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0udHJhY2Uscj1uLnNlbGVjdCh0aGlzKTtyLnN0eWxlKHtvcGFjaXR5OmUub3BhY2l0eX0pLHIuc2VsZWN0QWxsKCJwYXRoLnN1cmZhY2UiKS5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLmNhbGwoYSx0LGUpfSl9KX19LHsiLi4vYmFyL3VuaWZvcm1fdGV4dCI6ODcyLCIuL3N0eWxlX29uZSI6MTEwNSxkMzoxNjV9XSwxMTA1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxhPXQoIi4vaGVscGVycyIpLmNhc3RPcHRpb247ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1yLm1hcmtlci5saW5lLG89YShpLmNvbG9yLGUucHRzKXx8bi5kZWZhdWx0TGluZSxzPWEoaS53aWR0aCxlLnB0cyl8fDA7dC5zdHlsZSgic3Ryb2tlLXdpZHRoIixzKS5jYWxsKG4uZmlsbCxlLmNvbG9yKS5jYWxsKG4uc3Ryb2tlLG8pfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4vaGVscGVycyI6MTA5OX1dLDExMDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPXt4Om4ueCx5Om4ueSx4eTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxpbmRpY2VzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHhib3VuZHM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0seWJvdW5kczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx0ZXh0Om4udGV4dCxtYXJrZXI6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsYXJyYXlPazohMSxlZGl0VHlwZToiY2FsYyJ9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxLGFycmF5T2s6ITEsZWRpdFR5cGU6ImNhbGMifSxibGVuZDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDpudWxsLGVkaXRUeXBlOiJjYWxjIn0sc2l6ZW1pbjp7dmFsVHlwZToibnVtYmVyIixtaW46LjEsbWF4OjIsZGZsdDouNSxlZGl0VHlwZToiY2FsYyJ9LHNpemVtYXg6e3ZhbFR5cGU6Im51bWJlciIsbWluOi4xLGRmbHQ6MjAsZWRpdFR5cGU6ImNhbGMifSxib3JkZXI6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsYXJyYXlPazohMSxlZGl0VHlwZToiY2FsYyJ9LGFyZWFyYXRpbzp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn0sdHJhbnNmb3Jtczp2b2lkIDB9fSx7Ii4uL3NjYXR0ZXIvYXR0cmlidXRlcyI6MTEyMH1dLDExMDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtcG9pbnRjbG91ZDJkIiksYT10KCIuLi8uLi9saWIvc3RyMnJnYmFycmF5IiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXV0b3JhbmdlIikuZmluZEV4dHJlbWVzLG89dCgiLi4vc2NhdHRlci9nZXRfdHJhY2VfY29sb3IiKTtmdW5jdGlvbiBzKHQsZSl7dGhpcy5zY2VuZT10LHRoaXMudWlkPWUsdGhpcy50eXBlPSJwb2ludGNsb3VkIix0aGlzLnBpY2tYRGF0YT1bXSx0aGlzLnBpY2tZRGF0YT1bXSx0aGlzLnhEYXRhPVtdLHRoaXMueURhdGE9W10sdGhpcy50ZXh0TGFiZWxzPVtdLHRoaXMuY29sb3I9InJnYigwLCAwLCAwKSIsdGhpcy5uYW1lPSIiLHRoaXMuaG92ZXJpbmZvPSJhbGwiLHRoaXMuaWRUb0luZGV4PW5ldyBJbnQzMkFycmF5KDApLHRoaXMuYm91bmRzPVswLDAsMCwwXSx0aGlzLnBvaW50Y2xvdWRPcHRpb25zPXtwb3NpdGlvbnM6bmV3IEZsb2F0MzJBcnJheSgwKSxpZFRvSW5kZXg6dGhpcy5pZFRvSW5kZXgsc2l6ZW1pbjouNSxzaXplbWF4OjEyLGNvbG9yOlswLDAsMCwxXSxhcmVhUmF0aW86MSxib3JkZXJDb2xvcjpbMCwwLDAsMV19LHRoaXMucG9pbnRjbG91ZD1uKHQuZ2xwbG90LHRoaXMucG9pbnRjbG91ZE9wdGlvbnMpLHRoaXMucG9pbnRjbG91ZC5fdHJhY2U9dGhpc312YXIgbD1zLnByb3RvdHlwZTtsLmhhbmRsZVBpY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5pZFRvSW5kZXhbdC5wb2ludElkXTtyZXR1cm57dHJhY2U6dGhpcyxkYXRhQ29vcmQ6dC5kYXRhQ29vcmQsdHJhY2VDb29yZDp0aGlzLnBpY2tYWURhdGE/W3RoaXMucGlja1hZRGF0YVsyKmVdLHRoaXMucGlja1hZRGF0YVsyKmUrMV1dOlt0aGlzLnBpY2tYRGF0YVtlXSx0aGlzLnBpY2tZRGF0YVtlXV0sdGV4dExhYmVsOkFycmF5LmlzQXJyYXkodGhpcy50ZXh0TGFiZWxzKT90aGlzLnRleHRMYWJlbHNbZV06dGhpcy50ZXh0TGFiZWxzLGNvbG9yOnRoaXMuY29sb3IsbmFtZTp0aGlzLm5hbWUscG9pbnRJbmRleDplLGhvdmVyaW5mbzp0aGlzLmhvdmVyaW5mb319LGwudXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuaW5kZXg9dC5pbmRleCx0aGlzLnRleHRMYWJlbHM9dC50ZXh0LHRoaXMubmFtZT10Lm5hbWUsdGhpcy5ob3ZlcmluZm89dC5ob3ZlcmluZm8sdGhpcy5ib3VuZHM9WzEvMCwxLzAsLTEvMCwtMS8wXSx0aGlzLnVwZGF0ZUZhc3QodCksdGhpcy5jb2xvcj1vKHQse30pfSxsLnVwZGF0ZUZhc3Q9ZnVuY3Rpb24odCl7dmFyIGUscixuLG8scyxsLGM9dGhpcy54RGF0YT10aGlzLnBpY2tYRGF0YT10LngsdT10aGlzLnlEYXRhPXRoaXMucGlja1lEYXRhPXQueSxoPXRoaXMucGlja1hZRGF0YT10Lnh5LGY9dC54Ym91bmRzJiZ0Lnlib3VuZHMscD10LmluZGljZXMsZD10aGlzLmJvdW5kcztpZihoKXtpZihuPWgsZT1oLmxlbmd0aD4+PjEsZilkWzBdPXQueGJvdW5kc1swXSxkWzJdPXQueGJvdW5kc1sxXSxkWzFdPXQueWJvdW5kc1swXSxkWzNdPXQueWJvdW5kc1sxXTtlbHNlIGZvcihsPTA7bDxlO2wrKylvPW5bMipsXSxzPW5bMipsKzFdLG88ZFswXSYmKGRbMF09byksbz5kWzJdJiYoZFsyXT1vKSxzPGRbMV0mJihkWzFdPXMpLHM+ZFszXSYmKGRbM109cyk7aWYocClyPXA7ZWxzZSBmb3Iocj1uZXcgSW50MzJBcnJheShlKSxsPTA7bDxlO2wrKylyW2xdPWx9ZWxzZSBmb3IoZT1jLmxlbmd0aCxuPW5ldyBGbG9hdDMyQXJyYXkoMiplKSxyPW5ldyBJbnQzMkFycmF5KGUpLGw9MDtsPGU7bCsrKW89Y1tsXSxzPXVbbF0scltsXT1sLG5bMipsXT1vLG5bMipsKzFdPXMsbzxkWzBdJiYoZFswXT1vKSxvPmRbMl0mJihkWzJdPW8pLHM8ZFsxXSYmKGRbMV09cykscz5kWzNdJiYoZFszXT1zKTt0aGlzLmlkVG9JbmRleD1yLHRoaXMucG9pbnRjbG91ZE9wdGlvbnMuaWRUb0luZGV4PXIsdGhpcy5wb2ludGNsb3VkT3B0aW9ucy5wb3NpdGlvbnM9bjt2YXIgZz1hKHQubWFya2VyLmNvbG9yKSx2PWEodC5tYXJrZXIuYm9yZGVyLmNvbG9yKSxtPXQub3BhY2l0eSp0Lm1hcmtlci5vcGFjaXR5O2dbM10qPW0sdGhpcy5wb2ludGNsb3VkT3B0aW9ucy5jb2xvcj1nO3ZhciB5PXQubWFya2VyLmJsZW5kO2lmKG51bGw9PT15KXt5PWMubGVuZ3RoPDEwMHx8dS5sZW5ndGg8MTAwfXRoaXMucG9pbnRjbG91ZE9wdGlvbnMuYmxlbmQ9eSx2WzNdKj1tLHRoaXMucG9pbnRjbG91ZE9wdGlvbnMuYm9yZGVyQ29sb3I9djt2YXIgeD10Lm1hcmtlci5zaXplbWluLGI9TWF0aC5tYXgodC5tYXJrZXIuc2l6ZW1heCx0Lm1hcmtlci5zaXplbWluKTt0aGlzLnBvaW50Y2xvdWRPcHRpb25zLnNpemVNaW49eCx0aGlzLnBvaW50Y2xvdWRPcHRpb25zLnNpemVNYXg9Yix0aGlzLnBvaW50Y2xvdWRPcHRpb25zLmFyZWFSYXRpbz10Lm1hcmtlci5ib3JkZXIuYXJlYXJhdGlvLHRoaXMucG9pbnRjbG91ZC51cGRhdGUodGhpcy5wb2ludGNsb3VkT3B0aW9ucyk7dmFyIF89dGhpcy5zY2VuZS54YXhpcyx3PXRoaXMuc2NlbmUueWF4aXMsaz1iLzJ8fC41O3QuX2V4dHJlbWVzW18uX2lkXT1pKF8sW2RbMF0sZFsyXV0se3BwYWQ6a30pLHQuX2V4dHJlbWVzW3cuX2lkXT1pKHcsW2RbMV0sZFszXV0se3BwYWQ6a30pfSxsLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnBvaW50Y2xvdWQuZGlzcG9zZSgpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1uZXcgcyh0LGUudWlkKTtyZXR1cm4gci51cGRhdGUoZSkscn19LHsiLi4vLi4vbGliL3N0cjJyZ2JhcnJheSI6NzQwLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXV0b3JhbmdlIjo3NjQsIi4uL3NjYXR0ZXIvZ2V0X3RyYWNlX2NvbG9yIjoxMTMwLCJnbC1wb2ludGNsb3VkMmQiOjI5NX1dLDExMDg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIGkocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX1pKCJ4IiksaSgieSIpLGkoInhib3VuZHMiKSxpKCJ5Ym91bmRzIiksdC54eSYmdC54eSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSYmKGUueHk9dC54eSksdC5pbmRpY2VzJiZ0LmluZGljZXMgaW5zdGFuY2VvZiBJbnQzMkFycmF5JiYoZS5pbmRpY2VzPXQuaW5kaWNlcyksaSgidGV4dCIpLGkoIm1hcmtlci5jb2xvciIsciksaSgibWFya2VyLm9wYWNpdHkiKSxpKCJtYXJrZXIuYmxlbmQiKSxpKCJtYXJrZXIuc2l6ZW1pbiIpLGkoIm1hcmtlci5zaXplbWF4IiksaSgibWFya2VyLmJvcmRlci5jb2xvciIsciksaSgibWFya2VyLmJvcmRlci5hcmVhcmF0aW8iKSxlLl9sZW5ndGg9bnVsbH19LHsiLi4vLi4vbGliIjo3MTcsIi4vYXR0cmlidXRlcyI6MTEwNn1dLDExMDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjYWxjOnQoIi4uL3NjYXR0ZXIzZC9jYWxjIikscGxvdDp0KCIuL2NvbnZlcnQiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToicG9pbnRjbG91ZCIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvZ2wyZCIpLGNhdGVnb3JpZXM6WyJnbCIsImdsMmQiLCJzaG93TGVnZW5kIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvZ2wyZCI6ODAzLCIuLi9zY2F0dGVyM2QvY2FsYyI6MTE0OCwiLi9hdHRyaWJ1dGVzIjoxMTA2LCIuL2NvbnZlcnQiOjExMDcsIi4vZGVmYXVsdHMiOjExMDh9XSwxMTEwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvci9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2Z4L2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3Bsb3RzL2RvbWFpbiIpLmF0dHJpYnV0ZXMsbD10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGM9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSx1PXQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKS50ZW1wbGF0ZWRBcnJheSxoPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGY9dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsO3QoIi4uLy4uL2NvbnN0YW50cy9kb2NzIikuRk9STUFUX0xJTks7KGUuZXhwb3J0cz1mKHtob3ZlcmluZm86aCh7fSxhLmhvdmVyaW5mbyx7ZmxhZ3M6W10sYXJyYXlPazohMX0pLGhvdmVybGFiZWw6by5ob3ZlcmxhYmVsLGRvbWFpbjpzKHtuYW1lOiJzYW5rZXkiLHRyYWNlOiEwfSksb3JpZW50YXRpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInYiLCJoIl0sZGZsdDoiaCJ9LHZhbHVlZm9ybWF0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6Ii4zcyJ9LHZhbHVlc3VmZml4Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiJ9LGFycmFuZ2VtZW50Ont2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJzbmFwIiwicGVycGVuZGljdWxhciIsImZyZWVmb3JtIiwiZml4ZWQiXSxkZmx0OiJzbmFwIn0sdGV4dGZvbnQ6bih7fSksbm9kZTp7bGFiZWw6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGRmbHQ6W119LGdyb3Vwczp7dmFsVHlwZToiaW5mb19hcnJheSIsaW1wbGllZEVkaXRzOnt4OltdLHk6W119LGRpbWVuc2lvbnM6MixmcmVlTGVuZ3RoOiEwLGRmbHQ6W10saXRlbXM6e3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6ImNhbGMifX0seDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZGZsdDpbXX0seTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZGZsdDpbXX0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixhcnJheU9rOiEwfSxsaW5lOntjb2xvcjp7dmFsVHlwZToiY29sb3IiLGRmbHQ6aS5kZWZhdWx0TGluZSxhcnJheU9rOiEwfSx3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0Oi41LGFycmF5T2s6ITB9fSxwYWQ6e3ZhbFR5cGU6Im51bWJlciIsYXJyYXlPazohMSxtaW46MCxkZmx0OjIwfSx0aGlja25lc3M6e3ZhbFR5cGU6Im51bWJlciIsYXJyYXlPazohMSxtaW46MSxkZmx0OjIwfSxob3ZlcmluZm86e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImFsbCIsIm5vbmUiLCJza2lwIl0sZGZsdDoiYWxsIn0saG92ZXJsYWJlbDpvLmhvdmVybGFiZWwsaG92ZXJ0ZW1wbGF0ZTpsKHt9LHtrZXlzOlsidmFsdWUiLCJsYWJlbCJdfSl9LGxpbms6e2xhYmVsOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdfSxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGFycmF5T2s6ITB9LGxpbmU6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDppLmRlZmF1bHRMaW5lLGFycmF5T2s6ITB9LHdpZHRoOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxhcnJheU9rOiEwfX0sc291cmNlOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdfSx0YXJnZXQ6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGRmbHQ6W119LHZhbHVlOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdfSxob3ZlcmluZm86e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImFsbCIsIm5vbmUiLCJza2lwIl0sZGZsdDoiYWxsIn0saG92ZXJsYWJlbDpvLmhvdmVybGFiZWwsaG92ZXJ0ZW1wbGF0ZTpsKHt9LHtrZXlzOlsidmFsdWUiLCJsYWJlbCJdfSksY29sb3JzY2FsZXM6dSgiY29uY2VudHJhdGlvbnNjYWxlcyIse2VkaXRUeXBlOiJjYWxjIixsYWJlbDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYyIsZGZsdDoiIn0sY21heDp7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyIsZGZsdDoxfSxjbWluOnt2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJjYWxjIixkZmx0OjB9LGNvbG9yc2NhbGU6aChjKCkuY29sb3JzY2FsZSx7ZGZsdDpbWzAsIndoaXRlIl0sWzEsImJsYWNrIl1dfSl9KX19LCJjYWxjIiwibmVzdGVkIikpLnRyYW5zZm9ybXM9dm9pZCAwfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IvYXR0cmlidXRlcyI6NTkxLCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9jb21wb25lbnRzL2Z4L2F0dHJpYnV0ZXMiOjYyMiwiLi4vLi4vY29uc3RhbnRzL2RvY3MiOjY4OCwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy9kb21haW4iOjc5MCwiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIjo3OTEsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MX1dLDExMTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLGE9dCgiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiKS5nZXRNb2R1bGVDYWxjRGF0YSxpPXQoIi4vcGxvdCIpLG89dCgiLi4vLi4vY29tcG9uZW50cy9meC9sYXlvdXRfYXR0cmlidXRlcyIpLHM9dCgiLi4vLi4vbGliL3NldGN1cnNvciIpLGw9dCgiLi4vLi4vY29tcG9uZW50cy9kcmFnZWxlbWVudCIpLGM9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL3NlbGVjdCIpLnByZXBTZWxlY3QsdT10KCIuLi8uLi9saWIiKSxoPXQoIi4uLy4uL3JlZ2lzdHJ5Iik7ZnVuY3Rpb24gZih0LGUpe3ZhciByPXQuX2Z1bGxEYXRhW2VdLG49dC5fZnVsbExheW91dCxhPW4uZHJhZ21vZGUsaT0icGFuIj09PW4uZHJhZ21vZGU/Im1vdmUiOiJjcm9zc2hhaXIiLG89ci5fYmdSZWN0O2lmKCJwYW4iIT09YSYmInpvb20iIT09YSl7cyhvLGkpO3ZhciBmPXtfaWQ6IngiLGMycDp1LmlkZW50aXR5LF9vZmZzZXQ6ci5fc2Fua2V5LnRyYW5zbGF0ZVgsX2xlbmd0aDpyLl9zYW5rZXkud2lkdGh9LHA9e19pZDoieSIsYzJwOnUuaWRlbnRpdHksX29mZnNldDpyLl9zYW5rZXkudHJhbnNsYXRlWSxfbGVuZ3RoOnIuX3NhbmtleS5oZWlnaHR9LGQ9e2dkOnQsZWxlbWVudDpvLm5vZGUoKSxwbG90aW5mbzp7aWQ6ZSx4YXhpczpmLHlheGlzOnAsZmlsbFJhbmdlSXRlbXM6dS5ub29wfSxzdWJwbG90OmUseGF4ZXM6W2ZdLHlheGVzOltwXSxkb25lRm5Db21wbGV0ZWQ6ZnVuY3Rpb24ocil7dmFyIG4sYT10Ll9mdWxsRGF0YVtlXSxpPWEubm9kZS5ncm91cHMuc2xpY2UoKSxvPVtdO2Z1bmN0aW9uIHModCl7Zm9yKHZhciBlPWEuX3NhbmtleS5ncmFwaC5ub2RlcyxyPTA7cjxlLmxlbmd0aDtyKyspaWYoZVtyXS5wb2ludE51bWJlcj09PXQpcmV0dXJuIGVbcl19Zm9yKHZhciBsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBjPXMocltsXS5wb2ludE51bWJlcik7aWYoYylpZihjLmdyb3VwKXtmb3IodmFyIHU9MDt1PGMuY2hpbGRyZW5Ob2Rlcy5sZW5ndGg7dSsrKW8ucHVzaChjLmNoaWxkcmVuTm9kZXNbdV0ucG9pbnROdW1iZXIpO2lbYy5wb2ludE51bWJlci1hLm5vZGUuX2NvdW50XT0hMX1lbHNlIG8ucHVzaChjLnBvaW50TnVtYmVyKX1uPWkuZmlsdGVyKEJvb2xlYW4pLmNvbmNhdChbb10pLGguY2FsbCgiX2d1aVJlc3R5bGUiLHQseyJub2RlLmdyb3VwcyI6W25dfSxlKX0scHJlcEZuOmZ1bmN0aW9uKHQsZSxyKXtjKHQsZSxyLGQsYSl9fTtsLmluaXQoZCl9fXIubmFtZT0ic2Fua2V5IixyLmJhc2VMYXlvdXRBdHRyT3ZlcnJpZGVzPW4oe2hvdmVybGFiZWw6by5ob3ZlcmxhYmVsfSwicGxvdCIsIm5lc3RlZCIpLHIucGxvdD1mdW5jdGlvbih0KXt2YXIgZT1hKHQuY2FsY2RhdGEsInNhbmtleSIpWzBdO2kodCxlKSxyLnVwZGF0ZUZ4KHQpfSxyLmNsZWFuPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW4uX2hhcyYmbi5faGFzKCJzYW5rZXkiKSxpPWUuX2hhcyYmZS5faGFzKCJzYW5rZXkiKTthJiYhaSYmKG4uX3BhcGVyZGl2LnNlbGVjdEFsbCgiLnNhbmtleSIpLnJlbW92ZSgpLG4uX3BhcGVyZGl2LnNlbGVjdEFsbCgiLmJnc2Fua2V5IikucmVtb3ZlKCkpfSxyLnVwZGF0ZUZ4PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5fZnVsbERhdGEubGVuZ3RoO2UrKylmKHQsZSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhZ2VsZW1lbnQiOjYxMCwiLi4vLi4vY29tcG9uZW50cy9meC9sYXlvdXRfYXR0cmlidXRlcyI6NjMxLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3NldGN1cnNvciI6NzM3LCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9zZWxlY3QiOjc4MiwiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiOjgwMCwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9wbG90IjoxMTE2fV0sMTExMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJzdHJvbmdseS1jb25uZWN0ZWQtY29tcG9uZW50cyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9saWIvZ3VwIikud3JhcCxvPWEuaXNBcnJheU9yVHlwZWRBcnJheSxzPWEuaXNJbmRleCxsPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpO2Z1bmN0aW9uIGModCl7dmFyIGUscj10Lm5vZGUsaT10LmxpbmssYz1bXSx1PW8oaS5jb2xvciksaD17fSxmPXt9LHA9aS5jb2xvcnNjYWxlcy5sZW5ndGg7Zm9yKGU9MDtlPHA7ZSsrKXt2YXIgZD1pLmNvbG9yc2NhbGVzW2VdLGc9bC5leHRyYWN0U2NhbGUoZCx7Y0xldHRlcjoiYyJ9KSx2PWwubWFrZUNvbG9yU2NhbGVGdW5jKGcpO2ZbZC5sYWJlbF09dn12YXIgbT0wO2ZvcihlPTA7ZTxpLnZhbHVlLmxlbmd0aDtlKyspaS5zb3VyY2VbZV0+bSYmKG09aS5zb3VyY2VbZV0pLGkudGFyZ2V0W2VdPm0mJihtPWkudGFyZ2V0W2VdKTt2YXIgeSx4PW0rMTt0Lm5vZGUuX2NvdW50PXg7dmFyIGI9dC5ub2RlLmdyb3VwcyxfPXt9O2ZvcihlPTA7ZTxiLmxlbmd0aDtlKyspe3ZhciB3PWJbZV07Zm9yKHk9MDt5PHcubGVuZ3RoO3krKyl7dmFyIGs9d1t5XSxUPXgrZTtfLmhhc093blByb3BlcnR5KGspP2Eud2FybigiTm9kZSAiK2srIiBpcyBhbHJlYWR5IHBhcnQgb2YgYSBncm91cC4iKTpfW2tdPVR9fXZhciBNPXtzb3VyY2U6W10sdGFyZ2V0OltdfTtmb3IoZT0wO2U8aS52YWx1ZS5sZW5ndGg7ZSsrKXt2YXIgQT1pLnZhbHVlW2VdLFM9aS5zb3VyY2VbZV0sRT1pLnRhcmdldFtlXTtpZihBPjAmJnMoUyx4KSYmcyhFLHgpJiYoIV8uaGFzT3duUHJvcGVydHkoUyl8fCFfLmhhc093blByb3BlcnR5KEUpfHxfW1NdIT09X1tFXSkpe18uaGFzT3duUHJvcGVydHkoRSkmJihFPV9bRV0pLF8uaGFzT3duUHJvcGVydHkoUykmJihTPV9bU10pLEU9K0UsaFtTPStTXT1oW0VdPSEwO3ZhciBMPSIiO2kubGFiZWwmJmkubGFiZWxbZV0mJihMPWkubGFiZWxbZV0pO3ZhciBDPW51bGw7TCYmZi5oYXNPd25Qcm9wZXJ0eShMKSYmKEM9ZltMXSksYy5wdXNoKHtwb2ludE51bWJlcjplLGxhYmVsOkwsY29sb3I6dT9pLmNvbG9yW2VdOmkuY29sb3IsY29uY2VudHJhdGlvbnNjYWxlOkMsc291cmNlOlMsdGFyZ2V0OkUsdmFsdWU6K0F9KSxNLnNvdXJjZS5wdXNoKFMpLE0udGFyZ2V0LnB1c2goRSl9fXZhciBQPXgrYi5sZW5ndGgsTz1vKHIuY29sb3IpLHo9W107Zm9yKGU9MDtlPFA7ZSsrKWlmKGhbZV0pe3ZhciBJPXIubGFiZWxbZV07ei5wdXNoKHtncm91cDplPngtMSxjaGlsZHJlbk5vZGVzOltdLHBvaW50TnVtYmVyOmUsbGFiZWw6SSxjb2xvcjpPP3IuY29sb3JbZV06ci5jb2xvcn0pfXZhciBEPSExO3JldHVybiBmdW5jdGlvbih0LGUscil7Zm9yKHZhciBpPWEuaW5pdDJkQXJyYXkodCwwKSxvPTA7bzxNYXRoLm1pbihlLmxlbmd0aCxyLmxlbmd0aCk7bysrKWlmKGEuaXNJbmRleChlW29dLHQpJiZhLmlzSW5kZXgocltvXSx0KSl7aWYoZVtvXT09PXJbb10pcmV0dXJuITA7aVtlW29dXS5wdXNoKHJbb10pfXJldHVybiBuKGkpLmNvbXBvbmVudHMuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MX0pfShQLE0uc291cmNlLE0udGFyZ2V0KSYmKEQ9ITApLHtjaXJjdWxhcjpELGxpbmtzOmMsbm9kZXM6eixncm91cHM6Yixncm91cExvb2t1cDpffX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1jKGUpO3JldHVybiBpKHtjaXJjdWxhcjpyLmNpcmN1bGFyLF9ub2RlczpyLm5vZGVzLF9saW5rczpyLmxpbmtzLF9ncm91cHM6ci5ncm91cHMsX2dyb3VwTG9va3VwOnIuZ3JvdXBMb29rdXB9KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ3VwIjo3MTUsInN0cm9uZ2x5LWNvbm5lY3RlZC1jb21wb25lbnRzIjo1Mjl9XSwxMTEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bm9kZVRleHRPZmZzZXRIb3Jpem9udGFsOjQsbm9kZVRleHRPZmZzZXRWZXJ0aWNhbDozLG5vZGVQYWRBY3Jvc3M6MTAsc2Fua2V5SXRlcmF0aW9uczo1MCxmb3JjZUl0ZXJhdGlvbnM6NSxmb3JjZVRpY2tzUGVyRnJhbWU6MTAsZHVyYXRpb246NTAwLGVhc2U6ImxpbmVhciIsY246e3NhbmtleToic2Fua2V5IixzYW5rZXlMaW5rczoic2Fua2V5LWxpbmtzIixzYW5rZXlMaW5rOiJzYW5rZXktbGluayIsc2Fua2V5Tm9kZVNldDoic2Fua2V5LW5vZGUtc2V0IixzYW5rZXlOb2RlOiJzYW5rZXktbm9kZSIsbm9kZVJlY3Q6Im5vZGUtcmVjdCIsbm9kZUNhcHR1cmU6Im5vZGUtY2FwdHVyZSIsbm9kZUNlbnRlcmVkOiJub2RlLWVudGVyZWQiLG5vZGVMYWJlbEd1aWRlOiJub2RlLWxhYmVsLWd1aWRlIixub2RlTGFiZWw6Im5vZGUtbGFiZWwiLG5vZGVMYWJlbFRleHRQYXRoOiJub2RlLWxhYmVsLXRleHQtcGF0aCJ9fX0se31dLDExMTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPXQoInRpbnljb2xvcjIiKSxzPXQoIi4uLy4uL3Bsb3RzL2RvbWFpbiIpLmRlZmF1bHRzLGw9dCgiLi4vLi4vY29tcG9uZW50cy9meC9ob3ZlcmxhYmVsX2RlZmF1bHRzIiksYz10KCIuLi8uLi9wbG90X2FwaS9wbG90X3RlbXBsYXRlIiksdT10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKTtmdW5jdGlvbiBoKHQsZSl7ZnVuY3Rpb24gcihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYS5saW5rLmNvbG9yc2NhbGVzLHIsaSl9cigibGFiZWwiKSxyKCJjbWluIikscigiY21heCIpLHIoImNvbG9yc2NhbGUiKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsZil7ZnVuY3Rpb24gcChyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfXZhciBkPW4uZXh0ZW5kRGVlcChmLmhvdmVybGFiZWwsdC5ob3ZlcmxhYmVsKSxnPXQubm9kZSx2PWMubmV3Q29udGFpbmVyKGUsIm5vZGUiKTtmdW5jdGlvbiBtKHQsZSl7cmV0dXJuIG4uY29lcmNlKGcsdixhLm5vZGUsdCxlKX1tKCJsYWJlbCIpLG0oImdyb3VwcyIpLG0oIngiKSxtKCJ5IiksbSgicGFkIiksbSgidGhpY2tuZXNzIiksbSgibGluZS5jb2xvciIpLG0oImxpbmUud2lkdGgiKSxtKCJob3ZlcmluZm8iLHQuaG92ZXJpbmZvKSxsKGcsdixtLGQpLG0oImhvdmVydGVtcGxhdGUiKTt2YXIgeT1mLmNvbG9yd2F5O20oImNvbG9yIix2LmxhYmVsLm1hcChmdW5jdGlvbih0LGUpe3JldHVybiBpLmFkZE9wYWNpdHkoZnVuY3Rpb24odCl7cmV0dXJuIHlbdCV5Lmxlbmd0aF19KGUpLC44KX0pKTt2YXIgeD10Lmxpbmt8fHt9LGI9Yy5uZXdDb250YWluZXIoZSwibGluayIpO2Z1bmN0aW9uIF8odCxlKXtyZXR1cm4gbi5jb2VyY2UoeCxiLGEubGluayx0LGUpfV8oImxhYmVsIiksXygic291cmNlIiksXygidGFyZ2V0IiksXygidmFsdWUiKSxfKCJsaW5lLmNvbG9yIiksXygibGluZS53aWR0aCIpLF8oImhvdmVyaW5mbyIsdC5ob3ZlcmluZm8pLGwoeCxiLF8sZCksXygiaG92ZXJ0ZW1wbGF0ZSIpO3ZhciB3LGs9byhmLnBhcGVyX2JnY29sb3IpLmdldEx1bWluYW5jZSgpPC4zMzM/InJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSI6InJnYmEoMCwgMCwgMCwgMC4yKSI7XygiY29sb3IiLG4ucmVwZWF0KGssYi52YWx1ZS5sZW5ndGgpKSx1KHgsYix7bmFtZToiY29sb3JzY2FsZXMiLGhhbmRsZUl0ZW1EZWZhdWx0czpofSkscyhlLGYscCkscCgib3JpZW50YXRpb24iKSxwKCJ2YWx1ZWZvcm1hdCIpLHAoInZhbHVlc3VmZml4Iiksdi54Lmxlbmd0aCYmdi55Lmxlbmd0aCYmKHc9ImZyZWVmb3JtIikscCgiYXJyYW5nZW1lbnQiLHcpLG4uY29lcmNlRm9udChwLCJ0ZXh0Zm9udCIsbi5leHRlbmRGbGF0KHt9LGYuZm9udCkpLGUuX2xlbmd0aD1udWxsfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbXBvbmVudHMvZngvaG92ZXJsYWJlbF9kZWZhdWx0cyI6NjI5LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdF9hcGkvcGxvdF90ZW1wbGF0ZSI6NzU1LCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiOjc2MSwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4vYXR0cmlidXRlcyI6MTExMCx0aW55Y29sb3IyOjUzNn1dLDExMTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90IiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6InNhbmtleSIsYmFzZVBsb3RNb2R1bGU6dCgiLi9iYXNlX3Bsb3QiKSxzZWxlY3RQb2ludHM6dCgiLi9zZWxlY3QuanMiKSxjYXRlZ29yaWVzOlsibm9PcGFjaXR5Il0sbWV0YTp7fX19LHsiLi9hdHRyaWJ1dGVzIjoxMTEwLCIuL2Jhc2VfcGxvdCI6MTExMSwiLi9jYWxjIjoxMTEyLCIuL2RlZmF1bHRzIjoxMTE0LCIuL3Bsb3QiOjExMTYsIi4vc2VsZWN0LmpzIjoxMTE4fV0sMTExNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi9yZW5kZXIiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZngiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxzPXQoIi4uLy4uL2xpYiIpLGw9dCgiLi9jb25zdGFudHMiKS5jbixjPXMuXztmdW5jdGlvbiB1KHQpe3JldHVybiIiIT09dH1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIHQuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmtleT09PWUudHJhY2VJZH0pfWZ1bmN0aW9uIGYodCxlKXtuLnNlbGVjdCh0KS5zZWxlY3QoInBhdGgiKS5zdHlsZSgiZmlsbC1vcGFjaXR5IixlKSxuLnNlbGVjdCh0KS5zZWxlY3QoInJlY3QiKS5zdHlsZSgiZmlsbC1vcGFjaXR5IixlKX1mdW5jdGlvbiBwKHQpe24uc2VsZWN0KHQpLnNlbGVjdCgidGV4dC5uYW1lIikuc3R5bGUoImZpbGwiLCJibGFjayIpfWZ1bmN0aW9uIGQodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybi0xIT09dC5ub2RlLnNvdXJjZUxpbmtzLmluZGV4T2YoZS5saW5rKXx8LTEhPT10Lm5vZGUudGFyZ2V0TGlua3MuaW5kZXhPZihlLmxpbmspfX1mdW5jdGlvbiBnKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUubm9kZS5zb3VyY2VMaW5rcy5pbmRleE9mKHQubGluayl8fC0xIT09ZS5ub2RlLnRhcmdldExpbmtzLmluZGV4T2YodC5saW5rKX19ZnVuY3Rpb24gdih0LGUscil7ZSYmciYmaChyLGUpLnNlbGVjdEFsbCgiLiIrbC5zYW5rZXlMaW5rKS5maWx0ZXIoZChlKSkuY2FsbCh5LmJpbmQoMCxlLHIsITEpKX1mdW5jdGlvbiBtKHQsZSxyKXtlJiZyJiZoKHIsZSkuc2VsZWN0QWxsKCIuIitsLnNhbmtleUxpbmspLmZpbHRlcihkKGUpKS5jYWxsKHguYmluZCgwLGUsciwhMSkpfWZ1bmN0aW9uIHkodCxlLHIsbil7dmFyIGE9bi5kYXR1bSgpLmxpbmsubGFiZWw7bi5zdHlsZSgiZmlsbC1vcGFjaXR5IixmdW5jdGlvbih0KXtpZighdC5saW5rLmNvbmNlbnRyYXRpb25zY2FsZSlyZXR1cm4uNH0pLGEmJmgoZSx0KS5zZWxlY3RBbGwoIi4iK2wuc2Fua2V5TGluaykuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmxpbmsubGFiZWw9PT1hfSkuc3R5bGUoImZpbGwtb3BhY2l0eSIsZnVuY3Rpb24odCl7aWYoIXQubGluay5jb25jZW50cmF0aW9uc2NhbGUpcmV0dXJuLjR9KSxyJiZoKGUsdCkuc2VsZWN0QWxsKCIuIitsLnNhbmtleU5vZGUpLmZpbHRlcihnKHQpKS5jYWxsKHYpfWZ1bmN0aW9uIHgodCxlLHIsbil7dmFyIGE9bi5kYXR1bSgpLmxpbmsubGFiZWw7bi5zdHlsZSgiZmlsbC1vcGFjaXR5IixmdW5jdGlvbih0KXtyZXR1cm4gdC50aW55Q29sb3JBbHBoYX0pLGEmJmgoZSx0KS5zZWxlY3RBbGwoIi4iK2wuc2Fua2V5TGluaykuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmxpbmsubGFiZWw9PT1hfSkuc3R5bGUoImZpbGwtb3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHQudGlueUNvbG9yQWxwaGF9KSxyJiZoKGUsdCkuc2VsZWN0QWxsKGwuc2Fua2V5Tm9kZSkuZmlsdGVyKGcodCkpLmNhbGwobSl9ZnVuY3Rpb24gYih0LGUpe3ZhciByPXQuaG92ZXJsYWJlbHx8e30sbj1zLm5lc3RlZFByb3BlcnR5KHIsZSkuZ2V0KCk7cmV0dXJuIUFycmF5LmlzQXJyYXkobikmJm59ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuX2Z1bGxMYXlvdXQscz1yLl9wYXBlcixoPXIuX3NpemUsZD0wO2Q8dC5fZnVsbERhdGEubGVuZ3RoO2QrKylpZih0Ll9mdWxsRGF0YVtkXS52aXNpYmxlJiZ0Ll9mdWxsRGF0YVtkXS50eXBlPT09bC5zYW5rZXkmJiF0Ll9mdWxsRGF0YVtkXS5fdmlld0luaXRpYWwpe3ZhciBnPXQuX2Z1bGxEYXRhW2RdLm5vZGU7dC5fZnVsbERhdGFbZF0uX3ZpZXdJbml0aWFsPXtub2RlOntncm91cHM6Zy5ncm91cHMuc2xpY2UoKSx4OmcueC5zbGljZSgpLHk6Zy55LnNsaWNlKCl9fX12YXIgXz1jKHQsInNvdXJjZToiKSsiICIsdz1jKHQsInRhcmdldDoiKSsiICIsaz1jKHQsImNvbmNlbnRyYXRpb246IikrIiAiLFQ9Yyh0LCJpbmNvbWluZyBmbG93IGNvdW50OiIpKyIgIixNPWModCwib3V0Z29pbmcgZmxvdyBjb3VudDoiKSsiICI7YSh0LHMsZSx7d2lkdGg6aC53LGhlaWdodDpoLmgsbWFyZ2luOnt0OmgudCxyOmgucixiOmguYixsOmgubH19LHtsaW5rRXZlbnRzOntob3ZlcjpmdW5jdGlvbihlLHIsYSl7ITEhPT10Ll9mdWxsTGF5b3V0LmhvdmVybW9kZSYmKG4uc2VsZWN0KGUpLmNhbGwoeS5iaW5kKDAscixhLCEwKSksInNraXAiIT09ci5saW5rLnRyYWNlLmxpbmsuaG92ZXJpbmZvJiYoci5saW5rLmZ1bGxEYXRhPXIubGluay50cmFjZSx0LmVtaXQoInBsb3RseV9ob3ZlciIse2V2ZW50Om4uZXZlbnQscG9pbnRzOltyLmxpbmtdfSkpKX0sZm9sbG93OmZ1bmN0aW9uKGUsYSl7aWYoITEhPT10Ll9mdWxsTGF5b3V0LmhvdmVybW9kZSl7dmFyIHM9YS5saW5rLnRyYWNlLmxpbms7aWYoIm5vbmUiIT09cy5ob3ZlcmluZm8mJiJza2lwIiE9PXMuaG92ZXJpbmZvKXtmb3IodmFyIGw9W10sYz0wLGg9MDtoPGEuZmxvdy5saW5rcy5sZW5ndGg7aCsrKXt2YXIgZD1hLmZsb3cubGlua3NbaF07aWYoImNsb3Nlc3QiIT09dC5fZnVsbExheW91dC5ob3Zlcm1vZGV8fGEubGluay5wb2ludE51bWJlcj09PWQucG9pbnROdW1iZXIpe2EubGluay5wb2ludE51bWJlcj09PWQucG9pbnROdW1iZXImJihjPWgpLGQuZnVsbERhdGE9ZC50cmFjZSxzPWEubGluay50cmFjZS5saW5rO3ZhciBnPW0oZCksdj17dmFsdWVMYWJlbDpuLmZvcm1hdChhLnZhbHVlRm9ybWF0KShkLnZhbHVlKSthLnZhbHVlU3VmZml4fTtsLnB1c2goe3g6Z1swXSx5OmdbMV0sbmFtZTp2LnZhbHVlTGFiZWwsdGV4dDpbZC5sYWJlbHx8IiIsXytkLnNvdXJjZS5sYWJlbCx3K2QudGFyZ2V0LmxhYmVsLGQuY29uY2VudHJhdGlvbnNjYWxlP2srbi5mb3JtYXQoIiUwLjJmIikoZC5mbG93LmxhYmVsQ29uY2VudHJhdGlvbik6IiJdLmZpbHRlcih1KS5qb2luKCI8YnI+IiksY29sb3I6YihzLCJiZ2NvbG9yIil8fG8uYWRkT3BhY2l0eShkLmNvbG9yLDEpLGJvcmRlckNvbG9yOmIocywiYm9yZGVyY29sb3IiKSxmb250RmFtaWx5OmIocywiZm9udC5mYW1pbHkiKSxmb250U2l6ZTpiKHMsImZvbnQuc2l6ZSIpLGZvbnRDb2xvcjpiKHMsImZvbnQuY29sb3IiKSxuYW1lTGVuZ3RoOmIocywibmFtZWxlbmd0aCIpLHRleHRBbGlnbjpiKHMsImFsaWduIiksaWRlYWxBbGlnbjpuLmV2ZW50Lng8Z1swXT8icmlnaHQiOiJsZWZ0Iixob3ZlcnRlbXBsYXRlOnMuaG92ZXJ0ZW1wbGF0ZSxob3ZlcnRlbXBsYXRlTGFiZWxzOnYsZXZlbnREYXRhOltkXX0pfX1pLmxvbmVIb3ZlcihsLHtjb250YWluZXI6ci5faG92ZXJsYXllci5ub2RlKCksb3V0ZXJDb250YWluZXI6ci5fcGFwZXIubm9kZSgpLGdkOnQsYW5jaG9ySW5kZXg6Y30pLmVhY2goZnVuY3Rpb24oKXthLmxpbmsuY29uY2VudHJhdGlvbnNjYWxlfHxmKHRoaXMsLjY1KSxwKHRoaXMpfSl9fWZ1bmN0aW9uIG0odCl7dmFyIGUscjt0LmNpcmN1bGFyPyhlPSh0LmNpcmN1bGFyUGF0aERhdGEubGVmdElubmVyRXh0ZW50K3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodElubmVyRXh0ZW50KS8yLHI9dC5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCk6KGU9KHQuc291cmNlLngxK3QudGFyZ2V0LngwKS8yLHI9KHQueTArdC55MSkvMik7dmFyIG49W2Uscl07cmV0dXJuInYiPT09dC50cmFjZS5vcmllbnRhdGlvbiYmbi5yZXZlcnNlKCksblswXSs9YS5wYXJlbnQudHJhbnNsYXRlWCxuWzFdKz1hLnBhcmVudC50cmFuc2xhdGVZLG59fSx1bmhvdmVyOmZ1bmN0aW9uKGUsYSxvKXshMSE9PXQuX2Z1bGxMYXlvdXQuaG92ZXJtb2RlJiYobi5zZWxlY3QoZSkuY2FsbCh4LmJpbmQoMCxhLG8sITApKSwic2tpcCIhPT1hLmxpbmsudHJhY2UubGluay5ob3ZlcmluZm8mJihhLmxpbmsuZnVsbERhdGE9YS5saW5rLnRyYWNlLHQuZW1pdCgicGxvdGx5X3VuaG92ZXIiLHtldmVudDpuLmV2ZW50LHBvaW50czpbYS5saW5rXX0pKSxpLmxvbmVVbmhvdmVyKHIuX2hvdmVybGF5ZXIubm9kZSgpKSl9LHNlbGVjdDpmdW5jdGlvbihlLHIpe3ZhciBhPXIubGluazthLm9yaWdpbmFsRXZlbnQ9bi5ldmVudCx0Ll9ob3ZlcmRhdGE9W2FdLGkuY2xpY2sodCx7dGFyZ2V0OiEwfSl9fSxub2RlRXZlbnRzOntob3ZlcjpmdW5jdGlvbihlLHIsYSl7ITEhPT10Ll9mdWxsTGF5b3V0LmhvdmVybW9kZSYmKG4uc2VsZWN0KGUpLmNhbGwodixyLGEpLCJza2lwIiE9PXIubm9kZS50cmFjZS5ub2RlLmhvdmVyaW5mbyYmKHIubm9kZS5mdWxsRGF0YT1yLm5vZGUudHJhY2UsdC5lbWl0KCJwbG90bHlfaG92ZXIiLHtldmVudDpuLmV2ZW50LHBvaW50czpbci5ub2RlXX0pKSl9LGZvbGxvdzpmdW5jdGlvbihlLGEpe2lmKCExIT09dC5fZnVsbExheW91dC5ob3Zlcm1vZGUpe3ZhciBvPWEubm9kZS50cmFjZS5ub2RlO2lmKCJub25lIiE9PW8uaG92ZXJpbmZvJiYic2tpcCIhPT1vLmhvdmVyaW5mbyl7dmFyIHM9bi5zZWxlY3QoZSkuc2VsZWN0KCIuIitsLm5vZGVSZWN0KSxjPXQuX2Z1bGxMYXlvdXQuX3BhcGVyZGl2Lm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxoPXMubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQ9aC5sZWZ0LTItYy5sZWZ0LGc9aC5yaWdodCsyLWMubGVmdCx2PWgudG9wK2guaGVpZ2h0LzQtYy50b3AsbT17dmFsdWVMYWJlbDpuLmZvcm1hdChhLnZhbHVlRm9ybWF0KShhLm5vZGUudmFsdWUpK2EudmFsdWVTdWZmaXh9O2Eubm9kZS5mdWxsRGF0YT1hLm5vZGUudHJhY2U7dmFyIHk9aS5sb25lSG92ZXIoe3gwOmQseDE6Zyx5OnYsbmFtZTpuLmZvcm1hdChhLnZhbHVlRm9ybWF0KShhLm5vZGUudmFsdWUpK2EudmFsdWVTdWZmaXgsdGV4dDpbYS5ub2RlLmxhYmVsLFQrYS5ub2RlLnRhcmdldExpbmtzLmxlbmd0aCxNK2Eubm9kZS5zb3VyY2VMaW5rcy5sZW5ndGhdLmZpbHRlcih1KS5qb2luKCI8YnI+IiksY29sb3I6YihvLCJiZ2NvbG9yIil8fGEudGlueUNvbG9ySHVlLGJvcmRlckNvbG9yOmIobywiYm9yZGVyY29sb3IiKSxmb250RmFtaWx5OmIobywiZm9udC5mYW1pbHkiKSxmb250U2l6ZTpiKG8sImZvbnQuc2l6ZSIpLGZvbnRDb2xvcjpiKG8sImZvbnQuY29sb3IiKSxuYW1lTGVuZ3RoOmIobywibmFtZWxlbmd0aCIpLHRleHRBbGlnbjpiKG8sImFsaWduIiksaWRlYWxBbGlnbjoibGVmdCIsaG92ZXJ0ZW1wbGF0ZTpvLmhvdmVydGVtcGxhdGUsaG92ZXJ0ZW1wbGF0ZUxhYmVsczptLGV2ZW50RGF0YTpbYS5ub2RlXX0se2NvbnRhaW5lcjpyLl9ob3ZlcmxheWVyLm5vZGUoKSxvdXRlckNvbnRhaW5lcjpyLl9wYXBlci5ub2RlKCksZ2Q6dH0pO2YoeSwuODUpLHAoeSl9fX0sdW5ob3ZlcjpmdW5jdGlvbihlLGEsbyl7ITEhPT10Ll9mdWxsTGF5b3V0LmhvdmVybW9kZSYmKG4uc2VsZWN0KGUpLmNhbGwobSxhLG8pLCJza2lwIiE9PWEubm9kZS50cmFjZS5ub2RlLmhvdmVyaW5mbyYmKGEubm9kZS5mdWxsRGF0YT1hLm5vZGUudHJhY2UsdC5lbWl0KCJwbG90bHlfdW5ob3ZlciIse2V2ZW50Om4uZXZlbnQscG9pbnRzOlthLm5vZGVdfSkpLGkubG9uZVVuaG92ZXIoci5faG92ZXJsYXllci5ub2RlKCkpKX0sc2VsZWN0OmZ1bmN0aW9uKGUscixhKXt2YXIgbz1yLm5vZGU7by5vcmlnaW5hbEV2ZW50PW4uZXZlbnQsdC5faG92ZXJkYXRhPVtvXSxuLnNlbGVjdChlKS5jYWxsKG0scixhKSxpLmNsaWNrKHQse3RhcmdldDohMH0pfX19KX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2Z4Ijo2MzAsIi4uLy4uL2xpYiI6NzE3LCIuL2NvbnN0YW50cyI6MTExMywiLi9yZW5kZXIiOjExMTcsZDM6MTY1fV0sMTExNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvbnN0YW50cyIpLGE9dCgiZDMiKSxpPXQoInRpbnljb2xvcjIiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGw9dCgiQHBsb3RseS9kMy1zYW5rZXkiKSxjPXQoIkBwbG90bHkvZDMtc2Fua2V5LWNpcmN1bGFyIiksdT10KCJkMy1mb3JjZSIpLGg9dCgiLi4vLi4vbGliIiksZj10KCIuLi8uLi9saWIvZ3VwIikscD1mLmtleUZ1bixkPWYucmVwZWF0LGc9Zi51bndyYXAsdj10KCJkMy1pbnRlcnBvbGF0ZSIpLmludGVycG9sYXRlTnVtYmVyLG09dCgiLi4vLi4vcmVnaXN0cnkiKTtmdW5jdGlvbiB5KCl7dmFyIHQ9LjU7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKGUubGluay5jaXJjdWxhcilyZXR1cm4gcj1lLmxpbmssbj1yLndpZHRoLzIsYT1yLmNpcmN1bGFyUGF0aERhdGEsInRvcCI9PT1yLmNpcmN1bGFyTGlua1R5cGU/Ik0gIithLnRhcmdldFgrIiAiKyhhLnRhcmdldFkrbikrIiBMIithLnJpZ2h0SW5uZXJFeHRlbnQrIiAiKyhhLnRhcmdldFkrbikrIkEiKyhhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrbikrIiAiKyhhLnJpZ2h0U21hbGxBcmNSYWRpdXMrbikrIiAwIDAgMSAiKyhhLnJpZ2h0RnVsbEV4dGVudC1uKSsiICIrKGEudGFyZ2V0WS1hLnJpZ2h0U21hbGxBcmNSYWRpdXMpKyJMIisoYS5yaWdodEZ1bGxFeHRlbnQtbikrIiAiK2EudmVydGljYWxSaWdodElubmVyRXh0ZW50KyJBIisoYS5yaWdodExhcmdlQXJjUmFkaXVzK24pKyIgIisoYS5yaWdodExhcmdlQXJjUmFkaXVzK24pKyIgMCAwIDEgIithLnJpZ2h0SW5uZXJFeHRlbnQrIiAiKyhhLnZlcnRpY2FsRnVsbEV4dGVudC1uKSsiTCIrYS5sZWZ0SW5uZXJFeHRlbnQrIiAiKyhhLnZlcnRpY2FsRnVsbEV4dGVudC1uKSsiQSIrKGEubGVmdExhcmdlQXJjUmFkaXVzK24pKyIgIisoYS5sZWZ0TGFyZ2VBcmNSYWRpdXMrbikrIiAwIDAgMSAiKyhhLmxlZnRGdWxsRXh0ZW50K24pKyIgIithLnZlcnRpY2FsTGVmdElubmVyRXh0ZW50KyJMIisoYS5sZWZ0RnVsbEV4dGVudCtuKSsiICIrKGEuc291cmNlWS1hLmxlZnRTbWFsbEFyY1JhZGl1cykrIkEiKyhhLmxlZnRMYXJnZUFyY1JhZGl1cytuKSsiICIrKGEubGVmdFNtYWxsQXJjUmFkaXVzK24pKyIgMCAwIDEgIithLmxlZnRJbm5lckV4dGVudCsiICIrKGEuc291cmNlWStuKSsiTCIrYS5zb3VyY2VYKyIgIisoYS5zb3VyY2VZK24pKyJMIithLnNvdXJjZVgrIiAiKyhhLnNvdXJjZVktbikrIkwiK2EubGVmdElubmVyRXh0ZW50KyIgIisoYS5zb3VyY2VZLW4pKyJBIisoYS5sZWZ0TGFyZ2VBcmNSYWRpdXMtbikrIiAiKyhhLmxlZnRTbWFsbEFyY1JhZGl1cy1uKSsiIDAgMCAwICIrKGEubGVmdEZ1bGxFeHRlbnQtbikrIiAiKyhhLnNvdXJjZVktYS5sZWZ0U21hbGxBcmNSYWRpdXMpKyJMIisoYS5sZWZ0RnVsbEV4dGVudC1uKSsiICIrYS52ZXJ0aWNhbExlZnRJbm5lckV4dGVudCsiQSIrKGEubGVmdExhcmdlQXJjUmFkaXVzLW4pKyIgIisoYS5sZWZ0TGFyZ2VBcmNSYWRpdXMtbikrIiAwIDAgMCAiK2EubGVmdElubmVyRXh0ZW50KyIgIisoYS52ZXJ0aWNhbEZ1bGxFeHRlbnQrbikrIkwiK2EucmlnaHRJbm5lckV4dGVudCsiICIrKGEudmVydGljYWxGdWxsRXh0ZW50K24pKyJBIisoYS5yaWdodExhcmdlQXJjUmFkaXVzLW4pKyIgIisoYS5yaWdodExhcmdlQXJjUmFkaXVzLW4pKyIgMCAwIDAgIisoYS5yaWdodEZ1bGxFeHRlbnQrbikrIiAiK2EudmVydGljYWxSaWdodElubmVyRXh0ZW50KyJMIisoYS5yaWdodEZ1bGxFeHRlbnQrbikrIiAiKyhhLnRhcmdldFktYS5yaWdodFNtYWxsQXJjUmFkaXVzKSsiQSIrKGEucmlnaHRMYXJnZUFyY1JhZGl1cy1uKSsiICIrKGEucmlnaHRTbWFsbEFyY1JhZGl1cy1uKSsiIDAgMCAwICIrYS5yaWdodElubmVyRXh0ZW50KyIgIisoYS50YXJnZXRZLW4pKyJMIithLnRhcmdldFgrIiAiKyhhLnRhcmdldFktbikrIloiOiJNICIrYS50YXJnZXRYKyIgIisoYS50YXJnZXRZLW4pKyIgTCIrYS5yaWdodElubmVyRXh0ZW50KyIgIisoYS50YXJnZXRZLW4pKyJBIisoYS5yaWdodExhcmdlQXJjUmFkaXVzK24pKyIgIisoYS5yaWdodFNtYWxsQXJjUmFkaXVzK24pKyIgMCAwIDAgIisoYS5yaWdodEZ1bGxFeHRlbnQtbikrIiAiKyhhLnRhcmdldFkrYS5yaWdodFNtYWxsQXJjUmFkaXVzKSsiTCIrKGEucmlnaHRGdWxsRXh0ZW50LW4pKyIgIithLnZlcnRpY2FsUmlnaHRJbm5lckV4dGVudCsiQSIrKGEucmlnaHRMYXJnZUFyY1JhZGl1cytuKSsiICIrKGEucmlnaHRMYXJnZUFyY1JhZGl1cytuKSsiIDAgMCAwICIrYS5yaWdodElubmVyRXh0ZW50KyIgIisoYS52ZXJ0aWNhbEZ1bGxFeHRlbnQrbikrIkwiK2EubGVmdElubmVyRXh0ZW50KyIgIisoYS52ZXJ0aWNhbEZ1bGxFeHRlbnQrbikrIkEiKyhhLmxlZnRMYXJnZUFyY1JhZGl1cytuKSsiICIrKGEubGVmdExhcmdlQXJjUmFkaXVzK24pKyIgMCAwIDAgIisoYS5sZWZ0RnVsbEV4dGVudCtuKSsiICIrYS52ZXJ0aWNhbExlZnRJbm5lckV4dGVudCsiTCIrKGEubGVmdEZ1bGxFeHRlbnQrbikrIiAiKyhhLnNvdXJjZVkrYS5sZWZ0U21hbGxBcmNSYWRpdXMpKyJBIisoYS5sZWZ0TGFyZ2VBcmNSYWRpdXMrbikrIiAiKyhhLmxlZnRTbWFsbEFyY1JhZGl1cytuKSsiIDAgMCAwICIrYS5sZWZ0SW5uZXJFeHRlbnQrIiAiKyhhLnNvdXJjZVktbikrIkwiK2Euc291cmNlWCsiICIrKGEuc291cmNlWS1uKSsiTCIrYS5zb3VyY2VYKyIgIisoYS5zb3VyY2VZK24pKyJMIithLmxlZnRJbm5lckV4dGVudCsiICIrKGEuc291cmNlWStuKSsiQSIrKGEubGVmdExhcmdlQXJjUmFkaXVzLW4pKyIgIisoYS5sZWZ0U21hbGxBcmNSYWRpdXMtbikrIiAwIDAgMSAiKyhhLmxlZnRGdWxsRXh0ZW50LW4pKyIgIisoYS5zb3VyY2VZK2EubGVmdFNtYWxsQXJjUmFkaXVzKSsiTCIrKGEubGVmdEZ1bGxFeHRlbnQtbikrIiAiK2EudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQrIkEiKyhhLmxlZnRMYXJnZUFyY1JhZGl1cy1uKSsiICIrKGEubGVmdExhcmdlQXJjUmFkaXVzLW4pKyIgMCAwIDEgIithLmxlZnRJbm5lckV4dGVudCsiICIrKGEudmVydGljYWxGdWxsRXh0ZW50LW4pKyJMIithLnJpZ2h0SW5uZXJFeHRlbnQrIiAiKyhhLnZlcnRpY2FsRnVsbEV4dGVudC1uKSsiQSIrKGEucmlnaHRMYXJnZUFyY1JhZGl1cy1uKSsiICIrKGEucmlnaHRMYXJnZUFyY1JhZGl1cy1uKSsiIDAgMCAxICIrKGEucmlnaHRGdWxsRXh0ZW50K24pKyIgIithLnZlcnRpY2FsUmlnaHRJbm5lckV4dGVudCsiTCIrKGEucmlnaHRGdWxsRXh0ZW50K24pKyIgIisoYS50YXJnZXRZK2EucmlnaHRTbWFsbEFyY1JhZGl1cykrIkEiKyhhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMtbikrIiAiKyhhLnJpZ2h0U21hbGxBcmNSYWRpdXMtbikrIiAwIDAgMSAiK2EucmlnaHRJbm5lckV4dGVudCsiICIrKGEudGFyZ2V0WStuKSsiTCIrYS50YXJnZXRYKyIgIisoYS50YXJnZXRZK24pKyJaIjt2YXIgcixuLGEsaT1lLmxpbmsuc291cmNlLngxLG89ZS5saW5rLnRhcmdldC54MCxzPXYoaSxvKSxsPXModCksYz1zKDEtdCksdT1lLmxpbmsueTAtZS5saW5rLndpZHRoLzIsaD1lLmxpbmsueTArZS5saW5rLndpZHRoLzIsZj1lLmxpbmsueTEtZS5saW5rLndpZHRoLzIscD1lLmxpbmsueTErZS5saW5rLndpZHRoLzI7cmV0dXJuIk0iK2krIiwiK3UrIkMiK2wrIiwiK3UrIiAiK2MrIiwiK2YrIiAiK28rIiwiK2YrIkwiK28rIiwiK3ArIkMiK2MrIiwiK3ArIiAiK2wrIiwiK2grIiAiK2krIiwiK2grIloifX1mdW5jdGlvbiB4KHQpe3QuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrdC5ub2RlLngwLnRvRml4ZWQoMykrIiwgIit0Lm5vZGUueTAudG9GaXhlZCgzKSsiKSJ9KX1mdW5jdGlvbiBiKHQpe3QuY2FsbCh4KX1mdW5jdGlvbiBfKHQsZSl7dC5jYWxsKGIpLGUuYXR0cigiZCIseSgpKX1mdW5jdGlvbiB3KHQpe3QuYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5vZGUueDEtdC5ub2RlLngwfSkuYXR0cigiaGVpZ2h0IixmdW5jdGlvbih0KXtyZXR1cm4gdC52aXNpYmxlSGVpZ2h0fSl9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdC5saW5rLndpZHRoPjF8fHQubGlua0xpbmVXaWR0aD4wfWZ1bmN0aW9uIFQodCl7cmV0dXJuInRyYW5zbGF0ZSgiK3QudHJhbnNsYXRlWCsiLCIrdC50cmFuc2xhdGVZKyIpIisodC5ob3Jpem9udGFsPyJtYXRyaXgoMSAwIDAgMSAwIDApIjoibWF0cml4KDAgMSAxIDAgMCAwKSIpfWZ1bmN0aW9uIE0odCl7cmV0dXJuInRyYW5zbGF0ZSgiKyh0Lmhvcml6b250YWw/MDp0LmxhYmVsWSkrIiAiKyh0Lmhvcml6b250YWw/dC5sYWJlbFk6MCkrIikifWZ1bmN0aW9uIEEodCl7cmV0dXJuIGEuc3ZnLmxpbmUoKShbW3QuaG9yaXpvbnRhbD90LmxlZnQ/LXQuc2l6ZUFjcm9zczp0LnZpc2libGVXaWR0aCtuLm5vZGVUZXh0T2Zmc2V0SG9yaXpvbnRhbDpuLm5vZGVUZXh0T2Zmc2V0SG9yaXpvbnRhbCwwXSxbdC5ob3Jpem9udGFsP3QubGVmdD8tbi5ub2RlVGV4dE9mZnNldEhvcml6b250YWw6dC5zaXplQWNyb3NzOnQudmlzaWJsZUhlaWdodC1uLm5vZGVUZXh0T2Zmc2V0SG9yaXpvbnRhbCwwXV0pfWZ1bmN0aW9uIFModCl7cmV0dXJuIHQuaG9yaXpvbnRhbD8ibWF0cml4KDEgMCAwIDEgMCAwKSI6Im1hdHJpeCgwIDEgMSAwIDAgMCkifWZ1bmN0aW9uIEUodCl7cmV0dXJuIHQuaG9yaXpvbnRhbD8ic2NhbGUoMSAxKSI6InNjYWxlKC0xIDEpIn1mdW5jdGlvbiBMKHQpe3JldHVybiB0LmRhcmtCYWNrZ3JvdW5kJiYhdC5ob3Jpem9udGFsPyJyZ2IoMjU1LDI1NSwyNTUpIjoicmdiKDAsMCwwKSJ9ZnVuY3Rpb24gQyh0KXtyZXR1cm4gdC5ob3Jpem9udGFsJiZ0LmxlZnQ/IjEwMCUiOiIwJSJ9ZnVuY3Rpb24gUCh0LGUscil7dC5vbigiLmJhc2ljIixudWxsKS5vbigibW91c2VvdmVyLmJhc2ljIixmdW5jdGlvbih0KXt0LmludGVyYWN0aW9uU3RhdGUuZHJhZ0luUHJvZ3Jlc3N8fHQucGFydE9mR3JvdXB8fChyLmhvdmVyKHRoaXMsdCxlKSx0LmludGVyYWN0aW9uU3RhdGUuaG92ZXJlZD1bdGhpcyx0XSl9KS5vbigibW91c2Vtb3ZlLmJhc2ljIixmdW5jdGlvbih0KXt0LmludGVyYWN0aW9uU3RhdGUuZHJhZ0luUHJvZ3Jlc3N8fHQucGFydE9mR3JvdXB8fChyLmZvbGxvdyh0aGlzLHQpLHQuaW50ZXJhY3Rpb25TdGF0ZS5ob3ZlcmVkPVt0aGlzLHRdKX0pLm9uKCJtb3VzZW91dC5iYXNpYyIsZnVuY3Rpb24odCl7dC5pbnRlcmFjdGlvblN0YXRlLmRyYWdJblByb2dyZXNzfHx0LnBhcnRPZkdyb3VwfHwoci51bmhvdmVyKHRoaXMsdCxlKSx0LmludGVyYWN0aW9uU3RhdGUuaG92ZXJlZD0hMSl9KS5vbigiY2xpY2suYmFzaWMiLGZ1bmN0aW9uKHQpe3QuaW50ZXJhY3Rpb25TdGF0ZS5ob3ZlcmVkJiYoci51bmhvdmVyKHRoaXMsdCxlKSx0LmludGVyYWN0aW9uU3RhdGUuaG92ZXJlZD0hMSksdC5pbnRlcmFjdGlvblN0YXRlLmRyYWdJblByb2dyZXNzfHx0LnBhcnRPZkdyb3VwfHxyLnNlbGVjdCh0aGlzLHQsZSl9KX1mdW5jdGlvbiBPKHQsZSxyLGkpe3ZhciBvPWEuYmVoYXZpb3IuZHJhZygpLm9yaWdpbihmdW5jdGlvbih0KXtyZXR1cm57eDp0Lm5vZGUueDArdC52aXNpYmxlV2lkdGgvMix5OnQubm9kZS55MCt0LnZpc2libGVIZWlnaHQvMn19KS5vbigiZHJhZ3N0YXJ0IixmdW5jdGlvbihhKXtpZigiZml4ZWQiIT09YS5hcnJhbmdlbWVudCYmKGguZW5zdXJlU2luZ2xlKGkuX2Z1bGxMYXlvdXQuX2luZm9sYXllciwiZyIsImRyYWdjb3ZlciIsZnVuY3Rpb24odCl7aS5fZnVsbExheW91dC5fZHJhZ0NvdmVyPXR9KSxoLnJhaXNlVG9Ub3AodGhpcyksYS5pbnRlcmFjdGlvblN0YXRlLmRyYWdJblByb2dyZXNzPWEubm9kZSxJKGEubm9kZSksYS5pbnRlcmFjdGlvblN0YXRlLmhvdmVyZWQmJihyLm5vZGVFdmVudHMudW5ob3Zlci5hcHBseSgwLGEuaW50ZXJhY3Rpb25TdGF0ZS5ob3ZlcmVkKSxhLmludGVyYWN0aW9uU3RhdGUuaG92ZXJlZD0hMSksInNuYXAiPT09YS5hcnJhbmdlbWVudCkpe3ZhciBvPWEudHJhY2VJZCsifCIrYS5rZXk7YS5mb3JjZUxheW91dHNbb10/YS5mb3JjZUxheW91dHNbb10uYWxwaGEoMSk6ZnVuY3Rpb24odCxlLHIsYSl7IWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0ueT0odFtlXS55MCt0W2VdLnkxKS8yLHRbZV0ueD0odFtlXS54MCt0W2VdLngxKS8yfShyLmdyYXBoLm5vZGVzKTt2YXIgaT1yLmdyYXBoLm5vZGVzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5vcmlnaW5hbFg9PT1yLm5vZGUub3JpZ2luYWxYfSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiF0LnBhcnRPZkdyb3VwfSk7ci5mb3JjZUxheW91dHNbZV09dS5mb3JjZVNpbXVsYXRpb24oaSkuYWxwaGFEZWNheSgwKS5mb3JjZSgiY29sbGlkZSIsdS5mb3JjZUNvbGxpZGUoKS5yYWRpdXMoZnVuY3Rpb24odCl7cmV0dXJuIHQuZHkvMityLm5vZGVQYWQvMn0pLnN0cmVuZ3RoKDEpLml0ZXJhdGlvbnMobi5mb3JjZUl0ZXJhdGlvbnMpKS5mb3JjZSgiY29uc3RyYWluIixmdW5jdGlvbih0LGUscixhKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBvPXJbaV07bz09PWEuaW50ZXJhY3Rpb25TdGF0ZS5kcmFnSW5Qcm9ncmVzcz8oby54PW8ubGFzdERyYWdnZWRYLG8ueT1vLmxhc3REcmFnZ2VkWSk6KG8udng9KG8ub3JpZ2luYWxYLW8ueCkvbi5mb3JjZVRpY2tzUGVyRnJhbWUsby55PU1hdGgubWluKGEuc2l6ZS1vLmR5LzIsTWF0aC5tYXgoby5keS8yLG8ueSkpKSx0PU1hdGgubWF4KHQsTWF0aC5hYnMoby52eCksTWF0aC5hYnMoby52eSkpfSFhLmludGVyYWN0aW9uU3RhdGUuZHJhZ0luUHJvZ3Jlc3MmJnQ8LjEmJmEuZm9yY2VMYXlvdXRzW2VdLmFscGhhKCk+MCYmYS5mb3JjZUxheW91dHNbZV0uYWxwaGEoMCl9fSgwLGUsaSxyKSkuc3RvcCgpfSgwLG8sYSksZnVuY3Rpb24odCxlLHIsYSxpKXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIG8oKXt2YXIgcztmb3Iocz0wO3M8bi5mb3JjZVRpY2tzUGVyRnJhbWU7cysrKXIuZm9yY2VMYXlvdXRzW2FdLnRpY2soKTt2YXIgbD1yLmdyYXBoLm5vZGVzO2lmKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0ueTA9dFtlXS55LXRbZV0uZHkvMix0W2VdLnkxPXRbZV0ueTArdFtlXS5keSx0W2VdLngwPXRbZV0ueC10W2VdLmR4LzIsdFtlXS54MT10W2VdLngwK3RbZV0uZHh9KGwpLHIuc2Fua2V5LnVwZGF0ZShyLmdyYXBoKSxfKHQuZmlsdGVyKEQocikpLGUpLHIuZm9yY2VMYXlvdXRzW2FdLmFscGhhKCk+MCl3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKG8pO2Vsc2V7dmFyIGM9ci5ub2RlLm9yaWdpbmFsWDtyLm5vZGUueDA9Yy1yLnZpc2libGVXaWR0aC8yLHIubm9kZS54MT1jK3IudmlzaWJsZVdpZHRoLzIseihyLGkpfX0pfSh0LGUsYSxvLGkpfX0pLm9uKCJkcmFnIixmdW5jdGlvbihyKXtpZigiZml4ZWQiIT09ci5hcnJhbmdlbWVudCl7dmFyIG49YS5ldmVudC54LGk9YS5ldmVudC55OyJzbmFwIj09PXIuYXJyYW5nZW1lbnQ/KHIubm9kZS54MD1uLXIudmlzaWJsZVdpZHRoLzIsci5ub2RlLngxPW4rci52aXNpYmxlV2lkdGgvMixyLm5vZGUueTA9aS1yLnZpc2libGVIZWlnaHQvMixyLm5vZGUueTE9aStyLnZpc2libGVIZWlnaHQvMik6KCJmcmVlZm9ybSI9PT1yLmFycmFuZ2VtZW50JiYoci5ub2RlLngwPW4tci52aXNpYmxlV2lkdGgvMixyLm5vZGUueDE9bityLnZpc2libGVXaWR0aC8yKSxpPU1hdGgubWF4KDAsTWF0aC5taW4oci5zaXplLXIudmlzaWJsZUhlaWdodC8yLGkpKSxyLm5vZGUueTA9aS1yLnZpc2libGVIZWlnaHQvMixyLm5vZGUueTE9aStyLnZpc2libGVIZWlnaHQvMiksSShyLm5vZGUpLCJzbmFwIiE9PXIuYXJyYW5nZW1lbnQmJihyLnNhbmtleS51cGRhdGUoci5ncmFwaCksXyh0LmZpbHRlcihEKHIpKSxlKSl9fSkub24oImRyYWdlbmQiLGZ1bmN0aW9uKHQpe2lmKCJmaXhlZCIhPT10LmFycmFuZ2VtZW50KXt0LmludGVyYWN0aW9uU3RhdGUuZHJhZ0luUHJvZ3Jlc3M9ITE7Zm9yKHZhciBlPTA7ZTx0Lm5vZGUuY2hpbGRyZW5Ob2Rlcy5sZW5ndGg7ZSsrKXQubm9kZS5jaGlsZHJlbk5vZGVzW2VdLng9dC5ub2RlLngsdC5ub2RlLmNoaWxkcmVuTm9kZXNbZV0ueT10Lm5vZGUueTsic25hcCIhPT10LmFycmFuZ2VtZW50JiZ6KHQsaSl9fSk7dC5vbigiLmRyYWciLG51bGwpLmNhbGwobyl9ZnVuY3Rpb24geih0LGUpe2Zvcih2YXIgcj1bXSxuPVtdLGE9MDthPHQuZ3JhcGgubm9kZXMubGVuZ3RoO2ErKyl7dmFyIGk9KHQuZ3JhcGgubm9kZXNbYV0ueDArdC5ncmFwaC5ub2Rlc1thXS54MSkvMixvPSh0LmdyYXBoLm5vZGVzW2FdLnkwK3QuZ3JhcGgubm9kZXNbYV0ueTEpLzI7ci5wdXNoKGkvdC5maWd1cmUud2lkdGgpLG4ucHVzaChvL3QuZmlndXJlLmhlaWdodCl9bS5jYWxsKCJfZ3VpUmVzdHlsZSIsZSx7Im5vZGUueCI6W3JdLCJub2RlLnkiOltuXX0sdC50cmFjZS5pbmRleCkudGhlbihmdW5jdGlvbigpe2UuX2Z1bGxMYXlvdXQuX2RyYWdDb3ZlciYmZS5fZnVsbExheW91dC5fZHJhZ0NvdmVyLnJlbW92ZSgpfSl9ZnVuY3Rpb24gSSh0KXt0Lmxhc3REcmFnZ2VkWD10LngwK3QuZHgvMix0Lmxhc3REcmFnZ2VkWT10LnkwK3QuZHkvMn1mdW5jdGlvbiBEKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlLm9yaWdpbmFsWD09PXQubm9kZS5vcmlnaW5hbFh9fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscix1LGYpe3ZhciB2PSExO2guZW5zdXJlU2luZ2xlKHQuX2Z1bGxMYXlvdXQuX2luZm9sYXllciwiZyIsImZpcnN0LXJlbmRlciIsZnVuY3Rpb24oKXt2PSEwfSk7dmFyIG09dC5fZnVsbExheW91dC5fZHJhZ0NvdmVyLGI9ci5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGcodCkudHJhY2UudmlzaWJsZX0pLm1hcChmdW5jdGlvbih0LGUscil7dmFyIGEsbz1nKGUpLHM9by50cmFjZSx1PXMuZG9tYWluLGY9ImgiPT09cy5vcmllbnRhdGlvbixwPXMubm9kZS5wYWQsZD1zLm5vZGUudGhpY2tuZXNzLHY9dC53aWR0aCoodS54WzFdLXUueFswXSksbT10LmhlaWdodCoodS55WzFdLXUueVswXSkseT1vLl9ub2Rlcyx4PW8uX2xpbmtzLGI9by5jaXJjdWxhcjsoYT1iP2Muc2Fua2V5Q2lyY3VsYXIoKS5jaXJjdWxhckxpbmtHYXAoMCk6bC5zYW5rZXkoKSkuaXRlcmF0aW9ucyhuLnNhbmtleUl0ZXJhdGlvbnMpLnNpemUoZj9bdixtXTpbbSx2XSkubm9kZVdpZHRoKGQpLm5vZGVQYWRkaW5nKHApLm5vZGVJZChmdW5jdGlvbih0KXtyZXR1cm4gdC5wb2ludE51bWJlcn0pLm5vZGVzKHkpLmxpbmtzKHgpO3ZhciBfLHcsayxUPWEoKTtmb3IodmFyIE0gaW4gYS5ub2RlUGFkZGluZygpPHAmJmgud2Fybigibm9kZS5wYWQgd2FzIHJlZHVjZWQgdG8gIixhLm5vZGVQYWRkaW5nKCksIiB0byBmaXQgd2l0aGluIHRoZSBmaWd1cmUuIiksby5fZ3JvdXBMb29rdXApe3ZhciBBLFM9cGFyc2VJbnQoby5fZ3JvdXBMb29rdXBbTV0pO2ZvcihfPTA7XzxULm5vZGVzLmxlbmd0aDtfKyspaWYoVC5ub2Rlc1tfXS5wb2ludE51bWJlcj09PVMpe0E9VC5ub2Rlc1tfXTticmVha31pZihBKXt2YXIgRT17cG9pbnROdW1iZXI6cGFyc2VJbnQoTSkseDA6QS54MCx4MTpBLngxLHkwOkEueTAseTE6QS55MSxwYXJ0T2ZHcm91cDohMCxzb3VyY2VMaW5rczpbXSx0YXJnZXRMaW5rczpbXX07VC5ub2Rlcy51bnNoaWZ0KEUpLEEuY2hpbGRyZW5Ob2Rlcy51bnNoaWZ0KEUpfX1pZihmdW5jdGlvbigpe2ZvcihfPTA7XzxULm5vZGVzLmxlbmd0aDtfKyspe3ZhciB0LGUscj1ULm5vZGVzW19dLG49e307Zm9yKHc9MDt3PHIudGFyZ2V0TGlua3MubGVuZ3RoO3crKyl0PShlPXIudGFyZ2V0TGlua3Nbd10pLnNvdXJjZS5wb2ludE51bWJlcisiOiIrZS50YXJnZXQucG9pbnROdW1iZXIsbi5oYXNPd25Qcm9wZXJ0eSh0KXx8KG5bdF09W10pLG5bdF0ucHVzaChlKTt2YXIgYT1PYmplY3Qua2V5cyhuKTtmb3Iodz0wO3c8YS5sZW5ndGg7dysrKXt2YXIgbz1uW3Q9YVt3XV0scz0wLGw9e307Zm9yKGs9MDtrPG8ubGVuZ3RoO2srKylsWyhlPW9ba10pLmxhYmVsXXx8KGxbZS5sYWJlbF09MCksbFtlLmxhYmVsXSs9ZS52YWx1ZSxzKz1lLnZhbHVlO2ZvcihrPTA7azxvLmxlbmd0aDtrKyspKGU9b1trXSkuZmxvdz17dmFsdWU6cyxsYWJlbENvbmNlbnRyYXRpb246bFtlLmxhYmVsXS9zLGNvbmNlbnRyYXRpb246ZS52YWx1ZS9zLGxpbmtzOm99LGUuY29uY2VudHJhdGlvbnNjYWxlJiYoZS5jb2xvcj1pKGUuY29uY2VudHJhdGlvbnNjYWxlKGUuZmxvdy5sYWJlbENvbmNlbnRyYXRpb24pKSl9dmFyIGM9MDtmb3Iodz0wO3c8ci5zb3VyY2VMaW5rcy5sZW5ndGg7dysrKWMrPXIuc291cmNlTGlua3Nbd10udmFsdWU7Zm9yKHc9MDt3PHIuc291cmNlTGlua3MubGVuZ3RoO3crKykoZT1yLnNvdXJjZUxpbmtzW3ddKS5jb25jZW50cmF0aW9uT3V0PWUudmFsdWUvYzt2YXIgdT0wO2Zvcih3PTA7dzxyLnRhcmdldExpbmtzLmxlbmd0aDt3KyspdSs9ci50YXJnZXRMaW5rc1t3XS52YWx1ZTtmb3Iodz0wO3c8ci50YXJnZXRMaW5rcy5sZW5ndGg7dysrKShlPXIudGFyZ2V0TGlua3Nbd10pLmNvbmNlbnJhdGlvbkluPWUudmFsdWUvdX19KCkscy5ub2RlLngubGVuZ3RoJiZzLm5vZGUueS5sZW5ndGgpe2ZvcihfPTA7XzxNYXRoLm1pbihzLm5vZGUueC5sZW5ndGgscy5ub2RlLnkubGVuZ3RoLFQubm9kZXMubGVuZ3RoKTtfKyspaWYocy5ub2RlLnhbX10mJnMubm9kZS55W19dKXt2YXIgTD1bcy5ub2RlLnhbX10qdixzLm5vZGUueVtfXSptXTtULm5vZGVzW19dLngwPUxbMF0tZC8yLFQubm9kZXNbX10ueDE9TFswXStkLzI7dmFyIEM9VC5ub2Rlc1tfXS55MS1ULm5vZGVzW19dLnkwO1Qubm9kZXNbX10ueTA9TFsxXS1DLzIsVC5ub2Rlc1tfXS55MT1MWzFdK0MvMn0ic25hcCI9PT1zLmFycmFuZ2VtZW50JiZmdW5jdGlvbih0KXt0LmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGUscixuLGE9MCxpPXQubGVuZ3RoO2Zvcih0LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC55MC1lLnkwfSksbj0wO248aTsrK24pKGU9dFtuXSkueTA+PWF8fChyPWEtZS55MCk+MWUtNiYmKGUueTArPXIsZS55MSs9ciksYT1lLnkxK3B9KX0oZnVuY3Rpb24odCl7dmFyIGUscixuPXQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJue3gwOnQueDAsaW5kZXg6ZX19KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueDAtZS54MH0pLGE9W10saT0tMSxvPS0xLzA7Zm9yKF89MDtfPG4ubGVuZ3RoO18rKyl7dmFyIHM9dFtuW19dLmluZGV4XTtzLngwPm8rZCYmKGkrPTEsZT1zLngwKSxvPXMueDAsYVtpXXx8KGFbaV09W10pLGFbaV0ucHVzaChzKSxyPWUtcy54MCxzLngwKz1yLHMueDErPXJ9cmV0dXJuIGF9KHk9VC5ub2RlcykpLGEudXBkYXRlKFQpfXJldHVybntjaXJjdWxhcjpiLGtleTpyLHRyYWNlOnMsZ3VpZDpoLnJhbmRzdHIoKSxob3Jpem9udGFsOmYsd2lkdGg6dixoZWlnaHQ6bSxub2RlUGFkOnMubm9kZS5wYWQsbm9kZUxpbmVDb2xvcjpzLm5vZGUubGluZS5jb2xvcixub2RlTGluZVdpZHRoOnMubm9kZS5saW5lLndpZHRoLGxpbmtMaW5lQ29sb3I6cy5saW5rLmxpbmUuY29sb3IsbGlua0xpbmVXaWR0aDpzLmxpbmsubGluZS53aWR0aCx2YWx1ZUZvcm1hdDpzLnZhbHVlZm9ybWF0LHZhbHVlU3VmZml4OnMudmFsdWVzdWZmaXgsdGV4dEZvbnQ6cy50ZXh0Zm9udCx0cmFuc2xhdGVYOnUueFswXSp0LndpZHRoK3QubWFyZ2luLmwsdHJhbnNsYXRlWTp0LmhlaWdodC11LnlbMV0qdC5oZWlnaHQrdC5tYXJnaW4udCxkcmFnUGFyYWxsZWw6Zj9tOnYsZHJhZ1BlcnBlbmRpY3VsYXI6Zj92Om0sYXJyYW5nZW1lbnQ6cy5hcnJhbmdlbWVudCxzYW5rZXk6YSxncmFwaDpULGZvcmNlTGF5b3V0czp7fSxpbnRlcmFjdGlvblN0YXRlOntkcmFnSW5Qcm9ncmVzczohMSxob3ZlcmVkOiExfX19LmJpbmQobnVsbCx1KSksXz1lLnNlbGVjdEFsbCgiLiIrbi5jbi5zYW5rZXkpLmRhdGEoYixwKTtfLmV4aXQoKS5yZW1vdmUoKSxfLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLnNhbmtleSwhMCkuc3R5bGUoImJveC1zaXppbmciLCJjb250ZW50LWJveCIpLnN0eWxlKCJwb3NpdGlvbiIsImFic29sdXRlIikuc3R5bGUoImxlZnQiLDApLnN0eWxlKCJzaGFwZS1yZW5kZXJpbmciLCJnZW9tZXRyaWNQcmVjaXNpb24iKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhdXRvIikuYXR0cigidHJhbnNmb3JtIixUKSxfLmVhY2goZnVuY3Rpb24oZSxyKXt0Ll9mdWxsRGF0YVtyXS5fc2Fua2V5PWU7dmFyIG49ImJnc2Fua2V5LSIrZS50cmFjZS51aWQrIi0iK3I7aC5lbnN1cmVTaW5nbGUodC5fZnVsbExheW91dC5fZHJhZ2dlcnMsInJlY3QiLG4pLHQuX2Z1bGxEYXRhW3JdLl9iZ1JlY3Q9YS5zZWxlY3QoIi4iK24pLHQuX2Z1bGxEYXRhW3JdLl9iZ1JlY3Quc3R5bGUoInBvaW50ZXItZXZlbnRzIiwiYWxsIikuYXR0cigid2lkdGgiLGUud2lkdGgpLmF0dHIoImhlaWdodCIsZS5oZWlnaHQpLmF0dHIoIngiLGUudHJhbnNsYXRlWCkuYXR0cigieSIsZS50cmFuc2xhdGVZKS5jbGFzc2VkKCJiZ3NhbmtleSIsITApLnN0eWxlKHtmaWxsOiJ0cmFuc3BhcmVudCIsInN0cm9rZS13aWR0aCI6MH0pfSksXy50cmFuc2l0aW9uKCkuZWFzZShuLmVhc2UpLmR1cmF0aW9uKG4uZHVyYXRpb24pLmF0dHIoInRyYW5zZm9ybSIsVCk7dmFyIHo9Xy5zZWxlY3RBbGwoIi4iK24uY24uc2Fua2V5TGlua3MpLmRhdGEoZCxwKTt6LmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLnNhbmtleUxpbmtzLCEwKS5zdHlsZSgiZmlsbCIsIm5vbmUiKTt2YXIgST16LnNlbGVjdEFsbCgiLiIrbi5jbi5zYW5rZXlMaW5rKS5kYXRhKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdyYXBoLmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZX0pLm1hcChmdW5jdGlvbih0LGUscil7dmFyIG49aShlLmNvbG9yKSxhPWUuc291cmNlLmxhYmVsKyJ8IitlLnRhcmdldC5sYWJlbCsiX18iK3I7cmV0dXJuIGUudHJhY2U9dC50cmFjZSxlLmN1cnZlTnVtYmVyPXQudHJhY2UuaW5kZXgse2NpcmN1bGFyOnQuY2lyY3VsYXIsa2V5OmEsdHJhY2VJZDp0LmtleSxwb2ludE51bWJlcjplLnBvaW50TnVtYmVyLGxpbms6ZSx0aW55Q29sb3JIdWU6by50aW55UkdCKG4pLHRpbnlDb2xvckFscGhhOm4uZ2V0QWxwaGEoKSxsaW5rUGF0aDp5LGxpbmtMaW5lQ29sb3I6dC5saW5rTGluZUNvbG9yLGxpbmtMaW5lV2lkdGg6dC5saW5rTGluZVdpZHRoLHZhbHVlRm9ybWF0OnQudmFsdWVGb3JtYXQsdmFsdWVTdWZmaXg6dC52YWx1ZVN1ZmZpeCxzYW5rZXk6dC5zYW5rZXkscGFyZW50OnQsaW50ZXJhY3Rpb25TdGF0ZTp0LmludGVyYWN0aW9uU3RhdGUsZmxvdzplLmZsb3d9fS5iaW5kKG51bGwsdCkpfSxwKTtJLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZChuLmNuLnNhbmtleUxpbmssITApLmNhbGwoUCxfLGYubGlua0V2ZW50cyksSS5zdHlsZSgic3Ryb2tlIixmdW5jdGlvbih0KXtyZXR1cm4gayh0KT9vLnRpbnlSR0IoaSh0LmxpbmtMaW5lQ29sb3IpKTp0LnRpbnlDb2xvckh1ZX0pLnN0eWxlKCJzdHJva2Utb3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIGsodCk/by5vcGFjaXR5KHQubGlua0xpbmVDb2xvcik6dC50aW55Q29sb3JBbHBoYX0pLnN0eWxlKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdC50aW55Q29sb3JIdWV9KS5zdHlsZSgiZmlsbC1vcGFjaXR5IixmdW5jdGlvbih0KXtyZXR1cm4gdC50aW55Q29sb3JBbHBoYX0pLnN0eWxlKCJzdHJva2Utd2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiBrKHQpP3QubGlua0xpbmVXaWR0aDoxfSkuYXR0cigiZCIseSgpKSxJLnN0eWxlKCJvcGFjaXR5IixmdW5jdGlvbigpe3JldHVybiB0Ll9jb250ZXh0LnN0YXRpY1Bsb3R8fHZ8fG0/MTowfSkudHJhbnNpdGlvbigpLmVhc2Uobi5lYXNlKS5kdXJhdGlvbihuLmR1cmF0aW9uKS5zdHlsZSgib3BhY2l0eSIsMSksSS5leGl0KCkudHJhbnNpdGlvbigpLmVhc2Uobi5lYXNlKS5kdXJhdGlvbihuLmR1cmF0aW9uKS5zdHlsZSgib3BhY2l0eSIsMCkucmVtb3ZlKCk7dmFyIEQ9Xy5zZWxlY3RBbGwoIi4iK24uY24uc2Fua2V5Tm9kZVNldCkuZGF0YShkLHApO0QuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKG4uY24uc2Fua2V5Tm9kZVNldCwhMCksRC5zdHlsZSgiY3Vyc29yIixmdW5jdGlvbih0KXtzd2l0Y2godC5hcnJhbmdlbWVudCl7Y2FzZSJmaXhlZCI6cmV0dXJuImRlZmF1bHQiO2Nhc2UicGVycGVuZGljdWxhciI6cmV0dXJuIm5zLXJlc2l6ZSI7ZGVmYXVsdDpyZXR1cm4ibW92ZSJ9fSk7dmFyIFI9RC5zZWxlY3RBbGwoIi4iK24uY24uc2Fua2V5Tm9kZSkuZGF0YShmdW5jdGlvbih0KXt2YXIgZT10LmdyYXBoLm5vZGVzO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZSxyPVtdO2ZvcihlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXS5vcmlnaW5hbFg9KHRbZV0ueDArdFtlXS54MSkvMix0W2VdLm9yaWdpbmFsWT0odFtlXS55MCt0W2VdLnkxKS8yLC0xPT09ci5pbmRleE9mKHRbZV0ub3JpZ2luYWxYKSYmci5wdXNoKHRbZV0ub3JpZ2luYWxYKTtmb3Ioci5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pLGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdLm9yaWdpbmFsTGF5ZXJJbmRleD1yLmluZGV4T2YodFtlXS5vcmlnaW5hbFgpLHRbZV0ub3JpZ2luYWxMYXllcj10W2VdLm9yaWdpbmFsTGF5ZXJJbmRleC8oci5sZW5ndGgtMSl9KGUpLGUubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIHI9aShlLmNvbG9yKSxhPW4ubm9kZVBhZEFjcm9zcyxzPXQubm9kZVBhZC8yO2UuZHg9ZS54MS1lLngwLGUuZHk9ZS55MS1lLnkwO3ZhciBsPWUuZHgsYz1NYXRoLm1heCguNSxlLmR5KSx1PSJub2RlXyIrZS5wb2ludE51bWJlcjtyZXR1cm4gZS5ncm91cCYmKHU9aC5yYW5kc3RyKCkpLGUudHJhY2U9dC50cmFjZSxlLmN1cnZlTnVtYmVyPXQudHJhY2UuaW5kZXgse2luZGV4OmUucG9pbnROdW1iZXIsa2V5OnUscGFydE9mR3JvdXA6ZS5wYXJ0T2ZHcm91cHx8ITEsZ3JvdXA6ZS5ncm91cCx0cmFjZUlkOnQua2V5LHRyYWNlOnQudHJhY2Usbm9kZTplLG5vZGVQYWQ6dC5ub2RlUGFkLG5vZGVMaW5lQ29sb3I6dC5ub2RlTGluZUNvbG9yLG5vZGVMaW5lV2lkdGg6dC5ub2RlTGluZVdpZHRoLHRleHRGb250OnQudGV4dEZvbnQsc2l6ZTp0Lmhvcml6b250YWw/dC5oZWlnaHQ6dC53aWR0aCx2aXNpYmxlV2lkdGg6TWF0aC5jZWlsKGwpLHZpc2libGVIZWlnaHQ6Yyx6b25lWDotYSx6b25lWTotcyx6b25lV2lkdGg6bCsyKmEsem9uZUhlaWdodDpjKzIqcyxsYWJlbFk6dC5ob3Jpem9udGFsP2UuZHkvMisxOmUuZHgvMisxLGxlZnQ6MT09PWUub3JpZ2luYWxMYXllcixzaXplQWNyb3NzOnQud2lkdGgsZm9yY2VMYXlvdXRzOnQuZm9yY2VMYXlvdXRzLGhvcml6b250YWw6dC5ob3Jpem9udGFsLGRhcmtCYWNrZ3JvdW5kOnIuZ2V0QnJpZ2h0bmVzcygpPD0xMjgsdGlueUNvbG9ySHVlOm8udGlueVJHQihyKSx0aW55Q29sb3JBbHBoYTpyLmdldEFscGhhKCksdmFsdWVGb3JtYXQ6dC52YWx1ZUZvcm1hdCx2YWx1ZVN1ZmZpeDp0LnZhbHVlU3VmZml4LHNhbmtleTp0LnNhbmtleSxncmFwaDp0LmdyYXBoLGFycmFuZ2VtZW50OnQuYXJyYW5nZW1lbnQsdW5pcXVlTm9kZUxhYmVsUGF0aElkOlt0Lmd1aWQsdC5rZXksdV0uam9pbigiXyIpLGludGVyYWN0aW9uU3RhdGU6dC5pbnRlcmFjdGlvblN0YXRlLGZpZ3VyZTp0fX0uYmluZChudWxsLHQpKX0scCk7Ui5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5jbi5zYW5rZXlOb2RlLCEwKS5jYWxsKHgpLnN0eWxlKCJvcGFjaXR5IixmdW5jdGlvbihlKXtyZXR1cm4hdC5fY29udGV4dC5zdGF0aWNQbG90JiYhdnx8ZS5wYXJ0T2ZHcm91cD8wOjF9KSxSLmNhbGwoUCxfLGYubm9kZUV2ZW50cykuY2FsbChPLEksZix0KSxSLnRyYW5zaXRpb24oKS5lYXNlKG4uZWFzZSkuZHVyYXRpb24obi5kdXJhdGlvbikuY2FsbCh4KS5zdHlsZSgib3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHQucGFydE9mR3JvdXA/MDoxfSksUi5leGl0KCkudHJhbnNpdGlvbigpLmVhc2Uobi5lYXNlKS5kdXJhdGlvbihuLmR1cmF0aW9uKS5zdHlsZSgib3BhY2l0eSIsMCkucmVtb3ZlKCk7dmFyIEY9Ui5zZWxlY3RBbGwoIi4iK24uY24ubm9kZVJlY3QpLmRhdGEoZCk7Ri5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQobi5jbi5ub2RlUmVjdCwhMCkuY2FsbCh3KSxGLnN0eWxlKCJzdHJva2Utd2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5vZGVMaW5lV2lkdGh9KS5zdHlsZSgic3Ryb2tlIixmdW5jdGlvbih0KXtyZXR1cm4gby50aW55UkdCKGkodC5ub2RlTGluZUNvbG9yKSl9KS5zdHlsZSgic3Ryb2tlLW9wYWNpdHkiLGZ1bmN0aW9uKHQpe3JldHVybiBvLm9wYWNpdHkodC5ub2RlTGluZUNvbG9yKX0pLnN0eWxlKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdC50aW55Q29sb3JIdWV9KS5zdHlsZSgiZmlsbC1vcGFjaXR5IixmdW5jdGlvbih0KXtyZXR1cm4gdC50aW55Q29sb3JBbHBoYX0pLEYudHJhbnNpdGlvbigpLmVhc2Uobi5lYXNlKS5kdXJhdGlvbihuLmR1cmF0aW9uKS5jYWxsKHcpO3ZhciBCPVIuc2VsZWN0QWxsKCIuIituLmNuLm5vZGVDYXB0dXJlKS5kYXRhKGQpO0IuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKG4uY24ubm9kZUNhcHR1cmUsITApLnN0eWxlKCJmaWxsLW9wYWNpdHkiLDApLEIuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIHQuem9uZVh9KS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdC56b25lWX0pLmF0dHIoIndpZHRoIixmdW5jdGlvbih0KXtyZXR1cm4gdC56b25lV2lkdGh9KS5hdHRyKCJoZWlnaHQiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnpvbmVIZWlnaHR9KTt2YXIgTj1SLnNlbGVjdEFsbCgiLiIrbi5jbi5ub2RlQ2VudGVyZWQpLmRhdGEoZCk7Ti5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5jbi5ub2RlQ2VudGVyZWQsITApLmF0dHIoInRyYW5zZm9ybSIsTSksTi50cmFuc2l0aW9uKCkuZWFzZShuLmVhc2UpLmR1cmF0aW9uKG4uZHVyYXRpb24pLmF0dHIoInRyYW5zZm9ybSIsTSk7dmFyIGo9Ti5zZWxlY3RBbGwoIi4iK24uY24ubm9kZUxhYmVsR3VpZGUpLmRhdGEoZCk7ai5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmNsYXNzZWQobi5jbi5ub2RlTGFiZWxHdWlkZSwhMCkuYXR0cigiaWQiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnVuaXF1ZU5vZGVMYWJlbFBhdGhJZH0pLmF0dHIoImQiLEEpLmF0dHIoInRyYW5zZm9ybSIsUyksai50cmFuc2l0aW9uKCkuZWFzZShuLmVhc2UpLmR1cmF0aW9uKG4uZHVyYXRpb24pLmF0dHIoImQiLEEpLmF0dHIoInRyYW5zZm9ybSIsUyk7dmFyIFY9Ti5zZWxlY3RBbGwoIi4iK24uY24ubm9kZUxhYmVsKS5kYXRhKGQpO1YuZW50ZXIoKS5hcHBlbmQoInRleHQiKS5jbGFzc2VkKG4uY24ubm9kZUxhYmVsLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLEUpLnN0eWxlKCJ1c2VyLXNlbGVjdCIsIm5vbmUiKS5zdHlsZSgiY3Vyc29yIiwiZGVmYXVsdCIpLnN0eWxlKCJmaWxsIiwiYmxhY2siKSxWLnN0eWxlKCJ0ZXh0LXNoYWRvdyIsZnVuY3Rpb24odCl7cmV0dXJuIHQuaG9yaXpvbnRhbD8iLTFweCAxcHggMXB4ICNmZmYsIDFweCAxcHggMXB4ICNmZmYsIDFweCAtMXB4IDFweCAjZmZmLCAtMXB4IC0xcHggMXB4ICNmZmYiOiJub25lIn0pLmVhY2goZnVuY3Rpb24odCl7cy5mb250KFYsdC50ZXh0Rm9udCl9KSxWLnRyYW5zaXRpb24oKS5lYXNlKG4uZWFzZSkuZHVyYXRpb24obi5kdXJhdGlvbikuYXR0cigidHJhbnNmb3JtIixFKTt2YXIgVT1WLnNlbGVjdEFsbCgiLiIrbi5jbi5ub2RlTGFiZWxUZXh0UGF0aCkuZGF0YShkKTtVLmVudGVyKCkuYXBwZW5kKCJ0ZXh0UGF0aCIpLmNsYXNzZWQobi5jbi5ub2RlTGFiZWxUZXh0UGF0aCwhMCkuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikuYXR0cigieGxpbms6aHJlZiIsZnVuY3Rpb24odCl7cmV0dXJuIiMiK3QudW5pcXVlTm9kZUxhYmVsUGF0aElkfSkuYXR0cigic3RhcnRPZmZzZXQiLEMpLnN0eWxlKCJmaWxsIixMKSxVLnRleHQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaG9yaXpvbnRhbHx8dC5ub2RlLmR5PjU/dC5ub2RlLmxhYmVsOiIifSkuYXR0cigidGV4dC1hbmNob3IiLGZ1bmN0aW9uKHQpe3JldHVybiB0Lmhvcml6b250YWwmJnQubGVmdD8iZW5kIjoic3RhcnQifSksVS50cmFuc2l0aW9uKCkuZWFzZShuLmVhc2UpLmR1cmF0aW9uKG4uZHVyYXRpb24pLmF0dHIoInN0YXJ0T2Zmc2V0IixDKS5zdHlsZSgiZmlsbCIsTCl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ3VwIjo3MTUsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4vY29uc3RhbnRzIjoxMTEzLCJAcGxvdGx5L2QzLXNhbmtleSI6NTYsIkBwbG90bHkvZDMtc2Fua2V5LWNpcmN1bGFyIjo1NSxkMzoxNjUsImQzLWZvcmNlIjoxNTgsImQzLWludGVycG9sYXRlIjoxNjAsdGlueWNvbG9yMjo1MzZ9XSwxMTE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPXQuY2RbMF0udHJhY2UsYT1uLl9zYW5rZXkuZ3JhcGgubm9kZXMsaT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldO2lmKCFvLnBhcnRPZkdyb3VwKXt2YXIgcz1bKG8ueDArby54MSkvMiwoby55MCtvLnkxKS8yXTsidiI9PT1uLm9yaWVudGF0aW9uJiZzLnJldmVyc2UoKSxlJiZlLmNvbnRhaW5zKHMsITEsaSx0KSYmci5wdXNoKHtwb2ludE51bWJlcjpvLnBvaW50TnVtYmVyfSl9fXJldHVybiByfX0se31dLDExMTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspdFtyXS5pPXI7bi5tZXJnZUFycmF5KGUudGV4dCx0LCJ0eCIpLG4ubWVyZ2VBcnJheShlLnRleHR0ZW1wbGF0ZSx0LCJ0eHQiKSxuLm1lcmdlQXJyYXkoZS5ob3ZlcnRleHQsdCwiaHR4Iiksbi5tZXJnZUFycmF5KGUuY3VzdG9tZGF0YSx0LCJkYXRhIiksbi5tZXJnZUFycmF5KGUudGV4dHBvc2l0aW9uLHQsInRwIiksZS50ZXh0Zm9udCYmKG4ubWVyZ2VBcnJheUNhc3RQb3NpdGl2ZShlLnRleHRmb250LnNpemUsdCwidHMiKSxuLm1lcmdlQXJyYXkoZS50ZXh0Zm9udC5jb2xvcix0LCJ0YyIpLG4ubWVyZ2VBcnJheShlLnRleHRmb250LmZhbWlseSx0LCJ0ZiIpKTt2YXIgYT1lLm1hcmtlcjtpZihhKXtuLm1lcmdlQXJyYXlDYXN0UG9zaXRpdmUoYS5zaXplLHQsIm1zIiksbi5tZXJnZUFycmF5Q2FzdFBvc2l0aXZlKGEub3BhY2l0eSx0LCJtbyIpLG4ubWVyZ2VBcnJheShhLnN5bWJvbCx0LCJteCIpLG4ubWVyZ2VBcnJheShhLmNvbG9yLHQsIm1jIik7dmFyIGk9YS5saW5lO2EubGluZSYmKG4ubWVyZ2VBcnJheShpLmNvbG9yLHQsIm1sYyIpLG4ubWVyZ2VBcnJheUNhc3RQb3NpdGl2ZShpLndpZHRoLHQsIm1sdyIpKTt2YXIgbz1hLmdyYWRpZW50O28mJiJub25lIiE9PW8udHlwZSYmKG4ubWVyZ2VBcnJheShvLnR5cGUsdCwibWd0Iiksbi5tZXJnZUFycmF5KG8uY29sb3IsdCwibWdjIikpfX19LHsiLi4vLi4vbGliIjo3MTd9XSwxMTIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS50ZXh0dGVtcGxhdGVBdHRycyxhPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyIpLmRhc2gsbD10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxjPXQoIi4vY29uc3RhbnRzIiksdT10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdDtlLmV4cG9ydHM9e3g6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIixhbmltOiEwfSx4MDp7dmFsVHlwZToiYW55IixkZmx0OjAsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMiLGFuaW06ITB9LGR4Ont2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MSxlZGl0VHlwZToiY2FsYyIsYW5pbTohMH0seTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMiLGFuaW06ITB9LHkwOnt2YWxUeXBlOiJhbnkiLGRmbHQ6MCxlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyIsYW5pbTohMH0sZHk6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIixhbmltOiEwfSxzdGFja2dyb3VwOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxvcmllbnRhdGlvbjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsidiIsImgiXSxlZGl0VHlwZToiY2FsYyJ9LGdyb3Vwbm9ybTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiIiwiZnJhY3Rpb24iLCJwZXJjZW50Il0sZGZsdDoiIixlZGl0VHlwZToiY2FsYyJ9LHN0YWNrZ2Fwczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiaW5mZXIgemVybyIsImludGVycG9sYXRlIl0sZGZsdDoiaW5mZXIgemVybyIsZWRpdFR5cGU6ImNhbGMifSx0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyJ9LHRleHR0ZW1wbGF0ZTpuKHt9LHt9KSxob3ZlcnRleHQ6e3ZhbFR5cGU6InN0cmluZyIsZGZsdDoiIixhcnJheU9rOiEwLGVkaXRUeXBlOiJzdHlsZSJ9LG1vZGU6e3ZhbFR5cGU6ImZsYWdsaXN0IixmbGFnczpbImxpbmVzIiwibWFya2VycyIsInRleHQiXSxleHRyYXM6WyJub25lIl0sZWRpdFR5cGU6ImNhbGMifSxob3Zlcm9uOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJwb2ludHMiLCJmaWxscyJdLGVkaXRUeXBlOiJzdHlsZSJ9LGhvdmVydGVtcGxhdGU6YSh7fSx7a2V5czpjLmV2ZW50RGF0YUtleXN9KSxsaW5lOntjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJzdHlsZSIsYW5pbTohMH0sd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZGZsdDoyLGVkaXRUeXBlOiJzdHlsZSIsYW5pbTohMH0sc2hhcGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImxpbmVhciIsInNwbGluZSIsImh2IiwidmgiLCJodmgiLCJ2aHYiXSxkZmx0OiJsaW5lYXIiLGVkaXRUeXBlOiJwbG90In0sc21vb3RoaW5nOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLjMsZGZsdDoxLGVkaXRUeXBlOiJwbG90In0sZGFzaDp1KHt9LHMse2VkaXRUeXBlOiJzdHlsZSJ9KSxzaW1wbGlmeTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0sY29ubmVjdGdhcHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSxjbGlwb25heGlzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJwbG90In0sZmlsbDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsibm9uZSIsInRvemVyb3kiLCJ0b3plcm94IiwidG9uZXh0eSIsInRvbmV4dHgiLCJ0b3NlbGYiLCJ0b25leHQiXSxlZGl0VHlwZToiY2FsYyJ9LGZpbGxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJzdHlsZSIsYW5pbTohMH0sbWFya2VyOnUoe3N5bWJvbDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOmwuc3ltYm9sTGlzdCxkZmx0OiJjaXJjbGUiLGFycmF5T2s6ITAsZWRpdFR5cGU6InN0eWxlIn0sb3BhY2l0eTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxhcnJheU9rOiEwLGVkaXRUeXBlOiJzdHlsZSIsYW5pbTohMH0sc2l6ZTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjYsYXJyYXlPazohMCxlZGl0VHlwZToiY2FsYyIsYW5pbTohMH0sbWF4ZGlzcGxheWVkOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGRmbHQ6MCxlZGl0VHlwZToicGxvdCJ9LHNpemVyZWY6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sc2l6ZW1pbjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxzaXplbW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiZGlhbWV0ZXIiLCJhcmVhIl0sZGZsdDoiZGlhbWV0ZXIiLGVkaXRUeXBlOiJjYWxjIn0sbGluZTp1KHt3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxhcnJheU9rOiEwLGVkaXRUeXBlOiJzdHlsZSIsYW5pbTohMH0sZWRpdFR5cGU6ImNhbGMifSxpKCJtYXJrZXIubGluZSIse2FuaW06ITB9KSksZ3JhZGllbnQ6e3R5cGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInJhZGlhbCIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsIm5vbmUiXSxhcnJheU9rOiEwLGRmbHQ6Im5vbmUiLGVkaXRUeXBlOiJjYWxjIn0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixhcnJheU9rOiEwLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9LGkoIm1hcmtlciIse2FuaW06ITB9KSksc2VsZWN0ZWQ6e21hcmtlcjp7b3BhY2l0eTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZToic3R5bGUifSxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJzdHlsZSJ9LHNpemU6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn0sdGV4dGZvbnQ6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn0sdW5zZWxlY3RlZDp7bWFya2VyOntvcGFjaXR5Ont2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGVkaXRUeXBlOiJzdHlsZSJ9LGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sc2l6ZTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxlZGl0VHlwZToic3R5bGUifSxlZGl0VHlwZToic3R5bGUifSx0ZXh0Zm9udDp7Y29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToic3R5bGUifSxlZGl0VHlwZToic3R5bGUifSxlZGl0VHlwZToic3R5bGUifSx0ZXh0cG9zaXRpb246e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInRvcCBsZWZ0IiwidG9wIGNlbnRlciIsInRvcCByaWdodCIsIm1pZGRsZSBsZWZ0IiwibWlkZGxlIGNlbnRlciIsIm1pZGRsZSByaWdodCIsImJvdHRvbSBsZWZ0IiwiYm90dG9tIGNlbnRlciIsImJvdHRvbSByaWdodCJdLGRmbHQ6Im1pZGRsZSBjZW50ZXIiLGFycmF5T2s6ITAsZWRpdFR5cGU6ImNhbGMifSx0ZXh0Zm9udDpvKHtlZGl0VHlwZToiY2FsYyIsY29sb3JFZGl0VHlwZToic3R5bGUiLGFycmF5T2s6ITB9KSxyOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHQ6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyI6NjEyLCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyI6NzkxLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4vY29uc3RhbnRzIjoxMTI0fV0sMTEyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLG89dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTSxzPXQoIi4vc3VidHlwZXMiKSxsPXQoIi4vY29sb3JzY2FsZV9jYWxjIiksYz10KCIuL2FycmF5c190b19jYWxjZGF0YSIpLHU9dCgiLi9jYWxjX3NlbGVjdGlvbiIpO2Z1bmN0aW9uIGgodCxlLHIsbixhLG8sbCl7dmFyIGM9ZS5fbGVuZ3RoLHU9dC5fZnVsbExheW91dCxoPXIuX2lkLGY9bi5faWQscD11Ll9maXJzdFNjYXR0ZXJbZChlKV09PT1lLnVpZCx2PShnKGUsdSxyLG4pfHx7fSkub3JpZW50YXRpb24sbT1lLmZpbGw7ci5fbWluRHRpY2s9MCxuLl9taW5EdGljaz0wO3ZhciB5PXtwYWRkZWQ6ITB9LHg9e3BhZGRlZDohMH07bCYmKHkucHBhZD14LnBwYWQ9bCk7dmFyIGI9YzwyfHxhWzBdIT09YVtjLTFdfHxvWzBdIT09b1tjLTFdO2ImJigidG96ZXJveCI9PT1tfHwidG9uZXh0eCI9PT1tJiYocHx8ImgiPT09dikpP3kudG96ZXJvPSEwOihlLmVycm9yX3l8fHt9KS52aXNpYmxlfHwidG9uZXh0eSIhPT1tJiYidG96ZXJveSIhPT1tJiYocy5oYXNNYXJrZXJzKGUpfHxzLmhhc1RleHQoZSkpfHwoeS5wYWRkZWQ9ITEseS5wcGFkPTApLGImJigidG96ZXJveSI9PT1tfHwidG9uZXh0eSI9PT1tJiYocHx8InYiPT09dikpP3gudG96ZXJvPSEwOiJ0b25leHR4IiE9PW0mJiJ0b3plcm94IiE9PW18fCh4LnBhZGRlZD0hMSksaCYmKGUuX2V4dHJlbWVzW2hdPWkuZmluZEV4dHJlbWVzKHIsYSx5KSksZiYmKGUuX2V4dHJlbWVzW2ZdPWkuZmluZEV4dHJlbWVzKG4sbyx4KSl9ZnVuY3Rpb24gZih0LGUpe2lmKHMuaGFzTWFya2Vycyh0KSl7dmFyIHIsbj10Lm1hcmtlcixvPTEuNioodC5tYXJrZXIuc2l6ZXJlZnx8MSk7aWYocj0iYXJlYSI9PT10Lm1hcmtlci5zaXplbW9kZT9mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5zcXJ0KCh0fHwwKS9vKSwzKX06ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KCh0fHwwKS9vLDMpfSxhLmlzQXJyYXlPclR5cGVkQXJyYXkobi5zaXplKSl7dmFyIGw9e3R5cGU6ImxpbmVhciJ9O2kuc2V0Q29udmVydChsKTtmb3IodmFyIGM9bC5tYWtlQ2FsY2RhdGEodC5tYXJrZXIsInNpemUiKSx1PW5ldyBBcnJheShlKSxoPTA7aDxlO2grKyl1W2hdPXIoY1toXSk7cmV0dXJuIHV9cmV0dXJuIHIobi5zaXplKX19ZnVuY3Rpb24gcCh0LGUpe3ZhciByPWQoZSksbj10Ll9maXJzdFNjYXR0ZXI7bltyXXx8KG5bcl09ZS51aWQpfWZ1bmN0aW9uIGQodCl7dmFyIGU9dC5zdGFja2dyb3VwO3JldHVybiB0LnhheGlzK3QueWF4aXMrdC50eXBlKyhlPyItIitlOiIiKX1mdW5jdGlvbiBnKHQsZSxyLG4pe3ZhciBhPXQuc3RhY2tncm91cDtpZihhKXt2YXIgaT1lLl9zY2F0dGVyU3RhY2tPcHRzW3IuX2lkK24uX2lkXVthXSxvPSJ2Ij09PWkub3JpZW50YXRpb24/bjpyO3JldHVybiJsaW5lYXIiPT09by50eXBlfHwibG9nIj09PW8udHlwZT9pOnZvaWQgMH19ZS5leHBvcnRzPXtjYWxjOmZ1bmN0aW9uKHQsZSl7dmFyIHIscyxkLHYsbSx5LHg9dC5fZnVsbExheW91dCxiPWkuZ2V0RnJvbUlkKHQsZS54YXhpc3x8IngiKSxfPWkuZ2V0RnJvbUlkKHQsZS55YXhpc3x8InkiKSx3PWIubWFrZUNhbGNkYXRhKGUsIngiKSxrPV8ubWFrZUNhbGNkYXRhKGUsInkiKSxUPWUuX2xlbmd0aCxNPW5ldyBBcnJheShUKSxBPWUuaWRzLFM9ZyhlLHgsYixfKSxFPSExO3AoeCxlKTt2YXIgTCxDPSJ4IixQPSJ5Ijtmb3IoUz8oYS5wdXNoVW5pcXVlKFMudHJhY2VJbmRpY2VzLGUuX2V4cGFuZGVkSW5kZXgpLChyPSJ2Ij09PVMub3JpZW50YXRpb24pPyhQPSJzIixMPSJ4Iik6KEM9InMiLEw9InkiKSxtPSJpbnRlcnBvbGF0ZSI9PT1TLnN0YWNrZ2Fwcyk6aCh0LGUsYixfLHcsayxmKGUsVCkpLHM9MDtzPFQ7cysrKXt2YXIgTz1NW3NdPXt9LHo9bih3W3NdKSxJPW4oa1tzXSk7eiYmST8oT1tDXT13W3NdLE9bUF09a1tzXSk6UyYmKHI/ejpJKT8oT1tMXT1yP3dbc106a1tzXSxPLmdhcD0hMCxtPyhPLnM9byxFPSEwKTpPLnM9MCk6T1tDXT1PW1BdPW8sQSYmKE8uaWQ9U3RyaW5nKEFbc10pKX1pZihjKE0sZSksbCh0LGUpLHUoTSxlKSxTKXtmb3Iocz0wO3M8TS5sZW5ndGg7KU1bc11bTF09PT1vP00uc3BsaWNlKHMsMSk6cysrO2lmKGEuc29ydChNLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbTF0tZVtMXXx8dC5pLWUuaX0pLEUpe2ZvcihzPTA7czxNLmxlbmd0aC0xJiZNW3NdLmdhcDspcysrO2ZvcigoeT1NW3NdLnMpfHwoeT1NW3NdLnM9MCksZD0wO2Q8cztkKyspTVtkXS5zPXk7Zm9yKHY9TS5sZW5ndGgtMTt2PnMmJk1bdl0uZ2FwOyl2LS07Zm9yKHk9TVt2XS5zLGQ9TS5sZW5ndGgtMTtkPnY7ZC0tKU1bZF0ucz15O2Zvcig7czx2OylpZihNWysrc10uZ2FwKXtmb3IoZD1zKzE7TVtkXS5nYXA7KWQrKztmb3IodmFyIEQ9TVtzLTFdW0xdLFI9TVtzLTFdLnMsRj0oTVtkXS5zLVIpLyhNW2RdW0xdLUQpO3M8ZDspTVtzXS5zPVIrKE1bc11bTF0tRCkqRixzKyt9fX1yZXR1cm4gTX0sY2FsY01hcmtlclNpemU6ZixjYWxjQXhpc0V4cGFuc2lvbjpoLHNldEZpcnN0U2NhdHRlcjpwLGdldFN0YWNrT3B0czpnfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuL2FycmF5c190b19jYWxjZGF0YSI6MTExOSwiLi9jYWxjX3NlbGVjdGlvbiI6MTEyMiwiLi9jb2xvcnNjYWxlX2NhbGMiOjExMjMsIi4vc3VidHlwZXMiOjExNDQsImZhc3QtaXNudW1lcmljIjoyMjh9XSwxMTIyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe24uaXNBcnJheU9yVHlwZWRBcnJheShlLnNlbGVjdGVkcG9pbnRzKSYmbi50YWdTZWxlY3RlZCh0LGUpfX0seyIuLi8uLi9saWIiOjcxN31dLDExMjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2hlbHBlcnMiKS5oYXNDb2xvcnNjYWxlLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiKSxpPXQoIi4vc3VidHlwZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpLmhhc0xpbmVzKGUpJiZuKGUsImxpbmUiKSYmYSh0LGUse3ZhbHM6ZS5saW5lLmNvbG9yLGNvbnRhaW5lclN0cjoibGluZSIsY0xldHRlcjoiYyJ9KSxpLmhhc01hcmtlcnMoZSkmJihuKGUsIm1hcmtlciIpJiZhKHQsZSx7dmFsczplLm1hcmtlci5jb2xvcixjb250YWluZXJTdHI6Im1hcmtlciIsY0xldHRlcjoiYyJ9KSxuKGUsIm1hcmtlci5saW5lIikmJmEodCxlLHt2YWxzOmUubWFya2VyLmxpbmUuY29sb3IsY29udGFpbmVyU3RyOiJtYXJrZXIubGluZSIsY0xldHRlcjoiYyJ9KSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIjo2MDAsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4vc3VidHlwZXMiOjExNDR9XSwxMTI0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17UFRTX0xJTkVTT05MWToyMCxtaW5Ub2xlcmFuY2U6LjIsdG9sZXJhbmNlR3Jvd3RoOjEwLG1heFNjcmVlbnNBd2F5OjIwLGV2ZW50RGF0YUtleXM6W119fSx7fV0sMTEyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NhbGMiKTtmdW5jdGlvbiBhKHQsZSxyLG4sYSxpLG8pe2Fbbl09ITA7dmFyIHM9e2k6bnVsbCxnYXA6ITAsczowfTtpZihzW29dPXIsdC5zcGxpY2UoZSwwLHMpLGUmJnI9PT10W2UtMV1bb10pe3ZhciBsPXRbZS0xXTtzLnM9bC5zLHMuaT1sLmkscy5nYXA9bC5nYXB9ZWxzZSBpJiYocy5zPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRbZS0xXSxpPXRbZSsxXTtyZXR1cm4gaT9hP2EucysoaS5zLWEucykqKHItYVtuXSkvKGlbbl0tYVtuXSk6aS5zOmEuc30odCxlLHIsbykpO2V8fCh0WzBdLnQ9dFsxXS50LHRbMF0udHJhY2U9dFsxXS50cmFjZSxkZWxldGUgdFsxXS50LGRlbGV0ZSB0WzFdLnRyYWNlKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLnhheGlzLGk9ZS55YXhpcyxvPXIuX2lkK2kuX2lkLHM9dC5fZnVsbExheW91dC5fc2NhdHRlclN0YWNrT3B0c1tvXTtpZihzKXt2YXIgbCxjLHUsaCxmLHAsZCxnLHYsbSx5LHgsYixfLHcsaz10LmNhbGNkYXRhO2Zvcih2YXIgVCBpbiBzKXt2YXIgTT0obT1zW1RdKS50cmFjZUluZGljZXM7aWYoTS5sZW5ndGgpe2Zvcih5PSJpbnRlcnBvbGF0ZSI9PT1tLnN0YWNrZ2Fwcyx4PW0uZ3JvdXBub3JtLCJ2Ij09PW0ub3JpZW50YXRpb24/KGI9IngiLF89InkiKTooYj0ieSIsXz0ieCIpLHc9bmV3IEFycmF5KE0ubGVuZ3RoKSxsPTA7bDx3Lmxlbmd0aDtsKyspd1tsXT0hMTtwPWtbTVswXV07dmFyIEE9bmV3IEFycmF5KHAubGVuZ3RoKTtmb3IobD0wO2w8cC5sZW5ndGg7bCsrKUFbbF09cFtsXVtiXTtmb3IobD0xO2w8TS5sZW5ndGg7bCsrKXtmb3IoZj1rW01bbF1dLGM9dT0wO2M8Zi5sZW5ndGg7YysrKXtmb3IoZD1mW2NdW2JdO2Q+QVt1XSYmdTxBLmxlbmd0aDt1KyspYShmLGMsQVt1XSxsLHcseSxiKSxjKys7aWYoZCE9PUFbdV0pe2ZvcihoPTA7aDxsO2grKylhKGtbTVtoXV0sdSxkLGgsdyx5LGIpO0Euc3BsaWNlKHUsMCxkKX11Kyt9Zm9yKDt1PEEubGVuZ3RoO3UrKylhKGYsYyxBW3VdLGwsdyx5LGIpLGMrK312YXIgUz1BLmxlbmd0aDtmb3IoYz0wO2M8cC5sZW5ndGg7YysrKXtmb3IoZz1wW2NdW19dPXBbY10ucyxsPTE7bDxNLmxlbmd0aDtsKyspKGY9a1tNW2xdXSlbMF0udHJhY2UuX3Jhd0xlbmd0aD1mWzBdLnRyYWNlLl9sZW5ndGgsZlswXS50cmFjZS5fbGVuZ3RoPVMsZys9ZltjXS5zLGZbY11bX109ZztpZih4KWZvcih2PSgiZnJhY3Rpb24iPT09eD9nOmcvMTAwKXx8MSxsPTA7bDxNLmxlbmd0aDtsKyspe3ZhciBFPWtbTVtsXV1bY107RVtfXS89dixFLnNOb3JtPUUucy92fX1mb3IobD0wO2w8TS5sZW5ndGg7bCsrKXt2YXIgTD0oZj1rW01bbF1dKVswXS50cmFjZSxDPW4uY2FsY01hcmtlclNpemUoTCxMLl9yYXdMZW5ndGgpLFA9QXJyYXkuaXNBcnJheShDKTtpZihDJiZ3W2xdfHxQKXt2YXIgTz1DO2ZvcihDPW5ldyBBcnJheShTKSxjPTA7YzxTO2MrKylDW2NdPWZbY10uZ2FwPzA6UD9PW2ZbY10uaV06T312YXIgej1uZXcgQXJyYXkoUyksST1uZXcgQXJyYXkoUyk7Zm9yKGM9MDtjPFM7YysrKXpbY109ZltjXS54LElbY109ZltjXS55O24uY2FsY0F4aXNFeHBhbnNpb24odCxMLHIsaSx6LEksQyksZlswXS50Lm9yaWVudGF0aW9uPW0ub3JpZW50YXRpb259fX19fX0seyIuL2NhbGMiOjExMjF9XSwxMTI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIHI9dFtlXTtpZigic2NhdHRlciI9PT1yLnR5cGUpe3ZhciBuPXIuZmlsbDtpZigibm9uZSIhPT1uJiYidG9zZWxmIiE9PW4mJihyLm9wYWNpdHk9dm9pZCAwLCJ0b25leHR5Ij09PW58fCJ0b25leHR4Ij09PW4pKWZvcih2YXIgYT1lLTE7YT49MDthLS0pe3ZhciBpPXRbYV07aWYoInNjYXR0ZXIiPT09aS50eXBlJiZpLnhheGlzPT09ci54YXhpcyYmaS55YXhpcz09PXIueWF4aXMpe2kub3BhY2l0eT12b2lkIDA7YnJlYWt9fX19fX0se31dLDExMjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi9hdHRyaWJ1dGVzIiksbz10KCIuL2NvbnN0YW50cyIpLHM9dCgiLi9zdWJ0eXBlcyIpLGw9dCgiLi94eV9kZWZhdWx0cyIpLGM9dCgiLi9zdGFja19kZWZhdWx0cyIpLHU9dCgiLi9tYXJrZXJfZGVmYXVsdHMiKSxoPXQoIi4vbGluZV9kZWZhdWx0cyIpLGY9dCgiLi9saW5lX3NoYXBlX2RlZmF1bHRzIikscD10KCIuL3RleHRfZGVmYXVsdHMiKSxkPXQoIi4vZmlsbGNvbG9yX2RlZmF1bHRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGcpe2Z1bmN0aW9uIHYocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGkscixhKX12YXIgbT1sKHQsZSxnLHYpO2lmKG18fChlLnZpc2libGU9ITEpLGUudmlzaWJsZSl7dmFyIHk9Yyh0LGUsZyx2KSx4PSF5JiZtPG8uUFRTX0xJTkVTT05MWT8ibGluZXMrbWFya2VycyI6ImxpbmVzIjt2KCJ0ZXh0IiksdigiaG92ZXJ0ZXh0IiksdigibW9kZSIseCkscy5oYXNMaW5lcyhlKSYmKGgodCxlLHIsZyx2KSxmKHQsZSx2KSx2KCJjb25uZWN0Z2FwcyIpLHYoImxpbmUuc2ltcGxpZnkiKSkscy5oYXNNYXJrZXJzKGUpJiZ1KHQsZSxyLGcsdix7Z3JhZGllbnQ6ITB9KSxzLmhhc1RleHQoZSkmJih2KCJ0ZXh0dGVtcGxhdGUiKSxwKHQsZSxnLHYpKTt2YXIgYj1bXTsocy5oYXNNYXJrZXJzKGUpfHxzLmhhc1RleHQoZSkpJiYodigiY2xpcG9uYXhpcyIpLHYoIm1hcmtlci5tYXhkaXNwbGF5ZWQiKSxiLnB1c2goInBvaW50cyIpKSx2KCJmaWxsIix5P3kuZmlsbERmbHQ6Im5vbmUiKSwibm9uZSIhPT1lLmZpbGwmJihkKHQsZSxyLHYpLHMuaGFzTGluZXMoZSl8fGYodCxlLHYpKTt2YXIgXz0oZS5saW5lfHx7fSkuY29sb3Isdz0oZS5tYXJrZXJ8fHt9KS5jb2xvcjsidG9uZXh0IiE9PWUuZmlsbCYmInRvc2VsZiIhPT1lLmZpbGx8fGIucHVzaCgiZmlsbHMiKSx2KCJob3Zlcm9uIixiLmpvaW4oIisiKXx8InBvaW50cyIpLCJmaWxscyIhPT1lLmhvdmVyb24mJnYoImhvdmVydGVtcGxhdGUiKTt2YXIgaz1hLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwic3VwcGx5RGVmYXVsdHMiKTtrKHQsZSxffHx3fHxyLHtheGlzOiJ5In0pLGsodCxlLF98fHd8fHIse2F4aXM6IngiLGluaGVyaXQ6InkifSksbi5jb2VyY2VTZWxlY3Rpb25NYXJrZXJPcGFjaXR5KGUsdil9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9hdHRyaWJ1dGVzIjoxMTIwLCIuL2NvbnN0YW50cyI6MTEyNCwiLi9maWxsY29sb3JfZGVmYXVsdHMiOjExMjgsIi4vbGluZV9kZWZhdWx0cyI6MTEzMywiLi9saW5lX3NoYXBlX2RlZmF1bHRzIjoxMTM1LCIuL21hcmtlcl9kZWZhdWx0cyI6MTEzOSwiLi9zdGFja19kZWZhdWx0cyI6MTE0MiwiLi9zdWJ0eXBlcyI6MTE0NCwiLi90ZXh0X2RlZmF1bHRzIjoxMTQ1LCIuL3h5X2RlZmF1bHRzIjoxMTQ2fV0sMTEyODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksYT10KCIuLi8uLi9saWIiKS5pc0FycmF5T3JUeXBlZEFycmF5O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXt2YXIgbz0hMTtpZihlLm1hcmtlcil7dmFyIHM9ZS5tYXJrZXIuY29sb3IsbD0oZS5tYXJrZXIubGluZXx8e30pLmNvbG9yO3MmJiFhKHMpP289czpsJiYhYShsKSYmKG89bCl9aSgiZmlsbGNvbG9yIixuLmFkZE9wYWNpdHkoKGUubGluZXx8e30pLmNvbG9yfHxvfHxyLC41KSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliIjo3MTd9XSwxMTI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT17fSxpPXtfZnVsbExheW91dDpyfSxvPW4uZ2V0RnJvbVRyYWNlKGksZSwieCIpLHM9bi5nZXRGcm9tVHJhY2UoaSxlLCJ5Iik7cmV0dXJuIGEueExhYmVsPW4udGlja1RleHQobyx0LngsITApLnRleHQsYS55TGFiZWw9bi50aWNrVGV4dChzLHQueSwhMCkudGV4dCxhfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1fV0sMTEzMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksYT10KCIuL3N1YnR5cGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaTtpZigibGluZXMiPT09dC5tb2RlKXJldHVybihyPXQubGluZS5jb2xvcikmJm4ub3BhY2l0eShyKT9yOnQuZmlsbGNvbG9yO2lmKCJub25lIj09PXQubW9kZSlyZXR1cm4gdC5maWxsP3QuZmlsbGNvbG9yOiIiO3ZhciBvPWUubWNjfHwodC5tYXJrZXJ8fHt9KS5jb2xvcixzPWUubWxjY3x8KCh0Lm1hcmtlcnx8e30pLmxpbmV8fHt9KS5jb2xvcjtyZXR1cm4oaT1vJiZuLm9wYWNpdHkobyk/bzpzJiZuLm9wYWNpdHkocykmJihlLm1sd3x8KCh0Lm1hcmtlcnx8e30pLmxpbmV8fHt9KS53aWR0aCk/czoiIik/bi5vcGFjaXR5KGkpPC4zP24uYWRkT3BhY2l0eShpLC4zKTppOihyPSh0LmxpbmV8fHt9KS5jb2xvcikmJm4ub3BhY2l0eShyKSYmYS5oYXNMaW5lcyh0KSYmdC5saW5lLndpZHRoP3I6dC5maWxsY29sb3J9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi9zdWJ0eXBlcyI6MTE0NH1dLDExMzE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2Z4IiksaT10KCIuLi8uLi9yZWdpc3RyeSIpLG89dCgiLi9nZXRfdHJhY2VfY29sb3IiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxsPW4uZmlsbFRleHQ7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGMpe3ZhciB1PXQuY2QsaD11WzBdLnRyYWNlLGY9dC54YSxwPXQueWEsZD1mLmMycChlKSxnPXAuYzJwKHIpLHY9W2QsZ10sbT1oLmhvdmVyb258fCIiLHk9LTEhPT1oLm1vZGUuaW5kZXhPZigibWFya2VycyIpPzM6LjU7aWYoLTEhPT1tLmluZGV4T2YoInBvaW50cyIpKXt2YXIgeD1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLm1heCh5LHQubXJjfHwwKSxyPWYuYzJwKHQueCktZCxuPXAuYzJwKHQueSktZztyZXR1cm4gTWF0aC5tYXgoTWF0aC5zcXJ0KHIqcituKm4pLWUsMS15L2UpfSxiPWEuZ2V0RGlzdGFuY2VGdW5jdGlvbihjLGZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWF4KDMsdC5tcmN8fDApLHI9MS0xL2Usbj1NYXRoLmFicyhmLmMycCh0LngpLWQpO3JldHVybiBuPGU/cipuL2U6bi1lK3J9LGZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWF4KDMsdC5tcmN8fDApLHI9MS0xL2Usbj1NYXRoLmFicyhwLmMycCh0LnkpLWcpO3JldHVybiBuPGU/cipuL2U6bi1lK3J9LHgpO2lmKGEuZ2V0Q2xvc2VzdCh1LGIsdCksITEhPT10LmluZGV4KXt2YXIgXz11W3QuaW5kZXhdLHc9Zi5jMnAoXy54LCEwKSxrPXAuYzJwKF8ueSwhMCksVD1fLm1yY3x8MTt0LmluZGV4PV8uaTt2YXIgTT11WzBdLnQub3JpZW50YXRpb24sQT1NJiYoXy5zTm9ybXx8Xy5zKSxTPSJoIj09PU0/QTpfLngsRT0idiI9PT1NP0E6Xy55O3JldHVybiBuLmV4dGVuZEZsYXQodCx7Y29sb3I6byhoLF8pLHgwOnctVCx4MTp3K1QseExhYmVsVmFsOlMseTA6ay1ULHkxOmsrVCx5TGFiZWxWYWw6RSxzcGlrZURpc3RhbmNlOngoXyksaG92ZXJ0ZW1wbGF0ZTpoLmhvdmVydGVtcGxhdGV9KSxsKF8saCx0KSxpLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwiaG92ZXJJbmZvIikoXyxoLHQpLFt0XX19aWYoLTEhPT1tLmluZGV4T2YoImZpbGxzIikmJmguX3BvbHlnb25zKXt2YXIgTCxDLFAsTyx6LEksRCxSLEYsQj1oLl9wb2x5Z29ucyxOPVtdLGo9ITEsVj0xLzAsVT0tMS8wLHE9MS8wLEg9LTEvMDtmb3IoTD0wO0w8Qi5sZW5ndGg7TCsrKShQPUJbTF0pLmNvbnRhaW5zKHYpJiYoaj0haixOLnB1c2goUCkscT1NYXRoLm1pbihxLFAueW1pbiksSD1NYXRoLm1heChILFAueW1heCkpO2lmKGope3ZhciBHPSgocT1NYXRoLm1heChxLDApKSsoSD1NYXRoLm1pbihILHAuX2xlbmd0aCkpKS8yO2ZvcihMPTA7TDxOLmxlbmd0aDtMKyspZm9yKE89TltMXS5wdHMsQz0xO0M8Ty5sZW5ndGg7QysrKShSPU9bQy0xXVsxXSk+RyE9KEY9T1tDXVsxXSk+PUcmJihJPU9bQy0xXVswXSxEPU9bQ11bMF0sRi1SJiYoej1JKyhELUkpKihHLVIpLyhGLVIpLFY9TWF0aC5taW4oVix6KSxVPU1hdGgubWF4KFUseikpKTtWPU1hdGgubWF4KFYsMCksVT1NYXRoLm1pbihVLGYuX2xlbmd0aCk7dmFyIFk9cy5kZWZhdWx0TGluZTtyZXR1cm4gcy5vcGFjaXR5KGguZmlsbGNvbG9yKT9ZPWguZmlsbGNvbG9yOnMub3BhY2l0eSgoaC5saW5lfHx7fSkuY29sb3IpJiYoWT1oLmxpbmUuY29sb3IpLG4uZXh0ZW5kRmxhdCh0LHtkaXN0YW5jZTp0Lm1heEhvdmVyRGlzdGFuY2UseDA6Vix4MTpVLHkwOkcseTE6Ryxjb2xvcjpZLGhvdmVydGVtcGxhdGU6ITF9KSxkZWxldGUgdC5pbmRleCxoLnRleHQmJiFBcnJheS5pc0FycmF5KGgudGV4dCk/dC50ZXh0PVN0cmluZyhoLnRleHQpOnQudGV4dD1oLm5hbWUsW3RdfX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9meCI6NjMwLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9nZXRfdHJhY2VfY29sb3IiOjExMzB9XSwxMTMyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vc3VidHlwZXMiKTtlLmV4cG9ydHM9e2hhc0xpbmVzOm4uaGFzTGluZXMsaGFzTWFya2VyczpuLmhhc01hcmtlcnMsaGFzVGV4dDpuLmhhc1RleHQsaXNCdWJibGU6bi5pc0J1YmJsZSxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjcm9zc1RyYWNlRGVmYXVsdHM6dCgiLi9jcm9zc190cmFjZV9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIikuY2FsYyxjcm9zc1RyYWNlQ2FsYzp0KCIuL2Nyb3NzX3RyYWNlX2NhbGMiKSxhcnJheXNUb0NhbGNkYXRhOnQoIi4vYXJyYXlzX3RvX2NhbGNkYXRhIikscGxvdDp0KCIuL3Bsb3QiKSxjb2xvcmJhcjp0KCIuL21hcmtlcl9jb2xvcmJhciIpLGZvcm1hdExhYmVsczp0KCIuL2Zvcm1hdF9sYWJlbHMiKSxzdHlsZTp0KCIuL3N0eWxlIikuc3R5bGUsc3R5bGVPblNlbGVjdDp0KCIuL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksc2VsZWN0UG9pbnRzOnQoIi4vc2VsZWN0IiksYW5pbWF0YWJsZTohMCxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic2NhdHRlciIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuIiksY2F0ZWdvcmllczpbImNhcnRlc2lhbiIsInN2ZyIsInN5bWJvbHMiLCJlcnJvckJhcnNPSyIsInNob3dMZWdlbmQiLCJzY2F0dGVyLWxpa2UiLCJ6b29tU2NhbGUiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi9hcnJheXNfdG9fY2FsY2RhdGEiOjExMTksIi4vYXR0cmlidXRlcyI6MTEyMCwiLi9jYWxjIjoxMTIxLCIuL2Nyb3NzX3RyYWNlX2NhbGMiOjExMjUsIi4vY3Jvc3NfdHJhY2VfZGVmYXVsdHMiOjExMjYsIi4vZGVmYXVsdHMiOjExMjcsIi4vZm9ybWF0X2xhYmVscyI6MTEyOSwiLi9ob3ZlciI6MTEzMSwiLi9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4vcGxvdCI6MTE0MCwiLi9zZWxlY3QiOjExNDEsIi4vc3R5bGUiOjExNDMsIi4vc3VidHlwZXMiOjExNDR9XSwxMTMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLmlzQXJyYXlPclR5cGVkQXJyYXksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvaGVscGVycyIpLmhhc0NvbG9yc2NhbGUsaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbyxzLGwpe3ZhciBjPSh0Lm1hcmtlcnx8e30pLmNvbG9yOyhzKCJsaW5lLmNvbG9yIixyKSxhKHQsImxpbmUiKSk/aSh0LGUsbyxzLHtwcmVmaXg6ImxpbmUuIixjTGV0dGVyOiJjIn0pOnMoImxpbmUuY29sb3IiLCFuKGMpJiZjfHxyKTtzKCJsaW5lLndpZHRoIiksKGx8fHt9KS5ub0Rhc2h8fHMoImxpbmUuZGFzaCIpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvZGVmYXVsdHMiOjYwMiwiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2hlbHBlcnMiOjYwMywiLi4vLi4vbGliIjo3MTd9XSwxMTM0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKSxhPW4uQkFETlVNLGk9bi5MT0dfQ0xJUCxvPWkrLjUscz1pLS41LGw9dCgiLi4vLi4vbGliIiksYz1sLnNlZ21lbnRzSW50ZXJzZWN0LHU9bC5jb25zdHJhaW4saD10KCIuL2NvbnN0YW50cyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG4saSxmLHAsZCxnLHYsbSx5LHgsYixfLHcsayxULE0sQSxTPWUueGF4aXMsRT1lLnlheGlzLEw9ImxvZyI9PT1TLnR5cGUsQz0ibG9nIj09PUUudHlwZSxQPVMuX2xlbmd0aCxPPUUuX2xlbmd0aCx6PWUuY29ubmVjdEdhcHMsST1lLmJhc2VUb2xlcmFuY2UsRD1lLnNoYXBlLFI9ImxpbmVhciI9PT1ELEY9ZS5maWxsJiYibm9uZSIhPT1lLmZpbGwsQj1bXSxOPWgubWluVG9sZXJhbmNlLGo9dC5sZW5ndGgsVj1uZXcgQXJyYXkoaiksVT0wO2Z1bmN0aW9uIHEocil7dmFyIG49dFtyXTtpZighbilyZXR1cm4hMTt2YXIgaT1lLmxpbmVhcml6ZWQ/Uy5sMnAobi54KTpTLmMycChuLngpLGw9ZS5saW5lYXJpemVkP0UubDJwKG4ueSk6RS5jMnAobi55KTtpZihpPT09YSl7aWYoTCYmKGk9Uy5jMnAobi54LCEwKSksaT09PWEpcmV0dXJuITE7QyYmbD09PWEmJihpKj1NYXRoLmFicyhTLl9tKk8qKFMuX20+MD9vOnMpLyhFLl9tKlAqKEUuX20+MD9vOnMpKSkpLGkqPTFlM31pZihsPT09YSl7aWYoQyYmKGw9RS5jMnAobi55LCEwKSksbD09PWEpcmV0dXJuITE7bCo9MWUzfXJldHVybltpLGxdfWZ1bmN0aW9uIEgodCxlLHIsbil7dmFyIGE9ci10LGk9bi1lLG89LjUtdCxzPS41LWUsbD1hKmEraSppLGM9YSpvK2kqcztpZihjPjAmJmM8bCl7dmFyIHU9byppLXMqYTtpZih1KnU8bClyZXR1cm4hMH19ZnVuY3Rpb24gRyh0LGUpe3ZhciByPXRbMF0vUCxuPXRbMV0vTyxhPU1hdGgubWF4KDAsLXIsci0xLC1uLG4tMSk7cmV0dXJuIGEmJnZvaWQgMCE9PU0mJkgocixuLE0sQSkmJihhPTApLGEmJmUmJkgocixuLGVbMF0vUCxlWzFdL08pJiYoYT0wKSwoMStoLnRvbGVyYW5jZUdyb3d0aCphKSpJfWZ1bmN0aW9uIFkodCxlKXt2YXIgcj10WzBdLWVbMF0sbj10WzFdLWVbMV07cmV0dXJuIE1hdGguc3FydChyKnIrbipuKX12YXIgVyxYLFosSixLLFEsJCx0dD1oLm1heFNjcmVlbnNBd2F5LGV0PS1QKnR0LHJ0PVAqKDErdHQpLG50PS1PKnR0LGF0PU8qKDErdHQpLGl0PVtbZXQsbnQscnQsbnRdLFtydCxudCxydCxhdF0sW3J0LGF0LGV0LGF0XSxbZXQsYXQsZXQsbnRdXTtmdW5jdGlvbiBvdCh0KXtpZih0WzBdPGV0fHx0WzBdPnJ0fHx0WzFdPG50fHx0WzFdPmF0KXJldHVyblt1KHRbMF0sZXQscnQpLHUodFsxXSxudCxhdCldfWZ1bmN0aW9uIHN0KHQsZSl7cmV0dXJuIHRbMF09PT1lWzBdJiYodFswXT09PWV0fHx0WzBdPT09cnQpfHwodFsxXT09PWVbMV0mJih0WzFdPT09bnR8fHRbMV09PT1hdCl8fHZvaWQgMCl9ZnVuY3Rpb24gbHQodCxlLHIpe3JldHVybiBmdW5jdGlvbihuLGEpe3ZhciBpPW90KG4pLG89b3QoYSkscz1bXTtpZihpJiZvJiZzdChpLG8pKXJldHVybiBzO2kmJnMucHVzaChpKSxvJiZzLnB1c2gobyk7dmFyIGM9MipsLmNvbnN0cmFpbigoblt0XSthW3RdKS8yLGUsciktKChpfHxuKVt0XSsob3x8YSlbdF0pO2MmJigoaSYmbz9jPjA9PWlbdF0+b1t0XT9pOm86aXx8bylbdF0rPWMpO3JldHVybiBzfX1mdW5jdGlvbiBjdCh0KXt2YXIgZT10WzBdLHI9dFsxXSxuPWU9PT1WW1UtMV1bMF0sYT1yPT09VltVLTFdWzFdO2lmKCFufHwhYSlpZihVPjEpe3ZhciBpPWU9PT1WW1UtMl1bMF0sbz1yPT09VltVLTJdWzFdO24mJihlPT09ZXR8fGU9PT1ydCkmJmk/bz9VLS06VltVLTFdPXQ6YSYmKHI9PT1udHx8cj09PWF0KSYmbz9pP1UtLTpWW1UtMV09dDpWW1UrK109dH1lbHNlIFZbVSsrXT10fWZ1bmN0aW9uIHV0KHQpe1ZbVS0xXVswXSE9PXRbMF0mJlZbVS0xXVsxXSE9PXRbMV0mJmN0KFtaLEpdKSxjdCh0KSxLPW51bGwsWj1KPTB9ZnVuY3Rpb24gaHQodCl7aWYoTT10WzBdL1AsQT10WzFdL08sVz10WzBdPGV0P2V0OnRbMF0+cnQ/cnQ6MCxYPXRbMV08bnQ/bnQ6dFsxXT5hdD9hdDowLFd8fFgpe2lmKFUpaWYoSyl7dmFyIGU9JChLLHQpO2UubGVuZ3RoPjEmJih1dChlWzBdKSxWW1UrK109ZVsxXSl9ZWxzZSBRPSQoVltVLTFdLHQpWzBdLFZbVSsrXT1RO2Vsc2UgVltVKytdPVtXfHx0WzBdLFh8fHRbMV1dO3ZhciByPVZbVS0xXTtXJiZYJiYoclswXSE9PVd8fHJbMV0hPT1YKT8oSyYmKFohPT1XJiZKIT09WD9jdChaJiZKPyhuPUssaT0oYT10KVswXS1uWzBdLG89KGFbMV0tblsxXSkvaSwoblsxXSphWzBdLWFbMV0qblswXSkvaT4wP1tvPjA/ZXQ6cnQsYXRdOltvPjA/cnQ6ZXQsbnRdKTpbWnx8VyxKfHxYXSk6WiYmSiYmY3QoW1osSl0pKSxjdChbVyxYXSkpOlotVyYmSi1YJiZjdChbV3x8WixYfHxKXSksSz10LFo9VyxKPVh9ZWxzZSBLJiZ1dCgkKEssdClbMF0pLFZbVSsrXT10O3ZhciBuLGEsaSxvfWZvcigibGluZWFyIj09PUR8fCJzcGxpbmUiPT09RD8kPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49MCxhPTA7YTw0O2ErKyl7dmFyIGk9aXRbYV0sbz1jKHRbMF0sdFsxXSxlWzBdLGVbMV0saVswXSxpWzFdLGlbMl0saVszXSk7byYmKCFufHxNYXRoLmFicyhvLngtclswXVswXSk+MXx8TWF0aC5hYnMoby55LXJbMF1bMV0pPjEpJiYobz1bby54LG8ueV0sbiYmWShvLHQpPFkoclswXSx0KT9yLnVuc2hpZnQobyk6ci5wdXNoKG8pLG4rKyl9cmV0dXJuIHJ9OiJodiI9PT1EfHwidmgiPT09RD8kPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W10sbj1vdCh0KSxhPW90KGUpO3JldHVybiBuJiZhJiZzdChuLGEpP3I6KG4mJnIucHVzaChuKSxhJiZyLnB1c2goYSkscil9OiJodmgiPT09RD8kPWx0KDAsZXQscnQpOiJ2aHYiPT09RCYmKCQ9bHQoMSxudCxhdCkpLHI9MDtyPGo7cisrKWlmKG49cShyKSl7Zm9yKFU9MCxLPW51bGwsaHQobikscisrO3I8ajtyKyspe2lmKCEoZj1xKHIpKSl7aWYoeiljb250aW51ZTticmVha31pZihSJiZlLnNpbXBsaWZ5KXt2YXIgZnQ9cShyKzEpO2lmKHk9WShmLG4pLEYmJigwPT09VXx8VT09PWotMSl8fCEoeTxHKGYsZnQpKk4pKXtmb3Iodj1bKGZbMF0tblswXSkveSwoZlsxXS1uWzFdKS95XSxwPW4seD15LGI9dz1rPTAsZz0hMSxpPWYscisrO3I8dC5sZW5ndGg7cisrKXtpZihkPWZ0LGZ0PXEocisxKSwhZCl7aWYoeiljb250aW51ZTticmVha31pZihUPShtPVtkWzBdLW5bMF0sZFsxXS1uWzFdXSlbMF0qdlsxXS1tWzFdKnZbMF0sdz1NYXRoLm1pbih3LFQpLChrPU1hdGgubWF4KGssVCkpLXc+RyhkLGZ0KSlicmVhaztpPWQsKF89bVswXSp2WzBdK21bMV0qdlsxXSk+eD8oeD1fLGY9ZCxnPSExKTpfPGImJihiPV8scD1kLGc9ITApfWlmKGc/KGh0KGYpLGkhPT1wJiZodChwKSk6KHAhPT1uJiZodChwKSxpIT09ZiYmaHQoZikpLGh0KGkpLHI+PXQubGVuZ3RofHwhZClicmVhaztodChkKSxuPWR9fWVsc2UgaHQoZil9SyYmY3QoW1p8fEtbMF0sSnx8S1sxXV0pLEIucHVzaChWLnNsaWNlKDAsVSkpfXJldHVybiBCfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuL2NvbnN0YW50cyI6MTEyNH1dLDExMzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXsic3BsaW5lIj09PXIoImxpbmUuc2hhcGUiKSYmcigibGluZS5zbW9vdGhpbmciKX19LHt9XSwxMTM2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXt0b25leHR4OjEsdG9uZXh0eToxLHRvbmV4dDoxfTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBhLGksbyxzLGwsYz17fSx1PSExLGg9LTEsZj0wLHA9LTE7Zm9yKGk9MDtpPHIubGVuZ3RoO2krKykobz0oYT1yW2ldWzBdLnRyYWNlKS5zdGFja2dyb3VwfHwiIik/byBpbiBjP2w9Y1tvXToobD1jW29dPWYsZisrKTphLmZpbGwgaW4gbiYmcD49MD9sPXA6KGw9cD1mLGYrKyksbDxoJiYodT0hMCksYS5fZ3JvdXBJbmRleD1oPWw7dmFyIGQ9ci5zbGljZSgpO3UmJmQuc29ydChmdW5jdGlvbih0LGUpe3ZhciByPXRbMF0udHJhY2Usbj1lWzBdLnRyYWNlO3JldHVybiByLl9ncm91cEluZGV4LW4uX2dyb3VwSW5kZXh8fHIuaW5kZXgtbi5pbmRleH0pO3ZhciBnPXt9O2ZvcihpPTA7aTxkLmxlbmd0aDtpKyspbz0oYT1kW2ldWzBdLnRyYWNlKS5zdGFja2dyb3VwfHwiIiwhMD09PWEudmlzaWJsZT8oYS5fbmV4dHRyYWNlPW51bGwsYS5maWxsIGluIG4mJihzPWdbb10sYS5fcHJldnRyYWNlPXN8fG51bGwscyYmKHMuX25leHR0cmFjZT1hKSksYS5fb3duZmlsbD1hLmZpbGwmJigidG96ZXJvIj09PWEuZmlsbC5zdWJzdHIoMCw2KXx8InRvc2VsZiI9PT1hLmZpbGx8fCJ0byI9PT1hLmZpbGwuc3Vic3RyKDAsMikmJiFhLl9wcmV2dHJhY2UpLGdbb109YSk6YS5fcHJldnRyYWNlPWEuX25leHR0cmFjZT1hLl9vd25maWxsPW51bGw7cmV0dXJuIGR9fSx7fV0sMTEzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10Lm1hcmtlcixyPWUuc2l6ZXJlZnx8MSxhPWUuc2l6ZW1pbnx8MCxpPSJhcmVhIj09PWUuc2l6ZW1vZGU/ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguc3FydCh0L3IpfTpmdW5jdGlvbih0KXtyZXR1cm4gdC9yfTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9aSh0LzIpO3JldHVybiBuKGUpJiZlPjA/TWF0aC5tYXgoZSxhKTowfX19LHsiZmFzdC1pc251bWVyaWMiOjIyOH1dLDExMzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtjb250YWluZXI6Im1hcmtlciIsbWluOiJjbWluIixtYXg6ImNtYXgifX0se31dLDExMzk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2hlbHBlcnMiKS5oYXNDb2xvcnNjYWxlLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIiksbz10KCIuL3N1YnR5cGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMsbCxjKXt2YXIgdT1vLmlzQnViYmxlKHQpLGg9KHQubGluZXx8e30pLmNvbG9yOyhjPWN8fHt9LGgmJihyPWgpLGwoIm1hcmtlci5zeW1ib2wiKSxsKCJtYXJrZXIub3BhY2l0eSIsdT8uNzoxKSxsKCJtYXJrZXIuc2l6ZSIpLGwoIm1hcmtlci5jb2xvciIsciksYSh0LCJtYXJrZXIiKSYmaSh0LGUscyxsLHtwcmVmaXg6Im1hcmtlci4iLGNMZXR0ZXI6ImMifSksYy5ub1NlbGVjdHx8KGwoInNlbGVjdGVkLm1hcmtlci5jb2xvciIpLGwoInVuc2VsZWN0ZWQubWFya2VyLmNvbG9yIiksbCgic2VsZWN0ZWQubWFya2VyLnNpemUiKSxsKCJ1bnNlbGVjdGVkLm1hcmtlci5zaXplIikpLGMubm9MaW5lfHwobCgibWFya2VyLmxpbmUuY29sb3IiLGgmJiFBcnJheS5pc0FycmF5KGgpJiZlLm1hcmtlci5jb2xvciE9PWg/aDp1P24uYmFja2dyb3VuZDpuLmRlZmF1bHRMaW5lKSxhKHQsIm1hcmtlci5saW5lIikmJmkodCxlLHMsbCx7cHJlZml4OiJtYXJrZXIubGluZS4iLGNMZXR0ZXI6ImMifSksbCgibWFya2VyLmxpbmUud2lkdGgiLHU/MTowKSksdSYmKGwoIm1hcmtlci5zaXplcmVmIiksbCgibWFya2VyLnNpemVtaW4iKSxsKCJtYXJrZXIuc2l6ZW1vZGUiKSksYy5ncmFkaWVudCkmJigibm9uZSIhPT1sKCJtYXJrZXIuZ3JhZGllbnQudHlwZSIpJiZsKCJtYXJrZXIuZ3JhZGllbnQuY29sb3IiKSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIjo2MDIsIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9oZWxwZXJzIjo2MDMsIi4vc3VidHlwZXMiOjExNDR9XSwxMTQwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vbGliIiksbz1pLmVuc3VyZVNpbmdsZSxzPWkuaWRlbnRpdHksbD10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxjPXQoIi4vc3VidHlwZXMiKSx1PXQoIi4vbGluZV9wb2ludHMiKSxoPXQoIi4vbGlua190cmFjZXMiKSxmPXQoIi4uLy4uL2xpYi9wb2x5Z29uIikudGVzdGVyO2Z1bmN0aW9uIHAodCxlLHIsaCxwLGQsZyl7dmFyIHY7IWZ1bmN0aW9uKHQsZSxyLGEsbyl7dmFyIHM9ci54YXhpcyxsPXIueWF4aXMsdT1uLmV4dGVudChpLnNpbXBsZU1hcChzLnJhbmdlLHMucjJjKSksaD1uLmV4dGVudChpLnNpbXBsZU1hcChsLnJhbmdlLGwucjJjKSksZj1hWzBdLnRyYWNlO2lmKCFjLmhhc01hcmtlcnMoZikpcmV0dXJuO3ZhciBwPWYubWFya2VyLm1heGRpc3BsYXllZDtpZigwPT09cClyZXR1cm47dmFyIGQ9YS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQueD49dVswXSYmdC54PD11WzFdJiZ0Lnk+PWhbMF0mJnQueTw9aFsxXX0pLGc9TWF0aC5jZWlsKGQubGVuZ3RoL3ApLHY9MDtvLmZvckVhY2goZnVuY3Rpb24odCxyKXt2YXIgbj10WzBdLnRyYWNlO2MuaGFzTWFya2VycyhuKSYmbi5tYXJrZXIubWF4ZGlzcGxheWVkPjAmJnI8ZSYmdisrfSk7dmFyIG09TWF0aC5yb3VuZCh2KmcvMytNYXRoLmZsb29yKHYvMykqZy83LjEpO2EuZm9yRWFjaChmdW5jdGlvbih0KXtkZWxldGUgdC52aXN9KSxkLmZvckVhY2goZnVuY3Rpb24odCxlKXswPT09TWF0aC5yb3VuZCgoZSttKSVnKSYmKHQudmlzPSEwKX0pfSgwLGUscixoLHApO3ZhciBtPSEhZyYmZy5kdXJhdGlvbj4wO2Z1bmN0aW9uIHkodCl7cmV0dXJuIG0/dC50cmFuc2l0aW9uKCk6dH12YXIgeD1yLnhheGlzLGI9ci55YXhpcyxfPWhbMF0udHJhY2Usdz1fLmxpbmUsaz1uLnNlbGVjdChkKSxUPW8oaywiZyIsImVycm9yYmFycyIpLE09byhrLCJnIiwibGluZXMiKSxBPW8oaywiZyIsInBvaW50cyIpLFM9byhrLCJnIiwidGV4dCIpO2lmKGEuZ2V0Q29tcG9uZW50TWV0aG9kKCJlcnJvcmJhcnMiLCJwbG90IikodCxULHIsZyksITA9PT1fLnZpc2libGUpe3ZhciBFLEw7eShrKS5zdHlsZSgib3BhY2l0eSIsXy5vcGFjaXR5KTt2YXIgQz1fLmZpbGwuY2hhckF0KF8uZmlsbC5sZW5ndGgtMSk7IngiIT09QyYmInkiIT09QyYmKEM9IiIpLGhbMF1bci5pc1JhbmdlUGxvdD8ibm9kZVJhbmdlUGxvdDMiOiJub2RlMyJdPWs7dmFyIFAsTyx6PSIiLEk9W10sRD1fLl9wcmV2dHJhY2U7RCYmKHo9RC5fcHJldlJldnBhdGh8fCIiLEw9RC5fbmV4dEZpbGwsST1ELl9wb2x5Z29ucyk7dmFyIFIsRixCLE4saixWLFUscT0iIixIPSIiLEc9W10sWT1pLm5vb3A7aWYoRT1fLl9vd25GaWxsLGMuaGFzTGluZXMoXyl8fCJub25lIiE9PV8uZmlsbCl7Zm9yKEwmJkwuZGF0dW0oaCksLTEhPT1bImh2IiwidmgiLCJodmgiLCJ2aHYiXS5pbmRleE9mKHcuc2hhcGUpPyhSPWwuc3RlcHMody5zaGFwZSksRj1sLnN0ZXBzKHcuc2hhcGUuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKSkpOlI9Rj0ic3BsaW5lIj09PXcuc2hhcGU/ZnVuY3Rpb24odCl7dmFyIGU9dFt0Lmxlbmd0aC0xXTtyZXR1cm4gdC5sZW5ndGg+MSYmdFswXVswXT09PWVbMF0mJnRbMF1bMV09PT1lWzFdP2wuc21vb3RoY2xvc2VkKHQuc2xpY2UoMSksdy5zbW9vdGhpbmcpOmwuc21vb3Rob3Blbih0LHcuc21vb3RoaW5nKX06ZnVuY3Rpb24odCl7cmV0dXJuIk0iK3Quam9pbigiTCIpfSxCPWZ1bmN0aW9uKHQpe3JldHVybiBGKHQucmV2ZXJzZSgpKX0sRz11KGgse3hheGlzOngseWF4aXM6Yixjb25uZWN0R2FwczpfLmNvbm5lY3RnYXBzLGJhc2VUb2xlcmFuY2U6TWF0aC5tYXgody53aWR0aHx8MSwzKS80LHNoYXBlOncuc2hhcGUsc2ltcGxpZnk6dy5zaW1wbGlmeSxmaWxsOl8uZmlsbH0pLFU9Xy5fcG9seWdvbnM9bmV3IEFycmF5KEcubGVuZ3RoKSx2PTA7djxHLmxlbmd0aDt2KyspXy5fcG9seWdvbnNbdl09ZihHW3ZdKTtHLmxlbmd0aCYmKE49R1swXVswXSxWPShqPUdbRy5sZW5ndGgtMV0pW2oubGVuZ3RoLTFdKSxZPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihQPVIoZSksTz1CKGUpLHE/Qz8ocSs9IkwiK1Auc3Vic3RyKDEpLEg9TysiTCIrSC5zdWJzdHIoMSkpOihxKz0iWiIrUCxIPU8rIloiK0gpOihxPVAsSD1PKSxjLmhhc0xpbmVzKF8pJiZlLmxlbmd0aD4xKXt2YXIgcj1uLnNlbGVjdCh0aGlzKTtpZihyLmRhdHVtKGgpLHQpeShyLnN0eWxlKCJvcGFjaXR5IiwwKS5hdHRyKCJkIixQKS5jYWxsKGwubGluZUdyb3VwU3R5bGUpKS5zdHlsZSgib3BhY2l0eSIsMSk7ZWxzZXt2YXIgYT15KHIpO2EuYXR0cigiZCIsUCksbC5zaW5nbGVMaW5lU3R5bGUoaCxhKX19fX19dmFyIFc9TS5zZWxlY3RBbGwoIi5qcy1saW5lIikuZGF0YShHKTt5KFcuZXhpdCgpKS5zdHlsZSgib3BhY2l0eSIsMCkucmVtb3ZlKCksVy5lYWNoKFkoITEpKSxXLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZCgianMtbGluZSIsITApLnN0eWxlKCJ2ZWN0b3ItZWZmZWN0Iiwibm9uLXNjYWxpbmctc3Ryb2tlIikuY2FsbChsLmxpbmVHcm91cFN0eWxlKS5lYWNoKFkoITApKSxsLnNldENsaXBVcmwoVyxyLmxheWVyQ2xpcElkLHQpLEcubGVuZ3RoPyhFPyhFLmRhdHVtKGgpLE4mJlYmJihDPygieSI9PT1DP05bMV09VlsxXT1iLmMycCgwLCEwKToieCI9PT1DJiYoTlswXT1WWzBdPXguYzJwKDAsITApKSx5KEUpLmF0dHIoImQiLCJNIitWKyJMIitOKyJMIitxLnN1YnN0cigxKSkuY2FsbChsLnNpbmdsZUZpbGxTdHlsZSkpOnkoRSkuYXR0cigiZCIscSsiWiIpLmNhbGwobC5zaW5nbGVGaWxsU3R5bGUpKSk6TCYmKCJ0b25leHQiPT09Xy5maWxsLnN1YnN0cigwLDYpJiZxJiZ6PygidG9uZXh0Ij09PV8uZmlsbD95KEwpLmF0dHIoImQiLHErIloiK3orIloiKS5jYWxsKGwuc2luZ2xlRmlsbFN0eWxlKTp5KEwpLmF0dHIoImQiLHErIkwiK3ouc3Vic3RyKDEpKyJaIikuY2FsbChsLnNpbmdsZUZpbGxTdHlsZSksXy5fcG9seWdvbnM9Xy5fcG9seWdvbnMuY29uY2F0KEkpKTooWihMKSxfLl9wb2x5Z29ucz1udWxsKSksXy5fcHJldlJldnBhdGg9SCxfLl9wcmV2UG9seWdvbnM9VSk6KEU/WihFKTpMJiZaKEwpLF8uX3BvbHlnb25zPV8uX3ByZXZSZXZwYXRoPV8uX3ByZXZQb2x5Z29ucz1udWxsKSxBLmRhdHVtKGgpLFMuZGF0dW0oaCksZnVuY3Rpb24oZSxhLGkpe3ZhciBvLHU9aVswXS50cmFjZSxoPWMuaGFzTWFya2Vycyh1KSxmPWMuaGFzVGV4dCh1KSxwPXR0KHUpLGQ9ZXQsZz1ldDtpZihofHxmKXt2YXIgdj1zLF89dS5zdGFja2dyb3VwLHc9XyYmImluZmVyIHplcm8iPT09dC5fZnVsbExheW91dC5fc2NhdHRlclN0YWNrT3B0c1t4Ll9pZCtiLl9pZF1bX10uc3RhY2tnYXBzO3UubWFya2VyLm1heGRpc3BsYXllZHx8dS5fbmVlZHNDdWxsP3Y9dz9LOko6XyYmIXcmJih2PVEpLGgmJihkPXYpLGYmJihnPXYpfXZhciBrLFQ9KG89ZS5zZWxlY3RBbGwoInBhdGgucG9pbnQiKS5kYXRhKGQscCkpLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZCgicG9pbnQiLCEwKTttJiZULmNhbGwobC5wb2ludFN0eWxlLHUsdCkuY2FsbChsLnRyYW5zbGF0ZVBvaW50cyx4LGIpLnN0eWxlKCJvcGFjaXR5IiwwKS50cmFuc2l0aW9uKCkuc3R5bGUoIm9wYWNpdHkiLDEpLG8ub3JkZXIoKSxoJiYoaz1sLm1ha2VQb2ludFN0eWxlRm5zKHUpKSxvLmVhY2goZnVuY3Rpb24oZSl7dmFyIGE9bi5zZWxlY3QodGhpcyksaT15KGEpO2wudHJhbnNsYXRlUG9pbnQoZSxpLHgsYik/KGwuc2luZ2xlUG9pbnRTdHlsZShlLGksdSxrLHQpLHIubGF5ZXJDbGlwSWQmJmwuaGlkZU91dHNpZGVSYW5nZVBvaW50KGUsaSx4LGIsdS54Y2FsZW5kYXIsdS55Y2FsZW5kYXIpLHUuY3VzdG9tZGF0YSYmYS5jbGFzc2VkKCJwbG90bHktY3VzdG9tZGF0YSIsbnVsbCE9PWUuZGF0YSYmdm9pZCAwIT09ZS5kYXRhKSk6aS5yZW1vdmUoKX0pLG0/by5leGl0KCkudHJhbnNpdGlvbigpLnN0eWxlKCJvcGFjaXR5IiwwKS5yZW1vdmUoKTpvLmV4aXQoKS5yZW1vdmUoKSwobz1hLnNlbGVjdEFsbCgiZyIpLmRhdGEoZyxwKSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ0ZXh0cG9pbnQiLCEwKS5hcHBlbmQoInRleHQiKSxvLm9yZGVyKCksby5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHRoaXMpLGE9eShlLnNlbGVjdCgidGV4dCIpKTtsLnRyYW5zbGF0ZVBvaW50KHQsYSx4LGIpP3IubGF5ZXJDbGlwSWQmJmwuaGlkZU91dHNpZGVSYW5nZVBvaW50KHQsZSx4LGIsdS54Y2FsZW5kYXIsdS55Y2FsZW5kYXIpOmUucmVtb3ZlKCl9KSxvLnNlbGVjdEFsbCgidGV4dCIpLmNhbGwobC50ZXh0UG9pbnRTdHlsZSx1LHQpLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9eC5jMnAodC54KSxyPWIuYzJwKHQueSk7bi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJ0c3Bhbi5saW5lIikuZWFjaChmdW5jdGlvbigpe3kobi5zZWxlY3QodGhpcykpLmF0dHIoe3g6ZSx5OnJ9KX0pfSksby5leGl0KCkucmVtb3ZlKCl9KEEsUyxoKTt2YXIgWD0hMT09PV8uY2xpcG9uYXhpcz9udWxsOnIubGF5ZXJDbGlwSWQ7bC5zZXRDbGlwVXJsKEEsWCx0KSxsLnNldENsaXBVcmwoUyxYLHQpfWZ1bmN0aW9uIFoodCl7eSh0KS5hdHRyKCJkIiwiTTAsMFoiKX1mdW5jdGlvbiBKKHQpe3JldHVybiB0LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hdC5nYXAmJnQudmlzfSl9ZnVuY3Rpb24gSyh0KXtyZXR1cm4gdC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQudmlzfSl9ZnVuY3Rpb24gUSh0KXtyZXR1cm4gdC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIXQuZ2FwfSl9ZnVuY3Rpb24gJCh0KXtyZXR1cm4gdC5pZH1mdW5jdGlvbiB0dCh0KXtpZih0LmlkcylyZXR1cm4gJH1mdW5jdGlvbiBldCgpe3JldHVybiExfX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSxpLGMpe3ZhciB1LGYsZD0haSxnPSEhaSYmaS5kdXJhdGlvbj4wLHY9aCh0LGUscik7KCh1PWEuc2VsZWN0QWxsKCJnLnRyYWNlIikuZGF0YSh2LGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdLnRyYWNlLnVpZH0pKS5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIixmdW5jdGlvbih0KXtyZXR1cm4idHJhY2Ugc2NhdHRlciB0cmFjZSIrdFswXS50cmFjZS51aWR9KS5zdHlsZSgic3Ryb2tlLW1pdGVybGltaXQiLDIpLHUub3JkZXIoKSxmdW5jdGlvbih0LGUscil7ZS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBhPW8obi5zZWxlY3QodGhpcyksImciLCJmaWxscyIpO2wuc2V0Q2xpcFVybChhLHIubGF5ZXJDbGlwSWQsdCk7dmFyIGk9ZVswXS50cmFjZSxjPVtdO2kuX293bmZpbGwmJmMucHVzaCgiX293bkZpbGwiKSxpLl9uZXh0dHJhY2UmJmMucHVzaCgiX25leHRGaWxsIik7dmFyIHU9YS5zZWxlY3RBbGwoImciKS5kYXRhKGMscyk7dS5lbnRlcigpLmFwcGVuZCgiZyIpLHUuZXhpdCgpLmVhY2goZnVuY3Rpb24odCl7aVt0XT1udWxsfSkucmVtb3ZlKCksdS5vcmRlcigpLmVhY2goZnVuY3Rpb24odCl7aVt0XT1vKG4uc2VsZWN0KHRoaXMpLCJwYXRoIiwianMtZmlsbCIpfSl9KX0odCx1LGUpLGcpPyhjJiYoZj1jKCkpLG4udHJhbnNpdGlvbigpLmR1cmF0aW9uKGkuZHVyYXRpb24pLmVhc2UoaS5lYXNpbmcpLmVhY2goImVuZCIsZnVuY3Rpb24oKXtmJiZmKCl9KS5lYWNoKCJpbnRlcnJ1cHQiLGZ1bmN0aW9uKCl7ZiYmZigpfSkuZWFjaChmdW5jdGlvbigpe2Euc2VsZWN0QWxsKCJnLnRyYWNlIikuZWFjaChmdW5jdGlvbihyLG4pe3AodCxuLGUscix2LHRoaXMsaSl9KX0pKTp1LmVhY2goZnVuY3Rpb24ocixuKXtwKHQsbixlLHIsdix0aGlzLGkpfSk7ZCYmdS5leGl0KCkucmVtb3ZlKCksYS5zZWxlY3RBbGwoInBhdGg6bm90KFtkXSkiKS5yZW1vdmUoKX19LHsiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvcG9seWdvbiI6NzI5LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuL2xpbmVfcG9pbnRzIjoxMTM0LCIuL2xpbmtfdHJhY2VzIjoxMTM2LCIuL3N1YnR5cGVzIjoxMTQ0LGQzOjE2NX1dLDExNDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9zdWJ0eXBlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGEsaSxvLHM9dC5jZCxsPXQueGF4aXMsYz10LnlheGlzLHU9W10saD1zWzBdLnRyYWNlO2lmKCFuLmhhc01hcmtlcnMoaCkmJiFuLmhhc1RleHQoaCkpcmV0dXJuW107aWYoITE9PT1lKWZvcihyPTA7cjxzLmxlbmd0aDtyKyspc1tyXS5zZWxlY3RlZD0wO2Vsc2UgZm9yKHI9MDtyPHMubGVuZ3RoO3IrKylhPXNbcl0saT1sLmMycChhLngpLG89Yy5jMnAoYS55KSxudWxsIT09YS5pJiZlLmNvbnRhaW5zKFtpLG9dLCExLHIsdCk/KHUucHVzaCh7cG9pbnROdW1iZXI6YS5pLHg6bC5jMmQoYS54KSx5OmMuYzJkKGEueSl9KSxhLnNlbGVjdGVkPTEpOmEuc2VsZWN0ZWQ9MDtyZXR1cm4gdX19LHsiLi9zdWJ0eXBlcyI6MTE0NH1dLDExNDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49WyJvcmllbnRhdGlvbiIsImdyb3Vwbm9ybSIsInN0YWNrZ2FwcyJdO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXt2YXIgaT1yLl9zY2F0dGVyU3RhY2tPcHRzLG89YSgic3RhY2tncm91cCIpO2lmKG8pe3ZhciBzPWUueGF4aXMrZS55YXhpcyxsPWlbc107bHx8KGw9aVtzXT17fSk7dmFyIGM9bFtvXSx1PSExO2M/Yy50cmFjZXMucHVzaChlKTooYz1sW29dPXt0cmFjZUluZGljZXM6W10sdHJhY2VzOltlXX0sdT0hMCk7Zm9yKHZhciBoPXtvcmllbnRhdGlvbjplLngmJiFlLnk/ImgiOiJ2In0sZj0wO2Y8bi5sZW5ndGg7ZisrKXt2YXIgcD1uW2ZdLGQ9cCsiRm91bmQiO2lmKCFjW2RdKXt2YXIgZz12b2lkIDAhPT10W3BdLHY9Im9yaWVudGF0aW9uIj09PXA7aWYoKGd8fHUpJiYoY1twXT1hKHAsaFtwXSksdiYmKGMuZmlsbERmbHQ9ImgiPT09Y1twXT8idG9uZXh0eCI6InRvbmV4dHkiKSxnJiYoY1tkXT0hMCwhdSYmKGRlbGV0ZSBjLnRyYWNlc1swXVtwXSx2KSkpKWZvcih2YXIgbT0wO208Yy50cmFjZXMubGVuZ3RoLTE7bSsrKXt2YXIgeT1jLnRyYWNlc1ttXTt5Ll9pbnB1dC5maWxsIT09eS5maWxsJiYoeS5maWxsPWMuZmlsbERmbHQpfX19cmV0dXJuIGN9fX0se31dLDExNDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGk9dCgiLi4vLi4vcmVnaXN0cnkiKTtmdW5jdGlvbiBvKHQsZSxyKXthLnBvaW50U3R5bGUodC5zZWxlY3RBbGwoInBhdGgucG9pbnQiKSxlLHIpfWZ1bmN0aW9uIHModCxlLHIpe2EudGV4dFBvaW50U3R5bGUodC5zZWxlY3RBbGwoInRleHQiKSxlLHIpfWUuZXhwb3J0cz17c3R5bGU6ZnVuY3Rpb24odCl7dmFyIGU9bi5zZWxlY3QodCkuc2VsZWN0QWxsKCJnLnRyYWNlLnNjYXR0ZXIiKTtlLnN0eWxlKCJvcGFjaXR5IixmdW5jdGlvbih0KXtyZXR1cm4gdFswXS50cmFjZS5vcGFjaXR5fSksZS5zZWxlY3RBbGwoImcucG9pbnRzIikuZWFjaChmdW5jdGlvbihlKXtvKG4uc2VsZWN0KHRoaXMpLGUudHJhY2V8fGVbMF0udHJhY2UsdCl9KSxlLnNlbGVjdEFsbCgiZy50ZXh0IikuZWFjaChmdW5jdGlvbihlKXtzKG4uc2VsZWN0KHRoaXMpLGUudHJhY2V8fGVbMF0udHJhY2UsdCl9KSxlLnNlbGVjdEFsbCgiZy50cmFjZSBwYXRoLmpzLWxpbmUiKS5jYWxsKGEubGluZUdyb3VwU3R5bGUpLGUuc2VsZWN0QWxsKCJnLnRyYWNlIHBhdGguanMtZmlsbCIpLmNhbGwoYS5maWxsR3JvdXBTdHlsZSksaS5nZXRDb21wb25lbnRNZXRob2QoImVycm9yYmFycyIsInN0eWxlIikoZSl9LHN0eWxlUG9pbnRzOm8sc3R5bGVUZXh0OnMsc3R5bGVPblNlbGVjdDpmdW5jdGlvbih0LGUscil7dmFyIG49ZVswXS50cmFjZTtuLnNlbGVjdGVkcG9pbnRzPyhhLnNlbGVjdGVkUG9pbnRTdHlsZShyLnNlbGVjdEFsbCgicGF0aC5wb2ludCIpLG4pLGEuc2VsZWN0ZWRUZXh0U3R5bGUoci5zZWxlY3RBbGwoInRleHQiKSxuKSk6KG8ocixuLHQpLHMocixuLHQpKX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9yZWdpc3RyeSI6ODQ2LGQzOjE2NX1dLDExNDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPXtoYXNMaW5lczpmdW5jdGlvbih0KXtyZXR1cm4gdC52aXNpYmxlJiZ0Lm1vZGUmJi0xIT09dC5tb2RlLmluZGV4T2YoImxpbmVzIil9LGhhc01hcmtlcnM6ZnVuY3Rpb24odCl7cmV0dXJuIHQudmlzaWJsZSYmKHQubW9kZSYmLTEhPT10Lm1vZGUuaW5kZXhPZigibWFya2VycyIpfHwic3Bsb20iPT09dC50eXBlKX0saGFzVGV4dDpmdW5jdGlvbih0KXtyZXR1cm4gdC52aXNpYmxlJiZ0Lm1vZGUmJi0xIT09dC5tb2RlLmluZGV4T2YoInRleHQiKX0saXNCdWJibGU6ZnVuY3Rpb24odCl7cmV0dXJuIG4uaXNQbGFpbk9iamVjdCh0Lm1hcmtlcikmJm4uaXNBcnJheU9yVHlwZWRBcnJheSh0Lm1hcmtlci5zaXplKX19fSx7Ii4uLy4uL2xpYiI6NzE3fV0sMTE0NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSxpKXtpPWl8fHt9LGEoInRleHRwb3NpdGlvbiIpLG4uY29lcmNlRm9udChhLCJ0ZXh0Zm9udCIsci5mb250KSxpLm5vU2VsZWN0fHwoYSgic2VsZWN0ZWQudGV4dGZvbnQuY29sb3IiKSxhKCJ1bnNlbGVjdGVkLnRleHRmb250LmNvbG9yIikpfX0seyIuLi8uLi9saWIiOjcxN31dLDExNDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXt2YXIgbyxzPWkoIngiKSxsPWkoInkiKTtpZihhLmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiaGFuZGxlVHJhY2VEZWZhdWx0cyIpKHQsZSxbIngiLCJ5Il0scikscyl7dmFyIGM9bi5taW5Sb3dMZW5ndGgocyk7bD9vPU1hdGgubWluKGMsbi5taW5Sb3dMZW5ndGgobCkpOihvPWMsaSgieTAiKSxpKCJkeSIpKX1lbHNle2lmKCFsKXJldHVybiAwO289bi5taW5Sb3dMZW5ndGgobCksaSgieDAiKSxpKCJkeCIpfXJldHVybiBlLl9sZW5ndGg9byxvfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0Nn1dLDExNDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxvPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS50ZXh0dGVtcGxhdGVBdHRycyxzPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxsPXQoIi4uLy4uL2NvbnN0YW50cy9nbDNkX2Rhc2hlcyIpLGM9dCgiLi4vLi4vY29uc3RhbnRzL2dsM2RfbWFya2VycyIpLHU9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsaD10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwsZj1uLmxpbmUscD1uLm1hcmtlcixkPXAubGluZSxnPXUoe3dpZHRoOmYud2lkdGgsZGFzaDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOk9iamVjdC5rZXlzKGwpLGRmbHQ6InNvbGlkIn19LGEoImxpbmUiKSk7dmFyIHY9ZS5leHBvcnRzPWgoe3g6bi54LHk6bi55LHo6e3ZhbFR5cGU6ImRhdGFfYXJyYXkifSx0ZXh0OnUoe30sbi50ZXh0LHt9KSx0ZXh0dGVtcGxhdGU6byh7fSx7fSksaG92ZXJ0ZXh0OnUoe30sbi5ob3ZlcnRleHQse30pLGhvdmVydGVtcGxhdGU6aSgpLG1vZGU6dSh7fSxuLm1vZGUse2RmbHQ6ImxpbmVzK21hcmtlcnMifSksc3VyZmFjZWF4aXM6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbLTEsMCwxLDJdLGRmbHQ6LTF9LHN1cmZhY2Vjb2xvcjp7dmFsVHlwZToiY29sb3IifSxwcm9qZWN0aW9uOnt4OntzaG93Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxvcGFjaXR5Ont2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MX0sc2NhbGU6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEwLGRmbHQ6Mi8zfX0seTp7c2hvdzp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMX0sb3BhY2l0eTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0OjF9LHNjYWxlOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxMCxkZmx0OjIvM319LHo6e3Nob3c6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxfSxzY2FsZTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MTAsZGZsdDoyLzN9fX0sY29ubmVjdGdhcHM6bi5jb25uZWN0Z2FwcyxsaW5lOmcsbWFya2VyOnUoe3N5bWJvbDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOk9iamVjdC5rZXlzKGMpLGRmbHQ6ImNpcmNsZSIsYXJyYXlPazohMH0sc2l6ZTp1KHt9LHAuc2l6ZSx7ZGZsdDo4fSksc2l6ZXJlZjpwLnNpemVyZWYsc2l6ZW1pbjpwLnNpemVtaW4sc2l6ZW1vZGU6cC5zaXplbW9kZSxvcGFjaXR5OnUoe30scC5vcGFjaXR5LHthcnJheU9rOiExfSksY29sb3JiYXI6cC5jb2xvcmJhcixsaW5lOnUoe3dpZHRoOnUoe30sZC53aWR0aCx7YXJyYXlPazohMX0pfSxhKCJtYXJrZXIubGluZSIpKX0sYSgibWFya2VyIikpLHRleHRwb3NpdGlvbjp1KHt9LG4udGV4dHBvc2l0aW9uLHtkZmx0OiJ0b3AgY2VudGVyIn0pLHRleHRmb250Ontjb2xvcjpuLnRleHRmb250LmNvbG9yLHNpemU6bi50ZXh0Zm9udC5zaXplLGZhbWlseTp1KHt9LG4udGV4dGZvbnQuZmFtaWx5LHthcnJheU9rOiExfSl9LGhvdmVyaW5mbzp1KHt9LHMuaG92ZXJpbmZvKX0sImNhbGMiLCJuZXN0ZWQiKTt2LnguZWRpdFR5cGU9di55LmVkaXRUeXBlPXYuei5lZGl0VHlwZT0iY2FsYytjbGVhckF4aXNUeXBlcyJ9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vY29uc3RhbnRzL2dsM2RfZGFzaGVzIjo2OTAsIi4uLy4uL2NvbnN0YW50cy9nbDNkX21hcmtlcnMiOjY5MSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjB9XSwxMTQ4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NjYXR0ZXIvYXJyYXlzX3RvX2NhbGNkYXRhIiksYT10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPVt7eDohMSx5OiExLHRyYWNlOmUsdDp7fX1dO3JldHVybiBuKHIsZSksYSh0LGUpLHJ9fSx7Ii4uL3NjYXR0ZXIvYXJyYXlzX3RvX2NhbGNkYXRhIjoxMTE5LCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyI6MTEyM31dLDExNDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKTtmdW5jdGlvbiBhKHQsZSxyLGEpe2lmKCFlfHwhZS52aXNpYmxlKXJldHVybiBudWxsO2Zvcih2YXIgaT1uLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwibWFrZUNvbXB1dGVFcnJvciIpKGUpLG89bmV3IEFycmF5KHQubGVuZ3RoKSxzPTA7czx0Lmxlbmd0aDtzKyspe3ZhciBsPWkoK3Rbc10scyk7aWYoImxvZyI9PT1hLnR5cGUpe3ZhciBjPWEuYzJsKHRbc10pLHU9dFtzXS1sWzBdLGg9dFtzXStsWzFdO2lmKG9bc109WyhhLmMybCh1LCEwKS1jKSpyLChhLmMybChoLCEwKS1jKSpyXSx1PjApe3ZhciBmPWEuYzJsKHUpO2EuX2xvd2VyTG9nRXJyb3JCb3VuZHx8KGEuX2xvd2VyTG9nRXJyb3JCb3VuZD1mKSxhLl9sb3dlckVycm9yQm91bmQ9TWF0aC5taW4oYS5fbG93ZXJMb2dFcnJvckJvdW5kLGYpfX1lbHNlIG9bc109Wy1sWzBdKnIsbFsxXSpyXX1yZXR1cm4gb31lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVthKHQueCx0LmVycm9yX3gsZVswXSxyLnhheGlzKSxhKHQueSx0LmVycm9yX3ksZVsxXSxyLnlheGlzKSxhKHQueix0LmVycm9yX3osZVsyXSxyLnpheGlzKV0saT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZih0W2VdKXJldHVybiB0W2VdLmxlbmd0aDtyZXR1cm4gMH0obik7aWYoMD09PWkpcmV0dXJuIG51bGw7Zm9yKHZhciBvPW5ldyBBcnJheShpKSxzPTA7czxpO3MrKyl7Zm9yKHZhciBsPVtbMCwwLDBdLFswLDAsMF1dLGM9MDtjPDM7YysrKWlmKG5bY10pZm9yKHZhciB1PTA7dTwyO3UrKylsW3VdW2NdPW5bY11bc11bdV07b1tzXT1sfXJldHVybiBvfX0seyIuLi8uLi9yZWdpc3RyeSI6ODQ2fV0sMTE1MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1saW5lM2QiKSxhPXQoImdsLXNjYXR0ZXIzZCIpLGk9dCgiZ2wtZXJyb3IzZCIpLG89dCgiZ2wtbWVzaDNkIikscz10KCJkZWxhdW5heS10cmlhbmd1bGF0ZSIpLGw9dCgiLi4vLi4vbGliIiksYz10KCIuLi8uLi9saWIvc3RyMnJnYmFycmF5IiksdT10KCIuLi8uLi9saWIvZ2xfZm9ybWF0X2NvbG9yIikuZm9ybWF0Q29sb3IsaD10KCIuLi9zY2F0dGVyL21ha2VfYnViYmxlX3NpemVfZnVuYyIpLGY9dCgiLi4vLi4vY29uc3RhbnRzL2dsM2RfZGFzaGVzIikscD10KCIuLi8uLi9jb25zdGFudHMvZ2wzZF9tYXJrZXJzIiksZD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGc9dCgiLi4vLi4vY29tcG9uZW50cy9meC9oZWxwZXJzIikuYXBwZW5kQXJyYXlQb2ludFZhbHVlLHY9dCgiLi9jYWxjX2Vycm9ycyIpO2Z1bmN0aW9uIG0odCxlKXt0aGlzLnNjZW5lPXQsdGhpcy51aWQ9ZSx0aGlzLmxpbmVQbG90PW51bGwsdGhpcy5zY2F0dGVyUGxvdD1udWxsLHRoaXMuZXJyb3JCYXJzPW51bGwsdGhpcy50ZXh0TWFya2Vycz1udWxsLHRoaXMuZGVsYXVuYXlNZXNoPW51bGwsdGhpcy5jb2xvcj1udWxsLHRoaXMubW9kZT0iIix0aGlzLmRhdGFQb2ludHM9W10sdGhpcy5heGVzQm91bmRzPVtbLTEvMCwtMS8wLC0xLzBdLFsxLzAsMS8wLDEvMF1dLHRoaXMudGV4dExhYmVscz1udWxsLHRoaXMuZGF0YT1udWxsfXZhciB5PW0ucHJvdG90eXBlO2Z1bmN0aW9uIHgodCl7cmV0dXJuIG51bGw9PXQ/MDp0LmluZGV4T2YoImxlZnQiKT4tMT8tMTp0LmluZGV4T2YoInJpZ2h0Iik+LTE/MTowfWZ1bmN0aW9uIGIodCl7cmV0dXJuIG51bGw9PXQ/MDp0LmluZGV4T2YoInRvcCIpPi0xPy0xOnQuaW5kZXhPZigiYm90dG9tIik+LTE/MTowfWZ1bmN0aW9uIF8odCxlKXtyZXR1cm4gZSg0KnQpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIHBbdF19ZnVuY3Rpb24gayh0LGUscixuLGEpe3ZhciBpPW51bGw7aWYobC5pc0FycmF5T3JUeXBlZEFycmF5KHQpKXtpPVtdO2Zvcih2YXIgbz0wO288ZTtvKyspdm9pZCAwPT09dFtvXT9pW29dPW46aVtvXT1yKHRbb10sYSl9ZWxzZSBpPXIodCxsLmlkZW50aXR5KTtyZXR1cm4gaX1mdW5jdGlvbiBUKHQsZSl7dmFyIHIsbixhLGksbyxzLGY9W10scD10LmZ1bGxTY2VuZUxheW91dCxtPXQuZGF0YVNjYWxlLHk9cC54YXhpcyxUPXAueWF4aXMsTT1wLnpheGlzLEE9ZS5tYXJrZXIsUz1lLmxpbmUsRT1lLnh8fFtdLEw9ZS55fHxbXSxDPWUuenx8W10sUD1FLmxlbmd0aCxPPWUueGNhbGVuZGFyLHo9ZS55Y2FsZW5kYXIsST1lLnpjYWxlbmRhcjtmb3Iobz0wO288UDtvKyspcj15LmQybChFW29dLDAsTykqbVswXSxuPVQuZDJsKExbb10sMCx6KSptWzFdLGE9TS5kMmwoQ1tvXSwwLEkpKm1bMl0sZltvXT1bcixuLGFdO2lmKEFycmF5LmlzQXJyYXkoZS50ZXh0KSlzPWUudGV4dDtlbHNlIGlmKHZvaWQgMCE9PWUudGV4dClmb3Iocz1uZXcgQXJyYXkoUCksbz0wO288UDtvKyspc1tvXT1lLnRleHQ7ZnVuY3Rpb24gRCh0LGUpe3ZhciByPXBbdF07cmV0dXJuIGQudGlja1RleHQocixyLmQybChlKSwhMCkudGV4dH12YXIgUj1lLnRleHR0ZW1wbGF0ZTtpZihSKXt2YXIgRj10LmZ1bGxMYXlvdXQuX2QzbG9jYWxlLEI9QXJyYXkuaXNBcnJheShSKSxOPUI/TWF0aC5taW4oUi5sZW5ndGgsUCk6UCxqPUI/ZnVuY3Rpb24odCl7cmV0dXJuIFJbdF19OmZ1bmN0aW9uKCl7cmV0dXJuIFJ9O2ZvcihzPW5ldyBBcnJheShOKSxvPTA7bzxOO28rKyl7dmFyIFY9e3g6RVtvXSx5Okxbb10sejpDW29dfSxVPXt4TGFiZWw6RCgieGF4aXMiLEVbb10pLHlMYWJlbDpEKCJ5YXhpcyIsTFtvXSksekxhYmVsOkQoInpheGlzIixDW29dKX0scT17fTtnKHEsZSxvKTt2YXIgSD1lLl9tZXRhfHx7fTtzW29dPWwudGV4dHRlbXBsYXRlU3RyaW5nKGoobyksVSxGLHEsVixIKX19aWYoaT17cG9zaXRpb246Zixtb2RlOmUubW9kZSx0ZXh0OnN9LCJsaW5lImluIGUmJihpLmxpbmVDb2xvcj11KFMsMSxQKSxpLmxpbmVXaWR0aD1TLndpZHRoLGkubGluZURhc2hlcz1TLmRhc2gpLCJtYXJrZXIiaW4gZSl7dmFyIEc9aChlKTtpLnNjYXR0ZXJDb2xvcj11KEEsMSxQKSxpLnNjYXR0ZXJTaXplPWsoQS5zaXplLFAsXywyMCxHKSxpLnNjYXR0ZXJNYXJrZXI9ayhBLnN5bWJvbCxQLHcsIlx1MjVjZiIpLGkuc2NhdHRlckxpbmVXaWR0aD1BLmxpbmUud2lkdGgsaS5zY2F0dGVyTGluZUNvbG9yPXUoQS5saW5lLDEsUCksaS5zY2F0dGVyQW5nbGU9MH0idGV4dHBvc2l0aW9uImluIGUmJihpLnRleHRPZmZzZXQ9ZnVuY3Rpb24odCl7dmFyIGU9WzAsMF07aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllW3JdPVswLDBdLHRbcl0mJihlW3JdWzBdPXgodFtyXSksZVtyXVsxXT1iKHRbcl0pKTtlbHNlIGVbMF09eCh0KSxlWzFdPWIodCk7cmV0dXJuIGV9KGUudGV4dHBvc2l0aW9uKSxpLnRleHRDb2xvcj11KGUudGV4dGZvbnQsMSxQKSxpLnRleHRTaXplPWsoZS50ZXh0Zm9udC5zaXplLFAsbC5pZGVudGl0eSwxMiksaS50ZXh0Rm9udD1lLnRleHRmb250LmZhbWlseSxpLnRleHRBbmdsZT0wKTt2YXIgWT1bIngiLCJ5IiwieiJdO2ZvcihpLnByb2plY3Q9WyExLCExLCExXSxpLnByb2plY3RTY2FsZT1bMSwxLDFdLGkucHJvamVjdE9wYWNpdHk9WzEsMSwxXSxvPTA7bzwzOysrbyl7dmFyIFc9ZS5wcm9qZWN0aW9uW1lbb11dOyhpLnByb2plY3Rbb109Vy5zaG93KSYmKGkucHJvamVjdE9wYWNpdHlbb109Vy5vcGFjaXR5LGkucHJvamVjdFNjYWxlW29dPVcuc2NhbGUpfWkuZXJyb3JCb3VuZHM9dihlLG0scCk7dmFyIFg9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVswLDAsMF0scj1bWzAsMCwwXSxbMCwwLDBdLFswLDAsMF1dLG49WzEsMSwxXSxhPTA7YTwzO2ErKyl7dmFyIGk9dFthXTtpJiYhMSE9PWkuY29weV96c3R5bGUmJiExIT09dFsyXS52aXNpYmxlJiYoaT10WzJdKSxpJiZpLnZpc2libGUmJihlW2FdPWkud2lkdGgvMixyW2FdPWMoaS5jb2xvciksblthXT1pLnRoaWNrbmVzcyl9cmV0dXJue2NhcFNpemU6ZSxjb2xvcjpyLGxpbmVXaWR0aDpufX0oW2UuZXJyb3JfeCxlLmVycm9yX3ksZS5lcnJvcl96XSk7cmV0dXJuIGkuZXJyb3JDb2xvcj1YLmNvbG9yLGkuZXJyb3JMaW5lV2lkdGg9WC5saW5lV2lkdGgsaS5lcnJvckNhcFNpemU9WC5jYXBTaXplLGkuZGVsYXVuYXlBeGlzPWUuc3VyZmFjZWF4aXMsaS5kZWxhdW5heUNvbG9yPWMoZS5zdXJmYWNlY29sb3IpLGl9ZnVuY3Rpb24gTSh0KXtpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgZT10WzBdO3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYodD1lKSwicmdiKCIrdC5zbGljZSgwLDMpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCgyNTUqdCl9KSsiKSJ9cmV0dXJuIG51bGx9eS5oYW5kbGVQaWNrPWZ1bmN0aW9uKHQpe2lmKHQub2JqZWN0JiYodC5vYmplY3Q9PT10aGlzLmxpbmVQbG90fHx0Lm9iamVjdD09PXRoaXMuZGVsYXVuYXlNZXNofHx0Lm9iamVjdD09PXRoaXMudGV4dE1hcmtlcnN8fHQub2JqZWN0PT09dGhpcy5zY2F0dGVyUGxvdCkpe3ZhciBlPXQuaW5kZXg9dC5kYXRhLmluZGV4O3JldHVybiB0Lm9iamVjdC5oaWdobGlnaHQmJnQub2JqZWN0LmhpZ2hsaWdodChudWxsKSx0aGlzLnNjYXR0ZXJQbG90JiYodC5vYmplY3Q9dGhpcy5zY2F0dGVyUGxvdCx0aGlzLnNjYXR0ZXJQbG90LmhpZ2hsaWdodCh0LmRhdGEpKSx0LnRleHRMYWJlbD0iIix0aGlzLnRleHRMYWJlbHMmJihBcnJheS5pc0FycmF5KHRoaXMudGV4dExhYmVscyk/KHRoaXMudGV4dExhYmVsc1tlXXx8MD09PXRoaXMudGV4dExhYmVsc1tlXSkmJih0LnRleHRMYWJlbD10aGlzLnRleHRMYWJlbHNbZV0pOnQudGV4dExhYmVsPXRoaXMudGV4dExhYmVscyksdC50cmFjZUNvb3JkaW5hdGU9W3RoaXMuZGF0YS54W2VdLHRoaXMuZGF0YS55W2VdLHRoaXMuZGF0YS56W2VdXSwhMH19LHkudXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbCxjLHU9dGhpcy5zY2VuZS5nbHBsb3QuZ2wsaD1mLnNvbGlkO3RoaXMuZGF0YT10O3ZhciBwPVQodGhpcy5zY2VuZSx0KTsibW9kZSJpbiBwJiYodGhpcy5tb2RlPXAubW9kZSksImxpbmVEYXNoZXMiaW4gcCYmcC5saW5lRGFzaGVzIGluIGYmJihoPWZbcC5saW5lRGFzaGVzXSksdGhpcy5jb2xvcj1NKHAuc2NhdHRlckNvbG9yKXx8TShwLmxpbmVDb2xvciksdGhpcy5kYXRhUG9pbnRzPXAucG9zaXRpb24sZT17Z2w6dGhpcy5zY2VuZS5nbHBsb3QuZ2wscG9zaXRpb246cC5wb3NpdGlvbixjb2xvcjpwLmxpbmVDb2xvcixsaW5lV2lkdGg6cC5saW5lV2lkdGh8fDEsZGFzaGVzOmhbMF0sZGFzaFNjYWxlOmhbMV0sb3BhY2l0eTp0Lm9wYWNpdHksY29ubmVjdEdhcHM6dC5jb25uZWN0Z2Fwc30sLTEhPT10aGlzLm1vZGUuaW5kZXhPZigibGluZXMiKT90aGlzLmxpbmVQbG90P3RoaXMubGluZVBsb3QudXBkYXRlKGUpOih0aGlzLmxpbmVQbG90PW4oZSksdGhpcy5saW5lUGxvdC5fdHJhY2U9dGhpcyx0aGlzLnNjZW5lLmdscGxvdC5hZGQodGhpcy5saW5lUGxvdCkpOnRoaXMubGluZVBsb3QmJih0aGlzLnNjZW5lLmdscGxvdC5yZW1vdmUodGhpcy5saW5lUGxvdCksdGhpcy5saW5lUGxvdC5kaXNwb3NlKCksdGhpcy5saW5lUGxvdD1udWxsKTt2YXIgZD10Lm9wYWNpdHk7aWYodC5tYXJrZXImJnQubWFya2VyLm9wYWNpdHkmJihkKj10Lm1hcmtlci5vcGFjaXR5KSxyPXtnbDp0aGlzLnNjZW5lLmdscGxvdC5nbCxwb3NpdGlvbjpwLnBvc2l0aW9uLGNvbG9yOnAuc2NhdHRlckNvbG9yLHNpemU6cC5zY2F0dGVyU2l6ZSxnbHlwaDpwLnNjYXR0ZXJNYXJrZXIsb3BhY2l0eTpkLG9ydGhvZ3JhcGhpYzohMCxsaW5lV2lkdGg6cC5zY2F0dGVyTGluZVdpZHRoLGxpbmVDb2xvcjpwLnNjYXR0ZXJMaW5lQ29sb3IscHJvamVjdDpwLnByb2plY3QscHJvamVjdFNjYWxlOnAucHJvamVjdFNjYWxlLHByb2plY3RPcGFjaXR5OnAucHJvamVjdE9wYWNpdHl9LC0xIT09dGhpcy5tb2RlLmluZGV4T2YoIm1hcmtlcnMiKT90aGlzLnNjYXR0ZXJQbG90P3RoaXMuc2NhdHRlclBsb3QudXBkYXRlKHIpOih0aGlzLnNjYXR0ZXJQbG90PWEociksdGhpcy5zY2F0dGVyUGxvdC5fdHJhY2U9dGhpcyx0aGlzLnNjYXR0ZXJQbG90LmhpZ2hsaWdodFNjYWxlPTEsdGhpcy5zY2VuZS5nbHBsb3QuYWRkKHRoaXMuc2NhdHRlclBsb3QpKTp0aGlzLnNjYXR0ZXJQbG90JiYodGhpcy5zY2VuZS5nbHBsb3QucmVtb3ZlKHRoaXMuc2NhdHRlclBsb3QpLHRoaXMuc2NhdHRlclBsb3QuZGlzcG9zZSgpLHRoaXMuc2NhdHRlclBsb3Q9bnVsbCksYz17Z2w6dGhpcy5zY2VuZS5nbHBsb3QuZ2wscG9zaXRpb246cC5wb3NpdGlvbixnbHlwaDpwLnRleHQsY29sb3I6cC50ZXh0Q29sb3Isc2l6ZTpwLnRleHRTaXplLGFuZ2xlOnAudGV4dEFuZ2xlLGFsaWdubWVudDpwLnRleHRPZmZzZXQsZm9udDpwLnRleHRGb250LG9ydGhvZ3JhcGhpYzohMCxsaW5lV2lkdGg6MCxwcm9qZWN0OiExLG9wYWNpdHk6dC5vcGFjaXR5fSx0aGlzLnRleHRMYWJlbHM9dC5ob3ZlcnRleHR8fHQudGV4dCwtMSE9PXRoaXMubW9kZS5pbmRleE9mKCJ0ZXh0Iik/dGhpcy50ZXh0TWFya2Vycz90aGlzLnRleHRNYXJrZXJzLnVwZGF0ZShjKToodGhpcy50ZXh0TWFya2Vycz1hKGMpLHRoaXMudGV4dE1hcmtlcnMuX3RyYWNlPXRoaXMsdGhpcy50ZXh0TWFya2Vycy5oaWdobGlnaHRTY2FsZT0xLHRoaXMuc2NlbmUuZ2xwbG90LmFkZCh0aGlzLnRleHRNYXJrZXJzKSk6dGhpcy50ZXh0TWFya2VycyYmKHRoaXMuc2NlbmUuZ2xwbG90LnJlbW92ZSh0aGlzLnRleHRNYXJrZXJzKSx0aGlzLnRleHRNYXJrZXJzLmRpc3Bvc2UoKSx0aGlzLnRleHRNYXJrZXJzPW51bGwpLGw9e2dsOnRoaXMuc2NlbmUuZ2xwbG90LmdsLHBvc2l0aW9uOnAucG9zaXRpb24sY29sb3I6cC5lcnJvckNvbG9yLGVycm9yOnAuZXJyb3JCb3VuZHMsbGluZVdpZHRoOnAuZXJyb3JMaW5lV2lkdGgsY2FwU2l6ZTpwLmVycm9yQ2FwU2l6ZSxvcGFjaXR5OnQub3BhY2l0eX0sdGhpcy5lcnJvckJhcnM/cC5lcnJvckJvdW5kcz90aGlzLmVycm9yQmFycy51cGRhdGUobCk6KHRoaXMuc2NlbmUuZ2xwbG90LnJlbW92ZSh0aGlzLmVycm9yQmFycyksdGhpcy5lcnJvckJhcnMuZGlzcG9zZSgpLHRoaXMuZXJyb3JCYXJzPW51bGwpOnAuZXJyb3JCb3VuZHMmJih0aGlzLmVycm9yQmFycz1pKGwpLHRoaXMuZXJyb3JCYXJzLl90cmFjZT10aGlzLHRoaXMuc2NlbmUuZ2xwbG90LmFkZCh0aGlzLmVycm9yQmFycykpLHAuZGVsYXVuYXlBeGlzPj0wKXt2YXIgZz1mdW5jdGlvbih0LGUscil7dmFyIG4sYT0ocisxKSUzLGk9KHIrMiklMyxvPVtdLGw9W107Zm9yKG49MDtuPHQubGVuZ3RoOysrbil7dmFyIGM9dFtuXTshaXNOYU4oY1thXSkmJmlzRmluaXRlKGNbYV0pJiYhaXNOYU4oY1tpXSkmJmlzRmluaXRlKGNbaV0pJiYoby5wdXNoKFtjW2FdLGNbaV1dKSxsLnB1c2gobikpfXZhciB1PXMobyk7Zm9yKG49MDtuPHUubGVuZ3RoOysrbilmb3IodmFyIGg9dVtuXSxmPTA7ZjxoLmxlbmd0aDsrK2YpaFtmXT1sW2hbZl1dO3JldHVybntwb3NpdGlvbnM6dCxjZWxsczp1LG1lc2hDb2xvcjplfX0ocC5wb3NpdGlvbixwLmRlbGF1bmF5Q29sb3IscC5kZWxhdW5heUF4aXMpO2cub3BhY2l0eT10Lm9wYWNpdHksdGhpcy5kZWxhdW5heU1lc2g/dGhpcy5kZWxhdW5heU1lc2gudXBkYXRlKGcpOihnLmdsPXUsdGhpcy5kZWxhdW5heU1lc2g9byhnKSx0aGlzLmRlbGF1bmF5TWVzaC5fdHJhY2U9dGhpcyx0aGlzLnNjZW5lLmdscGxvdC5hZGQodGhpcy5kZWxhdW5heU1lc2gpKX1lbHNlIHRoaXMuZGVsYXVuYXlNZXNoJiYodGhpcy5zY2VuZS5nbHBsb3QucmVtb3ZlKHRoaXMuZGVsYXVuYXlNZXNoKSx0aGlzLmRlbGF1bmF5TWVzaC5kaXNwb3NlKCksdGhpcy5kZWxhdW5heU1lc2g9bnVsbCl9LHkuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMubGluZVBsb3QmJih0aGlzLnNjZW5lLmdscGxvdC5yZW1vdmUodGhpcy5saW5lUGxvdCksdGhpcy5saW5lUGxvdC5kaXNwb3NlKCkpLHRoaXMuc2NhdHRlclBsb3QmJih0aGlzLnNjZW5lLmdscGxvdC5yZW1vdmUodGhpcy5zY2F0dGVyUGxvdCksdGhpcy5zY2F0dGVyUGxvdC5kaXNwb3NlKCkpLHRoaXMuZXJyb3JCYXJzJiYodGhpcy5zY2VuZS5nbHBsb3QucmVtb3ZlKHRoaXMuZXJyb3JCYXJzKSx0aGlzLmVycm9yQmFycy5kaXNwb3NlKCkpLHRoaXMudGV4dE1hcmtlcnMmJih0aGlzLnNjZW5lLmdscGxvdC5yZW1vdmUodGhpcy50ZXh0TWFya2VycyksdGhpcy50ZXh0TWFya2Vycy5kaXNwb3NlKCkpLHRoaXMuZGVsYXVuYXlNZXNoJiYodGhpcy5zY2VuZS5nbHBsb3QucmVtb3ZlKHRoaXMuZGVsYXVuYXlNZXNoKSx0aGlzLmRlbGF1bmF5TWVzaC5kaXNwb3NlKCkpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1uZXcgbSh0LGUudWlkKTtyZXR1cm4gci51cGRhdGUoZSkscn19LHsiLi4vLi4vY29tcG9uZW50cy9meC9oZWxwZXJzIjo2MjcsIi4uLy4uL2NvbnN0YW50cy9nbDNkX2Rhc2hlcyI6NjkwLCIuLi8uLi9jb25zdGFudHMvZ2wzZF9tYXJrZXJzIjo2OTEsIi4uLy4uL2xpYiI6NzE3LCIuLi8uLi9saWIvZ2xfZm9ybWF0X2NvbG9yIjo3MTQsIi4uLy4uL2xpYi9zdHIycmdiYXJyYXkiOjc0MCwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vc2NhdHRlci9tYWtlX2J1YmJsZV9zaXplX2Z1bmMiOjExMzcsIi4vY2FsY19lcnJvcnMiOjExNDksImRlbGF1bmF5LXRyaWFuZ3VsYXRlIjoxNjcsImdsLWVycm9yM2QiOjI1MCwiZ2wtbGluZTNkIjoyNTgsImdsLW1lc2gzZCI6MjgzLCJnbC1zY2F0dGVyM2QiOjMwMH1dLDExNTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLG89dCgiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiKSxzPXQoIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyIpLGw9dCgiLi4vc2NhdHRlci90ZXh0X2RlZmF1bHRzIiksYz10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsdSl7ZnVuY3Rpb24gaChyLG4pe3JldHVybiBhLmNvZXJjZSh0LGUsYyxyLG4pfWlmKGZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpPTAsbz1yKCJ4Iikscz1yKCJ5IiksbD1yKCJ6Iik7bi5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsImhhbmRsZVRyYWNlRGVmYXVsdHMiKSh0LGUsWyJ4IiwieSIsInoiXSxhKSxvJiZzJiZsJiYoaT1NYXRoLm1pbihvLmxlbmd0aCxzLmxlbmd0aCxsLmxlbmd0aCksZS5fbGVuZ3RoPWUuX3hsZW5ndGg9ZS5feWxlbmd0aD1lLl96bGVuZ3RoPWkpO3JldHVybiBpfSh0LGUsaCx1KSl7aCgidGV4dCIpLGgoImhvdmVydGV4dCIpLGgoImhvdmVydGVtcGxhdGUiKSxoKCJtb2RlIiksaS5oYXNMaW5lcyhlKSYmKGgoImNvbm5lY3RnYXBzIikscyh0LGUscix1LGgpKSxpLmhhc01hcmtlcnMoZSkmJm8odCxlLHIsdSxoLHtub1NlbGVjdDohMH0pLGkuaGFzVGV4dChlKSYmKGgoInRleHR0ZW1wbGF0ZSIpLGwodCxlLHUsaCx7bm9TZWxlY3Q6ITB9KSk7dmFyIGY9KGUubGluZXx8e30pLmNvbG9yLHA9KGUubWFya2VyfHx7fSkuY29sb3I7aCgic3VyZmFjZWF4aXMiKT49MCYmaCgic3VyZmFjZWNvbG9yIixmfHxwKTtmb3IodmFyIGQ9WyJ4IiwieSIsInoiXSxnPTA7ZzwzOysrZyl7dmFyIHY9InByb2plY3Rpb24uIitkW2ddO2godisiLnNob3ciKSYmKGgodisiLm9wYWNpdHkiKSxoKHYrIi5zY2FsZSIpKX12YXIgbT1uLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwic3VwcGx5RGVmYXVsdHMiKTttKHQsZSxmfHxwfHxyLHtheGlzOiJ6In0pLG0odCxlLGZ8fHB8fHIse2F4aXM6InkiLGluaGVyaXQ6InoifSksbSh0LGUsZnx8cHx8cix7YXhpczoieCIsaW5oZXJpdDoieiJ9KX1lbHNlIGUudmlzaWJsZT0hMX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyI6MTEzMywiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiOjExMzksIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyI6MTE0NSwiLi9hdHRyaWJ1dGVzIjoxMTQ3fV0sMTE1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e3Bsb3Q6dCgiLi9jb252ZXJ0IiksYXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxtYXJrZXJTeW1ib2xzOnQoIi4uLy4uL2NvbnN0YW50cy9nbDNkX21hcmtlcnMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY29sb3JiYXI6W3tjb250YWluZXI6Im1hcmtlciIsbWluOiJjbWluIixtYXg6ImNtYXgifSx7Y29udGFpbmVyOiJsaW5lIixtaW46ImNtaW4iLG1heDoiY21heCJ9XSxjYWxjOnQoIi4vY2FsYyIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJzY2F0dGVyM2QiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL2dsM2QiKSxjYXRlZ29yaWVzOlsiZ2wzZCIsInN5bWJvbHMiLCJzaG93TGVnZW5kIiwic2NhdHRlci1saWtlIl0sbWV0YTp7fX19LHsiLi4vLi4vY29uc3RhbnRzL2dsM2RfbWFya2VycyI6NjkxLCIuLi8uLi9wbG90cy9nbDNkIjo4MDUsIi4vYXR0cmlidXRlcyI6MTE0NywiLi9jYWxjIjoxMTQ4LCIuL2NvbnZlcnQiOjExNTAsIi4vZGVmYXVsdHMiOjExNTF9XSwxMTUzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NjYXR0ZXIvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxvPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS50ZXh0dGVtcGxhdGVBdHRycyxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIiksbD10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxjPW4ubWFya2VyLHU9bi5saW5lLGg9Yy5saW5lO2UuZXhwb3J0cz17Y2FycGV0Ont2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJjYWxjIn0sYTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxiOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LG1vZGU6bCh7fSxuLm1vZGUse2RmbHQ6Im1hcmtlcnMifSksdGV4dDpsKHt9LG4udGV4dCx7fSksdGV4dHRlbXBsYXRlOm8oe2VkaXRUeXBlOiJwbG90In0se2tleXM6WyJhIiwiYiIsInRleHQiXX0pLGhvdmVydGV4dDpsKHt9LG4uaG92ZXJ0ZXh0LHt9KSxsaW5lOntjb2xvcjp1LmNvbG9yLHdpZHRoOnUud2lkdGgsZGFzaDp1LmRhc2gsc2hhcGU6bCh7fSx1LnNoYXBlLHt2YWx1ZXM6WyJsaW5lYXIiLCJzcGxpbmUiXX0pLHNtb290aGluZzp1LnNtb290aGluZyxlZGl0VHlwZToiY2FsYyJ9LGNvbm5lY3RnYXBzOm4uY29ubmVjdGdhcHMsZmlsbDpsKHt9LG4uZmlsbCx7dmFsdWVzOlsibm9uZSIsInRvc2VsZiIsInRvbmV4dCJdLGRmbHQ6Im5vbmUifSksZmlsbGNvbG9yOm4uZmlsbGNvbG9yLG1hcmtlcjpsKHtzeW1ib2w6Yy5zeW1ib2wsb3BhY2l0eTpjLm9wYWNpdHksbWF4ZGlzcGxheWVkOmMubWF4ZGlzcGxheWVkLHNpemU6Yy5zaXplLHNpemVyZWY6Yy5zaXplcmVmLHNpemVtaW46Yy5zaXplbWluLHNpemVtb2RlOmMuc2l6ZW1vZGUsbGluZTpsKHt3aWR0aDpoLndpZHRoLGVkaXRUeXBlOiJjYWxjIn0scygibWFya2VyLmxpbmUiKSksZ3JhZGllbnQ6Yy5ncmFkaWVudCxlZGl0VHlwZToiY2FsYyJ9LHMoIm1hcmtlciIpKSx0ZXh0Zm9udDpuLnRleHRmb250LHRleHRwb3NpdGlvbjpuLnRleHRwb3NpdGlvbixzZWxlY3RlZDpuLnNlbGVjdGVkLHVuc2VsZWN0ZWQ6bi51bnNlbGVjdGVkLGhvdmVyaW5mbzpsKHt9LGEuaG92ZXJpbmZvLHtmbGFnczpbImEiLCJiIiwidGV4dCIsIm5hbWUiXX0pLGhvdmVyb246bi5ob3Zlcm9uLGhvdmVydGVtcGxhdGU6aSgpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjB9XSwxMTU0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpLGk9dCgiLi4vc2NhdHRlci9hcnJheXNfdG9fY2FsY2RhdGEiKSxvPXQoIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iKSxzPXQoIi4uL3NjYXR0ZXIvY2FsYyIpLmNhbGNNYXJrZXJTaXplLGw9dCgiLi4vY2FycGV0L2xvb2t1cF9jYXJwZXRpZCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWUuX2NhcnBldFRyYWNlPWwodCxlKTtpZihyJiZyLnZpc2libGUmJiJsZWdlbmRvbmx5IiE9PXIudmlzaWJsZSl7dmFyIGM7ZS54YXhpcz1yLnhheGlzLGUueWF4aXM9ci55YXhpczt2YXIgdSxoLGY9ZS5fbGVuZ3RoLHA9bmV3IEFycmF5KGYpLGQ9ITE7Zm9yKGM9MDtjPGY7YysrKWlmKHU9ZS5hW2NdLGg9ZS5iW2NdLG4odSkmJm4oaCkpe3ZhciBnPXIuYWIyeHkoK3UsK2gsITApLHY9ci5pc1Zpc2libGUoK3UsK2gpO3Z8fChkPSEwKSxwW2NdPXt4OmdbMF0seTpnWzFdLGE6dSxiOmgsdmlzOnZ9fWVsc2UgcFtjXT17eDohMSx5OiExfTtyZXR1cm4gZS5fbmVlZHNDdWxsPWQscFswXS5jYXJwZXQ9cixwWzBdLnRyYWNlPWUscyhlLGYpLGEodCxlKSxpKHAsZSksbyhwLGUpLHB9fX0seyIuLi9jYXJwZXQvbG9va3VwX2NhcnBldGlkIjo5MTYsIi4uL3NjYXR0ZXIvYXJyYXlzX3RvX2NhbGNkYXRhIjoxMTE5LCIuLi9zY2F0dGVyL2NhbGMiOjExMjEsIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iOjExMjIsIi4uL3NjYXR0ZXIvY29sb3JzY2FsZV9jYWxjIjoxMTIzLCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sMTE1NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uL3NjYXR0ZXIvY29uc3RhbnRzIiksaT10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksbz10KCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyIpLHM9dCgiLi4vc2NhdHRlci9saW5lX2RlZmF1bHRzIiksbD10KCIuLi9zY2F0dGVyL2xpbmVfc2hhcGVfZGVmYXVsdHMiKSxjPXQoIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyIpLHU9dCgiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiKSxoPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixmKXtmdW5jdGlvbiBwKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxoLHIsYSl9cCgiY2FycGV0IiksZS54YXhpcz0ieCIsZS55YXhpcz0ieSI7dmFyIGQ9cCgiYSIpLGc9cCgiYiIpLHY9TWF0aC5taW4oZC5sZW5ndGgsZy5sZW5ndGgpO2lmKHYpe2UuX2xlbmd0aD12LHAoInRleHQiKSxwKCJ0ZXh0dGVtcGxhdGUiKSxwKCJob3ZlcnRleHQiKSxwKCJtb2RlIix2PGEuUFRTX0xJTkVTT05MWT8ibGluZXMrbWFya2VycyI6ImxpbmVzIiksaS5oYXNMaW5lcyhlKSYmKHModCxlLHIsZixwKSxsKHQsZSxwKSxwKCJjb25uZWN0Z2FwcyIpKSxpLmhhc01hcmtlcnMoZSkmJm8odCxlLHIsZixwLHtncmFkaWVudDohMH0pLGkuaGFzVGV4dChlKSYmYyh0LGUsZixwKTt2YXIgbT1bXTsoaS5oYXNNYXJrZXJzKGUpfHxpLmhhc1RleHQoZSkpJiYocCgibWFya2VyLm1heGRpc3BsYXllZCIpLG0ucHVzaCgicG9pbnRzIikpLHAoImZpbGwiKSwibm9uZSIhPT1lLmZpbGwmJih1KHQsZSxyLHApLGkuaGFzTGluZXMoZSl8fGwodCxlLHApKSwidG9uZXh0IiE9PWUuZmlsbCYmInRvc2VsZiIhPT1lLmZpbGx8fG0ucHVzaCgiZmlsbHMiKSwiZmlsbHMiIT09cCgiaG92ZXJvbiIsbS5qb2luKCIrIil8fCJwb2ludHMiKSYmcCgiaG92ZXJ0ZW1wbGF0ZSIpLG4uY29lcmNlU2VsZWN0aW9uTWFya2VyT3BhY2l0eShlLHApfWVsc2UgZS52aXNpYmxlPSExfX0seyIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlci9jb25zdGFudHMiOjExMjQsIi4uL3NjYXR0ZXIvZmlsbGNvbG9yX2RlZmF1bHRzIjoxMTI4LCIuLi9zY2F0dGVyL2xpbmVfZGVmYXVsdHMiOjExMzMsIi4uL3NjYXR0ZXIvbGluZV9zaGFwZV9kZWZhdWx0cyI6MTEzNSwiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiOjExMzksIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyI6MTE0NSwiLi9hdHRyaWJ1dGVzIjoxMTUzfV0sMTE1NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT1uW2FdO3JldHVybiB0LmE9aS5hLHQuYj1pLmIsdC55PWkueSx0fX0se31dLDExNTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9e30sbj1lLl9jYXJwZXQsYT1uLmFiMmlqKFt0LmEsdC5iXSksaT1NYXRoLmZsb29yKGFbMF0pLG89YVswXS1pLHM9TWF0aC5mbG9vcihhWzFdKSxsPWFbMV0tcyxjPW4uZXZhbHh5KFtdLGkscyxvLGwpO3JldHVybiByLnlMYWJlbD1jWzFdLnRvRml4ZWQoMykscn19LHt9XSwxMTU4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NjYXR0ZXIvaG92ZXIiKSxhPXQoIi4uLy4uL2xpYiIpLmZpbGxUZXh0O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1uKHQsZSxyLGkpO2lmKG8mJiExIT09b1swXS5pbmRleCl7dmFyIHM9b1swXTtpZih2b2lkIDA9PT1zLmluZGV4KXt2YXIgbD0xLXMueTAvdC55YS5fbGVuZ3RoLGM9dC54YS5fbGVuZ3RoLHU9YypsLzIsaD1jLXU7cmV0dXJuIHMueDA9TWF0aC5tYXgoTWF0aC5taW4ocy54MCxoKSx1KSxzLngxPU1hdGgubWF4KE1hdGgubWluKHMueDEsaCksdSksb312YXIgZj1zLmNkW3MuaW5kZXhdO3MuYT1mLmEscy5iPWYuYixzLnhMYWJlbFZhbD12b2lkIDAscy55TGFiZWxWYWw9dm9pZCAwO3ZhciBwPXMudHJhY2UsZD1wLl9jYXJwZXQsZz1wLl9tb2R1bGUuZm9ybWF0TGFiZWxzKGYscCk7cy55TGFiZWw9Zy55TGFiZWwsZGVsZXRlIHMudGV4dDt2YXIgdj1bXTtpZighcC5ob3ZlcnRlbXBsYXRlKXt2YXIgbT0oZi5oaXx8cC5ob3ZlcmluZm8pLnNwbGl0KCIrIik7LTEhPT1tLmluZGV4T2YoImFsbCIpJiYobT1bImEiLCJiIiwidGV4dCJdKSwtMSE9PW0uaW5kZXhPZigiYSIpJiZ5KGQuYWF4aXMsZi5hKSwtMSE9PW0uaW5kZXhPZigiYiIpJiZ5KGQuYmF4aXMsZi5iKSx2LnB1c2goInk6ICIrcy55TGFiZWwpLC0xIT09bS5pbmRleE9mKCJ0ZXh0IikmJmEoZixwLHYpLHMuZXh0cmFUZXh0PXYuam9pbigiPGJyPiIpfXJldHVybiBvfWZ1bmN0aW9uIHkodCxlKXt2YXIgcjtyPXQubGFiZWxwcmVmaXgmJnQubGFiZWxwcmVmaXgubGVuZ3RoPjA/dC5sYWJlbHByZWZpeC5yZXBsYWNlKC8gPSAkLywiIik6dC5faG92ZXJ0aXRsZSx2LnB1c2gocisiOiAiK2UudG9GaXhlZCgzKSt0LmxhYmVsc3VmZml4KX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL2hvdmVyIjoxMTMxfV0sMTE1OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNvbG9yYmFyOnQoIi4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIiksZm9ybWF0TGFiZWxzOnQoIi4vZm9ybWF0X2xhYmVscyIpLGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuL3Bsb3QiKSxzdHlsZTp0KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGUsc3R5bGVPblNlbGVjdDp0KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksc2VsZWN0UG9pbnRzOnQoIi4uL3NjYXR0ZXIvc2VsZWN0IiksZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJzY2F0dGVyY2FycGV0IixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsic3ZnIiwiY2FycGV0Iiwic3ltYm9scyIsInNob3dMZWdlbmQiLCJjYXJwZXREZXBlbmRlbnQiLCJ6b29tU2NhbGUiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4uL3NjYXR0ZXIvc2VsZWN0IjoxMTQxLCIuLi9zY2F0dGVyL3N0eWxlIjoxMTQzLCIuL2F0dHJpYnV0ZXMiOjExNTMsIi4vY2FsYyI6MTE1NCwiLi9kZWZhdWx0cyI6MTE1NSwiLi9ldmVudF9kYXRhIjoxMTU2LCIuL2Zvcm1hdF9sYWJlbHMiOjExNTcsIi4vaG92ZXIiOjExNTgsIi4vcGxvdCI6MTE2MH1dLDExNjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9wbG90IiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8pe3ZhciBzLGwsYyx1PXJbMF1bMF0uY2FycGV0LGg9e3hheGlzOmEuZ2V0RnJvbUlkKHQsdS54YXhpc3x8IngiKSx5YXhpczphLmdldEZyb21JZCh0LHUueWF4aXN8fCJ5IikscGxvdDplLnBsb3R9O2ZvcihuKHQsaCxyLG8pLHM9MDtzPHIubGVuZ3RoO3MrKylsPXJbc11bMF0udHJhY2UsYz1vLnNlbGVjdEFsbCgiZy50cmFjZSIrbC51aWQrIiAuanMtbGluZSIpLGkuc2V0Q2xpcFVybChjLHJbc11bMF0uY2FycGV0Ll9jbGlwUGF0aElkLHQpfX0seyIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vc2NhdHRlci9wbG90IjoxMTQwfV0sMTE2MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGE9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLnRleHR0ZW1wbGF0ZUF0dHJzLGk9dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGw9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nL2F0dHJpYnV0ZXMiKS5kYXNoLGM9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsdT10KCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIikub3ZlcnJpZGVBbGwsaD1pLm1hcmtlcixmPWkubGluZSxwPWgubGluZTtlLmV4cG9ydHM9dSh7bG9uOnt2YWxUeXBlOiJkYXRhX2FycmF5In0sbGF0Ont2YWxUeXBlOiJkYXRhX2FycmF5In0sbG9jYXRpb25zOnt2YWxUeXBlOiJkYXRhX2FycmF5In0sbG9jYXRpb25tb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJJU08tMyIsIlVTQS1zdGF0ZXMiLCJjb3VudHJ5IG5hbWVzIiwiZ2VvanNvbi1pZCJdLGRmbHQ6IklTTy0zIn0sZ2VvanNvbjp7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYyJ9LGZlYXR1cmVpZGtleTp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYyIsZGZsdDoiaWQifSxtb2RlOmMoe30saS5tb2RlLHtkZmx0OiJtYXJrZXJzIn0pLHRleHQ6Yyh7fSxpLnRleHQse30pLHRleHR0ZW1wbGF0ZTphKHtlZGl0VHlwZToicGxvdCJ9LHtrZXlzOlsibGF0IiwibG9uIiwibG9jYXRpb24iLCJ0ZXh0Il19KSxob3ZlcnRleHQ6Yyh7fSxpLmhvdmVydGV4dCx7fSksdGV4dGZvbnQ6aS50ZXh0Zm9udCx0ZXh0cG9zaXRpb246aS50ZXh0cG9zaXRpb24sbGluZTp7Y29sb3I6Zi5jb2xvcix3aWR0aDpmLndpZHRoLGRhc2g6bH0sY29ubmVjdGdhcHM6aS5jb25uZWN0Z2FwcyxtYXJrZXI6Yyh7c3ltYm9sOmguc3ltYm9sLG9wYWNpdHk6aC5vcGFjaXR5LHNpemU6aC5zaXplLHNpemVyZWY6aC5zaXplcmVmLHNpemVtaW46aC5zaXplbWluLHNpemVtb2RlOmguc2l6ZW1vZGUsY29sb3JiYXI6aC5jb2xvcmJhcixsaW5lOmMoe3dpZHRoOnAud2lkdGh9LHMoIm1hcmtlci5saW5lIikpLGdyYWRpZW50OmguZ3JhZGllbnR9LHMoIm1hcmtlciIpKSxmaWxsOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJub25lIiwidG9zZWxmIl0sZGZsdDoibm9uZSJ9LGZpbGxjb2xvcjppLmZpbGxjb2xvcixzZWxlY3RlZDppLnNlbGVjdGVkLHVuc2VsZWN0ZWQ6aS51bnNlbGVjdGVkLGhvdmVyaW5mbzpjKHt9LG8uaG92ZXJpbmZvLHtmbGFnczpbImxvbiIsImxhdCIsImxvY2F0aW9uIiwidGV4dCIsIm5hbWUiXX0pLGhvdmVydGVtcGxhdGU6bigpfSwiY2FsYyIsIm5lc3RlZCIpfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZy9hdHRyaWJ1dGVzIjo2MTIsIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIjoxMTIwfV0sMTE2MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTSxpPXQoIi4uL3NjYXR0ZXIvY29sb3JzY2FsZV9jYWxjIiksbz10KCIuLi9zY2F0dGVyL2FycmF5c190b19jYWxjZGF0YSIpLHM9dCgiLi4vc2NhdHRlci9jYWxjX3NlbGVjdGlvbiIpLGw9dCgiLi4vLi4vbGliIikuXztmdW5jdGlvbiBjKHQpe3JldHVybiB0JiYic3RyaW5nIj09dHlwZW9mIHR9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsdT1BcnJheS5pc0FycmF5KGUubG9jYXRpb25zKSxoPXU/ZS5sb2NhdGlvbnMubGVuZ3RoOmUuX2xlbmd0aCxmPW5ldyBBcnJheShoKTtyPWUuZ2VvanNvbj9mdW5jdGlvbih0KXtyZXR1cm4gYyh0KXx8bih0KX06Yztmb3IodmFyIHA9MDtwPGg7cCsrKXt2YXIgZD1mW3BdPXt9O2lmKHUpe3ZhciBnPWUubG9jYXRpb25zW3BdO2QubG9jPXIoZyk/ZzpudWxsfWVsc2V7dmFyIHY9ZS5sb25bcF0sbT1lLmxhdFtwXTtuKHYpJiZuKG0pP2QubG9ubGF0PVsrdiwrbV06ZC5sb25sYXQ9W2EsYV19fXJldHVybiBvKGYsZSksaSh0LGUpLHMoZixlKSxoJiYoZlswXS50PXtsYWJlbHM6e2xhdDpsKHQsImxhdDoiKSsiICIsbG9uOmwodCwibG9uOiIpKyIgIn19KSxmfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL2FycmF5c190b19jYWxjZGF0YSI6MTExOSwiLi4vc2NhdHRlci9jYWxjX3NlbGVjdGlvbiI6MTEyMiwiLi4vc2NhdHRlci9jb2xvcnNjYWxlX2NhbGMiOjExMjMsImZhc3QtaXNudW1lcmljIjoyMjh9XSwxMTYzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLGk9dCgiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiKSxvPXQoIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyIpLHM9dCgiLi4vc2NhdHRlci90ZXh0X2RlZmF1bHRzIiksbD10KCIuLi9zY2F0dGVyL2ZpbGxjb2xvcl9kZWZhdWx0cyIpLGM9dCgiLi9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHUpe2Z1bmN0aW9uIGgocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGMscixhKX12YXIgZixwPWgoImxvY2F0aW9ucyIpO2lmKHAmJnAubGVuZ3RoKXt2YXIgZCxnPWgoImdlb2pzb24iKTsoInN0cmluZyI9PXR5cGVvZiBnJiYiIiE9PWd8fG4uaXNQbGFpbk9iamVjdChnKSkmJihkPSJnZW9qc29uLWlkIiksImdlb2pzb24taWQiPT09aCgibG9jYXRpb25tb2RlIixkKSYmaCgiZmVhdHVyZWlka2V5IiksZj1wLmxlbmd0aH1lbHNle3ZhciB2PWgoImxvbiIpfHxbXSxtPWgoImxhdCIpfHxbXTtmPU1hdGgubWluKHYubGVuZ3RoLG0ubGVuZ3RoKX1mPyhlLl9sZW5ndGg9ZixoKCJ0ZXh0IiksaCgiaG92ZXJ0ZXh0IiksaCgiaG92ZXJ0ZW1wbGF0ZSIpLGgoIm1vZGUiKSxhLmhhc0xpbmVzKGUpJiYobyh0LGUscix1LGgpLGgoImNvbm5lY3RnYXBzIikpLGEuaGFzTWFya2VycyhlKSYmaSh0LGUscix1LGgse2dyYWRpZW50OiEwfSksYS5oYXNUZXh0KGUpJiYoaCgidGV4dHRlbXBsYXRlIikscyh0LGUsdSxoKSksaCgiZmlsbCIpLCJub25lIiE9PWUuZmlsbCYmbCh0LGUscixoKSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSxoKSk6ZS52aXNpYmxlPSExfX0seyIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiOjExMjgsIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyI6MTEzMywiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiOjExMzksIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyI6MTE0NSwiLi9hdHRyaWJ1dGVzIjoxMTYxfV0sMTE2NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt0Lmxvbj1lLmxvbix0LmxhdD1lLmxhdCx0LmxvY2F0aW9uPWUubG9jP2UubG9jOm51bGw7dmFyIGk9blthXTtyZXR1cm4gaS5mSW4mJmkuZkluLnByb3BlcnRpZXMmJih0LnByb3BlcnRpZXM9aS5mSW4ucHJvcGVydGllcyksdH19LHt9XSwxMTY1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT17fSxpPXJbZS5nZW9dLl9zdWJwbG90Lm1vY2tBeGlzLG89dC5sb25sYXQ7cmV0dXJuIGEubG9uTGFiZWw9bi50aWNrVGV4dChpLGkuYzJsKG9bMF0pLCEwKS50ZXh0LGEubGF0TGFiZWw9bi50aWNrVGV4dChpLGkuYzJsKG9bMV0pLCEwKS50ZXh0LGF9fSx7Ii4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjV9XSwxMTY2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvZngiKSxhPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU0saT10KCIuLi9zY2F0dGVyL2dldF90cmFjZV9jb2xvciIpLG89dCgiLi4vLi4vbGliIikuZmlsbFRleHQscz10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBsPXQuY2QsYz1sWzBdLnRyYWNlLHU9dC54YSxoPXQueWEsZj10LnN1YnBsb3QscD1mLnByb2plY3Rpb24uaXNMb25MYXRPdmVyRWRnZXMsZD1mLnByb2plY3Q7aWYobi5nZXRDbG9zZXN0KGwsZnVuY3Rpb24odCl7dmFyIG49dC5sb25sYXQ7aWYoblswXT09PWEpcmV0dXJuIDEvMDtpZihwKG4pKXJldHVybiAxLzA7dmFyIGk9ZChuKSxvPWQoW2Uscl0pLHM9TWF0aC5hYnMoaVswXS1vWzBdKSxsPU1hdGguYWJzKGlbMV0tb1sxXSksYz1NYXRoLm1heCgzLHQubXJjfHwwKTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5zcXJ0KHMqcytsKmwpLWMsMS0zL2MpfSx0KSwhMSE9PXQuaW5kZXgpe3ZhciBnPWxbdC5pbmRleF0sdj1nLmxvbmxhdCxtPVt1LmMycCh2KSxoLmMycCh2KV0seT1nLm1yY3x8MTt0LngwPW1bMF0teSx0LngxPW1bMF0reSx0LnkwPW1bMV0teSx0LnkxPW1bMV0reSx0LmxvYz1nLmxvYyx0Lmxvbj12WzBdLHQubGF0PXZbMV07dmFyIHg9e307eFtjLmdlb109e19zdWJwbG90OmZ9O3ZhciBiPWMuX21vZHVsZS5mb3JtYXRMYWJlbHMoZyxjLHgpO3JldHVybiB0LmxvbkxhYmVsPWIubG9uTGFiZWwsdC5sYXRMYWJlbD1iLmxhdExhYmVsLHQuY29sb3I9aShjLGcpLHQuZXh0cmFUZXh0PWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQuaG92ZXJ0ZW1wbGF0ZSlyZXR1cm47dmFyIGE9ZS5oaXx8dC5ob3ZlcmluZm8saT0iYWxsIj09PWE/cy5ob3ZlcmluZm8uZmxhZ3M6YS5zcGxpdCgiKyIpLGw9LTEhPT1pLmluZGV4T2YoImxvY2F0aW9uIikmJkFycmF5LmlzQXJyYXkodC5sb2NhdGlvbnMpLGM9LTEhPT1pLmluZGV4T2YoImxvbiIpLHU9LTEhPT1pLmluZGV4T2YoImxhdCIpLGg9LTEhPT1pLmluZGV4T2YoInRleHQiKSxmPVtdO2Z1bmN0aW9uIHAodCl7cmV0dXJuIHQrIlx4YjAifWw/Zi5wdXNoKGUubG9jKTpjJiZ1P2YucHVzaCgiKCIrcChyLmxvbkxhYmVsKSsiLCAiK3Aoci5sYXRMYWJlbCkrIikiKTpjP2YucHVzaChuLmxvbitwKHIubG9uTGFiZWwpKTp1JiZmLnB1c2gobi5sYXQrcChyLmxhdExhYmVsKSk7aCYmbyhlLHQsZik7cmV0dXJuIGYuam9pbigiPGJyPiIpfShjLGcsdCxsWzBdLnQubGFiZWxzKSx0LmhvdmVydGVtcGxhdGU9Yy5ob3ZlcnRlbXBsYXRlLFt0XX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlci9nZXRfdHJhY2VfY29sb3IiOjExMzAsIi4vYXR0cmlidXRlcyI6MTE2MX1dLDExNjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXthdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjb2xvcmJhcjp0KCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciIpLGZvcm1hdExhYmVsczp0KCIuL2Zvcm1hdF9sYWJlbHMiKSxjYWxjOnQoIi4vY2FsYyIpLGNhbGNHZW9KU09OOnQoIi4vcGxvdCIpLmNhbGNHZW9KU09OLHBsb3Q6dCgiLi9wbG90IikucGxvdCxzdHlsZTp0KCIuL3N0eWxlIiksc3R5bGVPblNlbGVjdDp0KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLHNlbGVjdFBvaW50czp0KCIuL3NlbGVjdCIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJzY2F0dGVyZ2VvIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9nZW8iKSxjYXRlZ29yaWVzOlsiZ2VvIiwic3ltYm9scyIsInNob3dMZWdlbmQiLCJzY2F0dGVyLWxpa2UiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9nZW8iOjc5NSwiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4uL3NjYXR0ZXIvc3R5bGUiOjExNDMsIi4vYXR0cmlidXRlcyI6MTE2MSwiLi9jYWxjIjoxMTYyLCIuL2RlZmF1bHRzIjoxMTYzLCIuL2V2ZW50X2RhdGEiOjExNjQsIi4vZm9ybWF0X2xhYmVscyI6MTE2NSwiLi9ob3ZlciI6MTE2NiwiLi9wbG90IjoxMTY4LCIuL3NlbGVjdCI6MTE2OSwiLi9zdHlsZSI6MTE3MH1dLDExNjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vbGliL3RvcG9qc29uX3V0aWxzIikuZ2V0VG9wb2pzb25GZWF0dXJlcyxvPXQoIi4uLy4uL2xpYi9nZW9qc29uX3V0aWxzIikscz10KCIuLi8uLi9saWIvZ2VvX2xvY2F0aW9uX3V0aWxzIiksbD10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXV0b3JhbmdlIikuZmluZEV4dHJlbWVzLGM9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTSx1PXQoIi4uL3NjYXR0ZXIvY2FsYyIpLmNhbGNNYXJrZXJTaXplLGg9dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLGY9dCgiLi9zdHlsZSIpO2UuZXhwb3J0cz17Y2FsY0dlb0pTT046ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9dFswXS50cmFjZSxvPWVbYS5nZW9dLGg9by5fc3VicGxvdCxmPWEuX2xlbmd0aDtpZihBcnJheS5pc0FycmF5KGEubG9jYXRpb25zKSl7dmFyIHA9YS5sb2NhdGlvbm1vZGUsZD0iZ2VvanNvbi1pZCI9PT1wP3MuZXh0cmFjdFRyYWNlRmVhdHVyZSh0KTppKGEsaC50b3BvanNvbik7Zm9yKHI9MDtyPGY7cisrKXtuPXRbcl07dmFyIGc9Imdlb2pzb24taWQiPT09cD9uLmZPdXQ6cy5sb2NhdGlvblRvRmVhdHVyZShwLG4ubG9jLGQpO24ubG9ubGF0PWc/Zy5wcm9wZXJ0aWVzLmN0OltjLGNdfX12YXIgdixtLHk9e3BhZGRlZDohMH07aWYoImdlb2pzb24iPT09by5maXRib3VuZHMmJiJnZW9qc29uLWlkIj09PWEubG9jYXRpb25tb2RlKXt2YXIgeD1zLmNvbXB1dGVCYm94KHMuZ2V0VHJhY2VHZW9qc29uKGEpKTt2PVt4WzBdLHhbMl1dLG09W3hbMV0seFszXV19ZWxzZXtmb3Iodj1uZXcgQXJyYXkoZiksbT1uZXcgQXJyYXkoZikscj0wO3I8ZjtyKyspbj10W3JdLHZbcl09bi5sb25sYXRbMF0sbVtyXT1uLmxvbmxhdFsxXTt5LnBwYWQ9dShhLGYpfWEuX2V4dHJlbWVzLmxvbj1sKG8ubG9uYXhpcy5fYXgsdix5KSxhLl9leHRyZW1lcy5sYXQ9bChvLmxhdGF4aXMuX2F4LG0seSl9LHBsb3Q6ZnVuY3Rpb24odCxlLHIpe3ZhciBpPWUubGF5ZXJzLmZyb250cGxvdC5zZWxlY3QoIi5zY2F0dGVybGF5ZXIiKSxzPWEubWFrZVRyYWNlR3JvdXBzKGksciwidHJhY2Ugc2NhdHRlcmdlbyIpO2Z1bmN0aW9uIGwodCxlKXt0LmxvbmxhdFswXT09PWMmJm4uc2VsZWN0KGUpLnJlbW92ZSgpfXMuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCkscy5lYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW4uc2VsZWN0KHRoaXMpLGk9ZVswXS50cmFjZTtpZihoLmhhc0xpbmVzKGkpfHwibm9uZSIhPT1pLmZpbGwpe3ZhciBzPW8uY2FsY1RyYWNlVG9MaW5lQ29vcmRzKGUpLGM9Im5vbmUiIT09aS5maWxsP28ubWFrZVBvbHlnb24ocyk6by5tYWtlTGluZShzKTtyLnNlbGVjdEFsbCgicGF0aC5qcy1saW5lIikuZGF0YShbe2dlb2pzb246Yyx0cmFjZTppfV0pLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuY2xhc3NlZCgianMtbGluZSIsITApLnN0eWxlKCJzdHJva2UtbWl0ZXJsaW1pdCIsMil9aC5oYXNNYXJrZXJzKGkpJiZyLnNlbGVjdEFsbCgicGF0aC5wb2ludCIpLmRhdGEoYS5pZGVudGl0eSkuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5jbGFzc2VkKCJwb2ludCIsITApLmVhY2goZnVuY3Rpb24odCl7bCh0LHRoaXMpfSksaC5oYXNUZXh0KGkpJiZyLnNlbGVjdEFsbCgiZyIpLmRhdGEoYS5pZGVudGl0eSkuZW50ZXIoKS5hcHBlbmQoImciKS5hcHBlbmQoInRleHQiKS5lYWNoKGZ1bmN0aW9uKHQpe2wodCx0aGlzKX0pLGYodCxlKX0pfX19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2dlb19sb2NhdGlvbl91dGlscyI6NzExLCIuLi8uLi9saWIvZ2VvanNvbl91dGlscyI6NzEyLCIuLi8uLi9saWIvdG9wb2pzb25fdXRpbHMiOjc0NCwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F1dG9yYW5nZSI6NzY0LCIuLi9zY2F0dGVyL2NhbGMiOjExMjEsIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4vc3R5bGUiOjExNzAsZDM6MTY1fV0sMTE2OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksYT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGksbyxzLGwsYz10LmNkLHU9dC54YXhpcyxoPXQueWF4aXMsZj1bXSxwPWNbMF0udHJhY2U7aWYoIW4uaGFzTWFya2VycyhwKSYmIW4uaGFzVGV4dChwKSlyZXR1cm5bXTtpZighMT09PWUpZm9yKGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdLnNlbGVjdGVkPTA7ZWxzZSBmb3IobD0wO2w8Yy5sZW5ndGg7bCsrKShpPShyPWNbbF0pLmxvbmxhdClbMF0hPT1hJiYobz11LmMycChpKSxzPWguYzJwKGkpLGUuY29udGFpbnMoW28sc10sbnVsbCxsLHQpPyhmLnB1c2goe3BvaW50TnVtYmVyOmwsbG9uOmlbMF0sbGF0OmlbMV19KSxyLnNlbGVjdGVkPTEpOnIuc2VsZWN0ZWQ9MCk7cmV0dXJuIGZ9fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NH1dLDExNzA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLG89dCgiLi4vc2NhdHRlci9zdHlsZSIpLHM9by5zdHlsZVBvaW50cyxsPW8uc3R5bGVUZXh0O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2UmJmZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXS50cmFjZSxvPWVbMF0ubm9kZTM7by5zdHlsZSgib3BhY2l0eSIsZVswXS50cmFjZS5vcGFjaXR5KSxzKG8scix0KSxsKG8scix0KSxvLnNlbGVjdEFsbCgicGF0aC5qcy1saW5lIikuc3R5bGUoImZpbGwiLCJub25lIikuZWFjaChmdW5jdGlvbih0KXt2YXIgZT1uLnNlbGVjdCh0aGlzKSxyPXQudHJhY2Usbz1yLmxpbmV8fHt9O2UuY2FsbChpLnN0cm9rZSxvLmNvbG9yKS5jYWxsKGEuZGFzaExpbmUsby5kYXNofHwiIixvLndpZHRofHwwKSwibm9uZSIhPT1yLmZpbGwmJmUuY2FsbChpLmZpbGwsci5maWxsY29sb3IpfSl9KHQsZSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIjo2MTMsIi4uL3NjYXR0ZXIvc3R5bGUiOjExNDMsZDM6MTY1fV0sMTE3MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIiksYT10KCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxzPXQoIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiKS5vdmVycmlkZUFsbCxsPXQoIi4vY29uc3RhbnRzIikuREFTSEVTLGM9YS5saW5lLHU9YS5tYXJrZXIsaD11LmxpbmUsZj1lLmV4cG9ydHM9cyh7eDphLngseDA6YS54MCxkeDphLmR4LHk6YS55LHkwOmEueTAsZHk6YS5keSx0ZXh0OmEudGV4dCxob3ZlcnRleHQ6YS5ob3ZlcnRleHQsdGV4dHBvc2l0aW9uOmEudGV4dHBvc2l0aW9uLHRleHRmb250OmEudGV4dGZvbnQsbW9kZTp7dmFsVHlwZToiZmxhZ2xpc3QiLGZsYWdzOlsibGluZXMiLCJtYXJrZXJzIiwidGV4dCJdLGV4dHJhczpbIm5vbmUiXX0sbGluZTp7Y29sb3I6Yy5jb2xvcix3aWR0aDpjLndpZHRoLHNoYXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJsaW5lYXIiLCJodiIsInZoIiwiaHZoIiwidmh2Il0sZGZsdDoibGluZWFyIixlZGl0VHlwZToicGxvdCJ9LGRhc2g6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpPYmplY3Qua2V5cyhsKSxkZmx0OiJzb2xpZCJ9fSxtYXJrZXI6byh7fSxpKCJtYXJrZXIiKSx7c3ltYm9sOnUuc3ltYm9sLHNpemU6dS5zaXplLHNpemVyZWY6dS5zaXplcmVmLHNpemVtaW46dS5zaXplbWluLHNpemVtb2RlOnUuc2l6ZW1vZGUsb3BhY2l0eTp1Lm9wYWNpdHksY29sb3JiYXI6dS5jb2xvcmJhcixsaW5lOm8oe30saSgibWFya2VyLmxpbmUiKSx7d2lkdGg6aC53aWR0aH0pfSksY29ubmVjdGdhcHM6YS5jb25uZWN0Z2FwcyxmaWxsOm8oe30sYS5maWxsLHtkZmx0OiJub25lIn0pLGZpbGxjb2xvcjphLmZpbGxjb2xvcixzZWxlY3RlZDp7bWFya2VyOmEuc2VsZWN0ZWQubWFya2VyLHRleHRmb250OmEuc2VsZWN0ZWQudGV4dGZvbnR9LHVuc2VsZWN0ZWQ6e21hcmtlcjphLnVuc2VsZWN0ZWQubWFya2VyLHRleHRmb250OmEudW5zZWxlY3RlZC50ZXh0Zm9udH0sb3BhY2l0eTpuLm9wYWNpdHl9LCJjYWxjIiwibmVzdGVkIik7Zi54LmVkaXRUeXBlPWYueS5lZGl0VHlwZT1mLngwLmVkaXRUeXBlPWYueTAuZWRpdFR5cGU9ImNhbGMrY2xlYXJBeGlzVHlwZXMiLGYuaG92ZXJ0ZW1wbGF0ZT1hLmhvdmVydGVtcGxhdGUsZi50ZXh0dGVtcGxhdGU9YS50ZXh0dGVtcGxhdGV9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIjoxMTIwLCIuL2NvbnN0YW50cyI6MTE3M31dLDExNzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicG9pbnQtY2x1c3RlciIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKSxvPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9hdXRvcmFuZ2UiKS5maW5kRXh0cmVtZXMscz10KCIuLi9zY2F0dGVyL2NhbGMiKSxsPXMuY2FsY01hcmtlclNpemUsYz1zLmNhbGNBeGlzRXhwYW5zaW9uLHU9cy5zZXRGaXJzdFNjYXR0ZXIsaD10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpLGY9dCgiLi9jb252ZXJ0IikscD10KCIuL3NjZW5lX3VwZGF0ZSIpLGQ9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTSxnPXQoIi4vY29uc3RhbnRzIikuVE9PX01BTllfUE9JTlRTO2Z1bmN0aW9uIHYodCxlLHIpe3ZhciBuPXQuX2V4dHJlbWVzW2UuX2lkXSxhPW8oZSxyLl9ibmRzLHtwYWRkZWQ6ITB9KTtuLm1pbj1uLm1pbi5jb25jYXQoYS5taW4pLG4ubWF4PW4ubWF4LmNvbmNhdChhLm1heCl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbyxzLG09dC5fZnVsbExheW91dCx5PWkuZ2V0RnJvbUlkKHQsZS54YXhpcykseD1pLmdldEZyb21JZCh0LGUueWF4aXMpLGI9bS5fcGxvdHNbZS54YXhpcytlLnlheGlzXSxfPWUuX2xlbmd0aCx3PV8+PWcsaz0yKl8sVD17fSxNPWUuX3g9eS5tYWtlQ2FsY2RhdGEoZSwieCIpLEE9ZS5feT14Lm1ha2VDYWxjZGF0YShlLCJ5IiksUz1uZXcgQXJyYXkoayk7Zm9yKHI9MDtyPF87cisrKW89TVtyXSxzPUFbcl0sU1syKnJdPW89PT1kP05hTjpvLFNbMipyKzFdPXM9PT1kP05hTjpzO2lmKCJsb2ciPT09eS50eXBlKWZvcihyPTA7cjxrO3IrPTIpU1tyXT15LmMybChTW3JdKTtpZigibG9nIj09PXgudHlwZSlmb3Iocj0xO3I8aztyKz0yKVNbcl09eC5jMmwoU1tyXSk7aWYodyYmImxvZyIhPT15LnR5cGUmJiJsb2ciIT09eC50eXBlKVQudHJlZT1uKFMpO2Vsc2V7dmFyIEU9VC5pZHM9bmV3IEFycmF5KF8pO2ZvcihyPTA7cjxfO3IrKylFW3JdPXJ9aCh0LGUpO3ZhciBMLEM9ZnVuY3Rpb24odCxlLHIsbixpLG8pe3ZhciBzPWYuc3R5bGUodCxyKTtzLm1hcmtlciYmKHMubWFya2VyLnBvc2l0aW9ucz1uKTtzLmxpbmUmJm4ubGVuZ3RoPjEmJmEuZXh0ZW5kRmxhdChzLmxpbmUsZi5saW5lUG9zaXRpb25zKHQscixuKSk7aWYocy5lcnJvclh8fHMuZXJyb3JZKXt2YXIgbD1mLmVycm9yQmFyUG9zaXRpb25zKHQscixuLGksbyk7cy5lcnJvclgmJmEuZXh0ZW5kRmxhdChzLmVycm9yWCxsLngpLHMuZXJyb3JZJiZhLmV4dGVuZEZsYXQocy5lcnJvclksbC55KX1zLnRleHQmJihhLmV4dGVuZEZsYXQocy50ZXh0LHtwb3NpdGlvbnM6bn0sZi50ZXh0UG9zaXRpb24odCxyLHMudGV4dCxzLm1hcmtlcikpLGEuZXh0ZW5kRmxhdChzLnRleHRTZWwse3Bvc2l0aW9uczpufSxmLnRleHRQb3NpdGlvbih0LHIscy50ZXh0LHMubWFya2VyU2VsKSksYS5leHRlbmRGbGF0KHMudGV4dFVuc2VsLHtwb3NpdGlvbnM6bn0sZi50ZXh0UG9zaXRpb24odCxyLHMudGV4dCxzLm1hcmtlclVuc2VsKSkpO3JldHVybiBzfSh0LDAsZSxTLE0sQSksUD1wKHQsYik7cmV0dXJuIHUobSxlKSx3P0MubWFya2VyJiYoTD0yKihDLm1hcmtlci5zaXplQXZnfHxNYXRoLm1heChDLm1hcmtlci5zaXplLDMpKSk6TD1sKGUsXyksYyh0LGUseSx4LE0sQSxMKSxDLmVycm9yWCYmdihlLHksQy5lcnJvclgpLEMuZXJyb3JZJiZ2KGUseCxDLmVycm9yWSksQy5maWxsJiYhUC5maWxsMmQmJihQLmZpbGwyZD0hMCksQy5tYXJrZXImJiFQLnNjYXR0ZXIyZCYmKFAuc2NhdHRlcjJkPSEwKSxDLmxpbmUmJiFQLmxpbmUyZCYmKFAubGluZTJkPSEwKSwhQy5lcnJvclgmJiFDLmVycm9yWXx8UC5lcnJvcjJkfHwoUC5lcnJvcjJkPSEwKSxDLnRleHQmJiFQLmdsVGV4dCYmKFAuZ2xUZXh0PSEwKSxDLm1hcmtlciYmKEMubWFya2VyLnNuYXA9XyksUC5saW5lT3B0aW9ucy5wdXNoKEMubGluZSksUC5lcnJvclhPcHRpb25zLnB1c2goQy5lcnJvclgpLFAuZXJyb3JZT3B0aW9ucy5wdXNoKEMuZXJyb3JZKSxQLmZpbGxPcHRpb25zLnB1c2goQy5maWxsKSxQLm1hcmtlck9wdGlvbnMucHVzaChDLm1hcmtlciksUC5tYXJrZXJTZWxlY3RlZE9wdGlvbnMucHVzaChDLm1hcmtlclNlbCksUC5tYXJrZXJVbnNlbGVjdGVkT3B0aW9ucy5wdXNoKEMubWFya2VyVW5zZWwpLFAudGV4dE9wdGlvbnMucHVzaChDLnRleHQpLFAudGV4dFNlbGVjdGVkT3B0aW9ucy5wdXNoKEMudGV4dFNlbCksUC50ZXh0VW5zZWxlY3RlZE9wdGlvbnMucHVzaChDLnRleHRVbnNlbCksUC5zZWxlY3RCYXRjaC5wdXNoKFtdKSxQLnVuc2VsZWN0QmF0Y2gucHVzaChbXSksVC5fc2NlbmU9UCxULmluZGV4PVAuY291bnQsVC54PU0sVC55PUEsVC5wb3NpdGlvbnM9UyxQLmNvdW50KyssW3t4OiExLHk6ITEsdDpULHRyYWNlOmV9XX19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F1dG9yYW5nZSI6NzY0LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiOjc2OCwiLi4vc2NhdHRlci9jYWxjIjoxMTIxLCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyI6MTEyMywiLi9jb25zdGFudHMiOjExNzMsIi4vY29udmVydCI6MTE3NCwiLi9zY2VuZV91cGRhdGUiOjExODIsInBvaW50LWNsdXN0ZXIiOjQ3MX1dLDExNzM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtUT09fTUFOWV9QT0lOVFM6MWU1LFNZTUJPTF9TREZfU0laRToyMDAsU1lNQk9MX1NJWkU6MjAsU1lNQk9MX1NUUk9LRToxLERPVF9SRTovLWRvdC8sT1BFTl9SRTovLW9wZW4vLERBU0hFUzp7c29saWQ6WzFdLGRvdDpbMSwxXSxkYXNoOls0LDFdLGxvbmdkYXNoOls4LDFdLGRhc2hkb3Q6WzQsMSwxLDFdLGxvbmdkYXNoZG90Ols4LDEsMSwxXX19fSx7fV0sMTE3NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgic3ZnLXBhdGgtc2RmIiksaT10KCJjb2xvci1ub3JtYWxpemUiKSxvPXQoIi4uLy4uL3JlZ2lzdHJ5Iikscz10KCIuLi8uLi9saWIiKSxsPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLGM9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIiksdT10KCIuLi8uLi9saWIvZ2xfZm9ybWF0X2NvbG9yIikuZm9ybWF0Q29sb3IsaD10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksZj10KCIuLi9zY2F0dGVyL21ha2VfYnViYmxlX3NpemVfZnVuYyIpLHA9dCgiLi9oZWxwZXJzIiksZD10KCIuL2NvbnN0YW50cyIpLGc9dCgiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyIpLkRFU0VMRUNURElNLHY9e3N0YXJ0OjEsbGVmdDoxLGVuZDotMSxyaWdodDotMSxtaWRkbGU6MCxjZW50ZXI6MCxib3R0b206MSx0b3A6LTF9LG09dCgiLi4vLi4vY29tcG9uZW50cy9meC9oZWxwZXJzIikuYXBwZW5kQXJyYXlQb2ludFZhbHVlO2Z1bmN0aW9uIHkodCxlKXt2YXIgcixhPXQuX2Z1bGxMYXlvdXQsaT1lLl9sZW5ndGgsbz1lLnRleHRmb250LGw9ZS50ZXh0cG9zaXRpb24sYz1BcnJheS5pc0FycmF5KGwpP2w6W2xdLHU9by5jb2xvcixoPW8uc2l6ZSxmPW8uZmFtaWx5LHA9e30sZD1lLnRleHR0ZW1wbGF0ZTtpZihkKXtwLnRleHQ9W107dmFyIGc9YS5fZDNsb2NhbGUsdj1BcnJheS5pc0FycmF5KGQpLHk9dj9NYXRoLm1pbihkLmxlbmd0aCxpKTppLHg9dj9mdW5jdGlvbih0KXtyZXR1cm4gZFt0XX06ZnVuY3Rpb24oKXtyZXR1cm4gZH07Zm9yKHI9MDtyPHk7cisrKXt2YXIgYj17aTpyfSxfPWUuX21vZHVsZS5mb3JtYXRMYWJlbHMoYixlLGEpLHc9e307bSh3LGUscik7dmFyIGs9ZS5fbWV0YXx8e307cC50ZXh0LnB1c2gocy50ZXh0dGVtcGxhdGVTdHJpbmcoeChyKSxfLGcsdyxiLGspKX19ZWxzZSBBcnJheS5pc0FycmF5KGUudGV4dCkmJmUudGV4dC5sZW5ndGg8aT9wLnRleHQ9ZS50ZXh0LnNsaWNlKCk6cC50ZXh0PWUudGV4dDtpZihBcnJheS5pc0FycmF5KHAudGV4dCkpZm9yKHI9cC50ZXh0Lmxlbmd0aDtyPGk7cisrKXAudGV4dFtyXT0iIjtmb3IocC5vcGFjaXR5PWUub3BhY2l0eSxwLmZvbnQ9e30scC5hbGlnbj1bXSxwLmJhc2VsaW5lPVtdLHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIFQ9Y1tyXS5zcGxpdCgvXHMrLyk7c3dpdGNoKFRbMV0pe2Nhc2UibGVmdCI6cC5hbGlnbi5wdXNoKCJyaWdodCIpO2JyZWFrO2Nhc2UicmlnaHQiOnAuYWxpZ24ucHVzaCgibGVmdCIpO2JyZWFrO2RlZmF1bHQ6cC5hbGlnbi5wdXNoKFRbMV0pfXN3aXRjaChUWzBdKXtjYXNlInRvcCI6cC5iYXNlbGluZS5wdXNoKCJib3R0b20iKTticmVhaztjYXNlImJvdHRvbSI6cC5iYXNlbGluZS5wdXNoKCJ0b3AiKTticmVhaztkZWZhdWx0OnAuYmFzZWxpbmUucHVzaChUWzBdKX19aWYoQXJyYXkuaXNBcnJheSh1KSlmb3IocC5jb2xvcj1uZXcgQXJyYXkoaSkscj0wO3I8aTtyKyspcC5jb2xvcltyXT11W3JdO2Vsc2UgcC5jb2xvcj11O2lmKHMuaXNBcnJheU9yVHlwZWRBcnJheShoKXx8QXJyYXkuaXNBcnJheShmKSlmb3IocC5mb250PW5ldyBBcnJheShpKSxyPTA7cjxpO3IrKyl7dmFyIE09cC5mb250W3JdPXt9O00uc2l6ZT1zLmlzVHlwZWRBcnJheShoKT9oW3JdOkFycmF5LmlzQXJyYXkoaCk/bihoW3JdKT9oW3JdOjA6aCxNLmZhbWlseT1BcnJheS5pc0FycmF5KGYpP2Zbcl06Zn1lbHNlIHAuZm9udD17c2l6ZTpoLGZhbWlseTpmfTtyZXR1cm4gcH1mdW5jdGlvbiB4KHQpe3ZhciBlLHIsbj10Ll9sZW5ndGgsYT10Lm1hcmtlcixvPXt9LGw9cy5pc0FycmF5T3JUeXBlZEFycmF5KGEuc3ltYm9sKSxjPXMuaXNBcnJheU9yVHlwZWRBcnJheShhLmNvbG9yKSxoPXMuaXNBcnJheU9yVHlwZWRBcnJheShhLmxpbmUuY29sb3IpLGQ9cy5pc0FycmF5T3JUeXBlZEFycmF5KGEub3BhY2l0eSksZz1zLmlzQXJyYXlPclR5cGVkQXJyYXkoYS5zaXplKSx2PXMuaXNBcnJheU9yVHlwZWRBcnJheShhLmxpbmUud2lkdGgpO2lmKGx8fChyPXAuaXNPcGVuU3ltYm9sKGEuc3ltYm9sKSksbHx8Y3x8aHx8ZCl7by5jb2xvcnM9bmV3IEFycmF5KG4pLG8uYm9yZGVyQ29sb3JzPW5ldyBBcnJheShuKTt2YXIgbT11KGEsYS5vcGFjaXR5LG4pLHk9dShhLmxpbmUsYS5vcGFjaXR5LG4pO2lmKCFBcnJheS5pc0FycmF5KHlbMF0pKXt2YXIgeD15O2Zvcih5PUFycmF5KG4pLGU9MDtlPG47ZSsrKXlbZV09eH1pZighQXJyYXkuaXNBcnJheShtWzBdKSl7dmFyIGI9bTtmb3IobT1BcnJheShuKSxlPTA7ZTxuO2UrKyltW2VdPWJ9Zm9yKG8uY29sb3JzPW0sby5ib3JkZXJDb2xvcnM9eSxlPTA7ZTxuO2UrKyl7aWYobCl7dmFyIF89YS5zeW1ib2xbZV07cj1wLmlzT3BlblN5bWJvbChfKX1yJiYoeVtlXT1tW2VdLnNsaWNlKCksbVtlXT1tW2VdLnNsaWNlKCksbVtlXVszXT0wKX1vLm9wYWNpdHk9dC5vcGFjaXR5fWVsc2Ugcj8oby5jb2xvcj1pKGEuY29sb3IsInVpbnQ4Iiksby5jb2xvclszXT0wLG8uYm9yZGVyQ29sb3I9aShhLmNvbG9yLCJ1aW50OCIpKTooby5jb2xvcj1pKGEuY29sb3IsInVpbnQ4Iiksby5ib3JkZXJDb2xvcj1pKGEubGluZS5jb2xvciwidWludDgiKSksby5vcGFjaXR5PXQub3BhY2l0eSphLm9wYWNpdHk7aWYobClmb3Ioby5tYXJrZXJzPW5ldyBBcnJheShuKSxlPTA7ZTxuO2UrKylvLm1hcmtlcnNbZV09RShhLnN5bWJvbFtlXSk7ZWxzZSBvLm1hcmtlcj1FKGEuc3ltYm9sKTt2YXIgdyxrPWYodCk7aWYoZ3x8dil7dmFyIFQsTT1vLnNpemVzPW5ldyBBcnJheShuKSxBPW8uYm9yZGVyU2l6ZXM9bmV3IEFycmF5KG4pLFM9MDtpZihnKXtmb3IoZT0wO2U8bjtlKyspTVtlXT1rKGEuc2l6ZVtlXSksUys9TVtlXTtUPVMvbn1lbHNlIGZvcih3PWsoYS5zaXplKSxlPTA7ZTxuO2UrKylNW2VdPXc7aWYodilmb3IoZT0wO2U8bjtlKyspQVtlXT1hLmxpbmUud2lkdGhbZV0vMjtlbHNlIGZvcih3PWEubGluZS53aWR0aC8yLGU9MDtlPG47ZSsrKUFbZV09dztvLnNpemVBdmc9VH1lbHNlIG8uc2l6ZT1rKGEmJmEuc2l6ZXx8MTApLG8uYm9yZGVyU2l6ZXM9ayhhLmxpbmUud2lkdGgpO3JldHVybiBvfWZ1bmN0aW9uIGIodCxlKXt2YXIgcj10Lm1hcmtlcixuPXt9O3JldHVybiBlPyhlLm1hcmtlciYmZS5tYXJrZXIuc3ltYm9sP249eChzLmV4dGVuZEZsYXQoe30scixlLm1hcmtlcikpOmUubWFya2VyJiYoZS5tYXJrZXIuc2l6ZSYmKG4uc2l6ZT1lLm1hcmtlci5zaXplLzIpLGUubWFya2VyLmNvbG9yJiYobi5jb2xvcnM9ZS5tYXJrZXIuY29sb3IpLHZvaWQgMCE9PWUubWFya2VyLm9wYWNpdHkmJihuLm9wYWNpdHk9ZS5tYXJrZXIub3BhY2l0eSkpLG4pOm59ZnVuY3Rpb24gXyh0LGUscil7dmFyIG49e307aWYoIXIpcmV0dXJuIG47aWYoci50ZXh0Zm9udCl7dmFyIGE9e29wYWNpdHk6MSx0ZXh0OmUudGV4dCx0ZXh0dGVtcGxhdGU6ZS50ZXh0dGVtcGxhdGUsdGV4dHBvc2l0aW9uOmUudGV4dHBvc2l0aW9uLHRleHRmb250OnMuZXh0ZW5kRmxhdCh7fSxlLnRleHRmb250KX07ci50ZXh0Zm9udCYmcy5leHRlbmRGbGF0KGEudGV4dGZvbnQsci50ZXh0Zm9udCksbj15KHQsYSl9cmV0dXJuIG59ZnVuY3Rpb24gdyh0LGUpe3ZhciByPXtjYXBTaXplOjIqZS53aWR0aCxsaW5lV2lkdGg6ZS50aGlja25lc3MsY29sb3I6ZS5jb2xvcn07cmV0dXJuIGUuY29weV95c3R5bGUmJihyPXQuZXJyb3JfeSkscn12YXIgaz1kLlNZTUJPTF9TREZfU0laRSxUPWQuU1lNQk9MX1NJWkUsTT1kLlNZTUJPTF9TVFJPS0UsQT17fSxTPWwuc3ltYm9sRnVuY3NbMF0oLjA1KlQpO2Z1bmN0aW9uIEUodCl7aWYoImNpcmNsZSI9PT10KXJldHVybiBudWxsO3ZhciBlLHIsbj1sLnN5bWJvbE51bWJlcih0KSxpPWwuc3ltYm9sRnVuY3NbbiUxMDBdLG89ISFsLnN5bWJvbE5vRG90W24lMTAwXSxzPSEhbC5zeW1ib2xOb0ZpbGxbbiUxMDBdLGM9cC5pc0RvdFN5bWJvbCh0KTtyZXR1cm4gQVt0XT9BW3RdOihlPWMmJiFvP2koMS4xKlQpK1M6aShUKSxyPWEoZSx7dzprLGg6ayx2aWV3Qm94OlstVCwtVCxULFRdLHN0cm9rZTpzP006LU19KSxBW3RdPXIscnx8bnVsbCl9ZS5leHBvcnRzPXtzdHlsZTpmdW5jdGlvbih0LGUpe3ZhciByLG49e21hcmtlcjp2b2lkIDAsbWFya2VyU2VsOnZvaWQgMCxtYXJrZXJVbnNlbDp2b2lkIDAsbGluZTp2b2lkIDAsZmlsbDp2b2lkIDAsZXJyb3JYOnZvaWQgMCxlcnJvclk6dm9pZCAwLHRleHQ6dm9pZCAwLHRleHRTZWw6dm9pZCAwLHRleHRVbnNlbDp2b2lkIDB9O2lmKCEwIT09ZS52aXNpYmxlKXJldHVybiBuO2lmKGguaGFzVGV4dChlKSYmKG4udGV4dD15KHQsZSksbi50ZXh0U2VsPV8odCxlLGUuc2VsZWN0ZWQpLG4udGV4dFVuc2VsPV8odCxlLGUudW5zZWxlY3RlZCkpLGguaGFzTWFya2VycyhlKSYmKG4ubWFya2VyPXgoZSksbi5tYXJrZXJTZWw9YihlLGUuc2VsZWN0ZWQpLG4ubWFya2VyVW5zZWw9YihlLGUudW5zZWxlY3RlZCksIWUudW5zZWxlY3RlZCYmcy5pc0FycmF5T3JUeXBlZEFycmF5KGUubWFya2VyLm9wYWNpdHkpKSl7dmFyIGE9ZS5tYXJrZXIub3BhY2l0eTtmb3Iobi5tYXJrZXJVbnNlbC5vcGFjaXR5PW5ldyBBcnJheShhLmxlbmd0aCkscj0wO3I8YS5sZW5ndGg7cisrKW4ubWFya2VyVW5zZWwub3BhY2l0eVtyXT1nKmFbcl19aWYoaC5oYXNMaW5lcyhlKSl7bi5saW5lPXtvdmVybGF5OiEwLHRoaWNrbmVzczplLmxpbmUud2lkdGgsY29sb3I6ZS5saW5lLmNvbG9yLG9wYWNpdHk6ZS5vcGFjaXR5fTt2YXIgaT0oZC5EQVNIRVNbZS5saW5lLmRhc2hdfHxbMV0pLnNsaWNlKCk7Zm9yKHI9MDtyPGkubGVuZ3RoOysrcilpW3JdKj1lLmxpbmUud2lkdGg7bi5saW5lLmRhc2hlcz1pfXJldHVybiBlLmVycm9yX3gmJmUuZXJyb3JfeC52aXNpYmxlJiYobi5lcnJvclg9dyhlLGUuZXJyb3JfeCkpLGUuZXJyb3JfeSYmZS5lcnJvcl95LnZpc2libGUmJihuLmVycm9yWT13KGUsZS5lcnJvcl95KSksZS5maWxsJiYibm9uZSIhPT1lLmZpbGwmJihuLmZpbGw9e2Nsb3NlZDohMCxmaWxsOmUuZmlsbGNvbG9yLHRoaWNrbmVzczowfSksbn0sbWFya2VyU3R5bGU6eCxtYXJrZXJTZWxlY3Rpb246YixsaW5lUG9zaXRpb25zOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGk9ci5sZW5ndGgsbz1pLzI7aWYoaC5oYXNMaW5lcyhlKSYmbylpZigiaHYiPT09ZS5saW5lLnNoYXBlKXtmb3Iobj1bXSxhPTA7YTxvLTE7YSsrKWlzTmFOKHJbMiphXSl8fGlzTmFOKHJbMiphKzFdKT9uLnB1c2goTmFOLE5hTixOYU4sTmFOKToobi5wdXNoKHJbMiphXSxyWzIqYSsxXSksaXNOYU4oclsyKmErMl0pfHxpc05hTihyWzIqYSszXSk/bi5wdXNoKE5hTixOYU4pOm4ucHVzaChyWzIqYSsyXSxyWzIqYSsxXSkpO24ucHVzaChyW2ktMl0scltpLTFdKX1lbHNlIGlmKCJodmgiPT09ZS5saW5lLnNoYXBlKXtmb3Iobj1bXSxhPTA7YTxvLTE7YSsrKWlmKGlzTmFOKHJbMiphXSl8fGlzTmFOKHJbMiphKzFdKXx8aXNOYU4oclsyKmErMl0pfHxpc05hTihyWzIqYSszXSkpaXNOYU4oclsyKmFdKXx8aXNOYU4oclsyKmErMV0pP24ucHVzaChOYU4sTmFOKTpuLnB1c2goclsyKmFdLHJbMiphKzFdKSxuLnB1c2goTmFOLE5hTik7ZWxzZXt2YXIgcz0oclsyKmFdK3JbMiphKzJdKS8yO24ucHVzaChyWzIqYV0sclsyKmErMV0scyxyWzIqYSsxXSxzLHJbMiphKzNdKX1uLnB1c2gocltpLTJdLHJbaS0xXSl9ZWxzZSBpZigidmh2Ij09PWUubGluZS5zaGFwZSl7Zm9yKG49W10sYT0wO2E8by0xO2ErKylpZihpc05hTihyWzIqYV0pfHxpc05hTihyWzIqYSsxXSl8fGlzTmFOKHJbMiphKzJdKXx8aXNOYU4oclsyKmErM10pKWlzTmFOKHJbMiphXSl8fGlzTmFOKHJbMiphKzFdKT9uLnB1c2goTmFOLE5hTik6bi5wdXNoKHJbMiphXSxyWzIqYSsxXSksbi5wdXNoKE5hTixOYU4pO2Vsc2V7dmFyIGw9KHJbMiphKzFdK3JbMiphKzNdKS8yO24ucHVzaChyWzIqYV0sclsyKmErMV0sclsyKmFdLGwsclsyKmErMl0sbCl9bi5wdXNoKHJbaS0yXSxyW2ktMV0pfWVsc2UgaWYoInZoIj09PWUubGluZS5zaGFwZSl7Zm9yKG49W10sYT0wO2E8by0xO2ErKylpc05hTihyWzIqYV0pfHxpc05hTihyWzIqYSsxXSk/bi5wdXNoKE5hTixOYU4sTmFOLE5hTik6KG4ucHVzaChyWzIqYV0sclsyKmErMV0pLGlzTmFOKHJbMiphKzJdKXx8aXNOYU4oclsyKmErM10pP24ucHVzaChOYU4sTmFOKTpuLnB1c2goclsyKmFdLHJbMiphKzNdKSk7bi5wdXNoKHJbaS0yXSxyW2ktMV0pfWVsc2Ugbj1yO3ZhciBjPSExO2ZvcihhPTA7YTxuLmxlbmd0aDthKyspaWYoaXNOYU4oblthXSkpe2M9ITA7YnJlYWt9dmFyIHU9Y3x8bi5sZW5ndGg+ZC5UT09fTUFOWV9QT0lOVFM/InJlY3QiOmguaGFzTWFya2VycyhlKT8icmVjdCI6InJvdW5kIjtpZihjJiZlLmNvbm5lY3RnYXBzKXt2YXIgZj1uWzBdLHA9blsxXTtmb3IoYT0wO2E8bi5sZW5ndGg7YSs9Milpc05hTihuW2FdKXx8aXNOYU4oblthKzFdKT8oblthXT1mLG5bYSsxXT1wKTooZj1uW2FdLHA9blthKzFdKX1yZXR1cm57am9pbjp1LHBvc2l0aW9uczpufX0sZXJyb3JCYXJQb3NpdGlvbnM6ZnVuY3Rpb24odCxlLHIsYSxpKXt2YXIgcz1vLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwibWFrZUNvbXB1dGVFcnJvciIpLGw9Yy5nZXRGcm9tSWQodCxlLnhheGlzKSx1PWMuZ2V0RnJvbUlkKHQsZS55YXhpcyksaD1yLmxlbmd0aC8yLGY9e307ZnVuY3Rpb24gcCh0LGEpe3ZhciBpPWEuX2lkLmNoYXJBdCgwKSxvPWVbImVycm9yXyIraV07aWYobyYmby52aXNpYmxlJiYoImxpbmVhciI9PT1hLnR5cGV8fCJsb2ciPT09YS50eXBlKSl7Zm9yKHZhciBsPXMobyksYz17eDowLHk6MX1baV0sdT17eDpbMCwxLDIsM10seTpbMiwzLDAsMV19W2ldLHA9bmV3IEZsb2F0NjRBcnJheSg0KmgpLGQ9MS8wLGc9LTEvMCx2PTAsbT0wO3Y8aDt2KyssbSs9NCl7dmFyIHk9dFt2XTtpZihuKHkpKXt2YXIgeD1yWzIqditjXSxiPWwoeSx2KSxfPWJbMF0sdz1iWzFdO2lmKG4oXykmJm4odykpe3ZhciBrPXktXyxUPXkrdztwW20rdVswXV09eC1hLmMybChrKSxwW20rdVsxXV09YS5jMmwoVCkteCxwW20rdVsyXV09MCxwW20rdVszXV09MCxkPU1hdGgubWluKGQseS1fKSxnPU1hdGgubWF4KGcseSt3KX19fWZbaV09e3Bvc2l0aW9uczpyLGVycm9yczpwLF9ibmRzOltkLGddfX19cmV0dXJuIHAoYSxsKSxwKGksdSksZn0sdGV4dFBvc2l0aW9uOmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGk9ZS5fbGVuZ3RoLG89e307aWYoaC5oYXNNYXJrZXJzKGUpKXt2YXIgcz1yLmZvbnQsbD1yLmFsaWduLGM9ci5iYXNlbGluZTtmb3Ioby5vZmZzZXQ9bmV3IEFycmF5KGkpLGE9MDthPGk7YSsrKXt2YXIgdT1uLnNpemVzP24uc2l6ZXNbYV06bi5zaXplLGY9QXJyYXkuaXNBcnJheShzKT9zW2FdLnNpemU6cy5zaXplLHA9QXJyYXkuaXNBcnJheShsKT9sLmxlbmd0aD4xP2xbYV06bFswXTpsLGQ9QXJyYXkuaXNBcnJheShjKT9jLmxlbmd0aD4xP2NbYV06Y1swXTpjLGc9dltwXSxtPXZbZF0seT11P3UvLjgrMTowLHg9LW0qeS0uNSptO28ub2Zmc2V0W2FdPVtnKnkvZix4L2ZdfX1yZXR1cm4gb319fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9jb21wb25lbnRzL2Z4L2hlbHBlcnMiOjYyNywiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyI6NjkyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciI6NzE0LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiOjc2OCwiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi4vc2NhdHRlci9tYWtlX2J1YmJsZV9zaXplX2Z1bmMiOjExMzcsIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4vY29uc3RhbnRzIjoxMTczLCIuL2hlbHBlcnMiOjExNzgsImNvbG9yLW5vcm1hbGl6ZSI6MTIyLCJmYXN0LWlzbnVtZXJpYyI6MjI4LCJzdmctcGF0aC1zZGYiOjUzNH1dLDExNzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi9oZWxwZXJzIiksbz10KCIuL2F0dHJpYnV0ZXMiKSxzPXQoIi4uL3NjYXR0ZXIvY29uc3RhbnRzIiksbD10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksYz10KCIuLi9zY2F0dGVyL3h5X2RlZmF1bHRzIiksdT10KCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyIpLGg9dCgiLi4vc2NhdHRlci9saW5lX2RlZmF1bHRzIiksZj10KCIuLi9zY2F0dGVyL2ZpbGxjb2xvcl9kZWZhdWx0cyIpLHA9dCgiLi4vc2NhdHRlci90ZXh0X2RlZmF1bHRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGQpe2Z1bmN0aW9uIGcocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLG8scixhKX12YXIgdj0hIXQubWFya2VyJiZpLmlzT3BlblN5bWJvbCh0Lm1hcmtlci5zeW1ib2wpLG09bC5pc0J1YmJsZSh0KSx5PWModCxlLGQsZyk7aWYoeSl7dmFyIHg9eTxzLlBUU19MSU5FU09OTFk/ImxpbmVzK21hcmtlcnMiOiJsaW5lcyI7ZygidGV4dCIpLGcoImhvdmVydGV4dCIpLGcoImhvdmVydGVtcGxhdGUiKSxnKCJtb2RlIix4KSxsLmhhc0xpbmVzKGUpJiYoZygiY29ubmVjdGdhcHMiKSxoKHQsZSxyLGQsZyksZygibGluZS5zaGFwZSIpKSxsLmhhc01hcmtlcnMoZSkmJih1KHQsZSxyLGQsZyksZygibWFya2VyLmxpbmUud2lkdGgiLHZ8fG0/MTowKSksbC5oYXNUZXh0KGUpJiYoZygidGV4dHRlbXBsYXRlIikscCh0LGUsZCxnKSk7dmFyIGI9KGUubGluZXx8e30pLmNvbG9yLF89KGUubWFya2VyfHx7fSkuY29sb3I7ZygiZmlsbCIpLCJub25lIiE9PWUuZmlsbCYmZih0LGUscixnKTt2YXIgdz1hLmdldENvbXBvbmVudE1ldGhvZCgiZXJyb3JiYXJzIiwic3VwcGx5RGVmYXVsdHMiKTt3KHQsZSxifHxffHxyLHtheGlzOiJ5In0pLHcodCxlLGJ8fF98fHIse2F4aXM6IngiLGluaGVyaXQ6InkifSksbi5jb2VyY2VTZWxlY3Rpb25NYXJrZXJPcGFjaXR5KGUsZyl9ZWxzZSBlLnZpc2libGU9ITF9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9zY2F0dGVyL2NvbnN0YW50cyI6MTEyNCwiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiOjExMjgsIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyI6MTEzMywiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiOjExMzksIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyI6MTE0NSwiLi4vc2NhdHRlci94eV9kZWZhdWx0cyI6MTE0NiwiLi9hdHRyaWJ1dGVzIjoxMTcxLCIuL2hlbHBlcnMiOjExNzh9XSwxMTc2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGk9dCgiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyIpLkRFU0VMRUNURElNO2UuZXhwb3J0cz17c3R5bGVUZXh0U2VsZWN0aW9uOmZ1bmN0aW9uKHQpe3ZhciBlLHIsbz10WzBdLHM9by50cmFjZSxsPW8udCxjPWwuX3NjZW5lLHU9bC5pbmRleCxoPWMuc2VsZWN0QmF0Y2hbdV0sZj1jLnVuc2VsZWN0QmF0Y2hbdV0scD1jLnRleHRPcHRpb25zW3VdLGQ9Yy50ZXh0U2VsZWN0ZWRPcHRpb25zW3VdfHx7fSxnPWMudGV4dFVuc2VsZWN0ZWRPcHRpb25zW3VdfHx7fSx2PW4uZXh0ZW5kRmxhdCh7fSxwKTtpZihoLmxlbmd0aHx8Zi5sZW5ndGgpe3ZhciBtPWQuY29sb3IseT1nLmNvbG9yLHg9cC5jb2xvcixiPUFycmF5LmlzQXJyYXkoeCk7Zm9yKHYuY29sb3I9bmV3IEFycmF5KHMuX2xlbmd0aCksZT0wO2U8aC5sZW5ndGg7ZSsrKXI9aFtlXSx2LmNvbG9yW3JdPW18fChiP3hbcl06eCk7Zm9yKGU9MDtlPGYubGVuZ3RoO2UrKyl7cj1mW2VdO3ZhciBfPWI/eFtyXTp4O3YuY29sb3Jbcl09eXx8KG0/XzphLmFkZE9wYWNpdHkoXyxpKSl9fWMuZ2xUZXh0W3VdLnVwZGF0ZSh2KX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyI6NjkyLCIuLi8uLi9saWIiOjcxN31dLDExNzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9mb3JtYXRfbGFiZWxzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10Lmk7cmV0dXJuIngiaW4gdHx8KHQueD1lLl94W2FdKSwieSJpbiB0fHwodC55PWUuX3lbYV0pLG4odCxlLHIpfX0seyIuLi9zY2F0dGVyL2Zvcm1hdF9sYWJlbHMiOjExMjl9XSwxMTc4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vY29uc3RhbnRzIik7ci5pc09wZW5TeW1ib2w9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P24uT1BFTl9SRS50ZXN0KHQpOnQlMjAwPjEwMH0sci5pc0RvdFN5bWJvbD1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/bi5ET1RfUkUudGVzdCh0KTp0PjIwMH19LHsiLi9jb25zdGFudHMiOjExNzN9XSwxMTc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3JlZ2lzdHJ5IiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uL3NjYXR0ZXIvZ2V0X3RyYWNlX2NvbG9yIik7ZnVuY3Rpb24gbyh0LGUscixvKXt2YXIgcz10LnhhLGw9dC55YSxjPXQuZGlzdGFuY2UsdT10LmR4eSxoPXQuaW5kZXgsZj17cG9pbnROdW1iZXI6aCx4OmVbaF0seTpyW2hdfTtmLnR4PUFycmF5LmlzQXJyYXkoby50ZXh0KT9vLnRleHRbaF06by50ZXh0LGYuaHR4PUFycmF5LmlzQXJyYXkoby5ob3ZlcnRleHQpP28uaG92ZXJ0ZXh0W2hdOm8uaG92ZXJ0ZXh0LGYuZGF0YT1BcnJheS5pc0FycmF5KG8uY3VzdG9tZGF0YSk/by5jdXN0b21kYXRhW2hdOm8uY3VzdG9tZGF0YSxmLnRwPUFycmF5LmlzQXJyYXkoby50ZXh0cG9zaXRpb24pP28udGV4dHBvc2l0aW9uW2hdOm8udGV4dHBvc2l0aW9uO3ZhciBwPW8udGV4dGZvbnQ7cCYmKGYudHM9YS5pc0FycmF5T3JUeXBlZEFycmF5KHAuc2l6ZSk/cC5zaXplW2hdOnAuc2l6ZSxmLnRjPUFycmF5LmlzQXJyYXkocC5jb2xvcik/cC5jb2xvcltoXTpwLmNvbG9yLGYudGY9QXJyYXkuaXNBcnJheShwLmZhbWlseSk/cC5mYW1pbHlbaF06cC5mYW1pbHkpO3ZhciBkPW8ubWFya2VyO2QmJihmLm1zPWEuaXNBcnJheU9yVHlwZWRBcnJheShkLnNpemUpP2Quc2l6ZVtoXTpkLnNpemUsZi5tbz1hLmlzQXJyYXlPclR5cGVkQXJyYXkoZC5vcGFjaXR5KT9kLm9wYWNpdHlbaF06ZC5vcGFjaXR5LGYubXg9YS5pc0FycmF5T3JUeXBlZEFycmF5KGQuc3ltYm9sKT9kLnN5bWJvbFtoXTpkLnN5bWJvbCxmLm1jPWEuaXNBcnJheU9yVHlwZWRBcnJheShkLmNvbG9yKT9kLmNvbG9yW2hdOmQuY29sb3IpO3ZhciBnPWQmJmQubGluZTtnJiYoZi5tbGM9QXJyYXkuaXNBcnJheShnLmNvbG9yKT9nLmNvbG9yW2hdOmcuY29sb3IsZi5tbHc9YS5pc0FycmF5T3JUeXBlZEFycmF5KGcud2lkdGgpP2cud2lkdGhbaF06Zy53aWR0aCk7dmFyIHY9ZCYmZC5ncmFkaWVudDt2JiYibm9uZSIhPT12LnR5cGUmJihmLm1ndD1BcnJheS5pc0FycmF5KHYudHlwZSk/di50eXBlW2hdOnYudHlwZSxmLm1nYz1BcnJheS5pc0FycmF5KHYuY29sb3IpP3YuY29sb3JbaF06di5jb2xvcik7dmFyIG09cy5jMnAoZi54LCEwKSx5PWwuYzJwKGYueSwhMCkseD1mLm1yY3x8MSxiPW8uaG92ZXJsYWJlbDtiJiYoZi5oYmc9QXJyYXkuaXNBcnJheShiLmJnY29sb3IpP2IuYmdjb2xvcltoXTpiLmJnY29sb3IsZi5oYmM9QXJyYXkuaXNBcnJheShiLmJvcmRlcmNvbG9yKT9iLmJvcmRlcmNvbG9yW2hdOmIuYm9yZGVyY29sb3IsZi5odHM9YS5pc0FycmF5T3JUeXBlZEFycmF5KGIuZm9udC5zaXplKT9iLmZvbnQuc2l6ZVtoXTpiLmZvbnQuc2l6ZSxmLmh0Yz1BcnJheS5pc0FycmF5KGIuZm9udC5jb2xvcik/Yi5mb250LmNvbG9yW2hdOmIuZm9udC5jb2xvcixmLmh0Zj1BcnJheS5pc0FycmF5KGIuZm9udC5mYW1pbHkpP2IuZm9udC5mYW1pbHlbaF06Yi5mb250LmZhbWlseSxmLmhubD1hLmlzQXJyYXlPclR5cGVkQXJyYXkoYi5uYW1lbGVuZ3RoKT9iLm5hbWVsZW5ndGhbaF06Yi5uYW1lbGVuZ3RoKTt2YXIgXz1vLmhvdmVyaW5mbztfJiYoZi5oaT1BcnJheS5pc0FycmF5KF8pP19baF06Xyk7dmFyIHc9by5ob3ZlcnRlbXBsYXRlO3cmJihmLmh0PUFycmF5LmlzQXJyYXkodyk/d1toXTp3KTt2YXIgaz17fTtrW3QuaW5kZXhdPWY7dmFyIFQ9YS5leHRlbmRGbGF0KHt9LHQse2NvbG9yOmkobyxmKSx4MDptLXgseDE6bSt4LHhMYWJlbFZhbDpmLngseTA6eS14LHkxOnkreCx5TGFiZWxWYWw6Zi55LGNkOmssZGlzdGFuY2U6YyxzcGlrZURpc3RhbmNlOnUsaG92ZXJ0ZW1wbGF0ZTpmLmh0fSk7cmV0dXJuIGYuaHR4P1QudGV4dD1mLmh0eDpmLnR4P1QudGV4dD1mLnR4Om8udGV4dCYmKFQudGV4dD1vLnRleHQpLGEuZmlsbFRleHQoZixvLFQpLG4uZ2V0Q29tcG9uZW50TWV0aG9kKCJlcnJvcmJhcnMiLCJob3ZlckluZm8iKShmLG8sVCksVH1lLmV4cG9ydHM9e2hvdmVyUG9pbnRzOmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGkscyxsLGMsdSxoLGYscCxkPXQuY2QsZz1kWzBdLnQsdj1kWzBdLnRyYWNlLG09dC54YSx5PXQueWEseD1nLngsYj1nLnksXz1tLmMycChlKSx3PXkuYzJwKHIpLGs9dC5kaXN0YW5jZTtpZihnLnRyZWUpe3ZhciBUPW0ucDJjKF8tayksTT1tLnAyYyhfK2spLEE9eS5wMmMody1rKSxTPXkucDJjKHcrayk7YT0ieCI9PT1uP2cudHJlZS5yYW5nZShNYXRoLm1pbihULE0pLE1hdGgubWluKHkuX3JsWzBdLHkuX3JsWzFdKSxNYXRoLm1heChULE0pLE1hdGgubWF4KHkuX3JsWzBdLHkuX3JsWzFdKSk6Zy50cmVlLnJhbmdlKE1hdGgubWluKFQsTSksTWF0aC5taW4oQSxTKSxNYXRoLm1heChULE0pLE1hdGgubWF4KEEsUykpfWVsc2UgYT1nLmlkczt2YXIgRT1rO2lmKCJ4Ij09PW4pZm9yKGM9MDtjPGEubGVuZ3RoO2MrKylzPXhbYVtjXV0sKHU9TWF0aC5hYnMobS5jMnAocyktXykpPEUmJihFPXUsaD15LmMycChiW2FbY11dKS13LHA9TWF0aC5zcXJ0KHUqdStoKmgpLGk9YVtjXSk7ZWxzZSBmb3IoYz1hLmxlbmd0aC0xO2M+LTE7Yy0tKXM9eFthW2NdXSxsPWJbYVtjXV0sdT1tLmMycChzKS1fLGg9eS5jMnAobCktdywoZj1NYXRoLnNxcnQodSp1K2gqaCkpPEUmJihFPXA9ZixpPWFbY10pO3JldHVybiB0LmluZGV4PWksdC5kaXN0YW5jZT1FLHQuZHh5PXAsdm9pZCAwPT09aT9bdF06W28odCx4LGIsdildfSxjYWxjSG92ZXI6b319LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3JlZ2lzdHJ5Ijo4NDYsIi4uL3NjYXR0ZXIvZ2V0X3RyYWNlX2NvbG9yIjoxMTMwfV0sMTE4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2hvdmVyIik7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic2NhdHRlcmdsIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiZ2wiLCJyZWdsIiwiY2FydGVzaWFuIiwic3ltYm9scyIsImVycm9yQmFyc09LIiwic2hvd0xlZ2VuZCIsInNjYXR0ZXItbGlrZSJdLGF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNyb3NzVHJhY2VEZWZhdWx0czp0KCIuLi9zY2F0dGVyL2Nyb3NzX3RyYWNlX2RlZmF1bHRzIiksY29sb3JiYXI6dCgiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiKSxmb3JtYXRMYWJlbHM6dCgiLi9mb3JtYXRfbGFiZWxzIiksY2FsYzp0KCIuL2NhbGMiKSxwbG90OnQoIi4vcGxvdCIpLGhvdmVyUG9pbnRzOm4uaG92ZXJQb2ludHMsc2VsZWN0UG9pbnRzOnQoIi4vc2VsZWN0IiksbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvY2FydGVzaWFuIjo3NzYsIi4uL3NjYXR0ZXIvY3Jvc3NfdHJhY2VfZGVmYXVsdHMiOjExMjYsIi4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIjoxMTM4LCIuL2F0dHJpYnV0ZXMiOjExNzEsIi4vY2FsYyI6MTE3MiwiLi9kZWZhdWx0cyI6MTE3NSwiLi9mb3JtYXRfbGFiZWxzIjoxMTc3LCIuL2hvdmVyIjoxMTc5LCIuL3Bsb3QiOjExODEsIi4vc2VsZWN0IjoxMTgzfV0sMTE4MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJyZWdsLXNjYXR0ZXIyZCIpLGE9dCgicmVnbC1saW5lMmQiKSxpPXQoInJlZ2wtZXJyb3IyZCIpLG89dCgiZ2wtdGV4dCIpLHM9dCgiLi4vLi4vbGliIiksbD10KCIuLi8uLi9saWIvcHJlcGFyZV9yZWdsIiksYz10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksdT10KCIuLi9zY2F0dGVyL2xpbmtfdHJhY2VzIiksaD10KCIuL2VkaXRfc3R5bGUiKS5zdHlsZVRleHRTZWxlY3Rpb247ZnVuY3Rpb24gZih0LGUscil7dmFyIG49dC5fc2l6ZSxhPXQud2lkdGgsaT10LmhlaWdodDtyZXR1cm5bbi5sK2UuZG9tYWluWzBdKm4udyxuLmIrci5kb21haW5bMF0qbi5oLGEtbi5yLSgxLWUuZG9tYWluWzFdKSpuLncsaS1uLnQtKDEtci5kb21haW5bMV0pKm4uaF19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZihyLmxlbmd0aCl7dmFyIHAsZCxnPXQuX2Z1bGxMYXlvdXQsdj1lLl9zY2VuZSxtPWUueGF4aXMseT1lLnlheGlzO2lmKHYpaWYobCh0LFsiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIsIk9FU19lbGVtZW50X2luZGV4X3VpbnQiXSkpe3ZhciB4PXYuY291bnQsYj1nLl9nbGNhbnZhcy5kYXRhKClbMF0ucmVnbDtpZih1KHQsZSxyKSx2LmRpcnR5KXtpZighMD09PXYuZXJyb3IyZCYmKHYuZXJyb3IyZD1pKGIpKSwhMD09PXYubGluZTJkJiYodi5saW5lMmQ9YShiKSksITA9PT12LnNjYXR0ZXIyZCYmKHYuc2NhdHRlcjJkPW4oYikpLCEwPT09di5maWxsMmQmJih2LmZpbGwyZD1hKGIpKSwhMD09PXYuZ2xUZXh0KWZvcih2LmdsVGV4dD1uZXcgQXJyYXkoeCkscD0wO3A8eDtwKyspdi5nbFRleHRbcF09bmV3IG8oYik7aWYodi5nbFRleHQpe2lmKHg+di5nbFRleHQubGVuZ3RoKXt2YXIgXz14LXYuZ2xUZXh0Lmxlbmd0aDtmb3IocD0wO3A8XztwKyspdi5nbFRleHQucHVzaChuZXcgbyhiKSl9ZWxzZSBpZih4PHYuZ2xUZXh0Lmxlbmd0aCl7dmFyIHc9di5nbFRleHQubGVuZ3RoLXg7di5nbFRleHQuc3BsaWNlKHgsdykuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlc3Ryb3koKX0pfWZvcihwPTA7cDx4O3ArKyl2LmdsVGV4dFtwXS51cGRhdGUodi50ZXh0T3B0aW9uc1twXSl9aWYodi5saW5lMmQmJih2LmxpbmUyZC51cGRhdGUodi5saW5lT3B0aW9ucyksdi5saW5lT3B0aW9ucz12LmxpbmVPcHRpb25zLm1hcChmdW5jdGlvbih0KXtpZih0JiZ0LnBvc2l0aW9ucyl7Zm9yKHZhciBlPXQucG9zaXRpb25zLHI9MDtyPGUubGVuZ3RoJiYoaXNOYU4oZVtyXSl8fGlzTmFOKGVbcisxXSkpOylyKz0yO2Zvcih2YXIgbj1lLmxlbmd0aC0yO24+ciYmKGlzTmFOKGVbbl0pfHxpc05hTihlW24rMV0pKTspbi09Mjt0LnBvc2l0aW9ucz1lLnNsaWNlKHIsbisyKX1yZXR1cm4gdH0pLHYubGluZTJkLnVwZGF0ZSh2LmxpbmVPcHRpb25zKSksdi5lcnJvcjJkKXt2YXIgaz0odi5lcnJvclhPcHRpb25zfHxbXSkuY29uY2F0KHYuZXJyb3JZT3B0aW9uc3x8W10pO3YuZXJyb3IyZC51cGRhdGUoayl9di5zY2F0dGVyMmQmJnYuc2NhdHRlcjJkLnVwZGF0ZSh2Lm1hcmtlck9wdGlvbnMpLHYuZmlsbE9yZGVyPXMucmVwZWF0KG51bGwseCksdi5maWxsMmQmJih2LmZpbGxPcHRpb25zPXYuZmlsbE9wdGlvbnMubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIG49cltlXTtpZih0JiZuJiZuWzBdJiZuWzBdLnRyYWNlKXt2YXIgYSxpLG89blswXSxzPW8udHJhY2UsbD1vLnQsYz12LmxpbmVPcHRpb25zW2VdLHU9W107cy5fb3duZmlsbCYmdS5wdXNoKGUpLHMuX25leHR0cmFjZSYmdS5wdXNoKGUrMSksdS5sZW5ndGgmJih2LmZpbGxPcmRlcltlXT11KTt2YXIgaCxmLHA9W10sZD1jJiZjLnBvc2l0aW9uc3x8bC5wb3NpdGlvbnM7aWYoInRvemVyb3kiPT09cy5maWxsKXtmb3IoaD0wO2g8ZC5sZW5ndGgmJmlzTmFOKGRbaCsxXSk7KWgrPTI7Zm9yKGY9ZC5sZW5ndGgtMjtmPmgmJmlzTmFOKGRbZisxXSk7KWYtPTI7MCE9PWRbaCsxXSYmKHA9W2RbaF0sMF0pLHA9cC5jb25jYXQoZC5zbGljZShoLGYrMikpLDAhPT1kW2YrMV0mJihwPXAuY29uY2F0KFtkW2ZdLDBdKSl9ZWxzZSBpZigidG96ZXJveCI9PT1zLmZpbGwpe2ZvcihoPTA7aDxkLmxlbmd0aCYmaXNOYU4oZFtoXSk7KWgrPTI7Zm9yKGY9ZC5sZW5ndGgtMjtmPmgmJmlzTmFOKGRbZl0pOylmLT0yOzAhPT1kW2hdJiYocD1bMCxkW2grMV1dKSxwPXAuY29uY2F0KGQuc2xpY2UoaCxmKzIpKSwwIT09ZFtmXSYmKHA9cC5jb25jYXQoWzAsZFtmKzFdXSkpfWVsc2UgaWYoInRvc2VsZiI9PT1zLmZpbGx8fCJ0b25leHQiPT09cy5maWxsKXtmb3IocD1bXSxhPTAsaT0wO2k8ZC5sZW5ndGg7aSs9MikoaXNOYU4oZFtpXSl8fGlzTmFOKGRbaSsxXSkpJiYoKHA9cC5jb25jYXQoZC5zbGljZShhLGkpKSkucHVzaChkW2FdLGRbYSsxXSksYT1pKzIpO3A9cC5jb25jYXQoZC5zbGljZShhKSksYSYmcC5wdXNoKGRbYV0sZFthKzFdKX1lbHNle3ZhciBnPXMuX25leHR0cmFjZTtpZihnKXt2YXIgbT12LmxpbmVPcHRpb25zW2UrMV07aWYobSl7dmFyIHk9bS5wb3NpdGlvbnM7aWYoInRvbmV4dHkiPT09cy5maWxsKXtmb3IocD1kLnNsaWNlKCksZT1NYXRoLmZsb29yKHkubGVuZ3RoLzIpO2UtLTspe3ZhciB4PXlbMiplXSxiPXlbMiplKzFdO2lzTmFOKHgpfHxpc05hTihiKXx8cC5wdXNoKHgsYil9dC5maWxsPWcuZmlsbGNvbG9yfX19fWlmKHMuX3ByZXZ0cmFjZSYmInRvbmV4dCI9PT1zLl9wcmV2dHJhY2UuZmlsbCl7dmFyIF89di5saW5lT3B0aW9uc1tlLTFdLnBvc2l0aW9ucyx3PXAubGVuZ3RoLzIsaz1bYT13XTtmb3IoaT0wO2k8Xy5sZW5ndGg7aSs9MikoaXNOYU4oX1tpXSl8fGlzTmFOKF9baSsxXSkpJiYoay5wdXNoKGkvMit3KzEpLGE9aSsyKTtwPXAuY29uY2F0KF8pLHQuaG9sZT1rfXJldHVybiB0LmZpbGxtb2RlPXMuZmlsbCx0Lm9wYWNpdHk9cy5vcGFjaXR5LHQucG9zaXRpb25zPXAsdH19KSx2LmZpbGwyZC51cGRhdGUodi5maWxsT3B0aW9ucykpfXZhciBUPWcuZHJhZ21vZGUsTT0ibGFzc28iPT09VHx8InNlbGVjdCI9PT1ULEE9Zy5jbGlja21vZGUuaW5kZXhPZigic2VsZWN0Iik+LTE7Zm9yKHA9MDtwPHg7cCsrKXt2YXIgUz1yW3BdWzBdLEU9Uy50cmFjZSxMPVMudCxDPUwuaW5kZXgsUD1FLl9sZW5ndGgsTz1MLngsej1MLnk7aWYoRS5zZWxlY3RlZHBvaW50c3x8TXx8QSl7aWYoTXx8KE09ITApLEUuc2VsZWN0ZWRwb2ludHMpe3ZhciBJPXYuc2VsZWN0QmF0Y2hbQ109cy5zZWxJbmRpY2VzMnNlbFBvaW50cyhFKSxEPXt9O2ZvcihkPTA7ZDxJLmxlbmd0aDtkKyspRFtJW2RdXT0xO3ZhciBSPVtdO2ZvcihkPTA7ZDxQO2QrKylEW2RdfHxSLnB1c2goZCk7di51bnNlbGVjdEJhdGNoW0NdPVJ9dmFyIEY9TC54cHg9bmV3IEFycmF5KFApLEI9TC55cHg9bmV3IEFycmF5KFApO2ZvcihkPTA7ZDxQO2QrKylGW2RdPW0uYzJwKE9bZF0pLEJbZF09eS5jMnAoeltkXSl9ZWxzZSBMLnhweD1MLnlweD1udWxsfWlmKE0pe2lmKHYuc2VsZWN0MmR8fCh2LnNlbGVjdDJkPW4oZy5fZ2xjYW52YXMuZGF0YSgpWzFdLnJlZ2wpKSx2LnNjYXR0ZXIyZCl7dmFyIE49bmV3IEFycmF5KHgpO2ZvcihwPTA7cDx4O3ArKylOW3BdPXYuc2VsZWN0QmF0Y2hbcF0ubGVuZ3RofHx2LnVuc2VsZWN0QmF0Y2hbcF0ubGVuZ3RoP3YubWFya2VyVW5zZWxlY3RlZE9wdGlvbnNbcF06e307di5zY2F0dGVyMmQudXBkYXRlKE4pfXYuc2VsZWN0MmQmJih2LnNlbGVjdDJkLnVwZGF0ZSh2Lm1hcmtlck9wdGlvbnMpLHYuc2VsZWN0MmQudXBkYXRlKHYubWFya2VyU2VsZWN0ZWRPcHRpb25zKSksdi5nbFRleHQmJnIuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT0oKHR8fFtdKVswXXx8e30pLnRyYWNlfHx7fTtjLmhhc1RleHQoZSkmJmgodCl9KX1lbHNlIHYuc2NhdHRlcjJkJiZ2LnNjYXR0ZXIyZC51cGRhdGUodi5tYXJrZXJPcHRpb25zKTt2YXIgaj17dmlld3BvcnQ6ZihnLG0seSkscmFuZ2U6WyhtLl9ybHx8bS5yYW5nZSlbMF0sKHkuX3JsfHx5LnJhbmdlKVswXSwobS5fcmx8fG0ucmFuZ2UpWzFdLCh5Ll9ybHx8eS5yYW5nZSlbMV1dfSxWPXMucmVwZWF0KGosdi5jb3VudCk7di5maWxsMmQmJnYuZmlsbDJkLnVwZGF0ZShWKSx2LmxpbmUyZCYmdi5saW5lMmQudXBkYXRlKFYpLHYuZXJyb3IyZCYmdi5lcnJvcjJkLnVwZGF0ZShWLmNvbmNhdChWKSksdi5zY2F0dGVyMmQmJnYuc2NhdHRlcjJkLnVwZGF0ZShWKSx2LnNlbGVjdDJkJiZ2LnNlbGVjdDJkLnVwZGF0ZShWKSx2LmdsVGV4dCYmdi5nbFRleHQuZm9yRWFjaChmdW5jdGlvbih0KXt0LnVwZGF0ZShqKX0pfWVsc2Ugdi5pbml0KCl9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3ByZXBhcmVfcmVnbCI6NzMwLCIuLi9zY2F0dGVyL2xpbmtfdHJhY2VzIjoxMTM2LCIuLi9zY2F0dGVyL3N1YnR5cGVzIjoxMTQ0LCIuL2VkaXRfc3R5bGUiOjExNzYsImdsLXRleHQiOjMxOSwicmVnbC1lcnJvcjJkIjo0OTIsInJlZ2wtbGluZTJkIjo0OTMsInJlZ2wtc2NhdHRlcjJkIjo0OTl9XSwxMTgyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWUuX3NjZW5lLGE9e2NvdW50OjAsZGlydHk6ITAsbGluZU9wdGlvbnM6W10sZmlsbE9wdGlvbnM6W10sbWFya2VyT3B0aW9uczpbXSxtYXJrZXJTZWxlY3RlZE9wdGlvbnM6W10sbWFya2VyVW5zZWxlY3RlZE9wdGlvbnM6W10sZXJyb3JYT3B0aW9uczpbXSxlcnJvcllPcHRpb25zOltdLHRleHRPcHRpb25zOltdLHRleHRTZWxlY3RlZE9wdGlvbnM6W10sdGV4dFVuc2VsZWN0ZWRPcHRpb25zOltdLHNlbGVjdEJhdGNoOltdLHVuc2VsZWN0QmF0Y2g6W119LGk9e2ZpbGwyZDohMSxzY2F0dGVyMmQ6ITEsZXJyb3IyZDohMSxsaW5lMmQ6ITEsZ2xUZXh0OiExLHNlbGVjdDJkOiExfTtyZXR1cm4gZS5fc2NlbmV8fCgocj1lLl9zY2VuZT17fSkuaW5pdD1mdW5jdGlvbigpe24uZXh0ZW5kRmxhdChyLGksYSl9LHIuaW5pdCgpLHIudXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPW4ucmVwZWF0KHQsci5jb3VudCk7aWYoci5maWxsMmQmJnIuZmlsbDJkLnVwZGF0ZShlKSxyLnNjYXR0ZXIyZCYmci5zY2F0dGVyMmQudXBkYXRlKGUpLHIubGluZTJkJiZyLmxpbmUyZC51cGRhdGUoZSksci5lcnJvcjJkJiZyLmVycm9yMmQudXBkYXRlKGUuY29uY2F0KGUpKSxyLnNlbGVjdDJkJiZyLnNlbGVjdDJkLnVwZGF0ZShlKSxyLmdsVGV4dClmb3IodmFyIGE9MDthPHIuY291bnQ7YSsrKXIuZ2xUZXh0W2FdLnVwZGF0ZSh0KX0sci5kcmF3PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXIuY291bnQsZT1yLmZpbGwyZCxhPXIuZXJyb3IyZCxpPXIubGluZTJkLG89ci5zY2F0dGVyMmQscz1yLmdsVGV4dCxsPXIuc2VsZWN0MmQsYz1yLnNlbGVjdEJhdGNoLHU9ci51bnNlbGVjdEJhdGNoLGg9MDtoPHQ7aCsrKXtpZihlJiZyLmZpbGxPcmRlcltoXSYmZS5kcmF3KHIuZmlsbE9yZGVyW2hdKSxpJiZyLmxpbmVPcHRpb25zW2hdJiZpLmRyYXcoaCksYSYmKHIuZXJyb3JYT3B0aW9uc1toXSYmYS5kcmF3KGgpLHIuZXJyb3JZT3B0aW9uc1toXSYmYS5kcmF3KGgrdCkpLG8mJnIubWFya2VyT3B0aW9uc1toXSlpZih1W2hdLmxlbmd0aCl7dmFyIGY9bi5yZXBlYXQoW10sci5jb3VudCk7ZltoXT11W2hdLG8uZHJhdyhmKX1lbHNlIGNbaF0ubGVuZ3RofHxvLmRyYXcoaCk7c1toXSYmci50ZXh0T3B0aW9uc1toXSYmc1toXS5yZW5kZXIoKX1sJiZsLmRyYXcoYyksci5kaXJ0eT0hMX0sci5kZXN0cm95PWZ1bmN0aW9uKCl7ci5maWxsMmQmJnIuZmlsbDJkLmRlc3Ryb3kmJnIuZmlsbDJkLmRlc3Ryb3koKSxyLnNjYXR0ZXIyZCYmci5zY2F0dGVyMmQuZGVzdHJveSYmci5zY2F0dGVyMmQuZGVzdHJveSgpLHIuZXJyb3IyZCYmci5lcnJvcjJkLmRlc3Ryb3kmJnIuZXJyb3IyZC5kZXN0cm95KCksci5saW5lMmQmJnIubGluZTJkLmRlc3Ryb3kmJnIubGluZTJkLmRlc3Ryb3koKSxyLnNlbGVjdDJkJiZyLnNlbGVjdDJkLmRlc3Ryb3kmJnIuc2VsZWN0MmQuZGVzdHJveSgpLHIuZ2xUZXh0JiZyLmdsVGV4dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZGVzdHJveSYmdC5kZXN0cm95KCl9KSxyLmxpbmVPcHRpb25zPW51bGwsci5maWxsT3B0aW9ucz1udWxsLHIubWFya2VyT3B0aW9ucz1udWxsLHIubWFya2VyU2VsZWN0ZWRPcHRpb25zPW51bGwsci5tYXJrZXJVbnNlbGVjdGVkT3B0aW9ucz1udWxsLHIuZXJyb3JYT3B0aW9ucz1udWxsLHIuZXJyb3JZT3B0aW9ucz1udWxsLHIudGV4dE9wdGlvbnM9bnVsbCxyLnRleHRTZWxlY3RlZE9wdGlvbnM9bnVsbCxyLnRleHRVbnNlbGVjdGVkT3B0aW9ucz1udWxsLHIuc2VsZWN0QmF0Y2g9bnVsbCxyLnVuc2VsZWN0QmF0Y2g9bnVsbCxlLl9zY2VuZT1udWxsfSksci5kaXJ0eXx8bi5leHRlbmRGbGF0KHIsYSkscn19LHsiLi4vLi4vbGliIjo3MTd9XSwxMTgzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NjYXR0ZXIvc3VidHlwZXMiKSxhPXQoIi4vZWRpdF9zdHlsZSIpLnN0eWxlVGV4dFNlbGVjdGlvbjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmNkLGk9W10sbz1yWzBdLnRyYWNlLHM9clswXS50LGw9by5fbGVuZ3RoLGM9cy54LHU9cy55LGg9cy5fc2NlbmUsZj1zLmluZGV4O2lmKCFoKXJldHVybiBpO3ZhciBwPW4uaGFzVGV4dChvKSxkPW4uaGFzTWFya2VycyhvKSxnPSFkJiYhcDtpZighMCE9PW8udmlzaWJsZXx8ZylyZXR1cm4gaTt2YXIgdj1bXSxtPVtdO2lmKCExIT09ZSYmIWUuZGVnZW5lcmF0ZSlmb3IodmFyIHk9MDt5PGw7eSsrKWUuY29udGFpbnMoW3MueHB4W3ldLHMueXB4W3ldXSwhMSx5LHQpPyh2LnB1c2goeSksaS5wdXNoKHtwb2ludE51bWJlcjp5LHg6Y1t5XSx5OnVbeV19KSk6bS5wdXNoKHkpO2lmKGQpe3ZhciB4PWguc2NhdHRlcjJkO2lmKHYubGVuZ3RofHxtLmxlbmd0aCl7aWYoIWguc2VsZWN0QmF0Y2hbZl0ubGVuZ3RoJiYhaC51bnNlbGVjdEJhdGNoW2ZdLmxlbmd0aCl7dmFyIGI9bmV3IEFycmF5KGguY291bnQpO2JbZl09aC5tYXJrZXJVbnNlbGVjdGVkT3B0aW9uc1tmXSx4LnVwZGF0ZS5hcHBseSh4LGIpfX1lbHNle3ZhciBfPW5ldyBBcnJheShoLmNvdW50KTtfW2ZdPWgubWFya2VyT3B0aW9uc1tmXSx4LnVwZGF0ZS5hcHBseSh4LF8pfX1yZXR1cm4gaC5zZWxlY3RCYXRjaFtmXT12LGgudW5zZWxlY3RCYXRjaFtmXT1tLHAmJmEociksaX19LHsiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiLi9lZGl0X3N0eWxlIjoxMTc2fV0sMTE4NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGE9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLnRleHR0ZW1wbGF0ZUF0dHJzLGk9dCgiLi4vc2NhdHRlcmdlby9hdHRyaWJ1dGVzIiksbz10KCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3Bsb3RzL21hcGJveC9sYXlvdXRfYXR0cmlidXRlcyIpLGw9dCgiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyIpLGM9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSx1PXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGg9dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLGY9aS5saW5lLHA9aS5tYXJrZXI7ZS5leHBvcnRzPWgoe2xvbjppLmxvbixsYXQ6aS5sYXQsbW9kZTp1KHt9LG8ubW9kZSx7ZGZsdDoibWFya2VycyJ9KSx0ZXh0OnUoe30sby50ZXh0LHt9KSx0ZXh0dGVtcGxhdGU6YSh7ZWRpdFR5cGU6InBsb3QifSx7a2V5czpbImxhdCIsImxvbiIsInRleHQiXX0pLGhvdmVydGV4dDp1KHt9LG8uaG92ZXJ0ZXh0LHt9KSxsaW5lOntjb2xvcjpmLmNvbG9yLHdpZHRoOmYud2lkdGh9LGNvbm5lY3RnYXBzOm8uY29ubmVjdGdhcHMsbWFya2VyOnUoe3N5bWJvbDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiJjaXJjbGUiLGFycmF5T2s6ITB9LG9wYWNpdHk6cC5vcGFjaXR5LHNpemU6cC5zaXplLHNpemVyZWY6cC5zaXplcmVmLHNpemVtaW46cC5zaXplbWluLHNpemVtb2RlOnAuc2l6ZW1vZGV9LGMoIm1hcmtlciIpKSxmaWxsOmkuZmlsbCxmaWxsY29sb3I6by5maWxsY29sb3IsdGV4dGZvbnQ6cy5sYXllcnMuc3ltYm9sLnRleHRmb250LHRleHRwb3NpdGlvbjpzLmxheWVycy5zeW1ib2wudGV4dHBvc2l0aW9uLGJlbG93Ont2YWxUeXBlOiJzdHJpbmcifSxzZWxlY3RlZDp7bWFya2VyOm8uc2VsZWN0ZWQubWFya2VyfSx1bnNlbGVjdGVkOnttYXJrZXI6by51bnNlbGVjdGVkLm1hcmtlcn0saG92ZXJpbmZvOnUoe30sbC5ob3ZlcmluZm8se2ZsYWdzOlsibG9uIiwibGF0IiwidGV4dCIsIm5hbWUiXX0pLGhvdmVydGVtcGxhdGU6bigpfSwiY2FsYyIsIm5lc3RlZCIpfSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyI6NzQ4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL21hcGJveC9sYXlvdXRfYXR0cmlidXRlcyI6ODIyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL3NjYXR0ZXIvYXR0cmlidXRlcyI6MTEyMCwiLi4vc2NhdHRlcmdlby9hdHRyaWJ1dGVzIjoxMTYxfV0sMTE4NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJmYXN0LWlzbnVtZXJpYyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNLG89dCgiLi4vLi4vbGliL2dlb2pzb25fdXRpbHMiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLGw9dCgiLi4vLi4vY29tcG9uZW50cy9kcmF3aW5nIiksYz10KCIuLi9zY2F0dGVyL21ha2VfYnViYmxlX3NpemVfZnVuYyIpLHU9dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLGg9dCgiLi4vLi4vcGxvdHMvbWFwYm94L2NvbnZlcnRfdGV4dF9vcHRzIiksZj10KCIuLi8uLi9jb21wb25lbnRzL2Z4L2hlbHBlcnMiKS5hcHBlbmRBcnJheVBvaW50VmFsdWUscD10KCIuLi8uLi9saWIvc3ZnX3RleHRfdXRpbHMiKS5ORVdMSU5FUyxkPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpLkJSX1RBR19BTEw7ZnVuY3Rpb24gZygpe3JldHVybntnZW9qc29uOm8ubWFrZUJsYW5rKCksbGF5b3V0Ont2aXNpYmlsaXR5OiJub25lIn0scGFpbnQ6e319fWZ1bmN0aW9uIHYodCl7cmV0dXJuIGEuaXNBcnJheU9yVHlwZWRBcnJheSh0KT9mdW5jdGlvbih0KXtyZXR1cm4gdH06dD9mdW5jdGlvbigpe3JldHVybiB0fTptfWZ1bmN0aW9uIG0oKXtyZXR1cm4iIn1mdW5jdGlvbiB5KHQpe3JldHVybiB0WzBdPT09aX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcixpPWVbMF0udHJhY2UseD0hMD09PWkudmlzaWJsZSYmMCE9PWkuX2xlbmd0aCxiPSJub25lIiE9PWkuZmlsbCxfPXUuaGFzTGluZXMoaSksdz11Lmhhc01hcmtlcnMoaSksaz11Lmhhc1RleHQoaSksVD13JiYiY2lyY2xlIj09PWkubWFya2VyLnN5bWJvbCxNPXcmJiJjaXJjbGUiIT09aS5tYXJrZXIuc3ltYm9sLEE9ZygpLFM9ZygpLEU9ZygpLEw9ZygpLEM9e2ZpbGw6QSxsaW5lOlMsY2lyY2xlOkUsc3ltYm9sOkx9O2lmKCF4KXJldHVybiBDO2lmKChifHxfKSYmKHI9by5jYWxjVHJhY2VUb0xpbmVDb29yZHMoZSkpLGImJihBLmdlb2pzb249by5tYWtlUG9seWdvbihyKSxBLmxheW91dC52aXNpYmlsaXR5PSJ2aXNpYmxlIixhLmV4dGVuZEZsYXQoQS5wYWludCx7ImZpbGwtY29sb3IiOmkuZmlsbGNvbG9yfSkpLF8mJihTLmdlb2pzb249by5tYWtlTGluZShyKSxTLmxheW91dC52aXNpYmlsaXR5PSJ2aXNpYmxlIixhLmV4dGVuZEZsYXQoUy5wYWludCx7ImxpbmUtd2lkdGgiOmkubGluZS53aWR0aCwibGluZS1jb2xvciI6aS5saW5lLmNvbG9yLCJsaW5lLW9wYWNpdHkiOmkub3BhY2l0eX0pKSxUKXt2YXIgUD1mdW5jdGlvbih0KXt2YXIgZSxyLGksbyx1PXRbMF0udHJhY2UsaD11Lm1hcmtlcixmPXUuc2VsZWN0ZWRwb2ludHMscD1hLmlzQXJyYXlPclR5cGVkQXJyYXkoaC5jb2xvciksZD1hLmlzQXJyYXlPclR5cGVkQXJyYXkoaC5zaXplKSxnPWEuaXNBcnJheU9yVHlwZWRBcnJheShoLm9wYWNpdHkpO2Z1bmN0aW9uIHYodCl7cmV0dXJuIHUub3BhY2l0eSp0fXAmJihyPXMuaGFzQ29sb3JzY2FsZSh1LCJtYXJrZXIiKT9zLm1ha2VDb2xvclNjYWxlRnVuY0Zyb21UcmFjZShoKTphLmlkZW50aXR5KTtkJiYoaT1jKHUpKTtnJiYobz1mdW5jdGlvbih0KXt2YXIgZT1uKHQpPythLmNvbnN0cmFpbih0LDAsMSk6MDtyZXR1cm4gdihlKX0pO3ZhciBtLHg9W107Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIGI9dFtlXSxfPWIubG9ubGF0O2lmKCF5KF8pKXt2YXIgdz17fTtyJiYody5tY2M9Yi5tY2M9cihiLm1jKSksaSYmKHcubXJjPWIubXJjPWkoYi5tcykpLG8mJih3Lm1vPW8oYi5tbykpLGYmJih3LnNlbGVjdGVkPWIuc2VsZWN0ZWR8fDApLHgucHVzaCh7dHlwZToiRmVhdHVyZSIsZ2VvbWV0cnk6e3R5cGU6IlBvaW50Iixjb29yZGluYXRlczpffSxwcm9wZXJ0aWVzOnd9KX19aWYoZilmb3IobT1sLm1ha2VTZWxlY3RlZFBvaW50U3R5bGVGbnModSksZT0wO2U8eC5sZW5ndGg7ZSsrKXt2YXIgaz14W2VdLnByb3BlcnRpZXM7bS5zZWxlY3RlZE9wYWNpdHlGbiYmKGsubW89dihtLnNlbGVjdGVkT3BhY2l0eUZuKGspKSksbS5zZWxlY3RlZENvbG9yRm4mJihrLm1jYz1tLnNlbGVjdGVkQ29sb3JGbihrKSksbS5zZWxlY3RlZFNpemVGbiYmKGsubXJjPW0uc2VsZWN0ZWRTaXplRm4oaykpfXJldHVybntnZW9qc29uOnt0eXBlOiJGZWF0dXJlQ29sbGVjdGlvbiIsZmVhdHVyZXM6eH0sbWNjOnB8fG0mJm0uc2VsZWN0ZWRDb2xvckZuP3t0eXBlOiJpZGVudGl0eSIscHJvcGVydHk6Im1jYyJ9OmguY29sb3IsbXJjOmR8fG0mJm0uc2VsZWN0ZWRTaXplRm4/e3R5cGU6ImlkZW50aXR5Iixwcm9wZXJ0eToibXJjIn06KFQ9aC5zaXplLFQvMiksbW86Z3x8bSYmbS5zZWxlY3RlZE9wYWNpdHlGbj97dHlwZToiaWRlbnRpdHkiLHByb3BlcnR5OiJtbyJ9OnYoaC5vcGFjaXR5KX07dmFyIFR9KGUpO0UuZ2VvanNvbj1QLmdlb2pzb24sRS5sYXlvdXQudmlzaWJpbGl0eT0idmlzaWJsZSIsYS5leHRlbmRGbGF0KEUucGFpbnQseyJjaXJjbGUtY29sb3IiOlAubWNjLCJjaXJjbGUtcmFkaXVzIjpQLm1yYywiY2lyY2xlLW9wYWNpdHkiOlAubW99KX1pZigoTXx8aykmJihMLmdlb2pzb249ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZS5fZnVsbExheW91dCxuPXRbMF0udHJhY2UsaT0obi5tYXJrZXJ8fHt9KS5zeW1ib2wsbz0iY2lyY2xlIiE9PWk/dihpKTptLHM9dS5oYXNUZXh0KG4pP3Yobi50ZXh0KTptLGw9W10sYz0wO2M8dC5sZW5ndGg7YysrKXt2YXIgaD10W2NdO2lmKCF5KGgubG9ubGF0KSl7dmFyIGcseD1uLnRleHR0ZW1wbGF0ZTtpZih4KXt2YXIgYj1BcnJheS5pc0FycmF5KHgpP3hbY118fCIiOngsXz1uLl9tb2R1bGUuZm9ybWF0TGFiZWxzKGgsbixyKSx3PXt9O2YodyxuLGguaSk7dmFyIGs9bi5fbWV0YXx8e307Zz1hLnRleHR0ZW1wbGF0ZVN0cmluZyhiLF8sci5fZDNsb2NhbGUsdyxoLGspfWVsc2UgZz1zKGgudHgpO2cmJihnPWcucmVwbGFjZShwLCIiKS5yZXBsYWNlKGQsIlxuIikpLGwucHVzaCh7dHlwZToiRmVhdHVyZSIsZ2VvbWV0cnk6e3R5cGU6IlBvaW50Iixjb29yZGluYXRlczpoLmxvbmxhdH0scHJvcGVydGllczp7c3ltYm9sOm8oaC5teCksdGV4dDpnfX0pfX1yZXR1cm57dHlwZToiRmVhdHVyZUNvbGxlY3Rpb24iLGZlYXR1cmVzOmx9fShlLHQpLGEuZXh0ZW5kRmxhdChMLmxheW91dCx7dmlzaWJpbGl0eToidmlzaWJsZSIsImljb24taW1hZ2UiOiJ7c3ltYm9sfS0xNSIsInRleHQtZmllbGQiOiJ7dGV4dH0ifSksTSYmKGEuZXh0ZW5kRmxhdChMLmxheW91dCx7Imljb24tc2l6ZSI6aS5tYXJrZXIuc2l6ZS8xMH0pLGEuZXh0ZW5kRmxhdChMLnBhaW50LHsiaWNvbi1vcGFjaXR5IjppLm9wYWNpdHkqaS5tYXJrZXIub3BhY2l0eSwiaWNvbi1jb2xvciI6aS5tYXJrZXIuY29sb3J9KSksaykpe3ZhciBPPShpLm1hcmtlcnx8e30pLnNpemUsej1oKGkudGV4dHBvc2l0aW9uLE8pO2EuZXh0ZW5kRmxhdChMLmxheW91dCx7InRleHQtc2l6ZSI6aS50ZXh0Zm9udC5zaXplLCJ0ZXh0LWFuY2hvciI6ei5hbmNob3IsInRleHQtb2Zmc2V0Ijp6Lm9mZnNldH0pLGEuZXh0ZW5kRmxhdChMLnBhaW50LHsidGV4dC1jb2xvciI6aS50ZXh0Zm9udC5jb2xvciwidGV4dC1vcGFjaXR5IjppLm9wYWNpdHl9KX1yZXR1cm4gQ319LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlIjo2MDQsIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9jb21wb25lbnRzL2Z4L2hlbHBlcnMiOjYyNywiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2dlb2pzb25fdXRpbHMiOjcxMiwiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uLy4uL3Bsb3RzL21hcGJveC9jb252ZXJ0X3RleHRfb3B0cyI6ODE5LCIuLi9zY2F0dGVyL21ha2VfYnViYmxlX3NpemVfZnVuYyI6MTEzNywiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiZmFzdC1pc251bWVyaWMiOjIyOH1dLDExODY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksaT10KCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyIpLG89dCgiLi4vc2NhdHRlci9saW5lX2RlZmF1bHRzIikscz10KCIuLi9zY2F0dGVyL3RleHRfZGVmYXVsdHMiKSxsPXQoIi4uL3NjYXR0ZXIvZmlsbGNvbG9yX2RlZmF1bHRzIiksYz10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsdSl7ZnVuY3Rpb24gaChyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsYyxyLGEpfWlmKGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKCJsb24iKXx8W10sYT1yKCJsYXQiKXx8W10saT1NYXRoLm1pbihuLmxlbmd0aCxhLmxlbmd0aCk7cmV0dXJuIGUuX2xlbmd0aD1pLGl9KDAsZSxoKSl7aWYoaCgidGV4dCIpLGgoInRleHR0ZW1wbGF0ZSIpLGgoImhvdmVydGV4dCIpLGgoImhvdmVydGVtcGxhdGUiKSxoKCJtb2RlIiksaCgiYmVsb3ciKSxhLmhhc0xpbmVzKGUpJiYobyh0LGUscix1LGgse25vRGFzaDohMH0pLGgoImNvbm5lY3RnYXBzIikpLGEuaGFzTWFya2VycyhlKSl7aSh0LGUscix1LGgse25vTGluZTohMH0pO3ZhciBmPWUubWFya2VyOyJjaXJjbGUiIT09Zi5zeW1ib2wmJihuLmlzQXJyYXlPclR5cGVkQXJyYXkoZi5zaXplKSYmKGYuc2l6ZT1mLnNpemVbMF0pLG4uaXNBcnJheU9yVHlwZWRBcnJheShmLmNvbG9yKSYmKGYuY29sb3I9Zi5jb2xvclswXSkpfWEuaGFzVGV4dChlKSYmcyh0LGUsdSxoLHtub1NlbGVjdDohMH0pLGgoImZpbGwiKSwibm9uZSIhPT1lLmZpbGwmJmwodCxlLHIsaCksbi5jb2VyY2VTZWxlY3Rpb25NYXJrZXJPcGFjaXR5KGUsaCl9ZWxzZSBlLnZpc2libGU9ITF9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL2ZpbGxjb2xvcl9kZWZhdWx0cyI6MTEyOCwiLi4vc2NhdHRlci9saW5lX2RlZmF1bHRzIjoxMTMzLCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyI6MTEzOSwiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiLi4vc2NhdHRlci90ZXh0X2RlZmF1bHRzIjoxMTQ1LCIuL2F0dHJpYnV0ZXMiOjExODR9XSwxMTg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0Lmxvbj1lLmxvbix0LmxhdD1lLmxhdCx0fX0se31dLDExODg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXt9LGk9cltlLnN1YnBsb3RdLl9zdWJwbG90Lm1vY2tBeGlzLG89dC5sb25sYXQ7cmV0dXJuIGEubG9uTGFiZWw9bi50aWNrVGV4dChpLGkuYzJsKG9bMF0pLCEwKS50ZXh0LGEubGF0TGFiZWw9bi50aWNrVGV4dChpLGkuYzJsKG9bMV0pLCEwKS50ZXh0LGF9fSx7Ii4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjV9XSwxMTg5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvZngiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vc2NhdHRlci9nZXRfdHJhY2VfY29sb3IiKSxvPWEuZmlsbFRleHQscz10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGw9dC5jZCxjPWxbMF0udHJhY2UsdT10LnhhLGg9dC55YSxmPXQuc3VicGxvdCxwPTM2MCooZT49MD9NYXRoLmZsb29yKChlKzE4MCkvMzYwKTpNYXRoLmNlaWwoKGUtMTgwKS8zNjApKSxkPWUtcDtpZihuLmdldENsb3Nlc3QobCxmdW5jdGlvbih0KXt2YXIgZT10LmxvbmxhdDtpZihlWzBdPT09cylyZXR1cm4gMS8wO3ZhciBuPWEubW9kSGFsZihlWzBdLDM2MCksaT1lWzFdLG89Zi5wcm9qZWN0KFtuLGldKSxsPW8ueC11LmMycChbZCxpXSksYz1vLnktaC5jMnAoW24scl0pLHA9TWF0aC5tYXgoMyx0Lm1yY3x8MCk7cmV0dXJuIE1hdGgubWF4KE1hdGguc3FydChsKmwrYypjKS1wLDEtMy9wKX0sdCksITEhPT10LmluZGV4KXt2YXIgZz1sW3QuaW5kZXhdLHY9Zy5sb25sYXQsbT1bYS5tb2RIYWxmKHZbMF0sMzYwKStwLHZbMV1dLHk9dS5jMnAobSkseD1oLmMycChtKSxiPWcubXJjfHwxO3QueDA9eS1iLHQueDE9eStiLHQueTA9eC1iLHQueTE9eCtiO3ZhciBfPXt9O19bYy5zdWJwbG90XT17X3N1YnBsb3Q6Zn07dmFyIHc9Yy5fbW9kdWxlLmZvcm1hdExhYmVscyhnLGMsXyk7cmV0dXJuIHQubG9uTGFiZWw9dy5sb25MYWJlbCx0LmxhdExhYmVsPXcubGF0TGFiZWwsdC5jb2xvcj1pKGMsZyksdC5leHRyYVRleHQ9ZnVuY3Rpb24odCxlLHIpe2lmKHQuaG92ZXJ0ZW1wbGF0ZSlyZXR1cm47dmFyIG49KGUuaGl8fHQuaG92ZXJpbmZvKS5zcGxpdCgiKyIpLGE9LTEhPT1uLmluZGV4T2YoImFsbCIpLGk9LTEhPT1uLmluZGV4T2YoImxvbiIpLHM9LTEhPT1uLmluZGV4T2YoImxhdCIpLGw9ZS5sb25sYXQsYz1bXTtmdW5jdGlvbiB1KHQpe3JldHVybiB0KyJceGIwIn1hfHxpJiZzP2MucHVzaCgiKCIrdShsWzBdKSsiLCAiK3UobFsxXSkrIikiKTppP2MucHVzaChyLmxvbit1KGxbMF0pKTpzJiZjLnB1c2goci5sYXQrdShsWzFdKSk7KGF8fC0xIT09bi5pbmRleE9mKCJ0ZXh0IikpJiZvKGUsdCxjKTtyZXR1cm4gYy5qb2luKCI8YnI+Iil9KGMsZyxsWzBdLnQubGFiZWxzKSx0LmhvdmVydGVtcGxhdGU9Yy5ob3ZlcnRlbXBsYXRlLFt0XX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvZngiOjYzMCwiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlci9nZXRfdHJhY2VfY29sb3IiOjExMzB9XSwxMTkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY29sb3JiYXI6dCgiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiKSxmb3JtYXRMYWJlbHM6dCgiLi9mb3JtYXRfbGFiZWxzIiksY2FsYzp0KCIuLi9zY2F0dGVyZ2VvL2NhbGMiKSxwbG90OnQoIi4vcGxvdCIpLGhvdmVyUG9pbnRzOnQoIi4vaG92ZXIiKSxldmVudERhdGE6dCgiLi9ldmVudF9kYXRhIiksc2VsZWN0UG9pbnRzOnQoIi4vc2VsZWN0Iiksc3R5bGVPblNlbGVjdDpmdW5jdGlvbih0LGUpe2UmJmVbMF0udHJhY2UuX2dsVHJhY2UudXBkYXRlKGUpfSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic2NhdHRlcm1hcGJveCIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvbWFwYm94IiksY2F0ZWdvcmllczpbIm1hcGJveCIsImdsIiwic3ltYm9scyIsInNob3dMZWdlbmQiLCJzY2F0dGVyLWxpa2UiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9tYXBib3giOjgyMCwiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4uL3NjYXR0ZXJnZW8vY2FsYyI6MTE2MiwiLi9hdHRyaWJ1dGVzIjoxMTg0LCIuL2RlZmF1bHRzIjoxMTg2LCIuL2V2ZW50X2RhdGEiOjExODcsIi4vZm9ybWF0X2xhYmVscyI6MTE4OCwiLi9ob3ZlciI6MTE4OSwiLi9wbG90IjoxMTkxLCIuL3NlbGVjdCI6MTE5Mn1dLDExOTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb252ZXJ0IiksYT10KCIuLi8uLi9wbG90cy9tYXBib3gvY29uc3RhbnRzIikudHJhY2VMYXllclByZWZpeCxpPVsiZmlsbCIsImxpbmUiLCJjaXJjbGUiLCJzeW1ib2wiXTtmdW5jdGlvbiBvKHQsZSl7dGhpcy50eXBlPSJzY2F0dGVybWFwYm94Iix0aGlzLnN1YnBsb3Q9dCx0aGlzLnVpZD1lLHRoaXMuc291cmNlSWRzPXtmaWxsOiJzb3VyY2UtIitlKyItZmlsbCIsbGluZToic291cmNlLSIrZSsiLWxpbmUiLGNpcmNsZToic291cmNlLSIrZSsiLWNpcmNsZSIsc3ltYm9sOiJzb3VyY2UtIitlKyItc3ltYm9sIn0sdGhpcy5sYXllcklkcz17ZmlsbDphK2UrIi1maWxsIixsaW5lOmErZSsiLWxpbmUiLGNpcmNsZTphK2UrIi1jaXJjbGUiLHN5bWJvbDphK2UrIi1zeW1ib2wifSx0aGlzLmJlbG93PW51bGx9dmFyIHM9by5wcm90b3R5cGU7cy5hZGRTb3VyY2U9ZnVuY3Rpb24odCxlKXt0aGlzLnN1YnBsb3QubWFwLmFkZFNvdXJjZSh0aGlzLnNvdXJjZUlkc1t0XSx7dHlwZToiZ2VvanNvbiIsZGF0YTplLmdlb2pzb259KX0scy5zZXRTb3VyY2VEYXRhPWZ1bmN0aW9uKHQsZSl7dGhpcy5zdWJwbG90Lm1hcC5nZXRTb3VyY2UodGhpcy5zb3VyY2VJZHNbdF0pLnNldERhdGEoZS5nZW9qc29uKX0scy5hZGRMYXllcj1mdW5jdGlvbih0LGUscil7dGhpcy5zdWJwbG90LmFkZExheWVyKHt0eXBlOnQsaWQ6dGhpcy5sYXllcklkc1t0XSxzb3VyY2U6dGhpcy5zb3VyY2VJZHNbdF0sbGF5b3V0OmUubGF5b3V0LHBhaW50OmUucGFpbnR9LHIpfSxzLnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLGEsbz10aGlzLnN1YnBsb3Qscz1vLm1hcCxsPW4oby5nZCx0KSxjPW8uYmVsb3dMb29rdXBbInRyYWNlLSIrdGhpcy51aWRdO2lmKGMhPT10aGlzLmJlbG93KXtmb3IoZT1pLmxlbmd0aC0xO2U+PTA7ZS0tKXI9aVtlXSxzLnJlbW92ZUxheWVyKHRoaXMubGF5ZXJJZHNbcl0pO2ZvcihlPTA7ZTxpLmxlbmd0aDtlKyspYT1sW3I9aVtlXV0sdGhpcy5hZGRMYXllcihyLGEsYyk7dGhpcy5iZWxvdz1jfWZvcihlPTA7ZTxpLmxlbmd0aDtlKyspYT1sW3I9aVtlXV0sby5zZXRPcHRpb25zKHRoaXMubGF5ZXJJZHNbcl0sInNldExheW91dFByb3BlcnR5IixhLmxheW91dCksInZpc2libGUiPT09YS5sYXlvdXQudmlzaWJpbGl0eSYmKHRoaXMuc2V0U291cmNlRGF0YShyLGEpLG8uc2V0T3B0aW9ucyh0aGlzLmxheWVySWRzW3JdLCJzZXRQYWludFByb3BlcnR5IixhLnBhaW50KSk7dFswXS50cmFjZS5fZ2xUcmFjZT10aGlzfSxzLmRpc3Bvc2U9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5zdWJwbG90Lm1hcCxlPWkubGVuZ3RoLTE7ZT49MDtlLS0pe3ZhciByPWlbZV07dC5yZW1vdmVMYXllcih0aGlzLmxheWVySWRzW3JdKSx0LnJlbW92ZVNvdXJjZSh0aGlzLnNvdXJjZUlkc1tyXSl9fSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZVswXS50cmFjZSxhPW5ldyBvKHQsci51aWQpLHM9bih0LmdkLGUpLGw9YS5iZWxvdz10LmJlbG93TG9va3VwWyJ0cmFjZS0iK3IudWlkXSxjPTA7YzxpLmxlbmd0aDtjKyspe3ZhciB1PWlbY10saD1zW3VdO2EuYWRkU291cmNlKHUsaCksYS5hZGRMYXllcih1LGgsbCl9cmV0dXJuIGVbMF0udHJhY2UuX2dsVHJhY2U9YSxhfX0seyIuLi8uLi9wbG90cy9tYXBib3gvY29uc3RhbnRzIjo4MTgsIi4vY29udmVydCI6MTE4NX1dLDExOTI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksaT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLG89dC5jZCxzPXQueGF4aXMsbD10LnlheGlzLGM9W10sdT1vWzBdLnRyYWNlO2lmKCFhLmhhc01hcmtlcnModSkpcmV0dXJuW107aWYoITE9PT1lKWZvcihyPTA7cjxvLmxlbmd0aDtyKyspb1tyXS5zZWxlY3RlZD0wO2Vsc2UgZm9yKHI9MDtyPG8ubGVuZ3RoO3IrKyl7dmFyIGg9b1tyXSxmPWgubG9ubGF0O2lmKGZbMF0hPT1pKXt2YXIgcD1bbi5tb2RIYWxmKGZbMF0sMzYwKSxmWzFdXSxkPVtzLmMycChwKSxsLmMycChwKV07ZS5jb250YWlucyhkLG51bGwscix0KT8oYy5wdXNoKHtwb2ludE51bWJlcjpyLGxvbjpmWzBdLGxhdDpmWzFdfSksaC5zZWxlY3RlZD0xKTpoLnNlbGVjdGVkPTB9fXJldHVybiBjfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL3N1YnR5cGVzIjoxMTQ0fV0sMTE5MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGE9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLnRleHR0ZW1wbGF0ZUF0dHJzLGk9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsbz10KCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxsPW8ubGluZTtlLmV4cG9ydHM9e21vZGU6by5tb2RlLHI6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sdGhldGE6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0scjA6e3ZhbFR5cGU6ImFueSIsZGZsdDowLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sZHI6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoxLGVkaXRUeXBlOiJjYWxjIn0sdGhldGEwOnt2YWxUeXBlOiJhbnkiLGRmbHQ6MCxlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LGR0aGV0YTp7dmFsVHlwZToibnVtYmVyIixlZGl0VHlwZToiY2FsYyJ9LHRoZXRhdW5pdDp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsicmFkaWFucyIsImRlZ3JlZXMiLCJncmFkaWFucyJdLGRmbHQ6ImRlZ3JlZXMiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sdGV4dDpvLnRleHQsdGV4dHRlbXBsYXRlOmEoe2VkaXRUeXBlOiJwbG90In0se2tleXM6WyJyIiwidGhldGEiLCJ0ZXh0Il19KSxob3ZlcnRleHQ6by5ob3ZlcnRleHQsbGluZTp7Y29sb3I6bC5jb2xvcix3aWR0aDpsLndpZHRoLGRhc2g6bC5kYXNoLHNoYXBlOmkoe30sbC5zaGFwZSx7dmFsdWVzOlsibGluZWFyIiwic3BsaW5lIl19KSxzbW9vdGhpbmc6bC5zbW9vdGhpbmcsZWRpdFR5cGU6ImNhbGMifSxjb25uZWN0Z2FwczpvLmNvbm5lY3RnYXBzLG1hcmtlcjpvLm1hcmtlcixjbGlwb25heGlzOmkoe30sby5jbGlwb25heGlzLHtkZmx0OiExfSksdGV4dHBvc2l0aW9uOm8udGV4dHBvc2l0aW9uLHRleHRmb250Om8udGV4dGZvbnQsZmlsbDppKHt9LG8uZmlsbCx7dmFsdWVzOlsibm9uZSIsInRvc2VsZiIsInRvbmV4dCJdLGRmbHQ6Im5vbmUifSksZmlsbGNvbG9yOm8uZmlsbGNvbG9yLGhvdmVyaW5mbzppKHt9LHMuaG92ZXJpbmZvLHtmbGFnczpbInIiLCJ0aGV0YSIsInRleHQiLCJuYW1lIl19KSxob3Zlcm9uOm8uaG92ZXJvbixob3ZlcnRlbXBsYXRlOm4oKSxzZWxlY3RlZDpvLnNlbGVjdGVkLHVuc2VsZWN0ZWQ6by51bnNlbGVjdGVkfX0seyIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjB9XSwxMTk0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNLGk9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxvPXQoIi4uL3NjYXR0ZXIvY29sb3JzY2FsZV9jYWxjIikscz10KCIuLi9zY2F0dGVyL2FycmF5c190b19jYWxjZGF0YSIpLGw9dCgiLi4vc2NhdHRlci9jYWxjX3NlbGVjdGlvbiIpLGM9dCgiLi4vc2NhdHRlci9jYWxjIikuY2FsY01hcmtlclNpemU7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuX2Z1bGxMYXlvdXQsdT1lLnN1YnBsb3QsaD1yW3VdLnJhZGlhbGF4aXMsZj1yW3VdLmFuZ3VsYXJheGlzLHA9aC5tYWtlQ2FsY2RhdGEoZSwiciIpLGQ9Zi5tYWtlQ2FsY2RhdGEoZSwidGhldGEiKSxnPWUuX2xlbmd0aCx2PW5ldyBBcnJheShnKSxtPTA7bTxnO20rKyl7dmFyIHk9cFttXSx4PWRbbV0sYj12W21dPXt9O24oeSkmJm4oeCk/KGIucj15LGIudGhldGE9eCk6Yi5yPWF9dmFyIF89YyhlLGcpO3JldHVybiBlLl9leHRyZW1lcy54PWkuZmluZEV4dHJlbWVzKGgscCx7cHBhZDpffSksbyh0LGUpLHModixlKSxsKHYsZSksdn19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9zY2F0dGVyL2FycmF5c190b19jYWxjZGF0YSI6MTExOSwiLi4vc2NhdHRlci9jYWxjIjoxMTIxLCIuLi9zY2F0dGVyL2NhbGNfc2VsZWN0aW9uIjoxMTIyLCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyI6MTEyMywiZmFzdC1pc251bWVyaWMiOjIyOH1dLDExOTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksaT10KCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyIpLG89dCgiLi4vc2NhdHRlci9saW5lX2RlZmF1bHRzIikscz10KCIuLi9zY2F0dGVyL2xpbmVfc2hhcGVfZGVmYXVsdHMiKSxsPXQoIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyIpLGM9dCgiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiKSx1PXQoIi4uL3NjYXR0ZXIvY29uc3RhbnRzIikuUFRTX0xJTkVTT05MWSxoPXQoIi4vYXR0cmlidXRlcyIpO2Z1bmN0aW9uIGYodCxlLHIsbil7dmFyIGEsaT1uKCJyIiksbz1uKCJ0aGV0YSIpO2lmKGkpbz9hPU1hdGgubWluKGkubGVuZ3RoLG8ubGVuZ3RoKTooYT1pLmxlbmd0aCxuKCJ0aGV0YTAiKSxuKCJkdGhldGEiKSk7ZWxzZXtpZighbylyZXR1cm4gMDthPWUudGhldGEubGVuZ3RoLG4oInIwIiksbigiZHIiKX1yZXR1cm4gZS5fbGVuZ3RoPWEsYX1lLmV4cG9ydHM9e2hhbmRsZVJUaGV0YURlZmF1bHRzOmYsc3VwcGx5RGVmYXVsdHM6ZnVuY3Rpb24odCxlLHIscCl7ZnVuY3Rpb24gZChyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsaCxyLGEpfXZhciBnPWYoMCxlLDAsZCk7aWYoZyl7ZCgidGhldGF1bml0IiksZCgibW9kZSIsZzx1PyJsaW5lcyttYXJrZXJzIjoibGluZXMiKSxkKCJ0ZXh0IiksZCgiaG92ZXJ0ZXh0IiksImZpbGxzIiE9PWUuaG92ZXJvbiYmZCgiaG92ZXJ0ZW1wbGF0ZSIpLGEuaGFzTGluZXMoZSkmJihvKHQsZSxyLHAsZCkscyh0LGUsZCksZCgiY29ubmVjdGdhcHMiKSksYS5oYXNNYXJrZXJzKGUpJiZpKHQsZSxyLHAsZCx7Z3JhZGllbnQ6ITB9KSxhLmhhc1RleHQoZSkmJihkKCJ0ZXh0dGVtcGxhdGUiKSxsKHQsZSxwLGQpKTt2YXIgdj1bXTsoYS5oYXNNYXJrZXJzKGUpfHxhLmhhc1RleHQoZSkpJiYoZCgiY2xpcG9uYXhpcyIpLGQoIm1hcmtlci5tYXhkaXNwbGF5ZWQiKSx2LnB1c2goInBvaW50cyIpKSxkKCJmaWxsIiksIm5vbmUiIT09ZS5maWxsJiYoYyh0LGUscixkKSxhLmhhc0xpbmVzKGUpfHxzKHQsZSxkKSksInRvbmV4dCIhPT1lLmZpbGwmJiJ0b3NlbGYiIT09ZS5maWxsfHx2LnB1c2goImZpbGxzIiksZCgiaG92ZXJvbiIsdi5qb2luKCIrIil8fCJwb2ludHMiKSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSxkKX1lbHNlIGUudmlzaWJsZT0hMX19fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL2NvbnN0YW50cyI6MTEyNCwiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiOjExMjgsIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyI6MTEzMywiLi4vc2NhdHRlci9saW5lX3NoYXBlX2RlZmF1bHRzIjoxMTM1LCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyI6MTEzOSwiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiLi4vc2NhdHRlci90ZXh0X2RlZmF1bHRzIjoxMTQ1LCIuL2F0dHJpYnV0ZXMiOjExOTN9XSwxMTk2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBpLG8scz17fSxsPXJbZS5zdWJwbG90XS5fc3VicGxvdDtsPyhpPWwucmFkaWFsQXhpcyxvPWwuYW5ndWxhckF4aXMpOihpPShsPXJbZS5zdWJwbG90XSkucmFkaWFsYXhpcyxvPWwuYW5ndWxhcmF4aXMpO3ZhciBjPWkuYzJsKHQucik7cy5yTGFiZWw9YS50aWNrVGV4dChpLGMsITApLnRleHQ7dmFyIHU9ImRlZ3JlZXMiPT09by50aGV0YXVuaXQ/bi5yYWQyZGVnKHQudGhldGEpOnQudGhldGE7cmV0dXJuIHMudGhldGFMYWJlbD1hLnRpY2tUZXh0KG8sdSwhMCkudGV4dCxzfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NX1dLDExOTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9ob3ZlciIpO2Z1bmN0aW9uIGEodCxlLHIsbil7dmFyIGE9ci5yYWRpYWxBeGlzLGk9ci5hbmd1bGFyQXhpczthLl9ob3ZlcnRpdGxlPSJyIixpLl9ob3ZlcnRpdGxlPSJcdTAzYjgiO3ZhciBvPXt9O29bZS5zdWJwbG90XT17X3N1YnBsb3Q6cn07dmFyIHM9ZS5fbW9kdWxlLmZvcm1hdExhYmVscyh0LGUsbyk7bi5yTGFiZWw9cy5yTGFiZWwsbi50aGV0YUxhYmVsPXMudGhldGFMYWJlbDt2YXIgbD10LmhpfHxlLmhvdmVyaW5mbyxjPVtdO2Z1bmN0aW9uIHUodCxlKXtjLnB1c2godC5faG92ZXJ0aXRsZSsiOiAiK2UpfWlmKCFlLmhvdmVydGVtcGxhdGUpe3ZhciBoPWwuc3BsaXQoIisiKTstMSE9PWguaW5kZXhPZigiYWxsIikmJihoPVsiciIsInRoZXRhIiwidGV4dCJdKSwtMSE9PWguaW5kZXhPZigiciIpJiZ1KGEsbi5yTGFiZWwpLC0xIT09aC5pbmRleE9mKCJ0aGV0YSIpJiZ1KGksbi50aGV0YUxhYmVsKSwtMSE9PWguaW5kZXhPZigidGV4dCIpJiZuLnRleHQmJihjLnB1c2gobi50ZXh0KSxkZWxldGUgbi50ZXh0KSxuLmV4dHJhVGV4dD1jLmpvaW4oIjxicj4iKX19ZS5leHBvcnRzPXtob3ZlclBvaW50czpmdW5jdGlvbih0LGUscixpKXt2YXIgbz1uKHQsZSxyLGkpO2lmKG8mJiExIT09b1swXS5pbmRleCl7dmFyIHM9b1swXTtpZih2b2lkIDA9PT1zLmluZGV4KXJldHVybiBvO3ZhciBsPXQuc3VicGxvdCxjPXMuY2Rbcy5pbmRleF0sdT1zLnRyYWNlO2lmKGwuaXNQdEluc2lkZShjKSlyZXR1cm4gcy54TGFiZWxWYWw9dm9pZCAwLHMueUxhYmVsVmFsPXZvaWQgMCxhKGMsdSxsLHMpLHMuaG92ZXJ0ZW1wbGF0ZT11LmhvdmVydGVtcGxhdGUsb319LG1ha2VIb3ZlclBvaW50VGV4dDphfX0seyIuLi9zY2F0dGVyL2hvdmVyIjoxMTMxfV0sMTE5ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJzY2F0dGVycG9sYXIiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL3BvbGFyIiksY2F0ZWdvcmllczpbInBvbGFyIiwic3ltYm9scyIsInNob3dMZWdlbmQiLCJzY2F0dGVyLWxpa2UiXSxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKS5zdXBwbHlEZWZhdWx0cyxjb2xvcmJhcjp0KCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciIpLGZvcm1hdExhYmVsczp0KCIuL2Zvcm1hdF9sYWJlbHMiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90Iiksc3R5bGU6dCgiLi4vc2NhdHRlci9zdHlsZSIpLnN0eWxlLHN0eWxlT25TZWxlY3Q6dCgiLi4vc2NhdHRlci9zdHlsZSIpLnN0eWxlT25TZWxlY3QsaG92ZXJQb2ludHM6dCgiLi9ob3ZlciIpLmhvdmVyUG9pbnRzLHNlbGVjdFBvaW50czp0KCIuLi9zY2F0dGVyL3NlbGVjdCIpLG1ldGE6e319fSx7Ii4uLy4uL3Bsb3RzL3BvbGFyIjo4MjksIi4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIjoxMTM4LCIuLi9zY2F0dGVyL3NlbGVjdCI6MTE0MSwiLi4vc2NhdHRlci9zdHlsZSI6MTE0MywiLi9hdHRyaWJ1dGVzIjoxMTkzLCIuL2NhbGMiOjExOTQsIi4vZGVmYXVsdHMiOjExOTUsIi4vZm9ybWF0X2xhYmVscyI6MTE5NiwiLi9ob3ZlciI6MTE5NywiLi9wbG90IjoxMTk5fV0sMTE5OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9zY2F0dGVyL3Bsb3QiKSxhPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIGk9ZS5sYXllcnMuZnJvbnRwbG90LnNlbGVjdCgiZy5zY2F0dGVybGF5ZXIiKSxvPXt4YXhpczplLnhheGlzLHlheGlzOmUueWF4aXMscGxvdDplLmZyYW1ld29yayxsYXllckNsaXBJZDplLl9oYXNDbGlwT25BeGlzRmFsc2U/ZS5jbGlwSWRzLmZvclRyYWNlczpudWxsfSxzPWUucmFkaWFsQXhpcyxsPWUuYW5ndWxhckF4aXMsYz0wO2M8ci5sZW5ndGg7YysrKWZvcih2YXIgdT1yW2NdLGg9MDtoPHUubGVuZ3RoO2grKyl7dmFyIGY9dVtoXSxwPWYucjtpZihwPT09YSlmLng9Zi55PWE7ZWxzZXt2YXIgZD1zLmMyZyhwKSxnPWwuYzJnKGYudGhldGEpO2YueD1kKk1hdGguY29zKGcpLGYueT1kKk1hdGguc2luKGcpfX1uKHQsbyxyLGkpfX0seyIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uL3NjYXR0ZXIvcGxvdCI6MTE0MH1dLDEyMDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlcnBvbGFyL2F0dHJpYnV0ZXMiKSxhPXQoIi4uL3NjYXR0ZXJnbC9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikudGV4dHRlbXBsYXRlQXR0cnM7ZS5leHBvcnRzPXttb2RlOm4ubW9kZSxyOm4ucix0aGV0YTpuLnRoZXRhLHIwOm4ucjAsZHI6bi5kcix0aGV0YTA6bi50aGV0YTAsZHRoZXRhOm4uZHRoZXRhLHRoZXRhdW5pdDpuLnRoZXRhdW5pdCx0ZXh0Om4udGV4dCx0ZXh0dGVtcGxhdGU6aSh7ZWRpdFR5cGU6InBsb3QifSx7a2V5czpbInIiLCJ0aGV0YSIsInRleHQiXX0pLGhvdmVydGV4dDpuLmhvdmVydGV4dCxob3ZlcnRlbXBsYXRlOm4uaG92ZXJ0ZW1wbGF0ZSxsaW5lOmEubGluZSxjb25uZWN0Z2FwczphLmNvbm5lY3RnYXBzLG1hcmtlcjphLm1hcmtlcixmaWxsOmEuZmlsbCxmaWxsY29sb3I6YS5maWxsY29sb3IsdGV4dHBvc2l0aW9uOmEudGV4dHBvc2l0aW9uLHRleHRmb250OmEudGV4dGZvbnQsaG92ZXJpbmZvOm4uaG92ZXJpbmZvLHNlbGVjdGVkOm4uc2VsZWN0ZWQsdW5zZWxlY3RlZDpuLnVuc2VsZWN0ZWR9fSx7Ii4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vc2NhdHRlcmdsL2F0dHJpYnV0ZXMiOjExNzEsIi4uL3NjYXR0ZXJwb2xhci9hdHRyaWJ1dGVzIjoxMTkzfV0sMTIwMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpLGE9dCgiLi4vc2NhdHRlci9jYWxjIikuY2FsY01hcmtlclNpemUsaT10KCIuLi9zY2F0dGVyZ2wvY29udmVydCIpLG89dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxzPXQoIi4uL3NjYXR0ZXJnbC9jb25zdGFudHMiKS5UT09fTUFOWV9QT0lOVFM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fZnVsbExheW91dCxsPWUuc3VicGxvdCxjPXJbbF0ucmFkaWFsYXhpcyx1PXJbbF0uYW5ndWxhcmF4aXMsaD1lLl9yPWMubWFrZUNhbGNkYXRhKGUsInIiKSxmPWUuX3RoZXRhPXUubWFrZUNhbGNkYXRhKGUsInRoZXRhIikscD1lLl9sZW5ndGgsZD17fTtwPGgubGVuZ3RoJiYoaD1oLnNsaWNlKDAscCkpLHA8Zi5sZW5ndGgmJihmPWYuc2xpY2UoMCxwKSksZC5yPWgsZC50aGV0YT1mLG4odCxlKTt2YXIgZyx2PWQub3B0cz1pLnN0eWxlKHQsZSk7cmV0dXJuIHA8cz9nPWEoZSxwKTp2Lm1hcmtlciYmKGc9Mioodi5tYXJrZXIuc2l6ZUF2Z3x8TWF0aC5tYXgodi5tYXJrZXIuc2l6ZSwzKSkpLGUuX2V4dHJlbWVzLng9by5maW5kRXh0cmVtZXMoYyxoLHtwcGFkOmd9KSxbe3g6ITEseTohMSx0OmQsdHJhY2U6ZX1dfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9zY2F0dGVyL2NhbGMiOjExMjEsIi4uL3NjYXR0ZXIvY29sb3JzY2FsZV9jYWxjIjoxMTIzLCIuLi9zY2F0dGVyZ2wvY29uc3RhbnRzIjoxMTczLCIuLi9zY2F0dGVyZ2wvY29udmVydCI6MTE3NH1dLDEyMDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVyL3N1YnR5cGVzIiksaT10KCIuLi9zY2F0dGVycG9sYXIvZGVmYXVsdHMiKS5oYW5kbGVSVGhldGFEZWZhdWx0cyxvPXQoIi4uL3NjYXR0ZXIvbWFya2VyX2RlZmF1bHRzIikscz10KCIuLi9zY2F0dGVyL2xpbmVfZGVmYXVsdHMiKSxsPXQoIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyIpLGM9dCgiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiKSx1PXQoIi4uL3NjYXR0ZXIvY29uc3RhbnRzIikuUFRTX0xJTkVTT05MWSxoPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixmKXtmdW5jdGlvbiBwKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxoLHIsYSl9dmFyIGQ9aSh0LGUsZixwKTtkPyhwKCJ0aGV0YXVuaXQiKSxwKCJtb2RlIixkPHU/ImxpbmVzK21hcmtlcnMiOiJsaW5lcyIpLHAoInRleHQiKSxwKCJob3ZlcnRleHQiKSwiZmlsbHMiIT09ZS5ob3Zlcm9uJiZwKCJob3ZlcnRlbXBsYXRlIiksYS5oYXNMaW5lcyhlKSYmKHModCxlLHIsZixwKSxwKCJjb25uZWN0Z2FwcyIpKSxhLmhhc01hcmtlcnMoZSkmJm8odCxlLHIsZixwKSxhLmhhc1RleHQoZSkmJihwKCJ0ZXh0dGVtcGxhdGUiKSxsKHQsZSxmLHApKSxwKCJmaWxsIiksIm5vbmUiIT09ZS5maWxsJiZjKHQsZSxyLHApLG4uY29lcmNlU2VsZWN0aW9uTWFya2VyT3BhY2l0eShlLHApKTplLnZpc2libGU9ITF9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9zY2F0dGVyL2NvbnN0YW50cyI6MTEyNCwiLi4vc2NhdHRlci9maWxsY29sb3JfZGVmYXVsdHMiOjExMjgsIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyI6MTEzMywiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiOjExMzksIi4uL3NjYXR0ZXIvc3VidHlwZXMiOjExNDQsIi4uL3NjYXR0ZXIvdGV4dF9kZWZhdWx0cyI6MTE0NSwiLi4vc2NhdHRlcnBvbGFyL2RlZmF1bHRzIjoxMTk1LCIuL2F0dHJpYnV0ZXMiOjEyMDB9XSwxMjAzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NjYXR0ZXJwb2xhci9mb3JtYXRfbGFiZWxzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYT10Lmk7cmV0dXJuInIiaW4gdHx8KHQucj1lLl9yW2FdKSwidGhldGEiaW4gdHx8KHQudGhldGE9ZS5fdGhldGFbYV0pLG4odCxlLHIpfX0seyIuLi9zY2F0dGVycG9sYXIvZm9ybWF0X2xhYmVscyI6MTE5Nn1dLDEyMDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlcmdsL2hvdmVyIiksYT10KCIuLi9zY2F0dGVycG9sYXIvaG92ZXIiKS5tYWtlSG92ZXJQb2ludFRleHQ7ZS5leHBvcnRzPXtob3ZlclBvaW50czpmdW5jdGlvbih0LGUscixpKXt2YXIgbz10LmNkWzBdLnQscz1vLnIsbD1vLnRoZXRhLGM9bi5ob3ZlclBvaW50cyh0LGUscixpKTtpZihjJiYhMSE9PWNbMF0uaW5kZXgpe3ZhciB1PWNbMF07aWYodm9pZCAwPT09dS5pbmRleClyZXR1cm4gYzt2YXIgaD10LnN1YnBsb3QsZj11LmNkW3UuaW5kZXhdLHA9dS50cmFjZTtpZihmLnI9c1t1LmluZGV4XSxmLnRoZXRhPWxbdS5pbmRleF0saC5pc1B0SW5zaWRlKGYpKXJldHVybiB1LnhMYWJlbFZhbD12b2lkIDAsdS55TGFiZWxWYWw9dm9pZCAwLGEoZixwLGgsdSksY319fX0seyIuLi9zY2F0dGVyZ2wvaG92ZXIiOjExNzksIi4uL3NjYXR0ZXJwb2xhci9ob3ZlciI6MTE5N31dLDEyMDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic2NhdHRlcnBvbGFyZ2wiLGJhc2VQbG90TW9kdWxlOnQoIi4uLy4uL3Bsb3RzL3BvbGFyIiksY2F0ZWdvcmllczpbImdsIiwicmVnbCIsInBvbGFyIiwic3ltYm9scyIsInNob3dMZWdlbmQiLCJzY2F0dGVyLWxpa2UiXSxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxjb2xvcmJhcjp0KCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciIpLGZvcm1hdExhYmVsczp0KCIuL2Zvcm1hdF9sYWJlbHMiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90IiksaG92ZXJQb2ludHM6dCgiLi9ob3ZlciIpLmhvdmVyUG9pbnRzLHNlbGVjdFBvaW50czp0KCIuLi9zY2F0dGVyZ2wvc2VsZWN0IiksbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvcG9sYXIiOjgyOSwiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiOjExMzgsIi4uL3NjYXR0ZXJnbC9zZWxlY3QiOjExODMsIi4vYXR0cmlidXRlcyI6MTIwMCwiLi9jYWxjIjoxMjAxLCIuL2RlZmF1bHRzIjoxMjAyLCIuL2Zvcm1hdF9sYWJlbHMiOjEyMDMsIi4vaG92ZXIiOjEyMDQsIi4vcGxvdCI6MTIwNn1dLDEyMDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicG9pbnQtY2x1c3RlciIpLGE9dCgiZmFzdC1pc251bWVyaWMiKSxpPXQoIi4uL3NjYXR0ZXJnbC9wbG90Iiksbz10KCIuLi9zY2F0dGVyZ2wvc2NlbmVfdXBkYXRlIikscz10KCIuLi9zY2F0dGVyZ2wvY29udmVydCIpLGw9dCgiLi4vLi4vbGliIiksYz10KCIuLi9zY2F0dGVyZ2wvY29uc3RhbnRzIikuVE9PX01BTllfUE9JTlRTO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7aWYoci5sZW5ndGgpe3ZhciB1PWUucmFkaWFsQXhpcyxoPWUuYW5ndWxhckF4aXMsZj1vKHQsZSk7cmV0dXJuIHIuZm9yRWFjaChmdW5jdGlvbihyKXtpZihyJiZyWzBdJiZyWzBdLnRyYWNlKXt2YXIgaSxvPXJbMF0scD1vLnRyYWNlLGQ9by50LGc9cC5fbGVuZ3RoLHY9ZC5yLG09ZC50aGV0YSx5PWQub3B0cyx4PXYuc2xpY2UoKSxiPW0uc2xpY2UoKTtmb3IoaT0wO2k8di5sZW5ndGg7aSsrKWUuaXNQdEluc2lkZSh7cjp2W2ldLHRoZXRhOm1baV19KXx8KHhbaV09TmFOLGJbaV09TmFOKTt2YXIgXz1uZXcgQXJyYXkoMipnKSx3PUFycmF5KGcpLGs9QXJyYXkoZyk7Zm9yKGk9MDtpPGc7aSsrKXt2YXIgVCxNLEE9eFtpXTtpZihhKEEpKXt2YXIgUz11LmMyZyhBKSxFPWguYzJnKGJbaV0scC50aGV0YXVuaXQpO1Q9UypNYXRoLmNvcyhFKSxNPVMqTWF0aC5zaW4oRSl9ZWxzZSBUPU09TmFOO3dbaV09X1syKmldPVQsa1tpXT1fWzIqaSsxXT1NfWQudHJlZT1uKF8pLHkubWFya2VyJiZnPj1jJiYoeS5tYXJrZXIuY2x1c3Rlcj1kLnRyZWUpLHkubWFya2VyJiYoeS5tYXJrZXJTZWwucG9zaXRpb25zPXkubWFya2VyVW5zZWwucG9zaXRpb25zPXkubWFya2VyLnBvc2l0aW9ucz1fKSx5LmxpbmUmJl8ubGVuZ3RoPjEmJmwuZXh0ZW5kRmxhdCh5LmxpbmUscy5saW5lUG9zaXRpb25zKHQscCxfKSkseS50ZXh0JiYobC5leHRlbmRGbGF0KHkudGV4dCx7cG9zaXRpb25zOl99LHMudGV4dFBvc2l0aW9uKHQscCx5LnRleHQseS5tYXJrZXIpKSxsLmV4dGVuZEZsYXQoeS50ZXh0U2VsLHtwb3NpdGlvbnM6X30scy50ZXh0UG9zaXRpb24odCxwLHkudGV4dCx5Lm1hcmtlclNlbCkpLGwuZXh0ZW5kRmxhdCh5LnRleHRVbnNlbCx7cG9zaXRpb25zOl99LHMudGV4dFBvc2l0aW9uKHQscCx5LnRleHQseS5tYXJrZXJVbnNlbCkpKSx5LmZpbGwmJiFmLmZpbGwyZCYmKGYuZmlsbDJkPSEwKSx5Lm1hcmtlciYmIWYuc2NhdHRlcjJkJiYoZi5zY2F0dGVyMmQ9ITApLHkubGluZSYmIWYubGluZTJkJiYoZi5saW5lMmQ9ITApLHkudGV4dCYmIWYuZ2xUZXh0JiYoZi5nbFRleHQ9ITApLGYubGluZU9wdGlvbnMucHVzaCh5LmxpbmUpLGYuZmlsbE9wdGlvbnMucHVzaCh5LmZpbGwpLGYubWFya2VyT3B0aW9ucy5wdXNoKHkubWFya2VyKSxmLm1hcmtlclNlbGVjdGVkT3B0aW9ucy5wdXNoKHkubWFya2VyU2VsKSxmLm1hcmtlclVuc2VsZWN0ZWRPcHRpb25zLnB1c2goeS5tYXJrZXJVbnNlbCksZi50ZXh0T3B0aW9ucy5wdXNoKHkudGV4dCksZi50ZXh0U2VsZWN0ZWRPcHRpb25zLnB1c2goeS50ZXh0U2VsKSxmLnRleHRVbnNlbGVjdGVkT3B0aW9ucy5wdXNoKHkudGV4dFVuc2VsKSxmLnNlbGVjdEJhdGNoLnB1c2goW10pLGYudW5zZWxlY3RCYXRjaC5wdXNoKFtdKSxkLng9dyxkLnk9ayxkLnJhd3g9dyxkLnJhd3k9ayxkLnI9dixkLnRoZXRhPW0sZC5wb3NpdGlvbnM9XyxkLl9zY2VuZT1mLGQuaW5kZXg9Zi5jb3VudCxmLmNvdW50Kyt9fSksaSh0LGUscil9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlcmdsL2NvbnN0YW50cyI6MTE3MywiLi4vc2NhdHRlcmdsL2NvbnZlcnQiOjExNzQsIi4uL3NjYXR0ZXJnbC9wbG90IjoxMTgxLCIuLi9zY2F0dGVyZ2wvc2NlbmVfdXBkYXRlIjoxMTgyLCJmYXN0LWlzbnVtZXJpYyI6MjI4LCJwb2ludC1jbHVzdGVyIjo0NzF9XSwxMjA3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsYT10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikudGV4dHRlbXBsYXRlQXR0cnMsaT10KCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIiksbD10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyIpLmRhc2gsYz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCx1PWkubWFya2VyLGg9aS5saW5lLGY9dS5saW5lO2UuZXhwb3J0cz17YTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxiOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LGM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sc3VtOnt2YWxUeXBlOiJudW1iZXIiLGRmbHQ6MCxtaW46MCxlZGl0VHlwZToiY2FsYyJ9LG1vZGU6Yyh7fSxpLm1vZGUse2RmbHQ6Im1hcmtlcnMifSksdGV4dDpjKHt9LGkudGV4dCx7fSksdGV4dHRlbXBsYXRlOmEoe2VkaXRUeXBlOiJwbG90In0se2tleXM6WyJhIiwiYiIsImMiLCJ0ZXh0Il19KSxob3ZlcnRleHQ6Yyh7fSxpLmhvdmVydGV4dCx7fSksbGluZTp7Y29sb3I6aC5jb2xvcix3aWR0aDpoLndpZHRoLGRhc2g6bCxzaGFwZTpjKHt9LGguc2hhcGUse3ZhbHVlczpbImxpbmVhciIsInNwbGluZSJdfSksc21vb3RoaW5nOmguc21vb3RoaW5nLGVkaXRUeXBlOiJjYWxjIn0sY29ubmVjdGdhcHM6aS5jb25uZWN0Z2FwcyxjbGlwb25heGlzOmkuY2xpcG9uYXhpcyxmaWxsOmMoe30saS5maWxsLHt2YWx1ZXM6WyJub25lIiwidG9zZWxmIiwidG9uZXh0Il0sZGZsdDoibm9uZSJ9KSxmaWxsY29sb3I6aS5maWxsY29sb3IsbWFya2VyOmMoe3N5bWJvbDp1LnN5bWJvbCxvcGFjaXR5OnUub3BhY2l0eSxtYXhkaXNwbGF5ZWQ6dS5tYXhkaXNwbGF5ZWQsc2l6ZTp1LnNpemUsc2l6ZXJlZjp1LnNpemVyZWYsc2l6ZW1pbjp1LnNpemVtaW4sc2l6ZW1vZGU6dS5zaXplbW9kZSxsaW5lOmMoe3dpZHRoOmYud2lkdGgsZWRpdFR5cGU6ImNhbGMifSxzKCJtYXJrZXIubGluZSIpKSxncmFkaWVudDp1LmdyYWRpZW50LGVkaXRUeXBlOiJjYWxjIn0scygibWFya2VyIikpLHRleHRmb250OmkudGV4dGZvbnQsdGV4dHBvc2l0aW9uOmkudGV4dHBvc2l0aW9uLHNlbGVjdGVkOmkuc2VsZWN0ZWQsdW5zZWxlY3RlZDppLnVuc2VsZWN0ZWQsaG92ZXJpbmZvOmMoe30sby5ob3ZlcmluZm8se2ZsYWdzOlsiYSIsImIiLCJjIiwidGV4dCIsIm5hbWUiXX0pLGhvdmVyb246aS5ob3Zlcm9uLGhvdmVydGVtcGxhdGU6bigpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmcvYXR0cmlidXRlcyI6NjEyLCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyI6ODQxLCIuLi9zY2F0dGVyL2F0dHJpYnV0ZXMiOjExMjB9XSwxMjA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImZhc3QtaXNudW1lcmljIiksYT10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpLGk9dCgiLi4vc2NhdHRlci9hcnJheXNfdG9fY2FsY2RhdGEiKSxvPXQoIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iKSxzPXQoIi4uL3NjYXR0ZXIvY2FsYyIpLmNhbGNNYXJrZXJTaXplLGw9WyJhIiwiYiIsImMiXSxjPXthOlsiYiIsImMiXSxiOlsiYSIsImMiXSxjOlsiYSIsImIiXX07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsdSxoLGYscCxkLGc9dC5fZnVsbExheW91dFtlLnN1YnBsb3RdLnN1bSx2PWUuc3VtfHxnLG09e2E6ZS5hLGI6ZS5iLGM6ZS5jfTtmb3Iocj0wO3I8bC5sZW5ndGg7cisrKWlmKCFtW2g9bFtyXV0pe2ZvcihwPW1bY1toXVswXV0sZD1tW2NbaF1bMV1dLGY9bmV3IEFycmF5KHAubGVuZ3RoKSx1PTA7dTxwLmxlbmd0aDt1KyspZlt1XT12LXBbdV0tZFt1XTttW2hdPWZ9dmFyIHkseCxiLF8sdyxrLFQ9ZS5fbGVuZ3RoLE09bmV3IEFycmF5KFQpO2ZvcihyPTA7cjxUO3IrKyl5PW0uYVtyXSx4PW0uYltyXSxiPW0uY1tyXSxuKHkpJiZuKHgpJiZuKGIpPygxIT09KF89Zy8oKHk9K3kpKyh4PSt4KSsoYj0rYikpKSYmKHkqPV8seCo9XyxiKj1fKSxrPXksdz1iLXgsTVtyXT17eDp3LHk6ayxhOnksYjp4LGM6Yn0pOk1bcl09e3g6ITEseTohMX07cmV0dXJuIHMoZSxUKSxhKHQsZSksaShNLGUpLG8oTSxlKSxNfX0seyIuLi9zY2F0dGVyL2FycmF5c190b19jYWxjZGF0YSI6MTExOSwiLi4vc2NhdHRlci9jYWxjIjoxMTIxLCIuLi9zY2F0dGVyL2NhbGNfc2VsZWN0aW9uIjoxMTIyLCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyI6MTEyMywiZmFzdC1pc251bWVyaWMiOjIyOH1dLDEyMDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVyL2NvbnN0YW50cyIpLGk9dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLG89dCgiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiKSxzPXQoIi4uL3NjYXR0ZXIvbGluZV9kZWZhdWx0cyIpLGw9dCgiLi4vc2NhdHRlci9saW5lX3NoYXBlX2RlZmF1bHRzIiksYz10KCIuLi9zY2F0dGVyL3RleHRfZGVmYXVsdHMiKSx1PXQoIi4uL3NjYXR0ZXIvZmlsbGNvbG9yX2RlZmF1bHRzIiksaD10KCIuL2F0dHJpYnV0ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsZil7ZnVuY3Rpb24gcChyLGEpe3JldHVybiBuLmNvZXJjZSh0LGUsaCxyLGEpfXZhciBkLGc9cCgiYSIpLHY9cCgiYiIpLG09cCgiYyIpO2lmKGc/KGQ9Zy5sZW5ndGgsdj8oZD1NYXRoLm1pbihkLHYubGVuZ3RoKSxtJiYoZD1NYXRoLm1pbihkLG0ubGVuZ3RoKSkpOmQ9bT9NYXRoLm1pbihkLG0ubGVuZ3RoKTowKTp2JiZtJiYoZD1NYXRoLm1pbih2Lmxlbmd0aCxtLmxlbmd0aCkpLGQpe2UuX2xlbmd0aD1kLHAoInN1bSIpLHAoInRleHQiKSxwKCJob3ZlcnRleHQiKSwiZmlsbHMiIT09ZS5ob3Zlcm9uJiZwKCJob3ZlcnRlbXBsYXRlIikscCgibW9kZSIsZDxhLlBUU19MSU5FU09OTFk/ImxpbmVzK21hcmtlcnMiOiJsaW5lcyIpLGkuaGFzTGluZXMoZSkmJihzKHQsZSxyLGYscCksbCh0LGUscCkscCgiY29ubmVjdGdhcHMiKSksaS5oYXNNYXJrZXJzKGUpJiZvKHQsZSxyLGYscCx7Z3JhZGllbnQ6ITB9KSxpLmhhc1RleHQoZSkmJihwKCJ0ZXh0dGVtcGxhdGUiKSxjKHQsZSxmLHApKTt2YXIgeT1bXTsoaS5oYXNNYXJrZXJzKGUpfHxpLmhhc1RleHQoZSkpJiYocCgiY2xpcG9uYXhpcyIpLHAoIm1hcmtlci5tYXhkaXNwbGF5ZWQiKSx5LnB1c2goInBvaW50cyIpKSxwKCJmaWxsIiksIm5vbmUiIT09ZS5maWxsJiYodSh0LGUscixwKSxpLmhhc0xpbmVzKGUpfHxsKHQsZSxwKSksInRvbmV4dCIhPT1lLmZpbGwmJiJ0b3NlbGYiIT09ZS5maWxsfHx5LnB1c2goImZpbGxzIikscCgiaG92ZXJvbiIseS5qb2luKCIrIil8fCJwb2ludHMiKSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSxwKX1lbHNlIGUudmlzaWJsZT0hMX19LHsiLi4vLi4vbGliIjo3MTcsIi4uL3NjYXR0ZXIvY29uc3RhbnRzIjoxMTI0LCIuLi9zY2F0dGVyL2ZpbGxjb2xvcl9kZWZhdWx0cyI6MTEyOCwiLi4vc2NhdHRlci9saW5lX2RlZmF1bHRzIjoxMTMzLCIuLi9zY2F0dGVyL2xpbmVfc2hhcGVfZGVmYXVsdHMiOjExMzUsIi4uL3NjYXR0ZXIvbWFya2VyX2RlZmF1bHRzIjoxMTM5LCIuLi9zY2F0dGVyL3N1YnR5cGVzIjoxMTQ0LCIuLi9zY2F0dGVyL3RleHRfZGVmYXVsdHMiOjExNDUsIi4vYXR0cmlidXRlcyI6MTIwN31dLDEyMTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7aWYoZS54YSYmKHQueGF4aXM9ZS54YSksZS55YSYmKHQueWF4aXM9ZS55YSksblthXSl7dmFyIGk9blthXTt0LmE9aS5hLHQuYj1pLmIsdC5jPWkuY31lbHNlIHQuYT1lLmEsdC5iPWUuYix0LmM9ZS5jO3JldHVybiB0fX0se31dLDEyMTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPXt9LGk9cltlLnN1YnBsb3RdLl9zdWJwbG90O3JldHVybiBhLmFMYWJlbD1uLnRpY2tUZXh0KGkuYWF4aXMsdC5hLCEwKS50ZXh0LGEuYkxhYmVsPW4udGlja1RleHQoaS5iYXhpcyx0LmIsITApLnRleHQsYS5jTGFiZWw9bi50aWNrVGV4dChpLmNheGlzLHQuYywhMCkudGV4dCxhfX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1fV0sMTIxMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9zY2F0dGVyL2hvdmVyIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpPW4odCxlLHIsYSk7aWYoaSYmITEhPT1pWzBdLmluZGV4KXt2YXIgbz1pWzBdO2lmKHZvaWQgMD09PW8uaW5kZXgpe3ZhciBzPTEtby55MC90LnlhLl9sZW5ndGgsbD10LnhhLl9sZW5ndGgsYz1sKnMvMix1PWwtYztyZXR1cm4gby54MD1NYXRoLm1heChNYXRoLm1pbihvLngwLHUpLGMpLG8ueDE9TWF0aC5tYXgoTWF0aC5taW4oby54MSx1KSxjKSxpfXZhciBoPW8uY2Rbby5pbmRleF0sZj1vLnRyYWNlLHA9by5zdWJwbG90O28uYT1oLmEsby5iPWguYixvLmM9aC5jLG8ueExhYmVsVmFsPXZvaWQgMCxvLnlMYWJlbFZhbD12b2lkIDA7dmFyIGQ9e307ZFtmLnN1YnBsb3RdPXtfc3VicGxvdDpwfTt2YXIgZz1mLl9tb2R1bGUuZm9ybWF0TGFiZWxzKGgsZixkKTtvLmFMYWJlbD1nLmFMYWJlbCxvLmJMYWJlbD1nLmJMYWJlbCxvLmNMYWJlbD1nLmNMYWJlbDt2YXIgdj1oLmhpfHxmLmhvdmVyaW5mbyxtPVtdO2lmKCFmLmhvdmVydGVtcGxhdGUpe3ZhciB5PXYuc3BsaXQoIisiKTstMSE9PXkuaW5kZXhPZigiYWxsIikmJih5PVsiYSIsImIiLCJjIl0pLC0xIT09eS5pbmRleE9mKCJhIikmJngocC5hYXhpcyxvLmFMYWJlbCksLTEhPT15LmluZGV4T2YoImIiKSYmeChwLmJheGlzLG8uYkxhYmVsKSwtMSE9PXkuaW5kZXhPZigiYyIpJiZ4KHAuY2F4aXMsby5jTGFiZWwpfXJldHVybiBvLmV4dHJhVGV4dD1tLmpvaW4oIjxicj4iKSxvLmhvdmVydGVtcGxhdGU9Zi5ob3ZlcnRlbXBsYXRlLGl9ZnVuY3Rpb24geCh0LGUpe20ucHVzaCh0Ll9ob3ZlcnRpdGxlKyI6ICIrZSl9fX0seyIuLi9zY2F0dGVyL2hvdmVyIjoxMTMxfV0sMTIxMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNvbG9yYmFyOnQoIi4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIiksZm9ybWF0TGFiZWxzOnQoIi4vZm9ybWF0X2xhYmVscyIpLGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuL3Bsb3QiKSxzdHlsZTp0KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGUsc3R5bGVPblNlbGVjdDp0KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksc2VsZWN0UG9pbnRzOnQoIi4uL3NjYXR0ZXIvc2VsZWN0IiksZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLG1vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJzY2F0dGVydGVybmFyeSIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvdGVybmFyeSIpLGNhdGVnb3JpZXM6WyJ0ZXJuYXJ5Iiwic3ltYm9scyIsInNob3dMZWdlbmQiLCJzY2F0dGVyLWxpa2UiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy90ZXJuYXJ5Ijo4NDIsIi4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIjoxMTM4LCIuLi9zY2F0dGVyL3NlbGVjdCI6MTE0MSwiLi4vc2NhdHRlci9zdHlsZSI6MTE0MywiLi9hdHRyaWJ1dGVzIjoxMjA3LCIuL2NhbGMiOjEyMDgsIi4vZGVmYXVsdHMiOjEyMDksIi4vZXZlbnRfZGF0YSI6MTIxMCwiLi9mb3JtYXRfbGFiZWxzIjoxMjExLCIuL2hvdmVyIjoxMjEyLCIuL3Bsb3QiOjEyMTR9XSwxMjE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NjYXR0ZXIvcGxvdCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIGE9ZS5wbG90Q29udGFpbmVyO2Euc2VsZWN0KCIuc2NhdHRlcmxheWVyIikuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7dmFyIGk9e3hheGlzOmUueGF4aXMseWF4aXM6ZS55YXhpcyxwbG90OmEsbGF5ZXJDbGlwSWQ6ZS5faGFzQ2xpcE9uQXhpc0ZhbHNlP2UuY2xpcElkUmVsYXRpdmU6bnVsbH0sbz1lLmxheWVycy5mcm9udHBsb3Quc2VsZWN0KCJnLnNjYXR0ZXJsYXllciIpO24odCxpLHIsbyl9fSx7Ii4uL3NjYXR0ZXIvcGxvdCI6MTE0MH1dLDEyMTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGk9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxvPXQoIi4uL3NjYXR0ZXJnbC9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vY29uc3RhbnRzIikuaWRSZWdleCxsPXQoIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiKS50ZW1wbGF0ZWRBcnJheSxjPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LHU9bi5tYXJrZXIsaD11LmxpbmUsZj1jKGEoIm1hcmtlci5saW5lIix7ZWRpdFR5cGVPdmVycmlkZToiY2FsYyJ9KSx7d2lkdGg6Yyh7fSxoLndpZHRoLHtlZGl0VHlwZToiY2FsYyJ9KSxlZGl0VHlwZToiY2FsYyJ9KSxwPWMoYSgibWFya2VyIikse3N5bWJvbDp1LnN5bWJvbCxzaXplOmMoe30sdS5zaXplLHtlZGl0VHlwZToibWFya2VyU2l6ZSJ9KSxzaXplcmVmOnUuc2l6ZXJlZixzaXplbWluOnUuc2l6ZW1pbixzaXplbW9kZTp1LnNpemVtb2RlLG9wYWNpdHk6dS5vcGFjaXR5LGNvbG9yYmFyOnUuY29sb3JiYXIsbGluZTpmLGVkaXRUeXBlOiJjYWxjIn0pO2Z1bmN0aW9uIGQodCl7cmV0dXJue3ZhbFR5cGU6ImluZm9fYXJyYXkiLGZyZWVMZW5ndGg6ITAsZWRpdFR5cGU6ImNhbGMiLGl0ZW1zOnt2YWxUeXBlOiJzdWJwbG90aWQiLHJlZ2V4OnNbdF0sZWRpdFR5cGU6InBsb3QifX19cC5jb2xvci5lZGl0VHlwZT1wLmNtaW4uZWRpdFR5cGU9cC5jbWF4LmVkaXRUeXBlPSJzdHlsZSIsZS5leHBvcnRzPXtkaW1lbnNpb25zOmwoImRpbWVuc2lvbiIse3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6ImNhbGMifSxsYWJlbDp7dmFsVHlwZToic3RyaW5nIixlZGl0VHlwZToiY2FsYyJ9LHZhbHVlczp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSxheGlzOnt0eXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJsaW5lYXIiLCJsb2ciLCJkYXRlIiwiY2F0ZWdvcnkiXSxlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LG1hdGNoZXM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0pLHRleHQ6Yyh7fSxvLnRleHQse30pLGhvdmVydGV4dDpjKHt9LG8uaG92ZXJ0ZXh0LHt9KSxob3ZlcnRlbXBsYXRlOmkoKSxtYXJrZXI6cCx4YXhlczpkKCJ4IikseWF4ZXM6ZCgieSIpLGRpYWdvbmFsOnt2aXNpYmxlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSxzaG93dXBwZXJoYWxmOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn0sc2hvd2xvd2VyaGFsZjp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9LHNlbGVjdGVkOnttYXJrZXI6by5zZWxlY3RlZC5tYXJrZXIsZWRpdFR5cGU6ImNhbGMifSx1bnNlbGVjdGVkOnttYXJrZXI6by51bnNlbGVjdGVkLm1hcmtlcixlZGl0VHlwZToiY2FsYyJ9LG9wYWNpdHk6by5vcGFjaXR5fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RfYXBpL3Bsb3RfdGVtcGxhdGUiOjc1NSwiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2NvbnN0YW50cyI6NzcxLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL3NjYXR0ZXIvYXR0cmlidXRlcyI6MTEyMCwiLi4vc2NhdHRlcmdsL2F0dHJpYnV0ZXMiOjExNzF9XSwxMjE2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInJlZ2wtbGluZTJkIiksYT10KCIuLi8uLi9yZWdpc3RyeSIpLGk9dCgiLi4vLi4vbGliL3ByZXBhcmVfcmVnbCIpLG89dCgiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiKS5nZXRNb2R1bGVDYWxjRGF0YSxzPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiIpLGw9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIikuZ2V0RnJvbUlkLGM9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKS5zaG91bGRTaG93WmVyb0xpbmUsdT0ic3Bsb20iO2Z1bmN0aW9uIGgodCxlLHIpe2Zvcih2YXIgbj1yLm1hdHJpeE9wdGlvbnMuZGF0YS5sZW5ndGgsYT1lLl92aXNpYmxlRGltcyxpPXIudmlld09wdHMucmFuZ2VzPW5ldyBBcnJheShuKSxvPTA7bzxhLmxlbmd0aDtvKyspe3ZhciBzPWFbb10sYz1pW29dPW5ldyBBcnJheSg0KSx1PWwodCxlLl9kaWFnW3NdWzBdKTt1JiYoY1swXT11LnIybCh1LnJhbmdlWzBdKSxjWzJdPXUucjJsKHUucmFuZ2VbMV0pKTt2YXIgaD1sKHQsZS5fZGlhZ1tzXVsxXSk7aCYmKGNbMV09aC5yMmwoaC5yYW5nZVswXSksY1szXT1oLnIybChoLnJhbmdlWzFdKSl9ci5zZWxlY3RCYXRjaC5sZW5ndGh8fHIudW5zZWxlY3RCYXRjaC5sZW5ndGg/ci5tYXRyaXgudXBkYXRlKHtyYW5nZXM6aX0se3JhbmdlczppfSk6ci5tYXRyaXgudXBkYXRlKHtyYW5nZXM6aX0pfWZ1bmN0aW9uIGYodCl7dmFyIGU9dC5fZnVsbExheW91dCxyPWUuX2dsY2FudmFzLmRhdGEoKVswXS5yZWdsLGE9ZS5fc3Bsb21HcmlkO2F8fChhPWUuX3NwbG9tR3JpZD1uKHIpKSxhLnVwZGF0ZShmdW5jdGlvbih0KXt2YXIgZSxyPXQuX2Z1bGxMYXlvdXQsbj1yLl9zaXplLGE9WzAsMCxyLndpZHRoLHIuaGVpZ2h0XSxpPXt9O2Z1bmN0aW9uIG8odCxlLHIsbixvLHMpe3ZhciBsPWVbdCsiY29sb3IiXSxjPWVbdCsid2lkdGgiXSx1PVN0cmluZyhsK2MpO3UgaW4gaT9pW3VdLmRhdGEucHVzaChOYU4sTmFOLHIsbixvLHMpOmlbdV09e2RhdGE6W3IsbixvLHNdLGpvaW46InJlY3QiLHRoaWNrbmVzczpjLGNvbG9yOmwsdmlld3BvcnQ6YSxyYW5nZTphLG92ZXJsYXk6ITF9fWZvcihlIGluIHIuX3NwbG9tU3VicGxvdHMpe3ZhciBzLGwsdT1yLl9wbG90c1tlXSxoPXUueGF4aXMsZj11LnlheGlzLHA9aC5fZ3JpZFZhbHMsZD1mLl9ncmlkVmFscyxnPW4uYitmLmRvbWFpblswXSpuLmgsdj0tZi5fbSxtPS12KmYucjJsKGYucmFuZ2VbMF0sZi5jYWxlbmRhcik7aWYoaC5zaG93Z3JpZClmb3IoZT0wO2U8cC5sZW5ndGg7ZSsrKXM9aC5fb2Zmc2V0K2gubDJwKHBbZV0ueCksbygiZ3JpZCIsaCxzLGcscyxnK2YuX2xlbmd0aCk7aWYoZi5zaG93Z3JpZClmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWw9ZyttK3YqZFtlXS54LG8oImdyaWQiLGYsaC5fb2Zmc2V0LGwsaC5fb2Zmc2V0K2guX2xlbmd0aCxsKTtjKHQsaCxmKSYmKHM9aC5fb2Zmc2V0K2gubDJwKDApLG8oInplcm9saW5lIixoLHMsZyxzLGcrZi5fbGVuZ3RoKSksYyh0LGYsaCkmJihsPWcrbSswLG8oInplcm9saW5lIixmLGguX29mZnNldCxsLGguX29mZnNldCtoLl9sZW5ndGgsbCkpfXZhciB5PVtdO2ZvcihlIGluIGkpeS5wdXNoKGlbZV0pO3JldHVybiB5fSh0KSl9ZS5leHBvcnRzPXtuYW1lOnUsYXR0cjpzLmF0dHIsYXR0clJlZ2V4OnMuYXR0clJlZ2V4LGxheW91dEF0dHJpYnV0ZXM6cy5sYXlvdXRBdHRyaWJ1dGVzLHN1cHBseUxheW91dERlZmF1bHRzOnMuc3VwcGx5TGF5b3V0RGVmYXVsdHMsZHJhd0ZyYW1ld29yazpzLmRyYXdGcmFtZXdvcmsscGxvdDpmdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0LHI9YS5nZXRNb2R1bGUodSksbj1vKHQuY2FsY2RhdGEscilbMF07aSh0LFsiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIsIk9FU19lbGVtZW50X2luZGV4X3VpbnQiXSkmJihlLl9oYXNPbmx5TGFyZ2VTcGxvbXMmJmYodCksci5wbG90KHQse30sbikpfSxkcmFnOmZ1bmN0aW9uKHQpe3ZhciBlPXQuY2FsY2RhdGEscj10Ll9mdWxsTGF5b3V0O3IuX2hhc09ubHlMYXJnZVNwbG9tcyYmZih0KTtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGE9ZVtuXVswXS50cmFjZSxpPXIuX3NwbG9tU2NlbmVzW2EudWlkXTsic3Bsb20iPT09YS50eXBlJiZpJiZpLm1hdHJpeCYmaCh0LGEsaSl9fSx1cGRhdGVHcmlkOmYsY2xlYW46ZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsaT17fTtpZihuLl9zcGxvbVNjZW5lcyl7Zm9yKGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIG89dFthXTsic3Bsb20iPT09by50eXBlJiYoaVtvLnVpZF09MSl9Zm9yKGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGw9clthXTtpZighaVtsLnVpZF0pe3ZhciBjPW4uX3NwbG9tU2NlbmVzW2wudWlkXTtjJiZjLmRlc3Ryb3kmJmMuZGVzdHJveSgpLG4uX3NwbG9tU2NlbmVzW2wudWlkXT1udWxsLGRlbGV0ZSBuLl9zcGxvbVNjZW5lc1tsLnVpZF19fX0wPT09T2JqZWN0LmtleXMobi5fc3Bsb21TY2VuZXN8fHt9KS5sZW5ndGgmJmRlbGV0ZSBuLl9zcGxvbVNjZW5lcyxuLl9zcGxvbUdyaWQmJiFlLl9oYXNPbmx5TGFyZ2VTcGxvbXMmJm4uX2hhc09ubHlMYXJnZVNwbG9tcyYmKG4uX3NwbG9tR3JpZC5kZXN0cm95KCksbi5fc3Bsb21HcmlkPW51bGwsZGVsZXRlIG4uX3NwbG9tR3JpZCkscy5jbGVhbih0LGUscixuKX0sdXBkYXRlRng6cy51cGRhdGVGeCx0b1NWRzpzLnRvU1ZHfX0seyIuLi8uLi9saWIvcHJlcGFyZV9yZWdsIjo3MzAsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbiI6Nzc2LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiOjc2OCwiLi4vLi4vcGxvdHMvZ2V0X2RhdGEiOjgwMCwiLi4vLi4vcmVnaXN0cnkiOjg0NiwicmVnbC1saW5lMmQiOjQ5M31dLDEyMTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhpc19pZHMiKSxpPXQoIi4uL3NjYXR0ZXIvY2FsYyIpLmNhbGNNYXJrZXJTaXplLG89dCgiLi4vc2NhdHRlci9jYWxjIikuY2FsY0F4aXNFeHBhbnNpb24scz10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpLGw9dCgiLi4vc2NhdHRlcmdsL2NvbnZlcnQiKS5tYXJrZXJTZWxlY3Rpb24sYz10KCIuLi9zY2F0dGVyZ2wvY29udmVydCIpLm1hcmtlclN0eWxlLHU9dCgiLi9zY2VuZV91cGRhdGUiKSxoPXQoIi4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiKS5CQUROVU0sZj10KCIuLi9zY2F0dGVyZ2wvY29uc3RhbnRzIikuVE9PX01BTllfUE9JTlRTO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLHAsZCxnLHYsbSx5PWUuZGltZW5zaW9ucyx4PWUuX2xlbmd0aCxiPXt9LF89Yi5jZGF0YT1bXSx3PWIuZGF0YT1bXSxrPWUuX3Zpc2libGVEaW1zPVtdO2Z1bmN0aW9uIFQodCxyKXtmb3IodmFyIGE9dC5tYWtlQ2FsY2RhdGEoe3Y6ci52YWx1ZXMsdmNhbGVuZGFyOmUuY2FsZW5kYXJ9LCJ2IiksaT0wO2k8YS5sZW5ndGg7aSsrKWFbaV09YVtpXT09PWg/TmFOOmFbaV07Xy5wdXNoKGEpLHcucHVzaCgibG9nIj09PXQudHlwZT9uLnNpbXBsZU1hcChhLHQuYzJsKTphKX1mb3Iocj0wO3I8eS5sZW5ndGg7cisrKWlmKChkPXlbcl0pLnZpc2libGUpe2lmKGc9YS5nZXRGcm9tSWQodCxlLl9kaWFnW3JdWzBdKSx2PWEuZ2V0RnJvbUlkKHQsZS5fZGlhZ1tyXVsxXSksZyYmdiYmZy50eXBlIT09di50eXBlKXtuLmxvZygiU2tpcHBpbmcgc3Bsb20gZGltZW5zaW9uICIrcisiIHdpdGggY29uZmxpY3RpbmcgYXhpcyB0eXBlcyIpO2NvbnRpbnVlfWc/KFQoZyxkKSx2JiYiY2F0ZWdvcnkiPT09di50eXBlJiYodi5fY2F0ZWdvcmllcz1nLl9jYXRlZ29yaWVzLnNsaWNlKCkpKTpUKHYsZCksay5wdXNoKHIpfWZvcihzKHQsZSksbi5leHRlbmRGbGF0KGIsYyhlKSksbT1fLmxlbmd0aCp4PmY/MiooYi5zaXplQXZnfHxNYXRoLm1heChiLnNpemUsMykpOmkoZSx4KSxwPTA7cDxrLmxlbmd0aDtwKyspZD15W3I9a1twXV0sZz1hLmdldEZyb21JZCh0LGUuX2RpYWdbcl1bMF0pfHx7fSx2PWEuZ2V0RnJvbUlkKHQsZS5fZGlhZ1tyXVsxXSl8fHt9LG8odCxlLGcsdixfW3BdLF9bcF0sbSk7dmFyIE09dSh0LGUpO3JldHVybiBNLm1hdHJpeHx8KE0ubWF0cml4PSEwKSxNLm1hdHJpeE9wdGlvbnM9YixNLnNlbGVjdGVkT3B0aW9ucz1sKGUsZS5zZWxlY3RlZCksTS51bnNlbGVjdGVkT3B0aW9ucz1sKGUsZS51bnNlbGVjdGVkKSxbe3g6ITEseTohMSx0Ont9LHRyYWNlOmV9XX19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsIi4uL3NjYXR0ZXIvY2FsYyI6MTEyMSwiLi4vc2NhdHRlci9jb2xvcnNjYWxlX2NhbGMiOjExMjMsIi4uL3NjYXR0ZXJnbC9jb25zdGFudHMiOjExNzMsIi4uL3NjYXR0ZXJnbC9jb252ZXJ0IjoxMTc0LCIuL3NjZW5lX3VwZGF0ZSI6MTIyNH1dLDEyMTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9hcnJheV9jb250YWluZXJfZGVmYXVsdHMiKSxpPXQoIi4vYXR0cmlidXRlcyIpLG89dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLHM9dCgiLi4vc2NhdHRlci9tYXJrZXJfZGVmYXVsdHMiKSxsPXQoIi4uL3BhcmNvb3Jkcy9tZXJnZV9sZW5ndGgiKSxjPXQoIi4uL3NjYXR0ZXJnbC9oZWxwZXJzIikuaXNPcGVuU3ltYm9sO2Z1bmN0aW9uIHUodCxlKXtmdW5jdGlvbiByKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxpLmRpbWVuc2lvbnMscixhKX1yKCJsYWJlbCIpO3ZhciBhPXIoInZhbHVlcyIpO2EmJmEubGVuZ3RoP3IoInZpc2libGUiKTplLnZpc2libGU9ITEscigiYXhpcy50eXBlIikscigiYXhpcy5tYXRjaGVzIil9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGgpe2Z1bmN0aW9uIGYocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGkscixhKX12YXIgcD1hKHQsZSx7bmFtZToiZGltZW5zaW9ucyIsaGFuZGxlSXRlbURlZmF1bHRzOnV9KSxkPWYoImRpYWdvbmFsLnZpc2libGUiKSxnPWYoInNob3d1cHBlcmhhbGYiKSx2PWYoInNob3dsb3dlcmhhbGYiKTtpZihsKGUscCwidmFsdWVzIikmJihkfHxnfHx2KSl7ZigidGV4dCIpLGYoImhvdmVydGV4dCIpLGYoImhvdmVydGVtcGxhdGUiKSxzKHQsZSxyLGgsZik7dmFyIG09YyhlLm1hcmtlci5zeW1ib2wpLHk9by5pc0J1YmJsZShlKTtmKCJtYXJrZXIubGluZS53aWR0aCIsbXx8eT8xOjApLGZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbz1lLmRpbWVuc2lvbnMscz1vLmxlbmd0aCxsPWUuc2hvd3VwcGVyaGFsZixjPWUuc2hvd2xvd2VyaGFsZix1PWUuZGlhZ29uYWwudmlzaWJsZSxoPW5ldyBBcnJheShzKSxmPW5ldyBBcnJheShzKTtmb3IoYT0wO2E8czthKyspe3ZhciBwPWE/YSsxOiIiO2hbYV09IngiK3AsZlthXT0ieSIrcH12YXIgZD1uKCJ4YXhlcyIsaCksZz1uKCJ5YXhlcyIsZiksdj1lLl9kaWFnPW5ldyBBcnJheShzKTtlLl94YXhlcz17fSxlLl95YXhlcz17fTt2YXIgbT1bXSx5PVtdO2Z1bmN0aW9uIHgodCxuLGEsaSl7aWYodCl7dmFyIG89dC5jaGFyQXQoMCkscz1yLl9zcGxvbUF4ZXNbb107aWYoZVsiXyIrbysiYXhlcyJdW3RdPTEsaS5wdXNoKHQpLCEodCBpbiBzKSl7dmFyIGw9c1t0XT17fTthJiYobC5sYWJlbD1hLmxhYmVsfHwiIixhLnZpc2libGUmJmEuYXhpcyYmKGEuYXhpcy50eXBlJiYobC50eXBlPWEuYXhpcy50eXBlKSxhLmF4aXMubWF0Y2hlcyYmKGwubWF0Y2hlcz1uKSkpfX19dmFyIGI9IXUmJiFjLF89IXUmJiFsO2ZvcihlLl9heGVzRGltPXt9LGE9MDthPHM7YSsrKXt2YXIgdz1vW2FdLGs9MD09PWEsVD1hPT09cy0xLE09ayYmYnx8VCYmXz92b2lkIDA6ZFthXSxBPWsmJl98fFQmJmI/dm9pZCAwOmdbYV07eChNLEEsdyxtKSx4KEEsTSx3LHkpLHZbYV09W00sQV0sZS5fYXhlc0RpbVtNXT1hLGUuX2F4ZXNEaW1bQV09YX1mb3IoYT0wO2E8bS5sZW5ndGg7YSsrKWZvcihpPTA7aTx5Lmxlbmd0aDtpKyspe3ZhciBTPW1bYV0reVtpXTthPmkmJmw/ci5fc3Bsb21TdWJwbG90c1tTXT0xOmE8aSYmYz9yLl9zcGxvbVN1YnBsb3RzW1NdPTE6YSE9PWl8fCF1JiZjJiZsfHwoci5fc3Bsb21TdWJwbG90c1tTXT0xKX0oIWN8fCF1JiZsJiZjKSYmKHIuX3NwbG9tR3JpZERmbHQueHNpZGU9ImJvdHRvbSIsci5fc3Bsb21HcmlkRGZsdC55c2lkZT0ibGVmdCIpfSgwLGUsaCxmKSxuLmNvZXJjZVNlbGVjdGlvbk1hcmtlck9wYWNpdHkoZSxmKX1lbHNlIGUudmlzaWJsZT0hMX19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2FycmF5X2NvbnRhaW5lcl9kZWZhdWx0cyI6NzYxLCIuLi9wYXJjb29yZHMvbWVyZ2VfbGVuZ3RoIjoxMDkxLCIuLi9zY2F0dGVyL21hcmtlcl9kZWZhdWx0cyI6MTEzOSwiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiLi4vc2NhdHRlcmdsL2hlbHBlcnMiOjExNzgsIi4vYXR0cmlidXRlcyI6MTIxNX1dLDEyMTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9zY2F0dGVyL2NvbG9yc2NhbGVfY2FsYyIpLGk9dCgiLi4vc2NhdHRlcmdsL2NvbnZlcnQiKS5tYXJrZXJTdHlsZTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLnRyYWNlLG89dC5fZnVsbExheW91dC5fc3Bsb21TY2VuZXNbci51aWRdO2lmKG8pe2EodCxyKSxuLmV4dGVuZEZsYXQoby5tYXRyaXhPcHRpb25zLGkocikpO3ZhciBzPW4uZXh0ZW5kRmxhdCh7fSxvLm1hdHJpeE9wdGlvbnMsby52aWV3T3B0cyk7by5tYXRyaXgudXBkYXRlKHMsbnVsbCl9fX0seyIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlci9jb2xvcnNjYWxlX2NhbGMiOjExMjMsIi4uL3NjYXR0ZXJnbC9jb252ZXJ0IjoxMTc0fV0sMTIyMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmdldERpbUluZGV4PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUuX2lkLG49e3g6MCx5OjF9W3IuY2hhckF0KDApXSxhPXQuX3Zpc2libGVEaW1zLGk9MDtpPGEubGVuZ3RoO2krKyl7dmFyIG89YVtpXTtpZih0Ll9kaWFnW29dW25dPT09cilyZXR1cm4gaX1yZXR1cm4hMX19LHt9XSwxMjIxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vaGVscGVycyIpLGE9dCgiLi4vc2NhdHRlcmdsL2hvdmVyIikuY2FsY0hvdmVyO2UuZXhwb3J0cz17aG92ZXJQb2ludHM6ZnVuY3Rpb24odCxlLHIpe3ZhciBpPXQuY2RbMF0udHJhY2Usbz10LnNjZW5lLm1hdHJpeE9wdGlvbnMuY2RhdGEscz10LnhhLGw9dC55YSxjPXMuYzJwKGUpLHU9bC5jMnAociksaD10LmRpc3RhbmNlLGY9bi5nZXREaW1JbmRleChpLHMpLHA9bi5nZXREaW1JbmRleChpLGwpO2lmKCExPT09Znx8ITE9PT1wKXJldHVyblt0XTtmb3IodmFyIGQsZyx2PW9bZl0sbT1vW3BdLHk9aCx4PTA7eDx2Lmxlbmd0aDt4Kyspe3ZhciBiPXZbeF0sXz1tW3hdLHc9cy5jMnAoYiktYyxrPWwuYzJwKF8pLXUsVD1NYXRoLnNxcnQodyp3K2sqayk7VDx5JiYoeT1nPVQsZD14KX1yZXR1cm4gdC5pbmRleD1kLHQuZGlzdGFuY2U9eSx0LmR4eT1nLHZvaWQgMD09PWQ/W3RdOlthKHQsdixtLGkpXX19fSx7Ii4uL3NjYXR0ZXJnbC9ob3ZlciI6MTE3OSwiLi9oZWxwZXJzIjoxMjIwfV0sMTIyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9yZWdpc3RyeSIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9ncmlkIik7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic3Bsb20iLGJhc2VQbG90TW9kdWxlOnQoIi4vYmFzZV9wbG90IiksY2F0ZWdvcmllczpbImdsIiwicmVnbCIsImNhcnRlc2lhbiIsInN5bWJvbHMiLCJzaG93TGVnZW5kIiwic2NhdHRlci1saWtlIl0sYXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY29sb3JiYXI6dCgiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiKSxjYWxjOnQoIi4vY2FsYyIpLHBsb3Q6dCgiLi9wbG90IiksaG92ZXJQb2ludHM6dCgiLi9ob3ZlciIpLmhvdmVyUG9pbnRzLHNlbGVjdFBvaW50czp0KCIuL3NlbGVjdCIpLGVkaXRTdHlsZTp0KCIuL2VkaXRfc3R5bGUiKSxtZXRhOnt9fSxuLnJlZ2lzdGVyKGEpfSx7Ii4uLy4uL2NvbXBvbmVudHMvZ3JpZCI6NjM0LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciI6MTEzOCwiLi9hdHRyaWJ1dGVzIjoxMjE1LCIuL2Jhc2VfcGxvdCI6MTIxNiwiLi9jYWxjIjoxMjE3LCIuL2RlZmF1bHRzIjoxMjE4LCIuL2VkaXRfc3R5bGUiOjEyMTksIi4vaG92ZXIiOjEyMjEsIi4vcGxvdCI6MTIyMywiLi9zZWxlY3QiOjEyMjV9XSwxMjIzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInJlZ2wtc3Bsb20iKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIik7ZnVuY3Rpb24gbyh0LGUpe3ZhciByLG8scyxsLGMsdT10Ll9mdWxsTGF5b3V0LGg9dS5fc2l6ZSxmPWUudHJhY2UscD1lLnQsZD11Ll9zcGxvbVNjZW5lc1tmLnVpZF0sZz1kLm1hdHJpeE9wdGlvbnMsdj1nLmNkYXRhLG09dS5fZ2xjYW52YXMuZGF0YSgpWzBdLnJlZ2wseT11LmRyYWdtb2RlO2lmKDAhPT12Lmxlbmd0aCl7Zy5sb3dlcj1mLnNob3d1cHBlcmhhbGYsZy51cHBlcj1mLnNob3dsb3dlcmhhbGYsZy5kaWFnb25hbD1mLmRpYWdvbmFsLnZpc2libGU7dmFyIHg9Zi5fdmlzaWJsZURpbXMsYj12Lmxlbmd0aCxfPWQudmlld09wdHM9e307Zm9yKF8ucmFuZ2VzPW5ldyBBcnJheShiKSxfLmRvbWFpbnM9bmV3IEFycmF5KGIpLGM9MDtjPHgubGVuZ3RoO2MrKyl7cz14W2NdO3ZhciB3PV8ucmFuZ2VzW2NdPW5ldyBBcnJheSg0KSxrPV8uZG9tYWluc1tjXT1uZXcgQXJyYXkoNCk7KHI9aS5nZXRGcm9tSWQodCxmLl9kaWFnW3NdWzBdKSkmJih3WzBdPXIuX3JsWzBdLHdbMl09ci5fcmxbMV0sa1swXT1yLmRvbWFpblswXSxrWzJdPXIuZG9tYWluWzFdKSwobz1pLmdldEZyb21JZCh0LGYuX2RpYWdbc11bMV0pKSYmKHdbMV09by5fcmxbMF0sd1szXT1vLl9ybFsxXSxrWzFdPW8uZG9tYWluWzBdLGtbM109by5kb21haW5bMV0pfV8udmlld3BvcnQ9W2gubCxoLmIsaC53K2gubCxoLmgraC5iXSwhMD09PWQubWF0cml4JiYoZC5tYXRyaXg9bihtKSk7dmFyIFQ9dS5jbGlja21vZGUuaW5kZXhPZigic2VsZWN0Iik+LTEsTT0hMDtpZigibGFzc28iPT09eXx8InNlbGVjdCI9PT15fHwhIWYuc2VsZWN0ZWRwb2ludHN8fFQpe3ZhciBBPWYuX2xlbmd0aDtpZihmLnNlbGVjdGVkcG9pbnRzKXtkLnNlbGVjdEJhdGNoPWYuc2VsZWN0ZWRwb2ludHM7dmFyIFM9Zi5zZWxlY3RlZHBvaW50cyxFPXt9O2ZvcihzPTA7czxTLmxlbmd0aDtzKyspRVtTW3NdXT0hMDt2YXIgTD1bXTtmb3Iocz0wO3M8QTtzKyspRVtzXXx8TC5wdXNoKHMpO2QudW5zZWxlY3RCYXRjaD1MfXZhciBDPXAueHB4PW5ldyBBcnJheShiKSxQPXAueXB4PW5ldyBBcnJheShiKTtmb3IoYz0wO2M8eC5sZW5ndGg7YysrKXtpZihzPXhbY10scj1pLmdldEZyb21JZCh0LGYuX2RpYWdbc11bMF0pKWZvcihDW2NdPW5ldyBBcnJheShBKSxsPTA7bDxBO2wrKylDW2NdW2xdPXIuYzJwKHZbY11bbF0pO2lmKG89aS5nZXRGcm9tSWQodCxmLl9kaWFnW3NdWzFdKSlmb3IoUFtjXT1uZXcgQXJyYXkoQSksbD0wO2w8QTtsKyspUFtjXVtsXT1vLmMycCh2W2NdW2xdKX1pZihkLnNlbGVjdEJhdGNoLmxlbmd0aHx8ZC51bnNlbGVjdEJhdGNoLmxlbmd0aCl7dmFyIE89YS5leHRlbmRGbGF0KHt9LGcsZC51bnNlbGVjdGVkT3B0aW9ucyxfKSx6PWEuZXh0ZW5kRmxhdCh7fSxnLGQuc2VsZWN0ZWRPcHRpb25zLF8pO2QubWF0cml4LnVwZGF0ZShPLHopLE09ITF9fWVsc2UgcC54cHg9cC55cHg9bnVsbDtpZihNKXt2YXIgST1hLmV4dGVuZEZsYXQoe30sZyxfKTtkLm1hdHJpeC51cGRhdGUoSSxudWxsKX19fWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7aWYoci5sZW5ndGgpZm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspbyh0LHJbbl1bMF0pfX0seyIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4aXNfaWRzIjo3NjgsInJlZ2wtc3Bsb20iOjUwMH1dLDEyMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fZnVsbExheW91dCxhPWUudWlkLGk9ci5fc3Bsb21TY2VuZXM7aXx8KGk9ci5fc3Bsb21TY2VuZXM9e30pO3ZhciBvPXtkaXJ0eTohMH0scz1pW2UudWlkXTtyZXR1cm4gc3x8KChzPWlbYV09bi5leHRlbmRGbGF0KHt9LG8se21hdHJpeDohMSxzZWxlY3RCYXRjaDpbXSx1bnNlbGVjdEJhdGNoOltdfSkpLmRyYXc9ZnVuY3Rpb24oKXtzLm1hdHJpeCYmcy5tYXRyaXguZHJhdyYmKHMuc2VsZWN0QmF0Y2gubGVuZ3RofHxzLnVuc2VsZWN0QmF0Y2gubGVuZ3RoP3MubWF0cml4LmRyYXcocy51bnNlbGVjdEJhdGNoLHMuc2VsZWN0QmF0Y2gpOnMubWF0cml4LmRyYXcoKSkscy5kaXJ0eT0hMX0scy5kZXN0cm95PWZ1bmN0aW9uKCl7cy5tYXRyaXgmJnMubWF0cml4LmRlc3Ryb3kmJnMubWF0cml4LmRlc3Ryb3koKSxzLm1hdHJpeE9wdGlvbnM9bnVsbCxzLnNlbGVjdEJhdGNoPW51bGwscy51bnNlbGVjdEJhdGNoPW51bGwscz1udWxsfSkscy5kaXJ0eXx8bi5leHRlbmRGbGF0KHMsbyksc319LHsiLi4vLi4vbGliIjo3MTd9XSwxMjI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vc2NhdHRlci9zdWJ0eXBlcyIpLGk9dCgiLi9oZWxwZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5jZCxvPXJbMF0udHJhY2Uscz1yWzBdLnQsbD10LnNjZW5lLGM9bC5tYXRyaXhPcHRpb25zLmNkYXRhLHU9dC54YXhpcyxoPXQueWF4aXMsZj1bXTtpZighbClyZXR1cm4gZjt2YXIgcD0hYS5oYXNNYXJrZXJzKG8pJiYhYS5oYXNUZXh0KG8pO2lmKCEwIT09by52aXNpYmxlfHxwKXJldHVybiBmO3ZhciBkPWkuZ2V0RGltSW5kZXgobyx1KSxnPWkuZ2V0RGltSW5kZXgobyxoKTtpZighMT09PWR8fCExPT09ZylyZXR1cm4gZjt2YXIgdj1zLnhweFtkXSxtPXMueXB4W2ddLHk9Y1tkXSx4PWNbZ10sYj1bXSxfPVtdO2lmKCExIT09ZSYmIWUuZGVnZW5lcmF0ZSlmb3IodmFyIHc9MDt3PHkubGVuZ3RoO3crKyllLmNvbnRhaW5zKFt2W3ddLG1bd11dLG51bGwsdyx0KT8oYi5wdXNoKHcpLGYucHVzaCh7cG9pbnROdW1iZXI6dyx4Onlbd10seTp4W3ddfSkpOl8ucHVzaCh3KTt2YXIgaz1sLm1hdHJpeE9wdGlvbnM7cmV0dXJuIGIubGVuZ3RofHxfLmxlbmd0aD9sLnNlbGVjdEJhdGNoLmxlbmd0aHx8bC51bnNlbGVjdEJhdGNoLmxlbmd0aHx8bC5tYXRyaXgudXBkYXRlKGwudW5zZWxlY3RlZE9wdGlvbnMsbi5leHRlbmRGbGF0KHt9LGssbC5zZWxlY3RlZE9wdGlvbnMsbC52aWV3T3B0cykpOmwubWF0cml4LnVwZGF0ZShrLG51bGwpLGwuc2VsZWN0QmF0Y2g9YixsLnVuc2VsZWN0QmF0Y2g9XyxmfX0seyIuLi8uLi9saWIiOjcxNywiLi4vc2NhdHRlci9zdWJ0eXBlcyI6MTE0NCwiLi9oZWxwZXJzIjoxMjIwfV0sMTIyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLmhvdmVydGVtcGxhdGVBdHRycyxpPXQoIi4uL21lc2gzZC9hdHRyaWJ1dGVzIiksbz10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxsPXt4Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYytjbGVhckF4aXNUeXBlcyJ9LHk6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjK2NsZWFyQXhpc1R5cGVzIn0sejp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMrY2xlYXJBeGlzVHlwZXMifSx1Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHY6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sdzp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSxzdGFydHM6e3g6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0seTp7dmFsVHlwZToiZGF0YV9hcnJheSIsZWRpdFR5cGU6ImNhbGMifSx6Ont2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn0sbWF4ZGlzcGxheWVkOnt2YWxUeXBlOiJpbnRlZ2VyIixtaW46MCxkZmx0OjFlMyxlZGl0VHlwZToiY2FsYyJ9LHNpemVyZWY6e3ZhbFR5cGU6Im51bWJlciIsZWRpdFR5cGU6ImNhbGMiLG1pbjowLGRmbHQ6MX0sdGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGVkaXRUeXBlOiJjYWxjIn0saG92ZXJ0ZXh0Ont2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxob3ZlcnRlbXBsYXRlOmEoe2VkaXRUeXBlOiJjYWxjIn0se2tleXM6WyJ0dWJleCIsInR1YmV5IiwidHViZXoiLCJ0dWJldSIsInR1YmV2IiwidHViZXciLCJub3JtIiwiZGl2ZXJnZW5jZSJdfSksc2hvd2xlZ2VuZDpzKHt9LG8uc2hvd2xlZ2VuZCx7ZGZsdDohMX0pfTtzKGwsbigiIix7Y29sb3JBdHRyOiJ1L3YvdyBub3JtIixzaG93U2NhbGVEZmx0OiEwLGVkaXRUeXBlT3ZlcnJpZGU6ImNhbGMifSkpO1sib3BhY2l0eSIsImxpZ2h0cG9zaXRpb24iLCJsaWdodGluZyJdLmZvckVhY2goZnVuY3Rpb24odCl7bFt0XT1pW3RdfSksbC5ob3ZlcmluZm89cyh7fSxvLmhvdmVyaW5mbyx7ZWRpdFR5cGU6ImNhbGMiLGZsYWdzOlsieCIsInkiLCJ6IiwidSIsInYiLCJ3Iiwibm9ybSIsImRpdmVyZ2VuY2UiLCJ0ZXh0IiwibmFtZSJdLGRmbHQ6IngreSt6K25vcm0rdGV4dCtuYW1lIn0pLGwudHJhbnNmb3Jtcz12b2lkIDAsZS5leHBvcnRzPWx9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIjo3NjIsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vbWVzaDNkL2F0dHJpYnV0ZXMiOjEwNjF9XSwxMjI3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiKTtmdW5jdGlvbiBpKHQpe3ZhciBlLHIsYSxpLHMsbCxjLHUsaCxmLHAsZCxnPXQuX3gsdj10Ll95LG09dC5feix5PXQuX2xlbix4PS0xLzAsYj0xLzAsXz0tMS8wLHc9MS8wLGs9LTEvMCxUPTEvMCxNPSIiO2Zvcih5JiYoYz1nWzBdLGg9dlswXSxwPW1bMF0pLHk+MSYmKHU9Z1t5LTFdLGY9dlt5LTFdLGQ9bVt5LTFdKSxlPTA7ZTx5O2UrKyl4PU1hdGgubWF4KHgsZ1tlXSksYj1NYXRoLm1pbihiLGdbZV0pLF89TWF0aC5tYXgoXyx2W2VdKSx3PU1hdGgubWluKHcsdltlXSksaz1NYXRoLm1heChrLG1bZV0pLFQ9TWF0aC5taW4oVCxtW2VdKSxpfHxnW2VdPT09Y3x8KGk9ITAsTSs9IngiKSxzfHx2W2VdPT09aHx8KHM9ITAsTSs9InkiKSxsfHxtW2VdPT09cHx8KGw9ITAsTSs9InoiKTtpfHwoTSs9IngiKSxzfHwoTSs9InkiKSxsfHwoTSs9InoiKTt2YXIgQT1vKHQuX3gpLFM9byh0Ll95KSxFPW8odC5feik7TT0oTT0oTT1NLnJlcGxhY2UoIngiLChjPnU/Ii0iOiIrIikrIngiKSkucmVwbGFjZSgieSIsKGg+Zj8iLSI6IisiKSsieSIpKS5yZXBsYWNlKCJ6IiwocD5kPyItIjoiKyIpKyJ6Iik7dmFyIEw9ZnVuY3Rpb24oKXt5PTAsQT1bXSxTPVtdLEU9W119OygheXx8eTxBLmxlbmd0aCpTLmxlbmd0aCpFLmxlbmd0aCkmJkwoKTt2YXIgQz1mdW5jdGlvbih0KXtyZXR1cm4ieCI9PT10P2c6InkiPT09dD92Om19LFA9ZnVuY3Rpb24odCl7cmV0dXJuIngiPT09dD9BOiJ5Ij09PXQ/UzpFfSxPPWZ1bmN0aW9uKHQpe3JldHVybiB0W3ktMV08dFswXT8tMToxfSx6PUMoTVsxXSksST1DKE1bM10pLEQ9QyhNWzVdKSxSPVAoTVsxXSkubGVuZ3RoLEY9UChNWzNdKS5sZW5ndGgsQj1QKE1bNV0pLmxlbmd0aCxOPSExLGo9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBSKihGKnQrZSkrcn0sVj1PKEMoTVsxXSkpLFU9TyhDKE1bM10pKSxxPU8oQyhNWzVdKSk7Zm9yKGU9MDtlPEItMTtlKyspe2ZvcihyPTA7cjxGLTE7cisrKXtmb3IoYT0wO2E8Ui0xO2ErKyl7dmFyIEg9aihlLHIsYSksRz1qKGUscixhKzEpLFk9aihlLHIrMSxhKSxXPWooZSsxLHIsYSk7aWYoeltIXSpWPHpbR10qViYmSVtIXSpVPElbWV0qVSYmRFtIXSpxPERbV10qcXx8KE49ITApLE4pYnJlYWt9aWYoTilicmVha31pZihOKWJyZWFrfXJldHVybiBOJiYobi53YXJuKCJFbmNvdW50ZXJlZCBhcmJpdHJhcnkgY29vcmRpbmF0ZXMhIFVuYWJsZSB0byBpbnB1dCBkYXRhIGdyaWQuIiksTCgpKSx7eE1pbjpiLHlNaW46dyx6TWluOlQseE1heDp4LHlNYXg6Xyx6TWF4OmssWHM6QSxZczpTLFpzOkUsbGVuOnksZmlsbDpNfX1mdW5jdGlvbiBvKHQpe3JldHVybiBuLmRpc3RpbmN0VmFscyh0KS52YWxzfWZ1bmN0aW9uIHModCxlKXtpZih2b2lkIDA9PT1lJiYoZT10Lmxlbmd0aCksbi5pc1R5cGVkQXJyYXkodCkpcmV0dXJuIHQuc3ViYXJyYXkoMCxlKTtmb3IodmFyIHI9W10sYT0wO2E8ZTthKyspclthXT0rdFthXTtyZXR1cm4gcn1lLmV4cG9ydHM9e2NhbGM6ZnVuY3Rpb24odCxlKXtlLl9sZW49TWF0aC5taW4oZS51Lmxlbmd0aCxlLnYubGVuZ3RoLGUudy5sZW5ndGgsZS54Lmxlbmd0aCxlLnkubGVuZ3RoLGUuei5sZW5ndGgpLGUuX3U9cyhlLnUsZS5fbGVuKSxlLl92PXMoZS52LGUuX2xlbiksZS5fdz1zKGUudyxlLl9sZW4pLGUuX3g9cyhlLngsZS5fbGVuKSxlLl95PXMoZS55LGUuX2xlbiksZS5fej1zKGUueixlLl9sZW4pO3ZhciByPWkoZSk7ZS5fZ3JpZEZpbGw9ci5maWxsLGUuX1hzPXIuWHMsZS5fWXM9ci5ZcyxlLl9acz1yLlpzLGUuX2xlbj1yLmxlbjt2YXIgbixvLGwsYz0wO2Uuc3RhcnRzJiYobj1zKGUuc3RhcnRzLnh8fFtdKSxvPXMoZS5zdGFydHMueXx8W10pLGw9cyhlLnN0YXJ0cy56fHxbXSksYz1NYXRoLm1pbihuLmxlbmd0aCxvLmxlbmd0aCxsLmxlbmd0aCkpLGUuX3N0YXJ0c1g9bnx8W10sZS5fc3RhcnRzWT1vfHxbXSxlLl9zdGFydHNaPWx8fFtdO3ZhciB1LGg9MCxmPTEvMDtmb3IodT0wO3U8ZS5fbGVuO3UrKyl7dmFyIHA9ZS5fdVt1XSxkPWUuX3ZbdV0sZz1lLl93W3VdLHY9TWF0aC5zcXJ0KHAqcCtkKmQrZypnKTtoPU1hdGgubWF4KGgsdiksZj1NYXRoLm1pbihmLHYpfWZvcihhKHQsZSx7dmFsczpbZixoXSxjb250YWluZXJTdHI6IiIsY0xldHRlcjoiYyJ9KSx1PTA7dTxjO3UrKyl7dmFyIG09blt1XTtyLnhNYXg9TWF0aC5tYXgoci54TWF4LG0pLHIueE1pbj1NYXRoLm1pbihyLnhNaW4sbSk7dmFyIHk9b1t1XTtyLnlNYXg9TWF0aC5tYXgoci55TWF4LHkpLHIueU1pbj1NYXRoLm1pbihyLnlNaW4seSk7dmFyIHg9bFt1XTtyLnpNYXg9TWF0aC5tYXgoci56TWF4LHgpLHIuek1pbj1NYXRoLm1pbihyLnpNaW4seCl9ZS5fc2xlbj1jLGUuX25vcm1NYXg9aCxlLl94Ym5kcz1bci54TWluLHIueE1heF0sZS5feWJuZHM9W3IueU1pbixyLnlNYXhdLGUuX3pibmRzPVtyLnpNaW4sci56TWF4XX0sZmlsdGVyOnMscHJvY2Vzc0dyaWQ6aX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2NhbGMiOjYwMCwiLi4vLi4vbGliIjo3MTd9XSwxMjI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsLXN0cmVhbXR1YmUzZCIpLGE9bi5jcmVhdGVUdWJlTWVzaCxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciIpLnBhcnNlQ29sb3JTY2FsZSxzPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLmV4dHJhY3RPcHRzLGw9dCgiLi4vLi4vcGxvdHMvZ2wzZC96aXAzIiksYz17eGF4aXM6MCx5YXhpczoxLHpheGlzOjJ9O2Z1bmN0aW9uIHUodCxlKXt0aGlzLnNjZW5lPXQsdGhpcy51aWQ9ZSx0aGlzLm1lc2g9bnVsbCx0aGlzLmRhdGE9bnVsbH12YXIgaD11LnByb3RvdHlwZTtmdW5jdGlvbiBmKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBlPjI/dC5zbGljZSgxLGUtMSk6Mj09PWU/Wyh0WzBdK3RbMV0pLzJdOnR9ZnVuY3Rpb24gcCh0KXt2YXIgZT10Lmxlbmd0aDtyZXR1cm4gMT09PWU/Wy41LC41XTpbdFsxXS10WzBdLHRbZS0xXS10W2UtMl1dfWZ1bmN0aW9uIGQodCxlKXt2YXIgcj10LmZ1bGxTY2VuZUxheW91dCxhPXQuZGF0YVNjYWxlLHU9ZS5fbGVuLGg9e307ZnVuY3Rpb24gZCh0LGUpe3ZhciBuPXJbZV0sbz1hW2NbZV1dO3JldHVybiBpLnNpbXBsZU1hcCh0LGZ1bmN0aW9uKHQpe3JldHVybiBuLmQybCh0KSpvfSl9aWYoaC52ZWN0b3JzPWwoZChlLl91LCJ4YXhpcyIpLGQoZS5fdiwieWF4aXMiKSxkKGUuX3csInpheGlzIiksdSksIXUpcmV0dXJue3Bvc2l0aW9uczpbXSxjZWxsczpbXX07dmFyIGc9ZChlLl9YcywieGF4aXMiKSx2PWQoZS5fWXMsInlheGlzIiksbT1kKGUuX1pzLCJ6YXhpcyIpO2lmKGgubWVzaGdyaWQ9W2csdixtXSxoLmdyaWRGaWxsPWUuX2dyaWRGaWxsLGUuX3NsZW4paC5zdGFydGluZ1Bvc2l0aW9ucz1sKGQoZS5fc3RhcnRzWCwieGF4aXMiKSxkKGUuX3N0YXJ0c1ksInlheGlzIiksZChlLl9zdGFydHNaLCJ6YXhpcyIpKTtlbHNle2Zvcih2YXIgeT12WzBdLHg9ZihnKSxiPWYobSksXz1uZXcgQXJyYXkoeC5sZW5ndGgqYi5sZW5ndGgpLHc9MCxrPTA7azx4Lmxlbmd0aDtrKyspZm9yKHZhciBUPTA7VDxiLmxlbmd0aDtUKyspX1t3KytdPVt4W2tdLHksYltUXV07aC5zdGFydGluZ1Bvc2l0aW9ucz1ffWguY29sb3JtYXA9byhlKSxoLnR1YmVTaXplPWUuc2l6ZXJlZixoLm1heExlbmd0aD1lLm1heGRpc3BsYXllZDt2YXIgTT1kKGUuX3hibmRzLCJ4YXhpcyIpLEE9ZChlLl95Ym5kcywieWF4aXMiKSxTPWQoZS5femJuZHMsInpheGlzIiksRT1wKGcpLEw9cCh2KSxDPXAobSksUD1bW01bMF0tRVswXSxBWzBdLUxbMF0sU1swXS1DWzBdXSxbTVsxXStFWzFdLEFbMV0rTFsxXSxTWzFdK0NbMV1dXSxPPW4oaCxQKSx6PXMoZSk7Ty52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHM9W3oubWluL2UuX25vcm1NYXgsei5tYXgvZS5fbm9ybU1heF07dmFyIEk9ZS5saWdodHBvc2l0aW9uO3JldHVybiBPLmxpZ2h0UG9zaXRpb249W0kueCxJLnksSS56XSxPLmFtYmllbnQ9ZS5saWdodGluZy5hbWJpZW50LE8uZGlmZnVzZT1lLmxpZ2h0aW5nLmRpZmZ1c2UsTy5zcGVjdWxhcj1lLmxpZ2h0aW5nLnNwZWN1bGFyLE8ucm91Z2huZXNzPWUubGlnaHRpbmcucm91Z2huZXNzLE8uZnJlc25lbD1lLmxpZ2h0aW5nLmZyZXNuZWwsTy5vcGFjaXR5PWUub3BhY2l0eSxlLl9wYWQ9Ty50dWJlU2NhbGUqZS5zaXplcmVmKjIsT31oLmhhbmRsZVBpY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zY2VuZS5mdWxsU2NlbmVMYXlvdXQscj10aGlzLnNjZW5lLmRhdGFTY2FsZTtmdW5jdGlvbiBuKHQsbil7dmFyIGE9ZVtuXSxpPXJbY1tuXV07cmV0dXJuIGEubDJjKHQpL2l9aWYodC5vYmplY3Q9PT10aGlzLm1lc2gpe3ZhciBhPXQuZGF0YS5wb3NpdGlvbixpPXQuZGF0YS52ZWxvY2l0eTtyZXR1cm4gdC50cmFjZUNvb3JkaW5hdGU9W24oYVswXSwieGF4aXMiKSxuKGFbMV0sInlheGlzIiksbihhWzJdLCJ6YXhpcyIpLG4oaVswXSwieGF4aXMiKSxuKGlbMV0sInlheGlzIiksbihpWzJdLCJ6YXhpcyIpLHQuZGF0YS5pbnRlbnNpdHkqdGhpcy5kYXRhLl9ub3JtTWF4LHQuZGF0YS5kaXZlcmdlbmNlXSx0LnRleHRMYWJlbD10aGlzLmRhdGEuaG92ZXJ0ZXh0fHx0aGlzLmRhdGEudGV4dCwhMH19LGgudXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuZGF0YT10O3ZhciBlPWQodGhpcy5zY2VuZSx0KTt0aGlzLm1lc2gudXBkYXRlKGUpfSxoLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnNjZW5lLmdscGxvdC5yZW1vdmUodGhpcy5tZXNoKSx0aGlzLm1lc2guZGlzcG9zZSgpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmdscGxvdC5nbCxuPWQodCxlKSxpPWEocixuKSxvPW5ldyB1KHQsZS51aWQpO3JldHVybiBvLm1lc2g9aSxvLmRhdGE9ZSxpLl90cmFjZT1vLHQuZ2xwbG90LmFkZChpKSxvfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9nbF9mb3JtYXRfY29sb3IiOjcxNCwiLi4vLi4vcGxvdHMvZ2wzZC96aXAzIjo4MTYsImdsLXN0cmVhbXR1YmUzZCI6MzE1fV0sMTIyOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyIpLGk9dCgiLi9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8pe2Z1bmN0aW9uIHMocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLGkscixhKX12YXIgbD1zKCJ1IiksYz1zKCJ2IiksdT1zKCJ3IiksaD1zKCJ4IiksZj1zKCJ5IikscD1zKCJ6Iik7bCYmbC5sZW5ndGgmJmMmJmMubGVuZ3RoJiZ1JiZ1Lmxlbmd0aCYmaCYmaC5sZW5ndGgmJmYmJmYubGVuZ3RoJiZwJiZwLmxlbmd0aD8ocygic3RhcnRzLngiKSxzKCJzdGFydHMueSIpLHMoInN0YXJ0cy56IikscygibWF4ZGlzcGxheWVkIikscygic2l6ZXJlZiIpLHMoImxpZ2h0aW5nLmFtYmllbnQiKSxzKCJsaWdodGluZy5kaWZmdXNlIikscygibGlnaHRpbmcuc3BlY3VsYXIiKSxzKCJsaWdodGluZy5yb3VnaG5lc3MiKSxzKCJsaWdodGluZy5mcmVzbmVsIikscygibGlnaHRwb3NpdGlvbi54IikscygibGlnaHRwb3NpdGlvbi55IikscygibGlnaHRwb3NpdGlvbi56IiksYSh0LGUsbyxzLHtwcmVmaXg6IiIsY0xldHRlcjoiYyJ9KSxzKCJ0ZXh0IikscygiaG92ZXJ0ZXh0IikscygiaG92ZXJ0ZW1wbGF0ZSIpLGUuX2xlbmd0aD1udWxsKTplLnZpc2libGU9ITF9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyI6NjAyLCIuLi8uLi9saWIiOjcxNywiLi9hdHRyaWJ1dGVzIjoxMjI2fV0sMTIzMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJzdHJlYW10dWJlIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9nbDNkIiksY2F0ZWdvcmllczpbImdsM2QiLCJzaG93TGVnZW5kIl0sYXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY29sb3JiYXI6e21pbjoiY21pbiIsbWF4OiJjbWF4In0sY2FsYzp0KCIuL2NhbGMiKS5jYWxjLHBsb3Q6dCgiLi9jb252ZXJ0IiksZXZlbnREYXRhOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudHViZXg9dC54LHQudHViZXk9dC55LHQudHViZXo9dC56LHQudHViZXU9ZS50cmFjZUNvb3JkaW5hdGVbM10sdC50dWJldj1lLnRyYWNlQ29vcmRpbmF0ZVs0XSx0LnR1YmV3PWUudHJhY2VDb29yZGluYXRlWzVdLHQubm9ybT1lLnRyYWNlQ29vcmRpbmF0ZVs2XSx0LmRpdmVyZ2VuY2U9ZS50cmFjZUNvb3JkaW5hdGVbN10sZGVsZXRlIHQueCxkZWxldGUgdC55LGRlbGV0ZSB0LnosdH0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvZ2wzZCI6ODA1LCIuL2F0dHJpYnV0ZXMiOjEyMjYsIi4vY2FsYyI6MTIyNywiLi9jb252ZXJ0IjoxMjI4LCIuL2RlZmF1bHRzIjoxMjI5fV0sMTIzMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikuaG92ZXJ0ZW1wbGF0ZUF0dHJzLGk9dCgiLi4vLi4vcGxvdHMvdGVtcGxhdGVfYXR0cmlidXRlcyIpLnRleHR0ZW1wbGF0ZUF0dHJzLG89dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxzPXQoIi4uLy4uL3Bsb3RzL2RvbWFpbiIpLmF0dHJpYnV0ZXMsbD10KCIuLi9waWUvYXR0cmlidXRlcyIpLGM9dCgiLi9jb25zdGFudHMiKSx1PXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0O2UuZXhwb3J0cz17bGFiZWxzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LHBhcmVudHM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sdmFsdWVzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixlZGl0VHlwZToiY2FsYyJ9LGJyYW5jaHZhbHVlczp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsicmVtYWluZGVyIiwidG90YWwiXSxkZmx0OiJyZW1haW5kZXIiLGVkaXRUeXBlOiJjYWxjIn0sY291bnQ6e3ZhbFR5cGU6ImZsYWdsaXN0IixmbGFnczpbImJyYW5jaGVzIiwibGVhdmVzIl0sZGZsdDoibGVhdmVzIixlZGl0VHlwZToiY2FsYyJ9LGxldmVsOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJwbG90IixhbmltOiEwfSxtYXhkZXB0aDp7dmFsVHlwZToiaW50ZWdlciIsZWRpdFR5cGU6InBsb3QiLGRmbHQ6LTF9LG1hcmtlcjp1KHtjb2xvcnM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGVkaXRUeXBlOiJjYWxjIn0sbGluZTp7Y29sb3I6dSh7fSxsLm1hcmtlci5saW5lLmNvbG9yLHtkZmx0Om51bGx9KSx3aWR0aDp1KHt9LGwubWFya2VyLmxpbmUud2lkdGgse2RmbHQ6MX0pLGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSxvKCJtYXJrZXIiLHtjb2xvckF0dHI6ImNvbG9ycyIsYW5pbTohMX0pKSxsZWFmOntvcGFjaXR5Ont2YWxUeXBlOiJudW1iZXIiLGVkaXRUeXBlOiJzdHlsZSIsbWluOjAsbWF4OjF9LGVkaXRUeXBlOiJwbG90In0sdGV4dDpsLnRleHQsdGV4dGluZm86e3ZhbFR5cGU6ImZsYWdsaXN0IixmbGFnczpbImxhYmVsIiwidGV4dCIsInZhbHVlIiwiY3VycmVudCBwYXRoIiwicGVyY2VudCByb290IiwicGVyY2VudCBlbnRyeSIsInBlcmNlbnQgcGFyZW50Il0sZXh0cmFzOlsibm9uZSJdLGVkaXRUeXBlOiJwbG90In0sdGV4dHRlbXBsYXRlOmkoe2VkaXRUeXBlOiJwbG90In0se2tleXM6Yy5ldmVudERhdGFLZXlzLmNvbmNhdChbImxhYmVsIiwidmFsdWUiXSl9KSxob3ZlcnRleHQ6bC5ob3ZlcnRleHQsaG92ZXJpbmZvOnUoe30sbi5ob3ZlcmluZm8se2ZsYWdzOlsibGFiZWwiLCJ0ZXh0IiwidmFsdWUiLCJuYW1lIiwiY3VycmVudCBwYXRoIiwicGVyY2VudCByb290IiwicGVyY2VudCBlbnRyeSIsInBlcmNlbnQgcGFyZW50Il0sZGZsdDoibGFiZWwrdGV4dCt2YWx1ZStuYW1lIn0pLGhvdmVydGVtcGxhdGU6YSh7fSx7a2V5czpjLmV2ZW50RGF0YUtleXN9KSx0ZXh0Zm9udDpsLnRleHRmb250LGluc2lkZXRleHRvcmllbnRhdGlvbjpsLmluc2lkZXRleHRvcmllbnRhdGlvbixpbnNpZGV0ZXh0Zm9udDpsLmluc2lkZXRleHRmb250LG91dHNpZGV0ZXh0Zm9udDp1KHt9LGwub3V0c2lkZXRleHRmb250LHt9KSxkb21haW46cyh7bmFtZToic3VuYnVyc3QiLHRyYWNlOiEwLGVkaXRUeXBlOiJjYWxjIn0pfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vcGllL2F0dHJpYnV0ZXMiOjEwOTQsIi4vY29uc3RhbnRzIjoxMjM0fV0sMTIzMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9wbG90cyIpO3IubmFtZT0ic3VuYnVyc3QiLHIucGxvdD1mdW5jdGlvbih0LGUsYSxpKXtuLnBsb3RCYXNlUGxvdChyLm5hbWUsdCxlLGEsaSl9LHIuY2xlYW49ZnVuY3Rpb24odCxlLGEsaSl7bi5jbGVhbkJhc2VQbG90KHIubmFtZSx0LGUsYSxpKX19LHsiLi4vLi4vcGxvdHMvcGxvdHMiOjgyNn1dLDEyMzM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMtaGllcmFyY2h5IiksYT10KCJmYXN0LWlzbnVtZXJpYyIpLGk9dCgiLi4vLi4vbGliIiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKS5tYWtlQ29sb3JTY2FsZUZ1bmNGcm9tVHJhY2Uscz10KCIuLi9waWUvY2FsYyIpLm1ha2VQdWxsQ29sb3JGbixsPXQoIi4uL3BpZS9jYWxjIikuZ2VuZXJhdGVFeHRlbmRlZENvbG9ycyxjPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLmNhbGMsdT10KCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQUxNT1NUX0VRVUFMLGg9e30sZj17fTtyLmNhbGM9ZnVuY3Rpb24odCxlKXt2YXIgcixsLGgsZixwLGQsZz10Ll9mdWxsTGF5b3V0LHY9ZS5pZHMsbT1pLmlzQXJyYXlPclR5cGVkQXJyYXkodikseT1lLmxhYmVscyx4PWUucGFyZW50cyxiPWUudmFsdWVzLF89aS5pc0FycmF5T3JUeXBlZEFycmF5KGIpLHc9W10saz17fSxUPXt9LE09ZnVuY3Rpb24odCl7cmV0dXJuIHR8fCJudW1iZXIiPT10eXBlb2YgdH0sQT1mdW5jdGlvbih0KXtyZXR1cm4hX3x8YShiW3RdKSYmYlt0XT49MH07bT8ocj1NYXRoLm1pbih2Lmxlbmd0aCx4Lmxlbmd0aCksbD1mdW5jdGlvbih0KXtyZXR1cm4gTSh2W3RdKSYmQSh0KX0saD1mdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHZbdF0pfSk6KHI9TWF0aC5taW4oeS5sZW5ndGgseC5sZW5ndGgpLGw9ZnVuY3Rpb24odCl7cmV0dXJuIE0oeVt0XSkmJkEodCl9LGg9ZnVuY3Rpb24odCl7cmV0dXJuIFN0cmluZyh5W3RdKX0pLF8mJihyPU1hdGgubWluKHIsYi5sZW5ndGgpKTtmb3IodmFyIFM9MDtTPHI7UysrKWlmKGwoUykpe3ZhciBFPWgoUyksTD1NKHhbU10pP1N0cmluZyh4W1NdKToiIixDPXtpOlMsaWQ6RSxwaWQ6TCxsYWJlbDpNKHlbU10pP1N0cmluZyh5W1NdKToiIn07XyYmKEMudj0rYltTXSksdy5wdXNoKEMpLHA9RSxrW2Y9TF0/a1tmXS5wdXNoKHApOmtbZl09W3BdLFRbcF09MX1pZihrWyIiXSl7aWYoa1siIl0ubGVuZ3RoPjEpe2Zvcih2YXIgUD1pLnJhbmRzdHIoKSxPPTA7Tzx3Lmxlbmd0aDtPKyspIiI9PT13W09dLnBpZCYmKHdbT10ucGlkPVApO3cudW5zaGlmdCh7aGFzTXVsdGlwbGVSb290czohMCxpZDpQLHBpZDoiIixsYWJlbDoiIn0pfX1lbHNle3ZhciB6LEk9W107Zm9yKHogaW4gaylUW3pdfHxJLnB1c2goeik7aWYoMSE9PUkubGVuZ3RoKXJldHVybiBpLndhcm4oIk11bHRpcGxlIGltcGxpZWQgcm9vdHMsIGNhbm5vdCBidWlsZCAiK2UudHlwZSsiIGhpZXJhcmNoeS4iKTt6PUlbMF0sdy51bnNoaWZ0KHtoYXNJbXBsaWVkUm9vdDohMCxpZDp6LHBpZDoiIixsYWJlbDp6fSl9dHJ5e2Q9bi5zdHJhdGlmeSgpLmlkKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSkucGFyZW50SWQoZnVuY3Rpb24odCl7cmV0dXJuIHQucGlkfSkodyl9Y2F0Y2godCl7cmV0dXJuIGkud2FybigiRmFpbGVkIHRvIGJ1aWxkICIrZS50eXBlKyIgaGllcmFyY2h5LiBFcnJvcjogIit0Lm1lc3NhZ2UpfXZhciBEPW4uaGllcmFyY2h5KGQpLFI9ITE7aWYoXylzd2l0Y2goZS5icmFuY2h2YWx1ZXMpe2Nhc2UicmVtYWluZGVyIjpELnN1bShmdW5jdGlvbih0KXtyZXR1cm4gdC5kYXRhLnZ9KTticmVhaztjYXNlInRvdGFsIjpELmVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRhLmRhdGEscj1lLnY7aWYodC5jaGlsZHJlbil7dmFyIG49dC5jaGlsZHJlbi5yZWR1Y2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLmRhdGEuZGF0YS52fSwwKTtpZigoZS5oYXNJbXBsaWVkUm9vdHx8ZS5oYXNNdWx0aXBsZVJvb3RzKSYmKHI9bikscjxuKnUpcmV0dXJuIFI9ITAsaS53YXJuKFsiVG90YWwgdmFsdWUgZm9yIG5vZGUiLHQuZGF0YS5kYXRhLmlkLCJpcyBzbWFsbGVyIHRoYW4gdGhlIHN1bSBvZiBpdHMgY2hpbGRyZW4uIiwiXG5wYXJlbnQgdmFsdWUgPSIsciwiXG5jaGlsZHJlbiBzdW0gPSIsbl0uam9pbigiICIpKX10LnZhbHVlPXJ9KX1lbHNlIWZ1bmN0aW9uIHQoZSxyLG4pe3ZhciBhPTA7dmFyIGk9ZS5jaGlsZHJlbjtpZihpKXtmb3IodmFyIG89aS5sZW5ndGgscz0wO3M8bztzKyspYSs9dChpW3NdLHIsbik7bi5icmFuY2hlcyYmYSsrfWVsc2Ugbi5sZWF2ZXMmJmErKztlLnZhbHVlPWUuZGF0YS5kYXRhLnZhbHVlPWE7ci5fdmFsdWVzfHwoci5fdmFsdWVzPVtdKTtyLl92YWx1ZXNbZS5kYXRhLmRhdGEuaV09YTtyZXR1cm4gYX0oRCxlLHticmFuY2hlczotMSE9PWUuY291bnQuaW5kZXhPZigiYnJhbmNoZXMiKSxsZWF2ZXM6LTEhPT1lLmNvdW50LmluZGV4T2YoImxlYXZlcyIpfSk7aWYoIVIpe3ZhciBGLEI7RC5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUudmFsdWUtdC52YWx1ZX0pO3ZhciBOPWUubWFya2VyLmNvbG9yc3x8W10saj0hIU4ubGVuZ3RoO3JldHVybiBlLl9oYXNDb2xvcnNjYWxlPyhqfHwoTj1fP2UudmFsdWVzOmUuX3ZhbHVlcyksYyh0LGUse3ZhbHM6Tixjb250YWluZXJTdHI6Im1hcmtlciIsY0xldHRlcjoiYyJ9KSxCPW8oZS5tYXJrZXIpKTpGPXMoZ1siXyIrZS50eXBlKyJjb2xvcm1hcCJdKSxELmVhY2goZnVuY3Rpb24odCl7dmFyIHI9dC5kYXRhLmRhdGE7ci5jb2xvcj1lLl9oYXNDb2xvcnNjYWxlP0IoTltyLmldKTpGKE5bci5pXSxyLmlkKX0pLHdbMF0uaGllcmFyY2h5PUQsd319LHIuX3J1bkNyb3NzVHJhY2VDYWxjPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5fZnVsbExheW91dCxuPWUuY2FsY2RhdGEsYT1yW3QrImNvbG9yd2F5Il0saT1yWyJfIit0KyJjb2xvcm1hcCJdO3JbImV4dGVuZCIrdCsiY29sb3JzIl0mJihhPWwoYSwidHJlZW1hcCI9PT10P2Y6aCkpO3ZhciBvPTA7ZnVuY3Rpb24gcyh0KXt2YXIgZT10LmRhdGEuZGF0YSxyPWUuaWQ7ITE9PT1lLmNvbG9yJiYoaVtyXT9lLmNvbG9yPWlbcl06dC5wYXJlbnQ/dC5wYXJlbnQucGFyZW50P2UuY29sb3I9dC5wYXJlbnQuZGF0YS5kYXRhLmNvbG9yOihpW3JdPWUuY29sb3I9YVtvJWEubGVuZ3RoXSxvKyspOmUuY29sb3I9InJnYmEoMCwwLDAsMCkiKX1mb3IodmFyIGM9MDtjPG4ubGVuZ3RoO2MrKyl7dmFyIHU9bltjXVswXTt1LnRyYWNlLnR5cGU9PT10JiZ1LmhpZXJhcmNoeSYmdS5oaWVyYXJjaHkuZWFjaChzKX19LHIuY3Jvc3NUcmFjZUNhbGM9ZnVuY3Rpb24odCl7cmV0dXJuIHIuX3J1bkNyb3NzVHJhY2VDYWxjKCJzdW5idXJzdCIsdCl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSI6NjA0LCIuLi8uLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uLy4uL2xpYiI6NzE3LCIuLi9waWUvY2FsYyI6MTA5NiwiZDMtaGllcmFyY2h5IjoxNTksImZhc3QtaXNudW1lcmljIjoyMjh9XSwxMjM0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17Q0xJQ0tfVFJBTlNJVElPTl9USU1FOjc1MCxDTElDS19UUkFOU0lUSU9OX0VBU0lORzoibGluZWFyIixldmVudERhdGFLZXlzOlsiY3VycmVudFBhdGgiLCJyb290IiwiZW50cnkiLCJwZXJjZW50Um9vdCIsInBlcmNlbnRFbnRyeSIsInBlcmNlbnRQYXJlbnQiXX19LHt9XSwxMjM1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9wbG90cy9kb21haW4iKS5kZWZhdWx0cyxvPXQoIi4uL2Jhci9kZWZhdWx0cyIpLmhhbmRsZVRleHQscz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKSxsPXMuaGFzQ29sb3JzY2FsZSxjPXMuaGFuZGxlRGVmYXVsdHM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe2Z1bmN0aW9uIHUocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX12YXIgaD11KCJsYWJlbHMiKSxmPXUoInBhcmVudHMiKTtpZihoJiZoLmxlbmd0aCYmZiYmZi5sZW5ndGgpe3ZhciBwPXUoInZhbHVlcyIpO3AmJnAubGVuZ3RoP3UoImJyYW5jaHZhbHVlcyIpOnUoImNvdW50IiksdSgibGV2ZWwiKSx1KCJtYXhkZXB0aCIpLHUoIm1hcmtlci5saW5lLndpZHRoIikmJnUoIm1hcmtlci5saW5lLmNvbG9yIixzLnBhcGVyX2JnY29sb3IpLHUoIm1hcmtlci5jb2xvcnMiKTt2YXIgZD1lLl9oYXNDb2xvcnNjYWxlPWwodCwibWFya2VyIiwiY29sb3JzIil8fCh0Lm1hcmtlcnx8e30pLmNvbG9yYXhpcztkJiZjKHQsZSxzLHUse3ByZWZpeDoibWFya2VyLiIsY0xldHRlcjoiYyJ9KSx1KCJsZWFmLm9wYWNpdHkiLGQ/MTouNyk7dmFyIGc9dSgidGV4dCIpO3UoInRleHR0ZW1wbGF0ZSIpLGUudGV4dHRlbXBsYXRlfHx1KCJ0ZXh0aW5mbyIsQXJyYXkuaXNBcnJheShnKT8idGV4dCtsYWJlbCI6ImxhYmVsIiksdSgiaG92ZXJ0ZXh0IiksdSgiaG92ZXJ0ZW1wbGF0ZSIpO28odCxlLHMsdSwiYXV0byIse21vZHVsZUhhc1NlbGVjdGVkOiExLG1vZHVsZUhhc1Vuc2VsZWN0ZWQ6ITEsbW9kdWxlSGFzQ29uc3RyYWluOiExLG1vZHVsZUhhc0NsaXBvbmF4aXM6ITEsbW9kdWxlSGFzVGV4dGFuZ2xlOiExLG1vZHVsZUhhc0luc2lkZWFuY2hvcjohMX0pLHUoImluc2lkZXRleHRvcmllbnRhdGlvbiIpLGkoZSxzLHUpLGUuX2xlbmd0aD1udWxsfWVsc2UgZS52aXNpYmxlPSExfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2RvbWFpbiI6NzkwLCIuLi9iYXIvZGVmYXVsdHMiOjg2MCwiLi9hdHRyaWJ1dGVzIjoxMjMxfV0sMTIzNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vcmVnaXN0cnkiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZngvaGVscGVycyIpLmFwcGVuZEFycmF5UG9pbnRWYWx1ZSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvZngiKSxzPXQoIi4uLy4uL2xpYiIpLGw9dCgiLi4vLi4vbGliL2V2ZW50cyIpLGM9dCgiLi9oZWxwZXJzIiksdT10KCIuLi9waWUvaGVscGVycyIpLmZvcm1hdFBpZVZhbHVlO2Z1bmN0aW9uIGgodCxlLHIpe2Zvcih2YXIgbj10LmRhdGEuZGF0YSxhPXtjdXJ2ZU51bWJlcjplLmluZGV4LHBvaW50TnVtYmVyOm4uaSxkYXRhOmUuX2lucHV0LGZ1bGxEYXRhOmV9LG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIHM9cltvXTtzIGluIHQmJihhW3NdPXRbc10pfXJldHVybiJwYXJlbnRTdHJpbmciaW4gdCYmIWMuaXNIaWVyYXJjaHlSb290KHQpJiYoYS5wYXJlbnQ9dC5wYXJlbnRTdHJpbmcpLGkoYSxlLG4uaSksYX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxmKXt2YXIgcD1pWzBdLGQ9cC50cmFjZSxnPXAuaGllcmFyY2h5LHY9InN1bmJ1cnN0Ij09PWQudHlwZSxtPSJ0cmVlbWFwIj09PWQudHlwZTsiX2hhc0hvdmVyTGFiZWwiaW4gZHx8KGQuX2hhc0hvdmVyTGFiZWw9ITEpLCJfaGFzSG92ZXJFdmVudCJpbiBkfHwoZC5faGFzSG92ZXJFdmVudD0hMSk7dC5vbigibW91c2VvdmVyIixmdW5jdGlvbihhKXt2YXIgaT1yLl9mdWxsTGF5b3V0O2lmKCFyLl9kcmFnZ2luZyYmITEhPT1pLmhvdmVybW9kZSl7dmFyIGw9ci5fZnVsbERhdGFbZC5pbmRleF0seT1hLmRhdGEuZGF0YSx4PXkuaSxiPWMuaXNIaWVyYXJjaHlSb290KGEpLF89Yy5nZXRQYXJlbnQoZyxhKSx3PWMuZ2V0VmFsdWUoYSksaz1mdW5jdGlvbih0KXtyZXR1cm4gcy5jYXN0T3B0aW9uKGwseCx0KX0sVD1rKCJob3ZlcnRlbXBsYXRlIiksTT1vLmNhc3RIb3ZlcmluZm8obCxpLHgpLEE9aS5zZXBhcmF0b3JzO2lmKFR8fE0mJiJub25lIiE9PU0mJiJza2lwIiE9PU0pe3ZhciBTLEU7diYmKFM9cC5jeCthLnB4bWlkWzBdKigxLWEuckluc2NyaWJlZCksRT1wLmN5K2EucHhtaWRbMV0qKDEtYS5ySW5zY3JpYmVkKSksbSYmKFM9YS5faG92ZXJYLEU9YS5faG92ZXJZKTt2YXIgTCxDPXt9LFA9W10sTz1bXSx6PWZ1bmN0aW9uKHQpe3JldHVybi0xIT09UC5pbmRleE9mKHQpfTtNJiYoUD0iYWxsIj09PU0/bC5fbW9kdWxlLmF0dHJpYnV0ZXMuaG92ZXJpbmZvLmZsYWdzOk0uc3BsaXQoIisiKSksQy5sYWJlbD15LmxhYmVsLHooImxhYmVsIikmJkMubGFiZWwmJk8ucHVzaChDLmxhYmVsKSx5Lmhhc093blByb3BlcnR5KCJ2IikmJihDLnZhbHVlPXkudixDLnZhbHVlTGFiZWw9dShDLnZhbHVlLEEpLHooInZhbHVlIikmJk8ucHVzaChDLnZhbHVlTGFiZWwpKSxDLmN1cnJlbnRQYXRoPWEuY3VycmVudFBhdGg9Yy5nZXRQYXRoKGEuZGF0YSkseigiY3VycmVudCBwYXRoIikmJiFiJiZPLnB1c2goQy5jdXJyZW50UGF0aCk7dmFyIEk9W10sRD1mdW5jdGlvbigpey0xPT09SS5pbmRleE9mKEwpJiYoTy5wdXNoKEwpLEkucHVzaChMKSl9O0MucGVyY2VudFBhcmVudD1hLnBlcmNlbnRQYXJlbnQ9dy9jLmdldFZhbHVlKF8pLEMucGFyZW50PWEucGFyZW50U3RyaW5nPWMuZ2V0UHRMYWJlbChfKSx6KCJwZXJjZW50IHBhcmVudCIpJiYoTD1jLmZvcm1hdFBlcmNlbnQoQy5wZXJjZW50UGFyZW50LEEpKyIgb2YgIitDLnBhcmVudCxEKCkpLEMucGVyY2VudEVudHJ5PWEucGVyY2VudEVudHJ5PXcvYy5nZXRWYWx1ZShlKSxDLmVudHJ5PWEuZW50cnk9Yy5nZXRQdExhYmVsKGUpLCF6KCJwZXJjZW50IGVudHJ5Iil8fGJ8fGEub25QYXRoYmFyfHwoTD1jLmZvcm1hdFBlcmNlbnQoQy5wZXJjZW50RW50cnksQSkrIiBvZiAiK0MuZW50cnksRCgpKSxDLnBlcmNlbnRSb290PWEucGVyY2VudFJvb3Q9dy9jLmdldFZhbHVlKGcpLEMucm9vdD1hLnJvb3Q9Yy5nZXRQdExhYmVsKGcpLHooInBlcmNlbnQgcm9vdCIpJiYhYiYmKEw9Yy5mb3JtYXRQZXJjZW50KEMucGVyY2VudFJvb3QsQSkrIiBvZiAiK0Mucm9vdCxEKCkpLEMudGV4dD1rKCJob3ZlcnRleHQiKXx8aygidGV4dCIpLHooInRleHQiKSYmKEw9Qy50ZXh0LHMuaXNWYWxpZFRleHRWYWx1ZShMKSYmTy5wdXNoKEwpKTt2YXIgUj17dHJhY2U6bCx5OkUsdGV4dDpPLmpvaW4oIjxicj4iKSxuYW1lOlR8fHooIm5hbWUiKT9sLm5hbWU6dm9pZCAwLGNvbG9yOmsoImhvdmVybGFiZWwuYmdjb2xvciIpfHx5LmNvbG9yLGJvcmRlckNvbG9yOmsoImhvdmVybGFiZWwuYm9yZGVyY29sb3IiKSxmb250RmFtaWx5OmsoImhvdmVybGFiZWwuZm9udC5mYW1pbHkiKSxmb250U2l6ZTprKCJob3ZlcmxhYmVsLmZvbnQuc2l6ZSIpLGZvbnRDb2xvcjprKCJob3ZlcmxhYmVsLmZvbnQuY29sb3IiKSxuYW1lTGVuZ3RoOmsoImhvdmVybGFiZWwubmFtZWxlbmd0aCIpLHRleHRBbGlnbjprKCJob3ZlcmxhYmVsLmFsaWduIiksaG92ZXJ0ZW1wbGF0ZTpULGhvdmVydGVtcGxhdGVMYWJlbHM6QyxldmVudERhdGE6W2goYSxsLGYuZXZlbnREYXRhS2V5cyldfTt2JiYoUi54MD1TLWEuckluc2NyaWJlZCphLnJweDEsUi54MT1TK2Euckluc2NyaWJlZCphLnJweDEsUi5pZGVhbEFsaWduPWEucHhtaWRbMF08MD8ibGVmdCI6InJpZ2h0IiksbSYmKFIueD1TLFIuaWRlYWxBbGlnbj1TPDA/ImxlZnQiOiJyaWdodCIpLG8ubG9uZUhvdmVyKFIse2NvbnRhaW5lcjppLl9ob3ZlcmxheWVyLm5vZGUoKSxvdXRlckNvbnRhaW5lcjppLl9wYXBlci5ub2RlKCksZ2Q6cn0pLGQuX2hhc0hvdmVyTGFiZWw9ITB9aWYobSl7dmFyIEY9dC5zZWxlY3QoInBhdGguc3VyZmFjZSIpO2Yuc3R5bGVPbmUoRixhLGwse2hvdmVyZWQ6ITB9KX1kLl9oYXNIb3ZlckV2ZW50PSEwLHIuZW1pdCgicGxvdGx5X2hvdmVyIix7cG9pbnRzOltoKGEsbCxmLmV2ZW50RGF0YUtleXMpXSxldmVudDpuLmV2ZW50fSl9fSksdC5vbigibW91c2VvdXQiLGZ1bmN0aW9uKGUpe3ZhciBhPXIuX2Z1bGxMYXlvdXQsaT1yLl9mdWxsRGF0YVtkLmluZGV4XSxzPW4uc2VsZWN0KHRoaXMpLmRhdHVtKCk7aWYoZC5faGFzSG92ZXJFdmVudCYmKGUub3JpZ2luYWxFdmVudD1uLmV2ZW50LHIuZW1pdCgicGxvdGx5X3VuaG92ZXIiLHtwb2ludHM6W2gocyxpLGYuZXZlbnREYXRhS2V5cyldLGV2ZW50Om4uZXZlbnR9KSxkLl9oYXNIb3ZlckV2ZW50PSExKSxkLl9oYXNIb3ZlckxhYmVsJiYoby5sb25lVW5ob3ZlcihhLl9ob3ZlcmxheWVyLm5vZGUoKSksZC5faGFzSG92ZXJMYWJlbD0hMSksbSl7dmFyIGw9dC5zZWxlY3QoInBhdGguc3VyZmFjZSIpO2Yuc3R5bGVPbmUobCxzLGkse2hvdmVyZWQ6ITF9KX19KSx0Lm9uKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIGU9ci5fZnVsbExheW91dCxpPXIuX2Z1bGxEYXRhW2QuaW5kZXhdLHM9diYmKGMuaXNIaWVyYXJjaHlSb290KHQpfHxjLmlzTGVhZih0KSksdT1jLmdldFB0SWQodCkscD1jLmlzRW50cnkodCk/Yy5maW5kRW50cnlXaXRoQ2hpbGQoZyx1KTpjLmZpbmRFbnRyeVdpdGhMZXZlbChnLHUpLG09Yy5nZXRQdElkKHApLHk9e3BvaW50czpbaCh0LGksZi5ldmVudERhdGFLZXlzKV0sZXZlbnQ6bi5ldmVudH07c3x8KHkubmV4dExldmVsPW0pO3ZhciB4PWwudHJpZ2dlckhhbmRsZXIociwicGxvdGx5XyIrZC50eXBlKyJjbGljayIseSk7aWYoITEhPT14JiZlLmhvdmVybW9kZSYmKHIuX2hvdmVyZGF0YT1baCh0LGksZi5ldmVudERhdGFLZXlzKV0sby5jbGljayhyLG4uZXZlbnQpKSwhcyYmITEhPT14JiYhci5fZHJhZ2dpbmcmJiFyLl90cmFuc2l0aW9uaW5nKXthLmNhbGwoIl9zdG9yZURpcmVjdEdVSUVkaXQiLGksZS5fdHJhY2VQcmVHVUlbaS51aWRdLHtsZXZlbDppLmxldmVsfSk7dmFyIGI9e2RhdGE6W3tsZXZlbDptfV0sdHJhY2VzOltkLmluZGV4XX0sXz17ZnJhbWU6e3JlZHJhdzohMSxkdXJhdGlvbjpmLnRyYW5zaXRpb25UaW1lfSx0cmFuc2l0aW9uOntkdXJhdGlvbjpmLnRyYW5zaXRpb25UaW1lLGVhc2luZzpmLnRyYW5zaXRpb25FYXNpbmd9LG1vZGU6ImltbWVkaWF0ZSIsZnJvbWN1cnJlbnQ6ITB9O28ubG9uZVVuaG92ZXIoZS5faG92ZXJsYXllci5ub2RlKCkpLGEuY2FsbCgiYW5pbWF0ZSIscixiLF8pfX0pfX0seyIuLi8uLi9jb21wb25lbnRzL2Z4Ijo2MzAsIi4uLy4uL2NvbXBvbmVudHMvZngvaGVscGVycyI6NjI3LCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL2V2ZW50cyI6NzA3LCIuLi8uLi9yZWdpc3RyeSI6ODQ2LCIuLi9waWUvaGVscGVycyI6MTA5OSwiLi9oZWxwZXJzIjoxMjM3LGQzOjE2NX1dLDEyMzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksaT10KCIuLi8uLi9saWIvc2V0Y3Vyc29yIiksbz10KCIuLi9waWUvaGVscGVycyIpO2Z1bmN0aW9uIHModCl7cmV0dXJuIHQuZGF0YS5kYXRhLnBpZH1yLmZpbmRFbnRyeVdpdGhMZXZlbD1mdW5jdGlvbih0LGUpe3ZhciBuO3JldHVybiBlJiZ0LmVhY2hBZnRlcihmdW5jdGlvbih0KXtpZihyLmdldFB0SWQodCk9PT1lKXJldHVybiBuPXQuY29weSgpfSksbnx8dH0sci5maW5kRW50cnlXaXRoQ2hpbGQ9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gdC5lYWNoQWZ0ZXIoZnVuY3Rpb24odCl7Zm9yKHZhciBhPXQuY2hpbGRyZW58fFtdLGk9MDtpPGEubGVuZ3RoO2krKyl7dmFyIG89YVtpXTtpZihyLmdldFB0SWQobyk9PT1lKXJldHVybiBuPXQuY29weSgpfX0pLG58fHR9LHIuaXNFbnRyeT1mdW5jdGlvbih0KXtyZXR1cm4hdC5wYXJlbnR9LHIuaXNMZWFmPWZ1bmN0aW9uKHQpe3JldHVybiF0LmNoaWxkcmVufSxyLmdldFB0SWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGF0YS5kYXRhLmlkfSxyLmdldFB0TGFiZWw9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGF0YS5kYXRhLmxhYmVsfSxyLmdldFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlfSxyLmlzSGllcmFyY2h5Um9vdD1mdW5jdGlvbih0KXtyZXR1cm4iIj09PXModCl9LHIuc2V0U2xpY2VDdXJzb3I9ZnVuY3Rpb24odCxlLG4pe3ZhciBhPW4uaXNUcmFuc2l0aW9uaW5nO2lmKCFhKXt2YXIgbz10LmRhdHVtKCk7YT1uLmhpZGVPblJvb3QmJnIuaXNIaWVyYXJjaHlSb290KG8pfHxuLmhpZGVPbkxlYXZlcyYmci5pc0xlYWYobyl9aSh0LGE/bnVsbDoicG9pbnRlciIpfSxyLmdldEluc2lkZVRleHRGb250S2V5PWZ1bmN0aW9uKHQsZSxyLGEsaSl7dmFyIG89KGl8fHt9KS5vblBhdGhiYXI/InBhdGhiYXIudGV4dGZvbnQiOiJpbnNpZGV0ZXh0Zm9udCIscz1yLmRhdGEuZGF0YS5pO3JldHVybiBuLmNhc3RPcHRpb24oZSxzLG8rIi4iK3QpfHxuLmNhc3RPcHRpb24oZSxzLCJ0ZXh0Zm9udC4iK3QpfHxhLnNpemV9LHIuZ2V0T3V0c2lkZVRleHRGb250S2V5PWZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpPXIuZGF0YS5kYXRhLmk7cmV0dXJuIG4uY2FzdE9wdGlvbihlLGksIm91dHNpZGV0ZXh0Zm9udC4iK3QpfHxuLmNhc3RPcHRpb24oZSxpLCJ0ZXh0Zm9udC4iK3QpfHxhLnNpemV9LHIuaXNPdXRzaWRlVGV4dD1mdW5jdGlvbih0LGUpe3JldHVybiF0Ll9oYXNDb2xvcnNjYWxlJiZyLmlzSGllcmFyY2h5Um9vdChlKX0sci5kZXRlcm1pbmVUZXh0Rm9udD1mdW5jdGlvbih0LGUsaSxvKXtyZXR1cm4gci5pc091dHNpZGVUZXh0KHQsZSk/ZnVuY3Rpb24odCxlLG4pe3JldHVybntjb2xvcjpyLmdldE91dHNpZGVUZXh0Rm9udEtleSgiY29sb3IiLHQsZSxuKSxmYW1pbHk6ci5nZXRPdXRzaWRlVGV4dEZvbnRLZXkoImZhbWlseSIsdCxlLG4pLHNpemU6ci5nZXRPdXRzaWRlVGV4dEZvbnRLZXkoInNpemUiLHQsZSxuKX19KHQsZSxpKTpmdW5jdGlvbih0LGUsaSxvKXt2YXIgcz0ob3x8e30pLm9uUGF0aGJhcixsPWUuZGF0YS5kYXRhLGM9bC5pLHU9bi5jYXN0T3B0aW9uKHQsYywocz8icGF0aGJhci50ZXh0Zm9udCI6Imluc2lkZXRleHRmb250IikrIi5jb2xvciIpO3JldHVybiF1JiZ0Ll9pbnB1dC50ZXh0Zm9udCYmKHU9bi5jYXN0T3B0aW9uKHQuX2lucHV0LGMsInRleHRmb250LmNvbG9yIikpLHtjb2xvcjp1fHxhLmNvbnRyYXN0KGwuY29sb3IpLGZhbWlseTpyLmdldEluc2lkZVRleHRGb250S2V5KCJmYW1pbHkiLHQsZSxpLG8pLHNpemU6ci5nZXRJbnNpZGVUZXh0Rm9udEtleSgic2l6ZSIsdCxlLGksbyl9fSh0LGUsaSxvKX0sci5oYXNUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiEhKHQmJnQuZHVyYXRpb24+MCl9LHIuZ2V0TWF4RGVwdGg9ZnVuY3Rpb24odCl7cmV0dXJuIHQubWF4ZGVwdGg+PTA/dC5tYXhkZXB0aDoxLzB9LHIuaXNIZWFkZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4hKHIuaXNMZWFmKHQpfHx0LmRlcHRoPT09ZS5fbWF4RGVwdGgtMSl9LHIuZ2V0UGFyZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIuZmluZEVudHJ5V2l0aExldmVsKHQscyhlKSl9LHIubGlzdFBhdGg9ZnVuY3Rpb24odCxlKXt2YXIgbj10LnBhcmVudDtpZighbilyZXR1cm5bXTt2YXIgYT1lP1tuLmRhdGFbZV1dOltuXTtyZXR1cm4gci5saXN0UGF0aChuLGUpLmNvbmNhdChhKX0sci5nZXRQYXRoPWZ1bmN0aW9uKHQpe3JldHVybiByLmxpc3RQYXRoKHQsImxhYmVsIikuam9pbigiLyIpKyIvIn0sci5mb3JtYXRWYWx1ZT1vLmZvcm1hdFBpZVZhbHVlLHIuZm9ybWF0UGVyY2VudD1mdW5jdGlvbih0LGUpe3ZhciByPW4uZm9ybWF0UGVyY2VudCh0LDApO3JldHVybiIwJSI9PT1yJiYocj1vLmZvcm1hdFBpZVBlcmNlbnQodCxlKSkscn19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3NldGN1cnNvciI6NzM3LCIuLi9waWUvaGVscGVycyI6MTA5OX1dLDEyMzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXttb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic3VuYnVyc3QiLGJhc2VQbG90TW9kdWxlOnQoIi4vYmFzZV9wbG90IiksY2F0ZWdvcmllczpbXSxhbmltYXRhYmxlOiEwLGF0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksbGF5b3V0QXR0cmlidXRlczp0KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vbGF5b3V0X2RlZmF1bHRzIiksY2FsYzp0KCIuL2NhbGMiKS5jYWxjLGNyb3NzVHJhY2VDYWxjOnQoIi4vY2FsYyIpLmNyb3NzVHJhY2VDYWxjLHBsb3Q6dCgiLi9wbG90IikucGxvdCxzdHlsZTp0KCIuL3N0eWxlIikuc3R5bGUsY29sb3JiYXI6dCgiLi4vc2NhdHRlci9tYXJrZXJfY29sb3JiYXIiKSxtZXRhOnt9fX0seyIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciI6MTEzOCwiLi9hdHRyaWJ1dGVzIjoxMjMxLCIuL2Jhc2VfcGxvdCI6MTIzMiwiLi9jYWxjIjoxMjMzLCIuL2RlZmF1bHRzIjoxMjM1LCIuL2xheW91dF9hdHRyaWJ1dGVzIjoxMjM5LCIuL2xheW91dF9kZWZhdWx0cyI6MTI0MCwiLi9wbG90IjoxMjQxLCIuL3N0eWxlIjoxMjQyfV0sMTIzOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e3N1bmJ1cnN0Y29sb3J3YXk6e3ZhbFR5cGU6ImNvbG9ybGlzdCIsZWRpdFR5cGU6ImNhbGMifSxleHRlbmRzdW5idXJzdGNvbG9yczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9fX0se31dLDEyNDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfXIoInN1bmJ1cnN0Y29sb3J3YXkiLGUuY29sb3J3YXkpLHIoImV4dGVuZHN1bmJ1cnN0Y29sb3JzIil9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuL2xheW91dF9hdHRyaWJ1dGVzIjoxMjM5fV0sMTI0MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiZDMtaGllcmFyY2h5IiksaT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxvPXQoIi4uLy4uL2xpYiIpLHM9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksbD10KCIuLi9iYXIvdW5pZm9ybV90ZXh0IiksYz1sLnJlY29yZE1pblRleHRTaXplLHU9bC5jbGVhck1pblRleHRTaXplLGg9dCgiLi4vcGllL3Bsb3QiKSxmPWguY29tcHV0ZVRyYW5zZm9ybSxwPWgudHJhbnNmb3JtSW5zaWRlVGV4dCxkPXQoIi4vc3R5bGUiKS5zdHlsZU9uZSxnPXQoIi4uL2Jhci9zdHlsZSIpLnJlc2l6ZVRleHQsdj10KCIuL2Z4IiksbT10KCIuL2NvbnN0YW50cyIpLHk9dCgiLi9oZWxwZXJzIik7ZnVuY3Rpb24geCh0LGUsbCx1KXt2YXIgaD10Ll9mdWxsTGF5b3V0LGc9IWgudW5pZm9ybXRleHQubW9kZSYmeS5oYXNUcmFuc2l0aW9uKHUpLHg9bi5zZWxlY3QobCkuc2VsZWN0QWxsKCJnLnNsaWNlIiksXz1lWzBdLHc9Xy50cmFjZSxrPV8uaGllcmFyY2h5LFQ9eS5maW5kRW50cnlXaXRoTGV2ZWwoayx3LmxldmVsKSxNPXkuZ2V0TWF4RGVwdGgodyksQT1oLl9zaXplLFM9dy5kb21haW4sRT1BLncqKFMueFsxXS1TLnhbMF0pLEw9QS5oKihTLnlbMV0tUy55WzBdKSxDPS41Kk1hdGgubWluKEUsTCksUD1fLmN4PUEubCtBLncqKFMueFsxXStTLnhbMF0pLzIsTz1fLmN5PUEudCtBLmgqKDEtUy55WzBdKS1MLzI7aWYoIVQpcmV0dXJuIHgucmVtb3ZlKCk7dmFyIHo9bnVsbCxJPXt9O2cmJnguZWFjaChmdW5jdGlvbih0KXtJW3kuZ2V0UHRJZCh0KV09e3JweDA6dC5ycHgwLHJweDE6dC5ycHgxLHgwOnQueDAseDE6dC54MSx0cmFuc2Zvcm06dC50cmFuc2Zvcm19LCF6JiZ5LmlzRW50cnkodCkmJih6PXQpfSk7dmFyIEQ9ZnVuY3Rpb24odCl7cmV0dXJuIGEucGFydGl0aW9uKCkuc2l6ZShbMipNYXRoLlBJLHQuaGVpZ2h0KzFdKSh0KX0oVCkuZGVzY2VuZGFudHMoKSxSPVQuaGVpZ2h0KzEsRj0wLEI9TTtfLmhhc011bHRpcGxlUm9vdHMmJnkuaXNIaWVyYXJjaHlSb290KFQpJiYoRD1ELnNsaWNlKDEpLFItPTEsRj0xLEIrPTEpLEQ9RC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQueTE8PUJ9KTt2YXIgTj1NYXRoLm1pbihSLE0pLGo9ZnVuY3Rpb24odCl7cmV0dXJuKHQtRikvTipDfSxWPWZ1bmN0aW9uKHQsZSl7cmV0dXJuW3QqTWF0aC5jb3MoZSksLXQqTWF0aC5zaW4oZSldfSxVPWZ1bmN0aW9uKHQpe3JldHVybiBvLnBhdGhBbm51bHVzKHQucnB4MCx0LnJweDEsdC54MCx0LngxLFAsTyl9LHE9ZnVuY3Rpb24odCl7cmV0dXJuIFArYih0KVswXSoodC50cmFuc2Zvcm0uckNlbnRlcnx8MCkrKHQudHJhbnNmb3JtLnh8fDApfSxIPWZ1bmN0aW9uKHQpe3JldHVybiBPK2IodClbMV0qKHQudHJhbnNmb3JtLnJDZW50ZXJ8fDApKyh0LnRyYW5zZm9ybS55fHwwKX07KHg9eC5kYXRhKEQseS5nZXRQdElkKSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJzbGljZSIsITApLGc/eC5leGl0KCkudHJhbnNpdGlvbigpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uLnNlbGVjdCh0aGlzKTt0LnNlbGVjdCgicGF0aC5zdXJmYWNlIikudHJhbnNpdGlvbigpLmF0dHJUd2VlbigiZCIsZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7dmFyIGUscj15LmdldFB0SWQodCksYT1JW3JdLGk9SVt5LmdldFB0SWQoVCldO2lmKGkpe3ZhciBvPXQueDE+aS54MT8yKk1hdGguUEk6MDtlPXQucnB4MTxpLnJweDE/e3JweDA6MCxycHgxOjB9Ont4MDpvLHgxOm99fWVsc2V7dmFyIHMsbD15LmdldFB0SWQodC5wYXJlbnQpO3guZWFjaChmdW5jdGlvbih0KXtpZih5LmdldFB0SWQodCk9PT1sKXJldHVybiBzPXR9KTt2YXIgYyx1PXMuY2hpbGRyZW47dS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7aWYoeS5nZXRQdElkKHQpPT09cilyZXR1cm4gYz1lfSk7dmFyIGg9dS5sZW5ndGgsZj1uLmludGVycG9sYXRlKHMueDAscy54MSk7ZT17cnB4MDpDLHJweDE6Qyx4MDpmKGMvaCkseDE6ZigoYysxKS9oKX19cmV0dXJuIG4uaW50ZXJwb2xhdGUoYSxlKX0odCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBVKGUodCkpfX0pLHQuc2VsZWN0KCJnLnNsaWNldGV4dCIpLmF0dHIoIm9wYWNpdHkiLDApfSkucmVtb3ZlKCk6eC5leGl0KCkucmVtb3ZlKCkseC5vcmRlcigpO3ZhciBHPW51bGw7aWYoZyYmeil7dmFyIFk9eS5nZXRQdElkKHopO3guZWFjaChmdW5jdGlvbih0KXtudWxsPT09RyYmeS5nZXRQdElkKHQpPT09WSYmKEc9dC54MSl9KX12YXIgVz14O2Z1bmN0aW9uIFgodCl7dmFyIGU9dC5wYXJlbnQscj1JW3kuZ2V0UHRJZChlKV0sYT17fTtpZihyKXt2YXIgaT1lLmNoaWxkcmVuLG89aS5pbmRleE9mKHQpLHM9aS5sZW5ndGgsbD1uLmludGVycG9sYXRlKHIueDAsci54MSk7YS54MD1sKG8vcyksYS54MT1sKG8vcyl9ZWxzZSBhLngwPWEueDE9MDtyZXR1cm4gYX1nJiYoVz1XLnRyYW5zaXRpb24oKS5lYWNoKCJlbmQiLGZ1bmN0aW9uKCl7dmFyIGU9bi5zZWxlY3QodGhpcyk7eS5zZXRTbGljZUN1cnNvcihlLHQse2hpZGVPblJvb3Q6ITAsaGlkZU9uTGVhdmVzOiEwLGlzVHJhbnNpdGlvbmluZzohMX0pfSkpLFcuZWFjaChmdW5jdGlvbihhKXt2YXIgbD1uLnNlbGVjdCh0aGlzKSx1PW8uZW5zdXJlU2luZ2xlKGwsInBhdGgiLCJzdXJmYWNlIixmdW5jdGlvbih0KXt0LnN0eWxlKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpfSk7YS5ycHgwPWooYS55MCksYS5ycHgxPWooYS55MSksYS54bWlkPShhLngwK2EueDEpLzIsYS5weG1pZD1WKGEucnB4MSxhLnhtaWQpLGEubWlkYW5nbGU9LShhLnhtaWQtTWF0aC5QSS8yKSxhLnN0YXJ0YW5nbGU9LShhLngwLU1hdGguUEkvMiksYS5zdG9wYW5nbGU9LShhLngxLU1hdGguUEkvMiksYS5oYWxmYW5nbGU9LjUqTWF0aC5taW4oby5hbmdsZURlbHRhKGEueDAsYS54MSl8fE1hdGguUEksTWF0aC5QSSksYS5yaW5nPTEtYS5ycHgwL2EucnB4MSxhLnJJbnNjcmliZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10LnJweDAmJm8uaXNGdWxsQ2lyY2xlKFt0LngwLHQueDFdKT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMS8oMSsxL01hdGguc2luKHQuaGFsZmFuZ2xlKSksdC5yaW5nLzIpKX0oYSksZz91LnRyYW5zaXRpb24oKS5hdHRyVHdlZW4oImQiLGZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe3ZhciBlLHI9SVt5LmdldFB0SWQodCldLGE9e3gwOnQueDAseDE6dC54MSxycHgwOnQucnB4MCxycHgxOnQucnB4MX07aWYocillPXI7ZWxzZSBpZih6KWlmKHQucGFyZW50KWlmKEcpe3ZhciBpPXQueDE+Rz8yKk1hdGguUEk6MDtlPXt4MDppLHgxOml9fWVsc2UgZT17cnB4MDpDLHJweDE6Q30sby5leHRlbmRGbGF0KGUsWCh0KSk7ZWxzZSBlPXtycHgwOjAscnB4MTowfTtlbHNlIGU9e3gwOjAseDE6MH07cmV0dXJuIG4uaW50ZXJwb2xhdGUoZSxhKX0odCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBVKGUodCkpfX0pOnUuYXR0cigiZCIsVSksbC5jYWxsKHYsVCx0LGUse2V2ZW50RGF0YUtleXM6bS5ldmVudERhdGFLZXlzLHRyYW5zaXRpb25UaW1lOm0uQ0xJQ0tfVFJBTlNJVElPTl9USU1FLHRyYW5zaXRpb25FYXNpbmc6bS5DTElDS19UUkFOU0lUSU9OX0VBU0lOR30pLmNhbGwoeS5zZXRTbGljZUN1cnNvcix0LHtoaWRlT25Sb290OiEwLGhpZGVPbkxlYXZlczohMCxpc1RyYW5zaXRpb25pbmc6dC5fdHJhbnNpdGlvbmluZ30pLHUuY2FsbChkLGEsdyk7dmFyIHg9by5lbnN1cmVTaW5nbGUobCwiZyIsInNsaWNldGV4dCIpLGI9by5lbnN1cmVTaW5nbGUoeCwidGV4dCIsIiIsZnVuY3Rpb24odCl7dC5hdHRyKCJkYXRhLW5vdGV4IiwxKX0pLGs9by5lbnN1cmVVbmlmb3JtRm9udFNpemUodCx5LmRldGVybWluZVRleHRGb250KHcsYSxoLmZvbnQpKTtiLnRleHQoci5mb3JtYXRTbGljZUxhYmVsKGEsVCx3LGUsaCkpLmNsYXNzZWQoInNsaWNldGV4dCIsITApLmF0dHIoInRleHQtYW5jaG9yIiwibWlkZGxlIikuY2FsbChpLmZvbnQsaykuY2FsbChzLmNvbnZlcnRUb1RzcGFucyx0KTt2YXIgTT1pLmJCb3goYi5ub2RlKCkpO2EudHJhbnNmb3JtPXAoTSxhLF8pLGEudHJhbnNmb3JtLnRhcmdldFg9cShhKSxhLnRyYW5zZm9ybS50YXJnZXRZPUgoYSk7dmFyIEE9ZnVuY3Rpb24odCxlKXt2YXIgcj10LnRyYW5zZm9ybTtyZXR1cm4gZihyLGUpLHIuZm9udFNpemU9ay5zaXplLGMody50eXBlLHIsaCksby5nZXRUZXh0VHJhbnNmb3JtKHIpfTtnP2IudHJhbnNpdGlvbigpLmF0dHJUd2VlbigidHJhbnNmb3JtIixmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0KXt2YXIgZSxyPUlbeS5nZXRQdElkKHQpXSxhPXQudHJhbnNmb3JtO2lmKHIpZT1yO2Vsc2UgaWYoZT17cnB4MTp0LnJweDEsdHJhbnNmb3JtOnt0ZXh0UG9zQW5nbGU6YS50ZXh0UG9zQW5nbGUsc2NhbGU6MCxyb3RhdGU6YS5yb3RhdGUsckNlbnRlcjphLnJDZW50ZXIseDphLngseTphLnl9fSx6KWlmKHQucGFyZW50KWlmKEcpe3ZhciBpPXQueDE+Rz8yKk1hdGguUEk6MDtlLngwPWUueDE9aX1lbHNlIG8uZXh0ZW5kRmxhdChlLFgodCkpO2Vsc2UgZS54MD1lLngxPTA7ZWxzZSBlLngwPWUueDE9MDt2YXIgcz1uLmludGVycG9sYXRlKGUudHJhbnNmb3JtLnRleHRQb3NBbmdsZSx0LnRyYW5zZm9ybS50ZXh0UG9zQW5nbGUpLGw9bi5pbnRlcnBvbGF0ZShlLnJweDEsdC5ycHgxKSx1PW4uaW50ZXJwb2xhdGUoZS54MCx0LngwKSxmPW4uaW50ZXJwb2xhdGUoZS54MSx0LngxKSxwPW4uaW50ZXJwb2xhdGUoZS50cmFuc2Zvcm0uc2NhbGUsYS5zY2FsZSksZD1uLmludGVycG9sYXRlKGUudHJhbnNmb3JtLnJvdGF0ZSxhLnJvdGF0ZSksZz0wPT09YS5yQ2VudGVyPzM6MD09PWUudHJhbnNmb3JtLnJDZW50ZXI/MS8zOjEsdj1uLmludGVycG9sYXRlKGUudHJhbnNmb3JtLnJDZW50ZXIsYS5yQ2VudGVyKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9bCh0KSxyPXUodCksbj1mKHQpLGk9ZnVuY3Rpb24odCl7cmV0dXJuIHYoTWF0aC5wb3codCxnKSl9KHQpLG89VihlLChyK24pLzIpLG09cyh0KSx5PXtweG1pZDpvLHJweDE6ZSx0cmFuc2Zvcm06e3RleHRQb3NBbmdsZTptLHJDZW50ZXI6aSx4OmEueCx5OmEueX19O3JldHVybiBjKHcudHlwZSxhLGgpLHt0cmFuc2Zvcm06e3RhcmdldFg6cSh5KSx0YXJnZXRZOkgoeSksc2NhbGU6cCh0KSxyb3RhdGU6ZCh0KSxyQ2VudGVyOml9fX19KHQpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gQShlKHQpLE0pfX0pOmIuYXR0cigidHJhbnNmb3JtIixBKGEsTSkpfSl9ZnVuY3Rpb24gYih0KXtyZXR1cm4gZT10LnJweDEscj10LnRyYW5zZm9ybS50ZXh0UG9zQW5nbGUsW2UqTWF0aC5zaW4ociksLWUqTWF0aC5jb3MocildO3ZhciBlLHJ9ci5wbG90PWZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBpLG8scz10Ll9mdWxsTGF5b3V0LGw9cy5fc3VuYnVyc3RsYXllcixjPSFyLGg9IXMudW5pZm9ybXRleHQubW9kZSYmeS5oYXNUcmFuc2l0aW9uKHIpOyh1KCJzdW5idXJzdCIscyksKGk9bC5zZWxlY3RBbGwoImcudHJhY2Uuc3VuYnVyc3QiKS5kYXRhKGUsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0udHJhY2UudWlkfSkpLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgidHJhY2UiLCEwKS5jbGFzc2VkKCJzdW5idXJzdCIsITApLmF0dHIoInN0cm9rZS1saW5lam9pbiIsInJvdW5kIiksaS5vcmRlcigpLGgpPyhhJiYobz1hKCkpLG4udHJhbnNpdGlvbigpLmR1cmF0aW9uKHIuZHVyYXRpb24pLmVhc2Uoci5lYXNpbmcpLmVhY2goImVuZCIsZnVuY3Rpb24oKXtvJiZvKCl9KS5lYWNoKCJpbnRlcnJ1cHQiLGZ1bmN0aW9uKCl7byYmbygpfSkuZWFjaChmdW5jdGlvbigpe2wuc2VsZWN0QWxsKCJnLnRyYWNlIikuZWFjaChmdW5jdGlvbihlKXt4KHQsZSx0aGlzLHIpfSl9KSk6KGkuZWFjaChmdW5jdGlvbihlKXt4KHQsZSx0aGlzLHIpfSkscy51bmlmb3JtdGV4dC5tb2RlJiZnKHQscy5fc3VuYnVyc3RsYXllci5zZWxlY3RBbGwoIi50cmFjZSIpLCJzdW5idXJzdCIpKTtjJiZpLmV4aXQoKS5yZW1vdmUoKX0sci5mb3JtYXRTbGljZUxhYmVsPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9ci50ZXh0dGVtcGxhdGUscz1yLnRleHRpbmZvO2lmKCEoaXx8cyYmIm5vbmUiIT09cykpcmV0dXJuIiI7dmFyIGw9YS5zZXBhcmF0b3JzLGM9blswXSx1PXQuZGF0YS5kYXRhLGg9Yy5oaWVyYXJjaHksZj15LmlzSGllcmFyY2h5Um9vdCh0KSxwPXkuZ2V0UGFyZW50KGgsdCksZD15LmdldFZhbHVlKHQpO2lmKCFpKXt2YXIgZyx2PXMuc3BsaXQoIisiKSxtPWZ1bmN0aW9uKHQpe3JldHVybi0xIT09di5pbmRleE9mKHQpfSx4PVtdO2lmKG0oImxhYmVsIikmJnUubGFiZWwmJngucHVzaCh1LmxhYmVsKSx1Lmhhc093blByb3BlcnR5KCJ2IikmJm0oInZhbHVlIikmJngucHVzaCh5LmZvcm1hdFZhbHVlKHUudixsKSksIWYpe20oImN1cnJlbnQgcGF0aCIpJiZ4LnB1c2goeS5nZXRQYXRoKHQuZGF0YSkpO3ZhciBiPTA7bSgicGVyY2VudCBwYXJlbnQiKSYmYisrLG0oInBlcmNlbnQgZW50cnkiKSYmYisrLG0oInBlcmNlbnQgcm9vdCIpJiZiKys7dmFyIF89Yj4xO2lmKGIpe3ZhciB3LGs9ZnVuY3Rpb24odCl7Zz15LmZvcm1hdFBlcmNlbnQodyxsKSxfJiYoZys9IiBvZiAiK3QpLHgucHVzaChnKX07bSgicGVyY2VudCBwYXJlbnQiKSYmIWYmJih3PWQveS5nZXRWYWx1ZShwKSxrKCJwYXJlbnQiKSksbSgicGVyY2VudCBlbnRyeSIpJiYodz1kL3kuZ2V0VmFsdWUoZSksaygiZW50cnkiKSksbSgicGVyY2VudCByb290IikmJih3PWQveS5nZXRWYWx1ZShoKSxrKCJyb290IikpfX1yZXR1cm4gbSgidGV4dCIpJiYoZz1vLmNhc3RPcHRpb24ocix1LmksInRleHQiKSxvLmlzVmFsaWRUZXh0VmFsdWUoZykmJngucHVzaChnKSkseC5qb2luKCI8YnI+Iil9dmFyIFQ9by5jYXN0T3B0aW9uKHIsdS5pLCJ0ZXh0dGVtcGxhdGUiKTtpZighVClyZXR1cm4iIjt2YXIgTT17fTt1LmxhYmVsJiYoTS5sYWJlbD11LmxhYmVsKSx1Lmhhc093blByb3BlcnR5KCJ2IikmJihNLnZhbHVlPXUudixNLnZhbHVlTGFiZWw9eS5mb3JtYXRWYWx1ZSh1LnYsbCkpLE0uY3VycmVudFBhdGg9eS5nZXRQYXRoKHQuZGF0YSksZnx8KE0ucGVyY2VudFBhcmVudD1kL3kuZ2V0VmFsdWUocCksTS5wZXJjZW50UGFyZW50TGFiZWw9eS5mb3JtYXRQZXJjZW50KE0ucGVyY2VudFBhcmVudCxsKSxNLnBhcmVudD15LmdldFB0TGFiZWwocCkpLE0ucGVyY2VudEVudHJ5PWQveS5nZXRWYWx1ZShlKSxNLnBlcmNlbnRFbnRyeUxhYmVsPXkuZm9ybWF0UGVyY2VudChNLnBlcmNlbnRFbnRyeSxsKSxNLmVudHJ5PXkuZ2V0UHRMYWJlbChlKSxNLnBlcmNlbnRSb290PWQveS5nZXRWYWx1ZShoKSxNLnBlcmNlbnRSb290TGFiZWw9eS5mb3JtYXRQZXJjZW50KE0ucGVyY2VudFJvb3QsbCksTS5yb290PXkuZ2V0UHRMYWJlbChoKSx1Lmhhc093blByb3BlcnR5KCJjb2xvciIpJiYoTS5jb2xvcj11LmNvbG9yKTt2YXIgQT1vLmNhc3RPcHRpb24ocix1LmksInRleHQiKTtyZXR1cm4oby5pc1ZhbGlkVGV4dFZhbHVlKEEpfHwiIj09PUEpJiYoTS50ZXh0PUEpLE0uY3VzdG9tZGF0YT1vLmNhc3RPcHRpb24ocix1LmksImN1c3RvbWRhdGEiKSxvLnRleHR0ZW1wbGF0ZVN0cmluZyhULE0sYS5fZDNsb2NhbGUsTSxyLl9tZXRhfHx7fSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uL2Jhci9zdHlsZSI6ODcwLCIuLi9iYXIvdW5pZm9ybV90ZXh0Ijo4NzIsIi4uL3BpZS9wbG90IjoxMTAzLCIuL2NvbnN0YW50cyI6MTIzNCwiLi9meCI6MTIzNiwiLi9oZWxwZXJzIjoxMjM3LCIuL3N0eWxlIjoxMjQyLGQzOjE2NSwiZDMtaGllcmFyY2h5IjoxNTl9XSwxMjQyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksaT10KCIuLi8uLi9saWIiKSxvPXQoIi4uL2Jhci91bmlmb3JtX3RleHQiKS5yZXNpemVUZXh0O2Z1bmN0aW9uIHModCxlLHIpe3ZhciBuPWUuZGF0YS5kYXRhLG89IWUuY2hpbGRyZW4scz1uLmksbD1pLmNhc3RPcHRpb24ocixzLCJtYXJrZXIubGluZS5jb2xvciIpfHxhLmRlZmF1bHRMaW5lLGM9aS5jYXN0T3B0aW9uKHIscywibWFya2VyLmxpbmUud2lkdGgiKXx8MDt0LnN0eWxlKCJzdHJva2Utd2lkdGgiLGMpLmNhbGwoYS5maWxsLG4uY29sb3IpLmNhbGwoYS5zdHJva2UsbCkuc3R5bGUoIm9wYWNpdHkiLG8/ci5sZWFmLm9wYWNpdHk6bnVsbCl9ZS5leHBvcnRzPXtzdHlsZTpmdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0Ll9zdW5idXJzdGxheWVyLnNlbGVjdEFsbCgiLnRyYWNlIik7byh0LGUsInN1bmJ1cnN0IiksZS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHRoaXMpLHI9dFswXS50cmFjZTtlLnN0eWxlKCJvcGFjaXR5IixyLm9wYWNpdHkpLGUuc2VsZWN0QWxsKCJwYXRoLnN1cmZhY2UiKS5lYWNoKGZ1bmN0aW9uKHQpe24uc2VsZWN0KHRoaXMpLmNhbGwocyx0LHIpfSl9KX0sc3R5bGVPbmU6c319LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9saWIiOjcxNywiLi4vYmFyL3VuaWZvcm1fdGV4dCI6ODcyLGQzOjE2NX1dLDEyNDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGE9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsbz10KCIuLi8uLi9wbG90cy9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdCxsPXQoIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiKS5vdmVycmlkZUFsbDtmdW5jdGlvbiBjKHQpe3JldHVybntzaG93Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxzdGFydDp7dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsZWRpdFR5cGU6InBsb3QifSxlbmQ6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDpudWxsLGVkaXRUeXBlOiJwbG90In0sc2l6ZTp7dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsbWluOjAsZWRpdFR5cGU6InBsb3QifSxwcm9qZWN0Ont4Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSx5Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSx6Ont2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfX0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixkZmx0Om4uZGVmYXVsdExpbmV9LHVzZWNvbG9ybWFwOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSx3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MSxtYXg6MTYsZGZsdDoyfSxoaWdobGlnaHQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITB9LGhpZ2hsaWdodGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZGZsdDpuLmRlZmF1bHRMaW5lfSxoaWdobGlnaHR3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MSxtYXg6MTYsZGZsdDoyfX19dmFyIHU9ZS5leHBvcnRzPWwocyh7ejp7dmFsVHlwZToiZGF0YV9hcnJheSJ9LHg6e3ZhbFR5cGU6ImRhdGFfYXJyYXkifSx5Ont2YWxUeXBlOiJkYXRhX2FycmF5In0sdGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITB9LGhvdmVydGV4dDp7dmFsVHlwZToic3RyaW5nIixkZmx0OiIiLGFycmF5T2s6ITB9LGhvdmVydGVtcGxhdGU6aSgpLGNvbm5lY3RnYXBzOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExLGVkaXRUeXBlOiJjYWxjIn0sc3VyZmFjZWNvbG9yOnt2YWxUeXBlOiJkYXRhX2FycmF5In19LGEoIiIse2NvbG9yQXR0cjoieiBvciBzdXJmYWNlY29sb3IiLHNob3dTY2FsZURmbHQ6ITAsYXV0b0NvbG9yRGZsdDohMSxlZGl0VHlwZU92ZXJyaWRlOiJjYWxjIn0pLHtjb250b3Vyczp7eDpjKCkseTpjKCksejpjKCl9LGhpZGVzdXJmYWNlOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiExfSxsaWdodHBvc2l0aW9uOnt4Ont2YWxUeXBlOiJudW1iZXIiLG1pbjotMWU1LG1heDoxZTUsZGZsdDoxMH0seTp7dmFsVHlwZToibnVtYmVyIixtaW46LTFlNSxtYXg6MWU1LGRmbHQ6MWU0fSx6Ont2YWxUeXBlOiJudW1iZXIiLG1pbjotMWU1LG1heDoxZTUsZGZsdDowfX0sbGlnaHRpbmc6e2FtYmllbnQ6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDouOH0sZGlmZnVzZTp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0Oi44fSxzcGVjdWxhcjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MixkZmx0Oi4wNX0scm91Z2huZXNzOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6LjV9LGZyZXNuZWw6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjUsZGZsdDouMn19LG9wYWNpdHk6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxfSxfZGVwcmVjYXRlZDp7emF1dG86cyh7fSxhLnphdXRvLHt9KSx6bWluOnMoe30sYS56bWluLHt9KSx6bWF4OnMoe30sYS56bWF4LHt9KX0saG92ZXJpbmZvOnMoe30sby5ob3ZlcmluZm8pLHNob3dsZWdlbmQ6cyh7fSxvLnNob3dsZWdlbmQse2RmbHQ6ITF9KX0pLCJjYWxjIiwibmVzdGVkIik7dS54LmVkaXRUeXBlPXUueS5lZGl0VHlwZT11LnouZWRpdFR5cGU9ImNhbGMrY2xlYXJBeGlzVHlwZXMiLHUudHJhbnNmb3Jtcz12b2lkIDB9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyI6NTk5LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDF9XSwxMjQ0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9jYWxjIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZS5zdXJmYWNlY29sb3I/bih0LGUse3ZhbHM6ZS5zdXJmYWNlY29sb3IsY29udGFpbmVyU3RyOiIiLGNMZXR0ZXI6ImMifSk6bih0LGUse3ZhbHM6ZS56LGNvbnRhaW5lclN0cjoiIixjTGV0dGVyOiJjIn0pfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvY2FsYyI6NjAwfV0sMTI0NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1zdXJmYWNlM2QiKSxhPXQoIm5kYXJyYXkiKSxpPXQoIm5kYXJyYXktaG9tb2dyYXBoeSIpLG89dCgibmRhcnJheS1maWxsIikscz10KCIuLi8uLi9saWIiKS5pc0FycmF5T3JUeXBlZEFycmF5LGw9dCgiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciIpLnBhcnNlQ29sb3JTY2FsZSxjPXQoIi4uLy4uL2xpYi9zdHIycmdiYXJyYXkiKSx1PXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLmV4dHJhY3RPcHRzLGg9dCgiLi4vaGVhdG1hcC9pbnRlcnAyZCIpLGY9dCgiLi4vaGVhdG1hcC9maW5kX2VtcHRpZXMiKTtmdW5jdGlvbiBwKHQsZSxyKXt0aGlzLnNjZW5lPXQsdGhpcy51aWQ9cix0aGlzLnN1cmZhY2U9ZSx0aGlzLmRhdGE9bnVsbCx0aGlzLnNob3dDb250b3VyPVshMSwhMSwhMV0sdGhpcy5jb250b3VyU3RhcnQ9W251bGwsbnVsbCxudWxsXSx0aGlzLmNvbnRvdXJFbmQ9W251bGwsbnVsbCxudWxsXSx0aGlzLmNvbnRvdXJTaXplPVswLDAsMF0sdGhpcy5taW5WYWx1ZXM9WzEvMCwxLzAsMS8wXSx0aGlzLm1heFZhbHVlcz1bLTEvMCwtMS8wLC0xLzBdLHRoaXMuZGF0YVNjYWxlWD0xLHRoaXMuZGF0YVNjYWxlWT0xLHRoaXMucmVmaW5lRGF0YT0hMCx0aGlzLm9iamVjdE9mZnNldD1bMCwwLDBdfXZhciBkPXAucHJvdG90eXBlO2QuZ2V0WGF0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXModGhpcy5kYXRhLngpP3ModGhpcy5kYXRhLnhbMF0pP3RoaXMuZGF0YS54W2VdW3RdOnRoaXMuZGF0YS54W3RdOnQ7cmV0dXJuIHZvaWQgMD09PXI/YTpuLmQybChhLDAscil9LGQuZ2V0WWF0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXModGhpcy5kYXRhLnkpP3ModGhpcy5kYXRhLnlbMF0pP3RoaXMuZGF0YS55W2VdW3RdOnRoaXMuZGF0YS55W2VdOmU7cmV0dXJuIHZvaWQgMD09PXI/YTpuLmQybChhLDAscil9LGQuZ2V0WmF0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMuZGF0YS56W2VdW3RdO3JldHVybiBudWxsPT09YSYmdGhpcy5kYXRhLmNvbm5lY3RnYXBzJiZ0aGlzLmRhdGEuX2ludGVycG9sYXRlZFomJihhPXRoaXMuZGF0YS5faW50ZXJwb2xhdGVkWltlXVt0XSksdm9pZCAwPT09cj9hOm4uZDJsKGEsMCxyKX0sZC5oYW5kbGVQaWNrPWZ1bmN0aW9uKHQpe2lmKHQub2JqZWN0PT09dGhpcy5zdXJmYWNlKXt2YXIgZT0odC5kYXRhLmluZGV4WzBdLTEpL3RoaXMuZGF0YVNjYWxlWC0xLHI9KHQuZGF0YS5pbmRleFsxXS0xKS90aGlzLmRhdGFTY2FsZVktMSxuPU1hdGgubWF4KE1hdGgubWluKE1hdGgucm91bmQoZSksdGhpcy5kYXRhLnpbMF0ubGVuZ3RoLTEpLDApLGE9TWF0aC5tYXgoTWF0aC5taW4oTWF0aC5yb3VuZChyKSx0aGlzLmRhdGEuX3lsZW5ndGgtMSksMCk7dC5pbmRleD1bbixhXSx0LnRyYWNlQ29vcmRpbmF0ZT1bdGhpcy5nZXRYYXQobixhKSx0aGlzLmdldFlhdChuLGEpLHRoaXMuZ2V0WmF0KG4sYSldLHQuZGF0YUNvb3JkaW5hdGU9W3RoaXMuZ2V0WGF0KG4sYSx0aGlzLmRhdGEueGNhbGVuZGFyLHRoaXMuc2NlbmUuZnVsbFNjZW5lTGF5b3V0LnhheGlzKSx0aGlzLmdldFlhdChuLGEsdGhpcy5kYXRhLnljYWxlbmRhcix0aGlzLnNjZW5lLmZ1bGxTY2VuZUxheW91dC55YXhpcyksdGhpcy5nZXRaYXQobixhLHRoaXMuZGF0YS56Y2FsZW5kYXIsdGhpcy5zY2VuZS5mdWxsU2NlbmVMYXlvdXQuemF4aXMpXTtmb3IodmFyIGk9MDtpPDM7aSsrKXt2YXIgbz10LmRhdGFDb29yZGluYXRlW2ldO251bGwhPW8mJih0LmRhdGFDb29yZGluYXRlW2ldKj10aGlzLnNjZW5lLmRhdGFTY2FsZVtpXSl9dmFyIHM9dGhpcy5kYXRhLmhvdmVydGV4dHx8dGhpcy5kYXRhLnRleHQ7cmV0dXJuIEFycmF5LmlzQXJyYXkocykmJnNbYV0mJnZvaWQgMCE9PXNbYV1bbl0/dC50ZXh0TGFiZWw9c1thXVtuXTp0LnRleHRMYWJlbD1zfHwiIix0LmRhdGEuZGF0YUNvb3JkaW5hdGU9dC5kYXRhQ29vcmRpbmF0ZS5zbGljZSgpLHRoaXMuc3VyZmFjZS5oaWdobGlnaHQodC5kYXRhKSx0aGlzLnNjZW5lLmdscGxvdC5zcGlrZXMucG9zaXRpb249dC5kYXRhQ29vcmRpbmF0ZSwhMH19O3ZhciBnPVsyLDMsNSw3LDExLDEzLDE3LDE5LDIzLDI5LDMxLDM3LDQxLDQzLDQ3LDUzLDU5LDYxLDY3LDcxLDczLDc5LDgzLDg5LDk3LDEwMSwxMDMsMTA3LDEwOSwxMTMsMTI3LDEzMSwxMzcsMTM5LDE0OSwxNTEsMTU3LDE2MywxNjcsMTczLDE3OSwxODEsMTkxLDE5MywxOTcsMTk5LDIxMSwyMjMsMjI3LDIyOSwyMzMsMjM5LDI0MSwyNTEsMjU3LDI2MywyNjksMjcxLDI3NywyODEsMjgzLDI5MywzMDcsMzExLDMxMywzMTcsMzMxLDMzNywzNDcsMzQ5LDM1MywzNTksMzY3LDM3MywzNzksMzgzLDM4OSwzOTcsNDAxLDQwOSw0MTksNDIxLDQzMSw0MzMsNDM5LDQ0Myw0NDksNDU3LDQ2MSw0NjMsNDY3LDQ3OSw0ODcsNDkxLDQ5OSw1MDMsNTA5LDUyMSw1MjMsNTQxLDU0Nyw1NTcsNTYzLDU2OSw1NzEsNTc3LDU4Nyw1OTMsNTk5LDYwMSw2MDcsNjEzLDYxNyw2MTksNjMxLDY0MSw2NDMsNjQ3LDY1Myw2NTksNjYxLDY3Myw2NzcsNjgzLDY5MSw3MDEsNzA5LDcxOSw3MjcsNzMzLDczOSw3NDMsNzUxLDc1Nyw3NjEsNzY5LDc3Myw3ODcsNzk3LDgwOSw4MTEsODIxLDgyMyw4MjcsODI5LDgzOSw4NTMsODU3LDg1OSw4NjMsODc3LDg4MSw4ODMsODg3LDkwNyw5MTEsOTE5LDkyOSw5MzcsOTQxLDk0Nyw5NTMsOTY3LDk3MSw5NzcsOTgzLDk5MSw5OTcsMTAwOSwxMDEzLDEwMTksMTAyMSwxMDMxLDEwMzMsMTAzOSwxMDQ5LDEwNTEsMTA2MSwxMDYzLDEwNjksMTA4NywxMDkxLDEwOTMsMTA5NywxMTAzLDExMDksMTExNywxMTIzLDExMjksMTE1MSwxMTUzLDExNjMsMTE3MSwxMTgxLDExODcsMTE5MywxMjAxLDEyMTMsMTIxNywxMjIzLDEyMjksMTIzMSwxMjM3LDEyNDksMTI1OSwxMjc3LDEyNzksMTI4MywxMjg5LDEyOTEsMTI5NywxMzAxLDEzMDMsMTMwNywxMzE5LDEzMjEsMTMyNywxMzYxLDEzNjcsMTM3MywxMzgxLDEzOTksMTQwOSwxNDIzLDE0MjcsMTQyOSwxNDMzLDE0MzksMTQ0NywxNDUxLDE0NTMsMTQ1OSwxNDcxLDE0ODEsMTQ4MywxNDg3LDE0ODksMTQ5MywxNDk5LDE1MTEsMTUyMywxNTMxLDE1NDMsMTU0OSwxNTUzLDE1NTksMTU2NywxNTcxLDE1NzksMTU4MywxNTk3LDE2MDEsMTYwNywxNjA5LDE2MTMsMTYxOSwxNjIxLDE2MjcsMTYzNywxNjU3LDE2NjMsMTY2NywxNjY5LDE2OTMsMTY5NywxNjk5LDE3MDksMTcyMSwxNzIzLDE3MzMsMTc0MSwxNzQ3LDE3NTMsMTc1OSwxNzc3LDE3ODMsMTc4NywxNzg5LDE4MDEsMTgxMSwxODIzLDE4MzEsMTg0NywxODYxLDE4NjcsMTg3MSwxODczLDE4NzcsMTg3OSwxODg5LDE5MDEsMTkwNywxOTEzLDE5MzEsMTkzMywxOTQ5LDE5NTEsMTk3MywxOTc5LDE5ODcsMTk5MywxOTk3LDE5OTksMjAwMywyMDExLDIwMTcsMjAyNywyMDI5LDIwMzksMjA1MywyMDYzLDIwNjksMjA4MSwyMDgzLDIwODcsMjA4OSwyMDk5LDIxMTEsMjExMywyMTI5LDIxMzEsMjEzNywyMTQxLDIxNDMsMjE1MywyMTYxLDIxNzksMjIwMywyMjA3LDIyMTMsMjIyMSwyMjM3LDIyMzksMjI0MywyMjUxLDIyNjcsMjI2OSwyMjczLDIyODEsMjI4NywyMjkzLDIyOTcsMjMwOSwyMzExLDIzMzMsMjMzOSwyMzQxLDIzNDcsMjM1MSwyMzU3LDIzNzEsMjM3NywyMzgxLDIzODMsMjM4OSwyMzkzLDIzOTksMjQxMSwyNDE3LDI0MjMsMjQzNywyNDQxLDI0NDcsMjQ1OSwyNDY3LDI0NzMsMjQ3NywyNTAzLDI1MjEsMjUzMSwyNTM5LDI1NDMsMjU0OSwyNTUxLDI1NTcsMjU3OSwyNTkxLDI1OTMsMjYwOSwyNjE3LDI2MjEsMjYzMywyNjQ3LDI2NTcsMjY1OSwyNjYzLDI2NzEsMjY3NywyNjgzLDI2ODcsMjY4OSwyNjkzLDI2OTksMjcwNywyNzExLDI3MTMsMjcxOSwyNzI5LDI3MzEsMjc0MSwyNzQ5LDI3NTMsMjc2NywyNzc3LDI3ODksMjc5MSwyNzk3LDI4MDEsMjgwMywyODE5LDI4MzMsMjgzNywyODQzLDI4NTEsMjg1NywyODYxLDI4NzksMjg4NywyODk3LDI5MDMsMjkwOSwyOTE3LDI5MjcsMjkzOSwyOTUzLDI5NTcsMjk2MywyOTY5LDI5NzEsMjk5OV07ZnVuY3Rpb24gdih0LGUpe2lmKHQ8ZSlyZXR1cm4gMDtmb3IodmFyIHI9MDswPT09TWF0aC5mbG9vcih0JWUpOyl0Lz1lLHIrKztyZXR1cm4gcn1mdW5jdGlvbiBtKHQpe2Zvcih2YXIgZT1bXSxyPTA7cjxnLmxlbmd0aDtyKyspe3ZhciBuPWdbcl07ZS5wdXNoKHYodCxuKSl9cmV0dXJuIGV9ZnVuY3Rpb24geSh0KXtmb3IodmFyIGU9bSh0KSxyPXQsbj0wO248Zy5sZW5ndGg7bisrKWlmKGVbbl0+MCl7cj1nW25dO2JyZWFrfXJldHVybiByfWZ1bmN0aW9uIHgodCxlKXtpZighKHQ8MXx8ZTwxKSl7Zm9yKHZhciByPW0odCksbj1tKGUpLGE9MSxpPTA7aTxnLmxlbmd0aDtpKyspYSo9TWF0aC5wb3coZ1tpXSxNYXRoLm1heChyW2ldLG5baV0pKTtyZXR1cm4gYX19ZC5jYWxjWG51bXM9ZnVuY3Rpb24odCl7dmFyIGUscj1bXTtmb3IoZT0xO2U8dDtlKyspe3ZhciBuPXRoaXMuZ2V0WGF0KGUtMSwwKSxhPXRoaXMuZ2V0WGF0KGUsMCk7cltlLTFdPWEhPT1uJiZudWxsIT1uJiZudWxsIT1hP01hdGguYWJzKGEtbik6MH12YXIgaT0wO2ZvcihlPTE7ZTx0O2UrKylpKz1yW2UtMV07Zm9yKGU9MTtlPHQ7ZSsrKTA9PT1yW2UtMV0/cltlLTFdPTE6cltlLTFdPU1hdGgucm91bmQoaS9yW2UtMV0pO3JldHVybiByfSxkLmNhbGNZbnVtcz1mdW5jdGlvbih0KXt2YXIgZSxyPVtdO2ZvcihlPTE7ZTx0O2UrKyl7dmFyIG49dGhpcy5nZXRZYXQoMCxlLTEpLGE9dGhpcy5nZXRZYXQoMCxlKTtyW2UtMV09YSE9PW4mJm51bGwhPW4mJm51bGwhPWE/TWF0aC5hYnMoYS1uKTowfXZhciBpPTA7Zm9yKGU9MTtlPHQ7ZSsrKWkrPXJbZS0xXTtmb3IoZT0xO2U8dDtlKyspMD09PXJbZS0xXT9yW2UtMV09MTpyW2UtMV09TWF0aC5yb3VuZChpL3JbZS0xXSk7cmV0dXJuIHJ9O3ZhciBiPVsxLDIsNCw2LDEyLDI0LDM2LDQ4LDYwLDEyMCwxODAsMjQwLDM2MCw3MjAsODQwLDEyNjBdLF89Yls5XSx3PWJbMTNdO2Z1bmN0aW9uIGsodCxlKXtmb3IodmFyIHI9ITEsbj0wO248dC5sZW5ndGg7bisrKWlmKGU9PT10W25dKXtyPSEwO2JyZWFrfSExPT09ciYmdC5wdXNoKGUpfWQuZXN0aW1hdGVTY2FsZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0xK2Z1bmN0aW9uKHQpe2lmKDAhPT10Lmxlbmd0aCl7Zm9yKHZhciBlPTEscj0wO3I8dC5sZW5ndGg7cisrKWU9eChlLHRbcl0pO3JldHVybiBlfX0oMD09PWU/dGhpcy5jYWxjWG51bXModCk6dGhpcy5jYWxjWW51bXModCkpO3I8Xzspcio9Mjtmb3IoO3I+dzspci0tLHIvPXkociksKytyPF8mJihyPXcpO3ZhciBuPU1hdGgucm91bmQoci90KTtyZXR1cm4gbj4xP246MX0sZC5yZWZpbmVDb29yZHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuZGF0YVNjYWxlWCxyPXRoaXMuZGF0YVNjYWxlWSxuPXRbMF0uc2hhcGVbMF0sbz10WzBdLnNoYXBlWzFdLHM9MHxNYXRoLmZsb29yKHRbMF0uc2hhcGVbMF0qZSsxKSxsPTB8TWF0aC5mbG9vcih0WzBdLnNoYXBlWzFdKnIrMSksYz0xK24rMSx1PTErbysxLGg9YShuZXcgRmxvYXQzMkFycmF5KGMqdSksW2MsdV0pLGY9MDtmPHQubGVuZ3RoOysrZil7dGhpcy5zdXJmYWNlLnBhZEZpZWxkKGgsdFtmXSk7dmFyIHA9YShuZXcgRmxvYXQzMkFycmF5KHMqbCksW3MsbF0pO2kocCxoLFtlLDAsMCwwLHIsMCwwLDAsMV0pLHRbZl09cH19LGQuc2V0Q29udG91ckxldmVscz1mdW5jdGlvbigpe3ZhciB0LGUscixuPVtbXSxbXSxbXV0sYT1bITEsITEsITFdLGk9ITE7Zm9yKHQ9MDt0PDM7Kyt0KWlmKHRoaXMuc2hvd0NvbnRvdXJbdF0mJihpPSEwLHRoaXMuY29udG91clNpemVbdF0+MCYmbnVsbCE9PXRoaXMuY29udG91clN0YXJ0W3RdJiZudWxsIT09dGhpcy5jb250b3VyRW5kW3RdJiZ0aGlzLmNvbnRvdXJFbmRbdF0+dGhpcy5jb250b3VyU3RhcnRbdF0pKWZvcihhW3RdPSEwLGU9dGhpcy5jb250b3VyU3RhcnRbdF07ZTx0aGlzLmNvbnRvdXJFbmRbdF07ZSs9dGhpcy5jb250b3VyU2l6ZVt0XSlyPWUqdGhpcy5zY2VuZS5kYXRhU2NhbGVbdF0sayhuW3RdLHIpO2lmKGkpe3ZhciBvPVtbXSxbXSxbXV07Zm9yKHQ9MDt0PDM7Kyt0KXRoaXMuc2hvd0NvbnRvdXJbdF0mJihvW3RdPWFbdF0/blt0XTp0aGlzLnNjZW5lLmNvbnRvdXJMZXZlbHNbdF0pO3RoaXMuc3VyZmFjZS51cGRhdGUoe2xldmVsczpvfSl9fSxkLnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLG4saSxzPXRoaXMuc2NlbmUscD1zLmZ1bGxTY2VuZUxheW91dCxkPXRoaXMuc3VyZmFjZSxnPXQub3BhY2l0eSx2PWwodCxnKSxtPXMuZGF0YVNjYWxlLHk9dC56WzBdLmxlbmd0aCx4PXQuX3lsZW5ndGgsYj1zLmNvbnRvdXJMZXZlbHM7dGhpcy5kYXRhPXQ7dmFyIF89W107Zm9yKGU9MDtlPDM7ZSsrKWZvcihfW2VdPVtdLHI9MDtyPHk7cisrKV9bZV1bcl09W107Zm9yKHI9MDtyPHk7cisrKWZvcihuPTA7bjx4O24rKylfWzBdW3JdW25dPXRoaXMuZ2V0WGF0KHIsbix0LnhjYWxlbmRhcixwLnhheGlzKSxfWzFdW3JdW25dPXRoaXMuZ2V0WWF0KHIsbix0LnljYWxlbmRhcixwLnlheGlzKSxfWzJdW3JdW25dPXRoaXMuZ2V0WmF0KHIsbix0LnpjYWxlbmRhcixwLnpheGlzKTtpZih0LmNvbm5lY3RnYXBzKWZvcih0Ll9lbXB0eXBvaW50cz1mKF9bMl0pLGgoX1syXSx0Ll9lbXB0eXBvaW50cyksdC5faW50ZXJwb2xhdGVkWj1bXSxyPTA7cjx5O3IrKylmb3IodC5faW50ZXJwb2xhdGVkWltyXT1bXSxuPTA7bjx4O24rKyl0Ll9pbnRlcnBvbGF0ZWRaW3JdW25dPV9bMl1bcl1bbl07Zm9yKGU9MDtlPDM7ZSsrKWZvcihyPTA7cjx5O3IrKylmb3Iobj0wO248eDtuKyspbnVsbD09KGk9X1tlXVtyXVtuXSk/X1tlXVtyXVtuXT1OYU46aT1fW2VdW3JdW25dKj1tW2VdO2ZvcihlPTA7ZTwzO2UrKylmb3Iocj0wO3I8eTtyKyspZm9yKG49MDtuPHg7bisrKW51bGwhPShpPV9bZV1bcl1bbl0pJiYodGhpcy5taW5WYWx1ZXNbZV0+aSYmKHRoaXMubWluVmFsdWVzW2VdPWkpLHRoaXMubWF4VmFsdWVzW2VdPGkmJih0aGlzLm1heFZhbHVlc1tlXT1pKSk7Zm9yKGU9MDtlPDM7ZSsrKXRoaXMub2JqZWN0T2Zmc2V0W2VdPS41Kih0aGlzLm1pblZhbHVlc1tlXSt0aGlzLm1heFZhbHVlc1tlXSk7Zm9yKGU9MDtlPDM7ZSsrKWZvcihyPTA7cjx5O3IrKylmb3Iobj0wO248eDtuKyspbnVsbCE9KGk9X1tlXVtyXVtuXSkmJihfW2VdW3JdW25dLT10aGlzLm9iamVjdE9mZnNldFtlXSk7dmFyIGs9W2EobmV3IEZsb2F0MzJBcnJheSh5KngpLFt5LHhdKSxhKG5ldyBGbG9hdDMyQXJyYXkoeSp4KSxbeSx4XSksYShuZXcgRmxvYXQzMkFycmF5KHkqeCksW3kseF0pXTtvKGtbMF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gX1swXVt0XVtlXX0pLG8oa1sxXSxmdW5jdGlvbih0LGUpe3JldHVybiBfWzFdW3RdW2VdfSksbyhrWzJdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIF9bMl1bdF1bZV19KSxfPVtdO3ZhciBUPXtjb2xvcm1hcDp2LGxldmVsczpbW10sW10sW11dLHNob3dDb250b3VyOlshMCwhMCwhMF0sc2hvd1N1cmZhY2U6IXQuaGlkZXN1cmZhY2UsY29udG91clByb2plY3Q6W1shMSwhMSwhMV0sWyExLCExLCExXSxbITEsITEsITFdXSxjb250b3VyV2lkdGg6WzEsMSwxXSxjb250b3VyQ29sb3I6W1sxLDEsMSwxXSxbMSwxLDEsMV0sWzEsMSwxLDFdXSxjb250b3VyVGludDpbMSwxLDFdLGR5bmFtaWNDb2xvcjpbWzEsMSwxLDFdLFsxLDEsMSwxXSxbMSwxLDEsMV1dLGR5bmFtaWNXaWR0aDpbMSwxLDFdLGR5bmFtaWNUaW50OlsxLDEsMV0sb3BhY2l0eTp0Lm9wYWNpdHl9LE09dSh0KTtpZihULmludGVuc2l0eUJvdW5kcz1bTS5taW4sTS5tYXhdLHQuc3VyZmFjZWNvbG9yKXt2YXIgQT1hKG5ldyBGbG9hdDMyQXJyYXkoeSp4KSxbeSx4XSk7byhBLGZ1bmN0aW9uKGUscil7cmV0dXJuIHQuc3VyZmFjZWNvbG9yW3JdW2VdfSksay5wdXNoKEEpfWVsc2UgVC5pbnRlbnNpdHlCb3VuZHNbMF0qPW1bMl0sVC5pbnRlbnNpdHlCb3VuZHNbMV0qPW1bMl07KHc8a1swXS5zaGFwZVswXXx8dzxrWzBdLnNoYXBlWzFdKSYmKHRoaXMucmVmaW5lRGF0YT0hMSksITA9PT10aGlzLnJlZmluZURhdGEmJih0aGlzLmRhdGFTY2FsZVg9dGhpcy5lc3RpbWF0ZVNjYWxlKGtbMF0uc2hhcGVbMF0sMCksdGhpcy5kYXRhU2NhbGVZPXRoaXMuZXN0aW1hdGVTY2FsZShrWzBdLnNoYXBlWzFdLDEpLDE9PT10aGlzLmRhdGFTY2FsZVgmJjE9PT10aGlzLmRhdGFTY2FsZVl8fHRoaXMucmVmaW5lQ29vcmRzKGspKSx0LnN1cmZhY2Vjb2xvciYmKFQuaW50ZW5zaXR5PWsucG9wKCkpO3ZhciBTPVshMCwhMCwhMF0sRT1bIngiLCJ5IiwieiJdO2ZvcihlPTA7ZTwzOysrZSl7dmFyIEw9dC5jb250b3Vyc1tFW2VdXTtTW2VdPUwuaGlnaGxpZ2h0LFQuc2hvd0NvbnRvdXJbZV09TC5zaG93fHxMLmhpZ2hsaWdodCxULnNob3dDb250b3VyW2VdJiYoVC5jb250b3VyUHJvamVjdFtlXT1bTC5wcm9qZWN0LngsTC5wcm9qZWN0LnksTC5wcm9qZWN0LnpdLEwuc2hvdz8odGhpcy5zaG93Q29udG91cltlXT0hMCxULmxldmVsc1tlXT1iW2VdLGQuaGlnaGxpZ2h0Q29sb3JbZV09VC5jb250b3VyQ29sb3JbZV09YyhMLmNvbG9yKSxMLnVzZWNvbG9ybWFwP2QuaGlnaGxpZ2h0VGludFtlXT1ULmNvbnRvdXJUaW50W2VdPTA6ZC5oaWdobGlnaHRUaW50W2VdPVQuY29udG91clRpbnRbZV09MSxULmNvbnRvdXJXaWR0aFtlXT1MLndpZHRoLHRoaXMuY29udG91clN0YXJ0W2VdPUwuc3RhcnQsdGhpcy5jb250b3VyRW5kW2VdPUwuZW5kLHRoaXMuY29udG91clNpemVbZV09TC5zaXplKToodGhpcy5zaG93Q29udG91cltlXT0hMSx0aGlzLmNvbnRvdXJTdGFydFtlXT1udWxsLHRoaXMuY29udG91ckVuZFtlXT1udWxsLHRoaXMuY29udG91clNpemVbZV09MCksTC5oaWdobGlnaHQmJihULmR5bmFtaWNDb2xvcltlXT1jKEwuaGlnaGxpZ2h0Y29sb3IpLFQuZHluYW1pY1dpZHRoW2VdPUwuaGlnaGxpZ2h0d2lkdGgpKX0oZnVuY3Rpb24odCl7dmFyIGU9dFswXS5yZ2Iscj10W3QubGVuZ3RoLTFdLnJnYjtyZXR1cm4gZVswXT09PXJbMF0mJmVbMV09PT1yWzFdJiZlWzJdPT09clsyXSYmZVszXT09PXJbM119KSh2KSYmKFQudmVydGV4Q29sb3I9ITApLFQub2JqZWN0T2Zmc2V0PXRoaXMub2JqZWN0T2Zmc2V0LFQuY29vcmRzPWssZC51cGRhdGUoVCksZC52aXNpYmxlPXQudmlzaWJsZSxkLmVuYWJsZUR5bmFtaWM9UyxkLmVuYWJsZUhpZ2hsaWdodD1TLGQuc25hcFRvRGF0YT0hMCwibGlnaHRpbmciaW4gdCYmKGQuYW1iaWVudExpZ2h0PXQubGlnaHRpbmcuYW1iaWVudCxkLmRpZmZ1c2VMaWdodD10LmxpZ2h0aW5nLmRpZmZ1c2UsZC5zcGVjdWxhckxpZ2h0PXQubGlnaHRpbmcuc3BlY3VsYXIsZC5yb3VnaG5lc3M9dC5saWdodGluZy5yb3VnaG5lc3MsZC5mcmVzbmVsPXQubGlnaHRpbmcuZnJlc25lbCksImxpZ2h0cG9zaXRpb24iaW4gdCYmKGQubGlnaHRQb3NpdGlvbj1bdC5saWdodHBvc2l0aW9uLngsdC5saWdodHBvc2l0aW9uLnksdC5saWdodHBvc2l0aW9uLnpdKSxnJiZnPDEmJihkLnN1cHBvcnRzVHJhbnNwYXJlbmN5PSEwKX0sZC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5zY2VuZS5nbHBsb3QucmVtb3ZlKHRoaXMuc3VyZmFjZSksdGhpcy5zdXJmYWNlLmRpc3Bvc2UoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5nbHBsb3QuZ2wsYT1uKHtnbDpyfSksaT1uZXcgcCh0LGEsZS51aWQpO3JldHVybiBhLl90cmFjZT1pLGkudXBkYXRlKGUpLHQuZ2xwbG90LmFkZChhKSxpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9nbF9mb3JtYXRfY29sb3IiOjcxNCwiLi4vLi4vbGliL3N0cjJyZ2JhcnJheSI6NzQwLCIuLi9oZWF0bWFwL2ZpbmRfZW1wdGllcyI6MTAwNiwiLi4vaGVhdG1hcC9pbnRlcnAyZCI6MTAwOSwiZ2wtc3VyZmFjZTNkIjozMTgsbmRhcnJheTo0NTIsIm5kYXJyYXktZmlsbCI6NDQyLCJuZGFycmF5LWhvbW9ncmFwaHkiOjQ0NH1dLDEyNDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcmVnaXN0cnkiKSxhPXQoIi4uLy4uL2xpYiIpLGk9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2RlZmF1bHRzIiksbz10KCIuL2F0dHJpYnV0ZXMiKTtmdW5jdGlvbiBzKHQsZSxyKXtlIGluIHQmJiEociBpbiB0KSYmKHRbcl09dFtlXSl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGwpe3ZhciBjLHU7ZnVuY3Rpb24gaChyLG4pe3JldHVybiBhLmNvZXJjZSh0LGUsbyxyLG4pfXZhciBmPWgoIngiKSxwPWgoInkiKSxkPWgoInoiKTtpZighZHx8IWQubGVuZ3RofHxmJiZmLmxlbmd0aDwxfHxwJiZwLmxlbmd0aDwxKWUudmlzaWJsZT0hMTtlbHNle2UuX3hsZW5ndGg9QXJyYXkuaXNBcnJheShmKSYmYS5pc0FycmF5T3JUeXBlZEFycmF5KGZbMF0pP2QubGVuZ3RoOmRbMF0ubGVuZ3RoLGUuX3lsZW5ndGg9ZC5sZW5ndGgsbi5nZXRDb21wb25lbnRNZXRob2QoImNhbGVuZGFycyIsImhhbmRsZVRyYWNlRGVmYXVsdHMiKSh0LGUsWyJ4IiwieSIsInoiXSxsKSxoKCJ0ZXh0IiksaCgiaG92ZXJ0ZXh0IiksaCgiaG92ZXJ0ZW1wbGF0ZSIpLFsibGlnaHRpbmcuYW1iaWVudCIsImxpZ2h0aW5nLmRpZmZ1c2UiLCJsaWdodGluZy5zcGVjdWxhciIsImxpZ2h0aW5nLnJvdWdobmVzcyIsImxpZ2h0aW5nLmZyZXNuZWwiLCJsaWdodHBvc2l0aW9uLngiLCJsaWdodHBvc2l0aW9uLnkiLCJsaWdodHBvc2l0aW9uLnoiLCJoaWRlc3VyZmFjZSIsImNvbm5lY3RnYXBzIiwib3BhY2l0eSJdLmZvckVhY2goZnVuY3Rpb24odCl7aCh0KX0pO3ZhciBnPWgoInN1cmZhY2Vjb2xvciIpLHY9WyJ4IiwieSIsInoiXTtmb3IoYz0wO2M8MzsrK2Mpe3ZhciBtPSJjb250b3Vycy4iK3ZbY10seT1oKG0rIi5zaG93IikseD1oKG0rIi5oaWdobGlnaHQiKTtpZih5fHx4KWZvcih1PTA7dTwzOysrdSloKG0rIi5wcm9qZWN0LiIrdlt1XSk7eSYmKGgobSsiLmNvbG9yIiksaChtKyIud2lkdGgiKSxoKG0rIi51c2Vjb2xvcm1hcCIpKSx4JiYoaChtKyIuaGlnaGxpZ2h0Y29sb3IiKSxoKG0rIi5oaWdobGlnaHR3aWR0aCIpKSxoKG0rIi5zdGFydCIpLGgobSsiLmVuZCIpLGgobSsiLnNpemUiKX1nfHwocyh0LCJ6bWluIiwiY21pbiIpLHModCwiem1heCIsImNtYXgiKSxzKHQsInphdXRvIiwiY2F1dG8iKSksaSh0LGUsbCxoLHtwcmVmaXg6IiIsY0xldHRlcjoiYyJ9KSxlLl9sZW5ndGg9bnVsbH19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9kZWZhdWx0cyI6NjAyLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcmVnaXN0cnkiOjg0NiwiLi9hdHRyaWJ1dGVzIjoxMjQzfV0sMTI0NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNvbG9yYmFyOnttaW46ImNtaW4iLG1heDoiY21heCJ9LGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuL2NvbnZlcnQiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToic3VyZmFjZSIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvZ2wzZCIpLGNhdGVnb3JpZXM6WyJnbDNkIiwiMmRNYXAiLCJzaG93TGVnZW5kIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvZ2wzZCI6ODA1LCIuL2F0dHJpYnV0ZXMiOjEyNDMsIi4vY2FsYyI6MTI0NCwiLi9jb252ZXJ0IjoxMjQ1LCIuL2RlZmF1bHRzIjoxMjQ2fV0sMTI0ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9jb21wb25lbnRzL2Fubm90YXRpb25zL2F0dHJpYnV0ZXMiKSxhPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LGk9dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLG89dCgiLi4vLi4vcGxvdHMvZm9udF9hdHRyaWJ1dGVzIikscz10KCIuLi8uLi9wbG90cy9kb21haW4iKS5hdHRyaWJ1dGVzO3QoIi4uLy4uL2NvbnN0YW50cy9kb2NzIikuRk9STUFUX0xJTks7KGUuZXhwb3J0cz1pKHtkb21haW46cyh7bmFtZToidGFibGUiLHRyYWNlOiEwfSksY29sdW1ud2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsYXJyYXlPazohMCxkZmx0Om51bGx9LGNvbHVtbm9yZGVyOnt2YWxUeXBlOiJkYXRhX2FycmF5In0saGVhZGVyOnt2YWx1ZXM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGRmbHQ6W119LGZvcm1hdDp7dmFsVHlwZToiZGF0YV9hcnJheSIsZGZsdDpbXX0scHJlZml4Ont2YWxUeXBlOiJzdHJpbmciLGFycmF5T2s6ITAsZGZsdDpudWxsfSxzdWZmaXg6e3ZhbFR5cGU6InN0cmluZyIsYXJyYXlPazohMCxkZmx0Om51bGx9LGhlaWdodDp7dmFsVHlwZToibnVtYmVyIixkZmx0OjI4fSxhbGlnbjphKHt9LG4uYWxpZ24se2FycmF5T2s6ITB9KSxsaW5lOnt3aWR0aDp7dmFsVHlwZToibnVtYmVyIixhcnJheU9rOiEwLGRmbHQ6MX0sY29sb3I6e3ZhbFR5cGU6ImNvbG9yIixhcnJheU9rOiEwLGRmbHQ6ImdyZXkifX0sZmlsbDp7Y29sb3I6e3ZhbFR5cGU6ImNvbG9yIixhcnJheU9rOiEwLGRmbHQ6IndoaXRlIn19LGZvbnQ6YSh7fSxvKHthcnJheU9rOiEwfSkpfSxjZWxsczp7dmFsdWVzOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdfSxmb3JtYXQ6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGRmbHQ6W119LHByZWZpeDp7dmFsVHlwZToic3RyaW5nIixhcnJheU9rOiEwLGRmbHQ6bnVsbH0sc3VmZml4Ont2YWxUeXBlOiJzdHJpbmciLGFycmF5T2s6ITAsZGZsdDpudWxsfSxoZWlnaHQ6e3ZhbFR5cGU6Im51bWJlciIsZGZsdDoyMH0sYWxpZ246YSh7fSxuLmFsaWduLHthcnJheU9rOiEwfSksbGluZTp7d2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsYXJyYXlPazohMCxkZmx0OjF9LGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsYXJyYXlPazohMCxkZmx0OiJncmV5In19LGZpbGw6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsYXJyYXlPazohMCxkZmx0OiJ3aGl0ZSJ9fSxmb250OmEoe30sbyh7YXJyYXlPazohMH0pKX19LCJjYWxjIiwiZnJvbS1yb290IikpLnRyYW5zZm9ybXM9dm9pZCAwfSx7Ii4uLy4uL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYXR0cmlidXRlcyI6NTc1LCIuLi8uLi9jb25zdGFudHMvZG9jcyI6Njg4LCIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4uLy4uL3Bsb3RfYXBpL2VkaXRfdHlwZXMiOjc0OCwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4uLy4uL3Bsb3RzL2ZvbnRfYXR0cmlidXRlcyI6NzkxfV0sMTI0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9nZXRfZGF0YSIpLmdldE1vZHVsZUNhbGNEYXRhLGE9dCgiLi9wbG90Iik7ci5uYW1lPSJ0YWJsZSIsci5wbG90PWZ1bmN0aW9uKHQpe3ZhciBlPW4odC5jYWxjZGF0YSwidGFibGUiKVswXTtlLmxlbmd0aCYmYSh0LGUpfSxyLmNsZWFuPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPW4uX2hhcyYmbi5faGFzKCJ0YWJsZSIpLGk9ZS5faGFzJiZlLl9oYXMoInRhYmxlIik7YSYmIWkmJm4uX3BhcGVyZGl2LnNlbGVjdEFsbCgiLnRhYmxlIikucmVtb3ZlKCl9fSx7Ii4uLy4uL3Bsb3RzL2dldF9kYXRhIjo4MDAsIi4vcGxvdCI6MTI1Nn1dLDEyNTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliL2d1cCIpLndyYXA7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuIG4oe30pfX0seyIuLi8uLi9saWIvZ3VwIjo3MTV9XSwxMjUxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17Y2VsbFBhZDo4LGNvbHVtbkV4dGVudE9mZnNldDoxMCxjb2x1bW5UaXRsZU9mZnNldDoyOCxlbXB0eUhlYWRlckhlaWdodDoxNixsYXRleENoZWNrOi9eXCQuKlwkJC8sZ29sZGVuUmF0aW86MS42MTgsbGluZUJyZWFrZXI6Ijxicj4iLG1heERpbWVuc2lvbkNvdW50OjYwLG92ZXJkcmFnOjQ1LHJlbGVhc2VUcmFuc2l0aW9uRHVyYXRpb246MTIwLHJlbGVhc2VUcmFuc2l0aW9uRWFzZToiY3ViaWMtb3V0IixzY3JvbGxiYXJDYXB0dXJlV2lkdGg6MTgsc2Nyb2xsYmFySGlkZURlbGF5OjFlMyxzY3JvbGxiYXJIaWRlRHVyYXRpb246MWUzLHNjcm9sbGJhck9mZnNldDo1LHNjcm9sbGJhcldpZHRoOjgsdHJhbnNpdGlvbkR1cmF0aW9uOjEwMCx0cmFuc2l0aW9uRWFzZToiY3ViaWMtb3V0Iix1cGxpZnQ6NSx3cmFwU3BhY2VyOiIgIix3cmFwU3BsaXRDaGFyYWN0ZXI6IiAiLGNuOnt0YWJsZToidGFibGUiLHRhYmxlQ29udHJvbFZpZXc6InRhYmxlLWNvbnRyb2wtdmlldyIsc2Nyb2xsQmFja2dyb3VuZDoic2Nyb2xsLWJhY2tncm91bmQiLHlDb2x1bW46InktY29sdW1uIixjb2x1bW5CbG9jazoiY29sdW1uLWJsb2NrIixzY3JvbGxBcmVhQ2xpcDoic2Nyb2xsLWFyZWEtY2xpcCIsc2Nyb2xsQXJlYUNsaXBSZWN0OiJzY3JvbGwtYXJlYS1jbGlwLXJlY3QiLGNvbHVtbkJvdW5kYXJ5OiJjb2x1bW4tYm91bmRhcnkiLGNvbHVtbkJvdW5kYXJ5Q2xpcHBhdGg6ImNvbHVtbi1ib3VuZGFyeS1jbGlwcGF0aCIsY29sdW1uQm91bmRhcnlSZWN0OiJjb2x1bW4tYm91bmRhcnktcmVjdCIsY29sdW1uQ2VsbHM6ImNvbHVtbi1jZWxscyIsY29sdW1uQ2VsbDoiY29sdW1uLWNlbGwiLGNlbGxSZWN0OiJjZWxsLXJlY3QiLGNlbGxUZXh0OiJjZWxsLXRleHQiLGNlbGxUZXh0SG9sZGVyOiJjZWxsLXRleHQtaG9sZGVyIixzY3JvbGxiYXJLaXQ6InNjcm9sbGJhci1raXQiLHNjcm9sbGJhcjoic2Nyb2xsYmFyIixzY3JvbGxiYXJTbGlkZXI6InNjcm9sbGJhci1zbGlkZXIiLHNjcm9sbGJhckdseXBoOiJzY3JvbGxiYXItZ2x5cGgiLHNjcm9sbGJhckNhcHR1cmVab25lOiJzY3JvbGxiYXItY2FwdHVyZS16b25lIn19fSx7fV0sMTI1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvbnN0YW50cyIpLGE9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsaT10KCJmYXN0LWlzbnVtZXJpYyIpO2Z1bmN0aW9uIG8odCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKWU9TWF0aC5tYXgoZSxvKHRbcl0pKTtyZXR1cm4gZX1yZXR1cm4gdH1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIHQrZX1mdW5jdGlvbiBsKHQpe3ZhciBlLHI9dC5zbGljZSgpLG49MS8wLGE9MDtmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKUFycmF5LmlzQXJyYXkocltlXSl8fChyW2VdPVtyW2VdXSksbj1NYXRoLm1pbihuLHJbZV0ubGVuZ3RoKSxhPU1hdGgubWF4KGEscltlXS5sZW5ndGgpO2lmKG4hPT1hKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspe3ZhciBpPWEtcltlXS5sZW5ndGg7aSYmKHJbZV09cltlXS5jb25jYXQoYyhpKSkpfXJldHVybiByfWZ1bmN0aW9uIGModCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyllW3JdPSIiO3JldHVybiBlfWZ1bmN0aW9uIHUodCl7cmV0dXJuIHQuY2FsY2RhdGEuY29sdW1ucy5yZWR1Y2UoZnVuY3Rpb24oZSxyKXtyZXR1cm4gci54SW5kZXg8dC54SW5kZXg/ZStyLmNvbHVtbldpZHRoOmV9LDApfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gT2JqZWN0LmtleXModCkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiBhKHt9LHRbcl0se2F1eGlsaWFyeUJsb2NrczplfSl9KX1mdW5jdGlvbiBmKHQsZSl7Zm9yKHZhciByLG49e30sYT0wLGk9MCxvPXtmaXJzdFJvd0luZGV4Om51bGwsbGFzdFJvd0luZGV4Om51bGwscm93czpbXX0scz0wLGw9MCxjPTA7Yzx0Lmxlbmd0aDtjKyspcj10W2NdLG8ucm93cy5wdXNoKHtyb3dJbmRleDpjLHJvd0hlaWdodDpyfSksKChpKz1yKT49ZXx8Yz09PXQubGVuZ3RoLTEpJiYoblthXT1vLG8ua2V5PWwrKyxvLmZpcnN0Um93SW5kZXg9cyxvLmxhc3RSb3dJbmRleD1jLG89e2ZpcnN0Um93SW5kZXg6bnVsbCxsYXN0Um93SW5kZXg6bnVsbCxyb3dzOltdfSxhKz1pLHM9YysxLGk9MCk7cmV0dXJuIG59ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bChlLmNlbGxzLnZhbHVlcykscD1mdW5jdGlvbih0KXtyZXR1cm4gdC5zbGljZShlLmhlYWRlci52YWx1ZXMubGVuZ3RoLHQubGVuZ3RoKX0sZD1sKGUuaGVhZGVyLnZhbHVlcyk7ZC5sZW5ndGgmJiFkWzBdLmxlbmd0aCYmKGRbMF09WyIiXSxkPWwoZCkpO3ZhciBnPWQuY29uY2F0KHAocikubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGMoKGRbMF18fFsiIl0pLmxlbmd0aCl9KSksdj1lLmRvbWFpbixtPU1hdGguZmxvb3IodC5fZnVsbExheW91dC5fc2l6ZS53Kih2LnhbMV0tdi54WzBdKSkseT1NYXRoLmZsb29yKHQuX2Z1bGxMYXlvdXQuX3NpemUuaCoodi55WzFdLXYueVswXSkpLHg9ZS5oZWFkZXIudmFsdWVzLmxlbmd0aD9nWzBdLm1hcChmdW5jdGlvbigpe3JldHVybiBlLmhlYWRlci5oZWlnaHR9KTpbbi5lbXB0eUhlYWRlckhlaWdodF0sYj1yLmxlbmd0aD9yWzBdLm1hcChmdW5jdGlvbigpe3JldHVybiBlLmNlbGxzLmhlaWdodH0pOltdLF89eC5yZWR1Y2UocywwKSx3PWYoYix5LV8rbi51cGxpZnQpLGs9aChmKHgsXyksW10pLFQ9aCh3LGspLE09e30sQT1lLl9mdWxsSW5wdXQuY29sdW1ub3JkZXIuY29uY2F0KHAoci5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0pKSksUz1nLm1hcChmdW5jdGlvbih0LHIpe3ZhciBuPUFycmF5LmlzQXJyYXkoZS5jb2x1bW53aWR0aCk/ZS5jb2x1bW53aWR0aFtNYXRoLm1pbihyLGUuY29sdW1ud2lkdGgubGVuZ3RoLTEpXTplLmNvbHVtbndpZHRoO3JldHVybiBpKG4pP051bWJlcihuKToxfSksRT1TLnJlZHVjZShzLDApO1M9Uy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQvRSptfSk7dmFyIEw9TWF0aC5tYXgobyhlLmhlYWRlci5saW5lLndpZHRoKSxvKGUuY2VsbHMubGluZS53aWR0aCkpLEM9e2tleTplLnVpZCt0Ll9jb250ZXh0LnN0YXRpY1Bsb3QsdHJhbnNsYXRlWDp2LnhbMF0qdC5fZnVsbExheW91dC5fc2l6ZS53LHRyYW5zbGF0ZVk6dC5fZnVsbExheW91dC5fc2l6ZS5oKigxLXYueVsxXSksc2l6ZTp0Ll9mdWxsTGF5b3V0Ll9zaXplLHdpZHRoOm0sbWF4TGluZVdpZHRoOkwsaGVpZ2h0OnksY29sdW1uT3JkZXI6QSxncm91cEhlaWdodDp5LHJvd0Jsb2NrczpULGhlYWRlclJvd0Jsb2NrczprLHNjcm9sbFk6MCxjZWxsczphKHt9LGUuY2VsbHMse3ZhbHVlczpyfSksaGVhZGVyQ2VsbHM6YSh7fSxlLmhlYWRlcix7dmFsdWVzOmd9KSxnZENvbHVtbnM6Zy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19KSxnZENvbHVtbnNPcmlnaW5hbE9yZGVyOmcubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdfSkscHJldlBhZ2VzOlswLDBdLHNjcm9sbGJhclN0YXRlOntzY3JvbGxiYXJTY3JvbGxJblByb2dyZXNzOiExfSxjb2x1bW5zOmcubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIHI9TVt0XTtyZXR1cm4gTVt0XT0ocnx8MCkrMSx7a2V5OnQrIl9fIitNW3RdLGxhYmVsOnQsc3BlY0luZGV4OmUseEluZGV4OkFbZV0seFNjYWxlOnUseDp2b2lkIDAsY2FsY2RhdGE6dm9pZCAwLGNvbHVtbldpZHRoOlNbZV19fSl9O3JldHVybiBDLmNvbHVtbnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNhbGNkYXRhPUMsdC54PXUodCl9KSxDfX0seyIuLi8uLi9saWIvZXh0ZW5kIjo3MDgsIi4vY29uc3RhbnRzIjoxMjUxLCJmYXN0LWlzbnVtZXJpYyI6MjI4fV0sMTI1MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIvZXh0ZW5kIikuZXh0ZW5kRmxhdDtyLnNwbGl0VG9QYW5lbHM9ZnVuY3Rpb24odCl7dmFyIGU9WzAsMF0scj1uKHt9LHQse2tleToiaGVhZGVyIix0eXBlOiJoZWFkZXIiLHBhZ2U6MCxwcmV2UGFnZXM6ZSxjdXJyZW50UmVwYWludDpbbnVsbCxudWxsXSxkcmFnSGFuZGxlOiEwLHZhbHVlczp0LmNhbGNkYXRhLmhlYWRlckNlbGxzLnZhbHVlc1t0LnNwZWNJbmRleF0scm93QmxvY2tzOnQuY2FsY2RhdGEuaGVhZGVyUm93QmxvY2tzLGNhbGNkYXRhOm4oe30sdC5jYWxjZGF0YSx7Y2VsbHM6dC5jYWxjZGF0YS5oZWFkZXJDZWxsc30pfSk7cmV0dXJuW24oe30sdCx7a2V5OiJjZWxsczEiLHR5cGU6ImNlbGxzIixwYWdlOjAscHJldlBhZ2VzOmUsY3VycmVudFJlcGFpbnQ6W251bGwsbnVsbF0sZHJhZ0hhbmRsZTohMSx2YWx1ZXM6dC5jYWxjZGF0YS5jZWxscy52YWx1ZXNbdC5zcGVjSW5kZXhdLHJvd0Jsb2Nrczp0LmNhbGNkYXRhLnJvd0Jsb2Nrc30pLG4oe30sdCx7a2V5OiJjZWxsczIiLHR5cGU6ImNlbGxzIixwYWdlOjEscHJldlBhZ2VzOmUsY3VycmVudFJlcGFpbnQ6W251bGwsbnVsbF0sZHJhZ0hhbmRsZTohMSx2YWx1ZXM6dC5jYWxjZGF0YS5jZWxscy52YWx1ZXNbdC5zcGVjSW5kZXhdLHJvd0Jsb2Nrczp0LmNhbGNkYXRhLnJvd0Jsb2Nrc30pLHJdfSxyLnNwbGl0VG9DZWxscz1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0KXt2YXIgZT10LnJvd0Jsb2Nrc1t0LnBhZ2VdLHI9ZT9lLnJvd3NbMF0ucm93SW5kZXg6MCxuPWU/citlLnJvd3MubGVuZ3RoOjA7cmV0dXJuW3Isbl19KHQpO3JldHVybih0LnZhbHVlc3x8W10pLnNsaWNlKGVbMF0sZVsxXSkubWFwKGZ1bmN0aW9uKHIsbil7cmV0dXJue2tleVdpdGhpbkJsb2NrOm4rKCJzdHJpbmciPT10eXBlb2YgciYmci5tYXRjaCgvWzwkJj4gXS8pPyJfa2V5YnVzdGVyXyIrTWF0aC5yYW5kb20oKToiIiksa2V5OmVbMF0rbixjb2x1bW46dCxjYWxjZGF0YTp0LmNhbGNkYXRhLHBhZ2U6dC5wYWdlLHJvd0Jsb2Nrczp0LnJvd0Jsb2Nrcyx2YWx1ZTpyfX0pfX0seyIuLi8uLi9saWIvZXh0ZW5kIjo3MDh9XSwxMjU0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9wbG90cy9kb21haW4iKS5kZWZhdWx0cztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbyl7ZnVuY3Rpb24gcyhyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfWkoZSxvLHMpLHMoImNvbHVtbndpZHRoIikscygiaGVhZGVyLnZhbHVlcyIpLHMoImhlYWRlci5mb3JtYXQiKSxzKCJoZWFkZXIuYWxpZ24iKSxzKCJoZWFkZXIucHJlZml4IikscygiaGVhZGVyLnN1ZmZpeCIpLHMoImhlYWRlci5oZWlnaHQiKSxzKCJoZWFkZXIubGluZS53aWR0aCIpLHMoImhlYWRlci5saW5lLmNvbG9yIikscygiaGVhZGVyLmZpbGwuY29sb3IiKSxuLmNvZXJjZUZvbnQocywiaGVhZGVyLmZvbnQiLG4uZXh0ZW5kRmxhdCh7fSxvLmZvbnQpKSxmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmNvbHVtbm9yZGVyfHxbXSxuPXQuaGVhZGVyLnZhbHVlcy5sZW5ndGgsYT1yLnNsaWNlKDAsbiksaT1hLnNsaWNlKCkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSxvPWEubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBpLmluZGV4T2YodCl9KSxzPW8ubGVuZ3RoO3M8bjtzKyspby5wdXNoKHMpO2UoImNvbHVtbm9yZGVyIixvKX0oZSxzKSxzKCJjZWxscy52YWx1ZXMiKSxzKCJjZWxscy5mb3JtYXQiKSxzKCJjZWxscy5hbGlnbiIpLHMoImNlbGxzLnByZWZpeCIpLHMoImNlbGxzLnN1ZmZpeCIpLHMoImNlbGxzLmhlaWdodCIpLHMoImNlbGxzLmxpbmUud2lkdGgiKSxzKCJjZWxscy5saW5lLmNvbG9yIikscygiY2VsbHMuZmlsbC5jb2xvciIpLG4uY29lcmNlRm9udChzLCJjZWxscy5mb250IixuLmV4dGVuZEZsYXQoe30sby5mb250KSksZS5fbGVuZ3RoPW51bGx9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi8uLi9wbG90cy9kb21haW4iOjc5MCwiLi9hdHRyaWJ1dGVzIjoxMjQ4fV0sMTI1NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIikscGxvdDp0KCIuL3Bsb3QiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToidGFibGUiLGJhc2VQbG90TW9kdWxlOnQoIi4vYmFzZV9wbG90IiksY2F0ZWdvcmllczpbIm5vT3BhY2l0eSJdLG1ldGE6e319fSx7Ii4vYXR0cmlidXRlcyI6MTI0OCwiLi9iYXNlX3Bsb3QiOjEyNDksIi4vY2FsYyI6MTI1MCwiLi9kZWZhdWx0cyI6MTI1NCwiLi9wbG90IjoxMjU2fV0sMTI1NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvbnN0YW50cyIpLGE9dCgiZDMiKSxpPXQoIi4uLy4uL2xpYi9ndXAiKSxvPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLHM9dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIiksbD10KCIuLi8uLi9saWIiKS5yYWlzZVRvVG9wLGM9dCgiLi4vLi4vbGliIikuY2FuY2VsVHJhbnNpdGlvbix1PXQoIi4vZGF0YV9wcmVwYXJhdGlvbl9oZWxwZXIiKSxoPXQoIi4vZGF0YV9zcGxpdF9oZWxwZXJzIiksZj10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIik7ZnVuY3Rpb24gcCh0KXtyZXR1cm4gTWF0aC5jZWlsKHQuY2FsY2RhdGEubWF4TGluZVdpZHRoLzIpfWZ1bmN0aW9uIGQodCxlKXtyZXR1cm4iY2xpcCIrdC5fZnVsbExheW91dC5fdWlkKyJfc2Nyb2xsQXJlYUJvdHRvbUNsaXBfIitlLmtleX1mdW5jdGlvbiBnKHQsZSl7cmV0dXJuImNsaXAiK3QuX2Z1bGxMYXlvdXQuX3VpZCsiX2NvbHVtbkJvdW5kYXJ5Q2xpcHBhdGhfIitlLmNhbGNkYXRhLmtleSsiXyIrZS5zcGVjSW5kZXh9ZnVuY3Rpb24gdih0KXtyZXR1cm5bXS5jb25jYXQuYXBwbHkoW10sdC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fZGF0YV9ffSl9ZnVuY3Rpb24gbSh0LGUscil7dmFyIG89dC5zZWxlY3RBbGwoIi4iK24uY24uc2Nyb2xsYmFyS2l0KS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTtvLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLnNjcm9sbGJhcktpdCwhMCkuc3R5bGUoInNoYXBlLXJlbmRlcmluZyIsImdlb21ldHJpY1ByZWNpc2lvbiIpLG8uZWFjaChmdW5jdGlvbih0KXt2YXIgZT10LnNjcm9sbGJhclN0YXRlO2UudG90YWxIZWlnaHQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5yb3dCbG9ja3M7cmV0dXJuIHooZSxlLmxlbmd0aC0xKSsoZS5sZW5ndGg/SShlW2UubGVuZ3RoLTFdLDEvMCk6MSl9KHQpLGUuc2Nyb2xsYWJsZUFyZWFIZWlnaHQ9dC5ncm91cEhlaWdodC1NKHQpLGUuY3VycmVudGx5VmlzaWJsZUhlaWdodD1NYXRoLm1pbihlLnRvdGFsSGVpZ2h0LGUuc2Nyb2xsYWJsZUFyZWFIZWlnaHQpLGUucmF0aW89ZS5jdXJyZW50bHlWaXNpYmxlSGVpZ2h0L2UudG90YWxIZWlnaHQsZS5iYXJMZW5ndGg9TWF0aC5tYXgoZS5yYXRpbyplLmN1cnJlbnRseVZpc2libGVIZWlnaHQsbi5nb2xkZW5SYXRpbypuLnNjcm9sbGJhcldpZHRoKSxlLmJhcldpZ2dsZVJvb209ZS5jdXJyZW50bHlWaXNpYmxlSGVpZ2h0LWUuYmFyTGVuZ3RoLGUud2lnZ2xlUm9vbT1NYXRoLm1heCgwLGUudG90YWxIZWlnaHQtZS5zY3JvbGxhYmxlQXJlYUhlaWdodCksZS50b3BZPTA9PT1lLmJhcldpZ2dsZVJvb20/MDp0LnNjcm9sbFkvZS53aWdnbGVSb29tKmUuYmFyV2lnZ2xlUm9vbSxlLmJvdHRvbVk9ZS50b3BZK2UuYmFyTGVuZ3RoLGUuZHJhZ011bHRpcGxpZXI9ZS53aWdnbGVSb29tL2UuYmFyV2lnZ2xlUm9vbX0pLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiKyh0LndpZHRoK24uc2Nyb2xsYmFyV2lkdGgvMituLnNjcm9sbGJhck9mZnNldCkrIiAiK00odCkrIikifSk7dmFyIHM9by5zZWxlY3RBbGwoIi4iK24uY24uc2Nyb2xsYmFyKS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTtzLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLnNjcm9sbGJhciwhMCk7dmFyIGw9cy5zZWxlY3RBbGwoIi4iK24uY24uc2Nyb2xsYmFyU2xpZGVyKS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTtsLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLnNjcm9sbGJhclNsaWRlciwhMCksbC5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoMCAiKyh0LnNjcm9sbGJhclN0YXRlLnRvcFl8fDApKyIpIn0pO3ZhciBjPWwuc2VsZWN0QWxsKCIuIituLmNuLnNjcm9sbGJhckdseXBoKS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTtjLmVudGVyKCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZChuLmNuLnNjcm9sbGJhckdseXBoLCEwKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoInN0cm9rZS13aWR0aCIsbi5zY3JvbGxiYXJXaWR0aCkuYXR0cigic3Ryb2tlLWxpbmVjYXAiLCJyb3VuZCIpLmF0dHIoInkxIixuLnNjcm9sbGJhcldpZHRoLzIpLGMuYXR0cigieTIiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnNjcm9sbGJhclN0YXRlLmJhckxlbmd0aC1uLnNjcm9sbGJhcldpZHRoLzJ9KS5hdHRyKCJzdHJva2Utb3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHQuY29sdW1uRHJhZ0luUHJvZ3Jlc3N8fCF0LnNjcm9sbGJhclN0YXRlLmJhcldpZ2dsZVJvb218fHI/MDouNH0pLGMudHJhbnNpdGlvbigpLmRlbGF5KDApLmR1cmF0aW9uKDApLGMudHJhbnNpdGlvbigpLmRlbGF5KG4uc2Nyb2xsYmFySGlkZURlbGF5KS5kdXJhdGlvbihuLnNjcm9sbGJhckhpZGVEdXJhdGlvbikuYXR0cigic3Ryb2tlLW9wYWNpdHkiLDApO3ZhciB1PXMuc2VsZWN0QWxsKCIuIituLmNuLnNjcm9sbGJhckNhcHR1cmVab25lKS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTt1LmVudGVyKCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZChuLmNuLnNjcm9sbGJhckNhcHR1cmVab25lLCEwKS5hdHRyKCJzdHJva2UiLCJ3aGl0ZSIpLmF0dHIoInN0cm9rZS1vcGFjaXR5IiwuMDEpLmF0dHIoInN0cm9rZS13aWR0aCIsbi5zY3JvbGxiYXJDYXB0dXJlV2lkdGgpLmF0dHIoInN0cm9rZS1saW5lY2FwIiwiYnV0dCIpLmF0dHIoInkxIiwwKS5vbigibW91c2Vkb3duIixmdW5jdGlvbihyKXt2YXIgbj1hLmV2ZW50LnksaT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89ci5zY3JvbGxiYXJTdGF0ZSxzPW4taS50b3AsbD1hLnNjYWxlLmxpbmVhcigpLmRvbWFpbihbMCxvLnNjcm9sbGFibGVBcmVhSGVpZ2h0XSkucmFuZ2UoWzAsby50b3RhbEhlaWdodF0pLmNsYW1wKCEwKTtvLnRvcFk8PXMmJnM8PW8uYm90dG9tWXx8UyhlLHQsbnVsbCxsKHMtby5iYXJMZW5ndGgvMikpKHIpfSkuY2FsbChhLmJlaGF2aW9yLmRyYWcoKS5vcmlnaW4oZnVuY3Rpb24odCl7cmV0dXJuIGEuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCksdC5zY3JvbGxiYXJTdGF0ZS5zY3JvbGxiYXJTY3JvbGxJblByb2dyZXNzPSEwLHR9KS5vbigiZHJhZyIsUyhlLHQpKS5vbigiZHJhZ2VuZCIsZnVuY3Rpb24oKXt9KSksdS5hdHRyKCJ5MiIsZnVuY3Rpb24odCl7cmV0dXJuIHQuc2Nyb2xsYmFyU3RhdGUuc2Nyb2xsYWJsZUFyZWFIZWlnaHR9KSxlLl9jb250ZXh0LnN0YXRpY1Bsb3QmJihjLnJlbW92ZSgpLHUucmVtb3ZlKCkpfWZ1bmN0aW9uIHkodCxlLHIscyl7dmFyIGw9ZnVuY3Rpb24odCl7dmFyIGU9dC5zZWxlY3RBbGwoIi4iK24uY24uY29sdW1uQ2VsbCkuZGF0YShoLnNwbGl0VG9DZWxscyxmdW5jdGlvbih0KXtyZXR1cm4gdC5rZXlXaXRoaW5CbG9ja30pO3JldHVybiBlLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLmNvbHVtbkNlbGwsITApLGUuZXhpdCgpLnJlbW92ZSgpLGV9KGZ1bmN0aW9uKHQpe3ZhciBlPXQuc2VsZWN0QWxsKCIuIituLmNuLmNvbHVtbkNlbGxzKS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTtyZXR1cm4gZS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5jbi5jb2x1bW5DZWxscywhMCksZS5leGl0KCkucmVtb3ZlKCksZX0ocikpOyFmdW5jdGlvbih0KXt0LmVhY2goZnVuY3Rpb24odCxlKXt2YXIgcj10LmNhbGNkYXRhLmNlbGxzLmZvbnQsbj10LmNvbHVtbi5zcGVjSW5kZXgsYT17c2l6ZTpfKHIuc2l6ZSxuLGUpLGNvbG9yOl8oci5jb2xvcixuLGUpLGZhbWlseTpfKHIuZmFtaWx5LG4sZSl9O3Qucm93TnVtYmVyPXQua2V5LHQuYWxpZ249Xyh0LmNhbGNkYXRhLmNlbGxzLmFsaWduLG4sZSksdC5jZWxsQm9yZGVyV2lkdGg9Xyh0LmNhbGNkYXRhLmNlbGxzLmxpbmUud2lkdGgsbixlKSx0LmZvbnQ9YX0pfShsKSxmdW5jdGlvbih0KXt0LmF0dHIoIndpZHRoIixmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW4uY29sdW1uV2lkdGh9KS5hdHRyKCJzdHJva2Utd2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmNlbGxCb3JkZXJXaWR0aH0pLmVhY2goZnVuY3Rpb24odCl7dmFyIGU9YS5zZWxlY3QodGhpcyk7Zi5zdHJva2UoZSxfKHQuY2FsY2RhdGEuY2VsbHMubGluZS5jb2xvcix0LmNvbHVtbi5zcGVjSW5kZXgsdC5yb3dOdW1iZXIpKSxmLmZpbGwoZSxfKHQuY2FsY2RhdGEuY2VsbHMuZmlsbC5jb2xvcix0LmNvbHVtbi5zcGVjSW5kZXgsdC5yb3dOdW1iZXIpKX0pfShmdW5jdGlvbih0KXt2YXIgZT10LnNlbGVjdEFsbCgiLiIrbi5jbi5jZWxsUmVjdCkuZGF0YShpLnJlcGVhdCxmdW5jdGlvbih0KXtyZXR1cm4gdC5rZXlXaXRoaW5CbG9ja30pO3JldHVybiBlLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuY2xhc3NlZChuLmNuLmNlbGxSZWN0LCEwKSxlfShsKSk7dmFyIGM9ZnVuY3Rpb24odCl7dmFyIGU9dC5zZWxlY3RBbGwoIi4iK24uY24uY2VsbFRleHQpLmRhdGEoaS5yZXBlYXQsZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5V2l0aGluQmxvY2t9KTtyZXR1cm4gZS5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQobi5jbi5jZWxsVGV4dCwhMCkuc3R5bGUoImN1cnNvciIsZnVuY3Rpb24oKXtyZXR1cm4iYXV0byJ9KS5vbigibW91c2Vkb3duIixmdW5jdGlvbigpe2EuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9KSxlfShmdW5jdGlvbih0KXt2YXIgZT10LnNlbGVjdEFsbCgiLiIrbi5jbi5jZWxsVGV4dEhvbGRlcikuZGF0YShpLnJlcGVhdCxmdW5jdGlvbih0KXtyZXR1cm4gdC5rZXlXaXRoaW5CbG9ja30pO3JldHVybiBlLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLmNlbGxUZXh0SG9sZGVyLCEwKS5zdHlsZSgic2hhcGUtcmVuZGVyaW5nIiwiZ2VvbWV0cmljUHJlY2lzaW9uIiksZX0obCkpOyFmdW5jdGlvbih0KXt0LmVhY2goZnVuY3Rpb24odCl7by5mb250KGEuc2VsZWN0KHRoaXMpLHQuZm9udCl9KX0oYykseChjLGUscyx0KSxPKGwpfWZ1bmN0aW9uIHgodCxlLHIsaSl7dC50ZXh0KGZ1bmN0aW9uKHQpe3ZhciBlPXQuY29sdW1uLnNwZWNJbmRleCxyPXQucm93TnVtYmVyLGk9dC52YWx1ZSxvPSJzdHJpbmciPT10eXBlb2YgaSxzPW8mJmkubWF0Y2goLzxicj4vaSksbD0hb3x8czt0Lm1heUhhdmVNYXJrdXA9byYmaS5tYXRjaCgvWzwmPl0vKTt2YXIgYyx1PSJzdHJpbmciPT10eXBlb2YoYz1pKSYmYy5tYXRjaChuLmxhdGV4Q2hlY2spO3QubGF0ZXg9dTt2YXIgaCxmLHA9dT8iIjpfKHQuY2FsY2RhdGEuY2VsbHMucHJlZml4LGUscil8fCIiLGQ9dT8iIjpfKHQuY2FsY2RhdGEuY2VsbHMuc3VmZml4LGUscil8fCIiLGc9dT9udWxsOl8odC5jYWxjZGF0YS5jZWxscy5mb3JtYXQsZSxyKXx8bnVsbCx2PXArKGc/YS5mb3JtYXQoZykodC52YWx1ZSk6dC52YWx1ZSkrZDtpZih0LndyYXBwaW5nTmVlZGVkPSF0LndyYXBwZWQmJiFsJiYhdSYmKGg9Yih2KSksdC5jZWxsSGVpZ2h0TWF5SW5jcmVhc2U9c3x8dXx8dC5tYXlIYXZlTWFya3VwfHwodm9pZCAwPT09aD9iKHYpOmgpLHQubmVlZHNDb252ZXJ0VG9Uc3BhbnM9dC5tYXlIYXZlTWFya3VwfHx0LndyYXBwaW5nTmVlZGVkfHx0LmxhdGV4LHQud3JhcHBpbmdOZWVkZWQpe3ZhciBtPSgiICI9PT1uLndyYXBTcGxpdENoYXJhY3Rlcj92LnJlcGxhY2UoLzxhIGhyZWY9L2dpLCI8YV9ocmVmPSIpOnYpLnNwbGl0KG4ud3JhcFNwbGl0Q2hhcmFjdGVyKSx5PSIgIj09PW4ud3JhcFNwbGl0Q2hhcmFjdGVyP20ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoLzxhX2hyZWY9L2dpLCI8YSBocmVmPSIpfSk6bTt0LmZyYWdtZW50cz15Lm1hcChmdW5jdGlvbih0KXtyZXR1cm57dGV4dDp0LHdpZHRoOm51bGx9fSksdC5mcmFnbWVudHMucHVzaCh7ZnJhZ21lbnQ6bi53cmFwU3BhY2VyLHdpZHRoOm51bGx9KSxmPXkuam9pbihuLmxpbmVCcmVha2VyKStuLmxpbmVCcmVha2VyK24ud3JhcFNwYWNlcn1lbHNlIGRlbGV0ZSB0LmZyYWdtZW50cyxmPXY7cmV0dXJuIGZ9KS5hdHRyKCJkeSIsZnVuY3Rpb24odCl7cmV0dXJuIHQubmVlZHNDb252ZXJ0VG9Uc3BhbnM/MDoiMC43NWVtIn0pLmVhY2goZnVuY3Rpb24odCl7dmFyIG89YS5zZWxlY3QodGhpcyksbD10LndyYXBwaW5nTmVlZGVkP0w6Qzt0Lm5lZWRzQ29udmVydFRvVHNwYW5zP3MuY29udmVydFRvVHNwYW5zKG8saSxsKHIsdGhpcyxlLGksdCkpOmEuc2VsZWN0KHRoaXMucGFyZW50Tm9kZSkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrUCh0KSsiICIrbi5jZWxsUGFkKyIpIn0pLmF0dHIoInRleHQtYW5jaG9yIixmdW5jdGlvbih0KXtyZXR1cm57bGVmdDoic3RhcnQiLGNlbnRlcjoibWlkZGxlIixyaWdodDoiZW5kIn1bdC5hbGlnbl19KX0pfWZ1bmN0aW9uIGIodCl7cmV0dXJuLTEhPT10LmluZGV4T2Yobi53cmFwU3BsaXRDaGFyYWN0ZXIpfWZ1bmN0aW9uIF8odCxlLHIpe2lmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBuPXRbTWF0aC5taW4oZSx0Lmxlbmd0aC0xKV07cmV0dXJuIEFycmF5LmlzQXJyYXkobik/bltNYXRoLm1pbihyLG4ubGVuZ3RoLTEpXTpufXJldHVybiB0fWZ1bmN0aW9uIHcodCxlLHIpe3QudHJhbnNpdGlvbigpLmVhc2Uobi5yZWxlYXNlVHJhbnNpdGlvbkVhc2UpLmR1cmF0aW9uKG4ucmVsZWFzZVRyYW5zaXRpb25EdXJhdGlvbikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrZS54KyIgIityKyIpIil9ZnVuY3Rpb24gayh0KXtyZXR1cm4iY2VsbHMiPT09dC50eXBlfWZ1bmN0aW9uIFQodCl7cmV0dXJuImhlYWRlciI9PT10LnR5cGV9ZnVuY3Rpb24gTSh0KXtyZXR1cm4odC5yb3dCbG9ja3MubGVuZ3RoP3Qucm93QmxvY2tzWzBdLmF1eGlsaWFyeUJsb2NrczpbXSkucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrSShlLDEvMCl9LDApfWZ1bmN0aW9uIEEodCxlLHIpe3ZhciBuPXYoZSlbMF07aWYodm9pZCAwIT09bil7dmFyIGE9bi5yb3dCbG9ja3MsaT1uLmNhbGNkYXRhLG89eihhLGEubGVuZ3RoKSxzPW4uY2FsY2RhdGEuZ3JvdXBIZWlnaHQtTShuKSxsPWkuc2Nyb2xsWT1NYXRoLm1heCgwLE1hdGgubWluKG8tcyxpLnNjcm9sbFkpKSxjPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49W10sYT0wLGk9MDtpPHQubGVuZ3RoO2krKyl7Zm9yKHZhciBvPXRbaV0scz1vLnJvd3MsbD0wLGM9MDtjPHMubGVuZ3RoO2MrKylsKz1zW2NdLnJvd0hlaWdodDtvLmFsbFJvd3NIZWlnaHQ9bCxlPGErbCYmZStyPmEmJm4ucHVzaChpKSxhKz1sfXJldHVybiBufShhLGwscyk7MT09PWMubGVuZ3RoJiYoY1swXT09PWEubGVuZ3RoLTE/Yy51bnNoaWZ0KGNbMF0tMSk6Yy5wdXNoKGNbMF0rMSkpLGNbMF0lMiYmYy5yZXZlcnNlKCksZS5lYWNoKGZ1bmN0aW9uKHQsZSl7dC5wYWdlPWNbZV0sdC5zY3JvbGxZPWx9KSxlLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgwICIrKHoodC5yb3dCbG9ja3MsdC5wYWdlKS10LnNjcm9sbFkpKyIpIn0pLHQmJihFKHQscixlLGMsbi5wcmV2UGFnZXMsbiwwKSxFKHQscixlLGMsbi5wcmV2UGFnZXMsbiwxKSxtKHIsdCkpfX1mdW5jdGlvbiBTKHQsZSxyLGkpe3JldHVybiBmdW5jdGlvbihvKXt2YXIgcz1vLmNhbGNkYXRhP28uY2FsY2RhdGE6byxsPWUuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBzLmtleT09PXQua2V5fSksYz1yfHxzLnNjcm9sbGJhclN0YXRlLmRyYWdNdWx0aXBsaWVyLHU9cy5zY3JvbGxZO3Muc2Nyb2xsWT12b2lkIDA9PT1pP3Muc2Nyb2xsWStjKmEuZXZlbnQuZHk6aTt2YXIgaD1sLnNlbGVjdEFsbCgiLiIrbi5jbi55Q29sdW1uKS5zZWxlY3RBbGwoIi4iK24uY24uY29sdW1uQmxvY2spLmZpbHRlcihrKTtyZXR1cm4gQSh0LGgsbCkscy5zY3JvbGxZPT09dX19ZnVuY3Rpb24gRSh0LGUscixuLGEsaSxvKXtuW29dIT09YVtvXSYmKGNsZWFyVGltZW91dChpLmN1cnJlbnRSZXBhaW50W29dKSxpLmN1cnJlbnRSZXBhaW50W29dPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgaT1yLmZpbHRlcihmdW5jdGlvbih0LGUpe3JldHVybiBlPT09byYmbltlXSE9PWFbZV19KTt5KHQsZSxpLHIpLGFbb109bltvXX0pKX1mdW5jdGlvbiBMKHQsZSxyLGkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWEuc2VsZWN0KGUucGFyZW50Tm9kZSk7by5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuZnJhZ21lbnRzO28uc2VsZWN0QWxsKCJ0c3Bhbi5saW5lIikuZWFjaChmdW5jdGlvbih0LHIpe2Vbcl0ud2lkdGg9dGhpcy5nZXRDb21wdXRlZFRleHRMZW5ndGgoKX0pO3ZhciByLGEsaT1lW2UubGVuZ3RoLTFdLndpZHRoLHM9ZS5zbGljZSgwLC0xKSxsPVtdLGM9MCx1PXQuY29sdW1uLmNvbHVtbldpZHRoLTIqbi5jZWxsUGFkO2Zvcih0LnZhbHVlPSIiO3MubGVuZ3RoOyljKyhhPShyPXMuc2hpZnQoKSkud2lkdGgraSk+dSYmKHQudmFsdWUrPWwuam9pbihuLndyYXBTcGFjZXIpK24ubGluZUJyZWFrZXIsbD1bXSxjPTApLGwucHVzaChyLnRleHQpLGMrPWE7YyYmKHQudmFsdWUrPWwuam9pbihuLndyYXBTcGFjZXIpKSx0LndyYXBwZWQ9ITB9KSxvLnNlbGVjdEFsbCgidHNwYW4ubGluZSIpLnJlbW92ZSgpLHgoby5zZWxlY3QoIi4iK24uY24uY2VsbFRleHQpLHIsdCxpKSxhLnNlbGVjdChlLnBhcmVudE5vZGUucGFyZW50Tm9kZSkuY2FsbChPKX19ZnVuY3Rpb24gQyh0LGUscixpLG8pe3JldHVybiBmdW5jdGlvbigpe2lmKCFvLnNldHRsZWRZKXt2YXIgcz1hLnNlbGVjdChlLnBhcmVudE5vZGUpLGw9UihvKSxjPW8ua2V5LWwuZmlyc3RSb3dJbmRleCx1PWwucm93c1tjXS5yb3dIZWlnaHQsaD1vLmNlbGxIZWlnaHRNYXlJbmNyZWFzZT9lLnBhcmVudE5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KzIqbi5jZWxsUGFkOnUsZj1NYXRoLm1heChoLHUpO2YtbC5yb3dzW2NdLnJvd0hlaWdodCYmKGwucm93c1tjXS5yb3dIZWlnaHQ9Zix0LnNlbGVjdEFsbCgiLiIrbi5jbi5jb2x1bW5DZWxsKS5jYWxsKE8pLEEobnVsbCx0LmZpbHRlcihrKSwwKSxtKHIsaSwhMCkpLHMuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbigpe3ZhciB0PXRoaXMucGFyZW50Tm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlPWEuc2VsZWN0KHRoaXMucGFyZW50Tm9kZSkuc2VsZWN0KCIuIituLmNuLmNlbGxSZWN0KS5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj10aGlzLnRyYW5zZm9ybS5iYXNlVmFsLmNvbnNvbGlkYXRlKCksaT1lLnRvcC10LnRvcCsocj9yLm1hdHJpeC5mOm4uY2VsbFBhZCk7cmV0dXJuInRyYW5zbGF0ZSgiK1AobyxhLnNlbGVjdCh0aGlzLnBhcmVudE5vZGUpLnNlbGVjdCgiLiIrbi5jbi5jZWxsVGV4dEhvbGRlcikubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSsiICIraSsiKSJ9KSxvLnNldHRsZWRZPSEwfX19ZnVuY3Rpb24gUCh0LGUpe3N3aXRjaCh0LmFsaWduKXtjYXNlImxlZnQiOnJldHVybiBuLmNlbGxQYWQ7Y2FzZSJyaWdodCI6cmV0dXJuIHQuY29sdW1uLmNvbHVtbldpZHRoLShlfHwwKS1uLmNlbGxQYWQ7Y2FzZSJjZW50ZXIiOnJldHVybih0LmNvbHVtbi5jb2x1bW5XaWR0aC0oZXx8MCkpLzI7ZGVmYXVsdDpyZXR1cm4gbi5jZWxsUGFkfX1mdW5jdGlvbiBPKHQpe3QuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXt2YXIgZT10LnJvd0Jsb2Nrc1swXS5hdXhpbGlhcnlCbG9ja3MucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrSShlLDEvMCl9LDApO3JldHVybiJ0cmFuc2xhdGUoMCAiKyhJKFIodCksdC5rZXkpK2UpKyIpIn0pLnNlbGVjdEFsbCgiLiIrbi5jbi5jZWxsUmVjdCkuYXR0cigiaGVpZ2h0IixmdW5jdGlvbih0KXtyZXR1cm4oZT1SKHQpLHI9dC5rZXksZS5yb3dzW3ItZS5maXJzdFJvd0luZGV4XSkucm93SGVpZ2h0O3ZhciBlLHJ9KX1mdW5jdGlvbiB6KHQsZSl7Zm9yKHZhciByPTAsbj1lLTE7bj49MDtuLS0pcis9RCh0W25dKTtyZXR1cm4gcn1mdW5jdGlvbiBJKHQsZSl7Zm9yKHZhciByPTAsbj0wO248dC5yb3dzLmxlbmd0aCYmdC5yb3dzW25dLnJvd0luZGV4PGU7bisrKXIrPXQucm93c1tuXS5yb3dIZWlnaHQ7cmV0dXJuIHJ9ZnVuY3Rpb24gRCh0KXt2YXIgZT10LmFsbFJvd3NIZWlnaHQ7aWYodm9pZCAwIT09ZSlyZXR1cm4gZTtmb3IodmFyIHI9MCxuPTA7bjx0LnJvd3MubGVuZ3RoO24rKylyKz10LnJvd3Nbbl0ucm93SGVpZ2h0O3JldHVybiB0LmFsbFJvd3NIZWlnaHQ9cixyfWZ1bmN0aW9uIFIodCl7cmV0dXJuIHQucm93QmxvY2tzW3QucGFnZV19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9IXQuX2NvbnRleHQuc3RhdGljUGxvdCxzPXQuX2Z1bGxMYXlvdXQuX3BhcGVyLnNlbGVjdEFsbCgiLiIrbi5jbi50YWJsZSkuZGF0YShlLm1hcChmdW5jdGlvbihlKXt2YXIgcj1pLnVud3JhcChlKS50cmFjZTtyZXR1cm4gdSh0LHIpfSksaS5rZXlGdW4pO3MuZXhpdCgpLnJlbW92ZSgpLHMuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKG4uY24udGFibGUsITApLmF0dHIoIm92ZXJmbG93IiwidmlzaWJsZSIpLnN0eWxlKCJib3gtc2l6aW5nIiwiY29udGVudC1ib3giKS5zdHlsZSgicG9zaXRpb24iLCJhYnNvbHV0ZSIpLnN0eWxlKCJsZWZ0IiwwKS5zdHlsZSgib3ZlcmZsb3ciLCJ2aXNpYmxlIikuc3R5bGUoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKSxzLmF0dHIoIndpZHRoIixmdW5jdGlvbih0KXtyZXR1cm4gdC53aWR0aCt0LnNpemUubCt0LnNpemUucn0pLmF0dHIoImhlaWdodCIsZnVuY3Rpb24odCl7cmV0dXJuIHQuaGVpZ2h0K3Quc2l6ZS50K3Quc2l6ZS5ifSkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrdC50cmFuc2xhdGVYKyIsIit0LnRyYW5zbGF0ZVkrIikifSk7dmFyIGY9cy5zZWxlY3RBbGwoIi4iK24uY24udGFibGVDb250cm9sVmlldykuZGF0YShpLnJlcGVhdCxpLmtleUZ1bikseD1mLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLnRhYmxlQ29udHJvbFZpZXcsITApLnN0eWxlKCJib3gtc2l6aW5nIiwiY29udGVudC1ib3giKTtyJiZ4Lm9uKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKGUpe2YuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBlPT09dH0pLmNhbGwobSx0KX0pLm9uKCJtb3VzZXdoZWVsIixmdW5jdGlvbihlKXtpZighZS5zY3JvbGxiYXJTdGF0ZS53aGVlbGluZyl7ZS5zY3JvbGxiYXJTdGF0ZS53aGVlbGluZz0hMDt2YXIgcj1lLnNjcm9sbFkrYS5ldmVudC5kZWx0YVk7Uyh0LGYsbnVsbCxyKShlKXx8KGEuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCksYS5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKSxlLnNjcm9sbGJhclN0YXRlLndoZWVsaW5nPSExfX0pLmNhbGwobSx0LCEwKSxmLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3Quc2l6ZS5sKyIgIit0LnNpemUudCsiKSJ9KTt2YXIgYj1mLnNlbGVjdEFsbCgiLiIrbi5jbi5zY3JvbGxCYWNrZ3JvdW5kKS5kYXRhKGkucmVwZWF0LGkua2V5RnVuKTtiLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuY2xhc3NlZChuLmNuLnNjcm9sbEJhY2tncm91bmQsITApLmF0dHIoImZpbGwiLCJub25lIiksYi5hdHRyKCJ3aWR0aCIsZnVuY3Rpb24odCl7cmV0dXJuIHQud2lkdGh9KS5hdHRyKCJoZWlnaHQiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmhlaWdodH0pLGYuZWFjaChmdW5jdGlvbihlKXtvLnNldENsaXBVcmwoYS5zZWxlY3QodGhpcyksZCh0LGUpLHQpfSk7dmFyIF89Zi5zZWxlY3RBbGwoIi4iK24uY24ueUNvbHVtbikuZGF0YShmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW5zfSxpLmtleUZ1bik7Xy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5jbi55Q29sdW1uLCEwKSxfLmV4aXQoKS5yZW1vdmUoKSxfLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3QueCsiIDApIn0pLHImJl8uY2FsbChhLmJlaGF2aW9yLmRyYWcoKS5vcmlnaW4oZnVuY3Rpb24oZSl7cmV0dXJuIHcoYS5zZWxlY3QodGhpcyksZSwtbi51cGxpZnQpLGwodGhpcyksZS5jYWxjZGF0YS5jb2x1bW5EcmFnSW5Qcm9ncmVzcz0hMCxtKGYuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBlLmNhbGNkYXRhLmtleT09PXQua2V5fSksdCksZX0pLm9uKCJkcmFnIixmdW5jdGlvbih0KXt2YXIgZT1hLnNlbGVjdCh0aGlzKSxyPWZ1bmN0aW9uKGUpe3JldHVybih0PT09ZT9hLmV2ZW50Lng6ZS54KStlLmNvbHVtbldpZHRoLzJ9O3QueD1NYXRoLm1heCgtbi5vdmVyZHJhZyxNYXRoLm1pbih0LmNhbGNkYXRhLndpZHRoK24ub3ZlcmRyYWctdC5jb2x1bW5XaWR0aCxhLmV2ZW50LngpKSx2KF8pLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5jYWxjZGF0YS5rZXk9PT10LmNhbGNkYXRhLmtleX0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gcih0KS1yKGUpfSkuZm9yRWFjaChmdW5jdGlvbihlLHIpe2UueEluZGV4PXIsZS54PXQ9PT1lP2UueDplLnhTY2FsZShlKX0pLF8uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiB0IT09ZX0pLnRyYW5zaXRpb24oKS5lYXNlKG4udHJhbnNpdGlvbkVhc2UpLmR1cmF0aW9uKG4udHJhbnNpdGlvbkR1cmF0aW9uKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIit0LngrIiAwKSJ9KSxlLmNhbGwoYykuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdC54KyIgLSIrbi51cGxpZnQrIiApIil9KS5vbigiZHJhZ2VuZCIsZnVuY3Rpb24oZSl7dmFyIHI9YS5zZWxlY3QodGhpcyksbj1lLmNhbGNkYXRhO2UueD1lLnhTY2FsZShlKSxlLmNhbGNkYXRhLmNvbHVtbkRyYWdJblByb2dyZXNzPSExLHcocixlLDApLGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lLmdkQ29sdW1uc09yaWdpbmFsT3JkZXI7ZS5nZENvbHVtbnMuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiByW24uaW5kZXhPZih0KV0tcltuLmluZGV4T2YoZSldfSksZS5jb2x1bW5vcmRlcj1yLHQuZW1pdCgicGxvdGx5X3Jlc3R5bGUiKX0odCxuLG4uY29sdW1ucy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQueEluZGV4fSkpfSkpLF8uZWFjaChmdW5jdGlvbihlKXtvLnNldENsaXBVcmwoYS5zZWxlY3QodGhpcyksZyh0LGUpLHQpfSk7dmFyIE09Xy5zZWxlY3RBbGwoIi4iK24uY24uY29sdW1uQmxvY2spLmRhdGEoaC5zcGxpdFRvUGFuZWxzLGkua2V5RnVuKTtNLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChuLmNuLmNvbHVtbkJsb2NrLCEwKS5hdHRyKCJpZCIsZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5fSksTS5zdHlsZSgiY3Vyc29yIixmdW5jdGlvbih0KXtyZXR1cm4gdC5kcmFnSGFuZGxlPyJldy1yZXNpemUiOnQuY2FsY2RhdGEuc2Nyb2xsYmFyU3RhdGUuYmFyV2lnZ2xlUm9vbT8ibnMtcmVzaXplIjoiZGVmYXVsdCJ9KTt2YXIgRT1NLmZpbHRlcihUKSxMPU0uZmlsdGVyKGspO3ImJkwuY2FsbChhLmJlaGF2aW9yLmRyYWcoKS5vcmlnaW4oZnVuY3Rpb24odCl7cmV0dXJuIGEuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCksdH0pLm9uKCJkcmFnIixTKHQsZiwtMSkpLm9uKCJkcmFnZW5kIixmdW5jdGlvbigpe30pKSx5KHQsZixFLE0pLHkodCxmLEwsTSk7dmFyIEM9Zi5zZWxlY3RBbGwoIi4iK24uY24uc2Nyb2xsQXJlYUNsaXApLmRhdGEoaS5yZXBlYXQsaS5rZXlGdW4pO0MuZW50ZXIoKS5hcHBlbmQoImNsaXBQYXRoIikuY2xhc3NlZChuLmNuLnNjcm9sbEFyZWFDbGlwLCEwKS5hdHRyKCJpZCIsZnVuY3Rpb24oZSl7cmV0dXJuIGQodCxlKX0pO3ZhciBQPUMuc2VsZWN0QWxsKCIuIituLmNuLnNjcm9sbEFyZWFDbGlwUmVjdCkuZGF0YShpLnJlcGVhdCxpLmtleUZ1bik7UC5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQobi5jbi5zY3JvbGxBcmVhQ2xpcFJlY3QsITApLmF0dHIoIngiLC1uLm92ZXJkcmFnKS5hdHRyKCJ5Iiwtbi51cGxpZnQpLmF0dHIoImZpbGwiLCJub25lIiksUC5hdHRyKCJ3aWR0aCIsZnVuY3Rpb24odCl7cmV0dXJuIHQud2lkdGgrMipuLm92ZXJkcmFnfSkuYXR0cigiaGVpZ2h0IixmdW5jdGlvbih0KXtyZXR1cm4gdC5oZWlnaHQrbi51cGxpZnR9KSxfLnNlbGVjdEFsbCgiLiIrbi5jbi5jb2x1bW5Cb3VuZGFyeSkuZGF0YShpLnJlcGVhdCxpLmtleUZ1bikuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKG4uY24uY29sdW1uQm91bmRhcnksITApO3ZhciBPPV8uc2VsZWN0QWxsKCIuIituLmNuLmNvbHVtbkJvdW5kYXJ5Q2xpcHBhdGgpLmRhdGEoaS5yZXBlYXQsaS5rZXlGdW4pO08uZW50ZXIoKS5hcHBlbmQoImNsaXBQYXRoIikuY2xhc3NlZChuLmNuLmNvbHVtbkJvdW5kYXJ5Q2xpcHBhdGgsITApLE8uYXR0cigiaWQiLGZ1bmN0aW9uKGUpe3JldHVybiBnKHQsZSl9KTt2YXIgej1PLnNlbGVjdEFsbCgiLiIrbi5jbi5jb2x1bW5Cb3VuZGFyeVJlY3QpLmRhdGEoaS5yZXBlYXQsaS5rZXlGdW4pO3ouZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKG4uY24uY29sdW1uQm91bmRhcnlSZWN0LCEwKS5hdHRyKCJmaWxsIiwibm9uZSIpLHouYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbHVtbldpZHRoKzIqcCh0KX0pLmF0dHIoImhlaWdodCIsZnVuY3Rpb24odCl7cmV0dXJuIHQuY2FsY2RhdGEuaGVpZ2h0KzIqcCh0KStuLnVwbGlmdH0pLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybi1wKHQpfSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuLXAodCl9KSxBKG51bGwsTCxmKX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL2xpYi9ndXAiOjcxNSwiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4vY29uc3RhbnRzIjoxMjUxLCIuL2RhdGFfcHJlcGFyYXRpb25faGVscGVyIjoxMjUyLCIuL2RhdGFfc3BsaXRfaGVscGVycyI6MTI1MyxkMzoxNjV9XSwxMjU3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMsYT10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikudGV4dHRlbXBsYXRlQXR0cnMsaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUvYXR0cmlidXRlcyIpLG89dCgiLi4vLi4vcGxvdHMvZG9tYWluIikuYXR0cmlidXRlcyxzPXQoIi4uL3BpZS9hdHRyaWJ1dGVzIiksbD10KCIuLi9zdW5idXJzdC9hdHRyaWJ1dGVzIiksYz10KCIuL2NvbnN0YW50cyIpLHU9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPXtsYWJlbHM6bC5sYWJlbHMscGFyZW50czpsLnBhcmVudHMsdmFsdWVzOmwudmFsdWVzLGJyYW5jaHZhbHVlczpsLmJyYW5jaHZhbHVlcyxjb3VudDpsLmNvdW50LGxldmVsOmwubGV2ZWwsbWF4ZGVwdGg6bC5tYXhkZXB0aCx0aWxpbmc6e3BhY2tpbmc6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInNxdWFyaWZ5IiwiYmluYXJ5IiwiZGljZSIsInNsaWNlIiwic2xpY2UtZGljZSIsImRpY2Utc2xpY2UiXSxkZmx0OiJzcXVhcmlmeSIsZWRpdFR5cGU6InBsb3QifSxzcXVhcmlmeXJhdGlvOnt2YWxUeXBlOiJudW1iZXIiLG1pbjoxLGRmbHQ6MSxlZGl0VHlwZToicGxvdCJ9LGZsaXA6e3ZhbFR5cGU6ImZsYWdsaXN0IixmbGFnczpbIngiLCJ5Il0sZGZsdDoiIixlZGl0VHlwZToicGxvdCJ9LHBhZDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjMsZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToiY2FsYyJ9LG1hcmtlcjp1KHtwYWQ6e3Q6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6InBsb3QifSxsOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLGVkaXRUeXBlOiJwbG90In0scjp7dmFsVHlwZToibnVtYmVyIixtaW46MCxlZGl0VHlwZToicGxvdCJ9LGI6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6InBsb3QifSxlZGl0VHlwZToiY2FsYyJ9LGNvbG9yczpsLm1hcmtlci5jb2xvcnMsZGVwdGhmYWRlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyEwLCExLCJyZXZlcnNlZCJdLGVkaXRUeXBlOiJzdHlsZSJ9LGxpbmU6bC5tYXJrZXIubGluZSxlZGl0VHlwZToiY2FsYyJ9LGkoIm1hcmtlciIse2NvbG9yQXR0cjoiY29sb3JzIixhbmltOiExfSkpLHBhdGhiYXI6e3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6InBsb3QifSxzaWRlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AiLCJib3R0b20iXSxkZmx0OiJ0b3AiLGVkaXRUeXBlOiJwbG90In0sZWRnZXNoYXBlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyI+IiwiPCIsInwiLCIvIiwiXFwiXSxkZmx0OiI+IixlZGl0VHlwZToicGxvdCJ9LHRoaWNrbmVzczp7dmFsVHlwZToibnVtYmVyIixtaW46MTIsZWRpdFR5cGU6InBsb3QifSx0ZXh0Zm9udDp1KHt9LHMudGV4dGZvbnQse30pLGVkaXRUeXBlOiJjYWxjIn0sdGV4dDpzLnRleHQsdGV4dGluZm86bC50ZXh0aW5mbyx0ZXh0dGVtcGxhdGU6YSh7ZWRpdFR5cGU6InBsb3QifSx7a2V5czpjLmV2ZW50RGF0YUtleXMuY29uY2F0KFsibGFiZWwiLCJ2YWx1ZSJdKX0pLGhvdmVydGV4dDpzLmhvdmVydGV4dCxob3ZlcmluZm86bC5ob3ZlcmluZm8saG92ZXJ0ZW1wbGF0ZTpuKHt9LHtrZXlzOmMuZXZlbnREYXRhS2V5c30pLHRleHRmb250OnMudGV4dGZvbnQsaW5zaWRldGV4dGZvbnQ6cy5pbnNpZGV0ZXh0Zm9udCxvdXRzaWRldGV4dGZvbnQ6dSh7fSxzLm91dHNpZGV0ZXh0Zm9udCx7fSksdGV4dHBvc2l0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJ0b3AgbGVmdCIsInRvcCBjZW50ZXIiLCJ0b3AgcmlnaHQiLCJtaWRkbGUgbGVmdCIsIm1pZGRsZSBjZW50ZXIiLCJtaWRkbGUgcmlnaHQiLCJib3R0b20gbGVmdCIsImJvdHRvbSBjZW50ZXIiLCJib3R0b20gcmlnaHQiXSxkZmx0OiJ0b3AgbGVmdCIsZWRpdFR5cGU6InBsb3QifSxkb21haW46byh7bmFtZToidHJlZW1hcCIsdHJhY2U6ITAsZWRpdFR5cGU6ImNhbGMifSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIjo1OTksIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvZG9tYWluIjo3OTAsIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiOjg0MSwiLi4vcGllL2F0dHJpYnV0ZXMiOjEwOTQsIi4uL3N1bmJ1cnN0L2F0dHJpYnV0ZXMiOjEyMzEsIi4vY29uc3RhbnRzIjoxMjYwfV0sMTI1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9wbG90cy9wbG90cyIpO3IubmFtZT0idHJlZW1hcCIsci5wbG90PWZ1bmN0aW9uKHQsZSxhLGkpe24ucGxvdEJhc2VQbG90KHIubmFtZSx0LGUsYSxpKX0sci5jbGVhbj1mdW5jdGlvbih0LGUsYSxpKXtuLmNsZWFuQmFzZVBsb3Qoci5uYW1lLHQsZSxhLGkpfX0seyIuLi8uLi9wbG90cy9wbG90cyI6ODI2fV0sMTI1OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9zdW5idXJzdC9jYWxjIik7ci5jYWxjPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uY2FsYyh0LGUpfSxyLmNyb3NzVHJhY2VDYWxjPWZ1bmN0aW9uKHQpe3JldHVybiBuLl9ydW5Dcm9zc1RyYWNlQ2FsYygidHJlZW1hcCIsdCl9fSx7Ii4uL3N1bmJ1cnN0L2NhbGMiOjEyMzN9XSwxMjYwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17Q0xJQ0tfVFJBTlNJVElPTl9USU1FOjc1MCxDTElDS19UUkFOU0lUSU9OX0VBU0lORzoicG9seSIsZXZlbnREYXRhS2V5czpbImN1cnJlbnRQYXRoIiwicm9vdCIsImVudHJ5IiwicGVyY2VudFJvb3QiLCJwZXJjZW50RW50cnkiLCJwZXJjZW50UGFyZW50Il0sZ2FwV2l0aFBhdGhiYXI6MX19LHt9XSwxMjYxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi9hdHRyaWJ1dGVzIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksbz10KCIuLi8uLi9wbG90cy9kb21haW4iKS5kZWZhdWx0cyxzPXQoIi4uL2Jhci9kZWZhdWx0cyIpLmhhbmRsZVRleHQsbD10KCIuLi9iYXIvY29uc3RhbnRzIikuVEVYVFBBRCxjPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZSIpLHU9Yy5oYXNDb2xvcnNjYWxlLGg9Yy5oYW5kbGVEZWZhdWx0cztlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYyl7ZnVuY3Rpb24gZihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfXZhciBwPWYoImxhYmVscyIpLGQ9ZigicGFyZW50cyIpO2lmKHAmJnAubGVuZ3RoJiZkJiZkLmxlbmd0aCl7dmFyIGc9ZigidmFsdWVzIik7ZyYmZy5sZW5ndGg/ZigiYnJhbmNodmFsdWVzIik6ZigiY291bnQiKSxmKCJsZXZlbCIpLGYoIm1heGRlcHRoIiksInNxdWFyaWZ5Ij09PWYoInRpbGluZy5wYWNraW5nIikmJmYoInRpbGluZy5zcXVhcmlmeXJhdGlvIiksZigidGlsaW5nLmZsaXAiKSxmKCJ0aWxpbmcucGFkIik7dmFyIHY9ZigidGV4dCIpO2YoInRleHR0ZW1wbGF0ZSIpLGUudGV4dHRlbXBsYXRlfHxmKCJ0ZXh0aW5mbyIsQXJyYXkuaXNBcnJheSh2KT8idGV4dCtsYWJlbCI6ImxhYmVsIiksZigiaG92ZXJ0ZXh0IiksZigiaG92ZXJ0ZW1wbGF0ZSIpO3ZhciBtPWYoInBhdGhiYXIudmlzaWJsZSIpO3ModCxlLGMsZiwiYXV0byIse2hhc1BhdGhiYXI6bSxtb2R1bGVIYXNTZWxlY3RlZDohMSxtb2R1bGVIYXNVbnNlbGVjdGVkOiExLG1vZHVsZUhhc0NvbnN0cmFpbjohMSxtb2R1bGVIYXNDbGlwb25heGlzOiExLG1vZHVsZUhhc1RleHRhbmdsZTohMSxtb2R1bGVIYXNJbnNpZGVhbmNob3I6ITF9KSxmKCJ0ZXh0cG9zaXRpb24iKTt2YXIgeT0tMSE9PWUudGV4dHBvc2l0aW9uLmluZGV4T2YoImJvdHRvbSIpO2YoIm1hcmtlci5saW5lLndpZHRoIikmJmYoIm1hcmtlci5saW5lLmNvbG9yIixjLnBhcGVyX2JnY29sb3IpO3ZhciB4PWYoIm1hcmtlci5jb2xvcnMiKSxiPWUuX2hhc0NvbG9yc2NhbGU9dSh0LCJtYXJrZXIiLCJjb2xvcnMiKXx8KHQubWFya2VyfHx7fSkuY29sb3JheGlzO2I/aCh0LGUsYyxmLHtwcmVmaXg6Im1hcmtlci4iLGNMZXR0ZXI6ImMifSk6ZigibWFya2VyLmRlcHRoZmFkZSIsISh4fHxbXSkubGVuZ3RoKTt2YXIgXz0yKmUudGV4dGZvbnQuc2l6ZTtmKCJtYXJrZXIucGFkLnQiLHk/Xy80Ol8pLGYoIm1hcmtlci5wYWQubCIsXy80KSxmKCJtYXJrZXIucGFkLnIiLF8vNCksZigibWFya2VyLnBhZC5iIix5P186Xy80KSxiJiZoKHQsZSxjLGYse3ByZWZpeDoibWFya2VyLiIsY0xldHRlcjoiYyJ9KSxlLl9ob3ZlcmVkPXttYXJrZXI6e2xpbmU6e3dpZHRoOjIsY29sb3I6aS5jb250cmFzdChjLnBhcGVyX2JnY29sb3IpfX19LG0mJihmKCJwYXRoYmFyLnRoaWNrbmVzcyIsZS5wYXRoYmFyLnRleHRmb250LnNpemUrMipsKSxmKCJwYXRoYmFyLnNpZGUiKSxmKCJwYXRoYmFyLmVkZ2VzaGFwZSIpKSxvKGUsYyxmKSxlLl9sZW5ndGg9bnVsbH1lbHNlIGUudmlzaWJsZT0hMX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2RvbWFpbiI6NzkwLCIuLi9iYXIvY29uc3RhbnRzIjo4NTgsIi4uL2Jhci9kZWZhdWx0cyI6ODYwLCIuL2F0dHJpYnV0ZXMiOjEyNTd9XSwxMjYyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLG89dCgiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIikscz10KCIuL3BhcnRpdGlvbiIpLGw9dCgiLi9zdHlsZSIpLnN0eWxlT25lLGM9dCgiLi9jb25zdGFudHMiKSx1PXQoIi4uL3N1bmJ1cnN0L2hlbHBlcnMiKSxoPXQoIi4uL3N1bmJ1cnN0L2Z4Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGYscCl7dmFyIGQ9cC5iYXJEaWZZLGc9cC53aWR0aCx2PXAuaGVpZ2h0LG09cC52aWV3WCx5PXAudmlld1kseD1wLnBhdGhTbGljZSxiPXAudG9Nb3ZlSW5zaWRlU2xpY2UsXz1wLnN0clRyYW5zZm9ybSx3PXAuaGFzVHJhbnNpdGlvbixrPXAuaGFuZGxlU2xpY2VzRXhpdCxUPXAubWFrZVVwZGF0ZVNsaWNlSW50ZXJwb2xhdG9yLE09cC5tYWtlVXBkYXRlVGV4dEludGVycG9sYXRvcixBPXt9LFM9dC5fZnVsbExheW91dCxFPWVbMF0sTD1FLnRyYWNlLEM9RS5oaWVyYXJjaHksUD1nL0wuX2VudHJ5RGVwdGgsTz11Lmxpc3RQYXRoKHIuZGF0YSwiaWQiKSx6PXMoQy5jb3B5KCksW2csdl0se3BhY2tpbmc6ImRpY2UiLHBhZDp7aW5uZXI6MCx0b3A6MCxsZWZ0OjAscmlnaHQ6MCxib3R0b206MH19KS5kZXNjZW5kYW50cygpOyh6PXouZmlsdGVyKGZ1bmN0aW9uKHQpe3ZhciBlPU8uaW5kZXhPZih0LmRhdGEuaWQpO3JldHVybi0xIT09ZSYmKHQueDA9UCplLHQueDE9UCooZSsxKSx0LnkwPWQsdC55MT1kK3YsdC5vblBhdGhiYXI9ITAsITApfSkpLnJldmVyc2UoKSwoZj1mLmRhdGEoeix1LmdldFB0SWQpKS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInBhdGhiYXIiLCEwKSxrKGYsITAsQSxbZyx2XSx4KSxmLm9yZGVyKCk7dmFyIEk9Zjt3JiYoST1JLnRyYW5zaXRpb24oKS5lYWNoKCJlbmQiLGZ1bmN0aW9uKCl7dmFyIGU9bi5zZWxlY3QodGhpcyk7dS5zZXRTbGljZUN1cnNvcihlLHQse2hpZGVPblJvb3Q6ITEsaGlkZU9uTGVhdmVzOiExLGlzVHJhbnNpdGlvbmluZzohMX0pfSkpLEkuZWFjaChmdW5jdGlvbihzKXtzLl9ob3Zlclg9bShzLngxLU1hdGgubWluKGcsdikvMikscy5faG92ZXJZPXkocy55MS12LzIpO3ZhciBmPW4uc2VsZWN0KHRoaXMpLHA9YS5lbnN1cmVTaW5nbGUoZiwicGF0aCIsInN1cmZhY2UiLGZ1bmN0aW9uKHQpe3Quc3R5bGUoInBvaW50ZXItZXZlbnRzIiwiYWxsIil9KTt3P3AudHJhbnNpdGlvbigpLmF0dHJUd2VlbigiZCIsZnVuY3Rpb24odCl7dmFyIGU9VCh0LCEwLEEsW2csdl0pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4geChlKHQpKX19KTpwLmF0dHIoImQiLHgpLGYuY2FsbChoLHIsdCxlLHtzdHlsZU9uZTpsLGV2ZW50RGF0YUtleXM6Yy5ldmVudERhdGFLZXlzLHRyYW5zaXRpb25UaW1lOmMuQ0xJQ0tfVFJBTlNJVElPTl9USU1FLHRyYW5zaXRpb25FYXNpbmc6Yy5DTElDS19UUkFOU0lUSU9OX0VBU0lOR30pLmNhbGwodS5zZXRTbGljZUN1cnNvcix0LHtoaWRlT25Sb290OiExLGhpZGVPbkxlYXZlczohMSxpc1RyYW5zaXRpb25pbmc6dC5fdHJhbnNpdGlvbmluZ30pLHAuY2FsbChsLHMsTCx7aG92ZXJlZDohMX0pLHMuX3RleHQ9KHUuZ2V0UHRMYWJlbChzKXx8IiIpLnNwbGl0KCI8YnI+Iikuam9pbigiICIpfHwiIjt2YXIgZD1hLmVuc3VyZVNpbmdsZShmLCJnIiwic2xpY2V0ZXh0Iiksaz1hLmVuc3VyZVNpbmdsZShkLCJ0ZXh0IiwiIixmdW5jdGlvbih0KXt0LmF0dHIoImRhdGEtbm90ZXgiLDEpfSksRT1hLmVuc3VyZVVuaWZvcm1Gb250U2l6ZSh0LHUuZGV0ZXJtaW5lVGV4dEZvbnQoTCxzLFMuZm9udCx7b25QYXRoYmFyOiEwfSkpO2sudGV4dChzLl90ZXh0fHwiICIpLmNsYXNzZWQoInNsaWNldGV4dCIsITApLmF0dHIoInRleHQtYW5jaG9yIiwic3RhcnQiKS5jYWxsKGkuZm9udCxFKS5jYWxsKG8uY29udmVydFRvVHNwYW5zLHQpLHMudGV4dEJCPWkuYkJveChrLm5vZGUoKSkscy50cmFuc2Zvcm09YihzLHtmb250U2l6ZTpFLnNpemUsb25QYXRoYmFyOiEwfSkscy50cmFuc2Zvcm0uZm9udFNpemU9RS5zaXplLHc/ay50cmFuc2l0aW9uKCkuYXR0clR3ZWVuKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3ZhciBlPU0odCwhMCxBLFtnLHZdKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIF8oZSh0KSl9fSk6ay5hdHRyKCJ0cmFuc2Zvcm0iLF8ocykpfSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uL3N1bmJ1cnN0L2Z4IjoxMjM2LCIuLi9zdW5idXJzdC9oZWxwZXJzIjoxMjM3LCIuL2NvbnN0YW50cyI6MTI2MCwiLi9wYXJ0aXRpb24iOjEyNjcsIi4vc3R5bGUiOjEyNjksZDM6MTY1fV0sMTI2MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxvPXQoIi4uLy4uL2xpYi9zdmdfdGV4dF91dGlscyIpLHM9dCgiLi9wYXJ0aXRpb24iKSxsPXQoIi4vc3R5bGUiKS5zdHlsZU9uZSxjPXQoIi4vY29uc3RhbnRzIiksdT10KCIuLi9zdW5idXJzdC9oZWxwZXJzIiksaD10KCIuLi9zdW5idXJzdC9meCIpLGY9dCgiLi4vc3VuYnVyc3QvcGxvdCIpLmZvcm1hdFNsaWNlTGFiZWw7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHAsZCl7dmFyIGc9ZC53aWR0aCx2PWQuaGVpZ2h0LG09ZC52aWV3WCx5PWQudmlld1kseD1kLnBhdGhTbGljZSxiPWQudG9Nb3ZlSW5zaWRlU2xpY2UsXz1kLnN0clRyYW5zZm9ybSx3PWQuaGFzVHJhbnNpdGlvbixrPWQuaGFuZGxlU2xpY2VzRXhpdCxUPWQubWFrZVVwZGF0ZVNsaWNlSW50ZXJwb2xhdG9yLE09ZC5tYWtlVXBkYXRlVGV4dEludGVycG9sYXRvcixBPWQucHJldkVudHJ5LFM9dC5fZnVsbExheW91dCxFPWVbMF0udHJhY2UsTD0tMSE9PUUudGV4dHBvc2l0aW9uLmluZGV4T2YoImxlZnQiKSxDPS0xIT09RS50ZXh0cG9zaXRpb24uaW5kZXhPZigicmlnaHQiKSxQPS0xIT09RS50ZXh0cG9zaXRpb24uaW5kZXhPZigiYm90dG9tIiksTz0hUCYmIUUubWFya2VyLnBhZC50fHxQJiYhRS5tYXJrZXIucGFkLmIsej1zKHIsW2csdl0se3BhY2tpbmc6RS50aWxpbmcucGFja2luZyxzcXVhcmlmeXJhdGlvOkUudGlsaW5nLnNxdWFyaWZ5cmF0aW8sZmxpcFg6RS50aWxpbmcuZmxpcC5pbmRleE9mKCJ4Iik+LTEsZmxpcFk6RS50aWxpbmcuZmxpcC5pbmRleE9mKCJ5Iik+LTEscGFkOntpbm5lcjpFLnRpbGluZy5wYWQsdG9wOkUubWFya2VyLnBhZC50LGxlZnQ6RS5tYXJrZXIucGFkLmwscmlnaHQ6RS5tYXJrZXIucGFkLnIsYm90dG9tOkUubWFya2VyLnBhZC5ifX0pLmRlc2NlbmRhbnRzKCksST0xLzAsRD0tMS8wO3ouZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT10LmRlcHRoO2U+PUUuX21heERlcHRoPyh0LngwPXQueDE9KHQueDArdC54MSkvMix0LnkwPXQueTE9KHQueTArdC55MSkvMik6KEk9TWF0aC5taW4oSSxlKSxEPU1hdGgubWF4KEQsZSkpfSkscD1wLmRhdGEoeix1LmdldFB0SWQpLEUuX21heFZpc2libGVMYXllcnM9aXNGaW5pdGUoRCk/RC1JKzE6MCxwLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic2xpY2UiLCEwKSxrKHAsITEse30sW2csdl0seCkscC5vcmRlcigpO3ZhciBSPW51bGw7aWYodyYmQSl7dmFyIEY9dS5nZXRQdElkKEEpO3AuZWFjaChmdW5jdGlvbih0KXtudWxsPT09UiYmdS5nZXRQdElkKHQpPT09RiYmKFI9e3gwOnQueDAseDE6dC54MSx5MDp0LnkwLHkxOnQueTF9KX0pfXZhciBCPWZ1bmN0aW9uKCl7cmV0dXJuIFJ8fHt4MDowLHgxOmcseTA6MCx5MTp2fX0sTj1wO3JldHVybiB3JiYoTj1OLnRyYW5zaXRpb24oKS5lYWNoKCJlbmQiLGZ1bmN0aW9uKCl7dmFyIGU9bi5zZWxlY3QodGhpcyk7dS5zZXRTbGljZUN1cnNvcihlLHQse2hpZGVPblJvb3Q6ITAsaGlkZU9uTGVhdmVzOiExLGlzVHJhbnNpdGlvbmluZzohMX0pfSkpLE4uZWFjaChmdW5jdGlvbihzKXt2YXIgcD11LmlzSGVhZGVyKHMsRSk7cy5faG92ZXJYPW0ocy54MS1FLm1hcmtlci5wYWQucikscy5faG92ZXJZPXkoUD9zLnkxLUUubWFya2VyLnBhZC5iLzI6cy55MCtFLm1hcmtlci5wYWQudC8yKTt2YXIgZD1uLnNlbGVjdCh0aGlzKSxrPWEuZW5zdXJlU2luZ2xlKGQsInBhdGgiLCJzdXJmYWNlIixmdW5jdGlvbih0KXt0LnN0eWxlKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpfSk7dz9rLnRyYW5zaXRpb24oKS5hdHRyVHdlZW4oImQiLGZ1bmN0aW9uKHQpe3ZhciBlPVQodCwhMSxCKCksW2csdl0pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4geChlKHQpKX19KTprLmF0dHIoImQiLHgpLGQuY2FsbChoLHIsdCxlLHtzdHlsZU9uZTpsLGV2ZW50RGF0YUtleXM6Yy5ldmVudERhdGFLZXlzLHRyYW5zaXRpb25UaW1lOmMuQ0xJQ0tfVFJBTlNJVElPTl9USU1FLHRyYW5zaXRpb25FYXNpbmc6Yy5DTElDS19UUkFOU0lUSU9OX0VBU0lOR30pLmNhbGwodS5zZXRTbGljZUN1cnNvcix0LHtpc1RyYW5zaXRpb25pbmc6dC5fdHJhbnNpdGlvbmluZ30pLGsuY2FsbChsLHMsRSx7aG92ZXJlZDohMX0pLHMueDA9PT1zLngxfHxzLnkwPT09cy55MT9zLl90ZXh0PSIiOnMuX3RleHQ9cD9PPyIiOnUuZ2V0UHRMYWJlbChzKXx8IiI6ZihzLHIsRSxlLFMpfHwiIjt2YXIgQT1hLmVuc3VyZVNpbmdsZShkLCJnIiwic2xpY2V0ZXh0Iiksej1hLmVuc3VyZVNpbmdsZShBLCJ0ZXh0IiwiIixmdW5jdGlvbih0KXt0LmF0dHIoImRhdGEtbm90ZXgiLDEpfSksST1hLmVuc3VyZVVuaWZvcm1Gb250U2l6ZSh0LHUuZGV0ZXJtaW5lVGV4dEZvbnQoRSxzLFMuZm9udCkpO3oudGV4dChzLl90ZXh0fHwiICIpLmNsYXNzZWQoInNsaWNldGV4dCIsITApLmF0dHIoInRleHQtYW5jaG9yIixDPyJlbmQiOkx8fHA/InN0YXJ0IjoibWlkZGxlIikuY2FsbChpLmZvbnQsSSkuY2FsbChvLmNvbnZlcnRUb1RzcGFucyx0KSxzLnRleHRCQj1pLmJCb3goei5ub2RlKCkpLHMudHJhbnNmb3JtPWIocyx7Zm9udFNpemU6SS5zaXplLGlzSGVhZGVyOnB9KSxzLnRyYW5zZm9ybS5mb250U2l6ZT1JLnNpemUsdz96LnRyYW5zaXRpb24oKS5hdHRyVHdlZW4oInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7dmFyIGU9TSh0LCExLEIoKSxbZyx2XSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBfKGUodCkpfX0pOnouYXR0cigidHJhbnNmb3JtIixfKHMpKX0pLFJ9fSx7Ii4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyI6NjEzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vbGliL3N2Z190ZXh0X3V0aWxzIjo3NDEsIi4uL3N1bmJ1cnN0L2Z4IjoxMjM2LCIuLi9zdW5idXJzdC9oZWxwZXJzIjoxMjM3LCIuLi9zdW5idXJzdC9wbG90IjoxMjQxLCIuL2NvbnN0YW50cyI6MTI2MCwiLi9wYXJ0aXRpb24iOjEyNjcsIi4vc3R5bGUiOjEyNjksZDM6MTY1fV0sMTI2NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e21vZHVsZVR5cGU6InRyYWNlIixuYW1lOiJ0cmVlbWFwIixiYXNlUGxvdE1vZHVsZTp0KCIuL2Jhc2VfcGxvdCIpLGNhdGVnb3JpZXM6W10sYW5pbWF0YWJsZTohMCxhdHRyaWJ1dGVzOnQoIi4vYXR0cmlidXRlcyIpLGxheW91dEF0dHJpYnV0ZXM6dCgiLi9sYXlvdXRfYXR0cmlidXRlcyIpLHN1cHBseURlZmF1bHRzOnQoIi4vZGVmYXVsdHMiKSxzdXBwbHlMYXlvdXREZWZhdWx0czp0KCIuL2xheW91dF9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIikuY2FsYyxjcm9zc1RyYWNlQ2FsYzp0KCIuL2NhbGMiKS5jcm9zc1RyYWNlQ2FsYyxwbG90OnQoIi4vcGxvdCIpLHN0eWxlOnQoIi4vc3R5bGUiKS5zdHlsZSxjb2xvcmJhcjp0KCIuLi9zY2F0dGVyL21hcmtlcl9jb2xvcmJhciIpLG1ldGE6e319fSx7Ii4uL3NjYXR0ZXIvbWFya2VyX2NvbG9yYmFyIjoxMTM4LCIuL2F0dHJpYnV0ZXMiOjEyNTcsIi4vYmFzZV9wbG90IjoxMjU4LCIuL2NhbGMiOjEyNTksIi4vZGVmYXVsdHMiOjEyNjEsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjEyNjUsIi4vbGF5b3V0X2RlZmF1bHRzIjoxMjY2LCIuL3Bsb3QiOjEyNjgsIi4vc3R5bGUiOjEyNjl9XSwxMjY1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17dHJlZW1hcGNvbG9yd2F5Ont2YWxUeXBlOiJjb2xvcmxpc3QiLGVkaXRUeXBlOiJjYWxjIn0sZXh0ZW5kdHJlZW1hcGNvbG9yczp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9fX0se31dLDEyNjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcihyLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsYSxyLGkpfXIoInRyZWVtYXBjb2xvcndheSIsZS5jb2xvcndheSkscigiZXh0ZW5kdHJlZW1hcGNvbG9ycyIpfX0seyIuLi8uLi9saWIiOjcxNywiLi9sYXlvdXRfYXR0cmlidXRlcyI6MTI2NX1dLDEyNjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMtaGllcmFyY2h5Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYSxpPXIuZmxpcFgsbz1yLmZsaXBZLHM9ImRpY2Utc2xpY2UiPT09ci5wYWNraW5nLGw9ci5wYWRbbz8iYm90dG9tIjoidG9wIl0sYz1yLnBhZFtpPyJyaWdodCI6ImxlZnQiXSx1PXIucGFkW2k/ImxlZnQiOiJyaWdodCJdLGg9ci5wYWRbbz8idG9wIjoiYm90dG9tIl07cyYmKGE9YyxjPWwsbD1hLGE9dSx1PWgsaD1hKTt2YXIgZj1uLnRyZWVtYXAoKS50aWxlKGZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQpe2Nhc2Uic3F1YXJpZnkiOnJldHVybiBuLnRyZWVtYXBTcXVhcmlmeS5yYXRpbyhlKTtjYXNlImJpbmFyeSI6cmV0dXJuIG4udHJlZW1hcEJpbmFyeTtjYXNlImRpY2UiOnJldHVybiBuLnRyZWVtYXBEaWNlO2Nhc2Uic2xpY2UiOnJldHVybiBuLnRyZWVtYXBTbGljZTtkZWZhdWx0OnJldHVybiBuLnRyZWVtYXBTbGljZURpY2V9fShyLnBhY2tpbmcsci5zcXVhcmlmeXJhdGlvKSkucGFkZGluZ0lubmVyKHIucGFkLmlubmVyKS5wYWRkaW5nTGVmdChjKS5wYWRkaW5nUmlnaHQodSkucGFkZGluZ1RvcChsKS5wYWRkaW5nQm90dG9tKGgpLnNpemUocz9bZVsxXSxlWzBdXTplKSh0KTtyZXR1cm4oc3x8aXx8bykmJmZ1bmN0aW9uIHQoZSxyLG4pe3ZhciBhO24uc3dhcFhZJiYoYT1lLngwLGUueDA9ZS55MCxlLnkwPWEsYT1lLngxLGUueDE9ZS55MSxlLnkxPWEpO24uZmxpcFgmJihhPWUueDAsZS54MD1yWzBdLWUueDEsZS54MT1yWzBdLWEpO24uZmxpcFkmJihhPWUueTAsZS55MD1yWzFdLWUueTEsZS55MT1yWzFdLWEpO3ZhciBpPWUuY2hpbGRyZW47aWYoaSlmb3IodmFyIG89MDtvPGkubGVuZ3RoO28rKyl0KGlbb10scixuKX0oZixlLHtzd2FwWFk6cyxmbGlwWDppLGZsaXBZOm99KSxmfX0seyJkMy1oaWVyYXJjaHkiOjE1OX1dLDEyNjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uL3N1bmJ1cnN0L2hlbHBlcnMiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vYmFyL2NvbnN0YW50cyIpLlRFWFRQQUQscz10KCIuLi9iYXIvcGxvdCIpLnRvTW92ZUluc2lkZUJhcixsPXQoIi4uL2Jhci91bmlmb3JtX3RleHQiKSxjPWwucmVjb3JkTWluVGV4dFNpemUsdT1sLmNsZWFyTWluVGV4dFNpemUsaD10KCIuLi9iYXIvc3R5bGUiKS5yZXNpemVUZXh0LGY9dCgiLi9jb25zdGFudHMiKSxwPXQoIi4vZHJhd19kZXNjZW5kYW50cyIpLGQ9dCgiLi9kcmF3X2FuY2VzdG9ycyIpO2Z1bmN0aW9uIGcodCl7cmV0dXJuIGEuaXNIaWVyYXJjaHlSb290KHQpPyIiOmEuZ2V0UHRJZCh0KX1mdW5jdGlvbiB2KHQsZSxyLGwpe3ZhciB1PXQuX2Z1bGxMYXlvdXQsaD1lWzBdLHY9aC50cmFjZSxtPWguaGllcmFyY2h5LHk9YS5maW5kRW50cnlXaXRoTGV2ZWwobSx2LmxldmVsKSx4PW4uc2VsZWN0KHIpLGI9eC5zZWxlY3RBbGwoImcucGF0aGJhciIpLF89eC5zZWxlY3RBbGwoImcuc2xpY2UiKTtpZigheSlyZXR1cm4gYi5yZW1vdmUoKSx2b2lkIF8ucmVtb3ZlKCk7dmFyIHc9YS5pc0hpZXJhcmNoeVJvb3QoeSksaz0hdS51bmlmb3JtdGV4dC5tb2RlJiZhLmhhc1RyYW5zaXRpb24obCksVD1hLmdldE1heERlcHRoKHYpLE09dS5fc2l6ZSxBPXYuZG9tYWluLFM9TS53KihBLnhbMV0tQS54WzBdKSxFPU0uaCooQS55WzFdLUEueVswXSksTD1TLEM9di5wYXRoYmFyLnRoaWNrbmVzcyxQPXYubWFya2VyLmxpbmUud2lkdGgrZi5nYXBXaXRoUGF0aGJhcixPPXYucGF0aGJhci52aXNpYmxlP3YucGF0aGJhci5zaWRlLmluZGV4T2YoImJvdHRvbSIpPi0xP0UrUDotKEMrUCk6MCx6PXt4MDpMLHgxOkwseTA6Tyx5MTpPK0N9LEk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXYudGlsaW5nLnBhZCxhPWZ1bmN0aW9uKHQpe3JldHVybiB0LW48PWUueDB9LGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQrbj49ZS54MX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gdC1uPD1lLnkwfSxzPWZ1bmN0aW9uKHQpe3JldHVybiB0K24+PWUueTF9O3JldHVybnt4MDphKHQueDAtbik/MDppKHQueDAtbik/clswXTp0LngwLHgxOmEodC54MStuKT8wOmkodC54MStuKT9yWzBdOnQueDEseTA6byh0LnkwLW4pPzA6cyh0LnkwLW4pP3JbMV06dC55MCx5MTpvKHQueTErbik/MDpzKHQueTErbik/clsxXTp0LnkxfX0sRD1udWxsLFI9e30sRj17fSxCPW51bGwsTj1mdW5jdGlvbih0LGUpe3JldHVybiBlP1JbZyh0KV06RltnKHQpXX0saj1mdW5jdGlvbih0LGUscixuKXtpZihlKXJldHVybiBSW2cobSldfHx6O3ZhciBhPUZbdi5sZXZlbF18fHI7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LmRhdGEuZGVwdGgteS5kYXRhLmRlcHRoPFR9KHQpP0kodCxhLG4pOnt9fTtoLmhhc011bHRpcGxlUm9vdHMmJncmJlQrKyx2Ll9tYXhEZXB0aD1ULHYuX2JhY2tncm91bmRDb2xvcj11LnBhcGVyX2JnY29sb3Isdi5fZW50cnlEZXB0aD15LmRhdGEuZGVwdGgsdi5fYXRSb290TGV2ZWw9dzt2YXIgVj0tUy8yK00ubCtNLncqKEEueFsxXStBLnhbMF0pLzIsVT0tRS8yK00udCtNLmgqKDEtKEEueVsxXStBLnlbMF0pLzIpLHE9ZnVuY3Rpb24odCl7cmV0dXJuIFYrdH0sSD1mdW5jdGlvbih0KXtyZXR1cm4gVSt0fSxHPUgoMCksWT1xKDApLFc9ZnVuY3Rpb24odCl7cmV0dXJuIFkrdH0sWD1mdW5jdGlvbih0KXtyZXR1cm4gRyt0fTtmdW5jdGlvbiBaKHQsZSl7cmV0dXJuIHQrIiwiK2V9dmFyIEo9VygwKSxLPWZ1bmN0aW9uKHQpe3QueD1NYXRoLm1heChKLHQueCl9LFE9di5wYXRoYmFyLmVkZ2VzaGFwZSwkPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC54MCxuPXQueDEsYT10LnkwLGk9dC55MSxsPXQudGV4dEJCLGg9ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT12LnRleHRwb3NpdGlvbi5pbmRleE9mKHQpfSxmPWgoImJvdHRvbSIpLHA9aCgidG9wIil8fGUuaXNIZWFkZXImJiFmPyJzdGFydCI6Zj8iZW5kIjoibWlkZGxlIixkPWgoInJpZ2h0IiksZz1oKCJsZWZ0Iil8fGUub25QYXRoYmFyPy0xOmQ/MTowLG09di5tYXJrZXIucGFkO2lmKGUuaXNIZWFkZXIpe2lmKChyKz1tLmwtbyk+PShuLT1tLnItbykpe3ZhciB5PShyK24pLzI7cj15LG49eX12YXIgeDtmP2E8KHg9aS1tLmIpJiZ4PGkmJihhPXgpOmE8KHg9YSttLnQpJiZ4PGkmJihpPXgpfXZhciBiPXMocixuLGEsaSxsLHtpc0hvcml6b250YWw6ITEsY29uc3RyYWluZWQ6ITAsYW5nbGU6MCxhbmNob3I6cCxsZWZ0VG9SaWdodDpnfSk7cmV0dXJuIGIuZm9udFNpemU9ZS5mb250U2l6ZSxiLnRhcmdldFg9cShiLnRhcmdldFgpLGIudGFyZ2V0WT1IKGIudGFyZ2V0WSksaXNOYU4oYi50YXJnZXRYKXx8aXNOYU4oYi50YXJnZXRZKT97fToociE9PW4mJmEhPT1pJiZjKHYudHlwZSxiLHUpLHtzY2FsZTpiLnNjYWxlLHJvdGF0ZTpiLnJvdGF0ZSx0ZXh0WDpiLnRleHRYLHRleHRZOmIudGV4dFksYW5jaG9yWDpiLmFuY2hvclgsYW5jaG9yWTpiLmFuY2hvclksdGFyZ2V0WDpiLnRhcmdldFgsdGFyZ2V0WTpiLnRhcmdldFl9KX0sdHQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbj0wLGE9dDshciYmbjxUOyluKyssKGE9YS5wYXJlbnQpP3I9TihhLGUpOm49VDtyZXR1cm4gcnx8e319LGV0PWZ1bmN0aW9uKHQsZSxyLGEpe3ZhciBvLHM9Tih0LGUpO2lmKHMpbz1zO2Vsc2UgaWYoZSlvPXo7ZWxzZSBpZihEKWlmKHQucGFyZW50KXt2YXIgbD1CfHxyO2wmJiFlP289SSh0LGwsYSk6KG89e30saS5leHRlbmRGbGF0KG8sdHQodCxlKSkpfWVsc2Ugbz10O2Vsc2Ugbz17fTtyZXR1cm4gbi5pbnRlcnBvbGF0ZShvLHt4MDp0LngwLHgxOnQueDEseTA6dC55MCx5MTp0LnkxfSl9LHJ0PWZ1bmN0aW9uKHQsZSxyLG8pe3ZhciBzPU4odCxlKSxsPXt9LGg9aih0LGUscixvKTtpLmV4dGVuZEZsYXQobCx7dHJhbnNmb3JtOiQoe3gwOmgueDAseDE6aC54MSx5MDpoLnkwLHkxOmgueTEsdGV4dEJCOnQudGV4dEJCLF90ZXh0OnQuX3RleHR9LHtpc0hlYWRlcjphLmlzSGVhZGVyKHQsdil9KX0pLHM/bD1zOnQucGFyZW50JiZpLmV4dGVuZEZsYXQobCx0dCh0LGUpKTt2YXIgZj10LnRyYW5zZm9ybTtyZXR1cm4gdC54MCE9PXQueDEmJnQueTAhPT10LnkxJiZjKHYudHlwZSxmLHUpLG4uaW50ZXJwb2xhdGUobCx7dHJhbnNmb3JtOntzY2FsZTpmLnNjYWxlLHJvdGF0ZTpmLnJvdGF0ZSx0ZXh0WDpmLnRleHRYLHRleHRZOmYudGV4dFksYW5jaG9yWDpmLmFuY2hvclgsYW5jaG9yWTpmLmFuY2hvclksdGFyZ2V0WDpmLnRhcmdldFgsdGFyZ2V0WTpmLnRhcmdldFl9fSl9LG50PWZ1bmN0aW9uKHQsZSxyLGEsaSl7dmFyIG89YVswXSxzPWFbMV07az90LmV4aXQoKS50cmFuc2l0aW9uKCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4uc2VsZWN0KHRoaXMpO3Quc2VsZWN0KCJwYXRoLnN1cmZhY2UiKS50cmFuc2l0aW9uKCkuYXR0clR3ZWVuKCJkIixmdW5jdGlvbih0KXt2YXIgcj1mdW5jdGlvbih0LGUscixhKXt2YXIgaSxvPU4odCxlKTtpZihlKWk9ejtlbHNle3ZhciBzPU4oeSxlKTtpPXM/SSh0LHMsYSk6e319cmV0dXJuIG4uaW50ZXJwb2xhdGUobyxpKX0odCxlLDAsW28sc10pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gaShyKHQpKX19KSx0LnNlbGVjdCgiZy5zbGljZXRleHQiKS5hdHRyKCJvcGFjaXR5IiwwKX0pLnJlbW92ZSgpOnQuZXhpdCgpLnJlbW92ZSgpfSxhdD1mdW5jdGlvbih0KXt2YXIgZT10LnRyYW5zZm9ybTtyZXR1cm4gdC54MCE9PXQueDEmJnQueTAhPT10LnkxJiZjKHYudHlwZSxlLHUpLGkuZ2V0VGV4dFRyYW5zZm9ybSh7dGV4dFg6ZS50ZXh0WCx0ZXh0WTplLnRleHRZLGFuY2hvclg6ZS5hbmNob3JYLGFuY2hvclk6ZS5hbmNob3JZLHRhcmdldFg6ZS50YXJnZXRYLHRhcmdldFk6ZS50YXJnZXRZLHNjYWxlOmUuc2NhbGUscm90YXRlOmUucm90YXRlfSl9O2smJihiLmVhY2goZnVuY3Rpb24odCl7UltnKHQpXT17eDA6dC54MCx4MTp0LngxLHkwOnQueTAseTE6dC55MX0sdC50cmFuc2Zvcm0mJihSW2codCldLnRyYW5zZm9ybT17dGV4dFg6dC50cmFuc2Zvcm0udGV4dFgsdGV4dFk6dC50cmFuc2Zvcm0udGV4dFksYW5jaG9yWDp0LnRyYW5zZm9ybS5hbmNob3JYLGFuY2hvclk6dC50cmFuc2Zvcm0uYW5jaG9yWSx0YXJnZXRYOnQudHJhbnNmb3JtLnRhcmdldFgsdGFyZ2V0WTp0LnRyYW5zZm9ybS50YXJnZXRZLHNjYWxlOnQudHJhbnNmb3JtLnNjYWxlLHJvdGF0ZTp0LnRyYW5zZm9ybS5yb3RhdGV9KX0pLF8uZWFjaChmdW5jdGlvbih0KXtGW2codCldPXt4MDp0LngwLHgxOnQueDEseTA6dC55MCx5MTp0LnkxfSx0LnRyYW5zZm9ybSYmKEZbZyh0KV0udHJhbnNmb3JtPXt0ZXh0WDp0LnRyYW5zZm9ybS50ZXh0WCx0ZXh0WTp0LnRyYW5zZm9ybS50ZXh0WSxhbmNob3JYOnQudHJhbnNmb3JtLmFuY2hvclgsYW5jaG9yWTp0LnRyYW5zZm9ybS5hbmNob3JZLHRhcmdldFg6dC50cmFuc2Zvcm0udGFyZ2V0WCx0YXJnZXRZOnQudHJhbnNmb3JtLnRhcmdldFksc2NhbGU6dC50cmFuc2Zvcm0uc2NhbGUscm90YXRlOnQudHJhbnNmb3JtLnJvdGF0ZX0pLCFEJiZhLmlzRW50cnkodCkmJihEPXQpfSkpLEI9cCh0LGUseSxfLHt3aWR0aDpTLGhlaWdodDpFLHZpZXdYOnEsdmlld1k6SCxwYXRoU2xpY2U6ZnVuY3Rpb24odCl7dmFyIGU9cSh0LngwKSxyPXEodC54MSksbj1IKHQueTApLGE9SCh0LnkxKSxpPXItZSxvPWEtbjtpZighaXx8IW8pcmV0dXJuIiI7cmV0dXJuIk0iK1ooZSxuKzApKyJMIitaKHItMCxuKSsiTCIrWihyLGEtMCkrIkwiK1ooZSswLGEpKyJaIn0sdG9Nb3ZlSW5zaWRlU2xpY2U6JCxwcmV2RW50cnk6RCxtYWtlVXBkYXRlU2xpY2VJbnRlcnBvbGF0b3I6ZXQsbWFrZVVwZGF0ZVRleHRJbnRlcnBvbGF0b3I6cnQsaGFuZGxlU2xpY2VzRXhpdDpudCxoYXNUcmFuc2l0aW9uOmssc3RyVHJhbnNmb3JtOmF0fSksdi5wYXRoYmFyLnZpc2libGU/ZCh0LGUseSxiLHtiYXJEaWZZOk8sd2lkdGg6TCxoZWlnaHQ6Qyx2aWV3WDpXLHZpZXdZOlgscGF0aFNsaWNlOmZ1bmN0aW9uKHQpe3ZhciBlPVcoTWF0aC5tYXgoTWF0aC5taW4odC54MCx0LngwKSwwKSkscj1XKE1hdGgubWluKE1hdGgubWF4KHQueDEsdC54MSksTCkpLG49WCh0LnkwKSxhPVgodC55MSksaT1DLzIsbz17fSxzPXt9O28ueD1lLHMueD1yLG8ueT1zLnk9KG4rYSkvMjt2YXIgbD17eDplLHk6bn0sYz17eDpyLHk6bn0sdT17eDpyLHk6YX0saD17eDplLHk6YX07cmV0dXJuIj4iPT09UT8obC54LT1pLGMueC09aSx1LngtPWksaC54LT1pKToiLyI9PT1RPyh1LngtPWksaC54LT1pLG8ueC09aS8yLHMueC09aS8yKToiXFwiPT09UT8obC54LT1pLGMueC09aSxvLngtPWkvMixzLngtPWkvMik6IjwiPT09USYmKG8ueC09aSxzLngtPWkpLEsobCksSyhoKSxLKG8pLEsoYyksSyh1KSxLKHMpLCJNIitaKGwueCxsLnkpKyJMIitaKGMueCxjLnkpKyJMIitaKHMueCxzLnkpKyJMIitaKHUueCx1LnkpKyJMIitaKGgueCxoLnkpKyJMIitaKG8ueCxvLnkpKyJaIn0sdG9Nb3ZlSW5zaWRlU2xpY2U6JCxtYWtlVXBkYXRlU2xpY2VJbnRlcnBvbGF0b3I6ZXQsbWFrZVVwZGF0ZVRleHRJbnRlcnBvbGF0b3I6cnQsaGFuZGxlU2xpY2VzRXhpdDpudCxoYXNUcmFuc2l0aW9uOmssc3RyVHJhbnNmb3JtOmF0fSk6Yi5yZW1vdmUoKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG8scyxsPXQuX2Z1bGxMYXlvdXQsYz1sLl90cmVlbWFwbGF5ZXIsZj0hcjsodSgidHJlZW1hcCIsbCksKG89Yy5zZWxlY3RBbGwoImcudHJhY2UudHJlZW1hcCIpLmRhdGEoZSxmdW5jdGlvbih0KXtyZXR1cm4gdFswXS50cmFjZS51aWR9KSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ0cmFjZSIsITApLmNsYXNzZWQoInRyZWVtYXAiLCEwKSxvLm9yZGVyKCksIWwudW5pZm9ybXRleHQubW9kZSYmYS5oYXNUcmFuc2l0aW9uKHIpKT8oaSYmKHM9aSgpKSxuLnRyYW5zaXRpb24oKS5kdXJhdGlvbihyLmR1cmF0aW9uKS5lYXNlKHIuZWFzaW5nKS5lYWNoKCJlbmQiLGZ1bmN0aW9uKCl7cyYmcygpfSkuZWFjaCgiaW50ZXJydXB0IixmdW5jdGlvbigpe3MmJnMoKX0pLmVhY2goZnVuY3Rpb24oKXtjLnNlbGVjdEFsbCgiZy50cmFjZSIpLmVhY2goZnVuY3Rpb24oZSl7dih0LGUsdGhpcyxyKX0pfSkpOihvLmVhY2goZnVuY3Rpb24oZSl7dih0LGUsdGhpcyxyKX0pLGwudW5pZm9ybXRleHQubW9kZSYmaCh0LGwuX3RyZWVtYXBsYXllci5zZWxlY3RBbGwoIi50cmFjZSIpLCJ0cmVlbWFwIikpO2YmJm8uZXhpdCgpLnJlbW92ZSgpfX0seyIuLi8uLi9saWIiOjcxNywiLi4vYmFyL2NvbnN0YW50cyI6ODU4LCIuLi9iYXIvcGxvdCI6ODY3LCIuLi9iYXIvc3R5bGUiOjg3MCwiLi4vYmFyL3VuaWZvcm1fdGV4dCI6ODcyLCIuLi9zdW5idXJzdC9oZWxwZXJzIjoxMjM3LCIuL2NvbnN0YW50cyI6MTI2MCwiLi9kcmF3X2FuY2VzdG9ycyI6MTI2MiwiLi9kcmF3X2Rlc2NlbmRhbnRzIjoxMjYzLGQzOjE2NX1dLDEyNjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZDMiKSxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxpPXQoIi4uLy4uL2xpYiIpLG89dCgiLi4vc3VuYnVyc3QvaGVscGVycyIpLHM9dCgiLi4vYmFyL3VuaWZvcm1fdGV4dCIpLnJlc2l6ZVRleHQ7ZnVuY3Rpb24gbCh0LGUscixuKXt2YXIgcyxsLGM9KG58fHt9KS5ob3ZlcmVkLHU9ZS5kYXRhLmRhdGEsaD11LmksZj11LmNvbG9yLHA9by5pc0hpZXJhcmNoeVJvb3QoZSksZD0xO2lmKGMpcz1yLl9ob3ZlcmVkLm1hcmtlci5saW5lLmNvbG9yLGw9ci5faG92ZXJlZC5tYXJrZXIubGluZS53aWR0aDtlbHNlIGlmKHAmJiJyZ2JhKDAsMCwwLDApIj09PWYpZD0wLHM9InJnYmEoMCwwLDAsMCkiLGw9MDtlbHNlIGlmKHM9aS5jYXN0T3B0aW9uKHIsaCwibWFya2VyLmxpbmUuY29sb3IiKXx8YS5kZWZhdWx0TGluZSxsPWkuY2FzdE9wdGlvbihyLGgsIm1hcmtlci5saW5lLndpZHRoIil8fDAsIXIuX2hhc0NvbG9yc2NhbGUmJiFlLm9uUGF0aGJhcil7dmFyIGc9ci5tYXJrZXIuZGVwdGhmYWRlO2lmKGcpe3ZhciB2LG09YS5jb21iaW5lKGEuYWRkT3BhY2l0eShyLl9iYWNrZ3JvdW5kQ29sb3IsLjc1KSxmKTtpZighMD09PWcpe3ZhciB5PW8uZ2V0TWF4RGVwdGgocik7dj1pc0Zpbml0ZSh5KT9vLmlzTGVhZihlKT8wOnIuX21heFZpc2libGVMYXllcnMtKGUuZGF0YS5kZXB0aC1yLl9lbnRyeURlcHRoKTplLmRhdGEuaGVpZ2h0KzF9ZWxzZSB2PWUuZGF0YS5kZXB0aC1yLl9lbnRyeURlcHRoLHIuX2F0Um9vdExldmVsfHx2Kys7aWYodj4wKWZvcih2YXIgeD0wO3g8djt4Kyspe3ZhciBiPS41KngvdjtmPWEuY29tYmluZShhLmFkZE9wYWNpdHkobSxiKSxmKX19fXQuc3R5bGUoInN0cm9rZS13aWR0aCIsbCkuY2FsbChhLmZpbGwsZikuY2FsbChhLnN0cm9rZSxzKS5zdHlsZSgib3BhY2l0eSIsZCl9ZS5leHBvcnRzPXtzdHlsZTpmdW5jdGlvbih0KXt2YXIgZT10Ll9mdWxsTGF5b3V0Ll90cmVlbWFwbGF5ZXIuc2VsZWN0QWxsKCIudHJhY2UiKTtzKHQsZSwidHJlZW1hcCIpLGUuZWFjaChmdW5jdGlvbih0KXt2YXIgZT1uLnNlbGVjdCh0aGlzKSxyPXRbMF0udHJhY2U7ZS5zdHlsZSgib3BhY2l0eSIsci5vcGFjaXR5KSxlLnNlbGVjdEFsbCgicGF0aC5zdXJmYWNlIikuZWFjaChmdW5jdGlvbih0KXtuLnNlbGVjdCh0aGlzKS5jYWxsKGwsdCxyLHtob3ZlcmVkOiExfSl9KX0pfSxzdHlsZU9uZTpsfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2xpYiI6NzE3LCIuLi9iYXIvdW5pZm9ybV90ZXh0Ijo4NzIsIi4uL3N1bmJ1cnN0L2hlbHBlcnMiOjEyMzcsZDM6MTY1fV0sMTI3MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9ib3gvYXR0cmlidXRlcyIpLGE9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQ7ZS5leHBvcnRzPXt5Om4ueSx4Om4ueCx4MDpuLngwLHkwOm4ueTAsbmFtZTphKHt9LG4ubmFtZSx7fSksb3JpZW50YXRpb246YSh7fSxuLm9yaWVudGF0aW9uLHt9KSxiYW5kd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6ImNhbGMifSxzY2FsZWdyb3VwOnt2YWxUeXBlOiJzdHJpbmciLGRmbHQ6IiIsZWRpdFR5cGU6ImNhbGMifSxzY2FsZW1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbIndpZHRoIiwiY291bnQiXSxkZmx0OiJ3aWR0aCIsZWRpdFR5cGU6ImNhbGMifSxzcGFubW9kZTp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsic29mdCIsImhhcmQiLCJtYW51YWwiXSxkZmx0OiJzb2Z0IixlZGl0VHlwZToiY2FsYyJ9LHNwYW46e3ZhbFR5cGU6ImluZm9fYXJyYXkiLGl0ZW1zOlt7dmFsVHlwZToiYW55IixlZGl0VHlwZToiY2FsYyJ9LHt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjIn1dLGVkaXRUeXBlOiJjYWxjIn0sbGluZTp7Y29sb3I6e3ZhbFR5cGU6ImNvbG9yIixlZGl0VHlwZToic3R5bGUifSx3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxkZmx0OjIsZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InBsb3QifSxmaWxsY29sb3I6bi5maWxsY29sb3IscG9pbnRzOmEoe30sbi5ib3hwb2ludHMse30pLGppdHRlcjphKHt9LG4uaml0dGVyLHt9KSxwb2ludHBvczphKHt9LG4ucG9pbnRwb3Mse30pLHdpZHRoOmEoe30sbi53aWR0aCx7fSksbWFya2VyOm4ubWFya2VyLHRleHQ6bi50ZXh0LGhvdmVydGV4dDpuLmhvdmVydGV4dCxob3ZlcnRlbXBsYXRlOm4uaG92ZXJ0ZW1wbGF0ZSxib3g6e3Zpc2libGU6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6InBsb3QifSx3aWR0aDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxkZmx0Oi4yNSxlZGl0VHlwZToicGxvdCJ9LGZpbGxjb2xvcjp7dmFsVHlwZToiY29sb3IiLGVkaXRUeXBlOiJzdHlsZSJ9LGxpbmU6e2NvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InBsb3QifSxtZWFubGluZTp7dmlzaWJsZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMSxlZGl0VHlwZToicGxvdCJ9LGNvbG9yOnt2YWxUeXBlOiJjb2xvciIsZWRpdFR5cGU6InN0eWxlIn0sd2lkdGg6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InBsb3QifSxzaWRlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJib3RoIiwicG9zaXRpdmUiLCJuZWdhdGl2ZSJdLGRmbHQ6ImJvdGgiLGVkaXRUeXBlOiJjYWxjIn0sb2Zmc2V0Z3JvdXA6bi5vZmZzZXRncm91cCxhbGlnbm1lbnRncm91cDpuLmFsaWdubWVudGdyb3VwLHNlbGVjdGVkOm4uc2VsZWN0ZWQsdW5zZWxlY3RlZDpuLnVuc2VsZWN0ZWQsaG92ZXJvbjp7dmFsVHlwZToiZmxhZ2xpc3QiLGZsYWdzOlsidmlvbGlucyIsInBvaW50cyIsImtkZSJdLGRmbHQ6InZpb2xpbnMrcG9pbnRzK2tkZSIsZXh0cmFzOlsiYWxsIl0sZWRpdFR5cGU6InN0eWxlIn19fSx7Ii4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vYm94L2F0dHJpYnV0ZXMiOjg4MX1dLDEyNzE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyIpLGk9dCgiLi4vYm94L2NhbGMiKSxvPXQoIi4vaGVscGVycyIpLHM9dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTTtmdW5jdGlvbiBsKHQsZSxyKXt2YXIgYT1lLm1heC1lLm1pbjtpZighYSlyZXR1cm4gdC5iYW5kd2lkdGg/dC5iYW5kd2lkdGg6MDtpZih0LmJhbmR3aWR0aClyZXR1cm4gTWF0aC5tYXgodC5iYW5kd2lkdGgsYS8xZTQpO3ZhciBpPXIubGVuZ3RoLG89bi5zdGRldihyLGktMSxlLm1lYW4pO3JldHVybiBNYXRoLm1heChmdW5jdGlvbih0LGUscil7cmV0dXJuIDEuMDU5Kk1hdGgubWluKGUsci8xLjM0OSkqTWF0aC5wb3codCwtLjIpfShpLG8sZS5xMy1lLnExKSxhLzEwMCl9ZnVuY3Rpb24gYyh0LGUscixuKXt2YXIgaSxvPXQuc3Bhbm1vZGUsbD10LnNwYW58fFtdLGM9W2UubWluLGUubWF4XSx1PVtlLm1pbi0yKm4sZS5tYXgrMipuXTtmdW5jdGlvbiBoKG4pe3ZhciBhPWxbbl0saT0ibXVsdGljYXRlZ29yeSI9PT1yLnR5cGU/ci5yMmMoYSk6ci5kMmMoYSwwLHRbZS52YWxMZXR0ZXIrImNhbGVuZGFyIl0pO3JldHVybiBpPT09cz91W25dOml9dmFyIGY9e3R5cGU6ImxpbmVhciIscmFuZ2U6aT0ic29mdCI9PT1vP3U6ImhhcmQiPT09bz9jOltoKDApLGgoMSldfTtyZXR1cm4gYS5zZXRDb252ZXJ0KGYpLGYuY2xlYW5SYW5nZSgpLGl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9aSh0LGUpO2lmKHJbMF0udC5lbXB0eSlyZXR1cm4gcjtmb3IodmFyIHM9dC5fZnVsbExheW91dCx1PWEuZ2V0RnJvbUlkKHQsZVsiaCI9PT1lLm9yaWVudGF0aW9uPyJ4YXhpcyI6InlheGlzIl0pLGg9MS8wLGY9LTEvMCxwPTAsZD0wLGc9MDtnPHIubGVuZ3RoO2crKyl7dmFyIHY9cltnXSxtPXYucHRzLm1hcChvLmV4dHJhY3RWYWwpLHk9di5iYW5kd2lkdGg9bChlLHYsbSkseD12LnNwYW49YyhlLHYsdSx5KTtpZih2Lm1pbj09PXYubWF4JiYwPT09eSl4PXYuc3Bhbj1bdi5taW4sdi5tYXhdLHYuZGVuc2l0eT1be3Y6MSx0OnhbMF19XSx2LmJhbmR3aWR0aD15LHA9TWF0aC5tYXgocCwxKTtlbHNle3ZhciBiPXhbMV0teFswXSxfPU1hdGguY2VpbChiLyh5LzMpKSx3PWIvXztpZighaXNGaW5pdGUodyl8fCFpc0Zpbml0ZShfKSlyZXR1cm4gbi5lcnJvcigiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCBjb21wdXRpbmcgdGhlIHZpb2xpbiBzcGFuIiksclswXS50LmVtcHR5PSEwLHI7dmFyIGs9by5tYWtlS0RFKHYsZSxtKTt2LmRlbnNpdHk9bmV3IEFycmF5KF8pO2Zvcih2YXIgVD0wLE09eFswXTtNPHhbMV0rdy8yO1QrKyxNKz13KXt2YXIgQT1rKE0pO3YuZGVuc2l0eVtUXT17djpBLHQ6TX0scD1NYXRoLm1heChwLEEpfX1kPU1hdGgubWF4KGQsbS5sZW5ndGgpLGg9TWF0aC5taW4oaCx4WzBdKSxmPU1hdGgubWF4KGYseFsxXSl9dmFyIFM9YS5maW5kRXh0cmVtZXModSxbaCxmXSx7cGFkZGVkOiEwfSk7aWYoZS5fZXh0cmVtZXNbdS5faWRdPVMsZS53aWR0aClyWzBdLnQubWF4S0RFPXA7ZWxzZXt2YXIgRT1zLl92aW9saW5TY2FsZUdyb3VwU3RhdHMsTD1lLnNjYWxlZ3JvdXAsQz1FW0xdO0M/KEMubWF4S0RFPU1hdGgubWF4KEMubWF4S0RFLHApLEMubWF4Q291bnQ9TWF0aC5tYXgoQy5tYXhDb3VudCxkKSk6RVtMXT17bWF4S0RFOnAsbWF4Q291bnQ6ZH19cmV0dXJuIHJbMF0udC5sYWJlbHMua2RlPW4uXyh0LCJrZGU6Iikscn19LHsiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCI6NjkzLCIuLi8uLi9saWIiOjcxNywiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiOjc2NSwiLi4vYm94L2NhbGMiOjg4MiwiLi9oZWxwZXJzIjoxMjc0fV0sMTI3MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9ib3gvY3Jvc3NfdHJhY2VfY2FsYyIpLnNldFBvc2l0aW9uT2Zmc2V0LGE9WyJ2IiwiaCJdO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmNhbGNkYXRhLGk9ZS54YXhpcyxvPWUueWF4aXMscz0wO3M8YS5sZW5ndGg7cysrKXtmb3IodmFyIGw9YVtzXSxjPSJoIj09PWw/bzppLHU9W10saD0wO2g8ci5sZW5ndGg7aCsrKXt2YXIgZj1yW2hdLHA9ZlswXS50LGQ9ZlswXS50cmFjZTshMCE9PWQudmlzaWJsZXx8InZpb2xpbiIhPT1kLnR5cGV8fHAuZW1wdHl8fGQub3JpZW50YXRpb24hPT1sfHxkLnhheGlzIT09aS5faWR8fGQueWF4aXMhPT1vLl9pZHx8dS5wdXNoKGgpfW4oInZpb2xpbiIsdCx1LGMpfX19LHsiLi4vYm94L2Nyb3NzX3RyYWNlX2NhbGMiOjg4M31dLDEyNzM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksaT10KCIuLi9ib3gvZGVmYXVsdHMiKSxvPXQoIi4vYXR0cmlidXRlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixzKXtmdW5jdGlvbiBsKHIsYSl7cmV0dXJuIG4uY29lcmNlKHQsZSxvLHIsYSl9ZnVuY3Rpb24gYyhyLGEpe3JldHVybiBuLmNvZXJjZTIodCxlLG8scixhKX1pZihpLmhhbmRsZVNhbXBsZURlZmF1bHRzKHQsZSxsLHMpLCExIT09ZS52aXNpYmxlKXtsKCJiYW5kd2lkdGgiKSxsKCJzaWRlIiksbCgid2lkdGgiKXx8KGwoInNjYWxlZ3JvdXAiLGUubmFtZSksbCgic2NhbGVtb2RlIikpO3ZhciB1LGg9bCgic3BhbiIpO0FycmF5LmlzQXJyYXkoaCkmJih1PSJtYW51YWwiKSxsKCJzcGFubW9kZSIsdSk7dmFyIGY9bCgibGluZS5jb2xvciIsKHQubWFya2VyfHx7fSkuY29sb3J8fHIpLHA9bCgibGluZS53aWR0aCIpLGQ9bCgiZmlsbGNvbG9yIixhLmFkZE9wYWNpdHkoZS5saW5lLmNvbG9yLC41KSk7aS5oYW5kbGVQb2ludHNEZWZhdWx0cyh0LGUsbCx7cHJlZml4OiIifSk7dmFyIGc9YygiYm94LndpZHRoIiksdj1jKCJib3guZmlsbGNvbG9yIixkKSxtPWMoImJveC5saW5lLmNvbG9yIixmKSx5PWMoImJveC5saW5lLndpZHRoIixwKTtsKCJib3gudmlzaWJsZSIsQm9vbGVhbihnfHx2fHxtfHx5KSl8fChlLmJveD17dmlzaWJsZTohMX0pO3ZhciB4PWMoIm1lYW5saW5lLmNvbG9yIixmKSxiPWMoIm1lYW5saW5lLndpZHRoIixwKTtsKCJtZWFubGluZS52aXNpYmxlIixCb29sZWFuKHh8fGIpKXx8KGUubWVhbmxpbmU9e3Zpc2libGU6ITF9KX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vbGliIjo3MTcsIi4uL2JveC9kZWZhdWx0cyI6ODg0LCIuL2F0dHJpYnV0ZXMiOjEyNzB9XSwxMjc0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9ZnVuY3Rpb24odCl7cmV0dXJuIDEvTWF0aC5zcXJ0KDIqTWF0aC5QSSkqTWF0aC5leHAoLS41KnQqdCl9O3IubWFrZUtERT1mdW5jdGlvbih0LGUscil7dmFyIG49ci5sZW5ndGgsaT1hLG89dC5iYW5kd2lkdGgscz0xLyhuKm8pO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxhPTA7YTxuO2ErKyllKz1pKCh0LXJbYV0pL28pO3JldHVybiBzKmV9fSxyLmdldFBvc2l0aW9uT25LZGVQYXRoPWZ1bmN0aW9uKHQsZSxyKXt2YXIgYSxpOyJoIj09PWUub3JpZW50YXRpb24/KGE9InkiLGk9IngiKTooYT0ieCIsaT0ieSIpO3ZhciBvPW4uZmluZFBvaW50T25QYXRoKHQucGF0aCxyLGkse3BhdGhMZW5ndGg6dC5wYXRoTGVuZ3RofSkscz10LnBvc0NlbnRlclB4LGw9b1thXTtyZXR1cm5bbCwiYm90aCI9PT1lLnNpZGU/MipzLWw6c119LHIuZ2V0S2RlVmFsdWU9ZnVuY3Rpb24odCxlLG4pe3ZhciBhPXQucHRzLm1hcChyLmV4dHJhY3RWYWwpO3JldHVybiByLm1ha2VLREUodCxlLGEpKG4pL3QucG9zRGVuc2l0eVNjYWxlfSxyLmV4dHJhY3RWYWw9ZnVuY3Rpb24odCl7cmV0dXJuIHQudn19LHsiLi4vLi4vbGliIjo3MTd9XSwxMjc1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2xpYiIpLGE9dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxpPXQoIi4uL2JveC9ob3ZlciIpLG89dCgiLi9oZWxwZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMsbCl7dmFyIGMsdSxoPXQuY2QsZj1oWzBdLnRyYWNlLHA9Zi5ob3Zlcm9uLGQ9LTEhPT1wLmluZGV4T2YoInZpb2xpbnMiKSxnPS0xIT09cC5pbmRleE9mKCJrZGUiKSx2PVtdO2lmKGR8fGcpe3ZhciBtPWkuaG92ZXJPbkJveGVzKHQsZSxyLHMpO2lmKGcmJm0ubGVuZ3RoPjApe3ZhciB5LHgsYixfLHcsaz10LnhhLFQ9dC55YTsiaCI9PT1mLm9yaWVudGF0aW9uPyh3PWUseT0ieSIsYj1ULHg9IngiLF89ayk6KHc9cix5PSJ4IixiPWsseD0ieSIsXz1UKTt2YXIgTT1oW3QuaW5kZXhdO2lmKHc+PU0uc3BhblswXSYmdzw9TS5zcGFuWzFdKXt2YXIgQT1uLmV4dGVuZEZsYXQoe30sdCksUz1fLmMycCh3LCEwKSxFPW8uZ2V0S2RlVmFsdWUoTSxmLHcpLEw9by5nZXRQb3NpdGlvbk9uS2RlUGF0aChNLGYsUyksQz1iLl9vZmZzZXQsUD1iLl9sZW5ndGg7QVt5KyIwIl09TFswXSxBW3krIjEiXT1MWzFdLEFbeCsiMCJdPUFbeCsiMSJdPVMsQVt4KyJMYWJlbCJdPXgrIjogIithLmhvdmVyTGFiZWxUZXh0KF8sdykrIiwgIitoWzBdLnQubGFiZWxzLmtkZSsiICIrRS50b0ZpeGVkKDMpLEEuc3Bpa2VEaXN0YW5jZT1tWzBdLnNwaWtlRGlzdGFuY2U7dmFyIE89eSsiU3Bpa2UiO0FbT109bVswXVtPXSxtWzBdLnNwaWtlRGlzdGFuY2U9dm9pZCAwLG1bMF1bT109dm9pZCAwLEEuaG92ZXJ0ZW1wbGF0ZT0hMSx2LnB1c2goQSksKHU9e3N0cm9rZTp0LmNvbG9yfSlbeSsiMSJdPW4uY29uc3RyYWluKEMrTFswXSxDLEMrUCksdVt5KyIyIl09bi5jb25zdHJhaW4oQytMWzFdLEMsQytQKSx1W3grIjEiXT11W3grIjIiXT1fLl9vZmZzZXQrU319ZCYmKHY9di5jb25jYXQobSkpfS0xIT09cC5pbmRleE9mKCJwb2ludHMiKSYmKGM9aS5ob3Zlck9uUG9pbnRzKHQsZSxyKSk7dmFyIHo9bC5zZWxlY3RBbGwoIi52aW9saW5saW5lLSIrZi51aWQpLmRhdGEodT9bMF06W10pO3JldHVybiB6LmVudGVyKCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZCgidmlvbGlubGluZS0iK2YudWlkLCEwKS5hdHRyKCJzdHJva2Utd2lkdGgiLDEuNSksei5leGl0KCkucmVtb3ZlKCksei5hdHRyKHUpLCJjbG9zZXN0Ij09PXM/Yz9bY106djpjPyh2LnB1c2goYyksdik6dn19LHsiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uL2JveC9ob3ZlciI6ODg2LCIuL2hlbHBlcnMiOjEyNzR9XSwxMjc2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YXR0cmlidXRlczp0KCIuL2F0dHJpYnV0ZXMiKSxsYXlvdXRBdHRyaWJ1dGVzOnQoIi4vbGF5b3V0X2F0dHJpYnV0ZXMiKSxzdXBwbHlEZWZhdWx0czp0KCIuL2RlZmF1bHRzIiksY3Jvc3NUcmFjZURlZmF1bHRzOnQoIi4uL2JveC9kZWZhdWx0cyIpLmNyb3NzVHJhY2VEZWZhdWx0cyxzdXBwbHlMYXlvdXREZWZhdWx0czp0KCIuL2xheW91dF9kZWZhdWx0cyIpLGNhbGM6dCgiLi9jYWxjIiksY3Jvc3NUcmFjZUNhbGM6dCgiLi9jcm9zc190cmFjZV9jYWxjIikscGxvdDp0KCIuL3Bsb3QiKSxzdHlsZTp0KCIuL3N0eWxlIiksc3R5bGVPblNlbGVjdDp0KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGVPblNlbGVjdCxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksc2VsZWN0UG9pbnRzOnQoIi4uL2JveC9zZWxlY3QiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToidmlvbGluIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iKSxjYXRlZ29yaWVzOlsiY2FydGVzaWFuIiwic3ZnIiwic3ltYm9scyIsIm9yaWVudGVkIiwiYm94LXZpb2xpbiIsInNob3dMZWdlbmQiLCJ2aW9saW5MYXlvdXQiLCJ6b29tU2NhbGUiXSxtZXRhOnt9fX0seyIuLi8uLi9wbG90cy9jYXJ0ZXNpYW4iOjc3NiwiLi4vYm94L2RlZmF1bHRzIjo4ODQsIi4uL2JveC9zZWxlY3QiOjg5MSwiLi4vc2NhdHRlci9zdHlsZSI6MTE0MywiLi9hdHRyaWJ1dGVzIjoxMjcwLCIuL2NhbGMiOjEyNzEsIi4vY3Jvc3NfdHJhY2VfY2FsYyI6MTI3MiwiLi9kZWZhdWx0cyI6MTI3MywiLi9ob3ZlciI6MTI3NSwiLi9sYXlvdXRfYXR0cmlidXRlcyI6MTI3NywiLi9sYXlvdXRfZGVmYXVsdHMiOjEyNzgsIi4vcGxvdCI6MTI3OSwiLi9zdHlsZSI6MTI4MH1dLDEyNzc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vYm94L2xheW91dF9hdHRyaWJ1dGVzIiksYT10KCIuLi8uLi9saWIiKS5leHRlbmRGbGF0O2UuZXhwb3J0cz17dmlvbGlubW9kZTphKHt9LG4uYm94bW9kZSx7fSksdmlvbGluZ2FwOmEoe30sbi5ib3hnYXAse30pLHZpb2xpbmdyb3VwZ2FwOmEoe30sbi5ib3hncm91cGdhcCx7fSl9fSx7Ii4uLy4uL2xpYiI6NzE3LCIuLi9ib3gvbGF5b3V0X2F0dHJpYnV0ZXMiOjg4OH1dLDEyNzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksaT10KCIuLi9ib3gvbGF5b3V0X2RlZmF1bHRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpLl9zdXBwbHkodCxlLHIsZnVuY3Rpb24ocixpKXtyZXR1cm4gbi5jb2VyY2UodCxlLGEscixpKX0sInZpb2xpbiIpfX0seyIuLi8uLi9saWIiOjcxNywiLi4vYm94L2xheW91dF9kZWZhdWx0cyI6ODg5LCIuL2xheW91dF9hdHRyaWJ1dGVzIjoxMjc3fV0sMTI3OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkMyIpLGE9dCgiLi4vLi4vbGliIiksaT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxvPXQoIi4uL2JveC9wbG90Iikscz10KCIuLi9zY2F0dGVyL2xpbmVfcG9pbnRzIiksbD10KCIuL2hlbHBlcnMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYyl7dmFyIHU9dC5fZnVsbExheW91dCxoPWUueGF4aXMsZj1lLnlheGlzO2Z1bmN0aW9uIHAodCl7dmFyIGU9cyh0LHt4YXhpczpoLHlheGlzOmYsY29ubmVjdEdhcHM6ITAsYmFzZVRvbGVyYW5jZTouNzUsc2hhcGU6InNwbGluZSIsc2ltcGxpZnk6ITAsbGluZWFyaXplZDohMH0pO3JldHVybiBpLnNtb290aG9wZW4oZVswXSwxKX1hLm1ha2VUcmFjZUdyb3VwcyhjLHIsInRyYWNlIHZpb2xpbnMiKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciByPW4uc2VsZWN0KHRoaXMpLGk9dFswXSxzPWkudCxjPWkudHJhY2U7aWYoITAhPT1jLnZpc2libGV8fHMuZW1wdHkpci5yZW1vdmUoKTtlbHNle3ZhciBkPXMuYlBvcyxnPXMuYmRQb3Msdj1lW3MudmFsTGV0dGVyKyJheGlzIl0sbT1lW3MucG9zTGV0dGVyKyJheGlzIl0seT0iYm90aCI9PT1jLnNpZGUseD15fHwicG9zaXRpdmUiPT09Yy5zaWRlLGI9eXx8Im5lZ2F0aXZlIj09PWMuc2lkZSxfPXIuc2VsZWN0QWxsKCJwYXRoLnZpb2xpbiIpLmRhdGEoYS5pZGVudGl0eSk7Xy5lbnRlcigpLmFwcGVuZCgicGF0aCIpLnN0eWxlKCJ2ZWN0b3ItZWZmZWN0Iiwibm9uLXNjYWxpbmctc3Ryb2tlIikuYXR0cigiY2xhc3MiLCJ2aW9saW4iKSxfLmV4aXQoKS5yZW1vdmUoKSxfLmVhY2goZnVuY3Rpb24odCl7dmFyIGUscixhLGksbyxsLGgsZixfPW4uc2VsZWN0KHRoaXMpLHc9dC5kZW5zaXR5LGs9dy5sZW5ndGgsVD1tLmMybCh0LnBvcytkLCEwKSxNPW0ubDJwKFQpO2lmKGMud2lkdGgpZT1zLm1heEtERS9nO2Vsc2V7dmFyIEE9dS5fdmlvbGluU2NhbGVHcm91cFN0YXRzW2Muc2NhbGVncm91cF07ZT0iY291bnQiPT09Yy5zY2FsZW1vZGU/QS5tYXhLREUvZyooQS5tYXhDb3VudC90LnB0cy5sZW5ndGgpOkEubWF4S0RFL2d9aWYoeCl7Zm9yKGg9bmV3IEFycmF5KGspLG89MDtvPGs7bysrKShmPWhbb109e30pW3MucG9zTGV0dGVyXT1UK3dbb10udi9lLGZbcy52YWxMZXR0ZXJdPXYuYzJsKHdbb10udCwhMCk7cj1wKGgpfWlmKGIpe2ZvcihoPW5ldyBBcnJheShrKSxsPTAsbz1rLTE7bDxrO2wrKyxvLS0pKGY9aFtsXT17fSlbcy5wb3NMZXR0ZXJdPVQtd1tvXS52L2UsZltzLnZhbExldHRlcl09di5jMmwod1tvXS50LCEwKTthPXAoaCl9aWYoeSlpPXIrIkwiK2Euc3Vic3RyKDEpKyJaIjtlbHNle3ZhciBTPVtNLHYuYzJwKHdbMF0udCldLEU9W00sdi5jMnAod1trLTFdLnQpXTsiaCI9PT1jLm9yaWVudGF0aW9uJiYoUy5yZXZlcnNlKCksRS5yZXZlcnNlKCkpLGk9eD8iTSIrUysiTCIrci5zdWJzdHIoMSkrIkwiK0U6Ik0iK0UrIkwiK2Euc3Vic3RyKDEpKyJMIitTfV8uYXR0cigiZCIsaSksdC5wb3NDZW50ZXJQeD1NLHQucG9zRGVuc2l0eVNjYWxlPWUqZyx0LnBhdGg9Xy5ub2RlKCksdC5wYXRoTGVuZ3RoPXQucGF0aC5nZXRUb3RhbExlbmd0aCgpLyh5PzI6MSl9KTt2YXIgdyxrLFQsTT1jLmJveCxBPU0ud2lkdGgsUz0oTS5saW5lfHx7fSkud2lkdGg7eT8odz1nKkEsaz0wKTp4Pyh3PVswLGcqQS8yXSxrPVMqe3g6MSx5Oi0xfVtzLnBvc0xldHRlcl0pOih3PVtnKkEvMiwwXSxrPVMqe3g6LTEseToxfVtzLnBvc0xldHRlcl0pLG8ucGxvdEJveEFuZFdoaXNrZXJzKHIse3BvczptLHZhbDp2fSxjLHtiUG9zOmQsYmRQb3M6dyxiUG9zUHhPZmZzZXQ6a30pLG8ucGxvdEJveE1lYW4ocix7cG9zOm0sdmFsOnZ9LGMse2JQb3M6ZCxiZFBvczp3LGJQb3NQeE9mZnNldDprfSksIWMuYm94LnZpc2libGUmJmMubWVhbmxpbmUudmlzaWJsZSYmKFQ9YS5pZGVudGl0eSk7dmFyIEU9ci5zZWxlY3RBbGwoInBhdGgubWVhbmxpbmUiKS5kYXRhKFR8fFtdKTtFLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJtZWFubGluZSIpLnN0eWxlKCJmaWxsIiwibm9uZSIpLnN0eWxlKCJ2ZWN0b3ItZWZmZWN0Iiwibm9uLXNjYWxpbmctc3Ryb2tlIiksRS5leGl0KCkucmVtb3ZlKCksRS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXYuYzJwKHQubWVhbiwhMCkscj1sLmdldFBvc2l0aW9uT25LZGVQYXRoKHQsYyxlKTtuLnNlbGVjdCh0aGlzKS5hdHRyKCJkIiwiaCI9PT1jLm9yaWVudGF0aW9uPyJNIitlKyIsIityWzBdKyJWIityWzFdOiJNIityWzBdKyIsIitlKyJIIityWzFdKX0pLG8ucGxvdFBvaW50cyhyLHt4OmgseTpmfSxjLHMpfX0pfX0seyIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vbGliIjo3MTcsIi4uL2JveC9wbG90Ijo4OTAsIi4uL3NjYXR0ZXIvbGluZV9wb2ludHMiOjExMzQsIi4vaGVscGVycyI6MTI3NCxkMzoxNjV9XSwxMjgwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIiksaT10KCIuLi9zY2F0dGVyL3N0eWxlIikuc3R5bGVQb2ludHM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW4uc2VsZWN0KHQpLnNlbGVjdEFsbCgiZy50cmFjZS52aW9saW5zIik7ZS5zdHlsZSgib3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0udHJhY2Uub3BhY2l0eX0pLGUuZWFjaChmdW5jdGlvbihlKXt2YXIgcj1lWzBdLnRyYWNlLG89bi5zZWxlY3QodGhpcykscz1yLmJveHx8e30sbD1zLmxpbmV8fHt9LGM9ci5tZWFubGluZXx8e30sdT1jLndpZHRoO28uc2VsZWN0QWxsKCJwYXRoLnZpb2xpbiIpLnN0eWxlKCJzdHJva2Utd2lkdGgiLHIubGluZS53aWR0aCsicHgiKS5jYWxsKGEuc3Ryb2tlLHIubGluZS5jb2xvcikuY2FsbChhLmZpbGwsci5maWxsY29sb3IpLG8uc2VsZWN0QWxsKCJwYXRoLmJveCIpLnN0eWxlKCJzdHJva2Utd2lkdGgiLGwud2lkdGgrInB4IikuY2FsbChhLnN0cm9rZSxsLmNvbG9yKS5jYWxsKGEuZmlsbCxzLmZpbGxjb2xvcik7dmFyIGg9eyJzdHJva2Utd2lkdGgiOnUrInB4Iiwic3Ryb2tlLWRhc2hhcnJheSI6Mip1KyJweCwiK3UrInB4In07by5zZWxlY3RBbGwoInBhdGgubWVhbiIpLnN0eWxlKGgpLmNhbGwoYS5zdHJva2UsYy5jb2xvciksby5zZWxlY3RBbGwoInBhdGgubWVhbmxpbmUiKS5zdHlsZShoKS5jYWxsKGEuc3Ryb2tlLGMuY29sb3IpLGkobyxyLHQpfSl9fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vc2NhdHRlci9zdHlsZSI6MTE0MyxkMzoxNjV9XSwxMjgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3JzY2FsZS9hdHRyaWJ1dGVzIiksYT10KCIuLi9pc29zdXJmYWNlL2F0dHJpYnV0ZXMiKSxpPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL2xpYi9leHRlbmQiKS5leHRlbmRGbGF0LHM9dCgiLi4vLi4vcGxvdF9hcGkvZWRpdF90eXBlcyIpLm92ZXJyaWRlQWxsLGw9ZS5leHBvcnRzPXMobyh7eDphLngseTphLnksejphLnosdmFsdWU6YS52YWx1ZSxpc29taW46YS5pc29taW4saXNvbWF4OmEuaXNvbWF4LHN1cmZhY2U6YS5zdXJmYWNlLHNwYWNlZnJhbWU6e3Nob3c6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITF9LGZpbGw6e3ZhbFR5cGU6Im51bWJlciIsbWluOjAsbWF4OjEsZGZsdDoxfX0sc2xpY2VzOmEuc2xpY2VzLGNhcHM6YS5jYXBzLHRleHQ6YS50ZXh0LGhvdmVydGV4dDphLmhvdmVydGV4dCxob3ZlcnRlbXBsYXRlOmEuaG92ZXJ0ZW1wbGF0ZX0sbigiIix7Y29sb3JBdHRyOiJgdmFsdWVgIixzaG93U2NhbGVEZmx0OiEwLGVkaXRUeXBlT3ZlcnJpZGU6ImNhbGMifSkse2NvbG9yYmFyOmEuY29sb3JiYXIsb3BhY2l0eTphLm9wYWNpdHksb3BhY2l0eXNjYWxlOnt2YWxUeXBlOiJhbnkiLGVkaXRUeXBlOiJjYWxjIn0sbGlnaHRwb3NpdGlvbjphLmxpZ2h0cG9zaXRpb24sbGlnaHRpbmc6YS5saWdodGluZyxmbGF0c2hhZGluZzphLmZsYXRzaGFkaW5nLGNvbnRvdXI6YS5jb250b3VyLGhvdmVyaW5mbzpvKHt9LGkuaG92ZXJpbmZvKSxzaG93bGVnZW5kOm8oe30saS5zaG93bGVnZW5kLHtkZmx0OiExfSl9KSwiY2FsYyIsIm5lc3RlZCIpO2wueC5lZGl0VHlwZT1sLnkuZWRpdFR5cGU9bC56LmVkaXRUeXBlPWwudmFsdWUuZWRpdFR5cGU9ImNhbGMrY2xlYXJBeGlzVHlwZXMiLGwudHJhbnNmb3Jtcz12b2lkIDB9LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvcnNjYWxlL2F0dHJpYnV0ZXMiOjU5OSwiLi4vLi4vbGliL2V4dGVuZCI6NzA4LCIuLi8uLi9wbG90X2FwaS9lZGl0X3R5cGVzIjo3NDgsIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiOjc2MiwiLi4vaXNvc3VyZmFjZS9hdHRyaWJ1dGVzIjoxMDU2fV0sMTI4MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1tZXNoM2QiKSxhPXQoIi4uLy4uL2xpYi9nbF9mb3JtYXRfY29sb3IiKS5wYXJzZUNvbG9yU2NhbGUsaT10KCIuLi8uLi9saWIvc3RyMnJnYmFycmF5Iiksbz10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiKS5leHRyYWN0T3B0cyxzPXQoIi4uLy4uL3Bsb3RzL2dsM2QvemlwMyIpLGw9dCgiLi4vaXNvc3VyZmFjZS9jb252ZXJ0IikuZmluZE5lYXJlc3RPbkF4aXMsYz10KCIuLi9pc29zdXJmYWNlL2NvbnZlcnQiKS5nZW5lcmF0ZUlzb01lc2hlcztmdW5jdGlvbiB1KHQsZSxyKXt0aGlzLnNjZW5lPXQsdGhpcy51aWQ9cix0aGlzLm1lc2g9ZSx0aGlzLm5hbWU9IiIsdGhpcy5kYXRhPW51bGwsdGhpcy5zaG93Q29udG91cj0hMX12YXIgaD11LnByb3RvdHlwZTtoLmhhbmRsZVBpY2s9ZnVuY3Rpb24odCl7aWYodC5vYmplY3Q9PT10aGlzLm1lc2gpe3ZhciBlPXQuZGF0YS5pbmRleCxyPXRoaXMuZGF0YS5fbWVzaFhbZV0sbj10aGlzLmRhdGEuX21lc2hZW2VdLGE9dGhpcy5kYXRhLl9tZXNoWltlXSxpPXRoaXMuZGF0YS5fWXMubGVuZ3RoLG89dGhpcy5kYXRhLl9acy5sZW5ndGgscz1sKHIsdGhpcy5kYXRhLl9YcykuaWQsYz1sKG4sdGhpcy5kYXRhLl9ZcykuaWQsdT1sKGEsdGhpcy5kYXRhLl9acykuaWQsaD10LmluZGV4PXUrbypjK28qaSpzO3QudHJhY2VDb29yZGluYXRlPVt0aGlzLmRhdGEuX21lc2hYW2hdLHRoaXMuZGF0YS5fbWVzaFlbaF0sdGhpcy5kYXRhLl9tZXNoWltoXSx0aGlzLmRhdGEuX3ZhbHVlW2hdXTt2YXIgZj10aGlzLmRhdGEuaG92ZXJ0ZXh0fHx0aGlzLmRhdGEudGV4dDtyZXR1cm4gQXJyYXkuaXNBcnJheShmKSYmdm9pZCAwIT09ZltoXT90LnRleHRMYWJlbD1mW2hdOmYmJih0LnRleHRMYWJlbD1mKSwhMH19LGgudXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuc2NlbmUscj1lLmZ1bGxTY2VuZUxheW91dDtmdW5jdGlvbiBuKHQsZSxyLG4pe3JldHVybiBlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdC5kMmwoZSwwLG4pKnJ9KX10aGlzLmRhdGE9Yyh0KTt2YXIgbD17cG9zaXRpb25zOnMobihyLnhheGlzLHQuX21lc2hYLGUuZGF0YVNjYWxlWzBdLHQueGNhbGVuZGFyKSxuKHIueWF4aXMsdC5fbWVzaFksZS5kYXRhU2NhbGVbMV0sdC55Y2FsZW5kYXIpLG4oci56YXhpcyx0Ll9tZXNoWixlLmRhdGFTY2FsZVsyXSx0LnpjYWxlbmRhcikpLGNlbGxzOnModC5fbWVzaEksdC5fbWVzaEosdC5fbWVzaEspLGxpZ2h0UG9zaXRpb246W3QubGlnaHRwb3NpdGlvbi54LHQubGlnaHRwb3NpdGlvbi55LHQubGlnaHRwb3NpdGlvbi56XSxhbWJpZW50OnQubGlnaHRpbmcuYW1iaWVudCxkaWZmdXNlOnQubGlnaHRpbmcuZGlmZnVzZSxzcGVjdWxhcjp0LmxpZ2h0aW5nLnNwZWN1bGFyLHJvdWdobmVzczp0LmxpZ2h0aW5nLnJvdWdobmVzcyxmcmVzbmVsOnQubGlnaHRpbmcuZnJlc25lbCx2ZXJ0ZXhOb3JtYWxzRXBzaWxvbjp0LmxpZ2h0aW5nLnZlcnRleG5vcm1hbHNlcHNpbG9uLGZhY2VOb3JtYWxzRXBzaWxvbjp0LmxpZ2h0aW5nLmZhY2Vub3JtYWxzZXBzaWxvbixvcGFjaXR5OnQub3BhY2l0eSxvcGFjaXR5c2NhbGU6dC5vcGFjaXR5c2NhbGUsY29udG91ckVuYWJsZTp0LmNvbnRvdXIuc2hvdyxjb250b3VyQ29sb3I6aSh0LmNvbnRvdXIuY29sb3IpLnNsaWNlKDAsMyksY29udG91cldpZHRoOnQuY29udG91ci53aWR0aCx1c2VGYWNldE5vcm1hbHM6dC5mbGF0c2hhZGluZ30sdT1vKHQpO2wudmVydGV4SW50ZW5zaXR5PXQuX21lc2hJbnRlbnNpdHksbC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHM9W3UubWluLHUubWF4XSxsLmNvbG9ybWFwPWEodCksdGhpcy5tZXNoLnVwZGF0ZShsKX0saC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5zY2VuZS5nbHBsb3QucmVtb3ZlKHRoaXMubWVzaCksdGhpcy5tZXNoLmRpc3Bvc2UoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5nbHBsb3QuZ2wsYT1uKHtnbDpyfSksaT1uZXcgdSh0LGEsZS51aWQpO3JldHVybiBhLl90cmFjZT1pLGkudXBkYXRlKGUpLHQuZ2xwbG90LmFkZChhKSxpfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yc2NhbGUiOjYwNCwiLi4vLi4vbGliL2dsX2Zvcm1hdF9jb2xvciI6NzE0LCIuLi8uLi9saWIvc3RyMnJnYmFycmF5Ijo3NDAsIi4uLy4uL3Bsb3RzL2dsM2QvemlwMyI6ODE2LCIuLi9pc29zdXJmYWNlL2NvbnZlcnQiOjEwNTgsImdsLW1lc2gzZCI6MjgzfV0sMTI4MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9saWIiKSxhPXQoIi4vYXR0cmlidXRlcyIpLGk9dCgiLi4vaXNvc3VyZmFjZS9kZWZhdWx0cyIpLnN1cHBseUlzb0RlZmF1bHRzO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXtmdW5jdGlvbiBzKHIsaSl7cmV0dXJuIG4uY29lcmNlKHQsZSxhLHIsaSl9aSh0LGUscixvLHMpO3ZhciBsPXMoIm9wYWNpdHlzY2FsZSIpOyJtYXgiPT09bD9lLm9wYWNpdHlzY2FsZT1bWzAsLjFdLFsxLDFdXToibWluIj09PWw/ZS5vcGFjaXR5c2NhbGU9W1swLDFdLFsxLC4xXV06ImV4dHJlbWVzIj09PWw/ZS5vcGFjaXR5c2NhbGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9W10sbj0wO248MzI7bisrKXt2YXIgYT1uLzMxLGk9ZSsoMS1lKSooMS1NYXRoLnBvdyhNYXRoLnNpbih0KmEqTWF0aC5QSSksMikpO3IucHVzaChbYSxNYXRoLm1heCgxLE1hdGgubWluKDAsaSkpXSl9cmV0dXJuIHJ9KDEsLjEpOmZ1bmN0aW9uKHQpe3ZhciBlPTA7aWYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoPDIpcmV0dXJuITE7aWYoIXRbMF18fCF0W3QubGVuZ3RoLTFdKXJldHVybiExO2lmKDAhPSt0WzBdWzBdfHwxIT0rdFt0Lmxlbmd0aC0xXVswXSlyZXR1cm4hMTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtpZigyIT09bi5sZW5ndGh8fCtuWzBdPGUpcmV0dXJuITE7ZT0rblswXX1yZXR1cm4hMH0obCl8fChlLm9wYWNpdHlzY2FsZT12b2lkIDApfX0seyIuLi8uLi9saWIiOjcxNywiLi4vaXNvc3VyZmFjZS9kZWZhdWx0cyI6MTA1OSwiLi9hdHRyaWJ1dGVzIjoxMjgxfV0sMTI4NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLGNhbGM6dCgiLi4vaXNvc3VyZmFjZS9jYWxjIiksY29sb3JiYXI6e21pbjoiY21pbiIsbWF4OiJjbWF4In0scGxvdDp0KCIuL2NvbnZlcnQiKSxtb2R1bGVUeXBlOiJ0cmFjZSIsbmFtZToidm9sdW1lIixiYXNlUGxvdE1vZHVsZTp0KCIuLi8uLi9wbG90cy9nbDNkIiksY2F0ZWdvcmllczpbImdsM2QiLCJzaG93TGVnZW5kIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvZ2wzZCI6ODA1LCIuLi9pc29zdXJmYWNlL2NhbGMiOjEwNTcsIi4vYXR0cmlidXRlcyI6MTI4MSwiLi9jb252ZXJ0IjoxMjgyLCIuL2RlZmF1bHRzIjoxMjgzfV0sMTI4NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9iYXIvYXR0cmlidXRlcyIpLGE9dCgiLi4vc2NhdHRlci9hdHRyaWJ1dGVzIikubGluZSxpPXQoIi4uLy4uL3Bsb3RzL2F0dHJpYnV0ZXMiKSxvPXQoIi4uLy4uL3Bsb3RzL3RlbXBsYXRlX2F0dHJpYnV0ZXMiKS5ob3ZlcnRlbXBsYXRlQXR0cnMscz10KCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIikudGV4dHRlbXBsYXRlQXR0cnMsbD10KCIuL2NvbnN0YW50cyIpLGM9dCgiLi4vLi4vbGliL2V4dGVuZCIpLmV4dGVuZEZsYXQsdT10KCIuLi8uLi9jb21wb25lbnRzL2NvbG9yIik7ZnVuY3Rpb24gaCh0KXtyZXR1cm57bWFya2VyOntjb2xvcjpjKHt9LG4ubWFya2VyLmNvbG9yLHthcnJheU9rOiExLGVkaXRUeXBlOiJzdHlsZSJ9KSxsaW5lOntjb2xvcjpjKHt9LG4ubWFya2VyLmxpbmUuY29sb3Ise2FycmF5T2s6ITEsZWRpdFR5cGU6InN0eWxlIn0pLHdpZHRoOmMoe30sbi5tYXJrZXIubGluZS53aWR0aCx7YXJyYXlPazohMSxlZGl0VHlwZToic3R5bGUifSksZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn0sZWRpdFR5cGU6InN0eWxlIn19ZS5leHBvcnRzPXttZWFzdXJlOnt2YWxUeXBlOiJkYXRhX2FycmF5IixkZmx0OltdLGVkaXRUeXBlOiJjYWxjIn0sYmFzZTp7dmFsVHlwZToibnVtYmVyIixkZmx0Om51bGwsYXJyYXlPazohMSxlZGl0VHlwZToiY2FsYyJ9LHg6bi54LHgwOm4ueDAsZHg6bi5keCx5Om4ueSx5MDpuLnkwLGR5Om4uZHksaG92ZXJ0ZXh0Om4uaG92ZXJ0ZXh0LGhvdmVydGVtcGxhdGU6byh7fSx7a2V5czpsLmV2ZW50RGF0YUtleXN9KSxob3ZlcmluZm86Yyh7fSxpLmhvdmVyaW5mbyx7ZmxhZ3M6WyJuYW1lIiwieCIsInkiLCJ0ZXh0IiwiaW5pdGlhbCIsImRlbHRhIiwiZmluYWwiXX0pLHRleHRpbmZvOnt2YWxUeXBlOiJmbGFnbGlzdCIsZmxhZ3M6WyJsYWJlbCIsInRleHQiLCJpbml0aWFsIiwiZGVsdGEiLCJmaW5hbCJdLGV4dHJhczpbIm5vbmUiXSxlZGl0VHlwZToicGxvdCIsYXJyYXlPazohMX0sdGV4dHRlbXBsYXRlOnMoe2VkaXRUeXBlOiJwbG90In0se2tleXM6bC5ldmVudERhdGFLZXlzLmNvbmNhdChbImxhYmVsIl0pfSksdGV4dDpuLnRleHQsdGV4dHBvc2l0aW9uOm4udGV4dHBvc2l0aW9uLGluc2lkZXRleHRhbmNob3I6bi5pbnNpZGV0ZXh0YW5jaG9yLHRleHRhbmdsZTpuLnRleHRhbmdsZSx0ZXh0Zm9udDpuLnRleHRmb250LGluc2lkZXRleHRmb250Om4uaW5zaWRldGV4dGZvbnQsb3V0c2lkZXRleHRmb250Om4ub3V0c2lkZXRleHRmb250LGNvbnN0cmFpbnRleHQ6bi5jb25zdHJhaW50ZXh0LGNsaXBvbmF4aXM6bi5jbGlwb25heGlzLG9yaWVudGF0aW9uOm4ub3JpZW50YXRpb24sb2Zmc2V0Om4ub2Zmc2V0LHdpZHRoOm4ud2lkdGgsaW5jcmVhc2luZzpoKCksZGVjcmVhc2luZzpoKCksdG90YWxzOmgoKSxjb25uZWN0b3I6e2xpbmU6e2NvbG9yOmMoe30sYS5jb2xvcix7ZGZsdDp1LmRlZmF1bHRMaW5lfSksd2lkdGg6Yyh7fSxhLndpZHRoLHtlZGl0VHlwZToicGxvdCJ9KSxkYXNoOmEuZGFzaCxlZGl0VHlwZToicGxvdCJ9LG1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbInNwYW5uaW5nIiwiYmV0d2VlbiJdLGRmbHQ6ImJldHdlZW4iLGVkaXRUeXBlOiJwbG90In0sdmlzaWJsZTp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToicGxvdCJ9LGVkaXRUeXBlOiJwbG90In0sb2Zmc2V0Z3JvdXA6bi5vZmZzZXRncm91cCxhbGlnbm1lbnRncm91cDpuLmFsaWdubWVudGdyb3VwfX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2xpYi9leHRlbmQiOjcwOCwiLi4vLi4vcGxvdHMvYXR0cmlidXRlcyI6NzYyLCIuLi8uLi9wbG90cy90ZW1wbGF0ZV9hdHRyaWJ1dGVzIjo4NDEsIi4uL2Jhci9hdHRyaWJ1dGVzIjo4NTYsIi4uL3NjYXR0ZXIvYXR0cmlidXRlcyI6MTEyMCwiLi9jb25zdGFudHMiOjEyODd9XSwxMjg2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksYT10KCIuLi8uLi9saWIiKS5tZXJnZUFycmF5LGk9dCgiLi4vc2NhdHRlci9jYWxjX3NlbGVjdGlvbiIpLG89dCgiLi4vLi4vY29uc3RhbnRzL251bWVyaWNhbCIpLkJBRE5VTTtmdW5jdGlvbiBzKHQpe3JldHVybiJhIj09PXR8fCJhYnNvbHV0ZSI9PT10fWZ1bmN0aW9uIGwodCl7cmV0dXJuInQiPT09dHx8InRvdGFsIj09PXR9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYyx1PW4uZ2V0RnJvbUlkKHQsZS54YXhpc3x8IngiKSxoPW4uZ2V0RnJvbUlkKHQsZS55YXhpc3x8InkiKTsiaCI9PT1lLm9yaWVudGF0aW9uPyhyPXUubWFrZUNhbGNkYXRhKGUsIngiKSxjPWgubWFrZUNhbGNkYXRhKGUsInkiKSk6KHI9aC5tYWtlQ2FsY2RhdGEoZSwieSIpLGM9dS5tYWtlQ2FsY2RhdGEoZSwieCIpKTtmb3IodmFyIGYscD1NYXRoLm1pbihjLmxlbmd0aCxyLmxlbmd0aCksZD1uZXcgQXJyYXkocCksZz0wLHY9ITEsbT0wO208cDttKyspe3ZhciB5PXJbbV18fDAseD0hMTsoclttXSE9PW98fGwoZS5tZWFzdXJlW21dKXx8cyhlLm1lYXN1cmVbbV0pKSYmbSsxPHAmJihyW20rMV0hPT1vfHxsKGUubWVhc3VyZVttKzFdKXx8cyhlLm1lYXN1cmVbbSsxXSkpJiYoeD0hMCk7dmFyIGI9ZFttXT17aTptLHA6Y1ttXSxzOnkscmF3Uzp5LGNOZXh0Onh9O3MoZS5tZWFzdXJlW21dKT8oZz1iLnMsYi5pc1N1bT0hMCxiLmRpcj0idG90YWxzIixiLnM9Zyk6bChlLm1lYXN1cmVbbV0pPyhiLmlzU3VtPSEwLGIuZGlyPSJ0b3RhbHMiLGIucz1nKTooYi5pc1N1bT0hMSxiLmRpcj1iLnJhd1M8MD8iZGVjcmVhc2luZyI6ImluY3JlYXNpbmciLGY9Yi5zLGIucz1nK2YsZys9ZiksInRvdGFscyI9PT1iLmRpciYmKHY9ITApLGUuaWRzJiYoYi5pZD1TdHJpbmcoZS5pZHNbbV0pKSxiLnY9KGUuYmFzZXx8MCkrZ31yZXR1cm4gZC5sZW5ndGgmJihkWzBdLmhhc1RvdGFscz12KSxhKGUudGV4dCxkLCJ0eCIpLGEoZS5ob3ZlcnRleHQsZCwiaHR4IiksaShkLGUpLGR9fSx7Ii4uLy4uL2NvbnN0YW50cy9udW1lcmljYWwiOjY5MywiLi4vLi4vbGliIjo3MTcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uL3NjYXR0ZXIvY2FsY19zZWxlY3Rpb24iOjExMjJ9XSwxMjg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17ZXZlbnREYXRhS2V5czpbImluaXRpYWwiLCJkZWx0YSIsImZpbmFsIl19fSx7fV0sMTI4ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9iYXIvY3Jvc3NfdHJhY2VfY2FsYyIpLnNldEdyb3VwUG9zaXRpb25zO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByLGEsaT10Ll9mdWxsTGF5b3V0LG89dC5fZnVsbERhdGEscz10LmNhbGNkYXRhLGw9ZS54YXhpcyxjPWUueWF4aXMsdT1bXSxoPVtdLGY9W107Zm9yKGE9MDthPG8ubGVuZ3RoO2ErKyl7dmFyIHA9b1thXTshMD09PXAudmlzaWJsZSYmcC54YXhpcz09PWwuX2lkJiZwLnlheGlzPT09Yy5faWQmJiJ3YXRlcmZhbGwiPT09cC50eXBlJiYocj1zW2FdLCJoIj09PXAub3JpZW50YXRpb24/Zi5wdXNoKHIpOmgucHVzaChyKSx1LnB1c2gocikpfXZhciBkPXttb2RlOmkud2F0ZXJmYWxsbW9kZSxub3JtOmkud2F0ZXJmYWxsbm9ybSxnYXA6aS53YXRlcmZhbGxnYXAsZ3JvdXBnYXA6aS53YXRlcmZhbGxncm91cGdhcH07Zm9yKG4odCxsLGMsaCxkKSxuKHQsYyxsLGYsZCksYT0wO2E8dS5sZW5ndGg7YSsrKXtyPXVbYV07Zm9yKHZhciBnPTA7ZzxyLmxlbmd0aDtnKyspe3ZhciB2PXJbZ107ITE9PT12LmlzU3VtJiYodi5zMCs9MD09PWc/MDpyW2ctMV0ucyksZysxPHIubGVuZ3RoJiYocltnXS5uZXh0UDA9cltnKzFdLnAwLHJbZ10ubmV4dFMwPXJbZysxXS5zMCl9fX19LHsiLi4vYmFyL2Nyb3NzX3RyYWNlX2NhbGMiOjg1OX1dLDEyODk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuLi9iYXIvZGVmYXVsdHMiKS5oYW5kbGVHcm91cGluZ0RlZmF1bHRzLGk9dCgiLi4vYmFyL2RlZmF1bHRzIikuaGFuZGxlVGV4dCxvPXQoIi4uL3NjYXR0ZXIveHlfZGVmYXVsdHMiKSxzPXQoIi4vYXR0cmlidXRlcyIpLGw9dCgiLi4vLi4vY29tcG9uZW50cy9jb2xvciIpLGM9dCgiLi4vLi4vY29uc3RhbnRzL2RlbHRhLmpzIiksdT1jLklOQ1JFQVNJTkcuQ09MT1IsaD1jLkRFQ1JFQVNJTkcuQ09MT1IsZj0iIzQ0OTlGRiI7ZnVuY3Rpb24gcCh0LGUscil7dChlKyIubWFya2VyLmNvbG9yIixyKSx0KGUrIi5tYXJrZXIubGluZS5jb2xvciIsbC5kZWZhdWx0TGluZSksdChlKyIubWFya2VyLmxpbmUud2lkdGgiKX1lLmV4cG9ydHM9e3N1cHBseURlZmF1bHRzOmZ1bmN0aW9uKHQsZSxyLGEpe2Z1bmN0aW9uIGwocixhKXtyZXR1cm4gbi5jb2VyY2UodCxlLHMscixhKX1pZihvKHQsZSxhLGwpKXtsKCJtZWFzdXJlIiksbCgib3JpZW50YXRpb24iLGUueCYmIWUueT8iaCI6InYiKSxsKCJiYXNlIiksbCgib2Zmc2V0IiksbCgid2lkdGgiKSxsKCJ0ZXh0IiksbCgiaG92ZXJ0ZXh0IiksbCgiaG92ZXJ0ZW1wbGF0ZSIpO3ZhciBjPWwoInRleHRwb3NpdGlvbiIpO2kodCxlLGEsbCxjLHttb2R1bGVIYXNTZWxlY3RlZDohMSxtb2R1bGVIYXNVbnNlbGVjdGVkOiExLG1vZHVsZUhhc0NvbnN0cmFpbjohMCxtb2R1bGVIYXNDbGlwb25heGlzOiEwLG1vZHVsZUhhc1RleHRhbmdsZTohMCxtb2R1bGVIYXNJbnNpZGVhbmNob3I6ITB9KSwibm9uZSIhPT1lLnRleHRwb3NpdGlvbiYmKGwoInRleHR0ZW1wbGF0ZSIpLGUudGV4dHRlbXBsYXRlfHxsKCJ0ZXh0aW5mbyIpKSxwKGwsImluY3JlYXNpbmciLHUpLHAobCwiZGVjcmVhc2luZyIsaCkscChsLCJ0b3RhbHMiLGYpLGwoImNvbm5lY3Rvci52aXNpYmxlIikmJihsKCJjb25uZWN0b3IubW9kZSIpLGwoImNvbm5lY3Rvci5saW5lLndpZHRoIikmJihsKCJjb25uZWN0b3IubGluZS5jb2xvciIpLGwoImNvbm5lY3Rvci5saW5lLmRhc2giKSkpfWVsc2UgZS52aXNpYmxlPSExfSxjcm9zc1RyYWNlRGVmYXVsdHM6ZnVuY3Rpb24odCxlKXt2YXIgcixpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIG4uY29lcmNlKGkuX2lucHV0LGkscyx0KX1pZigiZ3JvdXAiPT09ZS53YXRlcmZhbGxtb2RlKWZvcih2YXIgbD0wO2w8dC5sZW5ndGg7bCsrKXI9KGk9dFtsXSkuX2lucHV0LGEocixpLGUsbyl9fX0seyIuLi8uLi9jb21wb25lbnRzL2NvbG9yIjo1OTIsIi4uLy4uL2NvbnN0YW50cy9kZWx0YS5qcyI6Njg3LCIuLi8uLi9saWIiOjcxNywiLi4vYmFyL2RlZmF1bHRzIjo4NjAsIi4uL3NjYXR0ZXIveHlfZGVmYXVsdHMiOjExNDYsIi4vYXR0cmlidXRlcyI6MTI4NX1dLDEyOTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueD0ieFZhbCJpbiBlP2UueFZhbDplLngsdC55PSJ5VmFsImluIGU/ZS55VmFsOmUueSwiaW5pdGlhbCJpbiBlJiYodC5pbml0aWFsPWUuaW5pdGlhbCksImRlbHRhImluIGUmJih0LmRlbHRhPWUuZGVsdGEpLCJmaW5hbCJpbiBlJiYodC5maW5hbD1lLmZpbmFsKSxlLnhhJiYodC54YXhpcz1lLnhhKSxlLnlhJiYodC55YXhpcz1lLnlhKSx0fX0se31dLDEyOTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKS5ob3ZlckxhYmVsVGV4dCxhPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKS5vcGFjaXR5LGk9dCgiLi4vYmFyL2hvdmVyIikuaG92ZXJPbkJhcnMsbz10KCIuLi8uLi9jb25zdGFudHMvZGVsdGEuanMiKSxzPW8uSU5DUkVBU0lORy5TWU1CT0wsbD1vLkRFQ1JFQVNJTkcuU1lNQk9MO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXt2YXIgYz1pKHQsZSxyLG8pO2lmKGMpe3ZhciB1PWMuY2QsaD11WzBdLnRyYWNlLGY9ImgiPT09aC5vcmllbnRhdGlvbixwPWY/dC54YTp0LnlhLGQ9dVtjLmluZGV4XSxnPWQuaXNTdW0/ZC5iK2QuczpkLnJhd1M7aWYoIWQuaXNTdW0pe2MuaW5pdGlhbD1kLmIrZC5zLWcsYy5kZWx0YT1nLGMuZmluYWw9Yy5pbml0aWFsK2MuZGVsdGE7dmFyIHY9dyhNYXRoLmFicyhjLmRlbHRhKSk7Yy5kZWx0YUxhYmVsPWc8MD8iKCIrdisiKSI6dixjLmZpbmFsTGFiZWw9dyhjLmZpbmFsKSxjLmluaXRpYWxMYWJlbD13KGMuaW5pdGlhbCl9dmFyIG09ZC5oaXx8aC5ob3ZlcmluZm8seT1bXTtpZihtJiYibm9uZSIhPT1tJiYic2tpcCIhPT1tKXt2YXIgeD0iYWxsIj09PW0sYj1tLnNwbGl0KCIrIiksXz1mdW5jdGlvbih0KXtyZXR1cm4geHx8LTEhPT1iLmluZGV4T2YodCl9O2QuaXNTdW18fCghXygiZmluYWwiKXx8XyhmPyJ4IjoieSIpfHx5LnB1c2goYy5maW5hbExhYmVsKSxfKCJkZWx0YSIpJiYoZzwwP3kucHVzaChjLmRlbHRhTGFiZWwrIiAiK2wpOnkucHVzaChjLmRlbHRhTGFiZWwrIiAiK3MpKSxfKCJpbml0aWFsIikmJnkucHVzaCgiSW5pdGlhbDogIitjLmluaXRpYWxMYWJlbCkpfXJldHVybiB5Lmxlbmd0aCYmKGMuZXh0cmFUZXh0PXkuam9pbigiPGJyPiIpKSxjLmNvbG9yPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dFtlLmRpcl0ubWFya2VyLG49ci5jb2xvcixpPXIubGluZS5jb2xvcixvPXIubGluZS53aWR0aDtpZihhKG4pKXJldHVybiBuO2lmKGEoaSkmJm8pcmV0dXJuIGl9KGgsZCksW2NdfWZ1bmN0aW9uIHcodCl7cmV0dXJuIG4ocCx0KX19fSx7Ii4uLy4uL2NvbXBvbmVudHMvY29sb3IiOjU5MiwiLi4vLi4vY29uc3RhbnRzL2RlbHRhLmpzIjo2ODcsIi4uLy4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIjo3NjUsIi4uL2Jhci9ob3ZlciI6ODYzfV0sMTI5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2F0dHJpYnV0ZXM6dCgiLi9hdHRyaWJ1dGVzIiksbGF5b3V0QXR0cmlidXRlczp0KCIuL2xheW91dF9hdHRyaWJ1dGVzIiksc3VwcGx5RGVmYXVsdHM6dCgiLi9kZWZhdWx0cyIpLnN1cHBseURlZmF1bHRzLGNyb3NzVHJhY2VEZWZhdWx0czp0KCIuL2RlZmF1bHRzIikuY3Jvc3NUcmFjZURlZmF1bHRzLHN1cHBseUxheW91dERlZmF1bHRzOnQoIi4vbGF5b3V0X2RlZmF1bHRzIiksY2FsYzp0KCIuL2NhbGMiKSxjcm9zc1RyYWNlQ2FsYzp0KCIuL2Nyb3NzX3RyYWNlX2NhbGMiKSxwbG90OnQoIi4vcGxvdCIpLHN0eWxlOnQoIi4vc3R5bGUiKS5zdHlsZSxob3ZlclBvaW50czp0KCIuL2hvdmVyIiksZXZlbnREYXRhOnQoIi4vZXZlbnRfZGF0YSIpLHNlbGVjdFBvaW50czp0KCIuLi9iYXIvc2VsZWN0IiksbW9kdWxlVHlwZToidHJhY2UiLG5hbWU6IndhdGVyZmFsbCIsYmFzZVBsb3RNb2R1bGU6dCgiLi4vLi4vcGxvdHMvY2FydGVzaWFuIiksY2F0ZWdvcmllczpbImJhci1saWtlIiwiY2FydGVzaWFuIiwic3ZnIiwib3JpZW50ZWQiLCJzaG93TGVnZW5kIiwiem9vbVNjYWxlIl0sbWV0YTp7fX19LHsiLi4vLi4vcGxvdHMvY2FydGVzaWFuIjo3NzYsIi4uL2Jhci9zZWxlY3QiOjg2OCwiLi9hdHRyaWJ1dGVzIjoxMjg1LCIuL2NhbGMiOjEyODYsIi4vY3Jvc3NfdHJhY2VfY2FsYyI6MTI4OCwiLi9kZWZhdWx0cyI6MTI4OSwiLi9ldmVudF9kYXRhIjoxMjkwLCIuL2hvdmVyIjoxMjkxLCIuL2xheW91dF9hdHRyaWJ1dGVzIjoxMjkzLCIuL2xheW91dF9kZWZhdWx0cyI6MTI5NCwiLi9wbG90IjoxMjk1LCIuL3N0eWxlIjoxMjk2fV0sMTI5MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e3dhdGVyZmFsbG1vZGU6e3ZhbFR5cGU6ImVudW1lcmF0ZWQiLHZhbHVlczpbImdyb3VwIiwib3ZlcmxheSJdLGRmbHQ6Imdyb3VwIixlZGl0VHlwZToiY2FsYyJ9LHdhdGVyZmFsbGdhcDp7dmFsVHlwZToibnVtYmVyIixtaW46MCxtYXg6MSxlZGl0VHlwZToiY2FsYyJ9LHdhdGVyZmFsbGdyb3VwZ2FwOnt2YWxUeXBlOiJudW1iZXIiLG1pbjowLG1heDoxLGRmbHQ6MCxlZGl0VHlwZToiY2FsYyJ9fX0se31dLDEyOTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vLi4vbGliIiksYT10KCIuL2xheW91dF9hdHRyaWJ1dGVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT0hMTtmdW5jdGlvbiBvKHIsaSl7cmV0dXJuIG4uY29lcmNlKHQsZSxhLHIsaSl9Zm9yKHZhciBzPTA7czxyLmxlbmd0aDtzKyspe3ZhciBsPXJbc107aWYobC52aXNpYmxlJiYid2F0ZXJmYWxsIj09PWwudHlwZSl7aT0hMDticmVha319aSYmKG8oIndhdGVyZmFsbG1vZGUiKSxvKCJ3YXRlcmZhbGxnYXAiLC4yKSxvKCJ3YXRlcmZhbGxncm91cGdhcCIpKX19LHsiLi4vLi4vbGliIjo3MTcsIi4vbGF5b3V0X2F0dHJpYnV0ZXMiOjEyOTN9XSwxMjk1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9saWIiKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvZHJhd2luZyIpLG89dCgiLi4vYmFyL3Bsb3QiKSxzPXQoIi4uL2Jhci91bmlmb3JtX3RleHQiKS5jbGVhck1pblRleHRTaXplO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsKXt2YXIgYz10Ll9mdWxsTGF5b3V0O3MoIndhdGVyZmFsbCIsYyksby5wbG90KHQsZSxyLGwse21vZGU6Yy53YXRlcmZhbGxtb2RlLG5vcm06Yy53YXRlcmZhbGxtb2RlLGdhcDpjLndhdGVyZmFsbGdhcCxncm91cGdhcDpjLndhdGVyZmFsbGdyb3VwZ2FwfSksZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9ZS54YXhpcyxsPWUueWF4aXM7YS5tYWtlVHJhY2VHcm91cHMobyxyLCJ0cmFjZSBiYXJzIikuZWFjaChmdW5jdGlvbihyKXt2YXIgbz1uLnNlbGVjdCh0aGlzKSxjPXJbMF0udHJhY2UsdT1hLmVuc3VyZVNpbmdsZShvLCJnIiwibGluZXMiKTtpZihjLmNvbm5lY3RvciYmYy5jb25uZWN0b3IudmlzaWJsZSl7dmFyIGg9ImgiPT09Yy5vcmllbnRhdGlvbixmPWMuY29ubmVjdG9yLm1vZGUscD11LnNlbGVjdEFsbCgiZy5saW5lIikuZGF0YShhLmlkZW50aXR5KTtwLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgibGluZSIsITApLHAuZXhpdCgpLnJlbW92ZSgpO3ZhciBkPXAuc2l6ZSgpO3AuZWFjaChmdW5jdGlvbihyLG8pe2lmKG89PT1kLTF8fHIuY05leHQpe3ZhciBjPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPVtdLGk9W10sbz1uP2U6cixzPW4/cjplO3JldHVybiBhWzBdPW8uYzJwKHQuczAsITApLGlbMF09cy5jMnAodC5wMCwhMCksYVsxXT1vLmMycCh0LnMxLCEwKSxpWzFdPXMuYzJwKHQucDEsITApLGFbMl09by5jMnAodC5uZXh0UzAsITApLGlbMl09cy5jMnAodC5uZXh0UDAsITApLG4/W2EsaV06W2ksYV19KHIscyxsLGgpLHU9Y1swXSxwPWNbMV0sZz0iIjsic3Bhbm5pbmciPT09ZiYmIXIuaXNTdW0mJm8+MCYmKGcrPWg/Ik0iK3VbMF0rIiwiK3BbMV0rIlYiK3BbMF06Ik0iK3VbMV0rIiwiK3BbMF0rIkgiK3VbMF0pLCJiZXR3ZWVuIiE9PWYmJihyLmlzU3VtfHxvPGQtMSkmJihnKz1oPyJNIit1WzFdKyIsIitwWzBdKyJWIitwWzFdOiJNIit1WzBdKyIsIitwWzFdKyJIIit1WzFdKSx2b2lkIDAhPT11WzJdJiZ2b2lkIDAhPT1wWzJdJiYoZys9aD8iTSIrdVsxXSsiLCIrcFsxXSsiViIrcFsyXToiTSIrdVsxXSsiLCIrcFsxXSsiSCIrdVsyXSksIiI9PT1nJiYoZz0iTTAsMFoiKSxhLmVuc3VyZVNpbmdsZShuLnNlbGVjdCh0aGlzKSwicGF0aCIpLmF0dHIoImQiLGcpLmNhbGwoaS5zZXRDbGlwVXJsLGUubGF5ZXJDbGlwSWQsdCl9fSl9ZWxzZSB1LnJlbW92ZSgpfSl9KHQsZSxyLGwpfX0seyIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vbGliIjo3MTcsIi4uL2Jhci9wbG90Ijo4NjcsIi4uL2Jhci91bmlmb3JtX3RleHQiOjg3MixkMzoxNjV9XSwxMjk2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImQzIiksYT10KCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciKSxpPXQoIi4uLy4uL2NvbXBvbmVudHMvY29sb3IiKSxvPXQoIi4uLy4uL2NvbnN0YW50cy9pbnRlcmFjdGlvbnMiKS5ERVNFTEVDVERJTSxzPXQoIi4uL2Jhci9zdHlsZSIpLGw9dCgiLi4vYmFyL3VuaWZvcm1fdGV4dCIpLnJlc2l6ZVRleHQsYz1zLnN0eWxlVGV4dFBvaW50cztlLmV4cG9ydHM9e3N0eWxlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgcz1yfHxuLnNlbGVjdCh0KS5zZWxlY3RBbGwoImcud2F0ZXJmYWxsbGF5ZXIiKS5zZWxlY3RBbGwoImcudHJhY2UiKTtsKHQscywid2F0ZXJmYWxsIikscy5zdHlsZSgib3BhY2l0eSIsZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0udHJhY2Uub3BhY2l0eX0pLHMuZWFjaChmdW5jdGlvbihlKXt2YXIgcj1uLnNlbGVjdCh0aGlzKSxzPWVbMF0udHJhY2U7ci5zZWxlY3RBbGwoIi5wb2ludCA+IHBhdGgiKS5lYWNoKGZ1bmN0aW9uKHQpe2lmKCF0LmlzQmxhbmspe3ZhciBlPXNbdC5kaXJdLm1hcmtlcjtuLnNlbGVjdCh0aGlzKS5jYWxsKGkuZmlsbCxlLmNvbG9yKS5jYWxsKGkuc3Ryb2tlLGUubGluZS5jb2xvcikuY2FsbChhLmRhc2hMaW5lLGUubGluZS5kYXNoLGUubGluZS53aWR0aCkuc3R5bGUoIm9wYWNpdHkiLHMuc2VsZWN0ZWRwb2ludHMmJiF0LnNlbGVjdGVkP286MSl9fSksYyhyLHMsdCksci5zZWxlY3RBbGwoIi5saW5lcyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1zLmNvbm5lY3Rvci5saW5lO2EubGluZUdyb3VwU3R5bGUobi5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJwYXRoIiksdC53aWR0aCx0LmNvbG9yLHQuZGFzaCl9KX0pfX19LHsiLi4vLi4vY29tcG9uZW50cy9jb2xvciI6NTkyLCIuLi8uLi9jb21wb25lbnRzL2RyYXdpbmciOjYxMywiLi4vLi4vY29uc3RhbnRzL2ludGVyYWN0aW9ucyI6NjkyLCIuLi9iYXIvc3R5bGUiOjg3MCwiLi4vYmFyL3VuaWZvcm1fdGV4dCI6ODcyLGQzOjE2NX1dLDEyOTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxhPXQoIi4uL2xpYiIpLGk9dCgiLi4vcGxvdF9hcGkvcGxvdF9zY2hlbWEiKSxvPXQoIi4vaGVscGVycyIpLnBvaW50c0FjY2Vzc29yRnVuY3Rpb24scz10KCIuLi9jb25zdGFudHMvbnVtZXJpY2FsIikuQkFETlVNO3IubW9kdWxlVHlwZT0idHJhbnNmb3JtIixyLm5hbWU9ImFnZ3JlZ2F0ZSI7dmFyIGw9ci5hdHRyaWJ1dGVzPXtlbmFibGVkOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn0sZ3JvdXBzOnt2YWxUeXBlOiJzdHJpbmciLHN0cmljdDohMCxub0JsYW5rOiEwLGFycmF5T2s6ITAsZGZsdDoieCIsZWRpdFR5cGU6ImNhbGMifSxhZ2dyZWdhdGlvbnM6e19pc0xpbmtlZFRvQXJyYXk6ImFnZ3JlZ2F0aW9uIix0YXJnZXQ6e3ZhbFR5cGU6InN0cmluZyIsZWRpdFR5cGU6ImNhbGMifSxmdW5jOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJjb3VudCIsInN1bSIsImF2ZyIsIm1lZGlhbiIsIm1vZGUiLCJybXMiLCJzdGRkZXYiLCJtaW4iLCJtYXgiLCJmaXJzdCIsImxhc3QiLCJjaGFuZ2UiLCJyYW5nZSJdLGRmbHQ6ImZpcnN0IixlZGl0VHlwZToiY2FsYyJ9LGZ1bmNtb2RlOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6WyJzYW1wbGUiLCJwb3B1bGF0aW9uIl0sZGZsdDoic2FtcGxlIixlZGl0VHlwZToiY2FsYyJ9LGVuYWJsZWQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9LGVkaXRUeXBlOiJjYWxjIn0sYz1sLmFnZ3JlZ2F0aW9ucztmdW5jdGlvbiB1KHQsZSxyLGkpe2lmKGkuZW5hYmxlZCl7Zm9yKHZhciBvPWkudGFyZ2V0LGw9YS5uZXN0ZWRQcm9wZXJ0eShlLG8pLGM9bC5nZXQoKSx1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5mdW5jLG49ZS5kMmMsYT1lLmMyZDtzd2l0Y2gocil7Y2FzZSJjb3VudCI6cmV0dXJuIGg7Y2FzZSJmaXJzdCI6cmV0dXJuIGY7Y2FzZSJsYXN0IjpyZXR1cm4gcDtjYXNlInN1bSI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1uKHRbZVtpXV0pO28hPT1zJiYocis9byl9cmV0dXJuIGEocil9O2Nhc2UiYXZnIjpyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxpPTAsbz0wO288ZS5sZW5ndGg7bysrKXt2YXIgbD1uKHRbZVtvXV0pO2whPT1zJiYocis9bCxpKyspfXJldHVybiBpP2Eoci9pKTpzfTtjYXNlIm1pbiI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEvMCxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPW4odFtlW2ldXSk7byE9PXMmJihyPU1hdGgubWluKHIsbykpfXJldHVybiByPT09MS8wP3M6YShyKX07Y2FzZSJtYXgiOnJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMS8wLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIG89bih0W2VbaV1dKTtvIT09cyYmKHI9TWF0aC5tYXgocixvKSl9cmV0dXJuIHI9PT0tMS8wP3M6YShyKX07Y2FzZSJyYW5nZSI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEvMCxpPS0xLzAsbz0wO288ZS5sZW5ndGg7bysrKXt2YXIgbD1uKHRbZVtvXV0pO2whPT1zJiYocj1NYXRoLm1pbihyLGwpLGk9TWF0aC5tYXgoaSxsKSl9cmV0dXJuIGk9PT0tMS8wfHxyPT09MS8wP3M6YShpLXIpfTtjYXNlImNoYW5nZSI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9bih0W2VbMF1dKSxpPW4odFtlW2UubGVuZ3RoLTFdXSk7cmV0dXJuIHI9PT1zfHxpPT09cz9zOmEoaS1yKX07Y2FzZSJtZWRpYW4iOnJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPW4odFtlW2ldXSk7byE9PXMmJnIucHVzaChvKX1pZighci5sZW5ndGgpcmV0dXJuIHM7ci5zb3J0KCk7dmFyIGw9KHIubGVuZ3RoLTEpLzI7cmV0dXJuIGEoKHJbTWF0aC5mbG9vcihsKV0rcltNYXRoLmNlaWwobCldKS8yKX07Y2FzZSJtb2RlIjpyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9e30saT0wLG89cyxsPTA7bDxlLmxlbmd0aDtsKyspe3ZhciBjPW4odFtlW2xdXSk7aWYoYyE9PXMpe3ZhciB1PXJbY109KHJbY118fDApKzE7dT5pJiYoaT11LG89Yyl9fXJldHVybiBpP2Eobyk6c307Y2FzZSJybXMiOnJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLGk9MCxvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBsPW4odFtlW29dXSk7bCE9PXMmJihyKz1sKmwsaSsrKX1yZXR1cm4gaT9hKE1hdGguc3FydChyL2kpKTpzfTtjYXNlInN0ZGRldiI6cmV0dXJuIGZ1bmN0aW9uKGUscil7dmFyIGEsaT0wLG89MCxsPTEsYz1zO2ZvcihhPTA7YTxyLmxlbmd0aCYmYz09PXM7YSsrKWM9bihlW3JbYV1dKTtpZihjPT09cylyZXR1cm4gcztmb3IoO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1uKGVbclthXV0pO2lmKHUhPT1zKXt2YXIgaD11LWM7aSs9aCxvKz1oKmgsbCsrfX12YXIgZj0ic2FtcGxlIj09PXQuZnVuY21vZGU/bC0xOmw7cmV0dXJuIGY/TWF0aC5zcXJ0KChvLWkqaS9sKS9mKTowfX19KGksbi5nZXREYXRhQ29udmVyc2lvbnModCxlLG8sYykpLGQ9bmV3IEFycmF5KHIubGVuZ3RoKSxnPTA7ZzxyLmxlbmd0aDtnKyspZFtnXT11KGMscltnXSk7bC5zZXQoZCksImNvdW50Ij09PWkuZnVuYyYmYS5wdXNoVW5pcXVlKGUuX2FycmF5QXR0cnMsbyl9fWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gZS5sZW5ndGh9ZnVuY3Rpb24gZih0LGUpe3JldHVybiB0W2VbMF1dfWZ1bmN0aW9uIHAodCxlKXtyZXR1cm4gdFtlW2UubGVuZ3RoLTFdXX1yLnN1cHBseURlZmF1bHRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj17fTtmdW5jdGlvbiBvKGUscil7cmV0dXJuIGEuY29lcmNlKHQsbixsLGUscil9aWYoIW8oImVuYWJsZWQiKSlyZXR1cm4gbjt2YXIgcz1pLmZpbmRBcnJheUF0dHJpYnV0ZXMoZSksdT17fTtmb3Iocj0wO3I8cy5sZW5ndGg7cisrKXVbc1tyXV09MTt2YXIgaD1vKCJncm91cHMiKTtpZighQXJyYXkuaXNBcnJheShoKSl7aWYoIXVbaF0pcmV0dXJuIG4uZW5hYmxlZD0hMSxuO3VbaF09MH12YXIgZixwPXQuYWdncmVnYXRpb25zfHxbXSxkPW4uYWdncmVnYXRpb25zPW5ldyBBcnJheShwLmxlbmd0aCk7ZnVuY3Rpb24gZyh0LGUpe3JldHVybiBhLmNvZXJjZShwW3JdLGYsYyx0LGUpfWZvcihyPTA7cjxwLmxlbmd0aDtyKyspe2Y9e19pbmRleDpyfTt2YXIgdj1nKCJ0YXJnZXQiKSxtPWcoImZ1bmMiKTtnKCJlbmFibGVkIikmJnYmJih1W3ZdfHwiY291bnQiPT09bSYmdm9pZCAwPT09dVt2XSk/KCJzdGRkZXYiPT09bSYmZygiZnVuY21vZGUiKSx1W3ZdPTAsZFtyXT1mKTpkW3JdPXtlbmFibGVkOiExLF9pbmRleDpyfX1mb3Iocj0wO3I8cy5sZW5ndGg7cisrKXVbc1tyXV0mJmQucHVzaCh7dGFyZ2V0OnNbcl0sZnVuYzpjLmZ1bmMuZGZsdCxlbmFibGVkOiEwLF9pbmRleDotMX0pO3JldHVybiBufSxyLmNhbGNUcmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe2lmKHIuZW5hYmxlZCl7dmFyIG49ci5ncm91cHMsaT1hLmdldFRhcmdldEFycmF5KGUse3RhcmdldDpufSk7aWYoaSl7dmFyIHMsbCxjLGgsZj17fSxwPXt9LGQ9W10sZz1vKGUudHJhbnNmb3JtcyxyKSx2PWkubGVuZ3RoO2ZvcihlLl9sZW5ndGgmJih2PU1hdGgubWluKHYsZS5fbGVuZ3RoKSkscz0wO3M8djtzKyspdm9pZCAwPT09KGM9ZltsPWlbc11dKT8oZltsXT1kLmxlbmd0aCxoPVtzXSxkLnB1c2goaCkscFtmW2xdXT1nKHMpKTooZFtjXS5wdXNoKHMpLHBbZltsXV09KHBbZltsXV18fFtdKS5jb25jYXQoZyhzKSkpO3IuX2luZGV4VG9Qb2ludHM9cDt2YXIgbT1yLmFnZ3JlZ2F0aW9ucztmb3Iocz0wO3M8bS5sZW5ndGg7cysrKXUodCxlLGQsbVtzXSk7InN0cmluZyI9PXR5cGVvZiBuJiZ1KHQsZSxkLHt0YXJnZXQ6bixmdW5jOiJmaXJzdCIsZW5hYmxlZDohMH0pLGUuX2xlbmd0aD1kLmxlbmd0aH19fX0seyIuLi9jb25zdGFudHMvbnVtZXJpY2FsIjo2OTMsIi4uL2xpYiI6NzE3LCIuLi9wbG90X2FwaS9wbG90X3NjaGVtYSI6NzU0LCIuLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuL2hlbHBlcnMiOjEzMDB9XSwxMjk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2xpYiIpLGE9dCgiLi4vcmVnaXN0cnkiKSxpPXQoIi4uL3Bsb3RzL2NhcnRlc2lhbi9heGVzIiksbz10KCIuL2hlbHBlcnMiKS5wb2ludHNBY2Nlc3NvckZ1bmN0aW9uLHM9dCgiLi4vY29uc3RhbnRzL2ZpbHRlcl9vcHMiKSxsPXMuQ09NUEFSSVNPTl9PUFMsYz1zLklOVEVSVkFMX09QUyx1PXMuU0VUX09QUztyLm1vZHVsZVR5cGU9InRyYW5zZm9ybSIsci5uYW1lPSJmaWx0ZXIiLHIuYXR0cmlidXRlcz17ZW5hYmxlZDp7dmFsVHlwZToiYm9vbGVhbiIsZGZsdDohMCxlZGl0VHlwZToiY2FsYyJ9LHRhcmdldDp7dmFsVHlwZToic3RyaW5nIixzdHJpY3Q6ITAsbm9CbGFuazohMCxhcnJheU9rOiEwLGRmbHQ6IngiLGVkaXRUeXBlOiJjYWxjIn0sb3BlcmF0aW9uOnt2YWxUeXBlOiJlbnVtZXJhdGVkIix2YWx1ZXM6W10uY29uY2F0KGwpLmNvbmNhdChjKS5jb25jYXQodSksZGZsdDoiPSIsZWRpdFR5cGU6ImNhbGMifSx2YWx1ZTp7dmFsVHlwZToiYW55IixkZmx0OjAsZWRpdFR5cGU6ImNhbGMifSxwcmVzZXJ2ZWdhcHM6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITEsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9LHIuc3VwcGx5RGVmYXVsdHM9ZnVuY3Rpb24odCl7dmFyIGU9e307ZnVuY3Rpb24gaShhLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsci5hdHRyaWJ1dGVzLGEsaSl9aWYoaSgiZW5hYmxlZCIpKXt2YXIgbz1pKCJ0YXJnZXQiKTtpZihuLmlzQXJyYXlPclR5cGVkQXJyYXkobykmJjA9PT1vLmxlbmd0aClyZXR1cm4gZS5lbmFibGVkPSExLGU7aSgicHJlc2VydmVnYXBzIiksaSgib3BlcmF0aW9uIiksaSgidmFsdWUiKTt2YXIgcz1hLmdldENvbXBvbmVudE1ldGhvZCgiY2FsZW5kYXJzIiwiaGFuZGxlRGVmYXVsdHMiKTtzKHQsZSwidmFsdWVjYWxlbmRhciIsbnVsbCkscyh0LGUsInRhcmdldGNhbGVuZGFyIixudWxsKX1yZXR1cm4gZX0sci5jYWxjVHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXtpZihyLmVuYWJsZWQpe3ZhciBhPW4uZ2V0VGFyZ2V0QXJyYXkoZSxyKTtpZihhKXt2YXIgcz1yLnRhcmdldCxoPWEubGVuZ3RoO2UuX2xlbmd0aCYmKGg9TWF0aC5taW4oaCxlLl9sZW5ndGgpKTt2YXIgZj1yLnRhcmdldGNhbGVuZGFyLHA9ZS5fYXJyYXlBdHRycyxkPXIucHJlc2VydmVnYXBzO2lmKCJzdHJpbmciPT10eXBlb2Ygcyl7dmFyIGc9bi5uZXN0ZWRQcm9wZXJ0eShlLHMrImNhbGVuZGFyIikuZ2V0KCk7ZyYmKGY9Zyl9dmFyIHYsbSx5PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10Lm9wZXJhdGlvbixhPXQudmFsdWUsaT1BcnJheS5pc0FycmF5KGEpO2Z1bmN0aW9uIG8odCl7cmV0dXJuLTEhPT10LmluZGV4T2Yobil9dmFyIHMsaD1mdW5jdGlvbihyKXtyZXR1cm4gZShyLDAsdC52YWx1ZWNhbGVuZGFyKX0sZj1mdW5jdGlvbih0KXtyZXR1cm4gZSh0LDAscil9O28obCk/cz1oKGk/YVswXTphKTpvKGMpP3M9aT9baChhWzBdKSxoKGFbMV0pXTpbaChhKSxoKGEpXTpvKHUpJiYocz1pP2EubWFwKGgpOltoKGEpXSk7c3dpdGNoKG4pe2Nhc2UiPSI6cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmKHQpPT09c307Y2FzZSIhPSI6cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmKHQpIT09c307Y2FzZSI8IjpyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGYodCk8c307Y2FzZSI8PSI6cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmKHQpPD1zfTtjYXNlIj4iOnJldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZih0KT5zfTtjYXNlIj49IjpyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGYodCk+PXN9O2Nhc2UiW10iOnJldHVybiBmdW5jdGlvbih0KXt2YXIgZT1mKHQpO3JldHVybiBlPj1zWzBdJiZlPD1zWzFdfTtjYXNlIigpIjpyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9Zih0KTtyZXR1cm4gZT5zWzBdJiZlPHNbMV19O2Nhc2UiWykiOnJldHVybiBmdW5jdGlvbih0KXt2YXIgZT1mKHQpO3JldHVybiBlPj1zWzBdJiZlPHNbMV19O2Nhc2UiKF0iOnJldHVybiBmdW5jdGlvbih0KXt2YXIgZT1mKHQpO3JldHVybiBlPnNbMF0mJmU8PXNbMV19O2Nhc2UiXVsiOnJldHVybiBmdW5jdGlvbih0KXt2YXIgZT1mKHQpO3JldHVybiBlPD1zWzBdfHxlPj1zWzFdfTtjYXNlIikoIjpyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9Zih0KTtyZXR1cm4gZTxzWzBdfHxlPnNbMV19O2Nhc2UiXSgiOnJldHVybiBmdW5jdGlvbih0KXt2YXIgZT1mKHQpO3JldHVybiBlPD1zWzBdfHxlPnNbMV19O2Nhc2UiKVsiOnJldHVybiBmdW5jdGlvbih0KXt2YXIgZT1mKHQpO3JldHVybiBlPHNbMF18fGU+PXNbMV19O2Nhc2Uie30iOnJldHVybiBmdW5jdGlvbih0KXtyZXR1cm4tMSE9PXMuaW5kZXhPZihmKHQpKX07Y2FzZSJ9eyI6cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybi0xPT09cy5pbmRleE9mKGYodCkpfX19KHIsaS5nZXREYXRhVG9Db29yZEZ1bmModCxlLHMsYSksZikseD17fSxiPXt9LF89MDtkPyh2PWZ1bmN0aW9uKHQpe3hbdC5hc3RyXT1uLmV4dGVuZERlZXAoW10sdC5nZXQoKSksdC5zZXQobmV3IEFycmF5KGgpKX0sbT1mdW5jdGlvbih0LGUpe3ZhciByPXhbdC5hc3RyXVtlXTt0LmdldCgpW2VdPXJ9KToodj1mdW5jdGlvbih0KXt4W3QuYXN0cl09bi5leHRlbmREZWVwKFtdLHQuZ2V0KCkpLHQuc2V0KFtdKX0sbT1mdW5jdGlvbih0LGUpe3ZhciByPXhbdC5hc3RyXVtlXTt0LmdldCgpLnB1c2gocil9KSxUKHYpO2Zvcih2YXIgdz1vKGUudHJhbnNmb3JtcyxyKSxrPTA7azxoO2srKyl7eShhW2tdKT8oVChtLGspLGJbXysrXT13KGspKTpkJiZfKyt9ci5faW5kZXhUb1BvaW50cz1iLGUuX2xlbmd0aD1ffX1mdW5jdGlvbiBUKHQscil7Zm9yKHZhciBhPTA7YTxwLmxlbmd0aDthKyspe3Qobi5uZXN0ZWRQcm9wZXJ0eShlLHBbYV0pLHIpfX19fSx7Ii4uL2NvbnN0YW50cy9maWx0ZXJfb3BzIjo2ODksIi4uL2xpYiI6NzE3LCIuLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuLi9yZWdpc3RyeSI6ODQ2LCIuL2hlbHBlcnMiOjEzMDB9XSwxMjk5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2xpYiIpLGE9dCgiLi4vcGxvdF9hcGkvcGxvdF9zY2hlbWEiKSxpPXQoIi4uL3Bsb3RzL3Bsb3RzIiksbz10KCIuL2hlbHBlcnMiKS5wb2ludHNBY2Nlc3NvckZ1bmN0aW9uO2Z1bmN0aW9uIHModCxlKXt2YXIgcixzLGwsYyx1LGgsZixwLGQsZyx2PWUudHJhbnNmb3JtLG09ZS50cmFuc2Zvcm1JbmRleCx5PXQudHJhbnNmb3Jtc1ttXS5ncm91cHMseD1vKHQudHJhbnNmb3Jtcyx2KTtpZighbi5pc0FycmF5T3JUeXBlZEFycmF5KHkpfHwwPT09eS5sZW5ndGgpcmV0dXJuW3RdO3ZhciBiPW4uZmlsdGVyVW5pcXVlKHkpLF89bmV3IEFycmF5KGIubGVuZ3RoKSx3PXkubGVuZ3RoLGs9YS5maW5kQXJyYXlBdHRyaWJ1dGVzKHQpLFQ9di5zdHlsZXN8fFtdLE09e307Zm9yKHI9MDtyPFQubGVuZ3RoO3IrKylNW1Rbcl0udGFyZ2V0XT1UW3JdLnZhbHVlO3Yuc3R5bGVzJiYoZz1uLmtleWVkQ29udGFpbmVyKHYsInN0eWxlcyIsInRhcmdldCIsInZhbHVlLm5hbWUiKSk7dmFyIEE9e30sUz17fTtmb3Iocj0wO3I8Yi5sZW5ndGg7cisrKXtBW2g9YltyXV09cixTW2hdPTAsKGY9X1tyXT1uLmV4dGVuZERlZXBOb0FycmF5cyh7fSx0KSkuX2dyb3VwPWgsZi50cmFuc2Zvcm1zW21dLl9pbmRleFRvUG9pbnRzPXt9O3ZhciBFPW51bGw7Zm9yKGcmJihFPWcuZ2V0KGgpKSxmLm5hbWU9RXx8IiI9PT1FP0U6bi50ZW1wbGF0ZVN0cmluZyh2Lm5hbWVmb3JtYXQse3RyYWNlOnQubmFtZSxncm91cDpofSkscD1mLnRyYW5zZm9ybXMsZi50cmFuc2Zvcm1zPVtdLHM9MDtzPHAubGVuZ3RoO3MrKylmLnRyYW5zZm9ybXNbc109bi5leHRlbmREZWVwTm9BcnJheXMoe30scFtzXSk7Zm9yKHM9MDtzPGsubGVuZ3RoO3MrKyluLm5lc3RlZFByb3BlcnR5KGYsa1tzXSkuc2V0KFtdKX1mb3IobD0wO2w8ay5sZW5ndGg7bCsrKXtmb3IoYz1rW2xdLHM9MCxkPVtdO3M8Yi5sZW5ndGg7cysrKWRbc109bi5uZXN0ZWRQcm9wZXJ0eShfW3NdLGMpLmdldCgpO2Zvcih1PW4ubmVzdGVkUHJvcGVydHkodCxjKS5nZXQoKSxzPTA7czx3O3MrKylkW0FbeVtzXV1dLnB1c2godVtzXSl9Zm9yKHM9MDtzPHc7cysrKXsoZj1fW0FbeVtzXV1dKS50cmFuc2Zvcm1zW21dLl9pbmRleFRvUG9pbnRzW1NbeVtzXV1dPXgocyksU1t5W3NdXSsrfWZvcihyPTA7cjxiLmxlbmd0aDtyKyspaD1iW3JdLGY9X1tyXSxpLmNsZWFyRXhwYW5kZWRUcmFjZURlZmF1bHRDb2xvcnMoZiksZj1uLmV4dGVuZERlZXBOb0FycmF5cyhmLE1baF18fHt9KTtyZXR1cm4gX31yLm1vZHVsZVR5cGU9InRyYW5zZm9ybSIsci5uYW1lPSJncm91cGJ5IixyLmF0dHJpYnV0ZXM9e2VuYWJsZWQ6e3ZhbFR5cGU6ImJvb2xlYW4iLGRmbHQ6ITAsZWRpdFR5cGU6ImNhbGMifSxncm91cHM6e3ZhbFR5cGU6ImRhdGFfYXJyYXkiLGRmbHQ6W10sZWRpdFR5cGU6ImNhbGMifSxuYW1lZm9ybWF0Ont2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJjYWxjIn0sc3R5bGVzOntfaXNMaW5rZWRUb0FycmF5OiJzdHlsZSIsdGFyZ2V0Ont2YWxUeXBlOiJzdHJpbmciLGVkaXRUeXBlOiJjYWxjIn0sdmFsdWU6e3ZhbFR5cGU6ImFueSIsZGZsdDp7fSxlZGl0VHlwZToiY2FsYyIsX2NvbXBhcmVBc0pTT046ITB9LGVkaXRUeXBlOiJjYWxjIn0sZWRpdFR5cGU6ImNhbGMifSxyLnN1cHBseURlZmF1bHRzPWZ1bmN0aW9uKHQsZSxhKXt2YXIgaSxvPXt9O2Z1bmN0aW9uIHMoZSxhKXtyZXR1cm4gbi5jb2VyY2UodCxvLHIuYXR0cmlidXRlcyxlLGEpfWlmKCFzKCJlbmFibGVkIikpcmV0dXJuIG87cygiZ3JvdXBzIikscygibmFtZWZvcm1hdCIsYS5fZGF0YUxlbmd0aD4xPyIle2dyb3VwfSAoJXt0cmFjZX0pIjoiJXtncm91cH0iKTt2YXIgbD10LnN0eWxlcyxjPW8uc3R5bGVzPVtdO2lmKGwpZm9yKGk9MDtpPGwubGVuZ3RoO2krKyl7dmFyIHU9Y1tpXT17fTtuLmNvZXJjZShsW2ldLGNbaV0sci5hdHRyaWJ1dGVzLnN0eWxlcywidGFyZ2V0Iik7dmFyIGg9bi5jb2VyY2UobFtpXSxjW2ldLHIuYXR0cmlidXRlcy5zdHlsZXMsInZhbHVlIik7bi5pc1BsYWluT2JqZWN0KGgpP3UudmFsdWU9bi5leHRlbmREZWVwKHt9LGgpOmgmJmRlbGV0ZSB1LnZhbHVlfXJldHVybiBvfSxyLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpPVtdO2ZvcihuPTA7bjx0Lmxlbmd0aDtuKyspZm9yKHI9cyh0W25dLGUpLGE9MDthPHIubGVuZ3RoO2ErKylpLnB1c2goclthXSk7cmV0dXJuIGl9fSx7Ii4uL2xpYiI6NzE3LCIuLi9wbG90X2FwaS9wbG90X3NjaGVtYSI6NzU0LCIuLi9wbG90cy9wbG90cyI6ODI2LCIuL2hlbHBlcnMiOjEzMDB9XSwxMzAwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IucG9pbnRzQWNjZXNzb3JGdW5jdGlvbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuLGE9MDthPHQubGVuZ3RoJiYocj10W2FdKSE9PWU7YSsrKXIuX2luZGV4VG9Qb2ludHMmJiExIT09ci5lbmFibGVkJiYobj1yLl9pbmRleFRvUG9pbnRzKTtyZXR1cm4gbj9mdW5jdGlvbih0KXtyZXR1cm4gblt0XX06ZnVuY3Rpb24odCl7cmV0dXJuW3RdfX19LHt9XSwxMzAxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2xpYiIpLGE9dCgiLi4vcGxvdHMvY2FydGVzaWFuL2F4ZXMiKSxpPXQoIi4vaGVscGVycyIpLnBvaW50c0FjY2Vzc29yRnVuY3Rpb247ci5tb2R1bGVUeXBlPSJ0cmFuc2Zvcm0iLHIubmFtZT0ic29ydCIsci5hdHRyaWJ1dGVzPXtlbmFibGVkOnt2YWxUeXBlOiJib29sZWFuIixkZmx0OiEwLGVkaXRUeXBlOiJjYWxjIn0sdGFyZ2V0Ont2YWxUeXBlOiJzdHJpbmciLHN0cmljdDohMCxub0JsYW5rOiEwLGFycmF5T2s6ITAsZGZsdDoieCIsZWRpdFR5cGU6ImNhbGMifSxvcmRlcjp7dmFsVHlwZToiZW51bWVyYXRlZCIsdmFsdWVzOlsiYXNjZW5kaW5nIiwiZGVzY2VuZGluZyJdLGRmbHQ6ImFzY2VuZGluZyIsZWRpdFR5cGU6ImNhbGMifSxlZGl0VHlwZToiY2FsYyJ9LHIuc3VwcGx5RGVmYXVsdHM9ZnVuY3Rpb24odCl7dmFyIGU9e307ZnVuY3Rpb24gYShhLGkpe3JldHVybiBuLmNvZXJjZSh0LGUsci5hdHRyaWJ1dGVzLGEsaSl9cmV0dXJuIGEoImVuYWJsZWQiKSYmKGEoInRhcmdldCIpLGEoIm9yZGVyIikpLGV9LHIuY2FsY1RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7aWYoci5lbmFibGVkKXt2YXIgbz1uLmdldFRhcmdldEFycmF5KGUscik7aWYobyl7dmFyIHM9ci50YXJnZXQsbD1vLmxlbmd0aDtlLl9sZW5ndGgmJihsPU1hdGgubWluKGwsZS5fbGVuZ3RoKSk7dmFyIGMsdSxoPWUuX2FycmF5QXR0cnMsZj1mdW5jdGlvbih0LGUscixuKXt2YXIgYSxpPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKTtmb3IoYT0wO2E8bjthKyspaVthXT17djplW2FdLGk6YX07Zm9yKGkuc29ydChmdW5jdGlvbih0LGUpe3N3aXRjaCh0Lm9yZGVyKXtjYXNlImFzY2VuZGluZyI6cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIGUodC52KS1lKHIudil9O2Nhc2UiZGVzY2VuZGluZyI6cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIGUoci52KS1lKHQudil9fX0odCxyKSksYT0wO2E8bjthKyspb1thXT1pW2FdLmk7cmV0dXJuIG99KHIsbyxhLmdldERhdGFUb0Nvb3JkRnVuYyh0LGUscyxvKSxsKSxwPWkoZS50cmFuc2Zvcm1zLHIpLGQ9e307Zm9yKGM9MDtjPGgubGVuZ3RoO2MrKyl7dmFyIGc9bi5uZXN0ZWRQcm9wZXJ0eShlLGhbY10pLHY9Zy5nZXQoKSxtPW5ldyBBcnJheShsKTtmb3IodT0wO3U8bDt1KyspbVt1XT12W2ZbdV1dO2cuc2V0KG0pfWZvcih1PTA7dTxsO3UrKylkW3VdPXAoZlt1XSk7ci5faW5kZXhUb1BvaW50cz1kLGUuX2xlbmd0aD1sfX19fSx7Ii4uL2xpYiI6NzE3LCIuLi9wbG90cy9jYXJ0ZXNpYW4vYXhlcyI6NzY1LCIuL2hlbHBlcnMiOjEzMDB9XX0se30sWzI2XSkoMjYpfSk7"></script>
-
-<style type="text/css">code{white-space: pre;}</style>
-<style type="text/css">
-  pre:not([class]) {
-    background-color: white;
-  }
-</style>
-<script type="text/javascript">
-if (window.hljs) {
-  hljs.configure({languages: []});
-  hljs.initHighlightingOnLoad();
-  if (document.readyState && document.readyState === "complete") {
-    window.setTimeout(function() { hljs.initHighlighting(); }, 0);
-  }
-}
-</script>
-
-
-
-<style type="text/css">
-h1 {
-  font-size: 34px;
-}
-h1.title {
-  font-size: 38px;
-}
-h2 {
-  font-size: 30px;
-}
-h3 {
-  font-size: 24px;
-}
-h4 {
-  font-size: 18px;
-}
-h5 {
-  font-size: 16px;
-}
-h6 {
-  font-size: 12px;
-}
-.table th:not([align]) {
-  text-align: left;
-}
-</style>
-
-
-
-
-<style type="text/css">
-.main-container {
-  max-width: 940px;
-  margin-left: auto;
-  margin-right: auto;
-}
-code {
-  color: inherit;
-  background-color: rgba(0, 0, 0, 0.04);
-}
-img {
-  max-width:100%;
-}
-.tabbed-pane {
-  padding-top: 12px;
-}
-.html-widget {
-  margin-bottom: 20px;
-}
-button.code-folding-btn:focus {
-  outline: none;
-}
-summary {
-  display: list-item;
-}
-</style>
-
-
-
-<!-- tabsets -->
-
-<style type="text/css">
-.tabset-dropdown > .nav-tabs {
-  display: inline-table;
-  max-height: 500px;
-  min-height: 44px;
-  overflow-y: auto;
-  background: white;
-  border: 1px solid #ddd;
-  border-radius: 4px;
-}
-
-.tabset-dropdown > .nav-tabs > li.active:before {
-  content: "";
-  font-family: 'Glyphicons Halflings';
-  display: inline-block;
-  padding: 10px;
-  border-right: 1px solid #ddd;
-}
-
-.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
-  content: "";
-  border: none;
-}
-
-.tabset-dropdown > .nav-tabs.nav-tabs-open:before {
-  content: "";
-  font-family: 'Glyphicons Halflings';
-  display: inline-block;
-  padding: 10px;
-  border-right: 1px solid #ddd;
-}
-
-.tabset-dropdown > .nav-tabs > li.active {
-  display: block;
-}
-
-.tabset-dropdown > .nav-tabs > li > a,
-.tabset-dropdown > .nav-tabs > li > a:focus,
-.tabset-dropdown > .nav-tabs > li > a:hover {
-  border: none;
-  display: inline-block;
-  border-radius: 4px;
-  background-color: transparent;
-}
-
-.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
-  display: block;
-  float: none;
-}
-
-.tabset-dropdown > .nav-tabs > li {
-  display: none;
-}
-</style>
-
-<!-- code folding -->
-
-
-
-
-</head>
-
-<body>
-
-
-<div class="container-fluid main-container">
-
-
-
-
-<div class="fluid-row" id="header">
-
-
-
-<h1 class="title toc-ignore">Eclipse mailing lists</h1>
-<h3 class="subtitle">R Analysis document</h3>
-<h4 class="author">Boris Baldassari -- Castalia Solutions</h4>
-
-</div>
-
-<div id="TOC">
-<ul>
-<li><a href="#introduction">Introduction</a><ul>
-<li><a href="#about-this-dataset">About this dataset</a></li>
-<li><a href="#basic-summary">Basic summary</a></li>
-<li><a href="#privacy-concerns">Privacy concerns</a></li>
-<li><a href="#about-this-document">About this document</a></li>
-</ul></li>
-<li><a href="#structure-of-data">Structure of data</a><ul>
-<li><a href="#list">list</a></li>
-<li><a href="#message_id">messageId</a></li>
-<li><a href="#subject">Subject</a></li>
-<li><a href="#sent_at">Sent at</a></li>
-<li><a href="#sender-name">Sender name</a></li>
-<li><a href="#sender-address">Sender address</a></li>
-</ul></li>
-<li><a href="#using-the-dataset">Using the dataset</a><ul>
-<li><a href="#reading-csv-file">Reading CSV file</a></li>
-<li><a href="#using-time-series-xts">Using time series (xts)</a></li>
-<li><a href="#plotting-number-of-monthly-posts">Plotting number of monthly posts</a></li>
-<li><a href="#plotting-number-of-monthly-reporters">Plotting number of monthly reporters</a></li>
-<li><a href="#plotting-activity-of-authors">Plotting activity of authors</a></li>
-<li><a href="#posts-by-company">Posts by Company</a></li>
-</ul></li>
-</ul>
-</div>
-
-<div id="introduction" class="section level1">
-<h1>Introduction</h1>
-<div id="about-this-dataset" class="section level2">
-<h2>About this dataset</h2>
-<p>The <a href="https://eclipse.org">Eclipse Foundation</a> provides individuals and organizations with a commercially focused environment for open source software innovation. It includes git repositories, reviews, issues management, continuous integration, forums and mailing lists among other services. Many well-known and widely used projects are hosted on the forge, including the Eclipse IDE itself, The new Java working group,</p>
-<p>This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. Although this is public data (the mailing lists can be browsed on the <a href="https://accounts.eclipse.org/mailing-list">official mailman page</a>) all data has been anonymised to prevent any misuse. The privacy issues identified, along with the anonymisation process, have been covered in a <a href="../../docs/datasets_privacy.html">dedicated document</a>.</p>
-<p>These files are published under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-Attribution-Share Alike 4.0 (International) licence</a>.</p>
-<p>The dataset is composed of two parts:</p>
-<ul>
-<li><strong>eclipse_mls_full.csv</strong> contains an extract of all the messages exchanged on the various mailing lists. The present document uses this CSV as input data.</li>
-<li>The <strong>full list of mboxes</strong>, one file per mailing list. They can be downloaded directly from the <a href="mboxes/">mboxes subdirectory</a>.</li>
-</ul>
-<p>All of them are updated weekly at 2am on Sunday.</p>
-</div>
-<div id="basic-summary" class="section level2">
-<h2>Basic summary</h2>
-<ul>
-<li><strong>Generated date</strong>: Wed Oct 21 19:42:25 2020</li>
-<li><strong>First date</strong>: 2001-11-05 19:14:59</li>
-<li><strong>Last date</strong>: 2020-01-11 21:03:13</li>
-<li><strong>Number of posts</strong>: 542582</li>
-<li><strong>Number of attributes</strong>: 7</li>
-</ul>
-</div>
-<div id="privacy-concerns" class="section level2">
-<h2>Privacy concerns</h2>
-<p>We value privacy and intend to make everything we can to prevent misuse of the dataset. If you think we failed somewhere in the process, please <a href="https://www.crossminer.org/contact">let us know</a> so we can do better.</p>
-<p>All personally identifiable information has been scrambled using the <a href="https://github.com/borisbaldassari/data-anonymiser">data anonymiser</a> Perl module. As a result there is <strong>no clear email address</strong> in this dataset, <strong>nor any UUID or name</strong>. However all identical information produces the same encrypted string, which means that one can still identify identical data without knowing what it actually is. As an example email addresses are split (name, company) and encoded separately, which enables one to e.g. identify posters from the same company without knowing the company.</p>
-<p>The anonymisation technique used basically encrypts information and then throws away the private key. Please refer to the <a href="https://github.com/borisbaldassari/data-anonymiser">documentation published on github</a> for more details.</p>
-</div>
-<div id="about-this-document" class="section level2">
-<h2>About this document</h2>
-<p>This document is a <a href="http://rmarkdown.rstudio.com">R Markdown document</a> and is composed of both text (like this one) and dynamically computed information (mostly in the sections below) executed on the data itself. This ensures that the documentation is always synchronised with the data, and serves as a test suite for the dataset.</p>
-</div>
-</div>
-<div id="structure-of-data" class="section level1">
-<h1>Structure of data</h1>
-<p>This dataset is composed of a single big CSV file. Attributes are: <code>list, messageid, subject, sent_at, sender_name, sender_addr</code>.</p>
-<p>Examples are provided at the end of this file to demonstrate how to use it in R.</p>
-<div id="list" class="section level2">
-<h2>list</h2>
-<ul>
-<li>Description: The mailing list and project of the post.</li>
-<li>Type: String</li>
-</ul>
-Examples:
-<table>
-<caption>
-Sample of list names
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Project list names
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-efm-dev
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-examples-dev
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-photran
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-albireo-dev
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-cdt-cppunit-inbox
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div id="message_id" class="section level2">
-<h2>messageId</h2>
-<ul>
-<li>Description: A unique identifier for the post.</li>
-<li>Type: String (Scrambled Base64)</li>
-</ul>
-Examples:
-<table>
-<caption>
-Sample of message IDs
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Message ID
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:gOYg08laSRqLbJOP@WnmnzvrHzwAvJXp9">gOYg08laSRqLbJOP@WnmnzvrHzwAvJXp9</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:UhCKR33IOQ3ySr2i@Fyrj2e/PIDk43Eoe">UhCKR33IOQ3ySr2i@Fyrj2e/PIDk43Eoe</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:x5kLGeUNSf9w4n/2@b+1DCz3TO5Y1sT4M">x5kLGeUNSf9w4n/2@b+1DCz3TO5Y1sT4M</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:QPBlvZiaR4FWrcrh@Y51EfXjyLG2CrDdr">QPBlvZiaR4FWrcrh@Y51EfXjyLG2CrDdr</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:lrpXDb6b8zSrWoqw@ZJth9VVq7yAhCltq">lrpXDb6b8zSrWoqw@ZJth9VVq7yAhCltq</a>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div id="subject" class="section level2">
-<h2>Subject</h2>
-<ul>
-<li>Description: The subject of the post as sent on the mailing list.</li>
-<li>Type: String</li>
-</ul>
-Examples:
-<table>
-<caption>
-Sample of email subjects
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Subject
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-[rt-pmc] [CQ 4293] snaps modular web applications
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-Re: [platform-releng-dev] [eclipse-build]Build I20050919-1200 (Timestamp: 200509191200):Build is complete. Automated JUnit testing is starting.
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-[dsdp-dd-dev] FW: hardware breakpoints
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-Re: [cosmos-dev] Request for approval for 219737 and 219721
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-[rt-pmc] PMC approval needed for committer vote for mx
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div id="sent_at" class="section level2">
-<h2>Sent at</h2>
-<ul>
-<li>Description: The time of sending for the post.</li>
-<li>Type: Date (ISO 8601)</li>
-</ul>
-<p>Main characteristics:</p>
-<ul>
-<li><strong>First date</strong>: 2001-11-05 19:14:59</li>
-<li><strong>Last date</strong>: 2020-01-11 21:03:13</li>
-</ul>
-Examples:
-<table>
-<caption>
-Sample of sent dates
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Sent date
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-2011-10-04 20:30:10
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-2012-07-17 14:34:25
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-2006-09-04 01:43:14
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-2017-06-23 04:36:21
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-2011-03-03 21:56:20
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div id="sender-name" class="section level2">
-<h2>Sender name</h2>
-<ul>
-<li>Description: The name of the sender of the post.</li>
-<li>Type: String (Scrambled Base64)</li>
-<li>Number of unique entries: 19642</li>
-</ul>
-Examples:
-<table>
-<caption>
-Sample of sender names
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Sender names
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-ZsviVvJNN3VaRiLM
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-MkpcL3u8go4gyD8b
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-XkPWQ/YIWC0zXXOD
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-R9x3LmTJfizjWtoX
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-jB66zdbnXxQdhe6L
-</td>
-</tr>
-</tbody>
-</table>
-<p>Note: A single name repeated several times will always result in the same scrambled ID. This way it is possible to identify same-author posts without actually knowing the name of the sender.</p>
-</div>
-<div id="sender-address" class="section level2">
-<h2>Sender address</h2>
-<ul>
-<li>Description: The email address of the sender, encoded.</li>
-<li>Type: String (Scrambled Base64)</li>
-<li>Number of unique entries: 19869</li>
-</ul>
-Examples:
-<table>
-<caption>
-Sample of sender addresses
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Sender addresses
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:MtMxuEb656lGDesL@Xcf2yOhSvGTg465c">MtMxuEb656lGDesL@Xcf2yOhSvGTg465c</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:gO57kNAqL7Y70OH+@J7oMeA+Al9Hb/vYm">gO57kNAqL7Y70OH+@J7oMeA+Al9Hb/vYm</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:TIWRSJ5ffuc1L550@Xcf2yOhSvGTg465c">TIWRSJ5ffuc1L550@Xcf2yOhSvGTg465c</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:Nu8T/ewuPhrOkReB@pI/KMoIOnNVyXSZy">Nu8T/ewuPhrOkReB@pI/KMoIOnNVyXSZy</a>
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:Y/jrxOf43lAj9w2p@J7oMeA+Al9Hb/vYm">Y/jrxOf43lAj9w2p@J7oMeA+Al9Hb/vYm</a>
-</td>
-</tr>
-</tbody>
-</table>
-<p>Note: A single email address repeated several times will always result in the same scrambled email address. Furthermore both parts of the email (name, company) are individually scrambled, which means that one can identify email addresses from the same company without actually knowing the real company or name of the sender.</p>
-</div>
-</div>
-<div id="using-the-dataset" class="section level1">
-<h1>Using the dataset</h1>
-<div id="reading-csv-file" class="section level2">
-<h2>Reading CSV file</h2>
-<p>Reading file from eclipse_mls_full.csv.</p>
-<pre class="r"><code>project.csv &lt;- read.csv(file.in, header=T)</code></pre>
-<p>We add a column for the Company, which we extract from the email address (i.e. the domain name):</p>
-<pre class="r"><code>project.csv$Company &lt;- substr(x = project.csv$sender_addr, 18, 33)</code></pre>
-<p>Number of columns in this dataset:</p>
-<pre class="r"><code>ncol(project.csv)</code></pre>
-<pre><code>## [1] 7</code></pre>
-<p>Number of entries in this dataset:</p>
-<pre class="r"><code>nrow(project.csv)</code></pre>
-<pre><code>## [1] 542582</code></pre>
-<p>Names of columns:</p>
-<pre class="r"><code>names(project.csv)</code></pre>
-<pre><code>## [1] &quot;list&quot;        &quot;messageid&quot;   &quot;subject&quot;     &quot;sent_at&quot;     &quot;sender_name&quot;
-## [6] &quot;sender_addr&quot; &quot;Company&quot;</code></pre>
-</div>
-<div id="using-time-series-xts" class="section level2">
-<h2>Using time series (xts)</h2>
-<p>The dataset needs to be converted to a <code>xts</code> object. We can use the <code>sent_at</code> attribute as a time index.</p>
-<pre class="r"><code>require(xts)
-project.xts &lt;- xts(x = project.csv, order.by = parse_iso_8601(project.csv$sent_at))</code></pre>
-</div>
-<div id="plotting-number-of-monthly-posts" class="section level2">
-<h2>Plotting number of monthly posts</h2>
-<p>When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We'll use the <code>apply.monthly</code> function from <code>xts</code> to normalise the total number of monthly submissions.</p>
-<pre class="r"><code>project.monthly &lt;- apply.monthly(x=project.xts$sent_at, FUN=nrow)
-
-autoplot(project.monthly, geom='line') + 
-  theme_minimal() + ylab(&quot;Number of posts&quot;) + xlab(&quot;Time&quot;) + ggtitle(&quot;Number of monthly posts&quot;)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-</div>
-<div id="plotting-number-of-monthly-reporters" class="section level2">
-<h2>Plotting number of monthly reporters</h2>
-<p>One author can post several emails on the mailing list. Let's plot the monthly number of distinct authors on the mailing list. For this we need to count the number of unique occurrences of the email address (attribute <code>sender_attr</code>).</p>
-<pre class="r"><code>count_unique &lt;- function(x) { length(unique(x)) }
-project.monthly &lt;- apply.monthly(x=project.xts$sender_addr, FUN=count_unique)
-
-autoplot(project.monthly, geom='line') + 
-  theme_minimal() + ylab(&quot;Number of authors&quot;) + xlab(&quot;Time&quot;) + ggtitle(&quot;Number of monthly distinct authors&quot;)</code></pre>
-<p><img src="data:image/png;base64,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WSTAA+nSQg8AAFkkwAPpEuABACCLBHggXfbAAwBAFgnwQLrsgQcAgCwS4IF0aaEHAIAsEuCBdKUCfDwer6yszPZcAACg1xHggXSl9sBXVVXF4/50AABApnkVDqQrVYHXPw8AAFkhwANpSSaTjY2NwQl2AACQJQI8kJZVq1Ylk8mgAg8AAFkiwANpcQQ9AABklwAPpCV1gl0Q4AEAIEsEeCAtHRV4e+ABACArBHggLVroAQAguwR4IC0CPAAAZJcAD6SlYw+8FnoAAMgKAR56tdSt3dPhEDsAAMguAR56r1//+tf9+vUbP378M88886mDHWIHAADZJcBDL/W73/3uO9/5Tnt7+5w5c/bYY4+TTjpp2bJl6w6rq6t78MEHf/SjH02bNi31iAo8AABkRXG2JwBkwc0333z66adHUZT6ZxRF119//T333HPBBRcceuihL7744gsvvDBz5sxZs2a9/vrrHcNSampqsjFlAADo7QR46HXuvPPOE088MZlMhhBOOOGEYcOGXXLJJc3NzcuWLTvrrLPOOuus9X1hv379vvSlL+29994ZnCwAAPARAR7yVTKZfPDBB6dNm9bS0nLhhRfuuuuu6XzVAw88cMwxxyQSiRDCV7/61WuvvbaoqOiYY445/fTTH3300bUGx2KxMWPG7LbbbpMnT548efJ2220Xj9t3AwAA2SHAQ+5qa2u79957//jHP5aVlU2cOHHSpEnjx4+vrKx8//33r7/++muvvfbtt99OjXz00UdPOOGEiy++uNP+9mQyOXfu3FmzZj3//PPXXnttW1tbCOGwww675ZZbioqKQgijR49+5JFH/vCHP1x00UXt7e0TJkyYNGnShAkTxo8f369fv0z+yAAAwPrE1trdCl3V0NAQj8cdbNaz3n777euuu+76669/7733Vn+8uLh4zJgx8+bNa21tXferampqfv7zn5944onxePztt99+/vnnZ8yYMWPGjNmzZ3ecIZ9y4IEH3nfffWVlZas/2NjYmLqrXJ8+fdb6FPmovr6+uLjYXQMKwKpVq5qamkIIffv2LS0tzfZ02FB1dXWlpaVVVVXZnggbauXKlc3NzSGEfv36lZSUZHs6bKhly5aVl5dXVlZmeyJsqBUrVrS0tIQQ+vfvX1xcaBXrQvt5IK8lk8mHHnrod7/73UMPPZTao76W9vb2V155peOfn/3sZ6dMmTJv3rxf/OIXLS0ttbW1p5xyyqWXXlpfX//++++v77sceOCBd999t4gOAAD5RYCHDdXY2HjNNddUVFScfPLJ3X6Tb9myZddff/0111wzf/78jgdjsdg+++wzZcqUwYMHd5TT33777T59+nzta1+bMmXKTjvtlBp57LHHTp069eGHHw4hzJ07d62L9+3bd/z48RMmTJgwYcLEiRO33HLL7k0SAADIIgEeQhRF06dPnz179pFHHjlq1Kgufe3DDz986qmnLliwIIRw77333nHHHf37919rzOzZsx977LHRo0fvtttum2+++eqfmj9//syZMx9++OE//elPqRbZlJqamuOPP/6UU04ZM2ZM6pHPfe5zqQ+WLl1aVVW1Vn/X6NGjH3roobvvvvvss89euHBhWVnZzjvvPHHixNTO+dGjRzt8DgAA8p098GyovN4DX1tbe9NNN1177bWvv/56CKGiouLcc8/93ve+l057+fvvv3/22Wf/8Y9/XP3BbbbZ5v777+9I3bW1teedd960adM6+uGHDRu26667jhw58oUXXpg1a9ayZcvWuuzEiRNPO+20//qv/yovL+/GT9TS0vLGG29ss8023diMZw98gbEHvmDYA19g7IEvGPbAFxh74AtGYe+BF+DZUHka4J9++ulrrrnmrrvuSj31rm706NFXXXXV/vvvv76vbW1tvemmm37wgx/U1dWlHtlhhx0WLFiQOihuwIABd9xxx7777nvdddedd95560b0TpWXlx911FGnnXbapEmTuvszbSgBvsAI8AVDgC8wAnzBEOALjABfMAo7wBfazwOfrLGx8bbbbrv66qv/9a9/rf74+PHjt9566zvvvDOKojfeeOOAAw446qijzjvvvHHjxqVutJayYMGC66677oYbbug4Iq6qquqiiy6aOnXqa6+9duihhy5YsKCuru7ggw8eM2ZMx2lzZWVlU6ZMaW1t/ec///nSSy+1t7enHq+srNx555132WWXCRMmHHzwwZ3eAQ4AACBFBZ4NlbMV+Dlz5tTW1nb8M5lMPvLIIzfeeGNH2TyEUFlZefTRR3/rW99K1b2feuqpU0899aWXXuoYUFVVNX78+EmTJo0ZM+bee+995JFHVj8c/uCDD7766qtHjBiR+ueHH3545JFHPvnkk6tP46CDDrryyitHjx6d+ueqVatmzZq1cOHCHXfccbvttlv93YGsU4EvMCrwBUMFvsCowBcMFfgCowJfMAq7Ai/As6FyLcA3NjbefvvtV1111Vo19rWMGTPm1FNPPe6449Y6c66tre2KK674n//5n5UrV67va2Ox2H777XfGGWd88YtfXOtTra2tp5122rRp00III0eOvPzyyw877LAN+GkySoAvMAJ8wRDgC4wAXzAE+AIjwBeMwg7whfbzUGDefffdIUOGrK9MvWjRotbW1o5/rlix4g9/+MMNN9yweo19LUVFRYcccshpp522//77x2KxdQeUlJScc845Rx999LRp05599tkZM2asfrVBgwZ985vfPOWUU7beeutOr19aWnrdddcddNBBtbW1X//61z0HAAAAPUWAJ0c1NTVNmTLlD3/4w9ChQ0888cSTTjppiy22SH0qkUjcfffdl1566XPPPfcJVxgzZsznP//51R8ZOXLkV7/61ZEjR37qd99iiy0uvPDCEEIURfPmzZsxY8Yrr7wybty4I444Ip3S9JFHHvmpYwAAALpECz0bamO00L/zzjuHH374rFmzOh5JVc5PPvnkefPmXXHFFW+99db6vjYejx9yyCGnn376+mrsrI8W+gKjhb5gaKEvMFroC4YW+gKjhb5gaKGHjHryySe/8pWvfPDBByGEoqKiRCIRQkgkEvfff//999+/+shRo0ZNmDBh9Ue23nrrk08+edSoUZmcMAAAQAYI8GRaa2vrCy+8MGvWrJkzZ86cOXPx4sVjx46dNGnSrrvuOmnSpL/85S9nnXVWW1tbCGHTTTe96667BgwY8Pvf//6WW26pr6/vuMhuu+32ne9854gjjsipU9wBAAA2Hi30bKjVW+jvueeen/70p/F4fMLHxo4dG4/HX3311eeff/7555+fMWPGCy+8kMrnn2zSpEl333330KFDU/9samq64447br/99pqamjPOOGPy5Mkb96fqlbTQFxgt9AVDC32B0UJfMLTQFxgt9AVDCz2F5vzzz3/iiSd+8pOf7L333j11zTfffHPq1KkPPvhg6p8zZ85MfVBRUVFcXLxixYr1fWFFRUXqhenqjjvuuGuuuaa8vHz1Yccff/zxxx/fUxMGAADILwJ8r3Prrbf+7Gc/CyEcdNBBN91001e/+tUNvGBzc/OVV155+eWXr5vDQwjrPrjZZpt11Od32WWXIUOGzJ07d8bHFi1adO65555xxhkbOCsAAIACI8D3Lu+///5ZZ52V+ri1tfWYY45ZsmTJd7/73W5c6r333psxY8bzzz9/++23z58/P/XgwIEDf/aznx188MGzZ8+e+bG2trYJEyZMmjRp4sSJkyZN6uiK7/CZz3zmM5/5zDe+8Y0N+dEAAAAKmwDfu5x22mm1tbUhhH79+jU0NERRdM455yxevPhXv/pVPB7/5K+tq6tLnTyX2s3+zjvvrP7ZWCz2zW9+8+KLLx48eHAIYdiwYV/60pc23g8CAADQ2wjwvcidd9755z//OYTQp0+fOXPmXHbZZb/97W9DCJdffvn8+fO/8Y1v7LLLLiNGjOgY39jYOHv27FSZfebMmfPmzVvflbfffvtrrrnGwXIAAAAbjwDfW3z44Yenn3566uNLLrlk1KhRv/nNb4YOHXreeedFUXTffffdd999IYTBgwdPmDBh0003nT179ssvv9ze3t7p1YqLi8eOHZtqid9uu+223377vn37Zu6HAQAA6H16V4CPVs2ffucdDz798tt1reWDRu2w56FHHzl5WHks2/PaKObOnTt69OiOxvipU6d+8MEHIYTPf/7zU6ZMST34gx/8YOjQoSeffHLqRgshhKVLlz700EPrXi0ej48ZM6bj8Lmdd9654x4bDQ0NsVhh/jcEAADIHb0owEd1z119/i8fXdQa4qXV1cWN77721B2vzZx15AU/OXZsVaHlz+bm5r322qtPnz5Tp0795je/OX369D/+8Y8hhMrKymnTpq2et4899tg999zz73//+8yZM2fNmvWvf/0rdUfTEMLw4cMnfWz8+PGpO70DAACQFbEoirI9h4yIlj9z6emXPNlQte2R55xz9PjBJU2Ln7rh51c+ujCx2Zd+esWJY8uyPcGedeONN55wwgmpj/v161dUVLRs2bIQwuWXX95xCn2n2traXn755bq6uu22226TTTZJ53s1NDTE43HxvgA0NjY2NjaGEPr06VNWVmBrojeqr68vLi6urq7O9kTYUKtWrUrdkrNv376lpaXZng4bqq6urrS0tKqqKtsTYUOtXLkyVfbo169fSUlJtqfDhlq2bFl5eXlHkyn5a8WKFan+4v79+xcXF1rF+lMOHi8YySWP3/1MQyjf/pizvz5+cGkIsYqhe51y1mHDi5LvPnbP0w2F9i7GZpttNnHixNTHDQ0N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" width="672" /></p>
-</div>
-<div id="plotting-activity-of-authors" class="section level2">
-<h2>Plotting activity of authors</h2>
-<p>We want to plot the number of emails sent by each author regardless of the mailing list they were sent on. We display only the 10 top posters:</p>
-<table>
-<caption>
-Top 10 senders on mailing lists
-</caption>
-<thead>
-<tr>
-<th style="text-align:left;">
-Sender address
-</th>
-<th style="text-align:right;">
-Number of posts
-</th>
-<th style="text-align:left;">
-Company
-</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:HuUTAptkwgrWcnci@J7oMeA+Al9Hb/vYm">HuUTAptkwgrWcnci@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-29164
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:gO57kNAqL7Y70OH+@J7oMeA+Al9Hb/vYm">gO57kNAqL7Y70OH+@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-17653
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:X6AhP2He7WGL1wcK@J7oMeA+Al9Hb/vYm">X6AhP2He7WGL1wcK@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-12335
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:ac/JH1ezA0QBmKkV@J7oMeA+Al9Hb/vYm">ac/JH1ezA0QBmKkV@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-8620
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:GLu+wC9hGVzMJRH7@NYqkJ6NPbd9V5DzE">GLu+wC9hGVzMJRH7@NYqkJ6NPbd9V5DzE</a>
-</td>
-<td style="text-align:right;">
-8122
-</td>
-<td style="text-align:left;">
-NYqkJ6NPbd9V5DzE
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:VG1icUOSg49sLMtF@J7oMeA+Al9Hb/vYm">VG1icUOSg49sLMtF@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-6969
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:wiKbJVo5pJF6zoa6@J7oMeA+Al9Hb/vYm">wiKbJVo5pJF6zoa6@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-6448
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:V7haf3wHLxgtSvnH@J7oMeA+Al9Hb/vYm">V7haf3wHLxgtSvnH@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-5050
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:cm2ruV20OJQz7tA5@J7oMeA+Al9Hb/vYm">cm2ruV20OJQz7tA5@J7oMeA+Al9Hb/vYm</a>
-</td>
-<td style="text-align:right;">
-5012
-</td>
-<td style="text-align:left;">
-J7oMeA+Al9Hb/vYm
-</td>
-</tr>
-<tr>
-<td style="text-align:left;">
-<a href="mailto:sWBs4OdbCi+elyc4@FqrmmhRf3bBv5PFC">sWBs4OdbCi+elyc4@FqrmmhRf3bBv5PFC</a>
-</td>
-<td style="text-align:right;">
-4934
-</td>
-<td style="text-align:left;">
-FqrmmhRf3bBv5PFC
-</td>
-</tr>
-</tbody>
-</table>
-<p>Now plot these 50 top posters with ggplot and use the company (i.e. second part of the email address) for the colour:</p>
-<pre class="r"><code>authors.subset &lt;- head( authors, n = n)
-
-authors.subset.df &lt;- as.data.frame(authors.subset)
-names(authors.subset.df) &lt;- c('ID', 'Posts')
-authors.subset.df$Author &lt;- substr(x = authors.subset.df$ID, 1, 16)
-authors.subset.df$Company &lt;- substr(x = authors.subset.df$ID, 18, 33)
-
-p &lt;- ggplot(data=authors.subset.df, aes(x=reorder(Author, -Posts), y = Posts, fill = Company)) + 
-  geom_bar(stat=&quot;identity&quot;) + 
-  theme_minimal() + ylab(&quot;Number of posts&quot;) + xlab('Posters') + 
-  ggtitle(paste(n, &quot; overall top posters on Eclipse mailing lists&quot;, sep=&quot;&quot;)) +
-  theme( axis.text.x = element_text(angle=60, size = 7, hjust = 1))
-g &lt;- ggplotly(p)
-g</code></pre>
-<div id="htmlwidget-ed3698fbe2ff68c709dc" style="width:672px;height:480px;" class="plotly html-widget"></div>
-<script type="application/json" data-for="htmlwidget-ed3698fbe2ff68c709dc">{"x":{"data":[{"orientation":"v","width":0.900000000000006,"base":0,"x":[37],"y":[2048],"text":"reorder(Author, -Posts): U9dy44BiWBmoSqg+<br />Posts:  2048<br />Company: bqB7OSvXOPacUbzq","type":"bar","marker":{"autocolorscale":false,"color":"rgba(248,118,109,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"bqB7OSvXOPacUbzq","legendgroup":"bqB7OSvXOPacUbzq","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.900000000000006,0.900000000000006],"base":[0,0],"x":[36,47],"y":[2196,1663],"text":["reorder(Author, -Posts): WJrArB4kWfLiJiV2<br />Posts:  2196<br />Company: C4v9CUFnIpltBSr4","reorder(Author, -Posts): RhgEvzLyh5EnmM3y<br />Posts:  1663<br />Company: C4v9CUFnIpltBSr4"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(236,130,57,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"C4v9CUFnIpltBSr4","legendgroup":"C4v9CUFnIpltBSr4","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[34],"y":[2264],"text":"reorder(Author, -Posts): b2ZD0yv/HD3/53In<br />Posts:  2264<br />Company: CIznJI2hBWY/QKqL","type":"bar","marker":{"autocolorscale":false,"color":"rgba(219,142,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"CIznJI2hBWY/QKqL","legendgroup":"CIznJI2hBWY/QKqL","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[26],"y":[2637],"text":"reorder(Author, -Posts): UwOu+c5jvx4hHWlC<br />Posts:  2637<br />Company: dltKFlBztGpbvcSB","type":"bar","marker":{"autocolorscale":false,"color":"rgba(199,152,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"dltKFlBztGpbvcSB","legendgroup":"dltKFlBztGpbvcSB","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[43],"y":[1828],"text":"reorder(Author, -Posts): pasx/SvuwCgMejbC<br />Posts:  1828<br />Company: DuWPxK9BQPQW640N","type":"bar","marker":{"autocolorscale":false,"color":"rgba(174,162,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"DuWPxK9BQPQW640N","legendgroup":"DuWPxK9BQPQW640N","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[22],"y":[3138],"text":"reorder(Author, -Posts): vBh0QceoHBc19+tm<br />Posts:  3138<br />Company: eE8Y2+UTg0ZSRZ5p","type":"bar","marker":{"autocolorscale":false,"color":"rgba(143,170,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"eE8Y2+UTg0ZSRZ5p","legendgroup":"eE8Y2+UTg0ZSRZ5p","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.900000000000006,0.900000000000006],"base":[0,0],"x":[38,46],"y":[1892,1761],"text":["reorder(Author, -Posts): lNDiY/piFdiX7JVo<br />Posts:  1892<br />Company: f5Dz6eKvAzHVaYMU","reorder(Author, -Posts): lOk31W5jDPIGF9oJ<br />Posts:  1761<br />Company: f5Dz6eKvAzHVaYMU"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(100,178,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"f5Dz6eKvAzHVaYMU","legendgroup":"f5Dz6eKvAzHVaYMU","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[12],"y":[4641],"text":"reorder(Author, -Posts): dbS86hI03IctUHTF<br />Posts:  4641<br />Company: f8Ol8lohsH75e9Sr","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,184,27,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"f8Ol8lohsH75e9Sr","legendgroup":"f8Ol8lohsH75e9Sr","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.900000000000006],"base":[0,0],"x":[10,33],"y":[4934,2269],"text":["reorder(Author, -Posts): sWBs4OdbCi+elyc4<br />Posts:  4934<br />Company: FqrmmhRf3bBv5PFC","reorder(Author, -Posts): TahjIZyInF8Az2Qv<br />Posts:  2269<br />Company: FqrmmhRf3bBv5PFC"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,189,92,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"FqrmmhRf3bBv5PFC","legendgroup":"FqrmmhRf3bBv5PFC","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[21],"y":[3172],"text":"reorder(Author, -Posts): HOqnYZNAqkttlErX<br />Posts:  3172<br />Company: hQTXaEVNJS1gMkCj","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,192,133,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"hQTXaEVNJS1gMkCj","legendgroup":"hQTXaEVNJS1gMkCj","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.900000000000006,0.900000000000006],"base":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"x":[1,2,3,4,6,7,8,9,13,14,15,16,18,24,25,28,30,31,44,50],"y":[29164,17653,12335,8620,6969,6448,5050,5012,4287,4146,4123,3912,3530,2807,2763,2578,2409,2342,1781,1600],"text":["reorder(Author, -Posts): HuUTAptkwgrWcnci<br />Posts: 29164<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): gO57kNAqL7Y70OH+<br />Posts: 17653<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): X6AhP2He7WGL1wcK<br />Posts: 12335<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): ac/JH1ezA0QBmKkV<br />Posts:  8620<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): VG1icUOSg49sLMtF<br />Posts:  6969<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): wiKbJVo5pJF6zoa6<br />Posts:  6448<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): V7haf3wHLxgtSvnH<br />Posts:  5050<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): cm2ruV20OJQz7tA5<br />Posts:  5012<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): q3n8fdSkeADZReLl<br />Posts:  4287<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): oaM21mDSixZdeKo/<br />Posts:  4146<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): OYdSbt9YhX9wY/5f<br />Posts:  4123<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): c1Oa7BPMK2UOjooC<br />Posts:  3912<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): IjABf6zT6Ntix3xE<br />Posts:  3530<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): zPX2taQyDogjJBv9<br />Posts:  2807<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): eO1zwNZKos30SKlC<br />Posts:  2763<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): En7Q2WYqPhcLpUCB<br />Posts:  2578<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): Y/jrxOf43lAj9w2p<br />Posts:  2409<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): xDFqtlfLhlNogOjI<br />Posts:  2342<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): IRUCjalXqAkIo1QH<br />Posts:  1781<br />Company: J7oMeA+Al9Hb/vYm","reorder(Author, -Posts): NVoO2603rKs3VMt4<br />Posts:  1600<br />Company: J7oMeA+Al9Hb/vYm"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,193,167,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"J7oMeA+Al9Hb/vYm","legendgroup":"J7oMeA+Al9Hb/vYm","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[19],"y":[3463],"text":"reorder(Author, -Posts): PyUGf+aJnxmC8MHK<br />Posts:  3463<br />Company: kt8jVeBfPjzDlgUK","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,191,196,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"kt8jVeBfPjzDlgUK","legendgroup":"kt8jVeBfPjzDlgUK","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.900000000000006,0.900000000000006],"base":[0,0],"x":[40,49],"y":[1860,1618],"text":["reorder(Author, -Posts): G5lVqwBVrl8nH71f<br />Posts:  1860<br />Company: KX5Bckhyz4IEaogX","reorder(Author, -Posts): jZ5N3BDHgz7ThLtF<br />Posts:  1618<br />Company: KX5Bckhyz4IEaogX"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,186,222,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KX5Bckhyz4IEaogX","legendgroup":"KX5Bckhyz4IEaogX","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[20],"y":[3383],"text":"reorder(Author, -Posts): LBpOIKUZKlxMtgbx<br />Posts:  3383<br />Company: n2Gp5FlajAsJqTob","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,178,243,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"n2Gp5FlajAsJqTob","legendgroup":"n2Gp5FlajAsJqTob","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[48],"y":[1661],"text":"reorder(Author, -Posts): rP5aIYVodyLwKWyw<br />Posts:  1661<br />Company: NiHemmQOSsV7j4hz","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,166,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"NiHemmQOSsV7j4hz","legendgroup":"NiHemmQOSsV7j4hz","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.899999999999999,0.900000000000006],"base":[0,0,0],"x":[5,29,39],"y":[8122,2512,1868],"text":["reorder(Author, -Posts): GLu+wC9hGVzMJRH7<br />Posts:  8122<br />Company: NYqkJ6NPbd9V5DzE","reorder(Author, -Posts): zIiIqYLl2ryYuPnV<br />Posts:  2512<br />Company: NYqkJ6NPbd9V5DzE","reorder(Author, -Posts): ueZcmxnksaf64Xp0<br />Posts:  1868<br />Company: NYqkJ6NPbd9V5DzE"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(124,150,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"NYqkJ6NPbd9V5DzE","legendgroup":"NYqkJ6NPbd9V5DzE","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[42],"y":[1835],"text":"reorder(Author, -Posts): Nu8T/ewuPhrOkReB<br />Posts:  1835<br />Company: pI/KMoIOnNVyXSZy","type":"bar","marker":{"autocolorscale":false,"color":"rgba(179,133,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"pI/KMoIOnNVyXSZy","legendgroup":"pI/KMoIOnNVyXSZy","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[23],"y":[3106],"text":"reorder(Author, -Posts): EoKnR3ctN5f9y4h1<br />Posts:  3106<br />Company: taCS5ZPZM6KyIO4x","type":"bar","marker":{"autocolorscale":false,"color":"rgba(216,116,253,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"taCS5ZPZM6KyIO4x","legendgroup":"taCS5ZPZM6KyIO4x","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[41],"y":[1843],"text":"reorder(Author, -Posts): XrwwFu4KAJP1RIwe<br />Posts:  1843<br />Company: U2gkysDEIuuAGPvK","type":"bar","marker":{"autocolorscale":false,"color":"rgba(239,103,235,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"U2gkysDEIuuAGPvK","legendgroup":"U2gkysDEIuuAGPvK","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[11],"y":[4660],"text":"reorder(Author, -Posts): FZcG5nQ/th+ot1YH<br />Posts:  4660<br />Company: vyr7pMl6J7BafxjX","type":"bar","marker":{"autocolorscale":false,"color":"rgba(253,97,211,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"vyr7pMl6J7BafxjX","legendgroup":"vyr7pMl6J7BafxjX","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.900000000000002,0.900000000000006,0.900000000000006],"base":[0,0,0,0],"x":[27,32,35,45],"y":[2624,2303,2209,1763],"text":["reorder(Author, -Posts): tvdTqunqz+yR/RM2<br />Posts:  2624<br />Company: Xcf2yOhSvGTg465c","reorder(Author, -Posts): D1CcFZh6EnbpsCC6<br />Posts:  2303<br />Company: Xcf2yOhSvGTg465c","reorder(Author, -Posts): FVPYfiWdXUWIlAic<br />Posts:  2209<br />Company: Xcf2yOhSvGTg465c","reorder(Author, -Posts): YEZH618ZeJO+o1WA<br />Posts:  1763<br />Company: Xcf2yOhSvGTg465c"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,99,182,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"Xcf2yOhSvGTg465c","legendgroup":"Xcf2yOhSvGTg465c","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[17],"y":[3805],"text":"reorder(Author, -Posts): Ja9m1yfFzw4EO9Ze<br />Posts:  3805<br />Company: YzGAM1pJlIv5ZOTl","type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,107,148,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"YzGAM1pJlIv5ZOTl","legendgroup":"YzGAM1pJlIv5ZOTl","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":43.7625570776256,"r":7.30593607305936,"b":40.0568596155048,"l":54.7945205479452},"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"title":{"text":"50 overall top posters on Eclipse mailing lists","font":{"color":"rgba(0,0,0,1)","family":"","size":17.5342465753425},"x":0,"xref":"paper"},"xaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[0.4,50.6],"tickmode":"array","ticktext":["HuUTAptkwgrWcnci","gO57kNAqL7Y70OH+","X6AhP2He7WGL1wcK","ac/JH1ezA0QBmKkV","GLu+wC9hGVzMJRH7","VG1icUOSg49sLMtF","wiKbJVo5pJF6zoa6","V7haf3wHLxgtSvnH","cm2ruV20OJQz7tA5","sWBs4OdbCi+elyc4","FZcG5nQ/th+ot1YH","dbS86hI03IctUHTF","q3n8fdSkeADZReLl","oaM21mDSixZdeKo/","OYdSbt9YhX9wY/5f","c1Oa7BPMK2UOjooC","Ja9m1yfFzw4EO9Ze","IjABf6zT6Ntix3xE","PyUGf+aJnxmC8MHK","LBpOIKUZKlxMtgbx","HOqnYZNAqkttlErX","vBh0QceoHBc19+tm","EoKnR3ctN5f9y4h1","zPX2taQyDogjJBv9","eO1zwNZKos30SKlC","UwOu+c5jvx4hHWlC","tvdTqunqz+yR/RM2","En7Q2WYqPhcLpUCB","zIiIqYLl2ryYuPnV","Y/jrxOf43lAj9w2p","xDFqtlfLhlNogOjI","D1CcFZh6EnbpsCC6","TahjIZyInF8Az2Qv","b2ZD0yv/HD3/53In","FVPYfiWdXUWIlAic","WJrArB4kWfLiJiV2","U9dy44BiWBmoSqg+","lNDiY/piFdiX7JVo","ueZcmxnksaf64Xp0","G5lVqwBVrl8nH71f","XrwwFu4KAJP1RIwe","Nu8T/ewuPhrOkReB","pasx/SvuwCgMejbC","IRUCjalXqAkIo1QH","YEZH618ZeJO+o1WA","lOk31W5jDPIGF9oJ","RhgEvzLyh5EnmM3y","rP5aIYVodyLwKWyw","jZ5N3BDHgz7ThLtF","NVoO2603rKs3VMt4"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"categoryorder":"array","categoryarray":["HuUTAptkwgrWcnci","gO57kNAqL7Y70OH+","X6AhP2He7WGL1wcK","ac/JH1ezA0QBmKkV","GLu+wC9hGVzMJRH7","VG1icUOSg49sLMtF","wiKbJVo5pJF6zoa6","V7haf3wHLxgtSvnH","cm2ruV20OJQz7tA5","sWBs4OdbCi+elyc4","FZcG5nQ/th+ot1YH","dbS86hI03IctUHTF","q3n8fdSkeADZReLl","oaM21mDSixZdeKo/","OYdSbt9YhX9wY/5f","c1Oa7BPMK2UOjooC","Ja9m1yfFzw4EO9Ze","IjABf6zT6Ntix3xE","PyUGf+aJnxmC8MHK","LBpOIKUZKlxMtgbx","HOqnYZNAqkttlErX","vBh0QceoHBc19+tm","EoKnR3ctN5f9y4h1","zPX2taQyDogjJBv9","eO1zwNZKos30SKlC","UwOu+c5jvx4hHWlC","tvdTqunqz+yR/RM2","En7Q2WYqPhcLpUCB","zIiIqYLl2ryYuPnV","Y/jrxOf43lAj9w2p","xDFqtlfLhlNogOjI","D1CcFZh6EnbpsCC6","TahjIZyInF8Az2Qv","b2ZD0yv/HD3/53In","FVPYfiWdXUWIlAic","WJrArB4kWfLiJiV2","U9dy44BiWBmoSqg+","lNDiY/piFdiX7JVo","ueZcmxnksaf64Xp0","G5lVqwBVrl8nH71f","XrwwFu4KAJP1RIwe","Nu8T/ewuPhrOkReB","pasx/SvuwCgMejbC","IRUCjalXqAkIo1QH","YEZH618ZeJO+o1WA","lOk31W5jDPIGF9oJ","RhgEvzLyh5EnmM3y","rP5aIYVodyLwKWyw","jZ5N3BDHgz7ThLtF","NVoO2603rKs3VMt4"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":9.29846409298464},"tickangle":-60,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":{"text":"Posters","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[-1458.2,30622.2],"tickmode":"array","ticktext":["0","10000","20000","30000"],"tickvals":[0,10000,20000,30000],"categoryorder":"array","categoryarray":["0","10000","20000","30000"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":{"text":"Number of posts","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":true,"legend":{"bgcolor":null,"bordercolor":null,"borderwidth":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"y":0.96751968503937},"annotations":[{"text":"Company","x":1.02,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"left","yanchor":"bottom","legendTitle":true}],"hovermode":"closest","barmode":"relative"},"config":{"doubleClick":"reset","showSendToCloud":false},"source":"A","attrs":{"4ce735e85f51":{"x":{},"y":{},"fill":{},"type":"bar"}},"cur_data":"4ce735e85f51","visdat":{"4ce735e85f51":["function (y) ","x"]},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
-<pre class="r"><code>#api_create(g, filename = &quot;r-eclipse_mls_authors&quot;)</code></pre>
-</div>
-<div id="posts-by-company" class="section level2">
-<h2>Posts by Company</h2>
-<p>We want to know what companies posted the most messages in mailing listsacross years. To that end we select the 20 companies that have the larger number of posts and plot the number of messages by company year after year.</p>
-<pre class="r"><code>comps_list &lt;- head( sort( x = table(project.csv$Company), decreasing = T ), n=20 )
-df &lt;- data.frame(Company=character(), 
-                 Year=character(),
-                 Posts=integer(), 
-                 stringsAsFactors=FALSE) 
-for (i in seq_along(1:20)) {
-  project.comp.xts &lt;- project.xts[project.xts$Company == names(comps_list)[[i]],]
-  project.comp.yearly &lt;- apply.yearly(x=project.comp.xts$Company, FUN=nrow)
-  for (j in seq_along(1:nrow(project.comp.yearly))) {
-    year &lt;- format(index(project.comp.yearly)[[j]],&quot;%Y&quot;)
-    comp &lt;- as.data.frame(t(c(names(comps_list)[[i]], year, as.integer(project.comp.yearly[[j]]))))
-    names(comp) &lt;- c(&quot;Company&quot;, &quot;Year&quot;, &quot;Posts&quot;)
-    df &lt;- rbind(df, comp)
-  }
-}
-
-df$Company &lt;- as.character(df$Company)
-df &lt;- df[order(df$Company),]
-
-p &lt;- ggplot(data=df, aes(x=Year, y = Posts, fill = Company)) + geom_bar(stat=&quot;identity&quot;) + 
-  theme_minimal() + ylab(&quot;Number of posts&quot;) + xlab('Years') + 
-  ggtitle(&quot;Top 20 Companies involved in Eclipse mailing lists across years&quot;) +
-  theme( axis.text.x = element_text(angle=60, size = 7, hjust = 1))
-
-g &lt;- ggplotly(p)
-g</code></pre>
-<div id="htmlwidget-b339f4fb3a8b368ce4ed" style="width:672px;height:480px;" class="plotly html-widget"></div>
-<script type="application/json" data-for="htmlwidget-b339f4fb3a8b368ce4ed">{"x":{"data":[{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1204,1490,1518,1656,1250,1309,1575],"x":[5,6,7,8,9,10,11],"y":[123,124,125,126,127,128,129],"text":["Year: 2005<br />Posts: 123<br />Company: C4v9CUFnIpltBSr4","Year: 2006<br />Posts: 124<br />Company: C4v9CUFnIpltBSr4","Year: 2007<br />Posts: 125<br />Company: C4v9CUFnIpltBSr4","Year: 2008<br />Posts: 126<br />Company: C4v9CUFnIpltBSr4","Year: 2009<br />Posts: 127<br />Company: C4v9CUFnIpltBSr4","Year: 2010<br />Posts: 128<br />Company: C4v9CUFnIpltBSr4","Year: 2011<br />Posts: 129<br />Company: C4v9CUFnIpltBSr4"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(248,118,109,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"C4v9CUFnIpltBSr4","legendgroup":"C4v9CUFnIpltBSr4","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1076,653,854,858,432,663,411,834,1245,671,461,643,644,419,617],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"y":[128,185,186,187,188,189,190,191,134,192,193,194,195,196,197],"text":["Year: 2005<br />Posts: 128<br />Company: CIznJI2hBWY/QKqL","Year: 2006<br />Posts: 185<br />Company: CIznJI2hBWY/QKqL","Year: 2007<br />Posts: 186<br />Company: CIznJI2hBWY/QKqL","Year: 2008<br />Posts: 187<br />Company: CIznJI2hBWY/QKqL","Year: 2009<br />Posts: 188<br />Company: CIznJI2hBWY/QKqL","Year: 2010<br />Posts: 189<br />Company: CIznJI2hBWY/QKqL","Year: 2011<br />Posts: 190<br />Company: CIznJI2hBWY/QKqL","Year: 2012<br />Posts: 191<br />Company: CIznJI2hBWY/QKqL","Year: 2013<br />Posts: 134<br />Company: CIznJI2hBWY/QKqL","Year: 2014<br />Posts: 192<br />Company: CIznJI2hBWY/QKqL","Year: 2015<br />Posts: 193<br />Company: CIznJI2hBWY/QKqL","Year: 2016<br />Posts: 194<br />Company: CIznJI2hBWY/QKqL","Year: 2017<br />Posts: 195<br />Company: CIznJI2hBWY/QKqL","Year: 2018<br />Posts: 196<br />Company: CIznJI2hBWY/QKqL","Year: 2019<br />Posts: 197<br />Company: CIznJI2hBWY/QKqL"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(234,131,49,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"CIznJI2hBWY/QKqL","legendgroup":"CIznJI2hBWY/QKqL","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1363,1327,1352,569],"x":[17,18,19,20],"y":[142,143,144,145],"text":["Year: 2017<br />Posts: 142<br />Company: DUKhQZeMh7qzoNGm","Year: 2018<br />Posts: 143<br />Company: DUKhQZeMh7qzoNGm","Year: 2019<br />Posts: 144<br />Company: DUKhQZeMh7qzoNGm","Year: 2020<br />Posts: 145<br />Company: DUKhQZeMh7qzoNGm"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(216,144,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"DUKhQZeMh7qzoNGm","legendgroup":"DUKhQZeMh7qzoNGm","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[0,0,0,0,0,0,966,635,0,0,0,439,2002,215,814],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"y":[228,229,230,231,232,233,164,199,234,235,236,204,50,204,185],"text":["Year: 2005<br />Posts: 228<br />Company: eu8YE9yawPxvTctk","Year: 2006<br />Posts: 229<br />Company: eu8YE9yawPxvTctk","Year: 2007<br />Posts: 230<br />Company: eu8YE9yawPxvTctk","Year: 2008<br />Posts: 231<br />Company: eu8YE9yawPxvTctk","Year: 2009<br />Posts: 232<br />Company: eu8YE9yawPxvTctk","Year: 2010<br />Posts: 233<br />Company: eu8YE9yawPxvTctk","Year: 2011<br />Posts: 164<br />Company: eu8YE9yawPxvTctk","Year: 2012<br />Posts: 199<br />Company: eu8YE9yawPxvTctk","Year: 2013<br />Posts: 234<br />Company: eu8YE9yawPxvTctk","Year: 2014<br />Posts: 235<br />Company: eu8YE9yawPxvTctk","Year: 2015<br />Posts: 236<br />Company: eu8YE9yawPxvTctk","Year: 2016<br />Posts: 204<br />Company: eu8YE9yawPxvTctk","Year: 2017<br />Posts:  50<br />Company: eu8YE9yawPxvTctk","Year: 2018<br />Posts: 204<br />Company: eu8YE9yawPxvTctk","Year: 2019<br />Posts: 185<br />Company: eu8YE9yawPxvTctk"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(192,155,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"eu8YE9yawPxvTctk","legendgroup":"eu8YE9yawPxvTctk","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[930,1343,1370,1377,1377,1027,1291,1187,808,1370,1345,1649],"x":[5,6,7,8,9,10,11,12,13,14,15,16],"y":[146,147,148,149,118,150,151,152,153,154,155,128],"text":["Year: 2005<br />Posts: 146<br />Company: f5Dz6eKvAzHVaYMU","Year: 2006<br />Posts: 147<br />Company: f5Dz6eKvAzHVaYMU","Year: 2007<br />Posts: 148<br />Company: f5Dz6eKvAzHVaYMU","Year: 2008<br />Posts: 149<br />Company: f5Dz6eKvAzHVaYMU","Year: 2009<br />Posts: 118<br />Company: f5Dz6eKvAzHVaYMU","Year: 2010<br />Posts: 150<br />Company: f5Dz6eKvAzHVaYMU","Year: 2011<br />Posts: 151<br />Company: f5Dz6eKvAzHVaYMU","Year: 2012<br />Posts: 152<br />Company: f5Dz6eKvAzHVaYMU","Year: 2013<br />Posts: 153<br />Company: f5Dz6eKvAzHVaYMU","Year: 2014<br />Posts: 154<br />Company: f5Dz6eKvAzHVaYMU","Year: 2015<br />Posts: 155<br />Company: f5Dz6eKvAzHVaYMU","Year: 2016<br />Posts: 128<br />Company: f5Dz6eKvAzHVaYMU"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(163,165,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"f5Dz6eKvAzHVaYMU","legendgroup":"f5Dz6eKvAzHVaYMU","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[604,1015,1040,1045,620,852,790,1660,1189,1018,1021,981,1637],"x":[5,6,7,8,9,10,11,14,15,16,17,18,19],"y":[170,171,172,173,174,175,176,129,156,177,175,178,129],"text":["Year: 2005<br />Posts: 170<br />Company: f8Ol8lohsH75e9Sr","Year: 2006<br />Posts: 171<br />Company: f8Ol8lohsH75e9Sr","Year: 2007<br />Posts: 172<br />Company: f8Ol8lohsH75e9Sr","Year: 2008<br />Posts: 173<br />Company: f8Ol8lohsH75e9Sr","Year: 2009<br />Posts: 174<br />Company: f8Ol8lohsH75e9Sr","Year: 2010<br />Posts: 175<br />Company: f8Ol8lohsH75e9Sr","Year: 2011<br />Posts: 176<br />Company: f8Ol8lohsH75e9Sr","Year: 2014<br />Posts: 129<br />Company: f8Ol8lohsH75e9Sr","Year: 2015<br />Posts: 156<br />Company: f8Ol8lohsH75e9Sr","Year: 2016<br />Posts: 177<br />Company: f8Ol8lohsH75e9Sr","Year: 2017<br />Posts: 175<br />Company: f8Ol8lohsH75e9Sr","Year: 2018<br />Posts: 178<br />Company: f8Ol8lohsH75e9Sr","Year: 2019<br />Posts: 129<br />Company: f8Ol8lohsH75e9Sr"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(124,174,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"f8Ol8lohsH75e9Sr","legendgroup":"f8Ol8lohsH75e9Sr","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1737,2029,2063,2207,2011,2088,2119,1917,1828,2243,2181,2131,2052,1970,2131],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"y":[36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"text":["Year: 2005<br />Posts:  36<br />Company: FqrmmhRf3bBv5PFC","Year: 2006<br />Posts:  37<br />Company: FqrmmhRf3bBv5PFC","Year: 2007<br />Posts:  38<br />Company: FqrmmhRf3bBv5PFC","Year: 2008<br />Posts:  39<br />Company: FqrmmhRf3bBv5PFC","Year: 2009<br />Posts:  40<br />Company: FqrmmhRf3bBv5PFC","Year: 2010<br />Posts:  41<br />Company: FqrmmhRf3bBv5PFC","Year: 2011<br />Posts:  42<br />Company: FqrmmhRf3bBv5PFC","Year: 2012<br />Posts:  43<br />Company: FqrmmhRf3bBv5PFC","Year: 2013<br />Posts:  44<br />Company: FqrmmhRf3bBv5PFC","Year: 2014<br />Posts:  45<br />Company: FqrmmhRf3bBv5PFC","Year: 2015<br />Posts:  46<br />Company: FqrmmhRf3bBv5PFC","Year: 2016<br />Posts:  47<br />Company: FqrmmhRf3bBv5PFC","Year: 2017<br />Posts:  48<br />Company: FqrmmhRf3bBv5PFC","Year: 2018<br />Posts:  49<br />Company: FqrmmhRf3bBv5PFC","Year: 2019<br />Posts:  50<br />Company: FqrmmhRf3bBv5PFC"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(57,182,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"FqrmmhRf3bBv5PFC","legendgroup":"FqrmmhRf3bBv5PFC","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[228,447,449,451,1799,454,0,222,457,459,654,226,227,0,0,0],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[205,206,207,208,86,209,210,211,188,212,190,213,214,215,216,217],"text":["Year: 2005<br />Posts: 205<br />Company: hQTXaEVNJS1gMkCj","Year: 2006<br />Posts: 206<br />Company: hQTXaEVNJS1gMkCj","Year: 2007<br />Posts: 207<br />Company: hQTXaEVNJS1gMkCj","Year: 2008<br />Posts: 208<br />Company: hQTXaEVNJS1gMkCj","Year: 2009<br />Posts:  86<br />Company: hQTXaEVNJS1gMkCj","Year: 2010<br />Posts: 209<br />Company: hQTXaEVNJS1gMkCj","Year: 2011<br />Posts: 210<br />Company: hQTXaEVNJS1gMkCj","Year: 2012<br />Posts: 211<br />Company: hQTXaEVNJS1gMkCj","Year: 2013<br />Posts: 188<br />Company: hQTXaEVNJS1gMkCj","Year: 2014<br />Posts: 212<br />Company: hQTXaEVNJS1gMkCj","Year: 2015<br />Posts: 190<br />Company: hQTXaEVNJS1gMkCj","Year: 2016<br />Posts: 213<br />Company: hQTXaEVNJS1gMkCj","Year: 2017<br />Posts: 214<br />Company: hQTXaEVNJS1gMkCj","Year: 2018<br />Posts: 215<br />Company: hQTXaEVNJS1gMkCj","Year: 2019<br />Posts: 216<br />Company: hQTXaEVNJS1gMkCj","Year: 2020<br />Posts: 217<br />Company: hQTXaEVNJS1gMkCj"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,187,78,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"hQTXaEVNJS1gMkCj","legendgroup":"hQTXaEVNJS1gMkCj","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[0,0,0,0,1794,2088,2108,2269,2075,2154,2187,1987,1900,2317,2257,2209,2132,2052,2215,995],"x":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"text":["Year: 2001<br />Posts:   1<br />Company: J7oMeA+Al9Hb/vYm","Year: 2002<br />Posts:   2<br />Company: J7oMeA+Al9Hb/vYm","Year: 2003<br />Posts:   3<br />Company: J7oMeA+Al9Hb/vYm","Year: 2004<br />Posts:   4<br />Company: J7oMeA+Al9Hb/vYm","Year: 2005<br />Posts:   5<br />Company: J7oMeA+Al9Hb/vYm","Year: 2006<br />Posts:   6<br />Company: J7oMeA+Al9Hb/vYm","Year: 2007<br />Posts:   7<br />Company: J7oMeA+Al9Hb/vYm","Year: 2008<br />Posts:   8<br />Company: J7oMeA+Al9Hb/vYm","Year: 2009<br />Posts:   9<br />Company: J7oMeA+Al9Hb/vYm","Year: 2010<br />Posts:  10<br />Company: J7oMeA+Al9Hb/vYm","Year: 2011<br />Posts:  11<br />Company: J7oMeA+Al9Hb/vYm","Year: 2012<br />Posts:  12<br />Company: J7oMeA+Al9Hb/vYm","Year: 2013<br />Posts:  13<br />Company: J7oMeA+Al9Hb/vYm","Year: 2014<br />Posts:  14<br />Company: J7oMeA+Al9Hb/vYm","Year: 2015<br />Posts:  15<br />Company: J7oMeA+Al9Hb/vYm","Year: 2016<br />Posts:  16<br />Company: J7oMeA+Al9Hb/vYm","Year: 2017<br />Posts:  17<br />Company: J7oMeA+Al9Hb/vYm","Year: 2018<br />Posts:  18<br />Company: J7oMeA+Al9Hb/vYm","Year: 2019<br />Posts:  19<br />Company: J7oMeA+Al9Hb/vYm","Year: 2020<br />Posts:  20<br />Company: J7oMeA+Al9Hb/vYm"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,191,125,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"J7oMeA+Al9Hb/vYm","legendgroup":"J7oMeA+Al9Hb/vYm","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1437,1725,1755,1895,1609,1678,1704,1589,1496,1907,1756],"x":[5,6,7,8,9,10,11,12,13,14,15],"y":[99,100,101,102,103,104,105,106,107,108,109],"text":["Year: 2005<br />Posts:  99<br />Company: KfYnScAPY1NCGB1D","Year: 2006<br />Posts: 100<br />Company: KfYnScAPY1NCGB1D","Year: 2007<br />Posts: 101<br />Company: KfYnScAPY1NCGB1D","Year: 2008<br />Posts: 102<br />Company: KfYnScAPY1NCGB1D","Year: 2009<br />Posts: 103<br />Company: KfYnScAPY1NCGB1D","Year: 2010<br />Posts: 104<br />Company: KfYnScAPY1NCGB1D","Year: 2011<br />Posts: 105<br />Company: KfYnScAPY1NCGB1D","Year: 2012<br />Posts: 106<br />Company: KfYnScAPY1NCGB1D","Year: 2013<br />Posts: 107<br />Company: KfYnScAPY1NCGB1D","Year: 2014<br />Posts: 108<br />Company: KfYnScAPY1NCGB1D","Year: 2015<br />Posts: 109<br />Company: KfYnScAPY1NCGB1D"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,193,163,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KfYnScAPY1NCGB1D","legendgroup":"KfYnScAPY1NCGB1D","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1327,1614,1643,1782,1495,1563,1809,1473,1379,1789,1637,1777,1644,1766],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,19],"y":[110,111,112,113,114,115,91,116,117,118,119,120,121,122],"text":["Year: 2005<br />Posts: 110<br />Company: kt8jVeBfPjzDlgUK","Year: 2006<br />Posts: 111<br />Company: kt8jVeBfPjzDlgUK","Year: 2007<br />Posts: 112<br />Company: kt8jVeBfPjzDlgUK","Year: 2008<br />Posts: 113<br />Company: kt8jVeBfPjzDlgUK","Year: 2009<br />Posts: 114<br />Company: kt8jVeBfPjzDlgUK","Year: 2010<br />Posts: 115<br />Company: kt8jVeBfPjzDlgUK","Year: 2011<br />Posts:  91<br />Company: kt8jVeBfPjzDlgUK","Year: 2012<br />Posts: 116<br />Company: kt8jVeBfPjzDlgUK","Year: 2013<br />Posts: 117<br />Company: kt8jVeBfPjzDlgUK","Year: 2014<br />Posts: 118<br />Company: kt8jVeBfPjzDlgUK","Year: 2015<br />Posts: 119<br />Company: kt8jVeBfPjzDlgUK","Year: 2016<br />Posts: 120<br />Company: kt8jVeBfPjzDlgUK","Year: 2017<br />Posts: 121<br />Company: kt8jVeBfPjzDlgUK","Year: 2019<br />Posts: 122<br />Company: kt8jVeBfPjzDlgUK"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,191,196,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"kt8jVeBfPjzDlgUK","legendgroup":"kt8jVeBfPjzDlgUK","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1619,1909,1941,2083,1885,1960,1989,1785,1694,2107,2043,1991,1860,1826,1985,812],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],"text":["Year: 2005<br />Posts:  67<br />Company: KX5Bckhyz4IEaogX","Year: 2006<br />Posts:  68<br />Company: KX5Bckhyz4IEaogX","Year: 2007<br />Posts:  69<br />Company: KX5Bckhyz4IEaogX","Year: 2008<br />Posts:  70<br />Company: KX5Bckhyz4IEaogX","Year: 2009<br />Posts:  71<br />Company: KX5Bckhyz4IEaogX","Year: 2010<br />Posts:  72<br />Company: KX5Bckhyz4IEaogX","Year: 2011<br />Posts:  73<br />Company: KX5Bckhyz4IEaogX","Year: 2012<br />Posts:  74<br />Company: KX5Bckhyz4IEaogX","Year: 2013<br />Posts:  75<br />Company: KX5Bckhyz4IEaogX","Year: 2014<br />Posts:  76<br />Company: KX5Bckhyz4IEaogX","Year: 2015<br />Posts:  77<br />Company: KX5Bckhyz4IEaogX","Year: 2016<br />Posts:  78<br />Company: KX5Bckhyz4IEaogX","Year: 2017<br />Posts:  79<br />Company: KX5Bckhyz4IEaogX","Year: 2018<br />Posts:  80<br />Company: KX5Bckhyz4IEaogX","Year: 2019<br />Posts:  81<br />Company: KX5Bckhyz4IEaogX","Year: 2020<br />Posts:  82<br />Company: KX5Bckhyz4IEaogX"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,186,224,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KX5Bckhyz4IEaogX","legendgroup":"KX5Bckhyz4IEaogX","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[774,1186,1212,1218,959,1437,1130,1025,645,1206,1024,1195,1196,1159,1183],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"y":[156,157,158,159,160,126,161,162,163,164,165,166,167,168,169],"text":["Year: 2005<br />Posts: 156<br />Company: lPiaGTVT6H72ZZQU","Year: 2006<br />Posts: 157<br />Company: lPiaGTVT6H72ZZQU","Year: 2007<br />Posts: 158<br />Company: lPiaGTVT6H72ZZQU","Year: 2008<br />Posts: 159<br />Company: lPiaGTVT6H72ZZQU","Year: 2009<br />Posts: 160<br />Company: lPiaGTVT6H72ZZQU","Year: 2010<br />Posts: 126<br />Company: lPiaGTVT6H72ZZQU","Year: 2011<br />Posts: 161<br />Company: lPiaGTVT6H72ZZQU","Year: 2012<br />Posts: 162<br />Company: lPiaGTVT6H72ZZQU","Year: 2013<br />Posts: 163<br />Company: lPiaGTVT6H72ZZQU","Year: 2014<br />Posts: 164<br />Company: lPiaGTVT6H72ZZQU","Year: 2015<br />Posts: 165<br />Company: lPiaGTVT6H72ZZQU","Year: 2016<br />Posts: 166<br />Company: lPiaGTVT6H72ZZQU","Year: 2017<br />Posts: 167<br />Company: lPiaGTVT6H72ZZQU","Year: 2018<br />Posts: 168<br />Company: lPiaGTVT6H72ZZQU","Year: 2019<br />Posts: 169<br />Company: lPiaGTVT6H72ZZQU"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,176,246,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"lPiaGTVT6H72ZZQU","legendgroup":"lPiaGTVT6H72ZZQU","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1686,1977,2010,2153,1956,2032,2062,1859,1769,2183,2120,2069,1939,1906,2066,894],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66],"text":["Year: 2005<br />Posts:  51<br />Company: NYqkJ6NPbd9V5DzE","Year: 2006<br />Posts:  52<br />Company: NYqkJ6NPbd9V5DzE","Year: 2007<br />Posts:  53<br />Company: NYqkJ6NPbd9V5DzE","Year: 2008<br />Posts:  54<br />Company: NYqkJ6NPbd9V5DzE","Year: 2009<br />Posts:  55<br />Company: NYqkJ6NPbd9V5DzE","Year: 2010<br />Posts:  56<br />Company: NYqkJ6NPbd9V5DzE","Year: 2011<br />Posts:  57<br />Company: NYqkJ6NPbd9V5DzE","Year: 2012<br />Posts:  58<br />Company: NYqkJ6NPbd9V5DzE","Year: 2013<br />Posts:  59<br />Company: NYqkJ6NPbd9V5DzE","Year: 2014<br />Posts:  60<br />Company: NYqkJ6NPbd9V5DzE","Year: 2015<br />Posts:  61<br />Company: NYqkJ6NPbd9V5DzE","Year: 2016<br />Posts:  62<br />Company: NYqkJ6NPbd9V5DzE","Year: 2017<br />Posts:  63<br />Company: NYqkJ6NPbd9V5DzE","Year: 2018<br />Posts:  64<br />Company: NYqkJ6NPbd9V5DzE","Year: 2019<br />Posts:  65<br />Company: NYqkJ6NPbd9V5DzE","Year: 2020<br />Posts:  66<br />Company: NYqkJ6NPbd9V5DzE"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(53,162,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"NYqkJ6NPbd9V5DzE","legendgroup":"NYqkJ6NPbd9V5DzE","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1526,1119,1177,1442,1339,1110,1524,1500,1511,1505,1470,1496],"x":[8,9,10,11,12,13,14,15,16,17,18,19],"y":[130,131,132,133,134,135,136,137,138,139,140,141],"text":["Year: 2008<br />Posts: 130<br />Company: pI/KMoIOnNVyXSZy","Year: 2009<br />Posts: 131<br />Company: pI/KMoIOnNVyXSZy","Year: 2010<br />Posts: 132<br />Company: pI/KMoIOnNVyXSZy","Year: 2011<br />Posts: 133<br />Company: pI/KMoIOnNVyXSZy","Year: 2012<br />Posts: 134<br />Company: pI/KMoIOnNVyXSZy","Year: 2013<br />Posts: 135<br />Company: pI/KMoIOnNVyXSZy","Year: 2014<br />Posts: 136<br />Company: pI/KMoIOnNVyXSZy","Year: 2015<br />Posts: 137<br />Company: pI/KMoIOnNVyXSZy","Year: 2016<br />Posts: 138<br />Company: pI/KMoIOnNVyXSZy","Year: 2017<br />Posts: 139<br />Company: pI/KMoIOnNVyXSZy","Year: 2018<br />Posts: 140<br />Company: pI/KMoIOnNVyXSZy","Year: 2019<br />Posts: 141<br />Company: pI/KMoIOnNVyXSZy"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(149,144,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"pI/KMoIOnNVyXSZy","legendgroup":"pI/KMoIOnNVyXSZy","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[838,656,659,232,1782,210,433,961,1042,1958,1361,441,798,216,393],"x":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[177,198,199,200,90,201,202,149,164,85,150,203,183,204,176],"text":["Year: 2006<br />Posts: 177<br />Company: qJu7XYW+G456Kl3T","Year: 2007<br />Posts: 198<br />Company: qJu7XYW+G456Kl3T","Year: 2008<br />Posts: 199<br />Company: qJu7XYW+G456Kl3T","Year: 2009<br />Posts: 200<br />Company: qJu7XYW+G456Kl3T","Year: 2010<br />Posts:  90<br />Company: qJu7XYW+G456Kl3T","Year: 2011<br />Posts: 201<br />Company: qJu7XYW+G456Kl3T","Year: 2012<br />Posts: 202<br />Company: qJu7XYW+G456Kl3T","Year: 2013<br />Posts: 149<br />Company: qJu7XYW+G456Kl3T","Year: 2014<br />Posts: 164<br />Company: qJu7XYW+G456Kl3T","Year: 2015<br />Posts:  85<br />Company: qJu7XYW+G456Kl3T","Year: 2016<br />Posts: 150<br />Company: qJu7XYW+G456Kl3T","Year: 2017<br />Posts: 203<br />Company: qJu7XYW+G456Kl3T","Year: 2018<br />Posts: 183<br />Company: qJu7XYW+G456Kl3T","Year: 2019<br />Posts: 204<br />Company: qJu7XYW+G456Kl3T","Year: 2020<br />Posts: 176<br />Company: qJu7XYW+G456Kl3T"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(199,124,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"qJu7XYW+G456Kl3T","legendgroup":"qJu7XYW+G456Kl3T","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1536,1825,1856,1997,1712,1872,1900,1695,1603,2015,1865,1897,1765,1730,1888,714],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],"text":["Year: 2005<br />Posts:  83<br />Company: taCS5ZPZM6KyIO4x","Year: 2006<br />Posts:  84<br />Company: taCS5ZPZM6KyIO4x","Year: 2007<br />Posts:  85<br />Company: taCS5ZPZM6KyIO4x","Year: 2008<br />Posts:  86<br />Company: taCS5ZPZM6KyIO4x","Year: 2009<br />Posts:  87<br />Company: taCS5ZPZM6KyIO4x","Year: 2010<br />Posts:  88<br />Company: taCS5ZPZM6KyIO4x","Year: 2011<br />Posts:  89<br />Company: taCS5ZPZM6KyIO4x","Year: 2012<br />Posts:  90<br />Company: taCS5ZPZM6KyIO4x","Year: 2013<br />Posts:  91<br />Company: taCS5ZPZM6KyIO4x","Year: 2014<br />Posts:  92<br />Company: taCS5ZPZM6KyIO4x","Year: 2015<br />Posts:  93<br />Company: taCS5ZPZM6KyIO4x","Year: 2016<br />Posts:  94<br />Company: taCS5ZPZM6KyIO4x","Year: 2017<br />Posts:  95<br />Company: taCS5ZPZM6KyIO4x","Year: 2018<br />Posts:  96<br />Company: taCS5ZPZM6KyIO4x","Year: 2019<br />Posts:  97<br />Company: taCS5ZPZM6KyIO4x","Year: 2020<br />Posts:  98<br />Company: taCS5ZPZM6KyIO4x"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(231,107,243,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"taCS5ZPZM6KyIO4x","legendgroup":"taCS5ZPZM6KyIO4x","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[863,844,837,839,615,999],"x":[14,15,16,17,18,19],"y":[179,180,181,182,183,184],"text":["Year: 2014<br />Posts: 179<br />Company: vyr7pMl6J7BafxjX","Year: 2015<br />Posts: 180<br />Company: vyr7pMl6J7BafxjX","Year: 2016<br />Posts: 181<br />Company: vyr7pMl6J7BafxjX","Year: 2017<br />Posts: 182<br />Company: vyr7pMl6J7BafxjX","Year: 2018<br />Posts: 183<br />Company: vyr7pMl6J7BafxjX","Year: 2019<br />Posts: 184<br />Company: vyr7pMl6J7BafxjX"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(250,98,219,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"vyr7pMl6J7BafxjX","legendgroup":"vyr7pMl6J7BafxjX","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1773,2066,2101,2246,2051,2129,2161,1960,1872,2288,2227,2178,2100,2019,2181,960],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[21,22,7,23,24,25,26,27,28,29,30,31,32,33,34,35],"text":["Year: 2005<br />Posts:  21<br />Company: Xcf2yOhSvGTg465c","Year: 2006<br />Posts:  22<br />Company: Xcf2yOhSvGTg465c","Year: 2007<br />Posts:   7<br />Company: Xcf2yOhSvGTg465c","Year: 2008<br />Posts:  23<br />Company: Xcf2yOhSvGTg465c","Year: 2009<br />Posts:  24<br />Company: Xcf2yOhSvGTg465c","Year: 2010<br />Posts:  25<br />Company: Xcf2yOhSvGTg465c","Year: 2011<br />Posts:  26<br />Company: Xcf2yOhSvGTg465c","Year: 2012<br />Posts:  27<br />Company: Xcf2yOhSvGTg465c","Year: 2013<br />Posts:  28<br />Company: Xcf2yOhSvGTg465c","Year: 2014<br />Posts:  29<br />Company: Xcf2yOhSvGTg465c","Year: 2015<br />Posts:  30<br />Company: Xcf2yOhSvGTg465c","Year: 2016<br />Posts:  31<br />Company: Xcf2yOhSvGTg465c","Year: 2017<br />Posts:  32<br />Company: Xcf2yOhSvGTg465c","Year: 2018<br />Posts:  33<br />Company: Xcf2yOhSvGTg465c","Year: 2019<br />Posts:  34<br />Company: Xcf2yOhSvGTg465c","Year: 2020<br />Posts:  35<br />Company: Xcf2yOhSvGTg465c"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,98,188,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"Xcf2yOhSvGTg465c","legendgroup":"Xcf2yOhSvGTg465c","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[433,229,230,231,794,233,601,0,234,235,236,0,0,1610,420,217],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[171,218,219,220,165,221,189,222,223,224,225,226,227,120,197,176],"text":["Year: 2005<br />Posts: 171<br />Company: YzGAM1pJlIv5ZOTl","Year: 2006<br />Posts: 218<br />Company: YzGAM1pJlIv5ZOTl","Year: 2007<br />Posts: 219<br />Company: YzGAM1pJlIv5ZOTl","Year: 2008<br />Posts: 220<br />Company: YzGAM1pJlIv5ZOTl","Year: 2009<br />Posts: 165<br />Company: YzGAM1pJlIv5ZOTl","Year: 2010<br />Posts: 221<br />Company: YzGAM1pJlIv5ZOTl","Year: 2011<br />Posts: 189<br />Company: YzGAM1pJlIv5ZOTl","Year: 2012<br />Posts: 222<br />Company: YzGAM1pJlIv5ZOTl","Year: 2013<br />Posts: 223<br />Company: YzGAM1pJlIv5ZOTl","Year: 2014<br />Posts: 224<br />Company: YzGAM1pJlIv5ZOTl","Year: 2015<br />Posts: 225<br />Company: YzGAM1pJlIv5ZOTl","Year: 2016<br />Posts: 226<br />Company: YzGAM1pJlIv5ZOTl","Year: 2017<br />Posts: 227<br />Company: YzGAM1pJlIv5ZOTl","Year: 2018<br />Posts: 120<br />Company: YzGAM1pJlIv5ZOTl","Year: 2019<br />Posts: 197<br />Company: YzGAM1pJlIv5ZOTl","Year: 2020<br />Posts: 176<br />Company: YzGAM1pJlIv5ZOTl"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,106,152,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"YzGAM1pJlIv5ZOTl","legendgroup":"YzGAM1pJlIv5ZOTl","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":43.7625570776256,"r":7.30593607305936,"b":37.7916147779162,"l":54.7945205479452},"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"title":{"text":"Top 20 Companies involved in Eclipse mailing lists across years","font":{"color":"rgba(0,0,0,1)","family":"","size":17.5342465753425},"x":0,"xref":"paper"},"xaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[0.4,20.6],"tickmode":"array","ticktext":["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"categoryorder":"array","categoryarray":["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":9.29846409298464},"tickangle":-60,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":{"text":"Years","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[0,2331],"tickmode":"array","ticktext":["754","5109","12529","14340","5141","4070","3133","5299","4534","6013","6982","7923","6168","7331","10699","14222","14498","11230","7197","154","1122","2300","5058","7450","7762","6979","7528","6837","6226","5215","5489","4000","5514","4813","112","2997","4343","4271","5136","4077","3276","2682","913","486","372","255","179","91","101","43","1018","3095","3921","3273","2178","1925","2014","1909","1948","1351","1192","767","357","405","467","5","69","647","1022","2247","2328","2680","1645","1109","794","364","412","123","235","986","668","39","22","30","107","130","387","341","734","797","873","595","834","1387","1632","2191","1577","47","1628","5467","3122","434","225","165","104","65","80","75","31","95","1146","1410","2491","1151","585","491","418","230","268","116","72","8","753","2658","1016","534","156","2","1","61","1619","740","445","391","428","340","355","245","223","178","55","799","2425","1745","25","623","1009","805","247","54","19","248","512","529","597","18","52","110","191","281","951","685","557","325","415","240","186","209","105","14","23","481","2131","2052","3","4","11","7","289","2061","909","1068","309","32","33","57","193","184","439","318","312","499","622","669","288","115","103","135","206","241","629","568","259","82","171","195","197","160","137","164","174","219","484","569","430","299","21","190","351","373","463","322","358","210","169","172","97","189","205","304","470","689","533","84","63","139"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236],"categoryorder":"array","categoryarray":["754","5109","12529","14340","5141","4070","3133","5299","4534","6013","6982","7923","6168","7331","10699","14222","14498","11230","7197","154","1122","2300","5058","7450","7762","6979","7528","6837","6226","5215","5489","4000","5514","4813","112","2997","4343","4271","5136","4077","3276","2682","913","486","372","255","179","91","101","43","1018","3095","3921","3273","2178","1925","2014","1909","1948","1351","1192","767","357","405","467","5","69","647","1022","2247","2328","2680","1645","1109","794","364","412","123","235","986","668","39","22","30","107","130","387","341","734","797","873","595","834","1387","1632","2191","1577","47","1628","5467","3122","434","225","165","104","65","80","75","31","95","1146","1410","2491","1151","585","491","418","230","268","116","72","8","753","2658","1016","534","156","2","1","61","1619","740","445","391","428","340","355","245","223","178","55","799","2425","1745","25","623","1009","805","247","54","19","248","512","529","597","18","52","110","191","281","951","685","557","325","415","240","186","209","105","14","23","481","2131","2052","3","4","11","7","289","2061","909","1068","309","32","33","57","193","184","439","318","312","499","622","669","288","115","103","135","206","241","629","568","259","82","171","195","197","160","137","164","174","219","484","569","430","299","21","190","351","373","463","322","358","210","169","172","97","189","205","304","470","689","533","84","63","139"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":{"text":"Number of posts","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":true,"legend":{"bgcolor":null,"bordercolor":null,"borderwidth":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"y":0.96751968503937},"annotations":[{"text":"Company","x":1.02,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"left","yanchor":"bottom","legendTitle":true}],"hovermode":"closest","barmode":"relative"},"config":{"doubleClick":"reset","showSendToCloud":false},"source":"A","attrs":{"4ce717852980":{"x":{},"y":{},"fill":{},"type":"bar"}},"cur_data":"4ce717852980","visdat":{"4ce717852980":["function (y) ","x"]},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
-<pre class="r"><code>#api_create(g, filename = &quot;r-eclipse_mls_companies&quot;)</code></pre>
-</div>
-</div>
-
-
-
-
-</div>
-
-<script>
-
-// add bootstrap table styles to pandoc tables
-function bootstrapStylePandocTables() {
-  $('tr.header').parent('thead').parent('table').addClass('table table-condensed');
-}
-$(document).ready(function () {
-  bootstrapStylePandocTables();
-});
-
-
-</script>
-
-<!-- tabsets -->
-
-<script>
-$(document).ready(function () {
-  window.buildTabsets("TOC");
-});
-
-$(document).ready(function () {
-  $('.tabset-dropdown > .nav-tabs > li').click(function () {
-    $(this).parent().toggleClass('nav-tabs-open')
-  });
-});
-</script>
-
-<!-- code folding -->
-
-
-<!-- dynamically load mathjax for compatibility with self-contained -->
-<script>
-  (function () {
-    var script = document.createElement("script");
-    script.type = "text/javascript";
-    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
-    document.getElementsByTagName("head")[0].appendChild(script);
-  })();
-</script>
-
-</body>
-</html>
diff --git a/datasets/eclipse_mls/mbox_csv_analysis.rmd b/datasets/eclipse_mls/mbox_csv_analysis.rmd
deleted file mode 100644
index a9acd92..0000000
--- a/datasets/eclipse_mls/mbox_csv_analysis.rmd
+++ /dev/null
@@ -1,310 +0,0 @@
----
-title: "Eclipse mailing lists"
-subtitle: "R Analysis document"
-author: "Boris Baldassari -- Castalia Solutions"
-output:
-  html_document:
-    toc: yes
-    toc_depth: 2
-  pdf_document:
-    toc: yes
-    toc_depth: 3
-  word_document:
-    toc: yes
-    toc_depth: '2'
-params:
-  project: eclipse_mls_full.csv
----
-
-```{r init, message=FALSE, echo=FALSE}
-library(ggplot2)
-library(plotly)
-library(ggthemes)
-library(knitr)
-library(kableExtra)
-library(parsedate)
-library(magrittr)
-
-# Read csv file
-file.in <- paste( params$project, sep="")
-project.csv <- read.csv(file.in, header=T)
-names.orig <- names(project.csv)
-project.csv$Company <- substr(x = project.csv$sender_addr, 18, 33)
-
-# Create xts object
-require(xts)
-require(parsedate)
-project.xts <- xts(x = project.csv, order.by = parse_iso_8601(project.csv$sent_at))
-
-# Initialise plotly
-Sys.setenv("plotly_username"="BorisBaldassari")
-Sys.setenv("plotly_api_key"="uewufFf4T6NTGwbU6uS5")
-```
-
-# Introduction
-
-## About this dataset
-
-The [Eclipse Foundation](https://eclipse.org) provides individuals and organizations with a commercially focused environment for open source software innovation. It includes git repositories, reviews, issues management, continuous integration, forums and mailing lists among other services. Many well-known and widely used projects are hosted on the forge, including the Eclipse IDE itself, The new Java working group, 
-
-This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. Although this is public data (the mailing lists can be browsed on the [official mailman page](https://accounts.eclipse.org/mailing-list)) all data has been anonymised to prevent any misuse. The privacy issues identified, along with the anonymisation process, have been covered in a [dedicated document](../../docs/datasets_privacy.html).
-
-These files are published under the [Creative Commons BY-Attribution-Share Alike 4.0 (International) licence](https://creativecommons.org/licenses/by-sa/4.0/).
-
-The dataset is composed of two parts:
-
-* **eclipse_mls_full.csv** contains an extract of all the messages exchanged on the various mailing lists. The present document uses this CSV as input data.
-* The **full list of mboxes**, one file per mailing list. They can be downloaded directly from the [mboxes subdirectory](mboxes/).
-
-All of them are updated weekly at 2am on Sunday.
-
-
-## Basic summary
-
-* **Generated date**: `r date()`
-* **First date**: `r first(index(project.xts))`
-* **Last date**: `r last(index(project.xts))`
-* **Number of posts**: `r nrow(project.xts)`
-* **Number of attributes**: `r ncol(project.xts)`
-
-
-## Privacy concerns
-
-We value privacy and intend to make everything we can to prevent misuse of the dataset. If you think we failed somewhere in the process, please [let us know](https://www.crossminer.org/contact) so we can do better.
-
-All personally identifiable information has been scrambled using the [data anonymiser](https://github.com/borisbaldassari/data-anonymiser) Perl module. As a result there is **no clear email address** in this dataset, **nor any UUID or name**. However all identical information produces the same encrypted string, which means that one can still identify identical data without knowing what it actually is. As an example email addresses are split (name, company) and encoded separately, which enables one to e.g. identify posters from the same company without knowing the company.
-
-The anonymisation technique used basically encrypts information and then throws away the private key. Please refer to the [documentation published on github](https://github.com/borisbaldassari/data-anonymiser) for more details.
-
-
-## About this document
-
-This document is a [R Markdown document](http://rmarkdown.rstudio.com) and is composed of both text (like this one) and dynamically computed information (mostly in the sections below) executed on the data itself. This ensures that the documentation is always synchronised with the data, and serves as a test suite for the dataset.
-
-
-# Structure of data
-
-This dataset is composed of a single big CSV file. Attributes are: ``r names.orig``.
-
-Examples are provided at the end of this file to demonstrate how to use it in R.
-
-## list {#list}
-
-* Description: The mailing list and project of the post.
-* Type: String
-
-Examples: 
-```{r list.sample, warning=FALSE, echo=F, results='asis'}
-extract <- sample(unique(project.csv$list), size=5)
-kable( extract, caption="Sample of list names", col.names = c('Project list names'))
-```
-
-## messageId {#message_id}
-
-* Description: A unique identifier for the post.
-* Type: String (Scrambled Base64)
-
-Examples: 
-```{r messageid.sample, warning=FALSE, echo=FALSE, results='asis'}
-extract <- sample(unique(project.csv$messageid), size=5)
-kable( extract, caption="Sample of message IDs", col.names = c('Message ID'))
-```
-
-## Subject {#subject}
-
-* Description: The subject of the post as sent on the mailing list.
-* Type: String 
-
-Examples: 
-```{r subject.sample, warning=FALSE, echo=FALSE, results='asis'}
-extract <- sample(unique(project.csv$subject), size=5)
-kable( extract, caption="Sample of email subjects", col.names = c('Subject'))
-```
-
-## Sent at {#sent_at}
-
-* Description: The time of sending for the post.
-* Type: Date (ISO 8601)
-
-Main characteristics:
-
-* **First date**: `r first(index(project.xts))`
-* **Last date**: `r last(index(project.xts))`
-
-Examples: 
-```{r sentat.sample, warning=FALSE, echo=FALSE, results='asis'}
-extract <- sample(project.csv$sent_at, size=5)
-kable( extract, caption="Sample of sent dates", col.names = c('Sent date'))
-```
-
-
-## Sender name
-
-* Description: The name of the sender of the post.
-* Type: String (Scrambled Base64)
-* Number of unique entries: `r length(unique(project.csv$sender_name))`
-
-Examples: 
-```{r sendername.sample, warning=FALSE, echo=FALSE, results='asis'}
-extract <- sample(project.csv$sender_name, size=5)
-kable( extract, caption="Sample of sender names", col.names = c('Sender names'))
-```
-
-Note: A single name repeated several times will always result in the same scrambled ID. This way it is possible to identify same-author posts without actually knowing the name of the sender.
-
-## Sender address
-
-* Description: The email address of the sender, encoded.
-* Type: String (Scrambled Base64)
-* Number of unique entries: `r length(unique(project.csv$sender_addr))`
-
-Examples: 
-```{r senderaddr.sample, warning=FALSE, echo=FALSE, results='asis'}
-extract <- sample(project.csv$sender_addr, size=5)
-kable( extract, caption="Sample of sender addresses", col.names = c('Sender addresses'))
-```
-
-Note: A single email address repeated several times will always result in the same scrambled email address. Furthermore both parts of the email (name, company) are individually scrambled, which means that one can identify email addresses from the same company without actually knowing the real company or name of the sender.
-
-# Using the dataset
-
-## Reading CSV file
-
-Reading file from `r file.in`. 
-
-```{r examples.init, echo=T}
-project.csv <- read.csv(file.in, header=T)
-```
-
-We add a column for the Company, which we extract from the email address (i.e. the domain name):
-
-```{r examples.init.comp, echo=T}
-project.csv$Company <- substr(x = project.csv$sender_addr, 18, 33)
-```
-
-Number of columns in this dataset:
-
-```{r examples.ncol, echo=T}
-ncol(project.csv)
-```
-
-Number of entries in this dataset:
-
-```{r examples.nrow, echo=T}
-nrow(project.csv)
-```
-
-Names of columns: 
-
-```{r examples.names, echo=T}
-names(project.csv)
-```
-
-
-## Using time series (xts)
-
-The dataset needs to be converted to a `xts` object. We can use the `sent_at` attribute as a time index.
-
-```{r examples.xts, echo=T}
-require(xts)
-project.xts <- xts(x = project.csv, order.by = parse_iso_8601(project.csv$sent_at))
-```
-
-## Plotting number of monthly posts
-
-When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We'll use the `apply.monthly` function from `xts` to normalise the total number of monthly submissions.
-
-```{r examples.xts.plot}
-project.monthly <- apply.monthly(x=project.xts$sent_at, FUN=nrow)
-
-autoplot(project.monthly, geom='line') + 
-  theme_minimal() + ylab("Number of posts") + xlab("Time") + ggtitle("Number of monthly posts")
-```
-
-## Plotting number of monthly reporters
-
-One author can post several emails on the mailing list. Let's plot the monthly number of distinct authors on the mailing list. For this we need to count the number of unique occurrences of the email address (attribute `sender_attr`).
-
-```{r xts.monthly.reporters}
-count_unique <- function(x) { length(unique(x)) }
-project.monthly <- apply.monthly(x=project.xts$sender_addr, FUN=count_unique)
-
-autoplot(project.monthly, geom='line') + 
-  theme_minimal() + ylab("Number of authors") + xlab("Time") + ggtitle("Number of monthly distinct authors")
-```
-
-
-## Plotting activity of authors
-
-We want to plot the number of emails sent by each author regardless of the mailing list they were sent on. We display only the 10 top posters:
-
-```{r reporters.sample, warning=FALSE, echo=FALSE, results='asis'}
-authors <- sort(x = table(project.csv$sender_addr), decreasing = TRUE)
-authors.10 <- head( authors, n = 10)
-authors.subset.df <- as.data.frame(authors.10)
-authors.subset.df$Company <- substr(x = authors.subset.df$Var1, 18, 33)
-
-kable( authors.subset.df, caption="Top 10 senders on mailing lists", col.names = c('Sender address', 'Number of posts', 'Company'))
-```
-
-```{r reporters.plot.init, echo=F}
-n <- 50
-```
-
-Now plot these `r n` top posters with ggplot and use the company (i.e. second part of the email address) for the colour:
-
-```{r reporters.plot}
-authors.subset <- head( authors, n = n)
-
-authors.subset.df <- as.data.frame(authors.subset)
-names(authors.subset.df) <- c('ID', 'Posts')
-authors.subset.df$Author <- substr(x = authors.subset.df$ID, 1, 16)
-authors.subset.df$Company <- substr(x = authors.subset.df$ID, 18, 33)
-
-p <- ggplot(data=authors.subset.df, aes(x=reorder(Author, -Posts), y = Posts, fill = Company)) + 
-  geom_bar(stat="identity") + 
-  theme_minimal() + ylab("Number of posts") + xlab('Posters') + 
-  ggtitle(paste(n, " overall top posters on Eclipse mailing lists", sep="")) +
-  theme( axis.text.x = element_text(angle=60, size = 7, hjust = 1))
-g <- ggplotly(p)
-g
-#api_create(g, filename = "r-eclipse_mls_authors")
-```
-
-
-## Posts by Company
-
-We want to know what companies posted the most messages in mailing listsacross years. To that end we select the 20 companies that have the larger number of posts and plot the number of messages by company year after year.
-
-```{r comp.init}
-comps_list <- head( sort( x = table(project.csv$Company), decreasing = T ), n=20 )
-df <- data.frame(Company=character(), 
-                 Year=character(),
-                 Posts=integer(), 
-                 stringsAsFactors=FALSE) 
-for (i in seq_along(1:20)) {
-  project.comp.xts <- project.xts[project.xts$Company == names(comps_list)[[i]],]
-  project.comp.yearly <- apply.yearly(x=project.comp.xts$Company, FUN=nrow)
-  for (j in seq_along(1:nrow(project.comp.yearly))) {
-    year <- format(index(project.comp.yearly)[[j]],"%Y")
-    comp <- as.data.frame(t(c(names(comps_list)[[i]], year, as.integer(project.comp.yearly[[j]]))))
-    names(comp) <- c("Company", "Year", "Posts")
-    df <- rbind(df, comp)
-  }
-}
-
-df$Company <- as.character(df$Company)
-df <- df[order(df$Company),]
-
-p <- ggplot(data=df, aes(x=Year, y = Posts, fill = Company)) + geom_bar(stat="identity") + 
-  theme_minimal() + ylab("Number of posts") + xlab('Years') + 
-  ggtitle("Top 20 Companies involved in Eclipse mailing lists across years") +
-  theme( axis.text.x = element_text(angle=60, size = 7, hjust = 1))
-
-g <- ggplotly(p)
-g
-#api_create(g, filename = "r-eclipse_mls_companies")
-```
-
-
-
diff --git a/datasets/projects/eclipse_projects.html b/datasets/projects/eclipse_projects.html
deleted file mode 100644
index bb08db3..0000000
--- a/datasets/projects/eclipse_projects.html
+++ /dev/null
@@ -1,938 +0,0 @@
-<!DOCTYPE html><html><head>
-      <title>eclipse_projects</title>
-      <meta charset="utf-8">
-      <meta name="viewport" content="width=device-width, initial-scale=1.0">
-      
-      <link rel="stylesheet" href="file:////home/boris/.atom/packages/markdown-preview-enhanced/node_modules/@shd101wyy/mume/dependencies/katex/katex.min.css">
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      <style>
-      /**
- * prism.js Github theme based on GitHub's theme.
- * @author Sam Clarke
- */
-code[class*="language-"],
-pre[class*="language-"] {
-  color: #333;
-  background: none;
-  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
-  text-align: left;
-  white-space: pre;
-  word-spacing: normal;
-  word-break: normal;
-  word-wrap: normal;
-  line-height: 1.4;
-
-  -moz-tab-size: 8;
-  -o-tab-size: 8;
-  tab-size: 8;
-
-  -webkit-hyphens: none;
-  -moz-hyphens: none;
-  -ms-hyphens: none;
-  hyphens: none;
-}
-
-/* Code blocks */
-pre[class*="language-"] {
-  padding: .8em;
-  overflow: auto;
-  /* border: 1px solid #ddd; */
-  border-radius: 3px;
-  /* background: #fff; */
-  background: #f5f5f5;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
-  padding: .1em;
-  border-radius: .3em;
-  white-space: normal;
-  background: #f5f5f5;
-}
-
-.token.comment,
-.token.blockquote {
-  color: #969896;
-}
-
-.token.cdata {
-  color: #183691;
-}
-
-.token.doctype,
-.token.punctuation,
-.token.variable,
-.token.macro.property {
-  color: #333;
-}
-
-.token.operator,
-.token.important,
-.token.keyword,
-.token.rule,
-.token.builtin {
-  color: #a71d5d;
-}
-
-.token.string,
-.token.url,
-.token.regex,
-.token.attr-value {
-  color: #183691;
-}
-
-.token.property,
-.token.number,
-.token.boolean,
-.token.entity,
-.token.atrule,
-.token.constant,
-.token.symbol,
-.token.command,
-.token.code {
-  color: #0086b3;
-}
-
-.token.tag,
-.token.selector,
-.token.prolog {
-  color: #63a35c;
-}
-
-.token.function,
-.token.namespace,
-.token.pseudo-element,
-.token.class,
-.token.class-name,
-.token.pseudo-class,
-.token.id,
-.token.url-reference .token.variable,
-.token.attr-name {
-  color: #795da3;
-}
-
-.token.entity {
-  cursor: help;
-}
-
-.token.title,
-.token.title .token.punctuation {
-  font-weight: bold;
-  color: #1d3e81;
-}
-
-.token.list {
-  color: #ed6a43;
-}
-
-.token.inserted {
-  background-color: #eaffea;
-  color: #55a532;
-}
-
-.token.deleted {
-  background-color: #ffecec;
-  color: #bd2c00;
-}
-
-.token.bold {
-  font-weight: bold;
-}
-
-.token.italic {
-  font-style: italic;
-}
-
-
-/* JSON */
-.language-json .token.property {
-  color: #183691;
-}
-
-.language-markup .token.tag .token.punctuation {
-  color: #333;
-}
-
-/* CSS */
-code.language-css,
-.language-css .token.function {
-  color: #0086b3;
-}
-
-/* YAML */
-.language-yaml .token.atrule {
-  color: #63a35c;
-}
-
-code.language-yaml {
-  color: #183691;
-}
-
-/* Ruby */
-.language-ruby .token.function {
-  color: #333;
-}
-
-/* Markdown */
-.language-markdown .token.url {
-  color: #795da3;
-}
-
-/* Makefile */
-.language-makefile .token.symbol {
-  color: #795da3;
-}
-
-.language-makefile .token.variable {
-  color: #183691;
-}
-
-.language-makefile .token.builtin {
-  color: #0086b3;
-}
-
-/* Bash */
-.language-bash .token.keyword {
-  color: #0086b3;
-}
-
-/* highlight */
-pre[data-line] {
-  position: relative;
-  padding: 1em 0 1em 3em;
-}
-pre[data-line] .line-highlight-wrapper {
-  position: absolute;
-  top: 0;
-  left: 0;
-  background-color: transparent;
-  display: block;
-  width: 100%;
-}
-
-pre[data-line] .line-highlight {
-  position: absolute;
-  left: 0;
-  right: 0;
-  padding: inherit 0;
-  margin-top: 1em;
-  background: hsla(24, 20%, 50%,.08);
-  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
-  pointer-events: none;
-  line-height: inherit;
-  white-space: pre;
-}
-
-pre[data-line] .line-highlight:before, 
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-start);
-  position: absolute;
-  top: .4em;
-  left: .6em;
-  min-width: 1em;
-  padding: 0 .5em;
-  background-color: hsla(24, 20%, 50%,.4);
-  color: hsl(24, 20%, 95%);
-  font: bold 65%/1.5 sans-serif;
-  text-align: center;
-  vertical-align: .3em;
-  border-radius: 999px;
-  text-shadow: none;
-  box-shadow: 0 1px white;
-}
-
-pre[data-line] .line-highlight[data-end]:after {
-  content: attr(data-end);
-  top: auto;
-  bottom: .4em;
-}html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
-/* Please visit the URL below for more information: */
-/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
-
-      </style>
-    </head>
-    <body for="html-export">
-      <div class="mume markdown-preview  ">
-      <h1 class="mume-header" id="datasets-of-eclipse-projects">Datasets of Eclipse projects</h1>
-
-<p>This is the list of all Eclipse projects datasets published for Eclipse Scava. Each dataset is composed of:</p>
-<ul>
-<li>Compressed (gzip&apos;d) CSV and JSON files.</li>
-<li>A R Markdown document that analyses the extracted files and provides some hints about how to use them. This document also serves as a validation step to identify empty or inconsistent datasets.</li>
-</ul>
-<p>These datasets are published under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-Attribution-Share Alike 4.0 (International) licence</a>.</p>
-<h2 class="mume-header" id="eclipse-app4mc">Eclipse APP4MC</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.app4mc/dataset_report_technology.app4mc.html">dataset_report_technology.app4mc.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.app4mc">https://projects.eclipse.org/projects/technology.app4mc</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.app4mc/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.app4mc/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.app4mc/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.app4mc/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.app4mc/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.app4mc/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.app4mc/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.app4mc/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.app4mc/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.app4mc/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.app4mc/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.app4mc/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.app4mc/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.app4mc/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="technology.app4mc/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-acceleo">Eclipse Acceleo</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.m2t.acceleo/dataset_report_modeling.m2t.acceleo.html">dataset_report_modeling.m2t.acceleo.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.m2t.acceleo">https://projects.eclipse.org/projects/modeling.m2t.acceleo</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.m2t.acceleo/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.m2t.acceleo/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.m2t.acceleo/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="modeling.m2t.acceleo/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-apogy">Eclipse Apogy</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.apogy/dataset_report_technology.apogy.html">dataset_report_technology.apogy.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.apogy">https://projects.eclipse.org/projects/technology.apogy</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.apogy/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.apogy/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.apogy/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.apogy/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.apogy/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.apogy/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.apogy/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.apogy/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.apogy/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.apogy/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.apogy/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.apogy/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.apogy/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.apogy/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="technology.apogy/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-cdt">Eclipse CDT</h2>
-
-<ul>
-<li>Analysis report: <a href="tools.cdt/dataset_report_tools.cdt.html">dataset_report_tools.cdt.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/cdt">https://www.eclipse.org/cdt</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/tools.cdt">https://projects.eclipse.org/projects/tools.cdt</a></li>
-<li>Downloads:
-<ul>
-<li><a href="tools.cdt/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="tools.cdt/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="tools.cdt/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="tools.cdt/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="tools.cdt/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="tools.cdt/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="tools.cdt/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="tools.cdt/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="tools.cdt/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="tools.cdt/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="tools.cdt/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="tools.cdt/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="tools.cdt/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="tools.cdt/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="tools.cdt/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-ease">Eclipse EASE</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.ease/dataset_report_technology.ease.html">dataset_report_technology.ease.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/ease">https://www.eclipse.org/ease</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.ease">https://projects.eclipse.org/projects/technology.ease</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.ease/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.ease/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.ease/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.ease/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.ease/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.ease/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.ease/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.ease/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.ease/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.ease/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.ease/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.ease/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.ease/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.ease/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="technology.ease/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="technology.ease/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="technology.ease/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="technology.ease/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="technology.ease/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="technology.ease/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="technology.ease/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="technology.ease/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-egit">Eclipse EGit</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.egit/dataset_report_technology.egit.html">dataset_report_technology.egit.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/egit">https://www.eclipse.org/egit</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.egit">https://projects.eclipse.org/projects/technology.egit</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.egit/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.egit/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.egit/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.egit/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.egit/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.egit/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.egit/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.egit/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.egit/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.egit/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.egit/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.egit/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.egit/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.egit/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="technology.egit/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="technology.egit/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="technology.egit/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="technology.egit/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="technology.egit/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="technology.egit/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="technology.egit/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="technology.egit/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-emf-compare">Eclipse EMF Compare</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.emfcompare/dataset_report_modeling.emfcompare.html">dataset_report_modeling.emfcompare.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.emfcompare">https://projects.eclipse.org/projects/modeling.emfcompare</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.emfcompare/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.emfcompare/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.emfcompare/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.emfcompare/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.emfcompare/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.emfcompare/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.emfcompare/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.emfcompare/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.emfcompare/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.emfcompare/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.emfcompare/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.emfcompare/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.emfcompare/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.emfcompare/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="modeling.emfcompare/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-emf-parsley">Eclipse EMF Parsley</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.emf-parsley/dataset_report_modeling.emf-parsley.html">dataset_report_modeling.emf-parsley.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/emf-parsley">https://www.eclipse.org/emf-parsley</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.emf-parsley">https://projects.eclipse.org/projects/modeling.emf-parsley</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.emf-parsley/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.emf-parsley/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.emf-parsley/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="modeling.emf-parsley/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-epsilon">Eclipse Epsilon</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.epsilon/dataset_report_modeling.epsilon.html">dataset_report_modeling.epsilon.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/epsilon">https://www.eclipse.org/epsilon</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.epsilon">https://projects.eclipse.org/projects/modeling.epsilon</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.epsilon/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.epsilon/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.epsilon/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.epsilon/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.epsilon/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.epsilon/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.epsilon/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.epsilon/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.epsilon/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.epsilon/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.epsilon/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.epsilon/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.epsilon/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.epsilon/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="modeling.epsilon/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-gendoc">Eclipse Gendoc</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.gendoc/dataset_report_modeling.gendoc.html">dataset_report_modeling.gendoc.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/gendoc">https://www.eclipse.org/gendoc</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.gendoc">https://projects.eclipse.org/projects/modeling.gendoc</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.gendoc/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.gendoc/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.gendoc/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.gendoc/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.gendoc/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.gendoc/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.gendoc/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.gendoc/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.gendoc/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.gendoc/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.gendoc/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.gendoc/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.gendoc/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.gendoc/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-glassfish">Eclipse Glassfish</h2>
-
-<ul>
-<li>Analysis report: <a href="ee4j.glassfish/dataset_report_ee4j.glassfish.html">dataset_report_ee4j.glassfish.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/ee4j.glassfish">https://projects.eclipse.org/projects/ee4j.glassfish</a></li>
-<li>Downloads:
-<ul>
-<li><a href="ee4j.glassfish/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="ee4j.glassfish/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="ee4j.glassfish/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="ee4j.glassfish/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="ee4j.glassfish/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="ee4j.glassfish/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="ee4j.glassfish/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="ee4j.glassfish/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="ee4j.glassfish/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-jgit">Eclipse JGit</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.jgit/dataset_report_technology.jgit.html">dataset_report_technology.jgit.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.jgit">https://projects.eclipse.org/projects/technology.jgit</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.jgit/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.jgit/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.jgit/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.jgit/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.jgit/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.jgit/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.jgit/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.jgit/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.jgit/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.jgit/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.jgit/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.jgit/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.jgit/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.jgit/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-mdmbl">Eclipse MDM|BL</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.mdmbl/dataset_report_technology.mdmbl.html">dataset_report_technology.mdmbl.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.mdmbl">https://projects.eclipse.org/projects/technology.mdmbl</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.mdmbl/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.mdmbl/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.mdmbl/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.mdmbl/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.mdmbl/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.mdmbl/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.mdmbl/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.mdmbl/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.mdmbl/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.mdmbl/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.mdmbl/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.mdmbl/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-ocl">Eclipse OCL</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.mdt.ocl/dataset_report_modeling.mdt.ocl.html">dataset_report_modeling.mdt.ocl.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.mdt.ocl">https://projects.eclipse.org/projects/modeling.mdt.ocl</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.mdt.ocl/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.mdt.ocl/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.mdt.ocl/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.mdt.ocl/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-pdt-php-development-tools">Eclipse PDT (PHP Development Tools)</h2>
-
-<ul>
-<li>Analysis report: <a href="tools.pdt/dataset_report_tools.pdt.html">dataset_report_tools.pdt.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/pdt">https://www.eclipse.org/pdt</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/tools.pdt">https://projects.eclipse.org/projects/tools.pdt</a></li>
-<li>Downloads:
-<ul>
-<li><a href="tools.pdt/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="tools.pdt/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="tools.pdt/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="tools.pdt/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="tools.pdt/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="tools.pdt/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="tools.pdt/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="tools.pdt/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="tools.pdt/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="tools.pdt/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="tools.pdt/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="tools.pdt/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="tools.pdt/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="tools.pdt/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-paho">Eclipse Paho</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.paho/dataset_report_technology.paho.html">dataset_report_technology.paho.html</a></li>
-<li>Project&apos;s home: <a href="https://projects.eclipse.org/proposals/eclipse-glassfish">https://projects.eclipse.org/proposals/eclipse-glassfish</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.paho">https://projects.eclipse.org/projects/technology.paho</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.paho/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.paho/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.paho/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.paho/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.paho/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.paho/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.paho/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.paho/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.paho/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.paho/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.paho/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.paho/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.paho/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.paho/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-papyrus">Eclipse Papyrus</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.mdt.papyrus/dataset_report_modeling.mdt.papyrus.html">dataset_report_modeling.mdt.papyrus.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/papyrus">https://www.eclipse.org/papyrus</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.mdt.papyrus">https://projects.eclipse.org/projects/modeling.mdt.papyrus</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.mdt.papyrus/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.mdt.papyrus/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.mdt.papyrus/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.mdt.papyrus/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-process-framework">Eclipse Process Framework</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.epf/dataset_report_technology.epf.html">dataset_report_technology.epf.html</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.epf">https://projects.eclipse.org/projects/technology.epf</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.epf/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.epf/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.epf/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.epf/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.epf/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.epf/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.epf/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.epf/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.epf/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.epf/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.epf/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.epf/git_log.txt.gz">git_log.txt.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-scout">Eclipse Scout</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.scout/dataset_report_technology.scout.html">dataset_report_technology.scout.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/scout">https://www.eclipse.org/scout</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.scout">https://projects.eclipse.org/projects/technology.scout</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.scout/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.scout/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.scout/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.scout/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.scout/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.scout/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.scout/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.scout/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.scout/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.scout/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.scout/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.scout/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.scout/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.scout/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="technology.scout/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="technology.scout/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="technology.scout/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="technology.scout/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="technology.scout/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="technology.scout/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="technology.scout/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="technology.scout/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-sirius">Eclipse Sirius</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.sirius/dataset_report_modeling.sirius.html">dataset_report_modeling.sirius.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/sirius">https://www.eclipse.org/sirius</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.sirius">https://projects.eclipse.org/projects/modeling.sirius</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.sirius/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.sirius/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.sirius/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.sirius/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.sirius/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.sirius/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.sirius/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.sirius/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.sirius/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.sirius/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.sirius/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.sirius/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.sirius/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.sirius/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="modeling.sirius/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-sphinx">Eclipse Sphinx</h2>
-
-<ul>
-<li>Analysis report: <a href="modeling.sphinx/dataset_report_modeling.sphinx.html">dataset_report_modeling.sphinx.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/sphinx">https://www.eclipse.org/sphinx</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/modeling.sphinx">https://projects.eclipse.org/projects/modeling.sphinx</a></li>
-<li>Downloads:
-<ul>
-<li><a href="modeling.sphinx/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="modeling.sphinx/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="modeling.sphinx/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="modeling.sphinx/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="modeling.sphinx/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="modeling.sphinx/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="modeling.sphinx/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="modeling.sphinx/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="modeling.sphinx/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="modeling.sphinx/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="modeling.sphinx/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="modeling.sphinx/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="modeling.sphinx/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="modeling.sphinx/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-trace-compass">Eclipse Trace Compass</h2>
-
-<ul>
-<li>Analysis report: <a href="tools.tracecompass/dataset_report_tools.tracecompass.html">dataset_report_tools.tracecompass.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/tracecompass/">https://www.eclipse.org/tracecompass/</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/tools.tracecompass">https://projects.eclipse.org/projects/tools.tracecompass</a></li>
-<li>Downloads:
-<ul>
-<li><a href="tools.tracecompass/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="tools.tracecompass/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="tools.tracecompass/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="tools.tracecompass/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="tools.tracecompass/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="tools.tracecompass/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="tools.tracecompass/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="tools.tracecompass/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="tools.tracecompass/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="tools.tracecompass/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="tools.tracecompass/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="tools.tracecompass/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="tools.tracecompass/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="tools.tracecompass/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-<h2 class="mume-header" id="eclipse-tycho">Eclipse Tycho</h2>
-
-<ul>
-<li>Analysis report: <a href="technology.tycho/dataset_report_technology.tycho.html">dataset_report_technology.tycho.html</a></li>
-<li>Project&apos;s home: <a href="https://www.eclipse.org/tycho/">https://www.eclipse.org/tycho/</a></li>
-<li>PMI home: <a href="https://projects.eclipse.org/projects/technology.tycho">https://projects.eclipse.org/projects/technology.tycho</a></li>
-<li>Downloads:
-<ul>
-<li><a href="technology.tycho/bugzilla_components.csv.gz">bugzilla_components.csv.gz</a></li>
-<li><a href="technology.tycho/bugzilla_evol.csv.gz">bugzilla_evol.csv.gz</a></li>
-<li><a href="technology.tycho/bugzilla_issues.csv.gz">bugzilla_issues.csv.gz</a></li>
-<li><a href="technology.tycho/bugzilla_issues_open.csv.gz">bugzilla_issues_open.csv.gz</a></li>
-<li><a href="technology.tycho/bugzilla_versions.csv.gz">bugzilla_versions.csv.gz</a></li>
-<li><a href="technology.tycho/eclipse_forums_posts.csv.gz">eclipse_forums_posts.csv.gz</a></li>
-<li><a href="technology.tycho/eclipse_forums_threads.csv.gz">eclipse_forums_threads.csv.gz</a></li>
-<li><a href="technology.tycho/eclipse_pmi_checks.csv.gz">eclipse_pmi_checks.csv.gz</a></li>
-<li><a href="technology.tycho/eclipse_pmi_checks.json.gz">eclipse_pmi_checks.json.gz</a></li>
-<li><a href="technology.tycho/git_commits.csv.gz">git_commits.csv.gz</a></li>
-<li><a href="technology.tycho/git_commits_evol.csv.gz">git_commits_evol.csv.gz</a></li>
-<li><a href="technology.tycho/git_log.txt.gz">git_log.txt.gz</a></li>
-<li><a href="technology.tycho/jenkins_builds.csv.gz">jenkins_builds.csv.gz</a></li>
-<li><a href="technology.tycho/jenkins_jobs.csv.gz">jenkins_jobs.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_authors.csv.gz">scancode_authors.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_copyrights.csv.gz">scancode_copyrights.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_files.csv.gz">scancode_files.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_holders.csv.gz">scancode_holders.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_licences.csv.gz">scancode_licences.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_packages.csv.gz">scancode_packages.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_programming_languages.csv.gz">scancode_programming_languages.csv.gz</a></li>
-<li><a href="technology.tycho/scancode_special_files.csv.gz">scancode_special_files.csv.gz</a></li>
-</ul>
-</li>
-</ul>
-
-      </div>
-      
-      
-    
-    
-    
-    
-    
-    
-    
-    
-  
-    </body></html>
\ No newline at end of file
diff --git a/datasets/projects/eclipse_projects.md b/datasets/projects/eclipse_projects.md
deleted file mode 100644
index 611415f..0000000
--- a/datasets/projects/eclipse_projects.md
+++ /dev/null
@@ -1,592 +0,0 @@
-
-# Datasets of Eclipse projects
-
-This is the list of all Eclipse projects datasets published for Eclipse Scava. Each dataset is composed of:
-* Compressed (gzip'd) CSV and JSON files.
-* A R Markdown document that analyses the extracted files and provides some hints about how to use them. This document also serves as a validation step to identify empty or inconsistent datasets.
-
-These datasets are published under the [Creative Commons BY-Attribution-Share Alike 4.0 (International) licence](https://creativecommons.org/licenses/by-sa/4.0/).
-
-
-## Eclipse APP4MC
-
-* Analysis report: [dataset_report_technology.app4mc.html](technology.app4mc/dataset_report_technology.app4mc.html)
-* PMI home: https://projects.eclipse.org/projects/technology.app4mc
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.app4mc/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.app4mc/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.app4mc/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.app4mc/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.app4mc/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.app4mc/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.app4mc/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.app4mc/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.app4mc/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.app4mc/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.app4mc/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.app4mc/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.app4mc/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.app4mc/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](technology.app4mc/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](technology.app4mc/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](technology.app4mc/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](technology.app4mc/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](technology.app4mc/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](technology.app4mc/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](technology.app4mc/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](technology.app4mc/scancode_special_files.csv.gz)
-
-
-## Eclipse Acceleo
-
-* Analysis report: [dataset_report_modeling.m2t.acceleo.html](modeling.m2t.acceleo/dataset_report_modeling.m2t.acceleo.html)
-* PMI home: https://projects.eclipse.org/projects/modeling.m2t.acceleo
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.m2t.acceleo/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.m2t.acceleo/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.m2t.acceleo/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.m2t.acceleo/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.m2t.acceleo/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.m2t.acceleo/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.m2t.acceleo/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.m2t.acceleo/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.m2t.acceleo/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.m2t.acceleo/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.m2t.acceleo/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.m2t.acceleo/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.m2t.acceleo/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.m2t.acceleo/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](modeling.m2t.acceleo/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](modeling.m2t.acceleo/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](modeling.m2t.acceleo/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](modeling.m2t.acceleo/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](modeling.m2t.acceleo/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](modeling.m2t.acceleo/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](modeling.m2t.acceleo/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](modeling.m2t.acceleo/scancode_special_files.csv.gz)
-
-
-## Eclipse Apogy
-
-* Analysis report: [dataset_report_technology.apogy.html](technology.apogy/dataset_report_technology.apogy.html)
-* PMI home: https://projects.eclipse.org/projects/technology.apogy
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.apogy/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.apogy/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.apogy/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.apogy/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.apogy/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.apogy/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.apogy/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.apogy/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.apogy/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.apogy/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.apogy/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.apogy/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.apogy/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.apogy/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](technology.apogy/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](technology.apogy/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](technology.apogy/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](technology.apogy/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](technology.apogy/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](technology.apogy/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](technology.apogy/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](technology.apogy/scancode_special_files.csv.gz)
-
-
-## Eclipse CDT
-
-* Analysis report: [dataset_report_tools.cdt.html](tools.cdt/dataset_report_tools.cdt.html)
-* Project's home: https://www.eclipse.org/cdt
-* PMI home: https://projects.eclipse.org/projects/tools.cdt
-* Downloads:
-  - [bugzilla_components.csv.gz](tools.cdt/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](tools.cdt/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](tools.cdt/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](tools.cdt/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](tools.cdt/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](tools.cdt/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](tools.cdt/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](tools.cdt/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](tools.cdt/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](tools.cdt/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](tools.cdt/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](tools.cdt/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](tools.cdt/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](tools.cdt/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](tools.cdt/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](tools.cdt/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](tools.cdt/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](tools.cdt/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](tools.cdt/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](tools.cdt/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](tools.cdt/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](tools.cdt/scancode_special_files.csv.gz)
-
-
-## Eclipse EASE
-
-* Analysis report: [dataset_report_technology.ease.html](technology.ease/dataset_report_technology.ease.html)
-* Project's home: https://www.eclipse.org/ease
-* PMI home: https://projects.eclipse.org/projects/technology.ease
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.ease/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.ease/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.ease/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.ease/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.ease/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.ease/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.ease/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.ease/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.ease/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.ease/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.ease/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.ease/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.ease/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.ease/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](technology.ease/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](technology.ease/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](technology.ease/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](technology.ease/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](technology.ease/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](technology.ease/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](technology.ease/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](technology.ease/scancode_special_files.csv.gz)
-
-
-## Eclipse EGit
-
-* Analysis report: [dataset_report_technology.egit.html](technology.egit/dataset_report_technology.egit.html)
-* Project's home: https://www.eclipse.org/egit
-* PMI home: https://projects.eclipse.org/projects/technology.egit
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.egit/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.egit/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.egit/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.egit/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.egit/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.egit/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.egit/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.egit/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.egit/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.egit/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.egit/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.egit/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.egit/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.egit/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](technology.egit/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](technology.egit/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](technology.egit/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](technology.egit/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](technology.egit/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](technology.egit/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](technology.egit/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](technology.egit/scancode_special_files.csv.gz)
-
-
-## Eclipse EMF Compare
-
-* Analysis report: [dataset_report_modeling.emfcompare.html](modeling.emfcompare/dataset_report_modeling.emfcompare.html)
-* PMI home: https://projects.eclipse.org/projects/modeling.emfcompare
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.emfcompare/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.emfcompare/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.emfcompare/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.emfcompare/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.emfcompare/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.emfcompare/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.emfcompare/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.emfcompare/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.emfcompare/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.emfcompare/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.emfcompare/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.emfcompare/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.emfcompare/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.emfcompare/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](modeling.emfcompare/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](modeling.emfcompare/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](modeling.emfcompare/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](modeling.emfcompare/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](modeling.emfcompare/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](modeling.emfcompare/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](modeling.emfcompare/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](modeling.emfcompare/scancode_special_files.csv.gz)
-
-
-## Eclipse EMF Parsley
-
-* Analysis report: [dataset_report_modeling.emf-parsley.html](modeling.emf-parsley/dataset_report_modeling.emf-parsley.html)
-* Project's home: https://www.eclipse.org/emf-parsley
-* PMI home: https://projects.eclipse.org/projects/modeling.emf-parsley
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.emf-parsley/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.emf-parsley/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.emf-parsley/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.emf-parsley/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.emf-parsley/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.emf-parsley/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.emf-parsley/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.emf-parsley/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.emf-parsley/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.emf-parsley/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.emf-parsley/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.emf-parsley/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.emf-parsley/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.emf-parsley/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](modeling.emf-parsley/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](modeling.emf-parsley/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](modeling.emf-parsley/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](modeling.emf-parsley/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](modeling.emf-parsley/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](modeling.emf-parsley/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](modeling.emf-parsley/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](modeling.emf-parsley/scancode_special_files.csv.gz)
-
-
-## Eclipse Epsilon
-
-* Analysis report: [dataset_report_modeling.epsilon.html](modeling.epsilon/dataset_report_modeling.epsilon.html)
-* Project's home: https://www.eclipse.org/epsilon
-* PMI home: https://projects.eclipse.org/projects/modeling.epsilon
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.epsilon/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.epsilon/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.epsilon/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.epsilon/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.epsilon/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.epsilon/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.epsilon/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.epsilon/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.epsilon/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.epsilon/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.epsilon/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.epsilon/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.epsilon/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.epsilon/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](modeling.epsilon/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](modeling.epsilon/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](modeling.epsilon/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](modeling.epsilon/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](modeling.epsilon/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](modeling.epsilon/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](modeling.epsilon/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](modeling.epsilon/scancode_special_files.csv.gz)
-
-
-## Eclipse Gendoc
-
-* Analysis report: [dataset_report_modeling.gendoc.html](modeling.gendoc/dataset_report_modeling.gendoc.html)
-* Project's home: https://www.eclipse.org/gendoc
-* PMI home: https://projects.eclipse.org/projects/modeling.gendoc
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.gendoc/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.gendoc/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.gendoc/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.gendoc/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.gendoc/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.gendoc/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.gendoc/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.gendoc/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.gendoc/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.gendoc/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.gendoc/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.gendoc/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.gendoc/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.gendoc/jenkins_jobs.csv.gz)
-
-
-## Eclipse Glassfish
-
-* Analysis report: [dataset_report_ee4j.glassfish.html](ee4j.glassfish/dataset_report_ee4j.glassfish.html)
-* PMI home: https://projects.eclipse.org/projects/ee4j.glassfish
-* Downloads:
-  - [eclipse_forums_posts.csv.gz](ee4j.glassfish/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](ee4j.glassfish/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](ee4j.glassfish/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](ee4j.glassfish/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](ee4j.glassfish/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](ee4j.glassfish/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](ee4j.glassfish/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](ee4j.glassfish/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](ee4j.glassfish/jenkins_jobs.csv.gz)
-
-
-## Eclipse JGit
-
-* Analysis report: [dataset_report_technology.jgit.html](technology.jgit/dataset_report_technology.jgit.html)
-* PMI home: https://projects.eclipse.org/projects/technology.jgit
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.jgit/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.jgit/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.jgit/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.jgit/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.jgit/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.jgit/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.jgit/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.jgit/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.jgit/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.jgit/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.jgit/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.jgit/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.jgit/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.jgit/jenkins_jobs.csv.gz)
-
-
-## Eclipse MDM|BL
-
-* Analysis report: [dataset_report_technology.mdmbl.html](technology.mdmbl/dataset_report_technology.mdmbl.html)
-* PMI home: https://projects.eclipse.org/projects/technology.mdmbl
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.mdmbl/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.mdmbl/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.mdmbl/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.mdmbl/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.mdmbl/bugzilla_versions.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.mdmbl/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.mdmbl/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.mdmbl/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.mdmbl/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.mdmbl/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.mdmbl/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.mdmbl/jenkins_jobs.csv.gz)
-
-
-## Eclipse OCL
-
-* Analysis report: [dataset_report_modeling.mdt.ocl.html](modeling.mdt.ocl/dataset_report_modeling.mdt.ocl.html)
-* PMI home: https://projects.eclipse.org/projects/modeling.mdt.ocl
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.mdt.ocl/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.mdt.ocl/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.mdt.ocl/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.mdt.ocl/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.mdt.ocl/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.mdt.ocl/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.mdt.ocl/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.mdt.ocl/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.mdt.ocl/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.mdt.ocl/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.mdt.ocl/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.mdt.ocl/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.mdt.ocl/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.mdt.ocl/jenkins_jobs.csv.gz)
-
-
-## Eclipse PDT (PHP Development Tools)
-
-* Analysis report: [dataset_report_tools.pdt.html](tools.pdt/dataset_report_tools.pdt.html)
-* Project's home: https://www.eclipse.org/pdt
-* PMI home: https://projects.eclipse.org/projects/tools.pdt
-* Downloads:
-  - [bugzilla_components.csv.gz](tools.pdt/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](tools.pdt/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](tools.pdt/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](tools.pdt/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](tools.pdt/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](tools.pdt/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](tools.pdt/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](tools.pdt/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](tools.pdt/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](tools.pdt/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](tools.pdt/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](tools.pdt/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](tools.pdt/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](tools.pdt/jenkins_jobs.csv.gz)
-
-
-## Eclipse Paho
-
-* Analysis report: [dataset_report_technology.paho.html](technology.paho/dataset_report_technology.paho.html)
-* Project's home: https://projects.eclipse.org/proposals/eclipse-glassfish
-* PMI home: https://projects.eclipse.org/projects/technology.paho
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.paho/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.paho/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.paho/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.paho/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.paho/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.paho/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.paho/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.paho/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.paho/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.paho/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.paho/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.paho/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.paho/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.paho/jenkins_jobs.csv.gz)
-
-
-## Eclipse Papyrus
-
-* Analysis report: [dataset_report_modeling.mdt.papyrus.html](modeling.mdt.papyrus/dataset_report_modeling.mdt.papyrus.html)
-* Project's home: https://www.eclipse.org/papyrus
-* PMI home: https://projects.eclipse.org/projects/modeling.mdt.papyrus
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.mdt.papyrus/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.mdt.papyrus/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.mdt.papyrus/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.mdt.papyrus/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.mdt.papyrus/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.mdt.papyrus/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.mdt.papyrus/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.mdt.papyrus/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.mdt.papyrus/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.mdt.papyrus/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.mdt.papyrus/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.mdt.papyrus/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.mdt.papyrus/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.mdt.papyrus/jenkins_jobs.csv.gz)
-
-
-## Eclipse Process Framework
-
-* Analysis report: [dataset_report_technology.epf.html](technology.epf/dataset_report_technology.epf.html)
-* PMI home: https://projects.eclipse.org/projects/technology.epf
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.epf/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.epf/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.epf/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.epf/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.epf/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.epf/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.epf/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.epf/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.epf/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.epf/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.epf/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.epf/git_log.txt.gz)
-
-
-## Eclipse Scout
-
-* Analysis report: [dataset_report_technology.scout.html](technology.scout/dataset_report_technology.scout.html)
-* Project's home: https://www.eclipse.org/scout
-* PMI home: https://projects.eclipse.org/projects/technology.scout
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.scout/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.scout/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.scout/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.scout/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.scout/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.scout/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.scout/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.scout/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.scout/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.scout/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.scout/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.scout/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.scout/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.scout/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](technology.scout/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](technology.scout/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](technology.scout/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](technology.scout/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](technology.scout/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](technology.scout/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](technology.scout/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](technology.scout/scancode_special_files.csv.gz)
-
-
-## Eclipse Sirius
-
-* Analysis report: [dataset_report_modeling.sirius.html](modeling.sirius/dataset_report_modeling.sirius.html)
-* Project's home: https://www.eclipse.org/sirius
-* PMI home: https://projects.eclipse.org/projects/modeling.sirius
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.sirius/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.sirius/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.sirius/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.sirius/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.sirius/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.sirius/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.sirius/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.sirius/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.sirius/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.sirius/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.sirius/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.sirius/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.sirius/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.sirius/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](modeling.sirius/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](modeling.sirius/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](modeling.sirius/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](modeling.sirius/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](modeling.sirius/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](modeling.sirius/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](modeling.sirius/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](modeling.sirius/scancode_special_files.csv.gz)
-
-
-## Eclipse Sphinx
-
-* Analysis report: [dataset_report_modeling.sphinx.html](modeling.sphinx/dataset_report_modeling.sphinx.html)
-* Project's home: https://www.eclipse.org/sphinx
-* PMI home: https://projects.eclipse.org/projects/modeling.sphinx
-* Downloads:
-  - [bugzilla_components.csv.gz](modeling.sphinx/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](modeling.sphinx/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](modeling.sphinx/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](modeling.sphinx/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](modeling.sphinx/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](modeling.sphinx/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](modeling.sphinx/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](modeling.sphinx/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](modeling.sphinx/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](modeling.sphinx/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](modeling.sphinx/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](modeling.sphinx/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](modeling.sphinx/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](modeling.sphinx/jenkins_jobs.csv.gz)
-
-
-## Eclipse Trace Compass
-
-* Analysis report: [dataset_report_tools.tracecompass.html](tools.tracecompass/dataset_report_tools.tracecompass.html)
-* Project's home: https://www.eclipse.org/tracecompass/
-* PMI home: https://projects.eclipse.org/projects/tools.tracecompass
-* Downloads:
-  - [bugzilla_components.csv.gz](tools.tracecompass/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](tools.tracecompass/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](tools.tracecompass/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](tools.tracecompass/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](tools.tracecompass/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](tools.tracecompass/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](tools.tracecompass/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](tools.tracecompass/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](tools.tracecompass/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](tools.tracecompass/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](tools.tracecompass/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](tools.tracecompass/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](tools.tracecompass/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](tools.tracecompass/jenkins_jobs.csv.gz)
-
-
-## Eclipse Tycho
-
-* Analysis report: [dataset_report_technology.tycho.html](technology.tycho/dataset_report_technology.tycho.html)
-* Project's home: https://www.eclipse.org/tycho/
-* PMI home: https://projects.eclipse.org/projects/technology.tycho
-* Downloads:
-  - [bugzilla_components.csv.gz](technology.tycho/bugzilla_components.csv.gz)
-  - [bugzilla_evol.csv.gz](technology.tycho/bugzilla_evol.csv.gz)
-  - [bugzilla_issues.csv.gz](technology.tycho/bugzilla_issues.csv.gz)
-  - [bugzilla_issues_open.csv.gz](technology.tycho/bugzilla_issues_open.csv.gz)
-  - [bugzilla_versions.csv.gz](technology.tycho/bugzilla_versions.csv.gz)
-  - [eclipse_forums_posts.csv.gz](technology.tycho/eclipse_forums_posts.csv.gz)
-  - [eclipse_forums_threads.csv.gz](technology.tycho/eclipse_forums_threads.csv.gz)
-  - [eclipse_pmi_checks.csv.gz](technology.tycho/eclipse_pmi_checks.csv.gz)
-  - [eclipse_pmi_checks.json.gz](technology.tycho/eclipse_pmi_checks.json.gz)
-  - [git_commits.csv.gz](technology.tycho/git_commits.csv.gz)
-  - [git_commits_evol.csv.gz](technology.tycho/git_commits_evol.csv.gz)
-  - [git_log.txt.gz](technology.tycho/git_log.txt.gz)
-  - [jenkins_builds.csv.gz](technology.tycho/jenkins_builds.csv.gz)
-  - [jenkins_jobs.csv.gz](technology.tycho/jenkins_jobs.csv.gz)
-  - [scancode_authors.csv.gz](technology.tycho/scancode_authors.csv.gz)
-  - [scancode_copyrights.csv.gz](technology.tycho/scancode_copyrights.csv.gz)
-  - [scancode_files.csv.gz](technology.tycho/scancode_files.csv.gz)
-  - [scancode_holders.csv.gz](technology.tycho/scancode_holders.csv.gz)
-  - [scancode_licences.csv.gz](technology.tycho/scancode_licences.csv.gz)
-  - [scancode_packages.csv.gz](technology.tycho/scancode_packages.csv.gz)
-  - [scancode_programming_languages.csv.gz](technology.tycho/scancode_programming_languages.csv.gz)
-  - [scancode_special_files.csv.gz](technology.tycho/scancode_special_files.csv.gz)
-- 
GitLab