@font-face{font-family:'icomoon';src:url("../font/fonts/icomoon.eot?su9wsx");src:url("../font/fonts/icomoon.eot?su9wsx#iefix") format('embedded-opentype'),url("../font/fonts/icomoon.woff?su9wsx") format('woff'),url("../font/fonts/icomoon.ttf?su9wsx") format('truetype'),url("../font/fonts/icomoon.svg?su9wsx#icomoon") format('svg');font-weight:normal;font-style:normal}.icon{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;text-decoration:none;display:inline-block;vertical-align:middle;position:relative}.icon-item{display:inline-block;vertical-align:top;position:relative;padding-left:35px;}.icon-item .icon{position:absolute;left:0;top:50%;font-size:26px;margin-top:-13px;color:#19417d;}.icon-item .icon.small{font-size:12px;left:7px;margin-top:-6px}.icon-item + br + .icon-item{margin-top:2px}.icon-item + .icon-item{margin-left:20px}.big .icon-item + br + .icon-item{margin-top:5px}.big .icon-item + .icon-item{margin-left:0;}@media (min-width:480px){.big .icon-item + .icon-item{margin-left:20px}}@media (min-width:700px){.big .icon-item + .icon-item{margin-left:80px}}.icon-all-pictures{position:relative;width:26px;height:26px;}.icon-all-pictures:before{content:"";position:absolute;left:3px;width:16px;height:22px;border:2px solid #969696}.icon-all-pictures:after{content:"";position:absolute;top:3px;left:0;width:22px;height:16px;border:2px solid #969696;background-color:rgba(255,255,255,0.6)}.icon-warning:before{content:"\e91f"}.icon-ext:before{content:"\e612"}.icon-menu:before{content:"\e652"}.icon-refresh:before{content:"\e654";display:block;-webkit-animation:Rotate 1500ms infinite linear;-moz-animation:Rotate 1500ms infinite linear;-o-animation:Rotate 1500ms infinite linear;-ms-animation:Rotate 1500ms infinite linear;animation:Rotate 1500ms infinite linear}.icon-tick:before{content:"\e614"}.icon-logo:before{content:"\e911"}.icon-cart:before{content:"\e91e"}.icon-close:before{content:"\e900"}.icon-cog:before{content:"\e901"}.icon-disabled:before{content:"\e902"}.icon-dots:before{content:"\e903"}.icon-download:before{content:"\e904"}.icon-editing:before{content:"\e905"}.icon-expo:before{content:"\e906"}.icon-eye:before{content:"\e907"}.icon-forward:before{content:"\e908"}.icon-heart-add:before{content:"\e909"}.icon-heart-inner:before{content:"\e90a"}.icon-heart-outline:before{content:"\e90b"}.icon-heart-remove:before{content:"\e90c"}.icon-heart:before{content:"\e90d"}.icon-label:before{content:"\e90e"}.icon-landscape:before{content:"\e90f"}.icon-logo-symbol:before{content:"\e910"}.icon-mail:before{content:"\e912"}.icon-phone:before{content:"\e913"}.icon-photo:before{content:"\e914"}.icon-portrait:before{content:"\e915"}.icon-print:before{content:"\e916"}.icon-rate:before{content:"\e917"}.icon-remove:before{content:"\e918"}.icon-research:before{content:"\e919"}.icon-search:before{content:"\e91a"}.icon-time:before{content:"\e91b"}.icon-trash:before{content:"\e91c"}.icon-user:before{content:"\e91d"}.icon-local:before{content:"\e922"}.icon-mr:before{content:"\e921"}.icon-pr:before{content:"\e920"}.icon-editorial:before{content:"\e923"}.icon-no-sell:before{content:"\e925"}.icon-no-archive:before{content:"\e924"}.icon-video:before{content:"\e926"}.icon-infographics:before{content:"\e927"}@-moz-keyframes Rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes Rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes Rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes Rotate{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}body{width:100% !important;color:#000;background:none;font:16px/1.4 'PT Sans',Arial,"Helvetica Neue",Helvetica,sans-serif}#menu-main,#menu-accessibility,#menu-other,#menu-sub,.menu-context,#box-weather,.box-offer,.box-list,.box-offer-body,.box-article-footer .social,.box-article-footer .right,.box-article-footer .btn-wrap,.box-article-footer .comments,.crossroad-grid .list-item .crossroad-light,.crossroad-grid .list-item .box-weather,.crossroad-grid .list-item .box-enquiry,.crossroad-grid .list-item .box-offer,#footer .menu,#footer .apps,#footer .up,#footer .social,.footer__r,.box-popup,.box-cookie,.box-contact-us,.box-detail-next,.box-detail-prev,.box-detail-close,.box-purchase,.box-detail-overlay-img,.page-detail .col-side,.box-search-filter,.form-search,#header,form,.noprint,.btn-wrap,.btn,.link-more,.slide-link,.pager,.pages,.prev,.next{display:none}.has-detail #main .row-main,.has-detail #main .crossroad-photos{display:none}#dynamic-img{display:none !important}.highlight .more{display:none}.section-blue.margin .vhide,.box-context .vhide{display:none}h1,h2,h3,h4,h5,h6,caption{font-family:'PT Sans',Arial,"Helvetica Neue",Helvetica,sans-serif;font-weight:bold;line-height:1.2;margin:1.5em 0 .5em}h1{font-size:32px;margin-top:.75em;}@media (min-width:700px){h1{font-size:40px}}h2,caption{font-size:24px}h3{font-size:20px}h4,h5,h6{font-size:18px}.title-main{text-transform:uppercase;margin:0 0 15px;font-size:20px}table{margin:15px 1pt 35px;text-align:left;border-collapse:collapse;width:98% !important;font-size:8pt}tr{page-break-inside:avoid}th,td{border:1pt solid #000;padding:4px 10px 4px 10px}th{font-weight:bold}#header{border-bottom:1pt solid #000;padding:0 20px 30px;margin:0 0 20px;}#header .vhide{display:none}#logo{font:100%/1 'PT Sans',Arial,"Helvetica Neue",Helvetica,sans-serif;margin:0;padding:0;overflow:hidden;position:relative;width:268px;height:52px;color:#000;}#logo .icon{font-size:268px;margin-top:-134px;position:absolute;top:50%;left:0}#main{padding:0 20px}.copyrights{border-top:1pt solid #000;padding:20px 20px;margin:30px 0 0;font-size:14px;text-align:center;}.copyrights strong{font-weight:normal;margin:0 15px}.copyrights .icon{vertical-align:middle;font-size:40px;top:-2px}#main .copyrights{margin-left:-20px;margin-right:-20px}.form-order{display:block;margin-bottom:30px}

.crossroad-photos .list{font-size:0;margin-bottom:30px;page-break-inside: auto;page-break-after:auto; page-break-before:auto}
.footer {clear: both;}
.crossroad-photos .in-lightbox, .box-lightbox .wrap{ page-break-after:auto; page-break-inside: auto; page-break-before:auto; }
.box-lightbox .title{ height: 34px; overflow: hidden; page-break-after:auto;page-break-inside: auto; page-break-before:auto; width: 100% !important; float: left;}
.crossroad-photos .item{float: left;font-size:12px;height:auto !important;page-break-inside: avoid !important;list-style:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-right:1px solid #f1f1f1;border-top:1px solid #f1f1f1;padding:20px;page-break-after:auto;}

.crossroad-photos .item:nth-child(1),.crossroad-photos .item:nth-child(2),.crossroad-photos .item:nth-child(3),.crossroad-photos .item:nth-child(4){border-top:0}.crossroad-photos .item:nth-child(4n+4){border-right:0}.crossroad-photos .icons,.crossroad-photos .hover{display:none}.crossroad-photos .inner{height:150px;width:100%}.crossroad-photos .image{display:table-cell;vertical-align:bottom;text-align:center;}.crossroad-photos .image img{max-height:150px;height:auto;width:auto;max-width:100%}.crossroad-photos .title{height: 34px; overflow: hidden; color:#afbbbd;font-size:12px}.crossroad-photos .date{margin-bottom:0;color:#000;font-size:12px}.box-detail{width:100%;display:table;}.box-detail .img-wrap{display:table-cell;width:43%;padding-right:2%;vertical-align:top;}.box-detail .img-wrap .icon,.box-detail .img-wrap .icon-item{display:none}.box-detail .info{display:table-cell;width:50%;vertical-align:top;}.box-detail .info h1{font-size:20px}.box-detail .info .show-info{font-size:13px;}.box-detail .info .show-info th,.box-detail .info .show-info td{padding:3px}.box-detail .variants{margin-left:0;}.box-detail .variants li{list-style:none;font-size:13px;padding-left:0}.section-double .row-main{display:table}.section-double .col{display:table-cell;width:50%;vertical-align:top}.crossroad-icons ul{display:block;font-size:0}.crossroad-icons li{page-break-inside:avoid;display:inline-block !important;vertical-align:top;font-size:13px;width:31% !important;margin-right:2% !important}.news ul{display:-webkit-box !important;display:-moz-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:box !important;display:flex !important;-webkit-box-lines:multiple;-moz-box-lines:multiple;-o-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.news li{width:31% !important;margin-right:2% !important}.news .img{display:block}.news .more{display:none}.box-tabs .menu{display:none}.box-tabs .row{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-o-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.box-tabs .col{width:25%}.box-partner{margin:auto;text-align:center}.box-photoshoot{overflow:hidden;margin-bottom:30px;}.box-photoshoot .image{float:left;width:45%;margin-right:5%}.box-photoshoot .text{float:left;width:50%}.box-review-cooperation{display:table;width:100%;}.box-review-cooperation .box-cooperation,.box-review-cooperation .box-customer-review{display:table-cell;width:50%}.box-cooperation ul{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-o-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-moz-box-align:center;-o-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.box-cooperation li{list-style:none;width:33.33%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:10px;text-align:center;vertical-align:middle}.restrictions .list{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-o-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.restrictions .item{width:43%;padding-right:2%;vertical-align:top;list-style:none}.crossroad-people ul,.crossroad-title ul{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:box;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-o-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.crossroad-people li,.crossroad-title li{width:25% !important;vertical-align:top}.crossroad-people .img,.crossroad-title .img{display:block}.crossroad-people{margin-bottom:30px}.crossroad-title{font-size:12px;}.crossroad-title h2{font-size:16px}.crossroad-title dt{float:none;width:auto}.box-address .box-gmap{display:none}.form-order .btn-wrap{display:block}.reset{border:none;margin:0;padding:0;background:none;}.reset td,.reset th{border:none;background:none;padding:0}.reset > li,.reset > dt,.reset > dd{margin:0;padding:0;background:none;border:none;font-weight:inherit;float:none;display:inherit;text-align:inherit;width:auto}.big{font-size:20px}.small{font-size:14px}p{margin:0 0 1.25em}hr{border:none;border-top:1px solid #ddd;margin:40px 0;height:1px;overflow:hidden}blockquote{margin:0 0 25px 20px;padding:15px 0 1px 15px;border-left:5px solid #ddd;position:relative;font-style:normal;font-style:italic;}blockquote:before{content:'„';position:absolute;left:-20px;top:50%;margin-top:-56px;font-size:70px;line-height:1}blockquote p{margin:0 0 10px}a{color:#000;text-decoration:none}ul,ol{margin:0 0 1.25em 20px;padding:0;list-style-position:inside}li{paddingmargin:0 0 .25em;}li ol,li ul{margin:.25em 0 0}dl{margin:0 0 1.25em}dt{margin:0;padding:0;float:left;width:150px}dd{margin:0;padding:0 0 0 10px;overflow:hidden}table{width:100%;font-size:16px;clear:both;margin:0 0 1.25em;empty-cells:show;border-collapse:collapse;border:1px solid #ddd}caption{font-weight:bold;text-align:left;caption-side:top}td,th{vertical-align:top;padding:8px 10px;border:1px solid #ddd;border-width:1px 0}th{font-weight:bold}img.l{margin:.25em 20px 20px 0;float:left}img.r{float:right;margin:.25em 0 20px 20px}img{max-width:100%;height:auto}.tag{display:inline-block;vertical-align:middle;line-height:17px;text-transform:uppercase;font-weight:bold;font-size:11px;color:#fff;padding:1px 5px 0;position:relative;text-decoration:none;background:#000}.crossroad-grid{margin:0 0 40px;max-width:1100px;}.crossroad-grid .list{height:auto !important;zoom:1;line-height:20px;margin:0 0 0 -20px;}.crossroad-grid .list:after,.crossroad-grid .list:before{content:'';display:table;clear:both}.crossroad-grid .list p{margin:0}.crossroad-grid li{position:static !important;float:left;width:280px;}.crossroad-grid li > .inner{display:block;text-decoration:none;margin:0 0 20px 20px;border:1px solid #ddd;color:#000;overflow:hidden;padding:0 0 10px;height:285px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.crossroad-grid .img{margin:0;height:180px;line-height:180px;overflow:hidden;font-size:0;text-align:center;position:relative;}.crossroad-grid .img .tag{left:10px}.crossroad-grid .content{padding:15px 10px 0;overflow:hidden;max-height:260px}.crossroad-grid .title{font-size:24px;line-height:28px;font-weight:bold;margin:0 0 12px;}.crossroad-grid .title.thin{font-weight:normal}.crossroad-grid p.title{margin-bottom:12px}.crossroad-grid .desc{display:inline}.crossroad-grid .date{color:#969696;display:inline}.crossroad-grid .tag{position:absolute;left:10px;bottom:10px;}.crossroad-grid .tag ~ .content{max-height:235px;margin-bottom:25px}.crossroad-grid li > .inner-autoHeight{height:auto !important;}.crossroad-grid li > .inner-autoHeight .content{max-height:none}.crossroad-grid li > .inner-autoHeight .title{margin:-2px 0 0}.crossroad-grid li > .inner-img .content{max-height:84px}.crossroad-grid li > .inner-img .title{display:inline}.crossroad-grid li > .inner-pattern{height:170px}.crossroad-grid .main{width:560px;font-size:20px;line-height:28px;}.crossroad-grid .main > .inner{height:540px;}.crossroad-grid .main > .inner .img{height:380px}.crossroad-grid .main .content{max-height:515px}.crossroad-grid .main .tag ~ .content{max-height:490px}.crossroad-grid .main .title{font-size:40px;line-height:44px}.crossroad-grid .main > .inner-img .content{max-height:132px}.crossroad-light{margin:0 -20px 40px;}.crossroad-light .title-main{padding:0 20px}.crossroad-light ul{font-size:0;margin:0 0 20px;line-height:60px;border-top:1px solid #ddd;position:relative;}@media (-webkit-min-device-pixel-ratio:0){.crossroad-light ul{letter-spacing:-1px}}.crossroad-light ul > *{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%;font-size:0}.ie7 .crossroad-light ul > *{display:inline;zoom:1}.crossroad-light ul a{display:block;padding:20px 20px 20px 100px;color:#000;text-decoration:none;zoom:1;}.crossroad-light ul a:after,.crossroad-light ul a:before{content:'';display:table;clear:both}.crossroad-light li{border-bottom:1px solid #ddd}.crossroad-light > p{margin-right:20px}.crossroad-light .img{float:left;margin-left:-80px;width:60px;height:60px;line-height:60px;text-align:center}.crossroad-light .name{font-size:18px;line-height:20px;display:inline-block;vertical-align:middle}.crossroad-icon{margin:0 0 25px;}.crossroad-icon li{line-height:50px;font-size:0;margin:0 0 10px}.crossroad-icon a{display:inline-block;vertical-align:top;padding:0 0 0 70px}.crossroad-icon .icon{float:left;margin-left:-70px;width:48px;height:48px;line-height:48px;border:1px solid #ddd;text-align:center;font-size:26px}.crossroad-icon .name{display:inline-block;vertical-align:middle;line-height:25px;font-size:16px;text-decoration:underline}.box-people{margin:0 0 40px;padding-left:180px;min-height:160px;position:relative;}.box-people .author{font-size:14px;margin:0;}.box-people .author .img{position:absolute;left:0;top:0}.box-about{margin:0 0 40px}.box-ctk{margin:0 0 40px;overflow:hidden;}.box-ctk .icon{float:right;font-size:200px;margin:0 0 0 20px}.box-weather-main{margin:0 0 40px;font-size:20px;display:table;width:100%;}.box-weather-main > *{display:table-cell;vertical-align:middle}.box-weather-main p{margin:0}.box-weather-main .weather{font-size:0;width:240px;}.box-weather-main .weather .icon{font-size:80px;vertical-align:middle}.box-weather-main .temperature{font-size:32px;font-weight:normal;display:inline-block;vertical-align:middle;margin-left:40px}.box-weather{margin:0 0 25px;font-size:0;overflow:hidden;border:1px solid #000;}.box-weather > .item{display:inline-block;vertical-align:top;width:50%;font-size:16px}.box-weather .inner{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left:1px solid #000;margin:0 0 0 -1px}.box-weather .content{padding:10px 10px 20px;}.box-weather .content p{margin:0}.box-weather .title{font-weight:normal;margin-top:0}.box-weather .weather-main{text-align:center;}.box-weather .weather-main .label{display:inline-block;vertical-align:middle;text-align:center;width:100px;font-size:16px;}.box-weather .weather-main .label .grey{display:block}.box-weather .weather-main .label .temperature{font-size:24px;line-height:30px;display:block;font-weight:normal}.box-weather .weather-main .icon{font-size:80px;vertical-align:middle}.box-weather .weather{display:table;width:100%;text-align:center;border-top:1px solid #ddd;}.box-weather .weather > *{display:table-cell;vertical-align:middle;width:25%;border-left:1px solid #ddd;padding:20px 10px;}.box-weather .weather > *:first-child{border:none}.box-weather .weather .grey{font-size:14px}.box-weather .weather .temperature{display:block;font-weight:normal;margin:10px 0}.box-weather .weather .icon{font-size:26px;vertical-align:top}.box-article{min-height:1px !important;}.box-article + .box-article{border-top:1px solid #000;margin-top:40px;padding-top:30px}.box-article-info,.box-article-footer{margin:0 0 20px;border:1px solid #ddd;font-size:16px;line-height:30px;clear:both;padding:5px 10px;}.box-article-info p,.box-article-footer p{margin:0}.box-article-info .grey,.box-article-footer .grey{margin-left:15px}.box-message{margin:0 0 20px;border:1px solid #ddd;position:relative;padding:25px 25px 8px 70px;}.box-message h2{font-weight:normal}.box-message .inner{max-width:610px}.box-message .icon{position:absolute;left:23px;top:25px;font-size:25px;}.box-message .icon + *{margin-top:0}.box-img{margin:0 0 25px;font-size:16px;}.box-img .img{display:block;margin:0 0 5px}.box-enquiry{margin:0 0 20px;border:1px solid #ddd;overflow:hidden;position:relative;}.box-enquiry:before{content:'';position:absolute;left:270px;top:0;bottom:0;width:1px;border-left:1px solid #ddd}.box-enquiry ul{font-size:16px;overflow:hidden;}.box-enquiry ul a{display:block;text-decoration:none;color:#000;padding:10px 20px}.box-enquiry ul .grey{margin-left:5px}.box-enquiry .title{font-weight:normal;float:left;padding:15px 20px 0;max-width:230px;margin:0 0 50px}.box-enquiry .progress{display:block;height:30px;line-height:30px;position:relative;margin-top:2px;}.box-enquiry .progress span{position:absolute;left:0;top:0;bottom:0;color:#969696;font-size:14px;white-space:nowrap}.box-enquiry .tag{position:absolute;left:20px;bottom:15px}.box-gallery{margin:50px 0 25px;position:relative;}.box-gallery h2{font-weight:normal}.box-gallery .item{display:none;position:relative;}.box-gallery .item:first-child{display:block}.box-gallery .desc{position:absolute;display:block;right:0;top:0;bottom:70px;overflow:hidden;width:240px;border:1px solid #ddd;border-width:1px 0 0;padding-top:15px}.box-gallery .img{display:block;overflow:hidden;background:#000;text-align:center;margin-right:260px}:first-child{margin-top:0}/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jc3MvZm9udC5zdHlsIiwic3JjL2Nzcy9jb3JlL2ljb25zLnN0eWwiLCJub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvZmxleC5zdHlsIiwibm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2JvcmRlci5zdHlsIiwibm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3ZlbmRvci5zdHlsIiwic3JjL2Nzcy9wcmludC5zdHlsIiwic3JjL2Nzcy9wcmludC9oaWRlLnN0eWwiLCJzcmMvY3NzL3ByaW50L2hlYWRpbmcuc3R5bCIsInNyYy9jc3MvcHJpbnQvdGFibGUuc3R5bCIsInNyYy9jc3MvcHJpbnQvbGF5b3V0LnN0eWwiLCJub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvb3ZlcmZsb3cuc3R5bCIsIm5vZGVfbW9kdWxlcy9zdHlsdXMvbGliL2Z1bmN0aW9ucy9pbmRleC5zdHlsIiwic3JjL2Nzcy9saWIvc2suc3R5bCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUNDLFlBQVksVUFDWixJQUEwQyx3Q0FDMUMsSUFBNkUsMlBBSTdFLFlBQVksT0FDWixXQUFXLE9DTVosTUFiQyxZQUFZLFVBQ1osTUFBTSxLQUNOLFdBQVcsT0FDWCxZQUFZLE9BQ1osYUFBYSxPQUNiLGVBQWUsS0FDZixZQUFZLEVBQ1osdUJBQXVCLFlBQ3ZCLHdCQUF3QixVQUN4QixXQUFXLE9BQ1gsZ0JBQWdCLEtDV2IsUUFBUyxhRExaLGVBQWUsT0FDZixTQUFTLFNBRVYsV0NFSSxRQUFTLGFEQVosZUFBZSxJQUNmLFNBQVMsU0FDVCxhQUFhLE1BQ2IsaUJBQ0MsU0FBUyxTQUNULEtBQUssRUFDTCxJQUFJLElBQ0osVUFBVSxLQUNWLFdBQVcsTUFDWCxNQUFNLFNBQ04sdUJBQ0MsVUFBVSxLQUNWLEtBQUssSUFDTCxXQUFXLEtBQ2IsNkJBQ0MsV0FBVyxJQUNaLHdCQUNDLFlBQVksS0FFWixrQ0FDQyxXQUFXLElBQ1osNkJBQ0MsWUFBWSxHQUNjLHlCQUFBLDZCQUN6QixZQUFZLE1B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LFVBQVUsTUFDVixPQUFPLFNBQ1IsdUJIbmRHLFFBQVMsTUdxZFgsT0FBTyxLQUNQLFlBQVksS0FDWixTQUFTLFNBQ1QsV0FBVyxLQUNYLDRCQUNDLFNBQVMsU0FDVCxLQUFLLEVBQ0wsSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLFFBQ04sVUFBVSxLQUNWLFlBQVksT0FDZCxrQkFDQyxTQUFTLFNBQ1QsS0FBSyxLQUNMLE9BQU8sS0FHVCxhQUNDLE9BQU8sWUFDUCxTQUFTLFVBQ1QsZ0JBQ0MsWUFBWSxPQUNiLG1CSDVlRyxRQUFTLEtHOGVYLFNBQVMsVUFDVCwrQkgvZUUsUUFBUyxNR2lmWixtQkFDQyxTQUFTLFNIbGZQLFFBQVMsTUdvZlgsTUFBTSxFQUNOLElBQUksRUFDSixPQUFPLEtLemZMLFNBQVUsT0wyZlosTUFBTSxNRnJnQkosT0FBUSxlRXVnQlYsYUFBYSxRQUNiLFlBQVksS0FDYixrQkg1ZkcsUUFBUyxNUUhULFNBQVUsT05xaEJWLFdBQVcsS0NsQmIsV0FBVyxPQUNYLGFBQWEsTUFFZixhQUNDLFdBQVciLCJmaWxlIjoicHJpbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGZvbnQtZmFjZVxuXHRmb250LWZhbWlseSAnaWNvbW9vbidcblx0c3JjIHVybCgnLi4vZm9udC9mb250cy9pY29tb29uLmVvdD9zdTl3c3gnKVxuXHRzcmMgdXJsKCcuLi9mb250L2ZvbnRzL2ljb21vb24uZW90P3N1OXdzeCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcblx0XHR1cmwoJy4uL2ZvbnQvZm9udHMvaWNvbW9vbi53b2ZmP3N1OXdzeCcpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnLi4vZm9udC9mb250cy9pY29tb29uLnR0Zj9zdTl3c3gnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcuLi9mb250L2ZvbnRzL2ljb21vb24uc3ZnP3N1OXdzeCNpY29tb29uJykgZm9ybWF0KCdzdmcnKVxuXHRmb250LXdlaWdodCBub3JtYWxcblx0Zm9udC1zdHlsZSBub3JtYWxcbiIsImljb24oKVxuXHRmb250LWZhbWlseSAnaWNvbW9vbidcblx0c3BlYWsgbm9uZVxuXHRmb250LXN0eWxlIG5vcm1hbFxuXHRmb250LXdlaWdodCBub3JtYWxcblx0Zm9udC12YXJpYW50IG5vcm1hbFxuXHR0ZXh0LXRyYW5zZm9ybSBub25lXG5cdGxpbmUtaGVpZ2h0IDFcblx0LXdlYmtpdC1mb250LXNtb290aGluZyBhbnRpYWxpYXNlZFxuXHQtbW96LW9zeC1mb250LXNtb290aGluZyBncmF5c2NhbGVcblx0dGV4dC1hbGlnbiBjZW50ZXJcblx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcblxuXG4uaWNvblxuXHRpY29uKClcblx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cbi5pY29uLWl0ZW1cblx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0dmVydGljYWwtYWxpZ24gdG9wXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdHBhZGRpbmctbGVmdCAzNXB4XG5cdC5pY29uXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHRsZWZ0IDBcblx0XHR0b3AgNTAlXG5cdFx0Zm9udC1zaXplIDI2cHhcblx0XHRtYXJnaW4tdG9wIC0xM3B4XG5cdFx0Y29sb3IgJGJsdWVEYXJrXG5cdFx0Ji5zbWFsbFxuXHRcdFx0Zm9udC1zaXplIDEycHhcblx0XHRcdGxlZnQgN3B4XG5cdFx0XHRtYXJnaW4tdG9wIC02cHhcblx0KyBiciArIC5pY29uLWl0ZW1cblx0XHRtYXJnaW4tdG9wIDJweFxuXHQrIC5pY29uLWl0ZW1cblx0XHRtYXJnaW4tbGVmdCAyMHB4XG5cdC5iaWcgJlxuXHRcdCsgYnIgKyAuaWNvbi1pdGVtXG5cdFx0XHRtYXJnaW4tdG9wIDVweFxuXHRcdCsgLmljb24taXRlbVxuXHRcdFx0bWFyZ2luLWxlZnQgMFxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGggJG1vYmlsZUwpXG5cdFx0XHRcdG1hcmdpbi1sZWZ0IDIwcHhcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoICR0YWJsZXQpXG5cdFx0XHRcdG1hcmdpbi1sZWZ0IDgwcHhcblxuXG5Aa2V5ZnJhbWVzIFJvdGF0ZVxuXHQwJVxuXHRcdHRyYW5zZm9ybSByb3RhdGUoMGRlZylcblx0MTAwJVxuXHRcdHRyYW5zZm9ybSByb3RhdGUoMzYwZGVnKVxuXG4uaWNvbi1hbGwtcGljdHVyZXNcblx0cG9zaXRpb24gcmVsYXRpdmVcblx0d2lkdGggMjZweFxuXHRoZWlnaHQgMjZweFxuXHQmOmJlZm9yZVxuXHRcdGNvbnRlbnQgXCJcIlxuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0bGVmdCAzcHhcblx0XHR3aWR0aCAxNnB4XG5cdFx0aGVpZ2h0IDIycHhcblx0XHRib3JkZXIgMnB4IHNvbGlkICM5Njk2OTZcblx0JjphZnRlclxuXHRcdGNvbnRlbnQgXCJcIlxuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0dG9wIDNweFxuXHRcdGxlZnQgMFxuXHRcdHdpZHRoIDIycHhcblx0XHRoZWlnaHQgMTZweFxuXHRcdGJvcmRlciAycHggc29saWQgIzk2OTY5NlxuXHRcdGJhY2tncm91bmQtY29sb3IgcmdiYSgjZmZmLCAwLjYpXG5cbi5pY29uLXdhcm5pbmc6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MWZcIlxuLmljb24tZXh0OmJlZm9yZVxuXHRjb250ZW50IFwiXFxlNjEyXCJcbi5pY29uLW1lbnU6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU2NTJcIlxuLmljb24tcmVmcmVzaDpiZWZvcmVcblx0Y29udGVudCBcIlxcZTY1NFwiXG5cdGRpc3BsYXkgYmxvY2tcblx0YW5pbWF0aW9uIFJvdGF0ZSAxNTAwbXMgaW5maW5pdGUgbGluZWFyXG4uaWNvbi10aWNrOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlNjE0XCJcbi5pY29uLWxvZ286YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MTFcIlxuLmljb24tY2FydDpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkxZVwiXG4uaWNvbi1jbG9zZTpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkwMFwiXG4uaWNvbi1jb2c6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MDFcIlxuLmljb24tZGlzYWJsZWQ6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MDJcIlxuLmljb24tZG90czpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkwM1wiXG4uaWNvbi1kb3dubG9hZDpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkwNFwiXG4uaWNvbi1lZGl0aW5nOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTA1XCJcbi5pY29uLWV4cG86YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MDZcIlxuLmljb24tZXllOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTA3XCJcbi5pY29uLWZvcndhcmQ6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MDhcIlxuLmljb24taGVhcnQtYWRkOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTA5XCJcbi5pY29uLWhlYXJ0LWlubmVyOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTBhXCJcbi5pY29uLWhlYXJ0LW91dGxpbmU6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MGJcIlxuLmljb24taGVhcnQtcmVtb3ZlOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTBjXCJcbi5pY29uLWhlYXJ0OmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTBkXCJcbi5pY29uLWxhYmVsOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTBlXCJcbi5pY29uLWxhbmRzY2FwZTpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkwZlwiXG4uaWNvbi1sb2dvLXN5bWJvbDpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkxMFwiXG4uaWNvbi1tYWlsOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTEyXCJcbi5pY29uLXBob25lOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTEzXCJcbi5pY29uLXBob3RvOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTE0XCJcbi5pY29uLXBvcnRyYWl0OmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTE1XCJcbi5pY29uLXByaW50OmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTE2XCJcbi5pY29uLXJhdGU6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MTdcIlxuLmljb24tcmVtb3ZlOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTE4XCJcbi5pY29uLXJlc2VhcmNoOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTE5XCJcbi5pY29uLXNlYXJjaDpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkxYVwiXG4uaWNvbi10aW1lOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTFiXCJcbi5pY29uLXRyYXNoOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTFjXCJcbi5pY29uLXVzZXI6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MWRcIlxuLmljb24tbG9jYWw6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MjJcIlxuLmljb24tbXI6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MjFcIlxuLmljb24tcHI6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MjBcIlxuLmljb24tZWRpdG9yaWFsOmJlZm9yZVxuXHRjb250ZW50IFwiXFxlOTIzXCJcbi5pY29uLW5vLXNlbGw6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MjVcIlxuLmljb24tbm8tYXJjaGl2ZTpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkyNFwiXG4uaWNvbi12aWRlbzpiZWZvcmVcblx0Y29udGVudCBcIlxcZTkyNlwiXG4uaWNvbi1pbmZvZ3JhcGhpY3M6YmVmb3JlXG5cdGNvbnRlbnQgXCJcXGU5MjdcIlxuXG5cblxuIiwiLypcbiAqIFZlbmRvciBcImRpc3BsYXk6IGZsZXhcIiBzdXBwb3J0IHdpdGggZmFsbGJhY2sgdG8gb2Jzb2xldGUgdmVyc2lvbnMuXG4gKi9cblxuZmxleC12ZXJzaW9uID89IGJveCBmbGV4XG5cbi8vXG4vLyAxLiBEaXNwbGF5IHZhbHVlc1xuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXgtY29udGFpbmVyc1xuLy9cbmRpc3BsYXkodHlwZSwgYXJncy4uLilcbiAgaWYgZmxleCA9PSB0eXBlIHx8IGlubGluZS1mbGV4ID09IHR5cGVcbiAgICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgICBpZiBmbGV4ID09IHR5cGVcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggYXJnc1xuICAgICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoYm94IGFyZ3MsIG9ubHk6IG1veiB3ZWJraXQpXG4gICAgICBlbHNlXG4gICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShpbmxpbmUtYm94IGFyZ3MsIG9ubHk6IG1veiB3ZWJraXQpXG4gICAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbCkgLy8gb3ZlcndyaXRlcyBvbGQgd2Via2l0XG4gIGVsc2VcbiAgICBkaXNwbGF5OiBhcmd1bWVudHNcblxuLypcbiAqIE5ldyBzeW50YXggZm9yIGJyb3dzZXJzIGxpa2UgR29vZ2xlIENocm9tZS5cbiAqIFBsdXMgYSB0cmFuc2xhdGlvbiB0byB0aGUgb2xkIHN5bnRheCwgaWYgcG9zc2libGUuXG4gKi9cblxuXG4vL1xuLy8gNS4gT3JkZXJpbmcgYW5kIE9yaWVudGF0aW9uXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jb3JkZXJpbmctYW5kLW9yaWVudGF0aW9uXG4vL1xuLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIGlmIHJvdy1yZXZlcnNlID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LWRpcmVjdGlvbicsIHJldmVyc2UsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgICBpZiByb3cgPT0gZGlyZWN0aW9uIHx8IHJvdy1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtb3JpZW50JywgaG9yaXpvbnRhbCwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIGNvbHVtbiA9PSBkaXJlY3Rpb24gfHwgY29sdW1uLXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCB2ZXJ0aWNhbCwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIC8vIFdBUk46IHdyYXAtcmV2ZXJzZSBkb2VzIG5vdCBoYXZlIGEgYm94IGVxdWl2YWxlbnQuIFRoaXMgd2lsbCByZW5kZXIgaW4gZGlmZmVyZW50IG1hbm5lcnNcbiAgICAvLyAgICBvbiBib3ggdnMuIGZsZXggdmFsdWVzLlxuICAgIGlmICd3cmFwJyA9PSB2YWx1ZSB8fCB3cmFwLXJldmVyc2UgPT0gdmFsdWVcbiAgICAgIHZlbmRvcignYm94LWxpbmVzJywgbXVsdGlwbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG4gICAgZWxzZSBpZiBub3dyYXAgPT0gdmFsdWVcbiAgICAgIHZlbmRvcignYm94LWxpbmVzJywgc2luZ2xlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG5mbGV4LWRpcmVjdGlvbihkaXJlY3Rpb24pXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihkaXJlY3Rpb24pXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWRpcmVjdGlvbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5mbGV4LXdyYXAodmFsdWUpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAodmFsdWUpXG5cbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtd3JhcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5mbGV4LWZsb3coKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oYXJndW1lbnRzWzFdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1swXSlcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcChhcmd1bWVudHNbMV0pXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWZsb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuXG5vcmRlcigpXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1vcmRpbmFsLWdyb3VwJywgYXJndW1lbnRzLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1vcmRlcicsIGFyZ3VtZW50cywgb25seTogbXMpXG4gICAgdmVuZG9yKCdvcmRlcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5cbi8vXG4vLyA3LiBGbGV4aWJpbGl0eVxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXhpYmlsaXR5XG4vL1xuZmxleC1ncm93KGdyb3d0aClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LWZsZXgnLCBncm93dGgpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWdyb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1iYXNpcygpXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWJhc2lzJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgtc2hyaW5rKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgoZ3Jvd3RoKVxuXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICBzaHJpbmsgPSAxXG5cbiAgICBpZiBub25lID09IGdyb3d0aCB8fCBpbml0aWFsID09IGdyb3d0aFxuICAgICAgLy8gV2VsbCBrbm93biB2YWx1ZXNcbiAgICAgIHNocmluayA9IDAgaWYgbm9uZSA9PSBncm93dGhcbiAgICAgIGdyb3d0aCA9IDBcbiAgICBlbHNlIGlmIGlzLXdpZHRoKGdyb3d0aCkgPT0gdHJ1ZVxuICAgICAgLy8gQmFzaXMgaXMgZGVmaW5lZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyXG4gICAgICBncm93dGggPSBhcmd1bWVudHNbMV0gfHwgMFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzJdIGlmIDMgPD0gbGVuZ3RoKGFyZ3VtZW50cylcbiAgICBlbHNlIGlmIGFyZ3VtZW50c1sxXSAmJiBpcy13aWR0aChhcmd1bWVudHNbMV0pID09IGZhbHNlXG4gICAgICAvLyBHcm93dGggaXMgZmlyc3QgYW5kIHNocmluayBpcyBzZWNvbmRcbiAgICAgIHNocmluayA9IGFyZ3VtZW50c1sxXVxuXG4gICAgLy8gU2luY2Ugd2UgY2FuJ3QgbWFrZSB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiBncm93aW5nIGFuZCBzaHJpbmtpbmcgaW4gdGhlIGJveCBtb2RlbCwgdGFrZVxuICAgIC8vIHRoZSBvbmUgdGhhdCBwcm92aWRlcyB0aGUgbW9zdCBmbGV4aWJpbGl0eS5cbiAgICB2ZW5kb3IoJ2JveC1mbGV4JywgbWF4KGdyb3d0aCwgc2hyaW5rKSwgaWdub3JlOiBtcylcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuXG4vLyBjb252ZXJ0cyB0aGUganVzdGlmaWNhdGlvbiBhbGlnbm1lbnRcbi1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pXG4gIGlmIGZsZXgtc3RhcnQgPT0gYWxpZ25cbiAgICByZXR1cm4gc3RhcnRcbiAgZWxzZSBpZiBmbGV4LWVuZCA9PSBhbGlnblxuICAgIHJldHVybiBlbmRcbiAgZWxzZSBpZiBzcGFjZS1hcm91bmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZGlzdHJpYnV0ZVxuICBlbHNlIGlmIHNwYWNlLWJldHdlZW4gPT0gYWxpZ25cbiAgICByZXR1cm4ganVzdGlmeVxuICBlbHNlXG4gICAgcmV0dXJuIGFsaWduXG5cbi8vXG4vLyA4LiBBbGlnbm1lbnRcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNhbGlnbm1lbnRcbi8vXG5qdXN0aWZ5LWNvbnRlbnQoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdqdXN0aWZ5LWNvbnRlbnQnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1jb250ZW50KGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBhZGp1c3RtZW50IGhlcmVcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtbGluZS1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignYWxpZ24tY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8vIGNvbnZlcnRzIGFsaWdubWVudCBmcm9tICdmbGV4JyB0byBub3JtYWwgdmFsdWVcbi1jb252ZXJ0LWFsaWdubWVudChhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlXG4gICAgcmV0dXJuIGFsaWduXG5cbmFsaWduLWl0ZW1zKGFsaWduKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignYWxpZ24taXRlbXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuYWxpZ24tc2VsZihhbGlnbilcbiAgLy8gV0FSTjogT2Jzb2xldGUgc3BlYyBkb2VzIG5vdCBhbGxvdyBmb3Igb3ZlcnJpZGluZyBhbGlnbm1lbnQgb24gaW5kaXZpZHVhbCBpdGVtcy5cbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2FsaWduLXNlbGYnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuICAgIHZlbmRvcignZmxleC1pdGVtLWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4iLCIvKlxuICogYm9yZGVyOiA8Y29sb3I+XG4gKiBib3JkZXI6IC4uLlxuICovXG5cbmJvcmRlcihjb2xvciwgYXJncy4uLilcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IgYXJnc1xuICBlbHNlXG4gICAgYm9yZGVyOiBhcmd1bWVudHNcbiIsInVzZSgnLi4vbm9kZXMvdmVuZG9yLWhlbHBlcnMuanMnKVxuQGltcG9ydCAnY29uZmlnJ1xuXG4vKlxuICogQWxpYXMgXCJub3dyYXBcIiBhcyBcIm5vLXdyYXBcIi5cbiAqL1xuXG5uby13cmFwID0gdW5xdW90ZSgnbm93cmFwJylcblxuLypcbiAqIEhlbHBlciB0byBmaW5kIG91dCBpZiBhIGdpdmVuIHZhbHVlIGlzIGEgd2lkdGhcbiAqL1xuXG5pcy13aWR0aCh2YWwpXG4gIGlmIGF1dG8gPT0gdmFsXG4gICAgcmV0dXJuIHRydWVcbiAgZWxzZSBpZiB2YWwgJiYgJ3VuaXQnID09IHR5cGUodmFsKVxuICAgIC8vIFN0eWx1cyBkb2VzIG5vdCBzaG9ydCBjaXJjdWl0IHNvIHdlIG5lZWQgdG8gcGVyZm9ybSB0aGlzIGFzIGEgZGlzdGluY3RcbiAgICAvLyBvcGVyYXRpb24gdG8gcHJldmVudCBlcnJvcnNcbiAgICByZXR1cm4gJycgIT0gdW5pdCh2YWwpXG4gIHJldHVybiBmYWxzZVxuXG4vKlxuICogVmVuZG9yIHN1cHBvcnQgZm9yIHRoZSBnaXZlbiBwcm9wIC8gYXJndW1lbnRzLCBvcHRpb25hbGx5IHNwZWNpZnlpbmcgdGhlXG4gKiBvbmx5IHByZWZpeGVzIHRvIHV0aWxpemUsIG9yIHRob3NlIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkLlxuICovXG5cbnZlbmRvcihwcm9wLCBhcmdzLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbCwgdmVuZG9yLXByb3BlcnR5ID0gdHJ1ZSlcbiAgbmVlZF9ub3JtYWxpemUgPSAhdmVuZG9yLXByb3BlcnR5IG9yIHByb3AgaW4gKCd0cmFuc2l0aW9uJyAndHJhbnNpdGlvbi1wcm9wZXJ0eScgJ2JvcmRlci1pbWFnZScgJ2JvcmRlci1pbWFnZS1zbGljZScpXG4gIGZvciBwcmVmaXggaW4gdmVuZG9yLXByZWZpeGVzXG4gICAgdW5sZXNzIChvbmx5IGFuZCAhKHByZWZpeCBpbiBvbmx5KSkgb3IgKGlnbm9yZSBhbmQgcHJlZml4IGluIGlnbm9yZSlcbiAgICAgIGlmIG9mZmljaWFsID09IHByZWZpeFxuICAgICAgICBpZiBuZWVkX25vcm1hbGl6ZVxuICAgICAgICAgIHtwcm9wfTogbm9ybWFsaXplKHByb3AsKCclcycgJSBhcmdzKSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHtwcm9wfTogYXJnc1xuICAgICAgZWxzZVxuICAgICAgICBuZXdwcm9wID0gcHJvcFxuICAgICAgICBuZXdwcm9wID0gJy0nICsgcHJlZml4ICsgJy0nICsgcHJvcCBpZiB2ZW5kb3ItcHJvcGVydHlcblxuICAgICAgICBpZiBuZWVkX25vcm1hbGl6ZVxuICAgICAgICAgIHtuZXdwcm9wfTogbm9ybWFsaXplKHByb3AsKCclcycgJSBhcmdzKSxwcmVmaXgpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7bmV3cHJvcH06IGFyZ3Ncbi8qXG4gKiBWZW5kb3JpemUgdGhlIGdpdmVuIHZhbHVlLlxuICovXG5cbnZlbmRvci12YWx1ZShhcmcsIG9ubHkgPSBudWxsLCBpZ25vcmUgPSBudWxsKVxuICBwcm9wID0gY3VycmVudC1wcm9wZXJ0eVswXVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpIG9yIG9mZmljaWFsID09IHByZWZpeFxuICAgICAgYWRkLXByb3BlcnR5KHByb3AsICctJXMtJXMnICUgKHByZWZpeCBhcmcpKVxuICBhcmdcblxuLypcbiAqIFZlbmRvciBcImJveC1zaGFkb3dcIiBzdXBwb3J0LlxuICovXG5cbmJveC1zaGFkb3coKVxuICB2ZW5kb3IoJ2JveC1zaGFkb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInVzZXItc2VsZWN0XCIgc3VwcG9ydC5cbiAqL1xuXG51c2VyLXNlbGVjdCgpXG4gIHZlbmRvcigndXNlci1zZWxlY3QnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tY291bnRcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1jb3VudCgpXG4gIHZlbmRvcignY29sdW1uLWNvdW50JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWdhcFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLWdhcCgpXG4gIHZlbmRvcignY29sdW1uLWdhcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZSgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1jb2xvclwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtY29sb3IoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLWNvbG9yJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtd2lkdGhcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLXdpZHRoKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS1zdHlsZSgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtc3R5bGUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4td2lkdGhcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXdpZHRoJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXNwYW5cIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1zcGFuKClcbiAgdmVuZG9yKCdjb2x1bW4tc3BhbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWZpbGxcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1maWxsKClcbiAgdmVuZG9yKCdjb2x1bW4tZmlsbCcsIGFyZ3VtZW50cywgb25seTogbW96KVxuXG4vKlxuICogTGVnYWN5IHN5bnRheCBzdXBwb3J0IGZvciBiYWNrZ3JvdW5kLWNsaXAgYW5kIGJhY2tncm91bmQtb3JpZ2luXG4gKi9cblxubGVnYWN5LWJnLXZhbHVlcyhwcm9wZXJ0eSwgYXJncylcbiAgbGVnYWN5X2FyZ3MgPSAoKVxuICBpbXBvcnRhbmNlID0gdW5xdW90ZSgnJylcbiAgZm9yIHN1YmFyZ3MgaW4gYXJnc1xuICAgIGZvciBhcmcgaW4gc3ViYXJnc1xuICAgICAgaWYgYXJnIGluIChib3JkZXItYm94IHBhZGRpbmctYm94IGNvbnRlbnQtYm94KVxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdib3JkZXInKSAgaWYgYXJnID09IGJvcmRlci1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgncGFkZGluZycpIGlmIGFyZyA9PSBwYWRkaW5nLWJveFxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdjb250ZW50JykgaWYgYXJnID09IGNvbnRlbnQtYm94XG4gICAgICBpZiBhcmcgIT0gJyFpbXBvcnRhbnQnXG4gICAgICAgIHB1c2gobGVnYWN5X2FyZ3MsYXJnKVxuICAgICAgZWxzZVxuICAgICAgICBpbXBvcnRhbmNlID0gIWltcG9ydGFudFxuICB2ZW5kb3IocHJvcGVydHksIHVucXVvdGUoam9pbignLCAnLGxlZ2FjeV9hcmdzKSkgaW1wb3J0YW5jZSwgb25seTogbW96IHdlYmtpdClcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtY2xpcFwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1jbGlwKClcbiAgaWYgYXJndW1lbnRzWzBdID09IHRleHRcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0KVxuICBlbHNlXG4gICAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1jbGlwJywgYXJndW1lbnRzKVxuICAgIGJhY2tncm91bmQtY2xpcDogYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1vcmlnaW4oKVxuICBsZWdhY3ktYmctdmFsdWVzKCdiYWNrZ3JvdW5kLW9yaWdpbicsIGFyZ3VtZW50cylcbiAgYmFja2dyb3VuZC1vcmlnaW46IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1zaXplXCIgc3VwcG9ydC5cbiAqL1xuXG5iYWNrZ3JvdW5kLXNpemUoKVxuICB2ZW5kb3IoJ2JhY2tncm91bmQtc2l6ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm0tb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xudHJhbnNmb3JtLW9yaWdpbigpXG4gICAgdmVuZG9yKCd0cmFuc2Zvcm0tb3JpZ2luJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2Zvcm0tc3R5bGUoKVxuICB2ZW5kb3IoJ3RyYW5zZm9ybS1zdHlsZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJvcmRlci1pbWFnZVwiIHN1cHBvcnQuXG4gKi9cblxuYm9yZGVyLWltYWdlKClcbiAgdmVuZG9yKCdib3JkZXItaW1hZ2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXByb3BlcnR5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXByb3BlcnR5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLXByb3BlcnR5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kdXJhdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLWRlbGF5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYmFja2ZhY2UtdmlzaWJpbGl0eVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2ZhY2UtdmlzaWJpbGl0eSgpXG4gIHZlbmRvcignYmFja2ZhY2UtdmlzaWJpbGl0eScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInBlcnNwZWN0aXZlXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZSgpXG4gIGlmIG1peGluXG4gICAgdmVuZG9yKCdwZXJzcGVjdGl2ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcbiAgZWxzZVxuICAgICdwZXJzcGVjdGl2ZSglcyknICUgYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbnBlcnNwZWN0aXZlLW9yaWdpbigpXG4gIHZlbmRvcigncGVyc3BlY3RpdmUtb3JpZ2luJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogT3BhY2l0eSB3aXRoIGNvbmRpdGlvbmFsIElFIHN1cHBvcnQuXG4gKi9cblxub3BhY2l0eShuLCBhcmdzLi4uKVxuICBvcGFjaXR5OiBuIGFyZ3NcbiAgaWYgc3VwcG9ydC1mb3ItaWVcbiAgICBpZiBuID09IGluaGVyaXQgb3IgbiA9PSBpbml0aWFsXG4gICAgICAtbXMtZmlsdGVyOiBuIGFyZ3NcbiAgICAgIGZpbHRlcjogbiBhcmdzXG4gICAgZWxzZVxuICAgICAgdmFsID0gcm91bmQobiAqIDEwMClcbiAgICAgIGlmIHZhbCA9PSAxMDBcbiAgICAgICAgLW1zLWZpbHRlcjogbm9uZVxuICAgICAgICBmaWx0ZXI6IG5vbmVcbiAgICAgIGVsc2VcbiAgICAgICAgLW1zLWZpbHRlcjogJ1wicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9JXMpXCInICUgdmFsIGFyZ3NcbiAgICAgICAgZmlsdGVyOiAnYWxwaGEob3BhY2l0eT0lcyknICUgdmFsIGFyZ3NcblxuLypcbiAqIFZlbmRvciBcInRleHQtc2l6ZS1hZGp1c3RcIlxuICovXG5cbnRleHQtc2l6ZS1hZGp1c3QoKVxuICB2ZW5kb3IoJ3RleHQtc2l6ZS1hZGp1c3QnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBBbGlhcyB0aGUgXCJ3aGl0ZS1zcGFjZVwiIHByb3BlcnR5LlxuICovXG5cbndoaXRlc3BhY2UoKVxuICB3aGl0ZS1zcGFjZTogYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtc2l6aW5nXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtc2l6aW5nKClcbiAgdmVuZG9yKCdib3gtc2l6aW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LW9yaWVudFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LW9yaWVudCgpXG4gIHZlbmRvcignYm94LW9yaWVudCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1mbGV4LWdyb3VwXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtZmxleC1ncm91cCgpXG4gIHZlbmRvcignYm94LWZsZXgtZ3JvdXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtb3JkaW5hbC1ncm91cFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LW9yZGluYWwtZ3JvdXAoKVxuICB2ZW5kb3IoJ2JveC1vcmRpbmFsLWdyb3VwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtYWxpZ25cIiBzdXBwb3J0LlxuICovXG5cbmJveC1hbGlnbigpXG4gIHZlbmRvcignYm94LWFsaWduJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LXBhY2tcIiBzdXBwb3J0LlxuICovXG5cbmJveC1wYWNrKClcbiAgdmVuZG9yKCdib3gtcGFjaycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1kaXJlY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmJveC1kaXJlY3Rpb24oKVxuICB2ZW5kb3IoJ2JveC1kaXJlY3Rpb24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uJywgYXJndW1lbnRzKVxuXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tbmFtZVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLW5hbWUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1uYW1lJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWR1cmF0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZHVyYXRpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kdXJhdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kZWxheVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWRlbGF5KClcbiAgdmVuZG9yKCdhbmltYXRpb24tZGVsYXknLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZGlyZWN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZGlyZWN0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZGlyZWN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudFwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCcsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tcGxheS1zdGF0ZVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLXBsYXktc3RhdGUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1wbGF5LXN0YXRlJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWZpbGwtbW9kZVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWZpbGwtbW9kZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWZpbGwtbW9kZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImh5cGhlbnNcIiBzdXBwb3J0LlxuICovXG5cbmh5cGhlbnMoKVxuICB2ZW5kb3IoJ2h5cGhlbnMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJhcHBlYXJhbmNlXCIgc3VwcG9ydC5cbiAqL1xuXG5hcHBlYXJhbmNlKClcbiAgdmVuZG9yKCdhcHBlYXJhbmNlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidGFiLXNpemVcIiBzdXBwb3J0LlxuICovXG5cbnRhYi1zaXplKClcbiAgdmVuZG9yKCd0YWItc2l6ZScsIGFyZ3VtZW50cywgb25seTogbW96IG8gb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJvdmVyZmxvdy1zY3JvbGxpbmdcIiBzdXBwb3J0LlxuICovXG5cbm92ZXJmbG93LXNjcm9sbGluZygpXG4gIHZlbmRvcignb3ZlcmZsb3ctc2Nyb2xsaW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LW92ZXJmbG93XCIgc3VwcG9ydCwgLCAtby0gZm9yIG9wZXJhIDkuKiAtIDEwLipcbiAqL1xuXG50ZXh0LW92ZXJmbG93KClcbiAgdmVuZG9yKCd0ZXh0LW92ZXJmbG93JywgYXJndW1lbnRzLCBvbmx5OiBvZmZpY2lhbCBvKVxuXG4vKlxuICogVmVuZG9yIFwidGV4dC1zaXplLWFkanVzdFwiIHN1cHBvcnQuXG4gKi9cbnRleHQtc2l6ZS1hZGp1c3QoKVxuICB2ZW5kb3IoJ3RleHQtc2l6ZS1hZGp1c3QnLCBhcmd1bWVudHMsIG9ubHk6IG9mZmljaWFsIHdlYmtpdCBtcylcblxuLypcbiAqIFZlbmRvciBcImZvbnQtc21vb3RoaW5nXCIgc3VwcG9ydCwgd2Via2l0IG9ubHkuXG4gKi9cbmZvbnQtc21vb3RoaW5nKClcbiAgdmVuZG9yKCdmb250LXNtb290aGluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0KVxuXG4vKlxuICogSGVscGVyIGZvciBib3JkZXItcmFkaXVzKCkuXG4gKi9cblxuLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICBpZiBsZW5ndGgocG9zKSA9PSAzXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJ1dHRvbT4gPGxlZnQgfCByaWdodD4gPG4+XG4gICAgeSA9IHBvc1swXVxuICAgIHggPSBwb3NbMV1cbiAgICAvLyBXZSBkb24ndCB1c2UgbW96IGZvciBzaW1wbGUgYm9kZXItcmFkaXVzIGFueW1vcmVcbiAgICAvLyB2ZW5kb3IoJ2JvcmRlci1yYWRpdXMtJXMlcycgJSBwb3MsIHBvc1syXSwgb25seTogbW96KVxuICAgIHZlbmRvcignYm9yZGVyLSVzLSVzLXJhZGl1cycgJSBwb3MsIHBvc1syXSBpbXBvcnRhbmNlLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gIGVsc2UgaWYgcG9zWzBdIGluICh0b3AgYm90dG9tKVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDx0b3AgfCBib3R0b20+IDxuPlxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSBsZWZ0IHBvc1sxXSwgaW1wb3J0YW5jZSlcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3NbMF0gcmlnaHQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICBlbHNlIGlmIHBvc1swXSBpbiAobGVmdCByaWdodClcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB1bnNoaWZ0KHBvcywgdG9wKTtcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gICAgcG9zWzBdID0gYm90dG9tXG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuXG4vKlxuICogYm9yZGVyLXJhZGl1cyBzdXBwb3J0aW5nIHZlbmRvciBwcmVmaXhlcyBhbmRcbiAqIGF1Z21lbnRlZCBiZWhhdmlvci5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICBib3JkZXItcmFkaXVzOiAycHggNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgNXB4IGJvdHRvbSAxMHB4XG4gKiAgICBib3JkZXItcmFkaXVzOiBsZWZ0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCAxMHB4IGJvdHRvbSByaWdodCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHgsIGJvdHRvbSByaWdodCA1cHhcbiAqXG4gKi9cblxuYm9yZGVyLXJhZGl1cygpXG4gIHBvcyA9ICgpXG4gIGF1Z21lbnRlZCA9IGZhbHNlXG4gIGltcG9ydGFuY2UgPSBhcmd1bWVudHNbbGVuZ3RoKGFyZ3VtZW50cykgLSAxXSA9PSAhaW1wb3J0YW50ID8gIWltcG9ydGFudCA6IHVucXVvdGUoJycpXG5cbiAgZm9yIGFyZ3MgaW4gYXJndW1lbnRzXG4gICAgZm9yIGFyZyBpbiBhcmdzXG4gICAgICBpZiBhcmcgaXMgYSAnaWRlbnQnXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgYXVnbWVudGVkID0gdHJ1ZVxuICAgICAgZWxzZVxuICAgICAgICBhcHBlbmQocG9zLCBhcmcpXG4gICAgICAgIGlmIGF1Z21lbnRlZFxuICAgICAgICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICAgICAgICBwb3MgPSAoKVxuICB2ZW5kb3IoJ2JvcmRlci1yYWRpdXMnLCBwb3MsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbCkgdW5sZXNzIGF1Z21lbnRlZFxuXG4vKipcbiAqIFZlbmRvciBpbnB1dC1wbGFjZWhvbGRlci9wbGFjZWhvbGRlciBzdXBwb3J0LlxuICpcbiAqIEV4YW1wbGVzOlxuICogICAgLy8gRGVmYXVsdCBzeW50YXhcbiAqICAgIGJvZHlcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgIzMzMywgZm9udC13ZWlnaHQgbm9ybWFsKVxuICpcbiAqICAgIC8vIFRoZSBjb21tYSBpcyBpbXBvcnRhbnRcbiAqICAgIC5wbGFjZWhvbGRlci1yZWRcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgcmVkLClcbiAqXG4gKiAgICAvLyBXZSBjYW4gcGFzcyBhIGZ1bmN0aW9uXG4gKiAgICBncmVlbi1wbGFjZWhvbGRlcigpXG4gKiAgICAgIGNvbG9yIGdyZWVuXG4gKiAgICAucGxhY2Vob2xkZXItZ3JlZW5cbiAqICAgICAgcGxhY2Vob2xkZXIoZ3JlZW4tcGxhY2Vob2xkZXIpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBoYXNoXG4gKiAgICB0ZXh0YXJlYVxuICogICAgICBwbGFjZWhvbGRlcigoZm9udC1zdHlsZSBpdGFsaWMpIChmb250LXdlaWdodCBib2xkKSAocGFkZGluZyAnNHB4IDEwcHgnKSlcbiAqL1xucGxhY2Vob2xkZXIoKVxuICBmb3IgdiBpbiAnOi13ZWJraXQtaW5wdXQnICctbW96JyAnOi1tb3onICctbXMtaW5wdXQnXG4gICAgJjp7dn0tcGxhY2Vob2xkZXJcbiAgICAgIGZvciBwYWlyIGluIGFyZ3VtZW50c1xuICAgICAgICBpZiB0eXBlb2YocGFpcikgPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgIHBhaXIoKVxuICAgICAgICBlbHNlIGlmIHBhaXIgaXMgbm90IG51bGwgJiYgcGFpclswXSBpcyBub3QgbnVsbFxuICAgICAgICAgIHtwYWlyWzBdfTogdHlwZShwYWlyWzFdKSA9PSAnc3RyaW5nJyA/IHMocGFpclsxXSkgOiBwYWlyWzFdXG5pbnB1dC1wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyXG5cbi8qXG4gKiBWZW5kb3IgYmFja2dyb3VuZCBzdXBwb3J0IChncmFkaWVudHMpLlxuICovXG5cbmJhY2tncm91bmQoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZCcsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQgYXJndW1lbnRzXG5cbmJhY2tncm91bmQtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZC1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQtaW1hZ2UgYXJndW1lbnRzXG5cbmN1cnNvcigpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdjdXJzb3InLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBjdXJzb3IgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZS1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUtaW1hZ2UgYXJndW1lbnRzXG4iLCJAaW1wb3J0ICdsaWIuc3R5bCdcbkBpbXBvcnQgJ2ZvbnQuc3R5bCdcbkBpbXBvcnQgJy9jb3JlL2ljb25zLnN0eWwnXG5cbmJvZHlcblx0d2lkdGggMTAwJSAhaW1wb3J0YW50XG5cdGNvbG9yICMwMDBcblx0YmFja2dyb3VuZCBub25lXG5cdGZvbnQgMTZweC8kbGluZUhlaWdodCAkZm9udFxuXG5AaW1wb3J0ICdwcmludC9oaWRlLnN0eWwnXG5AaW1wb3J0ICdwcmludC9oZWFkaW5nLnN0eWwnXG5AaW1wb3J0ICdwcmludC90YWJsZS5zdHlsJ1xuXG5AaW1wb3J0ICdwcmludC9sYXlvdXQuc3R5bCdcblxuLnJlc2V0XG5cdGJvcmRlciBub25lXG5cdG1hcmdpbiAwXG5cdHBhZGRpbmcgMFxuXHRiYWNrZ3JvdW5kIG5vbmVcblx0dGRcblx0dGhcblx0XHRib3JkZXIgbm9uZVxuXHRcdGJhY2tncm91bmQgbm9uZVxuXHRcdHBhZGRpbmcgMFxuXHQ+IGxpXG5cdD4gZHRcblx0PiBkZFxuXHRcdG1hcmdpbiAwXG5cdFx0cGFkZGluZyAwXG5cdFx0YmFja2dyb3VuZCBub25lXG5cdFx0Ym9yZGVyIG5vbmVcblx0XHRmb250LXdlaWdodCBpbmhlcml0XG5cdFx0ZmxvYXQgbm9uZVxuXHRcdGRpc3BsYXkgaW5oZXJpdFxuXHRcdHRleHQtYWxpZ24gaW5oZXJpdFxuXHRcdHdpZHRoIGF1dG9cbi5iaWdcblx0Zm9udC1zaXplIDIwcHhcbi5zbWFsbFxuXHRmb250LXNpemUgMTRweFxuXG5wXG5cdG1hcmdpbiAwIDAgMS4yNWVtXG5oclxuXHRib3JkZXIgbm9uZVxuXHRib3JkZXItdG9wIDFweCBzb2xpZCAkYm9yZGVyRGFya1xuXHRtYXJnaW4gNDBweCAwXG5cdGhlaWdodCAxcHhcblx0b3ZlcmZsb3cgaGlkZGVuXG5cbmJsb2NrcXVvdGVcblx0bWFyZ2luIDAgMCAyNXB4IDIwcHhcblx0cGFkZGluZyAxNXB4IDAgMXB4IDE1cHhcblx0Ym9yZGVyLWxlZnQgNXB4IHNvbGlkICRib3JkZXJEYXJrXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdGZvbnQtc3R5bGUgbm9ybWFsXG5cdGZvbnQtc3R5bGUgaXRhbGljXG5cdCY6YmVmb3JlXG5cdFx0Y29udGVudCAn4oCeJ1xuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0bGVmdCAtMjBweFxuXHRcdHRvcCA1MCVcblx0XHRtYXJnaW4tdG9wIC01NnB4XG5cdFx0Zm9udC1zaXplIDcwcHhcblx0XHRsaW5lLWhlaWdodCAxXG5cdHBcblx0XHRtYXJnaW4gMCAwIDEwcHhcblxuYVxuXHRjb2xvciAkY29sb3Jcblx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcblxudWxcbm9sXG5cdG1hcmdpbiAwIDAgMS4yNWVtIDIwcHhcblx0cGFkZGluZyAwXG5cdGxpc3Qtc3R5bGUtcG9zaXRpb24gaW5zaWRlXG5saVxuXHRwYWRkaW5nXG5cdG1hcmdpbiAwIDAgLjI1ZW1cblx0b2xcblx0dWxcblx0XHRtYXJnaW4gLjI1ZW0gMCAwXG5cbmRsXG5cdG1hcmdpbiAwIDAgMS4yNWVtXG5kdFxuXHRtYXJnaW4gMFxuXHRwYWRkaW5nIDBcblx0ZmxvYXQgbGVmdFxuXHR3aWR0aCAxNTBweFxuZGRcblx0bWFyZ2luIDBcblx0cGFkZGluZyAwIDAgMCAxMHB4XG5cdG92ZXJmbG93IGhpZGRlblxuXG50YWJsZVxuXHR3aWR0aCAxMDAlXG5cdGZvbnQtc2l6ZSAxNnB4XG5cdGNsZWFyIGJvdGhcblx0bWFyZ2luIDAgMCAxLjI1ZW1cblx0ZW1wdHktY2VsbHMgc2hvd1xuXHRib3JkZXItY29sbGFwc2UgY29sbGFwc2Vcblx0Ym9yZGVyIDFweCBzb2xpZCAkYm9yZGVyRGFya1xuXG5jYXB0aW9uXG5cdGZvbnQtd2VpZ2h0IGJvbGRcblx0dGV4dC1hbGlnbiBsZWZ0XG5cdGNhcHRpb24tc2lkZSB0b3BcbnRkXG50aFxuXHR2ZXJ0aWNhbC1hbGlnbiB0b3Bcblx0cGFkZGluZyA4cHggMTBweFxuXHRib3JkZXIgMXB4IHNvbGlkICRib3JkZXJEYXJrXG5cdGJvcmRlci13aWR0aCAxcHggMFxudGhcblx0Zm9udC13ZWlnaHQgYm9sZFxuXG4vKiBJbWFnZXMgKi9cbmltZy5sXG5cdG1hcmdpbiAuMjVlbSAyMHB4IDIwcHggMFxuXHRmbG9hdCBsZWZ0XG5pbWcuclxuXHRmbG9hdCByaWdodFxuXHRtYXJnaW4gLjI1ZW0gMCAyMHB4IDIwcHhcblxuaW1nXG5cdG1heC13aWR0aCAxMDAlXG5cdGhlaWdodCBhdXRvXG5cbi8vIHRhZ1xuLnRhZ1xuXHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0bGluZS1oZWlnaHQgMTdweFxuXHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2Vcblx0Zm9udC13ZWlnaHQgYm9sZFxuXHRmb250LXNpemUgMTFweFxuXHRjb2xvciAjZmZmXG5cdHBhZGRpbmcgMXB4IDVweCAwXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdGJhY2tncm91bmQgJGNvbG9yXG5cbi8vIGNyb3Nzcm9hZHNcbi5jcm9zc3JvYWQtZ3JpZFxuXHRtYXJnaW4gMCAwIDQwcHhcblx0bWF4LXdpZHRoIDExMDBweFxuXHQubGlzdFxuXHRcdGhlaWdodCBhdXRvICFpbXBvcnRhbnRcblx0XHRjbGVhcmZpeCgpXG5cdFx0bGluZS1oZWlnaHQgMjBweFxuXHRcdG1hcmdpbiAwIDAgMCAtMjBweFxuXHRcdHBcblx0XHRcdG1hcmdpbiAwXG5cdGxpXG5cdFx0cG9zaXRpb24gc3RhdGljICFpbXBvcnRhbnRcblx0XHRmbG9hdCBsZWZ0XG5cdFx0d2lkdGggMjgwcHhcblx0XHQ+IC5pbm5lclxuXHRcdFx0ZGlzcGxheSBibG9ja1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcblx0XHRcdG1hcmdpbiAwIDAgMjBweCAyMHB4XG5cdFx0XHRib3JkZXIgMXB4IHNvbGlkICRib3JkZXJEYXJrXG5cdFx0XHRjb2xvciAkY29sb3Jcblx0XHRcdG92ZXJmbG93IGhpZGRlblxuXHRcdFx0cGFkZGluZyAwIDAgMTBweFxuXHRcdFx0aGVpZ2h0IDI4NXB4XG5cdFx0XHRib3gtc2l6aW5nIGJvcmRlci1ib3hcblx0XHRcdHBvc2l0aW9uIHJlbGF0aXZlXG5cdC5pbWdcblx0XHRtYXJnaW4gMFxuXHRcdGhlaWdodCAxODBweFxuXHRcdGxpbmUtaGVpZ2h0IDE4MHB4XG5cdFx0b3ZlcmZsb3cgaGlkZGVuXG5cdFx0Zm9udC1zaXplIDBweFxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHQudGFnXG5cdFx0XHRsZWZ0IDEwcHhcblx0LmNvbnRlbnRcblx0XHRwYWRkaW5nIDE1cHggMTBweCAwXG5cdFx0b3ZlcmZsb3cgaGlkZGVuXG5cdFx0bWF4LWhlaWdodCAyNjBweFxuXHQudGl0bGVcblx0XHRmb250LXNpemUgMjRweFxuXHRcdGxpbmUtaGVpZ2h0IDI4cHhcblx0XHRmb250LXdlaWdodCBib2xkXG5cdFx0bWFyZ2luIDAgMCAxMnB4XG5cdFx0Ji50aGluXG5cdFx0XHRmb250LXdlaWdodCBub3JtYWxcblx0cC50aXRsZVxuXHRcdG1hcmdpbi1ib3R0b20gMTJweFxuXHQuZGVzY1xuXHRcdGRpc3BsYXkgaW5saW5lXG5cdC5kYXRlXG5cdFx0Y29sb3IgJGdyZXlcblx0XHRkaXNwbGF5IGlubGluZVxuXHQudGFnXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHRsZWZ0IDEwcHhcblx0XHRib3R0b20gMTBweFxuXHRcdH4gLmNvbnRlbnRcblx0XHRcdG1heC1oZWlnaHQgMjM1cHhcblx0XHRcdG1hcmdpbi1ib3R0b20gMjVweFxuXG5cdC8vIGF1dG8gaGVpZ2h0XG5cdGxpID4gLmlubmVyLWF1dG9IZWlnaHRcblx0XHRoZWlnaHQgYXV0byAhaW1wb3J0YW50XG5cdFx0LmNvbnRlbnRcblx0XHRcdG1heC1oZWlnaHQgbm9uZVxuXHRcdC50aXRsZVxuXHRcdFx0bWFyZ2luIC0ycHggMCAwXG5cblx0Ly8gaW5uZXIgaW1nXG5cdGxpID4gLmlubmVyLWltZ1xuXHRcdC5jb250ZW50XG5cdFx0XHRtYXgtaGVpZ2h0IDg0cHhcblx0XHQudGl0bGVcblx0XHRcdGRpc3BsYXkgaW5saW5lXG5cblx0Ly8gd2l0aCBwYXR0ZXJuXG5cdGxpID4gLmlubmVyLXBhdHRlcm5cblx0XHRoZWlnaHQgMTcwcHhcblxuXHQvLyBiaWcgaW5uZXJcblx0Lm1haW5cblx0XHR3aWR0aCA1NjBweFxuXHRcdGZvbnQtc2l6ZSAyMHB4XG5cdFx0bGluZS1oZWlnaHQgMjhweFxuXHRcdD4gLmlubmVyXG5cdFx0XHRoZWlnaHQgNTQwcHhcblx0XHRcdC5pbWdcblx0XHRcdFx0aGVpZ2h0IDM4MHB4XG5cdFx0LmNvbnRlbnRcblx0XHRcdG1heC1oZWlnaHQgNTE1cHhcblx0XHQudGFnXG5cdFx0XHR+IC5jb250ZW50XG5cdFx0XHRcdG1heC1oZWlnaHQgNDkwcHhcblx0XHQudGl0bGVcblx0XHRcdGZvbnQtc2l6ZSA0MHB4XG5cdFx0XHRsaW5lLWhlaWdodCA0NHB4XG5cdFx0PiAuaW5uZXItaW1nXG5cdFx0XHQuY29udGVudFxuXHRcdFx0XHRtYXgtaGVpZ2h0IDEzMnB4XG5cbi5jcm9zc3JvYWQtbGlnaHRcblx0bWFyZ2luIDAgLTIwcHggNDBweFxuXHQudGl0bGUtbWFpblxuXHRcdHBhZGRpbmcgMCAyMHB4XG5cdHVsXG5cdFx0aW5saW5lLWxpc3QoNTAlLCAwcHgpXG5cdFx0bWFyZ2luIDAgMCAyMHB4XG5cdFx0bGluZS1oZWlnaHQgNjBweFxuXHRcdGJvcmRlci10b3AgMXB4IHNvbGlkICRib3JkZXJEYXJrXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHRhXG5cdFx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0XHRwYWRkaW5nIDIwcHggMjBweCAyMHB4IDEwMHB4XG5cdFx0XHRjb2xvciAkY29sb3Jcblx0XHRcdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdFx0XHRjbGVhcmZpeCgpXG5cdGxpXG5cdFx0Ym9yZGVyLWJvdHRvbSAxcHggc29saWQgJGJvcmRlckRhcmtcblx0PiBwXG5cdFx0bWFyZ2luLXJpZ2h0IDIwcHhcblx0LmltZ1xuXHRcdGZsb2F0IGxlZnRcblx0XHRtYXJnaW4tbGVmdCAtODBweFxuXHRcdHNpemUgNjBweFxuXHRcdGxpbmUtaGVpZ2h0IDYwcHhcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxuXHQubmFtZVxuXHRcdGZvbnQtc2l6ZSAxOHB4XG5cdFx0bGluZS1oZWlnaHQgMjBweFxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cbi5jcm9zc3JvYWQtaWNvblxuXHRtYXJnaW4gMCAwIDI1cHhcblx0bGlcblx0XHRsaW5lLWhlaWdodCA1MHB4XG5cdFx0Zm9udC1zaXplIDBweFxuXHRcdG1hcmdpbiAwIDAgMTBweFxuXHRhXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3Bcblx0XHRwYWRkaW5nIDAgMCAwIDcwcHhcblx0Lmljb25cblx0XHRmbG9hdCBsZWZ0XG5cdFx0bWFyZ2luLWxlZnQgLTcwcHhcblx0XHRzaXplIDQ4cHhcblx0XHRsaW5lLWhlaWdodCA0OHB4XG5cdFx0Ym9yZGVyIDFweCBzb2xpZCAkYm9yZGVyRGFya1xuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0Zm9udC1zaXplIDI2cHhcblx0Lm5hbWVcblx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXHRcdGxpbmUtaGVpZ2h0IDI1cHhcblx0XHRmb250LXNpemUgJGZvbnRTaXplXG5cdFx0dGV4dC1kZWNvcmF0aW9uIHVuZGVybGluZVxuXG5cbi8vIGJveHNcbi5ib3gtcGVvcGxlXG5cdG1hcmdpbiAwIDAgNDBweFxuXHRwYWRkaW5nLWxlZnQgMTgwcHhcblx0bWluLWhlaWdodCAxNjBweFxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHQuYXV0aG9yXG5cdFx0Zm9udC1zaXplIDE0cHhcblx0XHRtYXJnaW4gMFxuXHRcdC5pbWdcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0XHRsZWZ0IDBcblx0XHRcdHRvcCAwXG5cbi5ib3gtYWJvdXRcblx0bWFyZ2luIDAgMCA0MHB4XG5cbi5ib3gtY3RrXG5cdG1hcmdpbiAwIDAgNDBweFxuXHRvdmVyZmxvdyBoaWRkZW5cblx0Lmljb25cblx0XHRmbG9hdCByaWdodFxuXHRcdGZvbnQtc2l6ZSAyMDBweFxuXHRcdG1hcmdpbiAwIDAgMCAyMHB4XG5cbi5ib3gtd2VhdGhlci1tYWluXG5cdG1hcmdpbiAwIDAgNDBweFxuXHRmb250LXNpemUgMjBweFxuXHRkaXNwbGF5IHRhYmxlXG5cdHdpZHRoIDEwMCVcblx0PiAqXG5cdFx0ZGlzcGxheSB0YWJsZS1jZWxsXG5cdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdHBcblx0XHRtYXJnaW4gMFxuXHQud2VhdGhlclxuXHRcdGZvbnQtc2l6ZSAwcHhcblx0XHR3aWR0aCAyNDBweFxuXHRcdC5pY29uXG5cdFx0XHRmb250LXNpemUgODBweFxuXHRcdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdC50ZW1wZXJhdHVyZVxuXHRcdGZvbnQtc2l6ZSAzMnB4XG5cdFx0Zm9udC13ZWlnaHQgbm9ybWFsXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0XHRtYXJnaW4tbGVmdCA0MHB4XG5cbi5ib3gtd2VhdGhlclxuXHRtYXJnaW4gMCAwIDI1cHhcblx0Zm9udC1zaXplIDBweFxuXHRvdmVyZmxvdyBoaWRkZW5cblx0Ym9yZGVyIDFweCBzb2xpZCAkY29sb3Jcblx0PiAuaXRlbVxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0d2lkdGggNTAlXG5cdFx0Zm9udC1zaXplIDE2cHhcblx0LmlubmVyXG5cdFx0Ym94LXNpemluZyBib3JkZXItYm94XG5cdFx0Ym9yZGVyLWxlZnQgMXB4IHNvbGlkICRjb2xvclxuXHRcdG1hcmdpbiAwIDAgMCAtMXB4XG5cdC5jb250ZW50XG5cdFx0cGFkZGluZyAxMHB4IDEwcHggMjBweFxuXHRcdHBcblx0XHRcdG1hcmdpbiAwXG5cdC50aXRsZVxuXHRcdGZvbnQtd2VpZ2h0IG5vcm1hbFxuXHRcdG1hcmdpbi10b3AgMFxuXHQud2VhdGhlci1tYWluXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcblx0XHQubGFiZWxcblx0XHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0XHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0XHR3aWR0aCAxMDBweFxuXHRcdFx0Zm9udC1zaXplIDE2cHhcblx0XHRcdC5ncmV5XG5cdFx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdC50ZW1wZXJhdHVyZVxuXHRcdFx0XHRmb250LXNpemUgMjRweFxuXHRcdFx0XHRsaW5lLWhlaWdodCAzMHB4XG5cdFx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdFx0Zm9udC13ZWlnaHQgbm9ybWFsXG5cdFx0Lmljb25cblx0XHRcdGZvbnQtc2l6ZSA4MHB4XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbiBtaWRkbGVcblx0LndlYXRoZXJcblx0XHRkaXNwbGF5IHRhYmxlXG5cdFx0d2lkdGggMTAwJVxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0Ym9yZGVyLXRvcCAxcHggc29saWQgJGJvcmRlckRhcmtcblx0XHQ+ICpcblx0XHRcdGRpc3BsYXkgdGFibGUtY2VsbFxuXHRcdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cdFx0XHR3aWR0aCAyNSVcblx0XHRcdGJvcmRlci1sZWZ0IDFweCBzb2xpZCAkYm9yZGVyRGFya1xuXHRcdFx0cGFkZGluZyAyMHB4IDEwcHhcblx0XHRcdCY6Zmlyc3QtY2hpbGRcblx0XHRcdFx0Ym9yZGVyIG5vbmVcblx0XHQuZ3JleVxuXHRcdFx0Zm9udC1zaXplIDE0cHhcblx0XHQudGVtcGVyYXR1cmVcblx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdGZvbnQtd2VpZ2h0IG5vcm1hbFxuXHRcdFx0bWFyZ2luIDEwcHggMFxuXHRcdC5pY29uXG5cdFx0XHRmb250LXNpemUgMjZweFxuXHRcdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cbi5ib3gtYXJ0aWNsZVxuXHRtaW4taGVpZ2h0IDFweCAhaW1wb3J0YW50XG5cdCsgLmJveC1hcnRpY2xlXG5cdFx0Ym9yZGVyLXRvcCAxcHggc29saWQgJGNvbG9yXG5cdFx0bWFyZ2luLXRvcCA0MHB4XG5cdFx0cGFkZGluZy10b3AgMzBweFxuXG4uYm94LWFydGljbGUtaW5mb1xuLmJveC1hcnRpY2xlLWZvb3RlclxuXHRtYXJnaW4gMCAwIDIwcHhcblx0Ym9yZGVyIDFweCBzb2xpZCAkYm9yZGVyRGFya1xuXHRmb250LXNpemUgMTZweFxuXHRsaW5lLWhlaWdodCAzMHB4XG5cdGNsZWFyIGJvdGhcblx0cGFkZGluZyA1cHggMTBweFxuXHRwXG5cdFx0bWFyZ2luIDBcblx0LmdyZXlcblx0XHRtYXJnaW4tbGVmdCAxNXB4XG5cbi5ib3gtbWVzc2FnZVxuXHRtYXJnaW4gMCAwIDIwcHhcblx0Ym9yZGVyIDFweCBzb2xpZCAkYm9yZGVyRGFya1xuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHRwYWRkaW5nIDI1cHggMjVweCA4cHggNzBweFxuXHRoMlxuXHRcdGZvbnQtd2VpZ2h0IG5vcm1hbFxuXHQuaW5uZXJcblx0XHRtYXgtd2lkdGggNjEwcHhcblx0Lmljb25cblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdGxlZnQgMjNweFxuXHRcdHRvcCAyNXB4XG5cdFx0Zm9udC1zaXplIDI1cHhcblx0XHQrICpcblx0XHRcdG1hcmdpbi10b3AgMFxuXG4uYm94LWltZ1xuXHRtYXJnaW4gMCAwIDI1cHhcblx0Zm9udC1zaXplIDE2cHhcblx0LmltZ1xuXHRcdGRpc3BsYXkgYmxvY2tcblx0XHRtYXJnaW4gMCAwIDVweFxuXG4uYm94LWVucXVpcnlcblx0bWFyZ2luIDAgMCAyMHB4XG5cdGJvcmRlciAxcHggc29saWQgJGJvcmRlckRhcmtcblx0b3ZlcmZsb3cgaGlkZGVuXG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdCY6YmVmb3JlXG5cdFx0Y29udGVudCAnJ1xuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0bGVmdCAyNzBweFxuXHRcdHRvcCAwXG5cdFx0Ym90dG9tIDBcblx0XHR3aWR0aCAxcHhcblx0XHRib3JkZXItbGVmdCAxcHggc29saWQgJGJvcmRlckRhcmtcblx0dWxcblx0XHRmb250LXNpemUgMTZweFxuXHRcdG92ZXJmbG93IGhpZGRlblxuXHRcdGFcblx0XHRcdGRpc3BsYXkgYmxvY2tcblx0XHRcdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdFx0XHRjb2xvciAkY29sb3Jcblx0XHRcdHBhZGRpbmcgMTBweCAyMHB4XG5cdFx0LmdyZXlcblx0XHRcdG1hcmdpbi1sZWZ0IDVweFxuXHQudGl0bGVcblx0XHRmb250LXdlaWdodCBub3JtYWxcblx0XHRmbG9hdCBsZWZ0XG5cdFx0cGFkZGluZyAxNXB4IDIwcHggMFxuXHRcdG1heC13aWR0aCAyMzBweFxuXHRcdG1hcmdpbiAwIDAgNTBweFxuXHQucHJvZ3Jlc3Ncblx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0aGVpZ2h0IDMwcHhcblx0XHRsaW5lLWhlaWdodCAzMHB4XG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHRtYXJnaW4tdG9wIDJweFxuXHRcdHNwYW5cblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0XHRsZWZ0IDBcblx0XHRcdHRvcCAwXG5cdFx0XHRib3R0b20gMFxuXHRcdFx0Y29sb3IgJGdyZXlcblx0XHRcdGZvbnQtc2l6ZSAxNHB4XG5cdFx0XHR3aGl0ZS1zcGFjZSBub3dyYXBcblx0LnRhZ1xuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0bGVmdCAyMHB4XG5cdFx0Ym90dG9tIDE1cHhcblxuXG4uYm94LWdhbGxlcnlcblx0bWFyZ2luIDUwcHggMCAyNXB4XG5cdHBvc2l0aW9uIHJlbGF0aXZlXG5cdGgyXG5cdFx0Zm9udC13ZWlnaHQgbm9ybWFsXG5cdC5pdGVtXG5cdFx0ZGlzcGxheSBub25lXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHQmOmZpcnN0LWNoaWxkXG5cdFx0XHRkaXNwbGF5IGJsb2NrXG5cdC5kZXNjXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHRkaXNwbGF5IGJsb2NrXG5cdFx0cmlnaHQgMFxuXHRcdHRvcCAwXG5cdFx0Ym90dG9tIDcwcHhcblx0XHRvdmVyZmxvdyBoaWRkZW5cblx0XHR3aWR0aCAyNDBweFxuXHRcdGJvcmRlciAxcHggc29saWQgJGJvcmRlckRhcmtcblx0XHRib3JkZXItd2lkdGggMXB4IDAgMFxuXHRcdHBhZGRpbmctdG9wIDE1cHhcblx0LmltZ1xuXHRcdGRpc3BsYXkgYmxvY2tcblx0XHRvdmVyZmxvdyBoaWRkZW5cblx0XHRiYWNrZ3JvdW5kICRjb2xvclxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0bWFyZ2luLXJpZ2h0IDI2MHB4XG5cbiY6Zmlyc3QtY2hpbGRcblx0bWFyZ2luLXRvcCAwXG5cbiIsIiNtZW51LW1haW5cbiNtZW51LWFjY2Vzc2liaWxpdHlcbiNtZW51LW90aGVyXG4jbWVudS1zdWJcbi5tZW51LWNvbnRleHRcblxuI2JveC13ZWF0aGVyXG4uYm94LW9mZmVyXG4uYm94LWxpc3Rcbi5ib3gtb2ZmZXItYm9keVxuLmJveC1hcnRpY2xlLWZvb3RlciAuc29jaWFsXG4uYm94LWFydGljbGUtZm9vdGVyIC5yaWdodFxuLmJveC1hcnRpY2xlLWZvb3RlciAuYnRuLXdyYXBcbi5ib3gtYXJ0aWNsZS1mb290ZXIgLmNvbW1lbnRzXG5cblxuLmNyb3Nzcm9hZC1ncmlkIC5saXN0LWl0ZW0gLmNyb3Nzcm9hZC1saWdodFxuLmNyb3Nzcm9hZC1ncmlkIC5saXN0LWl0ZW0gLmJveC13ZWF0aGVyXG4uY3Jvc3Nyb2FkLWdyaWQgLmxpc3QtaXRlbSAuYm94LWVucXVpcnlcbi5jcm9zc3JvYWQtZ3JpZCAubGlzdC1pdGVtIC5ib3gtb2ZmZXJcblxuI2Zvb3RlciAubWVudVxuI2Zvb3RlciAuYXBwc1xuI2Zvb3RlciAudXBcbiNmb290ZXIgLnNvY2lhbFxuLmZvb3Rlcl9fclxuXG4uYm94LXBvcHVwXG4uYm94LWNvb2tpZVxuLmJveC1jb250YWN0LXVzXG4uYm94LWRldGFpbC1uZXh0XG4uYm94LWRldGFpbC1wcmV2XG4uYm94LWRldGFpbC1jbG9zZVxuLmJveC1wdXJjaGFzZVxuLmJveC1kZXRhaWwtb3ZlcmxheS1pbWdcblxuLnBhZ2UtZGV0YWlsIC5jb2wtc2lkZVxuXG4uYm94LXNlYXJjaC1maWx0ZXJcblxuLmZvcm0tc2VhcmNoXG4jaGVhZGVyXG5cbmZvcm1cbi5ub3ByaW50XG4uYnRuLXdyYXBcbi5idG5cbi5saW5rLW1vcmVcbi5zbGlkZS1saW5rXG4ucGFnZXJcbi5wYWdlc1xuLnByZXZcbi5uZXh0XG5cdGRpc3BsYXkgbm9uZVxuXG4uaGFzLWRldGFpbFxuXHQjbWFpblxuXHRcdC5yb3ctbWFpblxuXHRcdC5jcm9zc3JvYWQtcGhvdG9zXG5cdFx0XHRkaXNwbGF5IG5vbmVcblxuI2R5bmFtaWMtaW1nXG5cdGRpc3BsYXkgbm9uZSAhaW1wb3J0YW50XG5cbi5oaWdobGlnaHRcblx0Lm1vcmVcblx0XHRkaXNwbGF5IG5vbmVcblxuLnNlY3Rpb24tYmx1ZS5tYXJnaW5cbi5ib3gtY29udGV4dFxuXHQudmhpZGVcblx0XHRkaXNwbGF5IG5vbmVcbiIsImgxXG5oMlxuaDNcbmg0XG5oNVxuaDZcbmNhcHRpb25cblx0Zm9udC1mYW1pbHkgJGZvbnRUaXRsZXNcblx0Zm9udC13ZWlnaHQgYm9sZFxuXHRsaW5lLWhlaWdodCAxLjJcblx0bWFyZ2luIDEuNWVtIDAgLjVlbVxuXG5oMVxuXHRmb250LXNpemUgMzJweFxuXHRtYXJnaW4tdG9wIC43NWVtXG5cdEBtZWRpYShtaW4td2lkdGggJHRhYmxldClcblx0XHRmb250LXNpemUgNDBweFxuaDJcbmNhcHRpb25cblx0Zm9udC1zaXplIDI0cHhcbmgzXG5cdGZvbnQtc2l6ZSAyMHB4XG5oNFxuaDVcbmg2XG5cdGZvbnQtc2l6ZSAxOHB4XG4udGl0bGUtbWFpblxuXHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2Vcblx0bWFyZ2luIDAgMCAxNXB4XG5cdGZvbnQtc2l6ZSAyMHB4XG4iLCJ0YWJsZVxuXHRtYXJnaW4gMTVweCAxcHQgMzVweFxuXHR0ZXh0LWFsaWduIGxlZnRcblx0Ym9yZGVyLWNvbGxhcHNlIGNvbGxhcHNlXG5cdHdpZHRoIDk4JSAhaW1wb3J0YW50XG5cdGZvbnQtc2l6ZSA4cHRcbnRyXG5cdHBhZ2UtYnJlYWstaW5zaWRlIGF2b2lkXG50aFxudGRcblx0Ym9yZGVyIDFwdCBzb2xpZCAjMDAwXG5cdHBhZGRpbmcgNHB4IDEwcHggNHB4IDEwcHhcbnRoXG5cdGZvbnQtd2VpZ2h0IGJvbGRcbiIsIiNoZWFkZXJcblx0Ym9yZGVyLWJvdHRvbSAxcHQgc29saWQgIzAwMFxuXHRwYWRkaW5nIDAgMjBweCAzMHB4XG5cdG1hcmdpbiAwIDAgMjBweFxuXHQudmhpZGVcblx0XHRkaXNwbGF5IG5vbmVcblxuI2xvZ29cblx0Zm9udCAxMDAlLzEgJGZvbnRcblx0bWFyZ2luIDBcblx0cGFkZGluZyAwXG5cdG92ZXJmbG93IGhpZGRlblxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHR3aWR0aCAyNjhweFxuXHRoZWlnaHQgNTJweFxuXHRjb2xvciAjMDAwXG5cdC5pY29uXG5cdFx0Zm9udC1zaXplIDI2OHB4XG5cdFx0bWFyZ2luLXRvcCAtMTM0cHhcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdHRvcCA1MCVcblx0XHRsZWZ0IDBcblxuI21haW5cblx0cGFkZGluZyAwIDIwcHhcblxuLmNvcHlyaWdodHNcblx0Ym9yZGVyLXRvcCAxcHQgc29saWQgIzAwMFxuXHRwYWRkaW5nIDIwcHggMjBweFxuXHRtYXJnaW4gMzBweCAwIDBcblx0Zm9udC1zaXplIDE0cHhcblx0dGV4dC1hbGlnbiBjZW50ZXJcblx0c3Ryb25nXG5cdFx0Zm9udC13ZWlnaHQgbm9ybWFsXG5cdFx0bWFyZ2luIDAgMTVweFxuXHQuaWNvblxuXHRcdHZlcnRpY2FsLWFsaWduIG1pZGRsZVxuXHRcdGZvbnQtc2l6ZSA0MHB4XG5cdFx0dG9wIC0ycHhcblx0I21haW4gJlxuXHRcdG1hcmdpbi1sZWZ0IC0yMHB4XG5cdFx0bWFyZ2luLXJpZ2h0IC0yMHB4XG5cbi5mb3JtLW9yZGVyXG5cdGRpc3BsYXkgYmxvY2tcblx0bWFyZ2luLWJvdHRvbSAzMHB4XG5cbi5jcm9zc3JvYWQtcGhvdG9zXG5cdC5saXN0XG5cdFx0Ly9kaXNwbGF5IGZsZXhcblx0XHQvL2ZsZXgtd3JhcCB3cmFwXG5cdFx0Zm9udC1zaXplIDBcblx0XHRtYXJnaW4tYm90dG9tIDMwcHhcblx0Lml0ZW1cblx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xuXHRcdGZvbnQtc2l6ZSAxMnB4XG5cdFx0aGVpZ2h0IGF1dG8gIWltcG9ydGFudFxuXHRcdHBhZ2UtYnJlYWstaW5zaWRlIGF2b2lkXG5cdFx0bGlzdC1zdHlsZSBub25lXG5cdFx0d2lkdGggMjUlXG5cdFx0Ym94LXNpemluZyBib3JkZXItYm94XG5cdFx0Ym9yZGVyLXJpZ2h0IDFweCBzb2xpZCAjZjFmMWYxXG5cdFx0Ym9yZGVyLXRvcCAxcHggc29saWQgI2YxZjFmMVxuXHRcdHBhZGRpbmcgMjBweFxuXHRcdCY6bnRoLWNoaWxkKDEpXG5cdFx0JjpudGgtY2hpbGQoMilcblx0XHQmOm50aC1jaGlsZCgzKVxuXHRcdCY6bnRoLWNoaWxkKDQpXG5cdFx0XHRib3JkZXItdG9wIDBcblx0XHQmOm50aC1jaGlsZCg0bis0KVxuXHRcdFx0Ym9yZGVyLXJpZ2h0IDBcblx0Lmljb25zXG5cdC5ob3ZlclxuXHRcdGRpc3BsYXkgbm9uZVxuXHQuaW5uZXJcblx0XHRkaXNwbGF5IHRhYmxlXG5cdFx0aGVpZ2h0IDE1MHB4XG5cdFx0d2lkdGggMTAwJVxuXHQuaW1hZ2Vcblx0XHRkaXNwbGF5IHRhYmxlLWNlbGxcblx0XHR2ZXJ0aWNhbC1hbGlnbiBib3R0b21cblx0XHR0ZXh0LWFsaWduIGNlbnRlclxuXHRcdGltZ1xuXHRcdFx0bWF4LWhlaWdodCAxNTBweFxuXHRcdFx0aGVpZ2h0IGF1dG9cblx0XHRcdHdpZHRoIGF1dG9cblx0XHRcdG1heC13aWR0aCAxMDAlXG5cdC50aXRsZVxuXHRcdGNvbG9yICNhZmJiYmRcblx0XHRmb250LXNpemUgMTJweFxuXHQuZGF0ZVxuXHRcdG1hcmdpbi1ib3R0b20gMFxuXHRcdGNvbG9yICMwMDBcblx0XHRmb250LXNpemUgMTJweFxuXG4uYm94LWRldGFpbFxuXHR3aWR0aCAxMDAlXG5cdGRpc3BsYXkgdGFibGVcblx0LmltZy13cmFwXG5cdFx0ZGlzcGxheSB0YWJsZS1jZWxsXG5cdFx0d2lkdGggNDMlXG5cdFx0cGFkZGluZy1yaWdodCAyJVxuXHRcdHZlcnRpY2FsLWFsaWduIHRvcFxuXHRcdC5pY29uXG5cdFx0Lmljb24taXRlbVxuXHRcdFx0ZGlzcGxheSBub25lXG5cdC5pbmZvXG5cdFx0ZGlzcGxheSB0YWJsZS1jZWxsXG5cdFx0d2lkdGggNTAlXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdFx0aDFcblx0XHRcdGZvbnQtc2l6ZSAyMHB4XG5cdFx0LnNob3ctaW5mb1xuXHRcdFx0Zm9udC1zaXplIDEzcHhcblx0XHRcdHRoXG5cdFx0XHR0ZFxuXHRcdFx0XHRwYWRkaW5nIDNweFxuXHQudmFyaWFudHNcblx0XHRtYXJnaW4tbGVmdCAwXG5cdFx0bGlcblx0XHRcdGxpc3Qtc3R5bGUgbm9uZVxuXHRcdFx0Zm9udC1zaXplIDEzcHhcblx0XHRcdHBhZGRpbmctbGVmdCAwXG5cdC8vXG5cbi5zZWN0aW9uLWRvdWJsZVxuXHQucm93LW1haW5cblx0XHRkaXNwbGF5IHRhYmxlXG5cdC5jb2xcblx0XHRkaXNwbGF5IHRhYmxlLWNlbGxcblx0XHR3aWR0aCA1MCVcblx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3BcblxuLmNyb3Nzcm9hZC1pY29uc1xuXHR1bFxuXHRcdGRpc3BsYXkgYmxvY2tcblx0XHRmb250LXNpemUgMFxuXHRsaVxuXHRcdHBhZ2UtYnJlYWstaW5zaWRlIGF2b2lkXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2sgIWltcG9ydGFudFxuXHRcdHZlcnRpY2FsLWFsaWduIHRvcFxuXHRcdGZvbnQtc2l6ZSAxM3B4XG5cdFx0d2lkdGggMzElICFpbXBvcnRhbnRcblx0XHRtYXJnaW4tcmlnaHQgMiUgIWltcG9ydGFudFxuLm5ld3Ncblx0dWxcblx0XHRkaXNwbGF5IGZsZXggIWltcG9ydGFudFxuXHRcdGZsZXgtd3JhcCB3cmFwXG5cdGxpXG5cdFx0d2lkdGggMzElICFpbXBvcnRhbnRcblx0XHRtYXJnaW4tcmlnaHQgMiUgIWltcG9ydGFudFxuXG4ubmV3c1xuXHQuaW1nXG5cdFx0ZGlzcGxheSBibG9ja1xuXHQubW9yZVxuXHRcdGRpc3BsYXkgbm9uZVxuXG4uYm94LXRhYnNcblx0Lm1lbnVcblx0XHRkaXNwbGF5IG5vbmVcblx0LnJvd1xuXHRcdGRpc3BsYXkgZmxleFxuXHRcdGZsZXgtd3JhcCB3cmFwXG5cdC5jb2xcblx0XHR3aWR0aCAyNSVcbi5ib3gtcGFydG5lclxuXHQvL3dpZHRoIDYwJVxuXHRtYXJnaW4gYXV0b1xuXHR0ZXh0LWFsaWduIGNlbnRlclxuXG4uYm94LXBob3Rvc2hvb3Rcblx0b3ZlcmZsb3cgaGlkZGVuXG5cdG1hcmdpbi1ib3R0b20gMzBweFxuXHQuaW1hZ2Vcblx0XHRmbG9hdCBsZWZ0XG5cdFx0d2lkdGggNDUlXG5cdFx0bWFyZ2luLXJpZ2h0IDUlXG5cdC50ZXh0XG5cdFx0ZmxvYXQgbGVmdFxuXHRcdHdpZHRoIDUwJVxuXG4uYm94LXJldmlldy1jb29wZXJhdGlvblxuXHRkaXNwbGF5IHRhYmxlXG5cdHdpZHRoIDEwMCVcblx0LmJveC1jb29wZXJhdGlvblxuXHQuYm94LWN1c3RvbWVyLXJldmlld1xuXHRcdGRpc3BsYXkgdGFibGUtY2VsbFxuXHRcdHdpZHRoIDUwJVxuXG5cbi5ib3gtY29vcGVyYXRpb25cblx0dWxcblx0XHRkaXNwbGF5IGZsZXhcblx0XHRmbGV4LXdyYXAgd3JhcFxuXHRcdGFsaWduLWl0ZW1zIGNlbnRlclxuXHRsaVxuXHRcdGxpc3Qtc3R5bGUgbm9uZVxuXHRcdHdpZHRoIDMzLjMzJVxuXHRcdGJveC1zaXppbmcgYm9yZGVyLWJveFxuXHRcdHBhZGRpbmcgMTBweFxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0dmVydGljYWwtYWxpZ24gbWlkZGxlXG5cbi5yZXN0cmljdGlvbnNcblx0Lmxpc3Rcblx0XHRkaXNwbGF5IGZsZXhcblx0XHRmbGV4LXdyYXAgd3JhcFxuXHQuaXRlbVxuXHRcdHdpZHRoIDIzJVxuXHRcdHBhZGRpbmctcmlnaHQgMiVcblx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3Bcblx0XHRsaXN0LXN0eWxlIG5vbmVcblxuLmNyb3Nzcm9hZC1wZW9wbGVcbi5jcm9zc3JvYWQtdGl0bGVcblx0dWxcblx0XHRkaXNwbGF5IGZsZXhcblx0XHRmbGV4LXdyYXAgd3JhcFxuXHRsaVxuXHRcdHdpZHRoIDI1JSAhaW1wb3J0YW50XG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXG5cdC5pbWdcblx0XHRkaXNwbGF5IGJsb2NrXG5cbi5jcm9zc3JvYWQtcGVvcGxlXG5cdG1hcmdpbi1ib3R0b20gMzBweFxuXG4uY3Jvc3Nyb2FkLXRpdGxlXG5cdGZvbnQtc2l6ZSAxMnB4XG5cdGgyXG5cdFx0Zm9udC1zaXplIDE2cHhcblx0ZHRcblx0XHRmbG9hdCBub25lXG5cdFx0d2lkdGggYXV0b1xuXG4uYm94LWFkZHJlc3Ncblx0LmJveC1nbWFwXG5cdFx0ZGlzcGxheSBub25lXG4uZm9ybS1vcmRlclxuXHQuYnRuLXdyYXBcblx0XHRkaXNwbGF5IGJsb2NrXG4iLCIvKlxuICogT3ZlcmZsb3cgdXRpbGl0eS4gTWFwcyB0byByZWd1bGFyIG92ZXJmbG93LCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB2YWx1ZS5cbiAqXG4gKiBTeW5vcHNpczpcbiAqXG4gKiAgIG92ZXJmbG93OiA8dHlwZT5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgb3ZlcmZsb3c6IGF1dG9cbiAqICAgICBvdmVyZmxvdzogaGlkZGVuXG4gKiAgICAgb3ZlcmZsb3c6IGVsbGlwc2lzXG4gKlxuICovXG5cbm92ZXJmbG93KClcbiAgaWYgYXJndW1lbnRzWzBdID09IGVsbGlwc2lzXG4gICAgZWxsaXBzaXMoKVxuICBlbHNlXG4gICAgb3ZlcmZsb3c6IGFyZ3VtZW50c1xuIiwiY2FsbGVkLWZyb20gPSAoKVxuXG52ZW5kb3JzID0gbW96IHdlYmtpdCBvIG1zIG9mZmljaWFsXG5cbi8vIHN0cmluZ2lmeSB0aGUgZ2l2ZW4gYXJnXG5cbi1zdHJpbmcoYXJnKVxuICB0eXBlKGFyZykgKyAnICcgKyBhcmdcblxuLy8gcmVxdWlyZSBhIGNvbG9yXG5cbnJlcXVpcmUtY29sb3IoY29sb3IpXG4gIHVubGVzcyBjb2xvciBpcyBhICdjb2xvcidcbiAgICBlcnJvcignUkdCIG9yIEhTTCB2YWx1ZSBleHBlY3RlZCwgZ290IGEgJyArIC1zdHJpbmcoY29sb3IpKVxuXG4vLyByZXF1aXJlIGEgdW5pdFxuXG5yZXF1aXJlLXVuaXQobilcbiAgdW5sZXNzIG4gaXMgYSAndW5pdCdcbiAgICBlcnJvcigndW5pdCBleHBlY3RlZCwgZ290IGEgJyArIC1zdHJpbmcobikpXG5cbi8vIHJlcXVpcmUgYSBzdHJpbmdcblxucmVxdWlyZS1zdHJpbmcoc3RyKVxuICB1bmxlc3Mgc3RyIGlzIGEgJ3N0cmluZycgb3Igc3RyIGlzIGEgJ2lkZW50J1xuICAgIGVycm9yKCdzdHJpbmcgZXhwZWN0ZWQsIGdvdCBhICcgKyAtc3RyaW5nKHN0cikpXG5cbi8vIE1hdGggZnVuY3Rpb25zXG5cbmFicyhuKSB7IG1hdGgobiwgJ2FicycpIH1cbm1pbihhLCBiKSB7IGEgPCBiID8gYSA6IGIgfVxubWF4KGEsIGIpIHsgYSA+IGIgPyBhIDogYiB9XG5cbi8vIFRyaWdvbm9tZXRyaWNzXG5QSSA9IC1tYXRoLXByb3AoJ1BJJylcblxucmFkaWFucy10by1kZWdyZWVzKGFuZ2xlKVxuICBhbmdsZSAqICgxODAgLyBQSSlcblxuZGVncmVlcy10by1yYWRpYW5zKGFuZ2xlKVxuICB1bml0KGFuZ2xlICogKFBJIC8gMTgwKSwnJylcblxuc2luKG4pXG4gIG4gPSBkZWdyZWVzLXRvLXJhZGlhbnMobikgaWYgdW5pdChuKSA9PSAnZGVnJ1xuICByb3VuZChtYXRoKG4sICdzaW4nKSwgOSlcblxuY29zKG4pXG4gIG4gPSBkZWdyZWVzLXRvLXJhZGlhbnMobikgaWYgdW5pdChuKSA9PSAnZGVnJ1xuICByb3VuZChtYXRoKG4sICdjb3MnKSwgOSlcblxuLy8gUm91bmRpbmcgTWF0aCBmdW5jdGlvbnNcblxuY2VpbChuLCBwcmVjaXNpb24gPSAwKVxuICBtdWx0aXBsaWVyID0gMTAgKiogcHJlY2lzaW9uXG4gIG1hdGgobiAqIG11bHRpcGxpZXIsICdjZWlsJykgLyBtdWx0aXBsaWVyXG5cbmZsb29yKG4sIHByZWNpc2lvbiA9IDApXG4gIG11bHRpcGxpZXIgPSAxMCAqKiBwcmVjaXNpb25cbiAgbWF0aChuICogbXVsdGlwbGllciwgJ2Zsb29yJykgLyBtdWx0aXBsaWVyXG5cbnJvdW5kKG4sIHByZWNpc2lvbiA9IDApXG4gIG11bHRpcGxpZXIgPSAxMCAqKiBwcmVjaXNpb25cbiAgbWF0aChuICogbXVsdGlwbGllciwgJ3JvdW5kJykgLyBtdWx0aXBsaWVyXG5cbi8vIHJldHVybiB0aGUgc3VtIG9mIHRoZSBnaXZlbiBudW1iZXJzXG5cbnN1bShudW1zKVxuICBzdW0gPSAwXG4gIHN1bSArPSBuIGZvciBuIGluIG51bXNcblxuLy8gcmV0dXJuIHRoZSBhdmVyYWdlIG9mIHRoZSBnaXZlbiBudW1iZXJzXG5cbmF2ZyhudW1zKVxuICBzdW0obnVtcykgLyBsZW5ndGgobnVtcylcblxuLy8gcmV0dXJuIGEgdW5pdGxlc3MgbnVtYmVyLCBvciBwYXNzIHRocm91Z2hcblxucmVtb3ZlLXVuaXQobilcbiAgaWYgdHlwZW9mKG4pIGlzIFwidW5pdFwiXG4gICAgdW5pdChuLCBcIlwiKVxuICBlbHNlXG4gICAgblxuXG4vLyBjb252ZXJ0IGEgcGVyY2VudCB0byBhIGRlY2ltYWwsIG9yIHBhc3MgdGhyb3VnaFxuXG5wZXJjZW50LXRvLWRlY2ltYWwobilcbiAgaWYgdW5pdChuKSBpcyBcIiVcIlxuICAgIHJlbW92ZS11bml0KG4pIC8gMTAwXG4gIGVsc2VcbiAgICBuXG5cbi8vIGNoZWNrIGlmIG4gaXMgYW4gb2RkIG51bWJlclxuXG5vZGQobilcbiAgMSA9PSBuICUgMlxuXG4vLyBjaGVjayBpZiBuIGlzIGFuIGV2ZW4gbnVtYmVyXG5cbmV2ZW4obilcbiAgMCA9PSBuICUgMlxuXG4vLyBjaGVjayBpZiBjb2xvciBpcyBsaWdodFxuXG5saWdodChjb2xvcilcbiAgbGlnaHRuZXNzKGNvbG9yKSA+PSA1MCVcblxuLy8gY2hlY2sgaWYgY29sb3IgaXMgZGFya1xuXG5kYXJrKGNvbG9yKVxuICBsaWdodG5lc3MoY29sb3IpIDwgNTAlXG5cbi8vIGRlc2F0dXJhdGUgY29sb3IgYnkgYW1vdW50XG5cbmRlc2F0dXJhdGUoY29sb3IsIGFtb3VudClcbiAgYWRqdXN0KGNvbG9yLCAnc2F0dXJhdGlvbicsIC0gYW1vdW50KVxuXG4vLyBzYXR1cmF0ZSBjb2xvciBieSBhbW91bnRcblxuc2F0dXJhdGUoY29sb3IgPSAnJywgYW1vdW50ID0gMTAwJSlcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgYWRqdXN0KGNvbG9yLCAnc2F0dXJhdGlvbicsIGFtb3VudClcbiAgZWxzZVxuICAgIHVucXVvdGUoIFwic2F0dXJhdGUoXCIgKyBjb2xvciArIFwiKVwiIClcblxuLy8gZGFya2VuIGJ5IHRoZSBnaXZlbiBhbW91bnRcblxuZGFya2VuKGNvbG9yLCBhbW91bnQpXG4gIGFkanVzdChjb2xvciwgJ2xpZ2h0bmVzcycsIC0gYW1vdW50KVxuXG4vLyBsaWdodGVuIGJ5IHRoZSBnaXZlbiBhbW91bnRcblxubGlnaHRlbihjb2xvciwgYW1vdW50KVxuICBhZGp1c3QoY29sb3IsICdsaWdodG5lc3MnLCBhbW91bnQpXG5cbi8vIGRlY3JlYXNlIG9wYWNpdHkgYnkgYW1vdW50XG5cbmZhZGUtb3V0KGNvbG9yLCBhbW91bnQpXG4gIGNvbG9yIC0gcmdiYShibGFjaywgcGVyY2VudC10by1kZWNpbWFsKGFtb3VudCkpXG5cbi8vIGluY3JlYXNlIG9wYWNpdHkgYnkgYW1vdW50XG5cbmZhZGUtaW4oY29sb3IsIGFtb3VudClcbiAgY29sb3IgKyByZ2JhKGJsYWNrLCBwZXJjZW50LXRvLWRlY2ltYWwoYW1vdW50KSlcblxuLy8gc3BpbiBodWUgYnkgYSBnaXZlbiBhbW91bnRcblxuc3Bpbihjb2xvciwgYW1vdW50KVxuICBjb2xvciArIHVuaXQoYW1vdW50LCBkZWcpXG5cbi8vIG1peCB0d28gY29sb3JzIGJ5IGEgZ2l2ZW4gYW1vdW50XG5cbm1peChjb2xvcjEsIGNvbG9yMiwgd2VpZ2h0ID0gNTAlKVxuICB1bmxlc3Mgd2VpZ2h0IGluIDAuLjEwMFxuICAgIGVycm9yKFwiV2VpZ2h0IG11c3QgYmUgYmV0d2VlbiAwJSBhbmQgMTAwJVwiKVxuXG4gIGlmIGxlbmd0aChjb2xvcjEpID09IDJcbiAgICB3ZWlnaHQgPSBjb2xvcjFbMF1cbiAgICBjb2xvcjEgPSBjb2xvcjFbMV1cblxuICBlbHNlIGlmIGxlbmd0aChjb2xvcjIpID09IDJcbiAgICB3ZWlnaHQgPSAxMDAgLSBjb2xvcjJbMF1cbiAgICBjb2xvcjIgPSBjb2xvcjJbMV1cblxuICByZXF1aXJlLWNvbG9yKGNvbG9yMSlcbiAgcmVxdWlyZS1jb2xvcihjb2xvcjIpXG5cbiAgcCA9IHVuaXQod2VpZ2h0IC8gMTAwLCAnJylcbiAgdyA9IHAgKiAyIC0gMVxuXG4gIGEgPSBhbHBoYShjb2xvcjEpIC0gYWxwaGEoY29sb3IyKVxuXG4gIHcxID0gKCgodyAqIGEgPT0gLTEpID8gdyA6ICh3ICsgYSkgLyAoMSArIHcgKiBhKSkgKyAxKSAvIDJcbiAgdzIgPSAxIC0gdzFcblxuICBjaGFubmVscyA9IChyZWQoY29sb3IxKSByZWQoY29sb3IyKSkgKGdyZWVuKGNvbG9yMSkgZ3JlZW4oY29sb3IyKSkgKGJsdWUoY29sb3IxKSBibHVlKGNvbG9yMikpXG4gIHJnYiA9ICgpXG5cbiAgZm9yIHBhaXIgaW4gY2hhbm5lbHNcbiAgICBwdXNoKHJnYiwgZmxvb3IocGFpclswXSAqIHcxICsgcGFpclsxXSAqIHcyKSlcblxuICBhMSA9IGFscGhhKGNvbG9yMSkgKiBwXG4gIGEyID0gYWxwaGEoY29sb3IxKSAqICgxIC0gcClcbiAgYWxwaGEgPSBhMSArIGEyXG5cbiAgcmdiYShyZ2JbMF0sIHJnYlsxXSwgcmdiWzJdLCBhbHBoYSlcblxuLy8gaW52ZXJ0IGNvbG9ycywgbGVhdmUgYWxwaGEgaW50YWN0XG5cbmludmVydChjb2xvciA9ICcnKVxuICBpZiBjb2xvciBpcyBhICdjb2xvcidcbiAgICByZ2JhKCNmZmYgLSBjb2xvciwgYWxwaGEoY29sb3IpKVxuICBlbHNlXG4gICAgdW5xdW90ZSggXCJpbnZlcnQoXCIgKyBjb2xvciArIFwiKVwiIClcblxuLy8gZ2l2ZSBjb21wbGVtZW50IG9mIHRoZSBnaXZlbiBjb2xvclxuXG5jb21wbGVtZW50KCBjb2xvciApXG4gIHNwaW4oIGNvbG9yLCAxODAgKVxuXG4vLyBnaXZlIGdyYXlzY2FsZSBvZiB0aGUgZ2l2ZW4gY29sb3JcblxuZ3JheXNjYWxlKCBjb2xvciA9ICcnIClcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgZGVzYXR1cmF0ZSggY29sb3IsIDEwMCUgKVxuICBlbHNlXG4gICAgdW5xdW90ZSggXCJncmF5c2NhbGUoXCIgKyBjb2xvciArIFwiKVwiIClcblxuLy8gbWl4IHRoZSBnaXZlbiBjb2xvciB3aXRoIHdoaXRlXG5cbnRpbnQoIGNvbG9yLCBwZXJjZW50IClcbiAgbWl4KCB3aGl0ZSwgY29sb3IsIHBlcmNlbnQgKVxuXG4vLyBtaXggdGhlIGdpdmVuIGNvbG9yIHdpdGggYmxhY2tcblxuc2hhZGUoIGNvbG9yLCBwZXJjZW50IClcbiAgbWl4KCBibGFjaywgY29sb3IsIHBlcmNlbnQgKVxuXG4vLyByZXR1cm4gdGhlIGxhc3QgdmFsdWUgaW4gdGhlIGdpdmVuIGV4cHJcblxubGFzdChleHByKVxuICBleHByW2xlbmd0aChleHByKSAtIDFdXG5cbi8vIHJldHVybiBrZXlzIGluIHRoZSBnaXZlbiBwYWlycyBvciBvYmplY3Rcblxua2V5cyhwYWlycylcbiAgcmV0ID0gKClcbiAgaWYgdHlwZShwYWlycykgPT0gJ29iamVjdCdcbiAgICBmb3Iga2V5IGluIHBhaXJzXG4gICAgICBwdXNoKHJldCwga2V5KVxuICBlbHNlXG4gICAgZm9yIHBhaXIgaW4gcGFpcnNcbiAgICAgIHB1c2gocmV0LCBwYWlyWzBdKTtcbiAgcmV0XG5cbi8vIHJldHVybiB2YWx1ZXMgaW4gdGhlIGdpdmVuIHBhaXJzIG9yIG9iamVjdFxuXG52YWx1ZXMocGFpcnMpXG4gIHJldCA9ICgpXG4gIGlmIHR5cGUocGFpcnMpID09ICdvYmplY3QnXG4gICAgZm9yIGtleSwgdmFsIGluIHBhaXJzXG4gICAgICBwdXNoKHJldCwgdmFsKVxuICBlbHNlXG4gICAgZm9yIHBhaXIgaW4gcGFpcnNcbiAgICAgIHB1c2gocmV0LCBwYWlyWzFdKTtcbiAgcmV0XG5cbi8vIGpvaW4gdmFsdWVzIHdpdGggdGhlIGdpdmVuIGRlbGltaXRlclxuXG5qb2luKGRlbGltLCB2YWxzLi4uKVxuICBidWYgPSAnJ1xuICB2YWxzID0gdmFsc1swXSBpZiBsZW5ndGgodmFscykgPT0gMVxuICBmb3IgdmFsLCBpIGluIHZhbHNcbiAgICBidWYgKz0gaSA/IGRlbGltICsgdmFsIDogdmFsXG5cbi8vIGFkZCBhIENTUyBydWxlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrXG5cbi8vIC0gVGhpcyBkZWZpbml0aW9uIGFsbG93cyBhZGQtcHJvcGVydHkgdG8gYmUgdXNlZCBhcyBhIG1peGluXG4vLyAtIEl0IGhhcyB0aGUgc2FtZSBlZmZlY3QgYXMgaW50ZXJwb2xhdGlvbiBidXQgYWxsb3dzIHVzZXJzXG4vLyAgIHRvIG9wdCBmb3IgYSBmdW5jdGlvbmFsIHN0eWxlXG5cbmFkZC1wcm9wZXJ0eS1mdW5jdGlvbiA9IGFkZC1wcm9wZXJ0eVxuYWRkLXByb3BlcnR5KG5hbWUsIGV4cHIpXG4gIGlmIG1peGluXG4gICAge25hbWV9IGV4cHJcbiAgZWxzZVxuICAgIGFkZC1wcm9wZXJ0eS1mdW5jdGlvbihuYW1lLCBleHByKVxuXG5wcmVmaXgtY2xhc3NlcyhwcmVmaXgpXG4gIC1wcmVmaXgtY2xhc3NlcyhwcmVmaXgsIGJsb2NrKVxuXG4vLyBDYWNoaW5nIG1peGluLCB1c2UgaW5zaWRlIHlvdXIgZnVuY3Rpb25zIHRvIGVuYWJsZSBjYWNoaW5nIGJ5IGV4dGVuZGluZy5cblxuJHN0eWx1c19taXhpbl9jYWNoZSA9IHt9XG5jYWNoZSgpXG4gICRrZXkgPSAoY3VycmVudC1tZWRpYSgpIG9yICduby1tZWRpYScpICsgJ19fJyArIGNhbGxlZC1mcm9tWzBdICsgJ19fJyArIGFyZ3VtZW50c1xuICBpZiAka2V5IGluICRzdHlsdXNfbWl4aW5fY2FjaGVcbiAgICBAZXh0ZW5kIHtcIiRjYWNoZV9wbGFjZWhvbGRlcl9mb3JfXCIgKyAkc3R5bHVzX21peGluX2NhY2hlWyRrZXldfVxuICBlbHNlIGlmICdjYWNoZScgaW4gY2FsbGVkLWZyb21cbiAgICB7YmxvY2t9XG4gIGVsc2VcbiAgICAkaWQgPSBsZW5ndGgoJHN0eWx1c19taXhpbl9jYWNoZSlcblxuICAgICYsXG4gICAgLyRjYWNoZV9wbGFjZWhvbGRlcl9mb3JfeyRpZH1cbiAgICAgICRzdHlsdXNfbWl4aW5fY2FjaGVbJGtleV0gPSAkaWRcbiAgICAgIHtibG9ja31cbiIsImlubGluZS1ibG9jaygkYWxpZ24gPSB0b3AsICRpc0Jsb2NrID0gdHJ1ZSlcblx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0dmVydGljYWwtYWxpZ24gJGFsaWduXG5cdGlmICRpc0Jsb2NrICYmIHN1cHBvcnQtZm9yLWllXG5cdFx0LmllNyAmXG5cdFx0XHRkaXNwbGF5IGlubGluZVxuXHRcdFx0em9vbSAxXG5cbmlubGluZS1saXN0KCR3aWR0aCwgJGZvbnRTaXplKVxuXHRmb250LXNpemUgMHB4XG5cdEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApXG5cdFx0bGV0dGVyLXNwYWNpbmcgLTFweFxuXHQ+ICpcblx0XHRpbmxpbmUtYmxvY2soKVxuXHRcdGxldHRlci1zcGFjaW5nIG5vcm1hbFxuXHRcdGlmICR3aWR0aCBpc250IGZhbHNlXG5cdFx0XHR3aWR0aCAkd2lkdGhcblx0XHRmb250LXNpemUgJGZvbnRTaXplXG5cbmlubGluZS1saXN0LXNjcm9sbC1leHRlbmQoKVxuXHRwb3NpdGlvbiByZWxhdGl2ZVxuXHR3aGl0ZS1zcGFjZSBub3dyYXBcblx0b3ZlcmZsb3cgaGlkZGVuXG5cdG92ZXJmbG93LXggYXV0b1xuXHQ+ICogPiAqXG5cdFx0d2hpdGUtc3BhY2Ugbm9ybWFsXG5cdC5qcyAmXG5cdFx0b3ZlcmZsb3cteCBoaWRkZW5cblxuaW5saW5lLWxpc3Qtc2Nyb2xsKCR3aWR0aCwgJGZvbnQpXG5cdGlubGluZS1saXN0KCR3aWR0aCwgJGZvbnQpXG5cdGlubGluZS1saXN0LXNjcm9sbC1leHRlbmQoKVxuXG4vLyBDbGVhcm92w6Fuw60gZmxvdMWvXG5jbGVhcmZpeCgpXG5cdHpvb20gMSBpZiBzdXBwb3J0LWZvci1pZVxuXHQmOmFmdGVyXG5cdCY6YmVmb3JlXG5cdFx0Y29udGVudCAnJ1xuXHRcdGRpc3BsYXkgdGFibGVcblx0XHRjbGVhciBib3RoXG5cblxuLy8gU2tyeXTDrSB0ZXh0dVxudGV4dC1oaWRlKClcblx0Zm9udCAwcHgvMHB4IGFcblx0Y29sb3IgdHJhbnNwYXJlbnRcblx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcblxuLy8gUm96bcSbcnlcbnNpemUoJHdpZHRoID0gZmFsc2UsICRoZWlnaHQgPSBmYWxzZSlcblx0aWYgdW5pdCgkd2lkdGgpIGlzICcnXG5cdFx0JHdpZHRoID0gdW5pdCgkd2lkdGgsICdweCcpXG5cblx0aWYgJGhlaWdodFxuXHRcdGlmIHVuaXQoJGhlaWdodCkgaXMgJydcblx0XHRcdCRoZWlnaHQgPSB1bml0KCRoZWlnaHQsICdweCcpXG5cdFx0d2lkdGggJHdpZHRoXG5cdFx0aGVpZ2h0ICRoZWlnaHRcblx0ZWxzZVxuXHRcdHdpZHRoICR3aWR0aFxuXHRcdGhlaWdodCAkd2lkdGhcblxuXG4vLyBQWCBkbyBFTVxucHhUb0VtKCRmcm9tLCAkdG8pXG5cdHVuaXQoKCR0by8kZnJvbSksIGVtKVxuXG4vLyBWZXJ0aWvDoWxuw60gemFyb3Zuw6Fuw60gb2JzYWh1XG5ib3gtdmVydGljYWwoJGFsaWduID0gbWlkZGxlKVxuXHQmOmJlZm9yZVxuXHQuYmVmb3JlXG5cdFx0Y29udGVudCAnJ1xuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0aGVpZ2h0IDEwMCVcblx0XHRtYXJnaW4tcmlnaHQgLTAuMjVlbVxuXHRcdHZlcnRpY2FsLWFsaWduICRhbGlnblxuXG4vLyBQxZlldsOhZMOtIHogTmliIGJhc2U2NCBkbyBvYnLDoXprdVxudG8taW1hZ2UodXJsLCBiYXNlNjQpXG5cdCd1cmwoJXMpJyAlIGRhdGEtdG8taW1hZ2UodW5xdW90ZSh1cmwpLCBiYXNlNjQpXG4iXX0= */
#popupYesNo{ display: none; }
