theme.css 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. html { height: 100%; }
  2. #body-wrapper .container { padding: 2rem 0 2rem; }
  3. .header-fixed #body-wrapper { padding-top: 4rem; }
  4. .header-fixed .hero + #start > #body-wrapper { padding-top: 0; }
  5. section.section { padding-left: 1rem; padding-right: 1rem; position: relative; }
  6. .overlay-light, .overlay-dark, .overlay-light-gradient, .overlay-dark-gradient { z-index: 0; }
  7. .hero { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; padding-top: 6rem; padding-bottom: 7rem; background-size: cover; background-position: center; }
  8. .hero.hero-fullscreen { height: 100vh; }
  9. .hero.hero-large { height: 500px; }
  10. .hero.hero-medium { height: 400px; }
  11. .hero.hero-small { height: 110px; }
  12. .hero.hero-tiny { height: 8rem; }
  13. .header-fixed .hero { background-position: 50% 0; }
  14. .hero h1 { color: #242931; font-size: 4rem !important; }
  15. .hero h2 { color: rgba(36, 41, 49, 0.8); font-size: 2.5rem !important; }
  16. .hero h1 + h2 { margin-top: -45px !important; }
  17. .hero.text-light h1 { color: #fff; }
  18. .hero.text-light h2 { color: rgba(255, 255, 255, 0.8); }
  19. .hero p { font-size: 130%; font-weight: 300; }
  20. .hero #to-start { display: inline-block; position: absolute; bottom: 10px; font-size: 2rem; cursor: pointer; }
  21. .image-overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
  22. .overlay-light .image-overlay { background: rgba(255, 255, 255, 0.4); }
  23. .overlay-light-gradient .image-overlay { background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2)); }
  24. .overlay-dark .image-overlay { background: rgba(0, 0, 0, 0.4); }
  25. .overlay-dark-gradient .image-overlay { background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.2)); }
  26. h1, h2, h3, h4, h5, h6 { margin-top: 2rem; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; color: #3a414e; }
  27. h1, .h1 { font-size: 3rem; }
  28. h2, .h2 { font-size: 1.8rem; }
  29. h6, .h6 { font-weight: 400; }
  30. .title-center h1, .title-center h2 { text-align: center; }
  31. .title-h1h2 h1 { font-weight: 100; }
  32. .title-h1h2 h1 strong, .title-h1h2 h1 bold { font-weight: 400; }
  33. .title-h1h2 h1 + h2, .title-center h1 + h2 { margin-top: -35px; margin-bottom: 50px; font-weight: 700; }
  34. a:focus { outline: none !important; box-shadow: none !important; }
  35. img { max-width: 100%; }
  36. pre code, pre.xdebug-var-dump { background: #fafafa; display: block; padding: 1rem !important; line-height: 1.5; color: inherit; border-radius: 2px; overflow-x: auto; }
  37. pre code:not(.hljs) { background: #f8f8f8; }
  38. i.fa.fa-heart.pulse, i.fa.fa-heart-o.pulse { color: #920; }
  39. b, strong { font-weight: 700; }
  40. .heavy { font-weight: 700; }
  41. .light { font-weight: 200; }
  42. .text-light { color: rgba(255, 255, 255, 0.8); }
  43. .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6 { color: rgba(255, 255, 255, 0.9); }
  44. #error { text-align: center; position: relative; margin-top: 5rem; }
  45. #error .icon { font-size: 50px; }
  46. #messages { margin-bottom: 1rem; }
  47. #messages .icon { font-size: 120%; }
  48. .notices { margin: 1.5rem 0; }
  49. .notices p { margin: 1rem 0; }
  50. form .button-wrapper { margin-top: 0.75rem; margin-bottom: 1rem; }
  51. form span.required { color: #e85600; font-weight: 700; font-size: 150%; }
  52. form .form-input[type=range] { -webkit-appearance: slider-horizontal; -moz-appearance: slider-horizontal; appearance: slider-horizontal; }
  53. form .form-input[type=range]:focus { box-shadow: none; border: none; }
  54. #grav-login > form { margin: 2rem auto 0; max-width: 350px; }
  55. #grav-login .form-label { display: none; }
  56. #grav-login .form-data { margin: 1rem 0; }
  57. #grav-login .form-input { text-align: center; }
  58. #grav-login .button-wrapper { text-align: right; }
  59. #grav-login .button-wrapper .form-data.rememberme { margin: 0; float: left; }
  60. #grav-login .button-wrapper button[type="submit"] { background: #3085EE; border-color: #227ded; color: #fff; }
  61. #grav-login .button-wrapper button[type="submit"]:focus, #grav-login .button-wrapper button[type="submit"]:hover { background: #1877ec; border-color: #1370e3; color: #fff; }
  62. #grav-login .button-wrapper button[type="submit"]:active, #grav-login .button-wrapper button[type="submit"].active { background: #1372e7; border-color: #126bd9; color: #fff; }
  63. .mobile-container { position: absolute; top: 40%; left: 0; margin: 0 auto; z-index: 2; }
  64. .mobile-logo svg { max-width: 150px; margin-top: 1rem; margin-left: 1.4rem; }
  65. .mobile-logo svg path { fill: #fff; }
  66. .mobile-menu { display: none; top: 0; right: 0; z-index: 3; }
  67. .header-fixed .mobile-menu { position: fixed; }
  68. @media (max-width: 840px) { .mobile-menu { display: block; } }
  69. .mobile-menu .button_container { position: absolute; top: 1rem; right: 1rem; height: 27px; width: 35px; cursor: pointer; z-index: 100; transition: opacity .25s ease, top 0.5s ease; }
  70. .mobile-menu .button_container:hover { opacity: .7; }
  71. .mobile-menu .button_container.active { position: fixed; }
  72. .mobile-menu .button_container.active .top { transform: translateY(11px) translateX(0) rotate(45deg); background: #FFF; }
  73. .mobile-menu .button_container.active .middle { opacity: 0; background: #FFF; }
  74. .mobile-menu .button_container.active .bottom { transform: translateY(-11px) translateX(0) rotate(-45deg); background: #FFF; }
  75. .mobile-menu .button_container span { background: #3085EE; border: none; height: 5px; width: 100%; position: absolute; top: 0; left: 0; transition: all .35s ease; cursor: pointer; }
  76. .mobile-menu .button_container span:nth-of-type(2) { top: 11px; }
  77. .mobile-menu .button_container span:nth-of-type(3) { top: 22px; }
  78. .overlay { position: fixed; background: #000; top: 0; left: 0; width: 100%; height: 0%; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s, height .35s; }
  79. .overlay.open { opacity: .95; visibility: visible; height: 100%; }
  80. .overlay nav { position: relative; margin: 0 auto; text-align: center; }
  81. .overlay-menu { height: calc(100% - 90px); overflow-y: scroll; }
  82. .overlay-menu > .tree { text-align: left; }
  83. .treemenu.treemenu-root { margin: 1rem; }
  84. .treemenu li { list-style: none; margin: 0 0 1px; padding: 5px 0; line-height: 1.2rem; background: rgba(102, 113, 137, 0.1); }
  85. .treemenu li a { display: block; margin-left: 1.2rem; font-size: 1rem; }
  86. .treemenu li a:hover, .treemenu li a:focus, .treemenu li a.active { color: #3e8def !important; text-decoration: none; }
  87. .treemenu ul { margin: 0 0 0 1rem; }
  88. .treemenu .toggler { cursor: pointer; vertical-align: top; font-size: 1.1rem; line-height: 1rem; padding-left: 5px; float: left; }
  89. .treemenu .toggler:before { display: inline-block; margin-right: 2pt; }
  90. .treemenu li.tree-empty > .toggler { opacity: 0.3; cursor: default; }
  91. .treemenu li.tree-empty > .toggler:before { content: "\2022"; }
  92. .treemenu li.tree-closed > .toggler:before { content: "+"; }
  93. .treemenu li.tree-opened > .toggler:before { content: "\2212"; }
  94. .mobile-nav-open { overflow-y: hidden; }
  95. .default-animation, #header, #header .navbar-section, #header .logo svg, #modular-features.small .feature-icon i, #modular-features .feature-icon { transition: all 0.5s ease; }
  96. .pulse { animation-name: pulse_animation; animation-duration: 2000ms; transform-origin: 70% 70%; animation-iteration-count: infinite; animation-timing-function: linear; }
  97. @keyframes pulse_animation { 0% { transform: scale(1); }
  98. 30% { transform: scale(1); }
  99. 40% { transform: scale(1.08); }
  100. 50% { transform: scale(1); }
  101. 60% { transform: scale(1); }
  102. 70% { transform: scale(1.05); }
  103. 80% { transform: scale(1); }
  104. 100% { transform: scale(1); } }
  105. #header { width: 100%; height: 4rem; border-bottom: 1px solid rgba(172, 179, 194, 0.2); font-size: 0.7rem; font-weight: 700; background: #fff; color: #454d5d; }
  106. #header a { color: #454d5d; }
  107. #header .logo svg path { fill: #222; }
  108. .header-dark #header:not(.scrolled) { background: #222; color: #fff; }
  109. .header-dark #header:not(.scrolled) a { color: rgba(255, 255, 255, 0.7) !important; }
  110. .header-dark #header:not(.scrolled) a.active { color: #fff !important; }
  111. .header-dark #header:not(.scrolled) .dropmenu ul ul a { color: #454d5d !important; }
  112. .header-dark #header:not(.scrolled) .logo svg path { fill: #fff; }
  113. .header-dark.header-transparent #header:not(.scrolled) { background: rgba(0, 0, 0, 0.05); }
  114. .header-transparent #header:not(.scrolled) { background: rgba(255, 255, 255, 0.05); }
  115. #header .navbar-section { height: 4rem; }
  116. #header .logo svg { width: 150px; display: inherit; }
  117. .header-fixed #header { position: fixed; top: 0; z-index: 2; }
  118. body.header-fixed.header-animated #header.scrolled { height: 2.3rem; }
  119. body.header-fixed.header-animated #header.scrolled .navbar-section { height: 2.3rem; }
  120. body.header-fixed.header-animated #header.scrolled .logo svg { width: 100px; }
  121. body.header-fixed.header-animated #header.scrolled ~ .mobile-menu .button_container { top: 0.5rem; }
  122. .login-status-wrapper { white-space: nowrap; }
  123. .login-status-wrapper .icon { font-size: 120%; }
  124. body.sticky-footer { min-height: 100%; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; }
  125. body.sticky-footer #page-wrapper { -ms-flex: 1; flex: 1; }
  126. #footer { color: #acb3c2; padding: 1rem 1rem 0; text-align: center; }
  127. @media (max-width: 840px) { .dropmenu { display: none; } }
  128. .dropmenu ul { white-space: nowrap; margin: 0; display: -ms-flexbox; display: flex; }
  129. .dropmenu ul li { position: relative; margin: 0; }
  130. .dropmenu ul li a { text-decoration: none; padding: 7px 30px 7px 20px; display: block; }
  131. .dropmenu ul li a:hover, .dropmenu ul li a:focus, .dropmenu ul li a.active { color: #3085EE !important; }
  132. .dropmenu ul li a:before { content: '\f107'; font-family: 'FontAwesome'; display: inline-block; vertical-align: middle; float: right; margin-right: -20px; }
  133. .dropmenu ul li a:only-child { padding-right: 20px; }
  134. .dropmenu ul li a:only-child:before { content: ''; }
  135. .dropmenu ul li:hover > ul { display: block; visibility: visible; }
  136. .dropmenu ul ul li a:before { content: '\f105'; }
  137. .dropmenu ul ul { position: absolute; top: 100%; list-style: none; background: #fff; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); visibility: hidden; }
  138. .dropmenu ul ul ul { position: absolute; left: 100%; top: 0; }
  139. .dropmenu > ul > li { display: inline-block; }
  140. .dropmenu.animated ul li { transition: background .7s, color 0.5s; }
  141. .dropmenu.animated ul li:hover > ul { opacity: 1; transform: translateY(0); }
  142. .dropmenu.animated ul ul { transition: transform .3s, opacity .5s; opacity: 0; transform: translateY(-10px); }
  143. /** Extra columns spacing **/
  144. .extra-spacing:not(.col-12), :not(.col12) > .e-content { padding-right: 1rem; }
  145. @media (max-width: 840px) { .extra-spacing:not(.col-12), :not(.col12) > .e-content { padding-right: 0; } }
  146. /** Breadcrumbs styling **/
  147. #breadcrumbs { padding-left: 0; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; margin-top: -1rem; margin-bottom: 1rem; }
  148. #breadcrumbs i { display: none; }
  149. #breadcrumbs span, #breadcrumbs a { padding: 0 0.5rem; }
  150. #breadcrumbs span:first-child, #breadcrumbs a:first-child { padding-left: 0; }
  151. #breadcrumbs span:not(:first-child)::before, #breadcrumbs a:not(:first-child)::before { color: #e7e9ed; content: "/"; padding-right: 1rem; }
  152. /** Blog Listing **/
  153. .blog-listing .bricklayer-column { padding-left: 0px; padding-right: 25px; }
  154. .blog-listing .card { margin-bottom: 25px; border: 0; box-shadow: 0 10px 45px -9px rgba(0, 0, 0, 0.1); }
  155. .blog-listing .card-footer { text-align: right; }
  156. .blog-listing .blog-date { font-size: 13px; }
  157. /** Blog Item **/
  158. .content-title { margin-bottom: 2rem; }
  159. .content-title h2 { margin-bottom: 0.5rem; }
  160. .label { font-size: 12px; text-transform: uppercase; }
  161. /** Pagination **/
  162. ul.pagination { -ms-flex-pack: center; justify-content: center; }
  163. .prev-next { margin-top: 4rem; }
  164. /** Sidebar specific tweaks **/
  165. #sidebar ul.related-pages { box-shadow: none; padding: 0; }
  166. #sidebar ul.related-pages li { border-bottom: 1px solid #e7e9ed; }
  167. #sidebar ul.related-pages li:last-child { border-bottom: 0; }
  168. #sidebar ul.archives { list-style: none; margin-left: 0; }
  169. #sidebar ul.archives .label { vertical-align: text-top; }
  170. #modular-hero #to-start { bottom: 3.5rem; }
  171. #modular-features { text-align: center; }
  172. #modular-features.offset-box .frame-box { margin: -3rem -1.4rem 3rem; padding: 1rem 1rem; background: #fff; box-shadow: 0 0 75px 0 rgba(69, 77, 93, 0.1); }
  173. #modular-features.small .columns { margin-top: -1rem; }
  174. #modular-features.small .column:hover .feature-icon i { color: #3085EE; }
  175. #modular-features.small .feature-icon { display: block; -ms-flex-pack: left; justify-content: left; }
  176. #modular-features.small .feature-icon i { position: relative; display: inherit; font-size: 70px; margin: 0 auto 1rem; transform: none; left: auto; top: auto; color: #acb3c2; }
  177. #modular-features.small .feature-icon h6 { text-transform: none; }
  178. #modular-features .frame-box { padding: 3rem 0; }
  179. #modular-features .frame-box > p { max-width: 600px; margin-left: auto; margin-right: auto; }
  180. #modular-features .column { padding: 1rem; }
  181. #modular-features .column:hover .feature-icon { color: #acb3c2; }
  182. #modular-features .column:hover .feature-icon h6 { color: #3085EE; }
  183. #modular-features .column:hover .feature-content { color: #667189; }
  184. #modular-features .feature-icon { font-size: 130px; height: 100px; color: #e7e9ed; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; position: relative; margin: 1rem 0; }
  185. #modular-features .feature-icon i { position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
  186. #modular-features .feature-icon h6 { background: #fff; line-height: 1; z-index: 1; text-transform: uppercase; font-weight: 600; margin: 0; display: block; color: #667189; }
  187. #modular-features .feature-content { color: #acb3c2; }
  188. #modular-text { padding-top: 4rem; padding-bottom: 4rem; }
  189. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwic3BlY3RyZS9fdmFyaWFibGVzLnNjc3MiLCJzcGVjdHJlL19taXhpbnMuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19hdmF0YXIuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19idXR0b24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2NvbG9yLnNjc3MiLCJzcGVjdHJlL21peGlucy9fbGFiZWwuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19wb3NpdGlvbi5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3NoYWRvdy5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RleHQuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190b2FzdC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsInRoZW1lL192YXJpYWJsZXMuc2NzcyIsInRoZW1lL19taXhpbnMuc2NzcyIsInRoZW1lL19mcmFtZXdvcmsuc2NzcyIsInRoZW1lL190eXBvZ3JhcGh5LnNjc3MiLCJ0aGVtZS9fZm9ybXMuc2NzcyIsInRoZW1lL19tb2JpbGUuc2NzcyIsInRoZW1lL19hbmltYXRpb24uc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19mb290ZXIuc2NzcyIsInRoZW1lL19tZW51LnNjc3MiLCJ0aGVtZS9fYmxvZy5zY3NzIiwidGhlbWUvX29uZXBhZ2Uuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0ICdzcGVjdHJlL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdzcGVjdHJlL21peGlucyc7XG5cbkBpbXBvcnQgJ3RoZW1lL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd0aGVtZS9taXhpbnMnO1xuQGltcG9ydCAndGhlbWUvZnJhbWV3b3JrJztcbkBpbXBvcnQgJ3RoZW1lL3R5cG9ncmFwaHknO1xuQGltcG9ydCAndGhlbWUvZm9ybXMnO1xuQGltcG9ydCAndGhlbWUvbW9iaWxlJztcbkBpbXBvcnQgJ3RoZW1lL2FuaW1hdGlvbic7XG5cbkBpbXBvcnQgJ3RoZW1lL2hlYWRlcic7XG5AaW1wb3J0ICd0aGVtZS9mb290ZXInO1xuQGltcG9ydCAndGhlbWUvbWVudSc7XG5cbi8vIEV4dHJhIFNrZWxldG9uIFN0eWxpbmdcbkBpbXBvcnQgJ3RoZW1lL2Jsb2cnO1xuQGltcG9ydCAndGhlbWUvb25lcGFnZSc7XG5cbiIsIi8vIENvcmUgdmFyaWFibGVzXG4kdmVyc2lvbjogXCIwLjUuMVwiO1xuXG4vLyBDb3JlIGZlYXR1cmVzXG4kcnRsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ29yZSBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiAjMzA4NUVFICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZGFyazogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci1saWdodDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMzcuNSUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1kYXJrOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1saWdodDogbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG5cbi8vIEdyYXkgY29sb3JzXG4kZGFyay1jb2xvcjogIzQ1NGQ1ZCAhZGVmYXVsdDtcbiRsaWdodC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA0MCUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItZGFyazogZGFya2VuKCRncmF5LWNvbG9yLCAyNSUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbiRib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDYwJSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLWRhcms6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGJnLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA2NiUpICFkZWZhdWx0O1xuJGJnLWNvbG9yLWRhcms6IGRhcmtlbigkYmctY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRiZy1jb2xvci1saWdodDogJGxpZ2h0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBDb250cm9sIGNvbG9yc1xuJHN1Y2Nlc3MtY29sb3I6ICMzMmI2NDMgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogI2ZmYjcwMCAhZGVmYXVsdDtcbiRlcnJvci1jb2xvcjogI2U4NTYwMCAhZGVmYXVsdDtcblxuLy8gT3RoZXIgY29sb3JzXG4kY29kZS1jb2xvcjogI2UwNjg3MCAhZGVmYXVsdDtcbiRoaWdobGlnaHQtY29sb3I6ICNmZmU5YjMgIWRlZmF1bHQ7XG4kYm9keS1iZzogJGJnLWNvbG9yLWxpZ2h0ICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGxpbmstY29sb3ItZGFyazogZGFya2VuKCRsaW5rLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG5cbi8vIEZvbnRzXG4vLyBDcmVkaXQ6IGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTUvMTEvdXNpbmctc3lzdGVtLXVpLWZvbnRzLXByYWN0aWNhbC1ndWlkZS9cbiRiYXNlLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8gIWRlZmF1bHQ7XG4kbW9uby1mb250LWZhbWlseTogXCJTRiBNb25vXCIsIFwiU2Vnb2UgVUkgTW9ub1wiLCBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZmFsbGJhY2stZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRjamstemgtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIlBpbmdGYW5nIFNDXCIsIFwiSGlyYWdpbm8gU2FucyBHQlwiLCBcIk1pY3Jvc29mdCBZYUhlaVwiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY2prLWpwLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJIaXJhZ2lubyBTYW5zXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwiWXUgR290aGljXCIsIFl1R290aGljLCBNZWlyeW8sICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamsta28tZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIk1hbGd1biBHb3RoaWNcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFVuaXQgc2l6ZXNcbiR1bml0LW86IC4wNXJlbSAhZGVmYXVsdDtcbiR1bml0LWg6IC4xcmVtICFkZWZhdWx0O1xuJHVuaXQtMTogLjJyZW0gIWRlZmF1bHQ7XG4kdW5pdC0yOiAuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTM6IC42cmVtICFkZWZhdWx0O1xuJHVuaXQtNDogLjhyZW0gIWRlZmF1bHQ7XG4kdW5pdC01OiAxcmVtICFkZWZhdWx0O1xuJHVuaXQtNjogMS4ycmVtICFkZWZhdWx0O1xuJHVuaXQtNzogMS40cmVtICFkZWZhdWx0O1xuJHVuaXQtODogMS42cmVtICFkZWZhdWx0O1xuJHVuaXQtOTogMS44cmVtICFkZWZhdWx0O1xuJHVuaXQtMTA6IDJyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xMjogMi40cmVtICFkZWZhdWx0O1xuJHVuaXQtMTY6IDMuMnJlbSAhZGVmYXVsdDtcblxuLy8gRm9udCBzaXplc1xuJGh0bWwtZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGh0bWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRmb250LXNpemU6IC44cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogLjdyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAuOXJlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8gU2l6ZXNcbiRsYXlvdXQtc3BhY2luZzogJHVuaXQtMiAhZGVmYXVsdDtcbiRsYXlvdXQtc3BhY2luZy1zbTogJHVuaXQtMSAhZGVmYXVsdDtcbiRsYXlvdXQtc3BhY2luZy1sZzogJHVuaXQtNCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAkdW5pdC1oICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogJHVuaXQtbyAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGgtbGc6ICR1bml0LWggIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplOiAkdW5pdC05ICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZS1zbTogJHVuaXQtNyAhZGVmYXVsdDtcbiRjb250cm9sLXNpemUtbGc6ICR1bml0LTEwICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy14OiAkdW5pdC0yICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy14LXNtOiAkdW5pdC0yICogLjc1ICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy14LWxnOiAkdW5pdC0yICogMS41ICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15OiAoJGNvbnRyb2wtc2l6ZSAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteS1zbTogKCRjb250cm9sLXNpemUtc20gLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXktbGc6ICgkY29udHJvbC1zaXplLWxnIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtaWNvbi1zaXplOiAuOHJlbSAhZGVmYXVsdDtcblxuJGNvbnRyb2wtd2lkdGgteHM6IDE4MHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgtc206IDMyMHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgtbWQ6IDY0MHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgtbGc6IDk2MHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgteGw6IDEyODBweCAhZGVmYXVsdDtcblxuLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50c1xuJHNpemUteHM6IDQ4MHB4ICFkZWZhdWx0O1xuJHNpemUtc206IDYwMHB4ICFkZWZhdWx0O1xuJHNpemUtbWQ6IDg0MHB4ICFkZWZhdWx0O1xuJHNpemUtbGc6IDk2MHB4ICFkZWZhdWx0O1xuJHNpemUteGw6IDEyODBweCAhZGVmYXVsdDtcbiRzaXplLTJ4OiAxNDQwcHggIWRlZmF1bHQ7XG5cbiRyZXNwb25zaXZlLWJyZWFrcG9pbnQ6ICRzaXplLXhzICFkZWZhdWx0O1xuXG4vLyBaLWluZGV4XG4kemluZGV4LTA6IDEgIWRlZmF1bHQ7XG4kemluZGV4LTE6IDEwMCAhZGVmYXVsdDtcbiR6aW5kZXgtMjogMjAwICFkZWZhdWx0O1xuJHppbmRleC0zOiAzMDAgIWRlZmF1bHQ7XG4kemluZGV4LTQ6IDQwMCAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuQGltcG9ydCBcIm1peGlucy9hdmF0YXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbG9yXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RvYXN0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcbiIsIi8vIEF2YXRhciBtaXhpblxuQG1peGluIGF2YXRhci1iYXNlKCRzaXplOiAkdW5pdC04KSB7XG4gIGZvbnQtc2l6ZTogJHNpemUgLyAyO1xuICBoZWlnaHQ6ICRzaXplO1xuICB3aWR0aDogJHNpemU7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudCBtaXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yO1xuICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDMlKTtcbiAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJGNvbG9yKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCAyJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3IsIDclKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmLmxvYWRpbmcge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJGNvbG9yKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgNTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDIlKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJi5sb2FkaW5nIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXggbWl4aW5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIi8vIEJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBtaXhpblxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJG5hbWU6IFwiLmJnLXByaW1hcnlcIiwgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAjeyRuYW1lfSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuXG4gICAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA8IDYwKSB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUZXh0IGNvbG9yIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiB0ZXh0LWNvbG9yLXZhcmlhbnQoJG5hbWU6IFwiLnRleHQtcHJpbWFyeVwiLCAkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICN7JG5hbWV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgYSN7JG5hbWV9IHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExhYmVsIGJhc2Ugc3R5bGVcbkBtaXhpbiBsYWJlbC1iYXNlKCkge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZzogLjFyZW0gLjE1cmVtO1xufVxuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3I6ICRsaWdodC1jb2xvciwgJGJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBNYXJnaW4gdXRpbGl0eSBtaXhpblxuQG1peGluIG1hcmdpbi12YXJpYW50KCRpZDogMSwgJHNpemU6ICR1bml0LTEpIHtcbiAgLm0tI3skaWR9IHtcbiAgICBtYXJnaW46ICRzaXplO1xuICB9XG5cbiAgLm1iLSN7JGlkfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpemU7XG4gIH1cblxuICAubWwtI3skaWR9IHtcbiAgICBtYXJnaW4tbGVmdDogJHNpemU7XG4gIH1cblxuICAubXItI3skaWR9IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaXplO1xuICB9XG5cbiAgLm10LSN7JGlkfSB7XG4gICAgbWFyZ2luLXRvcDogJHNpemU7XG4gIH1cblxuICAubXgtI3skaWR9IHtcbiAgICBtYXJnaW4tbGVmdDogJHNpemU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gIC5teS0jeyRpZH0ge1xuICAgIG1hcmdpbi1ib3R0b206ICRzaXplO1xuICAgIG1hcmdpbi10b3A6ICRzaXplO1xuICB9XG59XG5cbi8vIFBhZGRpbmcgdXRpbGl0eSBtaXhpblxuQG1peGluIHBhZGRpbmctdmFyaWFudCgkaWQ6IDEsICRzaXplOiAkdW5pdC0xKSB7XG4gIC5wLSN7JGlkfSB7XG4gICAgcGFkZGluZzogJHNpemU7XG4gIH1cblxuICAucGItI3skaWR9IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNpemU7XG4gIH1cblxuICAucGwtI3skaWR9IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaXplO1xuICB9XG5cbiAgLnByLSN7JGlkfSB7XG4gICAgcGFkZGluZy1yaWdodDogJHNpemU7XG4gIH1cblxuICAucHQtI3skaWR9IHtcbiAgICBwYWRkaW5nLXRvcDogJHNpemU7XG4gIH1cblxuICAucHgtI3skaWR9IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaXplO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaXplO1xuICB9XG4gIFxuICAucHktI3skaWR9IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNpemU7XG4gICAgcGFkZGluZy10b3A6ICRzaXplO1xuICB9XG59XG4iLCIvLyBDb21wb25lbnQgZm9jdXMgc2hhZG93XG5AbWl4aW4gY29udHJvbC1zaGFkb3coJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSByZ2JhKCRjb2xvciwgLjIpO1xufVxuXG4vLyBTaGFkb3cgbWl4aW5cbkBtaXhpbiBzaGFkb3ctdmFyaWFudCgkb2Zmc2V0KSB7XG4gIGJveC1zaGFkb3c6IDAgJG9mZnNldCAoJG9mZnNldCArIC4wNXJlbSkgKiAyIHJnYmEoJGRhcmstY29sb3IsIC4zKTtcbn1cbiIsIi8vIFRleHQgRWxsaXBzaXNcbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFRvYXN0IHZhcmlhbnQgbWl4aW5cbkBtaXhpbiB0b2FzdC12YXJpYW50KCRjb2xvcjogJGRhcmstY29sb3IpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC45KTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBDb21wb25lbnQgdHJhbnNpdGlvblxuQG1peGluIGNvbnRyb2wtdHJhbnNpdGlvbigpIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xufVxuIiwiLy8gTGF5b3V0XG4kaG9yaXotcGFkZGluZzogMXJlbTtcbiR2ZXJ0LXBhZGRpbmc6IDJyZW0gMCAycmVtO1xuXG4vLyBGb250c1xuJHRpdGxlLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBIZWFkZXJcbiRoZWFkZXItaGVpZ2h0LWxhcmdlOiA0cmVtO1xuJGhlYWRlci1oZWlnaHQtc21hbGw6IDIuM3JlbTtcbiRoZWFkZXItY29sb3ItZGFyazogIzIyMjtcbiRoZWFkZXItdGV4dC1saWdodDogJGxpZ2h0LWNvbG9yO1xuJGhlYWRlci10ZXh0LWRhcms6IGRhcmtlbigkZGFyay1jb2xvciwgMTUlKTtcblxuLy8gRHJvcGRvd24gTWVudVxuJGRyb3BtZW51LWJnOiAkbGlnaHQtY29sb3I7XG4kZHJvcG1lbnUtaG92ZXItdGV4dDogJHByaW1hcnktY29sb3I7XG4kZHJvcG1lbnUtaG9yaXotcGFkZGluZzogMjBweDtcbiRkcm9wbWVudS12ZXJ0LXBhZGRpbmc6IDdweDtcbiRkcm9wbWVudS1jaGlsZC1wYWRkaW5nOiAxMHB4O1xuJGRyb3BtZW51LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuLy8gTW9iaWxlIE1lbnVcbiRtb2JpbGUtY29sb3ItbWFpbjogJHByaW1hcnktY29sb3I7XG4kbW9iaWxlLWNvbG9yLWFjdGl2ZTogI0ZGRjtcbiRtb2JpbGUtY29sb3ItbGluazogI0ZGRjtcbiRtb2JpbGUtYnV0dG9uLWhlaWdodDogMjdweDtcbiRtb2JpbGUtYnV0dG9uLXdpZHRoOiAzNXB4OyIsIkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgJHBvaW50ID09IDJ4IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDokc2l6ZS0yeCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRwb2ludCA9PSB4bCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzaXplLXhsKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgfSBAZWxzZSBpZiAkcG9pbnQgPT0gbGcge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS1sZykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRwb2ludCA9PSBtZCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzaXplLW1kKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IHNtIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNpemUtc20pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkcG9pbnQgPT0geHMge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS14cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9ICBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50IG1peGluIHN1cHBvcnRzOiB4cywgc20sIG1kLCBsZywgeGwsIDJ4XCI7XG4gIH1cbn1cblxuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGJ1dHRvbi1wcmltYXJ5KCkge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1kYXJrO1xuICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHByaW1hcnktY29sb3ItZGFyaywgMiUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDUlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDQlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA3JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxufVxuIiwiaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2JvZHktd3JhcHBlciB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6ICR2ZXJ0LXBhZGRpbmc7XG4gIH1cblxuICAvLyBGaXhlZCBIZWFkZXIgc29sdXRpb25cbiAgLmhlYWRlci1maXhlZCAmIHtcbiAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQtbGFyZ2U7XG4gIH1cbn1cblxuLmhlYWRlci1maXhlZCB7XG4gIC5oZXJvICsgI3N0YXJ0ID4gI2JvZHktd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuc2VjdGlvbi5zZWN0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAkaG9yaXotcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJGhvcml6LXBhZGRpbmc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm92ZXJsYXktbGlnaHQsIC5vdmVybGF5LWRhcmssIC5vdmVybGF5LWxpZ2h0LWdyYWRpZW50LCAub3ZlcmxheS1kYXJrLWdyYWRpZW50IHtcbiAgei1pbmRleDogMDtcbn1cblxuLy8gSGVyb1xuLmhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDdyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAmLmhlcm8tZnVsbHNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICYuaGVyby1sYXJnZSB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgfVxuXG4gICYuaGVyby1tZWRpdW0ge1xuICAgIGhlaWdodDogNDAwcHg7XG4gIH1cblxuICAmLmhlcm8tc21hbGwge1xuICAgIGhlaWdodDogMTEwcHg7XG4gIH1cblxuICAmLmhlcm8tdGlueSB7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG4gIFxuICAuaGVhZGVyLWZpeGVkICYge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICB9XG5cbiAgLy8mLnBhcmFsbGF4IHtcbiAgLy8gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIC8vfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJGhlYWRlci10ZXh0LWRhcms7XG4gICAgZm9udC1zaXplOiA0cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBoMiB7XG4gICAgY29sb3I6IHJnYmEoJGhlYWRlci10ZXh0LWRhcmssIDAuOCk7XG4gICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGgxICsgaDIge1xuICAgIG1hcmdpbi10b3A6IC00NXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnRleHQtbGlnaHQge1xuICAgIGgxIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQtbGlnaHQ7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRoZWFkZXItdGV4dC1saWdodCwgMC44KTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDEzMCU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gICN0by1zdGFydCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBPdmVybGF5XG4uaW1hZ2Utb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtMTtcblxuICAub3ZlcmxheS1saWdodCAmIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsIDAuNCk7XG4gIH1cblxuICAub3ZlcmxheS1saWdodC1ncmFkaWVudCAmIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKCNmZmYsMC41KSwgcmdiYSgjZmZmLDAuMikpO1xuICB9XG5cbiAgLm92ZXJsYXktZGFyayAmIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDAuNCk7XG4gIH1cblxuICAub3ZlcmxheS1kYXJrLWdyYWRpZW50ICYge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoIzAwMCwwLjUpLCByZ2JhKCMwMDAsMC4yKSk7XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cbiIsIi8vIEhlYWRlciBPdmVycmlkZXNcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICBjb2xvcjogZGFya2VuKCRib2R5LWZvbnQtY29sb3IsIDEwJSk7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDNyZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuOHJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi50aXRsZS1jZW50ZXIge1xuICBoMSwgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4udGl0bGUtaDFoMiB7XG4gIGgxICB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBzdHJvbmcsIGJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgfVxuXG59XG5cbi8vIFR5cG9ncmFwaHkgSGludHNcbi50aXRsZS1oMWgyLCAudGl0bGUtY2VudGVyIHtcbiAgaDEgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5cbi8vIENvZGVibG9ja3NcbnByZSBjb2RlLCBwcmUueGRlYnVnLXZhci1kdW1we1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG5wcmUge1xuICBjb2RlOm5vdCguaGxqcykge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIH1cbn1cblxuLy8gSWNvbiBUd2Vha3NcbmkuZmEge1xuXG5cbiAgJi5mYS1oZWFydCwgJi5mYS1oZWFydC1vIHtcbiAgICAmLnB1bHNlIHtcbiAgICAgIGNvbG9yOiAjOTIwXG4gICAgfVxuICB9XG59XG5cbi8vIEZvbnQgV2VpZ2h0c1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5oZWF2eSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG5cbi8vIENvbG9yc1xuLnRleHQtbGlnaHQge1xuICBjb2xvcjogcmdiYSgkbGlnaHQtY29sb3IsIDAuOCk7XG5cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6IHJnYmEoJGxpZ2h0LWNvbG9yLCAwLjkpO1xuICB9XG59XG5cbi8vIEVycm9yIGNvbmZpZ3VyYXRpb25cbiNlcnJvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA1cmVtO1xuXG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gIH1cbn1cblxuLy8gTWVzc2FnZXNcbiNtZXNzYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgfVxufVxuXG4vLyBOb3RpY2VzXG4ubm90aWNlcyB7XG4gIG1hcmdpbjogMS41cmVtIDA7XG4gIHAge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG5cbiIsImZvcm0ge1xuICAuYnV0dG9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIHNwYW4ucmVxdWlyZWQge1xuICAgIGNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE1MCU7XG4gIH1cblxuICAuZm9ybS1pbnB1dFt0eXBlPXJhbmdlXSB7XG4gICAgYXBwZWFyYW5jZTogc2xpZGVyLWhvcml6b250YWw7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4jZ3Jhdi1sb2dpbiB7XG5cbiAgPiBmb3JtIHtcbiAgICBtYXJnaW46IDJyZW0gYXV0byAwO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gIH1cbiAgLmZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZvcm0tZGF0YSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gIH1cbiAgLmZvcm0taW5wdXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYnV0dG9uLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgLmZvcm0tZGF0YS5yZW1lbWJlcm1lIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tb2JpbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvL3dpZHRoOiAxMDAlO1xuICAvL2hlaWdodDogMTAwJTtcbiAgdG9wOiA0MCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogIDAgYXV0bztcbiAgei1pbmRleDogMjtcbn1cblxuLm1vYmlsZS1sb2dvIHtcbiAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuNHJlbTtcblxuICAgIHBhdGgge1xuICAgICAgZmlsbDogJGxpZ2h0LWNvbG9yO1xuICAgIH1cblxuICB9XG59XG5cbi8vIEhhbWJ1cmdlciBNZW51XG4ubW9iaWxlLW1lbnUge1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDM7XG5cbiAgLmhlYWRlci1maXhlZCAmIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuYnV0dG9uX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogJGhvcml6LXBhZGRpbmc7XG4gICAgaGVpZ2h0OiAkbW9iaWxlLWJ1dHRvbi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRtb2JpbGUtYnV0dG9uLXdpZHRoO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UsIHRvcCAwLjVzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgICAgLnRvcCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMXB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtY29sb3ItYWN0aXZlO1xuICAgICAgfVxuICAgICAgLm1pZGRsZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtY29sb3ItYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAuYm90dG9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMXB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW9iaWxlLWNvbG9yLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtY29sb3ItbWFpbjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogIGFsbCAuMzVzIGVhc2U7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICB0b3A6IDIycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAlO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cywgdmlzaWJpbGl0eSAuMzVzLCBoZWlnaHQgLjM1cztcblxuICAmLm9wZW4ge1xuICAgIG9wYWNpdHk6IC45NTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICB9XG4gIG5hdiB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5vdmVybGF5LW1lbnUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgJiA+IC50cmVlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cblxuLnRyZWVtZW51IHtcblxuICAmLnRyZWVtZW51LXJvb3Qge1xuICAgIG1hcmdpbjogMXJlbTtcbiAgfVxuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDFweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheS1jb2xvci1kYXJrLDAuMSk7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW46IDAgMCAwIDFyZW07XG4gIH1cblxuICAudG9nZ2xlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMnB0O1xuICAgIH1cbiAgfVxuXG4gIGxpLnRyZWUtZW1wdHkgID4gLnRvZ2dsZXIge1xuICAgIG9wYWNpdHk6IDAuMzsgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICB9XG4gIH1cblxuICBsaS50cmVlLWNsb3NlZCA+IC50b2dnbGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gIH1cblxuICBsaS50cmVlLW9wZW5lZCA+IC50b2dnbGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIyMTJcIjtcbiAgfVxufVxuXG4ubW9iaWxlLW5hdi1vcGVuIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuIiwiLmRlZmF1bHQtYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8gUHVsc2UgQW5pbWF0aW9uXG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2VfYW5pbWF0aW9uO1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgdHJhbnNmb3JtLW9yaWdpbjo3MCUgNzAlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlX2FuaW1hdGlvbiB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAzMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA2MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDcwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgODAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuIiwiI2hlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LWxhcmdlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkZ3JheS1jb2xvciwgMC4yKTtcbiAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG5cbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICBjb2xvcjogJGRhcmstY29sb3I7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRkYXJrLWNvbG9yO1xuICB9XG5cbiAgLmxvZ28gc3ZnIHBhdGgge1xuICAgIGZpbGw6ICRoZWFkZXItY29sb3ItZGFyaztcbiAgfVxuXG4gIC5oZWFkZXItZGFyayAmOm5vdCguc2Nyb2xsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWNvbG9yLWRhcms7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRsaWdodC1jb2xvciwgMC43KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5kcm9wbWVudSB1bCB1bCBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5sb2dvIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICRsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWRhcmsuaGVhZGVyLXRyYW5zcGFyZW50ICY6bm90KC5zY3JvbGxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgMC4wNSk7XG4gIH1cblxuICAuaGVhZGVyLXRyYW5zcGFyZW50ICY6bm90KC5zY3JvbGxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC4wNSk7XG4gICAgLy9ib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXNlY3Rpb24ge1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQtbGFyZ2U7XG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gIH1cblxuICAubG9nbyBzdmcge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gIH1cblxuICAvLyBGaXhlZCBIZWFkZXIgc29sdXRpb25cbiAgLmhlYWRlci1maXhlZCAmIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLy8gQW5pbWF0ZSBGaXhlZCBIZWFkZXJcbmJvZHkuaGVhZGVyLWZpeGVkLmhlYWRlci1hbmltYXRlZCB7XG4gICNoZWFkZXIuc2Nyb2xsZWQge1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQtc21hbGw7XG5cbiAgICAubmF2YmFyLXNlY3Rpb24ge1xuICAgICAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAubG9nbyBzdmcge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIH4gLm1vYmlsZS1tZW51IC5idXR0b25fY29udGFpbmVyIHtcbiAgICAgIHRvcDogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ubG9naW4tc3RhdHVzLXdyYXBwZXIge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gIH1cbn0iLCIvLyBTdGlja3kgRm9vdGVyIHNvbHV0aW9uXG5ib2R5LnN0aWNreS1mb290ZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICNwYWdlLXdyYXBwZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cblxuI2Zvb3RlciB7XG4gIGNvbG9yOiAjYWNiM2MyO1xuICBwYWRkaW5nOiAxcmVtICRob3Jpei1wYWRkaW5nIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCIuZHJvcG1lbnUge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRkcm9wbWVudS12ZXJ0LXBhZGRpbmcgKCRkcm9wbWVudS1ob3Jpei1wYWRkaW5nICsgJGRyb3BtZW51LWNoaWxkLXBhZGRpbmcpICRkcm9wbWVudS12ZXJ0LXBhZGRpbmcgJGRyb3BtZW51LWhvcml6LXBhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogJGRyb3BtZW51LWhvdmVyLXRleHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICgyICokZHJvcG1lbnUtY2hpbGQtcGFkZGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICAgIC8vYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZHJvcG1lbnUtaG9yaXotcGFkZGluZztcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwgbGkgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjEwNSc7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wbWVudS1iZztcbiAgICAgIGJveC1zaGFkb3c6ICRkcm9wbWVudS1zaGFkb3c7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmID4gdWwgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIG9wdGlvbnNcbiAgJi5hbmltYXRlZCB7XG4gICAgdWwgbGkge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuN3MsIGNvbG9yIDAuNXM7XG4gICAgfVxuXG4gICAgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIHVsIHVsIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIG9wYWNpdHkgLjVzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgfVxuICB9XG59IiwiLyoqIEV4dHJhIGNvbHVtbnMgc3BhY2luZyAqKi9cbi5leHRyYS1zcGFjaW5nOm5vdCguY29sLTEyKSwgOm5vdCguY29sMTIpID4gLmUtY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyoqIEJyZWFkY3J1bWJzIHN0eWxpbmcgKiovXG4jYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG5cbiAgaSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHNwYW4sIGEge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIHNwYW4sIGEge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2U3ZTllZDtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEJsb2cgTGlzdGluZyAqKi9cbi5ibG9nLWxpc3Rpbmcge1xuXG4gIC5icmlja2xheWVyLWNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcblxuICB9XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggNDVweCAtOXB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgfVxuXG4gIC5jYXJkLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuYmxvZy1kYXRlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cblxuICAubGFiZWwge1xuXG4gIH1cbn1cblxuLyoqIEJsb2cgSXRlbSAqKi9cbi5jb250ZW50LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cbi5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyoqIFBhZ2luYXRpb24gKiovXG51bC5wYWdpbmF0aW9uIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcmV2LW5leHQge1xuICBtYXJnaW4tdG9wOiA0cmVtO1xufVxuXG4vKiogU2lkZWJhciBzcGVjaWZpYyB0d2Vha3MgKiovXG4jc2lkZWJhciB7XG5cbiAgdWwucmVsYXRlZC1wYWdlcyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgdWwuYXJjaGl2ZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAubGFiZWwge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgIH1cbiAgfVxufSIsIiNtb2R1bGFyLWhlcm8ge1xuICAjdG8tc3RhcnQge1xuICAgIGJvdHRvbTogMy41cmVtO1xuICB9XG59XG5cbiNtb2R1bGFyLWZlYXR1cmVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYub2Zmc2V0LWJveCB7XG4gICAgLmZyYW1lLWJveCB7XG4gICAgICBtYXJnaW46IC0zcmVtICgtMXJlbSAtICRsYXlvdXQtc3BhY2luZykgM3JlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jb2xvcjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA3NXB4IDAgcmdiYSgkZGFyay1jb2xvciwgMC4xKTtcbiAgICB9XG4gIH1cblxuICAmLnNtYWxsIHtcblxuICAgIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cblxuICAgIC5jb2x1bW46aG92ZXIge1xuICAgICAgLmZlYXR1cmUtaWNvbiBpIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cblxuICAgICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgY29sb3I6ICRncmF5LWNvbG9yO1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcblxuICAgICAgfVxuICAgICAgaDYge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZnJhbWUtYm94IHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG5cbiAgICA+IHAge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mZWF0dXJlLWljb24ge1xuICAgICAgICBjb2xvcjogJGdyYXktY29sb3I7XG4gICAgICAgIGg2IHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogJGdyYXktY29sb3ItZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZS1pY29uIHtcbiAgICBmb250LXNpemU6IDEzMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgY29sb3I6ICRncmF5LWNvbG9yLWxpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG5cbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkZ3JheS1jb2xvci1kYXJrO1xuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgfVxufVxuXG4jbW9kdWxhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDRyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQWVBQSxBQUFBLElBQUksQ0FBQyxFQUNILE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFDRSxhQURXLENBQ1gsVUFBVSxDQUFDLEVBQ1QsT0FBTyxFRkpJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHRUt2Qjs7QUFHRCxBQUFBLGFBQWEsQ0FOZixhQUFhLENBTUssRUFDZCxXQUFXLEVGSE8sSUFBSSxHRUl2Qjs7QUFHSCxBQUNFLGFBRFcsQ0FDWCxLQUFLLEdBQUcsTUFBTSxHQUFHLGFBQWEsQ0FBQyxFQUM3QixXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQUdILEFBQUEsT0FBTyxBQUFBLFFBQVEsQ0FBQyxFQUNkLFlBQVksRUZyQkUsSUFBSSxFRXNCbEIsYUFBYSxFRnRCQyxJQUFJLEVFdUJsQixR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 */