@anglr/datetime 1.0.0-beta.20210804101324 → 2.0.0-beta.20220221120606

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 (463) hide show
  1. package/changelog.md +13 -1
  2. package/date-fns/datetime-date-fns.d.ts +64 -0
  3. package/date-fns/datetime-date-fns.internal.d.ts +64 -0
  4. package/date-fns/package.json +7 -7
  5. package/date-fns/src/{date-fns.d.ts → index.d.ts} +4 -4
  6. package/date-fns/src/index.d.ts.map +1 -0
  7. package/date-fns/src/misc/tokens.d.ts +10 -10
  8. package/date-fns/src/services/dateFnsDateApi.service.d.ts +36 -33
  9. package/date-fns/src/services/dateFnsDateApi.service.d.ts.map +1 -1
  10. package/date-fns/src/services/dateFnsLocale.service.d.ts +10 -10
  11. package/date-fns/temp/datetime-date-fns.api.md +47 -0
  12. package/datetime.d.ts +1913 -5
  13. package/datetime.internal.d.ts +2090 -0
  14. package/es2015/date-fns/src/index.js +4 -0
  15. package/es2015/date-fns/src/index.js.map +1 -0
  16. package/es2015/date-fns/src/misc/tokens.js +20 -0
  17. package/es2015/date-fns/src/misc/tokens.js.map +1 -0
  18. package/es2015/date-fns/src/services/dateFnsDateApi.service.js +438 -0
  19. package/es2015/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  20. package/es2015/date-fns/src/services/dateFnsLocale.service.js +2 -0
  21. package/es2015/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  22. package/es2015/karma.conf.js +57 -0
  23. package/es2015/karma.conf.js.map +1 -0
  24. package/{moment/src/moment.d.ts → es2015/moment/src/index.js} +3 -3
  25. package/es2015/moment/src/index.js.map +1 -0
  26. package/es2015/moment/src/misc/tokens.js +15 -0
  27. package/es2015/moment/src/misc/tokens.js.map +1 -0
  28. package/es2015/moment/src/services/momentDateApi.service.js +398 -0
  29. package/es2015/moment/src/services/momentDateApi.service.js.map +1 -0
  30. package/{src/datetime.d.ts → es2015/src/index.js} +19 -19
  31. package/es2015/src/index.js.map +1 -0
  32. package/es2015/src/misc/constants.js +33 -0
  33. package/es2015/src/misc/constants.js.map +1 -0
  34. package/es2015/src/misc/datetime.interface.js +2 -0
  35. package/es2015/src/misc/datetime.interface.js.map +1 -0
  36. package/es2015/src/misc/tokens.js +19 -0
  37. package/es2015/src/misc/tokens.js.map +1 -0
  38. package/es2015/src/misc/validators.js +58 -0
  39. package/es2015/src/misc/validators.js.map +1 -0
  40. package/es2015/src/modules/datePipes.module.js +33 -0
  41. package/es2015/src/modules/datePipes.module.js.map +1 -0
  42. package/es2015/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  43. package/es2015/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  44. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  45. package/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  46. package/es2015/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  47. package/es2015/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  48. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  49. package/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  50. package/es2015/src/picker/components/picker/picker.component.animations.js +71 -0
  51. package/es2015/src/picker/components/picker/picker.component.animations.js.map +1 -0
  52. package/es2015/src/picker/components/picker/picker.component.js +241 -0
  53. package/es2015/src/picker/components/picker/picker.component.js.map +1 -0
  54. package/es2015/src/picker/components/pickerBase.component.js +243 -0
  55. package/es2015/src/picker/components/pickerBase.component.js.map +1 -0
  56. package/es2015/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  57. package/es2015/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  58. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  59. package/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  60. package/es2015/src/picker/interfaces.js +5 -0
  61. package/es2015/src/picker/interfaces.js.map +1 -0
  62. package/es2015/src/picker/misc/datetimePicker.interface.js +2 -0
  63. package/es2015/src/picker/misc/datetimePicker.interface.js.map +1 -0
  64. package/es2015/src/picker/misc/tokens.js +6 -0
  65. package/es2015/src/picker/misc/tokens.js.map +1 -0
  66. package/es2015/src/picker/modules/picker.module.js +46 -0
  67. package/es2015/src/picker/modules/picker.module.js.map +1 -0
  68. package/es2015/src/picker/types.js +8 -0
  69. package/es2015/src/picker/types.js.map +1 -0
  70. package/es2015/src/pipes/asRequiredType.js +22 -0
  71. package/es2015/src/pipes/asRequiredType.js.map +1 -0
  72. package/es2015/src/pipes/dateConvert.pipe.js +35 -0
  73. package/es2015/src/pipes/dateConvert.pipe.js.map +1 -0
  74. package/es2015/src/pipes/dateFormat.pipe.js +45 -0
  75. package/es2015/src/pipes/dateFormat.pipe.js.map +1 -0
  76. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +421 -0
  77. package/es2015/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  78. package/es2015/src/selector/components/selector/selector.component.animations.js +15 -0
  79. package/es2015/src/selector/components/selector/selector.component.animations.js.map +1 -0
  80. package/es2015/src/selector/components/selector/selector.component.js +344 -0
  81. package/es2015/src/selector/components/selector/selector.component.js.map +1 -0
  82. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +317 -0
  83. package/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  84. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  85. package/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  86. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  87. package/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  88. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  89. package/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  90. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +119 -0
  91. package/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  92. package/es2015/src/selector/interfaces.js +2 -0
  93. package/es2015/src/selector/interfaces.js.map +1 -0
  94. package/es2015/src/selector/misc/datetimeSelector.interface.js +2 -0
  95. package/es2015/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  96. package/es2015/src/selector/misc/tokens.js +6 -0
  97. package/es2015/src/selector/misc/tokens.js.map +1 -0
  98. package/es2015/src/selector/modules/basicSelector.module.js +20 -0
  99. package/es2015/src/selector/modules/basicSelector.module.js.map +1 -0
  100. package/es2015/src/selector/modules/selector.module.js +60 -0
  101. package/es2015/src/selector/modules/selector.module.js.map +1 -0
  102. package/es2015/src/selector/types.js +10 -0
  103. package/es2015/src/selector/types.js.map +1 -0
  104. package/es2015/src/services/dateApi.interface.js +2 -0
  105. package/es2015/src/services/dateApi.interface.js.map +1 -0
  106. package/es2015/src/services/datePositionParser.interface.js +2 -0
  107. package/es2015/src/services/datePositionParser.interface.js.map +1 -0
  108. package/es2015/src/services/datePositionParser.service.js +227 -0
  109. package/es2015/src/services/datePositionParser.service.js.map +1 -0
  110. package/es2015/src/services/dateTimeRelativeParser.service.js +66 -0
  111. package/es2015/src/services/dateTimeRelativeParser.service.js.map +1 -0
  112. package/es2015/src/services/dateValueProvider.service.js +58 -0
  113. package/es2015/src/services/dateValueProvider.service.js.map +1 -0
  114. package/es2015/src/services/formatProvider.interface.js +2 -0
  115. package/es2015/src/services/formatProvider.interface.js.map +1 -0
  116. package/es2015/src/services/index.js +4 -0
  117. package/es2015/src/services/index.js.map +1 -0
  118. package/es2020/date-fns/src/index.js +4 -0
  119. package/es2020/date-fns/src/index.js.map +1 -0
  120. package/es2020/date-fns/src/misc/tokens.js +20 -0
  121. package/es2020/date-fns/src/misc/tokens.js.map +1 -0
  122. package/es2020/date-fns/src/services/dateFnsDateApi.service.js +437 -0
  123. package/es2020/date-fns/src/services/dateFnsDateApi.service.js.map +1 -0
  124. package/es2020/date-fns/src/services/dateFnsLocale.service.js +2 -0
  125. package/es2020/date-fns/src/services/dateFnsLocale.service.js.map +1 -0
  126. package/es2020/karma.conf.js +57 -0
  127. package/es2020/karma.conf.js.map +1 -0
  128. package/es2020/moment/src/index.js +3 -0
  129. package/es2020/moment/src/index.js.map +1 -0
  130. package/es2020/moment/src/misc/tokens.js +15 -0
  131. package/es2020/moment/src/misc/tokens.js.map +1 -0
  132. package/es2020/moment/src/services/momentDateApi.service.js +398 -0
  133. package/es2020/moment/src/services/momentDateApi.service.js.map +1 -0
  134. package/es2020/src/index.js +19 -0
  135. package/es2020/src/index.js.map +1 -0
  136. package/es2020/src/misc/constants.js +33 -0
  137. package/es2020/src/misc/constants.js.map +1 -0
  138. package/es2020/src/misc/datetime.interface.js +2 -0
  139. package/es2020/src/misc/datetime.interface.js.map +1 -0
  140. package/es2020/src/misc/tokens.js +19 -0
  141. package/es2020/src/misc/tokens.js.map +1 -0
  142. package/es2020/src/misc/validators.js +58 -0
  143. package/es2020/src/misc/validators.js.map +1 -0
  144. package/es2020/src/modules/datePipes.module.js +33 -0
  145. package/es2020/src/modules/datePipes.module.js.map +1 -0
  146. package/es2020/src/picker/components/dayPicker/dayPicker.component.js +172 -0
  147. package/es2020/src/picker/components/dayPicker/dayPicker.component.js.map +1 -0
  148. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js +2 -0
  149. package/es2020/src/picker/components/dayPicker/dayPicker.interfaces.js.map +1 -0
  150. package/es2020/src/picker/components/monthPicker/monthPicker.component.js +114 -0
  151. package/es2020/src/picker/components/monthPicker/monthPicker.component.js.map +1 -0
  152. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js +2 -0
  153. package/es2020/src/picker/components/monthPicker/monthPicker.interfaces.js.map +1 -0
  154. package/es2020/src/picker/components/picker/picker.component.animations.js +71 -0
  155. package/es2020/src/picker/components/picker/picker.component.animations.js.map +1 -0
  156. package/es2020/src/picker/components/picker/picker.component.js +236 -0
  157. package/es2020/src/picker/components/picker/picker.component.js.map +1 -0
  158. package/es2020/src/picker/components/pickerBase.component.js +243 -0
  159. package/es2020/src/picker/components/pickerBase.component.js.map +1 -0
  160. package/es2020/src/picker/components/yearPicker/yearPicker.component.js +126 -0
  161. package/es2020/src/picker/components/yearPicker/yearPicker.component.js.map +1 -0
  162. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js +2 -0
  163. package/es2020/src/picker/components/yearPicker/yearPicker.interfaces.js.map +1 -0
  164. package/es2020/src/picker/interfaces.js +5 -0
  165. package/es2020/src/picker/interfaces.js.map +1 -0
  166. package/es2020/src/picker/misc/datetimePicker.interface.js +2 -0
  167. package/es2020/src/picker/misc/datetimePicker.interface.js.map +1 -0
  168. package/es2020/src/picker/misc/tokens.js +6 -0
  169. package/es2020/src/picker/misc/tokens.js.map +1 -0
  170. package/es2020/src/picker/modules/picker.module.js +46 -0
  171. package/es2020/src/picker/modules/picker.module.js.map +1 -0
  172. package/es2020/src/picker/types.js +8 -0
  173. package/es2020/src/picker/types.js.map +1 -0
  174. package/es2020/src/pipes/asRequiredType.js +22 -0
  175. package/es2020/src/pipes/asRequiredType.js.map +1 -0
  176. package/es2020/src/pipes/dateConvert.pipe.js +35 -0
  177. package/es2020/src/pipes/dateConvert.pipe.js.map +1 -0
  178. package/es2020/src/pipes/dateFormat.pipe.js +45 -0
  179. package/es2020/src/pipes/dateFormat.pipe.js.map +1 -0
  180. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js +417 -0
  181. package/es2020/src/selector/components/inputDateTime/inputDateTime.component.js.map +1 -0
  182. package/es2020/src/selector/components/selector/selector.component.animations.js +15 -0
  183. package/es2020/src/selector/components/selector/selector.component.animations.js.map +1 -0
  184. package/es2020/src/selector/components/selector/selector.component.js +334 -0
  185. package/es2020/src/selector/components/selector/selector.component.js.map +1 -0
  186. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +314 -0
  187. package/es2020/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js.map +1 -0
  188. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +51 -0
  189. package/es2020/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js.map +1 -0
  190. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +51 -0
  191. package/es2020/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js.map +1 -0
  192. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +47 -0
  193. package/es2020/src/selector/directives/datetimeValidator/datetimeValidator.directive.js.map +1 -0
  194. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +118 -0
  195. package/es2020/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js.map +1 -0
  196. package/es2020/src/selector/interfaces.js +2 -0
  197. package/es2020/src/selector/interfaces.js.map +1 -0
  198. package/es2020/src/selector/misc/datetimeSelector.interface.js +2 -0
  199. package/es2020/src/selector/misc/datetimeSelector.interface.js.map +1 -0
  200. package/es2020/src/selector/misc/tokens.js +6 -0
  201. package/es2020/src/selector/misc/tokens.js.map +1 -0
  202. package/es2020/src/selector/modules/basicSelector.module.js +20 -0
  203. package/es2020/src/selector/modules/basicSelector.module.js.map +1 -0
  204. package/es2020/src/selector/modules/selector.module.js +60 -0
  205. package/es2020/src/selector/modules/selector.module.js.map +1 -0
  206. package/es2020/src/selector/types.js +10 -0
  207. package/es2020/src/selector/types.js.map +1 -0
  208. package/es2020/src/services/dateApi.interface.js +2 -0
  209. package/es2020/src/services/dateApi.interface.js.map +1 -0
  210. package/es2020/src/services/datePositionParser.interface.js +2 -0
  211. package/es2020/src/services/datePositionParser.interface.js.map +1 -0
  212. package/es2020/src/services/datePositionParser.service.js +227 -0
  213. package/es2020/src/services/datePositionParser.service.js.map +1 -0
  214. package/es2020/src/services/dateTimeRelativeParser.service.js +65 -0
  215. package/es2020/src/services/dateTimeRelativeParser.service.js.map +1 -0
  216. package/es2020/src/services/dateValueProvider.service.js +58 -0
  217. package/es2020/src/services/dateValueProvider.service.js.map +1 -0
  218. package/es2020/src/services/formatProvider.interface.js +2 -0
  219. package/es2020/src/services/formatProvider.interface.js.map +1 -0
  220. package/es2020/src/services/index.js +4 -0
  221. package/es2020/src/services/index.js.map +1 -0
  222. package/karma.conf.d.ts +2 -0
  223. package/karma.conf.d.ts.map +1 -0
  224. package/moment/datetime-moment.d.ts +47 -0
  225. package/moment/datetime-moment.internal.d.ts +47 -0
  226. package/moment/package.json +7 -7
  227. package/moment/src/index.d.ts +3 -0
  228. package/moment/src/index.d.ts.map +1 -0
  229. package/moment/src/misc/tokens.d.ts +5 -5
  230. package/moment/src/services/momentDateApi.service.d.ts +35 -32
  231. package/moment/src/services/momentDateApi.service.d.ts.map +1 -1
  232. package/moment/temp/datetime-moment.api.md +36 -0
  233. package/package.json +91 -48
  234. package/src/index.d.ts +19 -0
  235. package/src/index.d.ts.map +1 -0
  236. package/src/misc/constants.d.ts +32 -32
  237. package/src/misc/datetime.interface.d.ts +34 -34
  238. package/src/misc/tokens.d.ts +10 -10
  239. package/src/misc/validators.d.ts +25 -25
  240. package/src/modules/datePipes.module.d.ts +12 -5
  241. package/src/modules/datePipes.module.d.ts.map +1 -1
  242. package/src/picker/components/dayPicker/dayPicker.component.d.ts +68 -65
  243. package/src/picker/components/dayPicker/dayPicker.component.d.ts.map +1 -1
  244. package/src/picker/components/dayPicker/dayPicker.component.html +7 -7
  245. package/src/picker/components/dayPicker/dayPicker.interfaces.d.ts +10 -10
  246. package/src/picker/components/monthPicker/monthPicker.component.d.ts +52 -49
  247. package/src/picker/components/monthPicker/monthPicker.component.d.ts.map +1 -1
  248. package/src/picker/components/monthPicker/monthPicker.component.html +6 -6
  249. package/src/picker/components/monthPicker/monthPicker.interfaces.d.ts +6 -6
  250. package/src/picker/components/picker/picker.component.animations.d.ts +4 -4
  251. package/src/picker/components/picker/picker.component.d.ts +104 -101
  252. package/src/picker/components/picker/picker.component.d.ts.map +1 -1
  253. package/src/picker/components/pickerBase.component.d.ts +169 -166
  254. package/src/picker/components/pickerBase.component.d.ts.map +1 -1
  255. package/src/picker/components/yearPicker/yearPicker.component.d.ts +57 -54
  256. package/src/picker/components/yearPicker/yearPicker.component.d.ts.map +1 -1
  257. package/src/picker/components/yearPicker/yearPicker.component.html +6 -6
  258. package/src/picker/components/yearPicker/yearPicker.interfaces.d.ts +6 -6
  259. package/src/picker/interfaces.d.ts +4 -4
  260. package/src/picker/misc/datetimePicker.interface.d.ts +188 -188
  261. package/src/picker/misc/tokens.d.ts +6 -6
  262. package/src/picker/modules/picker.module.d.ts +16 -5
  263. package/src/picker/modules/picker.module.d.ts.map +1 -1
  264. package/src/picker/types.d.ts +7 -7
  265. package/src/pipes/asRequiredType.d.ts +21 -0
  266. package/src/pipes/asRequiredType.d.ts.map +1 -0
  267. package/src/pipes/dateConvert.pipe.d.ts +18 -15
  268. package/src/pipes/dateConvert.pipe.d.ts.map +1 -1
  269. package/src/pipes/dateFormat.pipe.d.ts +20 -17
  270. package/src/pipes/dateFormat.pipe.d.ts.map +1 -1
  271. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts +187 -184
  272. package/src/selector/components/inputDateTime/inputDateTime.component.d.ts.map +1 -1
  273. package/src/selector/components/selector/selector.component.animations.d.ts +4 -4
  274. package/src/selector/components/selector/selector.component.d.ts +155 -152
  275. package/src/selector/components/selector/selector.component.d.ts.map +1 -1
  276. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts +170 -167
  277. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.d.ts.map +1 -1
  278. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts +22 -19
  279. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.d.ts.map +1 -1
  280. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts +22 -19
  281. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.d.ts.map +1 -1
  282. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts +21 -18
  283. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.d.ts.map +1 -1
  284. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts +53 -50
  285. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.d.ts.map +1 -1
  286. package/src/selector/interfaces.d.ts +1 -1
  287. package/src/selector/misc/datetimeSelector.interface.d.ts +82 -82
  288. package/src/selector/misc/tokens.d.ts +6 -6
  289. package/src/selector/modules/basicSelector.module.d.ts +10 -5
  290. package/src/selector/modules/basicSelector.module.d.ts.map +1 -1
  291. package/src/selector/modules/selector.module.d.ts +18 -5
  292. package/src/selector/modules/selector.module.d.ts.map +1 -1
  293. package/src/selector/types.d.ts +9 -9
  294. package/src/services/dateApi.interface.d.ts +275 -275
  295. package/src/services/datePositionParser.interface.d.ts +40 -40
  296. package/src/services/datePositionParser.service.d.ts +60 -57
  297. package/src/services/datePositionParser.service.d.ts.map +1 -1
  298. package/src/services/dateTimeRelativeParser.service.d.ts +21 -18
  299. package/src/services/dateTimeRelativeParser.service.d.ts.map +1 -1
  300. package/src/services/dateValueProvider.service.d.ts +18 -15
  301. package/src/services/dateValueProvider.service.d.ts.map +1 -1
  302. package/src/services/formatProvider.interface.d.ts +17 -17
  303. package/src/services/index.d.ts +3 -3
  304. package/tsconfig.karma.json +5 -6
  305. package/version.bak +1 -1
  306. package/appveyor.yml +0 -70
  307. package/date-fns/dist/es2015/date-fns/index.js +0 -10
  308. package/date-fns/dist/es2015/date-fns/public_api.js +0 -7
  309. package/date-fns/dist/es2015/date-fns/src/date-fns.js +0 -9
  310. package/date-fns/dist/es2015/date-fns/src/misc/tokens.js +0 -32
  311. package/date-fns/dist/es2015/date-fns/src/services/dateFnsDateApi.service.js +0 -512
  312. package/date-fns/dist/es2015/date-fns/src/services/dateFnsLocale.service.js +0 -18
  313. package/date-fns/dist/es5/date-fns/index.js +0 -10
  314. package/date-fns/dist/es5/date-fns/public_api.js +0 -7
  315. package/date-fns/dist/es5/date-fns/src/date-fns.js +0 -9
  316. package/date-fns/dist/es5/date-fns/src/misc/tokens.js +0 -32
  317. package/date-fns/dist/es5/date-fns/src/services/dateFnsDateApi.service.js +0 -902
  318. package/date-fns/dist/es5/date-fns/src/services/dateFnsLocale.service.js +0 -18
  319. package/date-fns/index.d.ts +0 -5
  320. package/date-fns/index.d.ts.map +0 -1
  321. package/date-fns/index.metadata.json +0 -1
  322. package/date-fns/public_api.d.ts +0 -2
  323. package/date-fns/public_api.d.ts.map +0 -1
  324. package/date-fns/src/date-fns.d.ts.map +0 -1
  325. package/date-fns/src/services/dateFnsDateApi.service.ngfactory.d.ts.map +0 -1
  326. package/datetime.d.ts.map +0 -1
  327. package/datetime.metadata.json +0 -1
  328. package/dist/es2015/datetime.js +0 -10
  329. package/dist/es2015/public_api.js +0 -7
  330. package/dist/es2015/src/datetime.js +0 -24
  331. package/dist/es2015/src/misc/constants.js +0 -46
  332. package/dist/es2015/src/misc/datetime.interface.js +0 -52
  333. package/dist/es2015/src/misc/tokens.js +0 -29
  334. package/dist/es2015/src/misc/validators.js +0 -80
  335. package/dist/es2015/src/modules/datePipes.module.js +0 -26
  336. package/dist/es2015/src/picker/components/dayPicker/dayPicker.component.js +0 -215
  337. package/dist/es2015/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  338. package/dist/es2015/src/picker/components/monthPicker/monthPicker.component.js +0 -138
  339. package/dist/es2015/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  340. package/dist/es2015/src/picker/components/picker/picker.component.animations.js +0 -77
  341. package/dist/es2015/src/picker/components/picker/picker.component.js +0 -386
  342. package/dist/es2015/src/picker/components/pickerBase.component.js +0 -406
  343. package/dist/es2015/src/picker/components/yearPicker/yearPicker.component.js +0 -158
  344. package/dist/es2015/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  345. package/dist/es2015/src/picker/interfaces.js +0 -10
  346. package/dist/es2015/src/picker/misc/datetimePicker.interface.js +0 -245
  347. package/dist/es2015/src/picker/misc/tokens.js +0 -12
  348. package/dist/es2015/src/picker/modules/picker.module.js +0 -35
  349. package/dist/es2015/src/picker/types.js +0 -13
  350. package/dist/es2015/src/pipes/dateConvert.pipe.js +0 -50
  351. package/dist/es2015/src/pipes/dateFormat.pipe.js +0 -64
  352. package/dist/es2015/src/selector/components/inputDateTime/inputDateTime.component.js +0 -588
  353. package/dist/es2015/src/selector/components/selector/selector.component.animations.js +0 -21
  354. package/dist/es2015/src/selector/components/selector/selector.component.js +0 -514
  355. package/dist/es2015/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -456
  356. package/dist/es2015/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -73
  357. package/dist/es2015/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -73
  358. package/dist/es2015/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -70
  359. package/dist/es2015/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -171
  360. package/dist/es2015/src/selector/interfaces.js +0 -7
  361. package/dist/es2015/src/selector/misc/datetimeSelector.interface.js +0 -106
  362. package/dist/es2015/src/selector/misc/tokens.js +0 -12
  363. package/dist/es2015/src/selector/modules/basicSelector.module.js +0 -20
  364. package/dist/es2015/src/selector/modules/selector.module.js +0 -45
  365. package/dist/es2015/src/selector/types.js +0 -15
  366. package/dist/es2015/src/services/dateApi.interface.js +0 -316
  367. package/dist/es2015/src/services/datePositionParser.interface.js +0 -56
  368. package/dist/es2015/src/services/datePositionParser.service.js +0 -297
  369. package/dist/es2015/src/services/dateTimeRelativeParser.service.js +0 -97
  370. package/dist/es2015/src/services/dateValueProvider.service.js +0 -79
  371. package/dist/es2015/src/services/formatProvider.interface.js +0 -28
  372. package/dist/es2015/src/services/index.js +0 -9
  373. package/dist/es5/datetime.js +0 -10
  374. package/dist/es5/public_api.js +0 -7
  375. package/dist/es5/src/datetime.js +0 -24
  376. package/dist/es5/src/misc/constants.js +0 -46
  377. package/dist/es5/src/misc/datetime.interface.js +0 -52
  378. package/dist/es5/src/misc/tokens.js +0 -29
  379. package/dist/es5/src/misc/validators.js +0 -124
  380. package/dist/es5/src/modules/datePipes.module.js +0 -30
  381. package/dist/es5/src/picker/components/dayPicker/dayPicker.component.js +0 -323
  382. package/dist/es5/src/picker/components/dayPicker/dayPicker.interfaces.js +0 -18
  383. package/dist/es5/src/picker/components/monthPicker/monthPicker.component.js +0 -233
  384. package/dist/es5/src/picker/components/monthPicker/monthPicker.interfaces.js +0 -11
  385. package/dist/es5/src/picker/components/picker/picker.component.animations.js +0 -77
  386. package/dist/es5/src/picker/components/picker/picker.component.js +0 -460
  387. package/dist/es5/src/picker/components/pickerBase.component.js +0 -561
  388. package/dist/es5/src/picker/components/yearPicker/yearPicker.component.js +0 -253
  389. package/dist/es5/src/picker/components/yearPicker/yearPicker.interfaces.js +0 -11
  390. package/dist/es5/src/picker/interfaces.js +0 -10
  391. package/dist/es5/src/picker/misc/datetimePicker.interface.js +0 -245
  392. package/dist/es5/src/picker/misc/tokens.js +0 -12
  393. package/dist/es5/src/picker/modules/picker.module.js +0 -39
  394. package/dist/es5/src/picker/types.js +0 -13
  395. package/dist/es5/src/pipes/dateConvert.pipe.js +0 -63
  396. package/dist/es5/src/pipes/dateFormat.pipe.js +0 -79
  397. package/dist/es5/src/selector/components/inputDateTime/inputDateTime.component.js +0 -808
  398. package/dist/es5/src/selector/components/selector/selector.component.animations.js +0 -21
  399. package/dist/es5/src/selector/components/selector/selector.component.js +0 -653
  400. package/dist/es5/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.js +0 -656
  401. package/dist/es5/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.js +0 -84
  402. package/dist/es5/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.js +0 -84
  403. package/dist/es5/src/selector/directives/datetimeValidator/datetimeValidator.directive.js +0 -82
  404. package/dist/es5/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.js +0 -230
  405. package/dist/es5/src/selector/interfaces.js +0 -7
  406. package/dist/es5/src/selector/misc/datetimeSelector.interface.js +0 -106
  407. package/dist/es5/src/selector/misc/tokens.js +0 -12
  408. package/dist/es5/src/selector/modules/basicSelector.module.js +0 -24
  409. package/dist/es5/src/selector/modules/selector.module.js +0 -49
  410. package/dist/es5/src/selector/types.js +0 -15
  411. package/dist/es5/src/services/dateApi.interface.js +0 -316
  412. package/dist/es5/src/services/datePositionParser.interface.js +0 -56
  413. package/dist/es5/src/services/datePositionParser.service.js +0 -366
  414. package/dist/es5/src/services/dateTimeRelativeParser.service.js +0 -108
  415. package/dist/es5/src/services/dateValueProvider.service.js +0 -92
  416. package/dist/es5/src/services/formatProvider.interface.js +0 -28
  417. package/dist/es5/src/services/index.js +0 -9
  418. package/moment/dist/es2015/moment/index.js +0 -10
  419. package/moment/dist/es2015/moment/public_api.js +0 -7
  420. package/moment/dist/es2015/moment/src/misc/tokens.js +0 -26
  421. package/moment/dist/es2015/moment/src/moment.js +0 -8
  422. package/moment/dist/es2015/moment/src/services/momentDateApi.service.js +0 -466
  423. package/moment/dist/es5/moment/index.js +0 -10
  424. package/moment/dist/es5/moment/public_api.js +0 -7
  425. package/moment/dist/es5/moment/src/misc/tokens.js +0 -26
  426. package/moment/dist/es5/moment/src/moment.js +0 -8
  427. package/moment/dist/es5/moment/src/services/momentDateApi.service.js +0 -858
  428. package/moment/index.d.ts +0 -5
  429. package/moment/index.d.ts.map +0 -1
  430. package/moment/index.metadata.json +0 -1
  431. package/moment/public_api.d.ts +0 -2
  432. package/moment/public_api.d.ts.map +0 -1
  433. package/moment/src/moment.d.ts.map +0 -1
  434. package/moment/src/services/momentDateApi.service.ngfactory.d.ts.map +0 -1
  435. package/public_api.d.ts +0 -2
  436. package/public_api.d.ts.map +0 -1
  437. package/src/datetime.d.ts.map +0 -1
  438. package/src/modules/datePipes.module.ngfactory.d.ts.map +0 -1
  439. package/src/picker/components/dayPicker/dayPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  440. package/src/picker/components/dayPicker/dayPicker.component.ngfactory.d.ts.map +0 -1
  441. package/src/picker/components/monthPicker/monthPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  442. package/src/picker/components/monthPicker/monthPicker.component.ngfactory.d.ts.map +0 -1
  443. package/src/picker/components/picker/picker.component.ngfactory.d.ts.map +0 -1
  444. package/src/picker/components/yearPicker/yearPicker.component.css.shim.ngstyle.d.ts.map +0 -1
  445. package/src/picker/components/yearPicker/yearPicker.component.ngfactory.d.ts.map +0 -1
  446. package/src/picker/modules/picker.module.ngfactory.d.ts.map +0 -1
  447. package/src/pipes/dateConvert.pipe.ngfactory.d.ts.map +0 -1
  448. package/src/pipes/dateFormat.pipe.ngfactory.d.ts.map +0 -1
  449. package/src/selector/components/inputDateTime/inputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  450. package/src/selector/components/inputDateTime/inputDateTime.component.ngfactory.d.ts.map +0 -1
  451. package/src/selector/components/selector/selector.component.css.shim.ngstyle.d.ts.map +0 -1
  452. package/src/selector/components/selector/selector.component.ngfactory.d.ts.map +0 -1
  453. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.css.shim.ngstyle.d.ts.map +0 -1
  454. package/src/selector/components/simpleInputDateTime/simpleInputDateTime.component.ngfactory.d.ts.map +0 -1
  455. package/src/selector/directives/datetimeMaxValidator/datetimeMaxValidator.directive.ngfactory.d.ts.map +0 -1
  456. package/src/selector/directives/datetimeMinValidator/datetimeMinValidator.directive.ngfactory.d.ts.map +0 -1
  457. package/src/selector/directives/datetimeValidator/datetimeValidator.directive.ngfactory.d.ts.map +0 -1
  458. package/src/selector/directives/selectorControlValueAccessor/selectorControlValueAccessor.directive.ngfactory.d.ts.map +0 -1
  459. package/src/selector/modules/basicSelector.module.ngfactory.d.ts.map +0 -1
  460. package/src/selector/modules/selector.module.ngfactory.d.ts.map +0 -1
  461. package/src/services/datePositionParser.service.ngfactory.d.ts.map +0 -1
  462. package/src/services/dateTimeRelativeParser.service.ngfactory.d.ts.map +0 -1
  463. package/src/services/dateValueProvider.service.ngfactory.d.ts.map +0 -1
