@tricoteuses/senat 2.22.3 → 2.22.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/lib/aggregates.d.ts +52 -0
  2. package/lib/aggregates.js +930 -0
  3. package/lib/aggregates.mjs +713 -0
  4. package/lib/aggregates.ts +833 -0
  5. package/lib/config.d.ts +10 -0
  6. package/lib/config.js +16 -0
  7. package/lib/config.mjs +16 -0
  8. package/lib/config.ts +26 -0
  9. package/lib/databases.d.ts +2 -0
  10. package/lib/databases.js +26 -0
  11. package/lib/databases.mjs +57 -0
  12. package/lib/databases.ts +71 -0
  13. package/lib/datasets.d.ts +34 -0
  14. package/lib/datasets.js +233 -0
  15. package/lib/datasets.mjs +78 -0
  16. package/lib/datasets.ts +118 -0
  17. package/lib/fields.d.ts +10 -0
  18. package/lib/fields.js +68 -0
  19. package/lib/fields.mjs +22 -0
  20. package/lib/fields.ts +29 -0
  21. package/lib/git.d.ts +26 -0
  22. package/lib/git.js +167 -0
  23. package/lib/index.d.ts +13 -0
  24. package/lib/index.js +1 -0
  25. package/lib/index.mjs +7 -0
  26. package/lib/index.ts +64 -0
  27. package/lib/inserters.d.ts +98 -0
  28. package/lib/inserters.js +500 -0
  29. package/lib/inserters.mjs +360 -0
  30. package/lib/inserters.ts +521 -0
  31. package/lib/legislatures.json +38 -0
  32. package/lib/loaders.d.ts +58 -0
  33. package/lib/loaders.js +286 -0
  34. package/lib/loaders.mjs +158 -0
  35. package/lib/loaders.ts +271 -0
  36. package/lib/model/agenda.d.ts +6 -0
  37. package/lib/model/agenda.js +148 -0
  38. package/lib/model/ameli.d.ts +51 -0
  39. package/lib/model/ameli.js +149 -0
  40. package/lib/model/ameli.mjs +84 -0
  41. package/lib/model/ameli.ts +100 -0
  42. package/lib/model/commission.d.ts +18 -0
  43. package/lib/model/commission.js +269 -0
  44. package/lib/model/debats.d.ts +67 -0
  45. package/lib/model/debats.js +95 -0
  46. package/lib/model/debats.mjs +43 -0
  47. package/lib/model/debats.ts +68 -0
  48. package/lib/model/documents.d.ts +12 -0
  49. package/lib/model/documents.js +151 -0
  50. package/lib/model/dosleg.d.ts +7 -0
  51. package/lib/model/dosleg.js +326 -0
  52. package/lib/model/dosleg.mjs +196 -0
  53. package/lib/model/dosleg.ts +240 -0
  54. package/lib/model/index.d.ts +7 -0
  55. package/lib/model/index.js +7 -0
  56. package/lib/model/index.mjs +5 -0
  57. package/lib/model/index.ts +15 -0
  58. package/lib/model/questions.d.ts +45 -0
  59. package/lib/model/questions.js +89 -0
  60. package/lib/model/questions.mjs +71 -0
  61. package/lib/model/questions.ts +93 -0
  62. package/lib/model/scrutins.d.ts +13 -0
  63. package/lib/model/scrutins.js +114 -0
  64. package/lib/model/seance.d.ts +3 -0
  65. package/lib/model/seance.js +267 -0
  66. package/lib/model/sens.d.ts +146 -0
  67. package/lib/model/sens.js +454 -0
  68. package/lib/model/sens.mjs +415 -0
  69. package/lib/model/sens.ts +516 -0
  70. package/lib/model/texte.d.ts +7 -0
  71. package/lib/model/texte.js +256 -0
  72. package/lib/model/texte.mjs +208 -0
  73. package/lib/model/texte.ts +229 -0
  74. package/lib/model/util.d.ts +9 -0
  75. package/lib/model/util.js +38 -0
  76. package/lib/model/util.mjs +19 -0
  77. package/lib/model/util.ts +32 -0
  78. package/lib/parsers/texte.d.ts +7 -0
  79. package/lib/parsers/texte.js +228 -0
  80. package/lib/raw_types/ameli.d.ts +914 -0
  81. package/lib/raw_types/ameli.js +5 -0
  82. package/lib/raw_types/ameli.mjs +163 -0
  83. package/lib/raw_types/debats.d.ts +207 -0
  84. package/lib/raw_types/debats.js +5 -0
  85. package/lib/raw_types/debats.mjs +58 -0
  86. package/lib/raw_types/dosleg.d.ts +1619 -0
  87. package/lib/raw_types/dosleg.js +5 -0
  88. package/lib/raw_types/dosleg.mjs +438 -0
  89. package/lib/raw_types/questions.d.ts +419 -0
  90. package/lib/raw_types/questions.js +5 -0
  91. package/lib/raw_types/questions.mjs +11 -0
  92. package/lib/raw_types/senat.d.ts +11368 -0
  93. package/lib/raw_types/senat.js +5 -0
  94. package/lib/raw_types/sens.d.ts +8248 -0
  95. package/lib/raw_types/sens.js +5 -0
  96. package/lib/raw_types/sens.mjs +508 -0
  97. package/lib/raw_types_kysely/ameli.d.ts +915 -0
  98. package/lib/raw_types_kysely/ameli.js +7 -0
  99. package/lib/raw_types_kysely/ameli.mjs +5 -0
  100. package/lib/raw_types_kysely/ameli.ts +951 -0
  101. package/lib/raw_types_kysely/debats.d.ts +207 -0
  102. package/lib/raw_types_kysely/debats.js +7 -0
  103. package/lib/raw_types_kysely/debats.mjs +5 -0
  104. package/lib/raw_types_kysely/debats.ts +222 -0
  105. package/lib/raw_types_kysely/dosleg.d.ts +3532 -0
  106. package/lib/raw_types_kysely/dosleg.js +7 -0
  107. package/lib/raw_types_kysely/dosleg.mjs +5 -0
  108. package/lib/raw_types_kysely/dosleg.ts +3621 -0
  109. package/lib/raw_types_kysely/questions.d.ts +414 -0
  110. package/lib/raw_types_kysely/questions.js +7 -0
  111. package/lib/raw_types_kysely/questions.mjs +5 -0
  112. package/lib/raw_types_kysely/questions.ts +426 -0
  113. package/lib/raw_types_kysely/sens.d.ts +4394 -0
  114. package/lib/raw_types_kysely/sens.js +7 -0
  115. package/lib/raw_types_kysely/sens.mjs +5 -0
  116. package/lib/raw_types_kysely/sens.ts +4499 -0
  117. package/lib/raw_types_schemats/ameli.d.ts +539 -0
  118. package/lib/raw_types_schemats/ameli.js +2 -0
  119. package/lib/raw_types_schemats/ameli.mjs +2 -0
  120. package/lib/raw_types_schemats/ameli.ts +601 -0
  121. package/lib/raw_types_schemats/debats.d.ts +127 -0
  122. package/lib/raw_types_schemats/debats.js +2 -0
  123. package/lib/raw_types_schemats/debats.mjs +2 -0
  124. package/lib/raw_types_schemats/debats.ts +145 -0
  125. package/lib/raw_types_schemats/dosleg.d.ts +977 -0
  126. package/lib/raw_types_schemats/dosleg.js +2 -0
  127. package/lib/raw_types_schemats/dosleg.mjs +2 -0
  128. package/lib/raw_types_schemats/dosleg.ts +2193 -0
  129. package/lib/raw_types_schemats/questions.d.ts +235 -0
  130. package/lib/raw_types_schemats/questions.js +2 -0
  131. package/lib/raw_types_schemats/questions.mjs +2 -0
  132. package/lib/raw_types_schemats/questions.ts +249 -0
  133. package/lib/raw_types_schemats/sens.d.ts +6915 -0
  134. package/lib/raw_types_schemats/sens.js +2 -0
  135. package/lib/raw_types_schemats/sens.mjs +2 -0
  136. package/lib/raw_types_schemats/sens.ts +2907 -0
  137. package/lib/scripts/convert_data.d.ts +1 -0
  138. package/lib/scripts/convert_data.js +354 -0
  139. package/lib/scripts/convert_data.mjs +181 -0
  140. package/lib/scripts/convert_data.ts +243 -0
  141. package/lib/scripts/data-download.d.ts +1 -0
  142. package/lib/scripts/data-download.js +12 -0
  143. package/lib/scripts/datautil.d.ts +8 -0
  144. package/lib/scripts/datautil.js +34 -0
  145. package/lib/scripts/datautil.mjs +16 -0
  146. package/lib/scripts/datautil.ts +19 -0
  147. package/lib/scripts/images/transparent_150x192.jpg +0 -0
  148. package/lib/scripts/images/transparent_155x225.jpg +0 -0
  149. package/lib/scripts/parse_textes.d.ts +1 -0
  150. package/lib/scripts/parse_textes.js +44 -0
  151. package/lib/scripts/parse_textes.mjs +46 -0
  152. package/lib/scripts/parse_textes.ts +65 -0
  153. package/lib/scripts/retrieve_agenda.d.ts +1 -0
  154. package/lib/scripts/retrieve_agenda.js +132 -0
  155. package/lib/scripts/retrieve_cr_commission.d.ts +1 -0
  156. package/lib/scripts/retrieve_cr_commission.js +364 -0
  157. package/lib/scripts/retrieve_cr_seance.d.ts +6 -0
  158. package/lib/scripts/retrieve_cr_seance.js +347 -0
  159. package/lib/scripts/retrieve_documents.d.ts +3 -0
  160. package/lib/scripts/retrieve_documents.js +219 -0
  161. package/lib/scripts/retrieve_documents.mjs +249 -0
  162. package/lib/scripts/retrieve_documents.ts +298 -0
  163. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  164. package/lib/scripts/retrieve_open_data.js +315 -0
  165. package/lib/scripts/retrieve_open_data.mjs +217 -0
  166. package/lib/scripts/retrieve_open_data.ts +268 -0
  167. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  168. package/lib/scripts/retrieve_senateurs_photos.js +147 -0
  169. package/lib/scripts/retrieve_senateurs_photos.mjs +147 -0
  170. package/lib/scripts/retrieve_senateurs_photos.ts +177 -0
  171. package/lib/scripts/retrieve_videos.d.ts +1 -0
  172. package/lib/scripts/retrieve_videos.js +461 -0
  173. package/lib/scripts/shared/cli_helpers.d.ts +95 -0
  174. package/lib/scripts/shared/cli_helpers.js +91 -0
  175. package/lib/scripts/shared/cli_helpers.ts +36 -0
  176. package/lib/scripts/shared/util.d.ts +4 -0
  177. package/lib/scripts/shared/util.js +35 -0
  178. package/lib/scripts/shared/util.ts +33 -0
  179. package/lib/scripts/test_iter_load.d.ts +1 -0
  180. package/lib/scripts/test_iter_load.js +12 -0
  181. package/lib/src/conversion_textes.js +10 -1
  182. package/lib/src/index.d.ts +1 -1
  183. package/lib/src/index.js +1 -1
  184. package/lib/src/loaders.d.ts +1 -0
  185. package/lib/src/loaders.js +1 -0
  186. package/lib/src/model/ameli.js +1 -0
  187. package/lib/src/parsers/texte.js +2 -2
  188. package/lib/src/scripts/convert_data.js +11 -10
  189. package/lib/src/scripts/retrieve_documents.d.ts +1 -1
  190. package/lib/src/scripts/retrieve_documents.js +25 -10
  191. package/lib/src/scripts/retrieve_open_data.js +1 -1
  192. package/lib/src/types/sessions.d.ts +5 -4
  193. package/lib/src/types/sessions.js +10 -75
  194. package/lib/src/types/texte.d.ts +2 -0
  195. package/lib/strings.d.ts +1 -0
  196. package/lib/strings.js +18 -0
  197. package/lib/strings.mjs +18 -0
  198. package/lib/strings.ts +26 -0
  199. package/lib/types/agenda.d.ts +44 -0
  200. package/lib/types/agenda.js +1 -0
  201. package/lib/types/ameli.d.ts +5 -0
  202. package/lib/types/ameli.js +1 -0
  203. package/lib/types/ameli.mjs +13 -0
  204. package/lib/types/ameli.ts +21 -0
  205. package/lib/types/compte_rendu.d.ts +83 -0
  206. package/lib/types/compte_rendu.js +1 -0
  207. package/lib/types/debats.d.ts +2 -0
  208. package/lib/types/debats.js +1 -0
  209. package/lib/types/debats.mjs +2 -0
  210. package/lib/types/debats.ts +6 -0
  211. package/lib/types/dosleg.d.ts +70 -0
  212. package/lib/types/dosleg.js +1 -0
  213. package/lib/types/dosleg.mjs +151 -0
  214. package/lib/types/dosleg.ts +284 -0
  215. package/lib/types/questions.d.ts +2 -0
  216. package/lib/types/questions.js +1 -0
  217. package/lib/types/questions.mjs +1 -0
  218. package/lib/types/questions.ts +3 -0
  219. package/lib/types/sens.d.ts +10 -0
  220. package/lib/types/sens.js +1 -0
  221. package/lib/types/sens.mjs +1 -0
  222. package/lib/types/sens.ts +12 -0
  223. package/lib/types/sessions.d.ts +5 -0
  224. package/lib/types/sessions.js +84 -0
  225. package/lib/types/sessions.mjs +43 -0
  226. package/lib/types/sessions.ts +42 -0
  227. package/lib/types/texte.d.ts +74 -0
  228. package/lib/types/texte.js +16 -0
  229. package/lib/types/texte.mjs +16 -0
  230. package/lib/types/texte.ts +76 -0
  231. package/lib/typings/windows-1252.d.js +2 -0
  232. package/lib/typings/windows-1252.d.mjs +2 -0
  233. package/lib/typings/windows-1252.d.ts +11 -0
  234. package/lib/utils/cr_spliting.d.ts +28 -0
  235. package/lib/utils/cr_spliting.js +265 -0
  236. package/lib/utils/date.d.ts +10 -0
  237. package/lib/utils/date.js +100 -0
  238. package/lib/utils/nvs-timecode.d.ts +7 -0
  239. package/lib/utils/nvs-timecode.js +79 -0
  240. package/lib/utils/reunion_grouping.d.ts +9 -0
  241. package/lib/utils/reunion_grouping.js +361 -0
  242. package/lib/utils/reunion_odj_building.d.ts +5 -0
  243. package/lib/utils/reunion_odj_building.js +154 -0
  244. package/lib/utils/reunion_parsing.d.ts +23 -0
  245. package/lib/utils/reunion_parsing.js +209 -0
  246. package/lib/utils/scoring.d.ts +14 -0
  247. package/lib/utils/scoring.js +147 -0
  248. package/lib/utils/string_cleaning.d.ts +7 -0
  249. package/lib/utils/string_cleaning.js +57 -0
  250. package/lib/validators/config.d.ts +9 -0
  251. package/lib/validators/config.js +10 -0
  252. package/lib/validators/config.mjs +54 -0
  253. package/lib/validators/config.ts +79 -0
  254. package/lib/validators/senat.d.ts +0 -0
  255. package/lib/validators/senat.js +28 -0
  256. package/lib/validators/senat.mjs +24 -0
  257. package/lib/validators/senat.ts +26 -0
  258. package/package.json +5 -5
