theme.css 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. @charset "UTF-8";
  2. * { box-sizing: border-box; }
  3. /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
  4. /* Document ========================================================================== */
  5. /** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
  6. html { margin: 0; padding: 0; font-size: 18px; line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }
  7. /* Sections ========================================================================== */
  8. /** Remove the margin in all browsers. */
  9. body { margin: 0; padding: 0; }
  10. /** Render the `main` element consistently in IE. */
  11. main { display: block; }
  12. /** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
  13. h1 { font-size: 2em; margin: 0; }
  14. h1, h2, h3, h4, h5, p, em, strong, ul, li, a { margin: 0; padding: 0; }
  15. /* Grouping content ========================================================================== */
  16. /** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
  17. hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }
  18. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  19. pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  20. /* Text-level semantics ========================================================================== */
  21. /** Remove the gray background on active links in IE 10. */
  22. ul { list-style: none; }
  23. ul, li { margin: 0; padding: 0; }
  24. a { background-color: transparent; color: black; text-decoration: none; }
  25. /** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
  26. abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }
  27. /** Add the correct font weight in Chrome, Edge, and Safari. */
  28. b, strong { font-weight: bolder; }
  29. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  30. code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  31. /** Add the correct font size in all browsers. */
  32. small { font-size: 80%; }
  33. /** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
  34. sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
  35. sub { bottom: -0.25em; }
  36. sup { top: -0.5em; }
  37. /* Embedded content ========================================================================== */
  38. /** Remove the border on images inside links in IE 10. */
  39. img { border-style: none; width: 100%; height: 100%; vertical-align: bottom; }
  40. /* Forms ========================================================================== */
  41. /** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
  42. button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }
  43. /** Show the overflow in IE. 1. Show the overflow in Edge. */
  44. button, input { /* 1 */ overflow: visible; }
  45. /** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
  46. button, select { /* 1 */ text-transform: none; }
  47. /** Correct the inability to style clickable types in iOS and Safari. */
  48. button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
  49. /** Remove the inner border and padding in Firefox. */
  50. button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
  51. /** Restore the focus styles unset by the previous rule. */
  52. button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
  53. /** Correct the padding in Firefox. */
  54. fieldset { padding: 0.35em 0.75em 0.625em; }
  55. /** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
  56. legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }
  57. /** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
  58. progress { vertical-align: baseline; }
  59. /** Remove the default vertical scrollbar in IE 10+. */
  60. textarea { overflow: auto; }
  61. /** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
  62. [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
  63. /** Correct the cursor style of increment and decrement buttons in Chrome. */
  64. [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
  65. /** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
  66. [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }
  67. /** Remove the inner padding in Chrome and Safari on macOS. */
  68. [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
  69. /** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
  70. ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }
  71. /* Interactive ========================================================================== */
  72. /* Add the correct display in Edge, IE 10+, and Firefox. */
  73. details { display: block; }
  74. /* Add the correct display in all browsers. */
  75. summary { display: list-item; }
  76. /* Misc ========================================================================== */
  77. /** Add the correct display in IE 10+. */
  78. template { display: none; }
  79. /** Add the correct display in IE 10. */
  80. [hidden] { display: none; }
  81. @font-face { font-family: "Regular"; src: url("../fonts/Secuela/Secuela-Regular.eot"); src: url("../fonts/Secuela/Secuela-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Secuela/Secuela-Regular.woff") format("woff"), url("../fonts/Secuela/Secuela-Regular.ttf") format("truetype"), url("../fonts/Secuela/Secuela-Regular.svg#Regular") format("svg"); }
  82. @font-face { font-family: "medium"; src: url("../fonts/Secuela/Secuela-Medium.eot"); src: url("../fonts/Secuela/Secuela-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Secuela/Secuela-Medium.woff") format("woff"), url("../fonts/Secuela/Secuela-Medium.ttf") format("truetype"), url("../fonts/Secuela/Secuela-Medium.svg#medium") format("svg"); }
  83. @font-face { font-family: "bold"; src: url("../fonts/Secuela/Secuela-Bold.eot"); src: url("../fonts/Secuela/Secuela-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Secuela/Secuela-Bold.woff") format("woff"), url("../fonts/Secuela/Secuela-Bold.ttf") format("truetype"), url("../fonts/Secuela/Secuela-Bold.svg#bold") format("svg"); }
  84. @font-face { font-family: "italic"; src: url("../fonts/Secuela/Secuela-Italic.eot"); src: url("../fonts/Secuela/Secuela-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/Secuela/Secuela-Italic.woff") format("woff"), url("../fonts/Secuela/Secuela-Italic.ttf") format("truetype"), url("../fonts/Secuela/Secuela-Italic.svg#italic") format("svg"); }
  85. @font-face { font-family: "light"; src: url("../fonts/Secuela/Secuela-Light.eot"); src: url("../fonts/Secuela/Secuela-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Secuela/Secuela-Light.woff") format("woff"), url("../fonts/Secuela/Secuela-Light.ttf") format("truetype"), url("../fonts/Secuela/Secuela-Light.svg#light") format("svg"); }
  86. h1, h2 { font-family: "medium"; font-weight: normal; }
  87. body > .blog h1 { font-size: 11rem; -webkit-text-stroke: .1rem #111; color: transparent; line-height: 7rem; }
  88. body > .item h1 { font-size: 3rem; }
  89. h2 { font-size: 3rem; }
  90. h3 { font-family: "medium"; font-size: 1rem; font-weight: normal; }
  91. h5 { font-size: 0.8rem; font-family: "bold"; font-weight: normal; }
  92. p { font-family: "Regular"; font-weight: normal; font-size: 1rem; }
  93. time { font-family: "italic"; font-weight: normal; }
  94. header .contact h3 { text-transform: lowercase; color: white; margin-top: -52px; margin-left: 18px; }
  95. .card h5 { text-transform: uppercase; }
  96. .card .card-category { font-family: "italic"; font-weight: normal; font-size: 0.8rem; }
  97. .card .card-date { font-size: 0.8rem; }
  98. .card .card-footer span { font-family: "medium"; font-weight: normal; font-size: 0.8rem; text-transform: capitalize; }
  99. .card .card-footer span a { color: #999999; }
  100. .scroll p { font-size: 0.8rem; font-family: "bold"; font-weight: normal; }
  101. .cat-list .cat a { font-family: "light"; font-weight: normal; }
  102. #items .content-item .content-title h2 { font-size: 1.3rem; }
  103. #items .content-item .content-title > a { font-family: "italic"; }
  104. #items .top p { font-family: "bold"; }
  105. body > .item h2 { font-size: 1.3rem; }
  106. @keyframes rotation { from { -webkit-transform: rotate(0deg); }
  107. to { -webkit-transform: rotate(359deg); } }
  108. @keyframes translatep1 { 0% { transform: translateY(35px); }
  109. 100% { transform: translateY(5px);
  110. visibility: hidden; } }
  111. @keyframes translatep2 { 0% { transform: translateY(-20px); }
  112. 100% { transform: translateY(40px);
  113. visibility: hidden; } }
  114. body { padding: 0 2%; }
  115. header .contact { position: fixed; top: 50px; right: 50px; transform: scale(1); transition: transform 0.5s ease; cursor: pointer; }
  116. header .contact:hover { transition: transform 0.5s ease; transform: scale(0.9); }
  117. header .contact svg { animation: rotation 6s infinite linear; width: 90.4px; height: 87.45px; }
  118. header .contact h3 { transform: rotate(35deg); }
  119. header .contact p { display: none; }
  120. header h2 { margin-left: 10px; }
  121. body > .blog header { width: 100%; height: 100vh; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-direction: column; flex-direction: column; }
  122. body > .blog header > section { position: relative; height: 50vh; min-height: 250px; }
  123. body > .blog header > section.works-mea { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: end; align-items: flex-end; height: 100%; }
  124. body > .blog header > section.works-mea .card { line-height: 0.8 !important; }
  125. body > .blog header > section.works-mea .card .card-header { margin-top: 10px; }
  126. body > .blog header h1 { font-size: 11.2vw; line-height: 7vw !important; }
  127. body > .blog header h2 { font-size: 3.7vw; }
  128. body > .blog header nav { margin-top: 25vh; /* poussé de la moitié de hauteur de viewport */ transform: translateY(-50%); /* tiré de la moitié de sa propre hauteur */ }
  129. body > .blog header .scroll { width: 50px; height: 15px; margin: 0 auto 10px auto; overflow: hidden; position: relative; }
  130. body > .blog header .scroll > p:nth-child(1) { text-align: center; position: absolute; top: -20px; animation: translatep1 2s infinite linear; }
  131. body > .blog header .scroll > p:nth-child(2) { text-align: center; position: absolute; top: -20px; animation: translatep1 2s infinite linear; animation-delay: 1s; }
  132. body > .item header { height: 100px; position: relative; }
  133. body > .item header nav { position: absolute; margin-top: 50px; /* poussé de la moitié de hauteur de viewport */ transform: translateY(-50%); /* tiré de la moitié de sa propre hauteur */ }
  134. body > .item header h1 { color: black; }
  135. body > .item header h2 { display: none; }
  136. body > .item header .scroll { display: none; }
  137. #body-wrapper #items .works-mea { display: -ms-inline-flexbox; display: inline-flex; width: 100%; height: 50vh; -ms-flex-align: end; align-items: flex-end; }
  138. #body-wrapper #items .works-mea .card .card-image img { width: 100%; height: auto; }
  139. #body-wrapper #items .works-mea .card .card-header { margin-top: 5px; }
  140. #body-wrapper #items .works-mea .card .card-footer { margin-top: 5px; }
  141. #body-wrapper #items .cat-list { width: 100%; height: auto; border-top: 1px solid black; border-bottom: 1px solid black; padding: 10px 0; margin: 20px 0; }
  142. #body-wrapper #items .cat-list ul { display: -ms-inline-flexbox; display: inline-flex; }
  143. #body-wrapper #items .cat-list ul li { margin-right: 10px; }
  144. #body-wrapper #items .full-works { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  145. .card { width: calc(100% / 3); padding: 0 10px; }
  146. .card .card-header { display: -ms-inline-flexbox; display: inline-flex; }
  147. .card .card-header > div { margin-right: 5px; }
  148. .card .card-header > div > a { vertical-align: baseline; }
  149. .card .card-header > div > time { vertical-align: baseline; }
  150. #items .full-works { width: 100%; }
  151. #items .card { margin-bottom: 20px; min-width: 200px; }
  152. #body-wrapper.blog-listing { border-top: 1px solid black; padding-top: 20px; }
  153. #body-wrapper.blog-listing #items .content-title { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: baseline; align-items: baseline; }
  154. #body-wrapper.blog-listing #items .e-content { width: calc(33% * 2); column-count: 2; margin: 20px 0; }
  155. #body-wrapper.blog-listing #items .top { text-align: center; margin-bottom: 20px; }
  156. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwidGhlbWUvX3Jlc2V0LnNjc3MiLCJ0aGVtZS9fZm9udHMuc2NzcyIsInRoZW1lL192YXJpYWJsZXMuc2NzcyIsInRoZW1lL19taXhpbnMuc2NzcyIsInRoZW1lL190eXBvZ3JhcGh5LnNjc3MiLCJ0aGVtZS9fYW5pbWF0aW9uLnNjc3MiLCJ0aGVtZS9hbGwuc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19ob21lLnNjc3MiLCJ0aGVtZS9fYmxvZy5zY3NzIiwidGhlbWUvaXRlbS5zY3NzIiwidGhlbWUvX2Zvb3Rlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3RoZW1lL3Jlc2V0JztcbkBpbXBvcnQgJ3RoZW1lL2ZvbnRzJztcbkBpbXBvcnQgJ3RoZW1lL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ3RoZW1lL21peGlucyc7XG5AaW1wb3J0ICd0aGVtZS90eXBvZ3JhcGh5JztcblxuQGltcG9ydCAndGhlbWUvYW5pbWF0aW9uJztcblxuQGltcG9ydCAndGhlbWUvYWxsJztcbkBpbXBvcnQgJ3RoZW1lL2hlYWRlcic7XG5AaW1wb3J0ICd0aGVtZS9ob21lJztcbkBpbXBvcnQgJ3RoZW1lL2Jsb2cnO1xuQGltcG9ydCAndGhlbWUvaXRlbSc7XG5AaW1wb3J0ICd0aGVtZS9mb290ZXInO1xuIiwiKntcbiAgLXdlYmtpdC1ib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nIDogYm9yZGVyLWJveDtcbn1cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOjA7XG59XG5cbmgxLGgyLGgzLGg0LGg1LHAsZW0sc3Ryb25nLHVsLGxpLGF7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG59XG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG51bHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnVsLGxpe1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGJsYWNrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIEZvbnQgRmFtaWx5XG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0XHRcdFwiUmFsZXdheVwiLCBcIkhlbHZldGljYVwiLCBcIlRhaG9tYVwiLCBcIkdlbmV2YVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktaGVhZGVyOiAgXHRcdFx0XCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1tb25vOiBcdFx0XHRcdFwiSW5jb25zb2xhdGFcIiwgbW9ub3NwYWNlO1xuJGZvbnQtZmFtaWx5LXNlcmlmOlx0XHRcdFx0XCJHZW9yZ2lhXCIsIFwiVGltZXNcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLyBAZm9udC1mYWNlXG5cbiR0eXBvOiBcIlNlY3VlbGFcIjtcbiRjYXRlZ29yeTogXCJzYW5zLXNlcmlmXCI7XG4vLyBzZWN1ZWxhIHJlZ3VsYXJcblxuJGZpbGU6IFwiU2VjdWVsYS1SZWd1bGFyXCI7XG4kUmVndWxhcjogXCJSZWd1bGFyXCI7XG5AbWl4aW4gZm9udC1mYWNlKCRSZWd1bGFyLCAkZmlsZSwgJHR5cG8sICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJHR5cG8gKyBcIi9cIiArICRmaWxlO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRSZWd1bGFyfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJFJlZ3VsYXIgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRSZWd1bGFyfSB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIEBpZiAkY2F0ZWdvcnkgIT0gXCJcIiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JFJlZ3VsYXJ9XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skUmVndWxhcn1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc2VjdWVsYSBtZWRpdW1cbiRmaWxlMjogXCJTZWN1ZWxhLU1lZGl1bVwiO1xuJG1lZGl1bTogXCJtZWRpdW1cIjtcbkBtaXhpbiBmb250LWZhY2UoJG1lZGl1bSwgJGZpbGUyLCAkdHlwbywgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkdHlwbyArIFwiL1wiICsgJGZpbGUyO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRtZWRpdW19XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkbWVkaXVtICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skbWVkaXVtfSB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIEBpZiAkY2F0ZWdvcnkgIT0gXCJcIiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JG1lZGl1bX1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRtZWRpdW19XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gc2VjdWVsYSBib2xkXG4kZmlsZTM6IFwiU2VjdWVsYS1Cb2xkXCI7XG4kYm9sZDogXCJib2xkXCI7XG5AbWl4aW4gZm9udC1mYWNlKCRib2xkLCAkZmlsZTMsICR0eXBvLCAkY2F0ZWdvcnk6XCJcIikge1xuICAgICRmaWxlcGF0aDogXCIuLi9mb250cy9cIiArICR0eXBvICsgXCIvXCIgKyAkZmlsZTM7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JGJvbGR9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkYm9sZCArIFwiXCIpIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuXG4gICAgJSN7JGJvbGR9IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skYm9sZH1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRib2xkfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIHNlY3VlbGEgaXRhbGljXG4kZmlsZTQ6IFwiU2VjdWVsYS1JdGFsaWNcIjtcbiRpdGFsaWM6IFwiaXRhbGljXCI7XG5AbWl4aW4gZm9udC1mYWNlKCRpdGFsaWMsICRmaWxlNCwgJHR5cG8sICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJHR5cG8gKyBcIi9cIiArICRmaWxlNDtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skaXRhbGljfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJGl0YWxpYyArIFwiXCIpIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuXG4gICAgJSN7JGl0YWxpY30ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRpdGFsaWN9XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skaXRhbGljfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIHNlY3VlbGEgbGlnaHRcbiRmaWxlNTogXCJTZWN1ZWxhLUxpZ2h0XCI7XG4kbGlnaHQ6IFwibGlnaHRcIjtcbkBtaXhpbiBmb250LWZhY2UoJGxpZ2h0LCAkZmlsZTUsICR0eXBvLCAkY2F0ZWdvcnk6XCJcIikge1xuICAgICRmaWxlcGF0aDogXCIuLi9mb250cy9cIiArICR0eXBvICsgXCIvXCIgKyAkZmlsZTU7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JGxpZ2h0fVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJGxpZ2h0ICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skbGlnaHR9IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skbGlnaHR9XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skbGlnaHR9XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBmb250c1xuQGluY2x1ZGUgZm9udC1mYWNlKCRSZWd1bGFyLCAkZmlsZSwgJHR5cG8sICRjYXRlZ29yeSk7Ly8xXG5AaW5jbHVkZSBmb250LWZhY2UoJG1lZGl1bSwgJGZpbGUyLCAkdHlwbywgJGNhdGVnb3J5KTsvLzFcbkBpbmNsdWRlIGZvbnQtZmFjZSgkYm9sZCwgJGZpbGUzLCAkdHlwbywgJGNhdGVnb3J5KTsvLzFcbkBpbmNsdWRlIGZvbnQtZmFjZSgkaXRhbGljLCAkZmlsZTQsICR0eXBvLCAkY2F0ZWdvcnkpOy8vMVxuQGluY2x1ZGUgZm9udC1mYWNlKCRsaWdodCwgJGZpbGU1LCAkdHlwbywgJGNhdGVnb3J5KTsvLzFcblxuLy8gZm9udC1zaXplXG5cbiRmaDE6IDExcmVtO1xuJGZoMjozcmVtO1xuJGZoMi1pOiAxLjNyZW07XG4kZmgzOiAxcmVtO1xuJGZoNTowLjhyZW07XG4kZnA6IDFyZW07XG4kZnM6MC44cmVtO1xuLy8gaW50ZXJsaW5lXG5cbi8vaW50ZXJsZXR0cmVcbiRsZXR0ZXJJMTogMC4xcmVtO1xuXG4vLyBjb2xvclxuJGJsdWU6ICMwZjI2NWM7XG4kcmVkOiAjOGQyODE1ZmY7XG4kZ3JleTogIzk5OTk5OTtcbiIsIiIsImgxLCBoMntcbiAgZm9udC1mYW1pbHk6ICRtZWRpdW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmJvZHl7XG4gICY+LmJsb2d7XG4gICAgaDF7XG4gICAgICBmb250LXNpemU6ICRmaDE7XG4gICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOi4xcmVtICMxMTE7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBsaW5lLWhlaWdodDogN3JlbTtcbiAgICB9XG4gIH1cbn1cblxuYm9keXtcbiAgJj4uaXRlbXtcbiAgICBoMXtcbiAgICAgIGZvbnQtc2l6ZTogJGZoMjtcbiAgICB9XG4gIH1cbn1cblxuaDJ7XG4gIGZvbnQtc2l6ZTogJGZoMjtcbn1cblxuaDN7XG4gIGZvbnQtZmFtaWx5OiAkbWVkaXVtO1xuICBmb250LXNpemU6ICRmaDM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmg1e1xuICBmb250LXNpemU6ICRmaDU7XG4gIGZvbnQtZmFtaWx5OiAkYm9sZDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxucHtcbiAgZm9udC1mYW1pbHk6ICRSZWd1bGFyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6ICRmcDtcbn1cblxudGltZXtcbiAgZm9udC1mYW1pbHk6ICRpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cblxuaGVhZGVye1xuICAuY29udGFjdHtcbiAgICBoM3tcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgIG1hcmdpbi10b3A6LTUycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICB9XG4gIH1cbn1cbi5jYXJke1xuICBoNXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5jYXJkLWNhdGVnb3J5e1xuICAgICAgZm9udC1mYW1pbHk6ICRpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAkZnM7XG4gIH1cbiAgLmNhcmQtZGF0ZXtcbiAgICBmb250LXNpemU6ICRmcztcbiAgfVxuICAuY2FyZC1mb290ZXJ7XG4gICAgc3BhbntcbiAgICAgIGZvbnQtZmFtaWx5OiAkbWVkaXVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBhe1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLnNjcm9sbHtcbiAgcHtcbiAgICBmb250LXNpemU6ICRmcztcbiAgICBmb250LWZhbWlseTogJGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuXG4uY2F0LWxpc3R7XG4gIC5jYXR7XG4gICAgYXtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5cbiNpdGVtc3tcbiAgLmNvbnRlbnQtaXRlbXtcbiAgICAuY29udGVudC10aXRsZXtcbiAgICAgIGgye1xuICAgICAgICBmb250LXNpemU6ICRmaDItaTtcbiAgICAgIH1cbiAgICAgICYgPiBhe1xuICAgICAgICBmb250LWZhbWlseTogJGl0YWxpYztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRvcHtcbiAgICBwe1xuICAgICAgZm9udC1mYW1pbHk6ICRib2xkO1xuICAgIH1cbiAgfVxufVxuXG5cbmJvZHl7XG4gICYgPiAuaXRlbXtcbiAgICBoMntcbiAgICAgIGZvbnQtc2l6ZTogJGZoMi1pO1xuICAgIH1cbiAgfVxufVxuIiwiQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gIGZyb20ge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZXAxe1xuICAwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzVweCk7XG4gIH1cblxuICAxMDAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZXAye1xuICAwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCJib2R5e1xuICBwYWRkaW5nOiAwIDIlO1xufVxuXG5oZWFkZXJ7XG4gIC5jb250YWN0e1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwcHg7XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVye1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB9XG4gICAgc3Zne1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGlvbiA2cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICB3aWR0aDogOTAuNHB4O1xuICAgICAgaGVpZ2h0OiA4Ny40NXB4O1xuICAgIH1cbiAgICBoM3tcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1ZGVnKTtcbiAgICB9XG4gICAgcHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIGgye1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG4iLCIvLyBob21lXG5ib2R5e1xuICAmPiAuYmxvZ3tcbiAgICBoZWFkZXJ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAmID4gc2VjdGlvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICAmLndvcmtzLW1lYXtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMXtcbiAgICAgICAgZm9udC1zaXplOiAxMS4ydnc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3dnchaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgaDJ7XG4gICAgICAgIGZvbnQtc2l6ZTogMy43dnc7XG4gICAgICB9XG4gICAgICBuYXZ7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1dmg7IC8qIHBvdXNzw6kgZGUgbGEgbW9pdGnDqSBkZSBoYXV0ZXVyIGRlIHZpZXdwb3J0ICovXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgLyogdGlyw6kgZGUgbGEgbW9pdGnDqSBkZSBzYSBwcm9wcmUgaGF1dGV1ciAqL1xuICAgICAgfVxuICAgICAgLnNjcm9sbHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICYgPiBwOm50aC1jaGlsZCgxKXtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uOiB0cmFuc2xhdGVwMSAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IHA6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgICBhbmltYXRpb246IHRyYW5zbGF0ZXAxIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gcGFnZVxuYm9keXtcbiAgJiA+IC5pdGVte1xuICAgIGhlYWRlcntcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBuYXZ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgLyogcG91c3PDqSBkZSBsYSBtb2l0acOpIGRlIGhhdXRldXIgZGUgdmlld3BvcnQgKi9cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAvKiB0aXLDqSBkZSBsYSBtb2l0acOpIGRlIHNhIHByb3ByZSBoYXV0ZXVyICovXG4gICAgICB9XG4gICAgICBoMXtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgfVxuICAgICAgaDJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc2Nyb2xse1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2JvZHktd3JhcHBlcntcbiAgI2l0ZW1ze1xuICAgICAgLndvcmtzLW1lYXtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgLmNhcmR7XG4gICAgICAgICAgLmNhcmQtaW1hZ2V7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWhlYWRlcntcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtZm9vdGVye1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNhdC1saXN0e1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBtYXJnaW46ICAyMHB4IDA7XG4gICAgICAgIHVse1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZ1bGwtd29ya3N7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5jYXJke1xuICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgLmNhcmQtaGVhZGVye1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICYgPiBkaXZ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICYgPiBhe1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogIGJhc2VsaW5lO1xuICAgICAgfVxuICAgICAgJiA+IHRpbWV7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAgYmFzZWxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNpdGVtc3tcbiAgLmZ1bGwtd29ya3N7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNhcmR7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICB9XG59XG5cbiNib2R5LXdyYXBwZXIuYmxvZy1saXN0aW5ne1xuICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICAjaXRlbXN7XG4gICAgLmNvbnRlbnQtdGl0bGV7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG4gICAgLmUtY29udGVudHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzJSAqIDIpO1xuICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgbWFyZ2luOiAyMHB4ICAwO1xuICAgICAgJiA+IHB7XG4gICAgICB9XG4gICAgfVxuICAgIC50b3B7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiIiwiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQSxBQUFBLENBQUMsQ0FBQSxFQUNDLGtCQUFrQixFQUFHLFVBQVUsRUFDdkIsVUFBVSxFQUFHLFVBQVUsR0FDaEM7O0FBQ0QsNEVBQTRFO0FBRTVFLHlGQUNnRjtBQUVoRix3SEFHRztBQUVILEFBQUEsSUFBSSxDQUFDLEVBQ0gsTUFBTSxFQUFFLENBQUMsRUFDVCxPQUFPLEVBQUUsQ0FBQyxFQUNWLFNBQVMsRUFBRSxJQUFJLEVBQ2YsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQzFCLHdCQUF3QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQ3hDOztBQUVELHlGQUNnRjtBQUVoRix5Q0FFRztBQUVILEFBQUEsSUFBSSxDQUFDLEVBQ0gsTUFBTSxFQUFFLENBQUMsRUFDVCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELG9EQUVHO0FBRUgsQUFBQSxJQUFJLENBQUMsRUFDSCxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELGdJQUdHO0FBRUgsQUFBQSxFQUFFLENBQUMsRUFDRCxTQUFTLEVBQUUsR0FBRyxFQUNkLE1BQU0sRUFBQyxDQUFDLEdBQ1Q7O0FBRUQsQUFBQSxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBLEVBQ2hDLE1BQU0sRUFBQyxDQUFDLEVBQ1IsT0FBTyxFQUFDLENBQUMsR0FDVjs7QUFDRCxpR0FDZ0Y7QUFFaEYscUZBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQyxFQUNELGtCQUFrQixFQUFFLFdBQVcsRUFDdkIsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQ3hDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUNsQixRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDM0I7O0FBRUQsZ0lBR0c7QUFFSCxBQUFBLEdBQUcsQ0FBQyxFQUNGLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQzFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUN4Qjs7QUFFRCxxR0FDZ0Y7QUFFaEYsMkRBRUc7QUFDSCxBQUFBLEVBQUUsQ0FBQSxFQUNBLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUNELEFBQUEsRUFBRSxFQUFDLEVBQUUsQ0FBQSxFQUNILE1BQU0sRUFBRSxDQUFDLEVBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRCxBQUFBLENBQUMsQ0FBQyxFQUNBLGdCQUFnQixFQUFFLFdBQVcsRUFDN0IsS0FBSyxFQUFFLEtBQUssRUFDWixlQUFlLEVBQUUsSUFBSSxHQUN0Qjs7QUFFRCwySEFHRztBQUVILEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU8sRUFDVixhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FDNUIsZUFBZSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQ25DLHVCQUF1QixFQUFFLGdCQUFnQixFQUNqQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUNuRDs7QUFFRCwrREFFRztBQUVILEFBQUEsQ0FBQyxFQUNELE1BQU0sQ0FBQyxFQUNMLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVELGdJQUdHO0FBRUgsQUFBQSxJQUFJLEVBQ0osR0FBRyxFQUNILElBQUksQ0FBQyxFQUNILFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQzFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUN4Qjs7QUFFRCxpREFFRztBQUVILEFBQUEsS0FBSyxDQUFDLEVBQ0osU0FBUyxFQUFFLEdBQUcsR0FDZjs7QUFFRCx1RkFHRztBQUVILEFBQUEsR0FBRyxFQUNILEdBQUcsQ0FBQyxFQUNGLFNBQVMsRUFBRSxHQUFHLEVBQ2QsV0FBVyxFQUFFLENBQUMsRUFDZCxRQUFRLEVBQUUsUUFBUSxFQUNsQixjQUFjLEVBQUUsUUFBUSxHQUN6Qjs7QUFFRCxBQUFBLEdBQUcsQ0FBQyxFQUNGLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVELEFBQUEsR0FBRyxDQUFDLEVBQ0YsR0FBRyxFQUFFLE1BQU0sR0FDWjs7QUFFRCxpR0FDZ0Y7QUFFaEYseURBRUc7QUFFSCxBQUFBLEdBQUcsQ0FBQyxFQUNGLFlBQVksRUFBRSxJQUFJLEVBQ2xCLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLElBQUksRUFDWixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUFFRCxzRkFDZ0Y7QUFFaEYsNkZBR0c7QUFFSCxBQUFBLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLENBQUMsRUFDUCxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FDN0IsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQ3hCLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUMxQixNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFDbkI7O0FBRUQsNkRBR0c7QUFFSCxBQUFBLE1BQU0sRUFDTixLQUFLLENBQUMsRUFBRSxPQUFPLENBQ2IsUUFBUSxFQUFFLE9BQU8sR0FDbEI7O0FBRUQsaUlBR0c7QUFFSCxBQUFBLE1BQU0sRUFDTixNQUFNLENBQUMsRUFBRSxPQUFPLENBQ2QsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBRUQsd0VBRUc7QUFFSCxBQUFBLE1BQU0sR0FDTixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsSUFDRCxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFDRCxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZSxFQUNkLGtCQUFrQixFQUFFLE1BQU0sR0FDM0I7O0FBRUQsc0RBRUc7QUFFSCxBQUFBLE1BQU0sQUFBQSxrQkFBa0IsR0FDeEIsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsa0JBQWtCLEdBQ2pDLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLGtCQUFrQixHQUNoQyxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxrQkFBa0IsQ0FBQyxFQUNoQyxZQUFZLEVBQUUsSUFBSSxFQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELDJEQUVHO0FBRUgsQUFBQSxNQUFNLEFBQUEsZUFBZSxHQUNyQixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxlQUFlLEdBQzlCLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLGVBQWUsR0FDN0IsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsZUFBZSxDQUFDLEVBQzdCLE9BQU8sRUFBRSxxQkFBcUIsR0FDL0I7O0FBRUQsc0NBRUc7QUFFSCxBQUFBLFFBQVEsQ0FBQyxFQUNQLE9BQU8sRUFBRSxxQkFBcUIsR0FDL0I7O0FBRUQsbU9BS0c7QUFFSCxBQUFBLE1BQU0sQ0FBQyxFQUNMLGtCQUFrQixFQUFFLFVBQVUsRUFDdEIsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQ3ZDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FDdkIsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUNuQixXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFDN0I7O0FBRUQsd0VBRUc7QUFFSCxBQUFBLFFBQVEsQ0FBQyxFQUNQLGNBQWMsRUFBRSxRQUFRLEdBQ3pCOztBQUVELHVEQUVHO0FBRUgsQUFBQSxRQUFRLENBQUMsRUFDUCxRQUFRLEVBQUUsSUFBSSxHQUNmOztBQUVELDhFQUdHO0NBRUgsQUFBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFDRCxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYyxFQUNiLGtCQUFrQixFQUFFLFVBQVUsRUFDdEIsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQ3ZDLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUNwQjs7QUFFRCw2RUFFRztDQUVILEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLEdBQzFDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDLEVBQ3pDLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsa0dBR0c7Q0FFSCxBQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlLEVBQ2Qsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FDdEMsY0FBYyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQzlCOztBQUVELDhEQUVHO0NBRUgsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYywyQkFBMkIsQ0FBQyxFQUN6QyxrQkFBa0IsRUFBRSxJQUFJLEdBQ3pCOztBQUVELDZIQUdHO0FBRUgsQUFBQSw0QkFBNEIsQ0FBQyxFQUMzQixrQkFBa0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUNuQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDdkI7O0FBRUQsNEZBQ2dGO0FBRWhGLDJEQUVHO0FBRUgsQUFBQSxPQUFPLENBQUMsRUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELDhDQUVHO0FBRUgsQUFBQSxPQUFPLENBQUMsRUFDTixPQUFPLEVBQUUsU0FBUyxHQUNuQjs7QUFFRCxxRkFDZ0Y7QUFFaEYseUNBRUc7QUFFSCxBQUFBLFFBQVEsQ0FBQyxFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsd0NBRUc7Q0FFSCxBQUFBLEFBQUEsTUFBQyxBQUFBLEVBQVEsRUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQ3RQRyxVQUFVLEdBQ04sV0FBVyxFQUFFLFNBQVcsRUFDeEIsR0FBRyxFQUFFLDJDQUF1QixFQUM1QixHQUFHLEVBQUUsa0RBQThCLENBQUMsMkJBQTJCLEVBQ3pELDRDQUF3QixDQUFDLGNBQWMsRUFDdkMsMkNBQXVCLENBQUUsa0JBQWtCLEVBQzNDLG1EQUFzQyxDQUFDLGFBQWE7O0FBTjlELFVBQVUsR0FDTixXQUFXLEVBQUUsUUFBVyxFQUN4QixHQUFHLEVBQUUsMENBQXVCLEVBQzVCLEdBQUcsRUFBRSxpREFBOEIsQ0FBQywyQkFBMkIsRUFDekQsMkNBQXdCLENBQUMsY0FBYyxFQUN2QywwQ0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0MsaURBQXNDLENBQUMsYUFBYTs7QUFOOUQsVUFBVSxHQUNOLFdBQVcsRUFBRSxNQUFXLEVBQ3hCLEdBQUcsRUFBRSx3Q0FBdUIsRUFDNUIsR0FBRyxFQUFFLCtDQUE4QixDQUFDLDJCQUEyQixFQUN6RCx5Q0FBd0IsQ0FBQyxjQUFjLEVBQ3ZDLHdDQUF1QixDQUFFLGtCQUFrQixFQUMzQyw2Q0FBc0MsQ0FBQyxhQUFhOztBQU45RCxVQUFVLEdBQ04sV0FBVyxFQUFFLFFBQVcsRUFDeEIsR0FBRyxFQUFFLDBDQUF1QixFQUM1QixHQUFHLEVBQUUsaURBQThCLENBQUMsMkJBQTJCLEVBQ3pELDJDQUF3QixDQUFDLGNBQWMsRUFDdkMsMENBQXVCLENBQUUsa0JBQWtCLEVBQzNDLGlEQUFzQyxDQUFDLGFBQWE7O0FBTjlELFVBQVUsR0FDTixXQUFXLEVBQUUsT0FBVyxFQUN4QixHQUFHLEVBQUUseUNBQXVCLEVBQzVCLEdBQUcsRUFBRSxnREFBOEIsQ0FBQywyQkFBMkIsRUFDekQsMENBQXdCLENBQUMsY0FBYyxFQUN2Qyx5Q0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0MsK0NBQXNDLENBQUMsYUFBYTs7QUd4SWxFLEFBQUEsRUFBRSxFQUFFLEVBQUUsQ0FBQSxFQUNKLFdBQVcsRUh1Q0osUUFBUSxFR3RDZixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFFRCxBQUVJLElBRkEsR0FDQSxLQUFLLENBQ0wsRUFBRSxDQUFBLEVBQ0EsU0FBUyxFRkNULEtBQUssRUVBTCxtQkFBbUIsRUFBQyxVQUFVLEVBQzlCLEtBQUssRUFBRSxXQUFXLEVBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUlMLEFBRUksSUFGQSxHQUNBLEtBQUssQ0FDTCxFQUFFLENBQUEsRUFDQSxTQUFTLEVGVFYsSUFBSSxHRVVKOztBQUlMLEFBQUEsRUFBRSxDQUFBLEVBQ0EsU0FBUyxFRmZOLElBQUksR0VnQlI7O0FBRUQsQUFBQSxFQUFFLENBQUEsRUFDQSxXQUFXLEVIV0osUUFBUSxFR1ZmLFNBQVMsRUZsQkwsSUFBSSxFRW1CUixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQSxFQUNBLFNBQVMsRUZ0Qk4sTUFBTSxFRXVCVCxXQUFXLEVIaUNOLE1BQU0sRUdoQ1gsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBRUQsQUFBQSxDQUFDLENBQUEsRUFDQyxXQUFXLEVIN0JILFNBQVMsRUc4QmpCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFNBQVMsRUY3Qk4sSUFBSSxHRThCUjs7QUFFRCxBQUFBLElBQUksQ0FBQSxFQUNGLFdBQVcsRUhtREosUUFBUSxFR2xEZixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFHRCxBQUVJLE1BRkUsQ0FDSixRQUFRLENBQ04sRUFBRSxDQUFBLEVBQ0EsY0FBYyxFQUFFLFNBQVMsRUFDekIsS0FBSyxFQUFDLEtBQUssRUFDWCxVQUFVLEVBQUMsS0FBSyxFQUNoQixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFHTCxBQUNFLEtBREcsQ0FDSCxFQUFFLENBQUEsRUFDQSxjQUFjLEVBQUUsU0FBUyxHQUMxQjs7QUFISCxBQUlFLEtBSkcsQ0FJSCxjQUFjLENBQUEsRUFDVixXQUFXLEVIK0JSLFFBQVEsRUc5QlgsV0FBVyxFQUFFLE1BQU0sRUFDbkIsU0FBUyxFRnREWCxNQUFNLEdFdURQOztBQVJILEFBU0UsS0FURyxDQVNILFVBQVUsQ0FBQSxFQUNSLFNBQVMsRUZ6RFQsTUFBTSxHRTBEUDs7QUFYSCxBQWFJLEtBYkMsQ0FZSCxZQUFZLENBQ1YsSUFBSSxDQUFBLEVBQ0YsV0FBVyxFSHBDUixRQUFRLEVHcUNYLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFNBQVMsRUYvRFgsTUFBTSxFRWdFSixjQUFjLEVBQUUsVUFBVSxHQUkzQjs7QUFyQkwsQUFrQk0sS0FsQkQsQ0FZSCxZQUFZLENBQ1YsSUFBSSxDQUtGLENBQUMsQ0FBQSxFQUNDLEtBQUssRUZ6RE4sT0FBTyxHRTBEUDs7QUFNUCxBQUNFLE9BREssQ0FDTCxDQUFDLENBQUEsRUFDQyxTQUFTLEVGM0VULE1BQU0sRUU0RU4sV0FBVyxFSHRCUixNQUFNLEVHdUJULFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUdILEFBRUksU0FGSyxDQUNQLElBQUksQ0FDRixDQUFDLENBQUEsRUFDQyxXQUFXLEVINEJULE9BQU8sRUczQlQsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBS0wsQUFHTSxNQUhBLENBQ0osYUFBYSxDQUNYLGNBQWMsQ0FDWixFQUFFLENBQUEsRUFDQSxTQUFTLEVGbkdULE1BQU0sR0VvR1A7O0FBTFAsQUFNTSxNQU5BLENBQ0osYUFBYSxDQUNYLGNBQWMsR0FJUixDQUFDLENBQUEsRUFDSCxXQUFXLEVIZlYsUUFBUSxHR2dCVjs7QUFSUCxBQVlJLE1BWkUsQ0FXSixJQUFJLENBQ0YsQ0FBQyxDQUFBLEVBQ0MsV0FBVyxFSGxEVixNQUFNLEdHbURSOztBQUtMLEFBRUksSUFGQSxHQUNFLEtBQUssQ0FDUCxFQUFFLENBQUEsRUFDQSxTQUFTLEVGckhQLE1BQU0sR0VzSFQ7O0FDaklMLFVBQVUsQ0FBVixRQUFVLEdBQ1IsSUFBSSxHQUNBLGlCQUFpQixFQUFFLFlBQVk7RUFFbkMsRUFBRSxHQUNFLGlCQUFpQixFQUFFLGNBQWM7O0FBS3ZDLFVBQVUsQ0FBVixXQUFVLEdBQ1IsRUFBRSxHQUNBLFNBQVMsRUFBRSxnQkFBZ0I7RUFHN0IsSUFBSSxHQUNGLFNBQVMsRUFBRSxlQUFlO0lBQzFCLFVBQVUsRUFBRSxNQUFNOztBQUl0QixVQUFVLENBQVYsV0FBVSxHQUNSLEVBQUUsR0FDQSxTQUFTLEVBQUUsaUJBQWlCO0VBRzlCLElBQUksR0FDRixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLFVBQVUsRUFBRSxNQUFNOztBQzVCdEIsQUFBQSxJQUFJLENBQUEsRUFDRixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQ0UsTUFESSxDQUNKLFFBQVEsQ0FBQSxFQUNOLFFBQVEsRUFBRSxLQUFLLEVBQ2YsR0FBRyxFQUFFLElBQUksRUFDVCxLQUFLLEVBQUUsSUFBSSxFQUNYLFNBQVMsRUFBRSxRQUFRLEVBQ25CLFVBQVUsRUFBRSxtQkFBbUIsRUFDL0IsTUFBTSxFQUFFLE9BQU8sR0FnQmhCOztBQXZCSCxBQVFJLE1BUkUsQ0FDSixRQUFRLEFBT0wsTUFBTSxDQUFBLEVBQ0wsVUFBVSxFQUFFLG1CQUFtQixFQUMvQixTQUFTLEVBQUUsVUFBVSxHQUN0Qjs7QUFYTCxBQVlJLE1BWkUsQ0FDSixRQUFRLENBV04sR0FBRyxDQUFBLEVBQ0QsU0FBUyxFQUFFLDJCQUEyQixFQUN0QyxLQUFLLEVBQUUsTUFBTSxFQUNiLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQWhCTCxBQWlCSSxNQWpCRSxDQUNKLFFBQVEsQ0FnQk4sRUFBRSxDQUFBLEVBQ0EsU0FBUyxFQUFFLGFBQWEsR0FDekI7O0FBbkJMLEFBb0JJLE1BcEJFLENBQ0osUUFBUSxDQW1CTixDQUFDLENBQUEsRUFDQyxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQXRCTCxBQXdCRSxNQXhCSSxDQXdCSixFQUFFLENBQUEsRUFDQSxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUM3QkgsQUFFSSxJQUZBLEdBQ0MsS0FBSyxDQUNOLE1BQU0sQ0FBQSxFQUNKLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLEtBQUssRUFDYixPQUFPLEVBQUUsV0FBVyxFQUNwQixjQUFjLEVBQUUsTUFBTSxHQWtEdkI7O0FBeERMLEFBT00sSUFQRixHQUNDLEtBQUssQ0FDTixNQUFNLEdBS0EsT0FBTyxDQUFBLEVBQ1QsUUFBUSxFQUFFLFFBQVEsRUFDbEIsTUFBTSxFQUFFLElBQUksRUFDWixVQUFVLEVBQUUsS0FBSyxHQWNsQjs7QUF4QlAsQUFXUSxJQVhKLEdBQ0MsS0FBSyxDQUNOLE1BQU0sR0FLQSxPQUFPLEFBSVIsVUFBVSxDQUFBLEVBQ1QsT0FBTyxFQUFFLFdBQVcsRUFDcEIsU0FBUyxFQUFFLElBQUksRUFFZixXQUFXLEVBQUUsUUFBUSxFQUNyQixNQUFNLEVBQUUsSUFBSSxHQU9iOztBQXZCVCxBQWlCVSxJQWpCTixHQUNDLEtBQUssQ0FDTixNQUFNLEdBS0EsT0FBTyxBQUlSLFVBQVUsQ0FNVCxLQUFLLENBQUEsRUFDSCxXQUFXLEVBQUUsR0FBRyxDQUFBLFVBQVUsR0FJM0I7O0FBdEJYLEFBbUJZLElBbkJSLEdBQ0MsS0FBSyxDQUNOLE1BQU0sR0FLQSxPQUFPLEFBSVIsVUFBVSxDQU1ULEtBQUssQ0FFSCxZQUFZLENBQUEsRUFDVixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFyQmIsQUF5Qk0sSUF6QkYsR0FDQyxLQUFLLENBQ04sTUFBTSxDQXVCSixFQUFFLENBQUEsRUFDQSxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsR0FBRyxDQUFBLFVBQVUsR0FDM0I7O0FBNUJQLEFBNkJNLElBN0JGLEdBQ0MsS0FBSyxDQUNOLE1BQU0sQ0EyQkosRUFBRSxDQUFBLEVBQ0EsU0FBUyxFQUFFLEtBQUssR0FDakI7O0FBL0JQLEFBZ0NNLElBaENGLEdBQ0MsS0FBSyxDQUNOLE1BQU0sQ0E4QkosR0FBRyxDQUFBLEVBQ0QsVUFBVSxFQUFFLElBQUksRUFBRSxnREFBZ0QsQ0FDbEUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLDRDQUE0QyxFQUMxRTs7QUFuQ1AsQUFvQ00sSUFwQ0YsR0FDQyxLQUFLLENBQ04sTUFBTSxDQWtDSixPQUFPLENBQUEsRUFDTCxLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxJQUFJLEVBQ1osTUFBTSxFQUFFLGdCQUFnQixFQUN4QixRQUFRLEVBQUUsTUFBTSxFQUNoQixRQUFRLEVBQUUsUUFBUSxHQWNuQjs7QUF2RFAsQUEwQ1EsSUExQ0osR0FDQyxLQUFLLENBQ04sTUFBTSxDQWtDSixPQUFPLEdBTUQsQ0FBQyxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUMsRUFDaEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsR0FBRyxFQUFFLEtBQUssRUFDVixTQUFTLEVBQUUsOEJBQThCLEdBQzFDOztBQS9DVCxBQWdEUSxJQWhESixHQUNDLEtBQUssQ0FDTixNQUFNLENBa0NKLE9BQU8sR0FZRCxDQUFDLEFBQUEsVUFBVyxDQUFBLENBQUMsRUFBQyxFQUNoQixVQUFVLEVBQUUsTUFBTSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixHQUFHLEVBQUUsS0FBSyxFQUNWLFNBQVMsRUFBRSw4QkFBOEIsRUFDekMsZUFBZSxFQUFFLEVBQUUsR0FDcEI7O0FBUVQsQUFFSSxJQUZBLEdBQ0UsS0FBSyxDQUNQLE1BQU0sQ0FBQSxFQUNKLE1BQU0sRUFBRSxLQUFLLEVBQ2IsUUFBUSxFQUFFLFFBQVEsR0FlbkI7O0FBbkJMLEFBS00sSUFMRixHQUNFLEtBQUssQ0FDUCxNQUFNLENBR0osR0FBRyxDQUFBLEVBQ0QsUUFBUSxFQUFFLFFBQVEsRUFDbEIsVUFBVSxFQUFFLElBQUksRUFBRSxnREFBZ0QsQ0FDbEUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLDRDQUE0QyxFQUMxRTs7QUFUUCxBQVVNLElBVkYsR0FDRSxLQUFLLENBQ1AsTUFBTSxDQVFKLEVBQUUsQ0FBQSxFQUNBLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBWlAsQUFhTSxJQWJGLEdBQ0UsS0FBSyxDQUNQLE1BQU0sQ0FXSixFQUFFLENBQUEsRUFDQSxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQWZQLEFBZ0JNLElBaEJGLEdBQ0UsS0FBSyxDQUNQLE1BQU0sQ0FjSixPQUFPLENBQUEsRUFDTCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQ2pGUCxBQUVNLGFBRk8sQ0FDWCxNQUFNLENBQ0YsVUFBVSxDQUFBLEVBQ1IsT0FBTyxFQUFFLFdBQVcsRUFDcEIsS0FBSyxFQUFFLElBQUksRUFDWCxNQUFNLEVBQUUsSUFBSSxFQUNaLFdBQVcsRUFBRSxRQUFRLEdBZXRCOztBQXJCUCxBQVNZLGFBVEMsQ0FDWCxNQUFNLENBQ0YsVUFBVSxDQUtSLEtBQUssQ0FDSCxXQUFXLENBQ1QsR0FBRyxDQUFBLEVBQ0QsS0FBSyxFQUFFLElBQUksRUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQVpiLEFBY1UsYUFkRyxDQUNYLE1BQU0sQ0FDRixVQUFVLENBS1IsS0FBSyxDQU9ILFlBQVksQ0FBQSxFQUNWLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQWhCWCxBQWlCVSxhQWpCRyxDQUNYLE1BQU0sQ0FDRixVQUFVLENBS1IsS0FBSyxDQVVILFlBQVksQ0FBQSxFQUNWLFVBQVUsRUFBRSxHQUFHLEdBQ2hCOztBQW5CWCxBQXNCTSxhQXRCTyxDQUNYLE1BQU0sQ0FxQkYsU0FBUyxDQUFBLEVBQ1AsS0FBSyxFQUFFLElBQUksRUFDWCxNQUFNLEVBQUUsSUFBSSxFQUNaLFVBQVUsRUFBRSxlQUFlLEVBQzNCLGFBQWEsRUFBRSxlQUFlLEVBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsTUFBTSxFQUFHLE1BQU0sR0FPaEI7O0FBbkNQLEFBNkJRLGFBN0JLLENBQ1gsTUFBTSxDQXFCRixTQUFTLENBT1AsRUFBRSxDQUFBLEVBQ0EsT0FBTyxFQUFFLFdBQVcsR0FJckI7O0FBbENULEFBK0JVLGFBL0JHLENBQ1gsTUFBTSxDQXFCRixTQUFTLENBT1AsRUFBRSxDQUVBLEVBQUUsQ0FBQSxFQUNBLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQWpDWCxBQW9DTSxhQXBDTyxDQUNYLE1BQU0sQ0FtQ0YsV0FBVyxDQUFBLEVBQ1QsT0FBTyxFQUFFLFdBQVcsRUFDcEIsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FDdkNQLEFBQUEsS0FBSyxDQUFBLEVBQ0gsS0FBSyxFQUFFLGNBQWMsRUFDckIsT0FBTyxFQUFFLE1BQU0sR0FhaEI7O0FBZkQsQUFHRSxLQUhHLENBR0gsWUFBWSxDQUFBLEVBQ1YsT0FBTyxFQUFFLFdBQVcsR0FVckI7O0FBZEgsQUFLSSxLQUxDLENBR0gsWUFBWSxHQUVOLEdBQUcsQ0FBQSxFQUNMLFlBQVksRUFBRSxHQUFHLEdBT2xCOztBQWJMLEFBT00sS0FQRCxDQUdILFlBQVksR0FFTixHQUFHLEdBRUQsQ0FBQyxDQUFBLEVBQ0gsY0FBYyxFQUFHLFFBQVEsR0FDMUI7O0FBVFAsQUFVTSxLQVZELENBR0gsWUFBWSxHQUVOLEdBQUcsR0FLRCxJQUFJLENBQUEsRUFDTixjQUFjLEVBQUcsUUFBUSxHQUMxQjs7QUFLUCxBQUNFLE1BREksQ0FDSixXQUFXLENBQUEsRUFDVCxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUhILEFBSUUsTUFKSSxDQUlKLEtBQUssQ0FBQSxFQUNILGFBQWEsRUFBRSxJQUFJLEVBQ25CLFNBQVMsRUFBRSxLQUFLLEdBQ2pCOztBQUdILEFBQUEsYUFBYSxBQUFBLGFBQWEsQ0FBQSxFQUN4QixVQUFVLEVBQUUsZUFBZSxFQUMzQixXQUFXLEVBQUUsSUFBSSxHQWtCbEI7O0FBcEJELEFBSUksYUFKUyxBQUFBLGFBQWEsQ0FHeEIsTUFBTSxDQUNKLGNBQWMsQ0FBQSxFQUNaLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLFdBQVcsRUFBRSxRQUFRLEdBQ3RCOztBQVBMLEFBUUksYUFSUyxBQUFBLGFBQWEsQ0FHeEIsTUFBTSxDQUtKLFVBQVUsQ0FBQSxFQUNSLEtBQUssRUFBRSxhQUFhLEVBQ3BCLFlBQVksRUFBRSxDQUFDLEVBQ2YsTUFBTSxFQUFFLE9BQU8sR0FHaEI7O0FBZEwsQUFlSSxhQWZTLEFBQUEsYUFBYSxDQUd4QixNQUFNLENBWUosSUFBSSxDQUFBLEVBQ0YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsYUFBYSxFQUFFLElBQUksR0FDcEIifQ== */