@@ -1,588 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: src/selector/components/inputDateTime/inputDateTime.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, ChangeDetectionStrategy, Inject, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';
7
- import { Subject } from 'rxjs';
8
- import { DATE_API } from '../../../misc/tokens';
9
- import { DatePositionParserService } from '../../../services/datePositionParser.service';
10
- import { DateValueProvider } from '../../../services/dateValueProvider.service';
11
- /**
12
- * Component used as datetime selector with input
13
- * @template TDate
14
- */
15
- export class InputDateTimeSelectorComponent {
16
- //######################### constructor #########################
17
- /**
18
- * @param {?} _dateApi
19
- * @param {?} _parserSvc
20
- * @param {?} _valueProvider
21
- * @param {?} _changeDetector
22
- */
23
- constructor(_dateApi, _parserSvc, _valueProvider, _changeDetector) {
24
- this._dateApi = _dateApi;
25
- this._parserSvc = _parserSvc;
26
- this._valueProvider = _valueProvider;
27
- this._changeDetector = _changeDetector;
28
- //######################### protected fields #########################
29
- /**
30
- * Occurs when value changes
31
- */
32
- this._valueChange = new Subject();
33
- /**
34
- * Occurs when selector is touched by user
35
- */
36
- this._touched = new Subject();
37
- /**
38
- * Occurs when selector requires picker to be displayed or hidden
39
- */
40
- this._pickerRequest = new Subject();
41
- /**
42
- * Instance of parser created for specific format
43
- */
44
- this._parser = null;
45
- /**
46
- * Currently used format for displaying data
47
- */
48
- this._format = '';
49
- /**
50
- * Current value representation as date api wrapper
51
- */
52
- this._dateApiValue = null;
53
- /**
54
- * Indication whether is current value valid value
55
- */
56
- this._isValid = true;
57
- /**
58
- * Minimal possible value that can be picked
59
- */
60
- this._minValue = null;
61
- /**
62
- * Maximal possible value that can be picked
63
- */
64
- this._maxValue = null;
65
- //######################### public properties - template bindings #########################
66
- /**
67
- * Indication whether is input disabled
68
- * \@internal
69
- */
70
- this.disabled = false;
71
- }
72
- //######################### public properties - implementation of DateTimeSelector #########################
73
- /**
74
- * Gets or sets currently used format for displaying data
75
- * @return {?}
76
- */
77
- get format() {
78
- return this._format;
79
- }
80
- /**
81
- * @param {?} value
82
- * @return {?}
83
- */
84
- set format(value) {
85
- //only if format changes
86
- if (this._format != value) {
87
- this._parser = this._parserSvc.createParser(this._dateApi.getFormat(value));
88
- }
89
- this._format = value;
90
- }
91
- /**
92
- * Gets current value of datetime
93
- * @return {?}
94
- */
95
- get value() {
96
- if (!this._dateApiValue || !this._isValid) {
97
- return null;
98
- }
99
- return this._valueProvider.getValue(this._dateApiValue.value, this._format);
100
- }
101
- /**
102
- * Gets formatted value
103
- * @return {?}
104
- */
105
- get formattedValue() {
106
- if (!this._isValid) {
107
- return null;
108
- }
109
- return this.currentValue;
110
- }
111
- /**
112
- * Gets indication whether is current value valid
113
- * @return {?}
114
- */
115
- get valid() {
116
- return this._isValid;
117
- }
118
- /**
119
- * Occurs when value changes
120
- * @return {?}
121
- */
122
- get valueChange() {
123
- return this._valueChange.asObservable();
124
- }
125
- /**
126
- * Occurs when selector is touched by user
127
- * @return {?}
128
- */
129
- get touched() {
130
- return this._touched.asObservable();
131
- }
132
- /**
133
- * Occurs when selector requires picker to be displayed
134
- * @return {?}
135
- */
136
- get pickerRequest() {
137
- return this._pickerRequest.asObservable();
138
- }
139
- //######################### protected properties #########################
140
- /**
141
- * Gets or sets string representation current of value
142
- * @protected
143
- * @return {?}
144
- */
145
- get currentValue() {
146
- return this.input.value || null;
147
- }
148
- /**
149
- * @protected
150
- * @param {?} value
151
- * @return {?}
152
- */
153
- set currentValue(value) {
154
- if (this.input) {
155
- this.input.value = value !== null && value !== void 0 ? value : '';
156
- }
157
- }
158
- /**
159
- * Gets input element used for handling date time value
160
- * @protected
161
- * @return {?}
162
- */
163
- get input() {
164
- return (/** @type {?} */ (this.inputElement)).nativeElement;
165
- }
166
- //######################### public methods - implementation of DateTimeSelector #########################
167
- /**
168
- * Sets minimal possible value for picker, that can be picked
169
- * @param {?} value - Minimal possible value that can be picked
170
- * @return {?}
171
- */
172
- setMinValue(value) {
173
- this._minValue = value;
174
- }
175
- /**
176
- * Sets maximal possible value for picker, that can be picked
177
- * @param {?} value - Maximal possible value that can be picked
178
- * @return {?}
179
- */
180
- setMaxValue(value) {
181
- this._maxValue = value;
182
- }
183
- /**
184
- * Sets value of datetime selector
185
- * @param {?} value - Value to be set to this selector
186
- * @return {?}
187
- */
188
- setValue(value) {
189
- if (value === null || value === void 0 ? void 0 : value.from) {
190
- this._dateApiValue = this._dateApi.getValue(value === null || value === void 0 ? void 0 : value.from, this._format);
191
- this._isValid = this._dateApiValue.isValid();
192
- this._show();
193
- }
194
- else {
195
- this._clearValue();
196
- }
197
- }
198
- /**
199
- * Sets as 'control' disabled
200
- * @param {?=} disabled - Indication whether sets value as disabled, if omitted it is same as disabled set to true
201
- * @return {?}
202
- */
203
- setDisabled(disabled = true) {
204
- this.disabled = disabled;
205
- }
206
- /**
207
- * Explicitly runs invalidation of content (change detection)
208
- * @return {?}
209
- */
210
- invalidateVisuals() {
211
- this._changeDetector.detectChanges();
212
- }
213
- //######################### public methods - template bindings #########################
214
- /**
215
- * Handles gaining of focus
216
- * \@internal
217
- * @return {?}
218
- */
219
- handleFocus() {
220
- this._pickerRequest.next(true);
221
- //no value
222
- if (!this._dateApiValue) {
223
- this._dateApiValue = this._dateApi.now();
224
- this._isValid = this._dateApiValue.isValid();
225
- if (this._minMaxConstraintTest()) {
226
- this._clearValue();
227
- }
228
- else {
229
- this._valueChange.next();
230
- }
231
- }
232
- if (!this._isValid) {
233
- return;
234
- }
235
- this._show();
236
- /** @type {?} */
237
- let result = (/** @type {?} */ (this._parser)).parse((/** @type {?} */ (this.currentValue)), (/** @type {?} */ (this.input.selectionStart)));
238
- this.input.selectionStart = result.positionFrom;
239
- this.input.selectionEnd = result.positionTo;
240
- }
241
- /**
242
- * Handles blur on input
243
- * \@internal
244
- * @return {?}
245
- */
246
- handleBlur() {
247
- this._pickerRequest.next(false);
248
- }
249
- /**
250
- * Handles user input
251
- * \@internal
252
- * @return {?}
253
- */
254
- handleInput() {
255
- //empty value
256
- if (!this.currentValue) {
257
- this._clearValue();
258
- this._valueChange.next();
259
- return;
260
- }
261
- this._dateApiValue = this._dateApi.getValue(this.currentValue, this._format);
262
- this._isValid = this._dateApiValue.isValid();
263
- this._valueChange.next();
264
- }
265
- /**
266
- * Handles selection of text inside of input
267
- * \@internal
268
- * @return {?}
269
- */
270
- handleSelect() {
271
- //handles when all text is selected
272
- if (this.currentValue && this.input.selectionStart == 0 && this.input.selectionEnd == this.input.value.length) {
273
- /** @type {?} */
274
- let result = (/** @type {?} */ (this._parser)).parse(this.input.value, (/** @type {?} */ (this.input.selectionStart)));
275
- this.input.selectionStart = result.positionFrom;
276
- this.input.selectionEnd = result.positionTo;
277
- }
278
- }
279
- /**
280
- * Handles click event inside of input
281
- * \@internal
282
- * @return {?}
283
- */
284
- handleClick() {
285
- this._pickerRequest.next(true);
286
- if (!this._dateApiValue) {
287
- return;
288
- }
289
- /** @type {?} */
290
- let result = (/** @type {?} */ (this._parser)).parse(this.input.value, (/** @type {?} */ (this.input.selectionStart)));
291
- this.input.selectionStart = result.positionFrom;
292
- this.input.selectionEnd = result.positionTo;
293
- }
294
- /**
295
- * Handles keyboard events
296
- * \@internal
297
- * @param {?} event - Keyboard event that occured
298
- * @return {?}
299
- */
300
- handleKeyboard(event) {
301
- var _a;
302
- if (!((_a = this._dateApiValue) === null || _a === void 0 ? void 0 : _a.isValid())) {
303
- return;
304
- }
305
- switch (event.key) {
306
- case 'ArrowRight':
307
- case 'ArrowLeft':
308
- {
309
- event.preventDefault();
310
- event.stopPropagation();
311
- /** @type {?} */
312
- let result = event.key == 'ArrowLeft' ? (/** @type {?} */ (this._parser)).previous(this.input.value, (/** @type {?} */ (this.input.selectionStart))) : (/** @type {?} */ (this._parser)).next(this.input.value, (/** @type {?} */ (this.input.selectionStart)));
313
- if (result) {
314
- this.input.selectionStart = result.positionFrom;
315
- this.input.selectionEnd = result.positionTo;
316
- }
317
- break;
318
- }
319
- case 'ArrowUp':
320
- case 'ArrowDown':
321
- {
322
- event.preventDefault();
323
- event.stopPropagation();
324
- /** @type {?} */
325
- let result = (/** @type {?} */ (this._parser)).parse(this.input.value, (/** @type {?} */ (this.input.selectionStart)));
326
- /** @type {?} */
327
- let selectionStart = result.positionFrom;
328
- this._stepChangeValue(result.part, event.key == 'ArrowUp');
329
- this._show();
330
- result = (/** @type {?} */ (this._parser)).parse(this.input.value, selectionStart);
331
- this.input.selectionStart = result.positionFrom;
332
- this.input.selectionEnd = result.positionTo;
333
- break;
334
- }
335
- case 'Tab':
336
- {
337
- /** @type {?} */
338
- let result = event.shiftKey ? (/** @type {?} */ (this._parser)).previous(this.input.value, (/** @type {?} */ (this.input.selectionStart))) : (/** @type {?} */ (this._parser)).next(this.input.value, (/** @type {?} */ (this.input.selectionStart)));
339
- if (result) {
340
- event.preventDefault();
341
- event.stopPropagation();
342
- this.input.selectionStart = result.positionFrom;
343
- this.input.selectionEnd = result.positionTo;
344
- }
345
- break;
346
- }
347
- case 'a':
348
- {
349
- if (event.ctrlKey) {
350
- event.preventDefault();
351
- event.stopPropagation();
352
- }
353
- break;
354
- }
355
- case 'Backspace':
356
- {
357
- this._clearValue();
358
- this._valueChange.next();
359
- break;
360
- }
361
- case 'Escape':
362
- {
363
- this._pickerRequest.next(false);
364
- break;
365
- }
366
- case ' ':
367
- {
368
- if (event.ctrlKey) {
369
- this._pickerRequest.next(true);
370
- }
371
- break;
372
- }
373
- }
374
- }
375
- //######################### protected methods #########################
376
- /**
377
- * Shows current value in input
378
- * @protected
379
- * @return {?}
380
- */
381
- _show() {
382
- var _a, _b;
383
- if (this._isValid) {
384
- this.currentValue = (_b = (_a = this._dateApiValue) === null || _a === void 0 ? void 0 : _a.format(this._format)) !== null && _b !== void 0 ? _b : null;
385
- }
386
- }
387
- /**
388
- * Tests whether are min or max constraint broken, returns true if constraint is broken
389
- * @protected
390
- * @return {?}
391
- */
392
- _minMaxConstraintTest() {
393
- return (!!this._minValue && (/** @type {?} */ (this._dateApiValue)).isBefore(this._minValue)) ||
394
- (!!this._maxValue && (/** @type {?} */ (this._dateApiValue)).isAfter(this._maxValue));
395
- }
396
- /**
397
- * Runs code with check whether min max constrains was broken
398
- * @protected
399
- * @param {?} code - Code that should be executed which can change current value
400
- * @return {?}
401
- */
402
- _withMinMaxConstraint(code) {
403
- var _a;
404
- (/** @type {?} */ (this._dateApiValue)).updateOriginal();
405
- code();
406
- //min value constraint failure
407
- if (this._minMaxConstraintTest()) {
408
- (_a = this._dateApiValue) === null || _a === void 0 ? void 0 : _a.resetOriginal();
409
- return;
410
- }
411
- this._valueChange.next();
412
- }
413
- /**
414
- * Clears current value
415
- * @protected
416
- * @return {?}
417
- */
418
- _clearValue() {
419
- this._dateApiValue = null;
420
- this._isValid = true;
421
- this.currentValue = null;
422
- }
423
- /**
424
- * Changes current value of date for for specified part by single step
425
- * @protected
426
- * @param {?} part - Part of date that should be changed
427
- * @param {?} increment - Indication whether value should be incremented or decremented
428
- * @return {?}
429
- */
430
- _stepChangeValue(part, increment) {
431
- var _a;
432
- if (!((_a = this._dateApiValue) === null || _a === void 0 ? void 0 : _a.isValid())) {
433
- return;
434
- }
435
- switch (part) {
436
- case 'y':
437
- case 'Y':
438
- {
439
- this._withMinMaxConstraint((/**
440
- * @return {?}
441
- */
442
- () => increment ? (/** @type {?} */ (this._dateApiValue)).addYears(1) : (/** @type {?} */ (this._dateApiValue)).subtractYears(1)));
443
- break;
444
- }
445
- case 'Q':
446
- {
447
- break;
448
- }
449
- case 'M':
450
- {
451
- this._withMinMaxConstraint((/**
452
- * @return {?}
453
- */
454
- () => increment ? (/** @type {?} */ (this._dateApiValue)).addMonths(1) : (/** @type {?} */ (this._dateApiValue)).subtractMonths(1)));
455
- break;
456
- }
457
- case 'w':
458
- {
459
- this._withMinMaxConstraint((/**
460
- * @return {?}
461
- */
462
- () => increment ? (/** @type {?} */ (this._dateApiValue)).addWeeks(1) : (/** @type {?} */ (this._dateApiValue)).subtractWeeks(1)));
463
- break;
464
- }
465
- case 'd':
466
- case 'D':
467
- {
468
- this._withMinMaxConstraint((/**
469
- * @return {?}
470
- */
471
- () => increment ? (/** @type {?} */ (this._dateApiValue)).addDays(1) : (/** @type {?} */ (this._dateApiValue)).subtractDays(1)));
472
- break;
473
- }
474
- }
475
- }
476
- }
477
- InputDateTimeSelectorComponent.decorators = [
478
- { type: Component, args: [{
479
- selector: 'input-date-time-selector',
480
- template: "<input type=\"text\"\r\n #input\r\n (focus)=\"handleFocus()\"\r\n (blur)=\"handleBlur()\"\r\n (input)=\"handleInput()\"\r\n (click)=\"handleClick()\"\r\n (select)=\"handleSelect()\"\r\n (keydown)=\"handleKeyboard($any($event))\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\">",
481
- changeDetection: ChangeDetectionStrategy.OnPush,
482
- styles: [":host\r\n{\r\n display: block;\r\n}\r\n\r\ninput\r\n{\r\n width: 100%;\r\n}"]
483
- },] }
484
- ];
485
- /** @nocollapse */
486
- InputDateTimeSelectorComponent.ctorParameters = () => [
487
- { type: undefined, decorators: [{ type: Inject, args: [DATE_API,] }] },
488
- { type: DatePositionParserService },
489
- { type: DateValueProvider },
490
- { type: ChangeDetectorRef }
491
- ];
492
- InputDateTimeSelectorComponent.propDecorators = {
493
- inputElement: [{ type: ViewChild, args: ['input', { static: true },] }]
494
- };
495
- if (false) {
496
- /**
497
- * Occurs when value changes
498
- * @type {?}
499
- * @protected
500
- */
501
- InputDateTimeSelectorComponent.prototype._valueChange;
502
- /**
503
- * Occurs when selector is touched by user
504
- * @type {?}
505
- * @protected
506
- */
507
- InputDateTimeSelectorComponent.prototype._touched;
508
- /**
509
- * Occurs when selector requires picker to be displayed or hidden
510
- * @type {?}
511
- * @protected
512
- */
513
- InputDateTimeSelectorComponent.prototype._pickerRequest;
514
- /**
515
- * Instance of parser created for specific format
516
- * @type {?}
517
- * @protected
518
- */
519
- InputDateTimeSelectorComponent.prototype._parser;
520
- /**
521
- * Currently used format for displaying data
522
- * @type {?}
523
- * @protected
524
- */
525
- InputDateTimeSelectorComponent.prototype._format;
526
- /**
527
- * Current value representation as date api wrapper
528
- * @type {?}
529
- * @protected
530
- */
531
- InputDateTimeSelectorComponent.prototype._dateApiValue;
532
- /**
533
- * Indication whether is current value valid value
534
- * @type {?}
535
- * @protected
536
- */
537
- InputDateTimeSelectorComponent.prototype._isValid;
538
- /**
539
- * Minimal possible value that can be picked
540
- * @type {?}
541
- * @protected
542
- */
543
- InputDateTimeSelectorComponent.prototype._minValue;
544
- /**
545
- * Maximal possible value that can be picked
546
- * @type {?}
547
- * @protected
548
- */
549
- InputDateTimeSelectorComponent.prototype._maxValue;
550
- /**
551
- * Gets or sets placeholder that is displayed when there is no value selected
552
- * @type {?}
553
- */
554
- InputDateTimeSelectorComponent.prototype.placeholder;
555
- /**
556
- * Indication whether is input disabled
557
- * \@internal
558
- * @type {?}
559
- */
560
- InputDateTimeSelectorComponent.prototype.disabled;
561
- /**
562
- * Instance of html input element
563
- * \@internal
564
- * @type {?}
565
- */
566
- InputDateTimeSelectorComponent.prototype.inputElement;
567
- /**
568
- * @type {?}
569
- * @protected
570
- */
571
- InputDateTimeSelectorComponent.prototype._dateApi;
572
- /**
573
- * @type {?}
574
- * @protected
575
- */
576
- InputDateTimeSelectorComponent.prototype._parserSvc;
577
- /**
578
- * @type {?}
579
- * @protected
580
- */
581
- InputDateTimeSelectorComponent.prototype._valueProvider;
582
- /**
583
- * @type {?}
584
- * @protected
585
- */
586
- InputDateTimeSelectorComponent.prototype._changeDetector;
587
- }
588
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXREYXRlVGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2VsZWN0b3IvY29tcG9uZW50cy9pbnB1dERhdGVUaW1lL2lucHV0RGF0ZVRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3pDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFhOUUsTUFBTSxPQUFPLDhCQUE4Qjs7Ozs7Ozs7SUErS3ZDLFlBQXdDLFFBQXdCLEVBQzFDLFVBQXFDLEVBQ3JDLGNBQXdDLEVBQ3hDLGVBQWtDO1FBSGhCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQzFDLGVBQVUsR0FBVixVQUFVLENBQTJCO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUN4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7Ozs7O1FBM0s5QyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDOzs7O1FBS2xELGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQzs7OztRQUs5QyxtQkFBYyxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDOzs7O1FBSzFELFlBQU8sR0FBNEIsSUFBSSxDQUFDOzs7O1FBS3hDLFlBQU8sR0FBVyxFQUFFLENBQUM7Ozs7UUFLckIsa0JBQWEsR0FBOEIsSUFBSSxDQUFDOzs7O1FBS2hELGFBQVEsR0FBWSxJQUFJLENBQUM7Ozs7UUFLekIsY0FBUyxHQUFlLElBQUksQ0FBQzs7OztRQUs3QixjQUFTLEdBQWUsSUFBSSxDQUFDOzs7Ozs7UUEyRmhDLGFBQVEsR0FBWSxLQUFLLENBQUM7SUEwQ2pDLENBQUM7Ozs7OztJQTlIRCxJQUFXLE1BQU07UUFFYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFDRCxJQUFXLE1BQU0sQ0FBQyxLQUFhO1FBRTNCLHdCQUF3QjtRQUN4QixJQUFHLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxFQUN4QjtZQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRTtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBVUQsSUFBVyxLQUFLO1FBRVosSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUN4QztZQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDOzs7OztJQUtELElBQVcsY0FBYztRQUVyQixJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFDakI7WUFDSSxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBS0QsSUFBVyxLQUFLO1FBRVosT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBS0QsSUFBVyxXQUFXO1FBRWxCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs7OztJQUtELElBQVcsT0FBTztRQUVkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7OztJQUtELElBQVcsYUFBYTtRQUVwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7Ozs7OztJQXdCRCxJQUFjLFlBQVk7UUFFdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDcEMsQ0FBQzs7Ozs7O0lBQ0QsSUFBYyxZQUFZLENBQUMsS0FBa0I7UUFFekMsSUFBRyxJQUFJLENBQUMsS0FBSyxFQUNiO1lBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQzs7Ozs7O0lBS0QsSUFBYyxLQUFLO1FBRWYsT0FBTyxtQkFBQSxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVDLENBQUM7Ozs7Ozs7SUFnQk0sV0FBVyxDQUFDLEtBQWlCO1FBRWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7Ozs7OztJQU1NLFdBQVcsQ0FBQyxLQUFpQjtRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDOzs7Ozs7SUFNTSxRQUFRLENBQUMsS0FBZ0M7UUFFNUMsSUFBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxFQUNkO1lBQ0ksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO2FBRUQ7WUFDSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDOzs7Ozs7SUFNTSxXQUFXLENBQUMsV0FBb0IsSUFBSTtRQUV2QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDOzs7OztJQUtNLGlCQUFpQjtRQUVwQixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7Ozs7Ozs7SUFRTSxXQUFXO1FBRWQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsVUFBVTtRQUNWLElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUN0QjtZQUNJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFN0MsSUFBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFDL0I7Z0JBQ0ksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3RCO2lCQUVEO2dCQUNJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDNUI7U0FDSjtRQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUNqQjtZQUNJLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7WUFFVCxNQUFNLEdBQUcsbUJBQUEsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLEtBQUssQ0FBQyxtQkFBQSxJQUFJLENBQUMsWUFBWSxFQUFDLEVBQUUsbUJBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUMsQ0FBQztRQUVoRixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQzs7Ozs7O0lBTU0sVUFBVTtRQUViLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7OztJQU1NLFdBQVc7UUFFZCxhQUFhO1FBQ2IsSUFBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQ3JCO1lBQ0ksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFekIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7Ozs7SUFNTSxZQUFZO1FBRWYsbUNBQW1DO1FBQ25DLElBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUM1Rzs7Z0JBQ1EsTUFBTSxHQUFHLG1CQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsbUJBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUMsQ0FBQztZQUU5RSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7U0FDL0M7SUFDTCxDQUFDOzs7Ozs7SUFNTSxXQUFXO1FBRWQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQ3RCO1lBQ0ksT0FBTztTQUNWOztZQUVHLE1BQU0sR0FBRyxtQkFBQSxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLG1CQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7Ozs7Ozs7SUFRTSxjQUFjLENBQUMsS0FBb0I7O1FBRXRDLElBQUcsUUFBQyxJQUFJLENBQUMsYUFBYSwwQ0FBRSxPQUFPLEdBQUUsRUFDakM7WUFDSSxPQUFPO1NBQ1Y7UUFFRCxRQUFPLEtBQUssQ0FBQyxHQUFHLEVBQ2hCO1lBQ0ksS0FBSyxZQUFZLENBQUM7WUFDbEIsS0FBSyxXQUFXO2dCQUNoQjtvQkFDSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQzs7d0JBRXBCLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsbUJBQUEsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsbUJBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUMsQ0FBQztvQkFFL0ssSUFBRyxNQUFNLEVBQ1Q7d0JBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQzt3QkFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztxQkFDL0M7b0JBRUQsTUFBTTtpQkFDVDtZQUNELEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxXQUFXO2dCQUNoQjtvQkFDSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQzs7d0JBRXBCLE1BQU0sR0FBRyxtQkFBQSxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLG1CQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFDLENBQUM7O3dCQUMxRSxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVk7b0JBRXhDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLENBQUM7b0JBQzNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFFYixNQUFNLEdBQUcsbUJBQUEsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztvQkFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztvQkFFNUMsTUFBTTtpQkFDVDtZQUNELEtBQUssS0FBSztnQkFDVjs7d0JBQ1EsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsbUJBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLG1CQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFDLENBQUM7b0JBRXJLLElBQUcsTUFBTSxFQUNUO3dCQUNJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUV4QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO3dCQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO3FCQUMvQztvQkFFRCxNQUFNO2lCQUNUO1lBQ0QsS0FBSyxHQUFHO2dCQUNSO29CQUNJLElBQUcsS0FBSyxDQUFDLE9BQU8sRUFDaEI7d0JBQ0ksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7cUJBQzNCO29CQUVELE1BQU07aUJBQ1Q7WUFDRCxLQUFLLFdBQVc7Z0JBQ2hCO29CQUNJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFFekIsTUFBTTtpQkFDVDtZQUNELEtBQUssUUFBUTtnQkFDYjtvQkFDSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFFaEMsTUFBTTtpQkFDVDtZQUNELEtBQUssR0FBRztnQkFDUjtvQkFDSSxJQUFHLEtBQUssQ0FBQyxPQUFPLEVBQ2hCO3dCQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNsQztvQkFFRCxNQUFNO2lCQUNUO1NBQ0o7SUFDTCxDQUFDOzs7Ozs7O0lBT1MsS0FBSzs7UUFFWCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQ2hCO1lBQ0ksSUFBSSxDQUFDLFlBQVksZUFBRyxJQUFJLENBQUMsYUFBYSwwQ0FBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sb0NBQUssSUFBSSxDQUFDO1NBQ3hFO0lBQ0wsQ0FBQzs7Ozs7O0lBS1MscUJBQXFCO1FBRTNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLG1CQUFBLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7Ozs7OztJQU1TLHFCQUFxQixDQUFDLElBQWdCOztRQUU1QyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFckMsSUFBSSxFQUFFLENBQUM7UUFFUCw4QkFBOEI7UUFDOUIsSUFBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFDL0I7WUFDSSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLGFBQWEsR0FBRztZQUVwQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7Ozs7OztJQUtTLFdBQVc7UUFFakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7Ozs7Ozs7SUFPUyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsU0FBa0I7O1FBRXZELElBQUcsUUFBQyxJQUFJLENBQUMsYUFBYSwwQ0FBRSxPQUFPLEdBQUUsRUFDakM7WUFDSSxPQUFPO1NBQ1Y7UUFFRCxRQUFPLElBQUksRUFDWDtZQUNJLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHO2dCQUNSO29CQUNJLElBQUksQ0FBQyxxQkFBcUI7OztvQkFBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztvQkFFckgsTUFBTTtpQkFDVDtZQUNELEtBQUssR0FBRztnQkFDUjtvQkFDSSxNQUFNO2lCQUNUO1lBQ0QsS0FBSyxHQUFHO2dCQUNSO29CQUNJLElBQUksQ0FBQyxxQkFBcUI7OztvQkFBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztvQkFFdkgsTUFBTTtpQkFDVDtZQUNELEtBQUssR0FBRztnQkFDUjtvQkFDSSxJQUFJLENBQUMscUJBQXFCOzs7b0JBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7b0JBRXJILE1BQU07aUJBQ1Q7WUFDRCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDUjtvQkFDSSxJQUFJLENBQUMscUJBQXFCOzs7b0JBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7b0JBRW5ILE1BQU07aUJBQ1Q7U0FDSjtJQUNMLENBQUM7OztZQWxpQkosU0FBUyxTQUNWO2dCQUNJLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLHFXQUEyQztnQkFFM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7OzRDQWdMZ0IsTUFBTSxTQUFDLFFBQVE7WUE3THhCLHlCQUF5QjtZQUN6QixpQkFBaUI7WUFQMkIsaUJBQWlCOzs7MkJBc0toRSxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzs7Ozs7Ozs7SUEzSWxDLHNEQUE0RDs7Ozs7O0lBSzVELGtEQUF3RDs7Ozs7O0lBS3hELHdEQUFvRTs7Ozs7O0lBS3BFLGlEQUFrRDs7Ozs7O0lBS2xELGlEQUErQjs7Ozs7O0lBSy9CLHVEQUEwRDs7Ozs7O0lBSzFELGtEQUFtQzs7Ozs7O0lBS25DLG1EQUF1Qzs7Ozs7O0lBS3ZDLG1EQUF1Qzs7Ozs7SUF5QnZDLHFEQUFxQzs7Ozs7O0lBa0VyQyxrREFBaUM7Ozs7OztJQVFqQyxzREFDbUQ7Ozs7O0lBNEJ2QyxrREFBb0Q7Ozs7O0lBQ3BELG9EQUErQzs7Ozs7SUFDL0Msd0RBQWtEOzs7OztJQUNsRCx5REFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEluamVjdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge0RhdGVUaW1lVmFsdWV9IGZyb20gJy4uLy4uLy4uL21pc2MvZGF0ZXRpbWUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtEQVRFX0FQSX0gZnJvbSAnLi4vLi4vLi4vbWlzYy90b2tlbnMnO1xyXG5pbXBvcnQge0RhdGVBcGksIERhdGVBcGlPYmplY3QsIERhdGVQb3NpdGlvblBhcnNlcn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge0RhdGVQb3NpdGlvblBhcnNlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RhdGVQb3NpdGlvblBhcnNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtEYXRlVmFsdWVQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZGF0ZVZhbHVlUHJvdmlkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7RGF0ZVRpbWVTZWxlY3Rvcn0gZnJvbSAnLi4vLi4vbWlzYy9kYXRldGltZVNlbGVjdG9yLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHVzZWQgYXMgZGF0ZXRpbWUgc2VsZWN0b3Igd2l0aCBpbnB1dFxyXG4gKi9cclxuQENvbXBvbmVudChcclxue1xyXG4gICAgc2VsZWN0b3I6ICdpbnB1dC1kYXRlLXRpbWUtc2VsZWN0b3InLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dERhdGVUaW1lLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydpbnB1dERhdGVUaW1lLmNvbXBvbmVudC5jc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnQ8VERhdGUgPSBhbnk+IGltcGxlbWVudHMgRGF0ZVRpbWVTZWxlY3RvcjxURGF0ZT5cclxue1xyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHByb3RlY3RlZCBmaWVsZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gdmFsdWUgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlQ2hhbmdlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9jY3VycyB3aGVuIHNlbGVjdG9yIGlzIHRvdWNoZWQgYnkgdXNlclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX3RvdWNoZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gc2VsZWN0b3IgcmVxdWlyZXMgcGlja2VyIHRvIGJlIGRpc3BsYXllZCBvciBoaWRkZW5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9waWNrZXJSZXF1ZXN0OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluc3RhbmNlIG9mIHBhcnNlciBjcmVhdGVkIGZvciBzcGVjaWZpYyBmb3JtYXRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9wYXJzZXI6IERhdGVQb3NpdGlvblBhcnNlcnxudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnRseSB1c2VkIGZvcm1hdCBmb3IgZGlzcGxheWluZyBkYXRhXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfZm9ybWF0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnQgdmFsdWUgcmVwcmVzZW50YXRpb24gYXMgZGF0ZSBhcGkgd3JhcHBlclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2RhdGVBcGlWYWx1ZTogbnVsbHxEYXRlQXBpT2JqZWN0PFREYXRlPiA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0aW9uIHdoZXRoZXIgaXMgY3VycmVudCB2YWx1ZSB2YWxpZCB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2lzVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWluaW1hbCBwb3NzaWJsZSB2YWx1ZSB0aGF0IGNhbiBiZSBwaWNrZWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9taW5WYWx1ZTogVERhdGV8bnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbWFsIHBvc3NpYmxlIHZhbHVlIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX21heFZhbHVlOiBURGF0ZXxudWxsID0gbnVsbDtcclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHVibGljIHByb3BlcnRpZXMgLSBpbXBsZW1lbnRhdGlvbiBvZiBEYXRlVGltZVNlbGVjdG9yICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBjdXJyZW50bHkgdXNlZCBmb3JtYXQgZm9yIGRpc3BsYXlpbmcgZGF0YVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGZvcm1hdCgpOiBzdHJpbmdcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBmb3JtYXQodmFsdWU6IHN0cmluZylcclxuICAgIHtcclxuICAgICAgICAvL29ubHkgaWYgZm9ybWF0IGNoYW5nZXNcclxuICAgICAgICBpZih0aGlzLl9mb3JtYXQgIT0gdmFsdWUpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl9wYXJzZXIgPSB0aGlzLl9wYXJzZXJTdmMuY3JlYXRlUGFyc2VyKHRoaXMuX2RhdGVBcGkuZ2V0Rm9ybWF0KHZhbHVlKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyBwbGFjZWhvbGRlciB0aGF0IGlzIGRpc3BsYXllZCB3aGVuIHRoZXJlIGlzIG5vIHZhbHVlIHNlbGVjdGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nfHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgY3VycmVudCB2YWx1ZSBvZiBkYXRldGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IERhdGVUaW1lVmFsdWU8VERhdGU+fG51bGxcclxuICAgIHtcclxuICAgICAgICBpZighdGhpcy5fZGF0ZUFwaVZhbHVlIHx8ICF0aGlzLl9pc1ZhbGlkKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVQcm92aWRlci5nZXRWYWx1ZSh0aGlzLl9kYXRlQXBpVmFsdWUudmFsdWUsIHRoaXMuX2Zvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGZvcm1hdHRlZCB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZ3xudWxsXHJcbiAgICB7XHJcbiAgICAgICAgaWYoIXRoaXMuX2lzVmFsaWQpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgaW5kaWNhdGlvbiB3aGV0aGVyIGlzIGN1cnJlbnQgdmFsdWUgdmFsaWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB2YWxpZCgpOiBib29sZWFuXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiB2YWx1ZSBjaGFuZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgdmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9jY3VycyB3aGVuIHNlbGVjdG9yIGlzIHRvdWNoZWQgYnkgdXNlclxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHRvdWNoZWQoKTogT2JzZXJ2YWJsZTx2b2lkPlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90b3VjaGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gc2VsZWN0b3IgcmVxdWlyZXMgcGlja2VyIHRvIGJlIGRpc3BsYXllZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHBpY2tlclJlcXVlc3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9waWNrZXJSZXF1ZXN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgcHJvcGVydGllcyAtIHRlbXBsYXRlIGJpbmRpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRpb24gd2hldGhlciBpcyBpbnB1dCBkaXNhYmxlZFxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgcHJvcGVydGllcyAtIGNoaWxkcmVuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluc3RhbmNlIG9mIGh0bWwgaW5wdXQgZWxlbWVudFxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogdHJ1ZX0pXHJcbiAgICBwdWJsaWMgaW5wdXRFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgICAvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgcHJvdGVjdGVkIHByb3BlcnRpZXMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHN0cmluZyByZXByZXNlbnRhdGlvbiBjdXJyZW50IG9mIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgY3VycmVudFZhbHVlKCk6IHN0cmluZ3xudWxsXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQudmFsdWUgfHwgbnVsbDtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBzZXQgY3VycmVudFZhbHVlKHZhbHVlOiBzdHJpbmd8bnVsbClcclxuICAgIHtcclxuICAgICAgICBpZih0aGlzLmlucHV0KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHZhbHVlID8/ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgaW5wdXQgZWxlbWVudCB1c2VkIGZvciBoYW5kbGluZyBkYXRlIHRpbWUgdmFsdWVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBpbnB1dCgpOiBIVE1MSW5wdXRFbGVtZW50XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50IS5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBjb25zdHJ1Y3RvciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERBVEVfQVBJKSBwcm90ZWN0ZWQgX2RhdGVBcGk6IERhdGVBcGk8VERhdGU+LFxyXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wYXJzZXJTdmM6IERhdGVQb3NpdGlvblBhcnNlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3ZhbHVlUHJvdmlkZXI6IERhdGVWYWx1ZVByb3ZpZGVyPFREYXRlPixcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKVxyXG4gICAge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAtIGltcGxlbWVudGF0aW9uIG9mIERhdGVUaW1lU2VsZWN0b3IgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBtaW5pbWFsIHBvc3NpYmxlIHZhbHVlIGZvciBwaWNrZXIsIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gTWluaW1hbCBwb3NzaWJsZSB2YWx1ZSB0aGF0IGNhbiBiZSBwaWNrZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldE1pblZhbHVlKHZhbHVlOiBURGF0ZXxudWxsKTogdm9pZFxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX21pblZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIG1heGltYWwgcG9zc2libGUgdmFsdWUgZm9yIHBpY2tlciwgdGhhdCBjYW4gYmUgcGlja2VkXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBNYXhpbWFsIHBvc3NpYmxlIHZhbHVlIHRoYXQgY2FuIGJlIHBpY2tlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0TWF4VmFsdWUodmFsdWU6IFREYXRlfG51bGwpOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fbWF4VmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdmFsdWUgb2YgZGF0ZXRpbWUgc2VsZWN0b3JcclxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIGJlIHNldCB0byB0aGlzIHNlbGVjdG9yXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogRGF0ZVRpbWVWYWx1ZTxURGF0ZT58bnVsbCk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICBpZih2YWx1ZT8uZnJvbSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGVBcGlWYWx1ZSA9IHRoaXMuX2RhdGVBcGkuZ2V0VmFsdWUodmFsdWU/LmZyb20sIHRoaXMuX2Zvcm1hdCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSB0aGlzLl9kYXRlQXBpVmFsdWUuaXNWYWxpZCgpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5fc2hvdygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhclZhbHVlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBhcyAnY29udHJvbCcgZGlzYWJsZWRcclxuICAgICAqIEBwYXJhbSBkaXNhYmxlZCAtIEluZGljYXRpb24gd2hldGhlciBzZXRzIHZhbHVlIGFzIGRpc2FibGVkLCBpZiBvbWl0dGVkIGl0IGlzIHNhbWUgYXMgZGlzYWJsZWQgc2V0IHRvIHRydWVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHBsaWNpdGx5IHJ1bnMgaW52YWxpZGF0aW9uIG9mIGNvbnRlbnQgKGNoYW5nZSBkZXRlY3Rpb24pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpbnZhbGlkYXRlVmlzdWFscygpOiB2b2lkXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBwdWJsaWMgbWV0aG9kcyAtIHRlbXBsYXRlIGJpbmRpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMgZ2FpbmluZyBvZiBmb2N1c1xyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYW5kbGVGb2N1cygpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyUmVxdWVzdC5uZXh0KHRydWUpO1xyXG5cclxuICAgICAgICAvL25vIHZhbHVlXHJcbiAgICAgICAgaWYoIXRoaXMuX2RhdGVBcGlWYWx1ZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGVBcGlWYWx1ZSA9IHRoaXMuX2RhdGVBcGkubm93KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzVmFsaWQgPSB0aGlzLl9kYXRlQXBpVmFsdWUuaXNWYWxpZCgpO1xyXG5cclxuICAgICAgICAgICAgaWYodGhpcy5fbWluTWF4Q29uc3RyYWludFRlc3QoKSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2xlYXJWYWx1ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UubmV4dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5faXNWYWxpZClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3Nob3coKTtcclxuXHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuX3BhcnNlciEucGFyc2UodGhpcy5jdXJyZW50VmFsdWUhLCB0aGlzLmlucHV0LnNlbGVjdGlvblN0YXJ0ISk7XHJcblxyXG4gICAgICAgIHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSByZXN1bHQucG9zaXRpb25Gcm9tO1xyXG4gICAgICAgIHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kID0gcmVzdWx0LnBvc2l0aW9uVG87XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYW5kbGVzIGJsdXIgb24gaW5wdXRcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGFuZGxlQmx1cigpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyUmVxdWVzdC5uZXh0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMgdXNlciBpbnB1dFxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dCgpXHJcbiAgICB7XHJcbiAgICAgICAgLy9lbXB0eSB2YWx1ZVxyXG4gICAgICAgIGlmKCF0aGlzLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFyVmFsdWUoKTtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UubmV4dCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fZGF0ZUFwaVZhbHVlID0gdGhpcy5fZGF0ZUFwaS5nZXRWYWx1ZSh0aGlzLmN1cnJlbnRWYWx1ZSwgdGhpcy5fZm9ybWF0KTtcclxuICAgICAgICB0aGlzLl9pc1ZhbGlkID0gdGhpcy5fZGF0ZUFwaVZhbHVlLmlzVmFsaWQoKTtcclxuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZS5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYW5kbGVzIHNlbGVjdGlvbiBvZiB0ZXh0IGluc2lkZSBvZiBpbnB1dFxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYW5kbGVTZWxlY3QoKVxyXG4gICAge1xyXG4gICAgICAgIC8vaGFuZGxlcyB3aGVuIGFsbCB0ZXh0IGlzIHNlbGVjdGVkXHJcbiAgICAgICAgaWYodGhpcy5jdXJyZW50VmFsdWUgJiYgdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydCA9PSAwICYmIHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kID09IHRoaXMuaW5wdXQudmFsdWUubGVuZ3RoKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuX3BhcnNlciEucGFyc2UodGhpcy5pbnB1dC52YWx1ZSwgdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydCEpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydCA9IHJlc3VsdC5wb3NpdGlvbkZyb207XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kID0gcmVzdWx0LnBvc2l0aW9uVG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBjbGljayBldmVudCBpbnNpZGUgb2YgaW5wdXRcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2xpY2soKVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuX3BpY2tlclJlcXVlc3QubmV4dCh0cnVlKTtcclxuXHJcbiAgICAgICAgaWYoIXRoaXMuX2RhdGVBcGlWYWx1ZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLl9wYXJzZXIhLnBhcnNlKHRoaXMuaW5wdXQudmFsdWUsIHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQhKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydCA9IHJlc3VsdC5wb3NpdGlvbkZyb207XHJcbiAgICAgICAgdGhpcy5pbnB1dC5zZWxlY3Rpb25FbmQgPSByZXN1bHQucG9zaXRpb25UbztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBLZXlib2FyZCBldmVudCB0aGF0IG9jY3VyZWRcclxuICAgICAqIEBwYXJhbSBpbnB1dCAtIEh0bWwgaW5wdXQgZWxlbWVudCB0aGF0IGhvbGRzIGN1cnJlbnQgdmFsdWUgYW5kIHNlbGVjdGlvblxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYW5kbGVLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudClcclxuICAgIHtcclxuICAgICAgICBpZighdGhpcy5fZGF0ZUFwaVZhbHVlPy5pc1ZhbGlkKCkpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzd2l0Y2goZXZlbnQua2V5KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gZXZlbnQua2V5ID09ICdBcnJvd0xlZnQnID8gdGhpcy5fcGFyc2VyIS5wcmV2aW91cyh0aGlzLmlucHV0LnZhbHVlLCB0aGlzLmlucHV0LnNlbGVjdGlvblN0YXJ0ISkgOiB0aGlzLl9wYXJzZXIhLm5leHQodGhpcy5pbnB1dC52YWx1ZSwgdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydCEpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmKHJlc3VsdClcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnNlbGVjdGlvblN0YXJ0ID0gcmVzdWx0LnBvc2l0aW9uRnJvbTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnNlbGVjdGlvbkVuZCA9IHJlc3VsdC5wb3NpdGlvblRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxyXG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuX3BhcnNlciEucGFyc2UodGhpcy5pbnB1dC52YWx1ZSwgdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydCEpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvblN0YXJ0ID0gcmVzdWx0LnBvc2l0aW9uRnJvbTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zdGVwQ2hhbmdlVmFsdWUocmVzdWx0LnBhcnQsIGV2ZW50LmtleSA9PSAnQXJyb3dVcCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvdygpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX3BhcnNlciEucGFyc2UodGhpcy5pbnB1dC52YWx1ZSwgc2VsZWN0aW9uU3RhcnQpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSByZXN1bHQucG9zaXRpb25Gcm9tO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5zZWxlY3Rpb25FbmQgPSByZXN1bHQucG9zaXRpb25UbztcclxuXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdUYWInOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gZXZlbnQuc2hpZnRLZXkgPyB0aGlzLl9wYXJzZXIhLnByZXZpb3VzKHRoaXMuaW5wdXQudmFsdWUsIHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQhKSA6IHRoaXMuX3BhcnNlciEubmV4dCh0aGlzLmlucHV0LnZhbHVlLCB0aGlzLmlucHV0LnNlbGVjdGlvblN0YXJ0ISk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYocmVzdWx0KVxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQgPSByZXN1bHQucG9zaXRpb25Gcm9tO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kID0gcmVzdWx0LnBvc2l0aW9uVG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnYSc6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlmKGV2ZW50LmN0cmxLZXkpXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdCYWNrc3BhY2UnOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jbGVhclZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZS5uZXh0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcGlja2VyUmVxdWVzdC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICcgJzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWYoZXZlbnQuY3RybEtleSlcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9waWNrZXJSZXF1ZXN0Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIHByb3RlY3RlZCBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIGN1cnJlbnQgdmFsdWUgaW4gaW5wdXRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9zaG93KClcclxuICAgIHtcclxuICAgICAgICBpZih0aGlzLl9pc1ZhbGlkKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLl9kYXRlQXBpVmFsdWU/LmZvcm1hdCh0aGlzLl9mb3JtYXQpID8/IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGVzdHMgd2hldGhlciBhcmUgbWluIG9yIG1heCBjb25zdHJhaW50IGJyb2tlbiwgcmV0dXJucyB0cnVlIGlmIGNvbnN0cmFpbnQgaXMgYnJva2VuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfbWluTWF4Q29uc3RyYWludFRlc3QoKTogYm9vbGVhblxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiAoISF0aGlzLl9taW5WYWx1ZSAmJiB0aGlzLl9kYXRlQXBpVmFsdWUhLmlzQmVmb3JlKHRoaXMuX21pblZhbHVlKSkgfHxcclxuICAgICAgICAgICAgICAgKCEhdGhpcy5fbWF4VmFsdWUgJiYgdGhpcy5fZGF0ZUFwaVZhbHVlIS5pc0FmdGVyKHRoaXMuX21heFZhbHVlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSdW5zIGNvZGUgd2l0aCBjaGVjayB3aGV0aGVyIG1pbiBtYXggY29uc3RyYWlucyB3YXMgYnJva2VuXHJcbiAgICAgKiBAcGFyYW0gY29kZSAtIENvZGUgdGhhdCBzaG91bGQgYmUgZXhlY3V0ZWQgd2hpY2ggY2FuIGNoYW5nZSBjdXJyZW50IHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfd2l0aE1pbk1heENvbnN0cmFpbnQoY29kZTogKCkgPT4gdm9pZCk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICB0aGlzLl9kYXRlQXBpVmFsdWUhLnVwZGF0ZU9yaWdpbmFsKCk7XHJcblxyXG4gICAgICAgIGNvZGUoKTtcclxuXHJcbiAgICAgICAgLy9taW4gdmFsdWUgY29uc3RyYWludCBmYWlsdXJlXHJcbiAgICAgICAgaWYodGhpcy5fbWluTWF4Q29uc3RyYWludFRlc3QoKSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGVBcGlWYWx1ZT8ucmVzZXRPcmlnaW5hbCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYXJzIGN1cnJlbnQgdmFsdWVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKClcclxuICAgIHtcclxuICAgICAgICB0aGlzLl9kYXRlQXBpVmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2lzVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoYW5nZXMgY3VycmVudCB2YWx1ZSBvZiBkYXRlIGZvciBmb3Igc3BlY2lmaWVkIHBhcnQgYnkgc2luZ2xlIHN0ZXBcclxuICAgICAqIEBwYXJhbSBwYXJ0IC0gUGFydCBvZiBkYXRlIHRoYXQgc2hvdWxkIGJlIGNoYW5nZWRcclxuICAgICAqIEBwYXJhbSBpbmNyZW1lbnQgLSBJbmRpY2F0aW9uIHdoZXRoZXIgdmFsdWUgc2hvdWxkIGJlIGluY3JlbWVudGVkIG9yIGRlY3JlbWVudGVkXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBfc3RlcENoYW5nZVZhbHVlKHBhcnQ6IHN0cmluZywgaW5jcmVtZW50OiBib29sZWFuKVxyXG4gICAge1xyXG4gICAgICAgIGlmKCF0aGlzLl9kYXRlQXBpVmFsdWU/LmlzVmFsaWQoKSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN3aXRjaChwYXJ0KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgY2FzZSAneSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1knOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl93aXRoTWluTWF4Q29uc3RyYWludCgoKSA9PiBpbmNyZW1lbnQgPyB0aGlzLl9kYXRlQXBpVmFsdWUhLmFkZFllYXJzKDEpIDogdGhpcy5fZGF0ZUFwaVZhbHVlIS5zdWJ0cmFjdFllYXJzKDEpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdRJzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnTSc6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3dpdGhNaW5NYXhDb25zdHJhaW50KCgpID0+IGluY3JlbWVudCA/IHRoaXMuX2RhdGVBcGlWYWx1ZSEuYWRkTW9udGhzKDEpIDogdGhpcy5fZGF0ZUFwaVZhbHVlIS5zdWJ0cmFjdE1vbnRocygxKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAndyc6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3dpdGhNaW5NYXhDb25zdHJhaW50KCgpID0+IGluY3JlbWVudCA/IHRoaXMuX2RhdGVBcGlWYWx1ZSEuYWRkV2Vla3MoMSkgOiB0aGlzLl9kYXRlQXBpVmFsdWUhLnN1YnRyYWN0V2Vla3MoMSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ2QnOlxyXG4gICAgICAgICAgICBjYXNlICdEJzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fd2l0aE1pbk1heENvbnN0cmFpbnQoKCkgPT4gaW5jcmVtZW50ID8gdGhpcy5fZGF0ZUFwaVZhbHVlIS5hZGREYXlzKDEpIDogdGhpcy5fZGF0ZUFwaVZhbHVlIS5zdWJ0cmFjdERheXMoMSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -1,21 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: src/selector/components/selector/selector.component.animations.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { animateChild, transition, trigger } from '@angular/animations';
7
- /**
8
- * Animation trigger for animating children on enter leave
9
- * @type {?}
10
- */
11
- export const enterLeaveAnimateChildTrigger = trigger('enterLeaveAnimateChild', [
12
- transition(':enter', [
13
- animateChild()
14
- // query(':enter', animateChild())
15
- ]),
16
- transition(':leave', [
17
- animateChild()
18
- // query(':leave', animateChild())
19
- ])
20
- ]);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuY29tcG9uZW50LmFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2VsZWN0b3IvY29tcG9uZW50cy9zZWxlY3Rvci9zZWxlY3Rvci5jb21wb25lbnQuYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUt0RSxNQUFNLE9BQU8sNkJBQTZCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixFQUM3RTtJQUNJLFVBQVUsQ0FBQyxRQUFRLEVBQ25CO1FBQ0ksWUFBWSxFQUFFO1FBQ2Qsa0NBQWtDO0tBQ3JDLENBQUM7SUFDRixVQUFVLENBQUMsUUFBUSxFQUNuQjtRQUNJLFlBQVksRUFBRTtRQUNkLGtDQUFrQztLQUNyQyxDQUFDO0NBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZUNoaWxkLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbi8qKlxyXG4gKiBBbmltYXRpb24gdHJpZ2dlciBmb3IgYW5pbWF0aW5nIGNoaWxkcmVuIG9uIGVudGVyIGxlYXZlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZW50ZXJMZWF2ZUFuaW1hdGVDaGlsZFRyaWdnZXIgPSB0cmlnZ2VyKCdlbnRlckxlYXZlQW5pbWF0ZUNoaWxkJyxcclxuW1xyXG4gICAgdHJhbnNpdGlvbignOmVudGVyJywgXHJcbiAgICBbXHJcbiAgICAgICAgYW5pbWF0ZUNoaWxkKClcclxuICAgICAgICAvLyBxdWVyeSgnOmVudGVyJywgYW5pbWF0ZUNoaWxkKCkpXHJcbiAgICBdKSxcclxuICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFxyXG4gICAgW1xyXG4gICAgICAgIGFuaW1hdGVDaGlsZCgpXHJcbiAgICAgICAgLy8gcXVlcnkoJzpsZWF2ZScsIGFuaW1hdGVDaGlsZCgpKVxyXG4gICAgXSlcclxuXSk7Il19