@@ -0,0 +1,438 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.votsenFields = exports.typurlFields = exports.typtxtFields = exports.typrapFields = exports.typorg_senFields = exports.typorgFields = exports.typloiFields = exports.typlecFields = exports.typevtseaFields = exports.typdocFields = exports.typautFields = exports.typattFields = exports.typapppolFields = exports.tricot_loi_text_searchFields = exports.tricot_loi_autocompleteFields = exports.tricot_loiFields = exports.titsenFields = exports.theFields = exports.texte_ancienFields = exports.texteFields = exports.stavotFields = exports.sesFields = exports.sennomFields = exports.senburFields = exports.senFields = exports.scrFields = exports.rolsigFields = exports.raptheFields = exports.raporgFields = exports.rapFields = exports.qua_senFields = exports.quaFields = exports.posvotFields = exports.oritxtFields = exports.oripprFields = exports.orgnomhisFields = exports.orgFields = exports.natloiFields = exports.memgrppolFields = exports.memdelegaFields = exports.memcomFields = exports.loitheFields = exports.loiFields = exports.lnkrapFields = exports.libgrppolFields = exports.libdelegaFields = exports.libcomFields = exports.lectureFields = exports.lecassrapFields = exports.lecassFields = exports.grppolFields = exports.genFields = exports.forpubFields = exports.fonmemgrppolFields = exports.fonmemdelegaFields = exports.fonmemcomFields = exports.fongrppolFields = exports.fondelegaFields = exports.foncomFields = exports.evtseaFields = exports.etasenFields = exports.etaloiFields = exports.etafinmanFields = exports.etadebmanFields = exports.elusenFields = exports.ecrFields = exports.dpteleFields = exports.dptFields = exports.docseaFields = exports.docattFields = exports.docFields = exports.designorgFields = exports.denrapFields = exports.delegaFields = exports.deccocFields = exports.date_seanceFields = exports.corscrFields = exports.comFields = exports.catrapFields = exports.burFields = exports.bleFields = exports.auteurFields = exports.audFields = exports.assFields = void 0;
9
+
10
+ /* tslint:disable */
11
+
12
+ /**
13
+ * AUTO-GENERATED FILE - DO NOT EDIT!
14
+ *
15
+ * This file was automatically generated by schemats v.3.0.3
16
+ * $ schemats generate -c postgresql://username:password@localhost:5432/dosleg -t ass -t aud -t auteur -t ble -t bur -t catrap -t com -t corscr -t date_seance -t deccoc -t delega -t denrap -t designorg -t doc -t docatt -t docsea -t dpt -t dptele -t ecr -t elusen -t etadebman -t etafinman -t etaloi -t etasen -t evtsea -t foncom -t fondelega -t fongrppol -t fonmemcom -t fonmemdelega -t fonmemgrppol -t forpub -t gen -t grppol -t lecass -t lecassrap -t lecture -t libcom -t libdelega -t libgrppol -t lnkrap -t loi -t loithe -t memcom -t memdelega -t memgrppol -t natloi -t org -t orgnomhis -t orippr -t oritxt -t posvot -t qua -t qua_sen -t rap -t raporg -t rapthe -t rolsig -t scr -t sen -t senbur -t sennom -t ses -t stavot -t texte -t texte_ancien -t the -t titsen -t tricot_loi -t tricot_loi_autocomplete -t tricot_loi_text_search -t typapppol -t typatt -t typaut -t typdoc -t typevtsea -t typlec -t typloi -t typorg -t typorg_sen -t typrap -t typtxt -t typurl -t votsen -s public
17
+ *
18
+ */
19
+ var assFields;
20
+ exports.assFields = assFields;
21
+
22
+ (function (_assFields) {})(assFields || (exports.assFields = assFields = {}));
23
+
24
+ var audFields;
25
+ exports.audFields = audFields;
26
+
27
+ (function (_audFields) {})(audFields || (exports.audFields = audFields = {}));
28
+
29
+ var auteurFields;
30
+ exports.auteurFields = auteurFields;
31
+
32
+ (function (_auteurFields) {})(auteurFields || (exports.auteurFields = auteurFields = {}));
33
+
34
+ var bleFields;
35
+ exports.bleFields = bleFields;
36
+
37
+ (function (_bleFields) {})(bleFields || (exports.bleFields = bleFields = {}));
38
+
39
+ var burFields;
40
+ exports.burFields = burFields;
41
+
42
+ (function (_burFields) {})(burFields || (exports.burFields = burFields = {}));
43
+
44
+ var catrapFields;
45
+ exports.catrapFields = catrapFields;
46
+
47
+ (function (_catrapFields) {})(catrapFields || (exports.catrapFields = catrapFields = {}));
48
+
49
+ var comFields;
50
+ exports.comFields = comFields;
51
+
52
+ (function (_comFields) {})(comFields || (exports.comFields = comFields = {}));
53
+
54
+ var corscrFields;
55
+ exports.corscrFields = corscrFields;
56
+
57
+ (function (_corscrFields) {})(corscrFields || (exports.corscrFields = corscrFields = {}));
58
+
59
+ var date_seanceFields;
60
+ exports.date_seanceFields = date_seanceFields;
61
+
62
+ (function (_date_seanceFields) {})(date_seanceFields || (exports.date_seanceFields = date_seanceFields = {}));
63
+
64
+ var deccocFields;
65
+ exports.deccocFields = deccocFields;
66
+
67
+ (function (_deccocFields) {})(deccocFields || (exports.deccocFields = deccocFields = {}));
68
+
69
+ var delegaFields;
70
+ exports.delegaFields = delegaFields;
71
+
72
+ (function (_delegaFields) {})(delegaFields || (exports.delegaFields = delegaFields = {}));
73
+
74
+ var denrapFields;
75
+ exports.denrapFields = denrapFields;
76
+
77
+ (function (_denrapFields) {})(denrapFields || (exports.denrapFields = denrapFields = {}));
78
+
79
+ var designorgFields;
80
+ exports.designorgFields = designorgFields;
81
+
82
+ (function (_designorgFields) {})(designorgFields || (exports.designorgFields = designorgFields = {}));
83
+
84
+ var docFields;
85
+ exports.docFields = docFields;
86
+
87
+ (function (_docFields) {})(docFields || (exports.docFields = docFields = {}));
88
+
89
+ var docattFields;
90
+ exports.docattFields = docattFields;
91
+
92
+ (function (_docattFields) {})(docattFields || (exports.docattFields = docattFields = {}));
93
+
94
+ var docseaFields;
95
+ exports.docseaFields = docseaFields;
96
+
97
+ (function (_docseaFields) {})(docseaFields || (exports.docseaFields = docseaFields = {}));
98
+
99
+ var dptFields;
100
+ exports.dptFields = dptFields;
101
+
102
+ (function (_dptFields) {})(dptFields || (exports.dptFields = dptFields = {}));
103
+
104
+ var dpteleFields;
105
+ exports.dpteleFields = dpteleFields;
106
+
107
+ (function (_dpteleFields) {})(dpteleFields || (exports.dpteleFields = dpteleFields = {}));
108
+
109
+ var ecrFields;
110
+ exports.ecrFields = ecrFields;
111
+
112
+ (function (_ecrFields) {})(ecrFields || (exports.ecrFields = ecrFields = {}));
113
+
114
+ var elusenFields;
115
+ exports.elusenFields = elusenFields;
116
+
117
+ (function (_elusenFields) {})(elusenFields || (exports.elusenFields = elusenFields = {}));
118
+
119
+ var etadebmanFields;
120
+ exports.etadebmanFields = etadebmanFields;
121
+
122
+ (function (_etadebmanFields) {})(etadebmanFields || (exports.etadebmanFields = etadebmanFields = {}));
123
+
124
+ var etafinmanFields;
125
+ exports.etafinmanFields = etafinmanFields;
126
+
127
+ (function (_etafinmanFields) {})(etafinmanFields || (exports.etafinmanFields = etafinmanFields = {}));
128
+
129
+ var etaloiFields;
130
+ exports.etaloiFields = etaloiFields;
131
+
132
+ (function (_etaloiFields) {})(etaloiFields || (exports.etaloiFields = etaloiFields = {}));
133
+
134
+ var etasenFields;
135
+ exports.etasenFields = etasenFields;
136
+
137
+ (function (_etasenFields) {})(etasenFields || (exports.etasenFields = etasenFields = {}));
138
+
139
+ var evtseaFields;
140
+ exports.evtseaFields = evtseaFields;
141
+
142
+ (function (_evtseaFields) {})(evtseaFields || (exports.evtseaFields = evtseaFields = {}));
143
+
144
+ var foncomFields;
145
+ exports.foncomFields = foncomFields;
146
+
147
+ (function (_foncomFields) {})(foncomFields || (exports.foncomFields = foncomFields = {}));
148
+
149
+ var fondelegaFields;
150
+ exports.fondelegaFields = fondelegaFields;
151
+
152
+ (function (_fondelegaFields) {})(fondelegaFields || (exports.fondelegaFields = fondelegaFields = {}));
153
+
154
+ var fongrppolFields;
155
+ exports.fongrppolFields = fongrppolFields;
156
+
157
+ (function (_fongrppolFields) {})(fongrppolFields || (exports.fongrppolFields = fongrppolFields = {}));
158
+
159
+ var fonmemcomFields;
160
+ exports.fonmemcomFields = fonmemcomFields;
161
+
162
+ (function (_fonmemcomFields) {})(fonmemcomFields || (exports.fonmemcomFields = fonmemcomFields = {}));
163
+
164
+ var fonmemdelegaFields;
165
+ exports.fonmemdelegaFields = fonmemdelegaFields;
166
+
167
+ (function (_fonmemdelegaFields) {})(fonmemdelegaFields || (exports.fonmemdelegaFields = fonmemdelegaFields = {}));
168
+
169
+ var fonmemgrppolFields;
170
+ exports.fonmemgrppolFields = fonmemgrppolFields;
171
+
172
+ (function (_fonmemgrppolFields) {})(fonmemgrppolFields || (exports.fonmemgrppolFields = fonmemgrppolFields = {}));
173
+
174
+ var forpubFields;
175
+ exports.forpubFields = forpubFields;
176
+
177
+ (function (_forpubFields) {})(forpubFields || (exports.forpubFields = forpubFields = {}));
178
+
179
+ var genFields;
180
+ exports.genFields = genFields;
181
+
182
+ (function (_genFields) {})(genFields || (exports.genFields = genFields = {}));
183
+
184
+ var grppolFields;
185
+ exports.grppolFields = grppolFields;
186
+
187
+ (function (_grppolFields) {})(grppolFields || (exports.grppolFields = grppolFields = {}));
188
+
189
+ var lecassFields;
190
+ exports.lecassFields = lecassFields;
191
+
192
+ (function (_lecassFields) {})(lecassFields || (exports.lecassFields = lecassFields = {}));
193
+
194
+ var lecassrapFields;
195
+ exports.lecassrapFields = lecassrapFields;
196
+
197
+ (function (_lecassrapFields) {})(lecassrapFields || (exports.lecassrapFields = lecassrapFields = {}));
198
+
199
+ var lectureFields;
200
+ exports.lectureFields = lectureFields;
201
+
202
+ (function (_lectureFields) {})(lectureFields || (exports.lectureFields = lectureFields = {}));
203
+
204
+ var libcomFields;
205
+ exports.libcomFields = libcomFields;
206
+
207
+ (function (_libcomFields) {})(libcomFields || (exports.libcomFields = libcomFields = {}));
208
+
209
+ var libdelegaFields;
210
+ exports.libdelegaFields = libdelegaFields;
211
+
212
+ (function (_libdelegaFields) {})(libdelegaFields || (exports.libdelegaFields = libdelegaFields = {}));
213
+
214
+ var libgrppolFields;
215
+ exports.libgrppolFields = libgrppolFields;
216
+
217
+ (function (_libgrppolFields) {})(libgrppolFields || (exports.libgrppolFields = libgrppolFields = {}));
218
+
219
+ var lnkrapFields;
220
+ exports.lnkrapFields = lnkrapFields;
221
+
222
+ (function (_lnkrapFields) {})(lnkrapFields || (exports.lnkrapFields = lnkrapFields = {}));
223
+
224
+ var loiFields;
225
+ exports.loiFields = loiFields;
226
+
227
+ (function (_loiFields) {})(loiFields || (exports.loiFields = loiFields = {}));
228
+
229
+ var loitheFields;
230
+ exports.loitheFields = loitheFields;
231
+
232
+ (function (_loitheFields) {})(loitheFields || (exports.loitheFields = loitheFields = {}));
233
+
234
+ var memcomFields;
235
+ exports.memcomFields = memcomFields;
236
+
237
+ (function (_memcomFields) {})(memcomFields || (exports.memcomFields = memcomFields = {}));
238
+
239
+ var memdelegaFields;
240
+ exports.memdelegaFields = memdelegaFields;
241
+
242
+ (function (_memdelegaFields) {})(memdelegaFields || (exports.memdelegaFields = memdelegaFields = {}));
243
+
244
+ var memgrppolFields;
245
+ exports.memgrppolFields = memgrppolFields;
246
+
247
+ (function (_memgrppolFields) {})(memgrppolFields || (exports.memgrppolFields = memgrppolFields = {}));
248
+
249
+ var natloiFields;
250
+ exports.natloiFields = natloiFields;
251
+
252
+ (function (_natloiFields) {})(natloiFields || (exports.natloiFields = natloiFields = {}));
253
+
254
+ var orgFields;
255
+ exports.orgFields = orgFields;
256
+
257
+ (function (_orgFields) {})(orgFields || (exports.orgFields = orgFields = {}));
258
+
259
+ var orgnomhisFields;
260
+ exports.orgnomhisFields = orgnomhisFields;
261
+
262
+ (function (_orgnomhisFields) {})(orgnomhisFields || (exports.orgnomhisFields = orgnomhisFields = {}));
263
+
264
+ var oripprFields;
265
+ exports.oripprFields = oripprFields;
266
+
267
+ (function (_oripprFields) {})(oripprFields || (exports.oripprFields = oripprFields = {}));
268
+
269
+ var oritxtFields;
270
+ exports.oritxtFields = oritxtFields;
271
+
272
+ (function (_oritxtFields) {})(oritxtFields || (exports.oritxtFields = oritxtFields = {}));
273
+
274
+ var posvotFields;
275
+ exports.posvotFields = posvotFields;
276
+
277
+ (function (_posvotFields) {})(posvotFields || (exports.posvotFields = posvotFields = {}));
278
+
279
+ var quaFields;
280
+ exports.quaFields = quaFields;
281
+
282
+ (function (_quaFields) {})(quaFields || (exports.quaFields = quaFields = {}));
283
+
284
+ var qua_senFields;
285
+ exports.qua_senFields = qua_senFields;
286
+
287
+ (function (_qua_senFields) {})(qua_senFields || (exports.qua_senFields = qua_senFields = {}));
288
+
289
+ var rapFields;
290
+ exports.rapFields = rapFields;
291
+
292
+ (function (_rapFields) {})(rapFields || (exports.rapFields = rapFields = {}));
293
+
294
+ var raporgFields;
295
+ exports.raporgFields = raporgFields;
296
+
297
+ (function (_raporgFields) {})(raporgFields || (exports.raporgFields = raporgFields = {}));
298
+
299
+ var raptheFields;
300
+ exports.raptheFields = raptheFields;
301
+
302
+ (function (_raptheFields) {})(raptheFields || (exports.raptheFields = raptheFields = {}));
303
+
304
+ var rolsigFields;
305
+ exports.rolsigFields = rolsigFields;
306
+
307
+ (function (_rolsigFields) {})(rolsigFields || (exports.rolsigFields = rolsigFields = {}));
308
+
309
+ var scrFields;
310
+ exports.scrFields = scrFields;
311
+
312
+ (function (_scrFields) {})(scrFields || (exports.scrFields = scrFields = {}));
313
+
314
+ var senFields;
315
+ exports.senFields = senFields;
316
+
317
+ (function (_senFields) {})(senFields || (exports.senFields = senFields = {}));
318
+
319
+ var senburFields;
320
+ exports.senburFields = senburFields;
321
+
322
+ (function (_senburFields) {})(senburFields || (exports.senburFields = senburFields = {}));
323
+
324
+ var sennomFields;
325
+ exports.sennomFields = sennomFields;
326
+
327
+ (function (_sennomFields) {})(sennomFields || (exports.sennomFields = sennomFields = {}));
328
+
329
+ var sesFields;
330
+ exports.sesFields = sesFields;
331
+
332
+ (function (_sesFields) {})(sesFields || (exports.sesFields = sesFields = {}));
333
+
334
+ var stavotFields;
335
+ exports.stavotFields = stavotFields;
336
+
337
+ (function (_stavotFields) {})(stavotFields || (exports.stavotFields = stavotFields = {}));
338
+
339
+ var texteFields;
340
+ exports.texteFields = texteFields;
341
+
342
+ (function (_texteFields) {})(texteFields || (exports.texteFields = texteFields = {}));
343
+
344
+ var texte_ancienFields;
345
+ exports.texte_ancienFields = texte_ancienFields;
346
+
347
+ (function (_texte_ancienFields) {})(texte_ancienFields || (exports.texte_ancienFields = texte_ancienFields = {}));
348
+
349
+ var theFields;
350
+ exports.theFields = theFields;
351
+
352
+ (function (_theFields) {})(theFields || (exports.theFields = theFields = {}));
353
+
354
+ var titsenFields;
355
+ exports.titsenFields = titsenFields;
356
+
357
+ (function (_titsenFields) {})(titsenFields || (exports.titsenFields = titsenFields = {}));
358
+
359
+ var tricot_loiFields;
360
+ exports.tricot_loiFields = tricot_loiFields;
361
+
362
+ (function (_tricot_loiFields) {})(tricot_loiFields || (exports.tricot_loiFields = tricot_loiFields = {}));
363
+
364
+ var tricot_loi_autocompleteFields;
365
+ exports.tricot_loi_autocompleteFields = tricot_loi_autocompleteFields;
366
+
367
+ (function (_tricot_loi_autocompleteFields) {})(tricot_loi_autocompleteFields || (exports.tricot_loi_autocompleteFields = tricot_loi_autocompleteFields = {}));
368
+
369
+ var tricot_loi_text_searchFields;
370
+ exports.tricot_loi_text_searchFields = tricot_loi_text_searchFields;
371
+
372
+ (function (_tricot_loi_text_searchFields) {})(tricot_loi_text_searchFields || (exports.tricot_loi_text_searchFields = tricot_loi_text_searchFields = {}));
373
+
374
+ var typapppolFields;
375
+ exports.typapppolFields = typapppolFields;
376
+
377
+ (function (_typapppolFields) {})(typapppolFields || (exports.typapppolFields = typapppolFields = {}));
378
+
379
+ var typattFields;
380
+ exports.typattFields = typattFields;
381
+
382
+ (function (_typattFields) {})(typattFields || (exports.typattFields = typattFields = {}));
383
+
384
+ var typautFields;
385
+ exports.typautFields = typautFields;
386
+
387
+ (function (_typautFields) {})(typautFields || (exports.typautFields = typautFields = {}));
388
+
389
+ var typdocFields;
390
+ exports.typdocFields = typdocFields;
391
+
392
+ (function (_typdocFields) {})(typdocFields || (exports.typdocFields = typdocFields = {}));
393
+
394
+ var typevtseaFields;
395
+ exports.typevtseaFields = typevtseaFields;
396
+
397
+ (function (_typevtseaFields) {})(typevtseaFields || (exports.typevtseaFields = typevtseaFields = {}));
398
+
399
+ var typlecFields;
400
+ exports.typlecFields = typlecFields;
401
+
402
+ (function (_typlecFields) {})(typlecFields || (exports.typlecFields = typlecFields = {}));
403
+
404
+ var typloiFields;
405
+ exports.typloiFields = typloiFields;
406
+
407
+ (function (_typloiFields) {})(typloiFields || (exports.typloiFields = typloiFields = {}));
408
+
409
+ var typorgFields;
410
+ exports.typorgFields = typorgFields;
411
+
412
+ (function (_typorgFields) {})(typorgFields || (exports.typorgFields = typorgFields = {}));
413
+
414
+ var typorg_senFields;
415
+ exports.typorg_senFields = typorg_senFields;
416
+
417
+ (function (_typorg_senFields) {})(typorg_senFields || (exports.typorg_senFields = typorg_senFields = {}));
418
+
419
+ var typrapFields;
420
+ exports.typrapFields = typrapFields;
421
+
422
+ (function (_typrapFields) {})(typrapFields || (exports.typrapFields = typrapFields = {}));
423
+
424
+ var typtxtFields;
425
+ exports.typtxtFields = typtxtFields;
426
+
427
+ (function (_typtxtFields) {})(typtxtFields || (exports.typtxtFields = typtxtFields = {}));
428
+
429
+ var typurlFields;
430
+ exports.typurlFields = typurlFields;
431
+
432
+ (function (_typurlFields) {})(typurlFields || (exports.typurlFields = typurlFields = {}));
433
+
434
+ var votsenFields;
435
+ exports.votsenFields = votsenFields;
436
+
437
+ (function (_votsenFields) {})(votsenFields || (exports.votsenFields = votsenFields = {}));
438
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NGaWVsZHMiLCJhdWRGaWVsZHMiLCJhdXRldXJGaWVsZHMiLCJibGVGaWVsZHMiLCJidXJGaWVsZHMiLCJjYXRyYXBGaWVsZHMiLCJjb21GaWVsZHMiLCJjb3JzY3JGaWVsZHMiLCJkYXRlX3NlYW5jZUZpZWxkcyIsImRlY2NvY0ZpZWxkcyIsImRlbGVnYUZpZWxkcyIsImRlbnJhcEZpZWxkcyIsImRlc2lnbm9yZ0ZpZWxkcyIsImRvY0ZpZWxkcyIsImRvY2F0dEZpZWxkcyIsImRvY3NlYUZpZWxkcyIsImRwdEZpZWxkcyIsImRwdGVsZUZpZWxkcyIsImVjckZpZWxkcyIsImVsdXNlbkZpZWxkcyIsImV0YWRlYm1hbkZpZWxkcyIsImV0YWZpbm1hbkZpZWxkcyIsImV0YWxvaUZpZWxkcyIsImV0YXNlbkZpZWxkcyIsImV2dHNlYUZpZWxkcyIsImZvbmNvbUZpZWxkcyIsImZvbmRlbGVnYUZpZWxkcyIsImZvbmdycHBvbEZpZWxkcyIsImZvbm1lbWNvbUZpZWxkcyIsImZvbm1lbWRlbGVnYUZpZWxkcyIsImZvbm1lbWdycHBvbEZpZWxkcyIsImZvcnB1YkZpZWxkcyIsImdlbkZpZWxkcyIsImdycHBvbEZpZWxkcyIsImxlY2Fzc0ZpZWxkcyIsImxlY2Fzc3JhcEZpZWxkcyIsImxlY3R1cmVGaWVsZHMiLCJsaWJjb21GaWVsZHMiLCJsaWJkZWxlZ2FGaWVsZHMiLCJsaWJncnBwb2xGaWVsZHMiLCJsbmtyYXBGaWVsZHMiLCJsb2lGaWVsZHMiLCJsb2l0aGVGaWVsZHMiLCJtZW1jb21GaWVsZHMiLCJtZW1kZWxlZ2FGaWVsZHMiLCJtZW1ncnBwb2xGaWVsZHMiLCJuYXRsb2lGaWVsZHMiLCJvcmdGaWVsZHMiLCJvcmdub21oaXNGaWVsZHMiLCJvcmlwcHJGaWVsZHMiLCJvcml0eHRGaWVsZHMiLCJwb3N2b3RGaWVsZHMiLCJxdWFGaWVsZHMiLCJxdWFfc2VuRmllbGRzIiwicmFwRmllbGRzIiwicmFwb3JnRmllbGRzIiwicmFwdGhlRmllbGRzIiwicm9sc2lnRmllbGRzIiwic2NyRmllbGRzIiwic2VuRmllbGRzIiwic2VuYnVyRmllbGRzIiwic2Vubm9tRmllbGRzIiwic2VzRmllbGRzIiwic3Rhdm90RmllbGRzIiwidGV4dGVGaWVsZHMiLCJ0ZXh0ZV9hbmNpZW5GaWVsZHMiLCJ0aGVGaWVsZHMiLCJ0aXRzZW5GaWVsZHMiLCJ0cmljb3RfbG9pRmllbGRzIiwidHJpY290X2xvaV9hdXRvY29tcGxldGVGaWVsZHMiLCJ0cmljb3RfbG9pX3RleHRfc2VhcmNoRmllbGRzIiwidHlwYXBwcG9sRmllbGRzIiwidHlwYXR0RmllbGRzIiwidHlwYXV0RmllbGRzIiwidHlwZG9jRmllbGRzIiwidHlwZXZ0c2VhRmllbGRzIiwidHlwbGVjRmllbGRzIiwidHlwbG9pRmllbGRzIiwidHlwb3JnRmllbGRzIiwidHlwb3JnX3NlbkZpZWxkcyIsInR5cHJhcEZpZWxkcyIsInR5cHR4dEZpZWxkcyIsInR5cHVybEZpZWxkcyIsInZvdHNlbkZpZWxkcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvZG9zbGVnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG5cblxuLyoqXG4gKiBBVVRPLUdFTkVSQVRFRCBGSUxFIC0gRE8gTk9UIEVESVQhXG4gKlxuICogVGhpcyBmaWxlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBzY2hlbWF0cyB2LjMuMC4zXG4gKiAkIHNjaGVtYXRzIGdlbmVyYXRlIC1jIHBvc3RncmVzcWw6Ly91c2VybmFtZTpwYXNzd29yZEBsb2NhbGhvc3Q6NTQzMi9kb3NsZWcgLXQgYXNzIC10IGF1ZCAtdCBhdXRldXIgLXQgYmxlIC10IGJ1ciAtdCBjYXRyYXAgLXQgY29tIC10IGNvcnNjciAtdCBkYXRlX3NlYW5jZSAtdCBkZWNjb2MgLXQgZGVsZWdhIC10IGRlbnJhcCAtdCBkZXNpZ25vcmcgLXQgZG9jIC10IGRvY2F0dCAtdCBkb2NzZWEgLXQgZHB0IC10IGRwdGVsZSAtdCBlY3IgLXQgZWx1c2VuIC10IGV0YWRlYm1hbiAtdCBldGFmaW5tYW4gLXQgZXRhbG9pIC10IGV0YXNlbiAtdCBldnRzZWEgLXQgZm9uY29tIC10IGZvbmRlbGVnYSAtdCBmb25ncnBwb2wgLXQgZm9ubWVtY29tIC10IGZvbm1lbWRlbGVnYSAtdCBmb25tZW1ncnBwb2wgLXQgZm9ycHViIC10IGdlbiAtdCBncnBwb2wgLXQgbGVjYXNzIC10IGxlY2Fzc3JhcCAtdCBsZWN0dXJlIC10IGxpYmNvbSAtdCBsaWJkZWxlZ2EgLXQgbGliZ3JwcG9sIC10IGxua3JhcCAtdCBsb2kgLXQgbG9pdGhlIC10IG1lbWNvbSAtdCBtZW1kZWxlZ2EgLXQgbWVtZ3JwcG9sIC10IG5hdGxvaSAtdCBvcmcgLXQgb3Jnbm9taGlzIC10IG9yaXBwciAtdCBvcml0eHQgLXQgcG9zdm90IC10IHF1YSAtdCBxdWFfc2VuIC10IHJhcCAtdCByYXBvcmcgLXQgcmFwdGhlIC10IHJvbHNpZyAtdCBzY3IgLXQgc2VuIC10IHNlbmJ1ciAtdCBzZW5ub20gLXQgc2VzIC10IHN0YXZvdCAtdCB0ZXh0ZSAtdCB0ZXh0ZV9hbmNpZW4gLXQgdGhlIC10IHRpdHNlbiAtdCB0cmljb3RfbG9pIC10IHRyaWNvdF9sb2lfYXV0b2NvbXBsZXRlIC10IHRyaWNvdF9sb2lfdGV4dF9zZWFyY2ggLXQgdHlwYXBwcG9sIC10IHR5cGF0dCAtdCB0eXBhdXQgLXQgdHlwZG9jIC10IHR5cGV2dHNlYSAtdCB0eXBsZWMgLXQgdHlwbG9pIC10IHR5cG9yZyAtdCB0eXBvcmdfc2VuIC10IHR5cHJhcCAtdCB0eXB0eHQgLXQgdHlwdXJsIC10IHZvdHNlbiAtcyBwdWJsaWNcbiAqXG4gKi9cblxuXG5leHBvcnQgbmFtZXNwYWNlIGFzc0ZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgY29kYXNzID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGxpYmFzcyA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGFzcyB7XG4gICAgY29kYXNzOiBhc3NGaWVsZHMuY29kYXNzO1xuICAgIGxpYmFzczogYXNzRmllbGRzLmxpYmFzcztcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGF1ZEZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgYXVkY2xlID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2lkdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBhdWRkYXQgPSBEYXRlO1xuICAgIGV4cG9ydCB0eXBlIGF1ZHRpdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBhdWR1cmwgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JnY29kID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgYXVkIHtcbiAgICBhdWRjbGU6IGF1ZEZpZWxkcy5hdWRjbGU7XG4gICAgbGVjYXNzaWR0OiBhdWRGaWVsZHMubGVjYXNzaWR0O1xuICAgIGF1ZGRhdDogYXVkRmllbGRzLmF1ZGRhdDtcbiAgICBhdWR0aXQ6IGF1ZEZpZWxkcy5hdWR0aXQ7XG4gICAgYXVkdXJsOiBhdWRGaWVsZHMuYXVkdXJsO1xuICAgIG9yZ2NvZDogYXVkRmllbGRzLm9yZ2NvZDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGF1dGV1ckZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgYXV0Y29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHF1YWNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBhdXRjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbm9tdXNlID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHByZW5vbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbm9tdGVjID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGF1dG1hdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZ3JwYXBwID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBncnByYXQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGF1dGZjdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGF0ZGViID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuZmVtID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGF1dGV1ciB7XG4gICAgYXV0Y29kOiBhdXRldXJGaWVsZHMuYXV0Y29kO1xuICAgIHF1YWNvZDogYXV0ZXVyRmllbGRzLnF1YWNvZDtcbiAgICB0eXBhdXRjb2Q6IGF1dGV1ckZpZWxkcy50eXBhdXRjb2Q7XG4gICAgbm9tdXNlOiBhdXRldXJGaWVsZHMubm9tdXNlO1xuICAgIHByZW5vbTogYXV0ZXVyRmllbGRzLnByZW5vbTtcbiAgICBub210ZWM6IGF1dGV1ckZpZWxkcy5ub210ZWM7XG4gICAgYXV0bWF0OiBhdXRldXJGaWVsZHMuYXV0bWF0O1xuICAgIGdycGFwcDogYXV0ZXVyRmllbGRzLmdycGFwcDtcbiAgICBncnByYXQ6IGF1dGV1ckZpZWxkcy5ncnByYXQ7XG4gICAgYXV0ZmN0OiBhdXRldXJGaWVsZHMuYXV0ZmN0O1xuICAgIGRhdGRlYjogYXV0ZXVyRmllbGRzLmRhdGRlYjtcbiAgICBkYXRmaW46IGF1dGV1ckZpZWxkcy5kYXRmaW47XG4gICAgc2VuZmVtOiBhdXRldXJGaWVsZHMuc2VuZmVtO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgYmxlRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBibGVjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgYmxlbGliID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgYmxlIHtcbiAgICBibGVjb2Q6IGJsZUZpZWxkcy5ibGVjb2Q7XG4gICAgYmxlbGliOiBibGVGaWVsZHMuYmxlbGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgYnVyRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBidXJjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgYnVybGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBidXJsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGJ1cm51bXRyaSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgYnVybGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBidXJsaWJob24gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGJ1cmxpY2ZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgYnVybGliZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBidXJsaWxmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGJ1cmxpY3BsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgYnVybGlicGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBidXJsaWxwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGJ1cmxpYmhvbmZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgYnVybGliaG9ucGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBidXJsaWNmZW1wbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGJ1cmxpYmZlbXBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgYnVybGlsZmVtcGx1ID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGJ1ciB7XG4gICAgYnVyY29kOiBidXJGaWVsZHMuYnVyY29kO1xuICAgIGJ1cmxpYjogYnVyRmllbGRzLmJ1cmxpYjtcbiAgICBidXJsaWM6IGJ1ckZpZWxkcy5idXJsaWM7XG4gICAgYnVybnVtdHJpOiBidXJGaWVsZHMuYnVybnVtdHJpO1xuICAgIGJ1cmxpbDogYnVyRmllbGRzLmJ1cmxpbDtcbiAgICBidXJsaWJob246IGJ1ckZpZWxkcy5idXJsaWJob247XG4gICAgYnVybGljZmVtOiBidXJGaWVsZHMuYnVybGljZmVtO1xuICAgIGJ1cmxpYmZlbTogYnVyRmllbGRzLmJ1cmxpYmZlbTtcbiAgICBidXJsaWxmZW06IGJ1ckZpZWxkcy5idXJsaWxmZW07XG4gICAgYnVybGljcGx1OiBidXJGaWVsZHMuYnVybGljcGx1O1xuICAgIGJ1cmxpYnBsdTogYnVyRmllbGRzLmJ1cmxpYnBsdTtcbiAgICBidXJsaWxwbHU6IGJ1ckZpZWxkcy5idXJsaWxwbHU7XG4gICAgYnVybGliaG9uZmVtOiBidXJGaWVsZHMuYnVybGliaG9uZmVtO1xuICAgIGJ1cmxpYmhvbnBsdTogYnVyRmllbGRzLmJ1cmxpYmhvbnBsdTtcbiAgICBzeXNjcmVkYXQ6IGJ1ckZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBidXJGaWVsZHMuc3lzbWFqZGF0O1xuICAgIGJ1cmxpY2ZlbXBsdTogYnVyRmllbGRzLmJ1cmxpY2ZlbXBsdTtcbiAgICBidXJsaWJmZW1wbHU6IGJ1ckZpZWxkcy5idXJsaWJmZW1wbHU7XG4gICAgYnVybGlsZmVtcGx1OiBidXJGaWVsZHMuYnVybGlsZmVtcGx1O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgY2F0cmFwRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBjYXRyYXBjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgY2F0cmFwbGliID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgY2F0cmFwIHtcbiAgICBjYXRyYXBjb2Q6IGNhdHJhcEZpZWxkcy5jYXRyYXBjb2Q7XG4gICAgY2F0cmFwbGliOiBjYXRyYXBGaWVsZHMuY2F0cmFwbGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgY29tRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JnY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIG9yZ251bXRyaSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnZGF0Y3JlID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnbnVtdGllID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZW9icyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnYXJ0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBjb21saWxtaW4gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ3VybHNpbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JndXJsY21wID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBjb21saWJhbWVsaSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgY29tY29kYW1lbGkgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRpdmNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBjb20ge1xuICAgIHR5cG9yZ2NvZDogY29tRmllbGRzLnR5cG9yZ2NvZDtcbiAgICBvcmdjb2Q6IGNvbUZpZWxkcy5vcmdjb2Q7XG4gICAgb3JnbnVtdHJpOiBjb21GaWVsZHMub3JnbnVtdHJpO1xuICAgIG9yZ2RhdGNyZTogY29tRmllbGRzLm9yZ2RhdGNyZTtcbiAgICBvcmdkYXRmaW46IGNvbUZpZWxkcy5vcmdkYXRmaW47XG4gICAgb3JnbnVtdGllOiBjb21GaWVsZHMub3JnbnVtdGllO1xuICAgIHRlbXZhbGNvZDogY29tRmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IGNvbUZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBjb21GaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogY29tRmllbGRzLmV2ZWxpbDtcbiAgICBldmVvYnM6IGNvbUZpZWxkcy5ldmVvYnM7XG4gICAgb3JnYXJ0OiBjb21GaWVsZHMub3JnYXJ0O1xuICAgIGNvbWxpbG1pbjogY29tRmllbGRzLmNvbWxpbG1pbjtcbiAgICBvcmd1cmxzaW06IGNvbUZpZWxkcy5vcmd1cmxzaW07XG4gICAgb3JndXJsY21wOiBjb21GaWVsZHMub3JndXJsY21wO1xuICAgIGNvbWxpYmFtZWxpOiBjb21GaWVsZHMuY29tbGliYW1lbGk7XG4gICAgY29tY29kYW1lbGk6IGNvbUZpZWxkcy5jb21jb2RhbWVsaTtcbiAgICBkaXZjb2Q6IGNvbUZpZWxkcy5kaXZjb2Q7XG4gICAgc3lzY3JlZGF0OiBjb21GaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogY29tRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGNvcnNjckZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgc2VzYW5uID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHNjcm51bSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBjb3JzY3JvcmQgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGNvcnNjcnR4dCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBjb3JzY3J1cmwgPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgY29yc2NyIHtcbiAgICBzZXNhbm46IGNvcnNjckZpZWxkcy5zZXNhbm47XG4gICAgc2NybnVtOiBjb3JzY3JGaWVsZHMuc2NybnVtO1xuICAgIGNvcnNjcm9yZDogY29yc2NyRmllbGRzLmNvcnNjcm9yZDtcbiAgICBjb3JzY3J0eHQ6IGNvcnNjckZpZWxkcy5jb3JzY3J0eHQ7XG4gICAgY29yc2NydXJsOiBjb3JzY3JGaWVsZHMuY29yc2NydXJsO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZGF0ZV9zZWFuY2VGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGxlY2lkdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGF0ZV9zID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgY29kZSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBzdGF0dXQgPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZGF0ZV9zZWFuY2Uge1xuICAgIGxlY2lkdDogZGF0ZV9zZWFuY2VGaWVsZHMubGVjaWR0O1xuICAgIGRhdGVfczogZGF0ZV9zZWFuY2VGaWVsZHMuZGF0ZV9zO1xuICAgIGNvZGU6IGRhdGVfc2VhbmNlRmllbGRzLmNvZGU7XG4gICAgc3RhdHV0OiBkYXRlX3NlYW5jZUZpZWxkcy5zdGF0dXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBkZWNjb2NGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGRlY2NvY2NvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBkZWNjb2NsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBkZWNjb2Mge1xuICAgIGRlY2NvY2NvZDogZGVjY29jRmllbGRzLmRlY2NvY2NvZDtcbiAgICBkZWNjb2NsaWI6IGRlY2NvY0ZpZWxkcy5kZWNjb2NsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBkZWxlZ2FGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ2NvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JnbnVtdHJpID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdkYXRjcmUgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdkYXRmaW4gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdudW10aWUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRlbXZhbGNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGljID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlb2JzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdhcnQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ3VybHNpbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JndXJsY21wID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdyZWdqdXIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ21vZGRlcyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnbWVtZGVwID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGRlbGVnYSB7XG4gICAgdHlwb3JnY29kOiBkZWxlZ2FGaWVsZHMudHlwb3JnY29kO1xuICAgIG9yZ2NvZDogZGVsZWdhRmllbGRzLm9yZ2NvZDtcbiAgICBvcmdudW10cmk6IGRlbGVnYUZpZWxkcy5vcmdudW10cmk7XG4gICAgb3JnZGF0Y3JlOiBkZWxlZ2FGaWVsZHMub3JnZGF0Y3JlO1xuICAgIG9yZ2RhdGZpbjogZGVsZWdhRmllbGRzLm9yZ2RhdGZpbjtcbiAgICBvcmdudW10aWU6IGRlbGVnYUZpZWxkcy5vcmdudW10aWU7XG4gICAgdGVtdmFsY29kOiBkZWxlZ2FGaWVsZHMudGVtdmFsY29kO1xuICAgIGV2ZWxpYzogZGVsZWdhRmllbGRzLmV2ZWxpYztcbiAgICBldmVsaWI6IGRlbGVnYUZpZWxkcy5ldmVsaWI7XG4gICAgZXZlbGlsOiBkZWxlZ2FGaWVsZHMuZXZlbGlsO1xuICAgIGV2ZW9iczogZGVsZWdhRmllbGRzLmV2ZW9icztcbiAgICBvcmdhcnQ6IGRlbGVnYUZpZWxkcy5vcmdhcnQ7XG4gICAgb3JndXJsc2ltOiBkZWxlZ2FGaWVsZHMub3JndXJsc2ltO1xuICAgIG9yZ3VybGNtcDogZGVsZWdhRmllbGRzLm9yZ3VybGNtcDtcbiAgICBvcmdyZWdqdXI6IGRlbGVnYUZpZWxkcy5vcmdyZWdqdXI7XG4gICAgb3JnbW9kZGVzOiBkZWxlZ2FGaWVsZHMub3JnbW9kZGVzO1xuICAgIG9yZ21lbWRlcDogZGVsZWdhRmllbGRzLm9yZ21lbWRlcDtcbiAgICBzeXNjcmVkYXQ6IGRlbGVnYUZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBkZWxlZ2FGaWVsZHMuc3lzbWFqZGF0O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZGVucmFwRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBjb2RkZW5yYXAgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwcmFwcmFwID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGxpYmRlbnJhcCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBvcmRyZSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGVucmFwbWluID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkZW5yYXB0aXQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRlbnJhcHN0eW1pbiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZ2VuY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNvbG5hdHJhcGNvZCA9IHN0cmluZyB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBkZW5yYXAge1xuICAgIGNvZGRlbnJhcDogZGVucmFwRmllbGRzLmNvZGRlbnJhcDtcbiAgICB0eXByYXByYXA6IGRlbnJhcEZpZWxkcy50eXByYXByYXA7XG4gICAgbGliZGVucmFwOiBkZW5yYXBGaWVsZHMubGliZGVucmFwO1xuICAgIG9yZHJlOiBkZW5yYXBGaWVsZHMub3JkcmU7XG4gICAgZGVucmFwbWluOiBkZW5yYXBGaWVsZHMuZGVucmFwbWluO1xuICAgIGRlbnJhcHRpdDogZGVucmFwRmllbGRzLmRlbnJhcHRpdDtcbiAgICBkZW5yYXBzdHltaW46IGRlbnJhcEZpZWxkcy5kZW5yYXBzdHltaW47XG4gICAgZ2VuY29kOiBkZW5yYXBGaWVsZHMuZ2VuY29kO1xuICAgIHNvbG5hdHJhcGNvZDogZGVucmFwRmllbGRzLnNvbG5hdHJhcGNvZDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGRlc2lnbm9yZ0ZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZGVzaWduY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHRlbXZhbGNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGljID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlb2JzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkZXNpZ25udW10cmkgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRlc2lnbmxpYiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGVzaWdubGljID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkZXNpZ25saWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRlc2lnbmxpYmZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGVzaWdubGljZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkZXNpZ25saWxmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZGVzaWdub3JnIHtcbiAgICBkZXNpZ25jb2Q6IGRlc2lnbm9yZ0ZpZWxkcy5kZXNpZ25jb2Q7XG4gICAgdGVtdmFsY29kOiBkZXNpZ25vcmdGaWVsZHMudGVtdmFsY29kO1xuICAgIGV2ZWxpYzogZGVzaWdub3JnRmllbGRzLmV2ZWxpYztcbiAgICBldmVsaWI6IGRlc2lnbm9yZ0ZpZWxkcy5ldmVsaWI7XG4gICAgZXZlbGlsOiBkZXNpZ25vcmdGaWVsZHMuZXZlbGlsO1xuICAgIGV2ZW9iczogZGVzaWdub3JnRmllbGRzLmV2ZW9icztcbiAgICBkZXNpZ25udW10cmk6IGRlc2lnbm9yZ0ZpZWxkcy5kZXNpZ25udW10cmk7XG4gICAgZGVzaWdubGliOiBkZXNpZ25vcmdGaWVsZHMuZGVzaWdubGliO1xuICAgIGRlc2lnbmxpYzogZGVzaWdub3JnRmllbGRzLmRlc2lnbmxpYztcbiAgICBkZXNpZ25saWw6IGRlc2lnbm9yZ0ZpZWxkcy5kZXNpZ25saWw7XG4gICAgZGVzaWdubGliZmVtOiBkZXNpZ25vcmdGaWVsZHMuZGVzaWdubGliZmVtO1xuICAgIGRlc2lnbmxpY2ZlbTogZGVzaWdub3JnRmllbGRzLmRlc2lnbmxpY2ZlbTtcbiAgICBkZXNpZ25saWxmZW06IGRlc2lnbm9yZ0ZpZWxkcy5kZXNpZ25saWxmZW07XG4gICAgc3lzY3JlZGF0OiBkZXNpZ25vcmdGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZGVzaWdub3JnRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGRvY0ZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZG9jaWR0ID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHR5cGRvY2NvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZG9jaW50ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkb2N1cmwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxlY2lkdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZG9jZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZG9jbnVtID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZXNhbm4gPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRhdGVfZGVwb3QgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkb2N0aXRjb3UgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRvY2RhdHNlYSA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZG9jIHtcbiAgICBkb2NpZHQ6IGRvY0ZpZWxkcy5kb2NpZHQ7XG4gICAgdHlwZG9jY29kOiBkb2NGaWVsZHMudHlwZG9jY29kO1xuICAgIGRvY2ludDogZG9jRmllbGRzLmRvY2ludDtcbiAgICBkb2N1cmw6IGRvY0ZpZWxkcy5kb2N1cmw7XG4gICAgbGVjaWR0OiBkb2NGaWVsZHMubGVjaWR0O1xuICAgIGRvY2RhdDogZG9jRmllbGRzLmRvY2RhdDtcbiAgICBkb2NudW06IGRvY0ZpZWxkcy5kb2NudW07XG4gICAgc2VzYW5uOiBkb2NGaWVsZHMuc2VzYW5uO1xuICAgIGRhdGVfZGVwb3Q6IGRvY0ZpZWxkcy5kYXRlX2RlcG90O1xuICAgIGRvY3RpdGNvdTogZG9jRmllbGRzLmRvY3RpdGNvdTtcbiAgICBkb2NkYXRzZWE6IGRvY0ZpZWxkcy5kb2NkYXRzZWE7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBkb2NhdHRGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGRvY2F0dGNsZSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSByYXBjb2QgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgdHlwYXR0Y29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGRvY2F0dHVybCA9IHN0cmluZyB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBkb2NhdHQge1xuICAgIGRvY2F0dGNsZTogZG9jYXR0RmllbGRzLmRvY2F0dGNsZTtcbiAgICByYXBjb2Q6IGRvY2F0dEZpZWxkcy5yYXBjb2Q7XG4gICAgdHlwYXR0Y29kOiBkb2NhdHRGaWVsZHMudHlwYXR0Y29kO1xuICAgIGRvY2F0dHVybDogZG9jYXR0RmllbGRzLmRvY2F0dHVybDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGRvY3NlYUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZXZ0c2VhY2xlID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGRvY3NlYXVybCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZG9jc2VhdXJsdHh0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkb2NzZWF1cmxhdmEgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRvY3NlYXVybGFwciA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZG9jc2Vhb3JkID0gbnVtYmVyIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGRvY3NlYSB7XG4gICAgZXZ0c2VhY2xlOiBkb2NzZWFGaWVsZHMuZXZ0c2VhY2xlO1xuICAgIGRvY3NlYXVybDogZG9jc2VhRmllbGRzLmRvY3NlYXVybDtcbiAgICBkb2NzZWF1cmx0eHQ6IGRvY3NlYUZpZWxkcy5kb2NzZWF1cmx0eHQ7XG4gICAgZG9jc2VhdXJsYXZhOiBkb2NzZWFGaWVsZHMuZG9jc2VhdXJsYXZhO1xuICAgIGRvY3NlYXVybGFwcjogZG9jc2VhRmllbGRzLmRvY3NlYXVybGFwcjtcbiAgICBkb2NzZWFvcmQ6IGRvY3NlYUZpZWxkcy5kb2NzZWFvcmQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBkcHRGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGRwdG51bSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBkcHRjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZHB0bGliID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGRwdG5icnNlbiA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZHB0bW9kc2Nyc2VuID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkcHRzZXIgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgcmVnY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGRwdG51bXRyaSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBkcHRsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRwdGFydCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZHB0bGlidHJpID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRwdHNlcjIwMDQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRwdGNtdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZHB0ZGF0ZGViID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZHB0ZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZldGVtcHViID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkcHR1cmxjbXAgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZHB0IHtcbiAgICBkcHRudW06IGRwdEZpZWxkcy5kcHRudW07XG4gICAgZHB0Y29kOiBkcHRGaWVsZHMuZHB0Y29kO1xuICAgIGRwdGxpYjogZHB0RmllbGRzLmRwdGxpYjtcbiAgICBkcHRuYnJzZW46IGRwdEZpZWxkcy5kcHRuYnJzZW47XG4gICAgZHB0bW9kc2Nyc2VuOiBkcHRGaWVsZHMuZHB0bW9kc2Nyc2VuO1xuICAgIGRwdHNlcjogZHB0RmllbGRzLmRwdHNlcjtcbiAgICByZWdjb2Q6IGRwdEZpZWxkcy5yZWdjb2Q7XG4gICAgZHB0bnVtdHJpOiBkcHRGaWVsZHMuZHB0bnVtdHJpO1xuICAgIGRwdGxpYzogZHB0RmllbGRzLmRwdGxpYztcbiAgICBkcHRhcnQ6IGRwdEZpZWxkcy5kcHRhcnQ7XG4gICAgZHB0bGlidHJpOiBkcHRGaWVsZHMuZHB0bGlidHJpO1xuICAgIHRlbXZhbGNvZDogZHB0RmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IGRwdEZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBkcHRGaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogZHB0RmllbGRzLmV2ZWxpbDtcbiAgICBkcHRzZXIyMDA0OiBkcHRGaWVsZHMuZHB0c2VyMjAwNDtcbiAgICBkcHRjbXQ6IGRwdEZpZWxkcy5kcHRjbXQ7XG4gICAgZHB0ZGF0ZGViOiBkcHRGaWVsZHMuZHB0ZGF0ZGViO1xuICAgIGRwdGRhdGZpbjogZHB0RmllbGRzLmRwdGRhdGZpbjtcbiAgICBldmV0ZW1wdWI6IGRwdEZpZWxkcy5ldmV0ZW1wdWI7XG4gICAgZHB0dXJsY21wOiBkcHRGaWVsZHMuZHB0dXJsY21wO1xuICAgIHN5c2NyZWRhdDogZHB0RmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IGRwdEZpZWxkcy5zeXNtYWpkYXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBkcHRlbGVGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGRwdG51bSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBkcHRlbGVuYnJzaWUgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRwdGVsZWlkID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHR5cGVsZWNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB2YWxpZGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB2YWxpZDJjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgcGFydGljaXBhaWR0MSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcGFydGljaXBhaWR0MiA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZWxlaWQgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgZHB0ZWxlbmJyc2llcHZyID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkcHRlbGVjbXQgPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZHB0ZWxlIHtcbiAgICBkcHRudW06IGRwdGVsZUZpZWxkcy5kcHRudW07XG4gICAgZHB0ZWxlbmJyc2llOiBkcHRlbGVGaWVsZHMuZHB0ZWxlbmJyc2llO1xuICAgIGRwdGVsZWlkOiBkcHRlbGVGaWVsZHMuZHB0ZWxlaWQ7XG4gICAgdHlwZWxlY29kOiBkcHRlbGVGaWVsZHMudHlwZWxlY29kO1xuICAgIHZhbGlkY29kOiBkcHRlbGVGaWVsZHMudmFsaWRjb2Q7XG4gICAgdmFsaWQyY29kOiBkcHRlbGVGaWVsZHMudmFsaWQyY29kO1xuICAgIHBhcnRpY2lwYWlkdDE6IGRwdGVsZUZpZWxkcy5wYXJ0aWNpcGFpZHQxO1xuICAgIHBhcnRpY2lwYWlkdDI6IGRwdGVsZUZpZWxkcy5wYXJ0aWNpcGFpZHQyO1xuICAgIHN5c2NyZWRhdDogZHB0ZWxlRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IGRwdGVsZUZpZWxkcy5zeXNtYWpkYXQ7XG4gICAgZWxlaWQ6IGRwdGVsZUZpZWxkcy5lbGVpZDtcbiAgICBkcHRlbGVuYnJzaWVwdnI6IGRwdGVsZUZpZWxkcy5kcHRlbGVuYnJzaWVwdnI7XG4gICAgZHB0ZWxlY210OiBkcHRlbGVGaWVsZHMuZHB0ZWxlY210O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZWNyRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSByYXBjb2QgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGVjcm51bXRyaSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBhdXRjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRleGNvZCA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZWNybnVtID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHR5cGVkb2MgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNpZ25hdGFpcmUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRvY2lkdCA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZWNycXVhID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGVjciB7XG4gICAgcmFwY29kOiBlY3JGaWVsZHMucmFwY29kO1xuICAgIGVjcm51bXRyaTogZWNyRmllbGRzLmVjcm51bXRyaTtcbiAgICBhdXRjb2Q6IGVjckZpZWxkcy5hdXRjb2Q7XG4gICAgdGV4Y29kOiBlY3JGaWVsZHMudGV4Y29kO1xuICAgIGVjcm51bTogZWNyRmllbGRzLmVjcm51bTtcbiAgICB0eXBlZG9jOiBlY3JGaWVsZHMudHlwZWRvYztcbiAgICBzaWduYXRhaXJlOiBlY3JGaWVsZHMuc2lnbmF0YWlyZTtcbiAgICBkb2NpZHQ6IGVjckZpZWxkcy5kb2NpZHQ7XG4gICAgZWNycXVhOiBlY3JGaWVsZHMuZWNycXVhO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZWx1c2VuRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBlbHVpZCA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBkcHRudW0gPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgZWx1ZGF0ZGViID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZWx1ZGF0ZWx1ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZWx1ZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhZGVibWFuY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGV0YWZpbm1hbmNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGVtdmFsY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBlbHVhbm5kZWIgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGVsdWFubmZpbiA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwbWFuY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5tYXQgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZWx1ZGF0Y3VtID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHVyZWx1Y29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZWx1c2VuIHtcbiAgICBlbHVpZDogZWx1c2VuRmllbGRzLmVsdWlkO1xuICAgIGRwdG51bTogZWx1c2VuRmllbGRzLmRwdG51bTtcbiAgICBlbHVkYXRkZWI6IGVsdXNlbkZpZWxkcy5lbHVkYXRkZWI7XG4gICAgZWx1ZGF0ZWx1OiBlbHVzZW5GaWVsZHMuZWx1ZGF0ZWx1O1xuICAgIGVsdWRhdGZpbjogZWx1c2VuRmllbGRzLmVsdWRhdGZpbjtcbiAgICBldGFkZWJtYW5jb2Q6IGVsdXNlbkZpZWxkcy5ldGFkZWJtYW5jb2Q7XG4gICAgZXRhZmlubWFuY29kOiBlbHVzZW5GaWVsZHMuZXRhZmlubWFuY29kO1xuICAgIHRlbXZhbGNvZDogZWx1c2VuRmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IGVsdXNlbkZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBlbHVzZW5GaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogZWx1c2VuRmllbGRzLmV2ZWxpbDtcbiAgICBlbHVhbm5kZWI6IGVsdXNlbkZpZWxkcy5lbHVhbm5kZWI7XG4gICAgZWx1YW5uZmluOiBlbHVzZW5GaWVsZHMuZWx1YW5uZmluO1xuICAgIHR5cG1hbmNvZDogZWx1c2VuRmllbGRzLnR5cG1hbmNvZDtcbiAgICBzZW5tYXQ6IGVsdXNlbkZpZWxkcy5zZW5tYXQ7XG4gICAgZWx1ZGF0Y3VtOiBlbHVzZW5GaWVsZHMuZWx1ZGF0Y3VtO1xuICAgIHR1cmVsdWNvZDogZWx1c2VuRmllbGRzLnR1cmVsdWNvZDtcbiAgICBzeXNjcmVkYXQ6IGVsdXNlbkZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBlbHVzZW5GaWVsZHMuc3lzbWFqZGF0O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZXRhZGVibWFuRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBldGFkZWJtYW5jb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZXRhZGVibWFubGljID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGV0YWRlYm1hbmxpYiA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBldGFkZWJtYW5udW10cmkgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YWRlYm1hbmxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhZGVibWFubGljZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFkZWJtYW5saWJmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YWRlYm1hbmxpbGZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhZGVibWFubGljcGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFkZWJtYW5saWJwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YWRlYm1hbmxpbHBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBldGFkZWJtYW4ge1xuICAgIGV0YWRlYm1hbmNvZDogZXRhZGVibWFuRmllbGRzLmV0YWRlYm1hbmNvZDtcbiAgICBldGFkZWJtYW5saWM6IGV0YWRlYm1hbkZpZWxkcy5ldGFkZWJtYW5saWM7XG4gICAgZXRhZGVibWFubGliOiBldGFkZWJtYW5GaWVsZHMuZXRhZGVibWFubGliO1xuICAgIGV0YWRlYm1hbm51bXRyaTogZXRhZGVibWFuRmllbGRzLmV0YWRlYm1hbm51bXRyaTtcbiAgICBldGFkZWJtYW5saWw6IGV0YWRlYm1hbkZpZWxkcy5ldGFkZWJtYW5saWw7XG4gICAgZXRhZGVibWFubGljZmVtOiBldGFkZWJtYW5GaWVsZHMuZXRhZGVibWFubGljZmVtO1xuICAgIGV0YWRlYm1hbmxpYmZlbTogZXRhZGVibWFuRmllbGRzLmV0YWRlYm1hbmxpYmZlbTtcbiAgICBldGFkZWJtYW5saWxmZW06IGV0YWRlYm1hbkZpZWxkcy5ldGFkZWJtYW5saWxmZW07XG4gICAgZXRhZGVibWFubGljcGx1OiBldGFkZWJtYW5GaWVsZHMuZXRhZGVibWFubGljcGx1O1xuICAgIGV0YWRlYm1hbmxpYnBsdTogZXRhZGVibWFuRmllbGRzLmV0YWRlYm1hbmxpYnBsdTtcbiAgICBldGFkZWJtYW5saWxwbHU6IGV0YWRlYm1hbkZpZWxkcy5ldGFkZWJtYW5saWxwbHU7XG4gICAgc3lzY3JlZGF0OiBldGFkZWJtYW5GaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZXRhZGVibWFuRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGV0YWZpbm1hbkZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZXRhZmlubWFuY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGV0YWZpbm1hbmxpYyA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBldGFmaW5tYW4gPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZXRhZmlubWFubnVtdHJpID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFmaW5tYW50ZW1zaXJwYXMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YWZpbm1hbmNvZHNpcnBhcyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhZmlubWFubGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFmaW5tYW5saWNmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YWZpbm1hbmxpYmZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhZmlubWFubGlsZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFmaW5tYW5saWNwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YWZpbm1hbmxpYnBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhZmlubWFubGlscGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGV0YWZpbm1hbiB7XG4gICAgZXRhZmlubWFuY29kOiBldGFmaW5tYW5GaWVsZHMuZXRhZmlubWFuY29kO1xuICAgIGV0YWZpbm1hbmxpYzogZXRhZmlubWFuRmllbGRzLmV0YWZpbm1hbmxpYztcbiAgICBldGFmaW5tYW46IGV0YWZpbm1hbkZpZWxkcy5ldGFmaW5tYW47XG4gICAgZXRhZmlubWFubnVtdHJpOiBldGFmaW5tYW5GaWVsZHMuZXRhZmlubWFubnVtdHJpO1xuICAgIGV0YWZpbm1hbnRlbXNpcnBhczogZXRhZmlubWFuRmllbGRzLmV0YWZpbm1hbnRlbXNpcnBhcztcbiAgICBldGFmaW5tYW5jb2RzaXJwYXM6IGV0YWZpbm1hbkZpZWxkcy5ldGFmaW5tYW5jb2RzaXJwYXM7XG4gICAgZXRhZmlubWFubGlsOiBldGFmaW5tYW5GaWVsZHMuZXRhZmlubWFubGlsO1xuICAgIGV0YWZpbm1hbmxpY2ZlbTogZXRhZmlubWFuRmllbGRzLmV0YWZpbm1hbmxpY2ZlbTtcbiAgICBldGFmaW5tYW5saWJmZW06IGV0YWZpbm1hbkZpZWxkcy5ldGFmaW5tYW5saWJmZW07XG4gICAgZXRhZmlubWFubGlsZmVtOiBldGFmaW5tYW5GaWVsZHMuZXRhZmlubWFubGlsZmVtO1xuICAgIGV0YWZpbm1hbmxpY3BsdTogZXRhZmlubWFuRmllbGRzLmV0YWZpbm1hbmxpY3BsdTtcbiAgICBldGFmaW5tYW5saWJwbHU6IGV0YWZpbm1hbkZpZWxkcy5ldGFmaW5tYW5saWJwbHU7XG4gICAgZXRhZmlubWFubGlscGx1OiBldGFmaW5tYW5GaWVsZHMuZXRhZmlubWFubGlscGx1O1xuICAgIHN5c2NyZWRhdDogZXRhZmlubWFuRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IGV0YWZpbm1hbkZpZWxkcy5zeXNtYWpkYXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBldGFsb2lGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGV0YWxvaWNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBldGFsb2lsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBldGFsb2kge1xuICAgIGV0YWxvaWNvZDogZXRhbG9pRmllbGRzLmV0YWxvaWNvZDtcbiAgICBldGFsb2lsaWI6IGV0YWxvaUZpZWxkcy5ldGFsb2lsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBldGFzZW5GaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGV0YXNlbmNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBldGFzZW5saWMgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZXRhc2VubGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFzZW5udW10cmkgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YXNlbmxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhc2VubGljZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFzZW5saWJmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YXNlbmxpbGZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXRhc2VubGljcGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldGFzZW5saWJwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV0YXNlbmxpbHBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBldGFzZW4ge1xuICAgIGV0YXNlbmNvZDogZXRhc2VuRmllbGRzLmV0YXNlbmNvZDtcbiAgICBldGFzZW5saWM6IGV0YXNlbkZpZWxkcy5ldGFzZW5saWM7XG4gICAgZXRhc2VubGliOiBldGFzZW5GaWVsZHMuZXRhc2VubGliO1xuICAgIGV0YXNlbm51bXRyaTogZXRhc2VuRmllbGRzLmV0YXNlbm51bXRyaTtcbiAgICBldGFzZW5saWw6IGV0YXNlbkZpZWxkcy5ldGFzZW5saWw7XG4gICAgZXRhc2VubGljZmVtOiBldGFzZW5GaWVsZHMuZXRhc2VubGljZmVtO1xuICAgIGV0YXNlbmxpYmZlbTogZXRhc2VuRmllbGRzLmV0YXNlbmxpYmZlbTtcbiAgICBldGFzZW5saWxmZW06IGV0YXNlbkZpZWxkcy5ldGFzZW5saWxmZW07XG4gICAgZXRhc2VubGljcGx1OiBldGFzZW5GaWVsZHMuZXRhc2VubGljcGx1O1xuICAgIGV0YXNlbmxpYnBsdTogZXRhc2VuRmllbGRzLmV0YXNlbmxpYnBsdTtcbiAgICBldGFzZW5saWxwbHU6IGV0YXNlbkZpZWxkcy5ldGFzZW5saWxwbHU7XG4gICAgc3lzY3JlZGF0OiBldGFzZW5GaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZXRhc2VuRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGV2dHNlYUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZXZ0c2VhY2xlID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGxvaWNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwZXZ0Y29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2lkdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBldnRzZWFkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGV2dHNlYSB7XG4gICAgZXZ0c2VhY2xlOiBldnRzZWFGaWVsZHMuZXZ0c2VhY2xlO1xuICAgIGxvaWNvZDogZXZ0c2VhRmllbGRzLmxvaWNvZDtcbiAgICB0eXBldnRjb2Q6IGV2dHNlYUZpZWxkcy50eXBldnRjb2Q7XG4gICAgbGVjYXNzaWR0OiBldnRzZWFGaWVsZHMubGVjYXNzaWR0O1xuICAgIGV2dHNlYWRhdDogZXZ0c2VhRmllbGRzLmV2dHNlYWRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGZvbmNvbUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZm9uY29tY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvbmNvbWxpYiA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBmb25jb21saWMgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZm9uY29tbnVtdHJpID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25jb21saWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmNvbWxpY2ZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uY29tbGliZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25jb21saWxmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmNvbWxpY3BsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uY29tbGlicGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25jb21saWxwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmNvbWxpY2ZlbXBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uY29tbGliZmVtcGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25jb21saWxmZW1wbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZm9uY29tIHtcbiAgICBmb25jb21jb2Q6IGZvbmNvbUZpZWxkcy5mb25jb21jb2Q7XG4gICAgZm9uY29tbGliOiBmb25jb21GaWVsZHMuZm9uY29tbGliO1xuICAgIGZvbmNvbWxpYzogZm9uY29tRmllbGRzLmZvbmNvbWxpYztcbiAgICBmb25jb21udW10cmk6IGZvbmNvbUZpZWxkcy5mb25jb21udW10cmk7XG4gICAgZm9uY29tbGlsOiBmb25jb21GaWVsZHMuZm9uY29tbGlsO1xuICAgIGZvbmNvbWxpY2ZlbTogZm9uY29tRmllbGRzLmZvbmNvbWxpY2ZlbTtcbiAgICBmb25jb21saWJmZW06IGZvbmNvbUZpZWxkcy5mb25jb21saWJmZW07XG4gICAgZm9uY29tbGlsZmVtOiBmb25jb21GaWVsZHMuZm9uY29tbGlsZmVtO1xuICAgIGZvbmNvbWxpY3BsdTogZm9uY29tRmllbGRzLmZvbmNvbWxpY3BsdTtcbiAgICBmb25jb21saWJwbHU6IGZvbmNvbUZpZWxkcy5mb25jb21saWJwbHU7XG4gICAgZm9uY29tbGlscGx1OiBmb25jb21GaWVsZHMuZm9uY29tbGlscGx1O1xuICAgIGZvbmNvbWxpY2ZlbXBsdTogZm9uY29tRmllbGRzLmZvbmNvbWxpY2ZlbXBsdTtcbiAgICBmb25jb21saWJmZW1wbHU6IGZvbmNvbUZpZWxkcy5mb25jb21saWJmZW1wbHU7XG4gICAgZm9uY29tbGlsZmVtcGx1OiBmb25jb21GaWVsZHMuZm9uY29tbGlsZmVtcGx1O1xuICAgIHN5c2NyZWRhdDogZm9uY29tRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IGZvbmNvbUZpZWxkcy5zeXNtYWpkYXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBmb25kZWxlZ2FGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGZvbmRlbGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBmb25kZWxsaWIgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZm9uZGVsbGljID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvbmRlbG51bXRyaSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZGVsbGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25kZWxsaWNmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmRlbGxpYmZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZGVsbGlsZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25kZWxsaWNwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmRlbGxpYnBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZGVsbGlscGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25kZWxsaWNmZW1wbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmRlbGxpYmZlbXBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZGVsbGlsZmVtcGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGZvbmRlbGVnYSB7XG4gICAgZm9uZGVsY29kOiBmb25kZWxlZ2FGaWVsZHMuZm9uZGVsY29kO1xuICAgIGZvbmRlbGxpYjogZm9uZGVsZWdhRmllbGRzLmZvbmRlbGxpYjtcbiAgICBmb25kZWxsaWM6IGZvbmRlbGVnYUZpZWxkcy5mb25kZWxsaWM7XG4gICAgZm9uZGVsbnVtdHJpOiBmb25kZWxlZ2FGaWVsZHMuZm9uZGVsbnVtdHJpO1xuICAgIGZvbmRlbGxpbDogZm9uZGVsZWdhRmllbGRzLmZvbmRlbGxpbDtcbiAgICBmb25kZWxsaWNmZW06IGZvbmRlbGVnYUZpZWxkcy5mb25kZWxsaWNmZW07XG4gICAgZm9uZGVsbGliZmVtOiBmb25kZWxlZ2FGaWVsZHMuZm9uZGVsbGliZmVtO1xuICAgIGZvbmRlbGxpbGZlbTogZm9uZGVsZWdhRmllbGRzLmZvbmRlbGxpbGZlbTtcbiAgICBmb25kZWxsaWNwbHU6IGZvbmRlbGVnYUZpZWxkcy5mb25kZWxsaWNwbHU7XG4gICAgZm9uZGVsbGlicGx1OiBmb25kZWxlZ2FGaWVsZHMuZm9uZGVsbGlicGx1O1xuICAgIGZvbmRlbGxpbHBsdTogZm9uZGVsZWdhRmllbGRzLmZvbmRlbGxpbHBsdTtcbiAgICBmb25kZWxsaWNmZW1wbHU6IGZvbmRlbGVnYUZpZWxkcy5mb25kZWxsaWNmZW1wbHU7XG4gICAgZm9uZGVsbGliZmVtcGx1OiBmb25kZWxlZ2FGaWVsZHMuZm9uZGVsbGliZmVtcGx1O1xuICAgIGZvbmRlbGxpbGZlbXBsdTogZm9uZGVsZWdhRmllbGRzLmZvbmRlbGxpbGZlbXBsdTtcbiAgICBzeXNjcmVkYXQ6IGZvbmRlbGVnYUZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBmb25kZWxlZ2FGaWVsZHMuc3lzbWFqZGF0O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZm9uZ3JwcG9sRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBmb25ncnBwb2xjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZm9uZ3JwcG9sbGliID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvbmdycHBvbGxpYyA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBmb25ncnBwb2xudW10cmkgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmdycHBvbGxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZ3JwcG9sbGliZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25ncnBwb2xsaWNmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmdycHBvbGxpbGZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZ3JwcG9sbGlicGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25ncnBwb2xsaWNwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmdycHBvbGxpbHBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9uZ3JwcG9sbGljZmVtcGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBmb25ncnBwb2xsaWJmZW1wbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmdycHBvbGxpbGZlbXBsdSA9IHN0cmluZyB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBmb25ncnBwb2wge1xuICAgIGZvbmdycHBvbGNvZDogZm9uZ3JwcG9sRmllbGRzLmZvbmdycHBvbGNvZDtcbiAgICBmb25ncnBwb2xsaWI6IGZvbmdycHBvbEZpZWxkcy5mb25ncnBwb2xsaWI7XG4gICAgZm9uZ3JwcG9sbGljOiBmb25ncnBwb2xGaWVsZHMuZm9uZ3JwcG9sbGljO1xuICAgIGZvbmdycHBvbG51bXRyaTogZm9uZ3JwcG9sRmllbGRzLmZvbmdycHBvbG51bXRyaTtcbiAgICBmb25ncnBwb2xsaWw6IGZvbmdycHBvbEZpZWxkcy5mb25ncnBwb2xsaWw7XG4gICAgZm9uZ3JwcG9sbGliZmVtOiBmb25ncnBwb2xGaWVsZHMuZm9uZ3JwcG9sbGliZmVtO1xuICAgIGZvbmdycHBvbGxpY2ZlbTogZm9uZ3JwcG9sRmllbGRzLmZvbmdycHBvbGxpY2ZlbTtcbiAgICBmb25ncnBwb2xsaWxmZW06IGZvbmdycHBvbEZpZWxkcy5mb25ncnBwb2xsaWxmZW07XG4gICAgZm9uZ3JwcG9sbGlicGx1OiBmb25ncnBwb2xGaWVsZHMuZm9uZ3JwcG9sbGlicGx1O1xuICAgIGZvbmdycHBvbGxpY3BsdTogZm9uZ3JwcG9sRmllbGRzLmZvbmdycHBvbGxpY3BsdTtcbiAgICBmb25ncnBwb2xsaWxwbHU6IGZvbmdycHBvbEZpZWxkcy5mb25ncnBwb2xsaWxwbHU7XG4gICAgc3lzY3JlZGF0OiBmb25ncnBwb2xGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZm9uZ3JwcG9sRmllbGRzLnN5c21hamRhdDtcbiAgICBmb25ncnBwb2xsaWNmZW1wbHU6IGZvbmdycHBvbEZpZWxkcy5mb25ncnBwb2xsaWNmZW1wbHU7XG4gICAgZm9uZ3JwcG9sbGliZmVtcGx1OiBmb25ncnBwb2xGaWVsZHMuZm9uZ3JwcG9sbGliZmVtcGx1O1xuICAgIGZvbmdycHBvbGxpbGZlbXBsdTogZm9uZ3JwcG9sRmllbGRzLmZvbmdycHBvbGxpbGZlbXBsdTtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGZvbm1lbWNvbUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZm9ubWVtY29taWQgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgZm9uY29tY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWNvbWRhdGRlYiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWNvbWRhdGZpbiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWNvbXJuZ3BydCA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGVtdmFsY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVvYnMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG1lbWNvbWlkID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGV2ZXRlbXB1YiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBmb25tZW1jb20ge1xuICAgIGZvbm1lbWNvbWlkOiBmb25tZW1jb21GaWVsZHMuZm9ubWVtY29taWQ7XG4gICAgZm9uY29tY29kOiBmb25tZW1jb21GaWVsZHMuZm9uY29tY29kO1xuICAgIGZvbm1lbWNvbWRhdGRlYjogZm9ubWVtY29tRmllbGRzLmZvbm1lbWNvbWRhdGRlYjtcbiAgICBmb25tZW1jb21kYXRmaW46IGZvbm1lbWNvbUZpZWxkcy5mb25tZW1jb21kYXRmaW47XG4gICAgZm9ubWVtY29tcm5ncHJ0OiBmb25tZW1jb21GaWVsZHMuZm9ubWVtY29tcm5ncHJ0O1xuICAgIHRlbXZhbGNvZDogZm9ubWVtY29tRmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IGZvbm1lbWNvbUZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBmb25tZW1jb21GaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogZm9ubWVtY29tRmllbGRzLmV2ZWxpbDtcbiAgICBldmVvYnM6IGZvbm1lbWNvbUZpZWxkcy5ldmVvYnM7XG4gICAgbWVtY29taWQ6IGZvbm1lbWNvbUZpZWxkcy5tZW1jb21pZDtcbiAgICBldmV0ZW1wdWI6IGZvbm1lbWNvbUZpZWxkcy5ldmV0ZW1wdWI7XG4gICAgc3lzY3JlZGF0OiBmb25tZW1jb21GaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZm9ubWVtY29tRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGZvbm1lbWRlbGVnYUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZm9ubWVtZGVsaWQgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgZm9uZGVsY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWRlbGRhdGRlYiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWRlbGRhdGZpbiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRlbXZhbGNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGljID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlb2JzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBtZW1kZWxlZ2FpZCA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBmb25tZW1kZWxybmdlbGUgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZXRlbXB1YiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBmb25tZW1kZWxlZ2Ege1xuICAgIGZvbm1lbWRlbGlkOiBmb25tZW1kZWxlZ2FGaWVsZHMuZm9ubWVtZGVsaWQ7XG4gICAgZm9uZGVsY29kOiBmb25tZW1kZWxlZ2FGaWVsZHMuZm9uZGVsY29kO1xuICAgIGZvbm1lbWRlbGRhdGRlYjogZm9ubWVtZGVsZWdhRmllbGRzLmZvbm1lbWRlbGRhdGRlYjtcbiAgICBmb25tZW1kZWxkYXRmaW46IGZvbm1lbWRlbGVnYUZpZWxkcy5mb25tZW1kZWxkYXRmaW47XG4gICAgdGVtdmFsY29kOiBmb25tZW1kZWxlZ2FGaWVsZHMudGVtdmFsY29kO1xuICAgIGV2ZWxpYzogZm9ubWVtZGVsZWdhRmllbGRzLmV2ZWxpYztcbiAgICBldmVsaWI6IGZvbm1lbWRlbGVnYUZpZWxkcy5ldmVsaWI7XG4gICAgZXZlbGlsOiBmb25tZW1kZWxlZ2FGaWVsZHMuZXZlbGlsO1xuICAgIGV2ZW9iczogZm9ubWVtZGVsZWdhRmllbGRzLmV2ZW9icztcbiAgICBtZW1kZWxlZ2FpZDogZm9ubWVtZGVsZWdhRmllbGRzLm1lbWRlbGVnYWlkO1xuICAgIGZvbm1lbWRlbHJuZ2VsZTogZm9ubWVtZGVsZWdhRmllbGRzLmZvbm1lbWRlbHJuZ2VsZTtcbiAgICBldmV0ZW1wdWI6IGZvbm1lbWRlbGVnYUZpZWxkcy5ldmV0ZW1wdWI7XG4gICAgc3lzY3JlZGF0OiBmb25tZW1kZWxlZ2FGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZm9ubWVtZGVsZWdhRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGZvbm1lbWdycHBvbEZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZm9ubWVtZ3JwcG9saWQgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgZm9uZ3JwcG9sY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWdycHBvbGRhdGRlYiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbm1lbWdycHBvbGRhdGZpbiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRlbXZhbGNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGljID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlb2JzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBtZW1ncnBwb2xpZCA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBldmV0ZW1wdWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgZm9ubWVtZ3JwcG9sIHtcbiAgICBmb25tZW1ncnBwb2xpZDogZm9ubWVtZ3JwcG9sRmllbGRzLmZvbm1lbWdycHBvbGlkO1xuICAgIGZvbmdycHBvbGNvZDogZm9ubWVtZ3JwcG9sRmllbGRzLmZvbmdycHBvbGNvZDtcbiAgICBmb25tZW1ncnBwb2xkYXRkZWI6IGZvbm1lbWdycHBvbEZpZWxkcy5mb25tZW1ncnBwb2xkYXRkZWI7XG4gICAgZm9ubWVtZ3JwcG9sZGF0ZmluOiBmb25tZW1ncnBwb2xGaWVsZHMuZm9ubWVtZ3JwcG9sZGF0ZmluO1xuICAgIHRlbXZhbGNvZDogZm9ubWVtZ3JwcG9sRmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IGZvbm1lbWdycHBvbEZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBmb25tZW1ncnBwb2xGaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogZm9ubWVtZ3JwcG9sRmllbGRzLmV2ZWxpbDtcbiAgICBldmVvYnM6IGZvbm1lbWdycHBvbEZpZWxkcy5ldmVvYnM7XG4gICAgbWVtZ3JwcG9saWQ6IGZvbm1lbWdycHBvbEZpZWxkcy5tZW1ncnBwb2xpZDtcbiAgICBldmV0ZW1wdWI6IGZvbm1lbWdycHBvbEZpZWxkcy5ldmV0ZW1wdWI7XG4gICAgc3lzY3JlZGF0OiBmb25tZW1ncnBwb2xGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogZm9ubWVtZ3JwcG9sRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGZvcnB1YkZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZm9ycHViY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGZvcnB1YmxpYiA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGZvcnB1YiB7XG4gICAgZm9ycHViY29kOiBmb3JwdWJGaWVsZHMuZm9ycHViY29kO1xuICAgIGZvcnB1YmxpYjogZm9ycHViRmllbGRzLmZvcnB1YmxpYjtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGdlbkZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZ2VuY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGdlbmxpYiA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGdlbiB7XG4gICAgZ2VuY29kOiBnZW5GaWVsZHMuZ2VuY29kO1xuICAgIGdlbmxpYjogZ2VuRmllbGRzLmdlbmxpYjtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGdycHBvbEZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZ3JwcG9sY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGdycHBvbG51bXRyaSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZ3JwcG9scHJlID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBncnBwb2xkYXRjcmUgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBncnBwb2xkYXRmaW4gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBncnBwb2xsaWNjb3UgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGdycHBvbGxpYmNvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZ3JwcG9sbGlsY291ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ2NvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBncnBwb2xhcnQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGdycHBvbHVybHNpbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZ3JwcG9sdXJsY21wID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBncnBwb2xjb2RhbWVsaWNvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZldGVtcHViID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBncnBwb2xjb2RzY3IgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGdycHBvbGNvZHJlcHJvID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGdycHBvbCB7XG4gICAgZ3JwcG9sY29kOiBncnBwb2xGaWVsZHMuZ3JwcG9sY29kO1xuICAgIGdycHBvbG51bXRyaTogZ3JwcG9sRmllbGRzLmdycHBvbG51bXRyaTtcbiAgICBncnBwb2xwcmU6IGdycHBvbEZpZWxkcy5ncnBwb2xwcmU7XG4gICAgZ3JwcG9sZGF0Y3JlOiBncnBwb2xGaWVsZHMuZ3JwcG9sZGF0Y3JlO1xuICAgIGdycHBvbGRhdGZpbjogZ3JwcG9sRmllbGRzLmdycHBvbGRhdGZpbjtcbiAgICBncnBwb2xsaWNjb3U6IGdycHBvbEZpZWxkcy5ncnBwb2xsaWNjb3U7XG4gICAgZ3JwcG9sbGliY291OiBncnBwb2xGaWVsZHMuZ3JwcG9sbGliY291O1xuICAgIGdycHBvbGxpbGNvdTogZ3JwcG9sRmllbGRzLmdycHBvbGxpbGNvdTtcbiAgICB0ZW12YWxjb2Q6IGdycHBvbEZpZWxkcy50ZW12YWxjb2Q7XG4gICAgZXZlbGljOiBncnBwb2xGaWVsZHMuZXZlbGljO1xuICAgIGV2ZWxpYjogZ3JwcG9sRmllbGRzLmV2ZWxpYjtcbiAgICBldmVsaWw6IGdycHBvbEZpZWxkcy5ldmVsaWw7XG4gICAgdHlwb3JnY29kOiBncnBwb2xGaWVsZHMudHlwb3JnY29kO1xuICAgIGdycHBvbGFydDogZ3JwcG9sRmllbGRzLmdycHBvbGFydDtcbiAgICBncnBwb2x1cmxzaW06IGdycHBvbEZpZWxkcy5ncnBwb2x1cmxzaW07XG4gICAgZ3JwcG9sdXJsY21wOiBncnBwb2xGaWVsZHMuZ3JwcG9sdXJsY21wO1xuICAgIGdycHBvbGNvZGFtZWxpY291OiBncnBwb2xGaWVsZHMuZ3JwcG9sY29kYW1lbGljb3U7XG4gICAgZXZldGVtcHViOiBncnBwb2xGaWVsZHMuZXZldGVtcHViO1xuICAgIGdycHBvbGNvZHNjcjogZ3JwcG9sRmllbGRzLmdycHBvbGNvZHNjcjtcbiAgICBncnBwb2xjb2RyZXBybzogZ3JwcG9sRmllbGRzLmdycHBvbGNvZHJlcHJvO1xuICAgIHN5c2NyZWRhdDogZ3JwcG9sRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IGdycHBvbEZpZWxkcy5zeXNtYWpkYXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBsZWNhc3NGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2lkdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBsZWNpZHQgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgY29kYXNzID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIG9yZHJlYXNzID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHNlc2FubiA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcHRsbnVtID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGx1cmwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHB0bG51bWNwbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcHRsbm90ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGx1cmwyID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGxub3QyID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGx1cmwzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGxub3QzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGxudW1jcGwyID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGxudW1jcGwzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsZWNhc3NhbWUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2FtZXNlcyA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsb2lpbnRtb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJldWNvbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGViYXRzdXJsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkZXBvdF9vbmx5ID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2FtZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2FtZWNvbWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yaXBwciA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGlicHByID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZXNwcHIgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHB0bHVybGNvbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgYWxpYXNwcHIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxlY2Fzc2FtZWNvbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGVjYXNzYW1lc2VzY29tID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBwdGxudW1jb20gPSBudW1iZXIgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgbGVjYXNzIHtcbiAgICBsZWNhc3NpZHQ6IGxlY2Fzc0ZpZWxkcy5sZWNhc3NpZHQ7XG4gICAgbGVjaWR0OiBsZWNhc3NGaWVsZHMubGVjaWR0O1xuICAgIGNvZGFzczogbGVjYXNzRmllbGRzLmNvZGFzcztcbiAgICBvcmRyZWFzczogbGVjYXNzRmllbGRzLm9yZHJlYXNzO1xuICAgIHNlc2FubjogbGVjYXNzRmllbGRzLnNlc2FubjtcbiAgICBwdGxudW06IGxlY2Fzc0ZpZWxkcy5wdGxudW07XG4gICAgcHRsdXJsOiBsZWNhc3NGaWVsZHMucHRsdXJsO1xuICAgIHB0bG51bWNwbDogbGVjYXNzRmllbGRzLnB0bG51bWNwbDtcbiAgICBwdGxub3Q6IGxlY2Fzc0ZpZWxkcy5wdGxub3Q7XG4gICAgcHRsdXJsMjogbGVjYXNzRmllbGRzLnB0bHVybDI7XG4gICAgcHRsbm90MjogbGVjYXNzRmllbGRzLnB0bG5vdDI7XG4gICAgcHRsdXJsMzogbGVjYXNzRmllbGRzLnB0bHVybDM7XG4gICAgcHRsbm90MzogbGVjYXNzRmllbGRzLnB0bG5vdDM7XG4gICAgcHRsbnVtY3BsMjogbGVjYXNzRmllbGRzLnB0bG51bWNwbDI7XG4gICAgcHRsbnVtY3BsMzogbGVjYXNzRmllbGRzLnB0bG51bWNwbDM7XG4gICAgbGVjYXNzYW1lOiBsZWNhc3NGaWVsZHMubGVjYXNzYW1lO1xuICAgIGxlY2Fzc2FtZXNlczogbGVjYXNzRmllbGRzLmxlY2Fzc2FtZXNlcztcbiAgICBvcmdjb2Q6IGxlY2Fzc0ZpZWxkcy5vcmdjb2Q7XG4gICAgbG9paW50bW9kOiBsZWNhc3NGaWVsZHMubG9paW50bW9kO1xuICAgIHJldWNvbTogbGVjYXNzRmllbGRzLnJldWNvbTtcbiAgICBkZWJhdHN1cmw6IGxlY2Fzc0ZpZWxkcy5kZWJhdHN1cmw7XG4gICAgZGVwb3Rfb25seTogbGVjYXNzRmllbGRzLmRlcG90X29ubHk7XG4gICAgbGVjYXNzYW1lZGF0OiBsZWNhc3NGaWVsZHMubGVjYXNzYW1lZGF0O1xuICAgIGxlY2Fzc2FtZWNvbWRhdDogbGVjYXNzRmllbGRzLmxlY2Fzc2FtZWNvbWRhdDtcbiAgICBvcmlwcHI6IGxlY2Fzc0ZpZWxkcy5vcmlwcHI7XG4gICAgbGlicHByOiBsZWNhc3NGaWVsZHMubGlicHByO1xuICAgIHNlc3BwcjogbGVjYXNzRmllbGRzLnNlc3BwcjtcbiAgICBwdGx1cmxjb206IGxlY2Fzc0ZpZWxkcy5wdGx1cmxjb207XG4gICAgYWxpYXNwcHI6IGxlY2Fzc0ZpZWxkcy5hbGlhc3BwcjtcbiAgICBsZWNhc3NhbWVjb206IGxlY2Fzc0ZpZWxkcy5sZWNhc3NhbWVjb207XG4gICAgbGVjYXNzYW1lc2VzY29tOiBsZWNhc3NGaWVsZHMubGVjYXNzYW1lc2VzY29tO1xuICAgIHB0bG51bWNvbTogbGVjYXNzRmllbGRzLnB0bG51bWNvbTtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGxlY2Fzc3JhcEZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgbGVjYXNzaWR0ID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHJhcGNvZCA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBsZWNhc3NyYXBvcmQgPSBudW1iZXIgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgbGVjYXNzcmFwIHtcbiAgICBsZWNhc3NpZHQ6IGxlY2Fzc3JhcEZpZWxkcy5sZWNhc3NpZHQ7XG4gICAgcmFwY29kOiBsZWNhc3NyYXBGaWVsZHMucmFwY29kO1xuICAgIGxlY2Fzc3JhcG9yZDogbGVjYXNzcmFwRmllbGRzLmxlY2Fzc3JhcG9yZDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIGxlY3R1cmVGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGxlY2lkdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBsb2ljb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwbGVjY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGxlY2NvbSA9IHN0cmluZyB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBsZWN0dXJlIHtcbiAgICBsZWNpZHQ6IGxlY3R1cmVGaWVsZHMubGVjaWR0O1xuICAgIGxvaWNvZDogbGVjdHVyZUZpZWxkcy5sb2ljb2Q7XG4gICAgdHlwbGVjY29kOiBsZWN0dXJlRmllbGRzLnR5cGxlY2NvZDtcbiAgICBsZWNjb206IGxlY3R1cmVGaWVsZHMubGVjY29tO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbGliY29tRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbGliY29tZGF0ZGViID0gRGF0ZTtcbiAgICBleHBvcnQgdHlwZSBsaWJjb21kYXRmaW4gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZW9icyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGliY29tYXJ0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsaWJjb21saWxtaW4gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxpYmNvbWxpYmFtZWxpID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsaWJjb21pZCA9IG51bWJlcjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGxpYmNvbSB7XG4gICAgb3JnY29kOiBsaWJjb21GaWVsZHMub3JnY29kO1xuICAgIGxpYmNvbWRhdGRlYjogbGliY29tRmllbGRzLmxpYmNvbWRhdGRlYjtcbiAgICBsaWJjb21kYXRmaW46IGxpYmNvbUZpZWxkcy5saWJjb21kYXRmaW47XG4gICAgdGVtdmFsY29kOiBsaWJjb21GaWVsZHMudGVtdmFsY29kO1xuICAgIGV2ZWxpYzogbGliY29tRmllbGRzLmV2ZWxpYztcbiAgICBldmVsaWI6IGxpYmNvbUZpZWxkcy5ldmVsaWI7XG4gICAgZXZlbGlsOiBsaWJjb21GaWVsZHMuZXZlbGlsO1xuICAgIGV2ZW9iczogbGliY29tRmllbGRzLmV2ZW9icztcbiAgICBsaWJjb21hcnQ6IGxpYmNvbUZpZWxkcy5saWJjb21hcnQ7XG4gICAgbGliY29tbGlsbWluOiBsaWJjb21GaWVsZHMubGliY29tbGlsbWluO1xuICAgIGxpYmNvbWxpYmFtZWxpOiBsaWJjb21GaWVsZHMubGliY29tbGliYW1lbGk7XG4gICAgc3lzY3JlZGF0OiBsaWJjb21GaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogbGliY29tRmllbGRzLnN5c21hamRhdDtcbiAgICBsaWJjb21pZDogbGliY29tRmllbGRzLmxpYmNvbWlkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbGliZGVsZWdhRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbGliZGVsZWdhZGF0ZGViID0gRGF0ZTtcbiAgICBleHBvcnQgdHlwZSBsaWJkZWxlZ2FkYXRmaW4gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZW9icyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGliZGVsZWdhYXJ0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsaWJkZWxlZ2FpZCA9IG51bWJlcjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGxpYmRlbGVnYSB7XG4gICAgb3JnY29kOiBsaWJkZWxlZ2FGaWVsZHMub3JnY29kO1xuICAgIGxpYmRlbGVnYWRhdGRlYjogbGliZGVsZWdhRmllbGRzLmxpYmRlbGVnYWRhdGRlYjtcbiAgICBsaWJkZWxlZ2FkYXRmaW46IGxpYmRlbGVnYUZpZWxkcy5saWJkZWxlZ2FkYXRmaW47XG4gICAgdGVtdmFsY29kOiBsaWJkZWxlZ2FGaWVsZHMudGVtdmFsY29kO1xuICAgIGV2ZWxpYzogbGliZGVsZWdhRmllbGRzLmV2ZWxpYztcbiAgICBldmVsaWI6IGxpYmRlbGVnYUZpZWxkcy5ldmVsaWI7XG4gICAgZXZlbGlsOiBsaWJkZWxlZ2FGaWVsZHMuZXZlbGlsO1xuICAgIGV2ZW9iczogbGliZGVsZWdhRmllbGRzLmV2ZW9icztcbiAgICBsaWJkZWxlZ2FhcnQ6IGxpYmRlbGVnYUZpZWxkcy5saWJkZWxlZ2FhcnQ7XG4gICAgc3lzY3JlZGF0OiBsaWJkZWxlZ2FGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogbGliZGVsZWdhRmllbGRzLnN5c21hamRhdDtcbiAgICBsaWJkZWxlZ2FpZDogbGliZGVsZWdhRmllbGRzLmxpYmRlbGVnYWlkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbGliZ3JwcG9sRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBncnBwb2xjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbGliZ3JwcG9sZGF0ZGViID0gRGF0ZTtcbiAgICBleHBvcnQgdHlwZSBsaWJncnBwb2xkYXRmaW4gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZW9icyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGliZ3JwcG9sYXJ0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsaWJncnBwb2xjb2RhbWVsaSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGliZ3JwcG9saWQgPSBudW1iZXI7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBsaWJncnBwb2wge1xuICAgIGdycHBvbGNvZDogbGliZ3JwcG9sRmllbGRzLmdycHBvbGNvZDtcbiAgICBsaWJncnBwb2xkYXRkZWI6IGxpYmdycHBvbEZpZWxkcy5saWJncnBwb2xkYXRkZWI7XG4gICAgbGliZ3JwcG9sZGF0ZmluOiBsaWJncnBwb2xGaWVsZHMubGliZ3JwcG9sZGF0ZmluO1xuICAgIHRlbXZhbGNvZDogbGliZ3JwcG9sRmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IGxpYmdycHBvbEZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBsaWJncnBwb2xGaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogbGliZ3JwcG9sRmllbGRzLmV2ZWxpbDtcbiAgICBldmVvYnM6IGxpYmdycHBvbEZpZWxkcy5ldmVvYnM7XG4gICAgbGliZ3JwcG9sYXJ0OiBsaWJncnBwb2xGaWVsZHMubGliZ3JwcG9sYXJ0O1xuICAgIGxpYmdycHBvbGNvZGFtZWxpOiBsaWJncnBwb2xGaWVsZHMubGliZ3JwcG9sY29kYW1lbGk7XG4gICAgc3lzY3JlZGF0OiBsaWJncnBwb2xGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogbGliZ3JwcG9sRmllbGRzLnN5c21hamRhdDtcbiAgICBsaWJncnBwb2xpZDogbGliZ3JwcG9sRmllbGRzLmxpYmdycHBvbGlkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbG5rcmFwRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSByYXBjb2RwZXIgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgcmFwY29kZW5mID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHJhcHBlcmRzYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcmFwZW5mZHNjID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGxua3JhcCB7XG4gICAgcmFwY29kcGVyOiBsbmtyYXBGaWVsZHMucmFwY29kcGVyO1xuICAgIHJhcGNvZGVuZjogbG5rcmFwRmllbGRzLnJhcGNvZGVuZjtcbiAgICByYXBwZXJkc2M6IGxua3JhcEZpZWxkcy5yYXBwZXJkc2M7XG4gICAgcmFwZW5mZHNjOiBsbmtyYXBGaWVsZHMucmFwZW5mZHNjO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbG9pRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBsb2ljb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwbG9pY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGV0YWxvaWNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGVjY29jY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBudW1lcm8gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNpZ25ldCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbG9pZW50ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBtb3RjbGVmID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsb2l0aXQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxvaWludCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdXJnZW5jZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdXJsX2pvID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsb2ludW1qbyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbG9pZGF0am8gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkYXRlX2xvaSA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxvaXRpdGpvID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmxfam8yID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsb2ludW1qbzIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGxvaWRhdGpvMiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRlY2NvY3VybCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbnVtX2RlY2lzaW9uID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBkYXRlX2RlY2lzaW9uID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbG9pY29kbWFpID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsb2lub3VkZWxpYmNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbW90aW9ubG9pb3JpZ2NvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb2JqZXQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybF9vcmRvbm5hbmNlID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzYWlzaW5lX2RhdGUgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzYWlzaW5lX3BhciA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbG9pZGF0am8zID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbG9pbnVtam8zID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmxfam8zID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmxfYW4gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybF9wcmVzYXJ0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzaWduZXRhbHQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ2NvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZG9zY29jdXJsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsb2lpbnRvcmkgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHByb2FjY2RhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHByb2FjY29wcGRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJldHByb2FjY2RhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgbG9pIHtcbiAgICBsb2ljb2Q6IGxvaUZpZWxkcy5sb2ljb2Q7XG4gICAgdHlwbG9pY29kOiBsb2lGaWVsZHMudHlwbG9pY29kO1xuICAgIGV0YWxvaWNvZDogbG9pRmllbGRzLmV0YWxvaWNvZDtcbiAgICBkZWNjb2Njb2Q6IGxvaUZpZWxkcy5kZWNjb2Njb2Q7XG4gICAgbnVtZXJvOiBsb2lGaWVsZHMubnVtZXJvO1xuICAgIHNpZ25ldDogbG9pRmllbGRzLnNpZ25ldDtcbiAgICBsb2llbnQ6IGxvaUZpZWxkcy5sb2llbnQ7XG4gICAgbW90Y2xlZjogbG9pRmllbGRzLm1vdGNsZWY7XG4gICAgbG9pdGl0OiBsb2lGaWVsZHMubG9pdGl0O1xuICAgIGxvaWludDogbG9pRmllbGRzLmxvaWludDtcbiAgICB1cmdlbmNlOiBsb2lGaWVsZHMudXJnZW5jZTtcbiAgICB1cmxfam86IGxvaUZpZWxkcy51cmxfam87XG4gICAgbG9pbnVtam86IGxvaUZpZWxkcy5sb2ludW1qbztcbiAgICBsb2lkYXRqbzogbG9pRmllbGRzLmxvaWRhdGpvO1xuICAgIGRhdGVfbG9pOiBsb2lGaWVsZHMuZGF0ZV9sb2k7XG4gICAgbG9pdGl0am86IGxvaUZpZWxkcy5sb2l0aXRqbztcbiAgICB1cmxfam8yOiBsb2lGaWVsZHMudXJsX2pvMjtcbiAgICBsb2ludW1qbzI6IGxvaUZpZWxkcy5sb2ludW1qbzI7XG4gICAgbG9pZGF0am8yOiBsb2lGaWVsZHMubG9pZGF0am8yO1xuICAgIGRlY2NvY3VybDogbG9pRmllbGRzLmRlY2NvY3VybDtcbiAgICBudW1fZGVjaXNpb246IGxvaUZpZWxkcy5udW1fZGVjaXNpb247XG4gICAgZGF0ZV9kZWNpc2lvbjogbG9pRmllbGRzLmRhdGVfZGVjaXNpb247XG4gICAgbG9pY29kbWFpOiBsb2lGaWVsZHMubG9pY29kbWFpO1xuICAgIGxvaW5vdWRlbGliY29kOiBsb2lGaWVsZHMubG9pbm91ZGVsaWJjb2Q7XG4gICAgbW90aW9ubG9pb3JpZ2NvZDogbG9pRmllbGRzLm1vdGlvbmxvaW9yaWdjb2Q7XG4gICAgb2JqZXQ6IGxvaUZpZWxkcy5vYmpldDtcbiAgICB1cmxfb3Jkb25uYW5jZTogbG9pRmllbGRzLnVybF9vcmRvbm5hbmNlO1xuICAgIHNhaXNpbmVfZGF0ZTogbG9pRmllbGRzLnNhaXNpbmVfZGF0ZTtcbiAgICBzYWlzaW5lX3BhcjogbG9pRmllbGRzLnNhaXNpbmVfcGFyO1xuICAgIGxvaWRhdGpvMzogbG9pRmllbGRzLmxvaWRhdGpvMztcbiAgICBsb2ludW1qbzM6IGxvaUZpZWxkcy5sb2ludW1qbzM7XG4gICAgdXJsX2pvMzogbG9pRmllbGRzLnVybF9qbzM7XG4gICAgdXJsX2FuOiBsb2lGaWVsZHMudXJsX2FuO1xuICAgIHVybF9wcmVzYXJ0OiBsb2lGaWVsZHMudXJsX3ByZXNhcnQ7XG4gICAgc2lnbmV0YWx0OiBsb2lGaWVsZHMuc2lnbmV0YWx0O1xuICAgIG9yZ2NvZDogbG9pRmllbGRzLm9yZ2NvZDtcbiAgICBkb3Njb2N1cmw6IGxvaUZpZWxkcy5kb3Njb2N1cmw7XG4gICAgbG9paW50b3JpOiBsb2lGaWVsZHMubG9paW50b3JpO1xuICAgIHByb2FjY2RhdDogbG9pRmllbGRzLnByb2FjY2RhdDtcbiAgICBwcm9hY2NvcHBkYXQ6IGxvaUZpZWxkcy5wcm9hY2NvcHBkYXQ7XG4gICAgcmV0cHJvYWNjZGF0OiBsb2lGaWVsZHMucmV0cHJvYWNjZGF0O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbG9pdGhlRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBsb2ljb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdGhlY2xlID0gbnVtYmVyO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgbG9pdGhlIHtcbiAgICBsb2ljb2Q6IGxvaXRoZUZpZWxkcy5sb2ljb2Q7XG4gICAgdGhlY2xlOiBsb2l0aGVGaWVsZHMudGhlY2xlO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbWVtY29tRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBtZW1jb21pZCA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbWVtY29tZGF0ZGViID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbWVtY29tZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGVtdmFsY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVvYnMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbm1hdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBtZW1jb210aXRzdXAgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZXRlbXB1YiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBtZW1jb20ge1xuICAgIG1lbWNvbWlkOiBtZW1jb21GaWVsZHMubWVtY29taWQ7XG4gICAgb3JnY29kOiBtZW1jb21GaWVsZHMub3JnY29kO1xuICAgIG1lbWNvbWRhdGRlYjogbWVtY29tRmllbGRzLm1lbWNvbWRhdGRlYjtcbiAgICBtZW1jb21kYXRmaW46IG1lbWNvbUZpZWxkcy5tZW1jb21kYXRmaW47XG4gICAgdGVtdmFsY29kOiBtZW1jb21GaWVsZHMudGVtdmFsY29kO1xuICAgIGV2ZWxpYzogbWVtY29tRmllbGRzLmV2ZWxpYztcbiAgICBldmVsaWI6IG1lbWNvbUZpZWxkcy5ldmVsaWI7XG4gICAgZXZlbGlsOiBtZW1jb21GaWVsZHMuZXZlbGlsO1xuICAgIGV2ZW9iczogbWVtY29tRmllbGRzLmV2ZW9icztcbiAgICBzZW5tYXQ6IG1lbWNvbUZpZWxkcy5zZW5tYXQ7XG4gICAgbWVtY29tdGl0c3VwOiBtZW1jb21GaWVsZHMubWVtY29tdGl0c3VwO1xuICAgIGV2ZXRlbXB1YjogbWVtY29tRmllbGRzLmV2ZXRlbXB1YjtcbiAgICBzeXNjcmVkYXQ6IG1lbWNvbUZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBtZW1jb21GaWVsZHMuc3lzbWFqZGF0O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgbWVtZGVsZWdhRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBtZW1kZWxlZ2FpZCA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbWVtZGVsZWdhZGF0ZGViID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbWVtZGVsZWdhZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGVtdmFsY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVvYnMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbm1hdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBkZXNpZ25jb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgZXZldGVtcHViID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIG1lbWRlbGVnYSB7XG4gICAgbWVtZGVsZWdhaWQ6IG1lbWRlbGVnYUZpZWxkcy5tZW1kZWxlZ2FpZDtcbiAgICBvcmdjb2Q6IG1lbWRlbGVnYUZpZWxkcy5vcmdjb2Q7XG4gICAgbWVtZGVsZWdhZGF0ZGViOiBtZW1kZWxlZ2FGaWVsZHMubWVtZGVsZWdhZGF0ZGViO1xuICAgIG1lbWRlbGVnYWRhdGZpbjogbWVtZGVsZWdhRmllbGRzLm1lbWRlbGVnYWRhdGZpbjtcbiAgICB0ZW12YWxjb2Q6IG1lbWRlbGVnYUZpZWxkcy50ZW12YWxjb2Q7XG4gICAgZXZlbGljOiBtZW1kZWxlZ2FGaWVsZHMuZXZlbGljO1xuICAgIGV2ZWxpYjogbWVtZGVsZWdhRmllbGRzLmV2ZWxpYjtcbiAgICBldmVsaWw6IG1lbWRlbGVnYUZpZWxkcy5ldmVsaWw7XG4gICAgZXZlb2JzOiBtZW1kZWxlZ2FGaWVsZHMuZXZlb2JzO1xuICAgIHNlbm1hdDogbWVtZGVsZWdhRmllbGRzLnNlbm1hdDtcbiAgICBkZXNpZ25jb2Q6IG1lbWRlbGVnYUZpZWxkcy5kZXNpZ25jb2Q7XG4gICAgZXZldGVtcHViOiBtZW1kZWxlZ2FGaWVsZHMuZXZldGVtcHViO1xuICAgIHN5c2NyZWRhdDogbWVtZGVsZWdhRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IG1lbWRlbGVnYUZpZWxkcy5zeXNtYWpkYXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBtZW1ncnBwb2xGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIG1lbWdycHBvbGlkID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGdycHBvbGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBhcHBwb2xjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbWVtZ3JwcG9sZGF0ZGViID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbWVtZ3JwcG9sZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGVtdmFsY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVvYnMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbm1hdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBldmV0ZW1wdWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgbWVtZ3JwcG9sIHtcbiAgICBtZW1ncnBwb2xpZDogbWVtZ3JwcG9sRmllbGRzLm1lbWdycHBvbGlkO1xuICAgIGdycHBvbGNvZDogbWVtZ3JwcG9sRmllbGRzLmdycHBvbGNvZDtcbiAgICB0eXBhcHBwb2xjb2Q6IG1lbWdycHBvbEZpZWxkcy50eXBhcHBwb2xjb2Q7XG4gICAgbWVtZ3JwcG9sZGF0ZGViOiBtZW1ncnBwb2xGaWVsZHMubWVtZ3JwcG9sZGF0ZGViO1xuICAgIG1lbWdycHBvbGRhdGZpbjogbWVtZ3JwcG9sRmllbGRzLm1lbWdycHBvbGRhdGZpbjtcbiAgICB0ZW12YWxjb2Q6IG1lbWdycHBvbEZpZWxkcy50ZW12YWxjb2Q7XG4gICAgZXZlbGljOiBtZW1ncnBwb2xGaWVsZHMuZXZlbGljO1xuICAgIGV2ZWxpYjogbWVtZ3JwcG9sRmllbGRzLmV2ZWxpYjtcbiAgICBldmVsaWw6IG1lbWdycHBvbEZpZWxkcy5ldmVsaWw7XG4gICAgZXZlb2JzOiBtZW1ncnBwb2xGaWVsZHMuZXZlb2JzO1xuICAgIHNlbm1hdDogbWVtZ3JwcG9sRmllbGRzLnNlbm1hdDtcbiAgICBldmV0ZW1wdWI6IG1lbWdycHBvbEZpZWxkcy5ldmV0ZW1wdWI7XG4gICAgc3lzY3JlZGF0OiBtZW1ncnBwb2xGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogbWVtZ3JwcG9sRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIG5hdGxvaUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgZ3JvdXBlID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIG5hdGxvaWxpYiA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIG5hdGxvaSB7XG4gICAgZ3JvdXBlOiBuYXRsb2lGaWVsZHMuZ3JvdXBlO1xuICAgIG5hdGxvaWxpYjogbmF0bG9pRmllbGRzLm5hdGxvaWxpYjtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIG9yZ0ZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgb3JnY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ2NvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBvcmdub20gPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JnbGlibG9uID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBjb2Rhc3MgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ2xpYmFmZiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3Jnb3JkID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmd1cmwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ2xpYmNvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnX2RlID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmx0cmEgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGludHRyYSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnZGF0ZGViY29wID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JnZGF0ZmluY29wID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3Jnbm9tY291diA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2Vub3JnY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBodG1sX2NvbG9yID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdkYXRkZWIgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdkYXRmaW4gPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdnZW4gPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2Ugb3JnIHtcbiAgICBvcmdjb2Q6IG9yZ0ZpZWxkcy5vcmdjb2Q7XG4gICAgdHlwb3JnY29kOiBvcmdGaWVsZHMudHlwb3JnY29kO1xuICAgIG9yZ25vbTogb3JnRmllbGRzLm9yZ25vbTtcbiAgICBvcmdsaWJsb246IG9yZ0ZpZWxkcy5vcmdsaWJsb247XG4gICAgY29kYXNzOiBvcmdGaWVsZHMuY29kYXNzO1xuICAgIG9yZ2xpYmFmZjogb3JnRmllbGRzLm9yZ2xpYmFmZjtcbiAgICBvcmdvcmQ6IG9yZ0ZpZWxkcy5vcmdvcmQ7XG4gICAgb3JndXJsOiBvcmdGaWVsZHMub3JndXJsO1xuICAgIG9yZ2xpYmNvdTogb3JnRmllbGRzLm9yZ2xpYmNvdTtcbiAgICBvcmdfZGU6IG9yZ0ZpZWxkcy5vcmdfZGU7XG4gICAgdXJsdHJhOiBvcmdGaWVsZHMudXJsdHJhO1xuICAgIGludHRyYTogb3JnRmllbGRzLmludHRyYTtcbiAgICBvcmdkYXRkZWJjb3A6IG9yZ0ZpZWxkcy5vcmdkYXRkZWJjb3A7XG4gICAgb3JnZGF0ZmluY29wOiBvcmdGaWVsZHMub3JnZGF0ZmluY29wO1xuICAgIG9yZ25vbWNvdXY6IG9yZ0ZpZWxkcy5vcmdub21jb3V2O1xuICAgIHNlbm9yZ2NvZDogb3JnRmllbGRzLnNlbm9yZ2NvZDtcbiAgICBodG1sX2NvbG9yOiBvcmdGaWVsZHMuaHRtbF9jb2xvcjtcbiAgICBvcmdkYXRkZWI6IG9yZ0ZpZWxkcy5vcmdkYXRkZWI7XG4gICAgb3JnZGF0ZmluOiBvcmdGaWVsZHMub3JnZGF0ZmluO1xuICAgIG9yZ2dlbjogb3JnRmllbGRzLm9yZ2dlbjtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIG9yZ25vbWhpc0ZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgb25obnVtID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIG9yZ2NvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBvcmdub20gPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JnbGliY291ID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIG9yZ2xpYmxvbiA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBvcmdfZGUgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgaW50cmEgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yZ25vbWNvdXYgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9uaGZpbiA9IERhdGU7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBvcmdub21oaXMge1xuICAgIG9uaG51bTogb3Jnbm9taGlzRmllbGRzLm9uaG51bTtcbiAgICBvcmdjb2Q6IG9yZ25vbWhpc0ZpZWxkcy5vcmdjb2Q7XG4gICAgb3Jnbm9tOiBvcmdub21oaXNGaWVsZHMub3Jnbm9tO1xuICAgIG9yZ2xpYmNvdTogb3Jnbm9taGlzRmllbGRzLm9yZ2xpYmNvdTtcbiAgICBvcmdsaWJsb246IG9yZ25vbWhpc0ZpZWxkcy5vcmdsaWJsb247XG4gICAgb3JnX2RlOiBvcmdub21oaXNGaWVsZHMub3JnX2RlO1xuICAgIGludHJhOiBvcmdub21oaXNGaWVsZHMuaW50cmE7XG4gICAgb3Jnbm9tY291djogb3Jnbm9taGlzRmllbGRzLm9yZ25vbWNvdXY7XG4gICAgb25oZmluOiBvcmdub21oaXNGaWVsZHMub25oZmluO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2Ugb3JpcHByRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBvcmlwcHJjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JpcHBybGliID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2Ugb3JpcHByIHtcbiAgICBvcmlwcHJjb2Q6IG9yaXBwckZpZWxkcy5vcmlwcHJjb2Q7XG4gICAgb3JpcHBybGliOiBvcmlwcHJGaWVsZHMub3JpcHBybGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2Ugb3JpdHh0RmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBvcml0eHRjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgb3JpdHh0bGliID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIG9yaW9yZHJlID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBjb2Rhc3MgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yaXR4dGxpYmZlbSA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBvcml0eHRhZG8gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG9yaXR4dG9yZyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgb3JpdHh0bW9kID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIG9yaXR4dCB7XG4gICAgb3JpdHh0Y29kOiBvcml0eHRGaWVsZHMub3JpdHh0Y29kO1xuICAgIG9yaXR4dGxpYjogb3JpdHh0RmllbGRzLm9yaXR4dGxpYjtcbiAgICBvcmlvcmRyZTogb3JpdHh0RmllbGRzLm9yaW9yZHJlO1xuICAgIGNvZGFzczogb3JpdHh0RmllbGRzLmNvZGFzcztcbiAgICBvcml0eHRsaWJmZW06IG9yaXR4dEZpZWxkcy5vcml0eHRsaWJmZW07XG4gICAgb3JpdHh0YWRvOiBvcml0eHRGaWVsZHMub3JpdHh0YWRvO1xuICAgIG9yaXR4dG9yZzogb3JpdHh0RmllbGRzLm9yaXR4dG9yZztcbiAgICBvcml0eHRtb2Q6IG9yaXR4dEZpZWxkcy5vcml0eHRtb2Q7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBwb3N2b3RGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHBvc3ZvdGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBwb3N2b3RsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBwb3N2b3Qge1xuICAgIHBvc3ZvdGNvZDogcG9zdm90RmllbGRzLnBvc3ZvdGNvZDtcbiAgICBwb3N2b3RsaWI6IHBvc3ZvdEZpZWxkcy5wb3N2b3RsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBxdWFGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHF1YWNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBxdWFsaWMgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgcXVhYWJyID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHF1YWFicnBsdSA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHF1YSB7XG4gICAgcXVhY29kOiBxdWFGaWVsZHMucXVhY29kO1xuICAgIHF1YWxpYzogcXVhRmllbGRzLnF1YWxpYztcbiAgICBxdWFhYnI6IHF1YUZpZWxkcy5xdWFhYnI7XG4gICAgcXVhYWJycGx1OiBxdWFGaWVsZHMucXVhYWJycGx1O1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgcXVhX3NlbkZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgcXVhY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHF1YWxpYyA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBxdWFudW10cmkgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHF1YWNvZHNpcnBhcyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcXVhY29kc2V4ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBxdWFsaWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHF1YWxpbCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcXVhbGljcGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBxdWFsaWJwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHF1YWxpbHBsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzY3JlZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3lzbWFqZGF0ID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBxdWFfc2VuIHtcbiAgICBxdWFjb2Q6IHF1YV9zZW5GaWVsZHMucXVhY29kO1xuICAgIHF1YWxpYzogcXVhX3NlbkZpZWxkcy5xdWFsaWM7XG4gICAgcXVhbnVtdHJpOiBxdWFfc2VuRmllbGRzLnF1YW51bXRyaTtcbiAgICBxdWFjb2RzaXJwYXM6IHF1YV9zZW5GaWVsZHMucXVhY29kc2lycGFzO1xuICAgIHF1YWNvZHNleDogcXVhX3NlbkZpZWxkcy5xdWFjb2RzZXg7XG4gICAgcXVhbGliOiBxdWFfc2VuRmllbGRzLnF1YWxpYjtcbiAgICBxdWFsaWw6IHF1YV9zZW5GaWVsZHMucXVhbGlsO1xuICAgIHF1YWxpY3BsdTogcXVhX3NlbkZpZWxkcy5xdWFsaWNwbHU7XG4gICAgcXVhbGlicGx1OiBxdWFfc2VuRmllbGRzLnF1YWxpYnBsdTtcbiAgICBxdWFsaWxwbHU6IHF1YV9zZW5GaWVsZHMucXVhbGlscGx1O1xuICAgIHN5c2NyZWRhdDogcXVhX3NlbkZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBxdWFfc2VuRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIHJhcEZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgcmFwY29kID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHNlc2FubiA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBjb2RkZW5yYXAgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwdXJsID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGJsZWNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcmFwbnVtID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSByYXB0b20gPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJhcGZhYyA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcmFwYW5uID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSByYXB2b2wgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJhcHRpdGNvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcmFwdGlsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSByYXB1cmwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybDIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybDMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybDQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybDJ0eHQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybDN0eHQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHVybDR0eHQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRhdGVfZGVwb3QgPSBEYXRlO1xuICAgIGV4cG9ydCB0eXBlIHByaXggPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJhcG51bWFuID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBudW1lcm9iaXMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJhcHNvdXN0aXQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJhcGRhdHNlYSA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRlcG90X29ubHkgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHJhcHJlcyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZm9ycHViY29kID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHJhcCB7XG4gICAgcmFwY29kOiByYXBGaWVsZHMucmFwY29kO1xuICAgIHNlc2FubjogcmFwRmllbGRzLnNlc2FubjtcbiAgICBjb2RkZW5yYXA6IHJhcEZpZWxkcy5jb2RkZW5yYXA7XG4gICAgdHlwdXJsOiByYXBGaWVsZHMudHlwdXJsO1xuICAgIGJsZWNvZDogcmFwRmllbGRzLmJsZWNvZDtcbiAgICByYXBudW06IHJhcEZpZWxkcy5yYXBudW07XG4gICAgcmFwdG9tOiByYXBGaWVsZHMucmFwdG9tO1xuICAgIHJhcGZhYzogcmFwRmllbGRzLnJhcGZhYztcbiAgICByYXBhbm46IHJhcEZpZWxkcy5yYXBhbm47XG4gICAgcmFwdm9sOiByYXBGaWVsZHMucmFwdm9sO1xuICAgIHJhcHRpdGNvdTogcmFwRmllbGRzLnJhcHRpdGNvdTtcbiAgICByYXB0aWw6IHJhcEZpZWxkcy5yYXB0aWw7XG4gICAgcmFwdXJsOiByYXBGaWVsZHMucmFwdXJsO1xuICAgIHVybDI6IHJhcEZpZWxkcy51cmwyO1xuICAgIHVybDM6IHJhcEZpZWxkcy51cmwzO1xuICAgIHVybDQ6IHJhcEZpZWxkcy51cmw0O1xuICAgIHVybDJ0eHQ6IHJhcEZpZWxkcy51cmwydHh0O1xuICAgIHVybDN0eHQ6IHJhcEZpZWxkcy51cmwzdHh0O1xuICAgIHVybDR0eHQ6IHJhcEZpZWxkcy51cmw0dHh0O1xuICAgIGRhdGVfZGVwb3Q6IHJhcEZpZWxkcy5kYXRlX2RlcG90O1xuICAgIHByaXg6IHJhcEZpZWxkcy5wcml4O1xuICAgIHJhcG51bWFuOiByYXBGaWVsZHMucmFwbnVtYW47XG4gICAgbnVtZXJvYmlzOiByYXBGaWVsZHMubnVtZXJvYmlzO1xuICAgIHJhcHNvdXN0aXQ6IHJhcEZpZWxkcy5yYXBzb3VzdGl0O1xuICAgIHJhcGRhdHNlYTogcmFwRmllbGRzLnJhcGRhdHNlYTtcbiAgICBkZXBvdF9vbmx5OiByYXBGaWVsZHMuZGVwb3Rfb25seTtcbiAgICByYXByZXM6IHJhcEZpZWxkcy5yYXByZXM7XG4gICAgZm9ycHViY29kOiByYXBGaWVsZHMuZm9ycHViY29kO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgcmFwb3JnRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSByYXBjb2QgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgb3JnY29kID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgcmFwb3JnIHtcbiAgICByYXBjb2Q6IHJhcG9yZ0ZpZWxkcy5yYXBjb2Q7XG4gICAgb3JnY29kOiByYXBvcmdGaWVsZHMub3JnY29kO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgcmFwdGhlRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSByYXBjb2QgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgdGhlY2xlID0gbnVtYmVyO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgcmFwdGhlIHtcbiAgICByYXBjb2Q6IHJhcHRoZUZpZWxkcy5yYXBjb2Q7XG4gICAgdGhlY2xlOiByYXB0aGVGaWVsZHMudGhlY2xlO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2Ugcm9sc2lnRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBzaWduYXRhaXJlID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHJvbHNpZ2xpYiA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHJvbHNpZyB7XG4gICAgc2lnbmF0YWlyZTogcm9sc2lnRmllbGRzLnNpZ25hdGFpcmU7XG4gICAgcm9sc2lnbGliOiByb2xzaWdGaWVsZHMucm9sc2lnbGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2Ugc2NyRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBzZXNhbm4gPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgc2NybnVtID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGNvZGUgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNjcmludCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2NyZGF0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2NycG91ID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzY3Jjb24gPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNjcnZvdCA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2Nyc3VmID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzY3J2b3RzZWEgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNjcnN1ZnNlYSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2NycG91c2VhID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzY3Jjb25zZWEgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNjcm1haiA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2NybWFqc2VhID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzb3NsaWIgPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2Ugc2NyIHtcbiAgICBzZXNhbm46IHNjckZpZWxkcy5zZXNhbm47XG4gICAgc2NybnVtOiBzY3JGaWVsZHMuc2NybnVtO1xuICAgIGNvZGU6IHNjckZpZWxkcy5jb2RlO1xuICAgIHNjcmludDogc2NyRmllbGRzLnNjcmludDtcbiAgICBzY3JkYXQ6IHNjckZpZWxkcy5zY3JkYXQ7XG4gICAgc2NycG91OiBzY3JGaWVsZHMuc2NycG91O1xuICAgIHNjcmNvbjogc2NyRmllbGRzLnNjcmNvbjtcbiAgICBzY3J2b3Q6IHNjckZpZWxkcy5zY3J2b3Q7XG4gICAgc2Nyc3VmOiBzY3JGaWVsZHMuc2Nyc3VmO1xuICAgIHNjcnZvdHNlYTogc2NyRmllbGRzLnNjcnZvdHNlYTtcbiAgICBzY3JzdWZzZWE6IHNjckZpZWxkcy5zY3JzdWZzZWE7XG4gICAgc2NycG91c2VhOiBzY3JGaWVsZHMuc2NycG91c2VhO1xuICAgIHNjcmNvbnNlYTogc2NyRmllbGRzLnNjcmNvbnNlYTtcbiAgICBzY3JtYWo6IHNjckZpZWxkcy5zY3JtYWo7XG4gICAgc2NybWFqc2VhOiBzY3JGaWVsZHMuc2NybWFqc2VhO1xuICAgIHNvc2xpYjogc2NyRmllbGRzLnNvc2xpYjtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIHNlbkZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgc2VubWF0ID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHF1YWNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBzZW5ub211c2UgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgc2VucHJlbm9tdXNlID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGV0YXNlbmNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBzZW5ncnBwb2xjb2Rjb3UgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmdycHBvbGxpY2NvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VudHlwYXBwY291ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5jb21jb2Rjb3UgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmNvbWxpY2NvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuY2lybnVtY291ID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5jaXJjb3UgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmJ1cmxpY2NvdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuZGF0cHJlZWxlID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2Vubm9tdXNlY2FwID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNlbmNyaW5vbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5ub21kaXMgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbm5vbWRpdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGl0bm9iY29kID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5vYnM0cjEgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbm9iczRyMiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2Vub2JzM3IxID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5vYnMzcjIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmRhdGRlcmVsZSA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmNpcm51bWNvdTRyID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5jaXJjb3U0ciA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuY2lybnVtY291M3IgPSBudW1iZXIgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmNpcmNvdTNyID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5ncnBwb2xjb2Rjb3U0ciA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VudHlwYXBwY291NHIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGNhdHByb2NvZDJlID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5kZXNwcm8yZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuZ3JwcG9sY29tbXUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbm9ic2NvbW11ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5idXJjb21tdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgaWRlbnRpZmlhbnRfcm5lID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBpZGVudGlmaWFudF9hc3NuYXQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRpdHJlX3BhaXJfZnJhbmNlID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBsaXN0ZXJfdGl0cmVfcGFpcl9mcmFuY2UgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGZvbmN0aW9uX3BhaXIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGNyZWRpdF9wb3J0cmFpdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGlzdGVyX2F1dHJlX3RpdHJlX3BhaXJfZnJhbmNlID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHNlbiB7XG4gICAgc2VubWF0OiBzZW5GaWVsZHMuc2VubWF0O1xuICAgIHF1YWNvZDogc2VuRmllbGRzLnF1YWNvZDtcbiAgICBzZW5ub211c2U6IHNlbkZpZWxkcy5zZW5ub211c2U7XG4gICAgc2VucHJlbm9tdXNlOiBzZW5GaWVsZHMuc2VucHJlbm9tdXNlO1xuICAgIGV0YXNlbmNvZDogc2VuRmllbGRzLmV0YXNlbmNvZDtcbiAgICBzZW5ncnBwb2xjb2Rjb3U6IHNlbkZpZWxkcy5zZW5ncnBwb2xjb2Rjb3U7XG4gICAgc2VuZ3JwcG9sbGljY291OiBzZW5GaWVsZHMuc2VuZ3JwcG9sbGljY291O1xuICAgIHNlbnR5cGFwcGNvdTogc2VuRmllbGRzLnNlbnR5cGFwcGNvdTtcbiAgICBzZW5jb21jb2Rjb3U6IHNlbkZpZWxkcy5zZW5jb21jb2Rjb3U7XG4gICAgc2VuY29tbGljY291OiBzZW5GaWVsZHMuc2VuY29tbGljY291O1xuICAgIHNlbmNpcm51bWNvdTogc2VuRmllbGRzLnNlbmNpcm51bWNvdTtcbiAgICBzZW5jaXJjb3U6IHNlbkZpZWxkcy5zZW5jaXJjb3U7XG4gICAgc2VuYnVybGljY291OiBzZW5GaWVsZHMuc2VuYnVybGljY291O1xuICAgIHNlbmRhdHByZWVsZTogc2VuRmllbGRzLnNlbmRhdHByZWVsZTtcbiAgICBzZW5ub211c2VjYXA6IHNlbkZpZWxkcy5zZW5ub211c2VjYXA7XG4gICAgc2VuY3Jpbm9tOiBzZW5GaWVsZHMuc2VuY3Jpbm9tO1xuICAgIHNlbmZlbTogc2VuRmllbGRzLnNlbmZlbTtcbiAgICBzZW5ub21kaXM6IHNlbkZpZWxkcy5zZW5ub21kaXM7XG4gICAgc2Vubm9tZGl0OiBzZW5GaWVsZHMuc2Vubm9tZGl0O1xuICAgIHRpdG5vYmNvZDogc2VuRmllbGRzLnRpdG5vYmNvZDtcbiAgICBzZW5vYnM0cjE6IHNlbkZpZWxkcy5zZW5vYnM0cjE7XG4gICAgc2Vub2JzNHIyOiBzZW5GaWVsZHMuc2Vub2JzNHIyO1xuICAgIHNlbm9iczNyMTogc2VuRmllbGRzLnNlbm9iczNyMTtcbiAgICBzZW5vYnMzcjI6IHNlbkZpZWxkcy5zZW5vYnMzcjI7XG4gICAgc2VuZGF0ZGVyZWxlOiBzZW5GaWVsZHMuc2VuZGF0ZGVyZWxlO1xuICAgIHNlbmNpcm51bWNvdTRyOiBzZW5GaWVsZHMuc2VuY2lybnVtY291NHI7XG4gICAgc2VuY2lyY291NHI6IHNlbkZpZWxkcy5zZW5jaXJjb3U0cjtcbiAgICBzZW5jaXJudW1jb3Uzcjogc2VuRmllbGRzLnNlbmNpcm51bWNvdTNyO1xuICAgIHNlbmNpcmNvdTNyOiBzZW5GaWVsZHMuc2VuY2lyY291M3I7XG4gICAgc2VuZ3JwcG9sY29kY291NHI6IHNlbkZpZWxkcy5zZW5ncnBwb2xjb2Rjb3U0cjtcbiAgICBzZW50eXBhcHBjb3U0cjogc2VuRmllbGRzLnNlbnR5cGFwcGNvdTRyO1xuICAgIHN5c2NyZWRhdDogc2VuRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IHNlbkZpZWxkcy5zeXNtYWpkYXQ7XG4gICAgY2F0cHJvY29kMmU6IHNlbkZpZWxkcy5jYXRwcm9jb2QyZTtcbiAgICBzZW5kZXNwcm8yZTogc2VuRmllbGRzLnNlbmRlc3BybzJlO1xuICAgIHNlbmdycHBvbGNvbW11OiBzZW5GaWVsZHMuc2VuZ3JwcG9sY29tbXU7XG4gICAgc2Vub2JzY29tbXU6IHNlbkZpZWxkcy5zZW5vYnNjb21tdTtcbiAgICBzZW5idXJjb21tdTogc2VuRmllbGRzLnNlbmJ1cmNvbW11O1xuICAgIGlkZW50aWZpYW50X3JuZTogc2VuRmllbGRzLmlkZW50aWZpYW50X3JuZTtcbiAgICBpZGVudGlmaWFudF9hc3NuYXQ6IHNlbkZpZWxkcy5pZGVudGlmaWFudF9hc3NuYXQ7XG4gICAgdGl0cmVfcGFpcl9mcmFuY2U6IHNlbkZpZWxkcy50aXRyZV9wYWlyX2ZyYW5jZTtcbiAgICBsaXN0ZXJfdGl0cmVfcGFpcl9mcmFuY2U6IHNlbkZpZWxkcy5saXN0ZXJfdGl0cmVfcGFpcl9mcmFuY2U7XG4gICAgZm9uY3Rpb25fcGFpcjogc2VuRmllbGRzLmZvbmN0aW9uX3BhaXI7XG4gICAgY3JlZGl0X3BvcnRyYWl0OiBzZW5GaWVsZHMuY3JlZGl0X3BvcnRyYWl0O1xuICAgIGxpc3Rlcl9hdXRyZV90aXRyZV9wYWlyX2ZyYW5jZTogc2VuRmllbGRzLmxpc3Rlcl9hdXRyZV90aXRyZV9wYWlyX2ZyYW5jZTtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIHNlbmJ1ckZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgc2VuYnVyaWQgPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgYnVyY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNlbmJ1cmRhdGRlYiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmJ1cmRhdGZpbiA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHNlbmJ1cnJlbGludCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VuYnVycm5nZWxlID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0ZW12YWxjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZWxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZlbGliID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmVsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGV2ZW9icyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc2VubWF0ID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNlbmJ1cmhvbiA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZXZldGVtcHViID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHNlbmJ1ciB7XG4gICAgc2VuYnVyaWQ6IHNlbmJ1ckZpZWxkcy5zZW5idXJpZDtcbiAgICBidXJjb2Q6IHNlbmJ1ckZpZWxkcy5idXJjb2Q7XG4gICAgc2VuYnVyZGF0ZGViOiBzZW5idXJGaWVsZHMuc2VuYnVyZGF0ZGViO1xuICAgIHNlbmJ1cmRhdGZpbjogc2VuYnVyRmllbGRzLnNlbmJ1cmRhdGZpbjtcbiAgICBzZW5idXJyZWxpbnQ6IHNlbmJ1ckZpZWxkcy5zZW5idXJyZWxpbnQ7XG4gICAgc2VuYnVycm5nZWxlOiBzZW5idXJGaWVsZHMuc2VuYnVycm5nZWxlO1xuICAgIHRlbXZhbGNvZDogc2VuYnVyRmllbGRzLnRlbXZhbGNvZDtcbiAgICBldmVsaWM6IHNlbmJ1ckZpZWxkcy5ldmVsaWM7XG4gICAgZXZlbGliOiBzZW5idXJGaWVsZHMuZXZlbGliO1xuICAgIGV2ZWxpbDogc2VuYnVyRmllbGRzLmV2ZWxpbDtcbiAgICBldmVvYnM6IHNlbmJ1ckZpZWxkcy5ldmVvYnM7XG4gICAgc2VubWF0OiBzZW5idXJGaWVsZHMuc2VubWF0O1xuICAgIHNlbmJ1cmhvbjogc2VuYnVyRmllbGRzLnNlbmJ1cmhvbjtcbiAgICBldmV0ZW1wdWI6IHNlbmJ1ckZpZWxkcy5ldmV0ZW1wdWI7XG4gICAgc3lzY3JlZGF0OiBzZW5idXJGaWVsZHMuc3lzY3JlZGF0O1xuICAgIHN5c21hamRhdDogc2VuYnVyRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIHNlbm5vbUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgc2VubWF0ID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNlbm5vbWRhdGRlYiA9IERhdGU7XG4gICAgZXhwb3J0IHR5cGUgc2Vubm9tZGF0ZmluID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcXVhY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNlbm5vbXVzZSA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBzZW5ub211c2VjYXAgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgc2Vubm9tdGVjID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHNlbnByZW5vbXVzZSA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBzeXNjcmVkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzeXNtYWpkYXQgPSBEYXRlIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBzZW5ub21pZCA9IG51bWJlcjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHNlbm5vbSB7XG4gICAgc2VubWF0OiBzZW5ub21GaWVsZHMuc2VubWF0O1xuICAgIHNlbm5vbWRhdGRlYjogc2Vubm9tRmllbGRzLnNlbm5vbWRhdGRlYjtcbiAgICBzZW5ub21kYXRmaW46IHNlbm5vbUZpZWxkcy5zZW5ub21kYXRmaW47XG4gICAgcXVhY29kOiBzZW5ub21GaWVsZHMucXVhY29kO1xuICAgIHNlbm5vbXVzZTogc2Vubm9tRmllbGRzLnNlbm5vbXVzZTtcbiAgICBzZW5ub211c2VjYXA6IHNlbm5vbUZpZWxkcy5zZW5ub211c2VjYXA7XG4gICAgc2Vubm9tdGVjOiBzZW5ub21GaWVsZHMuc2Vubm9tdGVjO1xuICAgIHNlbnByZW5vbXVzZTogc2Vubm9tRmllbGRzLnNlbnByZW5vbXVzZTtcbiAgICBzeXNjcmVkYXQ6IHNlbm5vbUZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiBzZW5ub21GaWVsZHMuc3lzbWFqZGF0O1xuICAgIHNlbm5vbWlkOiBzZW5ub21GaWVsZHMuc2Vubm9taWQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBzZXNGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHNlc2FubiA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBzZXNsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBzZXMge1xuICAgIHNlc2Fubjogc2VzRmllbGRzLnNlc2FubjtcbiAgICBzZXNsaWI6IHNlc0ZpZWxkcy5zZXNsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBzdGF2b3RGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHN0YXZvdGlkdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBzdGF2b3RsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBzdGF2b3Qge1xuICAgIHN0YXZvdGlkdDogc3Rhdm90RmllbGRzLnN0YXZvdGlkdDtcbiAgICBzdGF2b3RsaWI6IHN0YXZvdEZpZWxkcy5zdGF2b3RsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0ZXh0ZUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgdGV4Y29kID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIG9yaXR4dGNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwdHh0Y29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHR5cHVybCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBsZWNhc3NpZHQgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgc2VzYW5uID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBvcmdjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRleG51bSA9IG51bWJlciB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGV4dXJsID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmwyID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmwzID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmw0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmwydHh0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmwzdHh0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmw0dHh0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eHRvcml0eHRkYXQgPSBEYXRlO1xuICAgIGV4cG9ydCB0eXBlIHByaXggPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIG51bWVyb2JpcyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGV4ZGF0c2VhID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgcmVzZXJ2ZV9jb21zcGUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGRhdHJlamV0X2Rpc2NfaW1tZWRpYXRlID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdGV4YWNlID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHRleHRlIHtcbiAgICB0ZXhjb2Q6IHRleHRlRmllbGRzLnRleGNvZDtcbiAgICBvcml0eHRjb2Q6IHRleHRlRmllbGRzLm9yaXR4dGNvZDtcbiAgICB0eXB0eHRjb2Q6IHRleHRlRmllbGRzLnR5cHR4dGNvZDtcbiAgICB0eXB1cmw6IHRleHRlRmllbGRzLnR5cHVybDtcbiAgICBsZWNhc3NpZHQ6IHRleHRlRmllbGRzLmxlY2Fzc2lkdDtcbiAgICBzZXNhbm46IHRleHRlRmllbGRzLnNlc2FubjtcbiAgICBvcmdjb2Q6IHRleHRlRmllbGRzLm9yZ2NvZDtcbiAgICB0ZXhudW06IHRleHRlRmllbGRzLnRleG51bTtcbiAgICB0ZXh1cmw6IHRleHRlRmllbGRzLnRleHVybDtcbiAgICB1cmwyOiB0ZXh0ZUZpZWxkcy51cmwyO1xuICAgIHVybDM6IHRleHRlRmllbGRzLnVybDM7XG4gICAgdXJsNDogdGV4dGVGaWVsZHMudXJsNDtcbiAgICB1cmwydHh0OiB0ZXh0ZUZpZWxkcy51cmwydHh0O1xuICAgIHVybDN0eHQ6IHRleHRlRmllbGRzLnVybDN0eHQ7XG4gICAgdXJsNHR4dDogdGV4dGVGaWVsZHMudXJsNHR4dDtcbiAgICB0eHRvcml0eHRkYXQ6IHRleHRlRmllbGRzLnR4dG9yaXR4dGRhdDtcbiAgICBwcml4OiB0ZXh0ZUZpZWxkcy5wcml4O1xuICAgIG51bWVyb2JpczogdGV4dGVGaWVsZHMubnVtZXJvYmlzO1xuICAgIHRleGRhdHNlYTogdGV4dGVGaWVsZHMudGV4ZGF0c2VhO1xuICAgIHJlc2VydmVfY29tc3BlOiB0ZXh0ZUZpZWxkcy5yZXNlcnZlX2NvbXNwZTtcbiAgICBkYXRyZWpldF9kaXNjX2ltbWVkaWF0ZTogdGV4dGVGaWVsZHMuZGF0cmVqZXRfZGlzY19pbW1lZGlhdGU7XG4gICAgdGV4YWNlOiB0ZXh0ZUZpZWxkcy50ZXhhY2U7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0ZXh0ZV9hbmNpZW5GaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGlkID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIG9yaWdpbmUgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgc2VzYW5uID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIG51bWVybyA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSByZWN0aWZpZSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSBkYXRlX2VmZmV0ID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGVjdHVyZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgc3RhdHV0ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB1cmdlbmNlID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIGFydGljbGVfdHlwZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwZV90ZXh0ZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgbGliZWxsZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZmljaGllciA9IHN0cmluZyB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0ZXh0ZV9hbmNpZW4ge1xuICAgIGlkOiB0ZXh0ZV9hbmNpZW5GaWVsZHMuaWQ7XG4gICAgb3JpZ2luZTogdGV4dGVfYW5jaWVuRmllbGRzLm9yaWdpbmU7XG4gICAgc2VzYW5uOiB0ZXh0ZV9hbmNpZW5GaWVsZHMuc2VzYW5uO1xuICAgIG51bWVybzogdGV4dGVfYW5jaWVuRmllbGRzLm51bWVybztcbiAgICByZWN0aWZpZTogdGV4dGVfYW5jaWVuRmllbGRzLnJlY3RpZmllO1xuICAgIGRhdGVfZWZmZXQ6IHRleHRlX2FuY2llbkZpZWxkcy5kYXRlX2VmZmV0O1xuICAgIGxlY3R1cmU6IHRleHRlX2FuY2llbkZpZWxkcy5sZWN0dXJlO1xuICAgIHN0YXR1dDogdGV4dGVfYW5jaWVuRmllbGRzLnN0YXR1dDtcbiAgICB1cmdlbmNlOiB0ZXh0ZV9hbmNpZW5GaWVsZHMudXJnZW5jZTtcbiAgICBhcnRpY2xlX3R5cGU6IHRleHRlX2FuY2llbkZpZWxkcy5hcnRpY2xlX3R5cGU7XG4gICAgdHlwZV90ZXh0ZTogdGV4dGVfYW5jaWVuRmllbGRzLnR5cGVfdGV4dGU7XG4gICAgbGliZWxsZTogdGV4dGVfYW5jaWVuRmllbGRzLmxpYmVsbGU7XG4gICAgZmljaGllcjogdGV4dGVfYW5jaWVuRmllbGRzLmZpY2hpZXI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0aGVGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHRoZWNsZSA9IG51bWJlcjtcbiAgICBleHBvcnQgdHlwZSB0aGVsaWIgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdGhlYWxpID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHRoZSB7XG4gICAgdGhlY2xlOiB0aGVGaWVsZHMudGhlY2xlO1xuICAgIHRoZWxpYjogdGhlRmllbGRzLnRoZWxpYjtcbiAgICB0aGVhbGk6IHRoZUZpZWxkcy50aGVhbGk7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0aXRzZW5GaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHRpdHNlbmNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0aXRzZW5saWIgPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdGl0c2VuIHtcbiAgICB0aXRzZW5jb2Q6IHRpdHNlbkZpZWxkcy50aXRzZW5jb2Q7XG4gICAgdGl0c2VubGliOiB0aXRzZW5GaWVsZHMudGl0c2VubGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHJpY290X2xvaUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgbG9pY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGRhdGVfZGVybmllcl9hY3RlID0gRGF0ZSB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgZGF0ZV9wcm9jaGFpbl9hY3RlID0gRGF0ZSB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0cmljb3RfbG9pIHtcbiAgICBsb2ljb2Q6IHRyaWNvdF9sb2lGaWVsZHMubG9pY29kO1xuICAgIGRhdGVfZGVybmllcl9hY3RlOiB0cmljb3RfbG9pRmllbGRzLmRhdGVfZGVybmllcl9hY3RlO1xuICAgIGRhdGVfcHJvY2hhaW5fYWN0ZTogdHJpY290X2xvaUZpZWxkcy5kYXRlX3Byb2NoYWluX2FjdGU7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0cmljb3RfbG9pX2F1dG9jb21wbGV0ZUZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgbG9pY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGF1dG9jb21wbGV0ZSA9IHN0cmluZztcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHRyaWNvdF9sb2lfYXV0b2NvbXBsZXRlIHtcbiAgICBsb2ljb2Q6IHRyaWNvdF9sb2lfYXV0b2NvbXBsZXRlRmllbGRzLmxvaWNvZDtcbiAgICBhdXRvY29tcGxldGU6IHRyaWNvdF9sb2lfYXV0b2NvbXBsZXRlRmllbGRzLmF1dG9jb21wbGV0ZTtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIHRyaWNvdF9sb2lfdGV4dF9zZWFyY2hGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIGxvaWNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0ZXh0X3NlYXJjaCA9IGFueTtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHRyaWNvdF9sb2lfdGV4dF9zZWFyY2gge1xuICAgIGxvaWNvZDogdHJpY290X2xvaV90ZXh0X3NlYXJjaEZpZWxkcy5sb2ljb2Q7XG4gICAgdGV4dF9zZWFyY2g6IHRyaWNvdF9sb2lfdGV4dF9zZWFyY2hGaWVsZHMudGV4dF9zZWFyY2g7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0eXBhcHBwb2xGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHR5cGFwcHBvbGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBhcHBwb2xsaWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cGFwcHBvbGxpYyA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwYXBwcG9sbnVtdHJpID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBhcHBwb2xsaWwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cGFwcHBvbGxpY2ZlbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwYXBwcG9sbGliZmVtID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBhcHBwb2xsaWxmZW0gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cGFwcHBvbGxpY3BsdSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwYXBwcG9sbGlicGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBhcHBwb2xsaWxwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHlwYXBwcG9sIHtcbiAgICB0eXBhcHBwb2xjb2Q6IHR5cGFwcHBvbEZpZWxkcy50eXBhcHBwb2xjb2Q7XG4gICAgdHlwYXBwcG9sbGliOiB0eXBhcHBwb2xGaWVsZHMudHlwYXBwcG9sbGliO1xuICAgIHR5cGFwcHBvbGxpYzogdHlwYXBwcG9sRmllbGRzLnR5cGFwcHBvbGxpYztcbiAgICB0eXBhcHBwb2xudW10cmk6IHR5cGFwcHBvbEZpZWxkcy50eXBhcHBwb2xudW10cmk7XG4gICAgdHlwYXBwcG9sbGlsOiB0eXBhcHBwb2xGaWVsZHMudHlwYXBwcG9sbGlsO1xuICAgIHR5cGFwcHBvbGxpY2ZlbTogdHlwYXBwcG9sRmllbGRzLnR5cGFwcHBvbGxpY2ZlbTtcbiAgICB0eXBhcHBwb2xsaWJmZW06IHR5cGFwcHBvbEZpZWxkcy50eXBhcHBwb2xsaWJmZW07XG4gICAgdHlwYXBwcG9sbGlsZmVtOiB0eXBhcHBwb2xGaWVsZHMudHlwYXBwcG9sbGlsZmVtO1xuICAgIHR5cGFwcHBvbGxpY3BsdTogdHlwYXBwcG9sRmllbGRzLnR5cGFwcHBvbGxpY3BsdTtcbiAgICB0eXBhcHBwb2xsaWJwbHU6IHR5cGFwcHBvbEZpZWxkcy50eXBhcHBwb2xsaWJwbHU7XG4gICAgdHlwYXBwcG9sbGlscGx1OiB0eXBhcHBwb2xGaWVsZHMudHlwYXBwcG9sbGlscGx1O1xuICAgIHN5c2NyZWRhdDogdHlwYXBwcG9sRmllbGRzLnN5c2NyZWRhdDtcbiAgICBzeXNtYWpkYXQ6IHR5cGFwcHBvbEZpZWxkcy5zeXNtYWpkYXQ7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0eXBhdHRGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHR5cGF0dGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBhdHRsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0eXBhdHQge1xuICAgIHR5cGF0dGNvZDogdHlwYXR0RmllbGRzLnR5cGF0dGNvZDtcbiAgICB0eXBhdHRsaWI6IHR5cGF0dEZpZWxkcy50eXBhdHRsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0eXBhdXRGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHR5cGF1dGNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBhdXRsaWIgPSBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0eXBhdXQge1xuICAgIHR5cGF1dGNvZDogdHlwYXV0RmllbGRzLnR5cGF1dGNvZDtcbiAgICB0eXBhdXRsaWI6IHR5cGF1dEZpZWxkcy50eXBhdXRsaWI7XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0eXBkb2NGaWVsZHMge1xuICAgIGV4cG9ydCB0eXBlIHR5cGRvY2NvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBkb2NsaWIgPSBzdHJpbmcgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHlwZG9jIHtcbiAgICB0eXBkb2Njb2Q6IHR5cGRvY0ZpZWxkcy50eXBkb2Njb2Q7XG4gICAgdHlwZG9jbGliOiB0eXBkb2NGaWVsZHMudHlwZG9jbGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwZXZ0c2VhRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXBldnRjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwZXZ0bGliID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHlwZXZ0c2VhIHtcbiAgICB0eXBldnRjb2Q6IHR5cGV2dHNlYUZpZWxkcy50eXBldnRjb2Q7XG4gICAgdHlwZXZ0bGliOiB0eXBldnRzZWFGaWVsZHMudHlwZXZ0bGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwbGVjRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXBsZWNjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwbGVjbGliID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHR5cGxlY29yZCA9IG51bWJlciB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0eXBsZWMge1xuICAgIHR5cGxlY2NvZDogdHlwbGVjRmllbGRzLnR5cGxlY2NvZDtcbiAgICB0eXBsZWNsaWI6IHR5cGxlY0ZpZWxkcy50eXBsZWNsaWI7XG4gICAgdHlwbGVjb3JkOiB0eXBsZWNGaWVsZHMudHlwbGVjb3JkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwbG9pRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXBsb2ljb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwbG9pbGliID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIGdyb3VwZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwbG9pZGVuID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBsb2lnZW4gPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cGxvaXRpdCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwbG9pZGVucGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBsb2lkZSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwbG9pYWJyID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHR5cGxvaSB7XG4gICAgdHlwbG9pY29kOiB0eXBsb2lGaWVsZHMudHlwbG9pY29kO1xuICAgIHR5cGxvaWxpYjogdHlwbG9pRmllbGRzLnR5cGxvaWxpYjtcbiAgICBncm91cGU6IHR5cGxvaUZpZWxkcy5ncm91cGU7XG4gICAgdHlwbG9pZGVuOiB0eXBsb2lGaWVsZHMudHlwbG9pZGVuO1xuICAgIHR5cGxvaWdlbjogdHlwbG9pRmllbGRzLnR5cGxvaWdlbjtcbiAgICB0eXBsb2l0aXQ6IHR5cGxvaUZpZWxkcy50eXBsb2l0aXQ7XG4gICAgdHlwbG9pZGVucGx1OiB0eXBsb2lGaWVsZHMudHlwbG9pZGVucGx1O1xuICAgIHR5cGxvaWRlOiB0eXBsb2lGaWVsZHMudHlwbG9pZGU7XG4gICAgdHlwbG9pYWJyOiB0eXBsb2lGaWVsZHMudHlwbG9pYWJyO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwb3JnRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXBvcmdjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwb3JnbGliID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ3VybCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwb3JndGl0ZW5zID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBvcmd2aWQgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ29yZCA9IG51bWJlciB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0eXBvcmcge1xuICAgIHR5cG9yZ2NvZDogdHlwb3JnRmllbGRzLnR5cG9yZ2NvZDtcbiAgICB0eXBvcmdsaWI6IHR5cG9yZ0ZpZWxkcy50eXBvcmdsaWI7XG4gICAgdHlwb3JndXJsOiB0eXBvcmdGaWVsZHMudHlwb3JndXJsO1xuICAgIHR5cG9yZ3RpdGVuczogdHlwb3JnRmllbGRzLnR5cG9yZ3RpdGVucztcbiAgICB0eXBvcmd2aWQ6IHR5cG9yZ0ZpZWxkcy50eXBvcmd2aWQ7XG4gICAgdHlwb3Jnb3JkOiB0eXBvcmdGaWVsZHMudHlwb3Jnb3JkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwb3JnX3NlbkZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgdHlwb3JnY29kID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ2xpYiA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXBvcmdsaWMgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwb3JnbnVtdHJpID0gbnVtYmVyIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSBldmV0ZW1wdWIgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cG9yZ3VybHNpbSA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwb3JndXJsY21wID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXBvcmdsaWJwbHUgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c2NyZWRhdCA9IERhdGUgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHN5c21hamRhdCA9IERhdGUgfCBudWxsO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHlwb3JnX3NlbiB7XG4gICAgdHlwb3JnY29kOiB0eXBvcmdfc2VuRmllbGRzLnR5cG9yZ2NvZDtcbiAgICB0eXBvcmdsaWI6IHR5cG9yZ19zZW5GaWVsZHMudHlwb3JnbGliO1xuICAgIHR5cG9yZ2xpYzogdHlwb3JnX3NlbkZpZWxkcy50eXBvcmdsaWM7XG4gICAgdHlwb3JnbnVtdHJpOiB0eXBvcmdfc2VuRmllbGRzLnR5cG9yZ251bXRyaTtcbiAgICBldmV0ZW1wdWI6IHR5cG9yZ19zZW5GaWVsZHMuZXZldGVtcHViO1xuICAgIHR5cG9yZ3VybHNpbTogdHlwb3JnX3NlbkZpZWxkcy50eXBvcmd1cmxzaW07XG4gICAgdHlwb3JndXJsY21wOiB0eXBvcmdfc2VuRmllbGRzLnR5cG9yZ3VybGNtcDtcbiAgICB0eXBvcmdsaWJwbHU6IHR5cG9yZ19zZW5GaWVsZHMudHlwb3JnbGlicGx1O1xuICAgIHN5c2NyZWRhdDogdHlwb3JnX3NlbkZpZWxkcy5zeXNjcmVkYXQ7XG4gICAgc3lzbWFqZGF0OiB0eXBvcmdfc2VuRmllbGRzLnN5c21hamRhdDtcblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIHR5cHJhcEZpZWxkcyB7XG4gICAgZXhwb3J0IHR5cGUgdHlwcmFwcmFwID0gc3RyaW5nO1xuICAgIGV4cG9ydCB0eXBlIHR5cHJhcGxpYiA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSB0eXByYXBpbmQgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwcmFwbGlicGx1ID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXByYXB1cmwgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIGNhdHJhcGNvZCA9IHN0cmluZyB8IG51bGw7XG4gICAgZXhwb3J0IHR5cGUgdHlwcmFwcmVwID0gc3RyaW5nIHwgbnVsbDtcbiAgICBleHBvcnQgdHlwZSB0eXByYXBub3QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHR5cHJhcHNlcyA9IHN0cmluZyB8IG51bGw7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSB0eXByYXAge1xuICAgIHR5cHJhcHJhcDogdHlwcmFwRmllbGRzLnR5cHJhcHJhcDtcbiAgICB0eXByYXBsaWI6IHR5cHJhcEZpZWxkcy50eXByYXBsaWI7XG4gICAgdHlwcmFwaW5kOiB0eXByYXBGaWVsZHMudHlwcmFwaW5kO1xuICAgIHR5cHJhcGxpYnBsdTogdHlwcmFwRmllbGRzLnR5cHJhcGxpYnBsdTtcbiAgICB0eXByYXB1cmw6IHR5cHJhcEZpZWxkcy50eXByYXB1cmw7XG4gICAgY2F0cmFwY29kOiB0eXByYXBGaWVsZHMuY2F0cmFwY29kO1xuICAgIHR5cHJhcHJlcDogdHlwcmFwRmllbGRzLnR5cHJhcHJlcDtcbiAgICB0eXByYXBub3Q6IHR5cHJhcEZpZWxkcy50eXByYXBub3Q7XG4gICAgdHlwcmFwc2VzOiB0eXByYXBGaWVsZHMudHlwcmFwc2VzO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwdHh0RmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXB0eHRjb2QgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgdHlwdHh0bGliID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHlwdHh0IHtcbiAgICB0eXB0eHRjb2Q6IHR5cHR4dEZpZWxkcy50eXB0eHRjb2Q7XG4gICAgdHlwdHh0bGliOiB0eXB0eHRGaWVsZHMudHlwdHh0bGliO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwdXJsRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSB0eXB1cmwgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgbGlidHlwdXJsID0gc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHlwdXJsIHtcbiAgICB0eXB1cmw6IHR5cHVybEZpZWxkcy50eXB1cmw7XG4gICAgbGlidHlwdXJsOiB0eXB1cmxGaWVsZHMubGlidHlwdXJsO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2Ugdm90c2VuRmllbGRzIHtcbiAgICBleHBvcnQgdHlwZSBzZXNhbm4gPSBudW1iZXI7XG4gICAgZXhwb3J0IHR5cGUgc2NybnVtID0gbnVtYmVyO1xuICAgIGV4cG9ydCB0eXBlIHNlbm1hdCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBwb3N2b3Rjb2QgPSBzdHJpbmcgfCBudWxsO1xuICAgIGV4cG9ydCB0eXBlIHRpdHNlbmNvZCA9IHN0cmluZztcbiAgICBleHBvcnQgdHlwZSBzdGF2b3RpZHQgPSBzdHJpbmc7XG4gICAgZXhwb3J0IHR5cGUgc2VubWF0ZGVsID0gc3RyaW5nIHwgbnVsbDtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIHZvdHNlbiB7XG4gICAgc2VzYW5uOiB2b3RzZW5GaWVsZHMuc2VzYW5uO1xuICAgIHNjcm51bTogdm90c2VuRmllbGRzLnNjcm51bTtcbiAgICBzZW5tYXQ6IHZvdHNlbkZpZWxkcy5zZW5tYXQ7XG4gICAgcG9zdm90Y29kOiB2b3RzZW5GaWVsZHMucG9zdm90Y29kO1xuICAgIHRpdHNlbmNvZDogdm90c2VuRmllbGRzLnRpdHNlbmNvZDtcbiAgICBzdGF2b3RpZHQ6IHZvdHNlbkZpZWxkcy5zdGF2b3RpZHQ7XG4gICAgc2VubWF0ZGVsOiB2b3RzZW5GaWVsZHMuc2VubWF0ZGVsO1xuXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzJCQUdpQkEsUyx5QkFBQUEsUzs7Ozs7MkJBWUFDLFMseUJBQUFBLFM7Ozs7OzhCQW9CQUMsWSw0QkFBQUEsWTs7Ozs7MkJBa0NBQyxTLHlCQUFBQSxTOzs7OzsyQkFZQUMsUyx5QkFBQUEsUzs7Ozs7OEJBOENBQyxZLDRCQUFBQSxZOzs7OzsyQkFZQUMsUyx5QkFBQUEsUzs7Ozs7OEJBZ0RBQyxZLDRCQUFBQSxZOzs7OzttQ0FrQkFDLGlCLGlDQUFBQSxpQjs7Ozs7OEJBZ0JBQyxZLDRCQUFBQSxZOzs7Ozs4QkFZQUMsWSw0QkFBQUEsWTs7Ozs7OEJBOENBQyxZLDRCQUFBQSxZOzs7OztpQ0EwQkFDLGUsK0JBQUFBLGU7Ozs7OzJCQXNDQUMsUyx5QkFBQUEsUzs7Ozs7OEJBOEJBQyxZLDRCQUFBQSxZOzs7Ozs4QkFnQkFDLFksNEJBQUFBLFk7Ozs7OzJCQW9CQUMsUyx5QkFBQUEsUzs7Ozs7OEJBc0RBQyxZLDRCQUFBQSxZOzs7OzsyQkFrQ0FDLFMseUJBQUFBLFM7Ozs7OzhCQTBCQUMsWSw0QkFBQUEsWTs7Ozs7aUNBOENBQyxlLCtCQUFBQSxlOzs7OztpQ0FrQ0FDLGUsK0JBQUFBLGU7Ozs7OzhCQXNDQUMsWSw0QkFBQUEsWTs7Ozs7OEJBWUFDLFksNEJBQUFBLFk7Ozs7OzhCQWtDQUMsWSw0QkFBQUEsWTs7Ozs7OEJBa0JBQyxZLDRCQUFBQSxZOzs7OztpQ0F3Q0FDLGUsK0JBQUFBLGU7Ozs7O2lDQXdDQUMsZSwrQkFBQUEsZTs7Ozs7aUNBd0NBQyxlLCtCQUFBQSxlOzs7OztvQ0FvQ0FDLGtCLGtDQUFBQSxrQjs7Ozs7b0NBb0NBQyxrQixrQ0FBQUEsa0I7Ozs7OzhCQWtDQUMsWSw0QkFBQUEsWTs7Ozs7MkJBWUFDLFMseUJBQUFBLFM7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7Ozs4QkFvREFDLFksNEJBQUFBLFk7Ozs7O2lDQXdFQUMsZSwrQkFBQUEsZTs7Ozs7K0JBY0FDLGEsNkJBQUFBLGE7Ozs7OzhCQWdCQUMsWSw0QkFBQUEsWTs7Ozs7aUNBb0NBQyxlLCtCQUFBQSxlOzs7OztpQ0FnQ0FDLGUsK0JBQUFBLGU7Ozs7OzhCQWtDQUMsWSw0QkFBQUEsWTs7Ozs7MkJBZ0JBQyxTLHlCQUFBQSxTOzs7Ozs4QkEwRkFDLFksNEJBQUFBLFk7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7OztpQ0FvQ0FDLGUsK0JBQUFBLGU7Ozs7O2lDQW9DQUMsZSwrQkFBQUEsZTs7Ozs7OEJBb0NBQyxZLDRCQUFBQSxZOzs7OzsyQkFZQUMsUyx5QkFBQUEsUzs7Ozs7aUNBZ0RBQyxlLCtCQUFBQSxlOzs7Ozs4QkEwQkFDLFksNEJBQUFBLFk7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7Ozs4QkF3QkFDLFksNEJBQUFBLFk7Ozs7OzJCQVlBQyxTLHlCQUFBQSxTOzs7OzsrQkFnQkFDLGEsNkJBQUFBLGE7Ozs7OzJCQWdDQUMsUyx5QkFBQUEsUzs7Ozs7OEJBZ0VBQyxZLDRCQUFBQSxZOzs7Ozs4QkFZQUMsWSw0QkFBQUEsWTs7Ozs7OEJBWUFDLFksNEJBQUFBLFk7Ozs7OzJCQVlBQyxTLHlCQUFBQSxTOzs7OzsyQkF3Q0FDLFMseUJBQUFBLFM7Ozs7OzhCQWtHQUMsWSw0QkFBQUEsWTs7Ozs7OEJBd0NBQyxZLDRCQUFBQSxZOzs7OzsyQkE4QkFDLFMseUJBQUFBLFM7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7Ozs2QkFZQUMsVywyQkFBQUEsVzs7Ozs7b0NBb0RBQyxrQixrQ0FBQUEsa0I7Ozs7OzJCQWtDQUMsUyx5QkFBQUEsUzs7Ozs7OEJBY0FDLFksNEJBQUFBLFk7Ozs7O2tDQVlBQyxnQixnQ0FBQUEsZ0I7Ozs7OytDQWNBQyw2Qiw2Q0FBQUEsNkI7Ozs7OzhDQVlBQyw0Qiw0Q0FBQUEsNEI7Ozs7O2lDQVlBQyxlLCtCQUFBQSxlOzs7Ozs4QkFrQ0FDLFksNEJBQUFBLFk7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7Ozs4QkFZQUMsWSw0QkFBQUEsWTs7Ozs7aUNBWUFDLGUsK0JBQUFBLGU7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7Ozs4QkFjQUMsWSw0QkFBQUEsWTs7Ozs7OEJBMEJBQyxZLDRCQUFBQSxZOzs7OztrQ0FvQkFDLGdCLGdDQUFBQSxnQjs7Ozs7OEJBNEJBQyxZLDRCQUFBQSxZOzs7Ozs4QkEwQkFDLFksNEJBQUFBLFk7Ozs7OzhCQVlBQyxZLDRCQUFBQSxZOzs7Ozs4QkFZQUMsWSw0QkFBQUEsWSJ9