@jsenv/database 0.0.22 → 0.0.24

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 (418) hide show
  1. package/package.json +4 -4
  2. package/src/.jsenv/chrome@136.00/.internal/database/database@L11C5-L14C14.js +0 -4
  3. package/src/.jsenv/chrome@136.00/.internal/database/database@L12C7-L16C16.js +0 -5
  4. package/src/.jsenv/chrome@136.00/.internal/database@L11C5-L14C14.js +0 -4
  5. package/src/.jsenv/chrome@136.00/.internal/database@L12C7-L16C16.js +0 -5
  6. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@preact/signals/dist/signals.module.js +0 -274
  7. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@preact/signals/dist/signals.module.js.map +0 -162
  8. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@preact/signals-core/dist/signals-core.module.js +0 -1
  9. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@preact/signals-core/dist/signals-core.module.js.map +0 -92
  10. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/@prefresh_core_index.js +0 -210
  11. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/@prefresh_core_index.js.map +0 -11
  12. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/computeKey.js +0 -38
  13. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/computeKey.js.map +0 -11
  14. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/constants.js +0 -13
  15. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/catchError.js +0 -17
  16. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/catchError.js.map +0 -11
  17. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/debounceRendering.js +0 -21
  18. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/debounceRendering.js.map +0 -11
  19. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/signaturesForType.js +0 -2
  20. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/unmount.js +0 -20
  21. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/unmount.js.map +0 -11
  22. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/vnode.js +0 -68
  23. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/vnode.js.map +0 -11
  24. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/core/src/runtime/vnodesForComponent.js +0 -3
  25. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@prefresh/utils/src/@prefresh_utils_index.js +0 -43
  26. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@tanstack/table-core/build/lib/index.mjs.map +0 -1
  27. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@tanstack/table-core/build/lib/table-core_index.mjs +0 -3526
  28. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/@tanstack/table-core/build/lib/table-core_index.mjs.map +0 -1048
  29. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/compat/dist/compat.module.js +0 -435
  30. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/compat/dist/compat.module.js.map +0 -386
  31. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/debug/dist/debug.module.js +0 -2
  32. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/debug/dist/debug.module.js.map +0 -180
  33. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/devtools/dist/devtools.module.js +0 -2
  34. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/devtools/dist/devtools.module.js.map +0 -29
  35. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/dist/preact.module.js +0 -2
  36. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/dist/preact.module.js.map +0 -275
  37. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/hooks/dist/hooks.module.js +0 -199
  38. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/hooks/dist/hooks.module.js.map +0 -169
  39. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js +0 -2
  40. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +0 -76
  41. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/backend/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js +0 -133
  42. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/animation/src/animation.js +0 -37
  43. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/add_attribute_effect.js +0 -93
  44. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/details_toggle_animation.js +0 -259
  45. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/details_toggle_animation.js.map +0 -11
  46. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/dom.js +0 -43
  47. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/dom.js.map +0 -11
  48. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/element_is_visible.js +0 -24
  49. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/element_is_visible.js.map +0 -11
  50. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/focus/active_element.js +0 -24
  51. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/focus/active_element.js.map +0 -11
  52. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/focus/element_is_focusable.js +0 -42
  53. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/focus/element_is_focusable.js.map +0 -11
  54. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/focus/focus_trap.js +0 -171
  55. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/focus/focus_trap.js.map +0 -11
  56. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/scroll.js +0 -282
  57. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/scroll.js.map +0 -11
  58. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/can_take_size.js +0 -11
  59. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/details_content_full_height.js +0 -65
  60. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/details_content_full_height.js.map +0 -11
  61. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/flex_details_set.js +0 -775
  62. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/flex_details_set.js.map +0 -11
  63. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_available_height.js +0 -24
  64. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_available_height.js.map +0 -11
  65. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_available_width.js +0 -24
  66. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_available_width.js.map +0 -11
  67. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_border_sizes.js +0 -14
  68. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_height.js +0 -4
  69. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_inner_height.js +0 -16
  70. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_inner_height.js.map +0 -11
  71. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_inner_width.js +0 -16
  72. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_inner_width.js.map +0 -11
  73. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_margin_sizes.js +0 -10
  74. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_max_height.js +0 -59
  75. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_max_height.js.map +0 -11
  76. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_max_width.js +0 -49
  77. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_max_width.js.map +0 -11
  78. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_min_height.js +0 -16
  79. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_min_height.js.map +0 -11
  80. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_min_width.js +0 -16
  81. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_min_width.js.map +0 -11
  82. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_padding_sizes.js +0 -10
  83. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/get_width.js +0 -4
  84. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_available_height.js +0 -26
  85. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_available_height.js.map +0 -36
  86. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_available_width.js +0 -26
  87. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_available_width.js.map +0 -36
  88. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_max_height.js +0 -12
  89. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_max_height.js.map +0 -11
  90. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_max_width.js +0 -12
  91. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_max_width.js.map +0 -11
  92. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_resize_status.js +0 -51
  93. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/hooks/use_resize_status.js.map +0 -46
  94. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/resize.js +0 -697
  95. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/resize.js.map +0 -11
  96. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/resolve_css_size.js +0 -32
  97. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/size_animation_group_controller.js +0 -124
  98. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/size_animation_group_controller.js.map +0 -11
  99. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/size/start_resize_gesture.js +0 -131
  100. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/style_and_attributes.js +0 -86
  101. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/style_and_attributes.js.map +0 -11
  102. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/traversal.js +0 -169
  103. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/dom/src/utils.js +0 -42
  104. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/@jsenv_form_main.js +0 -8
  105. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/@jsenv_form_main.js.map +0 -11
  106. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/constraints/native_constraints.js +0 -48
  107. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/constraints/single_space_constraint.js +0 -13
  108. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/hooks/use_input_constraint.js +0 -20
  109. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/hooks/use_input_constraint.js.map +0 -27
  110. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/hooks/use_input_custom_validation_ref.js +0 -62
  111. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/hooks/use_input_custom_validation_ref.js.map +0 -39
  112. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/hooks/use_input_validation_message.js +0 -20
  113. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/hooks/use_input_validation_message.js.map +0 -11
  114. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/input_custom_validation.js +0 -346
  115. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/input_custom_validation.js.map +0 -11
  116. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/validation_message.js +0 -644
  117. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/form/src/input_validity/validation_message.js.map +0 -11
  118. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/router_index.js +0 -40
  119. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/router_index.js.map +0 -11
  120. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/action/action.js +0 -205
  121. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/action/action.js.map +0 -11
  122. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/action/action_hooks.js +0 -29
  123. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/action/action_hooks.js.map +0 -11
  124. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/action/action_status.js +0 -5
  125. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/back_and_forward.js +0 -19
  126. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/back_and_forward.js.map +0 -11
  127. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/loader_background.jsx +0 -48
  128. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/loader_background.jsx.map +0 -28
  129. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/rectangle_loading.jsx +0 -103
  130. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/rectangle_loading.jsx.map +0 -50
  131. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_checkbox.jsx +0 -121
  132. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_checkbox.jsx.map +0 -62
  133. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_delete_button.jsx +0 -44
  134. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_delete_button.jsx.map +0 -37
  135. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_form.jsx +0 -233
  136. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_form.jsx.map +0 -110
  137. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_input_date_and_time.jsx +0 -145
  138. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_input_date_and_time.jsx.map +0 -78
  139. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_input_integer.jsx +0 -88
  140. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_input_integer.jsx.map +0 -50
  141. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_input_text.jsx +0 -154
  142. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_input_text.jsx.map +0 -70
  143. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_link.jsx +0 -102
  144. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/spa_link.jsx.map +0 -53
  145. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/use_spa_form_status.js +0 -10
  146. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/use_spa_form_status.js.map +0 -11
  147. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/user_request_submit_on_change.js +0 -30
  148. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/user_request_submit_on_change.js.map +0 -11
  149. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/input_validity.css.js.map +0 -11
  150. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/input_validity.css7as_css_module=7side_effect=.js +0 -22
  151. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/input_validity.js +0 -339
  152. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/input_validity.js.map +0 -11
  153. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/input_validity7side_effect=.css +0 -4
  154. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/use_validity.js +0 -43
  155. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/components/validity/use_validity.js.map +0 -31
  156. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/document_loading.js +0 -17
  157. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/document_loading.js.map +0 -11
  158. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/document_routing.js +0 -28
  159. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/document_routing.js.map +0 -11
  160. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/document_url.js +0 -11
  161. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/document_url.js.map +0 -11
  162. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/history/history.js +0 -92
  163. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/history/history.js.map +0 -11
  164. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_debounce_true.js +0 -30
  165. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_debounce_true.js.map +0 -25
  166. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_details.js +0 -43
  167. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_details.js.map +0 -28
  168. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_optimistic_ui_state.js +0 -19
  169. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_optimistic_ui_state.js.map +0 -25
  170. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_reset_error_boundary.js +0 -11
  171. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/hooks/use_reset_error_boundary.js.map +0 -11
  172. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/nav/nav.js +0 -221
  173. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/nav/nav.js.map +0 -11
  174. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/normalize_url.js +0 -11
  175. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route.js +0 -354
  176. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route.js.map +0 -11
  177. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route.jsx +0 -341
  178. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route.jsx.map +0 -100
  179. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route_hooks.js +0 -75
  180. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route_hooks.js.map +0 -11
  181. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/route/route_status.js +0 -5
  182. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/router.js +0 -23
  183. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/router.js.map +0 -11
  184. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/router_ready_state.js +0 -26
  185. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/router_ready_state.js.map +0 -11
  186. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/url.js +0 -131
  187. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/url.js.map +0 -11
  188. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/router/src/value_in_local_storage.js +0 -172
  189. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/@jsenv_sigi_main.js +0 -7
  190. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/@jsenv_sigi_main.js.map +0 -11
  191. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/array_signal_store.js +0 -351
  192. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/array_signal_store.js.map +0 -11
  193. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/array_store_and_route.js +0 -24
  194. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/array_store_and_route.js.map +0 -11
  195. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/sigi.js +0 -183
  196. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/sigi.js.map +0 -11
  197. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/sigi_advanced.js +0 -342
  198. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/sigi_advanced.js.map +0 -11
  199. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/sigref.js +0 -23
  200. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/frontend/sigi/src/sigref.js.map +0 -11
  201. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/internal/ast/src/html/html_src_set.js +0 -18
  202. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/internal/plugin-supervisor/src/client/supervisor.js +0 -1406
  203. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/database_table.jsx +0 -64
  204. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/database_table.jsx.map +0 -51
  205. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/database_value.jsx +0 -182
  206. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/database_value.jsx.map +0 -40
  207. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/font_sized_svg.jsx +0 -52
  208. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/font_sized_svg.jsx.map +0 -28
  209. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/icon_and_text.jsx +0 -44
  210. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/icon_and_text.jsx.map +0 -29
  211. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/link_with_icon.jsx +0 -54
  212. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/link_with_icon.jsx.map +0 -32
  213. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/page_head.jsx +0 -46
  214. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/page_head.jsx.map +0 -29
  215. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/page_label.jsx +0 -41
  216. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/page_label.jsx.map +0 -28
  217. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/table.css.js.map +0 -11
  218. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/table.css7as_css_module=7side_effect=.js +0 -22
  219. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/table.jsx +0 -184
  220. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/table.jsx.map +0 -74
  221. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/table7side_effect=.css +0 -19
  222. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/use_table.js +0 -42
  223. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/components/use_table.js.map +0 -28
  224. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_icons.jsx +0 -84
  225. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_icons.jsx.map +0 -39
  226. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_item.jsx +0 -49
  227. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_item.jsx.map +0 -34
  228. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_link.jsx +0 -48
  229. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_link.jsx.map +0 -37
  230. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_page.jsx +0 -203
  231. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_page.jsx.map +0 -79
  232. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_routes.js +0 -110
  233. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_routes.js.map +0 -11
  234. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_signals.js +0 -62
  235. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_signals.js.map +0 -11
  236. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_store.js +0 -5
  237. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database/database_store.js.map +0 -11
  238. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.css.js.map +0 -11
  239. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.css7as_css_module=7side_effect=.js +0 -22
  240. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.html +0 -70
  241. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.html@L11C5-L14C14.js +0 -8
  242. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.html@L11C5-L14C14.js.map +0 -11
  243. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.jsx +0 -67
  244. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager.jsx.map +0 -35
  245. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/database_manager7side_effect=.css +0 -16
  246. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer.css.js.map +0 -11
  247. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer.css7as_css_module=7side_effect=.js +0 -22
  248. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer.jsx +0 -125
  249. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer.jsx.map +0 -72
  250. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer7side_effect=.css +0 -151
  251. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer_databases.jsx +0 -101
  252. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer_databases.jsx.map +0 -62
  253. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer_group.jsx +0 -473
  254. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer_group.jsx.map +0 -147
  255. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer_roles.jsx +0 -101
  256. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/explorer/explorer_roles.jsx.map +0 -61
  257. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/font_sized_svg.jsx +0 -52
  258. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/font_sized_svg.jsx.map +0 -28
  259. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/icons/icons.jsx +0 -93
  260. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/icons/icons.jsx.map +0 -36
  261. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/layout/aside.jsx +0 -98
  262. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/layout/aside.jsx.map +0 -65
  263. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/layout/layout.css.js.map +0 -11
  264. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/layout/layout.css7as_css_module=7side_effect=.js +0 -22
  265. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/layout/layout7side_effect=.css +0 -51
  266. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_icons.jsx +0 -237
  267. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_icons.jsx.map +0 -53
  268. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_item.jsx +0 -50
  269. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_item.jsx.map +0 -35
  270. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_link.jsx +0 -49
  271. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_link.jsx.map +0 -38
  272. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_page.jsx +0 -248
  273. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_page.jsx.map +0 -85
  274. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_routes.js +0 -109
  275. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_routes.js.map +0 -11
  276. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_signals.js +0 -55
  277. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_signals.js.map +0 -11
  278. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_store.js +0 -5
  279. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/role/role_store.js.map +0 -11
  280. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/router.js +0 -5
  281. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/router.js.map +0 -11
  282. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/svg_mask_overlay.jsx +0 -214
  283. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/svg_mask_overlay.jsx.map +0 -72
  284. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/table/table_page.jsx +0 -69
  285. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/table/table_page.jsx.map +0 -45
  286. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/table/table_routes.js +0 -40
  287. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/table/table_routes.js.map +0 -11
  288. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/table/table_signals.js +0 -6
  289. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-database-manager/src/client/table/table_signals.js.map +0 -11
  290. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-preact/src/client/preact_refresh.js +0 -36
  291. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/related/plugin-preact/src/client/preact_refresh.js.map +0 -11
  292. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/ansi/ansi_browser.js +0 -5
  293. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/ansi/ansi_browser.js.map +0 -11
  294. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/ansi/ansi_runtime_agnostic.js +0 -107
  295. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/byte/byte.js +0 -46
  296. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/byte/byte.js.map +0 -11
  297. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/content_frame/content_frame.js +0 -157
  298. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/error/error_to_html.js +0 -22
  299. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/error/error_to_markdown.js +0 -14
  300. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/array.js +0 -60
  301. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/array.js.map +0 -11
  302. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/bigint.js +0 -3
  303. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/bigint_object.js +0 -5
  304. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/boolean.js +0 -1
  305. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/boolean_object.js +0 -14
  306. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/boolean_object.js.map +0 -11
  307. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/constructor.js +0 -10
  308. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/date.js +0 -10
  309. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/date.js.map +0 -11
  310. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/error.js +0 -36
  311. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/error.js.map +0 -11
  312. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/function.js +0 -20
  313. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/humanize.js +0 -144
  314. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/humanize.js.map +0 -11
  315. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/null.js +0 -1
  316. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/number.js +0 -101
  317. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/number_object.js +0 -11
  318. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/number_object.js.map +0 -11
  319. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/object.js +0 -80
  320. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/object.js.map +0 -11
  321. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/regexp.js +0 -1
  322. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/string.js +0 -141
  323. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/string_object.js +0 -12
  324. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/string_object.js.map +0 -11
  325. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/symbol.js +0 -24
  326. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/js_value/undefined.js +0 -1
  327. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/log/call_orderer.js +0 -39
  328. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/log/detailed_message.js +0 -29
  329. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/main_browser.js +0 -15
  330. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/main_browser.js.map +0 -11
  331. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/percentage/distribute_percentages.js +0 -55
  332. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/percentage/distribute_percentages.js.map +0 -11
  333. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/time/time.js +0 -153
  334. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/time/time.js.map +0 -11
  335. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/unicode/unicode_browser.js +0 -9
  336. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/unicode/unicode_browser.js.map +0 -11
  337. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/unicode/unicode_runtime_agnostic.js +0 -56
  338. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/utils/decimals.js +0 -95
  339. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/humanize/src/utils/indentation.js +0 -38
  340. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/src/headers_pattern.js +0 -7
  341. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/src/headers_pattern.js.map +0 -11
  342. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/src/pattern.js +0 -254
  343. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/src/pattern.js.map +0 -11
  344. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/src/resource_pattern.js +0 -98
  345. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/src/resource_pattern.js.map +0 -11
  346. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/url-pattern_index.js +0 -5
  347. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/url-pattern/url-pattern_index.js.map +0 -11
  348. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/main_browser.js +0 -3
  349. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/main_browser.js.map +0 -11
  350. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/main_shared.js +0 -53
  351. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/main_shared.js.map +0 -11
  352. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/common_pathname.js +0 -36
  353. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/data_url.js +0 -50
  354. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/is_filesystem_path.js +0 -21
  355. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/move_url.js +0 -16
  356. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/move_url.js.map +0 -11
  357. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/pathname_to_extension.js +0 -15
  358. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/query_params.js +0 -151
  359. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/resolve_directory_url.js +0 -9
  360. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/resolve_directory_url.js.map +0 -11
  361. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/resolve_url.js +0 -6
  362. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/resource_to_parts.js +0 -49
  363. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/resource_to_parts.js.map +0 -11
  364. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/set_url_part.js +0 -96
  365. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/set_url_part.js.map +0 -11
  366. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_is_or_is_inside_of.js +0 -17
  367. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_basename.js +0 -26
  368. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_basename.js.map +0 -11
  369. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_extension.js +0 -9
  370. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_extension.js.map +0 -11
  371. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_filename.js +0 -20
  372. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_filename.js.map +0 -11
  373. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_origin.js +0 -7
  374. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_parent_url.js +0 -33
  375. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_parent_url.js.map +0 -11
  376. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_pathname.js +0 -10
  377. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_pathname.js.map +0 -11
  378. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_relative_url.js +0 -62
  379. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_relative_url.js.map +0 -11
  380. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_resource.js +0 -23
  381. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_resource.js.map +0 -11
  382. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_to_scheme.js +0 -10
  383. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_trace.js +0 -35
  384. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/url_trace.js.map +0 -11
  385. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/windows_file_path_utils.js +0 -16
  386. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/yield_ancestor_urls.js +0 -47
  387. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/urls/src/shared/yield_ancestor_urls.js.map +0 -11
  388. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/utils/src/string/escape_chars.js +0 -26
  389. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/utils/src/string/escape_chars.js.map +0 -11
  390. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/utils/src/string/escape_regexp_special_chars.js +0 -25
  391. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/utils/src/string/escape_regexp_special_chars.js.map +0 -11
  392. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/packages/tooling/utils/src/string/is_escaped.js +0 -12
  393. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/kitchen/client/inline_content.js +0 -17
  394. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/autoreload/client/autoreload.js +0 -433
  395. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/autoreload/client/autoreload.js.map +0 -11
  396. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/import_meta_css/client/import_meta_css.js +0 -42
  397. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/import_meta_hot/client/import_meta_hot.js +0 -116
  398. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/assets/file.png +0 -0
  399. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/assets/home.svg +0 -6
  400. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing.css +0 -214
  401. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing.html@L12C5-L15C14.js.map +0 -11
  402. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing.html@L12C5-L15C147url=fileUsersdmailDocumentsdevjsenvcorepackagesbackenddatabasesrccliindex.html7enoent=.js +0 -73
  403. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing.html@L12C5-L15C147url=fileUsersdmailDocumentsdevjsenvcorepackagesbackenddatabasesrcclitoto.js7enoent=.js +0 -73
  404. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing.jsx +0 -436
  405. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing.jsx.map +0 -120
  406. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing7url=fileUsersdmailDocumentsdevjsenvcorepackagesbackenddatabasesrccliindex.html7enoent=.html +0 -71
  407. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/protocol_file/client/directory_listing7url=fileUsersdmailDocumentsdevjsenvcorepackagesbackenddatabasesrcclitoto.js7enoent=.html +0 -71
  408. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/ribbon/client/ribbon.js +0 -96
  409. package/src/.jsenv/chrome@136.00/@fs/Users/dmail/Documents/dev/jsenv/core/src/plugins/server_events/client/server_events_client.js +0 -461
  410. package/src/.jsenv/chrome@136.00/Users/dmail/Documents/dev/jsenv/core/packages/backend/database/src/cli/cli@L11C5-L14C14.js +0 -4
  411. package/src/.jsenv/chrome@136.00/Users/dmail/Documents/dev/jsenv/core/packages/backend/database/src/cli/cli@L12C7-L16C16.js +0 -5
  412. package/src/.jsenv/chrome@136.00/index.html@L12C5-L15C14.js +0 -4
  413. package/src/.jsenv/chrome@136.00/index.html@L12C7-L16C16.js +0 -5
  414. package/src/.jsenv/chrome@136.00/roles/me@L11C5-L14C147roles=7databases=.js +0 -4
  415. package/src/.jsenv/chrome@136.00/roles/me@L12C7-L16C167roles=7databases=.js +0 -5
  416. package/src/.jsenv/chrome@136.00/toto.js@L12C5-L15C14.js +0 -4
  417. package/src/.jsenv/chrome@136.00/toto.js@L12C7-L16C16.js +0 -5
  418. package/src/.jsenv/chrome@136.00/uuid.json +0 -1
@@ -1,435 +0,0 @@
1
- import { Component as n, createElement as t, options as e, toChildArray as r, Fragment as u, render as o, hydrate as i, createContext as c, createRef as l, cloneElement as f } from "/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/dist/preact.module.js?v=10.26.5";
2
- export { Component, Fragment, createContext, createElement, createRef } from "/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/dist/preact.module.js?v=10.26.5";
3
- import { useState as a, useLayoutEffect as s, useEffect as h, useCallback as v, useContext as d, useDebugValue as p, useId as m, useImperativeHandle as y, useMemo as _, useReducer as b, useRef as S } from "/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/hooks/dist/hooks.module.js?v=0.1.0";
4
- export * from "/@fs/Users/dmail/Documents/dev/jsenv/core/node_modules/preact/hooks/dist/hooks.module.js?v=0.1.0";
5
- function g(n, t) {
6
- for (var e in t) n[e] = t[e];
7
- return n;
8
- }
9
- function E(n, t) {
10
- for (var e in n) if ("__source" !== e && !(e in t)) return !0;
11
- for (var r in t) if ("__source" !== r && n[r] !== t[r]) return !0;
12
- return !1;
13
- }
14
- function C(n, t) {
15
- var e = t(),
16
- r = a({
17
- t: {
18
- __: e,
19
- u: t
20
- }
21
- }),
22
- u = r[0].t,
23
- o = r[1];
24
- return s(function () {
25
- u.__ = e, u.u = t, x(u) && o({
26
- t: u
27
- });
28
- }, [n, e, t]), h(function () {
29
- return x(u) && o({
30
- t: u
31
- }), n(function () {
32
- x(u) && o({
33
- t: u
34
- });
35
- });
36
- }, [n]), e;
37
- }
38
- function x(n) {
39
- var t,
40
- e,
41
- r = n.u,
42
- u = n.__;
43
- try {
44
- var o = r();
45
- return !((t = u) === (e = o) && (0 !== t || 1 / t == 1 / e) || t != t && e != e);
46
- } catch (n) {
47
- return !0;
48
- }
49
- }
50
- function R(n) {
51
- n();
52
- }
53
- function w(n) {
54
- return n;
55
- }
56
- function k() {
57
- return [!1, R];
58
- }
59
- var I = s;
60
- function N(n, t) {
61
- this.props = n, this.context = t;
62
- }
63
- function M(n, e) {
64
- function r(n) {
65
- var t = this.props.ref,
66
- r = t == n.ref;
67
- return !r && t && (t.call ? t(null) : t.current = null), e ? !e(this.props, n) || !r : E(this.props, n);
68
- }
69
- function u(e) {
70
- return this.shouldComponentUpdate = r, t(n, e);
71
- }
72
- return u.displayName = "Memo(" + (n.displayName || n.name) + ")", u.prototype.isReactComponent = !0, u.__f = !0, u;
73
- }
74
- (N.prototype = new n()).isPureReactComponent = !0, N.prototype.shouldComponentUpdate = function (n, t) {
75
- return E(this.props, n) || E(this.state, t);
76
- };
77
- var T = e.__b;
78
- e.__b = function (n) {
79
- n.type && n.type.__f && n.ref && (n.props.ref = n.ref, n.ref = null), T && T(n);
80
- };
81
- var A = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.forward_ref") || 3911;
82
- function D(n) {
83
- function t(t) {
84
- var e = g({}, t);
85
- return delete e.ref, n(e, t.ref || null);
86
- }
87
- return t.$$typeof = A, t.render = t, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (n.displayName || n.name) + ")", t;
88
- }
89
- var L = function (n, t) {
90
- return null == n ? null : r(r(n).map(t));
91
- },
92
- O = {
93
- map: L,
94
- forEach: L,
95
- count: function (n) {
96
- return n ? r(n).length : 0;
97
- },
98
- only: function (n) {
99
- var t = r(n);
100
- if (1 !== t.length) throw "Children.only";
101
- return t[0];
102
- },
103
- toArray: r
104
- },
105
- F = e.__e;
106
- e.__e = function (n, t, e, r) {
107
- if (n.then) for (var u, o = t; o = o.__;) if ((u = o.__c) && u.__c) return null == t.__e && (t.__e = e.__e, t.__k = e.__k), u.__c(n, t);
108
- F(n, t, e, r);
109
- };
110
- var U = e.unmount;
111
- function V(n, t, e) {
112
- return n && (n.__c && n.__c.__H && (n.__c.__H.__.forEach(function (n) {
113
- "function" == typeof n.__c && n.__c();
114
- }), n.__c.__H = null), null != (n = g({}, n)).__c && (n.__c.__P === e && (n.__c.__P = t), n.__c.__e = !0, n.__c = null), n.__k = n.__k && n.__k.map(function (n) {
115
- return V(n, t, e);
116
- })), n;
117
- }
118
- function W(n, t, e) {
119
- return n && e && (n.__v = null, n.__k = n.__k && n.__k.map(function (n) {
120
- return W(n, t, e);
121
- }), n.__c && n.__c.__P === t && (n.__e && e.appendChild(n.__e), n.__c.__e = !0, n.__c.__P = e)), n;
122
- }
123
- function P() {
124
- this.__u = 0, this.o = null, this.__b = null;
125
- }
126
- function j(n) {
127
- var t = n.__.__c;
128
- return t && t.__a && t.__a(n);
129
- }
130
- function z(n) {
131
- var e, r, u;
132
- function o(o) {
133
- if (e || (e = n()).then(function (n) {
134
- r = n.default || n;
135
- }, function (n) {
136
- u = n;
137
- }), u) throw u;
138
- if (!r) throw e;
139
- return t(r, o);
140
- }
141
- return o.displayName = "Lazy", o.__f = !0, o;
142
- }
143
- function B() {
144
- this.i = null, this.l = null;
145
- }
146
- e.unmount = function (n) {
147
- var t = n.__c;
148
- t && t.__R && t.__R(), t && 32 & n.__u && (n.type = null), U && U(n);
149
- }, (P.prototype = new n()).__c = function (n, t) {
150
- var e = t.__c,
151
- r = this;
152
- null == r.o && (r.o = []), r.o.push(e);
153
- var u = j(r.__v),
154
- o = !1,
155
- i = function () {
156
- o || (o = !0, e.__R = null, u ? u(c) : c());
157
- };
158
- e.__R = i;
159
- var c = function () {
160
- if (! --r.__u) {
161
- if (r.state.__a) {
162
- var n = r.state.__a;
163
- r.__v.__k[0] = W(n, n.__c.__P, n.__c.__O);
164
- }
165
- var t;
166
- for (r.setState({
167
- __a: r.__b = null
168
- }); t = r.o.pop();) t.forceUpdate();
169
- }
170
- };
171
- r.__u++ || 32 & t.__u || r.setState({
172
- __a: r.__b = r.__v.__k[0]
173
- }), n.then(i, i);
174
- }, P.prototype.componentWillUnmount = function () {
175
- this.o = [];
176
- }, P.prototype.render = function (n, e) {
177
- if (this.__b) {
178
- if (this.__v.__k) {
179
- var r = document.createElement("div"),
180
- o = this.__v.__k[0].__c;
181
- this.__v.__k[0] = V(this.__b, r, o.__O = o.__P);
182
- }
183
- this.__b = null;
184
- }
185
- var i = e.__a && t(u, null, n.fallback);
186
- return i && (i.__u &= -33), [t(u, null, e.__a ? null : n.children), i];
187
- };
188
- var H = function (n, t, e) {
189
- if (++e[1] === e[0] && n.l.delete(t), n.props.revealOrder && ("t" !== n.props.revealOrder[0] || !n.l.size)) for (e = n.i; e;) {
190
- for (; e.length > 3;) e.pop()();
191
- if (e[1] < e[0]) break;
192
- n.i = e = e[2];
193
- }
194
- };
195
- function Z(n) {
196
- return this.getChildContext = function () {
197
- return n.context;
198
- }, n.children;
199
- }
200
- function Y(n) {
201
- var e = this,
202
- r = n.h;
203
- e.componentWillUnmount = function () {
204
- o(null, e.v), e.v = null, e.h = null;
205
- }, e.h && e.h !== r && e.componentWillUnmount(), e.v || (e.h = r, e.v = {
206
- nodeType: 1,
207
- parentNode: r,
208
- childNodes: [],
209
- contains: function () {
210
- return !0;
211
- },
212
- appendChild: function (n) {
213
- this.childNodes.push(n), e.h.appendChild(n);
214
- },
215
- insertBefore: function (n, t) {
216
- this.childNodes.push(n), e.h.insertBefore(n, t);
217
- },
218
- removeChild: function (n) {
219
- this.childNodes.splice(this.childNodes.indexOf(n) >>> 1, 1), e.h.removeChild(n);
220
- }
221
- }), o(t(Z, {
222
- context: e.context
223
- }, n.__v), e.v);
224
- }
225
- function $(n, e) {
226
- var r = t(Y, {
227
- __v: n,
228
- h: e
229
- });
230
- return r.containerInfo = e, r;
231
- }
232
- (B.prototype = new n()).__a = function (n) {
233
- var t = this,
234
- e = j(t.__v),
235
- r = t.l.get(n);
236
- return r[0]++, function (u) {
237
- var o = function () {
238
- t.props.revealOrder ? (r.push(u), H(t, n, r)) : u();
239
- };
240
- e ? e(o) : o();
241
- };
242
- }, B.prototype.render = function (n) {
243
- this.i = null, this.l = new Map();
244
- var t = r(n.children);
245
- n.revealOrder && "b" === n.revealOrder[0] && t.reverse();
246
- for (var e = t.length; e--;) this.l.set(t[e], this.i = [1, 0, this.i]);
247
- return n.children;
248
- }, B.prototype.componentDidUpdate = B.prototype.componentDidMount = function () {
249
- var n = this;
250
- this.l.forEach(function (t, e) {
251
- H(n, e, t);
252
- });
253
- };
254
- var q = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103,
255
- G = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,
256
- J = /^on(Ani|Tra|Tou|BeforeInp|Compo)/,
257
- K = /[A-Z0-9]/g,
258
- Q = "undefined" != typeof document,
259
- X = function (n) {
260
- return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/ : /fil|che|ra/).test(n);
261
- };
262
- function nn(n, t, e) {
263
- return null == t.__k && (t.textContent = ""), o(n, t), "function" == typeof e && e(), n ? n.__c : null;
264
- }
265
- function tn(n, t, e) {
266
- return i(n, t), "function" == typeof e && e(), n ? n.__c : null;
267
- }
268
- n.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function (t) {
269
- Object.defineProperty(n.prototype, t, {
270
- configurable: !0,
271
- get: function () {
272
- return this["UNSAFE_" + t];
273
- },
274
- set: function (n) {
275
- Object.defineProperty(this, t, {
276
- configurable: !0,
277
- writable: !0,
278
- value: n
279
- });
280
- }
281
- });
282
- });
283
- var en = e.event;
284
- function rn() {}
285
- function un() {
286
- return this.cancelBubble;
287
- }
288
- function on() {
289
- return this.defaultPrevented;
290
- }
291
- e.event = function (n) {
292
- return en && (n = en(n)), n.persist = rn, n.isPropagationStopped = un, n.isDefaultPrevented = on, n.nativeEvent = n;
293
- };
294
- var cn,
295
- ln = {
296
- enumerable: !1,
297
- configurable: !0,
298
- get: function () {
299
- return this.class;
300
- }
301
- },
302
- fn = e.vnode;
303
- e.vnode = function (n) {
304
- "string" == typeof n.type && function (n) {
305
- var t = n.props,
306
- e = n.type,
307
- u = {},
308
- o = -1 === e.indexOf("-");
309
- for (var i in t) {
310
- var c = t[i];
311
- if (!("value" === i && "defaultValue" in t && null == c || Q && "children" === i && "noscript" === e || "class" === i || "className" === i)) {
312
- var l = i.toLowerCase();
313
- "defaultValue" === i && "value" in t && null == t.value ? i = "value" : "download" === i && !0 === c ? c = "" : "translate" === l && "no" === c ? c = !1 : "o" === l[0] && "n" === l[1] ? "ondoubleclick" === l ? i = "ondblclick" : "onchange" !== l || "input" !== e && "textarea" !== e || X(t.type) ? "onfocus" === l ? i = "onfocusin" : "onblur" === l ? i = "onfocusout" : J.test(i) && (i = l) : l = i = "oninput" : o && G.test(i) ? i = i.replace(K, "-$&").toLowerCase() : null === c && (c = void 0), "oninput" === l && u[i = l] && (i = "oninputCapture"), u[i] = c;
314
- }
315
- }
316
- "select" == e && u.multiple && Array.isArray(u.value) && (u.value = r(t.children).forEach(function (n) {
317
- n.props.selected = -1 != u.value.indexOf(n.props.value);
318
- })), "select" == e && null != u.defaultValue && (u.value = r(t.children).forEach(function (n) {
319
- n.props.selected = u.multiple ? -1 != u.defaultValue.indexOf(n.props.value) : u.defaultValue == n.props.value;
320
- })), t.class && !t.className ? (u.class = t.class, Object.defineProperty(u, "className", ln)) : (t.className && !t.class || t.class && t.className) && (u.class = u.className = t.className), n.props = u;
321
- }(n), n.$$typeof = q, fn && fn(n);
322
- };
323
- var an = e.__r;
324
- e.__r = function (n) {
325
- an && an(n), cn = n.__c;
326
- };
327
- var sn = e.diffed;
328
- e.diffed = function (n) {
329
- sn && sn(n);
330
- var t = n.props,
331
- e = n.__e;
332
- null != e && "textarea" === n.type && "value" in t && t.value !== e.value && (e.value = null == t.value ? "" : t.value), cn = null;
333
- };
334
- var hn = {
335
- ReactCurrentDispatcher: {
336
- current: {
337
- readContext: function (n) {
338
- return cn.__n[n.__c].props.value;
339
- },
340
- useCallback: v,
341
- useContext: d,
342
- useDebugValue: p,
343
- useDeferredValue: w,
344
- useEffect: h,
345
- useId: m,
346
- useImperativeHandle: y,
347
- useInsertionEffect: I,
348
- useLayoutEffect: s,
349
- useMemo: _,
350
- useReducer: b,
351
- useRef: S,
352
- useState: a,
353
- useSyncExternalStore: C,
354
- useTransition: k
355
- }
356
- }
357
- },
358
- vn = "18.3.1";
359
- function dn(n) {
360
- return t.bind(null, n);
361
- }
362
- function pn(n) {
363
- return !!n && n.$$typeof === q;
364
- }
365
- function mn(n) {
366
- return pn(n) && n.type === u;
367
- }
368
- function yn(n) {
369
- return !!n && !!n.displayName && ("string" == typeof n.displayName || n.displayName instanceof String) && n.displayName.startsWith("Memo(");
370
- }
371
- function _n(n) {
372
- return pn(n) ? f.apply(null, arguments) : n;
373
- }
374
- function bn(n) {
375
- return !!n.__k && (o(null, n), !0);
376
- }
377
- function Sn(n) {
378
- return n && (n.base || 1 === n.nodeType && n) || null;
379
- }
380
- var gn = function (n, t) {
381
- return n(t);
382
- },
383
- En = function (n, t) {
384
- return n(t);
385
- },
386
- Cn = u,
387
- xn = pn,
388
- Rn = {
389
- useState: a,
390
- useId: m,
391
- useReducer: b,
392
- useEffect: h,
393
- useLayoutEffect: s,
394
- useInsertionEffect: I,
395
- useTransition: k,
396
- useDeferredValue: w,
397
- useSyncExternalStore: C,
398
- startTransition: R,
399
- useRef: S,
400
- useImperativeHandle: y,
401
- useMemo: _,
402
- useCallback: v,
403
- useContext: d,
404
- useDebugValue: p,
405
- version: "18.3.1",
406
- Children: O,
407
- render: nn,
408
- hydrate: tn,
409
- unmountComponentAtNode: bn,
410
- createPortal: $,
411
- createElement: t,
412
- createContext: c,
413
- createFactory: dn,
414
- cloneElement: _n,
415
- createRef: l,
416
- Fragment: u,
417
- isValidElement: pn,
418
- isElement: xn,
419
- isFragment: mn,
420
- isMemo: yn,
421
- findDOMNode: Sn,
422
- Component: n,
423
- PureComponent: N,
424
- memo: M,
425
- forwardRef: D,
426
- flushSync: En,
427
- unstable_batchedUpdates: gn,
428
- StrictMode: Cn,
429
- Suspense: P,
430
- SuspenseList: B,
431
- lazy: z,
432
- __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: hn
433
- };
434
- export { O as Children, N as PureComponent, Cn as StrictMode, P as Suspense, B as SuspenseList, hn as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, _n as cloneElement, dn as createFactory, $ as createPortal, Rn as default, Sn as findDOMNode, En as flushSync, D as forwardRef, tn as hydrate, xn as isElement, mn as isFragment, yn as isMemo, pn as isValidElement, z as lazy, M as memo, nn as render, R as startTransition, bn as unmountComponentAtNode, gn as unstable_batchedUpdates, w as useDeferredValue, I as useInsertionEffect, C as useSyncExternalStore, k as useTransition, vn as version };
435
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9jb3JlL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy91dGlsLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L2NvcmUvbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL2hvb2tzLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L2NvcmUvbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL1B1cmVDb21wb25lbnQuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvY29yZS9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvbWVtby5qcyIsImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9jb3JlL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy9mb3J3YXJkUmVmLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L2NvcmUvbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL0NoaWxkcmVuLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L2NvcmUvbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL3N1c3BlbnNlLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L2NvcmUvbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL3N1c3BlbnNlLWxpc3QuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvY29yZS9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jb25zdGFudHMuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvY29yZS9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvcG9ydGFscy5qcyIsImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9jb3JlL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy9yZW5kZXIuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvY29yZS9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvaW5kZXguanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvc3JjL3V0aWwuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvc3JjL2hvb2tzLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L3NyYy9QdXJlQ29tcG9uZW50LmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L3NyYy9tZW1vLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L3NyYy9mb3J3YXJkUmVmLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L3NyYy9DaGlsZHJlbi5qcyIsImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9zcmMvc3VzcGVuc2UuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvanNlbnYvc3JjL3N1c3BlbnNlLWxpc3QuanMiLCJmaWxlOi8vL1VzZXJzL2RtYWlsL0RvY3VtZW50cy9kZXYvc3JjL2NvbnN0YW50cy5qcyIsImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9zcmMvcG9ydGFscy5qcyIsImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9zcmMvcmVuZGVyLmpzIiwiZmlsZTovLy9Vc2Vycy9kbWFpbC9Eb2N1bWVudHMvZGV2L2pzZW52L3NyYy9pbmRleC5qcyIsImZpbGU6Ly8vVXNlcnMvZG1haWwvRG9jdW1lbnRzL2Rldi9qc2Vudi9jb3JlL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L2Rpc3QvY29tcGF0Lm1vZHVsZS5qcyJdLCJuYW1lcyI6WyJhc3NpZ24iLCJvYmoiLCJwcm9wcyIsImkiLCJzaGFsbG93RGlmZmVycyIsImEiLCJiIiwidXNlU3luY0V4dGVybmFsU3RvcmUiLCJzdWJzY3JpYmUiLCJnZXRTbmFwc2hvdCIsInZhbHVlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfaW5zdGFuY2UiLCJfXyIsIl9nZXRTbmFwc2hvdCIsImZvcmNlVXBkYXRlIiwidXNlTGF5b3V0RWZmZWN0IiwiZGlkU25hcHNob3RDaGFuZ2UiLCJ1c2VFZmZlY3QiLCJpbnN0IiwieCIsInkiLCJsYXRlc3RHZXRTbmFwc2hvdCIsInByZXZWYWx1ZSIsIm5leHRWYWx1ZSIsImVycm9yIiwic3RhcnRUcmFuc2l0aW9uIiwiY2IiLCJ1c2VEZWZlcnJlZFZhbHVlIiwidmFsIiwidXNlVHJhbnNpdGlvbiIsInVzZUluc2VydGlvbkVmZmVjdCIsIlB1cmVDb21wb25lbnQiLCJwIiwiYyIsInRoaXMiLCJjb250ZXh0IiwibWVtbyIsImNvbXBhcmVyIiwic2hvdWxkVXBkYXRlIiwibmV4dFByb3BzIiwicmVmIiwidXBkYXRlUmVmIiwiY2FsbCIsImN1cnJlbnQiLCJNZW1vZWQiLCJzaG91bGRDb21wb25lbnRVcGRhdGUiLCJjcmVhdGVFbGVtZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicHJvdG90eXBlIiwiaXNSZWFjdENvbXBvbmVudCIsIl9fZiIsIkNvbXBvbmVudCIsImlzUHVyZVJlYWN0Q29tcG9uZW50Iiwic3RhdGUiLCJvbGREaWZmSG9vayIsIm9wdGlvbnMiLCJfX2IiLCJ2bm9kZSIsInR5cGUiLCJSRUFDVF9GT1JXQVJEX1NZTUJPTCIsIlN5bWJvbCIsImZvciIsImZvcndhcmRSZWYiLCJmbiIsIkZvcndhcmRlZCIsImNsb25lIiwiJCR0eXBlb2YiLCJyZW5kZXIiLCJtYXBGbiIsImNoaWxkcmVuIiwidG9DaGlsZEFycmF5IiwibWFwIiwiQ2hpbGRyZW4iLCJmb3JFYWNoIiwiY291bnQiLCJsZW5ndGgiLCJvbmx5Iiwibm9ybWFsaXplZCIsInRvQXJyYXkiLCJvbGRDYXRjaEVycm9yIiwiX19lIiwibmV3Vk5vZGUiLCJvbGRWTm9kZSIsImVycm9ySW5mbyIsInRoZW4iLCJjb21wb25lbnQiLCJfX2MiLCJfX2siLCJvbGRVbm1vdW50IiwidW5tb3VudCIsImRldGFjaGVkQ2xvbmUiLCJkZXRhY2hlZFBhcmVudCIsInBhcmVudERvbSIsIl9fSCIsImVmZmVjdCIsIl9fUCIsImNoaWxkIiwicmVtb3ZlT3JpZ2luYWwiLCJvcmlnaW5hbFBhcmVudCIsIl9fdiIsImFwcGVuZENoaWxkIiwiU3VzcGVuc2UiLCJfX3UiLCJfc3VzcGVuZGVycyIsInN1c3BlbmRlZCIsIl9fYSIsImxhenkiLCJsb2FkZXIiLCJwcm9tIiwiTGF6eSIsImV4cG9ydHMiLCJkZWZhdWx0IiwiZSIsIlN1c3BlbnNlTGlzdCIsIl9uZXh0IiwiX21hcCIsIl9fUiIsInByb21pc2UiLCJzdXNwZW5kaW5nVk5vZGUiLCJzdXNwZW5kaW5nQ29tcG9uZW50IiwicHVzaCIsInJlc29sdmUiLCJyZXNvbHZlZCIsIm9uUmVzb2x2ZWQiLCJvblN1c3BlbnNpb25Db21wbGV0ZSIsInN1c3BlbmRlZFZOb2RlIiwiX19PIiwic2V0U3RhdGUiLCJwb3AiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImRvY3VtZW50IiwiZGV0YWNoZWRDb21wb25lbnQiLCJmYWxsYmFjayIsIkZyYWdtZW50IiwibGlzdCIsIm5vZGUiLCJkZWxldGUiLCJyZXZlYWxPcmRlciIsInNpemUiLCJDb250ZXh0UHJvdmlkZXIiLCJnZXRDaGlsZENvbnRleHQiLCJQb3J0YWwiLCJfdGhpcyIsImNvbnRhaW5lciIsIl9jb250YWluZXIiLCJfdGVtcCIsIm5vZGVUeXBlIiwicGFyZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJjb250YWlucyIsImluc2VydEJlZm9yZSIsImJlZm9yZSIsInJlbW92ZUNoaWxkIiwic3BsaWNlIiwiaW5kZXhPZiIsImNyZWF0ZVBvcnRhbCIsImVsIiwiY29udGFpbmVySW5mbyIsImRlbGVnYXRlZCIsImdldCIsInVuc3VzcGVuZCIsIndyYXBwZWRVbnN1c3BlbmQiLCJNYXAiLCJyZXZlcnNlIiwic2V0IiwiY29tcG9uZW50RGlkVXBkYXRlIiwiY29tcG9uZW50RGlkTW91bnQiLCJSRUFDVF9FTEVNRU5UX1RZUEUiLCJDQU1FTF9QUk9QUyIsIk9OX0FOSSIsIkNBTUVMX1JFUExBQ0UiLCJJU19ET00iLCJvbkNoYW5nZUlucHV0VHlwZSIsInRlc3QiLCJwYXJlbnQiLCJjYWxsYmFjayIsInRleHRDb250ZW50IiwicHJlYWN0UmVuZGVyIiwiaHlkcmF0ZSIsInByZWFjdEh5ZHJhdGUiLCJrZXkiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsInYiLCJ3cml0YWJsZSIsIm9sZEV2ZW50SG9vayIsImV2ZW50IiwiZW1wdHkiLCJpc1Byb3BhZ2F0aW9uU3RvcHBlZCIsImNhbmNlbEJ1YmJsZSIsImlzRGVmYXVsdFByZXZlbnRlZCIsImRlZmF1bHRQcmV2ZW50ZWQiLCJwZXJzaXN0IiwibmF0aXZlRXZlbnQiLCJjdXJyZW50Q29tcG9uZW50IiwiY2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlIiwiZW51bWVyYWJsZSIsImNsYXNzIiwib2xkVk5vZGVIb29rIiwibm9ybWFsaXplZFByb3BzIiwiaXNOb25EYXNoZWRUeXBlIiwibG93ZXJDYXNlZCIsInRvTG93ZXJDYXNlIiwicmVwbGFjZSIsInVuZGVmaW5lZCIsIm11bHRpcGxlIiwiQXJyYXkiLCJpc0FycmF5Iiwic2VsZWN0ZWQiLCJkZWZhdWx0VmFsdWUiLCJjbGFzc05hbWUiLCJoYW5kbGVEb21WTm9kZSIsIm9sZEJlZm9yZVJlbmRlciIsIl9fciIsIm9sZERpZmZlZCIsImRpZmZlZCIsImRvbSIsIl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEIiwiUmVhY3RDdXJyZW50RGlzcGF0Y2hlciIsInJlYWRDb250ZXh0IiwiX19uIiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRGVidWdWYWx1ZSIsInVzZUlkIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZU1lbW8iLCJ1c2VSZWR1Y2VyIiwidXNlUmVmIiwidmVyc2lvbiIsImNyZWF0ZUZhY3RvcnkiLCJiaW5kIiwiaXNWYWxpZEVsZW1lbnQiLCJlbGVtZW50IiwiaXNGcmFnbWVudCIsImlzTWVtbyIsIlN0cmluZyIsInN0YXJ0c1dpdGgiLCJjbG9uZUVsZW1lbnQiLCJwcmVhY3RDbG9uZUVsZW1lbnQiLCJhcHBseSIsImFyZ3VtZW50cyIsInVubW91bnRDb21wb25lbnRBdE5vZGUiLCJmaW5kRE9NTm9kZSIsImJhc2UiLCJ1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyIsImFyZyIsImZsdXNoU3luYyIsIlN0cmljdE1vZGUiLCJpc0VsZW1lbnQiLCJpbmRleCIsImNyZWF0ZUNvbnRleHQiLCJjcmVhdGVSZWYiLCJnIiwibiIsInQiLCJFIiwiciIsIkMiLCJ1IiwibyIsInMiLCJoIiwiUiIsInciLCJrIiwiSSIsIk4iLCJNIiwiVCIsIkEiLCJEIiwiTCIsIk8iLCJGIiwiVSIsIlYiLCJXIiwiUCIsImoiLCJ6IiwiQiIsImwiLCJIIiwiWiIsIlkiLCIkIiwicSIsIkciLCJKIiwiSyIsIlEiLCJYIiwibm4iLCJ0biIsImVuIiwicm4iLCJ1biIsIm9uIiwiY24iLCJsbiIsImFuIiwic24iLCJobiIsImQiLCJtIiwiXyIsIlMiLCJ2biIsImRuIiwicG4iLCJtbiIsInluIiwiX24iLCJmIiwiYm4iLCJTbiIsImduIiwiRW4iLCJDbiIsInhuIiwiUm4iXSwibWFwcGluZ3MiOiJBd0JBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtGQUFRLGdOeEJPN0ssU0FBQUEsRUFBT0MsRUFBS0MsR0FDM0IsSUFBSyxJQUFJQyxLQUFLRCxFQUFPRCxFQUFJRSxHQUFLRCxFQUFNQyxHQUNwQyxPQUE2QkYsQ0FDOUIsQ0FRTyxTQUFTRyxF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T0FBQUEsR0FDQVEsWUFBQUEsR0FDQWpNLFVBQUFBLEVBQ0FyQixjQUFBQSxFQUNBSyxLQUFBQSxFQUNBMkIsV0FBQUEsRUFDQTBMLFVBQUFBLEdBQ0FGLHdCQUFBQSxHQUNBRyxXQUFBQSxHQUNBcEosU0FBQUEsRUFDQVksYUFBQUEsRUFDQVAsS0FBQUEsRUFDQWdILG1EQUFBQTtBYTNPRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsK0ZBQVE7QUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrR0FBYztBQUMzTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0dBQWM7QUFDNUIsQVpHZ0IsQ1lIZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVpHT29DLENZSE4sQ0FBQyxBWkdZQyxDWUhYLEFaR1csQ1lIVixDQUFDLEFaR2NDLENZSGIsQVpHYSxDWUhaLENBQUM7QUFDakIsQ0FBQyxDQUFDLEFaR0QsQ1lIRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaR0QsQ1lIRSxDQUFDLENBQUMsQ0FBQyxBWkdEaEosQ1lIRSxBWkdGLENZSEcsQ0FBQyxDQUFDLENBQUMsQVpHRGdKLENZSEUsQVpHRixDWUhHLENBQUMsQVpHR0QsQ1lIRixBWkdFLENZSEQsQVpHSy9JLENZSEosQVpHSSxDWUhILENBQUMsQ0FBQyxDQUFDLEFaR0tnSixDWUhKLEFaR0ksQ1lISCxBWkdTaEosQ1lIUixBWkdRLENZSFA7QUFDOUIsQ0FBQyxDQUFDLEFaR0QsQ1lIRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWkdxQitJLENZSHBCLEFaSVY7QVlIQSxBWkdBO0FZRkEsQVpVTyxDWVZOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWlVPRSxDWVZOLENBQUMsQVpVb0JGLENZVm5CLEFaVW1CLENZVmxCLENBQUMsQVpVb0JDLENZVm5CLEFaVW1CLENZVmxCLENBQUM7QUFDakIsQ0FBQyxDQUFDLEFaVUQsQ1lWRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaVUQsQ1lWRSxDQUFDLENBQUMsQ0FBQyxBWlVEaEosQ1lWRSxBWlVGLENZVkcsQ0FBQyxDQUFDLENBQUMsQVpVRCtJLENZVkUsQVpVRixDWVZHLENBQUMsQVpVRCxDWVZFLENBQUMsQ0FBQyxDQUFDLEFaVUssQ1lWSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVpVaEIvSSxDWVZpQixBWlVqQixDWVZrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVpVREEsQ1lWRSxBWlVGLENZVkcsQ0FBQyxDQUFDLENBQUMsQVpVRGdKLENZVkUsQVpVRixDWVZHLENBQUMsQ0FBQyxBWlVELENZVkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWlVFLENZVkQ7QUFDL0QsQ0FBQyxDQUFDLEFaVUQsQ1lWRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaVUQsQ1lWRSxDQUFDLENBQUMsQ0FBQyxBWlVERSxDWVZFLEFaVUYsQ1lWRyxDQUFDLENBQUMsQ0FBQyxBWlVERixDWVZFLEFaVUYsQ1lWRyxDQUFDLEFaVUQsQ1lWRSxDQUFDLENBQUMsQ0FBQyxBWlVLLENZVkosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaVWhCRSxDWVZpQixBWlVqQixDWVZrQixDQUFDLENBQUMsQ0FBQyxBWlVESCxDWVZFLEFaVUYsQ1lWRyxBWlVERyxDWVZFLEFaVUYsQ1lWRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVpVREYsQ1lWRSxBWlVGLENZVkcsQVpVREUsQ1lWRSxBWlVGLENZVkcsQ0FBQyxDQUFDLEFaVUQsQ1lWRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaVUUsQ1lWRDtBQUNuRSxDQUFDLENBQUMsQVpVRCxDWVZFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVpVRixDWVZHLEFaV1g7QVlWQSxBWlVBO0FZVEEsQVhMZ0IsQ1dLZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhMT0MsQ1dLTixDQUFDLEFYTDBCSixDV0t6QixBWEx5QixDV0t4QixDQUFDLEFYTGtDQyxDV0tqQyxBWExpQyxDV0toQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxBWExELENXS0UsQ0FBQyxDQUFDLENBQUMsQVhMQ2hKLENXS0EsQVhMQSxDV0tDLENBQUMsQ0FBQyxBWExLZ0osQ1dLSixBWExJLENXS0gsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhBSEUsQ1dBSSxBWEFKLENXQUssQ0FBQyxDQUFDLEFYQThCaFEsQ1dBN0IsQVhBNkIsQ1dBNUIsQVhBcUM7QVdDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhBSjhQLENXQUssQVhBTCxDV0FNLENBQUMsQVhBSTtBV0NiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWERPclAsQ1dDTixDQUFDLEFYREssQ1dDSixDQUFDLEFYRFdxRyxDV0NWLEFYRFU7QVdFdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYRnNCb0osQ1dFckIsQVhGcUIsQ1dFcEIsQ0FBQyxBWEZpQ0o7QVdHNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhIc0M7QVdJNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEp3QyxDV0l2QyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWE5NSSxDV01MLEFYTkssQ1dNSixDQUFDLENBQUMsQVhOV0YsQ1dNVixBWE5VLENXTVQsQVhOQSxDV01DLENBQUMsQ0FBQyxBWE5IRixDV01JLEFYTko7QVdPVixDQUFDLENBQUMsQ0FBQyxDQUFDLEFYUG1CSyxDV09sQixBWFBrQixDV09qQixDQUFDLENBQUMsQVhQMEJILENXT3pCLEFYUHlCLENXT3hCLEFYSFQsQ1dHVSxDQUFDO0FBQ1osQ0FBQyxDQUFDLEFYaUJELENXakJFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYSlJJLENXSVMsQVhKVCxDV0lVLEFYSk0sQ1dJTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEpGRixDV0lHLEFYSkgsQ1dJSSxBWEpLelAsQ1dJSixDQUFDLEFYSkcsQ1dJRixDQUFDLENBQUMsQVhKVXFHLENXSVQsQVhKUyxDV0lSLENBQUMsQVhIWm9KLENXR2EsQVhIYixDV0djLEFYSEpBLENXR0ssQVhITCxDV0dNLENBQUMsQ0FBQyxBWEhPSixDV0dOLEFYSE0sQ1dHTCxDQUFDLEFYRGpCOU8sQ1dDa0IsQVhEbEIsQ1dDbUIsQVhERGtQLENXQ0UsQVhERixDV0NHLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhBNUJDLENXQTZCLEFYQTdCLENXQThCLEFYQWxCO0FXQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhEV0wsQ1dDVixBWERVLENXQ1QsQ0FBQyxBWERRSTtBV0VqQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFYRmEsQ1dFWixDQUFDLEFYQUw7QVdDRCxDQUFDLENBQUMsQVhERCxDV0NFLENBQUMsQ0FBQyxBWERELENXQ0UsQVhEREwsQ1dDRSxBWERGLENXQ0csQ0FBQyxBWERPL0ksQ1dDTixBWERNLENXQ0wsQ0FBQyxBWERXZ0osQ1dDVixBWERVLENXQ1QsQ0FBQyxDQUFDLENBQUMsQVhDaEJPLENXRGlCLEFYQ2pCLENXRGtCLEFYQ1IsQ1dEUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEtGLENXTEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhDTHJQLENXRE0sQVhDTixDV0RPLEFYQ1drUCxDV0RWLEFYQ1UsQ1dEVCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYRWhCQyxDV0ZpQixBWEVqQixDV0ZrQixBWEVOO0FXRGYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhDV0wsQ1dEVixBWENVLENXRFQsQ0FBQyxBWENRSTtBV0FqQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFYQWEsQ1dBWixDQUFDLENBQUMsQ0FBQyxBWEdDTCxDV0hBLEFYR0EsQ1dIQyxBWEdTLENXSFIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYR0M3TyxDV0hBLEFYR0EsQ1dIQyxBWEdpQmtQLENXSGhCLEFYR2dCLENXSGYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWElWQyxDV0pXLEFYSVgsQ1dKWSxBWElBO0FXSGhCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEdVTCxDV0hULEFYR1MsQ1dIUixDQUFDLEFYR09JO0FXRmxCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYRVksQ1dGWCxDQUFDLEFYSU47QVdIRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFYR0YsQ1dIRyxDQUFDLEFYSUw7QVdIRCxDQUFDLENBQUMsQVhHRCxDV0hFLENBQUMsQ0FBQyxBWEdELENXSEUsQVhHREwsQ1dIRSxBWEdGLENXSEcsQ0FBQyxDQUFDLENBQUMsQVhLSC9JLENXTEksQVhNWjtBV0xBLEFYS0E7QVdKQSxBWE9BLENXUEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYT0E5RixDV1BDLENBQUMsQVhPZ0I2TyxDV1BmLEFYT2UsQ1dQZCxDQUFDO0FBQ2QsQ0FBQyxDQUFDLEFYT0QsQ1dQRSxDQUFDLENBQUMsQ0FBQyxBWlJhQyxDWVFaLEFaUlk7QVlTbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWlRrQmhKLENZU2pCLEFaVGlCO0FZVXRCLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhLR2tKLENXTEYsQVhLRSxDV0xELENBQUMsQ0FBQyxBWEttQkgsQ1dMbEIsQVhLa0IsQ1dMakIsQVhLc0JLLENXTHJCLEFYS3FCO0FXSmhDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhLR0EsQ1dMRixBWEtFLENXTEQsQ0FBQyxDQUFDLEFYS1dMLENXTFYsQVhLVSxDV0xULEFYS2FwUCxDV0xaLENBQUMsQVhLVztBV0p2QixDQUFDLENBQUMsQVhLRCxDV0xFLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEtGLENXTEcsQ0FBQyxDQUFDLENBQUMsQVhLQTBQLENXTEMsQVhLRCxDV0xFLENBQUMsQ0FBQyxBWEtRSCxDV0xQLEFYS08sQ1dMTixDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEtGLENXTEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVpkS0YsQ1ljSixBWmRJLENZY0gsQ0FBQyxDQUFDLEFYS0xJLENXTE0sQVhLTixDV0xPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaZEpwSixDWWNLLEFaZEwsQ1ljTSxDQUFDLENBQUMsQVhLTnFKLENXTE8sQVhLUCxDV0xRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWmJWLENZYVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFaYnRCTCxDWWF1QixBWmJ2QixDWWF3QixDQUFDLENBQUMsQ0FBQyxBWmJoQixDWWFpQixDQUFDLENBQUMsQ0FBQyxBWmJoQkEsQ1lhaUIsQVpiakIsQ1lha0IsQ0FBQyxDQUFDLENBQUMsQVpiZixDWWFnQixDQUFDLENBQUMsQ0FBQyxBWmJmaEosQ1lhZ0IsQVpiaEIsQ1lhaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWmJiZ0osQ1lhYyxBWmJkLENZYWUsQ0FBQyxDQUFDLENBQUMsQVpiWkEsQ1lhYSxBWmJiLENZYWMsQ0FBQyxDQUFDLENBQUMsQVpiWmhKLENZYWEsQVpiYixDWWFjLENBQUMsQ0FBQyxDQUFDLEFaYlhBLENZYVksQVpiWixDWWFhLEFYUW5GO0FXUEQsQ0FBQyxDQUFDLEFYT0QsQ1dQRSxBWEtBLENXTEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWEtEK0ksQ1dMRSxBWEtGLENXTEcsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhLRixDV0xHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhNWCxDV05ZO0FBQ2IsQ0FBQyxDQUFDLEFYS0Q7QVdKRCxBWEtBO0FXSkEsQVhNZ0IsQ1dOZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVhNT1MsQ1dOTixDQUFDLEFYTXFCVCxDV05wQixBWE1vQixDV05uQixDQUFDO0FBQ2QsQ0FBQyxDQUFDLEFYTURBLENXTkUsQVhNRixDV05HLENBQUMsQVhPTDtBV05BLEFYTUE7QVdMQSxBWE9nQixDV1BmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWE9PVSxDV1BOLENBQUMsQVhPc0JWLENXUHJCLEFYT3FCLENXUHBCLENBQUM7QUFDZCxDQUFDLENBQUMsQVhPRCxDV1BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYT0RBLENXUEUsQVhRVjtBV1BBLEFYT0E7QVdOQSxBWFFnQixDV1JmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBWFFPVyxDV1JOLENBQUMsQVhRSyxDV1JKLENBQUM7QUFDYixDQUFDLENBQUMsQVhRRCxDV1JFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFYUUQsQ1dSRSxDQUFDLEFYUUYsQ1dSRyxDQUFDLENBQUMsQVhRRUYsQ1dSRCxBWFFDLENXUkEsQVhTaEI7QVdSQSxBWFFBO0FXUEEsQVhXYSxDV1haLENBQUMsQ0FBQyxDQUFDLEFYV1NHLENXWFIsQVhXUSxDV1hQLENBQUMsQ0FBQyxBWFcwQkwsQ1dYekIsQVhXeUI7QVdWbEMsQVhVa0MsQ1dWakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFWckRPTSxDVXFETixDQUFDLEFWckRtQmIsQ1VxRGxCLEFWckRrQixDVXFEakIsQ0FBQyxBVnJEbUJDLENVcURsQixBVnJEa0IsQ1VxRGpCLENBQUM7QUFDakIsQ0FBQyxDQUFDLEFWckRELENVcURFLENBQUMsQ0FBQyxDQUFDLENBQUMsQVZyRERqUSxDVXFERSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFWckROLENVcURPLENBQUMsQ0FBQyxBVnJERGdRLENVcURFLEFWckRGLENVcURHLENBQUMsQVZwRGpCLENVb0RrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFWcERqQjdOLENVb0RrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVnBEeEIsQ1VvRHlCLENBQUMsQ0FBQyxBVnBEakI4TixDVW9Ea0IsQVZuRGxDO0FVb0RBLEFWcERBO0FVcURBLEFUcERnQixDU29EZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRwRE9hLENTb0ROLENBQUMsQVRwRFVkLENTb0RULEFUcERTLENTb0RSLENBQUMsQVRwRFUvSSxDU29EVCxBVHBEUyxDU29EUixDQUFDO0FBQ2pCLENBQUMsQ0FBQyxBVHBERCxDU29ERSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRwRERrSixDU29ERSxDQUFDLEFUcERVSCxDU29EVCxBVHBEUyxDU29EUixDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRwREYsQ1NvREcsQ0FBQyxDQUFDLENBQUMsQVRwREZDLENTb0RHLEFUcERILENTb0RJLENBQUMsQ0FBQyxBVHBEQSxDU29EQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUcERBalEsQ1NvREMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVHBETCxDU29ETSxBVHBEQXdDLENTb0RDLENBQUMsQ0FBQyxBVHBESDtBU3FEdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRwREEyTixDU29EQyxBVHBERCxDU29ERSxDQUFDLENBQUMsQVRwRFFGLENTb0RQLEFUcERPLENTb0ROLENBQUMsQ0FBQyxDQUFDLEFUcERVRCxDU29EVCxBVHBEUyxDU29EUixBVHBEa0J4TixDU29EakIsQ0FBQyxDQUFDLEFUcERlO0FTcURuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUaERGLENTZ0RHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRwREwyTixDU29ETSxBVHBETixDU29ETyxDQUFDLENBQUMsQ0FBQyxBVHBER0YsQ1NvREYsQVRwREUsQ1NvREQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVG5EcEJBLENTbURxQixBVG5EckIsQ1NtRHNCLEFUbkRsQnZOLENTbURtQixDQUFDLENBQUMsQ0FBQyxBVG5EdEIsQ1NtRHVCLENBQUMsQ0FBQyxBVG5EbEJ1TixDU21EbUIsQVRuRG5CLENTbURvQixBVG5EaEIsQ1NtRGlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRuRGZBLENTbURnQixBVG5EaEIsQ1NtRGlCLEFUbkRidE4sQ1NtRGMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRuRHBCLENTbURxQixDQUFDLENBQUMsQVRuRGIsQ1NtRGMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVRoRHREc0UsQ1NnRHVELEFUaER2RCxDU2dEd0QsQ0FBQyxDQUFDLENBQUMsQVQ1Q3hEQSxDUzRDeUQsQVQ1Q3pELENTNEMwRCxBVDVDakQsQ1M0Q2tELENBQUMsQ0FBQyxDQUFDLENBQUMsQVQ1Q2pEakgsQ1M0Q2tELENBQUMsQ0FBQyxDQUFDLENBQUMsQVQ1Q3RELENTNEN1RCxDQUFDLEFUNUNqRGdRLENTNENrRCxBVDVDbEQsQ1M0Q21ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVDVDekNHLENTNEMwQyxBVDVDMUMsQ1M0QzJDLENBQUMsQ0FBQyxBVC9DakZELENTK0NrRixBVC9DbEYsQ1MrQ21GLEFUL0NwRSxDUytDcUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVC9DcEVsUSxDUytDcUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVC9DekUsQ1MrQzBFLENBQUMsQVQvQ3BFZ1EsQ1MrQ3FFLEFUL0NyRSxDUytDc0UsQVQzQzFHO0FTNENELENBQUMsQ0FBQyxBVDVDRDtBUzZDRCxDQUFDLENBQUMsQVQzQ0QsQ1MyQ0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUM0NESyxDUzJDRSxDQUFDLEFUM0NJcEosQ1MyQ0gsQVQzQ0csQ1MyQ0YsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFUMUNGLENTMENHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUM0NULENTMkNVLENBQUMsQ0FBQyxDQUFDLENBQUMsQVQzQ1RwRSxDUzJDVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVQzQzlCLENTMkMrQixDQUFDLENBQUMsQVQzQ1RzTixDUzJDVSxBVDNDVixDUzJDVyxDQUFDLEFUMUNsQ0YsQ1MwQ21DLEFUMUNuQyxDUzBDb0MsQVQxQ3RCRCxDUzBDdUIsQVQxQ3ZCLENTMEN3QixDQUFDLEFUMUN0Qi9JLENTMEN1QixBVDFDdkIsQ1MwQ3dCLEFUekNqRDtBUzBDRCxDQUFDLENBQUMsQVQxQ0Q7QVMyQ0QsQ0FBQyxDQUFDLEFUdkNELENTdUNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUMUNSb0osQ1MwQ1MsQVQxQ1QsQ1MwQ1UsQVQxQ0h0TixDUzBDSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUMUNkLENTMENlLENBQUMsQ0FBQyxBVDFDSCxDUzBDSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUMUNIaU4sQ1MwQ0ksQVQxQ0osQ1MwQ0ssQVQxQ0hqTixDUzBDSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUMUNkLENTMENlLENBQUMsQ0FBQyxDQUFDLEFUMUNIaU4sQ1MwQ0ksQVQxQ0osQ1MwQ0ssQVQxQ0hoTixDUzBDSSxDQUFDLENBQUMsQ0FBQyxBVDFDUCxDUzBDUSxDQUFDLENBQUMsQ0FBQyxBVDFDSCxDUzBDSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFUekNuRXFOLENTeUNvRSxBVHpDcEUsQ1N5Q3FFLEFUekM5RHBOLENTeUMrRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVR6Q3ZFLENTeUN3RSxBVHpDOURDLENTeUMrRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVHpDOUUsQ1N5QytFLENBQUMsQ0FBQyxDQUFDLEFUekMvRCxDU3lDZ0UsQ0FBQyxDQUFDLEFUeEN0R21OLENTd0N1RyxBVHhDdkcsQ1N3Q3dHLEFUeENsR2xOLENTd0NtRyxDQUFDLENBQUMsQVR4Q3JHLENTd0NzRyxDQUFDLENBQUMsQ0FBQyxBVHhDM0YsQ1N3QzRGLENBQUMsQ0FBQyxBVHZDM0drTixDU3VDNEcsQVR0Q3BIO0FTdUNBLEFUdkNBO0FTd0NBLEFUeENBLENTd0NDLEFWL0REUSxDVStERSxBVi9ERixDVStERyxBVi9EVzVOLENVK0RWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVi9ERSxDVStERCxDQUFDLENBQUMsQVYvRFcsQ1UrRFYsQ0FBQyxDQUFDLENBQUMsQVYvRFcrTSxDVStEVixBVi9EVSxDVStEVCxDQUFDLENBQUMsQ0FBQyxBVjdEQTNNLENVNkRDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVY3RHBCLENVNkRxQixDQUFDLENBQUMsQ0FBQyxBVjdERCxDVTZERSxDQUFDLENBQUMsQVY1RG5Ed04sQ1U0RG9ELEFWNURwRCxDVTREcUQsQVY1RHZDNU4sQ1U0RHdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVjVEaEQsQ1U0RGlELEFWNUR2Q0osQ1U0RHdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVjVENUQsQ1U0RDZELENBQUMsQ0FBQyxBVjVEdkMsQ1U0RHdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFWNUR2Q21OLENVNER3QyxBVjVEeEMsQ1U0RHlDLENBQUMsQVY1RG5DQyxDVTREb0MsQVY1RHBDLENVNERxQyxDQUFDO0FBQ3ZHLENBQUMsQ0FBQyxBVjVERCxDVTRERSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVjVEREMsQ1U0REUsQVY1REYsQ1U0REcsQVY1RFksQ1U0RFgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBVjVEWWxRLENVNERYLENBQUMsQ0FBQyxDQUFDLENBQUMsQVY1RE8sQ1U0RE4sQ0FBQyxBVjVEWWdRLENVNERYLEFWNURXLENVNERWLENBQUMsQ0FBQyxDQUFDLENBQUMsQVY1RGdCRSxDVTREZixBVjVEZSxDVTREZCxBVjVENkIsQ1U0RDVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQVY1RDZCNU0sQ1U0RDVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQVY1RHdCLENVNER2QixDQUFDLEFWNUQ2QjJNLENVNEQ1QixBVjVENEIsQ1U0RDNCLEFWM0Q3QztBVTREQSxBVjVEQSxDVTREQztBQUNELEFSekVBLENReUVDLENBQUMsQ0FBQyxDQUFDLEFSekVBYyxDUXlFQyxBUnpFRCxDUXlFRSxDQUFDLENBQUMsQVJ6RVU5SixDUXlFVCxBUnpFUyxDUXlFUixBUnpFZXhELENReUVkLENBQUMsQ0FBQyxBUnpFWTtBUTBFekIsQVJ6RUF3RCxDUXlFQyxBUnpFRCxDUXlFRSxBUnpFS3hELENReUVKLENBQUMsQ0FBQyxBUnpFRSxDUXlFRCxDQUFDLENBQUMsQVJ6RVEsQ1F5RVAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVJ6RUZ1TSxDUXlFRyxBUnpFSCxDUXlFSSxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxBUnpFR0EsQ1F5RUYsQVJ6RUUsQ1F5RUQsQVJ6RU9yTSxDUXlFTixDQUFDLENBQUMsQ0FBQyxBUnpFRyxDUXlFRixDQUFDLENBQUMsQ0FBQyxBUnpFT3FNLENReUVOLEFSekVNLENReUVMLEFSekVXck0sQ1F5RVYsQ0FBQyxDQUFDLENBQUMsQVJ6RU8sQ1F5RU4sQVJ6RVVSLENReUVULENBQUMsQ0FBQyxBUnpFTyxDUXlFTixDQUFDLENBQUMsQ0FBQyxBUnpFa0I2TSxDUXlFakIsQVJ6RWlCLENReUVoQixBUnpFc0J4TixDUXlFckIsQ0FBQyxDQUFDLEFSekVtQixDUXlFbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUnhFbEN3TixDUXdFbUMsQVJ4RW5DLENRd0VvQyxBUnhFOUJoUSxDUXdFK0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUnhFbkMsQ1F3RW9DLEFSeEU5QndDLENRd0UrQixDQUFDLENBQUMsQVJ4RWpDLENRd0VrQyxDQUFDLENBQUMsQVJ4RTlCd04sQ1F3RStCLEFSeEUvQixDUXdFZ0MsQVJ4RTFCeE4sQ1F3RTJCLENBQUMsQ0FBQyxBUnhFN0IsQ1F3RThCLENBQUMsQVJ2RXZEd04sQ1F1RXdELEFSdkV4RCxDUXVFeUQsQVJ2RW5EeE4sQ1F1RW9ELENBQUMsQ0FBQyxBUnZFdEQsQ1F1RXVELENBQUMsQ0FBQyxBUnZFbkQsQ1F1RW9ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFSckVuRXVPLENRcUVvRSxBUnJFcEUsQ1FxRXFFLENBQUMsQ0FBQyxDQUFDLEFSckUzREEsQ1FxRTRELEFSckU1RCxDUXFFNkQsQVJyRWpEZixDUXFFa0QsQVJyRWxELENRcUVtRCxBUnBFakY7QVFxRUEsQVJyRUEsQ1FxRUM7QUFDRCxBUnBFTyxDUW9FTixDQUFDLENBQUMsQ0FBQyxBUnBFU2dCLENRb0VSLEFScEVRLENRb0VQLENBQUMsQ0FBQyxBUm5FVyxDUW1FVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUm5FckJuTixDUW1Fc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFSbkUzQixDUW1FNEIsQ0FBQyxDQUFDLENBQUMsQVJsRXRDQSxDUWtFdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFSbEU1QyxDUWtFNkMsQVJsRXRDQyxDUWtFdUMsQ0FBQyxDQUFDLEFSbEV6QyxDUWtFMEMsQ0FBQyxDQUFDLENBQUMsQVJqRXBERCxDUWlFcUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFSakUxRCxDUWlFMkQsQVJqRXBEQyxDUWlFcUQsQ0FBQyxDQUFDLEFSakV2RCxDUWlFd0QsQVJqRXBELENRaUVxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVJoRXhGLENRZ0V5RixDQUFDLENBQUMsQ0FBQztBQUM3RixBUmpFQyxDUWlFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVJ4RE9tTixDUXdETixDQUFDLEFSeERnQmpCLENRd0RmLEFSeERlLENRd0RkLENBQUM7QUFDZCxDQUFDLENBQUMsQVJ4REQsQ1F3REUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFSeEREQyxDUXdERSxDQUFDLEFSeERPQSxDUXdETixBUnhETSxDUXdETCxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQVJ4REYsQ1F3REcsQ0FBQyxDQUFDLENBQUMsQVJ4REZoSixDUXdERyxBUnhESCxDUXdESSxDQUFDLENBQUMsQVJ4REU4SSxDUXdERCxBUnhEQyxDUXdEQSxBUnhETyxDUXdETixBUnhEUSxDUXdEUCxDQUFDLENBQUMsQVJ4RE9FLENRd0ROLEFSeERNLENRd0RMO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQVJ2REYsQ1F1REcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUnhEVGhKLENRd0RVLEFSeERWLENRd0RXLEFSeERMekUsQ1F3RE0sQ0FBQyxDQUFDLEFSeERSLENRd0RTLENBQUMsQVJ2RGhCd04sQ1F1RGlCLEFSdkRqQixDUXVEa0IsQVJ2RGYvSSxDUXVEZ0IsQVJ2RGhCLENRdURpQixDQUFDLEFSdkRYZ0osQ1F1RFksQVJ2RFosQ1F1RGEsQVJ2RFB6TixDUXVEUSxDQUFDLENBQUMsQVJ2RFYsQ1F1RFcsQ0FBQyxDQUFDLENBQUMsQVJ2RFAsQ1F1RFEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUnREM0M7QVF1REQsQ0FBQyxDQUFDLEFSdkREO0FRd0RELENBQUMsQ0FBQyxBUjVDRCxDUTRDRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUnJEUnlOLENRcURTLEFSckRULENRcURVLEFSckRBOUwsQ1FxREMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUnJEUixDUXFEUyxDQUFDLENBQUMsQVJyREE2TSxDUXFEQyxBUnJERCxDUXFERSxDQUFDLEFSaER4QmYsQ1FnRHlCLEFSaER6QixDUWdEMEIsQVJoRGhCN0wsQ1FnRGlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUmhEdEIsQ1FnRHVCLENBQUMsQ0FBQyxBUmhEaEI2TCxDUWdEaUIsQVJoRGpCLENRZ0RrQixDQUFDLEFSOUN0Q0EsQ1E4Q3VDLEFSOUN2QyxDUThDd0MsQVI5QzlCaE4sQ1E4QytCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUjlDdkMsQ1E4Q3dDLEFSOUM5QkMsQ1E4QytCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFSOUM5QyxDUThDK0MsQ0FBQyxDQUFDLEFSOUM5QitNLENROEMrQixBUjlDL0IsQ1E4Q2dDLEFSOUN2QjlNLENROEN3QixDQUFDLENBQUMsQVI5QzFCLENROEMyQixDQUFDLENBQUMsQ0FBQyxBUjlDaEIsQ1E4Q2lCLENBQUMsQ0FBQyxBUjdDakY4TSxDUTZDa0YsQVI3Q2xGLENRNkNtRixBUjdDekVsTixDUTZDMEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUjdDcEYsQ1E2Q3FGLENBQUMsQ0FBQyxBUjdDekUsQ1E2QzBFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVI3Q3pFaU4sQ1E2QzBFLEFSN0MxRSxDUTZDMkUsQVI3Q3hFak4sQ1E2Q3lFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVI3Q25GLENRNkNvRixDQUFDLENBQUMsQ0FBQyxBUjdDeEVpTixDUTZDeUUsQVI3Q3pFLENRNkMwRSxBUjdDdkVoTixDUTZDd0UsQ0FBQyxDQUFDLENBQUMsQVI3QzNFLENRNkM0RSxDQUFDLENBQUMsQ0FBQyxBUjdDdkUsQ1E2Q3dFLENBQUMsQ0FBQyxDQUFDLENBQUMsQVI1QzNJaU4sQ1E0QzRJLEFSM0NwSjtBUTRDQSxBUjVDQTtBUTZDQSxBUHRGQSxDT3NGQyxDQUFDLENBQUMsQ0FBQyxBUHRGRWlCLENPc0ZELEFQdEZDLENPc0ZBLENBQUMsQ0FBQyxBUHRGTSxDT3NGTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVB0Rkg3TSxDT3NGSSxBUHRGSDJMLENPc0ZJLEFQdEZKLENPc0ZLLENBQUMsQVB0RklDLENPc0ZILEFQdEZHLENPc0ZGLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUHRGSCxDT3NGSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUHRGTSxDT3NGTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQdEZkRCxDT3NGZSxBUHRGZixDT3NGZ0IsQ0FBQyxDQUFDLEFQdEZXLENPc0ZWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQckZ0QkcsQ09xRnVCLEFQckZ2QixDT3FGd0IsQVByRlhBLENPcUZZLEFQckZaLENPcUZhLEFQckZBSCxDT3FGQyxBUHJGRCxDT3FGRSxDQUFDLEFQckZPeEwsQ09xRk4sQ0FBQyxDQUFDLEFQckZJLENPcUZILEFQckZPeUwsQ09xRk4sQVByRk0sQ09xRkwsQ0FBQyxBUHBGNUM7QU9xRkEsQ0FBQyxDQUFDLEFQckZGLENPcUZHO0FBQ0gsQ0FBQyxDQUFDLEFQbkZXa0IsQ09tRlYsQVBuRlUsQ09tRlQsQ0FBQyxDQUFDLEFQbkZrQjtBT29GeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSDNNLENPbUZJLENBQUMsQ0FBQyxBUG5GTixDT21GTyxDQUFDLEFQbkZIME0sQ09tRkksQVBuRko7QU9vRk4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSHhNLENPbUZJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQbkZWLENPbUZXLENBQUMsQVBuRkh3TSxDT21GSSxBUG5GSjtBT29GVixDQUFDLENBQUMsQ0FBQyxDQUFDLEFQbkZIdk0sQ09tRkksQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GUixDT21GUyxDQUFDLEFQbkZMLENPbUZNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GZEEsQ09tRmUsQVBuRmRxTCxDT21GZSxBUG5GZixDT21GZ0IsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSixDT21GSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSkEsQ09tRkssQVBuRkwsQ09tRk0sQ0FBQyxDQUFDLEFQbkZHRyxDT21GRixBUG5GRSxDT21GRCxBUG5GY0gsQ09tRmIsQVBuRmEsQ09tRlosQ0FBQyxBUG5GcUJwTCxDT21GcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQbkZlLENPbUZkLENBQUMsQ0FBQyxBUG5GcUIsQ09tRnBCLEFQbEYvQjtBT21GRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQbkZILENPbUZJO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSEMsQ09tRkksQ0FBQyxDQUFDLENBQUMsQVBuRlAsQ09tRlEsQ0FBQyxBUG5GTCxDT21GTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVBuRmRBLENPbUZlLEFQbkZkbUwsQ09tRmUsQVBuRmYsQ09tRmdCLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVBuRkosQ09tRkssQ0FBQyxDQUFDLENBQUMsQVBuRkZDLENPbUZHLEFQbkZILENPbUZJLENBQUMsQ0FBQyxBUG5GT0UsQ09tRk4sQVBuRk0sQ09tRkwsQVBuRmtCSCxDT21GakIsQVBuRmlCLENPbUZoQjtBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSixDT21GSyxDQUFDLENBQUMsQ0FBQyxBUG5Ga0IsQ09tRmpCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GVkMsQ09tRlcsQVBuRlgsQ09tRlksQVBuRkRyTCxDT21GRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVBuRlAsQ09tRlEsQ0FBQyxBUG5GSyxDT21GSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQVBuRkssQ09tRkosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQbkZKLENPbUZLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFQbkZKcUwsQ09tRkssQVBuRkwsQ09tRk0sQVBuRkssQ09tRkosQ0FBQyxBUGxGaEI7QU9tRkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GSCxDT21GSTtBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQVBuRkhsTCxDT21GSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBUG5GVixDT21GVyxDQUFDLEFQbkZIb0w7QU9vRlYsQ0FBQyxDQUFDLEFQcEZRLENPb0ZQO0FBQ0gsQ0FBQyxDQUFDLEFOcEdJaUIsQ01vR0gsQU5wR0csQ01vR0YsQ0FBQyxDQUFDLEFOcEdnQm5LLENNb0dmLEFOcEdlLENNb0dkLEFOcEdxQmhDLENNb0dwQixDQUFDLENBQUMsQU5wR2tCO0FNcUc3QixBTnBHQWdDLENNb0dDLEFOcEdELENNb0dFLEFOcEdLaEMsQ01vR0osQ0FBQyxDQUFDLEFOcEdFLENNb0dELENBQUMsQ0FBQyxBTnBHYyxDTW9HYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnBHYytLLENNb0diLEFOcEdhLENNb0daLENBQUMsQU5wR2tCQyxDTW9HakIsQU5wR2lCLENNb0doQixDQUFDLEFOcEd5QmhKLENNb0d4QixBTnBHd0IsQ01vR3ZCLENBQUMsQU5wR2dDa0osQ01vRy9CLEFOcEcrQixDTW9HOUIsQ0FBQztBQUM5QixDQUFDLENBQUMsQU5wR0QsQ01vR0UsQ0FBQyxDQUFDLENBQUMsQU5wR0RILENNb0dFLEFOcEdGLENNb0dHLEFOcEdHM0ssQ01vR0YsQ0FBQyxDQUFDLENBQUMsQU5wR0QsQ01vR0UsQ0FBQyxBTi9GWixDTStGYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFObEdqQixDTWtHa0IsQ0FBQyxDQUFDLENBQUMsQU5sR2pCZ0wsQ01rR2tCLEFObEdsQixDTWtHbUIsQ0FBQyxBTmpHcEJDLENNaUdxQixBTmpHckIsQ01pR3NCLENBQUMsQ0FBQyxBTmpHaEJMLENNaUdpQixBTmpHakIsQ01pR2tCLENBQUMsQU4vRnZCSyxDTStGd0IsQU4vRnhCLENNK0Z5QixDQUFDLENBQUMsQU4vRm5CQSxDTStGb0IsQU4vRnBCLENNK0ZxQixBTi9GaEIxUCxDTStGaUIsQ0FBQyxBTi9GbEIsQ00rRm1CLENBQUMsQ0FBQyxBTjlGekMsQ004RjBDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU45RnpDeVAsQ004RjBDLEFOOUYxQyxDTThGMkMsQ0FBQyxDQUFDLEFOOUZqQ0MsQ004RmtDLEFOOUZsQyxDTThGbUMsQU45RjlCL0ssQ004RitCLENBQUMsQ0FBQyxBTjlGakMsQ004RmtDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU45RnRCOEssQ004RnVCLEFOOUZ2QixDTThGd0IsQU45RmY5SyxDTThGZ0IsQ0FBQyxDQUFDLEFOOUZsQixDTThGbUIsQ0FBQyxBTnhGbEUsQ013Rm1FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFON0ZwRCxDTTZGcUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjdGN0UwSyxDTTZGOEUsQU43RjlFLENNNkYrRSxBTjdGdkVoTCxDTTZGd0UsQ0FBQyxDQUFDLEFON0YxRSxDTTZGMkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjVGMUZnTCxDTTRGMkYsQU41RjNGLENNNEY0RixBTjVGcEZoTCxDTTRGcUYsQ0FBQyxDQUFDLEFONUZ2RixDTTRGd0YsQ0FBQyxDQUFDLEFONUZsRmdDLENNNEZtRixBTjVGbkYsQ000Rm9GLEFONUY1RWhDLENNNEY2RSxDQUFDLENBQUMsQU41Ri9FLENNNEZnRixDQUFDLEFOM0Z6R2dMLENNMkYwRyxBTjNGMUcsQ00yRjJHLEFOM0ZuR3pLLENNMkZvRyxDQUFDLENBQUMsQU4zRnRHLENNMkZ1RyxDQUFDLENBQUMsQU4zRjVGeUIsQ00yRjZGLEFOM0Y3RixDTTJGOEYsQU4zRnRGekIsQ00yRnVGLENBQUMsQ0FBQyxBTjNGekYsQ00yRjBGLENBQUMsQ0FBQyxBTnhGbkg2SyxDTXdGb0gsQU54RnBILENNd0ZxSCxBTnhGNUc5SyxDTXdGNkcsQ0FBQyxDQUFDLEFOeEYvRyxDTXdGZ0gsQU54RjlGeUssQ013RitGLEFOeEYvRixDTXdGZ0csQ0FBQyxBTnhGMUZDLENNd0YyRixBTnhGM0YsQ013RjRGO0FBQ3pJLENBQUMsQ0FBQyxBTnJGRG1CLENNcUZFLEFOckZGLENNcUZHLEFOckZXcEIsQ01xRlYsQU5yRlUsQ01xRlQsQ0FBQyxBTnJGZUMsQ01xRmQsQU5yRmMsQ01xRmIsQ0FBQyxBTnJGc0JoSixDTXFGckIsQU5yRnFCLENNcUZwQixDQUFDLEFOckY2QmtKLENNcUY1QixBTnJGNEIsQ01xRjNCLEFOcEZmO0FNcUZBLEFOckZBLENNcUZDO0FBQ0QsQU5wRkEsQ01vRkMsQ0FBQyxDQUFDLENBQUMsQU5wRkVrQixDTW9GRCxBTnBGQyxDTW9GQSxDQUFDLENBQUMsQU5wRldwSyxDTW9GVixBTnBGVSxDTW9GVCxBTnBGaUJ2QixDTW9GaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5wRlU7QU1xRjNCLEFObEVBLENNa0VDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmxFQTRMLENNa0VDLENBQUMsQU5sRVl0QixDTWtFWCxBTmxFVyxDTWtFVixDQUFDLEFObEVnQkMsQ01rRWYsQU5sRWUsQ01rRWQsQ0FBQyxBTmxFNkJoSixDTWtFNUIsQU5sRTRCLENNa0UzQixDQUFDO0FBQ3BCLENBQUMsQ0FBQyxBTnZDRCxDTXVDRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmxFSitJLENNa0VLLEFObEVMLENNa0VNLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5qRVRBLENNaUVVLEFOakVWLENNaUVXLEFOakVOekssQ01pRU8sQ0FBQyxDQUFDLEFOakVULENNaUVVLENBQUMsQ0FBQyxDQUFDLEFOakVFeUssQ01pRUQsQU5qRUMsQ01pRUEsQU5qRUt6SyxDTWlFSixDQUFDLENBQUMsQU5qRUUsQ01pRUQsQU5qRUNPLENNaUVBLENBQUMsQ0FBQyxBTmpFRixDTWlFRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOaEVuQ2tLLENNZ0VvQyxBTmhFcEMsQ01nRXFDLEFOaEVoQ3pLLENNZ0VpQyxDQUFDLENBQUMsQU5oRW5DLENNZ0VvQyxBTmhFcENPLENNZ0VxQyxDQUFDLENBQUMsQU5oRXZDLENNZ0V3QyxBTmhFeENsRixDTWdFeUMsQ0FBQyxBTmhFMUMsQ01nRTJDLEFOaEVqQjhELENNZ0VrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmhFeEIsQ01nRXlCLEFOaEVqQixDTWdFa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5oRTNCc0wsQ01nRTRCLEFOaEU1QixDTWdFNkIsQ0FBQztBQUN4RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOaEU4QixDTWdFN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOaEVWQSxDTWdFVyxBTmhFWCxDTWdFWSxBTmhFTnpLLENNZ0VPLENBQUMsQ0FBQyxBTmhFVCxDTWdFVSxDQUFDLENBQUMsQ0FBQyxBTmhFWXlLLENNZ0VYLEFOaEVXLENNZ0VWLEFOaEVnQnpLLENNZ0VmLENBQUMsQ0FBQyxBTmhFYSxDTWdFWixDQUFDLEFOL0R0QztBTWdFSCxDQUFDLENBQUMsQU5oRUMsQ01nRUEsQ0FBQyxDQUFDLENBQUMsQU45REh5SyxDTThESSxBTjlESixDTThESyxBTjlEQXpLLENNOERDLENBQUMsQ0FBQyxBTjlESCxDTThESSxBTjlESk8sQ004REssQ0FBQyxDQUFDLEFOOURQLENNOERRLENBQUMsQ0FBQyxBTjlEWSxDTThEWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjFEQyxDTTBEQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU4zRGhDa0ssQ00yRGlDLEFOM0RqQyxDTTJEa0MsQ0FBQyxDQUFDLEFOM0Q1QkQsQ00yRDZCLEFOM0Q3QixDTTJEOEIsQU4zRHZCLENNMkR3QixDQUFDLENBQUMsQ0FBQyxBTjNEdkJDLENNMkR3QixBTjNEeEIsQ00yRHlCLENBQUMsQ0FBQyxBTjFEckN6SyxDTTBEc0MsQ0FBQyxDQUFDLEFOMUR4QyxDTTBEeUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnpEakR5SyxDTXlEa0QsQU56RGxELENNeURtRCxBTnpEOUN6SyxDTXlEK0MsQ0FBQyxDQUFDLEFOekRqRCxDTXlEa0QsQU56RGxEUyxDTXlEbUQsQ0FBQyxDQUFDLEFOekRyRCxDTXlEc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnpEL0JpQixDTXlEZ0MsQU56RGhDLENNeURpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOeER4RStJLENNd0R5RSxBTnhEekUsQ013RDBFLEFOeERyRXpLLENNd0RzRSxDQUFDLENBQUMsQU54RHhFLENNd0R5RSxBTnhEekVTLENNd0QwRSxDQUFDLENBQUMsQU54RDVFLENNd0Q2RSxDQUFDLENBQUMsQU54RHREaUssQ013RHVELEFOeER2RCxDTXdEd0QsQ0FBQyxDQUFDLEFOckR6RkQsQ01xRDBGLEFOckQxRixDTXFEMkYsQU5yRHRGekssQ01xRHVGLENBQUMsQ0FBQyxBTnJEekYsQ01xRDBGLEFOckQxRk4sQ01xRDJGLENBQUMsQ0FBQyxBTnJEN0YsQ01xRDhGLENBQUMsQ0FBQyxDQUFDLEFOckQ1RSxDTXFENkUsQ0FBQyxDQUFDLEFObkR6RytLLENNbUQwRyxBTm5EMUcsQ01tRDJHLEFObkR0R3pLLENNbUR1RyxDQUFDLENBQUMsQU5uRHpHLENNbUQwRyxDQUFDLENBQUMsQU5uRDlGLENNbUQrRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmhEekh5SyxDTWdEMEgsQU5oRDFILENNZ0QySCxBTmhEdEh4SyxDTWdEdUgsQ0FBQyxDQUFDLEFOaER6SCxDTWdEMEgsQ0FBQyxDQUFDLEFOL0NoSXdLLENNK0NpSSxBTi9DakksQ00rQ2tJLEFOL0M3SHhLLENNK0M4SCxDQUFDLENBQUMsQU4vQ2hJLENNK0NpSSxDQUFDLENBQUMsQ0FBQyxBTjlDekl3SyxDTThDMEksQU45QzFJLENNOEMySSxBTjlDdEl4SyxDTThDdUksQ0FBQyxDQUFDLEFOOUN6SSxDTThDMEksQU45Qy9IaEIsQ004Q2dJLENBQUMsQ0FBQyxBTjlDbEksQ004Q21JLEFOOUMvSCxDTThDZ0ksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU45Q3pJd0wsQ004QzBJLEFOOUMxSSxDTThDMkksQ0FBQztBQUNuSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOL0N3QixDTStDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU45Q1BzQixDTThDUSxBTjlDUixDTThDUyxBTjlDS3RCLENNOENKLEFOOUNJLENNOENILENBQUMsQU45Q1NDLENNOENSLEFOOUNRLENNOENQLENBQUMsQU45Q3NCaEosQ004Q3JCLEFOOUNxQixDTThDcEIsQU45QzhCO0FNK0NuRCxDQUFDLENBQUMsQU4vQ2lELENNK0NoRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOM0NDK0ksQ00yQ0EsQU4xQ1I7QU0yQ0EsQU4zQ0E7QU00Q0EsQU4xQ0EsQ00wQ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOMUNBdUIsQ00wQ0MsQ0FBQyxBTjFDYXZCLENNMENaLEFOMUNZLENNMENYLENBQUMsQU4xQ2lCQyxDTTBDaEIsQU4xQ2dCLENNMENmLENBQUMsQU4xQzhCaEosQ00wQzdCLEFOMUM2QixDTTBDNUIsQ0FBQztBQUNwQixDQUFDLENBQUMsQU52QkQsQ011QkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU4xQ0orSSxDTTBDSyxBTjFDTCxDTTBDTSxDQUFDLENBQUMsQ0FBQyxBTjFDQS9JLENNMENDLEFOMUNELENNMENFLENBQUMsQ0FBQyxDQUFDLENBQUMsQU56Q2xCK0ksQ015Q21CLEFOekNuQixDTXlDb0IsQU56Q2Y1SixDTXlDZ0IsQ0FBQyxDQUFDLEFOekNsQixDTXlDbUIsQ0FBQyxDQUFDLEFOekNSLENNeUNTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnhDaEM0SixDTXdDaUMsQU54Q2pDLENNd0NrQyxBTnhDN0J4SyxDTXdDOEIsQ0FBQyxDQUFDLEFOeENoQyxDTXdDaUMsQ0FBQyxDQUFDLEFOdkN2Q3dLLENNdUN3QyxBTnZDeEMsQ011Q3lDLEFOdkNwQ3hLLENNdUNxQyxDQUFDLENBQUMsQU52Q3ZDLENNdUN3QyxDQUFDLENBQUMsQ0FBQyxBTnRDaER3SyxDTXNDaUQsQU50Q2pELENNc0NrRCxBTnRDN0N4SyxDTXNDOEMsQ0FBQyxDQUFDLEFOdENoRCxDTXNDaUQsQU50Q3RDaEIsQ01zQ3VDLENBQUMsQ0FBQyxBTnRDekMsQ01zQzBDLEFOdEN0QyxDTXNDdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU50Q2hEd0wsQ01zQ2lELEFOdENqRCxDTXNDa0QsQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOdkN3QixDTXVDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU50Q1B1QixDTXNDUSxBTnRDUixDTXNDUyxBTnRDTXZCLENNc0NMLEFOdENLLENNc0NKLENBQUMsQU50Q1VDLENNc0NULEFOdENTLENNc0NSLENBQUMsQU50Q3VCaEosQ01zQ3RCLEFOdENzQixDTXNDckIsQU50Q29DO0FNdUN6RCxDQUFDLENBQUMsQU52Q3VELENNdUN0RCxDQUFDLENBQUMsQ0FBQyxBTnBDQStJLENNb0NDLEFOcENELENNb0NFLEFOcENHekssQ01vQ0YsQ0FBQyxDQUFDLEFOcENBLENNb0NDLENBQUMsQ0FBQyxDQUFDLEFObkNSeUssQ01tQ1MsQU5uQ1QsQ01tQ1UsQU5uQ0x6SyxDTW1DTSxDQUFDLENBQUMsQU5uQ1IsQ01tQ1MsQU5uQ1RTLENNbUNVLENBQUMsQ0FBQyxBTm5DWixDTW1DYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFObkNVaUssQ01tQ1QsQU5uQ1MsQ01tQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmxDM0JELENNa0M0QixBTmxDNUIsQ01rQzZCLEFObEN4Qi9LLENNa0N5QixDQUFDLENBQUMsQU5sQzNCLENNa0M0QixDQUFDLENBQUMsQ0FBQyxBTmpDdkNnQyxDTWlDd0MsQU5qQ3hDLENNaUN5QyxBTmpDMUJaLENNaUMyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOakNyQyxDTWlDc0MsQU5qQzFCMkosQ01pQzJCLEFOakMzQixDTWlDNEIsQU5qQ3ZCL0ssQ01pQ3dCLENBQUMsQ0FBQyxBTmpDMUIsQ01pQzJCLENBQUMsQ0FBQyxBTi9COUQrSyxDTStCK0QsQU4vQi9ELENNK0JnRSxBTi9CM0R6SyxDTStCNEQsQ0FBQyxDQUFDLEFOL0I5RCxDTStCK0QsQU4vQi9ETixDTStCZ0UsQ0FBQyxDQUFDLEFOL0JsRSxDTStCbUUsQ0FBQyxDQUFDLENBQUMsQU4vQmpELENNK0JrRCxDQUFDLENBQUMsQU45QjlFK0ssQ004QitFLEFOOUIvRSxDTThCZ0YsQU45QjNFekssQ004QjRFLENBQUMsQ0FBQyxBTjlCOUUsQ004QitFLEFOOUIvRVMsQ004QmdGLENBQUMsQ0FBQyxBTjlCbEYsQ004Qm1GLENBQUMsQ0FBQyxBTjlCNURpQixDTThCNkQsQU45QjdELENNOEI4RCxDQUFDLENBQUMsQ0FBQyxBTnpCM0YrSSxDTXlCNEYsQU54QnBHO0FNeUJBLEFOekJBO0FNMEJBLEFOdkJPLENNdUJOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnZCT3dCLENNdUJOLENBQUMsQU52QkssQ011QkosQ0FBQztBQUNiLENBQUMsQ0FBQyxBTnRCRCxDTXNCRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOdEJGakwsQ01zQkcsQ0FBQyxDQUFDLEFOdEJMLENNc0JNLENBQUMsQ0FBQyxBTnRCbUIsQ01zQmxCLENBQUMsQ0FBQyxBTnJCZixDTXFCZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnJCZitKLENNcUJnQixBTnJCaEIsQ01xQmlCLENBQUMsQ0FBQyxBTnJCTCxDTXFCTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5wQjlCLENNb0IrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFOcEIvQjdNLENNb0JnQyxDQUFDLENBQUMsQU5wQmxDLENNb0JtQyxDQUFDLENBQUMsQU5wQmQsQ01vQmUsQ0FBQyxDQUFDLENBQUMsQU5uQjlDO0FNb0JBLEFOcEJBO0FNcUJBLEFOZ0hnQixDTWhIZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5nSE9nTyxDTWhITixDQUFDLEFOZ0hlekIsQ01oSGQsQU5nSGMsQ01oSGIsQ0FBQztBQUNkLENBQUMsQ0FBQyxBTmlIRCxDTWpIRSxDQUFDLENBQUMsQ0FBQyxBTmlIREMsQ01qSEUsQU5pSEYsQ01qSEcsQ0FBQyxDQUFDLEFOaUhPRCxDTWpITixBTmlITSxDTWpITCxBTmlIVXBQLENNakhULENBQUMsQU5pSFEsQ01qSFAsQU5pSE8yRSxDTWpITixDQUFDLENBQUMsQU5pSEk7QU1oSHRCLENBQUMsQ0FBQyxBTmlIRCxDTWpIRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmlIRDBLLENNakhFLEFOaUhGLENNakhHLENBQUMsQ0FBQyxDQUFDLEFOaUhPQSxDTWpITixBTmlITSxDTWpITCxBTmlIY3ZKLENNakhiLENBQUMsQ0FBQyxBTmlIVyxDTWpIVixDQUFDLENBQUMsQ0FBQyxBTmlIc0J1SixDTWpIckIsQU5pSHFCLENNakhwQixBTmlINkJ2SixDTWpINUIsQ0FBQyxDQUFDLEFOaUgwQixDTWpIekIsQU5pSHFDc0osQ01qSHBDLEFOaUhvQyxDTWpIbkMsQU5rSC9CO0FNakhBLEFOaUhBO0FNaEhBLEFOa0hnQixDTWxIZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5rSE8wQixDTWxITixDQUFDLEFOa0hVMUIsQ01sSFQsQU5rSFMsQ01sSFIsQ0FBQztBQUNkLENBQUMsQ0FBQyxBTmtIRCxDTWxIRSxDQUFDLENBQUMsQ0FBQyxBTmtIRC9JLENNbEhFLEFOa0hGLENNbEhHLENBQUMsQU5tSEprSixDTW5ISyxBTm1ITCxDTW5ITSxDQUFDLEFOb0hQRSxDTXBIUSxBTm9IUjtBTW5ITCxDQUFDLENBQUMsQU5xSEQsQ01ySEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOcUhEQyxDTXJIRSxDQUFDLEFOcUhFQSxDTXJIRCxBTnFIQyxDTXJIQSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5pSUYsQ01qSUcsQ0FBQyxDQUFDLENBQUMsQU5xSERySixDTXJIRSxBTnFIRixDTXJIRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOc0hYQSxDTXRIWSxBTnNIWixDTXRIYSxDQUFDLENBQUMsQU5zSFIrSSxDTXRIUyxBTnNIVCxDTXRIVSxDQUFDLENBQUMsQ0FBQyxBTnVIZjNLLENNdkhnQixDQUFDLENBQUMsQ0FBQyxBTnVIbkIsQ012SG9CLEFOd0h4QixDTXhIeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU53SGxDMkssQ014SG1DLEFOd0huQyxDTXhIb0MsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTndIREcsQ014SEUsQU53SEYsQ014SEcsQ0FBQyxDQUFDLEFOd0hPSCxDTXhITixBTndITSxDTXhITCxBTndIYWhKLENNeEhaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOd0hNLENNeEhMLENBQUMsQ0FBQyxDQUFDLEFOd0hhZ0osQ014SFosQU55SHBCO0FNeEhKLENBQUMsQ0FBQyxDQUFDLENBQUMsQU53SEEsQ014SEMsQ0FBQyxDQUFDLEFOeUhILENNekhJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOeUhiQSxDTXpIYyxBTnlIZCxDTXpIZSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOeUhESyxDTXpIRSxBTnlIRixDTXpIRyxDQUFDLENBQUMsQU55SEdMLENNekhGLEFOMEhQO0FNekhKLENBQUMsQ0FBQyxDQUFDLENBQUMsQU55SEEsQ016SEMsQ0FBQyxDQUFDLENBQUMsQU42SEZLLENNN0hHLEFONkhILENNN0hJLENBQUMsQU44SFIsQ005SFMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOOEhSQSxDTTlIUyxBTjhIVDtBTTdIVCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOZ0lGLENNaElHLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5nSUZGLENNaElHLEFOZ0lILENNaElJLENBQUMsQU5pSVQsQ01qSVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOaUlUbEosQ01qSVUsQU5pSVY7QU1oSVQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTm1JRixDTW5JRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTm1JRmdKLENNbklHLEFObUlILENNbklJLEFObUlVRSxDTW5JVCxBTm1JUyxDTW5JUixDQUFDLEFObUlrQkcsQ01uSWpCLEFObUlpQixDTW5JaEIsQU5vSWpCO0FNbklELENBQUMsQ0FBQyxBTm1JRDtBTWxJRCxDQUFDLENBQUMsQU5zSUQsQ010SUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5vSVJBLENNcElTLEFOb0lULENNcElVLEFOb0lMdk4sQ01wSU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTm9JaEIsQ01wSWlCLENBQUMsQ0FBQyxBTm9JTCxDTXBJTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOcUloQ3VOLENNcklpQyxBTnFJakMsQ01ySWtDLEFOcUk5Qm5OLENNckkrQixDQUFDLENBQUMsQU5xSWpDLENNcklrQyxDQUFDLENBQUMsQ0FBQyxBTnFJdkIsQ01ySXdCLENBQUMsQ0FBQyxBTnNJckNtTixDTXRJc0MsQU51STlDO0FNdElBLEFOc0lBO0FNcklBLEFOcUlBLENNcklDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTHJJT3FCLENLcUlOLENBQUMsQUxySUssQ0txSUosQ0FBQztBQUNiLENBQUMsQ0FBQyxBTHJJRCxDS3FJRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMcklEMVIsQ0txSUUsQUxySUYsQ0txSUcsQ0FBQyxDQUFDLEFMcklHLENLcUlGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTHBJaEIsQ0tvSWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxwSWhCMlIsQ0tvSWlCLEFMcElqQixDS29Ja0IsQ0FBQyxDQUFDLEFMcEliLENLb0ljLENBQUMsQ0FBQyxDQUFDLEFMbkk5QjtBS29JQSxBTHBJQTtBS3FJQSxBTnZIQTNLLENNdUhDLEFOdkhELENNdUhFLEFOdkhNdkIsQ011SEwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU52SEQsQ011SEUsQ0FBQyxDQUFDLEFOdkhNLENNdUhMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOdkhNc0ssQ011SEwsQU52SEssQ011SEosQ0FBQztBQUN6QixDQUFDLENBQUMsQU50SEQsQ01zSEUsQ0FBQyxDQUFDLENBQUMsQU50SENDLENNc0hBLEFOdEhBLENNc0hDLENBQUMsQ0FBQyxBTnRIU0QsQ01zSFIsQU50SFEsQ01zSFAsQU50SFl6SyxDTXNIWCxDQUFDLENBQUMsQU50SFM7QU11SHhCLENBQUMsQ0FBQyxBTnRIRzBLLENNc0hGLEFOdEhFLENNc0hELENBQUMsQ0FBQyxDQUFDLEFOdEhXQSxDTXNIVixBTnRIVSxDTXNIVCxBTnRIa0I1SSxDTXNIakIsQ0FBQyxDQUFDLEFOdEhlLENNc0hkLENBQUMsQ0FBQyxDQUFDLEFOckhkNEksQ01xSGUsQU5ySGYsQ01xSGdCLEFOckhQNUksQ01xSFEsQ0FBQyxDQUFDLEFOckhWLENNcUhXLENBQUMsQ0FBQyxDQUFDLEFOOUdwQjRJLENNOEdxQixBTjlHckIsQ004R3NCLENBQUMsQ0FBQyxDQUFDLEFKbEpGLENJa0pHLENBQUMsQ0FBQyxDQUFDLENBQUMsQU45R2pCRCxDTThHa0IsQU45R2xCLENNOEdtQixBTjlHZHpKLENNOEdlLENBQUMsQ0FBQyxBTjlHakIsQ004R2tCLENBQUMsQ0FBQyxDQUFDLENBQUMsQU43RzNDeUosQ002RzRDLEFON0c1QyxDTTZHNkMsQU43R3ZDck0sQ002R3dDLENBQUMsQ0FBQyxDQUFDLEFON0czQyxDTTZHNEMsQ0FBQyxDQUFDLEFON0d2QyxDTTZHd0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU4xR3hEME4sQ00wR3lELEFOMUd6RCxDTTBHMEQsQ0FBQyxDQUFDLENBQUMsQU4xR2pEQSxDTTBHa0QsQU4xR2xELENNMEdtRCxBTjFHeENyQixDTTBHeUMsQU4xR3pDLENNMEcwQyxBTnpHdEU7QU0wR0EsQU4xR0EsQ00wR0MsQ0FBQyxDQUFDLENBQUMsQU52Q0p3QixDTXVDSyxBTnZDTCxDTXVDTSxBTnZDR3ZPLENNdUNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnZDTixDTXVDTyxDQUFDLENBQUMsQU52Q0csQ011Q0YsQ0FBQyxDQUFDLENBQUMsQU52Q0crTSxDTXVDRixBTnZDRSxDTXVDRCxDQUFDLENBQUMsQ0FBQyxBTmhDVHpLLENNZ0NVLENBQUMsQ0FBQyxBTmhDWixDTWdDYSxDQUFDLENBQUMsQU5oQ0ssQ01nQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5oQ0t5SyxDTWdDSixBTmhDSSxDTWdDSCxDQUFDLEFOaENXQyxDTWdDVixBTmhDVSxDTWdDVCxDQUFDO0FBQ2pELENBQUMsQ0FBQyxBTmhDRCxDTWdDRSxDQUFDLENBQUMsQ0FBQyxBTmhDQ2hKLENNZ0NBLEFOaENBLENNZ0NDLENBQUMsQ0FBQyxBTmhDbUJnSixDTWdDbEIsQU5oQ2tCLENNZ0NqQixBTmhDZ0MxSyxDTWdDL0IsQ0FBQyxDQUFDLEFOaEM2QjtBTWlDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjlCRzRLLENNOEJGLEFOOUJFLENNOEJELENBQUMsQ0FBQyxBTjlCRyxDTThCRixDQUFDLENBQUMsQ0FBQztBQUNaLENBQUMsQ0FBQyxBTjdCb0IsQ002Qm5CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU43QkxBLENNNkJNLEFON0JOLENNNkJPLEFON0JMRyxDTTZCTSxBTjdCTixDTTZCTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFONUJoQkgsQ000QmlCLEFONUJqQixDTTRCa0IsQU41QmhCRyxDTTRCaUIsQU41QmpCLENNNEJrQixDQUFDLENBQUMsQU41Qk4sQ000Qk8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjFCNUJILENNMEI2QixBTjFCN0IsQ00wQjhCLEFOMUI1QkcsQ00wQjZCLEFOMUI3QixDTTBCOEIsQU4xQmxCN0ksQ00wQm1CLENBQUMsQ0FBQyxDQUFDLEFOMUJ0QixDTTBCdUIsQU4xQmxCUixDTTBCbUIsQU4xQm5CLENNMEJvQjtBQUN4QyxDQUFDLENBQUMsQU56QkQsQ015QkUsQ0FBQyxDQUFDLENBQUMsQU56QkNvSixDTXlCQSxBTnpCQSxDTXlCQyxDQUFDLENBQUMsQU56Qk9vQixDTXlCTixBTnpCTSxDTXlCTCxBTnpCZXRCLENNeUJkLEFOekJjLENNeUJiLEFOekJjL0osQ015QmIsQ0FBQyxDQUFDLEFOekJXLENNeUJWO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQU54QkNrSyxDTXdCQSxBTnhCQSxDTXdCQyxDQUFDLENBQUMsQ0FBQyxBTnhCTyxDTXdCTjtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQU54QkdyUSxDTXdCRixBTnhCRSxDTXdCRCxDQUFDLENBQUMsQU54QlksQ013QlgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOeEJHMkgsQ013QkYsQU54QkUsQ013QkQsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnhCQTBJLENNd0JDLEFOeEJELENNd0JFLENBQUMsQ0FBQyxDQUFDLENBQUMsQU50QlZBLENNc0JXLEFOdEJYLENNc0JZLENBQUMsQ0FBQyxDQUFDLEFOdEJKLENNc0JLLENBQUMsQ0FBQyxBTnJCbEJySixDTXFCbUIsQU5yQm5CLENNcUJvQixBTnJCREksQ01xQkUsQ0FBQyxDQUFDLEFOckJKLENNcUJLLENBQUMsQ0FBQyxBTnJCTyxDTXFCTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5uQjVCZ0osQ01tQjZCLEFObkI3QixDTW1COEIsQ0FBQyxDQUFDLEFObEJuQ0EsQ01rQm9DLEFObEJwQyxDTWtCcUMsQU5sQjdCcE8sQ01rQjhCLEFObEI5QixDTWtCK0IsQ0FBQyxDQUFDLENBQUMsQU5oQjFDQSxDTWdCMkMsQU5oQjNDLENNZ0I0QyxDQUFDLENBQUMsQU5kaEQ7QU1lRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOZkgsQ01lSTtBQUNMLENBQUMsQ0FBQyxBTmREZ0YsQ01jRSxBTmRGLENNY0csQU5kZ0JJLENNY2YsQ0FBQyxDQUFDLEFOZGEsQ01jWixDQUFDLENBQUMsQU5kd0JwSCxDTWN2QixBTmR1QjtBTWVsQyxDQUFDLENBQUMsQU5iRCxDTWFFLENBQUMsQ0FBQyxDQUFDLEFOYkNnQyxDTWFBLEFOYkEsQ01hQyxDQUFDLENBQUMsQU5ib0IsQ01hbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOYlc0RixDTWFWLEFOYlUsQ01hVCxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5iRixDTWFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5iSHNJLENNYUksQU5iSixDTWFLLEFOYko1SixDTWFLLENBQUMsQ0FBQyxBTmJQLENNYVEsQ0FBQyxBTmJpQjtBTWNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTlhILENNV0ksQ0FBQyxDQUFDLENBQUMsQU5YSDRKLENNV0ksQU5YSixDTVdLLEFOWEg3TSxDTVdJLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5YUixDTVdTLEFOWEpvRCxDTVdLLENBQUMsQ0FBQyxBTlhQLENNV1EsQ0FBQyxBTlhJO0FNWTNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTlhKLENNV0ssQ0FBQyxDQUFDLENBQUMsQU5YRnNKLENNV0csQU5YSCxDTVdJLENBQUMsQ0FBQyxBTlhXRyxDTVdWLEFOWFUsQ01XVCxBTlhXN00sQ01XVixDQUFDLENBQUMsQ0FBQyxDQUFDLEFOWE0sQ01XTCxBTlhVb0QsQ01XVCxDQUFDLENBQUMsQU5YTztBTVlsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5YSnlKLENNV0ssQU5YTCxDTVdNLEFOWEwvSixDTVdNLENBQUMsQ0FBQyxBTlhSLENNV1MsQU5YVFosQ01XVSxDQUFDLENBQUMsQU5YWixDTVdhLEFOWEssQ01XSixDQUFDLENBQUMsQ0FBQyxDQUFDLEFOWEsrTCxDTVdKLEFOWEksQ01XSCxBTlZwQnZCLENNVXFCLEFOVnJCLENNVXNCLENBQUMsQU5UdkJBLENNU3dCLEFOVHhCLENNU3lCLEFOVFh6SyxDTVNZLENBQUMsQ0FBQyxBTlRkLENNU2UsQU5UZlMsQ01TZ0IsQ0FBQyxDQUFDLEFOVGxCLENNU21CLENBQUMsQU5SbENnSyxDTVFtQyxBTlJuQyxDTVFvQyxBTlJ0QnpLLENNUXVCLENBQUMsQ0FBQyxBTlJ6QixDTVEwQixBTlIxQndDLENNUTJCLENBQUMsQ0FBQyxBTlI3QixDTVE4QixBTk45QztBTU9ILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOUEg7QU1RSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTkpILENNSUksQ0FBQyxDQUFDLENBQUMsQU5KSGtJLENNSUksQU5KSjtBTUtQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOSkgsQ01JSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOUFJFLENNT1MsQU5QVCxDTU9VLEFOUFJuSSxDTU9TLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5QaEIsQ01PaUIsQU5QUjtBTVFkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTlJRdEIsQ01RUCxDQUFDLENBQUMsQU5SSyxDTVFKLENBQUMsQU5SZ0J5SixDTVFmLEFOUmUsQ01RZCxBTlJlMU0sQ01RZCxDQUFDLENBQUMsQU5SWSxDTVFYLENBQUMsQ0FBQyxBTlJnQyxDTVEvQixDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5UK0MsQ01TOUMsQ0FBQyxDQUFDLENBQUMsQU5OQ3dNLENNTUEsQU5OQSxDTU1DLENBQUMsQ0FBQyxBTk5TRSxDTU1SLEFOTlEsQ01NUCxBTk5TRyxDTU1SLEFOTlEsQ01NUCxBTk5tQnJJLENNTWxCLENBQUMsQ0FBQyxBTk5nQixDTU1mLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5MdEJnSSxDTUt1QixBTkx2QixDTUt3QixBTkxkblAsQ01LZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOTHpCLENNSzBCLENBQUMsQU5IdkM7QU1JRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFOSkY7QU1LRixDQUFDLENBQUMsQU5KRCxDTUlFO0FBQ0gsQ0FBQyxDQUFDLEFOR0NxUCxDTUhBLEFOR0EsQ01IQyxBTkdBNUosQ01IQyxDQUFDLENBQUMsQU5HSCxDTUhJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSnpLZSxDSXlLZCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOSWQwSixDTUplLEFOSWYsQ01KZ0IsQU5JRDFKLENNSkUsQ0FBQyxDQUFDLEFOSUosQ01KSyxDQUFDLENBQUMsQ0FBQyxBTk16QjRKLENNTjBCLEFOTTFCLENNTjJCLEFOTXpCbkksQ01OMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTk1qQyxDTU5rQyxBTk16QjtBTUxiLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5LV3RCLENNTFYsQ0FBQyxDQUFDLEFOS1EsQ01MUCxDQUFDLEFOS21CeUosQ01MbEIsQU5La0IsQ01MakIsQU5La0IxTSxDTUxqQixDQUFDLENBQUMsQU5LZSxDTUxkLENBQUMsQ0FBQyxBTkttQzBNLENNTGxDLEFOS2tDLENNTGpDLEFOS2tDL0osQ01MakMsQ0FBQyxDQUFDLEFOSytCLENNTDlCLEFOSzhCWixDTUw3QixDQUFDLENBQUMsQU5LMkIsQ01MMUIsQU5LNEMsQ01MM0M7QUFDNUIsQ0FBQyxDQUFDLEFOSXFFLENNSnBFLENBQUMsQ0FBQyxDQUFDLEFOTUx3SyxDTU5NLEFOTU4sQ01OTyxBTk1DM0ssQ01OQSxDQUFDLENBQUMsQ0FBQyxBTk1ILENNTkksQU5NQ3BGLENNTkEsQU5NQSxDTU5DLENBQUMsQU5NVUEsQ01OVCxBTk1TLENNTlIsQU5PbEI7QU1OQSxBTk1BLENNTkMsQ0FBQyxDQUFDLEFOUUh1UixDTVJJLEFOUUosQ01SSyxBTlFJdk8sQ01SSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5RTCxDTVJNLEFOUUlpRixDTVJILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5RaEIsQ01SaUIsQ0FBQyxDQUFDLEFOUUksQ01SSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLEFOUUQsQ01SRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOUURvSSxDTVJFLEFOUUYsQ01SRyxDQUFDLENBQUMsQU5RUyxDTVJSLENBQUMsQU5TYjtBTVJBLEFOUUEsQ01SQyxDQUFDLENBQUMsQU5lSGtCLENNZkksQU5lSixDTWZLLEFOZUl2TyxDTWZILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmVMLENNZk0sQU5lSW1CLENNZkgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOZUYsQ01mRyxDQUFDLENBQUMsQU5lSSxDTWZILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOZUk0TCxDTWZILEFOZUcsQ01mRixDQUFDLEFOZVEvSSxDTWZQLEFOZU8sQ01mTixDQUFDO0FBQ3hDLENBQUMsQ0FBQyxBTmVELENNZkUsQ0FBQyxDQUFDLENBQUMsQU5lRCxDTWZFLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5lRnhELENNZkcsQ0FBQyxDQUFDLEFOZUwsQ01mTSxDQUFDLEFOZWU7QU1kL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmtCRixDTWxCRyxDQUFDLENBQUMsQ0FBQyxBTmtCRixDTWxCRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOa0JIMkMsQ01sQkksQ0FBQyxDQUFDLEFOa0JOLENNbEJPLEFOa0JQWixDTWxCUSxDQUFDLENBQUMsQU5rQlYsQ01sQlcsQ0FBQyxBTmtCTztBTWpCN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5rQkgsQ01sQkksQ0FBQyxDQUFDLENBQUMsQU5rQkQySyxDTWxCRSxBTmtCRixDTWxCRyxDQUFDLENBQUMsQU5rQlloSSxDTWxCWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFOa0JJLENNbEJILEFOa0JZckYsQ01sQlgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5rQkQsQ01sQkUsQU5rQlksQ01sQlgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmtCQ3dOLENNbEJBLEFOa0JBLENNbEJDLENBQUMsQ0FBQyxBTmtCaUIsQ01sQmhCLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5rQmdCbEssQ01sQmYsQ0FBQyxDQUFDLEFOa0JhLENNbEJaLEFOa0JZWixDTWxCWCxDQUFDLENBQUMsQU5rQlMsQ01sQlIsQU5rQjBCLENNbEJ6QixDQUFDLENBQUMsQU5rQnlCRCxDTWxCeEIsQ0FBQyxDQUFDLEFOa0JzQjtBTWpCckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU5rQkgsQ01sQkksQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmtCSmEsQ01sQkssQ0FBQyxDQUFDLEFOa0JQLENNbEJRLEFOa0JSWixDTWxCUyxDQUFDLENBQUMsQU5rQlgsQ01sQlksQU5rQk0sQ01sQkwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTmtCTThMLENNbEJMLEFOa0JLLENNbEJKLEFObUJ0QixDTW5CdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTm1CdkI3TixDTW5Cd0IsQ0FBQyxDQUFDLEFObUIxQixDTW5CMkIsQ0FBQyxBTm9CaEMwTSxDTXBCaUMsQU5vQmpDLENNcEJrQyxDQUFDLEFOcUJsQ0csQ01yQm1DLEFOcUJuQyxDTXJCb0MsQU5xQm5CdkksQ01yQm9CLENBQUMsQ0FBQyxBTnFCdEIsQ01yQnVCLENBQUMsQ0FBQyxBTnFCSHVJLENNckJJLEFOcUJKLENNckJLLEFOcUJZdEssQ01yQlgsQ0FBQyxDQUFDLEFOcUJTLENNckJSLEFOdUJuRDtBTXRCRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFOc0JGO0FNckJGLENBQUMsQ0FBQyxDQUFDLENBQUMsQU51QkYsQ012QkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTnVCSHZDLENNdkJJLENBQUMsQ0FBQyxBTnVCTixDTXZCTyxDQUFDLENBQUMsQU51QmMsQ012QmIsQ0FBQyxDQUFDLENBQUMsQU53QmxCO0FNdkJELENBQUMsQ0FBQyxBTnVCRDtBTXRCRCxDQUFDLENBQUMsQU4wQkQsQ00xQkUsQ0FBQyxDQUFDLENBQUMsQU4wQkN4RCxDTTFCQSxBTjBCQSxDTTFCQyxDQUFDLENBQUMsQU4yQlJnSCxDTTNCUyxBTjJCVCxDTTNCVSxBTjJCTFAsQ00zQk0sQ0FBQyxDQUFDLEFOMkJSLENNM0JTLENBQUMsQ0FBQyxDQUFDLEFOMkJHdUosQ00zQkYsQU4yQkUsQ00zQkQsQU4yQmVJLENNM0JkLEFOMkJjLENNM0JiLENBQUMsQU4yQnNCLENNM0JyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU4yQnNCTCxDTTNCckIsQU4yQnFCLENNM0JwQixBTjJCMEIzSCxDTTNCekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjJCa0IsQ00zQmpCO0FBQ3pDLENBQUMsQ0FBQyxBTjZCRCxDTTdCRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjJCSnBJLENNM0JLLEFOMkJMLENNM0JNLENBQUMsQ0FBQyxDQUFDLENBQUMsQU4yQkFBLENNM0JDLEFOMkJELENNM0JFLEFOMkJNc0csQ00zQkwsQ0FBQyxDQUFDLEFOMkJHLENNM0JGLENBQUMsQ0FBQyxDQUFDLENBQUMsQU4yQlMsQ00zQlIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjZCdEIsQ003QnVCLEFOOEI3QjBKLENNOUI4QixBTjhCOUIsQ005QitCLEFOOEJqQkksQ005QmtCLEFOOEJsQixDTTlCbUIsQ0FBQyxBTjhCVixDTTlCVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQU44QlZwSixDTTlCVyxBTjhCWCxDTTlCWSxBTjhCUFAsQ005QlEsQ0FBQyxDQUFDLEFOOEJWLENNOUJXLENBQUMsQ0FBQyxBTjhCQyxDTTlCQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjhCQ3NKLENNOUJBLEFOOEJBLENNOUJDLEFOOEJLMUwsQ005QkosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTjhCSCxDTTlCSSxDQUFDLENBQUMsQU4rQnBFckUsQ00vQnFFLEFOK0JyRSxDTS9Cc0UsQU5pQ3hFO0FNaENBLEFOZ0NBLENNaENDO0FBQ0QsQUx6S0EsQ0t5S0MsQ0FBQyxDQUFDLENBQUMsQUx6S0U0UixDS3lLRCxBTHpLQyxDS3lLQSxDQUFDLENBQUMsQUx6S1EsQ0t5S1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMektEbkssQ0t5S0UsQUx6S0RzSSxDS3lLRSxBTHpLRixDS3lLRyxDQUFDLEFMektFQyxDS3lLRCxBTHpLQyxDS3lLQSxDQUFDLEFMektNaEosQ0t5S0wsQUx6S0ssQ0t5S0osQ0FBQztBQUMzQixDQUFDLENBQUMsQUw1SkQsQ0s0SkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMektEQSxDS3lLRSxBTHpLRixDS3lLRyxBTHZMYSxDS3VMWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTHpLZUEsQ0t5S2QsQUx6S2MsQ0t5S2IsQUx4TEssQ0t3TEosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMbkt2QitJLENLbUt3QixBTG5LeEIsQ0ttS3lCLEFMbktwQjRCLENLbUtxQixBTG5LckIsQ0ttS3NCLEFMbktqQm5KLENLbUtrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxuS3ZCLENLbUt3QixBTG5LakJ3SCxDS21La0IsQUxuS2xCLENLbUttQixDQUFDLENBQUMsQUwzSnJDRCxDSzJKc0MsQUwzSnRDLENLMkp1QyxBTDNKbENoUSxDSzJKbUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDNKdkMsQ0sySndDLEFMM0psQzBJLENLMkptQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMM0o3QyxDSzJKOEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDFKL0IsQ0swSmdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUwxSnJFc0gsQ0swSnNFLEFMMUp0RSxDSzBKdUUsQUwxSmxFaFEsQ0swSm1FLENBQUMsQ0FBQyxDQUFDLENBQUMsQUwxSnZFLENLMEp3RSxBTDFKbEUwSSxDSzBKbUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDFKN0UsQ0swSjhFLEFMMUpsRSxDSzBKbUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUwxSjNEc0gsQ0swSjRELEFMMUo1RCxDSzBKNkQsQUwxSnhENEIsQ0swSnlELEFMMUp6RCxDSzBKMEQsQUwxSnJEakosQ0swSnNELENBQUMsQ0FBQyxDQUFDLEFMMUp6RCxDSzBKMEQsQ0FBQyxDQUFDLEFMako3RyxDS2lKOEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTGxKbEgxQixDS2tKbUgsQUxsSm5ILENLa0pvSCxDQUFDLENBQUMsQUxsSi9HK0ksQ0trSmdILEFMbEpoSCxDS2tKaUgsQUxsSjVHL1AsQ0trSjZHLEFMbEo3RyxDS2tKOEcsQ0FBQyxBTGpKcEhnSCxDS2lKcUgsQUxqSnJILENLaUpzSCxDQUFDLENBQUMsQUxqSmxIO0FLa0pkLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxqSkYsQ0tpSkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxqSkZBLENLaUpHLEFMakpILENLaUpJLEFMakpDckMsQ0tpSkEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMakpMLENLaUpNLENBQUMsQ0FBQyxBTGpKQyxDS2lKQSxDQUFDLENBQUMsQ0FBQyxBTGhKdkJxQyxDS2dKd0IsQUxoSnhCLENLZ0p5QixBTGhKcEJnQixDS2dKcUIsQ0FBQyxDQUFDLEFMaEp2QixDS2dKd0IsQ0FBQyxBTGhKOUIsQ0tnSitCLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTC9JRixDSytJRyxDQUFDLENBQUMsQ0FBQyxBTC9JRmhCLENLK0lHLEFML0lILENLK0lJLEFMekxhLENLeUxaLENBQUMsQ0FBQyxDQUFDLENBQUMsQUwvSWNBLENLK0liLEFML0lhLENLK0laLEFMMUxPLENLMExOLENBQUMsQ0FBQyxDQUFDLEFMOUlsQixDSzhJbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFMN0lGK0ksQ0s2SUcsQUw3SUgsQ0s2SUksQUw3SUMvUCxDSzZJQSxBTDdJQSxDSzZJQyxDQUFDLENBQUMsQUw3SUtnSCxDSzZJSixBTDdJSSxDSzZJSCxDQUFDLENBQUMsQUw3SVFBLENLNklQLEFMN0lPLENLNklOLEFMekxFLENLeUxELENBQUMsQUw1SWpCO0FLNklELENBQUMsQ0FBQyxBTDdJRDtBSzhJRCxBTDdJQSxDSzZJQztBQUNELEFIN0xBLENHNkxDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSDdMQTZLLENHNkxDLENBQUMsQUg3TGM5QixDRzZMYixBSDdMYSxDRzZMWixDQUFDO0FBQ2QsQ0FBQyxDQUFDLEFINUxELENHNExFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIN0xSLENHNkxTLENBQUMsQ0FBQyxDQUFDLENBQUMsQUg3TFJuSCxDRzZMUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUg3THZCLENHNkx3QixDQUFDLENBQUMsQUg3TFIsQ0c2TFMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUg5TG9CLENHOExuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSDlMbUJtSCxDRzhMbEIsQUg5TGtCLENHOExqQixBSDlMdUI3TixDRzhMdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUg5THVCO0FHK0wzQyxDQUFDLENBQUMsQUgvTHlDLENHK0x4QyxDQUFDLENBQUMsQUg5TEc2TixDRzhMRixBSDlMRSxDRzhMRCxBSDlMTzFMLENHOExOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUg3TGY7QUc4TEEsQUg5TEE7QUcrTEEsQUh0TEEsQ0dzTEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdExBeU4sQ0dzTEMsQ0FBQyxBSHRMSy9CLENHc0xKLEFIdExJLENHc0xILENBQUM7QUFDZCxDQUFDLENBQUMsQUh0TEQsQ0dzTEUsQ0FBQyxDQUFDLENBQUMsQUh0TEMvSSxDR3NMQSxBSHRMQSxDR3NMQyxDQUFDLENBQUMsQUh0TEssQ0dzTEosQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdExDa0osQ0dzTEEsQUh0TEEsQ0dzTEMsQ0FBQyxDQUFDLEFIdExTSCxDR3NMUixBSHRMUSxDR3NMUCxBSHRMYVEsQ0dzTFosQUh0TFk7QUd1THZCLENBQUMsQ0FBQyxBSHJMRHZKLENHcUxFLEFIckxGLENHcUxHLEFIckxHaUIsQ0dxTEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHJMakIsQ0dxTGtCLENBQUMsQ0FBQyxBSHJMRyxDR3FMRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHJMRm9JLENHcUxHLEFIckxILENHcUxJLEFIckxHLENHcUxGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHJMR3JKLENHcUxGLEFIckxFLENHcUxELEFIckxPd0UsQ0dxTE4sQUhyTE0sQ0dxTEwsQ0FBQyxDQUFDLEFIcExoQnhFLENHb0xpQixBSHBMakIsQ0dvTGtCLEFIcExad0UsQ0dvTGEsQUhwTGIsQ0dvTGMsQ0FBQyxDQUFDLEFIcExSLENHb0xTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSG5MNUJ4RSxDR21MNkIsQUhuTDdCLENHbUw4QixBSG5MeEJ1SixDR21MeUIsQUhuTHpCLENHbUwwQixDQUFDLENBQUMsQUhuTGYsQ0dtTGdCLENBQUMsQ0FBQyxDQUFDLEFIbEx2QztBR21MRCxDQUFDLENBQUMsQUhuTEQsQ0dtTEUsQ0FBQyxDQUFDLEFIL0tBdkosQ0crS0MsQUgvS0QsQ0crS0UsQUgvS0l1SixDRytLSCxBSC9LRyxDRytLRixDQUFDLENBQUMsQ0FBQyxBSC9LYXZKLENHK0taLEFIL0tZLENHK0tYLEFIL0tpQnVKLENHK0toQixBSC9LZ0IsQ0crS2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSC9LMEJMLENHK0t6QixBSC9LeUIsQ0crS3hCLENBQUMsQ0FBQyxDQUFDLEFIOUt2QmxKLENHOEt3QixBSDlLeEIsQ0c4S3lCLEFIOUtuQmlCLENHOEtvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIOUt2QyxDRzhLd0MsQ0FBQyxDQUFDLENBQUMsQUgzSzdDakIsQ0cySzhDLEFIM0s5QyxDRzJLK0MsQUgzS3pDd0UsQ0cySzBDLEFIM0sxQyxDRzJLMkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSDFLekR4RSxDRzBLMEQsQUgxSzFELENHMEsyRCxBSDFLckR1SixDRzBLc0QsQUgxS3RELENHMEt1RCxDQUFDLENBQUMsQUgxSzVDTCxDRzBLNkMsQUgxSzdDLENHMEs4QyxDQUFDLEFIdktsRWxKLENHdUttRSxBSHZLbkUsQ0d1S29FLEFIdks5RHdFLENHdUsrRCxBSHZLL0QsQ0d1S2dFLENBQUMsQ0FBQyxBSHZLMUQ7QUd3S2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh2S0R0QyxDR3VLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktULENHdUtVLENBQUMsQUh2S0QsQ0d1S0U7QUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktEQyxDR3VLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHZLWCxDR3VLWSxDQUFDLEFIdktEK0csQ0d1S0UsQUh2S0Y7QUd3S2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHZLRDlHLENHdUtFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktYLENHdUtZLENBQUMsQUh2S0QsQ0d1S0UsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktEQyxDR3VLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktULENHdUtVLENBQUMsQUh2S0QsQ0d1S0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktWQSxDR3VLVyxBSHZLWCxDR3VLWSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIeEtLLENHd0tKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHhLUTtBR3lLdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHpLbUIsQ0d5S2xCO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHhLRGpELENHd0tFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh4S1osQ0d3S2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHhLdkJBLENHd0t3QixBSHhLWjJKLENHd0thLEFIeEtiLENHd0tjLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh4S0YsQ0d3S0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHhLRjNHLENHd0tHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIeEtaLENHd0thLEFIeEtGNUIsQ0d3S0csQ0FBQyxDQUFDLENBQUMsQUh4S04sQ0d3S08sQUh4S0Z1SSxDR3dLRyxBSHhLSCxDR3dLSSxDQUFDLENBQUMsQUh2SzNCL0ksQ0d1SzRCLEFIdks1QixDR3VLNkIsQUh2S3ZCdUosQ0d1S3dCLEFIdkt4QixDR3VLeUIsQUh2S2RuSyxDR3VLZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdkt6QixDR3VLMEIsQUh2S2QySixDR3VLZSxBSHZLZixDR3VLZ0IsQUh0SzlDO0FHdUtILENBQUMsQ0FBQyxDQUFDLENBQUMsQUh2S0QsQ0d1S0U7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktEekcsQ0d1S0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktiLENHdUtjLENBQUMsQUh2S0gsQ0d1S0ksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktaQSxDR3VLYSxBSHZLWnlHLENHdUthLEFIdktiLENHdUtjLENBQUMsQUh2S1JDLENHdUtTLEFIdktULENHdUtVLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh2S0YsQ0d1S0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHZLRjVHLENHdUtHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdktaLENHdUthLEFIdktGNUIsQ0d1S0csQ0FBQyxDQUFDLENBQUMsQUh2S04sQ0d1S08sQUh2S0Z1SSxDR3VLRyxBSHZLSCxDR3VLSSxDQUFDLENBQUMsQUh0SzNCL0ksQ0dzSzRCLEFIdEs1QixDR3NLNkIsQUh0S3ZCdUosQ0dzS3dCLEFIdEt4QixDR3NLeUIsQUh0S2RqSCxDR3NLZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh0SzFCLENHc0syQixBSHRLZHlHLENHc0tlLEFIdEtmLENHc0tnQixDQUFDLEFIdEtWQyxDR3NLVyxBSHRLWCxDR3NLWSxBSHJLbEQ7QUdzS0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHRLRCxDR3NLRTtBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh0S0R4RyxDR3NLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdEtaLENHc0thLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh0S3ZCQSxDR3NLd0IsQUh0S1p1RyxDR3NLYSxBSHRLYixDR3NLYyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdEtGLENHc0tHLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh0S0YzRyxDR3NLRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHRLWixDR3NLYSxBSHRLRkssQ0dzS0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdEtSLENHc0tTLEFIdEtGLENHc0tHLENBQUMsQ0FBQyxDQUFDLENBQUMsQUh0S0ZMLENHc0tHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIdEtaLENHc0thLEFIdEtGTSxDR3NLRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHRLVCxDR3NLVSxBSHRLRnFHLENHc0tHLEFIdEtILENHc0tJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHRLRSxDR3NLRCxDQUFDLENBQUMsQUh0S0UsQ0dzS0QsQ0FBQyxDQUFDLENBQUMsQUhySy9EL0ksQ0dxS2dFLEFIcktoRSxDR3FLaUUsQUhySzNEdUosQ0dxSzRELEFIcks1RCxDR3FLNkQsQUhyS2xEL0csQ0dxS21ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUhySzdELENHcUs4RCxBSHJLbER1RyxDR3FLbUQsQUhyS25ELENHcUtvRCxBSHBLbEY7QUdxS0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSHJLRDtBR3NLSCxDQUFDLENBQUMsQUh0S0MsQ0dzS0EsQ0FBQyxDQUFDLENBQUMsQUhqS0xNLENHaUtNLEFIaktOLENHaUtPLEFIaEtOTCxDR2dLTyxBSGhLUCxDR2dLUSxBSGhLTTZCLENHZ0tMLEFIaEtLLENHZ0tKLENBQUMsQUhoS29CO0FHaUtqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFIaksrQjNQLENHaUs5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSGpLd0IsQ0dpS3ZCLENBQUMsQUhqSytCOEUsQ0dpSzlCLEFIaks4QixDR2lLN0IsQUhqS21DOUUsQ0dpS2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQUhsS2dELENHa0svQyxDQUFDLENBQUMsQUhsS3dENk4sQ0drS3ZELEFIbEt1RCxDR2tLdEQsQUhsSzJENUosQ0drSzFELENBQUMsQ0FBQyxBSGxLd0QsQ0drS3ZELENBQUMsQ0FBQyxBSGpLWGEsQ0dpS1ksQUhqS1osQ0dpS2EsQUhqS1B3RSxDR2lLUSxBSGpLUixDR2lLUyxBSC9KakI7QUdnS0EsQUhoS0E7QUdpS0EsQUgxSmdCLENHMEpmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSDFKT3VHLENHMEpOLENBQUMsQUgxSmtCaEMsQ0cwSmpCLEFIMUppQixDRzBKaEIsQ0FBQyxBSDFKc0IvSSxDRzBKckIsQUgxSnFCLENHMEpwQixDQUFDO0FBQ2pCLENBQUMsQ0FBQyxBSDFKRCxDRzBKRSxDQUFDLENBQUMsQ0FBQyxBSDFKQ2tKLENHMEpBLEFIMUpBLENHMEpDLENBQUMsQ0FBQyxBSDFKRUYsQ0cwSkQsQUgxSkMsQ0cwSkEsQUgxSmM4QixDRzBKYixBSDFKYSxDRzBKWixDQUFDLEFIMUptQjtBRzJKbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSDNKZ0MzTCxDRzJKL0IsQ0FBQyxDQUFDLEFIM0o2QixDRzJKNUIsQ0FBQyxBSDNKbUM0SixDRzJKbEMsQUgzSmtDO0FHNEo1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFINUorQ1EsQ0c0SjlDLEFINUo4QyxDRzRKN0MsQ0FBQyxBSDVKd0R2SjtBRzZKL0QsQ0FBQyxDQUFDLEFIN0o2RCxDRzZKNUQsQ0FBQztBQUNKLENBQUMsQ0FBQyxBSDVKRCxDRzRKRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBSDdKUmtKLENHNkpTLEFIN0pULENHNkpVLEFIN0pQckcsQ0c2SlEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUg3SnBCLENHNkpxQixDQUFDLENBQUMsQUg3SlA3QyxDRzZKUSxBSDdKUixDRzZKUyxDQUFDLEFINUp0QmtKLENHNEp1QixBSDNKL0I7QUc0SkEsQUg1SkE7QUc2SkEsQUg3SkEsQ0c2SkMsQUw5S0R3QixDSzhLRSxBTDlLRixDSzhLRyxBTDlLVTFPLENLOEtULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDlLQyxDSzhLQSxDQUFDLENBQUMsQUw5S1UsQ0s4S1QsQ0FBQyxDQUFDLENBQUMsQUw5S1UrTSxDSzhLVCxBTDlLUyxDSzhLUixDQUFDLENBQUMsQ0FBQyxBTDVLRnRKLENLNEtHLENBQUMsQ0FBQyxBTDVLTCxDSzRLTSxDQUFDLENBQUMsQUw1S00sQ0s0S0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUw1S01zSixDSzRLTCxBTDVLSyxDSzRLSixDQUFDO0FBQzNDLENBQUMsQ0FBQyxBTDVLRCxDSzRLRSxDQUFDLENBQUMsQ0FBQyxBTDVLQ0MsQ0s0S0EsQUw1S0EsQ0s0S0MsQ0FBQyxDQUFDLEFMNUtJLENLNEtILENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDVLR2hKLENLNEtGLEFMNUtFLENLNEtELENBQUMsQ0FBQyxBTDVLV3dLLENLNEtWLEFMNUtVLENLNEtULEFMNUttQnhCLENLNEtsQixBTDVLa0IsQ0s0S2pCLEFMNUtxQjdKLENLNEtwQixDQUFDLENBQUMsQUw1S2tCLENLNEtqQjtBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFMM0tDK0osQ0syS0EsQUwzS0EsQ0syS0MsQ0FBQyxDQUFDLEFMM0tJRixDSzJLSCxBTDNLRyxDSzJLRixBTDNLTzJCLENLMktOLEFMM0tNLENLMktMLEFMM0tVNUgsQ0syS1QsQ0FBQyxDQUFDLEFMM0tPLENLMktOLEFMM0tVZ0csQ0syS1QsQUwzS1MsQ0syS1I7QUFDbEIsQ0FBQyxDQUFDLEFMektELENLeUtFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMM0tSRyxDSzJLUyxBTDNLVCxDSzJLVSxBTHZPYSxDS3VPWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUx6S1QsQ0t5S1UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUx6S25CRSxDS3lLb0IsQUx6S3BCLENLeUtxQixDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUx6S0YsQ0t5S0csQ0FBQyxDQUFDLENBQUMsQUx6S0FDLENLeUtDLEFMektELENLeUtFLENBQUMsQ0FBQyxBTHpLZSxDS3lLZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUx6S01wRyxDS3lLTCxBTHpLSyxDS3lLSixDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMektFK0YsQ0t5S0QsQUx6S0MsQ0t5S0EsQUx6S0tqUSxDS3lLSixDQUFDLENBQUMsQ0FBQyxDQUFDLEFMektBLENLeUtDLEFMektLMEksQ0t5S0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTHpLTixDS3lLTyxDQUFDLENBQUMsQ0FBQyxBTHBLekJ5SCxDS29LMEIsQUxwSzFCLENLb0syQixBTHBLdEIxSSxDS29LdUIsQ0FBQyxDQUFDLENBQUMsQUxwSzFCLENLb0syQixBTHBLdEI0SSxDS29LdUIsQUxwS3ZCLENLb0t3QixDQUFDLENBQUMsQUxuS3BDd0IsQ0ttS3FDLEFMbktyQyxDS21Lc0MsQUxuSzlCNUIsQ0ttSytCLEFMbksvQixDS21LZ0MsQ0FBQyxBTG5LM0JELENLbUs0QixBTG5LNUIsQ0ttSzZCLENBQUMsQUxuS3ZCRyxDS21Ld0IsQUxuS3hCLENLbUt5QixDQUFDLENBQUMsQ0FBQyxDQUFDLEFMdEtsREUsQ0tzS21ELEFMdEtuRCxDS3NLb0QsQ0FBQyxBTGpLdkQ7QUtrS0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTGxLRixDS2tLRztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxsS0VwSixDS2tLRCxBTGxLQyxDS2tLQSxDQUFDLENBQUMsQUxqS0xBLENLaUtNLEFMaktOLENLaUtPLEFMaktHcUosQ0tpS0YsQUxqS0UsQ0tpS0QsQ0FBQyxDQUFDLENBQUMsQUwvSlpBLENLK0phLEFML0piLENLK0pjLENBQUMsQUw3SmpCO0FLOEpELENBQUMsQ0FBQyxBTDlKRCxDSzhKRSxBTDdKSDtBSzhKQSxBTDlKQSxDSzhKQyxDQUFDLENBQUMsQUw1SkhxQixDSzRKSSxBTDVKSixDSzRKSyxBTDVKUTFPLENLNEpQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDVKRCxDSzRKRSxBTDVKUW1CLENLNEpQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDVKRSxDSzRKRCxDQUFDLENBQUMsQUw1SlEsQ0s0SlAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUw1SlE0TCxDSzRKUCxBTDVKTyxDSzRKTixDQUFDO0FBQ3JDLENBQUMsQ0FBQyxBTDVKRCxDSzRKRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMNUpEL1AsQ0s0SkUsQUw1SkYsQ0s0SkcsQ0FBQyxDQUFDLEFMNUpHLENLNEpGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDNKaEIsQ0sySmlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUwzSmhCMlIsQ0sySmlCLEFMM0pqQixDSzJKa0IsQ0FBQyxDQUFDLEFMM0piLENLMkpjLENBQUMsQ0FBQyxDQUFDLEFMM0piekgsQ0sySmMsQ0FBQyxDQUFDLEFMM0poQixDSzJKaUIsQ0FBQztBQUNuQyxDQUFDLENBQUMsQUwxSkQsQ0swSkUsQ0FBQyxDQUFDLENBQUMsQUwxSkM4RixDSzBKQSxBTDFKQSxDSzBKQyxDQUFDLENBQUMsQUwxSlFFLENLMEpQLEFMMUpPLENLMEpOLEFMMUptQkgsQ0swSmxCLEFMMUprQixDSzBKakIsQUwxSnVCMUwsQ0swSnRCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUwxSmUsQ0swSmQ7QUFDdkIsQ0FBQyxDQUFDLEFMMUpHMEwsQ0swSkYsQUwxSkUsQ0swSkQsQUwxSk90SCxDSzBKTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMMUpKLENLMEpLLENBQUMsQ0FBQyxDQUFDLEFMMUpnQyxDSzBKL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDFKRHNILENLMEpFLEFMMUpGLENLMEpHLEFMMUpHdEgsQ0swSkYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDFKUixDSzBKUyxBTDFKRyxDSzBKRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUx0SjdDdUgsQ0tzSjhDLEFMdEo5QyxDS3NKK0MsQUx0SnRDN0YsQ0tzSnVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMdEo3QyxDS3NKOEMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQUxuSkQsQ0ttSkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTG5KRCxDS21KRSxDQUFDLENBQUMsQ0FBQyxBTG5KRG5ELENLbUpFLEFMbkpGLENLbUpHLENBQUMsQ0FBQyxBTG5KRGdKLENLbUpFLEFMbkpGLENLbUpHLEFMbkpNckwsQ0ttSkwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMbkpBLENLbUpDLENBQUMsQUxuSk1xQyxDS21KTCxBTG5KSyxDS21KSixDQUFDLENBQUMsQ0FBQyxDQUFDLEFMdkk3QixDS3VJOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTHZJN0IySyxDS3VJOEIsQUx2STlCLENLdUkrQixBTHZJMUJ2SCxDS3VJMkIsQ0FBQyxDQUFDLEFMdkk3QixDS3VJOEIsQUx2STFCNEYsQ0t1STJCLEFMdkkzQixDS3VJNEIsQUx2SW5CaEosQ0t1SW9CLEFMdklwQixDS3VJcUIsQ0FBQyxDQUFDLEFMdklsQixDS3VJbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTHZJbEJoSCxDS3VJbUIsQUx2SW5CLENLdUlvQixDQUFDLENBQUMsQUx2SWQsQ0t1SWUsQUx2SWQsQ0t1SWUsQ0FBQyxDQUFDLEFMdklkLENLdUllLENBQUMsQ0FBQyxBTHZJZCxDS3VJZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMdklkQSxDS3VJZSxBTHZJZixDS3VJZ0IsQ0FBQztBQUN4RSxDQUFDLENBQUMsQUx0SUQsQ0tzSUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUx0SUQrUCxDS3NJRSxBTHRJRixDS3NJRyxBTHRJRzFMLENLc0lGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxySW5CO0FLc0lBLEFMdElBLENLc0lDLENBQUMsQ0FBQyxBTHBJSHFOLENLb0lJLEFMcElKLENLb0lLLEFMcElRMU8sQ0tvSVAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMcElELENLb0lFLEFMcElRcUgsQ0tvSVAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMcElWLENLb0lXLENBQUMsQ0FBQyxBTG5JbkNxSCxDS21Jb0MsQUxuSXBDLENLbUlxQyxBTG5JeEIxTyxDS21JeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMbklqQyxDS21Ja0MsQUxuSXhCc0gsQ0ttSXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUxuSXpDLENLbUkwQyxDQUFDLENBQUMsQUxuSXhCLENLbUl5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyxDQUFDLEFMcEkwQyxDS29JekMsQ0FBQyxDQUFDLENBQUMsQUxwSWtEeUYsQ0tvSWpELEFMcElpRCxDS29JaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQUw5SEEsQ0s4SEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBTDlIQTRCLENLOEhDLEFMOUhELENLOEhFLEFMOUhHbE4sQ0s4SEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUw5SEosQ0s4SEssQUw5SEcsQ0s4SEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUw5SE51TCxDSzhITyxBTDlIUCxDSzhIUSxDQUFDLEFMOUhIaEosQ0s4SEksQUw5SEosQ0s4SEssQ0FBQztBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFMOUhENEssQ0s4SEUsQUw5SEYsQ0s4SEcsQUw5SEs3QixDSzhISixBTDlISSxDSzhISCxDQUFDLEFMOUhRL0ksQ0s4SFAsQUw5SE8sQ0s4SE4sQ0FBQyxBTDlIWWdKLENLOEhYLEFMOUhXLENLOEhWLEFMN0haO0FLOEhGLENBQUMsQ0FBQyxBTDlIQSxDSzhIQyxDQUFDLEFMN0hIO0FLOEhELEFMOUhDLENLOEhBO0FBQ0QsQUZsT2EsQ0VrT1osQ0FBQyxDQUFDLENBQUMsQUZsT1NnQyxDRWtPUixBRmxPUSxDRWtPUCxDQUFDLENBQUMsQUZqT1csQ0VpT1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZqT3JCcE8sQ0VpT3NCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmpPM0IsQ0VpTzRCLENBQUMsQ0FBQyxDQUFDLEFGak9OQSxDRWlPTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZqT1osQ0VpT2EsQUZqT05DLENFaU9PLENBQUMsQ0FBQyxBRmpPVCxDRWlPVSxDQUFDLENBQUMsQ0FBQyxBRmpPTkQsQ0VpT08sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGak9aLENFaU9hLEFGak9OQyxDRWlPTyxDQUFDLENBQUMsQUZqT1QsQ0VpT1UsQUZqT04sQ0VpT08sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmhPcEYsQ0VnT3FGLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUYsQ0FBQyxDQUFDLEFGL05Jb08sQ0UrTkgsQUYvTkcsQ0UrTkYsQ0FBQyxDQUFDLEFGOU5MLENFOE5NLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuUyxDQUFDLENBQUMsQUY5TklDLENFOE5ILEFGOU5HLENFOE5GLENBQUMsQ0FBQyxBRjlOUyxDRThOUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQUY5TklDLENFOE5ILEFGOU5HLENFOE5GLENBQUMsQ0FBQyxBRjlOZ0IsQ0U4TmYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQUY5TklDLENFOE5ILEFGOU5HLENFOE5GLENBQUMsQ0FBQyxBRjlONkIsQ0U4TjVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGOU5ObEssQ0U4Tk8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjlOZDtBRStOdEIsQ0FBQyxDQUFDLEFGMU5JbUssQ0UwTkgsQUYxTkcsQ0UwTkYsQ0FBQyxDQUFDLEFGMU5vQixDRTBObkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMU5XekgsQ0UwTlYsQUYxTlVtRixDRTBOVCxBRjFOUyxDRTBOUixDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYxTkgsQ0UwTkksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjFOTyxDRTBOTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjFOekJuTSxDRTBOMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMU4vQixDRTBOZ0MsQ0FBQyxDQUFDLENBQUMsQUYxTlMsQ0UwTlIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYxTnRCQSxDRTBOdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMU41QixDRTBONkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnpOdEUsQ0V5TnVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGeE50RixDRXdOdUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZOckdpSCxDRXVOc0csQ0FBQyxDQUFDLENBQUMsQUZ2TnpHLENFdU4wRyxBRnZOckdrRixDRXVOc0csQUZ2TnRHLENFdU51RyxBRnZObEc7QUV3TmIsQ0FBQyxDQUFDLEFGeE5XLENFd05WO0FBQ0gsQUZsTGdCLENFa0xmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmxMT3VDLENFa0xOLENBQUMsQ0FBQyxBRmxMV3ZDLENFa0xWLEFGbExVLENFa0xULENBQUMsQUZsTGVDLENFa0xkLEFGbExjLENFa0xiLENBQUMsQUZsTG9CaEosQ0VrTG5CLEFGbExtQixDRWtMbEIsQ0FBQztBQUNyQixDQUFDLENBQUMsQUZ6S0QsQ0V5S0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZoTGdCLENFZ0xmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZoTFpnSixDRWdMYSxBRmhMYixDRWdMYyxBRmhMUnpLLENFZ0xTLENBQUMsQ0FBQyxBRmhMWCxDRWdMWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0t6QnlLLENFK0swQixBRi9LMUIsQ0UrSzJCLEFGL0twQmhGLENFK0txQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0svQixDRStLZ0MsQ0FBQyxDQUFDLEFGL0twQixDRStLcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVLL0NxRixDRTRLZ0QsQUY1S2hELENFNEtpRCxBRjVLcENOLENFNEtxQyxBRjVLckMsQ0U0S3NDLENBQUMsQUY1S2hDQyxDRTRLaUMsQUY1S2pDLENFNEtrQyxDQUFDLENBQUMsQUYzS2pDLENFMktrQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS2xFaEosQ0UyS21FLEFGM0tuRSxDRTJLb0UsQ0FBQyxDQUFDLENBQUMsQUYzSy9DQSxDRTJLZ0QsQUYzS2hELENFMktpRCxDQUFDLENBQUMsQ0FBQyxBRnpLaEYrSSxDRXlLaUYsQUZ6S2pGLENFeUtrRixDQUFDLENBQUMsQUZ6SzVFQSxDRXlLNkUsQUZ6SzdFLENFeUs4RSxBRnpLekV6SyxDRXlLMEUsQ0FBQyxDQUFDLEFGeks1RSxDRXlLNkUsQ0FBQyxDQUFDLEFGektqRSxDRXlLa0UsQ0FBQyxDQUFDLENBQUMsQUZ4S3hHO0FFeUtBLEFGektBO0FFMEtBLEFGeEtnQixDRXdLZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ4S09pTixDRXdLTixDQUFDLENBQUMsQUZ4S1l4QyxDRXdLWCxBRnhLVyxDRXdLVixDQUFDLEFGeEtnQkMsQ0V3S2YsQUZ4S2UsQ0V3S2QsQ0FBQyxBRnhLcUJoSixDRXdLcEIsQUZ4S29CLENFd0tuQixDQUFDO0FBQ3JCLENBQUMsQ0FBQyxBRnJLRCxDRXFLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnhLUmhILENFd0tTLEFGeEtULENFd0tVLEFGeEtJK1AsQ0V3S0gsQUZ4S0csQ0V3S0YsQ0FBQyxBRnhLUUMsQ0V3S1AsQUZ4S08sQ0V3S04sQ0FBQyxDQUFDLEFGdktNLENFdUtMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZLM0JoSixDRXVLNEIsQUZ2SzVCLENFdUs2QixDQUFDLENBQUMsQ0FBQyxBRnZLUkEsQ0V1S1MsQUZ2S1QsQ0V1S1UsQ0FBQyxDQUFDLENBQUMsQUZyS3pDK0ksQ0VxSzBDLEFGcksxQyxDRXFLMkMsQ0FBQyxDQUFDLEFGcktyQ0EsQ0VxS3NDLEFGckt0QyxDRXFLdUMsQUZyS2xDekssQ0VxS21DLENBQUMsQ0FBQyxBRnJLckMsQ0VxS3NDLENBQUMsQ0FBQyxBRnJLMUIsQ0VxSzJCLENBQUMsQ0FBQyxDQUFDLEFGcEtqRTtBRXFLQSxBRnJLQTtBRXNLQSxBRjVOQXlLLENFNE5DLEFGNU5ELENFNE5FLEFGNU5RL00sQ0U0TlAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGNU5ELENFNE5FLEFGNU5RQyxDRTROUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVOUixDRTROUyxDQUFDLENBQUMsQUY1TlEsQ0U0TlAsQ0FBQyxDQUFDLENBQUMsQUZuTm5DLENFbU5vQyxBRmxObkMsQ0VrTm9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGak56RCxDRWlOMEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmhOdEYsQ0VnTnVGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYvTTVHd0IsQ0UrTTZHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01uSCxDRStNb0gsQUYvTTVHLENFK002RyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NdEh1TCxDRStNdUgsQUYvTXZILENFK013SCxDQUFDO0FBQ25JLENBQUMsQ0FBQyxBRi9NRDNFLENFK01FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NUCxDRStNUSxBRi9NREMsQ0UrTUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NZixDRStNZ0IsQUYvTUR5RSxDRStNRSxBRi9NRixDRStNRyxBRi9NTy9NLENFK01OLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NRixDRStNRyxDQUFDLEFGL01PZ04sQ0UrTU4sQUYvTU0sQ0UrTUwsQ0FBQyxBRi9NUztBRWdOakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NRnpFLENFK01HLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NZCxDRStNZSxDQUFDLENBQUMsQUYvTUgsQ0UrTUk7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NRnhCLENFK01HLENBQUMsQ0FBQyxBRi9NTCxDRStNTSxDQUFDLEFGL01KLENFK01LLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NYkEsQ0UrTWMsQUYvTWQsQ0UrTWUsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NSCxDRStNSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NSCxDRStNSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01ILENFK01JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NSGlHLENFK01JLEFGL01KLENFK01LLEFGOU05QjtBRStNRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01GLENFK01HO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NRjVGLENFK01HLENBQUMsQ0FBQyxBRi9NTCxDRStNTSxDQUFDLEFGL01KLENFK01LLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NYkEsQ0UrTWMsQUYvTWIyRixDRStNYyxBRi9NZCxDRStNZSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01IMUUsQ0UrTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01ULENFK01VLEFGL01IQyxDRStNSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01qQixDRStNa0IsQUYvTUgsQ0UrTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01IMEUsQ0UrTUksQUYvTUosQ0UrTUssQ0FBQyxBRi9NRDtBRWdOcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01KekUsQ0UrTUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01oQixDRStNaUIsQ0FBQyxDQUFDLEFGL01MLENFK01NO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NSkUsQ0UrTUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NWixDRStNYSxDQUFDLENBQUMsQUYvTUwsQ0UrTU07QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01KbEwsQ0UrTUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9NVCxDRStNVSxDQUFDLEFGL01Kd1A7QUVnTlgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZoTkssQ0VnTkosQ0FBQyxBRjlNTjtBRStNRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL01GO0FFZ05GLENBQUMsQ0FBQyxBRmhOQSxDRWdOQyxDQUFDLEFGOU1KO0FFK01BLEFGL01BLENFK01DLENBQUM7QUFDRixBRm5MQSxDRW1MQyxDQUFDLENBQUMsQ0FBQyxBRm5MQXlDLENFbUxDLENBQUMsQUZuTEYsQ0VtTEcsQ0FBQyxDQUFDLEFGbkxVeEwsQ0VtTFQsQUZuTFMsQ0VtTFIsQUZuTGdCMkUsQ0VtTGYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRm5MVztBRW9MM0IsQUYxS0EsQ0UwS0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMUtBOEcsQ0UwS0MsQ0FBQyxDQUFDLEFGMUtILENFMEtJLENBQUMsQ0FBQyxBRjFLRTtBRTJLakIsQUZ6S0EsQ0V5S0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGektBQyxDRXlLQyxDQUFDLENBQUMsQUZ6S0gsQ0V5S0ksQ0FBQztBQUNkLENBQUMsQ0FBQyxBRnpLRCxDRXlLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnpLRyxDRXlLRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGektENUcsQ0V5S0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGeEsxQjtBRXlLQSxBRnpLQTtBRTBLQSxBRnhLQSxDRXdLQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ4S0E2RyxDRXdLQyxDQUFDLENBQUMsQUZ4S0gsQ0V3S0ksQ0FBQztBQUNkLENBQUMsQ0FBQyxBRnhLRCxDRXdLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnhLRCxDRXdLRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGeEtEM0csQ0V3S0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ2SzlCO0FFd0tBLEFGeEtBO0FFeUtBLEFGMUxBaEYsQ0UwTEMsQUYxTEQsQ0UwTEUsQUYxTE0yRSxDRTBMTCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMUxDLENFMExBLENBQUMsQ0FBQyxBRjFMTSxDRTBMTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjFMSm9FLENFMExLLEFGMUxMLENFMExNLENBQUM7QUFDdkIsQ0FBQyxDQUFDLEFGckxELENFcUxFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMUxKeUMsQ0UwTEssQ0FBQyxBRjFMTixDRTBMTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMUxHekMsQ0UwTEYsQUYxTEUsQ0UwTEQsQ0FBQyxDQUFDLEFGMUxHeUMsQ0UwTEYsQ0FBQyxBRjFMQyxDRTBMQSxBRjFMYXpDLENFMExaLEFGMUxZLENFMExYLENBQUMsQ0FBQyxDQUFDLEFGeEwzQkEsQ0V3TDRCLEFGeEw1QixDRXdMNkIsQUZ4TDNCOUQsQ0V3TDRCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGeExsQyxDRXdMbUMsQ0FBQyxDQUFDLEFGeEwzQndHLENFd0w0QixDQUFDLEFGeEw3QixDRXdMOEIsQ0FBQyxBRnZMM0MxQyxDRXVMNEMsQUZ2TDVDLENFdUw2QyxBRnZMM0NsRSxDRXVMNEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZML0QsQ0V1TGdFLENBQUMsQ0FBQyxBRnZMM0M2RyxDRXVMNEMsQ0FBQyxBRnZMN0MsQ0V1TDhDLENBQUMsQUZ0THhFM0MsQ0VzTHlFLEFGdEx6RSxDRXNMMEUsQUZ0THhFaEUsQ0VzTHlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnRMMUYsQ0VzTDJGLENBQUMsQ0FBQyxBRnRMeEU0RyxDRXNMeUUsQ0FBQyxBRnRMMUUsQ0VzTDJFLENBQUMsQUZyTDNGNUMsQ0VxTDRGLEFGckw1RixDRXFMNkYsQUZyTDNGN0QsQ0VxTDRGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZyTHRHLENFcUx1RyxDQUFDLENBQUMsQUZyTDNGNkQsQ0VxTDRGLEFGcExySDtBRXFMQSxBRnJMQSxDRXFMQztBQUNELEFGMUtBLENFMEtDLENBQUMsQ0FBQyxDQUFDLEFGdENBNkMsQ0VzQ0MsQ0FBQyxBRnRDRjtBRXVDSixDQUFDLENBQUMsQUYzS0lDLENFMktILENBQUMsQUYzS0UsQ0UyS0QsQ0FBQyxDQUFDLEFGM0ttQztBRTRLMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNLSHhHLENFMktJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tiLENFMktjLENBQUMsQ0FBQyxBRjNLSixDRTJLSztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tIZCxDRTJLSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS2YsQ0UyS2dCLENBQUMsQ0FBQyxBRjNLSixDRTJLSztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tIeEIsQ0UyS0ksQ0FBQyxDQUFDLEFGM0tOLENFMktPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS2pCQSxDRTJLa0IsQUYzS2xCLENFMkttQixDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tKLENFMktLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tBLENFMktDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS0p1QyxDRTJLSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMUt0QjtBRTJLRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tIO0FFNEtELENBQUMsQ0FBQyxBRjVLRCxDRTRLRTtBQUNILENBQUMsQ0FBQyxBRjNERXZJLENFMkRELENBQUMsQUYzREEsQ0UyREMsQ0FBQyxDQUFDLEFGM0RZaUQsQ0UyRFgsQUYzRFcsQ0UyRFYsQUYzRGtCdkQsQ0UyRGpCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzRGE7QUU0RDNCLEFGM0RBdUQsQ0UyREMsQUYzREQsQ0UyREUsQUYzRE12RCxDRTJETCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0RDLENFMkRBLENBQUMsQ0FBQyxBRjNETSxDRTJETCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNESnNNLENFMkRLLEFGM0RMLENFMkRNLENBQUM7QUFDdkIsQ0FBQyxDQUFDLEFGMUR5QixDRTBEeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYxRFRBLENFMERVLEFGMURWLENFMERXLEFGMURMck0sQ0UwRE0sQ0FBQyxDQUFDLENBQUMsQUYxRFQsQ0UwRFUsQ0FBQyxDQUFDLENBQUMsQUY1Sy9CLENFNEtnQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVLakJxTSxDRTRLa0IsQUY1S2xCLENFNEttQixDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1S0gsQ0U0S0ksQ0FBQyxDQUFDLENBQUMsQUY1S0hDLENFNEtJLEFGNUtKLENFNEtLLENBQUMsQ0FBQyxBRjVLQ0QsQ0U0S0EsQUY1S0EsQ0U0S0MsQUY1S0toUSxDRTRLSixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGNUtBO0FFNktuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVLSmlILENFNEtLLEFGNUtMLENFNEtNLENBQUMsQ0FBQyxBRjVLRCtJLENFNEtFLEFGNUtGLENFNEtHLEFGNUtHck0sQ0U0S0YsQ0FBQyxDQUFDLENBQUMsQUY1S0Q7QUU2S2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1S0owTSxDRTRLSyxBRjVLTCxDRTRLTSxDQUFDLENBQUMsQUY1S1UsQ0U0S1QsQUY1S1csQ0U0S1Y7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNLREMsQ0UyS0UsQUYzS0YsQ0UyS0csQ0FBQyxDQUFDLENBQUMsQUYzS21DLENFMktsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS01ySixDRTJLTCxBRjNLSyxDRTJLSixBRjNLUzBDLENFMktSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0tFLENFMktELEFGM0tTLENFMktSLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS0gsQ0UyS0ksQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNLSCxDRTJLSSxDQUFDLENBQUMsQ0FBQyxBRjNLSDFKLENFMktJLEFGM0tKLENFMktLLENBQUMsQ0FBQyxDQUFDLEFGM0tIZ1EsQ0UyS0ksQUYzS0osQ0UyS0ssQ0FBQyxBRjNLQztBRTRLdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzS0osQ0UyS0ssQ0FBQyxDQUFDLENBQUMsQUYzS0poTyxDRTJLSyxBRjNLTCxDRTJLTSxDQUFDLENBQUMsQUYzS0FnTyxDRTJLQyxBRjNLRCxDRTJLRSxBRjNLSWhRLENFMktILEFGM0tHLENFMktGO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGMUtKLENFMEtLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnpLRixDRXlLRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ6S3BCQSxDRXlLcUIsQUZ6S3JCLENFeUtzQixDQUFDLENBQUMsQ0FBQyxBRnpLUixDRXlLUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ6S1JnUSxDRXlLUyxBRnpLVCxDRXlLVSxDQUFDLENBQUMsQ0FBQyxBRnpLSyxDRXlLSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGektaaE8sQ0V5S2EsQUZ6S2IsQ0V5S2MsQ0FBQyxDQUFDLENBQUMsQUZ2SzdEb1EsQ0V1SzhELEFGdks5RCxDRXVLK0QsQ0FBQyxDQUFDLENBQUMsQUZ2S2xELENFdUttRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ2S3ZFcFMsQ0V1S3dFLEFGdkt4RSxDRXVLeUUsQ0FBQyxDQUFDLENBQUMsQUZ2Sy9DLENFdUtnRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ2S3ZFZ0gsQ0V1S3dFLEFGdkt4RSxDRXVLeUUsQ0FBQyxDQUFDLENBQUMsQUZ0S3JHLENFc0tzRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ0S3ZIaEgsQ0VzS3dILEFGdEt4SCxDRXNLeUgsQ0FBQyxDQUFDLENBQUMsQUZyS3RILENFcUt1SCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnJLNUlBLENFcUs2SSxBRnJLN0ksQ0VxSzhJLENBQUMsQ0FBQyxBRjFLako7QUUyS0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0pOLENFK0pPLENBQUMsQ0FBQyxDQUFDLEFGL0pOMlIsQ0UrSk8sQUYvSlAsQ0UrSlEsQ0FBQyxDQUFDLEFGL0pHM1IsQ0UrSkYsQUYvSkUsQ0UrSkQsQUYvSkcyTSxDRStKRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0pSLENFK0pTLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0pJLENFK0pILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0pyQjNNLENFK0pzQixBRi9KdEIsQ0UrSnVCLENBQUMsQ0FBQyxDQUFDLEFGL0pGLENFK0pHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYvSkZnUSxDRStKRyxBRi9KSCxDRStKSSxDQUFDLENBQUMsQ0FBQyxBRi9KaUIsQ0UrSmhCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYvSk5BLENFK0pPLEFGL0pQLENFK0pRLEFGL0pGelAsQ0UrSkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9KUCxDRStKUSxDQUFDLENBQUMsQUY1Si9EUCxDRTRKZ0UsQUY1SmhFLENFNEppRSxDQUFDLENBQUMsQUY1Si9ELENFNEpnRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNKN0QsQ0UySjhELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNKbEZBLENFMkptRixBRjNKbkYsQ0UySm9GLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzSjFELENFMkoyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzSjFFZ0MsQ0UySjJFLEFGM0ozRSxDRTJKNEUsQ0FBQyxDQUFDLEFGcko1R0EsQ0VxSjZHLEFGcko3RyxDRXFKOEcsQ0FBQyxDQUFDLEFGckp4RyxDRXFKeUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnBKNUYsQ0VvSjZGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGcEozSDJQLENFb0o0SCxBRnBKNUgsQ0VvSjZILENBQUMsQ0FBQyxDQUFDLEFGcEp4RixDRW9KeUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGcEozRzNQLENFb0o0RyxBRnBKNUcsQ0VvSjZHLENBQUMsQ0FBQyxBRm5KdkpBLENFbUp3SixBRm5KeEosQ0VtSnlKLENBQUMsQ0FBQyxDQUFDLEFGbkpwSixDRW1KcUosQ0FBQyxDQUFDLENBQUMsQUZsSnBJLENFa0pxSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGbEo5SjJQLENFa0orSixBRmxKL0osQ0VrSmdLLEFGbEpySixDRWtKc0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGbEozSCxDRWtKNEgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmxKckpBLENFa0pzSixBRmxKdEosQ0VrSnVKLEFGbEo1SSxDRWtKNkksQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmpKNUssQ0VpSjZLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZqSi9NQSxDRWlKZ04sQUZqSmhOLENFaUppTixDQUFDLENBQUMsQUZoSnROM1IsQ0VnSnVOLEFGaEp2TixDRWdKd04sQ0FBQyxDQUFDLEFGaEp0TixDRWdKdU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGOUkxTixDRThJMk4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGOUl4UDJSLENFOEl5UCxBRjlJelAsQ0U4STBQLENBQUMsQ0FBQyxDQUFDLEFGN0luUCxDRTZJb1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0l4UTNLLENFNkl5USxBRjdJelEsQ0U2STBRLENBQUMsQ0FBQyxDQUFDLEFGN0loUCxDRTZJaVAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0l4UUEsQ0U2SXlRLEFGN0l6USxDRTZJMFEsQ0FBQyxDQUFDLENBQUMsQUY1SWpTcUwsQ0U0SWtTLEFGNUlsUyxDRTRJbVMsQUY1SWpSckMsQ0U0SWtSLEFGNUlsUixDRTRJbVIsQUY1STdRdE0sQ0U0SThRLENBQUMsQ0FBQyxDQUFDLEFGNUlqUixDRTRJa1IsQ0FBQyxDQUFDLENBQUMsQUZ6SXJSLENFeUlzUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGeklsVGlPLENFeUltVCxBRnpJblQsQ0V5SW9ULENBQUMsQ0FBQyxBRnhJaFUzUixDRXdJaVUsQUZ4SWpVLENFd0lrVSxDQUFDLENBQUMsQUZ4SWhVLENFd0lpVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdkl6VCxDRXVJMFQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ2SXJWMlIsQ0V1SXNWLEFGdkl0VixDRXVJdVYsQ0FBQyxDQUFDLEFGdEluVzNSLENFc0lvVyxBRnRJcFcsQ0VzSXFXLENBQUMsQ0FBQyxBRnRJblcsQ0VzSW9XLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnJJNVdrUyxDRXFJNlcsQUZySTdXLENFcUk4VyxBRnJJdldySCxDRXFJd1csQ0FBQyxDQUFDLENBQUMsQUZySTNXLENFcUk0VyxBRnJJdlc3SyxDRXFJd1csQUZySXhXLENFcUl5VyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZwSXBZQSxDRW9JcVksQUZwSXJZLENFb0lzWSxDQUFDLENBQUMsQUZwSXBZMlIsQ0VvSXFZLEFGcElyWSxDRW9Jc1ksQ0FBQyxDQUFDLENBQUMsQUYxSTdZQSxDRTBJOFksQUYxSTlZLENFMEkrWSxDQUFDLENBQUMsQUYxSXBZM1IsQ0UwSXFZLEFGMUlyWSxDRTBJc1ksQ0FBQyxDQUFDLEFGMUlwWSxDRTBJcVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGbEl4WnFRLENFa0l5WixBRmxJelosQ0VrSTBaLENBQUMsQ0FBQyxDQUFDLEFGbEkxWTRCLENFa0kyWSxBRmxJM1ksQ0VrSTRZLEFGbEloWXBILENFa0lpWSxDQUFDLENBQUMsQ0FBQyxBRmxJcFksQ0VrSXFZLEFGbEloWTdLLENFa0lpWSxBRmxJalksQ0VrSWtZLENBQUMsQ0FBQyxDQUFDLEFGakluYkEsQ0VpSW9iLEFGaklwYixDRWlJcWIsQ0FBQyxDQUFDLEFGakluYkEsQ0VpSW9iLEFGaklwYixDRWlJcWIsQUZqSW5iNE0sQ0VpSW9iLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGakkxYixDRWlJMmIsQUZqSW5idUYsQ0VpSW9iLEFGaklwYixDRWlJcWIsQ0FBQyxBRmpJdmEsQ0VpSXdhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGakl2YXhGLENFaUl3YSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGaklsYixDRWlJbWIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmhJdmMsQ0VnSXdjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmhJMWQzSyxDRWdJMmQsQUZoSTNkLENFZ0k0ZCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0gxZUEsQ0UrSDJlLEFGL0gzZSxDRStINGUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9IM2UsQ0UrSDRlLENBQUMsQ0FBQyxDQUFDLEFGMUhyZSxDRTBIc2UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjFIbGdCMlAsQ0UwSG1nQixBRjFIbmdCLENFMEhvZ0IsQ0FBQyxDQUFDLENBQUMsQUZ4SHRnQnZCLENFd0h1Z0IsQUZ4SHZnQixDRXdId2dCLEFGekg1Z0JwUSxDRXlINmdCLEFGekg3Z0IsQ0V5SDhnQixDQUFDLENBQUMsQUZ6SDVnQjJSLENFeUg2Z0IsQUZ6SDdnQixDRXlIOGdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZIdGhCM1IsQ0V1SHVoQixBRnZIdmhCLENFdUh3aEIsQ0FBQyxDQUFDLEFGdkh0aEIsQ0V1SHVoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRm5IL2lCb1EsQ0VtSGdqQixBRm5IaGpCLENFbUhpakIsQUZuSGppQnBRLENFbUhraUIsQUZuSGxpQixDRW1IbWlCLENBQUMsQ0FBQyxDQUFDLEFGbkhqaUJnQyxDRW1Ia2lCLEFGbEt2akI7QUVtS0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZuS0o7QUVvS0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnBISDtBRXFIRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGakhNLENFaUhMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRmpIZGdGLENFaUhlLEFGakhmLENFaUhnQixDQUFDLENBQUMsQ0FBQyxBRmhIbkJvSixDRWdIb0IsQUZoSHBCLENFZ0hxQixBRmhITHRELENFZ0hNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZoSGIsQ0VnSGMsQ0FBQyxDQUFDLENBQUMsQUYvR2pDQyxDRStHa0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRi9HdEMsQ0UrR3VDLEFGL0dqQ0MsQ0UrR2tDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0d4QyxDRStHeUMsQUYvR2pDb0QsQ0UrR2tDLEFGL0dsQyxDRStHbUMsQUYvR25CN1AsQ0UrR29CLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYvR3hCLENFK0d5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1RzVENlAsQ0U0RzZELEFGNUc3RCxDRTRHOEQsQUY1RzlDN1AsQ0U0RytDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1R25ELENFNEdvRCxDQUFDLENBQUMsQUY1RzlDMlAsQ0U0RytDLEFGNUcvQyxDRTRHZ0QsQUY1R25DRixDRTRHb0MsQUY1R3BDLENFNEdxQyxBRjVHL0IzTCxDRTRHZ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVHdkMsQ0U0R3dDLENBQUMsQUY1Ry9CSSxDRTRHZ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1R3RDLENFNEd1QyxBRjVHL0IsQ0U0R2dDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGNUd6Q3NMLENFNEcwQyxBRjVHMUMsQ0U0RzJDLENBQUM7QUFDM0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1R0hBLENFNEdJLEFGNUdKLENFNEdLLEFGNUdDaFEsQ0U0R0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVHSixDRTRHSyxBRjVHQ2tOLENFNEdBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1R1AsQ0U0R1EsQ0FBQyxDQUFDLENBQUMsQUYzRytCLENFMkc5QixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0czQm1ELENFMkc0QixBRjNHNUIsQ0UyRzZCLEFGM0diN1AsQ0UyR2MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNHbEIsQ0UyR21CLEFGM0dibUosQ0UyR2MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUYzR3BCLENFMkdxQixBRjNHYnFHLENFMkdjLEFGM0dkLENFMkdlLEFGM0dUaFEsQ0UyR1UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNHZCxDRTJHZSxBRjNHVFEsQ0UyR1UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNHZCxDRTJHZSxBRjFHM0Q7QUUyR0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNHRixDRTJHRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdkdJLENFdUdILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZHaEJ5RyxDRXVHaUIsQUZ2R2pCLENFdUdrQixDQUFDLENBQUMsQ0FBQyxBRnZHK0IsQ0V1RzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ2R1RvSixDRXVHVSxBRnZHVixDRXVHVyxBRnZHS2xELENFdUdKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZHUCxDRXVHUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdEduRGtELENFc0dvRCxBRnRHcEQsQ0VzR3FELEFGdEdyQzdQLENFc0dzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdEcxQyxDRXNHMkMsQ0FBQyxDQUFDLEFGdEdyQzJQLENFc0dzQyxBRnRHdEMsQ0VzR3VDLEFGdEcxQkYsQ0VzRzJCLEFGdEczQixDRXNHNEIsQUZ0R3RCM0wsQ0VzR3VCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ0RzlCLENFc0crQixDQUFDLEFGdEd0QkksQ0VzR3VCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdEc3QixDRXNHOEIsQUZ0R3RCLENFc0d1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnRHaENzTCxDRXNHaUMsQUZ0R2pDLENFc0drQyxDQUFDO0FBQ2xHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGckdGQSxDRXFHRyxBRnJHSCxDRXFHSSxBRnJHRWhRLENFcUdELENBQUMsQ0FBQyxDQUFDLENBQUMsQUZyR0gsQ0VxR0ksQUZyR0VrTixDRXFHRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGckdOLENFcUdPLENBQUMsQ0FBQyxBRnRHbEJtRCxDRXNHbUIsQUZ0R25CLENFc0dvQixBRnRHSnRELENFc0dLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ0R1osQ0VzR2EsQ0FBQyxDQUFDLENBQUMsQUZwRzBCLENFb0d6QixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGcEd2Q3NELENFb0d3QyxBRnBHeEMsQ0VvR3lDLEFGcEd6QmxELENFb0cwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZwR3JDLENFb0dzQyxBRnBHekJ4RCxDRW9HMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZwR2hDLENFb0dpQyxBRnBHekJxRyxDRW9HMEIsQUZwRzFCLENFb0cyQixBRnBHckJoUSxDRW9Hc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnBHMUIsQ0VvRzJCLEFGcEdyQlEsQ0VvR3NCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZwRzFCLENFb0cyQixDQUFDLENBQUMsQ0FBQyxBRmpHL0U2UCxDRWlHZ0YsQUZqR2hGLENFaUdpRixBRmpHakVsRCxDRWlHa0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGakc3RSxDRWlHOEUsQ0FBQyxDQUFDLENBQUMsQUZqR2pFNkMsQ0VpR2tFLEFGakdsRSxDRWlHbUUsQUZqRzdEaFEsQ0VpRzhELENBQUMsQ0FBQyxDQUFDLENBQUMsQUZqR2xFLENFaUdtRSxBRmpHN0RRLENFaUc4RCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGL0ZqSDtBRWdHRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGaEdGLENFZ0dHLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Rkp5UCxDRTZGSyxBRjdGTCxDRTZGTSxBRjdGQTFELENFNkZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3RkwsQ0U2Rk0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdGQTBELENFNkZDLEFGN0ZELENFNkZFLEFGN0ZJN0MsQ0U2RkgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0ZMLENFNkZNLENBQUMsQ0FBQyxDQUFDLEFGNUZsQ2lELENFNEZtQyxBRjVGbkMsQ0U0Rm9DLEFGNUZwQjlELENFNEZxQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGNUZ6QixDRTRGMEIsQ0FBQyxDQUFDLEFGNUZwQjBELENFNEZxQixBRjVGckIsQ0U0RnNCLEFGNUZoQjFELENFNEZpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFGNUZyQixDRTRGc0IsQ0FBQyxBRjNGckRqQixDRTJGc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGM0YzRCxDRTJGNEQsQUYzRnJEQyxDRTJGc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjNGbkUsQ0UyRm9FLEFGMUYxRThFLENFMEYyRSxBRjFGM0UsQ0UwRjRFLENBQUMsQUZ6RjdFLENFeUY4RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnhGMUZ5QyxDRXdGMkYsQ0FBQyxBRnhGNUYsQ0V3RjZGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnRGekY3QyxDRXNGMEYsQUZ0RjFGLENFc0YyRixBRnRGckY3QyxDRXNGc0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdEY5RixDRXNGK0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnRGckY2QyxDRXNGc0YsQUZ0RnRGLENFc0Z1RixBRnRGakYxRCxDRXNGa0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnRGdEYsQ0VzRnVGLENBQUMsQ0FBQyxDQUFDLEFGcEZwSDBELENFb0ZxSCxBRnBGckgsQ0VvRnNILEFGcEZoSDFELENFb0ZpSCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGcEZySCxDRW9Gc0gsQ0FBQyxDQUFDLENBQUMsQUZwRmhIMEQsQ0VvRmlILEFGcEZqSCxDRW9Ga0gsQUZwRjVHN0MsQ0VvRjZHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnBGckgsQ0VvRnNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnJGMUppRCxDRXFGMkosQUZyRjNKLENFcUY0SixBRnJGNUk5RCxDRXFGNkksQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnJGakosQ0VxRmtKLENBQUMsQ0FBQyxBRnJGNUk4RCxDRXFGNkksQUZyRjdJLENFcUY4SSxBRnJGOUhqRCxDRXFGK0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGckZ2SSxDRXFGd0ksQ0FBQyxDQUFDLEFGckY5SDZDLENFcUYrSCxBRnJGL0gsQ0VxRmdJLEFGckYxSDdDLENFcUYySCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZyRm5JLENFcUZvSSxDQUFDLENBQUMsQUZoRmpNNEMsQ0VnRmtNLEFGaEZsTSxDRWdGbU0sQUZoRjdMaFEsQ0VnRjhMLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZoRmxNLENFZ0ZtTSxDQUFDLENBQUMsQUZoRjdMcVEsQ0VnRjhMLEFGL0U3TTtBRWdGQSxDQUFDLENBQUMsQUZoRkYsQ0VnRkcsQUYxRUQsQ0UwRUUsQUYxRWFMLENFMEVaLEFGMUVZLENFMEVYLENBQUMsQ0FBQyxBRnZFUEEsQ0V1RVEsQUZ2RVIsQ0V1RVMsQUZ2RUg3TCxDRXVFSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGdkVYLENFdUVZLENBQUMsQ0FBQyxBRnZFSDhOLENFdUVJLEFGdkVKLENFdUVLLENBQUMsQUZyRW5Cak8sQ0VxRW9CLENBQUMsQUZyRXJCLENFcUVzQixDQUFDLENBQUMsQ0FBQyxBRnJFWEEsQ0VxRVksQ0FBQyxBRnJFYixDRXFFYyxBRnJFRGdNLENFcUVFLEFGckVGLENFcUVHLEFGcEVuQztBRXFFQSxBRnJFQSxDRXFFQztBQUNELEFGbEVBLENFa0VDLENBQUMsQ0FBQyxDQUFDLEFGbEVFK0MsQ0VrRUQsQ0FBQyxBRmxFQSxDRWtFQyxDQUFDLENBQUMsQUZsRWU5TCxDRWtFZCxBRmxFYyxDRWtFYixBRmxFb0JzRyxDRWtFbkIsQ0FBQyxDQUFDLEFGbEVpQjtBRW1FL0IsQUZsRUF0RyxDRWtFQyxBRmxFRCxDRWtFRSxBRmxFS3NHLENFa0VKLENBQUMsQ0FBQyxBRmxFRSxDRWtFRCxDQUFDLENBQUMsQUZsRVUsQ0VrRVQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZsRVV5QyxDRWtFVCxBRmxFUyxDRWtFUixDQUFDO0FBQ3JCLENBQUMsQ0FBQyxBRmxFRytDLENFa0VGLENBQUMsQUZsRUMsQ0VrRUEsQ0FBQyxDQUFDLENBQUMsQUZqRU5BLENFaUVPLENBQUMsQUZqRVIsQ0VpRVMsQUZqRU8vQyxDRWlFTixBRmpFTSxDRWlFTCxDQUFDLENBQUMsQUYvRGQ2QyxDRStEZSxDQUFDLEFGL0RoQixDRStEaUIsQ0FBQyxDQUFDLEFGL0RBN0MsQ0UrREMsQUYvREQsQ0UrREUsQUYvREd6SyxDRStERixDQUFDLENBQUMsQUY5RHpCO0FFK0RBLEFGL0RBLENFK0RDO0FBQ0QsQUY5REEsQ0U4REMsQ0FBQyxDQUFDLENBQUMsQUY5REV5TixDRThERCxDQUFDLEFGOURBLENFOERDLENBQUMsQ0FBQyxBRjlEUy9MLENFOERSLEFGOURRLENFOERQLEFGOURld0csQ0U4RGQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGOURTO0FFK0QxQixBRjdEQXhHLENFNkRDLEFGN0RELENFNkRFLEFGN0RNd0csQ0U2REwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0RBLENFNkRDLENBQUMsQ0FBQyxBRjdETSxDRTZETCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdETXVDLENFNkRMLEFGN0RLLENFNkRKLENBQUM7QUFDeEIsQ0FBQyxDQUFDLEFGN0RHZ0QsQ0U2REYsQ0FBQyxBRjdEQyxDRTZEQSxDQUFDLENBQUMsQ0FBQyxBRjVETkEsQ0U0RE8sQ0FBQyxBRjVEUixDRTREUyxBRjVEQ2hELENFNERBLEFGNURBLENFNERDO0FBQ2IsQ0FBQyxDQUFDLEFGMURELENFMERFLENBQUMsQ0FBQyxDQUFDLEFGMURDQyxDRTBEQSxBRjFEQSxDRTBEQyxDQUFDLENBQUMsQUYxREtELENFMERKLEFGMURJLENFMERILEFGMURTaFEsQ0UwRFIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjFESTtBRTJEckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjFER2lILENFMERGLEFGMURFLENFMERELENBQUMsQ0FBQyxBRjFESytJLENFMERKLEFGMURJLENFMERILEFGMURRL0ssQ0UwRFAsQ0FBQyxDQUFDLEFGMURLO0FFMkRsQixDQUFDLENBQUMsQUZ4RE8sQ0V3RE4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnhEUmdDLENFd0RTLEFGeERULENFd0RVLENBQUMsQ0FBQyxDQUFDLEFGdkRFLENFdURELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnZENUIrSSxDRXVENkIsQUZ2RDdCLENFdUQ4QixBRnZEeEJyTSxDRXVEeUIsQ0FBQyxDQUFDLENBQUMsQUZ2RDVCLENFdUQ2QixDQUFDLENBQUMsQ0FBQyxBRnREdEMsQ0VzRHVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZ0RHRDc00sQ0VzRHVDLEFGdER2QyxDRXNEd0MsQ0FBQyxDQUFDLENBQUMsQUZyRHREQSxDRXFEdUQsQUZyRHZELENFcUR3RCxBRnJEbER6UCxDRXFEbUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRnJEdkQsQ0VxRHdELENBQUMsQ0FBQyxDQUFDLENBQUMsQUZyRGxEeUcsQ0VxRG1ELEFGckRuRCxDRXFEb0QsQUZyRGhEekcsQ0VxRGlELENBQUMsQ0FBQyxDQUFDLENBQUMsQUZyRHJELENFcURzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGbkQ5RXlHLENFbUQrRSxBRm5EL0UsQ0VtRGdGLEFGbkQ1RXpHLENFbUQ2RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGbkRqRixDRW1Ea0YsQ0FBQyxDQUFDLEFGbkQ3RCxDRW1EOEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRm5EcEZ5UCxDRW1EcUYsQUZuRHJGLENFbURzRixBRm5EaEZ6UCxDRW1EaUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRm5EckYsQ0VtRHNGLENBQUMsQ0FBQyxBRm5EeEUsQ0VtRHlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZuRHhFeVAsQ0VtRHlFLEFGbkR6RSxDRW1EMEUsQUZuRHBFelAsQ0VtRHFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQUZuRHpFLENFbUQwRSxDQUFDLENBQUMsQUZoRDFIcVMsQ0VnRDJILENBQUMsQUZoRDVILENFZ0Q2SCxDQUFDLENBQUMsQUZoRDVHLENFZ0Q2RyxDQUFDLENBQUMsQ0FBQyxBRi9DcEk7QUVnREEsQUZoREEsQ0VnREM7QUFDRCxBRjdDYSxDRTZDWixDQUFDLENBQUMsQ0FBQyxBRjdDU0ksQ0U2Q1IsQ0FBQyxBRjdDTyxDRTZDTixDQUFDLENBQUMsQUY3Q3lEO0FFOENsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NIckYsQ0U2Q0ksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q3pCLENFNkMwQixDQUFDLEFGN0NIO0FFOEN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDSmpMLENFNkNLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NYLENFNkNZLENBQUMsQUY3Q0o7QUU4Q1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NMa0wsQ0U2Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDaEIsQ0U2Q2lCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3QzNCQSxDRTZDNEIsQUY3Q2hCbUMsQ0U2Q2lCLEFGN0NqQixDRTZDa0IsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NOLENFNkNPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NONkMsQ0U2Q08sQ0FBQyxBRjdDUixDRTZDUyxBRjdDTy9FLENFNkNOLENBQUMsQ0FBQyxBRjdDSSxDRTZDSCxBRjdDbUJrQyxDRTZDbEIsQUY3Q2tCLENFNkNqQixBRjdDd0J6SyxDRTZDdkIsQ0FBQyxDQUFDLEFGN0NxQixDRTZDcEIsQ0FBQyxBRjdDeUJ2RixDRTZDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDb0IsQ0U2Q25CLEFGN0N5QlEsQ0U2Q3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1Q3ZDO0FFNkNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDTCxDRTZDTTtBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDTHVOLENFNkNNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q2hCLENFNkNpQixDQUFDLEFGN0NsQnRDLENFNkNtQixBRjdDbkI7QUU4Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NMdUMsQ0U2Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q2YsQ0U2Q2dCLENBQUMsQUY3Q2pCa0YsQ0U2Q2tCLEFGN0NsQjtBRThDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q0xqRixDRTZDTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDbEIsQ0U2Q21CLENBQUMsQUY3Q3BCak0sQ0U2Q3FCLEFGN0NyQjtBRThDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q0xMLENFNkNNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NyQixDRTZDc0IsQ0FBQyxBRjdDdkIrTyxDRTZDd0IsQUY3Q3hCO0FFOENILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDTHpQLENFNkNNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDZCxDRTZDZSxDQUFDLEFGN0NoQnVQLENFNkNpQixBRjdDakI7QUU4Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NMdEMsQ0U2Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDVixDRTZDVyxDQUFDLEFGN0NaaUYsQ0U2Q2EsQUY3Q2I7QUU4Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NMaEYsQ0U2Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q3hCLENFNkN5QixDQUFDLEFGN0MxQi9NLENFNkMyQixBRjdDM0I7QUU4Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NMVSxDRTZDTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q3ZCLENFNkN3QixDQUFDLEFGN0N6QjhPLENFNkMwQixBRjdDMUI7QUU4Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NMN1AsQ0U2Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NwQixDRTZDcUIsQ0FBQyxBRjdDdEJ3UCxDRTZDdUIsQUY3Q3ZCO0FFOENILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjdDTG5DLENFNkNNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGN0NaLENFNkNhLENBQUMsQUY3Q2RnRixDRTZDZSxBRjdDZjtBRThDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1Q0wvRSxDRTRDTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDZixDRTRDZ0IsQ0FBQyxBRjVDakJqTyxDRTRDa0IsQUY1Q2xCO0FFNkNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDTGtPLENFNENNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDWCxDRTRDWSxDQUFDLEFGNUNiK0UsQ0U0Q2MsQUY1Q2Q7QUU2Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFGNUNMM1MsQ0U0Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDYixDRTRDYyxDQUFDLEFGNUNmUCxDRTRDZ0IsQUY1Q2hCO0FFNkNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDTEUsQ0U0Q00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDekIsQ0U0QzBCLENBQUMsQUY1QzNCK1AsQ0U0QzRCLEFGNUM1QjtBRTZDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY1Q0x2TyxDRTRDTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjVDbEIsQ0U0Q21CLENBQUMsQUY1Q3BCOE87QUU2Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUY3Q0g7QUU4Q0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRjlDRDtBRStDSCxDQUFDLENBQUMsQUYvQ0MsQ0UrQ0E7QUFDSCxDQUFDLENBQUMsQUQxVEkyQyxDQzBUSCxDQUFDLEFEMVRFLENDMFRELENBQUMsQ0FBQyxBRDFUUyxDQzBUUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQURyVEEsQ0NxVEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEclRBQyxDQ3FUQyxDQUFDLENBQUMsQURyVFd2RCxDQ3FUVixBRHJUVSxDQ3FUVCxDQUFDO0FBQ2YsQ0FBQyxDQUFDLEFEclRELENDcVRFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEclREQyxDQ3FURSxBRHJURixDQ3FURyxBRHJUV3hCLENDcVRWLENBQUMsQ0FBQyxDQUFDLEFEclRPLENDcVROLEFEclRXLENDcVRWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJUV3VCLENDcVRWLEFEclRVLENDcVRULEFEcFR4QjtBQ3FUQSxBRHJUQTtBQ3NUQSxBRC9TQSxDQytTQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQvU0F3RCxDQytTQyxDQUFDLENBQUMsQUQvU1l4RCxDQytTWCxBRC9TVyxDQytTVixDQUFDO0FBQ2YsQ0FBQyxDQUFDLEFEL1NELENDK1NFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRC9TREEsQ0MrU0UsQUQvU0YsQ0MrU0csQ0FBQyxDQUFDLENBQUMsQUQvU0tBLENDK1NKLEFEL1NJLENDK1NILEFEL1NXN0wsQ0MrU1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRC9TRyxDQytTRixDQUFDLENBQUMsQ0FBQyxDQUFDLEFEL1NXOE4sQ0MrU1YsQUQ5U2hDO0FDK1NBLEFEL1NBO0FDZ1RBLEFEelNBLENDeVNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHpTQXdCLENDeVNDLENBQUMsQ0FBQyxBRHpTUXpELENDeVNQLEFEelNPLENDeVNOLENBQUM7QUFDZixDQUFDLENBQUMsQUR6U0QsQ0N5U0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUR6U0R3RCxDQ3lTRSxDQUFDLEFEelNILENDeVNJLEFEelNXeEQsQ0N5U1YsQUR6U1UsQ0N5U1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHpTaUJBLENDeVNoQixBRHpTZ0IsQ0N5U2YsQUR6U3VCck0sQ0N5U3RCLENBQUMsQ0FBQyxDQUFDLEFEelNtQixDQ3lTbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHpTdUIwTSxDQ3lTdEIsQUR4UzlCO0FDeVNBLEFEelNBO0FDMFNBLEFEblNBLENDbVNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5TQXFELENDbVNDLENBQUMsQ0FBQyxBRG5TSTFELENDbVNILEFEblNHLENDbVNGLENBQUM7QUFDZixDQUFDLENBQUMsQURuU0QsQ0NtU0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbFNQQSxDQ2tTUSxBRGxTUixDQ2tTUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURqU2RBLENDaVNlLEFEalNmLENDaVNnQixBRGpTUmpOLENDaVNTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURqU25CLENDaVNvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEFEaFNGLENDZ1NHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEaFM3Q2lOLENDZ1M4QyxBRGhTOUMsQ0NnUytDLEFEaFN2Q2pOLENDZ1N3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEaFNsRCxDQ2dTbUQsQ0FBQyxDQUFDLENBQUMsQUQvUnJFaU4sQ0MrUnNFLEFEL1J0RSxDQytSdUUsQUQvUi9Eak4sQ0MrUmdFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQvUjFFLENDK1IyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQvUi9EK0wsQ0MrUmdFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRC9SckUsQ0MrUnNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ5UjFHa0IsQ0M4UjJHLEFEOVIzRyxDQzhSNEcsQUQ5UnBHak4sQ0M4UnFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ5Ui9HLENDOFJnSCxBRDlScEdnTSxDQzhScUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ5UjlHLENDOFIrRyxBRDlScEcsQ0M4UnFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ1UjdJO0FDNlJBLEFEN1JBO0FDOFJBLEFEclJBLENDcVJDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJSQTRFLENDcVJDLENBQUMsQ0FBQyxBRHJSVTNELENDcVJULEFEclJTLENDcVJSLENBQUM7QUFDZixDQUFDLENBQUMsQURyUkQsQ0NxUkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyUkh3RCxDQ3FSSSxDQUFDLEFEclJMLENDcVJNLEFEclJTeEQsQ0NxUlIsQURyUlEsQ0NxUlAsQ0FBQyxDQUFDLENBQUMsQURwUlQ0RCxDQ29SVSxBRHBSVixDQ29SVyxBRHBSUTFFLENDb1JQLENBQUMsQ0FBQyxDQUFDLENBQUMsQURwUkcsQ0NvUkYsQURwUlEsQ0NvUlAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEcFJRQyxDQ29SUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURwUkQsQ0NvUkUsQ0FBQyxDQUFDLENBQUMsQURyUk5hLENDcVJPLEFEblI3QztBQ29SQSxBRHBSQTtBQ3FSQSxBRDlRQSxDQzhRQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ5UUE2RCxDQzhRQyxDQUFDLENBQUMsQUQ5UW9CN0QsQ0M4UW5CLEFEOVFtQixDQzhRbEIsQ0FBQztBQUNmLENBQUMsQ0FBQyxBRDlRRCxDQzhRRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ5UU5BLENDOFFPLEFEOVFQLENDOFFRLEFEOVFDeEssQ0M4UUEsQ0FBQyxDQUFDLEFEOVFGLENDOFFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQUQ3UW5COEssQ0M2UW9CLEFEN1FwQixDQzZRcUIsQUQ3UVIsQ0M2UVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEN1FSTixDQzZRUyxBRDdRVCxDQzZRVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQUR6UXBDO0FDMFFBLEFEMVFBO0FDMlFBLEFEcFFBLENDb1FDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHBRQThELENDb1FDLENBQUMsQ0FBQyxBRHBRUzlELENDb1FSLEFEcFFRLENDb1FQLENBQUM7QUFDZixDQUFDLENBQUMsQURwUUQsQ0NvUUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuUU5BLENDbVFPLEFEblFQLENDbVFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQURsUVhBLENDa1FZLEFEbFFaLENDa1FhLEFEbFFIVixDQ2tRSSxDQUFDLENBQUMsQ0FBQyxBRGxRUCxDQ2tRUSxDQUFDLENBQUMsQ0FBQyxBRGxRcUIsQ0NrUXBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRGxRUlUsQ0NrUVMsQURsUVQsQ0NrUVUsQURsUUE3RyxDQ2tRQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbFFSLENDa1FTLENBQUMsQ0FBQyxDQUFDLEFEbFFNNkcsQ0NrUUwsQURsUUssQ0NrUUosQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRGpRakQsQ0NpUWtELENBQUMsQ0FBQyxDQUFDLEFEL1B2RDtBQ2dRQSxBRGhRQTtBQ2lRQSxBRHZQTSxDQ3VQTCxDQUFDLENBQUMsQ0FBQyxBRHZQRStELENDdVBELENBQUMsQUR2UEEsQ0N1UEMsQ0FBQyxDQUFDLEFEdlB1QixDQ3VQdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEdlBjeEUsQ0N1UGIsQUR2UGNTLENDdVBiLEFEdlBhLENDdVBaLENBQUMsQUR2UHFCQyxDQ3VQcEIsQUR2UG9CLENDdVBuQixDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQUR4UCtDLENDd1A5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHhQd0NELENDd1B2QyxBRHhQdUMsQ0N3UHRDLEFEeFArQ0MsQ0N3UDlDLEFEeFA4QyxDQ3dQN0MsQUR4UGlEO0FDeVBoRSxDQUFDLENBQUMsQUR6UDhELENDeVA3RDtBQUNILENBQUMsQ0FBQyxBRC9PSStELENDK09ILENBQUMsQUQvT0UsQ0MrT0QsQ0FBQyxDQUFDLEFEL09XLENDK09WLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRC9PRXZFLENDK09ELEFEL09FTyxDQytPRCxBRC9PQyxDQytPQSxDQUFDLEFEL09TQyxDQytPUixBRC9PUSxDQytPUCxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQURoUHlCLENDZ1B4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRGhQMEJELENDZ1B6QixBRGhQeUIsQ0NnUHhCLEFEaFBpQ0MsQ0NnUGhDLEFEaFBnQyxDQ2dQL0IsQURoUG1DO0FDaVBsRCxDQUFDLENBQUMsQURqUGdELENDaVAvQztBQUNILENBQUMsQ0FBQyxBRDVPSWdFLENDNE9ILENBQUMsQUQ1T0UsQ0M0T0QsQ0FBQyxDQUFDLEFENU9ZNUQsQ0M0T1gsQUQ1T1c7QUM2T25CLENBQUMsQ0FBQyxBRDFPVzZELENDME9WLENBQUMsQUQxT1MsQ0MwT1IsQ0FBQyxDQUFDLEFEMU9rQlYsQ0MwT2pCLENBQUMsQUQxT2dCO0FDMk96QixDQUFDLENBQUMsQURuTUZXLENDbU1HLENBQUMsQURuTUosQ0NtTUssQ0FBQyxDQUFDLEFEbk1RO0FDb01mLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUh6VCxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1YLENDbU1ZLENBQUMsQURuTWJQLENDbU1jLEFEbk1kO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUgrTixDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1SLENDbU1TLENBQUMsQURuTVZpRixDQ21NVyxBRG5NWDtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IOUUsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWIsQ0NtTWMsQ0FBQyxBRG5NZmpPLENDbU1nQixBRG5NaEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSGEsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1aLENDbU1hLENBQUMsQURuTWR1UCxDQ21NZSxBRG5NZjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IelAsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1sQixDQ21NbUIsQ0FBQyxBRG5NcEJ3UCxDQ21NcUIsQURuTXJCO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUh6TyxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTXJCLENDbU1zQixDQUFDLEFEbk12QjhPLENDbU13QixBRG5NeEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSC9PLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1oQixDQ21NaUIsQ0FBQyxBRG5NbEI4TyxDQ21NbUIsQURuTW5CO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhoUCxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NbkIsQ0NtTW9CLENBQUMsQURuTXJCK08sQ0NtTXNCLEFEbk10QjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IclEsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NdkIsQ0NtTXdCLENBQUMsQURuTXpCK1AsQ0NtTTBCLEFEbk0xQjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IM08sQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1sQixDQ21NbUIsQ0FBQyxBRG5NcEJnUCxDQ21NcUIsQURuTXJCO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhuQyxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTVQsQ0NtTVUsQ0FBQyxBRG5NWCtFLENDbU1ZLEFEbk1aO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhsRixDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NdEIsQ0NtTXVCLENBQUMsQURuTXhCL00sQ0NtTXlCLEFEbk16QjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IZ04sQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTVYsQ0NtTVcsQ0FBQyxBRG5NWmdGLENDbU1hLEFEbk1iO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhyRixDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1kLENDbU1lLENBQUMsQURuTWhCdEMsQ0NtTWlCLEFEbk1qQjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IdUMsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWIsQ0NtTWMsQ0FBQyxBRG5NZmtGLENDbU1nQixBRG5NaEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSGpGLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1oQixDQ21NaUIsQ0FBQyxBRG5NbEJqTSxDQ21NbUIsQURuTW5CO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUh1TSxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NVixDQ21NVyxDQUFDLEFEeldHLENDeVdGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSDlKLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTVgsQ0NtTVksQ0FBQyxBRG5NYjBNLENDbU1jLEFEbk1kO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUgvTSxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTVQsQ0NtTVUsQ0FBQyxBRG5NWG1PLENDbU1ZLENBQUMsQURuTWI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHBILENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1WLENDbU1XLENBQUMsQURuTVpxSCxDQ21NYSxDQUFDLEFEbk1kO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhwRCxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NekIsQ0NtTTBCLENBQUMsQURuTTNCeUUsQ0NtTTRCLENBQUMsQURuTTdCO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhqSyxDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWYsQ0NtTWdCLENBQUMsQURuTWpCb0ksQ0NtTWtCLEFEbk1sQjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IbFAsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWhCLENDbU1pQixDQUFDLEFEbk1sQm1OLENDbU1tQixBRG5NbkI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSEosQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWhCLENDbU1pQixDQUFDLEFEbk1sQjVOLENDbU1tQixBRG5NbkI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHVNLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1oQixDQ21NaUIsQ0FBQyxBRG5NbEIrRSxDQ21NbUIsQ0FBQyxBRG5NcEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHZFLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NZixDQ21NZ0IsQ0FBQyxBRG5NakIyRSxDQ21Na0IsQ0FBQyxBRG5NbkI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSDdELENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NWixDQ21NYSxDQUFDLEFEbk1kOEIsQ0NtTWUsQURuTWY7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHRKLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTVgsQ0NtTVksQ0FBQyxBRG5NYitILENDbU1jLEFEbk1kO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUgzQixDQ21NSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1qQixDQ21Na0IsQ0FBQyxBRG5NbkI4RSxDQ21Nb0IsQ0FBQyxBRG5NckI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSDdELENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NWixDQ21NYSxDQUFDLEFEbk1kdUUsQ0NtTWUsQ0FBQyxBRG5NaEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHRGLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1iLENDbU1jLENBQUMsQURuTWY2RSxDQ21NZ0IsQ0FBQyxBRG5NakI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSDVFLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NVCxDQ21NVSxDQUFDLEFEbk1YNkUsQ0NtTVksQ0FBQyxBRG5NYjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IckUsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NZCxDQ21NZSxDQUFDLEFEbk1oQnlFLENDbU1pQixDQUFDLEFEbk1sQjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IMVEsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1aLENDbU1hLENBQUMsQURuTWQ0TSxDQ21NZSxBRG5NZjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1Iak8sQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWhCLENDbU1pQixDQUFDLEFEbk1sQjhPLENDbU1tQixBRG5NbkI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHpPLENDbU1JLENBQUMsQ0FBQyxDQUFDLEFEbk1QLENDbU1RLENBQUMsQURuTVQwTyxDQ21NVSxBRG5NVjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IL00sQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWIsQ0NtTWMsQ0FBQyxBRG5NZmtOLENDbU1nQixBRG5NaEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHhCLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NWixDQ21NYSxDQUFDLEFEbk1kdUUsQ0NtTWUsQ0FBQyxBRG5NaEI7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHpFLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTTFCLENDbU0yQixDQUFDLEFEbk01QndFLENDbU02QixDQUFDLEFEbk05QjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IckUsQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTWIsQ0NtTWMsQ0FBQyxBRG5NZnVFLENDbU1nQixDQUFDLEFEbk1qQjtBQ29NRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEbk1IM04sQ0NtTUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NWCxDQ21NWSxDQUFDLEFEbk1ia0wsQ0NtTWMsQURuTWQ7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSHRLLENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NZixDQ21NZ0IsQ0FBQyxBRG5NakJ5SyxDQ21Na0IsQURuTWxCO0FDb01ELENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTUhoTCxDQ21NSSxDQUFDLENBQUMsQ0FBQyxBRG5NUCxDQ21NUSxDQUFDLEFEbk1UK0ssQ0NtTVUsQURuTVY7QUNvTUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRG5NSC9ELENDbU1JLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURuTXJELENDbU1zRCxDQUFDLEFEbk12RHNGLENDbU13RDtBQUN6RCxDQUFDLENBQUMsQURwTUQsQ0NvTUU7QUFDSCxBRHJNQyxDQ3FNQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTVI5QixDQ3FNUyxBRHJNVCxDQ3FNVSxDQUFDLENBQUMsQ0FBQyxBRHJNYjFNLENDcU1jLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTXJCLENDcU1zQixDQUFDLEFEck12Qm9NLENDcU13QixBRHJNeEIsQ0NxTXlCLENBQUMsQ0FBQyxDQUFDLEFEck01QjlPLENDcU02QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJNekMsQ0NxTTBDLENBQUMsQURyTTNDa1MsQ0NxTTRDLENBQUMsQURyTTdDLENDcU04QyxDQUFDLENBQUMsQ0FBQyxBRHJNakR2RSxDQ3FNa0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTTNELENDcU00RCxDQUFDLEFEck03RDhCLENDcU04RCxBRHJNOUQsQ0NxTStELENBQUMsQ0FBQyxDQUFDLEFEck1sRWxMLENDcU1tRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck0xRSxDQ3FNMkUsQ0FBQyxBRHJNNUVxTCxDQ3FNNkUsQURyTTdFLENDcU04RSxDQUFDLENBQUMsQ0FBQyxBRHJNakZ6SyxDQ3FNa0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck03RixDQ3FNOEYsQ0FBQyxBRHJNL0YrTCxDQ3FNZ0csQ0FBQyxBRHJNakcsQ0NxTWtHLENBQUMsQ0FBQyxDQUFDLEFEck1yR3RGLENDcU1zRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck12SixDQ3FNd0osQ0FBQyxBRHJNekpnRyxDQ3FNMEosQ0FBQyxBRHJNM0osQ0NxTTRKLENBQUMsQ0FBQyxDQUFDLEFEck0vSjNFLENDcU1nSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTTNLLENDcU00SyxDQUFDLEFEck03S3VFLENDcU04SyxDQUFDLEFEck0vSyxDQ3FNZ0wsQ0FBQyxDQUFDLENBQUMsQURyTW5ML0UsQ0NxTW9MLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck1oTSxDQ3FNaU0sQ0FBQyxBRHJNbE13RCxDQ3FNbU0sQURyTW5NLENDcU1vTSxDQUFDLENBQUMsQ0FBQyxBRHJNdk1wSSxDQ3FNd00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck1uTixDQ3FNb04sQ0FBQyxBRHJNck51SyxDQ3FNc04sQ0FBQyxBRHJNdk4sQ0NxTXdOLENBQUMsQ0FBQyxDQUFDLEFEck0zTm5OLENDcU00TixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJNbE8sQ0NxTW1PLENBQUMsQURyTXBPOE0sQ0NxTXFPLENBQUMsQURyTXRPLENDcU11TyxDQUFDLENBQUMsQ0FBQyxBRHJNMU96RSxDQ3FNMk8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJNclAsQ0NxTXNQLENBQUMsQURyTXZQMkUsQ0NxTXdQLENBQUMsQURyTXpQLENDcU0wUCxDQUFDLENBQUMsQ0FBQyxBRHJNN1B2RSxDQ3FNOFAsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck10USxDQ3FNdVEsQ0FBQyxBRHJNeFF3QixDQ3FNeVEsQURyTXpRLENDcU0wUSxDQUFDLENBQUMsQ0FBQyxBRHJNN1FsTixDQ3FNOFEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTXZSLENDcU13UixDQUFDLEFEck16UnlPLENDcU0wUixDQUFDLEFEck0zUixDQ3FNNFIsQ0FBQyxDQUFDLENBQUMsQURyTS9SckgsQ0NxTWdTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck10UyxDQ3FNdVMsQ0FBQyxBRHJNeFMrSSxDQ3FNeVMsQ0FBQyxBRHJNMVMsQ0NxTTJTLENBQUMsQ0FBQyxDQUFDLEFEck05U3ZFLENDcU0rUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTXZULENDcU13VCxDQUFDLEFEck16VDhELENDcU0wVCxDQUFDLEFEck0zVCxDQ3FNNFQsQ0FBQyxDQUFDLENBQUMsQURyTS9UN0UsQ0NxTWdVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck16VSxDQ3FNMFUsQ0FBQyxBRHJNM1U4RSxDQ3FNNFUsQ0FBQyxBRHJNN1UsQ0NxTThVLENBQUMsQ0FBQyxDQUFDLEFEck1qVjdFLENDcU1rVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTXZWLENDcU13VixDQUFDLEFEck16VjJFLENDcU0wVixDQUFDLEFEck0zVixDQ3FNNFYsQ0FBQyxDQUFDLENBQUMsQURyTS9WOUUsQ0NxTWdXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTTdXLENDcU04VyxDQUFDLEFEck0vV2dELENDcU1nWCxBRHJNaFgsQ0NxTWlYLENBQUMsQ0FBQyxDQUFDLEFEck1wWC9LLENDcU1xWCxDQUFDLENBQUMsQ0FBQyxBRHJNeFgsQ0NxTXlYLENBQUMsQURyTTFYbUssQ0NxTTJYLEFEck0zWCxDQ3FNNFgsQ0FBQyxDQUFDLENBQUMsQURyTS9YMU8sQ0NxTWdZLENBQUMsQ0FBQyxDQUFDLEFEck1uWSxDQ3FNb1ksQ0FBQyxBRHJNclltUSxDQ3FNc1ksQ0FBQyxBRHJNdlksQ0NxTXdZLENBQUMsQ0FBQyxDQUFDLEFEck0zWW5PLENDcU00WSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTWpaLENDcU1rWixDQUFDLEFEck1uWnFNLENDcU1vWixBRHJNcFosQ0NxTXFaLENBQUMsQ0FBQyxDQUFDLEFEck14WmhQLENDcU15WixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTXZhLENDcU13YSxDQUFDLEFEck16YW9TLENDcU0wYSxDQUFDLEFEck0zYSxDQ3FNNGEsQ0FBQyxDQUFDLENBQUMsQURyTS9hekUsQ0NxTWdiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck1yYyxDQ3FNc2MsQ0FBQyxBRHJNdmMyRSxDQ3FNd2MsQ0FBQyxBRHJNemMsQ0NxTTBjLENBQUMsQ0FBQyxDQUFDLEFEck03Y3hFLENDcU04YyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEFEck1wZSxDQ3FNcWUsQ0FBQyxBRHJNdGVtQixDQ3FNdWUsQURyTXZlLENDcU13ZSxDQUFDLENBQUMsQ0FBQyxBRHJNM2UvTyxDQ3FNNGUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTTNmLENDcU00ZixDQUFDLEFEck03ZmlQLENDcU04ZixBRHJNOWYsQ0NxTStmLENBQUMsQ0FBQyxDQUFDLEFEck1sZ0I5TyxDQ3FNbWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJNcGhCLENDcU1xaEIsQ0FBQyxBRHJNdGhCc08sQ0NxTXVoQixBRHJNdmhCLENDcU13aEIsQ0FBQyxDQUFDLENBQUMsQURyTTNoQi9QLENDcU00aEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxBRHJNL2lCLENDcU1nakIsQ0FBQyxBRHJNampCc1EsQ0NxTWtqQixBRHJNbGpCLENDcU1takIsQ0FBQyxDQUFDLENBQUMsQURyTXRqQjlPLENDcU11akIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTW5rQixDQ3FNb2tCLENBQUMsQURyTXJrQnlSLENDcU1za0IsQ0FBQyxBRHJNdmtCLENDcU13a0IsQ0FBQyxDQUFDLENBQUMsQURyTTNrQi9FLENDcU00a0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQURyTWxsQixDQ3FNbWxCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFzc2lnbiBwcm9wZXJ0aWVzIGZyb20gYHByb3BzYCB0byBgb2JqYFxuICogQHRlbXBsYXRlIE8sIFAgVGhlIG9iaiBhbmQgcHJvcHMgdHlwZXNcbiAqIEBwYXJhbSB7T30gb2JqIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvXG4gKiBAcGFyYW0ge1B9IHByb3BzIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEByZXR1cm5zIHtPICYgUH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbihvYmosIHByb3BzKSB7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIG9ialtpXSA9IHByb3BzW2ldO1xuXHRyZXR1cm4gLyoqIEB0eXBlIHtPICYgUH0gKi8gKG9iaik7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIG9iamVjdHMgaGF2ZSBhIGRpZmZlcmVudCBzaGFwZVxuICogQHBhcmFtIHtvYmplY3R9IGFcbiAqIEBwYXJhbSB7b2JqZWN0fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYWxsb3dEaWZmZXJzKGEsIGIpIHtcblx0Zm9yIChsZXQgaSBpbiBhKSBpZiAoaSAhPT0gJ19fc291cmNlJyAmJiAhKGkgaW4gYikpIHJldHVybiB0cnVlO1xuXHRmb3IgKGxldCBpIGluIGIpIGlmIChpICE9PSAnX19zb3VyY2UnICYmIGFbaV0gIT09IGJbaV0pIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVlcyBhcmUgdGhlIHNhbWUgdmFsdWVcbiAqIEBwYXJhbSB7Kn0geFxuICogQHBhcmFtIHsqfSB5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzKHgsIHkpIHtcblx0cmV0dXJuICh4ID09PSB5ICYmICh4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSkpIHx8ICh4ICE9PSB4ICYmIHkgIT09IHkpO1xufVxuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0IH0gZnJvbSAncHJlYWN0L2hvb2tzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBUaGlzIGlzIHRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2Jsb2IvbWFpbi9wYWNrYWdlcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS9zcmMvdXNlU3luY0V4dGVybmFsU3RvcmVTaGltQ2xpZW50LmpzI0w4NFxuICogb24gYSBoaWdoIGxldmVsIHRoaXMgY3V0cyBvdXQgdGhlIHdhcm5pbmdzLCAuLi4gYW5kIGF0dGVtcHRzIGEgc21hbGxlciBpbXBsZW1lbnRhdGlvblxuICogQHR5cGVkZWYge3sgX3ZhbHVlOiBhbnk7IF9nZXRTbmFwc2hvdDogKCkgPT4gYW55IH19IFN0b3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KSB7XG5cdGNvbnN0IHZhbHVlID0gZ2V0U25hcHNob3QoKTtcblxuXHQvKipcblx0ICogQHR5cGVkZWYge3sgX2luc3RhbmNlOiBTdG9yZSB9fSBTdG9yZVJlZlxuXHQgKiBAdHlwZSB7W1N0b3JlUmVmLCAoc3RvcmU6IFN0b3JlUmVmKSA9PiB2b2lkXX1cblx0ICovXG5cdGNvbnN0IFt7IF9pbnN0YW5jZSB9LCBmb3JjZVVwZGF0ZV0gPSB1c2VTdGF0ZSh7XG5cdFx0X2luc3RhbmNlOiB7IF92YWx1ZTogdmFsdWUsIF9nZXRTbmFwc2hvdDogZ2V0U25hcHNob3QgfVxuXHR9KTtcblxuXHR1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuXHRcdF9pbnN0YW5jZS5fdmFsdWUgPSB2YWx1ZTtcblx0XHRfaW5zdGFuY2UuX2dldFNuYXBzaG90ID0gZ2V0U25hcHNob3Q7XG5cblx0XHRpZiAoZGlkU25hcHNob3RDaGFuZ2UoX2luc3RhbmNlKSkge1xuXHRcdFx0Zm9yY2VVcGRhdGUoeyBfaW5zdGFuY2UgfSk7XG5cdFx0fVxuXHR9LCBbc3Vic2NyaWJlLCB2YWx1ZSwgZ2V0U25hcHNob3RdKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChkaWRTbmFwc2hvdENoYW5nZShfaW5zdGFuY2UpKSB7XG5cdFx0XHRmb3JjZVVwZGF0ZSh7IF9pbnN0YW5jZSB9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdGlmIChkaWRTbmFwc2hvdENoYW5nZShfaW5zdGFuY2UpKSB7XG5cdFx0XHRcdGZvcmNlVXBkYXRlKHsgX2luc3RhbmNlIH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9LCBbc3Vic2NyaWJlXSk7XG5cblx0cmV0dXJuIHZhbHVlO1xufVxuXG4vKiogQHR5cGUgeyhpbnN0OiBTdG9yZSkgPT4gYm9vbGVhbn0gKi9cbmZ1bmN0aW9uIGRpZFNuYXBzaG90Q2hhbmdlKGluc3QpIHtcblx0Y29uc3QgbGF0ZXN0R2V0U25hcHNob3QgPSBpbnN0Ll9nZXRTbmFwc2hvdDtcblx0Y29uc3QgcHJldlZhbHVlID0gaW5zdC5fdmFsdWU7XG5cdHRyeSB7XG5cdFx0Y29uc3QgbmV4dFZhbHVlID0gbGF0ZXN0R2V0U25hcHNob3QoKTtcblx0XHRyZXR1cm4gIWlzKHByZXZWYWx1ZSwgbmV4dFZhbHVlKTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRUcmFuc2l0aW9uKGNiKSB7XG5cdGNiKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VEZWZlcnJlZFZhbHVlKHZhbCkge1xuXHRyZXR1cm4gdmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVHJhbnNpdGlvbigpIHtcblx0cmV0dXJuIFtmYWxzZSwgc3RhcnRUcmFuc2l0aW9uXTtcbn1cblxuLy8gVE9ETzogaW4gdGhlb3J5IHRoaXMgc2hvdWxkIGJlIGRvbmUgYWZ0ZXIgYSBWTm9kZSBpcyBkaWZmZWQgYXMgd2Ugd2FudCB0byBpbnNlcnRcbi8vIHN0eWxlcy8uLi4gYmVmb3JlIGl0IGF0dGFjaGVzXG5leHBvcnQgY29uc3QgdXNlSW5zZXJ0aW9uRWZmZWN0ID0gdXNlTGF5b3V0RWZmZWN0O1xuIiwiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAncHJlYWN0JztcbmltcG9ydCB7IHNoYWxsb3dEaWZmZXJzIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBDb21wb25lbnQgY2xhc3Mgd2l0aCBhIHByZWRlZmluZWQgYHNob3VsZENvbXBvbmVudFVwZGF0ZWAgaW1wbGVtZW50YXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFB1cmVDb21wb25lbnQocCwgYykge1xuXHR0aGlzLnByb3BzID0gcDtcblx0dGhpcy5jb250ZXh0ID0gYztcbn1cblB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudCgpO1xuLy8gU29tZSB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgY2hlY2sgaWYgdGhpcyBwcm9wZXJ0eSBpcyBwcmVzZW50XG5QdXJlQ29tcG9uZW50LnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCA9IHRydWU7XG5QdXJlQ29tcG9uZW50LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiAocHJvcHMsIHN0YXRlKSB7XG5cdHJldHVybiBzaGFsbG93RGlmZmVycyh0aGlzLnByb3BzLCBwcm9wcykgfHwgc2hhbGxvd0RpZmZlcnModGhpcy5zdGF0ZSwgc3RhdGUpO1xufTtcbiIsImltcG9ydCB7IGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvd0RpZmZlcnMgfSBmcm9tICcuL3V0aWwnO1xuXG4vKipcbiAqIE1lbW9pemUgYSBjb21wb25lbnQsIHNvIHRoYXQgaXQgb25seSB1cGRhdGVzIHdoZW4gdGhlIHByb3BzIGFjdHVhbGx5IGhhdmVcbiAqIGNoYW5nZWQuIFRoaXMgd2FzIHByZXZpb3VzbHkga25vd24gYXMgYFJlYWN0LnB1cmVgLlxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5GdW5jdGlvbkNvbXBvbmVudH0gYyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICogQHBhcmFtIHsocHJldjogb2JqZWN0LCBuZXh0OiBvYmplY3QpID0+IGJvb2xlYW59IFtjb21wYXJlcl0gQ3VzdG9tIGVxdWFsaXR5IGZ1bmN0aW9uXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuRnVuY3Rpb25Db21wb25lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vKGMsIGNvbXBhcmVyKSB7XG5cdGZ1bmN0aW9uIHNob3VsZFVwZGF0ZShuZXh0UHJvcHMpIHtcblx0XHRsZXQgcmVmID0gdGhpcy5wcm9wcy5yZWY7XG5cdFx0bGV0IHVwZGF0ZVJlZiA9IHJlZiA9PSBuZXh0UHJvcHMucmVmO1xuXHRcdGlmICghdXBkYXRlUmVmICYmIHJlZikge1xuXHRcdFx0cmVmLmNhbGwgPyByZWYobnVsbCkgOiAocmVmLmN1cnJlbnQgPSBudWxsKTtcblx0XHR9XG5cblx0XHRpZiAoIWNvbXBhcmVyKSB7XG5cdFx0XHRyZXR1cm4gc2hhbGxvd0RpZmZlcnModGhpcy5wcm9wcywgbmV4dFByb3BzKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gIWNvbXBhcmVyKHRoaXMucHJvcHMsIG5leHRQcm9wcykgfHwgIXVwZGF0ZVJlZjtcblx0fVxuXG5cdGZ1bmN0aW9uIE1lbW9lZChwcm9wcykge1xuXHRcdHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gc2hvdWxkVXBkYXRlO1xuXHRcdHJldHVybiBjcmVhdGVFbGVtZW50KGMsIHByb3BzKTtcblx0fVxuXHRNZW1vZWQuZGlzcGxheU5hbWUgPSAnTWVtbygnICsgKGMuZGlzcGxheU5hbWUgfHwgYy5uYW1lKSArICcpJztcblx0TWVtb2VkLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0gdHJ1ZTtcblx0TWVtb2VkLl9mb3J3YXJkZWQgPSB0cnVlO1xuXHRyZXR1cm4gTWVtb2VkO1xufVxuIiwiaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICcuL3V0aWwnO1xuXG5sZXQgb2xkRGlmZkhvb2sgPSBvcHRpb25zLl9kaWZmO1xub3B0aW9ucy5fZGlmZiA9IHZub2RlID0+IHtcblx0aWYgKHZub2RlLnR5cGUgJiYgdm5vZGUudHlwZS5fZm9yd2FyZGVkICYmIHZub2RlLnJlZikge1xuXHRcdHZub2RlLnByb3BzLnJlZiA9IHZub2RlLnJlZjtcblx0XHR2bm9kZS5yZWYgPSBudWxsO1xuXHR9XG5cdGlmIChvbGREaWZmSG9vaykgb2xkRGlmZkhvb2sodm5vZGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IFJFQUNUX0ZPUldBUkRfU1lNQk9MID1cblx0KHR5cGVvZiBTeW1ib2wgIT0gJ3VuZGVmaW5lZCcgJiZcblx0XHRTeW1ib2wuZm9yICYmXG5cdFx0U3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKSkgfHxcblx0MHhmNDc7XG5cbi8qKlxuICogUGFzcyByZWYgZG93biB0byBhIGNoaWxkLiBUaGlzIGlzIG1haW5seSB1c2VkIGluIGxpYnJhcmllcyB3aXRoIEhPQ3MgdGhhdFxuICogd3JhcCBjb21wb25lbnRzLiBVc2luZyBgZm9yd2FyZFJlZmAgdGhlcmUgaXMgYW4gZWFzeSB3YXkgdG8gZ2V0IGEgcmVmZXJlbmNlXG4gKiBvZiB0aGUgd3JhcHBlZCBjb21wb25lbnQgaW5zdGVhZCBvZiBvbmUgb2YgdGhlIHdyYXBwZXIgaXRzZWxmLlxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW5kZXgnKS5Gb3J3YXJkRm59IGZuXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuRnVuY3Rpb25Db21wb25lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkUmVmKGZuKSB7XG5cdGZ1bmN0aW9uIEZvcndhcmRlZChwcm9wcykge1xuXHRcdGxldCBjbG9uZSA9IGFzc2lnbih7fSwgcHJvcHMpO1xuXHRcdGRlbGV0ZSBjbG9uZS5yZWY7XG5cdFx0cmV0dXJuIGZuKGNsb25lLCBwcm9wcy5yZWYgfHwgbnVsbCk7XG5cdH1cblxuXHQvLyBtb2J4LXJlYWN0IGNoZWNrcyBmb3IgdGhpcyBiZWluZyBwcmVzZW50XG5cdEZvcndhcmRlZC4kJHR5cGVvZiA9IFJFQUNUX0ZPUldBUkRfU1lNQk9MO1xuXHQvLyBtb2J4LXJlYWN0IGhlYXZpbHkgcmVsaWVzIG9uIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG5cdC8vIEl0IGV4cGVjdHMgYW4gb2JqZWN0IGhlcmUgd2l0aCBhIGByZW5kZXJgIHByb3BlcnR5LFxuXHQvLyBhbmQgcHJvdG90eXBlLnJlbmRlciB3aWxsIGZhaWwuIFdpdGhvdXQgdGhpc1xuXHQvLyBtb2J4LXJlYWN0IHRocm93cy5cblx0Rm9yd2FyZGVkLnJlbmRlciA9IEZvcndhcmRlZDtcblxuXHRGb3J3YXJkZWQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQgPSBGb3J3YXJkZWQuX2ZvcndhcmRlZCA9IHRydWU7XG5cdEZvcndhcmRlZC5kaXNwbGF5TmFtZSA9ICdGb3J3YXJkUmVmKCcgKyAoZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSkgKyAnKSc7XG5cdHJldHVybiBGb3J3YXJkZWQ7XG59XG4iLCJpbXBvcnQgeyB0b0NoaWxkQXJyYXkgfSBmcm9tICdwcmVhY3QnO1xuXG5jb25zdCBtYXBGbiA9IChjaGlsZHJlbiwgZm4pID0+IHtcblx0aWYgKGNoaWxkcmVuID09IG51bGwpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gdG9DaGlsZEFycmF5KHRvQ2hpbGRBcnJheShjaGlsZHJlbikubWFwKGZuKSk7XG59O1xuXG4vLyBUaGlzIEFQSSBpcyBjb21wbGV0ZWx5IHVubmVjZXNzYXJ5IGZvciBQcmVhY3QsIHNvIGl0J3MgYmFzaWNhbGx5IHBhc3N0aHJvdWdoLlxuZXhwb3J0IGNvbnN0IENoaWxkcmVuID0ge1xuXHRtYXA6IG1hcEZuLFxuXHRmb3JFYWNoOiBtYXBGbixcblx0Y291bnQoY2hpbGRyZW4pIHtcblx0XHRyZXR1cm4gY2hpbGRyZW4gPyB0b0NoaWxkQXJyYXkoY2hpbGRyZW4pLmxlbmd0aCA6IDA7XG5cdH0sXG5cdG9ubHkoY2hpbGRyZW4pIHtcblx0XHRjb25zdCBub3JtYWxpemVkID0gdG9DaGlsZEFycmF5KGNoaWxkcmVuKTtcblx0XHRpZiAobm9ybWFsaXplZC5sZW5ndGggIT09IDEpIHRocm93ICdDaGlsZHJlbi5vbmx5Jztcblx0XHRyZXR1cm4gbm9ybWFsaXplZFswXTtcblx0fSxcblx0dG9BcnJheTogdG9DaGlsZEFycmF5XG59O1xuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBjcmVhdGVFbGVtZW50LCBvcHRpb25zLCBGcmFnbWVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBNT0RFX0hZRFJBVEUgfSBmcm9tICcuLi8uLi9zcmMvY29uc3RhbnRzJztcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IG9sZENhdGNoRXJyb3IgPSBvcHRpb25zLl9jYXRjaEVycm9yO1xub3B0aW9ucy5fY2F0Y2hFcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pIHtcblx0aWYgKGVycm9yLnRoZW4pIHtcblx0XHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0XHRsZXQgY29tcG9uZW50O1xuXHRcdGxldCB2bm9kZSA9IG5ld1ZOb2RlO1xuXG5cdFx0Zm9yICg7ICh2bm9kZSA9IHZub2RlLl9wYXJlbnQpOyApIHtcblx0XHRcdGlmICgoY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudCkgJiYgY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQpIHtcblx0XHRcdFx0aWYgKG5ld1ZOb2RlLl9kb20gPT0gbnVsbCkge1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9kb20gPSBvbGRWTm9kZS5fZG9tO1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbiA9IG9sZFZOb2RlLl9jaGlsZHJlbjtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBEb24ndCBjYWxsIG9sZENhdGNoRXJyb3IgaWYgd2UgZm91bmQgYSBTdXNwZW5zZVxuXHRcdFx0XHRyZXR1cm4gY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQoZXJyb3IsIG5ld1ZOb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0b2xkQ2F0Y2hFcnJvcihlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pO1xufTtcblxuY29uc3Qgb2xkVW5tb3VudCA9IG9wdGlvbnMudW5tb3VudDtcbm9wdGlvbnMudW5tb3VudCA9IGZ1bmN0aW9uICh2bm9kZSkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0Y29uc3QgY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudDtcblx0aWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQuX29uUmVzb2x2ZSkge1xuXHRcdGNvbXBvbmVudC5fb25SZXNvbHZlKCk7XG5cdH1cblxuXHQvLyBpZiB0aGUgY29tcG9uZW50IGlzIHN0aWxsIGh5ZHJhdGluZ1xuXHQvLyBtb3N0IGxpa2VseSBpdCBpcyBiZWNhdXNlIHRoZSBjb21wb25lbnQgaXMgc3VzcGVuZGVkXG5cdC8vIHdlIHNldCB0aGUgdm5vZGUudHlwZSBhcyBgbnVsbGAgc28gdGhhdCBpdCBpcyBub3QgYSB0eXBlb2YgZnVuY3Rpb25cblx0Ly8gc28gdGhlIHVubW91bnQgd2lsbCByZW1vdmUgdGhlIHZub2RlLl9kb21cblx0aWYgKGNvbXBvbmVudCAmJiB2bm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpIHtcblx0XHR2bm9kZS50eXBlID0gbnVsbDtcblx0fVxuXG5cdGlmIChvbGRVbm1vdW50KSBvbGRVbm1vdW50KHZub2RlKTtcbn07XG5cbmZ1bmN0aW9uIGRldGFjaGVkQ2xvbmUodm5vZGUsIGRldGFjaGVkUGFyZW50LCBwYXJlbnREb20pIHtcblx0aWYgKHZub2RlKSB7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgJiYgdm5vZGUuX2NvbXBvbmVudC5fX2hvb2tzKSB7XG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MuX2xpc3QuZm9yRWFjaChlZmZlY3QgPT4ge1xuXHRcdFx0XHRpZiAodHlwZW9mIGVmZmVjdC5fY2xlYW51cCA9PSAnZnVuY3Rpb24nKSBlZmZlY3QuX2NsZWFudXAoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MgPSBudWxsO1xuXHRcdH1cblxuXHRcdHZub2RlID0gYXNzaWduKHt9LCB2bm9kZSk7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgIT0gbnVsbCkge1xuXHRcdFx0aWYgKHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9PT0gcGFyZW50RG9tKSB7XG5cdFx0XHRcdHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9IGRldGFjaGVkUGFyZW50O1xuXHRcdFx0fVxuXG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9mb3JjZSA9IHRydWU7XG5cblx0XHRcdHZub2RlLl9jb21wb25lbnQgPSBudWxsO1xuXHRcdH1cblxuXHRcdHZub2RlLl9jaGlsZHJlbiA9XG5cdFx0XHR2bm9kZS5fY2hpbGRyZW4gJiZcblx0XHRcdHZub2RlLl9jaGlsZHJlbi5tYXAoY2hpbGQgPT5cblx0XHRcdFx0ZGV0YWNoZWRDbG9uZShjaGlsZCwgZGV0YWNoZWRQYXJlbnQsIHBhcmVudERvbSlcblx0XHRcdCk7XG5cdH1cblxuXHRyZXR1cm4gdm5vZGU7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZU9yaWdpbmFsKHZub2RlLCBkZXRhY2hlZFBhcmVudCwgb3JpZ2luYWxQYXJlbnQpIHtcblx0aWYgKHZub2RlICYmIG9yaWdpbmFsUGFyZW50KSB7XG5cdFx0dm5vZGUuX29yaWdpbmFsID0gbnVsbDtcblx0XHR2bm9kZS5fY2hpbGRyZW4gPVxuXHRcdFx0dm5vZGUuX2NoaWxkcmVuICYmXG5cdFx0XHR2bm9kZS5fY2hpbGRyZW4ubWFwKGNoaWxkID0+XG5cdFx0XHRcdHJlbW92ZU9yaWdpbmFsKGNoaWxkLCBkZXRhY2hlZFBhcmVudCwgb3JpZ2luYWxQYXJlbnQpXG5cdFx0XHQpO1xuXG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQpIHtcblx0XHRcdGlmICh2bm9kZS5fY29tcG9uZW50Ll9wYXJlbnREb20gPT09IGRldGFjaGVkUGFyZW50KSB7XG5cdFx0XHRcdGlmICh2bm9kZS5fZG9tKSB7XG5cdFx0XHRcdFx0b3JpZ2luYWxQYXJlbnQuYXBwZW5kQ2hpbGQodm5vZGUuX2RvbSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dm5vZGUuX2NvbXBvbmVudC5fZm9yY2UgPSB0cnVlO1xuXHRcdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9wYXJlbnREb20gPSBvcmlnaW5hbFBhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gdm5vZGU7XG59XG5cbi8vIGhhdmluZyBjdXN0b20gaW5oZXJpdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzIGhlcmUgc2F2ZXMgYSBsb3Qgb2YgYnl0ZXNcbmV4cG9ydCBmdW5jdGlvbiBTdXNwZW5zZSgpIHtcblx0Ly8gd2UgZG8gbm90IGNhbGwgc3VwZXIgaGVyZSB0byBnb2xmIHNvbWUgYnl0ZXMuLi5cblx0dGhpcy5fcGVuZGluZ1N1c3BlbnNpb25Db3VudCA9IDA7XG5cdHRoaXMuX3N1c3BlbmRlcnMgPSBudWxsO1xuXHR0aGlzLl9kZXRhY2hPbk5leHRSZW5kZXIgPSBudWxsO1xufVxuXG4vLyBUaGluZ3Mgd2UgZG8gaGVyZSB0byBzYXZlIHNvbWUgYnl0ZXMgYnV0IGFyZSBub3QgcHJvcGVyIEpTIGluaGVyaXRhbmNlOlxuLy8gLSBjYWxsIGBuZXcgQ29tcG9uZW50KClgIGFzIHRoZSBwcm90b3R5cGVcbi8vIC0gZG8gbm90IHNldCBgU3VzcGVuc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yYCB0byBgU3VzcGVuc2VgXG5TdXNwZW5zZS5wcm90b3R5cGUgPSBuZXcgQ29tcG9uZW50KCk7XG5cbi8qKlxuICogQHRoaXMge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50fVxuICogQHBhcmFtIHtQcm9taXNlfSBwcm9taXNlIFRoZSB0aHJvd24gcHJvbWlzZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZTxhbnksIGFueT59IHN1c3BlbmRpbmdWTm9kZSBUaGUgc3VzcGVuZGluZyBjb21wb25lbnRcbiAqL1xuU3VzcGVuc2UucHJvdG90eXBlLl9jaGlsZERpZFN1c3BlbmQgPSBmdW5jdGlvbiAocHJvbWlzZSwgc3VzcGVuZGluZ1ZOb2RlKSB7XG5cdGNvbnN0IHN1c3BlbmRpbmdDb21wb25lbnQgPSBzdXNwZW5kaW5nVk5vZGUuX2NvbXBvbmVudDtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50fSAqL1xuXHRjb25zdCBjID0gdGhpcztcblxuXHRpZiAoYy5fc3VzcGVuZGVycyA9PSBudWxsKSB7XG5cdFx0Yy5fc3VzcGVuZGVycyA9IFtdO1xuXHR9XG5cdGMuX3N1c3BlbmRlcnMucHVzaChzdXNwZW5kaW5nQ29tcG9uZW50KTtcblxuXHRjb25zdCByZXNvbHZlID0gc3VzcGVuZGVkKGMuX3Zub2RlKTtcblxuXHRsZXQgcmVzb2x2ZWQgPSBmYWxzZTtcblx0Y29uc3Qgb25SZXNvbHZlZCA9ICgpID0+IHtcblx0XHRpZiAocmVzb2x2ZWQpIHJldHVybjtcblxuXHRcdHJlc29sdmVkID0gdHJ1ZTtcblx0XHRzdXNwZW5kaW5nQ29tcG9uZW50Ll9vblJlc29sdmUgPSBudWxsO1xuXG5cdFx0aWYgKHJlc29sdmUpIHtcblx0XHRcdHJlc29sdmUob25TdXNwZW5zaW9uQ29tcGxldGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvblN1c3BlbnNpb25Db21wbGV0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHRzdXNwZW5kaW5nQ29tcG9uZW50Ll9vblJlc29sdmUgPSBvblJlc29sdmVkO1xuXG5cdGNvbnN0IG9uU3VzcGVuc2lvbkNvbXBsZXRlID0gKCkgPT4ge1xuXHRcdGlmICghLS1jLl9wZW5kaW5nU3VzcGVuc2lvbkNvdW50KSB7XG5cdFx0XHQvLyBJZiB0aGUgc3VzcGVuc2lvbiB3YXMgZHVyaW5nIGh5ZHJhdGlvbiB3ZSBkb24ndCBuZWVkIHRvIHJlc3RvcmUgdGhlXG5cdFx0XHQvLyBzdXNwZW5kZWQgY2hpbGRyZW4gaW50byB0aGUgX2NoaWxkcmVuIGFycmF5XG5cdFx0XHRpZiAoYy5zdGF0ZS5fc3VzcGVuZGVkKSB7XG5cdFx0XHRcdGNvbnN0IHN1c3BlbmRlZFZOb2RlID0gYy5zdGF0ZS5fc3VzcGVuZGVkO1xuXHRcdFx0XHRjLl92bm9kZS5fY2hpbGRyZW5bMF0gPSByZW1vdmVPcmlnaW5hbChcblx0XHRcdFx0XHRzdXNwZW5kZWRWTm9kZSxcblx0XHRcdFx0XHRzdXNwZW5kZWRWTm9kZS5fY29tcG9uZW50Ll9wYXJlbnREb20sXG5cdFx0XHRcdFx0c3VzcGVuZGVkVk5vZGUuX2NvbXBvbmVudC5fb3JpZ2luYWxQYXJlbnREb21cblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0Yy5zZXRTdGF0ZSh7IF9zdXNwZW5kZWQ6IChjLl9kZXRhY2hPbk5leHRSZW5kZXIgPSBudWxsKSB9KTtcblxuXHRcdFx0bGV0IHN1c3BlbmRlZDtcblx0XHRcdHdoaWxlICgoc3VzcGVuZGVkID0gYy5fc3VzcGVuZGVycy5wb3AoKSkpIHtcblx0XHRcdFx0c3VzcGVuZGVkLmZvcmNlVXBkYXRlKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXG5cdC8qKlxuXHQgKiBXZSBkbyBub3Qgc2V0IGBzdXNwZW5kZWQ6IHRydWVgIGR1cmluZyBoeWRyYXRpb24gYmVjYXVzZSB3ZSB3YW50IHRoZSBhY3R1YWwgbWFya3VwXG5cdCAqIHRvIHJlbWFpbiBvbiBzY3JlZW4gYW5kIGh5ZHJhdGUgaXQgd2hlbiB0aGUgc3VzcGVuc2UgYWN0dWFsbHkgZ2V0cyByZXNvbHZlZC5cblx0ICogV2hpbGUgaW4gbm9uLWh5ZHJhdGlvbiBjYXNlcyB0aGUgdXN1YWwgZmFsbGJhY2sgLT4gY29tcG9uZW50IGZsb3cgd291bGQgb2Njb3VyLlxuXHQgKi9cblx0aWYgKFxuXHRcdCFjLl9wZW5kaW5nU3VzcGVuc2lvbkNvdW50KysgJiZcblx0XHQhKHN1c3BlbmRpbmdWTm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpXG5cdCkge1xuXHRcdGMuc2V0U3RhdGUoeyBfc3VzcGVuZGVkOiAoYy5fZGV0YWNoT25OZXh0UmVuZGVyID0gYy5fdm5vZGUuX2NoaWxkcmVuWzBdKSB9KTtcblx0fVxuXHRwcm9taXNlLnRoZW4ob25SZXNvbHZlZCwgb25SZXNvbHZlZCk7XG59O1xuXG5TdXNwZW5zZS5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdHRoaXMuX3N1c3BlbmRlcnMgPSBbXTtcbn07XG5cbi8qKlxuICogQHRoaXMge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50fVxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5TdXNwZW5zZUNvbXBvbmVudFtcInByb3BzXCJdfSBwcm9wc1xuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5TdXNwZW5zZVN0YXRlfSBzdGF0ZVxuICovXG5TdXNwZW5zZS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKHByb3BzLCBzdGF0ZSkge1xuXHRpZiAodGhpcy5fZGV0YWNoT25OZXh0UmVuZGVyKSB7XG5cdFx0Ly8gV2hlbiB0aGUgU3VzcGVuc2UncyBfdm5vZGUgd2FzIGNyZWF0ZWQgYnkgYSBjYWxsIHRvIGNyZWF0ZVZOb2RlXG5cdFx0Ly8gKGkuZS4gZHVlIHRvIGEgc2V0U3RhdGUgZnVydGhlciB1cCBpbiB0aGUgdHJlZSlcblx0XHQvLyBpdCdzIF9jaGlsZHJlbiBwcm9wIGlzIG51bGwsIGluIHRoaXMgY2FzZSB3ZSBcImZvcmdldFwiIGFib3V0IHRoZSBwYXJrZWQgdm5vZGVzIHRvIGRldGFjaFxuXHRcdGlmICh0aGlzLl92bm9kZS5fY2hpbGRyZW4pIHtcblx0XHRcdGNvbnN0IGRldGFjaGVkUGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdFx0XHRjb25zdCBkZXRhY2hlZENvbXBvbmVudCA9IHRoaXMuX3Zub2RlLl9jaGlsZHJlblswXS5fY29tcG9uZW50O1xuXHRcdFx0dGhpcy5fdm5vZGUuX2NoaWxkcmVuWzBdID0gZGV0YWNoZWRDbG9uZShcblx0XHRcdFx0dGhpcy5fZGV0YWNoT25OZXh0UmVuZGVyLFxuXHRcdFx0XHRkZXRhY2hlZFBhcmVudCxcblx0XHRcdFx0KGRldGFjaGVkQ29tcG9uZW50Ll9vcmlnaW5hbFBhcmVudERvbSA9IGRldGFjaGVkQ29tcG9uZW50Ll9wYXJlbnREb20pXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2RldGFjaE9uTmV4dFJlbmRlciA9IG51bGw7XG5cdH1cblxuXHQvLyBXcmFwIGZhbGxiYWNrIHRyZWUgaW4gYSBWTm9kZSB0aGF0IHByZXZlbnRzIGl0c2VsZiBmcm9tIGJlaW5nIG1hcmtlZCBhcyBhYm9ydGluZyBtaWQtaHlkcmF0aW9uOlxuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSAqL1xuXHRjb25zdCBmYWxsYmFjayA9XG5cdFx0c3RhdGUuX3N1c3BlbmRlZCAmJiBjcmVhdGVFbGVtZW50KEZyYWdtZW50LCBudWxsLCBwcm9wcy5mYWxsYmFjayk7XG5cdGlmIChmYWxsYmFjaykgZmFsbGJhY2suX2ZsYWdzICY9IH5NT0RFX0hZRFJBVEU7XG5cblx0cmV0dXJuIFtcblx0XHRjcmVhdGVFbGVtZW50KEZyYWdtZW50LCBudWxsLCBzdGF0ZS5fc3VzcGVuZGVkID8gbnVsbCA6IHByb3BzLmNoaWxkcmVuKSxcblx0XHRmYWxsYmFja1xuXHRdO1xufTtcblxuLyoqXG4gKiBDaGVja3MgYW5kIGNhbGxzIHRoZSBwYXJlbnQgY29tcG9uZW50J3MgX3N1c3BlbmRlZCBtZXRob2QsIHBhc3NpbmcgaW4gdGhlXG4gKiBzdXNwZW5kZWQgdm5vZGUuIFRoaXMgaXMgYSB3YXkgZm9yIGEgcGFyZW50IChlLmcuIFN1c3BlbnNlTGlzdCkgdG8gZ2V0IG5vdGlmaWVkXG4gKiB0aGF0IG9uZSBvZiBpdHMgY2hpbGRyZW4vZGVzY2VuZGFudHMgc3VzcGVuZGVkLlxuICpcbiAqIFRoZSBwYXJlbnQgTUFZIHJldHVybiBhIGNhbGxiYWNrLiBUaGUgY2FsbGJhY2sgd2lsbCBnZXQgY2FsbGVkIHdoZW4gdGhlXG4gKiBzdXNwZW5zaW9uIHJlc29sdmVzLCBub3RpZnlpbmcgdGhlIHBhcmVudCBvZiB0aGUgZmFjdC5cbiAqIE1vcmVvdmVyLCB0aGUgY2FsbGJhY2sgZ2V0cyBmdW5jdGlvbiBgdW5zdXNwZW5kYCBhcyBhIHBhcmFtZXRlci4gVGhlIHJlc29sdmVkXG4gKiBjaGlsZCBkZXNjZW5kYW50IHdpbGwgbm90IGFjdHVhbGx5IGdldCB1bnN1c3BlbmRlZCB1bnRpbCBgdW5zdXNwZW5kYCBnZXRzIGNhbGxlZC5cbiAqIFRoaXMgaXMgYSB3YXkgZm9yIHRoZSBwYXJlbnQgdG8gZGVsYXkgdW5zdXNwZW5kaW5nLlxuICpcbiAqIElmIHRoZSBwYXJlbnQgZG9lcyBub3QgcmV0dXJuIGEgY2FsbGJhY2sgdGhlbiB0aGUgcmVzb2x2ZWQgdm5vZGVcbiAqIGdldHMgdW5zdXNwZW5kZWQgaW1tZWRpYXRlbHkgd2hlbiBpdCByZXNvbHZlcy5cbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZVxuICogQHJldHVybnMgeygodW5zdXNwZW5kOiAoKSA9PiB2b2lkKSA9PiB2b2lkKT99XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdXNwZW5kZWQodm5vZGUpIHtcblx0LyoqIEB0eXBlIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnR9ICovXG5cdGxldCBjb21wb25lbnQgPSB2bm9kZS5fcGFyZW50Ll9jb21wb25lbnQ7XG5cdHJldHVybiBjb21wb25lbnQgJiYgY29tcG9uZW50Ll9zdXNwZW5kZWQgJiYgY29tcG9uZW50Ll9zdXNwZW5kZWQodm5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGF6eShsb2FkZXIpIHtcblx0bGV0IHByb207XG5cdGxldCBjb21wb25lbnQ7XG5cdGxldCBlcnJvcjtcblxuXHRmdW5jdGlvbiBMYXp5KHByb3BzKSB7XG5cdFx0aWYgKCFwcm9tKSB7XG5cdFx0XHRwcm9tID0gbG9hZGVyKCk7XG5cdFx0XHRwcm9tLnRoZW4oXG5cdFx0XHRcdGV4cG9ydHMgPT4ge1xuXHRcdFx0XHRcdGNvbXBvbmVudCA9IGV4cG9ydHMuZGVmYXVsdCB8fCBleHBvcnRzO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRlID0+IHtcblx0XHRcdFx0XHRlcnJvciA9IGU7XG5cdFx0XHRcdH1cblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0aWYgKGVycm9yKSB7XG5cdFx0XHR0aHJvdyBlcnJvcjtcblx0XHR9XG5cblx0XHRpZiAoIWNvbXBvbmVudCkge1xuXHRcdFx0dGhyb3cgcHJvbTtcblx0XHR9XG5cblx0XHRyZXR1cm4gY3JlYXRlRWxlbWVudChjb21wb25lbnQsIHByb3BzKTtcblx0fVxuXG5cdExhenkuZGlzcGxheU5hbWUgPSAnTGF6eSc7XG5cdExhenkuX2ZvcndhcmRlZCA9IHRydWU7XG5cdHJldHVybiBMYXp5O1xufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCB0b0NoaWxkQXJyYXkgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgc3VzcGVuZGVkIH0gZnJvbSAnLi9zdXNwZW5zZS5qcyc7XG5cbi8vIEluZGV4ZXMgdG8gbGlua2VkIGxpc3Qgbm9kZXMgKG5vZGVzIGFyZSBzdG9yZWQgYXMgYXJyYXlzIHRvIHNhdmUgYnl0ZXMpLlxuY29uc3QgU1VTUEVOREVEX0NPVU5UID0gMDtcbmNvbnN0IFJFU09MVkVEX0NPVU5UID0gMTtcbmNvbnN0IE5FWFRfTk9ERSA9IDI7XG5cbi8vIEhhdmluZyBjdXN0b20gaW5oZXJpdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzIGhlcmUgc2F2ZXMgYSBsb3Qgb2YgYnl0ZXMuXG5leHBvcnQgZnVuY3Rpb24gU3VzcGVuc2VMaXN0KCkge1xuXHR0aGlzLl9uZXh0ID0gbnVsbDtcblx0dGhpcy5fbWFwID0gbnVsbDtcbn1cblxuLy8gTWFyayBvbmUgb2YgY2hpbGQncyBlYXJsaWVyIHN1c3BlbnNpb25zIGFzIHJlc29sdmVkLlxuLy8gU29tZSBwZW5kaW5nIGNhbGxiYWNrcyBtYXkgYmVjb21lIGNhbGxhYmxlIGR1ZSB0byB0aGlzXG4vLyAoZS5nLiB0aGUgbGFzdCBzdXNwZW5kZWQgZGVzY2VuZGFudCBnZXRzIHJlc29sdmVkIHdoZW5cbi8vIHJldmVhbE9yZGVyID09PSAndG9nZXRoZXInKS4gUHJvY2VzcyB0aG9zZSBjYWxsYmFja3MgYXMgd2VsbC5cbmNvbnN0IHJlc29sdmUgPSAobGlzdCwgY2hpbGQsIG5vZGUpID0+IHtcblx0aWYgKCsrbm9kZVtSRVNPTFZFRF9DT1VOVF0gPT09IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdC8vIFRoZSBudW1iZXIgYSBjaGlsZCAob3IgYW55IG9mIGl0cyBkZXNjZW5kYW50cykgaGFzIGJlZW4gc3VzcGVuZGVkXG5cdFx0Ly8gbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGl0J3MgYmVlbiByZXNvbHZlZC4gVGhlcmVmb3JlIHdlXG5cdFx0Ly8gbWFyayB0aGUgY2hpbGQgYXMgY29tcGxldGVseSByZXNvbHZlZCBieSBkZWxldGluZyBpdCBmcm9tIC5fbWFwLlxuXHRcdC8vIFRoaXMgaXMgdXNlZCB0byBmaWd1cmUgb3V0IHdoZW4gKmFsbCogY2hpbGRyZW4gaGF2ZSBiZWVuIGNvbXBsZXRlbHlcblx0XHQvLyByZXNvbHZlZCB3aGVuIHJldmVhbE9yZGVyIGlzICd0b2dldGhlcicuXG5cdFx0bGlzdC5fbWFwLmRlbGV0ZShjaGlsZCk7XG5cdH1cblxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyBmYWxzeSB0aGVuIHdlIGNhbiBkbyBhbiBlYXJseSBleGl0LCBhcyB0aGVcblx0Ly8gY2FsbGJhY2tzIHdvbid0IGdldCBxdWV1ZWQgaW4gdGhlIG5vZGUgYW55d2F5LlxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyAndG9nZXRoZXInIHRoZW4gYWxzbyBkbyBhbiBlYXJseSBleGl0XG5cdC8vIGlmIGFsbCBzdXNwZW5kZWQgZGVzY2VuZGFudHMgaGF2ZSBub3QgeWV0IGJlZW4gcmVzb2x2ZWQuXG5cdGlmIChcblx0XHQhbGlzdC5wcm9wcy5yZXZlYWxPcmRlciB8fFxuXHRcdChsaXN0LnByb3BzLnJldmVhbE9yZGVyWzBdID09PSAndCcgJiYgbGlzdC5fbWFwLnNpemUpXG5cdCkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIFdhbGsgdGhlIGN1cnJlbnRseSBzdXNwZW5kZWQgY2hpbGRyZW4gaW4gb3JkZXIsIGNhbGxpbmcgdGhlaXJcblx0Ly8gc3RvcmVkIGNhbGxiYWNrcyBvbiB0aGUgd2F5LiBTdG9wIGlmIHdlIGVuY291bnRlciBhIGNoaWxkIHRoYXRcblx0Ly8gaGFzIG5vdCBiZWVuIGNvbXBsZXRlbHkgcmVzb2x2ZWQgeWV0LlxuXHRub2RlID0gbGlzdC5fbmV4dDtcblx0d2hpbGUgKG5vZGUpIHtcblx0XHR3aGlsZSAobm9kZS5sZW5ndGggPiAzKSB7XG5cdFx0XHRub2RlLnBvcCgpKCk7XG5cdFx0fVxuXHRcdGlmIChub2RlW1JFU09MVkVEX0NPVU5UXSA8IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGxpc3QuX25leHQgPSBub2RlID0gbm9kZVtORVhUX05PREVdO1xuXHR9XG59O1xuXG4vLyBUaGluZ3Mgd2UgZG8gaGVyZSB0byBzYXZlIHNvbWUgYnl0ZXMgYnV0IGFyZSBub3QgcHJvcGVyIEpTIGluaGVyaXRhbmNlOlxuLy8gLSBjYWxsIGBuZXcgQ29tcG9uZW50KClgIGFzIHRoZSBwcm90b3R5cGVcbi8vIC0gZG8gbm90IHNldCBgU3VzcGVuc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yYCB0byBgU3VzcGVuc2VgXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlID0gbmV3IENvbXBvbmVudCgpO1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLl9zdXNwZW5kZWQgPSBmdW5jdGlvbiAoY2hpbGQpIHtcblx0Y29uc3QgbGlzdCA9IHRoaXM7XG5cdGNvbnN0IGRlbGVnYXRlZCA9IHN1c3BlbmRlZChsaXN0Ll92bm9kZSk7XG5cblx0bGV0IG5vZGUgPSBsaXN0Ll9tYXAuZ2V0KGNoaWxkKTtcblx0bm9kZVtTVVNQRU5ERURfQ09VTlRdKys7XG5cblx0cmV0dXJuIHVuc3VzcGVuZCA9PiB7XG5cdFx0Y29uc3Qgd3JhcHBlZFVuc3VzcGVuZCA9ICgpID0+IHtcblx0XHRcdGlmICghbGlzdC5wcm9wcy5yZXZlYWxPcmRlcikge1xuXHRcdFx0XHQvLyBTcGVjaWFsIGNhc2UgdGhlIHVuZGVmaW5lZCAoZmFsc3kpIHJldmVhbE9yZGVyLCBhcyB0aGVyZVxuXHRcdFx0XHQvLyBpcyBubyBuZWVkIHRvIGNvb3JkaW5hdGUgYSBzcGVjaWZpYyBvcmRlciBvciB1bnN1c3BlbmRzLlxuXHRcdFx0XHR1bnN1c3BlbmQoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5vZGUucHVzaCh1bnN1c3BlbmQpO1xuXHRcdFx0XHRyZXNvbHZlKGxpc3QsIGNoaWxkLCBub2RlKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGlmIChkZWxlZ2F0ZWQpIHtcblx0XHRcdGRlbGVnYXRlZCh3cmFwcGVkVW5zdXNwZW5kKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d3JhcHBlZFVuc3VzcGVuZCgpO1xuXHRcdH1cblx0fTtcbn07XG5cblN1c3BlbnNlTGlzdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKHByb3BzKSB7XG5cdHRoaXMuX25leHQgPSBudWxsO1xuXHR0aGlzLl9tYXAgPSBuZXcgTWFwKCk7XG5cblx0Y29uc3QgY2hpbGRyZW4gPSB0b0NoaWxkQXJyYXkocHJvcHMuY2hpbGRyZW4pO1xuXHRpZiAocHJvcHMucmV2ZWFsT3JkZXIgJiYgcHJvcHMucmV2ZWFsT3JkZXJbMF0gPT09ICdiJykge1xuXHRcdC8vIElmIG9yZGVyID09PSAnYmFja3dhcmRzJyAob3IsIHdlbGwsIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGggYSAnYicpXG5cdFx0Ly8gdGhlbiBmbGlwIHRoZSBjaGlsZCBsaXN0IGFyb3VuZCBzbyB0aGF0IHRoZSBsYXN0IGNoaWxkIHdpbGwgYmVcblx0XHQvLyB0aGUgZmlyc3QgaW4gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdGNoaWxkcmVuLnJldmVyc2UoKTtcblx0fVxuXHQvLyBCdWlsZCB0aGUgbGlua2VkIGxpc3QuIEl0ZXJhdGUgdGhyb3VnaCB0aGUgY2hpbGRyZW4gaW4gcmV2ZXJzZSBvcmRlclxuXHQvLyBzbyB0aGF0IGBfbmV4dGAgcG9pbnRzIHRvIHRoZSBmaXJzdCBsaW5rZWQgbGlzdCBub2RlIHRvIGJlIHJlc29sdmVkLlxuXHRmb3IgKGxldCBpID0gY2hpbGRyZW4ubGVuZ3RoOyBpLS07ICkge1xuXHRcdC8vIENyZWF0ZSBhIG5ldyBsaW5rZWQgbGlzdCBub2RlIGFzIGFuIGFycmF5IG9mIGZvcm06XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlXVxuXHRcdC8vIHdoZXJlIHN1c3BlbmRlZF9jb3VudCBhbmQgcmVzb2x2ZWRfY291bnQgYXJlIG51bWVyaWMgY291bnRlcnMgZm9yXG5cdFx0Ly8ga2VlcGluZyB0cmFjayBob3cgbWFueSB0aW1lcyBhIG5vZGUgaGFzIGJlZW4gc3VzcGVuZGVkIGFuZCByZXNvbHZlZC5cblx0XHQvL1xuXHRcdC8vIE5vdGUgdGhhdCBzdXNwZW5kZWRfY291bnQgc3RhcnRzIGZyb20gMSBpbnN0ZWFkIG9mIDAsIHNvIHdlIGNhbiBibG9ja1xuXHRcdC8vIHByb2Nlc3NpbmcgY2FsbGJhY2tzIHVudGlsIGNvbXBvbmVudERpZE1vdW50IGhhcyBiZWVuIGNhbGxlZC4gSW4gYSBzZW5zZVxuXHRcdC8vIG5vZGUgaXMgc3VzcGVuZGVkIGF0IGxlYXN0IHVudGlsIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkIVxuXHRcdC8vXG5cdFx0Ly8gUGVuZGluZyBjYWxsYmFja3MgYXJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIG5vZGU6XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlLCBjYWxsYmFja18wLCBjYWxsYmFja18xLCAuLi5dXG5cdFx0dGhpcy5fbWFwLnNldChjaGlsZHJlbltpXSwgKHRoaXMuX25leHQgPSBbMSwgMCwgdGhpcy5fbmV4dF0pKTtcblx0fVxuXHRyZXR1cm4gcHJvcHMuY2hpbGRyZW47XG59O1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9XG5cdFN1c3BlbnNlTGlzdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0Ly8gSXRlcmF0ZSB0aHJvdWdoIGFsbCBjaGlsZHJlbiBhZnRlciBtb3VudGluZyBmb3IgdHdvIHJlYXNvbnM6XG5cdFx0Ly8gMS4gQXMgZWFjaCBub2RlW1NVU1BFTkRFRF9DT1VOVF0gc3RhcnRzIGZyb20gMSwgdGhpcyBpdGVyYXRpb24gaW5jcmVhc2VzXG5cdFx0Ly8gICAgZWFjaCBub2RlW1JFTEVBU0VEX0NPVU5UXSBieSAxLCB0aGVyZWZvcmUgYmFsYW5jaW5nIHRoZSBjb3VudGVycy5cblx0XHQvLyAgICBUaGUgbm9kZXMgY2FuIG5vdyBiZSBjb21wbGV0ZWx5IGNvbnN1bWVkIGZyb20gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdC8vIDIuIEhhbmRsZSBub2RlcyB0aGF0IG1pZ2h0IGhhdmUgZ290dGVuIHJlc29sdmVkIGJldHdlZW4gcmVuZGVyIGFuZFxuXHRcdC8vICAgIGNvbXBvbmVudERpZE1vdW50LlxuXHRcdHRoaXMuX21hcC5mb3JFYWNoKChub2RlLCBjaGlsZCkgPT4ge1xuXHRcdFx0cmVzb2x2ZSh0aGlzLCBjaGlsZCwgbm9kZSk7XG5cdFx0fSk7XG5cdH07XG4iLCIvKiogTm9ybWFsIGh5ZHJhdGlvbiB0aGF0IGF0dGFjaGVzIHRvIGEgRE9NIHRyZWUgYnV0IGRvZXMgbm90IGRpZmYgaXQuICovXG5leHBvcnQgY29uc3QgTU9ERV9IWURSQVRFID0gMSA8PCA1O1xuLyoqIFNpZ25pZmllcyB0aGlzIFZOb2RlIHN1c3BlbmRlZCBvbiB0aGUgcHJldmlvdXMgcmVuZGVyICovXG5leHBvcnQgY29uc3QgTU9ERV9TVVNQRU5ERUQgPSAxIDw8IDc7XG4vKiogSW5kaWNhdGVzIHRoYXQgdGhpcyBub2RlIG5lZWRzIHRvIGJlIGluc2VydGVkIHdoaWxlIHBhdGNoaW5nIGNoaWxkcmVuICovXG5leHBvcnQgY29uc3QgSU5TRVJUX1ZOT0RFID0gMSA8PCAyO1xuLyoqIEluZGljYXRlcyBhIFZOb2RlIGhhcyBiZWVuIG1hdGNoZWQgd2l0aCBhbm90aGVyIFZOb2RlIGluIHRoZSBkaWZmICovXG5leHBvcnQgY29uc3QgTUFUQ0hFRCA9IDEgPDwgMTtcblxuLyoqIFJlc2V0IGFsbCBtb2RlIGZsYWdzICovXG5leHBvcnQgY29uc3QgUkVTRVRfTU9ERSA9IH4oTU9ERV9IWURSQVRFIHwgTU9ERV9TVVNQRU5ERUQpO1xuXG5leHBvcnQgY29uc3QgU1ZHX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7XG5leHBvcnQgY29uc3QgWEhUTUxfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnO1xuZXhwb3J0IGNvbnN0IE1BVEhfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnO1xuXG5leHBvcnQgY29uc3QgTlVMTCA9IG51bGw7XG5leHBvcnQgY29uc3QgVU5ERUZJTkVEID0gdW5kZWZpbmVkO1xuZXhwb3J0IGNvbnN0IEVNUFRZX09CSiA9IC8qKiBAdHlwZSB7YW55fSAqLyAoe30pO1xuZXhwb3J0IGNvbnN0IEVNUFRZX0FSUiA9IFtdO1xuZXhwb3J0IGNvbnN0IElTX05PTl9ESU1FTlNJT05BTCA9XG5cdC9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2k7XG4iLCJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCByZW5kZXIgfSBmcm9tICdwcmVhY3QnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi8uLi9zcmMvaW5kZXgnKS5SZW5kZXJhYmxlUHJvcHM8eyBjb250ZXh0OiBhbnkgfT59IHByb3BzXG4gKi9cbmZ1bmN0aW9uIENvbnRleHRQcm92aWRlcihwcm9wcykge1xuXHR0aGlzLmdldENoaWxkQ29udGV4dCA9ICgpID0+IHByb3BzLmNvbnRleHQ7XG5cdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBQb3J0YWwgY29tcG9uZW50XG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50fVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsIHwgdW5kZWZpbmVkfSBwcm9wc1xuICpcbiAqIFRPRE86IHVzZSBjcmVhdGVSb290KCkgaW5zdGVhZCBvZiBmYWtlIHJvb3RcbiAqL1xuZnVuY3Rpb24gUG9ydGFsKHByb3BzKSB7XG5cdGNvbnN0IF90aGlzID0gdGhpcztcblx0bGV0IGNvbnRhaW5lciA9IHByb3BzLl9jb250YWluZXI7XG5cblx0X3RoaXMuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0cmVuZGVyKG51bGwsIF90aGlzLl90ZW1wKTtcblx0XHRfdGhpcy5fdGVtcCA9IG51bGw7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IG51bGw7XG5cdH07XG5cblx0Ly8gV2hlbiB3ZSBjaGFuZ2UgY29udGFpbmVyIHdlIHNob3VsZCBjbGVhciBvdXIgb2xkIGNvbnRhaW5lciBhbmRcblx0Ly8gaW5kaWNhdGUgYSBuZXcgbW91bnQuXG5cdGlmIChfdGhpcy5fY29udGFpbmVyICYmIF90aGlzLl9jb250YWluZXIgIT09IGNvbnRhaW5lcikge1xuXHRcdF90aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG5cdH1cblxuXHRpZiAoIV90aGlzLl90ZW1wKSB7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IGNvbnRhaW5lcjtcblxuXHRcdC8vIENyZWF0ZSBhIGZha2UgRE9NIHBhcmVudCBub2RlIHRoYXQgbWFuYWdlcyBhIHN1YnNldCBvZiBgY29udGFpbmVyYCdzIGNoaWxkcmVuOlxuXHRcdF90aGlzLl90ZW1wID0ge1xuXHRcdFx0bm9kZVR5cGU6IDEsXG5cdFx0XHRwYXJlbnROb2RlOiBjb250YWluZXIsXG5cdFx0XHRjaGlsZE5vZGVzOiBbXSxcblx0XHRcdGNvbnRhaW5zOiAoKSA9PiB0cnVlLFxuXHRcdFx0Ly8gVGVjaG5pY2FsbHkgdGhpcyBpc24ndCBuZWVkZWRcblx0XHRcdGFwcGVuZENoaWxkKGNoaWxkKSB7XG5cdFx0XHRcdHRoaXMuY2hpbGROb2Rlcy5wdXNoKGNoaWxkKTtcblx0XHRcdFx0X3RoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChjaGlsZCk7XG5cdFx0XHR9LFxuXHRcdFx0aW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmUpIHtcblx0XHRcdFx0dGhpcy5jaGlsZE5vZGVzLnB1c2goY2hpbGQpO1xuXHRcdFx0XHRfdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShjaGlsZCwgYmVmb3JlKTtcblx0XHRcdH0sXG5cdFx0XHRyZW1vdmVDaGlsZChjaGlsZCkge1xuXHRcdFx0XHR0aGlzLmNoaWxkTm9kZXMuc3BsaWNlKHRoaXMuY2hpbGROb2Rlcy5pbmRleE9mKGNoaWxkKSA+Pj4gMSwgMSk7XG5cdFx0XHRcdF90aGlzLl9jb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHQvLyBSZW5kZXIgb3VyIHdyYXBwaW5nIGVsZW1lbnQgaW50byB0ZW1wLlxuXHRyZW5kZXIoXG5cdFx0Y3JlYXRlRWxlbWVudChDb250ZXh0UHJvdmlkZXIsIHsgY29udGV4dDogX3RoaXMuY29udGV4dCB9LCBwcm9wcy5fdm5vZGUpLFxuXHRcdF90aGlzLl90ZW1wXG5cdCk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYFBvcnRhbGAgdG8gY29udGludWUgcmVuZGVyaW5nIHRoZSB2bm9kZSB0cmVlIGF0IGEgZGlmZmVyZW50IERPTSBub2RlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZSBUaGUgdm5vZGUgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlByZWFjdEVsZW1lbnR9IGNvbnRhaW5lciBUaGUgRE9NIG5vZGUgdG8gY29udGludWUgcmVuZGVyaW5nIGluIHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9ydGFsKHZub2RlLCBjb250YWluZXIpIHtcblx0Y29uc3QgZWwgPSBjcmVhdGVFbGVtZW50KFBvcnRhbCwgeyBfdm5vZGU6IHZub2RlLCBfY29udGFpbmVyOiBjb250YWluZXIgfSk7XG5cdGVsLmNvbnRhaW5lckluZm8gPSBjb250YWluZXI7XG5cdHJldHVybiBlbDtcbn1cbiIsImltcG9ydCB7XG5cdHJlbmRlciBhcyBwcmVhY3RSZW5kZXIsXG5cdGh5ZHJhdGUgYXMgcHJlYWN0SHlkcmF0ZSxcblx0b3B0aW9ucyxcblx0dG9DaGlsZEFycmF5LFxuXHRDb21wb25lbnRcbn0gZnJvbSAncHJlYWN0JztcbmltcG9ydCB7XG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VDb250ZXh0LFxuXHR1c2VEZWJ1Z1ZhbHVlLFxuXHR1c2VFZmZlY3QsXG5cdHVzZUlkLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VMYXlvdXRFZmZlY3QsXG5cdHVzZU1lbW8sXG5cdHVzZVJlZHVjZXIsXG5cdHVzZVJlZixcblx0dXNlU3RhdGVcbn0gZnJvbSAncHJlYWN0L2hvb2tzJztcbmltcG9ydCB7XG5cdHVzZURlZmVycmVkVmFsdWUsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHVzZVRyYW5zaXRpb25cbn0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBSRUFDVF9FTEVNRU5UX1RZUEUgPVxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiBTeW1ib2wuZm9yICYmIFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSkgfHxcblx0MHhlYWM3O1xuXG5jb25zdCBDQU1FTF9QUk9QUyA9XG5cdC9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLztcbmNvbnN0IE9OX0FOSSA9IC9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS87XG5jb25zdCBDQU1FTF9SRVBMQUNFID0gL1tBLVowLTldL2c7XG5jb25zdCBJU19ET00gPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnO1xuXG4vLyBJbnB1dCB0eXBlcyBmb3Igd2hpY2ggb25jaGFuZ2Ugc2hvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gb25pbnB1dC5cbi8vIHR5cGU9XCJmaWxlfGNoZWNrYm94fHJhZGlvXCIsIHBsdXMgXCJyYW5nZVwiIGluIElFMTEuXG4vLyAoSUUxMSBkb2Vzbid0IHN1cHBvcnQgU3ltYm9sLCB3aGljaCB3ZSB1c2UgaGVyZSB0byB0dXJuIGByYWRgIGludG8gYHJhYCB3aGljaCBtYXRjaGVzIFwicmFuZ2VcIilcbmNvbnN0IG9uQ2hhbmdlSW5wdXRUeXBlID0gdHlwZSA9PlxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgU3ltYm9sKCkgPT0gJ3N5bWJvbCdcblx0XHQ/IC9maWx8Y2hlfHJhZC9cblx0XHQ6IC9maWx8Y2hlfHJhL1xuXHQpLnRlc3QodHlwZSk7XG5cbi8vIFNvbWUgbGlicmFyaWVzIGxpa2UgYHJlYWN0LXZpcnR1YWxpemVkYCBleHBsaWNpdGx5IGNoZWNrIGZvciB0aGlzLlxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XG5cbi8vIGBVTlNBRkVfKmAgbGlmZWN5Y2xlIGhvb2tzXG4vLyBQcmVhY3Qgb25seSBldmVyIGludm9rZXMgdGhlIHVucHJlZml4ZWQgbWV0aG9kcy5cbi8vIEhlcmUgd2UgcHJvdmlkZSBhIGJhc2UgXCJmYWxsYmFja1wiIGltcGxlbWVudGF0aW9uIHRoYXQgY2FsbHMgYW55IGRlZmluZWQgVU5TQUZFXyBwcmVmaXhlZCBtZXRob2QuXG4vLyAtIElmIGEgY29tcG9uZW50IGRlZmluZXMgaXRzIG93biBgY29tcG9uZW50RGlkTW91bnQoKWAgKGluY2x1ZGluZyB2aWEgZGVmaW5lUHJvcGVydHkpLCB1c2UgdGhhdC5cbi8vIC0gSWYgYSBjb21wb25lbnQgZGVmaW5lcyBgVU5TQUZFX2NvbXBvbmVudERpZE1vdW50KClgLCBgY29tcG9uZW50RGlkTW91bnRgIGlzIHRoZSBhbGlhcyBnZXR0ZXIvc2V0dGVyLlxuLy8gLSBJZiBhbnl0aGluZyBhc3NpZ25zIHRvIGFuIGBVTlNBRkVfKmAgcHJvcGVydHksIHRoZSBhc3NpZ25tZW50IGlzIGZvcndhcmRlZCB0byB0aGUgdW5wcmVmaXhlZCBwcm9wZXJ0eS5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJlYWN0anMvcHJlYWN0L2lzc3Vlcy8xOTQxXG5bXG5cdCdjb21wb25lbnRXaWxsTW91bnQnLFxuXHQnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycsXG5cdCdjb21wb25lbnRXaWxsVXBkYXRlJ1xuXS5mb3JFYWNoKGtleSA9PiB7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21wb25lbnQucHJvdG90eXBlLCBrZXksIHtcblx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXNbJ1VOU0FGRV8nICsga2V5XTtcblx0XHR9LFxuXHRcdHNldCh2KSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywga2V5LCB7XG5cdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdFx0d3JpdGFibGU6IHRydWUsXG5cdFx0XHRcdHZhbHVlOiB2XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0pO1xufSk7XG5cbi8qKlxuICogUHJveHkgcmVuZGVyKCkgc2luY2UgUmVhY3QgcmV0dXJucyBhIENvbXBvbmVudCByZWZlcmVuY2UuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZSBWTm9kZSB0cmVlIHRvIHJlbmRlclxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5QcmVhY3RFbGVtZW50fSBwYXJlbnQgRE9NIG5vZGUgdG8gcmVuZGVyIHZub2RlIHRyZWUgaW50b1xuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbY2FsbGJhY2tdIE9wdGlvbmFsIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgcmVuZGVyaW5nXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50IHwgbnVsbH0gVGhlIHJvb3QgY29tcG9uZW50IHJlZmVyZW5jZSBvciBudWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0Ly8gUmVhY3QgZGVzdHJveXMgYW55IGV4aXN0aW5nIERPTSBub2Rlcywgc2VlICMxNzI3XG5cdC8vIC4uLmJ1dCBvbmx5IG9uIHRoZSBmaXJzdCByZW5kZXIsIHNlZSAjMTgyOFxuXHRpZiAocGFyZW50Ll9jaGlsZHJlbiA9PSBudWxsKSB7XG5cdFx0cGFyZW50LnRleHRDb250ZW50ID0gJyc7XG5cdH1cblxuXHRwcmVhY3RSZW5kZXIodm5vZGUsIHBhcmVudCk7XG5cdGlmICh0eXBlb2YgY2FsbGJhY2sgPT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTtcblxuXHRyZXR1cm4gdm5vZGUgPyB2bm9kZS5fY29tcG9uZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5ZHJhdGUodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0cHJlYWN0SHlkcmF0ZSh2bm9kZSwgcGFyZW50KTtcblx0aWYgKHR5cGVvZiBjYWxsYmFjayA9PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuXG5cdHJldHVybiB2bm9kZSA/IHZub2RlLl9jb21wb25lbnQgOiBudWxsO1xufVxuXG5sZXQgb2xkRXZlbnRIb29rID0gb3B0aW9ucy5ldmVudDtcbm9wdGlvbnMuZXZlbnQgPSBlID0+IHtcblx0aWYgKG9sZEV2ZW50SG9vaykgZSA9IG9sZEV2ZW50SG9vayhlKTtcblxuXHRlLnBlcnNpc3QgPSBlbXB0eTtcblx0ZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGlzUHJvcGFnYXRpb25TdG9wcGVkO1xuXHRlLmlzRGVmYXVsdFByZXZlbnRlZCA9IGlzRGVmYXVsdFByZXZlbnRlZDtcblx0cmV0dXJuIChlLm5hdGl2ZUV2ZW50ID0gZSk7XG59O1xuXG5mdW5jdGlvbiBlbXB0eSgpIHt9XG5cbmZ1bmN0aW9uIGlzUHJvcGFnYXRpb25TdG9wcGVkKCkge1xuXHRyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGU7XG59XG5cbmZ1bmN0aW9uIGlzRGVmYXVsdFByZXZlbnRlZCgpIHtcblx0cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZDtcbn1cblxuY29uc3QgY2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlID0ge1xuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2xhc3M7XG5cdH1cbn07XG5cbmZ1bmN0aW9uIGhhbmRsZURvbVZOb2RlKHZub2RlKSB7XG5cdGxldCBwcm9wcyA9IHZub2RlLnByb3BzLFxuXHRcdHR5cGUgPSB2bm9kZS50eXBlLFxuXHRcdG5vcm1hbGl6ZWRQcm9wcyA9IHt9O1xuXG5cdGxldCBpc05vbkRhc2hlZFR5cGUgPSB0eXBlLmluZGV4T2YoJy0nKSA9PT0gLTE7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIHtcblx0XHRsZXQgdmFsdWUgPSBwcm9wc1tpXTtcblxuXHRcdGlmIChcblx0XHRcdChpID09PSAndmFsdWUnICYmICdkZWZhdWx0VmFsdWUnIGluIHByb3BzICYmIHZhbHVlID09IG51bGwpIHx8XG5cdFx0XHQvLyBFbXVsYXRlIFJlYWN0J3MgYmVoYXZpb3Igb2Ygbm90IHJlbmRlcmluZyB0aGUgY29udGVudHMgb2Ygbm9zY3JpcHQgdGFncyBvbiB0aGUgY2xpZW50LlxuXHRcdFx0KElTX0RPTSAmJiBpID09PSAnY2hpbGRyZW4nICYmIHR5cGUgPT09ICdub3NjcmlwdCcpIHx8XG5cdFx0XHRpID09PSAnY2xhc3MnIHx8XG5cdFx0XHRpID09PSAnY2xhc3NOYW1lJ1xuXHRcdCkge1xuXHRcdFx0Ly8gU2tpcCBhcHBseWluZyB2YWx1ZSBpZiBpdCBpcyBudWxsL3VuZGVmaW5lZCBhbmQgd2UgYWxyZWFkeSBzZXRcblx0XHRcdC8vIGEgZGVmYXVsdCB2YWx1ZVxuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0bGV0IGxvd2VyQ2FzZWQgPSBpLnRvTG93ZXJDYXNlKCk7XG5cdFx0aWYgKGkgPT09ICdkZWZhdWx0VmFsdWUnICYmICd2YWx1ZScgaW4gcHJvcHMgJiYgcHJvcHMudmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0Ly8gYGRlZmF1bHRWYWx1ZWAgaXMgdHJlYXRlZCBhcyBhIGZhbGxiYWNrIGB2YWx1ZWAgd2hlbiBhIHZhbHVlIHByb3AgaXMgcHJlc2VudCBidXQgbnVsbC91bmRlZmluZWQuXG5cdFx0XHQvLyBgZGVmYXVsdFZhbHVlYCBmb3IgRWxlbWVudHMgd2l0aCBubyB2YWx1ZSBwcm9wIGlzIHRoZSBzYW1lIGFzIHRoZSBET00gZGVmYXVsdFZhbHVlIHByb3BlcnR5LlxuXHRcdFx0aSA9ICd2YWx1ZSc7XG5cdFx0fSBlbHNlIGlmIChpID09PSAnZG93bmxvYWQnICYmIHZhbHVlID09PSB0cnVlKSB7XG5cdFx0XHQvLyBDYWxsaW5nIGBzZXRBdHRyaWJ1dGVgIHdpdGggYSB0cnV0aHkgdmFsdWUgd2lsbCBsZWFkIHRvIGl0IGJlaW5nXG5cdFx0XHQvLyBwYXNzZWQgYXMgYSBzdHJpbmdpZmllZCB2YWx1ZSwgZS5nLiBgZG93bmxvYWQ9XCJ0cnVlXCJgLiBSZWFjdFxuXHRcdFx0Ly8gY29udmVydHMgaXQgdG8gYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQsIG90aGVyd2lzZSB0aGUgYXR0cmlidXRlXG5cdFx0XHQvLyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdGhlIGZpbGUgbmFtZSBhbmQgdGhlIGZpbGUgd2lsbCBiZSBjYWxsZWRcblx0XHRcdC8vIFwidHJ1ZVwiIHVwb24gZG93bmxvYWRpbmcgaXQuXG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH0gZWxzZSBpZiAobG93ZXJDYXNlZCA9PT0gJ3RyYW5zbGF0ZScgJiYgdmFsdWUgPT09ICdubycpIHtcblx0XHRcdHZhbHVlID0gZmFsc2U7XG5cdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkWzBdID09PSAnbycgJiYgbG93ZXJDYXNlZFsxXSA9PT0gJ24nKSB7XG5cdFx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uZG91YmxlY2xpY2snKSB7XG5cdFx0XHRcdGkgPSAnb25kYmxjbGljayc7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRsb3dlckNhc2VkID09PSAnb25jaGFuZ2UnICYmXG5cdFx0XHRcdCh0eXBlID09PSAnaW5wdXQnIHx8IHR5cGUgPT09ICd0ZXh0YXJlYScpICYmXG5cdFx0XHRcdCFvbkNoYW5nZUlucHV0VHlwZShwcm9wcy50eXBlKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGxvd2VyQ2FzZWQgPSBpID0gJ29uaW5wdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25mb2N1cycpIHtcblx0XHRcdFx0aSA9ICdvbmZvY3VzaW4nO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25ibHVyJykge1xuXHRcdFx0XHRpID0gJ29uZm9jdXNvdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChPTl9BTkkudGVzdChpKSkge1xuXHRcdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGlzTm9uRGFzaGVkVHlwZSAmJiBDQU1FTF9QUk9QUy50ZXN0KGkpKSB7XG5cdFx0XHRpID0gaS5yZXBsYWNlKENBTUVMX1JFUExBQ0UsICctJCYnKS50b0xvd2VyQ2FzZSgpO1xuXHRcdH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHZhbHVlID0gdW5kZWZpbmVkO1xuXHRcdH1cblxuXHRcdC8vIEFkZCBzdXBwb3J0IGZvciBvbklucHV0IGFuZCBvbkNoYW5nZSwgc2VlICMzNTYxXG5cdFx0Ly8gaWYgd2UgaGF2ZSBhbiBvbmlucHV0IHByb3AgYWxyZWFkeSBjaGFuZ2UgaXQgdG8gb25pbnB1dENhcHR1cmVcblx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uaW5wdXQnKSB7XG5cdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdGlmIChub3JtYWxpemVkUHJvcHNbaV0pIHtcblx0XHRcdFx0aSA9ICdvbmlucHV0Q2FwdHVyZSc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bm9ybWFsaXplZFByb3BzW2ldID0gdmFsdWU7XG5cdH1cblxuXHQvLyBBZGQgc3VwcG9ydCBmb3IgYXJyYXkgc2VsZWN0IHZhbHVlczogPHNlbGVjdCBtdWx0aXBsZSB2YWx1ZT17W119IC8+XG5cdGlmIChcblx0XHR0eXBlID09ICdzZWxlY3QnICYmXG5cdFx0bm9ybWFsaXplZFByb3BzLm11bHRpcGxlICYmXG5cdFx0QXJyYXkuaXNBcnJheShub3JtYWxpemVkUHJvcHMudmFsdWUpXG5cdCkge1xuXHRcdC8vIGZvckVhY2goKSBhbHdheXMgcmV0dXJucyB1bmRlZmluZWQsIHdoaWNoIHdlIGFidXNlIGhlcmUgdG8gdW5zZXQgdGhlIHZhbHVlIHByb3AuXG5cdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlID0gdG9DaGlsZEFycmF5KHByb3BzLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkID0+IHtcblx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gQWRkaW5nIHN1cHBvcnQgZm9yIGRlZmF1bHRWYWx1ZSBpbiBzZWxlY3QgdGFnXG5cdGlmICh0eXBlID09ICdzZWxlY3QnICYmIG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy52YWx1ZSA9IHRvQ2hpbGRBcnJheShwcm9wcy5jaGlsZHJlbikuZm9yRWFjaChjaGlsZCA9PiB7XG5cdFx0XHRpZiAobm9ybWFsaXplZFByb3BzLm11bHRpcGxlKSB7XG5cdFx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0XHRub3JtYWxpemVkUHJvcHMuZGVmYXVsdFZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y2hpbGQucHJvcHMuc2VsZWN0ZWQgPVxuXHRcdFx0XHRcdG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgPT0gY2hpbGQucHJvcHMudmFsdWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRpZiAocHJvcHMuY2xhc3MgJiYgIXByb3BzLmNsYXNzTmFtZSkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy5jbGFzcyA9IHByb3BzLmNsYXNzO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRcdG5vcm1hbGl6ZWRQcm9wcyxcblx0XHRcdCdjbGFzc05hbWUnLFxuXHRcdFx0Y2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlXG5cdFx0KTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgJiYgIXByb3BzLmNsYXNzKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNsYXNzID0gbm9ybWFsaXplZFByb3BzLmNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzcyAmJiBwcm9wcy5jbGFzc05hbWUpIHtcblx0XHRub3JtYWxpemVkUHJvcHMuY2xhc3MgPSBub3JtYWxpemVkUHJvcHMuY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXHR9XG5cblx0dm5vZGUucHJvcHMgPSBub3JtYWxpemVkUHJvcHM7XG59XG5cbmxldCBvbGRWTm9kZUhvb2sgPSBvcHRpb25zLnZub2RlO1xub3B0aW9ucy52bm9kZSA9IHZub2RlID0+IHtcblx0Ly8gb25seSBub3JtYWxpemUgcHJvcHMgb24gRWxlbWVudCBub2Rlc1xuXHRpZiAodHlwZW9mIHZub2RlLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0aGFuZGxlRG9tVk5vZGUodm5vZGUpO1xuXHR9XG5cblx0dm5vZGUuJCR0eXBlb2YgPSBSRUFDVF9FTEVNRU5UX1RZUEU7XG5cblx0aWYgKG9sZFZOb2RlSG9vaykgb2xkVk5vZGVIb29rKHZub2RlKTtcbn07XG5cbi8vIE9ubHkgbmVlZGVkIGZvciByZWFjdC1yZWxheVxubGV0IGN1cnJlbnRDb21wb25lbnQ7XG5jb25zdCBvbGRCZWZvcmVSZW5kZXIgPSBvcHRpb25zLl9yZW5kZXI7XG5vcHRpb25zLl9yZW5kZXIgPSBmdW5jdGlvbiAodm5vZGUpIHtcblx0aWYgKG9sZEJlZm9yZVJlbmRlcikge1xuXHRcdG9sZEJlZm9yZVJlbmRlcih2bm9kZSk7XG5cdH1cblx0Y3VycmVudENvbXBvbmVudCA9IHZub2RlLl9jb21wb25lbnQ7XG59O1xuXG5jb25zdCBvbGREaWZmZWQgPSBvcHRpb25zLmRpZmZlZDtcbi8qKiBAdHlwZSB7KHZub2RlOiBpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZSkgPT4gdm9pZH0gKi9cbm9wdGlvbnMuZGlmZmVkID0gZnVuY3Rpb24gKHZub2RlKSB7XG5cdGlmIChvbGREaWZmZWQpIHtcblx0XHRvbGREaWZmZWQodm5vZGUpO1xuXHR9XG5cblx0Y29uc3QgcHJvcHMgPSB2bm9kZS5wcm9wcztcblx0Y29uc3QgZG9tID0gdm5vZGUuX2RvbTtcblxuXHRpZiAoXG5cdFx0ZG9tICE9IG51bGwgJiZcblx0XHR2bm9kZS50eXBlID09PSAndGV4dGFyZWEnICYmXG5cdFx0J3ZhbHVlJyBpbiBwcm9wcyAmJlxuXHRcdHByb3BzLnZhbHVlICE9PSBkb20udmFsdWVcblx0KSB7XG5cdFx0ZG9tLnZhbHVlID0gcHJvcHMudmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMudmFsdWU7XG5cdH1cblxuXHRjdXJyZW50Q29tcG9uZW50ID0gbnVsbDtcbn07XG5cbi8vIFRoaXMgaXMgYSB2ZXJ5IHZlcnkgcHJpdmF0ZSBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgUmVhY3QgaXRcbi8vIGlzIHVzZWQgdG8gc29ydC1vZiBkbyBydW50aW1lIGRlcGVuZGVuY3kgaW5qZWN0aW9uLlxuZXhwb3J0IGNvbnN0IF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEID0ge1xuXHRSZWFjdEN1cnJlbnREaXNwYXRjaGVyOiB7XG5cdFx0Y3VycmVudDoge1xuXHRcdFx0cmVhZENvbnRleHQoY29udGV4dCkge1xuXHRcdFx0XHRyZXR1cm4gY3VycmVudENvbXBvbmVudC5fZ2xvYmFsQ29udGV4dFtjb250ZXh0Ll9pZF0ucHJvcHMudmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0dXNlQ2FsbGJhY2ssXG5cdFx0XHR1c2VDb250ZXh0LFxuXHRcdFx0dXNlRGVidWdWYWx1ZSxcblx0XHRcdHVzZURlZmVycmVkVmFsdWUsXG5cdFx0XHR1c2VFZmZlY3QsXG5cdFx0XHR1c2VJZCxcblx0XHRcdHVzZUltcGVyYXRpdmVIYW5kbGUsXG5cdFx0XHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdFx0XHR1c2VMYXlvdXRFZmZlY3QsXG5cdFx0XHR1c2VNZW1vLFxuXHRcdFx0Ly8gdXNlTXV0YWJsZVNvdXJjZSwgLy8gZXhwZXJpbWVudGFsLW9ubHkgYW5kIHJlcGxhY2VkIGJ5IHVTRVMsIGxpa2VseSBub3Qgd29ydGggc3VwcG9ydGluZ1xuXHRcdFx0dXNlUmVkdWNlcixcblx0XHRcdHVzZVJlZixcblx0XHRcdHVzZVN0YXRlLFxuXHRcdFx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdFx0XHR1c2VUcmFuc2l0aW9uXG5cdFx0fVxuXHR9XG59O1xuIiwiaW1wb3J0IHtcblx0Y3JlYXRlRWxlbWVudCxcblx0cmVuZGVyIGFzIHByZWFjdFJlbmRlcixcblx0Y2xvbmVFbGVtZW50IGFzIHByZWFjdENsb25lRWxlbWVudCxcblx0Y3JlYXRlUmVmLFxuXHRDb21wb25lbnQsXG5cdGNyZWF0ZUNvbnRleHQsXG5cdEZyYWdtZW50XG59IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQge1xuXHR1c2VTdGF0ZSxcblx0dXNlSWQsXG5cdHVzZVJlZHVjZXIsXG5cdHVzZUVmZmVjdCxcblx0dXNlTGF5b3V0RWZmZWN0LFxuXHR1c2VSZWYsXG5cdHVzZUltcGVyYXRpdmVIYW5kbGUsXG5cdHVzZU1lbW8sXG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VDb250ZXh0LFxuXHR1c2VEZWJ1Z1ZhbHVlXG59IGZyb20gJ3ByZWFjdC9ob29rcyc7XG5pbXBvcnQge1xuXHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdHN0YXJ0VHJhbnNpdGlvbixcblx0dXNlRGVmZXJyZWRWYWx1ZSxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHVzZVRyYW5zaXRpb25cbn0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAnLi9QdXJlQ29tcG9uZW50JztcbmltcG9ydCB7IG1lbW8gfSBmcm9tICcuL21lbW8nO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiB9IGZyb20gJy4vZm9yd2FyZFJlZic7XG5pbXBvcnQgeyBDaGlsZHJlbiB9IGZyb20gJy4vQ2hpbGRyZW4nO1xuaW1wb3J0IHsgU3VzcGVuc2UsIGxhenkgfSBmcm9tICcuL3N1c3BlbnNlJztcbmltcG9ydCB7IFN1c3BlbnNlTGlzdCB9IGZyb20gJy4vc3VzcGVuc2UtbGlzdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICcuL3BvcnRhbHMnO1xuaW1wb3J0IHtcblx0aHlkcmF0ZSxcblx0cmVuZGVyLFxuXHRSRUFDVF9FTEVNRU5UX1RZUEUsXG5cdF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEXG59IGZyb20gJy4vcmVuZGVyJztcblxuY29uc3QgdmVyc2lvbiA9ICcxOC4zLjEnOyAvLyB0cmljayBsaWJyYXJpZXMgdG8gdGhpbmsgd2UgYXJlIHJlYWN0XG5cbi8qKlxuICogTGVnYWN5IHZlcnNpb24gb2YgY3JlYXRlRWxlbWVudC5cbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGVbXCJ0eXBlXCJdfSB0eXBlIFRoZSBub2RlIG5hbWUgb3IgQ29tcG9uZW50IGNvbnN0cnVjdG9yXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUZhY3RvcnkodHlwZSkge1xuXHRyZXR1cm4gY3JlYXRlRWxlbWVudC5iaW5kKG51bGwsIHR5cGUpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBhIHZhbGlkIChwKXJlYWN0IG5vZGUuXG4gKiBAcGFyYW0geyp9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChlbGVtZW50KSB7XG5cdHJldHVybiAhIWVsZW1lbnQgJiYgZWxlbWVudC4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBhIEZyYWdtZW50IG5vZGUuXG4gKiBAcGFyYW0geyp9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBpc0ZyYWdtZW50KGVsZW1lbnQpIHtcblx0cmV0dXJuIGlzVmFsaWRFbGVtZW50KGVsZW1lbnQpICYmIGVsZW1lbnQudHlwZSA9PT0gRnJhZ21lbnQ7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHBhc3NlZCBlbGVtZW50IGlzIGEgTWVtbyBub2RlLlxuICogQHBhcmFtIHsqfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNNZW1vKGVsZW1lbnQpIHtcblx0cmV0dXJuIChcblx0XHQhIWVsZW1lbnQgJiZcblx0XHQhIWVsZW1lbnQuZGlzcGxheU5hbWUgJiZcblx0XHQodHlwZW9mIGVsZW1lbnQuZGlzcGxheU5hbWUgPT09ICdzdHJpbmcnIHx8XG5cdFx0XHRlbGVtZW50LmRpc3BsYXlOYW1lIGluc3RhbmNlb2YgU3RyaW5nKSAmJlxuXHRcdGVsZW1lbnQuZGlzcGxheU5hbWUuc3RhcnRzV2l0aCgnTWVtbygnKVxuXHQpO1xufVxuXG4vKipcbiAqIFdyYXAgYGNsb25lRWxlbWVudGAgdG8gYWJvcnQgaWYgdGhlIHBhc3NlZCBlbGVtZW50IGlzIG5vdCBhIHZhbGlkIGVsZW1lbnQgYW5kIGFwcGx5XG4gKiBhbGwgdm5vZGUgbm9ybWFsaXphdGlvbnMuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSBlbGVtZW50IFRoZSB2bm9kZSB0byBjbG9uZVxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzIFByb3BzIHRvIGFkZCB3aGVuIGNsb25pbmdcbiAqIEBwYXJhbSB7QXJyYXk8aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50Q2hpbGRyZW4+fSByZXN0IE9wdGlvbmFsIGNvbXBvbmVudCBjaGlsZHJlblxuICovXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCkge1xuXHRpZiAoIWlzVmFsaWRFbGVtZW50KGVsZW1lbnQpKSByZXR1cm4gZWxlbWVudDtcblx0cmV0dXJuIHByZWFjdENsb25lRWxlbWVudC5hcHBseShudWxsLCBhcmd1bWVudHMpO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhIGNvbXBvbmVudCB0cmVlIGZyb20gdGhlIERPTSwgaW5jbHVkaW5nIHN0YXRlIGFuZCBldmVudCBoYW5kbGVycy5cbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuUHJlYWN0RWxlbWVudH0gY29udGFpbmVyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gdW5tb3VudENvbXBvbmVudEF0Tm9kZShjb250YWluZXIpIHtcblx0aWYgKGNvbnRhaW5lci5fY2hpbGRyZW4pIHtcblx0XHRwcmVhY3RSZW5kZXIobnVsbCwgY29udGFpbmVyKTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogR2V0IHRoZSBtYXRjaGluZyBET00gbm9kZSBmb3IgYSBjb21wb25lbnRcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50fSBjb21wb25lbnRcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5QcmVhY3RFbGVtZW50IHwgbnVsbH1cbiAqL1xuZnVuY3Rpb24gZmluZERPTU5vZGUoY29tcG9uZW50KSB7XG5cdHJldHVybiAoXG5cdFx0KGNvbXBvbmVudCAmJlxuXHRcdFx0KGNvbXBvbmVudC5iYXNlIHx8IChjb21wb25lbnQubm9kZVR5cGUgPT09IDEgJiYgY29tcG9uZW50KSkpIHx8XG5cdFx0bnVsbFxuXHQpO1xufVxuXG4vKipcbiAqIERlcHJlY2F0ZWQgd2F5IHRvIGNvbnRyb2wgYmF0Y2hlZCByZW5kZXJpbmcgaW5zaWRlIHRoZSByZWNvbmNpbGVyLCBidXQgd2VcbiAqIGFscmVhZHkgc2NoZWR1bGUgaW4gYmF0Y2hlcyBpbnNpZGUgb3VyIHJlbmRlcmluZyBjb2RlXG4gKiBAdGVtcGxhdGUgQXJnXG4gKiBAcGFyYW0geyhhcmc6IEFyZykgPT4gdm9pZH0gY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB0cmlnZ2VycyB0aGUgdXBkYXRlZFxuICogQHBhcmFtIHtBcmd9IFthcmddIE9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGUgY2FsbGJhY2tcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuY29uc3QgdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMgPSAoY2FsbGJhY2ssIGFyZykgPT4gY2FsbGJhY2soYXJnKTtcblxuLyoqXG4gKiBJbiBSZWFjdCwgYGZsdXNoU3luY2AgZmx1c2hlcyB0aGUgZW50aXJlIHRyZWUgYW5kIGZvcmNlcyBhIHJlcmVuZGVyLiBJdCdzXG4gKiBpbXBsbWVudGVkIGhlcmUgYXMgYSBuby1vcC5cbiAqIEB0ZW1wbGF0ZSBBcmdcbiAqIEB0ZW1wbGF0ZSBSZXN1bHRcbiAqIEBwYXJhbSB7KGFyZzogQXJnKSA9PiBSZXN1bHR9IGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgcnVucyBiZWZvcmUgdGhlIGZsdXNoXG4gKiBAcGFyYW0ge0FyZ30gW2FyZ10gT3B0aW9uYWwgYXJndW1lbnQgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHRoZSBjYWxsYmFja1xuICogQHJldHVybnNcbiAqL1xuY29uc3QgZmx1c2hTeW5jID0gKGNhbGxiYWNrLCBhcmcpID0+IGNhbGxiYWNrKGFyZyk7XG5cbi8qKlxuICogU3RyaWN0IE1vZGUgaXMgbm90IGltcGxlbWVudGVkIGluIFByZWFjdCwgc28gd2UgcHJvdmlkZSBhIHN0YW5kLWluIGZvciBpdFxuICogdGhhdCBqdXN0IHJlbmRlcnMgaXRzIGNoaWxkcmVuIHdpdGhvdXQgaW1wb3NpbmcgYW55IHJlc3RyaWN0aW9ucy5cbiAqL1xuY29uc3QgU3RyaWN0TW9kZSA9IEZyYWdtZW50O1xuXG4vLyBjb21wYXQgdG8gcmVhY3QtaXNcbmV4cG9ydCBjb25zdCBpc0VsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcblxuZXhwb3J0ICogZnJvbSAncHJlYWN0L2hvb2tzJztcbmV4cG9ydCB7XG5cdHZlcnNpb24sXG5cdENoaWxkcmVuLFxuXHRyZW5kZXIsXG5cdGh5ZHJhdGUsXG5cdHVubW91bnRDb21wb25lbnRBdE5vZGUsXG5cdGNyZWF0ZVBvcnRhbCxcblx0Y3JlYXRlRWxlbWVudCxcblx0Y3JlYXRlQ29udGV4dCxcblx0Y3JlYXRlRmFjdG9yeSxcblx0Y2xvbmVFbGVtZW50LFxuXHRjcmVhdGVSZWYsXG5cdEZyYWdtZW50LFxuXHRpc1ZhbGlkRWxlbWVudCxcblx0aXNGcmFnbWVudCxcblx0aXNNZW1vLFxuXHRmaW5kRE9NTm9kZSxcblx0Q29tcG9uZW50LFxuXHRQdXJlQ29tcG9uZW50LFxuXHRtZW1vLFxuXHRmb3J3YXJkUmVmLFxuXHRmbHVzaFN5bmMsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0c3RhcnRUcmFuc2l0aW9uLFxuXHR1c2VEZWZlcnJlZFZhbHVlLFxuXHR1c2VTeW5jRXh0ZXJuYWxTdG9yZSxcblx0dXNlVHJhbnNpdGlvbixcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuXHR1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyxcblx0U3RyaWN0TW9kZSxcblx0U3VzcGVuc2UsXG5cdFN1c3BlbnNlTGlzdCxcblx0bGF6eSxcblx0X19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURcbn07XG5cbi8vIFJlYWN0IGNvcGllcyB0aGUgbmFtZWQgZXhwb3J0cyB0byB0aGUgZGVmYXVsdCBvbmUuXG5leHBvcnQgZGVmYXVsdCB7XG5cdHVzZVN0YXRlLFxuXHR1c2VJZCxcblx0dXNlUmVkdWNlcixcblx0dXNlRWZmZWN0LFxuXHR1c2VMYXlvdXRFZmZlY3QsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0dXNlVHJhbnNpdGlvbixcblx0dXNlRGVmZXJyZWRWYWx1ZSxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHN0YXJ0VHJhbnNpdGlvbixcblx0dXNlUmVmLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VNZW1vLFxuXHR1c2VDYWxsYmFjayxcblx0dXNlQ29udGV4dCxcblx0dXNlRGVidWdWYWx1ZSxcblx0dmVyc2lvbixcblx0Q2hpbGRyZW4sXG5cdHJlbmRlcixcblx0aHlkcmF0ZSxcblx0dW5tb3VudENvbXBvbmVudEF0Tm9kZSxcblx0Y3JlYXRlUG9ydGFsLFxuXHRjcmVhdGVFbGVtZW50LFxuXHRjcmVhdGVDb250ZXh0LFxuXHRjcmVhdGVGYWN0b3J5LFxuXHRjbG9uZUVsZW1lbnQsXG5cdGNyZWF0ZVJlZixcblx0RnJhZ21lbnQsXG5cdGlzVmFsaWRFbGVtZW50LFxuXHRpc0VsZW1lbnQsXG5cdGlzRnJhZ21lbnQsXG5cdGlzTWVtbyxcblx0ZmluZERPTU5vZGUsXG5cdENvbXBvbmVudCxcblx0UHVyZUNvbXBvbmVudCxcblx0bWVtbyxcblx0Zm9yd2FyZFJlZixcblx0Zmx1c2hTeW5jLFxuXHR1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyxcblx0U3RyaWN0TW9kZSxcblx0U3VzcGVuc2UsXG5cdFN1c3BlbnNlTGlzdCxcblx0bGF6eSxcblx0X19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURcbn07XG4iLCIvKipcbiAqIEFzc2lnbiBwcm9wZXJ0aWVzIGZyb20gYHByb3BzYCB0byBgb2JqYFxuICogQHRlbXBsYXRlIE8sIFAgVGhlIG9iaiBhbmQgcHJvcHMgdHlwZXNcbiAqIEBwYXJhbSB7T30gb2JqIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvXG4gKiBAcGFyYW0ge1B9IHByb3BzIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEByZXR1cm5zIHtPICYgUH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbihvYmosIHByb3BzKSB7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIG9ialtpXSA9IHByb3BzW2ldO1xuXHRyZXR1cm4gLyoqIEB0eXBlIHtPICYgUH0gKi8gKG9iaik7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIG9iamVjdHMgaGF2ZSBhIGRpZmZlcmVudCBzaGFwZVxuICogQHBhcmFtIHtvYmplY3R9IGFcbiAqIEBwYXJhbSB7b2JqZWN0fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYWxsb3dEaWZmZXJzKGEsIGIpIHtcblx0Zm9yIChsZXQgaSBpbiBhKSBpZiAoaSAhPT0gJ19fc291cmNlJyAmJiAhKGkgaW4gYikpIHJldHVybiB0cnVlO1xuXHRmb3IgKGxldCBpIGluIGIpIGlmIChpICE9PSAnX19zb3VyY2UnICYmIGFbaV0gIT09IGJbaV0pIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVlcyBhcmUgdGhlIHNhbWUgdmFsdWVcbiAqIEBwYXJhbSB7Kn0geFxuICogQHBhcmFtIHsqfSB5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzKHgsIHkpIHtcblx0cmV0dXJuICh4ID09PSB5ICYmICh4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSkpIHx8ICh4ICE9PSB4ICYmIHkgIT09IHkpO1xufVxuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0IH0gZnJvbSAncHJlYWN0L2hvb2tzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBUaGlzIGlzIHRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2Jsb2IvbWFpbi9wYWNrYWdlcy91c2Utc3luYy1leHRlcm5hbC1zdG9yZS9zcmMvdXNlU3luY0V4dGVybmFsU3RvcmVTaGltQ2xpZW50LmpzI0w4NFxuICogb24gYSBoaWdoIGxldmVsIHRoaXMgY3V0cyBvdXQgdGhlIHdhcm5pbmdzLCAuLi4gYW5kIGF0dGVtcHRzIGEgc21hbGxlciBpbXBsZW1lbnRhdGlvblxuICogQHR5cGVkZWYge3sgX3ZhbHVlOiBhbnk7IF9nZXRTbmFwc2hvdDogKCkgPT4gYW55IH19IFN0b3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90KSB7XG5cdGNvbnN0IHZhbHVlID0gZ2V0U25hcHNob3QoKTtcblxuXHQvKipcblx0ICogQHR5cGVkZWYge3sgX2luc3RhbmNlOiBTdG9yZSB9fSBTdG9yZVJlZlxuXHQgKiBAdHlwZSB7W1N0b3JlUmVmLCAoc3RvcmU6IFN0b3JlUmVmKSA9PiB2b2lkXX1cblx0ICovXG5cdGNvbnN0IFt7IF9pbnN0YW5jZSB9LCBmb3JjZVVwZGF0ZV0gPSB1c2VTdGF0ZSh7XG5cdFx0X2luc3RhbmNlOiB7IF92YWx1ZTogdmFsdWUsIF9nZXRTbmFwc2hvdDogZ2V0U25hcHNob3QgfVxuXHR9KTtcblxuXHR1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuXHRcdF9pbnN0YW5jZS5fdmFsdWUgPSB2YWx1ZTtcblx0XHRfaW5zdGFuY2UuX2dldFNuYXBzaG90ID0gZ2V0U25hcHNob3Q7XG5cblx0XHRpZiAoZGlkU25hcHNob3RDaGFuZ2UoX2luc3RhbmNlKSkge1xuXHRcdFx0Zm9yY2VVcGRhdGUoeyBfaW5zdGFuY2UgfSk7XG5cdFx0fVxuXHR9LCBbc3Vic2NyaWJlLCB2YWx1ZSwgZ2V0U25hcHNob3RdKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChkaWRTbmFwc2hvdENoYW5nZShfaW5zdGFuY2UpKSB7XG5cdFx0XHRmb3JjZVVwZGF0ZSh7IF9pbnN0YW5jZSB9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdGlmIChkaWRTbmFwc2hvdENoYW5nZShfaW5zdGFuY2UpKSB7XG5cdFx0XHRcdGZvcmNlVXBkYXRlKHsgX2luc3RhbmNlIH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9LCBbc3Vic2NyaWJlXSk7XG5cblx0cmV0dXJuIHZhbHVlO1xufVxuXG4vKiogQHR5cGUgeyhpbnN0OiBTdG9yZSkgPT4gYm9vbGVhbn0gKi9cbmZ1bmN0aW9uIGRpZFNuYXBzaG90Q2hhbmdlKGluc3QpIHtcblx0Y29uc3QgbGF0ZXN0R2V0U25hcHNob3QgPSBpbnN0Ll9nZXRTbmFwc2hvdDtcblx0Y29uc3QgcHJldlZhbHVlID0gaW5zdC5fdmFsdWU7XG5cdHRyeSB7XG5cdFx0Y29uc3QgbmV4dFZhbHVlID0gbGF0ZXN0R2V0U25hcHNob3QoKTtcblx0XHRyZXR1cm4gIWlzKHByZXZWYWx1ZSwgbmV4dFZhbHVlKTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRUcmFuc2l0aW9uKGNiKSB7XG5cdGNiKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VEZWZlcnJlZFZhbHVlKHZhbCkge1xuXHRyZXR1cm4gdmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVHJhbnNpdGlvbigpIHtcblx0cmV0dXJuIFtmYWxzZSwgc3RhcnRUcmFuc2l0aW9uXTtcbn1cblxuLy8gVE9ETzogaW4gdGhlb3J5IHRoaXMgc2hvdWxkIGJlIGRvbmUgYWZ0ZXIgYSBWTm9kZSBpcyBkaWZmZWQgYXMgd2Ugd2FudCB0byBpbnNlcnRcbi8vIHN0eWxlcy8uLi4gYmVmb3JlIGl0IGF0dGFjaGVzXG5leHBvcnQgY29uc3QgdXNlSW5zZXJ0aW9uRWZmZWN0ID0gdXNlTGF5b3V0RWZmZWN0O1xuIiwiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAncHJlYWN0JztcbmltcG9ydCB7IHNoYWxsb3dEaWZmZXJzIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBDb21wb25lbnQgY2xhc3Mgd2l0aCBhIHByZWRlZmluZWQgYHNob3VsZENvbXBvbmVudFVwZGF0ZWAgaW1wbGVtZW50YXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFB1cmVDb21wb25lbnQocCwgYykge1xuXHR0aGlzLnByb3BzID0gcDtcblx0dGhpcy5jb250ZXh0ID0gYztcbn1cblB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudCgpO1xuLy8gU29tZSB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgY2hlY2sgaWYgdGhpcyBwcm9wZXJ0eSBpcyBwcmVzZW50XG5QdXJlQ29tcG9uZW50LnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCA9IHRydWU7XG5QdXJlQ29tcG9uZW50LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBmdW5jdGlvbiAocHJvcHMsIHN0YXRlKSB7XG5cdHJldHVybiBzaGFsbG93RGlmZmVycyh0aGlzLnByb3BzLCBwcm9wcykgfHwgc2hhbGxvd0RpZmZlcnModGhpcy5zdGF0ZSwgc3RhdGUpO1xufTtcbiIsImltcG9ydCB7IGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvd0RpZmZlcnMgfSBmcm9tICcuL3V0aWwnO1xuXG4vKipcbiAqIE1lbW9pemUgYSBjb21wb25lbnQsIHNvIHRoYXQgaXQgb25seSB1cGRhdGVzIHdoZW4gdGhlIHByb3BzIGFjdHVhbGx5IGhhdmVcbiAqIGNoYW5nZWQuIFRoaXMgd2FzIHByZXZpb3VzbHkga25vd24gYXMgYFJlYWN0LnB1cmVgLlxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5GdW5jdGlvbkNvbXBvbmVudH0gYyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICogQHBhcmFtIHsocHJldjogb2JqZWN0LCBuZXh0OiBvYmplY3QpID0+IGJvb2xlYW59IFtjb21wYXJlcl0gQ3VzdG9tIGVxdWFsaXR5IGZ1bmN0aW9uXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuRnVuY3Rpb25Db21wb25lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vKGMsIGNvbXBhcmVyKSB7XG5cdGZ1bmN0aW9uIHNob3VsZFVwZGF0ZShuZXh0UHJvcHMpIHtcblx0XHRsZXQgcmVmID0gdGhpcy5wcm9wcy5yZWY7XG5cdFx0bGV0IHVwZGF0ZVJlZiA9IHJlZiA9PSBuZXh0UHJvcHMucmVmO1xuXHRcdGlmICghdXBkYXRlUmVmICYmIHJlZikge1xuXHRcdFx0cmVmLmNhbGwgPyByZWYobnVsbCkgOiAocmVmLmN1cnJlbnQgPSBudWxsKTtcblx0XHR9XG5cblx0XHRpZiAoIWNvbXBhcmVyKSB7XG5cdFx0XHRyZXR1cm4gc2hhbGxvd0RpZmZlcnModGhpcy5wcm9wcywgbmV4dFByb3BzKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gIWNvbXBhcmVyKHRoaXMucHJvcHMsIG5leHRQcm9wcykgfHwgIXVwZGF0ZVJlZjtcblx0fVxuXG5cdGZ1bmN0aW9uIE1lbW9lZChwcm9wcykge1xuXHRcdHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gc2hvdWxkVXBkYXRlO1xuXHRcdHJldHVybiBjcmVhdGVFbGVtZW50KGMsIHByb3BzKTtcblx0fVxuXHRNZW1vZWQuZGlzcGxheU5hbWUgPSAnTWVtbygnICsgKGMuZGlzcGxheU5hbWUgfHwgYy5uYW1lKSArICcpJztcblx0TWVtb2VkLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0gdHJ1ZTtcblx0TWVtb2VkLl9mb3J3YXJkZWQgPSB0cnVlO1xuXHRyZXR1cm4gTWVtb2VkO1xufVxuIiwiaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICcuL3V0aWwnO1xuXG5sZXQgb2xkRGlmZkhvb2sgPSBvcHRpb25zLl9kaWZmO1xub3B0aW9ucy5fZGlmZiA9IHZub2RlID0+IHtcblx0aWYgKHZub2RlLnR5cGUgJiYgdm5vZGUudHlwZS5fZm9yd2FyZGVkICYmIHZub2RlLnJlZikge1xuXHRcdHZub2RlLnByb3BzLnJlZiA9IHZub2RlLnJlZjtcblx0XHR2bm9kZS5yZWYgPSBudWxsO1xuXHR9XG5cdGlmIChvbGREaWZmSG9vaykgb2xkRGlmZkhvb2sodm5vZGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IFJFQUNUX0ZPUldBUkRfU1lNQk9MID1cblx0KHR5cGVvZiBTeW1ib2wgIT0gJ3VuZGVmaW5lZCcgJiZcblx0XHRTeW1ib2wuZm9yICYmXG5cdFx0U3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKSkgfHxcblx0MHhmNDc7XG5cbi8qKlxuICogUGFzcyByZWYgZG93biB0byBhIGNoaWxkLiBUaGlzIGlzIG1haW5seSB1c2VkIGluIGxpYnJhcmllcyB3aXRoIEhPQ3MgdGhhdFxuICogd3JhcCBjb21wb25lbnRzLiBVc2luZyBgZm9yd2FyZFJlZmAgdGhlcmUgaXMgYW4gZWFzeSB3YXkgdG8gZ2V0IGEgcmVmZXJlbmNlXG4gKiBvZiB0aGUgd3JhcHBlZCBjb21wb25lbnQgaW5zdGVhZCBvZiBvbmUgb2YgdGhlIHdyYXBwZXIgaXRzZWxmLlxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW5kZXgnKS5Gb3J3YXJkRm59IGZuXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuRnVuY3Rpb25Db21wb25lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkUmVmKGZuKSB7XG5cdGZ1bmN0aW9uIEZvcndhcmRlZChwcm9wcykge1xuXHRcdGxldCBjbG9uZSA9IGFzc2lnbih7fSwgcHJvcHMpO1xuXHRcdGRlbGV0ZSBjbG9uZS5yZWY7XG5cdFx0cmV0dXJuIGZuKGNsb25lLCBwcm9wcy5yZWYgfHwgbnVsbCk7XG5cdH1cblxuXHQvLyBtb2J4LXJlYWN0IGNoZWNrcyBmb3IgdGhpcyBiZWluZyBwcmVzZW50XG5cdEZvcndhcmRlZC4kJHR5cGVvZiA9IFJFQUNUX0ZPUldBUkRfU1lNQk9MO1xuXHQvLyBtb2J4LXJlYWN0IGhlYXZpbHkgcmVsaWVzIG9uIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG5cdC8vIEl0IGV4cGVjdHMgYW4gb2JqZWN0IGhlcmUgd2l0aCBhIGByZW5kZXJgIHByb3BlcnR5LFxuXHQvLyBhbmQgcHJvdG90eXBlLnJlbmRlciB3aWxsIGZhaWwuIFdpdGhvdXQgdGhpc1xuXHQvLyBtb2J4LXJlYWN0IHRocm93cy5cblx0Rm9yd2FyZGVkLnJlbmRlciA9IEZvcndhcmRlZDtcblxuXHRGb3J3YXJkZWQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQgPSBGb3J3YXJkZWQuX2ZvcndhcmRlZCA9IHRydWU7XG5cdEZvcndhcmRlZC5kaXNwbGF5TmFtZSA9ICdGb3J3YXJkUmVmKCcgKyAoZm4uZGlzcGxheU5hbWUgfHwgZm4ubmFtZSkgKyAnKSc7XG5cdHJldHVybiBGb3J3YXJkZWQ7XG59XG4iLCJpbXBvcnQgeyB0b0NoaWxkQXJyYXkgfSBmcm9tICdwcmVhY3QnO1xuXG5jb25zdCBtYXBGbiA9IChjaGlsZHJlbiwgZm4pID0+IHtcblx0aWYgKGNoaWxkcmVuID09IG51bGwpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gdG9DaGlsZEFycmF5KHRvQ2hpbGRBcnJheShjaGlsZHJlbikubWFwKGZuKSk7XG59O1xuXG4vLyBUaGlzIEFQSSBpcyBjb21wbGV0ZWx5IHVubmVjZXNzYXJ5IGZvciBQcmVhY3QsIHNvIGl0J3MgYmFzaWNhbGx5IHBhc3N0aHJvdWdoLlxuZXhwb3J0IGNvbnN0IENoaWxkcmVuID0ge1xuXHRtYXA6IG1hcEZuLFxuXHRmb3JFYWNoOiBtYXBGbixcblx0Y291bnQoY2hpbGRyZW4pIHtcblx0XHRyZXR1cm4gY2hpbGRyZW4gPyB0b0NoaWxkQXJyYXkoY2hpbGRyZW4pLmxlbmd0aCA6IDA7XG5cdH0sXG5cdG9ubHkoY2hpbGRyZW4pIHtcblx0XHRjb25zdCBub3JtYWxpemVkID0gdG9DaGlsZEFycmF5KGNoaWxkcmVuKTtcblx0XHRpZiAobm9ybWFsaXplZC5sZW5ndGggIT09IDEpIHRocm93ICdDaGlsZHJlbi5vbmx5Jztcblx0XHRyZXR1cm4gbm9ybWFsaXplZFswXTtcblx0fSxcblx0dG9BcnJheTogdG9DaGlsZEFycmF5XG59O1xuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBjcmVhdGVFbGVtZW50LCBvcHRpb25zLCBGcmFnbWVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBNT0RFX0hZRFJBVEUgfSBmcm9tICcuLi8uLi9zcmMvY29uc3RhbnRzJztcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IG9sZENhdGNoRXJyb3IgPSBvcHRpb25zLl9jYXRjaEVycm9yO1xub3B0aW9ucy5fY2F0Y2hFcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pIHtcblx0aWYgKGVycm9yLnRoZW4pIHtcblx0XHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0XHRsZXQgY29tcG9uZW50O1xuXHRcdGxldCB2bm9kZSA9IG5ld1ZOb2RlO1xuXG5cdFx0Zm9yICg7ICh2bm9kZSA9IHZub2RlLl9wYXJlbnQpOyApIHtcblx0XHRcdGlmICgoY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudCkgJiYgY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQpIHtcblx0XHRcdFx0aWYgKG5ld1ZOb2RlLl9kb20gPT0gbnVsbCkge1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9kb20gPSBvbGRWTm9kZS5fZG9tO1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbiA9IG9sZFZOb2RlLl9jaGlsZHJlbjtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBEb24ndCBjYWxsIG9sZENhdGNoRXJyb3IgaWYgd2UgZm91bmQgYSBTdXNwZW5zZVxuXHRcdFx0XHRyZXR1cm4gY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQoZXJyb3IsIG5ld1ZOb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0b2xkQ2F0Y2hFcnJvcihlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pO1xufTtcblxuY29uc3Qgb2xkVW5tb3VudCA9IG9wdGlvbnMudW5tb3VudDtcbm9wdGlvbnMudW5tb3VudCA9IGZ1bmN0aW9uICh2bm9kZSkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0Y29uc3QgY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudDtcblx0aWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQuX29uUmVzb2x2ZSkge1xuXHRcdGNvbXBvbmVudC5fb25SZXNvbHZlKCk7XG5cdH1cblxuXHQvLyBpZiB0aGUgY29tcG9uZW50IGlzIHN0aWxsIGh5ZHJhdGluZ1xuXHQvLyBtb3N0IGxpa2VseSBpdCBpcyBiZWNhdXNlIHRoZSBjb21wb25lbnQgaXMgc3VzcGVuZGVkXG5cdC8vIHdlIHNldCB0aGUgdm5vZGUudHlwZSBhcyBgbnVsbGAgc28gdGhhdCBpdCBpcyBub3QgYSB0eXBlb2YgZnVuY3Rpb25cblx0Ly8gc28gdGhlIHVubW91bnQgd2lsbCByZW1vdmUgdGhlIHZub2RlLl9kb21cblx0aWYgKGNvbXBvbmVudCAmJiB2bm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpIHtcblx0XHR2bm9kZS50eXBlID0gbnVsbDtcblx0fVxuXG5cdGlmIChvbGRVbm1vdW50KSBvbGRVbm1vdW50KHZub2RlKTtcbn07XG5cbmZ1bmN0aW9uIGRldGFjaGVkQ2xvbmUodm5vZGUsIGRldGFjaGVkUGFyZW50LCBwYXJlbnREb20pIHtcblx0aWYgKHZub2RlKSB7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgJiYgdm5vZGUuX2NvbXBvbmVudC5fX2hvb2tzKSB7XG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MuX2xpc3QuZm9yRWFjaChlZmZlY3QgPT4ge1xuXHRcdFx0XHRpZiAodHlwZW9mIGVmZmVjdC5fY2xlYW51cCA9PSAnZnVuY3Rpb24nKSBlZmZlY3QuX2NsZWFudXAoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MgPSBudWxsO1xuXHRcdH1cblxuXHRcdHZub2RlID0gYXNzaWduKHt9LCB2bm9kZSk7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgIT0gbnVsbCkge1xuXHRcdFx0aWYgKHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9PT0gcGFyZW50RG9tKSB7XG5cdFx0XHRcdHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9IGRldGFjaGVkUGFyZW50O1xuXHRcdFx0fVxuXG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9mb3JjZSA9IHRydWU7XG5cblx0XHRcdHZub2RlLl9jb21wb25lbnQgPSBudWxsO1xuXHRcdH1cblxuXHRcdHZub2RlLl9jaGlsZHJlbiA9XG5cdFx0XHR2bm9kZS5fY2hpbGRyZW4gJiZcblx0XHRcdHZub2RlLl9jaGlsZHJlbi5tYXAoY2hpbGQgPT5cblx0XHRcdFx0ZGV0YWNoZWRDbG9uZShjaGlsZCwgZGV0YWNoZWRQYXJlbnQsIHBhcmVudERvbSlcblx0XHRcdCk7XG5cdH1cblxuXHRyZXR1cm4gdm5vZGU7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZU9yaWdpbmFsKHZub2RlLCBkZXRhY2hlZFBhcmVudCwgb3JpZ2luYWxQYXJlbnQpIHtcblx0aWYgKHZub2RlICYmIG9yaWdpbmFsUGFyZW50KSB7XG5cdFx0dm5vZGUuX29yaWdpbmFsID0gbnVsbDtcblx0XHR2bm9kZS5fY2hpbGRyZW4gPVxuXHRcdFx0dm5vZGUuX2NoaWxkcmVuICYmXG5cdFx0XHR2bm9kZS5fY2hpbGRyZW4ubWFwKGNoaWxkID0+XG5cdFx0XHRcdHJlbW92ZU9yaWdpbmFsKGNoaWxkLCBkZXRhY2hlZFBhcmVudCwgb3JpZ2luYWxQYXJlbnQpXG5cdFx0XHQpO1xuXG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQpIHtcblx0XHRcdGlmICh2bm9kZS5fY29tcG9uZW50Ll9wYXJlbnREb20gPT09IGRldGFjaGVkUGFyZW50KSB7XG5cdFx0XHRcdGlmICh2bm9kZS5fZG9tKSB7XG5cdFx0XHRcdFx0b3JpZ2luYWxQYXJlbnQuYXBwZW5kQ2hpbGQodm5vZGUuX2RvbSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dm5vZGUuX2NvbXBvbmVudC5fZm9yY2UgPSB0cnVlO1xuXHRcdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9wYXJlbnREb20gPSBvcmlnaW5hbFBhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gdm5vZGU7XG59XG5cbi8vIGhhdmluZyBjdXN0b20gaW5oZXJpdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzIGhlcmUgc2F2ZXMgYSBsb3Qgb2YgYnl0ZXNcbmV4cG9ydCBmdW5jdGlvbiBTdXNwZW5zZSgpIHtcblx0Ly8gd2UgZG8gbm90IGNhbGwgc3VwZXIgaGVyZSB0byBnb2xmIHNvbWUgYnl0ZXMuLi5cblx0dGhpcy5fcGVuZGluZ1N1c3BlbnNpb25Db3VudCA9IDA7XG5cdHRoaXMuX3N1c3BlbmRlcnMgPSBudWxsO1xuXHR0aGlzLl9kZXRhY2hPbk5leHRSZW5kZXIgPSBudWxsO1xufVxuXG4vLyBUaGluZ3Mgd2UgZG8gaGVyZSB0byBzYXZlIHNvbWUgYnl0ZXMgYnV0IGFyZSBub3QgcHJvcGVyIEpTIGluaGVyaXRhbmNlOlxuLy8gLSBjYWxsIGBuZXcgQ29tcG9uZW50KClgIGFzIHRoZSBwcm90b3R5cGVcbi8vIC0gZG8gbm90IHNldCBgU3VzcGVuc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yYCB0byBgU3VzcGVuc2VgXG5TdXNwZW5zZS5wcm90b3R5cGUgPSBuZXcgQ29tcG9uZW50KCk7XG5cbi8qKlxuICogQHRoaXMge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50fVxuICogQHBhcmFtIHtQcm9taXNlfSBwcm9taXNlIFRoZSB0aHJvd24gcHJvbWlzZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZTxhbnksIGFueT59IHN1c3BlbmRpbmdWTm9kZSBUaGUgc3VzcGVuZGluZyBjb21wb25lbnRcbiAqL1xuU3VzcGVuc2UucHJvdG90eXBlLl9jaGlsZERpZFN1c3BlbmQgPSBmdW5jdGlvbiAocHJvbWlzZSwgc3VzcGVuZGluZ1ZOb2RlKSB7XG5cdGNvbnN0IHN1c3BlbmRpbmdDb21wb25lbnQgPSBzdXNwZW5kaW5nVk5vZGUuX2NvbXBvbmVudDtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50fSAqL1xuXHRjb25zdCBjID0gdGhpcztcblxuXHRpZiAoYy5fc3VzcGVuZGVycyA9PSBudWxsKSB7XG5cdFx0Yy5fc3VzcGVuZGVycyA9IFtdO1xuXHR9XG5cdGMuX3N1c3BlbmRlcnMucHVzaChzdXNwZW5kaW5nQ29tcG9uZW50KTtcblxuXHRjb25zdCByZXNvbHZlID0gc3VzcGVuZGVkKGMuX3Zub2RlKTtcblxuXHRsZXQgcmVzb2x2ZWQgPSBmYWxzZTtcblx0Y29uc3Qgb25SZXNvbHZlZCA9ICgpID0+IHtcblx0XHRpZiAocmVzb2x2ZWQpIHJldHVybjtcblxuXHRcdHJlc29sdmVkID0gdHJ1ZTtcblx0XHRzdXNwZW5kaW5nQ29tcG9uZW50Ll9vblJlc29sdmUgPSBudWxsO1xuXG5cdFx0aWYgKHJlc29sdmUpIHtcblx0XHRcdHJlc29sdmUob25TdXNwZW5zaW9uQ29tcGxldGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvblN1c3BlbnNpb25Db21wbGV0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHRzdXNwZW5kaW5nQ29tcG9uZW50Ll9vblJlc29sdmUgPSBvblJlc29sdmVkO1xuXG5cdGNvbnN0IG9uU3VzcGVuc2lvbkNvbXBsZXRlID0gKCkgPT4ge1xuXHRcdGlmICghLS1jLl9wZW5kaW5nU3VzcGVuc2lvbkNvdW50KSB7XG5cdFx0XHQvLyBJZiB0aGUgc3VzcGVuc2lvbiB3YXMgZHVyaW5nIGh5ZHJhdGlvbiB3ZSBkb24ndCBuZWVkIHRvIHJlc3RvcmUgdGhlXG5cdFx0XHQvLyBzdXNwZW5kZWQgY2hpbGRyZW4gaW50byB0aGUgX2NoaWxkcmVuIGFycmF5XG5cdFx0XHRpZiAoYy5zdGF0ZS5fc3VzcGVuZGVkKSB7XG5cdFx0XHRcdGNvbnN0IHN1c3BlbmRlZFZOb2RlID0gYy5zdGF0ZS5fc3VzcGVuZGVkO1xuXHRcdFx0XHRjLl92bm9kZS5fY2hpbGRyZW5bMF0gPSByZW1vdmVPcmlnaW5hbChcblx0XHRcdFx0XHRzdXNwZW5kZWRWTm9kZSxcblx0XHRcdFx0XHRzdXNwZW5kZWRWTm9kZS5fY29tcG9uZW50Ll9wYXJlbnREb20sXG5cdFx0XHRcdFx0c3VzcGVuZGVkVk5vZGUuX2NvbXBvbmVudC5fb3JpZ2luYWxQYXJlbnREb21cblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0Yy5zZXRTdGF0ZSh7IF9zdXNwZW5kZWQ6IChjLl9kZXRhY2hPbk5leHRSZW5kZXIgPSBudWxsKSB9KTtcblxuXHRcdFx0bGV0IHN1c3BlbmRlZDtcblx0XHRcdHdoaWxlICgoc3VzcGVuZGVkID0gYy5fc3VzcGVuZGVycy5wb3AoKSkpIHtcblx0XHRcdFx0c3VzcGVuZGVkLmZvcmNlVXBkYXRlKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXG5cdC8qKlxuXHQgKiBXZSBkbyBub3Qgc2V0IGBzdXNwZW5kZWQ6IHRydWVgIGR1cmluZyBoeWRyYXRpb24gYmVjYXVzZSB3ZSB3YW50IHRoZSBhY3R1YWwgbWFya3VwXG5cdCAqIHRvIHJlbWFpbiBvbiBzY3JlZW4gYW5kIGh5ZHJhdGUgaXQgd2hlbiB0aGUgc3VzcGVuc2UgYWN0dWFsbHkgZ2V0cyByZXNvbHZlZC5cblx0ICogV2hpbGUgaW4gbm9uLWh5ZHJhdGlvbiBjYXNlcyB0aGUgdXN1YWwgZmFsbGJhY2sgLT4gY29tcG9uZW50IGZsb3cgd291bGQgb2Njb3VyLlxuXHQgKi9cblx0aWYgKFxuXHRcdCFjLl9wZW5kaW5nU3VzcGVuc2lvbkNvdW50KysgJiZcblx0XHQhKHN1c3BlbmRpbmdWTm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpXG5cdCkge1xuXHRcdGMuc2V0U3RhdGUoeyBfc3VzcGVuZGVkOiAoYy5fZGV0YWNoT25OZXh0UmVuZGVyID0gYy5fdm5vZGUuX2NoaWxkcmVuWzBdKSB9KTtcblx0fVxuXHRwcm9taXNlLnRoZW4ob25SZXNvbHZlZCwgb25SZXNvbHZlZCk7XG59O1xuXG5TdXNwZW5zZS5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdHRoaXMuX3N1c3BlbmRlcnMgPSBbXTtcbn07XG5cbi8qKlxuICogQHRoaXMge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50fVxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5TdXNwZW5zZUNvbXBvbmVudFtcInByb3BzXCJdfSBwcm9wc1xuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5TdXNwZW5zZVN0YXRlfSBzdGF0ZVxuICovXG5TdXNwZW5zZS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKHByb3BzLCBzdGF0ZSkge1xuXHRpZiAodGhpcy5fZGV0YWNoT25OZXh0UmVuZGVyKSB7XG5cdFx0Ly8gV2hlbiB0aGUgU3VzcGVuc2UncyBfdm5vZGUgd2FzIGNyZWF0ZWQgYnkgYSBjYWxsIHRvIGNyZWF0ZVZOb2RlXG5cdFx0Ly8gKGkuZS4gZHVlIHRvIGEgc2V0U3RhdGUgZnVydGhlciB1cCBpbiB0aGUgdHJlZSlcblx0XHQvLyBpdCdzIF9jaGlsZHJlbiBwcm9wIGlzIG51bGwsIGluIHRoaXMgY2FzZSB3ZSBcImZvcmdldFwiIGFib3V0IHRoZSBwYXJrZWQgdm5vZGVzIHRvIGRldGFjaFxuXHRcdGlmICh0aGlzLl92bm9kZS5fY2hpbGRyZW4pIHtcblx0XHRcdGNvbnN0IGRldGFjaGVkUGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdFx0XHRjb25zdCBkZXRhY2hlZENvbXBvbmVudCA9IHRoaXMuX3Zub2RlLl9jaGlsZHJlblswXS5fY29tcG9uZW50O1xuXHRcdFx0dGhpcy5fdm5vZGUuX2NoaWxkcmVuWzBdID0gZGV0YWNoZWRDbG9uZShcblx0XHRcdFx0dGhpcy5fZGV0YWNoT25OZXh0UmVuZGVyLFxuXHRcdFx0XHRkZXRhY2hlZFBhcmVudCxcblx0XHRcdFx0KGRldGFjaGVkQ29tcG9uZW50Ll9vcmlnaW5hbFBhcmVudERvbSA9IGRldGFjaGVkQ29tcG9uZW50Ll9wYXJlbnREb20pXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2RldGFjaE9uTmV4dFJlbmRlciA9IG51bGw7XG5cdH1cblxuXHQvLyBXcmFwIGZhbGxiYWNrIHRyZWUgaW4gYSBWTm9kZSB0aGF0IHByZXZlbnRzIGl0c2VsZiBmcm9tIGJlaW5nIG1hcmtlZCBhcyBhYm9ydGluZyBtaWQtaHlkcmF0aW9uOlxuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSAqL1xuXHRjb25zdCBmYWxsYmFjayA9XG5cdFx0c3RhdGUuX3N1c3BlbmRlZCAmJiBjcmVhdGVFbGVtZW50KEZyYWdtZW50LCBudWxsLCBwcm9wcy5mYWxsYmFjayk7XG5cdGlmIChmYWxsYmFjaykgZmFsbGJhY2suX2ZsYWdzICY9IH5NT0RFX0hZRFJBVEU7XG5cblx0cmV0dXJuIFtcblx0XHRjcmVhdGVFbGVtZW50KEZyYWdtZW50LCBudWxsLCBzdGF0ZS5fc3VzcGVuZGVkID8gbnVsbCA6IHByb3BzLmNoaWxkcmVuKSxcblx0XHRmYWxsYmFja1xuXHRdO1xufTtcblxuLyoqXG4gKiBDaGVja3MgYW5kIGNhbGxzIHRoZSBwYXJlbnQgY29tcG9uZW50J3MgX3N1c3BlbmRlZCBtZXRob2QsIHBhc3NpbmcgaW4gdGhlXG4gKiBzdXNwZW5kZWQgdm5vZGUuIFRoaXMgaXMgYSB3YXkgZm9yIGEgcGFyZW50IChlLmcuIFN1c3BlbnNlTGlzdCkgdG8gZ2V0IG5vdGlmaWVkXG4gKiB0aGF0IG9uZSBvZiBpdHMgY2hpbGRyZW4vZGVzY2VuZGFudHMgc3VzcGVuZGVkLlxuICpcbiAqIFRoZSBwYXJlbnQgTUFZIHJldHVybiBhIGNhbGxiYWNrLiBUaGUgY2FsbGJhY2sgd2lsbCBnZXQgY2FsbGVkIHdoZW4gdGhlXG4gKiBzdXNwZW5zaW9uIHJlc29sdmVzLCBub3RpZnlpbmcgdGhlIHBhcmVudCBvZiB0aGUgZmFjdC5cbiAqIE1vcmVvdmVyLCB0aGUgY2FsbGJhY2sgZ2V0cyBmdW5jdGlvbiBgdW5zdXNwZW5kYCBhcyBhIHBhcmFtZXRlci4gVGhlIHJlc29sdmVkXG4gKiBjaGlsZCBkZXNjZW5kYW50IHdpbGwgbm90IGFjdHVhbGx5IGdldCB1bnN1c3BlbmRlZCB1bnRpbCBgdW5zdXNwZW5kYCBnZXRzIGNhbGxlZC5cbiAqIFRoaXMgaXMgYSB3YXkgZm9yIHRoZSBwYXJlbnQgdG8gZGVsYXkgdW5zdXNwZW5kaW5nLlxuICpcbiAqIElmIHRoZSBwYXJlbnQgZG9lcyBub3QgcmV0dXJuIGEgY2FsbGJhY2sgdGhlbiB0aGUgcmVzb2x2ZWQgdm5vZGVcbiAqIGdldHMgdW5zdXNwZW5kZWQgaW1tZWRpYXRlbHkgd2hlbiBpdCByZXNvbHZlcy5cbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZVxuICogQHJldHVybnMgeygodW5zdXNwZW5kOiAoKSA9PiB2b2lkKSA9PiB2b2lkKT99XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdXNwZW5kZWQodm5vZGUpIHtcblx0LyoqIEB0eXBlIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnR9ICovXG5cdGxldCBjb21wb25lbnQgPSB2bm9kZS5fcGFyZW50Ll9jb21wb25lbnQ7XG5cdHJldHVybiBjb21wb25lbnQgJiYgY29tcG9uZW50Ll9zdXNwZW5kZWQgJiYgY29tcG9uZW50Ll9zdXNwZW5kZWQodm5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGF6eShsb2FkZXIpIHtcblx0bGV0IHByb207XG5cdGxldCBjb21wb25lbnQ7XG5cdGxldCBlcnJvcjtcblxuXHRmdW5jdGlvbiBMYXp5KHByb3BzKSB7XG5cdFx0aWYgKCFwcm9tKSB7XG5cdFx0XHRwcm9tID0gbG9hZGVyKCk7XG5cdFx0XHRwcm9tLnRoZW4oXG5cdFx0XHRcdGV4cG9ydHMgPT4ge1xuXHRcdFx0XHRcdGNvbXBvbmVudCA9IGV4cG9ydHMuZGVmYXVsdCB8fCBleHBvcnRzO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRlID0+IHtcblx0XHRcdFx0XHRlcnJvciA9IGU7XG5cdFx0XHRcdH1cblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0aWYgKGVycm9yKSB7XG5cdFx0XHR0aHJvdyBlcnJvcjtcblx0XHR9XG5cblx0XHRpZiAoIWNvbXBvbmVudCkge1xuXHRcdFx0dGhyb3cgcHJvbTtcblx0XHR9XG5cblx0XHRyZXR1cm4gY3JlYXRlRWxlbWVudChjb21wb25lbnQsIHByb3BzKTtcblx0fVxuXG5cdExhenkuZGlzcGxheU5hbWUgPSAnTGF6eSc7XG5cdExhenkuX2ZvcndhcmRlZCA9IHRydWU7XG5cdHJldHVybiBMYXp5O1xufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCB0b0NoaWxkQXJyYXkgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgc3VzcGVuZGVkIH0gZnJvbSAnLi9zdXNwZW5zZS5qcyc7XG5cbi8vIEluZGV4ZXMgdG8gbGlua2VkIGxpc3Qgbm9kZXMgKG5vZGVzIGFyZSBzdG9yZWQgYXMgYXJyYXlzIHRvIHNhdmUgYnl0ZXMpLlxuY29uc3QgU1VTUEVOREVEX0NPVU5UID0gMDtcbmNvbnN0IFJFU09MVkVEX0NPVU5UID0gMTtcbmNvbnN0IE5FWFRfTk9ERSA9IDI7XG5cbi8vIEhhdmluZyBjdXN0b20gaW5oZXJpdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzIGhlcmUgc2F2ZXMgYSBsb3Qgb2YgYnl0ZXMuXG5leHBvcnQgZnVuY3Rpb24gU3VzcGVuc2VMaXN0KCkge1xuXHR0aGlzLl9uZXh0ID0gbnVsbDtcblx0dGhpcy5fbWFwID0gbnVsbDtcbn1cblxuLy8gTWFyayBvbmUgb2YgY2hpbGQncyBlYXJsaWVyIHN1c3BlbnNpb25zIGFzIHJlc29sdmVkLlxuLy8gU29tZSBwZW5kaW5nIGNhbGxiYWNrcyBtYXkgYmVjb21lIGNhbGxhYmxlIGR1ZSB0byB0aGlzXG4vLyAoZS5nLiB0aGUgbGFzdCBzdXNwZW5kZWQgZGVzY2VuZGFudCBnZXRzIHJlc29sdmVkIHdoZW5cbi8vIHJldmVhbE9yZGVyID09PSAndG9nZXRoZXInKS4gUHJvY2VzcyB0aG9zZSBjYWxsYmFja3MgYXMgd2VsbC5cbmNvbnN0IHJlc29sdmUgPSAobGlzdCwgY2hpbGQsIG5vZGUpID0+IHtcblx0aWYgKCsrbm9kZVtSRVNPTFZFRF9DT1VOVF0gPT09IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdC8vIFRoZSBudW1iZXIgYSBjaGlsZCAob3IgYW55IG9mIGl0cyBkZXNjZW5kYW50cykgaGFzIGJlZW4gc3VzcGVuZGVkXG5cdFx0Ly8gbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGl0J3MgYmVlbiByZXNvbHZlZC4gVGhlcmVmb3JlIHdlXG5cdFx0Ly8gbWFyayB0aGUgY2hpbGQgYXMgY29tcGxldGVseSByZXNvbHZlZCBieSBkZWxldGluZyBpdCBmcm9tIC5fbWFwLlxuXHRcdC8vIFRoaXMgaXMgdXNlZCB0byBmaWd1cmUgb3V0IHdoZW4gKmFsbCogY2hpbGRyZW4gaGF2ZSBiZWVuIGNvbXBsZXRlbHlcblx0XHQvLyByZXNvbHZlZCB3aGVuIHJldmVhbE9yZGVyIGlzICd0b2dldGhlcicuXG5cdFx0bGlzdC5fbWFwLmRlbGV0ZShjaGlsZCk7XG5cdH1cblxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyBmYWxzeSB0aGVuIHdlIGNhbiBkbyBhbiBlYXJseSBleGl0LCBhcyB0aGVcblx0Ly8gY2FsbGJhY2tzIHdvbid0IGdldCBxdWV1ZWQgaW4gdGhlIG5vZGUgYW55d2F5LlxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyAndG9nZXRoZXInIHRoZW4gYWxzbyBkbyBhbiBlYXJseSBleGl0XG5cdC8vIGlmIGFsbCBzdXNwZW5kZWQgZGVzY2VuZGFudHMgaGF2ZSBub3QgeWV0IGJlZW4gcmVzb2x2ZWQuXG5cdGlmIChcblx0XHQhbGlzdC5wcm9wcy5yZXZlYWxPcmRlciB8fFxuXHRcdChsaXN0LnByb3BzLnJldmVhbE9yZGVyWzBdID09PSAndCcgJiYgbGlzdC5fbWFwLnNpemUpXG5cdCkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIFdhbGsgdGhlIGN1cnJlbnRseSBzdXNwZW5kZWQgY2hpbGRyZW4gaW4gb3JkZXIsIGNhbGxpbmcgdGhlaXJcblx0Ly8gc3RvcmVkIGNhbGxiYWNrcyBvbiB0aGUgd2F5LiBTdG9wIGlmIHdlIGVuY291bnRlciBhIGNoaWxkIHRoYXRcblx0Ly8gaGFzIG5vdCBiZWVuIGNvbXBsZXRlbHkgcmVzb2x2ZWQgeWV0LlxuXHRub2RlID0gbGlzdC5fbmV4dDtcblx0d2hpbGUgKG5vZGUpIHtcblx0XHR3aGlsZSAobm9kZS5sZW5ndGggPiAzKSB7XG5cdFx0XHRub2RlLnBvcCgpKCk7XG5cdFx0fVxuXHRcdGlmIChub2RlW1JFU09MVkVEX0NPVU5UXSA8IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGxpc3QuX25leHQgPSBub2RlID0gbm9kZVtORVhUX05PREVdO1xuXHR9XG59O1xuXG4vLyBUaGluZ3Mgd2UgZG8gaGVyZSB0byBzYXZlIHNvbWUgYnl0ZXMgYnV0IGFyZSBub3QgcHJvcGVyIEpTIGluaGVyaXRhbmNlOlxuLy8gLSBjYWxsIGBuZXcgQ29tcG9uZW50KClgIGFzIHRoZSBwcm90b3R5cGVcbi8vIC0gZG8gbm90IHNldCBgU3VzcGVuc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yYCB0byBgU3VzcGVuc2VgXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlID0gbmV3IENvbXBvbmVudCgpO1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLl9zdXNwZW5kZWQgPSBmdW5jdGlvbiAoY2hpbGQpIHtcblx0Y29uc3QgbGlzdCA9IHRoaXM7XG5cdGNvbnN0IGRlbGVnYXRlZCA9IHN1c3BlbmRlZChsaXN0Ll92bm9kZSk7XG5cblx0bGV0IG5vZGUgPSBsaXN0Ll9tYXAuZ2V0KGNoaWxkKTtcblx0bm9kZVtTVVNQRU5ERURfQ09VTlRdKys7XG5cblx0cmV0dXJuIHVuc3VzcGVuZCA9PiB7XG5cdFx0Y29uc3Qgd3JhcHBlZFVuc3VzcGVuZCA9ICgpID0+IHtcblx0XHRcdGlmICghbGlzdC5wcm9wcy5yZXZlYWxPcmRlcikge1xuXHRcdFx0XHQvLyBTcGVjaWFsIGNhc2UgdGhlIHVuZGVmaW5lZCAoZmFsc3kpIHJldmVhbE9yZGVyLCBhcyB0aGVyZVxuXHRcdFx0XHQvLyBpcyBubyBuZWVkIHRvIGNvb3JkaW5hdGUgYSBzcGVjaWZpYyBvcmRlciBvciB1bnN1c3BlbmRzLlxuXHRcdFx0XHR1bnN1c3BlbmQoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5vZGUucHVzaCh1bnN1c3BlbmQpO1xuXHRcdFx0XHRyZXNvbHZlKGxpc3QsIGNoaWxkLCBub2RlKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGlmIChkZWxlZ2F0ZWQpIHtcblx0XHRcdGRlbGVnYXRlZCh3cmFwcGVkVW5zdXNwZW5kKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d3JhcHBlZFVuc3VzcGVuZCgpO1xuXHRcdH1cblx0fTtcbn07XG5cblN1c3BlbnNlTGlzdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKHByb3BzKSB7XG5cdHRoaXMuX25leHQgPSBudWxsO1xuXHR0aGlzLl9tYXAgPSBuZXcgTWFwKCk7XG5cblx0Y29uc3QgY2hpbGRyZW4gPSB0b0NoaWxkQXJyYXkocHJvcHMuY2hpbGRyZW4pO1xuXHRpZiAocHJvcHMucmV2ZWFsT3JkZXIgJiYgcHJvcHMucmV2ZWFsT3JkZXJbMF0gPT09ICdiJykge1xuXHRcdC8vIElmIG9yZGVyID09PSAnYmFja3dhcmRzJyAob3IsIHdlbGwsIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGggYSAnYicpXG5cdFx0Ly8gdGhlbiBmbGlwIHRoZSBjaGlsZCBsaXN0IGFyb3VuZCBzbyB0aGF0IHRoZSBsYXN0IGNoaWxkIHdpbGwgYmVcblx0XHQvLyB0aGUgZmlyc3QgaW4gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdGNoaWxkcmVuLnJldmVyc2UoKTtcblx0fVxuXHQvLyBCdWlsZCB0aGUgbGlua2VkIGxpc3QuIEl0ZXJhdGUgdGhyb3VnaCB0aGUgY2hpbGRyZW4gaW4gcmV2ZXJzZSBvcmRlclxuXHQvLyBzbyB0aGF0IGBfbmV4dGAgcG9pbnRzIHRvIHRoZSBmaXJzdCBsaW5rZWQgbGlzdCBub2RlIHRvIGJlIHJlc29sdmVkLlxuXHRmb3IgKGxldCBpID0gY2hpbGRyZW4ubGVuZ3RoOyBpLS07ICkge1xuXHRcdC8vIENyZWF0ZSBhIG5ldyBsaW5rZWQgbGlzdCBub2RlIGFzIGFuIGFycmF5IG9mIGZvcm06XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlXVxuXHRcdC8vIHdoZXJlIHN1c3BlbmRlZF9jb3VudCBhbmQgcmVzb2x2ZWRfY291bnQgYXJlIG51bWVyaWMgY291bnRlcnMgZm9yXG5cdFx0Ly8ga2VlcGluZyB0cmFjayBob3cgbWFueSB0aW1lcyBhIG5vZGUgaGFzIGJlZW4gc3VzcGVuZGVkIGFuZCByZXNvbHZlZC5cblx0XHQvL1xuXHRcdC8vIE5vdGUgdGhhdCBzdXNwZW5kZWRfY291bnQgc3RhcnRzIGZyb20gMSBpbnN0ZWFkIG9mIDAsIHNvIHdlIGNhbiBibG9ja1xuXHRcdC8vIHByb2Nlc3NpbmcgY2FsbGJhY2tzIHVudGlsIGNvbXBvbmVudERpZE1vdW50IGhhcyBiZWVuIGNhbGxlZC4gSW4gYSBzZW5zZVxuXHRcdC8vIG5vZGUgaXMgc3VzcGVuZGVkIGF0IGxlYXN0IHVudGlsIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkIVxuXHRcdC8vXG5cdFx0Ly8gUGVuZGluZyBjYWxsYmFja3MgYXJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIG5vZGU6XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlLCBjYWxsYmFja18wLCBjYWxsYmFja18xLCAuLi5dXG5cdFx0dGhpcy5fbWFwLnNldChjaGlsZHJlbltpXSwgKHRoaXMuX25leHQgPSBbMSwgMCwgdGhpcy5fbmV4dF0pKTtcblx0fVxuXHRyZXR1cm4gcHJvcHMuY2hpbGRyZW47XG59O1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9XG5cdFN1c3BlbnNlTGlzdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0Ly8gSXRlcmF0ZSB0aHJvdWdoIGFsbCBjaGlsZHJlbiBhZnRlciBtb3VudGluZyBmb3IgdHdvIHJlYXNvbnM6XG5cdFx0Ly8gMS4gQXMgZWFjaCBub2RlW1NVU1BFTkRFRF9DT1VOVF0gc3RhcnRzIGZyb20gMSwgdGhpcyBpdGVyYXRpb24gaW5jcmVhc2VzXG5cdFx0Ly8gICAgZWFjaCBub2RlW1JFTEVBU0VEX0NPVU5UXSBieSAxLCB0aGVyZWZvcmUgYmFsYW5jaW5nIHRoZSBjb3VudGVycy5cblx0XHQvLyAgICBUaGUgbm9kZXMgY2FuIG5vdyBiZSBjb21wbGV0ZWx5IGNvbnN1bWVkIGZyb20gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdC8vIDIuIEhhbmRsZSBub2RlcyB0aGF0IG1pZ2h0IGhhdmUgZ290dGVuIHJlc29sdmVkIGJldHdlZW4gcmVuZGVyIGFuZFxuXHRcdC8vICAgIGNvbXBvbmVudERpZE1vdW50LlxuXHRcdHRoaXMuX21hcC5mb3JFYWNoKChub2RlLCBjaGlsZCkgPT4ge1xuXHRcdFx0cmVzb2x2ZSh0aGlzLCBjaGlsZCwgbm9kZSk7XG5cdFx0fSk7XG5cdH07XG4iLCIvKiogTm9ybWFsIGh5ZHJhdGlvbiB0aGF0IGF0dGFjaGVzIHRvIGEgRE9NIHRyZWUgYnV0IGRvZXMgbm90IGRpZmYgaXQuICovXG5leHBvcnQgY29uc3QgTU9ERV9IWURSQVRFID0gMSA8PCA1O1xuLyoqIFNpZ25pZmllcyB0aGlzIFZOb2RlIHN1c3BlbmRlZCBvbiB0aGUgcHJldmlvdXMgcmVuZGVyICovXG5leHBvcnQgY29uc3QgTU9ERV9TVVNQRU5ERUQgPSAxIDw8IDc7XG4vKiogSW5kaWNhdGVzIHRoYXQgdGhpcyBub2RlIG5lZWRzIHRvIGJlIGluc2VydGVkIHdoaWxlIHBhdGNoaW5nIGNoaWxkcmVuICovXG5leHBvcnQgY29uc3QgSU5TRVJUX1ZOT0RFID0gMSA8PCAyO1xuLyoqIEluZGljYXRlcyBhIFZOb2RlIGhhcyBiZWVuIG1hdGNoZWQgd2l0aCBhbm90aGVyIFZOb2RlIGluIHRoZSBkaWZmICovXG5leHBvcnQgY29uc3QgTUFUQ0hFRCA9IDEgPDwgMTtcblxuLyoqIFJlc2V0IGFsbCBtb2RlIGZsYWdzICovXG5leHBvcnQgY29uc3QgUkVTRVRfTU9ERSA9IH4oTU9ERV9IWURSQVRFIHwgTU9ERV9TVVNQRU5ERUQpO1xuXG5leHBvcnQgY29uc3QgU1ZHX05BTUVTUEFDRSA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7XG5leHBvcnQgY29uc3QgWEhUTUxfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnO1xuZXhwb3J0IGNvbnN0IE1BVEhfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnO1xuXG5leHBvcnQgY29uc3QgTlVMTCA9IG51bGw7XG5leHBvcnQgY29uc3QgVU5ERUZJTkVEID0gdW5kZWZpbmVkO1xuZXhwb3J0IGNvbnN0IEVNUFRZX09CSiA9IC8qKiBAdHlwZSB7YW55fSAqLyAoe30pO1xuZXhwb3J0IGNvbnN0IEVNUFRZX0FSUiA9IFtdO1xuZXhwb3J0IGNvbnN0IElTX05PTl9ESU1FTlNJT05BTCA9XG5cdC9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2k7XG4iLCJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCByZW5kZXIgfSBmcm9tICdwcmVhY3QnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi8uLi9zcmMvaW5kZXgnKS5SZW5kZXJhYmxlUHJvcHM8eyBjb250ZXh0OiBhbnkgfT59IHByb3BzXG4gKi9cbmZ1bmN0aW9uIENvbnRleHRQcm92aWRlcihwcm9wcykge1xuXHR0aGlzLmdldENoaWxkQ29udGV4dCA9ICgpID0+IHByb3BzLmNvbnRleHQ7XG5cdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBQb3J0YWwgY29tcG9uZW50XG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50fVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsIHwgdW5kZWZpbmVkfSBwcm9wc1xuICpcbiAqIFRPRE86IHVzZSBjcmVhdGVSb290KCkgaW5zdGVhZCBvZiBmYWtlIHJvb3RcbiAqL1xuZnVuY3Rpb24gUG9ydGFsKHByb3BzKSB7XG5cdGNvbnN0IF90aGlzID0gdGhpcztcblx0bGV0IGNvbnRhaW5lciA9IHByb3BzLl9jb250YWluZXI7XG5cblx0X3RoaXMuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0cmVuZGVyKG51bGwsIF90aGlzLl90ZW1wKTtcblx0XHRfdGhpcy5fdGVtcCA9IG51bGw7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IG51bGw7XG5cdH07XG5cblx0Ly8gV2hlbiB3ZSBjaGFuZ2UgY29udGFpbmVyIHdlIHNob3VsZCBjbGVhciBvdXIgb2xkIGNvbnRhaW5lciBhbmRcblx0Ly8gaW5kaWNhdGUgYSBuZXcgbW91bnQuXG5cdGlmIChfdGhpcy5fY29udGFpbmVyICYmIF90aGlzLl9jb250YWluZXIgIT09IGNvbnRhaW5lcikge1xuXHRcdF90aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG5cdH1cblxuXHRpZiAoIV90aGlzLl90ZW1wKSB7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IGNvbnRhaW5lcjtcblxuXHRcdC8vIENyZWF0ZSBhIGZha2UgRE9NIHBhcmVudCBub2RlIHRoYXQgbWFuYWdlcyBhIHN1YnNldCBvZiBgY29udGFpbmVyYCdzIGNoaWxkcmVuOlxuXHRcdF90aGlzLl90ZW1wID0ge1xuXHRcdFx0bm9kZVR5cGU6IDEsXG5cdFx0XHRwYXJlbnROb2RlOiBjb250YWluZXIsXG5cdFx0XHRjaGlsZE5vZGVzOiBbXSxcblx0XHRcdGNvbnRhaW5zOiAoKSA9PiB0cnVlLFxuXHRcdFx0Ly8gVGVjaG5pY2FsbHkgdGhpcyBpc24ndCBuZWVkZWRcblx0XHRcdGFwcGVuZENoaWxkKGNoaWxkKSB7XG5cdFx0XHRcdHRoaXMuY2hpbGROb2Rlcy5wdXNoKGNoaWxkKTtcblx0XHRcdFx0X3RoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChjaGlsZCk7XG5cdFx0XHR9LFxuXHRcdFx0aW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmUpIHtcblx0XHRcdFx0dGhpcy5jaGlsZE5vZGVzLnB1c2goY2hpbGQpO1xuXHRcdFx0XHRfdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShjaGlsZCwgYmVmb3JlKTtcblx0XHRcdH0sXG5cdFx0XHRyZW1vdmVDaGlsZChjaGlsZCkge1xuXHRcdFx0XHR0aGlzLmNoaWxkTm9kZXMuc3BsaWNlKHRoaXMuY2hpbGROb2Rlcy5pbmRleE9mKGNoaWxkKSA+Pj4gMSwgMSk7XG5cdFx0XHRcdF90aGlzLl9jb250YWluZXIucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHQvLyBSZW5kZXIgb3VyIHdyYXBwaW5nIGVsZW1lbnQgaW50byB0ZW1wLlxuXHRyZW5kZXIoXG5cdFx0Y3JlYXRlRWxlbWVudChDb250ZXh0UHJvdmlkZXIsIHsgY29udGV4dDogX3RoaXMuY29udGV4dCB9LCBwcm9wcy5fdm5vZGUpLFxuXHRcdF90aGlzLl90ZW1wXG5cdCk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYFBvcnRhbGAgdG8gY29udGludWUgcmVuZGVyaW5nIHRoZSB2bm9kZSB0cmVlIGF0IGEgZGlmZmVyZW50IERPTSBub2RlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZSBUaGUgdm5vZGUgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlByZWFjdEVsZW1lbnR9IGNvbnRhaW5lciBUaGUgRE9NIG5vZGUgdG8gY29udGludWUgcmVuZGVyaW5nIGluIHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9ydGFsKHZub2RlLCBjb250YWluZXIpIHtcblx0Y29uc3QgZWwgPSBjcmVhdGVFbGVtZW50KFBvcnRhbCwgeyBfdm5vZGU6IHZub2RlLCBfY29udGFpbmVyOiBjb250YWluZXIgfSk7XG5cdGVsLmNvbnRhaW5lckluZm8gPSBjb250YWluZXI7XG5cdHJldHVybiBlbDtcbn1cbiIsImltcG9ydCB7XG5cdHJlbmRlciBhcyBwcmVhY3RSZW5kZXIsXG5cdGh5ZHJhdGUgYXMgcHJlYWN0SHlkcmF0ZSxcblx0b3B0aW9ucyxcblx0dG9DaGlsZEFycmF5LFxuXHRDb21wb25lbnRcbn0gZnJvbSAncHJlYWN0JztcbmltcG9ydCB7XG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VDb250ZXh0LFxuXHR1c2VEZWJ1Z1ZhbHVlLFxuXHR1c2VFZmZlY3QsXG5cdHVzZUlkLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VMYXlvdXRFZmZlY3QsXG5cdHVzZU1lbW8sXG5cdHVzZVJlZHVjZXIsXG5cdHVzZVJlZixcblx0dXNlU3RhdGVcbn0gZnJvbSAncHJlYWN0L2hvb2tzJztcbmltcG9ydCB7XG5cdHVzZURlZmVycmVkVmFsdWUsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHVzZVRyYW5zaXRpb25cbn0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBSRUFDVF9FTEVNRU5UX1RZUEUgPVxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiBTeW1ib2wuZm9yICYmIFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSkgfHxcblx0MHhlYWM3O1xuXG5jb25zdCBDQU1FTF9QUk9QUyA9XG5cdC9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLztcbmNvbnN0IE9OX0FOSSA9IC9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS87XG5jb25zdCBDQU1FTF9SRVBMQUNFID0gL1tBLVowLTldL2c7XG5jb25zdCBJU19ET00gPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnO1xuXG4vLyBJbnB1dCB0eXBlcyBmb3Igd2hpY2ggb25jaGFuZ2Ugc2hvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gb25pbnB1dC5cbi8vIHR5cGU9XCJmaWxlfGNoZWNrYm94fHJhZGlvXCIsIHBsdXMgXCJyYW5nZVwiIGluIElFMTEuXG4vLyAoSUUxMSBkb2Vzbid0IHN1cHBvcnQgU3ltYm9sLCB3aGljaCB3ZSB1c2UgaGVyZSB0byB0dXJuIGByYWRgIGludG8gYHJhYCB3aGljaCBtYXRjaGVzIFwicmFuZ2VcIilcbmNvbnN0IG9uQ2hhbmdlSW5wdXRUeXBlID0gdHlwZSA9PlxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgU3ltYm9sKCkgPT0gJ3N5bWJvbCdcblx0XHQ/IC9maWx8Y2hlfHJhZC9cblx0XHQ6IC9maWx8Y2hlfHJhL1xuXHQpLnRlc3QodHlwZSk7XG5cbi8vIFNvbWUgbGlicmFyaWVzIGxpa2UgYHJlYWN0LXZpcnR1YWxpemVkYCBleHBsaWNpdGx5IGNoZWNrIGZvciB0aGlzLlxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XG5cbi8vIGBVTlNBRkVfKmAgbGlmZWN5Y2xlIGhvb2tzXG4vLyBQcmVhY3Qgb25seSBldmVyIGludm9rZXMgdGhlIHVucHJlZml4ZWQgbWV0aG9kcy5cbi8vIEhlcmUgd2UgcHJvdmlkZSBhIGJhc2UgXCJmYWxsYmFja1wiIGltcGxlbWVudGF0aW9uIHRoYXQgY2FsbHMgYW55IGRlZmluZWQgVU5TQUZFXyBwcmVmaXhlZCBtZXRob2QuXG4vLyAtIElmIGEgY29tcG9uZW50IGRlZmluZXMgaXRzIG93biBgY29tcG9uZW50RGlkTW91bnQoKWAgKGluY2x1ZGluZyB2aWEgZGVmaW5lUHJvcGVydHkpLCB1c2UgdGhhdC5cbi8vIC0gSWYgYSBjb21wb25lbnQgZGVmaW5lcyBgVU5TQUZFX2NvbXBvbmVudERpZE1vdW50KClgLCBgY29tcG9uZW50RGlkTW91bnRgIGlzIHRoZSBhbGlhcyBnZXR0ZXIvc2V0dGVyLlxuLy8gLSBJZiBhbnl0aGluZyBhc3NpZ25zIHRvIGFuIGBVTlNBRkVfKmAgcHJvcGVydHksIHRoZSBhc3NpZ25tZW50IGlzIGZvcndhcmRlZCB0byB0aGUgdW5wcmVmaXhlZCBwcm9wZXJ0eS5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJlYWN0anMvcHJlYWN0L2lzc3Vlcy8xOTQxXG5bXG5cdCdjb21wb25lbnRXaWxsTW91bnQnLFxuXHQnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycsXG5cdCdjb21wb25lbnRXaWxsVXBkYXRlJ1xuXS5mb3JFYWNoKGtleSA9PiB7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21wb25lbnQucHJvdG90eXBlLCBrZXksIHtcblx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXNbJ1VOU0FGRV8nICsga2V5XTtcblx0XHR9LFxuXHRcdHNldCh2KSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywga2V5LCB7XG5cdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdFx0d3JpdGFibGU6IHRydWUsXG5cdFx0XHRcdHZhbHVlOiB2XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0pO1xufSk7XG5cbi8qKlxuICogUHJveHkgcmVuZGVyKCkgc2luY2UgUmVhY3QgcmV0dXJucyBhIENvbXBvbmVudCByZWZlcmVuY2UuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZSBWTm9kZSB0cmVlIHRvIHJlbmRlclxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5QcmVhY3RFbGVtZW50fSBwYXJlbnQgRE9NIG5vZGUgdG8gcmVuZGVyIHZub2RlIHRyZWUgaW50b1xuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbY2FsbGJhY2tdIE9wdGlvbmFsIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgcmVuZGVyaW5nXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50IHwgbnVsbH0gVGhlIHJvb3QgY29tcG9uZW50IHJlZmVyZW5jZSBvciBudWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0Ly8gUmVhY3QgZGVzdHJveXMgYW55IGV4aXN0aW5nIERPTSBub2Rlcywgc2VlICMxNzI3XG5cdC8vIC4uLmJ1dCBvbmx5IG9uIHRoZSBmaXJzdCByZW5kZXIsIHNlZSAjMTgyOFxuXHRpZiAocGFyZW50Ll9jaGlsZHJlbiA9PSBudWxsKSB7XG5cdFx0cGFyZW50LnRleHRDb250ZW50ID0gJyc7XG5cdH1cblxuXHRwcmVhY3RSZW5kZXIodm5vZGUsIHBhcmVudCk7XG5cdGlmICh0eXBlb2YgY2FsbGJhY2sgPT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTtcblxuXHRyZXR1cm4gdm5vZGUgPyB2bm9kZS5fY29tcG9uZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5ZHJhdGUodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0cHJlYWN0SHlkcmF0ZSh2bm9kZSwgcGFyZW50KTtcblx0aWYgKHR5cGVvZiBjYWxsYmFjayA9PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuXG5cdHJldHVybiB2bm9kZSA/IHZub2RlLl9jb21wb25lbnQgOiBudWxsO1xufVxuXG5sZXQgb2xkRXZlbnRIb29rID0gb3B0aW9ucy5ldmVudDtcbm9wdGlvbnMuZXZlbnQgPSBlID0+IHtcblx0aWYgKG9sZEV2ZW50SG9vaykgZSA9IG9sZEV2ZW50SG9vayhlKTtcblxuXHRlLnBlcnNpc3QgPSBlbXB0eTtcblx0ZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGlzUHJvcGFnYXRpb25TdG9wcGVkO1xuXHRlLmlzRGVmYXVsdFByZXZlbnRlZCA9IGlzRGVmYXVsdFByZXZlbnRlZDtcblx0cmV0dXJuIChlLm5hdGl2ZUV2ZW50ID0gZSk7XG59O1xuXG5mdW5jdGlvbiBlbXB0eSgpIHt9XG5cbmZ1bmN0aW9uIGlzUHJvcGFnYXRpb25TdG9wcGVkKCkge1xuXHRyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGU7XG59XG5cbmZ1bmN0aW9uIGlzRGVmYXVsdFByZXZlbnRlZCgpIHtcblx0cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZDtcbn1cblxuY29uc3QgY2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlID0ge1xuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2xhc3M7XG5cdH1cbn07XG5cbmZ1bmN0aW9uIGhhbmRsZURvbVZOb2RlKHZub2RlKSB7XG5cdGxldCBwcm9wcyA9IHZub2RlLnByb3BzLFxuXHRcdHR5cGUgPSB2bm9kZS50eXBlLFxuXHRcdG5vcm1hbGl6ZWRQcm9wcyA9IHt9O1xuXG5cdGxldCBpc05vbkRhc2hlZFR5cGUgPSB0eXBlLmluZGV4T2YoJy0nKSA9PT0gLTE7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIHtcblx0XHRsZXQgdmFsdWUgPSBwcm9wc1tpXTtcblxuXHRcdGlmIChcblx0XHRcdChpID09PSAndmFsdWUnICYmICdkZWZhdWx0VmFsdWUnIGluIHByb3BzICYmIHZhbHVlID09IG51bGwpIHx8XG5cdFx0XHQvLyBFbXVsYXRlIFJlYWN0J3MgYmVoYXZpb3Igb2Ygbm90IHJlbmRlcmluZyB0aGUgY29udGVudHMgb2Ygbm9zY3JpcHQgdGFncyBvbiB0aGUgY2xpZW50LlxuXHRcdFx0KElTX0RPTSAmJiBpID09PSAnY2hpbGRyZW4nICYmIHR5cGUgPT09ICdub3NjcmlwdCcpIHx8XG5cdFx0XHRpID09PSAnY2xhc3MnIHx8XG5cdFx0XHRpID09PSAnY2xhc3NOYW1lJ1xuXHRcdCkge1xuXHRcdFx0Ly8gU2tpcCBhcHBseWluZyB2YWx1ZSBpZiBpdCBpcyBudWxsL3VuZGVmaW5lZCBhbmQgd2UgYWxyZWFkeSBzZXRcblx0XHRcdC8vIGEgZGVmYXVsdCB2YWx1ZVxuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0bGV0IGxvd2VyQ2FzZWQgPSBpLnRvTG93ZXJDYXNlKCk7XG5cdFx0aWYgKGkgPT09ICdkZWZhdWx0VmFsdWUnICYmICd2YWx1ZScgaW4gcHJvcHMgJiYgcHJvcHMudmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0Ly8gYGRlZmF1bHRWYWx1ZWAgaXMgdHJlYXRlZCBhcyBhIGZhbGxiYWNrIGB2YWx1ZWAgd2hlbiBhIHZhbHVlIHByb3AgaXMgcHJlc2VudCBidXQgbnVsbC91bmRlZmluZWQuXG5cdFx0XHQvLyBgZGVmYXVsdFZhbHVlYCBmb3IgRWxlbWVudHMgd2l0aCBubyB2YWx1ZSBwcm9wIGlzIHRoZSBzYW1lIGFzIHRoZSBET00gZGVmYXVsdFZhbHVlIHByb3BlcnR5LlxuXHRcdFx0aSA9ICd2YWx1ZSc7XG5cdFx0fSBlbHNlIGlmIChpID09PSAnZG93bmxvYWQnICYmIHZhbHVlID09PSB0cnVlKSB7XG5cdFx0XHQvLyBDYWxsaW5nIGBzZXRBdHRyaWJ1dGVgIHdpdGggYSB0cnV0aHkgdmFsdWUgd2lsbCBsZWFkIHRvIGl0IGJlaW5nXG5cdFx0XHQvLyBwYXNzZWQgYXMgYSBzdHJpbmdpZmllZCB2YWx1ZSwgZS5nLiBgZG93bmxvYWQ9XCJ0cnVlXCJgLiBSZWFjdFxuXHRcdFx0Ly8gY29udmVydHMgaXQgdG8gYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQsIG90aGVyd2lzZSB0aGUgYXR0cmlidXRlXG5cdFx0XHQvLyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdGhlIGZpbGUgbmFtZSBhbmQgdGhlIGZpbGUgd2lsbCBiZSBjYWxsZWRcblx0XHRcdC8vIFwidHJ1ZVwiIHVwb24gZG93bmxvYWRpbmcgaXQuXG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH0gZWxzZSBpZiAobG93ZXJDYXNlZCA9PT0gJ3RyYW5zbGF0ZScgJiYgdmFsdWUgPT09ICdubycpIHtcblx0XHRcdHZhbHVlID0gZmFsc2U7XG5cdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkWzBdID09PSAnbycgJiYgbG93ZXJDYXNlZFsxXSA9PT0gJ24nKSB7XG5cdFx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uZG91YmxlY2xpY2snKSB7XG5cdFx0XHRcdGkgPSAnb25kYmxjbGljayc7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRsb3dlckNhc2VkID09PSAnb25jaGFuZ2UnICYmXG5cdFx0XHRcdCh0eXBlID09PSAnaW5wdXQnIHx8IHR5cGUgPT09ICd0ZXh0YXJlYScpICYmXG5cdFx0XHRcdCFvbkNoYW5nZUlucHV0VHlwZShwcm9wcy50eXBlKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGxvd2VyQ2FzZWQgPSBpID0gJ29uaW5wdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25mb2N1cycpIHtcblx0XHRcdFx0aSA9ICdvbmZvY3VzaW4nO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25ibHVyJykge1xuXHRcdFx0XHRpID0gJ29uZm9jdXNvdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChPTl9BTkkudGVzdChpKSkge1xuXHRcdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGlzTm9uRGFzaGVkVHlwZSAmJiBDQU1FTF9QUk9QUy50ZXN0KGkpKSB7XG5cdFx0XHRpID0gaS5yZXBsYWNlKENBTUVMX1JFUExBQ0UsICctJCYnKS50b0xvd2VyQ2FzZSgpO1xuXHRcdH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHZhbHVlID0gdW5kZWZpbmVkO1xuXHRcdH1cblxuXHRcdC8vIEFkZCBzdXBwb3J0IGZvciBvbklucHV0IGFuZCBvbkNoYW5nZSwgc2VlICMzNTYxXG5cdFx0Ly8gaWYgd2UgaGF2ZSBhbiBvbmlucHV0IHByb3AgYWxyZWFkeSBjaGFuZ2UgaXQgdG8gb25pbnB1dENhcHR1cmVcblx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uaW5wdXQnKSB7XG5cdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdGlmIChub3JtYWxpemVkUHJvcHNbaV0pIHtcblx0XHRcdFx0aSA9ICdvbmlucHV0Q2FwdHVyZSc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bm9ybWFsaXplZFByb3BzW2ldID0gdmFsdWU7XG5cdH1cblxuXHQvLyBBZGQgc3VwcG9ydCBmb3IgYXJyYXkgc2VsZWN0IHZhbHVlczogPHNlbGVjdCBtdWx0aXBsZSB2YWx1ZT17W119IC8+XG5cdGlmIChcblx0XHR0eXBlID09ICdzZWxlY3QnICYmXG5cdFx0bm9ybWFsaXplZFByb3BzLm11bHRpcGxlICYmXG5cdFx0QXJyYXkuaXNBcnJheShub3JtYWxpemVkUHJvcHMudmFsdWUpXG5cdCkge1xuXHRcdC8vIGZvckVhY2goKSBhbHdheXMgcmV0dXJucyB1bmRlZmluZWQsIHdoaWNoIHdlIGFidXNlIGhlcmUgdG8gdW5zZXQgdGhlIHZhbHVlIHByb3AuXG5cdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlID0gdG9DaGlsZEFycmF5KHByb3BzLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkID0+IHtcblx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gQWRkaW5nIHN1cHBvcnQgZm9yIGRlZmF1bHRWYWx1ZSBpbiBzZWxlY3QgdGFnXG5cdGlmICh0eXBlID09ICdzZWxlY3QnICYmIG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy52YWx1ZSA9IHRvQ2hpbGRBcnJheShwcm9wcy5jaGlsZHJlbikuZm9yRWFjaChjaGlsZCA9PiB7XG5cdFx0XHRpZiAobm9ybWFsaXplZFByb3BzLm11bHRpcGxlKSB7XG5cdFx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0XHRub3JtYWxpemVkUHJvcHMuZGVmYXVsdFZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y2hpbGQucHJvcHMuc2VsZWN0ZWQgPVxuXHRcdFx0XHRcdG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgPT0gY2hpbGQucHJvcHMudmFsdWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRpZiAocHJvcHMuY2xhc3MgJiYgIXByb3BzLmNsYXNzTmFtZSkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy5jbGFzcyA9IHByb3BzLmNsYXNzO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRcdG5vcm1hbGl6ZWRQcm9wcyxcblx0XHRcdCdjbGFzc05hbWUnLFxuXHRcdFx0Y2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlXG5cdFx0KTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgJiYgIXByb3BzLmNsYXNzKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNsYXNzID0gbm9ybWFsaXplZFByb3BzLmNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzcyAmJiBwcm9wcy5jbGFzc05hbWUpIHtcblx0XHRub3JtYWxpemVkUHJvcHMuY2xhc3MgPSBub3JtYWxpemVkUHJvcHMuY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXHR9XG5cblx0dm5vZGUucHJvcHMgPSBub3JtYWxpemVkUHJvcHM7XG59XG5cbmxldCBvbGRWTm9kZUhvb2sgPSBvcHRpb25zLnZub2RlO1xub3B0aW9ucy52bm9kZSA9IHZub2RlID0+IHtcblx0Ly8gb25seSBub3JtYWxpemUgcHJvcHMgb24gRWxlbWVudCBub2Rlc1xuXHRpZiAodHlwZW9mIHZub2RlLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0aGFuZGxlRG9tVk5vZGUodm5vZGUpO1xuXHR9XG5cblx0dm5vZGUuJCR0eXBlb2YgPSBSRUFDVF9FTEVNRU5UX1RZUEU7XG5cblx0aWYgKG9sZFZOb2RlSG9vaykgb2xkVk5vZGVIb29rKHZub2RlKTtcbn07XG5cbi8vIE9ubHkgbmVlZGVkIGZvciByZWFjdC1yZWxheVxubGV0IGN1cnJlbnRDb21wb25lbnQ7XG5jb25zdCBvbGRCZWZvcmVSZW5kZXIgPSBvcHRpb25zLl9yZW5kZXI7XG5vcHRpb25zLl9yZW5kZXIgPSBmdW5jdGlvbiAodm5vZGUpIHtcblx0aWYgKG9sZEJlZm9yZVJlbmRlcikge1xuXHRcdG9sZEJlZm9yZVJlbmRlcih2bm9kZSk7XG5cdH1cblx0Y3VycmVudENvbXBvbmVudCA9IHZub2RlLl9jb21wb25lbnQ7XG59O1xuXG5jb25zdCBvbGREaWZmZWQgPSBvcHRpb25zLmRpZmZlZDtcbi8qKiBAdHlwZSB7KHZub2RlOiBpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZSkgPT4gdm9pZH0gKi9cbm9wdGlvbnMuZGlmZmVkID0gZnVuY3Rpb24gKHZub2RlKSB7XG5cdGlmIChvbGREaWZmZWQpIHtcblx0XHRvbGREaWZmZWQodm5vZGUpO1xuXHR9XG5cblx0Y29uc3QgcHJvcHMgPSB2bm9kZS5wcm9wcztcblx0Y29uc3QgZG9tID0gdm5vZGUuX2RvbTtcblxuXHRpZiAoXG5cdFx0ZG9tICE9IG51bGwgJiZcblx0XHR2bm9kZS50eXBlID09PSAndGV4dGFyZWEnICYmXG5cdFx0J3ZhbHVlJyBpbiBwcm9wcyAmJlxuXHRcdHByb3BzLnZhbHVlICE9PSBkb20udmFsdWVcblx0KSB7XG5cdFx0ZG9tLnZhbHVlID0gcHJvcHMudmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMudmFsdWU7XG5cdH1cblxuXHRjdXJyZW50Q29tcG9uZW50ID0gbnVsbDtcbn07XG5cbi8vIFRoaXMgaXMgYSB2ZXJ5IHZlcnkgcHJpdmF0ZSBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgUmVhY3QgaXRcbi8vIGlzIHVzZWQgdG8gc29ydC1vZiBkbyBydW50aW1lIGRlcGVuZGVuY3kgaW5qZWN0aW9uLlxuZXhwb3J0IGNvbnN0IF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEID0ge1xuXHRSZWFjdEN1cnJlbnREaXNwYXRjaGVyOiB7XG5cdFx0Y3VycmVudDoge1xuXHRcdFx0cmVhZENvbnRleHQoY29udGV4dCkge1xuXHRcdFx0XHRyZXR1cm4gY3VycmVudENvbXBvbmVudC5fZ2xvYmFsQ29udGV4dFtjb250ZXh0Ll9pZF0ucHJvcHMudmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0dXNlQ2FsbGJhY2ssXG5cdFx0XHR1c2VDb250ZXh0LFxuXHRcdFx0dXNlRGVidWdWYWx1ZSxcblx0XHRcdHVzZURlZmVycmVkVmFsdWUsXG5cdFx0XHR1c2VFZmZlY3QsXG5cdFx0XHR1c2VJZCxcblx0XHRcdHVzZUltcGVyYXRpdmVIYW5kbGUsXG5cdFx0XHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdFx0XHR1c2VMYXlvdXRFZmZlY3QsXG5cdFx0XHR1c2VNZW1vLFxuXHRcdFx0Ly8gdXNlTXV0YWJsZVNvdXJjZSwgLy8gZXhwZXJpbWVudGFsLW9ubHkgYW5kIHJlcGxhY2VkIGJ5IHVTRVMsIGxpa2VseSBub3Qgd29ydGggc3VwcG9ydGluZ1xuXHRcdFx0dXNlUmVkdWNlcixcblx0XHRcdHVzZVJlZixcblx0XHRcdHVzZVN0YXRlLFxuXHRcdFx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdFx0XHR1c2VUcmFuc2l0aW9uXG5cdFx0fVxuXHR9XG59O1xuIiwiaW1wb3J0IHtcblx0Y3JlYXRlRWxlbWVudCxcblx0cmVuZGVyIGFzIHByZWFjdFJlbmRlcixcblx0Y2xvbmVFbGVtZW50IGFzIHByZWFjdENsb25lRWxlbWVudCxcblx0Y3JlYXRlUmVmLFxuXHRDb21wb25lbnQsXG5cdGNyZWF0ZUNvbnRleHQsXG5cdEZyYWdtZW50XG59IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQge1xuXHR1c2VTdGF0ZSxcblx0dXNlSWQsXG5cdHVzZVJlZHVjZXIsXG5cdHVzZUVmZmVjdCxcblx0dXNlTGF5b3V0RWZmZWN0LFxuXHR1c2VSZWYsXG5cdHVzZUltcGVyYXRpdmVIYW5kbGUsXG5cdHVzZU1lbW8sXG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VDb250ZXh0LFxuXHR1c2VEZWJ1Z1ZhbHVlXG59IGZyb20gJ3ByZWFjdC9ob29rcyc7XG5pbXBvcnQge1xuXHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdHN0YXJ0VHJhbnNpdGlvbixcblx0dXNlRGVmZXJyZWRWYWx1ZSxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHVzZVRyYW5zaXRpb25cbn0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAnLi9QdXJlQ29tcG9uZW50JztcbmltcG9ydCB7IG1lbW8gfSBmcm9tICcuL21lbW8nO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiB9IGZyb20gJy4vZm9yd2FyZFJlZic7XG5pbXBvcnQgeyBDaGlsZHJlbiB9IGZyb20gJy4vQ2hpbGRyZW4nO1xuaW1wb3J0IHsgU3VzcGVuc2UsIGxhenkgfSBmcm9tICcuL3N1c3BlbnNlJztcbmltcG9ydCB7IFN1c3BlbnNlTGlzdCB9IGZyb20gJy4vc3VzcGVuc2UtbGlzdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICcuL3BvcnRhbHMnO1xuaW1wb3J0IHtcblx0aHlkcmF0ZSxcblx0cmVuZGVyLFxuXHRSRUFDVF9FTEVNRU5UX1RZUEUsXG5cdF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEXG59IGZyb20gJy4vcmVuZGVyJztcblxuY29uc3QgdmVyc2lvbiA9ICcxOC4zLjEnOyAvLyB0cmljayBsaWJyYXJpZXMgdG8gdGhpbmsgd2UgYXJlIHJlYWN0XG5cbi8qKlxuICogTGVnYWN5IHZlcnNpb24gb2YgY3JlYXRlRWxlbWVudC5cbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGVbXCJ0eXBlXCJdfSB0eXBlIFRoZSBub2RlIG5hbWUgb3IgQ29tcG9uZW50IGNvbnN0cnVjdG9yXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUZhY3RvcnkodHlwZSkge1xuXHRyZXR1cm4gY3JlYXRlRWxlbWVudC5iaW5kKG51bGwsIHR5cGUpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBhIHZhbGlkIChwKXJlYWN0IG5vZGUuXG4gKiBAcGFyYW0geyp9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChlbGVtZW50KSB7XG5cdHJldHVybiAhIWVsZW1lbnQgJiYgZWxlbWVudC4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBhIEZyYWdtZW50IG5vZGUuXG4gKiBAcGFyYW0geyp9IGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBpc0ZyYWdtZW50KGVsZW1lbnQpIHtcblx0cmV0dXJuIGlzVmFsaWRFbGVtZW50KGVsZW1lbnQpICYmIGVsZW1lbnQudHlwZSA9PT0gRnJhZ21lbnQ7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHBhc3NlZCBlbGVtZW50IGlzIGEgTWVtbyBub2RlLlxuICogQHBhcmFtIHsqfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNNZW1vKGVsZW1lbnQpIHtcblx0cmV0dXJuIChcblx0XHQhIWVsZW1lbnQgJiZcblx0XHQhIWVsZW1lbnQuZGlzcGxheU5hbWUgJiZcblx0XHQodHlwZW9mIGVsZW1lbnQuZGlzcGxheU5hbWUgPT09ICdzdHJpbmcnIHx8XG5cdFx0XHRlbGVtZW50LmRpc3BsYXlOYW1lIGluc3RhbmNlb2YgU3RyaW5nKSAmJlxuXHRcdGVsZW1lbnQuZGlzcGxheU5hbWUuc3RhcnRzV2l0aCgnTWVtbygnKVxuXHQpO1xufVxuXG4vKipcbiAqIFdyYXAgYGNsb25lRWxlbWVudGAgdG8gYWJvcnQgaWYgdGhlIHBhc3NlZCBlbGVtZW50IGlzIG5vdCBhIHZhbGlkIGVsZW1lbnQgYW5kIGFwcGx5XG4gKiBhbGwgdm5vZGUgbm9ybWFsaXphdGlvbnMuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSBlbGVtZW50IFRoZSB2bm9kZSB0byBjbG9uZVxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzIFByb3BzIHRvIGFkZCB3aGVuIGNsb25pbmdcbiAqIEBwYXJhbSB7QXJyYXk8aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50Q2hpbGRyZW4+fSByZXN0IE9wdGlvbmFsIGNvbXBvbmVudCBjaGlsZHJlblxuICovXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudCkge1xuXHRpZiAoIWlzVmFsaWRFbGVtZW50KGVsZW1lbnQpKSByZXR1cm4gZWxlbWVudDtcblx0cmV0dXJuIHByZWFjdENsb25lRWxlbWVudC5hcHBseShudWxsLCBhcmd1bWVudHMpO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhIGNvbXBvbmVudCB0cmVlIGZyb20gdGhlIERPTSwgaW5jbHVkaW5nIHN0YXRlIGFuZCBldmVudCBoYW5kbGVycy5cbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuUHJlYWN0RWxlbWVudH0gY29udGFpbmVyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gdW5tb3VudENvbXBvbmVudEF0Tm9kZShjb250YWluZXIpIHtcblx0aWYgKGNvbnRhaW5lci5fY2hpbGRyZW4pIHtcblx0XHRwcmVhY3RSZW5kZXIobnVsbCwgY29udGFpbmVyKTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogR2V0IHRoZSBtYXRjaGluZyBET00gbm9kZSBmb3IgYSBjb21wb25lbnRcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50fSBjb21wb25lbnRcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5QcmVhY3RFbGVtZW50IHwgbnVsbH1cbiAqL1xuZnVuY3Rpb24gZmluZERPTU5vZGUoY29tcG9uZW50KSB7XG5cdHJldHVybiAoXG5cdFx0KGNvbXBvbmVudCAmJlxuXHRcdFx0KGNvbXBvbmVudC5iYXNlIHx8IChjb21wb25lbnQubm9kZVR5cGUgPT09IDEgJiYgY29tcG9uZW50KSkpIHx8XG5cdFx0bnVsbFxuXHQpO1xufVxuXG4vKipcbiAqIERlcHJlY2F0ZWQgd2F5IHRvIGNvbnRyb2wgYmF0Y2hlZCByZW5kZXJpbmcgaW5zaWRlIHRoZSByZWNvbmNpbGVyLCBidXQgd2VcbiAqIGFscmVhZHkgc2NoZWR1bGUgaW4gYmF0Y2hlcyBpbnNpZGUgb3VyIHJlbmRlcmluZyBjb2RlXG4gKiBAdGVtcGxhdGUgQXJnXG4gKiBAcGFyYW0geyhhcmc6IEFyZykgPT4gdm9pZH0gY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB0cmlnZ2VycyB0aGUgdXBkYXRlZFxuICogQHBhcmFtIHtBcmd9IFthcmddIE9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGUgY2FsbGJhY2tcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuY29uc3QgdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMgPSAoY2FsbGJhY2ssIGFyZykgPT4gY2FsbGJhY2soYXJnKTtcblxuLyoqXG4gKiBJbiBSZWFjdCwgYGZsdXNoU3luY2AgZmx1c2hlcyB0aGUgZW50aXJlIHRyZWUgYW5kIGZvcmNlcyBhIHJlcmVuZGVyLiBJdCdzXG4gKiBpbXBsbWVudGVkIGhlcmUgYXMgYSBuby1vcC5cbiAqIEB0ZW1wbGF0ZSBBcmdcbiAqIEB0ZW1wbGF0ZSBSZXN1bHRcbiAqIEBwYXJhbSB7KGFyZzogQXJnKSA9PiBSZXN1bHR9IGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgcnVucyBiZWZvcmUgdGhlIGZsdXNoXG4gKiBAcGFyYW0ge0FyZ30gW2FyZ10gT3B0aW9uYWwgYXJndW1lbnQgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHRoZSBjYWxsYmFja1xuICogQHJldHVybnNcbiAqL1xuY29uc3QgZmx1c2hTeW5jID0gKGNhbGxiYWNrLCBhcmcpID0+IGNhbGxiYWNrKGFyZyk7XG5cbi8qKlxuICogU3RyaWN0IE1vZGUgaXMgbm90IGltcGxlbWVudGVkIGluIFByZWFjdCwgc28gd2UgcHJvdmlkZSBhIHN0YW5kLWluIGZvciBpdFxuICogdGhhdCBqdXN0IHJlbmRlcnMgaXRzIGNoaWxkcmVuIHdpdGhvdXQgaW1wb3NpbmcgYW55IHJlc3RyaWN0aW9ucy5cbiAqL1xuY29uc3QgU3RyaWN0TW9kZSA9IEZyYWdtZW50O1xuXG4vLyBjb21wYXQgdG8gcmVhY3QtaXNcbmV4cG9ydCBjb25zdCBpc0VsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcblxuZXhwb3J0ICogZnJvbSAncHJlYWN0L2hvb2tzJztcbmV4cG9ydCB7XG5cdHZlcnNpb24sXG5cdENoaWxkcmVuLFxuXHRyZW5kZXIsXG5cdGh5ZHJhdGUsXG5cdHVubW91bnRDb21wb25lbnRBdE5vZGUsXG5cdGNyZWF0ZVBvcnRhbCxcblx0Y3JlYXRlRWxlbWVudCxcblx0Y3JlYXRlQ29udGV4dCxcblx0Y3JlYXRlRmFjdG9yeSxcblx0Y2xvbmVFbGVtZW50LFxuXHRjcmVhdGVSZWYsXG5cdEZyYWdtZW50LFxuXHRpc1ZhbGlkRWxlbWVudCxcblx0aXNGcmFnbWVudCxcblx0aXNNZW1vLFxuXHRmaW5kRE9NTm9kZSxcblx0Q29tcG9uZW50LFxuXHRQdXJlQ29tcG9uZW50LFxuXHRtZW1vLFxuXHRmb3J3YXJkUmVmLFxuXHRmbHVzaFN5bmMsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0c3RhcnRUcmFuc2l0aW9uLFxuXHR1c2VEZWZlcnJlZFZhbHVlLFxuXHR1c2VTeW5jRXh0ZXJuYWxTdG9yZSxcblx0dXNlVHJhbnNpdGlvbixcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuXHR1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyxcblx0U3RyaWN0TW9kZSxcblx0U3VzcGVuc2UsXG5cdFN1c3BlbnNlTGlzdCxcblx0bGF6eSxcblx0X19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURcbn07XG5cbi8vIFJlYWN0IGNvcGllcyB0aGUgbmFtZWQgZXhwb3J0cyB0byB0aGUgZGVmYXVsdCBvbmUuXG5leHBvcnQgZGVmYXVsdCB7XG5cdHVzZVN0YXRlLFxuXHR1c2VJZCxcblx0dXNlUmVkdWNlcixcblx0dXNlRWZmZWN0LFxuXHR1c2VMYXlvdXRFZmZlY3QsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0dXNlVHJhbnNpdGlvbixcblx0dXNlRGVmZXJyZWRWYWx1ZSxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHN0YXJ0VHJhbnNpdGlvbixcblx0dXNlUmVmLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VNZW1vLFxuXHR1c2VDYWxsYmFjayxcblx0dXNlQ29udGV4dCxcblx0dXNlRGVidWdWYWx1ZSxcblx0dmVyc2lvbixcblx0Q2hpbGRyZW4sXG5cdHJlbmRlcixcblx0aHlkcmF0ZSxcblx0dW5tb3VudENvbXBvbmVudEF0Tm9kZSxcblx0Y3JlYXRlUG9ydGFsLFxuXHRjcmVhdGVFbGVtZW50LFxuXHRjcmVhdGVDb250ZXh0LFxuXHRjcmVhdGVGYWN0b3J5LFxuXHRjbG9uZUVsZW1lbnQsXG5cdGNyZWF0ZVJlZixcblx0RnJhZ21lbnQsXG5cdGlzVmFsaWRFbGVtZW50LFxuXHRpc0VsZW1lbnQsXG5cdGlzRnJhZ21lbnQsXG5cdGlzTWVtbyxcblx0ZmluZERPTU5vZGUsXG5cdENvbXBvbmVudCxcblx0UHVyZUNvbXBvbmVudCxcblx0bWVtbyxcblx0Zm9yd2FyZFJlZixcblx0Zmx1c2hTeW5jLFxuXHR1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyxcblx0U3RyaWN0TW9kZSxcblx0U3VzcGVuc2UsXG5cdFN1c3BlbnNlTGlzdCxcblx0bGF6eSxcblx0X19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURcbn07XG4iLCJpbXBvcnR7Q29tcG9uZW50IGFzIG4sY3JlYXRlRWxlbWVudCBhcyB0LG9wdGlvbnMgYXMgZSx0b0NoaWxkQXJyYXkgYXMgcixGcmFnbWVudCBhcyB1LHJlbmRlciBhcyBvLGh5ZHJhdGUgYXMgaSxjcmVhdGVDb250ZXh0IGFzIGMsY3JlYXRlUmVmIGFzIGwsY2xvbmVFbGVtZW50IGFzIGZ9ZnJvbVwicHJlYWN0XCI7ZXhwb3J0e0NvbXBvbmVudCxGcmFnbWVudCxjcmVhdGVDb250ZXh0LGNyZWF0ZUVsZW1lbnQsY3JlYXRlUmVmfWZyb21cInByZWFjdFwiO2ltcG9ydHt1c2VTdGF0ZSBhcyBhLHVzZUxheW91dEVmZmVjdCBhcyBzLHVzZUVmZmVjdCBhcyBoLHVzZUNhbGxiYWNrIGFzIHYsdXNlQ29udGV4dCBhcyBkLHVzZURlYnVnVmFsdWUgYXMgcCx1c2VJZCBhcyBtLHVzZUltcGVyYXRpdmVIYW5kbGUgYXMgeSx1c2VNZW1vIGFzIF8sdXNlUmVkdWNlciBhcyBiLHVzZVJlZiBhcyBTfWZyb21cInByZWFjdC9ob29rc1wiO2V4cG9ydCpmcm9tXCJwcmVhY3QvaG9va3NcIjtmdW5jdGlvbiBnKG4sdCl7Zm9yKHZhciBlIGluIHQpbltlXT10W2VdO3JldHVybiBufWZ1bmN0aW9uIEUobix0KXtmb3IodmFyIGUgaW4gbilpZihcIl9fc291cmNlXCIhPT1lJiYhKGUgaW4gdCkpcmV0dXJuITA7Zm9yKHZhciByIGluIHQpaWYoXCJfX3NvdXJjZVwiIT09ciYmbltyXSE9PXRbcl0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gQyhuLHQpe3ZhciBlPXQoKSxyPWEoe3Q6e19fOmUsdTp0fX0pLHU9clswXS50LG89clsxXTtyZXR1cm4gcyhmdW5jdGlvbigpe3UuX189ZSx1LnU9dCx4KHUpJiZvKHt0OnV9KX0sW24sZSx0XSksaChmdW5jdGlvbigpe3JldHVybiB4KHUpJiZvKHt0OnV9KSxuKGZ1bmN0aW9uKCl7eCh1KSYmbyh7dDp1fSl9KX0sW25dKSxlfWZ1bmN0aW9uIHgobil7dmFyIHQsZSxyPW4udSx1PW4uX187dHJ5e3ZhciBvPXIoKTtyZXR1cm4hKCh0PXUpPT09KGU9bykmJigwIT09dHx8MS90PT0xL2UpfHx0IT10JiZlIT1lKX1jYXRjaChuKXtyZXR1cm4hMH19ZnVuY3Rpb24gUihuKXtuKCl9ZnVuY3Rpb24gdyhuKXtyZXR1cm4gbn1mdW5jdGlvbiBrKCl7cmV0dXJuWyExLFJdfXZhciBJPXM7ZnVuY3Rpb24gTihuLHQpe3RoaXMucHJvcHM9bix0aGlzLmNvbnRleHQ9dH1mdW5jdGlvbiBNKG4sZSl7ZnVuY3Rpb24gcihuKXt2YXIgdD10aGlzLnByb3BzLnJlZixyPXQ9PW4ucmVmO3JldHVybiFyJiZ0JiYodC5jYWxsP3QobnVsbCk6dC5jdXJyZW50PW51bGwpLGU/IWUodGhpcy5wcm9wcyxuKXx8IXI6RSh0aGlzLnByb3BzLG4pfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPXIsdChuLGUpfXJldHVybiB1LmRpc3BsYXlOYW1lPVwiTWVtbyhcIisobi5kaXNwbGF5TmFtZXx8bi5uYW1lKStcIilcIix1LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLHUuX19mPSEwLHV9KE4ucHJvdG90eXBlPW5ldyBuKS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCxOLnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24obix0KXtyZXR1cm4gRSh0aGlzLnByb3BzLG4pfHxFKHRoaXMuc3RhdGUsdCl9O3ZhciBUPWUuX19iO2UuX19iPWZ1bmN0aW9uKG4pe24udHlwZSYmbi50eXBlLl9fZiYmbi5yZWYmJihuLnByb3BzLnJlZj1uLnJlZixuLnJlZj1udWxsKSxUJiZUKG4pfTt2YXIgQT1cInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIil8fDM5MTE7ZnVuY3Rpb24gRChuKXtmdW5jdGlvbiB0KHQpe3ZhciBlPWcoe30sdCk7cmV0dXJuIGRlbGV0ZSBlLnJlZixuKGUsdC5yZWZ8fG51bGwpfXJldHVybiB0LiQkdHlwZW9mPUEsdC5yZW5kZXI9dCx0LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXQuX19mPSEwLHQuZGlzcGxheU5hbWU9XCJGb3J3YXJkUmVmKFwiKyhuLmRpc3BsYXlOYW1lfHxuLm5hbWUpK1wiKVwiLHR9dmFyIEw9ZnVuY3Rpb24obix0KXtyZXR1cm4gbnVsbD09bj9udWxsOnIocihuKS5tYXAodCkpfSxPPXttYXA6TCxmb3JFYWNoOkwsY291bnQ6ZnVuY3Rpb24obil7cmV0dXJuIG4/cihuKS5sZW5ndGg6MH0sb25seTpmdW5jdGlvbihuKXt2YXIgdD1yKG4pO2lmKDEhPT10Lmxlbmd0aCl0aHJvd1wiQ2hpbGRyZW4ub25seVwiO3JldHVybiB0WzBdfSx0b0FycmF5OnJ9LEY9ZS5fX2U7ZS5fX2U9ZnVuY3Rpb24obix0LGUscil7aWYobi50aGVuKWZvcih2YXIgdSxvPXQ7bz1vLl9fOylpZigodT1vLl9fYykmJnUuX19jKXJldHVybiBudWxsPT10Ll9fZSYmKHQuX19lPWUuX19lLHQuX19rPWUuX19rKSx1Ll9fYyhuLHQpO0Yobix0LGUscil9O3ZhciBVPWUudW5tb3VudDtmdW5jdGlvbiBWKG4sdCxlKXtyZXR1cm4gbiYmKG4uX19jJiZuLl9fYy5fX0gmJihuLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihuKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLl9fYyYmbi5fX2MoKX0pLG4uX19jLl9fSD1udWxsKSxudWxsIT0obj1nKHt9LG4pKS5fX2MmJihuLl9fYy5fX1A9PT1lJiYobi5fX2MuX19QPXQpLG4uX19jLl9fZT0hMCxuLl9fYz1udWxsKSxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBWKG4sdCxlKX0pKSxufWZ1bmN0aW9uIFcobix0LGUpe3JldHVybiBuJiZlJiYobi5fX3Y9bnVsbCxuLl9faz1uLl9fayYmbi5fX2subWFwKGZ1bmN0aW9uKG4pe3JldHVybiBXKG4sdCxlKX0pLG4uX19jJiZuLl9fYy5fX1A9PT10JiYobi5fX2UmJmUuYXBwZW5kQ2hpbGQobi5fX2UpLG4uX19jLl9fZT0hMCxuLl9fYy5fX1A9ZSkpLG59ZnVuY3Rpb24gUCgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBqKG4pe3ZhciB0PW4uX18uX19jO3JldHVybiB0JiZ0Ll9fYSYmdC5fX2Eobil9ZnVuY3Rpb24geihuKXt2YXIgZSxyLHU7ZnVuY3Rpb24gbyhvKXtpZihlfHwoZT1uKCkpLnRoZW4oZnVuY3Rpb24obil7cj1uLmRlZmF1bHR8fG59LGZ1bmN0aW9uKG4pe3U9bn0pLHUpdGhyb3cgdTtpZighcil0aHJvdyBlO3JldHVybiB0KHIsbyl9cmV0dXJuIG8uZGlzcGxheU5hbWU9XCJMYXp5XCIsby5fX2Y9ITAsb31mdW5jdGlvbiBCKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9ZS51bm1vdW50PWZ1bmN0aW9uKG4pe3ZhciB0PW4uX19jO3QmJnQuX19SJiZ0Ll9fUigpLHQmJjMyJm4uX191JiYobi50eXBlPW51bGwpLFUmJlUobil9LChQLnByb3RvdHlwZT1uZXcgbikuX19jPWZ1bmN0aW9uKG4sdCl7dmFyIGU9dC5fX2Mscj10aGlzO251bGw9PXIubyYmKHIubz1bXSksci5vLnB1c2goZSk7dmFyIHU9aihyLl9fdiksbz0hMSxpPWZ1bmN0aW9uKCl7b3x8KG89ITAsZS5fX1I9bnVsbCx1P3UoYyk6YygpKX07ZS5fX1I9aTt2YXIgYz1mdW5jdGlvbigpe2lmKCEtLXIuX191KXtpZihyLnN0YXRlLl9fYSl7dmFyIG49ci5zdGF0ZS5fX2E7ci5fX3YuX19rWzBdPVcobixuLl9fYy5fX1Asbi5fX2MuX19PKX12YXIgdDtmb3Ioci5zZXRTdGF0ZSh7X19hOnIuX19iPW51bGx9KTt0PXIuby5wb3AoKTspdC5mb3JjZVVwZGF0ZSgpfX07ci5fX3UrK3x8MzImdC5fX3V8fHIuc2V0U3RhdGUoe19fYTpyLl9fYj1yLl9fdi5fX2tbMF19KSxuLnRoZW4oaSxpKX0sUC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXt0aGlzLm89W119LFAucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihuLGUpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksbz10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1WKHRoaXMuX19iLHIsby5fX089by5fX1ApfXRoaXMuX19iPW51bGx9dmFyIGk9ZS5fX2EmJnQodSxudWxsLG4uZmFsbGJhY2spO3JldHVybiBpJiYoaS5fX3UmPS0zMyksW3QodSxudWxsLGUuX19hP251bGw6bi5jaGlsZHJlbiksaV19O3ZhciBIPWZ1bmN0aW9uKG4sdCxlKXtpZigrK2VbMV09PT1lWzBdJiZuLmwuZGVsZXRlKHQpLG4ucHJvcHMucmV2ZWFsT3JkZXImJihcInRcIiE9PW4ucHJvcHMucmV2ZWFsT3JkZXJbMF18fCFuLmwuc2l6ZSkpZm9yKGU9bi5pO2U7KXtmb3IoO2UubGVuZ3RoPjM7KWUucG9wKCkoKTtpZihlWzFdPGVbMF0pYnJlYWs7bi5pPWU9ZVsyXX19O2Z1bmN0aW9uIFoobil7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIG4uY29udGV4dH0sbi5jaGlsZHJlbn1mdW5jdGlvbiBZKG4pe3ZhciBlPXRoaXMscj1uLmg7ZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe28obnVsbCxlLnYpLGUudj1udWxsLGUuaD1udWxsfSxlLmgmJmUuaCE9PXImJmUuY29tcG9uZW50V2lsbFVubW91bnQoKSxlLnZ8fChlLmg9cixlLnY9e25vZGVUeXBlOjEscGFyZW50Tm9kZTpyLGNoaWxkTm9kZXM6W10sY29udGFpbnM6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24obil7dGhpcy5jaGlsZE5vZGVzLnB1c2gobiksZS5oLmFwcGVuZENoaWxkKG4pfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24obix0KXt0aGlzLmNoaWxkTm9kZXMucHVzaChuKSxlLmguaW5zZXJ0QmVmb3JlKG4sdCl9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKG4pe3RoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2Yobik+Pj4xLDEpLGUuaC5yZW1vdmVDaGlsZChuKX19KSxvKHQoWix7Y29udGV4dDplLmNvbnRleHR9LG4uX192KSxlLnYpfWZ1bmN0aW9uICQobixlKXt2YXIgcj10KFkse19fdjpuLGg6ZX0pO3JldHVybiByLmNvbnRhaW5lckluZm89ZSxyfShCLnByb3RvdHlwZT1uZXcgbikuX19hPWZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMsZT1qKHQuX192KSxyPXQubC5nZXQobik7cmV0dXJuIHJbMF0rKyxmdW5jdGlvbih1KXt2YXIgbz1mdW5jdGlvbigpe3QucHJvcHMucmV2ZWFsT3JkZXI/KHIucHVzaCh1KSxIKHQsbixyKSk6dSgpfTtlP2Uobyk6bygpfX0sQi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKG4pe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciB0PXIobi5jaGlsZHJlbik7bi5yZXZlYWxPcmRlciYmXCJiXCI9PT1uLnJldmVhbE9yZGVyWzBdJiZ0LnJldmVyc2UoKTtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tOyl0aGlzLmwuc2V0KHRbZV0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIG4uY2hpbGRyZW59LEIucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1CLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudD1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5sLmZvckVhY2goZnVuY3Rpb24odCxlKXtIKG4sZSx0KX0pfTt2YXIgcT1cInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKXx8NjAxMDMsRz0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sSj0vXm9uKEFuaXxUcmF8VG91fEJlZm9yZUlucHxDb21wbykvLEs9L1tBLVowLTldL2csUT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQsWD1mdW5jdGlvbihuKXtyZXR1cm4oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbCgpPy9maWx8Y2hlfHJhZC86L2ZpbHxjaGV8cmEvKS50ZXN0KG4pfTtmdW5jdGlvbiBubihuLHQsZSl7cmV0dXJuIG51bGw9PXQuX19rJiYodC50ZXh0Q29udGVudD1cIlwiKSxvKG4sdCksXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZSgpLG4/bi5fX2M6bnVsbH1mdW5jdGlvbiB0bihuLHQsZSl7cmV0dXJuIGkobix0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlKCksbj9uLl9fYzpudWxsfW4ucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sW1wiY29tcG9uZW50V2lsbE1vdW50XCIsXCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzXCIsXCJjb21wb25lbnRXaWxsVXBkYXRlXCJdLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLHQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tcIlVOU0FGRV9cIit0XX0sc2V0OmZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9fSl9KTt2YXIgZW49ZS5ldmVudDtmdW5jdGlvbiBybigpe31mdW5jdGlvbiB1bigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX1mdW5jdGlvbiBvbigpe3JldHVybiB0aGlzLmRlZmF1bHRQcmV2ZW50ZWR9ZS5ldmVudD1mdW5jdGlvbihuKXtyZXR1cm4gZW4mJihuPWVuKG4pKSxuLnBlcnNpc3Q9cm4sbi5pc1Byb3BhZ2F0aW9uU3RvcHBlZD11bixuLmlzRGVmYXVsdFByZXZlbnRlZD1vbixuLm5hdGl2ZUV2ZW50PW59O3ZhciBjbixsbj17ZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xhc3N9fSxmbj1lLnZub2RlO2Uudm5vZGU9ZnVuY3Rpb24obil7XCJzdHJpbmdcIj09dHlwZW9mIG4udHlwZSYmZnVuY3Rpb24obil7dmFyIHQ9bi5wcm9wcyxlPW4udHlwZSx1PXt9LG89LTE9PT1lLmluZGV4T2YoXCItXCIpO2Zvcih2YXIgaSBpbiB0KXt2YXIgYz10W2ldO2lmKCEoXCJ2YWx1ZVwiPT09aSYmXCJkZWZhdWx0VmFsdWVcImluIHQmJm51bGw9PWN8fFEmJlwiY2hpbGRyZW5cIj09PWkmJlwibm9zY3JpcHRcIj09PWV8fFwiY2xhc3NcIj09PWl8fFwiY2xhc3NOYW1lXCI9PT1pKSl7dmFyIGw9aS50b0xvd2VyQ2FzZSgpO1wiZGVmYXVsdFZhbHVlXCI9PT1pJiZcInZhbHVlXCJpbiB0JiZudWxsPT10LnZhbHVlP2k9XCJ2YWx1ZVwiOlwiZG93bmxvYWRcIj09PWkmJiEwPT09Yz9jPVwiXCI6XCJ0cmFuc2xhdGVcIj09PWwmJlwibm9cIj09PWM/Yz0hMTpcIm9cIj09PWxbMF0mJlwiblwiPT09bFsxXT9cIm9uZG91YmxlY2xpY2tcIj09PWw/aT1cIm9uZGJsY2xpY2tcIjpcIm9uY2hhbmdlXCIhPT1sfHxcImlucHV0XCIhPT1lJiZcInRleHRhcmVhXCIhPT1lfHxYKHQudHlwZSk/XCJvbmZvY3VzXCI9PT1sP2k9XCJvbmZvY3VzaW5cIjpcIm9uYmx1clwiPT09bD9pPVwib25mb2N1c291dFwiOkoudGVzdChpKSYmKGk9bCk6bD1pPVwib25pbnB1dFwiOm8mJkcudGVzdChpKT9pPWkucmVwbGFjZShLLFwiLSQmXCIpLnRvTG93ZXJDYXNlKCk6bnVsbD09PWMmJihjPXZvaWQgMCksXCJvbmlucHV0XCI9PT1sJiZ1W2k9bF0mJihpPVwib25pbnB1dENhcHR1cmVcIiksdVtpXT1jfX1cInNlbGVjdFwiPT1lJiZ1Lm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHUudmFsdWUpJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD0tMSE9dS52YWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpfSkpLFwic2VsZWN0XCI9PWUmJm51bGwhPXUuZGVmYXVsdFZhbHVlJiYodS52YWx1ZT1yKHQuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24obil7bi5wcm9wcy5zZWxlY3RlZD11Lm11bHRpcGxlPy0xIT11LmRlZmF1bHRWYWx1ZS5pbmRleE9mKG4ucHJvcHMudmFsdWUpOnUuZGVmYXVsdFZhbHVlPT1uLnByb3BzLnZhbHVlfSkpLHQuY2xhc3MmJiF0LmNsYXNzTmFtZT8odS5jbGFzcz10LmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LFwiY2xhc3NOYW1lXCIsbG4pKToodC5jbGFzc05hbWUmJiF0LmNsYXNzfHx0LmNsYXNzJiZ0LmNsYXNzTmFtZSkmJih1LmNsYXNzPXUuY2xhc3NOYW1lPXQuY2xhc3NOYW1lKSxuLnByb3BzPXV9KG4pLG4uJCR0eXBlb2Y9cSxmbiYmZm4obil9O3ZhciBhbj1lLl9fcjtlLl9fcj1mdW5jdGlvbihuKXthbiYmYW4obiksY249bi5fX2N9O3ZhciBzbj1lLmRpZmZlZDtlLmRpZmZlZD1mdW5jdGlvbihuKXtzbiYmc24obik7dmFyIHQ9bi5wcm9wcyxlPW4uX19lO251bGwhPWUmJlwidGV4dGFyZWFcIj09PW4udHlwZSYmXCJ2YWx1ZVwiaW4gdCYmdC52YWx1ZSE9PWUudmFsdWUmJihlLnZhbHVlPW51bGw9PXQudmFsdWU/XCJcIjp0LnZhbHVlKSxjbj1udWxsfTt2YXIgaG49e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKG4pe3JldHVybiBjbi5fX25bbi5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOnAsdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZUVmZmVjdDpoLHVzZUlkOm0sdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZUluc2VydGlvbkVmZmVjdDpJLHVzZUxheW91dEVmZmVjdDpzLHVzZU1lbW86Xyx1c2VSZWR1Y2VyOmIsdXNlUmVmOlMsdXNlU3RhdGU6YSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpDLHVzZVRyYW5zaXRpb246a319fSx2bj1cIjE4LjMuMVwiO2Z1bmN0aW9uIGRuKG4pe3JldHVybiB0LmJpbmQobnVsbCxuKX1mdW5jdGlvbiBwbihuKXtyZXR1cm4hIW4mJm4uJCR0eXBlb2Y9PT1xfWZ1bmN0aW9uIG1uKG4pe3JldHVybiBwbihuKSYmbi50eXBlPT09dX1mdW5jdGlvbiB5bihuKXtyZXR1cm4hIW4mJiEhbi5kaXNwbGF5TmFtZSYmKFwic3RyaW5nXCI9PXR5cGVvZiBuLmRpc3BsYXlOYW1lfHxuLmRpc3BsYXlOYW1lIGluc3RhbmNlb2YgU3RyaW5nKSYmbi5kaXNwbGF5TmFtZS5zdGFydHNXaXRoKFwiTWVtbyhcIil9ZnVuY3Rpb24gX24obil7cmV0dXJuIHBuKG4pP2YuYXBwbHkobnVsbCxhcmd1bWVudHMpOm59ZnVuY3Rpb24gYm4obil7cmV0dXJuISFuLl9fayYmKG8obnVsbCxuKSwhMCl9ZnVuY3Rpb24gU24obil7cmV0dXJuIG4mJihuLmJhc2V8fDE9PT1uLm5vZGVUeXBlJiZuKXx8bnVsbH12YXIgZ249ZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0sRW49ZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0sQ249dSx4bj1wbixSbj17dXNlU3RhdGU6YSx1c2VJZDptLHVzZVJlZHVjZXI6Yix1c2VFZmZlY3Q6aCx1c2VMYXlvdXRFZmZlY3Q6cyx1c2VJbnNlcnRpb25FZmZlY3Q6SSx1c2VUcmFuc2l0aW9uOmssdXNlRGVmZXJyZWRWYWx1ZTp3LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkMsc3RhcnRUcmFuc2l0aW9uOlIsdXNlUmVmOlMsdXNlSW1wZXJhdGl2ZUhhbmRsZTp5LHVzZU1lbW86Xyx1c2VDYWxsYmFjazp2LHVzZUNvbnRleHQ6ZCx1c2VEZWJ1Z1ZhbHVlOnAsdmVyc2lvbjpcIjE4LjMuMVwiLENoaWxkcmVuOk8scmVuZGVyOm5uLGh5ZHJhdGU6dG4sdW5tb3VudENvbXBvbmVudEF0Tm9kZTpibixjcmVhdGVQb3J0YWw6JCxjcmVhdGVFbGVtZW50OnQsY3JlYXRlQ29udGV4dDpjLGNyZWF0ZUZhY3Rvcnk6ZG4sY2xvbmVFbGVtZW50Ol9uLGNyZWF0ZVJlZjpsLEZyYWdtZW50OnUsaXNWYWxpZEVsZW1lbnQ6cG4saXNFbGVtZW50OnhuLGlzRnJhZ21lbnQ6bW4saXNNZW1vOnluLGZpbmRET01Ob2RlOlNuLENvbXBvbmVudDpuLFB1cmVDb21wb25lbnQ6TixtZW1vOk0sZm9yd2FyZFJlZjpELGZsdXNoU3luYzpFbix1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpnbixTdHJpY3RNb2RlOkNuLFN1c3BlbnNlOlAsU3VzcGVuc2VMaXN0OkIsbGF6eTp6LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOmhufTtleHBvcnR7TyBhcyBDaGlsZHJlbixOIGFzIFB1cmVDb21wb25lbnQsQ24gYXMgU3RyaWN0TW9kZSxQIGFzIFN1c3BlbnNlLEIgYXMgU3VzcGVuc2VMaXN0LGhuIGFzIF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELF9uIGFzIGNsb25lRWxlbWVudCxkbiBhcyBjcmVhdGVGYWN0b3J5LCQgYXMgY3JlYXRlUG9ydGFsLFJuIGFzIGRlZmF1bHQsU24gYXMgZmluZERPTU5vZGUsRW4gYXMgZmx1c2hTeW5jLEQgYXMgZm9yd2FyZFJlZix0biBhcyBoeWRyYXRlLHhuIGFzIGlzRWxlbWVudCxtbiBhcyBpc0ZyYWdtZW50LHluIGFzIGlzTWVtbyxwbiBhcyBpc1ZhbGlkRWxlbWVudCx6IGFzIGxhenksTSBhcyBtZW1vLG5uIGFzIHJlbmRlcixSIGFzIHN0YXJ0VHJhbnNpdGlvbixibiBhcyB1bm1vdW50Q29tcG9uZW50QXROb2RlLGduIGFzIHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzLHcgYXMgdXNlRGVmZXJyZWRWYWx1ZSxJIGFzIHVzZUluc2VydGlvbkVmZmVjdCxDIGFzIHVzZVN5bmNFeHRlcm5hbFN0b3JlLGsgYXMgdXNlVHJhbnNpdGlvbix2biBhcyB2ZXJzaW9ufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbXBhdC5tb2R1bGUuanMubWFwXG4iXX0=