Няма описание

wpforms-full.css 165KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623
  1. /* Resets
  2. ----------------------------------------------------------------------------- */
  3. div.wpforms-container-full,
  4. div.wpforms-container-full .wpforms-form * {
  5. background: none;
  6. border: 0 none;
  7. border-radius: 0;
  8. -webkit-border-radius: 0;
  9. -moz-border-radius: 0;
  10. float: none;
  11. font-size: 100%;
  12. height: auto;
  13. letter-spacing: normal;
  14. list-style: none;
  15. outline: none;
  16. position: static;
  17. text-decoration: none;
  18. text-indent: 0;
  19. text-shadow: none;
  20. text-transform: none;
  21. width: auto;
  22. visibility: visible;
  23. overflow: visible;
  24. margin: 0;
  25. padding: 0;
  26. box-sizing: border-box;
  27. -webkit-box-sizing: border-box;
  28. -moz-box-sizing: border-box;
  29. -webkit-box-shadow: none;
  30. -moz-box-shadow: none;
  31. -ms-box-shadow: none;
  32. -o-box-shadow: none;
  33. box-shadow: none;
  34. }
  35. div.wpforms-container-full {
  36. margin-left: auto;
  37. margin-right: auto;
  38. }
  39. div.wpforms-container-full .wpforms-form amp-img > img {
  40. position: absolute;
  41. /* Override position:static from previous rule, to prevent breaking AMP layout. */
  42. }
  43. div.wpforms-container-full .wpforms-form input,
  44. div.wpforms-container-full .wpforms-form label,
  45. div.wpforms-container-full .wpforms-form select,
  46. div.wpforms-container-full .wpforms-form button,
  47. div.wpforms-container-full .wpforms-form textarea {
  48. margin: 0;
  49. border: 0;
  50. padding: 0;
  51. display: inline-block;
  52. vertical-align: middle;
  53. background: none;
  54. height: auto;
  55. -webkit-box-sizing: border-box;
  56. -moz-box-sizing: border-box;
  57. box-sizing: border-box;
  58. }
  59. div.wpforms-container-full .wpforms-form textarea {
  60. width: 100%;
  61. }
  62. div.wpforms-container-full .wpforms-form ul,
  63. div.wpforms-container-full .wpforms-form ul li {
  64. background: none !important;
  65. border: 0 !important;
  66. margin: 0 !important;
  67. padding: 0 !important;
  68. list-style: none !important;
  69. }
  70. div.wpforms-container-full .wpforms-form ul li {
  71. margin-bottom: 5px !important;
  72. }
  73. div.wpforms-container-full .wpforms-form ul li:last-of-type {
  74. margin-bottom: 0 !important;
  75. }
  76. div.wpforms-container-full .wpforms-form hr {
  77. border-top: 1px solid #ccc;
  78. margin: 0.5em auto;
  79. }
  80. /* ==========================================================================
  81. Theme - standard form styling
  82. ========================================================================== */
  83. .wpforms-clear:before {
  84. content: " ";
  85. display: table;
  86. }
  87. .wpforms-clear:after {
  88. clear: both;
  89. content: " ";
  90. display: table;
  91. }
  92. /* Basic Field properties
  93. ----------------------------------------------------------------------------- */
  94. /* Field sizes - medium */
  95. div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
  96. div.wpforms-container-full .wpforms-form select.wpforms-field-medium,
  97. div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium {
  98. max-width: 60%;
  99. }
  100. div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium {
  101. height: 120px;
  102. }
  103. /* Field sizes - small */
  104. div.wpforms-container-full .wpforms-form input.wpforms-field-small,
  105. div.wpforms-container-full .wpforms-form select.wpforms-field-small,
  106. div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-small {
  107. max-width: 25%;
  108. }
  109. div.wpforms-container-full .wpforms-form textarea.wpforms-field-small {
  110. height: 70px;
  111. }
  112. /* Field sizes - large */
  113. div.wpforms-container-full .wpforms-form input.wpforms-field-large,
  114. div.wpforms-container-full .wpforms-form select.wpforms-field-large,
  115. div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-large {
  116. max-width: 100%;
  117. }
  118. div.wpforms-container-full .wpforms-form textarea.wpforms-field-large {
  119. height: 220px;
  120. }
  121. /* Field container */
  122. div.wpforms-container-full .wpforms-form .wpforms-field {
  123. padding: 10px 0;
  124. clear: both;
  125. }
  126. /* Field Description */
  127. div.wpforms-container-full .wpforms-form .wpforms-field-description,
  128. div.wpforms-container-full .wpforms-form .wpforms-field-limit-text {
  129. font-size: 13px;
  130. line-height: 1.3;
  131. margin: 8px 0 0 0;
  132. }
  133. div.wpforms-container-full .wpforms-form .wpforms-field-description.wpforms-disclaimer-description {
  134. background-color: #fff;
  135. border: 1px solid #ddd;
  136. color: #444;
  137. padding: 15px 15px 0;
  138. margin-top: 15px;
  139. height: 125px;
  140. overflow-y: scroll;
  141. overflow-x: hidden;
  142. font-size: 12px;
  143. }
  144. div.wpforms-container-full .wpforms-form .wpforms-field-description.wpforms-disclaimer-description p {
  145. color: #444;
  146. font-size: 12px;
  147. line-height: 18px;
  148. margin-bottom: 15px;
  149. }
  150. div.wpforms-container-full .wpforms-form .wpforms-field-description-before,
  151. div.wpforms-container-full .wpforms-form .wpforms-field-description.before {
  152. margin: 0 0 8px 0;
  153. }
  154. /* Labels and sub-labels */
  155. div.wpforms-container-full .wpforms-form .wpforms-field-label {
  156. display: block;
  157. font-weight: 700;
  158. font-size: 16px;
  159. float: none;
  160. line-height: 1.3;
  161. margin: 0 0 4px 0;
  162. padding: 0;
  163. }
  164. div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
  165. display: block;
  166. font-size: 13px;
  167. float: none;
  168. font-weight: 400;
  169. line-height: 1.3;
  170. margin: 4px 0 0;
  171. padding: 0;
  172. }
  173. div.wpforms-container-full .wpforms-form .wpforms-field-sublabel.before {
  174. margin: 0 0 4px 0;
  175. }
  176. div.wpforms-container-full .wpforms-form .wpforms-field-label-inline {
  177. display: inline;
  178. vertical-align: baseline;
  179. font-size: 16px;
  180. font-weight: 400;
  181. line-height: 1.3;
  182. }
  183. div.wpforms-container-full .wpforms-form .wpforms-field-label.wpforms-label-hide,
  184. div.wpforms-container-full .wpforms-form .wpforms-field-sublabel.wpforms-sublabel-hide {
  185. position: absolute;
  186. top: -99999px;
  187. left: -99999px;
  188. }
  189. div.wpforms-container-full .wpforms-form .wpforms-required-label {
  190. color: #ff0000;
  191. font-weight: 400;
  192. }
  193. /* Rows (multi-line fields: address, credit card, etc)
  194. ----------------------------------------------------------------------------- */
  195. div.wpforms-container-full .wpforms-form .wpforms-field-row {
  196. margin-bottom: 8px;
  197. position: relative;
  198. }
  199. div.wpforms-container-full .wpforms-form .wpforms-field .wpforms-field-row:last-of-type {
  200. margin-bottom: 0;
  201. }
  202. /* Clear each row */
  203. div.wpforms-container-full .wpforms-form .wpforms-field-row:before {
  204. content: " ";
  205. display: table;
  206. }
  207. div.wpforms-container-full .wpforms-form .wpforms-field-row:after {
  208. clear: both;
  209. content: " ";
  210. display: table;
  211. }
  212. div.wpforms-container-full .wpforms-form .wpforms-field-address .wpforms-one-half:only-child {
  213. margin-left: 0;
  214. }
  215. /* Columns
  216. ----------------------------------------------------------------------------- */
  217. /* User column classes */
  218. div.wpforms-container-full .wpforms-form .wpforms-five-sixths,
  219. div.wpforms-container-full .wpforms-form .wpforms-four-sixths,
  220. div.wpforms-container-full .wpforms-form .wpforms-four-fifths,
  221. div.wpforms-container-full .wpforms-form .wpforms-one-fifth,
  222. div.wpforms-container-full .wpforms-form .wpforms-one-fourth,
  223. div.wpforms-container-full .wpforms-form .wpforms-one-half,
  224. div.wpforms-container-full .wpforms-form .wpforms-one-sixth,
  225. div.wpforms-container-full .wpforms-form .wpforms-one-third,
  226. div.wpforms-container-full .wpforms-form .wpforms-three-fourths,
  227. div.wpforms-container-full .wpforms-form .wpforms-three-fifths,
  228. div.wpforms-container-full .wpforms-form .wpforms-three-sixths,
  229. div.wpforms-container-full .wpforms-form .wpforms-two-fourths,
  230. div.wpforms-container-full .wpforms-form .wpforms-two-fifths,
  231. div.wpforms-container-full .wpforms-form .wpforms-two-sixths,
  232. div.wpforms-container-full .wpforms-form .wpforms-two-thirds {
  233. float: left;
  234. margin-left: 4%;
  235. clear: none;
  236. }
  237. div.wpforms-container-full .wpforms-form .wpforms-one-half,
  238. div.wpforms-container-full .wpforms-form .wpforms-three-sixths,
  239. div.wpforms-container-full .wpforms-form .wpforms-two-fourths {
  240. width: 48%;
  241. }
  242. div.wpforms-container-full .wpforms-form .wpforms-one-third,
  243. div.wpforms-container-full .wpforms-form .wpforms-two-sixths {
  244. width: 30.6666666667%;
  245. }
  246. div.wpforms-container-full .wpforms-form .wpforms-four-sixths,
  247. div.wpforms-container-full .wpforms-form .wpforms-two-thirds {
  248. width: 65.3333333333%;
  249. }
  250. div.wpforms-container-full .wpforms-form .wpforms-one-fourth {
  251. width: 22%;
  252. }
  253. div.wpforms-container-full .wpforms-form .wpforms-three-fourths {
  254. width: 74%;
  255. }
  256. div.wpforms-container-full .wpforms-form .wpforms-one-fifth {
  257. width: 16.8%;
  258. }
  259. div.wpforms-container-full .wpforms-form .wpforms-two-fifths {
  260. width: 37.6%;
  261. }
  262. div.wpforms-container-full .wpforms-form .wpforms-three-fifths {
  263. width: 58.4%;
  264. }
  265. div.wpforms-container-full .wpforms-form .wpforms-four-fifths {
  266. width: 79.2%;
  267. }
  268. div.wpforms-container-full .wpforms-form .wpforms-one-sixth {
  269. width: 13.3333333333%;
  270. }
  271. div.wpforms-container-full .wpforms-form .wpforms-five-sixths {
  272. width: 82.6666666667%;
  273. }
  274. div.wpforms-container-full .wpforms-form .wpforms-first {
  275. clear: both !important;
  276. margin-left: 0 !important;
  277. }
  278. /* User list column classes */
  279. div.wpforms-container-full .wpforms-form .wpforms-checkbox-2-columns ul,
  280. div.wpforms-container-full .wpforms-form .wpforms-multiplechoice-2-columns ul,
  281. div.wpforms-container-full .wpforms-form .wpforms-list-2-columns ul,
  282. div.wpforms-container-full .wpforms-form .wpforms-checkbox-3-columns ul,
  283. div.wpforms-container-full .wpforms-form .wpforms-multiplechoice-3-columns ul,
  284. div.wpforms-container-full .wpforms-form .wpforms-list-3-columns ul {
  285. display: -ms-flex;
  286. display: -webkit-flex;
  287. display: flex;
  288. -webkit-flex-wrap: wrap;
  289. flex-wrap: wrap;
  290. }
  291. div.wpforms-container-full .wpforms-form .wpforms-checkbox-2-columns ul li,
  292. div.wpforms-container-full .wpforms-form .wpforms-multiplechoice-2-columns ul li,
  293. div.wpforms-container-full .wpforms-form .wpforms-list-2-columns ul li {
  294. width: 50%;
  295. display: block;
  296. padding-right: 26px !important;
  297. }
  298. div.wpforms-container-full .wpforms-form .wpforms-checkbox-3-columns ul li,
  299. div.wpforms-container-full .wpforms-form .wpforms-multiplechoice-3-columns ul li,
  300. div.wpforms-container-full .wpforms-form .wpforms-list-3-columns ul li {
  301. width: 33.3333%;
  302. display: block;
  303. padding-right: 26px !important;
  304. }
  305. div.wpforms-container-full .wpforms-form .wpforms-list-inline ul li {
  306. display: inline-block;
  307. vertical-align: top;
  308. margin-right: 20px !important;
  309. }
  310. /* Legacy, for BC */
  311. div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-first-half {
  312. float: left;
  313. width: 48%;
  314. clear: both;
  315. }
  316. div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-last-half {
  317. float: right;
  318. width: 48%;
  319. clear: none;
  320. }
  321. div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-first-third {
  322. float: left;
  323. width: 30.666666667%;
  324. clear: both;
  325. }
  326. div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-middle-third {
  327. float: left;
  328. width: 30.666666667%;
  329. margin-left: 4%;
  330. clear: none;
  331. }
  332. div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-last-third {
  333. float: right;
  334. width: 30.666666667%;
  335. clear: none;
  336. }
  337. div.wpforms-container-full .wpforms-form div.wpforms-last {
  338. float: right !important;
  339. margin-right: 0 !important;
  340. clear: none;
  341. }
  342. /* Preset Layouts
  343. ----------------------------------------------------------------------------- */
  344. /* Single line */
  345. div.wpforms-container-full.inline-fields {
  346. overflow: hidden;
  347. }
  348. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-field-container {
  349. display: table;
  350. width: calc(100% - 160px);
  351. float: left;
  352. }
  353. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-field {
  354. display: table-cell;
  355. padding-right: 2%;
  356. vertical-align: top;
  357. }
  358. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-submit-container {
  359. float: right;
  360. width: 160px;
  361. clear: none;
  362. }
  363. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-submit {
  364. display: block;
  365. width: 100%;
  366. }
  367. div.wpforms-container-full.inline-fields .wpforms-form input.wpforms-field-medium,
  368. div.wpforms-container-full.inline-fields .wpforms-form select.wpforms-field-medium,
  369. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-field-row.wpforms-field-medium {
  370. max-width: 100%;
  371. }
  372. /* Set Styles
  373. ----------------------------------------------------------------------------- */
  374. div.wpforms-container-full .wpforms-form input[type=date],
  375. div.wpforms-container-full .wpforms-form input[type=datetime],
  376. div.wpforms-container-full .wpforms-form input[type=datetime-local],
  377. div.wpforms-container-full .wpforms-form input[type=email],
  378. div.wpforms-container-full .wpforms-form input[type=month],
  379. div.wpforms-container-full .wpforms-form input[type=number],
  380. div.wpforms-container-full .wpforms-form input[type=password],
  381. div.wpforms-container-full .wpforms-form input[type=range],
  382. div.wpforms-container-full .wpforms-form input[type=search],
  383. div.wpforms-container-full .wpforms-form input[type=tel],
  384. div.wpforms-container-full .wpforms-form input[type=text],
  385. div.wpforms-container-full .wpforms-form input[type=time],
  386. div.wpforms-container-full .wpforms-form input[type=url],
  387. div.wpforms-container-full .wpforms-form input[type=week],
  388. div.wpforms-container-full .wpforms-form select,
  389. div.wpforms-container-full .wpforms-form textarea {
  390. background-color: #fff;
  391. box-sizing: border-box;
  392. border-radius: 2px;
  393. color: #333;
  394. -webkit-box-sizing: border-box;
  395. -moz-box-sizing: border-box;
  396. display: block;
  397. float: none;
  398. font-size: 16px;
  399. border: 1px solid #ccc;
  400. padding: 6px 10px;
  401. height: 38px;
  402. width: 100%;
  403. line-height: 1.3;
  404. }
  405. div.wpforms-container-full .wpforms-form input[type=checkbox],
  406. div.wpforms-container-full .wpforms-form input[type=radio] {
  407. border: 1px solid #ccc;
  408. background-color: #fff;
  409. width: 14px;
  410. height: 14px;
  411. margin: 0 10px 0 3px;
  412. display: inline-block;
  413. vertical-align: baseline;
  414. }
  415. div.wpforms-container-full .wpforms-form input[type=radio] {
  416. border-radius: 50%;
  417. }
  418. div.wpforms-container-full .wpforms-form select {
  419. max-width: 100%;
  420. text-transform: none;
  421. white-space: nowrap;
  422. }
  423. div.wpforms-container-full .wpforms-form select[multiple] {
  424. height: auto;
  425. overflow-y: scroll;
  426. background-image: none;
  427. }
  428. div.wpforms-container-full .wpforms-form input[type=submit],
  429. div.wpforms-container-full .wpforms-form button[type=submit],
  430. div.wpforms-container-full .wpforms-form .wpforms-page-button {
  431. background-color: #eee;
  432. border: 1px solid #ddd;
  433. color: #333;
  434. font-size: 1em;
  435. padding: 10px 15px;
  436. }
  437. div.wpforms-container-full .wpforms-form .wpforms-page-button {
  438. font-size: 0.9em;
  439. font-weight: 400;
  440. margin: 0 5px;
  441. min-width: 90px;
  442. text-align: center;
  443. }
  444. div.wpforms-container-full .wpforms-form input[type=submit]:hover,
  445. div.wpforms-container-full .wpforms-form input[type=submit]:focus,
  446. div.wpforms-container-full .wpforms-form input[type=submit]:active,
  447. div.wpforms-container-full .wpforms-form button[type=submit]:hover,
  448. div.wpforms-container-full .wpforms-form button[type=submit]:focus,
  449. div.wpforms-container-full .wpforms-form button[type=submit]:active,
  450. div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
  451. div.wpforms-container-full .wpforms-form .wpforms-page-button:active,
  452. div.wpforms-container-full .wpforms-form .wpforms-page-button:focus {
  453. background-color: #ddd;
  454. border: 1px solid #ccc;
  455. cursor: pointer;
  456. }
  457. div.wpforms-container-full .wpforms-form input[type=submit]:disabled,
  458. div.wpforms-container-full .wpforms-form button[type=submit]:disabled,
  459. div.wpforms-container-full .wpforms-form .wpforms-page-button:disabled {
  460. background-color: #eee;
  461. border: 1px solid #ddd;
  462. cursor: default;
  463. opacity: 0.5;
  464. }
  465. div.wpforms-container-full .wpforms-form input:focus,
  466. div.wpforms-container-full .wpforms-form textarea:focus,
  467. div.wpforms-container-full .wpforms-form select:focus,
  468. div.wpforms-container-full .wpforms-form .is-focused .choices__inner,
  469. div.wpforms-container-full .wpforms-form .is-open .choices__inner,
  470. div.wpforms-container-full .wpforms-form .is-open .choices__list--dropdown {
  471. border: 1px solid #999;
  472. box-shadow: none;
  473. }
  474. div.wpforms-container-full .wpforms-form input:disabled,
  475. div.wpforms-container-full .wpforms-form textarea:disabled,
  476. div.wpforms-container-full .wpforms-form select:disabled {
  477. background-color: #f9f9f9;
  478. border-color: #ddd;
  479. color: #999;
  480. cursor: not-allowed;
  481. }
  482. /* Errors, Warnings, etc
  483. ----------------------------------------------------------------------------- */
  484. div.wpforms-container-full .wpforms-form .wpforms-error-container,
  485. div.wpforms-container-full .wpforms-form noscript.wpforms-error-noscript {
  486. color: #990000;
  487. }
  488. div.wpforms-container-full .wpforms-form label.wpforms-error {
  489. display: block;
  490. color: #990000;
  491. font-size: 12px;
  492. float: none;
  493. cursor: default;
  494. }
  495. div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-error,
  496. div.wpforms-container-full .wpforms-form .wpforms-field input.user-invalid,
  497. div.wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-error,
  498. div.wpforms-container-full .wpforms-form .wpforms-field textarea.user-invalid,
  499. div.wpforms-container-full .wpforms-form .wpforms-field select.wpforms-error,
  500. div.wpforms-container-full .wpforms-form .wpforms-field select.user-invalid,
  501. div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-has-error .choices__inner {
  502. border: 1px solid #cc0000;
  503. }
  504. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-expiration label.wpforms-error,
  505. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-code label.wpforms-error {
  506. display: none !important;
  507. }
  508. div.wpforms-container-full .wpforms-form .wpforms-error-alert {
  509. color: #b94a48;
  510. background-color: #f2dede;
  511. border: 1px solid #eed3d7;
  512. text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  513. padding: 10px 15px;
  514. font-size: 13px;
  515. margin: 0 0 10px 0;
  516. }
  517. /* Confirmation
  518. ----------------------------------------------------------------------------- */
  519. /*
  520. * Note: The second selector for the following two rules is needed to override the rule with
  521. * the selector: `div.wpforms-container-full, div.wpforms-container-full .wpforms-form *`.
  522. * The underlying cause is that the .wpforms-confirmation-container-full is not expected
  523. * to be located inside of the .wpforms-confirmation-container-full element, since on non-AMP
  524. * pages the confirmation message is never displayed on the same page as the form.
  525. */
  526. .wpforms-confirmation-container-full,
  527. div[submit-success] > .wpforms-confirmation-container-full {
  528. color: #333;
  529. margin: 0 auto 24px;
  530. padding: 15px 15px;
  531. }
  532. .wpforms-confirmation-container-full,
  533. div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
  534. background: #e0ffc7;
  535. border: 1px solid #b4d39b;
  536. }
  537. .wpforms-confirmation-container-full p:last-of-type,
  538. div[submit-success] > .wpforms-confirmation-container-full p:last-of-type {
  539. margin: 0;
  540. }
  541. /*
  542. * Hide the form fields upon successful submission. This may not be the best approach.
  543. * Perhaps more robust: .wpforms-form.amp-form-submit-success > *:not([submit-success]) { display:none }
  544. */
  545. .amp-form-submit-success .wpforms-field-container,
  546. .amp-form-submit-success .wpforms-submit-container {
  547. display: none;
  548. }
  549. /* reCAPTCHA Area
  550. ----------------------------------------------------------------------------- */
  551. div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container {
  552. padding: 10px 0 20px 0;
  553. clear: both;
  554. }
  555. div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container iframe {
  556. width: 100%;
  557. max-width: 100%;
  558. }
  559. /* Form Header area
  560. ----------------------------------------------------------------------------- */
  561. div.wpforms-container-full .wpforms-form .wpforms-title {
  562. font-size: 26px;
  563. margin: 0 0 10px 0;
  564. }
  565. div.wpforms-container-full .wpforms-form .wpforms-description {
  566. margin: 0 0 10px 0;
  567. }
  568. /* Form Footer area
  569. ----------------------------------------------------------------------------- */
  570. div.wpforms-container-full .wpforms-form .wpforms-submit-container {
  571. padding: 10px 0 0 0;
  572. clear: both;
  573. position: relative;
  574. }
  575. div.wpforms-container-full .wpforms-form .wpforms-submit-spinner {
  576. margin-left: 0.5em;
  577. display: inline-block;
  578. vertical-align: middle;
  579. max-width: 26px;
  580. }
  581. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-center {
  582. text-align: center;
  583. }
  584. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left {
  585. text-align: left;
  586. }
  587. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button {
  588. margin: 0 10px 0 0;
  589. }
  590. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-right {
  591. text-align: right;
  592. }
  593. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-right .wpforms-page-button {
  594. margin: 0 0 0 10px;
  595. }
  596. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-split .wpforms-page-prev {
  597. float: left;
  598. margin: 0;
  599. }
  600. div.wpforms-container-full .wpforms-form .wpforms-pagebreak-split .wpforms-page-next {
  601. float: right;
  602. margin: 0;
  603. }
  604. /* Credit Card field
  605. ----------------------------------------------------------------------------- */
  606. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-number {
  607. margin-right: 100px;
  608. }
  609. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-code {
  610. position: absolute;
  611. right: 0;
  612. top: 0;
  613. width: 90px;
  614. }
  615. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-name {
  616. margin-right: 170px;
  617. }
  618. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-expiration {
  619. position: absolute;
  620. right: 0;
  621. top: 0;
  622. width: 160px;
  623. }
  624. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-expiration select {
  625. width: 45%;
  626. float: left;
  627. display: block;
  628. }
  629. div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-expiration span {
  630. float: left;
  631. width: 10%;
  632. text-align: center;
  633. line-height: 38px;
  634. }
  635. /* Number slider field
  636. ----------------------------------------------------------------------------- */
  637. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range] {
  638. -webkit-appearance: none;
  639. appearance: none;
  640. height: 10px;
  641. background: #fff;
  642. border: 1px solid #CCC;
  643. border-radius: 5px;
  644. outline: none;
  645. padding: 0;
  646. margin: 10px 0 5px;
  647. }
  648. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range]::-ms-track {
  649. color: transparent;
  650. }
  651. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range]::-webkit-slider-thumb {
  652. -webkit-appearance: none;
  653. /* Override default look */
  654. appearance: none;
  655. width: 17px;
  656. height: 17px;
  657. background: #B5B5B5;
  658. cursor: pointer;
  659. border-radius: 100%;
  660. }
  661. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range]::-moz-range-thumb {
  662. width: 17px;
  663. height: 17px;
  664. background: #B5B5B5;
  665. cursor: pointer;
  666. border-radius: 100%;
  667. }
  668. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range]::-ms-thumb {
  669. width: 17px;
  670. height: 17px;
  671. background: #B5B5B5;
  672. cursor: pointer;
  673. border-radius: 100%;
  674. }
  675. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider .wpforms-field-number-slider-hint {
  676. font-size: 13px;
  677. }
  678. /* Stripe Credit Card field
  679. ----------------------------------------------------------------------------- */
  680. div.wpforms-container-full .wpforms-form .wpforms-field-stripe-credit-card-cardnumber,
  681. div.wpforms-container-full .wpforms-form input.wpforms-stripe-credit-card-hidden-input {
  682. background-color: #fff;
  683. box-sizing: border-box;
  684. border-radius: 2px;
  685. color: #333;
  686. -webkit-box-sizing: border-box;
  687. -moz-box-sizing: border-box;
  688. display: block;
  689. float: none;
  690. font-size: 16px;
  691. border: 1px solid #ccc;
  692. padding: 8px 10px;
  693. height: 38px;
  694. width: 100%;
  695. line-height: 1.3;
  696. }
  697. div.wpforms-container-full .wpforms-form .wpforms-stripe-element-invalid {
  698. border: 1px solid #cc0000 !important;
  699. }
  700. /* HTML field
  701. ----------------------------------------------------------------------------- */
  702. div.wpforms-container-full .wpforms-form .wpforms-field-html ul,
  703. div.wpforms-container-full .wpforms-form .wpforms-field-html ol {
  704. margin: 0 0 20px !important;
  705. }
  706. div.wpforms-container-full .wpforms-form .wpforms-field-html ul li,
  707. div.wpforms-container-full .wpforms-form .wpforms-field-html ol li {
  708. margin: 0 0 5px 0 !important;
  709. }
  710. div.wpforms-container-full .wpforms-form .wpforms-field-html ul li {
  711. list-style: disc !important;
  712. }
  713. div.wpforms-container-full .wpforms-form .wpforms-field-html ol li {
  714. list-style: decimal !important;
  715. }
  716. div.wpforms-container-full .wpforms-form .wpforms-field-html li > ul,
  717. div.wpforms-container-full .wpforms-form .wpforms-field-html li > ol {
  718. margin: 6px 0 0 20px !important;
  719. }
  720. /* Date/time field
  721. ----------------------------------------------------------------------------- */
  722. div.wpforms-container-full .wpforms-field-date-time-date-sep {
  723. display: inline-block;
  724. padding: 0 5px;
  725. }
  726. div.wpforms-container-full .wpforms-form .wpforms-field-date-time-date-year,
  727. div.wpforms-container-full .wpforms-form .wpforms-field-date-time-date-day,
  728. div.wpforms-container-full .wpforms-form .wpforms-field-date-time-date-month {
  729. display: inline-block;
  730. width: auto;
  731. }
  732. div.wpforms-container-full .wpforms-datepicker-wrap {
  733. position: relative;
  734. }
  735. div.wpforms-container-full .wpforms-datepicker-wrap .wpforms-datepicker-clear {
  736. position: absolute;
  737. background-image: url(../images/times-solid-white.svg);
  738. background-position: 50% 50%;
  739. background-repeat: no-repeat;
  740. background-color: #cccccc;
  741. background-size: 8px;
  742. width: 16px;
  743. height: 16px;
  744. cursor: pointer;
  745. display: block;
  746. border-radius: 50%;
  747. right: 10px;
  748. top: 50%;
  749. margin-top: -8px;
  750. transition: all 0.3s;
  751. }
  752. div.wpforms-container-full .wpforms-datepicker-wrap .wpforms-datepicker-clear:hover {
  753. background-color: red;
  754. }
  755. div.wpforms-container-full .wpforms-datepicker-wrap .wpforms-field-small + .wpforms-datepicker-clear {
  756. right: calc( 75% + 10px);
  757. }
  758. div.wpforms-container-full .wpforms-datepicker-wrap .wpforms-field-medium + .wpforms-datepicker-clear {
  759. right: calc( 40% + 10px);
  760. }
  761. /* Custom Captcha field
  762. ----------------------------------------------------------------------------- */
  763. div.wpforms-container-full .wpforms-form .wpforms-captcha-math input {
  764. display: inline-block;
  765. width: 70px;
  766. vertical-align: inherit;
  767. margin: 0 0 0 5px;
  768. }
  769. div.wpforms-container-full .wpforms-form .wpforms-captcha-equation {
  770. font-size: 16px;
  771. }
  772. div.wpforms-container-full .wpforms-form .wpforms-captcha-question {
  773. margin: 0 0 4px 0;
  774. }
  775. /* Rating field
  776. ----------------------------------------------------------------------------- */
  777. div.wpforms-container-full .wpforms-form .wpforms-field-rating-item {
  778. padding-right: 6px;
  779. }
  780. div.wpforms-container-full .wpforms-form .wpforms-field-rating svg {
  781. cursor: pointer;
  782. -webkit-transform: perspective(1px) translateZ(0);
  783. transform: perspective(1px) translateZ(0);
  784. box-shadow: 0 0 1px transparent;
  785. opacity: 0.60;
  786. }
  787. div.wpforms-container-full .wpforms-form .wpforms-field-rating-item.selected svg,
  788. div.wpforms-container-full .wpforms-form .wpforms-field-rating-item.hover svg,
  789. div.wpforms-container-full .wpforms-form .wpforms-field-rating-item input:focus + svg {
  790. -webkit-transform: scale(1.3);
  791. transform: scale(1.3);
  792. opacity: 1;
  793. }
  794. /* File upload field
  795. ----------------------------------------------------------------------------- */
  796. div.wpforms-field-file-upload .wpforms-hide {
  797. display: none !important;
  798. }
  799. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern {
  800. border: 2px dashed rgba(0, 0, 0, 0.1);
  801. background: rgba(0, 0, 0, 0.02);
  802. padding: 20px;
  803. display: flex;
  804. align-items: center;
  805. justify-content: center;
  806. flex-direction: column;
  807. cursor: pointer;
  808. }
  809. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern.wpforms-with-files {
  810. padding: 5px;
  811. flex-direction: row;
  812. align-items: flex-start;
  813. justify-content: flex-start;
  814. flex-wrap: wrap;
  815. }
  816. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern svg {
  817. height: 50px;
  818. width: 50px;
  819. color: #e27730;
  820. }
  821. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-modern-title {
  822. font-weight: bold;
  823. }
  824. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-modern-hint {
  825. color: rgba(0, 0, 0, 0.1);
  826. }
  827. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern.wpforms-highlighted {
  828. border-color: #e27730;
  829. }
  830. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-text {
  831. display: flex;
  832. align-items: center;
  833. justify-content: center;
  834. flex-direction: column;
  835. }
  836. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block {
  837. width: 100px;
  838. height: 100px;
  839. border: 1px solid rgba(0, 0, 0, 0.1);
  840. background: #fff;
  841. background-size: cover !important;
  842. margin: 5px;
  843. position: relative;
  844. display: flex;
  845. align-items: center;
  846. justify-content: center;
  847. cursor: default;
  848. }
  849. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block:hover .wpforms-overlay {
  850. opacity: 1;
  851. }
  852. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay {
  853. position: absolute;
  854. top: 0;
  855. bottom: 0;
  856. left: 0;
  857. right: 0;
  858. background: rgba(0, 0, 0, 0.5);
  859. opacity: 0;
  860. }
  861. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay .wpforms-close {
  862. position: absolute;
  863. right: 5px;
  864. top: 5px;
  865. cursor: pointer;
  866. display: block;
  867. width: 18px;
  868. height: 18px;
  869. }
  870. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay .wpforms-title {
  871. position: absolute;
  872. font-size: 12px;
  873. color: #fff;
  874. top: 25px;
  875. bottom: 10px;
  876. left: 5px;
  877. right: 5px;
  878. overflow-y: auto;
  879. line-height: 16px;
  880. }
  881. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay .wpforms-close .wpforms-close-left,
  882. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay .wpforms-close .wpforms-close-right {
  883. height: 18px;
  884. width: 1px;
  885. background: #fff;
  886. position: absolute;
  887. display: block;
  888. z-index: 1;
  889. right: 9px;
  890. }
  891. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay .wpforms-close .wpforms-close-left {
  892. -webkit-transform: rotate(-45deg);
  893. transform: rotate(-45deg);
  894. }
  895. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-overlay .wpforms-close .wpforms-close-right {
  896. -webkit-transform: rotate(45deg);
  897. transform: rotate(45deg);
  898. }
  899. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block svg {
  900. height: 25px;
  901. width: 25px;
  902. color: rgba(0, 0, 0, 0.1);
  903. }
  904. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern .wpforms-preview-block .wpforms-progress {
  905. height: 5px;
  906. width: 0;
  907. position: absolute;
  908. bottom: 0;
  909. left: 0;
  910. background: #e27730;
  911. transition: all 0.5s;
  912. }
  913. div.wpforms-field-file-upload .wpforms-file-upload-builder-modern input[type="file"] {
  914. display: none;
  915. }
  916. /* Image choices
  917. ----------------------------------------------------------------------------- */
  918. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices label:not(.wpforms-error) {
  919. cursor: pointer;
  920. position: relative;
  921. }
  922. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices label input {
  923. top: 50%;
  924. }
  925. /* Modern style */
  926. div.wpforms-container-full .wpforms-form .wpforms-list-inline ul.wpforms-image-choices-modern li {
  927. margin: 5px 5px 5px 5px !important;
  928. }
  929. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern img {
  930. display: inline-block;
  931. margin: 0 auto;
  932. max-width: 100%;
  933. }
  934. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label:not(.wpforms-error) {
  935. background-color: #fff;
  936. display: block;
  937. margin: 0 auto;
  938. padding: 0;
  939. border: 1px solid #fff;
  940. border-radius: 3px;
  941. padding: 20px 20px 18px 20px;
  942. transition: all 0.5s;
  943. text-align: center;
  944. }
  945. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label:not(.wpforms-error):hover,
  946. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label:not(.wpforms-error):focus {
  947. border: 1px solid #ddd;
  948. }
  949. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-selected label {
  950. box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  951. }
  952. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-image:after {
  953. content: "\2714";
  954. font-size: 22px;
  955. line-height: 32px;
  956. color: #fff;
  957. background: green;
  958. opacity: 0;
  959. position: absolute;
  960. top: 50%;
  961. left: 50%;
  962. margin: -16px 0 0 -16px;
  963. width: 32px;
  964. height: 32px;
  965. border-radius: 50%;
  966. transition: all 0.5s;
  967. }
  968. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-image:after {
  969. opacity: 1;
  970. }
  971. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-image {
  972. display: block;
  973. position: relative;
  974. }
  975. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-label {
  976. font-weight: 700;
  977. }
  978. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-label {
  979. display: block;
  980. margin-top: 12px;
  981. }
  982. /* Classic */
  983. div.wpforms-container-full .wpforms-form .wpforms-list-inline ul.wpforms-image-choices-classic li {
  984. margin: 0 10px 10px 0 !important;
  985. }
  986. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic img {
  987. display: inline-block;
  988. margin: 0 auto;
  989. max-width: 100%;
  990. }
  991. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic label:not(.wpforms-error) {
  992. background-color: #fff;
  993. display: block;
  994. margin: 0 auto;
  995. padding: 0;
  996. border: 2px solid #fff;
  997. padding: 10px;
  998. text-align: center;
  999. }
  1000. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic label:not(.wpforms-error):hover,
  1001. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic label:not(.wpforms-error):focus {
  1002. border-color: #ddd;
  1003. }
  1004. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic .wpforms-image-choices-image {
  1005. display: block;
  1006. }
  1007. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic .wpforms-selected label {
  1008. border-color: #666 !important;
  1009. }
  1010. div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic .wpforms-image-choices-label {
  1011. display: block;
  1012. margin-top: 8px;
  1013. }
  1014. /* Page Indicator themes
  1015. ----------------------------------------------------------------------------- */
  1016. div.wpforms-container-full .wpforms-form .wpforms-page-indicator {
  1017. margin: 0 0 20px 0;
  1018. overflow: hidden;
  1019. }
  1020. /** Circles theme **/
  1021. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles {
  1022. border-top: 1px solid #dfdfdf;
  1023. border-bottom: 1px solid #dfdfdf;
  1024. padding: 15px 10px;
  1025. }
  1026. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page {
  1027. float: left;
  1028. margin: 0 20px 0 0;
  1029. }
  1030. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page:last-of-type {
  1031. margin: 0;
  1032. }
  1033. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
  1034. height: 40px;
  1035. width: 40px;
  1036. border-radius: 50%;
  1037. display: inline-block;
  1038. margin: 0 10px 0 0;
  1039. line-height: 40px;
  1040. text-align: center;
  1041. background-color: #ddd;
  1042. color: #666;
  1043. }
  1044. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .active .wpforms-page-indicator-page-number {
  1045. color: #fff;
  1046. }
  1047. /* Connector theme */
  1048. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page {
  1049. float: left;
  1050. text-align: center;
  1051. font-size: 16px;
  1052. line-height: 1.2;
  1053. }
  1054. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-number {
  1055. display: block;
  1056. text-indent: -9999px;
  1057. height: 6px;
  1058. background-color: #ddd;
  1059. margin: 0 0 16px 0;
  1060. position: relative;
  1061. }
  1062. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-triangle {
  1063. position: absolute;
  1064. top: 100%;
  1065. left: 50%;
  1066. width: 0;
  1067. height: 0;
  1068. margin-left: -5px;
  1069. border-style: solid;
  1070. border-width: 6px 5px 0 5px;
  1071. border-color: transparent transparent transparent transparent;
  1072. }
  1073. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-title {
  1074. display: inline-block;
  1075. padding: 0 15px;
  1076. font-size: 16px;
  1077. }
  1078. /* Progress theme */
  1079. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress {
  1080. font-size: 18px;
  1081. }
  1082. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
  1083. display: block;
  1084. width: 100%;
  1085. background-color: #ddd;
  1086. height: 18px;
  1087. border-radius: 10px;
  1088. overflow: hidden;
  1089. position: relative;
  1090. margin: 5px 0 0;
  1091. }
  1092. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress {
  1093. height: 18px;
  1094. position: absolute;
  1095. left: 0;
  1096. top: 0;
  1097. }
  1098. /* Dropdown field
  1099. ----------------------------------------------------------------------------- */
  1100. div.wpforms-container-full .wpforms-form .wpforms-field-select select > option {
  1101. color: inherit;
  1102. }
  1103. div.wpforms-container-full .wpforms-form .wpforms-field-select select > option.placeholder,
  1104. div.wpforms-container-full .wpforms-form .wpforms-field-select select > option[disabled] {
  1105. color: inherit;
  1106. opacity: 0.5;
  1107. }
  1108. /* Classic style */
  1109. div.wpforms-container-full .wpforms-field.wpforms-field-select-style-classic select {
  1110. padding-left: 6px;
  1111. }
  1112. div.wpforms-container-full .wpforms-field.wpforms-field-select-style-classic select[multiple] {
  1113. padding: 0;
  1114. }
  1115. div.wpforms-container-full .wpforms-field.wpforms-field-select-style-classic select[multiple] > option {
  1116. padding: 10px;
  1117. box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
  1118. }
  1119. div.wpforms-container-full .wpforms-field.wpforms-field-select-style-classic select[multiple] > option.placeholder,
  1120. div.wpforms-container-full .wpforms-field.wpforms-field-select-style-classic select[multiple] > option[disabled] {
  1121. box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2);
  1122. }
  1123. /* Modern style */
  1124. div.wpforms-container-full .wpforms-form .choices {
  1125. font-size: 16px;
  1126. color: #333;
  1127. }
  1128. div.wpforms-container-full .wpforms-form .choices .choices__list--single {
  1129. font-size: 1em;
  1130. line-height: normal;
  1131. }
  1132. div.wpforms-container-full .wpforms-form .choices.is-open.is-flipped .choices__inner,
  1133. div.wpforms-container-full .wpforms-form .choices.is-open .choices__list--dropdown {
  1134. border-radius: 0 0 2px 2px;
  1135. }
  1136. div.wpforms-container-full .wpforms-form .choices.is-open.is-flipped .choices__list--dropdown,
  1137. div.wpforms-container-full .wpforms-form .choices.is-open .choices__inner {
  1138. border-radius: 2px 2px 0 0;
  1139. }
  1140. div.wpforms-container-full .wpforms-form .choices .choices__inner {
  1141. min-height: 38px;
  1142. border-radius: 2px;
  1143. }
  1144. div.wpforms-container-full .wpforms-form .choices input.choices__input {
  1145. display: inline-block;
  1146. height: auto;
  1147. line-height: 1.3;
  1148. }
  1149. div.wpforms-container-full .wpforms-form .choices ::-webkit-input-placeholder {
  1150. color: inherit;
  1151. opacity: 0.5;
  1152. }
  1153. div.wpforms-container-full .wpforms-form .choices ::-moz-placeholder {
  1154. color: inherit;
  1155. opacity: 0.5;
  1156. }
  1157. div.wpforms-container-full .wpforms-form .choices :-ms-input-placeholder {
  1158. color: inherit;
  1159. opacity: 0.5;
  1160. }
  1161. /* Notices
  1162. ----------------------------------------------------------------------------- */
  1163. div.wpforms-container-full .wpforms-notice {
  1164. background-color: #fff;
  1165. border: 1px solid #ddd;
  1166. border-left-width: 12px;
  1167. color: #333;
  1168. font-size: 16px;
  1169. line-height: 1.5;
  1170. margin-bottom: 30px;
  1171. padding: 20px 36px 20px 26px;
  1172. position: relative;
  1173. }
  1174. div.wpforms-container-full .wpforms-notice .wpforms-delete {
  1175. -webkit-touch-callout: none;
  1176. -webkit-user-select: none;
  1177. -moz-user-select: none;
  1178. -ms-user-select: none;
  1179. user-select: none;
  1180. -moz-appearance: none;
  1181. -webkit-appearance: none;
  1182. background-color: rgba(10, 10, 10, 0.2);
  1183. border: none;
  1184. border-radius: 290486px;
  1185. cursor: pointer;
  1186. display: inline-block;
  1187. height: 20px;
  1188. margin: 0;
  1189. padding: 0;
  1190. outline: none;
  1191. vertical-align: top;
  1192. width: 20px;
  1193. position: absolute;
  1194. right: 10px;
  1195. top: 10px;
  1196. }
  1197. div.wpforms-container-full .wpforms-notice .wpforms-delete:before,
  1198. div.wpforms-container-full .wpforms-notice .wpforms-delete:after {
  1199. background-color: #fff;
  1200. content: "";
  1201. display: block;
  1202. left: 50%;
  1203. position: absolute;
  1204. top: 50%;
  1205. -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  1206. transform: translateX(-50%) translateY(-50%) rotate(45deg);
  1207. -webkit-transform-origin: center center;
  1208. transform-origin: center center;
  1209. }
  1210. div.wpforms-container-full .wpforms-notice .wpforms-delete:before {
  1211. height: 2px;
  1212. width: 50%;
  1213. }
  1214. div.wpforms-container-full .wpforms-notice .wpforms-delete:after {
  1215. height: 50%;
  1216. width: 2px;
  1217. }
  1218. div.wpforms-container-full .wpforms-notice .wpforms-delete:hover,
  1219. div.wpforms-container-full .wpforms-notice .wpforms-delete:focus {
  1220. background-color: rgba(10, 10, 10, 0.3);
  1221. }
  1222. div.wpforms-container-full .wpforms-notice a {
  1223. text-decoration: underline;
  1224. }
  1225. div.wpforms-container-full .wpforms-notice p {
  1226. margin: 0 0 20px 0;
  1227. }
  1228. div.wpforms-container-full .wpforms-notice p:last-of-type {
  1229. margin-bottom: 0;
  1230. }
  1231. div.wpforms-container-full .wpforms-notice.wpforms-info .wpforms-notice-action,
  1232. div.wpforms-container-full .wpforms-notice.wpforms-info {
  1233. border-color: #3273dc;
  1234. }
  1235. div.wpforms-container-full .wpforms-notice.wpforms-success .wpforms-notice-action,
  1236. div.wpforms-container-full .wpforms-notice.wpforms-success {
  1237. border-color: #23d160;
  1238. }
  1239. div.wpforms-container-full .wpforms-notice.wpforms-warning .wpforms-notice-action,
  1240. div.wpforms-container-full .wpforms-notice.wpforms-warning {
  1241. border-color: #ffdd57;
  1242. }
  1243. div.wpforms-container-full .wpforms-notice.wpforms-error .wpforms-notice-action,
  1244. div.wpforms-container-full .wpforms-notice.wpforms-error {
  1245. border-color: #ff3860;
  1246. }
  1247. div.wpforms-container-full .wpforms-notice .wpforms-notice-actions {
  1248. margin-top: 20px;
  1249. }
  1250. div.wpforms-container-full .wpforms-notice .wpforms-notice-action {
  1251. border: 2px solid;
  1252. margin-right: 20px;
  1253. padding: 5px;
  1254. text-decoration: none;
  1255. }
  1256. div.wpforms-container-full .wpforms-notice .wpforms-notice-action:hover,
  1257. div.wpforms-container-full .wpforms-notice .wpforms-notice-action:focus,
  1258. div.wpforms-container-full .wpforms-notice .wpforms-notice-action:active {
  1259. color: #fff;
  1260. }
  1261. div.wpforms-container-full .wpforms-notice.wpforms-info .wpforms-notice-action:hover,
  1262. div.wpforms-container-full .wpforms-notice.wpforms-info .wpforms-notice-action:focus,
  1263. div.wpforms-container-full .wpforms-notice.wpforms-info .wpforms-notice-action:active {
  1264. background-color: #3273dc;
  1265. }
  1266. div.wpforms-container-full .wpforms-notice.wpforms-success .wpforms-notice-action:hover,
  1267. div.wpforms-container-full .wpforms-notice.wpforms-success .wpforms-notice-action:focus,
  1268. div.wpforms-container-full .wpforms-notice.wpforms-success .wpforms-notice-action:active {
  1269. background-color: #23d160;
  1270. }
  1271. div.wpforms-container-full .wpforms-notice.wpforms-warning .wpforms-notice-action:hover,
  1272. div.wpforms-container-full .wpforms-notice.wpforms-warning .wpforms-notice-action:focus,
  1273. div.wpforms-container-full .wpforms-notice.wpforms-warning .wpforms-notice-action:active {
  1274. background-color: #ffdd57;
  1275. color: inherit;
  1276. }
  1277. div.wpforms-container-full .wpforms-notice.wpforms-error .wpforms-notice-action:hover,
  1278. div.wpforms-container-full .wpforms-notice.wpforms-error .wpforms-notice-action:focus,
  1279. div.wpforms-container-full .wpforms-notice.wpforms-error .wpforms-notice-action:active {
  1280. background-color: #ff3860;
  1281. }
  1282. div.wpforms-container-full .wpforms-form textarea.wpforms-field-small.wp-editor-area {
  1283. height: 100px;
  1284. }
  1285. div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium.wp-editor-area {
  1286. height: 250px;
  1287. }
  1288. div.wpforms-container-full .wpforms-form textarea.wpforms-field-large.wp-editor-area {
  1289. height: 400px;
  1290. }
  1291. /* Misc
  1292. ----------------------------------------------------------------------------- */
  1293. div.wpforms-container-full {
  1294. margin-bottom: 24px;
  1295. }
  1296. div.wpforms-container-full .wpforms-form h3 {
  1297. font-size: 24px;
  1298. }
  1299. /* Honeypot Area */
  1300. div.wpforms-container-full .wpforms-form .wpforms-field-hp {
  1301. display: none !important;
  1302. position: absolute !important;
  1303. left: -9000px !important;
  1304. }
  1305. div.wpforms-container-full .wpforms-form .wpforms-field-hidden {
  1306. display: none;
  1307. padding: 0;
  1308. }
  1309. div.wpforms-container-full .wpforms-form .wpforms-screen-reader-element {
  1310. position: absolute !important;
  1311. clip: rect(0, 0, 0, 0) !important;
  1312. height: 1px !important;
  1313. width: 1px !important;
  1314. border: 0 !important;
  1315. margin: 0 !important;
  1316. padding: 0 !important;
  1317. overflow: hidden !important;
  1318. word-wrap: normal !important;
  1319. }
  1320. /* Limit options */
  1321. div.wpforms-container-full .wpforms-form .wpforms-limit-text {
  1322. font-size: 13px;
  1323. display: block;
  1324. }
  1325. /* RTL support
  1326. ----------------------------------------------------------------------------- */
  1327. /* Phone US format */
  1328. body.rtl .wpforms-field-phone input[type=tel] {
  1329. direction: ltr;
  1330. unicode-bidi: embed;
  1331. text-align: right;
  1332. }
  1333. body.rtl .wpforms-container-full .wpforms-form .wpforms-first {
  1334. float: right;
  1335. }
  1336. body.rtl .wpforms-container-full .wpforms-form .wpforms-first + .wpforms-one-half {
  1337. margin-right: 4%;
  1338. margin-left: 0;
  1339. }
  1340. @media only screen and (max-width: 600px) {
  1341. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-field-container,
  1342. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-field {
  1343. display: block;
  1344. width: 100%;
  1345. }
  1346. div.wpforms-container-full.inline-fields .wpforms-form .wpforms-submit-container {
  1347. width: 100%;
  1348. }
  1349. div.wpforms-container-full .wpforms-form .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern) {
  1350. overflow-x: hidden;
  1351. }
  1352. div.wpforms-container-full .wpforms-form .wpforms-field > * {
  1353. max-width: 100%;
  1354. }
  1355. div.wpforms-container-full .wpforms-form .wpforms-mobile-full {
  1356. width: 100%;
  1357. margin-left: 0;
  1358. float: none;
  1359. }
  1360. div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
  1361. div.wpforms-container-full .wpforms-form select.wpforms-field-medium,
  1362. div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium,
  1363. div.wpforms-container-full .wpforms-form input.wpforms-field-small,
  1364. div.wpforms-container-full .wpforms-form select.wpforms-field-small,
  1365. div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-small,
  1366. div.wpforms-container-full .wpforms-form input.wpforms-field-large,
  1367. div.wpforms-container-full .wpforms-form select.wpforms-field-large,
  1368. div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-large {
  1369. max-width: 100%;
  1370. }
  1371. div.wpforms-container-full .wpforms-form .wpforms-checkbox-2-columns ul li,
  1372. div.wpforms-container-full .wpforms-form .wpforms-multiplechoice-2-columns ul li,
  1373. div.wpforms-container-full .wpforms-form .wpforms-list-2-columns ul li,
  1374. div.wpforms-container-full .wpforms-form .wpforms-checkbox-3-columns ul li,
  1375. div.wpforms-container-full .wpforms-form .wpforms-multiplechoice-3-columns ul li,
  1376. div.wpforms-container-full .wpforms-form .wpforms-list-3-columns ul li {
  1377. float: none;
  1378. width: 100%;
  1379. }
  1380. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page {
  1381. margin: 0 10px 0 0;
  1382. }
  1383. div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
  1384. width: 30px;
  1385. height: 30px;
  1386. line-height: 30px;
  1387. }
  1388. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range] {
  1389. margin: 20px 0 15px;
  1390. }
  1391. div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range]::-webkit-slider-thumb {
  1392. width: 30px;
  1393. height: 30px;
  1394. }
  1395. }
  1396. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy93cGZvcm1zLWZ1bGwuY3NzIiwic291cmNlcyI6WyJhc3NldHMvc2Nzcy93cGZvcm1zLWZ1bGwuc2NzcyIsImFzc2V0cy9zY3NzL3BhcnRpYWxzL19yZXNldC5zY3NzIiwiYXNzZXRzL3Njc3MvcGFydGlhbHMvX2Z1bGwuc2NzcyIsImFzc2V0cy9zY3NzL3BhcnRpYWxzL19yZXNwb25zaXZlLWZ1bGwuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwicGFydGlhbHMvcmVzZXRcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9mdWxsXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvcmVzcG9uc2l2ZS1mdWxsXCI7XG4iLCIvKiBSZXNldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAqIHtcblx0YmFja2dyb3VuZDpub25lO1xuXHRib3JkZXI6MCBub25lO1xuXHRib3JkZXItcmFkaXVzOjA7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czowO1xuXHQtbW96LWJvcmRlci1yYWRpdXM6MDtcblx0ZmxvYXQ6bm9uZTtcblx0Zm9udC1zaXplOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHRsZXR0ZXItc3BhY2luZzpub3JtYWw7XG5cdGxpc3Qtc3R5bGU6bm9uZTtcblx0b3V0bGluZTpub25lO1xuXHRwb3NpdGlvbjpzdGF0aWM7XG5cdHRleHQtZGVjb3JhdGlvbjpub25lO1xuXHR0ZXh0LWluZGVudDowO1xuXHR0ZXh0LXNoYWRvdzpub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTpub25lO1xuXHR3aWR0aDphdXRvO1xuXHR2aXNpYmlsaXR5OnZpc2libGU7XG5cdG92ZXJmbG93OnZpc2libGU7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjA7XG5cdGJveC1zaXppbmc6Ym9yZGVyLWJveDtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XG5cdC1tb3otYm94LXNpemluZzpib3JkZXItYm94O1xuXHQtd2Via2l0LWJveC1zaGFkb3c6bm9uZTtcblx0LW1vei1ib3gtc2hhZG93Om5vbmU7XG5cdC1tcy1ib3gtc2hhZG93Om5vbmU7XG5cdC1vLWJveC1zaGFkb3c6bm9uZTtcblx0Ym94LXNoYWRvdzpub25lO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gYW1wLWltZyA+IGltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogT3ZlcnJpZGUgcG9zaXRpb246c3RhdGljIGZyb20gcHJldmlvdXMgcnVsZSwgdG8gcHJldmVudCBicmVha2luZyBBTVAgbGF5b3V0LiAqL1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0LFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBsYWJlbCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gc2VsZWN0LFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBidXR0b24sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHRleHRhcmVhIHtcblx0bWFyZ2luOjA7XG5cdGJvcmRlcjowO1xuXHRwYWRkaW5nOjA7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0aGVpZ2h0OiBhdXRvO1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bCBsaSB7XG5cdGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bCBsaSB7XG5cdG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBociB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXHRtYXJnaW46IDAuNWVtIGF1dG87XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGhlbWUgLSBzdGFuZGFyZCBmb3JtIHN0eWxpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cGZvcm1zLWNsZWFyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcbn1cblxuLndwZm9ybXMtY2xlYXI6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcblx0Y29udGVudDogXCIgXCI7XG5cdGRpc3BsYXk6IHRhYmxlO1xufVxuXG4vKiBCYXNpYyBGaWVsZCBwcm9wZXJ0aWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBGaWVsZCBzaXplcyAtIG1lZGl1bSAqL1xuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dC53cGZvcm1zLWZpZWxkLW1lZGl1bSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gc2VsZWN0LndwZm9ybXMtZmllbGQtbWVkaXVtLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1yb3cud3Bmb3Jtcy1maWVsZC1tZWRpdW0ge1xuXHRtYXgtd2lkdGg6IDYwJTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB0ZXh0YXJlYS53cGZvcm1zLWZpZWxkLW1lZGl1bSB7XG5cdGhlaWdodDogMTIwcHg7XG59XG5cbi8qIEZpZWxkIHNpemVzIC0gc21hbGwgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXQud3Bmb3Jtcy1maWVsZC1zbWFsbCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gc2VsZWN0LndwZm9ybXMtZmllbGQtc21hbGwsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJvdy53cGZvcm1zLWZpZWxkLXNtYWxsIHtcblx0bWF4LXdpZHRoOiAyNSU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdGV4dGFyZWEud3Bmb3Jtcy1maWVsZC1zbWFsbCB7XG5cdGhlaWdodDogNzBweDtcbn1cblxuLyogRmllbGQgc2l6ZXMgLSBsYXJnZSAqL1xuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dC53cGZvcm1zLWZpZWxkLWxhcmdlLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBzZWxlY3Qud3Bmb3Jtcy1maWVsZC1sYXJnZSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtcm93LndwZm9ybXMtZmllbGQtbGFyZ2Uge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdGV4dGFyZWEud3Bmb3Jtcy1maWVsZC1sYXJnZSB7XG5cdGhlaWdodDogMjIwcHg7XG59XG5cbi8qIEZpZWxkIGNvbnRhaW5lciAqL1xuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZCB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi8qIEZpZWxkIERlc2NyaXB0aW9uICovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWRlc2NyaXB0aW9uLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1saW1pdC10ZXh0IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRtYXJnaW46IDhweCAwIDAgMDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1kZXNjcmlwdGlvbi53cGZvcm1zLWRpc2NsYWltZXItZGVzY3JpcHRpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuXHRjb2xvcjogIzQ0NDtcblx0cGFkZGluZzogMTVweCAxNXB4IDA7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdGhlaWdodDogMTI1cHg7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRmb250LXNpemU6IDEycHhcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1kZXNjcmlwdGlvbi53cGZvcm1zLWRpc2NsYWltZXItZGVzY3JpcHRpb24gcCB7XG5cdGNvbG9yOiAjNDQ0O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWRlc2NyaXB0aW9uLWJlZm9yZSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtZGVzY3JpcHRpb24uYmVmb3JlIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG59XG5cbi8qIExhYmVscyBhbmQgc3ViLWxhYmVscyAqL1xuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZsb2F0OiBub25lO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRtYXJnaW46IDAgMCA0cHggMDtcblx0cGFkZGluZzogMDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1zdWJsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZsb2F0OiBub25lO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRtYXJnaW46IDRweCAwIDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtc3VibGFiZWwuYmVmb3JlIHtcblx0bWFyZ2luOiAwIDAgNHB4IDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbGFiZWwtaW5saW5lIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1sYWJlbC53cGZvcm1zLWxhYmVsLWhpZGUsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXN1YmxhYmVsLndwZm9ybXMtc3VibGFiZWwtaGlkZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtOTk5OTlweDtcblx0bGVmdDogLTk5OTk5cHg7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcmVxdWlyZWQtbGFiZWwge1xuXHRjb2xvcjogI2ZmMDAwMDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuXG4vKiBSb3dzIChtdWx0aS1saW5lIGZpZWxkczogYWRkcmVzcywgY3JlZGl0IGNhcmQsIGV0Yylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtcm93IHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQgLndwZm9ybXMtZmllbGQtcm93Omxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIENsZWFyIGVhY2ggcm93ICovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJvdzpiZWZvcmUge1xuXHRjb250ZW50OiBcIiBcIjtcblx0ZGlzcGxheTogdGFibGU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtcm93OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1hZGRyZXNzIC53cGZvcm1zLW9uZS1oYWxmOm9ubHktY2hpbGQge1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogQ29sdW1uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogVXNlciBjb2x1bW4gY2xhc3NlcyAgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZml2ZS1zaXh0aHMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZvdXItc2l4dGhzLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1mb3VyLWZpZnRocyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtb25lLWZpZnRoLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1vbmUtZm91cnRoLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1vbmUtaGFsZixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtb25lLXNpeHRoLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1vbmUtdGhpcmQsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXRocmVlLWZvdXJ0aHMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXRocmVlLWZpZnRocyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtdGhyZWUtc2l4dGhzLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy10d28tZm91cnRocyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtdHdvLWZpZnRocyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtdHdvLXNpeHRocyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtdHdvLXRoaXJkcyB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tbGVmdDogNCU7XG5cdGNsZWFyOiBub25lO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLW9uZS1oYWxmLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy10aHJlZS1zaXh0aHMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXR3by1mb3VydGhzIHtcblx0d2lkdGg6IDQ4JTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1vbmUtdGhpcmQsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXR3by1zaXh0aHMge1xuXHR3aWR0aDogMzAuNjY2NjY2NjY2NyU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZm91ci1zaXh0aHMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXR3by10aGlyZHMge1xuXHR3aWR0aDogNjUuMzMzMzMzMzMzMyU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtb25lLWZvdXJ0aCB7XG5cdHdpZHRoOiAyMiU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtdGhyZWUtZm91cnRocyB7XG5cdHdpZHRoOiA3NCU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtb25lLWZpZnRoIHtcblx0d2lkdGg6IDE2LjglO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXR3by1maWZ0aHMge1xuXHR3aWR0aDogMzcuNiU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtdGhyZWUtZmlmdGhzIHtcblx0d2lkdGg6IDU4LjQlO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZvdXItZmlmdGhzIHtcblx0d2lkdGg6IDc5LjIlO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLW9uZS1zaXh0aCB7XG5cdHdpZHRoOiAxMy4zMzMzMzMzMzMzJTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maXZlLXNpeHRocyB7XG5cdHdpZHRoOiA4Mi42NjY2NjY2NjY3JTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maXJzdCB7XG5cdGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIFVzZXIgbGlzdCBjb2x1bW4gY2xhc3NlcyAgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtY2hlY2tib3gtMi1jb2x1bW5zIHVsLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1tdWx0aXBsZWNob2ljZS0yLWNvbHVtbnMgdWwsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWxpc3QtMi1jb2x1bW5zIHVsLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1jaGVja2JveC0zLWNvbHVtbnMgdWwsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLW11bHRpcGxlY2hvaWNlLTMtY29sdW1ucyB1bCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtbGlzdC0zLWNvbHVtbnMgdWwge1xuXHRkaXNwbGF5OiAtbXMtZmxleDtcblx0ZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHQtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWNoZWNrYm94LTItY29sdW1ucyB1bCBsaSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtbXVsdGlwbGVjaG9pY2UtMi1jb2x1bW5zIHVsIGxpLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1saXN0LTItY29sdW1ucyB1bCBsaSB7XG5cdHdpZHRoOiA1MCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXJpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtY2hlY2tib3gtMy1jb2x1bW5zIHVsIGxpLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1tdWx0aXBsZWNob2ljZS0zLWNvbHVtbnMgdWwgbGksXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWxpc3QtMy1jb2x1bW5zIHVsIGxpIHtcblx0d2lkdGg6IDMzLjMzMzMlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1yaWdodDogMjZweCAhaW1wb3J0YW50O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWxpc3QtaW5saW5lIHVsIGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLyogTGVnYWN5LCBmb3IgQkMgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQud3Bmb3Jtcy1maXJzdC1oYWxmIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiA0OCU7XG5cdGNsZWFyOiBib3RoO1xufVxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLWxhc3QtaGFsZiB7XG5cdGZsb2F0OiByaWdodDtcblx0d2lkdGg6IDQ4JTtcblx0Y2xlYXI6IG5vbmU7XG59XG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLndwZm9ybXMtZmlyc3QtdGhpcmQge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDMwLjY2NjY2NjY2NyU7XG5cdGNsZWFyOiBib3RoO1xufVxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLW1pZGRsZS10aGlyZCAge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDMwLjY2NjY2NjY2NyU7XG5cdG1hcmdpbi1sZWZ0OiA0JTtcblx0Y2xlYXI6IG5vbmU7XG59XG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLndwZm9ybXMtbGFzdC10aGlyZCB7XG5cdGZsb2F0OiByaWdodDtcblx0d2lkdGg6IDMwLjY2NjY2NjY2NyU7XG5cdGNsZWFyOiBub25lO1xufVxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBkaXYud3Bmb3Jtcy1sYXN0IHtcblx0ZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRjbGVhcjogbm9uZTtcbn1cblxuXG4vKiBQcmVzZXQgTGF5b3V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU2luZ2xlIGxpbmUgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsLmlubGluZS1maWVsZHMge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbC5pbmxpbmUtZmllbGRzIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtY29udGFpbmVyICB7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuXHRmbG9hdDogbGVmdDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwuaW5saW5lLWZpZWxkcyAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkICB7XG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdHBhZGRpbmctcmlnaHQ6IDIlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbC5pbmxpbmUtZmllbGRzIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtc3VibWl0LWNvbnRhaW5lciB7XG5cdGZsb2F0OiByaWdodDtcblx0d2lkdGg6IDE2MHB4O1xuXHRjbGVhcjogbm9uZTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwuaW5saW5lLWZpZWxkcyAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXN1Ym1pdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwuaW5saW5lLWZpZWxkcyAud3Bmb3Jtcy1mb3JtIGlucHV0LndwZm9ybXMtZmllbGQtbWVkaXVtLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwuaW5saW5lLWZpZWxkcyAud3Bmb3Jtcy1mb3JtIHNlbGVjdC53cGZvcm1zLWZpZWxkLW1lZGl1bSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsLmlubGluZS1maWVsZHMgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1yb3cud3Bmb3Jtcy1maWVsZC1tZWRpdW0ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cblxuLyogU2V0IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPWRhdGV0aW1lXSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPW1vbnRoXSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1yYW5nZV0sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9c2VhcmNoXSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXRpbWVdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXVybF0sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9d2Vla10sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHNlbGVjdCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdGV4dGFyZWEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGNvbG9yOiAjMzMzO1xuXHQtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbG9hdDogbm9uZTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0aGVpZ2h0OiAzOHB4O1xuXHR3aWR0aDogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1yYWRpb10ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4O1xuXHRtYXJnaW46IDAgMTBweCAwIDNweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1yYWRpb10ge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gc2VsZWN0IHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBzZWxlY3RbbXVsdGlwbGVdIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBidXR0b25bdHlwZT1zdWJtaXRdLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1wYWdlLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG5cdGNvbG9yOiAjMzMzO1xuXHRmb250LXNpemU6IDFlbTtcblx0cGFkZGluZzogMTBweCAxNXB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtYnV0dG9uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bWFyZ2luOiAwIDVweDtcblx0bWluLXdpZHRoOiA5MHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9c3VibWl0XTphY3RpdmUsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF06Zm9jdXMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF06YWN0aXZlLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1wYWdlLWJ1dHRvbjpob3ZlcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1idXR0b246YWN0aXZlLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1wYWdlLWJ1dHRvbjpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF06ZGlzYWJsZWQsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF06ZGlzYWJsZWQsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtYnV0dG9uOmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXQ6Zm9jdXMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHRleHRhcmVhOmZvY3VzLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBzZWxlY3Q6Zm9jdXMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC5pcy1mb2N1c2VkIC5jaG9pY2VzX19pbm5lcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLmlzLW9wZW4gLmNob2ljZXNfX2lubmVyLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAuaXMtb3BlbiAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0OmRpc2FibGVkLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB0ZXh0YXJlYTpkaXNhYmxlZCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gc2VsZWN0OmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcblx0Ym9yZGVyLWNvbG9yOiAjZGRkO1xuXHRjb2xvcjogIzk5OTtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuXG4vKiBFcnJvcnMsIFdhcm5pbmdzLCBldGNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWVycm9yLWNvbnRhaW5lcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gbm9zY3JpcHQud3Bmb3Jtcy1lcnJvci1ub3NjcmlwdCB7XG5cdGNvbG9yOiAjOTkwMDAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGxhYmVsLndwZm9ybXMtZXJyb3Ige1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y29sb3I6ICM5OTAwMDA7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0ZmxvYXQ6IG5vbmU7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZCBpbnB1dC53cGZvcm1zLWVycm9yLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZCBpbnB1dC51c2VyLWludmFsaWQsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkIHRleHRhcmVhLndwZm9ybXMtZXJyb3IsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkIHRleHRhcmVhLnVzZXItaW52YWxpZCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQgc2VsZWN0LndwZm9ybXMtZXJyb3IsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkIHNlbGVjdC51c2VyLWludmFsaWQsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLndwZm9ybXMtaGFzLWVycm9yIC5jaG9pY2VzX19pbm5lciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjYzAwMDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtY3JlZGl0LWNhcmQtZXhwaXJhdGlvbiBsYWJlbC53cGZvcm1zLWVycm9yLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1jcmVkaXQtY2FyZC1jb2RlIGxhYmVsLndwZm9ybXMtZXJyb3Ige1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZXJyb3ItYWxlcnQge1xuXHRjb2xvcjogI2I5NGE0ODtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcblx0Ym9yZGVyOiAxcHggc29saWQgI2VlZDNkNztcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bWFyZ2luOiAwIDAgMTBweCAwO1xufVxuXG5cbi8qIENvbmZpcm1hdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLypcbiAqIE5vdGU6IFRoZSBzZWNvbmQgc2VsZWN0b3IgZm9yIHRoZSBmb2xsb3dpbmcgdHdvIHJ1bGVzIGlzIG5lZWRlZCB0byBvdmVycmlkZSB0aGUgcnVsZSB3aXRoXG4gKiB0aGUgc2VsZWN0b3I6IGBkaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCwgZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAqYC5cbiAqIFRoZSB1bmRlcmx5aW5nIGNhdXNlIGlzIHRoYXQgdGhlIC53cGZvcm1zLWNvbmZpcm1hdGlvbi1jb250YWluZXItZnVsbCBpcyBub3QgZXhwZWN0ZWRcbiAqIHRvIGJlIGxvY2F0ZWQgaW5zaWRlIG9mIHRoZSAud3Bmb3Jtcy1jb25maXJtYXRpb24tY29udGFpbmVyLWZ1bGwgZWxlbWVudCwgc2luY2Ugb24gbm9uLUFNUFxuICogcGFnZXMgdGhlIGNvbmZpcm1hdGlvbiBtZXNzYWdlIGlzIG5ldmVyIGRpc3BsYXllZCBvbiB0aGUgc2FtZSBwYWdlIGFzIHRoZSBmb3JtLlxuICovXG4ud3Bmb3Jtcy1jb25maXJtYXRpb24tY29udGFpbmVyLWZ1bGwsXG5kaXZbc3VibWl0LXN1Y2Nlc3NdID4gLndwZm9ybXMtY29uZmlybWF0aW9uLWNvbnRhaW5lci1mdWxsIHtcblx0Y29sb3I6ICMzMzM7XG5cdG1hcmdpbjogMCBhdXRvIDI0cHg7XG5cdHBhZGRpbmc6IDE1cHggMTVweDtcbn1cblxuLndwZm9ybXMtY29uZmlybWF0aW9uLWNvbnRhaW5lci1mdWxsLFxuZGl2W3N1Ym1pdC1zdWNjZXNzXSA+IC53cGZvcm1zLWNvbmZpcm1hdGlvbi1jb250YWluZXItZnVsbDpub3QoLndwZm9ybXMtcmVkaXJlY3Rpb24tbWVzc2FnZSkge1xuXHRiYWNrZ3JvdW5kOiAjZTBmZmM3O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYjRkMzliO1xufVxuXG4ud3Bmb3Jtcy1jb25maXJtYXRpb24tY29udGFpbmVyLWZ1bGwgcDpsYXN0LW9mLXR5cGUsXG5kaXZbc3VibWl0LXN1Y2Nlc3NdID4gLndwZm9ybXMtY29uZmlybWF0aW9uLWNvbnRhaW5lci1mdWxsIHA6bGFzdC1vZi10eXBlIHtcblx0bWFyZ2luOiAwO1xufVxuXG4vKlxuICogSGlkZSB0aGUgZm9ybSBmaWVsZHMgdXBvbiBzdWNjZXNzZnVsIHN1Ym1pc3Npb24uIFRoaXMgbWF5IG5vdCBiZSB0aGUgYmVzdCBhcHByb2FjaC5cbiAqIFBlcmhhcHMgbW9yZSByb2J1c3Q6IC53cGZvcm1zLWZvcm0uYW1wLWZvcm0tc3VibWl0LXN1Y2Nlc3MgPiAqOm5vdChbc3VibWl0LXN1Y2Nlc3NdKSB7IGRpc3BsYXk6bm9uZSB9XG4gKi9cbi5hbXAtZm9ybS1zdWJtaXQtc3VjY2VzcyAud3Bmb3Jtcy1maWVsZC1jb250YWluZXIsXG4uYW1wLWZvcm0tc3VibWl0LXN1Y2Nlc3MgLndwZm9ybXMtc3VibWl0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogcmVDQVBUQ0hBIEFyZWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcmVjYXB0Y2hhLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDEwcHggMCAyMHB4IDA7XG5cdGNsZWFyOiBib3RoO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXJlY2FwdGNoYS1jb250YWluZXIgaWZyYW1lIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vKiBGb3JtIEhlYWRlciBhcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXRpdGxlIHtcblx0Zm9udC1zaXplOiAyNnB4O1xuXHRtYXJnaW46IDAgMCAxMHB4IDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW46IDAgMCAxMHB4IDA7XG59XG5cblxuLyogRm9ybSBGb290ZXIgYXJlYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1zdWJtaXQtY29udGFpbmVyIHtcblx0cGFkZGluZzogMTBweCAwIDAgMDtcblx0Y2xlYXI6IGJvdGg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBidXR0b25bdHlwZT1zdWJtaXRdIHtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1zdWJtaXQtc3Bpbm5lciB7XG5cdG1hcmdpbi1sZWZ0OiAwLjVlbTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXgtd2lkdGg6IDI2cHg7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZWJyZWFrLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1wYWdlYnJlYWstbGVmdCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZWJyZWFrLWxlZnQgLndwZm9ybXMtcGFnZS1idXR0b24ge1xuXHRtYXJnaW46IDAgMTBweCAwIDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZWJyZWFrLXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZWJyZWFrLXJpZ2h0IC53cGZvcm1zLXBhZ2UtYnV0dG9uIHtcblx0bWFyZ2luOiAwIDAgMCAxMHB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2VicmVhay1zcGxpdCAud3Bmb3Jtcy1wYWdlLXByZXYge1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luOiAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2VicmVhay1zcGxpdCAud3Bmb3Jtcy1wYWdlLW5leHQge1xuXHRmbG9hdDogcmlnaHQ7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4vKiBDcmVkaXQgQ2FyZCBmaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1jcmVkaXQtY2FyZC1udW1iZXIge1xuXHRtYXJnaW4tcmlnaHQ6IDEwMHB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWNyZWRpdC1jYXJkLWNvZGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiA5MHB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWNyZWRpdC1jYXJkLW5hbWUge1xuXHRtYXJnaW4tcmlnaHQ6IDE3MHB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWNyZWRpdC1jYXJkLWV4cGlyYXRpb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxNjBweDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1jcmVkaXQtY2FyZC1leHBpcmF0aW9uIHNlbGVjdCB7XG5cdHdpZHRoOiA0NSU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1jcmVkaXQtY2FyZC1leHBpcmF0aW9uIHNwYW4ge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDEwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMzhweDtcbn1cblxuLyogTnVtYmVyIHNsaWRlciBmaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbnVtYmVyLXNsaWRlciBpbnB1dFt0eXBlPXJhbmdlXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0aGVpZ2h0OiAxMHB4O1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMTBweCAwIDVweDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1udW1iZXItc2xpZGVyIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2sge1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbnVtYmVyLXNsaWRlciBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8qIE92ZXJyaWRlIGRlZmF1bHQgbG9vayAqL1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHR3aWR0aDogMTdweDtcblx0aGVpZ2h0OiAxN3B4O1xuXHRiYWNrZ3JvdW5kOiAjQjVCNUI1O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbnVtYmVyLXNsaWRlciBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYiB7XG5cdHdpZHRoOiAxN3B4O1xuXHRoZWlnaHQ6IDE3cHg7XG5cdGJhY2tncm91bmQ6ICNCNUI1QjU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1udW1iZXItc2xpZGVyIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWIge1xuXHR3aWR0aDogMTdweDtcblx0aGVpZ2h0OiAxN3B4O1xuXHRiYWNrZ3JvdW5kOiAjQjVCNUI1O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbnVtYmVyLXNsaWRlciAud3Bmb3Jtcy1maWVsZC1udW1iZXItc2xpZGVyLWhpbnQge1xuXHRmb250LXNpemU6IDEzcHg7XG59XG5cbi8qIFN0cmlwZSBDcmVkaXQgQ2FyZCBmaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1zdHJpcGUtY3JlZGl0LWNhcmQtY2FyZG51bWJlcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXQud3Bmb3Jtcy1zdHJpcGUtY3JlZGl0LWNhcmQtaGlkZGVuLWlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRjb2xvcjogIzMzMztcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbG9hdDogbm9uZTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0aGVpZ2h0OiAzOHB4O1xuXHR3aWR0aDogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDEuM1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXN0cmlwZS1lbGVtZW50LWludmFsaWQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2MwMDAwIWltcG9ydGFudDtcbn1cblxuXG4vKiBIVE1MIGZpZWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWh0bWwgdWwsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWh0bWwgb2wge1xuXHRtYXJnaW46IDAgMCAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtaHRtbCB1bCBsaSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtaHRtbCBvbCBsaSB7XG5cdG1hcmdpbjogMCAwIDVweCAwICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtaHRtbCB1bCBsaSB7XG5cdGxpc3Qtc3R5bGU6IGRpc2MgIWltcG9ydGFudDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1odG1sIG9sIGxpIHtcblx0bGlzdC1zdHlsZTogZGVjaW1hbCAhaW1wb3J0YW50O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWh0bWwgbGkgPiB1bCxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtaHRtbCBsaSA+IG9sIHtcblx0bWFyZ2luOiA2cHggMCAwIDIwcHggIWltcG9ydGFudDtcbn1cblxuXG4vKiBEYXRlL3RpbWUgZmllbGRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZpZWxkLWRhdGUtdGltZS1kYXRlLXNlcCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMCA1cHg7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtZGF0ZS10aW1lLWRhdGUteWVhcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtZGF0ZS10aW1lLWRhdGUtZGF5LFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1kYXRlLXRpbWUtZGF0ZS1tb250aCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IGF1dG87XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWRhdGVwaWNrZXItd3JhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZGF0ZXBpY2tlci13cmFwIC53cGZvcm1zLWRhdGVwaWNrZXItY2xlYXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGltZXMtc29saWQtd2hpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcblx0YmFja2dyb3VuZC1zaXplOiA4cHg7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0cmlnaHQ6IDEwcHg7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZGF0ZXBpY2tlci13cmFwIC53cGZvcm1zLWRhdGVwaWNrZXItY2xlYXI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWRhdGVwaWNrZXItd3JhcCAud3Bmb3Jtcy1maWVsZC1zbWFsbCArIC53cGZvcm1zLWRhdGVwaWNrZXItY2xlYXIge1xuXHRyaWdodDogY2FsYyggNzUlICsgMTBweCApO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1kYXRlcGlja2VyLXdyYXAgLndwZm9ybXMtZmllbGQtbWVkaXVtICsgLndwZm9ybXMtZGF0ZXBpY2tlci1jbGVhciB7XG5cdHJpZ2h0OiBjYWxjKCA0MCUgKyAxMHB4ICk7XG59XG5cbi8qIEN1c3RvbSBDYXB0Y2hhIGZpZWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWNhcHRjaGEtbWF0aCBpbnB1dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDcwcHg7XG5cdHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuXHRtYXJnaW46IDAgMCAwIDVweDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1jYXB0Y2hhLWVxdWF0aW9uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWNhcHRjaGEtcXVlc3Rpb24ge1xuXHRtYXJnaW46IDAgMCA0cHggMDtcbn1cblxuLyogUmF0aW5nIGZpZWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJhdGluZy1pdGVtIHtcblx0cGFkZGluZy1yaWdodDogNnB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJhdGluZyBzdmcge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG5cdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuXHRib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xuXHRvcGFjaXR5OiAwLjYwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJhdGluZy1pdGVtLnNlbGVjdGVkIHN2ZyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtcmF0aW5nLWl0ZW0uaG92ZXIgc3ZnLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1yYXRpbmctaXRlbSBpbnB1dDpmb2N1cyArIHN2ZyB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8qIEZpbGUgdXBsb2FkIGZpZWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZGl2LndwZm9ybXMtZmllbGQtZmlsZS11cGxvYWQgLndwZm9ybXMtaGlkZXtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5kaXYud3Bmb3Jtcy1maWVsZC1maWxlLXVwbG9hZCAud3Bmb3Jtcy1maWxlLXVwbG9hZC1idWlsZGVyLW1vZGVybiB7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuLndwZm9ybXMtd2l0aC1maWxlc3tcblx0cGFkZGluZzogNXB4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIHN2Z3tcblx0aGVpZ2h0OiA1MHB4O1xuXHR3aWR0aDogNTBweDtcblx0Y29sb3I6ICNlMjc3MzA7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLW1vZGVybi10aXRsZXtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLW1vZGVybi1oaW50e1xuXHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5kaXYud3Bmb3Jtcy1maWVsZC1maWxlLXVwbG9hZCAud3Bmb3Jtcy1maWxlLXVwbG9hZC1idWlsZGVyLW1vZGVybi53cGZvcm1zLWhpZ2hsaWdodGVke1xuXHRib3JkZXItY29sb3I6ICNlMjc3MzA7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLXRleHR7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5kaXYud3Bmb3Jtcy1maWVsZC1maWxlLXVwbG9hZCAud3Bmb3Jtcy1maWxlLXVwbG9hZC1idWlsZGVyLW1vZGVybiAud3Bmb3Jtcy1wcmV2aWV3LWJsb2Nre1xuXHR3aWR0aDogMTAwcHg7XG5cdGhlaWdodDogMTAwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDVweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG5kaXYud3Bmb3Jtcy1maWVsZC1maWxlLXVwbG9hZCAud3Bmb3Jtcy1maWxlLXVwbG9hZC1idWlsZGVyLW1vZGVybiAud3Bmb3Jtcy1wcmV2aWV3LWJsb2NrOmhvdmVyIC53cGZvcm1zLW92ZXJsYXl7XG5cdG9wYWNpdHk6IDE7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLXByZXZpZXctYmxvY2sgLndwZm9ybXMtb3ZlcmxheXtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0b3BhY2l0eTogMDtcbn1cblxuZGl2LndwZm9ybXMtZmllbGQtZmlsZS11cGxvYWQgLndwZm9ybXMtZmlsZS11cGxvYWQtYnVpbGRlci1tb2Rlcm4gLndwZm9ybXMtcHJldmlldy1ibG9jayAud3Bmb3Jtcy1vdmVybGF5IC53cGZvcm1zLWNsb3Nle1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiA1cHg7XG5cdHRvcDogNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xufVxuXG5kaXYud3Bmb3Jtcy1maWVsZC1maWxlLXVwbG9hZCAud3Bmb3Jtcy1maWxlLXVwbG9hZC1idWlsZGVyLW1vZGVybiAud3Bmb3Jtcy1wcmV2aWV3LWJsb2NrIC53cGZvcm1zLW92ZXJsYXkgLndwZm9ybXMtdGl0bGV7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogI2ZmZjtcblx0dG9wOiAyNXB4O1xuXHRib3R0b206IDEwcHg7XG5cdGxlZnQ6IDVweDtcblx0cmlnaHQ6IDVweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bGluZS1oZWlnaHQ6IDE2cHg7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLXByZXZpZXctYmxvY2sgLndwZm9ybXMtb3ZlcmxheSAud3Bmb3Jtcy1jbG9zZSAud3Bmb3Jtcy1jbG9zZS1sZWZ0LFxuZGl2LndwZm9ybXMtZmllbGQtZmlsZS11cGxvYWQgLndwZm9ybXMtZmlsZS11cGxvYWQtYnVpbGRlci1tb2Rlcm4gLndwZm9ybXMtcHJldmlldy1ibG9jayAud3Bmb3Jtcy1vdmVybGF5IC53cGZvcm1zLWNsb3NlIC53cGZvcm1zLWNsb3NlLXJpZ2h0e1xuXHRoZWlnaHQ6IDE4cHg7XG5cdHdpZHRoOiAxcHg7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHotaW5kZXg6IDE7XG5cdHJpZ2h0OiA5cHg7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLXByZXZpZXctYmxvY2sgLndwZm9ybXMtb3ZlcmxheSAud3Bmb3Jtcy1jbG9zZSAud3Bmb3Jtcy1jbG9zZS1sZWZ0e1xuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLXByZXZpZXctYmxvY2sgLndwZm9ybXMtb3ZlcmxheSAud3Bmb3Jtcy1jbG9zZSAud3Bmb3Jtcy1jbG9zZS1yaWdodHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuZGl2LndwZm9ybXMtZmllbGQtZmlsZS11cGxvYWQgLndwZm9ybXMtZmlsZS11cGxvYWQtYnVpbGRlci1tb2Rlcm4gLndwZm9ybXMtcHJldmlldy1ibG9jayBzdmd7XG5cdGhlaWdodDogMjVweDtcblx0d2lkdGg6IDI1cHg7XG5cdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbmRpdi53cGZvcm1zLWZpZWxkLWZpbGUtdXBsb2FkIC53cGZvcm1zLWZpbGUtdXBsb2FkLWJ1aWxkZXItbW9kZXJuIC53cGZvcm1zLXByZXZpZXctYmxvY2sgLndwZm9ybXMtcHJvZ3Jlc3N7XG5cdGhlaWdodDogNXB4O1xuXHR3aWR0aDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQ6ICNlMjc3MzA7XG5cdHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG5kaXYud3Bmb3Jtcy1maWVsZC1maWxlLXVwbG9hZCAud3Bmb3Jtcy1maWxlLXVwbG9hZC1idWlsZGVyLW1vZGVybiBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogSW1hZ2UgY2hvaWNlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMgbGFiZWw6bm90KC53cGZvcm1zLWVycm9yKSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcyBsYWJlbCBpbnB1dCB7XG5cdHRvcDogNTAlO1xufVxuXG4vKiBNb2Rlcm4gc3R5bGUgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtbGlzdC1pbmxpbmUgdWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiBsaSB7XG5cdG1hcmdpbjogNXB4IDVweCA1cHggNXB4ICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiBpbWcge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiBsYWJlbDpub3QoLndwZm9ybXMtZXJyb3IpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMjBweCAyMHB4IDE4cHggMjBweDtcblx0dHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIGxhYmVsOm5vdCgud3Bmb3Jtcy1lcnJvcik6aG92ZXIsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1tb2Rlcm4gbGFiZWw6bm90KC53cGZvcm1zLWVycm9yKTpmb2N1cyB7XG5cdGJvcmRlcjoxcHggc29saWQgI2RkZDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIC53cGZvcm1zLXNlbGVjdGVkIGxhYmVsIHtcblx0Ym94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiAud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlOmFmdGVyIHtcblx0Y29udGVudDogXCJcXDI3MTRcIjtcblx0Zm9udC1zaXplOiAyMnB4O1xuXHRsaW5lLWhlaWdodDogMzJweDtcblx0Y29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQ6IGdyZWVuO1xuXHRvcGFjaXR5OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbjogLTE2cHggMCAwIC0xNnB4O1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1tb2Rlcm4gLndwZm9ybXMtc2VsZWN0ZWQgLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1pbWFnZTphZnRlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiAud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIC53cGZvcm1zLXNlbGVjdGVkIC53cGZvcm1zLWltYWdlLWNob2ljZXMtbGFiZWwge1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1tb2Rlcm4gLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4vKiBDbGFzc2ljICovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWxpc3QtaW5saW5lIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1jbGFzc2ljIGxpIHtcblx0bWFyZ2luOiAwIDEwcHggMTBweCAwICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gdWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWNsYXNzaWMgaW1nIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDAgYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1jbGFzc2ljIGxhYmVsOm5vdCgud3Bmb3Jtcy1lcnJvcikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyBsYWJlbDpub3QoLndwZm9ybXMtZXJyb3IpOmhvdmVyLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyBsYWJlbDpub3QoLndwZm9ybXMtZXJyb3IpOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAjZGRkO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1jbGFzc2ljIC53cGZvcm1zLWltYWdlLWNob2ljZXMtaW1hZ2Uge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSB1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyAud3Bmb3Jtcy1zZWxlY3RlZCBsYWJlbCB7XG5cdGJvcmRlci1jb2xvcjogIzY2NiAhaW1wb3J0YW50O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHVsLndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1jbGFzc2ljIC53cGZvcm1zLWltYWdlLWNob2ljZXMtbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuXG5cbi8qIFBhZ2UgSW5kaWNhdG9yIHRoZW1lc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1wYWdlLWluZGljYXRvciB7XG5cdG1hcmdpbjogMCAwIDIwcHggMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyoqIENpcmNsZXMgdGhlbWUgKiovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLmNpcmNsZXMge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2RmZGZkZjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmRmZGY7XG5cdHBhZGRpbmc6IDE1cHggMTBweDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1wYWdlLWluZGljYXRvci5jaXJjbGVzIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLXBhZ2Uge1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luOiAwIDIwcHggMCAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLmNpcmNsZXMgLndwZm9ybXMtcGFnZS1pbmRpY2F0b3ItcGFnZTpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW46IDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IuY2lyY2xlcyAud3Bmb3Jtcy1wYWdlLWluZGljYXRvci1wYWdlLW51bWJlciB7XG5cdGhlaWdodDogNDBweDtcblx0d2lkdGg6IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDAgMTBweCAwIDA7XG5cdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG5cdGNvbG9yOiAjNjY2O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLmNpcmNsZXMgLmFjdGl2ZSAud3Bmb3Jtcy1wYWdlLWluZGljYXRvci1wYWdlLW51bWJlciB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4vKiBDb25uZWN0b3IgdGhlbWUgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IuY29ubmVjdG9yIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLXBhZ2Uge1xuXHRmbG9hdDogbGVmdDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IuY29ubmVjdG9yIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLXBhZ2UtbnVtYmVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRoZWlnaHQ6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2RkZDtcblx0bWFyZ2luOiAwIDAgMTZweCAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IuY29ubmVjdG9yIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLXBhZ2UtdHJpYW5nbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogNTAlO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogLTVweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXdpZHRoOiA2cHggNXB4IDAgNXB4O1xuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLmNvbm5lY3RvciAud3Bmb3Jtcy1wYWdlLWluZGljYXRvci1wYWdlLXRpdGxlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAwIDE1cHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLyogUHJvZ3Jlc3MgdGhlbWUgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IucHJvZ3Jlc3Mge1xuXHRmb250LXNpemU6IDE4cHg7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IucHJvZ3Jlc3MgLndwZm9ybXMtcGFnZS1pbmRpY2F0b3ItcGFnZS1wcm9ncmVzcy13cmFwIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuXHRoZWlnaHQ6IDE4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiA1cHggMCAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLnByb2dyZXNzIC53cGZvcm1zLXBhZ2UtaW5kaWNhdG9yLXBhZ2UtcHJvZ3Jlc3Mge1xuXHRoZWlnaHQ6IDE4cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xufVxuXG4vKiBEcm9wZG93biBmaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1zZWxlY3Qgc2VsZWN0ID4gb3B0aW9uIHtcblx0Y29sb3I6IGluaGVyaXQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtc2VsZWN0IHNlbGVjdCA+IG9wdGlvbi5wbGFjZWhvbGRlcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtc2VsZWN0IHNlbGVjdCA+IG9wdGlvbltkaXNhYmxlZF0ge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0b3BhY2l0eTogMC41O1xufVxuXG4vKiBDbGFzc2ljIHN0eWxlICovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLWZpZWxkLXNlbGVjdC1zdHlsZS1jbGFzc2ljIHNlbGVjdCB7XG5cdHBhZGRpbmctbGVmdDogNnB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLWZpZWxkLXNlbGVjdC1zdHlsZS1jbGFzc2ljIHNlbGVjdFttdWx0aXBsZV0ge1xuXHRwYWRkaW5nOiAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLWZpZWxkLXNlbGVjdC1zdHlsZS1jbGFzc2ljIHNlbGVjdFttdWx0aXBsZV0gPiBvcHRpb24ge1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLWZpZWxkLXNlbGVjdC1zdHlsZS1jbGFzc2ljIHNlbGVjdFttdWx0aXBsZV0gPiBvcHRpb24ucGxhY2Vob2xkZXIsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1maWVsZC53cGZvcm1zLWZpZWxkLXNlbGVjdC1zdHlsZS1jbGFzc2ljIHNlbGVjdFttdWx0aXBsZV0gPiBvcHRpb25bZGlzYWJsZWRdIHtcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLyogTW9kZXJuIHN0eWxlICovXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC5jaG9pY2VzIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogIzMzMztcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAuY2hvaWNlcyAuY2hvaWNlc19fbGlzdC0tc2luZ2xlIHtcblx0Zm9udC1zaXplOiAxZW07XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vIE92ZXJyaWRlIENob2ljZXMgYm9yZGVyLXJhZGl1cyBvbiB0aGUgZnJvbnRlbmQuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC5jaG9pY2VzLmlzLW9wZW4uaXMtZmxpcHBlZCAuY2hvaWNlc19faW5uZXIsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC5jaG9pY2VzLmlzLW9wZW4gLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIHtcblx0Ym9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLmNob2ljZXMuaXMtb3Blbi5pcy1mbGlwcGVkIC5jaG9pY2VzX19saXN0LS1kcm9wZG93bixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLmNob2ljZXMuaXMtb3BlbiAuY2hvaWNlc19faW5uZXIge1xuXHRib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAuY2hvaWNlcyB7XG5cdC5jaG9pY2VzX19pbm5lciB7XG5cdFx0bWluLWhlaWdodDogMzhweDtcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdH1cbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAuY2hvaWNlcyBpbnB1dC5jaG9pY2VzX19pbnB1dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0aGVpZ2h0OiBhdXRvO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC5jaG9pY2VzIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLmNob2ljZXMgOjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAuY2hvaWNlcyA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLyogTm90aWNlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZDtcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDEycHg7XG5cdGNvbG9yOiAjMzMzO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdHBhZGRpbmc6IDIwcHggMzZweCAyMHB4IDI2cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLWRlbGV0ZSB7XG5cdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAyOTA0ODZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR3aWR0aDogMjBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMTBweDtcblx0dG9wOiAxMHB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2UgLndwZm9ybXMtZGVsZXRlOmJlZm9yZSxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZSAud3Bmb3Jtcy1kZWxldGU6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGVmdDogNTAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLWRlbGV0ZTpiZWZvcmUge1xuXHRoZWlnaHQ6IDJweDtcblx0d2lkdGg6IDUwJTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLWRlbGV0ZTphZnRlciB7XG5cdGhlaWdodDogNTAlO1xuXHR3aWR0aDogMnB4O1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2UgLndwZm9ybXMtZGVsZXRlOmhvdmVyLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLWRlbGV0ZTpmb2N1cyAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuMyk7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZSBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZSBwIHtcblx0bWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2UgcDpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy1pbmZvIC53cGZvcm1zLW5vdGljZS1hY3Rpb24sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy1pbmZvIHtcblx0Ym9yZGVyLWNvbG9yOiAjMzI3M2RjXG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZS53cGZvcm1zLXN1Y2Nlc3MgLndwZm9ybXMtbm90aWNlLWFjdGlvbixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZS53cGZvcm1zLXN1Y2Nlc3Mge1xuXHRib3JkZXItY29sb3I6ICMyM2QxNjBcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtd2FybmluZyAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtd2FybmluZyB7XG5cdGJvcmRlci1jb2xvcjogI2ZmZGQ1N1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy1lcnJvciAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtZXJyb3Ige1xuXHRib3JkZXItY29sb3I6ICNmZjM4NjBcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLW5vdGljZS1hY3Rpb25zIHtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLW5vdGljZS1hY3Rpb24ge1xuXHRib3JkZXI6IDJweCBzb2xpZDtcblx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRwYWRkaW5nOiA1cHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZSAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uOmhvdmVyLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlIC53cGZvcm1zLW5vdGljZS1hY3Rpb246Zm9jdXMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2UgLndwZm9ybXMtbm90aWNlLWFjdGlvbjphY3RpdmUge1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtaW5mbyAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uOmhvdmVyLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtaW5mbyAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uOmZvY3VzLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtaW5mbyAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMzMjczZGM7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZS53cGZvcm1zLXN1Y2Nlc3MgLndwZm9ybXMtbm90aWNlLWFjdGlvbjpob3ZlcixcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZS53cGZvcm1zLXN1Y2Nlc3MgLndwZm9ybXMtbm90aWNlLWFjdGlvbjpmb2N1cyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZS53cGZvcm1zLXN1Y2Nlc3MgLndwZm9ybXMtbm90aWNlLWFjdGlvbjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjNkMTYwO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy13YXJuaW5nIC53cGZvcm1zLW5vdGljZS1hY3Rpb246aG92ZXIsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy13YXJuaW5nIC53cGZvcm1zLW5vdGljZS1hY3Rpb246Zm9jdXMsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy13YXJuaW5nIC53cGZvcm1zLW5vdGljZS1hY3Rpb246YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZGQ1Nztcblx0Y29sb3I6IGluaGVyaXQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLW5vdGljZS53cGZvcm1zLWVycm9yIC53cGZvcm1zLW5vdGljZS1hY3Rpb246aG92ZXIsXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1ub3RpY2Uud3Bmb3Jtcy1lcnJvciAud3Bmb3Jtcy1ub3RpY2UtYWN0aW9uOmZvY3VzLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtbm90aWNlLndwZm9ybXMtZXJyb3IgLndwZm9ybXMtbm90aWNlLWFjdGlvbjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzODYwO1xufVxuXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIHtcblx0LndwZm9ybXMtZm9ybSB7XG5cdFx0dGV4dGFyZWEud3Bmb3Jtcy1maWVsZC1zbWFsbC53cC1lZGl0b3ItYXJlYSB7XG5cdFx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdH1cblxuXHRcdHRleHRhcmVhLndwZm9ybXMtZmllbGQtbWVkaXVtLndwLWVkaXRvci1hcmVhIHtcblx0XHRcdGhlaWdodDogMjUwcHg7XG5cdFx0fVxuXG5cdFx0dGV4dGFyZWEud3Bmb3Jtcy1maWVsZC1sYXJnZS53cC1lZGl0b3ItYXJlYSB7XG5cdFx0XHRoZWlnaHQ6IDQwMHB4O1xuXHRcdH1cblx0fVxufVxuXG4vKiBNaXNjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCB7XG5cdG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaDMge1xuXHRmb250LXNpemU6IDI0cHg7XG59XG5cbi8qIEhvbmV5cG90IEFyZWEgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtaHAge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRsZWZ0OiAtOTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1zY3JlZW4tcmVhZGVyLWVsZW1lbnQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0Y2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi8qIExpbWl0IG9wdGlvbnMgKi9cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtbGltaXQtdGV4dHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLyogUlRMIHN1cHBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFBob25lIFVTIGZvcm1hdCAqL1xuYm9keS5ydGwgLndwZm9ybXMtZmllbGQtcGhvbmUgaW5wdXRbdHlwZT10ZWxdIHtcblx0ZGlyZWN0aW9uOiBsdHI7XG5cdHVuaWNvZGUtYmlkaTogZW1iZWQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5ib2R5LnJ0bCAud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpcnN0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG5ib2R5LnJ0bCAud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpcnN0ICsgLndwZm9ybXMtb25lLWhhbGYge1xuXHRtYXJnaW4tcmlnaHQ6IDQlO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cbiIsIi8vIFNtYWxsIGRldmljZXMuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdGRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIHtcblxuXHRcdC8vIFByZXNldCBsYXlvdXQgLSBzaW5nbGUgbGluZS5cblx0XHQmLmlubGluZS1maWVsZHMgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1jb250YWluZXIsXG5cdFx0Ji5pbmxpbmUtZmllbGRzIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQmLmlubGluZS1maWVsZHMgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1zdWJtaXQtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC53cGZvcm1zLWZvcm0ge1xuXG5cdFx0XHQvLyBBdm9pZCBob3Jpem9udGFsIHNjcm9sbCBvbiBtb2JpbGVzLlxuXHRcdFx0Ly8gU2tpcCBmb3IgcGhvbmUgYW5kIG1vZGVybiBtdWx0aXBsZSBzZWxlY3QgZmllbGQuIE90aGVyd2lzZSB0aGV5IChkcm9wZG93bnMpIHdpbGwgYmUgY3JvcHBlZC5cblx0XHRcdC53cGZvcm1zLWZpZWxkOm5vdCgud3Bmb3Jtcy1maWVsZC1waG9uZSk6bm90KC53cGZvcm1zLWZpZWxkLXNlbGVjdC1zdHlsZS1tb2Rlcm4pIHtcblx0XHRcdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1maWVsZCA+ICoge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdC8vIE1vYmlsZSB3aWR0aCBvdmVycmlkZS5cblx0XHRcdC53cGZvcm1zLW1vYmlsZS1mdWxsIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gRnVsbCB3aWR0aCBmb3IgYWxsIHNpemVzLlxuXHRcdFx0aW5wdXQud3Bmb3Jtcy1maWVsZC1tZWRpdW0sXG5cdFx0XHRzZWxlY3Qud3Bmb3Jtcy1maWVsZC1tZWRpdW0sXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1yb3cud3Bmb3Jtcy1maWVsZC1tZWRpdW0sXG5cdFx0XHRpbnB1dC53cGZvcm1zLWZpZWxkLXNtYWxsLFxuXHRcdFx0c2VsZWN0LndwZm9ybXMtZmllbGQtc21hbGwsXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1yb3cud3Bmb3Jtcy1maWVsZC1zbWFsbCxcblx0XHRcdGlucHV0LndwZm9ybXMtZmllbGQtbGFyZ2UsXG5cdFx0XHRzZWxlY3Qud3Bmb3Jtcy1maWVsZC1sYXJnZSxcblx0XHRcdC53cGZvcm1zLWZpZWxkLXJvdy53cGZvcm1zLWZpZWxkLWxhcmdlIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBVc2VyIGxpc3QgY29sdW1uIGNsYXNzZXMuXG5cdFx0XHQud3Bmb3Jtcy1jaGVja2JveC0yLWNvbHVtbnMsXG5cdFx0XHQud3Bmb3Jtcy1tdWx0aXBsZWNob2ljZS0yLWNvbHVtbnMsXG5cdFx0XHQud3Bmb3Jtcy1saXN0LTItY29sdW1ucyxcblx0XHRcdC53cGZvcm1zLWNoZWNrYm94LTMtY29sdW1ucyxcblx0XHRcdC53cGZvcm1zLW11bHRpcGxlY2hvaWNlLTMtY29sdW1ucyxcblx0XHRcdC53cGZvcm1zLWxpc3QtMy1jb2x1bW5zIHtcblx0XHRcdFx0dWwgbGkge1xuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlXG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gUGFnZSBpbmRpY2F0b3IuXG5cdFx0XHQud3Bmb3Jtcy1wYWdlLWluZGljYXRvciB7XG5cdFx0XHRcdCYuY2lyY2xlcyB7XG5cdFx0XHRcdFx0LndwZm9ybXMtcGFnZS1pbmRpY2F0b3ItcGFnZSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMTBweCAwIDA7XG5cblx0XHRcdFx0XHRcdCYtbnVtYmVyIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIE51bWJlciBTbGlkZXIgZmllbGQuXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1udW1iZXItc2xpZGVyIGlucHV0W3R5cGU9cmFuZ2VdIHtcblx0XHRcdFx0bWFyZ2luOiAyMHB4IDAgMTVweDtcblxuXHRcdFx0XHQmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQUE7Z0ZBQ2dGO0FBRWhGLEFBQUEsR0FBRyxBQUFBLHVCQUF1QjtBQUMxQixHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztFQUMxQyxVQUFVLEVBQUMsSUFBSTtFQUNmLE1BQU0sRUFBQyxNQUFNO0VBQ2IsYUFBYSxFQUFDLENBQUM7RUFDZixxQkFBcUIsRUFBQyxDQUFDO0VBQ3ZCLGtCQUFrQixFQUFDLENBQUM7RUFDcEIsS0FBSyxFQUFDLElBQUk7RUFDVixTQUFTLEVBQUMsSUFBSTtFQUNkLE1BQU0sRUFBQyxJQUFJO0VBQ1gsY0FBYyxFQUFDLE1BQU07RUFDckIsVUFBVSxFQUFDLElBQUk7RUFDZixPQUFPLEVBQUMsSUFBSTtFQUNaLFFBQVEsRUFBQyxNQUFNO0VBQ2YsZUFBZSxFQUFDLElBQUk7RUFDcEIsV0FBVyxFQUFDLENBQUM7RUFDYixXQUFXLEVBQUMsSUFBSTtFQUNoQixjQUFjLEVBQUMsSUFBSTtFQUNuQixLQUFLLEVBQUMsSUFBSTtFQUNWLFVBQVUsRUFBQyxPQUFPO0VBQ2xCLFFBQVEsRUFBQyxPQUFPO0VBQ2hCLE1BQU0sRUFBQyxDQUFDO0VBQ1IsT0FBTyxFQUFDLENBQUM7RUFDVCxVQUFVLEVBQUMsVUFBVTtFQUNyQixrQkFBa0IsRUFBQyxVQUFVO0VBQzdCLGVBQWUsRUFBQyxVQUFVO0VBQzFCLGtCQUFrQixFQUFDLElBQUk7RUFDdkIsZUFBZSxFQUFDLElBQUk7RUFDcEIsY0FBYyxFQUFDLElBQUk7RUFDbkIsYUFBYSxFQUFDLElBQUk7RUFDbEIsVUFBVSxFQUFDLElBQUk7Q0FDZjs7QUFFRCxBQUFBLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQztFQUMxQixXQUFXLEVBQUUs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 */