.text-twitter {
  color: #1DA1F2 !important; }

a.text-twitter:hover, a.text-twitter:focus {
  color: #0b76b8 !important; }

.bg-twitter {
  background-color: #1DA1F2 !important; }

a.bg-twitter:hover, a.bg-twitter:focus {
  background-color: #1c99e6 !important; }

.bg-twitter-dark {
  background-color: #1a91da !important; }

a.bg-twitter-dark:hover, a.bg-twitter-dark:focus {
  background-color: #198acf !important; }

.bg-twitter-darker {
  background-color: #1989ce !important; }

a.bg-twitter-darker:hover, a.bg-twitter-darker:focus {
  background-color: #1882c4 !important; }

.btn-twitter {
  border-color: transparent;
  background: #1DA1F2;
  color: #fff; }
  .btn-twitter:hover {
    border-color: transparent;
    background: #1c99e6;
    color: #fff; }
  .btn-twitter:focus, .btn-twitter.focus {
    box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.4); }
  .btn-twitter.disabled, .btn-twitter:disabled {
    border-color: transparent !important;
    background: #1DA1F2 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-twitter .badge {
  background: #fff;
  color: #1DA1F2; }

.btn-twitter:active,
.btn-twitter.active,
.show > .btn-twitter.dropdown-toggle {
  border-color: transparent;
  background: #198cd3;
  box-shadow: none; }

.btn-group .btn-twitter,
.input-group-prepend .btn-twitter,
.input-group-append .btn-twitter {
  border-right: 1px solid #198cd3;
  border-left: 1px solid #198cd3; }

.btn-outline-twitter {
  border-color: #1DA1F2;
  background: transparent;
  color: #1DA1F2; }
  .btn-outline-twitter:hover {
    border-color: transparent;
    background: #1DA1F2;
    color: #fff; }
  .btn-outline-twitter:focus, .btn-outline-twitter.focus {
    box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.4); }
  .btn-outline-twitter.disabled, .btn-outline-twitter:disabled {
    border-color: #1DA1F2 !important;
    background: transparent !important;
    color: #1DA1F2 !important; }

.btn-outline-twitter:active,
.btn-outline-twitter.active,
.show > .btn-outline-twitter.dropdown-toggle {
  border-color: transparent;
  background: #1c99e6;
  color: #fff;
  box-shadow: none; }

.btn-outline-twitter .badge {
  background: #1DA1F2;
  border-color: #1DA1F2;
  color: #fff; }

.btn-outline-twitter:hover .badge,
.btn-outline-twitter:focus .badge,
.btn-outline-twitter:active .badge,
.btn-outline-twitter.active .badge,
.show > .btn-outline-twitter.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #1DA1F2; }

.text-google {
  color: #D1523F !important; }

a.text-google:hover, a.text-google:focus {
  color: #9e3526 !important; }

.bg-google {
  background-color: #D1523F !important; }

a.bg-google:hover, a.bg-google:focus {
  background-color: #c74e3c !important; }

.bg-google-dark {
  background-color: #bc4a39 !important; }

a.bg-google-dark:hover, a.bg-google-dark:focus {
  background-color: #b34636 !important; }

.bg-google-darker {
  background-color: #b24636 !important; }

a.bg-google-darker:hover, a.bg-google-darker:focus {
  background-color: #a94333 !important; }

.btn-google {
  border-color: transparent;
  background: #D1523F;
  color: #fff; }
  .btn-google:hover {
    border-color: transparent;
    background: #c74e3c;
    color: #fff; }
  .btn-google:focus, .btn-google.focus {
    box-shadow: 0 0 0 2px rgba(209, 82, 63, 0.4); }
  .btn-google.disabled, .btn-google:disabled {
    border-color: transparent !important;
    background: #D1523F !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-google .badge {
  background: #fff;
  color: #D1523F; }

.btn-google:active,
.btn-google.active,
.show > .btn-google.dropdown-toggle {
  border-color: transparent;
  background: #b64737;
  box-shadow: none; }

.btn-group .btn-google,
.input-group-prepend .btn-google,
.input-group-append .btn-google {
  border-right: 1px solid #b64737;
  border-left: 1px solid #b64737; }

.btn-outline-google {
  border-color: #D1523F;
  background: transparent;
  color: #D1523F; }
  .btn-outline-google:hover {
    border-color: transparent;
    background: #D1523F;
    color: #fff; }
  .btn-outline-google:focus, .btn-outline-google.focus {
    box-shadow: 0 0 0 2px rgba(209, 82, 63, 0.4); }
  .btn-outline-google.disabled, .btn-outline-google:disabled {
    border-color: #D1523F !important;
    background: transparent !important;
    color: #D1523F !important; }

.btn-outline-google:active,
.btn-outline-google.active,
.show > .btn-outline-google.dropdown-toggle {
  border-color: transparent;
  background: #c74e3c;
  color: #fff;
  box-shadow: none; }

.btn-outline-google .badge {
  background: #D1523F;
  border-color: #D1523F;
  color: #fff; }

.btn-outline-google:hover .badge,
.btn-outline-google:focus .badge,
.btn-outline-google:active .badge,
.btn-outline-google.active .badge,
.show > .btn-outline-google.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #D1523F; }

.text-facebook {
  color: #3B5998 !important; }

a.text-facebook:hover, a.text-facebook:focus {
  color: #263961 !important; }

.bg-facebook {
  background-color: #3B5998 !important; }

a.bg-facebook:hover, a.bg-facebook:focus {
  background-color: #385590 !important; }

.bg-facebook-dark {
  background-color: #355089 !important; }

a.bg-facebook-dark:hover, a.bg-facebook-dark:focus {
  background-color: #324c82 !important; }

.bg-facebook-darker {
  background-color: #324c81 !important; }

a.bg-facebook-darker:hover, a.bg-facebook-darker:focus {
  background-color: #30487b !important; }

.btn-facebook {
  border-color: transparent;
  background: #3B5998;
  color: #fff; }
  .btn-facebook:hover {
    border-color: transparent;
    background: #385590;
    color: #fff; }
  .btn-facebook:focus, .btn-facebook.focus {
    box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.4); }
  .btn-facebook.disabled, .btn-facebook:disabled {
    border-color: transparent !important;
    background: #3B5998 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-facebook .badge {
  background: #fff;
  color: #3B5998; }

.btn-facebook:active,
.btn-facebook.active,
.show > .btn-facebook.dropdown-toggle {
  border-color: transparent;
  background: #334d84;
  box-shadow: none; }

.btn-group .btn-facebook,
.input-group-prepend .btn-facebook,
.input-group-append .btn-facebook {
  border-right: 1px solid #334d84;
  border-left: 1px solid #334d84; }

.btn-outline-facebook {
  border-color: #3B5998;
  background: transparent;
  color: #3B5998; }
  .btn-outline-facebook:hover {
    border-color: transparent;
    background: #3B5998;
    color: #fff; }
  .btn-outline-facebook:focus, .btn-outline-facebook.focus {
    box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.4); }
  .btn-outline-facebook.disabled, .btn-outline-facebook:disabled {
    border-color: #3B5998 !important;
    background: transparent !important;
    color: #3B5998 !important; }

.btn-outline-facebook:active,
.btn-outline-facebook.active,
.show > .btn-outline-facebook.dropdown-toggle {
  border-color: transparent;
  background: #385590;
  color: #fff;
  box-shadow: none; }

.btn-outline-facebook .badge {
  background: #3B5998;
  border-color: #3B5998;
  color: #fff; }

.btn-outline-facebook:hover .badge,
.btn-outline-facebook:focus .badge,
.btn-outline-facebook:active .badge,
.btn-outline-facebook.active .badge,
.show > .btn-outline-facebook.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #3B5998; }

.text-pinterest {
  color: #bd121c !important; }

a.text-pinterest:hover, a.text-pinterest:focus {
  color: #770b12 !important; }

.bg-pinterest {
  background-color: #bd121c !important; }

a.bg-pinterest:hover, a.bg-pinterest:focus {
  background-color: #b4111b !important; }

.bg-pinterest-dark {
  background-color: #aa1019 !important; }

a.bg-pinterest-dark:hover, a.bg-pinterest-dark:focus {
  background-color: #a20f18 !important; }

.bg-pinterest-darker {
  background-color: #a10f18 !important; }

a.bg-pinterest-darker:hover, a.bg-pinterest-darker:focus {
  background-color: #990e17 !important; }

.btn-pinterest {
  border-color: transparent;
  background: #bd121c;
  color: #fff; }
  .btn-pinterest:hover {
    border-color: transparent;
    background: #b4111b;
    color: #fff; }
  .btn-pinterest:focus, .btn-pinterest.focus {
    box-shadow: 0 0 0 2px rgba(189, 18, 28, 0.4); }
  .btn-pinterest.disabled, .btn-pinterest:disabled {
    border-color: transparent !important;
    background: #bd121c !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-pinterest .badge {
  background: #fff;
  color: #bd121c; }

.btn-pinterest:active,
.btn-pinterest.active,
.show > .btn-pinterest.dropdown-toggle {
  border-color: transparent;
  background: #a41018;
  box-shadow: none; }

.btn-group .btn-pinterest,
.input-group-prepend .btn-pinterest,
.input-group-append .btn-pinterest {
  border-right: 1px solid #a41018;
  border-left: 1px solid #a41018; }

.btn-outline-pinterest {
  border-color: #bd121c;
  background: transparent;
  color: #bd121c; }
  .btn-outline-pinterest:hover {
    border-color: transparent;
    background: #bd121c;
    color: #fff; }
  .btn-outline-pinterest:focus, .btn-outline-pinterest.focus {
    box-shadow: 0 0 0 2px rgba(189, 18, 28, 0.4); }
  .btn-outline-pinterest.disabled, .btn-outline-pinterest:disabled {
    border-color: #bd121c !important;
    background: transparent !important;
    color: #bd121c !important; }

.btn-outline-pinterest:active,
.btn-outline-pinterest.active,
.show > .btn-outline-pinterest.dropdown-toggle {
  border-color: transparent;
  background: #b4111b;
  color: #fff;
  box-shadow: none; }

.btn-outline-pinterest .badge {
  background: #bd121c;
  border-color: #bd121c;
  color: #fff; }

.btn-outline-pinterest:hover .badge,
.btn-outline-pinterest:focus .badge,
.btn-outline-pinterest:active .badge,
.btn-outline-pinterest.active .badge,
.show > .btn-outline-pinterest.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #bd121c; }

.text-instagram {
  color: #000 !important; }

a.text-instagram:hover, a.text-instagram:focus {
  color: black !important; }

.bg-instagram {
  background-color: #000 !important; }

a.bg-instagram:hover, a.bg-instagram:focus {
  background-color: black !important; }

.bg-instagram-dark {
  background-color: black !important; }

a.bg-instagram-dark:hover, a.bg-instagram-dark:focus {
  background-color: black !important; }

.bg-instagram-darker {
  background-color: black !important; }

a.bg-instagram-darker:hover, a.bg-instagram-darker:focus {
  background-color: black !important; }

.btn-instagram {
  border-color: transparent;
  background: #000;
  color: #fff; }
  .btn-instagram:hover {
    border-color: transparent;
    background: black;
    color: #fff; }
  .btn-instagram:focus, .btn-instagram.focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); }
  .btn-instagram.disabled, .btn-instagram:disabled {
    border-color: transparent !important;
    background: #000 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-instagram .badge {
  background: #fff;
  color: #000; }

.btn-instagram:active,
.btn-instagram.active,
.show > .btn-instagram.dropdown-toggle {
  border-color: transparent;
  background: black;
  box-shadow: none; }

.btn-group .btn-instagram,
.input-group-prepend .btn-instagram,
.input-group-append .btn-instagram {
  border-right: 1px solid black;
  border-left: 1px solid black; }

.btn-outline-instagram {
  border-color: #000;
  background: transparent;
  color: #000; }
  .btn-outline-instagram:hover {
    border-color: transparent;
    background: #000;
    color: #fff; }
  .btn-outline-instagram:focus, .btn-outline-instagram.focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); }
  .btn-outline-instagram.disabled, .btn-outline-instagram:disabled {
    border-color: #000 !important;
    background: transparent !important;
    color: #000 !important; }

.btn-outline-instagram:active,
.btn-outline-instagram.active,
.show > .btn-outline-instagram.dropdown-toggle {
  border-color: transparent;
  background: black;
  color: #fff;
  box-shadow: none; }

.btn-outline-instagram .badge {
  background: #000;
  border-color: #000;
  color: #fff; }

.btn-outline-instagram:hover .badge,
.btn-outline-instagram:focus .badge,
.btn-outline-instagram:active .badge,
.btn-outline-instagram.active .badge,
.show > .btn-outline-instagram.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #000; }

.text-flickr {
  color: #ff0084 !important; }

a.text-flickr:hover, a.text-flickr:focus {
  color: #b3005c !important; }

.bg-flickr {
  background-color: #ff0084 !important; }

a.bg-flickr:hover, a.bg-flickr:focus {
  background-color: #f2007d !important; }

.bg-flickr-dark {
  background-color: #e60077 !important; }

a.bg-flickr-dark:hover, a.bg-flickr-dark:focus {
  background-color: #db0071 !important; }

.bg-flickr-darker {
  background-color: #d90070 !important; }

a.bg-flickr-darker:hover, a.bg-flickr-darker:focus {
  background-color: #ce006a !important; }

.btn-flickr {
  border-color: transparent;
  background: #ff0084;
  color: #fff; }
  .btn-flickr:hover {
    border-color: transparent;
    background: #f2007d;
    color: #fff; }
  .btn-flickr:focus, .btn-flickr.focus {
    box-shadow: 0 0 0 2px rgba(255, 0, 132, 0.4); }
  .btn-flickr.disabled, .btn-flickr:disabled {
    border-color: transparent !important;
    background: #ff0084 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-flickr .badge {
  background: #fff;
  color: #ff0084; }

.btn-flickr:active,
.btn-flickr.active,
.show > .btn-flickr.dropdown-toggle {
  border-color: transparent;
  background: #de0073;
  box-shadow: none; }

.btn-group .btn-flickr,
.input-group-prepend .btn-flickr,
.input-group-append .btn-flickr {
  border-right: 1px solid #de0073;
  border-left: 1px solid #de0073; }

.btn-outline-flickr {
  border-color: #ff0084;
  background: transparent;
  color: #ff0084; }
  .btn-outline-flickr:hover {
    border-color: transparent;
    background: #ff0084;
    color: #fff; }
  .btn-outline-flickr:focus, .btn-outline-flickr.focus {
    box-shadow: 0 0 0 2px rgba(255, 0, 132, 0.4); }
  .btn-outline-flickr.disabled, .btn-outline-flickr:disabled {
    border-color: #ff0084 !important;
    background: transparent !important;
    color: #ff0084 !important; }

.btn-outline-flickr:active,
.btn-outline-flickr.active,
.show > .btn-outline-flickr.dropdown-toggle {
  border-color: transparent;
  background: #f2007d;
  color: #fff;
  box-shadow: none; }

.btn-outline-flickr .badge {
  background: #ff0084;
  border-color: #ff0084;
  color: #fff; }

.btn-outline-flickr:hover .badge,
.btn-outline-flickr:focus .badge,
.btn-outline-flickr:active .badge,
.btn-outline-flickr.active .badge,
.show > .btn-outline-flickr.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #ff0084; }

.text-linkedin {
  color: #0077b5 !important; }

a.text-linkedin:hover, a.text-linkedin:focus {
  color: #004569 !important; }

.bg-linkedin {
  background-color: #0077b5 !important; }

a.bg-linkedin:hover, a.bg-linkedin:focus {
  background-color: #0071ac !important; }

.bg-linkedin-dark {
  background-color: #006ba3 !important; }

a.bg-linkedin-dark:hover, a.bg-linkedin-dark:focus {
  background-color: #00669b !important; }

.bg-linkedin-darker {
  background-color: #00659a !important; }

a.bg-linkedin-darker:hover, a.bg-linkedin-darker:focus {
  background-color: #006092 !important; }

.btn-linkedin {
  border-color: transparent;
  background: #0077b5;
  color: #fff; }
  .btn-linkedin:hover {
    border-color: transparent;
    background: #0071ac;
    color: #fff; }
  .btn-linkedin:focus, .btn-linkedin.focus {
    box-shadow: 0 0 0 2px rgba(0, 119, 181, 0.4); }
  .btn-linkedin.disabled, .btn-linkedin:disabled {
    border-color: transparent !important;
    background: #0077b5 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-linkedin .badge {
  background: #fff;
  color: #0077b5; }

.btn-linkedin:active,
.btn-linkedin.active,
.show > .btn-linkedin.dropdown-toggle {
  border-color: transparent;
  background: #00689d;
  box-shadow: none; }

.btn-group .btn-linkedin,
.input-group-prepend .btn-linkedin,
.input-group-append .btn-linkedin {
  border-right: 1px solid #00689d;
  border-left: 1px solid #00689d; }

.btn-outline-linkedin {
  border-color: #0077b5;
  background: transparent;
  color: #0077b5; }
  .btn-outline-linkedin:hover {
    border-color: transparent;
    background: #0077b5;
    color: #fff; }
  .btn-outline-linkedin:focus, .btn-outline-linkedin.focus {
    box-shadow: 0 0 0 2px rgba(0, 119, 181, 0.4); }
  .btn-outline-linkedin.disabled, .btn-outline-linkedin:disabled {
    border-color: #0077b5 !important;
    background: transparent !important;
    color: #0077b5 !important; }

.btn-outline-linkedin:active,
.btn-outline-linkedin.active,
.show > .btn-outline-linkedin.dropdown-toggle {
  border-color: transparent;
  background: #0071ac;
  color: #fff;
  box-shadow: none; }

.btn-outline-linkedin .badge {
  background: #0077b5;
  border-color: #0077b5;
  color: #fff; }

.btn-outline-linkedin:hover .badge,
.btn-outline-linkedin:focus .badge,
.btn-outline-linkedin:active .badge,
.btn-outline-linkedin.active .badge,
.show > .btn-outline-linkedin.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #0077b5; }

.text-periscope {
  color: #40a4c4 !important; }

a.text-periscope:hover, a.text-periscope:focus {
  color: #2b758c !important; }

.bg-periscope {
  background-color: #40a4c4 !important; }

a.bg-periscope:hover, a.bg-periscope:focus {
  background-color: #3d9cba !important; }

.bg-periscope-dark {
  background-color: #3a94b0 !important; }

a.bg-periscope-dark:hover, a.bg-periscope-dark:focus {
  background-color: #378da7 !important; }

.bg-periscope-darker {
  background-color: #368ba7 !important; }

a.bg-periscope-darker:hover, a.bg-periscope-darker:focus {
  background-color: #33849f !important; }

.btn-periscope {
  border-color: transparent;
  background: #40a4c4;
  color: #fff; }
  .btn-periscope:hover {
    border-color: transparent;
    background: #3d9cba;
    color: #fff; }
  .btn-periscope:focus, .btn-periscope.focus {
    box-shadow: 0 0 0 2px rgba(64, 164, 196, 0.4); }
  .btn-periscope.disabled, .btn-periscope:disabled {
    border-color: transparent !important;
    background: #40a4c4 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-periscope .badge {
  background: #fff;
  color: #40a4c4; }

.btn-periscope:active,
.btn-periscope.active,
.show > .btn-periscope.dropdown-toggle {
  border-color: transparent;
  background: #388fab;
  box-shadow: none; }

.btn-group .btn-periscope,
.input-group-prepend .btn-periscope,
.input-group-append .btn-periscope {
  border-right: 1px solid #388fab;
  border-left: 1px solid #388fab; }

.btn-outline-periscope {
  border-color: #40a4c4;
  background: transparent;
  color: #40a4c4; }
  .btn-outline-periscope:hover {
    border-color: transparent;
    background: #40a4c4;
    color: #fff; }
  .btn-outline-periscope:focus, .btn-outline-periscope.focus {
    box-shadow: 0 0 0 2px rgba(64, 164, 196, 0.4); }
  .btn-outline-periscope.disabled, .btn-outline-periscope:disabled {
    border-color: #40a4c4 !important;
    background: transparent !important;
    color: #40a4c4 !important; }

.btn-outline-periscope:active,
.btn-outline-periscope.active,
.show > .btn-outline-periscope.dropdown-toggle {
  border-color: transparent;
  background: #3d9cba;
  color: #fff;
  box-shadow: none; }

.btn-outline-periscope .badge {
  background: #40a4c4;
  border-color: #40a4c4;
  color: #fff; }

.btn-outline-periscope:hover .badge,
.btn-outline-periscope:focus .badge,
.btn-outline-periscope:active .badge,
.btn-outline-periscope.active .badge,
.show > .btn-outline-periscope.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #40a4c4; }

.text-tumblr {
  color: #35465c !important; }

a.text-tumblr:hover, a.text-tumblr:focus {
  color: #19212b !important; }

.bg-tumblr {
  background-color: #35465c !important; }

a.bg-tumblr:hover, a.bg-tumblr:focus {
  background-color: #324357 !important; }

.bg-tumblr-dark {
  background-color: #303f53 !important; }

a.bg-tumblr-dark:hover, a.bg-tumblr-dark:focus {
  background-color: #2e3c4f !important; }

.bg-tumblr-darker {
  background-color: #2d3c4e !important; }

a.bg-tumblr-darker:hover, a.bg-tumblr-darker:focus {
  background-color: #2b394a !important; }

.btn-tumblr {
  border-color: transparent;
  background: #35465c;
  color: #fff; }
  .btn-tumblr:hover {
    border-color: transparent;
    background: #324357;
    color: #fff; }
  .btn-tumblr:focus, .btn-tumblr.focus {
    box-shadow: 0 0 0 2px rgba(53, 70, 92, 0.4); }
  .btn-tumblr.disabled, .btn-tumblr:disabled {
    border-color: transparent !important;
    background: #35465c !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-tumblr .badge {
  background: #fff;
  color: #35465c; }

.btn-tumblr:active,
.btn-tumblr.active,
.show > .btn-tumblr.dropdown-toggle {
  border-color: transparent;
  background: #2e3d50;
  box-shadow: none; }

.btn-group .btn-tumblr,
.input-group-prepend .btn-tumblr,
.input-group-append .btn-tumblr {
  border-right: 1px solid #2e3d50;
  border-left: 1px solid #2e3d50; }

.btn-outline-tumblr {
  border-color: #35465c;
  background: transparent;
  color: #35465c; }
  .btn-outline-tumblr:hover {
    border-color: transparent;
    background: #35465c;
    color: #fff; }
  .btn-outline-tumblr:focus, .btn-outline-tumblr.focus {
    box-shadow: 0 0 0 2px rgba(53, 70, 92, 0.4); }
  .btn-outline-tumblr.disabled, .btn-outline-tumblr:disabled {
    border-color: #35465c !important;
    background: transparent !important;
    color: #35465c !important; }

.btn-outline-tumblr:active,
.btn-outline-tumblr.active,
.show > .btn-outline-tumblr.dropdown-toggle {
  border-color: transparent;
  background: #324357;
  color: #fff;
  box-shadow: none; }

.btn-outline-tumblr .badge {
  background: #35465c;
  border-color: #35465c;
  color: #fff; }

.btn-outline-tumblr:hover .badge,
.btn-outline-tumblr:focus .badge,
.btn-outline-tumblr:active .badge,
.btn-outline-tumblr.active .badge,
.show > .btn-outline-tumblr.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #35465c; }

.text-vimeo {
  color: #1ab7ae !important; }

a.text-vimeo:hover, a.text-vimeo:focus {
  color: #10746e !important; }

.bg-vimeo {
  background-color: #1ab7ae !important; }

a.bg-vimeo:hover, a.bg-vimeo:focus {
  background-color: #19aea5 !important; }

.bg-vimeo-dark {
  background-color: #17a59d !important; }

a.bg-vimeo-dark:hover, a.bg-vimeo-dark:focus {
  background-color: #169d95 !important; }

.bg-vimeo-darker {
  background-color: #169c94 !important; }

a.bg-vimeo-darker:hover, a.bg-vimeo-darker:focus {
  background-color: #15948d !important; }

.btn-vimeo {
  border-color: transparent;
  background: #1ab7ae;
  color: #fff; }
  .btn-vimeo:hover {
    border-color: transparent;
    background: #19aea5;
    color: #fff; }
  .btn-vimeo:focus, .btn-vimeo.focus {
    box-shadow: 0 0 0 2px rgba(26, 183, 174, 0.4); }
  .btn-vimeo.disabled, .btn-vimeo:disabled {
    border-color: transparent !important;
    background: #1ab7ae !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-vimeo .badge {
  background: #fff;
  color: #1ab7ae; }

.btn-vimeo:active,
.btn-vimeo.active,
.show > .btn-vimeo.dropdown-toggle {
  border-color: transparent;
  background: #179f97;
  box-shadow: none; }

.btn-group .btn-vimeo,
.input-group-prepend .btn-vimeo,
.input-group-append .btn-vimeo {
  border-right: 1px solid #179f97;
  border-left: 1px solid #179f97; }

.btn-outline-vimeo {
  border-color: #1ab7ae;
  background: transparent;
  color: #1ab7ae; }
  .btn-outline-vimeo:hover {
    border-color: transparent;
    background: #1ab7ae;
    color: #fff; }
  .btn-outline-vimeo:focus, .btn-outline-vimeo.focus {
    box-shadow: 0 0 0 2px rgba(26, 183, 174, 0.4); }
  .btn-outline-vimeo.disabled, .btn-outline-vimeo:disabled {
    border-color: #1ab7ae !important;
    background: transparent !important;
    color: #1ab7ae !important; }

.btn-outline-vimeo:active,
.btn-outline-vimeo.active,
.show > .btn-outline-vimeo.dropdown-toggle {
  border-color: transparent;
  background: #19aea5;
  color: #fff;
  box-shadow: none; }

.btn-outline-vimeo .badge {
  background: #1ab7ae;
  border-color: #1ab7ae;
  color: #fff; }

.btn-outline-vimeo:hover .badge,
.btn-outline-vimeo:focus .badge,
.btn-outline-vimeo:active .badge,
.btn-outline-vimeo.active .badge,
.show > .btn-outline-vimeo.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #1ab7ae; }

.text-youtube {
  color: #b31217 !important; }

a.text-youtube:hover, a.text-youtube:focus {
  color: #6d0b0e !important; }

.bg-youtube {
  background-color: #b31217 !important; }

a.bg-youtube:hover, a.bg-youtube:focus {
  background-color: #aa1116 !important; }

.bg-youtube-dark {
  background-color: #a11015 !important; }

a.bg-youtube-dark:hover, a.bg-youtube-dark:focus {
  background-color: #990f14 !important; }

.bg-youtube-darker {
  background-color: #980f14 !important; }

a.bg-youtube-darker:hover, a.bg-youtube-darker:focus {
  background-color: #900e13 !important; }

.btn-youtube {
  border-color: transparent;
  background: #b31217;
  color: #fff; }
  .btn-youtube:hover {
    border-color: transparent;
    background: #aa1116;
    color: #fff; }
  .btn-youtube:focus, .btn-youtube.focus {
    box-shadow: 0 0 0 2px rgba(179, 18, 23, 0.4); }
  .btn-youtube.disabled, .btn-youtube:disabled {
    border-color: transparent !important;
    background: #b31217 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-youtube .badge {
  background: #fff;
  color: #b31217; }

.btn-youtube:active,
.btn-youtube.active,
.show > .btn-youtube.dropdown-toggle {
  border-color: transparent;
  background: #9c1014;
  box-shadow: none; }

.btn-group .btn-youtube,
.input-group-prepend .btn-youtube,
.input-group-append .btn-youtube {
  border-right: 1px solid #9c1014;
  border-left: 1px solid #9c1014; }

.btn-outline-youtube {
  border-color: #b31217;
  background: transparent;
  color: #b31217; }
  .btn-outline-youtube:hover {
    border-color: transparent;
    background: #b31217;
    color: #fff; }
  .btn-outline-youtube:focus, .btn-outline-youtube.focus {
    box-shadow: 0 0 0 2px rgba(179, 18, 23, 0.4); }
  .btn-outline-youtube.disabled, .btn-outline-youtube:disabled {
    border-color: #b31217 !important;
    background: transparent !important;
    color: #b31217 !important; }

.btn-outline-youtube:active,
.btn-outline-youtube.active,
.show > .btn-outline-youtube.dropdown-toggle {
  border-color: transparent;
  background: #aa1116;
  color: #fff;
  box-shadow: none; }

.btn-outline-youtube .badge {
  background: #b31217;
  border-color: #b31217;
  color: #fff; }

.btn-outline-youtube:hover .badge,
.btn-outline-youtube:focus .badge,
.btn-outline-youtube:active .badge,
.btn-outline-youtube.active .badge,
.show > .btn-outline-youtube.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #b31217; }

.text-windows {
  color: #26AAE1 !important; }

a.text-windows:hover, a.text-windows:focus {
  color: #177aa4 !important; }

.bg-windows {
  background-color: #26AAE1 !important; }

a.bg-windows:hover, a.bg-windows:focus {
  background-color: #24a2d6 !important; }

.bg-windows-dark {
  background-color: #2299cb !important; }

a.bg-windows-dark:hover, a.bg-windows-dark:focus {
  background-color: #2091c1 !important; }

.bg-windows-darker {
  background-color: #2091bf !important; }

a.bg-windows-darker:hover, a.bg-windows-darker:focus {
  background-color: #1e8ab5 !important; }

.btn-windows {
  border-color: transparent;
  background: #26AAE1;
  color: #fff; }
  .btn-windows:hover {
    border-color: transparent;
    background: #24a2d6;
    color: #fff; }
  .btn-windows:focus, .btn-windows.focus {
    box-shadow: 0 0 0 2px rgba(38, 170, 225, 0.4); }
  .btn-windows.disabled, .btn-windows:disabled {
    border-color: transparent !important;
    background: #26AAE1 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-windows .badge {
  background: #fff;
  color: #26AAE1; }

.btn-windows:active,
.btn-windows.active,
.show > .btn-windows.dropdown-toggle {
  border-color: transparent;
  background: #2194c4;
  box-shadow: none; }

.btn-group .btn-windows,
.input-group-prepend .btn-windows,
.input-group-append .btn-windows {
  border-right: 1px solid #2194c4;
  border-left: 1px solid #2194c4; }

.btn-outline-windows {
  border-color: #26AAE1;
  background: transparent;
  color: #26AAE1; }
  .btn-outline-windows:hover {
    border-color: transparent;
    background: #26AAE1;
    color: #fff; }
  .btn-outline-windows:focus, .btn-outline-windows.focus {
    box-shadow: 0 0 0 2px rgba(38, 170, 225, 0.4); }
  .btn-outline-windows.disabled, .btn-outline-windows:disabled {
    border-color: #26AAE1 !important;
    background: transparent !important;
    color: #26AAE1 !important; }

.btn-outline-windows:active,
.btn-outline-windows.active,
.show > .btn-outline-windows.dropdown-toggle {
  border-color: transparent;
  background: #24a2d6;
  color: #fff;
  box-shadow: none; }

.btn-outline-windows .badge {
  background: #26AAE1;
  border-color: #26AAE1;
  color: #fff; }

.btn-outline-windows:hover .badge,
.btn-outline-windows:focus .badge,
.btn-outline-windows:active .badge,
.btn-outline-windows.active .badge,
.show > .btn-outline-windows.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #26AAE1; }

.text-macos {
  color: #343434 !important; }

a.text-macos:hover, a.text-macos:focus {
  color: #0e0e0e !important; }

.bg-macos {
  background-color: #343434 !important; }

a.bg-macos:hover, a.bg-macos:focus {
  background-color: #313131 !important; }

.bg-macos-dark {
  background-color: #2f2f2f !important; }

a.bg-macos-dark:hover, a.bg-macos-dark:focus {
  background-color: #2d2d2d !important; }

.bg-macos-darker {
  background-color: #2c2c2c !important; }

a.bg-macos-darker:hover, a.bg-macos-darker:focus {
  background-color: #2a2a2a !important; }

.btn-macos {
  border-color: transparent;
  background: #343434;
  color: #fff; }
  .btn-macos:hover {
    border-color: transparent;
    background: #313131;
    color: #fff; }
  .btn-macos:focus, .btn-macos.focus {
    box-shadow: 0 0 0 2px rgba(52, 52, 52, 0.4); }
  .btn-macos.disabled, .btn-macos:disabled {
    border-color: transparent !important;
    background: #343434 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-macos .badge {
  background: #fff;
  color: #343434; }

.btn-macos:active,
.btn-macos.active,
.show > .btn-macos.dropdown-toggle {
  border-color: transparent;
  background: #2d2d2d;
  box-shadow: none; }

.btn-group .btn-macos,
.input-group-prepend .btn-macos,
.input-group-append .btn-macos {
  border-right: 1px solid #2d2d2d;
  border-left: 1px solid #2d2d2d; }

.btn-outline-macos {
  border-color: #343434;
  background: transparent;
  color: #343434; }
  .btn-outline-macos:hover {
    border-color: transparent;
    background: #343434;
    color: #fff; }
  .btn-outline-macos:focus, .btn-outline-macos.focus {
    box-shadow: 0 0 0 2px rgba(52, 52, 52, 0.4); }
  .btn-outline-macos.disabled, .btn-outline-macos:disabled {
    border-color: #343434 !important;
    background: transparent !important;
    color: #343434 !important; }

.btn-outline-macos:active,
.btn-outline-macos.active,
.show > .btn-outline-macos.dropdown-toggle {
  border-color: transparent;
  background: #313131;
  color: #fff;
  box-shadow: none; }

.btn-outline-macos .badge {
  background: #343434;
  border-color: #343434;
  color: #fff; }

.btn-outline-macos:hover .badge,
.btn-outline-macos:focus .badge,
.btn-outline-macos:active .badge,
.btn-outline-macos.active .badge,
.show > .btn-outline-macos.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #343434; }

.text-linux {
  color: #800080 !important; }

a.text-linux:hover, a.text-linux:focus {
  color: #340034 !important; }

.bg-linux {
  background-color: #800080 !important; }

a.bg-linux:hover, a.bg-linux:focus {
  background-color: #7a007a !important; }

.bg-linux-dark {
  background-color: #730073 !important; }

a.bg-linux-dark:hover, a.bg-linux-dark:focus {
  background-color: #6d006d !important; }

.bg-linux-darker {
  background-color: #6d006d !important; }

a.bg-linux-darker:hover, a.bg-linux-darker:focus {
  background-color: #680068 !important; }

.btn-linux {
  border-color: transparent;
  background: #800080;
  color: #fff; }
  .btn-linux:hover {
    border-color: transparent;
    background: #7a007a;
    color: #fff; }
  .btn-linux:focus, .btn-linux.focus {
    box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.4); }
  .btn-linux.disabled, .btn-linux:disabled {
    border-color: transparent !important;
    background: #800080 !important;
    box-shadow: none !important;
    color: #fff !important; }

.btn-linux .badge {
  background: #fff;
  color: #800080; }

.btn-linux:active,
.btn-linux.active,
.show > .btn-linux.dropdown-toggle {
  border-color: transparent;
  background: #6f006f;
  box-shadow: none; }

.btn-group .btn-linux,
.input-group-prepend .btn-linux,
.input-group-append .btn-linux {
  border-right: 1px solid #6f006f;
  border-left: 1px solid #6f006f; }

.btn-outline-linux {
  border-color: #800080;
  background: transparent;
  color: #800080; }
  .btn-outline-linux:hover {
    border-color: transparent;
    background: #800080;
    color: #fff; }
  .btn-outline-linux:focus, .btn-outline-linux.focus {
    box-shadow: 0 0 0 2px rgba(128, 0, 128, 0.4); }
  .btn-outline-linux.disabled, .btn-outline-linux:disabled {
    border-color: #800080 !important;
    background: transparent !important;
    color: #800080 !important; }

.btn-outline-linux:active,
.btn-outline-linux.active,
.show > .btn-outline-linux.dropdown-toggle {
  border-color: transparent;
  background: #7a007a;
  color: #fff;
  box-shadow: none; }

.btn-outline-linux .badge {
  background: #800080;
  border-color: #800080;
  color: #fff; }

.btn-outline-linux:hover .badge,
.btn-outline-linux:focus .badge,
.btn-outline-linux:active .badge,
.btn-outline-linux.active .badge,
.show > .btn-outline-linux.dropdown-toggle .badge {
  background: #fff;
  border-color: #fff;
  color: #800080; }

.btn-white {
  border-color: transparent;
  background: #fff;
  color: #4E5155; }
  .btn-white:hover {
    border-color: transparent;
    background: #f2f2f2;
    color: #4E5155; }
  .btn-white:focus, .btn-white.focus {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }
  .btn-white.disabled, .btn-white:disabled {
    border-color: transparent !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #4E5155 !important; }

.btn-white .badge {
  background: #4E5155;
  color: #fff; }

.btn-white:active,
.btn-white.active,
.show > .btn-white.dropdown-toggle {
  border-color: transparent;
  background: #dedede;
  box-shadow: none; }

.btn-group .btn-white,
.input-group-prepend .btn-white,
.input-group-append .btn-white {
  border-right: 1px solid #dedede;
  border-left: 1px solid #dedede; }

.btn-outline-white {
  border-color: #fff;
  background: transparent;
  color: #fff; }
  .btn-outline-white:hover {
    border-color: transparent;
    background: #fff;
    color: #4E5155; }
  .btn-outline-white:focus, .btn-outline-white.focus {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }
  .btn-outline-white.disabled, .btn-outline-white:disabled {
    border-color: #fff !important;
    background: transparent !important;
    color: #fff !important; }

.btn-outline-white:active,
.btn-outline-white.active,
.show > .btn-outline-white.dropdown-toggle {
  border-color: transparent;
  background: #f2f2f2;
  color: #4E5155;
  box-shadow: none; }

.btn-outline-white .badge {
  background: #fff;
  border-color: #fff;
  color: #fff; }

.btn-outline-white:hover .badge,
.btn-outline-white:focus .badge,
.btn-outline-white:active .badge,
.btn-outline-white.active .badge,
.show > .btn-outline-white.dropdown-toggle .badge {
  background: #4E5155;
  border-color: #4E5155;
  color: #fff; }

.custom-control.custom-control-black .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-black .custom-control-input:active ~ .custom-control-label::before {
  background-color: #000; }

.custom-control.custom-control-black .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-black .custom-control-input:active ~ .custom-control-label::before {
  border-color: #000; }

.custom-control.custom-control-black .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4); }

.custom-control.custom-control-black.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-black.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-black.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #000;
  background-color: #000; }

.custom-control.custom-control-black.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-black.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-black.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.custom-control.custom-control-white .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-white .custom-control-input:active ~ .custom-control-label::before {
  background-color: #fff; }

.custom-control.custom-control-white .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-white .custom-control-input:active ~ .custom-control-label::before {
  border-color: #fff; }

.custom-control.custom-control-white .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }

.custom-control.custom-control-white.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-white.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-white.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #fff;
  background-color: #fff; }

.custom-control.custom-control-white.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23666666' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-white.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23666666;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-white.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23666666'/%3E%3C/svg%3E"); }

.custom-control.custom-control-silver .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-silver .custom-control-input:active ~ .custom-control-label::before {
  background-color: #eee; }

.custom-control.custom-control-silver .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-silver .custom-control-input:active ~ .custom-control-label::before {
  border-color: #eee; }

.custom-control.custom-control-silver .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(238, 238, 238, 0.4); }

.custom-control.custom-control-silver.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-silver.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-silver.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #eee;
  background-color: #eee; }

.custom-control.custom-control-silver.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%235f5f5f' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-silver.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%235f5f5f;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-silver.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%235f5f5f'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gray .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-gray .custom-control-input:active ~ .custom-control-label::before {
  background-color: #777; }

.custom-control.custom-control-gray .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-gray .custom-control-input:active ~ .custom-control-label::before {
  border-color: #777; }

.custom-control.custom-control-gray .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(119, 119, 119, 0.4); }

.custom-control.custom-control-gray.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-gray.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-gray.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #777;
  background-color: #777; }

.custom-control.custom-control-gray.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gray.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gray.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gold .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-gold .custom-control-input:active ~ .custom-control-label::before {
  background-color: #ffeb3b; }

.custom-control.custom-control-gold .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-gold .custom-control-input:active ~ .custom-control-label::before {
  border-color: #ffeb3b; }

.custom-control.custom-control-gold .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(255, 235, 59, 0.4); }

.custom-control.custom-control-gold.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-gold.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-gold.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #ffeb3b;
  background-color: #ffeb3b; }

.custom-control.custom-control-gold.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23665e18' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gold.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23665e18;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-gold.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23665e18'/%3E%3C/svg%3E"); }

.custom-control.custom-control-pink .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-pink .custom-control-input:active ~ .custom-control-label::before {
  background-color: #e91e63; }

.custom-control.custom-control-pink .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-pink .custom-control-input:active ~ .custom-control-label::before {
  border-color: #e91e63; }

.custom-control.custom-control-pink .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.4); }

.custom-control.custom-control-pink.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-pink.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-pink.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #e91e63;
  background-color: #e91e63; }

.custom-control.custom-control-pink.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-pink.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-pink.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.custom-control.custom-control-red .custom-control-input ~ .custom-control-label::before,
.custom-control.custom-control-red .custom-control-input:active ~ .custom-control-label::before {
  background-color: #f44336; }

.custom-control.custom-control-red .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-control-red .custom-control-input:active ~ .custom-control-label::before {
  border-color: #f44336; }

.custom-control.custom-control-red .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px rgba(244, 67, 54, 0.4); }

.custom-control.custom-control-red.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-control-red.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-control-red.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #f44336;
  background-color: #f44336; }

.custom-control.custom-control-red.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-control-red.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-control-red.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.navbar.bg-secondary {
  background-color: #8897AA !important;
  color: #ebeef1; }
  .navbar.bg-secondary .navbar-brand {
    color: #fff; }
    .navbar.bg-secondary .navbar-brand:hover, .navbar.bg-secondary .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-secondary .navbar-nav .nav-link {
    color: #ebeef1; }
    .navbar.bg-secondary .navbar-nav .nav-link:hover, .navbar.bg-secondary .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-secondary .navbar-nav .nav-link.disabled {
      color: #c3cbd5 !important; }
  .navbar.bg-secondary .navbar-nav .show > .nav-link,
  .navbar.bg-secondary .navbar-nav .active > .nav-link,
  .navbar.bg-secondary .navbar-nav .nav-link.show,
  .navbar.bg-secondary .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-secondary .navbar-toggler {
    color: #ebeef1;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-secondary .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-secondary .navbar-text {
    color: #ebeef1; }
    .navbar.bg-secondary .navbar-text a {
      color: #fff; }
      .navbar.bg-secondary .navbar-text a:hover, .navbar.bg-secondary .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-secondary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-success {
  background-color: #02BC77 !important;
  color: #cbf1e3; }
  .navbar.bg-success .navbar-brand {
    color: #fff; }
    .navbar.bg-success .navbar-brand:hover, .navbar.bg-success .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-success .navbar-nav .nav-link {
    color: #cbf1e3; }
    .navbar.bg-success .navbar-nav .nav-link:hover, .navbar.bg-success .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-success .navbar-nav .nav-link.disabled {
      color: #7bdcb8 !important; }
  .navbar.bg-success .navbar-nav .show > .nav-link,
  .navbar.bg-success .navbar-nav .active > .nav-link,
  .navbar.bg-success .navbar-nav .nav-link.show,
  .navbar.bg-success .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-success .navbar-toggler {
    color: #cbf1e3;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-success .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-success .navbar-text {
    color: #cbf1e3; }
    .navbar.bg-success .navbar-text a {
      color: #fff; }
      .navbar.bg-success .navbar-text a:hover, .navbar.bg-success .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-success hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-info {
  background-color: #28c3d7 !important;
  color: #dcf5f8; }
  .navbar.bg-info .navbar-brand {
    color: #fff; }
    .navbar.bg-info .navbar-brand:hover, .navbar.bg-info .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-info .navbar-nav .nav-link {
    color: #dcf5f8; }
    .navbar.bg-info .navbar-nav .nav-link:hover, .navbar.bg-info .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-info .navbar-nav .nav-link.disabled {
      color: #94e1eb !important; }
  .navbar.bg-info .navbar-nav .show > .nav-link,
  .navbar.bg-info .navbar-nav .active > .nav-link,
  .navbar.bg-info .navbar-nav .nav-link.show,
  .navbar.bg-info .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-info .navbar-toggler {
    color: #dcf5f8;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-info .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-info .navbar-text {
    color: #dcf5f8; }
    .navbar.bg-info .navbar-text a {
      color: #fff; }
      .navbar.bg-info .navbar-text a:hover, .navbar.bg-info .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-info hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-warning {
  background-color: #FFD950 !important;
  color: #998230; }
  .navbar.bg-warning .navbar-brand {
    color: #665720; }
    .navbar.bg-warning .navbar-brand:hover, .navbar.bg-warning .navbar-brand:focus {
      color: #665720; }
  .navbar.bg-warning .navbar-nav .nav-link {
    color: #998230; }
    .navbar.bg-warning .navbar-nav .nav-link:hover, .navbar.bg-warning .navbar-nav .nav-link:focus {
      color: #665720; }
    .navbar.bg-warning .navbar-nav .nav-link.disabled {
      color: #c2a53d !important; }
  .navbar.bg-warning .navbar-nav .show > .nav-link,
  .navbar.bg-warning .navbar-nav .active > .nav-link,
  .navbar.bg-warning .navbar-nav .nav-link.show,
  .navbar.bg-warning .navbar-nav .nav-link.active {
    color: #665720; }
  .navbar.bg-warning .navbar-toggler {
    color: #998230;
    border-color: rgba(102, 87, 32, 0.0832855); }
  .navbar.bg-warning .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-warning .navbar-text {
    color: #998230; }
    .navbar.bg-warning .navbar-text a {
      color: #665720; }
      .navbar.bg-warning .navbar-text a:hover, .navbar.bg-warning .navbar-text a:focus {
        color: #665720; }
  .navbar.bg-warning hr {
    border-color: rgba(102, 87, 32, 0.0832855); }

.navbar.bg-danger {
  background-color: #d9534f !important;
  color: #f7dbda; }
  .navbar.bg-danger .navbar-brand {
    color: #fff; }
    .navbar.bg-danger .navbar-brand:hover, .navbar.bg-danger .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-danger .navbar-nav .nav-link {
    color: #f7dbda; }
    .navbar.bg-danger .navbar-nav .nav-link:hover, .navbar.bg-danger .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-danger .navbar-nav .nav-link.disabled {
      color: #eba5a2 !important; }
  .navbar.bg-danger .navbar-nav .show > .nav-link,
  .navbar.bg-danger .navbar-nav .active > .nav-link,
  .navbar.bg-danger .navbar-nav .nav-link.show,
  .navbar.bg-danger .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-danger .navbar-toggler {
    color: #f7dbda;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-danger .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-danger .navbar-text {
    color: #f7dbda; }
    .navbar.bg-danger .navbar-text a {
      color: #fff; }
      .navbar.bg-danger .navbar-text a:hover, .navbar.bg-danger .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-danger hr {
    border-color: rgba(255, 255, 255, 0.15); }

.navbar.bg-dark {
  background-color: #2f3337 !important;
  color: #9d9fa1; }
  .navbar.bg-dark .navbar-brand {
    color: #fff; }
    .navbar.bg-dark .navbar-brand:hover, .navbar.bg-dark .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-dark .navbar-nav .nav-link {
    color: #9d9fa1; }
    .navbar.bg-dark .navbar-nav .nav-link:hover, .navbar.bg-dark .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-dark .navbar-nav .nav-link.disabled {
      color: #717477 !important; }
  .navbar.bg-dark .navbar-nav .show > .nav-link,
  .navbar.bg-dark .navbar-nav .active > .nav-link,
  .navbar.bg-dark .navbar-nav .nav-link.show,
  .navbar.bg-dark .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-dark .navbar-toggler {
    color: #9d9fa1;
    border-color: rgba(255, 255, 255, 0.06); }
  .navbar.bg-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-dark .navbar-text {
    color: #9d9fa1; }
    .navbar.bg-dark .navbar-text a {
      color: #fff; }
      .navbar.bg-dark .navbar-text a:hover, .navbar.bg-dark .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-dark hr {
    border-color: rgba(255, 255, 255, 0.06); }

.navbar.bg-white {
  background-color: #fff !important;
  color: #a3a4a6; }
  .navbar.bg-white .navbar-brand {
    color: #4E5155; }
    .navbar.bg-white .navbar-brand:hover, .navbar.bg-white .navbar-brand:focus {
      color: #4E5155; }
  .navbar.bg-white .navbar-nav .nav-link {
    color: #a3a4a6; }
    .navbar.bg-white .navbar-nav .nav-link:hover, .navbar.bg-white .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .navbar.bg-white .navbar-nav .nav-link.disabled {
      color: #c8c8ca !important; }
  .navbar.bg-white .navbar-nav .show > .nav-link,
  .navbar.bg-white .navbar-nav .active > .nav-link,
  .navbar.bg-white .navbar-nav .nav-link.show,
  .navbar.bg-white .navbar-nav .nav-link.active {
    color: #4E5155; }
  .navbar.bg-white .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.075); }
  .navbar.bg-white .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-white .navbar-text {
    color: #a3a4a6; }
    .navbar.bg-white .navbar-text a {
      color: #4E5155; }
      .navbar.bg-white .navbar-text a:hover, .navbar.bg-white .navbar-text a:focus {
        color: #4E5155; }
  .navbar.bg-white hr {
    border-color: rgba(78, 81, 85, 0.075); }

.navbar.bg-light {
  background-color: #f1f1f2 !important;
  color: #a3a4a6; }
  .navbar.bg-light .navbar-brand {
    color: #4E5155; }
    .navbar.bg-light .navbar-brand:hover, .navbar.bg-light .navbar-brand:focus {
      color: #4E5155; }
  .navbar.bg-light .navbar-nav .nav-link {
    color: #a3a4a6; }
    .navbar.bg-light .navbar-nav .nav-link:hover, .navbar.bg-light .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .navbar.bg-light .navbar-nav .nav-link.disabled {
      color: #c2c3c4 !important; }
  .navbar.bg-light .navbar-nav .show > .nav-link,
  .navbar.bg-light .navbar-nav .active > .nav-link,
  .navbar.bg-light .navbar-nav .nav-link.show,
  .navbar.bg-light .navbar-nav .nav-link.active {
    color: #4E5155; }
  .navbar.bg-light .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.0777227); }
  .navbar.bg-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-light .navbar-text {
    color: #a3a4a6; }
    .navbar.bg-light .navbar-text a {
      color: #4E5155; }
      .navbar.bg-light .navbar-text a:hover, .navbar.bg-light .navbar-text a:focus {
        color: #4E5155; }
  .navbar.bg-light hr {
    border-color: rgba(78, 81, 85, 0.0777227); }

.navbar.bg-lighter {
  background-color: #f8f8f8 !important;
  color: #a3a4a6; }
  .navbar.bg-lighter .navbar-brand {
    color: #4E5155; }
    .navbar.bg-lighter .navbar-brand:hover, .navbar.bg-lighter .navbar-brand:focus {
      color: #4E5155; }
  .navbar.bg-lighter .navbar-nav .nav-link {
    color: #a3a4a6; }
    .navbar.bg-lighter .navbar-nav .nav-link:hover, .navbar.bg-lighter .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .navbar.bg-lighter .navbar-nav .nav-link.disabled {
      color: #c5c6c7 !important; }
  .navbar.bg-lighter .navbar-nav .show > .nav-link,
  .navbar.bg-lighter .navbar-nav .active > .nav-link,
  .navbar.bg-lighter .navbar-nav .nav-link.show,
  .navbar.bg-lighter .navbar-nav .nav-link.active {
    color: #4E5155; }
  .navbar.bg-lighter .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.0763725); }
  .navbar.bg-lighter .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.bg-lighter .navbar-text {
    color: #a3a4a6; }
    .navbar.bg-lighter .navbar-text a {
      color: #4E5155; }
      .navbar.bg-lighter .navbar-text a:hover, .navbar.bg-lighter .navbar-text a:focus {
        color: #4E5155; }
  .navbar.bg-lighter hr {
    border-color: rgba(78, 81, 85, 0.0763725); }

.sidenav.bg-secondary {
  background-color: #8897AA !important;
  color: #ebeef1; }
  .sidenav.bg-secondary .sidenav-link,
  .sidenav.bg-secondary .sidenav-horizontal-prev,
  .sidenav.bg-secondary .sidenav-horizontal-next {
    color: #ebeef1; }
    .sidenav.bg-secondary .sidenav-link:hover, .sidenav.bg-secondary .sidenav-link:focus,
    .sidenav.bg-secondary .sidenav-horizontal-prev:hover,
    .sidenav.bg-secondary .sidenav-horizontal-prev:focus,
    .sidenav.bg-secondary .sidenav-horizontal-next:hover,
    .sidenav.bg-secondary .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-secondary .sidenav-link.active,
    .sidenav.bg-secondary .sidenav-horizontal-prev.active,
    .sidenav.bg-secondary .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-secondary .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-secondary .sidenav-horizontal-prev.disabled,
  .sidenav.bg-secondary .sidenav-horizontal-next.disabled {
    color: #c3cbd5 !important; }
  .sidenav.bg-secondary .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-secondary .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-secondary .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #818fa2; }
  .sidenav.bg-secondary.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #7b889a; }
  .sidenav.bg-secondary.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-secondary.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #818fa2; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #ebeef1; }
  .sidenav.bg-secondary .sidenav-text {
    color: #fff; }
  .sidenav.bg-secondary .sidenav-header {
    color: #d2d8df; }
  .sidenav.bg-secondary hr,
  .sidenav.bg-secondary .sidenav-divider,
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-secondary .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #94a0b0; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-secondary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #818fa2; }
  .sidenav.bg-secondary .ps__thumb-y,
  .sidenav.bg-secondary .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.633225) !important; }

.sidenav.bg-success {
  background-color: #02BC77 !important;
  color: #cbf1e3; }
  .sidenav.bg-success .sidenav-link,
  .sidenav.bg-success .sidenav-horizontal-prev,
  .sidenav.bg-success .sidenav-horizontal-next {
    color: #cbf1e3; }
    .sidenav.bg-success .sidenav-link:hover, .sidenav.bg-success .sidenav-link:focus,
    .sidenav.bg-success .sidenav-horizontal-prev:hover,
    .sidenav.bg-success .sidenav-horizontal-prev:focus,
    .sidenav.bg-success .sidenav-horizontal-next:hover,
    .sidenav.bg-success .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-success .sidenav-link.active,
    .sidenav.bg-success .sidenav-horizontal-prev.active,
    .sidenav.bg-success .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-success .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-success .sidenav-horizontal-prev.disabled,
  .sidenav.bg-success .sidenav-horizontal-next.disabled {
    color: #7bdcb8 !important; }
  .sidenav.bg-success .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-success .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-success .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #02b371; }
  .sidenav.bg-success.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #02aa6b; }
  .sidenav.bg-success.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-success.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #02b371; }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-success .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #cbf1e3; }
  .sidenav.bg-success .sidenav-text {
    color: #fff; }
  .sidenav.bg-success .sidenav-header {
    color: #99e4c8; }
  .sidenav.bg-success hr,
  .sidenav.bg-success .sidenav-divider,
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-success .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-success .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #28be86; }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-success .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #02b371; }
  .sidenav.bg-success .ps__thumb-y,
  .sidenav.bg-success .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.595325) !important; }

.sidenav.bg-info {
  background-color: #28c3d7 !important;
  color: #dcf5f8; }
  .sidenav.bg-info .sidenav-link,
  .sidenav.bg-info .sidenav-horizontal-prev,
  .sidenav.bg-info .sidenav-horizontal-next {
    color: #dcf5f8; }
    .sidenav.bg-info .sidenav-link:hover, .sidenav.bg-info .sidenav-link:focus,
    .sidenav.bg-info .sidenav-horizontal-prev:hover,
    .sidenav.bg-info .sidenav-horizontal-prev:focus,
    .sidenav.bg-info .sidenav-horizontal-next:hover,
    .sidenav.bg-info .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-info .sidenav-link.active,
    .sidenav.bg-info .sidenav-horizontal-prev.active,
    .sidenav.bg-info .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-info .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-info .sidenav-horizontal-prev.disabled,
  .sidenav.bg-info .sidenav-horizontal-next.disabled {
    color: #94e1eb !important; }
  .sidenav.bg-info .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-info .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-info .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #26b9cc; }
  .sidenav.bg-info.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #24b0c2; }
  .sidenav.bg-info.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-info.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #26b9cc; }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-info .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #dcf5f8; }
  .sidenav.bg-info .sidenav-text {
    color: #fff; }
  .sidenav.bg-info .sidenav-header {
    color: #afe9f0; }
  .sidenav.bg-info hr,
  .sidenav.bg-info .sidenav-divider,
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-info .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-info .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #47c4d4; }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-info .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #26b9cc; }
  .sidenav.bg-info .ps__thumb-y,
  .sidenav.bg-info .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.636761) !important; }

.sidenav.bg-warning {
  background-color: #FFD950 !important;
  color: #998230; }
  .sidenav.bg-warning .sidenav-link,
  .sidenav.bg-warning .sidenav-horizontal-prev,
  .sidenav.bg-warning .sidenav-horizontal-next {
    color: #998230; }
    .sidenav.bg-warning .sidenav-link:hover, .sidenav.bg-warning .sidenav-link:focus,
    .sidenav.bg-warning .sidenav-horizontal-prev:hover,
    .sidenav.bg-warning .sidenav-horizontal-prev:focus,
    .sidenav.bg-warning .sidenav-horizontal-next:hover,
    .sidenav.bg-warning .sidenav-horizontal-next:focus {
      color: #665720; }
    .sidenav.bg-warning .sidenav-link.active,
    .sidenav.bg-warning .sidenav-horizontal-prev.active,
    .sidenav.bg-warning .sidenav-horizontal-next.active {
      color: #665720; }
  .sidenav.bg-warning .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-warning .sidenav-horizontal-prev.disabled,
  .sidenav.bg-warning .sidenav-horizontal-next.disabled {
    color: #c2a53d !important; }
  .sidenav.bg-warning .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-warning .sidenav-item.active > .sidenav-link {
    color: #665720; }
  .sidenav.bg-warning .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f9d44e; }
  .sidenav.bg-warning.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f3cf4c; }
  .sidenav.bg-warning.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-warning.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #f9d44e; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #998230; }
  .sidenav.bg-warning .sidenav-text {
    color: #665720; }
  .sidenav.bg-warning .sidenav-header {
    color: #b39838; }
  .sidenav.bg-warning hr,
  .sidenav.bg-warning .sidenav-divider,
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(102, 87, 32, 0.0832855) !important; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-warning .sidenav-block::before {
    background-color: rgba(102, 87, 32, 0.0832855); }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #edca4a; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #665720; }
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-warning .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #f9d44e; }
  .sidenav.bg-warning .ps__thumb-y,
  .sidenav.bg-warning .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(102, 87, 32, 0.266284) !important; }

.sidenav.bg-danger {
  background-color: #d9534f !important;
  color: #f7dbda; }
  .sidenav.bg-danger .sidenav-link,
  .sidenav.bg-danger .sidenav-horizontal-prev,
  .sidenav.bg-danger .sidenav-horizontal-next {
    color: #f7dbda; }
    .sidenav.bg-danger .sidenav-link:hover, .sidenav.bg-danger .sidenav-link:focus,
    .sidenav.bg-danger .sidenav-horizontal-prev:hover,
    .sidenav.bg-danger .sidenav-horizontal-prev:focus,
    .sidenav.bg-danger .sidenav-horizontal-next:hover,
    .sidenav.bg-danger .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-danger .sidenav-link.active,
    .sidenav.bg-danger .sidenav-horizontal-prev.active,
    .sidenav.bg-danger .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-danger .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-danger .sidenav-horizontal-prev.disabled,
  .sidenav.bg-danger .sidenav-horizontal-next.disabled {
    color: #eba5a2 !important; }
  .sidenav.bg-danger .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-danger .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-danger .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #ce4f4b; }
  .sidenav.bg-danger.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #c44b47; }
  .sidenav.bg-danger.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-danger.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #ce4f4b; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #f7dbda; }
  .sidenav.bg-danger .sidenav-text {
    color: #fff; }
  .sidenav.bg-danger .sidenav-header {
    color: #f0b9b7; }
  .sidenav.bg-danger hr,
  .sidenav.bg-danger .sidenav-divider,
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-danger .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #d56966; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-danger .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #ce4f4b; }
  .sidenav.bg-danger .ps__thumb-y,
  .sidenav.bg-danger .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.592329) !important; }

.sidenav.bg-dark {
  background-color: #2f3337 !important;
  color: #9d9fa1; }
  .sidenav.bg-dark .sidenav-link,
  .sidenav.bg-dark .sidenav-horizontal-prev,
  .sidenav.bg-dark .sidenav-horizontal-next {
    color: #9d9fa1; }
    .sidenav.bg-dark .sidenav-link:hover, .sidenav.bg-dark .sidenav-link:focus,
    .sidenav.bg-dark .sidenav-horizontal-prev:hover,
    .sidenav.bg-dark .sidenav-horizontal-prev:focus,
    .sidenav.bg-dark .sidenav-horizontal-next:hover,
    .sidenav.bg-dark .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-dark .sidenav-link.active,
    .sidenav.bg-dark .sidenav-horizontal-prev.active,
    .sidenav.bg-dark .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-dark .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-dark .sidenav-horizontal-prev.disabled,
  .sidenav.bg-dark .sidenav-horizontal-next.disabled {
    color: #717477 !important; }
  .sidenav.bg-dark .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-dark .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-dark .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #393d41; }
  .sidenav.bg-dark.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #43474b; }
  .sidenav.bg-dark.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-dark.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #393d41; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #9d9fa1; }
  .sidenav.bg-dark .sidenav-text {
    color: #fff; }
  .sidenav.bg-dark .sidenav-header {
    color: #828487; }
  .sidenav.bg-dark hr,
  .sidenav.bg-dark .sidenav-divider,
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.06) !important; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-dark .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.06); }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #45494c; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-dark .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #393d41; }
  .sidenav.bg-dark .ps__thumb-y,
  .sidenav.bg-dark .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.478839) !important; }

.sidenav.bg-white {
  background-color: #fff !important;
  color: #a3a4a6; }
  .sidenav.bg-white .sidenav-link,
  .sidenav.bg-white .sidenav-horizontal-prev,
  .sidenav.bg-white .sidenav-horizontal-next {
    color: #a3a4a6; }
    .sidenav.bg-white .sidenav-link:hover, .sidenav.bg-white .sidenav-link:focus,
    .sidenav.bg-white .sidenav-horizontal-prev:hover,
    .sidenav.bg-white .sidenav-horizontal-prev:focus,
    .sidenav.bg-white .sidenav-horizontal-next:hover,
    .sidenav.bg-white .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav.bg-white .sidenav-link.active,
    .sidenav.bg-white .sidenav-horizontal-prev.active,
    .sidenav.bg-white .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav.bg-white .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-white .sidenav-horizontal-prev.disabled,
  .sidenav.bg-white .sidenav-horizontal-next.disabled {
    color: #c8c8ca !important; }
  .sidenav.bg-white .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-white .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav.bg-white .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #fff; }
  .sidenav.bg-white.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f9f9f9; }
  .sidenav.bg-white.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-white.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #fff; }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-white .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #a3a4a6; }
  .sidenav.bg-white .sidenav-text {
    color: #4E5155; }
  .sidenav.bg-white .sidenav-header {
    color: #babbbc; }
  .sidenav.bg-white hr,
  .sidenav.bg-white .sidenav-divider,
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(78, 81, 85, 0.075) !important; }
  .sidenav.bg-white .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-white .sidenav-block::before {
    background-color: rgba(78, 81, 85, 0.075); }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #f2f2f2; }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-white .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #fff; }
  .sidenav.bg-white .ps__thumb-y,
  .sidenav.bg-white .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(78, 81, 85, 0.2) !important; }

.sidenav.bg-light {
  background-color: #f1f1f2 !important;
  color: #a3a4a6; }
  .sidenav.bg-light .sidenav-link,
  .sidenav.bg-light .sidenav-horizontal-prev,
  .sidenav.bg-light .sidenav-horizontal-next {
    color: #a3a4a6; }
    .sidenav.bg-light .sidenav-link:hover, .sidenav.bg-light .sidenav-link:focus,
    .sidenav.bg-light .sidenav-horizontal-prev:hover,
    .sidenav.bg-light .sidenav-horizontal-prev:focus,
    .sidenav.bg-light .sidenav-horizontal-next:hover,
    .sidenav.bg-light .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav.bg-light .sidenav-link.active,
    .sidenav.bg-light .sidenav-horizontal-prev.active,
    .sidenav.bg-light .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav.bg-light .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-light .sidenav-horizontal-prev.disabled,
  .sidenav.bg-light .sidenav-horizontal-next.disabled {
    color: #c2c3c4 !important; }
  .sidenav.bg-light .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-light .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav.bg-light .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #ebebec; }
  .sidenav.bg-light.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #e5e5e6; }
  .sidenav.bg-light.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-light.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #ebebec; }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-light .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #a3a4a6; }
  .sidenav.bg-light .sidenav-text {
    color: #4E5155; }
  .sidenav.bg-light .sidenav-header {
    color: #b7b7b9; }
  .sidenav.bg-light hr,
  .sidenav.bg-light .sidenav-divider,
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(78, 81, 85, 0.0777227) !important; }
  .sidenav.bg-light .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-light .sidenav-block::before {
    background-color: rgba(78, 81, 85, 0.0777227); }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #dfdfe0; }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-light .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #ebebec; }
  .sidenav.bg-light .ps__thumb-y,
  .sidenav.bg-light .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(78, 81, 85, 0.221782) !important; }

.sidenav.bg-lighter {
  background-color: #f8f8f8 !important;
  color: #a3a4a6; }
  .sidenav.bg-lighter .sidenav-link,
  .sidenav.bg-lighter .sidenav-horizontal-prev,
  .sidenav.bg-lighter .sidenav-horizontal-next {
    color: #a3a4a6; }
    .sidenav.bg-lighter .sidenav-link:hover, .sidenav.bg-lighter .sidenav-link:focus,
    .sidenav.bg-lighter .sidenav-horizontal-prev:hover,
    .sidenav.bg-lighter .sidenav-horizontal-prev:focus,
    .sidenav.bg-lighter .sidenav-horizontal-next:hover,
    .sidenav.bg-lighter .sidenav-horizontal-next:focus {
      color: #4E5155; }
    .sidenav.bg-lighter .sidenav-link.active,
    .sidenav.bg-lighter .sidenav-horizontal-prev.active,
    .sidenav.bg-lighter .sidenav-horizontal-next.active {
      color: #4E5155; }
  .sidenav.bg-lighter .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-lighter .sidenav-horizontal-prev.disabled,
  .sidenav.bg-lighter .sidenav-horizontal-next.disabled {
    color: #c5c6c7 !important; }
  .sidenav.bg-lighter .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-lighter .sidenav-item.active > .sidenav-link {
    color: #4E5155; }
  .sidenav.bg-lighter .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #f2f2f2; }
  .sidenav.bg-lighter.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #ececec; }
  .sidenav.bg-lighter.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-lighter.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #f2f2f2; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #a3a4a6; }
  .sidenav.bg-lighter .sidenav-text {
    color: #4E5155; }
  .sidenav.bg-lighter .sidenav-header {
    color: #b8b9bb; }
  .sidenav.bg-lighter hr,
  .sidenav.bg-lighter .sidenav-divider,
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(78, 81, 85, 0.0763725) !important; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-lighter .sidenav-block::before {
    background-color: rgba(78, 81, 85, 0.0763725); }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #e5e6e6; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #4E5155; }
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-lighter .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    box-shadow: 0 0 0 2px #f2f2f2; }
  .sidenav.bg-lighter .ps__thumb-y,
  .sidenav.bg-lighter .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(78, 81, 85, 0.21098) !important; }

.footer.bg-secondary {
  background-color: #8897AA !important;
  color: #ebeef1; }
  .footer.bg-secondary .footer-link {
    color: #ebeef1; }
    .footer.bg-secondary .footer-link:hover, .footer.bg-secondary .footer-link:focus {
      color: #fff; }
    .footer.bg-secondary .footer-link.disabled {
      color: #c3cbd5 !important; }
  .footer.bg-secondary .footer-text {
    color: #fff; }
  .footer.bg-secondary .show > .footer-link,
  .footer.bg-secondary .active > .footer-link,
  .footer.bg-secondary .footer-link.show,
  .footer.bg-secondary .footer-link.active {
    color: #fff; }
  .footer.bg-secondary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-success {
  background-color: #02BC77 !important;
  color: #cbf1e3; }
  .footer.bg-success .footer-link {
    color: #cbf1e3; }
    .footer.bg-success .footer-link:hover, .footer.bg-success .footer-link:focus {
      color: #fff; }
    .footer.bg-success .footer-link.disabled {
      color: #7bdcb8 !important; }
  .footer.bg-success .footer-text {
    color: #fff; }
  .footer.bg-success .show > .footer-link,
  .footer.bg-success .active > .footer-link,
  .footer.bg-success .footer-link.show,
  .footer.bg-success .footer-link.active {
    color: #fff; }
  .footer.bg-success hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-info {
  background-color: #28c3d7 !important;
  color: #dcf5f8; }
  .footer.bg-info .footer-link {
    color: #dcf5f8; }
    .footer.bg-info .footer-link:hover, .footer.bg-info .footer-link:focus {
      color: #fff; }
    .footer.bg-info .footer-link.disabled {
      color: #94e1eb !important; }
  .footer.bg-info .footer-text {
    color: #fff; }
  .footer.bg-info .show > .footer-link,
  .footer.bg-info .active > .footer-link,
  .footer.bg-info .footer-link.show,
  .footer.bg-info .footer-link.active {
    color: #fff; }
  .footer.bg-info hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-warning {
  background-color: #FFD950 !important;
  color: #998230; }
  .footer.bg-warning .footer-link {
    color: #998230; }
    .footer.bg-warning .footer-link:hover, .footer.bg-warning .footer-link:focus {
      color: #665720; }
    .footer.bg-warning .footer-link.disabled {
      color: #c2a53d !important; }
  .footer.bg-warning .footer-text {
    color: #665720; }
  .footer.bg-warning .show > .footer-link,
  .footer.bg-warning .active > .footer-link,
  .footer.bg-warning .footer-link.show,
  .footer.bg-warning .footer-link.active {
    color: #665720; }
  .footer.bg-warning hr {
    border-color: rgba(102, 87, 32, 0.0832855); }

.footer.bg-danger {
  background-color: #d9534f !important;
  color: #f7dbda; }
  .footer.bg-danger .footer-link {
    color: #f7dbda; }
    .footer.bg-danger .footer-link:hover, .footer.bg-danger .footer-link:focus {
      color: #fff; }
    .footer.bg-danger .footer-link.disabled {
      color: #eba5a2 !important; }
  .footer.bg-danger .footer-text {
    color: #fff; }
  .footer.bg-danger .show > .footer-link,
  .footer.bg-danger .active > .footer-link,
  .footer.bg-danger .footer-link.show,
  .footer.bg-danger .footer-link.active {
    color: #fff; }
  .footer.bg-danger hr {
    border-color: rgba(255, 255, 255, 0.15); }

.footer.bg-dark {
  background-color: #2f3337 !important;
  color: #9d9fa1; }
  .footer.bg-dark .footer-link {
    color: #9d9fa1; }
    .footer.bg-dark .footer-link:hover, .footer.bg-dark .footer-link:focus {
      color: #fff; }
    .footer.bg-dark .footer-link.disabled {
      color: #717477 !important; }
  .footer.bg-dark .footer-text {
    color: #fff; }
  .footer.bg-dark .show > .footer-link,
  .footer.bg-dark .active > .footer-link,
  .footer.bg-dark .footer-link.show,
  .footer.bg-dark .footer-link.active {
    color: #fff; }
  .footer.bg-dark hr {
    border-color: rgba(255, 255, 255, 0.06); }

.footer.bg-white {
  background-color: #fff !important;
  color: #a3a4a6; }
  .footer.bg-white .footer-link {
    color: #a3a4a6; }
    .footer.bg-white .footer-link:hover, .footer.bg-white .footer-link:focus {
      color: #4E5155; }
    .footer.bg-white .footer-link.disabled {
      color: #c8c8ca !important; }
  .footer.bg-white .footer-text {
    color: #4E5155; }
  .footer.bg-white .show > .footer-link,
  .footer.bg-white .active > .footer-link,
  .footer.bg-white .footer-link.show,
  .footer.bg-white .footer-link.active {
    color: #4E5155; }
  .footer.bg-white hr {
    border-color: rgba(78, 81, 85, 0.075); }

.footer.bg-light {
  background-color: #f1f1f2 !important;
  color: #a3a4a6; }
  .footer.bg-light .footer-link {
    color: #a3a4a6; }
    .footer.bg-light .footer-link:hover, .footer.bg-light .footer-link:focus {
      color: #4E5155; }
    .footer.bg-light .footer-link.disabled {
      color: #c2c3c4 !important; }
  .footer.bg-light .footer-text {
    color: #4E5155; }
  .footer.bg-light .show > .footer-link,
  .footer.bg-light .active > .footer-link,
  .footer.bg-light .footer-link.show,
  .footer.bg-light .footer-link.active {
    color: #4E5155; }
  .footer.bg-light hr {
    border-color: rgba(78, 81, 85, 0.0777227); }

.footer.bg-lighter {
  background-color: #f8f8f8 !important;
  color: #a3a4a6; }
  .footer.bg-lighter .footer-link {
    color: #a3a4a6; }
    .footer.bg-lighter .footer-link:hover, .footer.bg-lighter .footer-link:focus {
      color: #4E5155; }
    .footer.bg-lighter .footer-link.disabled {
      color: #c5c6c7 !important; }
  .footer.bg-lighter .footer-text {
    color: #4E5155; }
  .footer.bg-lighter .show > .footer-link,
  .footer.bg-lighter .active > .footer-link,
  .footer.bg-lighter .footer-link.show,
  .footer.bg-lighter .footer-link.active {
    color: #4E5155; }
  .footer.bg-lighter hr {
    border-color: rgba(78, 81, 85, 0.0763725); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy9ydGwvY29sb3JzLmNzcyIsInNvdXJjZXMiOlsidmVuZG9yL2Nzcy9ydGwvY29sb3JzLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19pbmNsdWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvY3NzL19jdXN0b20tdmFyaWFibGVzL19hcHB3b3JrLnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkcnRsLXN1cHBvcnQ6IHRydWU7XHJcblxyXG5AaW1wb3J0IFwiLi4vX2FwcHdvcmsvaW5jbHVkZVwiO1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEN1c3RvbSBjb2xvcnNcclxuXHJcbiRjdXN0b20tY29sb3JzOiAoXHJcbiAgdHdpdHRlcjogIzFEQTFGMixcclxuICBnb29nbGU6ICNEMTUyM0YsXHJcbiAgZmFjZWJvb2s6ICMzQjU5OTgsXHJcbiAgcGludGVyZXN0OiAjYmQxMjFjLFxyXG4gIGluc3RhZ3JhbTogIzAwMCxcclxuICBmbGlja3I6ICNmZjAwODQsXHJcbiAgbGlua2VkaW46ICMwMDc3YjUsXHJcbiAgcGVyaXNjb3BlOiAjNDBhNGM0LFxyXG4gIHR1bWJscjogIzM1NDY1YyxcclxuICB2aW1lbzogIzFhYjdhZSxcclxuICB5b3V0dWJlOiAjYjMxMjE3LFxyXG5cclxuICB3aW5kb3dzOiAjMjZBQUUxLFxyXG4gIG1hY29zOiAjMzQzNDM0LFxyXG4gIGxpbnV4OiAjODAwMDgwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5AZWFjaCAkY29sb3ItbmFtZSwgJGNvbG9yLXZhbHVlIGluICRjdXN0b20tY29sb3JzIHtcclxuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUpO1xyXG5cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCb290c3RyYXAgY29sb3JzIChVbmNvbW1lbnQgcmVxdWlyZWQgY29sb3JzKVxyXG5cclxuJGJvb3RzdHJhcC1jb2xvcnM6IChcclxuICAvLyBibHVlOiAkYmx1ZSxcclxuICAvLyBpbmRpZ286ICRpbmRpZ28sXHJcbiAgLy8gcHVycGxlOiAkcHVycGxlLFxyXG4gIC8vIHBpbms6ICRwaW5rLFxyXG4gIC8vIG9yYW5nZTogJG9yYW5nZSxcclxuICAvLyB0ZWFsOiAkdGVhbFxyXG4pICFkZWZhdWx0O1xyXG5cclxuQGVhY2ggJGNvbG9yLW5hbWUsICRjb2xvci12YWx1ZSBpbiAkYm9vdHN0cmFwLWNvbG9ycyB7XHJcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XHJcbiAgQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxuICAuYm9yZGVyLSN7JGNvbG9yLW5hbWV9IHsgYm9yZGVyLWNvbG9yOiAkY29sb3ItdmFsdWUgIWltcG9ydGFudDsgfVxyXG5cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi12YXJpYW50KCcuYnRuLXdoaXRlJywgI2ZmZiwgJGJvZHktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJy5idG4tb3V0bGluZS13aGl0ZScsICNmZmYsICRib2R5LWNvbG9yKTtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDdXN0b20gY29udHJvbHNcclxuXHJcbiRjdXN0b20tY29udHJvbC1jb2xvcnM6IChcclxuICBibGFjazogIzAwMCxcclxuICB3aGl0ZTogI2ZmZixcclxuICBzaWx2ZXI6ICNlZWUsXHJcbiAgZ3JheTogIzc3NyxcclxuICBnb2xkOiAjZmZlYjNiLFxyXG4gIHBpbms6ICNlOTFlNjMsXHJcbiAgcmVkOiAjZjQ0MzM2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5AZWFjaCAkY29sb3ItbmFtZSwgJGNvbG9yLXZhbHVlIGluICRjdXN0b20tY29udHJvbC1jb2xvcnMge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jb250cm9sLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3ItdmFsdWUpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2YmFyXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbkBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctd2hpdGUnLCAgICNmZmYsICAgICAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLWxpZ2h0JywgICAkZ3JheS0xMDAsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy1saWdodGVyJywgJGdyYXktNTAsICAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU2lkZW5hdlxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xyXG4gICAgQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbkBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy13aGl0ZScsICNmZmYsICAgICAgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yLCAkbWVudS1iZzogI2ZmZik7XHJcbkBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1saWdodCcsICRncmF5LTEwMCwgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLWxpZ2h0ZXInLCAkZ3JheS01MCwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvb3RlclxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgQGlmICRjb2xvciAhPSBwcmltYXJ5IGFuZCAkY29sb3IgIT0gbGlnaHQge1xyXG4gICAgQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy0jeyRjb2xvcn0nLCAkdmFsdWUpO1xyXG4gIH1cclxufVxyXG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLXdoaXRlJywgICAjZmZmLCAgICAgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy1saWdodCcsICAgJGdyYXktMTAwLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctbGlnaHRlcicsICRncmF5LTUwLCAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG4iLCJAaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJztcclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnLi4vX2N1c3RvbS12YXJpYWJsZXMvYXBwd29yayc7XHJcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMnO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBGdW5jdGlvbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBNYXRoXHJcblxyXG4kcGk6IDMuMTQxNTkyNjUzNTk7XHJcbiRfcHJlY2lzaW9uOiAxMDtcclxuXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwID4gMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGV4cCA8IDF7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XHJcbiAgJHgwOiAxO1xyXG4gICR4MTogJHgwO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcclxuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xyXG4gICAgJHgwOiAkeDE7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR4MTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xyXG4gICRmYWN0OiAxO1xyXG4gIEBpZiAkbnVtID4gMHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XHJcbiAgICAgICRmYWN0OiAkZmFjdCAqICRpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRmYWN0O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpIHtcclxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xyXG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XHJcbiAgfVxyXG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XHJcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XHJcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcclxuICAkc2luOiAkYTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHNpbjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xyXG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XHJcbiAgJGNvczogMTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGNvcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xyXG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3RzXHJcblxyXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgJHJlc3VsdDogbnVsbDtcclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xyXG4gICAgQHdhcm4gXCJFaXRoZXIgJHN0YXJ0IG9yICRlbmQgYXJlIG5vdCBhIG51bWJlciBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skc3RhcnR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkZW5kID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJHJlc3VsdDogKCk7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3RyaW5nc1xyXG5cclxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcclxuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJHBlcmNlbnQ6IGFscGhhKCRjb2xvcikgKiAxMDAlO1xyXG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xyXG5cclxuICAgIEByZXR1cm4gbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcclxuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcclxuICAgIEByZXR1cm4gJGJvZHktY29sb3I7XHJcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJHI6IHJlZCgkY29sb3IpO1xyXG4gICRnOiBncmVlbigkY29sb3IpO1xyXG4gICRiOiBibHVlKCRjb2xvcik7XHJcblxyXG4gIEByZXR1cm4gKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xyXG59XHJcblxyXG4vLyBDb2xvciBjb250cmFzdFxyXG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xyXG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xyXG5cclxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XHJcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVbml0c1xyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xyXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xyXG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAvIDE2KSAqIDFyZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0tdG8tcHgoJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFV0aWxpdGllc1xyXG5cclxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XHJcbiAgQGlmICRiYWNrZ3JvdW5kID09IHRyYW5zcGFyZW50IHtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXHJcbiAgICAgIGJvcmRlcjogICAgJGJvcmRlcixcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXHJcbiAgICApO1xyXG4gIH0gQGVsc2UgaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xyXG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4xMyksXHJcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxyXG4gICAgKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICMwMDApLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxyXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xyXG4gIEBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XHJcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAoXHJcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxyXG4gICAgYmctYWN0aXZlOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODcpLCAjZmZmKSxcclxuICApO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XHJcbiAgJGFjdGl2ZS1jb2xvcjogcmdiYS10by1oZXgoJGFjdGl2ZS1jb2xvcik7XHJcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xyXG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XHJcbiAgJHlpcS1wZXJjZW50LWludmVydGVkOiAxIC0gJHlpcS1wZXJjZW50O1xyXG5cclxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XHJcblxyXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XHJcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xyXG4gICRtdXRlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC43NSksICRiZyk7XHJcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgLy8gTWV0YWRhdGFcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxyXG4gICAgeWlxLXBlcmNlbnQ6ICR5aXEtcGVyY2VudCxcclxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBiZzogJGJnLFxyXG4gICAgY29sb3I6ICRjb2xvcixcclxuICAgIGFjdGl2ZS1jb2xvcjogJGFjdGl2ZS1jb2xvcixcclxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXHJcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxyXG4gICAgYm9yZGVyOiAkYm9yZGVyXHJcbiAgKTtcclxufVxyXG4iLCIiLCIvLyBWYXJpYWJsZXNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbiR3aGl0ZTogICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRibGFjazogICAgICAgICMxODFDMjEgIWRlZmF1bHQ7XHJcbiRncmF5LTI1OiAgICAgIHJnYmEoJGJsYWNrLCAuMDE1KSAhZGVmYXVsdDtcclxuJGdyYXktNTA6ICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XHJcbiRncmF5LTEwMDogICAgIHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xyXG4kZ3JheS0yMDA6ICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xyXG4kZ3JheS0zMDA6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xyXG4kZ3JheS00MDA6ICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xyXG4kZ3JheS01MDA6ICAgICByZ2JhKCRibGFjaywgLjQpICFkZWZhdWx0O1xyXG4kZ3JheS02MDA6ICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG4kZ3JheS03MDA6ICAgICByZ2JhKCRibGFjaywgLjYpICFkZWZhdWx0O1xyXG4kZ3JheS04MDA6ICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xyXG4kZ3JheS05MDA6ICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xyXG5cclxuJGdyYXlzOiAoXHJcbiAgXCIyNVwiOiAkZ3JheS0yNSxcclxuICBcIjUwXCI6ICRncmF5LTUwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYmx1ZTogICAgICAgICAjMWU3MGNkICFkZWZhdWx0O1xyXG4kaW5kaWdvOiAgICAgICAjNjYxMGYyICFkZWZhdWx0O1xyXG4kcHVycGxlOiAgICAgICAjNmY0MmMxICFkZWZhdWx0O1xyXG4kcGluazogICAgICAgICAjZTgzZThjICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xyXG4kb3JhbmdlOiAgICAgICAjRkVCNzQ0ICFkZWZhdWx0O1xyXG4keWVsbG93OiAgICAgICAjRkZEOTUwICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgICAgICAjMDJCQzc3ICFkZWZhdWx0O1xyXG4kdGVhbDogICAgICAgICAjMjBjOTk3ICFkZWZhdWx0O1xyXG4kY3lhbjogICAgICAgICAjMjhjM2Q3ICFkZWZhdWx0O1xyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICRpbmRpZ28sXHJcbiAgXCJzZWNvbmRhcnlcIjogIzg4OTdBQSxcclxuICBcInN1Y2Nlc3NcIjogICAkZ3JlZW4sXHJcbiAgXCJpbmZvXCI6ICAgICAgJGN5YW4sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgJHllbGxvdyxcclxuICBcImRhbmdlclwiOiAgICAkcmVkLFxyXG4gIFwiZGFya1wiOiAgICAgICRncmF5LTkwMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJvZHktY29sb3I6ICAgICAgICM0RTUxNTUgIWRlZmF1bHQ7IC8vIzRhNGE0YVxyXG5cclxuLy8gIzA2Y1xyXG4kbGluay1jb2xvcjogICAgICAgJGJsdWUgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xyXG5cclxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb250c1xyXG5cclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiUm9ib3RvXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBcIlNGTW9uby1SZWd1bGFyXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgIC44OTRyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUteGw6ICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS14czogICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgNTAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgOTAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgMTAwICFkZWZhdWx0O1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNDcgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC14bDogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC14czogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgIDEuODEzcmVtICFkZWZhdWx0O1xyXG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgMS41NjNyZW0gIWRlZmF1bHQ7XHJcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAxLjMxM3JlbSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAhZGVmYXVsdDtcclxuXHJcbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICA0cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgM3JlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcblxyXG4kdGlueS1mb250LXNpemU6ICAgICAgICAgNzAlICFkZWZhdWx0O1xyXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgODUlICFkZWZhdWx0O1xyXG4kYmlnLWZvbnQtc2l6ZTogICAgICAgICAgMTEyJSAhZGVmYXVsdDtcclxuJGxhcmdlLWZvbnQtc2l6ZTogICAgICAgIDE1MCUgIWRlZmF1bHQ7XHJcbiR4bGFyZ2UtZm9udC1zaXplOiAgICAgICAxNzAlICFkZWZhdWx0O1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LW11dGVkLWhvdmVyOiAgICAgICByZ2JhLXRvLWhleCgkZ3JheS02MDApICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcclxuJHRleHQtbGlnaHQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTQwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LWxpZ2h0ZXI6ICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0zMDApICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodGVzdDogICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcclxuXHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEdyaWRcclxuXHJcbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDJyZW0gIWRlZmF1bHQ7XHJcbiRjb250YWluZXItcGFkZGluZy14LXNtOiAxcmVtICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbXBvbmVudHNcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xyXG4kYm9yZGVyLWlubmVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xyXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogICAgICAgICAgIDEuNTQgIWRlZmF1bHQ7XHJcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAgICAycHggIWRlZmF1bHQ7XHJcblxyXG4kZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XHJcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAgICAgICAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpICFkZWZhdWx0O1xyXG5cclxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjogICAgICAgJGhyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAuNDJlbSAhZGVmYXVsdDtcclxuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgICAgIG1pZGRsZSAhZGVmYXVsdDtcclxuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgIC41ZW0gIWRlZmF1bHQ7XHJcblxyXG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4sIHNjcm9sbCwgdmlzaWJsZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBaLWluZGV4IG1hc3RlciBsaXN0XHJcblxyXG4kemluZGV4LWxheW91dC1maXhlZDogIDEwODAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbW9kYWwtdG9wOiAgICAgMTA5MCAhZGVmYXVsdDtcclxuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0O1xyXG4kemluZGV4LW5vdGlmaWNhdGlvbjogIDk5OTk5OSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJsZXNcclxuXHJcbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMjUpICFkZWZhdWx0O1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDM1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICByZ2JhLXRvLWhleCgkdGFibGUtaG92ZXItYmcpICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICByZ2JhLXRvLWhleCgkZ3JheS0yMDApICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgIHJnYmEoJHdoaXRlLCAuMDMpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6IGxpZ2h0ZW4ocmdiYS10by1oZXgoJGdyYXktOTAwKSwgNyUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zICsgRm9ybXNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgIDEuNTQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14czogICAwICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC14czogICAuNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUteHM6ICAgJGZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14czogJGxpbmUtaGVpZ2h0LXhzICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgLjE4OHJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgLjY4NzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgMS41cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14bDogICAuODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC14bDogICAyLjEyNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUteGw6ICAgJGZvbnQtc2l6ZS14bCAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14bDogJGxpbmUtaGVpZ2h0LXhsICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJ1dHRvbnNcclxuXHJcbiRidG4tcGFkZGluZy15LXhzOiAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXhzICFkZWZhdWx0O1xyXG4kYnRuLXBhZGRpbmcteC14czogICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC14cyAhZGVmYXVsdDtcclxuJGJ0bi1mb250LXNpemUteHM6ICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUteHMgIWRlZmF1bHQ7XHJcbiRidG4tbGluZS1oZWlnaHQteHM6ICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXBhZGRpbmcteS14bDogICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS14bCAhZGVmYXVsdDtcclxuJGJ0bi1wYWRkaW5nLXgteGw6ICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgteGwgIWRlZmF1bHQ7XHJcbiRidG4tZm9udC1zaXplLXhsOiAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXhsICFkZWZhdWx0O1xyXG4kYnRuLWxpbmUtaGVpZ2h0LXhsOiAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1ib3JkZXItcmFkaXVzLXhzOiAgJGJvcmRlci1yYWRpdXMteHMgIWRlZmF1bHQ7XHJcbiRidG4tYm9yZGVyLXJhZGl1cy14bDogICRib3JkZXItcmFkaXVzLXhsICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC4yNSkgIWRlZmF1bHQ7XHJcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRidG4tdHJhbnNpdGlvbjogICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9ybXNcclxuXHJcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44MzEyNXJlbSAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkdGV4dC1saWdodCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSkpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSkpKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpKSkpICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWludmVydGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4zKSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1iZyAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCNmZmYsIC43KSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4xKSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogICAgIDFweCAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDkuNSA3LjUnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScwLjc1IDQuMzUgNC4xOCA2Ljc1IDguNzUgMC43NScgc3R5bGU9J2ZpbGw6bm9uZTtzdHJva2U6X0NPTE9SXztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjEuNXB4Jy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgNjUlICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSdfQ09MT1JfJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLXNpemU6ICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgICBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSdfQ09MT1JfJy8lM0UlM0Mvc3ZnJTNFXCIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLXNpemU6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgbm9uZSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgMXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvcjogICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW52ZXJ0ZWQtZGlzYWJsZWQtYmc6ICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgICAgICAgIDE3cHggMTJweCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFLQkpSRUZVU0EzdDFrRUtnQ0FRQlZDVER0Y2l1bEoycFdqUmlhcFRhUHdva1VFalJXMHpnYUhTT0k5UFFXTGJENE1oZnI3a3ovMXRlNGJZS080Sko4S0owQVRvdXFVYnFldXVINVRSZWt5cGI2U2NzcjJzNnpJckhCZ0xRUTFxczBFQWlNVThDTlJtaGNSZ1hFUVJ5QmNNUlJTRHZHRjhpS0lRSHlhRXdMT2l4bThBUG0yTXEySG9WZ01TNnUzdVovOXEzTU5qNWd5aGFYRWluQWhOZ0s1UHB6aEVPL2hTTUs0QUFBQUFTVVZPUks1Q1lJST0nKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkOiAgICAgICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFKNUpSRUZVU0EzdDFHMEtnQ0FNQnVDTUR0Wmxvak9GaHpWZlVhRmxINDROLzB5SXNwdyt2R2hUQ0dIRk5RMXU4K0QxNi9JR3FWSGtCMHZFRXFFSjBQNUNYM0Q3OFYrMHg5cU5XZS9GTnF0ejdvZ0l6NEI0MUlwQkFHQmdFZ0sxb3BCT1RFV29RSDVpTGdnMXlBZm1obENGUEdDYUNJd1ZPNzZZck5Xd2dlUFJUcC95Wm00TjA0ZGcxVGRBVVltZm1qSng3OTBnTkRGTHhCS2hDZEQrQ1EzR0huZ3ZKVEdLQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcnRsOiAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUtkSlJFRlVTQTN0bGxFS2dDQU1obE02WEEvUmxiSXJSUStkcURxRnhSOHB0RXdORkh1WUQrTGMzRDUrSENxcXdtTlp0eDBJc2pDSExjOGdWb3Byd1lxd0lsUUJhdGROMjZsZDY1NDZZbXdoNVRCUG80cUpEY1ZJSkVMQ1VDRDFwNFJBN3JOcnZzS2tockFnV01UQzVJQzRnY1RBNUlKNGdQaGdja0k0UVZ3d3VTRlFVMkI2RzJodCtGSzFxS3VPK1FaNFFWd0hVKzhaRUg3MHFMS3NDQ3RDRmFEMmIrN0lBWkdkUFB4dVdZR01BQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1pbnZlcnRlZC1ydGw6ICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBSnRKUkVGVVNBM3RsbEVLd0NBSWhtZDBzRjFtN0V5anc3YU1DSExXV2hqdHdSNGlVMzQvZmhLQ2JmSHkzdStJWUJaejVQWUtrcTFJQjNWRUhhRU8wTmlHT1Q3RDVVRVRuYkVEZ0t1enRsbG1rcEJyVnZGSk1RaVVqMU16QUNNS2tVSHc4QUZHSEtJQTZZU1pBdkVBZVlHWkJzR0NWR0NtUW1CUGl4dTM4TTJFMFk2cDlINjRNckU3RUZNYUZOTC9TTTA0L1FaUVo5U1IzenB5QTFpWUhuYlNMUElRQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtZGlzYWJsZWQtdHJhY2stYmc6ICAgICAgICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSksICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLWJnICFkZWZhdWx0O1xyXG5cclxuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1ydGw6ICAgICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonIHRyYW5zZm9ybT0nc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtOCwgMCknLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcclxuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtcnRsOiAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZzogICAgICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgKyAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctc206ICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICsgJGlucHV0LWhlaWdodC1pbm5lci1zbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnOiAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyArICRpbnB1dC1oZWlnaHQtaW5uZXItbGcgIWRlZmF1bHQ7XHJcblxyXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxyXG4gIFwidmFsaWRcIjogKFxyXG4gICAgXCJjb2xvclwiOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcclxuICAgIFwiaWNvblwiOiAgICAgJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZCxcclxuICAgIFwiaWNvbi1ydGxcIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1ydGxcclxuICApLFxyXG4gIFwiaW52YWxpZFwiOiAoXHJcbiAgICBcImNvbG9yXCI6ICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXHJcbiAgICBcImljb25cIjogICAgICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcclxuICAgIFwiaWNvbi1ydGxcIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLXJ0bFxyXG4gICksXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgIC40MzhyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ6ICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZzXHJcblxyXG4kbmF2LXNwYWNlcjogICAgICAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuMzEyNXJlbSAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJG5hdi1saW5rLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodC1zbTogICAgICAgICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG5cclxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2YmFyXHJcblxyXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjdyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjgpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC40KSAhZGVmYXVsdDtcclxuXHJcbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBhZ2luYXRpb25cclxuXHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAuOTM3NXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWlubmVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tc3BhY2VyOiAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDYXJkc1xyXG5cclxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zcGFjZXIteC1zbTogICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY2FyZC1pbm5lci1ib3JkZXItY29sb3I6ICAkYm9yZGVyLWlubmVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLCAuMDEyKSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUb29sdGlwc1xyXG5cclxuJHRvb2x0aXAtY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktODAwKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQb3BvdmVyc1xyXG5cclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCYWRnZXNcclxuXHJcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIC44NThlbSAhZGVmYXVsdDtcclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcclxuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjQxN2VtICFkZWZhdWx0O1xyXG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjU4M2VtICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAxMHJlbSAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGJhZGdlLW91dGxpbmUtZGVmYXVsdC1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTW9kYWxzXHJcblxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAxLjU2MjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAxLjI1cmVtICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAxcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICRib3JkZXItaW5uZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAzNXJlbSAhZGVmYXVsdDtcclxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgIDIyLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1zbGlkZS13aWR0aDogICAgICAgICAgICAgIDIwcmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgLjE1cyAhZGVmYXVsdDtcclxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsZXJ0c1xyXG5cclxuJGFsZXJ0LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQcm9ncmVzcyBiYXJzXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMTByZW0gIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0yMDApICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yNSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQtaG92ZXIgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgIDAgIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgMHB4ICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZpZ3VyZXNcclxuXHJcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgIDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgIDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgIFwiL1wiICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLXJ0bDogICBcIi9cIiAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTd2l0Y2hlcnNcclxuXHJcbiRzd2l0Y2hlci1zcGFjZXIteDogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItc3BhY2VyLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItZ3V0dGVyOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaW5uZXItc3BhY2VyOiAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci1zcXVhcmUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItbGFiZWwtY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtZGlzYWJsZWQtY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci13aWR0aDogICAgICAgICAgICAgICAgMi4zNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1oZWlnaHQ6ICAgICAgICAgICAgICAgMS4zNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1mb250LXNpemU6ICAgICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodDogICAgMS40ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXdpZHRoLXNtOiAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0LXNtOiAgICAgICAgICAgIDEuMTI1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtZm9udC1zaXplLXNtOiAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1saW5lLWhlaWdodC1zbTogMS40ODYgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItd2lkdGgtbGc6ICAgICAgICAgICAgIDMuMjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1oZWlnaHQtbGc6ICAgICAgICAgICAgMS43NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1sZzogICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtbGc6IDEuNDcgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItb2ZmLWNvbG9yOiAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLW9mZi1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1ob2xkZXItYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhvbGRlci1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIC4wNCksIDAgMXB4IDZweCByZ2JhKCRibGFjaywgLjA5KSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDbG9zZVxyXG5cclxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XHJcbiRjbG9zZS10ZXh0LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuJGNsb3NlLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1wYWRkaW5nOiAzcmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNpZGVuYXZcclxuXHJcbiRzaWRlbmF2LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTUuNjI1cmVtICFkZWZhdWx0OyAvLzI1MHB4XHJcbiRzaWRlbmF2LWNvbGxhcHNlZC13aWR0aDogICAgICAgICAgICAgICAgNC4zNzVyZW0gIWRlZmF1bHQ7IC8vNzBweFxyXG5cclxuJHNpZGVuYXYtaXRlbS1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAuMDYyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LXZlcnRpY2FsLWxpbmstcGFkZGluZy15OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGluay1wYWRkaW5nLXk6ICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtdmVydGljYWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteTogICAgICAxcmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14OiAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTogLjYyNXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtbWVudS13aWR0aDogICAgICAgICAgICAgICAgICAgICAxMi41cmVtICFkZWZhdWx0OzsgLy8yMDBweFxyXG4kc2lkZW5hdi1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgIDIuMjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWNvbnRyb2wtYXJyb3ctc2l6ZTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLXdpZHRoOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtZm9udC1zaXplOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC1zcGFjZXI6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgIC4ycyAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LW1heC1sZXZlbHM6ICAgICAgICAgICAgICAgICAgICAgNSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWRhcmstbWVudS1iZzogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDYpICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1saWdodC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtbGlnaHQtbWVudS1iZzogICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVG9hc3RzXHJcblxyXG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICRjYXJkLWlubmVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIENvbmZpZ1xyXG4kcnRsLXN1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWF0ZXJpYWwtc3R5bGU6IGZhbHNlO1xyXG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtfSArICN7JGlucHV0LXBhZGRpbmcteX0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgLyAyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIGNhbGMoI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemV9IC0gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDR9KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArICN7MiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteX0pICogMyAvIDQgKyAjeyRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nfSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG4vLyBEZXByZWNhdGVcbkBpbXBvcnQgXCJtaXhpbnMvZGVwcmVjYXRlXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIC8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIC8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBzaXplKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbnZpc2libGUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGljb24gJGN1c3RvbS1zZWxlY3QtYmcgbm8tcmVwZWF0ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LXJpZ2h0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LW5vbmVgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBNaXhpbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVEwvTFRSXHJcblxyXG5AbWl4aW4gbHRyLW9ubHkoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtb25seSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGx0ci1zdHlsZSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLXN0eWxlKCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBLZXlmcmFtZXNcclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcclxuICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDYXJldHNcclxuXHJcbkBtaXhpbiBjYXJldC1kb3duIHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAxLjUpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC11cCB7XHJcbiAgbWFyZ2luLXRvcDogLTA7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1yaWdodCB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMik7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1sZWZ0IHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYmVmb3JlKCRwYXJlbnQsICRzdGFydC1icmVha3BvaW50OiBzbSkge1xyXG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XHJcblxyXG4gIEB3aGlsZSAkY3VyLWJyZWFrcG9pbnQge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IChicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpIC0gMSkpIHtcclxuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkY3VyLWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkY3VyLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcclxuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xyXG5cclxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbi8vIENvbnRyYXN0XHJcbkBtaXhpbiBjb2xvci15aXEoJGNvbG9yKSB7XHJcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcclxuICAjeyRwYXJlbnR9IHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxuICBhI3skcGFyZW50fSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrZXJcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC44NSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRhY3RpdmUtYmFja2dyb3VuZDogbnVsbCwgJGFjdGl2ZS1ib3JkZXI6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCBpZigkYm9yZGVyLCAkYm9yZGVyLCAkYmFja2dyb3VuZCkpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcblxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJ1dHRvbiBncm91cHNcclxuICAuYnRuLWdyb3VwICN7JHBhcmVudH0sXHJcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgI3skcGFyZW50fSxcclxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAjZmZmLCByZ2JhKCRjb2xvciwgLjMpLCByZ2JhKCRjb2xvciwgLjIpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBGbGF0IGJ1dHRvbnNcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0IHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgY29sb3I6ICRtZC1jb2xvcjtcclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLndhdmVzLXJpcHBsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpO1xyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWRcclxuXHJcbiAgI3skcGFyZW50fS5kaXNhYmxlZCxcclxuICAjeyRwYXJlbnR9OmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAkbWF0ZXJpYWwtY29tcG9uZW50LXNoYWRvdyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5kaXNhYmxlZCxcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE91dGxpbmUgYnV0dG9uc1xyXG5cclxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yOiBudWxsLCAkY29sb3ItaG92ZXI6IG51bGwsICRob3Zlci1jb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LWJ0bi1jb2xvcnMoJGNvbG9yLCAkY29sb3IpO1xyXG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuXHJcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06aG92ZXIgLmJhZGdlLFxyXG4gICN7JHBhcmVudH06Zm9jdXMgLmJhZGdlLFxyXG4gICN7JHBhcmVudH06YWN0aXZlIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSAuYmFkZ2UsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKT09MSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRjb2xvcik7XHJcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvciBpbnNldDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcclxuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xyXG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3ItaG92ZXI9PSNmZmYsIHJnYmEoJGNvbG9yLWhvdmVyLCAuMyksIHJnYmEoJGNvbG9yLWhvdmVyLCAuMikpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06aG92ZXIgLmJhZGdlLFxyXG4gICN7JHBhcmVudH06Zm9jdXMgLmJhZGdlLFxyXG4gICN7JHBhcmVudH06YWN0aXZlIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSAuYmFkZ2UsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKT09MSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFkZ2VzXHJcblxyXG5AbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1iYWRnZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH1baHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZihhbHBoYSgkYmcpID09IDEsIHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTUpLCAjMDAwKSwgcmdiYSgkYmcsIGFscGhhKCRiZykgKyAuMDMpKTtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4gI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmcgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstYmFkZ2Utb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiAkYmcpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9W2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0biAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRHJvcGRvd25zXHJcblxyXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGkuYWN0aXZlOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZzXHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuICAgPiAubmF2IC5uYXYtbGluayxcclxuICAmLm5hdiAubmF2LWxpbmsge1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xyXG5cclxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS50YWJzLWFsdC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxyXG4gICN7JHBhcmVudH0udGFicy1hbHQgPiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAwICRiYWNrZ3JvdW5kIGluc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW5hdi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xyXG4gICR0YWJzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi10YWJzJywgJyN7JHBhcmVudH0ubmF2LXRhYnMnKTtcclxuICAkcGlsbHMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xyXG5cclxuICAjeyR0YWJzLXNlbGVjdG9yfSAubmF2LWxpbmsge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcclxuICB9XHJcblxyXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBjb2xvcjogaWYoJGxpbmstY29sb3IsICRsaW5rLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdGhlbWUoJGNvbG9yLCAkbGluay1jb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXZhcmlhbnQoJycsICRjb2xvciwgJGxpbmstY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUGFnaW5hdGlvblxyXG5cclxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssXHJcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQcm9ncmVzcyBiYXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1wcm9ncmVzcy1iYXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3QgZ3JvdXBzXHJcblxyXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlOiBudWxsLCAkYmFja2dyb3VuZDogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRiZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjEpLCAjZmZmKTtcclxuICAkY29sb3I6IHlpcSgkYmcpO1xyXG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIGEjeyRwYXJlbnR9LFxyXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgnLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG5cclxuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsZXJ0c1xyXG5cclxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRjb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjE1KSwgI2ZmZik7XHJcbiAgJGJvcmRlcjogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk0KSwgIzAwMCk7XHJcbiAgJGNvbG9yOiB5aXEoJGJhY2tncm91bmQpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsZXJ0LWxpbmsge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKHlpcSgkYmFja2dyb3VuZCksLjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZSxcclxuICAgIC5hbGVydC1saW5rIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUb29sdGlwc1xyXG5cclxuQG1peGluIGFwcHdvcmstdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIC50b29sdGlwLWlubmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQb3BvdmVyc1xyXG5cclxuQG1peGluIGFwcHdvcmstcG9wb3Zlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgLnBvcG92ZXItaGVhZGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHlpcSgkYmFja2dyb3VuZCksLjIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAucG9wb3Zlci1ib2R5IHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbiAgICAmLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gPiAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9ybSBjb250cm9sc1xyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLXNlbGVjdC1zaXplKCRzaXplLCAkcGFkZGluZy14LCAkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcclxuICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcclxuICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJHBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICYsXHJcbiAgICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJHBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlOiBudWxsLCAkY29sb3I6IG51bGwsICRpY29uOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJHBhcmVudCwgJHN0YXRlKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uLCAkaWNvbi1ydGwpIHtcclxuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxyXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XHJcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCwgLmN1c3RvbS1zZWxlY3QsIC5mb3JtLWNvbnRyb2wtZmlsZSwgLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCwgLmN1c3RvbS1zZWxlY3QnLCAkc3RhdGUpIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jb250cm9sW2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWZpbGUtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBWYWxpZGF0aW9uIGljb25zXHJcbiAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XHJcbiAgICAvLyBJbnB1dHNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKSBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb247XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGljb24tcnRsO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbC1zbScsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItc207XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLXNtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLWxnJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lci1sZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lci1sZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGV4dGFyZWFzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgcmlnaHQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLXNtJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDdXN0b20gc2VsZWN0c1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3Rbc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xyXG4gICAgICAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldDogKCgkaW5wdXQtaGVpZ2h0LWlubmVyIC0gJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14KSAvIDMpICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvciwgJGljb247XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciwgcmlnaHQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bCwgJGljb24tcnRsO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciwgbGVmdCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0LXNtW3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcclxuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lci1zbSAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyA0KSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1zbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCByaWdodCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1zbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbSBjZW50ZXIsIGxlZnQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdC1sZ1tzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3QtbGc6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XHJcbiAgICAgICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0OiAoKCRpbnB1dC1oZWlnaHQtaW5uZXItbGcgLSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpIC8gMikgKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctbGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnIGNlbnRlciwgcmlnaHQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctbGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGcgY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbiwgJGljb24tcnRsKSB7XHJcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcclxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xyXG4gICAgbWFyZ2luLXRvcDogLjFyZW07XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XHJcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0LCAuZm9ybS1jb250cm9sLWZpbGUsIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0JywgJHN0YXRlKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tY29udHJvbFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNoZWNrYm94W2NsYXNzXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1yYWRpb1tjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1maWxlLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmFsaWRhdGlvbiBpY29uc1xyXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xyXG4gICAgLy8gSW5wdXRzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uLXJ0bDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUZXh0YXJlYXNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKSByaWdodDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gLyAzKSBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wtc20nLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219IC8gNCkgbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLWxnJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3VzdG9tIHNlbGVjdHNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0W3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLCAkaWNvbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXIsIHJpZ2h0IDFyZW0gY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXJ0bCwgJGljb24tcnRsO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyLCBsZWZ0IDFyZW0gY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAnJyB7XHJcbiAgICAuZm9ybS1jb250cm9sLFxyXG4gICAgLmN1c3RvbS1zZWxlY3QsXHJcbiAgICAuY3VzdG9tLWZpbGUtbGFiZWwsXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgLmZvcm0tY29udHJvbC0jeyRzaXplfSxcclxuICAgIC5jdXN0b20tc2VsZWN0LSN7JHNpemV9LFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmZvcm0tY29udHJvbCxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5jdXN0b20tc2VsZWN0LFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvcm0tY29udHJvbC10aGVtZSgkY29sb3IpIHtcclxuICAuZm9ybS1jb250cm9sOmZvY3VzLFxyXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xyXG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXHJcbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3dpdGNoZXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci1zaXplLWJhc2UoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXI6ICRzd2l0Y2hlci1pbm5lci1zcGFjZXIpIHtcclxuICBwYWRkaW5nLWxlZnQ6ICR3aWR0aDtcclxuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG5cclxuICAkbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICRkZXNjcmlwdGlvbi1mb250LXNpemUgKiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgJGRlbHRhOiBpZigkbWF0ZXJpYWwtc3R5bGUsIHB4LXRvLXJlbShjZWlsKHJlbS10by1weCgkaGVpZ2h0ICogLjEyNSkpKSwgMCk7XHJcblxyXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJGhlaWdodCAtICgkZGVsdGEgKiAyKTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xyXG5cclxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPiAkaGVpZ2h0IHtcclxuICAgICAgdG9wOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAtICRoZWlnaHQpIC8gMikgKyAkZGVsdGE7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgdG9wOiAwICsgJGRlbHRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLWxhYmVsIHtcclxuICAgIEBpZiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgPCAkaGVpZ2h0IHtcclxuICAgICAgdG9wOiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgIHRvcDogJGRlbHRhICogLTE7XHJcbiAgICBtYXJnaW46ICRpbm5lci1zcGFjZXIgMCAwICRpbm5lci1zcGFjZXI7XHJcbiAgICB3aWR0aDogJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDI7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItbm8ge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgIHBhZGRpbmctbGVmdDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXIteWVzIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xyXG4gIH1cclxuXHJcbiAgQGlmICRtYXRlcmlhbC1zdHlsZSB7XHJcbiAgICAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICB0b3A6ICRkZWx0YSAqIC0xO1xyXG4gICAgICB3aWR0aDogJGhlaWdodDtcclxuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItbm8ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgfVxyXG5cclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci15ZXMge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgICAgcmlnaHQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZSgkc2l6ZSwgJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXI6ICRzd2l0Y2hlci1pbm5lci1zcGFjZXIpIHtcclxuICAuc3dpdGNoZXItI3skc2l6ZX0sXHJcbiAgLmZvcm0tZ3JvdXAtI3skc2l6ZX0gLnN3aXRjaGVyIHtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xyXG4gIH1cclxuXHJcbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2hlci1pbnB1dDphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjUpO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCk7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuc3dpdGNoZXItaW5wdXRbY2xhc3NdIHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgICAgY29sb3I6IHlpcSgkY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphY3RpdmUgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuc3dpdGNoZXItaW5wdXRbY2xhc3NdIHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICB+IC5zd2l0Y2hlci1pbmRpY2F0b3JbY2xhc3NdIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC4xNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRhYmxlc1xyXG5cclxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay10YWJsZS1yb3ctdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRiZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjEpLCAjZmZmKTtcclxuICAkY29sb3I6IHlpcSgkYmcpO1xyXG4gICRob3Zlci1iZzogcmdiYS10by1oZXgocmdiYSgkYmcsIC45OSksICMwMDApO1xyXG5cclxuICAudGFibGUgI3skcGFyZW50fSxcclxuICAudGFibGUgI3skcGFyZW50fSA+IHRoLFxyXG4gIC50YWJsZSAjeyRwYXJlbnR9ID4gdGQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wMzUpICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIsXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlciA+IHRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZiYXJcclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnNob3cgPiAubmF2LWxpbmssXHJcbiAgICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXHJcbiAgICAgIC5uYXYtbGluay5zaG93LFxyXG4gICAgICAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNpZGVuYXZcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcbiAgJHlpcS1wZXJjZW50OiBtYXAtZ2V0KCRjb2xvcnMsIHlpcS1wZXJjZW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbWVudS1iZyB7XHJcbiAgICAkbWVudS1iZzogcmdiYS10by1oZXgocmdiYShtYXAtZ2V0KCRjb2xvcnMsIGJnKSwgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xyXG4gIH1cclxuXHJcbiAgJG1lbnUtYWN0aXZlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRtZW51LWJnLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAuc2lkZW5hdi1saW5rLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5kaXNhYmxlZCAuc2lkZW5hdi1saW5rLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LmRpc2FibGVkLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5vcGVuOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtdG9nZ2xlLFxyXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1tZW51ID4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYWN0aXZlLWJnO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbTpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LW1lbnUsXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtbWVudSxcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1oZWFkZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgaHIsXHJcbiAgICAuc2lkZW5hdi1kaXZpZGVyLFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXHJcbiAgICAuc2lkZW5hdi1ibG9jazo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAucHNfX3RodW1iLXksXHJcbiAgICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjQsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuMikpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9vdGVyXHJcblxyXG5AbWl4aW4gYXBwd29yay1mb290ZXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5mb290ZXItbGluayB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXItdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXHJcbiAgICAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxyXG4gICAgLmZvb3Rlci1saW5rLnNob3csXHJcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstdG9hc3QtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0uYnM0LXRvYXN0IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAuOSkgIWltcG9ydGFudDtcclxuXHJcbiAgICAudG9hc3QtaGVhZGVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC4xKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXRoZW1lKCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXRvYXN0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBa0JLRSxBQUFBLGFBQWEsQ0FBRjtFQUNULEtBQUssRWxCRUUsT0FBTyxDa0JGQSxVQUFVLEdBQ3pCOztBQUVDLEFQT0YsQ09QRyxBQUFBLGFBQWEsQVBPZixNQUFNLEVPUEwsQ0FBQyxBQUFBLGFBQWEsQVBRZixNQUFNLENBQUM7RU9ORixLQUFLLEVBQUUsT0FBd0QsQ0FBQyxVQUFVLEdQUS9FOztBNkI2SEQsQUFBQSxXQUFXLENBQUE7RUFBRSxn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 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvcnRsL2NvbG9ycy5jc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJ2ZW5kb3IvY3NzL3J0bC9jb2xvcnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtFO0VDMklBLHlCQUFXLEVBQUE7O0FBRWM7RUR2SW5CLHlCQUEwRSxFQUFBOztBQXFJaEY7RUFBYSxvQ0FBbUMsRUFBQTs7QUNFdkI7RUFpRUosb0NBQVcsRUFBQTs7QURuRWhDO0VBQWEsb0NBQW1DLEVBQUE7O0FDRXZCO0VBaUVKLG9DQUFXLEVBQUE7O0FEbkVoQztFQUFhLG9DQUFtQyxFQUFBOztBQ0V2QjtFQWlFSixvQ0FBVyxFQUFBOztBRDlDaEM7RUNnS0EseUJDelRRO0VEMFRSLG1CRDlUZ0I7RUMrVGhCLFdFOVRRLEVBQUE7RUZ1SVI7SUErTEkseUJDblVJO0lGaUtKLG1CQ3FCSDtJQWlKRCxXRTFVUSxFQUFBO0VINEpSO0lDb0xBLDZDRGpWZ0IsRUFBQTtFQTZKaEI7SUN5TEUsb0NHMUxZO0lIMkxaLDhCRzNMWTtJSDRMWiwyQkFDRDtJRHRLRyxzQkFBd0IsRUFBQTs7QUtsTHpCO0VBRUcsZ0JGRkU7RUh3TE4sY0F6TGMsRUFBQTs7QUE0TGhCOzs7RUFHRSx5QkUzTE07RURvSVIsbUJBa0RDO0VEV0csZ0JBQWdCLEVBQUE7O0FDM0RLOzs7RUFvQnZCLCtCQTRCRDtFQTNCQyw4QkEyQkQsRUFBQTs7QUFsRFk7RUQ4SlgscUJBdFNjO0VDeUlmLHVCQ2pJTTtFRGtJa0IsY0QxSVQsRUFBQTtFQ3dJaEI7SUFzQkUseUJDMUpNO0lEMkpOLG1CRC9KYztJQ2dLZCxXRS9KTSxFQUFBO0VGdUlLO0lBcUJiLDZDRDdKZ0IsRUFBQTtFQ3dJSDtJQTBDVCxnQ0FBMkI7SUFDM0Isa0NBQ0Q7SURxSUMseUJBQXdCLEVBQUE7O0FBSTVCOzs7RUMvSEEseUJDMUxRO0VEMkxOLG1CQUxEO0VBTUMsV0UvTE07RUYyTVIsZ0JBQW9CLEVBQUE7O0FBeUZwQjtFQUNFLG1CRHRTYztFQ3VTZCxxQkR2U2M7RUN3U2QsV0VyU1MsRUFBQTs7QUg4VVg7Ozs7O0VDMUJJLGdCRXRUSTtFRnVUSixrQkV2VEk7RUZ3VEosY0R6VFksRUFBQTs7QUFIaEI7RUMySUEseUJBQVcsRUFBQTs7QUFFYztFRHZJbkIseUJBQTBFLEVBQUE7O0FBcUloRjtFQUFhLG9DQUFtQyxFQUFBOztBQ0V2QjtFQWlFSixvQ0FBVyxFQUFBOztBRG5FaEM7RUFBYSxvQ0FBbUMsRUFBQTs7QUNFdkI7RUFpRUosb0NBQVcsRUFBQTs7QURuRWhDO0VBQWEsb0NBQW1DLEVBQUE7O0FDRXZCO0VBaUVKLG9DQUFXLEVBQUE7O0FEOUNoQztFQ2dLQSx5QkN6VFE7RUQwVFIsbUJDdFRDO0VEdVRELFdFOVRRLEVBQUE7RUZ1SVI7SUErTEkseUJDblVJO0lGaUtKLG1CQ3FCSDtJQWlKRCxXRTFVUSxFQUFBO0VINEpSO0lDb0xBLDRDQ3pVQyxFQUFBO0VGcUpEO0lDeUxFLG9DRzFMWTtJSDJMWiw4QkczTFk7SUg0TFosMkJBQ0Q7SUR0S0csc0JBQXdCLEVBQUE7O0FLbEx6QjtFQUVHLGdCRkZFO0VId0xOLGNFakxELEVBQUE7O0FGb0xEOzs7RUFHRSx5QkUzTE07RURvSVIsbUJBa0RDO0VEV0csZ0JBQWdCLEVBQUE7O0FDM0RLOzs7RUFvQnZCLCtCQTRCRDtFQTNCQyw4QkEyQkQsRUFBQTs7QUFsRFk7RUQ4SlgscUJFOVJEO0VEaUlBLHVCQ2pJTTtFRGtJa0IsY0NsSXhCLEVBQUE7RURnSUQ7SUFzQkUseUJDMUpNO0lEMkpOLG1CQ3ZKRDtJRHdKQyxXRS9KTSxFQUFBO0VGdUlLO0lBcUJiLDRDQ3JKQyxFQUFBO0VEZ0lZO0lBMENULGdDQUEyQjtJ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OztBQUVjO0VEdkluQix5QkFBMEUsRUFBQTs7QUFxSWhGO0VBQWEsb0NBQW1DLEVBQUE7O0FDRXZCO0VBaUVKLG9DQUFXLEVBQUE7O0FEbkVoQztFQUFhLG9DQUFtQyxFQUFBOztBQ0V2QjtFQWlFSixvQ0FBVyxFQUFBOztBRG5FaEM7RUFBYSxvQ0FBbUMsRUFBQTs7QUNFdkI7RUFpRUosb0NBQVcsRUFBQTs7QUQ5Q2hDO0VDZ0tBLHlCQ3pUUTtFRDBUUixtQkN0VEM7RUR1VEQsV0U5VFEsRUFBQTtFRnVJUjtJQStMSSx5QkNuVUk7SUZpS0osbUJDcUJIO0lBaUpELFdFMVVRLEVBQUE7RUg0SlI7SUNvTEEsNkNDelVDLEVBQUE7RUZxSkQ7SUN5TEUsb0NHMUxZO0lIMkxaLDhCRzNMWTtJSDRMWiwyQkFDRDtJRHRLRyxzQkFBd0IsRUFBQTs7QUtsTHpCO0VBRUcsZ0JGRkU7RUh3TE4sY0VqTEQsRUFBQTs7QUZvTEQ7OztFQUdFLHlCRTNMTTtFRG9JUixtQkFrREM7RURXRyxnQkFBZ0IsRUFBQTs7QUMzREs7OztFQW9CdkIsK0JBNEJEO0VBM0JDLDhCQTJCRCxFQUFBOztBQWxEWTtFRDhKWCxxQkU5UkQ7RURpSUEsdUJDaklNO0VEa0lrQixjQ2xJeEIsRUFBQTtFRGdJRDtJQXNCRSx5QkMxSk07SUQySk4sbUJDdkpEO0lEd0pDLFdFL0pNLEVBQUE7RUZ1SUs7SUFxQmIsNkNDckpDLEVBQUE7RURnSVk7SUEwQ1QsZ0NBQTJCO0lBQzNCLGtDQUNEO0lEcUlDLHlCQUF3QixFQUFBOztBQUk1Qjs7O0VDL0hBLHlCQzFMUTtFRDJMTixtQkFMRDtFQU1DLFdFL0xNO0VGMk1SLGdCQUFvQixFQUFBOztBQXlGcEI7RUFDRSxtQkM5UkQ7RUQrUkMscUJDL1JEO0VEZ1NDLFdFclNTLEVBQUE7O0FIOFVYOzs7OztFQzFCSSxnQkV0VEk7RUZ1VEosa0JFdlRJO0VGd1RKLGNDalRILEVBQUE7O0FGWEQ7RUMySUEseUJBQVcsRUFBQTs7QUFFYztFRHZJbkIseUJBQTBFLEVBQUE7O0FBcUloRjtFQUFhLG9DQUFtQyxFQUFB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QUQ5Q2hDO0VDZ0tBLHlCQ3pUUTtFRDBUUixtQkRsVGdCO0VDbVRoQixXRTlUUSxFQUFBO0VGdUlSO0lBK0xJLHlCQ25VSTtJRmlLSixtQkNxQkg7SUFpSkQsV0UxVVEsRUFBQTtFSDRKUjtJQ29MQSw2Q0RyVWdCLEVBQUE7RUFpSmhCO0lDeUxFLG9DRzFMWTtJSDJMWiw4QkczTFk7SUg0TFosMkJBQ0Q7SUR0S0csc0JBQXdCLEVBQUE7O0FLbEx6QjtFQUVHLGdCRkZFO0VId0xOLGNBN0tjLEVBQUE7O0FBZ0xoQjs7O0VBR0UseUJFM0xNO0VEb0lSLG1CQWtEQztFRFdHLGdCQUFnQixFQUFBOztBQzNESzs7O0VBb0J2QiwrQkE0QkQ7RUEzQkMsOEJBMkJELEVBQUE7O0FBbERZO0VEOEpYLHFCQTFSYztFQzZIZix1QkNqSU07RURrSWtCLGNEOUhULEVBQUE7RUM0SGhCO0lBc0JFLHlCQzFKTTtJRDJKTixtQkRuSmM7SUNvSmQsV0UvSk0sRUFBQTtFRnVJSztJQXFCYiw2Q0RqSmdCLEVBQUE7RUM0SEg7SUEwQ1QsZ0NBQTJCO0lBQzNCLGtDQUNEO0lEcUlDLHlCQUF3QixFQUFBOztBQUk1Qjs7O0VDL0hBLHlCQzFMUTtFRDJMTixtQkFMRDtFQU1DLFdFL0xNO0VGMk1SLGdCQUFvQixFQUFBOztBQXlGcEI7RUFDRSxtQkQxUmM7RUMyUmQscUJEM1JjO0VDNFJkLFdFclNTLEVBQUE7O0FIOFVYOzs7OztFQzFCSSxnQkV0VEk7RUZ1VEosa0JFdlRJO0VGd1RKLGNEN1NZLEVBQUE7O0FBZmhCO0VDMklBLHlCQUFXLEVBQUE7O0FBRWM7RUR2SW5CLHlCQUEwRSxFQUFBOztBQXFJaEY7RUFBYSxvQ0FBbUMsRUFBQTs7QUNFdkI7RUFpRUosb0NBQVcsRUFBQTs7QURuRWhDO0VBQWEsb0NBQW1DLEVBQUE7O0FDRXZCO0VBaUVKLG9DQUFXLEVBQUE7O0FEbkVoQztFQUFhLG9DQUFtQyxFQUFBOztBQ0V2QjtFQWlFSixvQ0FBVyxFQUFBOztBRDlDaEM7RUNnS0EseUJDelRRO0VEMFRSLG1CQXJMQztFQXNMRCxXRTlU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WCxrQkd0U2M7RUZ5SWYsdUJDaklNO0VEa0lrQixXRTFJVCxFQUFBO0VGd0loQjtJQXNCRSx5QkMxSk07SUQySk4sZ0JFL0pjO0lGZ0tkLGNBOEJrQixFQUFBO0VBdERQO0lBcUJiLDhDRTdKZ0IsRUFBQTtFRndJSDtJQTBDVCw2QkFBMkI7SUFDM0Isa0NBQ0Q7SURxSUMsc0JBQXdCLEVBQUE7O0FBSTVCOzs7RUMvSEEseUJDMUxRO0VEMkxOLG1CQUxEO0VBTUMsY0FGa0I7RUFjcEIsZ0JBQW9CLEVBQUE7O0FBeUZwQjtFQUNFLGdCRXRTYztFRnVTZCxrQkV2U2M7RUZ3U2QsV0VyU1MsRUFBQTs7QUg4VVg7Ozs7O0VDMUJJLG1CQXpIZ0I7RUEwSGhCLHFCQTFIZ0I7RUEySGhCLFdFelRZLEVBQUE7O0FIeXRCaEI7O0VDM1lPLHNCR2xMRyxFQUFBOztBSjZqQlY7O0VDbllFLGtCRzFMUSxFQUFBOztBSjZqQlY7RUs1dEJBLHdDRCtKVSxFQUFBOztBSjZqQlY7OztFQ2psQmEsa0JHb0JIO0VKb2xCTixzQklwbEJNLEVBQUE7O0FKNmpCVjtFQ2psQkEsdUtBQVcsRUFBQTs7QURpbEJYO0VDL2tCeUIseVJDL0h4QixFQUFBOztBRjhzQkQ7RUFtQ0ksb0tBQTBHLEVBQUE7O0FBbkM5Rzs7RUMzWU8sc0JBekNQLEVBQUE7O0FEb2JBOztFQ25ZRSxrQkFqREYsRUFBQTs7QURvYkE7RUs1dEJBLDhDSndTQSxFQUFBOztBRG9iQTs7O0VDamxCYSxrQkE2SmI7RUQyY0ksc0JDM2NKLEVBQUE7O0FEb2JBO0VDamxCQSwwS0FBVyxFQUFBOztBRGlsQlg7RUMva0J5Qiw0UkMvSHhCLEVBQUE7O0FGOHNCRDtFQW1DSSx1S0FBMEcsRUFBQTs7QUFuQzlHOztFQzNZTyxzQkE1Qk8sRUFBQTs7QUR1YWQ7O0VDbllFLGtCQXBDWSxFQUFBOztBRHVhZDtFSzV0QkEsOENKcVRjLEVBQUE7O0FEdWFkOzs7RUNqbEJhLGtCQTBLQztFRDhiVixzQkM5YlUsRUFBQTs7QUR1YWQ7RUNqbEJBLDBLQUFXLEVBQUE7O0FEaWxCWDtFQy9rQnlCLDRSQy9IeEIsRUFBQTs7QUY4c0JEO0VBbUNJLHVLQUEwRyxFQUFBOztBQW5DOUc7O0VDM1lPLHNCQXpDUCxFQUFBOztBRG9iQTs7RUNuWUUsa0JBakRGLEVBQUE7O0FEb2JBO0VLNXRCQSw4Q0p3U0EsRUFBQTs7QURvYkE7OztFQ2psQmEsa0JBNkpiO0VEMmNJLHNCQzNjSixFQUFBOztBRG9iQTtFQ2psQkEsdUtBQVcsRUFBQTs7QURpbEJYO0VDL2tCeUIseVJDL0h4QixFQUFBOztBRjhzQkQ7RUFtQ0ksb0tBQTBHLEVBQUE7O0FBbkM5Rzs7RUMzWU8seUJBdkJILEVBQUE7O0FEa2FKOztFQ25ZRSxxQkEvQkUsRUFBQTs7QURrYUo7RUs1dEJBLDZDSjBUSSxFQUFBOztBRGthSjs7O0VDamxCYSxxQkErS1Q7RUR5YkEseUJDemJBLEVBQUE7O0FEa2FKO0VDamxCQSwwS0FBVyxFQUFBOztBRGlsQlg7RUMva0J5Qiw0UkMvSHhCLEVBQUE7O0FGOHNCRDtFQW1DSSx1S0FBMEcsRUFBQTs7QUFuQzlHOztFQzNZTyx5QkF0Qk8sRUFBQTs7QURpYWQ7O0VDbllFLHFCQTlCWSxFQUFBOztBRGlhZDtFSzV0QkEsNENKMlRjLEVBQUE7O0FEaWFkOzs7RUNqbEJhLHFCQWdMQztFRHdiVix5QkN4YlUsRUFBQTs7QURpYWQ7RUNqbEJBLHVLQUFXLEVBQUE7O0FEaWxCWDtFQy9rQnlCLHlSQy9IeEIsRUFBQTs7QUY4c0JEO0VBbUNJLG9LQUEwRyxFQUFBOztBQW5DOUc7O0VDM1lPLHlCRTlVRSxFQUFBOztBSHl0QlQ7O0VDbllFLHFCRXRWTyxFQUFBOztBSHl0QlQ7RUs1dEJBLDRDRkdTLEVBQUE7O0FIeXRCVDs7O0VDamxCYSxxQkV4SUo7RUhndkJMLHlCR2h2QkssRUFBQTs7QUh5dEJUO0VDamxCQSx1S0FBVyxFQUFBOztBRGlsQlg7RUMva0J5Qix5UkMvSHhCLEVBQUE7O0FGOHNCRDtFQW1DSSxvS0FBMEcsRUFBQTs7QUNSMUc7RUQycEJGLG9DQUFpRDtFQ3RyQm5ELGNBL2hCQyxFQUFBO0VBMGpCRztJQTNC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Q1EsRUFBQTtFSG1qRFI7Ozs7SUNuSUksV0VoN0NJLEVBQUE7RUhtakRSO0lDM0hJLHVDRXg3Q0ksRUFBQTs7QUhtakRSO0VDdEtBLG9DQXNESztFQUNELGNBM3dDSCxFQUFBO0VEMDNDRDtJQ3JLRSxjQXJ0Q0QsRUFBQTtJQWhEd0I7TUF5d0NyQixXRWw1Q0ksRUFBQTtJSG1qRFI7TUN4Sk0seUJBU0QsRUFBQTtFRCtJTDtJQ3RLQSxXRTc0Q1EsRUFBQTtFSG1qRFI7Ozs7SUNuSUksV0VoN0NJLEVBQUE7RUhtakRSO0lDM0hJLHVDRXg3Q0ksRUFBQTs7QUhtakRSO0VDdEtBLG9DQXNESztFQUNELGNBM3dDSCxFQUFBO0VEMDNDRDtJQ3JLRSxjQXJ0Q0QsRUFBQTtJQWhEd0I7TUF5d0NyQixjQXp0Q0gsRUFBQTtJRDAzQ0Q7TUN4Sk0seUJBU0QsRUFBQTtFRCtJTDtJQ3RLQSxjQXB0Q0MsRUFBQTtFRDAzQ0Q7Ozs7SUNuSUksY0F2dkNILEVBQUE7RUQwM0NEO0lDM0hJLDBDQS92Q0gsRUFBQTs7QUQwM0NEO0VDdEtBLG9DQXNESztFQUNELGNBM3dDSCxFQUFBO0VEMDNDRDtJQ3JLRSxjQXJ0Q0QsRUFBQTtJQWhEd0I7TUF5d0NyQixXRWw1Q0ksRUFBQTtJSG1qRFI7TUN4Sk0seUJBU0QsRUFBQTtFRCtJTDtJQ3RLQSxXRTc0Q1EsRUFBQTtFSG1qRFI7Ozs7SUNuSUksV0VoN0NJLEVBQUE7RUhtakRSO0lDM0hJLHVDRXg3Q0ksRUFBQTs7QUhtakRSO0VDdEtBLG9DQXNESztFQUNELGNBM3dDSCxFQUFBO0VEMDNDRDtJQ3JLRSxjQXJ0Q0QsRUFBQTtJQWhEd0I7TUF5d0NyQixXRWw1Q0ksRUFBQTtJSG1qRFI7TUN4Sk0seUJBU0QsRUFBQTtFRCtJTDtJQ3RLQSxXRTc0Q1EsRUFBQTtFSG1qRFI7Ozs7SUNuSUksV0VoN0NJLEVBQUE7RUhtakRSO0lDM0hJLHVDRXg3Q0ksRUFBQTs7QUhtakRSO0VDdEtBLGlDQXNESztFQUNELGNBM3dDSCxFQUFBO0VEMDNDRDtJQ3JLRSxjQXJ0Q0QsRUFBQTtJQWhEd0I7TUF5d0NyQixjQXJ0Q2dCLEVBQUE7SURzM0NwQjtNQ3hKTSx5QkFTRCxFQUFBO0VEK0lMO0lDdEtBLGNBaHRDb0IsRUFBQTtFRHMzQ3BCOzs7O0lDbklJLGNBbnZDZ0IsRUFBQTtFRHMzQ3BCO0lDM0hJLHFDQTN2Q2dCLEVBQUE7O0FEczNDcEI7RUN0S0Esb0NBc0RLO0VBQ0QsY0Ezd0NILEVBQUE7RUQwM0NEO0lDcktFLGNBcnRDRCxFQUFBO0lBaER3QjtNQXl3Q3JCLGNBcnRDZ0IsRUFBQTtJRHMzQ3BCO01DeEpNLHlCQVNELEVBQUE7RUQrSUw7SUN0S0EsY0FodENvQixFQUFBO0VEczNDcEI7Ozs7SUNuSUksY0FudkNnQixFQUFBO0VEczNDcEI7SUMzSEkseUNBM3ZDZ0IsRUFBQTs7QURzM0NwQjtFQ3RLQSxvQ0FzREs7RUFDRCxjQTN3Q0gsRUFBQTtFRDAzQ0Q7SUNyS0UsY0FydENELEVBQUE7SUFoRHdCO01BeXdDckIsY0FydENnQixFQUFBO0lEczNDcEI7TUN4Sk0seUJBU0QsRUFBQTtFRCtJTDtJQ3RLQSxjQWh0Q29CLEVBQUE7RURzM0NwQjs7OztJQ25JSSxjQW52Q2dCLEVBQUE7RURzM0NwQjtJQzNISSx5Q0EzdkNnQixFQUFBOztBRHN5RXRCLHk4dVhBQXk4dVgiLCJmaWxlIjoidmVuZG9yL2Nzcy9ydGwvY29sb3JzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTWl4aW5zXHJcbi8vXHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUlRML0xUUlxyXG5cclxuQG1peGluIGx0ci1vbmx5KCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLW9ubHkoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBbZGlyPXJ0bF0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsdHItc3R5bGUoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1zdHlsZSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogS2V5ZnJhbWVzXHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XHJcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2FyZXRzXHJcblxyXG5AbWl4aW4gY2FyZXQtZG93biB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMS41KTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtdXAge1xyXG4gIG1hcmdpbi10b3A6IC0wO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xyXG4gIG1hcmdpbi10b3A6IC0xICogKCRjYXJldC13aWR0aCAvIDIpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtbGVmdCB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMik7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1yaWdodDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSZXNwb25zaXplIGxvb3BzXHJcblxyXG5AbWl4aW4gcmVzcG9uc2l2ZS1sb29wLWJlZm9yZSgkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcclxuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xyXG5cclxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSAtIDEpKSB7XHJcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYWZ0ZXIoJHBhcmVudCwgJHN0YXJ0LWJyZWFrcG9pbnQ6IHNtKSB7XHJcbiAgJGN1ci1icmVha3BvaW50OiAkc3RhcnQtYnJlYWtwb2ludDtcclxuXHJcbiAgQHdoaWxlICRjdXItYnJlYWtwb2ludCB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGN1ci1icmVha3BvaW50KTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogYnJlYWtwb2ludC1taW4oJGN1ci1icmVha3BvaW50KSkge1xyXG4gICAgICAjeyRwYXJlbnR9I3skaW5maXh9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRjdXItYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRjdXItYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG4vLyBDb250cmFzdFxyXG5AbWl4aW4gY29sb3IteWlxKCRjb2xvcikge1xyXG4gIGNvbG9yOiB5aXEoJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XHJcbiAgI3skcGFyZW50fSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50OyB9XHJcbiAgYSN7JHBhcmVudH0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjk1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIiN7JHBhcmVudH0tZGFya2VyXCIsIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuODUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQnV0dG9uc1xyXG5cclxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsICRhY3RpdmUtYm9yZGVyOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkYmFja2dyb3VuZCwgaWYoJGJvcmRlciwgJGJvcmRlciwgJGJhY2tncm91bmQpKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG5cclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBCdXR0b24gZ3JvdXBzXHJcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxyXG4gIC5pbnB1dC1ncm91cC1wcmVwZW5kICN7JHBhcmVudH0sXHJcbiAgLmlucHV0LWdyb3VwLWFwcGVuZCAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYnRuLWNvbG9ycywgYmctYWN0aXZlKTtcclxuICAgIGJvcmRlci1sZWZ0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJG1kLWNvbG9yOiAkYmFja2dyb3VuZCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCk7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3c7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6IHJnYmEtdG8taGV4KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLndhdmVzLXJpcHBsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gI2ZmZiwgcmdiYSgkY29sb3IsIC4zKSwgcmdiYSgkY29sb3IsIC4yKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgLy8gRmxhdCBidXR0b25zXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGNvbG9yOiAkbWQtY29sb3I7XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICYuZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjEpO1xyXG4gICAgfVxyXG5cclxuICAgIC53YXZlcy1yaXBwbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdC5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjE1KTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkXHJcblxyXG4gICN7JHBhcmVudH0uZGlzYWJsZWQsXHJcbiAgI3skcGFyZW50fTpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogJG1hdGVyaWFsLWNvbXBvbmVudC1zaGFkb3cgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZGlzYWJsZWQsXHJcbiAgI3skcGFyZW50fS5tZC1idG4tZmxhdDpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBPdXRsaW5lIGJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogbnVsbCwgJGNvbG9yLWhvdmVyOiBudWxsLCAkaG92ZXItY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRjb2xvciwgJGNvbG9yKTtcclxuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJi5mb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIHNoYWRvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmZvY3VzIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmFjdGl2ZSAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcik9PTEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkY29sb3IpO1xyXG4gICRjb2xvci1ob3ZlcjogaWYoJGhvdmVyLWNvbG9yLCAkaG92ZXItY29sb3IsIHlpcSgkY29sb3IpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH06YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uYWN0aXZlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xyXG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyPT0jZmZmLCByZ2JhKCRjb2xvci1ob3ZlciwgLjMpLCByZ2JhKCRjb2xvci1ob3ZlciwgLjIpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmZvY3VzIC5iYWRnZSxcclxuICAjeyRwYXJlbnR9OmFjdGl2ZSAuYmFkZ2UsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxyXG4gIC5zaG93ID4gI3skcGFyZW50fS5kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcik9PTEsICRjb2xvciwgeWlxKCRjb2xvci1ob3ZlcikpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJhZGdlc1xyXG5cclxuQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYmFkZ2UtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9W2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoYWxwaGEoJGJnKSA9PSAxLCByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk1KSwgIzAwMCksIHJnYmEoJGJnLCBhbHBoYSgkYmcpICsgLjAzKSk7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogJGJnICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRiZyAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWJhZGdlLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogJGJnKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYmcgaW5zZXQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fVtocmVmXSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4gI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRiZyBpbnNldCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIERyb3Bkb3duc1xyXG5cclxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1kcm9wZG93bi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGkuYWN0aXZlOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2c1xyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgID4gLm5hdiAubmF2LWxpbmssXHJcbiAgJi5uYXYgLm5hdi1saW5rIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcclxuXHJcbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0udGFicy1hbHQubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LnRhYnMtYWx0ID4gLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkYmFja2dyb3VuZCBpbnNldDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcclxuICAkdGFicy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtdGFicycsICcjeyRwYXJlbnR9Lm5hdi10YWJzJyk7XHJcbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50ID09ICcnLCAnLm5hdi1waWxscycsICcjeyRwYXJlbnR9Lm5hdi1waWxscywgI3skcGFyZW50fSA+IC5uYXYtcGlsbHMnKTtcclxuXHJcbiAgI3skdGFicy1zZWxlY3Rvcn0gLm5hdi1saW5rIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XHJcbiAgfVxyXG5cclxuICAjeyRwaWxscy1zZWxlY3Rvcn0gLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgY29sb3I6IGlmKCRsaW5rLWNvbG9yLCAkbGluay1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXRoZW1lKCRjb2xvciwgJGxpbmstY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLW5hdi12YXJpYW50KCcnLCAkY29sb3IsICRsaW5rLWNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBhZ2luYXRpb25cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxyXG4gICN7JHBhcmVudH0ucGFnaW5hdGlvbiBsaS5hY3RpdmUgPiBhOm5vdCgucGFnZS1saW5rKSB7XHJcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstcGFnaW5hdGlvbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUHJvZ3Jlc3MgYmFyc1xyXG5cclxuQG1peGluIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBMaXN0IGdyb3Vwc1xyXG5cclxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XHJcbiAgJGNvbG9yOiB5aXEoJGJnKTtcclxuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjA3KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBhI3skcGFyZW50fSxcclxuICBidXR0b24jeyRwYXJlbnR9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJy5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBBbGVydHNcclxuXHJcbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1hbGVydC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJhY2tncm91bmQ6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xNSksICNmZmYpO1xyXG4gICRib3JkZXI6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NCksICMwMDApO1xyXG4gICRjb2xvcjogeWlxKCRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC1saW5rIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWFsZXJ0LWRhcmstdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UsXHJcbiAgICAuYWxlcnQtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVG9vbHRpcHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRvb2x0aXAtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogUG9wb3ZlcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgIC5wb3BvdmVyLWhlYWRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh5aXEoJGJhY2tncm91bmQpLC4yKTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvcG92ZXItYm9keSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gLmFycm93OjpiZWZvcmUgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4gICAgJi5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSA+IC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyLCAmLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm0gY29udHJvbHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKSB7XHJcbiAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRwYWRkaW5nLXggY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuXHJcbiAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAmLFxyXG4gICAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRwYWRkaW5nLXggY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltzaXplPVwiMFwiXTpub3QoW211bHRpcGxlXSkge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRkZWZhdWx0LWJhY2tncm91bmQ6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBAaWYgJGRlZmF1bHQtYmFja2dyb3VuZCB7XHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkYmFja2dyb3VuZCksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJy5jdXN0b20tY29udHJvbCcsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZTogbnVsbCwgJGNvbG9yOiBudWxsLCAkaWNvbjogbnVsbCkge31cclxuXHJcbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCRwYXJlbnQsICRzdGF0ZSkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbiwgJGljb24tcnRsKSB7XHJcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay1mb250LXNpemU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcclxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xyXG4gICAgbWFyZ2luLXRvcDogLjFyZW07XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XHJcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0LCAuZm9ybS1jb250cm9sLWZpbGUsIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wsIC5jdXN0b20tc2VsZWN0JywgJHN0YXRlKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tY29udHJvbFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRjb2xvciwgLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCB5aXEoJGNvbG9yKSksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1maWxlLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmFsaWRhdGlvbiBpY29uc1xyXG4gIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xyXG4gICAgLy8gSW5wdXRzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uLXJ0bDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5mb3JtLWNvbnRyb2wtc20nLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyLXNtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lci1zbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItbGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1oZWlnaHQtaW5uZXItbGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRleHRhcmVhc1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIHJpZ2h0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGxlZnQgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1zbScsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KSByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gLyA0KSBsZWZ0IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wtbGcnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9IC8gMi41KSByaWdodCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgbGVmdCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3VzdG9tIHNlbGVjdHNcclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tc2VsZWN0W3NpemU9XCIxXCJdLCAuY3VzdG9tLXNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSknLCAkc3RhdGUpIHtcclxuICAgICAgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQ6ICgoJGlucHV0LWhlaWdodC1pbm5lciAtICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCkgLyAzKSArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IsICRpY29uO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIsIHJpZ2h0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGwsICRpY29uLXJ0bDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIsIGxlZnQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdC1zbVtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Qtc206bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XHJcbiAgICAgICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0OiAoKCRpbnB1dC1oZWlnaHQtaW5uZXItc20gLSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgpIC8gNCkgKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctc207XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtIGNlbnRlciwgcmlnaHQgJGZvcm0tZmVlZGJhY2staWNvbi1vZmZzZXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctc207XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc20gY2VudGVyLCBsZWZ0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1zZWxlY3QtbGdbc2l6ZT1cIjFcIl0sIC5jdXN0b20tc2VsZWN0LWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKScsICRzdGF0ZSkge1xyXG4gICAgICAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldDogKCgkaW5wdXQtaGVpZ2h0LWlubmVyLWxnIC0gJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14KSAvIDIpICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZyBjZW50ZXIsIHJpZ2h0ICRmb3JtLWZlZWRiYWNrLWljb24tb2Zmc2V0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnIGNlbnRlciwgbGVmdCAkZm9ybS1mZWVkYmFjay1pY29uLW9mZnNldCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24sICRpY29uLXJ0bCkge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXHJcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcclxuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xyXG4gICAgZm9udC1zaXplOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xyXG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCwgLmZvcm0tY29udHJvbC1maWxlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQnLCAkc3RhdGUpIHtcclxuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuZm9ybS1jb250cm9sLCAuY3VzdG9tLXNlbGVjdCcsICRzdGF0ZSkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLWNvbnRyb2xbY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmN1c3RvbS1jaGVja2JveFtjbGFzc10gLmN1c3RvbS1jb250cm9sLWlucHV0JywgJHN0YXRlKSB7XHJcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tcmFkaW9bY2xhc3NdIC5jdXN0b20tY29udHJvbC1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJy5jdXN0b20tZmlsZS1pbnB1dCcsICRzdGF0ZSkge1xyXG4gICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFZhbGlkYXRpb24gaWNvbnNcclxuICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcclxuICAgIC8vIElucHV0c1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgnLmZvcm0tY29udHJvbCcsICRzdGF0ZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSAvIDMpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbi1ydGw7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGV4dGFyZWFzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCd0ZXh0YXJlYS5mb3JtLWNvbnRyb2wnLCAkc3RhdGUpIHtcclxuICAgICAgQGluY2x1ZGUgbHRyLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9IC8gMykgbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRlZCgndGV4dGFyZWEuZm9ybS1jb250cm9sLXNtJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSAvIDQpIGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0ZWQoJ3RleHRhcmVhLmZvcm0tY29udHJvbC1sZycsICRzdGF0ZSkge1xyXG4gICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gLyAyLjUpIHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSAvIDIuNSkgbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEN1c3RvbSBzZWxlY3RzXHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGVkKCcuY3VzdG9tLXNlbGVjdFtzaXplPVwiMVwiXSwgLmN1c3RvbS1zZWxlY3Q6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pJywgJHN0YXRlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvciwgJGljb247XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyLCByaWdodCAxcmVtIGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGwsICRpY29uLXJ0bDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlciwgbGVmdCAxcmVtIGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXNpemUoJHNpemUsICRwYWRkaW5nLXkpIHtcclxuICBAaWYgJHNpemUgPT0gJycge1xyXG4gICAgLmZvcm0tY29udHJvbCxcclxuICAgIC5jdXN0b20tc2VsZWN0LFxyXG4gICAgLmN1c3RvbS1maWxlLWxhYmVsLFxyXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KTtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIC5mb3JtLWNvbnRyb2wtI3skc2l6ZX0sXHJcbiAgICAuY3VzdG9tLXNlbGVjdC0jeyRzaXplfSxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5mb3JtLWNvbnRyb2wsXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuY3VzdG9tLXNlbGVjdCxcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLmZvcm0tY29udHJvbDpmb2N1cyxcclxuICAuY3VzdG9tLXNlbGVjdDpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tY29udHJvbC10aGVtZSgkY29sb3IpIHtcclxuICAuZm9ybS1jb250cm9sOmZvY3VzLFxyXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFN3aXRjaGVyc1xyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItc2l6ZS1iYXNlKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkd2lkdGg7XHJcbiAgbWluLWhlaWdodDogJGhlaWdodDtcclxuICBmb250LXNpemU6ICRkZXNjcmlwdGlvbi1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuXHJcbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZGVzY3JpcHRpb24tZm9udC1zaXplICogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICRkZWx0YTogaWYoJG1hdGVyaWFsLXN0eWxlLCBweC10by1yZW0oY2VpbChyZW0tdG8tcHgoJGhlaWdodCAqIC4xMjUpKSksIDApO1xyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAoJGRlbHRhICogMik7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogMCArICRkZWx0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDwgJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICB0b3A6ICRkZWx0YSAqIC0xO1xyXG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xyXG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcclxuICAgIGhlaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLW5vIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLXllcyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiAkZGVsdGEgKiAtMTtcclxuICAgICAgd2lkdGg6ICRoZWlnaHQ7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLW5vIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXIteWVzIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgLnN3aXRjaGVyLSN7JHNpemV9LFxyXG4gIC5mb3JtLWdyb3VwLSN7JHNpemV9IC5zd2l0Y2hlciB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC41KTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgnJywgJGJhY2tncm91bmQpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLnN3aXRjaGVyLWlucHV0W2NsYXNzXSB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiB5aXEoJGNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLCAuNCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLnN3aXRjaGVyLWlucHV0W2NsYXNzXSB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yW2NsYXNzXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC41KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJsZXNcclxuXHJcbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC4xKSwgI2ZmZik7XHJcbiAgJGNvbG9yOiB5aXEoJGJnKTtcclxuICAkaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTkpLCAjMDAwKTtcclxuXHJcbiAgLnRhYmxlICN7JHBhcmVudH0sXHJcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0aCxcclxuICAudGFibGUgI3skcGFyZW50fSA+IHRkIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMDM1KSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyLFxyXG4gIC50YWJsZS1ob3ZlciAjeyRwYXJlbnR9OmhvdmVyID4gdGQsXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2YmFyXHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXZiYXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zaG93ID4gLm5hdi1saW5rLFxyXG4gICAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxyXG4gICAgICAubmF2LWxpbmsuc2hvdyxcclxuICAgICAgLm5hdi1saW5rLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZihtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcikgPT0gI2ZmZiwgJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZywgJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG5AbWl4aW4gYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwsICRtZW51LWJnOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG4gICR5aXEtcGVyY2VudDogbWFwLWdldCgkY29sb3JzLCB5aXEtcGVyY2VudCk7XHJcblxyXG4gIEBpZiBub3QgJG1lbnUtYmcge1xyXG4gICAgJG1lbnUtYmc6IHJnYmEtdG8taGV4KHJnYmEobWFwLWdldCgkY29sb3JzLCBiZyksIDEgLSBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIC4wMjUsIC4wNSkpLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICNmZmYsICMwMDApKTtcclxuICB9XHJcblxyXG4gICRtZW51LWFjdGl2ZS1iZzogcmdiYS10by1oZXgocmdiYSgkbWVudS1iZywgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLnNpZGVuYXYtbGluayxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldixcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0uZGlzYWJsZWQgLnNpZGVuYXYtbGluayxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtcHJldi5kaXNhYmxlZCxcclxuICAgIC5zaWRlbmF2LWhvcml6b250YWwtbmV4dC5kaXNhYmxlZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWl0ZW0ub3Blbjpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LXRvZ2dsZSxcclxuICAgIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluayB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtbWVudSA+IC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazpub3QoLnNpZGVuYXYtdG9nZ2xlKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWFjdGl2ZS1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW06bm90KC5zaWRlbmF2LWl0ZW0tY2xvc2luZykgPiAuc2lkZW5hdi1tZW51LFxyXG4gICAgJi5zaWRlbmF2LWhvcml6b250YWwgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LW1lbnUsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0uc2lkZW5hdi1pdGVtLWNsb3NpbmcgLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaGVhZGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgbXV0ZWQtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGhyLFxyXG4gICAgLnNpZGVuYXYtZGl2aWRlcixcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtbWVudTo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWhlYWRlcjo6YmVmb3JlLFxyXG4gICAgLnNpZGVuYXYtYmxvY2s6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi10b2dnbGU6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSwgJG1lbnUtYmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0uYWN0aXZlID4gLnNpZGVuYXYtbGluazo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlLFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJG1lbnUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLnBzX190aHVtYi15LFxyXG4gICAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvciksIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgbWFwLWdldCgkY29sb3JzLCBvcGFjaXR5KSAtIC40LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjIpKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvb3RlclxyXG5cclxuQG1peGluIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAuZm9vdGVyLWxpbmsge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLXRleHQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93ID4gLmZvb3Rlci1saW5rLFxyXG4gICAgLmFjdGl2ZSA+IC5mb290ZXItbGluayxcclxuICAgIC5mb290ZXItbGluay5zaG93LFxyXG4gICAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRvYXN0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9LmJzNC10b2FzdCB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgLjkpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLnRvYXN0LWhlYWRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay10b2FzdC10aGVtZSgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b2FzdC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIiRydGwtc3VwcG9ydDogdHJ1ZTtcclxuXHJcbkBpbXBvcnQgXCIuLi9fYXBwd29yay9pbmNsdWRlXCI7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ3VzdG9tIGNvbG9yc1xyXG5cclxuJGN1c3RvbS1jb2xvcnM6IChcclxuICB0d2l0dGVyOiAjMURBMUYyLFxyXG4gIGdvb2dsZTogI0QxNTIzRixcclxuICBmYWNlYm9vazogIzNCNTk5OCxcclxuICBwaW50ZXJlc3Q6ICNiZDEyMWMsXHJcbiAgaW5zdGFncmFtOiAjMDAwLFxyXG4gIGZsaWNrcjogI2ZmMDA4NCxcclxuICBsaW5rZWRpbjogIzAwNzdiNSxcclxuICBwZXJpc2NvcGU6ICM0MGE0YzQsXHJcbiAgdHVtYmxyOiAjMzU0NjVjLFxyXG4gIHZpbWVvOiAjMWFiN2FlLFxyXG4gIHlvdXR1YmU6ICNiMzEyMTcsXHJcblxyXG4gIHdpbmRvd3M6ICMyNkFBRTEsXHJcbiAgbWFjb3M6ICMzNDM0MzQsXHJcbiAgbGludXg6ICM4MDAwODBcclxuKSAhZGVmYXVsdDtcclxuXHJcbkBlYWNoICRjb2xvci1uYW1lLCAkY29sb3ItdmFsdWUgaW4gJGN1c3RvbS1jb2xvcnMge1xyXG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUpO1xyXG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy0jeyRjb2xvci1uYW1lfScsICRjb2xvci12YWx1ZSk7XHJcblxyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJvb3RzdHJhcCBjb2xvcnMgKFVuY29tbWVudCByZXF1aXJlZCBjb2xvcnMpXHJcblxyXG4kYm9vdHN0cmFwLWNvbG9yczogKFxyXG4gIC8vIGJsdWU6ICRibHVlLFxyXG4gIC8vIGluZGlnbzogJGluZGlnbyxcclxuICAvLyBwdXJwbGU6ICRwdXJwbGUsXHJcbiAgLy8gcGluazogJHBpbmssXHJcbiAgLy8gb3JhbmdlOiAkb3JhbmdlLFxyXG4gIC8vIHRlYWw6ICR0ZWFsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5AZWFjaCAkY29sb3ItbmFtZSwgJGNvbG9yLXZhbHVlIGluICRib290c3RyYXAtY29sb3JzIHtcclxuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUpO1xyXG4gIC5ib3JkZXItI3skY29sb3ItbmFtZX0geyBib3JkZXItY29sb3I6ICRjb2xvci12YWx1ZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLSN7JGNvbG9yLW5hbWV9JywgJGNvbG9yLXZhbHVlKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJ1dHRvbnNcclxuXHJcbkBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4td2hpdGUnLCAjZmZmLCAkYm9keS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXdoaXRlJywgI2ZmZiwgJGJvZHktY29sb3IpO1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEN1c3RvbSBjb250cm9sc1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWNvbG9yczogKFxyXG4gIGJsYWNrOiAjMDAwLFxyXG4gIHdoaXRlOiAjZmZmLFxyXG4gIHNpbHZlcjogI2VlZSxcclxuICBncmF5OiAjNzc3LFxyXG4gIGdvbGQ6ICNmZmViM2IsXHJcbiAgcGluazogI2U5MWU2MyxcclxuICByZWQ6ICNmNDQzMzZcclxuKSAhZGVmYXVsdDtcclxuXHJcbkBlYWNoICRjb2xvci1uYW1lLCAkY29sb3ItdmFsdWUgaW4gJGN1c3RvbS1jb250cm9sLWNvbG9ycyB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNvbnRyb2wtI3skY29sb3ItbmFtZX0nLCAkY29sb3ItdmFsdWUsICRkZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvci12YWx1ZSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZiYXJcclxuXHJcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xyXG4gIEBpZiAkY29sb3IgIT0gcHJpbWFyeSBhbmQgJGNvbG9yICE9IGxpZ2h0IHtcclxuICAgIEBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctI3skY29sb3J9JywgJHZhbHVlKTtcclxuICB9XHJcbn1cclxuQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy13aGl0ZScsICAgI2ZmZiwgICAgICAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctbGlnaHQnLCAgICRncmF5LTEwMCwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcubmF2YmFyLmJnLWxpZ2h0ZXInLCAkZ3JheS01MCwgICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctI3skY29sb3J9JywgJHZhbHVlKTtcclxuICB9XHJcbn1cclxuQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLXdoaXRlJywgI2ZmZiwgICAgICAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IsICRtZW51LWJnOiAjZmZmKTtcclxuQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5zaWRlbmF2LmJnLWxpZ2h0JywgJGdyYXktMTAwLCAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctbGlnaHRlcicsICRncmF5LTUwLCAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9vdGVyXHJcblxyXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICBAaWYgJGNvbG9yICE9IHByaW1hcnkgYW5kICRjb2xvciAhPSBsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLSN7JGNvbG9yfScsICR2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbkBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctd2hpdGUnLCAgICNmZmYsICAgICAgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLWxpZ2h0JywgICAkZ3JheS0xMDAsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmZvb3Rlci5iZy1saWdodGVyJywgJGdyYXktNTAsICAkY29sb3I6ICR0ZXh0LW11dGVkLCAkYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcik7XHJcbiIsIi8vIEZ1bmN0aW9uc1xyXG4vL1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE1hdGhcclxuXHJcbiRwaTogMy4xNDE1OTI2NTM1OTtcclxuJF9wcmVjaXNpb246IDEwO1xyXG5cclxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cCkge1xyXG4gICR2YWx1ZTogJGJhc2U7XHJcbiAgQGlmICRleHAgPiAxIHtcclxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cCB7XHJcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkZXhwIDwgMXtcclxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNxcnQoJHIpIHtcclxuICAkeDA6IDE7XHJcbiAgJHgxOiAkeDA7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xyXG4gICAgJHgxOiAkeDAgLSAoJHgwICogJHgwIC0gYWJzKCRyKSkgLyAoMiAqICR4MCk7XHJcbiAgICAkeDA6ICR4MTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHgxO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZmFjdCgkbnVtKSB7XHJcbiAgJGZhY3Q6IDE7XHJcbiAgQGlmICRudW0gPiAwe1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtIHtcclxuICAgICAgJGZhY3Q6ICRmYWN0ICogJGk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGZhY3Q7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSkge1xyXG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJkZWdcIiB7XHJcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDE4MGRlZyAqICRwaTtcclxuICB9XHJcbiAgQGlmIHVuaXQoJGFuZ2xlKSA9PSBcInJhZFwiIHtcclxuICAgICRhbmdsZTogJGFuZ2xlIC8gMXJhZDtcclxuICB9XHJcbiAgQHJldHVybiAkYW5nbGU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzaW4oJGFuZ2xlKXtcclxuICAkYTogX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpO1xyXG4gICRzaW46ICRhO1xyXG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xyXG4gICAgJHNpbjogJHNpbiArIChwb3coLTEsICRuKSAvIGZhY3QoMiAqICRuICsgMSkgKSAqIHBvdygkYSwgKDIgKiAkbiArIDEpKTtcclxuICB9XHJcbiAgQHJldHVybiAkc2luO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gY29zKCRhbmdsZSl7XHJcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcclxuICAkY29zOiAxO1xyXG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJF9wcmVjaXNpb24ge1xyXG4gICAgJGNvczogJGNvcyArICggcG93KC0xLCRuKSAvIGZhY3QoMiokbikgKSAqIHBvdygkYSwyKiRuKTtcclxuICB9XHJcbiAgQHJldHVybiAkY29zO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdGFuKCRhbmdsZSl7XHJcbiAgQHJldHVybiBzaW4oJGFuZ2xlKSAvIGNvcygkYW5nbGUpO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdHNcclxuXHJcbkBmdW5jdGlvbiBzbGljZS1saXN0KCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICAkcmVzdWx0OiBudWxsO1xyXG5cclxuICBAaWYgdHlwZS1vZigkc3RhcnQpICE9IG51bWJlciBvciB0eXBlLW9mKCRlbmQpICE9IG51bWJlciB7XHJcbiAgICBAd2FybiBcIkVpdGhlciAkc3RhcnQgb3IgJGVuZCBhcmUgbm90IGEgbnVtYmVyIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAd2FybiBcIlRoZSBzdGFydCBpbmRleCBoYXMgdG8gYmUgbGVzc2VyIHRoYW4gb3IgZXF1YWxzIHRvIHRoZSBlbmQgaW5kZXggZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkc3RhcnQgPCAxIG9yICRlbmQgPCAxIHtcclxuICAgIEB3YXJuIFwiTGlzdCBpbmRleGVzIG11c3QgYmUgbm9uLXplcm8gaW50ZWdlcnMgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkc3RhcnQgPiBsZW5ndGgoJGxpc3QpIHtcclxuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRzdGFydH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRlbmQgPiBsZW5ndGgoJGxpc3QpIHtcclxuICAgIEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRlbmR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTdHJpbmdzXHJcblxyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XHJcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XHJcblxyXG4gIEBpZiAkaW5kZXgge1xyXG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyaW5nO1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ29sb3JzXHJcblxyXG5AZnVuY3Rpb24gcmdiYS10by1oZXgoJGNvbG9yLCAkYmFja2dyb3VuZDogI2ZmZikge1xyXG4gIEBpZiAkY29sb3IgYW5kIGFscGhhKCRjb2xvcikgIT0gMSB7XHJcbiAgICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XHJcbiAgICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XHJcblxyXG4gICAgQHJldHVybiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24geWlxLXZhbHVlKCRjb2xvcikge1xyXG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgQHJldHVybiAkYm9keS1jb2xvcjtcclxuICB9IEBlbHNlIGlmIGFscGhhKCRjb2xvcikgIT0gMSB7XHJcbiAgICAkY29sb3I6IHJnYmEtdG8taGV4KCRjb2xvcik7XHJcbiAgfVxyXG5cclxuICAkcjogcmVkKCRjb2xvcik7XHJcbiAgJGc6IGdyZWVuKCRjb2xvcik7XHJcbiAgJGI6IGJsdWUoJGNvbG9yKTtcclxuXHJcbiAgQHJldHVybiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XHJcbn1cclxuXHJcbi8vIENvbG9yIGNvbnRyYXN0XHJcbkBmdW5jdGlvbiB5aXEoJGNvbG9yKSB7XHJcbiAgJHlpcTogeWlxLXZhbHVlKCRjb2xvcik7XHJcblxyXG4gIEBpZiAoJHlpcSA+PSAxNjApIHtcclxuICAgIEByZXR1cm4gcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC40MCksICMwMDApO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFVuaXRzXHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG51bWJlcjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHB4LXRvLXJlbSgkdmFsdWUpIHtcclxuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXHJcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpIC8gMTYpICogMXJlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbS10by1weCgkdmFsdWUpIHtcclxuICAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQgZm9udCBzaXplID0gYDE2cHhgXHJcbiAgQHJldHVybiAoc3RyaXAtdW5pdCgkdmFsdWUpICogMTYpICogMXB4O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVXRpbGl0aWVzXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWJ0bi1jb2xvcnMoJGJhY2tncm91bmQsICRib3JkZXIpIHtcclxuICBAaWYgJGJhY2tncm91bmQgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEocmdiYS10by1oZXgoJGJvcmRlciwgIzAwMCksIC4wNSk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYm9yZGVyLCAuMDYpLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEoJGJvcmRlciwgLjEyKSxcclxuICAgICAgYm9yZGVyOiAgICAkYm9yZGVyLFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdylcclxuICAgICk7XHJcbiAgfSBAZWxzZSBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XHJcbiAgICAkYmctYWxwaGE6ICAgYWxwaGEoJGJhY2tncm91bmQpO1xyXG4gICAgJGJ0bi1zaGFkb3c6IHJnYmEoJGJhY2tncm91bmQsICRiZy1hbHBoYSAtICgkYmctYWxwaGEgKiA1NSAvIDEwMCkgKTtcclxuXHJcbiAgICBAcmV0dXJuIChcclxuICAgICAgYmctaG92ZXI6ICByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjA1KSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgKyAwLjEzKSxcclxuICAgICAgYm9yZGVyOiAgICB0cmFuc3BhcmVudCxcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXHJcbiAgICApO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgIzAwMCksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjg3KSwgIzAwMCksXHJcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpLCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kKSB7XHJcbiAgQGlmIGFscGhhKCRiYWNrZ3JvdW5kKSAhPSAxIHtcclxuICAgICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIChcclxuICAgIGJnLWhvdmVyOiAgcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjk1KSwgI2ZmZiksXHJcbiAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICNmZmYpLFxyXG4gICk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3I6IG51bGwsICRpbmFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRiZzogcmdiYS10by1oZXgoJGJnKTtcclxuICAkYWN0aXZlLWNvbG9yOiByZ2JhLXRvLWhleCgkYWN0aXZlLWNvbG9yKTtcclxuICAkYWN0aXZlLWNvbG9yOiBpZigkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgJHlpcS1wZXJjZW50OiB5aXEtdmFsdWUoJGJnKSAvIDI1NTtcclxuICAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6IDEgLSAkeWlxLXBlcmNlbnQ7XHJcblxyXG4gICRvcGFjaXR5OiBpZigkYWN0aXZlLWNvbG9yID09ICNmZmYsIC42ICsgKC40ICogJHlpcS1wZXJjZW50KSwgLjYgKyAoLjQgKiAoMSAtICR5aXEtcGVyY2VudCkpKTtcclxuXHJcbiAgJGNvbG9yOiBpZigkaW5hY3RpdmUtY29sb3IsIHJnYmEtdG8taGV4KCRpbmFjdGl2ZS1jb2xvciwgJGJnKSwgcmdiYS10by1oZXgocmdiYSgkYWN0aXZlLWNvbG9yLCBpZigkeWlxLXBlcmNlbnQgPCAuMjUsICRvcGFjaXR5IC0gLjE1LCAkb3BhY2l0eSkpLCAkYmcpKTtcclxuICAkZGlzYWJsZWQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNiksICRiZyk7XHJcbiAgJG11dGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjc1KSwgJGJnKTtcclxuICAkYm9yZGVyOiBpZigkYm9yZGVyLCAkYm9yZGVyLCBpZigkeWlxLXBlcmNlbnQgPiAuNzUsIHJnYmEoJGFjdGl2ZS1jb2xvciwgJG9wYWNpdHkgLyA4KSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCByZ2JhKCRhY3RpdmUtY29sb3IsIC4wNiksIHJnYmEoJGFjdGl2ZS1jb2xvciwgLjE1KSkpKTtcclxuXHJcbiAgQHJldHVybiAoXHJcbiAgICAvLyBNZXRhZGF0YVxyXG4gICAgb3BhY2l0eTogJG9wYWNpdHksXHJcbiAgICB5aXEtcGVyY2VudDogJHlpcS1wZXJjZW50LFxyXG4gICAgeWlxLXBlcmNlbnQtaW52ZXJ0ZWQ6ICR5aXEtcGVyY2VudC1pbnZlcnRlZCxcclxuXHJcbiAgICAvLyBDb2xvcnNcclxuICAgIGJnOiAkYmcsXHJcbiAgICBjb2xvcjogJGNvbG9yLFxyXG4gICAgYWN0aXZlLWNvbG9yOiAkYWN0aXZlLWNvbG9yLFxyXG4gICAgZGlzYWJsZWQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcixcclxuICAgIG11dGVkLWNvbG9yOiAkbXV0ZWQtY29sb3IsXHJcbiAgICBib3JkZXI6ICRib3JkZXJcclxuICApO1xyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */
